Index: lib/spatial/mapbuilder/LICENSE
===================================================================
--- lib/spatial/mapbuilder/LICENSE	(revision 4306)
+++ lib/spatial/mapbuilder/LICENSE	(revision 4307)
@@ -1,8 +1,31 @@
-Mapbuilder-lib is a browser based Web Mapping client.
-http://mapbuilder.sourceforge.net
+MapBuilder is a powerful, standards compliant geographic mapping client
+which runs in a web browser.  More details at http://communitymapbuilder.org
 
-Copyright (C) 2005 Cameron Shorter, Mike Adair, Nedjo Rodgers,
-Tom Kralidis, Matthew Perry.
+Mapbuilder source code is copyright (C) 2008 to the following people:
+  Name                    Login Id
+  ====                    ========
+  Andreas Hocevar         ahocevar
+  Cameron Shorter         camerons
+  Christopher Schmit      crschmidt
+  Dirk van den Elzen      dirk
+  Gertjan van Oosten      gjvoosten
+  Jean-sebastien baklouti jseb.baklouti
+  John Pulles             johnp
+  Linda Derezinski        derezinski
+  Matthew D. Diez         mattdiez
+  Matthew Perry           
+  Michael Jenik           maiqui
+  Mike Adair              madair madair1
+  Nedjo Rogers            nedjo
+  Olivier Terral          Oterral
+  Pat Cappelaere          cappelaere
+  Radim Blazek            rabla
+  Raj Singh               rajsingh
+  Richard Greenwood       rgreenwood
+  Roald de Wit            rdewit
+  Stefano Menegon         menegon
+  Steven M. Ottens        graphrisc steven
+  Tom Kralidis            tomkralidis
 
 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
@@ -17,3 +40,17 @@
 You should have received a copy of the GNU Lesser General Public
 License along with this library; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+--
+
+It is the intent of this project that all Mapbuilder developers who
+have been given write access to the Mapbuilder code repository and
+have contributed to source code in mapbuilder/lib/* may become
+copyright owners.
+
+Providing a patch to the mailing list does not give someone the right to
+become a copyright owner (primarily because it is too hard to track).
+
+Once someone becomes a copyright owner, they do not loose this status
+unless they personally request to be removed from the list of copyright
+owners listed in this file.
Index: lib/spatial/mapbuilder/tests/selenium/tests/TestSuite.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/tests/TestSuite.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/tests/TestSuite.html	(revision 4307)
@@ -0,0 +1,38 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Test Suite</title>
+</head>
+<body>
+<table>
+  <tr>
+    <td>Test suite for the whole application</td>
+  </tr>
+
+  <tr>
+    <td><a target="testFrame" href="examples/simple/load_page.html">Load Simple example</a></td>
+  </tr>
+
+  <tr>
+    <td><a target="testFrame" href="examples/interactive/load_page.html">Load Basic example</a></td>
+  </tr>
+  <tr>
+    <td><a target="testFrame" href="examples/interactive/no_history.html">Check empty history</a></td>
+  </tr>
+  <tr>
+    <td><a target="testFrame" href="examples/interactive/drag_map.html">Drag map</a></td>
+  </tr>
+  <tr>
+    <td><a target="testFrame" href="examples/interactive/zoom_map.html">Zoom map</a></td>
+  </tr>
+
+  <tr>
+    <td><a target="testFrame" href="examples/i18n/load_page.html">Load I18n example</a></td>
+  </tr>
+  <tr>
+    <td><a target="testFrame" href="examples/i18n/switch_language_nl.html">Switch language from EN to NL and back</a></td>
+  </tr>
+  <tr>
+    <td><a target="testFrame" href="examples/i18n/switch_language_nonesuch.html">Switch language from EN to NL and then to unsupported language</a></td>
+  </tr>
+</table>
Index: lib/spatial/mapbuilder/tests/selenium/tests/examples/i18n/switch_language_nl.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/tests/examples/i18n/switch_language_nl.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/tests/examples/i18n/switch_language_nl.html	(revision 4307)
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>switch_language_nl</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">switch_language_nl</td></tr>
+</thead><tbody>
+<!-- Store English text, so we can use them after we switch back to english -->
+<tr>
+	<td>storeAttribute</td>
+	<td>//div[@class='mbControlBackItemInactive']@title</td>
+	<td>mbControlBackItemInactive</td>
+</tr>
+<!-- Switch to dutch -->
+<tr>
+	<td>clickAndWait</td>
+	<td>//img[@title='Nederlands']</td>
+	<td></td>
+</tr>
+<tr>
+	<td>waitForElementPresent</td>
+	<td>//div[@class='mbControlBackItemInactive']</td>
+	<td></td>
+</tr>
+<tr>
+	<td>storeAttribute</td>
+	<td>//div[@class='mbControlBackItemInactive']@title</td>
+	<td>mbControlBackItemInactiveNL</td>
+</tr>
+<!-- Switch back to english -->
+<tr>
+	<td>clickAndWait</td>
+	<td>//img[@title='English']</td>
+	<td></td>
+</tr>
+<tr>
+	<td>waitForElementPresent</td>
+	<td>//div[@class='mbControlBackItemInactive']</td>
+	<td></td>
+</tr>
+<tr>
+	<td>assertAttribute</td>
+	<td>//div[@class='mbControlBackItemInactive']@title</td>
+	<td>${mbControlBackItemInactive}</td>
+</tr>
+<tr>
+	<td>assertNotAttribute</td>
+	<td>//div[@class='mbControlBackItemInactive']@title</td>
+	<td>${mbControlBackItemInactiveNL}</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
Index: lib/spatial/mapbuilder/tests/selenium/tests/examples/i18n/switch_language_nonesuch.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/tests/examples/i18n/switch_language_nonesuch.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/tests/examples/i18n/switch_language_nonesuch.html	(revision 4307)
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>switch_language_nonesuch</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">switch_language_nonesuch</td></tr>
+</thead><tbody>
+<!-- Store English text, so we can use them after we switch to unsupported language -->
+<tr>
+	<td>storeAttribute</td>
+	<td>//div[@class='mbControlBackItemInactive']@title</td>
+	<td>mbControlBackItemInactive</td>
+</tr>
+<!-- Switch to Dutch -->
+<tr>
+	<td>clickAndWait</td>
+	<td>//img[@title='Nederlands']</td>
+	<td></td>
+</tr>
+<tr>
+	<td>waitForElementPresent</td>
+	<td>//div[@class='mbControlBackItemInactive']</td>
+	<td></td>
+</tr>
+<tr>
+	<td>storeAttribute</td>
+	<td>//div[@class='mbControlBackItemInactive']@title</td>
+	<td>mbControlBackItemInactiveNL</td>
+</tr>
+<!-- Switch to unsuppported language -->
+<tr>
+	<td>clickAndWait</td>
+	<td>//img[@title='unsupported language']</td>
+	<td></td>
+</tr>
+<tr>
+	<td>waitForElementPresent</td>
+	<td>//div[@class='mbControlBackItemInactive']</td>
+	<td></td>
+</tr>
+<tr>
+	<td>assertAttribute</td>
+	<td>//div[@class='mbControlBackItemInactive']@title</td>
+	<td>${mbControlBackItemInactive}</td>
+</tr>
+<tr>
+	<td>assertNotAttribute</td>
+	<td>//div[@class='mbControlBackItemInactive']@title</td>
+	<td>${mbControlBackItemInactiveNL}</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
Index: lib/spatial/mapbuilder/tests/selenium/tests/examples/i18n/load_page.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/tests/examples/i18n/load_page.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/tests/examples/i18n/load_page.html	(revision 4307)
@@ -0,0 +1,39 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>load_page</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">load_page</td></tr>
+</thead><tbody>
+<tr>
+	<td>open</td>
+	<td>../../../examples/i18n/index.html</td>
+	<td></td>
+</tr>
+<tr>
+	<td>waitForPageToLoad</td>
+	<td>60000</td>
+	<td></td>
+</tr>
+<tr>
+	<td>setTimeout</td>
+	<td>10000</td>
+	<td></td>
+</tr>
+<tr>
+	<td>waitForElementPresent</td>
+	<td>mainMapPane_OpenLayers_Container</td>
+	<td></td>
+</tr>
+<tr>
+	<td>pause</td>
+	<td>1000</td>
+	<td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
Index: lib/spatial/mapbuilder/tests/selenium/tests/examples/simple/load_page.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/tests/examples/simple/load_page.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/tests/examples/simple/load_page.html	(revision 4307)
@@ -0,0 +1,39 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>load_page</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">load_page</td></tr>
+</thead><tbody>
+<tr>
+	<td>open</td>
+	<td>../../../examples/simple/index.html</td>
+	<td></td>
+</tr>
+<tr>
+	<td>waitForPageToLoad</td>
+	<td>60000</td>
+	<td></td>
+</tr>
+<tr>
+	<td>setTimeout</td>
+	<td>10000</td>
+	<td></td>
+</tr>
+<tr>
+	<td>waitForElementPresent</td>
+	<td>mainMapPane_OpenLayers_Container</td>
+	<td></td>
+</tr>
+<tr>
+	<td>pause</td>
+	<td>1000</td>
+	<td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
Index: lib/spatial/mapbuilder/tests/selenium/tests/examples/interactive/no_history.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/tests/examples/interactive/no_history.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/tests/examples/interactive/no_history.html	(revision 4307)
@@ -0,0 +1,36 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>no_history</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">no_history</td></tr>
+</thead><tbody>
+<!--Asserts that you can't go back in history before first entry-->
+<tr>
+	<td>click</td>
+	<td>//div[@class='mbControlBackItemInactive']</td>
+	<td></td>
+</tr>
+<tr>
+	<td>assertAlert</td>
+	<td>You can't go further back</td>
+	<td></td>
+</tr>
+<!--Asserts that you can't go forward in history beyond last entry-->
+<tr>
+	<td>click</td>
+	<td>//div[@class='mbControlForwardItemInactive']</td>
+	<td></td>
+</tr>
+<tr>
+	<td>assertAlert</td>
+	<td>You can't go further forward</td>
+	<td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
Index: lib/spatial/mapbuilder/tests/selenium/tests/examples/interactive/zoom_map.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/tests/examples/interactive/zoom_map.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/tests/examples/interactive/zoom_map.html	(revision 4307)
@@ -0,0 +1,189 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>zoom_map</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">zoom_map</td></tr>
+</thead><tbody>
+<!-- Reset the world before we start -->
+<tr>
+	<td>click</td>
+	<td>//div[@class='olControlZoomToMaxExtentItemInactive']</td>
+	<td></td>
+</tr>
+<!-- Store the values to assert the scale and position in each step -->
+<tr>
+	<td>storeValue</td>
+	<td>//input[@name='mapScale']</td>
+	<td>startScale</td>
+</tr>
+<tr>
+	<td>store</td>
+	<td>300,150</td>
+	<td>mouseZoomInDownPos</td>
+</tr>
+<tr>
+	<td>store</td>
+	<td>400,50</td>
+	<td>mouseZoomInUpPos</td>
+</tr>
+<tr>
+	<td>store</td>
+	<td>200,250</td>
+	<td>mouseZoomOutPos</td>
+</tr>
+<tr>
+	<td>store</td>
+	<td>0.00000</td>
+	<td>startLongitude</td>
+</tr>
+<tr>
+	<td>store</td>
+	<td>0.00000</td>
+	<td>startLatitude</td>
+</tr>
+<tr>
+	<td>store</td>
+	<td>30.00000</td>
+	<td>stopLongitude</td>
+</tr>
+<tr>
+	<td>store</td>
+	<td>30.00000</td>
+	<td>stopLatitude</td>
+</tr>
+<tr>
+	<td>store</td>
+	<td>10.00000</td>
+	<td>finalLongitude</td>
+</tr>
+<tr>
+	<td>store</td>
+	<td>10.00000</td>
+	<td>finalLatitude</td>
+</tr>
+<!-- Activate mousemove so we can get the value's after the mouse(down/up) actions -->
+<tr>
+	<td>mouseMoveAt</td>
+	<td>//div[@id='mainMapPane']</td>
+	<td>${mouseZoomInDownPos}</td>
+</tr>
+<tr>
+	<td>waitForValue</td>
+	<td>//input[@name='longitude']</td>
+	<td>regexp:^.+$</td>
+</tr>
+<tr>
+	<td>assertValue</td>
+	<td>//input[@name='longitude']</td>
+	<td>${startLongitude}</td>
+</tr>
+<tr>
+	<td>assertValue</td>
+	<td>//input[@name='latitude']</td>
+	<td>${startLatitude}</td>
+</tr>
+<!-- Select zoom in and zoom in on the map -->
+<tr>
+	<td>waitForElementPresent</td>
+	<td>//div[@id='mainMapPane_OpenLayers_Container']</td>
+	<td></td>
+</tr>
+<tr>
+	<td>click</td>
+	<td>//div[@class='olControlZoomBoxItemInactive']</td>
+	<td></td>
+</tr>
+<tr>
+	<td>mouseDownAt</td>
+	<td>//div[@id='mainMapPane']</td>
+	<td>${mouseZoomInDownPos}</td>
+</tr>
+<tr>
+	<td>mouseUpAt</td>
+	<td>//div[@id='mainMapPane']</td>
+	<td>${mouseZoomInUpPos}</td>
+</tr>
+<tr>
+	<td>mouseMoveAt</td>
+	<td>//div[@id='mainMapPane']</td>
+	<td>${mouseZoomInDownPos}</td>
+</tr>
+<tr>
+	<td>waitForValue</td>
+	<td>//input[@name='longitude']</td>
+	<td>regexp:^.+$</td>
+</tr>
+<tr>
+	<td>assertValue</td>
+	<td>//input[@name='longitude']</td>
+	<td>${stopLongitude}</td>
+</tr>
+<tr>
+	<td>assertValue</td>
+	<td>//input[@name='latitude']</td>
+	<td>${stopLatitude}</td>
+</tr>
+<tr>
+	<td>waitForElementPresent</td>
+	<td>//div[@id='mainMapPane_OpenLayers_Container']</td>
+	<td></td>
+</tr>
+<tr>
+	<td>assertNotValue</td>
+	<td>//input[@name='mapScale']</td>
+	<td>${startScale}</td>
+</tr>
+<!-- Select zoom out and zoom out on the map -->
+<tr>
+	<td>waitForElementPresent</td>
+	<td>//div[@id='mainMapPane_OpenLayers_Container']</td>
+	<td></td>
+</tr>
+<tr>
+	<td>click</td>
+	<td>//div[@class='mbControlZoomOutItemInactive']</td>
+	<td></td>
+</tr>
+<tr>
+	<td>mouseDownAt</td>
+	<td>//div[@id='mainMapPane']</td>
+	<td>${mouseZoomOutPos}</td>
+</tr>
+<tr>
+	<td>mouseUpAt</td>
+	<td>//div[@id='mainMapPane']</td>
+	<td>${mouseZoomOutPos}</td>
+</tr>
+<tr>
+	<td>mouseMoveAt</td>
+	<td>//div[@id='mainMapPane']</td>
+	<td>${mouseZoomInDownPos}</td>
+</tr>
+<tr>
+	<td>waitForValue</td>
+	<td>//input[@name='longitude']</td>
+	<td>regexp:^.+$</td>
+</tr>
+<tr>
+	<td>assertValue</td>
+	<td>//input[@name='longitude']</td>
+	<td>${finalLongitude}</td>
+</tr>
+<tr>
+	<td>assertValue</td>
+	<td>//input[@name='latitude']</td>
+	<td>${finalLatitude}</td>
+</tr>
+<tr>
+	<td>waitForElementPresent</td>
+	<td>//div[@id='mainMapPane_OpenLayers_Container']</td>
+	<td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
Index: lib/spatial/mapbuilder/tests/selenium/tests/examples/interactive/drag_map.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/tests/examples/interactive/drag_map.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/tests/examples/interactive/drag_map.html	(revision 4307)
@@ -0,0 +1,128 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>drag_map</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">drag_map</td></tr>
+</thead><tbody>
+<!-- Reset the world before we start -->
+<tr>
+	<td>click</td>
+	<td>//div[@class='olControlZoomToMaxExtentItemInactive']</td>
+	<td></td>
+</tr>
+<!-- Store the values to assert the scale and position in each step -->
+<tr>
+	<td>storeValue</td>
+	<td>//input[@name='mapScale']</td>
+	<td>startScale</td>
+</tr>
+<tr>
+	<td>store</td>
+	<td>300,150</td>
+	<td>mouseDownPos</td>
+</tr>
+<tr>
+	<td>store</td>
+	<td>400,50</td>
+	<td>mouseUpPos</td>
+</tr>
+<tr>
+	<td>store</td>
+	<td>0.00000</td>
+	<td>startLongitude</td>
+</tr>
+<tr>
+	<td>store</td>
+	<td>0.00000</td>
+	<td>startLatitude</td>
+</tr>
+<tr>
+	<td>store</td>
+	<td>0.00000</td>
+	<td>stopLongitude</td>
+</tr>
+<tr>
+	<td>store</td>
+	<td>0.00000</td>
+	<td>stopLatitude</td>
+</tr>
+<!-- Activate mousemove so we can get the value's after the mouse(down/up) actions -->
+<tr>
+	<td>mouseMoveAt</td>
+	<td>//div[@id='mainMapPane']</td>
+	<td>${mouseDownPos}</td>
+</tr>
+<tr>
+	<td>waitForValue</td>
+	<td>//input[@name='longitude']</td>
+	<td>regexp:^.+$</td>
+</tr>
+<tr>
+	<td>assertValue</td>
+	<td>//input[@name='longitude']</td>
+	<td>${startLongitude}</td>
+</tr>
+<tr>
+	<td>assertValue</td>
+	<td>//input[@name='latitude']</td>
+	<td>${startLatitude}</td>
+</tr>
+<!-- Select drag and pan and drag the map -->
+<tr>
+	<td>waitForElementPresent</td>
+	<td>//div[@id='mainMapPane_OpenLayers_Container']</td>
+	<td></td>
+</tr>
+<tr>
+	<td>click</td>
+	<td>//div[@class='olControlDragPanItemInactive']</td>
+	<td></td>
+</tr>
+<tr>
+	<td>mouseDownAt</td>
+	<td>//div[@id='mainMapPane']</td>
+	<td>${mouseDownPos}</td>
+</tr>
+<tr>
+	<td>mouseUpAt</td>
+	<td>//div[@id='mainMapPane']</td>
+	<td>${mouseUpPos}</td>
+</tr>
+<tr>
+	<td>mouseMoveAt</td>
+	<td>//div[@id='mainMapPane']</td>
+	<td>${mouseDownPos}</td>
+</tr>
+<tr>
+	<td>waitForValue</td>
+	<td>//input[@name='longitude']</td>
+	<td>regexp:^.+$</td>
+</tr>
+<tr>
+	<td>assertValue</td>
+	<td>//input[@name='longitude']</td>
+	<td>${stopLongitude}</td>
+</tr>
+<tr>
+	<td>assertValue</td>
+	<td>//input[@name='latitude']</td>
+	<td>${stopLatitude}</td>
+</tr>
+<tr>
+	<td>waitForElementPresent</td>
+	<td>//div[@id='mainMapPane_OpenLayers_Container']</td>
+	<td></td>
+</tr>
+<tr>
+	<td>assertValue</td>
+	<td>//input[@name='mapScale']</td>
+	<td>${startScale}</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/se2html.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/se2html.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/se2html.js	(revision 4307)
@@ -0,0 +1,63 @@
+/*
+
+This is an experiment in creating a "selenese" parser that drastically
+cuts down on the line noise associated with writing tests in HTML.
+
+The 'parse' function will accept the follow sample commands.
+
+test-cases:
+    //comment
+    command "param"
+    command "param" // comment
+    command "param" "param2"
+    command "param" "param2" // this is a comment
+
+TODO: 
+1) Deal with multiline parameters
+2) Escape quotes properly
+3) Determine whether this should/will become the "preferred" syntax 
+   for delivered Selenium self-test scripts
+*/    
+
+
+function separse(doc) {
+    // Get object
+    script = doc.getElementById('testcase')
+    // Split into lines
+    lines = script.text.split('\n');
+
+
+    var command_pattern = / *(\w+) *"([^"]*)" *(?:"([^"]*)"){0,1}(?: *(\/\/ *.+))*/i;
+    var comment_pattern = /^ *(\/\/ *.+)/
+
+    // Regex each line into selenium command and convert into table row.
+    // eg. "<command> <quote> <quote> <comment>"
+    var new_test_source = '';
+    var new_line        = '';
+    for (var x=0; x < lines.length; x++) {
+        result = lines[x].match(command_pattern);
+        if (result != null) {
+            new_line = "<tr><td>" + (result[1] || '&nbsp;') + "</td>" +
+                           "<td>" + (result[2] || '&nbsp;') + "</td>" +
+                           "<td>" + (result[3] || '&nbsp;') + "</td>" +
+                           "<td>" + (result[4] || '&nbsp;') + "</td></tr>\n";
+            new_test_source += new_line;
+        }
+        result = lines[x].match(comment_pattern);
+        if (result != null) {
+            new_line = '<tr><td rowspan="1" colspan="4">' +
+                       (result[1] || '&nbsp;') +
+                       '</td></tr>';
+            new_test_source += new_line;
+        }
+    }
+
+    // Create HTML Table        
+    body = doc.body
+    body.innerHTML += "<table class='selenium' id='testtable'>"+
+                      new_test_source +
+                      "</table>";
+
+}
+
+
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/builder.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/builder.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/builder.js	(revision 4307)
@@ -0,0 +1,101 @@
+// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
+//
+// See scriptaculous.js for full license.
+
+var Builder = {
+  NODEMAP: {
+    AREA: 'map',
+    CAPTION: 'table',
+    COL: 'table',
+    COLGROUP: 'table',
+    LEGEND: 'fieldset',
+    OPTGROUP: 'select',
+    OPTION: 'select',
+    PARAM: 'object',
+    TBODY: 'table',
+    TD: 'table',
+    TFOOT: 'table',
+    TH: 'table',
+    THEAD: 'table',
+    TR: 'table'
+  },
+  // note: For Firefox < 1.5, OPTION and OPTGROUP tags are currently broken,
+  //       due to a Firefox bug
+  node: function(elementName) {
+    elementName = elementName.toUpperCase();
+    
+    // try innerHTML approach
+    var parentTag = this.NODEMAP[elementName] || 'div';
+    var parentElement = document.createElement(parentTag);
+    try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707
+      parentElement.innerHTML = "<" + elementName + "></" + elementName + ">";
+    } catch(e) {}
+    var element = parentElement.firstChild || null;
+      
+    // see if browser added wrapping tags
+    if(element && (element.tagName != elementName))
+      element = element.getElementsByTagName(elementName)[0];
+    
+    // fallback to createElement approach
+    if(!element) element = document.createElement(elementName);
+    
+    // abort if nothing could be created
+    if(!element) return;
+
+    // attributes (or text)
+    if(arguments[1])
+      if(this._isStringOrNumber(arguments[1]) ||
+        (arguments[1] instanceof Array)) {
+          this._children(element, arguments[1]);
+        } else {
+          var attrs = this._attributes(arguments[1]);
+          if(attrs.length) {
+            try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707
+              parentElement.innerHTML = "<" +elementName + " " +
+                attrs + "></" + elementName + ">";
+            } catch(e) {}
+            element = parentElement.firstChild || null;
+            // workaround firefox 1.0.X bug
+            if(!element) {
+              element = document.createElement(elementName);
+              for(attr in arguments[1]) 
+                element[attr == 'class' ? 'className' : attr] = arguments[1][attr];
+            }
+            if(element.tagName != elementName)
+              element = parentElement.getElementsByTagName(elementName)[0];
+            }
+        } 
+
+    // text, or array of children
+    if(arguments[2])
+      this._children(element, arguments[2]);
+
+     return element;
+  },
+  _text: function(text) {
+     return document.createTextNode(text);
+  },
+  _attributes: function(attributes) {
+    var attrs = [];
+    for(attribute in attributes)
+      attrs.push((attribute=='className' ? 'class' : attribute) +
+          '="' + attributes[attribute].toString().escapeHTML() + '"');
+    return attrs.join(" ");
+  },
+  _children: function(element, children) {
+    if(typeof children=='object') { // array can hold nodes and text
+      children.flatten().each( function(e) {
+        if(typeof e=='object')
+          element.appendChild(e)
+        else
+          if(Builder._isStringOrNumber(e))
+            element.appendChild(Builder._text(e));
+      });
+    } else
+      if(Builder._isStringOrNumber(children)) 
+         element.appendChild(Builder._text(children));
+  },
+  _isStringOrNumber: function(param) {
+    return(typeof param=='string' || typeof param=='number');
+  }
+}
\ No newline at end of file
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/narcissus-parse.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/narcissus-parse.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/narcissus-parse.js	(revision 4307)
@@ -0,0 +1,1003 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is the Narcissus JavaScript engine.
+ *
+ * The Initial Developer of the Original Code is
+ * Brendan Eich <brendan@mozilla.org>.
+ * Portions created by the Initial Developer are Copyright (C) 2004
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Richard Hundt <www.plextk.org>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+/*
+ * Narcissus - JS implemented in JS.
+ *
+ * Lexical scanner and parser.
+ */
+
+// jrh
+//module('JS.Parse');
+
+// Build a regexp that recognizes operators and punctuators (except newline).
+var opRegExp =
+/^;|^,|^\?|^:|^\|\||^\&\&|^\||^\^|^\&|^===|^==|^=|^!==|^!=|^<<|^<=|^<|^>>>|^>>|^>=|^>|^\+\+|^\-\-|^\+|^\-|^\*|^\/|^%|^!|^~|^\.|^\[|^\]|^\{|^\}|^\(|^\)/;
+
+// A regexp to match floating point literals (but not integer literals).
+var fpRegExp = /^\d+\.\d*(?:[eE][-+]?\d+)?|^\d+(?:\.\d*)?[eE][-+]?\d+|^\.\d+(?:[eE][-+]?\d+)?/;
+
+function Tokenizer(s, f, l) {
+    this.cursor = 0;
+    this.source = String(s);
+    this.tokens = [];
+    this.tokenIndex = 0;
+    this.lookahead = 0;
+    this.scanNewlines = false;
+    this.scanOperand = true;
+    this.filename = f || "";
+    this.lineno = l || 1;
+}
+
+Tokenizer.prototype = {
+    input : function() {
+        return this.source.substring(this.cursor);
+    },
+
+    done : function() {
+        return this.peek() == END;
+    },
+
+    token : function() {
+        return this.tokens[this.tokenIndex];
+    },
+
+    match: function (tt) {
+        return this.get() == tt || this.unget();
+    },
+
+    mustMatch: function (tt) {
+        if (!this.match(tt))
+            throw this.newSyntaxError("Missing " + this.tokens[tt].toLowerCase());
+        return this.token();
+    },
+
+    peek: function () {
+        var tt;
+        if (this.lookahead) {
+            tt = this.tokens[(this.tokenIndex + this.lookahead) & 3].type;
+        } else {
+            tt = this.get();
+            this.unget();
+        }
+        return tt;
+    },
+
+    peekOnSameLine: function () {
+        this.scanNewlines = true;
+        var tt = this.peek();
+        this.scanNewlines = false;
+        return tt;
+    },
+
+    get: function () {
+        var token;
+        while (this.lookahead) {
+            --this.lookahead;
+            this.tokenIndex = (this.tokenIndex + 1) & 3;
+            token = this.tokens[this.tokenIndex];
+            if (token.type != NEWLINE || this.scanNewlines)
+                return token.type;
+        }
+
+        for (;;) {
+            var input = this.input();
+            var rx = this.scanNewlines ? /^[ \t]+/ : /^\s+/;
+            var match = input.match(rx);
+            if (match) {
+                var spaces = match[0];
+                this.cursor += spaces.length;
+                var newlines = spaces.match(/\n/g);
+                if (newlines)
+                    this.lineno += newlines.length;
+                input = this.input();
+            }
+
+            if (!(match = input.match(/^\/(?:\*(?:.|\n)*?\*\/|\/.*)/)))
+                break;
+            var comment = match[0];
+            this.cursor += comment.length;
+            newlines = comment.match(/\n/g);
+            if (newlines)
+                this.lineno += newlines.length
+        }
+
+        this.tokenIndex = (this.tokenIndex + 1) & 3;
+        token = this.tokens[this.tokenIndex];
+        if (!token)
+            this.tokens[this.tokenIndex] = token = {};
+        if (!input)
+            return token.type = END;
+        if ((match = input.match(fpRegExp))) {
+            token.type = NUMBER;
+            token.value = parseFloat(match[0]);
+        } else if ((match = input.match(/^0[xX][\da-fA-F]+|^0[0-7]*|^\d+/))) {
+            token.type = NUMBER;
+            token.value = parseInt(match[0]);
+        } else if ((match = input.match(/^((\$\w*)|(\w+))/))) {
+            var id = match[0];
+            token.type = keywords[id] || IDENTIFIER;
+            token.value = id;
+        } else if ((match = input.match(/^"(?:\\.|[^"])*"|^'(?:[^']|\\.)*'/))) {
+            token.type = STRING;
+            token.value = eval(match[0]);
+        } else if (this.scanOperand &&
+                   (match = input.match(/^\/((?:\\.|[^\/])+)\/([gi]*)/))) {
+            token.type = REGEXP;
+            token.value = new RegExp(match[1], match[2]);
+        } else if ((match = input.match(opRegExp))) {
+            var op = match[0];
+            if (assignOps[op] && input[op.length] == '=') {
+                token.type = ASSIGN;
+                token.assignOp = GLOBAL[opTypeNames[op]];
+                match[0] += '=';
+            } else {
+                token.type = GLOBAL[opTypeNames[op]];
+                if (this.scanOperand &&
+                    (token.type == PLUS || token.type == MINUS)) {
+                    token.type += UNARY_PLUS - PLUS;
+                }
+                token.assignOp = null;
+            }
+            //debug('token.value => '+op+', token.type => '+token.type);
+            token.value = op;
+        } else {
+            throw this.newSyntaxError("Illegal token");
+        }
+
+        token.start = this.cursor;
+        this.cursor += match[0].length;
+        token.end = this.cursor;
+        token.lineno = this.lineno;
+        return token.type;
+    },
+
+    unget: function () {
+        if (++this.lookahead == 4) throw "PANIC: too much lookahead!";
+        this.tokenIndex = (this.tokenIndex - 1) & 3;
+    },
+
+    newSyntaxError: function (m) {
+        var e = new SyntaxError(m, this.filename, this.lineno);
+        e.source = this.source;
+        e.cursor = this.cursor;
+        return e;
+    }
+};
+
+function CompilerContext(inFunction) {
+    this.inFunction = inFunction;
+    this.stmtStack = [];
+    this.funDecls = [];
+    this.varDecls = [];
+}
+
+var CCp = CompilerContext.prototype;
+CCp.bracketLevel = CCp.curlyLevel = CCp.parenLevel = CCp.hookLevel = 0;
+CCp.ecmaStrictMode = CCp.inForLoopInit = false;
+
+function Script(t, x) {
+    var n = Statements(t, x);
+    n.type = SCRIPT;
+    n.funDecls = x.funDecls;
+    n.varDecls = x.varDecls;
+    return n;
+}
+
+// Node extends Array, which we extend slightly with a top-of-stack method.
+Array.prototype.top = function() {
+    return this.length && this[this.length-1]; 
+}
+
+function NarcNode(t, type) {
+    var token = t.token();
+    if (token) {
+        this.type = type || token.type;
+        this.value = token.value;
+        this.lineno = token.lineno;
+        this.start = token.start;
+        this.end = token.end;
+    } else {
+        this.type = type;
+        this.lineno = t.lineno;
+    }
+    this.tokenizer = t;
+    for (var i = 2; i < arguments.length; i++)
+        this.push(arguments[i]);
+}
+
+var Np = NarcNode.prototype = new Array();
+Np.constructor = NarcNode;
+Np.$length = 0;
+Np.toSource = Object.prototype.toSource;
+
+// Always use push to add operands to an expression, to update start and end.
+Np.push = function (kid) {
+    if (kid.start < this.start)
+        this.start = kid.start;
+    if (this.end < kid.end)
+        this.end = kid.end;
+    //debug('length before => '+this.$length);
+    this[this.$length] = kid;
+    this.$length++;
+    //debug('length after => '+this.$length);
+}
+
+NarcNode.indentLevel = 0;
+
+function tokenstr(tt) {
+    var t = tokens[tt];
+    return /^\W/.test(t) ? opTypeNames[t] : t.toUpperCase();
+}
+
+Np.toString = function () {
+    var a = [];
+    for (var i in this) {
+        if (this.hasOwnProperty(i) && i != 'type')
+            a.push({id: i, value: this[i]});
+    }
+    a.sort(function (a,b) { return (a.id < b.id) ? -1 : 1; });
+    INDENTATION = "    ";
+    var n = ++NarcNode.indentLevel;
+    var s = "{\n" + INDENTATION.repeat(n) + "type: " + tokenstr(this.type);
+    for (i = 0; i < a.length; i++)
+        s += ",\n" + INDENTATION.repeat(n) + a[i].id + ": " + a[i].value;
+    n = --NarcNode.indentLevel;
+    s += "\n" + INDENTATION.repeat(n) + "}";
+    return s;
+}
+
+Np.getSource = function () {
+    return this.tokenizer.source.slice(this.start, this.end);
+};
+
+Np.filename = function () { return this.tokenizer.filename; };
+
+String.prototype.repeat = function (n) {
+    var s = "", t = this + s;
+    while (--n >= 0)
+        s += t;
+    return s;
+}
+
+// Statement stack and nested statement handler.
+function nest(t, x, node, func, end) {
+    x.stmtStack.push(node);
+    var n = func(t, x);
+    x.stmtStack.pop();
+    end && t.mustMatch(end);
+    return n;
+}
+
+function Statements(t, x) {
+    var n = new NarcNode(t, BLOCK);
+    x.stmtStack.push(n);
+    while (!t.done() && t.peek() != RIGHT_CURLY)
+        n.push(Statement(t, x));
+    x.stmtStack.pop();
+    return n;
+}
+
+function Block(t, x) {
+    t.mustMatch(LEFT_CURLY);
+    var n = Statements(t, x);
+    t.mustMatch(RIGHT_CURLY);
+    return n;
+}
+
+DECLARED_FORM = 0; EXPRESSED_FORM = 1; STATEMENT_FORM = 2;
+
+function Statement(t, x) {
+    var i, label, n, n2, ss, tt = t.get();
+
+    // Cases for statements ending in a right curly return early, avoiding the
+    // common semicolon insertion magic after this switch.
+    switch (tt) {
+      case FUNCTION:
+        return FunctionDefinition(t, x, true,
+                                  (x.stmtStack.length > 1)
+                                  ? STATEMENT_FORM
+                                  : DECLARED_FORM);
+
+      case LEFT_CURLY:
+        n = Statements(t, x);
+        t.mustMatch(RIGHT_CURLY);
+        return n;
+
+      case IF:
+        n = new NarcNode(t);
+        n.condition = ParenExpression(t, x);
+        x.stmtStack.push(n);
+        n.thenPart = Statement(t, x);
+        n.elsePart = t.match(ELSE) ? Statement(t, x) : null;
+        x.stmtStack.pop();
+        return n;
+
+      case SWITCH:
+        n = new NarcNode(t);
+        t.mustMatch(LEFT_PAREN);
+        n.discriminant = Expression(t, x);
+        t.mustMatch(RIGHT_PAREN);
+        n.cases = [];
+        n.defaultIndex = -1;
+        x.stmtStack.push(n);
+        t.mustMatch(LEFT_CURLY);
+        while ((tt = t.get()) != RIGHT_CURLY) {
+            switch (tt) {
+              case DEFAULT:
+                if (n.defaultIndex >= 0)
+                    throw t.newSyntaxError("More than one switch default");
+                // FALL THROUGH
+              case CASE:
+                n2 = new NarcNode(t);
+                if (tt == DEFAULT)
+                    n.defaultIndex = n.cases.length;
+                else
+                    n2.caseLabel = Expression(t, x, COLON);
+                break;
+              default:
+                throw t.newSyntaxError("Invalid switch case");
+            }
+            t.mustMatch(COLON);
+            n2.statements = new NarcNode(t, BLOCK);
+            while ((tt=t.peek()) != CASE && tt != DEFAULT && tt != RIGHT_CURLY)
+                n2.statements.push(Statement(t, x));
+            n.cases.push(n2);
+        }
+        x.stmtStack.pop();
+        return n;
+
+      case FOR:
+        n = new NarcNode(t);
+        n.isLoop = true;
+        t.mustMatch(LEFT_PAREN);
+        if ((tt = t.peek()) != SEMICOLON) {
+            x.inForLoopInit = true;
+            if (tt == VAR || tt == CONST) {
+                t.get();
+                n2 = Variables(t, x);
+            } else {
+                n2 = Expression(t, x);
+            }
+            x.inForLoopInit = false;
+        }
+        if (n2 && t.match(IN)) {
+            n.type = FOR_IN;
+            if (n2.type == VAR) {
+                if (n2.$length != 1) {
+                    throw new SyntaxError("Invalid for..in left-hand side",
+                                          t.filename, n2.lineno);
+                }
+
+                // NB: n2[0].type == IDENTIFIER and n2[0].value == n2[0].name.
+                n.iterator = n2[0];
+                n.varDecl = n2;
+            } else {
+                n.iterator = n2;
+                n.varDecl = null;
+            }
+            n.object = Expression(t, x);
+        } else {
+            n.setup = n2 || null;
+            t.mustMatch(SEMICOLON);
+            n.condition = (t.peek() == SEMICOLON) ? null : Expression(t, x);
+            t.mustMatch(SEMICOLON);
+            n.update = (t.peek() == RIGHT_PAREN) ? null : Expression(t, x);
+        }
+        t.mustMatch(RIGHT_PAREN);
+        n.body = nest(t, x, n, Statement);
+        return n;
+
+      case WHILE:
+        n = new NarcNode(t);
+        n.isLoop = true;
+        n.condition = ParenExpression(t, x);
+        n.body = nest(t, x, n, Statement);
+        return n;
+
+      case DO:
+        n = new NarcNode(t);
+        n.isLoop = true;
+        n.body = nest(t, x, n, Statement, WHILE);
+        n.condition = ParenExpression(t, x);
+        if (!x.ecmaStrictMode) {
+            // <script language="JavaScript"> (without version hints) may need
+            // automatic semicolon insertion without a newline after do-while.
+            // See http://bugzilla.mozilla.org/show_bug.cgi?id=238945.
+            t.match(SEMICOLON);
+            return n;
+        }
+        break;
+
+      case BREAK:
+      case CONTINUE:
+        n = new NarcNode(t);
+        if (t.peekOnSameLine() == IDENTIFIER) {
+            t.get();
+            n.label = t.token().value;
+        }
+        ss = x.stmtStack;
+        i = ss.length;
+        label = n.label;
+        if (label) {
+            do {
+                if (--i < 0)
+                    throw t.newSyntaxError("Label not found");
+            } while (ss[i].label != label);
+        } else {
+            do {
+                if (--i < 0) {
+                    throw t.newSyntaxError("Invalid " + ((tt == BREAK)
+                                                         ? "break"
+                                                         : "continue"));
+                }
+            } while (!ss[i].isLoop && (tt != BREAK || ss[i].type != SWITCH));
+        }
+        n.target = ss[i];
+        break;
+
+      case TRY:
+        n = new NarcNode(t);
+        n.tryBlock = Block(t, x);
+        n.catchClauses = [];
+        while (t.match(CATCH)) {
+            n2 = new NarcNode(t);
+            t.mustMatch(LEFT_PAREN);
+            n2.varName = t.mustMatch(IDENTIFIER).value;
+            if (t.match(IF)) {
+                if (x.ecmaStrictMode)
+                    throw t.newSyntaxError("Illegal catch guard");
+                if (n.catchClauses.length && !n.catchClauses.top().guard)
+                    throw t.newSyntaxError("Guarded catch after unguarded");
+                n2.guard = Expression(t, x);
+            } else {
+                n2.guard = null;
+            }
+            t.mustMatch(RIGHT_PAREN);
+            n2.block = Block(t, x);
+            n.catchClauses.push(n2);
+        }
+        if (t.match(FINALLY))
+            n.finallyBlock = Block(t, x);
+        if (!n.catchClauses.length && !n.finallyBlock)
+            throw t.newSyntaxError("Invalid try statement");
+        return n;
+
+      case CATCH:
+      case FINALLY:
+        throw t.newSyntaxError(tokens[tt] + " without preceding try");
+
+      case THROW:
+        n = new NarcNode(t);
+        n.exception = Expression(t, x);
+        break;
+
+      case RETURN:
+        if (!x.inFunction)
+            throw t.newSyntaxError("Invalid return");
+        n = new NarcNode(t);
+        tt = t.peekOnSameLine();
+        if (tt != END && tt != NEWLINE && tt != SEMICOLON && tt != RIGHT_CURLY)
+            n.value = Expression(t, x);
+        break;
+
+      case WITH:
+        n = new NarcNode(t);
+        n.object = ParenExpression(t, x);
+        n.body = nest(t, x, n, Statement);
+        return n;
+
+      case VAR:
+      case CONST:
+        n = Variables(t, x);
+        break;
+
+      case DEBUGGER:
+        n = new NarcNode(t);
+        break;
+
+      case REQUIRE:
+        n = new NarcNode(t);
+        n.classPath = ParenExpression(t, x);
+        break;
+
+      case NEWLINE:
+      case SEMICOLON:
+        n = new NarcNode(t, SEMICOLON);
+        n.expression = null;
+        return n;
+
+      default:
+        if (tt == IDENTIFIER && t.peek() == COLON) {
+            label = t.token().value;
+            ss = x.stmtStack;
+            for (i = ss.length-1; i >= 0; --i) {
+                if (ss[i].label == label)
+                    throw t.newSyntaxError("Duplicate label");
+            }
+            t.get();
+            n = new NarcNode(t, LABEL);
+            n.label = label;
+            n.statement = nest(t, x, n, Statement);
+            return n;
+        }
+
+        n = new NarcNode(t, SEMICOLON);
+        t.unget();
+        n.expression = Expression(t, x);
+        n.end = n.expression.end;
+        break;
+    }
+
+    if (t.lineno == t.token().lineno) {
+        tt = t.peekOnSameLine();
+        if (tt != END && tt != NEWLINE && tt != SEMICOLON && tt != RIGHT_CURLY)
+            throw t.newSyntaxError("Missing ; before statement");
+    }
+    t.match(SEMICOLON);
+    return n;
+}
+
+function FunctionDefinition(t, x, requireName, functionForm) {
+    var f = new NarcNode(t);
+    if (f.type != FUNCTION)
+        f.type = (f.value == "get") ? GETTER : SETTER;
+    if (t.match(IDENTIFIER)) {
+        f.name = t.token().value;
+    }
+    else if (requireName)
+        throw t.newSyntaxError("Missing function identifier");
+
+    t.mustMatch(LEFT_PAREN);
+    f.params = [];
+    var tt;
+    while ((tt = t.get()) != RIGHT_PAREN) {
+        if (tt != IDENTIFIER)
+            throw t.newSyntaxError("Missing formal parameter");
+        f.params.push(t.token().value);
+        if (t.peek() != RIGHT_PAREN)
+            t.mustMatch(COMMA);
+    }
+
+    t.mustMatch(LEFT_CURLY);
+    var x2 = new CompilerContext(true);
+    f.body = Script(t, x2);
+    t.mustMatch(RIGHT_CURLY);
+    f.end = t.token().end;
+
+    f.functionForm = functionForm;
+    if (functionForm == DECLARED_FORM) {
+        x.funDecls.push(f);
+    }
+
+    return f;
+}
+
+function Variables(t, x) {
+    var n = new NarcNode(t);
+    do {
+        t.mustMatch(IDENTIFIER);
+        var n2 = new NarcNode(t);
+        n2.name = n2.value;
+        if (t.match(ASSIGN)) {
+            if (t.token().assignOp)
+                throw t.newSyntaxError("Invalid variable initialization");
+            n2.initializer = Expression(t, x, COMMA);
+        }
+        n2.readOnly = (n.type == CONST);
+        n.push(n2);
+        x.varDecls.push(n2);
+    } while (t.match(COMMA));
+    return n;
+}
+
+function ParenExpression(t, x) {
+    t.mustMatch(LEFT_PAREN);
+    var n = Expression(t, x);
+    t.mustMatch(RIGHT_PAREN);
+    return n;
+}
+
+var opPrecedence = {
+    SEMICOLON: 0,
+    COMMA: 1,
+    ASSIGN: 2, HOOK: 2, COLON: 2, CONDITIONAL: 2,
+    // The above all have to have the same precedence, see bug 330975.
+    OR: 4,
+    AND: 5,
+    BITWISE_OR: 6,
+    BITWISE_XOR: 7,
+    BITWISE_AND: 8,
+    EQ: 9, NE: 9, STRICT_EQ: 9, STRICT_NE: 9,
+    LT: 10, LE: 10, GE: 10, GT: 10, IN: 10, INSTANCEOF: 10,
+    LSH: 11, RSH: 11, URSH: 11,
+    PLUS: 12, MINUS: 12,
+    MUL: 13, DIV: 13, MOD: 13,
+    DELETE: 14, VOID: 14, TYPEOF: 14, // PRE_INCREMENT: 14, PRE_DECREMENT: 14,
+    NOT: 14, BITWISE_NOT: 14, UNARY_PLUS: 14, UNARY_MINUS: 14,
+    INCREMENT: 15, DECREMENT: 15,     // postfix
+    NEW: 16,
+    DOT: 17
+};
+
+// Map operator type code to precedence.
+for (i in opPrecedence)
+    opPrecedence[GLOBAL[i]] = opPrecedence[i];
+
+var opArity = {
+    COMMA: -2,
+    ASSIGN: 2,
+    CONDITIONAL: 3,
+    OR: 2,
+    AND: 2,
+    BITWISE_OR: 2,
+    BITWISE_XOR: 2,
+    BITWISE_AND: 2,
+    EQ: 2, NE: 2, STRICT_EQ: 2, STRICT_NE: 2,
+    LT: 2, LE: 2, GE: 2, GT: 2, IN: 2, INSTANCEOF: 2,
+    LSH: 2, RSH: 2, URSH: 2,
+    PLUS: 2, MINUS: 2,
+    MUL: 2, DIV: 2, MOD: 2,
+    DELETE: 1, VOID: 1, TYPEOF: 1,  // PRE_INCREMENT: 1, PRE_DECREMENT: 1,
+    NOT: 1, BITWISE_NOT: 1, UNARY_PLUS: 1, UNARY_MINUS: 1,
+    INCREMENT: 1, DECREMENT: 1,     // postfix
+    NEW: 1, NEW_WITH_ARGS: 2, DOT: 2, INDEX: 2, CALL: 2,
+    ARRAY_INIT: 1, OBJECT_INIT: 1, GROUP: 1
+};
+
+// Map operator type code to arity.
+for (i in opArity)
+    opArity[GLOBAL[i]] = opArity[i];
+
+function Expression(t, x, stop) {
+    var n, id, tt, operators = [], operands = [];
+    var bl = x.bracketLevel, cl = x.curlyLevel, pl = x.parenLevel,
+        hl = x.hookLevel;
+
+    function reduce() {
+        //debug('OPERATORS => '+operators);
+        var n = operators.pop();
+        var op = n.type;
+        var arity = opArity[op];
+        if (arity == -2) {
+            // Flatten left-associative trees.
+            var left = operands.length >= 2 && operands[operands.length-2];
+            if (left.type == op) {
+                var right = operands.pop();
+                left.push(right);
+                return left;
+            }
+            arity = 2;
+        }
+
+        // Always use push to add operands to n, to update start and end.
+        var a = operands.splice(operands.length - arity, operands.length);
+        for (var i = 0; i < arity; i++) {
+            n.push(a[i]);
+        }
+
+        // Include closing bracket or postfix operator in [start,end).
+        if (n.end < t.token().end)
+            n.end = t.token().end;
+
+        operands.push(n);
+        return n;
+    }
+
+loop:
+    while ((tt = t.get()) != END) {
+        //debug('TT => '+tokens[tt]);
+        if (tt == stop &&
+            x.bracketLevel == bl && x.curlyLevel == cl && x.parenLevel == pl &&
+            x.hookLevel == hl) {
+            // Stop only if tt matches the optional stop parameter, and that
+            // token is not quoted by some kind of bracket.
+            break;
+        }
+        switch (tt) {
+          case SEMICOLON:
+            // NB: cannot be empty, Statement handled that.
+            break loop;
+
+          case ASSIGN:
+          case HOOK:
+          case COLON:
+            if (t.scanOperand)
+                break loop;
+            // Use >, not >=, for right-associative ASSIGN and HOOK/COLON.
+            while (operators.length && opPrecedence[operators.top().type] > opPrecedence[tt] ||
+                   (tt == COLON && operators.top().type == ASSIGN)) {
+                reduce();
+            }
+            if (tt == COLON) {
+                n = operators.top();
+                if (n.type != HOOK)
+                    throw t.newSyntaxError("Invalid label");
+                n.type = CONDITIONAL;
+                --x.hookLevel;
+            } else {
+                operators.push(new NarcNode(t));
+                if (tt == ASSIGN)
+                    operands.top().assignOp = t.token().assignOp;
+                else
+                    ++x.hookLevel;      // tt == HOOK
+            }
+            t.scanOperand = true;
+            break;
+
+          case IN:
+            // An in operator should not be parsed if we're parsing the head of
+            // a for (...) loop, unless it is in the then part of a conditional
+            // expression, or parenthesized somehow.
+            if (x.inForLoopInit && !x.hookLevel &&
+                !x.bracketLevel && !x.curlyLevel && !x.parenLevel) {
+                break loop;
+            }
+            // FALL THROUGH
+          case COMMA:
+            // Treat comma as left-associative so reduce can fold left-heavy
+            // COMMA trees into a single array.
+            // FALL THROUGH
+          case OR:
+          case AND:
+          case BITWISE_OR:
+          case BITWISE_XOR:
+          case BITWISE_AND:
+          case EQ: case NE: case STRICT_EQ: case STRICT_NE:
+          case LT: case LE: case GE: case GT:
+          case INSTANCEOF:
+          case LSH: case RSH: case URSH:
+          case PLUS: case MINUS:
+          case MUL: case DIV: case MOD:
+          case DOT:
+            if (t.scanOperand)
+                break loop;
+            while (operators.length && opPrecedence[operators.top().type] >= opPrecedence[tt])
+                reduce();
+            if (tt == DOT) {
+                t.mustMatch(IDENTIFIER);
+                operands.push(new NarcNode(t, DOT, operands.pop(), new NarcNode(t)));
+            } else {
+                operators.push(new NarcNode(t));
+                t.scanOperand = true;
+            }
+            break;
+
+          case DELETE: case VOID: case TYPEOF:
+          case NOT: case BITWISE_NOT: case UNARY_PLUS: case UNARY_MINUS:
+          case NEW:
+            if (!t.scanOperand)
+                break loop;
+            operators.push(new NarcNode(t));
+            break;
+
+          case INCREMENT: case DECREMENT:
+            if (t.scanOperand) {
+                operators.push(new NarcNode(t));  // prefix increment or decrement
+            } else {
+                // Use >, not >=, so postfix has higher precedence than prefix.
+                while (operators.length && opPrecedence[operators.top().type] > opPrecedence[tt])
+                    reduce();
+                n = new NarcNode(t, tt, operands.pop());
+                n.postfix = true;
+                operands.push(n);
+            }
+            break;
+
+          case FUNCTION:
+            if (!t.scanOperand)
+                break loop;
+            operands.push(FunctionDefinition(t, x, false, EXPRESSED_FORM));
+            t.scanOperand = false;
+            break;
+
+          case NULL: case THIS: case TRUE: case FALSE:
+          case IDENTIFIER: case NUMBER: case STRING: case REGEXP:
+            if (!t.scanOperand)
+                break loop;
+            operands.push(new NarcNode(t));
+            t.scanOperand = false;
+            break;
+
+          case LEFT_BRACKET:
+            if (t.scanOperand) {
+                // Array initialiser.  Parse using recursive descent, as the
+                // sub-grammar here is not an operator grammar.
+                n = new NarcNode(t, ARRAY_INIT);
+                while ((tt = t.peek()) != RIGHT_BRACKET) {
+                    if (tt == COMMA) {
+                        t.get();
+                        n.push(null);
+                        continue;
+                    }
+                    n.push(Expression(t, x, COMMA));
+                    if (!t.match(COMMA))
+                        break;
+                }
+                t.mustMatch(RIGHT_BRACKET);
+                operands.push(n);
+                t.scanOperand = false;
+            } else {
+                // Property indexing operator.
+                operators.push(new NarcNode(t, INDEX));
+                t.scanOperand = true;
+                ++x.bracketLevel;
+            }
+            break;
+
+          case RIGHT_BRACKET:
+            if (t.scanOperand || x.bracketLevel == bl)
+                break loop;
+            while (reduce().type != INDEX)
+                continue;
+            --x.bracketLevel;
+            break;
+
+          case LEFT_CURLY:
+            if (!t.scanOperand)
+                break loop;
+            // Object initialiser.  As for array initialisers (see above),
+            // parse using recursive descent.
+            ++x.curlyLevel;
+            n = new NarcNode(t, OBJECT_INIT);
+          object_init:
+            if (!t.match(RIGHT_CURLY)) {
+                do {
+                    tt = t.get();
+                    if ((t.token().value == "get" || t.token().value == "set") &&
+                        t.peek() == IDENTIFIER) {
+                        if (x.ecmaStrictMode)
+                            throw t.newSyntaxError("Illegal property accessor");
+                        n.push(FunctionDefinition(t, x, true, EXPRESSED_FORM));
+                    } else {
+                        switch (tt) {
+                          case IDENTIFIER:
+                          case NUMBER:
+                          case STRING:
+                            id = new NarcNode(t);
+                            break;
+                          case RIGHT_CURLY:
+                            if (x.ecmaStrictMode)
+                                throw t.newSyntaxError("Illegal trailing ,");
+                            break object_init;
+                          default:
+                            throw t.newSyntaxError("Invalid property name");
+                        }
+                        t.mustMatch(COLON);
+                        n.push(new NarcNode(t, PROPERTY_INIT, id,
+                                        Expression(t, x, COMMA)));
+                    }
+                } while (t.match(COMMA));
+                t.mustMatch(RIGHT_CURLY);
+            }
+            operands.push(n);
+            t.scanOperand = false;
+            --x.curlyLevel;
+            break;
+
+          case RIGHT_CURLY:
+            if (!t.scanOperand && x.curlyLevel != cl)
+                throw "PANIC: right curly botch";
+            break loop;
+
+          case LEFT_PAREN:
+            if (t.scanOperand) {
+                operators.push(new NarcNode(t, GROUP));
+            } else {
+                while (operators.length && opPrecedence[operators.top().type] > opPrecedence[NEW])
+                    reduce();
+
+                // Handle () now, to regularize the n-ary case for n > 0.
+                // We must set scanOperand in case there are arguments and
+                // the first one is a regexp or unary+/-.
+                n = operators.top();
+                t.scanOperand = true;
+                if (t.match(RIGHT_PAREN)) {
+                    if (n.type == NEW) {
+                        --operators.length;
+                        n.push(operands.pop());
+                    } else {
+                        n = new NarcNode(t, CALL, operands.pop(),
+                                     new NarcNode(t, LIST));
+                    }
+                    operands.push(n);
+                    t.scanOperand = false;
+                    break;
+                }
+                if (n.type == NEW)
+                    n.type = NEW_WITH_ARGS;
+                else
+                    operators.push(new NarcNode(t, CALL));
+            }
+            ++x.parenLevel;
+            break;
+
+          case RIGHT_PAREN:
+            if (t.scanOperand || x.parenLevel == pl)
+                break loop;
+            while ((tt = reduce().type) != GROUP && tt != CALL &&
+                   tt != NEW_WITH_ARGS) {
+                continue;
+            }
+            if (tt != GROUP) {
+                n = operands.top();
+                if (n[1].type != COMMA)
+                    n[1] = new NarcNode(t, LIST, n[1]);
+                else
+                    n[1].type = LIST;
+            }
+            --x.parenLevel;
+            break;
+
+          // Automatic semicolon insertion means we may scan across a newline
+          // and into the beginning of another statement.  If so, break out of
+          // the while loop and let the t.scanOperand logic handle errors.
+          default:
+            break loop;
+        }
+    }
+    if (x.hookLevel != hl)
+        throw t.newSyntaxError("Missing : after ?");
+    if (x.parenLevel != pl)
+        throw t.newSyntaxError("Missing ) in parenthetical");
+    if (x.bracketLevel != bl)
+        throw t.newSyntaxError("Missing ] in index expression");
+    if (t.scanOperand)
+        throw t.newSyntaxError("Missing operand");
+
+    // Resume default mode, scanning for operands, not operators.
+    t.scanOperand = true;
+    t.unget();
+
+    while (operators.length)
+        reduce();
+    return operands.pop();
+}
+
+function parse(s, f, l) {
+    var t = new Tokenizer(s, f, l);
+    var x = new CompilerContext(false);
+    var n = Script(t, x);
+    if (!t.done())
+        throw t.newSyntaxError("Syntax error");
+    return n;
+}
+
+debug = function(msg) {
+    document.body.appendChild(document.createTextNode(msg));
+    document.body.appendChild(document.createElement('br'));
+}
+
Index: lib/spatial/mapbuilder/tests/selenium/tests/examples/interactive/load_page.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/tests/examples/interactive/load_page.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/tests/examples/interactive/load_page.html	(revision 4307)
@@ -0,0 +1,39 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>load_page</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">load_page</td></tr>
+</thead><tbody>
+<tr>
+	<td>open</td>
+	<td>../../../examples/interactive/index.html</td>
+	<td></td>
+</tr>
+<tr>
+	<td>waitForPageToLoad</td>
+	<td>60000</td>
+	<td></td>
+</tr>
+<tr>
+	<td>setTimeout</td>
+	<td>10000</td>
+	<td></td>
+</tr>
+<tr>
+	<td>waitForElementPresent</td>
+	<td>mainMapPane_OpenLayers_Container</td>
+	<td></td>
+</tr>
+<tr>
+	<td>pause</td>
+	<td>1000</td>
+	<td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
Index: lib/spatial/mapbuilder/tests/selenium/index.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/index.html	(revision 4307)
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Refresh"
+          content="0;url=selenium-core-0.8.2/TestRunner.html?test=..%2Ftests%2FTestSuite.html" />
+    <title>MapBuilder Selenium tests</title>
+  </head>
+  <body>
+    <p style="display:none;">
+      <a href="selenium-core-0.8.2/TestRunner.html?test=..%2Ftests%2FTestSuite.html">Go to the MapBuilder Selenium Test Runner</a>
+    </p>
+  </body>
+</html>
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/dragdrop.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/dragdrop.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/dragdrop.js	(revision 4307)
@@ -0,0 +1,915 @@
+// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
+//           (c) 2005 Sammi Williams (http://www.oriontransfer.co.nz, sammi@oriontransfer.co.nz)
+// 
+// See scriptaculous.js for full license.
+
+/*--------------------------------------------------------------------------*/
+
+var Droppables = {
+  drops: [],
+
+  remove: function(element) {
+    this.drops = this.drops.reject(function(d) { return d.element==$(element) });
+  },
+
+  add: function(element) {
+    element = $(element);
+    var options = Object.extend({
+      greedy:     true,
+      hoverclass: null,
+      tree:       false
+    }, arguments[1] || {});
+
+    // cache containers
+    if(options.containment) {
+      options._containers = [];
+      var containment = options.containment;
+      if((typeof containment == 'object') && 
+        (containment.constructor == Array)) {
+        containment.each( function(c) { options._containers.push($(c)) });
+      } else {
+        options._containers.push($(containment));
+      }
+    }
+    
+    if(options.accept) options.accept = [options.accept].flatten();
+
+    Element.makePositioned(element); // fix IE
+    options.element = element;
+
+    this.drops.push(options);
+  },
+  
+  findDeepestChild: function(drops) {
+    deepest = drops[0];
+      
+    for (i = 1; i < drops.length; ++i)
+      if (Element.isParent(drops[i].element, deepest.element))
+        deepest = drops[i];
+    
+    return deepest;
+  },
+
+  isContained: function(element, drop) {
+    var containmentNode;
+    if(drop.tree) {
+      containmentNode = element.treeNode; 
+    } else {
+      containmentNode = element.parentNode;
+    }
+    return drop._containers.detect(function(c) { return containmentNode == c });
+  },
+  
+  isAffected: function(point, element, drop) {
+    return (
+      (drop.element!=element) &&
+      ((!drop._containers) ||
+        this.isContained(element, drop)) &&
+      ((!drop.accept) ||
+        (Element.classNames(element).detect( 
+          function(v) { return drop.accept.include(v) } ) )) &&
+      Position.within(drop.element, point[0], point[1]) );
+  },
+
+  deactivate: function(drop) {
+    if(drop.hoverclass)
+      Element.removeClassName(drop.element, drop.hoverclass);
+    this.last_active = null;
+  },
+
+  activate: function(drop) {
+    if(drop.hoverclass)
+      Element.addClassName(drop.element, drop.hoverclass);
+    this.last_active = drop;
+  },
+
+  show: function(point, element) {
+    if(!this.drops.length) return;
+    var affected = [];
+    
+    if(this.last_active) this.deactivate(this.last_active);
+    this.drops.each( function(drop) {
+      if(Droppables.isAffected(point, element, drop))
+        affected.push(drop);
+    });
+        
+    if(affected.length>0) {
+      drop = Droppables.findDeepestChild(affected);
+      Position.within(drop.element, point[0], point[1]);
+      if(drop.onHover)
+        drop.onHover(element, drop.element, Position.overlap(drop.overlap, drop.element));
+      
+      Droppables.activate(drop);
+    }
+  },
+
+  fire: function(event, element) {
+    if(!this.last_active) return;
+    Position.prepare();
+
+    if (this.isAffected([Event.pointerX(event), Event.pointerY(event)], element, this.last_active))
+      if (this.last_active.onDrop) 
+        this.last_active.onDrop(element, this.last_active.element, event);
+  },
+
+  reset: function() {
+    if(this.last_active)
+      this.deactivate(this.last_active);
+  }
+}
+
+var Draggables = {
+  drags: [],
+  observers: [],
+  
+  register: function(draggable) {
+    if(this.drags.length == 0) {
+      this.eventMouseUp   = this.endDrag.bindAsEventListener(this);
+      this.eventMouseMove = this.updateDrag.bindAsEventListener(this);
+      this.eventKeypress  = this.keyPress.bindAsEventListener(this);
+      
+      Event.observe(document, "mouseup", this.eventMouseUp);
+      Event.observe(document, "mousemove", this.eventMouseMove);
+      Event.observe(document, "keypress", this.eventKeypress);
+    }
+    this.drags.push(draggable);
+  },
+  
+  unregister: function(draggable) {
+    this.drags = this.drags.reject(function(d) { return d==draggable });
+    if(this.drags.length == 0) {
+      Event.stopObserving(document, "mouseup", this.eventMouseUp);
+      Event.stopObserving(document, "mousemove", this.eventMouseMove);
+      Event.stopObserving(document, "keypress", this.eventKeypress);
+    }
+  },
+  
+  activate: function(draggable) {
+    window.focus(); // allows keypress events if window isn't currently focused, fails for Safari
+    this.activeDraggable = draggable;
+  },
+  
+  deactivate: function() {
+    this.activeDraggable = null;
+  },
+  
+  updateDrag: function(event) {
+    if(!this.activeDraggable) return;
+    var pointer = [Event.pointerX(event), Event.pointerY(event)];
+    // Mozilla-based browsers fire successive mousemove events with
+    // the same coordinates, prevent needless redrawing (moz bug?)
+    if(this._lastPointer && (this._lastPointer.inspect() == pointer.inspect())) return;
+    this._lastPointer = pointer;
+    this.activeDraggable.updateDrag(event, pointer);
+  },
+  
+  endDrag: function(event) {
+    if(!this.activeDraggable) return;
+    this._lastPointer = null;
+    this.activeDraggable.endDrag(event);
+    this.activeDraggable = null;
+  },
+  
+  keyPress: function(event) {
+    if(this.activeDraggable)
+      this.activeDraggable.keyPress(event);
+  },
+  
+  addObserver: function(observer) {
+    this.observers.push(observer);
+    this._cacheObserverCallbacks();
+  },
+  
+  removeObserver: function(element) {  // element instead of observer fixes mem leaks
+    this.observers = this.observers.reject( function(o) { return o.element==element });
+    this._cacheObserverCallbacks();
+  },
+  
+  notify: function(eventName, draggable, event) {  // 'onStart', 'onEnd', 'onDrag'
+    if(this[eventName+'Count'] > 0)
+      this.observers.each( function(o) {
+        if(o[eventName]) o[eventName](eventName, draggable, event);
+      });
+  },
+  
+  _cacheObserverCallbacks: function() {
+    ['onStart','onEnd','onDrag'].each( function(eventName) {
+      Draggables[eventName+'Count'] = Draggables.observers.select(
+        function(o) { return o[eventName]; }
+      ).length;
+    });
+  }
+}
+
+/*--------------------------------------------------------------------------*/
+
+var Draggable = Class.create();
+Draggable.prototype = {
+  initialize: function(element) {
+    var options = Object.extend({
+      handle: false,
+      starteffect: function(element) {
+        element._opacity = Element.getOpacity(element); 
+        new Effect.Opacity(element, {duration:0.2, from:element._opacity, to:0.7}); 
+      },
+      reverteffect: function(element, top_offset, left_offset) {
+        var dur = Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02;
+        element._revert = new Effect.Move(element, { x: -left_offset, y: -top_offset, duration: dur});
+      },
+      endeffect: function(element) {
+        var toOpacity = typeof element._opacity == 'number' ? element._opacity : 1.0
+        new Effect.Opacity(element, {duration:0.2, from:0.7, to:toOpacity}); 
+      },
+      zindex: 1000,
+      revert: false,
+      scroll: false,
+      scrollSensitivity: 20,
+      scrollSpeed: 15,
+      snap: false   // false, or xy or [x,y] or function(x,y){ return [x,y] }
+    }, arguments[1] || {});
+
+    this.element = $(element);
+    
+    if(options.handle && (typeof options.handle == 'string')) {
+      var h = Element.childrenWithClassName(this.element, options.handle, true);
+      if(h.length>0) this.handle = h[0];
+    }
+    if(!this.handle) this.handle = $(options.handle);
+    if(!this.handle) this.handle = this.element;
+    
+    if(options.scroll && !options.scroll.scrollTo && !options.scroll.outerHTML)
+      options.scroll = $(options.scroll);
+
+    Element.makePositioned(this.element); // fix IE    
+
+    this.delta    = this.currentDelta();
+    this.options  = options;
+    this.dragging = false;   
+
+    this.eventMouseDown = this.initDrag.bindAsEventListener(this);
+    Event.observe(this.handle, "mousedown", this.eventMouseDown);
+    
+    Draggables.register(this);
+  },
+  
+  destroy: function() {
+    Event.stopObserving(this.handle, "mousedown", this.eventMouseDown);
+    Draggables.unregister(this);
+  },
+  
+  currentDelta: function() {
+    return([
+      parseInt(Element.getStyle(this.element,'left') || '0'),
+      parseInt(Element.getStyle(this.element,'top') || '0')]);
+  },
+  
+  initDrag: function(event) {
+    if(Event.isLeftClick(event)) {    
+      // abort on form elements, fixes a Firefox issue
+      var src = Event.element(event);
+      if(src.tagName && (
+        src.tagName=='INPUT' ||
+        src.tagName=='SELECT' ||
+        src.tagName=='OPTION' ||
+        src.tagName=='BUTTON' ||
+        src.tagName=='TEXTAREA')) return;
+        
+      if(this.element._revert) {
+        this.element._revert.cancel();
+        this.element._revert = null;
+      }
+      
+      var pointer = [Event.pointerX(event), Event.pointerY(event)];
+      var pos     = Position.cumulativeOffset(this.element);
+      this.offset = [0,1].map( function(i) { return (pointer[i] - pos[i]) });
+      
+      Draggables.activate(this);
+      Event.stop(event);
+    }
+  },
+  
+  startDrag: function(event) {
+    this.dragging = true;
+    
+    if(this.options.zindex) {
+      this.originalZ = parseInt(Element.getStyle(this.element,'z-index') || 0);
+      this.element.style.zIndex = this.options.zindex;
+    }
+    
+    if(this.options.ghosting) {
+      this._clone = this.element.cloneNode(true);
+      Position.absolutize(this.element);
+      this.element.parentNode.insertBefore(this._clone, this.element);
+    }
+    
+    if(this.options.scroll) {
+      if (this.options.scroll == window) {
+        var where = this._getWindowScroll(this.options.scroll);
+        this.originalScrollLeft = where.left;
+        this.originalScrollTop = where.top;
+      } else {
+        this.originalScrollLeft = this.options.scroll.scrollLeft;
+        this.originalScrollTop = this.options.scroll.scrollTop;
+      }
+    }
+    
+    Draggables.notify('onStart', this, event);
+    if(this.options.starteffect) this.options.starteffect(this.element);
+  },
+  
+  updateDrag: function(event, pointer) {
+    if(!this.dragging) this.startDrag(event);
+    Position.prepare();
+    Droppables.show(pointer, this.element);
+    Draggables.notify('onDrag', this, event);
+    this.draw(pointer);
+    if(this.options.change) this.options.change(this);
+    
+    if(this.options.scroll) {
+      this.stopScrolling();
+      
+      var p;
+      if (this.options.scroll == window) {
+        with(this._getWindowScroll(this.options.scroll)) { p = [ left, top, left+width, top+height ]; }
+      } else {
+        p = Position.page(this.options.scroll);
+        p[0] += this.options.scroll.scrollLeft;
+        p[1] += this.options.scroll.scrollTop;
+        p.push(p[0]+this.options.scroll.offsetWidth);
+        p.push(p[1]+this.options.scroll.offsetHeight);
+      }
+      var speed = [0,0];
+      if(pointer[0] < (p[0]+this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[0]+this.options.scrollSensitivity);
+      if(pointer[1] < (p[1]+this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[1]+this.options.scrollSensitivity);
+      if(pointer[0] > (p[2]-this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[2]-this.options.scrollSensitivity);
+      if(pointer[1] > (p[3]-this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[3]-this.options.scrollSensitivity);
+      this.startScrolling(speed);
+    }
+    
+    // fix AppleWebKit rendering
+    if(navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0);
+    
+    Event.stop(event);
+  },
+  
+  finishDrag: function(event, success) {
+    this.dragging = false;
+
+    if(this.options.ghosting) {
+      Position.relativize(this.element);
+      Element.remove(this._clone);
+      this._clone = null;
+    }
+
+    if(success) Droppables.fire(event, this.element);
+    Draggables.notify('onEnd', this, event);
+
+    var revert = this.options.revert;
+    if(revert && typeof revert == 'function') revert = revert(this.element);
+    
+    var d = this.currentDelta();
+    if(revert && this.options.reverteffect) {
+      this.options.reverteffect(this.element, 
+        d[1]-this.delta[1], d[0]-this.delta[0]);
+    } else {
+      this.delta = d;
+    }
+
+    if(this.options.zindex)
+      this.element.style.zIndex = this.originalZ;
+
+    if(this.options.endeffect) 
+      this.options.endeffect(this.element);
+
+    Draggables.deactivate(this);
+    Droppables.reset();
+  },
+  
+  keyPress: function(event) {
+    if(event.keyCode!=Event.KEY_ESC) return;
+    this.finishDrag(event, false);
+    Event.stop(event);
+  },
+  
+  endDrag: function(event) {
+    if(!this.dragging) return;
+    this.stopScrolling();
+    this.finishDrag(event, true);
+    Event.stop(event);
+  },
+  
+  draw: function(point) {
+    var pos = Position.cumulativeOffset(this.element);
+    var d = this.currentDelta();
+    pos[0] -= d[0]; pos[1] -= d[1];
+    
+    if(this.options.scroll && (this.options.scroll != window)) {
+      pos[0] -= this.options.scroll.scrollLeft-this.originalScrollLeft;
+      pos[1] -= this.options.scroll.scrollTop-this.originalScrollTop;
+    }
+    
+    var p = [0,1].map(function(i){ 
+      return (point[i]-pos[i]-this.offset[i]) 
+    }.bind(this));
+    
+    if(this.options.snap) {
+      if(typeof this.options.snap == 'function') {
+        p = this.options.snap(p[0],p[1],this);
+      } else {
+      if(this.options.snap instanceof Array) {
+        p = p.map( function(v, i) {
+          return Math.round(v/this.options.snap[i])*this.options.snap[i] }.bind(this))
+      } else {
+        p = p.map( function(v) {
+          return Math.round(v/this.options.snap)*this.options.snap }.bind(this))
+      }
+    }}
+    
+    var style = this.element.style;
+    if((!this.options.constraint) || (this.options.constraint=='horizontal'))
+      style.left = p[0] + "px";
+    if((!this.options.constraint) || (this.options.constraint=='vertical'))
+      style.top  = p[1] + "px";
+    if(style.visibility=="hidden") style.visibility = ""; // fix gecko rendering
+  },
+  
+  stopScrolling: function() {
+    if(this.scrollInterval) {
+      clearInterval(this.scrollInterval);
+      this.scrollInterval = null;
+      Draggables._lastScrollPointer = null;
+    }
+  },
+  
+  startScrolling: function(speed) {
+    this.scrollSpeed = [speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed];
+    this.lastScrolled = new Date();
+    this.scrollInterval = setInterval(this.scroll.bind(this), 10);
+  },
+  
+  scroll: function() {
+    var current = new Date();
+    var delta = current - this.lastScrolled;
+    this.lastScrolled = current;
+    if(this.options.scroll == window) {
+      with (this._getWindowScroll(this.options.scroll)) {
+        if (this.scrollSpeed[0] || this.scrollSpeed[1]) {
+          var d = delta / 1000;
+          this.options.scroll.scrollTo( left + d*this.scrollSpeed[0], top + d*this.scrollSpeed[1] );
+        }
+      }
+    } else {
+      this.options.scroll.scrollLeft += this.scrollSpeed[0] * delta / 1000;
+      this.options.scroll.scrollTop  += this.scrollSpeed[1] * delta / 1000;
+    }
+    
+    Position.prepare();
+    Droppables.show(Draggables._lastPointer, this.element);
+    Draggables.notify('onDrag', this);
+    Draggables._lastScrollPointer = Draggables._lastScrollPointer || $A(Draggables._lastPointer);
+    Draggables._lastScrollPointer[0] += this.scrollSpeed[0] * delta / 1000;
+    Draggables._lastScrollPointer[1] += this.scrollSpeed[1] * delta / 1000;
+    if (Draggables._lastScrollPointer[0] < 0)
+      Draggables._lastScrollPointer[0] = 0;
+    if (Draggables._lastScrollPointer[1] < 0)
+      Draggables._lastScrollPointer[1] = 0;
+    this.draw(Draggables._lastScrollPointer);
+    
+    if(this.options.change) this.options.change(this);
+  },
+  
+  _getWindowScroll: function(w) {
+    var T, L, W, H;
+    with (w.document) {
+      if (w.document.documentElement && documentElement.scrollTop) {
+        T = documentElement.scrollTop;
+        L = documentElement.scrollLeft;
+      } else if (w.document.body) {
+        T = body.scrollTop;
+        L = body.scrollLeft;
+      }
+      if (w.innerWidth) {
+        W = w.innerWidth;
+        H = w.innerHeight;
+      } else if (w.document.documentElement && documentElement.clientWidth) {
+        W = documentElement.clientWidth;
+        H = documentElement.clientHeight;
+      } else {
+        W = body.offsetWidth;
+        H = body.offsetHeight
+      }
+    }
+    return { top: T, left: L, width: W, height: H };
+  }
+}
+
+/*--------------------------------------------------------------------------*/
+
+var SortableObserver = Class.create();
+SortableObserver.prototype = {
+  initialize: function(element, observer) {
+    this.element   = $(element);
+    this.observer  = observer;
+    this.lastValue = Sortable.serialize(this.element);
+  },
+  
+  onStart: function() {
+    this.lastValue = Sortable.serialize(this.element);
+  },
+  
+  onEnd: function() {
+    Sortable.unmark();
+    if(this.lastValue != Sortable.serialize(this.element))
+      this.observer(this.element)
+  }
+}
+
+var Sortable = {
+  sortables: {},
+  
+  _findRootElement: function(element) {
+    while (element.tagName != "BODY") {  
+      if(element.id && Sortable.sortables[element.id]) return element;
+      element = element.parentNode;
+    }
+  },
+
+  options: function(element) {
+    element = Sortable._findRootElement($(element));
+    if(!element) return;
+    return Sortable.sortables[element.id];
+  },
+  
+  destroy: function(element){
+    var s = Sortable.options(element);
+    
+    if(s) {
+      Draggables.removeObserver(s.element);
+      s.droppables.each(function(d){ Droppables.remove(d) });
+      s.draggables.invoke('destroy');
+      
+      delete Sortable.sortables[s.element.id];
+    }
+  },
+
+  create: function(element) {
+    element = $(element);
+    var options = Object.extend({ 
+      element:     element,
+      tag:         'li',       // assumes li children, override with tag: 'tagname'
+      dropOnEmpty: false,
+      tree:        false,
+      treeTag:     'ul',
+      overlap:     'vertical', // one of 'vertical', 'horizontal'
+      constraint:  'vertical', // one of 'vertical', 'horizontal', false
+      containment: element,    // also takes array of elements (or id's); or false
+      handle:      false,      // or a CSS class
+      only:        false,
+      hoverclass:  null,
+      ghosting:    false,
+      scroll:      false,
+      scrollSensitivity: 20,
+      scrollSpeed: 15,
+      format:      /^[^_]*_(.*)$/,
+      onChange:    Prototype.emptyFunction,
+      onUpdate:    Prototype.emptyFunction
+    }, arguments[1] || {});
+
+    // clear any old sortable with same element
+    this.destroy(element);
+
+    // build options for the draggables
+    var options_for_draggable = {
+      revert:      true,
+      scroll:      options.scroll,
+      scrollSpeed: options.scrollSpeed,
+      scrollSensitivity: options.scrollSensitivity,
+      ghosting:    options.ghosting,
+      constraint:  options.constraint,
+      handle:      options.handle };
+
+    if(options.starteffect)
+      options_for_draggable.starteffect = options.starteffect;
+
+    if(options.reverteffect)
+      options_for_draggable.reverteffect = options.reverteffect;
+    else
+      if(options.ghosting) options_for_draggable.reverteffect = function(element) {
+        element.style.top  = 0;
+        element.style.left = 0;
+      };
+
+    if(options.endeffect)
+      options_for_draggable.endeffect = options.endeffect;
+
+    if(options.zindex)
+      options_for_draggable.zindex = options.zindex;
+
+    // build options for the droppables  
+    var options_for_droppable = {
+      overlap:     options.overlap,
+      containment: options.containment,
+      tree:        options.tree,
+      hoverclass:  options.hoverclass,
+      onHover:     Sortable.onHover
+      //greedy:      !options.dropOnEmpty
+    }
+    
+    var options_for_tree = {
+      onHover:      Sortable.onEmptyHover,
+      overlap:      options.overlap,
+      containment:  options.containment,
+      hoverclass:   options.hoverclass
+    }
+
+    // fix for gecko engine
+    Element.cleanWhitespace(element); 
+
+    options.draggables = [];
+    options.droppables = [];
+
+    // drop on empty handling
+    if(options.dropOnEmpty || options.tree) {
+      Droppables.add(element, options_for_tree);
+      options.droppables.push(element);
+    }
+
+    (this.findElements(element, options) || []).each( function(e) {
+      // handles are per-draggable
+      var handle = options.handle ? 
+        Element.childrenWithClassName(e, options.handle)[0] : e;    
+      options.draggables.push(
+        new Draggable(e, Object.extend(options_for_draggable, { handle: handle })));
+      Droppables.add(e, options_for_droppable);
+      if(options.tree) e.treeNode = element;
+      options.droppables.push(e);      
+    });
+    
+    if(options.tree) {
+      (Sortable.findTreeElements(element, options) || []).each( function(e) {
+        Droppables.add(e, options_for_tree);
+        e.treeNode = element;
+        options.droppables.push(e);
+      });
+    }
+
+    // keep reference
+    this.sortables[element.id] = options;
+
+    // for onupdate
+    Draggables.addObserver(new SortableObserver(element, options.onUpdate));
+
+  },
+
+  // return all suitable-for-sortable elements in a guaranteed order
+  findElements: function(element, options) {
+    return Element.findChildren(
+      element, options.only, options.tree ? true : false, options.tag);
+  },
+  
+  findTreeElements: function(element, options) {
+    return Element.findChildren(
+      element, options.only, options.tree ? true : false, options.treeTag);
+  },
+
+  onHover: function(element, dropon, overlap) {
+    if(Element.isParent(dropon, element)) return;
+
+    if(overlap > .33 && overlap < .66 && Sortable.options(dropon).tree) {
+      return;
+    } else if(overlap>0.5) {
+      Sortable.mark(dropon, 'before');
+      if(dropon.previousSibling != element) {
+        var oldParentNode = element.parentNode;
+        element.style.visibility = "hidden"; // fix gecko rendering
+        dropon.parentNode.insertBefore(element, dropon);
+        if(dropon.parentNode!=oldParentNode) 
+          Sortable.options(oldParentNode).onChange(element);
+        Sortable.options(dropon.parentNode).onChange(element);
+      }
+    } else {
+      Sortable.mark(dropon, 'after');
+      var nextElement = dropon.nextSibling || null;
+      if(nextElement != element) {
+        var oldParentNode = element.parentNode;
+        element.style.visibility = "hidden"; // fix gecko rendering
+        dropon.parentNode.insertBefore(element, nextElement);
+        if(dropon.parentNode!=oldParentNode) 
+          Sortable.options(oldParentNode).onChange(element);
+        Sortable.options(dropon.parentNode).onChange(element);
+      }
+    }
+  },
+  
+  onEmptyHover: function(element, dropon, overlap) {
+    var oldParentNode = element.parentNode;
+    var droponOptions = Sortable.options(dropon);
+        
+    if(!Element.isParent(dropon, element)) {
+      var index;
+      
+      var children = Sortable.findElements(dropon, {tag: droponOptions.tag});
+      var child = null;
+            
+      if(children) {
+        var offset = Element.offsetSize(dropon, droponOptions.overlap) * (1.0 - overlap);
+        
+        for (index = 0; index < children.length; index += 1) {
+          if (offset - Element.offsetSize (children[index], droponOptions.overlap) >= 0) {
+            offset -= Element.offsetSize (children[index], droponOptions.overlap);
+          } else if (offset - (Element.offsetSize (children[index], droponOptions.overlap) / 2) >= 0) {
+            child = index + 1 < children.length ? children[index + 1] : null;
+            break;
+          } else {
+            child = children[index];
+            break;
+          }
+        }
+      }
+      
+      dropon.insertBefore(element, child);
+      
+      Sortable.options(oldParentNode).onChange(element);
+      droponOptions.onChange(element);
+    }
+  },
+
+  unmark: function() {
+    if(Sortable._marker) Element.hide(Sortable._marker);
+  },
+
+  mark: function(dropon, position) {
+    // mark on ghosting only
+    var sortable = Sortable.options(dropon.parentNode);
+    if(sortable && !sortable.ghosting) return; 
+
+    if(!Sortable._marker) {
+      Sortable._marker = $('dropmarker') || document.createElement('DIV');
+      Element.hide(Sortable._marker);
+      Element.addClassName(Sortable._marker, 'dropmarker');
+      Sortable._marker.style.position = 'absolute';
+      document.getElementsByTagName("body").item(0).appendChild(Sortable._marker);
+    }    
+    var offsets = Position.cumulativeOffset(dropon);
+    Sortable._marker.style.left = offsets[0] + 'px';
+    Sortable._marker.style.top = offsets[1] + 'px';
+    
+    if(position=='after')
+      if(sortable.overlap == 'horizontal') 
+        Sortable._marker.style.left = (offsets[0]+dropon.clientWidth) + 'px';
+      else
+        Sortable._marker.style.top = (offsets[1]+dropon.clientHeight) + 'px';
+    
+    Element.show(Sortable._marker);
+  },
+  
+  _tree: function(element, options, parent) {
+    var children = Sortable.findElements(element, options) || [];
+  
+    for (var i = 0; i < children.length; ++i) {
+      var match = children[i].id.match(options.format);
+
+      if (!match) continue;
+      
+      var child = {
+        id: encodeURIComponent(match ? match[1] : null),
+        element: element,
+        parent: parent,
+        children: new Array,
+        position: parent.children.length,
+        container: Sortable._findChildrenElement(children[i], options.treeTag.toUpperCase())
+      }
+      
+      /* Get the element containing the children and recurse over it */
+      if (child.container)
+        this._tree(child.container, options, child)
+      
+      parent.children.push (child);
+    }
+
+    return parent; 
+  },
+
+  /* Finds the first element of the given tag type within a parent element.
+    Used for finding the first LI[ST] within a L[IST]I[TEM].*/
+  _findChildrenElement: function (element, containerTag) {
+    if (element && element.hasChildNodes)
+      for (var i = 0; i < element.childNodes.length; ++i)
+        if (element.childNodes[i].tagName == containerTag)
+          return element.childNodes[i];
+  
+    return null;
+  },
+
+  tree: function(element) {
+    element = $(element);
+    var sortableOptions = this.options(element);
+    var options = Object.extend({
+      tag: sortableOptions.tag,
+      treeTag: sortableOptions.treeTag,
+      only: sortableOptions.only,
+      name: element.id,
+      format: sortableOptions.format
+    }, arguments[1] || {});
+    
+    var root = {
+      id: null,
+      parent: null,
+      children: new Array,
+      container: element,
+      position: 0
+    }
+    
+    return Sortable._tree (element, options, root);
+  },
+
+  /* Construct a [i] index for a particular node */
+  _constructIndex: function(node) {
+    var index = '';
+    do {
+      if (node.id) index = '[' + node.position + ']' + index;
+    } while ((node = node.parent) != null);
+    return index;
+  },
+
+  sequence: function(element) {
+    element = $(element);
+    var options = Object.extend(this.options(element), arguments[1] || {});
+    
+    return $(this.findElements(element, options) || []).map( function(item) {
+      return item.id.match(options.format) ? item.id.match(options.format)[1] : '';
+    });
+  },
+
+  setSequence: function(element, new_sequence) {
+    element = $(element);
+    var options = Object.extend(this.options(element), arguments[2] || {});
+    
+    var nodeMap = {};
+    this.findElements(element, options).each( function(n) {
+        if (n.id.match(options.format))
+            nodeMap[n.id.match(options.format)[1]] = [n, n.parentNode];
+        n.parentNode.removeChild(n);
+    });
+   
+    new_sequence.each(function(ident) {
+      var n = nodeMap[ident];
+      if (n) {
+        n[1].appendChild(n[0]);
+        delete nodeMap[ident];
+      }
+    });
+  },
+  
+  serialize: function(element) {
+    element = $(element);
+    var options = Object.extend(Sortable.options(element), arguments[1] || {});
+    var name = encodeURIComponent(
+      (arguments[1] && arguments[1].name) ? arguments[1].name : element.id);
+    
+    if (options.tree) {
+      return Sortable.tree(element, arguments[1]).children.map( function (item) {
+        return [name + Sortable._constructIndex(item) + "=" + 
+                encodeURIComponent(item.id)].concat(item.children.map(arguments.callee));
+      }).flatten().join('&');
+    } else {
+      return Sortable.sequence(element, arguments[1]).map( function(item) {
+        return name + "[]=" + encodeURIComponent(item);
+      }).join('&');
+    }
+  }
+}
+
+/* Returns true if child is contained within element */
+Element.isParent = function(child, element) {
+  if (!child.parentNode || child == element) return false;
+
+  if (child.parentNode == element) return true;
+
+  return Element.isParent(child.parentNode, element);
+}
+
+Element.findChildren = function(element, only, recursive, tagName) {    
+  if(!element.hasChildNodes()) return null;
+  tagName = tagName.toUpperCase();
+  if(only) only = [only].flatten();
+  var elements = [];
+  $A(element.childNodes).each( function(e) {
+    if(e.tagName && e.tagName.toUpperCase()==tagName &&
+      (!only || (Element.classNames(e).detect(function(v) { return only.include(v) }))))
+        elements.push(e);
+    if(recursive) {
+      var grandchildren = Element.findChildren(e, only, recursive, tagName);
+      if(grandchildren) elements.push(grandchildren);
+    }
+  });
+
+  return (elements.length>0 ? elements.flatten() : []);
+}
+
+Element.offsetSize = function (element, type) {
+  if (type == 'vertical' || type == 'height')
+    return element.offsetHeight;
+  else
+    return element.offsetWidth;
+}
\ No newline at end of file
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-browserdetect.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-browserdetect.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-browserdetect.js	(revision 4307)
@@ -0,0 +1,142 @@
+/*
+ * Copyright 2004 ThoughtWorks, Inc
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+// Although it's generally better web development practice not to use
+// browser-detection (feature detection is better), the subtle browser
+// differences that Selenium has to work around seem to make it
+// necessary. Maybe as we learn more about what we need, we can do this in
+// a more "feature-centric" rather than "browser-centric" way.
+
+var BrowserVersion = function() {
+    this.name = navigator.appName;
+
+    if (window.opera != null) {
+        this.browser = BrowserVersion.OPERA;
+        this.isOpera = true;
+        return;
+    }
+    
+    var _getQueryParameter = function(searchKey) {
+        var str = location.search.substr(1);
+        if (str == null) return null;
+        var clauses = str.split('&');
+        for (var i = 0; i < clauses.length; i++) {
+            var keyValuePair = clauses[i].split('=', 2);
+            var key = unescape(keyValuePair[0]);
+            if (key == searchKey) {
+                return unescape(keyValuePair[1]);
+            }
+        }
+        return null;
+    };
+    
+    var self = this;
+    
+    var checkChrome = function() {
+        var loc = window.document.location.href;
+        try {
+            loc = window.top.document.location.href;
+            if (/^chrome:\/\//.test(loc)) {
+                self.isChrome = true;
+            } else {
+                self.isChrome = false;
+            }
+        } catch (e) {
+            // can't see the top (that means we might be chrome, but it's impossible to be sure)
+            self.isChromeDetectable = "no, top location couldn't be read in this window";
+            if (_getQueryParameter('thisIsChrome')) {
+                self.isChrome = true;
+            } else {
+                self.isChrome = false;
+            }
+        }
+        
+        
+    }
+    
+    
+
+    if (this.name == "Microsoft Internet Explorer") {
+        this.browser = BrowserVersion.IE;
+        this.isIE = true;
+        try {
+            if (window.top.SeleniumHTARunner && window.top.document.location.pathname.match(/.hta$/i)) {
+                this.isHTA = true;
+            }
+        } catch (e) {
+            this.isHTADetectable = "no, top location couldn't be read in this window";
+            if (_getQueryParameter('thisIsHTA')) {
+                self.isHTA = true;
+            } else {
+                self.isHTA = false;
+            }
+        }
+        if ("0" == navigator.appMinorVersion) {
+            this.preSV1 = true;
+            if (navigator.appVersion.match(/MSIE 6.0/)) {
+            	this.appearsToBeBrokenInitialIE6 = true;
+            }
+        }
+        return;
+    }
+
+    if (navigator.userAgent.indexOf('Safari') != -1) {
+        this.browser = BrowserVersion.SAFARI;
+        this.isSafari = true;
+        this.khtml = true;
+        return;
+    }
+
+    if (navigator.userAgent.indexOf('Konqueror') != -1) {
+        this.browser = BrowserVersion.KONQUEROR;
+        this.isKonqueror = true;
+        this.khtml = true;
+        return;
+    }
+
+    if (navigator.userAgent.indexOf('Firefox') != -1) {
+        this.browser = BrowserVersion.FIREFOX;
+        this.isFirefox = true;
+        this.isGecko = true;
+        var result = /.*Firefox\/([\d\.]+).*/.exec(navigator.userAgent);
+        if (result) {
+            this.firefoxVersion = result[1];
+        }
+        checkChrome();
+        return;
+    }
+
+    if (navigator.userAgent.indexOf('Gecko') != -1) {
+        this.browser = BrowserVersion.MOZILLA;
+        this.isMozilla = true;
+        this.isGecko = true;
+        checkChrome();
+        return;
+    }
+
+    this.browser = BrowserVersion.UNKNOWN;
+}
+
+BrowserVersion.OPERA = "Opera";
+BrowserVersion.IE = "IE";
+BrowserVersion.KONQUEROR = "Konqueror";
+BrowserVersion.SAFARI = "Safari";
+BrowserVersion.FIREFOX = "Firefox";
+BrowserVersion.MOZILLA = "Mozilla";
+BrowserVersion.UNKNOWN = "Unknown";
+
+var browserVersion = new BrowserVersion();
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/injection_iframe.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/injection_iframe.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/injection_iframe.html	(revision 4307)
@@ -0,0 +1,7 @@
+<script language="JavaScript">
+    // Ideally I would avoid polluting the namespace by enclosing this snippet with
+    // curly braces, but I want to make it easy to look at what URL I used for anyone
+    // who is interested in looking into http://jira.openqa.org/browse/SRC-101:
+    var _sel_url_ = "http://" + location.host + "/selenium-server/core/scripts/injection.html";
+    document.write('<iframe name="selenium" width=0 height=0 id="selenium" src="' + _sel_url_ + '"></iframe>');
+</script> 
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/Blank.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/Blank.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/Blank.html	(revision 4307)
@@ -0,0 +1,8 @@
+<html>
+    <head>
+        <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
+    </head>
+<body>
+    <h3>selenium-rc initial page</h3>
+</body>
+</html>
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/domviewer/butplus.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/domviewer/butplus.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/htmlutils.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/htmlutils.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/htmlutils.js	(revision 4307)
@@ -0,0 +1,842 @@
+/*
+ * Copyright 2004 ThoughtWorks, Inc
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+// This script contains a badly-organised collection of miscellaneous
+// functions that really better homes.
+
+function classCreate() {
+    return function() {
+      this.initialize.apply(this, arguments);
+    }
+}
+
+function objectExtend(destination, source) {
+  for (var property in source) {
+    destination[property] = source[property];
+  }
+  return destination;
+}
+
+function $() {
+  var results = [], element;
+  for (var i = 0; i < arguments.length; i++) {
+    element = arguments[i];
+    if (typeof element == 'string')
+      element = document.getElementById(element);
+    results[results.length] = element;
+  }
+  return results.length < 2 ? results[0] : results;
+}
+
+function $A(iterable) {
+  if (!iterable) return [];
+  if (iterable.toArray) {
+    return iterable.toArray();
+  } else {
+    var results = [];
+    for (var i = 0; i < iterable.length; i++)
+      results.push(iterable[i]);
+    return results;
+  }
+}
+
+function fnBind() {
+  var args = $A(arguments), __method = args.shift(), object = args.shift();
+  var retval = function() {
+    return __method.apply(object, args.concat($A(arguments)));
+  }
+  retval.__method = __method;
+  return retval;
+}
+
+function fnBindAsEventListener(fn, object) {
+  var __method = fn;
+  return function(event) {
+    return __method.call(object, event || window.event);
+  }
+}
+
+function removeClassName(element, name) {
+    var re = new RegExp("\\b" + name + "\\b", "g");
+    element.className = element.className.replace(re, "");
+}
+
+function addClassName(element, name) {
+    element.className = element.className + ' ' + name;
+}
+
+function elementSetStyle(element, style) {
+    for (var name in style) {
+      var value = style[name];
+      if (value == null) value = "";
+      element.style[name] = value;
+    }
+}
+
+function elementGetStyle(element, style) {
+    var value = element.style[style];
+    if (!value) {
+      if (document.defaultView && document.defaultView.getComputedStyle) {
+        var css = document.defaultView.getComputedStyle(element, null);
+        value = css ? css.getPropertyValue(style) : null;
+      } else if (element.currentStyle) {
+        value = element.currentStyle[style];
+      }
+    }
+
+    /** DGF necessary? 
+    if (window.opera && ['left', 'top', 'right', 'bottom'].include(style))
+      if (Element.getStyle(element, 'position') == 'static') value = 'auto'; */
+
+    return value == 'auto' ? null : value;
+  }
+
+String.prototype.trim = function() {
+    var result = this.replace(/^\s+/g, "");
+    // strip leading
+    return result.replace(/\s+$/g, "");
+    // strip trailing
+};
+String.prototype.lcfirst = function() {
+    return this.charAt(0).toLowerCase() + this.substr(1);
+};
+String.prototype.ucfirst = function() {
+    return this.charAt(0).toUpperCase() + this.substr(1);
+};
+String.prototype.startsWith = function(str) {
+    return this.indexOf(str) == 0;
+};
+
+// Returns the text in this element
+function getText(element) {
+    var text = "";
+
+    var isRecentFirefox = (browserVersion.isFirefox && browserVersion.firefoxVersion >= "1.5");
+    if (isRecentFirefox || browserVersion.isKonqueror || browserVersion.isSafari || browserVersion.isOpera) {
+        text = getTextContent(element);
+    } else if (element.textContent) {
+        text = element.textContent;
+    } else if (element.innerText) {
+        text = element.innerText;
+    }
+
+    text = normalizeNewlines(text);
+    text = normalizeSpaces(text);
+
+    return text.trim();
+}
+
+function getTextContent(element, preformatted) {
+    if (element.nodeType == 3 /*Node.TEXT_NODE*/) {
+        var text = element.data;
+        if (!preformatted) {
+            text = text.replace(/\n|\r|\t/g, " ");
+        }
+        return text;
+    }
+    if (element.nodeType == 1 /*Node.ELEMENT_NODE*/) {
+        var childrenPreformatted = preformatted || (element.tagName == "PRE");
+        var text = "";
+        for (var i = 0; i < element.childNodes.length; i++) {
+            var child = element.childNodes.item(i);
+            text += getTextContent(child, childrenPreformatted);
+        }
+        // Handle block elements that introduce newlines
+        // -- From HTML spec:
+        //<!ENTITY % block
+        //     "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
+        //      BLOCKQUOTE | F:wORM | HR | TABLE | FIELDSET | ADDRESS">
+        //
+        // TODO: should potentially introduce multiple newlines to separate blocks
+        if (element.tagName == "P" || element.tagName == "BR" || element.tagName == "HR" || element.tagName == "DIV") {
+            text += "\n";
+        }
+        return text;
+    }
+    return '';
+}
+
+/**
+ * Convert all newlines to \m
+ */
+function normalizeNewlines(text)
+{
+    return text.replace(/\r\n|\r/g, "\n");
+}
+
+/**
+ * Replace multiple sequential spaces with a single space, and then convert &nbsp; to space.
+ */
+function normalizeSpaces(text)
+{
+    // IE has already done this conversion, so doing it again will remove multiple nbsp
+    if (browserVersion.isIE)
+    {
+        return text;
+    }
+
+    // Replace multiple spaces with a single space
+    // TODO - this shouldn't occur inside PRE elements
+    text = text.replace(/\ +/g, " ");
+
+    // Replace &nbsp; with a space
+    var nbspPattern = new RegExp(String.fromCharCode(160), "g");
+    if (browserVersion.isSafari) {
+	return replaceAll(text, String.fromCharCode(160), " ");
+    } else {
+	return text.replace(nbspPattern, " ");
+    }
+}
+
+function replaceAll(text, oldText, newText) {
+    while (text.indexOf(oldText) != -1) {
+	text = text.replace(oldText, newText);
+    }
+    return text;
+}
+
+
+function xmlDecode(text) {
+    text = text.replace(/&quot;/g, '"');
+    text = text.replace(/&apos;/g, "'");
+    text = text.replace(/&lt;/g, "<");
+    text = text.replace(/&gt;/g, ">");
+    text = text.replace(/&amp;/g, "&");
+    return text;
+}
+
+// Sets the text in this element
+function setText(element, text) {
+    if (element.textContent != null) {
+        element.textContent = text;
+    } else if (element.innerText != null) {
+        element.innerText = text;
+    }
+}
+
+// Get the value of an <input> element
+function getInputValue(inputElement) {
+    if (inputElement.type) {
+        if (inputElement.type.toUpperCase() == 'CHECKBOX' ||
+            inputElement.type.toUpperCase() == 'RADIO')
+        {
+            return (inputElement.checked ? 'on' : 'off');
+        }
+    }
+    if (inputElement.value == null) {
+        throw new SeleniumError("This element has no value; is it really a form field?");
+    }
+    return inputElement.value;
+}
+
+/* Fire an event in a browser-compatible manner */
+function triggerEvent(element, eventType, canBubble, controlKeyDown, altKeyDown, shiftKeyDown, metaKeyDown) {
+    canBubble = (typeof(canBubble) == undefined) ? true : canBubble;
+    if (element.fireEvent) {
+        var evt = createEventObject(element, controlKeyDown, altKeyDown, shiftKeyDown, metaKeyDown);        
+        element.fireEvent('on' + eventType, evt);
+    }
+    else {
+        var evt = document.createEvent('HTMLEvents');
+        
+        try {
+            evt.shiftKey = shiftKeyDown;
+            evt.metaKey = metaKeyDown;
+            evt.altKey = altKeyDown;
+            evt.ctrlKey = controlKeyDown;
+        } catch (e) {
+            // On Firefox 1.0, you can only set these during initMouseEvent or initKeyEvent
+            // we'll have to ignore them here
+            LOG.exception(e);
+        }
+        
+        evt.initEvent(eventType, canBubble, true);
+        element.dispatchEvent(evt);
+    }
+}
+
+function getKeyCodeFromKeySequence(keySequence) {
+    var match = /^\\(\d{1,3})$/.exec(keySequence);
+    if (match != null) {
+        return match[1];
+    }
+    match = /^.$/.exec(keySequence);
+    if (match != null) {
+        return match[0].charCodeAt(0);
+    }
+    // this is for backward compatibility with existing tests
+    // 1 digit ascii codes will break however because they are used for the digit chars
+    match = /^\d{2,3}$/.exec(keySequence);
+    if (match != null) {
+        return match[0];
+    }
+    throw new SeleniumError("invalid keySequence");
+}
+
+function createEventObject(element, controlKeyDown, altKeyDown, shiftKeyDown, metaKeyDown) {
+     var evt = element.ownerDocument.createEventObject();
+     evt.shiftKey = shiftKeyDown;
+     evt.metaKey = metaKeyDown;
+     evt.altKey = altKeyDown;
+     evt.ctrlKey = controlKeyDown;
+     return evt;
+}
+
+function triggerKeyEvent(element, eventType, keySequence, canBubble, controlKeyDown, altKeyDown, shiftKeyDown, metaKeyDown) {
+    var keycode = getKeyCodeFromKeySequence(keySequence);
+    canBubble = (typeof(canBubble) == undefined) ? true : canBubble;
+    if (element.fireEvent) {
+        var keyEvent = createEventObject(element, controlKeyDown, altKeyDown, shiftKeyDown, metaKeyDown);
+        keyEvent.keyCode = keycode;
+        element.fireEvent('on' + eventType, keyEvent);
+    }
+    else {
+        var evt;
+        if (window.KeyEvent) {
+            evt = document.createEvent('KeyEvents');
+            evt.initKeyEvent(eventType, true, true, window, controlKeyDown, altKeyDown, shiftKeyDown, metaKeyDown, keycode, keycode);
+        } else {
+            evt = document.createEvent('UIEvents');
+            
+            evt.shiftKey = shiftKeyDown;
+            evt.metaKey = metaKeyDown;
+            evt.altKey = altKeyDown;
+            evt.ctrlKey = controlKeyDown;
+
+            evt.initUIEvent(eventType, true, true, window, 1);
+            evt.keyCode = keycode;
+            evt.which = keycode;
+        }
+
+        element.dispatchEvent(evt);
+    }
+}
+
+function removeLoadListener(element, command) {
+    LOG.info('Removing loadListenter for ' + element + ', ' + command);
+    if (window.removeEventListener)
+        element.removeEventListener("load", command, true);
+    else if (window.detachEvent)
+        element.detachEvent("onload", command);
+}
+
+function addLoadListener(element, command) {
+    LOG.info('Adding loadListenter for ' + element + ', ' + command);
+    var augmentedCommand = function() {
+        command.call(this, element);
+    }
+    if (window.addEventListener && !browserVersion.isOpera)
+        element.addEventListener("load", augmentedCommand, true);
+    else if (window.attachEvent)
+        element.attachEvent("onload", augmentedCommand);
+}
+
+/**
+ * Override the broken getFunctionName() method from JsUnit
+ * This file must be loaded _after_ the jsunitCore.js
+ */
+function getFunctionName(aFunction) {
+    var regexpResult = aFunction.toString().match(/function (\w*)/);
+    if (regexpResult && regexpResult[1]) {
+        return regexpResult[1];
+    }
+    return 'anonymous';
+}
+
+function getDocumentBase(doc) {
+    var bases = document.getElementsByTagName("base");
+    if (bases && bases.length && bases[0].href) {
+        return bases[0].href;
+    }
+    return "";
+}
+
+function getTagName(element) {
+    var tagName;
+    if (element && element.tagName && element.tagName.toLowerCase) {
+        tagName = element.tagName.toLowerCase();
+    }
+    return tagName;
+}
+
+function absolutify(url, baseUrl) {
+    /** returns a relative url in its absolute form, given by baseUrl.
+    * 
+    * This function is a little odd, because it can take baseUrls that
+    * aren't necessarily directories.  It uses the same rules as the HTML 
+    * &lt;base&gt; tag; if the baseUrl doesn't end with "/", we'll assume
+    * that it points to a file, and strip the filename off to find its
+    * base directory.
+    *
+    * So absolutify("foo", "http://x/bar") will return "http://x/foo" (stripping off bar),
+    * whereas absolutify("foo", "http://x/bar/") will return "http://x/bar/foo" (preserving bar).
+    * Naturally absolutify("foo", "http://x") will return "http://x/foo", appropriately.
+    * 
+    * @param url the url to make absolute; if this url is already absolute, we'll just return that, unchanged
+    * @param baseUrl the baseUrl from which we'll absolutify, following the rules above.
+    * @return 'url' if it was already absolute, or the absolutized version of url if it was not absolute.
+    */
+    
+    // DGF isn't there some library we could use for this?
+        
+    if (/^\w+:/.test(url)) {
+        // it's already absolute
+        return url;
+    }
+    
+    var loc;
+    try {
+        loc = parseUrl(baseUrl);
+    } catch (e) {
+        // is it an absolute windows file path? let's play the hero in that case
+        if (/^\w:\\/.test(baseUrl)) {
+            baseUrl = "file:///" + baseUrl.replace(/\\/g, "/");
+            loc = parseUrl(baseUrl);
+        } else {
+            throw new SeleniumError("baseUrl wasn't absolute: " + baseUrl);
+        }
+    }
+    loc.search = null;
+    loc.hash = null;
+    
+    // if url begins with /, then that's the whole pathname
+    if (/^\//.test(url)) {
+        loc.pathname = url;
+        var result = reassembleLocation(loc);
+        return result;
+    }
+    
+    // if pathname is null, then we'll just append "/" + the url
+    if (!loc.pathname) {
+        loc.pathname = "/" + url;
+        var result = reassembleLocation(loc);
+        return result;
+    }
+    
+    // if pathname ends with /, just append url
+    if (/\/$/.test(loc.pathname)) {
+        loc.pathname += url;
+        var result = reassembleLocation(loc);
+        return result;
+    }
+    
+    // if we're here, then the baseUrl has a pathname, but it doesn't end with /
+    // in that case, we replace everything after the final / with the relative url
+    loc.pathname = loc.pathname.replace(/[^\/\\]+$/, url);
+    var result = reassembleLocation(loc);
+    return result;
+    
+}
+
+var URL_REGEX = /^((\w+):\/\/)(([^:]+):?([^@]+)?@)?([^\/\?:]*):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(.+)?/;
+
+function parseUrl(url) {
+    var fields = ['url', null, 'protocol', null, 'username', 'password', 'host', 'port', 'pathname', 'search', 'hash'];
+    var result = URL_REGEX.exec(url);
+    if (!result) {
+        throw new SeleniumError("Invalid URL: " + url);
+    }
+    var loc = new Object();
+    for (var i = 0; i < fields.length; i++) {
+        var field = fields[i];
+        if (field == null) {
+            continue;
+        }
+        loc[field] = result[i];
+    }
+    return loc;
+}
+
+function reassembleLocation(loc) {
+    if (!loc.protocol) {
+        throw new Error("Not a valid location object: " + o2s(loc));
+    }
+    var protocol = loc.protocol;
+    protocol = protocol.replace(/:$/, "");
+    var url = protocol + "://";
+    if (loc.username) {
+        url += loc.username;
+        if (loc.password) {
+            url += ":" + loc.password;
+        }
+        url += "@";
+    }
+    if (loc.host) {
+        url += loc.host;
+    }
+    
+    if (loc.port) {
+        url += ":" + loc.port;
+    }
+    
+    if (loc.pathname) {
+        url += loc.pathname;
+    }
+    
+    if (loc.search) {
+        url += "?" + loc.search;
+    }
+    if (loc.hash) {
+        var hash = loc.hash;
+        hash = loc.hash.replace(/^#/, "");
+        url += "#" + hash;
+    }
+    return url;
+}
+
+function canonicalize(url) {
+    var tempLink = window.document.createElement("link");
+    tempLink.href = url; // this will canonicalize the href
+    return tempLink.href;
+}
+
+function extractExceptionMessage(ex) {
+    if (ex == null) return "null exception";
+    if (ex.message != null) return ex.message;
+    if (ex.toString && ex.toString() != null) return ex.toString();
+}
+    
+
+function describe(object, delimiter) {
+    var props = new Array();
+    for (var prop in object) {
+        try {
+            props.push(prop + " -> " + object[prop]);
+        } catch (e) {
+            props.push(prop + " -> [htmlutils: ack! couldn't read this property! (Permission Denied?)]");
+        }
+    }
+    return props.join(delimiter || '\n');
+}
+
+var PatternMatcher = function(pattern) {
+    this.selectStrategy(pattern);
+};
+PatternMatcher.prototype = {
+
+    selectStrategy: function(pattern) {
+        this.pattern = pattern;
+        var strategyName = 'glob';
+        // by default
+        if (/^([a-z-]+):(.*)/.test(pattern)) {
+            var possibleNewStrategyName = RegExp.$1;
+            var possibleNewPattern = RegExp.$2;
+            if (PatternMatcher.strategies[possibleNewStrategyName]) {
+                strategyName = possibleNewStrategyName;
+                pattern = possibleNewPattern;
+            }
+        }
+        var matchStrategy = PatternMatcher.strategies[strategyName];
+        if (!matchStrategy) {
+            throw new SeleniumError("cannot find PatternMatcher.strategies." + strategyName);
+        }
+        this.strategy = matchStrategy;
+        this.matcher = new matchStrategy(pattern);
+    },
+
+    matches: function(actual) {
+        return this.matcher.matches(actual + '');
+        // Note: appending an empty string avoids a Konqueror bug
+    }
+
+};
+
+/**
+ * A "static" convenience method for easy matching
+ */
+PatternMatcher.matches = function(pattern, actual) {
+    return new PatternMatcher(pattern).matches(actual);
+};
+
+PatternMatcher.strategies = {
+
+/**
+ * Exact matching, e.g. "exact:***"
+ */
+    exact: function(expected) {
+        this.expected = expected;
+        this.matches = function(actual) {
+            return actual == this.expected;
+        };
+    },
+
+/**
+ * Match by regular expression, e.g. "regexp:^[0-9]+$"
+ */
+    regexp: function(regexpString) {
+        this.regexp = new RegExp(regexpString);
+        this.matches = function(actual) {
+            return this.regexp.test(actual);
+        };
+    },
+
+    regex: function(regexpString) {
+        this.regexp = new RegExp(regexpString);
+        this.matches = function(actual) {
+            return this.regexp.test(actual);
+        };
+    },
+
+/**
+ * "globContains" (aka "wildmat") patterns, e.g. "glob:one,two,*",
+ * but don't require a perfect match; instead succeed if actual
+ * contains something that matches globString.
+ * Making this distinction is motivated by a bug in IE6 which
+ * leads to the browser hanging if we implement *TextPresent tests
+ * by just matching against a regular expression beginning and
+ * ending with ".*".  The globcontains strategy allows us to satisfy
+ * the functional needs of the *TextPresent ops more efficiently
+ * and so avoid running into this IE6 freeze.
+ */
+    globContains: function(globString) {
+        this.regexp = new RegExp(PatternMatcher.regexpFromGlobContains(globString));
+        this.matches = function(actual) {
+            return this.regexp.test(actual);
+        };
+    },
+
+
+/**
+ * "glob" (aka "wildmat") patterns, e.g. "glob:one,two,*"
+ */
+    glob: function(globString) {
+        this.regexp = new RegExp(PatternMatcher.regexpFromGlob(globString));
+        this.matches = function(actual) {
+            return this.regexp.test(actual);
+        };
+    }
+
+};
+
+PatternMatcher.convertGlobMetaCharsToRegexpMetaChars = function(glob) {
+    var re = glob;
+    re = re.replace(/([.^$+(){}\[\]\\|])/g, "\\$1");
+    re = re.replace(/\?/g, "(.|[\r\n])");
+    re = re.replace(/\*/g, "(.|[\r\n])*");
+    return re;
+};
+
+PatternMatcher.regexpFromGlobContains = function(globContains) {
+    return PatternMatcher.convertGlobMetaCharsToRegexpMetaChars(globContains);
+};
+
+PatternMatcher.regexpFromGlob = function(glob) {
+    return "^" + PatternMatcher.convertGlobMetaCharsToRegexpMetaChars(glob) + "$";
+};
+
+var Assert = {
+
+    fail: function(message) {
+        throw new AssertionFailedError(message);
+    },
+
+/*
+* Assert.equals(comment?, expected, actual)
+*/
+    equals: function() {
+        var args = new AssertionArguments(arguments);
+        if (args.expected === args.actual) {
+            return;
+        }
+        Assert.fail(args.comment +
+                    "Expected '" + args.expected +
+                    "' but was '" + args.actual + "'");
+    },
+
+/*
+* Assert.matches(comment?, pattern, actual)
+*/
+    matches: function() {
+        var args = new AssertionArguments(arguments);
+        if (PatternMatcher.matches(args.expected, args.actual)) {
+            return;
+        }
+        Assert.fail(args.comment +
+                    "Actual value '" + args.actual +
+                    "' did not match '" + args.expected + "'");
+    },
+
+/*
+* Assert.notMtches(comment?, pattern, actual)
+*/
+    notMatches: function() {
+        var args = new AssertionArguments(arguments);
+        if (!PatternMatcher.matches(args.expected, args.actual)) {
+            return;
+        }
+        Assert.fail(args.comment +
+                    "Actual value '" + args.actual +
+                    "' did match '" + args.expected + "'");
+    }
+
+};
+
+// Preprocess the arguments to allow for an optional comment.
+function AssertionArguments(args) {
+    if (args.length == 2) {
+        this.comment = "";
+        this.expected = args[0];
+        this.actual = args[1];
+    } else {
+        this.comment = args[0] + "; ";
+        this.expected = args[1];
+        this.actual = args[2];
+    }
+}
+
+function AssertionFailedError(message) {
+    this.isAssertionFailedError = true;
+    this.isSeleniumError = true;
+    this.message = message;
+    this.failureMessage = message;
+}
+
+function SeleniumError(message) {
+    var error = new Error(message);
+    error.isSeleniumError = true;
+    return error;
+}
+
+function highlight(element) {
+    var highLightColor = "yellow";
+    if (element.originalColor == undefined) { // avoid picking up highlight
+        element.originalColor = elementGetStyle(element, "background-color");
+    }
+    elementSetStyle(element, {"backgroundColor" : highLightColor});
+    window.setTimeout(function() {
+        try {
+            //if element is orphan, probably page of it has already gone, so ignore
+            if (!element.parentNode) {
+                return;
+            }
+            elementSetStyle(element, {"backgroundColor" : element.originalColor});
+        } catch (e) {} // DGF unhighlighting is very dangerous and low priority
+    }, 200);
+}
+
+
+
+// for use from vs.2003 debugger
+function o2s(obj) {
+    var s = "";
+    for (key in obj) {
+        var line = key + "->" + obj[key];
+        line.replace("\n", " ");
+        s += line + "\n";
+    }
+    return s;
+}
+
+var seenReadyStateWarning = false;
+
+function openSeparateApplicationWindow(url, suppressMozillaWarning) {
+    // resize the Selenium window itself
+    window.resizeTo(1200, 500);
+    window.moveTo(window.screenX, 0);
+
+    var appWindow = window.open(url + '?start=true', 'main');
+    try {
+        var windowHeight = 500;
+        if (window.outerHeight) {
+            windowHeight = window.outerHeight;
+        } else if (document.documentElement && document.documentElement.offsetHeight) {
+            windowHeight = document.documentElement.offsetHeight;
+        }
+
+        if (window.screenLeft && !window.screenX) window.screenX = window.screenLeft;
+        if (window.screenTop && !window.screenY) window.screenY = window.screenTop;
+
+        appWindow.resizeTo(1200, screen.availHeight - windowHeight - 60);
+        appWindow.moveTo(window.screenX, window.screenY + windowHeight + 25);
+    } catch (e) {
+        LOG.error("Couldn't resize app window");
+        LOG.exception(e);
+    }
+
+
+    if (!suppressMozillaWarning && window.document.readyState == null && !seenReadyStateWarning) {
+        alert("Beware!  Mozilla bug 300992 means that we can't always reliably detect when a new page has loaded.  Install the Selenium IDE extension or the readyState extension available from selenium.openqa.org to make page load detection more reliable.");
+        seenReadyStateWarning = true;
+    }
+
+    return appWindow;
+}
+
+var URLConfiguration = classCreate();
+objectExtend(URLConfiguration.prototype, {
+    initialize: function() {
+    },
+    _isQueryParameterTrue: function (name) {
+        var parameterValue = this._getQueryParameter(name);
+        if (parameterValue == null) return false;
+        if (parameterValue.toLowerCase() == "true") return true;
+        if (parameterValue.toLowerCase() == "on") return true;
+        return false;
+    },
+
+    _getQueryParameter: function(searchKey) {
+        var str = this.queryString
+        if (str == null) return null;
+        var clauses = str.split('&');
+        for (var i = 0; i < clauses.length; i++) {
+            var keyValuePair = clauses[i].split('=', 2);
+            var key = unescape(keyValuePair[0]);
+            if (key == searchKey) {
+                return unescape(keyValuePair[1]);
+            }
+        }
+        return null;
+    },
+
+    _extractArgs: function() {
+        var str = SeleniumHTARunner.commandLine;
+        if (str == null || str == "") return new Array();
+        var matches = str.match(/(?:\"([^\"]+)\"|(?!\"([^\"]+)\")(\S+))/g);
+        // We either want non quote stuff ([^"]+) surrounded by quotes
+        // or we want to look-ahead, see that the next character isn't
+        // a quoted argument, and then grab all the non-space stuff
+        // this will return for the line: "foo" bar
+        // the results "\"foo\"" and "bar"
+
+        // So, let's unquote the quoted arguments:
+        var args = new Array;
+        for (var i = 0; i < matches.length; i++) {
+            args[i] = matches[i];
+            args[i] = args[i].replace(/^"(.*)"$/, "$1");
+        }
+        return args;
+    },
+
+    isMultiWindowMode:function() {
+        return this._isQueryParameterTrue('multiWindow');
+    },
+    
+    getBaseUrl:function() {
+        return this._getQueryParameter('baseUrl');
+            
+    }
+});
+
+
+function safeScrollIntoView(element) {
+    if (element.scrollIntoView) {
+        element.scrollIntoView(false);
+        return;
+    }
+    // TODO: work out how to scroll browsers that don't support
+    // scrollIntoView (like Konqueror)
+}
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-testrunner.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-testrunner.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-testrunner.js	(revision 4307)
@@ -0,0 +1,1281 @@
+/*
+* Copyright 2004 ThoughtWorks, Inc
+*
+*  Licensed under the Apache License, Version 2.0 (the "License");
+*  you may not use this file except in compliance with the License.
+*  You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing, software
+*  distributed under the License is distributed on an "AS IS" BASIS,
+*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*  See the License for the specific language governing permissions and
+*  limitations under the License.
+*
+*/
+
+// An object representing the current test, used external
+var currentTest = null; // TODO: get rid of this global, which mirrors the htmlTestRunner.currentTest
+var selenium = null;
+
+var htmlTestRunner;
+var HtmlTestRunner = classCreate();
+objectExtend(HtmlTestRunner.prototype, {
+    initialize: function() {
+        this.metrics = new Metrics();
+        this.controlPanel = new HtmlTestRunnerControlPanel();
+        this.testFailed = false;
+        this.currentTest = null;
+        this.runAllTests = false;
+        this.appWindow = null;
+        // we use a timeout here to make sure the LOG has loaded first, so we can see _every_ error
+        setTimeout(fnBind(function() {
+            this.loadSuiteFrame();
+        }, this), 500);
+    },
+
+    getTestSuite: function() {
+        return suiteFrame.getCurrentTestSuite();
+    },
+
+    markFailed: function() {
+        this.testFailed = true;
+        this.getTestSuite().markFailed();
+    },
+
+    loadSuiteFrame: function() {
+        if (selenium == null) {
+            var appWindow = this._getApplicationWindow();
+            try { appWindow.location; }
+            catch (e) { 
+                // when reloading, we may be pointing at an old window (Perm Denied)
+                setTimeout(fnBind(function() {
+                    this.loadSuiteFrame();
+                }, this), 50);
+                return;
+            }
+            selenium = Selenium.createForWindow(appWindow);
+            this._registerCommandHandlers();
+        }
+        this.controlPanel.setHighlightOption();
+        var testSuiteName = this.controlPanel.getTestSuiteName();
+        var self = this;
+        if (testSuiteName) {
+            suiteFrame.load(testSuiteName, function() {setTimeout(fnBind(self._onloadTestSuite, self), 50)} );
+            selenium.browserbot.baseUrl = absolutify(testSuiteName, window.location.href);
+        }
+        // DGF or should we use the old default?
+        // selenium.browserbot.baseUrl = window.location.href;
+        if (this.controlPanel.getBaseUrl()) {
+            selenium.browserbot.baseUrl = this.controlPanel.getBaseUrl();
+        }
+    },
+
+    _getApplicationWindow: function () {
+        if (this.controlPanel.isMultiWindowMode()) {
+            return this._getSeparateApplicationWindow();
+        }
+        return $('myiframe').contentWindow;
+    },
+
+    _getSeparateApplicationWindow: function () {
+        if (this.appWindow == null) {
+            this.appWindow = openSeparateApplicationWindow('TestRunner-splash.html', this.controlPanel.isAutomatedRun());
+        }
+        return this.appWindow;
+    },
+
+    _onloadTestSuite:function () {
+        if (! this.getTestSuite().isAvailable()) {
+            return;
+        }
+        if (this.controlPanel.isAutomatedRun()) {
+            this.startTestSuite();
+        } else if (this.controlPanel.getAutoUrl()) {
+            //todo what is the autourl doing, left to check it out
+            addLoadListener(this._getApplicationWindow(), fnBind(this._startSingleTest, this));
+            this._getApplicationWindow().src = this.controlPanel.getAutoUrl();
+        } else {
+            this.getTestSuite().getSuiteRows()[0].loadTestCase();
+        }
+    },
+
+    _startSingleTest:function () {
+        removeLoadListener(getApplicationWindow(), fnBind(this._startSingleTest, this));
+        var singleTestName = this.controlPanel.getSingleTestName();
+        testFrame.load(singleTestName, fnBind(this.startTest, this));
+    },
+
+    _registerCommandHandlers: function () {
+        this.commandFactory = new CommandHandlerFactory();
+        this.commandFactory.registerAll(selenium);
+    },
+
+    startTestSuite: function() {
+        this.controlPanel.reset();
+        this.metrics.resetMetrics();
+        this.getTestSuite().reset();
+        this.runAllTests = true;
+        this.runNextTest();
+    },
+
+    runNextTest: function () {
+        this.getTestSuite().updateSuiteWithResultOfPreviousTest();
+        if (!this.runAllTests) {
+            return;
+        }
+        this.getTestSuite().runNextTestInSuite();
+    },
+
+    startTest: function () {
+        this.controlPanel.reset();
+        testFrame.scrollToTop();
+        //todo: move testFailed and storedVars to TestCase
+        this.testFailed = false;
+        storedVars = new Object();
+        this.currentTest = new HtmlRunnerTestLoop(testFrame.getCurrentTestCase(), this.metrics, this.commandFactory);
+        currentTest = this.currentTest;
+        this.currentTest.start();
+    },
+
+    runSingleTest:function() {
+        this.runAllTests = false;
+        this.metrics.resetMetrics();
+        this.startTest();
+    }
+});
+
+var runInterval = 0;
+
+/** SeleniumFrame encapsulates an iframe element */
+var SeleniumFrame = classCreate();
+objectExtend(SeleniumFrame.prototype, {
+
+    initialize : function(frame) {
+        this.frame = frame;
+        addLoadListener(this.frame, fnBind(this._handleLoad, this));
+    },
+
+    getDocument : function() {
+        return this.frame.contentWindow.document;
+    },
+
+    _handleLoad: function() {
+        this._attachStylesheet();
+        this._onLoad();
+        if (this.loadCallback) {
+            this.loadCallback();
+            this.loadCallback = null;
+        }
+    },
+
+    _attachStylesheet: function() {
+        var d = this.getDocument();
+        var head = d.getElementsByTagName('head').item(0);
+        var styleLink = d.createElement("link");
+        styleLink.rel = "stylesheet";
+        styleLink.type = "text/css";
+        if (browserVersion && browserVersion.isChrome) {
+            // DGF We have to play a clever trick to get the right absolute path.
+            // This trick works on most browsers, (not IE), but is only needed in
+            // chrome
+            var tempLink = window.document.createElement("link");
+            tempLink.href = "selenium-test.css"; // this will become an absolute href
+            styleLink.href = tempLink.href;
+        } else {
+            // this works in every browser (except Firefox in chrome mode)
+            var styleSheetPath = window.location.pathname.replace(/[^\/\\]+$/, "selenium-test.css");
+            if (browserVersion.isIE && window.location.protocol == "file:") {
+                styleSheetPath = "file://" + styleSheetPath;
+            }
+            styleLink.href = styleSheetPath;
+        }
+        head.appendChild(styleLink);
+    },
+
+    _onLoad: function() {
+    },
+
+    scrollToTop : function() {
+        this.frame.contentWindow.scrollTo(0, 0);
+    },
+
+    _setLocation: function(location) {
+        var isChrome = browserVersion.isChrome || false;
+        var isHTA = browserVersion.isHTA || false;
+        // DGF TODO multiWindow
+        location += "?thisIsChrome=" + isChrome + "&thisIsHTA=" + isHTA;
+        if (browserVersion.isSafari) {
+            // safari doesn't reload the page when the location equals to current location.
+            // hence, set the location to blank so that the page will reload automatically.
+            this.frame.src = "about:blank";
+            this.frame.src = location;
+        } else {
+            this.frame.contentWindow.location.replace(location);
+        }
+    },
+
+    load: function(/* url, [callback] */) {
+        if (arguments.length > 1) {
+            this.loadCallback = arguments[1];
+
+        }
+        this._setLocation(arguments[0]);
+    }
+
+});
+
+/** HtmlTestSuiteFrame - encapsulates the suite iframe element */
+var HtmlTestSuiteFrame = classCreate();
+objectExtend(HtmlTestSuiteFrame.prototype, SeleniumFrame.prototype);
+objectExtend(HtmlTestSuiteFrame.prototype, {
+
+    getCurrentTestSuite: function() {
+        if (!this.currentTestSuite) {
+            this.currentTestSuite = new HtmlTestSuite(this.getDocument());
+        }
+        return this.currentTestSuite;
+    }
+
+});
+
+/** HtmlTestFrame - encapsulates the test-case iframe element */
+var HtmlTestFrame = classCreate();
+objectExtend(HtmlTestFrame.prototype, SeleniumFrame.prototype);
+objectExtend(HtmlTestFrame.prototype, {
+
+    _onLoad: function() {
+        this.currentTestCase = new HtmlTestCase(this.getDocument(), htmlTestRunner.getTestSuite().getCurrentRow());
+    },
+
+    getCurrentTestCase: function() {
+        return this.currentTestCase;
+    }
+
+});
+
+function onSeleniumLoad() {
+    suiteFrame = new HtmlTestSuiteFrame(getSuiteFrame());
+    testFrame = new HtmlTestFrame(getTestFrame());
+    htmlTestRunner = new HtmlTestRunner();
+}
+
+var suiteFrame;
+var testFrame;
+
+function getSuiteFrame() {
+    var f = $('testSuiteFrame');
+    if (f == null) {
+        f = top;
+        // proxyInjection mode does not set myiframe
+    }
+    return f;
+}
+
+function getTestFrame() {
+    var f = $('testFrame');
+    if (f == null) {
+        f = top;
+        // proxyInjection mode does not set myiframe
+    }
+    return f;
+}
+
+var HtmlTestRunnerControlPanel = classCreate();
+objectExtend(HtmlTestRunnerControlPanel.prototype, URLConfiguration.prototype);
+objectExtend(HtmlTestRunnerControlPanel.prototype, {
+    initialize: function() {
+        this._acquireQueryString();
+
+        this.runInterval = 0;
+
+        this.highlightOption = $('highlightOption');
+        this.pauseButton = $('pauseTest');
+        this.stepButton = $('stepTest');
+
+        this.highlightOption.onclick = fnBindAsEventListener((function() {
+            this.setHighlightOption();
+        }), this);
+        this.pauseButton.onclick = fnBindAsEventListener(this.pauseCurrentTest, this);
+        this.stepButton.onclick = fnBindAsEventListener(this.stepCurrentTest, this);
+
+
+        this.speedController = new Control.Slider('speedHandle', 'speedTrack', {
+            range: $R(0, 1000),
+            onSlide: fnBindAsEventListener(this.setRunInterval, this),
+            onChange: fnBindAsEventListener(this.setRunInterval, this)
+        });
+
+        this._parseQueryParameter();
+    },
+
+    setHighlightOption: function () {
+        var isHighlight = this.highlightOption.checked;
+        selenium.browserbot.setShouldHighlightElement(isHighlight);
+    },
+
+    _parseQueryParameter: function() {
+        var tempRunInterval = this._getQueryParameter("runInterval");
+        if (tempRunInterval) {
+            this.setRunInterval(tempRunInterval);
+        }
+        this.highlightOption.checked = this._getQueryParameter("highlight");
+    },
+
+    setRunInterval: function(runInterval) {
+        this.runInterval = runInterval;
+    },
+
+    setToPauseAtNextCommand: function() {
+        this.runInterval = -1;
+    },
+
+    pauseCurrentTest: function () {
+        this.setToPauseAtNextCommand();
+        this._switchPauseButtonToContinue();
+    },
+
+    continueCurrentTest: function () {
+        this.reset();
+        currentTest.resume();
+    },
+
+    reset: function() {
+        // this.runInterval = this.speedController.value;
+        this._switchContinueButtonToPause();
+    },
+
+    _switchContinueButtonToPause: function() {
+        this.pauseButton.className = "cssPauseTest";
+        this.pauseButton.onclick = fnBindAsEventListener(this.pauseCurrentTest, this);
+    },
+
+    _switchPauseButtonToContinue: function() {
+        $('stepTest').disabled = false;
+        this.pauseButton.className = "cssContinueTest";
+        this.pauseButton.onclick = fnBindAsEventListener(this.continueCurrentTest, this);
+    },
+
+    stepCurrentTest: function () {
+        this.setToPauseAtNextCommand();
+        currentTest.resume();
+    },
+
+    isAutomatedRun: function() {
+        return this._isQueryParameterTrue("auto");
+    },
+
+    shouldSaveResultsToFile: function() {
+        return this._isQueryParameterTrue("save");
+    },
+
+    closeAfterTests: function() {
+        return this._isQueryParameterTrue("close");
+    },
+
+    getTestSuiteName: function() {
+        return this._getQueryParameter("test");
+    },
+
+    getSingleTestName: function() {
+        return this._getQueryParameter("singletest");
+    },
+
+    getAutoUrl: function() {
+        return this._getQueryParameter("autoURL");
+    },
+
+    getResultsUrl: function() {
+        return this._getQueryParameter("resultsUrl");
+    },
+
+    _acquireQueryString: function() {
+        if (this.queryString) return;
+        if (browserVersion.isHTA) {
+            var args = this._extractArgs();
+            if (args.length < 2) return null;
+            this.queryString = args[1];
+        } else {
+            this.queryString = location.search.substr(1);
+        }
+    }
+
+});
+
+var AbstractResultAwareRow = classCreate();
+objectExtend(AbstractResultAwareRow.prototype, {
+
+    initialize: function(trElement) {
+        this.trElement = trElement;
+    },
+
+    setStatus: function(status) {
+        this.unselect();
+        this.trElement.className = this.trElement.className.replace(/status_[a-z]+/, "");
+        if (status) {
+            addClassName(this.trElement, "status_" + status);
+        }
+    },
+
+    select: function() {
+        addClassName(this.trElement, "selected");
+        safeScrollIntoView(this.trElement);
+    },
+
+    unselect: function() {
+        removeClassName(this.trElement, "selected");
+    },
+
+    markPassed: function() {
+        this.setStatus("passed");
+    },
+
+    markDone: function() {
+        this.setStatus("done");
+    },
+
+    markFailed: function() {
+        this.setStatus("failed");
+    }
+
+});
+
+var TitleRow = classCreate();
+objectExtend(TitleRow.prototype, AbstractResultAwareRow.prototype);
+objectExtend(TitleRow.prototype, {
+
+    initialize: function(trElement) {
+        this.trElement = trElement;
+        trElement.className = "title";
+    }
+
+});
+
+var HtmlTestCaseRow = classCreate();
+objectExtend(HtmlTestCaseRow.prototype, AbstractResultAwareRow.prototype);
+objectExtend(HtmlTestCaseRow.prototype, {
+
+    getCommand: function () {
+        return new SeleniumCommand(getText(this.trElement.cells[0]),
+                getText(this.trElement.cells[1]),
+                getText(this.trElement.cells[2]),
+                this.isBreakpoint());
+    },
+
+    markFailed: function(errorMsg) {
+        AbstractResultAwareRow.prototype.markFailed.call(this, errorMsg);
+        this.setMessage(errorMsg);
+    },
+
+    setMessage: function(message) {
+        setText(this.trElement.cells[2], message);
+    },
+
+    reset: function() {
+        this.setStatus(null);
+        var thirdCell = this.trElement.cells[2];
+        if (thirdCell) {
+            if (thirdCell.originalHTML) {
+                thirdCell.innerHTML = thirdCell.originalHTML;
+            } else {
+                thirdCell.originalHTML = thirdCell.innerHTML;
+            }
+        }
+    },
+
+    onClick: function() {
+        if (this.trElement.isBreakpoint == undefined) {
+            this.trElement.isBreakpoint = true;
+            addClassName(this.trElement, "breakpoint");
+        } else {
+            this.trElement.isBreakpoint = undefined;
+            removeClassName(this.trElement, "breakpoint");
+        }
+    },
+
+    addBreakpointSupport: function() {
+        elementSetStyle(this.trElement, {"cursor" : "pointer"});
+        this.trElement.onclick = fnBindAsEventListener(function() {
+            this.onClick();
+        }, this);
+    },
+
+    isBreakpoint: function() {
+        if (this.trElement.isBreakpoint == undefined || this.trElement.isBreakpoint == null) {
+            return false
+        }
+        return this.trElement.isBreakpoint;
+    }
+});
+
+var HtmlTestSuiteRow = classCreate();
+objectExtend(HtmlTestSuiteRow.prototype, AbstractResultAwareRow.prototype);
+objectExtend(HtmlTestSuiteRow.prototype, {
+
+    initialize: function(trElement, testFrame, htmlTestSuite) {
+        this.trElement = trElement;
+        this.testFrame = testFrame;
+        this.htmlTestSuite = htmlTestSuite;
+        this.link = trElement.getElementsByTagName("a")[0];
+        this.link.onclick = fnBindAsEventListener(this._onClick, this);
+    },
+
+    reset: function() {
+        this.setStatus(null);
+    },
+
+    _onClick: function() {
+        this.loadTestCase(null);
+        return false;
+    },
+
+    loadTestCase: function(onloadFunction) {
+        this.htmlTestSuite.unselectCurrentRow();
+        this.select();
+        this.htmlTestSuite.currentRowInSuite = this.trElement.rowIndex - 1;
+        // If the row has a stored results table, use that
+        var resultsFromPreviousRun = this.trElement.cells[1];
+        if (resultsFromPreviousRun) {
+            // todo: delegate to TestFrame, e.g.
+            //   this.testFrame.restoreTestCase(resultsFromPreviousRun.innerHTML);
+            var testBody = this.testFrame.getDocument().body;
+            testBody.innerHTML = resultsFromPreviousRun.innerHTML;
+            this.testFrame._onLoad();
+            if (onloadFunction) {
+                onloadFunction();
+            }
+        } else {
+            this.testFrame.load(this.link.href, onloadFunction);
+        }
+    },
+
+    saveTestResults: function() {
+        // todo: GLOBAL ACCESS!
+        var resultHTML = this.testFrame.getDocument().body.innerHTML;
+        if (!resultHTML) return;
+
+        // todo: why create this div?
+        var divElement = this.trElement.ownerDocument.createElement("div");
+        divElement.innerHTML = resultHTML;
+
+        var hiddenCell = this.trElement.ownerDocument.createElement("td");
+        hiddenCell.appendChild(divElement);
+        hiddenCell.style.display = "none";
+
+        this.trElement.appendChild(hiddenCell);
+    }
+
+});
+
+var HtmlTestSuite = classCreate();
+objectExtend(HtmlTestSuite.prototype, {
+
+    initialize: function(suiteDocument) {
+        this.suiteDocument = suiteDocument;
+        this.suiteRows = this._collectSuiteRows();
+        this.titleRow = new TitleRow(this.getTestTable().rows[0]);
+        this.reset();
+    },
+
+    reset: function() {
+        this.failed = false;
+        this.currentRowInSuite = -1;
+        this.titleRow.setStatus(null);
+        for (var i = 0; i < this.suiteRows.length; i++) {
+            var row = this.suiteRows[i];
+            row.reset();
+        }
+    },
+
+    getSuiteRows: function() {
+        return this.suiteRows;
+    },
+
+    getTestTable: function() {
+        var tables = $A(this.suiteDocument.getElementsByTagName("table"));
+        return tables[0];
+    },
+
+    isAvailable: function() {
+        return this.getTestTable() != null;
+    },
+
+    _collectSuiteRows: function () {
+        var result = [];
+        var tables = $A(this.suiteDocument.getElementsByTagName("table"));
+        var testTable = tables[0];
+        for (rowNum = 1; rowNum < testTable.rows.length; rowNum++) {
+            var rowElement = testTable.rows[rowNum];
+            result.push(new HtmlTestSuiteRow(rowElement, testFrame, this));
+        }
+        
+        // process the unsuited rows as well
+        for (var tableNum = 1; tableNum < $A(this.suiteDocument.getElementsByTagName("table")).length; tableNum++) {
+            testTable = tables[tableNum];
+            for (rowNum = 1; rowNum < testTable.rows.length; rowNum++) {
+                var rowElement = testTable.rows[rowNum];
+                new HtmlTestSuiteRow(rowElement, testFrame, this);
+            }
+        }
+        return result;
+    },
+
+    getCurrentRow: function() {
+        if (this.currentRowInSuite == -1) {
+            return null;
+        }
+        return this.suiteRows[this.currentRowInSuite];
+    },
+
+    unselectCurrentRow: function() {
+        var currentRow = this.getCurrentRow()
+        if (currentRow) {
+            currentRow.unselect();
+        }
+    },
+
+    markFailed: function() {
+        this.failed = true;
+        this.titleRow.markFailed();
+    },
+
+    markDone: function() {
+        if (!this.failed) {
+            this.titleRow.markPassed();
+        }
+    },
+
+    _startCurrentTestCase: function() {
+        this.getCurrentRow().loadTestCase(fnBind(htmlTestRunner.startTest, htmlTestRunner));
+    },
+
+    _onTestSuiteComplete: function() {
+        this.markDone();
+        new TestResult(this.failed, this.getTestTable()).post();
+    },
+
+    updateSuiteWithResultOfPreviousTest: function() {
+        if (this.currentRowInSuite >= 0) {
+            this.getCurrentRow().saveTestResults();
+        }
+    },
+
+    runNextTestInSuite: function() {
+        this.currentRowInSuite++;
+
+        // If we are done with all of the tests, set the title bar as pass or fail
+        if (this.currentRowInSuite >= this.suiteRows.length) {
+            this._onTestSuiteComplete();
+        } else {
+            this._startCurrentTestCase();
+        }
+    }
+
+
+
+});
+
+var TestResult = classCreate();
+objectExtend(TestResult.prototype, {
+
+// Post the results to a servlet, CGI-script, etc.  The URL of the
+// results-handler defaults to "/postResults", but an alternative location
+// can be specified by providing a "resultsUrl" query parameter.
+//
+// Parameters passed to the results-handler are:
+//      result:         passed/failed depending on whether the suite passed or failed
+//      totalTime:      the total running time in seconds for the suite.
+//
+//      numTestPasses:  the total number of tests which passed.
+//      numTestFailures: the total number of tests which failed.
+//
+//      numCommandPasses: the total number of commands which passed.
+//      numCommandFailures: the total number of commands which failed.
+//      numCommandErrors: the total number of commands which errored.
+//
+//      suite:      the suite table, including the hidden column of test results
+//      testTable.1 to testTable.N: the individual test tables
+//
+    initialize: function (suiteFailed, suiteTable) {
+        this.controlPanel = htmlTestRunner.controlPanel;
+        this.metrics = htmlTestRunner.metrics;
+        this.suiteFailed = suiteFailed;
+        this.suiteTable = suiteTable;
+    },
+
+    post: function () {
+        if (!this.controlPanel.isAutomatedRun()) {
+            return;
+        }
+        var form = document.createElement("form");
+        document.body.appendChild(form);
+
+        form.id = "resultsForm";
+        form.method = "post";
+        form.target = "myiframe";
+
+        var resultsUrl = this.controlPanel.getResultsUrl();
+        if (!resultsUrl) {
+            resultsUrl = "./postResults";
+        }
+
+        var actionAndParameters = resultsUrl.split('?', 2);
+        form.action = actionAndParameters[0];
+        var resultsUrlQueryString = actionAndParameters[1];
+
+        form.createHiddenField = function(name, value) {
+            input = document.createElement("input");
+            input.type = "hidden";
+            input.name = name;
+            input.value = value;
+            this.appendChild(input);
+        };
+
+        if (resultsUrlQueryString) {
+            var clauses = resultsUrlQueryString.split('&');
+            for (var i = 0; i < clauses.length; i++) {
+                var keyValuePair = clauses[i].split('=', 2);
+                var key = unescape(keyValuePair[0]);
+                var value = unescape(keyValuePair[1]);
+                form.createHiddenField(key, value);
+            }
+        }
+
+        form.createHiddenField("selenium.version", Selenium.version);
+        form.createHiddenField("selenium.revision", Selenium.revision);
+
+        form.createHiddenField("result", this.suiteFailed ? "failed" : "passed");
+
+        form.createHiddenField("totalTime", Math.floor((this.metrics.currentTime - this.metrics.startTime) / 1000));
+        form.createHiddenField("numTestPasses", this.metrics.numTestPasses);
+        form.createHiddenField("numTestFailures", this.metrics.numTestFailures);
+        form.createHiddenField("numCommandPasses", this.metrics.numCommandPasses);
+        form.createHiddenField("numCommandFailures", this.metrics.numCommandFailures);
+        form.createHiddenField("numCommandErrors", this.metrics.numCommandErrors);
+
+        // Create an input for each test table.  The inputs are named
+        // testTable.1, testTable.2, etc.
+        for (rowNum = 1; rowNum < this.suiteTable.rows.length; rowNum++) {
+            // If there is a second column, then add a new input
+            if (this.suiteTable.rows[rowNum].cells.length > 1) {
+                var resultCell = this.suiteTable.rows[rowNum].cells[1];
+                form.createHiddenField("testTable." + rowNum, resultCell.innerHTML);
+                // remove the resultCell, so it's not included in the suite HTML
+                resultCell.parentNode.removeChild(resultCell);
+            }
+        }
+
+        form.createHiddenField("numTestTotal", rowNum);
+
+        // Add HTML for the suite itself
+        form.createHiddenField("suite", this.suiteTable.parentNode.innerHTML);
+
+        if (this.controlPanel.shouldSaveResultsToFile()) {
+            this._saveToFile(resultsUrl, form);
+        } else {
+            form.submit();
+        }
+        document.body.removeChild(form);
+        if (this.controlPanel.closeAfterTests()) {
+            window.top.close();
+        }
+    },
+
+    _saveToFile: function (fileName, form) {
+        // This only works when run as an IE HTA
+        var inputs = new Object();
+        for (var i = 0; i < form.elements.length; i++) {
+            inputs[form.elements[i].name] = form.elements[i].value;
+        }
+        var objFSO = new ActiveXObject("Scripting.FileSystemObject")
+        var scriptFile = objFSO.CreateTextFile(fileName);
+        scriptFile.WriteLine("<html><body>\n<h1>Test suite results </h1>" +
+                             "\n\n<table>\n<tr>\n<td>result:</td>\n<td>" + inputs["result"] + "</td>\n" +
+                             "</tr>\n<tr>\n<td>totalTime:</td>\n<td>" + inputs["totalTime"] + "</td>\n</tr>\n" +
+                             "<tr>\n<td>numTestPasses:</td>\n<td>" + inputs["numTestPasses"] + "</td>\n</tr>\n" +
+                             "<tr>\n<td>numTestFailures:</td>\n<td>" + inputs["numTestFailures"] + "</td>\n</tr>\n" +
+                             "<tr>\n<td>numCommandPasses:</td>\n<td>" + inputs["numCommandPasses"] + "</td>\n</tr>\n" +
+                             "<tr>\n<td>numCommandFailures:</td>\n<td>" + inputs["numCommandFailures"] + "</td>\n</tr>\n" +
+                             "<tr>\n<td>numCommandErrors:</td>\n<td>" + inputs["numCommandErrors"] + "</td>\n</tr>\n" +
+                             "<tr>\n<td>" + inputs["suite"] + "</td>\n<td>&nbsp;</td>\n</tr>");
+        var testNum = inputs["numTestTotal"];
+        for (var rowNum = 1; rowNum < testNum; rowNum++) {
+            scriptFile.WriteLine("<tr>\n<td>" + inputs["testTable." + rowNum] + "</td>\n<td>&nbsp;</td>\n</tr>");
+        }
+        scriptFile.WriteLine("</table></body></html>");
+        scriptFile.Close();
+    }
+});
+
+/** HtmlTestCase encapsulates an HTML test document */
+var HtmlTestCase = classCreate();
+objectExtend(HtmlTestCase.prototype, {
+
+    initialize: function(testDocument, htmlTestSuiteRow) {
+        if (testDocument == null) {
+            throw "testDocument should not be null";
+        }
+        if (htmlTestSuiteRow == null) {
+            throw "htmlTestSuiteRow should not be null";
+        }
+        this.testDocument = testDocument;
+        this.htmlTestSuiteRow = htmlTestSuiteRow;
+        this.headerRow = new TitleRow(this.testDocument.getElementsByTagName("tr")[0]);
+        this.commandRows = this._collectCommandRows();
+        this.nextCommandRowIndex = 0;
+        this._addBreakpointSupport();
+    },
+
+    _collectCommandRows: function () {
+        var commandRows = [];
+        var tables = $A(this.testDocument.getElementsByTagName("table"));
+        var self = this;
+        for (var i = 0; i < tables.length; i++) {
+            var table = tables[i];
+            var tableRows = $A(table.rows);
+            for (var j = 0; j < tableRows.length; j++) {
+                var candidateRow = tableRows[j];
+                if (self.isCommandRow(candidateRow)) {
+                    commandRows.push(new HtmlTestCaseRow(candidateRow));
+                }
+            }
+        }
+        return commandRows;
+    },
+
+    isCommandRow:  function (row) {
+        return row.cells.length >= 3;
+    },
+
+    reset: function() {
+        /**
+         * reset the test to runnable state
+         */
+        this.nextCommandRowIndex = 0;
+
+        this.setStatus('');
+        for (var i = 0; i < this.commandRows.length; i++) {
+            var row = this.commandRows[i];
+            row.reset();
+        }
+
+        // remove any additional fake "error" row added to the end of the document
+        var errorElement = this.testDocument.getElementById('error');
+        if (errorElement) {
+            errorElement.parentNode.removeChild(errorElement);
+        }
+    },
+
+    getCommandRows: function () {
+        return this.commandRows;
+    },
+
+    setStatus: function(status) {
+        this.headerRow.setStatus(status);
+    },
+
+    markFailed: function() {
+        this.setStatus("failed");
+        this.htmlTestSuiteRow.markFailed();
+    },
+
+    markPassed: function() {
+        this.setStatus("passed");
+        this.htmlTestSuiteRow.markPassed();
+    },
+
+    addErrorMessage: function(errorMsg, currentRow) {
+        errorMsg = errorMsg.replace(/ /g, String.fromCharCode(160)).replace("\n", '\\n');
+        if (currentRow) {
+            currentRow.markFailed(errorMsg);
+        } else {
+            var errorElement = this.testDocument.createElement("p");
+            errorElement.id = "error";
+            setText(errorElement, errorMsg);
+            this.testDocument.body.appendChild(errorElement);
+            errorElement.className = "status_failed";
+        }
+    },
+
+    _addBreakpointSupport: function() {
+        for (var i = 0; i < this.commandRows.length; i++) {
+            var row = this.commandRows[i];
+            row.addBreakpointSupport();
+        }
+    },
+
+    hasMoreCommandRows: function() {
+        return this.nextCommandRowIndex < this.commandRows.length;
+    },
+
+    getNextCommandRow: function() {
+        if (this.hasMoreCommandRows()) {
+            return this.commandRows[this.nextCommandRowIndex++];
+        }
+        return null;
+    }
+
+});
+
+
+// TODO: split out an JavascriptTestCase class to handle the "sejs" stuff
+
+var get_new_rows = function() {
+    var row_array = new Array();
+    for (var i = 0; i < new_block.length; i++) {
+
+        var new_source = (new_block[i][0].tokenizer.source.slice(new_block[i][0].start,
+                new_block[i][0].end));
+
+        var row = '<td style="display:none;" class="js">getEval</td>' +
+                  '<td style="display:none;">currentTest.doNextCommand()</td>' +
+                  '<td style="white-space: pre;">' + new_source + '</td>' +
+                  '<td></td>'
+
+        row_array.push(row);
+    }
+    return row_array;
+};
+
+
+var Metrics = classCreate();
+objectExtend(Metrics.prototype, {
+    initialize: function() {
+        // The number of tests run
+        this.numTestPasses = 0;
+        // The number of tests that have failed
+        this.numTestFailures = 0;
+        // The number of commands which have passed
+        this.numCommandPasses = 0;
+        // The number of commands which have failed
+        this.numCommandFailures = 0;
+        // The number of commands which have caused errors (element not found)
+        this.numCommandErrors = 0;
+        // The time that the test was started.
+        this.startTime = null;
+        // The current time.
+        this.currentTime = null;
+    },
+
+    printMetrics: function() {
+        setText($('commandPasses'), this.numCommandPasses);
+        setText($('commandFailures'), this.numCommandFailures);
+        setText($('commandErrors'), this.numCommandErrors);
+        setText($('testRuns'), this.numTestPasses + this.numTestFailures);
+        setText($('testFailures'), this.numTestFailures);
+
+        this.currentTime = new Date().getTime();
+
+        var timeDiff = this.currentTime - this.startTime;
+        var totalSecs = Math.floor(timeDiff / 1000);
+
+        var minutes = Math.floor(totalSecs / 60);
+        var seconds = totalSecs % 60;
+
+        setText($('elapsedTime'), this._pad(minutes) + ":" + this._pad(seconds));
+    },
+
+// Puts a leading 0 on num if it is less than 10
+    _pad: function(num) {
+        return (num > 9) ? num : "0" + num;
+    },
+
+    resetMetrics: function() {
+        this.numTestPasses = 0;
+        this.numTestFailures = 0;
+        this.numCommandPasses = 0;
+        this.numCommandFailures = 0;
+        this.numCommandErrors = 0;
+        this.startTime = new Date().getTime();
+    }
+
+});
+
+var HtmlRunnerCommandFactory = classCreate();
+objectExtend(HtmlRunnerCommandFactory.prototype, {
+
+    initialize: function(seleniumCommandFactory, testLoop) {
+        this.seleniumCommandFactory = seleniumCommandFactory;
+        this.testLoop = testLoop;
+        this.handlers = {};
+        //todo: register commands
+    },
+
+    getCommandHandler: function(command) {
+        if (this.handlers[command]) {
+            return this.handlers[command];
+        }
+        return this.seleniumCommandFactory.getCommandHandler(command);
+    }
+
+});
+
+var HtmlRunnerTestLoop = classCreate();
+objectExtend(HtmlRunnerTestLoop.prototype, new TestLoop());
+objectExtend(HtmlRunnerTestLoop.prototype, {
+    initialize: function(htmlTestCase, metrics, seleniumCommandFactory) {
+
+        this.commandFactory = new HtmlRunnerCommandFactory(seleniumCommandFactory, this);
+        this.metrics = metrics;
+
+        this.htmlTestCase = htmlTestCase;
+
+        se = selenium;
+        global.se = selenium;
+
+        this.currentRow = null;
+        this.currentRowIndex = 0;
+
+        // used for selenium tests in javascript
+        this.currentItem = null;
+        this.commandAgenda = new Array();
+        this.expectedFailure = null;
+        this.expectedFailureType = null;
+
+        this.htmlTestCase.reset();
+
+        this.sejsElement = this.htmlTestCase.testDocument.getElementById('sejs');
+        if (this.sejsElement) {
+            var fname = 'Selenium JavaScript';
+            parse_result = parse(this.sejsElement.innerHTML, fname, 0);
+
+            var x2 = new ExecutionContext(GLOBAL_CODE);
+            ExecutionContext.current = x2;
+
+            execute(parse_result, x2)
+        }
+    },
+
+    _advanceToNextRow: function() {
+        if (this.htmlTestCase.hasMoreCommandRows()) {
+            this.currentRow = this.htmlTestCase.getNextCommandRow();
+            if (this.sejsElement) {
+                this.currentItem = agenda.pop();
+                this.currentRowIndex++;
+            }
+        } else {
+            this.currentRow = null;
+            this.currentItem = null;
+        }
+    },
+
+    nextCommand : function() {
+        this._advanceToNextRow();
+        if (this.currentRow == null) {
+            return null;
+        }
+        return this.currentRow.getCommand();
+    },
+
+    commandStarted : function() {
+        $('pauseTest').disabled = false;
+        this.currentRow.select();
+        this.metrics.printMetrics();
+    },
+
+    commandComplete : function(result) {
+        this._checkExpectedFailure(result);
+        if (result.failed) {
+            this.metrics.numCommandFailures += 1;
+            this._recordFailure(result.failureMessage);
+        } else if (result.passed) {
+            this.metrics.numCommandPasses += 1;
+            this.currentRow.markPassed();
+        } else {
+            this.currentRow.markDone();
+        }
+    },
+
+    _checkExpectedFailure : function(result) {
+        if (this.expectedFailure != null) {
+            if (this.expectedFailureJustSet) {
+                this.expectedFailureJustSet = false;
+                return;
+            }
+            if (!result.failed) {
+                result.passed = false;
+                result.failed = true;
+                result.failureMessage = "Expected " + this.expectedFailureType + " did not occur.";
+            } else {
+                if (PatternMatcher.matches(this.expectedFailure, result.failureMessage)) {
+                    var failureType = result.error ? "error" : "failure";
+                    if (failureType == this.expectedFailureType) {
+                        result.failed = false;
+                        result.passed = true;
+                    } else {
+                        result.failed = true;
+                        result.failureMessage = "Expected "+this.expectedFailureType+", but "+failureType+" occurred instead";
+                    }
+                } else {
+                    result.failed = true;
+                    result.failureMessage = "Expected " + this.expectedFailureType + " message '" + this.expectedFailure
+                                            + "' but was '" + result.failureMessage + "'";
+                }
+            }
+            this.expectedFailure = null;
+            this.expectedFailureType = null;
+        }
+    },
+
+    commandError : function(errorMessage) {
+        var tempResult = {};
+        tempResult.passed = false;
+        tempResult.failed = true;
+        tempResult.error = true;
+        tempResult.failureMessage = errorMessage;
+        this._checkExpectedFailure(tempResult);
+        if (tempResult.passed) {
+            this.currentRow.markDone();
+            return true;
+        }
+        errorMessage = tempResult.failureMessage;
+        this.metrics.numCommandErrors += 1;
+        this._recordFailure(errorMessage);
+    },
+
+    _recordFailure : function(errorMsg) {
+        LOG.warn("currentTest.recordFailure: " + errorMsg);
+        htmlTestRunner.markFailed();
+        this.htmlTestCase.addErrorMessage(errorMsg, this.currentRow);
+    },
+
+    testComplete : function() {
+        $('pauseTest').disabled = true;
+        $('stepTest').disabled = true;
+        if (htmlTestRunner.testFailed) {
+            this.htmlTestCase.markFailed();
+            this.metrics.numTestFailures += 1;
+        } else {
+            this.htmlTestCase.markPassed();
+            this.metrics.numTestPasses += 1;
+        }
+
+        this.metrics.printMetrics();
+
+        window.setTimeout(function() {
+            htmlTestRunner.runNextTest();
+        }, 1);
+    },
+
+    getCommandInterval : function() {
+        return htmlTestRunner.controlPanel.runInterval;
+    },
+
+    pause : function() {
+        htmlTestRunner.controlPanel.pauseCurrentTest();
+    },
+
+    doNextCommand: function() {
+        var _n = this.currentItem[0];
+        var _x = this.currentItem[1];
+
+        new_block = new Array()
+        execute(_n, _x);
+        if (new_block.length > 0) {
+            var the_table = this.htmlTestCase.testDocument.getElementById("se-js-table")
+            var loc = this.currentRowIndex
+            var new_rows = get_new_rows()
+
+            // make the new statements visible on screen...
+            for (var i = 0; i < new_rows.length; i++) {
+                the_table.insertRow(loc + 1);
+                the_table.rows[loc + 1].innerHTML = new_rows[i];
+                this.commandRows.unshift(the_table.rows[loc + 1])
+            }
+
+        }
+    }
+
+});
+
+Selenium.prototype.doPause = function(waitTime) {
+    /** Wait for the specified amount of time (in milliseconds)
+     * @param waitTime the amount of time to sleep (in milliseconds)
+     */
+    // todo: should not refer to currentTest directly
+    currentTest.pauseInterval = waitTime;
+};
+
+Selenium.prototype.doBreak = function() {
+    /** Halt the currently running test, and wait for the user to press the Continue button.
+     * This command is useful for debugging, but be careful when using it, because it will
+     * force automated tests to hang until a user intervenes manually.
+     */
+    // todo: should not refer to controlPanel directly
+    htmlTestRunner.controlPanel.setToPauseAtNextCommand();
+};
+
+Selenium.prototype.doStore = function(expression, variableName) {
+    /** This command is a synonym for storeExpression.
+     * @param expression the value to store
+     * @param variableName the name of a <a href="#storedVars">variable</a> in which the result is to be stored.
+     */
+    storedVars[variableName] = expression;
+}
+
+/*
+ * Click on the located element, and attach a callback to notify
+ * when the page is reloaded.
+ */
+// DGF TODO this code has been broken for some time... what is it trying to accomplish?
+Selenium.prototype.XXXdoModalDialogTest = function(returnValue) {
+    this.browserbot.doModalDialogTest(returnValue);
+};
+
+Selenium.prototype.doEcho = function(message) {
+    /** Prints the specified message into the third table cell in your Selenese tables.
+     * Useful for debugging.
+     * @param message the message to print
+     */
+    currentTest.currentRow.setMessage(message);
+}
+
+Selenium.prototype.assertSelected = function(selectLocator, optionLocator) {
+    /**
+     * Verifies that the selected option of a drop-down satisfies the optionSpecifier.  <i>Note that this command is deprecated; you should use assertSelectedLabel, assertSelectedValue, assertSelectedIndex, or assertSelectedId instead.</i>
+     *
+     * <p>See the select command for more information about option locators.</p>
+     *
+     * @param selectLocator an <a href="#locators">element locator</a> identifying a drop-down menu
+     * @param optionLocator an option locator, typically just an option label (e.g. "John Smith")
+     */
+    var element = this.page().findElement(selectLocator);
+    var locator = this.optionLocatorFactory.fromLocatorString(optionLocator);
+    if (element.selectedIndex == -1)
+    {
+        Assert.fail("No option selected");
+    }
+    locator.assertSelected(element);
+};
+
+Selenium.prototype.assertFailureOnNext = function(message) {
+    /**
+     * Tell Selenium to expect a failure on the next command execution. 
+     * @param message The failure message we should expect.  This command will fail if the wrong failure message appears.
+     */
+    if (!message) {
+        throw new SeleniumError("Message must be provided");
+    }
+
+    currentTest.expectedFailure = message;
+    currentTest.expectedFailureType = "failure";
+    currentTest.expectedFailureJustSet = true;
+};
+
+Selenium.prototype.assertErrorOnNext = function(message) {
+    /**
+     * Tell Selenium to expect an error on the next command execution. 
+     * @param message The error message we should expect.  This command will fail if the wrong error message appears.
+     */
+     // This command temporarily installs a CommandFactory that generates
+     // CommandHandlers that expect an error.
+    if (!message) {
+        throw new SeleniumError("Message must be provided");
+    }
+
+    currentTest.expectedFailure = message;
+    currentTest.expectedFailureType = "error";
+    currentTest.expectedFailureJustSet = true;
+};
+
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/narcissus-defs.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/narcissus-defs.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/narcissus-defs.js	(revision 4307)
@@ -0,0 +1,175 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is the Narcissus JavaScript engine.
+ *
+ * The Initial Developer of the Original Code is
+ * Brendan Eich <brendan@mozilla.org>.
+ * Portions created by the Initial Developer are Copyright (C) 2004
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+/*
+ * Narcissus - JS implemented in JS.
+ *
+ * Well-known constants and lookup tables.  Many consts are generated from the
+ * tokens table via eval to minimize redundancy, so consumers must be compiled
+ * separately to take advantage of the simple switch-case constant propagation
+ * done by SpiderMonkey.
+ */
+
+// jrh
+//module('JS.Defs');
+
+GLOBAL = this;
+
+var tokens = [
+    // End of source.
+    "END",
+
+    // Operators and punctuators.  Some pair-wise order matters, e.g. (+, -)
+    // and (UNARY_PLUS, UNARY_MINUS).
+    "\n", ";",
+    ",",
+    "=",
+    "?", ":", "CONDITIONAL",
+    "||",
+    "&&",
+    "|",
+    "^",
+    "&",
+    "==", "!=", "===", "!==",
+    "<", "<=", ">=", ">",
+    "<<", ">>", ">>>",
+    "+", "-",
+    "*", "/", "%",
+    "!", "~", "UNARY_PLUS", "UNARY_MINUS",
+    "++", "--",
+    ".",
+    "[", "]",
+    "{", "}",
+    "(", ")",
+
+    // Nonterminal tree node type codes.
+    "SCRIPT", "BLOCK", "LABEL", "FOR_IN", "CALL", "NEW_WITH_ARGS", "INDEX",
+    "ARRAY_INIT", "OBJECT_INIT", "PROPERTY_INIT", "GETTER", "SETTER",
+    "GROUP", "LIST",
+
+    // Terminals.
+    "IDENTIFIER", "NUMBER", "STRING", "REGEXP",
+
+    // Keywords.
+    "break",
+    "case", "catch", "const", "continue",
+    "debugger", "default", "delete", "do",
+    "else", "enum",
+    "false", "finally", "for", "function",
+    "if", "in", "instanceof",
+    "new", "null",
+    "return",
+    "switch",
+    "this", "throw", "true", "try", "typeof",
+    "var", "void",
+    "while", "with",
+    // Extensions
+    "require", "bless", "mixin", "import"
+];
+
+// Operator and punctuator mapping from token to tree node type name.
+// NB: superstring tokens (e.g., ++) must come before their substring token
+// counterparts (+ in the example), so that the opRegExp regular expression
+// synthesized from this list makes the longest possible match.
+var opTypeNames = {
+    '\n':   "NEWLINE",
+    ';':    "SEMICOLON",
+    ',':    "COMMA",
+    '?':    "HOOK",
+    ':':    "COLON",
+    '||':   "OR",
+    '&&':   "AND",
+    '|':    "BITWISE_OR",
+    '^':    "BITWISE_XOR",
+    '&':    "BITWISE_AND",
+    '===':  "STRICT_EQ",
+    '==':   "EQ",
+    '=':    "ASSIGN",
+    '!==':  "STRICT_NE",
+    '!=':   "NE",
+    '<<':   "LSH",
+    '<=':   "LE",
+    '<':    "LT",
+    '>>>':  "URSH",
+    '>>':   "RSH",
+    '>=':   "GE",
+    '>':    "GT",
+    '++':   "INCREMENT",
+    '--':   "DECREMENT",
+    '+':    "PLUS",
+    '-':    "MINUS",
+    '*':    "MUL",
+    '/':    "DIV",
+    '%':    "MOD",
+    '!':    "NOT",
+    '~':    "BITWISE_NOT",
+    '.':    "DOT",
+    '[':    "LEFT_BRACKET",
+    ']':    "RIGHT_BRACKET",
+    '{':    "LEFT_CURLY",
+    '}':    "RIGHT_CURLY",
+    '(':    "LEFT_PAREN",
+    ')':    "RIGHT_PAREN"
+};
+
+// Hash of keyword identifier to tokens index.  NB: we must null __proto__ to
+// avoid toString, etc. namespace pollution.
+var keywords = {__proto__: null};
+
+// Define const END, etc., based on the token names.  Also map name to index.
+var consts = " ";
+for (var i = 0, j = tokens.length; i < j; i++) {
+    if (i > 0)
+        consts += "; ";
+    var t = tokens[i];
+    if (/^[a-z]/.test(t)) {
+        consts += t.toUpperCase();
+        keywords[t] = i;
+    } else {
+        consts += (/^\W/.test(t) ? opTypeNames[t] : t);
+    }
+    consts += " = " + i;
+    tokens[t] = i;
+}
+eval(consts + ";");
+
+// Map assignment operators to their indexes in the tokens array.
+var assignOps = ['|', '^', '&', '<<', '>>', '>>>', '+', '-', '*', '/', '%'];
+
+for (i = 0, j = assignOps.length; i < j; i++) {
+    t = assignOps[i];
+    assignOps[t] = tokens[t];
+}
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/domviewer/selenium-domviewer.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/domviewer/selenium-domviewer.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/domviewer/selenium-domviewer.js	(revision 4307)
@@ -0,0 +1,205 @@
+var HIDDEN="hidden";
+var LEVEL = "level";
+var PLUS_SRC="butplus.gif";
+var MIN_SRC="butmin.gif";
+var newRoot;
+var maxColumns=1;
+
+function loadDomViewer() {
+    // See if the rootDocument variable has been set on this window.
+    var rootDocument = window.rootDocument;
+
+    // If not look to the opener for an explicity rootDocument variable, otherwise, use the opener document
+    if (!rootDocument && window.opener) {
+        rootDocument = window.opener.rootDocument || window.opener.document;
+    }
+
+    if (rootDocument) {
+        document.body.innerHTML = displayDOM(rootDocument);
+    }
+    else {
+        document.body.innerHTML = "<b>Must specify rootDocument for window. This can be done by setting the rootDocument variable on this window, or on the opener window for a popup window.</b>";
+    }
+}
+
+
+function displayDOM(root){
+    var str = "";
+    str+="<table>";
+    str += treeTraversal(root,0);
+    // to make table columns work well.
+    str += "<tr>";
+    for (var i=0; i < maxColumns; i++) {
+        str+= "<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>";
+    }
+    str += "</tr>";
+    str += "</table>";
+    return str;
+}
+
+function checkForChildren(element){
+    if(!element.hasChildNodes())
+        return false;
+    
+    var nodes = element.childNodes;
+    var size = nodes.length;
+    var count=0;
+    
+    for(var i=0; i< size; i++){
+        var node = nodes.item(i);
+        //if(node.toString()=="[object Text]"){
+        //this is equalent to the above
+        //but will work with more browsers
+        if(node.nodeType!=1){
+            count++;
+        }
+    }
+    
+    if(count == size)
+        return false;
+    else
+        return true;
+}
+
+function treeTraversal(root, level){
+    var str = "";
+    var nodes= null;
+    var size = null;
+    //it is supposed to show the last node, 
+    //but the last node is always nodeText type
+    //and we don't show it
+    if(!root.hasChildNodes())
+        return "";//displayNode(root,level,false);
+    
+    nodes = root.childNodes;
+    size = nodes.length;
+
+    for(var i=0; i< size; i++){
+        var element = nodes.item(i);
+        //if the node is textNode, don't display
+        if(element.nodeType==1){
+            str+= displayNode(element,level,checkForChildren(element));
+            str+=treeTraversal(element, level+1);	
+        }
+    }
+    return str;
+}
+
+function displayNode(element, level, isLink){
+    nodeContent = getNodeContent(element);
+    columns = Math.round((nodeContent.length / 12) + 0.5);
+    if (columns + level > maxColumns) {
+        maxColumns = columns + level;
+    }
+    var str ="<tr class='"+LEVEL+level+"'>";
+    for (var i=0; i < level; i++)
+        str+= "<td> </td>";
+    str+="<td colspan='"+ columns +"' class='box"+" boxlevel"+level+"' >";
+    if(isLink){
+        str+='<a onclick="hide(this);return false;" href="javascript:void();">';
+        str+='<img src="'+MIN_SRC+'" />';
+    }
+    str += nodeContent;
+    if(isLink)
+        str+="</a></td></tr>";
+    return str;
+}
+
+function getNodeContent(element) {
+
+    str = "";
+    id ="";
+    if (element.id != null && element.id != "") {
+        id = " ID(" + element.id +")";
+    }
+    name ="";
+    if (element.name != null && element.name != "") {
+        name = " NAME(" + element.name + ")";
+    }
+    value ="";
+    if (element.value != null && element.value != "") {
+        value = " VALUE(" + element.value + ")";
+    }
+    href ="";
+    if (element.href != null && element.href != "") {
+        href = " HREF(" + element.href + ")";
+    }
+    clazz = "";
+    if (element.className != null && element.className != "") {
+        clazz = " CLASS(" + element.className + ")";
+    }
+    src = "";
+    if (element.src != null && element.src != "") {
+        src = " SRC(" + element.src + ")";
+    }
+    alt = "";
+    if (element.alt != null && element.alt != "") {
+        alt = " ALT(" + element.alt + ")";
+    }
+    type = "";
+    if (element.type != null && element.type != "") {
+        type = " TYPE(" + element.type + ")";
+    }
+    text ="";
+    if (element.text != null && element.text != "" && element.text != "undefined") {
+        text = " #TEXT(" + trim(element.text) +")";
+    }
+    str+=" <b>"+ element.nodeName + id + alt + type + clazz + name + value + href + src + text + "</b>";
+    return str;
+
+}
+
+function trim(val) {
+    val2 = val.substring(0,40) + "                   ";
+    var spaceChr = String.fromCharCode(32);
+    var length = val2.length;
+    var retVal = "";
+    var ix = length -1;
+
+    while(ix > -1){
+        if(val2.charAt(ix) == spaceChr) {
+        } else {
+            retVal = val2.substring(0, ix +1);
+            break;
+        }
+        ix = ix-1;
+    }
+    if (val.length > 40) {
+        retVal += "...";
+    }
+    return retVal;
+}
+
+function hide(hlink){
+    var isHidden = false;
+    var image = hlink.firstChild;
+    if(image.src.toString().indexOf(MIN_SRC)!=-1){
+        image.src=PLUS_SRC;
+        isHidden=true;
+    }else{
+        image.src=MIN_SRC;
+    }
+    var rowObj= hlink.parentNode.parentNode;
+    var rowLevel = parseInt(rowObj.className.substring(LEVEL.length));
+	
+    var sibling = rowObj.nextSibling;
+    var siblingLevel = sibling.className.substring(LEVEL.length);
+    if(siblingLevel.indexOf(HIDDEN)!=-1){
+        siblingLevel = siblingLevel.substring(0,siblingLevel.length - HIDDEN.length-1);
+    }
+    siblingLevel=parseInt(siblingLevel);
+    while(sibling!=null && rowLevel<siblingLevel){
+        if(isHidden){
+            sibling.className += " "+ HIDDEN;
+        }else if(!isHidden && sibling.className.indexOf(HIDDEN)!=-1){
+            var str = sibling.className;
+            sibling.className=str.substring(0, str.length - HIDDEN.length-1);
+        }
+        sibling = sibling.nextSibling;
+        siblingLevel = parseInt(sibling.className.substring(LEVEL.length));
+    }
+}
+
+function LOG(message) {
+    window.opener.LOG.warn(message);
+}
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/prototype.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/prototype.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/prototype.js	(revision 4307)
@@ -0,0 +1,2006 @@
+/*  Prototype JavaScript framework, version 1.5.0_rc0
+ *  (c) 2005 Sam Stephenson <sam@conio.net>
+ *
+ *  Prototype is freely distributable under the terms of an MIT-style license.
+ *  For details, see the Prototype web site: http://prototype.conio.net/
+ *
+/*--------------------------------------------------------------------------*/
+
+var Prototype = {
+  Version: '1.5.0_rc0',
+  ScriptFragment: '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)',
+
+  emptyFunction: function() {},
+  K: function(x) {return x}
+}
+
+var Class = {
+  create: function() {
+    return function() {
+      this.initialize.apply(this, arguments);
+    }
+  }
+}
+
+var Abstract = new Object();
+
+Object.extend = function(destination, source) {
+  for (var property in source) {
+    destination[property] = source[property];
+  }
+  return destination;
+}
+
+Object.inspect = function(object) {
+  try {
+    if (object == undefined) return 'undefined';
+    if (object == null) return 'null';
+    return object.inspect ? object.inspect() : object.toString();
+  } catch (e) {
+    if (e instanceof RangeError) return '...';
+    throw e;
+  }
+}
+
+Function.prototype.bind = function() {
+  var __method = this, args = $A(arguments), object = args.shift();
+  return function() {
+    return __method.apply(object, args.concat($A(arguments)));
+  }
+}
+
+Function.prototype.bindAsEventListener = function(object) {
+  var __method = this;
+  return function(event) {
+    return __method.call(object, event || window.event);
+  }
+}
+
+Object.extend(Number.prototype, {
+  toColorPart: function() {
+    var digits = this.toString(16);
+    if (this < 16) return '0' + digits;
+    return digits;
+  },
+
+  succ: function() {
+    return this + 1;
+  },
+
+  times: function(iterator) {
+    $R(0, this, true).each(iterator);
+    return this;
+  }
+});
+
+var Try = {
+  these: function() {
+    var returnValue;
+
+    for (var i = 0; i < arguments.length; i++) {
+      var lambda = arguments[i];
+      try {
+        returnValue = lambda();
+        break;
+      } catch (e) {}
+    }
+
+    return returnValue;
+  }
+}
+
+/*--------------------------------------------------------------------------*/
+
+var PeriodicalExecuter = Class.create();
+PeriodicalExecuter.prototype = {
+  initialize: function(callback, frequency) {
+    this.callback = callback;
+    this.frequency = frequency;
+    this.currentlyExecuting = false;
+
+    this.registerCallback();
+  },
+
+  registerCallback: function() {
+    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
+  },
+
+  onTimerEvent: function() {
+    if (!this.currentlyExecuting) {
+      try {
+        this.currentlyExecuting = true;
+        this.callback();
+      } finally {
+        this.currentlyExecuting = false;
+      }
+    }
+  }
+}
+Object.extend(String.prototype, {
+  gsub: function(pattern, replacement) {
+    var result = '', source = this, match;
+    replacement = arguments.callee.prepareReplacement(replacement);
+
+    while (source.length > 0) {
+      if (match = source.match(pattern)) {
+        result += source.slice(0, match.index);
+        result += (replacement(match) || '').toString();
+        source  = source.slice(match.index + match[0].length);
+      } else {
+        result += source, source = '';
+      }
+    }
+    return result;
+  },
+
+  sub: function(pattern, replacement, count) {
+    replacement = this.gsub.prepareReplacement(replacement);
+    count = count === undefined ? 1 : count;
+
+    return this.gsub(pattern, function(match) {
+      if (--count < 0) return match[0];
+      return replacement(match);
+    });
+  },
+
+  scan: function(pattern, iterator) {
+    this.gsub(pattern, iterator);
+    return this;
+  },
+
+  truncate: function(length, truncation) {
+    length = length || 30;
+    truncation = truncation === undefined ? '...' : truncation;
+    return this.length > length ?
+      this.slice(0, length - truncation.length) + truncation : this;
+  },
+
+  strip: function() {
+    return this.replace(/^\s+/, '').replace(/\s+$/, '');
+  },
+
+  stripTags: function() {
+    return this.replace(/<\/?[^>]+>/gi, '');
+  },
+
+  stripScripts: function() {
+    return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
+  },
+
+  extractScripts: function() {
+    var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
+    var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
+    return (this.match(matchAll) || []).map(function(scriptTag) {
+      return (scriptTag.match(matchOne) || ['', ''])[1];
+    });
+  },
+
+  evalScripts: function() {
+    return this.extractScripts().map(function(script) { return eval(script) });
+  },
+
+  escapeHTML: function() {
+    var div = document.createElement('div');
+    var text = document.createTextNode(this);
+    div.appendChild(text);
+    return div.innerHTML;
+  },
+
+  unescapeHTML: function() {
+    var div = document.createElement('div');
+    div.innerHTML = this.stripTags();
+    return div.childNodes[0] ? div.childNodes[0].nodeValue : '';
+  },
+
+  toQueryParams: function() {
+    var pairs = this.match(/^\??(.*)$/)[1].split('&');
+    return pairs.inject({}, function(params, pairString) {
+      var pair = pairString.split('=');
+      params[pair[0]] = pair[1];
+      return params;
+    });
+  },
+
+  toArray: function() {
+    return this.split('');
+  },
+
+  camelize: function() {
+    var oStringList = this.split('-');
+    if (oStringList.length == 1) return oStringList[0];
+
+    var camelizedString = this.indexOf('-') == 0
+      ? oStringList[0].charAt(0).toUpperCase() + oStringList[0].substring(1)
+      : oStringList[0];
+
+    for (var i = 1, len = oStringList.length; i < len; i++) {
+      var s = oStringList[i];
+      camelizedString += s.charAt(0).toUpperCase() + s.substring(1);
+    }
+
+    return camelizedString;
+  },
+
+  inspect: function() {
+    return "'" + this.replace(/\\/g, '\\\\').replace(/'/g, '\\\'') + "'";
+  }
+});
+
+String.prototype.gsub.prepareReplacement = function(replacement) {
+  if (typeof replacement == 'function') return replacement;
+  var template = new Template(replacement);
+  return function(match) { return template.evaluate(match) };
+}
+
+String.prototype.parseQuery = String.prototype.toQueryParams;
+
+var Template = Class.create();
+Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/;
+Template.prototype = {
+  initialize: function(template, pattern) {
+    this.template = template.toString();
+    this.pattern  = pattern || Template.Pattern;
+  },
+
+  evaluate: function(object) {
+    return this.template.gsub(this.pattern, function(match) {
+      var before = match[1];
+      if (before == '\\') return match[2];
+      return before + (object[match[3]] || '').toString();
+    });
+  }
+}
+
+var $break    = new Object();
+var $continue = new Object();
+
+var Enumerable = {
+  each: function(iterator) {
+    var index = 0;
+    try {
+      this._each(function(value) {
+        try {
+          iterator(value, index++);
+        } catch (e) {
+          if (e != $continue) throw e;
+        }
+      });
+    } catch (e) {
+      if (e != $break) throw e;
+    }
+  },
+
+  all: function(iterator) {
+    var result = true;
+    this.each(function(value, index) {
+      result = result && !!(iterator || Prototype.K)(value, index);
+      if (!result) throw $break;
+    });
+    return result;
+  },
+
+  any: function(iterator) {
+    var result = true;
+    this.each(function(value, index) {
+      if (result = !!(iterator || Prototype.K)(value, index))
+        throw $break;
+    });
+    return result;
+  },
+
+  collect: function(iterator) {
+    var results = [];
+    this.each(function(value, index) {
+      results.push(iterator(value, index));
+    });
+    return results;
+  },
+
+  detect: function (iterator) {
+    var result;
+    this.each(function(value, index) {
+      if (iterator(value, index)) {
+        result = value;
+        throw $break;
+      }
+    });
+    return result;
+  },
+
+  findAll: function(iterator) {
+    var results = [];
+    this.each(function(value, index) {
+      if (iterator(value, index))
+        results.push(value);
+    });
+    return results;
+  },
+
+  grep: function(pattern, iterator) {
+    var results = [];
+    this.each(function(value, index) {
+      var stringValue = value.toString();
+      if (stringValue.match(pattern))
+        results.push((iterator || Prototype.K)(value, index));
+    })
+    return results;
+  },
+
+  include: function(object) {
+    var found = false;
+    this.each(function(value) {
+      if (value == object) {
+        found = true;
+        throw $break;
+      }
+    });
+    return found;
+  },
+
+  inject: function(memo, iterator) {
+    this.each(function(value, index) {
+      memo = iterator(memo, value, index);
+    });
+    return memo;
+  },
+
+  invoke: function(method) {
+    var args = $A(arguments).slice(1);
+    return this.collect(function(value) {
+      return value[method].apply(value, args);
+    });
+  },
+
+  max: function(iterator) {
+    var result;
+    this.each(function(value, index) {
+      value = (iterator || Prototype.K)(value, index);
+      if (result == undefined || value >= result)
+        result = value;
+    });
+    return result;
+  },
+
+  min: function(iterator) {
+    var result;
+    this.each(function(value, index) {
+      value = (iterator || Prototype.K)(value, index);
+      if (result == undefined || value < result)
+        result = value;
+    });
+    return result;
+  },
+
+  partition: function(iterator) {
+    var trues = [], falses = [];
+    this.each(function(value, index) {
+      ((iterator || Prototype.K)(value, index) ?
+        trues : falses).push(value);
+    });
+    return [trues, falses];
+  },
+
+  pluck: function(property) {
+    var results = [];
+    this.each(function(value, index) {
+      results.push(value[property]);
+    });
+    return results;
+  },
+
+  reject: function(iterator) {
+    var results = [];
+    this.each(function(value, index) {
+      if (!iterator(value, index))
+        results.push(value);
+    });
+    return results;
+  },
+
+  sortBy: function(iterator) {
+    return this.collect(function(value, index) {
+      return {value: value, criteria: iterator(value, index)};
+    }).sort(function(left, right) {
+      var a = left.criteria, b = right.criteria;
+      return a < b ? -1 : a > b ? 1 : 0;
+    }).pluck('value');
+  },
+
+  toArray: function() {
+    return this.collect(Prototype.K);
+  },
+
+  zip: function() {
+    var iterator = Prototype.K, args = $A(arguments);
+    if (typeof args.last() == 'function')
+      iterator = args.pop();
+
+    var collections = [this].concat(args).map($A);
+    return this.map(function(value, index) {
+      return iterator(collections.pluck(index));
+    });
+  },
+
+  inspect: function() {
+    return '#<Enumerable:' + this.toArray().inspect() + '>';
+  }
+}
+
+Object.extend(Enumerable, {
+  map:     Enumerable.collect,
+  find:    Enumerable.detect,
+  select:  Enumerable.findAll,
+  member:  Enumerable.include,
+  entries: Enumerable.toArray
+});
+var $A = Array.from = function(iterable) {
+  if (!iterable) return [];
+  if (iterable.toArray) {
+    return iterable.toArray();
+  } else {
+    var results = [];
+    for (var i = 0; i < iterable.length; i++)
+      results.push(iterable[i]);
+    return results;
+  }
+}
+
+Object.extend(Array.prototype, Enumerable);
+
+if (!Array.prototype._reverse)
+  Array.prototype._reverse = Array.prototype.reverse;
+
+Object.extend(Array.prototype, {
+  _each: function(iterator) {
+    for (var i = 0; i < this.length; i++)
+      iterator(this[i]);
+  },
+
+  clear: function() {
+    this.length = 0;
+    return this;
+  },
+
+  first: function() {
+    return this[0];
+  },
+
+  last: function() {
+    return this[this.length - 1];
+  },
+
+  compact: function() {
+    return this.select(function(value) {
+      return value != undefined || value != null;
+    });
+  },
+
+  flatten: function() {
+    return this.inject([], function(array, value) {
+      return array.concat(value && value.constructor == Array ?
+        value.flatten() : [value]);
+    });
+  },
+
+  without: function() {
+    var values = $A(arguments);
+    return this.select(function(value) {
+      return !values.include(value);
+    });
+  },
+
+  indexOf: function(object) {
+    for (var i = 0; i < this.length; i++)
+      if (this[i] == object) return i;
+    return -1;
+  },
+
+  reverse: function(inline) {
+    return (inline !== false ? this : this.toArray())._reverse();
+  },
+
+  inspect: function() {
+    return '[' + this.map(Object.inspect).join(', ') + ']';
+  }
+});
+var Hash = {
+  _each: function(iterator) {
+    for (var key in this) {
+      var value = this[key];
+      if (typeof value == 'function') continue;
+
+      var pair = [key, value];
+      pair.key = key;
+      pair.value = value;
+      iterator(pair);
+    }
+  },
+
+  keys: function() {
+    return this.pluck('key');
+  },
+
+  values: function() {
+    return this.pluck('value');
+  },
+
+  merge: function(hash) {
+    return $H(hash).inject($H(this), function(mergedHash, pair) {
+      mergedHash[pair.key] = pair.value;
+      return mergedHash;
+    });
+  },
+
+  toQueryString: function() {
+    return this.map(function(pair) {
+      return pair.map(encodeURIComponent).join('=');
+    }).join('&');
+  },
+
+  inspect: function() {
+    return '#<Hash:{' + this.map(function(pair) {
+      return pair.map(Object.inspect).join(': ');
+    }).join(', ') + '}>';
+  }
+}
+
+function $H(object) {
+  var hash = Object.extend({}, object || {});
+  Object.extend(hash, Enumerable);
+  Object.extend(hash, Hash);
+  return hash;
+}
+ObjectRange = Class.create();
+Object.extend(ObjectRange.prototype, Enumerable);
+Object.extend(ObjectRange.prototype, {
+  initialize: function(start, end, exclusive) {
+    this.start = start;
+    this.end = end;
+    this.exclusive = exclusive;
+  },
+
+  _each: function(iterator) {
+    var value = this.start;
+    do {
+      iterator(value);
+      value = value.succ();
+    } while (this.include(value));
+  },
+
+  include: function(value) {
+    if (value < this.start)
+      return false;
+    if (this.exclusive)
+      return value < this.end;
+    return value <= this.end;
+  }
+});
+
+var $R = function(start, end, exclusive) {
+  return new ObjectRange(start, end, exclusive);
+}
+
+var Ajax = {
+  getTransport: function() {
+    return Try.these(
+      function() {return new XMLHttpRequest()},
+      function() {return new ActiveXObject('Msxml2.XMLHTTP')},
+      function() {return new ActiveXObject('Microsoft.XMLHTTP')}
+    ) || false;
+  },
+
+  activeRequestCount: 0
+}
+
+Ajax.Responders = {
+  responders: [],
+
+  _each: function(iterator) {
+    this.responders._each(iterator);
+  },
+
+  register: function(responderToAdd) {
+    if (!this.include(responderToAdd))
+      this.responders.push(responderToAdd);
+  },
+
+  unregister: function(responderToRemove) {
+    this.responders = this.responders.without(responderToRemove);
+  },
+
+  dispatch: function(callback, request, transport, json) {
+    this.each(function(responder) {
+      if (responder[callback] && typeof responder[callback] == 'function') {
+        try {
+          responder[callback].apply(responder, [request, transport, json]);
+        } catch (e) {}
+      }
+    });
+  }
+};
+
+Object.extend(Ajax.Responders, Enumerable);
+
+Ajax.Responders.register({
+  onCreate: function() {
+    Ajax.activeRequestCount++;
+  },
+
+  onComplete: function() {
+    Ajax.activeRequestCount--;
+  }
+});
+
+Ajax.Base = function() {};
+Ajax.Base.prototype = {
+  setOptions: function(options) {
+    this.options = {
+      method:       'post',
+      asynchronous: true,
+      contentType:  'application/x-www-form-urlencoded',
+      parameters:   ''
+    }
+    Object.extend(this.options, options || {});
+  },
+
+  responseIsSuccess: function() {
+    return this.transport.status == undefined
+        || this.transport.status == 0
+        || (this.transport.status >= 200 && this.transport.status < 300);
+  },
+
+  responseIsFailure: function() {
+    return !this.responseIsSuccess();
+  }
+}
+
+Ajax.Request = Class.create();
+Ajax.Request.Events =
+  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];
+
+Ajax.Request.prototype = Object.extend(new Ajax.Base(), {
+  initialize: function(url, options) {
+    this.transport = Ajax.getTransport();
+    this.setOptions(options);
+    this.request(url);
+  },
+
+  request: function(url) {
+    var parameters = this.options.parameters || '';
+    if (parameters.length > 0) parameters += '&_=';
+
+    try {
+      this.url = url;
+      if (this.options.method == 'get' && parameters.length > 0)
+        this.url += (this.url.match(/\?/) ? '&' : '?') + parameters;
+
+      Ajax.Responders.dispatch('onCreate', this, this.transport);
+
+      this.transport.open(this.options.method, this.url,
+        this.options.asynchronous);
+
+      if (this.options.asynchronous) {
+        this.transport.onreadystatechange = this.onStateChange.bind(this);
+        setTimeout((function() {this.respondToReadyState(1)}).bind(this), 10);
+      }
+
+      this.setRequestHeaders();
+
+      var body = this.options.postBody ? this.options.postBody : parameters;
+      this.transport.send(this.options.method == 'post' ? body : null);
+
+    } catch (e) {
+      this.dispatchException(e);
+    }
+  },
+
+  setRequestHeaders: function() {
+    var requestHeaders =
+      ['X-Requested-With', 'XMLHttpRequest',
+       'X-Prototype-Version', Prototype.Version,
+       'Accept', 'text/javascript, text/html, application/xml, text/xml, */*'];
+
+    if (this.options.method == 'post') {
+      requestHeaders.push('Content-type', this.options.contentType);
+
+      /* Force "Connection: close" for Mozilla browsers to work around
+       * a bug where XMLHttpReqeuest sends an incorrect Content-length
+       * header. See Mozilla Bugzilla #246651.
+       */
+      if (this.transport.overrideMimeType)
+        requestHeaders.push('Connection', 'close');
+    }
+
+    if (this.options.requestHeaders)
+      requestHeaders.push.apply(requestHeaders, this.options.requestHeaders);
+
+    for (var i = 0; i < requestHeaders.length; i += 2)
+      this.transport.setRequestHeader(requestHeaders[i], requestHeaders[i+1]);
+  },
+
+  onStateChange: function() {
+    var readyState = this.transport.readyState;
+    if (readyState != 1)
+      this.respondToReadyState(this.transport.readyState);
+  },
+
+  header: function(name) {
+    try {
+      return this.transport.getResponseHeader(name);
+    } catch (e) {}
+  },
+
+  evalJSON: function() {
+    try {
+      return eval('(' + this.header('X-JSON') + ')');
+    } catch (e) {}
+  },
+
+  evalResponse: function() {
+    try {
+      return eval(this.transport.responseText);
+    } catch (e) {
+      this.dispatchException(e);
+    }
+  },
+
+  respondToReadyState: function(readyState) {
+    var event = Ajax.Request.Events[readyState];
+    var transport = this.transport, json = this.evalJSON();
+
+    if (event == 'Complete') {
+      try {
+        (this.options['on' + this.transport.status]
+         || this.options['on' + (this.responseIsSuccess() ? 'Success' : 'Failure')]
+         || Prototype.emptyFunction)(transport, json);
+      } catch (e) {
+        this.dispatchException(e);
+      }
+
+      if ((this.header('Content-type') || '').match(/^text\/javascript/i))
+        this.evalResponse();
+    }
+
+    try {
+      (this.options['on' + event] || Prototype.emptyFunction)(transport, json);
+      Ajax.Responders.dispatch('on' + event, this, transport, json);
+    } catch (e) {
+      this.dispatchException(e);
+    }
+
+    /* Avoid memory leak in MSIE: clean up the oncomplete event handler */
+    if (event == 'Complete')
+      this.transport.onreadystatechange = Prototype.emptyFunction;
+  },
+
+  dispatchException: function(exception) {
+    (this.options.onException || Prototype.emptyFunction)(this, exception);
+    Ajax.Responders.dispatch('onException', this, exception);
+  }
+});
+
+Ajax.Updater = Class.create();
+
+Object.extend(Object.extend(Ajax.Updater.prototype, Ajax.Request.prototype), {
+  initialize: function(container, url, options) {
+    this.containers = {
+      success: container.success ? $(container.success) : $(container),
+      failure: container.failure ? $(container.failure) :
+        (container.success ? null : $(container))
+    }
+
+    this.transport = Ajax.getTransport();
+    this.setOptions(options);
+
+    var onComplete = this.options.onComplete || Prototype.emptyFunction;
+    this.options.onComplete = (function(transport, object) {
+      this.updateContent();
+      onComplete(transport, object);
+    }).bind(this);
+
+    this.request(url);
+  },
+
+  updateContent: function() {
+    var receiver = this.responseIsSuccess() ?
+      this.containers.success : this.containers.failure;
+    var response = this.transport.responseText;
+
+    if (!this.options.evalScripts)
+      response = response.stripScripts();
+
+    if (receiver) {
+      if (this.options.insertion) {
+        new this.options.insertion(receiver, response);
+      } else {
+        Element.update(receiver, response);
+      }
+    }
+
+    if (this.responseIsSuccess()) {
+      if (this.onComplete)
+        setTimeout(this.onComplete.bind(this), 10);
+    }
+  }
+});
+
+Ajax.PeriodicalUpdater = Class.create();
+Ajax.PeriodicalUpdater.prototype = Object.extend(new Ajax.Base(), {
+  initialize: function(container, url, options) {
+    this.setOptions(options);
+    this.onComplete = this.options.onComplete;
+
+    this.frequency = (this.options.frequency || 2);
+    this.decay = (this.options.decay || 1);
+
+    this.updater = {};
+    this.container = container;
+    this.url = url;
+
+    this.start();
+  },
+
+  start: function() {
+    this.options.onComplete = this.updateComplete.bind(this);
+    this.onTimerEvent();
+  },
+
+  stop: function() {
+    this.updater.onComplete = undefined;
+    clearTimeout(this.timer);
+    (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
+  },
+
+  updateComplete: function(request) {
+    if (this.options.decay) {
+      this.decay = (request.responseText == this.lastText ?
+        this.decay * this.options.decay : 1);
+
+      this.lastText = request.responseText;
+    }
+    this.timer = setTimeout(this.onTimerEvent.bind(this),
+      this.decay * this.frequency * 1000);
+  },
+
+  onTimerEvent: function() {
+    this.updater = new Ajax.Updater(this.container, this.url, this.options);
+  }
+});
+function $() {
+  var results = [], element;
+  for (var i = 0; i < arguments.length; i++) {
+    element = arguments[i];
+    if (typeof element == 'string')
+      element = document.getElementById(element);
+    results.push(Element.extend(element));
+  }
+  return results.length < 2 ? results[0] : results;
+}
+
+document.getElementsByClassName = function(className, parentElement) {
+  var children = ($(parentElement) || document.body).getElementsByTagName('*');
+  return $A(children).inject([], function(elements, child) {
+    if (child.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))
+      elements.push(Element.extend(child));
+    return elements;
+  });
+}
+
+/*--------------------------------------------------------------------------*/
+
+if (!window.Element)
+  var Element = new Object();
+
+Element.extend = function(element) {
+  if (!element) return;
+  if (_nativeExtensions) return element;
+
+  if (!element._extended && element.tagName && element != window) {
+    var methods = Element.Methods, cache = Element.extend.cache;
+    for (property in methods) {
+      var value = methods[property];
+      if (typeof value == 'function')
+        element[property] = cache.findOrStore(value);
+    }
+  }
+
+  element._extended = true;
+  return element;
+}
+
+Element.extend.cache = {
+  findOrStore: function(value) {
+    return this[value] = this[value] || function() {
+      return value.apply(null, [this].concat($A(arguments)));
+    }
+  }
+}
+
+Element.Methods = {
+  visible: function(element) {
+    return $(element).style.display != 'none';
+  },
+
+  toggle: function() {
+    for (var i = 0; i < arguments.length; i++) {
+      var element = $(arguments[i]);
+      Element[Element.visible(element) ? 'hide' : 'show'](element);
+    }
+  },
+
+  hide: function() {
+    for (var i = 0; i < arguments.length; i++) {
+      var element = $(arguments[i]);
+      element.style.display = 'none';
+    }
+  },
+
+  show: function() {
+    for (var i = 0; i < arguments.length; i++) {
+      var element = $(arguments[i]);
+      element.style.display = '';
+    }
+  },
+
+  remove: function(element) {
+    element = $(element);
+    element.parentNode.removeChild(element);
+  },
+
+  update: function(element, html) {
+    $(element).innerHTML = html.stripScripts();
+    setTimeout(function() {html.evalScripts()}, 10);
+  },
+
+  replace: function(element, html) {
+    element = $(element);
+    if (element.outerHTML) {
+      element.outerHTML = html.stripScripts();
+    } else {
+      var range = element.ownerDocument.createRange();
+      range.selectNodeContents(element);
+      element.parentNode.replaceChild(
+        range.createContextualFragment(html.stripScripts()), element);
+    }
+    setTimeout(function() {html.evalScripts()}, 10);
+  },
+
+  getHeight: function(element) {
+    element = $(element);
+    return element.offsetHeight;
+  },
+
+  classNames: function(element) {
+    return new Element.ClassNames(element);
+  },
+
+  hasClassName: function(element, className) {
+    if (!(element = $(element))) return;
+    return Element.classNames(element).include(className);
+  },
+
+  addClassName: function(element, className) {
+    if (!(element = $(element))) return;
+    return Element.classNames(element).add(className);
+  },
+
+  removeClassName: function(element, className) {
+    if (!(element = $(element))) return;
+    return Element.classNames(element).remove(className);
+  },
+
+  // removes whitespace-only text node children
+  cleanWhitespace: function(element) {
+    element = $(element);
+    for (var i = 0; i < element.childNodes.length; i++) {
+      var node = element.childNodes[i];
+      if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
+        Element.remove(node);
+    }
+  },
+
+  empty: function(element) {
+    return $(element).innerHTML.match(/^\s*$/);
+  },
+
+  childOf: function(element, ancestor) {
+    element = $(element), ancestor = $(ancestor);
+    while (element = element.parentNode)
+      if (element == ancestor) return true;
+    return false;
+  },
+
+  scrollTo: function(element) {
+    element = $(element);
+    var x = element.x ? element.x : element.offsetLeft,
+        y = element.y ? element.y : element.offsetTop;
+    window.scrollTo(x, y);
+  },
+
+  getStyle: function(element, style) {
+    element = $(element);
+    var value = element.style[style.camelize()];
+    if (!value) {
+      if (document.defaultView && document.defaultView.getComputedStyle) {
+        var css = document.defaultView.getComputedStyle(element, null);
+        value = css ? css.getPropertyValue(style) : null;
+      } else if (element.currentStyle) {
+        value = element.currentStyle[style.camelize()];
+      }
+    }
+
+    if (window.opera && ['left', 'top', 'right', 'bottom'].include(style))
+      if (Element.getStyle(element, 'position') == 'static') value = 'auto';
+
+    return value == 'auto' ? null : value;
+  },
+
+  setStyle: function(element, style) {
+    element = $(element);
+    for (var name in style)
+      element.style[name.camelize()] = style[name];
+  },
+
+  getDimensions: function(element) {
+    element = $(element);
+    if (Element.getStyle(element, 'display') != 'none')
+      return {width: element.offsetWidth, height: element.offsetHeight};
+
+    // All *Width and *Height properties give 0 on elements with display none,
+    // so enable the element temporarily
+    var els = element.style;
+    var originalVisibility = els.visibility;
+    var originalPosition = els.position;
+    els.visibility = 'hidden';
+    els.position = 'absolute';
+    els.display = '';
+    var originalWidth = element.clientWidth;
+    var originalHeight = element.clientHeight;
+    els.display = 'none';
+    els.position = originalPosition;
+    els.visibility = originalVisibility;
+    return {width: originalWidth, height: originalHeight};
+  },
+
+  makePositioned: function(element) {
+    element = $(element);
+    var pos = Element.getStyle(element, 'position');
+    if (pos == 'static' || !pos) {
+      element._madePositioned = true;
+      element.style.position = 'relative';
+      // Opera returns the offset relative to the positioning context, when an
+      // element is position relative but top and left have not been defined
+      if (window.opera) {
+        element.style.top = 0;
+        element.style.left = 0;
+      }
+    }
+  },
+
+  undoPositioned: function(element) {
+    element = $(element);
+    if (element._madePositioned) {
+      element._madePositioned = undefined;
+      element.style.position =
+        element.style.top =
+        element.style.left =
+        element.style.bottom =
+        element.style.right = '';
+    }
+  },
+
+  makeClipping: function(element) {
+    element = $(element);
+    if (element._overflow) return;
+    element._overflow = element.style.overflow;
+    if ((Element.getStyle(element, 'overflow') || 'visible') != 'hidden')
+      element.style.overflow = 'hidden';
+  },
+
+  undoClipping: function(element) {
+    element = $(element);
+    if (element._overflow) return;
+    element.style.overflow = element._overflow;
+    element._overflow = undefined;
+  }
+}
+
+Object.extend(Element, Element.Methods);
+
+var _nativeExtensions = false;
+
+if(!HTMLElement && /Konqueror|Safari|KHTML/.test(navigator.userAgent)) {
+  var HTMLElement = {}
+  HTMLElement.prototype = document.createElement('div').__proto__;
+}
+
+Element.addMethods = function(methods) {
+  Object.extend(Element.Methods, methods || {});
+
+  if(typeof HTMLElement != 'undefined') {
+    var methods = Element.Methods, cache = Element.extend.cache;
+    for (property in methods) {
+      var value = methods[property];
+      if (typeof value == 'function')
+        HTMLElement.prototype[property] = cache.findOrStore(value);
+    }
+    _nativeExtensions = true;
+  }
+}
+
+Element.addMethods();
+
+var Toggle = new Object();
+Toggle.display = Element.toggle;
+
+/*--------------------------------------------------------------------------*/
+
+Abstract.Insertion = function(adjacency) {
+  this.adjacency = adjacency;
+}
+
+Abstract.Insertion.prototype = {
+  initialize: function(element, content) {
+    this.element = $(element);
+    this.content = content.stripScripts();
+
+    if (this.adjacency && this.element.insertAdjacentHTML) {
+      try {
+        this.element.insertAdjacentHTML(this.adjacency, this.content);
+      } catch (e) {
+        var tagName = this.element.tagName.toLowerCase();
+        if (tagName == 'tbody' || tagName == 'tr') {
+          this.insertContent(this.contentFromAnonymousTable());
+        } else {
+          throw e;
+        }
+      }
+    } else {
+      this.range = this.element.ownerDocument.createRange();
+      if (this.initializeRange) this.initializeRange();
+      this.insertContent([this.range.createContextualFragment(this.content)]);
+    }
+
+    setTimeout(function() {content.evalScripts()}, 10);
+  },
+
+  contentFromAnonymousTable: function() {
+    var div = document.createElement('div');
+    div.innerHTML = '<table><tbody>' + this.content + '</tbody></table>';
+    return $A(div.childNodes[0].childNodes[0].childNodes);
+  }
+}
+
+var Insertion = new Object();
+
+Insertion.Before = Class.create();
+Insertion.Before.prototype = Object.extend(new Abstract.Insertion('beforeBegin'), {
+  initializeRange: function() {
+    this.range.setStartBefore(this.element);
+  },
+
+  insertContent: function(fragments) {
+    fragments.each((function(fragment) {
+      this.element.parentNode.insertBefore(fragment, this.element);
+    }).bind(this));
+  }
+});
+
+Insertion.Top = Class.create();
+Insertion.Top.prototype = Object.extend(new Abstract.Insertion('afterBegin'), {
+  initializeRange: function() {
+    this.range.selectNodeContents(this.element);
+    this.range.collapse(true);
+  },
+
+  insertContent: function(fragments) {
+    fragments.reverse(false).each((function(fragment) {
+      this.element.insertBefore(fragment, this.element.firstChild);
+    }).bind(this));
+  }
+});
+
+Insertion.Bottom = Class.create();
+Insertion.Bottom.prototype = Object.extend(new Abstract.Insertion('beforeEnd'), {
+  initializeRange: function() {
+    this.range.selectNodeContents(this.element);
+    this.range.collapse(this.element);
+  },
+
+  insertContent: function(fragments) {
+    fragments.each((function(fragment) {
+      this.element.appendChild(fragment);
+    }).bind(this));
+  }
+});
+
+Insertion.After = Class.create();
+Insertion.After.prototype = Object.extend(new Abstract.Insertion('afterEnd'), {
+  initializeRange: function() {
+    this.range.setStartAfter(this.element);
+  },
+
+  insertContent: function(fragments) {
+    fragments.each((function(fragment) {
+      this.element.parentNode.insertBefore(fragment,
+        this.element.nextSibling);
+    }).bind(this));
+  }
+});
+
+/*--------------------------------------------------------------------------*/
+
+Element.ClassNames = Class.create();
+Element.ClassNames.prototype = {
+  initialize: function(element) {
+    this.element = $(element);
+  },
+
+  _each: function(iterator) {
+    this.element.className.split(/\s+/).select(function(name) {
+      return name.length > 0;
+    })._each(iterator);
+  },
+
+  set: function(className) {
+    this.element.className = className;
+  },
+
+  add: function(classNameToAdd) {
+    if (this.include(classNameToAdd)) return;
+    this.set(this.toArray().concat(classNameToAdd).join(' '));
+  },
+
+  remove: function(classNameToRemove) {
+    if (!this.include(classNameToRemove)) return;
+    this.set(this.select(function(className) {
+      return className != classNameToRemove;
+    }).join(' '));
+  },
+
+  toString: function() {
+    return this.toArray().join(' ');
+  }
+}
+
+Object.extend(Element.ClassNames.prototype, Enumerable);
+var Selector = Class.create();
+Selector.prototype = {
+  initialize: function(expression) {
+    this.params = {classNames: []};
+    this.expression = expression.toString().strip();
+    this.parseExpression();
+    this.compileMatcher();
+  },
+
+  parseExpression: function() {
+    function abort(message) { throw 'Parse error in selector: ' + message; }
+
+    if (this.expression == '')  abort('empty expression');
+
+    var params = this.params, expr = this.expression, match, modifier, clause, rest;
+    while (match = expr.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!]?=)(?:"([^"]*)"|([^\]\s]*)))?\]$/i)) {
+      params.attributes = params.attributes || [];
+      params.attributes.push({name: match[2], operator: match[3], value: match[4] || match[5] || ''});
+      expr = match[1];
+    }
+
+    if (expr == '*') return this.params.wildcard = true;
+
+    while (match = expr.match(/^([^a-z0-9_-])?([a-z0-9_-]+)(.*)/i)) {
+      modifier = match[1], clause = match[2], rest = match[3];
+      switch (modifier) {
+        case '#':       params.id = clause; break;
+        case '.':       params.classNames.push(clause); break;
+        case '':
+        case undefined: params.tagName = clause.toUpperCase(); break;
+        default:        abort(expr.inspect());
+      }
+      expr = rest;
+    }
+
+    if (expr.length > 0) abort(expr.inspect());
+  },
+
+  buildMatchExpression: function() {
+    var params = this.params, conditions = [], clause;
+
+    if (params.wildcard)
+      conditions.push('true');
+    if (clause = params.id)
+      conditions.push('element.id == ' + clause.inspect());
+    if (clause = params.tagName)
+      conditions.push('element.tagName.toUpperCase() == ' + clause.inspect());
+    if ((clause = params.classNames).length > 0)
+      for (var i = 0; i < clause.length; i++)
+        conditions.push('Element.hasClassName(element, ' + clause[i].inspect() + ')');
+    if (clause = params.attributes) {
+      clause.each(function(attribute) {
+        var value = 'element.getAttribute(' + attribute.name.inspect() + ')';
+        var splitValueBy = function(delimiter) {
+          return value + ' && ' + value + '.split(' + delimiter.inspect() + ')';
+        }
+
+        switch (attribute.operator) {
+          case '=':       conditions.push(value + ' == ' + attribute.value.inspect()); break;
+          case '~=':      conditions.push(splitValueBy(' ') + '.include(' + attribute.value.inspect() + ')'); break;
+          case '|=':      conditions.push(
+                            splitValueBy('-') + '.first().toUpperCase() == ' + attribute.value.toUpperCase().inspect()
+                          ); break;
+          case '!=':      conditions.push(value + ' != ' + attribute.value.inspect()); break;
+          case '':
+          case undefined: conditions.push(value + ' != null'); break;
+          default:        throw 'Unknown operator ' + attribute.operator + ' in selector';
+        }
+      });
+    }
+
+    return conditions.join(' && ');
+  },
+
+  compileMatcher: function() {
+    this.match = new Function('element', 'if (!element.tagName) return false; \
+      return ' + this.buildMatchExpression());
+  },
+
+  findElements: function(scope) {
+    var element;
+
+    if (element = $(this.params.id))
+      if (this.match(element))
+        if (!scope || Element.childOf(element, scope))
+          return [element];
+
+    scope = (scope || document).getElementsByTagName(this.params.tagName || '*');
+
+    var results = [];
+    for (var i = 0; i < scope.length; i++)
+      if (this.match(element = scope[i]))
+        results.push(Element.extend(element));
+
+    return results;
+  },
+
+  toString: function() {
+    return this.expression;
+  }
+}
+
+function $$() {
+  return $A(arguments).map(function(expression) {
+    return expression.strip().split(/\s+/).inject([null], function(results, expr) {
+      var selector = new Selector(expr);
+      return results.map(selector.findElements.bind(selector)).flatten();
+    });
+  }).flatten();
+}
+var Field = {
+  clear: function() {
+    for (var i = 0; i < arguments.length; i++)
+      $(arguments[i]).value = '';
+  },
+
+  focus: function(element) {
+    $(element).focus();
+  },
+
+  present: function() {
+    for (var i = 0; i < arguments.length; i++)
+      if ($(arguments[i]).value == '') return false;
+    return true;
+  },
+
+  select: function(element) {
+    $(element).select();
+  },
+
+  activate: function(element) {
+    element = $(element);
+    element.focus();
+    if (element.select)
+      element.select();
+  }
+}
+
+/*--------------------------------------------------------------------------*/
+
+var Form = {
+  serialize: function(form) {
+    var elements = Form.getElements($(form));
+    var queryComponents = new Array();
+
+    for (var i = 0; i < elements.length; i++) {
+      var queryComponent = Form.Element.serialize(elements[i]);
+      if (queryComponent)
+        queryComponents.push(queryComponent);
+    }
+
+    return queryComponents.join('&');
+  },
+
+  getElements: function(form) {
+    form = $(form);
+    var elements = new Array();
+
+    for (var tagName in Form.Element.Serializers) {
+      var tagElements = form.getElementsByTagName(tagName);
+      for (var j = 0; j < tagElements.length; j++)
+        elements.push(tagElements[j]);
+    }
+    return elements;
+  },
+
+  getInputs: function(form, typeName, name) {
+    form = $(form);
+    var inputs = form.getElementsByTagName('input');
+
+    if (!typeName && !name)
+      return inputs;
+
+    var matchingInputs = new Array();
+    for (var i = 0; i < inputs.length; i++) {
+      var input = inputs[i];
+      if ((typeName && input.type != typeName) ||
+          (name && input.name != name))
+        continue;
+      matchingInputs.push(input);
+    }
+
+    return matchingInputs;
+  },
+
+  disable: function(form) {
+    var elements = Form.getElements(form);
+    for (var i = 0; i < elements.length; i++) {
+      var element = elements[i];
+      element.blur();
+      element.disabled = 'true';
+    }
+  },
+
+  enable: function(form) {
+    var elements = Form.getElements(form);
+    for (var i = 0; i < elements.length; i++) {
+      var element = elements[i];
+      element.disabled = '';
+    }
+  },
+
+  findFirstElement: function(form) {
+    return Form.getElements(form).find(function(element) {
+      return element.type != 'hidden' && !element.disabled &&
+        ['input', 'select', 'textarea'].include(element.tagName.toLowerCase());
+    });
+  },
+
+  focusFirstElement: function(form) {
+    Field.activate(Form.findFirstElement(form));
+  },
+
+  reset: function(form) {
+    $(form).reset();
+  }
+}
+
+Form.Element = {
+  serialize: function(element) {
+    element = $(element);
+    var method = element.tagName.toLowerCase();
+    var parameter = Form.Element.Serializers[method](element);
+
+    if (parameter) {
+      var key = encodeURIComponent(parameter[0]);
+      if (key.length == 0) return;
+
+      if (parameter[1].constructor != Array)
+        parameter[1] = [parameter[1]];
+
+      return parameter[1].map(function(value) {
+        return key + '=' + encodeURIComponent(value);
+      }).join('&');
+    }
+  },
+
+  getValue: function(element) {
+    element = $(element);
+    var method = element.tagName.toLowerCase();
+    var parameter = Form.Element.Serializers[method](element);
+
+    if (parameter)
+      return parameter[1];
+  }
+}
+
+Form.Element.Serializers = {
+  input: function(element) {
+    switch (element.type.toLowerCase()) {
+      case 'submit':
+      case 'hidden':
+      case 'password':
+      case 'text':
+        return Form.Element.Serializers.textarea(element);
+      case 'checkbox':
+      case 'radio':
+        return Form.Element.Serializers.inputSelector(element);
+    }
+    return false;
+  },
+
+  inputSelector: function(element) {
+    if (element.checked)
+      return [element.name, element.value];
+  },
+
+  textarea: function(element) {
+    return [element.name, element.value];
+  },
+
+  select: function(element) {
+    return Form.Element.Serializers[element.type == 'select-one' ?
+      'selectOne' : 'selectMany'](element);
+  },
+
+  selectOne: function(element) {
+    var value = '', opt, index = element.selectedIndex;
+    if (index >= 0) {
+      opt = element.options[index];
+      value = opt.value || opt.text;
+    }
+    return [element.name, value];
+  },
+
+  selectMany: function(element) {
+    var value = [];
+    for (var i = 0; i < element.length; i++) {
+      var opt = element.options[i];
+      if (opt.selected)
+        value.push(opt.value || opt.text);
+    }
+    return [element.name, value];
+  }
+}
+
+/*--------------------------------------------------------------------------*/
+
+var $F = Form.Element.getValue;
+
+/*--------------------------------------------------------------------------*/
+
+Abstract.TimedObserver = function() {}
+Abstract.TimedObserver.prototype = {
+  initialize: function(element, frequency, callback) {
+    this.frequency = frequency;
+    this.element   = $(element);
+    this.callback  = callback;
+
+    this.lastValue = this.getValue();
+    this.registerCallback();
+  },
+
+  registerCallback: function() {
+    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
+  },
+
+  onTimerEvent: function() {
+    var value = this.getValue();
+    if (this.lastValue != value) {
+      this.callback(this.element, value);
+      this.lastValue = value;
+    }
+  }
+}
+
+Form.Element.Observer = Class.create();
+Form.Element.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
+  getValue: function() {
+    return Form.Element.getValue(this.element);
+  }
+});
+
+Form.Observer = Class.create();
+Form.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
+  getValue: function() {
+    return Form.serialize(this.element);
+  }
+});
+
+/*--------------------------------------------------------------------------*/
+
+Abstract.EventObserver = function() {}
+Abstract.EventObserver.prototype = {
+  initialize: function(element, callback) {
+    this.element  = $(element);
+    this.callback = callback;
+
+    this.lastValue = this.getValue();
+    if (this.element.tagName.toLowerCase() == 'form')
+      this.registerFormCallbacks();
+    else
+      this.registerCallback(this.element);
+  },
+
+  onElementEvent: function() {
+    var value = this.getValue();
+    if (this.lastValue != value) {
+      this.callback(this.element, value);
+      this.lastValue = value;
+    }
+  },
+
+  registerFormCallbacks: function() {
+    var elements = Form.getElements(this.element);
+    for (var i = 0; i < elements.length; i++)
+      this.registerCallback(elements[i]);
+  },
+
+  registerCallback: function(element) {
+    if (element.type) {
+      switch (element.type.toLowerCase()) {
+        case 'checkbox':
+        case 'radio':
+          Event.observe(element, 'click', this.onElementEvent.bind(this));
+          break;
+        case 'password':
+        case 'text':
+        case 'textarea':
+        case 'select-one':
+        case 'select-multiple':
+          Event.observe(element, 'change', this.onElementEvent.bind(this));
+          break;
+      }
+    }
+  }
+}
+
+Form.Element.EventObserver = Class.create();
+Form.Element.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
+  getValue: function() {
+    return Form.Element.getValue(this.element);
+  }
+});
+
+Form.EventObserver = Class.create();
+Form.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
+  getValue: function() {
+    return Form.serialize(this.element);
+  }
+});
+if (!window.Event) {
+  var Event = new Object();
+}
+
+Object.extend(Event, {
+  KEY_BACKSPACE: 8,
+  KEY_TAB:       9,
+  KEY_RETURN:   13,
+  KEY_ESC:      27,
+  KEY_LEFT:     37,
+  KEY_UP:       38,
+  KEY_RIGHT:    39,
+  KEY_DOWN:     40,
+  KEY_DELETE:   46,
+
+  element: function(event) {
+    return event.target || event.srcElement;
+  },
+
+  isLeftClick: function(event) {
+    return (((event.which) && (event.which == 1)) ||
+            ((event.button) && (event.button == 1)));
+  },
+
+  pointerX: function(event) {
+    return event.pageX || (event.clientX +
+      (document.documentElement.scrollLeft || document.body.scrollLeft));
+  },
+
+  pointerY: function(event) {
+    return event.pageY || (event.clientY +
+      (document.documentElement.scrollTop || document.body.scrollTop));
+  },
+
+  stop: function(event) {
+    if (event.preventDefault) {
+      event.preventDefault();
+      event.stopPropagation();
+    } else {
+      event.returnValue = false;
+      event.cancelBubble = true;
+    }
+  },
+
+  // find the first node with the given tagName, starting from the
+  // node the event was triggered on; traverses the DOM upwards
+  findElement: function(event, tagName) {
+    var element = Event.element(event);
+    while (element.parentNode && (!element.tagName ||
+        (element.tagName.toUpperCase() != tagName.toUpperCase())))
+      element = element.parentNode;
+    return element;
+  },
+
+  observers: false,
+
+  _observeAndCache: function(element, name, observer, useCapture) {
+    if (!this.observers) this.observers = [];
+    if (element.addEventListener) {
+      this.observers.push([element, name, observer, useCapture]);
+      element.addEventListener(name, observer, useCapture);
+    } else if (element.attachEvent) {
+      this.observers.push([element, name, observer, useCapture]);
+      element.attachEvent('on' + name, observer);
+    }
+  },
+
+  unloadCache: function() {
+    if (!Event.observers) return;
+    for (var i = 0; i < Event.observers.length; i++) {
+      Event.stopObserving.apply(this, Event.observers[i]);
+      Event.observers[i][0] = null;
+    }
+    Event.observers = false;
+  },
+
+  observe: function(element, name, observer, useCapture) {
+    var element = $(element);
+    useCapture = useCapture || false;
+
+    if (name == 'keypress' &&
+        (navigator.appVersion.match(/Konqueror|Safari|KHTML/)
+        || element.attachEvent))
+      name = 'keydown';
+
+    this._observeAndCache(element, name, observer, useCapture);
+  },
+
+  stopObserving: function(element, name, observer, useCapture) {
+    var element = $(element);
+    useCapture = useCapture || false;
+
+    if (name == 'keypress' &&
+        (navigator.appVersion.match(/Konqueror|Safari|KHTML/)
+        || element.detachEvent))
+      name = 'keydown';
+
+    if (element.removeEventListener) {
+      element.removeEventListener(name, observer, useCapture);
+    } else if (element.detachEvent) {
+      element.detachEvent('on' + name, observer);
+    }
+  }
+});
+
+/* prevent memory leaks in IE */
+if (navigator.appVersion.match(/\bMSIE\b/))
+  Event.observe(window, 'unload', Event.unloadCache, false);
+var Position = {
+  // set to true if needed, warning: firefox performance problems
+  // NOT neeeded for page scrolling, only if draggable contained in
+  // scrollable elements
+  includeScrollOffsets: false,
+
+  // must be called before calling withinIncludingScrolloffset, every time the
+  // page is scrolled
+  prepare: function() {
+    this.deltaX =  window.pageXOffset
+                || document.documentElement.scrollLeft
+                || document.body.scrollLeft
+                || 0;
+    this.deltaY =  window.pageYOffset
+                || document.documentElement.scrollTop
+                || document.body.scrollTop
+                || 0;
+  },
+
+  realOffset: function(element) {
+    var valueT = 0, valueL = 0;
+    do {
+      valueT += element.scrollTop  || 0;
+      valueL += element.scrollLeft || 0;
+      element = element.parentNode;
+    } while (element);
+    return [valueL, valueT];
+  },
+
+  cumulativeOffset: function(element) {
+    var valueT = 0, valueL = 0;
+    do {
+      valueT += element.offsetTop  || 0;
+      valueL += element.offsetLeft || 0;
+      element = element.offsetParent;
+    } while (element);
+    return [valueL, valueT];
+  },
+
+  positionedOffset: function(element) {
+    var valueT = 0, valueL = 0;
+    do {
+      valueT += element.offsetTop  || 0;
+      valueL += element.offsetLeft || 0;
+      element = element.offsetParent;
+      if (element) {
+        p = Element.getStyle(element, 'position');
+        if (p == 'relative' || p == 'absolute') break;
+      }
+    } while (element);
+    return [valueL, valueT];
+  },
+
+  offsetParent: function(element) {
+    if (element.offsetParent) return element.offsetParent;
+    if (element == document.body) return element;
+
+    while ((element = element.parentNode) && element != document.body)
+      if (Element.getStyle(element, 'position') != 'static')
+        return element;
+
+    return document.body;
+  },
+
+  // caches x/y coordinate pair to use with overlap
+  within: function(element, x, y) {
+    if (this.includeScrollOffsets)
+      return this.withinIncludingScrolloffsets(element, x, y);
+    this.xcomp = x;
+    this.ycomp = y;
+    this.offset = this.cumulativeOffset(element);
+
+    return (y >= this.offset[1] &&
+            y <  this.offset[1] + element.offsetHeight &&
+            x >= this.offset[0] &&
+            x <  this.offset[0] + element.offsetWidth);
+  },
+
+  withinIncludingScrolloffsets: function(element, x, y) {
+    var offsetcache = this.realOffset(element);
+
+    this.xcomp = x + offsetcache[0] - this.deltaX;
+    this.ycomp = y + offsetcache[1] - this.deltaY;
+    this.offset = this.cumulativeOffset(element);
+
+    return (this.ycomp >= this.offset[1] &&
+            this.ycomp <  this.offset[1] + element.offsetHeight &&
+            this.xcomp >= this.offset[0] &&
+            this.xcomp <  this.offset[0] + element.offsetWidth);
+  },
+
+  // within must be called directly before
+  overlap: function(mode, element) {
+    if (!mode) return 0;
+    if (mode == 'vertical')
+      return ((this.offset[1] + element.offsetHeight) - this.ycomp) /
+        element.offsetHeight;
+    if (mode == 'horizontal')
+      return ((this.offset[0] + element.offsetWidth) - this.xcomp) /
+        element.offsetWidth;
+  },
+
+  clone: function(source, target) {
+    source = $(source);
+    target = $(target);
+    target.style.position = 'absolute';
+    var offsets = this.cumulativeOffset(source);
+    target.style.top    = offsets[1] + 'px';
+    target.style.left   = offsets[0] + 'px';
+    target.style.width  = source.offsetWidth + 'px';
+    target.style.height = source.offsetHeight + 'px';
+  },
+
+  page: function(forElement) {
+    var valueT = 0, valueL = 0;
+
+    var element = forElement;
+    do {
+      valueT += element.offsetTop  || 0;
+      valueL += element.offsetLeft || 0;
+
+      // Safari fix
+      if (element.offsetParent==document.body)
+        if (Element.getStyle(element,'position')=='absolute') break;
+
+    } while (element = element.offsetParent);
+
+    element = forElement;
+    do {
+      valueT -= element.scrollTop  || 0;
+      valueL -= element.scrollLeft || 0;
+    } while (element = element.parentNode);
+
+    return [valueL, valueT];
+  },
+
+  clone: function(source, target) {
+    var options = Object.extend({
+      setLeft:    true,
+      setTop:     true,
+      setWidth:   true,
+      setHeight:  true,
+      offsetTop:  0,
+      offsetLeft: 0
+    }, arguments[2] || {})
+
+    // find page position of source
+    source = $(source);
+    var p = Position.page(source);
+
+    // find coordinate system to use
+    target = $(target);
+    var delta = [0, 0];
+    var parent = null;
+    // delta [0,0] will do fine with position: fixed elements,
+    // position:absolute needs offsetParent deltas
+    if (Element.getStyle(target,'position') == 'absolute') {
+      parent = Position.offsetParent(target);
+      delta = Position.page(parent);
+    }
+
+    // correct by body offsets (fixes Safari)
+    if (parent == document.body) {
+      delta[0] -= document.body.offsetLeft;
+      delta[1] -= document.body.offsetTop;
+    }
+
+    // set position
+    if(options.setLeft)   target.style.left  = (p[0] - delta[0] + options.offsetLeft) + 'px';
+    if(options.setTop)    target.style.top   = (p[1] - delta[1] + options.offsetTop) + 'px';
+    if(options.setWidth)  target.style.width = source.offsetWidth + 'px';
+    if(options.setHeight) target.style.height = source.offsetHeight + 'px';
+  },
+
+  absolutize: function(element) {
+    element = $(element);
+    if (element.style.position == 'absolute') return;
+    Position.prepare();
+
+    var offsets = Position.positionedOffset(element);
+    var top     = offsets[1];
+    var left    = offsets[0];
+    var width   = element.clientWidth;
+    var height  = element.clientHeight;
+
+    element._originalLeft   = left - parseFloat(element.style.left  || 0);
+    element._originalTop    = top  - parseFloat(element.style.top || 0);
+    element._originalWidth  = element.style.width;
+    element._originalHeight = element.style.height;
+
+    element.style.position = 'absolute';
+    element.style.top    = top + 'px';;
+    element.style.left   = left + 'px';;
+    element.style.width  = width + 'px';;
+    element.style.height = height + 'px';;
+  },
+
+  relativize: function(element) {
+    element = $(element);
+    if (element.style.position == 'relative') return;
+    Position.prepare();
+
+    element.style.position = 'relative';
+    var top  = parseFloat(element.style.top  || 0) - (element._originalTop || 0);
+    var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0);
+
+    element.style.top    = top + 'px';
+    element.style.left   = left + 'px';
+    element.style.height = element._originalHeight;
+    element.style.width  = element._originalWidth;
+  }
+}
+
+// Safari returns margins on body which is incorrect if the child is absolutely
+// positioned.  For performance reasons, redefine Position.cumulativeOffset for
+// KHTML/WebKit only.
+if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) {
+  Position.cumulativeOffset = function(element) {
+    var valueT = 0, valueL = 0;
+    do {
+      valueT += element.offsetTop  || 0;
+      valueL += element.offsetLeft || 0;
+      if (element.offsetParent == document.body)
+        if (Element.getStyle(element, 'position') == 'absolute') break;
+
+      element = element.offsetParent;
+    } while (element);
+
+    return [valueL, valueT];
+  }
+}
\ No newline at end of file
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/scriptaculous.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/scriptaculous.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/scriptaculous.js	(revision 4307)
@@ -0,0 +1,47 @@
+// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+var Scriptaculous = {
+  Version: '1.6.1',
+  require: function(libraryName) {
+    // inserting via DOM fails in Safari 2.0, so brute force approach
+    document.write('<script type="text/javascript" src="'+libraryName+'"></script>');
+  },
+  load: function() {
+    if((typeof Prototype=='undefined') || 
+       (typeof Element == 'undefined') || 
+       (typeof Element.Methods=='undefined') ||
+       parseFloat(Prototype.Version.split(".")[0] + "." +
+                  Prototype.Version.split(".")[1]) < 1.5)
+       throw("script.aculo.us requires the Prototype JavaScript framework >= 1.5.0");
+    
+    $A(document.getElementsByTagName("script")).findAll( function(s) {
+      return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/))
+    }).each( function(s) {
+      var path = s.src.replace(/scriptaculous\.js(\?.*)?$/,'');
+      var includes = s.src.match(/\?.*load=([a-z,]*)/);
+      (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider').split(',').each(
+       function(include) { Scriptaculous.require(path+include+'.js') });
+    });
+  }
+}
+
+Scriptaculous.load();
\ No newline at end of file
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/cssQuery/cssQuery-p.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/cssQuery/cssQuery-p.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/cssQuery/cssQuery-p.js	(revision 4307)
@@ -0,0 +1,6 @@
+/*
+	cssQuery, version 2.0.2 (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('7 x=6(){7 1D="2.0.2";7 C=/\\s*,\\s*/;7 x=6(s,A){33{7 m=[];7 u=1z.32.2c&&!A;7 b=(A)?(A.31==22)?A:[A]:[1g];7 1E=18(s).1l(C),i;9(i=0;i<1E.y;i++){s=1y(1E[i]);8(U&&s.Z(0,3).2b("")==" *#"){s=s.Z(2);A=24([],b,s[1])}1A A=b;7 j=0,t,f,a,c="";H(j<s.y){t=s[j++];f=s[j++];c+=t+f;a="";8(s[j]=="("){H(s[j++]!=")")a+=s[j];a=a.Z(0,-1);c+="("+a+")"}A=(u&&V[c])?V[c]:21(A,t,f,a);8(u)V[c]=A}m=m.30(A)}2a x.2d;5 m}2Z(e){x.2d=e;5[]}};x.1Z=6(){5"6 x() {\\n  [1D "+1D+"]\\n}"};7 V={};x.2c=L;x.2Y=6(s){8(s){s=1y(s).2b("");2a V[s]}1A V={}};7 29={};7 19=L;x.15=6(n,s){8(19)1i("s="+1U(s));29[n]=12 s()};x.2X=6(c){5 c?1i(c):o};7 D={};7 h={};7 q={P:/\\[([\\w-]+(\\|[\\w-]+)?)\\s*(\\W?=)?\\s*([^\\]]*)\\]/};7 T=[];D[" "]=6(r,f,t,n){7 e,i,j;9(i=0;i<f.y;i++){7 s=X(f[i],t,n);9(j=0;(e=s[j]);j++){8(M(e)&&14(e,n))r.z(e)}}};D["#"]=6(r,f,i){7 e,j;9(j=0;(e=f[j]);j++)8(e.B==i)r.z(e)};D["."]=6(r,f,c){c=12 1t("(^|\\\\s)"+c+"(\\\\s|$)");7 e,i;9(i=0;(e=f[i]);i++)8(c.l(e.1V))r.z(e)};D[":"]=6(r,f,p,a){7 t=h[p],e,i;8(t)9(i=0;(e=f[i]);i++)8(t(e,a))r.z(e)};h["2W"]=6(e){7 d=Q(e);8(d.1C)9(7 i=0;i<d.1C.y;i++){8(d.1C[i]==e)5 K}};h["2V"]=6(e){};7 M=6(e){5(e&&e.1c==1&&e.1f!="!")?e:23};7 16=6(e){H(e&&(e=e.2U)&&!M(e))28;5 e};7 G=6(e){H(e&&(e=e.2T)&&!M(e))28;5 e};7 1r=6(e){5 M(e.27)||G(e.27)};7 1P=6(e){5 M(e.26)||16(e.26)};7 1o=6(e){7 c=[];e=1r(e);H(e){c.z(e);e=G(e)}5 c};7 U=K;7 1h=6(e){7 d=Q(e);5(2S d.25=="2R")?/\\.1J$/i.l(d.2Q):2P(d.25=="2O 2N")};7 Q=6(e){5 e.2M||e.1g};7 X=6(e,t){5(t=="*"&&e.1B)?e.1B:e.X(t)};7 17=6(e,t,n){8(t=="*")5 M(e);8(!14(e,n))5 L;8(!1h(e))t=t.2L();5 e.1f==t};7 14=6(e,n){5!n||(n=="*")||(e.2K==n)};7 1e=6(e){5 e.1G};6 24(r,f,B){7 m,i,j;9(i=0;i<f.y;i++){8(m=f[i].1B.2J(B)){8(m.B==B)r.z(m);1A 8(m.y!=23){9(j=0;j<m.y;j++){8(m[j].B==B)r.z(m[j])}}}}5 r};8(![].z)22.2I.z=6(){9(7 i=0;i<1z.y;i++){o[o.y]=1z[i]}5 o.y};7 N=/\\|/;6 21(A,t,f,a){8(N.l(f)){f=f.1l(N);a=f[0];f=f[1]}7 r=[];8(D[t]){D[t](r,A,f,a)}5 r};7 S=/^[^\\s>+~]/;7 20=/[\\s#.:>+~()@]|[^\\s#.:>+~()@]+/g;6 1y(s){8(S.l(s))s=" "+s;5 s.P(20)||[]};7 W=/\\s*([\\s>+~(),]|^|$)\\s*/g;7 I=/([\\s>+~,]|[^(]\\+|^)([#.:@])/g;7 18=6(s){5 s.O(W,"$1").O(I,"$1*$2")};7 1u={1Z:6(){5"\'"},P:/^(\'[^\']*\')|("[^"]*")$/,l:6(s){5 o.P.l(s)},1S:6(s){5 o.l(s)?s:o+s+o},1Y:6(s){5 o.l(s)?s.Z(1,-1):s}};7 1s=6(t){5 1u.1Y(t)};7 E=/([\\/()[\\]?{}|*+-])/g;6 R(s){5 s.O(E,"\\\\$1")};x.15("1j-2H",6(){D[">"]=6(r,f,t,n){7 e,i,j;9(i=0;i<f.y;i++){7 s=1o(f[i]);9(j=0;(e=s[j]);j++)8(17(e,t,n))r.z(e)}};D["+"]=6(r,f,t,n){9(7 i=0;i<f.y;i++){7 e=G(f[i]);8(e&&17(e,t,n))r.z(e)}};D["@"]=6(r,f,a){7 t=T[a].l;7 e,i;9(i=0;(e=f[i]);i++)8(t(e))r.z(e)};h["2G-10"]=6(e){5!16(e)};h["1x"]=6(e,c){c=12 1t("^"+c,"i");H(e&&!e.13("1x"))e=e.1n;5 e&&c.l(e.13("1x"))};q.1X=/\\\\:/g;q.1w="@";q.J={};q.O=6(m,a,n,c,v){7 k=o.1w+m;8(!T[k]){a=o.1W(a,c||"",v||"");T[k]=a;T.z(a)}5 T[k].B};q.1Q=6(s){s=s.O(o.1X,"|");7 m;H(m=s.P(o.P)){7 r=o.O(m[0],m[1],m[2],m[3],m[4]);s=s.O(o.P,r)}5 s};q.1W=6(p,t,v){7 a={};a.B=o.1w+T.y;a.2F=p;t=o.J[t];t=t?t(o.13(p),1s(v)):L;a.l=12 2E("e","5 "+t);5 a};q.13=6(n){1d(n.2D()){F"B":5"e.B";F"2C":5"e.1V";F"9":5"e.2B";F"1T":8(U){5"1U((e.2A.P(/1T=\\\\1v?([^\\\\s\\\\1v]*)\\\\1v?/)||[])[1]||\'\')"}}5"e.13(\'"+n.O(N,":")+"\')"};q.J[""]=6(a){5 a};q.J["="]=6(a,v){5 a+"=="+1u.1S(v)};q.J["~="]=6(a,v){5"/(^| )"+R(v)+"( |$)/.l("+a+")"};q.J["|="]=6(a,v){5"/^"+R(v)+"(-|$)/.l("+a+")"};7 1R=18;18=6(s){5 1R(q.1Q(s))}});x.15("1j-2z",6(){D["~"]=6(r,f,t,n){7 e,i;9(i=0;(e=f[i]);i++){H(e=G(e)){8(17(e,t,n))r.z(e)}}};h["2y"]=6(e,t){t=12 1t(R(1s(t)));5 t.l(1e(e))};h["2x"]=6(e){5 e==Q(e).1H};h["2w"]=6(e){7 n,i;9(i=0;(n=e.1F[i]);i++){8(M(n)||n.1c==3)5 L}5 K};h["1N-10"]=6(e){5!G(e)};h["2v-10"]=6(e){e=e.1n;5 1r(e)==1P(e)};h["2u"]=6(e,s){7 n=x(s,Q(e));9(7 i=0;i<n.y;i++){8(n[i]==e)5 L}5 K};h["1O-10"]=6(e,a){5 1p(e,a,16)};h["1O-1N-10"]=6(e,a){5 1p(e,a,G)};h["2t"]=6(e){5 e.B==2s.2r.Z(1)};h["1M"]=6(e){5 e.1M};h["2q"]=6(e){5 e.1q===L};h["1q"]=6(e){5 e.1q};h["1L"]=6(e){5 e.1L};q.J["^="]=6(a,v){5"/^"+R(v)+"/.l("+a+")"};q.J["$="]=6(a,v){5"/"+R(v)+"$/.l("+a+")"};q.J["*="]=6(a,v){5"/"+R(v)+"/.l("+a+")"};6 1p(e,a,t){1d(a){F"n":5 K;F"2p":a="2n";1a;F"2o":a="2n+1"}7 1m=1o(e.1n);6 1k(i){7 i=(t==G)?1m.y-i:i-1;5 1m[i]==e};8(!Y(a))5 1k(a);a=a.1l("n");7 m=1K(a[0]);7 s=1K(a[1]);8((Y(m)||m==1)&&s==0)5 K;8(m==0&&!Y(s))5 1k(s);8(Y(s))s=0;7 c=1;H(e=t(e))c++;8(Y(m)||m==1)5(t==G)?(c<=s):(s>=c);5(c%m)==s}});x.15("1j-2m",6(){U=1i("L;/*@2l@8(@\\2k)U=K@2j@*/");8(!U){X=6(e,t,n){5 n?e.2i("*",t):e.X(t)};14=6(e,n){5!n||(n=="*")||(e.2h==n)};1h=1g.1I?6(e){5/1J/i.l(Q(e).1I)}:6(e){5 Q(e).1H.1f!="2g"};1e=6(e){5 e.2f||e.1G||1b(e)};6 1b(e){7 t="",n,i;9(i=0;(n=e.1F[i]);i++){1d(n.1c){F 11:F 1:t+=1b(n);1a;F 3:t+=n.2e;1a}}5 t}}});19=K;5 x}();',62,190,'|||||return|function|var|if|for||||||||pseudoClasses||||test|||this||AttributeSelector|||||||cssQuery|length|push|fr|id||selectors||case|nextElementSibling|while||tests|true|false|thisElement||replace|match|getDocument|regEscape||attributeSelectors|isMSIE|cache||getElementsByTagName|isNaN|slice|child||new|getAttribute|compareNamespace|addModule|previousElementSibling|compareTagName|parseSelector|loaded|break|_0|nodeType|switch|getTextContent|tagName|document|isXML|eval|css|_1|split|ch|parentNode|childElements|nthChild|disabled|firstElementChild|getText|RegExp|Quote|x22|PREFIX|lang|_2|arguments|else|all|links|version|se|childNodes|innerText|documentElement|contentType|xml|parseInt|indeterminate|checked|last|nth|lastElementChild|parse|_3|add|href|String|className|create|NS_IE|remove|toString|ST|select|Array|null|_4|mimeType|lastChild|firstChild|continue|modules|delete|join|caching|error|nodeValue|textContent|HTML|prefix|getElementsByTagNameNS|end|x5fwin32|cc_on|standard||odd|even|enabled|hash|location|target|not|only|empty|root|contains|level3|outerHTML|htmlFor|class|toLowerCase|Function|name|first|level2|prototype|item|scopeName|toUpperCase|ownerDocument|Document|XML|Boolean|URL|unknown|typeof|nextSibling|previousSibling|visited|link|valueOf|clearCache|catch|concat|constructor|callee|try'.split('|'),0,{}))
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/cssQuery/src/cssQuery.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/cssQuery/src/cssQuery.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/cssQuery/src/cssQuery.js	(revision 4307)
@@ -0,0 +1,356 @@
+/*
+	cssQuery, version 2.0.2 (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+
+// the following functions allow querying of the DOM using CSS selectors
+var cssQuery = function() {
+var version = "2.0.2";
+
+// -----------------------------------------------------------------------
+// main query function
+// -----------------------------------------------------------------------
+
+var $COMMA = /\s*,\s*/;
+var cssQuery = function($selector, $$from) {
+try {
+	var $match = [];
+	var $useCache = arguments.callee.caching && !$$from;
+	var $base = ($$from) ? ($$from.constructor == Array) ? $$from : [$$from] : [document];
+	// process comma separated selectors
+	var $$selectors = parseSelector($selector).split($COMMA), i;
+	for (i = 0; i < $$selectors.length; i++) {
+		// convert the selector to a stream
+		$selector = _toStream($$selectors[i]);
+		// faster chop if it starts with id (MSIE only)
+		if (isMSIE && $selector.slice(0, 3).join("") == " *#") {
+			$selector = $selector.slice(2);
+			$$from = _msie_selectById([], $base, $selector[1]);
+		} else $$from = $base;
+		// process the stream
+		var j = 0, $token, $filter, $arguments, $cacheSelector = "";
+		while (j < $selector.length) {
+			$token = $selector[j++];
+			$filter = $selector[j++];
+			$cacheSelector += $token + $filter;
+			// some pseudo-classes allow arguments to be passed
+			//  e.g. nth-child(even)
+			$arguments = "";
+			if ($selector[j] == "(") {
+				while ($selector[j++] != ")" && j < $selector.length) {
+					$arguments += $selector[j];
+				}
+				$arguments = $arguments.slice(0, -1);
+				$cacheSelector += "(" + $arguments + ")";
+			}
+			// process a token/filter pair use cached results if possible
+			$$from = ($useCache && cache[$cacheSelector]) ?
+				cache[$cacheSelector] : select($$from, $token, $filter, $arguments);
+			if ($useCache) cache[$cacheSelector] = $$from;
+		}
+		$match = $match.concat($$from);
+	}
+	delete cssQuery.error;
+	return $match;
+} catch ($error) {
+	cssQuery.error = $error;
+	return [];
+}};
+
+// -----------------------------------------------------------------------
+// public interface
+// -----------------------------------------------------------------------
+
+cssQuery.toString = function() {
+	return "function cssQuery() {\n  [version " + version + "]\n}";
+};
+
+// caching
+var cache = {};
+cssQuery.caching = false;
+cssQuery.clearCache = function($selector) {
+	if ($selector) {
+		$selector = _toStream($selector).join("");
+		delete cache[$selector];
+	} else cache = {};
+};
+
+// allow extensions
+var modules = {};
+var loaded = false;
+cssQuery.addModule = function($name, $script) {
+	if (loaded) eval("$script=" + String($script));
+	modules[$name] = new $script();;
+};
+
+// hackery
+cssQuery.valueOf = function($code) {
+	return $code ? eval($code) : this;
+};
+
+// -----------------------------------------------------------------------
+// declarations
+// -----------------------------------------------------------------------
+
+var selectors = {};
+var pseudoClasses = {};
+// a safari bug means that these have to be declared here
+var AttributeSelector = {match: /\[([\w-]+(\|[\w-]+)?)\s*(\W?=)?\s*([^\]]*)\]/};
+var attributeSelectors = [];
+
+// -----------------------------------------------------------------------
+// selectors
+// -----------------------------------------------------------------------
+
+// descendant selector
+selectors[" "] = function($results, $from, $tagName, $namespace) {
+	// loop through current selection
+	var $element, i, j;
+	for (i = 0; i < $from.length; i++) {
+		// get descendants
+		var $subset = getElementsByTagName($from[i], $tagName, $namespace);
+		// loop through descendants and add to results selection
+		for (j = 0; ($element = $subset[j]); j++) {
+			if (thisElement($element) && compareNamespace($element, $namespace))
+				$results.push($element);
+		}
+	}
+};
+
+// ID selector
+selectors["#"] = function($results, $from, $id) {
+	// loop through current selection and check ID
+	var $element, j;
+	for (j = 0; ($element = $from[j]); j++) if ($element.id == $id) $results.push($element);
+};
+
+// class selector
+selectors["."] = function($results, $from, $className) {
+	// create a RegExp version of the class
+	$className = new RegExp("(^|\\s)" + $className + "(\\s|$)");
+	// loop through current selection and check class
+	var $element, i;
+	for (i = 0; ($element = $from[i]); i++)
+		if ($className.test($element.className)) $results.push($element);
+};
+
+// pseudo-class selector
+selectors[":"] = function($results, $from, $pseudoClass, $arguments) {
+	// retrieve the cssQuery pseudo-class function
+	var $test = pseudoClasses[$pseudoClass], $element, i;
+	// loop through current selection and apply pseudo-class filter
+	if ($test) for (i = 0; ($element = $from[i]); i++)
+		// if the cssQuery pseudo-class function returns "true" add the element
+		if ($test($element, $arguments)) $results.push($element);
+};
+
+// -----------------------------------------------------------------------
+// pseudo-classes
+// -----------------------------------------------------------------------
+
+pseudoClasses["link"] = function($element) {
+	var $document = getDocument($element);
+	if ($document.links) for (var i = 0; i < $document.links.length; i++) {
+		if ($document.links[i] == $element) return true;
+	}
+};
+
+pseudoClasses["visited"] = function($element) {
+	// can't do this without jiggery-pokery
+};
+
+// -----------------------------------------------------------------------
+// DOM traversal
+// -----------------------------------------------------------------------
+
+// IE5/6 includes comments (LOL) in it's elements collections.
+// so we have to check for this. the test is tagName != "!". LOL (again).
+var thisElement = function($element) {
+	return ($element && $element.nodeType == 1 && $element.tagName != "!") ? $element : null;
+};
+
+// return the previous element to the supplied element
+//  previousSibling is not good enough as it might return a text or comment node
+var previousElementSibling = function($element) {
+	while ($element && ($element = $element.previousSibling) && !thisElement($element)) continue;
+	return $element;
+};
+
+// return the next element to the supplied element
+var nextElementSibling = function($element) {
+	while ($element && ($element = $element.nextSibling) && !thisElement($element)) continue;
+	return $element;
+};
+
+// return the first child ELEMENT of an element
+//  NOT the first child node (though they may be the same thing)
+var firstElementChild = function($element) {
+	return thisElement($element.firstChild) || nextElementSibling($element.firstChild);
+};
+
+var lastElementChild = function($element) {
+	return thisElement($element.lastChild) || previousElementSibling($element.lastChild);
+};
+
+// return child elements of an element (not child nodes)
+var childElements = function($element) {
+	var $childElements = [];
+	$element = firstElementChild($element);
+	while ($element) {
+		$childElements.push($element);
+		$element = nextElementSibling($element);
+	}
+	return $childElements;
+};
+
+// -----------------------------------------------------------------------
+// browser compatibility
+// -----------------------------------------------------------------------
+
+// all of the functions in this section can be overwritten. the default
+//  configuration is for IE. The functions below reflect this. standard
+//  methods are included in a separate module. It would probably be better
+//  the other way round of course but this makes it easier to keep IE7 trim.
+
+var isMSIE = true;
+
+var isXML = function($element) {
+	var $document = getDocument($element);
+	return (typeof $document.mimeType == "unknown") ?
+		/\.xml$/i.test($document.URL) :
+		Boolean($document.mimeType == "XML Document");
+};
+
+// return the element's containing document
+var getDocument = function($element) {
+	return $element.ownerDocument || $element.document;
+};
+
+var getElementsByTagName = function($element, $tagName) {
+	return ($tagName == "*" && $element.all) ? $element.all : $element.getElementsByTagName($tagName);
+};
+
+var compareTagName = function($element, $tagName, $namespace) {
+	if ($tagName == "*") return thisElement($element);
+	if (!compareNamespace($element, $namespace)) return false;
+	if (!isXML($element)) $tagName = $tagName.toUpperCase();
+	return $element.tagName == $tagName;
+};
+
+var compareNamespace = function($element, $namespace) {
+	return !$namespace || ($namespace == "*") || ($element.scopeName == $namespace);
+};
+
+var getTextContent = function($element) {
+	return $element.innerText;
+};
+
+function _msie_selectById($results, $from, id) {
+	var $match, i, j;
+	for (i = 0; i < $from.length; i++) {
+		if ($match = $from[i].all.item(id)) {
+			if ($match.id == id) $results.push($match);
+			else if ($match.length != null) {
+				for (j = 0; j < $match.length; j++) {
+					if ($match[j].id == id) $results.push($match[j]);
+				}
+			}
+		}
+	}
+	return $results;
+};
+
+// for IE5.0
+if (![].push) Array.prototype.push = function() {
+	for (var i = 0; i < arguments.length; i++) {
+		this[this.length] = arguments[i];
+	}
+	return this.length;
+};
+
+// -----------------------------------------------------------------------
+// query support
+// -----------------------------------------------------------------------
+
+// select a set of matching elements.
+// "from" is an array of elements.
+// "token" is a character representing the type of filter
+//  e.g. ">" means child selector
+// "filter" represents the tag name, id or class name that is being selected
+// the function returns an array of matching elements
+var $NAMESPACE = /\|/;
+function select($$from, $token, $filter, $arguments) {
+	if ($NAMESPACE.test($filter)) {
+		$filter = $filter.split($NAMESPACE);
+		$arguments = $filter[0];
+		$filter = $filter[1];
+	}
+	var $results = [];
+	if (selectors[$token]) {
+		selectors[$token]($results, $$from, $filter, $arguments);
+	}
+	return $results;
+};
+
+// -----------------------------------------------------------------------
+// parsing
+// -----------------------------------------------------------------------
+
+// convert css selectors to a stream of tokens and filters
+//  it's not a real stream. it's just an array of strings.
+var $STANDARD_SELECT = /^[^\s>+~]/;
+var $$STREAM = /[\s#.:>+~()@]|[^\s#.:>+~()@]+/g;
+function _toStream($selector) {
+	if ($STANDARD_SELECT.test($selector)) $selector = " " + $selector;
+	return $selector.match($$STREAM) || [];
+};
+
+var $WHITESPACE = /\s*([\s>+~(),]|^|$)\s*/g;
+var $IMPLIED_ALL = /([\s>+~,]|[^(]\+|^)([#.:@])/g;
+var parseSelector = function($selector) {
+	return $selector
+	// trim whitespace
+	.replace($WHITESPACE, "$1")
+	// e.g. ".class1" --> "*.class1"
+	.replace($IMPLIED_ALL, "$1*$2");
+};
+
+var Quote = {
+	toString: function() {return "'"},
+	match: /^('[^']*')|("[^"]*")$/,
+	test: function($string) {
+		return this.match.test($string);
+	},
+	add: function($string) {
+		return this.test($string) ? $string : this + $string + this;
+	},
+	remove: function($string) {
+		return this.test($string) ? $string.slice(1, -1) : $string;
+	}
+};
+
+var getText = function($text) {
+	return Quote.remove($text);
+};
+
+var $ESCAPE = /([\/()[\]?{}|*+-])/g;
+function regEscape($string) {
+	return $string.replace($ESCAPE, "\\$1");
+};
+
+// -----------------------------------------------------------------------
+// modules
+// -----------------------------------------------------------------------
+
+// -------- >>      insert modules here for packaging       << -------- \\
+
+loaded = true;
+
+// -----------------------------------------------------------------------
+// return the query function
+// -----------------------------------------------------------------------
+
+return cssQuery;
+
+}(); // cssQuery
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/narcissus-exec.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/narcissus-exec.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/narcissus-exec.js	(revision 4307)
@@ -0,0 +1,1054 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * vim: set ts=4 sw=4 et tw=80:
+ *
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is the Narcissus JavaScript engine.
+ *
+ * The Initial Developer of the Original Code is
+ * Brendan Eich <brendan@mozilla.org>.
+ * Portions created by the Initial Developer are Copyright (C) 2004
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+/*
+ * Narcissus - JS implemented in JS.
+ *
+ * Execution of parse trees.
+ *
+ * Standard classes except for eval, Function, Array, and String are borrowed
+ * from the host JS environment.  Function is metacircular.  Array and String
+ * are reflected via wrapping the corresponding native constructor and adding
+ * an extra level of prototype-based delegation.
+ */
+
+// jrh
+//module('JS.Exec');
+// end jrh
+
+GLOBAL_CODE = 0; EVAL_CODE = 1; FUNCTION_CODE = 2;
+
+function ExecutionContext(type) {
+    this.type = type;
+}
+
+// jrh
+var agenda = new Array();
+var skip_setup = 0;
+// end jrh
+
+var global = {
+    // Value properties.
+    NaN: NaN, Infinity: Infinity, undefined: undefined,
+    alert : function(msg) { alert(msg) },
+    confirm : function(msg) { return confirm(msg) },
+    document : document,
+    window : window,
+    // jrh
+    //debug: window.open('','debugwindow','width=600,height=400,scrollbars=yes,resizable=yes'),     
+    // end jrh
+    navigator : navigator,
+    XMLHttpRequest : function() { return new XMLHttpRequest() },
+    // Function properties.
+    eval: function(s) {
+        if (typeof s != "string") {
+            return s;
+        }
+
+        var x = ExecutionContext.current;
+        var x2 = new ExecutionContext(EVAL_CODE);
+        x2.thisObject = x.thisObject;
+        x2.caller = x.caller;
+        x2.callee = x.callee;
+        x2.scope = x.scope;
+        ExecutionContext.current = x2;
+        try {
+            execute(parse(s), x2);
+        } catch (e) {
+            x.result = x2.result;
+            throw e;
+        } finally {
+            ExecutionContext.current = x;
+        }
+        return x2.result;
+    },
+    parseInt: parseInt, parseFloat: parseFloat,
+    isNaN: isNaN, isFinite: isFinite,
+    decodeURI: decodeURI, encodeURI: encodeURI,
+    decodeURIComponent: decodeURIComponent,
+    encodeURIComponent: encodeURIComponent,
+
+    // Class constructors.  Where ECMA-262 requires C.length == 1, we declare
+    // a dummy formal parameter.
+    Object: Object,
+    Function: function(dummy) {
+        var p = "", b = "", n = arguments.length;
+        if (n) {
+            var m = n - 1;
+            if (m) {
+                p += arguments[0];
+                for (var k = 1; k < m; k++)
+                    p += "," + arguments[k];
+            }
+            b += arguments[m];
+        }
+
+        // XXX We want to pass a good file and line to the tokenizer.
+        // Note the anonymous name to maintain parity with Spidermonkey.
+        var t = new Tokenizer("anonymous(" + p + ") {" + b + "}");
+
+        // NB: Use the STATEMENT_FORM constant since we don't want to push this
+        // function onto the null compilation context.
+        var f = FunctionDefinition(t, null, false, STATEMENT_FORM);
+        var s = {object: global, parent: null};
+        return new FunctionObject(f, s);
+    },
+    Array: function(dummy) {
+        // Array when called as a function acts as a constructor.
+        return GLOBAL.Array.apply(this, arguments);
+    },
+    String: function(s) {
+        // Called as function or constructor: convert argument to string type.
+        s = arguments.length ? "" + s : "";
+        if (this instanceof String) {
+            // Called as constructor: save the argument as the string value
+            // of this String object and return this object.
+            this.value = s;
+            return this;
+        }
+        return s;
+    },
+    Boolean: Boolean, Number: Number, Date: Date, RegExp: RegExp,
+    Error: Error, EvalError: EvalError, RangeError: RangeError,
+    ReferenceError: ReferenceError, SyntaxError: SyntaxError,
+    TypeError: TypeError, URIError: URIError,
+
+    // Other properties.
+    Math: Math,
+
+    // Extensions to ECMA.
+    //snarf: snarf,
+    evaluate: evaluate,
+    load: function(s) {
+        if (typeof s != "string")
+            return s;
+        var req = new XMLHttpRequest();
+        req.open('GET', s, false);
+        req.send(null);
+
+        evaluate(req.responseText, s, 1)
+    },
+    print: print, version: null
+};
+
+// jrh
+//global.debug.document.body.innerHTML = ''
+// end jrh
+
+// Helper to avoid Object.prototype.hasOwnProperty polluting scope objects.
+function hasDirectProperty(o, p) {
+    return Object.prototype.hasOwnProperty.call(o, p);
+}
+
+// Reflect a host class into the target global environment by delegation.
+function reflectClass(name, proto) {
+    var gctor = global[name];
+    gctor.prototype = proto;
+    proto.constructor = gctor;
+    return proto;
+}
+
+// Reflect Array -- note that all Array methods are generic.
+reflectClass('Array', new Array);
+
+// Reflect String, overriding non-generic methods.
+var gSp = reflectClass('String', new String);
+gSp.toSource = function () { return this.value.toSource(); };
+gSp.toString = function () { return this.value; };
+gSp.valueOf  = function () { return this.value; };
+global.String.fromCharCode = String.fromCharCode;
+
+var XCp = ExecutionContext.prototype;
+ExecutionContext.current = XCp.caller = XCp.callee = null;
+XCp.scope = {object: global, parent: null};
+XCp.thisObject = global;
+XCp.result = undefined;
+XCp.target = null;
+XCp.ecmaStrictMode = false;
+
+function Reference(base, propertyName, node) {
+    this.base = base;
+    this.propertyName = propertyName;
+    this.node = node;
+}
+
+Reference.prototype.toString = function () { return this.node.getSource(); }
+
+function getValue(v) {
+    if (v instanceof Reference) {
+        if (!v.base) {
+            throw new ReferenceError(v.propertyName + " is not defined",
+                                     v.node.filename(), v.node.lineno);
+        }
+        return v.base[v.propertyName];
+    }
+    return v;
+}
+
+function putValue(v, w, vn) {
+    if (v instanceof Reference)
+        return (v.base || global)[v.propertyName] = w;
+    throw new ReferenceError("Invalid assignment left-hand side",
+                             vn.filename(), vn.lineno);
+}
+
+function isPrimitive(v) {
+    var t = typeof v;
+    return (t == "object") ? v === null : t != "function";
+}
+
+function isObject(v) {
+    var t = typeof v;
+    return (t == "object") ? v !== null : t == "function";
+}
+
+// If r instanceof Reference, v == getValue(r); else v === r.  If passed, rn
+// is the node whose execute result was r.
+function toObject(v, r, rn) {
+    switch (typeof v) {
+      case "boolean":
+        return new global.Boolean(v);
+      case "number":
+        return new global.Number(v);
+      case "string":
+        return new global.String(v);
+      case "function":
+        return v;
+      case "object":
+        if (v !== null)
+            return v;
+    }
+    var message = r + " (type " + (typeof v) + ") has no properties";
+    throw rn ? new TypeError(message, rn.filename(), rn.lineno)
+             : new TypeError(message);
+}
+
+function execute(n, x) {
+    if (!this.new_block)
+        new_block = new Array();
+    //alert (n)
+    var a, f, i, j, r, s, t, u, v;
+    switch (n.type) {
+      case FUNCTION:
+        if (n.functionForm != DECLARED_FORM) {
+            if (!n.name || n.functionForm == STATEMENT_FORM) {
+                v = new FunctionObject(n, x.scope);
+                if (n.functionForm == STATEMENT_FORM)
+                    x.scope.object[n.name] = v;
+            } else {
+                t = new Object;
+                x.scope = {object: t, parent: x.scope};
+                try {
+                    v = new FunctionObject(n, x.scope);
+                    t[n.name] = v;
+                } finally {
+                    x.scope = x.scope.parent;
+                }
+            }
+        }
+        break;
+
+      case SCRIPT:      
+        t = x.scope.object;
+        a = n.funDecls;
+        for (i = 0, j = a.length; i < j; i++) {
+            s = a[i].name;
+            f = new FunctionObject(a[i], x.scope);
+            t[s] = f;
+        }
+        a = n.varDecls;
+        for (i = 0, j = a.length; i < j; i++) {
+            u = a[i];
+            s = u.name;
+            if (u.readOnly && hasDirectProperty(t, s)) {
+                throw new TypeError("Redeclaration of const " + s,
+                                    u.filename(), u.lineno);
+            }
+            if (u.readOnly || !hasDirectProperty(t, s)) {
+                t[s] = null;
+            }
+        }
+        // FALL THROUGH
+
+      case BLOCK:        
+        for (i = 0, j = n.$length; i < j; i++)  {  
+            //jrh
+            //execute(n[i], x);      
+            //new_block.unshift([n[i], x]);            
+            new_block.push([n[i], x]);         
+        }
+        new_block.reverse();        
+        agenda = agenda.concat(new_block);   
+        //agenda = new_block.concat(agenda)
+        // end jrh
+        break;
+
+      case IF:
+        if (getValue(execute(n.condition, x)))
+            execute(n.thenPart, x);
+        else if (n.elsePart)
+            execute(n.elsePart, x);
+        break;
+
+      case SWITCH:
+        s = getValue(execute(n.discriminant, x));
+        a = n.cases;
+        var matchDefault = false;
+      switch_loop:
+        for (i = 0, j = a.length; ; i++) {
+            if (i == j) {
+                if (n.defaultIndex >= 0) {
+                    i = n.defaultIndex - 1; // no case matched, do default
+                    matchDefault = true;
+                    continue;
+                }
+                break;                      // no default, exit switch_loop
+            }
+            t = a[i];                       // next case (might be default!)
+            if (t.type == CASE) {
+                u = getValue(execute(t.caseLabel, x));
+            } else {
+                if (!matchDefault)          // not defaulting, skip for now
+                    continue;
+                u = s;                      // force match to do default
+            }
+            if (u === s) {
+                for (;;) {                  // this loop exits switch_loop
+                    if (t.statements.length) {
+                        try {
+                            execute(t.statements, x);
+                        } catch (e) {
+                            if (!(e == BREAK && x.target == n)) { throw e }
+                            break switch_loop;
+                        }
+                    }
+                    if (++i == j)
+                        break switch_loop;
+                    t = a[i];
+                }
+                // NOT REACHED
+            }
+        }
+        break;
+
+      case FOR:
+        // jrh
+        // added "skip_setup" so initialization doesn't get called
+        // on every call..
+        if (!skip_setup)
+            n.setup && getValue(execute(n.setup, x));
+        // FALL THROUGH
+      case WHILE:
+        // jrh       
+        //while (!n.condition || getValue(execute(n.condition, x))) {
+        if (!n.condition || getValue(execute(n.condition, x))) {
+            try {
+                // jrh 
+                //execute(n.body, x);
+                new_block.push([n.body, x]);
+                agenda.push([n.body, x])
+                //agenda.unshift([n.body, x])
+                // end jrh
+            } catch (e) {
+                if (e == BREAK && x.target == n) {
+                    break;
+                } else if (e == CONTINUE && x.target == n) {
+                    // jrh
+                    // 'continue' is invalid inside an 'if' clause
+                    // I don't know what commenting this out will break!
+                    //continue;
+                    // end jrh
+                    
+                } else {
+                    throw e;
+                }
+            }    
+            n.update && getValue(execute(n.update, x));
+            // jrh
+            new_block.unshift([n, x])
+            agenda.splice(agenda.length-1,0,[n, x])
+            //agenda.splice(1,0,[n, x])
+            skip_setup = 1
+            // end jrh
+        } else {
+            skip_setup = 0
+        }
+        
+        break;
+
+      case FOR_IN:
+        u = n.varDecl;
+        if (u)
+            execute(u, x);
+        r = n.iterator;
+        s = execute(n.object, x);
+        v = getValue(s);
+
+        // ECMA deviation to track extant browser JS implementation behavior.
+        t = (v == null && !x.ecmaStrictMode) ? v : toObject(v, s, n.object);
+        a = [];
+        for (i in t)
+            a.push(i);
+        for (i = 0, j = a.length; i < j; i++) {
+            putValue(execute(r, x), a[i], r);
+            try {
+                execute(n.body, x);
+            } catch (e) {
+                if (e == BREAK && x.target == n) {
+                    break;
+                } else if (e == CONTINUE && x.target == n) {
+                    continue;
+                } else {
+                    throw e;
+                }
+            }
+        }
+        break;
+
+      case DO:
+        do {
+            try {
+                execute(n.body, x);
+            } catch (e) {
+                if (e == BREAK && x.target == n) {
+                    break;
+                } else if (e == CONTINUE && x.target == n) {
+                    continue;
+                } else {
+                    throw e;
+                }
+            }
+        } while (getValue(execute(n.condition, x)));
+        break;
+
+      case BREAK:
+      case CONTINUE:
+        x.target = n.target;
+        throw n.type;
+
+      case TRY:
+        try {
+            execute(n.tryBlock, x);
+        } catch (e) {
+            if (!(e == THROW && (j = n.catchClauses.length))) {
+                throw e;
+            }
+            e = x.result;
+            x.result = undefined;
+            for (i = 0; ; i++) {
+                if (i == j) {
+                    x.result = e;
+                    throw THROW;
+                }
+                t = n.catchClauses[i];
+                x.scope = {object: {}, parent: x.scope};
+                x.scope.object[t.varName] = e;
+                try {
+                    if (t.guard && !getValue(execute(t.guard, x)))
+                        continue;
+                    execute(t.block, x);
+                    break;
+                } finally {
+                    x.scope = x.scope.parent;
+                }
+            }
+        } finally {
+            if (n.finallyBlock)
+                execute(n.finallyBlock, x);
+        }
+        break;
+
+      case THROW:
+        x.result = getValue(execute(n.exception, x));
+        throw THROW;
+
+      case RETURN:
+        x.result = getValue(execute(n.value, x));
+        throw RETURN;
+
+      case WITH:
+        r = execute(n.object, x);
+        t = toObject(getValue(r), r, n.object);
+        x.scope = {object: t, parent: x.scope};
+        try {
+            execute(n.body, x);
+        } finally {
+            x.scope = x.scope.parent;
+        }
+        break;
+
+      case VAR:
+      case CONST:
+        for (i = 0, j = n.$length; i < j; i++) {
+            u = n[i].initializer;
+            if (!u)
+                continue;
+            t = n[i].name;
+            for (s = x.scope; s; s = s.parent) {
+                if (hasDirectProperty(s.object, t))
+                    break;
+            }
+            u = getValue(execute(u, x));
+            if (n.type == CONST)
+                s.object[t] = u;
+            else
+                s.object[t] = u;
+        }
+        break;
+
+      case DEBUGGER:
+        throw "NYI: " + tokens[n.type];
+
+      case REQUIRE:
+        var req = new XMLHttpRequest();
+        req.open('GET', n.filename, 'false');
+
+      case SEMICOLON:
+        if (n.expression)
+            // print debugging statements
+                     
+            var the_start = n.start
+            var the_end = n.end
+            var the_statement = parse_result.tokenizer.source.slice(the_start,the_end)
+            //global.debug.document.body.innerHTML += ('<pre>&gt;&gt;&gt; <b>' + the_statement + '</b></pre>')
+            LOG.info('>>>' + the_statement)
+            x.result = getValue(execute(n.expression, x));   
+            //if (x.result)
+            //global.debug.document.body.innerHTML += ( '<pre>&gt;&gt;&gt; ' + x.result + '</pre>')
+            
+        break;
+
+      case LABEL:
+        try {
+            execute(n.statement, x);
+        } catch (e) {
+            if (!(e == BREAK && x.target == n)) { throw e }
+        }
+        break;
+
+      case COMMA:
+        for (i = 0, j = n.$length; i < j; i++)
+            v = getValue(execute(n[i], x));
+        break;
+
+      case ASSIGN:
+        r = execute(n[0], x);
+        t = n[0].assignOp;
+        if (t)
+            u = getValue(r);
+        v = getValue(execute(n[1], x));
+        if (t) {
+            switch (t) {
+              case BITWISE_OR:  v = u | v; break;
+              case BITWISE_XOR: v = u ^ v; break;
+              case BITWISE_AND: v = u & v; break;
+              case LSH:         v = u << v; break;
+              case RSH:         v = u >> v; break;
+              case URSH:        v = u >>> v; break;
+              case PLUS:        v = u + v; break;
+              case MINUS:       v = u - v; break;
+              case MUL:         v = u * v; break;
+              case DIV:         v = u / v; break;
+              case MOD:         v = u % v; break;
+            }
+        }
+        putValue(r, v, n[0]);
+        break;
+
+      case CONDITIONAL:
+        v = getValue(execute(n[0], x)) ? getValue(execute(n[1], x))
+                                       : getValue(execute(n[2], x));
+        break;
+
+      case OR:
+        v = getValue(execute(n[0], x)) || getValue(execute(n[1], x));
+        break;
+
+      case AND:
+        v = getValue(execute(n[0], x)) && getValue(execute(n[1], x));
+        break;
+
+      case BITWISE_OR:
+        v = getValue(execute(n[0], x)) | getValue(execute(n[1], x));
+        break;
+
+      case BITWISE_XOR:
+        v = getValue(execute(n[0], x)) ^ getValue(execute(n[1], x));
+        break;
+
+      case BITWISE_AND:
+        v = getValue(execute(n[0], x)) & getValue(execute(n[1], x));
+        break;
+
+      case EQ:
+        v = getValue(execute(n[0], x)) == getValue(execute(n[1], x));
+        break;
+
+      case NE:
+        v = getValue(execute(n[0], x)) != getValue(execute(n[1], x));
+        break;
+
+      case STRICT_EQ:
+        v = getValue(execute(n[0], x)) === getValue(execute(n[1], x));
+        break;
+
+      case STRICT_NE:
+        v = getValue(execute(n[0], x)) !== getValue(execute(n[1], x));
+        break;
+
+      case LT:
+        v = getValue(execute(n[0], x)) < getValue(execute(n[1], x));
+        break;
+
+      case LE:
+        v = getValue(execute(n[0], x)) <= getValue(execute(n[1], x));
+        break;
+
+      case GE:
+        v = getValue(execute(n[0], x)) >= getValue(execute(n[1], x));
+        break;
+
+      case GT:
+        v = getValue(execute(n[0], x)) > getValue(execute(n[1], x));
+        break;
+
+      case IN:
+        v = getValue(execute(n[0], x)) in getValue(execute(n[1], x));
+        break;
+
+      case INSTANCEOF:
+        t = getValue(execute(n[0], x));
+        u = getValue(execute(n[1], x));
+        if (isObject(u) && typeof u.__hasInstance__ == "function")
+            v = u.__hasInstance__(t);
+        else
+            v = t instanceof u;
+        break;
+
+      case LSH:
+        v = getValue(execute(n[0], x)) << getValue(execute(n[1], x));
+        break;
+
+      case RSH:
+        v = getValue(execute(n[0], x)) >> getValue(execute(n[1], x));
+        break;
+
+      case URSH:
+        v = getValue(execute(n[0], x)) >>> getValue(execute(n[1], x));
+        break;
+
+      case PLUS:
+        v = getValue(execute(n[0], x)) + getValue(execute(n[1], x));
+        break;
+
+      case MINUS:
+        v = getValue(execute(n[0], x)) - getValue(execute(n[1], x));
+        break;
+
+      case MUL:
+        v = getValue(execute(n[0], x)) * getValue(execute(n[1], x));
+        break;
+
+      case DIV:
+        v = getValue(execute(n[0], x)) / getValue(execute(n[1], x));
+        break;
+
+      case MOD:
+        v = getValue(execute(n[0], x)) % getValue(execute(n[1], x));
+        break;
+
+      case DELETE:
+        t = execute(n[0], x);
+        v = !(t instanceof Reference) || delete t.base[t.propertyName];
+        break;
+
+      case VOID:
+        getValue(execute(n[0], x));
+        break;
+
+      case TYPEOF:
+        t = execute(n[0], x);
+        if (t instanceof Reference)
+            t = t.base ? t.base[t.propertyName] : undefined;
+        v = typeof t;
+        break;
+
+      case NOT:
+        v = !getValue(execute(n[0], x));
+        break;
+
+      case BITWISE_NOT:
+        v = ~getValue(execute(n[0], x));
+        break;
+
+      case UNARY_PLUS:
+        v = +getValue(execute(n[0], x));
+        break;
+
+      case UNARY_MINUS:
+        v = -getValue(execute(n[0], x));
+        break;
+
+      case INCREMENT:
+      case DECREMENT:
+        t = execute(n[0], x);
+        u = Number(getValue(t));
+        if (n.postfix)
+            v = u;
+        putValue(t, (n.type == INCREMENT) ? ++u : --u, n[0]);
+        if (!n.postfix)
+            v = u;
+        break;
+
+      case DOT:
+        r = execute(n[0], x);
+        t = getValue(r);
+        u = n[1].value;
+        v = new Reference(toObject(t, r, n[0]), u, n);
+        break;
+
+      case INDEX:
+        r = execute(n[0], x);
+        t = getValue(r);
+        u = getValue(execute(n[1], x));
+        v = new Reference(toObject(t, r, n[0]), String(u), n);
+        break;
+
+      case LIST:
+        // Curse ECMA for specifying that arguments is not an Array object!
+        v = {};
+        for (i = 0, j = n.$length; i < j; i++) {
+            u = getValue(execute(n[i], x));
+            v[i] = u;
+        }
+        v.length = i;
+        break;
+
+      case CALL:
+        r = execute(n[0], x);
+        a = execute(n[1], x);
+        f = getValue(r);
+        if (isPrimitive(f) || typeof f.__call__ != "function") {
+            throw new TypeError(r + " is not callable",
+                                n[0].filename(), n[0].lineno);
+        }
+        t = (r instanceof Reference) ? r.base : null;
+        if (t instanceof Activation)
+            t = null;
+        v = f.__call__(t, a, x);
+        break;
+
+      case NEW:
+      case NEW_WITH_ARGS:
+        r = execute(n[0], x);
+        f = getValue(r);
+        if (n.type == NEW) {
+            a = {};
+            a.length = 0;
+        } else {
+            a = execute(n[1], x);
+        }
+        if (isPrimitive(f) || typeof f.__construct__ != "function") {
+            throw new TypeError(r + " is not a constructor",
+                                n[0].filename(), n[0].lineno);
+        }
+        v = f.__construct__(a, x);
+        break;
+
+      case ARRAY_INIT:
+        v = [];
+        for (i = 0, j = n.$length; i < j; i++) {
+            if (n[i])
+                v[i] = getValue(execute(n[i], x));
+        }
+        v.length = j;
+        break;
+
+      case OBJECT_INIT:
+        v = {};
+        for (i = 0, j = n.$length; i < j; i++) {
+            t = n[i];
+            if (t.type == PROPERTY_INIT) {
+                v[t[0].value] = getValue(execute(t[1], x));
+            } else {
+                f = new FunctionObject(t, x.scope);
+                /*
+                u = (t.type == GETTER) ? '__defineGetter__'
+                                       : '__defineSetter__';
+                v[u](t.name, thunk(f, x));
+                */
+            }
+        }
+        break;
+
+      case NULL:
+        v = null;
+        break;
+
+      case THIS:
+        v = x.thisObject;
+        break;
+
+      case TRUE:
+        v = true;
+        break;
+
+      case FALSE:
+        v = false;
+        break;
+
+      case IDENTIFIER:
+        for (s = x.scope; s; s = s.parent) {
+            if (n.value in s.object)
+                break;
+        }
+        v = new Reference(s && s.object, n.value, n);
+        break;
+
+      case NUMBER:
+      case STRING:
+      case REGEXP:
+        v = n.value;
+        break;
+
+      case GROUP:
+        v = execute(n[0], x);
+        break;
+
+      default:
+        throw "PANIC: unknown operation " + n.type + ": " + uneval(n);
+    }
+    return v;
+}
+
+function Activation(f, a) {
+    for (var i = 0, j = f.params.length; i < j; i++)
+        this[f.params[i]] = a[i];
+    this.arguments = a;
+}
+
+// Null Activation.prototype's proto slot so that Object.prototype.* does not
+// pollute the scope of heavyweight functions.  Also delete its 'constructor'
+// property so that it doesn't pollute function scopes.
+
+Activation.prototype.__proto__ = null;
+delete Activation.prototype.constructor;
+
+function FunctionObject(node, scope) {
+    this.node = node;
+    this.scope = scope;
+    this.length = node.params.length;
+    var proto = {};
+    this.prototype = proto;
+    proto.constructor = this;
+}
+
+var FOp = FunctionObject.prototype = {
+    // Internal methods.
+    __call__: function (t, a, x) {
+        var x2 = new ExecutionContext(FUNCTION_CODE);
+        x2.thisObject = t || global;
+        x2.caller = x;
+        x2.callee = this;
+        a.callee = this;
+        var f = this.node;
+        x2.scope = {object: new Activation(f, a), parent: this.scope};
+
+        ExecutionContext.current = x2;
+        try {
+            execute(f.body, x2);
+        } catch (e) {
+            if (!(e == RETURN)) { throw e } else if (e == RETURN) {
+                return x2.result;
+            }
+            if (e != THROW) { throw e }
+            x.result = x2.result;
+            throw THROW;
+        } finally {
+            ExecutionContext.current = x;
+        }
+        return undefined;
+    },
+
+    __construct__: function (a, x) {
+        var o = new Object;
+        var p = this.prototype;
+        if (isObject(p))
+            o.__proto__ = p;
+        // else o.__proto__ defaulted to Object.prototype
+
+        var v = this.__call__(o, a, x);
+        if (isObject(v))
+            return v;
+        return o;
+    },
+
+    __hasInstance__: function (v) {
+        if (isPrimitive(v))
+            return false;
+        var p = this.prototype;
+        if (isPrimitive(p)) {
+            throw new TypeError("'prototype' property is not an object",
+                                this.node.filename(), this.node.lineno);
+        }
+        var o;
+        while ((o = v.__proto__)) {
+            if (o == p)
+                return true;
+            v = o;
+        }
+        return false;
+    },
+
+    // Standard methods.
+    toString: function () {
+        return this.node.getSource();
+    },
+
+    apply: function (t, a) {
+        // Curse ECMA again!
+        if (typeof this.__call__ != "function") {
+            throw new TypeError("Function.prototype.apply called on" +
+                                " uncallable object");
+        }
+
+        if (t === undefined || t === null)
+            t = global;
+        else if (typeof t != "object")
+            t = toObject(t, t);
+
+        if (a === undefined || a === null) {
+            a = {};
+            a.length = 0;
+        } else if (a instanceof Array) {
+            var v = {};
+            for (var i = 0, j = a.length; i < j; i++)
+                v[i] = a[i];
+            v.length = i;
+            a = v;
+        } else if (!(a instanceof Object)) {
+            // XXX check for a non-arguments object
+            throw new TypeError("Second argument to Function.prototype.apply" +
+                                " must be an array or arguments object",
+                                this.node.filename(), this.node.lineno);
+        }
+
+        return this.__call__(t, a, ExecutionContext.current);
+    },
+
+    call: function (t) {
+        // Curse ECMA a third time!
+        var a = Array.prototype.splice.call(arguments, 1);
+        return this.apply(t, a);
+    }
+};
+
+// Connect Function.prototype and Function.prototype.constructor in global.
+reflectClass('Function', FOp);
+
+// Help native and host-scripted functions be like FunctionObjects.
+var Fp = Function.prototype;
+var REp = RegExp.prototype;
+
+if (!('__call__' in Fp)) {
+    Fp.__call__ = function (t, a, x) {
+        // Curse ECMA yet again!
+        a = Array.prototype.splice.call(a, 0, a.length);
+        return this.apply(t, a);
+    };
+
+    REp.__call__ = function (t, a, x) {
+        a = Array.prototype.splice.call(a, 0, a.length);
+        return this.exec.apply(this, a);
+    };
+
+    Fp.__construct__ = function (a, x) {
+        switch (a.length) {
+          case 0:
+            return new this();
+          case 1:
+            return new this(a[0]);
+          case 2:
+            return new this(a[0], a[1]);
+          case 3:
+            return new this(a[0], a[1], a[2]);
+          case 4:
+            return new this(a[0], a[1], a[2], a[3]);
+          case 5:
+            return new this(a[0], a[1], a[2], a[3], a[4]);
+          case 6:
+            return new this(a[0], a[1], a[2], a[3], a[4], a[5]);
+          case 7:
+            return new this(a[0], a[1], a[2], a[3], a[4], a[5], a[6]);
+        }
+        throw "PANIC: too many arguments to constructor";
+    }
+
+    // Since we use native functions such as Date along with host ones such
+    // as global.eval, we want both to be considered instances of the native
+    // Function constructor.
+    Fp.__hasInstance__ = function (v) {
+        return v instanceof Function || v instanceof global.Function;
+    };
+}
+
+function thunk(f, x) {
+    return function () { return f.__call__(this, arguments, x); };
+}
+
+function evaluate(s, f, l) {
+    if (typeof s != "string")
+        return s;
+
+    var x = ExecutionContext.current;
+    var x2 = new ExecutionContext(GLOBAL_CODE);
+    ExecutionContext.current = x2;
+    try {
+        execute(parse(s, f, l), x2);
+    } catch (e) {
+        if (e != THROW) { throw e }
+        if (x) {
+            x.result = x2.result;
+            throw(THROW);
+        }
+        throw x2.result;
+    } finally {
+        ExecutionContext.current = x;
+    }
+    return x2.result;
+}
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/RemoteRunner.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/RemoteRunner.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/RemoteRunner.html	(revision 4307)
@@ -0,0 +1,109 @@
+<html>
+
+<!--
+Copyright 2004 ThoughtWorks, Inc
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<HTA:APPLICATION ID="SeleniumHTARunner" APPLICATIONNAME="Selenium" >
+<head>
+<meta content="text/html; charset=ISO-8859-1"
+http-equiv="content-type">
+<title>Selenium Functional Test Runner</title>
+<link rel="stylesheet" type="text/css" href="selenium.css" />
+<script language="JavaScript" type="text/javascript" src="jsunit/app/jsUnitCore.js"></script>
+<script type="text/javascript" src="scripts/xmlextras.js"></script>
+<script language="JavaScript" type="text/javascript" src="lib/prototype.js"></script>
+<script language="JavaScript" type="text/javascript" src="scripts/htmlutils.js"></script>
+<script language="JavaScript" type="text/javascript" src="scripts/selenium-browserdetect.js"></script>
+<script language="JavaScript" type="text/javascript" src="scripts/selenium-browserbot.js"></script>
+<script language="JavaScript" type="text/javascript" src="scripts/find_matching_child.js"></script>
+<script language="JavaScript" type="text/javascript" src="scripts/selenium-api.js"></script>
+<script language="JavaScript" type="text/javascript" src="scripts/selenium-commandhandlers.js"></script>
+<script language="JavaScript" type="text/javascript" src="scripts/selenium-executionloop.js"></script>
+<script language="JavaScript" type="text/javascript" src="scripts/selenium-remoterunner.js"></script>
+<script language="JavaScript" type="text/javascript" src="scripts/selenium-logging.js"></script>
+<script language="JavaScript" type="text/javascript" src="scripts/selenium-version.js"></script>
+<script language="JavaScript" type="text/javascript" src="xpath/misc.js"></script>
+<script language="JavaScript" type="text/javascript" src="xpath/dom.js"></script>
+<script language="JavaScript" type="text/javascript" src="xpath/xpath.js"></script>
+<script language="JavaScript" type="text/javascript" src="scripts/user-extensions.js"></script>
+<script language="JavaScript" type="text/javascript">
+    function openDomViewer() {
+        var autFrame = document.getElementById('myiframe');
+        var autFrameDocument = getIframeDocument(autFrame);
+        var domViewer = window.open(getDocumentBase(document) + 'domviewer/domviewer.html');
+        domViewer.rootDocument = autFrameDocument;
+        return false;
+    }
+
+    function cleanUp() {
+    	if (LOG != null) {
+		LOG.close();
+	}
+    }
+
+</script>
+</head>
+
+<body onLoad="setTimeout(function(){runSeleniumTest();},1000)" onUnload="cleanUp()">
+
+<table border="1" style="height: 100%;">
+  <tr>
+    <td width="50%" height="30%">
+      <table>
+      <tr>
+        <td>
+          <img src="selenium-logo.png">
+        </td>
+        <td>
+          <h1><a href="http://selenium.thoughtworks.com" >Selenium</a> Functional Testing for Web Apps</h1>
+          Open Source From <a href="http://www.thoughtworks.com">ThoughtWorks, Inc</a> and Friends
+          <form action="">
+          <br/>Slow Mode:<INPUT TYPE="CHECKBOX" NAME="FASTMODE" VALUE="YES" onmouseup="slowClicked()">
+
+          <fieldset>
+            <legend>Tools</legend>
+
+            <button type="button" id="domViewer1" onclick="openDomViewer();">
+              View DOM
+            </button>
+            <button type="button" onclick="LOG.show();">
+              Show Log
+            </button>
+          </fieldset>
+
+          </form>
+
+        </td>
+      </tr>
+      </table>
+      <form action="">
+        <label id="context" name="context"></label>
+      </form>
+    </td>
+    <td width="50%" height="30%">
+      <b>Last Four Test Commands:</b><br/>
+      <div id="commandList"></div>
+    </td>
+  </tr>
+    <tr>
+    <td colspan="2" height="70%">
+      <iframe name="myiframe" id="myiframe" src="" height="100%" width="100%"></iframe>
+    </td>
+  </tr>
+</table>
+
+</body>
+</html>
+
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/domviewer/butmin.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/domviewer/butmin.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/domviewer/domviewer.css
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/domviewer/domviewer.css	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/domviewer/domviewer.css	(revision 4307)
@@ -0,0 +1,298 @@
+/******************************************************************************
+* Defines default styles for site pages.                                      *
+******************************************************************************/
+.hidden {
+	display: none;
+}
+
+img{
+    display: inline;
+	border: none;
+}
+
+.box{
+	background: #fcfcfc;
+    border: 1px solid #000;
+	border-color: blue;
+    color: #000000;
+	margin: 10px auto;
+    padding: 3px;
+	vertical-align: bottom;
+}
+a {
+  text-decoration: none;
+}
+
+body {
+  background-color: #ffffff;
+  color: #000000;
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 10pt;
+}
+
+h2 {
+  font-size: 140%;
+}
+
+h3 {
+  font-size: 120%;
+}
+
+h4 {
+  font-size: 100%;
+}
+
+pre {
+  font-family: Courier New, Courier, monospace;
+  font-size: 80%;
+}
+
+td, th {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 10pt;
+  text-align: left;
+  vertical-align: top;
+}
+
+th {
+  font-weight: bold;
+  vertical-align: bottom;
+}
+
+ul {
+  list-style-type: square;
+}
+
+#demoBox {
+  border-color: #000000;
+  border-style: solid;
+  border-width: 1px;
+  padding: 8px;
+  width: 24em;
+}
+
+.footer {
+  margin-bottom: 0px;
+  text-align: center;
+}
+
+/* Boxed table styles */
+
+table.boxed {
+  border-spacing: 2px;
+  empty-cells: hide;
+}
+
+td.boxed, th.boxed, th.boxedHeader {
+  background-color: #ffffff;
+  border-color: #000000;
+  border-style: solid;
+  border-width: 1px;
+  color: #000000;
+  padding: 2px;
+  padding-left: 8px;
+  padding-right: 8px;
+}
+
+th.boxed {
+  background-color: #c0c0c0;
+}
+
+th.boxedHeader {
+  background-color: #808080;
+  color: #ffffff;
+}
+
+a.object {
+  color: #0000ff;
+}
+
+li {
+  white-space: nowrap;
+}
+
+ul {
+  list-style-type: square;
+  margin-left: 0px;
+  padding-left: 1em;
+}
+
+.boxlevel1{
+	background: #FFD700;
+}
+
+.boxlevel2{
+	background: #D2691E;
+}
+
+.boxlevel3{
+	background: #DCDCDC;
+}
+
+.boxlevel4{
+	background: #F5F5F5;
+}
+
+.boxlevel5{
+	background: #BEBEBE;
+}
+
+.boxlevel6{
+	background: #D3D3D3;
+}
+
+.boxlevel7{
+	background: #A9A9A9;
+}
+
+.boxlevel8{
+	background: #191970;
+}
+
+.boxlevel9{
+	background: #000080;
+}
+
+.boxlevel10{
+	background: #6495ED;
+}
+
+.boxlevel11{
+	background: #483D8B;
+}
+
+.boxlevel12{
+	background: #6A5ACD;
+}
+
+.boxlevel13{
+	background: #7B68EE;
+}
+
+.boxlevel14{
+	background: #8470FF;
+}
+
+.boxlevel15{
+	background: #0000CD;
+}
+
+.boxlevel16{
+	background: #4169E1;
+}
+
+.boxlevel17{
+	background: #0000FF;
+}
+
+.boxlevel18{
+	background: #1E90FF;
+}
+
+.boxlevel19{
+	background: #00BFFF;
+}
+
+.boxlevel20{
+	background: #87CEEB;
+}
+
+.boxlevel21{
+	background: #B0C4DE;
+}
+
+.boxlevel22{
+	background: #ADD8E6;
+}
+
+.boxlevel23{
+	background: #00CED1;
+}
+
+.boxlevel24{
+	background: #48D1CC;
+}
+
+.boxlevel25{
+	background: #40E0D0;
+}
+
+.boxlevel26{
+	background: #008B8B;
+}
+
+.boxlevel27{
+	background: #00FFFF;
+}
+
+.boxlevel28{
+	background: #E0FFFF;
+}
+
+.boxlevel29{
+	background: #5F9EA0;
+}
+
+.boxlevel30{
+	background: #66CDAA;
+}
+
+.boxlevel31{
+	background: #7FFFD4;
+}
+
+.boxlevel32{
+	background: #006400;
+}
+
+.boxlevel33{
+	background: #556B2F;
+}
+
+.boxlevel34{
+	background: #8FBC8F;
+}
+
+.boxlevel35{
+	background: #2E8B57;
+}
+
+.boxlevel36{
+	background: #3CB371;
+}
+
+.boxlevel37{
+	background: #20B2AA;
+}
+
+.boxlevel38{
+	background: #00FF7F;
+}
+
+.boxlevel39{
+	background: #7CFC00;
+}
+
+.boxlevel40{
+	background: #90EE90;
+}
+
+.boxlevel41{
+	background: #00FF00;
+}
+
+.boxlevel41{
+	background: #7FFF00;
+}
+
+.boxlevel42{
+	background: #00FA9A;
+}
+
+.boxlevel43{
+	background: #ADFF2F;
+}
+
+.boxlevel44{
+	background: #32CD32;
+}
\ No newline at end of file
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/TestRunner-splash.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/TestRunner-splash.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/TestRunner-splash.html	(revision 4307)
@@ -0,0 +1,55 @@
+<!--
+Copyright 2005 ThoughtWorks, Inc
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<html>
+<link rel="stylesheet" type="text/css" href="selenium.css" />
+<body>
+<table width="100%">
+
+<tr>
+  <th>&uarr;</th>
+  <th>&uarr;</th>
+  <th>&uarr;</th>
+</tr>
+<tr>
+  <th width="25%">Test Suite</th>
+  <th width="50%">Current Test</th>
+  <th width="25%">Control Panel</th>
+</tr>
+<tr><td>&nbsp;</td></tr>
+
+<tr>
+<td></td>
+<td class="selenium splash">
+
+<img src="selenium-logo.png" align="right">
+
+<h1>Selenium</h1>
+<h2>by <a href="http://www.thoughtworks.com">ThoughtWorks</a> and friends</h2>
+
+<p>
+For more information on Selenium, visit
+
+<pre>
+    <a href="http://selenium.openqa.org" target="_blank">http://selenium.openqa.org</a>
+</pre>
+
+</td>
+<tr>
+
+</table>
+</body>
+</html>
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/unittest.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/unittest.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/unittest.js	(revision 4307)
@@ -0,0 +1,383 @@
+// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
+//           (c) 2005 Jon Tirsen (http://www.tirsen.com)
+//           (c) 2005 Michael Schuerig (http://www.schuerig.de/michael/)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+// experimental, Firefox-only
+Event.simulateMouse = function(element, eventName) {
+  var options = Object.extend({
+    pointerX: 0,
+    pointerY: 0,
+    buttons: 0
+  }, arguments[2] || {});
+  var oEvent = document.createEvent("MouseEvents");
+  oEvent.initMouseEvent(eventName, true, true, document.defaultView, 
+    options.buttons, options.pointerX, options.pointerY, options.pointerX, options.pointerY, 
+    false, false, false, false, 0, $(element));
+  
+  if(this.mark) Element.remove(this.mark);
+  this.mark = document.createElement('div');
+  this.mark.appendChild(document.createTextNode(" "));
+  document.body.appendChild(this.mark);
+  this.mark.style.position = 'absolute';
+  this.mark.style.top = options.pointerY + "px";
+  this.mark.style.left = options.pointerX + "px";
+  this.mark.style.width = "5px";
+  this.mark.style.height = "5px;";
+  this.mark.style.borderTop = "1px solid red;"
+  this.mark.style.borderLeft = "1px solid red;"
+  
+  if(this.step)
+    alert('['+new Date().getTime().toString()+'] '+eventName+'/'+Test.Unit.inspect(options));
+  
+  $(element).dispatchEvent(oEvent);
+};
+
+// Note: Due to a fix in Firefox 1.0.5/6 that probably fixed "too much", this doesn't work in 1.0.6 or DP2.
+// You need to downgrade to 1.0.4 for now to get this working
+// See https://bugzilla.mozilla.org/show_bug.cgi?id=289940 for the fix that fixed too much
+Event.simulateKey = function(element, eventName) {
+  var options = Object.extend({
+    ctrlKey: false,
+    altKey: false,
+    shiftKey: false,
+    metaKey: false,
+    keyCode: 0,
+    charCode: 0
+  }, arguments[2] || {});
+
+  var oEvent = document.createEvent("KeyEvents");
+  oEvent.initKeyEvent(eventName, true, true, window, 
+    options.ctrlKey, options.altKey, options.shiftKey, options.metaKey,
+    options.keyCode, options.charCode );
+  $(element).dispatchEvent(oEvent);
+};
+
+Event.simulateKeys = function(element, command) {
+  for(var i=0; i<command.length; i++) {
+    Event.simulateKey(element,'keypress',{charCode:command.charCodeAt(i)});
+  }
+};
+
+var Test = {}
+Test.Unit = {};
+
+// security exception workaround
+Test.Unit.inspect = Object.inspect;
+
+Test.Unit.Logger = Class.create();
+Test.Unit.Logger.prototype = {
+  initialize: function(log) {
+    this.log = $(log);
+    if (this.log) {
+      this._createLogTable();
+    }
+  },
+  start: function(testName) {
+    if (!this.log) return;
+    this.testName = testName;
+    this.lastLogLine = document.createElement('tr');
+    this.statusCell = document.createElement('td');
+    this.nameCell = document.createElement('td');
+    this.nameCell.appendChild(document.createTextNode(testName));
+    this.messageCell = document.createElement('td');
+    this.lastLogLine.appendChild(this.statusCell);
+    this.lastLogLine.appendChild(this.nameCell);
+    this.lastLogLine.appendChild(this.messageCell);
+    this.loglines.appendChild(this.lastLogLine);
+  },
+  finish: function(status, summary) {
+    if (!this.log) return;
+    this.lastLogLine.className = status;
+    this.statusCell.innerHTML = status;
+    this.messageCell.innerHTML = this._toHTML(summary);
+  },
+  message: function(message) {
+    if (!this.log) return;
+    this.messageCell.innerHTML = this._toHTML(message);
+  },
+  summary: function(summary) {
+    if (!this.log) return;
+    this.logsummary.innerHTML = this._toHTML(summary);
+  },
+  _createLogTable: function() {
+    this.log.innerHTML =
+    '<div id="logsummary"></div>' +
+    '<table id="logtable">' +
+    '<thead><tr><th>Status</th><th>Test</th><th>Message</th></tr></thead>' +
+    '<tbody id="loglines"></tbody>' +
+    '</table>';
+    this.logsummary = $('logsummary')
+    this.loglines = $('loglines');
+  },
+  _toHTML: function(txt) {
+    return txt.escapeHTML().replace(/\n/g,"<br/>");
+  }
+}
+
+Test.Unit.Runner = Class.create();
+Test.Unit.Runner.prototype = {
+  initialize: function(testcases) {
+    this.options = Object.extend({
+      testLog: 'testlog'
+    }, arguments[1] || {});
+    this.options.resultsURL = this.parseResultsURLQueryParameter();
+    if (this.options.testLog) {
+      this.options.testLog = $(this.options.testLog) || null;
+    }
+    if(this.options.tests) {
+      this.tests = [];
+      for(var i = 0; i < this.options.tests.length; i++) {
+        if(/^test/.test(this.options.tests[i])) {
+          this.tests.push(new Test.Unit.Testcase(this.options.tests[i], testcases[this.options.tests[i]], testcases["setup"], testcases["teardown"]));
+        }
+      }
+    } else {
+      if (this.options.test) {
+        this.tests = [new Test.Unit.Testcase(this.options.test, testcases[this.options.test], testcases["setup"], testcases["teardown"])];
+      } else {
+        this.tests = [];
+        for(var testcase in testcases) {
+          if(/^test/.test(testcase)) {
+            this.tests.push(new Test.Unit.Testcase(testcase, testcases[testcase], testcases["setup"], testcases["teardown"]));
+          }
+        }
+      }
+    }
+    this.currentTest = 0;
+    this.logger = new Test.Unit.Logger(this.options.testLog);
+    setTimeout(this.runTests.bind(this), 1000);
+  },
+  parseResultsURLQueryParameter: function() {
+    return window.location.search.parseQuery()["resultsURL"];
+  },
+  // Returns:
+  //  "ERROR" if there was an error,
+  //  "FAILURE" if there was a failure, or
+  //  "SUCCESS" if there was neither
+  getResult: function() {
+    var hasFailure = false;
+    for(var i=0;i<this.tests.length;i++) {
+      if (this.tests[i].errors > 0) {
+        return "ERROR";
+      }
+      if (this.tests[i].failures > 0) {
+        hasFailure = true;
+      }
+    }
+    if (hasFailure) {
+      return "FAILURE";
+    } else {
+      return "SUCCESS";
+    }
+  },
+  postResults: function() {
+    if (this.options.resultsURL) {
+      new Ajax.Request(this.options.resultsURL, 
+        { method: 'get', parameters: 'result=' + this.getResult(), asynchronous: false });
+    }
+  },
+  runTests: function() {
+    var test = this.tests[this.currentTest];
+    if (!test) {
+      // finished!
+      this.postResults();
+      this.logger.summary(this.summary());
+      return;
+    }
+    if(!test.isWaiting) {
+      this.logger.start(test.name);
+    }
+    test.run();
+    if(test.isWaiting) {
+      this.logger.message("Waiting for " + test.timeToWait + "ms");
+      setTimeout(this.runTests.bind(this), test.timeToWait || 1000);
+    } else {
+      this.logger.finish(test.status(), test.summary());
+      this.currentTest++;
+      // tail recursive, hopefully the browser will skip the stackframe
+      this.runTests();
+    }
+  },
+  summary: function() {
+    var assertions = 0;
+    var failures = 0;
+    var errors = 0;
+    var messages = [];
+    for(var i=0;i<this.tests.length;i++) {
+      assertions +=   this.tests[i].assertions;
+      failures   +=   this.tests[i].failures;
+      errors     +=   this.tests[i].errors;
+    }
+    return (
+      this.tests.length + " tests, " + 
+      assertions + " assertions, " + 
+      failures   + " failures, " +
+      errors     + " errors");
+  }
+}
+
+Test.Unit.Assertions = Class.create();
+Test.Unit.Assertions.prototype = {
+  initialize: function() {
+    this.assertions = 0;
+    this.failures   = 0;
+    this.errors     = 0;
+    this.messages   = [];
+  },
+  summary: function() {
+    return (
+      this.assertions + " assertions, " + 
+      this.failures   + " failures, " +
+      this.errors     + " errors" + "\n" +
+      this.messages.join("\n"));
+  },
+  pass: function() {
+    this.assertions++;
+  },
+  fail: function(message) {
+    this.failures++;
+    this.messages.push("Failure: " + message);
+  },
+  info: function(message) {
+    this.messages.push("Info: " + message);
+  },
+  error: function(error) {
+    this.errors++;
+    this.messages.push(error.name + ": "+ error.message + "(" + Test.Unit.inspect(error) +")");
+  },
+  status: function() {
+    if (this.failures > 0) return 'failed';
+    if (this.errors > 0) return 'error';
+    return 'passed';
+  },
+  assert: function(expression) {
+    var message = arguments[1] || 'assert: got "' + Test.Unit.inspect(expression) + '"';
+    try { expression ? this.pass() : 
+      this.fail(message); }
+    catch(e) { this.error(e); }
+  },
+  assertEqual: function(expected, actual) {
+    var message = arguments[2] || "assertEqual";
+    try { (expected == actual) ? this.pass() :
+      this.fail(message + ': expected "' + Test.Unit.inspect(expected) + 
+        '", actual "' + Test.Unit.inspect(actual) + '"'); }
+    catch(e) { this.error(e); }
+  },
+  assertEnumEqual: function(expected, actual) {
+    var message = arguments[2] || "assertEnumEqual";
+    try { $A(expected).length == $A(actual).length && 
+      expected.zip(actual).all(function(pair) { return pair[0] == pair[1] }) ?
+        this.pass() : this.fail(message + ': expected ' + Test.Unit.inspect(expected) + 
+          ', actual ' + Test.Unit.inspect(actual)); }
+    catch(e) { this.error(e); }
+  },
+  assertNotEqual: function(expected, actual) {
+    var message = arguments[2] || "assertNotEqual";
+    try { (expected != actual) ? this.pass() : 
+      this.fail(message + ': got "' + Test.Unit.inspect(actual) + '"'); }
+    catch(e) { this.error(e); }
+  },
+  assertNull: function(obj) {
+    var message = arguments[1] || 'assertNull'
+    try { (obj==null) ? this.pass() : 
+      this.fail(message + ': got "' + Test.Unit.inspect(obj) + '"'); }
+    catch(e) { this.error(e); }
+  },
+  assertHidden: function(element) {
+    var message = arguments[1] || 'assertHidden';
+    this.assertEqual("none", element.style.display, message);
+  },
+  assertNotNull: function(object) {
+    var message = arguments[1] || 'assertNotNull';
+    this.assert(object != null, message);
+  },
+  assertInstanceOf: function(expected, actual) {
+    var message = arguments[2] || 'assertInstanceOf';
+    try { 
+      (actual instanceof expected) ? this.pass() : 
+      this.fail(message + ": object was not an instance of the expected type"); }
+    catch(e) { this.error(e); } 
+  },
+  assertNotInstanceOf: function(expected, actual) {
+    var message = arguments[2] || 'assertNotInstanceOf';
+    try { 
+      !(actual instanceof expected) ? this.pass() : 
+      this.fail(message + ": object was an instance of the not expected type"); }
+    catch(e) { this.error(e); } 
+  },
+  _isVisible: function(element) {
+    element = $(element);
+    if(!element.parentNode) return true;
+    this.assertNotNull(element);
+    if(element.style && Element.getStyle(element, 'display') == 'none')
+      return false;
+    
+    return this._isVisible(element.parentNode);
+  },
+  assertNotVisible: function(element) {
+    this.assert(!this._isVisible(element), Test.Unit.inspect(element) + " was not hidden and didn't have a hidden parent either. " + ("" || arguments[1]));
+  },
+  assertVisible: function(element) {
+    this.assert(this._isVisible(element), Test.Unit.inspect(element) + " was not visible. " + ("" || arguments[1]));
+  },
+  benchmark: function(operation, iterations) {
+    var startAt = new Date();
+    (iterations || 1).times(operation);
+    var timeTaken = ((new Date())-startAt);
+    this.info((arguments[2] || 'Operation') + ' finished ' + 
+       iterations + ' iterations in ' + (timeTaken/1000)+'s' );
+    return timeTaken;
+  }
+}
+
+Test.Unit.Testcase = Class.create();
+Object.extend(Object.extend(Test.Unit.Testcase.prototype, Test.Unit.Assertions.prototype), {
+  initialize: function(name, test, setup, teardown) {
+    Test.Unit.Assertions.prototype.initialize.bind(this)();
+    this.name           = name;
+    this.test           = test || function() {};
+    this.setup          = setup || function() {};
+    this.teardown       = teardown || function() {};
+    this.isWaiting      = false;
+    this.timeToWait     = 1000;
+  },
+  wait: function(time, nextPart) {
+    this.isWaiting = true;
+    this.test = nextPart;
+    this.timeToWait = time;
+  },
+  run: function() {
+    try {
+      try {
+        if (!this.isWaiting) this.setup.bind(this)();
+        this.isWaiting = false;
+        this.test.bind(this)();
+      } finally {
+        if(!this.isWaiting) {
+          this.teardown.bind(this)();
+        }
+      }
+    }
+    catch(e) { this.error(e); }
+  }
+});
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/controls.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/controls.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/controls.js	(revision 4307)
@@ -0,0 +1,815 @@
+// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
+//           (c) 2005 Ivan Krstic (http://blogs.law.harvard.edu/ivan)
+//           (c) 2005 Jon Tirsen (http://www.tirsen.com)
+// Contributors:
+//  Richard Livsey
+//  Rahul Bhargava
+//  Rob Wills
+// 
+// See scriptaculous.js for full license.
+
+// Autocompleter.Base handles all the autocompletion functionality 
+// that's independent of the data source for autocompletion. This
+// includes drawing the autocompletion menu, observing keyboard
+// and mouse events, and similar.
+//
+// Specific autocompleters need to provide, at the very least, 
+// a getUpdatedChoices function that will be invoked every time
+// the text inside the monitored textbox changes. This method 
+// should get the text for which to provide autocompletion by
+// invoking this.getToken(), NOT by directly accessing
+// this.element.value. This is to allow incremental tokenized
+// autocompletion. Specific auto-completion logic (AJAX, etc)
+// belongs in getUpdatedChoices.
+//
+// Tokenized incremental autocompletion is enabled automatically
+// when an autocompleter is instantiated with the 'tokens' option
+// in the options parameter, e.g.:
+// new Ajax.Autocompleter('id','upd', '/url/', { tokens: ',' });
+// will incrementally autocomplete with a comma as the token.
+// Additionally, ',' in the above example can be replaced with
+// a token array, e.g. { tokens: [',', '\n'] } which
+// enables autocompletion on multiple tokens. This is most 
+// useful when one of the tokens is \n (a newline), as it 
+// allows smart autocompletion after linebreaks.
+
+var Autocompleter = {}
+Autocompleter.Base = function() {};
+Autocompleter.Base.prototype = {
+  baseInitialize: function(element, update, options) {
+    this.element     = $(element); 
+    this.update      = $(update);  
+    this.hasFocus    = false; 
+    this.changed     = false; 
+    this.active      = false; 
+    this.index       = 0;     
+    this.entryCount  = 0;
+
+    if (this.setOptions)
+      this.setOptions(options);
+    else
+      this.options = options || {};
+
+    this.options.paramName    = this.options.paramName || this.element.name;
+    this.options.tokens       = this.options.tokens || [];
+    this.options.frequency    = this.options.frequency || 0.4;
+    this.options.minChars     = this.options.minChars || 1;
+    this.options.onShow       = this.options.onShow || 
+    function(element, update){ 
+      if(!update.style.position || update.style.position=='absolute') {
+        update.style.position = 'absolute';
+        Position.clone(element, update, {setHeight: false, offsetTop: element.offsetHeight});
+      }
+      Effect.Appear(update,{duration:0.15});
+    };
+    this.options.onHide = this.options.onHide || 
+    function(element, update){ new Effect.Fade(update,{duration:0.15}) };
+
+    if (typeof(this.options.tokens) == 'string') 
+      this.options.tokens = new Array(this.options.tokens);
+
+    this.observer = null;
+    
+    this.element.setAttribute('autocomplete','off');
+
+    Element.hide(this.update);
+
+    Event.observe(this.element, "blur", this.onBlur.bindAsEventListener(this));
+    Event.observe(this.element, "keypress", this.onKeyPress.bindAsEventListener(this));
+  },
+
+  show: function() {
+    if(Element.getStyle(this.update, 'display')=='none') this.options.onShow(this.element, this.update);
+    if(!this.iefix && 
+      (navigator.appVersion.indexOf('MSIE')>0) &&
+      (navigator.userAgent.indexOf('Opera')<0) &&
+      (Element.getStyle(this.update, 'position')=='absolute')) {
+      new Insertion.After(this.update, 
+       '<iframe id="' + this.update.id + '_iefix" '+
+       'style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" ' +
+       'src="javascript:false;" frameborder="0" scrolling="no"></iframe>');
+      this.iefix = $(this.update.id+'_iefix');
+    }
+    if(this.iefix) setTimeout(this.fixIEOverlapping.bind(this), 50);
+  },
+  
+  fixIEOverlapping: function() {
+    Position.clone(this.update, this.iefix);
+    this.iefix.style.zIndex = 1;
+    this.update.style.zIndex = 2;
+    Element.show(this.iefix);
+  },
+
+  hide: function() {
+    this.stopIndicator();
+    if(Element.getStyle(this.update, 'display')!='none') this.options.onHide(this.element, this.update);
+    if(this.iefix) Element.hide(this.iefix);
+  },
+
+  startIndicator: function() {
+    if(this.options.indicator) Element.show(this.options.indicator);
+  },
+
+  stopIndicator: function() {
+    if(this.options.indicator) Element.hide(this.options.indicator);
+  },
+
+  onKeyPress: function(event) {
+    if(this.active)
+      switch(event.keyCode) {
+       case Event.KEY_TAB:
+       case Event.KEY_RETURN:
+         this.selectEntry();
+         Event.stop(event);
+       case Event.KEY_ESC:
+         this.hide();
+         this.active = false;
+         Event.stop(event);
+         return;
+       case Event.KEY_LEFT:
+       case Event.KEY_RIGHT:
+         return;
+       case Event.KEY_UP:
+         this.markPrevious();
+         this.render();
+         if(navigator.appVersion.indexOf('AppleWebKit')>0) Event.stop(event);
+         return;
+       case Event.KEY_DOWN:
+         this.markNext();
+         this.render();
+         if(navigator.appVersion.indexOf('AppleWebKit')>0) Event.stop(event);
+         return;
+      }
+     else 
+       if(event.keyCode==Event.KEY_TAB || event.keyCode==Event.KEY_RETURN || 
+         (navigator.appVersion.indexOf('AppleWebKit') > 0 && event.keyCode == 0)) return;
+
+    this.changed = true;
+    this.hasFocus = true;
+
+    if(this.observer) clearTimeout(this.observer);
+      this.observer = 
+        setTimeout(this.onObserverEvent.bind(this), this.options.frequency*1000);
+  },
+
+  activate: function() {
+    this.changed = false;
+    this.hasFocus = true;
+    this.getUpdatedChoices();
+  },
+
+  onHover: function(event) {
+    var element = Event.findElement(event, 'LI');
+    if(this.index != element.autocompleteIndex) 
+    {
+        this.index = element.autocompleteIndex;
+        this.render();
+    }
+    Event.stop(event);
+  },
+  
+  onClick: function(event) {
+    var element = Event.findElement(event, 'LI');
+    this.index = element.autocompleteIndex;
+    this.selectEntry();
+    this.hide();
+  },
+  
+  onBlur: function(event) {
+    // needed to make click events working
+    setTimeout(this.hide.bind(this), 250);
+    this.hasFocus = false;
+    this.active = false;     
+  }, 
+  
+  render: function() {
+    if(this.entryCount > 0) {
+      for (var i = 0; i < this.entryCount; i++)
+        this.index==i ? 
+          Element.addClassName(this.getEntry(i),"selected") : 
+          Element.removeClassName(this.getEntry(i),"selected");
+        
+      if(this.hasFocus) { 
+        this.show();
+        this.active = true;
+      }
+    } else {
+      this.active = false;
+      this.hide();
+    }
+  },
+  
+  markPrevious: function() {
+    if(this.index > 0) this.index--
+      else this.index = this.entryCount-1;
+  },
+  
+  markNext: function() {
+    if(this.index < this.entryCount-1) this.index++
+      else this.index = 0;
+  },
+  
+  getEntry: function(index) {
+    return this.update.firstChild.childNodes[index];
+  },
+  
+  getCurrentEntry: function() {
+    return this.getEntry(this.index);
+  },
+  
+  selectEntry: function() {
+    this.active = false;
+    this.updateElement(this.getCurrentEntry());
+  },
+
+  updateElement: function(selectedElement) {
+    if (this.options.updateElement) {
+      this.options.updateElement(selectedElement);
+      return;
+    }
+    var value = '';
+    if (this.options.select) {
+      var nodes = document.getElementsByClassName(this.options.select, selectedElement) || [];
+      if(nodes.length>0) value = Element.collectTextNodes(nodes[0], this.options.select);
+    } else
+      value = Element.collectTextNodesIgnoreClass(selectedElement, 'informal');
+    
+    var lastTokenPos = this.findLastToken();
+    if (lastTokenPos != -1) {
+      var newValue = this.element.value.substr(0, lastTokenPos + 1);
+      var whitespace = this.element.value.substr(lastTokenPos + 1).match(/^\s+/);
+      if (whitespace)
+        newValue += whitespace[0];
+      this.element.value = newValue + value;
+    } else {
+      this.element.value = value;
+    }
+    this.element.focus();
+    
+    if (this.options.afterUpdateElement)
+      this.options.afterUpdateElement(this.element, selectedElement);
+  },
+
+  updateChoices: function(choices) {
+    if(!this.changed && this.hasFocus) {
+      this.update.innerHTML = choices;
+      Element.cleanWhitespace(this.update);
+      Element.cleanWhitespace(this.update.firstChild);
+
+      if(this.update.firstChild && this.update.firstChild.childNodes) {
+        this.entryCount = 
+          this.update.firstChild.childNodes.length;
+        for (var i = 0; i < this.entryCount; i++) {
+          var entry = this.getEntry(i);
+          entry.autocompleteIndex = i;
+          this.addObservers(entry);
+        }
+      } else { 
+        this.entryCount = 0;
+      }
+
+      this.stopIndicator();
+
+      this.index = 0;
+      this.render();
+    }
+  },
+
+  addObservers: function(element) {
+    Event.observe(element, "mouseover", this.onHover.bindAsEventListener(this));
+    Event.observe(element, "click", this.onClick.bindAsEventListener(this));
+  },
+
+  onObserverEvent: function() {
+    this.changed = false;   
+    if(this.getToken().length>=this.options.minChars) {
+      this.startIndicator();
+      this.getUpdatedChoices();
+    } else {
+      this.active = false;
+      this.hide();
+    }
+  },
+
+  getToken: function() {
+    var tokenPos = this.findLastToken();
+    if (tokenPos != -1)
+      var ret = this.element.value.substr(tokenPos + 1).replace(/^\s+/,'').replace(/\s+$/,'');
+    else
+      var ret = this.element.value;
+
+    return /\n/.test(ret) ? '' : ret;
+  },
+
+  findLastToken: function() {
+    var lastTokenPos = -1;
+
+    for (var i=0; i<this.options.tokens.length; i++) {
+      var thisTokenPos = this.element.value.lastIndexOf(this.options.tokens[i]);
+      if (thisTokenPos > lastTokenPos)
+        lastTokenPos = thisTokenPos;
+    }
+    return lastTokenPos;
+  }
+}
+
+Ajax.Autocompleter = Class.create();
+Object.extend(Object.extend(Ajax.Autocompleter.prototype, Autocompleter.Base.prototype), {
+  initialize: function(element, update, url, options) {
+    this.baseInitialize(element, update, options);
+    this.options.asynchronous  = true;
+    this.options.onComplete    = this.onComplete.bind(this);
+    this.options.defaultParams = this.options.parameters || null;
+    this.url                   = url;
+  },
+
+  getUpdatedChoices: function() {
+    entry = encodeURIComponent(this.options.paramName) + '=' + 
+      encodeURIComponent(this.getToken());
+
+    this.options.parameters = this.options.callback ?
+      this.options.callback(this.element, entry) : entry;
+
+    if(this.options.defaultParams) 
+      this.options.parameters += '&' + this.options.defaultParams;
+
+    new Ajax.Request(this.url, this.options);
+  },
+
+  onComplete: function(request) {
+    this.updateChoices(request.responseText);
+  }
+
+});
+
+// The local array autocompleter. Used when you'd prefer to
+// inject an array of autocompletion options into the page, rather
+// than sending out Ajax queries, which can be quite slow sometimes.
+//
+// The constructor takes four parameters. The first two are, as usual,
+// the id of the monitored textbox, and id of the autocompletion menu.
+// The third is the array you want to autocomplete from, and the fourth
+// is the options block.
+//
+// Extra local autocompletion options:
+// - choices - How many autocompletion choices to offer
+//
+// - partialSearch - If false, the autocompleter will match entered
+//                    text only at the beginning of strings in the 
+//                    autocomplete array. Defaults to true, which will
+//                    match text at the beginning of any *word* in the
+//                    strings in the autocomplete array. If you want to
+//                    search anywhere in the string, additionally set
+//                    the option fullSearch to true (default: off).
+//
+// - fullSsearch - Search anywhere in autocomplete array strings.
+//
+// - partialChars - How many characters to enter before triggering
+//                   a partial match (unlike minChars, which defines
+//                   how many characters are required to do any match
+//                   at all). Defaults to 2.
+//
+// - ignoreCase - Whether to ignore case when autocompleting.
+//                 Defaults to true.
+//
+// It's possible to pass in a custom function as the 'selector' 
+// option, if you prefer to write your own autocompletion logic.
+// In that case, the other options above will not apply unless
+// you support them.
+
+Autocompleter.Local = Class.create();
+Autocompleter.Local.prototype = Object.extend(new Autocompleter.Base(), {
+  initialize: function(element, update, array, options) {
+    this.baseInitialize(element, update, options);
+    this.options.array = array;
+  },
+
+  getUpdatedChoices: function() {
+    this.updateChoices(this.options.selector(this));
+  },
+
+  setOptions: function(options) {
+    this.options = Object.extend({
+      choices: 10,
+      partialSearch: true,
+      partialChars: 2,
+      ignoreCase: true,
+      fullSearch: false,
+      selector: function(instance) {
+        var ret       = []; // Beginning matches
+        var partial   = []; // Inside matches
+        var entry     = instance.getToken();
+        var count     = 0;
+
+        for (var i = 0; i < instance.options.array.length &&  
+          ret.length < instance.options.choices ; i++) { 
+
+          var elem = instance.options.array[i];
+          var foundPos = instance.options.ignoreCase ? 
+            elem.toLowerCase().indexOf(entry.toLowerCase()) : 
+            elem.indexOf(entry);
+
+          while (foundPos != -1) {
+            if (foundPos == 0 && elem.length != entry.length) { 
+              ret.push("<li><strong>" + elem.substr(0, entry.length) + "</strong>" + 
+                elem.substr(entry.length) + "</li>");
+              break;
+            } else if (entry.length >= instance.options.partialChars && 
+              instance.options.partialSearch && foundPos != -1) {
+              if (instance.options.fullSearch || /\s/.test(elem.substr(foundPos-1,1))) {
+                partial.push("<li>" + elem.substr(0, foundPos) + "<strong>" +
+                  elem.substr(foundPos, entry.length) + "</strong>" + elem.substr(
+                  foundPos + entry.length) + "</li>");
+                break;
+              }
+            }
+
+            foundPos = instance.options.ignoreCase ? 
+              elem.toLowerCase().indexOf(entry.toLowerCase(), foundPos + 1) : 
+              elem.indexOf(entry, foundPos + 1);
+
+          }
+        }
+        if (partial.length)
+          ret = ret.concat(partial.slice(0, instance.options.choices - ret.length))
+        return "<ul>" + ret.join('') + "</ul>";
+      }
+    }, options || {});
+  }
+});
+
+// AJAX in-place editor
+//
+// see documentation on http://wiki.script.aculo.us/scriptaculous/show/Ajax.InPlaceEditor
+
+// Use this if you notice weird scrolling problems on some browsers,
+// the DOM might be a bit confused when this gets called so do this
+// waits 1 ms (with setTimeout) until it does the activation
+Field.scrollFreeActivate = function(field) {
+  setTimeout(function() {
+    Field.activate(field);
+  }, 1);
+}
+
+Ajax.InPlaceEditor = Class.create();
+Ajax.InPlaceEditor.defaultHighlightColor = "#FFFF99";
+Ajax.InPlaceEditor.prototype = {
+  initialize: function(element, url, options) {
+    this.url = url;
+    this.element = $(element);
+
+    this.options = Object.extend({
+      okButton: true,
+      okText: "ok",
+      cancelLink: true,
+      cancelText: "cancel",
+      savingText: "Saving...",
+      clickToEditText: "Click to edit",
+      okText: "ok",
+      rows: 1,
+      onComplete: function(transport, element) {
+        new Effect.Highlight(element, {startcolor: this.options.highlightcolor});
+      },
+      onFailure: function(transport) {
+        alert("Error communicating with the server: " + transport.responseText.stripTags());
+      },
+      callback: function(form) {
+        return Form.serialize(form);
+      },
+      handleLineBreaks: true,
+      loadingText: 'Loading...',
+      savingClassName: 'inplaceeditor-saving',
+      loadingClassName: 'inplaceeditor-loading',
+      formClassName: 'inplaceeditor-form',
+      highlightcolor: Ajax.InPlaceEditor.defaultHighlightColor,
+      highlightendcolor: "#FFFFFF",
+      externalControl: null,
+      submitOnBlur: false,
+      ajaxOptions: {},
+      evalScripts: false
+    }, options || {});
+
+    if(!this.options.formId && this.element.id) {
+      this.options.formId = this.element.id + "-inplaceeditor";
+      if ($(this.options.formId)) {
+        // there's already a form with that name, don't specify an id
+        this.options.formId = null;
+      }
+    }
+    
+    if (this.options.externalControl) {
+      this.options.externalControl = $(this.options.externalControl);
+    }
+    
+    this.originalBackground = Element.getStyle(this.element, 'background-color');
+    if (!this.originalBackground) {
+      this.originalBackground = "transparent";
+    }
+    
+    this.element.title = this.options.clickToEditText;
+    
+    this.onclickListener = this.enterEditMode.bindAsEventListener(this);
+    this.mouseoverListener = this.enterHover.bindAsEventListener(this);
+    this.mouseoutListener = this.leaveHover.bindAsEventListener(this);
+    Event.observe(this.element, 'click', this.onclickListener);
+    Event.observe(this.element, 'mouseover', this.mouseoverListener);
+    Event.observe(this.element, 'mouseout', this.mouseoutListener);
+    if (this.options.externalControl) {
+      Event.observe(this.options.externalControl, 'click', this.onclickListener);
+      Event.observe(this.options.externalControl, 'mouseover', this.mouseoverListener);
+      Event.observe(this.options.externalControl, 'mouseout', this.mouseoutListener);
+    }
+  },
+  enterEditMode: function(evt) {
+    if (this.saving) return;
+    if (this.editing) return;
+    this.editing = true;
+    this.onEnterEditMode();
+    if (this.options.externalControl) {
+      Element.hide(this.options.externalControl);
+    }
+    Element.hide(this.element);
+    this.createForm();
+    this.element.parentNode.insertBefore(this.form, this.element);
+    Field.scrollFreeActivate(this.editField);
+    // stop the event to avoid a page refresh in Safari
+    if (evt) {
+      Event.stop(evt);
+    }
+    return false;
+  },
+  createForm: function() {
+    this.form = document.createElement("form");
+    this.form.id = this.options.formId;
+    Element.addClassName(this.form, this.options.formClassName)
+    this.form.onsubmit = this.onSubmit.bind(this);
+
+    this.createEditField();
+
+    if (this.options.textarea) {
+      var br = document.createElement("br");
+      this.form.appendChild(br);
+    }
+
+    if (this.options.okButton) {
+      okButton = document.createElement("input");
+      okButton.type = "submit";
+      okButton.value = this.options.okText;
+      okButton.className = 'editor_ok_button';
+      this.form.appendChild(okButton);
+    }
+
+    if (this.options.cancelLink) {
+      cancelLink = document.createElement("a");
+      cancelLink.href = "#";
+      cancelLink.appendChild(document.createTextNode(this.options.cancelText));
+      cancelLink.onclick = this.onclickCancel.bind(this);
+      cancelLink.className = 'editor_cancel';      
+      this.form.appendChild(cancelLink);
+    }
+  },
+  hasHTMLLineBreaks: function(string) {
+    if (!this.options.handleLineBreaks) return false;
+    return string.match(/<br/i) || string.match(/<p>/i);
+  },
+  convertHTMLLineBreaks: function(string) {
+    return string.replace(/<br>/gi, "\n").replace(/<br\/>/gi, "\n").replace(/<\/p>/gi, "\n").replace(/<p>/gi, "");
+  },
+  createEditField: function() {
+    var text;
+    if(this.options.loadTextURL) {
+      text = this.options.loadingText;
+    } else {
+      text = this.getText();
+    }
+
+    var obj = this;
+    
+    if (this.options.rows == 1 && !this.hasHTMLLineBreaks(text)) {
+      this.options.textarea = false;
+      var textField = document.createElement("input");
+      textField.obj = this;
+      textField.type = "text";
+      textField.name = "value";
+      textField.value = text;
+      textField.style.backgroundColor = this.options.highlightcolor;
+      textField.className = 'editor_field';
+      var size = this.options.size || this.options.cols || 0;
+      if (size != 0) textField.size = size;
+      if (this.options.submitOnBlur)
+        textField.onblur = this.onSubmit.bind(this);
+      this.editField = textField;
+    } else {
+      this.options.textarea = true;
+      var textArea = document.createElement("textarea");
+      textArea.obj = this;
+      textArea.name = "value";
+      textArea.value = this.convertHTMLLineBreaks(text);
+      textArea.rows = this.options.rows;
+      textArea.cols = this.options.cols || 40;
+      textArea.className = 'editor_field';      
+      if (this.options.submitOnBlur)
+        textArea.onblur = this.onSubmit.bind(this);
+      this.editField = textArea;
+    }
+    
+    if(this.options.loadTextURL) {
+      this.loadExternalText();
+    }
+    this.form.appendChild(this.editField);
+  },
+  getText: function() {
+    return this.element.innerHTML;
+  },
+  loadExternalText: function() {
+    Element.addClassName(this.form, this.options.loadingClassName);
+    this.editField.disabled = true;
+    new Ajax.Request(
+      this.options.loadTextURL,
+      Object.extend({
+        asynchronous: true,
+        onComplete: this.onLoadedExternalText.bind(this)
+      }, this.options.ajaxOptions)
+    );
+  },
+  onLoadedExternalText: function(transport) {
+    Element.removeClassName(this.form, this.options.loadingClassName);
+    this.editField.disabled = false;
+    this.editField.value = transport.responseText.stripTags();
+  },
+  onclickCancel: function() {
+    this.onComplete();
+    this.leaveEditMode();
+    return false;
+  },
+  onFailure: function(transport) {
+    this.options.onFailure(transport);
+    if (this.oldInnerHTML) {
+      this.element.innerHTML = this.oldInnerHTML;
+      this.oldInnerHTML = null;
+    }
+    return false;
+  },
+  onSubmit: function() {
+    // onLoading resets these so we need to save them away for the Ajax call
+    var form = this.form;
+    var value = this.editField.value;
+    
+    // do this first, sometimes the ajax call returns before we get a chance to switch on Saving...
+    // which means this will actually switch on Saving... *after* we've left edit mode causing Saving...
+    // to be displayed indefinitely
+    this.onLoading();
+    
+    if (this.options.evalScripts) {
+      new Ajax.Request(
+        this.url, Object.extend({
+          parameters: this.options.callback(form, value),
+          onComplete: this.onComplete.bind(this),
+          onFailure: this.onFailure.bind(this),
+          asynchronous:true, 
+          evalScripts:true
+        }, this.options.ajaxOptions));
+    } else  {
+      new Ajax.Updater(
+        { success: this.element,
+          // don't update on failure (this could be an option)
+          failure: null }, 
+        this.url, Object.extend({
+          parameters: this.options.callback(form, value),
+          onComplete: this.onComplete.bind(this),
+          onFailure: this.onFailure.bind(this)
+        }, this.options.ajaxOptions));
+    }
+    // stop the event to avoid a page refresh in Safari
+    if (arguments.length > 1) {
+      Event.stop(arguments[0]);
+    }
+    return false;
+  },
+  onLoading: function() {
+    this.saving = true;
+    this.removeForm();
+    this.leaveHover();
+    this.showSaving();
+  },
+  showSaving: function() {
+    this.oldInnerHTML = this.element.innerHTML;
+    this.element.innerHTML = this.options.savingText;
+    Element.addClassName(this.element, this.options.savingClassName);
+    this.element.style.backgroundColor = this.originalBackground;
+    Element.show(this.element);
+  },
+  removeForm: function() {
+    if(this.form) {
+      if (this.form.parentNode) Element.remove(this.form);
+      this.form = null;
+    }
+  },
+  enterHover: function() {
+    if (this.saving) return;
+    this.element.style.backgroundColor = this.options.highlightcolor;
+    if (this.effect) {
+      this.effect.cancel();
+    }
+    Element.addClassName(this.element, this.options.hoverClassName)
+  },
+  leaveHover: function() {
+    if (this.options.backgroundColor) {
+      this.element.style.backgroundColor = this.oldBackground;
+    }
+    Element.removeClassName(this.element, this.options.hoverClassName)
+    if (this.saving) return;
+    this.effect = new Effect.Highlight(this.element, {
+      startcolor: this.options.highlightcolor,
+      endcolor: this.options.highlightendcolor,
+      restorecolor: this.originalBackground
+    });
+  },
+  leaveEditMode: function() {
+    Element.removeClassName(this.element, this.options.savingClassName);
+    this.removeForm();
+    this.leaveHover();
+    this.element.style.backgroundColor = this.originalBackground;
+    Element.show(this.element);
+    if (this.options.externalControl) {
+      Element.show(this.options.externalControl);
+    }
+    this.editing = false;
+    this.saving = false;
+    this.oldInnerHTML = null;
+    this.onLeaveEditMode();
+  },
+  onComplete: function(transport) {
+    this.leaveEditMode();
+    this.options.onComplete.bind(this)(transport, this.element);
+  },
+  onEnterEditMode: function() {},
+  onLeaveEditMode: function() {},
+  dispose: function() {
+    if (this.oldInnerHTML) {
+      this.element.innerHTML = this.oldInnerHTML;
+    }
+    this.leaveEditMode();
+    Event.stopObserving(this.element, 'click', this.onclickListener);
+    Event.stopObserving(this.element, 'mouseover', this.mouseoverListener);
+    Event.stopObserving(this.element, 'mouseout', this.mouseoutListener);
+    if (this.options.externalControl) {
+      Event.stopObserving(this.options.externalControl, 'click', this.onclickListener);
+      Event.stopObserving(this.options.externalControl, 'mouseover', this.mouseoverListener);
+      Event.stopObserving(this.options.externalControl, 'mouseout', this.mouseoutListener);
+    }
+  }
+};
+
+Ajax.InPlaceCollectionEditor = Class.create();
+Object.extend(Ajax.InPlaceCollectionEditor.prototype, Ajax.InPlaceEditor.prototype);
+Object.extend(Ajax.InPlaceCollectionEditor.prototype, {
+  createEditField: function() {
+    if (!this.cached_selectTag) {
+      var selectTag = document.createElement("select");
+      var collection = this.options.collection || [];
+      var optionTag;
+      collection.each(function(e,i) {
+        optionTag = document.createElement("option");
+        optionTag.value = (e instanceof Array) ? e[0] : e;
+        if(this.options.value==optionTag.value) optionTag.selected = true;
+        optionTag.appendChild(document.createTextNode((e instanceof Array) ? e[1] : e));
+        selectTag.appendChild(optionTag);
+      }.bind(this));
+      this.cached_selectTag = selectTag;
+    }
+
+    this.editField = this.cached_selectTag;
+    if(this.options.loadTextURL) this.loadExternalText();
+    this.form.appendChild(this.editField);
+    this.options.callback = function(form, value) {
+      return "value=" + encodeURIComponent(value);
+    }
+  }
+});
+
+// Delayed observer, like Form.Element.Observer, 
+// but waits for delay after last key input
+// Ideal for live-search fields
+
+Form.Element.DelayedObserver = Class.create();
+Form.Element.DelayedObserver.prototype = {
+  initialize: function(element, delay, callback) {
+    this.delay     = delay || 0.5;
+    this.element   = $(element);
+    this.callback  = callback;
+    this.timer     = null;
+    this.lastValue = $F(this.element); 
+    Event.observe(this.element,'keyup',this.delayedListener.bindAsEventListener(this));
+  },
+  delayedListener: function(event) {
+    if(this.lastValue == $F(this.element)) return;
+    if(this.timer) clearTimeout(this.timer);
+    this.timer = setTimeout(this.onTimerEvent.bind(this), this.delay * 1000);
+    this.lastValue = $F(this.element);
+  },
+  onTimerEvent: function() {
+    this.timer = null;
+    this.callback(this.element, $F(this.element));
+  }
+};
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/cssQuery/src/cssQuery-standard.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/cssQuery/src/cssQuery-standard.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/cssQuery/src/cssQuery-standard.js	(revision 4307)
@@ -0,0 +1,53 @@
+/*
+	cssQuery, version 2.0.2 (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+
+cssQuery.addModule("css-standard", function() { // override IE optimisation
+
+// cssQuery was originally written as the CSS engine for IE7. It is
+//  optimised (in terms of size not speed) for IE so this module is
+//  provided separately to provide cross-browser support.
+
+// -----------------------------------------------------------------------
+// browser compatibility
+// -----------------------------------------------------------------------
+
+// sniff for Win32 Explorer
+isMSIE = eval("false;/*@cc_on@if(@\x5fwin32)isMSIE=true@end@*/");
+
+if (!isMSIE) {
+	getElementsByTagName = function($element, $tagName, $namespace) {
+		return $namespace ? $element.getElementsByTagNameNS("*", $tagName) :
+			$element.getElementsByTagName($tagName);
+	};
+
+	compareNamespace = function($element, $namespace) {
+		return !$namespace || ($namespace == "*") || ($element.prefix == $namespace);
+	};
+
+	isXML = document.contentType ? function($element) {
+		return /xml/i.test(getDocument($element).contentType);
+	} : function($element) {
+		return getDocument($element).documentElement.tagName != "HTML";
+	};
+
+	getTextContent = function($element) {
+		// mozilla || opera || other
+		return $element.textContent || $element.innerText || _getTextContent($element);
+	};
+
+	function _getTextContent($element) {
+		var $textContent = "", $node, i;
+		for (i = 0; ($node = $element.childNodes[i]); i++) {
+			switch ($node.nodeType) {
+				case 11: // document fragment
+				case 1: $textContent += _getTextContent($node); break;
+				case 3: $textContent += $node.nodeValue; break;
+			}
+		}
+		return $textContent;
+	};
+}
+}); // addModule
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/cssQuery/src/cssQuery-level2.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/cssQuery/src/cssQuery-level2.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/cssQuery/src/cssQuery-level2.js	(revision 4307)
@@ -0,0 +1,142 @@
+/*
+	cssQuery, version 2.0.2 (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+
+cssQuery.addModule("css-level2", function() {
+
+// -----------------------------------------------------------------------
+// selectors
+// -----------------------------------------------------------------------
+
+// child selector
+selectors[">"] = function($results, $from, $tagName, $namespace) {
+	var $element, i, j;
+	for (i = 0; i < $from.length; i++) {
+		var $subset = childElements($from[i]);
+		for (j = 0; ($element = $subset[j]); j++)
+			if (compareTagName($element, $tagName, $namespace))
+				$results.push($element);
+	}
+};
+
+// sibling selector
+selectors["+"] = function($results, $from, $tagName, $namespace) {
+	for (var i = 0; i < $from.length; i++) {
+		var $element = nextElementSibling($from[i]);
+		if ($element && compareTagName($element, $tagName, $namespace))
+			$results.push($element);
+	}
+};
+
+// attribute selector
+selectors["@"] = function($results, $from, $attributeSelectorID) {
+	var $test = attributeSelectors[$attributeSelectorID].test;
+	var $element, i;
+	for (i = 0; ($element = $from[i]); i++)
+		if ($test($element)) $results.push($element);
+};
+
+// -----------------------------------------------------------------------
+// pseudo-classes
+// -----------------------------------------------------------------------
+
+pseudoClasses["first-child"] = function($element) {
+	return !previousElementSibling($element);
+};
+
+pseudoClasses["lang"] = function($element, $code) {
+	$code = new RegExp("^" + $code, "i");
+	while ($element && !$element.getAttribute("lang")) $element = $element.parentNode;
+	return $element && $code.test($element.getAttribute("lang"));
+};
+
+// -----------------------------------------------------------------------
+//  attribute selectors
+// -----------------------------------------------------------------------
+
+// constants
+AttributeSelector.NS_IE = /\\:/g;
+AttributeSelector.PREFIX = "@";
+// properties
+AttributeSelector.tests = {};
+// methods
+AttributeSelector.replace = function($match, $attribute, $namespace, $compare, $value) {
+	var $key = this.PREFIX + $match;
+	if (!attributeSelectors[$key]) {
+		$attribute = this.create($attribute, $compare || "", $value || "");
+		// store the selector
+		attributeSelectors[$key] = $attribute;
+		attributeSelectors.push($attribute);
+	}
+	return attributeSelectors[$key].id;
+};
+AttributeSelector.parse = function($selector) {
+	$selector = $selector.replace(this.NS_IE, "|");
+	var $match;
+	while ($match = $selector.match(this.match)) {
+		var $replace = this.replace($match[0], $match[1], $match[2], $match[3], $match[4]);
+		$selector = $selector.replace(this.match, $replace);
+	}
+	return $selector;
+};
+AttributeSelector.create = function($propertyName, $test, $value) {
+	var $attributeSelector = {};
+	$attributeSelector.id = this.PREFIX + attributeSelectors.length;
+	$attributeSelector.name = $propertyName;
+	$test = this.tests[$test];
+	$test = $test ? $test(this.getAttribute($propertyName), getText($value)) : false;
+	$attributeSelector.test = new Function("e", "return " + $test);
+	return $attributeSelector;
+};
+AttributeSelector.getAttribute = function($name) {
+	switch ($name.toLowerCase()) {
+		case "id":
+			return "e.id";
+		case "class":
+			return "e.className";
+		case "for":
+			return "e.htmlFor";
+		case "href":
+			if (isMSIE) {
+				// IE always returns the full path not the fragment in the href attribute
+				//  so we RegExp it out of outerHTML. Opera does the same thing but there
+				//  is no way to get the original attribute.
+				return "String((e.outerHTML.match(/href=\\x22?([^\\s\\x22]*)\\x22?/)||[])[1]||'')";
+			}
+	}
+	return "e.getAttribute('" + $name.replace($NAMESPACE, ":") + "')";
+};
+
+// -----------------------------------------------------------------------
+//  attribute selector tests
+// -----------------------------------------------------------------------
+
+AttributeSelector.tests[""] = function($attribute) {
+	return $attribute;
+};
+
+AttributeSelector.tests["="] = function($attribute, $value) {
+	return $attribute + "==" + Quote.add($value);
+};
+
+AttributeSelector.tests["~="] = function($attribute, $value) {
+	return "/(^| )" + regEscape($value) + "( |$)/.test(" + $attribute + ")";
+};
+
+AttributeSelector.tests["|="] = function($attribute, $value) {
+	return "/^" + regEscape($value) + "(-|$)/.test(" + $attribute + ")";
+};
+
+// -----------------------------------------------------------------------
+//  parsing
+// -----------------------------------------------------------------------
+
+// override parseSelector to parse out attribute selectors
+var _parseSelector = parseSelector;
+parseSelector = function($selector) {
+	return _parseSelector(AttributeSelector.parse($selector));
+};
+
+}); // addModule
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/selenium.css
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/selenium.css	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/selenium.css	(revision 4307)
@@ -0,0 +1,299 @@
+/*
+ * Copyright 2005 ThoughtWorks, Inc
+ * 
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *  
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+/*---( Layout )---*/
+
+* {
+    margin: 0px;
+    padding: 0px;
+}
+
+body {
+    overflow: auto;
+}
+
+td {
+    position: static;
+}
+
+tr {
+    vertical-align: top;
+}
+
+.layout {
+    width: 100%;
+    height: 100%;
+    border-collapse: collapse;
+}
+
+.layout td {
+    border: 0;
+}
+
+iframe {
+    border: 0px;
+    width: 100%;
+    height: 100%;
+    background: white;
+    overflow: auto;
+}
+
+/*---( Style )---*/
+
+body, html {
+    font-family: Verdana, Arial, sans-serif;
+}
+
+.selenium th, .selenium td {
+    border: 1px solid #999;
+}
+
+.header {
+    background: #ccc;
+    padding: 0;
+    font-size: 90%;
+}
+
+#controlPanel {
+    padding: 0.5ex;
+    background: #eee;
+    overflow: auto;
+    font-size: 75%;
+    text-align: center;
+}
+
+#controlPanel fieldset {
+    margin: 0.3ex;
+    padding: 0.3ex;
+}
+
+#controlPanel fieldset legend {
+    color: black;
+}
+
+#controlPanel button {
+    margin: 0.5ex;
+}
+
+#imageButtonPanel button {
+    width: 24px;
+    height: 20px;
+    background-color:white;
+    background-repeat: no-repeat;
+    background-position: center;
+    border-style: solid;
+    border-color: black;
+    border-width: 1px;
+}
+
+#controlPanel #runSuite {
+    width: 32px;
+    background-image: url("icons/all.png");
+}
+
+#controlPanel #runSeleniumTest {
+    width: 32px;
+    background-image: url("icons/selected.png");
+}
+
+.cssPauseTest {
+    background-image: url("icons/pause.png");
+}
+
+.cssPauseTest[disabled]  {
+    background-image: url("icons/pause_disabled.png");
+}
+
+.cssContinueTest {
+    background-image: url("icons/continue.png");
+}
+
+.cssContinueTest[disabled] {
+    background-image: url("icons/continue_disabled.png");
+}
+
+#controlPanel #stepTest {
+    background-image: url("icons/step.png");
+}
+
+#controlPanel #stepTest[disabled] {
+    background-image: url("icons/step_disabled.png");
+}
+
+#controlPanel table {
+    font-size: 100%;
+}
+
+#controlPanel th, #controlPanel td {
+    border: 0;
+}
+
+h1 {
+    margin: 0.2ex;
+    font-size: 130%;
+    font-weight: bold;
+}
+
+h2 {
+    margin: 0.2ex;
+    font-size: 80%;
+    font-weight: normal;
+}
+
+.selenium a {
+    color: black;
+    text-decoration: none;
+}
+
+.selenium a:hover {
+    text-decoration: underline;
+}
+
+button, label {
+    cursor: pointer;
+}
+
+#stats {
+    margin: 0.5em auto 0.5em auto;
+}
+
+#stats th, #stats td {
+    text-align: left;
+    padding-left: 2px;
+}
+
+#stats th {
+    text-decoration: underline;
+}
+
+#stats td.count {
+    font-weight: bold;
+    text-align: right;
+}
+
+#testRuns {
+    color: green;
+}
+
+#testFailures {
+    color: red;
+}
+
+#commandPasses {
+    color: green;
+}
+
+#commandFailures {
+    color: red;
+}
+
+#commandErrors {
+    color: #f90;
+}
+
+
+/*---( Logging Console )---*/
+
+#logging-console {
+    background: #fff;
+    font-size: 75%;
+}
+
+#logging-console #banner {
+    display: block;
+    width: 100%;
+    position: fixed;
+    top: 0;
+    background: #ddd;
+    border-bottom: 1px solid #666;
+}
+
+#logging-console #logLevelChooser {
+    float: right;
+    margin: 3px;
+}
+
+#logging-console ul {
+    list-style-type: none;
+    margin: 0px;
+    margin-top: 3em;
+    padding-left: 5px;
+}
+
+#logging-console li {
+    margin: 2px;
+    border-top: 1px solid #ccc;
+}
+
+#logging-console li.error {
+    font-weight: bold;
+    color: red;
+}
+
+#logging-console li.warn {
+    color: red;
+}
+
+#logging-console li.debug {
+    color: green;
+}
+
+div.executionOptions {
+    padding-left: 5em;
+}
+
+div.executionOptions label, div.executionOptions input {
+    display: block;
+    float: left;
+}
+
+div.executionOptions br {
+    clear: left;
+}
+
+#speedSlider {
+    text-align: left;
+    margin: 0px auto;
+    width: 260px;
+    line-height: 0px;
+    font-size: 0px;
+    padding: 0px;
+}
+
+#speedSlider #speedTrack {
+    background-color: #333;
+    width: 260px;
+    height: 2px;
+    line-height: 2px;
+    z-index: 1;
+    border: 1px solid;
+    border-color: #999 #ddd #ddd #999;
+    cursor: pointer;
+}
+
+#speedSlider #speedHandle {
+    width: 12px;
+    top: -8px;
+    background-color: #666;
+    position: relative;
+    margin: 0px;
+    height: 8px;
+    line-height: 8px;
+    z-index: 1;
+    border: 1px solid;
+    border-color: #999 #333 #333 #999;
+    cursor: pointer;
+}
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/icons/step_disabled.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/icons/step_disabled.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/icons/pause.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/icons/pause.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/iedoc.xml
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/iedoc.xml	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/iedoc.xml	(revision 4307)
@@ -0,0 +1,1368 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<apidoc>
+
+<top>Defines an object that runs Selenium commands.
+
+<h3><a name="locators"></a>Element Locators</h3>
+<p>
+Element Locators tell Selenium which HTML element a command refers to.
+The format of a locator is:</p>
+<blockquote>
+<em>locatorType</em><strong>=</strong><em>argument</em>
+</blockquote>
+
+<p>
+We support the following strategies for locating elements:
+</p>
+
+<ul>
+<li><strong>identifier</strong>=<em>id</em>: 
+Select the element with the specified &#64;id attribute. If no match is
+found, select the first element whose &#64;name attribute is <em>id</em>.
+(This is normally the default; see below.)</li>
+<li><strong>id</strong>=<em>id</em>:
+Select the element with the specified &#64;id attribute.</li>
+
+<li><strong>name</strong>=<em>name</em>:
+Select the first element with the specified &#64;name attribute.
+<ul class="first last simple">
+<li>username</li>
+<li>name=username</li>
+</ul>
+
+<p>The name may optionally be followed by one or more <em>element-filters</em>, separated from the name by whitespace.  If the <em>filterType</em> is not specified, <strong>value</strong> is assumed.</p>
+
+<ul class="first last simple">
+<li>name=flavour value=chocolate</li>
+</ul>
+</li>
+<li><strong>dom</strong>=<em>javascriptExpression</em>: 
+
+Find an element by evaluating the specified string.  This allows you to traverse the HTML Document Object
+Model using JavaScript.  Note that you must not return a value in this string; simply make it the last expression in the block.
+<ul class="first last simple">
+<li>dom=document.forms['myForm'].myDropdown</li>
+<li>dom=document.images[56]</li>
+<li>dom=function foo() { return document.links[1]; }; foo();</li>
+</ul>
+
+</li>
+
+<li><strong>xpath</strong>=<em>xpathExpression</em>: 
+Locate an element using an XPath expression.
+<ul class="first last simple">
+<li>xpath=//img[&#64;alt='The image alt text']</li>
+<li>xpath=//table[&#64;id='table1']//tr[4]/td[2]</li>
+<li>xpath=//a[contains(&#64;href,'#id1')]</li>
+<li>xpath=//a[contains(&#64;href,'#id1')]/&#64;class</li>
+<li>xpath=(//table[&#64;class='stylee'])//th[text()='theHeaderText']/../td</li>
+<li>xpath=//input[&#64;name='name2' and &#64;value='yes']</li>
+<li>xpath=//*[text()="right"]</li>
+
+</ul>
+</li>
+<li><strong>link</strong>=<em>textPattern</em>:
+Select the link (anchor) element which contains text matching the
+specified <em>pattern</em>.
+<ul class="first last simple">
+<li>link=The link text</li>
+</ul>
+
+</li>
+
+<li><strong>css</strong>=<em>cssSelectorSyntax</em>:
+Select the element using css selectors. Please refer to <a href="http://www.w3.org/TR/REC-CSS2/selector.html">CSS2 selectors</a>, <a href="http://www.w3.org/TR/2001/CR-css3-selectors-20011113/">CSS3 selectors</a> for more information. You can also check the TestCssLocators test in the selenium test suite for an example of usage, which is included in the downloaded selenium core package.
+<ul class="first last simple">
+<li>css=a[href="#id3"]</li>
+<li>css=span#firstChild + span</li>
+</ul>
+<p>Currently the css selector locator supports all css1, css2 and css3 selectors except namespace in css3, some pseudo classes(:nth-of-type, :nth-last-of-type, :first-of-type, :last-of-type, :only-of-type, :visited, :hover, :active, :focus, :indeterminate) and pseudo elements(::first-line, ::first-letter, ::selection, ::before, ::after). </p>
+</li>
+</ul>
+
+<p>
+Without an explicit locator prefix, Selenium uses the following default
+strategies:
+</p>
+
+<ul class="simple">
+<li><strong>dom</strong>, for locators starting with &quot;document.&quot;</li>
+<li><strong>xpath</strong>, for locators starting with &quot;//&quot;</li>
+<li><strong>identifier</strong>, otherwise</li>
+</ul>
+
+<h3><a name="element-filters">Element Filters</a></h3>
+<blockquote>
+<p>Element filters can be used with a locator to refine a list of candidate elements.  They are currently used only in the 'name' element-locator.</p>
+<p>Filters look much like locators, ie.</p>
+<blockquote>
+<em>filterType</em><strong>=</strong><em>argument</em></blockquote>
+
+<p>Supported element-filters are:</p>
+<p><strong>value=</strong><em>valuePattern</em></p>
+<blockquote>
+Matches elements based on their values.  This is particularly useful for refining a list of similarly-named toggle-buttons.</blockquote>
+<p><strong>index=</strong><em>index</em></p>
+<blockquote>
+Selects a single element based on its position in the list (offset from zero).</blockquote>
+</blockquote>
+
+<h3><a name="patterns"></a>String-match Patterns</h3>
+
+<p>
+Various Pattern syntaxes are available for matching string values:
+</p>
+<ul>
+<li><strong>glob:</strong><em>pattern</em>:
+Match a string against a "glob" (aka "wildmat") pattern. "Glob" is a
+kind of limited regular-expression syntax typically used in command-line
+shells. In a glob pattern, "*" represents any sequence of characters, and "?"
+represents any single character. Glob patterns match against the entire
+string.</li>
+<li><strong>regexp:</strong><em>regexp</em>:
+Match a string using a regular-expression. The full power of JavaScript
+regular-expressions is available.</li>
+<li><strong>exact:</strong><em>string</em>:
+
+Match a string exactly, verbatim, without any of that fancy wildcard
+stuff.</li>
+</ul>
+<p>
+If no pattern prefix is specified, Selenium assumes that it's a "glob"
+pattern.
+</p></top>
+
+<function name="click">
+
+<param name="locator">an element locator</param>
+
+<comment>Clicks on a link, button, checkbox or radio button. If the click action
+causes a new page to load (like a link usually does), call
+waitForPageToLoad.</comment>
+
+</function>
+
+<function name="doubleClick">
+
+<param name="locator">an element locator</param>
+
+<comment>Double clicks on a link, button, checkbox or radio button. If the double click action
+causes a new page to load (like a link usually does), call
+waitForPageToLoad.</comment>
+
+</function>
+
+<function name="clickAt">
+
+<param name="locator">an element locator</param>
+
+<param name="coordString">specifies the x,y position (i.e. - 10,20) of the mouse      event relative to the element returned by the locator.</param>
+
+<comment>Clicks on a link, button, checkbox or radio button. If the click action
+causes a new page to load (like a link usually does), call
+waitForPageToLoad.</comment>
+
+</function>
+
+<function name="doubleClickAt">
+
+<param name="locator">an element locator</param>
+
+<param name="coordString">specifies the x,y position (i.e. - 10,20) of the mouse      event relative to the element returned by the locator.</param>
+
+<comment>Doubleclicks on a link, button, checkbox or radio button. If the action
+causes a new page to load (like a link usually does), call
+waitForPageToLoad.</comment>
+
+</function>
+
+<function name="fireEvent">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<param name="eventName">the event name, e.g. "focus" or "blur"</param>
+
+<comment>Explicitly simulate an event, to trigger the corresponding &quot;on<em>event</em>&quot;
+handler.</comment>
+
+</function>
+
+<function name="keyPress">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<param name="keySequence">Either be a string("\" followed by the numeric keycode  of the key to be pressed, normally the ASCII value of that key), or a single  character. For example: "w", "\119".</param>
+
+<comment>Simulates a user pressing and releasing a key.</comment>
+
+</function>
+
+<function name="shiftKeyDown">
+
+<comment>Press the shift key and hold it down until doShiftUp() is called or a new page is loaded.</comment>
+
+</function>
+
+<function name="shiftKeyUp">
+
+<comment>Release the shift key.</comment>
+
+</function>
+
+<function name="metaKeyDown">
+
+<comment>Press the meta key and hold it down until doMetaUp() is called or a new page is loaded.</comment>
+
+</function>
+
+<function name="metaKeyUp">
+
+<comment>Release the meta key.</comment>
+
+</function>
+
+<function name="altKeyDown">
+
+<comment>Press the alt key and hold it down until doAltUp() is called or a new page is loaded.</comment>
+
+</function>
+
+<function name="altKeyUp">
+
+<comment>Release the alt key.</comment>
+
+</function>
+
+<function name="controlKeyDown">
+
+<comment>Press the control key and hold it down until doControlUp() is called or a new page is loaded.</comment>
+
+</function>
+
+<function name="controlKeyUp">
+
+<comment>Release the control key.</comment>
+
+</function>
+
+<function name="keyDown">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<param name="keySequence">Either be a string("\" followed by the numeric keycode  of the key to be pressed, normally the ASCII value of that key), or a single  character. For example: "w", "\119".</param>
+
+<comment>Simulates a user pressing a key (without releasing it yet).</comment>
+
+</function>
+
+<function name="keyUp">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<param name="keySequence">Either be a string("\" followed by the numeric keycode  of the key to be pressed, normally the ASCII value of that key), or a single  character. For example: "w", "\119".</param>
+
+<comment>Simulates a user releasing a key.</comment>
+
+</function>
+
+<function name="mouseOver">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Simulates a user hovering a mouse over the specified element.</comment>
+
+</function>
+
+<function name="mouseOut">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Simulates a user moving the mouse pointer away from the specified element.</comment>
+
+</function>
+
+<function name="mouseDown">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Simulates a user pressing the mouse button (without releasing it yet) on
+the specified element.</comment>
+
+</function>
+
+<function name="mouseDownAt">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<param name="coordString">specifies the x,y position (i.e. - 10,20) of the mouse      event relative to the element returned by the locator.</param>
+
+<comment>Simulates a user pressing the mouse button (without releasing it yet) on
+the specified element.</comment>
+
+</function>
+
+<function name="mouseUp">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Simulates a user pressing the mouse button (without releasing it yet) on
+the specified element.</comment>
+
+</function>
+
+<function name="mouseUpAt">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<param name="coordString">specifies the x,y position (i.e. - 10,20) of the mouse      event relative to the element returned by the locator.</param>
+
+<comment>Simulates a user pressing the mouse button (without releasing it yet) on
+the specified element.</comment>
+
+</function>
+
+<function name="mouseMove">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Simulates a user pressing the mouse button (without releasing it yet) on
+the specified element.</comment>
+
+</function>
+
+<function name="mouseMoveAt">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<param name="coordString">specifies the x,y position (i.e. - 10,20) of the mouse      event relative to the element returned by the locator.</param>
+
+<comment>Simulates a user pressing the mouse button (without releasing it yet) on
+the specified element.</comment>
+
+</function>
+
+<function name="type">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<param name="value">the value to type</param>
+
+<comment>Sets the value of an input field, as though you typed it in.
+
+<p>Can also be used to set the value of combo boxes, check boxes, etc. In these cases,
+value should be the value of the option selected, not the visible text.</p></comment>
+
+</function>
+
+<function name="typeKeys">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<param name="value">the value to type</param>
+
+<comment>Simulates keystroke events on the specified element, as though you typed the value key-by-key.
+
+<p>This is a convenience method for calling keyDown, keyUp, keyPress for every character in the specified string;
+this is useful for dynamic UI widgets (like auto-completing combo boxes) that require explicit key events.</p>
+
+<p>Unlike the simple "type" command, which forces the specified value into the page directly, this command
+may or may not have any visible effect, even in cases where typing keys would normally have a visible effect.
+For example, if you use "typeKeys" on a form element, you may or may not see the results of what you typed in
+the field.</p>
+<p>In some cases, you may need to use the simple "type" command to set the value of the field and then the "typeKeys" command to
+send the keystroke events corresponding to what you just typed.</p></comment>
+
+</function>
+
+<function name="setSpeed">
+
+<param name="value">the number of milliseconds to pause after operation</param>
+
+<comment>Set execution speed (i.e., set the millisecond length of a delay which will follow each selenium operation).  By default, there is no such delay, i.e.,
+the delay is 0 milliseconds.</comment>
+
+</function>
+
+<function name="getSpeed">
+
+<comment>Get execution speed (i.e., get the millisecond length of the delay following each selenium operation).  By default, there is no such delay, i.e.,
+the delay is 0 milliseconds.
+
+See also setSpeed.</comment>
+
+</function>
+
+<function name="check">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Check a toggle-button (checkbox/radio)</comment>
+
+</function>
+
+<function name="uncheck">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Uncheck a toggle-button (checkbox/radio)</comment>
+
+</function>
+
+<function name="select">
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<param name="optionLocator">an option locator (a label by default)</param>
+
+<comment>Select an option from a drop-down using an option locator.
+
+<p>
+Option locators provide different ways of specifying options of an HTML
+Select element (e.g. for selecting a specific option, or for asserting
+that the selected option satisfies a specification). There are several
+forms of Select Option Locator.
+</p>
+<ul>
+<li><strong>label</strong>=<em>labelPattern</em>:
+matches options based on their labels, i.e. the visible text. (This
+is the default.)
+<ul class="first last simple">
+<li>label=regexp:^[Oo]ther</li>
+</ul>
+</li>
+<li><strong>value</strong>=<em>valuePattern</em>:
+matches options based on their values.
+<ul class="first last simple">
+<li>value=other</li>
+</ul>
+
+
+</li>
+<li><strong>id</strong>=<em>id</em>:
+
+matches options based on their ids.
+<ul class="first last simple">
+<li>id=option1</li>
+</ul>
+</li>
+<li><strong>index</strong>=<em>index</em>:
+matches an option based on its index (offset from zero).
+<ul class="first last simple">
+
+<li>index=2</li>
+</ul>
+</li>
+</ul>
+<p>
+If no option locator prefix is provided, the default behaviour is to match on <strong>label</strong>.
+</p></comment>
+
+</function>
+
+<function name="addSelection">
+
+<param name="locator">an <a href="#locators">element locator</a> identifying a multi-select box</param>
+
+<param name="optionLocator">an option locator (a label by default)</param>
+
+<comment>Add a selection to the set of selected options in a multi-select element using an option locator.
+
+@see #doSelect for details of option locators</comment>
+
+</function>
+
+<function name="removeSelection">
+
+<param name="locator">an <a href="#locators">element locator</a> identifying a multi-select box</param>
+
+<param name="optionLocator">an option locator (a label by default)</param>
+
+<comment>Remove a selection from the set of selected options in a multi-select element using an option locator.
+
+@see #doSelect for details of option locators</comment>
+
+</function>
+
+<function name="removeAllSelections">
+
+<param name="locator">an <a href="#locators">element locator</a> identifying a multi-select box</param>
+
+<comment>Unselects all of the selected options in a multi-select element.</comment>
+
+</function>
+
+<function name="submit">
+
+<param name="formLocator">an <a href="#locators">element locator</a> for the form you want to submit</param>
+
+<comment>Submit the specified form. This is particularly useful for forms without
+submit buttons, e.g. single-input "Search" forms.</comment>
+
+</function>
+
+<function name="open">
+
+<param name="url">the URL to open; may be relative or absolute</param>
+
+<comment>Opens an URL in the test frame. This accepts both relative and absolute
+URLs.
+
+The &quot;open&quot; command waits for the page to load before proceeding,
+ie. the &quot;AndWait&quot; suffix is implicit.
+
+<em>Note</em>: The URL must be on the same domain as the runner HTML
+due to security restrictions in the browser (Same Origin Policy). If you
+need to open an URL on another domain, use the Selenium Server to start a
+new browser session on that domain.</comment>
+
+</function>
+
+<function name="openWindow">
+
+<param name="url">the URL to open, which can be blank</param>
+
+<param name="windowID">the JavaScript window ID of the window to select</param>
+
+<comment>Opens a popup window (if a window with that ID isn't already open).
+After opening the window, you'll need to select it using the selectWindow
+command.
+
+<p>This command can also be a useful workaround for bug SEL-339.  In some cases, Selenium will be unable to intercept a call to window.open (if the call occurs during or before the "onLoad" event, for example).
+In those cases, you can force Selenium to notice the open window's name by using the Selenium openWindow command, using
+an empty (blank) url, like this: openWindow("", "myFunnyWindow").</p></comment>
+
+</function>
+
+<function name="selectWindow">
+
+<param name="windowID">the JavaScript window ID of the window to select</param>
+
+<comment>Selects a popup window; once a popup window has been selected, all
+commands go to that window. To select the main window again, use null
+as the target.
+
+<p>Selenium has several strategies for finding the window object referred to by the "windowID" parameter.</p>
+
+<p>1.) if windowID is null, then it is assumed the user is referring to the original window instantiated by the browser).</p>
+<p>2.) if the value of the "windowID" parameter is a JavaScript variable name in the current application window, then it is assumed
+that this variable contains the return value from a call to the JavaScript window.open() method.</p>
+<p>3.) Otherwise, selenium looks in a hash it maintains that maps string names to window objects.  Each of these string 
+names matches the second parameter "windowName" past to the JavaScript method  window.open(url, windowName, windowFeatures, replaceFlag)
+(which selenium intercepts).</p>
+
+<p>If you're having trouble figuring out what is the name of a window that you want to manipulate, look at the selenium log messages
+which identify the names of windows created via window.open (and therefore intercepted by selenium).  You will see messages
+like the following for each window as it is opened:</p>
+
+<p><code>debug: window.open call intercepted; window ID (which you can use with selectWindow()) is "myNewWindow"</code></p>
+
+<p>In some cases, Selenium will be unable to intercept a call to window.open (if the call occurs during or before the "onLoad" event, for example).
+(This is bug SEL-339.)  In those cases, you can force Selenium to notice the open window's name by using the Selenium openWindow command, using
+an empty (blank) url, like this: openWindow("", "myFunnyWindow").</p></comment>
+
+</function>
+
+<function name="selectFrame">
+
+<param name="locator">an <a href="#locators">element locator</a> identifying a frame or iframe</param>
+
+<comment>Selects a frame within the current window.  (You may invoke this command
+multiple times to select nested frames.)  To select the parent frame, use
+"relative=parent" as a locator; to select the top frame, use "relative=top".
+
+<p>You may also use a DOM expression to identify the frame you want directly,
+like this: <code>dom=frames["main"].frames["subframe"]</code></p></comment>
+
+</function>
+
+<function name="getLogMessages">
+
+<return type="string">all log messages seen since the last call to this API</return>
+
+<comment>Return the contents of the log.
+
+<p>This is a placeholder intended to make the code generator make this API
+available to clients.  The selenium server will intercept this call, however,
+and return its recordkeeping of log messages since the last call to this API.
+Thus this code in JavaScript will never be called.</p>
+
+<p>The reason I opted for a servercentric solution is to be able to support
+multiple frames served from different domains, which would break a
+centralized JavaScript logging mechanism under some conditions.</p></comment>
+
+</function>
+
+<function name="getWhetherThisFrameMatchFrameExpression">
+
+<return type="boolean">true if the new frame is this code's window</return>
+
+<param name="currentFrameString">starting frame</param>
+
+<param name="target">new frame (which might be relative to the current one)</param>
+
+<comment>Determine whether current/locator identify the frame containing this running code.
+
+<p>This is useful in proxy injection mode, where this code runs in every
+browser frame and window, and sometimes the selenium server needs to identify
+the "current" frame.  In this case, when the test calls selectFrame, this
+routine is called for each frame to figure out which one has been selected.
+The selected frame will return true, while all others will return false.</p></comment>
+
+</function>
+
+<function name="getWhetherThisWindowMatchWindowExpression">
+
+<return type="boolean">true if the new window is this code's window</return>
+
+<param name="currentWindowString">starting window</param>
+
+<param name="target">new window (which might be relative to the current one, e.g., "_parent")</param>
+
+<comment>Determine whether currentWindowString plus target identify the window containing this running code.
+
+<p>This is useful in proxy injection mode, where this code runs in every
+browser frame and window, and sometimes the selenium server needs to identify
+the "current" window.  In this case, when the test calls selectWindow, this
+routine is called for each window to figure out which one has been selected.
+The selected window will return true, while all others will return false.</p></comment>
+
+</function>
+
+<function name="waitForPopUp">
+
+<param name="windowID">the JavaScript window ID of the window that will appear</param>
+
+<param name="timeout">a timeout in milliseconds, after which the action will return with an error</param>
+
+<comment>Waits for a popup window to appear and load up.</comment>
+
+</function>
+
+<function name="chooseCancelOnNextConfirmation">
+
+<comment>By default, Selenium's overridden window.confirm() function will
+return true, as if the user had manually clicked OK.  After running
+this command, the next call to confirm() will return false, as if
+the user had clicked Cancel.</comment>
+
+</function>
+
+<function name="answerOnNextPrompt">
+
+<param name="answer">the answer to give in response to the prompt pop-up</param>
+
+<comment>Instructs Selenium to return the specified answer string in response to
+the next JavaScript prompt [window.prompt()].</comment>
+
+</function>
+
+<function name="goBack">
+
+<comment>Simulates the user clicking the "back" button on their browser.</comment>
+
+</function>
+
+<function name="refresh">
+
+<comment>Simulates the user clicking the "Refresh" button on their browser.</comment>
+
+</function>
+
+<function name="close">
+
+<comment>Simulates the user clicking the "close" button in the titlebar of a popup
+window or tab.</comment>
+
+</function>
+
+<function name="isAlertPresent">
+
+<return type="boolean">true if there is an alert</return>
+
+<comment>Has an alert occurred?
+
+<p>
+This function never throws an exception
+</p></comment>
+
+</function>
+
+<function name="isPromptPresent">
+
+<return type="boolean">true if there is a pending prompt</return>
+
+<comment>Has a prompt occurred?
+
+<p>
+This function never throws an exception
+</p></comment>
+
+</function>
+
+<function name="isConfirmationPresent">
+
+<return type="boolean">true if there is a pending confirmation</return>
+
+<comment>Has confirm() been called?
+
+<p>
+This function never throws an exception
+</p></comment>
+
+</function>
+
+<function name="getAlert">
+
+<return type="string">The message of the most recent JavaScript alert</return>
+
+<comment>Retrieves the message of a JavaScript alert generated during the previous action, or fail if there were no alerts.
+
+<p>Getting an alert has the same effect as manually clicking OK. If an
+alert is generated but you do not get/verify it, the next Selenium action
+will fail.</p>
+
+<p>NOTE: under Selenium, JavaScript alerts will NOT pop up a visible alert
+dialog.</p>
+
+<p>NOTE: Selenium does NOT support JavaScript alerts that are generated in a
+page's onload() event handler. In this case a visible dialog WILL be
+generated and Selenium will hang until someone manually clicks OK.</p></comment>
+
+</function>
+
+<function name="getConfirmation">
+
+<return type="string">the message of the most recent JavaScript confirmation dialog</return>
+
+<comment>Retrieves the message of a JavaScript confirmation dialog generated during
+the previous action.
+
+<p>
+By default, the confirm function will return true, having the same effect
+as manually clicking OK. This can be changed by prior execution of the
+chooseCancelOnNextConfirmation command. If an confirmation is generated
+but you do not get/verify it, the next Selenium action will fail.
+</p>
+
+<p>
+NOTE: under Selenium, JavaScript confirmations will NOT pop up a visible
+dialog.
+</p>
+
+<p>
+NOTE: Selenium does NOT support JavaScript confirmations that are
+generated in a page's onload() event handler. In this case a visible
+dialog WILL be generated and Selenium will hang until you manually click
+OK.
+</p></comment>
+
+</function>
+
+<function name="getPrompt">
+
+<return type="string">the message of the most recent JavaScript question prompt</return>
+
+<comment>Retrieves the message of a JavaScript question prompt dialog generated during
+the previous action.
+
+<p>Successful handling of the prompt requires prior execution of the
+answerOnNextPrompt command. If a prompt is generated but you
+do not get/verify it, the next Selenium action will fail.</p>
+
+<p>NOTE: under Selenium, JavaScript prompts will NOT pop up a visible
+dialog.</p>
+
+<p>NOTE: Selenium does NOT support JavaScript prompts that are generated in a
+page's onload() event handler. In this case a visible dialog WILL be
+generated and Selenium will hang until someone manually clicks OK.</p></comment>
+
+</function>
+
+<function name="getLocation">
+
+<return type="string">the absolute URL of the current page</return>
+
+<comment>Gets the absolute URL of the current page.</comment>
+
+</function>
+
+<function name="getTitle">
+
+<return type="string">the title of the current page</return>
+
+<comment>Gets the title of the current page.</comment>
+
+</function>
+
+<function name="getBodyText">
+
+<return type="string">the entire text of the page</return>
+
+<comment>Gets the entire text of the page.</comment>
+
+</function>
+
+<function name="getValue">
+
+<return type="string">the element value, or "on/off" for checkbox/radio elements</return>
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Gets the (whitespace-trimmed) value of an input field (or anything else with a value parameter).
+For checkbox/radio elements, the value will be "on" or "off" depending on
+whether the element is checked or not.</comment>
+
+</function>
+
+<function name="getText">
+
+<return type="string">the text of the element</return>
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Gets the text of an element. This works for any element that contains
+text. This command uses either the textContent (Mozilla-like browsers) or
+the innerText (IE-like browsers) of the element, which is the rendered
+text shown to the user.</comment>
+
+</function>
+
+<function name="highlight">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Briefly changes the backgroundColor of the specified element yellow.  Useful for debugging.</comment>
+
+</function>
+
+<function name="getEval">
+
+<return type="string">the results of evaluating the snippet</return>
+
+<param name="script">the JavaScript snippet to run</param>
+
+<comment>Gets the result of evaluating the specified JavaScript snippet.  The snippet may
+have multiple lines, but only the result of the last line will be returned.
+
+<p>Note that, by default, the snippet will run in the context of the "selenium"
+object itself, so <code>this</code> will refer to the Selenium object, and <code>window</code> will
+refer to the top-level runner test window, not the window of your application.</p>
+
+<p>If you need a reference to the window of your application, you can refer
+to <code>this.browserbot.getCurrentWindow()</code> and if you need to use
+a locator to refer to a single element in your application page, you can
+use <code>this.browserbot.findElement("foo")</code> where "foo" is your locator.</p></comment>
+
+</function>
+
+<function name="isChecked">
+
+<return type="boolean">true if the checkbox is checked, false otherwise</return>
+
+<param name="locator">an <a href="#locators">element locator</a> pointing to a checkbox or radio button</param>
+
+<comment>Gets whether a toggle-button (checkbox/radio) is checked.  Fails if the specified element doesn't exist or isn't a toggle-button.</comment>
+
+</function>
+
+<function name="getTable">
+
+<return type="string">the text from the specified cell</return>
+
+<param name="tableCellAddress">a cell address, e.g. "foo.1.4"</param>
+
+<comment>Gets the text from a cell of a table. The cellAddress syntax
+tableLocator.row.column, where row and column start at 0.</comment>
+
+</function>
+
+<function name="getSelectedLabels">
+
+<return type="string[]">an array of all selected option labels in the specified select drop-down</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Gets all option labels (visible text) for selected options in the specified select or multi-select element.</comment>
+
+</function>
+
+<function name="getSelectedLabel">
+
+<return type="string">the selected option label in the specified select drop-down</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Gets option label (visible text) for selected option in the specified select element.</comment>
+
+</function>
+
+<function name="getSelectedValues">
+
+<return type="string[]">an array of all selected option values in the specified select drop-down</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Gets all option values (value attributes) for selected options in the specified select or multi-select element.</comment>
+
+</function>
+
+<function name="getSelectedValue">
+
+<return type="string">the selected option value in the specified select drop-down</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Gets option value (value attribute) for selected option in the specified select element.</comment>
+
+</function>
+
+<function name="getSelectedIndexes">
+
+<return type="string[]">an array of all selected option indexes in the specified select drop-down</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Gets all option indexes (option number, starting at 0) for selected options in the specified select or multi-select element.</comment>
+
+</function>
+
+<function name="getSelectedIndex">
+
+<return type="string">the selected option index in the specified select drop-down</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Gets option index (option number, starting at 0) for selected option in the specified select element.</comment>
+
+</function>
+
+<function name="getSelectedIds">
+
+<return type="string[]">an array of all selected option IDs in the specified select drop-down</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Gets all option element IDs for selected options in the specified select or multi-select element.</comment>
+
+</function>
+
+<function name="getSelectedId">
+
+<return type="string">the selected option ID in the specified select drop-down</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Gets option element ID for selected option in the specified select element.</comment>
+
+</function>
+
+<function name="isSomethingSelected">
+
+<return type="boolean">true if some option has been selected, false otherwise</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Determines whether some option in a drop-down menu is selected.</comment>
+
+</function>
+
+<function name="getSelectOptions">
+
+<return type="string[]">an array of all option labels in the specified select drop-down</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Gets all option labels in the specified select drop-down.</comment>
+
+</function>
+
+<function name="getAttribute">
+
+<return type="string">the value of the specified attribute</return>
+
+<param name="attributeLocator">an element locator followed by an</param>
+
+<comment>Gets the value of an element attribute.</comment>
+
+</function>
+
+<function name="isTextPresent">
+
+<return type="boolean">true if the pattern matches the text, false otherwise</return>
+
+<param name="pattern">a <a href="#patterns">pattern</a> to match with the text of the page</param>
+
+<comment>Verifies that the specified text pattern appears somewhere on the rendered page shown to the user.</comment>
+
+</function>
+
+<function name="isElementPresent">
+
+<return type="boolean">true if the element is present, false otherwise</return>
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Verifies that the specified element is somewhere on the page.</comment>
+
+</function>
+
+<function name="isVisible">
+
+<return type="boolean">true if the specified element is visible, false otherwise</return>
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Determines if the specified element is visible. An
+element can be rendered invisible by setting the CSS "visibility"
+property to "hidden", or the "display" property to "none", either for the
+element itself or one if its ancestors.  This method will fail if
+the element is not present.</comment>
+
+</function>
+
+<function name="isEditable">
+
+<return type="boolean">true if the input element is editable, false otherwise</return>
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Determines whether the specified input element is editable, ie hasn't been disabled.
+This method will fail if the specified element isn't an input element.</comment>
+
+</function>
+
+<function name="getAllButtons">
+
+<return type="string[]">the IDs of all buttons on the page</return>
+
+<comment>Returns the IDs of all buttons on the page.
+
+<p>If a given button has no ID, it will appear as "" in this array.</p></comment>
+
+</function>
+
+<function name="getAllLinks">
+
+<return type="string[]">the IDs of all links on the page</return>
+
+<comment>Returns the IDs of all links on the page.
+
+<p>If a given link has no ID, it will appear as "" in this array.</p></comment>
+
+</function>
+
+<function name="getAllFields">
+
+<return type="string[]">the IDs of all field on the page</return>
+
+<comment>Returns the IDs of all input fields on the page.
+
+<p>If a given field has no ID, it will appear as "" in this array.</p></comment>
+
+</function>
+
+<function name="getAttributeFromAllWindows">
+
+<return type="string[]">the set of values of this attribute from all known windows.</return>
+
+<param name="attributeName">name of an attribute on the windows</param>
+
+<comment>Returns every instance of some attribute from all known windows.</comment>
+
+</function>
+
+<function name="dragdrop">
+
+<param name="locator">an element locator</param>
+
+<param name="movementsString">offset in pixels from the current location to which the element should be moved, e.g., "+70,-300"</param>
+
+<comment>deprecated - use dragAndDrop instead</comment>
+
+</function>
+
+<function name="setMouseSpeed">
+
+<param name="pixels">the number of pixels between "mousemove" events</param>
+
+<comment>Configure the number of pixels between "mousemove" events during dragAndDrop commands (default=10).
+<p>Setting this value to 0 means that we'll send a "mousemove" event to every single pixel
+in between the start location and the end location; that can be very slow, and may
+cause some browsers to force the JavaScript to timeout.</p>
+
+<p>If the mouse speed is greater than the distance between the two dragged objects, we'll
+just send one "mousemove" at the start location and then one final one at the end location.</p></comment>
+
+</function>
+
+<function name="getMouseSpeed">
+
+<return type="number">the number of pixels between "mousemove" events during dragAndDrop commands (default=10)</return>
+
+<comment>Returns the number of pixels between "mousemove" events during dragAndDrop commands (default=10).</comment>
+
+</function>
+
+<function name="dragAndDrop">
+
+<param name="locator">an element locator</param>
+
+<param name="movementsString">offset in pixels from the current location to which the element should be moved, e.g., "+70,-300"</param>
+
+<comment>Drags an element a certain distance and then drops it</comment>
+
+</function>
+
+<function name="dragAndDropToObject">
+
+<param name="locatorOfObjectToBeDragged">an element to be dragged</param>
+
+<param name="locatorOfDragDestinationObject">an element whose location (i.e., whose center-most pixel) will be the point where locatorOfObjectToBeDragged  is dropped</param>
+
+<comment>Drags an element and drops it on another element</comment>
+
+</function>
+
+<function name="windowFocus">
+
+<param name="windowName">name of the window to be given focus</param>
+
+<comment>Gives focus to a window</comment>
+
+</function>
+
+<function name="windowMaximize">
+
+<param name="windowName">name of the window to be enlarged</param>
+
+<comment>Resize window to take up the entire screen</comment>
+
+</function>
+
+<function name="getAllWindowIds">
+
+<return type="string[]">the IDs of all windows that the browser knows about.</return>
+
+<comment>Returns the IDs of all windows that the browser knows about.</comment>
+
+</function>
+
+<function name="getAllWindowNames">
+
+<return type="string[]">the names of all windows that the browser knows about.</return>
+
+<comment>Returns the names of all windows that the browser knows about.</comment>
+
+</function>
+
+<function name="getAllWindowTitles">
+
+<return type="string[]">the titles of all windows that the browser knows about.</return>
+
+<comment>Returns the titles of all windows that the browser knows about.</comment>
+
+</function>
+
+<function name="getHtmlSource">
+
+<return type="string">the entire HTML source</return>
+
+<comment>Returns the entire HTML source between the opening and
+closing "html" tags.</comment>
+
+</function>
+
+<function name="setCursorPosition">
+
+<param name="locator">an <a href="#locators">element locator</a> pointing to an input element or textarea</param>
+
+<param name="position">the numerical position of the cursor in the field; position should be 0 to move the position to the beginning of the field.  You can also set the cursor to -1 to move it to the end of the field.</param>
+
+<comment>Moves the text cursor to the specified position in the given input element or textarea.
+This method will fail if the specified element isn't an input element or textarea.</comment>
+
+</function>
+
+<function name="getElementIndex">
+
+<return type="number">of relative index of the element to its parent (starting from 0)</return>
+
+<param name="locator">an <a href="#locators">element locator</a> pointing to an element</param>
+
+<comment>Get the relative index of an element to its parent (starting from 0). The comment node and empty text node
+will be ignored.</comment>
+
+</function>
+
+<function name="isOrdered">
+
+<return type="boolean">true if two elements are ordered and have same parent, false otherwise</return>
+
+<param name="locator1">an <a href="#locators">element locator</a> pointing to the first element</param>
+
+<param name="locator2">an <a href="#locators">element locator</a> pointing to the second element</param>
+
+<comment>Check if these two elements have same parent and are ordered. Two same elements will
+not be considered ordered.</comment>
+
+</function>
+
+<function name="getElementPositionLeft">
+
+<return type="number">of pixels from the edge of the frame.</return>
+
+<param name="locator">an <a href="#locators">element locator</a> pointing to an element OR an element itself</param>
+
+<comment>Retrieves the horizontal position of an element</comment>
+
+</function>
+
+<function name="getElementPositionTop">
+
+<return type="number">of pixels from the edge of the frame.</return>
+
+<param name="locator">an <a href="#locators">element locator</a> pointing to an element OR an element itself</param>
+
+<comment>Retrieves the vertical position of an element</comment>
+
+</function>
+
+<function name="getElementWidth">
+
+<return type="number">width of an element in pixels</return>
+
+<param name="locator">an <a href="#locators">element locator</a> pointing to an element</param>
+
+<comment>Retrieves the width of an element</comment>
+
+</function>
+
+<function name="getElementHeight">
+
+<return type="number">height of an element in pixels</return>
+
+<param name="locator">an <a href="#locators">element locator</a> pointing to an element</param>
+
+<comment>Retrieves the height of an element</comment>
+
+</function>
+
+<function name="getCursorPosition">
+
+<return type="number">the numerical position of the cursor in the field</return>
+
+<param name="locator">an <a href="#locators">element locator</a> pointing to an input element or textarea</param>
+
+<comment>Retrieves the text cursor position in the given input element or textarea; beware, this may not work perfectly on all browsers.
+
+<p>Specifically, if the cursor/selection has been cleared by JavaScript, this command will tend to
+return the position of the last location of the cursor, even though the cursor is now gone from the page.  This is filed as <a href="http://jira.openqa.org/browse/SEL-243">SEL-243</a>.</p>
+This method will fail if the specified element isn't an input element or textarea, or there is no cursor in the element.</comment>
+
+</function>
+
+<function name="setContext">
+
+<param name="context">the message to be sent to the browser</param>
+
+<param name="logLevelThreshold">one of "debug", "info", "warn", "error", sets the threshold for browser-side logging</param>
+
+<comment>Writes a message to the status bar and adds a note to the browser-side
+log.
+
+<p>If logLevelThreshold is specified, set the threshold for logging
+to that level (debug, info, warn, error).</p>
+
+<p>(Note that the browser-side logs will <i>not</i> be sent back to the
+server, and are invisible to the Client Driver.)</p></comment>
+
+</function>
+
+<function name="getExpression">
+
+<return type="string">the value passed in</return>
+
+<param name="expression">the value to return</param>
+
+<comment>Returns the specified expression.
+
+<p>This is useful because of JavaScript preprocessing.
+It is used to generate commands like assertExpression and waitForExpression.</p></comment>
+
+</function>
+
+<function name="waitForCondition">
+
+<param name="script">the JavaScript snippet to run</param>
+
+<param name="timeout">a timeout in milliseconds, after which this command will return with an error</param>
+
+<comment>Runs the specified JavaScript snippet repeatedly until it evaluates to "true".
+The snippet may have multiple lines, but only the result of the last line
+will be considered.
+
+<p>Note that, by default, the snippet will be run in the runner's test window, not in the window
+of your application.  To get the window of your application, you can use
+the JavaScript snippet <code>selenium.browserbot.getCurrentWindow()</code>, and then
+run your JavaScript in there</p></comment>
+
+</function>
+
+<function name="setTimeout">
+
+<param name="timeout">a timeout in milliseconds, after which the action will return with an error</param>
+
+<comment>Specifies the amount of time that Selenium will wait for actions to complete.
+
+<p>Actions that require waiting include "open" and the "waitFor*" actions.</p>
+The default timeout is 30 seconds.</comment>
+
+</function>
+
+<function name="waitForPageToLoad">
+
+<param name="timeout">a timeout in milliseconds, after which this command will return with an error</param>
+
+<comment>Waits for a new page to load.
+
+<p>You can use this command instead of the "AndWait" suffixes, "clickAndWait", "selectAndWait", "typeAndWait" etc.
+(which are only available in the JS API).</p>
+
+<p>Selenium constantly keeps track of new pages loading, and sets a "newPageLoaded"
+flag when it first notices a page load.  Running any other Selenium command after
+turns the flag to false.  Hence, if you want to wait for a page to load, you must
+wait immediately after a Selenium command that caused a page-load.</p></comment>
+
+</function>
+
+<function name="getCookie">
+
+<return type="string">all cookies of the current page under test</return>
+
+<comment>Return all cookies of the current page under test.</comment>
+
+</function>
+
+<function name="createCookie">
+
+<param name="nameValuePair">name and value of the cookie in a format "name=value"</param>
+
+<param name="optionsString">options for the cookie. Currently supported options include 'path' and 'max_age'.      the optionsString's format is "path=/path/, max_age=60". The order of options are irrelevant, the unit      of the value of 'max_age' is second.</param>
+
+<comment>Create a new cookie whose path and domain are same with those of current page
+under test, unless you specified a path for this cookie explicitly.</comment>
+
+</function>
+
+<function name="deleteCookie">
+
+<param name="name">the name of the cookie to be deleted</param>
+
+<param name="path">the path property of the cookie to be deleted</param>
+
+<comment>Delete a named cookie with specified path.</comment>
+
+</function>
+
+</apidoc>
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/xpath/xpath.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/xpath/xpath.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/xpath/xpath.js	(revision 4307)
@@ -0,0 +1,2182 @@
+// Copyright 2005 Google Inc.
+// All Rights Reserved
+//
+// An XPath parser and evaluator written in JavaScript. The
+// implementation is complete except for functions handling
+// namespaces.
+//
+// Reference: [XPATH] XPath Specification
+// <http://www.w3.org/TR/1999/REC-xpath-19991116>.
+//
+//
+// The API of the parser has several parts:
+//
+// 1. The parser function xpathParse() that takes a string and returns
+// an expession object.
+//
+// 2. The expression object that has an evaluate() method to evaluate the
+// XPath expression it represents. (It is actually a hierarchy of
+// objects that resembles the parse tree, but an application will call
+// evaluate() only on the top node of this hierarchy.)
+//
+// 3. The context object that is passed as an argument to the evaluate()
+// method, which represents the DOM context in which the expression is
+// evaluated.
+//
+// 4. The value object that is returned from evaluate() and represents
+// values of the different types that are defined by XPath (number,
+// string, boolean, and node-set), and allows to convert between them.
+//
+// These parts are near the top of the file, the functions and data
+// that are used internally follow after them.
+//
+//
+// TODO(mesch): add jsdoc comments. Use more coherent naming.
+//
+//
+// Author: Steffen Meschkat <mesch@google.com>
+
+
+// The entry point for the parser.
+//
+// @param expr a string that contains an XPath expression.
+// @return an expression object that can be evaluated with an
+// expression context.
+
+function xpathParse(expr) {
+  if (xpathdebug) {
+    Log.write('XPath parse ' + expr);
+  }
+  xpathParseInit();
+
+  var cached = xpathCacheLookup(expr);
+  if (cached) {
+    if (xpathdebug) {
+      Log.write(' ... cached');
+    }
+    return cached;
+  }
+
+  // Optimize for a few common cases: simple attribute node tests
+  // (@id), simple element node tests (page), variable references
+  // ($address), numbers (4), multi-step path expressions where each
+  // step is a plain element node test
+  // (page/overlay/locations/location).
+  
+  if (expr.match(/^(\$|@)?\w+$/i)) {
+    var ret = makeSimpleExpr(expr);
+    xpathParseCache[expr] = ret;
+    if (xpathdebug) {
+      Log.write(' ... simple');
+    }
+    return ret;
+  }
+
+  if (expr.match(/^\w+(\/\w+)*$/i)) {
+    var ret = makeSimpleExpr2(expr);
+    xpathParseCache[expr] = ret;
+    if (xpathdebug) {
+      Log.write(' ... simple 2');
+    }
+    return ret;
+  }
+
+  var cachekey = expr; // expr is modified during parse
+  if (xpathdebug) {
+    Timer.start('XPath parse', cachekey);
+  }
+
+  var stack = [];
+  var ahead = null;
+  var previous = null;
+  var done = false;
+
+  var parse_count = 0;
+  var lexer_count = 0;
+  var reduce_count = 0;
+  
+  while (!done) {
+    parse_count++;
+    expr = expr.replace(/^\s*/, '');
+    previous = ahead;
+    ahead = null;
+
+    var rule = null;
+    var match = '';
+    for (var i = 0; i < xpathTokenRules.length; ++i) {
+      var result = xpathTokenRules[i].re.exec(expr);
+      lexer_count++;
+      if (result && result.length > 0 && result[0].length > match.length) {
+        rule = xpathTokenRules[i];
+        match = result[0];
+        break;
+      }
+    }
+
+    // Special case: allow operator keywords to be element and
+    // variable names.
+
+    // NOTE(mesch): The parser resolves conflicts by looking ahead,
+    // and this is the only case where we look back to
+    // disambiguate. So this is indeed something different, and
+    // looking back is usually done in the lexer (via states in the
+    // general case, called "start conditions" in flex(1)). Also,the
+    // conflict resolution in the parser is not as robust as it could
+    // be, so I'd like to keep as much off the parser as possible (all
+    // these precedence values should be computed from the grammar
+    // rules and possibly associativity declarations, as in bison(1),
+    // and not explicitly set.
+
+    if (rule &&
+        (rule == TOK_DIV || 
+         rule == TOK_MOD ||
+         rule == TOK_AND || 
+         rule == TOK_OR) &&
+        (!previous || 
+         previous.tag == TOK_AT || 
+         previous.tag == TOK_DSLASH || 
+         previous.tag == TOK_SLASH ||
+         previous.tag == TOK_AXIS || 
+         previous.tag == TOK_DOLLAR)) {
+      rule = TOK_QNAME;
+    }
+
+    if (rule) {
+      expr = expr.substr(match.length);
+      if (xpathdebug) {
+        Log.write('token: ' + match + ' -- ' + rule.label);
+      }
+      ahead = {
+        tag: rule,
+        match: match,
+        prec: rule.prec ?  rule.prec : 0, // || 0 is removed by the compiler
+        expr: makeTokenExpr(match)
+      };
+
+    } else {
+      if (xpathdebug) {
+        Log.write('DONE');
+      }
+      done = true;
+    }
+
+    while (xpathReduce(stack, ahead)) {
+      reduce_count++;
+      if (xpathdebug) {
+        Log.write('stack: ' + stackToString(stack));
+      }
+    }
+  }
+
+  if (xpathdebug) {
+    Log.write(stackToString(stack));
+  }
+
+  if (stack.length != 1) {
+    throw 'XPath parse error ' + cachekey + ':\n' + stackToString(stack);
+  }
+
+  var result = stack[0].expr;
+  xpathParseCache[cachekey] = result;
+
+  if (xpathdebug) {
+    Timer.end('XPath parse', cachekey);
+  }
+
+  if (xpathdebug) {
+    Log.write('XPath parse: ' + parse_count + ' / ' + 
+              lexer_count + ' / ' + reduce_count);
+  }
+
+  return result;
+}
+
+var xpathParseCache = {};
+
+function xpathCacheLookup(expr) {
+  return xpathParseCache[expr];
+}
+
+function xpathReduce(stack, ahead) {
+  var cand = null;
+
+  if (stack.length > 0) {
+    var top = stack[stack.length-1];
+    var ruleset = xpathRules[top.tag.key];
+
+    if (ruleset) {
+      for (var i = 0; i < ruleset.length; ++i) {
+        var rule = ruleset[i];
+        var match = xpathMatchStack(stack, rule[1]);
+        if (match.length) {
+          cand = {
+            tag: rule[0],
+            rule: rule,
+            match: match
+          };
+          cand.prec = xpathGrammarPrecedence(cand);
+          break;
+        }
+      }
+    }
+  }
+
+  var ret;
+  if (cand && (!ahead || cand.prec > ahead.prec || 
+               (ahead.tag.left && cand.prec >= ahead.prec))) {
+    for (var i = 0; i < cand.match.matchlength; ++i) {
+      stack.pop();
+    }
+
+    if (xpathdebug) {
+      Log.write('reduce ' + cand.tag.label + ' ' + cand.prec +
+                ' ahead ' + (ahead ? ahead.tag.label + ' ' + ahead.prec + 
+                             (ahead.tag.left ? ' left' : '')
+                             : ' none '));
+    }
+
+    var matchexpr = mapExpr(cand.match, function(m) { return m.expr; });
+    cand.expr = cand.rule[3].apply(null, matchexpr);
+
+    stack.push(cand);
+    ret = true;
+
+  } else {
+    if (ahead) {
+      if (xpathdebug) {
+        Log.write('shift ' + ahead.tag.label + ' ' + ahead.prec + 
+                  (ahead.tag.left ? ' left' : '') +
+                  ' over ' + (cand ? cand.tag.label + ' ' + 
+                              cand.prec : ' none'));
+      }
+      stack.push(ahead);
+    }
+    ret = false;
+  }
+  return ret;
+}
+
+function xpathMatchStack(stack, pattern) {
+
+  // NOTE(mesch): The stack matches for variable cardinality are
+  // greedy but don't do backtracking. This would be an issue only
+  // with rules of the form A* A, i.e. with an element with variable
+  // cardinality followed by the same element. Since that doesn't
+  // occur in the grammar at hand, all matches on the stack are
+  // unambiguous.
+
+  var S = stack.length;
+  var P = pattern.length;
+  var p, s;
+  var match = [];
+  match.matchlength = 0;
+  var ds = 0;
+  for (p = P - 1, s = S - 1; p >= 0 && s >= 0; --p, s -= ds) {
+    ds = 0;
+    var qmatch = [];
+    if (pattern[p] == Q_MM) {
+      p -= 1;
+      match.push(qmatch);
+      while (s - ds >= 0 && stack[s - ds].tag == pattern[p]) {
+        qmatch.push(stack[s - ds]);
+        ds += 1;
+        match.matchlength += 1;
+      }
+
+    } else if (pattern[p] == Q_01) {
+      p -= 1;
+      match.push(qmatch);
+      while (s - ds >= 0 && ds < 2 && stack[s - ds].tag == pattern[p]) {
+        qmatch.push(stack[s - ds]);
+        ds += 1;
+        match.matchlength += 1;
+      }
+
+    } else if (pattern[p] == Q_1M) {
+      p -= 1;
+      match.push(qmatch);
+      if (stack[s].tag == pattern[p]) {
+        while (s - ds >= 0 && stack[s - ds].tag == pattern[p]) {
+          qmatch.push(stack[s - ds]);
+          ds += 1;
+          match.matchlength += 1;
+        }
+      } else {
+        return [];
+      }
+
+    } else if (stack[s].tag == pattern[p]) {
+      match.push(stack[s]);
+      ds += 1;
+      match.matchlength += 1;
+
+    } else {
+      return [];
+    }
+
+    reverseInplace(qmatch);
+    qmatch.expr = mapExpr(qmatch, function(m) { return m.expr; });
+  }
+
+  reverseInplace(match);
+
+  if (p == -1) {
+    return match;
+
+  } else {
+    return [];
+  }
+}
+
+function xpathTokenPrecedence(tag) {
+  return tag.prec || 2;
+}
+
+function xpathGrammarPrecedence(frame) {
+  var ret = 0;
+
+  if (frame.rule) { /* normal reduce */
+    if (frame.rule.length >= 3 && frame.rule[2] >= 0) {
+      ret = frame.rule[2];
+
+    } else {
+      for (var i = 0; i < frame.rule[1].length; ++i) {
+        var p = xpathTokenPrecedence(frame.rule[1][i]);
+        ret = Math.max(ret, p);
+      }
+    }
+  } else if (frame.tag) { /* TOKEN match */
+    ret = xpathTokenPrecedence(frame.tag);
+
+  } else if (frame.length) { /* Q_ match */
+    for (var j = 0; j < frame.length; ++j) {
+      var p = xpathGrammarPrecedence(frame[j]);
+      ret = Math.max(ret, p);
+    }
+  }
+
+  return ret;
+}
+
+function stackToString(stack) {
+  var ret = '';
+  for (var i = 0; i < stack.length; ++i) {
+    if (ret) {
+      ret += '\n';
+    }
+    ret += stack[i].tag.label;
+  }
+  return ret;
+}
+
+
+// XPath expression evaluation context. An XPath context consists of a
+// DOM node, a list of DOM nodes that contains this node, a number
+// that represents the position of the single node in the list, and a
+// current set of variable bindings. (See XPath spec.)
+//
+// The interface of the expression context:
+//
+//   Constructor -- gets the node, its position, the node set it
+//   belongs to, and a parent context as arguments. The parent context
+//   is used to implement scoping rules for variables: if a variable
+//   is not found in the current context, it is looked for in the
+//   parent context, recursively. Except for node, all arguments have
+//   default values: default position is 0, default node set is the
+//   set that contains only the node, and the default parent is null.
+//
+//     Notice that position starts at 0 at the outside interface;
+//     inside XPath expressions this shows up as position()=1.
+//
+//   clone() -- creates a new context with the current context as
+//   parent. If passed as argument to clone(), the new context has a
+//   different node, position, or node set. What is not passed is
+//   inherited from the cloned context.
+//
+//   setVariable(name, expr) -- binds given XPath expression to the
+//   name.
+//
+//   getVariable(name) -- what the name says.
+//
+//   setNode(node, position) -- sets the context to the new node and
+//   its corresponding position. Needed to implement scoping rules for
+//   variables in XPath. (A variable is visible to all subsequent
+//   siblings, not only to its children.)
+
+function ExprContext(node, position, nodelist, parent) {
+  this.node = node;
+  this.position = position || 0;
+  this.nodelist = nodelist || [ node ];
+  this.variables = {};
+  this.parent = parent || null;
+  this.root = parent ? parent.root : node.ownerDocument;
+}
+
+ExprContext.prototype.clone = function(node, position, nodelist) {
+  return new
+  ExprContext(node || this.node,
+              typeof position != 'undefined' ? position : this.position,
+              nodelist || this.nodelist, this);
+};
+
+ExprContext.prototype.setVariable = function(name, value) {
+  this.variables[name] = value;
+};
+
+ExprContext.prototype.getVariable = function(name) {
+  if (typeof this.variables[name] != 'undefined') {
+    return this.variables[name];
+
+  } else if (this.parent) {
+    return this.parent.getVariable(name);
+
+  } else {
+    return null;
+  }
+}
+
+ExprContext.prototype.setNode = function(node, position) {
+  this.node = node;
+  this.position = position;
+}
+
+
+// XPath expression values. They are what XPath expressions evaluate
+// to. Strangely, the different value types are not specified in the
+// XPath syntax, but only in the semantics, so they don't show up as
+// nonterminals in the grammar. Yet, some expressions are required to
+// evaluate to particular types, and not every type can be coerced
+// into every other type. Although the types of XPath values are
+// similar to the types present in JavaScript, the type coercion rules
+// are a bit peculiar, so we explicitly model XPath types instead of
+// mapping them onto JavaScript types. (See XPath spec.)
+//
+// The four types are:
+//
+//   StringValue
+//
+//   NumberValue
+//
+//   BooleanValue
+//
+//   NodeSetValue
+//
+// The common interface of the value classes consists of methods that
+// implement the XPath type coercion rules:
+//
+//   stringValue() -- returns the value as a JavaScript String,
+//
+//   numberValue() -- returns the value as a JavaScript Number,
+//
+//   booleanValue() -- returns the value as a JavaScript Boolean,
+//
+//   nodeSetValue() -- returns the value as a JavaScript Array of DOM
+//   Node objects.
+//
+
+function StringValue(value) {
+  this.value = value;
+  this.type = 'string';
+}
+
+StringValue.prototype.stringValue = function() {
+  return this.value;
+}
+
+StringValue.prototype.booleanValue = function() {
+  return this.value.length > 0;
+}
+
+StringValue.prototype.numberValue = function() {
+  return this.value - 0;
+}
+
+StringValue.prototype.nodeSetValue = function() {
+  throw this + ' ' + Error().stack;
+}
+
+function BooleanValue(value) {
+  this.value = value;
+  this.type = 'boolean';
+}
+
+BooleanValue.prototype.stringValue = function() {
+  return '' + this.value;
+}
+
+BooleanValue.prototype.booleanValue = function() {
+  return this.value;
+}
+
+BooleanValue.prototype.numberValue = function() {
+  return this.value ? 1 : 0;
+}
+
+BooleanValue.prototype.nodeSetValue = function() {
+  throw this + ' ' + Error().stack;
+}
+
+function NumberValue(value) {
+  this.value = value;
+  this.type = 'number';
+}
+
+NumberValue.prototype.stringValue = function() {
+  return '' + this.value;
+}
+
+NumberValue.prototype.booleanValue = function() {
+  return !!this.value;
+}
+
+NumberValue.prototype.numberValue = function() {
+  return this.value - 0;
+}
+
+NumberValue.prototype.nodeSetValue = function() {
+  throw this + ' ' + Error().stack;
+}
+
+function NodeSetValue(value) {
+  this.value = value;
+  this.type = 'node-set';
+}
+
+NodeSetValue.prototype.stringValue = function() {
+  if (this.value.length == 0) {
+    return '';
+  } else {
+    return xmlValue(this.value[0]);
+  }
+}
+
+NodeSetValue.prototype.booleanValue = function() {
+  return this.value.length > 0;
+}
+
+NodeSetValue.prototype.numberValue = function() {
+  return this.stringValue() - 0;
+}
+
+NodeSetValue.prototype.nodeSetValue = function() {
+  return this.value;
+};
+
+// XPath expressions. They are used as nodes in the parse tree and
+// possess an evaluate() method to compute an XPath value given an XPath
+// context. Expressions are returned from the parser. Teh set of
+// expression classes closely mirrors the set of non terminal symbols
+// in the grammar. Every non trivial nonterminal symbol has a
+// corresponding expression class.
+//
+// The common expression interface consists of the following methods:
+//
+// evaluate(context) -- evaluates the expression, returns a value.
+//
+// toString() -- returns the XPath text representation of the
+// expression (defined in xsltdebug.js).
+//
+// parseTree(indent) -- returns a parse tree representation of the
+// expression (defined in xsltdebug.js).
+
+function TokenExpr(m) {
+  this.value = m;
+}
+
+TokenExpr.prototype.evaluate = function() {
+  return new StringValue(this.value);
+};
+
+function LocationExpr() {
+  this.absolute = false;
+  this.steps = [];
+}
+
+LocationExpr.prototype.appendStep = function(s) {
+  this.steps.push(s);
+}
+
+LocationExpr.prototype.prependStep = function(s) {
+  var steps0 = this.steps;
+  this.steps = [ s ];
+  for (var i = 0; i < steps0.length; ++i) {
+    this.steps.push(steps0[i]);
+  }
+};
+
+LocationExpr.prototype.evaluate = function(ctx) {
+  var start;
+  if (this.absolute) {
+    start = ctx.root;
+
+  } else {
+    start = ctx.node;
+  }
+
+  var nodes = [];
+  xPathStep(nodes, this.steps, 0, start, ctx);
+  return new NodeSetValue(nodes);
+};
+
+function xPathStep(nodes, steps, step, input, ctx) {
+  var s = steps[step];
+  var ctx2 = ctx.clone(input);
+  var nodelist = s.evaluate(ctx2).nodeSetValue();
+
+  for (var i = 0; i < nodelist.length; ++i) {
+    if (step == steps.length - 1) {
+      nodes.push(nodelist[i]);
+    } else {
+      xPathStep(nodes, steps, step + 1, nodelist[i], ctx);
+    }
+  }
+}
+
+function StepExpr(axis, nodetest, predicate) {
+  this.axis = axis;
+  this.nodetest = nodetest;
+  this.predicate = predicate || [];
+}
+
+StepExpr.prototype.appendPredicate = function(p) {
+  this.predicate.push(p);
+}
+
+StepExpr.prototype.evaluate = function(ctx) {
+  var input = ctx.node;
+  var nodelist = [];
+
+  // NOTE(mesch): When this was a switch() statement, it didn't work
+  // in Safari/2.0. Not sure why though; it resulted in the JavaScript
+  // console output "undefined" (without any line number or so).
+
+  if (this.axis ==  xpathAxis.ANCESTOR_OR_SELF) {
+    nodelist.push(input);
+    for (var n = input.parentNode; n; n = input.parentNode) {
+      nodelist.push(n);
+    }
+
+  } else if (this.axis == xpathAxis.ANCESTOR) {
+    for (var n = input.parentNode; n; n = input.parentNode) {
+      nodelist.push(n);
+    }
+
+  } else if (this.axis == xpathAxis.ATTRIBUTE) {
+    copyArray(nodelist, input.attributes);
+
+  } else if (this.axis == xpathAxis.CHILD) {
+    copyArray(nodelist, input.childNodes);
+
+  } else if (this.axis == xpathAxis.DESCENDANT_OR_SELF) {
+    nodelist.push(input);
+    xpathCollectDescendants(nodelist, input);
+
+  } else if (this.axis == xpathAxis.DESCENDANT) {
+    xpathCollectDescendants(nodelist, input);
+
+  } else if (this.axis == xpathAxis.FOLLOWING) {
+    for (var n = input.parentNode; n; n = n.parentNode) {
+      for (var nn = n.nextSibling; nn; nn = nn.nextSibling) {
+        nodelist.push(nn);
+        xpathCollectDescendants(nodelist, nn);
+      }
+    }
+
+  } else if (this.axis == xpathAxis.FOLLOWING_SIBLING) {
+    for (var n = input.nextSibling; n; n = input.nextSibling) {
+      nodelist.push(n);
+    }
+
+  } else if (this.axis == xpathAxis.NAMESPACE) {
+    alert('not implemented: axis namespace');
+
+  } else if (this.axis == xpathAxis.PARENT) {
+    if (input.parentNode) {
+      nodelist.push(input.parentNode);
+    }
+
+  } else if (this.axis == xpathAxis.PRECEDING) {
+    for (var n = input.parentNode; n; n = n.parentNode) {
+      for (var nn = n.previousSibling; nn; nn = nn.previousSibling) {
+        nodelist.push(nn);
+        xpathCollectDescendantsReverse(nodelist, nn);
+      }
+    }
+
+  } else if (this.axis == xpathAxis.PRECEDING_SIBLING) {
+    for (var n = input.previousSibling; n; n = input.previousSibling) {
+      nodelist.push(n);
+    }
+
+  } else if (this.axis == xpathAxis.SELF) {
+    nodelist.push(input);
+
+  } else {
+    throw 'ERROR -- NO SUCH AXIS: ' + this.axis;
+  }
+
+  // process node test
+  var nodelist0 = nodelist;
+  nodelist = [];
+  for (var i = 0; i < nodelist0.length; ++i) {
+    var n = nodelist0[i];
+    if (this.nodetest.evaluate(ctx.clone(n, i, nodelist0)).booleanValue()) {
+      nodelist.push(n);
+    }
+  }
+
+  // process predicates
+  for (var i = 0; i < this.predicate.length; ++i) {
+    var nodelist0 = nodelist;
+    nodelist = [];
+    for (var ii = 0; ii < nodelist0.length; ++ii) {
+      var n = nodelist0[ii];
+      if (this.predicate[i].evaluate(ctx.clone(n, ii, nodelist0)).booleanValue()) {
+        nodelist.push(n);
+      }
+    }
+  }
+
+  return new NodeSetValue(nodelist);
+};
+
+function NodeTestAny() {
+  this.value = new BooleanValue(true);
+}
+
+NodeTestAny.prototype.evaluate = function(ctx) {
+  return this.value;
+};
+
+function NodeTestElement() {}
+
+NodeTestElement.prototype.evaluate = function(ctx) {
+  return new BooleanValue(ctx.node.nodeType == DOM_ELEMENT_NODE);
+}
+
+function NodeTestText() {}
+
+NodeTestText.prototype.evaluate = function(ctx) {
+  return new BooleanValue(ctx.node.nodeType == DOM_TEXT_NODE);
+}
+
+function NodeTestComment() {}
+
+NodeTestComment.prototype.evaluate = function(ctx) {
+  return new BooleanValue(ctx.node.nodeType == DOM_COMMENT_NODE);
+}
+
+function NodeTestPI(target) {
+  this.target = target;
+}
+
+NodeTestPI.prototype.evaluate = function(ctx) {
+  return new
+  BooleanValue(ctx.node.nodeType == DOM_PROCESSING_INSTRUCTION_NODE &&
+               (!this.target || ctx.node.nodeName == this.target));
+}
+
+function NodeTestNC(nsprefix) {
+  this.regex = new RegExp("^" + nsprefix + ":");
+  this.nsprefix = nsprefix;
+}
+
+NodeTestNC.prototype.evaluate = function(ctx) {
+  var n = ctx.node;
+  return new BooleanValue(this.regex.match(n.nodeName));
+}
+
+function NodeTestName(name) {
+  this.name = name;
+}
+
+NodeTestName.prototype.evaluate = function(ctx) {
+  var n = ctx.node;
+  // NOTE (Patrick Lightbody): this change allows node selection to be case-insensitive
+  return new BooleanValue(n.nodeName.toUpperCase() == this.name.toUpperCase());
+}
+
+function PredicateExpr(expr) {
+  this.expr = expr;
+}
+
+PredicateExpr.prototype.evaluate = function(ctx) {
+  var v = this.expr.evaluate(ctx);
+  if (v.type == 'number') {
+    // NOTE(mesch): Internally, position is represented starting with
+    // 0, however in XPath position starts with 1. See functions
+    // position() and last().
+    return new BooleanValue(ctx.position == v.numberValue() - 1);
+  } else {
+    return new BooleanValue(v.booleanValue());
+  }
+};
+
+function FunctionCallExpr(name) {
+  this.name = name;
+  this.args = [];
+}
+
+FunctionCallExpr.prototype.appendArg = function(arg) {
+  this.args.push(arg);
+};
+
+FunctionCallExpr.prototype.evaluate = function(ctx) {
+  var fn = '' + this.name.value;
+  var f = this.xpathfunctions[fn];
+  if (f) {
+    return f.call(this, ctx);
+  } else {
+    Log.write('XPath NO SUCH FUNCTION ' + fn);
+    return new BooleanValue(false);
+  }
+};
+
+FunctionCallExpr.prototype.xpathfunctions = {
+  'last': function(ctx) {
+    assert(this.args.length == 0);
+    // NOTE(mesch): XPath position starts at 1.
+    return new NumberValue(ctx.nodelist.length);
+  },
+
+  'position': function(ctx) {
+    assert(this.args.length == 0);
+    // NOTE(mesch): XPath position starts at 1.
+    return new NumberValue(ctx.position + 1);
+  },
+
+  'count': function(ctx) {
+    assert(this.args.length == 1);
+    var v = this.args[0].evaluate(ctx);
+    return new NumberValue(v.nodeSetValue().length);
+  },
+
+  'id': function(ctx) {
+    assert(this.args.length == 1);
+    var e = this.args.evaluate(ctx);
+    var ret = [];
+    var ids;
+    if (e.type == 'node-set') {
+      ids = [];
+      for (var i = 0; i < e.length; ++i) {
+        var v = xmlValue(e[i]).split(/\s+/);
+        for (var ii = 0; ii < v.length; ++ii) {
+          ids.push(v[ii]);
+        }
+      }
+    } else {
+      ids = e.split(/\s+/);
+    }
+    var d = ctx.node.ownerDocument;
+    for (var i = 0; i < ids.length; ++i) {
+      var n = d.getElementById(ids[i]);
+      if (n) {
+        ret.push(n);
+      }
+    }
+    return new NodeSetValue(ret);
+  },
+
+  'local-name': function(ctx) {
+    alert('not implmented yet: XPath function local-name()');
+  },
+
+  'namespace-uri': function(ctx) {
+    alert('not implmented yet: XPath function namespace-uri()');
+  },
+
+  'name': function(ctx) {
+    assert(this.args.length == 1 || this.args.length == 0);
+    var n;
+    if (this.args.length == 0) {
+      n = [ ctx.node ];
+    } else {
+      n = this.args[0].evaluate(ctx).nodeSetValue();
+    }
+
+    if (n.length == 0) {
+      return new StringValue('');
+    } else {
+      return new StringValue(n[0].nodeName);
+    }
+  },
+
+  'string':  function(ctx) {
+    assert(this.args.length == 1 || this.args.length == 0);
+    if (this.args.length == 0) {
+      return new StringValue(new NodeSetValue([ ctx.node ]).stringValue());
+    } else {
+      return new StringValue(this.args[0].evaluate(ctx).stringValue());
+    }
+  },
+
+  'concat': function(ctx) {
+    var ret = '';
+    for (var i = 0; i < this.args.length; ++i) {
+      ret += this.args[i].evaluate(ctx).stringValue();
+    }
+    return new StringValue(ret);
+  },
+
+  'starts-with': function(ctx) {
+    assert(this.args.length == 2);
+    var s0 = this.args[0].evaluate(ctx).stringValue();
+    var s1 = this.args[1].evaluate(ctx).stringValue();
+    return new BooleanValue(s0.indexOf(s1) == 0);
+  },
+
+  'contains': function(ctx) {
+    assert(this.args.length == 2);
+    var s0 = this.args[0].evaluate(ctx).stringValue();
+    var s1 = this.args[1].evaluate(ctx).stringValue();
+    return new BooleanValue(s0.indexOf(s1) != -1);
+  },
+
+  'substring-before': function(ctx) {
+    assert(this.args.length == 2);
+    var s0 = this.args[0].evaluate(ctx).stringValue();
+    var s1 = this.args[1].evaluate(ctx).stringValue();
+    var i = s0.indexOf(s1);
+    var ret;
+    if (i == -1) {
+      ret = '';
+    } else {
+      ret = s0.substr(0,i);
+    }
+    return new StringValue(ret);
+  },
+
+  'substring-after': function(ctx) {
+    assert(this.args.length == 2);
+    var s0 = this.args[0].evaluate(ctx).stringValue();
+    var s1 = this.args[1].evaluate(ctx).stringValue();
+    var i = s0.indexOf(s1);
+    var ret;
+    if (i == -1) {
+      ret = '';
+    } else {
+      ret = s0.substr(i + s1.length);
+    }
+    return new StringValue(ret);
+  },
+
+  'substring': function(ctx) {
+    // NOTE: XPath defines the position of the first character in a
+    // string to be 1, in JavaScript this is 0 ([XPATH] Section 4.2).
+    assert(this.args.length == 2 || this.args.length == 3);
+    var s0 = this.args[0].evaluate(ctx).stringValue();
+    var s1 = this.args[1].evaluate(ctx).numberValue();
+    var ret;
+    if (this.args.length == 2) {
+      var i1 = Math.max(0, Math.round(s1) - 1);
+      ret = s0.substr(i1);
+
+    } else {
+      var s2 = this.args[2].evaluate(ctx).numberValue();
+      var i0 = Math.round(s1) - 1;
+      var i1 = Math.max(0, i0);
+      var i2 = Math.round(s2) - Math.max(0, -i0);
+      ret = s0.substr(i1, i2);
+    }
+    return new StringValue(ret);
+  },
+
+  'string-length': function(ctx) {
+    var s;
+    if (this.args.length > 0) {
+      s = this.args[0].evaluate(ctx).stringValue();
+    } else {
+      s = new NodeSetValue([ ctx.node ]).stringValue();
+    }
+    return new NumberValue(s.length);
+  },
+
+  'normalize-space': function(ctx) {
+    var s;
+    if (this.args.length > 0) {
+      s = this.args[0].evaluate(ctx).stringValue();
+    } else {
+      s = new NodeSetValue([ ctx.node ]).stringValue();
+    }
+    s = s.replace(/^\s*/,'').replace(/\s*$/,'').replace(/\s+/g, ' ');
+    return new StringValue(s);
+  },
+
+  'translate': function(ctx) {
+    assert(this.args.length == 3);
+    var s0 = this.args[0].evaluate(ctx).stringValue();
+    var s1 = this.args[1].evaluate(ctx).stringValue();
+    var s2 = this.args[2].evaluate(ctx).stringValue();
+
+    for (var i = 0; i < s1.length; ++i) {
+      s0 = s0.replace(new RegExp(s1.charAt(i), 'g'), s2.charAt(i));
+    }
+    return new StringValue(s0);
+  },
+
+  'boolean': function(ctx) {
+    assert(this.args.length == 1);
+    return new BooleanValue(this.args[0].evaluate(ctx).booleanValue());
+  },
+
+  'not': function(ctx) {
+    assert(this.args.length == 1);
+    var ret = !this.args[0].evaluate(ctx).booleanValue();
+    return new BooleanValue(ret);
+  },
+
+  'true': function(ctx) {
+    assert(this.args.length == 0);
+    return new BooleanValue(true);
+  },
+
+  'false': function(ctx) {
+    assert(this.args.length == 0);
+    return new BooleanValue(false);
+  },
+
+  'lang': function(ctx) {
+    assert(this.args.length == 1);
+    var lang = this.args[0].evaluate(ctx).stringValue();
+    var xmllang;
+    var n = ctx.node;
+    while (n && n != n.parentNode /* just in case ... */) {
+      xmllang = n.getAttribute('xml:lang');
+      if (xmllang) {
+        break;
+      }
+      n = n.parentNode;
+    }
+    if (!xmllang) {
+      return new BooleanValue(false);
+    } else {
+      var re = new RegExp('^' + lang + '$', 'i');
+      return new BooleanValue(xmllang.match(re) ||
+                              xmllang.replace(/_.*$/,'').match(re));
+    }
+  },
+
+  'number': function(ctx) {
+    assert(this.args.length == 1 || this.args.length == 0);
+
+    if (this.args.length == 1) {
+      return new NumberValue(this.args[0].evaluate(ctx).numberValue());
+    } else {
+      return new NumberValue(new NodeSetValue([ ctx.node ]).numberValue());
+    }
+  },
+
+  'sum': function(ctx) {
+    assert(this.args.length == 1);
+    var n = this.args[0].evaluate(ctx).nodeSetValue();
+    var sum = 0;
+    for (var i = 0; i < n.length; ++i) {
+      sum += xmlValue(n[i]) - 0;
+    }
+    return new NumberValue(sum);
+  },
+
+  'floor': function(ctx) {
+    assert(this.args.length == 1);
+    var num = this.args[0].evaluate(ctx).numberValue();
+    return new NumberValue(Math.floor(num));
+  },
+
+  'ceiling': function(ctx) {
+    assert(this.args.length == 1);
+    var num = this.args[0].evaluate(ctx).numberValue();
+    return new NumberValue(Math.ceil(num));
+  },
+
+  'round': function(ctx) {
+    assert(this.args.length == 1);
+    var num = this.args[0].evaluate(ctx).numberValue();
+    return new NumberValue(Math.round(num));
+  },
+
+  // TODO(mesch): The following functions are custom. There is a
+  // standard that defines how to add functions, which should be
+  // applied here.
+
+  'ext-join': function(ctx) {
+    assert(this.args.length == 2);
+    var nodes = this.args[0].evaluate(ctx).nodeSetValue();
+    var delim = this.args[1].evaluate(ctx).stringValue();
+    var ret = '';
+    for (var i = 0; i < nodes.length; ++i) {
+      if (ret) {
+        ret += delim;
+      }
+      ret += xmlValue(nodes[i]);
+    }
+    return new StringValue(ret);
+  },
+
+  // ext-if() evaluates and returns its second argument, if the
+  // boolean value of its first argument is true, otherwise it
+  // evaluates and returns its third argument.
+
+  'ext-if': function(ctx) {
+    assert(this.args.length == 3);
+    if (this.args[0].evaluate(ctx).booleanValue()) {
+      return this.args[1].evaluate(ctx);
+    } else {
+      return this.args[2].evaluate(ctx);
+    }
+  },
+
+  'ext-sprintf': function(ctx) {
+    assert(this.args.length >= 1);
+    var args = [];
+    for (var i = 0; i < this.args.length; ++i) {
+      args.push(this.args[i].evaluate(ctx).stringValue());
+    }
+    return new StringValue(sprintf.apply(null, args));
+  },
+
+  // ext-cardinal() evaluates its single argument as a number, and
+  // returns the current node that many times. It can be used in the
+  // select attribute to iterate over an integer range.
+  
+  'ext-cardinal': function(ctx) {
+    assert(this.args.length >= 1);
+    var c = this.args[0].evaluate(ctx).numberValue();
+    var ret = [];
+    for (var i = 0; i < c; ++i) {
+      ret.push(ctx.node);
+    }
+    return new NodeSetValue(ret);
+  }
+};
+
+function UnionExpr(expr1, expr2) {
+  this.expr1 = expr1;
+  this.expr2 = expr2;
+}
+
+UnionExpr.prototype.evaluate = function(ctx) {
+  var nodes1 = this.expr1.evaluate(ctx).nodeSetValue();
+  var nodes2 = this.expr2.evaluate(ctx).nodeSetValue();
+  var I1 = nodes1.length;
+  for (var i2 = 0; i2 < nodes2.length; ++i2) {
+    for (var i1 = 0; i1 < I1; ++i1) {
+      if (nodes1[i1] == nodes2[i2]) {
+        // break inner loop and continue outer loop, labels confuse
+        // the js compiler, so we don't use them here.
+        i1 = I1;
+      }
+    }
+    nodes1.push(nodes2[i2]);
+  }
+  return new NodeSetValue(nodes2);
+};
+
+function PathExpr(filter, rel) {
+  this.filter = filter;
+  this.rel = rel;
+}
+
+PathExpr.prototype.evaluate = function(ctx) {
+  var nodes = this.filter.evaluate(ctx).nodeSetValue();
+  var nodes1 = [];
+  for (var i = 0; i < nodes.length; ++i) {
+    var nodes0 = this.rel.evaluate(ctx.clone(nodes[i], i, nodes)).nodeSetValue();
+    for (var ii = 0; ii < nodes0.length; ++ii) {
+      nodes1.push(nodes0[ii]);
+    }
+  }
+  return new NodeSetValue(nodes1);
+};
+
+function FilterExpr(expr, predicate) {
+  this.expr = expr;
+  this.predicate = predicate;
+}
+
+FilterExpr.prototype.evaluate = function(ctx) {
+  var nodes = this.expr.evaluate(ctx).nodeSetValue();
+  for (var i = 0; i < this.predicate.length; ++i) {
+    var nodes0 = nodes;
+    nodes = [];
+    for (var j = 0; j < nodes0.length; ++j) {
+      var n = nodes0[j];
+      if (this.predicate[i].evaluate(ctx.clone(n, j, nodes0)).booleanValue()) {
+        nodes.push(n);
+      }
+    }
+  }
+
+  return new NodeSetValue(nodes);
+}
+
+function UnaryMinusExpr(expr) {
+  this.expr = expr;
+}
+
+UnaryMinusExpr.prototype.evaluate = function(ctx) {
+  return new NumberValue(-this.expr.evaluate(ctx).numberValue());
+};
+
+function BinaryExpr(expr1, op, expr2) {
+  this.expr1 = expr1;
+  this.expr2 = expr2;
+  this.op = op;
+}
+
+BinaryExpr.prototype.evaluate = function(ctx) {
+  var ret;
+  switch (this.op.value) {
+    case 'or':
+      ret = new BooleanValue(this.expr1.evaluate(ctx).booleanValue() ||
+                             this.expr2.evaluate(ctx).booleanValue());
+      break;
+
+    case 'and':
+      ret = new BooleanValue(this.expr1.evaluate(ctx).booleanValue() &&
+                             this.expr2.evaluate(ctx).booleanValue());
+      break;
+
+    case '+':
+      ret = new NumberValue(this.expr1.evaluate(ctx).numberValue() +
+                            this.expr2.evaluate(ctx).numberValue());
+      break;
+
+    case '-':
+      ret = new NumberValue(this.expr1.evaluate(ctx).numberValue() -
+                            this.expr2.evaluate(ctx).numberValue());
+      break;
+
+    case '*':
+      ret = new NumberValue(this.expr1.evaluate(ctx).numberValue() *
+                            this.expr2.evaluate(ctx).numberValue());
+      break;
+
+    case 'mod':
+      ret = new NumberValue(this.expr1.evaluate(ctx).numberValue() %
+                            this.expr2.evaluate(ctx).numberValue());
+      break;
+
+    case 'div':
+      ret = new NumberValue(this.expr1.evaluate(ctx).numberValue() /
+                            this.expr2.evaluate(ctx).numberValue());
+      break;
+
+    case '=':
+      ret = this.compare(ctx, function(x1, x2) { return x1 == x2; });
+      break;
+
+    case '!=':
+      ret = this.compare(ctx, function(x1, x2) { return x1 != x2; });
+      break;
+
+    case '<':
+      ret = this.compare(ctx, function(x1, x2) { return x1 < x2; });
+      break;
+
+    case '<=':
+      ret = this.compare(ctx, function(x1, x2) { return x1 <= x2; });
+      break;
+
+    case '>':
+      ret = this.compare(ctx, function(x1, x2) { return x1 > x2; });
+      break;
+
+    case '>=':
+      ret = this.compare(ctx, function(x1, x2) { return x1 >= x2; });
+      break;
+
+    default:
+      alert('BinaryExpr.evaluate: ' + this.op.value);
+  }
+  return ret;
+};
+
+BinaryExpr.prototype.compare = function(ctx, cmp) {
+  var v1 = this.expr1.evaluate(ctx);
+  var v2 = this.expr2.evaluate(ctx);
+
+  var ret;
+  if (v1.type == 'node-set' && v2.type == 'node-set') {
+    var n1 = v1.nodeSetValue();
+    var n2 = v2.nodeSetValue();
+    ret = false;
+    for (var i1 = 0; i1 < n1.length; ++i1) {
+      for (var i2 = 0; i2 < n2.length; ++i2) {
+        if (cmp(xmlValue(n1[i1]), xmlValue(n2[i2]))) {
+          ret = true;
+          // Break outer loop. Labels confuse the jscompiler and we
+          // don't use them.
+          i2 = n2.length;
+          i1 = n1.length;
+        }
+      }
+    }
+
+  } else if (v1.type == 'node-set' || v2.type == 'node-set') {
+
+    if (v1.type == 'number') {
+      var s = v1.numberValue();
+      var n = v2.nodeSetValue();
+
+      ret = false;
+      for (var i = 0;  i < n.length; ++i) {
+        var nn = xmlValue(n[i]) - 0;
+        if (cmp(s, nn)) {
+          ret = true;
+          break;
+        }
+      }
+
+    } else if (v2.type == 'number') {
+      var n = v1.nodeSetValue();
+      var s = v2.numberValue();
+
+      ret = false;
+      for (var i = 0;  i < n.length; ++i) {
+        var nn = xmlValue(n[i]) - 0;
+        if (cmp(nn, s)) {
+          ret = true;
+          break;
+        }
+      }
+
+    } else if (v1.type == 'string') {
+      var s = v1.stringValue();
+      var n = v2.nodeSetValue();
+
+      ret = false;
+      for (var i = 0;  i < n.length; ++i) {
+        var nn = xmlValue(n[i]);
+        if (cmp(s, nn)) {
+          ret = true;
+          break;
+        }
+      }
+
+    } else if (v2.type == 'string') {
+      var n = v1.nodeSetValue();
+      var s = v2.stringValue();
+
+      ret = false;
+      for (var i = 0;  i < n.length; ++i) {
+        var nn = xmlValue(n[i]);
+        if (cmp(nn, s)) {
+          ret = true;
+          break;
+        }
+      }
+
+    } else {
+      ret = cmp(v1.booleanValue(), v2.booleanValue());
+    }
+
+  } else if (v1.type == 'boolean' || v2.type == 'boolean') {
+    ret = cmp(v1.booleanValue(), v2.booleanValue());
+
+  } else if (v1.type == 'number' || v2.type == 'number') {
+    ret = cmp(v1.numberValue(), v2.numberValue());
+
+  } else {
+    ret = cmp(v1.stringValue(), v2.stringValue());
+  }
+
+  return new BooleanValue(ret);
+}
+
+function LiteralExpr(value) {
+  this.value = value;
+}
+
+LiteralExpr.prototype.evaluate = function(ctx) {
+  return new StringValue(this.value);
+};
+
+function NumberExpr(value) {
+  this.value = value;
+}
+
+NumberExpr.prototype.evaluate = function(ctx) {
+  return new NumberValue(this.value);
+};
+
+function VariableExpr(name) {
+  this.name = name;
+}
+
+VariableExpr.prototype.evaluate = function(ctx) {
+  return ctx.getVariable(this.name);
+}
+
+// Factory functions for semantic values (i.e. Expressions) of the
+// productions in the grammar. When a production is matched to reduce
+// the current parse state stack, the function is called with the
+// semantic values of the matched elements as arguments, and returns
+// another semantic value. The semantic value is a node of the parse
+// tree, an expression object with an evaluate() method that evaluates the
+// expression in an actual context. These factory functions are used
+// in the specification of the grammar rules, below.
+
+function makeTokenExpr(m) {
+  return new TokenExpr(m);
+}
+
+function passExpr(e) {
+  return e;
+}
+
+function makeLocationExpr1(slash, rel) {
+  rel.absolute = true;
+  return rel;
+}
+
+function makeLocationExpr2(dslash, rel) {
+  rel.absolute = true;
+  rel.prependStep(makeAbbrevStep(dslash.value));
+  return rel;
+}
+
+function makeLocationExpr3(slash) {
+  var ret = new LocationExpr();
+  ret.appendStep(makeAbbrevStep('.'));
+  ret.absolute = true;
+  return ret;
+}
+
+function makeLocationExpr4(dslash) {
+  var ret = new LocationExpr();
+  ret.absolute = true;
+  ret.appendStep(makeAbbrevStep(dslash.value));
+  return ret;
+}
+
+function makeLocationExpr5(step) {
+  var ret = new LocationExpr();
+  ret.appendStep(step);
+  return ret;
+}
+
+function makeLocationExpr6(rel, slash, step) {
+  rel.appendStep(step);
+  return rel;
+}
+
+function makeLocationExpr7(rel, dslash, step) {
+  rel.appendStep(makeAbbrevStep(dslash.value));
+  return rel;
+}
+
+function makeStepExpr1(dot) {
+  return makeAbbrevStep(dot.value);
+}
+
+function makeStepExpr2(ddot) {
+  return makeAbbrevStep(ddot.value);
+}
+
+function makeStepExpr3(axisname, axis, nodetest) {
+  return new StepExpr(axisname.value, nodetest);
+}
+
+function makeStepExpr4(at, nodetest) {
+  return new StepExpr('attribute', nodetest);
+}
+
+function makeStepExpr5(nodetest) {
+  return new StepExpr('child', nodetest);
+}
+
+function makeStepExpr6(step, predicate) {
+  step.appendPredicate(predicate);
+  return step;
+}
+
+function makeAbbrevStep(abbrev) {
+  switch (abbrev) {
+  case '//':
+    return new StepExpr('descendant-or-self', new NodeTestAny);
+
+  case '.':
+    return new StepExpr('self', new NodeTestAny);
+
+  case '..':
+    return new StepExpr('parent', new NodeTestAny);
+  }
+}
+
+function makeNodeTestExpr1(asterisk) {
+  return new NodeTestElement;
+}
+
+function makeNodeTestExpr2(ncname, colon, asterisk) {
+  return new NodeTestNC(ncname.value);
+}
+
+function makeNodeTestExpr3(qname) {
+  return new NodeTestName(qname.value);
+}
+
+function makeNodeTestExpr4(typeo, parenc) {
+  var type = typeo.value.replace(/\s*\($/, '');
+  switch(type) {
+  case 'node':
+    return new NodeTestAny;
+
+  case 'text':
+    return new NodeTestText;
+
+  case 'comment':
+    return new NodeTestComment;
+
+  case 'processing-instruction':
+    return new NodeTestPI;
+  }
+}
+
+function makeNodeTestExpr5(typeo, target, parenc) {
+  var type = typeo.replace(/\s*\($/, '');
+  if (type != 'processing-instruction') {
+    throw type + ' ' + Error().stack;
+  }
+  return new NodeTestPI(target.value);
+}
+
+function makePredicateExpr(pareno, expr, parenc) {
+  return new PredicateExpr(expr);
+}
+
+function makePrimaryExpr(pareno, expr, parenc) {
+  return expr;
+}
+
+function makeFunctionCallExpr1(name, pareno, parenc) {
+  return new FunctionCallExpr(name);
+}
+
+function makeFunctionCallExpr2(name, pareno, arg1, args, parenc) {
+  var ret = new FunctionCallExpr(name);
+  ret.appendArg(arg1);
+  for (var i = 0; i < args.length; ++i) {
+    ret.appendArg(args[i]);
+  }
+  return ret;
+}
+
+function makeArgumentExpr(comma, expr) {
+  return expr;
+}
+
+function makeUnionExpr(expr1, pipe, expr2) {
+  return new UnionExpr(expr1, expr2);
+}
+
+function makePathExpr1(filter, slash, rel) {
+  return new PathExpr(filter, rel);
+}
+
+function makePathExpr2(filter, dslash, rel) {
+  rel.prependStep(makeAbbrevStep(dslash.value));
+  return new PathExpr(filter, rel);
+}
+
+function makeFilterExpr(expr, predicates) {
+  if (predicates.length > 0) {
+    return new FilterExpr(expr, predicates);
+  } else {
+    return expr;
+  }
+}
+
+function makeUnaryMinusExpr(minus, expr) {
+  return new UnaryMinusExpr(expr);
+}
+
+function makeBinaryExpr(expr1, op, expr2) {
+  return new BinaryExpr(expr1, op, expr2);
+}
+
+function makeLiteralExpr(token) {
+  // remove quotes from the parsed value:
+  var value = token.value.substring(1, token.value.length - 1);
+  return new LiteralExpr(value);
+}
+
+function makeNumberExpr(token) {
+  return new NumberExpr(token.value);
+}
+
+function makeVariableReference(dollar, name) {
+  return new VariableExpr(name.value);
+}
+
+// Used before parsing for optimization of common simple cases. See
+// the begin of xpathParse() for which they are.
+function makeSimpleExpr(expr) {
+  if (expr.charAt(0) == '$') {
+    return new VariableExpr(expr.substr(1));
+  } else if (expr.charAt(0) == '@') {
+    var a = new NodeTestName(expr.substr(1));
+    var b = new StepExpr('attribute', a);
+    var c = new LocationExpr();
+    c.appendStep(b);
+    return c;
+  } else if (expr.match(/^[0-9]+$/)) {
+    return new NumberExpr(expr);
+  } else {
+    var a = new NodeTestName(expr);
+    var b = new StepExpr('child', a);
+    var c = new LocationExpr();
+    c.appendStep(b);
+    return c;
+  }
+}
+
+function makeSimpleExpr2(expr) {
+  var steps = expr.split('/');
+  var c = new LocationExpr();
+  for (var i in steps) {
+    var a = new NodeTestName(steps[i]);
+    var b = new StepExpr('child', a);
+    c.appendStep(b);
+  }
+  return c;
+}
+
+// The axes of XPath expressions.
+
+var xpathAxis = {
+  ANCESTOR_OR_SELF: 'ancestor-or-self',
+  ANCESTOR: 'ancestor',
+  ATTRIBUTE: 'attribute',
+  CHILD: 'child',
+  DESCENDANT_OR_SELF: 'descendant-or-self',
+  DESCENDANT: 'descendant',
+  FOLLOWING_SIBLING: 'following-sibling',
+  FOLLOWING: 'following',
+  NAMESPACE: 'namespace',
+  PARENT: 'parent',
+  PRECEDING_SIBLING: 'preceding-sibling',
+  PRECEDING: 'preceding',
+  SELF: 'self'
+};
+
+var xpathAxesRe = [
+    xpathAxis.ANCESTOR_OR_SELF,
+    xpathAxis.ANCESTOR,
+    xpathAxis.ATTRIBUTE,
+    xpathAxis.CHILD,
+    xpathAxis.DESCENDANT_OR_SELF,
+    xpathAxis.DESCENDANT,
+    xpathAxis.FOLLOWING_SIBLING,
+    xpathAxis.FOLLOWING,
+    xpathAxis.NAMESPACE,
+    xpathAxis.PARENT,
+    xpathAxis.PRECEDING_SIBLING,
+    xpathAxis.PRECEDING,
+    xpathAxis.SELF
+].join('|');
+
+
+// The tokens of the language. The label property is just used for
+// generating debug output. The prec property is the precedence used
+// for shift/reduce resolution. Default precedence is 0 as a lookahead
+// token and 2 on the stack. TODO(mesch): this is certainly not
+// necessary and too complicated. Simplify this!
+
+// NOTE: tabular formatting is the big exception, but here it should
+// be OK.
+
+var TOK_PIPE =   { label: "|",   prec:   17, re: new RegExp("^\\|") };
+var TOK_DSLASH = { label: "//",  prec:   19, re: new RegExp("^//")  };
+var TOK_SLASH =  { label: "/",   prec:   30, re: new RegExp("^/")   };
+var TOK_AXIS =   { label: "::",  prec:   20, re: new RegExp("^::")  };
+var TOK_COLON =  { label: ":",   prec: 1000, re: new RegExp("^:")  };
+var TOK_AXISNAME = { label: "[axis]", re: new RegExp('^(' + xpathAxesRe + ')') };
+var TOK_PARENO = { label: "(",   prec:   34, re: new RegExp("^\\(") };
+var TOK_PARENC = { label: ")",               re: new RegExp("^\\)") };
+var TOK_DDOT =   { label: "..",  prec:   34, re: new RegExp("^\\.\\.") };
+var TOK_DOT =    { label: ".",   prec:   34, re: new RegExp("^\\.") };
+var TOK_AT =     { label: "@",   prec:   34, re: new RegExp("^@")   };
+
+var TOK_COMMA =  { label: ",",               re: new RegExp("^,") };
+
+var TOK_OR =     { label: "or",  prec:   10, re: new RegExp("^or\\b") };
+var TOK_AND =    { label: "and", prec:   11, re: new RegExp("^and\\b") };
+var TOK_EQ =     { label: "=",   prec:   12, re: new RegExp("^=")   };
+var TOK_NEQ =    { label: "!=",  prec:   12, re: new RegExp("^!=")  };
+var TOK_GE =     { label: ">=",  prec:   13, re: new RegExp("^>=")  };
+var TOK_GT =     { label: ">",   prec:   13, re: new RegExp("^>")   };
+var TOK_LE =     { label: "<=",  prec:   13, re: new RegExp("^<=")  };
+var TOK_LT =     { label: "<",   prec:   13, re: new RegExp("^<")   };
+var TOK_PLUS =   { label: "+",   prec:   14, re: new RegExp("^\\+"), left: true };
+var TOK_MINUS =  { label: "-",   prec:   14, re: new RegExp("^\\-"), left: true };
+var TOK_DIV =    { label: "div", prec:   15, re: new RegExp("^div\\b"), left: true };
+var TOK_MOD =    { label: "mod", prec:   15, re: new RegExp("^mod\\b"), left: true };
+
+var TOK_BRACKO = { label: "[",   prec:   32, re: new RegExp("^\\[") };
+var TOK_BRACKC = { label: "]",               re: new RegExp("^\\]") };
+var TOK_DOLLAR = { label: "$",               re: new RegExp("^\\$") };
+
+var TOK_NCNAME = { label: "[ncname]", re: new RegExp('^[a-z][-\\w]*','i') };
+
+var TOK_ASTERISK = { label: "*", prec: 15, re: new RegExp("^\\*"), left: true };
+var TOK_LITERALQ = { label: "[litq]", prec: 20, re: new RegExp("^'[^\\']*'") };
+var TOK_LITERALQQ = {
+  label: "[litqq]",
+  prec: 20,
+  re: new RegExp('^"[^\\"]*"')
+};
+
+var TOK_NUMBER  = {
+  label: "[number]",
+  prec: 35,
+  re: new RegExp('^\\d+(\\.\\d*)?') };
+
+var TOK_QNAME = {
+  label: "[qname]",
+  re: new RegExp('^([a-z][-\\w]*:)?[a-z][-\\w]*','i')
+};
+
+var TOK_NODEO = {
+  label: "[nodetest-start]",
+  re: new RegExp('^(processing-instruction|comment|text|node)\\(')
+};
+
+// The table of the tokens of our grammar, used by the lexer: first
+// column the tag, second column a regexp to recognize it in the
+// input, third column the precedence of the token, fourth column a
+// factory function for the semantic value of the token.
+//
+// NOTE: order of this list is important, because the first match
+// counts. Cf. DDOT and DOT, and AXIS and COLON.
+
+var xpathTokenRules = [
+    TOK_DSLASH,
+    TOK_SLASH,
+    TOK_DDOT,
+    TOK_DOT,
+    TOK_AXIS,
+    TOK_COLON,
+    TOK_AXISNAME,
+    TOK_NODEO,
+    TOK_PARENO,
+    TOK_PARENC,
+    TOK_BRACKO,
+    TOK_BRACKC,
+    TOK_AT,
+    TOK_COMMA,
+    TOK_OR,
+    TOK_AND,
+    TOK_NEQ,
+    TOK_EQ,
+    TOK_GE,
+    TOK_GT,
+    TOK_LE,
+    TOK_LT,
+    TOK_PLUS,
+    TOK_MINUS,
+    TOK_ASTERISK,
+    TOK_PIPE,
+    TOK_MOD,
+    TOK_DIV,
+    TOK_LITERALQ,
+    TOK_LITERALQQ,
+    TOK_NUMBER,
+    TOK_QNAME,
+    TOK_NCNAME,
+    TOK_DOLLAR
+];
+
+// All the nonterminals of the grammar. The nonterminal objects are
+// identified by object identity; the labels are used in the debug
+// output only.
+var XPathLocationPath = { label: "LocationPath" };
+var XPathRelativeLocationPath = { label: "RelativeLocationPath" };
+var XPathAbsoluteLocationPath = { label: "AbsoluteLocationPath" };
+var XPathStep = { label: "Step" };
+var XPathNodeTest = { label: "NodeTest" };
+var XPathPredicate = { label: "Predicate" };
+var XPathLiteral = { label: "Literal" };
+var XPathExpr = { label: "Expr" };
+var XPathPrimaryExpr = { label: "PrimaryExpr" };
+var XPathVariableReference = { label: "Variablereference" };
+var XPathNumber = { label: "Number" };
+var XPathFunctionCall = { label: "FunctionCall" };
+var XPathArgumentRemainder = { label: "ArgumentRemainder" };
+var XPathPathExpr = { label: "PathExpr" };
+var XPathUnionExpr = { label: "UnionExpr" };
+var XPathFilterExpr = { label: "FilterExpr" };
+var XPathDigits = { label: "Digits" };
+
+var xpathNonTerminals = [
+    XPathLocationPath,
+    XPathRelativeLocationPath,
+    XPathAbsoluteLocationPath,
+    XPathStep,
+    XPathNodeTest,
+    XPathPredicate,
+    XPathLiteral,
+    XPathExpr,
+    XPathPrimaryExpr,
+    XPathVariableReference,
+    XPathNumber,
+    XPathFunctionCall,
+    XPathArgumentRemainder,
+    XPathPathExpr,
+    XPathUnionExpr,
+    XPathFilterExpr,
+    XPathDigits
+];
+
+// Quantifiers that are used in the productions of the grammar.
+var Q_01 = { label: "?" };
+var Q_MM = { label: "*" };
+var Q_1M = { label: "+" };
+
+// Tag for left associativity (right assoc is implied by undefined).
+var ASSOC_LEFT = true;
+
+// The productions of the grammar. Columns of the table:
+//
+// - target nonterminal,
+// - pattern,
+// - precedence,
+// - semantic value factory
+//
+// The semantic value factory is a function that receives parse tree
+// nodes from the stack frames of the matched symbols as arguments and
+// returns an a node of the parse tree. The node is stored in the top
+// stack frame along with the target object of the rule. The node in
+// the parse tree is an expression object that has an evaluate() method
+// and thus evaluates XPath expressions.
+//
+// The precedence is used to decide between reducing and shifting by
+// comparing the precendence of the rule that is candidate for
+// reducing with the precedence of the look ahead token. Precedence of
+// -1 means that the precedence of the tokens in the pattern is used
+// instead. TODO: It shouldn't be necessary to explicitly assign
+// precedences to rules.
+
+var xpathGrammarRules =
+  [
+   [ XPathLocationPath, [ XPathRelativeLocationPath ], 18,
+     passExpr ],
+   [ XPathLocationPath, [ XPathAbsoluteLocationPath ], 18,
+     passExpr ],
+
+   [ XPathAbsoluteLocationPath, [ TOK_SLASH, XPathRelativeLocationPath ], 18, 
+     makeLocationExpr1 ],
+   [ XPathAbsoluteLocationPath, [ TOK_DSLASH, XPathRelativeLocationPath ], 18,
+     makeLocationExpr2 ],
+
+   [ XPathAbsoluteLocationPath, [ TOK_SLASH ], 0,
+     makeLocationExpr3 ],
+   [ XPathAbsoluteLocationPath, [ TOK_DSLASH ], 0,
+     makeLocationExpr4 ],
+
+   [ XPathRelativeLocationPath, [ XPathStep ], 31,
+     makeLocationExpr5 ],
+   [ XPathRelativeLocationPath,
+     [ XPathRelativeLocationPath, TOK_SLASH, XPathStep ], 31,
+     makeLocationExpr6 ],
+   [ XPathRelativeLocationPath,
+     [ XPathRelativeLocationPath, TOK_DSLASH, XPathStep ], 31,
+     makeLocationExpr7 ],
+
+   [ XPathStep, [ TOK_DOT ], 33,
+     makeStepExpr1 ],
+   [ XPathStep, [ TOK_DDOT ], 33,
+     makeStepExpr2 ],
+   [ XPathStep,
+     [ TOK_AXISNAME, TOK_AXIS, XPathNodeTest ], 33,
+     makeStepExpr3 ],
+   [ XPathStep, [ TOK_AT, XPathNodeTest ], 33,
+     makeStepExpr4 ],
+   [ XPathStep, [ XPathNodeTest ], 33,
+     makeStepExpr5 ],
+   [ XPathStep, [ XPathStep, XPathPredicate ], 33,
+     makeStepExpr6 ],
+
+   [ XPathNodeTest, [ TOK_ASTERISK ], 33,
+     makeNodeTestExpr1 ],
+   [ XPathNodeTest, [ TOK_NCNAME, TOK_COLON, TOK_ASTERISK ], 33,
+     makeNodeTestExpr2 ],
+   [ XPathNodeTest, [ TOK_QNAME ], 33,
+     makeNodeTestExpr3 ],
+   [ XPathNodeTest, [ TOK_NODEO, TOK_PARENC ], 33,
+     makeNodeTestExpr4 ],
+   [ XPathNodeTest, [ TOK_NODEO, XPathLiteral, TOK_PARENC ], 33,
+     makeNodeTestExpr5 ],
+
+   [ XPathPredicate, [ TOK_BRACKO, XPathExpr, TOK_BRACKC ], 33,
+     makePredicateExpr ],
+
+   [ XPathPrimaryExpr, [ XPathVariableReference ], 33,
+     passExpr ],
+   [ XPathPrimaryExpr, [ TOK_PARENO, XPathExpr, TOK_PARENC ], 33,
+     makePrimaryExpr ],
+   [ XPathPrimaryExpr, [ XPathLiteral ], 30,
+     passExpr ],
+   [ XPathPrimaryExpr, [ XPathNumber ], 30,
+     passExpr ],
+   [ XPathPrimaryExpr, [ XPathFunctionCall ], 30,
+     passExpr ],
+
+   [ XPathFunctionCall, [ TOK_QNAME, TOK_PARENO, TOK_PARENC ], -1,
+     makeFunctionCallExpr1 ],
+   [ XPathFunctionCall,
+     [ TOK_QNAME, TOK_PARENO, XPathExpr, XPathArgumentRemainder, Q_MM,
+       TOK_PARENC ], -1,
+     makeFunctionCallExpr2 ],
+   [ XPathArgumentRemainder, [ TOK_COMMA, XPathExpr ], -1,
+     makeArgumentExpr ],
+
+   [ XPathUnionExpr, [ XPathPathExpr ], 20,
+     passExpr ],
+   [ XPathUnionExpr, [ XPathUnionExpr, TOK_PIPE, XPathPathExpr ], 20,
+     makeUnionExpr ],
+
+   [ XPathPathExpr, [ XPathLocationPath ], 20, 
+     passExpr ], 
+   [ XPathPathExpr, [ XPathFilterExpr ], 19, 
+     passExpr ], 
+   [ XPathPathExpr, 
+     [ XPathFilterExpr, TOK_SLASH, XPathRelativeLocationPath ], 20,
+     makePathExpr1 ],
+   [ XPathPathExpr,
+     [ XPathFilterExpr, TOK_DSLASH, XPathRelativeLocationPath ], 20,
+     makePathExpr2 ],
+
+   [ XPathFilterExpr, [ XPathPrimaryExpr, XPathPredicate, Q_MM ], 20,
+     makeFilterExpr ], 
+
+   [ XPathExpr, [ XPathPrimaryExpr ], 16,
+     passExpr ],
+   [ XPathExpr, [ XPathUnionExpr ], 16,
+     passExpr ],
+
+   [ XPathExpr, [ TOK_MINUS, XPathExpr ], -1,
+     makeUnaryMinusExpr ],
+
+   [ XPathExpr, [ XPathExpr, TOK_OR, XPathExpr ], -1,
+     makeBinaryExpr ],
+   [ XPathExpr, [ XPathExpr, TOK_AND, XPathExpr ], -1,
+     makeBinaryExpr ],
+
+   [ XPathExpr, [ XPathExpr, TOK_EQ, XPathExpr ], -1,
+     makeBinaryExpr ],
+   [ XPathExpr, [ XPathExpr, TOK_NEQ, XPathExpr ], -1,
+     makeBinaryExpr ],
+
+   [ XPathExpr, [ XPathExpr, TOK_LT, XPathExpr ], -1,
+     makeBinaryExpr ],
+   [ XPathExpr, [ XPathExpr, TOK_LE, XPathExpr ], -1,
+     makeBinaryExpr ],
+   [ XPathExpr, [ XPathExpr, TOK_GT, XPathExpr ], -1,
+     makeBinaryExpr ],
+   [ XPathExpr, [ XPathExpr, TOK_GE, XPathExpr ], -1,
+     makeBinaryExpr ],
+
+   [ XPathExpr, [ XPathExpr, TOK_PLUS, XPathExpr ], -1,
+     makeBinaryExpr, ASSOC_LEFT ],
+   [ XPathExpr, [ XPathExpr, TOK_MINUS, XPathExpr ], -1,
+     makeBinaryExpr, ASSOC_LEFT ],
+
+   [ XPathExpr, [ XPathExpr, TOK_ASTERISK, XPathExpr ], -1,
+     makeBinaryExpr, ASSOC_LEFT ],
+   [ XPathExpr, [ XPathExpr, TOK_DIV, XPathExpr ], -1,
+     makeBinaryExpr, ASSOC_LEFT ],
+   [ XPathExpr, [ XPathExpr, TOK_MOD, XPathExpr ], -1,
+     makeBinaryExpr, ASSOC_LEFT ],
+
+   [ XPathLiteral, [ TOK_LITERALQ ], -1,
+     makeLiteralExpr ],
+   [ XPathLiteral, [ TOK_LITERALQQ ], -1,
+     makeLiteralExpr ],
+
+   [ XPathNumber, [ TOK_NUMBER ], -1,
+     makeNumberExpr ],
+
+   [ XPathVariableReference, [ TOK_DOLLAR, TOK_QNAME ], 200,
+     makeVariableReference ]
+   ];
+
+// That function computes some optimizations of the above data
+// structures and will be called right here. It merely takes the
+// counter variables out of the global scope.
+
+var xpathRules = [];
+
+function xpathParseInit() {
+  if (xpathRules.length) {
+    return;
+  }
+
+  // Some simple optimizations for the xpath expression parser: sort
+  // grammar rules descending by length, so that the longest match is
+  // first found.
+
+  xpathGrammarRules.sort(function(a,b) {
+    var la = a[1].length;
+    var lb = b[1].length;
+    if (la < lb) {
+      return 1;
+    } else if (la > lb) {
+      return -1;
+    } else {
+      return 0;
+    }
+  });
+
+  var k = 1;
+  for (var i = 0; i < xpathNonTerminals.length; ++i) {
+    xpathNonTerminals[i].key = k++;
+  }
+
+  for (i = 0; i < xpathTokenRules.length; ++i) {
+    xpathTokenRules[i].key = k++;
+  }
+
+  Log.write('XPath parse INIT: ' + k + ' rules');
+
+  // Another slight optimization: sort the rules into bins according
+  // to the last element (observing quantifiers), so we can restrict
+  // the match against the stack to the subest of rules that match the
+  // top of the stack.
+  //
+  // TODO(mesch): What we actually want is to compute states as in
+  // bison, so that we don't have to do any explicit and iterated
+  // match against the stack.
+
+  function push_(array, position, element) {
+    if (!array[position]) {
+      array[position] = [];
+    }
+    array[position].push(element);
+  }
+
+  for (i = 0; i < xpathGrammarRules.length; ++i) {
+    var rule = xpathGrammarRules[i];
+    var pattern = rule[1];
+
+    for (var j = pattern.length - 1; j >= 0; --j) {
+      if (pattern[j] == Q_1M) {
+        push_(xpathRules, pattern[j-1].key, rule);
+        break;
+        
+      } else if (pattern[j] == Q_MM || pattern[j] == Q_01) {
+        push_(xpathRules, pattern[j-1].key, rule);
+        --j;
+
+      } else {
+        push_(xpathRules, pattern[j].key, rule);
+        break;
+      }
+    }
+  }
+
+  Log.write('XPath parse INIT: ' + xpathRules.length + ' rule bins');
+  
+  var sum = 0;
+  mapExec(xpathRules, function(i) {
+    if (i) {
+      sum += i.length;
+    }
+  });
+  
+  Log.write('XPath parse INIT: ' + (sum / xpathRules.length) + ' average bin size');
+}
+
+// Local utility functions that are used by the lexer or parser.
+
+function xpathCollectDescendants(nodelist, node) {
+  for (var n = node.firstChild; n; n = n.nextSibling) {
+    nodelist.push(n);
+    arguments.callee(nodelist, n);
+  }
+}
+
+function xpathCollectDescendantsReverse(nodelist, node) {
+  for (var n = node.lastChild; n; n = n.previousSibling) {
+    nodelist.push(n);
+    arguments.callee(nodelist, n);
+  }
+}
+
+
+// The entry point for the library: match an expression against a DOM
+// node. Returns an XPath value.
+function xpathDomEval(expr, node) {
+  var expr1 = xpathParse(expr);
+  var ret = expr1.evaluate(new ExprContext(node));
+  return ret;
+}
+
+// Utility function to sort a list of nodes. Used by xsltSort() and
+// nxslSelect().
+function xpathSort(input, sort) {
+  if (sort.length == 0) {
+    return;
+  }
+
+  var sortlist = [];
+
+  for (var i = 0; i < input.nodelist.length; ++i) {
+    var node = input.nodelist[i];
+    var sortitem = { node: node, key: [] };
+    var context = input.clone(node, 0, [ node ]);
+    
+    for (var j = 0; j < sort.length; ++j) {
+      var s = sort[j];
+      var value = s.expr.evaluate(context);
+
+      var evalue;
+      if (s.type == 'text') {
+        evalue = value.stringValue();
+      } else if (s.type == 'number') {
+        evalue = value.numberValue();
+      }
+      sortitem.key.push({ value: evalue, order: s.order });
+    }
+
+    // Make the sort stable by adding a lowest priority sort by
+    // id. This is very convenient and furthermore required by the
+    // spec ([XSLT] - Section 10 Sorting).
+    sortitem.key.push({ value: i, order: 'ascending' });
+
+    sortlist.push(sortitem);
+  }
+
+  sortlist.sort(xpathSortByKey);
+
+  var nodes = [];
+  for (var i = 0; i < sortlist.length; ++i) {
+    nodes.push(sortlist[i].node);
+  }
+  input.nodelist = nodes;
+  input.setNode(nodes[0], 0);
+}
+
+
+// Sorts by all order criteria defined. According to the JavaScript
+// spec ([ECMA] Section 11.8.5), the compare operators compare strings
+// as strings and numbers as numbers.
+//
+// NOTE: In browsers which do not follow the spec, this breaks only in
+// the case that numbers should be sorted as strings, which is very
+// uncommon.
+
+function xpathSortByKey(v1, v2) {
+  // NOTE: Sort key vectors of different length never occur in
+  // xsltSort.
+
+  for (var i = 0; i < v1.key.length; ++i) {
+    var o = v1.key[i].order == 'descending' ? -1 : 1;
+    if (v1.key[i].value > v2.key[i].value) {
+      return +1 * o;
+    } else if (v1.key[i].value < v2.key[i].value) {
+      return -1 * o;
+    }
+  }
+
+  return 0;
+}
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/xpath/misc.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/xpath/misc.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/xpath/misc.js	(revision 4307)
@@ -0,0 +1,255 @@
+// Copyright 2005 Google Inc.
+// All Rights Reserved
+//
+// Miscellania that support the ajaxslt implementation.
+//
+// Author: Steffen Meschkat <mesch@google.com>
+//
+
+function el(i) {
+  return document.getElementById(i);
+}
+
+function px(x) {
+  return x + 'px';
+}
+
+// Split a string s at all occurrences of character c. This is like
+// the split() method of the string object, but IE omits empty
+// strings, which violates the invariant (s.split(x).join(x) == s).
+function stringSplit(s, c) {
+  var a = s.indexOf(c);
+  if (a == -1) {
+    return [ s ];
+  }
+  
+  var parts = [];
+  parts.push(s.substr(0,a));
+  while (a != -1) {
+    var a1 = s.indexOf(c, a + 1);
+    if (a1 != -1) {
+      parts.push(s.substr(a + 1, a1 - a - 1));
+    } else {
+      parts.push(s.substr(a + 1));
+    } 
+    a = a1;
+  }
+
+  return parts;
+}
+
+// Returns the text value if a node; for nodes without children this
+// is the nodeValue, for nodes with children this is the concatenation
+// of the value of all children.
+function xmlValue(node) {
+  if (!node) {
+    return '';
+  }
+
+  var ret = '';
+  if (node.nodeType == DOM_TEXT_NODE ||
+      node.nodeType == DOM_CDATA_SECTION_NODE ||
+      node.nodeType == DOM_ATTRIBUTE_NODE) {
+    ret += node.nodeValue;
+
+  } else if (node.nodeType == DOM_ELEMENT_NODE ||
+             node.nodeType == DOM_DOCUMENT_NODE ||
+             node.nodeType == DOM_DOCUMENT_FRAGMENT_NODE) {
+    for (var i = 0; i < node.childNodes.length; ++i) {
+      ret += arguments.callee(node.childNodes[i]);
+    }
+  }
+  return ret;
+}
+
+// Returns the representation of a node as XML text.
+function xmlText(node) {
+  var ret = '';
+  if (node.nodeType == DOM_TEXT_NODE) {
+    ret += xmlEscapeText(node.nodeValue);
+    
+  } else if (node.nodeType == DOM_ELEMENT_NODE) {
+    ret += '<' + node.nodeName;
+    for (var i = 0; i < node.attributes.length; ++i) {
+      var a = node.attributes[i];
+      if (a && a.nodeName && a.nodeValue) {
+        ret += ' ' + a.nodeName;
+        ret += '="' + xmlEscapeAttr(a.nodeValue) + '"';
+      }
+    }
+
+    if (node.childNodes.length == 0) {
+      ret += '/>';
+
+    } else {
+      ret += '>';
+      for (var i = 0; i < node.childNodes.length; ++i) {
+        ret += arguments.callee(node.childNodes[i]);
+      }
+      ret += '</' + node.nodeName + '>';
+    }
+    
+  } else if (node.nodeType == DOM_DOCUMENT_NODE || 
+             node.nodeType == DOM_DOCUMENT_FRAGMENT_NODE) {
+    for (var i = 0; i < node.childNodes.length; ++i) {
+      ret += arguments.callee(node.childNodes[i]);
+    }
+  }
+  
+  return ret;
+}
+
+// Applies the given function to each element of the array.
+function mapExec(array, func) {
+  for (var i = 0; i < array.length; ++i) {
+    func(array[i]);
+  }
+}
+
+// Returns an array that contains the return value of the given
+// function applied to every element of the input array.
+function mapExpr(array, func) {
+  var ret = [];
+  for (var i = 0; i < array.length; ++i) {
+    ret.push(func(array[i]));
+  }
+  return ret;
+};
+
+// Reverses the given array in place.
+function reverseInplace(array) {
+  for (var i = 0; i < array.length / 2; ++i) {
+    var h = array[i];
+    var ii = array.length - i - 1;
+    array[i] = array[ii];
+    array[ii] = h;
+  }
+}
+
+// Shallow-copies an array.
+function copyArray(dst, src) { 
+  for (var i = 0; i < src.length; ++i) {
+    dst.push(src[i]);
+  }
+}
+
+function assert(b) {
+  if (!b) {
+    throw 'assertion failed';
+  }
+}
+
+// Based on
+// <http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247>
+var DOM_ELEMENT_NODE = 1;
+var DOM_ATTRIBUTE_NODE = 2;
+var DOM_TEXT_NODE = 3;
+var DOM_CDATA_SECTION_NODE = 4;
+var DOM_ENTITY_REFERENCE_NODE = 5;
+var DOM_ENTITY_NODE = 6;
+var DOM_PROCESSING_INSTRUCTION_NODE = 7;
+var DOM_COMMENT_NODE = 8;
+var DOM_DOCUMENT_NODE = 9;
+var DOM_DOCUMENT_TYPE_NODE = 10;
+var DOM_DOCUMENT_FRAGMENT_NODE = 11;
+var DOM_NOTATION_NODE = 12;
+
+
+var xpathdebug = false; // trace xpath parsing
+var xsltdebug = false; // trace xslt processing
+
+
+// Escape XML special markup chracters: tag delimiter < > and entity
+// reference start delimiter &. The escaped string can be used in XML
+// text portions (i.e. between tags).
+function xmlEscapeText(s) {
+  return s.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
+}
+
+// Escape XML special markup characters: tag delimiter < > entity
+// reference start delimiter & and quotes ". The escaped string can be
+// used in double quoted XML attribute value portions (i.e. in
+// attributes within start tags).
+function xmlEscapeAttr(s) {
+  return xmlEscapeText(s).replace(/\"/g, '&quot;');
+}
+
+// Escape markup in XML text, but don't touch entity references. The
+// escaped string can be used as XML text (i.e. between tags).
+function xmlEscapeTags(s) {
+  return s.replace(/</g, '&lt;').replace(/>/g, '&gt;');
+}
+
+// An implementation of the debug log. 
+
+var logging__ = false;
+
+function Log() {};
+
+Log.lines = [];
+
+Log.write = function(s) {
+  if (logging__) {
+    this.lines.push(xmlEscapeText(s));
+    this.show();
+  }
+};
+
+// Writes the given XML with every tag on a new line.
+Log.writeXML = function(xml) {
+  if (logging__) {
+    var s0 = xml.replace(/</g, '\n<');
+    var s1 = xmlEscapeText(s0);
+    var s2 = s1.replace(/\s*\n(\s|\n)*/g, '<br/>');
+    this.lines.push(s2);
+    this.show();
+  }
+}
+
+// Writes without any escaping
+Log.writeRaw = function(s) {
+  if (logging__) {
+    this.lines.push(s);
+    this.show();
+  }
+}
+
+Log.clear = function() {
+  if (logging__) {
+    var l = this.div();
+    l.innerHTML = '';
+    this.lines = [];
+  }
+}
+
+Log.show = function() {
+  var l = this.div();
+  l.innerHTML += this.lines.join('<br/>') + '<br/>';
+  this.lines = [];
+  l.scrollTop = l.scrollHeight;
+}
+
+Log.div = function() {
+  var l = document.getElementById('log');
+  if (!l) {
+    l = document.createElement('div');
+    l.id = 'log';
+    l.style.position = 'absolute';
+    l.style.right = '5px';
+    l.style.top = '5px';
+    l.style.width = '250px';
+    l.style.height = '150px';
+    l.style.overflow = 'auto';
+    l.style.backgroundColor = '#f0f0f0';
+    l.style.border = '1px solid gray';
+    l.style.fontSize = '10px';
+    l.style.padding = '5px';
+    document.body.appendChild(l);
+  }
+  return l;
+}
+
+
+function Timer() {}
+Timer.start = function() {}
+Timer.end = function() {}
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/xpath/dom.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/xpath/dom.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/xpath/dom.js	(revision 4307)
@@ -0,0 +1,428 @@
+// Copyright 2005 Google Inc.
+// All Rights Reserved
+//
+// An XML parse and a minimal DOM implementation that just supportes
+// the subset of the W3C DOM that is used in the XSLT implementation.
+//
+// References: 
+//
+// [DOM] W3C DOM Level 3 Core Specification
+//       <http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/>.
+//
+// 
+// Author: Steffen Meschkat <mesch@google.com>
+
+// NOTE: The split() method in IE omits empty result strings. This is
+// utterly annoying. So we don't use it here.
+
+// Resolve entities in XML text fragments. According to the DOM
+// specification, the DOM is supposed to resolve entity references at
+// the API level. I.e. no entity references are passed through the
+// API. See "Entities and the DOM core", p.12, DOM 2 Core
+// Spec. However, different browsers actually pass very different
+// values at the API.
+//
+function xmlResolveEntities(s) {
+
+  var parts = stringSplit(s, '&');
+
+  var ret = parts[0];
+  for (var i = 1; i < parts.length; ++i) {
+    var rp = stringSplit(parts[i], ';');
+    if (rp.length == 1) {
+      // no entity reference: just a & but no ;
+      ret += parts[i];
+      continue;
+    }
+    
+    var ch;
+    switch (rp[0]) {
+      case 'lt': 
+        ch = '<';
+        break;
+      case 'gt': 
+        ch = '>';
+        break;
+      case 'amp': 
+        ch = '&';
+        break;
+      case 'quot': 
+        ch = '"';
+        break;
+      case 'apos': 
+        ch = '\'';
+        break;
+      case 'nbsp': 
+        ch = String.fromCharCode(160);
+        break;
+      default:
+        // Cool trick: let the DOM do the entity decoding. We assign
+        // the entity text through non-W3C DOM properties and read it
+        // through the W3C DOM. W3C DOM access is specified to resolve
+        // entities. 
+        var span = window.document.createElement('span');
+        span.innerHTML = '&' + rp[0] + '; ';
+        ch = span.childNodes[0].nodeValue.charAt(0);
+    }
+    ret += ch + rp[1];
+  }
+
+  return ret;
+}
+
+
+// Parses the given XML string with our custom, JavaScript XML parser. Written
+// by Steffen Meschkat (mesch@google.com).
+function xmlParse(xml) {
+  Timer.start('xmlparse');
+  var regex_empty = /\/$/;
+
+  // See also <http://www.w3.org/TR/REC-xml/#sec-common-syn> for
+  // allowed chars in a tag and attribute name. TODO(mesch): the
+  // following is still not completely correct.
+
+  var regex_tagname = /^([\w:-]*)/;
+  var regex_attribute = /([\w:-]+)\s?=\s?('([^\']*)'|"([^\"]*)")/g;
+
+  var xmldoc = new XDocument();
+  var root = xmldoc;
+
+  // For the record: in Safari, we would create native DOM nodes, but
+  // in Opera that is not possible, because the DOM only allows HTML
+  // element nodes to be created, so we have to do our own DOM nodes.
+
+  // xmldoc = document.implementation.createDocument('','',null);
+  // root = xmldoc; // .createDocumentFragment();
+  // NOTE(mesch): using the DocumentFragment instead of the Document
+  // crashes my Safari 1.2.4 (v125.12).
+  var stack = [];
+
+  var parent = root;
+  stack.push(parent);
+
+  var x = stringSplit(xml, '<');
+  for (var i = 1; i < x.length; ++i) {
+    var xx = stringSplit(x[i], '>');
+    var tag = xx[0];
+    var text = xmlResolveEntities(xx[1] || '');
+
+    if (tag.charAt(0) == '/') {
+      stack.pop();
+      parent = stack[stack.length-1];
+
+    } else if (tag.charAt(0) == '?') {
+      // Ignore XML declaration and processing instructions
+    } else if (tag.charAt(0) == '!') {
+      // Ignore notation and comments
+    } else {
+      var empty = tag.match(regex_empty);
+      var tagname = regex_tagname.exec(tag)[1];
+      var node = xmldoc.createElement(tagname);
+
+      var att;
+      while (att = regex_attribute.exec(tag)) {
+        var val = xmlResolveEntities(att[3] || att[4] || '');
+        node.setAttribute(att[1], val);
+      }
+      
+      if (empty) {
+        parent.appendChild(node);
+      } else {
+        parent.appendChild(node);
+        parent = node;
+        stack.push(node);
+      }
+    }
+
+    if (text && parent != root) {
+      parent.appendChild(xmldoc.createTextNode(text));
+    }
+  }
+
+  Timer.end('xmlparse');
+  return root;
+}
+
+
+// Our W3C DOM Node implementation. Note we call it XNode because we
+// can't define the identifier Node. We do this mostly for Opera,
+// where we can't reuse the HTML DOM for parsing our own XML, and for
+// Safari, where it is too expensive to have the template processor
+// operate on native DOM nodes.
+function XNode(type, name, value, owner) {
+  this.attributes = [];
+  this.childNodes = [];
+
+  XNode.init.call(this, type, name, value, owner);
+}
+
+// Don't call as method, use apply() or call().
+XNode.init = function(type, name, value, owner) {
+  this.nodeType = type - 0;
+  this.nodeName = '' + name;
+  this.nodeValue = '' + value;
+  this.ownerDocument = owner;
+
+  this.firstChild = null;
+  this.lastChild = null;
+  this.nextSibling = null;
+  this.previousSibling = null;
+  this.parentNode = null;
+}
+
+XNode.unused_ = [];
+
+XNode.recycle = function(node) {
+  if (!node) {
+    return;
+  }
+
+  if (node.constructor == XDocument) {
+    XNode.recycle(node.documentElement);
+    return;
+  }
+
+  if (node.constructor != this) {
+    return;
+  }
+
+  XNode.unused_.push(node);
+  for (var a = 0; a < node.attributes.length; ++a) {
+    XNode.recycle(node.attributes[a]);
+  }
+  for (var c = 0; c < node.childNodes.length; ++c) {
+    XNode.recycle(node.childNodes[c]);
+  }
+  node.attributes.length = 0;
+  node.childNodes.length = 0;
+  XNode.init.call(node, 0, '', '', null);
+}
+
+XNode.create = function(type, name, value, owner) {
+  if (XNode.unused_.length > 0) {
+    var node = XNode.unused_.pop();
+    XNode.init.call(node, type, name, value, owner);
+    return node;
+  } else {
+    return new XNode(type, name, value, owner);
+  }
+}
+
+XNode.prototype.appendChild = function(node) {
+  // firstChild
+  if (this.childNodes.length == 0) {
+    this.firstChild = node;
+  }
+
+  // previousSibling
+  node.previousSibling = this.lastChild;
+
+  // nextSibling
+  node.nextSibling = null;
+  if (this.lastChild) {
+    this.lastChild.nextSibling = node;
+  }
+
+  // parentNode
+  node.parentNode = this;
+
+  // lastChild
+  this.lastChild = node;
+
+  // childNodes
+  this.childNodes.push(node);
+}
+
+
+XNode.prototype.replaceChild = function(newNode, oldNode) {
+  if (oldNode == newNode) {
+    return;
+  }
+
+  for (var i = 0; i < this.childNodes.length; ++i) {
+    if (this.childNodes[i] == oldNode) {
+      this.childNodes[i] = newNode;
+      
+      var p = oldNode.parentNode;
+      oldNode.parentNode = null;
+      newNode.parentNode = p;
+      
+      p = oldNode.previousSibling;
+      oldNode.previousSibling = null;
+      newNode.previousSibling = p;
+      if (newNode.previousSibling) {
+        newNode.previousSibling.nextSibling = newNode;
+      }
+      
+      p = oldNode.nextSibling;
+      oldNode.nextSibling = null;
+      newNode.nextSibling = p;
+      if (newNode.nextSibling) {
+        newNode.nextSibling.previousSibling = newNode;
+      }
+
+      if (this.firstChild == oldNode) {
+        this.firstChild = newNode;
+      }
+
+      if (this.lastChild == oldNode) {
+        this.lastChild = newNode;
+      }
+
+      break;
+    }
+  }
+}
+
+XNode.prototype.insertBefore = function(newNode, oldNode) {
+  if (oldNode == newNode) {
+    return;
+  }
+
+  if (oldNode.parentNode != this) {
+    return;
+  }
+
+  if (newNode.parentNode) {
+    newNode.parentNode.removeChild(newNode);
+  }
+
+  var newChildren = [];
+  for (var i = 0; i < this.childNodes.length; ++i) {
+    var c = this.childNodes[i];
+    if (c == oldNode) {
+      newChildren.push(newNode);
+
+      newNode.parentNode = this;
+
+      newNode.previousSibling = oldNode.previousSibling;
+      oldNode.previousSibling = newNode;
+      if (newNode.previousSibling) {
+        newNode.previousSibling.nextSibling = newNode;
+      }
+      
+      newNode.nextSibling = oldNode;
+
+      if (this.firstChild == oldNode) {
+        this.firstChild = newNode;
+      }
+    }
+    newChildren.push(c);
+  }
+  this.childNodes = newChildren;
+}
+
+XNode.prototype.removeChild = function(node) {
+  var newChildren = [];
+  for (var i = 0; i < this.childNodes.length; ++i) {
+    var c = this.childNodes[i];
+    if (c != node) {
+      newChildren.push(c);
+    } else {
+      if (c.previousSibling) {
+        c.previousSibling.nextSibling = c.nextSibling;
+      }
+      if (c.nextSibling) {
+        c.nextSibling.previousSibling = c.previousSibling;
+      }
+      if (this.firstChild == c) {
+        this.firstChild = c.nextSibling;
+      }
+      if (this.lastChild == c) {
+        this.lastChild = c.previousSibling;
+      }
+    }
+  }
+  this.childNodes = newChildren;
+}
+
+
+XNode.prototype.hasAttributes = function() {
+  return this.attributes.length > 0;
+}
+
+
+XNode.prototype.setAttribute = function(name, value) {
+  for (var i = 0; i < this.attributes.length; ++i) {
+    if (this.attributes[i].nodeName == name) {
+      this.attributes[i].nodeValue = '' + value;
+      return;
+    }
+  }
+  this.attributes.push(new XNode(DOM_ATTRIBUTE_NODE, name, value));
+}
+
+
+XNode.prototype.getAttribute = function(name) {
+  for (var i = 0; i < this.attributes.length; ++i) {
+    if (this.attributes[i].nodeName == name) {
+      return this.attributes[i].nodeValue;
+    }
+  }
+  return null;
+}
+
+XNode.prototype.removeAttribute = function(name) {
+  var a = [];
+  for (var i = 0; i < this.attributes.length; ++i) {
+    if (this.attributes[i].nodeName != name) {
+      a.push(this.attributes[i]);
+    }
+  }
+  this.attributes = a;
+}
+
+
+function XDocument() {
+  XNode.call(this, DOM_DOCUMENT_NODE, '#document', null, this);
+  this.documentElement = null;
+}
+
+XDocument.prototype = new XNode(DOM_DOCUMENT_NODE, '#document');
+
+XDocument.prototype.clear = function() {
+  XNode.recycle(this.documentElement);
+  this.documentElement = null;
+}
+
+XDocument.prototype.appendChild = function(node) {
+  XNode.prototype.appendChild.call(this, node);
+  this.documentElement = this.childNodes[0];
+}
+
+XDocument.prototype.createElement = function(name) {
+  return XNode.create(DOM_ELEMENT_NODE, name, null, this);
+}
+
+XDocument.prototype.createDocumentFragment = function() {
+  return XNode.create(DOM_DOCUMENT_FRAGMENT_NODE, '#document-fragment',
+                    null, this);
+}
+
+XDocument.prototype.createTextNode = function(value) {
+  return XNode.create(DOM_TEXT_NODE, '#text', value, this);
+}
+
+XDocument.prototype.createAttribute = function(name) {
+  return XNode.create(DOM_ATTRIBUTE_NODE, name, null, this);
+}
+
+XDocument.prototype.createComment = function(data) {
+  return XNode.create(DOM_COMMENT_NODE, '#comment', data, this);
+}
+
+XNode.prototype.getElementsByTagName = function(name, list) {
+  if (!list) {
+    list = [];
+  }
+
+  if (this.nodeName == name) {
+    list.push(this);
+  }
+
+  for (var i = 0; i < this.childNodes.length; ++i) {
+    this.childNodes[i].getElementsByTagName(name, list);
+  }
+
+  return list;
+}
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/TestPrompt.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/TestPrompt.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/TestPrompt.html	(revision 4307)
@@ -0,0 +1,123 @@
+<html>
+<!--
+Copyright 2004 ThoughtWorks, Inc
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<head>
+    <meta content="text/html; charset=ISO-8859-1"
+          http-equiv="content-type">
+    <title>Select a Test Suite</title>
+    <script language="JavaScript" type="text/javascript" src="scripts/selenium-browserdetect.js"></script>
+    <script>
+
+        function load() {
+            if (browserVersion.isHTA) {
+                document.getElementById("save-div").style.display = "inline";
+            }
+        }
+
+        function autoCheck() {
+            var auto = document.getElementById("auto");
+            var autoDiv = document.getElementById("auto-div");
+            if (auto.checked) {
+                autoDiv.style.display = "inline";
+            } else {
+                autoDiv.style.display = "none";
+            }
+        }
+
+        function saveCheck() {
+            var results = document.getElementById("results");
+            var check = document.getElementById("save").checked;
+            if (check) {
+                results.firstChild.nodeValue = "Results file ";
+                document.getElementById("resultsUrl").value = "results.html";
+            } else {
+                results.firstChild.nodeValue = "Results URL ";
+                document.getElementById("resultsUrl").value = "../postResults";
+            }
+        }
+
+        function go() {
+            if (!browserVersion.isHTA) return true;
+            var inputs = document.getElementsByTagName("input");
+            var queryString = "";
+            for (var i = 0; i < inputs.length; i++) {
+                var elem = inputs[i];
+                var name = elem.name;
+                var value = elem.value;
+                if (elem.type == "checkbox") {
+                    value = elem.checked;
+                }
+                queryString += escape(name) + "=" + escape(value);
+                if (i < (inputs.length - 1)) {
+                    queryString += "&";
+                }
+            }
+
+            window.parent.selenium = null;
+            window.parent.htmlTestRunner.controlPanel.queryString = queryString;
+            window.parent.htmlTestRunner.loadSuiteFrame();
+            return false;
+        }
+    </script>
+</head>
+
+<body onload="load()" style="font-size: x-small">
+<form id="prompt" target="_top" method="GET" onsubmit="return go();" action="TestRunner.html">
+
+    <p>
+        Test Suite:
+        <input id="test" name="test" size="30" value="../tests/TestSuite.html"/>
+    </p>
+
+    <p align="center"><input type="submit" value="Go"/></p>
+
+    <fieldset>
+        <legend>Options</legend>
+
+        <p>
+            <input id="multiWindow" type="checkbox" name="multiWindow" onclick="autoCheck();"/> <label
+                for="multiWindow">AUT in separate window</label>
+
+        <p>
+
+        <p>
+            <input id="auto" type="checkbox" name="auto" onclick="autoCheck();"/> <label for="auto">Run
+            automatically</label>
+        </p>
+
+        <div id="auto-div" style="display: none">
+            <p>
+                <input id="close" type="checkbox" name="close"/> <label for="close">Close afterwards </label>
+            </p>
+
+            <div id="save-div" style="display: none">
+                <br/><label for="save">Save to file </label><input id="save" type="checkbox" name="save"
+                                                                   onclick="saveCheck();"/>
+            </div>
+
+            <p id="results">
+                Results URL:
+                <input id="resultsUrl" name="resultsUrl" value="../postResults"/>
+            </p>
+
+        </div>
+    </fieldset>
+
+
+</form>
+</body>
+</html>
\ No newline at end of file
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/TestRunner.hta
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/TestRunner.hta	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/TestRunner.hta	(revision 4307)
@@ -0,0 +1,175 @@
+<html>
+
+<head>
+    <HTA:APPLICATION ID="SeleniumHTARunner" APPLICATIONNAME="Selenium">
+        <!-- the previous line is only relevant if you rename this
+     file to "TestRunner.hta" -->
+
+        <!-- The copyright notice and other comments have been moved to after the HTA declaration,
+to work-around a bug in IE on Win2K whereby the HTA application doesn't function correctly -->
+        <!--
+        Copyright 2004 ThoughtWorks, Inc
+
+         Licensed under the Apache License, Version 2.0 (the "License");
+         you may not use this file except in compliance with the License.
+         You may obtain a copy of the License at
+
+             http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing, software
+         distributed under the License is distributed on an "AS IS" BASIS,
+         WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+         See the License for the specific language governing permissions and
+         limitations under the License.
+        -->
+        <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"/>
+
+        <title>Selenium Functional Test Runner</title>
+        <link rel="stylesheet" type="text/css" href="selenium.css"/>
+        <script type="text/javascript" src="scripts/narcissus-defs.js"></script>
+        <script type="text/javascript" src="scripts/narcissus-parse.js"></script>
+        <script type="text/javascript" src="scripts/narcissus-exec.js"></script>
+        <script language="JavaScript" type="text/javascript" src="lib/prototype.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/htmlutils.js"></script>
+        <script language="JavaScript" type="text/javascript" src="lib/scriptaculous/scriptaculous.js"></script>
+        <script language="JavaScript" type="text/javascript" src="lib/cssQuery/cssQuery-p.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/selenium-browserdetect.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/selenium-browserbot.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/find_matching_child.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/selenium-api.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/selenium-commandhandlers.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/selenium-executionloop.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/selenium-testrunner.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/selenium-logging.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/selenium-version.js"></script>
+        <script language="JavaScript" type="text/javascript" src="xpath/misc.js"></script>
+        <script language="JavaScript" type="text/javascript" src="xpath/dom.js"></script>
+        <script language="JavaScript" type="text/javascript" src="xpath/xpath.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/user-extensions.js"></script>
+        <script language="JavaScript" type="text/javascript">
+            function openDomViewer() {
+                var autFrame = document.getElementById('myiframe');
+                var autFrameDocument = new SeleniumFrame(autFrame).getDocument();
+                this.rootDocument = autFrameDocument;
+                var domViewer = window.open(getDocumentBase(document) + 'domviewer/domviewer.html');
+                return false;
+            }
+        </script>
+</head>
+
+<body onLoad="onSeleniumLoad();">
+<table class="layout">
+<form action="" name="controlPanel">
+
+<!-- Suite, Test, Control Panel -->
+
+<tr class="selenium">
+<td width="25%" height="30%">
+    <iframe name="testSuiteFrame" id="testSuiteFrame" src="./TestPrompt.html" application="yes"></iframe>
+</td>
+<td width="50%" height="30%">
+    <iframe name="testFrame" id="testFrame" application="yes"></iframe>
+</td>
+
+<td width="25%">
+    <table class="layout">
+        <tr class="selenium">
+            <th width="25%" height="1" class="header">
+                <h1><a href="http://selenium.thoughtworks.com" title="The Selenium Project">Selenium</a> TestRunner
+                </h1>
+            </th>
+        </tr>
+        <tr>
+            <td width="25%" height="30%" id="controlPanel">
+                <fieldset>
+                    <legend>Execute Tests</legend>
+
+                    <div id="imageButtonPanel">
+                        <button type="button" id="runSuite" onClick="htmlTestRunner.startTestSuite();"
+                                title="Run All tests">
+                        </button>
+                        <button type="button" id="runSeleniumTest" onClick="htmlTestRunner.runSingleTest();"
+                                title="Run the Selected test">
+                        </button>
+                        <button type="button" id="pauseTest" disabled="disabled"
+                                title="Pause/Continue" class="cssPauseTest">
+                        </button>
+                        <button type="button" id="stepTest" disabled="disabled"
+                                title="Step">
+                        </button>
+                    </div>
+
+                    <div style="float:left">Fast</div>
+                    <div style="float:right">Slow</div>
+                    <br/>
+                    <div id="speedSlider">
+                        <div id="speedTrack">&nbsp;</div>
+                        <div id="speedHandle">&nbsp;</div>
+                    </div>
+
+                    <div class="executionOptions">
+                        <input id="highlightOption" type="checkbox" name="highlightOption" value="0"/>
+                        <label for="highlightOption">Highlight elements</label>
+                    </div>
+
+                </fieldset>
+
+                <table id="stats" align="center">
+                    <tr>
+                        <td colspan="2" align="right">Elapsed:</td>
+                        <td id="elapsedTime" colspan="2">00.00</td>
+                    </tr>
+                    <tr>
+                        <th colspan="2">Tests</th>
+                        <th colspan="2">Commands</th>
+                    </tr>
+                    <tr>
+                        <td class="count" id="testRuns">0</td>
+                        <td>run</td>
+                        <td class="count" id="commandPasses">0</td>
+                        <td>passed</td>
+                    </tr>
+                    <tr>
+                        <td class="count" id="testFailures">0</td>
+                        <td>failed</td>
+                        <td class="count" id="commandFailures">0</td>
+                        <td>failed</td>
+                    </tr>
+                    <tr>
+                        <td colspan="2"></td>
+                        <td class="count" id="commandErrors">0</td>
+                        <td>incomplete</td>
+                    </tr>
+                </table>
+
+                <fieldset>
+                    <legend>Tools</legend>
+
+                    <button type="button" id="domViewer1" onClick="openDomViewer();">
+                        View DOM
+                    </button>
+                    <button type="button" onClick="LOG.show();">
+                        Show Log
+                    </button>
+
+                </fieldset>
+
+            </td>
+        </tr>
+    </table>
+</td>
+</tr>
+
+<!-- AUT -->
+
+<tr>
+    <td colspan="3" height="70%">
+        <iframe name="myiframe" id="myiframe" src="TestRunner-splash.html"></iframe>
+    </td>
+</tr>
+
+    </form>
+    </table>
+
+</body>
+</html>
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/selenium-test.css
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/selenium-test.css	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/selenium-test.css	(revision 4307)
@@ -0,0 +1,43 @@
+body, table {
+    font-family: Verdana, Arial, sans-serif;
+    font-size: 12;
+}
+
+table {
+    border-collapse: collapse;
+    border: 1px solid #ccc;
+}
+
+th, td {
+    padding-left: 0.3em;
+    padding-right: 0.3em;
+}
+
+a {
+    text-decoration: none;
+}
+
+.title {
+    font-style: italic;
+}
+
+.selected {
+    background-color: #ffffcc;
+}
+
+.status_done {
+    background-color: #eeffee;
+}
+
+.status_passed {
+    background-color: #ccffcc;
+}
+
+.status_failed {
+    background-color: #ffcccc;
+}
+
+.breakpoint {
+    background-color: #cccccc;
+    border: 1px solid black;
+}
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/SeleniumLog.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/SeleniumLog.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/SeleniumLog.html	(revision 4307)
@@ -0,0 +1,74 @@
+<html>
+
+<head>
+<title>Selenium Log Console</title>
+<link id="cssLink" rel="stylesheet" href="selenium.css" />
+
+</head>
+<body id="logging-console">
+
+<script language="JavaScript">
+
+var logLevels = {
+    debug: 0,
+    info: 1,
+    warn: 2,
+    error: 3
+};
+
+function getThresholdLevel() {
+    var buttons = document.getElementById('logLevelChooser').level;
+    for (var i = 0; i < buttons.length; i++) {
+        if (buttons[i].checked) {
+            return buttons[i].value;
+        }
+    }
+}
+
+function setThresholdLevel(logLevel) {
+    var buttons = document.getElementById('logLevelChooser').level;
+    for (var i = 0; i < buttons.length; i++) {
+        if (buttons[i].value==logLevel) {
+            buttons[i].checked = true;
+        }
+        else {
+            buttons[i].checked = false;
+        }
+    }
+}
+
+function append(message, logLevel) {
+    var logLevelThreshold = getThresholdLevel();
+    if (logLevels[logLevel] < logLevels[logLevelThreshold]) {
+        return;
+    }
+    var log = document.getElementById('log');
+    var newEntry = document.createElement('li');
+    newEntry.className = logLevel;
+    newEntry.appendChild(document.createTextNode(message));
+    log.appendChild(newEntry);
+    if (newEntry.scrollIntoView) {
+        newEntry.scrollIntoView();
+    }
+}
+
+</script>
+
+<div id="banner">
+  <form id="logLevelChooser">
+      <input id="level-error" type="radio" name="level" 
+             value="error" /><label for="level-error">Error</label>
+      <input id="level-warn" type="radio" name="level"
+             value="warn" /><label for="level-warn">Warn</label>
+      <input id="level-info" type="radio" name="level"
+             value="info" /><label for="level-info">Info</label>
+      <input id="level-debug" type="radio" name="level" checked="yes"
+             value="debug" /><label for="level-debug">Debug</label>
+  </form>
+  <h1>Selenium Log Console</h1>
+</div>
+
+<ul id="log"></ul>
+
+</body>
+</html>
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-version.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-version.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-version.js	(revision 4307)
@@ -0,0 +1,5 @@
+Selenium.version = "0.8.2";
+Selenium.revision = "1727";
+
+window.top.document.title += " v" + Selenium.version + " [" + Selenium.revision + "]";
+
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-remoterunner.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-remoterunner.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-remoterunner.js	(revision 4307)
@@ -0,0 +1,466 @@
+/*
+* Copyright 2005 ThoughtWorks, Inc
+*
+*  Licensed under the Apache License, Version 2.0 (the "License");
+*  you may not use this file except in compliance with the License.
+*  You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing, software
+*  distributed under the License is distributed on an "AS IS" BASIS,
+*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*  See the License for the specific language governing permissions and
+*  limitations under the License.
+*
+*/
+
+passColor = "#cfffcf";
+failColor = "#ffcfcf";
+errorColor = "#ffffff";
+workingColor = "#DEE7EC";
+doneColor = "#FFFFCC";
+
+var injectedSessionId;
+var cmd1 = document.createElement("div");
+var cmd2 = document.createElement("div");
+var cmd3 = document.createElement("div");
+var cmd4 = document.createElement("div");
+
+var postResult = "START";
+var debugMode = false;
+var relayToRC = null;
+var proxyInjectionMode = false;
+var uniqueId = 'sel_' + Math.round(100000 * Math.random());
+
+var RemoteRunnerOptions = classCreate();
+objectExtend(RemoteRunnerOptions.prototype, URLConfiguration.prototype);
+objectExtend(RemoteRunnerOptions.prototype, {
+    initialize: function() {
+        this._acquireQueryString();
+    },
+    isDebugMode: function() {
+        return this._isQueryParameterTrue("debugMode");
+    },
+
+    getContinue: function() {
+        return this._getQueryParameter("continue");
+    },
+
+    getDriverUrl: function() {
+        return this._getQueryParameter("driverUrl");
+    },
+
+    getSessionId: function() {
+        return this._getQueryParameter("sessionId");
+    },
+
+    _acquireQueryString: function () {
+        if (this.queryString) return;
+        if (browserVersion.isHTA) {
+            var args = this._extractArgs();
+            if (args.length < 2) return null;
+            this.queryString = args[1];
+        } else if (proxyInjectionMode) {
+            this.queryString = selenium.browserbot.getCurrentWindow().location.search.substr(1);
+        } else {
+            this.queryString = top.location.search.substr(1);
+        }
+    }
+
+});
+var runOptions;
+
+function runSeleniumTest() {
+    runOptions = new RemoteRunnerOptions();
+    var testAppWindow;
+
+    if (runOptions.isMultiWindowMode()) {
+        testAppWindow = openSeparateApplicationWindow('Blank.html', true);
+    } else if ($('myiframe') != null) {
+        var myiframe = $('myiframe');
+        if (myiframe) {
+            testAppWindow = myiframe.contentWindow;
+        }
+    }
+    else {
+        proxyInjectionMode = true;
+        testAppWindow = window;
+    }
+    selenium = Selenium.createForWindow(testAppWindow, proxyInjectionMode);
+    if (runOptions.getBaseUrl()) {
+        selenium.browserbot.baseUrl = runOptions.getBaseUrl();
+    }
+    if (!debugMode) {
+        debugMode = runOptions.isDebugMode();
+    }
+    if (proxyInjectionMode) {
+        LOG.log = logToRc;
+        selenium.browserbot._modifyWindow(testAppWindow);
+    }
+    else if (debugMode) {
+        LOG.logHook = logToRc;
+    }
+    window.selenium = selenium;
+
+    commandFactory = new CommandHandlerFactory();
+    commandFactory.registerAll(selenium);
+
+    currentTest = new RemoteRunner(commandFactory);
+
+    if (document.getElementById("commandList") != null) {
+        document.getElementById("commandList").appendChild(cmd4);
+        document.getElementById("commandList").appendChild(cmd3);
+        document.getElementById("commandList").appendChild(cmd2);
+        document.getElementById("commandList").appendChild(cmd1);
+    }
+
+    var doContinue = runOptions.getContinue();
+    if (doContinue != null) postResult = "OK";
+
+    currentTest.start();
+}
+
+function buildDriverUrl() {
+    var driverUrl = runOptions.getDriverUrl();
+    if (driverUrl != null) {
+        return driverUrl;
+    }
+    var s = window.location.href
+    var slashPairOffset = s.indexOf("//") + "//".length
+    var pathSlashOffset = s.substring(slashPairOffset).indexOf("/")
+    return s.substring(0, slashPairOffset + pathSlashOffset) + "/selenium-server/driver/";
+}
+
+function logToRc(logLevel, message) {
+    if (logLevel == null) {
+        logLevel = "debug";
+    }
+    if (debugMode) {
+        sendToRC("logLevel=" + logLevel + ":" + message.replace(/[\n\r\015]/g, " ") + "\n", "logging=true");
+    }
+}
+
+function isArray(x) {
+    return ((typeof x) == "object") && (x["length"] != null);
+}
+
+function serializeString(name, s) {
+    return name + "=unescape(\"" + escape(s) + "\");";
+}
+
+function serializeObject(name, x)
+{
+    var s = '';
+
+    if (isArray(x))
+    {
+        s = name + "=new Array(); ";
+        var len = x["length"];
+        for (var j = 0; j < len; j++)
+        {
+            s += serializeString(name + "[" + j + "]", x[j]);
+        }
+    }
+    else if (typeof x == "string")
+    {
+        s = serializeString(name, x);
+    }
+    else
+    {
+        throw "unrecognized object not encoded: " + name + "(" + x + ")";
+    }
+    return s;
+}
+
+function relayBotToRC(s) {
+}
+
+// seems like no one uses this, but in fact it is called using eval from server-side PI mode code; however, 
+// because multiple names can map to the same popup, assigning a single name confuses matters sometimes;
+// thus, I'm disabling this for now.  -Nelson 10/21/06
+function setSeleniumWindowName(seleniumWindowName) {
+//selenium.browserbot.getCurrentWindow()['seleniumWindowName'] = seleniumWindowName;
+}
+
+RemoteRunner = classCreate();
+objectExtend(RemoteRunner.prototype, new TestLoop());
+objectExtend(RemoteRunner.prototype, {
+    initialize : function(commandFactory) {
+        this.commandFactory = commandFactory;
+        this.requiresCallBack = true;
+        this.commandNode = null;
+        this.xmlHttpForCommandsAndResults = null;
+    },
+
+    nextCommand : function() {
+        var urlParms = "";
+        if (postResult == "START") {
+            urlParms += "seleniumStart=true";
+        }
+        this.xmlHttpForCommandsAndResults = XmlHttp.create();
+        sendToRC(postResult, urlParms, fnBind(this._HandleHttpResponse, this), this.xmlHttpForCommandsAndResults);
+    },
+
+    commandStarted : function(command) {
+        this.commandNode = document.createElement("div");
+        var innerHTML = command.command + '(';
+        if (command.target != null && command.target != "") {
+            innerHTML += command.target;
+            if (command.value != null && command.value != "") {
+                innerHTML += ', ' + command.value;
+            }
+        }
+        innerHTML += ")";
+        if (innerHTML.length >40) {
+            innerHTML = innerHTML.substring(0,40);
+            innerHTML += "...";
+        }
+        this.commandNode.innerHTML = innerHTML;
+        this.commandNode.style.backgroundColor = workingColor;
+        if (document.getElementById("commandList") != null) {
+            document.getElementById("commandList").removeChild(cmd1);
+            document.getElementById("commandList").removeChild(cmd2);
+            document.getElementById("commandList").removeChild(cmd3);
+            document.getElementById("commandList").removeChild(cmd4);
+            cmd4 = cmd3;
+            cmd3 = cmd2;
+            cmd2 = cmd1;
+            cmd1 = this.commandNode;
+            document.getElementById("commandList").appendChild(cmd4);
+            document.getElementById("commandList").appendChild(cmd3);
+            document.getElementById("commandList").appendChild(cmd2);
+            document.getElementById("commandList").appendChild(cmd1);
+        }
+    },
+
+    commandComplete : function(result) {
+
+        if (result.failed) {
+            if (postResult == "CONTINUATION") {
+                currentTest.aborted = true;
+            }
+            postResult = result.failureMessage;
+            this.commandNode.title = result.failureMessage;
+            this.commandNode.style.backgroundColor = failColor;
+        } else if (result.passed) {
+            postResult = "OK";
+            this.commandNode.style.backgroundColor = passColor;
+        } else {
+            if (result.result == null) {
+                postResult = "OK";
+            } else {
+                postResult = "OK," + result.result;
+            }
+            this.commandNode.style.backgroundColor = doneColor;
+        }
+    },
+
+    commandError : function(message) {
+        postResult = "ERROR: " + message;
+        this.commandNode.style.backgroundColor = errorColor;
+        this.commandNode.title = message;
+    },
+
+    testComplete : function() {
+        window.status = "Selenium Tests Complete, for this Test"
+        // Continue checking for new results
+        this.continueTest();
+        postResult = "START";
+    },
+
+    _HandleHttpResponse : function() {
+        if (this.xmlHttpForCommandsAndResults.readyState == 4) {
+            if (this.xmlHttpForCommandsAndResults.status == 200) {
+            	if (this.xmlHttpForCommandsAndResults.responseText=="") {
+                    LOG.error("saw blank string xmlHttpForCommandsAndResults.responseText");
+                    return;
+                }
+                var command = this._extractCommand(this.xmlHttpForCommandsAndResults);
+                this.currentCommand = command;
+                this.continueTestAtCurrentCommand();
+            } else {
+                var s = 'xmlHttp returned: ' + this.xmlHttpForCommandsAndResults.status + ": " + this.xmlHttpForCommandsAndResults.statusText;
+                LOG.error(s);
+                this.currentCommand = null;
+                setTimeout(fnBind(this.continueTestAtCurrentCommand, this), 2000);
+            }
+
+        }
+    },
+
+    _extractCommand : function(xmlHttp) {
+        var command;
+        try {
+            var re = new RegExp("^(.*?)\n((.|[\r\n])*)");
+            if (re.exec(xmlHttp.responseText)) {
+                command = RegExp.$1;
+                var rest = RegExp.$2;
+                rest = rest.trim();
+                if (rest) {
+                    eval(rest);
+                }
+            }
+            else {
+                command = xmlHttp.responseText;
+            }
+        } catch (e) {
+            alert('could not get responseText: ' + e.message);
+        }
+        if (command.substr(0, '|testComplete'.length) == '|testComplete') {
+            return null;
+        }
+
+        return this._createCommandFromRequest(command);
+    },
+
+
+    _delay : function(millis) {
+        var startMillis = new Date();
+        while (true) {
+            milli = new Date();
+            if (milli - startMillis > millis) {
+                break;
+            }
+        }
+    },
+
+// Parses a URI query string into a SeleniumCommand object
+    _createCommandFromRequest : function(commandRequest) {
+        //decodeURIComponent doesn't strip plus signs
+        var processed = commandRequest.replace(/\+/g, "%20");
+        // strip trailing spaces
+        var processed = processed.replace(/\s+$/, "");
+        var vars = processed.split("&");
+        var cmdArgs = new Object();
+        for (var i = 0; i < vars.length; i++) {
+            var pair = vars[i].split("=");
+            cmdArgs[pair[0]] = pair[1];
+        }
+        var cmd = cmdArgs['cmd'];
+        var arg1 = cmdArgs['1'];
+        if (null == arg1) arg1 = "";
+        arg1 = decodeURIComponent(arg1);
+        var arg2 = cmdArgs['2'];
+        if (null == arg2) arg2 = "";
+        arg2 = decodeURIComponent(arg2);
+        if (cmd == null) {
+            throw new Error("Bad command request: " + commandRequest);
+        }
+        return new SeleniumCommand(cmd, arg1, arg2);
+    }
+
+})
+
+
+function sendToRC(dataToBePosted, urlParms, callback, xmlHttpObject, async) {
+    if (async == null) {
+        async = true;
+    }
+    if (xmlHttpObject == null) {
+        xmlHttpObject = XmlHttp.create();
+    }
+    var url = buildDriverUrl() + "?"
+    if (urlParms) {
+        url += urlParms;
+    }
+    url += "&localFrameAddress=" + (proxyInjectionMode ? makeAddressToAUTFrame() : "top");
+    url += getSeleniumWindowNameURLparameters();
+    url += "&uniqueId=" + uniqueId;
+
+    if (callback == null) {
+        callback = function() {
+        };
+    }
+    url += buildDriverParams() + preventBrowserCaching();
+    xmlHttpObject.open("POST", url, async);
+    xmlHttpObject.onreadystatechange = callback;
+    xmlHttpObject.send(dataToBePosted);
+    return null;
+}
+
+function buildDriverParams() {
+    var params = "";
+
+    var sessionId = runOptions.getSessionId();
+    if (sessionId == undefined) {
+        sessionId = injectedSessionId;
+    }
+    if (sessionId != undefined) {
+        params = params + "&sessionId=" + sessionId;
+    }
+    return params;
+}
+
+function preventBrowserCaching() {
+    var t = (new Date()).getTime();
+    return "&counterToMakeURsUniqueAndSoStopPageCachingInTheBrowser=" + t;
+}
+
+//
+// Return URL parameters pertaining to the name(s?) of the current window
+//
+// In selenium, the main (i.e., first) window's name is a blank string.
+//
+// Additional pop-ups are associated with either 1.) the name given by the 2nd parameter to window.open, or 2.) the name of a 
+// property on the opening window which points at the window.
+//
+// An example of #2: if window X contains JavaScript as follows:
+//
+// 	var windowABC = window.open(...)
+//
+// Note that the example JavaScript above is equivalent to
+//
+// 	window["windowABC"] = window.open(...)
+//
+function getSeleniumWindowNameURLparameters() {
+    var w = (proxyInjectionMode ? selenium.browserbot.getCurrentWindow() : window).top;
+    var s = "&seleniumWindowName=";
+    if (w.opener == null) {
+        return s;
+    }
+    if (w["seleniumWindowName"] == null) {
+    	s +=  'generatedSeleniumWindowName_' + Math.round(100000 * Math.random());
+    }
+    else {
+    	s += w["seleniumWindowName"];
+    }
+    var windowOpener = w.opener;
+    for (key in windowOpener) {
+        var val = null;
+        try {
+    	    val = windowOpener[key];
+        }
+        catch(e) {
+        }        
+        if (val==w) {
+	    s += "&jsWindowNameVar=" + key;			// found a js variable in the opener referring to this window
+        }
+    }
+    return s;
+}
+
+// construct a JavaScript expression which leads to my frame (i.e., the frame containing the window
+// in which this code is operating)
+function makeAddressToAUTFrame(w, frameNavigationalJSexpression)
+{
+    if (w == null)
+    {
+        w = top;
+        frameNavigationalJSexpression = "top";
+    }
+
+    if (w == selenium.browserbot.getCurrentWindow())
+    {
+        return frameNavigationalJSexpression;
+    }
+    for (var j = 0; j < w.frames.length; j++)
+    {
+        var t = makeAddressToAUTFrame(w.frames[j], frameNavigationalJSexpression + ".frames[" + j + "]");
+        if (t != null)
+        {
+            return t;
+        }
+    }
+    return null;
+}
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-logging.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-logging.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-logging.js	(revision 4307)
@@ -0,0 +1,139 @@
+/*
+ * Copyright 2004 ThoughtWorks, Inc
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+var Logger = function() {
+    this.logWindow = null;
+}
+Logger.prototype = {
+
+    pendingMessages: new Array(),
+
+    setLogLevelThreshold: function(logLevel) {
+        this.pendingLogLevelThreshold = logLevel;
+        this.show();
+        // NOTE: log messages will be discarded until the log window is
+        // fully loaded.
+    },
+
+    getLogWindow: function() {
+        if (this.logWindow && this.logWindow.closed) {
+            this.logWindow = null;
+        }
+        if (this.logWindow && this.pendingLogLevelThreshold && this.logWindow.setThresholdLevel) {
+            this.logWindow.setThresholdLevel(this.pendingLogLevelThreshold);
+            
+            // can't just directly log because that action would loop back
+            // to this code infinitely
+            var pendingMessage = new LogMessage("info", "Log level programmatically set to " + this.pendingLogLevelThreshold + " (presumably by driven-mode test code)");
+            this.pendingMessages.push(pendingMessage);
+            
+            this.pendingLogLevelThreshold = null;    // let's only go this way one time
+        }
+
+        return this.logWindow;
+    },
+    
+    openLogWindow: function() {
+        this.logWindow = window.open(
+            getDocumentBase(document) + "SeleniumLog.html", "SeleniumLog",
+            "width=600,height=1000,bottom=0,right=0,status,scrollbars,resizable"
+        );
+        this.logWindow.moveTo(window.screenX + 1210, window.screenY + window.outerHeight - 1400);
+        if (browserVersion.appearsToBeBrokenInitialIE6) {
+	// I would really prefer for the message to immediately appear in the log window, the instant the user requests that the log window be 
+        	// visible.  But when I initially coded it this way, thou message simply didn't appear unless I stepped through the code with a debugger.  
+        	// So obviously there is some timing issue here which I don't have the patience to figure out.
+        	var pendingMessage = new LogMessage("warn", "You appear to be running an unpatched IE 6, which is not stable and can crash due to memory problems.  We recommend you run Windows update to install a more stable version of IE.");
+            this.pendingMessages.push(pendingMessage);
+        }
+        return this.logWindow;
+    },
+    
+    show: function() {
+        if (! this.getLogWindow()) {
+            this.openLogWindow();
+        }
+        setTimeout(function(){LOG.info("Log window displayed");}, 500);
+    },
+
+    logHook: function(className, message) {
+    },
+
+    log: function(className, message) {
+        var logWindow = this.getLogWindow();
+        this.logHook(className, message);
+        if (logWindow) {
+            if (logWindow.append) {
+                if (this.pendingMessages.length > 0) {
+                    logWindow.append("info: Appending missed logging messages", "info");
+                    while (this.pendingMessages.length > 0) {
+                        var msg = this.pendingMessages.shift();
+                        logWindow.append(msg.type + ": " + msg.msg, msg.type);
+                    }
+                    logWindow.append("info: Done appending missed logging messages", "info");
+                }
+                logWindow.append(className + ": " + message, className);
+            }
+        } else {
+            // uncomment this to turn on background logging
+            /* these logging messages are never flushed, which creates 
+               an enormous array of strings that never stops growing.  Only
+               turn this on if you need it for debugging! */
+            //this.pendingMessages.push(new LogMessage(className, message));
+        }
+    },
+
+    close: function(message) {
+        if (this.logWindow != null) {
+            try {
+                this.logWindow.close();
+            } catch (e) {
+                // swallow exception
+                // the window is probably closed if we get an exception here
+            }
+            this.logWindow = null;
+        }
+    },
+
+    debug: function(message) {
+       this.log("debug", message);
+    },
+
+    info: function(message) {
+       this.log("info", message);
+    },
+
+    warn: function(message) {
+       this.log("warn", message);
+    },
+
+    error: function(message) {
+       this.log("error", message);
+    },
+
+    exception: function(exception) {
+        this.error("Unexpected Exception: " + extractExceptionMessage(exception));
+        this.error("Exception details: " + describe(exception, ', '));
+    }
+
+};
+
+var LOG = new Logger();
+
+var LogMessage = function(type, msg) {
+    this.type = type;
+    this.msg = msg;
+}
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-browserbot.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-browserbot.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-browserbot.js	(revision 4307)
@@ -0,0 +1,1946 @@
+/*
+* Copyright 2004 ThoughtWorks, Inc
+*
+*  Licensed under the Apache License, Version 2.0 (the "License");
+*  you may not use this file except in compliance with the License.
+*  You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing, software
+*  distributed under the License is distributed on an "AS IS" BASIS,
+*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*  See the License for the specific language governing permissions and
+*  limitations under the License.
+*
+*/
+
+/*
+* This script provides the Javascript API to drive the test application contained within
+* a Browser Window.
+* TODO:
+*    Add support for more events (keyboard and mouse)
+*    Allow to switch "user-entry" mode from mouse-based to keyboard-based, firing different
+*          events in different modes.
+*/
+
+// The window to which the commands will be sent.  For example, to click on a
+// popup window, first select that window, and then do a normal click command.
+var BrowserBot = function(topLevelApplicationWindow) {
+    this.topWindow = topLevelApplicationWindow;
+    this.topFrame = this.topWindow;
+    this.baseUrl=window.location.href;
+
+    // the buttonWindow is the Selenium window
+    // it contains the Run/Pause buttons... this should *not* be the AUT window
+    this.buttonWindow = window;
+    this.currentWindow = this.topWindow;
+    this.currentWindowName = null;
+    
+    // We need to know this in advance, in case the frame closes unexpectedly
+    this.isSubFrameSelected = false;
+    
+    this.altKeyDown = false;
+    this.controlKeyDown = false;
+    this.shiftKeyDown = false;
+    this.metaKeyDown = false;
+
+    this.modalDialogTest = null;
+    this.recordedAlerts = new Array();
+    this.recordedConfirmations = new Array();
+    this.recordedPrompts = new Array();
+    this.openedWindows = {};
+    this.nextConfirmResult = true;
+    this.nextPromptResult = '';
+    this.newPageLoaded = false;
+    this.pageLoadError = null;
+    
+    this.shouldHighlightLocatedElement = false;
+
+    this.uniqueId = new Date().getTime();
+    this.pollingForLoad = new Object();
+    this.permDeniedCount = new Object();
+    this.windowPollers = new Array();
+    // DGF for backwards compatibility
+    this.browserbot = this;
+
+    var self = this;
+    
+    objectExtend(this, PageBot.prototype);
+    this._registerAllLocatorFunctions();
+    
+    this.recordPageLoad = function(elementOrWindow) {
+        LOG.debug("Page load detected");
+        try {
+            if (elementOrWindow.location && elementOrWindow.location.href) {
+                LOG.debug("Page load location=" + elementOrWindow.location.href);
+            } else if (elementOrWindow.contentWindow && elementOrWindow.contentWindow.location && elementOrWindow.contentWindow.location.href) {
+                LOG.debug("Page load location=" + elementOrWindow.contentWindow.location.href);
+            } else {
+                LOG.debug("Page load location unknown, current window location=" + this.getCurrentWindow(true).location);
+            }
+        } catch (e) {
+            LOG.error("Caught an exception attempting to log location; this should get noticed soon!");
+            LOG.exception(e);
+            self.pageLoadError = e;
+            return;
+        }
+        self.newPageLoaded = true;
+    };
+
+    this.isNewPageLoaded = function() {
+        if (this.pageLoadError) {
+            LOG.error("isNewPageLoaded found an old pageLoadError");
+            var e = this.pageLoadError;
+            this.pageLoadError = null;
+            throw e;
+        }
+        return self.newPageLoaded;
+    };
+
+};
+
+// DGF PageBot exists for backwards compatibility with old user-extensions
+var PageBot = function(){};
+
+BrowserBot.createForWindow = function(window, proxyInjectionMode) {
+    var browserbot;
+    LOG.debug('createForWindow');
+    LOG.debug("browserName: " + browserVersion.name);
+    LOG.debug("userAgent: " + navigator.userAgent);
+    if (browserVersion.isIE) {
+        browserbot = new IEBrowserBot(window);
+    }
+    else if (browserVersion.isKonqueror) {
+        browserbot = new KonquerorBrowserBot(window);
+    }
+    else if (browserVersion.isOpera) {
+        browserbot = new OperaBrowserBot(window);
+    }
+    else if (browserVersion.isSafari) {
+        browserbot = new SafariBrowserBot(window);
+    }
+    else {
+        // Use mozilla by default
+        browserbot = new MozillaBrowserBot(window);
+    }
+    // getCurrentWindow has the side effect of modifying it to handle page loads etc
+    browserbot.proxyInjectionMode = proxyInjectionMode;
+    browserbot.getCurrentWindow();	// for modifyWindow side effect.  This is not a transparent style
+    return browserbot;
+};
+
+// todo: rename?  This doesn't actually "do" anything.
+BrowserBot.prototype.doModalDialogTest = function(test) {
+    this.modalDialogTest = test;
+};
+
+BrowserBot.prototype.cancelNextConfirmation = function() {
+    this.nextConfirmResult = false;
+};
+
+BrowserBot.prototype.setNextPromptResult = function(result) {
+    this.nextPromptResult = result;
+};
+
+BrowserBot.prototype.hasAlerts = function() {
+    return (this.recordedAlerts.length > 0);
+};
+
+BrowserBot.prototype.relayBotToRC = function() {
+};
+// override in injection.html
+
+BrowserBot.prototype.resetPopups = function() {
+    this.recordedAlerts = [];
+    this.recordedConfirmations = [];
+    this.recordedPrompts = [];
+}
+
+BrowserBot.prototype.getNextAlert = function() {
+    var t = this.recordedAlerts.shift();
+    this.relayBotToRC("browserbot.recordedAlerts");
+    return t;
+};
+
+BrowserBot.prototype.hasConfirmations = function() {
+    return (this.recordedConfirmations.length > 0);
+};
+
+BrowserBot.prototype.getNextConfirmation = function() {
+    var t = this.recordedConfirmations.shift();
+    this.relayBotToRC("browserbot.recordedConfirmations");
+    return t;
+};
+
+BrowserBot.prototype.hasPrompts = function() {
+    return (this.recordedPrompts.length > 0);
+};
+
+BrowserBot.prototype.getNextPrompt = function() {
+    var t = this.recordedPrompts.shift();
+    this.relayBotToRC("browserbot.recordedPrompts");
+    return t;
+};
+
+/* Fire a mouse event in a browser-compatible manner */
+
+BrowserBot.prototype.triggerMouseEvent = function(element, eventType, canBubble, clientX, clientY) {
+    clientX = clientX ? clientX : 0;
+    clientY = clientY ? clientY : 0;
+
+    LOG.warn("triggerMouseEvent assumes setting screenX and screenY to 0 is ok");
+    var screenX = 0;
+    var screenY = 0;
+
+    canBubble = (typeof(canBubble) == undefined) ? true : canBubble;
+    if (element.fireEvent) {
+        LOG.info("element has fireEvent");
+        var evt = createEventObject(element, this.controlKeyDown, this.altKeyDown, this.shiftKeyDown, this.metaKeyDown);
+        evt.detail = 0;
+        evt.button = 1;
+        evt.relatedTarget = null;
+        if (!screenX && !screenY && !clientX && !clientY && !this.controlKeyDown && !this.altKeyDown && !this.shiftKeyDown && !this.metaKeyDown) {
+            element.fireEvent('on' + eventType);
+        }
+        else {
+            evt.screenX = screenX;
+            evt.screenY = screenY;
+            evt.clientX = clientX;
+            evt.clientY = clientY;
+
+            // when we go this route, window.event is never set to contain the event we have just created.
+            // ideally we could just slide it in as follows in the try-block below, but this normally
+            // doesn't work.  This is why I try to avoid this code path, which is only required if we need to
+            // set attributes on the event (e.g., clientX).
+            try {
+                window.event = evt;
+            }
+            catch(e) {
+                // getting an "Object does not support this action or property" error.  Save the event away
+                // for future reference.
+                // TODO: is there a way to update window.event?
+
+                // work around for http://jira.openqa.org/browse/SEL-280 -- make the event available somewhere:
+                selenium.browserbot.getCurrentWindow().selenium_event = evt;
+            }
+            element.fireEvent('on' + eventType, evt);
+        }
+    }
+    else {
+        LOG.info("element doesn't have fireEvent");
+        var evt = document.createEvent('MouseEvents');
+        if (evt.initMouseEvent)
+        {
+            LOG.info("element has initMouseEvent");
+            //Safari
+            evt.initMouseEvent(eventType, canBubble, true, document.defaultView, 1, screenX, screenY, clientX, clientY, 
+            	this.controlKeyDown, this.altKeyDown, this.shiftKeyDown, this.metaKeyDown, 0, null);
+        }
+        else {
+        	LOG.warn("element doesn't have initMouseEvent; firing an event which should -- but doesn't -- have other mouse-event related attributes here, as well as controlKeyDown, altKeyDown, shiftKeyDown, metaKeyDown");
+            evt.initEvent(eventType, canBubble, true);
+            
+            evt.shiftKey = this.shiftKeyDown;
+            evt.metaKey = this.metaKeyDown;
+            evt.altKey = this.altKeyDown;
+            evt.ctrlKey = this.controlKeyDown;
+
+        }
+        element.dispatchEvent(evt);
+    }
+}
+
+BrowserBot.prototype._windowClosed = function(win) {
+    var c = win.closed;
+    if (c == null) return true;
+    return c;
+};
+
+BrowserBot.prototype._modifyWindow = function(win) {
+    // In proxyInjectionMode, have to suppress LOG calls in _modifyWindow to avoid an infinite loop
+    if (this._windowClosed(win)) {
+        if (!this.proxyInjectionMode) {
+            LOG.error("modifyWindow: Window was closed!");
+        }
+        return null;
+    }
+    if (!this.proxyInjectionMode) {
+        LOG.debug('modifyWindow ' + this.uniqueId + ":" + win[this.uniqueId]);
+    }
+    if (!win[this.uniqueId]) {
+        win[this.uniqueId] = true;
+        this.modifyWindowToRecordPopUpDialogs(win, this);
+    }
+    // In proxyInjection mode, we have our own mechanism for detecting page loads
+    if (!this.proxyInjectionMode) {
+        this.modifySeparateTestWindowToDetectPageLoads(win);
+    }
+    if (win.frames && win.frames.length && win.frames.length > 0) {
+        for (var i = 0; i < win.frames.length; i++) {
+            try {
+                this._modifyWindow(win.frames[i]);
+            } catch (e) {} // we're just trying to be opportunistic; don't worry if this doesn't work out
+        }
+    }
+    return win;
+};
+
+BrowserBot.prototype.selectWindow = function(target) {
+    if (target && target != "null") {
+        this._selectWindowByName(target);
+    } else {
+        this._selectTopWindow();
+    }
+};
+
+BrowserBot.prototype._selectTopWindow = function() {
+    this.currentWindowName = null;
+    this.currentWindow = this.topWindow;
+    this.topFrame = this.topWindow;
+    this.isSubFrameSelected = false;
+}
+
+BrowserBot.prototype._selectWindowByName = function(target) {
+    this.currentWindow = this.getWindowByName(target, false);
+    this.topFrame = this.currentWindow;
+    this.currentWindowName = target;
+    this.isSubFrameSelected = false;
+}
+
+BrowserBot.prototype.selectFrame = function(target) {
+    if (target == "relative=up") {
+        this.currentWindow = this.getCurrentWindow().parent;
+        this.isSubFrameSelected = (this._getFrameElement(this.currentWindow) != null);
+    } else if (target == "relative=top") {
+        this.currentWindow = this.topFrame;
+        this.isSubFrameSelected = false;
+    } else {
+        var frame = this.findElement(target);
+        if (frame == null) {
+            throw new SeleniumError("Not found: " + target);
+        }
+        // now, did they give us a frame or a frame ELEMENT?
+        var match = false;
+        if (frame.contentWindow) {
+            // this must be a frame element
+            if (browserVersion.isHTA) {
+                // stupid HTA bug; can't get in the front door
+                target = frame.contentWindow.name;
+            } else {
+                this.currentWindow = frame.contentWindow;
+                this.isSubFrameSelected = true;
+                match = true;
+            }
+        } else if (frame.document && frame.location) {
+            // must be an actual window frame
+            this.currentWindow = frame;
+            this.isSubFrameSelected = true;
+            match = true;
+        }
+        
+        if (!match) {
+            // neither, let's loop through the frame names
+            var win = this.getCurrentWindow();
+            
+            if (win && win.frames && win.frames.length) {
+                for (var i = 0; i < win.frames.length; i++) {
+                    if (win.frames[i].name == target) {
+                        this.currentWindow = win.frames[i];
+                        this.isSubFrameSelected = true;
+                        match = true;
+                        break;
+                    }
+                }
+            }
+            if (!match) {
+                throw new SeleniumError("Not a frame: " + target);
+            }
+        }
+    }
+    // modifies the window
+    this.getCurrentWindow();
+};
+
+BrowserBot.prototype.openLocation = function(target) {
+    // We're moving to a new page - clear the current one
+    var win = this.getCurrentWindow();
+    LOG.debug("openLocation newPageLoaded = false");
+    this.newPageLoaded = false;
+
+    this.setOpenLocation(win, target);
+};
+
+BrowserBot.prototype.openWindow = function(url, windowID) {
+    if (url != "") {
+        url = absolutify(url, this.baseUrl);
+    }
+    if (browserVersion.isHTA) {
+        // in HTA mode, calling .open on the window interprets the url relative to that window
+        // we need to absolute-ize the URL to make it consistent
+        var child = this.getCurrentWindow().open(url, windowID);
+        selenium.browserbot.openedWindows[windowID] = child;
+    } else {
+        this.getCurrentWindow().open(url, windowID);
+    }
+};
+
+BrowserBot.prototype.setIFrameLocation = function(iframe, location) {
+    iframe.src = location;
+};
+
+BrowserBot.prototype.setOpenLocation = function(win, loc) {
+    loc = absolutify(loc, this.baseUrl);
+    if (browserVersion.isHTA) {
+        var oldHref = win.location.href;
+        win.location.href = loc;
+        var marker = null;
+        try {
+            marker = this.isPollingForLoad(win);
+            if (marker && win.location[marker]) {
+                win.location[marker] = false;
+            }
+        } catch (e) {} // DGF don't know why, but this often fails
+    } else {
+        win.location.href = loc;
+    }
+};
+
+BrowserBot.prototype.getCurrentPage = function() {
+    return this;
+};
+
+BrowserBot.prototype.modifyWindowToRecordPopUpDialogs = function(windowToModify, browserBot) {
+    var self = this;
+
+    windowToModify.alert = function(alert) {
+        browserBot.recordedAlerts.push(alert);
+        self.relayBotToRC("browserbot.recordedAlerts");
+    };
+
+    windowToModify.confirm = function(message) {
+        browserBot.recordedConfirmations.push(message);
+        var result = browserBot.nextConfirmResult;
+        browserBot.nextConfirmResult = true;
+        self.relayBotToRC("browserbot.recordedConfirmations");
+        return result;
+    };
+
+    windowToModify.prompt = function(message) {
+        browserBot.recordedPrompts.push(message);
+        var result = !browserBot.nextConfirmResult ? null : browserBot.nextPromptResult;
+        browserBot.nextConfirmResult = true;
+        browserBot.nextPromptResult = '';
+        self.relayBotToRC("browserbot.recordedPrompts");
+        return result;
+    };
+
+    // Keep a reference to all popup windows by name
+    // note that in IE the "windowName" argument must be a valid javascript identifier, it seems.
+    var originalOpen = windowToModify.open;
+    var originalOpenReference;
+    if (browserVersion.isHTA) {
+        originalOpenReference = 'selenium_originalOpen' + new Date().getTime();
+        windowToModify[originalOpenReference] = windowToModify.open;
+    }
+    
+    var isHTA = browserVersion.isHTA;
+    
+    var newOpen = function(url, windowName, windowFeatures, replaceFlag) {
+        var myOriginalOpen = originalOpen;
+        if (isHTA) {
+            myOriginalOpen = this[originalOpenReference];
+        }
+        var openedWindow = myOriginalOpen(url, windowName, windowFeatures, replaceFlag);
+        LOG.debug("window.open call intercepted; window ID (which you can use with selectWindow()) is \"" +  windowName + "\"");
+        if (windowName!=null) {
+        	openedWindow["seleniumWindowName"] = windowName;
+        }
+        selenium.browserbot.openedWindows[windowName] = openedWindow;
+        return openedWindow;
+    };
+    
+    if (browserVersion.isHTA) {
+        originalOpenReference = 'selenium_originalOpen' + new Date().getTime();
+        newOpenReference = 'selenium_newOpen' + new Date().getTime();
+        var setOriginalRef = "this['" + originalOpenReference + "'] = this.open;";
+        
+        if (windowToModify.eval) {
+            windowToModify.eval(setOriginalRef);
+            windowToModify.open = newOpen;
+        } else {
+            // DGF why can't I eval here?  Seems like I'm querying the window at a bad time, maybe?
+            setOriginalRef += "this.open = this['" + newOpenReference + "'];";
+            windowToModify[newOpenReference] = newOpen;
+            windowToModify.setTimeout(setOriginalRef, 0);
+        }
+    } else {
+        windowToModify.open = newOpen;
+    }
+};
+
+/**
+ * Call the supplied function when a the current page unloads and a new one loads.
+ * This is done by polling continuously until the document changes and is fully loaded.
+ */
+BrowserBot.prototype.modifySeparateTestWindowToDetectPageLoads = function(windowObject) {
+    // Since the unload event doesn't fire in Safari 1.3, we start polling immediately
+    if (!windowObject) {
+        LOG.warn("modifySeparateTestWindowToDetectPageLoads: no windowObject!");
+        return;
+    }
+    if (this._windowClosed(windowObject)) {
+        LOG.info("modifySeparateTestWindowToDetectPageLoads: windowObject was closed");
+        return;
+    }
+    var oldMarker = this.isPollingForLoad(windowObject);
+    if (oldMarker) {
+        LOG.debug("modifySeparateTestWindowToDetectPageLoads: already polling this window: " + oldMarker);
+        return;
+    }
+
+    var marker = 'selenium' + new Date().getTime();
+    LOG.debug("Starting pollForLoad (" + marker + "): " + windowObject.location);
+    this.pollingForLoad[marker] = true;
+    // if this is a frame, add a load listener, otherwise, attach a poller
+    var frameElement = this._getFrameElement(windowObject);
+    // DGF HTA mode can't attach load listeners to subframes (yuk!)
+    var htaSubFrame = this._isHTASubFrame(windowObject);
+    if (frameElement && !htaSubFrame) {
+        LOG.debug("modifySeparateTestWindowToDetectPageLoads: this window is a frame; attaching a load listener");
+        addLoadListener(frameElement, this.recordPageLoad);
+        frameElement[marker] = true;
+        frameElement[this.uniqueId] = marker;
+    } else {
+        windowObject.location[marker] = true;
+        windowObject[this.uniqueId] = marker;
+        this.pollForLoad(this.recordPageLoad, windowObject, windowObject.document, windowObject.location, windowObject.location.href, marker);
+    }
+};
+
+BrowserBot.prototype._isHTASubFrame = function(win) {
+    if (!browserVersion.isHTA) return false;
+    // DGF this is wrong! what if "win" isn't the selected window?
+    return this.isSubFrameSelected;
+}
+
+BrowserBot.prototype._getFrameElement = function(win) {
+    var frameElement = null;
+    var caught;
+    try {
+        frameElement = win.frameElement;
+    } catch (e) {
+        caught = true;
+    }
+    if (caught) {
+        // on IE, checking frameElement in a pop-up results in a "No such interface supported" exception
+        // but it might have a frame element anyway!
+        var parentContainsIdenticallyNamedFrame = false;
+        try {
+            parentContainsIdenticallyNamedFrame = win.parent.frames[win.name];
+        } catch (e) {} // this may fail if access is denied to the parent; in that case, assume it's not a pop-up
+        
+        if (parentContainsIdenticallyNamedFrame) {
+            // it can't be a coincidence that the parent has a frame with the same name as myself!
+            return BrowserBot.prototype.locateElementByName(win.name, win.parent.document, win.parent);
+        }
+    } 
+    return frameElement;
+}
+
+/**
+ * Set up a polling timer that will keep checking the readyState of the document until it's complete.
+ * Since we might call this before the original page is unloaded, we first check to see that the current location
+ * or href is different from the original one.
+ */
+BrowserBot.prototype.pollForLoad = function(loadFunction, windowObject, originalDocument, originalLocation, originalHref, marker) {
+    LOG.debug("pollForLoad original (" + marker + "): " + originalHref);
+    try {
+        if (this._windowClosed(windowObject)) {
+            LOG.debug("pollForLoad WINDOW CLOSED (" + marker + ")");
+            delete this.pollingForLoad[marker];
+            return;
+        }
+
+        var isSamePage = this._isSamePage(windowObject, originalDocument, originalLocation, originalHref, marker);
+        var rs = this.getReadyState(windowObject, windowObject.document);
+
+        if (!isSamePage && rs == 'complete') {
+            var currentHref = windowObject.location.href;
+            LOG.debug("pollForLoad FINISHED (" + marker + "): " + rs + " (" + currentHref + ")");
+            delete this.pollingForLoad[marker];
+            this._modifyWindow(windowObject);
+            var newMarker = this.isPollingForLoad(windowObject);
+            if (!newMarker) {
+                LOG.debug("modifyWindow didn't start new poller: " + newMarker);
+                this.modifySeparateTestWindowToDetectPageLoads(windowObject);
+            }
+            newMarker = this.isPollingForLoad(windowObject);
+            var currentlySelectedWindow;
+            var currentlySelectedWindowMarker;
+            currentlySelectedWindow =this.getCurrentWindow(true);
+            currentlySelectedWindowMarker = currentlySelectedWindow[this.uniqueId];
+
+            LOG.debug("pollForLoad (" + marker + ") restarting " + newMarker);
+            if (/(TestRunner-splash|Blank)\.html\?start=true$/.test(currentHref)) {
+                LOG.debug("pollForLoad Oh, it's just the starting page.  Never mind!");
+            } else if (currentlySelectedWindowMarker == newMarker) {
+                loadFunction(currentlySelectedWindow);
+            } else {
+                LOG.debug("pollForLoad page load detected in non-current window; ignoring (currentlySelected="+currentlySelectedWindowMarker+", detection in "+newMarker+")");
+            }
+            return;
+        }
+        LOG.debug("pollForLoad continue (" + marker + "): " + currentHref);
+        this.reschedulePoller(loadFunction, windowObject, originalDocument, originalLocation, originalHref, marker);
+    } catch (e) {
+        LOG.error("Exception during pollForLoad; this should get noticed soon (" + e.message + ")!");
+        LOG.exception(e);
+        this.pageLoadError = e;
+    }
+};
+
+BrowserBot.prototype._isSamePage = function(windowObject, originalDocument, originalLocation, originalHref, marker) {
+    var currentDocument = windowObject.document;
+    var currentLocation = windowObject.location;
+    var currentHref = currentLocation.href
+
+    var sameDoc = this._isSameDocument(originalDocument, currentDocument);
+
+    var sameLoc = (originalLocation === currentLocation);
+
+    // hash marks don't meant the page has loaded, so we need to strip them off if they exist...
+    var currentHash = currentHref.indexOf('#');
+    if (currentHash > 0) {
+        currentHref = currentHref.substring(0, currentHash);
+    }
+    var originalHash = originalHref.indexOf('#');
+    if (originalHash > 0) {
+        originalHref = originalHref.substring(0, originalHash);
+    }
+    LOG.debug("_isSamePage: currentHref: " + currentHref);
+    LOG.debug("_isSamePage: originalHref: " + originalHref);
+
+    var sameHref = (originalHref === currentHref);
+    var markedLoc = currentLocation[marker];
+
+    if (browserVersion.isKonqueror || browserVersion.isSafari) {
+        // the mark disappears too early on these browsers
+        markedLoc = true;
+    }
+
+    // since this is some _very_ important logic, especially for PI and multiWindow mode, we should log all these out
+    LOG.debug("_isSamePage: sameDoc: " + sameDoc);
+    LOG.debug("_isSamePage: sameLoc: " + sameLoc);
+    LOG.debug("_isSamePage: sameHref: " + sameHref);
+    LOG.debug("_isSamePage: markedLoc: " + markedLoc);
+
+    return sameDoc && sameLoc && sameHref && markedLoc
+};
+
+BrowserBot.prototype._isSameDocument = function(originalDocument, currentDocument) {
+    return originalDocument === currentDocument;
+};
+
+
+BrowserBot.prototype.getReadyState = function(windowObject, currentDocument) {
+    var rs = currentDocument.readyState;
+    if (rs == null) {
+       if ((this.buttonWindow!=null && this.buttonWindow.document.readyState == null) // not proxy injection mode (and therefore buttonWindow isn't null)
+       || (top.document.readyState == null)) {                                               // proxy injection mode (and therefore everything's in the top window, but buttonWindow doesn't exist)
+            // uh oh!  we're probably on Firefox with no readyState extension installed!
+            // We'll have to just take a guess as to when the document is loaded; this guess
+            // will never be perfect. :-(
+            if (typeof currentDocument.getElementsByTagName != 'undefined'
+                    && typeof currentDocument.getElementById != 'undefined'
+                    && ( currentDocument.getElementsByTagName('body')[0] != null
+                    || currentDocument.body != null )) {
+                if (windowObject.frameElement && windowObject.location.href == "about:blank" && windowObject.frameElement.src != "about:blank") {
+                    LOG.info("getReadyState not loaded, frame location was about:blank, but frame src = " + windowObject.frameElement.src);
+                    return null;
+                }
+                LOG.debug("getReadyState = windowObject.frames.length = " + windowObject.frames.length);
+                for (var i = 0; i < windowObject.frames.length; i++) {
+                    LOG.debug("i = " + i);
+                    if (this.getReadyState(windowObject.frames[i], windowObject.frames[i].document) != 'complete') {
+                        LOG.debug("getReadyState aha! the nested frame " + windowObject.frames[i].name + " wasn't ready!");
+                        return null;
+                    }
+                }
+
+                rs = 'complete';
+            } else {
+                LOG.debug("pollForLoad readyState was null and DOM appeared to not be ready yet");
+            }
+        }
+    }
+    else if (rs == "loading" && browserVersion.isIE) {
+        LOG.debug("pageUnloading = true!!!!");
+        this.pageUnloading = true;
+    }
+    LOG.debug("getReadyState returning " + rs);
+    return rs;
+};
+
+/** This function isn't used normally, but was the way we used to schedule pollers:
+ asynchronously executed autonomous units.  This is deprecated, but remains here
+ for future reference.
+ */
+BrowserBot.prototype.XXXreschedulePoller = function(loadFunction, windowObject, originalDocument, originalLocation, originalHref, marker) {
+    var self = this;
+    window.setTimeout(function() {
+        self.pollForLoad(loadFunction, windowObject, originalDocument, originalLocation, originalHref, marker);
+    }, 500);
+};
+
+/** This function isn't used normally, but is useful for debugging asynchronous pollers
+ * To enable it, rename it to "reschedulePoller", so it will override the
+ * existing reschedulePoller function
+ */
+BrowserBot.prototype.XXXreschedulePoller = function(loadFunction, windowObject, originalDocument, originalLocation, originalHref, marker) {
+    var doc = this.buttonWindow.document;
+    var button = doc.createElement("button");
+    var buttonName = doc.createTextNode(marker + " - " + windowObject.name);
+    button.appendChild(buttonName);
+    var tools = doc.getElementById("tools");
+    var self = this;
+    button.onclick = function() {
+        tools.removeChild(button);
+        self.pollForLoad(loadFunction, windowObject, originalDocument, originalLocation, originalHref, marker);
+    };
+    tools.appendChild(button);
+    window.setTimeout(button.onclick, 500);
+};
+
+BrowserBot.prototype.reschedulePoller = function(loadFunction, windowObject, originalDocument, originalLocation, originalHref, marker) {
+    var self = this;
+    var pollerFunction = function() {
+        self.pollForLoad(loadFunction, windowObject, originalDocument, originalLocation, originalHref, marker);
+    };
+    this.windowPollers.push(pollerFunction);
+};
+
+BrowserBot.prototype.runScheduledPollers = function() {
+    LOG.debug("runScheduledPollers");
+    var oldPollers = this.windowPollers;
+    this.windowPollers = new Array();
+    for (var i = 0; i < oldPollers.length; i++) {
+        oldPollers[i].call();
+    }
+    LOG.debug("runScheduledPollers DONE");
+};
+
+BrowserBot.prototype.isPollingForLoad = function(win) {
+    var marker;
+    var frameElement = this._getFrameElement(win);
+    var htaSubFrame = this._isHTASubFrame(win);
+    if (frameElement && !htaSubFrame) {
+        marker = frameElement[this.uniqueId];
+    } else {
+        marker = win[this.uniqueId];
+    }
+    if (!marker) {
+        LOG.debug("isPollingForLoad false, missing uniqueId " + this.uniqueId + ": " + marker);
+        return false;
+    }
+    if (!this.pollingForLoad[marker]) {
+        LOG.debug("isPollingForLoad false, this.pollingForLoad[" + marker + "]: " + this.pollingForLoad[marker]);
+        return false;
+    }
+    return marker;
+};
+
+BrowserBot.prototype.getWindowByName = function(windowName, doNotModify) {
+    LOG.debug("getWindowByName(" + windowName + ")");
+    // First look in the map of opened windows
+    var targetWindow = this.openedWindows[windowName];
+    if (!targetWindow) {
+        targetWindow = this.topWindow[windowName];
+    }
+    if (!targetWindow && windowName == "_blank") {
+        for (var winName in this.openedWindows) {
+            // _blank can match selenium_blank*, if it looks like it's OK (valid href, not closed)
+            if (/^selenium_blank/.test(winName)) {
+                targetWindow = this.openedWindows[winName];
+                var ok;
+                try {
+                    if (!this._windowClosed(targetWindow)) {
+                        ok = targetWindow.location.href;
+                    }
+                } catch (e) {}
+                if (ok) break;
+            }
+        }
+    }
+    if (!targetWindow) {
+        throw new SeleniumError("Window does not exist");
+    }
+    if (browserVersion.isHTA) {
+        try {
+            targetWindow.location.href;
+        } catch (e) {
+            targetWindow = window.open("", targetWindow.name);
+            this.openedWindows[targetWindow.name] = targetWindow;
+        }
+    }
+    if (!doNotModify) {
+        this._modifyWindow(targetWindow);
+    }
+    return targetWindow;
+};
+
+BrowserBot.prototype.getCurrentWindow = function(doNotModify) {
+    var testWindow = this.currentWindow;
+    if (!doNotModify) {
+        this._modifyWindow(testWindow);
+        if (!this.proxyInjectionMode) {
+            // In proxy injection mode, have to avoid logging during getCurrentWindow to avoid an infinite loop
+            LOG.debug("getCurrentWindow newPageLoaded = false");
+        }
+        this.newPageLoaded = false;
+    }
+    testWindow = this._handleClosedSubFrame(testWindow, doNotModify);
+    return testWindow;
+};
+
+BrowserBot.prototype._handleClosedSubFrame = function(testWindow, doNotModify) {
+    if (this.proxyInjectionMode) {
+        return testWindow;
+    }
+    
+    if (this.isSubFrameSelected) {
+        var missing = true;
+        if (testWindow.parent && testWindow.parent.frames && testWindow.parent.frames.length) {
+            for (var i = 0; i < testWindow.parent.frames.length; i++) {
+                if (testWindow.parent.frames[i] == testWindow) {
+                    missing = false;
+                    break;
+                }
+            }
+        }
+        if (missing) {
+            LOG.warn("Current subframe appears to have closed; selecting top frame");
+            this.selectFrame("relative=top");
+            return this.getCurrentWindow(doNotModify);
+        }
+    } else if (this._windowClosed(testWindow)) {
+        var closedError = new SeleniumError("Current window or frame is closed!");
+        closedError.windowClosed = true;
+        throw closedError;
+    }
+    return testWindow;
+};
+
+BrowserBot.prototype.highlight = function (element, force) {
+    if (force || this.shouldHighlightLocatedElement) {
+        try {
+            highlight(element);
+        } catch (e) {} // DGF element highlighting is low-priority and possibly dangerous
+    }
+    return element;
+}
+
+BrowserBot.prototype.setShouldHighlightElement = function (shouldHighlight) {
+    this.shouldHighlightLocatedElement = shouldHighlight;
+}
+
+/*****************************************************************/
+/* BROWSER-SPECIFIC FUNCTIONS ONLY AFTER THIS LINE */
+
+
+BrowserBot.prototype._registerAllLocatorFunctions = function() {
+    // TODO - don't do this in the constructor - only needed once ever
+    this.locationStrategies = {};
+    for (var functionName in this) {
+        var result = /^locateElementBy([A-Z].+)$/.exec(functionName);
+        if (result != null) {
+            var locatorFunction = this[functionName];
+            if (typeof(locatorFunction) != 'function') {
+                continue;
+            }
+            // Use a specified prefix in preference to one generated from
+            // the function name
+            var locatorPrefix = locatorFunction.prefix || result[1].toLowerCase();
+            this.locationStrategies[locatorPrefix] = locatorFunction;
+        }
+    }
+
+    /**
+     * Find a locator based on a prefix.
+     */
+    this.findElementBy = function(locatorType, locator, inDocument, inWindow) {
+        var locatorFunction = this.locationStrategies[locatorType];
+        if (! locatorFunction) {
+            throw new SeleniumError("Unrecognised locator type: '" + locatorType + "'");
+        }
+        return locatorFunction.call(this, locator, inDocument, inWindow);
+    };
+
+    /**
+     * The implicit locator, that is used when no prefix is supplied.
+     */
+    this.locationStrategies['implicit'] = function(locator, inDocument, inWindow) {
+        if (locator.startsWith('//')) {
+            return this.locateElementByXPath(locator, inDocument, inWindow);
+        }
+        if (locator.startsWith('document.')) {
+            return this.locateElementByDomTraversal(locator, inDocument, inWindow);
+        }
+        return this.locateElementByIdentifier(locator, inDocument, inWindow);
+    };
+}
+
+BrowserBot.prototype.getDocument = function() {
+    return this.getCurrentWindow().document;
+}
+
+BrowserBot.prototype.getTitle = function() {
+    var t = this.getDocument().title;
+    if (typeof(t) == "string") {
+        t = t.trim();
+    }
+    return t;
+}
+
+/*
+ * Finds an element recursively in frames and nested frames
+ * in the specified document, using various lookup protocols
+ */
+BrowserBot.prototype.findElementRecursive = function(locatorType, locatorString, inDocument, inWindow) {
+
+    var element = this.findElementBy(locatorType, locatorString, inDocument, inWindow);
+    if (element != null) {
+        return element;
+    }
+    
+    for (var i = 0; i < inWindow.frames.length; i++) {        
+        element = this.findElementRecursive(locatorType, locatorString, inWindow.frames[i].document, inWindow.frames[i]);
+        
+        if (element != null) {
+        	return element;
+        }
+    }
+};
+
+/*
+* Finds an element on the current page, using various lookup protocols
+*/
+BrowserBot.prototype.findElement = function(locator) {
+    var locatorType = 'implicit';
+    var locatorString = locator;
+
+    // If there is a locator prefix, use the specified strategy
+    var result = locator.match(/^([A-Za-z]+)=(.+)/);
+    if (result) {
+        locatorType = result[1].toLowerCase();
+        locatorString = result[2];
+    }
+    
+    var element = this.findElementRecursive(locatorType, locatorString, this.getDocument(), this.getCurrentWindow())
+    
+    if (element != null) {
+    	return this.browserbot.highlight(element);
+    }
+
+    // Element was not found by any locator function.
+    throw new SeleniumError("Element " + locator + " not found");
+};
+
+/**
+ * In non-IE browsers, getElementById() does not search by name.  Instead, we
+ * we search separately by id and name.
+ */
+BrowserBot.prototype.locateElementByIdentifier = function(identifier, inDocument, inWindow) {
+    return BrowserBot.prototype.locateElementById(identifier, inDocument, inWindow)
+            || BrowserBot.prototype.locateElementByName(identifier, inDocument, inWindow)
+            || null;
+};
+
+/**
+ * Find the element with id - can't rely on getElementById, coz it returns by name as well in IE..
+ */
+BrowserBot.prototype.locateElementById = function(identifier, inDocument, inWindow) {
+    var element = inDocument.getElementById(identifier);
+    if (element && element.id === identifier) {
+        return element;
+    }
+    else {
+        return null;
+    }
+};
+
+/**
+ * Find an element by name, refined by (optional) element-filter
+ * expressions.
+ */
+BrowserBot.prototype.locateElementByName = function(locator, document, inWindow) {
+    var elements = document.getElementsByTagName("*");
+
+    var filters = locator.split(' ');
+    filters[0] = 'name=' + filters[0];
+
+    while (filters.length) {
+        var filter = filters.shift();
+        elements = this.selectElements(filter, elements, 'value');
+    }
+
+    if (elements.length > 0) {
+        return elements[0];
+    }
+    return null;
+};
+
+/**
+ * Finds an element using by evaluating the specfied string.
+ */
+BrowserBot.prototype.locateElementByDomTraversal = function(domTraversal, document, window) {
+
+    var browserbot = this.browserbot;
+    var element = null;
+    try {
+        element = eval(domTraversal);
+    } catch (e) {
+        e.isSeleniumError = true;
+        throw e;
+    }
+
+    if (!element) {
+        return null;
+    }
+
+    return element;
+};
+BrowserBot.prototype.locateElementByDomTraversal.prefix = "dom";
+
+/**
+ * Finds an element identified by the xpath expression. Expressions _must_
+ * begin with "//".
+ */
+BrowserBot.prototype.locateElementByXPath = function(xpath, inDocument, inWindow) {
+
+    // Trim any trailing "/": not valid xpath, and remains from attribute
+    // locator.
+    if (xpath.charAt(xpath.length - 1) == '/') {
+        xpath = xpath.slice(0, -1);
+    }
+
+    // Handle //tag
+    var match = xpath.match(/^\/\/(\w+|\*)$/);
+    if (match) {
+        var elements = inDocument.getElementsByTagName(match[1].toUpperCase());
+        if (elements == null) return null;
+        return elements[0];
+    }
+
+    // Handle //tag[@attr='value']
+    var match = xpath.match(/^\/\/(\w+|\*)\[@(\w+)=('([^\']+)'|"([^\"]+)")\]$/);
+    if (match) {
+        // We don't return the value without checking if it is null first.
+        // This is beacuse in some rare cases, this shortcut actually WONT work
+        // but that the full XPath WILL. A known case, for example, is in IE
+        // when the attribute is onclick/onblur/onsubmit/etc. Due to a bug in IE
+        // this shortcut won't work because the actual function is returned
+        // by getAttribute() rather than the text of the attribute.
+        var val = this._findElementByTagNameAndAttributeValue(
+                inDocument,
+                match[1].toUpperCase(),
+                match[2].toLowerCase(),
+                match[3].slice(1, -1)
+                );
+        if (val) {
+            return val;
+        }
+    }
+
+    // Handle //tag[text()='value']
+    var match = xpath.match(/^\/\/(\w+|\*)\[text\(\)=('([^\']+)'|"([^\"]+)")\]$/);
+    if (match) {
+        return this._findElementByTagNameAndText(
+                inDocument,
+                match[1].toUpperCase(),
+                match[2].slice(1, -1)
+                );
+    }
+
+    return this._findElementUsingFullXPath(xpath, inDocument);
+};
+
+BrowserBot.prototype._findElementByTagNameAndAttributeValue = function(
+        inDocument, tagName, attributeName, attributeValue
+        ) {
+    if (browserVersion.isIE && attributeName == "class") {
+        attributeName = "className";
+    }
+    var elements = inDocument.getElementsByTagName(tagName);
+    for (var i = 0; i < elements.length; i++) {
+        var elementAttr = elements[i].getAttribute(attributeName);
+        if (elementAttr == attributeValue) {
+            return elements[i];
+        }
+    }
+    return null;
+};
+
+BrowserBot.prototype._findElementByTagNameAndText = function(
+        inDocument, tagName, text
+        ) {
+    var elements = inDocument.getElementsByTagName(tagName);
+    for (var i = 0; i < elements.length; i++) {
+        if (getText(elements[i]) == text) {
+            return elements[i];
+        }
+    }
+    return null;
+};
+
+BrowserBot.prototype._namespaceResolver = function(prefix) {
+    if (prefix == 'html' || prefix == 'xhtml' || prefix == 'x') {
+        return 'http://www.w3.org/1999/xhtml';
+    } else if (prefix == 'mathml') {
+        return 'http://www.w3.org/1998/Math/MathML';
+    } else {
+        throw new Error("Unknown namespace: " + prefix + ".");
+    }
+}
+
+BrowserBot.prototype._findElementUsingFullXPath = function(xpath, inDocument, inWindow) {
+    // HUGE hack - remove namespace from xpath for IE
+    if (browserVersion.isIE) {
+        xpath = xpath.replace(/x:/g, '')
+    }
+
+    // Use document.evaluate() if it's available
+    if (inDocument.evaluate) {
+        return inDocument.evaluate(xpath, inDocument, this._namespaceResolver, 0, null).iterateNext();
+    }
+
+    // If not, fall back to slower JavaScript implementation
+    var context = new ExprContext(inDocument);
+    var xpathObj = xpathParse(xpath);
+    var xpathResult = xpathObj.evaluate(context);
+    if (xpathResult && xpathResult.value) {
+        return xpathResult.value[0];
+    }
+    return null;
+};
+
+/**
+ * Finds a link element with text matching the expression supplied. Expressions must
+ * begin with "link:".
+ */
+BrowserBot.prototype.locateElementByLinkText = function(linkText, inDocument, inWindow) {
+    var links = inDocument.getElementsByTagName('a');
+    for (var i = 0; i < links.length; i++) {
+        var element = links[i];
+        if (PatternMatcher.matches(linkText, getText(element))) {
+            return element;
+        }
+    }
+    return null;
+};
+BrowserBot.prototype.locateElementByLinkText.prefix = "link";
+
+/**
+ * Returns an attribute based on an attribute locator. This is made up of an element locator
+ * suffixed with @attribute-name.
+ */
+BrowserBot.prototype.findAttribute = function(locator) {
+    // Split into locator + attributeName
+    var attributePos = locator.lastIndexOf("@");
+    var elementLocator = locator.slice(0, attributePos);
+    var attributeName = locator.slice(attributePos + 1);
+
+    // Find the element.
+    var element = this.findElement(elementLocator);
+
+    // Handle missing "class" attribute in IE.
+    if (browserVersion.isIE && attributeName == "class") {
+        attributeName = "className";
+    }
+
+    // Get the attribute value.
+    var attributeValue = element.getAttribute(attributeName);
+
+    return attributeValue ? attributeValue.toString() : null;
+};
+
+/*
+* Select the specified option and trigger the relevant events of the element.
+*/
+BrowserBot.prototype.selectOption = function(element, optionToSelect) {
+    triggerEvent(element, 'focus', false);
+    var changed = false;
+    for (var i = 0; i < element.options.length; i++) {
+        var option = element.options[i];
+        if (option.selected && option != optionToSelect) {
+            option.selected = false;
+            changed = true;
+        }
+        else if (!option.selected && option == optionToSelect) {
+            option.selected = true;
+            changed = true;
+        }
+    }
+
+    if (changed) {
+        triggerEvent(element, 'change', true);
+    }
+};
+
+/*
+* Select the specified option and trigger the relevant events of the element.
+*/
+BrowserBot.prototype.addSelection = function(element, option) {
+    this.checkMultiselect(element);
+    triggerEvent(element, 'focus', false);
+    if (!option.selected) {
+        option.selected = true;
+        triggerEvent(element, 'change', true);
+    }
+};
+
+/*
+* Select the specified option and trigger the relevant events of the element.
+*/
+BrowserBot.prototype.removeSelection = function(element, option) {
+    this.checkMultiselect(element);
+    triggerEvent(element, 'focus', false);
+    if (option.selected) {
+        option.selected = false;
+        triggerEvent(element, 'change', true);
+    }
+};
+
+BrowserBot.prototype.checkMultiselect = function(element) {
+    if (!element.multiple)
+    {
+        throw new SeleniumError("Not a multi-select");
+    }
+
+};
+
+BrowserBot.prototype.replaceText = function(element, stringValue) {
+    triggerEvent(element, 'focus', false);
+    triggerEvent(element, 'select', true);
+    var maxLengthAttr = element.getAttribute("maxLength");
+    var actualValue = stringValue;
+    if (maxLengthAttr != null) {
+        var maxLength = parseInt(maxLengthAttr);
+        if (stringValue.length > maxLength) {
+            LOG.warn("BEFORE")
+            actualValue = stringValue.substr(0, maxLength);
+            LOG.warn("AFTER")
+        }
+    }
+    
+    if (getTagName(element) == "body") {
+        if (element.ownerDocument && element.ownerDocument.designMode) {
+            var designMode = new String(element.ownerDocument.designMode).toLowerCase();
+            if (designMode = "on") {
+                // this must be a rich text control!
+                element.innerHTML = actualValue;
+            }
+        }
+    } else {
+        element.value = actualValue;
+    }
+    // DGF this used to be skipped in chrome URLs, but no longer.  Is xpcnativewrappers to blame?
+    try {
+        triggerEvent(element, 'change', true);
+    } catch (e) {}
+};
+
+BrowserBot.prototype.submit = function(formElement) {
+    var actuallySubmit = true;
+    this._modifyElementTarget(formElement);
+    if (formElement.onsubmit) {
+        if (browserVersion.isHTA) {
+            // run the code in the correct window so alerts are handled correctly even in HTA mode
+            var win = this.browserbot.getCurrentWindow();
+            var now = new Date().getTime();
+            var marker = 'marker' + now;
+            win[marker] = formElement;
+            win.setTimeout("var actuallySubmit = "+marker+".onsubmit();" +
+                "if (actuallySubmit) { " +
+                    marker+".submit(); " +
+                    "if ("+marker+".target && !/^_/.test("+marker+".target)) {"+
+                        "window.open('', "+marker+".target);"+
+                    "}"+
+                "};"+
+                marker+"=null", 0);
+            // pause for up to 2s while this command runs
+            var terminationCondition = function () {
+                return !win[marker];
+            }
+            return Selenium.decorateFunctionWithTimeout(terminationCondition, 2000);
+        } else {
+            actuallySubmit = formElement.onsubmit();
+            if (actuallySubmit) {
+                formElement.submit();
+                if (formElement.target && !/^_/.test(formElement.target)) {
+                    this.browserbot.openWindow('', formElement.target);
+                }
+            }
+        }
+    } else {
+        formElement.submit();
+    }
+}
+
+BrowserBot.prototype.clickElement = function(element, clientX, clientY) {
+       this._fireEventOnElement("click", element, clientX, clientY);
+};
+    
+BrowserBot.prototype.doubleClickElement = function(element, clientX, clientY) {
+       this._fireEventOnElement("dblclick", element, clientX, clientY);
+};
+
+BrowserBot.prototype._modifyElementTarget = function(element) {
+    if (element.target) {
+        if (element.target == "_blank" || /^selenium_blank/.test(element.target) ) {
+            var tagName = getTagName(element);
+            if (tagName == "a" || tagName == "form") {
+                var newTarget = "selenium_blank" + Math.round(100000 * Math.random());
+                LOG.warn("Link has target '_blank', which is not supported in Selenium!  Randomizing target to be: " + newTarget);
+                this.browserbot.openWindow('', newTarget);
+                element.target = newTarget;
+            }
+        }
+    }
+}
+
+
+BrowserBot.prototype._handleClickingImagesInsideLinks = function(targetWindow, element) {
+    if (element.parentNode && element.parentNode.href) {
+        targetWindow.location.href = element.parentNode.href;
+    }
+}
+
+BrowserBot.prototype._getTargetWindow = function(element) {
+    var targetWindow = element.ownerDocument.defaultView;
+    if (element.target) {
+        targetWindow = this._getFrameFromGlobal(element.target);
+    }
+    return targetWindow;
+}
+
+BrowserBot.prototype._getFrameFromGlobal = function(target) {
+    
+    if (target == "_top") {
+        return this.topFrame;
+    } else if (target == "_parent") {
+        return this.getCurrentWindow().parent;
+    } else if (target == "_blank") {
+        // TODO should this set cleverer window defaults?
+        return this.getCurrentWindow().open('', '_blank');
+    }
+    var frameElement = this.findElementBy("implicit", target, this.topFrame.document, this.topFrame);
+    if (frameElement) {
+        return frameElement.contentWindow;
+    }
+    var win = this.getWindowByName(target);
+    if (win) return win;
+    return this.getCurrentWindow().open('', target);
+}
+
+
+BrowserBot.prototype.bodyText = function() {
+    return getText(this.getDocument().body);
+};
+
+BrowserBot.prototype.getAllButtons = function() {
+    var elements = this.getDocument().getElementsByTagName('input');
+    var result = '';
+
+    for (var i = 0; i < elements.length; i++) {
+        if (elements[i].type == 'button' || elements[i].type == 'submit' || elements[i].type == 'reset') {
+            result += elements[i].id;
+
+            result += ',';
+        }
+    }
+
+    return result;
+};
+
+
+BrowserBot.prototype.getAllFields = function() {
+    var elements = this.getDocument().getElementsByTagName('input');
+    var result = '';
+
+    for (var i = 0; i < elements.length; i++) {
+        if (elements[i].type == 'text') {
+            result += elements[i].id;
+
+            result += ',';
+        }
+    }
+
+    return result;
+};
+
+BrowserBot.prototype.getAllLinks = function() {
+    var elements = this.getDocument().getElementsByTagName('a');
+    var result = '';
+
+    for (var i = 0; i < elements.length; i++) {
+        result += elements[i].id;
+
+        result += ',';
+    }
+
+    return result;
+};
+
+BrowserBot.prototype.setContext = function(strContext, logLevel) {
+
+    //set the current test title
+    var ctx = document.getElementById("context");
+    if (ctx != null) {
+        ctx.innerHTML = strContext;
+    }
+    if (logLevel != null) {
+        LOG.setLogLevelThreshold(logLevel);
+    }
+};
+
+function isDefined(value) {
+    return typeof(value) != undefined;
+}
+
+BrowserBot.prototype.goBack = function() {
+    this.getCurrentWindow().history.back();
+};
+
+BrowserBot.prototype.goForward = function() {
+    this.getCurrentWindow().history.forward();
+};
+
+BrowserBot.prototype.close = function() {
+    if (browserVersion.isChrome || browserVersion.isSafari || browserVersion.isOpera) {
+        this.getCurrentWindow().close();
+    } else {
+        this.getCurrentWindow().eval("window.close();");
+    }
+};
+
+BrowserBot.prototype.refresh = function() {
+    this.getCurrentWindow().location.reload(true);
+};
+
+/**
+ * Refine a list of elements using a filter.
+ */
+BrowserBot.prototype.selectElementsBy = function(filterType, filter, elements) {
+    var filterFunction = BrowserBot.filterFunctions[filterType];
+    if (! filterFunction) {
+        throw new SeleniumError("Unrecognised element-filter type: '" + filterType + "'");
+    }
+
+    return filterFunction(filter, elements);
+};
+
+BrowserBot.filterFunctions = {};
+
+BrowserBot.filterFunctions.name = function(name, elements) {
+    var selectedElements = [];
+    for (var i = 0; i < elements.length; i++) {
+        if (elements[i].name === name) {
+            selectedElements.push(elements[i]);
+        }
+    }
+    return selectedElements;
+};
+
+BrowserBot.filterFunctions.value = function(value, elements) {
+    var selectedElements = [];
+    for (var i = 0; i < elements.length; i++) {
+        if (elements[i].value === value) {
+            selectedElements.push(elements[i]);
+        }
+    }
+    return selectedElements;
+};
+
+BrowserBot.filterFunctions.index = function(index, elements) {
+    index = Number(index);
+    if (isNaN(index) || index < 0) {
+        throw new SeleniumError("Illegal Index: " + index);
+    }
+    if (elements.length <= index) {
+        throw new SeleniumError("Index out of range: " + index);
+    }
+    return [elements[index]];
+};
+
+BrowserBot.prototype.selectElements = function(filterExpr, elements, defaultFilterType) {
+
+    var filterType = (defaultFilterType || 'value');
+
+    // If there is a filter prefix, use the specified strategy
+    var result = filterExpr.match(/^([A-Za-z]+)=(.+)/);
+    if (result) {
+        filterType = result[1].toLowerCase();
+        filterExpr = result[2];
+    }
+
+    return this.selectElementsBy(filterType, filterExpr, elements);
+};
+
+/**
+ * Find an element by class
+ */
+BrowserBot.prototype.locateElementByClass = function(locator, document) {
+    return elementFindFirstMatchingChild(document,
+            function(element) {
+                return element.className == locator
+            }
+            );
+}
+
+/**
+ * Find an element by alt
+ */
+BrowserBot.prototype.locateElementByAlt = function(locator, document) {
+    return elementFindFirstMatchingChild(document,
+            function(element) {
+                return element.alt == locator
+            }
+            );
+}
+
+/**
+ * Find an element by css selector
+ */
+BrowserBot.prototype.locateElementByCss = function(locator, document) {
+    var elements = cssQuery(locator, document);
+    if (elements.length != 0)
+        return elements[0];
+    return null;
+}
+
+
+/*****************************************************************/
+/* BROWSER-SPECIFIC FUNCTIONS ONLY AFTER THIS LINE */
+
+function MozillaBrowserBot(frame) {
+    BrowserBot.call(this, frame);
+}
+objectExtend(MozillaBrowserBot.prototype, BrowserBot.prototype);
+
+function KonquerorBrowserBot(frame) {
+    BrowserBot.call(this, frame);
+}
+objectExtend(KonquerorBrowserBot.prototype, BrowserBot.prototype);
+
+KonquerorBrowserBot.prototype.setIFrameLocation = function(iframe, location) {
+    // Window doesn't fire onload event when setting src to the current value,
+    // so we set it to blank first.
+    iframe.src = "about:blank";
+    iframe.src = location;
+};
+
+KonquerorBrowserBot.prototype.setOpenLocation = function(win, loc) {
+    // Window doesn't fire onload event when setting src to the current value,
+    // so we just refresh in that case instead.
+    loc = absolutify(loc, this.baseUrl);
+    loc = canonicalize(loc);
+    var startLoc = parseUrl(win.location.href);
+    startLoc.hash = null;
+    var startUrl = reassembleLocation(startLoc);
+    LOG.debug("startUrl="+startUrl);
+    LOG.debug("win.location.href="+win.location.href);
+    LOG.debug("loc="+loc);
+    if (startUrl == loc) {
+        LOG.debug("opening exact same location");
+        this.refresh();
+    } else {
+        LOG.debug("locations differ");
+        win.location.href = loc;
+    }
+    // force the current polling thread to detect a page load
+    var marker = this.isPollingForLoad(win);
+    if (marker) {
+        delete win.location[marker];
+    }
+};
+
+KonquerorBrowserBot.prototype._isSameDocument = function(originalDocument, currentDocument) {
+    // under Konqueror, there may be this case:
+    // originalDocument and currentDocument are different objects
+    // while their location are same.
+    if (originalDocument) {
+        return originalDocument.location == currentDocument.location
+    } else {
+        return originalDocument === currentDocument;
+    }
+};
+
+function SafariBrowserBot(frame) {
+    BrowserBot.call(this, frame);
+}
+objectExtend(SafariBrowserBot.prototype, BrowserBot.prototype);
+
+SafariBrowserBot.prototype.setIFrameLocation = KonquerorBrowserBot.prototype.setIFrameLocation;
+SafariBrowserBot.prototype.setOpenLocation = KonquerorBrowserBot.prototype.setOpenLocation;
+
+
+function OperaBrowserBot(frame) {
+    BrowserBot.call(this, frame);
+}
+objectExtend(OperaBrowserBot.prototype, BrowserBot.prototype);
+OperaBrowserBot.prototype.setIFrameLocation = function(iframe, location) {
+    if (iframe.src == location) {
+        iframe.src = location + '?reload';
+    } else {
+        iframe.src = location;
+    }
+}
+
+function IEBrowserBot(frame) {
+    BrowserBot.call(this, frame);
+}
+objectExtend(IEBrowserBot.prototype, BrowserBot.prototype);
+
+IEBrowserBot.prototype._handleClosedSubFrame = function(testWindow, doNotModify) {
+    if (this.proxyInjectionMode) {
+        return testWindow;
+    }
+    
+    try {
+        testWindow.location.href;
+        this.permDenied = 0;
+    } catch (e) {
+        this.permDenied++;
+    }
+    if (this._windowClosed(testWindow) || this.permDenied > 4) {
+        if (this.isSubFrameSelected) {
+            LOG.warn("Current subframe appears to have closed; selecting top frame");
+            this.selectFrame("relative=top");
+            return this.getCurrentWindow(doNotModify);
+        } else {
+            var closedError = new SeleniumError("Current window or frame is closed!");
+            closedError.windowClosed = true;
+            throw closedError;
+        }
+    }
+    return testWindow;
+};
+
+IEBrowserBot.prototype.modifyWindowToRecordPopUpDialogs = function(windowToModify, browserBot) {
+    BrowserBot.prototype.modifyWindowToRecordPopUpDialogs(windowToModify, browserBot);
+
+    // we will call the previous version of this method from within our own interception
+    oldShowModalDialog = windowToModify.showModalDialog;
+
+    windowToModify.showModalDialog = function(url, args, features) {
+        // Get relative directory to where TestRunner.html lives
+        // A risky assumption is that the user's TestRunner is named TestRunner.html
+        var doc_location = document.location.toString();
+        var end_of_base_ref = doc_location.indexOf('TestRunner.html');
+        var base_ref = doc_location.substring(0, end_of_base_ref);
+
+        var fullURL = base_ref + "TestRunner.html?singletest=" + escape(browserBot.modalDialogTest) + "&autoURL=" + escape(url) + "&runInterval=" + runOptions.runInterval;
+        browserBot.modalDialogTest = null;
+
+        var returnValue = oldShowModalDialog(fullURL, args, features);
+        return returnValue;
+    };
+};
+
+IEBrowserBot.prototype.modifySeparateTestWindowToDetectPageLoads = function(windowObject) {
+    this.pageUnloading = false;
+    var self = this;
+    var pageUnloadDetector = function() {
+        self.pageUnloading = true;
+    };
+    windowObject.attachEvent("onbeforeunload", pageUnloadDetector);
+    BrowserBot.prototype.modifySeparateTestWindowToDetectPageLoads.call(this, windowObject);
+};
+
+IEBrowserBot.prototype.pollForLoad = function(loadFunction, windowObject, originalDocument, originalLocation, originalHref, marker) {
+    LOG.debug("IEBrowserBot.pollForLoad: " + marker);
+    if (!this.permDeniedCount[marker]) this.permDeniedCount[marker] = 0;
+    BrowserBot.prototype.pollForLoad.call(this, loadFunction, windowObject, originalDocument, originalLocation, originalHref, marker);
+    if (this.pageLoadError) {
+        if (this.pageUnloading) {
+            var self = this;
+            LOG.warn("pollForLoad UNLOADING (" + marker + "): caught exception while firing events on unloading page: " + this.pageLoadError.message);
+            this.reschedulePoller(loadFunction, windowObject, originalDocument, originalLocation, originalHref, marker);
+            this.pageLoadError = null;
+            return;
+        } else if (((this.pageLoadError.message == "Permission denied") || (/^Access is denied/.test(this.pageLoadError.message)))
+                && this.permDeniedCount[marker]++ < 8) {
+            if (this.permDeniedCount[marker] > 4) {
+                var canAccessThisWindow;
+                var canAccessCurrentlySelectedWindow;
+                try {
+                    windowObject.location.href;
+                    canAccessThisWindow = true;
+                } catch (e) {}
+                try {
+                    this.getCurrentWindow(true).location.href;
+                    canAccessCurrentlySelectedWindow = true;
+                } catch (e) {}
+                if (canAccessCurrentlySelectedWindow & !canAccessThisWindow) {
+                    LOG.warn("pollForLoad (" + marker + ") ABORTING: " + this.pageLoadError.message + " (" + this.permDeniedCount[marker] + "), but the currently selected window is fine");
+                    // returning without rescheduling
+                    this.pageLoadError = null;
+                    return;
+                }
+            }
+            
+            var self = this;
+            LOG.warn("pollForLoad (" + marker + "): " + this.pageLoadError.message + " (" + this.permDeniedCount[marker] + "), waiting to see if it goes away");
+            this.reschedulePoller(loadFunction, windowObject, originalDocument, originalLocation, originalHref, marker);
+            this.pageLoadError = null;
+            return;
+        }
+        //handy for debugging!
+        //throw this.pageLoadError;
+    }
+};
+
+IEBrowserBot.prototype._windowClosed = function(win) {
+    try {
+        var c = win.closed;
+        // frame windows claim to be non-closed when their parents are closed
+        // but you can't access their document objects in that case
+        if (!c) {
+            try {
+                win.document;
+            } catch (de) {
+                if (de.message == "Permission denied") {
+                    // the window is probably unloading, which means it's probably not closed yet
+                    return false;
+                }
+                else if (/^Access is denied/.test(de.message)) {
+                    // rare variation on "Permission denied"?
+                    LOG.debug("IEBrowserBot.windowClosed: got " + de.message + " (this.pageUnloading=" + this.pageUnloading + "); assuming window is unloading, probably not closed yet");
+                    return false;
+                } else {
+                    // this is probably one of those frame window situations
+                    LOG.debug("IEBrowserBot.windowClosed: couldn't read win.document, assume closed: " + de.message + " (this.pageUnloading=" + this.pageUnloading + ")");
+                    return true;
+                }
+            }
+        }
+        if (c == null) {
+            LOG.debug("IEBrowserBot.windowClosed: win.closed was null, assuming closed");
+            return true;
+        }
+        return c;
+    } catch (e) {
+        LOG.debug("IEBrowserBot._windowClosed: Got an exception trying to read win.closed; we'll have to take a guess!");
+            
+        if (browserVersion.isHTA) {
+            if (e.message == "Permission denied") {
+                // the window is probably unloading, which means it's not closed yet
+                return false;
+            } else {
+                // there's a good chance that we've lost contact with the window object if it is closed
+                return true;
+            }
+        } else {
+            // the window is probably unloading, which means it's not closed yet
+            return false;
+        }
+    }
+};
+
+/**
+ * In IE, getElementById() also searches by name - this is an optimisation for IE.
+ */
+IEBrowserBot.prototype.locateElementByIdentifer = function(identifier, inDocument, inWindow) {
+    return inDocument.getElementById(identifier);
+};
+
+SafariBrowserBot.prototype.modifyWindowToRecordPopUpDialogs = function(windowToModify, browserBot) {
+    BrowserBot.prototype.modifyWindowToRecordPopUpDialogs(windowToModify, browserBot);
+
+    var originalOpen = windowToModify.open;
+    /*
+     * Safari seems to be broken, so that when we manually trigger the onclick method
+     * of a button/href, any window.open calls aren't resolved relative to the app location.
+     * So here we replace the open() method with one that does resolve the url correctly.
+     */
+    windowToModify.open = function(url, windowName, windowFeatures, replaceFlag) {
+
+        if (url.startsWith("http://") || url.startsWith("https://") || url.startsWith("/")) {
+            return originalOpen(url, windowName, windowFeatures, replaceFlag);
+        }
+
+        // Reduce the current path to the directory
+        var currentPath = windowToModify.location.pathname || "/";
+        currentPath = currentPath.replace(/\/[^\/]*$/, "/");
+
+        // Remove any leading "./" from the new url.
+        url = url.replace(/^\.\//, "");
+
+        newUrl = currentPath + url;
+
+        var openedWindow = originalOpen(newUrl, windowName, windowFeatures, replaceFlag);
+        LOG.debug("window.open call intercepted; window ID (which you can use with selectWindow()) is \"" +  windowName + "\"");
+        if (windowName!=null) {
+        	openedWindow["seleniumWindowName"] = windowName;
+        }
+        return openedWindow;
+    };
+};
+
+MozillaBrowserBot.prototype._fireEventOnElement = function(eventType, element, clientX, clientY) {
+    var win = this.getCurrentWindow();
+    triggerEvent(element, 'focus', false);
+
+    // Add an event listener that detects if the default action has been prevented.
+    // (This is caused by a javascript onclick handler returning false)
+    // we capture the whole event, rather than the getPreventDefault() state at the time,
+    // because we need to let the entire event bubbling and capturing to go through
+    // before making a decision on whether we should force the href
+    var savedEvent = null;
+
+    element.addEventListener(eventType, function(evt) {
+        savedEvent = evt;
+    }, false);
+    
+    this._modifyElementTarget(element);
+
+    // Trigger the event.
+    this.browserbot.triggerMouseEvent(element, eventType, true, clientX, clientY);
+
+    if (this._windowClosed(win)) {
+        return;
+    }
+    
+    // Perform the link action if preventDefault was set.
+    // In chrome URL, the link action is already executed by triggerMouseEvent.
+    if (!browserVersion.isChrome && savedEvent != null && !savedEvent.getPreventDefault()) {
+        var targetWindow = this.browserbot._getTargetWindow(element);
+        if (element.href) {
+            targetWindow.location.href = element.href;
+        } else {
+            this.browserbot._handleClickingImagesInsideLinks(targetWindow, element);
+        }
+    }
+
+};
+
+
+OperaBrowserBot.prototype._fireEventOnElement = function(eventType, element, clientX, clientY) {
+    var win = this.getCurrentWindow();
+    triggerEvent(element, 'focus', false);
+    
+    this._modifyElementTarget(element);
+
+    // Trigger the click event.
+    this.browserbot.triggerMouseEvent(element, eventType, true, clientX, clientY);
+
+    if (this._windowClosed(win)) {
+        return;
+    }
+
+};
+
+
+KonquerorBrowserBot.prototype._fireEventOnElement = function(eventType, element, clientX, clientY) {
+    var win = this.getCurrentWindow();
+    triggerEvent(element, 'focus', false);
+    
+    this._modifyElementTarget(element);
+
+    if (element[eventType]) {
+    	element[eventType]();
+    }
+    else {
+        this.browserbot.triggerMouseEvent(element, eventType, true, clientX, clientY);
+    }
+
+    if (this._windowClosed(win)) {
+        return;
+    }
+
+};
+
+SafariBrowserBot.prototype._fireEventOnElement = function(eventType, element, clientX, clientY) {
+    triggerEvent(element, 'focus', false);
+    var wasChecked = element.checked;
+    
+    this._modifyElementTarget(element);
+
+    // For form element it is simple.
+    if (element[eventType]) {
+    	element[eventType]();
+    }
+    // For links and other elements, event emulation is required.
+    else {
+        var targetWindow = this.browserbot._getTargetWindow(element);
+        // todo: deal with anchors?
+        this.browserbot.triggerMouseEvent(element, eventType, true, clientX, clientY);
+
+    }
+
+};
+
+SafariBrowserBot.prototype.refresh = function() {
+    var win = this.getCurrentWindow();
+    if (win.location.hash) {
+        // DGF Safari refuses to refresh when there's a hash symbol in the URL
+        win.location.hash = "";
+        var actuallyReload = function() {
+            win.location.reload(true);
+        }
+        window.setTimeout(actuallyReload, 1);
+    } else {
+        win.location.reload(true);
+    }
+};
+
+IEBrowserBot.prototype._fireEventOnElement = function(eventType, element, clientX, clientY) {
+    var win = this.getCurrentWindow();
+    triggerEvent(element, 'focus', false);
+
+    var wasChecked = element.checked;
+
+    // Set a flag that records if the page will unload - this isn't always accurate, because
+    // <a href="javascript:alert('foo'):"> triggers the onbeforeunload event, even thought the page won't unload
+    var pageUnloading = false;
+    var pageUnloadDetector = function() {
+        pageUnloading = true;
+    };
+    win.attachEvent("onbeforeunload", pageUnloadDetector);
+    this._modifyElementTarget(element);
+    if (element[eventType]) {
+    	element[eventType]();
+    }
+    else {
+        this.browserbot.triggerMouseEvent(element, eventType, true, clientX, clientY);
+    }
+
+
+    // If the page is going to unload - still attempt to fire any subsequent events.
+    // However, we can't guarantee that the page won't unload half way through, so we need to handle exceptions.
+    try {
+        win.detachEvent("onbeforeunload", pageUnloadDetector);
+
+        if (this._windowClosed(win)) {
+            return;
+        }
+
+        // Onchange event is not triggered automatically in IE.
+        if (isDefined(element.checked) && wasChecked != element.checked) {
+            triggerEvent(element, 'change', true);
+        }
+
+    }
+    catch (e) {
+        // If the page is unloading, we may get a "Permission denied" or "Unspecified error".
+        // Just ignore it, because the document may have unloaded.
+        if (pageUnloading) {
+            LOG.logHook = function() {
+            };
+            LOG.warn("Caught exception when firing events on unloading page: " + e.message);
+            return;
+        }
+        throw e;
+    }
+};
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/injection.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/injection.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/injection.html	(revision 4307)
@@ -0,0 +1,79 @@
+<script language="JavaScript">
+    if (window["selenium_has_been_loaded_into_this_window"]==null)
+    {
+
+        __SELENIUM_JS__
+
+// Some background on the code below: broadly speaking, where we are relative to other windows
+// when running in proxy injection mode depends on whether we are in a frame set file or not.
+//
+// In regular HTML files, the selenium JavaScript is injected into an iframe called "selenium"
+// in order to reduce its impact on the JavaScript environment (through namespace pollution,
+// etc.).  So in regular HTML files, we need to look at the parent of the current window when we want
+// a handle to, e.g., the application window.
+//
+// In frame set files, we can't use an iframe, so we put the JavaScript in the head element and share
+// the window with the frame set.  So in this case, we need to look at the current window, not the
+// parent when looking for, e.g., the application window.  (TODO: Perhaps I should have just
+// assigned a regular frame for selenium?)
+//
+BrowserBot.prototype.getContentWindow = function() {
+    if (window["seleniumInSameWindow"] != null) return window;
+    return window.parent;
+};
+
+BrowserBot.prototype.getTargetWindow = function(windowName) {
+    if (window["seleniumInSameWindow"] != null) return window;
+    return window.parent;
+};
+
+BrowserBot.prototype.getCurrentWindow = function() {
+    if (window["seleniumInSameWindow"] != null) return window;
+    return window.parent;
+};
+
+LOG.openLogWindow = function(message, className) {
+	// disable for now
+};
+
+BrowserBot.prototype.relayToRC = function(name) {
+	var object = eval(name);
+        var s = 'state:' + serializeObject(name, object) + "\n";
+        sendToRC(s,"state=true");
+}
+
+BrowserBot.prototype.relayBotToRC = function(s) {
+	this.relayToRC("selenium." + s);
+}
+
+function selenium_frameRunTest(oldOnLoadRoutine) {
+	if (oldOnLoadRoutine) {
+		eval(oldOnLoadRoutine);
+	}
+        runSeleniumTest();
+}
+
+function seleniumOnLoad() {
+    	injectedSessionId = @SESSION_ID@;
+        window["selenium_has_been_loaded_into_this_window"] = true;
+        runSeleniumTest();
+}
+
+function seleniumOnUnload() {
+	sendToRC("OK"); // just in case some poor PI server thread is waiting for a response
+}
+
+if (window.addEventListener) {
+    	window.addEventListener("load", seleniumOnLoad, false);	// firefox
+    	window.addEventListener("unload", seleniumOnUnload, false);	// firefox
+} else if (window.attachEvent){
+    	window.attachEvent("onload", seleniumOnLoad);	// IE
+    	window.attachEvent("onunload", seleniumOnUnload);	// IE
+}
+else {
+    	throw "causing a JavaScript error to tell the world that I did not arrange to be run on load";
+}
+
+injectedSessionId = @SESSION_ID@;
+}
+</script>
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-executionloop.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-executionloop.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-executionloop.js	(revision 4307)
@@ -0,0 +1,177 @@
+/*
+* Copyright 2004 ThoughtWorks, Inc
+*
+*  Licensed under the Apache License, Version 2.0 (the "License");
+*  you may not use this file except in compliance with the License.
+*  You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing, software
+*  distributed under the License is distributed on an "AS IS" BASIS,
+*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*  See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+
+function TestLoop(commandFactory) {
+    this.commandFactory = commandFactory;
+}
+
+TestLoop.prototype = {
+
+    start : function() {
+        selenium.reset();
+        LOG.debug("currentTest.start()");
+        this.continueTest();
+    },
+
+    continueTest : function() {
+        /**
+         * Select the next command and continue the test.
+         */
+        LOG.debug("currentTest.continueTest() - acquire the next command");
+        if (! this.aborted) {
+            this.currentCommand = this.nextCommand();
+        }
+        if (! this.requiresCallBack) {
+            this.continueTestAtCurrentCommand();
+        } // otherwise, just finish and let the callback invoke continueTestAtCurrentCommand()
+    },
+
+    continueTestAtCurrentCommand : function() {
+        LOG.debug("currentTest.continueTestAtCurrentCommand()");
+        if (this.currentCommand) {
+            // TODO: rename commandStarted to commandSelected, OR roll it into nextCommand
+            this.commandStarted(this.currentCommand);
+            this._resumeAfterDelay();
+        } else {
+            this._testComplete();
+        }
+    },
+
+    _resumeAfterDelay : function() {
+        /**
+         * Pause, then execute the current command.
+         */
+
+        // Get the command delay. If a pauseInterval is set, use it once
+        // and reset it.  Otherwise, use the defined command-interval.
+        var delay = this.pauseInterval || this.getCommandInterval();
+        this.pauseInterval = undefined;
+
+        if (this.currentCommand.isBreakpoint || delay < 0) {
+            // Pause: enable the "next/continue" button
+            this.pause();
+        } else {
+            window.setTimeout(fnBind(this.resume, this), delay);
+        }
+    },
+
+    resume: function() {
+        /**
+         * Select the next command and continue the test.
+         */
+        LOG.debug("currentTest.resume() - actually execute");
+        try {
+            selenium.browserbot.runScheduledPollers();
+            this._executeCurrentCommand();
+            this.continueTestWhenConditionIsTrue();
+        } catch (e) {
+            if (!this._handleCommandError(e)) {
+                this._testComplete();
+            } else {
+                this.continueTest();
+            }
+        }
+    },
+
+    _testComplete : function() {
+        selenium.ensureNoUnhandledPopups();
+        this.testComplete();
+    },
+
+    _executeCurrentCommand : function() {
+        /**
+         * Execute the current command.
+         *
+         * @return a function which will be used to determine when
+         * execution can continue, or null if we can continue immediately
+         */
+        var command = this.currentCommand;
+        LOG.info("Executing: |" + command.command + " | " + command.target + " | " + command.value + " |");
+
+        var handler = this.commandFactory.getCommandHandler(command.command);
+        if (handler == null) {
+            throw new SeleniumError("Unknown command: '" + command.command + "'");
+        }
+
+        command.target = selenium.preprocessParameter(command.target);
+        command.value = selenium.preprocessParameter(command.value);
+        LOG.debug("Command found, going to execute " + command.command);
+        this.result = handler.execute(selenium, command);
+        
+
+        this.waitForCondition = this.result.terminationCondition;
+
+    },
+
+    _handleCommandError : function(e) {
+        if (!e.isSeleniumError) {
+            LOG.exception(e);
+            var msg = "Selenium failure. Please report to selenium-dev@openqa.org, with error details from the log window.";
+            if (e.message) {
+                msg += "  The error message is: " + e.message;
+            }
+            return this.commandError(msg);
+        } else {
+            LOG.error(e.message);
+            return this.commandError(e.message);
+        }
+    },
+
+    continueTestWhenConditionIsTrue: function () {
+        /**
+         * Busy wait for waitForCondition() to become true, and then carry
+         * on with test.  Fail the current test if there's a timeout or an
+         * exception.
+         */
+        //LOG.debug("currentTest.continueTestWhenConditionIsTrue()");
+        selenium.browserbot.runScheduledPollers();
+        try {
+            if (this.waitForCondition == null) {
+                LOG.debug("null condition; let's continueTest()");
+                LOG.debug("Command complete");
+                this.commandComplete(this.result);
+                this.continueTest();
+            } else if (this.waitForCondition()) {
+                LOG.debug("condition satisfied; let's continueTest()");
+                this.waitForCondition = null;
+                LOG.debug("Command complete");
+                this.commandComplete(this.result);
+                this.continueTest();
+            } else {
+                //LOG.debug("waitForCondition was false; keep waiting!");
+                window.setTimeout(fnBind(this.continueTestWhenConditionIsTrue, this), 10);
+            }
+        } catch (e) {
+            this.result = {};
+            this.result.failed = true;
+            this.result.failureMessage = extractExceptionMessage(e);
+            this.commandComplete(this.result);
+            this.continueTest();
+        }
+    },
+
+    pause : function() {},
+    nextCommand : function() {},
+    commandStarted : function() {},
+    commandComplete : function() {},
+    commandError : function() {},
+    testComplete : function() {},
+
+    getCommandInterval : function() {
+        return 0;
+    }
+
+}
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-commandhandlers.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-commandhandlers.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-commandhandlers.js	(revision 4307)
@@ -0,0 +1,375 @@
+/*
+* Copyright 2004 ThoughtWorks, Inc
+*
+*  Licensed under the Apache License, Version 2.0 (the "License");
+*  you may not use this file except in compliance with the License.
+*  You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing, software
+*  distributed under the License is distributed on an "AS IS" BASIS,
+*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*  See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+
+// A naming convention used in this file:
+//
+//
+//   - a "seleniumApi" is an instance of the Selenium object, defined in selenium-api.js.
+//
+//   - a "Method" is an unbound function whose target must be supplied when it's called, ie.
+//     it should be invoked using Function.call() or Function.apply()
+//
+//   - a "Block" is a function that has been bound to a target object, so can be called invoked directly
+//     (or with a null target)
+//
+//   - "CommandHandler" is effectively an abstract base for
+//     various handlers including ActionHandler, AccessorHandler and AssertHandler.
+//     Subclasses need to implement an execute(seleniumApi, command) function,
+//     where seleniumApi is the Selenium object, and command a SeleniumCommand object.
+//
+//   - Handlers will return a "result" object (ActionResult, AccessorResult, AssertResult).
+//     ActionResults may contain a .terminationCondition function which is run by 
+//     -executionloop.js after the command is run; we'll run it over and over again
+//     until it returns true or the .terminationCondition throws an exception.
+//     AccessorResults will contain the results of running getter (e.g. getTitle returns
+//     the title as a string).
+
+var CommandHandlerFactory = classCreate();
+objectExtend(CommandHandlerFactory.prototype, {
+
+    initialize: function() {
+        this.handlers = {};
+    },
+
+    registerAction: function(name, actionBlock, wait, dontCheckAlertsAndConfirms) {
+        this.handlers[name] = new ActionHandler(actionBlock, wait, dontCheckAlertsAndConfirms);
+    },
+
+    registerAccessor: function(name, accessBlock) {
+        this.handlers[name] = new AccessorHandler(accessBlock);
+    },
+
+    registerAssert: function(name, assertBlock, haltOnFailure) {
+        this.handlers[name] = new AssertHandler(assertBlock, haltOnFailure);
+    },
+
+    getCommandHandler: function(name) {
+        return this.handlers[name];
+    },
+
+    _registerAllAccessors: function(seleniumApi) {
+        // Methods of the form getFoo(target) result in commands:
+        // getFoo, assertFoo, verifyFoo, assertNotFoo, verifyNotFoo
+        // storeFoo, waitForFoo, and waitForNotFoo.
+        for (var functionName in seleniumApi) {
+            var match = /^(get|is)([A-Z].+)$/.exec(functionName);
+            if (match) {
+                var accessMethod = seleniumApi[functionName];
+                var accessBlock = fnBind(accessMethod, seleniumApi);
+                var baseName = match[2];
+                var isBoolean = (match[1] == "is");
+                var requiresTarget = (accessMethod.length == 1);
+
+                this.registerAccessor(functionName, accessBlock);
+                this._registerStoreCommandForAccessor(baseName, accessBlock, requiresTarget);
+
+                var predicateBlock = this._predicateForAccessor(accessBlock, requiresTarget, isBoolean);
+                this._registerAssertionsForPredicate(baseName, predicateBlock);
+                this._registerWaitForCommandsForPredicate(seleniumApi, baseName, predicateBlock);
+            }
+        }
+    },
+
+    _registerAllActions: function(seleniumApi) {
+        for (var functionName in seleniumApi) {
+            var match = /^do([A-Z].+)$/.exec(functionName);
+            if (match) {
+                var actionName = match[1].lcfirst();
+                var actionMethod = seleniumApi[functionName];
+                var dontCheckPopups = actionMethod.dontCheckAlertsAndConfirms;
+                var actionBlock = fnBind(actionMethod, seleniumApi);
+                this.registerAction(actionName, actionBlock, false, dontCheckPopups);
+                this.registerAction(actionName + "AndWait", actionBlock, true, dontCheckPopups);
+            }
+        }
+    },
+
+    _registerAllAsserts: function(seleniumApi) {
+        for (var functionName in seleniumApi) {
+            var match = /^assert([A-Z].+)$/.exec(functionName);
+            if (match) {
+                var assertBlock = fnBind(seleniumApi[functionName], seleniumApi);
+
+                // Register the assert with the "assert" prefix, and halt on failure.
+                var assertName = functionName;
+                this.registerAssert(assertName, assertBlock, true);
+
+                // Register the assert with the "verify" prefix, and do not halt on failure.
+                var verifyName = "verify" + match[1];
+                this.registerAssert(verifyName, assertBlock, false);
+            }
+        }
+    },
+
+    registerAll: function(seleniumApi) {
+        this._registerAllAccessors(seleniumApi);
+        this._registerAllActions(seleniumApi);
+        this._registerAllAsserts(seleniumApi);
+    },
+
+    _predicateForAccessor: function(accessBlock, requiresTarget, isBoolean) {
+        if (isBoolean) {
+            return this._predicateForBooleanAccessor(accessBlock);
+        }
+        if (requiresTarget) {
+            return this._predicateForSingleArgAccessor(accessBlock);
+        }
+        return this._predicateForNoArgAccessor(accessBlock);
+    },
+
+    _predicateForSingleArgAccessor: function(accessBlock) {
+        // Given an accessor function getBlah(target),
+        // return a "predicate" equivalient to isBlah(target, value) that
+        // is true when the value returned by the accessor matches the specified value.
+        return function(target, value) {
+            var accessorResult = accessBlock(target);
+            if (PatternMatcher.matches(value, accessorResult)) {
+                return new PredicateResult(true, "Actual value '" + accessorResult + "' did match '" + value + "'");
+            } else {
+                return new PredicateResult(false, "Actual value '" + accessorResult + "' did not match '" + value + "'");
+            }
+        };
+    },
+
+    _predicateForNoArgAccessor: function(accessBlock) {
+        // Given a (no-arg) accessor function getBlah(),
+        // return a "predicate" equivalient to isBlah(value) that
+        // is true when the value returned by the accessor matches the specified value.
+        return function(value) {
+            var accessorResult = accessBlock();
+            if (PatternMatcher.matches(value, accessorResult)) {
+                return new PredicateResult(true, "Actual value '" + accessorResult + "' did match '" + value + "'");
+            } else {
+                return new PredicateResult(false, "Actual value '" + accessorResult + "' did not match '" + value + "'");
+            }
+        };
+    },
+
+    _predicateForBooleanAccessor: function(accessBlock) {
+        // Given a boolean accessor function isBlah(),
+        // return a "predicate" equivalient to isBlah() that
+        // returns an appropriate PredicateResult value.
+        return function() {
+            var accessorResult;
+            if (arguments.length > 2) throw new SeleniumError("Too many arguments! " + arguments.length);
+            if (arguments.length == 2) {
+                accessorResult = accessBlock(arguments[0], arguments[1]);
+            } else if (arguments.length == 1) {
+                accessorResult = accessBlock(arguments[0]);
+            } else {
+                accessorResult = accessBlock();
+            }
+            if (accessorResult) {
+                return new PredicateResult(true, "true");
+            } else {
+                return new PredicateResult(false, "false");
+            }
+        };
+    },
+
+    _invertPredicate: function(predicateBlock) {
+        // Given a predicate, return the negation of that predicate.
+        // Leaves the message unchanged.
+        // Used to create assertNot, verifyNot, and waitForNot commands.
+        return function(target, value) {
+            var result = predicateBlock(target, value);
+            result.isTrue = !result.isTrue;
+            return result;
+        };
+    },
+
+    createAssertionFromPredicate: function(predicateBlock) {
+        // Convert an isBlahBlah(target, value) function into an assertBlahBlah(target, value) function.
+        return function(target, value) {
+            var result = predicateBlock(target, value);
+            if (!result.isTrue) {
+                Assert.fail(result.message);
+            }
+        };
+    },
+
+    _invertPredicateName: function(baseName) {
+        var matchResult = /^(.*)Present$/.exec(baseName);
+        if (matchResult != null) {
+            return matchResult[1] + "NotPresent";
+        }
+        return "Not" + baseName;
+    },
+
+    _registerAssertionsForPredicate: function(baseName, predicateBlock) {
+        // Register an assertion, a verification, a negative assertion,
+        // and a negative verification based on the specified accessor.
+        var assertBlock = this.createAssertionFromPredicate(predicateBlock);
+        this.registerAssert("assert" + baseName, assertBlock, true);
+        this.registerAssert("verify" + baseName, assertBlock, false);
+
+        var invertedPredicateBlock = this._invertPredicate(predicateBlock);
+        var negativeassertBlock = this.createAssertionFromPredicate(invertedPredicateBlock);
+        this.registerAssert("assert" + this._invertPredicateName(baseName), negativeassertBlock, true);
+        this.registerAssert("verify" + this._invertPredicateName(baseName), negativeassertBlock, false);
+    },
+
+    _waitForActionForPredicate: function(predicateBlock) {
+        // Convert an isBlahBlah(target, value) function into a waitForBlahBlah(target, value) function.
+        return function(target, value) {
+            var terminationCondition = function () {
+                try {
+                    return predicateBlock(target, value).isTrue;
+                } catch (e) {
+                    // Treat exceptions as meaning the condition is not yet met.
+                    // Useful, for example, for waitForValue when the element has
+                    // not even been created yet.
+                    // TODO: possibly should rethrow some types of exception.
+                    return false;
+                }
+            };
+            return Selenium.decorateFunctionWithTimeout(terminationCondition, this.defaultTimeout);
+        };
+    },
+
+    _registerWaitForCommandsForPredicate: function(seleniumApi, baseName, predicateBlock) {
+        // Register a waitForBlahBlah and waitForNotBlahBlah based on the specified accessor.
+        var waitForActionMethod = this._waitForActionForPredicate(predicateBlock);
+        var waitForActionBlock = fnBind(waitForActionMethod, seleniumApi);
+        
+        var invertedPredicateBlock = this._invertPredicate(predicateBlock);
+        var waitForNotActionMethod = this._waitForActionForPredicate(invertedPredicateBlock);
+        var waitForNotActionBlock = fnBind(waitForNotActionMethod, seleniumApi);
+        
+        this.registerAction("waitFor" + baseName, waitForActionBlock, false, true);
+        this.registerAction("waitFor" + this._invertPredicateName(baseName), waitForNotActionBlock, false, true);
+        //TODO decide remove "waitForNot.*Present" action name or not
+        //for the back compatiblity issues we still make waitForNot.*Present availble
+        this.registerAction("waitForNot" + baseName, waitForNotActionBlock, false, true);
+    },
+
+    _registerStoreCommandForAccessor: function(baseName, accessBlock, requiresTarget) {
+        var action;
+        if (requiresTarget) {
+            action = function(target, varName) {
+                storedVars[varName] = accessBlock(target);
+            };
+        } else {
+            action = function(varName) {
+                storedVars[varName] = accessBlock();
+            };
+        }
+        this.registerAction("store" + baseName, action, false, true);
+    }
+
+});
+
+function PredicateResult(isTrue, message) {
+    this.isTrue = isTrue;
+    this.message = message;
+}
+
+// NOTE: The CommandHandler is effectively an abstract base for
+// various handlers including ActionHandler, AccessorHandler and AssertHandler.
+// Subclasses need to implement an execute(seleniumApi, command) function,
+// where seleniumApi is the Selenium object, and command a SeleniumCommand object.
+function CommandHandler(type, haltOnFailure) {
+    this.type = type;
+    this.haltOnFailure = haltOnFailure;
+}
+
+// An ActionHandler is a command handler that executes the sepcified action,
+// possibly checking for alerts and confirmations (if checkAlerts is set), and
+// possibly waiting for a page load if wait is set.
+function ActionHandler(actionBlock, wait, dontCheckAlerts) {
+    this.actionBlock = actionBlock;
+    CommandHandler.call(this, "action", true);
+    if (wait) {
+        this.wait = true;
+    }
+    // note that dontCheckAlerts could be undefined!!!
+    this.checkAlerts = (dontCheckAlerts) ? false : true;
+}
+ActionHandler.prototype = new CommandHandler;
+ActionHandler.prototype.execute = function(seleniumApi, command) {
+    if (this.checkAlerts && (null == /(Alert|Confirmation)(Not)?Present/.exec(command.command))) {
+        // todo: this conditional logic is ugly
+        seleniumApi.ensureNoUnhandledPopups();
+    }
+    var terminationCondition = this.actionBlock(command.target, command.value);
+    // If the handler didn't return a wait flag, check to see if the
+    // handler was registered with the wait flag.
+    if (terminationCondition == undefined && this.wait) {
+        terminationCondition = seleniumApi.makePageLoadCondition();
+    }
+    return new ActionResult(terminationCondition);
+};
+
+function ActionResult(terminationCondition) {
+    this.terminationCondition = terminationCondition;
+}
+
+function AccessorHandler(accessBlock) {
+    this.accessBlock = accessBlock;
+    CommandHandler.call(this, "accessor", true);
+}
+AccessorHandler.prototype = new CommandHandler;
+AccessorHandler.prototype.execute = function(seleniumApi, command) {
+    var returnValue = this.accessBlock(command.target, command.value);
+    return new AccessorResult(returnValue);
+};
+
+function AccessorResult(result) {
+    this.result = result;
+}
+
+/**
+ * Handler for assertions and verifications.
+ */
+function AssertHandler(assertBlock, haltOnFailure) {
+    this.assertBlock = assertBlock;
+    CommandHandler.call(this, "assert", haltOnFailure || false);
+}
+AssertHandler.prototype = new CommandHandler;
+AssertHandler.prototype.execute = function(seleniumApi, command) {
+    var result = new AssertResult();
+    try {
+        this.assertBlock(command.target, command.value);
+    } catch (e) {
+        // If this is not a AssertionFailedError, or we should haltOnFailure, rethrow.
+        if (!e.isAssertionFailedError) {
+            throw e;
+        }
+        if (this.haltOnFailure) {
+            var error = new SeleniumError(e.failureMessage);
+            throw error;
+        }
+        result.setFailed(e.failureMessage);
+    }
+    return result;
+};
+
+function AssertResult() {
+    this.passed = true;
+}
+AssertResult.prototype.setFailed = function(message) {
+    this.passed = null;
+    this.failed = true;
+    this.failureMessage = message;
+}
+
+function SeleniumCommand(command, target, value, isBreakpoint) {
+    this.command = command;
+    this.target = target;
+    this.value = value;
+    this.isBreakpoint = isBreakpoint;
+}
+
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/js2html.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/js2html.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/js2html.js	(revision 4307)
@@ -0,0 +1,70 @@
+/*
+
+This is an experiment in using the Narcissus JavaScript engine 
+to allow Selenium scripts to be written in plain JavaScript.
+
+The 'jsparse' function will compile each high level block into a Selenium table script.
+
+
+TODO: 
+1) Test! (More browsers, more sample scripts)
+2) Stepping and walking lower levels of the parse tree
+3) Calling Selenium commands directly from JavaScript
+4) Do we want comments to appear in the TestRunner?
+5) Fix context so variables don't have to be global
+   For now, variables defined with "var" won't be found
+   if used later on in a script.
+6) Fix formatting   
+*/
+
+
+function jsparse() {
+    var script = document.getElementById('sejs')
+    var fname = 'javascript script';
+    parse_result = parse(script.text, fname, 0);       
+
+    var x2 = new ExecutionContext(GLOBAL_CODE);
+    ExecutionContext.current = x2;
+
+
+    var new_test_source = '';    
+    var new_line        = '';
+    
+    for (i=0;i<parse_result.$length;i++){ 
+        var the_start = parse_result[i].start;
+        var the_end;
+        if ( i == (parse_result.$length-1)) {
+            the_end = parse_result.tokenizer.source.length;
+        } else {
+            the_end = parse_result[i+1].start;
+        }
+        
+        var script_fragment = parse_result.tokenizer.source.slice(the_start,the_end)
+        
+        new_line = '<tr><td style="display:none;" class="js">getEval</td>' +
+                   '<td style="display:none;">currentTest.doNextCommand()</td>' +
+                   '<td style="white-space: pre;">' + script_fragment + '</td>' + 
+                   '<td></td></tr>\n';
+        new_test_source += new_line;
+        //eval(script_fragment);
+        
+              
+    };
+    
+    
+    
+    execute(parse_result,x2)
+
+    // Create HTML Table        
+    body = document.body      
+    body.innerHTML += "<table class='selenium' id='se-js-table'>"+
+                      "<tbody>" +
+                      "<tr><td>// " + document.title + "</td></tr>" +
+                      new_test_source +
+                      "</tbody" +
+                      "</table>";          
+   
+    //body.innerHTML = "<pre>" + parse_result + "</pre>"
+}
+
+
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/xmlextras.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/xmlextras.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/xmlextras.js	(revision 4307)
@@ -0,0 +1,153 @@
+// This is a third party JavaScript library from
+// http://webfx.eae.net/dhtml/xmlextras/xmlextras.html
+// i.e. This has not been written by ThoughtWorks.
+
+//<script>
+//////////////////
+// Helper Stuff //
+//////////////////
+
+// used to find the Automation server name
+function getDomDocumentPrefix() {
+	if (getDomDocumentPrefix.prefix)
+		return getDomDocumentPrefix.prefix;
+	
+	var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
+	var o;
+	for (var i = 0; i < prefixes.length; i++) {
+		try {
+			// try to create the objects
+			o = new ActiveXObject(prefixes[i] + ".DomDocument");
+			return getDomDocumentPrefix.prefix = prefixes[i];
+		}
+		catch (ex) {};
+	}
+	
+	throw new Error("Could not find an installed XML parser");
+}
+
+function getXmlHttpPrefix() {
+	if (getXmlHttpPrefix.prefix)
+		return getXmlHttpPrefix.prefix;
+	
+	var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
+	var o;
+	for (var i = 0; i < prefixes.length; i++) {
+		try {
+			// try to create the objects
+			o = new ActiveXObject(prefixes[i] + ".XmlHttp");
+			return getXmlHttpPrefix.prefix = prefixes[i];
+		}
+		catch (ex) {};
+	}
+	
+	throw new Error("Could not find an installed XML parser");
+}
+
+//////////////////////////
+// Start the Real stuff //
+//////////////////////////
+
+
+// XmlHttp factory
+function XmlHttp() {}
+
+XmlHttp.create = function () {
+	try {
+		if (window.XMLHttpRequest) {
+			var req = new XMLHttpRequest();
+			
+			// some versions of Moz do not support the readyState property
+			// and the onreadystate event so we patch it!
+			if (req.readyState == null) {
+				req.readyState = 1;
+				req.addEventListener("load", function () {
+					req.readyState = 4;
+					if (typeof req.onreadystatechange == "function")
+						req.onreadystatechange();
+				}, false);
+			}
+			
+			return req;
+		}
+		if (window.ActiveXObject) {
+			return new ActiveXObject(getXmlHttpPrefix() + ".XmlHttp");
+		}
+	}
+	catch (ex) {}
+	// fell through
+	throw new Error("Your browser does not support XmlHttp objects");
+};
+
+// XmlDocument factory
+function XmlDocument() {}
+
+XmlDocument.create = function () {
+	try {
+		// DOM2
+		if (document.implementation && document.implementation.createDocument) {
+			var doc = document.implementation.createDocument("", "", null);
+			
+			// some versions of Moz do not support the readyState property
+			// and the onreadystate event so we patch it!
+			if (doc.readyState == null) {
+				doc.readyState = 1;
+				doc.addEventListener("load", function () {
+					doc.readyState = 4;
+					if (typeof doc.onreadystatechange == "function")
+						doc.onreadystatechange();
+				}, false);
+			}
+			
+			return doc;
+		}
+		if (window.ActiveXObject)
+			return new ActiveXObject(getDomDocumentPrefix() + ".DomDocument");
+	}
+	catch (ex) {}
+	throw new Error("Your browser does not support XmlDocument objects");
+};
+
+// Create the loadXML method and xml getter for Mozilla
+if (window.DOMParser &&
+	window.XMLSerializer &&
+	window.Node && Node.prototype && Node.prototype.__defineGetter__) {
+
+	// XMLDocument did not extend the Document interface in some versions
+	// of Mozilla. Extend both!
+	//XMLDocument.prototype.loadXML = 
+	Document.prototype.loadXML = function (s) {
+		
+		// parse the string to a new doc	
+		var doc2 = (new DOMParser()).parseFromString(s, "text/xml");
+		
+		// remove all initial children
+		while (this.hasChildNodes())
+			this.removeChild(this.lastChild);
+			
+		// insert and import nodes
+		for (var i = 0; i < doc2.childNodes.length; i++) {
+			this.appendChild(this.importNode(doc2.childNodes[i], true));
+		}
+	};
+	
+	
+	/*
+	 * xml getter
+	 *
+	 * This serializes the DOM tree to an XML String
+	 *
+	 * Usage: var sXml = oNode.xml
+	 *
+	 */
+	// XMLDocument did not extend the Document interface in some versions
+	// of Mozilla. Extend both!
+	/*
+	XMLDocument.prototype.__defineGetter__("xml", function () {
+		return (new XMLSerializer()).serializeToString(this);
+	});
+	*/
+	Document.prototype.__defineGetter__("xml", function () {
+		return (new XMLSerializer()).serializeToString(this);
+	});
+}
\ No newline at end of file
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-api.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-api.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/selenium-api.js	(revision 4307)
@@ -0,0 +1,2329 @@
+/*
+ * Copyright 2004 ThoughtWorks, Inc
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+// TODO: stop navigating this.browserbot.document() ... it breaks encapsulation
+
+var storedVars = new Object();
+
+function Selenium(browserbot) {
+    /**
+     * Defines an object that runs Selenium commands.
+     *
+     * <h3><a name="locators"></a>Element Locators</h3>
+     * <p>
+     * Element Locators tell Selenium which HTML element a command refers to.
+     * The format of a locator is:</p>
+     * <blockquote>
+     * <em>locatorType</em><strong>=</strong><em>argument</em>
+     * </blockquote>
+     *
+     * <p>
+     * We support the following strategies for locating elements:
+     * </p>
+     * 
+     * <ul>
+     * <li><strong>identifier</strong>=<em>id</em>: 
+     * Select the element with the specified &#64;id attribute. If no match is
+     * found, select the first element whose &#64;name attribute is <em>id</em>.
+     * (This is normally the default; see below.)</li>
+     * <li><strong>id</strong>=<em>id</em>:
+     * Select the element with the specified &#64;id attribute.</li>
+     *
+     * <li><strong>name</strong>=<em>name</em>:
+     * Select the first element with the specified &#64;name attribute.
+     * <ul class="first last simple">
+     * <li>username</li>
+     * <li>name=username</li>
+     * </ul>
+     * 
+     * <p>The name may optionally be followed by one or more <em>element-filters</em>, separated from the name by whitespace.  If the <em>filterType</em> is not specified, <strong>value</strong> is assumed.</p>
+     *
+     * <ul class="first last simple">
+     * <li>name=flavour value=chocolate</li>
+     * </ul>
+     * </li>
+     * <li><strong>dom</strong>=<em>javascriptExpression</em>: 
+     *
+     * Find an element by evaluating the specified string.  This allows you to traverse the HTML Document Object
+     * Model using JavaScript.  Note that you must not return a value in this string; simply make it the last expression in the block.
+     * <ul class="first last simple">
+     * <li>dom=document.forms['myForm'].myDropdown</li>
+     * <li>dom=document.images[56]</li>
+     * <li>dom=function foo() { return document.links[1]; }; foo();</li>
+     * </ul>
+     *
+     * </li>
+     *
+     * <li><strong>xpath</strong>=<em>xpathExpression</em>: 
+     * Locate an element using an XPath expression.
+     * <ul class="first last simple">
+     * <li>xpath=//img[&#64;alt='The image alt text']</li>
+     * <li>xpath=//table[&#64;id='table1']//tr[4]/td[2]</li>
+     * <li>xpath=//a[contains(&#64;href,'#id1')]</li>
+     * <li>xpath=//a[contains(&#64;href,'#id1')]/&#64;class</li>
+     * <li>xpath=(//table[&#64;class='stylee'])//th[text()='theHeaderText']/../td</li>
+     * <li>xpath=//input[&#64;name='name2' and &#64;value='yes']</li>
+     * <li>xpath=//*[text()="right"]</li>
+     *
+     * </ul>
+     * </li>
+     * <li><strong>link</strong>=<em>textPattern</em>:
+     * Select the link (anchor) element which contains text matching the
+     * specified <em>pattern</em>.
+     * <ul class="first last simple">
+     * <li>link=The link text</li>
+     * </ul>
+     *
+     * </li>
+     *
+     * <li><strong>css</strong>=<em>cssSelectorSyntax</em>:
+     * Select the element using css selectors. Please refer to <a href="http://www.w3.org/TR/REC-CSS2/selector.html">CSS2 selectors</a>, <a href="http://www.w3.org/TR/2001/CR-css3-selectors-20011113/">CSS3 selectors</a> for more information. You can also check the TestCssLocators test in the selenium test suite for an example of usage, which is included in the downloaded selenium core package.
+     * <ul class="first last simple">
+     * <li>css=a[href="#id3"]</li>
+     * <li>css=span#firstChild + span</li>
+     * </ul>
+     * <p>Currently the css selector locator supports all css1, css2 and css3 selectors except namespace in css3, some pseudo classes(:nth-of-type, :nth-last-of-type, :first-of-type, :last-of-type, :only-of-type, :visited, :hover, :active, :focus, :indeterminate) and pseudo elements(::first-line, ::first-letter, ::selection, ::before, ::after). </p>
+     * </li>
+     * </ul>
+     * 
+     * <p>
+     * Without an explicit locator prefix, Selenium uses the following default
+     * strategies:
+     * </p>
+     *
+     * <ul class="simple">
+     * <li><strong>dom</strong>, for locators starting with &quot;document.&quot;</li>
+     * <li><strong>xpath</strong>, for locators starting with &quot;//&quot;</li>
+     * <li><strong>identifier</strong>, otherwise</li>
+     * </ul>
+     *
+     * <h3><a name="element-filters">Element Filters</a></h3>
+     * <blockquote>
+     * <p>Element filters can be used with a locator to refine a list of candidate elements.  They are currently used only in the 'name' element-locator.</p>
+     * <p>Filters look much like locators, ie.</p>
+     * <blockquote>
+     * <em>filterType</em><strong>=</strong><em>argument</em></blockquote>
+     *
+     * <p>Supported element-filters are:</p>
+     * <p><strong>value=</strong><em>valuePattern</em></p>
+     * <blockquote>
+     * Matches elements based on their values.  This is particularly useful for refining a list of similarly-named toggle-buttons.</blockquote>
+     * <p><strong>index=</strong><em>index</em></p>
+     * <blockquote>
+     * Selects a single element based on its position in the list (offset from zero).</blockquote>
+     * </blockquote>
+     *
+     * <h3><a name="patterns"></a>String-match Patterns</h3>
+     *
+     * <p>
+     * Various Pattern syntaxes are available for matching string values:
+     * </p>
+     * <ul>
+     * <li><strong>glob:</strong><em>pattern</em>:
+     * Match a string against a "glob" (aka "wildmat") pattern. "Glob" is a
+     * kind of limited regular-expression syntax typically used in command-line
+     * shells. In a glob pattern, "*" represents any sequence of characters, and "?"
+     * represents any single character. Glob patterns match against the entire
+     * string.</li>
+     * <li><strong>regexp:</strong><em>regexp</em>:
+     * Match a string using a regular-expression. The full power of JavaScript
+     * regular-expressions is available.</li>
+     * <li><strong>exact:</strong><em>string</em>:
+     *
+     * Match a string exactly, verbatim, without any of that fancy wildcard
+     * stuff.</li>
+     * </ul>
+     * <p>
+     * If no pattern prefix is specified, Selenium assumes that it's a "glob"
+     * pattern.
+     * </p>
+     */
+    this.browserbot = browserbot;
+    this.optionLocatorFactory = new OptionLocatorFactory();
+    // DGF for backwards compatibility
+    this.page = function() {
+        return browserbot;
+    };
+    this.defaultTimeout = Selenium.DEFAULT_TIMEOUT;
+    this.mouseSpeed = 10;
+}
+
+Selenium.DEFAULT_TIMEOUT = 30 * 1000;
+Selenium.DEFAULT_MOUSE_SPEED = 10;
+
+Selenium.decorateFunctionWithTimeout = function(f, timeout) {
+    if (f == null) {
+        return null;
+    }
+    var timeoutValue = parseInt(timeout);
+    if (isNaN(timeoutValue)) {
+        throw new SeleniumError("Timeout is not a number: '" + timeout + "'");
+    }
+    var now = new Date().getTime();
+    var timeoutTime = now + timeoutValue;
+    return function() {
+        if (new Date().getTime() > timeoutTime) {
+            throw new SeleniumError("Timed out after " + timeoutValue + "ms");
+        }
+        return f();
+    };
+}
+
+Selenium.createForWindow = function(window, proxyInjectionMode) {
+    if (!window.location) {
+        throw "error: not a window!";
+    }
+    return new Selenium(BrowserBot.createForWindow(window, proxyInjectionMode));
+};
+
+Selenium.prototype.reset = function() {
+    this.defaultTimeout = Selenium.DEFAULT_TIMEOUT;
+    // todo: this.browserbot.reset()
+    this.browserbot.selectWindow("null");
+    this.browserbot.resetPopups();
+};
+
+Selenium.prototype.doClick = function(locator) {
+    /**
+   * Clicks on a link, button, checkbox or radio button. If the click action
+   * causes a new page to load (like a link usually does), call
+   * waitForPageToLoad.
+   *
+   * @param locator an element locator
+   *
+   */
+   var element = this.browserbot.findElement(locator);
+   this.browserbot.clickElement(element);
+};
+
+Selenium.prototype.doDoubleClick = function(locator) {
+    /**
+   * Double clicks on a link, button, checkbox or radio button. If the double click action
+   * causes a new page to load (like a link usually does), call
+   * waitForPageToLoad.
+   *
+   * @param locator an element locator
+   *
+   */
+   var element = this.browserbot.findElement(locator);
+   this.browserbot.doubleClickElement(element);
+};
+
+Selenium.prototype.doClickAt = function(locator, coordString) {
+    /**
+   * Clicks on a link, button, checkbox or radio button. If the click action
+   * causes a new page to load (like a link usually does), call
+   * waitForPageToLoad.
+   *
+   * @param locator an element locator
+   * @param coordString specifies the x,y position (i.e. - 10,20) of the mouse
+   *      event relative to the element returned by the locator.
+   *
+   */
+    var element = this.browserbot.findElement(locator);
+    var clientXY = getClientXY(element, coordString)
+    this.browserbot.clickElement(element, clientXY[0], clientXY[1]);
+};
+
+Selenium.prototype.doDoubleClickAt = function(locator, coordString) {
+    /**
+   * Doubleclicks on a link, button, checkbox or radio button. If the action
+   * causes a new page to load (like a link usually does), call
+   * waitForPageToLoad.
+   *
+   * @param locator an element locator
+   * @param coordString specifies the x,y position (i.e. - 10,20) of the mouse
+   *      event relative to the element returned by the locator.
+   *
+   */
+    var element = this.browserbot.findElement(locator);
+    var clientXY = getClientXY(element, coordString)
+    this.browserbot.doubleClickElement(element, clientXY[0], clientXY[1]);
+};
+
+Selenium.prototype.doFireEvent = function(locator, eventName) {
+    /**
+   * Explicitly simulate an event, to trigger the corresponding &quot;on<em>event</em>&quot;
+   * handler.
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   * @param eventName the event name, e.g. "focus" or "blur"
+   */
+    var element = this.browserbot.findElement(locator);
+    triggerEvent(element, eventName, false);
+};
+
+Selenium.prototype.doKeyPress = function(locator, keySequence) {
+    /**
+   * Simulates a user pressing and releasing a key.
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   * @param keySequence Either be a string("\" followed by the numeric keycode
+   *  of the key to be pressed, normally the ASCII value of that key), or a single
+   *  character. For example: "w", "\119".
+   */
+    var element = this.browserbot.findElement(locator);
+    triggerKeyEvent(element, 'keypress', keySequence, true, 
+        this.browserbot.controlKeyDown, 
+        this.browserbot.altKeyDown, 
+            this.browserbot.shiftKeyDown,
+            this.browserbot.metaKeyDown);
+};
+
+Selenium.prototype.doShiftKeyDown = function() {
+    /**
+   * Press the shift key and hold it down until doShiftUp() is called or a new page is loaded.
+   *
+   */
+   this.browserbot.shiftKeyDown = true;
+};
+
+Selenium.prototype.doShiftKeyUp = function() {
+    /**
+   * Release the shift key.
+   *
+   */
+   this.browserbot.shiftKeyDown = false;
+};
+
+Selenium.prototype.doMetaKeyDown = function() {
+    /**
+   * Press the meta key and hold it down until doMetaUp() is called or a new page is loaded.
+   *
+   */
+   this.browserbot.metaKeyDown = true;
+};
+
+Selenium.prototype.doMetaKeyUp = function() {
+    /**
+   * Release the meta key.
+   *
+   */
+   this.browserbot.metaKeyDown = false;
+};
+
+Selenium.prototype.doAltKeyDown = function() {
+    /**
+   * Press the alt key and hold it down until doAltUp() is called or a new page is loaded.
+   *
+   */
+   this.browserbot.altKeyDown = true;
+};
+
+Selenium.prototype.doAltKeyUp = function() {
+    /**
+   * Release the alt key.
+   *
+   */
+   this.browserbot.altKeyDown = false;
+};
+
+Selenium.prototype.doControlKeyDown = function() {
+    /**
+   * Press the control key and hold it down until doControlUp() is called or a new page is loaded.
+   *
+   */
+   this.browserbot.controlKeyDown = true;
+};
+
+Selenium.prototype.doControlKeyUp = function() {
+    /**
+   * Release the control key.
+   *
+   */
+   this.browserbot.controlKeyDown = false;
+};
+
+Selenium.prototype.doKeyDown = function(locator, keySequence) {
+    /**
+   * Simulates a user pressing a key (without releasing it yet).
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   * @param keySequence Either be a string("\" followed by the numeric keycode
+   *  of the key to be pressed, normally the ASCII value of that key), or a single
+   *  character. For example: "w", "\119".
+   */
+    var element = this.browserbot.findElement(locator);
+    triggerKeyEvent(element, 'keydown', keySequence, true,
+        this.browserbot.controlKeyDown, 
+            this.browserbot.altKeyDown, 
+            this.browserbot.shiftKeyDown, 
+            this.browserbot.metaKeyDown);
+};
+
+Selenium.prototype.doKeyUp = function(locator, keySequence) {
+    /**
+   * Simulates a user releasing a key.
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   * @param keySequence Either be a string("\" followed by the numeric keycode
+   *  of the key to be pressed, normally the ASCII value of that key), or a single
+   *  character. For example: "w", "\119".
+   */
+    var element = this.browserbot.findElement(locator);
+    triggerKeyEvent(element, 'keyup', keySequence, true,
+        this.browserbot.controlKeyDown, 
+            this.browserbot.altKeyDown, 
+        this.browserbot.shiftKeyDown,
+        this.browserbot.metaKeyDown);
+};
+
+function getClientXY(element, coordString) {
+   // Parse coordString
+   var coords = null;
+   var x;
+   var y;
+   if (coordString) {
+      coords = coordString.split(/,/);
+      x = Number(coords[0]);
+      y = Number(coords[1]);
+   }
+   else {
+      x = y = 0;
+   }
+
+   // Get position of element,
+   // Return 2 item array with clientX and clientY
+   return [Selenium.prototype.getElementPositionLeft(element) + x, Selenium.prototype.getElementPositionTop(element) + y];
+}
+
+Selenium.prototype.doMouseOver = function(locator) {
+    /**
+   * Simulates a user hovering a mouse over the specified element.
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   */
+    var element = this.browserbot.findElement(locator);
+    this.browserbot.triggerMouseEvent(element, 'mouseover', true);
+};
+
+Selenium.prototype.doMouseOut = function(locator) {
+   /**
+   * Simulates a user moving the mouse pointer away from the specified element.
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   */
+    var element = this.browserbot.findElement(locator);
+    this.browserbot.triggerMouseEvent(element, 'mouseout', true);
+};
+
+Selenium.prototype.doMouseDown = function(locator) {
+    /**
+   * Simulates a user pressing the mouse button (without releasing it yet) on
+   * the specified element.
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   */
+   var element = this.browserbot.findElement(locator);
+   this.browserbot.triggerMouseEvent(element, 'mousedown', true);
+};
+
+Selenium.prototype.doMouseDownAt = function(locator, coordString) {
+    /**
+   * Simulates a user pressing the mouse button (without releasing it yet) on
+   * the specified element.
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   * @param coordString specifies the x,y position (i.e. - 10,20) of the mouse
+   *      event relative to the element returned by the locator.
+   */
+    var element = this.browserbot.findElement(locator);
+    var clientXY = getClientXY(element, coordString)
+
+    this.browserbot.triggerMouseEvent(element, 'mousedown', true, clientXY[0], clientXY[1]);
+};
+
+Selenium.prototype.doMouseUp = function(locator) {
+    /**
+   * Simulates a user pressing the mouse button (without releasing it yet) on
+   * the specified element.
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   */
+   var element = this.browserbot.findElement(locator);
+   this.browserbot.triggerMouseEvent(element, 'mouseup', true);
+};
+
+Selenium.prototype.doMouseUpAt = function(locator, coordString) {
+    /**
+   * Simulates a user pressing the mouse button (without releasing it yet) on
+   * the specified element.
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   * @param coordString specifies the x,y position (i.e. - 10,20) of the mouse
+   *      event relative to the element returned by the locator.
+   */
+    var element = this.browserbot.findElement(locator);
+    var clientXY = getClientXY(element, coordString)
+
+    this.browserbot.triggerMouseEvent(element, 'mouseup', true, clientXY[0], clientXY[1]);
+};
+
+Selenium.prototype.doMouseMove = function(locator) {
+    /**
+   * Simulates a user pressing the mouse button (without releasing it yet) on
+   * the specified element.
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   */
+   var element = this.browserbot.findElement(locator);
+   this.browserbot.triggerMouseEvent(element, 'mousemove', true);
+};
+
+Selenium.prototype.doMouseMoveAt = function(locator, coordString) {
+    /**
+   * Simulates a user pressing the mouse button (without releasing it yet) on
+   * the specified element.
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   * @param coordString specifies the x,y position (i.e. - 10,20) of the mouse
+   *      event relative to the element returned by the locator.
+   */
+
+    var element = this.browserbot.findElement(locator);
+    var clientXY = getClientXY(element, coordString)
+
+    this.browserbot.triggerMouseEvent(element, 'mousemove', true, clientXY[0], clientXY[1]);
+};
+
+Selenium.prototype.doType = function(locator, value) {
+    /**
+   * Sets the value of an input field, as though you typed it in.
+   *
+   * <p>Can also be used to set the value of combo boxes, check boxes, etc. In these cases,
+   * value should be the value of the option selected, not the visible text.</p>
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   * @param value the value to type
+   */
+   if (this.browserbot.controlKeyDown || this.browserbot.altKeyDown || this.browserbot.metaKeyDown) {
+        throw new SeleniumError("type not supported immediately after call to controlKeyDown() or altKeyDown() or metaKeyDown()");
+    }
+        // TODO fail if it can't be typed into.
+    var element = this.browserbot.findElement(locator);
+    if (this.browserbot.shiftKeyDown) {
+        value = new String(value).toUpperCase();
+    }
+    this.browserbot.replaceText(element, value);
+};
+
+Selenium.prototype.doTypeKeys = function(locator, value) {
+    /**
+    * Simulates keystroke events on the specified element, as though you typed the value key-by-key.
+    *
+    * <p>This is a convenience method for calling keyDown, keyUp, keyPress for every character in the specified string;
+    * this is useful for dynamic UI widgets (like auto-completing combo boxes) that require explicit key events.</p>
+    * 
+    * <p>Unlike the simple "type" command, which forces the specified value into the page directly, this command
+    * may or may not have any visible effect, even in cases where typing keys would normally have a visible effect.
+    * For example, if you use "typeKeys" on a form element, you may or may not see the results of what you typed in
+    * the field.</p>
+    * <p>In some cases, you may need to use the simple "type" command to set the value of the field and then the "typeKeys" command to
+    * send the keystroke events corresponding to what you just typed.</p>
+    *
+    * @param locator an <a href="#locators">element locator</a>
+    * @param value the value to type
+    */
+    var keys = new String(value).split("");
+    for (var i = 0; i < keys.length; i++) {
+        var c = keys[i];
+        this.doKeyDown(locator, c);
+        this.doKeyUp(locator, c);
+        this.doKeyPress(locator, c);
+    }
+};
+
+Selenium.prototype.doSetSpeed = function(value) {
+ /**
+ * Set execution speed (i.e., set the millisecond length of a delay which will follow each selenium operation).  By default, there is no such delay, i.e.,
+ * the delay is 0 milliseconds.
+   *
+   * @param value the number of milliseconds to pause after operation
+   */
+   throw new SeleniumError("this operation is only implemented in selenium-rc, and should never result in a request making it across the wire");
+};
+
+Selenium.prototype.doGetSpeed = function() {
+ /**
+ * Get execution speed (i.e., get the millisecond length of the delay following each selenium operation).  By default, there is no such delay, i.e.,
+ * the delay is 0 milliseconds.
+   *
+   * See also setSpeed.
+   */
+   throw new SeleniumError("this operation is only implemented in selenium-rc, and should never result in a request making it across the wire");
+};
+
+Selenium.prototype.findToggleButton = function(locator) {
+    var element = this.browserbot.findElement(locator);
+    if (element.checked == null) {
+        Assert.fail("Element " + locator + " is not a toggle-button.");
+    }
+    return element;
+}
+
+Selenium.prototype.doCheck = function(locator) {
+    /**
+   * Check a toggle-button (checkbox/radio)
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   */
+    this.findToggleButton(locator).checked = true;
+};
+
+Selenium.prototype.doUncheck = function(locator) {
+    /**
+   * Uncheck a toggle-button (checkbox/radio)
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   */
+    this.findToggleButton(locator).checked = false;
+};
+
+Selenium.prototype.doSelect = function(selectLocator, optionLocator) {
+    /**
+   * Select an option from a drop-down using an option locator.
+   *
+   * <p>
+   * Option locators provide different ways of specifying options of an HTML
+   * Select element (e.g. for selecting a specific option, or for asserting
+   * that the selected option satisfies a specification). There are several
+   * forms of Select Option Locator.
+   * </p>
+   * <ul>
+   * <li><strong>label</strong>=<em>labelPattern</em>:
+   * matches options based on their labels, i.e. the visible text. (This
+   * is the default.)
+   * <ul class="first last simple">
+   * <li>label=regexp:^[Oo]ther</li>
+   * </ul>
+   * </li>
+   * <li><strong>value</strong>=<em>valuePattern</em>:
+   * matches options based on their values.
+   * <ul class="first last simple">
+   * <li>value=other</li>
+   * </ul>
+   *
+   *
+   * </li>
+   * <li><strong>id</strong>=<em>id</em>:
+   *
+   * matches options based on their ids.
+   * <ul class="first last simple">
+   * <li>id=option1</li>
+   * </ul>
+   * </li>
+   * <li><strong>index</strong>=<em>index</em>:
+   * matches an option based on its index (offset from zero).
+   * <ul class="first last simple">
+   *
+   * <li>index=2</li>
+   * </ul>
+   * </li>
+   * </ul>
+   * <p>
+   * If no option locator prefix is provided, the default behaviour is to match on <strong>label</strong>.
+   * </p>
+   *
+   *
+   * @param selectLocator an <a href="#locators">element locator</a> identifying a drop-down menu
+   * @param optionLocator an option locator (a label by default)
+   */
+    var element = this.browserbot.findElement(selectLocator);
+    if (!("options" in element)) {
+        throw new SeleniumError("Specified element is not a Select (has no options)");
+    }
+    var locator = this.optionLocatorFactory.fromLocatorString(optionLocator);
+    var option = locator.findOption(element);
+    this.browserbot.selectOption(element, option);
+};
+
+
+
+Selenium.prototype.doAddSelection = function(locator, optionLocator) {
+    /**
+   * Add a selection to the set of selected options in a multi-select element using an option locator.
+   *
+   * @see #doSelect for details of option locators
+   *
+   * @param locator an <a href="#locators">element locator</a> identifying a multi-select box
+   * @param optionLocator an option locator (a label by default)
+   */
+    var element = this.browserbot.findElement(locator);
+    if (!("options" in element)) {
+        throw new SeleniumError("Specified element is not a Select (has no options)");
+    }
+    var locator = this.optionLocatorFactory.fromLocatorString(optionLocator);
+    var option = locator.findOption(element);
+    this.browserbot.addSelection(element, option);
+};
+
+Selenium.prototype.doRemoveSelection = function(locator, optionLocator) {
+    /**
+   * Remove a selection from the set of selected options in a multi-select element using an option locator.
+   *
+   * @see #doSelect for details of option locators
+   *
+   * @param locator an <a href="#locators">element locator</a> identifying a multi-select box
+   * @param optionLocator an option locator (a label by default)
+   */
+
+    var element = this.browserbot.findElement(locator);
+    if (!("options" in element)) {
+        throw new SeleniumError("Specified element is not a Select (has no options)");
+    }
+    var locator = this.optionLocatorFactory.fromLocatorString(optionLocator);
+    var option = locator.findOption(element);
+    this.browserbot.removeSelection(element, option);
+};
+
+Selenium.prototype.doRemoveAllSelections = function(locator) {
+    /**
+    * Unselects all of the selected options in a multi-select element.
+    *
+    * @param locator an <a href="#locators">element locator</a> identifying a multi-select box
+    */
+    var element = this.browserbot.findElement(locator);
+    if (!("options" in element)) {
+        throw new SeleniumError("Specified element is not a Select (has no options)");
+    }
+    for (var i = 0; i < element.options.length; i++) {
+        this.browserbot.removeSelection(element, element.options[i]);
+    }
+}
+
+Selenium.prototype.doSubmit = function(formLocator) {
+    /**
+   * Submit the specified form. This is particularly useful for forms without
+   * submit buttons, e.g. single-input "Search" forms.
+   *
+   * @param formLocator an <a href="#locators">element locator</a> for the form you want to submit
+   */
+    var form = this.browserbot.findElement(formLocator);
+    return this.browserbot.submit(form);
+
+};
+
+Selenium.prototype.makePageLoadCondition = function(timeout) {
+    if (timeout == null) {
+        timeout = this.defaultTimeout;
+    }
+    return Selenium.decorateFunctionWithTimeout(fnBind(this._isNewPageLoaded, this), timeout);
+};
+
+Selenium.prototype.doOpen = function(url) {
+    /**
+   * Opens an URL in the test frame. This accepts both relative and absolute
+   * URLs.
+   *
+   * The &quot;open&quot; command waits for the page to load before proceeding,
+   * ie. the &quot;AndWait&quot; suffix is implicit.
+   *
+   * <em>Note</em>: The URL must be on the same domain as the runner HTML
+   * due to security restrictions in the browser (Same Origin Policy). If you
+   * need to open an URL on another domain, use the Selenium Server to start a
+   * new browser session on that domain.
+   *
+   * @param url the URL to open; may be relative or absolute
+   */
+    this.browserbot.openLocation(url);
+    return this.makePageLoadCondition();
+};
+
+Selenium.prototype.doOpenWindow = function(url, windowID) {
+    /**
+   * Opens a popup window (if a window with that ID isn't already open).
+   * After opening the window, you'll need to select it using the selectWindow
+   * command.
+   * 
+   * <p>This command can also be a useful workaround for bug SEL-339.  In some cases, Selenium will be unable to intercept a call to window.open (if the call occurs during or before the "onLoad" event, for example).
+   * In those cases, you can force Selenium to notice the open window's name by using the Selenium openWindow command, using
+   * an empty (blank) url, like this: openWindow("", "myFunnyWindow").</p>
+   *
+   * @param url the URL to open, which can be blank 
+   * @param windowID the JavaScript window ID of the window to select
+   */
+   this.browserbot.openWindow(url, windowID);
+};
+
+Selenium.prototype.doSelectWindow = function(windowID) {
+    /**
+   * Selects a popup window; once a popup window has been selected, all
+   * commands go to that window. To select the main window again, use null
+   * as the target.
+   *
+   * <p>Selenium has several strategies for finding the window object referred to by the "windowID" parameter.</p>
+   * 
+   * <p>1.) if windowID is null, then it is assumed the user is referring to the original window instantiated by the browser).</p>
+   * <p>2.) if the value of the "windowID" parameter is a JavaScript variable name in the current application window, then it is assumed
+   * that this variable contains the return value from a call to the JavaScript window.open() method.</p>
+   * <p>3.) Otherwise, selenium looks in a hash it maintains that maps string names to window objects.  Each of these string 
+   * names matches the second parameter "windowName" past to the JavaScript method  window.open(url, windowName, windowFeatures, replaceFlag)
+   * (which selenium intercepts).</p>
+   *
+   * <p>If you're having trouble figuring out what is the name of a window that you want to manipulate, look at the selenium log messages
+   * which identify the names of windows created via window.open (and therefore intercepted by selenium).  You will see messages
+   * like the following for each window as it is opened:</p>
+   * 
+   * <p><code>debug: window.open call intercepted; window ID (which you can use with selectWindow()) is "myNewWindow"</code></p>
+   *
+   * <p>In some cases, Selenium will be unable to intercept a call to window.open (if the call occurs during or before the "onLoad" event, for example).
+   * (This is bug SEL-339.)  In those cases, you can force Selenium to notice the open window's name by using the Selenium openWindow command, using
+   * an empty (blank) url, like this: openWindow("", "myFunnyWindow").</p>
+   * 
+   * @param windowID the JavaScript window ID of the window to select
+   */
+    this.browserbot.selectWindow(windowID);
+};
+
+Selenium.prototype.doSelectFrame = function(locator) {
+    /**
+    * Selects a frame within the current window.  (You may invoke this command
+    * multiple times to select nested frames.)  To select the parent frame, use
+    * "relative=parent" as a locator; to select the top frame, use "relative=top".
+    *
+    * <p>You may also use a DOM expression to identify the frame you want directly,
+    * like this: <code>dom=frames["main"].frames["subframe"]</code></p>
+    *
+    * @param locator an <a href="#locators">element locator</a> identifying a frame or iframe
+    */
+        this.browserbot.selectFrame(locator);
+};
+
+Selenium.prototype.getLogMessages = function() {
+    /**
+        * Return the contents of the log.
+    *
+        * <p>This is a placeholder intended to make the code generator make this API
+        * available to clients.  The selenium server will intercept this call, however,
+        * and return its recordkeeping of log messages since the last call to this API.
+        * Thus this code in JavaScript will never be called.</p>
+        *
+        * <p>The reason I opted for a servercentric solution is to be able to support
+        * multiple frames served from different domains, which would break a
+        * centralized JavaScript logging mechanism under some conditions.</p>
+    *
+        * @return string all log messages seen since the last call to this API
+    */
+        return "getLogMessages should be implemented in the selenium server";
+};
+
+
+Selenium.prototype.getWhetherThisFrameMatchFrameExpression = function(currentFrameString, target) {
+    /**
+     * Determine whether current/locator identify the frame containing this running code.
+     *
+     * <p>This is useful in proxy injection mode, where this code runs in every
+     * browser frame and window, and sometimes the selenium server needs to identify
+     * the "current" frame.  In this case, when the test calls selectFrame, this
+     * routine is called for each frame to figure out which one has been selected.
+     * The selected frame will return true, while all others will return false.</p>
+     *
+     * @param currentFrameString starting frame
+     * @param target new frame (which might be relative to the current one)
+     * @return boolean true if the new frame is this code's window
+     */
+    var isDom = false;
+    if (target.indexOf("dom=") == 0) {
+        target = target.substr(4);
+        isDom = true;
+    }
+    var t;
+    try {
+        eval("t=" + currentFrameString + "." + target);
+    } catch (e) {
+    }
+    var autWindow = this.browserbot.getCurrentWindow();
+    if (t != null) {
+        if (t.window == autWindow) {
+            return true;
+        }
+        return false;
+    }
+    if (isDom) {
+        return false;
+    }
+    var currentFrame;
+    eval("currentFrame=" + currentFrameString);
+    if (target == "relative=up") {
+        if (currentFrame.window.parent == autWindow) {
+            return true;
+        }
+        return false;
+    }
+    if (target == "relative=top") {
+        if (currentFrame.window.top == autWindow) {
+            return true;
+        }
+        return false;
+    }
+    if (autWindow.name == target && currentFrame.window == autWindow.parent) {
+        return true;
+    }
+    return false;
+};
+
+Selenium.prototype.getWhetherThisWindowMatchWindowExpression = function(currentWindowString, target) {
+    /**
+    * Determine whether currentWindowString plus target identify the window containing this running code.
+     *
+     * <p>This is useful in proxy injection mode, where this code runs in every
+     * browser frame and window, and sometimes the selenium server needs to identify
+     * the "current" window.  In this case, when the test calls selectWindow, this
+     * routine is called for each window to figure out which one has been selected.
+     * The selected window will return true, while all others will return false.</p>
+     *
+     * @param currentWindowString starting window
+     * @param target new window (which might be relative to the current one, e.g., "_parent")
+     * @return boolean true if the new window is this code's window
+     */
+     if (window.opener!=null && window.opener[target]!=null && window.opener[target]==window) {
+         return true;
+     }
+     return false;
+};
+
+Selenium.prototype.doWaitForPopUp = function(windowID, timeout) {
+    /**
+    * Waits for a popup window to appear and load up.
+    *
+    * @param windowID the JavaScript window ID of the window that will appear
+    * @param timeout a timeout in milliseconds, after which the action will return with an error
+    */
+    var popupLoadedPredicate = function () {
+        var targetWindow = selenium.browserbot.getWindowByName(windowID, true);
+        if (!targetWindow) return false;
+        if (!targetWindow.location) return false;
+        if ("about:blank" == targetWindow.location) return false;
+        if (browserVersion.isKonqueror) {
+            if ("/" == targetWindow.location.href) {
+                // apparently Konqueror uses this as the temporary location, instead of about:blank
+                return false;
+            }
+        }
+        if (browserVersion.isSafari) {
+            if(targetWindow.location.href == selenium.browserbot.buttonWindow.location.href) {
+                // Apparently Safari uses this as the temporary location, instead of about:blank
+                // what a world!
+                LOG.debug("DGF what a world!");
+                return false;
+            }
+        }
+        if (!targetWindow.document) return false;
+        if (!selenium.browserbot.getCurrentWindow().document.readyState) {
+            // This is Firefox, with no readyState extension
+            return true;
+        }
+        if ('complete' != targetWindow.document.readyState) return false;
+        return true;
+    };
+
+    return Selenium.decorateFunctionWithTimeout(popupLoadedPredicate, timeout);
+}
+
+Selenium.prototype.doWaitForPopUp.dontCheckAlertsAndConfirms = true;
+
+Selenium.prototype.doChooseCancelOnNextConfirmation = function() {
+    /**
+   * By default, Selenium's overridden window.confirm() function will
+   * return true, as if the user had manually clicked OK.  After running
+   * this command, the next call to confirm() will return false, as if
+   * the user had clicked Cancel.
+   *
+   */
+    this.browserbot.cancelNextConfirmation();
+};
+
+
+Selenium.prototype.doAnswerOnNextPrompt = function(answer) {
+    /**
+   * Instructs Selenium to return the specified answer string in response to
+   * the next JavaScript prompt [window.prompt()].
+   *
+   *
+   * @param answer the answer to give in response to the prompt pop-up
+   */
+    this.browserbot.setNextPromptResult(answer);
+};
+
+Selenium.prototype.doGoBack = function() {
+    /**
+     * Simulates the user clicking the "back" button on their browser.
+     *
+     */
+    this.browserbot.goBack();
+};
+
+Selenium.prototype.doRefresh = function() {
+    /**
+     * Simulates the user clicking the "Refresh" button on their browser.
+     *
+     */
+    this.browserbot.refresh();
+};
+
+Selenium.prototype.doClose = function() {
+    /**
+     * Simulates the user clicking the "close" button in the titlebar of a popup
+     * window or tab.
+     */
+    this.browserbot.close();
+};
+
+Selenium.prototype.ensureNoUnhandledPopups = function() {
+    if (this.browserbot.hasAlerts()) {
+        throw new SeleniumError("There was an unexpected Alert! [" + this.browserbot.getNextAlert() + "]");
+    }
+    if ( this.browserbot.hasConfirmations() ) {
+        throw new SeleniumError("There was an unexpected Confirmation! [" + this.browserbot.getNextConfirmation() + "]");
+    }
+};
+
+Selenium.prototype.isAlertPresent = function() {
+   /**
+   * Has an alert occurred?
+   *
+   * <p>
+   * This function never throws an exception
+   * </p>
+   * @return boolean true if there is an alert
+   */
+    return this.browserbot.hasAlerts();
+};
+
+Selenium.prototype.isPromptPresent = function() {
+   /**
+   * Has a prompt occurred?
+   *
+   * <p>
+   * This function never throws an exception
+   * </p>
+   * @return boolean true if there is a pending prompt
+   */
+    return this.browserbot.hasPrompts();
+};
+
+Selenium.prototype.isConfirmationPresent = function() {
+   /**
+   * Has confirm() been called?
+   *
+   * <p>
+   * This function never throws an exception
+   * </p>
+   * @return boolean true if there is a pending confirmation
+   */
+    return this.browserbot.hasConfirmations();
+};
+Selenium.prototype.getAlert = function() {
+    /**
+   * Retrieves the message of a JavaScript alert generated during the previous action, or fail if there were no alerts.
+   *
+   * <p>Getting an alert has the same effect as manually clicking OK. If an
+   * alert is generated but you do not get/verify it, the next Selenium action
+   * will fail.</p>
+   *
+   * <p>NOTE: under Selenium, JavaScript alerts will NOT pop up a visible alert
+   * dialog.</p>
+   *
+   * <p>NOTE: Selenium does NOT support JavaScript alerts that are generated in a
+   * page's onload() event handler. In this case a visible dialog WILL be
+   * generated and Selenium will hang until someone manually clicks OK.</p>
+   * @return string The message of the most recent JavaScript alert
+   */
+    if (!this.browserbot.hasAlerts()) {
+        Assert.fail("There were no alerts");
+    }
+    return this.browserbot.getNextAlert();
+};
+Selenium.prototype.getAlert.dontCheckAlertsAndConfirms = true;
+
+Selenium.prototype.getConfirmation = function() {
+    /**
+   * Retrieves the message of a JavaScript confirmation dialog generated during
+   * the previous action.
+   *
+   * <p>
+   * By default, the confirm function will return true, having the same effect
+   * as manually clicking OK. This can be changed by prior execution of the
+   * chooseCancelOnNextConfirmation command. If an confirmation is generated
+   * but you do not get/verify it, the next Selenium action will fail.
+   * </p>
+   *
+   * <p>
+   * NOTE: under Selenium, JavaScript confirmations will NOT pop up a visible
+   * dialog.
+   * </p>
+   *
+   * <p>
+   * NOTE: Selenium does NOT support JavaScript confirmations that are
+   * generated in a page's onload() event handler. In this case a visible
+   * dialog WILL be generated and Selenium will hang until you manually click
+   * OK.
+   * </p>
+   *
+   * @return string the message of the most recent JavaScript confirmation dialog
+   */
+    if (!this.browserbot.hasConfirmations()) {
+        Assert.fail("There were no confirmations");
+    }
+    return this.browserbot.getNextConfirmation();
+};
+Selenium.prototype.getConfirmation.dontCheckAlertsAndConfirms = true;
+
+Selenium.prototype.getPrompt = function() {
+    /**
+   * Retrieves the message of a JavaScript question prompt dialog generated during
+   * the previous action.
+   *
+   * <p>Successful handling of the prompt requires prior execution of the
+   * answerOnNextPrompt command. If a prompt is generated but you
+   * do not get/verify it, the next Selenium action will fail.</p>
+   *
+   * <p>NOTE: under Selenium, JavaScript prompts will NOT pop up a visible
+   * dialog.</p>
+   *
+   * <p>NOTE: Selenium does NOT support JavaScript prompts that are generated in a
+   * page's onload() event handler. In this case a visible dialog WILL be
+   * generated and Selenium will hang until someone manually clicks OK.</p>
+   * @return string the message of the most recent JavaScript question prompt
+   */
+    if (! this.browserbot.hasPrompts()) {
+        Assert.fail("There were no prompts");
+    }
+    return this.browserbot.getNextPrompt();
+};
+
+Selenium.prototype.getLocation = function() {
+    /** Gets the absolute URL of the current page.
+   *
+   * @return string the absolute URL of the current page
+   */
+    return this.browserbot.getCurrentWindow().location;
+};
+
+Selenium.prototype.getTitle = function() {
+    /** Gets the title of the current page.
+   *
+   * @return string the title of the current page
+   */
+    return this.browserbot.getTitle();
+};
+
+
+Selenium.prototype.getBodyText = function() {
+    /**
+     * Gets the entire text of the page.
+     * @return string the entire text of the page
+     */
+    return this.browserbot.bodyText();
+};
+
+
+Selenium.prototype.getValue = function(locator) {
+  /**
+   * Gets the (whitespace-trimmed) value of an input field (or anything else with a value parameter).
+   * For checkbox/radio elements, the value will be "on" or "off" depending on
+   * whether the element is checked or not.
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   * @return string the element value, or "on/off" for checkbox/radio elements
+   */
+    var element = this.browserbot.findElement(locator)
+    return getInputValue(element).trim();
+}
+
+Selenium.prototype.getText = function(locator) {
+    /**
+   * Gets the text of an element. This works for any element that contains
+   * text. This command uses either the textContent (Mozilla-like browsers) or
+   * the innerText (IE-like browsers) of the element, which is the rendered
+   * text shown to the user.
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   * @return string the text of the element
+   */
+    var element = this.browserbot.findElement(locator);
+    return getText(element).trim();
+};
+
+Selenium.prototype.doHighlight = function(locator) {
+    /**
+    * Briefly changes the backgroundColor of the specified element yellow.  Useful for debugging.
+    * 
+    * @param locator an <a href="#locators">element locator</a>
+    */
+    var element = this.browserbot.findElement(locator);
+    this.browserbot.highlight(element, true);
+};
+
+Selenium.prototype.getEval = function(script) {
+    /** Gets the result of evaluating the specified JavaScript snippet.  The snippet may
+   * have multiple lines, but only the result of the last line will be returned.
+   *
+   * <p>Note that, by default, the snippet will run in the context of the "selenium"
+   * object itself, so <code>this</code> will refer to the Selenium object, and <code>window</code> will
+   * refer to the top-level runner test window, not the window of your application.</p>
+   *
+   * <p>If you need a reference to the window of your application, you can refer
+   * to <code>this.browserbot.getCurrentWindow()</code> and if you need to use
+   * a locator to refer to a single element in your application page, you can
+   * use <code>this.browserbot.findElement("foo")</code> where "foo" is your locator.</p>
+   *
+   * @param script the JavaScript snippet to run
+   * @return string the results of evaluating the snippet
+   */
+    try {
+        var result = eval(script);
+        // Selenium RC doesn't allow returning null
+        if (null == result) return "null";
+        return result;
+    } catch (e) {
+        throw new SeleniumError("Threw an exception: " + e.message);
+    }
+};
+
+Selenium.prototype.isChecked = function(locator) {
+    /**
+   * Gets whether a toggle-button (checkbox/radio) is checked.  Fails if the specified element doesn't exist or isn't a toggle-button.
+   * @param locator an <a href="#locators">element locator</a> pointing to a checkbox or radio button
+   * @return boolean true if the checkbox is checked, false otherwise
+   */
+    var element = this.browserbot.findElement(locator);
+    if (element.checked == null) {
+        throw new SeleniumError("Element " + locator + " is not a toggle-button.");
+    }
+    return element.checked;
+};
+
+Selenium.prototype.getTable = function(tableCellAddress) {
+    /**
+   * Gets the text from a cell of a table. The cellAddress syntax
+   * tableLocator.row.column, where row and column start at 0.
+   *
+   * @param tableCellAddress a cell address, e.g. "foo.1.4"
+   * @return string the text from the specified cell
+   */
+    // This regular expression matches "tableName.row.column"
+    // For example, "mytable.3.4"
+    pattern = /(.*)\.(\d+)\.(\d+)/;
+
+    if(!pattern.test(tableCellAddress)) {
+        throw new SeleniumError("Invalid target format. Correct format is tableName.rowNum.columnNum");
+    }
+
+    pieces = tableCellAddress.match(pattern);
+
+    tableName = pieces[1];
+    row = pieces[2];
+    col = pieces[3];
+
+    var table = this.browserbot.findElement(tableName);
+    if (row > table.rows.length) {
+        Assert.fail("Cannot access row " + row + " - table has " + table.rows.length + " rows");
+    }
+    else if (col > table.rows[row].cells.length) {
+        Assert.fail("Cannot access column " + col + " - table row has " + table.rows[row].cells.length + " columns");
+    }
+    else {
+        actualContent = getText(table.rows[row].cells[col]);
+        return actualContent.trim();
+    }
+    return null;
+};
+
+Selenium.prototype.getSelectedLabels = function(selectLocator) {
+    /** Gets all option labels (visible text) for selected options in the specified select or multi-select element.
+   *
+   * @param selectLocator an <a href="#locators">element locator</a> identifying a drop-down menu
+   * @return string[] an array of all selected option labels in the specified select drop-down
+   */
+    return this.findSelectedOptionProperties(selectLocator, "text").join(",");
+}
+
+Selenium.prototype.getSelectedLabel = function(selectLocator) {
+    /** Gets option label (visible text) for selected option in the specified select element.
+   *
+   * @param selectLocator an <a href="#locators">element locator</a> identifying a drop-down menu
+   * @return string the selected option label in the specified select drop-down
+   */
+    return this.findSelectedOptionProperty(selectLocator, "text");
+}
+
+Selenium.prototype.getSelectedValues = function(selectLocator) {
+    /** Gets all option values (value attributes) for selected options in the specified select or multi-select element.
+   *
+   * @param selectLocator an <a href="#locators">element locator</a> identifying a drop-down menu
+   * @return string[] an array of all selected option values in the specified select drop-down
+   */
+    return this.findSelectedOptionProperties(selectLocator, "value").join(",");
+}
+
+Selenium.prototype.getSelectedValue = function(selectLocator) {
+    /** Gets option value (value attribute) for selected option in the specified select element.
+   *
+   * @param selectLocator an <a href="#locators">element locator</a> identifying a drop-down menu
+   * @return string the selected option value in the specified select drop-down
+   */
+    return this.findSelectedOptionProperty(selectLocator, "value");
+}
+
+Selenium.prototype.getSelectedIndexes = function(selectLocator) {
+    /** Gets all option indexes (option number, starting at 0) for selected options in the specified select or multi-select element.
+   *
+   * @param selectLocator an <a href="#locators">element locator</a> identifying a drop-down menu
+   * @return string[] an array of all selected option indexes in the specified select drop-down
+   */
+    return this.findSelectedOptionProperties(selectLocator, "index").join(",");
+}
+
+Selenium.prototype.getSelectedIndex = function(selectLocator) {
+    /** Gets option index (option number, starting at 0) for selected option in the specified select element.
+   *
+   * @param selectLocator an <a href="#locators">element locator</a> identifying a drop-down menu
+   * @return string the selected option index in the specified select drop-down
+   */
+    return this.findSelectedOptionProperty(selectLocator, "index");
+}
+
+Selenium.prototype.getSelectedIds = function(selectLocator) {
+    /** Gets all option element IDs for selected options in the specified select or multi-select element.
+   *
+   * @param selectLocator an <a href="#locators">element locator</a> identifying a drop-down menu
+   * @return string[] an array of all selected option IDs in the specified select drop-down
+   */
+    return this.findSelectedOptionProperties(selectLocator, "id").join(",");
+}
+
+Selenium.prototype.getSelectedId = function(selectLocator) {
+    /** Gets option element ID for selected option in the specified select element.
+   *
+   * @param selectLocator an <a href="#locators">element locator</a> identifying a drop-down menu
+   * @return string the selected option ID in the specified select drop-down
+   */
+    return this.findSelectedOptionProperty(selectLocator, "id");
+}
+
+Selenium.prototype.isSomethingSelected = function(selectLocator) {
+    /** Determines whether some option in a drop-down menu is selected.
+   *
+   * @param selectLocator an <a href="#locators">element locator</a> identifying a drop-down menu
+   * @return boolean true if some option has been selected, false otherwise
+   */
+    var element = this.browserbot.findElement(selectLocator);
+    if (!("options" in element)) {
+        throw new SeleniumError("Specified element is not a Select (has no options)");
+    }
+
+    var selectedOptions = [];
+
+    for (var i = 0; i < element.options.length; i++) {
+        if (element.options[i].selected)
+        {
+            return true;
+        }
+    }
+    return false;
+}
+
+Selenium.prototype.findSelectedOptionProperties = function(locator, property) {
+   var element = this.browserbot.findElement(locator);
+   if (!("options" in element)) {
+        throw new SeleniumError("Specified element is not a Select (has no options)");
+    }
+
+    var selectedOptions = [];
+
+    for (var i = 0; i < element.options.length; i++) {
+        if (element.options[i].selected)
+        {
+            var propVal = element.options[i][property];
+            if (propVal.replace) {
+                propVal.replace(/,/g, "\\,");
+            }
+            selectedOptions.push(propVal);
+        }
+    }
+    if (selectedOptions.length == 0) Assert.fail("No option selected");
+    return selectedOptions;
+}
+
+Selenium.prototype.findSelectedOptionProperty = function(locator, property) {
+    var selectedOptions = this.findSelectedOptionProperties(locator, property);
+    if (selectedOptions.length > 1) {
+        Assert.fail("More than one selected option!");
+    }
+    return selectedOptions[0];
+}
+
+Selenium.prototype.getSelectOptions = function(selectLocator) {
+    /** Gets all option labels in the specified select drop-down.
+   *
+   * @param selectLocator an <a href="#locators">element locator</a> identifying a drop-down menu
+   * @return string[] an array of all option labels in the specified select drop-down
+   */
+    var element = this.browserbot.findElement(selectLocator);
+
+    var selectOptions = [];
+
+    for (var i = 0; i < element.options.length; i++) {
+        var option = element.options[i].text.replace(/,/g, "\\,");
+        selectOptions.push(option);
+    }
+
+    return selectOptions.join(",");
+};
+
+
+Selenium.prototype.getAttribute = function(attributeLocator) {
+    /**
+   * Gets the value of an element attribute.
+   *
+   * @param attributeLocator an element locator followed by an @ sign and then the name of the attribute, e.g. "foo@bar"
+   * @return string the value of the specified attribute
+   */
+   var result = this.browserbot.findAttribute(attributeLocator);
+   if (result == null) {
+           throw new SeleniumError("Could not find element attribute: " + attributeLocator);
+    }
+    return result;
+};
+
+Selenium.prototype.isTextPresent = function(pattern) {
+    /**
+   * Verifies that the specified text pattern appears somewhere on the rendered page shown to the user.
+   * @param pattern a <a href="#patterns">pattern</a> to match with the text of the page
+   * @return boolean true if the pattern matches the text, false otherwise
+   */
+    var allText = this.browserbot.bodyText();
+
+    var patternMatcher = new PatternMatcher(pattern);
+    if (patternMatcher.strategy == PatternMatcher.strategies.glob) {
+            if (pattern.indexOf("glob:")==0) {
+                    pattern = pattern.substring("glob:".length); // strip off "glob:"
+                }
+        patternMatcher.matcher = new PatternMatcher.strategies.globContains(pattern);
+    }
+    else if (patternMatcher.strategy == PatternMatcher.strategies.exact) {
+                pattern = pattern.substring("exact:".length); // strip off "exact:"
+        return allText.indexOf(pattern) != -1;
+    }
+    return patternMatcher.matches(allText);
+};
+
+Selenium.prototype.isElementPresent = function(locator) {
+    /**
+   * Verifies that the specified element is somewhere on the page.
+   * @param locator an <a href="#locators">element locator</a>
+   * @return boolean true if the element is present, false otherwise
+   */
+    try {
+        this.browserbot.findElement(locator);
+    } catch (e) {
+        return false;
+    }
+    return true;
+};
+
+Selenium.prototype.isVisible = function(locator) {
+    /**
+   * Determines if the specified element is visible. An
+   * element can be rendered invisible by setting the CSS "visibility"
+   * property to "hidden", or the "display" property to "none", either for the
+   * element itself or one if its ancestors.  This method will fail if
+   * the element is not present.
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   * @return boolean true if the specified element is visible, false otherwise
+   */
+    var element;
+    element = this.browserbot.findElement(locator);
+    var visibility = this.findEffectiveStyleProperty(element, "visibility");
+    var _isDisplayed = this._isDisplayed(element);
+    return (visibility != "hidden" && _isDisplayed);
+};
+
+Selenium.prototype.findEffectiveStyleProperty = function(element, property) {
+    var effectiveStyle = this.findEffectiveStyle(element);
+    var propertyValue = effectiveStyle[property];
+    if (propertyValue == 'inherit' && element.parentNode.style) {
+        return this.findEffectiveStyleProperty(element.parentNode, property);
+    }
+    return propertyValue;
+};
+
+Selenium.prototype._isDisplayed = function(element) {
+    var display = this.findEffectiveStyleProperty(element, "display");
+    if (display == "none") return false;
+    if (element.parentNode.style) {
+        return this._isDisplayed(element.parentNode);
+    }
+    return true;
+};
+
+Selenium.prototype.findEffectiveStyle = function(element) {
+    if (element.style == undefined) {
+        return undefined; // not a styled element
+    }
+    var window = this.browserbot.getCurrentWindow();
+    if (window.getComputedStyle) {
+        // DOM-Level-2-CSS
+        return window.getComputedStyle(element, null);
+    }
+    if (element.currentStyle) {
+        // non-standard IE alternative
+        return element.currentStyle;
+        // TODO: this won't really work in a general sense, as
+        //   currentStyle is not identical to getComputedStyle()
+        //   ... but it's good enough for "visibility"
+    }
+    throw new SeleniumError("cannot determine effective stylesheet in this browser");
+};
+
+Selenium.prototype.isEditable = function(locator) {
+    /**
+   * Determines whether the specified input element is editable, ie hasn't been disabled.
+   * This method will fail if the specified element isn't an input element.
+   *
+   * @param locator an <a href="#locators">element locator</a>
+   * @return boolean true if the input element is editable, false otherwise
+   */
+    var element = this.browserbot.findElement(locator);
+    if (element.value == undefined) {
+        Assert.fail("Element " + locator + " is not an input.");
+    }
+    return !element.disabled;
+};
+
+Selenium.prototype.getAllButtons = function() {
+    /** Returns the IDs of all buttons on the page.
+   *
+   * <p>If a given button has no ID, it will appear as "" in this array.</p>
+   *
+   * @return string[] the IDs of all buttons on the page
+   */
+   return this.browserbot.getAllButtons();
+};
+
+Selenium.prototype.getAllLinks = function() {
+    /** Returns the IDs of all links on the page.
+   *
+   * <p>If a given link has no ID, it will appear as "" in this array.</p>
+   *
+   * @return string[] the IDs of all links on the page
+   */
+   return this.browserbot.getAllLinks();
+};
+
+Selenium.prototype.getAllFields = function() {
+    /** Returns the IDs of all input fields on the page.
+   *
+   * <p>If a given field has no ID, it will appear as "" in this array.</p>
+   *
+   * @return string[] the IDs of all field on the page
+   */
+   return this.browserbot.getAllFields();
+};
+
+Selenium.prototype.getAttributeFromAllWindows = function(attributeName) {
+    /** Returns every instance of some attribute from all known windows.
+    *
+    * @param attributeName name of an attribute on the windows
+    * @return string[] the set of values of this attribute from all known windows.
+    */
+    var attributes = new Array();
+    
+    var win = selenium.browserbot.topWindow;
+    
+    // DGF normally you should use []s instead of eval "win."+attributeName
+    // but in this case, attributeName may contain dots (e.g. document.title)
+    // in that case, we have no choice but to use eval...
+    attributes.push(eval("win."+attributeName));
+    for (var windowName in this.browserbot.openedWindows)
+    {
+        try {
+            win = selenium.browserbot.openedWindows[windowName];
+            attributes.push(eval("win."+attributeName));
+        } catch (e) {} // DGF If we miss one... meh. It's probably closed or inaccessible anyway.
+    }
+    return attributes;
+};
+
+Selenium.prototype.findWindow = function(soughtAfterWindowPropertyValue) {
+   var targetPropertyName = "name";
+   if (soughtAfterWindowPropertyValue.match("^title=")) {
+       targetPropertyName = "document.title";
+        soughtAfterWindowPropertyValue = soughtAfterWindowPropertyValue.replace(/^title=/, "");
+   }
+   else {
+       // matching "name":
+       // If we are not in proxy injection mode, then the top-level test window will be named myiframe.
+        // But as far as the interface goes, we are expected to match a blank string to this window, if
+        // we are searching with respect to the widow name.
+        // So make a special case so that this logic will work:
+        if (PatternMatcher.matches(soughtAfterWindowPropertyValue, "")) {
+           return this.browserbot.getCurrentWindow();
+        }
+   }
+
+   // DGF normally you should use []s instead of eval "win."+attributeName
+   // but in this case, attributeName may contain dots (e.g. document.title)
+   // in that case, we have no choice but to use eval...
+   if (PatternMatcher.matches(soughtAfterWindowPropertyValue, eval("this.browserbot.topWindow." + targetPropertyName))) {
+       return this.browserbot.topWindow;
+   }
+   for (windowName in selenium.browserbot.openedWindows) {
+       var openedWindow = selenium.browserbot.openedWindows[windowName];
+       if (PatternMatcher.matches(soughtAfterWindowPropertyValue, eval("openedWindow." + targetPropertyName))) {
+            return openedWindow;
+        }
+   }
+   throw new SeleniumError("could not find window with property " + targetPropertyName + " matching " + soughtAfterWindowPropertyValue);
+};
+
+Selenium.prototype.doDragdrop = function(locator, movementsString) {
+/** deprecated - use dragAndDrop instead
+   *
+   * @param locator an element locator
+   * @param movementsString offset in pixels from the current location to which the element should be moved, e.g., "+70,-300"
+   */
+   this.doDragAndDrop(locator, movementsString);
+};
+
+Selenium.prototype.doSetMouseSpeed = function(pixels) {
+    /** Configure the number of pixels between "mousemove" events during dragAndDrop commands (default=10).
+    * <p>Setting this value to 0 means that we'll send a "mousemove" event to every single pixel
+    * in between the start location and the end location; that can be very slow, and may
+    * cause some browsers to force the JavaScript to timeout.</p>
+    * 
+    * <p>If the mouse speed is greater than the distance between the two dragged objects, we'll
+    * just send one "mousemove" at the start location and then one final one at the end location.</p>
+    * @param pixels the number of pixels between "mousemove" events
+    */
+    this.mouseSpeed = pixels;
+}
+ 
+Selenium.prototype.getMouseSpeed = function() {
+    /** Returns the number of pixels between "mousemove" events during dragAndDrop commands (default=10).
+    * 
+    * @return number the number of pixels between "mousemove" events during dragAndDrop commands (default=10)
+    */
+    this.mouseSpeed = pixels;
+}
+
+
+Selenium.prototype.doDragAndDrop = function(locator, movementsString) {
+    /** Drags an element a certain distance and then drops it
+    * @param locator an element locator
+    * @param movementsString offset in pixels from the current location to which the element should be moved, e.g., "+70,-300"
+    */
+    var element = this.browserbot.findElement(locator);
+    var clientStartXY = getClientXY(element)
+    var clientStartX = clientStartXY[0];
+    var clientStartY = clientStartXY[1];
+    
+    var movements = movementsString.split(/,/);
+    var movementX = Number(movements[0]);
+    var movementY = Number(movements[1]);
+    
+    var clientFinishX = ((clientStartX + movementX) < 0) ? 0 : (clientStartX + movementX);
+    var clientFinishY = ((clientStartY + movementY) < 0) ? 0 : (clientStartY + movementY);
+    
+    var mouseSpeed = this.mouseSpeed;
+    var move = function(current, dest) {
+        if (current == dest) return current;
+        if (Math.abs(current - dest) < mouseSpeed) return dest;
+        return (current < dest) ? current + mouseSpeed : current - mouseSpeed;
+    }
+    
+    this.browserbot.triggerMouseEvent(element, 'mousedown', true, clientStartX, clientStartY);
+    this.browserbot.triggerMouseEvent(element, 'mousemove',   true, clientStartX, clientStartY);
+    var clientX = clientStartX;
+    var clientY = clientStartY;
+    
+    while ((clientX != clientFinishX) || (clientY != clientFinishY)) {
+        clientX = move(clientX, clientFinishX);
+        clientY = move(clientY, clientFinishY);
+        this.browserbot.triggerMouseEvent(element, 'mousemove', true, clientX, clientY);
+    }
+    
+    this.browserbot.triggerMouseEvent(element, 'mousemove',   true, clientFinishX, clientFinishY);
+    this.browserbot.triggerMouseEvent(element, 'mouseup',   true, clientFinishX, clientFinishY);
+};
+
+Selenium.prototype.doDragAndDropToObject = function(locatorOfObjectToBeDragged, locatorOfDragDestinationObject) {
+/** Drags an element and drops it on another element
+   *
+   * @param locatorOfObjectToBeDragged an element to be dragged
+   * @param locatorOfDragDestinationObject an element whose location (i.e., whose center-most pixel) will be the point where locatorOfObjectToBeDragged  is dropped
+   */
+   var startX = this.getElementPositionLeft(locatorOfObjectToBeDragged);
+   var startY = this.getElementPositionTop(locatorOfObjectToBeDragged);
+   
+   var destinationLeftX = this.getElementPositionLeft(locatorOfDragDestinationObject);
+   var destinationTopY = this.getElementPositionTop(locatorOfDragDestinationObject);
+   var destinationWidth = this.getElementWidth(locatorOfDragDestinationObject);
+   var destinationHeight = this.getElementHeight(locatorOfDragDestinationObject);
+
+   var endX = Math.round(destinationLeftX + (destinationWidth / 2));
+   var endY = Math.round(destinationTopY + (destinationHeight / 2));
+   
+   var deltaX = endX - startX;
+   var deltaY = endY - startY;
+   
+   var movementsString = "" + deltaX + "," + deltaY;
+   
+   this.doDragAndDrop(locatorOfObjectToBeDragged, movementsString);
+};
+
+Selenium.prototype.doWindowFocus = function(windowName) {
+/** Gives focus to a window
+   *
+   * @param windowName name of the window to be given focus
+   */
+   this.findWindow(windowName).focus();
+};
+
+
+Selenium.prototype.doWindowMaximize = function(windowName) {
+/** Resize window to take up the entire screen
+   *
+   * @param windowName name of the window to be enlarged
+   */
+   var window = this.findWindow(windowName);
+   if (window!=null && window.screen) {
+       window.moveTo(0,0);
+        window.outerHeight = screen.availHeight;
+        window.outerWidth = screen.availWidth;
+   }
+};
+
+Selenium.prototype.getAllWindowIds = function() {
+  /** Returns the IDs of all windows that the browser knows about.
+   *
+   * @return string[] the IDs of all windows that the browser knows about.
+   */
+   return this.getAttributeFromAllWindows("id");
+};
+
+Selenium.prototype.getAllWindowNames = function() {
+  /** Returns the names of all windows that the browser knows about.
+   *
+   * @return string[] the names of all windows that the browser knows about.
+   */
+   return this.getAttributeFromAllWindows("name");
+};
+
+Selenium.prototype.getAllWindowTitles = function() {
+  /** Returns the titles of all windows that the browser knows about.
+   *
+   * @return string[] the titles of all windows that the browser knows about.
+   */
+   return this.getAttributeFromAllWindows("document.title");
+};
+
+Selenium.prototype.getHtmlSource = function() {
+    /** Returns the entire HTML source between the opening and
+   * closing "html" tags.
+   *
+   * @return string the entire HTML source
+   */
+    return this.browserbot.getDocument().getElementsByTagName("html")[0].innerHTML;
+};
+
+Selenium.prototype.doSetCursorPosition = function(locator, position) {
+    /**
+   * Moves the text cursor to the specified position in the given input element or textarea.
+   * This method will fail if the specified element isn't an input element or textarea.
+   *
+   * @param locator an <a href="#locators">element locator</a> pointing to an input element or textarea
+   * @param position the numerical position of the cursor in the field; position should be 0 to move the position to the beginning of the field.  You can also set the cursor to -1 to move it to the end of the field.
+   */
+   var element = this.browserbot.findElement(locator);
+    if (element.value == undefined) {
+        Assert.fail("Element " + locator + " is not an input.");
+    }
+    if (position == -1) {
+        position = element.value.length;
+    }
+
+   if( element.setSelectionRange && !browserVersion.isOpera) {
+       element.focus();
+        element.setSelectionRange(/*start*/position,/*end*/position);
+   }
+   else if( element.createTextRange ) {
+      triggerEvent(element, 'focus', false);
+      var range = element.createTextRange();
+      range.collapse(true);
+      range.moveEnd('character',position);
+      range.moveStart('character',position);
+      range.select();
+   }
+}
+
+Selenium.prototype.getElementIndex = function(locator) {
+    /**
+     * Get the relative index of an element to its parent (starting from 0). The comment node and empty text node
+     * will be ignored.
+     *
+     * @param locator an <a href="#locators">element locator</a> pointing to an element
+     * @return number of relative index of the element to its parent (starting from 0)
+     */
+    var element = this.browserbot.findElement(locator);
+    var previousSibling;
+    var index = 0;
+    while ((previousSibling = element.previousSibling) != null) {
+        if (!this._isCommentOrEmptyTextNode(previousSibling)) {
+            index++;
+        }
+        element = previousSibling;
+    }
+    return index;
+}
+
+Selenium.prototype.isOrdered = function(locator1, locator2) {
+    /**
+     * Check if these two elements have same parent and are ordered. Two same elements will
+     * not be considered ordered.
+     *
+     * @param locator1 an <a href="#locators">element locator</a> pointing to the first element
+     * @param locator2 an <a href="#locators">element locator</a> pointing to the second element
+     * @return boolean true if two elements are ordered and have same parent, false otherwise
+     */
+    var element1 = this.browserbot.findElement(locator1);
+    var element2 = this.browserbot.findElement(locator2);
+    if (element1 === element2) return false;
+
+    var previousSibling;
+    while ((previousSibling = element2.previousSibling) != null) {
+        if (previousSibling === element1) {
+            return true;
+        }
+        element2 = previousSibling;
+    }
+    return false;
+}
+
+Selenium.prototype._isCommentOrEmptyTextNode = function(node) {
+    return node.nodeType == 8 || ((node.nodeType == 3) && !(/[^\t\n\r ]/.test(node.data)));
+}
+
+Selenium.prototype.getElementPositionLeft = function(locator) {
+   /**
+   * Retrieves the horizontal position of an element
+   *
+   * @param locator an <a href="#locators">element locator</a> pointing to an element OR an element itself
+   * @return number of pixels from the edge of the frame.
+   */
+       var element;
+        if ("string"==typeof locator) {
+            element = this.browserbot.findElement(locator);
+        }
+        else {
+            element = locator;
+        }
+    var x = element.offsetLeft;
+    var elementParent = element.offsetParent;
+
+    while (elementParent != null)
+    {
+        if(document.all)
+        {
+            if( (elementParent.tagName != "TABLE") && (elementParent.tagName != "BODY") )
+            {
+                x += elementParent.clientLeft;
+            }
+        }
+        else // Netscape/DOM
+        {
+            if(elementParent.tagName == "TABLE")
+            {
+                var parentBorder = parseInt(elementParent.border);
+                if(isNaN(parentBorder))
+                {
+                    var parentFrame = elementParent.getAttribute('frame');
+                    if(parentFrame != null)
+                    {
+                        x += 1;
+                    }
+                }
+                else if(parentBorder > 0)
+                {
+                    x += parentBorder;
+                }
+            }
+        }
+        x += elementParent.offsetLeft;
+        elementParent = elementParent.offsetParent;
+    }
+    return x;
+};
+
+Selenium.prototype.getElementPositionTop = function(locator) {
+   /**
+   * Retrieves the vertical position of an element
+   *
+   * @param locator an <a href="#locators">element locator</a> pointing to an element OR an element itself
+   * @return number of pixels from the edge of the frame.
+   */
+       var element;
+        if ("string"==typeof locator) {
+            element = this.browserbot.findElement(locator);
+        }
+        else {
+            element = locator;
+        }
+
+       var y = 0;
+
+       while (element != null)
+    {
+        if(document.all)
+        {
+            if( (element.tagName != "TABLE") && (element.tagName != "BODY") )
+            {
+            y += element.clientTop;
+            }
+        }
+        else // Netscape/DOM
+        {
+            if(element.tagName == "TABLE")
+            {
+            var parentBorder = parseInt(element.border);
+            if(isNaN(parentBorder))
+            {
+                var parentFrame = element.getAttribute('frame');
+                if(parentFrame != null)
+                {
+                    y += 1;
+                }
+            }
+            else if(parentBorder > 0)
+            {
+                y += parentBorder;
+            }
+            }
+        }
+        y += element.offsetTop;
+
+            // Netscape can get confused in some cases, such that the height of the parent is smaller
+            // than that of the element (which it shouldn't really be). If this is the case, we need to
+            // exclude this element, since it will result in too large a 'top' return value.
+            if (element.offsetParent && element.offsetParent.offsetHeight && element.offsetParent.offsetHeight < element.offsetHeight)
+            {
+                // skip the parent that's too small
+                element = element.offsetParent.offsetParent;
+            }
+            else
+            {
+            // Next up...
+            element = element.offsetParent;
+        }
+       }
+    return y;
+};
+
+Selenium.prototype.getElementWidth = function(locator) {
+   /**
+   * Retrieves the width of an element
+   *
+   * @param locator an <a href="#locators">element locator</a> pointing to an element
+   * @return number width of an element in pixels
+   */
+   var element = this.browserbot.findElement(locator);
+   return element.offsetWidth;
+};
+
+Selenium.prototype.getElementHeight = function(locator) {
+   /**
+   * Retrieves the height of an element
+   *
+   * @param locator an <a href="#locators">element locator</a> pointing to an element
+   * @return number height of an element in pixels
+   */
+   var element = this.browserbot.findElement(locator);
+   return element.offsetHeight;
+};
+
+Selenium.prototype.getCursorPosition = function(locator) {
+    /**
+   * Retrieves the text cursor position in the given input element or textarea; beware, this may not work perfectly on all browsers.
+   *
+   * <p>Specifically, if the cursor/selection has been cleared by JavaScript, this command will tend to
+   * return the position of the last location of the cursor, even though the cursor is now gone from the page.  This is filed as <a href="http://jira.openqa.org/browse/SEL-243">SEL-243</a>.</p>
+   * This method will fail if the specified element isn't an input element or textarea, or there is no cursor in the element.
+   *
+   * @param locator an <a href="#locators">element locator</a> pointing to an input element or textarea
+   * @return number the numerical position of the cursor in the field
+   */
+    var element = this.browserbot.findElement(locator);
+    var doc = this.browserbot.getDocument();
+    var win = this.browserbot.getCurrentWindow();
+    if( doc.selection && !browserVersion.isOpera){
+        try {
+            var selectRange = doc.selection.createRange().duplicate();
+            var elementRange = element.createTextRange();
+            selectRange.move("character",0);
+            elementRange.move("character",0);
+            var inRange1 = selectRange.inRange(elementRange);
+            var inRange2 = elementRange.inRange(selectRange);
+            elementRange.setEndPoint("EndToEnd", selectRange);
+        } catch (e) {
+            Assert.fail("There is no cursor on this page!");
+        }
+        var answer = String(elementRange.text).replace(/\r/g,"").length;
+        return answer;
+    } else {
+        if (typeof(element.selectionStart) != "undefined") {
+            if (win.getSelection && typeof(win.getSelection().rangeCount) != undefined && win.getSelection().rangeCount == 0) {
+                Assert.fail("There is no cursor on this page!");
+            }
+            return element.selectionStart;
+        }
+    }
+    throw new Error("Couldn't detect cursor position on this browser!");
+}
+
+
+Selenium.prototype.doSetContext = function(context, logLevelThreshold) {
+    /**
+   * Writes a message to the status bar and adds a note to the browser-side
+   * log.
+   *
+   * <p>If logLevelThreshold is specified, set the threshold for logging
+   * to that level (debug, info, warn, error).</p>
+   *
+   * <p>(Note that the browser-side logs will <i>not</i> be sent back to the
+   * server, and are invisible to the Client Driver.)</p>
+   *
+   * @param context
+   *            the message to be sent to the browser
+   * @param logLevelThreshold one of "debug", "info", "warn", "error", sets the threshold for browser-side logging
+   */
+    if  (logLevelThreshold==null || logLevelThreshold=="") {
+        return this.browserbot.setContext(context);
+    }
+    return this.browserbot.setContext(context, logLevelThreshold);
+};
+
+Selenium.prototype.getExpression = function(expression) {
+    /**
+     * Returns the specified expression.
+     *
+     * <p>This is useful because of JavaScript preprocessing.
+     * It is used to generate commands like assertExpression and waitForExpression.</p>
+     *
+     * @param expression the value to return
+     * @return string the value passed in
+     */
+    return expression;
+}
+
+Selenium.prototype.doWaitForCondition = function(script, timeout) {
+    /**
+   * Runs the specified JavaScript snippet repeatedly until it evaluates to "true".
+   * The snippet may have multiple lines, but only the result of the last line
+   * will be considered.
+   *
+   * <p>Note that, by default, the snippet will be run in the runner's test window, not in the window
+   * of your application.  To get the window of your application, you can use
+   * the JavaScript snippet <code>selenium.browserbot.getCurrentWindow()</code>, and then
+   * run your JavaScript in there</p>
+   * @param script the JavaScript snippet to run
+   * @param timeout a timeout in milliseconds, after which this command will return with an error
+   */
+    return Selenium.decorateFunctionWithTimeout(function () {
+        return eval(script);
+    }, timeout);
+};
+
+Selenium.prototype.doWaitForCondition.dontCheckAlertsAndConfirms = true;
+
+Selenium.prototype.doSetTimeout = function(timeout) {
+    /**
+     * Specifies the amount of time that Selenium will wait for actions to complete.
+     *
+     * <p>Actions that require waiting include "open" and the "waitFor*" actions.</p>
+     * The default timeout is 30 seconds.
+     * @param timeout a timeout in milliseconds, after which the action will return with an error
+     */
+    if (!timeout) {
+        timeout = Selenium.DEFAULT_TIMEOUT;
+    }
+    this.defaultTimeout = timeout;
+}
+
+Selenium.prototype.doWaitForPageToLoad = function(timeout) {
+    /**
+     * Waits for a new page to load.
+     *
+     * <p>You can use this command instead of the "AndWait" suffixes, "clickAndWait", "selectAndWait", "typeAndWait" etc.
+     * (which are only available in the JS API).</p>
+     *
+     * <p>Selenium constantly keeps track of new pages loading, and sets a "newPageLoaded"
+     * flag when it first notices a page load.  Running any other Selenium command after
+     * turns the flag to false.  Hence, if you want to wait for a page to load, you must
+     * wait immediately after a Selenium command that caused a page-load.</p>
+     * @param timeout a timeout in milliseconds, after which this command will return with an error
+     */
+    // in pi-mode, the test and the harness share the window; thus if we are executing this code, then we have loaded
+    if (window["proxyInjectionMode"] == null || !window["proxyInjectionMode"]) {
+        return this.makePageLoadCondition(timeout);
+    }
+};
+
+Selenium.prototype._isNewPageLoaded = function() {
+    return this.browserbot.isNewPageLoaded();
+};
+
+Selenium.prototype.doWaitForPageToLoad.dontCheckAlertsAndConfirms = true;
+
+/**
+ * Evaluate a parameter, performing JavaScript evaluation and variable substitution.
+ * If the string matches the pattern "javascript{ ... }", evaluate the string between the braces.
+ */
+Selenium.prototype.preprocessParameter = function(value) {
+    var match = value.match(/^javascript\{((.|\r?\n)+)\}$/);
+    if (match && match[1]) {
+        return eval(match[1]).toString();
+    }
+    return this.replaceVariables(value);
+};
+
+/*
+ * Search through str and replace all variable references ${varName} with their
+ * value in storedVars.
+ */
+Selenium.prototype.replaceVariables = function(str) {
+    var stringResult = str;
+
+    // Find all of the matching variable references
+    var match = stringResult.match(/\$\{\w+\}/g);
+    if (!match) {
+        return stringResult;
+    }
+
+    // For each match, lookup the variable value, and replace if found
+    for (var i = 0; match && i < match.length; i++) {
+        var variable = match[i]; // The replacement variable, with ${}
+        var name = variable.substring(2, variable.length - 1); // The replacement variable without ${}
+        var replacement = storedVars[name];
+        if (replacement != undefined) {
+            stringResult = stringResult.replace(variable, replacement);
+        }
+    }
+    return stringResult;
+};
+
+Selenium.prototype.getCookie = function() {
+    /**
+     * Return all cookies of the current page under test.
+     *
+     * @return string all cookies of the current page under test
+     */
+    var doc = this.browserbot.getDocument();
+    return doc.cookie;
+};
+
+Selenium.prototype.doCreateCookie = function(nameValuePair, optionsString) {
+    /**
+     * Create a new cookie whose path and domain are same with those of current page
+     * under test, unless you specified a path for this cookie explicitly.
+     *
+     * @param nameValuePair name and value of the cookie in a format "name=value"
+     * @param optionsString options for the cookie. Currently supported options include 'path' and 'max_age'.
+     *      the optionsString's format is "path=/path/, max_age=60". The order of options are irrelevant, the unit
+     *      of the value of 'max_age' is second.
+     */
+    var results = /[^\s=\[\]\(\),"\/\?@:;]+=[^\s=\[\]\(\),"\/\?@:;]*/.test(nameValuePair);
+    if (!results) {
+        throw new SeleniumError("Invalid parameter.");
+    }
+    var cookie = nameValuePair.trim();
+    results = /max_age=(\d+)/.exec(optionsString);
+    if (results) {
+        var expireDateInMilliseconds = (new Date()).getTime() + results[1] * 1000;
+        cookie += "; expires=" + new Date(expireDateInMilliseconds).toGMTString();
+    }
+    results = /path=([^\s,]+)[,]?/.exec(optionsString);
+    if (results) {
+        var path = results[1];
+        if (browserVersion.khtml) {
+            // Safari and conquerer don't like paths with / at the end
+            if ("/" != path) {
+                path = path.replace(/\/$/, "");
+            }
+        }
+        cookie += "; path=" + path;
+    }
+    LOG.debug("Setting cookie to: " + cookie);
+    this.browserbot.getDocument().cookie = cookie;
+}
+
+Selenium.prototype.doDeleteCookie = function(name,path) {
+    /**
+     * Delete a named cookie with specified path.
+     *
+     * @param name the name of the cookie to be deleted
+     * @param path the path property of the cookie to be deleted
+     */
+    // set the expire time of the cookie to be deleted to one minute before now.
+    path = path.trim();
+    if (browserVersion.khtml) {
+        // Safari and conquerer don't like paths with / at the end
+        if ("/" != path) {
+            path = path.replace(/\/$/, "");
+        }
+    }
+    var expireDateInMilliseconds = (new Date()).getTime() + (-1 * 1000);
+    var cookie = name.trim() + "=deleted; path=" + path + "; expires=" + new Date(expireDateInMilliseconds).toGMTString();
+    LOG.debug("Setting cookie to: " + cookie);
+    this.browserbot.getDocument().cookie = cookie;
+}
+
+
+/**
+ *  Factory for creating "Option Locators".
+ *  An OptionLocator is an object for dealing with Select options (e.g. for
+ *  finding a specified option, or asserting that the selected option of 
+ *  Select element matches some condition.
+ *  The type of locator returned by the factory depends on the locator string:
+ *     label=<exp>  (OptionLocatorByLabel)
+ *     value=<exp>  (OptionLocatorByValue)
+ *     index=<exp>  (OptionLocatorByIndex)
+ *     id=<exp>     (OptionLocatorById)
+ *     <exp> (default is OptionLocatorByLabel).
+ */
+function OptionLocatorFactory() {
+}
+
+OptionLocatorFactory.prototype.fromLocatorString = function(locatorString) {
+    var locatorType = 'label';
+    var locatorValue = locatorString;
+    // If there is a locator prefix, use the specified strategy
+    var result = locatorString.match(/^([a-zA-Z]+)=(.*)/);
+    if (result) {
+        locatorType = result[1];
+        locatorValue = result[2];
+    }
+    if (this.optionLocators == undefined) {
+        this.registerOptionLocators();
+    }
+    if (this.optionLocators[locatorType]) {
+        return new this.optionLocators[locatorType](locatorValue);
+    }
+    throw new SeleniumError("Unkown option locator type: " + locatorType);
+};
+
+/**
+ * To allow for easy extension, all of the option locators are found by
+ * searching for all methods of OptionLocatorFactory.prototype that start
+ * with "OptionLocatorBy".
+ * TODO: Consider using the term "Option Specifier" instead of "Option Locator".
+ */
+OptionLocatorFactory.prototype.registerOptionLocators = function() {
+    this.optionLocators={};
+    for (var functionName in this) {
+      var result = /OptionLocatorBy([A-Z].+)$/.exec(functionName);
+      if (result != null) {
+          var locatorName = result[1].lcfirst();
+          this.optionLocators[locatorName] = this[functionName];
+      }
+    }
+};
+
+/**
+ *  OptionLocator for options identified by their labels.
+ */
+OptionLocatorFactory.prototype.OptionLocatorByLabel = function(label) {
+    this.label = label;
+    this.labelMatcher = new PatternMatcher(this.label);
+    this.findOption = function(element) {
+        for (var i = 0; i < element.options.length; i++) {
+            if (this.labelMatcher.matches(element.options[i].text)) {
+                return element.options[i];
+            }
+        }
+        throw new SeleniumError("Option with label '" + this.label + "' not found");
+    };
+
+    this.assertSelected = function(element) {
+        var selectedLabel = element.options[element.selectedIndex].text;
+        Assert.matches(this.label, selectedLabel)
+    };
+};
+
+/**
+ *  OptionLocator for options identified by their values.
+ */
+OptionLocatorFactory.prototype.OptionLocatorByValue = function(value) {
+    this.value = value;
+    this.valueMatcher = new PatternMatcher(this.value);
+    this.findOption = function(element) {
+        for (var i = 0; i < element.options.length; i++) {
+            if (this.valueMatcher.matches(element.options[i].value)) {
+                return element.options[i];
+            }
+        }
+        throw new SeleniumError("Option with value '" + this.value + "' not found");
+    };
+
+    this.assertSelected = function(element) {
+        var selectedValue = element.options[element.selectedIndex].value;
+        Assert.matches(this.value, selectedValue)
+    };
+};
+
+/**
+ *  OptionLocator for options identified by their index.
+ */
+OptionLocatorFactory.prototype.OptionLocatorByIndex = function(index) {
+    this.index = Number(index);
+    if (isNaN(this.index) || this.index < 0) {
+        throw new SeleniumError("Illegal Index: " + index);
+    }
+
+    this.findOption = function(element) {
+        if (element.options.length <= this.index) {
+            throw new SeleniumError("Index out of range.  Only " + element.options.length + " options available");
+        }
+        return element.options[this.index];
+    };
+
+    this.assertSelected = function(element) {
+        Assert.equals(this.index, element.selectedIndex);
+    };
+};
+
+/**
+ *  OptionLocator for options identified by their id.
+ */
+OptionLocatorFactory.prototype.OptionLocatorById = function(id) {
+    this.id = id;
+    this.idMatcher = new PatternMatcher(this.id);
+    this.findOption = function(element) {
+        for (var i = 0; i < element.options.length; i++) {
+            if (this.idMatcher.matches(element.options[i].id)) {
+                return element.options[i];
+            }
+        }
+        throw new SeleniumError("Option with id '" + this.id + "' not found");
+    };
+
+    this.assertSelected = function(element) {
+        var selectedId = element.options[element.selectedIndex].id;
+        Assert.matches(this.id, selectedId)
+    };
+};
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/user-extensions.js.sample
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/user-extensions.js.sample	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/user-extensions.js.sample	(revision 4307)
@@ -0,0 +1,75 @@
+/*
+ * By default, Selenium looks for a file called "user-extensions.js", and loads and javascript
+ * code found in that file. This file is a sample of what that file could look like.
+ *
+ * user-extensions.js provides a convenient location for adding extensions to Selenium, like
+ * new actions, checks and locator-strategies.
+ * By default, this file does not exist. Users can create this file and place their extension code
+ * in this common location, removing the need to modify the Selenium sources, and hopefully assisting
+ * with the upgrade process.
+ *
+ * You can find contributed extensions at http://wiki.openqa.org/display/SEL/Contributed%20User-Extensions
+ */
+
+// The following examples try to give an indication of how Selenium can be extended with javascript.
+
+// All do* methods on the Selenium prototype are added as actions.
+// Eg add a typeRepeated action to Selenium, which types the text twice into a text box.
+// The typeTwiceAndWait command will be available automatically
+Selenium.prototype.doTypeRepeated = function(locator, text) {
+    // All locator-strategies are automatically handled by "findElement"
+    var element = this.page().findElement(locator);
+
+    // Create the text to type
+    var valueToType = text + text;
+
+    // Replace the element text with the new text
+    this.page().replaceText(element, valueToType);
+};
+
+// All assert* methods on the Selenium prototype are added as checks.
+// Eg add a assertValueRepeated check, that makes sure that the element value
+// consists of the supplied text repeated.
+// The verify version will be available automatically.
+Selenium.prototype.assertValueRepeated = function(locator, text) {
+    // All locator-strategies are automatically handled by "findElement"
+    var element = this.page().findElement(locator);
+
+    // Create the text to verify
+    var expectedValue = text + text;
+
+    // Get the actual element value
+    var actualValue = element.value;
+
+    // Make sure the actual value matches the expected
+    Assert.matches(expectedValue, actualValue);
+};
+
+// All get* methods on the Selenium prototype result in
+// store, assert, assertNot, verify, verifyNot, waitFor, and waitForNot commands.
+// E.g. add a getTextLength method that returns the length of the text
+// of a specified element.
+// Will result in support for storeTextLength, assertTextLength, etc.
+Selenium.prototype.getTextLength = function(locator) {
+	return this.getText(locator).length;
+};
+
+// All locateElementBy* methods are added as locator-strategies.
+// Eg add a "valuerepeated=" locator, that finds the first element with the supplied value, repeated.
+// The "inDocument" is a the document you are searching.
+PageBot.prototype.locateElementByValueRepeated = function(text, inDocument) {
+    // Create the text to search for
+    var expectedValue = text + text;
+
+    // Loop through all elements, looking for ones that have a value === our expected value
+    var allElements = inDocument.getElementsByTagName("*");
+    for (var i = 0; i < allElements.length; i++) {
+        var testElement = allElements[i];
+        if (testElement.value && testElement.value === expectedValue) {
+            return testElement;
+        }
+    }
+    return null;
+};
+
+
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/find_matching_child.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/find_matching_child.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/scripts/find_matching_child.js	(revision 4307)
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2004 ThoughtWorks, Inc
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+elementFindMatchingChildren = function(element, selector) {
+  var matches = [];
+
+  var childCount = element.childNodes.length;
+  for (var i=0; i<childCount; i++) {
+    var child = element.childNodes[i];
+    if (selector(child)) {
+      matches.push(child);
+    } else {
+      childMatches = elementFindMatchingChildren(child, selector);
+      matches.push(childMatches);
+    }
+  }
+
+  return matches.flatten();
+}
+
+ELEMENT_NODE_TYPE = 1;
+
+elementFindFirstMatchingChild = function(element, selector) {
+
+  var childCount = element.childNodes.length;
+  for (var i=0; i<childCount; i++) {
+    var child = element.childNodes[i];
+    if (child.nodeType == ELEMENT_NODE_TYPE) {
+      if (selector(child)) {
+        return child;
+      }
+      result = elementFindFirstMatchingChild(child, selector);
+      if (result) {
+        return result;
+      }
+    }
+  }
+  return null;
+}
+
+elementFindFirstMatchingParent = function(element, selector) {
+  var current = element.parentNode;
+  while (current != null) {
+    if (selector(current)) {
+      break;
+    }
+    current = current.parentNode;
+  }
+  return current;
+}
+
+elementFindMatchingChildById = function(element, id) {
+  return elementFindFirstMatchingChild(element, function(element){return element.id==id} );
+}
+
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/InjectedRemoteRunner.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/InjectedRemoteRunner.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/InjectedRemoteRunner.html	(revision 4307)
@@ -0,0 +1,8 @@
+<html>
+    <head>
+        <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
+    </head>
+<body>
+    <h3>selenium-rc initial page</h3>
+</body>
+</html>
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/domviewer/domviewer.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/domviewer/domviewer.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/domviewer/domviewer.html	(revision 4307)
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+    <head>
+        <title>DOM Viewer</title>
+        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+        <link rel="stylesheet" type="text/css" href="domviewer.css"/>
+        <script type="text/javascript" src="selenium-domviewer.js"></script>
+    </head>
+	<body onload="loadDomViewer();">
+		<h3>DOM Viewer</h3>
+		<p> This page is generated using JavaScript. If you see this text, your 
+			browser doesn't support JavaScript.</p>
+	</body>
+	
+</html>
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/selenium-logo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/selenium-logo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/icons/continue.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/icons/continue.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/icons/selected.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/icons/selected.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/config.xml
===================================================================
--- lib/spatial/mapbuilder/config.xml	(nonexistent)
+++ lib/spatial/mapbuilder/config.xml	(revision 4307)
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="simpleTemplate" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+	<models>
+		<Context id="mainMap">
+			<defaultModelUrl>examples/data/context/demisWorldMap.xml</defaultModelUrl>
+			<widgets>
+				<MapPaneOL id="mainMapWidget">
+					<htmlTagId>mainMapPane</htmlTagId>
+          			<fixedSize>true</fixedSize>
+				</MapPaneOL>
+        <CursorTrack id="cursorTrack">
+          <mouseHandler>mainMap</mouseHandler>
+          <showXY>false</showXY>
+        </CursorTrack>
+			</widgets>
+			<tools>
+			 	<History id="extentHistory"/>
+			</tools>
+		</Context>
+	</models>
+	<widgets>
+		<Back id="back">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/UndoDisable.png</disabledSrc>
+    </Back>
+    <Forward id="forward">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/RedoDisable.png</disabledSrc>
+    </Forward>
+		<ZoomIn id="zoomIn">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>RadioButton</class>
+			<selected>true</selected>
+			<enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+			<disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+		</ZoomIn>
+		<ZoomOut id="zoomOut">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>RadioButton</class>
+			<enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+			<disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+		</ZoomOut>
+		<DragPan id="dragPan">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>RadioButton</class>
+			<enabledSrc>/images/PanEnable.png</enabledSrc>
+			<disabledSrc>/images/PanDisable.png</disabledSrc>
+		</DragPan>
+		<Reset id="reset">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>Button</class>
+			<disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+		</Reset>
+	</widgets>
+	<skinDir>lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/lib/model/WpsDescribeProcess.js
===================================================================
--- lib/spatial/mapbuilder/lib/model/WpsDescribeProcess.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/model/WpsDescribeProcess.js	(revision 4307)
@@ -1,13 +1,17 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: WpsDescribeProcess.js 3657 2007-11-29 09:04:26Z gjvoosten $
 */
 
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+
 /**
  * Stores a Web Processing service (WPS) Capabilities document as defined by the 
- * Open Geospatial Consortium (http://opengis.org).
+ * Open Geospatial Consortium (http://www.opengeospatial.org/).
  *
  * @constructor
+ * @base ModelBase
  * @author Mike Adair
  * @param modelNode   The model's XML object node from the configuration document.
  * @param parent The model object that this widget belongs to.
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/icons/all.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/icons/all.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/TestRunner.html
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/TestRunner.html	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/TestRunner.html	(revision 4307)
@@ -0,0 +1,175 @@
+<html>
+
+<head>
+    <HTA:APPLICATION ID="SeleniumHTARunner" APPLICATIONNAME="Selenium">
+        <!-- the previous line is only relevant if you rename this
+     file to "TestRunner.hta" -->
+
+        <!-- The copyright notice and other comments have been moved to after the HTA declaration,
+to work-around a bug in IE on Win2K whereby the HTA application doesn't function correctly -->
+        <!--
+        Copyright 2004 ThoughtWorks, Inc
+
+         Licensed under the Apache License, Version 2.0 (the "License");
+         you may not use this file except in compliance with the License.
+         You may obtain a copy of the License at
+
+             http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing, software
+         distributed under the License is distributed on an "AS IS" BASIS,
+         WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+         See the License for the specific language governing permissions and
+         limitations under the License.
+        -->
+        <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"/>
+
+        <title>Selenium Functional Test Runner</title>
+        <link rel="stylesheet" type="text/css" href="selenium.css"/>
+        <script type="text/javascript" src="scripts/narcissus-defs.js"></script>
+        <script type="text/javascript" src="scripts/narcissus-parse.js"></script>
+        <script type="text/javascript" src="scripts/narcissus-exec.js"></script>
+        <script language="JavaScript" type="text/javascript" src="lib/prototype.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/htmlutils.js"></script>
+        <script language="JavaScript" type="text/javascript" src="lib/scriptaculous/scriptaculous.js"></script>
+        <script language="JavaScript" type="text/javascript" src="lib/cssQuery/cssQuery-p.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/selenium-browserdetect.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/selenium-browserbot.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/find_matching_child.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/selenium-api.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/selenium-commandhandlers.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/selenium-executionloop.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/selenium-testrunner.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/selenium-logging.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/selenium-version.js"></script>
+        <script language="JavaScript" type="text/javascript" src="xpath/misc.js"></script>
+        <script language="JavaScript" type="text/javascript" src="xpath/dom.js"></script>
+        <script language="JavaScript" type="text/javascript" src="xpath/xpath.js"></script>
+        <script language="JavaScript" type="text/javascript" src="scripts/user-extensions.js"></script>
+        <script language="JavaScript" type="text/javascript">
+            function openDomViewer() {
+                var autFrame = document.getElementById('myiframe');
+                var autFrameDocument = new SeleniumFrame(autFrame).getDocument();
+                this.rootDocument = autFrameDocument;
+                var domViewer = window.open(getDocumentBase(document) + 'domviewer/domviewer.html');
+                return false;
+            }
+        </script>
+</head>
+
+<body onLoad="onSeleniumLoad();">
+<table class="layout">
+<form action="" name="controlPanel">
+
+<!-- Suite, Test, Control Panel -->
+
+<tr class="selenium">
+<td width="25%" height="30%">
+    <iframe name="testSuiteFrame" id="testSuiteFrame" src="./TestPrompt.html" application="yes"></iframe>
+</td>
+<td width="50%" height="30%">
+    <iframe name="testFrame" id="testFrame" application="yes"></iframe>
+</td>
+
+<td width="25%">
+    <table class="layout">
+        <tr class="selenium">
+            <th width="25%" height="1" class="header">
+                <h1><a href="http://selenium.thoughtworks.com" title="The Selenium Project">Selenium</a> TestRunner
+                </h1>
+            </th>
+        </tr>
+        <tr>
+            <td width="25%" height="30%" id="controlPanel">
+                <fieldset>
+                    <legend>Execute Tests</legend>
+
+                    <div id="imageButtonPanel">
+                        <button type="button" id="runSuite" onClick="htmlTestRunner.startTestSuite();"
+                                title="Run All tests">
+                        </button>
+                        <button type="button" id="runSeleniumTest" onClick="htmlTestRunner.runSingleTest();"
+                                title="Run the Selected test">
+                        </button>
+                        <button type="button" id="pauseTest" disabled="disabled"
+                                title="Pause/Continue" class="cssPauseTest">
+                        </button>
+                        <button type="button" id="stepTest" disabled="disabled"
+                                title="Step">
+                        </button>
+                    </div>
+
+                    <div style="float:left">Fast</div>
+                    <div style="float:right">Slow</div>
+                    <br/>
+                    <div id="speedSlider">
+                        <div id="speedTrack">&nbsp;</div>
+                        <div id="speedHandle">&nbsp;</div>
+                    </div>
+
+                    <div class="executionOptions">
+                        <input id="highlightOption" type="checkbox" name="highlightOption" value="0"/>
+                        <label for="highlightOption">Highlight elements</label>
+                    </div>
+
+                </fieldset>
+
+                <table id="stats" align="center">
+                    <tr>
+                        <td colspan="2" align="right">Elapsed:</td>
+                        <td id="elapsedTime" colspan="2">00.00</td>
+                    </tr>
+                    <tr>
+                        <th colspan="2">Tests</th>
+                        <th colspan="2">Commands</th>
+                    </tr>
+                    <tr>
+                        <td class="count" id="testRuns">0</td>
+                        <td>run</td>
+                        <td class="count" id="commandPasses">0</td>
+                        <td>passed</td>
+                    </tr>
+                    <tr>
+                        <td class="count" id="testFailures">0</td>
+                        <td>failed</td>
+                        <td class="count" id="commandFailures">0</td>
+                        <td>failed</td>
+                    </tr>
+                    <tr>
+                        <td colspan="2"></td>
+                        <td class="count" id="commandErrors">0</td>
+                        <td>incomplete</td>
+                    </tr>
+                </table>
+
+                <fieldset>
+                    <legend>Tools</legend>
+
+                    <button type="button" id="domViewer1" onClick="openDomViewer();">
+                        View DOM
+                    </button>
+                    <button type="button" onClick="LOG.show();">
+                        Show Log
+                    </button>
+
+                </fieldset>
+
+            </td>
+        </tr>
+    </table>
+</td>
+</tr>
+
+<!-- AUT -->
+
+<tr>
+    <td colspan="3" height="70%">
+        <iframe name="myiframe" id="myiframe" src="TestRunner-splash.html"></iframe>
+    </td>
+</tr>
+
+    </form>
+    </table>
+
+</body>
+</html>
Index: lib/spatial/mapbuilder/lib/model/FeatureCollection.js
===================================================================
--- lib/spatial/mapbuilder/lib/model/FeatureCollection.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/model/FeatureCollection.js	(revision 4307)
@@ -1,11 +1,14 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: FeatureCollection.js 3882 2008-02-27 15:41:33Z gjvoosten $
 */
 
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+
 /**
  * Stores a GML Feature or FeatureCollection as defined by the
- * Open GIS Conortium http://opengis.org.
+ * Open Geospatial Consortium (http://www.opengeospatial.org/).
  *
  * @constructor
  * @base ModelBase
@@ -18,10 +21,15 @@
   // Inherit the ModelBase functions and parameters
   ModelBase.apply(this, new Array(modelNode, parent));
 
+  this.featureTagName = this.getProperty("mb:featureTagName", "topp:CITY_NAME");
+  this.coordsTagName = this.getProperty("mb:coordsTagName", "//gml:coordinates");
+  this.nodeSelectXpath = this.getProperty("mb:nodeSelectXpath");
+  this.coordSelectXpath = this.getProperty("mb:coordSelectXpath", "topp:the_geom/gml:MultiPoint/gml:pointMember/gml:Point/gml:coordinates");
+
   // Namespace to use when doing Xpath queries, usually set in config file.
-  if (!this.namespace){
-    this.namespace = "xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs'";
-  }
+  //if (!this.namespace){
+  //  this.namespace = "xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs'";
+  //}
 
   /**
    * convert coordinates in the GML document to the SRS of the map container, 
@@ -29,34 +37,77 @@
    * @param objRef Pointer to this object.
    */
   this.convertCoords = function(objRef) {
+  
     if( objRef.doc && objRef.containerModel && objRef.containerModel.doc ) {
-	  var coordNodes = objRef.doc.selectNodes("//gml:coordinates");
-	  if (coordNodes.length>0 && objRef.containerModel) {
-	    var srsNode = coordNodes[0].selectSingleNode("ancestor-or-self::*/@srsName");
-	    if ( srsNode.nodeValue.toUpperCase() != objRef.containerModel.getSRS().toUpperCase() ) {
-	      var sourceProj = new Proj(srsNode.nodeValue);
-	      objRef.setParam("modelStatus","converting coordinates");
-	      var containerProj = new Proj(objRef.containerModel.getSRS());
-	      for (var i=0; i<coordNodes.length; ++i) {
-	        var coords = coordNodes[i].firstChild.nodeValue;
-	        var coordsArray = coords.split(' ');
-	        var newCoords = '';
-	        for (var j=0; j<coordsArray.length; ++j) {
-	          var xy = coordsArray[j].split(',');
-	          if (xy.length==2) {
-	            var llTemp = sourceProj.Inverse(xy);
-	            xy = containerProj.Forward(llTemp);
-	            newCoords += xy.join(',') + ' ';
-	          }
-	        }
-	        coordNodes[i].firstChild.nodeValue=newCoords;
-	      }
-	    }
+		  var coordNodes = objRef.doc.selectNodes( objRef.coordsTagName );
+		  if (coordNodes.length>0 && objRef.containerModel) {
+		    var srsNode = coordNodes[0].selectSingleNode("ancestor-or-self::*/@srsName");
+		    if( srsNode && (srsNode.nodeValue.toUpperCase() != objRef.containerModel.getSRS().toUpperCase()) ) {
+		      var sourceProj = new OpenLayers.Projection(srsNode.nodeValue);
+		      objRef.setParam("modelStatus",mbGetMessage("convertingCoords"));
+		      var containerProj = new OpenLayers.Projection(objRef.containerModel.getSRS());
+		      for (var i=0; i<coordNodes.length; ++i) {
+		        var coords = getNodeValue(coordNodes[i]);
+		        var coordsArray = coords.split(' ');
+		        var newCoords = '';
+		        for (var j=0; j<coordsArray.length; ++j) {
+		          var xy = coordsArray[j].split(',');
+		          if (xy.length==2) {
+		            var pt=new OpenLayers.Geometry.Point(xy[0],xy[1]);
+                pt.transform(sourceProj,containerProj);
+		            newCoords += pt.x + ',' + pt.y + ' ';
+		          }
+		        }
+		        coordNodes[i].firstChild.nodeValue=newCoords;
+		      }
+		    }
       }
     }
   }
+  
+  /**
+    * Called when the OWSContext gets loaded
+    */
+  this.loadWfsRequests = function(objRef) {
+    //alert( "FeatureCollection loadModel:"+(new XMLSerializer()).serializeToString(objRef.containerModel.doc))
+    // we need to retrieve all the features
+    if( objRef.containerModel.doc != null) {
+      //alert( "FeatureCollection loadModel:"+(new XMLSerializer()).serializeToString(objRef.containerModel.doc))
+      var featureTypes = objRef.containerModel.doc.selectNodes("/wmc:OWSContext/wmc:ResourceList/wmc:FeatureType");
+      if( featureTypes.length > 0 ) {
+        for( var i=0; i<featureTypes.length; i++) {
+          var httpPayload = new Object();        
+        
+          var wfsFeature = featureTypes[i]
+          //alert( "feature:"+ (new XMLSerializer()).serializeToString(wfsFeature) )
+          
+          var server = wfsFeature.selectSingleNode("wmc:Server")
+          //alert( "server:"+ (new XMLSerializer()).serializeToString(server) )
+          var onlineResource = server.selectSingleNode("wmc:OnlineResource")
+          //alert( "onlineResource:"+ (new XMLSerializer()).serializeToString(onlineResource) )
+          httpPayload.method = onlineResource.getAttribute("method")
+          httpPayload.url = onlineResource.getAttribute("xlink:href")
+          //alert( "server:"+ httpPayload.method + " " + httpPayload.url )
+          
+          var query = wfsFeature.selectSingleNode("wfs:GetFeature")
+          //alert( "query2:"+ (new XMLSerializer()).serializeToString( query ))
+          httpPayload.postData = (new XMLSerializer()).serializeToString( query )
+          
+          // This does not work on IE for some reaso
+          // wfsFeature.model = objRef;
+          objRef.wfsFeature = wfsFeature
+          objRef.newRequest(objRef,httpPayload);
+
+          //objRef.containerModel.setParam('addLayer', wfsFeature);
+          //var sld = wfsFeature.selectSingleNode("wmc:StyleList")
+        }
+      }
+    }
+  }
+  
   this.addFirstListener("loadModel",this.convertCoords,this);
-  if( this.containerModel ) this.containerModel.addListener("loadModel",this.convertCoords,this);
+  
+  if( this.containerModel ) this.containerModel.addListener("loadModel",this.loadWfsRequests,this);
 
   /**
    * Change a feature's visibility.
@@ -80,7 +131,7 @@
 
   /**
    * Returns the list of nodes selected by the nodeSelectpath.  These nodes
-   * will be the individual feature memebers from the collection.
+   * will be the individual feature members from the collection.
    * @return list of nodes selected 
    */
   this.getFeatureNodes = function() {
@@ -93,8 +144,8 @@
    * @return a label for this feature
    */
   this.getFeatureName = function(featureNode) {
-    var labelNode = featureNode.selectSingleNode("topp:CITY_NAME");   //TBD: set this dynamically
-    return labelNode?labelNode.firstChild.nodeValue:"No RSS title";
+    var labelNode = featureNode.selectSingleNode(this.featureTagName);   //TBD: set this dynamically
+    return labelNode?getNodeValue(labelNode):mbGetMessage("noRssTitle");
   }
 
   /**
@@ -112,16 +163,26 @@
    * @return the geometric point for the node
    */
   this.getFeaturePoint = function(featureNode) {
-	 var coordSelectXpath = "topp:the_geom/gml:MultiPoint/gml:pointMember/gml:Point/gml:coordinates";//TBD: set this dynamically
-    var coords = featureNode.selectSingleNode(coordSelectXpath);
+    var coords = featureNode.selectSingleNode(this.coordSelectXpath);
     if (coords) {
-      var point = coords.firstChild.nodeValue.split(',');
+      var point = getNodeValue(coords).split(',');
       return point
     } else {
       return new Array(0,0);  //or some other error to return?
     }
   }
-
-
+  
+ /**
+   * Returns a GML geometry for the feature
+   * @param featureNode the feature node to select from
+   * @return the GML for the node
+   */
+  this.getFeatureGeometry = function(featureNode) {
+    var geometryTag = featureNode.selectSingleNode(this.coordsTagName);
+    if( geometryTag != null )
+      return geometryTag.firstChild;
+    else {
+      alert(mbGetMessage("invalidGeom", (new XMLSerializer()).serializeToString(featureNode)));
+    }
+  }
 }
-
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/effects.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/effects.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/effects.js	(revision 4307)
@@ -0,0 +1,958 @@
+// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
+// Contributors:
+//  Justin Palmer (http://encytemedia.com/)
+//  Mark Pilgrim (http://diveintomark.org/)
+//  Martin Bialasinki
+// 
+// See scriptaculous.js for full license.  
+
+// converts rgb() and #xxx to #xxxxxx format,  
+// returns self (or first argument) if not convertable  
+String.prototype.parseColor = function() {  
+  var color = '#';  
+  if(this.slice(0,4) == 'rgb(') {  
+    var cols = this.slice(4,this.length-1).split(',');  
+    var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3);  
+  } else {  
+    if(this.slice(0,1) == '#') {  
+      if(this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase();  
+      if(this.length==7) color = this.toLowerCase();  
+    }  
+  }  
+  return(color.length==7 ? color : (arguments[0] || this));  
+}
+
+/*--------------------------------------------------------------------------*/
+
+Element.collectTextNodes = function(element) {  
+  return $A($(element).childNodes).collect( function(node) {
+    return (node.nodeType==3 ? node.nodeValue : 
+      (node.hasChildNodes() ? Element.collectTextNodes(node) : ''));
+  }).flatten().join('');
+}
+
+Element.collectTextNodesIgnoreClass = function(element, className) {  
+  return $A($(element).childNodes).collect( function(node) {
+    return (node.nodeType==3 ? node.nodeValue : 
+      ((node.hasChildNodes() && !Element.hasClassName(node,className)) ? 
+        Element.collectTextNodesIgnoreClass(node, className) : ''));
+  }).flatten().join('');
+}
+
+Element.setContentZoom = function(element, percent) {
+  element = $(element);  
+  Element.setStyle(element, {fontSize: (percent/100) + 'em'});   
+  if(navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0);
+}
+
+Element.getOpacity = function(element){  
+  var opacity;
+  if (opacity = Element.getStyle(element, 'opacity'))  
+    return parseFloat(opacity);  
+  if (opacity = (Element.getStyle(element, 'filter') || '').match(/alpha\(opacity=(.*)\)/))  
+    if(opacity[1]) return parseFloat(opacity[1]) / 100;  
+  return 1.0;  
+}
+
+Element.setOpacity = function(element, value){  
+  element= $(element);  
+  if (value == 1){
+    Element.setStyle(element, { opacity: 
+      (/Gecko/.test(navigator.userAgent) && !/Konqueror|Safari|KHTML/.test(navigator.userAgent)) ? 
+      0.999999 : null });
+    if(/MSIE/.test(navigator.userAgent))  
+      Element.setStyle(element, {filter: Element.getStyle(element,'filter').replace(/alpha\([^\)]*\)/gi,'')});  
+  } else {  
+    if(value < 0.00001) value = 0;  
+    Element.setStyle(element, {opacity: value});
+    if(/MSIE/.test(navigator.userAgent))  
+     Element.setStyle(element, 
+       { filter: Element.getStyle(element,'filter').replace(/alpha\([^\)]*\)/gi,'') +
+                 'alpha(opacity='+value*100+')' });  
+  }
+}  
+ 
+Element.getInlineOpacity = function(element){  
+  return $(element).style.opacity || '';
+}  
+
+Element.childrenWithClassName = function(element, className, findFirst) {
+  var classNameRegExp = new RegExp("(^|\\s)" + className + "(\\s|$)");
+  var results = $A($(element).getElementsByTagName('*'))[findFirst ? 'detect' : 'select']( function(c) { 
+    return (c.className && c.className.match(classNameRegExp));
+  });
+  if(!results) results = [];
+  return results;
+}
+
+Element.forceRerendering = function(element) {
+  try {
+    element = $(element);
+    var n = document.createTextNode(' ');
+    element.appendChild(n);
+    element.removeChild(n);
+  } catch(e) { }
+};
+
+/*--------------------------------------------------------------------------*/
+
+Array.prototype.call = function() {
+  var args = arguments;
+  this.each(function(f){ f.apply(this, args) });
+}
+
+/*--------------------------------------------------------------------------*/
+
+var Effect = {
+  tagifyText: function(element) {
+    var tagifyStyle = 'position:relative';
+    if(/MSIE/.test(navigator.userAgent)) tagifyStyle += ';zoom:1';
+    element = $(element);
+    $A(element.childNodes).each( function(child) {
+      if(child.nodeType==3) {
+        child.nodeValue.toArray().each( function(character) {
+          element.insertBefore(
+            Builder.node('span',{style: tagifyStyle},
+              character == ' ' ? String.fromCharCode(160) : character), 
+              child);
+        });
+        Element.remove(child);
+      }
+    });
+  },
+  multiple: function(element, effect) {
+    var elements;
+    if(((typeof element == 'object') || 
+        (typeof element == 'function')) && 
+       (element.length))
+      elements = element;
+    else
+      elements = $(element).childNodes;
+      
+    var options = Object.extend({
+      speed: 0.1,
+      delay: 0.0
+    }, arguments[2] || {});
+    var masterDelay = options.delay;
+
+    $A(elements).each( function(element, index) {
+      new effect(element, Object.extend(options, { delay: index * options.speed + masterDelay }));
+    });
+  },
+  PAIRS: {
+    'slide':  ['SlideDown','SlideUp'],
+    'blind':  ['BlindDown','BlindUp'],
+    'appear': ['Appear','Fade']
+  },
+  toggle: function(element, effect) {
+    element = $(element);
+    effect = (effect || 'appear').toLowerCase();
+    var options = Object.extend({
+      queue: { position:'end', scope:(element.id || 'global'), limit: 1 }
+    }, arguments[2] || {});
+    Effect[element.visible() ? 
+      Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, options);
+  }
+};
+
+var Effect2 = Effect; // deprecated
+
+/* ------------- transitions ------------- */
+
+Effect.Transitions = {}
+
+Effect.Transitions.linear = function(pos) {
+  return pos;
+}
+Effect.Transitions.sinoidal = function(pos) {
+  return (-Math.cos(pos*Math.PI)/2) + 0.5;
+}
+Effect.Transitions.reverse  = function(pos) {
+  return 1-pos;
+}
+Effect.Transitions.flicker = function(pos) {
+  return ((-Math.cos(pos*Math.PI)/4) + 0.75) + Math.random()/4;
+}
+Effect.Transitions.wobble = function(pos) {
+  return (-Math.cos(pos*Math.PI*(9*pos))/2) + 0.5;
+}
+Effect.Transitions.pulse = function(pos) {
+  return (Math.floor(pos*10) % 2 == 0 ? 
+    (pos*10-Math.floor(pos*10)) : 1-(pos*10-Math.floor(pos*10)));
+}
+Effect.Transitions.none = function(pos) {
+  return 0;
+}
+Effect.Transitions.full = function(pos) {
+  return 1;
+}
+
+/* ------------- core effects ------------- */
+
+Effect.ScopedQueue = Class.create();
+Object.extend(Object.extend(Effect.ScopedQueue.prototype, Enumerable), {
+  initialize: function() {
+    this.effects  = [];
+    this.interval = null;
+  },
+  _each: function(iterator) {
+    this.effects._each(iterator);
+  },
+  add: function(effect) {
+    var timestamp = new Date().getTime();
+    
+    var position = (typeof effect.options.queue == 'string') ? 
+      effect.options.queue : effect.options.queue.position;
+    
+    switch(position) {
+      case 'front':
+        // move unstarted effects after this effect  
+        this.effects.findAll(function(e){ return e.state=='idle' }).each( function(e) {
+            e.startOn  += effect.finishOn;
+            e.finishOn += effect.finishOn;
+          });
+        break;
+      case 'end':
+        // start effect after last queued effect has finished
+        timestamp = this.effects.pluck('finishOn').max() || timestamp;
+        break;
+    }
+    
+    effect.startOn  += timestamp;
+    effect.finishOn += timestamp;
+
+    if(!effect.options.queue.limit || (this.effects.length < effect.options.queue.limit))
+      this.effects.push(effect);
+    
+    if(!this.interval) 
+      this.interval = setInterval(this.loop.bind(this), 40);
+  },
+  remove: function(effect) {
+    this.effects = this.effects.reject(function(e) { return e==effect });
+    if(this.effects.length == 0) {
+      clearInterval(this.interval);
+      this.interval = null;
+    }
+  },
+  loop: function() {
+    var timePos = new Date().getTime();
+    this.effects.invoke('loop', timePos);
+  }
+});
+
+Effect.Queues = {
+  instances: $H(),
+  get: function(queueName) {
+    if(typeof queueName != 'string') return queueName;
+    
+    if(!this.instances[queueName])
+      this.instances[queueName] = new Effect.ScopedQueue();
+      
+    return this.instances[queueName];
+  }
+}
+Effect.Queue = Effect.Queues.get('global');
+
+Effect.DefaultOptions = {
+  transition: Effect.Transitions.sinoidal,
+  duration:   1.0,   // seconds
+  fps:        25.0,  // max. 25fps due to Effect.Queue implementation
+  sync:       false, // true for combining
+  from:       0.0,
+  to:         1.0,
+  delay:      0.0,
+  queue:      'parallel'
+}
+
+Effect.Base = function() {};
+Effect.Base.prototype = {
+  position: null,
+  start: function(options) {
+    this.options      = Object.extend(Object.extend({},Effect.DefaultOptions), options || {});
+    this.currentFrame = 0;
+    this.state        = 'idle';
+    this.startOn      = this.options.delay*1000;
+    this.finishOn     = this.startOn + (this.options.duration*1000);
+    this.event('beforeStart');
+    if(!this.options.sync)
+      Effect.Queues.get(typeof this.options.queue == 'string' ? 
+        'global' : this.options.queue.scope).add(this);
+  },
+  loop: function(timePos) {
+    if(timePos >= this.startOn) {
+      if(timePos >= this.finishOn) {
+        this.render(1.0);
+        this.cancel();
+        this.event('beforeFinish');
+        if(this.finish) this.finish(); 
+        this.event('afterFinish');
+        return;  
+      }
+      var pos   = (timePos - this.startOn) / (this.finishOn - this.startOn);
+      var frame = Math.round(pos * this.options.fps * this.options.duration);
+      if(frame > this.currentFrame) {
+        this.render(pos);
+        this.currentFrame = frame;
+      }
+    }
+  },
+  render: function(pos) {
+    if(this.state == 'idle') {
+      this.state = 'running';
+      this.event('beforeSetup');
+      if(this.setup) this.setup();
+      this.event('afterSetup');
+    }
+    if(this.state == 'running') {
+      if(this.options.transition) pos = this.options.transition(pos);
+      pos *= (this.options.to-this.options.from);
+      pos += this.options.from;
+      this.position = pos;
+      this.event('beforeUpdate');
+      if(this.update) this.update(pos);
+      this.event('afterUpdate');
+    }
+  },
+  cancel: function() {
+    if(!this.options.sync)
+      Effect.Queues.get(typeof this.options.queue == 'string' ? 
+        'global' : this.options.queue.scope).remove(this);
+    this.state = 'finished';
+  },
+  event: function(eventName) {
+    if(this.options[eventName + 'Internal']) this.options[eventName + 'Internal'](this);
+    if(this.options[eventName]) this.options[eventName](this);
+  },
+  inspect: function() {
+    return '#<Effect:' + $H(this).inspect() + ',options:' + $H(this.options).inspect() + '>';
+  }
+}
+
+Effect.Parallel = Class.create();
+Object.extend(Object.extend(Effect.Parallel.prototype, Effect.Base.prototype), {
+  initialize: function(effects) {
+    this.effects = effects || [];
+    this.start(arguments[1]);
+  },
+  update: function(position) {
+    this.effects.invoke('render', position);
+  },
+  finish: function(position) {
+    this.effects.each( function(effect) {
+      effect.render(1.0);
+      effect.cancel();
+      effect.event('beforeFinish');
+      if(effect.finish) effect.finish(position);
+      effect.event('afterFinish');
+    });
+  }
+});
+
+Effect.Opacity = Class.create();
+Object.extend(Object.extend(Effect.Opacity.prototype, Effect.Base.prototype), {
+  initialize: function(element) {
+    this.element = $(element);
+    // make this work on IE on elements without 'layout'
+    if(/MSIE/.test(navigator.userAgent) && (!this.element.hasLayout))
+      this.element.setStyle({zoom: 1});
+    var options = Object.extend({
+      from: this.element.getOpacity() || 0.0,
+      to:   1.0
+    }, arguments[1] || {});
+    this.start(options);
+  },
+  update: function(position) {
+    this.element.setOpacity(position);
+  }
+});
+
+Effect.Move = Class.create();
+Object.extend(Object.extend(Effect.Move.prototype, Effect.Base.prototype), {
+  initialize: function(element) {
+    this.element = $(element);
+    var options = Object.extend({
+      x:    0,
+      y:    0,
+      mode: 'relative'
+    }, arguments[1] || {});
+    this.start(options);
+  },
+  setup: function() {
+    // Bug in Opera: Opera returns the "real" position of a static element or
+    // relative element that does not have top/left explicitly set.
+    // ==> Always set top and left for position relative elements in your stylesheets 
+    // (to 0 if you do not need them) 
+    this.element.makePositioned();
+    this.originalLeft = parseFloat(this.element.getStyle('left') || '0');
+    this.originalTop  = parseFloat(this.element.getStyle('top')  || '0');
+    if(this.options.mode == 'absolute') {
+      // absolute movement, so we need to calc deltaX and deltaY
+      this.options.x = this.options.x - this.originalLeft;
+      this.options.y = this.options.y - this.originalTop;
+    }
+  },
+  update: function(position) {
+    this.element.setStyle({
+      left: this.options.x  * position + this.originalLeft + 'px',
+      top:  this.options.y  * position + this.originalTop  + 'px'
+    });
+  }
+});
+
+// for backwards compatibility
+Effect.MoveBy = function(element, toTop, toLeft) {
+  return new Effect.Move(element, 
+    Object.extend({ x: toLeft, y: toTop }, arguments[3] || {}));
+};
+
+Effect.Scale = Class.create();
+Object.extend(Object.extend(Effect.Scale.prototype, Effect.Base.prototype), {
+  initialize: function(element, percent) {
+    this.element = $(element)
+    var options = Object.extend({
+      scaleX: true,
+      scaleY: true,
+      scaleContent: true,
+      scaleFromCenter: false,
+      scaleMode: 'box',        // 'box' or 'contents' or {} with provided values
+      scaleFrom: 100.0,
+      scaleTo:   percent
+    }, arguments[2] || {});
+    this.start(options);
+  },
+  setup: function() {
+    this.restoreAfterFinish = this.options.restoreAfterFinish || false;
+    this.elementPositioning = this.element.getStyle('position');
+    
+    this.originalStyle = {};
+    ['top','left','width','height','fontSize'].each( function(k) {
+      this.originalStyle[k] = this.element.style[k];
+    }.bind(this));
+      
+    this.originalTop  = this.element.offsetTop;
+    this.originalLeft = this.element.offsetLeft;
+    
+    var fontSize = this.element.getStyle('font-size') || '100%';
+    ['em','px','%'].each( function(fontSizeType) {
+      if(fontSize.indexOf(fontSizeType)>0) {
+        this.fontSize     = parseFloat(fontSize);
+        this.fontSizeType = fontSizeType;
+      }
+    }.bind(this));
+    
+    this.factor = (this.options.scaleTo - this.options.scaleFrom)/100;
+    
+    this.dims = null;
+    if(this.options.scaleMode=='box')
+      this.dims = [this.element.offsetHeight, this.element.offsetWidth];
+    if(/^content/.test(this.options.scaleMode))
+      this.dims = [this.element.scrollHeight, this.element.scrollWidth];
+    if(!this.dims)
+      this.dims = [this.options.scaleMode.originalHeight,
+                   this.options.scaleMode.originalWidth];
+  },
+  update: function(position) {
+    var currentScale = (this.options.scaleFrom/100.0) + (this.factor * position);
+    if(this.options.scaleContent && this.fontSize)
+      this.element.setStyle({fontSize: this.fontSize * currentScale + this.fontSizeType });
+    this.setDimensions(this.dims[0] * currentScale, this.dims[1] * currentScale);
+  },
+  finish: function(position) {
+    if (this.restoreAfterFinish) this.element.setStyle(this.originalStyle);
+  },
+  setDimensions: function(height, width) {
+    var d = {};
+    if(this.options.scaleX) d.width = width + 'px';
+    if(this.options.scaleY) d.height = height + 'px';
+    if(this.options.scaleFromCenter) {
+      var topd  = (height - this.dims[0])/2;
+      var leftd = (width  - this.dims[1])/2;
+      if(this.elementPositioning == 'absolute') {
+        if(this.options.scaleY) d.top = this.originalTop-topd + 'px';
+        if(this.options.scaleX) d.left = this.originalLeft-leftd + 'px';
+      } else {
+        if(this.options.scaleY) d.top = -topd + 'px';
+        if(this.options.scaleX) d.left = -leftd + 'px';
+      }
+    }
+    this.element.setStyle(d);
+  }
+});
+
+Effect.Highlight = Class.create();
+Object.extend(Object.extend(Effect.Highlight.prototype, Effect.Base.prototype), {
+  initialize: function(element) {
+    this.element = $(element);
+    var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || {});
+    this.start(options);
+  },
+  setup: function() {
+    // Prevent executing on elements not in the layout flow
+    if(this.element.getStyle('display')=='none') { this.cancel(); return; }
+    // Disable background image during the effect
+    this.oldStyle = {
+      backgroundImage: this.element.getStyle('background-image') };
+    this.element.setStyle({backgroundImage: 'none'});
+    if(!this.options.endcolor)
+      this.options.endcolor = this.element.getStyle('background-color').parseColor('#ffffff');
+    if(!this.options.restorecolor)
+      this.options.restorecolor = this.element.getStyle('background-color');
+    // init color calculations
+    this._base  = $R(0,2).map(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this));
+    this._delta = $R(0,2).map(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] }.bind(this));
+  },
+  update: function(position) {
+    this.element.setStyle({backgroundColor: $R(0,2).inject('#',function(m,v,i){
+      return m+(Math.round(this._base[i]+(this._delta[i]*position)).toColorPart()); }.bind(this)) });
+  },
+  finish: function() {
+    this.element.setStyle(Object.extend(this.oldStyle, {
+      backgroundColor: this.options.restorecolor
+    }));
+  }
+});
+
+Effect.ScrollTo = Class.create();
+Object.extend(Object.extend(Effect.ScrollTo.prototype, Effect.Base.prototype), {
+  initialize: function(element) {
+    this.element = $(element);
+    this.start(arguments[1] || {});
+  },
+  setup: function() {
+    Position.prepare();
+    var offsets = Position.cumulativeOffset(this.element);
+    if(this.options.offset) offsets[1] += this.options.offset;
+    var max = window.innerHeight ? 
+      window.height - window.innerHeight :
+      document.body.scrollHeight - 
+        (document.documentElement.clientHeight ? 
+          document.documentElement.clientHeight : document.body.clientHeight);
+    this.scrollStart = Position.deltaY;
+    this.delta = (offsets[1] > max ? max : offsets[1]) - this.scrollStart;
+  },
+  update: function(position) {
+    Position.prepare();
+    window.scrollTo(Position.deltaX, 
+      this.scrollStart + (position*this.delta));
+  }
+});
+
+/* ------------- combination effects ------------- */
+
+Effect.Fade = function(element) {
+  element = $(element);
+  var oldOpacity = element.getInlineOpacity();
+  var options = Object.extend({
+  from: element.getOpacity() || 1.0,
+  to:   0.0,
+  afterFinishInternal: function(effect) { 
+    if(effect.options.to!=0) return;
+    effect.element.hide();
+    effect.element.setStyle({opacity: oldOpacity}); 
+  }}, arguments[1] || {});
+  return new Effect.Opacity(element,options);
+}
+
+Effect.Appear = function(element) {
+  element = $(element);
+  var options = Object.extend({
+  from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0),
+  to:   1.0,
+  // force Safari to render floated elements properly
+  afterFinishInternal: function(effect) {
+    effect.element.forceRerendering();
+  },
+  beforeSetup: function(effect) {
+    effect.element.setOpacity(effect.options.from);
+    effect.element.show(); 
+  }}, arguments[1] || {});
+  return new Effect.Opacity(element,options);
+}
+
+Effect.Puff = function(element) {
+  element = $(element);
+  var oldStyle = { opacity: element.getInlineOpacity(), position: element.getStyle('position') };
+  return new Effect.Parallel(
+   [ new Effect.Scale(element, 200, 
+      { sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }), 
+     new Effect.Opacity(element, { sync: true, to: 0.0 } ) ], 
+     Object.extend({ duration: 1.0, 
+      beforeSetupInternal: function(effect) {
+        effect.effects[0].element.setStyle({position: 'absolute'}); },
+      afterFinishInternal: function(effect) {
+         effect.effects[0].element.hide();
+         effect.effects[0].element.setStyle(oldStyle); }
+     }, arguments[1] || {})
+   );
+}
+
+Effect.BlindUp = function(element) {
+  element = $(element);
+  element.makeClipping();
+  return new Effect.Scale(element, 0, 
+    Object.extend({ scaleContent: false, 
+      scaleX: false, 
+      restoreAfterFinish: true,
+      afterFinishInternal: function(effect) {
+        effect.element.hide();
+        effect.element.undoClipping();
+      } 
+    }, arguments[1] || {})
+  );
+}
+
+Effect.BlindDown = function(element) {
+  element = $(element);
+  var elementDimensions = element.getDimensions();
+  return new Effect.Scale(element, 100, 
+    Object.extend({ scaleContent: false, 
+      scaleX: false,
+      scaleFrom: 0,
+      scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
+      restoreAfterFinish: true,
+      afterSetup: function(effect) {
+        effect.element.makeClipping();
+        effect.element.setStyle({height: '0px'});
+        effect.element.show(); 
+      },  
+      afterFinishInternal: function(effect) {
+        effect.element.undoClipping();
+      }
+    }, arguments[1] || {})
+  );
+}
+
+Effect.SwitchOff = function(element) {
+  element = $(element);
+  var oldOpacity = element.getInlineOpacity();
+  return new Effect.Appear(element, { 
+    duration: 0.4,
+    from: 0,
+    transition: Effect.Transitions.flicker,
+    afterFinishInternal: function(effect) {
+      new Effect.Scale(effect.element, 1, { 
+        duration: 0.3, scaleFromCenter: true,
+        scaleX: false, scaleContent: false, restoreAfterFinish: true,
+        beforeSetup: function(effect) { 
+          effect.element.makePositioned();
+          effect.element.makeClipping();
+        },
+        afterFinishInternal: function(effect) {
+          effect.element.hide();
+          effect.element.undoClipping();
+          effect.element.undoPositioned();
+          effect.element.setStyle({opacity: oldOpacity});
+        }
+      })
+    }
+  });
+}
+
+Effect.DropOut = function(element) {
+  element = $(element);
+  var oldStyle = {
+    top: element.getStyle('top'),
+    left: element.getStyle('left'),
+    opacity: element.getInlineOpacity() };
+  return new Effect.Parallel(
+    [ new Effect.Move(element, {x: 0, y: 100, sync: true }), 
+      new Effect.Opacity(element, { sync: true, to: 0.0 }) ],
+    Object.extend(
+      { duration: 0.5,
+        beforeSetup: function(effect) {
+          effect.effects[0].element.makePositioned(); 
+        },
+        afterFinishInternal: function(effect) {
+          effect.effects[0].element.hide();
+          effect.effects[0].element.undoPositioned();
+          effect.effects[0].element.setStyle(oldStyle);
+        } 
+      }, arguments[1] || {}));
+}
+
+Effect.Shake = function(element) {
+  element = $(element);
+  var oldStyle = {
+    top: element.getStyle('top'),
+    left: element.getStyle('left') };
+    return new Effect.Move(element, 
+      { x:  20, y: 0, duration: 0.05, afterFinishInternal: function(effect) {
+    new Effect.Move(effect.element,
+      { x: -40, y: 0, duration: 0.1,  afterFinishInternal: function(effect) {
+    new Effect.Move(effect.element,
+      { x:  40, y: 0, duration: 0.1,  afterFinishInternal: function(effect) {
+    new Effect.Move(effect.element,
+      { x: -40, y: 0, duration: 0.1,  afterFinishInternal: function(effect) {
+    new Effect.Move(effect.element,
+      { x:  40, y: 0, duration: 0.1,  afterFinishInternal: function(effect) {
+    new Effect.Move(effect.element,
+      { x: -20, y: 0, duration: 0.05, afterFinishInternal: function(effect) {
+        effect.element.undoPositioned();
+        effect.element.setStyle(oldStyle);
+  }}) }}) }}) }}) }}) }});
+}
+
+Effect.SlideDown = function(element) {
+  element = $(element);
+  element.cleanWhitespace();
+  // SlideDown need to have the content of the element wrapped in a container element with fixed height!
+  var oldInnerBottom = $(element.firstChild).getStyle('bottom');
+  var elementDimensions = element.getDimensions();
+  return new Effect.Scale(element, 100, Object.extend({ 
+    scaleContent: false, 
+    scaleX: false, 
+    scaleFrom: window.opera ? 0 : 1,
+    scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
+    restoreAfterFinish: true,
+    afterSetup: function(effect) {
+      effect.element.makePositioned();
+      effect.element.firstChild.makePositioned();
+      if(window.opera) effect.element.setStyle({top: ''});
+      effect.element.makeClipping();
+      effect.element.setStyle({height: '0px'});
+      effect.element.show(); },
+    afterUpdateInternal: function(effect) {
+      effect.element.firstChild.setStyle({bottom:
+        (effect.dims[0] - effect.element.clientHeight) + 'px' }); 
+    },
+    afterFinishInternal: function(effect) {
+      effect.element.undoClipping(); 
+      // IE will crash if child is undoPositioned first
+      if(/MSIE/.test(navigator.userAgent)){
+        effect.element.undoPositioned();
+        effect.element.firstChild.undoPositioned();
+      }else{
+        effect.element.firstChild.undoPositioned();
+        effect.element.undoPositioned();
+      }
+      effect.element.firstChild.setStyle({bottom: oldInnerBottom}); }
+    }, arguments[1] || {})
+  );
+}
+  
+Effect.SlideUp = function(element) {
+  element = $(element);
+  element.cleanWhitespace();
+  var oldInnerBottom = $(element.firstChild).getStyle('bottom');
+  return new Effect.Scale(element, window.opera ? 0 : 1,
+   Object.extend({ scaleContent: false, 
+    scaleX: false, 
+    scaleMode: 'box',
+    scaleFrom: 100,
+    restoreAfterFinish: true,
+    beforeStartInternal: function(effect) {
+      effect.element.makePositioned();
+      effect.element.firstChild.makePositioned();
+      if(window.opera) effect.element.setStyle({top: ''});
+      effect.element.makeClipping();
+      effect.element.show(); },  
+    afterUpdateInternal: function(effect) {
+      effect.element.firstChild.setStyle({bottom:
+        (effect.dims[0] - effect.element.clientHeight) + 'px' }); },
+    afterFinishInternal: function(effect) {
+      effect.element.hide();
+      effect.element.undoClipping();
+      effect.element.firstChild.undoPositioned();
+      effect.element.undoPositioned();
+      effect.element.setStyle({bottom: oldInnerBottom}); }
+   }, arguments[1] || {})
+  );
+}
+
+// Bug in opera makes the TD containing this element expand for a instance after finish 
+Effect.Squish = function(element) {
+  return new Effect.Scale(element, window.opera ? 1 : 0, 
+    { restoreAfterFinish: true,
+      beforeSetup: function(effect) {
+        effect.element.makeClipping(effect.element); },  
+      afterFinishInternal: function(effect) {
+        effect.element.hide(effect.element); 
+        effect.element.undoClipping(effect.element); }
+  });
+}
+
+Effect.Grow = function(element) {
+  element = $(element);
+  var options = Object.extend({
+    direction: 'center',
+    moveTransition: Effect.Transitions.sinoidal,
+    scaleTransition: Effect.Transitions.sinoidal,
+    opacityTransition: Effect.Transitions.full
+  }, arguments[1] || {});
+  var oldStyle = {
+    top: element.style.top,
+    left: element.style.left,
+    height: element.style.height,
+    width: element.style.width,
+    opacity: element.getInlineOpacity() };
+
+  var dims = element.getDimensions();    
+  var initialMoveX, initialMoveY;
+  var moveX, moveY;
+  
+  switch (options.direction) {
+    case 'top-left':
+      initialMoveX = initialMoveY = moveX = moveY = 0; 
+      break;
+    case 'top-right':
+      initialMoveX = dims.width;
+      initialMoveY = moveY = 0;
+      moveX = -dims.width;
+      break;
+    case 'bottom-left':
+      initialMoveX = moveX = 0;
+      initialMoveY = dims.height;
+      moveY = -dims.height;
+      break;
+    case 'bottom-right':
+      initialMoveX = dims.width;
+      initialMoveY = dims.height;
+      moveX = -dims.width;
+      moveY = -dims.height;
+      break;
+    case 'center':
+      initialMoveX = dims.width / 2;
+      initialMoveY = dims.height / 2;
+      moveX = -dims.width / 2;
+      moveY = -dims.height / 2;
+      break;
+  }
+  
+  return new Effect.Move(element, {
+    x: initialMoveX,
+    y: initialMoveY,
+    duration: 0.01, 
+    beforeSetup: function(effect) {
+      effect.element.hide();
+      effect.element.makeClipping();
+      effect.element.makePositioned();
+    },
+    afterFinishInternal: function(effect) {
+      new Effect.Parallel(
+        [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, from: 0.0, transition: options.opacityTransition }),
+          new Effect.Move(effect.element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }),
+          new Effect.Scale(effect.element, 100, {
+            scaleMode: { originalHeight: dims.height, originalWidth: dims.width }, 
+            sync: true, scaleFrom: window.opera ? 1 : 0, transition: options.scaleTransition, restoreAfterFinish: true})
+        ], Object.extend({
+             beforeSetup: function(effect) {
+               effect.effects[0].element.setStyle({height: '0px'});
+               effect.effects[0].element.show(); 
+             },
+             afterFinishInternal: function(effect) {
+               effect.effects[0].element.undoClipping();
+               effect.effects[0].element.undoPositioned();
+               effect.effects[0].element.setStyle(oldStyle); 
+             }
+           }, options)
+      )
+    }
+  });
+}
+
+Effect.Shrink = function(element) {
+  element = $(element);
+  var options = Object.extend({
+    direction: 'center',
+    moveTransition: Effect.Transitions.sinoidal,
+    scaleTransition: Effect.Transitions.sinoidal,
+    opacityTransition: Effect.Transitions.none
+  }, arguments[1] || {});
+  var oldStyle = {
+    top: element.style.top,
+    left: element.style.left,
+    height: element.style.height,
+    width: element.style.width,
+    opacity: element.getInlineOpacity() };
+
+  var dims = element.getDimensions();
+  var moveX, moveY;
+  
+  switch (options.direction) {
+    case 'top-left':
+      moveX = moveY = 0;
+      break;
+    case 'top-right':
+      moveX = dims.width;
+      moveY = 0;
+      break;
+    case 'bottom-left':
+      moveX = 0;
+      moveY = dims.height;
+      break;
+    case 'bottom-right':
+      moveX = dims.width;
+      moveY = dims.height;
+      break;
+    case 'center':  
+      moveX = dims.width / 2;
+      moveY = dims.height / 2;
+      break;
+  }
+  
+  return new Effect.Parallel(
+    [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: options.opacityTransition }),
+      new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, transition: options.scaleTransition, restoreAfterFinish: true}),
+      new Effect.Move(element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition })
+    ], Object.extend({            
+         beforeStartInternal: function(effect) {
+           effect.effects[0].element.makePositioned();
+           effect.effects[0].element.makeClipping(); },
+         afterFinishInternal: function(effect) {
+           effect.effects[0].element.hide();
+           effect.effects[0].element.undoClipping();
+           effect.effects[0].element.undoPositioned();
+           effect.effects[0].element.setStyle(oldStyle); }
+       }, options)
+  );
+}
+
+Effect.Pulsate = function(element) {
+  element = $(element);
+  var options    = arguments[1] || {};
+  var oldOpacity = element.getInlineOpacity();
+  var transition = options.transition || Effect.Transitions.sinoidal;
+  var reverser   = function(pos){ return transition(1-Effect.Transitions.pulse(pos)) };
+  reverser.bind(transition);
+  return new Effect.Opacity(element, 
+    Object.extend(Object.extend({  duration: 3.0, from: 0,
+      afterFinishInternal: function(effect) { effect.element.setStyle({opacity: oldOpacity}); }
+    }, options), {transition: reverser}));
+}
+
+Effect.Fold = function(element) {
+  element = $(element);
+  var oldStyle = {
+    top: element.style.top,
+    left: element.style.left,
+    width: element.style.width,
+    height: element.style.height };
+  Element.makeClipping(element);
+  return new Effect.Scale(element, 5, Object.extend({   
+    scaleContent: false,
+    scaleX: false,
+    afterFinishInternal: function(effect) {
+    new Effect.Scale(element, 1, { 
+      scaleContent: false, 
+      scaleY: false,
+      afterFinishInternal: function(effect) {
+        effect.element.hide();
+        effect.element.undoClipping(); 
+        effect.element.setStyle(oldStyle);
+      } });
+  }}, arguments[1] || {}));
+};
+
+['setOpacity','getOpacity','getInlineOpacity','forceRerendering','setContentZoom',
+ 'collectTextNodes','collectTextNodesIgnoreClass','childrenWithClassName'].each( 
+  function(f) { Element.Methods[f] = Element[f]; }
+);
+
+Element.Methods.visualEffect = function(element, effect, options) {
+  s = effect.gsub(/_/, '-').camelize();
+  effect_class = s.charAt(0).toUpperCase() + s.substring(1);
+  new Effect[effect_class](element, options);
+  return $(element);
+};
+
+Element.addMethods();
\ No newline at end of file
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/slider.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/slider.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/scriptaculous/slider.js	(revision 4307)
@@ -0,0 +1,283 @@
+// Copyright (c) 2005 Marty Haught, Thomas Fuchs 
+//
+// See http://script.aculo.us for more info
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+if(!Control) var Control = {};
+Control.Slider = Class.create();
+
+// options:
+//  axis: 'vertical', or 'horizontal' (default)
+//
+// callbacks:
+//  onChange(value)
+//  onSlide(value)
+Control.Slider.prototype = {
+  initialize: function(handle, track, options) {
+    var slider = this;
+    
+    if(handle instanceof Array) {
+      this.handles = handle.collect( function(e) { return $(e) });
+    } else {
+      this.handles = [$(handle)];
+    }
+    
+    this.track   = $(track);
+    this.options = options || {};
+
+    this.axis      = this.options.axis || 'horizontal';
+    this.increment = this.options.increment || 1;
+    this.step      = parseInt(this.options.step || '1');
+    this.range     = this.options.range || $R(0,1);
+    
+    this.value     = 0; // assure backwards compat
+    this.values    = this.handles.map( function() { return 0 });
+    this.spans     = this.options.spans ? this.options.spans.map(function(s){ return $(s) }) : false;
+    this.options.startSpan = $(this.options.startSpan || null);
+    this.options.endSpan   = $(this.options.endSpan || null);
+
+    this.restricted = this.options.restricted || false;
+
+    this.maximum   = this.options.maximum || this.range.end;
+    this.minimum   = this.options.minimum || this.range.start;
+
+    // Will be used to align the handle onto the track, if necessary
+    this.alignX = parseInt(this.options.alignX || '0');
+    this.alignY = parseInt(this.options.alignY || '0');
+    
+    this.trackLength = this.maximumOffset() - this.minimumOffset();
+    this.handleLength = this.isVertical() ? this.handles[0].offsetHeight : this.handles[0].offsetWidth;
+
+    this.active   = false;
+    this.dragging = false;
+    this.disabled = false;
+
+    if(this.options.disabled) this.setDisabled();
+
+    // Allowed values array
+    this.allowedValues = this.options.values ? this.options.values.sortBy(Prototype.K) : false;
+    if(this.allowedValues) {
+      this.minimum = this.allowedValues.min();
+      this.maximum = this.allowedValues.max();
+    }
+
+    this.eventMouseDown = this.startDrag.bindAsEventListener(this);
+    this.eventMouseUp   = this.endDrag.bindAsEventListener(this);
+    this.eventMouseMove = this.update.bindAsEventListener(this);
+
+    // Initialize handles in reverse (make sure first handle is active)
+    this.handles.each( function(h,i) {
+      i = slider.handles.length-1-i;
+      slider.setValue(parseFloat(
+        (slider.options.sliderValue instanceof Array ? 
+          slider.options.sliderValue[i] : slider.options.sliderValue) || 
+         slider.range.start), i);
+      Element.makePositioned(h); // fix IE
+      Event.observe(h, "mousedown", slider.eventMouseDown);
+    });
+    
+    Event.observe(this.track, "mousedown", this.eventMouseDown);
+    Event.observe(document, "mouseup", this.eventMouseUp);
+    Event.observe(document, "mousemove", this.eventMouseMove);
+    
+    this.initialized = true;
+  },
+  dispose: function() {
+    var slider = this;    
+    Event.stopObserving(this.track, "mousedown", this.eventMouseDown);
+    Event.stopObserving(document, "mouseup", this.eventMouseUp);
+    Event.stopObserving(document, "mousemove", this.eventMouseMove);
+    this.handles.each( function(h) {
+      Event.stopObserving(h, "mousedown", slider.eventMouseDown);
+    });
+  },
+  setDisabled: function(){
+    this.disabled = true;
+  },
+  setEnabled: function(){
+    this.disabled = false;
+  },  
+  getNearestValue: function(value){
+    if(this.allowedValues){
+      if(value >= this.allowedValues.max()) return(this.allowedValues.max());
+      if(value <= this.allowedValues.min()) return(this.allowedValues.min());
+      
+      var offset = Math.abs(this.allowedValues[0] - value);
+      var newValue = this.allowedValues[0];
+      this.allowedValues.each( function(v) {
+        var currentOffset = Math.abs(v - value);
+        if(currentOffset <= offset){
+          newValue = v;
+          offset = currentOffset;
+        } 
+      });
+      return newValue;
+    }
+    if(value > this.range.end) return this.range.end;
+    if(value < this.range.start) return this.range.start;
+    return value;
+  },
+  setValue: function(sliderValue, handleIdx){
+    if(!this.active) {
+      this.activeHandle    = this.handles[handleIdx];
+      this.activeHandleIdx = handleIdx;
+      this.updateStyles();
+    }
+    handleIdx = handleIdx || this.activeHandleIdx || 0;
+    if(this.initialized && this.restricted) {
+      if((handleIdx>0) && (sliderValue<this.values[handleIdx-1]))
+        sliderValue = this.values[handleIdx-1];
+      if((handleIdx < (this.handles.length-1)) && (sliderValue>this.values[handleIdx+1]))
+        sliderValue = this.values[handleIdx+1];
+    }
+    sliderValue = this.getNearestValue(sliderValue);
+    this.values[handleIdx] = sliderValue;
+    this.value = this.values[0]; // assure backwards compat
+    
+    this.handles[handleIdx].style[this.isVertical() ? 'top' : 'left'] = 
+      this.translateToPx(sliderValue);
+    
+    this.drawSpans();
+    if(!this.dragging || !this.event) this.updateFinished();
+  },
+  setValueBy: function(delta, handleIdx) {
+    this.setValue(this.values[handleIdx || this.activeHandleIdx || 0] + delta, 
+      handleIdx || this.activeHandleIdx || 0);
+  },
+  translateToPx: function(value) {
+    return Math.round(
+      ((this.trackLength-this.handleLength)/(this.range.end-this.range.start)) * 
+      (value - this.range.start)) + "px";
+  },
+  translateToValue: function(offset) {
+    return ((offset/(this.trackLength-this.handleLength) * 
+      (this.range.end-this.range.start)) + this.range.start);
+  },
+  getRange: function(range) {
+    var v = this.values.sortBy(Prototype.K); 
+    range = range || 0;
+    return $R(v[range],v[range+1]);
+  },
+  minimumOffset: function(){
+    return(this.isVertical() ? this.alignY : this.alignX);
+  },
+  maximumOffset: function(){
+    return(this.isVertical() ?
+      this.track.offsetHeight - this.alignY : this.track.offsetWidth - this.alignX);
+  },  
+  isVertical:  function(){
+    return (this.axis == 'vertical');
+  },
+  drawSpans: function() {
+    var slider = this;
+    if(this.spans)
+      $R(0, this.spans.length-1).each(function(r) { slider.setSpan(slider.spans[r], slider.getRange(r)) });
+    if(this.options.startSpan)
+      this.setSpan(this.options.startSpan,
+        $R(0, this.values.length>1 ? this.getRange(0).min() : this.value ));
+    if(this.options.endSpan)
+      this.setSpan(this.options.endSpan, 
+        $R(this.values.length>1 ? this.getRange(this.spans.length-1).max() : this.value, this.maximum));
+  },
+  setSpan: function(span, range) {
+    if(this.isVertical()) {
+      span.style.top = this.translateToPx(range.start);
+      span.style.height = this.translateToPx(range.end - range.start + this.range.start);
+    } else {
+      span.style.left = this.translateToPx(range.start);
+      span.style.width = this.translateToPx(range.end - range.start + this.range.start);
+    }
+  },
+  updateStyles: function() {
+    this.handles.each( function(h){ Element.removeClassName(h, 'selected') });
+    Element.addClassName(this.activeHandle, 'selected');
+  },
+  startDrag: function(event) {
+    if(Event.isLeftClick(event)) {
+      if(!this.disabled){
+        this.active = true;
+        
+        var handle = Event.element(event);
+        var pointer  = [Event.pointerX(event), Event.pointerY(event)];
+        if(handle==this.track) {
+          var offsets  = Position.cumulativeOffset(this.track); 
+          this.event = event;
+          this.setValue(this.translateToValue( 
+           (this.isVertical() ? pointer[1]-offsets[1] : pointer[0]-offsets[0])-(this.handleLength/2)
+          ));
+          var offsets  = Position.cumulativeOffset(this.activeHandle);
+          this.offsetX = (pointer[0] - offsets[0]);
+          this.offsetY = (pointer[1] - offsets[1]);
+        } else {
+          // find the handle (prevents issues with Safari)
+          while((this.handles.indexOf(handle) == -1) && handle.parentNode) 
+            handle = handle.parentNode;
+        
+          this.activeHandle    = handle;
+          this.activeHandleIdx = this.handles.indexOf(this.activeHandle);
+          this.updateStyles();
+        
+          var offsets  = Position.cumulativeOffset(this.activeHandle);
+          this.offsetX = (pointer[0] - offsets[0]);
+          this.offsetY = (pointer[1] - offsets[1]);
+        }
+      }
+      Event.stop(event);
+    }
+  },
+  update: function(event) {
+   if(this.active) {
+      if(!this.dragging) this.dragging = true;
+      this.draw(event);
+      // fix AppleWebKit rendering
+      if(navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0);
+      Event.stop(event);
+   }
+  },
+  draw: function(event) {
+    var pointer = [Event.pointerX(event), Event.pointerY(event)];
+    var offsets = Position.cumulativeOffset(this.track);
+    pointer[0] -= this.offsetX + offsets[0];
+    pointer[1] -= this.offsetY + offsets[1];
+    this.event = event;
+    this.setValue(this.translateToValue( this.isVertical() ? pointer[1] : pointer[0] ));
+    if(this.initialized && this.options.onSlide)
+      this.options.onSlide(this.values.length>1 ? this.values : this.value, this);
+  },
+  endDrag: function(event) {
+    if(this.active && this.dragging) {
+      this.finishDrag(event, true);
+      Event.stop(event);
+    }
+    this.active = false;
+    this.dragging = false;
+  },  
+  finishDrag: function(event, success) {
+    this.active = false;
+    this.dragging = false;
+    this.updateFinished();
+  },
+  updateFinished: function() {
+    if(this.initialized && this.options.onChange) 
+      this.options.onChange(this.values.length>1 ? this.values : this.value, this);
+    this.event = null;
+  }
+}
\ No newline at end of file
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/cssQuery/src/cssQuery-level3.js
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/cssQuery/src/cssQuery-level3.js	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/lib/cssQuery/src/cssQuery-level3.js	(revision 4307)
@@ -0,0 +1,150 @@
+/*
+	cssQuery, version 2.0.2 (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+
+/* Thanks to Bill Edney */
+
+cssQuery.addModule("css-level3", function() {
+
+// -----------------------------------------------------------------------
+// selectors
+// -----------------------------------------------------------------------
+
+// indirect sibling selector
+selectors["~"] = function($results, $from, $tagName, $namespace) {
+	var $element, i;
+	for (i = 0; ($element = $from[i]); i++) {
+		while ($element = nextElementSibling($element)) {
+			if (compareTagName($element, $tagName, $namespace))
+				$results.push($element);
+		}
+	}
+};
+
+// -----------------------------------------------------------------------
+// pseudo-classes
+// -----------------------------------------------------------------------
+
+// I'm hoping these pseudo-classes are pretty readable. Let me know if
+//  any need explanation.
+
+pseudoClasses["contains"] = function($element, $text) {
+	$text = new RegExp(regEscape(getText($text)));
+	return $text.test(getTextContent($element));
+};
+
+pseudoClasses["root"] = function($element) {
+	return $element == getDocument($element).documentElement;
+};
+
+pseudoClasses["empty"] = function($element) {
+	var $node, i;
+	for (i = 0; ($node = $element.childNodes[i]); i++) {
+		if (thisElement($node) || $node.nodeType == 3) return false;
+	}
+	return true;
+};
+
+pseudoClasses["last-child"] = function($element) {
+	return !nextElementSibling($element);
+};
+
+pseudoClasses["only-child"] = function($element) {
+	$element = $element.parentNode;
+	return firstElementChild($element) == lastElementChild($element);
+};
+
+pseudoClasses["not"] = function($element, $selector) {
+	var $negated = cssQuery($selector, getDocument($element));
+	for (var i = 0; i < $negated.length; i++) {
+		if ($negated[i] == $element) return false;
+	}
+	return true;
+};
+
+pseudoClasses["nth-child"] = function($element, $arguments) {
+	return nthChild($element, $arguments, previousElementSibling);
+};
+
+pseudoClasses["nth-last-child"] = function($element, $arguments) {
+	return nthChild($element, $arguments, nextElementSibling);
+};
+
+pseudoClasses["target"] = function($element) {
+	return $element.id == location.hash.slice(1);
+};
+
+// UI element states
+
+pseudoClasses["checked"] = function($element) {
+	return $element.checked;
+};
+
+pseudoClasses["enabled"] = function($element) {
+	return $element.disabled === false;
+};
+
+pseudoClasses["disabled"] = function($element) {
+	return $element.disabled;
+};
+
+pseudoClasses["indeterminate"] = function($element) {
+	return $element.indeterminate;
+};
+
+// -----------------------------------------------------------------------
+//  attribute selector tests
+// -----------------------------------------------------------------------
+
+AttributeSelector.tests["^="] = function($attribute, $value) {
+	return "/^" + regEscape($value) + "/.test(" + $attribute + ")";
+};
+
+AttributeSelector.tests["$="] = function($attribute, $value) {
+	return "/" + regEscape($value) + "$/.test(" + $attribute + ")";
+};
+
+AttributeSelector.tests["*="] = function($attribute, $value) {
+	return "/" + regEscape($value) + "/.test(" + $attribute + ")";
+};
+
+// -----------------------------------------------------------------------
+//  nth child support (Bill Edney)
+// -----------------------------------------------------------------------
+
+function nthChild($element, $arguments, $traverse) {
+	switch ($arguments) {
+		case "n": return true;
+		case "even": $arguments = "2n"; break;
+		case "odd": $arguments = "2n+1";
+	}
+
+	var $$children = childElements($element.parentNode);
+	function _checkIndex($index) {
+		var $index = ($traverse == nextElementSibling) ? $$children.length - $index : $index - 1;
+		return $$children[$index] == $element;
+	};
+
+	//	it was just a number (no "n")
+	if (!isNaN($arguments)) return _checkIndex($arguments);
+
+	$arguments = $arguments.split("n");
+	var $multiplier = parseInt($arguments[0]);
+	var $step = parseInt($arguments[1]);
+
+	if ((isNaN($multiplier) || $multiplier == 1) && $step == 0) return true;
+	if ($multiplier == 0 && !isNaN($step)) return _checkIndex($step);
+	if (isNaN($step)) $step = 0;
+
+	var $count = 1;
+	while ($element = $traverse($element)) $count++;
+
+	if (isNaN($multiplier) || $multiplier == 1)
+		return ($traverse == nextElementSibling) ? ($count <= $step) : ($step >= $count);
+
+	return ($count % $multiplier) == $step;
+};
+
+}); // addModule
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/iedoc-core.xml
===================================================================
--- lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/iedoc-core.xml	(nonexistent)
+++ lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/iedoc-core.xml	(revision 4307)
@@ -0,0 +1,1431 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<apidoc>
+
+<top>Defines an object that runs Selenium commands.
+
+<h3><a name="locators"></a>Element Locators</h3>
+<p>
+Element Locators tell Selenium which HTML element a command refers to.
+The format of a locator is:</p>
+<blockquote>
+<em>locatorType</em><strong>=</strong><em>argument</em>
+</blockquote>
+
+<p>
+We support the following strategies for locating elements:
+</p>
+
+<ul>
+<li><strong>identifier</strong>=<em>id</em>: 
+Select the element with the specified &#64;id attribute. If no match is
+found, select the first element whose &#64;name attribute is <em>id</em>.
+(This is normally the default; see below.)</li>
+<li><strong>id</strong>=<em>id</em>:
+Select the element with the specified &#64;id attribute.</li>
+
+<li><strong>name</strong>=<em>name</em>:
+Select the first element with the specified &#64;name attribute.
+<ul class="first last simple">
+<li>username</li>
+<li>name=username</li>
+</ul>
+
+<p>The name may optionally be followed by one or more <em>element-filters</em>, separated from the name by whitespace.  If the <em>filterType</em> is not specified, <strong>value</strong> is assumed.</p>
+
+<ul class="first last simple">
+<li>name=flavour value=chocolate</li>
+</ul>
+</li>
+<li><strong>dom</strong>=<em>javascriptExpression</em>: 
+
+Find an element by evaluating the specified string.  This allows you to traverse the HTML Document Object
+Model using JavaScript.  Note that you must not return a value in this string; simply make it the last expression in the block.
+<ul class="first last simple">
+<li>dom=document.forms['myForm'].myDropdown</li>
+<li>dom=document.images[56]</li>
+<li>dom=function foo() { return document.links[1]; }; foo();</li>
+</ul>
+
+</li>
+
+<li><strong>xpath</strong>=<em>xpathExpression</em>: 
+Locate an element using an XPath expression.
+<ul class="first last simple">
+<li>xpath=//img[&#64;alt='The image alt text']</li>
+<li>xpath=//table[&#64;id='table1']//tr[4]/td[2]</li>
+<li>xpath=//a[contains(&#64;href,'#id1')]</li>
+<li>xpath=//a[contains(&#64;href,'#id1')]/&#64;class</li>
+<li>xpath=(//table[&#64;class='stylee'])//th[text()='theHeaderText']/../td</li>
+<li>xpath=//input[&#64;name='name2' and &#64;value='yes']</li>
+<li>xpath=//*[text()="right"]</li>
+
+</ul>
+</li>
+<li><strong>link</strong>=<em>textPattern</em>:
+Select the link (anchor) element which contains text matching the
+specified <em>pattern</em>.
+<ul class="first last simple">
+<li>link=The link text</li>
+</ul>
+
+</li>
+
+<li><strong>css</strong>=<em>cssSelectorSyntax</em>:
+Select the element using css selectors. Please refer to <a href="http://www.w3.org/TR/REC-CSS2/selector.html">CSS2 selectors</a>, <a href="http://www.w3.org/TR/2001/CR-css3-selectors-20011113/">CSS3 selectors</a> for more information. You can also check the TestCssLocators test in the selenium test suite for an example of usage, which is included in the downloaded selenium core package.
+<ul class="first last simple">
+<li>css=a[href="#id3"]</li>
+<li>css=span#firstChild + span</li>
+</ul>
+<p>Currently the css selector locator supports all css1, css2 and css3 selectors except namespace in css3, some pseudo classes(:nth-of-type, :nth-last-of-type, :first-of-type, :last-of-type, :only-of-type, :visited, :hover, :active, :focus, :indeterminate) and pseudo elements(::first-line, ::first-letter, ::selection, ::before, ::after). </p>
+</li>
+</ul>
+
+<p>
+Without an explicit locator prefix, Selenium uses the following default
+strategies:
+</p>
+
+<ul class="simple">
+<li><strong>dom</strong>, for locators starting with &quot;document.&quot;</li>
+<li><strong>xpath</strong>, for locators starting with &quot;//&quot;</li>
+<li><strong>identifier</strong>, otherwise</li>
+</ul>
+
+<h3><a name="element-filters">Element Filters</a></h3>
+<blockquote>
+<p>Element filters can be used with a locator to refine a list of candidate elements.  They are currently used only in the 'name' element-locator.</p>
+<p>Filters look much like locators, ie.</p>
+<blockquote>
+<em>filterType</em><strong>=</strong><em>argument</em></blockquote>
+
+<p>Supported element-filters are:</p>
+<p><strong>value=</strong><em>valuePattern</em></p>
+<blockquote>
+Matches elements based on their values.  This is particularly useful for refining a list of similarly-named toggle-buttons.</blockquote>
+<p><strong>index=</strong><em>index</em></p>
+<blockquote>
+Selects a single element based on its position in the list (offset from zero).</blockquote>
+</blockquote>
+
+<h3><a name="patterns"></a>String-match Patterns</h3>
+
+<p>
+Various Pattern syntaxes are available for matching string values:
+</p>
+<ul>
+<li><strong>glob:</strong><em>pattern</em>:
+Match a string against a "glob" (aka "wildmat") pattern. "Glob" is a
+kind of limited regular-expression syntax typically used in command-line
+shells. In a glob pattern, "*" represents any sequence of characters, and "?"
+represents any single character. Glob patterns match against the entire
+string.</li>
+<li><strong>regexp:</strong><em>regexp</em>:
+Match a string using a regular-expression. The full power of JavaScript
+regular-expressions is available.</li>
+<li><strong>exact:</strong><em>string</em>:
+
+Match a string exactly, verbatim, without any of that fancy wildcard
+stuff.</li>
+</ul>
+<p>
+If no pattern prefix is specified, Selenium assumes that it's a "glob"
+pattern.
+</p></top>
+
+<function name="click">
+
+<param name="locator">an element locator</param>
+
+<comment>Clicks on a link, button, checkbox or radio button. If the click action
+causes a new page to load (like a link usually does), call
+waitForPageToLoad.</comment>
+
+</function>
+
+<function name="doubleClick">
+
+<param name="locator">an element locator</param>
+
+<comment>Double clicks on a link, button, checkbox or radio button. If the double click action
+causes a new page to load (like a link usually does), call
+waitForPageToLoad.</comment>
+
+</function>
+
+<function name="clickAt">
+
+<param name="locator">an element locator</param>
+
+<param name="coordString">specifies the x,y position (i.e. - 10,20) of the mouse      event relative to the element returned by the locator.</param>
+
+<comment>Clicks on a link, button, checkbox or radio button. If the click action
+causes a new page to load (like a link usually does), call
+waitForPageToLoad.</comment>
+
+</function>
+
+<function name="doubleClickAt">
+
+<param name="locator">an element locator</param>
+
+<param name="coordString">specifies the x,y position (i.e. - 10,20) of the mouse      event relative to the element returned by the locator.</param>
+
+<comment>Doubleclicks on a link, button, checkbox or radio button. If the action
+causes a new page to load (like a link usually does), call
+waitForPageToLoad.</comment>
+
+</function>
+
+<function name="fireEvent">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<param name="eventName">the event name, e.g. "focus" or "blur"</param>
+
+<comment>Explicitly simulate an event, to trigger the corresponding &quot;on<em>event</em>&quot;
+handler.</comment>
+
+</function>
+
+<function name="keyPress">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<param name="keySequence">Either be a string("\" followed by the numeric keycode  of the key to be pressed, normally the ASCII value of that key), or a single  character. For example: "w", "\119".</param>
+
+<comment>Simulates a user pressing and releasing a key.</comment>
+
+</function>
+
+<function name="shiftKeyDown">
+
+<comment>Press the shift key and hold it down until doShiftUp() is called or a new page is loaded.</comment>
+
+</function>
+
+<function name="shiftKeyUp">
+
+<comment>Release the shift key.</comment>
+
+</function>
+
+<function name="metaKeyDown">
+
+<comment>Press the meta key and hold it down until doMetaUp() is called or a new page is loaded.</comment>
+
+</function>
+
+<function name="metaKeyUp">
+
+<comment>Release the meta key.</comment>
+
+</function>
+
+<function name="altKeyDown">
+
+<comment>Press the alt key and hold it down until doAltUp() is called or a new page is loaded.</comment>
+
+</function>
+
+<function name="altKeyUp">
+
+<comment>Release the alt key.</comment>
+
+</function>
+
+<function name="controlKeyDown">
+
+<comment>Press the control key and hold it down until doControlUp() is called or a new page is loaded.</comment>
+
+</function>
+
+<function name="controlKeyUp">
+
+<comment>Release the control key.</comment>
+
+</function>
+
+<function name="keyDown">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<param name="keySequence">Either be a string("\" followed by the numeric keycode  of the key to be pressed, normally the ASCII value of that key), or a single  character. For example: "w", "\119".</param>
+
+<comment>Simulates a user pressing a key (without releasing it yet).</comment>
+
+</function>
+
+<function name="keyUp">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<param name="keySequence">Either be a string("\" followed by the numeric keycode  of the key to be pressed, normally the ASCII value of that key), or a single  character. For example: "w", "\119".</param>
+
+<comment>Simulates a user releasing a key.</comment>
+
+</function>
+
+<function name="mouseOver">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Simulates a user hovering a mouse over the specified element.</comment>
+
+</function>
+
+<function name="mouseOut">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Simulates a user moving the mouse pointer away from the specified element.</comment>
+
+</function>
+
+<function name="mouseDown">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Simulates a user pressing the mouse button (without releasing it yet) on
+the specified element.</comment>
+
+</function>
+
+<function name="mouseDownAt">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<param name="coordString">specifies the x,y position (i.e. - 10,20) of the mouse      event relative to the element returned by the locator.</param>
+
+<comment>Simulates a user pressing the mouse button (without releasing it yet) on
+the specified element.</comment>
+
+</function>
+
+<function name="mouseUp">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Simulates a user pressing the mouse button (without releasing it yet) on
+the specified element.</comment>
+
+</function>
+
+<function name="mouseUpAt">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<param name="coordString">specifies the x,y position (i.e. - 10,20) of the mouse      event relative to the element returned by the locator.</param>
+
+<comment>Simulates a user pressing the mouse button (without releasing it yet) on
+the specified element.</comment>
+
+</function>
+
+<function name="mouseMove">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Simulates a user pressing the mouse button (without releasing it yet) on
+the specified element.</comment>
+
+</function>
+
+<function name="mouseMoveAt">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<param name="coordString">specifies the x,y position (i.e. - 10,20) of the mouse      event relative to the element returned by the locator.</param>
+
+<comment>Simulates a user pressing the mouse button (without releasing it yet) on
+the specified element.</comment>
+
+</function>
+
+<function name="type">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<param name="value">the value to type</param>
+
+<comment>Sets the value of an input field, as though you typed it in.
+
+<p>Can also be used to set the value of combo boxes, check boxes, etc. In these cases,
+value should be the value of the option selected, not the visible text.</p></comment>
+
+</function>
+
+<function name="typeKeys">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<param name="value">the value to type</param>
+
+<comment>Simulates keystroke events on the specified element, as though you typed the value key-by-key.
+
+<p>This is a convenience method for calling keyDown, keyUp, keyPress for every character in the specified string;
+this is useful for dynamic UI widgets (like auto-completing combo boxes) that require explicit key events.</p>
+
+<p>Unlike the simple "type" command, which forces the specified value into the page directly, this command
+may or may not have any visible effect, even in cases where typing keys would normally have a visible effect.
+For example, if you use "typeKeys" on a form element, you may or may not see the results of what you typed in
+the field.</p>
+<p>In some cases, you may need to use the simple "type" command to set the value of the field and then the "typeKeys" command to
+send the keystroke events corresponding to what you just typed.</p></comment>
+
+</function>
+
+<function name="setSpeed">
+
+<param name="value">the number of milliseconds to pause after operation</param>
+
+<comment>Set execution speed (i.e., set the millisecond length of a delay which will follow each selenium operation).  By default, there is no such delay, i.e.,
+the delay is 0 milliseconds.</comment>
+
+</function>
+
+<function name="getSpeed">
+
+<comment>Get execution speed (i.e., get the millisecond length of the delay following each selenium operation).  By default, there is no such delay, i.e.,
+the delay is 0 milliseconds.
+
+See also setSpeed.</comment>
+
+</function>
+
+<function name="check">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Check a toggle-button (checkbox/radio)</comment>
+
+</function>
+
+<function name="uncheck">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Uncheck a toggle-button (checkbox/radio)</comment>
+
+</function>
+
+<function name="select">
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<param name="optionLocator">an option locator (a label by default)</param>
+
+<comment>Select an option from a drop-down using an option locator.
+
+<p>
+Option locators provide different ways of specifying options of an HTML
+Select element (e.g. for selecting a specific option, or for asserting
+that the selected option satisfies a specification). There are several
+forms of Select Option Locator.
+</p>
+<ul>
+<li><strong>label</strong>=<em>labelPattern</em>:
+matches options based on their labels, i.e. the visible text. (This
+is the default.)
+<ul class="first last simple">
+<li>label=regexp:^[Oo]ther</li>
+</ul>
+</li>
+<li><strong>value</strong>=<em>valuePattern</em>:
+matches options based on their values.
+<ul class="first last simple">
+<li>value=other</li>
+</ul>
+
+
+</li>
+<li><strong>id</strong>=<em>id</em>:
+
+matches options based on their ids.
+<ul class="first last simple">
+<li>id=option1</li>
+</ul>
+</li>
+<li><strong>index</strong>=<em>index</em>:
+matches an option based on its index (offset from zero).
+<ul class="first last simple">
+
+<li>index=2</li>
+</ul>
+</li>
+</ul>
+<p>
+If no option locator prefix is provided, the default behaviour is to match on <strong>label</strong>.
+</p></comment>
+
+</function>
+
+<function name="addSelection">
+
+<param name="locator">an <a href="#locators">element locator</a> identifying a multi-select box</param>
+
+<param name="optionLocator">an option locator (a label by default)</param>
+
+<comment>Add a selection to the set of selected options in a multi-select element using an option locator.
+
+@see #doSelect for details of option locators</comment>
+
+</function>
+
+<function name="removeSelection">
+
+<param name="locator">an <a href="#locators">element locator</a> identifying a multi-select box</param>
+
+<param name="optionLocator">an option locator (a label by default)</param>
+
+<comment>Remove a selection from the set of selected options in a multi-select element using an option locator.
+
+@see #doSelect for details of option locators</comment>
+
+</function>
+
+<function name="removeAllSelections">
+
+<param name="locator">an <a href="#locators">element locator</a> identifying a multi-select box</param>
+
+<comment>Unselects all of the selected options in a multi-select element.</comment>
+
+</function>
+
+<function name="submit">
+
+<param name="formLocator">an <a href="#locators">element locator</a> for the form you want to submit</param>
+
+<comment>Submit the specified form. This is particularly useful for forms without
+submit buttons, e.g. single-input "Search" forms.</comment>
+
+</function>
+
+<function name="open">
+
+<param name="url">the URL to open; may be relative or absolute</param>
+
+<comment>Opens an URL in the test frame. This accepts both relative and absolute
+URLs.
+
+The &quot;open&quot; command waits for the page to load before proceeding,
+ie. the &quot;AndWait&quot; suffix is implicit.
+
+<em>Note</em>: The URL must be on the same domain as the runner HTML
+due to security restrictions in the browser (Same Origin Policy). If you
+need to open an URL on another domain, use the Selenium Server to start a
+new browser session on that domain.</comment>
+
+</function>
+
+<function name="openWindow">
+
+<param name="url">the URL to open, which can be blank</param>
+
+<param name="windowID">the JavaScript window ID of the window to select</param>
+
+<comment>Opens a popup window (if a window with that ID isn't already open).
+After opening the window, you'll need to select it using the selectWindow
+command.
+
+<p>This command can also be a useful workaround for bug SEL-339.  In some cases, Selenium will be unable to intercept a call to window.open (if the call occurs during or before the "onLoad" event, for example).
+In those cases, you can force Selenium to notice the open window's name by using the Selenium openWindow command, using
+an empty (blank) url, like this: openWindow("", "myFunnyWindow").</p></comment>
+
+</function>
+
+<function name="selectWindow">
+
+<param name="windowID">the JavaScript window ID of the window to select</param>
+
+<comment>Selects a popup window; once a popup window has been selected, all
+commands go to that window. To select the main window again, use null
+as the target.
+
+<p>Selenium has several strategies for finding the window object referred to by the "windowID" parameter.</p>
+
+<p>1.) if windowID is null, then it is assumed the user is referring to the original window instantiated by the browser).</p>
+<p>2.) if the value of the "windowID" parameter is a JavaScript variable name in the current application window, then it is assumed
+that this variable contains the return value from a call to the JavaScript window.open() method.</p>
+<p>3.) Otherwise, selenium looks in a hash it maintains that maps string names to window objects.  Each of these string 
+names matches the second parameter "windowName" past to the JavaScript method  window.open(url, windowName, windowFeatures, replaceFlag)
+(which selenium intercepts).</p>
+
+<p>If you're having trouble figuring out what is the name of a window that you want to manipulate, look at the selenium log messages
+which identify the names of windows created via window.open (and therefore intercepted by selenium).  You will see messages
+like the following for each window as it is opened:</p>
+
+<p><code>debug: window.open call intercepted; window ID (which you can use with selectWindow()) is "myNewWindow"</code></p>
+
+<p>In some cases, Selenium will be unable to intercept a call to window.open (if the call occurs during or before the "onLoad" event, for example).
+(This is bug SEL-339.)  In those cases, you can force Selenium to notice the open window's name by using the Selenium openWindow command, using
+an empty (blank) url, like this: openWindow("", "myFunnyWindow").</p></comment>
+
+</function>
+
+<function name="selectFrame">
+
+<param name="locator">an <a href="#locators">element locator</a> identifying a frame or iframe</param>
+
+<comment>Selects a frame within the current window.  (You may invoke this command
+multiple times to select nested frames.)  To select the parent frame, use
+"relative=parent" as a locator; to select the top frame, use "relative=top".
+
+<p>You may also use a DOM expression to identify the frame you want directly,
+like this: <code>dom=frames["main"].frames["subframe"]</code></p></comment>
+
+</function>
+
+<function name="getLogMessages">
+
+<return type="string">all log messages seen since the last call to this API</return>
+
+<comment>Return the contents of the log.
+
+<p>This is a placeholder intended to make the code generator make this API
+available to clients.  The selenium server will intercept this call, however,
+and return its recordkeeping of log messages since the last call to this API.
+Thus this code in JavaScript will never be called.</p>
+
+<p>The reason I opted for a servercentric solution is to be able to support
+multiple frames served from different domains, which would break a
+centralized JavaScript logging mechanism under some conditions.</p></comment>
+
+</function>
+
+<function name="getWhetherThisFrameMatchFrameExpression">
+
+<return type="boolean">true if the new frame is this code's window</return>
+
+<param name="currentFrameString">starting frame</param>
+
+<param name="target">new frame (which might be relative to the current one)</param>
+
+<comment>Determine whether current/locator identify the frame containing this running code.
+
+<p>This is useful in proxy injection mode, where this code runs in every
+browser frame and window, and sometimes the selenium server needs to identify
+the "current" frame.  In this case, when the test calls selectFrame, this
+routine is called for each frame to figure out which one has been selected.
+The selected frame will return true, while all others will return false.</p></comment>
+
+</function>
+
+<function name="getWhetherThisWindowMatchWindowExpression">
+
+<return type="boolean">true if the new window is this code's window</return>
+
+<param name="currentWindowString">starting window</param>
+
+<param name="target">new window (which might be relative to the current one, e.g., "_parent")</param>
+
+<comment>Determine whether currentWindowString plus target identify the window containing this running code.
+
+<p>This is useful in proxy injection mode, where this code runs in every
+browser frame and window, and sometimes the selenium server needs to identify
+the "current" window.  In this case, when the test calls selectWindow, this
+routine is called for each window to figure out which one has been selected.
+The selected window will return true, while all others will return false.</p></comment>
+
+</function>
+
+<function name="waitForPopUp">
+
+<param name="windowID">the JavaScript window ID of the window that will appear</param>
+
+<param name="timeout">a timeout in milliseconds, after which the action will return with an error</param>
+
+<comment>Waits for a popup window to appear and load up.</comment>
+
+</function>
+
+<function name="chooseCancelOnNextConfirmation">
+
+<comment>By default, Selenium's overridden window.confirm() function will
+return true, as if the user had manually clicked OK.  After running
+this command, the next call to confirm() will return false, as if
+the user had clicked Cancel.</comment>
+
+</function>
+
+<function name="answerOnNextPrompt">
+
+<param name="answer">the answer to give in response to the prompt pop-up</param>
+
+<comment>Instructs Selenium to return the specified answer string in response to
+the next JavaScript prompt [window.prompt()].</comment>
+
+</function>
+
+<function name="goBack">
+
+<comment>Simulates the user clicking the "back" button on their browser.</comment>
+
+</function>
+
+<function name="refresh">
+
+<comment>Simulates the user clicking the "Refresh" button on their browser.</comment>
+
+</function>
+
+<function name="close">
+
+<comment>Simulates the user clicking the "close" button in the titlebar of a popup
+window or tab.</comment>
+
+</function>
+
+<function name="isAlertPresent">
+
+<return type="boolean">true if there is an alert</return>
+
+<comment>Has an alert occurred?
+
+<p>
+This function never throws an exception
+</p></comment>
+
+</function>
+
+<function name="isPromptPresent">
+
+<return type="boolean">true if there is a pending prompt</return>
+
+<comment>Has a prompt occurred?
+
+<p>
+This function never throws an exception
+</p></comment>
+
+</function>
+
+<function name="isConfirmationPresent">
+
+<return type="boolean">true if there is a pending confirmation</return>
+
+<comment>Has confirm() been called?
+
+<p>
+This function never throws an exception
+</p></comment>
+
+</function>
+
+<function name="getAlert">
+
+<return type="string">The message of the most recent JavaScript alert</return>
+
+<comment>Retrieves the message of a JavaScript alert generated during the previous action, or fail if there were no alerts.
+
+<p>Getting an alert has the same effect as manually clicking OK. If an
+alert is generated but you do not get/verify it, the next Selenium action
+will fail.</p>
+
+<p>NOTE: under Selenium, JavaScript alerts will NOT pop up a visible alert
+dialog.</p>
+
+<p>NOTE: Selenium does NOT support JavaScript alerts that are generated in a
+page's onload() event handler. In this case a visible dialog WILL be
+generated and Selenium will hang until someone manually clicks OK.</p></comment>
+
+</function>
+
+<function name="getConfirmation">
+
+<return type="string">the message of the most recent JavaScript confirmation dialog</return>
+
+<comment>Retrieves the message of a JavaScript confirmation dialog generated during
+the previous action.
+
+<p>
+By default, the confirm function will return true, having the same effect
+as manually clicking OK. This can be changed by prior execution of the
+chooseCancelOnNextConfirmation command. If an confirmation is generated
+but you do not get/verify it, the next Selenium action will fail.
+</p>
+
+<p>
+NOTE: under Selenium, JavaScript confirmations will NOT pop up a visible
+dialog.
+</p>
+
+<p>
+NOTE: Selenium does NOT support JavaScript confirmations that are
+generated in a page's onload() event handler. In this case a visible
+dialog WILL be generated and Selenium will hang until you manually click
+OK.
+</p></comment>
+
+</function>
+
+<function name="getPrompt">
+
+<return type="string">the message of the most recent JavaScript question prompt</return>
+
+<comment>Retrieves the message of a JavaScript question prompt dialog generated during
+the previous action.
+
+<p>Successful handling of the prompt requires prior execution of the
+answerOnNextPrompt command. If a prompt is generated but you
+do not get/verify it, the next Selenium action will fail.</p>
+
+<p>NOTE: under Selenium, JavaScript prompts will NOT pop up a visible
+dialog.</p>
+
+<p>NOTE: Selenium does NOT support JavaScript prompts that are generated in a
+page's onload() event handler. In this case a visible dialog WILL be
+generated and Selenium will hang until someone manually clicks OK.</p></comment>
+
+</function>
+
+<function name="getLocation">
+
+<return type="string">the absolute URL of the current page</return>
+
+<comment>Gets the absolute URL of the current page.</comment>
+
+</function>
+
+<function name="getTitle">
+
+<return type="string">the title of the current page</return>
+
+<comment>Gets the title of the current page.</comment>
+
+</function>
+
+<function name="getBodyText">
+
+<return type="string">the entire text of the page</return>
+
+<comment>Gets the entire text of the page.</comment>
+
+</function>
+
+<function name="getValue">
+
+<return type="string">the element value, or "on/off" for checkbox/radio elements</return>
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Gets the (whitespace-trimmed) value of an input field (or anything else with a value parameter).
+For checkbox/radio elements, the value will be "on" or "off" depending on
+whether the element is checked or not.</comment>
+
+</function>
+
+<function name="getText">
+
+<return type="string">the text of the element</return>
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Gets the text of an element. This works for any element that contains
+text. This command uses either the textContent (Mozilla-like browsers) or
+the innerText (IE-like browsers) of the element, which is the rendered
+text shown to the user.</comment>
+
+</function>
+
+<function name="highlight">
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Briefly changes the backgroundColor of the specified element yellow.  Useful for debugging.</comment>
+
+</function>
+
+<function name="getEval">
+
+<return type="string">the results of evaluating the snippet</return>
+
+<param name="script">the JavaScript snippet to run</param>
+
+<comment>Gets the result of evaluating the specified JavaScript snippet.  The snippet may
+have multiple lines, but only the result of the last line will be returned.
+
+<p>Note that, by default, the snippet will run in the context of the "selenium"
+object itself, so <code>this</code> will refer to the Selenium object, and <code>window</code> will
+refer to the top-level runner test window, not the window of your application.</p>
+
+<p>If you need a reference to the window of your application, you can refer
+to <code>this.browserbot.getCurrentWindow()</code> and if you need to use
+a locator to refer to a single element in your application page, you can
+use <code>this.browserbot.findElement("foo")</code> where "foo" is your locator.</p></comment>
+
+</function>
+
+<function name="isChecked">
+
+<return type="boolean">true if the checkbox is checked, false otherwise</return>
+
+<param name="locator">an <a href="#locators">element locator</a> pointing to a checkbox or radio button</param>
+
+<comment>Gets whether a toggle-button (checkbox/radio) is checked.  Fails if the specified element doesn't exist or isn't a toggle-button.</comment>
+
+</function>
+
+<function name="getTable">
+
+<return type="string">the text from the specified cell</return>
+
+<param name="tableCellAddress">a cell address, e.g. "foo.1.4"</param>
+
+<comment>Gets the text from a cell of a table. The cellAddress syntax
+tableLocator.row.column, where row and column start at 0.</comment>
+
+</function>
+
+<function name="getSelectedLabels">
+
+<return type="string[]">an array of all selected option labels in the specified select drop-down</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Gets all option labels (visible text) for selected options in the specified select or multi-select element.</comment>
+
+</function>
+
+<function name="getSelectedLabel">
+
+<return type="string">the selected option label in the specified select drop-down</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Gets option label (visible text) for selected option in the specified select element.</comment>
+
+</function>
+
+<function name="getSelectedValues">
+
+<return type="string[]">an array of all selected option values in the specified select drop-down</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Gets all option values (value attributes) for selected options in the specified select or multi-select element.</comment>
+
+</function>
+
+<function name="getSelectedValue">
+
+<return type="string">the selected option value in the specified select drop-down</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Gets option value (value attribute) for selected option in the specified select element.</comment>
+
+</function>
+
+<function name="getSelectedIndexes">
+
+<return type="string[]">an array of all selected option indexes in the specified select drop-down</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Gets all option indexes (option number, starting at 0) for selected options in the specified select or multi-select element.</comment>
+
+</function>
+
+<function name="getSelectedIndex">
+
+<return type="string">the selected option index in the specified select drop-down</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Gets option index (option number, starting at 0) for selected option in the specified select element.</comment>
+
+</function>
+
+<function name="getSelectedIds">
+
+<return type="string[]">an array of all selected option IDs in the specified select drop-down</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Gets all option element IDs for selected options in the specified select or multi-select element.</comment>
+
+</function>
+
+<function name="getSelectedId">
+
+<return type="string">the selected option ID in the specified select drop-down</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Gets option element ID for selected option in the specified select element.</comment>
+
+</function>
+
+<function name="isSomethingSelected">
+
+<return type="boolean">true if some option has been selected, false otherwise</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Determines whether some option in a drop-down menu is selected.</comment>
+
+</function>
+
+<function name="getSelectOptions">
+
+<return type="string[]">an array of all option labels in the specified select drop-down</return>
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<comment>Gets all option labels in the specified select drop-down.</comment>
+
+</function>
+
+<function name="getAttribute">
+
+<return type="string">the value of the specified attribute</return>
+
+<param name="attributeLocator">an element locator followed by an</param>
+
+<comment>Gets the value of an element attribute.</comment>
+
+</function>
+
+<function name="isTextPresent">
+
+<return type="boolean">true if the pattern matches the text, false otherwise</return>
+
+<param name="pattern">a <a href="#patterns">pattern</a> to match with the text of the page</param>
+
+<comment>Verifies that the specified text pattern appears somewhere on the rendered page shown to the user.</comment>
+
+</function>
+
+<function name="isElementPresent">
+
+<return type="boolean">true if the element is present, false otherwise</return>
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Verifies that the specified element is somewhere on the page.</comment>
+
+</function>
+
+<function name="isVisible">
+
+<return type="boolean">true if the specified element is visible, false otherwise</return>
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Determines if the specified element is visible. An
+element can be rendered invisible by setting the CSS "visibility"
+property to "hidden", or the "display" property to "none", either for the
+element itself or one if its ancestors.  This method will fail if
+the element is not present.</comment>
+
+</function>
+
+<function name="isEditable">
+
+<return type="boolean">true if the input element is editable, false otherwise</return>
+
+<param name="locator">an <a href="#locators">element locator</a></param>
+
+<comment>Determines whether the specified input element is editable, ie hasn't been disabled.
+This method will fail if the specified element isn't an input element.</comment>
+
+</function>
+
+<function name="getAllButtons">
+
+<return type="string[]">the IDs of all buttons on the page</return>
+
+<comment>Returns the IDs of all buttons on the page.
+
+<p>If a given button has no ID, it will appear as "" in this array.</p></comment>
+
+</function>
+
+<function name="getAllLinks">
+
+<return type="string[]">the IDs of all links on the page</return>
+
+<comment>Returns the IDs of all links on the page.
+
+<p>If a given link has no ID, it will appear as "" in this array.</p></comment>
+
+</function>
+
+<function name="getAllFields">
+
+<return type="string[]">the IDs of all field on the page</return>
+
+<comment>Returns the IDs of all input fields on the page.
+
+<p>If a given field has no ID, it will appear as "" in this array.</p></comment>
+
+</function>
+
+<function name="getAttributeFromAllWindows">
+
+<return type="string[]">the set of values of this attribute from all known windows.</return>
+
+<param name="attributeName">name of an attribute on the windows</param>
+
+<comment>Returns every instance of some attribute from all known windows.</comment>
+
+</function>
+
+<function name="dragdrop">
+
+<param name="locator">an element locator</param>
+
+<param name="movementsString">offset in pixels from the current location to which the element should be moved, e.g., "+70,-300"</param>
+
+<comment>deprecated - use dragAndDrop instead</comment>
+
+</function>
+
+<function name="setMouseSpeed">
+
+<param name="pixels">the number of pixels between "mousemove" events</param>
+
+<comment>Configure the number of pixels between "mousemove" events during dragAndDrop commands (default=10).
+<p>Setting this value to 0 means that we'll send a "mousemove" event to every single pixel
+in between the start location and the end location; that can be very slow, and may
+cause some browsers to force the JavaScript to timeout.</p>
+
+<p>If the mouse speed is greater than the distance between the two dragged objects, we'll
+just send one "mousemove" at the start location and then one final one at the end location.</p></comment>
+
+</function>
+
+<function name="getMouseSpeed">
+
+<return type="number">the number of pixels between "mousemove" events during dragAndDrop commands (default=10)</return>
+
+<comment>Returns the number of pixels between "mousemove" events during dragAndDrop commands (default=10).</comment>
+
+</function>
+
+<function name="dragAndDrop">
+
+<param name="locator">an element locator</param>
+
+<param name="movementsString">offset in pixels from the current location to which the element should be moved, e.g., "+70,-300"</param>
+
+<comment>Drags an element a certain distance and then drops it</comment>
+
+</function>
+
+<function name="dragAndDropToObject">
+
+<param name="locatorOfObjectToBeDragged">an element to be dragged</param>
+
+<param name="locatorOfDragDestinationObject">an element whose location (i.e., whose center-most pixel) will be the point where locatorOfObjectToBeDragged  is dropped</param>
+
+<comment>Drags an element and drops it on another element</comment>
+
+</function>
+
+<function name="windowFocus">
+
+<param name="windowName">name of the window to be given focus</param>
+
+<comment>Gives focus to a window</comment>
+
+</function>
+
+<function name="windowMaximize">
+
+<param name="windowName">name of the window to be enlarged</param>
+
+<comment>Resize window to take up the entire screen</comment>
+
+</function>
+
+<function name="getAllWindowIds">
+
+<return type="string[]">the IDs of all windows that the browser knows about.</return>
+
+<comment>Returns the IDs of all windows that the browser knows about.</comment>
+
+</function>
+
+<function name="getAllWindowNames">
+
+<return type="string[]">the names of all windows that the browser knows about.</return>
+
+<comment>Returns the names of all windows that the browser knows about.</comment>
+
+</function>
+
+<function name="getAllWindowTitles">
+
+<return type="string[]">the titles of all windows that the browser knows about.</return>
+
+<comment>Returns the titles of all windows that the browser knows about.</comment>
+
+</function>
+
+<function name="getHtmlSource">
+
+<return type="string">the entire HTML source</return>
+
+<comment>Returns the entire HTML source between the opening and
+closing "html" tags.</comment>
+
+</function>
+
+<function name="setCursorPosition">
+
+<param name="locator">an <a href="#locators">element locator</a> pointing to an input element or textarea</param>
+
+<param name="position">the numerical position of the cursor in the field; position should be 0 to move the position to the beginning of the field.  You can also set the cursor to -1 to move it to the end of the field.</param>
+
+<comment>Moves the text cursor to the specified position in the given input element or textarea.
+This method will fail if the specified element isn't an input element or textarea.</comment>
+
+</function>
+
+<function name="getElementIndex">
+
+<return type="number">of relative index of the element to its parent (starting from 0)</return>
+
+<param name="locator">an <a href="#locators">element locator</a> pointing to an element</param>
+
+<comment>Get the relative index of an element to its parent (starting from 0). The comment node and empty text node
+will be ignored.</comment>
+
+</function>
+
+<function name="isOrdered">
+
+<return type="boolean">true if two elements are ordered and have same parent, false otherwise</return>
+
+<param name="locator1">an <a href="#locators">element locator</a> pointing to the first element</param>
+
+<param name="locator2">an <a href="#locators">element locator</a> pointing to the second element</param>
+
+<comment>Check if these two elements have same parent and are ordered. Two same elements will
+not be considered ordered.</comment>
+
+</function>
+
+<function name="getElementPositionLeft">
+
+<return type="number">of pixels from the edge of the frame.</return>
+
+<param name="locator">an <a href="#locators">element locator</a> pointing to an element OR an element itself</param>
+
+<comment>Retrieves the horizontal position of an element</comment>
+
+</function>
+
+<function name="getElementPositionTop">
+
+<return type="number">of pixels from the edge of the frame.</return>
+
+<param name="locator">an <a href="#locators">element locator</a> pointing to an element OR an element itself</param>
+
+<comment>Retrieves the vertical position of an element</comment>
+
+</function>
+
+<function name="getElementWidth">
+
+<return type="number">width of an element in pixels</return>
+
+<param name="locator">an <a href="#locators">element locator</a> pointing to an element</param>
+
+<comment>Retrieves the width of an element</comment>
+
+</function>
+
+<function name="getElementHeight">
+
+<return type="number">height of an element in pixels</return>
+
+<param name="locator">an <a href="#locators">element locator</a> pointing to an element</param>
+
+<comment>Retrieves the height of an element</comment>
+
+</function>
+
+<function name="getCursorPosition">
+
+<return type="number">the numerical position of the cursor in the field</return>
+
+<param name="locator">an <a href="#locators">element locator</a> pointing to an input element or textarea</param>
+
+<comment>Retrieves the text cursor position in the given input element or textarea; beware, this may not work perfectly on all browsers.
+
+<p>Specifically, if the cursor/selection has been cleared by JavaScript, this command will tend to
+return the position of the last location of the cursor, even though the cursor is now gone from the page.  This is filed as <a href="http://jira.openqa.org/browse/SEL-243">SEL-243</a>.</p>
+This method will fail if the specified element isn't an input element or textarea, or there is no cursor in the element.</comment>
+
+</function>
+
+<function name="setContext">
+
+<param name="context">the message to be sent to the browser</param>
+
+<param name="logLevelThreshold">one of "debug", "info", "warn", "error", sets the threshold for browser-side logging</param>
+
+<comment>Writes a message to the status bar and adds a note to the browser-side
+log.
+
+<p>If logLevelThreshold is specified, set the threshold for logging
+to that level (debug, info, warn, error).</p>
+
+<p>(Note that the browser-side logs will <i>not</i> be sent back to the
+server, and are invisible to the Client Driver.)</p></comment>
+
+</function>
+
+<function name="getExpression">
+
+<return type="string">the value passed in</return>
+
+<param name="expression">the value to return</param>
+
+<comment>Returns the specified expression.
+
+<p>This is useful because of JavaScript preprocessing.
+It is used to generate commands like assertExpression and waitForExpression.</p></comment>
+
+</function>
+
+<function name="waitForCondition">
+
+<param name="script">the JavaScript snippet to run</param>
+
+<param name="timeout">a timeout in milliseconds, after which this command will return with an error</param>
+
+<comment>Runs the specified JavaScript snippet repeatedly until it evaluates to "true".
+The snippet may have multiple lines, but only the result of the last line
+will be considered.
+
+<p>Note that, by default, the snippet will be run in the runner's test window, not in the window
+of your application.  To get the window of your application, you can use
+the JavaScript snippet <code>selenium.browserbot.getCurrentWindow()</code>, and then
+run your JavaScript in there</p></comment>
+
+</function>
+
+<function name="setTimeout">
+
+<param name="timeout">a timeout in milliseconds, after which the action will return with an error</param>
+
+<comment>Specifies the amount of time that Selenium will wait for actions to complete.
+
+<p>Actions that require waiting include "open" and the "waitFor*" actions.</p>
+The default timeout is 30 seconds.</comment>
+
+</function>
+
+<function name="waitForPageToLoad">
+
+<param name="timeout">a timeout in milliseconds, after which this command will return with an error</param>
+
+<comment>Waits for a new page to load.
+
+<p>You can use this command instead of the "AndWait" suffixes, "clickAndWait", "selectAndWait", "typeAndWait" etc.
+(which are only available in the JS API).</p>
+
+<p>Selenium constantly keeps track of new pages loading, and sets a "newPageLoaded"
+flag when it first notices a page load.  Running any other Selenium command after
+turns the flag to false.  Hence, if you want to wait for a page to load, you must
+wait immediately after a Selenium command that caused a page-load.</p></comment>
+
+</function>
+
+<function name="getCookie">
+
+<return type="string">all cookies of the current page under test</return>
+
+<comment>Return all cookies of the current page under test.</comment>
+
+</function>
+
+<function name="createCookie">
+
+<param name="nameValuePair">name and value of the cookie in a format "name=value"</param>
+
+<param name="optionsString">options for the cookie. Currently supported options include 'path' and 'max_age'.      the optionsString's format is "path=/path/, max_age=60". The order of options are irrelevant, the unit      of the value of 'max_age' is second.</param>
+
+<comment>Create a new cookie whose path and domain are same with those of current page
+under test, unless you specified a path for this cookie explicitly.</comment>
+
+</function>
+
+<function name="deleteCookie">
+
+<param name="name">the name of the cookie to be deleted</param>
+
+<param name="path">the path property of the cookie to be deleted</param>
+
+<comment>Delete a named cookie with specified path.</comment>
+
+</function>
+
+<function name="pause">
+
+<param name="waitTime">the amount of time to sleep (in milliseconds)</param>
+
+<comment>Wait for the specified amount of time (in milliseconds)</comment>
+
+</function>
+
+<function name="break">
+
+<comment>Halt the currently running test, and wait for the user to press the Continue button.
+This command is useful for debugging, but be careful when using it, because it will
+force automated tests to hang until a user intervenes manually.</comment>
+
+</function>
+
+<function name="store">
+
+<param name="expression">the value to store</param>
+
+<param name="variableName">the name of a <a href="#storedVars">variable</a> in which the result is to be stored.</param>
+
+<comment>This command is a synonym for storeExpression.</comment>
+
+</function>
+
+<function name="echo">
+
+<param name="message">the message to print</param>
+
+<comment>Prints the specified message into the third table cell in your Selenese tables.
+Useful for debugging.</comment>
+
+</function>
+
+<function name="assertSelected">
+
+<param name="selectLocator">an <a href="#locators">element locator</a> identifying a drop-down menu</param>
+
+<param name="optionLocator">an option locator, typically just an option label (e.g. "John Smith")</param>
+
+<comment>Verifies that the selected option of a drop-down satisfies the optionSpecifier.  <i>Note that this command is deprecated; you should use assertSelectedLabel, assertSelectedValue, assertSelectedIndex, or assertSelectedId instead.</i>
+
+<p>See the select command for more information about option locators.</p></comment>
+
+</function>
+
+<function name="assertFailureOnNext">
+
+<param name="message">The failure message we should expect.  This command will fail if the wrong failure message appears.</param>
+
+<comment>Tell Selenium to expect a failure on the next command execution.</comment>
+
+</function>
+
+<function name="assertErrorOnNext">
+
+<param name="message">The error message we should expect.  This command will fail if the wrong error message appears.</param>
+
+<comment>Tell Selenium to expect an error on the next command execution.</comment>
+
+</function>
+
+</apidoc>
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/icons/pause_disabled.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/icons/pause_disabled.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/icons/step.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/icons/step.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/model/Config.js
===================================================================
--- lib/spatial/mapbuilder/lib/model/Config.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/model/Config.js	(revision 4307)
@@ -1,8 +1,11 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: Config.js 3893 2008-02-29 18:22:13Z ahocevar $
 */
 
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+
 /**
  * The config object is the parent model of all mapbuilder objects.
  * The application creates a global object called 'config' which represents
@@ -25,14 +28,24 @@
   this.doc = Sarissa.getDomDocument();
   this.doc.async = false;
   this.doc.validateOnParse=false;  //IE6 SP2 parsing bug
+  if(_SARISSA_IS_SAFARI)
+  {
+  var xmlhttp = new XMLHttpRequest();
+  xmlhttp.open("GET", url, false);
+  xmlhttp.send(null);
+  this.doc = xmlhttp.responseXML;
+  }else
+   {
   this.doc.load(url);
-  if (this.doc.parseError < 0){
+  }
+  if (Sarissa.getParseErrorText(this.doc) != Sarissa.PARSED_OK){
     alert("error loading config document: " + url );//+ " - " + Sarissa.getParseErrorText(this.doc) );
   }
   this.url = url;
   this.namespace = "xmlns:mb='"+mbNsUrl+"'";
+  if(! _SARISSA_IS_SAFARI ){ 
   this.doc.setProperty("SelectionLanguage", "XPath");
-  Sarissa.setXpathNamespaces(this.doc, this.namespace);
+  Sarissa.setXpathNamespaces(this.doc, this.namespace);}
 
 /**
  * Set the serializeUrl and proxyUrl values from a global configuration document
@@ -41,16 +54,24 @@
   var configDoc = Sarissa.getDomDocument();
   configDoc.async = false;
   configDoc.validateOnParse=false;  //IE6 SP2 parsing bug
-  configDoc.load(baseDir+"/"+mbServerConfig);
-  if (configDoc.parseError < 0) {
+  if(_SARISSA_IS_SAFARI){
+    var xmlhttp = new XMLHttpRequest();
+    xmlhttp.open("GET", baseDir+"/"+mbServerConfig, false);
+    xmlhttp.send(null);
+    configDoc = xmlhttp.responseXML;
+  }else
+   {
+    configDoc.load(baseDir+"/"+mbServerConfig);
+   }
+  if (Sarissa.getParseErrorText(configDoc) != Sarissa.PARSED_OK) {
     //alert("error loading server config document: " + baseDir+"/"+mbServerConfig );
   } else {
+  if(! _SARISSA_IS_SAFARI ){
     configDoc.setProperty("SelectionLanguage", "XPath");
     Sarissa.setXpathNamespaces(configDoc, this.namespace);
-    var node = configDoc.selectSingleNode("/mb:MapbuilderConfig/mb:proxyUrl");
-    if (node) this.proxyUrl = node.firstChild.nodeValue;
-    node = configDoc.selectSingleNode("/mb:MapbuilderConfig/mb:serializeUrl");
-    if (node) this.serializeUrl = node.firstChild.nodeValue;
+    }
+    this.proxyUrl = Mapbuilder.getProperty(configDoc, "/mb:MapbuilderConfig/mb:proxyUrl", this.proxyUrl);
+    this.serializeUrl = Mapbuilder.getProperty(configDoc, "/mb:MapbuilderConfig/mb:serializeUrl", this.serializeUrl);
   }
   configDoc = null;
 
@@ -59,6 +80,14 @@
    * @private
    */
   this.loadConfigScripts=function(){
+    // load css stylesheets that were requested before skindir was known.
+    if (mapbuilder.cssToLoad) {
+      for (var i=0; i<mapbuilder.cssToLoad.length; i++) {
+        loadCss(mapbuilder.cssToLoad[i]);
+      }
+      mapbuilder.cssToLoad = null;
+    }
+    
     // Load script files for all components that don't have <scriptfile> specified
     // in the config file.
     mapbuilder.loadScriptsFromXpath(this.doc.selectNodes("//mb:models/*"),"model/");
@@ -70,7 +99,7 @@
     //problem if this is done anywhere except in the page <HEAD> element.
     var scriptFileNodes = this.doc.selectNodes("//mb:scriptFile");
     for (var i=0; i<scriptFileNodes.length; i++ ) {
-      scriptFile = scriptFileNodes[i].firstChild.nodeValue;
+      scriptFile = getNodeValue(scriptFileNodes[i]);
       mapbuilder.loadScript(scriptFile);
     }
   }
@@ -81,7 +110,8 @@
   * or by setting a global "language" Javascript variable in the page <HEAD>.
   * Retrieve the language value from the global conifg object as "config.lang"
   */
-  this.lang = "en";
+  this.defaultLang = "en";
+  this.lang = this.defaultLang;
   if (window.cgiArgs["language"]) {
     this.lang = window.cgiArgs["language"];
   } else if (window.language) {
@@ -90,25 +120,98 @@
 
   //set some global application properties
   var modelNode = this.doc.documentElement;
-  this.skinDir = modelNode.selectSingleNode("mb:skinDir").firstChild.nodeValue;
-  var proxyUrl = modelNode.selectSingleNode("mb:proxyUrl");
-  if (proxyUrl) this.proxyUrl = proxyUrl.firstChild.nodeValue;
-  var serializeUrl = modelNode.selectSingleNode("mb:serializeUrl");
-  if (serializeUrl) this.serializeUrl = serializeUrl.firstChild.nodeValue;
+  this.skinDir = Mapbuilder.getProperty(modelNode, "mb:skinDir");
+  this.proxyUrl = Mapbuilder.getProperty(modelNode, "mb:proxyUrl", this.proxyUrl);
+  this.serializeUrl = Mapbuilder.getProperty(modelNode, "mb:serializeUrl", this.serializeUrl);
 
-  var widgetText = modelNode.selectSingleNode("mb:widgetTextUrl");
-  if (widgetText) {
-    var widgetTextUrl = this.skinDir + "/" + this.lang + "/" + widgetText.firstChild.nodeValue;
-    this.widgetText = Sarissa.getDomDocument();
-    this.widgetText.async = false;
-    this.widgetText.validateOnParse=false;  //IE6 SP2 parsing bug
-    this.widgetText.load(widgetTextUrl);
-    if (this.widgetText.parseError < 0){
-      alert("error loading widgetText document: " + widgetTextUrl );//+ " - " + Sarissa.getParseErrorText(this.doc) );
+  /**
+   * Convenience method to load widgetText from a dir.
+   * Has the possible side-effect of changing config.lang to config.defaultLang
+   * if the widgetText for the selected language is not found.
+   * @param config the config object
+   * @param dir    the base dir for the widget text
+   * @private
+   */
+  function loadWidgetText(config, dir) {
+    var widgetFile = "/widgetText.xml";
+    var widgetText;
+    var widgetTextUrl = dir + "/" + config.lang + widgetFile;
+    widgetText = Sarissa.getDomDocument();
+    widgetText.async = false;
+    widgetText.validateOnParse=false;  //IE6 SP2 parsing bug
+    
+    if (typeof(inlineXSL)!="undefined") {
+      var xmlString = inlineXSL[widgetTextUrl];
+      xmlString = xmlString.replace(/DOUBLE_QUOTE/g,"\"");
+      widgetText = (new DOMParser()).parseFromString(xmlString, "text/xml");
     }
-    this.widgetText.setProperty("SelectionLanguage", "XPath");
-    Sarissa.setXpathNamespaces(this.widgetText, this.namespace);
+    else {
+      if (_SARISSA_IS_SAFARI) {
+        var xmlhttp = new XMLHttpRequest();
+        xmlhttp.open("GET", widgetTextUrl, false);
+        xmlhttp.send(null);
+        widgetText = xmlhttp.responseXML;
+      }
+      else {
+        try {
+          widgetText.load(widgetTextUrl);
+        }
+        catch (ignoredErr) {}
+      }
+    }      
+    if (Sarissa.getParseErrorText(widgetText) != Sarissa.PARSED_OK) {
+      var errMsg = "Error loading widgetText document: " + widgetTextUrl;
+      if (config.lang == config.defaultLang) {
+        alert(errMsg);
+      }
+      else {
+        // Try to fall back on default language
+        alert(errMsg + "\nFalling back on default language=\"" + config.defaultLang + "\"");
+        config.lang = config.defaultLang;
+        widgetTextUrl = dir + "/" + config.lang + widgetFile;
+        if(_SARISSA_IS_SAFARI) {
+          var xmlhttp = new XMLHttpRequest();
+          xmlhttp.open("GET", widgetTextUrl, false);
+          xmlhttp.send(null);
+          widgetText = xmlhttp.responseXML;
+        }
+        else {
+          widgetText.load(widgetTextUrl);
+        }
+        if (Sarissa.getParseErrorText(widgetText) != Sarissa.PARSED_OK) {
+          alert("Falling back on default language failed!");
+        }
+      }
+    }
+    if(! _SARISSA_IS_SAFARI) {
+      widgetText.setProperty("SelectionLanguage", "XPath");
+      Sarissa.setXpathNamespaces(widgetText, config.namespace);
+    }
+    return widgetText;
   }
+  
+  // Load widgetText
+  this.widgetText = loadWidgetText(this, baseDir + "/text");
+  // Try to load userWidgetText
+  userWidgetTextDir = modelNode.selectSingleNode("mb:userWidgetTextDir");
+  if (userWidgetTextDir) {
+    var userWidgetText = loadWidgetText(this, getNodeValue(userWidgetTextDir));
+    if (userWidgetText) {
+      // User has specified userWidgetText, merge with widgetText
+      var userWidgets = userWidgetText.selectSingleNode("/mb:WidgetText/mb:widgets");
+      var configWidgets = this.widgetText.selectSingleNode("/mb:WidgetText/mb:widgets");
+      if (userWidgets && configWidgets) {
+        // Merge <widgets/> texts
+        Sarissa.copyChildNodes(userWidgets, configWidgets, true);
+      }
+      var userMessages = userWidgetText.selectSingleNode("/mb:WidgetText/mb:messages");
+      var configMessages = this.widgetText.selectSingleNode("/mb:WidgetText/mb:messages");
+      if (userMessages && configMessages) {
+        // Merge <messages/> texts
+        Sarissa.copyChildNodes(userMessages, configMessages, true);
+      }
+    }
+  }
 
   /**
   * the objects property holds a reference to every mapbuilder javascript object
@@ -135,7 +238,7 @@
       httpPayload.url = modelUrl;
       model.newRequest(model,httpPayload);
     } else {
-      alert("config loadModel error:"+modelId+":"+modelUrl);
+      alert(mbGetMessage("errorLoadingModel", modelId, modelUrl));
     }
   }
 
@@ -146,9 +249,9 @@
    */
   this.paintWidget = function( widget ) {
     if (widget) {
-      widget.paint(widget, true);
+      widget.paint(widget, widget.id);
     } else {
-      alert("config paintWidget error: widget does not exist");
+      alert(mbGetMessage("errorPaintingWidget"));
     }
   }
 }
Index: lib/spatial/mapbuilder/lib/model/WmsCapabilities.js
===================================================================
--- lib/spatial/mapbuilder/lib/model/WmsCapabilities.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/model/WmsCapabilities.js	(revision 4307)
@@ -1,13 +1,17 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: WmsCapabilities.js 3887 2008-02-27 18:18:53Z ahocevar $
 */
 
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+
 /**
  * Stores a Web Map Server (WMS) Capabilities document as defined by the 
- * Open Geospatial Consortium (http://opengis.org and extensions the the WMC.  
+ * Open Geospatial Consortium (http://www.opengeospatial.org/) and extensions the the WMC.  
  *
  * @constructor
+ * @base ModelBase
  * @author Mike Adair
  * @param modelNode   The model's XML object node from the configuration document.
  * @param parent The model object that this widget belongs to.
@@ -62,8 +66,7 @@
    */
   this.getServerTitle = function() {
     var xpath = "/WMT_MS_Capabilities/Service/Title";
-    var node = this.doc.selectSingleNode(xpath);
-    return node.firstChild.nodeValue;
+    return Mapbuilder.getProperty(this.doc, xpath, "no title");
   }
 
   /**
@@ -82,8 +85,7 @@
 	  }
     } else {
       var xpath = "/WMT_MS_Capabilities/Capability/Request/GetMap/Format";
-      var node = this.doc.selectSingleNode(xpath);
-      return node.firstChild.nodeValue;
+      return Mapbuilder.getProperty(this.doc, xpath);
     }
   }
 
@@ -92,8 +94,7 @@
    */
   this.getServiceName = function() {
     var xpath = "/WMT_MS_Capabilities/Service/Name";
-    var node = this.doc.selectSingleNode(xpath);
-    return node.firstChild.nodeValue;
+    return Mapbuilder.getProperty(this.doc, xpath);
   }
 
   /**
Index: lib/spatial/mapbuilder/lib/model/ModelBase.js
===================================================================
--- lib/spatial/mapbuilder/lib/model/ModelBase.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/model/ModelBase.js	(revision 4307)
@@ -1,8 +1,11 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: ModelBase.js 3953 2008-03-31 10:25:24Z oterral $
 */
 
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/util/Listener.js");
+
 /**
  * Base Model class to be inherited by all Model objects and provdes methods
  * and properties common to all models.
@@ -32,18 +35,22 @@
     this.id = "MbModel_" + mbIds.getId();
   }
 
-  //get the human readable title for the model
-  var titleNode = modelNode.selectSingleNode("mb:title");
-  if (titleNode) {
-    this.title = titleNode.firstChild.nodeValue;
-  } else {
-    this.title = this.id;
+  /**
+   * Convenient access to Mapbuilder.getProperty
+   * @param property property to get
+   * @param default value to use if property is not set
+   * @return the value for the property
+   */
+  this.getProperty = function(property, defaultValue) {
+    return Mapbuilder.getProperty(modelNode, property, defaultValue);
   }
 
-  // set an empty debug property which turns of alert messages for a
-  // particular model
-  if(modelNode.selectSingleNode("mb:debug"))this.debug="true";
+  //get the human readable title for the model
+  this.title = this.getProperty("mb:title", this.id);
 
+  //set a debug property in config to see alerts for a particular model
+  this.debug = Mapbuilder.parseBoolean(this.getProperty("mb:debug", false));
+
   /**
   * set the initial model URL in config.
   * the URL can also be passed in as a URL parameter by using the model ID 
@@ -51,42 +58,38 @@
   **/
   if (window.cgiArgs[this.id]) {  
     this.url = window.cgiArgs[this.id];
-  } else if (window[this.id]) {  
+  } else if (window[this.id] && typeof window[this.id] == "string") {  
     this.url = window[this.id];
   } else if (modelNode.url) {  
     this.url = modelNode.url;
   } else {
     var defaultModel = modelNode.selectSingleNode("mb:defaultModelUrl");
-    if (defaultModel) this.url = defaultModel.firstChild.nodeValue;
+    if (defaultModel) this.url = getNodeValue(defaultModel);
   }
 
   //set the method property
-  var method = modelNode.selectSingleNode("mb:method");
-  if (method) {
-    this.method = method.firstChild.nodeValue;
-  } else {
-    this.method = "get";
-  }
+  this.method = this.getProperty("mb:method", "get");
 
   //set the namespace property
-  var namespace = modelNode.selectSingleNode("mb:namespace");
-  if (namespace) {
-    this.namespace = namespace.firstChild.nodeValue;
-  }
+  this.namespace = this.getProperty("mb:namespace");
 
   var templateAttr = modelNode.attributes.getNamedItem("template");
   if (templateAttr) {
-    this.template = (templateAttr.nodeValue=="true")?true:false;
+    this.template = Mapbuilder.parseBoolean(templateAttr.nodeValue);
     this.modelNode.removeAttribute("template");
   }
 
   //get the xpath to select nodes from the parent doc
-  var nodeSelectXpath = modelNode.selectSingleNode("mb:nodeSelectXpath");
-  if (nodeSelectXpath) {
-    this.nodeSelectXpath = nodeSelectXpath.firstChild.nodeValue;
-  }
-
+  this.nodeSelectXpath = this.getProperty("mb:nodeSelectXpath");
+  
   /**
+   * Widgets can place configurations in a model. This is an associative
+   * array with the widgetId of the widget that places its configuration
+   * here as key.
+   */
+  this.config = new Array();
+  
+  /**
    * Get the value of a node as selected by an XPath expression.1
    * @param objRef Reference to this node.
    * @param xpath XPath of the node to update.
@@ -96,7 +99,7 @@
     if (!objRef.doc) return null; 
     node=objRef.doc.selectSingleNode(xpath);
     if(node && node.firstChild){
-      return node.firstChild.nodeValue;
+      return getNodeValue(node);
     }else{
       return null;
     }
@@ -157,54 +160,90 @@
         var xmlHttp = new XMLHttpRequest();
         
         var sUri = objRef.url;
-        if ( sUri.indexOf("http://")==0 ) {
-          if (objRef.method == "get") {
+        if ( sUri.indexOf("http://")==0 || sUri.indexOf("https://")==0) {
+          if (objRef.method.toLowerCase() == "get") {
             sUri = getProxyPlusUrl(sUri);
           } else {
             sUri = config.proxyUrl;
           }
         }
+        //alert( "ModelBase:"+objRef.method + " to:"+ sUri+ " " + objRef.url)
+        
         xmlHttp.open(objRef.method, sUri, objRef.async);
-        if (objRef.method == "post") {
+        if (objRef.method.toLowerCase() == "post") {
           xmlHttp.setRequestHeader("content-type",objRef.contentType);
           xmlHttp.setRequestHeader("serverUrl",objRef.url);
         }
         
-        xmlHttp.onreadystatechange = function() {
+         xmlHttp.onreadystatechange = function() {
           objRef.setParam("modelStatus",httpStatusMsg[xmlHttp.readyState]);
           if (xmlHttp.readyState==4) {
             if (xmlHttp.status >= 400) {   //http errors status start at 400
-              var errorMsg = "error loading document: " + sUri + " - " + xmlHttp.statusText + "-" + xmlHttp.responseText;
+              var errorMsg = mbGetMessage("errorLoadingDocument", sUri, xmlHttp.statusText, xmlHttp.responseText);
               alert(errorMsg);
               objRef.setParam("modelStatus",errorMsg);
               return;
             } else {
               //alert(xmlHttp.getResponseHeader("Content-Type"));
-              if ( null==xmlHttp.responseXML ) {
-                alert( "null XML response:" + xmlHttp.responseText );
-              } else {
-                objRef.doc = xmlHttp.responseXML;
+              //if ( null==xmlHttp.responseXML ) {
+              //  alert( "null XML response:" + xmlHttp.responseText );
+              //} else {
+                // Problem with IE is that sometimes the XML files do not get loaded as XML for some reason (especially from disk)
+                // So we need to deal with it here
+
+                if( (xmlHttp.responseXML != null) && (xmlHttp.responseXML.root != null) && (xmlHttp.responseXML.root.children.length>0) ) {
+                  objRef.doc = xmlHttp.responseXML;
+                  if( Sarissa.getParseErrorText(objRef.doc) == Sarissa.PARSED_OK ) {
+                    objRef.finishLoading();      
+                  } else {
+                    alert(mbGetMessage("parseError", Sarissa.getParseErrorText(objRef.doc)));
+                  }
+                  return;
+                } 
+
+                if( xmlHttp.responseText != null ) {
+                  // if that's the case, the xml file is in the responseText
+                  // we have to load it manually 
+                  objRef.doc = Sarissa.getDomDocument();
+                  objRef.doc.async = false;
+                  objRef.doc = (new DOMParser()).parseFromString( xmlHttp.responseText.replace(/>\s+</g, "><"), "text/xml")
+                  if( objRef.doc == null ) {
+                    alert(mbGetMessage("documentParseError", Sarissa.getParseErrorText(objRef.doc)));
+                    // debugger;
+                  } else {
+                    if( Sarissa.getParseErrorText(objRef.doc) == Sarissa.PARSED_OK ) {
+                      objRef.finishLoading();      
+                    } else {
+                      alert(mbGetMessage("parseError", Sarissa.getParseErrorText(objRef.doc)));
+                    }
+                  }
+                  return;
+                }
                 //if (objRef.doc.documentElement.nodeName.search(/exception/i)>=0) {
                 //  objRef.setParam("modelStatus",-1);
-                //  alert("Exception:"+Sarissa.serialize(xmlHttp.responseText));
+                //  alert("Exception:"+(new XMLSerializer()).serializeToString(xmlHttp.responseText));
                 //}
-              }
-              objRef.finishLoading();
+              //}
+              //objRef.finishLoading();
             }
           }
         }
+        
+        var postData = objRef.postData || "";
+        if (typeof postData == "object") {
+          postData = new XMLSerializer().serializeToString(postData);
+        }
+        xmlHttp.send(postData);
 
-        xmlHttp.send(objRef.postData);
-
         if (!objRef.async) {
           if (xmlHttp.status >= 400) {   //http errors status start at 400
-            var errorMsg = "error loading document: " + sUri + " - " + xmlHttp.statusText + "-" + xmlHttp.responseText;
+            var errorMsg = mbGetMessage("errorLoadingDocument", sUri, xmlHttp.statusText, xmlHttp.responseText);
             alert(errorMsg);
             this.objRef.setParam("modelStatus",errorMsg);
             return;
           } else {
             //alert(xmlHttp.getResponseHeader("Content-Type"));
-            if ( null==xmlHttp.responseXML ) alert( "null XML response:" + xmlHttp.responseText );
+            if ( null==xmlHttp.responseXML ) alert(mbGetMessage("nullXmlResponse", xmlHttp.responseText));
             objRef.doc = xmlHttp.responseXML;
             objRef.finishLoading();
           }
@@ -214,6 +253,7 @@
       }
     }
   }
+  this.addListener("reloadModel",this.loadModelDoc, this);
 
   /**
    * Set the model's XML document using an XML object as a parameter.
@@ -237,12 +277,14 @@
   this.finishLoading = function() {
     // the following two lines are needed for IE; set the namespace for selection
     if(this.doc){
+     if(! _SARISSA_IS_SAFARI){
       this.doc.setProperty("SelectionLanguage", "XPath");
       if(this.namespace) Sarissa.setXpathNamespaces(this.doc, this.namespace);
+		}
 
       // Show the newly loaded XML document
-      if(this.debug) alert("Loading Model:"+this.id+" "+Sarissa.serialize(this.doc));
-      this.callListeners("contextLoaded");  //PGC
+      if(this.debug) mbDebugMessage(this, "Loading Model:"+this.id+" "+(new XMLSerializer()).serializeToString(this.doc));
+      
       this.callListeners("loadModel");
     }
   }
@@ -265,13 +307,14 @@
     // assign it an id
     if (objRef.template) {
       var parentNode = objRef.modelNode.parentNode;
-      var newConfigNode;
       if(_SARISSA_IS_IE) {
-        newConfigNode = parentNode.appendChild(modelNode.cloneNode(true));
-      } else {
-        newConfigNode = parentNode.appendChild(objRef.modelNode.ownerDocument.importNode(objRef.modelNode,true));
+        var newConfigNode = parentNode.appendChild(modelNode.cloneNode(true));
       }
+      else {
+        var newConfigNode = parentNode.appendChild(objRef.modelNode.ownerDocument.importNode(objRef.modelNode,true));
+      }
       newConfigNode.removeAttribute("id");  //this will get created automatically
+      newConfigNode.setAttribute("createByTemplate","true");
       //set defaultModelUrl config properties
       model = objRef.createObject(newConfigNode);
       model.callListeners("init");
@@ -292,6 +335,7 @@
    */
   this.deleteTemplates = function() {
     if (this.templates) {
+      var model;
       while( model=this.templates.pop() ) {
         model.setParam("newModel");
         var parentNode = this.modelNode.parentNode;
@@ -299,8 +343,7 @@
       }
     }
   }
-
- /**
+/**
    * save the model by posting it to the serializeUrl, which is defined as a 
    * property of config.
    * @param objRef Pointer to this object.
@@ -307,14 +350,16 @@
    */
   this.saveModel = function(objRef) {
     if (config.serializeUrl) {
-      var response = postLoad(config.serializeUrl, objRef.doc);
+      var response = postGetLoad(config.serializeUrl, objRef.doc ,"text/xml","","");
+       if(! _SARISSA_IS_SAFARI){
       response.setProperty("SelectionLanguage", "XPath");
       Sarissa.setXpathNamespaces(response, "xmlns:xlink='http://www.w3.org/1999/xlink'");
+      }
       var onlineResource = response.selectSingleNode("//OnlineResource");
       var fileUrl = onlineResource.attributes.getNamedItem("xlink:href").nodeValue;
       objRef.setParam("modelSaved", fileUrl);
     } else {
-      alert("serializeUrl must be specified in config to save a model");
+      alert(mbGetMessage("noSerializeUrl"));
     }
   }
 
@@ -328,13 +373,22 @@
    */
   this.createObject = function(configNode) {
     var objectType = configNode.nodeName;
-    var evalStr = "new " + objectType + "(configNode,this);";
-    var newObject = eval( evalStr );
-    if ( newObject ) {
+    //var evalStr = "new " + objectType + "(configNode,this);";
+    //var newObject = eval( evalStr );
+    //hint from Alex Russel alex@dojotoolkit.org so we can compress it
+
+    // If model/tool/widget doesn't exist, exit
+    if (!window[objectType]) {
+      alert(mbGetMessage("errorCreatingObject", objectType));
+      return false;
+    }
+
+    var newObject = new window[objectType](configNode, this);
+    if (newObject) {
       config.objects[newObject.id] = newObject;
       return newObject;
-    } else { 
-      alert("error creating object:" + objectType);
+    } else {
+      alert(mbGetMessage("errorCreatingObject", objectType));
     }
   }
 
@@ -347,7 +401,10 @@
     //loop through all nodes selected from config
     var configObjects = this.modelNode.selectNodes( objectXpath );
     for (var i=0; i<configObjects.length; i++ ) {
+    if(configObjects[i].nodeName != "#text" && configObjects[i].nodeName != "#comment" )
+        {
       this.createObject( configObjects[i]);
+      }
     }
   }
 
@@ -368,7 +425,7 @@
    * @param objRef Pointer to this object.
    */
   this.refresh = function(objRef) {
-    objRef.setParam("refresh",true);
+    objRef.setParam("refresh");
   }
   this.addListener("loadModel",this.refresh, this);
 
Index: lib/spatial/mapbuilder/lib/model/GeoRSS.js
===================================================================
--- lib/spatial/mapbuilder/lib/model/GeoRSS.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/model/GeoRSS.js	(revision 4307)
@@ -1,12 +1,18 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: GeoRSS.js 3882 2008-02-27 15:41:33Z gjvoosten $
 */
 
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+
 /**
  * Stores a GML Feature or FeatureCollection as defined by the
- * Open GIS Conortium http://opengis.org.
+ * Open Geospatial Consortium (http://www.opengeospatial.org/).
  *
+ * WARNING: This model is only to be used if you do not want to embed the GeoRSS feed
+ * in the context doc. See also MAP-271
+ * @deprecated
  * @constructor
  * @base ModelBase
  * @author Cameron Shorter
@@ -18,9 +24,7 @@
   // Inherit the ModelBase functions and parameters
   ModelBase.apply(this, new Array(modelNode, parent));
 
-  /**
-   * convert coordinates in the GML document to the SRS of the map container, 
-   * if required.  The coordinate values are replaced in the GML document.
+  /** init
    * @param objRef Pointer to this object.
    */
   this.initItems = function(objRef) {
@@ -27,17 +31,14 @@
     var items = objRef.doc.selectNodes("rdf:RDF/rss:item");
     if( items.length == 0 ) {
       items = objRef.doc.selectNodes("atom:feed/atom:entry");
-    }
-    //alert(Sarissa.serialize(objRef.doc) );
-    //alert( "items:"+items.length );
-    
+     }
+   
     for (var i=0; i<items.length; ++i) {
       var item = items[i];
-      item.setAttribute("id", "RSS_Item_"+mbIds.getId());
-      //convert to GML?
+      item.setAttribute("divid", "RSS_Item_"+mbIds.getId());
     }
   }
-  this.addFirstListener("loadModel",this.initItems,this);
+  // OBE this.addFirstListener("loadModel",this.initItems,this);
 
   /**
    * Returns the list of nodes selected by the nodeSelectpath
@@ -56,7 +57,7 @@
     var labelNode = featureNode.selectSingleNode("rss:title");
     if( labelNode == null )
       labelNode = featureNode.selectSingleNode("atom:title");
-    return labelNode?labelNode.firstChild.nodeValue:"No RSS title";
+    return labelNode?getNodeValue(labelNode):mbGetMessage("noRssTitle");
   }
 
   /**
@@ -65,14 +66,10 @@
    * @return ID for this feature
    */
   this.getFeatureId = function(featureNode) {
-    var id = featureNode.getAttribute("id")
+    var id = featureNode.getAttribute("divid")
     if( id )
       return id;
       
-    id = featureNode.getAttribute("atom:id")
-    if( id )
-      return id;
-      
     return "no_id";
   }
 
@@ -83,18 +80,18 @@
    */
   this.getFeaturePoint = function(featureNode) {
     if (featureNode.selectSingleNode("geo:long")) {
-      var pointX = featureNode.selectSingleNode("geo:long").firstChild.nodeValue;
-      var pointY = featureNode.selectSingleNode("geo:lat").firstChild.nodeValue;
+      var pointX = getNodeValue(featureNode.selectSingleNode("geo:long"));
+      var pointY = getNodeValue(featureNode.selectSingleNode("geo:lat"));
       return new Array(pointX, pointY);
     } else {
        var pos = featureNode.selectSingleNode("georss:where/gml:Point/gml:pos")
        if( pos != null ) {
-	     var coordstr = pos.firstChild.nodeValue
-	     //alert("coords:"+coordstr );
-	     var coords = coordstr.split(" ")
-	     var pointX = coords[0]
-	     var pointY = coords[1]
-	     return new Array(pointX, pointY);
+       var coordstr = getNodeValue(pos);
+       //alert("coords:"+coordstr );
+       var coords = coordstr.split(" ")
+       var pointX = coords[0]
+       var pointY = coords[1]
+       return new Array(pointX, pointY);
        } else {
          return new Array(0,0);  //or some other error to return?
        }
@@ -101,7 +98,62 @@
     }
   }
  
+ /**
+   * Returns the geometry for the feature
+   * @param featureNode the feature node to select from
+   * @return the geometric point for the node
+   */
+  this.getFeatureGeometry = function(featureNode) {
+    if (featureNode.selectSingleNode("geo:long")) {
+      var pointX = getNodeValue(featureNode.selectSingleNode("geo:long"));
+      var pointY = getNodeValue(featureNode.selectSingleNode("geo:lat"));
+      return "POINT " + pointX + "," + pointY;
+    } 
+      
+    var pos = featureNode.selectSingleNode("georss:where/gml:Point/gml:pos")
+    if( pos != null ) {
+      var coordstr = getNodeValue(pos);
+      return "POINT " + coordstr;
+    } 
+    
+    var posList = featureNode.selectSingleNode("georss:where/gml:LineString/gml:posList")
+    if( posList != null ) { //WARNING: could overflow so get all nodes
+      var children = posList.childNodes;       
+      var count = children.length;
+      var text="";     
+      for( var i=0; i<count; i++ ) {
+        text += children[i].nodeValue;
+      }
+      //alert("count:"+ count + " length:"+text.length)
+      
+      return "LINESTRING " + text;
+    }
+ 
+    var posList = featureNode.selectSingleNode("georss:where/gml:Polygon/gml:exterior/gml:LinearRing")
+    if( posList != null ) {
+      var coordstr = getNodeValue(posList);
+      return "POLYGON " + coordstr;
+    } 
+    
+    alert(mbGetMessage("invalidGmlGeom"));
+    return null
+  }
+  
   /**
+    * Get the GML Node out of the RSS feed
+    */
+  this.getFeatureGml = function(featureNode) {
+    var where = featureNode.selectSingleNode("georss:where")
+    if( where != null ) {
+      var gml = where.firstChild; 
+      return gml;
+    } else {
+      return null;
+    }
+  }
+  
+  
+  /**
   * Returns a specific icon for that entry
   * @param featureNode the feature node to select from
   * @return the geometric point for the node
@@ -113,11 +165,10 @@
     // look for an icon tag
     var icon = featureNode.selectSingleNode("atom:icon");
     if (icon != undefined) {
-      return icon.firstChild.nodeValue;
+      return getNodeValue(icon);
     } else {
       return null;
     }
   }
-
 }
 
Index: lib/spatial/mapbuilder/lib/schemas/locations.xsd
===================================================================
--- lib/spatial/mapbuilder/lib/schemas/locations.xsd	(revision 4306)
+++ lib/spatial/mapbuilder/lib/schemas/locations.xsd	(revision 4307)
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <xs:schema targetNamespace="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:gml="http://www.opengis.net/gml" xmlns:loc="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
 	<xs:annotation>
-		<xs:appinfo>$Id$</xs:appinfo>
+		<xs:appinfo>$Id: locations.xsd 2546 2007-01-23 12:07:39Z gjvoosten $</xs:appinfo>
 		<xs:documentation xml:lang="en">GML schema for Community Mapbuilder quickview zoom presets</xs:documentation>
 	</xs:annotation>
-	<xs:import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/3.0.0/base/feature.xsd"/>
+	<xs:import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/feature.xsd"/>
 	<xs:element name="QuickviewPresetResultSet" type="loc:QuickviewPresetResultSetType" substitutionGroup="gml:_FeatureCollection"/>
 	<xs:complexType name="QuickviewPresetResultSetType">
 		<xs:complexContent>
Index: lib/spatial/mapbuilder/lib/model/OwsContext.js
===================================================================
--- lib/spatial/mapbuilder/lib/model/OwsContext.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/model/OwsContext.js	(revision 4307)
@@ -1,11 +1,14 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: OwsContext.js 3887 2008-02-27 18:18:53Z ahocevar $
 */
 
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+
 /**
  * Stores an OWS Context document as defined by the OGC interoperability
- * experiment. This model should be eventually merged with the standard OGC 
+ * experiment. This model should be eventually merged with the standard OGC
  * context doc.
  * Listeners supported by this model:
  * "refresh" called when window parameters (width/height, bbox) are changed
@@ -16,56 +19,54 @@
  * @base ModelBase
  * @author Mike Adair
  * @requires Sarissa
- * 
+ *
  */
 function OwsContext(modelNode, parent) {
   // Inherit the ModelBase functions and parameters
   ModelBase.apply(this, new Array(modelNode, parent));
 
-  this.namespace = "xmlns:wmc='http://www.opengis.net/context' xmlns:ows='http://www.opengis.net/ows' xmlns:ogc='http://www.opengis.net/ogc' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:xlink='http://www.w3.org/1999/xlink'";
+  // MAP-186
+  this.namespace = this.namespace ? this.namespace.replace(/\"/g, "'")+" " : '';
+  this.namespace = this.namespace + "xmlns:wmc='http://www.opengis.net/context' xmlns:ows='http://www.opengis.net/ows' xmlns:ogc='http://www.opengis.net/ogc' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs' xmlns:sld='http://www.opengis.net/sld'";
 
-  // ===============================
-  // Update of Context Parameters
-  // ===============================
-
   /**
    * Change a Layer's visibility.
-   * @param layerName  The name of the layer that is to be changed
+   * @param layerId  The name of the layer that is to be changed
    * @param hidden     String with the value to be set; 1=hidden, 0=visible.
    */
-  this.setHidden=function(layerName, hidden){
+  this.setHidden=function(layerId, hidden){
     // Set the hidden attribute in the Context
     var hiddenValue = "0";
     if (hidden) hiddenValue = "1";
-      
-    var layer=this.getFeatureNode(layerName);
-    layer.setAttribute("hidden", hiddenValue);
+
+    var layer=this.getLayer(layerId);
+    if (layer) layer.setAttribute("hidden", hiddenValue);
     // Call the listeners
-    this.callListeners("hidden", layerName);
+    this.callListeners("hidden", layerId);
   }
 
   /**
    * Get the layer's visiblity attribute value.
-   * @param layerName  The name of the layer that is to be changed
+   * @param layerId  The name of the layer that is to be changed
    * @return hidden  String with the value; 1=hidden, 0=visible.
    */
-  this.getHidden=function(layerName){
+  this.getHidden=function(layerId){
     var hidden=1;
-    var layer=this.getFeatureNode(layerName)
-    return layer.getAttribute("hidden");
+    var layer=this.getFeatureNode(layerId)
+    if (layer) hidden = layer.getAttribute("hidden");
+    return hidden;
   }
 
   /**
-   * Get the BoundingBox.
-   * @return BoundingBox array in form (xmin,ymin,xmax,ymax).
+   * Get the BoundingBox value from the Context document.
+   * @return BoundingBox array with the sequence (xmin,ymin,xmax,ymax).
    */
   this.getBoundingBox=function() {
+    var bbox = new Array();
     // Extract BoundingBox from the context
-    //boundingBox=this.doc.documentElement.getElementsByTagName("BoundingBox").item(0);
     var lowerLeft=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/ows:BoundingBox/ows:LowerCorner");
     var upperRight=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/ows:BoundingBox/ows:UpperCorner");
-    var strBbox = new String(lowerLeft.firstChild.nodeValue + " " + upperRight.firstChild.nodeValue).split(" ");
-    var bbox = new Array();
+    var strBbox = new String(getNodeValue(lowerLeft) + " " + getNodeValue(upperRight)).split(" ");
     for (i=0; i<strBbox.length; ++i) {
       bbox[i] = parseFloat(strBbox[i]);
     }
@@ -83,15 +84,42 @@
     var upperRight=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/ows:BoundingBox/ows:UpperCorner");
     upperRight.firstChild.nodeValue = boundingBox[2] + " " + boundingBox[3];
     // Call the listeners
-    this.callListeners("bbox");
+    this.callListeners("bbox", boundingBox);
   }
 
   /**
-   * Set the Spacial Reference System for layer display and layer requests.
+   * Set the BoundingBox element and call the refresh listeners
+   * @param boundingBox array in the sequence (xmin, ymin, xmax, ymax).
+   */
+  this.initBbox=function(objRef) {
+    // Set BoundingBox in context from URL CGI params
+    if (window.cgiArgs["bbox"]) {   //set as minx,miny,maxx,maxy
+      var bbox = window.cgiArgs["bbox"].split(',');
+      objRef.setBoundingBox(bbox);
+    }
+  }
+  this.addListener( "loadModel", this.initBbox, this );
+  //this.addListener( "contextLoaded", this.initBbox, this );
+
+  /**
+   * Set the aoi param and call the refresh listeners
+   * @param boundingBox array in the sequence (xmin, ymin, xmax, ymax).
+   */
+  this.initAoi=function(objRef) {
+    // Set AOI of context from URL CGI params
+    if (window.cgiArgs["aoi"]) {      //set as ul,lr point arrays
+      var aoi = window.cgiArgs["aoi"].split(',');
+      objRef.setParam("aoi",new Array(new Array(aoi[0],aoi[3]),new Array(aoi[2],aoi[1])));
+    }
+  }
+  this.addListener( "loadModel", this.initAoi, this );
+  //MA this.addListener( "contextLoaded", this.initAoi, this );
+
+  /**
+   * Set the Spatial Reference System for the context document.
    * @param srs The Spatial Reference System.
    */
   this.setSRS=function(srs) {
-    //bbox=this.doc.documentElement.getElementsByTagName("BoundingBox").item(0);
     var bbox=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/ows:BoundingBox");
     bbox.setAttribute("crs",srs);
     this.callListeners("srs");
@@ -98,33 +126,39 @@
   }
 
   /**
-   * Set the Spacial Reference System for layer display and layer requests.
+   * Get the Spatial Reference System from the context document.
    * @return srs The Spatial Reference System.
    */
   this.getSRS=function() {
-    //bbox=this.doc.documentElement.getElementsByTagName("BoundingBox").item(0);
     var bbox=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/ows:BoundingBox");
     srs=bbox.getAttribute("crs");
+    srs = srs ? srs : 'EPSG:4326';
     return srs;
   }
 
   /**
+   * Get the Projection object from the context document.
+   * @return Proj Object of  The Spatial Reference System.
+   */
+  this.initProj=function(objRef) {
+    objRef.proj=new OpenLayers.Projection(objRef.getSRS());
+  }
+  this.addFirstListener( "loadModel", this.initProj, this );
+
+  /**
    * Get the Window width.
    * @return width The width of map window from the context document
    */
   this.getWindowWidth=function() {
-    //var win=this.doc.documentElement.getElementsByTagName("Window").item(0);
     var win=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/wmc:Window");
-    width=win.getAttribute("width");
-    return width;
+    return win.getAttribute("width");
   }
 
   /**
    * Set the Window width.
-   * @param width The width of map window (therefore of map layer images).
+   * @param width The width of map window to set in the context document
    */
   this.setWindowWidth=function(width) {
-    //win=this.doc.documentElement.getElementsByTagName("Window").item(0);
     var win=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/wmc:Window");
     win.setAttribute("width", width);
     this.callListeners("resize");
@@ -135,18 +169,15 @@
    * @return height The height of map window from the context document.
    */
   this.getWindowHeight=function() {
-    //var win=this.doc.documentElement.getElementsByTagName("Window").item(0);
     var win=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/wmc:Window");
-    height=win.getAttribute("height");
-    return height;
+    return win.getAttribute("height");
   }
 
   /**
    * Set the Window height.
-   * @param height The height of map window (therefore of map layer images).
+   * @param height The height of map window to set in the context document
    */
   this.setWindowHeight=function(height) {
-    //win=this.doc.documentElement.getElementsByTagName("Window").item(0);
     var win=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/wmc:Window");
     win.setAttribute("height", height);
     this.callListeners("resize");
@@ -153,6 +184,56 @@
   }
 
   /**
+   * Returns the width/height of the map window as an array
+   * Added by Andreas Hocevar for compatibility with Context.js
+   */
+  this.getWindowSize=function() {
+    var win=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/wmc:Window");
+    return new Array(win.getAttribute("width"), win.getAttribute("height"));
+  }
+
+  /**
+   * Set the Window width and height in one function call to avoid a resize event in between
+   * setting width and height, because that causes checkBbox to be triggered, which adjusts the
+   * bbox then when it should not yet be adjusted.
+   * Based on setWindowSize by VTS in Context.js
+   * Added by Andreas Hocevar for compatibility with Context.js
+   * @param size Size of the map window as (width, height) array
+   */
+  this.setWindowSize=function(size) {
+    var win=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/wmc:Window");
+    var width = size[0];
+    var height = size[1];
+    win.setAttribute("width", width);
+    win.setAttribute("height", height);
+    this.callListeners("resize");
+  }
+
+  /**
+   * returns a node that has the specified feature name in the context doc
+   * @param featureName Name element value to return
+   * @return the node from the context doc with the specified feature name
+   */
+  this.getFeatureNode = function(layerId) {
+    if( this.doc ) {
+
+      // Find feature by id
+      var feature = this.doc.selectSingleNode("//wmc:ResourceList/*[@id='"+layerId+"']");
+
+      // Fallback: find feature by name
+      if (feature == null) {
+        feature = this.doc.selectSingleNode("//wmc:ResourceList/*[wmc:Name='"+layerId+"']");
+      }
+
+      if(feature == null ) {
+        alert(mbGetMessage("featureNotFoundOwsContext"));
+      }
+
+      return feature;
+    }
+  }
+
+  /**
    * Returns the serverUrl for the layer passed in as the feature argument.
    * @param requestName ignored for context docs (only GetMap supported)
    * @param method ignored for context docs (only GET supported)
@@ -160,7 +241,16 @@
    * @return height String URL for the GetMap request
    */
   this.getServerUrl = function(requestName, method, feature) {
-    return feature.selectSingleNode("wmc:Server/wmc:OnlineResource").getAttribute("xlink:href");
+    var service = requestName.split(":");
+    if (service.length > 0) {
+      service = service[0].toUpperCase();
+    }
+    var url = feature.selectSingleNode("wmc:Server[@service='OGC:"+service+"']/wmc:OnlineResource").getAttribute("xlink:href");
+    if (!url) {
+      // fallback to default service
+      url = feature.selectSingleNode("wmc:Server/wmc:OnlineResource").getAttribute("xlink:href");
+    }
+    return url;
   }
 
   /**
@@ -168,7 +258,7 @@
    * @param feature the node for the feature from the context doc
    * @return the WMS GetMap version for the Layer.
    */
-  this.getVersion = function(feature) {  
+  this.getVersion = function(feature) {
     return feature.selectSingleNode("wmc:Server").getAttribute("version");
   }
 
@@ -182,16 +272,19 @@
   }
 
   /**
-   * returns a node that has the specified feature name in the context doc
-   * @param featureName Name element value to return
-   * @return the node from the context doc with the specified feature name
+   * Return the service type of the bottom layer in the layer list.
+   * This is used to match navigation tools with the basemap.
    */
-  this.getFeatureNode = function(featureName) {
-    return this.doc.selectSingleNode(this.nodeSelectXpath+"/*[wmc:Name='"+featureName+"']");
+  this.getBaseLayerService=function(){
+    //x=this.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList/wmc:Layer[last()]/wmc:Server/@service");
+    x=this.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList/wmc:Layer[last()]/wmc:Server");
+    s=x.getAttribute("service");
+    //alert("OwsContext.getBaseLayerService: s="+s);
+    return s;
   }
 
   /**
-   * listener method which loads WFS features from the context doc, after WMS 
+   * listener method which loads WFS features from the context doc, after WMS
    * layers are loaded.
    * @param objRef Pointer to this object.
    */
@@ -199,9 +292,11 @@
     var nodeSelectXpath = objRef.nodeSelectXpath + "/wmc:FeatureType[wmc:Server/@service='OGC:WFS']/wmc:Name";
     var featureList = objRef.doc.selectNodes(nodeSelectXpath);
     for (var i=0; i<featureList.length; i++) {
-      var featureName = featureList[i].firstChild.nodeValue;
+      var featureName = getNodeValue(featureList[i]);
       objRef.setParam('wfs_GetFeature',featureName);
     }
+
+    //this.callListeners("contextLoaded");  //PGC
   }
   this.addListener("loadModel", this.loadFeatures, this);
 
@@ -213,7 +308,7 @@
   this.setRequestParameters = function(featureName, requestStylesheet) {
     var feature = this.getFeatureNode(featureName);
     if (feature.selectSingleNode("ogc:Filter")) {
-      requestStylesheet.setParameter("filter", escape(Sarissa.serialize(feature.selectSingleNode("ogc:Filter"))) );
+      requestStylesheet.setParameter("filter", escape((new XMLSerializer()).serializeToString(feature.selectSingleNode("ogc:Filter"))) );
     }
   }
   //this.addFirstListener("wfs_GetFeature", this.setRequestParameters, this);
@@ -223,7 +318,10 @@
    * @return the list with queryable layers
    */
   this.getQueryableLayers = function() {
-    var listNodeArray = this.doc.selectNodes("/wmc:OWSContext/wmc:ResourceList/wmc:Layer[attribute::queryable='1']/wmc:Name");
+    var listNodeArray = this.doc.selectNodes("/wmc:OWSContext/wmc:ResourceList/wmc:Layer[@queryable='1']|/wmc:OWSContext/wmc:ResourceList/wmc:FeatureType[@queryable='1']");
+    if (listNodeArray == null) {
+      listNodeArray = this.doc.selectNodes("/wmc:OWSContext/wmc:ResourceList/wmc:Layer|/wmc:OWSContext/wmc:ResourceList/wmc:Layer");
+    }
     return listNodeArray;
   }
 
@@ -230,24 +328,295 @@
   /**
    * Method to get a list of all layers in the context doc
    * TBD: merge this with above, passing queryable as an optional boolean param?
+   * @TODO Add the other layers
    * @return the list with all layers
    */
   this.getAllLayers = function() {
-    var listNodeArray = this.doc.selectNodes("/wmc:OWSContext/wmc:ResourceList/wmc:Layer");
+    var listNodeArray = this.doc.selectNodes("//wmc:Layer|//wmc:FeatureType");
     return listNodeArray;
   }
 
   /**
-   * Method to get a layer with the specified name in the context doc
-   * @param layerName the layer to be returned
+   * Method to get a layer with the specified id/name in the context doc
+   * @param layerId/layerName the layer to be returned
    * @return the list with all layers
+   * @TODO check other layers
    */
-  this.getLayer = function(layerName) {
-    var layer = this.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList/wmc:Layer[wmc:Name='"+layerName+"']");
+  this.getLayer = function(layerId) {
+    var layer = this.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList/wmc:FeatureType[@id='"+layerId+"']");
+    if (layer == null) {
+      layer = this.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList/wmc:Layer[@id='"+layerId+"']");
+    }
+    if (layer == null) {
+      layer = this.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList/wmc:Layer[wmc:Name='"+layerId+"']");
+    }
+    if (layer == null) {
+      layer = this.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList/wmc:FeatureType[wmc:Name='"+layerId+"']");
+    }
+    if( layer == null ) {
+      layer = this.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList/wmc:RssLayer[@id='"+layerId+"']");
+    }
     //TBD: add in time stamp
     return layer;
   }
 
+  /**
+   * Method to get a layer id with the specified id/name in the context doc
+   * @param layerName the name of the layer of which the id is to be returned
+   * @return the id of the layer || false
+   */
+  this.getLayerIdByName = function(layerName) {
+    var layer = this.getLayer(layerName);
+    var id;
+    if (layer) {
+      id = layer.getAttribute("id");
+    }
 
+    return id || false;
+  }
+
+
+  /**
+   * Method to add a Layer to the LayerList
+   * @param layerNode the Layer node from another context doc or capabiltiies doc
+   */
+  this.addLayer = function(objRef, layerNode) {
+    if( objRef.doc != null ) {
+      var parentNode = objRef.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList");
+
+      // Generate layer id if layer doesn't have an id
+      var randomNumber = Math.round(10000 * Math.random());
+      id = Mapbuilder.getProperty(layerNode, "wmc:Name") + "_" + randomNumber; 
+      layerNode.setAttribute("id", id);
+      
+      // check if that node does not alreayd exist, replace it (query may have changed)
+      var id = layerNode.getAttribute("id");
+      var str = "/wmc:OWSContext/wmc:ResourceList/"+layerNode.nodeName+"[@id='"+id+"']";
+      var node = objRef.doc.selectSingleNode(str);
+      if( node != null ) {
+        parentNode.removeChild(node);
+      }
+
+      parentNode.appendChild(layerNode);
+      objRef.modified = true;
+      if (this.debug) {
+         mbDebugMessage( "Adding layer:"+(new XMLSerializer()).serializeToString( layerNode ) );
+      }
+    } else {
+      alert(mbGetMessage("nullOwsContext"));
+    }
+    //objRef.callListeners("refresh");
+  }
+  this.addFirstListener( "addLayer", this.addLayer, this );
+
+  /**
+   * Method to get the baselayer 
+   * @return the baseLayer
+   * @TODO check for other baselayers
+   */
+   this.getBaseLayer = function() {
+      var baseLayer = this.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList/ows:BaseLayer");
+      return baseLayer;
+   }
+   
+ /**
+   * Method to add a Sld to the StyleList
+   * @param layerName the Layer name from another context doc or capabiltiies doc
+   * TBD: make sure this will work again using layerId instead of layerName
+   */
+  this.addSLD = function(objRef,sldNode) {
+    // alert("context addSLD : "+objRef.id);
+    var layerName=Mapbuilder.getProperty(sldNode, "//Name");
+    var parentNode = objRef.doc.selectSingleNode("//wmc:Layer[wmc:Name='"+layerName+"']");
+    parentNode.appendChild(sldNode.cloneNode(true));
+
+    objRef.modified = true;
+      var attribs=[];
+    attribs["sld_body"]=(new XMLSerializer()).serializeToString(objRef.doc.selectSingleNode("//wmc:Layer[wmc:Name='"+layerName+"']/wmc:StyleList/wmc:Style/wmc:SLD/wmc:StyledLayerDescriptor"));
+    objRef.map.mbMapPane.refreshLayer(objRef.map.mbMapPane,layerName,attribs);
+  }
+  this.addFirstListener( "addSLD", this.addSLD, this );
+
+  /**
+   * Method to remove a Layer from the LayerList
+   * @param layerId the Layer to be deleted
+   */
+  this.deleteLayer = function(objRef, layerId) {
+    var deletedNode = objRef.getLayer(layerId);
+    if (!deletedNode) {
+      alert(mbGetMessage("nodeNotFound", layerId));
+      return;
+    }
+    deletedNode.parentNode.removeChild(deletedNode);
+    objRef.modified = true;
+  }
+  this.addFirstListener( "deleteLayer", this.deleteLayer, this );
+
+  /**
+   * Method to move a Layer in the LayerList up
+   * @param layerId the layer to be moved
+   */
+  this.moveLayerUp = function(objRef, layerId) {
+    var movedNode = objRef.getLayer(layerId);
+    var sibNode = movedNode.selectSingleNode("following-sibling::*");
+    if (!sibNode) {
+      alert(mbGetMessage("cantMoveUp", layerId));
+      return;
+    }
+    movedNode.parentNode.insertBefore(sibNode,movedNode);
+    objRef.modified = true;
+  }
+  this.addFirstListener( "moveLayerUp", this.moveLayerUp, this );
+
+  /**
+   * Method to move a Layer in the LayerList down
+   * @param layerId the layer to be moved
+   */
+  this.moveLayerDown = function(objRef, layerId) {
+    var movedNode = objRef.getLayer(layerId);
+    var listNodeArray = movedNode.selectNodes("preceding-sibling::*");  //preceding-sibling axis contains all previous siblings
+    var sibNode = listNodeArray[listNodeArray.length-1];
+    if (!sibNode) {
+      alert(mbGetMessage("cantMoveDown", layerId));
+      return;
+    }
+    movedNode.parentNode.insertBefore(movedNode,sibNode);
+    objRef.modified = true;
+  }
+  this.addFirstListener( "moveLayerDown", this.moveLayerDown, this );
+
+  /**
+   * Adds a node to the Context document extension element.  The extension element
+   * will be created if it doesn't already exist.
+   * @param extensionNode the node to be appended in the extension element.
+   * @return the ndoe added to the extension element
+   */
+  this.setExtension = function(extensionNode) {
+    var extension = this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/wmc:Extension");
+    if (!extension) {
+      var general = this.doc.selectSingleNode("/wmc:OWSContext/wmc:General");
+      var newChild = createElementWithNS(this.doc,"Extension",'http://www.opengis.net/context');
+      extension = general.appendChild(newChild);
+    }
+    return extension.appendChild(extensionNode);
+  }
+
+  /**
+   * Returns the contents of the extension element
+   * @return the contents of the extension element
+   */
+  this.getExtension = function() {
+    return this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/wmc:Extension");
+  }
+
+  // PL -BRGM
+  /**
+   * Change a Layer's opacity
+   * @param layerId  The name of the layer that is to be changed
+   * @param Opacity     Value of the opacity
+   */
+  this.setOpacity=function(layerId, Opacity){
+    // Set the hidden attribute in the Context
+    var layer = this.getLayer(layerId);
+    if (layer) layer.setAttribute("opacity", Opacity);
+    // Call the listeners
+    this.callListeners("opacity", layerId);
+  }
+
+  /**
+   * Get the layer's opacity attribute value.
+   * @param layerId  The name of the layer that is to be changed
+   * @return hidden  String with the value; 1=hidden, 0=visible.
+   */
+  this.getOpacity=function(layerId){
+    var opacity=1;
+    var layer = this.getLayer(layerId);
+    if (layer) opacity = layer.getAttribute("opacity");
+    return opacity;
+  }
+  // PL -END
+  
+  /**
+   * Parses a Dimension element from the Context document as a loadModel listener.
+   * This results in an XML structure with one element for each GetMap time value
+   * parameter and added to the Context extrension element.
+   * @param objRef a pointer to this object
+   */
+  this.initTimeExtent = function( objRef ) {
+    //only the first one selected is used as the timestamp source
+    //var extentNode = objRef.doc.selectSingleNode("//wmc:Layer/wmc:Dimension[@name='time']");
+    //TBD: how to deal with multiple time dimensions in one context doc, or caps doc?
+    var timeNodes = objRef.doc.selectNodes("//wmc:Dimension[@name='time']");
+    for (var i=0; i<timeNodes.length; ++i) {
+      var extentNode = timeNodes[i];
+      objRef.timestampList = createElementWithNS(objRef.doc,"TimestampList",mbNsUrl);
+      var layerId;
+      var layerNode = extentNode.parentNode.parentNode;
+      if (layerNode.selectSingleNode("@id")) {
+        layerId = Mapbuilder.getProperty(layerNode, "@id");
+      } else {
+        layerId =Mapbuilder.getProperty(layerNode, "wmc:Name");
+      }
+      objRef.timestampList.setAttribute("layerId", layerId);
+      //alert("found time dimension, extent:"+getNodeValue(extentNode));
+      var times = getNodeValue(extentNode).split(",");   //comma separated list of arguments
+      for (var j=0; j<times.length; ++j) {
+        var params = times[j].split("/");     // parses start/end/period
+        if (params.length==3) {
+          var start = setISODate(params[0]);
+          var stop = setISODate(params[1]);
+          var period = params[2];
+          var parts = period.match(/^P((\d*)Y)?((\d*)M)?((\d*)D)?T?((\d*)H)?((\d*)M)?((.*)S)?/);
+          for (var i=1; i<parts.length; ++i) {
+            if (!parts[i]) parts[i]=0;
+          }
+          //alert("start time:"+start.toString());
+          do {
+            var timestamp = createElementWithNS(objRef.doc,"Timestamp",mbNsUrl);
+            timestamp.appendChild(objRef.doc.createTextNode(getISODate(start)));
+            objRef.timestampList.appendChild(timestamp);
+
+            start.setFullYear(start.getFullYear()+parseInt(parts[2],10));
+            start.setMonth(start.getMonth()+parseInt(parts[4],10));
+            start.setDate(start.getDate()+parseInt(parts[6],10));
+            start.setHours(start.getHours()+parseInt(parts[8],10));
+            start.setMinutes(start.getMinutes()+parseInt(parts[10],10));
+            start.setSeconds(start.getSeconds()+parseFloat(parts[12]));
+            //alert("time:"+start.toString());
+          } while(start.getTime() <= stop.getTime());
+
+        } else {
+          //output single date value
+          var timestamp = createElementWithNS(objRef.doc,"Timestamp",mbNsUrl);
+          timestamp.appendChild(objRef.doc.createTextNode(times[j]));
+          objRef.timestampList.appendChild(timestamp);
+        }
+      }
+     objRef.setExtension(objRef.timestampList);
+    }
+  }
+  this.addFirstListener( "loadModel", this.initTimeExtent, this );
+
+  /**
+   * clear the time extent created by initTimeExtent
+   * @param objRef reference to this model
+   */
+  this.clearTimeExtent = function( objRef ) {
+    var tsList = objRef.timestampList;
+    if (tsList) {
+      tsList.parentNode.removeChild(tsList);
+    }
+  }
+  this.addListener("newModel", this.clearTimeExtent, this);
+
+  /**
+   * Returns the current timestamp value.
+   * @param layerName the name of the Layer from which the timestamp list was generated
+   * @return the current timestamp value.
+   */
+  this.getCurrentTimestamp = function( layerName ) {
+    var index = this.getParam("timestamp");
+    return getNodeValue(this.timestampList.childNodes[index]);
+  }
+
 }
-
Index: lib/spatial/mapbuilder/lib/model/Context.js
===================================================================
--- lib/spatial/mapbuilder/lib/model/Context.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/model/Context.js	(revision 4307)
@@ -1,11 +1,14 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: Context.js 3887 2008-02-27 18:18:53Z ahocevar $
 */
 
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+
 /**
- * Stores a Web Map Context (WMC) document as defined by the Open GIS Consortium
- * http://opengis.org and extensions the the WMC.  
+ * Stores a Web Map Context (WMC) document as defined by the Open Geospatial Consortium
+ * (http://www.opengeospatial.org/) and extensions the the WMC.
  *
  * Listeners supported by this model:
  * "refresh" called when window parameters (width/height, bbox) are changed
@@ -16,7 +19,7 @@
  * @author Cameron Shorter
  * @param modelNode Pointer to the xml node for this model from the config file.
  * @param parent    The parent model for the object.
-  * 
+  *
  */
 function Context(modelNode, parent) {
   // Inherit the ModelBase functions and parameters
@@ -26,28 +29,28 @@
 
   /**
    * Change a Layer's visibility.
-   * @param layerName  The name of the layer that is to be changed
+   * @param layerId  The name of the layer that is to be changed
    * @param hidden     String with the value to be set; 1=hidden, 0=visible.
    */
-  this.setHidden=function(layerName, hidden){
+  this.setHidden=function(layerId, hidden){
     // Set the hidden attribute in the Context
     var hiddenValue = "0";
     if (hidden) hiddenValue = "1";
-      
-    var layer=this.doc.selectSingleNode("/wmc:ViewContext/wmc:LayerList/wmc:Layer[wmc:Name='"+layerName+"']");
+
+    var layer = this.getLayer(layerId);
     if (layer) layer.setAttribute("hidden", hiddenValue);
     // Call the listeners
-    this.callListeners("hidden", layerName);
+    this.callListeners("hidden", layerId);
   }
 
   /**
    * Get the layer's visiblity attribute value.
-   * @param layerName  The name of the layer that is to be changed
+   * @param layerId  The name of the layer that is to be changed
    * @return hidden  String with the value; 1=hidden, 0=visible.
    */
-  this.getHidden=function(layerName){
+  this.getHidden=function(layerId){
     var hidden=1;
-    var layer=this.doc.selectSingleNode("/wmc:ViewContext/wmc:LayerList/wmc:Layer[wmc:Name='"+layerName+"']");
+    var layer = this.getLayer(layerId);
     if (layer) hidden = layer.getAttribute("hidden");
     return hidden;
   }
@@ -57,8 +60,9 @@
    * @return BoundingBox array with the sequence (xmin,ymin,xmax,ymax).
    */
   this.getBoundingBox=function() {
+    var bbox = new Array();
+    // Extract BoundingBox from the context
     var boundingBox=this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:BoundingBox");
-    bbox = new Array();
     bbox[0]=parseFloat(boundingBox.getAttribute("minx"));
     bbox[1]=parseFloat(boundingBox.getAttribute("miny"));
     bbox[2]=parseFloat(boundingBox.getAttribute("maxx"));
@@ -72,7 +76,6 @@
    */
   this.setBoundingBox=function(boundingBox) {
     // Set BoundingBox in context
-    //bbox=this.doc.documentElement.getElementsByTagName("BoundingBox").item(0);
     var bbox=this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:BoundingBox");
     bbox.setAttribute("minx", boundingBox[0]);
     bbox.setAttribute("miny", boundingBox[1]);
@@ -88,15 +91,13 @@
    */
   this.initBbox=function(objRef) {
     // Set BoundingBox in context from URL CGI params
-    if (window.cgiArgs["bbox"]) {     //set as minx,miny,maxx,maxy
+    if (window.cgiArgs["bbox"]) {   //set as minx,miny,maxx,maxy
       var bbox = window.cgiArgs["bbox"].split(',');
-      var ul = new Array(parseFloat(bbox[0]),parseFloat(bbox[3]));
-      var lr = new Array(parseFloat(bbox[2]),parseFloat(bbox[1]));
-      objRef.extent.zoomToBox(ul, lr);
+      objRef.setBoundingBox(bbox);
     }
   }
-  //PGC this.addListener( "loadModel", this.initBbox, this );
-  this.addListener( "contextLoaded", this.initBbox, this );
+  this.addListener( "loadModel", this.initBbox, this );
+  //this.addListener( "contextLoaded", this.initBbox, this );
 
   /**
    * Set the aoi param and call the refresh listeners
@@ -113,7 +114,7 @@
   //MA this.addListener( "contextLoaded", this.initAoi, this );
 
   /**
-   * Set the Spacial Reference System for the context document.
+   * Set the Spatial Reference System for the context document.
    * @param srs The Spatial Reference System.
    */
   this.setSRS=function(srs) {
@@ -123,16 +124,26 @@
   }
 
   /**
-   * Get the Spacial Reference System from the context document.
+   * Get the Spatial Reference System from the context document.
    * @return srs The Spatial Reference System.
    */
   this.getSRS=function() {
     var bbox=this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:BoundingBox");
     srs=bbox.getAttribute("SRS");
+    srs = srs ? srs : 'EPSG:4326';
     return srs;
   }
 
   /**
+   * Get the Projection object from the context document.
+   * @return Proj Object of  The Spatial Reference System.
+   */
+  this.initProj=function(objRef) {
+    objRef.proj=new OpenLayers.Projection(objRef.getSRS());
+  }
+  this.addFirstListener( "loadModel", this.initProj, this );
+
+  /**
    * Get the Window width.
    * @return width The width of map window from the context document
    */
@@ -143,7 +154,7 @@
 
   /**
    * Set the Window width.
-   * @param width The width of map window (therefore of map layer images).
+   * @param width The width of map window to set in the context document
    */
   this.setWindowWidth=function(width) {
     var win=this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:Window");
@@ -171,11 +182,45 @@
   }
 
   /**
+   * Returns the width/height of the map window as an array
+   */
+  this.getWindowSize=function() {
+    var win=this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:Window");
+    return new Array(win.getAttribute("width"), win.getAttribute("height"));
+  }
+
+  /**
+   * Set the Window width and height in one function call to avoid a resize event in between
+   * setting width and height, because that causes checkBbox to be triggered, which adjusts the
+   * bbox then when it should not yet be adjusted.
+   * Added by VTS for dynamic map window resizing (AutoResize tool)
+   * @param size Size of the map window as (width, height) array
+   */
+  this.setWindowSize=function(size) {
+    var width = size[0];
+    var height = size[1];
+    var win=this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:Window");
+    win.setAttribute("width", width);
+    win.setAttribute("height", height);
+    this.callListeners("resize");
+  }
+
+  /**
+   * Returns the Layer node with the specified name from the list of nodes
+   * selected by the nodeSelectXpath from the capabilities doc.
+   * @param featureName name of the featureType to look up
+   * @return the Layer node with the specified name.
+   */
+  this.getFeatureNode = function(featureName) {
+    return this.doc.selectSingleNode(this.nodeSelectXpath+"[wmc:Name='"+featureName+"']");
+  }
+
+  /**
    * Returns the serverUrl for the layer passed in as the feature argument.
    * @param requestName ignored for context docs (only GetMap supported)
    * @param method ignored for context docs (only GET supported)
    * @param feature the Layer node from the context doc
-   * @return URL for the GetMap request 
+   * @return URL for the GetMap request
    */
   this.getServerUrl = function(requestName, method, feature) {
     return feature.selectSingleNode("wmc:Server/wmc:OnlineResource").getAttribute("xlink:href");
@@ -186,7 +231,7 @@
    * @param feature the Layer node from the context doc
    * @return the WMS GetMap version for the Layer.
    */
-  this.getVersion = function(feature) {  
+  this.getVersion = function(feature) {
     return feature.selectSingleNode("wmc:Server").getAttribute("version");
   }
 
@@ -204,7 +249,7 @@
    * @return the list with queryable layers
    */
   this.getQueryableLayers = function() {
-    var listNodeArray = this.doc.selectNodes("/wmc:ViewContext/wmc:LayerList/wmc:Layer[attribute::queryable='1']/wmc:Name");
+    var listNodeArray = this.doc.selectNodes("/wmc:ViewContext/wmc:LayerList/wmc:Layer[attribute::queryable='1']");
     return listNodeArray;
   }
 
@@ -220,35 +265,79 @@
 
   /**
    * Method to get a layer with the specified name in the context doc
-   * @param layerName the layer to be returned
+   * @param layerId the id of the layer to be returned
    * @return the list with all layers
    */
-  this.getLayer = function(layerName) {
-    var layer = this.doc.selectSingleNode("/wmc:ViewContext/wmc:LayerList/wmc:Layer[wmc:Name='"+layerName+"']");
+  this.getLayer = function(layerId) {
+    var layer = this.doc.selectSingleNode("/wmc:ViewContext/wmc:LayerList/wmc:Layer[@id='"+layerId+"']");
+    if (layer == null) {
+      layer = this.doc.selectSingleNode("/wmc:ViewContext/wmc:LayerList/wmc:Layer[wmc:Name='"+layerId+"']");
+    }
     //TBD: add in time stamp
     return layer;
   }
 
   /**
+   * Method to get a layer id with the specified id/name in the context doc
+   * @param layerName the name of the layer of which the id is to be returned
+   * @return the id of the layer || false
+   */
+  this.getLayerIdByName = function(layerName) {
+    var layer = this.getLayer(layerName);
+    var id;
+    if (layer) {
+      id = layer.getAttribute("id");
+    }
+
+    return id || false;
+  }
+
+  /**
    * Method to add a Layer to the LayerList
    * @param layerNode the Layer node from another context doc or capabiltiies doc
    */
   this.addLayer = function(objRef, layerNode) {
+
     var parentNode = objRef.doc.selectSingleNode("/wmc:ViewContext/wmc:LayerList");
-    parentNode.appendChild(layerNode.cloneNode(true));
+    parentNode.appendChild(layerNode);
+
+    // Generate layer id if layer doesn't have an id
+    if (!layerNode.getAttribute("id")) {
+      var randomNumber = Math.round(10000 * Math.random());
+      id = Mapbuilder.getProperty(layerNode, "wmc:Name") + "_" + randomNumber; 
+      layerNode.setAttribute("id", id);
+    }
+
     objRef.modified = true;
     //objRef.callListeners("refresh");
   }
   this.addFirstListener( "addLayer", this.addLayer, this );
 
+ /**
+   * Method to add a Sld tag to the StyleList
+   * @param layerName the Layer name from another context doc or capabiltiies doc
+   */
+  this.addSLD = function(objRef,sldNode) {
+    // alert("context addSLD : "+objRef.id);
+    var layerName=Mapbuilder.getProperty(sldNode, "//Name");
+    var parentNode = objRef.doc.selectSingleNode("//wmc:Layer[wmc:Name='"+layerName+"']");
+    parentNode.appendChild(sldNode.cloneNode(true));
+    objRef.modified = true;
+    var attribs=[];
+    attribs["sld_body"]=(new XMLSerializer()).serializeToString(objRef.doc.selectSingleNode("//wmc:Layer[wmc:Name='"+layerName+"']/wmc:StyleList/wmc:Style/wmc:SLD/wmc:StyledLayerDescriptor"));
+	objRef.map.mbMapPane.refreshLayer(objRef.map.mbMapPane,layerName,attribs);
+	
+  }
+  this.addFirstListener( "addSLD", this.addSLD, this );
+
   /**
    * Method to remove a Layer from the LayerList
-   * @param layerName the Layer to be deleted
+   * @param layerId the Layer to be deleted
    */
-  this.deleteLayer = function(objRef, layerName) {
-    var deletedNode = objRef.getLayer(layerName);
+  this.deleteLayer = function(objRef, layerId) {
+    var deletedNode = objRef.getLayer(layerId);
     if (!deletedNode) {
-      alert("node note found; unable to delete node:"+layerName);
+      alert(mbGetMessage("nodeNotFound", layerId));
       return;
     }
     deletedNode.parentNode.removeChild(deletedNode);
@@ -258,13 +347,13 @@
 
   /**
    * Method to move a Layer in the LayerList up
-   * @param layerName the layer to be moved
+   * @param layerId the layer to be moved
    */
-  this.moveLayerUp = function(objRef, layerName) {
-    var movedNode = objRef.getLayer(layerName);
+  this.moveLayerUp = function(objRef, layerId) {
+    var movedNode = objRef.getLayer(layerId);
     var sibNode = movedNode.selectSingleNode("following-sibling::*");
     if (!sibNode) {
-      alert("can't move node past beginning of list:"+layerName);
+      alert(mbGetMessage("cantMoveUp", layerId));
       return;
     }
     movedNode.parentNode.insertBefore(sibNode,movedNode);
@@ -274,14 +363,14 @@
 
   /**
    * Method to move a Layer in the LayerList down
-   * @param layerName the layer to be moved
+   * @param layerId the layer to be moved
    */
-  this.moveLayerDown = function(objRef, layerName) {
-    var movedNode = objRef.getLayer(layerName);
+  this.moveLayerDown = function(objRef, layerId) {
+    var movedNode = objRef.getLayer(layerId);
     var listNodeArray = movedNode.selectNodes("preceding-sibling::*");  //preceding-sibling axis contains all previous siblings
     var sibNode = listNodeArray[listNodeArray.length-1];
     if (!sibNode) {
-      alert("can't move node past beginning of list:"+layerName);
+      alert(mbGetMessage("cantMoveDown", layerId));
       return;
     }
     movedNode.parentNode.insertBefore(movedNode,sibNode);
@@ -291,7 +380,7 @@
 
   /**
    * Adds a node to the Context document extension element.  The extension element
-   * will be created if it doesn't already exist.  
+   * will be created if it doesn't already exist.
    * @param extensionNode the node to be appended in the extension element.
    * @return the ndoe added to the extension element
    */
@@ -315,9 +404,9 @@
 
   /**
    * Parses a Dimension element from the Context document as a loadModel listener.
-   * This results in an XML structure with one element for each GetMap time value 
+   * This results in an XML structure with one element for each GetMap time value
    * parameter and added to the Context extrension element.
-   * @param objRef a pointer to this object 
+   * @param objRef a pointer to this object
    */
   this.initTimeExtent = function( objRef ) {
     //only the first one selected is used as the timestamp source
@@ -327,10 +416,16 @@
     for (var i=0; i<timeNodes.length; ++i) {
       var extentNode = timeNodes[i];
       objRef.timestampList = createElementWithNS(objRef.doc,"TimestampList",mbNsUrl);
-      var layerName = extentNode.parentNode.parentNode.selectSingleNode("wmc:Name").firstChild.nodeValue;
-      objRef.timestampList.setAttribute("layerName", layerName);
-      //alert("found time dimension, extent:"+extentNode.firstChild.nodeValue);
-      var times = extentNode.firstChild.nodeValue.split(",");   //comma separated list of arguments
+      var layerId;
+      var layerNode = extentNode.parentNode.parentNode;
+      if (layerNode.selectSingleNode("@id")) {
+        layerId = Mapbuilder.getProperty(layerNode, "@id");
+      } else {
+        layerId = Mapbuilder.getProperty(layerNode, "wmc:Name");
+      }
+      objRef.timestampList.setAttribute("layerId", layerId);
+      //alert("found time dimension, extent:"+getNodeValue(extentNode));
+      var times = getNodeValue(extentNode).split(",");   //comma separated list of arguments
       for (var j=0; j<times.length; ++j) {
         var params = times[j].split("/");     // parses start/end/period
         if (params.length==3) {
@@ -363,19 +458,57 @@
           objRef.timestampList.appendChild(timestamp);
         }
       }
-     objRef.setExtension(objRef.timestampList);  
+     objRef.setExtension(objRef.timestampList);
     }
   }
   this.addFirstListener( "loadModel", this.initTimeExtent, this );
+  
+  /**
+   * clear the time extent created by initTimeExtent
+   * @param objRef reference to this model
+   */
+  this.clearTimeExtent = function( objRef ) {
+    var tsList = objRef.timestampList;
+    if (tsList) {
+      tsList.parentNode.removeChild(tsList);
+    }
+  }
+  this.addListener("newModel", this.clearTimeExtent, this);
 
   /**
    * Returns the current timestamp value.
-   * @param layerName the name of the Layer from which the timestamp list was generated
+   * @param layerId the name of the Layer from which the timestamp list was generated
    * @return the current timestamp value.
    */
-  this.getCurrentTimestamp = function( layerName ) {
+  this.getCurrentTimestamp = function( layerId ) {
     var index = this.getParam("timestamp");
-    return this.timestampList.childNodes[index].firstChild.nodeValue;
+    return getNodeValue(this.timestampList.childNodes[index]);
   }
+
+  // PL -BRGM
+  /**
+   * Change a Layer's opacity
+   * @param layerId  The name of the layer that is to be changed
+   * @param Opacity     Value of the opacity
+   */
+  this.setOpacity=function(layerId, Opacity){
+    // Set the hidden attribute in the Context
+    var layer = this.getLayer(layerId);
+    if (layer) layer.setAttribute("opacity", Opacity);
+    // Call the listeners
+    this.callListeners("opacity", layerId);
+  }
+
+  /**
+   * Get the layer's opacity attribute value.
+   * @param layerId  The name of the layer that is to be changed
+   * @return hidden  String with the value; 1=hidden, 0=visible.
+   */
+  this.getOpacity=function(layerId){
+    var opacity=1;
+    var layer = this.getLayer(layerId);
+    if (layer) opacity = layer.getAttribute("opacity");
+    return opacity;
+  }
+  // PL -END
 }
-
Index: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/icons/continue_disabled.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/tests/selenium/selenium-core-0.8.2/icons/continue_disabled.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/Mapbuilder.js
===================================================================
--- lib/spatial/mapbuilder/lib/Mapbuilder.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/Mapbuilder.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: Mapbuilder.js 3819 2008-02-01 00:31:29Z ahocevar $
 */
 
 /** get a time stamp at start of the page load */
@@ -9,8 +9,10 @@
 /** the global config object */
 var config;
 
+if( typeof baseDir == "undefined") {
 /** URL of Mapbuilder's lib/ directory. */
 var baseDir;
+}
 
 /** mapbuilder environement settings, defaults to a .xml extension but is 
   auto-configured by the ant build script to .jsp for tomcat environment 
@@ -52,6 +54,12 @@
   /** Array of objects that are loading.  Don't continue initialisation until
    * all objects have loaded. */
   this.loadingScripts=new Array();
+  
+  /** Array of scripts that have to be loaded ordered */
+  this.orderedScripts = new Array();
+  
+  /** Timer to load ordered scripts */
+  this.scriptLoader = null;
 
   /** Timer to periodically check if scripts have loaded. */
   this.scriptsTimer=null;
@@ -74,7 +82,7 @@
       {
         this.loadingScripts.shift();
       }
-      if (this.loadingScripts.length==0){
+      if (this.loadingScripts.length==0 && this.orderedScripts.length == 0){
         this.setLoadState(this.loadState+1);
       }
     }
@@ -95,14 +103,22 @@
     this.loadState=newState;
     switch (newState){
       case MB_LOAD_CORE:
+        // core scripts have to be loaded in the correct order (needed for IE)
+        this.loadOrdered = true;
+        this.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
         this.loadScript(baseDir+"/util/sarissa/Sarissa.js");
-        //this.loadScript(baseDir+"/util/sarissa/sarissa_dhtml.js");
+        this.loadScript(baseDir+"/util/sarissa/javeline_xpath.js");
+        this.loadScript(baseDir+"/util/sarissa/javeline_xslt.js");
+        this.loadScript(baseDir+"/util/sarissa/sarissa_dhtml.js");
         this.loadScript(baseDir+"/util/sarissa/sarissa_ieemu_xpath.js");
         //this.loadScript(baseDir+"/util/sarissa/sarissa_ieemu_xslt.js");//all deprecated
+        this.loadScript(baseDir+"/util/proj4js/proj4js-compressed.js");
         this.loadScript(baseDir+"/util/Util.js");
         this.loadScript(baseDir+"/util/Listener.js");
         this.loadScript(baseDir+"/model/ModelBase.js");
         this.loadScript(baseDir+"/model/Config.js");
+        // from now on, scripts can be loaded in any order
+        this.loadOrdered = false;
         break;
       case MB_LOAD_CONFIG:
         if(document.readyState){
@@ -115,29 +131,7 @@
         }
         break;
       case MB_LOADED:
-        clearInterval(this.scriptsTimer);
-          
-        /*
-         *  Test for XSLT support
-         *  if not, redirect to an appropriate message.
-         */
-        if (typeof XSLTProcessor != "undefined") {
-           var UA = navigator.userAgent;
-           var AV = navigator.appVersion;
-
-           // KHTML browsers should be detected by the typeof comparison
-           //khtml = ((AV.indexOf("Konqueror") >= 0)||(AV.indexOf("Safari") >= 0)) ? true : false;
-
-           // Opera slips through the cracks
-           opera = UA.indexOf("Opera") == -1 ? false : true;
-
-           if (opera) {
-               window.location = baseDir+"/util/noxslt.html";
-           }
-        } else {
-           window.location = baseDir+"/util/noxslt.html";
-        }
-
+        window.clearInterval(this.scriptsTimer);
         break;
     }
   }
@@ -145,18 +139,91 @@
   /**
    * Dynamically load a script file if it has not already been loaded.
    * @param url The url of the script.
+   * that loadScript was called
    */
   this.loadScript=function(url){
+    // if we are working with a compressed build, load only scripts that
+    // are not part of the compressed build. This check is done by looking
+    // into the global namespace for a function that has the same name as
+    // the script file (without path and without .js). Because script files
+    // in the util dir do not follow that pattern, exclude them from the
+    // check separately.
+    if(typeof MapBuilder_Release == "boolean") {
+      if (url.indexOf(baseDir+"/util/") != -1) {
+        return;
+      }
+      var urlElements = url.split("/");
+      var scriptClass = urlElements[urlElements.length-1].replace(/.js$/, "");
+      if(typeof window[scriptClass] == "function") {
+        return;
+      }
+    }
+
     if(!document.getElementById(url)){
       var script = document.createElement('script');
+      script.src = url;
+      script.id = url;
       script.defer = false;   //not sure of effect of this?
       script.type = "text/javascript";
-      script.src = url;
-      script.id = url;
-      document.getElementsByTagName('head')[0].appendChild(script);
-      this.loadingScripts.push(script);
+      if (document.readyState && this.loadOrdered == true) {
+        // in IE, mark the script as ordered
+        this.orderedScripts.push(script);
+        if (!this.scriptLoader) {
+          this.scriptLoader = window.setInterval('mapbuilder.loadNextScript()', 50);
+        }
+      } else {
+        // add to dom tree, except if we are using IE and want to load ordered
+        document.getElementsByTagName('head')[0].appendChild(script);
+      }
+      if (document.readyState) {
+        // this is only needed for IE
+        this.loadingScripts.push(script);
+      }
     }
   }
+   
+  /**
+   * loads one script after another - only for IE. This function is run in a
+   * 50ms interval and clears its interval if there are no more scripts to
+   * load. It actually loads the first script from the orderedScripts array.
+   */
+  this.loadNextScript = function() {
+    if (this.orderedScripts.length == 0) {
+      window.clearInterval(this.scriptLoader);
+      this.scriptLoader = null;
+    } else {
+      var script = this.orderedScripts[0];
+      if (!script.loading) {
+        script.loading = true;
+        this.doLoadScript(script);
+      }
+    }
+  }
+  
+  /**
+   * starts script loading by adding the script node to the dom tree - IE only.
+   * This function adds a readyState handler to the script node.
+   */
+  this.doLoadScript = function(script) {
+    var objRef = this;
+    script.onreadystatechange = function(){objRef.checkScriptState(this)};
+    document.getElementsByTagName('head')[0].appendChild(script);
+  }
+  
+  /**
+   * readyState handler for scripts - IE only. This will remove the script from
+   * the array of scripts that have still to be loaded.
+   */
+  this.checkScriptState = function(script) {
+    if (script.readyState == "loaded" || script.readyState == "complete") {
+      for (var i=0; i<this.orderedScripts.length; i++) {
+        if (script == this.orderedScripts[i]) {
+          this.orderedScripts.splice(i, 1);
+          break;
+        }
+      }
+    }
+  }
 
   /**
    * Internal function to load scripts for components that don't have <scriptfile>
@@ -175,14 +242,23 @@
   }
 
   //derive the baseDir value by looking for the script tag that loaded this file
-  var head = document.getElementsByTagName('head')[0];
-  var nodes = head.childNodes;
-  for (var i=0; i<nodes.length; ++i ){
-    var src = nodes.item(i).src;
-    if (src) {
-      var index = src.indexOf("/Mapbuilder.js");
-      if (index>=0) {
-        baseDir = src.substring(0, index);
+  if (!baseDir) {
+    var head = document.getElementsByTagName('head')[0];
+    var nodes = head.childNodes;
+    for (var i=0; i<nodes.length; ++i ){
+      var src = nodes.item(i).src;
+      if (src) {
+        //var index = src.indexOf("/Mapbuilder.js");
+        // Modified so it will work with original or compressed file
+        var index = src.indexOf("/Mapbuilder.js");
+        if (index>=0) {
+          baseDir = src.substring(0, index);
+        } else {
+          index = src.indexOf("/MapbuilderCompressed.js");
+          if (index>=0) {
+            baseDir = src.substring(0, index);
+          }
+        }
       }
     }
   }
@@ -191,7 +267,7 @@
   this.setLoadState(MB_LOAD_CORE);
 
   // Start a timer which periodically calls checkScriptsLoaded().
-  this.scriptsTimer=setInterval('mapbuilder.checkScriptsLoaded()',100);
+  this.scriptsTimer=window.setInterval('mapbuilder.checkScriptsLoaded()',100);
 }
 
 /**
@@ -224,8 +300,12 @@
  */
 function mapbuilderInit(){
   if(mapbuilder && mapbuilder.loadState==MB_LOADED){
-    clearInterval(mbTimerId);
+    window.clearInterval(mbTimerId);
     config.parseConfig(config);
+    if (Proj4js) {
+      Proj4js.libPath = baseDir+"/util/proj4js/";
+      Proj4js.proxyScript = config.proxyUrl+'?url=';
+    }
     config.callListeners("init");
     var mbTimerStop = new Date();
     //alert("load time:"+(mbTimerStop.getTime()-mbTimerStart.getTime()) );
@@ -247,6 +327,6 @@
  */
 function mbDoLoad(initFunction) {
   // See if scripts have been loaded every 100msecs, then call config.init().
-  mbTimerId=setInterval('mapbuilderInit()',100);
+  mbTimerId=window.setInterval('mapbuilderInit()',100);
   if (initFunction) window.mbInit = initFunction;
 }
Index: lib/spatial/mapbuilder/lib/model/WfsCapabilities.js
===================================================================
--- lib/spatial/mapbuilder/lib/model/WfsCapabilities.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/model/WfsCapabilities.js	(revision 4307)
@@ -1,13 +1,17 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: WfsCapabilities.js 3657 2007-11-29 09:04:26Z gjvoosten $
 */
 
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+
 /**
  * Stores a Web Feature (WFS) Capabilities document as defined by the 
- * Open Geospatial Consortium (http://opengis.org).
+ * Open Geospatial Consortium (http://www.opengeospatial.org/).
  *
  * @constructor
+ * @base ModelBase
  * @author Mike Adair
  * @param modelNode   The model's XML object node from the configuration document.
  * @param parent The model object that this widget belongs to.
Index: lib/spatial/mapbuilder/lib/model/Model.js
===================================================================
--- lib/spatial/mapbuilder/lib/model/Model.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/model/Model.js	(revision 4307)
@@ -1,8 +1,11 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: Model.js 3091 2007-08-09 12:21:54Z gjvoosten $
 */
 
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+
 /**
  * Generic Model object for models where no specialization is required.  This is
  * just an instance of a abstract ModelBase.
Index: lib/spatial/mapbuilder/lib/model/Logger.js
===================================================================
--- lib/spatial/mapbuilder/lib/model/Logger.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/model/Logger.js	(revision 4307)
@@ -1,8 +1,11 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: Logger.js 3091 2007-08-09 12:21:54Z gjvoosten $
 */
 
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+
 /**
  * Records a log of events that occur over the course of mapbuilder execution
  * @constructor
@@ -59,9 +62,9 @@
       Sarissa.setXpathNamespaces(tempDoc, "xmlns:xlink='http://www.w3.org/1999/xlink'");
       var onlineResource = tempDoc.selectSingleNode("//OnlineResource");
       var fileUrl = onlineResource.attributes.getNamedItem("xlink:href").nodeValue;
-      alert("event log saved as:" + fileUrl);
+      alert(mbGetMessage("eventLogSaved", fileUrl));
     } else {
-      alert("unable to save event log; provide a serializeUrl property in config");
+      alert(mbGetMessage("unableToSaveLog"));
     }
   }
 
Index: lib/spatial/mapbuilder/lib/model/Transaction.js
===================================================================
--- lib/spatial/mapbuilder/lib/model/Transaction.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/model/Transaction.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: Transaction.js 3657 2007-11-29 09:04:26Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -7,13 +7,14 @@
 mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
 
 /**
- * Stores a WFS Transaction reponse as defined by the Open GIS Consortium
- * http://opengis.org (WFS).  
+ * Stores a WFS Transaction reponse as defined by the Open Geospatial Consortium
+ * (http://www.opengeospatial.org/) (WFS).  
  * Extends ModelBase, which extends Listener.
  *
  * Listeners implemented:
  *
  * @constructor
+ * @base ModelBase
  * @author Mike Adair
  * @param modelNode Pointer to the xml node for this model from the config file.
  * @param parent    The parent model for the object.
Index: lib/spatial/mapbuilder/lib/model/StyledLayerDescriptor.js
===================================================================
--- lib/spatial/mapbuilder/lib/model/StyledLayerDescriptor.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/model/StyledLayerDescriptor.js	(revision 4307)
@@ -0,0 +1,43 @@
+ /*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: StyledLayerDescriptor.js 3947 2008-03-27 18:13:25Z ahocevar $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+
+/**
+ * Stores a SLD file  as defined by the
+ * Open Geospatial Consortium (http://www.opengeospatial.org/).
+ *
+ * @constructor
+ * @base ModelBase
+ * @author Olivier Terral
+ * @requires Sarissa
+ * @param modelNode The model's XML object node from the configuration document.
+ * @param parent    The parent model for the object.
+ */
+function StyledLayerDescriptor(modelNode, parent) {
+  // Inherit the ModelBase functions and parameters
+  ModelBase.apply(this, new Array(modelNode, parent));
+  
+  this.sld = null;
+  this.namespace = "xmlns:sld='http://www.opengis.net/sld' xmlns:mb='http://mapbuilder.sourceforge.net/mapbuilder' xmlns:wmc='http://www.opengis.net/context' xmlns:wms='http://www.opengis.net/wms' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:ogc='http://www.opengis.net/ogc' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:wfs='http://www.opengis.net/wfs'";
+  this.sldXPath = this.getProperty("mb:sldXPath", "/sld:StyledLayerDescriptor");
+
+  this.getSldNode=function() {
+  	return this.doc.selectSingleNode(this.sldXPath);
+  }
+  
+  /**
+   * loads the sld into an OpenLayers hash representing the sld.
+   * @param objRef reference to this model.
+   */
+  this.loadSLD = function(objRef) {
+    var format = new OpenLayers.Format.SLD();
+    var sldNode = objRef.doc.selectSingleNode(objRef.sldXPath);
+    objRef.sld = format.read(new XMLSerializer().serializeToString(sldNode));
+  }
+  this.addFirstListener("loadModel", this.loadSLD, this);
+
+}
Index: lib/spatial/mapbuilder/lib/model/WpsCapabilities.js
===================================================================
--- lib/spatial/mapbuilder/lib/model/WpsCapabilities.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/model/WpsCapabilities.js	(revision 4307)
@@ -1,13 +1,17 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: WpsCapabilities.js 3657 2007-11-29 09:04:26Z gjvoosten $
 */
 
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+
 /**
  * Stores a Web Processing service (WPS) Capabilities document as defined by the 
- * Open Geospatial Consortium (http://opengis.org).
+ * Open Geospatial Consortium (http://www.opengeospatial.org/).
  *
  * @constructor
+ * @base ModelBase
  * @author Mike Adair
  * @param modelNode   The model's XML object node from the configuration document.
  * @param parent The model object that this widget belongs to.
Index: lib/spatial/mapbuilder/lib/model/OwsCatResources.js
===================================================================
--- lib/spatial/mapbuilder/lib/model/OwsCatResources.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/model/OwsCatResources.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: OwsCatResources.js 2546 2007-01-23 12:07:39Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
Index: lib/spatial/mapbuilder/lib/schemas/context.xsd
===================================================================
--- lib/spatial/mapbuilder/lib/schemas/context.xsd	(revision 4306)
+++ lib/spatial/mapbuilder/lib/schemas/context.xsd	(revision 4307)
@@ -6,7 +6,8 @@
 			 xmlns:sld="http://www.opengis.net/sld"
 			 xmlns:xlink="http://www.w3.org/1999/xlink"
 			 elementFormDefault="qualified">
-	<xs:import namespace="http://www.opengis.net/sld" schemaLocation="../../sld/1.0.0/StyledLayerDescriptor.xsd"/>
+	<xs:import namespace="http://www.opengis.net/sld" schemaLocation="http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd"/>
+	<xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://schemas.opengis.net/xlink/1.0.0/xlinks.xsd"/>
 	<xs:element name="ViewContext" type="context:ViewContextType"/>
 	<xs:complexType name="ViewContextType">
 		<xs:sequence>
Index: lib/spatial/mapbuilder/lib/schemas/config.xml
===================================================================
--- lib/spatial/mapbuilder/lib/schemas/config.xml	(nonexistent)
+++ lib/spatial/mapbuilder/lib/schemas/config.xml	(revision 4307)
@@ -0,0 +1,1331 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema targetNamespace="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="0.2.1">
+  <xs:annotation>
+    <xs:appinfo>$Id: config.xsd 3965 2008-04-01 14:53:07Z oterral $</xs:appinfo>
+    <xs:documentation xml:lang="en">
+      <xs:description>Application schema for Mapbuilder runtime configuration</xs:description>
+      <xs:copyright>License: LGPL as per: http://www.gnu.org/copyleft/lesser.html</xs:copyright>
+    </xs:documentation>
+  </xs:annotation>
+
+  <!-- imports -->
+  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
+  <!-- root element -->
+  <xs:element name="MapbuilderConfig">
+    <xs:annotation>
+      <xs:documentation>root element for all Mapbuilder applications</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent>
+        <xs:extension base="mb:AbstractModelBaseType">
+          <xs:sequence>
+            <xs:element name="skinDir" type="mb:urlPathType" minOccurs="1"/>
+            <xs:element name="userWidgetTextDir" type="mb:urlPathType" minOccurs="0"/>
+            <xs:element name="proxyUrl" type="mb:urlPathType" minOccurs="0"/>
+            <xs:element name="serializeUrl" type="mb:urlPathType" minOccurs="0"/>
+          </xs:sequence>
+          <xs:attribute name="version" type="xs:string" use="required" fixed="0.2.1">
+            <xs:annotation>
+              <xs:appinfo source="An attribute &quot;version&quot; representing the published specification version number, contains three positive integers, separated by decimal points, in the form &quot;x.y.z&quot;. Each context specification is numbered independently. This attribute is required."/>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+
+  <!--  global base types -->
+  <xs:complexType name="AbstractModelBaseType" abstract="true">
+    <xs:sequence>
+      <xs:element name="title" type="xs:string" minOccurs="0"/>
+      <xs:element name="defaultModelUrl" type="mb:urlPathType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>The URL where the model gets loaded from.  If the method is HTTP GET, then include the full query string in the URL.  Optional, if present, the model will be loaded when the application loads.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="method" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>the HTTP method to use to retrieve the model.  Optional, defaults to GET.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="scriptFile" type="mb:urlPathType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>this property specifies a relative or absolute URL to a JavaScript file that can replace the default JavaScript object.  The file must be served from the same domain as the mapbuilder application.  Optional, if missing a default JavaScript file will be used (in the lib/widget directory with the same name as the widget)</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="debug" nillable="true" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>an empty property element to show debugging output during model processing.  Optional.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="models" type="mb:modelsType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>A list of child models objects where a parent/child relationship can be established between models (e.g. a DescribeFeatureType model can be a child of a WfsCapabilities model.  Optional.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="widgets" type="mb:widgetsType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>a list of widgets for this model.  Optional, however a model will usually have at least one widget.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="tools" type="mb:toolsType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>a list of tools that can be used to control this model. Optional.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="namespace" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>The namespace that will be used by Xpath queries on this model.  Optional.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="nodeSelectXpath" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation/>
+        </xs:annotation>
+      </xs:element>
+    </xs:sequence>
+    <xs:attribute name="id" type="mb:idType" use="required"/>
+    <xs:attribute name="template" type="xs:boolean" use="optional"/>
+  </xs:complexType>
+  <xs:complexType name="AbstractWidgetBaseType" abstract="true">
+    <xs:sequence>
+      <xs:element name="htmlTagId" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>the ID of the HTML element in the web page where this widget's ouput should be placed.  Optional, if present, this value will be used instead of the widget's ID attribute.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="outputNodeId" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>the ID to be assigned to the widget stylesheet output.  This property can be used to share the same HTML element among widgets if multiple widgets use the same value for this property.  Optional, if not present, an id will be automatically assigned to the widget stylehseet output. </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="targetModel" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>used so that the actions of this widget can affect a model other than this widget's parent model.  The value of this property is the ID of another model object in the config document.  Every widget will have a targetModel property.  Optional, if missing the targetModel is set to the parent model</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="scriptFile" type="mb:urlPathType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>this property specifies a relative or absolute URL to a JavaScript file that can replace the default JavaScript object.  The file must be served from the same domain as the mapbuilder application.  Optional, if missing a default JavaScript file will be used (in the lib/widget directory with the same name as the widget)</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="debug" nillable="true" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>an empty property element to show debugging output during stylesheet processing.  Optional.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="autoRefresh" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>if this property has a value of "false", automatic refresh of the widget output is suppressed.  Optional, defaults to true</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="toolId" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>i</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:sequence>
+    <xs:attribute name="id" type="mb:idType" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="AbstractWidgetBaseXSLType" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseType">
+        <xs:sequence>
+          <xs:element name="stylesheet" type="mb:urlPathType" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>this property specifies a relative or absolute URL to a stylesheet that can replace the default stylesheet.  The stylesheet must be served from the same domain as the mapbuilder application.  Optional, if missing a default stylesheet will be used (in the lib/widget directory with the same name as the widget)</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="parseHTMLNodes" type="xs:boolean" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>if true, HTML entities (like found in RSS feeds) will be parsed and converted to HTML, instead of showing HTML source code.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="AbstractButtonBaseType" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseType">
+        <xs:sequence>
+          <xs:element name="buttonBar" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>equivalent to the htmlTagId property for placing buttons in a page.  Buttons get appended to this HTML element in sequence. Buttons with the same buttonBar property will belong to the same buttonBar group.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="htmlTagId" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>If set this property will be used for placing the buttons in a page. Buttons get appended to this HTML element in sequence. Use this property if you want to place buttons with the same buttonBar property on a different place in the web page.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="targetModel" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>Target Model</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="targetContext" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>the id of a context object of the map on which to use the button.  Optional for buttons that have the context of the desired map as target model.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="class" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>specifies the type of button.  Permitted values include "Button", "Toggle" and "RadioButton".  A Button class will execute it's action immediately when pressed.  A "Toggle" will be enabled when clicked, and disabled when clicked again, without affecting other buttons. A "RadioButton" has enabled and disabled state and only one button in a buttonBar group can be enabled at any one time.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="selected" type="xs:boolean" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>boolean value (true|false) to inidicate the initial state of this button</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="enabledSrc" type="mb:urlPathType" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>partial skin path to graphic source when this button is selected</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="disabledSrc" type="mb:urlPathType" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>partial skin path to graphic source when this button is not selected</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="tooltip" type="mb:tooltipType" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>text to be used when the mouse hovers over this button.  Multiple languages are supported by using an "xml:lang" attribute on this property.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="action" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation/>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="cursor" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation/>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="AbstractToolBaseType" abstract="true">
+    <xs:sequence>
+      <xs:element name="targetModel" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>the id of a model object which this tool acts on.  Optional, if absent the action happens on the parent model of this tool.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="mouseHandler" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>the id of a tool object on which to register mouse events.  Optional, if absent, not mouse events are handled and the action is the doSelect function</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="scriptFile" type="mb:urlPathType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>this property specifies a relative or absolute URL to a JavaScript file that can replace the default JavaScript object.  The file must be served from the same domain as the mapbuilder application.  Optional, if missing a default JavaScript file will be used (in the lib/tool directory with the same name as the widget)</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="enabled" type="xs:boolean" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>a flag to indicate if this tool should initially be enabled.  Optional, accepts values of true and false.  Tools are enabled by default.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:sequence>
+    <xs:attribute name="id" type="mb:idType" use="optional"/>
+  </xs:complexType>
+
+  <!--  document structure -->
+  <xs:complexType name="modelsType">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element name="Context" type="mb:ContextType"/>
+      <xs:element name="FeatureCollection" type="mb:FeatureCollectionType"/>
+      <xs:element name="GeoRSS" type="mb:GeoRSSType"/>
+      <xs:element name="Logger" type="mb:LoggerType"/>
+      <xs:element name="Model" type="mb:ModelType">
+        <xs:annotation>
+          <xs:documentation>A generic model to represent an XML document where no specialized get or set methods are required</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="OwsCatResources" type="mb:OwsCatResourcesType"/>
+      <xs:element name="OwsContext" type="mb:ContextType"/>
+      <xs:element name="StyledLayerDescriptor" type="mb:StyledLayerDescriptorType"/>
+      <xs:element name="Transaction" type="mb:TransactionType"/>
+      <xs:element name="WfsCapabilities" type="mb:WfsCapabilitiesType"/>
+      <xs:element name="WmsCapabilities" type="mb:WmsCapabilitiesType"/>
+      <xs:element name="WpsCapabilities" type="mb:WpsCapabilitiesType"/>
+      <xs:element name="WpsDescribeProcess" type="mb:WpsDescribeProcessType"/>
+    </xs:choice>
+  </xs:complexType>
+  <xs:complexType name="widgetsType">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element name="Abstract" type="mb:WidgetType"/>
+      <xs:element name="AoiBoxOL" type="mb:AoiBoxOLType"/>
+      <xs:element name="AoiForm" type="mb:AoiFormType"/>
+      <xs:element name="Back" type="mb:ButtonType"/>
+      <xs:element name="Button" type="mb:ButtonType">
+        <xs:annotation>
+          <xs:documentation>A generic button</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="CatSearchForm" type="mb:WidgetType"/>
+      <xs:element name="CollectionList" type="mb:CollectionListType"/>
+      <xs:element name="CursorTrack" type="mb:CursorTrackType"/>
+      <xs:element name="DeleteFeature" type="mb:DeleteFeatureType"/>
+      <xs:element name="DragPan" type="mb:ButtonType"/>
+      <xs:element name="EditLine" type="mb:EditButtonBaseType"/>
+      <xs:element name="EditPoint" type="mb:EditButtonBaseType"/>
+      <xs:element name="EditPolygon" type="mb:EditButtonBaseType"/>
+      <xs:element name="EventLog" type="mb:WidgetType"/>
+      <xs:element name="ExampleList" type="mb:WidgetType"/>
+      <xs:element name="FeatureInfo" type="mb:WidgetType"/>
+      <xs:element name="FeatureList" type="mb:WidgetType"/>
+      <xs:element name="FilterAttributes" type="mb:WidgetType"/>
+      <xs:element name="Forward" type="mb:ButtonType"/>
+      <xs:element name="GetFeatureInfo" type="mb:GetFeatureInfoType"/>
+      <xs:element name="GetFeatureInfoWSR" type="mb:GetFeatureInfoWSRType"/>
+      <xs:element name="GmlRendererConfig" type="mb:GmlRendererConfigType"/>
+      <xs:element name="GmlRendererOL" type="mb:GmlRendererOLType"/>
+      <xs:element name="Graticule" type="mb:GraticuleType"/>
+      <xs:element name="InsertFeature" type="mb:InsertFeatureType"/>
+      <xs:element name="LayerControl" type="mb:LayerControlType"/>
+      <xs:element name="Legend" type="mb:LegendType"/>
+      <xs:element name="LegendGraphic" type="mb:LegendGraphicType"/>
+      <xs:element name="Loading2" type="mb:Loading2Type"/>
+      <xs:element name="Locations" type="mb:LocationsType"/>
+      <xs:element name="MapPaneOL" type="mb:MapPaneOLType"/>
+      <xs:element name="MapScaleBar" type="mb:MapScaleBarType"/>
+      <xs:element name="MapScaleText" type="mb:MapScaleTextType"/>
+      <xs:element name="MapTitle" type="mb:WidgetType"/>
+      <xs:element name="Measurement" type="mb:EditButtonBaseType"/>
+      <xs:element name="ModelStatus" type="mb:ModelStatusType"/>
+      <xs:element name="ModelUrlInput" type="mb:ModelUrlInputType"/>
+      <xs:element name="OpenLSForm" type="mb:OpenLSFormType"/>
+      <xs:element name="OpenLSResponse" type="mb:OpenLSResponseType"/>
+      <xs:element name="OverviewMap" type="mb:OverviewMapType"/>
+      <xs:element name="PanZoomBar" type="mb:PanZoomBarType"/>
+      <xs:element name="Reset" type="mb:ButtonType"/>
+      <xs:element name="Save" type="mb:SaveType"/>
+      <xs:element name="SaveModel" type="mb:SaveModelType"/>
+      <xs:element name="SearchWidget" type="mb:SearchWidgetType"/>
+      <xs:element name="SelectAllMapLayers" type="mb:WidgetType"/>
+      <xs:element name="SelectFeatureType" type="mb:WidgetType"/>
+      <xs:element name="SelectFromAtomFeed" type="mb:SelectFromAtomFeedType"/>
+      <xs:element name="SelectMapLayers" type="mb:WidgetType"/>
+      <xs:element name="SelectTimeFrame" type="mb:WidgetType"/>
+      <xs:element name="ServiceRegistryList" type="mb:WidgetType"/>
+      <xs:element name="SetAoi" type="mb:ButtonType"/>
+      <xs:element name="SLDEditor" type="mb:WidgetType"/>
+      <xs:element name="ShowDistance" type="mb:WidgetType"/>
+      <xs:element name="TabbedContent" type="mb:TabbedContentType"/>
+      <xs:element name="Timestamp" type="mb:TimestampType"/>
+      <xs:element name="TipWidgetOL" type="mb:TipWidgetOLType"/>
+      <xs:element name="TipWidgetConfig" type="mb:TipWidgetConfigType"/>
+      <xs:element name="TransactionResponse" type="mb:WidgetType"/>
+      <xs:element name="Version" type="mb:WidgetType"/>
+      <xs:element name="WebServiceForm" type="mb:WebServiceFormType"/>
+      <xs:element name="WfsGetFeature" type="mb:WfsGetFeatureType"/>
+      <xs:element name="Widget" type="mb:WidgetType">
+        <xs:annotation>
+          <xs:documentation>A generic widget</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="ZoomIn" type="mb:ButtonType"/>
+      <xs:element name="ZoomOut" type="mb:ButtonType"/>
+    </xs:choice>
+  </xs:complexType>
+  <xs:complexType name="toolsType">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element name="Caps2Context" type="mb:Caps2ContextType"/>
+      <xs:element name="EditContext" type="mb:EditContextType"/>
+      <xs:element name="EditSLD" type="mb:EditSLDType"/>
+      <xs:element name="FeatureSelectHandler" type="mb:FeatureSelectHandlerType"/>
+      <xs:element name="History" type="mb:HistoryType"/>
+      <xs:element name="MergeModels" type="mb:MergeModelsType"/>
+      <xs:element name="MovieLoop" type="mb:MovieLoopType"/>
+      <xs:element name="Timer" type="mb:TimerType"/>
+      <xs:element name="WebServiceRequest" type="mb:WebServiceRequestType"/>
+      <xs:element name="ZoomToAoi" type="mb:ZoomToAoiType"/>
+    </xs:choice>
+  </xs:complexType>
+
+  <!-- global model extension types; Models type represent different types of XML documents. Use Model for a generic XML document where no customization or specialized methods are required-->
+  <xs:complexType name="ContextType">
+    <xs:annotation>
+      <xs:documentation>A Web Map Context document as specified by the Open Geospatial Consortium (http://www.opengeospatial.org/docs/03-036r2.pdf)</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="FeatureCollectionType">
+    <xs:annotation>
+      <xs:documentation>A representation of a geographic Feature or Feature Collection in GML as specified by the Open Geospatial Consortium (http://www.opengeospatial.org/docs/02-069.pdf) </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType">
+        <xs:sequence>
+          <xs:element name="featureTagName" type="xs:string" minOccurs="0"/>
+          <xs:element name="coordsTagName" type="xs:string" minOccurs="0"/>
+          <xs:element name="coordSelectXpath" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="GeoRSSType">
+    <xs:annotation>
+      <xs:documentation>GeoRSS</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:ModelType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="LoggerType">
+    <xs:annotation>
+      <xs:documentation>Records a log of events that occur over the course of mapbuilder execution</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ModelType">
+    <xs:annotation>
+      <xs:documentation>A generic base document type to handle any XML document (without any specialized methods)</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="OwsCatResourcesType">
+    <xs:annotation>
+      <xs:documentation>TBD</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:FeatureCollectionType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="StyledLayerDescriptorType">
+    <xs:annotation>
+      <xs:documentation>Stores an SLD file as defined by the Open Geospatial Consortium (http://www.opengeospatial.org/)</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType">
+        <xs:sequence>
+          <xs:element name="sldXPath" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>XPath pointing to the sld root node within the model. This is useful for extracting sld information from eg. wmc context documents</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TransactionType">
+    <xs:annotation>
+      <xs:documentation>A response from a WFS Transaction operation</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WfsCapabilitiesType">
+    <xs:annotation>
+      <xs:documentation>A document describing the capabilities of an OGC Web Feature Service (WFS) as specified by the Open Geospatial Consortium (https://portal.opengeospatial.org/files/?artifact_id=7176)</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WmsCapabilitiesType">
+    <xs:annotation>
+      <xs:documentation>A document describing the capabilities of an OGC Web Map Service (WMS) as specified by the Open Geospatial Consortium (http://portal.opengeospatial.org/files/?artifact_id=5316)</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WpsCapabilitiesType">
+    <xs:annotation>
+      <xs:documentation/>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WpsDescribeProcessType">
+    <xs:annotation>
+      <xs:documentation/>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <!-- global widget extension types -->
+  <xs:complexType name="AoiBoxOLType">
+    <xs:annotation>
+      <xs:documentation>A widget to display a map container model's AOI box</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="AoiFormType">
+    <xs:annotation>
+      <xs:documentation>Displays a form with North, South, East, West coordinates to read and set the model AOI</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+          <xs:element name="formName" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ButtonType">
+    <xs:annotation>
+      <xs:documentation>A generic instance of a ButtonBase object</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractButtonBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SelectFromAtomFeedType">
+    <xs:annotation>
+      <xs:documentation>A widget which displays a selectable list of elements from an atom feed. When the element is selected, the referenced atom XML document is loaded into the targetModel. This can be used to render a list of Context documents, then load the selected Context when selected.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CollectionListType">
+    <xs:annotation>
+      <xs:documentation>A widget to display a list of context documents contained in a ContextCollection</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CursorTrackType">
+    <xs:annotation>
+      <xs:documentation>A widget to display the mouse coordinates when it is over a MapPane</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="showPx" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="showXY" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="showLatLong" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="showDMS" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="showDM" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="showMGRS" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="precision" type="xs:integer" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="DeleteFeatureType">
+    <xs:annotation>
+      <xs:documentation>When this button is selected, a WFS DeleteFeature request is build from the targetModel and posted to the WFS.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractButtonBaseType">
+        <xs:sequence>
+          <xs:element name="transactionResponseModel" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The model which will be populated with the server response from a transaction request.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="webServiceUrl" type="mb:urlPathType" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The base URL of the Web Service that will be queried.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+   <xs:complexType name="ExampleList">
+    <xs:annotation>
+      <xs:documentation>A very specific widget to render the same example menu on all examples.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="EditButtonBaseType">
+    <xs:annotation>
+      <xs:documentation>After this button is selected, clicks on a MapPane will add a GML coord to a Line the targetModel FeatureCollection.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractButtonBaseType">
+        <xs:sequence>
+          <xs:element name="transactionResponseModel" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The model which will be populated with the server response from a transaction request.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="appendOnEdit" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>Should a new empty feature be appended to the model after creating one? Default is true.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="featureXpath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>Xpath of the gml:coordinates in the FeatureCollection that will be updated.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="defaultModelUrl" type="mb:urlPathType">
+            <xs:annotation>
+              <xs:documentation>URL to an XML file which contains a default FeatureCollect.  The XML will be loaded into the targetModel when this button is selected.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="GetFeatureInfoType">
+    <xs:annotation>
+      <xs:documentation>A response from a WMS for a GetFeatureInfo operation</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractButtonBaseType">
+        <xs:sequence>
+          <xs:element name="stylesheet" type="xs:string" minOccurs="0"/>
+          <xs:element name="infoFormat" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The Content-Type for the feature request.  Either application/vnd.ogc.gml or text/html; defaults to application/vnd.ogc.gml</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="featureCount" type="xs:integer" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="GetFeatureInfoWSRType">
+    <xs:annotation>
+      <xs:documentation>A response from a WMS for a GetFeatureInfo operation</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractButtonBaseType">
+        <xs:sequence>
+          <xs:element name="controller" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Controller that handles the request. This has to point to the id of a WebServiceRequest tool.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="GmlRendererBaseType">
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseType">
+        <xs:sequence>
+          <xs:element name="featureSRS" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>SRS of the features to display. If not specified, the map SRS is assumed.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="sldModel" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>id of a StyledLayerDescriptor model that holds sld styles for the features to render.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="defaultStyleName" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Name of the user style in the sld model that should be used to render features.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="selectStyleName" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Name of the user style in the sld model that should be used to render features when they are selected (eg. when hovered with the mouse).</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="hoverCursor" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>CSS cursor type of the cursor that should be used when hovering over features. This will have no effect if there is no FeatureSelectHandler tool attached to the target model.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="GmlRendererConfigType">
+    <xs:annotation>
+      <xs:documentation>Configuration widget for a GmlRendererOL in a MergeModel. Because only one GmlRendererLayer can handle events, multiple vector layers that require user interaction (like hover/click) effects are merged into a MergeModel. GmlRendererConfig makes it possible to use different configurations (eg. sld styling) for sourceModels.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:GmlRendererBaseType">
+        <xs:sequence>
+          <xs:element name="targetWidget" type="xs:string"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="GmlRendererOLType">
+    <xs:annotation>
+      <xs:documentation>A widget to render GML document using OpenLayers vector rendering</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:GmlRendererBaseType">
+        <xs:sequence>
+          <xs:element name="stylesheet" type="mb:urlPathType" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>this property specifies a relative or absolute URL to a stylesheet that can replace the default stylesheet.  The stylesheet must be served from the same domain as the mapbuilder application.  Optional, if missing a default stylesheet will be used (in the lib/widget directory with the same name as the widget)</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="featureOnClick" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>id of a widget that performs onClick action when a feature is clicked.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="featureOnHover" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>id of a widget that performs onHover action when a feature is hovered.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="GraticuleType">
+    <xs:annotation>
+      <xs:documentation>tbd</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractButtonBaseType">
+        <xs:sequence>
+          <xs:element name="color" type="xs:string"/>
+          <xs:element name="mapContainerId" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>Used to assign an ID to a container DIV element for 2 dimensional map widgets.  Multiple widgets may share this container for rendering their output. The first model encountered in the config file using this ID becomes the "source" model for this widget so that extent, AOI and orther map related data can be shared by multiple models.   Required.  </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="InsertFeatureType">
+    <xs:annotation>
+      <xs:documentation>When this button is selected, a WFS InsertFeature request is build from the targetModel and posted to the WFS.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractButtonBaseType">
+        <xs:sequence>
+          <xs:element name="transactionResponseModel" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The model which will be populated with the server response from a transaction request.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="webServiceUrl" type="mb:urlPathType" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The base URL of the Web Service that will be queried.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="LayerControlType">
+    <xs:annotation>
+      <xs:documentation>A widget for layer control.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:WidgetType">
+        <xs:sequence>
+          <xs:element name="opacity" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="legendImageEnable" type="mb:urlPathType" minOccurs="0"/>
+          <xs:element name="legendImageDisable" type="mb:urlPathType" minOccurs="0"/>
+          <xs:element name="moveUpImage" type="mb:urlPathType"/>
+          <xs:element name="moveDownImage" type="mb:urlPathType"/>
+          <xs:element name="deleteImage" type="mb:urlPathType"/>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="LegendType">
+    <xs:annotation>
+      <xs:documentation>Simple legend for context documents, includes layer title and visibility checkbox</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="LegendGraphicType">
+    <xs:annotation>
+      <xs:documentation>Render and update a Legend from a Web Map Context.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="Loading2Type">
+    <xs:annotation>
+      <xs:documentation>A widget to render a "loading..." message.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseType">
+        <xs:sequence>
+          <xs:element name="mapContainerId" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Used to assign an ID to a container DIV element for 2 dimensional map widgets.  Multiple widgets may share this container for rendering their output. The first model encountered in the config file using this ID becomes the "source" model for this widget so that extent, AOI and orther map related data can be shared by multiple models.   Optional.  </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="imageSrc" type="mb:urlPathType" minOccurs="0"/>
+          <xs:element name="textMessage" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="LocationsType">
+    <xs:annotation>
+      <xs:documentation>A widget to display contents of a Locations GML model (quick View presets or gazetteer output) and allow setting the AOI/zoom area for a Context model</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="selectSize" type="xs:integer" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>defines the size of the select box, i.e. how many lines show in the scroll box; defaults to 1</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MapPaneOLType">
+    <xs:annotation>
+      <xs:documentation>Widget to render a map from an OGC context document.  The layers are rendered using http://openlayers.org .</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseType">
+        <xs:sequence>
+          <xs:element name="loadingSrc" type="mb:urlPathType" minOccurs="0"/>
+          <xs:element name="maxExtent" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Sets the maximum extent of the map. This is not the initial extent when the map is loaded (that's the bounding box from the context), but it is the maximum extent that the user can navigate around in.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="maxResolution" type="xs:double" minOccurs="0"/>
+          <xs:element name="minResolution" type="xs:double" minOccurs="0"/>
+          <xs:element name="resolutions" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Set a list of fixed resolutions for OL manually.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="fixedSize" type="xs:boolean" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>if this is set to true, the size will be taken from the context doc. Otherwise, it is dynamically taken from the parent element.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+           <xs:element name="singleTile" type="xs:boolean" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>if this is set to false, a WMS layer will be requested according to the tileschema of the baselayer. Otherwise, it will request a single tile.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+           <xs:element name="transitionEffect" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>For untiled wms layers: if set to "resize", map will not disappear while panning and zooming.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="tileGutter" type="xs:int" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>For tiled wms layers: Overlap of map tiles in pixels. Useful for preventing rendering artefacts at tile edges. Recommended values: 0-15, default is 0 (no gutter at all).</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="tileBuffer" type="xs:int" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>For tiled wms layers: how many rows of tiles should be preloaded outside the visible map? Large values mean slow loading, small ones mean longer delays when panning. Recommended values: 1-3, default is 2.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="tileSize" type="xs:int" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>For tiled wms layers: how many pixels should the size of one tile be? Default is 256.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="imageBuffer" type="xs:float" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>for untiled wms layers: how many times should the map image be larger than the visible map. Large values mean slow loading, small ones mean many reloads when panning. Recommended values: 1-3, default is 2.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="displayOutsideMaxExtent" type="xs:boolean" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Should layers also be rendered outside the map extent? Default is false.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="imageReproject" type="xs:boolean" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Should layers be reprojected? Mainly used in combination with google map layers. Default is false.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MapScaleBarType">
+    <xs:annotation>
+      <xs:documentation>A widget to graphically display the map scale</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseType">
+        <xs:sequence>
+          <xs:element name="displaySystem" type="xs:string" minOccurs="0"/>
+          <xs:element name="minWidth" type="xs:integer" minOccurs="0"/>
+          <xs:element name="maxWidth" type="xs:integer" minOccurs="0"/>
+          <xs:element name="divisions" type="xs:integer" minOccurs="0"/>
+          <xs:element name="subdivisions" type="xs:integer" minOccurs="0"/>
+          <xs:element name="showMinorMeasures" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="abbreviateLabel" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="singleLine" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="align" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MapScaleTextType">
+    <xs:annotation>
+      <xs:documentation>A widget to read and write the map scale value</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ModelStatusType">
+    <xs:annotation>
+      <xs:documentation>Widget to display the status of a model, repainted whenever the model status param is set.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ModelUrlInputType">
+    <xs:annotation>
+      <xs:documentation>A widget which displays the model URL in a form which also allows the URL to be modified</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="defaultUrl" type="mb:urlPathType" minOccurs="0"/>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="OpenLSFormType">
+    <xs:annotation>
+      <xs:documentation>Widget to display the OpenLS request form.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="defaultModelUrl" type="mb:urlPathType"/>
+          <xs:element name="geocodeServerUrl" type="mb:urlPathType"/>
+          <xs:element name="formName" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="OpenLSResponseType">
+    <xs:annotation>
+      <xs:documentation>Render the response from a Geocoding request.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="OverviewMapType">
+    <xs:annotation>
+      <xs:documentation>Render an overview map from the main map; if neither width nor height are defined, uses the OL default of (180,90).</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseType">
+        <xs:sequence>
+          <xs:element name="width" type="xs:integer" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The width of the overview map; optional. If only width is given and not height, determines the height from the aspect ratio of the main map.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="height" type="xs:integer" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The height of the overview map; optional. If only height is given and not width, determines the width from the aspect ratio of the main map.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="minRatio" type="xs:integer" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Resolution ratio to main map where zooming out will occur.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="maxRatio" type="xs:integer" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Resolution ratio to main map where zooming in will occur.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="layers" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The list of layer names from the main map context to show in the overview map. If not given, the overview map defaults to just the base layer of the main map.</xs:documentation>
+            </xs:annotation>
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="layerName" type="xs:string" maxOccurs="unbounded">
+                  <xs:annotation>
+                    <xs:documentation>The name of the layer from the main map context to show in the overview map.</xs:documentation>
+                  </xs:annotation>
+                </xs:element>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="PanZoomBarType">
+    <xs:annotation>
+      <xs:documentation>An OpenLayers-style PanZoomBar widget that is drawn on the main map.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SaveType">
+    <xs:annotation>
+      <xs:documentation>After this button is selected, the Web Map Context is saved on the users local computer.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractButtonBaseType">
+        <xs:sequence>
+          <xs:element name="popupWindowName" type="xs:string"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SaveModelType">
+    <xs:annotation>
+      <xs:documentation>A widget that provides a link to the initial model URL and a link tosave the current model document to disk (to be deprecated for a tool)</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="serializeUrl" type="mb:urlPathType" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SearchWidgetType">
+    <xs:annotation>
+      <xs:documentation>Widget to display a form to input any model's URL and load the new URL as the model's document.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="host" type="xs:anyURI"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TabbedContentType">
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="tab" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TimestampType">
+    <xs:annotation>
+      <xs:documentation>A timestamp listener to show the current timestamp value in a form.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TipWidgetBaseType">
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="width" type="xs:integer" minOccurs="0"/>
+          <xs:element name="height" type="xs:integer" minOccurs="0"/>
+          <xs:element name="opacity" type="xs:float" minOccurs="0"/>
+          <xs:element name="backgroundColor" type="xs:string" minOccurs="0"/>
+          <xs:element name="border" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>CSS border definition</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TipWidgetConfigType">
+    <xs:annotation>
+      <xs:documentation>Configuration widget for a TipWidgetOL in a MergeModel. Because only one GmlRendererLayer can handle events, multiple vector layers that require user interaction (like hover/click) effects are merged into a MergeModel. TipWidgetConfig makes it possible to use different configurations (eg width, height, content) for sourceModels.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:TipWidgetBaseType">
+        <xs:sequence>
+          <xs:element name="targetWidget" type="xs:string"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TipWidgetOLType">
+    <xs:annotation>
+      <xs:documentation>Popup using OpenLayers popups.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:TipWidgetBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WebServiceFormType">
+    <xs:annotation>
+      <xs:documentation>A widget of config to input simple parameters to be submitted to a web service.  Output is sent to the targetModel.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="requestStylesheet" type="mb:urlPathType" minOccurs="0"/>
+          <xs:element name="webServiceUrl" type="xs:anyURI" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WfsGetFeatureType">
+    <xs:annotation>
+      <xs:documentation>After this button is selected, clicks on a MapPane will initiate a WFS GetFeature GET request and the result will be stored in the targetModel FeatureCollection.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractButtonBaseType">
+        <xs:sequence>
+          <xs:element name="transactionResponseModel" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>The model which will be populated with the server response.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="webServiceUrl" type="mb:urlPathType">
+            <xs:annotation>
+              <xs:documentation>The base URL of the Web Service that will be queried.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="webServiceSrs" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>The SRS to be used when requesting features from the server.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="typeName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>A comma separated list of layers to query.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="tolerance" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The number of pixels around the click point that are included in the query; tolerance=0 means a Bbox of 1x1 pixel is queried, tolerance=1 means a Bbox of 3x3 is queried, tolerance=2 means a Bbox of 5x5 is queried.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="maxFeatures" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The maximum number of features returned by the query.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WidgetType">
+    <xs:annotation>
+      <xs:documentation>A generic widget which will simply process a model with a stylesheet - no specialized listeners provided</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType"/>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <!-- global tool extension types -->  
+  <xs:complexType name="Caps2ContextType">
+    <xs:annotation>
+      <xs:documentation>A tool which builds a Web Map Context document from a Web Map Capabilities document.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="EditContextType">
+    <xs:annotation>
+      <xs:documentation>Tool which manipulates the Layer list of a Web Map Context document.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="EditSLDType">
+    <xs:annotation>
+      <xs:documentation>TBD</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="HistoryType">
+    <xs:annotation>
+      <xs:documentation>A tool to navigate in the map extent history</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MergeModelsType">
+    <xs:annotation>
+      <xs:documentation>A tool that can combine other models from the config that have the same structure. It is designed for models that hold features with a unique feature id in a parameter called "fid". This is useful eg. for packing all GML rendering into a single GmlRendererOL.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType">
+        <xs:sequence>
+          <xs:element name="merges">
+            <xs:annotation>
+              <xs:documentation>a list of models that are to be merged into the model that this tool belongs to.</xs:documentation>
+            </xs:annotation>
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="merge" maxOccurs="unbounded">
+                  <xs:annotation>
+                    <xs:documentation>id of a model to merge with the model that this tool belongs to.</xs:documentation>
+                  </xs:annotation>
+                </xs:element>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="FeatureSelectHandlerType">
+    <xs:annotation>
+      <xs:documentation>Adds a handler to the map that allows selection of features (eg. for highlighting them on mouseover)</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MovieLoopType">
+    <xs:annotation>
+      <xs:documentation/>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType">
+        <xs:sequence>
+          <xs:element name="framesPerSecond" type="xs:integer" minOccurs="0"/>
+          <xs:element name="maxFrames" type="xs:integer" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TimerType">
+    <xs:annotation>
+      <xs:documentation>TBD</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType">
+        <xs:sequence>
+          <xs:element name="autoStart" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="eventName" type="xs:string" minOccurs="0"/>
+          <xs:element name="eventValue" type="xs:string" minOccurs="0"/>
+          <xs:element name="every" type="xs:integer" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WebServiceRequestType">
+    <xs:annotation>
+      <xs:documentation>A tool which will generate web service requests from a node from the parent model. Widgets using this tool end with WSR, eg. GetFeatureInfoWSR</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType">
+        <xs:sequence>
+          <xs:element name="stylesheet" type="xs:string" minOccurs="0"/>
+          <xs:element name="requestName" type="xs:string"/>
+          <xs:element name="requestFilter" type="xs:string" minOccurs="0"/>
+          <xs:element name="maxFeatures" type="xs:integer" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>MAXFEATURES parameter, e.g. for WFS GetFeature. Defaults to 500.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="infoFormat" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>INFO_FORMAT parameter, e.g. for WMS GetFeatureInfo</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="featureCount" type="xs:integer" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>FEATURE_COUNT parameter, eg. for WMS GetFeatureInfo</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="maxFeatures" type="xs:integer" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>maxFeatures parameter, eg. for WFS GetFeature</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ZoomToAoiType">
+    <xs:annotation>
+      <xs:documentation>A tool reset the model extent to the AOI </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <!--utility types-->
+  <xs:simpleType name="idType">
+    <xs:restriction base="xs:ID"/>
+  </xs:simpleType>
+  <xs:simpleType name="urlPathType">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:complexType name="tooltipType">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:attribute ref="xml:lang"/>
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="httpMethodType">
+    <xs:simpleContent>
+      <xs:extension base="xs:string"/>
+    </xs:simpleContent>
+  </xs:complexType>
+</xs:schema>
Index: lib/spatial/mapbuilder/lib/widget/LayerControl.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/LayerControl.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/LayerControl.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: GPL as per: http://www.gnu.org/copyleft/gpl.html
-$Id$
+$Id: LayerControl.js 3607 2007-11-16 05:06:51Z rdewit $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -24,6 +24,7 @@
    */
   this.prePaint = function(objRef) {
     if (objRef.model.featureName) {
+    
       objRef.stylesheet.setParameter("featureName", objRef.model.featureName );
       objRef.stylesheet.setParameter("hidden", objRef.model.getHidden(objRef.model.featureName).toString() );
     }
@@ -31,28 +32,92 @@
 
   /**
    * Displays a layer in a preview pane when mouse is over the table row
-   * @param layerName  the name of the layer to highlight
+   * @param layerId  the name of the layer to highlight
    */
-  this.highlightLayer = function(layerName) {
-    var layerId = this.model.id + "_" + "mainMapWidget" + "_" + layerName;
+  this.highlightLayer = function(layerId) {
+    var layer = this.model.map.mbMapPane.oLlayers[layerId].div;
     var previewImage = document.getElementById("previewImage");
-    var layer = document.getElementById(layerId);
-    if (previewImage) previewImage.src = layer.firstChild.src;
+    try {
+      if (previewImage && layer) previewImage.src = layer.firstChild.firstChild.src;
+    } catch(e) {}
   }
 
   /**
-   * not working yet
+   * Listener method to paint this widget
    * @param layerName  the name of the layer to highlight
    */
-  this.showLayerMetadata = function(layerName) {
+  this.refresh = function(objRef, layerName) {
+    objRef.paint(objRef, objRef.id);
+  }
+  
+  this.foldUnfoldGroup = function(groupName,id) {
+    // context config stuff to maintain group folding over refresh
+    var xpathExpression = "//wmc:General/wmc:Extension/wmc:GroupList/wmc:Group[@name='" + groupName + "']";
+    //var thisGroupsLayerNodes = model.doc.selectNodes(xpathExpression);
+    var thisGroupsNode = model.doc.selectSingleNode(xpathExpression);
+    var thisGroupsFoldedState = thisGroupsNode.getAttribute('folded');
+    var e =document.getElementById(id);
+    if(thisGroupsFoldedState == "1") {
+		thisGroupsNode.setAttribute("folded", "0");
+		e.value="-";
+		
+	} else {
+		thisGroupsNode.setAttribute("folded", "1");
+		e.value="+";
+	}
+	
+  }
+
+  /**
+   * not working yet
+   * @param layerId  the name of the layer to highlight
+   */
+  this.showLayerMetadata = function(layerId) {
     var metadataWidget = config.objects.layerMetadata;
-    metadataWidget.stylesheet.setParameter("featureName",layerName);
-    metadataWidget.node = document.getElementById(metadataWidget.htmlTagId);
-    metadataWidget.paint(metadataWidget);
+    if (metadataWidget) {
+      metadataWidget.stylesheet.setParameter("featureName",layerId);
+      metadataWidget.node = document.getElementById(metadataWidget.htmlTagId);
+      metadataWidget.paint(metadataWidget);
+    }
   }
+  
+  /**
+   * Change image source from imageA to imageB
+   * @param id  id of image tag where we want to change the source
+   * @param imageA   url of imageA
+   * @param imageB   url of imageB
+   */
+  this.ChangeImage= function (id, imageA, imageB) {
+     var indexA=document.getElementById(id).src.indexOf(imageA);
+     var indexB=document.getElementById(id).src.indexOf(imageB);
+     if (document.getElementById(id) != null) {
+        if (indexA != -1) { /* HACK for IE. */
+            document.getElementById(id).src=document.getElementById(id).src.substring(0,indexA)+imageB;
+        } else {
+           document.getElementById(id).src=document.getElementById(id).src.substring(0,indexB)+imageA;
+        }
+     }
+     return;
+}
 
-  this.model.addListener("deleteLayer",this.paint, this);
-  this.model.addListener("moveLayerUp",this.paint, this);
-  this.model.addListener("moveLayerDown",this.paint, this);
-  //this.model.addListener("addLayer",this.paint, this);
+/**
+   * Display or fold  the layer's legend
+   * @param id  id of legend div
+   */
+	this.switchVisibilityById = function (id) {
+	e =document.getElementById(id);
+	
+		if (e.style.display=="none") {
+			e.style.display = "block";
+		} else {
+			e.style.display = "none";
+		}
+		
+	
+     }
+  this.model.addListener("deleteLayer",this.refresh, this);
+  this.model.addListener("moveLayerUp",this.refresh, this);
+  this.model.addListener("moveLayerDown",this.refresh, this);
+  if (this.autoRefresh) this.model.addListener("addLayer",this.refresh, this);
 }
+
Index: lib/spatial/mapbuilder/lib/widget/TipWidgetOL.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/TipWidgetOL.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/TipWidgetOL.xsl	(revision 4307)
@@ -0,0 +1,2 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" xmlns:wfs="http://www.opengis.net/wfs" xmlns:topp="http://www.openplans.org/topp" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="fid"/><xsl:template match="/"><div class="PopupContainer"><div class="PopupHeader">Info</div><div class="PopupContent"><xsl:apply-templates/></div></div></xsl:template><xsl:template match="wfs:FeatureCollection/gml:featureMember"><xsl:if test="*[@fid=$fid]"><table cellspacing="0" border="0"><xsl:for-each select="*/topp:*"><xsl:if test="name() != 'topp:the_geom'"><tr><td valign="top"><xsl:value-of select="name()"/></td><td><xsl:value-of select="."/></td></tr></xsl:if></xsl:for-each></table></xsl:if></xsl:template><xsl:template match="comment()|text()|processing-instruction()"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/OverviewMap.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/OverviewMap.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/OverviewMap.js	(revision 4307)
@@ -0,0 +1,184 @@
+/*
+Author:       Gertjan van Oosten gertjan at west dot nl
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: OverviewMap.js 3887 2008-02-27 18:18:53Z ahocevar $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
+mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+
+/**
+ * Widget to add an OL OverviewMap to a main map.
+ * @constructor
+ * @base WidgetBase
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function OverviewMap(widgetNode, model) {
+  WidgetBase.apply(this,new Array(widgetNode, model));
+
+  var width = this.getProperty("mb:width");
+  if (width) {
+    this.width = new Number(width);
+  }
+  var height = this.getProperty("mb:height");
+  if (height) {
+    this.height = new Number(height);
+  }
+  var minRatio = this.getProperty("mb:minRatio");
+  if (minRatio) {
+    this.minRatio = new Number(minRatio);
+  }
+  var maxRatio = this.getProperty("mb:maxRatio");
+  if (maxRatio) {
+    this.maxRatio = new Number(maxRatio);
+  }
+
+  var layersNode = widgetNode.selectSingleNode("mb:layers");
+  if (layersNode) {
+    this.layerNames = new Array();
+    var layers = layersNode.childNodes;
+    for (var i = 0; i < layers.length; i++) {
+      if (layers[i].firstChild) {
+        this.layerNames.push(getNodeValue(layers[i]));
+      }
+    }
+  }
+
+  this.model.addListener("refresh", this.addOverviewMap, this);
+}
+
+/**
+ * Add an overview map to the map in this widget's model.
+ * If layers have been specified in the config, clone these layers for the
+ * overview map, otherwise just use the base layer from the main map.
+ * If any of the layers to use are WMS layers it uses an untiled version of them.
+ * @param objRef Pointer to widget object.
+ */
+OverviewMap.prototype.addOverviewMap = function(objRef) {
+  if (objRef.model && objRef.model.map) {
+    var map = objRef.model.map;
+    
+    /** reference to the OpenLayers OverviewMap control */
+    this.control = null
+
+    // Specify div and layers for overview map.
+    var options = {
+      div: objRef.getNode(),
+      objRef: this,
+      destroy: function() {
+        OpenLayers.Control.OverviewMap.prototype.destroy.apply(this, arguments);
+        this.div = null;
+        objRef.control = null;
+        objRef = null;
+      },
+      layers: new Array()
+    };
+    
+    if (objRef.minRatio) options.minRatio = objRef.minRatio;
+    if (objRef.maxRatio) options.maxRatio = objRef.maxRatio;
+
+    // Clone the base layer. This is not really the OpenLayers base layer, but
+    // the lowest layer in the Mapbuilder layers stack.
+    if (!objRef.layerNames) {
+      for (var i in map.mbMapPane.oLlayers) {
+        var oLlayer = map.mbMapPane.oLlayers[i];
+        if (oLlayer) {
+          var baseLayer = objRef.getClonedLayer(oLlayer, true);
+          options.layers.push(baseLayer);
+          break;
+        } 
+      }
+    }
+
+    // Check for specifically requested layers
+    var isBaseLayer = true;
+    if (objRef.layerNames) {
+      for (var i = 0; i < objRef.layerNames.length; i++) {
+        var oLlayer = map.mbMapPane.getLayer(map.mbMapPane, objRef.layerNames[i]);
+        if (oLlayer) {
+          options.layers.push(objRef.getClonedLayer(oLlayer, isBaseLayer));
+          isBaseLayer = false;
+        }
+      }
+    }
+    
+    // Determine size:
+    // - if width and height are both set, use these as the size;
+    // - if only width or height is set, take aspect ratio of main map into account;
+    // - otherwise, OL defaults to (180,90).
+    var extent = map.getExtent();
+    if (objRef.width && objRef.height) {
+      options.size = new OpenLayers.Size(objRef.width, objRef.height);
+    }
+    else if (objRef.width) {
+      options.size = new OpenLayers.Size(
+        objRef.width,
+        objRef.width * extent.getHeight() / extent.getWidth());
+    }
+    else if (objRef.height) {
+      options.size = new OpenLayers.Size(
+        objRef.height * extent.getWidth() / extent.getHeight(),
+        objRef.height);
+    }
+
+    // Add the overview to the main map
+    if (!objRef.control) {
+      objRef.control = new OpenLayers.Control.OverviewMap(options);
+      objRef.control.mapOptions = {theme: null};
+      map.addControl(objRef.control);
+    }
+
+    // make all layers visible
+    for (var i=0; i<options.layers.length; i++) {
+      options.layers[i].setVisibility(true);
+    }
+  }
+}
+
+/**
+ * Clone a map layer (OpenLayers.Layer subclass).
+ * If the layer is a WMS layer it returns an untiled version of it.
+ * @param layer Pointer to layer object.
+ * @param isBaseLayer {Boolean} optional parameter: should the layer become
+ * baselayer on the overview map?
+ */
+OverviewMap.prototype.getClonedLayer = function(layer, isBaseLayer) {
+  if (layer == null) {
+    return null;
+  }
+  
+  isBaseLayer = isBaseLayer ? true : false;
+
+  if (layer instanceof OpenLayers.Layer.WMS) {
+    // make an untiled wms layer, with ratio 1
+    var layerOptions = {
+      units: layer.units,
+      projection: layer.projection,
+      maxExtent: layer.maxExtent,
+      maxResolution: "auto",
+      ratio: 1,
+      singleTile: true,
+      isBaseLayer: isBaseLayer
+    };
+
+    return new OpenLayers.Layer.WMS(layer.name,
+      layer.url, {
+        layers: layer.params.LAYERS,
+        format: layer.params.FORMAT,
+        transparent: layer.params.TRANSPARENT,
+        sld: layer.params.SLD,
+        sld_body: layer.params.SLD_BODY,
+        styles: layer.params.STYLES
+      }, layerOptions);
+  }
+  else {
+    // take the layer as-is and clone it
+    var clonedLayer = layer.clone();
+    clonedLayer.setVisibility(true);
+    return clonedLayer;
+  }
+}
+  
Index: lib/spatial/mapbuilder/lib/widget/CollectionList.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/CollectionList.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/CollectionList.xsl	(revision 4307)
@@ -1,56 +1,2 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!--
-Description: parses an OGC context collection document to generate a context pick list
-Author:      adair
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-$Id$
-$Name$
--->
-
-<xsl:stylesheet version="1.0" 
-    xmlns:wmc="http://www.opengis.net/context" 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-    xmlns:xlink="http://www.w3.org/1999/xlink"
-    exclude-result-prefixes="wmc xlink">
-
-  <xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8"/>
-  <xsl:strip-space elements="*"/>
-
-  <!-- The common params set for all widgets -->
-  <xsl:param name="lang">en</xsl:param>
-
-  <!-- Text params for this widget -->
-  <xsl:param name="title"/>
-
-  <!-- The coordinates of the DHTML Layer on the HTML page -->
-  <xsl:param name="jsfunction">config.loadModel('</xsl:param>
-  <xsl:param name="targetModel"/>
-
-  <!-- template rule matching source root element -->
-  <xsl:template match="/wmc:ViewContextCollection">
-
-    <ul>
-      <xsl:apply-templates select="wmc:ViewContextReference"/>
-    </ul>
-
-  </xsl:template>
-
-  <xsl:template match="wmc:ViewContextReference">
-    <xsl:param name="linkUrl">javascript:<xsl:value-of select="$jsfunction"/><xsl:value-of select="$targetModel"/>','<xsl:value-of select="wmc:ContextURL/wmc:OnlineResource/@xlink:href"/>')</xsl:param>
-    <li>    
-      <a href="{$linkUrl}">
-        <xsl:choose>
-          <xsl:when test="wmc:Title/@xml:lang">              
-            <xsl:value-of select="wmc:Title[@xml:lang=$lang]"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="wmc:Title"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </a>
-    </li>    
-  </xsl:template>
-  
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wmc="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" exclude-result-prefixes="wmc xlink"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8"/><xsl:strip-space elements="*"/><xsl:param name="lang">en</xsl:param><xsl:param name="title"/><xsl:param name="widgetId"/><xsl:param name="targetModel"/><xsl:template match="/wmc:ViewContextCollection"><ul><xsl:if test="$title"><h3><xsl:value-of select="$title"/></h3></xsl:if><xsl:apply-templates select="wmc:ViewContextReference"/></ul></xsl:template><xsl:template match="wmc:ViewContextReference"><xsl:param name="linkUrl">javascript:config.objects.<xsl:value-of select="$widgetId"/>.switchMap(config.objects.<xsl:value-of select="$widgetId"/>,'<xsl:value-of select="wmc:ContextURL/wmc:OnlineResource/@xlink:href"/>')</xsl:param><li><a href="{$linkUrl}"><xsl:choose><xsl:when test="wmc:Title/@xml:lang"><xsl:value-of select="wmc:Title[@xml:lang=$lang]"/></xsl:when><xsl:otherwise><xsl:value-of select="wmc:Title"/></xsl:otherwise></xsl:choose></a></li></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/FormBase.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/FormBase.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/FormBase.js	(revision 4307)
@@ -0,0 +1,77 @@
+/*
+Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: OWSCatSearchForm.js 2076 2006-04-11 19:48:08Z madair $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Widget to display a form for input of parameters to generate a web service 
+ * request.  This JS object handles the form submit via HTTP Get by appending 
+ * a query string to the form's action URL.  The query string is created from
+ * all input elements and their values.
+ * The target model is then loaded from the URL created.
+ * A stylehseet must be specified as a property in config for this widget.  
+ * See widget/NtsForm.xsl for an example. 
+ *
+ * @constructor
+ * @base WidgetBaseXSL
+ * @param widgetNode This widget's object node from the configuration document.
+ * @param model The model that this widget is a view of.
+ */
+
+function FormBase(widgetNode, model) {
+  WidgetBaseXSL.apply(this, new Array(widgetNode, model));
+
+  //get bbox inforamtion from a map model
+  this.webServiceUrl = this.getProperty("mb:webServiceUrl");
+
+  /**
+   * Refreshes the form onblur handlers when this widget is painted.
+   * @param objRef Pointer to this CurorTrack object.
+   */
+  this.postPaint = function(objRef) {
+    var searchForm = document.getElementById(objRef.formName);
+    searchForm.parentWidget = objRef;
+    searchForm.onkeypress = objRef.handleKeyPress;
+    searchForm.onsubmit = objRef.submitForm;
+  }
+
+  //set some properties for the form output
+  this.formName = "WebServiceForm_" + mbIds.getId();
+  this.stylesheet.setParameter("formName", this.formName);
+
+  /**
+   * handles keypress events to filter out everything except "enter".  
+   * Pressing the "enter" key will trigger a form submit
+   * @param event  the event object passed in for Mozilla; IE uses window.event
+   */
+  this.handleKeyPress = function(event) {
+    var keycode;
+    var target;
+    if (event){
+      //Mozilla
+      keycode=event.which;
+      target=event.currentTarget;
+    }else{
+      //IE
+      keycode=window.event.keyCode;
+      target=window.event.srcElement.form;
+    }
+
+    if (keycode == 13) {    //enter key
+      return true;
+    }
+  }
+
+  /**
+   *
+   * @param
+   */
+  this.setValue = function(xpath, value) {
+    this.model.setXpathValue(this.model,xpath,value,false);
+  }
+}
Index: lib/spatial/mapbuilder/lib/widget/LayerControl.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/LayerControl.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/LayerControl.xsl	(revision 4307)
@@ -1,106 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet 
-    xmlns:wmc="http://www.opengis.net/context" 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-    xmlns:gml='http://www.opengis.net/gml' 
-    xmlns:wfs='http://www.opengis.net/wfs'
-    xmlns:xlink='http://www.w3.org/1999/xlink'
-    version="1.0">
-<!--
-Description: provides a list of layers and controls for them (delete/visibility/move up/move down/show metadata
-Author:      Mike Adair
-Licence:     GPL as per: http://www.gnu.org/copyleft/gpl.html
-
-$Id$
-$Name$
--->
-  <xsl:output method="xml" encoding="utf-8"/>
-  
-  <!-- The common params set for all widgets -->
-  <xsl:param name="lang">en</xsl:param>
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-  <xsl:param name="skinDir"/>
-  <xsl:param name="moveUpImage"/>
-  <xsl:param name="moveDownImage"/>
-  <xsl:param name="deleteImage"/>
-  
-  <!-- Text params for this widget -->
-  <xsl:param name="title"/>
-  <xsl:param name="toggleVisTip"/>
-  <xsl:param name="moveLayerUpTip"/>
-  <xsl:param name="moveLayerDownTip"/>
-  <xsl:param name="deleteLayerTip"/>
-  
-<!-- The name of the javascript context object to call -->
-  <xsl:param name="featureName"/>
-  <xsl:param name="hidden"/>
-  <xsl:param name="context">config.objects.<xsl:value-of select="$modelId"/></xsl:param>
-  
-<!-- Main html -->
-  <xsl:template match="/wmc:ViewContext">
-    <div>
-      <table class="layerControl" cellspacing="0" width="340px">
-        <!--tr>
-          <td colspan="5">Layer Control | Layer metadata | Map metadata</td>
-        </tr-->
-        <xsl:apply-templates select="wmc:LayerList/wmc:Layer">
-          <xsl:sort select="position()" order="descending" data-type="number"/>
-        </xsl:apply-templates>
-      </table>
-    </div>
-  </xsl:template>
-  
-<!-- Layer -->
-  <xsl:template match="wmc:Layer">
-    <xsl:variable name="layerName" select="wmc:Name"/>
-    <xsl:variable name="rowClass">altRow_<xsl:value-of select="position() mod 2"/></xsl:variable>
-    <tr class="{$rowClass}" onmouseover="config.objects.{$widgetId}.highlightLayer('{$layerName}')">
-<!-- Visiblity -->
-      <td>
-        <input type="checkbox" id="vis_{$layerName}" title="{$toggleVisTip}" onclick="{$context}.setHidden('{$layerName}',!document.getElementById('vis_{$layerName}').checked)">
-          <xsl:if test="@hidden='0'"><xsl:attribute name="checked"/></xsl:if>
-        </input>
-      </td>
-      <td>
-       <a href="javascript:{$context}.setParam('moveLayerUp','{$layerName}')" class="mbButton">
-        <img title="{$moveLayerUpTip}" src="{$skinDir}{$moveUpImage}" />
-       </a>
-      </td>
-      <td>
-       <a href="javascript:{$context}.setParam('moveLayerDown','{$layerName}')" class="mbButton">
-        <img title="{$moveLayerDownTip}" src="{$skinDir}{$moveDownImage}" />
-       </a>
-      </td>
-      <td>
-       <a href="javascript:{$context}.setParam('deleteLayer','{$layerName}')" class="mbButton">
-        <img title="{$deleteLayerTip}" src="{$skinDir}{$deleteImage}" />
-       </a>
-      </td>
-      <td onclick="config.objects.{$widgetId}.showLayerMetadata('{$layerName}')">
-        <xsl:choose>
-          <xsl:when test="wmc:Title/@xml:lang">              
-            <xsl:value-of select="wmc:Title[@xml:lang=$lang]"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="wmc:Title"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </td>
-    </tr>
-    <tr class="{$rowClass}" onmouseover="config.objects.{$widgetId}.highlightLayer('{$layerName}')">
-     <td colspan="5">
-       <xsl:if test="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL"> 
-          <xsl:element name="IMG">
-              <xsl:attribute name="SRC">
-                <xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL/wmc:OnlineResource/@xlink:href"/> 
-              </xsl:attribute>
-          </xsl:element>
-         </xsl:if>
-     </td>
-    </tr>
-  </xsl:template>
-  
-  <xsl:template match="text()|@*"/>
-  
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wmc="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gml="http://www.opengis.net/gml" xmlns:wfs="http://www.opengis.net/wfs" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="lang"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="skinDir"/><xsl:param name="moveUpImage"/><xsl:param name="moveDownImage"/><xsl:param name="deleteImage"/><xsl:param name="legendImageEnable"/><xsl:param name="legendImageDisable"/><xsl:param name="opacity"/><xsl:param name="zoomImage"/><xsl:param name="metadataImage"/><xsl:param name="title"/><xsl:param name="layerIndexTip"/><xsl:param name="toggleVisTip"/><xsl:param name="moveLayerUpTip"/><xsl:param name="moveLayerDownTip"/><xsl:param name="deleteLayerTip"/><xsl:param name="legendTip"/><xsl:param name="nameLayerTip"/><xsl:param name="opacityTip"/><xsl:param name="featureName"/><xsl:param name="hidden"/><xsl:param name="context">config.objects.<xsl:value-of select="$modelId"/></xsl:param><xsl:variable name="numLayers" select="count(//wmc:Layer | //wmc:FeatureType)"/><xsl:template match="/wmc:ViewContext"><div><div class="layerControl"><xsl:if test="wmc:General/wmc:Extension"><xsl:apply-templates select="wmc:General/wmc:Extension/wmc:GroupList/wmc:Group"><xsl:sort select="position()" order="ascending" data-type="number"/></xsl:apply-templates></xsl:if><xsl:if test="not(wmc:General/wmc:Extension)"><xsl:apply-templates select="wmc:LayerList/wmc:Layer"><xsl:sort select="position()" order="descending" data-type="number"/></xsl:apply-templates></xsl:if></div></div></xsl:template><xsl:template match="/wmc:OWSContext"><div class="layerControl"><xsl:if test="wmc:General/wmc:Extension"><xsl:apply-templates select="wmc:General/wmc:Extension/wmc:GroupList/wmc:Group"><xsl:sort select="position()" order="ascending" data-type="number"/></xsl:apply-templates></xsl:if><xsl:if test="not(wmc:General/wmc:Extension)"><xsl:apply-templates select="wmc:ResourceList/wmc:Layer | wmc:ResourceList/wmc:FeatureType"><xsl:sort select="position()" order="descending" data-type="number"/></xsl:apply-templates></xsl:if></div></xsl:template><xsl:template match="wmc:General/wmc:Extension/wmc:GroupList/wmc:Group"><xsl:variable name="GroupName" select="./@name"/><xsl:variable name="GroupFold" select="./@folded"/><xsl:variable name="numberOfLayerByGroup" select="count(//wmc:Layer[wmc:Extension/wmc:Group/@name=$GroupName] | //wmc:FeatureType[wmc:Extension/wmc:Group/@name=$GroupName])"/><xsl:variable name="numberOfLayerByGroupOther"><xsl:value-of select="  $numLayers - $numberOfLayerByGroup "/></xsl:variable><xsl:if test=" ( $numberOfLayerByGroup != 0) or ( ($numberOfLayerByGroupOther != 0 ) and ( $GroupName = 'Other') ) "><div id="{$GroupName}_Header" style="cursor:pointer" class="GroupHeader" title="click to (un)fold" onmouseover="style.background='pink';" onMouseOut="style.background='#556655';" onclick="config.objects.{$widgetId}.switchVisibilityById('{$GroupName}');config.objects.{$widgetId}.foldUnfoldGroup('{$GroupName}','{$GroupName}_fold');"><input type="button" class="GroupHeaderFold" id="{$GroupName}_fold" style="width:35px;"><xsl:attribute name="value"><xsl:choose><xsl:when test="@folded=1">+ </xsl:when><xsl:otherwise>-</xsl:otherwise></xsl:choose></xsl:attribute></input><div id="{$GroupName}_Title" class="GroupHeaderTitle"><xsl:value-of select="$GroupName"/></div></div><div id="{$GroupName}" class="GroupLayers"><xsl:attribute name="style"><xsl:choose><xsl:when test="@folded=1">display:none </xsl:when><xsl:otherwise>display:block</xsl:otherwise></xsl:choose></xsl:attribute><xsl:if test="//wmc:ResourceList"><xsl:apply-templates select="//wmc:ResourceList/wmc:Layer[wmc:Extension/wmc:Group/@name=$GroupName] | //wmc:ResourceList/wmc:FeatureType[wmc:Extension/wmc:Group/@name=$GroupName]"><xsl:sort select="position()" order="descending" data-type="number"/></xsl:apply-templates></xsl:if><xsl:if test="//wmc:LayerList"><xsl:apply-templates select="//wmc:LayerList/wmc:Layer[wmc:Extension/wmc:Group/@name=$GroupName]"><xsl:sort select="position()" order="descending" data-type="number"/></xsl:apply-templates></xsl:if><xsl:if test="$GroupName='Other' "><xsl:if test="//wmc:ResourceList"><xsl:apply-templates select="//wmc:ResourceList/wmc:Layer[not(wmc:Extension/wmc:Group)] | //wmc:ResourceList/wmc:FeatureType[not(wmc:Extension/wmc:Group)]"><xsl:sort select="position()" order="descending" data-type="number"/></xsl:apply-templates></xsl:if><xsl:if test="//wmc:LayerList"><xsl:apply-templates select="//wmc:LayerList/wmc:Layer[not(wmc:Extension/wmc:Group)]"><xsl:sort select="position()" order="descending" data-type="number"/></xsl:apply-templates></xsl:if></xsl:if></div></xsl:if></xsl:template><xsl:template match="wmc:Layer|wmc:FeatureType"><xsl:variable name="GroupName" select="wmc:Extension/wmc:Group/@name"/><xsl:variable name="layerName" select="wmc:Name"/><xsl:variable name="LayerTitle" select="wmc:Title"/><xsl:variable name="layerTitle"><xsl:choose><xsl:when test="wmc:Title/@xml:lang"><xsl:value-of select="wmc:Title[@xml:lang=$lang]"/></xsl:when><xsl:otherwise><xsl:value-of select="wmc:Title"/></xsl:otherwise></xsl:choose></xsl:variable><xsl:variable name="layerId"><xsl:choose><xsl:when test="@id"><xsl:value-of select="@id"/></xsl:when><xsl:otherwise><xsl:value-of select="$layerName"/></xsl:otherwise></xsl:choose></xsl:variable><xsl:variable name="rowClass">altRow_<xsl:value-of select="position() mod 2"/></xsl:variable><div id="{$widgetId}_{$layerId}_Row" class="{$rowClass}" onmouseover="config.objects.{$widgetId}.highlightLayer('{$layerId}')"><div style="position:relative;"><div id="{$widgetId}_{$layerId}_Header " class="LayerHeader"><div class="indexLayerHeader" title="{$layerIndexTip}"><xsl:value-of select="$numLayers - count(preceding::wmc:Layer) - count(preceding::wmc:FeatureType)"/></div><div class="inputLayerHeader"><div class="checkboxLayerHeader"><input type="checkbox" id="vis_{$widgetId}_{$layerId}" title="{$toggleVisTip}" onclick="{$context}.setHidden('{$layerId}',!document.getElementById('vis_{$widgetId}_{$layerId}').checked)"><xsl:if test="@hidden='0' or @hidden='false'"><xsl:attribute name="checked"/></xsl:if></input></div><xsl:if test="($numLayers - count(preceding::wmc:Layer) - count(preceding::wmc:FeatureType))!=1"><div class="buttonLayerHeader"><a href="javascript:{$context}.setParam('moveLayerUp','{$layerId}')" class="mbButton"><img title="{$moveLayerUpTip}" src="{$skinDir}{$moveUpImage}"/></a></div></xsl:if><xsl:if test="($numLayers - count(preceding::wmc:Layer) - count(preceding::wmc:FeatureType)) != $numLayers"><div class="buttonLayerHeader"><a href="javascript:{$context}.setParam('moveLayerDown','{$layerId}')" class="mbButton"><img title="{$moveLayerDownTip}" src="{$skinDir}{$moveDownImage}"/></a></div></xsl:if><div class="buttonLayerHeader"><a href="javascript:{$context}.setParam('deleteLayer','{$layerId}')" class="mbButton"><img title="{$deleteLayerTip}" src="{$skinDir}{$deleteImage}"/></a></div><xsl:if test="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL"><div class="buttonLayerHeader"><a href="#" onclick="config.objects.{$widgetId}.switchVisibilityById('{$layerId}_legend');config.objects.{$widgetId}.ChangeImage('image_{$layerId}','{$legendImageEnable}','{$legendImageDisable}');" class="mbButton"><img id="image_{$layerId}" title="{$legendTip}"><xsl:attribute name="SRC"><xsl:choose><xsl:when test="@hidden='1' or @hidden='true'"><xsl:value-of select="$skinDir"/><xsl:value-of select="$legendImageDisable"/></xsl:when><xsl:otherwise><xsl:value-of select="$skinDir"/><xsl:value-of select="$legendImageEnable"/></xsl:otherwise></xsl:choose></xsl:attribute></img></a></div></xsl:if></div><div class="nameLayerHeader" title="{$nameLayerTip}" onclick="config.objects.{$widgetId}.showLayerMetadata('{$layerId}')"><xsl:choose><xsl:when test="wmc:Title/@xml:lang"><xsl:value-of select="wmc:Title[@xml:lang=$lang]"/></xsl:when><xsl:otherwise><xsl:value-of select="wmc:Title"/></xsl:otherwise></xsl:choose></div><xsl:if test="$opacity='true'"><div id="transptitle" class="transpLayerHeader"><form title="{$opacityTip}"><select name="opacity" onchange="config.objects.{$modelId}.setOpacity('{$layerId}',value)"><xsl:if test="@opacity"><option value="@opacity"><xsl:value-of select="@opacity"/></option></xsl:if><option value="1">1</option><option value="0.8">0.8</option><option value="0.6">0.6</option><option value="0.4">0.4</option><option value="0.2">0.2</option><option value="0">0</option></select></form></div></xsl:if></div></div><xsl:if test="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL"><div class="legend" id="{$layerId}_legend"><xsl:attribute name="style"><xsl:choose><xsl:when test="@hidden='1' or @hidden='true'">display:none </xsl:when><xsl:otherwise>display:block</xsl:otherwise></xsl:choose></xsl:attribute><xsl:element name="IMG"><xsl:attribute name="SRC"><xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL/wmc:OnlineResource/@xlink:href"/></xsl:attribute></xsl:element></div></xsl:if></div></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/ServiceRegistryList.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/ServiceRegistryList.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/ServiceRegistryList.xsl	(revision 4307)
@@ -1,85 +1,6 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!--
-Description: parses an listing of OGC services from the Discovery Portal registry
-Author:      adair
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-$Id$
-$Name$
--->
-
-<xsl:stylesheet version="1.0" 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-		xmlns:ogc="http://www.opengis.net/ogc"
-		xmlns:gml="http://www.opengis.net/gml"
-    xmlns:xlink="http://www.w3.org/1999/xlink">
-
-  <xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8" indent="yes"/>
-
-  <!-- The coordinates of the DHTML Layer on the HTML page -->
-  <xsl:param name="modelTitle"/>
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-  <xsl:param name="targetModel"/>
-  
-  <xsl:param name="webServiceUrl">http://geodiscover.cgdi.ca/ceonetWeb/biz</xsl:param>
-  <xsl:param name="formName">OGCServiceList</xsl:param>
-  <xsl:param name="keywords"/>
-  <xsl:param name="serviceType"/>
-  
-  <!-- template rule matching source root element -->
-  <xsl:template match="/searchDetails">
-    <xsl:variable name="numPerPage"><xsl:value-of select="searchCriteria/numResultsPerPage"/></xsl:variable>
-    <xsl:variable name="numPages"><xsl:value-of select="paging/totalPages"/></xsl:variable>
-    <xsl:variable name="pageNum"><xsl:value-of select="paging/currentPage"/></xsl:variable>
-    <xsl:variable name="nextPage"><xsl:value-of select="paging/nextPage"/></xsl:variable>
-    <xsl:variable name="prevPage"><xsl:value-of select="paging/prevPage"/></xsl:variable>
-    <div>
-    <h4>Browse for web services</h4>
-    <form name="{$formName}" id="{$formName}" method="get" action="{$webServiceUrl}">
-      <input type="hidden" name="language" value="en"/>
-      <input type="hidden" name="levelOfDetail" value="brief"/>
-      <input type="hidden" name="serviceType" value="{$serviceType}"/>
-      <input type="hidden" name="request" value="searchForService"/>
-      <input type="hidden" name="numResultsPerPage" value="{$numPerPage}"/>
-      <input type="hidden" name="page" value="{$pageNum}"/>
-      <input type="hidden" name="sortOrder" value="default"/>
-      <table width="100%">
-        <tr>
-          <td align="left">
-            Keywords:<input type="text" name="keywords" value="{$keywords}" size="10"/>
-          </td>
-          <td align="right">
-            <xsl:if test="$pageNum &gt; 1">
-              <a href="javascript:config.objects.{$widgetId}.webServiceForm.page.value={$prevPage};config.objects.{$widgetId}.submitForm()">previous</a> - 
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/><xsl:param name="modelTitle"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="targetModelId"/><xsl:param name="targetModel"/><xsl:param name="webServiceUrl">http://geodiscover.cgdi.ca/ceonetWeb/biz</xsl:param><xsl:param name="formName">OGCServiceList</xsl:param><xsl:param name="capabilitiesModel"/><xsl:param name="keywords"/><xsl:param name="serviceType"/><xsl:template match="/searchDetails"><xsl:variable name="numPerPage"><xsl:value-of select="searchCriteria/numResultsPerPage"/></xsl:variable><xsl:variable name="numPages"><xsl:value-of select="paging/totalPages"/></xsl:variable><xsl:variable name="pageNum"><xsl:value-of select="paging/currentPage"/></xsl:variable><xsl:variable name="nextPage"><xsl:value-of select="paging/nextPage"/></xsl:variable><xsl:variable name="prevPage"><xsl:value-of select="paging/prevPage"/></xsl:variable><div><h2>Browse for web services</h2><form name="{$formName}" id="{$formName}" method="get" action="{$webServiceUrl}"><input type="hidden" name="language" value="en"/><input type="hidden" name="levelOfDetail" value="brief"/><input type="hidden" name="serviceType" value="{$serviceType}"/><input type="hidden" name="request" value="searchForService"/><input type="hidden" name="numResultsPerPage" value="{$numPerPage}"/><input type="hidden" name="page" value="{$pageNum}"/><input type="hidden" name="sortOrder" value="default"/><table width="100%"><tr><td align="left">
+            Keywords:<input type="text" name="keywords" value="{$keywords}" size="10"/></td><td align="right"><xsl:if test="$pageNum &gt; 1"><a href="javascript:config.objects.{$widgetId}.webServiceForm.page.value={$prevPage};config.objects.{$widgetId}.submitForm()">previous</a> - 
             </xsl:if>
-            page <xsl:value-of select="$pageNum"/> of <xsl:value-of select="$numPages"/>
-            <xsl:if test="$pageNum &lt; $numPages">
-              - <a href="javascript:config.objects.{$widgetId}.webServiceForm.page.value={$nextPage};config.objects.{$widgetId}.submitForm()">next</a>
-            </xsl:if>
-          </td>
-        </tr>
-      </table>
-    <dl>
-      <xsl:apply-templates select="searchResults/entry"/>
-    </dl>
-    </form>
-    </div>
-  </xsl:template>
-
-  <!-- template rule matching source root element -->
-  <xsl:template match="entry">
-    <xsl:variable name="rowClass">altRow_<xsl:value-of select="position() mod 2"/></xsl:variable>
-    <xsl:variable name="capsUrl"><xsl:value-of select="accessUrl"/></xsl:variable>
-    <dt class="{$rowClass}">
-      <a href="javascript:config.loadModel('{$targetModel}','{$capsUrl}')">
-        <xsl:value-of select="name"/>
-      </a>
-    </dt>
-    <dd class="{$rowClass}"><xsl:value-of select="custodianName"/></dd>
-  </xsl:template>
-
-  <xsl:template match="text()|@*"/>
-
-</xsl:stylesheet>
+            page <xsl:value-of select="$pageNum"/> of <xsl:value-of select="$numPages"/><xsl:if test="$pageNum &lt; $numPages">
+              - <a href="javascript:config.objects.{$widgetId}.webServiceForm.page.value={$nextPage};config.objects.{$widgetId}.submitForm()">next</a></xsl:if></td></tr></table><dl><xsl:apply-templates select="searchResults/entry"/></dl></form></div></xsl:template><xsl:template match="entry"><xsl:variable name="rowClass">altRow_<xsl:value-of select="position() mod 2"/></xsl:variable><xsl:variable name="capsUrl"><xsl:value-of select="accessUrl"/></xsl:variable><dt class="{$rowClass}"><a href="javascript:config.loadModel('{$capabilitiesModel}','{$capsUrl}')"><xsl:value-of select="name"/></a></dt><dd class="{$rowClass}"><xsl:value-of select="custodianName"/></dd></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/EditPolygon.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/EditPolygon.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/EditPolygon.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: EditPolygon.js 3807 2008-01-18 13:57:21Z ahocevar $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -20,47 +20,9 @@
   // Extend EditButtonBase
   EditButtonBase.apply(this, new Array(widgetNode, model));
 
-  /**
-   * If the number of exsisting points is less than 2, append the new point to the polygon.
-   * If the number of exsisting points is equal to 2, append the new point AND the first point again.
-   * If the number of exsisting points is greater than 2, remove the last point (the first point), and append the new point AND the first point again.
-   * @param objRef      Pointer to this object.
-   * @param targetNode  The node for the enclosing HTML tag for this widget.
-   */
-  this.doAction = function(objRef, targetNode) {
-    if (objRef.enabled) {
-      var point = objRef.mouseHandler.model.extent.getXY(targetNode.evpl);
-      var old   = objRef.targetModel.getXpathValue(objRef.targetModel, objRef.featureXpath);
-      var thePolygon = "";
+  this.instantiateControl = function(objRef, Control) {
+    return new Control(objRef.featureLayer, OpenLayers.Handler.Polygon);
+  }
 
-      if (!old) {
-         thePolygon = point[0] + "," + point[1];
-      }
-      else {
-         var collect = old.split(" "); /* The string is already delimited by white space. */
-
-         if (collect.length < 2) { /* Enforce the polygon rules. */
-            thePolygon = old + " " + point[0] + "," + point[1];
-         }
-         else if (collect.length == 2) {
-            thePolygon = old + " " + point[0] + "," + point[1] + " " + collect[0];
-         }
-         else if (collect.length > 2) {
-            for (var i = 0; i < collect.length - 1; ++i) {
-
-               thePolygon = thePolygon + collect[i] + " ";
-            }
-
-            thePolygon = thePolygon + point[0] + "," + point[1] + " " + collect[0];
-         }
-      }
-
-      sucess = objRef.targetModel.setXpathValue(objRef.targetModel, objRef.featureXpath, thePolygon);
-
-      if (!sucess) {
-        alert("EditPolygon: invalid featureXpath in config: " + objRef.featureXpath);
-      }
-    }
-  }
 }
 
Index: lib/spatial/mapbuilder/lib/widget/Abstract.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Abstract.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/Abstract.js	(revision 4307)
@@ -0,0 +1,18 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Abstract.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Output the context title and abstract.
+ * @constructor
+ * @base WidgetBaseXSL
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function Abstract(widgetNode, model) {
+  WidgetBaseXSL.apply(this,new Array(widgetNode, model));
+}
Index: lib/spatial/mapbuilder/lib/widget/EditButtonBase.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/EditButtonBase.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/EditButtonBase.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: EditButtonBase.js 3879 2008-02-27 14:20:29Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -22,16 +22,27 @@
   // cursor can be changed by specifying a new cursor in config file
   this.cursor = "crosshair"; 
 
-  this.trm=widgetNode.selectSingleNode("mb:transactionResponseModel");
-  if(this.trm)this.trm=this.trm.firstChild.nodeValue;
+  this.trm=this.getProperty("mb:transactionResponseModel");
 
   /** Empty GML to load when this tool is selected. */
-  this.defaultModelUrl=widgetNode.selectSingleNode("mb:defaultModelUrl").firstChild.nodeValue;
+  this.defaultModelUrl=this.getProperty("mb:defaultModelUrl");
 
   /** Reference to GML node to update when a feature is added. */
-  this.featureXpath=widgetNode.selectSingleNode("mb:featureXpath").firstChild.nodeValue;
+  this.featureXpath=this.getProperty("mb:featureXpath");
 
+  /** Should a new empty feature be appended after creating one? */
+  this.appendOnEdit = Mapbuilder.parseBoolean(this.getProperty("mb:appendOnEdit", true));
+
   /**
+   * OpenLayers DrawFeature control.
+   * @param objRef reference to this object.
+   * @return {OpenLayers.Control} class of the OL control.
+   */
+  this.createControl = function(objRef) {
+    return OpenLayers.Control.DrawFeature;
+  }
+  
+  /**
    * If tool is selected and the Edit Tool has changed (eg, changed from
    * LineEdit to PointEdit) then load new default feature.
    * This function is called when a tool is selected or deselected.
@@ -38,51 +49,134 @@
    * @param objRef Pointer to this object.
    * @param selected True when selected.
    */
-  this.doSelect = function(selected,objRef) {
-    // Model that will be populated with the WFS response.
-    if (objRef.trm && !objRef.transactionResponseModel){
-      objRef.transactionResponseModel=eval("config.objects."+objRef.trm);
+  this.doSelect = function(objRef, selected) {
+    if (objRef.control.active) {
+      // Model that will be populated with the WFS response.
+      if (objRef.trm && !objRef.transactionResponseModel){
+        objRef.transactionResponseModel=window.config.objects[objRef.trm];
+      }
+      // Remove the transactionResponseModel (and result of last transaction)
+      // when a transaction button is deselected
+      if(!selected && objRef.transactionResponseModel){
+        objRef.transactionResponseModel.setModel(objRef.transactionResponseModel,null);
+      }
+      
+      config.loadModel(objRef.targetModel.id, objRef.defaultModelUrl);
     }
-    // Load default feature.
-    if (objRef.enabled && selected && objRef.targetModel.url!=objRef.defaultModelUrl){
-      objRef.loadDefaultModel(objRef);
-    }
-    // Remove the transactionResponseModel (and result of last transaction)
-    // when a transaction button is deselected
-    if(!selected && objRef.transactionResponseModel){
-      objRef.transactionResponseModel.setModel(objRef.transactionResponseModel,null);
-    }
   }
+  
+  /**
+   * start a new editing session
+   * @param objRef reference to this widget
+   */
+  this.newSession = function(objRef) {
+    objRef.modified = false;
+  }
 
   /**
-   * Load the defaultModel into the targetModel.
+   * This is called by the OL onFeatureInsert handler. It will
+   * call the superclass's setFeature() method to handle the
+   * created feature.
+   * @param feature OpenLayers feature
    */
-  this.loadDefaultModel=function(objRef){
-    objRef.targetModel.url=objRef.defaultModelUrl;
-    // load default GML
-    var httpPayload=new Object();
-    httpPayload.url=objRef.defaultModelUrl;
-    httpPayload.method="get";
-    httpPayload.postData=null;
-    objRef.targetModel.newRequest(objRef.targetModel,httpPayload);
-   }
+  this.handleFeatureInsert = function(feature) {
+    // use the objRef reference stored by setEditingLayer()
+    var objRef = feature.layer.mbButton;
+    objRef.feature = OpenLayers.Util.extend({}, feature);
+    objRef.geometry = OpenLayers.Util.extend({}, feature.geometry);
+    
+    var previousFeatureNode = objRef.targetModel.doc.selectSingleNode("/*/*").cloneNode(true);
+
+    // add a new empty node if this is not the first feature
+    if (objRef.modified && objRef.appendOnEdit) {
+      objRef.targetModel.doc.selectSingleNode("/*").appendChild(previousFeatureNode);
+    }
+
+    objRef.setFeature(objRef);
+    objRef.modified = true;
+    
+    // destroy the feature in OL, because we do not use
+    // the OL vector layer for displaying the feature
+    feature.mbSelectStyle = null;
+    feature.destroy();
+  }
+
   /**
-   * Register for mouseup events, called after model loads.
+   * Set editing layer and register for editing events in OL,
+   * called after model loads.
    * @param objRef Pointer to this object.
    */
-  this.setMouseListener = function(objRef) {
-    if (objRef.mouseHandler) {
-      objRef.mouseHandler.model.addListener('mouseup',objRef.doAction,objRef);
+  this.setEditingLayer = function(objRef) {
+    if (!objRef.targetContext.featureLayers[objRef.id]) {
+      objRef.featureLayer = new OpenLayers.Layer.Vector(objRef.id);
+      // layer should always be visible, independent of the resolution
+      objRef.featureLayer.calculateInRange = function() {return true;};
+      // set objRef as mbButton attribute of the OL featureLayer,
+      // because we otherwise don't have it available in
+      // handleFeatureInsert()
+      objRef.featureLayer.mbButton = objRef;
+      objRef.targetContext.featureLayers[objRef.id] = objRef.featureLayer;
+      // register OL event handler
+      objRef.featureLayer.onFeatureInsert = objRef.handleFeatureInsert;
     }
   }
 
   /**
-   * Set the loadModel listener in response to init event
+   * Add a geometry to the enclosing GML model.
+   * @param objRef      Pointer to this object.
+   */
+  this.setFeature = function(objRef) {
+    if (!objRef.enabled) {
+      return;
+    }
+
+    var gml = new OpenLayers.Format.GML().write([objRef.feature]);
+    var gmlDoc = Sarissa.getDomDocument();
+    gmlDoc = (new DOMParser()).parseFromString(gml, "text/xml");
+    if (objRef.targetModel.namespace) {
+      Sarissa.setXpathNamespaces(gmlDoc, objRef.targetModel.namespace);
+    }
+    var insertPoint = objRef.featureXpath.lastIndexOf("/")+1;
+    var insertXpath = objRef.featureXpath.substring(insertPoint);
+    var insertNode = gmlDoc.selectSingleNode("//"+insertXpath);
+    if (!insertNode) {
+      insertNode = gmlDoc.selectSingleNode("//gml:featureMember/*/*");
+    }
+    var targetNode = objRef.targetModel.doc.selectSingleNode(objRef.featureXpath);
+    if (targetNode.childNodes.length > 0) {
+      targetNode.removeChild(targetNode.firstChild);
+    }
+
+    try {
+      Sarissa.copyChildNodes(insertNode, targetNode);
+    } catch(e) {
+      alert(mbGetMessage("invalidFeatureXpathEditLine", objRef.featureXpath));      
+    }
+    objRef.targetModel.setParam("refresh");
+  }
+
+  /**
+   * Create the array that will hold all OL feature layers
+   * for editing buttons. Also register event handler to
+   * create feature layers when the OL map is available.
    * @param objRef Pointer to this object.
    */
   this.initButton = function(objRef) {
-    objRef.targetModel.addListener("loadModel",objRef.setMouseListener, objRef);
+    // initialize feature layers for the context.
+    // each editing button gets its own feature layer,
+    // which is not used for displaying the features,
+    // because the transaction response model has its
+    // own feature renderer.
+    if (!objRef.targetContext.featureLayers) {
+    	// this array in the context will hold all
+    	// featureLayers used by editButton widgets
+    	objRef.targetContext.featureLayers = new Array();
+    }
+    
+    // feature layers will be created when the OL map is available
+    objRef.targetContext.addFirstListener("refresh",objRef.setEditingLayer, objRef);
+
+    objRef.targetModel.addListener("loadModel", objRef.newSession, objRef);
   }
-
   this.model.addListener("init",this.initButton, this);
 }
Index: lib/spatial/mapbuilder/lib/widget/NtsForm.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/NtsForm.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/NtsForm.xsl	(revision 4307)
@@ -1,60 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0" 
-    xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-<!--
-Description: Outputs a form for use as a WebServiceForm widget that connects to
-             the CGDI NTS lookup service (returns outline of NTS Mapsheet indexes).
-Author:      Mike Adair
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-$Id$
--->
-
-  <xsl:output method="xml" encoding="utf-8"/>
-
-  <!-- The common params set for all widgets -->
-  <xsl:param name="lang">en</xsl:param>
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-
-  <!-- Text params for this widget -->
-  <xsl:param name="ntsTitle"/>
-  <xsl:param name="mapsheet"/>
-
-  <!-- The name of the form for coordinate output -->
-  <xsl:param name="webServiceUrl">http://geoservices.cgdi.ca/NTS/NTSLookup</xsl:param>
-  <xsl:param name="formName">NTSForm</xsl:param>
-
-  <!-- Main html -->
-  <xsl:template match="/">
-    <DIV>
-    <form name="{$formName}" id="{$formName}" method="get" action="{$webServiceUrl}">
-      <input name="request" type="hidden" value="GetMapsheet"/>
-      <input name="version" type="hidden" value="1.1.2"/>
-    
-      <table>
-        <tr>
-          <th align="left" colspan="3">
-            <xsl:value-of select="$ntsTitle"/>
-          </th>
-        </tr>
-        <tr>
-          <td>
-            <xsl:value-of select="$mapsheet"/>
-          </td>
-          <td>
-            <input name="mapsheet" type="text" size="10" value="31G05"/>
-          </td>
-          <td>
-            <!--input type="submit"/-->
-            <a href="javascript:config.objects.{$widgetId}.submitForm();">load web service data</a>
-          </td>
-        </tr>
-      </table>
-    </form>
-    </DIV>
-  </xsl:template>
-  
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="lang">en</xsl:param><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="ntsTitle"/><xsl:param name="mapsheet"/><xsl:param name="webServiceUrl">http://geoservices.cgdi.ca/NTS/NTSLookup</xsl:param><xsl:param name="formName">NTSForm</xsl:param><xsl:template match="/"><DIV><form name="{$formName}" id="{$formName}" method="get" action="{$webServiceUrl}"><input name="request" type="hidden" value="GetMapsheet"/><input name="version" type="hidden" value="1.1.2"/><table><tr><th align="left" colspan="3"><xsl:value-of select="$ntsTitle"/></th></tr><tr><td><xsl:value-of select="$mapsheet"/></td><td><input name="mapsheet" type="text" size="10" value="31G05"/></td><td><a href="javascript:config.objects.{$widgetId}.submitForm();">load web service data</a></td></tr></table></form></DIV></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/AoiForm.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/AoiForm.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/AoiForm.js	(revision 4307)
@@ -2,18 +2,17 @@
 Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
 License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: AoiForm.js 3879 2008-02-27 14:20:29Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
 mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
-mapbuilder.loadScript(baseDir+"/model/Proj.js");
 
 /**
  * Widget to display the AOI box coordinates in a form.
  *
  * @constructor
- * @base WidgetBase
+ * @base WidgetBaseXSL
  * @param widgetNode This widget's object node from the configuration document.
  * @param model The model that this widget is a view of.
  */
@@ -28,13 +27,13 @@
    * @param targetNode The node for the enclosing HTML tag for this widget.
    */
   this.displayAoiCoords = function(objRef, targetNode) {
-    objRef.aoiForm = document.getElementById(objRef.formName);
+    var aoiForm = document.getElementById(objRef.formName);
     var aoi = objRef.model.getParam("aoi");
-    if (aoi && objRef.aoiForm) {
-      objRef.aoiForm.westCoord.value = aoi[0][0];
-      objRef.aoiForm.northCoord.value = aoi[0][1];
-      objRef.aoiForm.eastCoord.value = aoi[1][0];
-      objRef.aoiForm.southCoord.value = aoi[1][1];
+    if (aoi && aoiForm) {
+      aoiForm.westCoord.value = aoi[0][0];
+      aoiForm.northCoord.value = aoi[0][1];
+      aoiForm.eastCoord.value = aoi[1][0];
+      aoiForm.southCoord.value = aoi[1][1];
     }
   }
   this.model.addListener('aoi', this.displayAoiCoords, this);
@@ -71,25 +70,20 @@
    * @param objRef Pointer to this AoiForm object.
    */
   this.postPaint = function(objRef) {
-    objRef.aoiForm = document.getElementById(objRef.formName);
-    objRef.aoiForm.westCoord.onblur = objRef.setAoi;
-    objRef.aoiForm.northCoord.onblur = objRef.setAoi;
-    objRef.aoiForm.eastCoord.onblur = objRef.setAoi;
-    objRef.aoiForm.southCoord.onblur = objRef.setAoi;
-    objRef.aoiForm.westCoord.model = objRef.model;
-    objRef.aoiForm.northCoord.model = objRef.model;
-    objRef.aoiForm.eastCoord.model = objRef.model;
-    objRef.aoiForm.southCoord.model = objRef.model;
+    var aoiForm = document.getElementById(objRef.formName);
+    aoiForm.westCoord.onblur = objRef.setAoi;
+    aoiForm.northCoord.onblur = objRef.setAoi;
+    aoiForm.eastCoord.onblur = objRef.setAoi;
+    aoiForm.southCoord.onblur = objRef.setAoi;
+    aoiForm.westCoord.model = objRef.model;
+    aoiForm.northCoord.model = objRef.model;
+    aoiForm.eastCoord.model = objRef.model;
+    aoiForm.southCoord.model = objRef.model;
   }
 
   //set some properties for the form output
   //allow it to have a different form name
-  var formNameNode = widgetNode.selectSingleNode("mb:formName");
-  if ( formNameNode ) {
-    this.formName = formNameNode.firstChild.nodeValue;
-  } else {
-    this.formName = "AoiForm_" + mbIds.getId();
-  }
+  this.formName = this.getProperty("mb:formName", "AoiForm_" + mbIds.getId());
   this.stylesheet.setParameter("formName", this.formName);
 }
 
Index: lib/spatial/mapbuilder/lib/widget/FeatureInfo.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/FeatureInfo.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/FeatureInfo.xsl	(revision 4307)
@@ -1,73 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" version="1.0">
-
-<!--
-Description: Convert a GML Feature or FeatureCollection into a HTML form.
-Author:      Steven Ottens AT geodan nl
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
-$Name$
--->
-
-  <xsl:output method="xml" encoding="utf-8"/>
-
-  <!-- Common params for all widgets -->
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-
-  <!-- Main html - It matches only non-empty results -->
-  <xsl:template match="/*">
-    <div class="featureLayer">
-      <div class="layerTitle">Layer</div><br/><!--TBD: get the real layername-->
-      <form>	
-          <xsl:apply-templates/>
-      </form>
-    </div>
-  </xsl:template>
-
-
-  <!-- All nodes -->
-  <xsl:template match="*">
-    <xsl:variable name="xlink">
-      <xsl:call-template name="getXpath">
-        <xsl:with-param name="node" select="."/>
-      </xsl:call-template>
-    </xsl:variable>
-      <xsl:if test="not(./*)">
-        <div class="record">
-          <div class="name">
-            <xsl:value-of select="name(.)"/>
-          </div>
-          <div class="value">
-            <input
-              type="text"
-              id="{$widgetId}{generate-id()}"
-              value="{text()}"
-        	    readonly="readonly"
-              />
-          </div>
-        </div>
-      </xsl:if>
-      <xsl:if test="./*">
-        <xsl:apply-templates>
-        </xsl:apply-templates>
-      </xsl:if>
-    </xsl:template>
-
-  <!-- Return xpath reference to a node. Calls itself recursively -->
-  <xsl:template name="getXpath">
-    <xsl:param name="node"/>
-    <xsl:if test="name($node/..)">
-      <xsl:call-template name="getXpath">
-        <xsl:with-param name="node" select="$node/.."/>
-      </xsl:call-template>
-    </xsl:if>
-    <xsl:text>/</xsl:text>
-    <xsl:value-of select="name($node)"/>
-  </xsl:template>
-
-  <!-- Remove documentation, text, comments -->
-  <xsl:template match="comment()|text()|processing-instruction()">
-  </xsl:template>
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:template match="/*"><div class="featureLayer"><div class="layerTitle">Layer</div><br/><form><xsl:apply-templates/></form></div></xsl:template><xsl:template match="*"><xsl:variable name="xlink"><xsl:call-template name="getXpath"><xsl:with-param name="node" select="."/></xsl:call-template></xsl:variable><xsl:if test="not(./*)"><div class="record"><div class="name"><xsl:value-of select="name(.)"/></div><div class="value"><input type="text" id="{$widgetId}{generate-id()}" value="{text()}" readonly="readonly"/></div></div></xsl:if><xsl:if test="./*"><xsl:apply-templates/></xsl:if></xsl:template><xsl:template name="getXpath"><xsl:param name="node"/><xsl:if test="name($node/..)"><xsl:call-template name="getXpath"><xsl:with-param name="node" select="$node/.."/></xsl:call-template></xsl:if><xsl:text>/</xsl:text><xsl:value-of select="name($node)"/></xsl:template><xsl:template match="comment()|text()|processing-instruction()"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/MapTitle.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/MapTitle.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/MapTitle.xsl	(revision 4307)
@@ -1,36 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0"
-xmlns:wmc="http://www.opengis.net/context"
-xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-<!--
-Description: Displays the Title value from a Web Map Context document
-Author:      Cameron Shorter cameron ATshorter.net
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-$Id$
-$Name$
--->
-
-  <xsl:output method="xml" encoding="utf-8"/>
-
-  <xsl:param name="lang">en</xsl:param>
-
-  <!-- Main html -->
-  <xsl:template match="/wmc:ViewContext/wmc:General | /wmc:OWSContext/wmc:General ">
-    <span>
-      <xsl:choose>
-        <xsl:when test="wmc:Title/@xml:lang">              
-          <xsl:value-of select="wmc:Title[@xml:lang=$lang]"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="wmc:Title"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </span>
-  </xsl:template>
-  
-  <xsl:template match="text()|@*"/>
-
-</xsl:stylesheet>
-
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wmc="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="lang">en</xsl:param><xsl:template match="/wmc:ViewContext/wmc:General | /wmc:OWSContext/wmc:General "><span><xsl:choose><xsl:when test="wmc:Title/@xml:lang"><xsl:value-of select="wmc:Title[@xml:lang=$lang]"/></xsl:when><xsl:otherwise><xsl:value-of select="wmc:Title"/></xsl:otherwise></xsl:choose></span></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/FilterAttributes.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/FilterAttributes.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/FilterAttributes.xsl	(revision 4307)
@@ -1,70 +1,3 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!--
-Description: parse DescribeFeatureType response to provide filter params
-Author:      adair
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-$Id$
-$Name$
--->
-
-<xsl:stylesheet version="1.0" 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-		xmlns:gml="http://www.opengis.net/gml">
-
-  <xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8" indent="yes"/>
-
-  <!-- The coordinates of the DHTML Layer on the HTML page -->
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-  
-  <xsl:param name="elementName">
-    <xsl:value-of select="/xsd:schema/xsd:element/@name"/>
-  </xsl:param>
-  <xsl:param name="elementType">
-    <xsl:value-of select="/xsd:schema/xsd:element/@type"/>
-  </xsl:param>
-  <xsl:param name="elementTypeNoNs">
-    <xsl:value-of select="substring-after($elementType,':')"/>
-  </xsl:param>
-  
-  <!-- template rule matching source root element -->
-  <xsl:template match="/xsd:schema">
-    <table>
-      <tr>
-        <th colspan="3">
-          Attributes for: <xsl:value-of select="$elementName"/> of type:<xsl:value-of select="$elementType"/>
-        </th>
-      </tr>
-      <xsl:apply-templates select="xsd:complexType[@name=$elementTypeNoNs]"/>
-    </table>
-  </xsl:template>
-
-  <!--
-<xsd:complexType name="Landuse__Lat_Lon__Type">
-<xsd:complexContent>
-<xsd:extension base="gml:AbstractFeatureType">
-<xsd:sequence>
-<xsd:element name="GML_Geometry" -->
-
-  <!-- template rule matching source root element -->
-  <xsl:template match="xsd:element">
-    <xsl:variable name="name"><xsl:value-of select="@name"/></xsl:variable>
-    <xsl:variable name="type"><xsl:value-of select="@type"/></xsl:variable>
-    <tr>
-      <td>
-        <xsl:value-of select="$name"/>
-      </td>
-      <td>
-        <xsl:value-of select="$type"/>
-      </td>
-      <td>
-      </td>
-    </tr>
-  </xsl:template>
-
-  <!--xsl:template match="text()|@*"/-->
-
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="elementName"><xsl:value-of select="/xsd:schema/xsd:element/@name"/></xsl:param><xsl:param name="elementType"><xsl:value-of select="/xsd:schema/xsd:element/@type"/></xsl:param><xsl:param name="elementTypeNoNs"><xsl:value-of select="substring-after($elementType,':')"/></xsl:param><xsl:template match="/xsd:schema"><table><tr><th colspan="3">
+          Attributes for: <xsl:value-of select="$elementName"/> of type:<xsl:value-of select="$elementType"/></th></tr><xsl:apply-templates select="xsd:complexType[@name=$elementTypeNoNs]"/></table></xsl:template><xsl:template match="xsd:element"><xsl:variable name="name"><xsl:value-of select="@name"/></xsl:variable><xsl:variable name="type"><xsl:value-of select="@type"/></xsl:variable><tr><td><xsl:value-of select="$name"/></td><td><xsl:value-of select="$type"/></td><td/></tr></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/XmlSchemaForm.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/XmlSchemaForm.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/XmlSchemaForm.xsl	(revision 4307)
@@ -1,90 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wmc="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" >
-
-<!--
-Description: Prototype stylesheet to automatically generate a form from an XML schema.
-Author:      Mike Adair
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-$Id$
--->
-
-  <xsl:output method="xml" encoding="utf-8"/>
-
-  <!-- The common params set for all widgets -->
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-
-  <xsl:param name="rootElement">ContactInformation</xsl:param>
-  <xsl:param name="nsTypeName"><xsl:value-of select="//xs:element[@name=$rootElement]/@type"/></xsl:param>
-  
-  <!-- The name of the form for coordinate output -->
-  <xsl:param name="formName">XmlForm</xsl:param>
-  <xsl:param name="xmlDoc" select="document('/mapbuilder/demo/context/atlasWorld.xml')"/>  <!-- Element tag names. -->
-
-  <!-- Main html -->
-	<xsl:template match="/">
-    <xsl:variable name="typeName"><xsl:value-of select="substring-after($nsTypeName,':')"/></xsl:variable>
-    id:<xsl:value-of select="$xmlDoc/ViewContext/@id"/>
-    <DIV>
-    <FORM NAME="{$formName}" ID="{$formName}">
-      <xsl:apply-templates select="xs:schema/xs:complexType[@name=$typeName]"> 
-        <xsl:with-param name="currentDocNode" select="$xmlDoc/ViewContext/General/ContactInformation"/>
-      </xsl:apply-templates>
-    </FORM>
-    </DIV>
-  </xsl:template>
-	
-	<xsl:template match="xs:element">
-    <xsl:param name="currentDocNode"/>
-    <xsl:choose>
-      <xsl:when test="@type='xs:string'">
-        <tr><td>
-          <xsl:value-of select="@name"/>
-        </td><td>
-          <xsl:variable name="docValue"><xsl:value-of select="$currentDocNode/@name"/></xsl:variable>
-          <xsl:element name="INPUT">
-            <xsl:attribute name="ID">elId</xsl:attribute>
-            <xsl:attribute name="TYPE">text</xsl:attribute>
-            <xsl:attribute name="VALUE"><xsl:value-of select="$docValue"/></xsl:attribute>
-          </xsl:element>
-          <xsl:apply-templates> 
-            <xsl:with-param name="currentDocNode" select="$currentDocNode/@name"/>
-          </xsl:apply-templates>
-        </td></tr>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:variable name="complexTypeName"><xsl:value-of select="substring-after(@type,':')"/></xsl:variable>
-        <tr><td colspan="2">
-          <xsl:value-of select="@name"/>
-          <xsl:apply-templates select="ancestor::*/xs:complexType[@name=$complexTypeName]"> 
-            <xsl:with-param name="currentDocNode" select="$currentDocNode/@name"/>
-          </xsl:apply-templates>
-        </td></tr>
-      </xsl:otherwise>
-    </xsl:choose>
-	</xsl:template>
-  
-	<xsl:template match="xs:complexType">
-    <xsl:param name="currentDocNode"/>
-    <dl>
-      <dd>
-        <xsl:apply-templates> 
-          <xsl:with-param name="currentDocNode" select="$currentDocNode"/>
-        </xsl:apply-templates>
-      </dd>
-    </dl>
-	</xsl:template>
-  
-	<xsl:template match="xs:sequence">
-    <xsl:param name="currentDocNode"/>
-    <table border="1">
-      <xsl:apply-templates> 
-        <xsl:with-param name="currentDocNode" select="$currentDocNode"/>
-      </xsl:apply-templates>
-    </table>
-	</xsl:template>
-  
-	<xsl:template match="text()|@*"/>
-
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wmc="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="rootElement">ContactInformation</xsl:param><xsl:param name="nsTypeName"><xsl:value-of select="//xs:element[@name=$rootElement]/@type"/></xsl:param><xsl:param name="formName">XmlForm</xsl:param><xsl:param name="xmlDoc" select="document('/mapbuilder/demo/context/atlasWorld.xml')"/><xsl:template match="/"><xsl:variable name="typeName"><xsl:value-of select="substring-after($nsTypeName,':')"/></xsl:variable>
+    id:<xsl:value-of select="$xmlDoc/ViewContext/@id"/><DIV><FORM NAME="{$formName}" ID="{$formName}"><xsl:apply-templates select="xs:schema/xs:complexType[@name=$typeName]"><xsl:with-param name="currentDocNode" select="$xmlDoc/ViewContext/General/ContactInformation"/></xsl:apply-templates></FORM></DIV></xsl:template><xsl:template match="xs:element"><xsl:param name="currentDocNode"/><xsl:choose><xsl:when test="@type='xs:string'"><tr><td><xsl:value-of select="@name"/></td><td><xsl:variable name="docValue"><xsl:value-of select="$currentDocNode/@name"/></xsl:variable><xsl:element name="input"><xsl:attribute name="id">elId</xsl:attribute><xsl:attribute name="type">text</xsl:attribute><xsl:attribute name="value"><xsl:value-of select="$docValue"/></xsl:attribute><xsl:attribute name="onchange">config.objects.<xsl:value-of select="$widgetId"/>.setValue(this,'xpath')</xsl:attribute></xsl:element><xsl:apply-templates><xsl:with-param name="currentDocNode" select="$currentDocNode/@name"/></xsl:apply-templates></td></tr></xsl:when><xsl:otherwise><xsl:variable name="complexTypeName"><xsl:value-of select="substring-after(@type,':')"/></xsl:variable><tr><td colspan="2"><xsl:value-of select="@name"/><xsl:apply-templates select="ancestor::*/xs:complexType[@name=$complexTypeName]"><xsl:with-param name="currentDocNode" select="$currentDocNode/@name"/></xsl:apply-templates></td></tr></xsl:otherwise></xsl:choose></xsl:template><xsl:template match="xs:complexType"><xsl:param name="currentDocNode"/><dl><dd><xsl:apply-templates><xsl:with-param name="currentDocNode" select="$currentDocNode"/></xsl:apply-templates></dd></dl></xsl:template><xsl:template match="xs:sequence"><xsl:param name="currentDocNode"/><table border="1"><xsl:apply-templates><xsl:with-param name="currentDocNode" select="$currentDocNode"/></xsl:apply-templates></table></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/PanZoomBar.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/PanZoomBar.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/PanZoomBar.js	(revision 4307)
@@ -0,0 +1,31 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id$
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+
+/**
+ * PanZoomBar  - drag, zoom, zoomBar wheelMouse and keyboard events 
+ * @constructor
+ * @base WidgetBase
+ * @author Olivier Terral olivier.terralAtgeomatys.fr
+ * @param widgetNode The widget node from the Config XML file.
+ * @param model The model for this widget
+ */
+function PanZoomBar(widgetNode, model) {
+  // Extend ButtonBase
+  WidgetBase.apply(this, new Array(widgetNode, model));
+
+  this.cursor = 'crosshair';
+
+  this.init = function(objRef) {
+   objRef.model.map.addControl(new OpenLayers.Control.PanZoomBar());
+   objRef.model.map.addControl(new OpenLayers.Control.Navigation());
+   objRef.model.map.addControl(new OpenLayers.Control.KeyboardDefaults());
+  }
+  
+  this.model.addListener("refresh",this.init, this); 
+}
+
Index: lib/spatial/mapbuilder/lib/widget/InsertFeature.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/InsertFeature.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/InsertFeature.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: InsertFeature.js 3879 2008-02-27 14:20:29Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -23,12 +23,12 @@
   // Extend ButtonBase
   ButtonBase.apply(this, new Array(widgetNode, model));
 
-  this.trm=widgetNode.selectSingleNode("mb:transactionResponseModel").firstChild.nodeValue;
-  this.tm=widgetNode.selectSingleNode("mb:targetModel").firstChild.nodeValue;
-  this.tc=widgetNode.selectSingleNode("mb:targetContext").firstChild.nodeValue;
+  this.trm=this.getProperty("mb:transactionResponseModel");
+  this.tm=this.getProperty("mb:targetModel");
+  this.tc=this.getProperty("mb:targetContext");
 
   this.httpPayload=new Object();
-  this.httpPayload.url=widgetNode.selectSingleNode("mb:webServiceUrl").firstChild.nodeValue;
+  this.httpPayload.url=this.getProperty("mb:webServiceUrl");
   this.httpPayload.method="post";
 
   /** Xsl to convert Feature into a WFS Transaction Insert. */
@@ -37,22 +37,31 @@
   /** Xsl to convert Feature into a WFS Transaction Update. */
   this.updateXsl=new XslProcessor(baseDir+"/tool/xsl/wfs_Update.xsl");
 
+  /** creates the OL control for this button */
+  this.createControl = function(objRef) {
+    var Control = OpenLayers.Class(OpenLayers.Control, {
+      CLASS_NAME: 'mbInsertFeature',
+      type: OpenLayers.Control.TYPE_BUTTON
+    });
+    return Control;
+  }
+
   /**
    * Start a WFS-T InsertFeature transaction.
    * @param objRef Pointer to this object.
    */
-  this.doSelect = function(selected,objRef) {
+  this.doSelect = function(objRef, selected) {
     if (selected){
       // Model that will be populated with the WFS response.
       if (!objRef.transactionResponseModel){
-        objRef.transactionResponseModel=eval("config.objects."+objRef.trm);
+        objRef.transactionResponseModel=window.config.objects[objRef.trm];
         objRef.transactionResponseModel.addListener("loadModel",objRef.handleResponse, objRef);
       }
       if (!objRef.targetModel){
-        objRef.targetModel=eval("config.objects."+objRef.tm);
+        objRef.targetModel=window.config.objects[objRef.tm];
       }
       if (!objRef.targetContext){
-        objRef.targetContext=eval("config.objects."+objRef.tc);
+        objRef.targetContext=window.config.objects[objRef.tc];
       }
       fid=objRef.targetModel.getXpathValue(objRef.targetModel,"//@fid");
       if (objRef.targetModel.doc){
@@ -64,8 +73,9 @@
           s=objRef.insertXsl.transformNodeToObject(objRef.targetModel.doc);
         }
         objRef.httpPayload.postData=s;
+        objRef.transactionResponseModel.transactionType="insert";
         objRef.transactionResponseModel.newRequest(objRef.transactionResponseModel,objRef.httpPayload);
-      }else alert("No feature available to insert");
+      }else alert(mbGetMessage("noFeatureToInsert"));
     }
   }
 
@@ -76,14 +86,15 @@
    * @param objRef Pointer to this object.
    */
   this.handleResponse=function(objRef){
-    sucess=objRef.transactionResponseModel.doc.selectSingleNode("//wfs:TransactionResult/wfs:Status/wfs:SUCCESS");
-    if (sucess){
-      // Remove FeatureList
-      objRef.targetModel.setModel(objRef.targetModel,null);
+    if (objRef.transactionResponseModel.transactionType=="insert") {
+      success=objRef.transactionResponseModel.doc.selectSingleNode("//wfs:TransactionResult/wfs:Status/wfs:SUCCESS");
+      if (success){
+        // Remove FeatureList
+        config.loadModel(objRef.targetModel.id, objRef.targetModel.url);
 
-      // Repaint the WMS layers
-      objRef.targetContext.callListeners("refreshWmsLayers");
+        // Repaint the WMS layers
+        objRef.targetContext.callListeners("refreshWmsLayers");
+      }
     }
   }
-
 }
Index: lib/spatial/mapbuilder/lib/widget/TipWidgetOL.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/TipWidgetOL.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/TipWidgetOL.js	(revision 4307)
@@ -0,0 +1,157 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: TipWidgetOL.js 3955 2008-03-31 13:00:49Z ahocevar $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/TipWidgetBase.js");
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
+
+/**
+ * Manages MapTips on the map. This widget works with models that
+ * have a FeatureSelectHandler tool.
+ * @base TipWidgetBase
+ * @author Andreas Hocevar andreas.hocevarATgmail.com
+ * @param widgetNode      The tool node from the Config XML file.
+ * @param model  The ButtonBar widget.
+ */
+function TipWidgetOL(widgetNode, model) {
+  TipWidgetBase.apply(this, new Array(widgetNode, model));
+
+  /**
+   * This method is triggered when a user clicks on a feature.
+   * @param objRef reference to this widget
+   */
+  this.onClick = function(objRef) {
+    var evt = objRef.model.getParam("olFeatureSelect");
+    var popup = objRef.createPopup(objRef, evt, false);
+    evt.feature.layer.mbClickPopup = popup;
+  }
+
+  /**
+   * This method is triggered when the mouse is over a feature.
+   * @param objRef reference to this widget
+   */
+  this.onMouseover = function(objRef) {
+    var evt = objRef.model.getParam("olFeatureHover");
+    // only create popup if there is no visible click popup
+    if (evt.feature && !evt.feature.layer.mbClickPopup || !evt.feature.layer.mbClickPopup.visible()) {
+      var popup = objRef.createPopup(objRef, evt, true);
+      evt.feature.layer.mbHoverPopup = popup;
+      // if the olFeatureOut event gets lost (eg during drag operation),
+      // registering this additional event will help to get rid of the
+      // popup quickly
+      popup.events.register('mouseover', popup, popup.hide);
+    }
+  }
+  
+  /**
+   * This method is triggered when the mouse moves out of a feature.
+   * @param objRef reference to this widget
+   */
+  this.onMouseout = function(objRef) {
+    var feature = objRef.model.getParam("olFeatureOut");
+    if (feature && feature.layer && feature.layer.mbHoverPopup) {
+      feature.layer.mbHoverPopup.destroy();
+      feature.layer.mbHoverPopup = null;
+    }
+  }
+
+  /**
+   * Creates a popup.
+   * @param objRef reference to this widget
+   * @param evt OpenLayers.Event that triggered the popup action
+   * @param hover true if the popup should be styled as a hover popup,
+   * false if it is a click popup.
+   * @return reference to the created popup
+   */
+  this.createPopup = function(objRef, evt, hover) {
+    var feature = evt.feature;
+    // check if there is a source model linked with this feature
+    var sourceNode = objRef.model.doc.selectSingleNode("//*[@fid='"+feature.fid+"']");
+    var sourceModel = null;
+    if (sourceNode) {
+      sourceModel = sourceNode.getAttribute('sourceModel');
+    }
+    // if so, use the config from the source model
+    var widgetConfig = null;
+    if (sourceModel && config.objects[sourceModel].config && config.objects[sourceModel].config[objRef.id]) {
+      widgetConfig = config.objects[sourceModel].config[objRef.id];
+    } else {
+      widgetConfig = objRef.config;
+    }
+    widgetConfig.stylesheet.setParameter('fid', feature.fid);
+    var lonlat = feature.layer.map.getLonLatFromPixel(evt.xy);
+    var popup = new Mapbuilder.Popup(null, lonlat, new OpenLayers.Size(widgetConfig.width, widgetConfig.height),
+        new XMLSerializer().serializeToString(widgetConfig.stylesheet.transformNodeToObject(widgetConfig.model.doc)).replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&"),
+        null, hover == false);
+    popup.setOpacity(widgetConfig.opacity);
+    popup.setBackgroundColor(widgetConfig.backgroundColor);
+    popup.setBorder(widgetConfig.border);
+    var quadrant = feature.layer.map.getExtent().determineQuadrant(lonlat);
+    var lonOffset = quadrant.charAt(1) == 'r' ? -5 : 5;
+    var latOffset = quadrant.charAt(0) == 't' ? 5 : -5;
+    popup.anchor = { size: new OpenLayers.Size(0,0), offset: new OpenLayers.Pixel(lonOffset, latOffset)};    
+ 
+    feature.layer.map.addPopup(popup, true);
+    return popup;
+  }
+  
+}
+
+/**
+ * Derived from OpenLayers.Popup (svn r6430) and 
+ * OpenLayers.Popup.Anchored (svn r5614), this class preserves the
+ * functionality of OpenLayers.Popup.Anchored before the new style popups
+ * of http://trac.openlayers.org/ticket/926 were introduced.
+ */
+Mapbuilder.Popup = OpenLayers.Class(OpenLayers.Popup.Anchored, {
+
+  initialize: function(id, lonlat, size, contentHTML, anchor, closeBox,
+            closeBoxCallback) {
+    OpenLayers.Popup.Anchored.prototype.initialize.apply(this, arguments);
+    this.contentDiv.style.overflow = "hidden";
+  },
+  
+  setSize:function(size) { 
+    if (size != undefined) {
+      this.size = size; 
+    }
+    
+    if (this.div != null) {
+      this.div.style.width = this.size.w + "px";
+      this.div.style.height = this.size.h + "px";
+    }
+    if (this.contentDiv != null){
+      this.contentDiv.style.width = this.size.w + "px";
+      this.contentDiv.style.height = this.size.h + "px";
+    }
+
+    if ((this.lonlat) && (this.map)) {
+      var px = this.map.getLayerPxFromLonLat(this.lonlat);
+      this.moveTo(px);
+    }
+  },  
+  
+  addCloseBox:function(closeBoxCallback) {
+     // close icon
+    var closeSize = new OpenLayers.Size(17,17);
+    var img = config.skinDir + "/openlayers/img/close.gif";
+    this.closeDiv = OpenLayers.Util.createAlphaImageDiv(
+      this.id + "_close", null, closeSize, img
+    );
+    this.closeDiv.style.right = this.padding + "px";
+    this.closeDiv.style.top = this.padding + "px";
+    this.groupDiv.appendChild(this.closeDiv);
+
+    var closePopup = closeBoxCallback || function(e) {
+      this.hide();
+      OpenLayers.Event.stop(e);
+    };
+    OpenLayers.Event.observe(this.closeDiv, "click", 
+        OpenLayers.Function.bindAsEventListener(closePopup, this));
+  },
+  
+  CLASS_NAME: "Mapbuilder.Popup"
+});
+
Index: lib/spatial/mapbuilder/lib/widget/SelectMapLayers.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/SelectMapLayers.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/SelectMapLayers.js	(revision 4307)
@@ -0,0 +1,18 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: SelectMapLayers.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Presents the list of Layers from a WMS capabilities doc.
+ * @constructor
+ * @base WidgetBaseXSL
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function SelectMapLayers(widgetNode, model) {
+  WidgetBaseXSL.apply(this,new Array(widgetNode, model));
+}
Index: lib/spatial/mapbuilder/lib/widget/SelectTimeFrame.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/SelectTimeFrame.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/SelectTimeFrame.js	(revision 4307)
@@ -2,7 +2,7 @@
 Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
 License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: SelectTimeFrame.js 2511 2007-01-05 11:55:23Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -38,7 +38,7 @@
     if (index > timestampList.firstFrame) {
       timestampList.lastFrame = index;
     } else {
-      alert("last frame must be after the first frame");
+      alert(mbGetMessage("lastFrameAfterFirst"));
     }
     this.model.setParam("stopLoop");
   }
Index: lib/spatial/mapbuilder/lib/widget/ShowDistance.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/ShowDistance.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/ShowDistance.xsl	(revision 4307)
@@ -0,0 +1,2 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="action"/><xsl:param name="skinDir" select="/mb:MapbuilderConfig/mb:skinDir"/><xsl:param name="distance">Distance:</xsl:param><xsl:param name="formName"/><xsl:template match="/"><div><form name="{$formName}" id="{$formName}"><xsl:value-of select="$distance"/><input name="distance" type="text" size="8" readonly="readonly"/></form></div></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/schemas/config.xsd
===================================================================
--- lib/spatial/mapbuilder/lib/schemas/config.xsd	(revision 4306)
+++ lib/spatial/mapbuilder/lib/schemas/config.xsd	(revision 4307)
@@ -1,920 +1,1331 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!-- edited with XMLSPY v5 U (http://www.xmlspy.com) by Tom Kralidis (NRCAN CCRs) -->
-<xs:schema targetNamespace="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.0.0">
-	<xs:annotation>
-		<xs:appinfo>$Id$</xs:appinfo>
-		<xs:documentation xml:lang="en">
-			<xs:description>Application schema for Mapbuilder runtime configuration</xs:description>
-			<xs:copyright>License: LGPL as per: http://www.gnu.org/copyleft/lesser.html</xs:copyright>
-		</xs:documentation>
-	</xs:annotation>
-	<!-- imports -->
-	<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
-	<!-- root element -->
-	<xs:element name="MapbuilderConfig">
-		<xs:annotation>
-			<xs:documentation>root element for all Mapbuilder applications</xs:documentation>
-		</xs:annotation>
-		<xs:complexType>
-			<xs:complexContent>
-				<xs:extension base="mb:AbstractModelType">
-					<xs:sequence>
-						<xs:element name="skinDir" type="mb:urlPathType" minOccurs="0"/>
-						<xs:element name="languages" type="xs:string" minOccurs="0"/>
-						<xs:element name="widgetTextUrl" type="mb:urlPathType" minOccurs="0"/>
-						<xs:element name="proxyUrl" type="mb:urlPathType" minOccurs="0"/>
-						<xs:element name="serializeUrl" type="mb:urlPathType" minOccurs="0"/>
-					</xs:sequence>
-					<xs:attribute name="version" type="xs:string" use="required" fixed="1.0.0">
-						<xs:annotation>
-							<xs:appinfo source="An attribute &quot;version&quot; representing the published specification version number, contains three positive integers, separated by decimal points, in the form &quot;x.y.z&quot;. Each context specification is numbered independently. This attribute is required."/>
-						</xs:annotation>
-					</xs:attribute>
-				</xs:extension>
-			</xs:complexContent>
-		</xs:complexType>
-	</xs:element>
-	<!-- global model extension types; Models type represent different types of XML documents. Use Model for a generic XML document where no customization or specialized methods are required-->
-	<xs:complexType name="ModelType">
-		<xs:annotation>
-			<xs:documentation>A generic base document type to handle any XML document (without any specialized methods)</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractModelType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="ContextType">
-		<xs:annotation>
-			<xs:documentation>A Web Map Context document as specified by the Open GeoSpatial Consortium (http://www.opengeospatial.org/docs/03-036r2.pdf)</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractModelType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="GeoRSSType">
-		<xs:annotation>
-			<xs:documentation>GeoRSS</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:ModelType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="ContextCollectionType">
-		<xs:annotation>
-			<xs:documentation>A collection of Web Map Context document URLs as specified by the Open GeoSpatial Consortium (http://www.opengeospatial.org/docs/03-036r2.pdf)</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractModelType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="WmsCapabilitiesType">
-		<xs:annotation>
-			<xs:documentation>A document describing the capabilities of an OGC Web Map Service (WMS) as specified by the Open GeoSpatial Consortium (http://portal.opengeospatial.org/files/?artifact_id=5316)</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractModelType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="WfsCapabilitiesType">
-		<xs:annotation>
-			<xs:documentation>A document describing the capabilities of an OGC Web Feature Service (WFS) as specified by the Open GeoSpatial Consortium (https://portal.opengeospatial.org/files/?artifact_id=7176)</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractModelType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="WpsCapabilitiesType">
-		<xs:annotation>
-			<xs:documentation>A document describing the capabilities of an OGC Web Processing Service (WPS) as specified by the Open GeoSpatial Consortium (https://portal.opengeospatial.org/files/?artifact_id=)</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractModelType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="GetMapType">
-		<xs:annotation>
-			<xs:documentation>A response from a WMS for a GetMap operation -  the model in this case is an image</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractModelType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="WpsDescribeProcessType">
-		<xs:annotation>
-			<xs:documentation>A response from a WPS DescribeProcess operation</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractModelType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="GetFeatureInfoType">
-		<xs:annotation>
-			<xs:documentation>A response from a WMS for a GetFeatureInfo operation</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractButtonType">
-				<xs:sequence>
-					<xs:element name="context" type="xs:string"/>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="FeatureCollectionType">
-		<xs:annotation>
-			<xs:documentation>A representation of a geographic Feature or Feature Collection in GML as specified by the Open Geospatial Consortium (http://www.opengis.org/docs/02-069.pdf) </xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractModelType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="DescribeFeatureTypeType">
-		<xs:annotation>
-			<xs:documentation>A response from a WFS for a DescribeFeatureType operation</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractModelType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="TransactionType">
-		<xs:annotation>
-			<xs:documentation>A response from a WFS Transaction operation</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractModelType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<!-- global widget extension types -->
-	<xs:complexType name="WidgetType">
-		<xs:annotation>
-			<xs:documentation>A generic widget which will simply process a model with a stylesheet - no specialized listeners provided</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractXslWidgetType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="MapPaneType">
-		<xs:annotation>
-			<xs:documentation>Render a Web Map Context (WMC) document as layered map images.</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractMapWidgetType">
-				<xs:sequence>
-					<xs:element name="fixedWidth" type="xs:integer" minOccurs="0"/>
-					<xs:element name="fixedHeight" type="xs:integer" minOccurs="0"/>
-					<xs:element name="loadHidden" type="xs:boolean" minOccurs="0"/>
-					<xs:element name="extraAttributes" type="xs:boolean" minOccurs="0"/>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="ModelUrlInputType">
-		<xs:annotation>
-			<xs:documentation>A widget which displays the model URL in a form which also allows the URL to be modified</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractXslWidgetType">
-				<xs:sequence>
-					<xs:element name="defaultUrl" type="mb:urlPathType" minOccurs="0"/>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="LegendType">
-		<xs:annotation>
-			<xs:documentation>Simple legend for context documents, includes layer title and visibility checkbox</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractXslWidgetType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="CursorTrackType">
-		<xs:annotation>
-			<xs:documentation>A widget to display the mouse coordinates when it is over a MapPane</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractXslWidgetType">
-				<xs:sequence>
-					<xs:element name="mouseHandler" type="xs:string"/>
-					<xs:element name="showXY" type="xs:boolean" minOccurs="0"/>
-					<xs:element name="showPx" type="xs:boolean" minOccurs="0"/>
-					<xs:element name="showDMS" type="xs:boolean" minOccurs="0"/>
-					<xs:element name="showLatLong" type="xs:boolean" minOccurs="0"/>
-					<xs:element name="showMGRS" type="xs:boolean" minOccurs="0"/>
-					<xs:element name="precision" type="xs:integer" minOccurs="0"/>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="AoiFormType">
-		<xs:annotation>
-			<xs:documentation>Displays a form with North, South, East, West coordinates to read and set the model AOI</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractXslWidgetType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="MapScaleTextType">
-		<xs:annotation>
-			<xs:documentation>A widget to read and write the map scale value</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractXslWidgetType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="SaveModelType">
-		<xs:annotation>
-			<xs:documentation>A widget that provides a link to the initial model URL and a link tosave the current model document to disk (to be deprecated for a tool)</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractXslWidgetType">
-				<xs:sequence>
-					<xs:element name="serializeUrl" type="mb:urlPathType" minOccurs="0"/>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="WmsCapabilitiesImportType">
-		<xs:annotation>
-			<xs:documentation>A form to input a capabilities model and widget output is a context doc (to be deprecated for the WMS Capabilities model)</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractXslWidgetType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="Loading2Type">
-		<xs:annotation>
-			<xs:documentation>a widget to display model loading indicator messages</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractWidgetType">
-				<xs:choice>
-					<xs:element name="textMessage" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>a mssage to be displayed instead of the model status message</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-					<xs:element name="mapContainerId" minOccurs="0"/>
-				</xs:choice>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="CollectionListType">
-		<xs:annotation>
-			<xs:documentation>A widget to display a list of context documents contained in a ContextCollection model</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractXslWidgetType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="FeatureListType">
-		<xs:annotation>
-			<xs:documentation>A widget to display the list of features in a Feature Collection</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractXslWidgetType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="LocationsType">
-		<xs:annotation>
-			<xs:documentation>A widget to display contents of a Locations GML model (quick View presets or gazetteer output) and allow setting the AOI/zoom area for a Context model</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractXslWidgetType">
-				<xs:sequence>
-					<xs:element name="selectSize" type="xs:integer" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>defines the size of the select box, i.e. how many lines show in the scroll box; defaults to 1</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="GmlRendererTestType">
-		<xs:annotation>
-			<xs:documentation>A widget to render GML without really rendering it for testing.  A pop-up appears with the GML docuemnt to be rendered.</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractMapWidgetType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="GmlPointRendererType">
-		<xs:annotation>
-			<xs:documentation>A widget to render GML. </xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractMapWidgetType">
-				<xs:sequence>
-					<xs:element name="normalImage" type="mb:urlPathType"/>
-					<xs:element name="highlightImage" type="mb:urlPathType"/>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="GmlRendererWZType">
-		<xs:annotation>
-			<xs:documentation>A widget to render GML document using the wz_jsgraphics JavaScript library in a map container widget</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractMapWidgetType">
-				<xs:sequence>
-					<xs:element name="lineColor"/>
-					<xs:element name="lineWidth"/>
-					<xs:element name="fill" minOccurs="0"/>
-					<xs:element name="pointDiameter" type="xs:integer" minOccurs="0"/>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="WebServiceFormType">
-		<xs:annotation>
-			<xs:documentation>A widget of config to input simple parameters to be submitted to a web service.  Output is sent to the targetModel.</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractXslWidgetType">
-				<xs:sequence>
-					<xs:element name="webServiceUrl" type="xs:anyURI" minOccurs="0"/>
-					<xs:element name="serviceType" minOccurs="0"/>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="AoiBoxWZType">
-		<xs:annotation>
-			<xs:documentation>A widget to display a map container model's AOI box</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractMapWidgetType">
-				<xs:sequence>
-					<xs:element name="lineColor" type="xs:string" minOccurs="0"/>
-					<xs:element name="lineWidth" type="xs:integer" minOccurs="0"/>
-					<xs:element name="crossSize" type="xs:integer" minOccurs="0"/>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="TimeSeriesType">
-		<xs:annotation>
-			<xs:documentation>A MapPane widget to display map layers in a time series</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractMapWidgetType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="Caps2ContextType">
-		<xs:annotation>
-			<xs:documentation>A tool which builds a Web Map Context document from a Web Map Capabilities document.</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractToolType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="EditContextType">
-		<xs:annotation>
-			<xs:documentation>Tool which manipulates the Layer list of a Web Map Context document.</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractToolType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="AoiBoxDHTMLType">
-		<xs:annotation>
-			<xs:documentation>A widget to display a map container model's AOI box</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractMapWidgetType">
-				<xs:sequence>
-					<xs:element name="lineColor" type="xs:string" minOccurs="0"/>
-					<xs:element name="lineWidth" type="xs:integer" minOccurs="0"/>
-					<xs:element name="crossSize" type="xs:integer" minOccurs="0"/>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="ResourceDropDownType">
-		<xs:annotation>
-			<xs:documentation>A widget to display a list of reources in an OWSContext document</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractXslWidgetType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="ButtonType">
-		<xs:annotation>
-			<xs:documentation>A generic instance of a ButonBase object</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractButtonType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="EditButtonType">
-		<xs:annotation>
-			<xs:documentation>After this button is selected, clicks on a MapPane will add a GML coord to a Line the targetModel FeatureCollection.</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractButtonType">
-				<xs:sequence>
-					<xs:element name="transactionResponseModel" type="xs:string" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>The model which will be populated with the server response.</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-					<xs:element name="webServiceUrl" type="mb:urlPathType" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>The base URL of the Web Service that will be queried.</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-					<xs:element name="targetContext" type="xs:string" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>After a feature has been successfully sent to the Web Service, the targetContext will send a "refresh" event which will cause the map layers to re-render themselves.  This will ensure a modified WFS feature will be re-redered correctly by the querying WMS.</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-					<xs:element name="featureXpath" type="xs:string" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>Xpath of the gml:coordinates in the FeatureCollection that will be updated.</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-					<xs:element name="defaultModelUrl" type="xs:string" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>URL to an XML file which contains a default FeatureCollect.  The XML will be loaded into the targetModel when this button is selected.</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="InsertFeatureType">
-		<xs:annotation>
-			<xs:documentation>When this button is selected, a WFS InsertFeature request is build from the targetModel and posted to the WFS.</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:EditButtonType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="WfsGetFeatureType">
-		<xs:annotation>
-			<xs:documentation>After this button is selected, clicks on a MapPane will initiate a WFS GetFeature GET request and the result will be stored in the targetModel FeatureCollection.</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:EditButtonType">
-				<xs:sequence>
-					<xs:element name="typeName" type="xs:string" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>A commer seperated list of layers to query.</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-					<xs:element name="tolerance" type="xs:string" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>The number of pixels around the click point that are included in the query.  tollerance=0 means a Bbox of 1x1 pixel is queried, tollerance=1 means a Bbox of 3x3 is queried, tolerance=2 means a Bbo of 5x5 is queried.</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-					<xs:element name="maxFeatures" type="xs:string" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>The maximum number of features returned by the query.</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="ProcessArgumentsFormType">
-		<xs:annotation>
-			<xs:documentation>A form widget to enter WPS processing options</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractXslWidgetType">
-				<xs:sequence>
-					<xs:element name="mapModel" type="xs:string" minOccurs="0"/>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="ShowProcessResultType">
-		<xs:annotation>
-			<xs:documentation>A widget to display the result of a ShowProcess operation on an WPS</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractXslWidgetType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="TabbedContentType">
-		<xs:annotation>
-			<xs:documentation>A widget that displays a list of tabs that can be selected to display other widgets</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractXslWidgetType">
-				<xs:sequence>
-					<xs:element name="htmlWorkspace" type="xs:string" minOccurs="0"/>
-					<xs:element name="tab" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="SaveType">
-		<xs:annotation>
-			<xs:documentation>After this button is selected, the Web Map Context is saved on the users local computer.</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractButtonType">
-				<xs:sequence>
-					<xs:element name="popupWindowName" type="xs:string"/>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<!-- global tools extension types -->
-	<xs:complexType name="AoiMouseHandlerType">
-		<xs:annotation>
-			<xs:documentation>A tool for models of a map container to set the AOI by click and drag of the mouse</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractToolType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="AoiBoxType">
-		<xs:annotation>
-			<xs:documentation>A tool to draw the AOI box on a map container (to be dprecated for widget version)</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractToolType">
-				<xs:sequence>
-					<xs:element name="lineColor" type="xs:string" minOccurs="0"/>
-					<xs:element name="lineWidth" type="xs:integer" minOccurs="0"/>
-					<xs:element name="crossSize" type="xs:integer" minOccurs="0"/>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="DragPanHandlerType">
-		<xs:annotation>
-			<xs:documentation>A tool for models of a map container to click and drag the map to pan</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractToolType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="MouseClickHandlerType">
-		<xs:annotation>
-			<xs:documentation>A tool for models of a map container to handle mouse click events</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractToolType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="ZoomToAoiType">
-		<xs:annotation>
-			<xs:documentation>A tool reset the model extent to the AOI </xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractToolType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="WebServiceRequestType">
-		<xs:annotation>
-			<xs:documentation>A tool which will generate web service requests from a node from the paranet model</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractToolType">
-				<xs:sequence>
-					<xs:element name="requestName" type="xs:string"/>
-					<xs:element name="requestFilter" minOccurs="0"/>
-					<xs:element name="maxFeatures" type="xs:integer" minOccurs="0"/>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="MovieLoopType">
-		<xs:annotation>
-			<xs:documentation>Tool to control display of layers as a moive loop</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractToolType">
-				<xs:sequence>
-					<xs:element name="framesPerSecond" type="xs:integer" minOccurs="0"/>
-					<xs:element name="maxFrames" type="xs:integer" minOccurs="0"/>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="HistoryType">
-		<xs:annotation>
-			<xs:documentation>Tool which maintains a history of the map views displayed</xs:documentation>
-		</xs:annotation>
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractToolType"/>
-		</xs:complexContent>
-	</xs:complexType>
-	<!--  document structure -->
-	<xs:complexType name="modelsType">
-		<xs:choice minOccurs="0" maxOccurs="unbounded">
-			<xs:element name="Model" type="mb:ModelType">
-				<xs:annotation>
-					<xs:documentation>A generic model to represent an XML document where no specialized get or set methods are required</xs:documentation>
-				</xs:annotation>
-			</xs:element>
-			<xs:element name="Context" type="mb:ContextType"/>
-			<xs:element name="OwsContext" type="mb:ContextType"/>
-			<xs:element name="GeoRSS" type="mb:GeoRSSType"/>
-			<xs:element name="ContextCollection" type="mb:ContextCollectionType"/>
-			<xs:element name="WmsCapabilities" type="mb:WmsCapabilitiesType"/>
-			<xs:element name="WfsCapabilities" type="mb:WfsCapabilitiesType"/>
-			<xs:element name="WpsCapabilities" type="mb:WpsCapabilitiesType"/>
-			<xs:element name="FeatureCollection" type="mb:FeatureCollectionType"/>
-			<xs:element name="Transaction" type="mb:TransactionType"/>
-			<xs:element name="DescribeFeatureType" type="mb:DescribeFeatureTypeType"/>
-			<xs:element name="WpsDescribeProcess" type="mb:WpsDescribeProcessType"/>
-			<xs:element name="FeatureTypeSchema" type="mb:ModelType"/>
-			<xs:element name="OwsCatResources" type="mb:ModelType"/>
-		</xs:choice>
-	</xs:complexType>
-	<xs:complexType name="widgetsType">
-		<xs:choice maxOccurs="unbounded">
-			<xs:element name="Widget" type="mb:WidgetType"/>
-			<xs:element name="ModelSwitcher" type="mb:WidgetType"/>
-			<xs:element name="TimeSeries" type="mb:TimeSeriesType"/>
-			<xs:element name="Timestamp" type="mb:WidgetType"/>
-			<xs:element name="MapPane" type="mb:MapPaneType"/>
-			<xs:element name="ModelUrlInput" type="mb:ModelUrlInputType"/>
-			<xs:element name="AoiBoxDHTML" type="mb:AoiBoxDHTMLType"/>
-			<xs:element name="ResourceDropDown" type="mb:ResourceDropDownType"/>
-			<xs:element name="AoiBoxWZ" type="mb:AoiBoxWZType"/>
-			<xs:element name="CursorTrack" type="mb:CursorTrackType"/>
-			<xs:element name="Legend" type="mb:LegendType"/>
-			<xs:element name="AoiForm" type="mb:AoiFormType"/>
-			<xs:element name="MapScaleText" type="mb:MapScaleTextType"/>
-			<xs:element name="SaveModel" type="mb:SaveModelType"/>
-			<xs:element name="Loading2" type="mb:Loading2Type"/>
-			<xs:element name="WmsCapabilitiesImport" type="mb:WmsCapabilitiesImportType"/>
-			<xs:element name="CollectionList" type="mb:CollectionListType"/>
-			<xs:element name="FeatureList" type="mb:FeatureListType"/>
-			<xs:element name="Locations" type="mb:LocationsType"/>
-			<xs:element name="GmlPointRenderer" type="mb:GmlPointRendererType"/>
-			<xs:element name="GmlRendererWZ" type="mb:GmlRendererWZType"/>
-			<xs:element name="WebServiceForm" type="mb:WebServiceFormType"/>
-			<xs:element name="ShowResponse" type="mb:WidgetType"/>
-			<xs:element name="TransactionResponse" type="mb:WidgetType"/>
-			<xs:element name="Button" type="mb:ButtonType"/>
-			<xs:element name="ZoomIn" type="mb:ButtonType"/>
-			<xs:element name="ZoomOut" type="mb:ButtonType"/>
-			<xs:element name="DragPan" type="mb:ButtonType"/>
-			<xs:element name="SetAoi" type="mb:ButtonType"/>
-			<xs:element name="Reset" type="mb:ButtonType"/>
-			<xs:element name="Back" type="mb:ButtonType"/>
-			<xs:element name="Forward" type="mb:ButtonType"/>
-			<xs:element name="GetFeatureInfo" type="mb:GetFeatureInfoType"/>
-			<xs:element name="EditPoint" type="mb:EditButtonType"/>
-			<xs:element name="EditLine" type="mb:EditButtonType"/>
-			<xs:element name="InsertFeature" type="mb:InsertFeatureType"/>
-			<xs:element name="DeleteFeature" type="mb:EditButtonType"/>
-			<xs:element name="WfsGetFeature" type="mb:WfsGetFeatureType"/>
-			<xs:element name="Save" type="mb:SaveType"/>
-			<xs:element name="Loading" type="mb:WidgetType"/>
-			<xs:element name="LayerControl">
-				<xs:complexType>
-					<xs:complexContent>
-						<xs:extension base="mb:WidgetType">
-							<xs:all>
-								<xs:element name="moveUpImage" minOccurs="0"/>
-								<xs:element name="moveDownImage" minOccurs="0"/>
-								<xs:element name="deleteImage" minOccurs="0"/>
-							</xs:all>
-						</xs:extension>
-					</xs:complexContent>
-				</xs:complexType>
-			</xs:element>
-			<xs:element name="ModelStatus" type="mb:WidgetType"/>
-			<xs:element name="ProcessArgumentsForm" type="mb:ProcessArgumentsFormType"/>
-			<xs:element name="ShowProcessResult" type="mb:ShowProcessResultType"/>
-			<xs:element name="TabbedContent" type="mb:TabbedContentType"/>
-			<xs:element name="OWSCatSearchForm" type="mb:WidgetType"/>
-		</xs:choice>
-	</xs:complexType>
-	<xs:complexType name="toolsType">
-		<xs:choice maxOccurs="unbounded">
-			<xs:element name="AoiMouseHandler" type="mb:AoiMouseHandlerType"/>
-			<xs:element name="AoiBox" type="mb:AoiBoxType"/>
-			<xs:element name="DragPanHandler" type="mb:DragPanHandlerType"/>
-			<xs:element name="MouseClickHandler" type="mb:MouseClickHandlerType"/>
-			<xs:element name="ZoomToAoi" type="mb:ZoomToAoiType"/>
-			<xs:element name="WebServiceRequest" type="mb:WebServiceRequestType"/>
-			<xs:element name="Caps2Context" type="mb:Caps2ContextType"/>
-			<xs:element name="EditContext" type="mb:EditContextType"/>
-			<xs:element name="MovieLoop" type="mb:MovieLoopType"/>
-			<xs:element name="History" type="mb:HistoryType"/>
-		</xs:choice>
-	</xs:complexType>
-	<!--  global base types -->
-	<xs:complexType name="AbstractModelType" abstract="true">
-		<xs:sequence>
-			<xs:element name="title" type="xs:string" minOccurs="0">
-				<xs:annotation>
-					<xs:documentation>optional human-readable label that can be used with model</xs:documentation>
-				</xs:annotation>
-			</xs:element>
-			<xs:element name="defaultModelUrl" type="mb:urlPathType" minOccurs="0">
-				<xs:annotation>
-					<xs:documentation>The URL where the model gets loaded from.  If the method is HTTP GET, then include the full query string in the URL.  Optional, if present, the model will be loaded when the application loads.</xs:documentation>
-				</xs:annotation>
-			</xs:element>
-			<xs:element name="postData" minOccurs="0">
-				<xs:annotation>
-					<xs:documentation>contains a fragment of XML data which will be posted to the server URL when using HTTP POST.  Optional.</xs:documentation>
-				</xs:annotation>
-			</xs:element>
-			<xs:element name="method" type="xs:string" minOccurs="0">
-				<xs:annotation>
-					<xs:documentation>the HTTP method to use to retrieve the model.  Optional, defaults to GET.</xs:documentation>
-				</xs:annotation>
-			</xs:element>
-			<xs:element name="models" type="mb:modelsType" minOccurs="0">
-				<xs:annotation>
-					<xs:documentation>A list of child models objects where a parent/child relationship can be established between models (e.g. a DescribeFeatureType model can be a child of a WfsCapabilities model.  Optional.</xs:documentation>
-				</xs:annotation>
-			</xs:element>
-			<xs:element name="widgets" type="mb:widgetsType" minOccurs="0">
-				<xs:annotation>
-					<xs:documentation>a list of widgets for this model.  Optional, however a model will usually have at least one widget.</xs:documentation>
-				</xs:annotation>
-			</xs:element>
-			<xs:element name="tools" type="mb:toolsType" minOccurs="0">
-				<xs:annotation>
-					<xs:documentation>a list of tools that can be used to control this model. Optional.</xs:documentation>
-				</xs:annotation>
-			</xs:element>
-			<xs:element name="namespace" type="xs:string" minOccurs="0">
-				<xs:annotation>
-					<xs:documentation>The namespace that will be used by Xpath queries on this model.  Optional.</xs:documentation>
-				</xs:annotation>
-			</xs:element>
-			<xs:element name="nodeSelectXpath" type="xs:string" minOccurs="0">
-				<xs:annotation>
-					<xs:documentation>an XPath expression to select an array of nodes from the document with the .getFeature method</xs:documentation>
-				</xs:annotation>
-			</xs:element>
-		</xs:sequence>
-		<xs:attribute name="id" type="mb:idType" use="required"/>
-		<xs:attribute name="template" type="xs:boolean" use="optional"/>
-	</xs:complexType>
-	<xs:complexType name="AbstractWidgetType" abstract="true">
-		<xs:sequence>
-			<xs:element name="htmlTagId" type="xs:string" minOccurs="0">
-				<xs:annotation>
-					<xs:documentation>the ID of the HTML element in the web page where this widget's ouput should be placed.  Optional, if present, this value will be used instead of the widget's ID attribute.</xs:documentation>
-				</xs:annotation>
-			</xs:element>
-			<xs:element name="outputNodeId" type="xs:string" minOccurs="0">
-				<xs:annotation>
-					<xs:documentation>the ID to be assigned to the widget stylesheet output.  This property can be used to share the same HTML element among widgets if multiple widgets use the same value for this property.  Optional, if not present, an id will be automatically assigned to the widget stylehseet output. </xs:documentation>
-				</xs:annotation>
-			</xs:element>
-			<xs:element name="targetModel" type="xs:string" minOccurs="0">
-				<xs:annotation>
-					<xs:documentation>used so that the actions of this widget can affect a model other than this widget's parent model.  The value of this property is the ID of another model object in the config document.  Every widget will have a targetModel property.  Optional, if missing the targetModel is set to the parent model</xs:documentation>
-				</xs:annotation>
-			</xs:element>
-			<xs:element name="debug" nillable="true" minOccurs="0">
-				<xs:annotation>
-					<xs:documentation>an empty property element to show debuggin output during stylesheet processing.  Optional.</xs:documentation>
-				</xs:annotation>
-			</xs:element>
-			<xs:element name="autoRefresh" type="xs:string" minOccurs="0">
-				<xs:annotation>
-					<xs:documentation>if this property has a value of "false", automatic refresh of the widget output is suppressed.  Optional, defaults to true</xs:documentation>
-				</xs:annotation>
-			</xs:element>
-			<xs:element name="scriptFile" type="xs:anyURI" minOccurs="0">
-				<xs:annotation>
-					<xs:documentation>optional pointer to a JavaScript file defniition for this class.  Default is lib/widgets object name.</xs:documentation>
-				</xs:annotation>
-			</xs:element>
-			<!--xs:any namespace="##targetNamespace" minOccurs="0" maxOccurs="unbounded"/-->
-		</xs:sequence>
-		<xs:attribute name="id" type="mb:idType" use="required"/>
-	</xs:complexType>
-	<xs:complexType name="AbstractXslWidgetType">
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractWidgetType">
-				<xs:sequence>
-					<xs:element name="stylesheet" type="mb:urlPathType" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>this property specifies a relative or absolute URL to a stylesheet that can replace the default stylesheet.  The stylesheet must be served from the same domain as the mapbuilder applicaiton.  Optional, if missing a default stylesheet will be used (in the lib/widgets directory with the same name as the widget)</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-					<xs:element name="title" type="xs:string" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>label for this widget passed to the stylesheet</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="AbstractMapWidgetType">
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractXslWidgetType">
-				<xs:sequence>
-					<xs:element name="mapContainerId" type="xs:string">
-						<xs:annotation>
-							<xs:documentation>Used to assign an ID to a container DIV element for 2 dimensional map widgets.  Multiple widgets may share this container for rendering their output. The first model encountered in the config file using this ID becomes the "source" model for this widget so that extent, AOI and orther map related data can be shared by multiple models.   Required.  </xs:documentation>
-						</xs:annotation>
-					</xs:element>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="AbstractButtonType" abstract="true">
-		<xs:complexContent>
-			<xs:extension base="mb:AbstractWidgetType">
-				<xs:sequence>
-					<xs:element name="buttonBar" type="xs:string">
-						<xs:annotation>
-							<xs:documentation>equivalent to the htmlTagId property for placing buttons in a page.  Buttons get appended to this HTML element in sequence.</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-					<xs:element name="targetModel" type="xs:string">
-						<xs:annotation>
-							<xs:documentation>id of a model that the button will act on.  Defaults to the parent model</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-					<xs:element name="mouseHandler" type="xs:string" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>the id of a tool object on which to register mouse events.  Optional, if absent, not mouse events are handled and the action is the doSelect function</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-					<xs:element name="class" type="xs:string" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>specifies the type of button.  Permitted values include "Button" and "RadioButton".  A Button class will execute it's action immediately when pressed.  A "RadioButton" has enabled and disabled state and only one button in a buttonBar group can be enabled at any one time.</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-					<xs:element name="selected" type="xs:boolean" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>boolean value (true|false) to inidicate the initial state of this button</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-					<xs:element name="enabledSrc" type="mb:urlPathType" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>partial skin path to graphic source when this button is selected</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-					<xs:element name="disabledSrc" type="mb:urlPathType" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>partial skin path to graphic source when this button is not selected</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-					<xs:element name="tooltip" type="mb:multiLangType" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>text to be used when the mouse hovers over this button.</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-					<xs:element name="action" type="xs:string" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>function call to be executed when the button is selected.  It will be prepended by config.objects so this property should take the form objectId,method(...)</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-					<xs:element name="cursor" type="xs:string" minOccurs="0">
-						<xs:annotation>
-							<xs:documentation>CSS cursor value to use when this button is selected</xs:documentation>
-						</xs:annotation>
-					</xs:element>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="AbstractToolType" abstract="true">
-		<xs:sequence>
-			<xs:element name="targetModel" type="xs:string" minOccurs="0">
-				<xs:annotation>
-					<xs:documentation>the id of a model object which this tool acts on.  Optional, if absent the action happens on the parent model of this tool.</xs:documentation>
-				</xs:annotation>
-			</xs:element>
-			<xs:element name="enabled" type="xs:boolean" minOccurs="0">
-				<xs:annotation>
-					<xs:documentation>a flag to indicate if this tool should initially be enabled.  Optional, accepts values of true and false.  Tools are enabled by default.</xs:documentation>
-				</xs:annotation>
-			</xs:element>
-		</xs:sequence>
-		<xs:attribute name="id" type="mb:idType" use="optional"/>
-	</xs:complexType>
-	<!--utility types-->
-	<xs:simpleType name="idType">
-		<xs:restriction base="xs:ID"/>
-	</xs:simpleType>
-	<xs:simpleType name="urlPathType">
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-	<xs:complexType name="multiLangType">
-		<xs:annotation>
-			<xs:documentation>  Muliple languages are supported by using an "xml:lang" attribute on object properties.  The element may then be repeated for each langauge supported</xs:documentation>
-		</xs:annotation>
-		<xs:simpleContent>
-			<xs:extension base="xs:string">
-				<xs:attribute ref="xml:lang"/>
-			</xs:extension>
-		</xs:simpleContent>
-	</xs:complexType>
-	<xs:complexType name="httpMethodType">
-		<xs:simpleContent>
-			<xs:extension base="xs:string"/>
-		</xs:simpleContent>
-	</xs:complexType>
+<xs:schema targetNamespace="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="0.2.1">
+  <xs:annotation>
+    <xs:appinfo>$Id: config.xsd 3965 2008-04-01 14:53:07Z oterral $</xs:appinfo>
+    <xs:documentation xml:lang="en">
+      <xs:description>Application schema for Mapbuilder runtime configuration</xs:description>
+      <xs:copyright>License: LGPL as per: http://www.gnu.org/copyleft/lesser.html</xs:copyright>
+    </xs:documentation>
+  </xs:annotation>
+
+  <!-- imports -->
+  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
+  <!-- root element -->
+  <xs:element name="MapbuilderConfig">
+    <xs:annotation>
+      <xs:documentation>root element for all Mapbuilder applications</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent>
+        <xs:extension base="mb:AbstractModelBaseType">
+          <xs:sequence>
+            <xs:element name="skinDir" type="mb:urlPathType" minOccurs="1"/>
+            <xs:element name="userWidgetTextDir" type="mb:urlPathType" minOccurs="0"/>
+            <xs:element name="proxyUrl" type="mb:urlPathType" minOccurs="0"/>
+            <xs:element name="serializeUrl" type="mb:urlPathType" minOccurs="0"/>
+          </xs:sequence>
+          <xs:attribute name="version" type="xs:string" use="required" fixed="0.2.1">
+            <xs:annotation>
+              <xs:appinfo source="An attribute &quot;version&quot; representing the published specification version number, contains three positive integers, separated by decimal points, in the form &quot;x.y.z&quot;. Each context specification is numbered independently. This attribute is required."/>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+
+  <!--  global base types -->
+  <xs:complexType name="AbstractModelBaseType" abstract="true">
+    <xs:sequence>
+      <xs:element name="title" type="xs:string" minOccurs="0"/>
+      <xs:element name="defaultModelUrl" type="mb:urlPathType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>The URL where the model gets loaded from.  If the method is HTTP GET, then include the full query string in the URL.  Optional, if present, the model will be loaded when the application loads.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="method" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>the HTTP method to use to retrieve the model.  Optional, defaults to GET.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="scriptFile" type="mb:urlPathType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>this property specifies a relative or absolute URL to a JavaScript file that can replace the default JavaScript object.  The file must be served from the same domain as the mapbuilder application.  Optional, if missing a default JavaScript file will be used (in the lib/widget directory with the same name as the widget)</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="debug" nillable="true" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>an empty property element to show debugging output during model processing.  Optional.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="models" type="mb:modelsType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>A list of child models objects where a parent/child relationship can be established between models (e.g. a DescribeFeatureType model can be a child of a WfsCapabilities model.  Optional.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="widgets" type="mb:widgetsType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>a list of widgets for this model.  Optional, however a model will usually have at least one widget.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="tools" type="mb:toolsType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>a list of tools that can be used to control this model. Optional.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="namespace" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>The namespace that will be used by Xpath queries on this model.  Optional.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="nodeSelectXpath" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation/>
+        </xs:annotation>
+      </xs:element>
+    </xs:sequence>
+    <xs:attribute name="id" type="mb:idType" use="required"/>
+    <xs:attribute name="template" type="xs:boolean" use="optional"/>
+  </xs:complexType>
+  <xs:complexType name="AbstractWidgetBaseType" abstract="true">
+    <xs:sequence>
+      <xs:element name="htmlTagId" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>the ID of the HTML element in the web page where this widget's ouput should be placed.  Optional, if present, this value will be used instead of the widget's ID attribute.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="outputNodeId" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>the ID to be assigned to the widget stylesheet output.  This property can be used to share the same HTML element among widgets if multiple widgets use the same value for this property.  Optional, if not present, an id will be automatically assigned to the widget stylehseet output. </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="targetModel" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>used so that the actions of this widget can affect a model other than this widget's parent model.  The value of this property is the ID of another model object in the config document.  Every widget will have a targetModel property.  Optional, if missing the targetModel is set to the parent model</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="scriptFile" type="mb:urlPathType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>this property specifies a relative or absolute URL to a JavaScript file that can replace the default JavaScript object.  The file must be served from the same domain as the mapbuilder application.  Optional, if missing a default JavaScript file will be used (in the lib/widget directory with the same name as the widget)</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="debug" nillable="true" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>an empty property element to show debugging output during stylesheet processing.  Optional.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="autoRefresh" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>if this property has a value of "false", automatic refresh of the widget output is suppressed.  Optional, defaults to true</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="toolId" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>i</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:sequence>
+    <xs:attribute name="id" type="mb:idType" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="AbstractWidgetBaseXSLType" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseType">
+        <xs:sequence>
+          <xs:element name="stylesheet" type="mb:urlPathType" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>this property specifies a relative or absolute URL to a stylesheet that can replace the default stylesheet.  The stylesheet must be served from the same domain as the mapbuilder application.  Optional, if missing a default stylesheet will be used (in the lib/widget directory with the same name as the widget)</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="parseHTMLNodes" type="xs:boolean" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>if true, HTML entities (like found in RSS feeds) will be parsed and converted to HTML, instead of showing HTML source code.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="AbstractButtonBaseType" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseType">
+        <xs:sequence>
+          <xs:element name="buttonBar" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>equivalent to the htmlTagId property for placing buttons in a page.  Buttons get appended to this HTML element in sequence. Buttons with the same buttonBar property will belong to the same buttonBar group.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="htmlTagId" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>If set this property will be used for placing the buttons in a page. Buttons get appended to this HTML element in sequence. Use this property if you want to place buttons with the same buttonBar property on a different place in the web page.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="targetModel" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>Target Model</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="targetContext" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>the id of a context object of the map on which to use the button.  Optional for buttons that have the context of the desired map as target model.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="class" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>specifies the type of button.  Permitted values include "Button", "Toggle" and "RadioButton".  A Button class will execute it's action immediately when pressed.  A "Toggle" will be enabled when clicked, and disabled when clicked again, without affecting other buttons. A "RadioButton" has enabled and disabled state and only one button in a buttonBar group can be enabled at any one time.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="selected" type="xs:boolean" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>boolean value (true|false) to inidicate the initial state of this button</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="enabledSrc" type="mb:urlPathType" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>partial skin path to graphic source when this button is selected</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="disabledSrc" type="mb:urlPathType" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>partial skin path to graphic source when this button is not selected</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="tooltip" type="mb:tooltipType" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>text to be used when the mouse hovers over this button.  Multiple languages are supported by using an "xml:lang" attribute on this property.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="action" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation/>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="cursor" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation/>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="AbstractToolBaseType" abstract="true">
+    <xs:sequence>
+      <xs:element name="targetModel" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>the id of a model object which this tool acts on.  Optional, if absent the action happens on the parent model of this tool.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="mouseHandler" type="xs:string" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>the id of a tool object on which to register mouse events.  Optional, if absent, not mouse events are handled and the action is the doSelect function</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="scriptFile" type="mb:urlPathType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>this property specifies a relative or absolute URL to a JavaScript file that can replace the default JavaScript object.  The file must be served from the same domain as the mapbuilder application.  Optional, if missing a default JavaScript file will be used (in the lib/tool directory with the same name as the widget)</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="enabled" type="xs:boolean" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>a flag to indicate if this tool should initially be enabled.  Optional, accepts values of true and false.  Tools are enabled by default.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:sequence>
+    <xs:attribute name="id" type="mb:idType" use="optional"/>
+  </xs:complexType>
+
+  <!--  document structure -->
+  <xs:complexType name="modelsType">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element name="Context" type="mb:ContextType"/>
+      <xs:element name="FeatureCollection" type="mb:FeatureCollectionType"/>
+      <xs:element name="GeoRSS" type="mb:GeoRSSType"/>
+      <xs:element name="Logger" type="mb:LoggerType"/>
+      <xs:element name="Model" type="mb:ModelType">
+        <xs:annotation>
+          <xs:documentation>A generic model to represent an XML document where no specialized get or set methods are required</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="OwsCatResources" type="mb:OwsCatResourcesType"/>
+      <xs:element name="OwsContext" type="mb:ContextType"/>
+      <xs:element name="StyledLayerDescriptor" type="mb:StyledLayerDescriptorType"/>
+      <xs:element name="Transaction" type="mb:TransactionType"/>
+      <xs:element name="WfsCapabilities" type="mb:WfsCapabilitiesType"/>
+      <xs:element name="WmsCapabilities" type="mb:WmsCapabilitiesType"/>
+      <xs:element name="WpsCapabilities" type="mb:WpsCapabilitiesType"/>
+      <xs:element name="WpsDescribeProcess" type="mb:WpsDescribeProcessType"/>
+    </xs:choice>
+  </xs:complexType>
+  <xs:complexType name="widgetsType">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element name="Abstract" type="mb:WidgetType"/>
+      <xs:element name="AoiBoxOL" type="mb:AoiBoxOLType"/>
+      <xs:element name="AoiForm" type="mb:AoiFormType"/>
+      <xs:element name="Back" type="mb:ButtonType"/>
+      <xs:element name="Button" type="mb:ButtonType">
+        <xs:annotation>
+          <xs:documentation>A generic button</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="CatSearchForm" type="mb:WidgetType"/>
+      <xs:element name="CollectionList" type="mb:CollectionListType"/>
+      <xs:element name="CursorTrack" type="mb:CursorTrackType"/>
+      <xs:element name="DeleteFeature" type="mb:DeleteFeatureType"/>
+      <xs:element name="DragPan" type="mb:ButtonType"/>
+      <xs:element name="EditLine" type="mb:EditButtonBaseType"/>
+      <xs:element name="EditPoint" type="mb:EditButtonBaseType"/>
+      <xs:element name="EditPolygon" type="mb:EditButtonBaseType"/>
+      <xs:element name="EventLog" type="mb:WidgetType"/>
+      <xs:element name="ExampleList" type="mb:WidgetType"/>
+      <xs:element name="FeatureInfo" type="mb:WidgetType"/>
+      <xs:element name="FeatureList" type="mb:WidgetType"/>
+      <xs:element name="FilterAttributes" type="mb:WidgetType"/>
+      <xs:element name="Forward" type="mb:ButtonType"/>
+      <xs:element name="GetFeatureInfo" type="mb:GetFeatureInfoType"/>
+      <xs:element name="GetFeatureInfoWSR" type="mb:GetFeatureInfoWSRType"/>
+      <xs:element name="GmlRendererConfig" type="mb:GmlRendererConfigType"/>
+      <xs:element name="GmlRendererOL" type="mb:GmlRendererOLType"/>
+      <xs:element name="Graticule" type="mb:GraticuleType"/>
+      <xs:element name="InsertFeature" type="mb:InsertFeatureType"/>
+      <xs:element name="LayerControl" type="mb:LayerControlType"/>
+      <xs:element name="Legend" type="mb:LegendType"/>
+      <xs:element name="LegendGraphic" type="mb:LegendGraphicType"/>
+      <xs:element name="Loading2" type="mb:Loading2Type"/>
+      <xs:element name="Locations" type="mb:LocationsType"/>
+      <xs:element name="MapPaneOL" type="mb:MapPaneOLType"/>
+      <xs:element name="MapScaleBar" type="mb:MapScaleBarType"/>
+      <xs:element name="MapScaleText" type="mb:MapScaleTextType"/>
+      <xs:element name="MapTitle" type="mb:WidgetType"/>
+      <xs:element name="Measurement" type="mb:EditButtonBaseType"/>
+      <xs:element name="ModelStatus" type="mb:ModelStatusType"/>
+      <xs:element name="ModelUrlInput" type="mb:ModelUrlInputType"/>
+      <xs:element name="OpenLSForm" type="mb:OpenLSFormType"/>
+      <xs:element name="OpenLSResponse" type="mb:OpenLSResponseType"/>
+      <xs:element name="OverviewMap" type="mb:OverviewMapType"/>
+      <xs:element name="PanZoomBar" type="mb:PanZoomBarType"/>
+      <xs:element name="Reset" type="mb:ButtonType"/>
+      <xs:element name="Save" type="mb:SaveType"/>
+      <xs:element name="SaveModel" type="mb:SaveModelType"/>
+      <xs:element name="SearchWidget" type="mb:SearchWidgetType"/>
+      <xs:element name="SelectAllMapLayers" type="mb:WidgetType"/>
+      <xs:element name="SelectFeatureType" type="mb:WidgetType"/>
+      <xs:element name="SelectFromAtomFeed" type="mb:SelectFromAtomFeedType"/>
+      <xs:element name="SelectMapLayers" type="mb:WidgetType"/>
+      <xs:element name="SelectTimeFrame" type="mb:WidgetType"/>
+      <xs:element name="ServiceRegistryList" type="mb:WidgetType"/>
+      <xs:element name="SetAoi" type="mb:ButtonType"/>
+      <xs:element name="SLDEditor" type="mb:WidgetType"/>
+      <xs:element name="ShowDistance" type="mb:WidgetType"/>
+      <xs:element name="TabbedContent" type="mb:TabbedContentType"/>
+      <xs:element name="Timestamp" type="mb:TimestampType"/>
+      <xs:element name="TipWidgetOL" type="mb:TipWidgetOLType"/>
+      <xs:element name="TipWidgetConfig" type="mb:TipWidgetConfigType"/>
+      <xs:element name="TransactionResponse" type="mb:WidgetType"/>
+      <xs:element name="Version" type="mb:WidgetType"/>
+      <xs:element name="WebServiceForm" type="mb:WebServiceFormType"/>
+      <xs:element name="WfsGetFeature" type="mb:WfsGetFeatureType"/>
+      <xs:element name="Widget" type="mb:WidgetType">
+        <xs:annotation>
+          <xs:documentation>A generic widget</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="ZoomIn" type="mb:ButtonType"/>
+      <xs:element name="ZoomOut" type="mb:ButtonType"/>
+    </xs:choice>
+  </xs:complexType>
+  <xs:complexType name="toolsType">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element name="Caps2Context" type="mb:Caps2ContextType"/>
+      <xs:element name="EditContext" type="mb:EditContextType"/>
+      <xs:element name="EditSLD" type="mb:EditSLDType"/>
+      <xs:element name="FeatureSelectHandler" type="mb:FeatureSelectHandlerType"/>
+      <xs:element name="History" type="mb:HistoryType"/>
+      <xs:element name="MergeModels" type="mb:MergeModelsType"/>
+      <xs:element name="MovieLoop" type="mb:MovieLoopType"/>
+      <xs:element name="Timer" type="mb:TimerType"/>
+      <xs:element name="WebServiceRequest" type="mb:WebServiceRequestType"/>
+      <xs:element name="ZoomToAoi" type="mb:ZoomToAoiType"/>
+    </xs:choice>
+  </xs:complexType>
+
+  <!-- global model extension types; Models type represent different types of XML documents. Use Model for a generic XML document where no customization or specialized methods are required-->
+  <xs:complexType name="ContextType">
+    <xs:annotation>
+      <xs:documentation>A Web Map Context document as specified by the Open Geospatial Consortium (http://www.opengeospatial.org/docs/03-036r2.pdf)</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="FeatureCollectionType">
+    <xs:annotation>
+      <xs:documentation>A representation of a geographic Feature or Feature Collection in GML as specified by the Open Geospatial Consortium (http://www.opengeospatial.org/docs/02-069.pdf) </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType">
+        <xs:sequence>
+          <xs:element name="featureTagName" type="xs:string" minOccurs="0"/>
+          <xs:element name="coordsTagName" type="xs:string" minOccurs="0"/>
+          <xs:element name="coordSelectXpath" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="GeoRSSType">
+    <xs:annotation>
+      <xs:documentation>GeoRSS</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:ModelType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="LoggerType">
+    <xs:annotation>
+      <xs:documentation>Records a log of events that occur over the course of mapbuilder execution</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ModelType">
+    <xs:annotation>
+      <xs:documentation>A generic base document type to handle any XML document (without any specialized methods)</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="OwsCatResourcesType">
+    <xs:annotation>
+      <xs:documentation>TBD</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:FeatureCollectionType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="StyledLayerDescriptorType">
+    <xs:annotation>
+      <xs:documentation>Stores an SLD file as defined by the Open Geospatial Consortium (http://www.opengeospatial.org/)</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType">
+        <xs:sequence>
+          <xs:element name="sldXPath" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>XPath pointing to the sld root node within the model. This is useful for extracting sld information from eg. wmc context documents</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TransactionType">
+    <xs:annotation>
+      <xs:documentation>A response from a WFS Transaction operation</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WfsCapabilitiesType">
+    <xs:annotation>
+      <xs:documentation>A document describing the capabilities of an OGC Web Feature Service (WFS) as specified by the Open Geospatial Consortium (https://portal.opengeospatial.org/files/?artifact_id=7176)</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WmsCapabilitiesType">
+    <xs:annotation>
+      <xs:documentation>A document describing the capabilities of an OGC Web Map Service (WMS) as specified by the Open Geospatial Consortium (http://portal.opengeospatial.org/files/?artifact_id=5316)</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WpsCapabilitiesType">
+    <xs:annotation>
+      <xs:documentation/>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WpsDescribeProcessType">
+    <xs:annotation>
+      <xs:documentation/>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractModelBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <!-- global widget extension types -->
+  <xs:complexType name="AoiBoxOLType">
+    <xs:annotation>
+      <xs:documentation>A widget to display a map container model's AOI box</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="AoiFormType">
+    <xs:annotation>
+      <xs:documentation>Displays a form with North, South, East, West coordinates to read and set the model AOI</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+          <xs:element name="formName" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ButtonType">
+    <xs:annotation>
+      <xs:documentation>A generic instance of a ButtonBase object</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractButtonBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SelectFromAtomFeedType">
+    <xs:annotation>
+      <xs:documentation>A widget which displays a selectable list of elements from an atom feed. When the element is selected, the referenced atom XML document is loaded into the targetModel. This can be used to render a list of Context documents, then load the selected Context when selected.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CollectionListType">
+    <xs:annotation>
+      <xs:documentation>A widget to display a list of context documents contained in a ContextCollection</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CursorTrackType">
+    <xs:annotation>
+      <xs:documentation>A widget to display the mouse coordinates when it is over a MapPane</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="showPx" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="showXY" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="showLatLong" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="showDMS" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="showDM" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="showMGRS" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="precision" type="xs:integer" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="DeleteFeatureType">
+    <xs:annotation>
+      <xs:documentation>When this button is selected, a WFS DeleteFeature request is build from the targetModel and posted to the WFS.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractButtonBaseType">
+        <xs:sequence>
+          <xs:element name="transactionResponseModel" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The model which will be populated with the server response from a transaction request.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="webServiceUrl" type="mb:urlPathType" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The base URL of the Web Service that will be queried.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+   <xs:complexType name="ExampleList">
+    <xs:annotation>
+      <xs:documentation>A very specific widget to render the same example menu on all examples.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="EditButtonBaseType">
+    <xs:annotation>
+      <xs:documentation>After this button is selected, clicks on a MapPane will add a GML coord to a Line the targetModel FeatureCollection.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractButtonBaseType">
+        <xs:sequence>
+          <xs:element name="transactionResponseModel" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The model which will be populated with the server response from a transaction request.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="appendOnEdit" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>Should a new empty feature be appended to the model after creating one? Default is true.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="featureXpath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>Xpath of the gml:coordinates in the FeatureCollection that will be updated.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="defaultModelUrl" type="mb:urlPathType">
+            <xs:annotation>
+              <xs:documentation>URL to an XML file which contains a default FeatureCollect.  The XML will be loaded into the targetModel when this button is selected.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="GetFeatureInfoType">
+    <xs:annotation>
+      <xs:documentation>A response from a WMS for a GetFeatureInfo operation</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractButtonBaseType">
+        <xs:sequence>
+          <xs:element name="stylesheet" type="xs:string" minOccurs="0"/>
+          <xs:element name="infoFormat" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The Content-Type for the feature request.  Either application/vnd.ogc.gml or text/html; defaults to application/vnd.ogc.gml</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="featureCount" type="xs:integer" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="GetFeatureInfoWSRType">
+    <xs:annotation>
+      <xs:documentation>A response from a WMS for a GetFeatureInfo operation</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractButtonBaseType">
+        <xs:sequence>
+          <xs:element name="controller" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Controller that handles the request. This has to point to the id of a WebServiceRequest tool.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="GmlRendererBaseType">
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseType">
+        <xs:sequence>
+          <xs:element name="featureSRS" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>SRS of the features to display. If not specified, the map SRS is assumed.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="sldModel" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>id of a StyledLayerDescriptor model that holds sld styles for the features to render.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="defaultStyleName" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Name of the user style in the sld model that should be used to render features.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="selectStyleName" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Name of the user style in the sld model that should be used to render features when they are selected (eg. when hovered with the mouse).</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="hoverCursor" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>CSS cursor type of the cursor that should be used when hovering over features. This will have no effect if there is no FeatureSelectHandler tool attached to the target model.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="GmlRendererConfigType">
+    <xs:annotation>
+      <xs:documentation>Configuration widget for a GmlRendererOL in a MergeModel. Because only one GmlRendererLayer can handle events, multiple vector layers that require user interaction (like hover/click) effects are merged into a MergeModel. GmlRendererConfig makes it possible to use different configurations (eg. sld styling) for sourceModels.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:GmlRendererBaseType">
+        <xs:sequence>
+          <xs:element name="targetWidget" type="xs:string"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="GmlRendererOLType">
+    <xs:annotation>
+      <xs:documentation>A widget to render GML document using OpenLayers vector rendering</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:GmlRendererBaseType">
+        <xs:sequence>
+          <xs:element name="stylesheet" type="mb:urlPathType" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>this property specifies a relative or absolute URL to a stylesheet that can replace the default stylesheet.  The stylesheet must be served from the same domain as the mapbuilder application.  Optional, if missing a default stylesheet will be used (in the lib/widget directory with the same name as the widget)</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="featureOnClick" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>id of a widget that performs onClick action when a feature is clicked.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="featureOnHover" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>id of a widget that performs onHover action when a feature is hovered.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="GraticuleType">
+    <xs:annotation>
+      <xs:documentation>tbd</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractButtonBaseType">
+        <xs:sequence>
+          <xs:element name="color" type="xs:string"/>
+          <xs:element name="mapContainerId" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>Used to assign an ID to a container DIV element for 2 dimensional map widgets.  Multiple widgets may share this container for rendering their output. The first model encountered in the config file using this ID becomes the "source" model for this widget so that extent, AOI and orther map related data can be shared by multiple models.   Required.  </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="InsertFeatureType">
+    <xs:annotation>
+      <xs:documentation>When this button is selected, a WFS InsertFeature request is build from the targetModel and posted to the WFS.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractButtonBaseType">
+        <xs:sequence>
+          <xs:element name="transactionResponseModel" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The model which will be populated with the server response from a transaction request.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="webServiceUrl" type="mb:urlPathType" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The base URL of the Web Service that will be queried.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="LayerControlType">
+    <xs:annotation>
+      <xs:documentation>A widget for layer control.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:WidgetType">
+        <xs:sequence>
+          <xs:element name="opacity" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="legendImageEnable" type="mb:urlPathType" minOccurs="0"/>
+          <xs:element name="legendImageDisable" type="mb:urlPathType" minOccurs="0"/>
+          <xs:element name="moveUpImage" type="mb:urlPathType"/>
+          <xs:element name="moveDownImage" type="mb:urlPathType"/>
+          <xs:element name="deleteImage" type="mb:urlPathType"/>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="LegendType">
+    <xs:annotation>
+      <xs:documentation>Simple legend for context documents, includes layer title and visibility checkbox</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="LegendGraphicType">
+    <xs:annotation>
+      <xs:documentation>Render and update a Legend from a Web Map Context.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="Loading2Type">
+    <xs:annotation>
+      <xs:documentation>A widget to render a "loading..." message.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseType">
+        <xs:sequence>
+          <xs:element name="mapContainerId" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Used to assign an ID to a container DIV element for 2 dimensional map widgets.  Multiple widgets may share this container for rendering their output. The first model encountered in the config file using this ID becomes the "source" model for this widget so that extent, AOI and orther map related data can be shared by multiple models.   Optional.  </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="imageSrc" type="mb:urlPathType" minOccurs="0"/>
+          <xs:element name="textMessage" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="LocationsType">
+    <xs:annotation>
+      <xs:documentation>A widget to display contents of a Locations GML model (quick View presets or gazetteer output) and allow setting the AOI/zoom area for a Context model</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="selectSize" type="xs:integer" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>defines the size of the select box, i.e. how many lines show in the scroll box; defaults to 1</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MapPaneOLType">
+    <xs:annotation>
+      <xs:documentation>Widget to render a map from an OGC context document.  The layers are rendered using http://openlayers.org .</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseType">
+        <xs:sequence>
+          <xs:element name="loadingSrc" type="mb:urlPathType" minOccurs="0"/>
+          <xs:element name="maxExtent" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Sets the maximum extent of the map. This is not the initial extent when the map is loaded (that's the bounding box from the context), but it is the maximum extent that the user can navigate around in.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="maxResolution" type="xs:double" minOccurs="0"/>
+          <xs:element name="minResolution" type="xs:double" minOccurs="0"/>
+          <xs:element name="resolutions" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Set a list of fixed resolutions for OL manually.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="fixedSize" type="xs:boolean" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>if this is set to true, the size will be taken from the context doc. Otherwise, it is dynamically taken from the parent element.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+           <xs:element name="singleTile" type="xs:boolean" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>if this is set to false, a WMS layer will be requested according to the tileschema of the baselayer. Otherwise, it will request a single tile.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+           <xs:element name="transitionEffect" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>For untiled wms layers: if set to "resize", map will not disappear while panning and zooming.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="tileGutter" type="xs:int" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>For tiled wms layers: Overlap of map tiles in pixels. Useful for preventing rendering artefacts at tile edges. Recommended values: 0-15, default is 0 (no gutter at all).</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="tileBuffer" type="xs:int" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>For tiled wms layers: how many rows of tiles should be preloaded outside the visible map? Large values mean slow loading, small ones mean longer delays when panning. Recommended values: 1-3, default is 2.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="tileSize" type="xs:int" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>For tiled wms layers: how many pixels should the size of one tile be? Default is 256.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="imageBuffer" type="xs:float" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>for untiled wms layers: how many times should the map image be larger than the visible map. Large values mean slow loading, small ones mean many reloads when panning. Recommended values: 1-3, default is 2.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="displayOutsideMaxExtent" type="xs:boolean" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Should layers also be rendered outside the map extent? Default is false.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="imageReproject" type="xs:boolean" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Should layers be reprojected? Mainly used in combination with google map layers. Default is false.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MapScaleBarType">
+    <xs:annotation>
+      <xs:documentation>A widget to graphically display the map scale</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseType">
+        <xs:sequence>
+          <xs:element name="displaySystem" type="xs:string" minOccurs="0"/>
+          <xs:element name="minWidth" type="xs:integer" minOccurs="0"/>
+          <xs:element name="maxWidth" type="xs:integer" minOccurs="0"/>
+          <xs:element name="divisions" type="xs:integer" minOccurs="0"/>
+          <xs:element name="subdivisions" type="xs:integer" minOccurs="0"/>
+          <xs:element name="showMinorMeasures" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="abbreviateLabel" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="singleLine" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="align" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MapScaleTextType">
+    <xs:annotation>
+      <xs:documentation>A widget to read and write the map scale value</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ModelStatusType">
+    <xs:annotation>
+      <xs:documentation>Widget to display the status of a model, repainted whenever the model status param is set.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ModelUrlInputType">
+    <xs:annotation>
+      <xs:documentation>A widget which displays the model URL in a form which also allows the URL to be modified</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="defaultUrl" type="mb:urlPathType" minOccurs="0"/>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="OpenLSFormType">
+    <xs:annotation>
+      <xs:documentation>Widget to display the OpenLS request form.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="defaultModelUrl" type="mb:urlPathType"/>
+          <xs:element name="geocodeServerUrl" type="mb:urlPathType"/>
+          <xs:element name="formName" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="OpenLSResponseType">
+    <xs:annotation>
+      <xs:documentation>Render the response from a Geocoding request.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="OverviewMapType">
+    <xs:annotation>
+      <xs:documentation>Render an overview map from the main map; if neither width nor height are defined, uses the OL default of (180,90).</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseType">
+        <xs:sequence>
+          <xs:element name="width" type="xs:integer" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The width of the overview map; optional. If only width is given and not height, determines the height from the aspect ratio of the main map.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="height" type="xs:integer" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The height of the overview map; optional. If only height is given and not width, determines the width from the aspect ratio of the main map.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="minRatio" type="xs:integer" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Resolution ratio to main map where zooming out will occur.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="maxRatio" type="xs:integer" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>Resolution ratio to main map where zooming in will occur.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="layers" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The list of layer names from the main map context to show in the overview map. If not given, the overview map defaults to just the base layer of the main map.</xs:documentation>
+            </xs:annotation>
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="layerName" type="xs:string" maxOccurs="unbounded">
+                  <xs:annotation>
+                    <xs:documentation>The name of the layer from the main map context to show in the overview map.</xs:documentation>
+                  </xs:annotation>
+                </xs:element>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="PanZoomBarType">
+    <xs:annotation>
+      <xs:documentation>An OpenLayers-style PanZoomBar widget that is drawn on the main map.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SaveType">
+    <xs:annotation>
+      <xs:documentation>After this button is selected, the Web Map Context is saved on the users local computer.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractButtonBaseType">
+        <xs:sequence>
+          <xs:element name="popupWindowName" type="xs:string"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SaveModelType">
+    <xs:annotation>
+      <xs:documentation>A widget that provides a link to the initial model URL and a link tosave the current model document to disk (to be deprecated for a tool)</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="serializeUrl" type="mb:urlPathType" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SearchWidgetType">
+    <xs:annotation>
+      <xs:documentation>Widget to display a form to input any model's URL and load the new URL as the model's document.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="host" type="xs:anyURI"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TabbedContentType">
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="tab" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TimestampType">
+    <xs:annotation>
+      <xs:documentation>A timestamp listener to show the current timestamp value in a form.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="title" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TipWidgetBaseType">
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="width" type="xs:integer" minOccurs="0"/>
+          <xs:element name="height" type="xs:integer" minOccurs="0"/>
+          <xs:element name="opacity" type="xs:float" minOccurs="0"/>
+          <xs:element name="backgroundColor" type="xs:string" minOccurs="0"/>
+          <xs:element name="border" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>CSS border definition</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TipWidgetConfigType">
+    <xs:annotation>
+      <xs:documentation>Configuration widget for a TipWidgetOL in a MergeModel. Because only one GmlRendererLayer can handle events, multiple vector layers that require user interaction (like hover/click) effects are merged into a MergeModel. TipWidgetConfig makes it possible to use different configurations (eg width, height, content) for sourceModels.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:TipWidgetBaseType">
+        <xs:sequence>
+          <xs:element name="targetWidget" type="xs:string"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TipWidgetOLType">
+    <xs:annotation>
+      <xs:documentation>Popup using OpenLayers popups.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:TipWidgetBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WebServiceFormType">
+    <xs:annotation>
+      <xs:documentation>A widget of config to input simple parameters to be submitted to a web service.  Output is sent to the targetModel.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType">
+        <xs:sequence>
+          <xs:element name="requestStylesheet" type="mb:urlPathType" minOccurs="0"/>
+          <xs:element name="webServiceUrl" type="xs:anyURI" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WfsGetFeatureType">
+    <xs:annotation>
+      <xs:documentation>After this button is selected, clicks on a MapPane will initiate a WFS GetFeature GET request and the result will be stored in the targetModel FeatureCollection.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractButtonBaseType">
+        <xs:sequence>
+          <xs:element name="transactionResponseModel" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>The model which will be populated with the server response.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="webServiceUrl" type="mb:urlPathType">
+            <xs:annotation>
+              <xs:documentation>The base URL of the Web Service that will be queried.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="webServiceSrs" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>The SRS to be used when requesting features from the server.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="typeName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>A comma separated list of layers to query.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="tolerance" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The number of pixels around the click point that are included in the query; tolerance=0 means a Bbox of 1x1 pixel is queried, tolerance=1 means a Bbox of 3x3 is queried, tolerance=2 means a Bbox of 5x5 is queried.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="maxFeatures" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>The maximum number of features returned by the query.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WidgetType">
+    <xs:annotation>
+      <xs:documentation>A generic widget which will simply process a model with a stylesheet - no specialized listeners provided</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractWidgetBaseXSLType"/>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <!-- global tool extension types -->  
+  <xs:complexType name="Caps2ContextType">
+    <xs:annotation>
+      <xs:documentation>A tool which builds a Web Map Context document from a Web Map Capabilities document.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="EditContextType">
+    <xs:annotation>
+      <xs:documentation>Tool which manipulates the Layer list of a Web Map Context document.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="EditSLDType">
+    <xs:annotation>
+      <xs:documentation>TBD</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="HistoryType">
+    <xs:annotation>
+      <xs:documentation>A tool to navigate in the map extent history</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MergeModelsType">
+    <xs:annotation>
+      <xs:documentation>A tool that can combine other models from the config that have the same structure. It is designed for models that hold features with a unique feature id in a parameter called "fid". This is useful eg. for packing all GML rendering into a single GmlRendererOL.</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType">
+        <xs:sequence>
+          <xs:element name="merges">
+            <xs:annotation>
+              <xs:documentation>a list of models that are to be merged into the model that this tool belongs to.</xs:documentation>
+            </xs:annotation>
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="merge" maxOccurs="unbounded">
+                  <xs:annotation>
+                    <xs:documentation>id of a model to merge with the model that this tool belongs to.</xs:documentation>
+                  </xs:annotation>
+                </xs:element>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="FeatureSelectHandlerType">
+    <xs:annotation>
+      <xs:documentation>Adds a handler to the map that allows selection of features (eg. for highlighting them on mouseover)</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MovieLoopType">
+    <xs:annotation>
+      <xs:documentation/>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType">
+        <xs:sequence>
+          <xs:element name="framesPerSecond" type="xs:integer" minOccurs="0"/>
+          <xs:element name="maxFrames" type="xs:integer" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TimerType">
+    <xs:annotation>
+      <xs:documentation>TBD</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType">
+        <xs:sequence>
+          <xs:element name="autoStart" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="eventName" type="xs:string" minOccurs="0"/>
+          <xs:element name="eventValue" type="xs:string" minOccurs="0"/>
+          <xs:element name="every" type="xs:integer" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WebServiceRequestType">
+    <xs:annotation>
+      <xs:documentation>A tool which will generate web service requests from a node from the parent model. Widgets using this tool end with WSR, eg. GetFeatureInfoWSR</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType">
+        <xs:sequence>
+          <xs:element name="stylesheet" type="xs:string" minOccurs="0"/>
+          <xs:element name="requestName" type="xs:string"/>
+          <xs:element name="requestFilter" type="xs:string" minOccurs="0"/>
+          <xs:element name="maxFeatures" type="xs:integer" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>MAXFEATURES parameter, e.g. for WFS GetFeature. Defaults to 500.</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="infoFormat" type="xs:string" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>INFO_FORMAT parameter, e.g. for WMS GetFeatureInfo</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="featureCount" type="xs:integer" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>FEATURE_COUNT parameter, eg. for WMS GetFeatureInfo</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="maxFeatures" type="xs:integer" minOccurs="0">
+            <xs:annotation>
+              <xs:documentation>maxFeatures parameter, eg. for WFS GetFeature</xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ZoomToAoiType">
+    <xs:annotation>
+      <xs:documentation>A tool reset the model extent to the AOI </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="mb:AbstractToolBaseType"/>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <!--utility types-->
+  <xs:simpleType name="idType">
+    <xs:restriction base="xs:ID"/>
+  </xs:simpleType>
+  <xs:simpleType name="urlPathType">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:complexType name="tooltipType">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:attribute ref="xml:lang"/>
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="httpMethodType">
+    <xs:simpleContent>
+      <xs:extension base="xs:string"/>
+    </xs:simpleContent>
+  </xs:complexType>
 </xs:schema>
Index: lib/spatial/mapbuilder/lib/widget/WidgetBaseXSL.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/WidgetBaseXSL.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/WidgetBaseXSL.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: WidgetBaseXSL.js 3892 2008-02-29 18:21:12Z ahocevar $
 */
 
 mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
@@ -17,6 +17,7 @@
  * All stylesheets will have "modelId" and "widgetId" parameters set when called.
  *
  * @constructor
+ * @base WidgetBase
  * @author Mike Adair 
  * @param widget      Pointer to the widget instance being created
  * @param widgetNode  The widget's XML object node from the configuration document.
@@ -29,31 +30,27 @@
   // Set this.stylesheet
   // Defaults to "widget/<widgetName>.xsl" if not defined in config file.
   if ( !this.stylesheet ) {
-    var styleNode = widgetNode.selectSingleNode("mb:stylesheet");
-    if (styleNode ) {
-      this.stylesheet = new XslProcessor(styleNode.firstChild.nodeValue,model.namespace);
-    } else {
-      this.stylesheet = new XslProcessor(baseDir+"/widget/"+widgetNode.nodeName+".xsl",model.namespace);
-    }
+    this.stylesheet = new XslProcessor(this.getProperty("mb:stylesheet", baseDir+"/widget/"+widgetNode.nodeName+".xsl", model.namespace));
   }
 
+  // Do we allow to parse HTML nodes?
+  this.parseHTMLNodes = Mapbuilder.parseBoolean(this.getProperty("mb:parseHTMLNodes", false));
+
   // Set widget text values as parameters 
   if (config.widgetText) {
     var textNodeXpath = "/mb:WidgetText/mb:widgets/mb:" + widgetNode.nodeName;
     var textParams = config.widgetText.selectNodes(textNodeXpath+"/*");
     for (var j=0;j<textParams.length;j++) {
-      this.stylesheet.setParameter(textParams[j].nodeName,textParams[j].firstChild.nodeValue);
+      this.stylesheet.setParameter(textParams[j].nodeName,getNodeValue(textParams[j]));
     }
   }
 
   // Set stylesheet parameters for all the child nodes from the config file
   for (var j=0;j<widgetNode.childNodes.length;j++) {
-    if (widgetNode.childNodes[j].firstChild
-      && widgetNode.childNodes[j].firstChild.nodeValue)
+    if (widgetNode.childNodes[j].firstChild)
     {
       this.stylesheet.setParameter(
-        widgetNode.childNodes[j].nodeName,
-        widgetNode.childNodes[j].firstChild.nodeValue);
+        widgetNode.childNodes[j].nodeName, widgetNode.childNodes[j].firstChild.nodeValue);
     }
   }
 
@@ -68,19 +65,23 @@
    * Render the widget.
    * @param objRef Pointer to widget object.
    */
-  this.paint = function(objRef, refresh) {
+  this.paint = function(objRef, refreshId) {
 
-    if (objRef.model.doc && objRef.node && (objRef.autoRefresh||refresh) ) {
+    //pass in a widget ID to refresh only that widget
+    if (refreshId && (refreshId!=objRef.id)) return;
+
+    if (objRef.model.doc && objRef.getNode()) {
       objRef.stylesheet.setParameter("modelUrl", objRef.model.url);
       objRef.stylesheet.setParameter("targetModelId", objRef.targetModel.id );
 
-      //if (objRef.debug) alert("source:"+Sarissa.serialize(objRef.model.doc));
+      //if (objRef.debug) mbDebugMessage(objRef, "source:"+(new XMLSerializer()).serializeToString(objRef.model.doc));
       objRef.resultDoc = objRef.model.doc; // resultDoc sometimes modified by prePaint()
+      objRef.model.setParam("prePaint", objRef);
       objRef.prePaint(objRef);
 
       //confirm inputs
-      if (objRef.debug) alert("prepaint:"+Sarissa.serialize(objRef.resultDoc));
-      if (objRef.debug) alert("stylesheet:"+Sarissa.serialize(objRef.stylesheet.xslDom));
+      if (objRef.debug) mbDebugMessage(objRef, "prepaint:"+(new XMLSerializer()).serializeToString(objRef.resultDoc));
+      if (objRef.debug) mbDebugMessage(objRef, "stylesheet:"+(new XMLSerializer()).serializeToString(objRef.stylesheet.xslDom));
 
       //set to output to a temporary node
       //hack to get by doc parsing problem in IE
@@ -91,33 +92,24 @@
       //process the doc with the stylesheet
       var s = objRef.stylesheet.transformNodeToString(objRef.resultDoc);
       if (config.serializeUrl && objRef.debug) postLoad(config.serializeUrl, s);
-      if (objRef.debug) alert("painting:"+objRef.id+":"+s);
-      tempNode.innerHTML = s;
+      if (objRef.debug) mbDebugMessage(objRef, "painting:"+objRef.id+":"+s);
+      tempNode.innerHTML = objRef.parseHTMLNodes ? Sarissa.unescape(s) : s;
       if( tempNode.firstChild != null ) { //Could be null!
         tempNode.firstChild.setAttribute("id", objRef.outputNodeId);
 
-	    //look for this widgets output and replace if found,
-	    //otherwise append it
-	    if (outputNode) {
-	      objRef.node.replaceChild(tempNode.firstChild,outputNode);
-	    } else {
-	      objRef.node.appendChild(tempNode.firstChild);
-	    }
+  	    //look for this widgets output and replace if found,
+  	    //otherwise append it
+  	    if (outputNode) {
+  	      objRef.getNode().replaceChild(tempNode.firstChild,outputNode);
+  	    } else {
+  	      objRef.getNode().appendChild(tempNode.firstChild);
+  	    }
       }
       objRef.postPaint(objRef);
+      objRef.model.setParam("postPaint", objRef);
     }
   }
   // Call paint when model changes
   this.model.addListener("refresh",this.paint, this);
 
-  /**
-   * Remove widget from display.
-   * @param objRef Pointer to this object.
-   */ 
-  this.clearWidget = function(objRef) {
-    //with objRef.node remove child
-    var outputNode = document.getElementById( objRef.outputNodeId );
-    if (outputNode) objRef.node.removeChild(outputNode);
-  }
-  this.model.addListener("newModel",this.clearWidget, this);
 }
Index: lib/spatial/mapbuilder/lib/widget/WebServiceForm.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/WebServiceForm.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/WebServiceForm.js	(revision 4307)
@@ -2,11 +2,12 @@
 Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
 License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: WebServiceForm.js 3879 2008-02-27 14:20:29Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
 mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+//mapbuilder.loadScript(baseDir+"/util/dojo/src/uuid/TimeBasedGenerator.js");
 
 /**
  * Widget to display a form for input of parameters to generate a web service 
@@ -26,28 +27,80 @@
 function WebServiceForm(widgetNode, model) {
   WidgetBaseXSL.apply(this,new Array(widgetNode, model));
   this.formElements = new Object();
-
+  // We might have a request stylesheet to fill for a more complex post
+  var requestStylesheet = this.getProperty("mb:requestStylesheet");
+  if (requestStylesheet) {
+    this.requestStylesheet = new XslProcessor(requestStylesheet, model.namespace); 
+  }
+  
+  this.webServiceUrl = this.getProperty("mb:webServiceUrl");
+  
   /**
    * Handles submission of the form (via javascript in an <a> tag)
    */
   this.submitForm = function() {
     this.webServiceForm = document.getElementById(this.formName);
-
-    //create the http GET URL
-    //TBD: handle POST submission
-    //TBD: create filter request
-    var webServiceUrl = this.webServiceForm.action + "?";
-    for (var i=0; i<this.webServiceForm.elements.length; ++i) {
-      var element = this.webServiceForm.elements[i];
-      webServiceUrl += element.name + "=" + element.value + "&";
-      this.formElements[element.name] = element.value;
+    if( this.webServiceForm == null ) { 
+      // get it from a user div instead if present
+      this.webServiceForm = document.getElementById("webServiceForm_form");
     }
-    if (this.debug) alert(webServiceUrl);
-
+    
+    if( this.webServiceForm == null ) {
+        
+      return;
+    }
+    
     var httpPayload = new Object();
-    httpPayload.method = "get";
-    httpPayload.url = webServiceUrl;
-    this.targetModel.newRequest(this.targetModel,httpPayload);
+    httpPayload.method = this.targetModel.method;
+    httpPayload.url = this.webServiceUrl;
+    
+    if (httpPayload.method.toLowerCase() == "get") {
+      httpPayload.url = this.webServiceForm.action + "?";
+      for (var i=0; i<this.webServiceForm.elements.length; ++i) {
+        var element = this.webServiceForm.elements[i];
+        webServiceUrl += element.name + "=" + element.value + "&";
+        this.formElements[element.name] = element.value;
+      }  
+      
+      mbDebugMessage(this, httpPayload.url);
+    
+      this.targetModel.newRequest(this.targetModel,httpPayload);
+    
+    } else { 
+        // a post
+        // put parameters we got in request stylesheet
+      for (var i=0; i<this.webServiceForm.elements.length; ++i) {
+        var element = this.webServiceForm.elements[i];
+        this.formElements[element.name] = element.value;
+      }  
+      
+      this.requestStylesheet.setParameter("resourceName", this.formElements["feature"])
+      this.requestStylesheet.setParameter("fromDateField", this.formElements["fromDateField"])
+      this.requestStylesheet.setParameter("toDateField", this.formElements["toDateField"])
+  
+      // @TODO
+      // we need a new uuid if we wnat to uniquely identify new layers  
+      // var uuid = dojo_uuid_TimeBasedGenerator.generate();
+       
+      var layer = this.requestStylesheet.transformNodeToObject(this.model.doc); 
+      //layer.childNodes[0].setAttribute("id", uuid)
+      if (this.debug) mbDebugMessage(this, "Transformed: "+ (new XMLSerializer()).serializeToString(layer));
+           
+      // extract the GetFeature out
+      this.namespace = "xmlns:wmc='http://www.opengis.net/context' xmlns:ows='http://www.opengis.net/ows' xmlns:ogc='http://www.opengis.net/ogc' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs'";
+      
+      Sarissa.setXpathNamespaces(layer, this.namespace);
+      var getFeature = layer.selectSingleNode("//wfs:GetFeature")
+      
+      httpPayload.postData = (new XMLSerializer()).serializeToString( getFeature);
+      
+      mbDebugMessage(this, "httpPayload.postData:"+ httpPayload.postData);
+      
+      this.targetModel.wfsFeature = layer.childNodes[0];
+      if (this.debug) mbDebugMessage(this, "wfsFeature = "+ (new XMLSerializer()).serializeToString(this.targetModel.wfsFeature));
+        
+      this.targetModel.newRequest(this.targetModel,httpPayload);
+    }
   }
 
   /**
@@ -80,6 +133,11 @@
    */
   this.postPaint = function(objRef) {
     objRef.webServiceForm = document.getElementById(objRef.formName);
+    if( this.webServiceForm == null ) { 
+      // get it from a user div instead if present
+      this.webServiceForm = document.getElementById("webServiceForm_form");
+    }
+    
     objRef.webServiceForm.parentWidget = objRef;
     objRef.webServiceForm.onkeypress = objRef.handleKeyPress;
     //objRef.WebServiceForm.onsubmit = objRef.submitForm;
@@ -100,6 +158,32 @@
     }
   }
 
+  /**
+    * Setup the listener for AOI changes to be used in filter if necessary
+    */
+  this.setAoiParameters = function(objRef,bbox) {
+    if (objRef.model) {
+      var featureSRS = null;
+      var containerSRS = objRef.model.getSRS();
+     
+      objRef.requestStylesheet.setParameter("bBoxMinX", bbox[0][0] );
+      objRef.requestStylesheet.setParameter("bBoxMinY", bbox[1][1] );
+      objRef.requestStylesheet.setParameter("bBoxMaxX", bbox[1][0] );
+      objRef.requestStylesheet.setParameter("bBoxMaxY", bbox[0][1] );
+      objRef.requestStylesheet.setParameter("srs", containerSRS );
+      objRef.requestStylesheet.setParameter("width", objRef.model.getWindowWidth() );
+      objRef.requestStylesheet.setParameter("height", objRef.model.getWindowHeight() );
+    }
+  }
 
+  this.init = function(objRef) {
+    if (objRef.model) {
+      objRef.model.addListener("aoi", objRef.setAoiParameters, objRef);
+      //TBD: another one for bbox
+    }
+  }
+  
+  this.model.addListener("init", this.init, this);
+
 }
 
Index: lib/spatial/mapbuilder/lib/widget/Save.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Save.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Save.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: Save.js 3052 2007-08-01 21:25:21Z ahocevar $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -21,39 +21,26 @@
 function Save(widgetNode, model) {
   ButtonBase.apply(this, new Array(widgetNode, model));
 
-  /**
-   * Calls the targetModel's saveModel() method to serialize the model document.
-   * @param objRef      Pointer to this AoiMouseHandler object.
+ /**
+   * Save model control.
+   * @param objRef reference to this object.
+   * @return {OpenLayers.Control} instance of the OL control.
    */
-  this.doSelect = function(selected,objRef) {
-    if (selected) {
-      objRef.targetModel.saveModel(objRef.targetModel);
-    }
+  this.createControl = function(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+    
+      type: OpenLayers.Control.TYPE_BUTTON,
+      
+      trigger: function () {
+       		this.map.mbMapPane.targetModel.saveModel(this.map.mbMapPane.targetModel);  
+                 
+            
+       },
+       CLASS_NAME: 'mbControl.Save'
+  });
+  return Control;
   }
 
-  /**
-   * opens a saved model in a popup window
-   * @param objRef Pointer to this SaveModel object.
-   */
-  this.savedModelPopup = function(objRef, fileUrl) {
-    window.open(fileUrl, this.popupWindowName);
-  }
-
-  /**
-   * set a "modelSaved" listener to call the opoup window opener
-   * @param objRef Pointer to this SaveModel object.
-   */
-  this.initReset = function(objRef) {
-    objRef.targetModel.addListener("modelSaved",objRef.savedModelPopup, objRef);
-  }
-
-  //if popupWindowName is specified in config, then add a modelSaved listener 
-  var popupWindowName = widgetNode.selectSingleNode("mb:popupWindowName");
-  if (popupWindowName) {
-    this.popupWindowName = popupWindowName.firstChild.nodeValue;
-    this.model.addListener("init",this.initReset, this);
-  }
-
 }
 
 
Index: lib/spatial/mapbuilder/lib/widget/SelectFromAtomFeed.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/SelectFromAtomFeed.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/SelectFromAtomFeed.js	(revision 4307)
@@ -0,0 +1,32 @@
+/*
+Author:       Cameron Shorter cameronAtshorter.net
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: SelectFromAtomFeed.js 3888 2008-02-27 18:25:45Z ahocevar $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * A widget which displays a list of atom elements to select from. The
+ * selected element's URL is loaded as a model, usually a context model.
+ * @constructor
+ * @base WidgetBaseXSL
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+
+function SelectFromAtomFeed(widgetNode, model) {
+  WidgetBaseXSL.apply(this,new Array(widgetNode, model));
+
+  /**
+   * Switch to another model (usually a map context).
+   * This function is called from SelectFromAtomFeed.xsl
+   * @param objRef this widget
+   * @modelUrl the URL of the XML we want to switch to.
+   */
+  SelectFromAtomFeed.prototype.switchModel=function(objRef, modelUrl) {
+    config.loadModel( this.targetModel.id, modelUrl );
+  }
+}
Index: lib/spatial/mapbuilder/lib/widget/Loading.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Loading.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Loading.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: Loading.js 3702 2007-12-09 23:24:11Z ahocevar $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -25,8 +25,11 @@
    * @param objRef Reference to this object.
    */
   this.paint= function(objRef) {
-    while (objRef.node.childNodes.length>0) {
-      objRef.node.removeChild(objRef.node.childNodes[0]);
+    var node = document.getElementById(objRef.htmlTagId);
+    if (node) {
+      while (node.childNodes.length>0) {
+        node.removeChild(node.childNodes[0]);
+      }
     }
   }
   this.model.addListener("refresh",this.paint, this);
Index: lib/spatial/mapbuilder/lib/widget/AoiForm.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/AoiForm.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/AoiForm.xsl	(revision 4307)
@@ -1,75 +1,2 @@
-<?xml version="1.0" encoding="utf-8" standalone="no" ?>
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-<!--
-Description: Output a form for display of the context doc AOI
-Author:      Mike Adair
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-AoiForm.xsl,v 1.2 2004/06/25 17:59:38 madair1 Exp
--->
-
-  <xsl:output method="xml" encoding="utf-8"/>
-
-  <!-- The common params set for all widgets -->
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-
-  <!-- The name of the form for coordinate output -->
-  <xsl:param name="formName">AOIForm</xsl:param>
-
-  <!-- Text params for this widget -->
-  <xsl:param name="title"/>
-  <xsl:param name="north"/>
-  <xsl:param name="south"/>
-  <xsl:param name="east"/>
-  <xsl:param name="west"/>
-  
-  <!-- Main html -->
-  <xsl:template match="/">
-    <div>
-    <form name="{$formName}" id="{$formName}">
-      <table>
-        <tr>
-          <th align="left" colspan="3">
-            <xsl:value-of select="$title"/>
-          </th>
-        </tr>
-        <tr>
-          <td>
-          </td>
-          <td>
-            <xsl:value-of select="$north"/>
-            <input name="northCoord" type="text" size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/>
-          </td>
-          <td>
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <xsl:value-of select="$west"/>
-            <input name="westCoord" type="text" size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/>
-          </td>
-          <td>
-          </td>
-          <td>
-            <xsl:value-of select="$east"/>
-            <input name="eastCoord" type="text" size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/>
-          </td>
-        </tr>
-        <tr>
-          <td>
-          </td>
-          <td>
-            <xsl:value-of select="$south"/>
-            <input name="southCoord" type="text" size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/>
-          </td>
-          <td>
-          </td>
-        </tr>
-      </table>
-    </form>
-    </div>
-  </xsl:template>
-  
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="formName">AOIForm</xsl:param><xsl:param name="title"/><xsl:param name="north"/><xsl:param name="south"/><xsl:param name="east"/><xsl:param name="west"/><xsl:template match="/"><div><form name="{$formName}" id="{$formName}"><table><tr><th align="left" colspan="3"><xsl:value-of select="$title"/></th></tr><tr><td/><td><xsl:value-of select="$north"/><input name="northCoord" type="text" size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/></td><td/></tr><tr><td><xsl:value-of select="$west"/><input name="westCoord" type="text" size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/></td><td/><td><xsl:value-of select="$east"/><input name="eastCoord" type="text" size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/></td></tr><tr><td/><td><xsl:value-of select="$south"/><input name="southCoord" type="text" size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/></td><td/></tr></table></form></div></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/SelectFeatureType.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/SelectFeatureType.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/SelectFeatureType.js	(revision 4307)
@@ -0,0 +1,18 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: SelectFeatureType.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Presents the list of FeatureTypes from a WFS capabilities doc.
+ * @constructor
+ * @base WidgetBaseXSL
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function SelectFeatureType(widgetNode, model) {
+  WidgetBaseXSL.apply(this,new Array(widgetNode, model));
+}
Index: lib/spatial/mapbuilder/lib/widget/Null.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Null.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Null.xsl	(revision 4307)
@@ -1,22 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 
-
-<!--
-
-Description: An empty stylesheet for widgets which don't use XSL to render.
-
-Author:      Cameron Shorter cameron ATshorter.net
-
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-
-
-$Id$
-
-$Name$
-
--->
-
-</xsl:stylesheet>
-
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"/>
Index: lib/spatial/mapbuilder/lib/widget/CatSearchForm.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/CatSearchForm.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/CatSearchForm.js	(revision 4307)
@@ -2,7 +2,7 @@
 Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
 License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: CatSearchForm.js 3091 2007-08-09 12:21:54Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -18,7 +18,7 @@
  * See widget/NtsForm.xsl for an example. 
  *
  * @constructor
- * @base WidgetBase
+ * @base WidgetBaseXSL
  * @param widgetNode This widget's object node from the configuration document.
  * @param model The model that this widget is a view of.
  */
@@ -161,7 +161,7 @@
           params = "width=280,height=180,scrollbars=0,toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=0";
           break;
         default:
-          alert("unkown RUC type");
+          alert(mbGetMessage("unknownRucType"));
           break;
       }
       RUC_Window = open( baseURL, "RUCWindow", params );
Index: lib/spatial/mapbuilder/lib/widget/SelectFeatureType.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/SelectFeatureType.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/SelectFeatureType.xsl	(revision 4307)
@@ -1,124 +1,3 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-
-
-<!--
-
-Description: presents the list of FeatureTypes from a WFS capabilities doc.
-
-            Links provided to filter and load the selected FeatureType.
-
-Author:      adair
-
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-
-
-$Id$
-
-$Name$
-
--->
-
-
-
-<xsl:stylesheet version="1.0" 
-
-    xmlns:wfs="http://www.opengis.net/wfs"
-
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-
-		xmlns:ogc="http://www.opengis.net/ogc"
-
-		xmlns:gml="http://www.opengis.net/gml"
-
-    xmlns:xlink="http://www.w3.org/1999/xlink">
-
-
-
-  <xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8" indent="yes"/>
-
-
-
-  <!-- The coordinates of the DHTML Layer on the HTML page -->
-
-  <xsl:param name="modelId"/>
-
-  <xsl:param name="widgetId"/>
-
-  <xsl:param name="toolId"/>
-
-  
-
-  <!-- template rule matching source root element -->
-
-  <xsl:template match="/wfs:WFS_Capabilities">
-
-    <table>
-
-      <tr>
-
-        <th>
-
-          Feature types from: <xsl:value-of select="wfs:Service/wfs:Title"/>
-
-        </th>
-
-        <td colspan="2">
-
-          <a href="javascript:config.paintWidget(config.objects.wfsServerList)">Back to list</a>
-
-        </td>
-
-      </tr>
-
-      <xsl:apply-templates select="wfs:FeatureTypeList/wfs:FeatureType"/>
-
-    </table>
-
-  </xsl:template>
-
-
-
-  <!-- template rule matching source root element -->
-
-  <xsl:template match="wfs:FeatureType">
-
-    <xsl:variable name="name"><xsl:value-of select="wfs:Name"/></xsl:variable>
-
-    <xsl:variable name="title"><xsl:value-of select="wfs:Title"/></xsl:variable>
-
-    <xsl:variable name="id"><xsl:value-of select="@id"/></xsl:variable>
-
-    <tr>
-
-      <td>
-
-        <xsl:value-of select="$title"/> (<xsl:value-of select="$name"/>) <xsl:value-of select="wfs:SRS"/>
-
-      </td>
-
-      <td>
-
-        <a href="javascript:config.objects.{$modelId}.setParam('wfs_GetFeature','{$name}')">load</a>
-
-      </td>
-
-      <td>
-
-        <a href="javascript:config.objects.{$modelId}.setParam('wfs_DescribeFeatureType','{$name}')">filter</a>
-
-      </td>
-
-    </tr>
-
-  </xsl:template>
-
-
-
-  <xsl:template match="text()|@*"/>
-
-
-
-</xsl:stylesheet>
-
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wfs="http://www.opengis.net/wfs" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="toolId"/><xsl:template match="/wfs:WFS_Capabilities"><table><tr><th colspan="3">
+          Feature types from: <xsl:value-of select="wfs:Service/wfs:Title"/></th></tr><xsl:apply-templates select="wfs:FeatureTypeList/wfs:FeatureType"/></table></xsl:template><xsl:template match="wfs:FeatureType"><xsl:variable name="name"><xsl:value-of select="wfs:Name"/></xsl:variable><xsl:variable name="title"><xsl:value-of select="wfs:Title"/></xsl:variable><xsl:variable name="id"><xsl:value-of select="@id"/></xsl:variable><tr><td><xsl:value-of select="$title"/> (<xsl:value-of select="$name"/>) <xsl:value-of select="wfs:SRS"/></td><td><a href="javascript:config.objects.{$modelId}.setParam('wfs_GetFeature','{$name}')">load</a></td><td><a href="javascript:config.objects.{$modelId}.setParam('wfs_DescribeFeatureType','{$name}')">filter</a></td><td><a href="javascript:alert('not yet implemented')">style</a></td></tr></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/ZoomOut.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/ZoomOut.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/ZoomOut.js	(revision 4307)
@@ -1,49 +1,58 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: ZoomOut.js 3894 2008-02-29 18:37:09Z ahocevar $
 */
 
 // Ensure this object's dependancies are loaded.
 mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
 
 /**
- * When this button is selected, click on the map to zoom out centered at the click.
- * @constructor
+ * Zoom Out button.
  * @base ButtonBase
- * @author Mike Adair mike.adairATccrs.nrcan.gc.ca
- * @param widgetNode The widget node from the Config XML file.
- * @param model  The model for this widget
+ * @author Andreas Hocevar andreas.hocevarATgmail.com
+ * @param widgetNode      The tool node from the Config XML file.
+ * @param model  The ButtonBar widget.
  */
 function ZoomOut(widgetNode, model) {
-  // Extend ButtonBase
-  ButtonBase.apply(this, new Array(widgetNode, model));
+   ButtonBase.apply(this, new Array(widgetNode, model));
 
-  this.zoomBy = 4;//TBD: get this from config
+  this.cursor = 'crosshair';
 
   /**
-   * Calls the centerAt method of the context doc to zoom out, recentering at 
-   * the mouse event coordinates.
-   * TBD: set the zoomBy property as a button property in conifg
-   * @param objRef      Pointer to this AoiMouseHandler object.
-   * @param targetNode  The node for the enclosing HTML tag for this widget.
+   * Interactive ZoomOut control.
+   * @param objRef reference to this object.
+   * @return {OpenLayers.Control} class of the OL control.
    */
-  this.doAction = function(objRef,targetNode) {
-    if (!objRef.enabled) return;
-    var bbox = objRef.targetModel.getParam("aoi");
-    var extent = objRef.targetModel.extent;
-    var newRes = extent.res[0]*objRef.zoomBy;
-    extent.centerAt(bbox[0], newRes);
-  }
+  this.createControl = function(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      CLASS_NAME: 'mbControl.ZoomOut',
+      type: OpenLayers.Control.TYPE_TOOL,
 
-  /**
-   * Register for mouseUp events.
-   * @param objRef  Pointer to this object.
-   */
-  this.setMouseListener = function(objRef) {
-    if (objRef.mouseHandler) {
-      objRef.mouseHandler.model.addListener('mouseup',objRef.doAction,objRef);
-    }
+      draw: function() {
+        this.handler = new OpenLayers.Handler.Box( this,
+          {done: this.zoomBox}, {keyMask: this.keyMask} );
+      },
+
+      zoomBox: function (position) {
+        if (position instanceof OpenLayers.Bounds) {
+          var minXY = new OpenLayers.Pixel(position.left, position.bottom);
+          var maxXY = new OpenLayers.Pixel(position.right, position.top);
+          var bounds = new OpenLayers.Bounds(minXY.x, minXY.y,
+            maxXY.x, maxXY.y);
+          var mapSize = (this.map.getSize().w+this.map.getSize().h)/2;
+          var boxSize = (Math.abs(bounds.getWidth())+Math.abs(bounds.getHeight()))/2;
+          var newScale = this.map.getScale()*(mapSize/boxSize);
+          this.map.setCenter(bounds.getCenterLonLat());
+          this.map.zoomToScale(newScale);
+        } else { // it's a pixel
+          this.map.setCenter(this.map.getLonLatFromPixel(position),
+            parseInt(this.map.getZoom() - 1));
+        }
+      }
+    });
+    return Control;
   }
-  this.model.addListener( "loadModel", this.setMouseListener, this );
+}
 
-}
+
Index: lib/spatial/mapbuilder/lib/widget/Reset.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Reset.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Reset.js	(revision 4307)
@@ -1,56 +1,27 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: Reset.js 2956 2007-07-09 12:17:52Z steven $
 */
 
 // Ensure this object's dependancies are loaded.
 mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
 
 /**
- * When this button is pressed the map will reload with it's original extent
+ * Reset button - resets the map to full extent.
  * @constructor
  * @base ButtonBase
- * @author Mike Adair mike.adairATccrs.nrcan.gc.ca
- * @param widgetNode      The widget node from the Config XML file.
- * @param model  The model for this widget
+ * @author Andreas Hocevar andreas.hocevarATgmail.com
+ * @param widgetNode The widget node from the Config XML file.
+ * @param model The model for this widget
  */
 function Reset(widgetNode, model) {
-  ButtonBase.apply(this, new Array(widgetNode, model));
 
-  // override default cursor by user
-  // cursor can be changed by spefying a new cursor in config file
-  this.cursor = "default"; 
-
-  /**
-   * Store a copy of the original extent locally as a loadModel event listener.
-   * @param objRef Pointer to this object.
-   */
-  this.initExtent = function(objRef) {
-    objRef.originalExtent = new Extent( objRef.targetModel );   
-    objRef.originalExtent.init( objRef.originalExtent );
-    objRef.originalExtent.setResolution( new Array(objRef.targetModel.getWindowWidth(), objRef.targetModel.getWindowHeight()) );
+  this.createControl = function() {
+  	return OpenLayers.Control.ZoomToMaxExtent;
   }
-
-  /**
-   * Set the loadModel listener in response to init event
-   * @param objRef Pointer to this object.
-   */
-  this.initReset = function(objRef) {
-    objRef.targetModel.addListener("loadModel",objRef.initExtent, objRef);
-  }
-  this.model.addListener("init",this.initReset, this);
-
-
-  /**
-   * Calls the reset() method of the context doc to reload at with the original extent
-   * @param objRef      Pointer to this AoiMouseHandler object.
-   */
-  this.doSelect = function(selected,objRef) {
-    if (selected){
-      var originalExtent = objRef.originalExtent;
-      objRef.targetModel.extent.centerAt( originalExtent.getCenter(), originalExtent.res[0] );
-    }
-  }
+  
+  // Extend ButtonBase
+  ButtonBase.apply(this, new Array(widgetNode, model));
 }
 
-
Index: lib/spatial/mapbuilder/lib/widget/GmlCooordinates2Coord.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/GmlCooordinates2Coord.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/GmlCooordinates2Coord.xsl	(revision 4307)
@@ -1,242 +1,2 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-
-
-<!--
-
-Description: Convert <coordinates> to <coord x> <coord y>
-
-Author:      Cameron Shorter cameron ATshorterDOTnet
-
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-
-
-$Id$
-
-$Name$
-
--->
-
-
-
-<xsl:stylesheet
-
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-
-  xmlns:gml="http://www.opengis.net/gml"
-
-  version="1.0">
-
-
-
-  <!-- Coordinates template -->
-
-  <xsl:template match="gml:coordinates">
-
-
-
-    <!-- Convert decimal, coord symbol, tuple symbol to defaults -->
-
-    <xsl:variable name="str" select="translate(.,@decimal,'.')"/>
-
-    <xsl:variable name="str2" select="translate($str,@cs,',')"/>
-
-    <xsl:variable name="str3" select="translate($str2,@ts,' ')"/>
-
-    <xsl:if test="string-length(normalize-space($str3))!=0">
-
-      <xsl:call-template name="parseTuples">
-
-        <xsl:with-param name="str" select="normalize-space($str3)"/>
-
-      </xsl:call-template>
-
-    </xsl:if>
-
-  </xsl:template>
-
-
-
-  <!-- Print one tuple, then recursively call this template to print remaining tuples -->
-
-  <xsl:template name="parseTuples">
-
-    <xsl:param name="str"/>
-
-    <xsl:param name="cs" select="','"/> <!--symbol to separate coords-->
-
-    <xsl:param name="ts" select="' '"/> <!-- symbol to separate tuples-->
-
-    <xsl:choose>
-
-      <xsl:when test="not(contains($str,$ts))">
-
-        <xsl:call-template name="parseCoords">
-
-          <xsl:with-param name="str" select="$str"/>
-
-          <xsl:with-param name="cs" select="$cs"/>
-
-          <xsl:with-param name="ts" select="$ts"/>
-
-        </xsl:call-template>
-
-      </xsl:when>
-
-      <xsl:otherwise>
-
-        <xsl:call-template name="parseCoords">
-
-          <xsl:with-param name="str" select="substring-before($str,$ts)"/>
-
-          <xsl:with-param name="cs" select="$cs"/>
-
-          <xsl:with-param name="ts" select="$ts"/>
-
-        </xsl:call-template>
-
-        <xsl:call-template name="parseTuples">
-
-          <xsl:with-param name="str" select="substring-after($str,$ts)"/>
-
-          <xsl:with-param name="cs" select="$cs"/>
-
-          <xsl:with-param name="ts" select="$ts"/>
-
-        </xsl:call-template>
-
-      </xsl:otherwise>
-
-    </xsl:choose>
-
-  </xsl:template>
-
-
-
-  <!-- Extract coords out of a tuple -->
-
-  <xsl:template name="parseCoords">
-
-    <xsl:param name="str"/>
-
-    <xsl:param name="cs"/>
-
-
-
-    <gml:coord>
-
-      <!-- X coord -->
-
-      <xsl:choose>
-
-        <xsl:when test="not(contains($str,$cs))">
-
-          <xsl:call-template name="printCoord">
-
-            <xsl:with-param name="coord" select="'gml:X'"/>
-
-            <xsl:with-param name="value" select="$str"/>
-
-          </xsl:call-template>
-
-        </xsl:when>
-
-        <xsl:otherwise>
-
-          <xsl:call-template name="printCoord">
-
-            <xsl:with-param name="coord" select="'gml:X'"/>
-
-            <xsl:with-param name="value" select="substring-before($str,$cs)"/>
-
-          </xsl:call-template>
-
-          <!-- Y coord -->
-
-          <xsl:variable name="yz" select="substring-after($str,$cs)"/>
-
-          <xsl:choose>
-
-            <xsl:when test="not(contains($yz,$cs))">
-
-              <xsl:call-template name="printCoord">
-
-                <xsl:with-param name="coord" select="'gml:Y'"/>
-
-                <xsl:with-param name="value" select="$yz"/>
-
-              </xsl:call-template>
-
-            </xsl:when>
-
-            <xsl:otherwise>
-
-              <xsl:call-template name="printCoord">
-
-                <xsl:with-param name="coord" select="'gml:Y'"/>
-
-                <xsl:with-param name="value" select="substring-before($yz,$cs)"/>
-
-              </xsl:call-template>
-
-              <!-- Z coord -->
-
-              <xsl:call-template name="printCoord">
-
-                <xsl:with-param name="coord" select="'gml:Z'"/>
-
-                <xsl:with-param name="value" select="substring-after($yz,$cs)"/>
-
-              </xsl:call-template>
-
-            </xsl:otherwise>
-
-          </xsl:choose>
-
-        </xsl:otherwise>
-
-      </xsl:choose>
-
-    </gml:coord>
-
-  </xsl:template>
-
-
-
-  <!-- Print X, Y or Z coord: <X>123</X> -->
-
-  <xsl:template name="printCoord">
-
-    <xsl:param name="coord"/>
-
-    <xsl:param name="value"/>
-
-    <xsl:element name="{$coord}">
-
-      <xsl:value-of select="$value"/>
-
-    </xsl:element>
-
-  </xsl:template>
-
-
-
-  <!-- All other nodes are copied -->
-
-  <xsl:template match="*|@*|comment()|processing-instruction()|text()">
-
-    <xsl:copy>
-
-      <xsl:apply-templates
-
-       select="*|@*|comment()|processing-instruction()|text()"/>
-
-    </xsl:copy>
-
-  </xsl:template>
-
-
-
-</xsl:stylesheet>
-
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gml="http://www.opengis.net/gml" version="1.0"><xsl:template match="gml:coordinates"><xsl:variable name="str" select="translate(.,@decimal,'.')"/><xsl:variable name="str2" select="translate($str,@cs,',')"/><xsl:variable name="str3" select="translate($str2,@ts,' ')"/><xsl:if test="string-length(normalize-space($str3))!=0"><xsl:call-template name="parseTuples"><xsl:with-param name="str" select="normalize-space($str3)"/></xsl:call-template></xsl:if></xsl:template><xsl:template name="parseTuples"><xsl:param name="str"/><xsl:param name="cs" select="','"/><xsl:param name="ts" select="' '"/><xsl:choose><xsl:when test="not(contains($str,$ts))"><xsl:call-template name="parseCoords"><xsl:with-param name="str" select="$str"/><xsl:with-param name="cs" select="$cs"/><xsl:with-param name="ts" select="$ts"/></xsl:call-template></xsl:when><xsl:otherwise><xsl:call-template name="parseCoords"><xsl:with-param name="str" select="substring-before($str,$ts)"/><xsl:with-param name="cs" select="$cs"/><xsl:with-param name="ts" select="$ts"/></xsl:call-template><xsl:call-template name="parseTuples"><xsl:with-param name="str" select="substring-after($str,$ts)"/><xsl:with-param name="cs" select="$cs"/><xsl:with-param name="ts" select="$ts"/></xsl:call-template></xsl:otherwise></xsl:choose></xsl:template><xsl:template name="parseCoords"><xsl:param name="str"/><xsl:param name="cs"/><gml:coord><xsl:choose><xsl:when test="not(contains($str,$cs))"><xsl:call-template name="printCoord"><xsl:with-param name="coord" select="'gml:X'"/><xsl:with-param name="value" select="$str"/></xsl:call-template></xsl:when><xsl:otherwise><xsl:call-template name="printCoord"><xsl:with-param name="coord" select="'gml:X'"/><xsl:with-param name="value" select="substring-before($str,$cs)"/></xsl:call-template><xsl:variable name="yz" select="substring-after($str,$cs)"/><xsl:choose><xsl:when test="not(contains($yz,$cs))"><xsl:call-template name="printCoord"><xsl:with-param name="coord" select="'gml:Y'"/><xsl:with-param name="value" select="$yz"/></xsl:call-template></xsl:when><xsl:otherwise><xsl:call-template name="printCoord"><xsl:with-param name="coord" select="'gml:Y'"/><xsl:with-param name="value" select="substring-before($yz,$cs)"/></xsl:call-template><xsl:call-template name="printCoord"><xsl:with-param name="coord" select="'gml:Z'"/><xsl:with-param name="value" select="substring-after($yz,$cs)"/></xsl:call-template></xsl:otherwise></xsl:choose></xsl:otherwise></xsl:choose></gml:coord></xsl:template><xsl:template name="printCoord"><xsl:param name="coord"/><xsl:param name="value"/><xsl:element name="{$coord}"><xsl:value-of select="$value"/></xsl:element></xsl:template><xsl:template match="*|@*|comment()|processing-instruction()|text()"><xsl:copy><xsl:apply-templates select="*|@*|comment()|processing-instruction()|text()"/></xsl:copy></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/CursorTrack.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/CursorTrack.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/CursorTrack.js	(revision 4307)
@@ -2,172 +2,226 @@
 Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
 License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: CursorTrack.js 3889 2008-02-27 18:29:43Z ahocevar $
 */
 
 // Ensure this object's dependancies are loaded.
 mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
-mapbuilder.loadScript(baseDir+"/model/Proj.js");
 
 /**
  * Widget to display the mouse coordinates when it is over a MapContainer widget.
  *
  * @constructor
- * @base WidgetBase
+ * @base WidgetBaseXSL
  * @param widgetNode This widget's object node from the configuration document.
  * @param model The model that this widget is a view of.
  */
-
 function CursorTrack(widgetNode, model) {
   WidgetBaseXSL.apply(this,new Array(widgetNode, model));
 
   //by default, display coords in latlon; if false show map XY
-  this.showPx 	  = false;		// pixel coordinates
-  this.showXY 	  = false;		// XY Coordinates
-  this.showLatLong = true;		// Standard lat long
-  this.showDMS	  = false;		// Lat/long in DD MM SS format
-  this.showMGRS 	  = false;		// Military Grid Reference System
-  this.precision   = 5;
-	
-  var showXYNode = widgetNode.selectSingleNode("mb:showXY");
-  if (showXYNode) 
-  	this.showXY = (showXYNode.firstChild.nodeValue=="false")?false:true;
-  
-  var showPx = widgetNode.selectSingleNode("mb:showPx");
-  if( showPx )
-  	this.showPx = (showPx.firstChild.nodeValue=="false")?false:true;
+  this.showPx = Mapbuilder.parseBoolean(this.getProperty("mb:showPx", false)); // pixel coordinates
+  this.showXY = Mapbuilder.parseBoolean(this.getProperty("mb:showXY", false)); // XY Coordinates
+  this.showLatLong = Mapbuilder.parseBoolean(this.getProperty("mb:showLatLong", true)); // Standard lat long
+  this.showDMS = Mapbuilder.parseBoolean(this.getProperty("mb:showDMS", false)); // Lat/long in DD MM SS.S format
+  this.showDM = Mapbuilder.parseBoolean(this.getProperty("mb:showDM", false)); // Lat/long in DD MM.MMMM format
+  this.showMGRS = Mapbuilder.parseBoolean(this.getProperty("mb:showMGRS", false)); // Military Grid Reference System
+  if( this.showMGRS ) {
+    // load this here so it is not required for everyone
+    mapbuilder.loadScript(baseDir+"/util/MGRS.js");
+  }
 
-  var showLatLong = widgetNode.selectSingleNode("mb:showLatLong");
-  if( showLatLong )
-  	this.showLatLong = (showLatLong.firstChild.nodeValue=="false")?false:true;
+  this.precision = this.getProperty("mb:precision", 2);
 
-  var showDMS = widgetNode.selectSingleNode("mb:showDMS");
-  if( showDMS )
-  	this.showDMS = (showDMS.firstChild.nodeValue=="false")?false:true;
+  //set some properties for the form output
+  this.formName = "CursorTrackForm_" + mbIds.getId();
+  this.stylesheet.setParameter("formName", this.formName);
 
-  var showMGRS = widgetNode.selectSingleNode("mb:showMGRS");
-  if( showMGRS ) {
-  	this.showMGRS = (showMGRS.firstChild.nodeValue=="false")?false:true;
-  	// load this here so it is not required for everyone
-  	mapbuilder.loadScript(baseDir+"/util/MGRS.js");
-  }
-  
-  var precision = widgetNode.selectSingleNode("mb:precision");
-  if (precision) 
-    this.precision = precision.firstChild.nodeValue;
-  
+
   /**
-   * Start cursor tracking when the mouse is over the MapContainer.
-   * set an interval to output the coords so that it doesn't execute on every
-   * move event.  The setInterval method in IE doesn't allow passing of an
-   * argument to the function called so set a global reference to MapContainer
-   * here;  mouse can only be over one MapContainer at time so this should be safe.
-   * @param objRef Pointer to this CurorTrack object.
-   * @param targetNode The node for the enclosing HTML tag for this widget.
+   * Add mouse event listeners to the map object in the model.
+   * @param objRef Pointer to this CursorTrack object.
    */
-  this.mouseOverHandler = function(objRef, targetNode) {
-    objRef.coordForm = document.getElementById(objRef.formName);
-    window.cursorTrackObject = objRef;
-    window.cursorTrackNode = targetNode;
-    objRef.mouseOver = true;
-    objRef.mouseTrackTimer = setInterval( ReportCoords, 100, objRef);
+  this.init = function(objRef) {
+    objRef.proj = new OpenLayers.Projection( objRef.model.getSRS() );
+
+    objRef.model.map.events.register('mousemove', objRef, objRef.mousemoveHandler);
+    objRef.model.map.events.register('mouseout',  objRef, objRef.mouseoutHandler);
+
+    if( this.showMGRS )
+      this.MGRS = new MGRS();
   }
+  this.model.addListener("loadModel", this.init, this );
+  
+  this.clear = function(objRef) {
+    if (objRef.model.map && objRef.model.map.events) {
+      objRef.model.map.events.unregister('mousemove', objRef, objRef.mousemoveHandler);
+      objRef.model.map.events.unregister('mouseout',  objRef, objRef.mouseoutHandler);
+    }
+  }
+  this.model.addListener("newModel", this.clear, this);
 
   /**
-   * Stop cursor tracking when the mouse leaves the MapContainer.
-   * @param objRef Pointer to this CurorTrack object.
-   * @param targetNode The node for the enclosing HTML tag for this widget.
+   * OpenLayers mousemove event listener.
+   * @param evt OpenLayers mouse event
    */
-  this.mouseOutHandler = function(objRef, targetNode) {
-    
-    if (objRef.mouseTrackTimer) 
-    		clearInterval(objRef.mouseTrackTimer);
-    
-    objRef.mouseOver = false;
-    
-    if( objRef.showLatLong ) {
-      if( objRef.coordForm.longitude )
-        objRef.coordForm.longitude.value = "";
-  	    if( objRef.coordForm.latitude )
-        objRef.coordForm.latitude.value = "";
-    } 
+  this.mousemoveHandler = function(evt) {
+    var coordForm = document.getElementById(this.formName);
+    if (!evt) return;
 
-    if( objRef.showDMS ) {
-      if( objRef.coordForm.longdeg )
-        objRef.coordForm.longdeg.value = "";
-      if( objRef.coordForm.longmin )
-        objRef.coordForm.longmin.value = "";
-      if( objRef.coordForm.longsec )
-        objRef.coordForm.longsec.value = "";
+    // capture XY coordinates
+    var evXY = this.model.map.getLonLatFromPixel(evt.xy);
 
-      if( objRef.coordForm.latdeg )
-        objRef.coordForm.latdeg.value = "";
-      if( objRef.coordForm.latmin )
-        objRef.coordForm.latmin.value = "";
-      if( objRef.coordForm.latsec )
-        objRef.coordForm.latsec.value = "";
-    } 
-    
-    if( objRef.showXY ) {
-    	  if( objRef.coordForm.x)
-        objRef.coordForm.x.value = "";
-      if( objRef.coordForm.y)
-        objRef.coordForm.y.value = "";
+    ///CSCS
+    var pt=new OpenLayers.Geometry.Point(evXY.lon, evXY.lat)
+    pt.transform(this.proj, new OpenLayers.Projection("EPSG:4326"));
+    var evLonLat = new OpenLayers.LonLat(pt.x,pt.y);
+
+
+    if( this.showPx ) {
+      if( coordForm.px )
+        coordForm.px.value = evt.xy.x;
+      if( coordForm.py )
+        coordForm.py.value = evt.xy.y;
     }
-    
-    if( objRef.showPx ) {
-      if( objRef.coordForm.px)
-        objRef.coordForm.px.value = "";
-      if( objRef.coordForm.py)
-        objRef.coordForm.py.value = "";
+
+    if( this.showXY ) {
+      if( coordForm.x )
+        coordForm.x.value = evXY.lon.toFixed(this.precision);;
+      if( coordForm.y )
+        coordForm.y.value = evXY.lat.toFixed(this.precision);;
     }
-    
-    if( objRef.showMGRS ) {
-      if( objRef.coordForm.mgrs )
-        objRef.coordForm.mgrs.value = "";
+
+    if( this.showLatLong ) {
+      if( coordForm.longitude )
+        coordForm.longitude.value = evLonLat.lon.toFixed(this.precision);
+      if( coordForm.latitude )
+        coordForm.latitude.value = evLonLat.lat.toFixed(this.precision);
     }
+
+    if( this.showDMS ) {
+      var longitude = this.convertDMS(evLonLat.lon, 'LON');
+      if( coordForm.longdeg )
+        coordForm.longdeg.value = longitude[0];
+      if( coordForm.longmin )
+        coordForm.longmin.value = longitude[1];
+      if( coordForm.longsec )
+        coordForm.longsec.value = longitude[2];
+     if( coordForm.longH )
+        coordForm.longH.value = longitude[3];
+
+      var latitude = this.convertDMS(evLonLat.lat, 'LAT');
+      if( coordForm.latdeg )
+        coordForm.latdeg.value = latitude[0];
+      if( coordForm.latmin )
+        coordForm.latmin.value = latitude[1];
+      if( coordForm.latsec )
+        coordForm.latsec.value = latitude[2];
+      if( coordForm.latH )
+        coordForm.latH.value = latitude[3];
+    }
+
+    if( this.showDM ) {
+      var longitude = this.convertDM(evLonLat.lon, 'LON');
+      if( coordForm.longDMdeg )
+        coordForm.longDMdeg.value = longitude[0];
+      if( coordForm.longDMmin )
+        coordForm.longDMmin.value = longitude[1];
+      if( coordForm.longDMH )
+        coordForm.longDMH.value = longitude[2];
+
+      var latitude = this.convertDM(evLonLat.lat, 'LAT');
+      if( coordForm.latDMdeg )
+        coordForm.latDMdeg.value = latitude[0];
+      if( coordForm.latDMmin )
+        coordForm.latDMmin.value = latitude[1];
+      if( coordForm.latDMH )
+        coordForm.latDMH.value = latitude[2];
+    }
+
+    if( this.showMGRS ) {
+      if( !this.MGRS )
+        this.MGRS = new MGRS();
+      coordForm.mgrs.value = this.MGRS.convert(evLonLat.lat,evLonLat.lon) ;
+    }
   }
 
   /**
-   * Add mouse event listeners to the MapContainer object sepecified by the
-   * mouseHandler property in config.
-   * @param objRef Pointer to this CurorTrack object.
+   * OpenLayers mouseout event listener.
+   * @param evt OpenLayers mouse event
    */
-  this.init = function(objRef) {
-    //associate the cursor track with a mappane widget
-    var mouseHandler = widgetNode.selectSingleNode("mb:mouseHandler");
-    if (mouseHandler) {
-      objRef.mouseHandler = eval("config.objects."+mouseHandler.firstChild.nodeValue);
-      objRef.mouseHandler.addListener('mouseover', objRef.mouseOverHandler, objRef);
-      objRef.mouseHandler.addListener('mouseout', objRef.mouseOutHandler, objRef);
-    } else {
-      alert('CursorTrack requires a mouseHandler property');
+  this.mouseoutHandler = function(evt) {
+    var coordForm = document.getElementById(this.formName);
+
+    if( this.showPx ) {
+      if( coordForm.px)
+        coordForm.px.value = "";
+      if( coordForm.py)
+        coordForm.py.value = "";
     }
-    
-    if( objRef.showLatLong || objRef.showDMS || objRef.showMGRS ) {
-      objRef.proj = new Proj( objRef.model.getSRS() );
+
+    if( this.showXY ) {
+      if( coordForm.x)
+        coordForm.x.value = "";
+      if( coordForm.y)
+        coordForm.y.value = "";
     }
 
-    if( this.showMGRS )
-      this.MGRS = new MGRS();
-  }
-  
-  this.model.addListener("loadModel", this.init, this );
+    if( this.showLatLong ) {
+      if( coordForm.longitude )
+        coordForm.longitude.value = "";
+      if( coordForm.latitude )
+        coordForm.latitude.value = "";
+    }
 
-  //set some properties for the form output
-  this.formName = "CursorTrackForm_" + mbIds.getId();
-  this.stylesheet.setParameter("formName", this.formName);
+    if( this.showDMS ) {
+      if( coordForm.longdeg )
+        coordForm.longdeg.value = "";
+      if( coordForm.longmin )
+        coordForm.longmin.value = "";
+      if( coordForm.longsec )
+        coordForm.longsec.value = "";
+      if( coordForm.longH )
+        coordForm.longH.value = "";
 
-}
+      if( coordForm.latdeg )
+        coordForm.latdeg.value = "";
+      if( coordForm.latmin )
+        coordForm.latmin.value = "";
+      if( coordForm.latsec )
+        coordForm.latsec.value = "";
+      if( coordForm.latH )
+        coordForm.latH.value = "";
+    }
 
-/**
-  * Decimal to DMS conversion
-  */
-function convertDMS(coordinate, type) {
+    if( this.showDM ) {
+      if( coordForm.longDMdeg )
+        coordForm.longDMdeg.value = "";
+      if( coordForm.longDMmin )
+        coordForm.longDMmin.value = "";
+      if( coordForm.longDMH )
+        coordForm.longDMH.value = "";
 
-    coordinate = Math.floor(coordinate*100);
-    coordinate = coordinate/100;
+      if( coordForm.latDMdeg )
+        coordForm.latDMdeg.value = "";
+      if( coordForm.latDMmin )
+        coordForm.latDMmin.value = "";
+      if( coordForm.latDMH )
+        coordForm.latDMH.value = "";
+    }
 
+    if( this.showMGRS ) {
+      if( coordForm.mgrs )
+        coordForm.mgrs.value = "";
+    }
+  }
+
+  /**
+   * Decimal to DMS conversion
+   */
+  this.convertDMS = function(coordinate, type) {
+    var coords = new Array();
+
     abscoordinate = Math.abs(coordinate)
     coordinatedegrees = Math.floor(abscoordinate);
 
@@ -175,103 +229,73 @@
     tempcoordinateminutes = coordinateminutes;
     coordinateminutes = Math.floor(coordinateminutes);
     coordinateseconds = (tempcoordinateminutes - coordinateminutes)/(1/60);
-    coordinateseconds =  Math.floor(coordinateseconds);
+    coordinateseconds =  Math.round(coordinateseconds*10);
+    coordinateseconds /= 10;
 
-  if (type == 'LAT') {
-    if (coordinate >= 0) {
-      coordinatehemi = "N";
-    } else {
-      coordinatehemi = "S";
-    }
-  } else if (type == 'LON') {
-    if (coordinate >= 0) {
-      coordinatehemi = "E";
-    } else {
-      coordinatehemi = "W";
-    }
+    if( coordinatedegrees < 10 )
+      coordinatedegrees = "0" + coordinatedegrees;
+
+    if( coordinateminutes < 10 )
+      coordinateminutes = "0" + coordinateminutes;
+
+    if( coordinateseconds < 10 )
+      coordinateseconds = "0" + coordinateseconds;
+
+    coords[0] = coordinatedegrees;
+    coords[1] = coordinateminutes;
+    coords[2] = coordinateseconds;
+    coords[3] = this.getHemi(coordinate, type);
+
+    return coords;
   }
-  if( coordinatedegrees < 10 )
-    coordinatedegrees = "0" + coordinatedegrees;
-    
-  if( coordinateminutes < 10 )
-    coordinateminutes = "0" + coordinateminutes;
-    
-  if( coordinateseconds < 10 )
-    coordinateseconds = "0" + coordinateseconds;
-    
-  coordinate = coordinatedegrees + " " + coordinateminutes + " " + coordinateseconds + " " + coordinatehemi;
 
-  return coordinate;       
-}
+  /**
+   * Decimal to DM (degrees plus decimal minutes) conversion
+   */
+  this.convertDM = function(coordinate, type) {
+    var coords = new Array();
 
-/**
- * A method which actually outputs the coordinates to the form.  This is a
- * global method because it is called by a Javascript setInterval timer.
- */
-function ReportCoords() {
-  var objRef = window.cursorTrackObject;
-  
-  if (objRef.mouseOver) {
-    var evPL =  window.cursorTrackNode.evpl;
+    abscoordinate = Math.abs(coordinate)
+    coordinatedegrees = Math.floor(abscoordinate);
 
-	// capture the pixel coordinates
-	if( objRef.showPx ) {    
-      if( objRef.coordForm.px )
-        objRef.coordForm.px.value = evPL[0];
+    coordinateminutes = (abscoordinate - coordinatedegrees)*60;
+    coordinateminutes = Math.round(coordinateminutes*1000);
+    coordinateminutes /= 1000;
 
-      if( objRef.coordForm.py )
-        objRef.coordForm.py.value = evPL[1];
+    if( coordinatedegrees < 10 )
+      coordinatedegrees = "0" + coordinatedegrees;
+
+    if( coordinateminutes < 10 )
+      coordinateminutes = "0" + coordinateminutes;
+
+    coords[0] = coordinatedegrees;
+    coords[1] = coordinateminutes;
+    coords[2] = this.getHemi(coordinate, type);
+
+    return coords;
+  }
+
+  /**
+   * Return the hemisphere abbreviation for this coordinate.
+   */
+  this.getHemi = function(coordinate, type) {
+    var coordinatehemi = "";
+    if (type == 'LAT') {
+      if (coordinate >= 0) {
+        coordinatehemi = "N";
+      }
+      else {
+        coordinatehemi = "S";
+      }
     }
-    
-    // capture XY coordinates
-    var evXY = objRef.model.extent.getXY( evPL );
-    
-    // store them
-    if( objRef.showXY ) {
-      if( objRef.coordForm.x )
-        objRef.coordForm.x.value = evXY[0].toFixed(objRef.precision);;
-      if( objRef.coordForm.y )
-        objRef.coordForm.y.value = evXY[1].toFixed(objRef.precision);;
+    else if (type == 'LON') {
+      if (coordinate >= 0) {
+        coordinatehemi = "E";
+      } else {
+        coordinatehemi = "W";
+      }
     }
-    
-    if( objRef.showLatLong || objRef.showDMS || objRef.showMGRS ) {
-	    var evLatLon = objRef.proj.Inverse( evXY );   //convert to lat/long
-	    
-        if( objRef.showLatLong ) {
-	      if( objRef.coordForm.longitude )
-	        objRef.coordForm.longitude.value = evLatLon[0].toFixed(objRef.precision);
-	    
-	      if( objRef.coordForm.latitude )
-	        objRef.coordForm.latitude.value = evLatLon[1].toFixed(objRef.precision);
-	    }
-        
-        if( objRef.showDMS ) {
-          var longitude = convertDMS(evLatLon[0], 'LON').split(" ");
-          if( objRef.coordForm.longdeg )
-            objRef.coordForm.longdeg.value = longitude[0];          
-          if( objRef.coordForm.longmin )
-            objRef.coordForm.longmin.value = longitude[1];
-          if( objRef.coordForm.longsec )
-            objRef.coordForm.longsec.value = longitude[2];           
-         if( objRef.coordForm.longH )
-            objRef.coordForm.longH.value = longitude[3];
 
-          var latitude = convertDMS(evLatLon[1], 'LAT').split(" ");
-          if( objRef.coordForm.latdeg )
-            objRef.coordForm.latdeg.value = latitude[0];          
-          if( objRef.coordForm.latmin )
-            objRef.coordForm.latmin.value = latitude[1];
-          if( objRef.coordForm.latsec )
-            objRef.coordForm.latsec.value = latitude[2];
-          if( objRef.coordForm.latH )
-            objRef.coordForm.latH.value = latitude[3];
-        }
-        
-	    if( objRef.showMGRS ) {
-	      if( !objRef.MGRS )
-	        objRef.MGRS = new MGRS();
-          objRef.coordForm.mgrs.value = objRef.MGRS.convert(evLatLon[1],evLatLon[0]) ;
-        }
-      }
+    return coordinatehemi;
   }
 }
Index: lib/spatial/mapbuilder/lib/widget/LayerControlSld.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/LayerControlSld.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/LayerControlSld.xsl	(revision 4307)
@@ -0,0 +1,2 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wmc="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gml="http://www.opengis.net/gml" xmlns:wfs="http://www.opengis.net/wfs" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="lang"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="skinDir"/><xsl:param name="sldEditorImage">/images/sld.jpeg</xsl:param><xsl:param name="moveUpImage"/><xsl:param name="moveDownImage"/><xsl:param name="deleteImage"/><xsl:param name="legendImageEnable">/images/LegendEnable.png</xsl:param><xsl:param name="legendImageDisable">/images/LegendDisable.png</xsl:param><xsl:param name="opacity"/><xsl:param name="zoomImage"/><xsl:param name="metadataImage"/><xsl:param name="title"/><xsl:param name="layerIndexTip"/><xsl:param name="toggleVisTip"/><xsl:param name="sldTip"/><xsl:param name="moveLayerUpTip"/><xsl:param name="moveLayerDownTip"/><xsl:param name="deleteLayerTip"/><xsl:param name="legendTip"/><xsl:param name="nameLayerTip"/><xsl:param name="opacityTip"/><xsl:param name="featureName"/><xsl:param name="hidden"/><xsl:param name="context">config.objects.<xsl:value-of select="$modelId"/></xsl:param><xsl:variable name="numLayers" select="count(//wmc:Layer)"/><xsl:template match="/wmc:ViewContext"><div><div class="layerControl"><xsl:if test="wmc:General/wmc:Extension"><xsl:apply-templates select="wmc:General/wmc:Extension/wmc:GroupList/wmc:Group"><xsl:sort select="position()" order="ascending" data-type="number"/></xsl:apply-templates></xsl:if><xsl:if test="not(wmc:General/wmc:Extension)"><xsl:apply-templates select="wmc:LayerList/wmc:Layer"><xsl:sort select="position()" order="descending" data-type="number"/></xsl:apply-templates></xsl:if></div></div></xsl:template><xsl:template match="/wmc:OWSContext"><div class="layerControl"><xsl:if test="wmc:General/wmc:Extension"><xsl:apply-templates select="wmc:General/wmc:Extension/wmc:GroupList/wmc:Group"><xsl:sort select="position()" order="ascending" data-type="number"/></xsl:apply-templates></xsl:if><xsl:if test="not(wmc:General/wmc:Extension)"><xsl:apply-templates select="wmc:ResourceList/wmc:Layer"><xsl:sort select="position()" order="descending" data-type="number"/></xsl:apply-templates></xsl:if></div></xsl:template><xsl:template match="wmc:General/wmc:Extension/wmc:GroupList/wmc:Group"><xsl:variable name="GroupName" select="./@name"/><xsl:variable name="GroupFold" select="./@folded"/><xsl:variable name="numberOfLayerByGroup" select="count(//wmc:Layer[wmc:Extension/wmc:Group/@name=$GroupName])"/><xsl:variable name="numberOfLayerByGroupOther"><xsl:value-of select="  $numLayers - $numberOfLayerByGroup "/></xsl:variable><xsl:if test=" ( $numberOfLayerByGroup != 0) or ( ($numberOfLayerByGroupOther != 0 ) and ( $GroupName = 'Other') ) "><div id="{$GroupName}_Header" style="cursor:pointer" class="GroupHeader" title="click to (un)fold" onmouseover="style.background='pink';" onMouseOut="style.background='#556655';" onclick="config.objects.{$widgetId}.switchVisibilityById('{$GroupName}');config.objects.{$widgetId}.foldUnfoldGroup('{$GroupName}','{$GroupName}_fold');"><input type="button" class="GroupHeaderFold" id="{$GroupName}_fold" style="width:35px;"><xsl:attribute name="value"><xsl:choose><xsl:when test="@folded=1">+ </xsl:when><xsl:otherwise>-</xsl:otherwise></xsl:choose></xsl:attribute></input><div id="{$GroupName}_Title" class="GroupHeaderTitle"><xsl:value-of select="$GroupName"/></div></div><div id="{$GroupName}" class="GroupLayers"><xsl:attribute name="style"><xsl:choose><xsl:when test="@folded=1">display:none </xsl:when><xsl:otherwise>display:block</xsl:otherwise></xsl:choose></xsl:attribute><xsl:if test="//wmc:ResourceList"><xsl:apply-templates select="//wmc:ResourceList/wmc:Layer[wmc:Extension/wmc:Group/@name=$GroupName]"><xsl:sort select="position()" order="descending" data-type="number"/></xsl:apply-templates></xsl:if><xsl:if test="//wmc:LayerList"><xsl:apply-templates select="//wmc:LayerList/wmc:Layer[wmc:Extension/wmc:Group/@name=$GroupName]"><xsl:sort select="position()" order="descending" data-type="number"/></xsl:apply-templates></xsl:if><xsl:if test="$GroupName='Others' "><xsl:if test="//wmc:ResourceList"><xsl:apply-templates select="//wmc:ResourceList/wmc:Layer[not(wmc:Extension/wmc:Group)]"><xsl:sort select="position()" order="descending" data-type="number"/></xsl:apply-templates></xsl:if><xsl:if test="//wmc:LayerList"><xsl:apply-templates select="//wmc:LayerList/wmc:Layer[not(wmc:Extension/wmc:Group)]"><xsl:sort select="position()" order="descending" data-type="number"/></xsl:apply-templates></xsl:if></xsl:if></div></xsl:if></xsl:template><xsl:template match="wmc:Layer"><xsl:variable name="GroupName" select="wmc:Extension/wmc:Group/@name"/><xsl:variable name="layerName" select="wmc:Name"/><xsl:variable name="LayerTitle" select="wmc:Title"/><xsl:variable name="layerTitle"><xsl:choose><xsl:when test="wmc:Title/@xml:lang"><xsl:value-of select="wmc:Title[@xml:lang=$lang]"/></xsl:when><xsl:otherwise><xsl:value-of select="wmc:Title"/></xsl:otherwise></xsl:choose></xsl:variable><xsl:variable name="layerId"><xsl:choose><xsl:when test="@id"><xsl:value-of select="@id"/></xsl:when><xsl:otherwise><xsl:value-of select="$layerName"/></xsl:otherwise></xsl:choose></xsl:variable><xsl:variable name="rowClass">altRow_<xsl:value-of select="position() mod 2"/></xsl:variable><div id="{$widgetId}_{$layerId}_Row" class="{$rowClass}" onmouseover="config.objects.{$widgetId}.highlightLayer('{$layerId}')"><div style="position:relative;"><div id="{$widgetId}_{$layerId}_Header " class="LayerHeader"><div class="indexLayerHeader" title="{$layerIndexTip}"><xsl:value-of select="$numLayers - count(preceding::wmc:Layer)"/></div><div class="inputLayerHeader"><div class="checkboxLayerHeader"><input type="checkbox" id="vis_{$widgetId}_{$layerId}" title="{$toggleVisTip}" onclick="{$context}.setHidden('{$layerId}',!document.getElementById('vis_{$widgetId}_{$layerId}').checked)"><xsl:if test="@hidden='0'"><xsl:attribute name="checked"/></xsl:if></input></div><div class="buttonLayerHeader"><a href="javascript:config.objects.mySLD.setParam('SLDChange','{$layerId}');" class="mbButton"><img title="{$sldTip}" src="{$skinDir}{$sldEditorImage}" style="width:23px;height:23px"/></a></div><xsl:if test="($numLayers - count(preceding::wmc:Layer))!=1"><div class="buttonLayerHeader"><a href="javascript:{$context}.setParam('moveLayerUp','{$layerId}')" class="mbButton"><img title="{$moveLayerUpTip}" src="{$skinDir}{$moveUpImage}"/></a></div></xsl:if><xsl:if test="($numLayers - count(preceding::wmc:Layer)) != $numLayers"><div class="buttonLayerHeader"><a href="javascript:{$context}.setParam('moveLayerDown','{$layerId}')" class="mbButton"><img title="{$moveLayerDownTip}" src="{$skinDir}{$moveDownImage}"/></a></div></xsl:if><div class="buttonLayerHeader"><a href="javascript:{$context}.setParam('deleteLayer','{$layerId}')" class="mbButton"><img title="{$deleteLayerTip}" src="{$skinDir}{$deleteImage}"/></a></div><xsl:if test="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL"><div class="buttonLayerHeader"><a href="javascript:config.objects.{$widgetId}.switchVisibilityById('{$layerId}_legend');config.objects.{$widgetId}.ChangeImage('image_{$layerId}','{$legendImageEnable}','{$legendImageDisable}');" class="mbButton"><img id="image_{$layerId}" title="{$legendTip}"><xsl:attribute name="SRC"><xsl:choose><xsl:when test="@hidden='1'"><xsl:value-of select="$skinDir"/><xsl:value-of select="$legendImageDisable"/></xsl:when><xsl:otherwise><xsl:value-of select="$skinDir"/><xsl:value-of select="$legendImageEnable"/></xsl:otherwise></xsl:choose></xsl:attribute></img></a></div></xsl:if></div><div class="nameLayerHeader" title="{$nameLayerTip}" onclick="config.objects.{$widgetId}.showLayerMetadata('{$layerId}')"><xsl:choose><xsl:when test="wmc:Title/@xml:lang"><xsl:value-of select="wmc:Title[@xml:lang=$lang]"/></xsl:when><xsl:otherwise><xsl:value-of select="wmc:Title"/></xsl:otherwise></xsl:choose></div><xsl:if test="$opacity='true'"><div id="transptitle" class="transpLayerHeader"><form title="{$opacityTip}"><select name="opacity" onchange="config.objects.{$modelId}.setOpacity('{$layerId}',value)"><xsl:if test="@opacity"><option value="@opacity"><xsl:value-of select="@opacity"/></option></xsl:if><option value="1">1</option><option value="0.8">0.8</option><option value="0.6">0.6</option><option value="0.4">0.4</option><option value="0.2">0.2</option><option value="0">0</option></select></form></div></xsl:if></div></div><xsl:if test="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL"><div class="legend" id="{$layerId}_legend"><xsl:attribute name="style"><xsl:choose><xsl:when test="@hidden='1'">display:none </xsl:when><xsl:otherwise>display:block</xsl:otherwise></xsl:choose></xsl:attribute><xsl:element name="IMG"><xsl:attribute name="SRC"><xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL/wmc:OnlineResource/@xlink:href"/></xsl:attribute></xsl:element></div></xsl:if></div></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/SelectMapLayers.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/SelectMapLayers.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/SelectMapLayers.xsl	(revision 4307)
@@ -1,69 +1,3 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!--
-Description: presents the list of Layers from a WMS capabilities doc.
-            Links provided to preview and add a layer to a Context doc.
-Author:      adair
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-$Id$
-$Name$
--->
-
-<xsl:stylesheet version="1.0" 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-    xmlns:wms="http://www.opengis.net/wms"
-		xmlns:ogc="http://www.opengis.net/ogc"
-    xmlns:xlink="http://www.w3.org/1999/xlink">
-
-  <xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8" indent="yes"/>
-
-  <!-- The coordinates of the DHTML Layer on the HTML page -->
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-  
-  <!-- template rule matching source root element -->
-  <xsl:template match="/WMT_MS_Capabilities | /wms:WMS_Capabilities">
-    <table>
-      <tr>
-        <th colspan="2" align="left">
-          Map Layers from: <xsl:value-of select="wms:Service/wms:Title"/><xsl:value-of select="Service/Title"/>
-        </th>
-      </tr>
-      <xsl:apply-templates/>
-    </table>
-  </xsl:template>
-
-  <!-- template rule matching displayable layers -->
-  <xsl:template match="Layer[Name]">
-    <xsl:variable name="name"><xsl:value-of select="Name"/></xsl:variable>
-    <tr>
-      <td>
-        <xsl:value-of select="Title"/>
-      </td>
-      <td width="200px" nowrap="true">
-        <a href="javascript:config.objects.editContext.addNodeToModel('{$name}')">add to map</a>
-        <!--a href="javascript:config.objects.{$modelId}.setParam('GetMap','{$name}')">show map</a-->
-      </td>
-    </tr>
-    <xsl:apply-templates/>
-  </xsl:template>
-
-  <!-- template rule matching displayable layers for v1.3.x servers-->
-  <xsl:template match="wms:Layer[wms:Name and wms:Dimension/@name='time']">
-    <xsl:variable name="name"><xsl:value-of select="wms:Name"/></xsl:variable>
-    <tr>
-      <td>
-        <xsl:value-of select="wms:Title"/>
-      </td>
-      <td>
-        <a href="javascript:config.objects.{$modelId}.setParam('mapLayer','{$name}')">show map</a>
-        <!--a href="javascript:config.objects.{$modelId}.setParam('GetMap','{$name}')">show map</a-->
-      </td>
-    </tr>
-    <xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="text()|@*"/>
-
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wms="http://www.opengis.net/wms" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:template match="/WMT_MS_Capabilities | /wms:WMS_Capabilities"><table><tr><th colspan="2" align="left">
+          Map Layers from: <xsl:value-of select="wms:Service/wms:Title"/><xsl:value-of select="Service/Title"/></th></tr><xsl:apply-templates/></table></xsl:template><xsl:template match="Layer[Name]"><xsl:variable name="name"><xsl:value-of select="Name"/></xsl:variable><tr><td><xsl:value-of select="Title"/></td><td width="200px" nowrap="true"><a href="javascript:config.objects.editContext.addNodeToModel('{$name}')">add to map</a></td></tr><xsl:apply-templates/></xsl:template><xsl:template match="wms:Layer[wms:Name and wms:Dimension/@name='time']"><xsl:variable name="name"><xsl:value-of select="wms:Name"/></xsl:variable><tr><td><xsl:value-of select="wms:Title"/></td><td><a href="javascript:config.objects.{$modelId}.setParam('mapLayer','{$name}')">show map</a></td></tr><xsl:apply-templates/></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/FilterAttributes.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/FilterAttributes.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/FilterAttributes.js	(revision 4307)
@@ -1,22 +1,19 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: FilterAttributes.js 2527 2007-01-18 16:30:04Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
-mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
 
 /**
  * Parses a WFS DescribeFeatureType response to and provides a form to specify
- * filter parameters.   TBD: not yet completed.
- * This generic widget requires the config file to specify a <stylesheet>.
+ * filter parameters.
  * @constructor
- * @base WidgetBase
+ * @base WidgetBaseXSL
  * @param widgetNode  The widget's XML object node from the configuration document.
  * @param model       The model object that this widget belongs to.
  */
-function xxFilterAttributes(widgetNode, model) {
-  var base = new WidgetBase(this, widgetNode, model);
-
-
+function FilterAttributes(widgetNode, model) {
+  WidgetBaseXSL.apply(this,new Array(widgetNode, model));
 }
Index: lib/spatial/mapbuilder/lib/widget/ZoomIn.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/ZoomIn.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/ZoomIn.js	(revision 4307)
@@ -1,58 +1,28 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: ZoomIn.js 2956 2007-07-09 12:17:52Z steven $
 */
 
 // Ensure this object's dependancies are loaded.
 mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
 
 /**
- * When this button is selected, clicks on the MapPane trigger a zoomIn to the 
- * currently set AOI.
+ * ZoomIn button - zooms in on click or box drag in the map.
  * @constructor
  * @base ButtonBase
- * @author Mike Adair mike.adairATccrs.nrcan.gc.ca
+ * @author Andreas HOcevar andreas.hocevarATgmail.com
  * @param widgetNode The widget node from the Config XML file.
- * @param model  The model for this widget
+ * @param model The model for this widget
  */
 function ZoomIn(widgetNode, model) {
   // Extend ButtonBase
   ButtonBase.apply(this, new Array(widgetNode, model));
 
-  this.zoomBy = 4;//TBD: get this from config
+  this.cursor = 'crosshair';
 
-  /**
-   * Calls the model's ceter at method to zoom in.  If the AOI is a single point,
-   * it zooms in by the zoomBy factor.
-   * @param objRef      Pointer to this object.
-   * @param targetNode  The node for the enclosing HTML tag for this widget.
-   */
-  this.doAction = function(objRef,targetNode) {
-    if (objRef.enabled) {
-      var bbox = objRef.targetModel.getParam("aoi");
-      if ( bbox!=null) {
-        var extent = objRef.targetModel.extent;
-        var ul = bbox[0];
-        var lr = bbox[1];
-        if ( ( ul[0]==lr[0] ) && ( ul[1]==lr[1] ) ) {
-          extent.centerAt( ul, extent.res[0]/objRef.zoomBy );
-        } else {
-          extent.zoomToBox( ul, lr );
-        }
-      }
-    }
+  this.createControl = function() {
+    return OpenLayers.Control.ZoomBox;
   }
-
-  /**
-   * Register for mouseUp events.
-   * @param objRef  Pointer to this object.
-   */
-  this.setMouseListener = function(objRef) {
-    if (objRef.mouseHandler) {
-      objRef.mouseHandler.model.addListener('mouseup',objRef.doAction,objRef);
-    }
-  }
-  this.model.addListener( "loadModel", this.setMouseListener, this );
-
 }
 
Index: lib/spatial/mapbuilder/lib/widget/OpenLSResponse.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/OpenLSResponse.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/OpenLSResponse.js	(revision 4307)
@@ -0,0 +1,21 @@
+/*
+Description: Display the OpenLS Geocoder response as html
+Author:      Steven Ottens AT geodan.nl
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: OpenLSResponse.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Render the response froma Geocoding request
+ * @constructor
+ * @base WidgetBaseXSL
+ * @author Steven Ottens AT geodan nl
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function OpenLSResponse(widgetNode, model) {
+  WidgetBaseXSL.apply(this, new Array(widgetNode, model));
+}
Index: lib/spatial/mapbuilder/lib/widget/CdnWatershedForm.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/CdnWatershedForm.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/CdnWatershedForm.xsl	(revision 4307)
@@ -1,59 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0" 
-    xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-<!--
-Description: Output a form for display of the context doc AOI
-Author:      Mike Adair
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-$Id$
--->
-
-  <xsl:output method="xml" encoding="utf-8"/>
-
-  <!-- The common params set for all widgets -->
-  <xsl:param name="lang">en</xsl:param>
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-
-  <!-- Text params for this widget -->
-  <xsl:param name="watershedTitle">Canadian Watershed Lookup service</xsl:param>
-  <xsl:param name="watershedCode">Watershed code</xsl:param>
-
-  <!-- The name of the form for coordinate output -->
-  <xsl:param name="webServiceUrl">http://devgeo.cciw.ca:8080/WatershedLookupServlet/WatershedLookupServlet</xsl:param>
-  <xsl:param name="formName">WatershedForm</xsl:param>
-
-  <!-- Main html -->
-  <xsl:template match="/">
-    <div>
-    <form name="{$formName}" id="{$formName}" method="get" action="{$webServiceUrl}">
-      <input name="request" type="hidden" value="GetWatershed"/>
-      <input name="version" type="hidden" value="1.0.0"/>
-    
-      <table>
-        <tr>
-          <th align="left" colspan="3">
-            <xsl:value-of select="$watershedTitle"/>
-          </th>
-        </tr>
-        <tr>
-          <td>
-            <xsl:value-of select="$watershedCode"/>
-          </td>
-          <td>
-            <input name="code" type="text" size="10" value="01E"/>
-          </td>
-          <td>
-            <!--input type="submit"/-->
-            <a href="javascript:config.objects.{$widgetId}.submitForm();">load web service data</a>
-          </td>
-        </tr>
-      </table>
-    </form>
-    </div>
-  </xsl:template>
-  
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="lang">en</xsl:param><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="watershedTitle">Canadian Watershed Lookup service</xsl:param><xsl:param name="watershedCode">Watershed code</xsl:param><xsl:param name="webServiceUrl">http://devgeo.cciw.ca:8080/WatershedLookupServlet/WatershedLookupServlet</xsl:param><xsl:param name="formName">WatershedForm</xsl:param><xsl:template match="/"><div><form name="{$formName}" id="{$formName}" method="get" action="{$webServiceUrl}"><input name="request" type="hidden" value="GetWatershed"/><input name="version" type="hidden" value="1.0.0"/><table><tr><th align="left" colspan="3"><xsl:value-of select="$watershedTitle"/></th></tr><tr><td><xsl:value-of select="$watershedCode"/></td><td><input name="code" type="text" size="10" value="01E"/></td><td><a href="javascript:config.objects.{$widgetId}.submitForm();">load web service data</a></td></tr></table></form></div></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/MapScaleBar.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/MapScaleBar.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/MapScaleBar.js	(revision 4307)
@@ -25,7 +25,7 @@
 /*
 adapted from http://mapserver.commenspace.org/tools/scalebar/
 
-$Id$
+$Id: MapScaleBar.js 3879 2008-02-27 14:20:29Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -45,80 +45,28 @@
 function MapScaleBar(widgetNode, model) {
   WidgetBase.apply(this,new Array(widgetNode, model));
 
-	// default properties
-	// may be modified after construction
-	// if modified after ScaleBar.place(), use ScaleBar.update()
-	this.scaleDenominator = 1;    //this will get updated on the first paint
+  // default properties
+  // may be modified after construction
+  // if modified after ScaleBar.place(), use ScaleBar.update()
+  this.scaleDenominator = 1;    //this will get updated on the first paint
 
-	this.displaySystem = 'metric'; // metric or english supported
-  var displaySystem = widgetNode.selectSingleNode("mb:displaySystem");
-  if (displaySystem) this.displaySystem = displaySystem.firstChild.nodeValue;
+  this.displaySystem = this.getProperty("mb:displaySystem", "metric"); // metric, english or nautical supported
+  this.minWidth = this.getProperty("mb:minWidth", 100); // pixels
+  this.maxWidth = this.getProperty("mb:maxWidth", 200); // pixels
+  this.divisions = this.getProperty("mb:divisions", 2);
+  this.subdivisions = this.getProperty("mb:subdivisions", 2);
+  this.showMinorMeasures = Mapbuilder.parseBoolean(this.getProperty("mb:showMinorMeasures", false));
+  this.abbreviateLabel = Mapbuilder.parseBoolean(this.getProperty("mb:abbreviateLabel", false));
+  this.singleLine = Mapbuilder.parseBoolean(this.getProperty("mb:singleLine", false));
+  this.align = this.getProperty("mb:align", "center"); // left, center, or right supported
+  this.resolution = 72; // dpi
 
-	this.minWidth = 100; // pixels
-  var minWidth = widgetNode.selectSingleNode("mb:minWidth");
-  if (minWidth) this.minWidth = minWidth.firstChild.nodeValue;
+  // create scalebar elements
+  this.containerId = this.outputNodeId;
+  this.labelContainerId = this.containerId + "Label";
+  this.graphicsContainerId = this.containerId + "Graphics";
+  this.numbersContainerId = this.containerId + "Numbers";
 
-	this.maxWidth = 200; // pixels
-  var maxWidth = widgetNode.selectSingleNode("mb:maxWidth");
-  if (maxWidth) this.maxWidth = maxWidth.firstChild.nodeValue;
-
-	this.divisions = 2;
-  var divisions = widgetNode.selectSingleNode("mb:divisions");
-  if (divisions) this.divisions = divisions.firstChild.nodeValue;
-
-	this.subdivisions = 2;
-  var subdivisions = widgetNode.selectSingleNode("mb:subdivisions");
-  if (subdivisions) this.subdivisions = subdivisions.firstChild.nodeValue;
-
-	this.showMinorMeasures = false;
-  var showMinorMeasures = widgetNode.selectSingleNode("mb:showMinorMeasures");
-  if (showMinorMeasures && showMinorMeasures.firstChild.nodeValue=="true") this.showMinorMeasures = true;
-
-	this.abbreviateLabel = false;
-  var abbreviateLabel = widgetNode.selectSingleNode("mb:abbreviateLabel");
-  if (abbreviateLabel && abbreviateLabel.firstChild.nodeValue=="true") this.abbreviateLabel = true;
-
-	this.singleLine = false;
-  var singleLine = widgetNode.selectSingleNode("mb:singleLine");
-  if (singleLine && singleLine.firstChild.nodeValue=="true") this.singleLine = true;
-
-	this.align = 'center'; // left, center, or right supported
-  var align = widgetNode.selectSingleNode("mb:align");
-  if (align) this.align = align.firstChild.nodeValue;
-
-	this.resolution = 72; // dpi
-
-	// create scalebar elements
-	this.container = document.createElement('div');
-	this.container.className = 'sbWrapper';
-	this.container.style.position = 'relative';
-	this.container.setAttribute("id",this.outputNodeId);
-	this.labelContainer = document.createElement('div');
-	this.labelContainer.className = 'sbUnitsContainer';
-	this.labelContainer.style.position = 'absolute';
-	this.graphicsContainer = document.createElement('div');
-	this.graphicsContainer.style.position = 'absolute';
-	this.graphicsContainer.className = 'sbGraphicsContainer';
-	this.numbersContainer = document.createElement('div');
-	this.numbersContainer.style.position = 'absolute';
-	this.numbersContainer.className = 'sbNumbersContainer';
-
-	// private functions
-	// put in some markers and bar pieces so style attributes can be grabbed
-	// this is a solution for Safari support
-	var markerMajor = document.createElement('div');
-	markerMajor.className = 'sbMarkerMajor';
-	this.graphicsContainer.appendChild(markerMajor);
-	var markerMinor = document.createElement('div');
-	markerMinor.className = 'sbMarkerMinor';
-	this.graphicsContainer.appendChild(markerMinor);
-	var barPiece = document.createElement('div');
-	barPiece.className = 'sbBar';
-	this.graphicsContainer.appendChild(barPiece);
-	var barPieceAlt = document.createElement('div');
-	barPieceAlt.className = 'sbBarAlt';
-	this.graphicsContainer.appendChild(barPieceAlt);
-
   /**
    * adds a bbox listener on the model 
    */
@@ -126,6 +74,62 @@
   this.model.addListener("refresh", this.update, this);
 }
 
+MapScaleBar.prototype.getContainerNode = function() {
+  var node = document.getElementById(this.containerId);
+  if (!node) {
+    var node = document.createElement('div');
+    node.className = 'sbWrapper';
+    node.style.position = 'relative';
+    node.setAttribute("id",this.containerId);
+  }
+  return node;
+}
+MapScaleBar.prototype.getGraphicsContainerNode = function() {
+  var node = document.getElementById(this.graphicsContainerId);
+  if (!node) {
+    var node = document.createElement('div');
+    node.style.position = 'absolute';
+    node.className = 'sbGraphicsContainer';
+    node.setAttribute("id",this.graphicsContainerId);
+
+    // put in some markers and bar pieces so style attributes can be grabbed
+    // this is a solution for Safari support
+    var markerMajor = document.createElement('div');
+    markerMajor.className = 'sbMarkerMajor';
+    node.appendChild(markerMajor);
+    var markerMinor = document.createElement('div');
+    markerMinor.className = 'sbMarkerMinor';
+    node.appendChild(markerMinor);
+    var barPiece = document.createElement('div');
+    barPiece.className = 'sbBar';
+    node.appendChild(barPiece);
+    var barPieceAlt = document.createElement('div');
+    barPieceAlt.className = 'sbBarAlt';
+    node.appendChild(barPieceAlt);
+  }
+  return node;
+}
+MapScaleBar.prototype.getLabelContainerNode = function() {
+  var node = document.getElementById(this.labelContainerId);
+  if (!node) {
+    var node = document.createElement('div');
+    node.className = 'sbUnitsContainer';
+    node.style.position = 'absolute';
+    node.setAttribute("id",this.labelContainerId);
+  }
+  return node;
+}
+MapScaleBar.prototype.getNumbersContainerNode = function() {
+  var node = document.getElementById(this.numbersContainerId);
+  if (!node) {
+    var node = document.createElement('div');
+    node.style.position = 'absolute';
+    node.className = 'sbNumbersContainer';
+    node.setAttribute("id",this.numbersContainerId);
+  }
+  return node;
+}
+
 /**
  * Render the widget.
  * @param objRef Pointer to widget object.
@@ -134,9 +138,9 @@
 
   //create the output node the first time this is called
   var outputNode = document.getElementById( objRef.outputNodeId );
-  if (!outputNode) objRef.node.appendChild(objRef.container);
+  if (!outputNode) objRef.getNode().appendChild(objRef.getContainerNode());
 
-  var scaleDenominator = objRef.model.extent.getScale()
+  var scaleDenominator = objRef.model.map.getScale();
 	if(scaleDenominator != null) {
 		objRef.scaleDenominator = scaleDenominator;
 	}
@@ -198,7 +202,7 @@
 				var aSheet = document.styleSheets[sheetIndex];
 				if(!aSheet.disabled) {
 					var allRules;
-					if(typeof(aSheet.cssRules) == 'undefined') {
+					if(typeof(aSheet.rules) == 'undefined') {
 						if(typeof(aSheet.rules) == 'undefined') {
 							// can't get rules, assume zero
 							return 0;
@@ -208,7 +212,7 @@
 						}
 					}
 					else {
-						allRules = aSheet.cssRules;
+						allRules = aSheet.rules;
 					}
 					for(var ruleIndex = 0; ruleIndex < allRules.length; ++ruleIndex) {
 						var aRule = allRules[ruleIndex];
@@ -245,18 +249,27 @@
 		}
 	}
 	// update the container title (for displaying scale as a tooltip)
-	objRef.container.title = 'scale 1:' + formatNumber(objRef.scaleDenominator);
+	var container = objRef.getContainerNode();
+	var graphicsContainer = objRef.getGraphicsContainerNode();
+	var labelContainer = objRef.getLabelContainerNode();
+	var numbersContainer = objRef.getNumbersContainerNode();
+	container.title = mbGetMessage("scale", formatNumber(objRef.scaleDenominator));
 	// measurementProperties holds display units, abbreviations,
 	// and conversion to inches (since we're using dpi) - per measurement sytem
 	var measurementProperties = new Object();
 	measurementProperties.english = {
-		units: ['miles', 'feet', 'inches'],
-		abbr: ['mi', 'ft', 'in'],
+		units: [mbGetMessage("unitMiles"), mbGetMessage("unitFeet"), mbGetMessage("unitInches")],
+		abbr: [mbGetMessage("unitMilesAbbr"), mbGetMessage("unitFeetAbbr"), mbGetMessage("unitInchesAbbr")],
 		inches: [63360, 12, 1]
 	}
+	measurementProperties.nautical = {
+		units: [mbGetMessage("unitNauticalMiles"), mbGetMessage("unitFeet"), mbGetMessage("unitInches")],
+		abbr: [mbGetMessage("unitNauticalMilesAbbr"), mbGetMessage("unitFeetAbbr"), mbGetMessage("unitInchesAbbr")],
+		inches: [72913.3860, 12, 1]
+	}
 	measurementProperties.metric = {
-		units: ['kilometers', 'meters', 'centimeters'],
-		abbr: ['km', 'm', 'cm'],
+		units: [mbGetMessage("unitKilometers"), mbGetMessage("unitMeters"), mbGetMessage("unitCentimeters")],
+		abbr: [mbGetMessage("unitKilometersAbbr"), mbGetMessage("unitMetersAbbr"), mbGetMessage("unitCentimetersAbbr")],
 		inches: [39370.07874, 39.370079, 0.393701]
 	}
 	// check each measurement unit in the display system
@@ -330,14 +343,14 @@
 		xOffsetMarkerMinor = 0.5;
 	}
 	// clean out any old content from containers
-	while(objRef.labelContainer.hasChildNodes()) {
-		objRef.labelContainer.removeChild(objRef.labelContainer.firstChild);
+	while(labelContainer.hasChildNodes()) {
+		labelContainer.removeChild(labelContainer.firstChild);
 	}
-	while(objRef.graphicsContainer.hasChildNodes()) {
-		objRef.graphicsContainer.removeChild(objRef.graphicsContainer.firstChild);
+	while(graphicsContainer.hasChildNodes()) {
+		graphicsContainer.removeChild(graphicsContainer.firstChild);
 	}
-	while(objRef.numbersContainer.hasChildNodes()) {
-		objRef.numbersContainer.removeChild(objRef.numbersContainer.firstChild);
+	while(numbersContainer.hasChildNodes()) {
+		numbersContainer.removeChild(numbersContainer.firstChild);
 	}
 	// create all divisions
 	var aMarker, aBarPiece, numbersBox, xOffset;
@@ -360,7 +373,7 @@
 		aMarker.style.overflow = 'hidden';
 		aMarker.style.left = Math.round(xPosition - xOffsetMarkerMajor) + 'px';
 		aMarker.appendChild(document.createTextNode(' '));
-		objRef.graphicsContainer.appendChild(aMarker);
+		graphicsContainer.appendChild(aMarker);
 		// add initial measure
 		if(!objRef.singleLine) {
 			numbersBox = document.createElement('div');
@@ -377,7 +390,7 @@
 				numbersBox.style.left = Math.round(xPosition - (objRef.subdivisions * subdivisionPixelLength)) + 'px';
 			}
 			numbersBox.appendChild(document.createTextNode(markerMeasure));
-			objRef.numbersContainer.appendChild(numbersBox);
+			numbersContainer.appendChild(numbersBox);
 		}
 		// create all subdivisions
 		for(var subdivisionIndex = 0; subdivisionIndex < objRef.subdivisions; ++subdivisionIndex) {
@@ -394,7 +407,7 @@
 				aBarPiece.style.left = Math.round(xPosition - xOffsetBarAlt) + 'px';
 			}
 			aBarPiece.appendChild(document.createTextNode(' '));
-			objRef.graphicsContainer.appendChild(aBarPiece);
+			graphicsContainer.appendChild(aBarPiece);
 			// add minor marker if not the last subdivision
 			if(subdivisionIndex < (objRef.subdivisions - 1)) {
 				// set xPosition and markerMeasure to end of subdivision
@@ -407,7 +420,7 @@
 				aMarker.style.overflow = 'hidden';
 				aMarker.style.left = Math.round(xPosition - xOffsetMarkerMinor) + 'px';
 				aMarker.appendChild(document.createTextNode(' '));
-				objRef.graphicsContainer.appendChild(aMarker);
+				graphicsContainer.appendChild(aMarker);
 				if(objRef.showMinorMeasures && !objRef.singleLine) {
 					// add corresponding measure
 					numbersBox = document.createElement('div');
@@ -418,7 +431,7 @@
 					numbersBox.style.width = Math.round(subdivisionPixelLength * 2) + 'px';
 					numbersBox.style.left = Math.round(xPosition - subdivisionPixelLength) + 'px';
 					numbersBox.appendChild(document.createTextNode(markerMeasure));
-					objRef.numbersContainer.appendChild(numbersBox);
+					numbersContainer.appendChild(numbersBox);
 				}
 			}
 		}
@@ -434,7 +447,7 @@
 	aMarker.style.overflow = 'hidden';
 	aMarker.style.left = Math.round(xPosition - xOffsetMarkerMajor) + 'px';
 	aMarker.appendChild(document.createTextNode(' '));
-	objRef.graphicsContainer.appendChild(aMarker);
+	graphicsContainer.appendChild(aMarker);
 	// add final measure
 	if(!objRef.singleLine) {
 		numbersBox = document.createElement('div');
@@ -451,7 +464,7 @@
 			numbersBox.style.left = Math.round(xPosition - (objRef.subdivisions * subdivisionPixelLength)) + 'px';
 		}
 		numbersBox.appendChild(document.createTextNode(markerMeasure));
-		objRef.numbersContainer.appendChild(numbersBox);
+		numbersContainer.appendChild(numbersBox);
 	}
 	// add content to the label container
 	var labelBox = document.createElement('div');
@@ -478,7 +491,7 @@
 		labelText += ' ' + displayUnits;
 	}
 	labelBox.appendChild(document.createTextNode(labelText));
-	objRef.labelContainer.appendChild(labelBox);
+	labelContainer.appendChild(labelBox);
 	// support for browsers without the Document.styleSheets property (Opera)
 	if(!document.styleSheets) {
 		// override custom css with default
@@ -494,7 +507,7 @@
 		document.getElementsByTagName('head').item(0).appendChild(defaultStyle);
 	}
 	// append the child containers to the parent container
-	objRef.container.appendChild(objRef.graphicsContainer);
-	objRef.container.appendChild(objRef.labelContainer);
-	objRef.container.appendChild(objRef.numbersContainer);
+	container.appendChild(graphicsContainer);
+	container.appendChild(labelContainer);
+	container.appendChild(numbersContainer);
 }
Index: lib/spatial/mapbuilder/lib/widget/OpenLSForm.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/OpenLSForm.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/OpenLSForm.xsl	(revision 4307)
@@ -0,0 +1,2 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="formName">GeocoderForm</xsl:param><xsl:param name="pc">Postalcode: </xsl:param><xsl:param name="street">Street: </xsl:param><xsl:param name="number">Number: </xsl:param><xsl:param name="city">City: </xsl:param><xsl:param name="municipality">Municipality: </xsl:param><xsl:param name="countryCode">Country: </xsl:param><xsl:param name="load">search</xsl:param><xsl:template match="/"><div id="geocoder"><form name="{$formName}" id="{$formName}"><table><tr><td><xsl:value-of select="$pc"/></td><td><input name="pcValue" type="text"/></td></tr><tr><td><xsl:value-of select="$street"/></td><td><input name="streetValue" type="text"/></td></tr><tr><td><xsl:value-of select="$number"/></td><td><input name="numberValue" type="text"/></td></tr><tr><td><xsl:value-of select="$city"/></td><td><input name="cityValue" type="text"/></td></tr><tr><td><xsl:value-of select="$municipality"/></td><td><input name="municipalityValue" type="text"/></td></tr><tr/><tr><td><xsl:value-of select="$countryCode"/></td><td><input name="countryValue" type="text"/></td></tr><tr><td/><td><a href="javascript:config.objects.{$widgetId}.submitForm(config.objects.{$widgetId});"><xsl:value-of select="$load"/></a></td></tr></table></form></div></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/Measurement.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Measurement.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/Measurement.js	(revision 4307)
@@ -0,0 +1,190 @@
+/*
+Author: imke doerge AT geodan.nl
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Measurement.js 3821 2008-02-01 13:58:30Z ahocevar $
+*/
+
+// Ensure this object's dependencies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/EditButtonBase.js");
+
+
+/**
+ * When this button is selected, clicks on the MapPane will add a
+ * new point to a line and the total distance of the line will be calculated
+ * @constructor
+ * @base EditButtonBase
+ * @author Imke Doerge AT geodan.nl
+ * @param widgetNode The widget from the Config XML file.
+ * @param model  The parent model for this  widget.
+ */
+function Measurement(widgetNode, model) {
+  EditButtonBase.apply(this, new Array(widgetNode, model));
+
+  /**
+   * Interactive EditLine control.
+   * @param objRef reference to this object.
+   * @return {OpenLayers.Control} class of the OL control.
+   */
+  this.createControl = function(objRef) {
+    var Control = OpenLayers.Class(OpenLayers.Control.DrawFeature, {
+      // this is needed because all editing tools are of type
+      // OpenLayers.Control.DrawFeature
+      CLASS_NAME: 'mbMeasurement'
+    });
+    return Control;
+  }
+  
+  this.instantiateControl = function(objRef, Control) {
+     var control = new Control(objRef.featureLayer, OpenLayers.Handler.Path,
+          {callbacks: {point: objRef.startAction}});
+    control.objRef = objRef;
+    control.activate = function() {
+      Control.prototype.activate.apply(this, arguments);
+      objRef.targetModel.setParam('showDistance', 0);
+    }
+    control.deactivate = function() {
+      Control.prototype.deactivate.apply(this, arguments);
+      objRef.targetModel.setParam('showDistance', null);
+    }
+    return control;
+  }
+  
+  // override default cursor by user
+  // cursor can be changed by specifying a new cursor in config file
+  this.cursor = "crosshair";	
+        
+  var totalDistance=0;
+  var distance = 0;
+  var state = false;
+  var restart = false;
+  
+  this.startAction = function(pointGeometry) {
+    var objRef = this.objRef;
+    objRef.pointGeometry = pointGeometry;
+    if (!objRef.targetModel.doc) {
+      objRef.targetModel.addListener("loadModel", objRef.doAction, objRef);
+      config.loadModel(objRef.targetModel.id, objRef.defaultModelUrl);
+    } else {
+      objRef.doAction(objRef);
+    }
+  }
+  /**
+   * Append a point to a line and calculate the distance between all
+   * points on the line. This will be called by the OpenLayers control
+   * for this widget in the context of the control.
+   * @param pointGeometry OpenLayers Geometry of the point to add
+   */
+  this.doAction = function(objRef) {
+    pointGeometry = objRef.pointGeometry;
+    objRef.targetModel.removeListener("loadModel", objRef.doAction, objRef);
+    if (objRef.enabled) {
+		  if(objRef.restart) {
+        objRef.model.setParam("clearMeasurementLine");
+			  objRef.restart= false;
+			}
+      var point=[pointGeometry.x, pointGeometry.y];
+      var old=objRef.targetModel.getXpathValue(objRef.targetModel,objRef.featureXpath);
+      if(!old) old="";
+        sucess=objRef.targetModel.setXpathValue(objRef.targetModel,objRef.featureXpath,old+" "+point[0]+","+point[1]);
+      if(!sucess) {
+        alert(mbGetMessage("invalidFeatureXpathMeasurement", objRef.featureXpath));
+      }
+			
+      var lineCoords = objRef.targetModel.getXpathValue(objRef.targetModel, objRef.featureXpath);
+      var coordArray = lineCoords.split(" ");
+      if (coordArray.length >= 3) {
+        var point_P = coordArray[coordArray.length-2];
+        var point_Q = coordArray[coordArray.length-1];
+            
+        //Split point in x and y coordinate
+        var P =point_P.split(",");
+        var Q =point_Q.split(",");
+              
+        //transform coordinates from lat/lon to x/y in meter 
+        objRef.srs = srs.toUpperCase();
+        objRef.proj = new OpenLayers.Projection(objRef.srs);
+        
+        if (!P || !Q  ){
+          alert(mbGetMessage("projectionNotSupported"));
+        }
+        else {
+          //If projection is in meters use simple pythagoras
+          if(objRef.proj.getUnits() == "meters" || objRef.proj.getUnits() == "m") {
+            Xp=parseFloat(P[0]);
+            Yp=parseFloat(P[1]);
+            Xq=parseFloat(Q[0]);
+            Yq=parseFloat(Q[1]);
+            // calculate the distance between these two points via Pythagoras' theorem  
+            distance=Math.sqrt(((Xp-Xq)*(Xp-Xq))+((Yp-Yq)*(Yp-Yq)))
+			      if(distance==0) {
+              objRef.restart = true;
+              objRef.model.setParam("clearMouseLine");objRef.targetModel.setParam("mouseRenderer", false);
+		    		return;
+				  	}
+            totalDistance = Math.round(totalDistance + distance);
+          }
+          //If projection is in degrees use great circle formulae 
+          //http://williams.best.vwh.net/avform.htm#GCF
+          else if(objRef.proj.getUnits() == "degrees" || objRef.proj.getUnits() == null) {
+            var deg2rad = Math.PI / 180.0
+            var centerOfEarth=new Array(0,0);
+            LonpRad=parseFloat(P[0]) * deg2rad;
+            LatpRad=parseFloat(P[1]) * deg2rad;
+            LonqRad=parseFloat(Q[0]) * deg2rad;
+            LatqRad=parseFloat(Q[1]) * deg2rad;
+            
+            if((LonpRad>0 && LonqRad<0) || (LonpRad<0 && LonqRad>0)){
+	            if(LonpRad<0){
+	           	 	radDistance=Math.acos(Math.sin(LatpRad)*Math.sin(LatqRad)+Math.cos(LatpRad)*Math.cos(LatqRad)*Math.cos(LonpRad));
+	            	radDistance+=Math.acos(Math.sin(LatpRad)*Math.sin(LatqRad)+Math.cos(LatpRad)*Math.cos(LatqRad)*Math.cos(LonqRad));
+	            }
+	            if(LonqRad<0){
+	            	radDistance=Math.acos(Math.sin(LatpRad)*Math.sin(LatqRad)+Math.cos(LatpRad)*Math.cos(LatqRad)*Math.cos(LonqRad));
+	            	radDistance+=Math.acos(Math.sin(LatpRad)*Math.sin(LatqRad)+Math.cos(LatpRad)*Math.cos(LatqRad)*Math.cos(LonpRad));
+	            }
+             }
+             else{
+             
+            	radDistance=Math.acos(Math.sin(LatpRad)*Math.sin(LatqRad)+Math.cos(LatpRad)*Math.cos(LatqRad)*Math.cos(LonpRad-LonqRad));
+            
+            }
+            //radDistance=Math.acos(Math.sin(Latp)*Math.sin(Latq)+Math.cos(Latp)*Math.cos(Latq)*Math.cos(Lonp-Lonq));
+            distance =radDistance * 6378137;
+            if(distance==0) {
+              objRef.restart = true;
+              objRef.model.setParam("clearMouseLine");objRef.targetModel.setParam("mouseRenderer", false);
+            return;
+            }
+            totalDistance = Math.round(totalDistance + distance);
+          }
+          else alert(mbGetMessage("cantCalculateDistance"));
+        }
+      }    
+      objRef.targetModel.setParam("showDistance", totalDistance); // set parameter for the distance output
+    }
+  }
+  
+  /**
+   * This will be called as defined in EditButtonBase.js. It is called
+   * when measurement is finished (ie. when user double-clicks on the map)
+   * @param objRef reference to this widget
+   * @param feature complete measurement path - currently unused.
+   */
+  this.setFeature = function(objRef, feature) {
+    objRef.restart = true;
+  }
+    
+  this.clearMeasurementLine = function(objRef){
+    if (totalDistance !=0) {
+      totalDistance=0;
+      sucess=objRef.targetModel.setXpathValue(objRef.targetModel,objRef.featureXpath,"");
+      if(!sucess){
+        alert(mbGetMessage("invalidFeatureXpathMeasurement", objRef.featureXpath));
+      }
+      objRef.targetModel.setParam("refresh");
+    }
+  }
+  //add a Listener to the model
+	this.model.addListener("clearMeasurementLine", this.clearMeasurementLine, this);
+
+}
Index: lib/spatial/mapbuilder/lib/widget/GetFeatureInfo.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/GetFeatureInfo.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/GetFeatureInfo.js	(revision 4307)
@@ -1,11 +1,11 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
 Dependancies: Context
-$Id$
+$Id: GetFeatureInfo.js 3906 2008-03-05 10:27:30Z ahocevar $
 */
 
 // Ensure this object's dependancies are loaded.
-mapbuilder.loadScript(baseDir+"/tool/ButtonBase.js");
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
 /**
  * Implements WMS GetFeatureInfo functionality, popping up a query result
  * window when user clicks on map.
@@ -16,94 +16,111 @@
  * @param toolNode The XML node in the Config file referencing this object.
  * @param model The widget object which this tool is associated with.
  */
-function GetFeatureInfo(toolNode, model) {
+function GetFeatureInfo(widgetNode, model) {
   // Extend ButtonBase
-  ButtonBase.apply(this, new Array(toolNode, model));
+  ButtonBase.apply(this, new Array(widgetNode, model));
 
   /** Xsl to build a GetFeatureInfo URL */
-  this.xsl=new XslProcessor(baseDir+"/tool/GetFeatureInfo.xsl");
+  this.xsl = new XslProcessor(
+      this.getProperty("mb:stylesheet", baseDir+"/tool/GetFeatureInfo.xsl"));
   
-  /** Determine whether Query result is returned as HTML or GML */
-  // TBD This should be stored in the Config file.
-  //this.infoFormat="application/vnd.ogc.gml";
-  //this.infoFormat="text/plain";
-  this.infoFormat="text/html";
+  /**
+   * Determine whether Query result is returned as text, HTML or GML
+   * This is usually text/plain, text/html or application/vnd.ogc.gml
+   */
+  this.infoFormat = this.getProperty("mb:infoFormat", "application/vnd.ogc.gml");
 
+  // Get the value for featureCount from the configfile
+  this.featureCount = this.getProperty("mb:featureCount", 1);
+
+  this.cursor = "pointer"; 
+
   /**
-   * Open window with query info.
-   * This function is called when user clicks map with Query tool.
-   * @param objRef      Pointer to this GetFeatureInfo object.
-   * @param targetNode  The node for the enclosing HTML tag for this widget.
+   * GetFeatureInfo control
+   * @param objRef reference to this object.
+   * @return {OpenLayers.Control} class of the OL control.
    */
+  this.createControl = function(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      CLASS_NAME: 'mbControl.GetFeatureInfo',
+      type: OpenLayers.Control.TYPE_TOOL,
+      draw: function() {
+        this.handler = new OpenLayers.Handler.Box( this,
+          {done: this.zoomBox}, {keyMask: this.keyMask} );
+      },
+      zoomBox: function(position) {
+        var objRef = this.objRef
+        if (objRef.enabled) {
+          var x,y;
+          if (position instanceof OpenLayers.Bounds) {
+            x = position.left + (position.right - position.left) / 2;
+            y = position.top + (position.bottom - position.top) / 2;
+          } else {
+            x = position.x;
+            y = position.y;
+          }
+          objRef.targetModel.deleteTemplates();
+          var selectedLayer=objRef.targetContext.getParam("selectedLayer");
+          if (selectedLayer==null) {
+            var queryList=objRef.targetContext.getQueryableLayers();
+          	if (queryList.length==0) {
+               alert(mbGetMessage("noQueryableLayers"));
+               return;
+          	}
+            else {
+              for (var i=0; i<queryList.length; ++i) {
+                var layerNode = queryList[i];
+                
+                // Get the name of the layer
+                var layerName = Mapbuilder.getProperty(layerNode, "wmc:Name", "");
 
-  this.doAction = function(objRef,targetNode) {
-    if (objRef.enabled) {
-      objRef.targetModel.deleteTemplates();
-      var selectedLayer=objRef.context.getParam("selectedLayer");
-      if (selectedLayer==null) {
-        var queryList=objRef.context.getQueryableLayers();
-      	if (queryList.length==0) {
-           alert("There are no queryable layers available, please add a queryable layer to the context.");
-           return;
-      	}
-        else {
-          for (var i=0; i<queryList.length; ++i) {
-            var layerNode=queryList[i];
-            var layerName=layerNode.firstChild.data;
-            var hidden = objRef.context.getHidden(layerName);
-            if (hidden == 0) { //query only visible layers
-              objRef.xsl.setParameter("queryLayer", layerName);
-              objRef.xsl.setParameter("xCoord", targetNode.evpl[0]);
-              objRef.xsl.setParameter("yCoord", targetNode.evpl[1]);
-              objRef.xsl.setParameter("infoFormat", objRef.infoFormat);
-              objRef.xsl.setParameter("featureCount", "1");
+                // Get the layerId. Fallback to layerName if non-existent
+                var layerId = layerNode.getAttribute("id") || layerName;
 
-              urlNode=objRef.xsl.transformNodeToObject(objRef.context.doc);
-              url=urlNode.documentElement.firstChild.nodeValue;
-              httpPayload = new Object();
-  	          httpPayload.url = url;
+                var hidden = objRef.targetContext.getHidden(layerId);
+                if (hidden == 0) { //query only visible layers
+                  objRef.xsl.setParameter("queryLayer", layerName);
+                  objRef.xsl.setParameter("layer",layerName);
+    				      objRef.xsl.setParameter("xCoord", x);
+                  objRef.xsl.setParameter("yCoord", y);
+                  objRef.xsl.setParameter("infoFormat", objRef.infoFormat);
+                  objRef.xsl.setParameter("featureCount", objRef.featureCount);
+    
+                  urlNode=objRef.xsl.transformNodeToObject(objRef.targetContext.doc);
+                  url=getNodeValue(urlNode.documentElement);
+                  httpPayload = new Object();
+      	          httpPayload.url = url;
+                  httpPayload.method="get";
+                  httpPayload.postData=null;
+                  objRef.targetModel.newRequest(objRef.targetModel,httpPayload);
+                }
+              }
+            }
+          }
+          else {
+            objRef.xsl.setParameter("queryLayer", selectedLayer);
+            objRef.xsl.setParameter("layer", layerName);
+            objRef.xsl.setParameter("xCoord", x);
+            objRef.xsl.setParameter("yCoord", y);
+            objRef.xsl.setParameter("infoFormat", objRef.infoFormat);
+            objRef.xsl.setParameter("featureCount", objRef.featureCount);
+  
+            var urlNode=objRef.xsl.transformNodeToObject(objRef.targetContext.doc);
+            var url=getNodeValue(urlNode.documentElement);
+  
+            if (objRef.infoFormat=="text/html"){
+              window.open(url,'queryWin','height=200,width=300,scrollbars=yes');
+            } else {
+              var httpPayload = new Object();
+              httpPayload.url = url;
               httpPayload.method="get";
               httpPayload.postData=null;
               objRef.targetModel.newRequest(objRef.targetModel,httpPayload);
-              }
             }
           }
         }
-        else {
-          objRef.xsl.setParameter("queryLayer", selectedLayer);
-          objRef.xsl.setParameter("xCoord", targetNode.evpl[0]);
-          objRef.xsl.setParameter("yCoord", targetNode.evpl[1]);
-          objRef.xsl.setParameter("infoFormat", objRef.infoFormat);
-          objRef.xsl.setParameter("featureCount", "1");
-
-          var urlNode=objRef.xsl.transformNodeToObject(objRef.context.doc);
-          var url=urlNode.documentElement.firstChild.nodeValue;
-
-          if (objRef.infoFormat=="text/html"){
-            window.open(url,'queryWin','height=200,width=300,scrollbars=yes');
-          } else {
-            var httpPayload = new Object();
-            httpPayload.url = url;
-            httpPayload.method="get";
-            httpPayload.postData=null;
-            objRef.targetModel.newRequest(objRef.targetModel,httpPayload);
-          }
-        }
       }
-    }
-
-  /**
-   * Register for mouseUp events.
-   * @param objRef  Pointer to this object.
-   */
-  this.setMouseListener = function(objRef) {
-    if (objRef.mouseHandler) {
-      objRef.mouseHandler.model.addListener('mouseup',objRef.doAction,objRef);
-    }
-    objRef.context=objRef.widgetNode.selectSingleNode("mb:context");
-    if (objRef.context){
-      objRef.context=eval("config.objects."+objRef.context.firstChild.nodeValue);
-    }
+    });
+    return Control;
   }
-  config.addListener( "loadModel", this.setMouseListener, this );
 }
Index: lib/spatial/mapbuilder/lib/widget/WidgetBase.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/WidgetBase.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/WidgetBase.js	(revision 4307)
@@ -1,18 +1,11 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: WidgetBase.js 3880 2008-02-27 15:37:08Z gjvoosten $
 */
 
 /**
- * Base Class for widgets.  Associates a node on the page with a stylesheet and
- * model.  All widgets must extend this base class.
- * Defines the default paint() method for all widgets which is where the 
- * stylesheet is applied to the model XML document.
- * To override widget.paint(), define it before calling this constructor.
- * The stylesheet URL defaults to "widget/<widgetName>.xsl" if it is not defined
- * in config file.  Set a stylesheet property containing an XSL URL in config
- * to customize the stylesheet used.
- * All stylesheets will have "modelId" and "widgetId" parameters set when called.
+ * Base Class for widgets. All widgets must extend this base class.
+ * Defines the default prePaint() and postPaint() methods for all widgets.
  *
  * @constructor
  * @author Mike Adair 
@@ -24,43 +17,56 @@
   this.model = model;
   this.widgetNode = widgetNode;
 //alert(widgetNode.nodeName);
+	var templatedWidget = false;
+	if(model.modelNode.attributes.getNamedItem("createByTemplate") && model.modelNode.attributes.getNamedItem("createByTemplate").nodeValue=='true'){
+		widgetNode.setAttribute("id","MbWidget_" + mbIds.getId());
+	  templatedWidget = true;
+  }
 
   /** Widget's Id defined in the Config (required) */
   if (widgetNode.attributes.getNamedItem("id")) {
     this.id = widgetNode.attributes.getNamedItem("id").nodeValue;
   } else {
-    alert("id required for object:" + widgetNode.nodeName );
+    alert(mbGetMessage("idRequired", widgetNode.nodeName));
   }
+  
+  /**
+   * Convenient access to Mapbuilder.getProperty
+   * @param property property to get
+   * @param default value to use if property is not set
+   * @return the value for the property
+   */
+  this.getProperty = function(property, defaultValue) {
+    return Mapbuilder.getProperty(widgetNode, property, defaultValue);
+  }
 
   //allow the widget output to be replaced on each paint call
-  this.autoRefresh = true;
-  var outputNode = widgetNode.selectSingleNode("mb:outputNodeId");
-  if ( outputNode ) {
-    this.outputNodeId = outputNode.firstChild.nodeValue;
-    this.autoRefresh = false;
-  } else {
-    this.outputNodeId = "MbWidget_" + mbIds.getId();
+  if(templatedWidget){
+    this.outputNodeId = this.id;
+  }else {
+    this.outputNodeId = this.getProperty("mb:outputNodeId", "MbWidget_" + mbIds.getId());
   }
 
   //until htmlTagNode becomes required allow setting of it by widget id
   if (!this.htmlTagId) {
-    var htmlTagNode = widgetNode.selectSingleNode("mb:htmlTagId");
-    if (htmlTagNode) {
-      this.htmlTagId = htmlTagNode.firstChild.nodeValue;
-    } else {
-      this.htmlTagId = this.id;
-    }
+    this.htmlTagId = this.getProperty("mb:htmlTagId", this.id);
   }
 
-  // Node in main HTML to attach widget to.
-  this.node = document.getElementById(this.htmlTagId);
-  if(!this.node) {
-    //alert("htmlTagId: "+this.htmlTagId+" for widget "+widgetNode.nodeName+" not found in config");
+  this.getNode = function() {
+    // Node in main HTML to attach widget to.
+    var node = document.getElementById(this.htmlTagId);
+    if(!node) {
+      //alert("htmlTagId: "+this.htmlTagId+" for widget "+widgetNode.nodeName+" not found in config");
+    }
+    return node;
   }
 
-  //set an empty debug property in config to see inputs and outputs of stylehseet
-  if ( widgetNode.selectSingleNode("mb:debug") ) this.debug=true;
+  //allow widgets to not automatically update themseleves in certain circumstances (see layerControl for example)
+  this.autoRefresh = Mapbuilder.parseBoolean(this.getProperty("mb:autoRefresh", true));
 
+  //set a debug property in config to see inputs and outputs of stylehseet
+  this.debug = Mapbuilder.parseBoolean(this.getProperty("mb:debug", false));
+
   /**
    * Initialize dynamic properties.set the target model
    * @param toolRef Pointer to this object.
@@ -67,11 +73,11 @@
    */
   this.initTargetModel = function(objRef) {
     //set the target model
-    var targetModel = objRef.widgetNode.selectSingleNode("mb:targetModel");
+    var targetModel = objRef.getProperty("mb:targetModel");
     if (targetModel) {
-      objRef.targetModel = eval("config.objects."+targetModel.firstChild.nodeValue);
+      objRef.targetModel = window.config.objects[targetModel];
       if ( !objRef.targetModel ) {
-        alert("error finding targetModel:" + targetModel.firstChild.nodeValue + " for:" + objRef.id);
+        alert(mbGetMessage("noTargetModelWidget", targetModel, objRef.id));
       }
     } else {
       objRef.targetModel = objRef.model;
@@ -102,9 +108,10 @@
    * @param objRef Pointer to this object.
    */ 
   this.clearWidget = function(objRef) {
-    //with objRef.node remove child
+    //with node remove child
     var outputNode = document.getElementById( objRef.outputNodeId );
-    if (outputNode) objRef.node.removeChild(outputNode);
+    var node = objRef.getNode();
+    if (node && outputNode) node.removeChild(outputNode);
   }
   this.model.addListener("newModel",this.clearWidget, this);
 }
Index: lib/spatial/mapbuilder/lib/widget/OpenLSForm.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/OpenLSForm.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/OpenLSForm.js	(revision 4307)
@@ -0,0 +1,71 @@
+/*
+Description: Display a form for OpenLS geocoding request
+Author:      Steven Ottens AT geodan.nl
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: OpenLSForm.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Widget to display the OpenLS request form
+ *
+ * @constructor
+ * @base WidgetBaseXSL
+ * @param widgetNode This widget's object node from the configuration document.
+ * @param model The model that this widget is a view of.
+ */
+
+function OpenLSForm(widgetNode, model) {
+  WidgetBaseXSL.apply(this,new Array(widgetNode, model));
+
+	this.defaultModelUrl=this.getProperty("mb:defaultModelUrl");
+	this.geocodeServerUrl=this.getProperty("mb:geocodeServerUrl");
+
+  this.xsl=new XslProcessor(baseDir+"/tool/xsl/ols_GeocodeRequest.xsl");	
+	/**
+	* handles the submission of the form
+	*/
+	this.submitForm = function(objRef) {
+		//Parse the form
+		var geoForm = document.getElementById(this.formName);
+    pc = geoForm.pcValue.value;
+    street = geoForm.streetValue.value;
+    number = geoForm.numberValue.value;
+    city = geoForm.cityValue.value;
+    municipality = geoForm.municipalityValue.value;
+    country =geoForm.countryValue.value;
+		
+		//fill the form output into the xsl
+		if(pc) objRef.xsl.setParameter("postalCode", pc);
+    if(street) objRef.xsl.setParameter("street", street);
+    if(number) objRef.xsl.setParameter("number", number);
+    if(city) objRef.xsl.setParameter("municipalitySubdivision", city);
+    if(municipality) objRef.xsl.setParameter("municipality", municipality);
+    if(country) objRef.xsl.setParameter("countryCode", country);
+    if(!country) {
+      alert(mbGetMessage("noCountryCode"));
+      return;
+    }
+		//no values entered, bail out
+		if(!municipality && !city && !number && !street && !pc) {
+			alert(mbGetMessage("atLeastOneValue"));
+			return;
+		}
+		
+		//do the actual request
+    objRef.requestModel = objRef.xsl.transformNodeToObject(this.model.doc);
+    objRef.httpPayload = new Object();
+    objRef.httpPayload.url = objRef.geocodeServerUrl;
+    objRef.httpPayload.method="post";
+    objRef.httpPayload.postData=objRef.requestModel;
+    objRef.targetModel.newRequest(objRef.targetModel,objRef.httpPayload);  
+  }
+
+  //set some properties for the form output
+  //allow it to have a different form name
+  this.formName = this.getProperty("mb:formName", "OpenLSForm_" + mbIds.getId());
+  this.stylesheet.setParameter("formName", this.formName);
+}
+
Index: lib/spatial/mapbuilder/lib/widget/Legend.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Legend.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Legend.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: Legend.js 3887 2008-02-27 18:18:53Z ahocevar $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -17,6 +17,11 @@
 function Legend(widgetNode, model) {
   WidgetBaseXSL.apply(this,new Array(widgetNode, model));
 
+  this.model.addListener("deleteLayer",this.refresh, this);
+  this.model.addListener("moveLayerUp",this.refresh, this);
+  this.model.addListener("moveLayerDown",this.refresh, this);
+  if (this.autoRefresh) this.model.addListener("addLayer",this.refresh, this);
+
   /**
    * Override of widget prepaint to set some stylesheet parameters including 
    * featureName (for OWS Context) and hidden attribute.
@@ -27,18 +32,36 @@
       objRef.stylesheet.setParameter("featureName", objRef.model.featureName );
       objRef.stylesheet.setParameter("hidden", objRef.model.getHidden(objRef.model.featureName).toString() );
     }
+    objRef.visibleLayer = Mapbuilder.getProperty(objRef.model.doc, objRef.model.nodeSelectXpath+"[@hidden='0' and @opaque='1']/wmc:Name");
   }
 
-  /**
-   * @param objRef Pointer to this object.
-   * @param layer The selected layer.
-   */
-  this.selectLayer = function(objRef,layer) {
-    objRef.model.setParam('selectedLayer',layer);
-  }
+}
 
-  this.model.addListener("deleteLayer",this.paint, this);
-  this.model.addListener("moveLayerUp",this.paint, this);
-  this.model.addListener("moveLayerDown",this.paint, this);
-  this.model.addListener("addLayer",this.paint, this);
+/**
+ * Listener method to paint this widget
+ * @param layerName  the name of the layer to highlight
+ */
+Legend.prototype.refresh = function(objRef, layerName) {
+  objRef.paint(objRef, objRef.id);
 }
+
+/**
+ * Controller method to select a layer
+ * @param objRef Pointer to this object.
+ * @param layer The selected layer.
+ */
+Legend.prototype.selectLayer = function(objRef,layer) {
+  objRef.model.setParam('selectedLayer',layer);
+}
+
+/**
+ * Controller method to select a layer
+ * @param objRef Pointer to this object.
+ * @param layer The selected layer.
+ */
+Legend.prototype.swapOpaqueLayer = function(layer) {
+  this.model.setHidden(this.visibleLayer, true);
+  this.model.setHidden(layer, false);
+  this.visibleLayer = layer;
+}
+
Index: lib/spatial/mapbuilder/lib/widget/WfsGetFeature.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/WfsGetFeature.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/WfsGetFeature.js	(revision 4307)
@@ -1,11 +1,12 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
 Dependancies: Context
-$Id$
+$Id: WfsGetFeature.js 3899 2008-03-03 10:33:30Z ahocevar $
 */
 
 // Ensure this object's dependancies are loaded.
-mapbuilder.loadScript(baseDir+"/tool/ButtonBase.js");
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
 /**
  * Builds then sends a WFS GetFeature GET request based on the WMC
  * coordinates and click point.
@@ -18,55 +19,110 @@
 function WfsGetFeature(widgetNode, model) {
   // Extend ButtonBase
   ButtonBase.apply(this, new Array(widgetNode, model));
-  this.tolerance= widgetNode.selectSingleNode('mb:tolerance').firstChild.nodeValue;
-  this.typeName= widgetNode.selectSingleNode('mb:typeName').firstChild.nodeValue;
-  this.webServiceUrl= widgetNode.selectSingleNode('mb:webServiceUrl').firstChild.nodeValue;
-  this.httpPayload=new Object();
-  this.httpPayload.method="get";
-  this.httpPayload.postData=null;
-  this.trm=widgetNode.selectSingleNode("mb:transactionResponseModel").firstChild.nodeValue;
 
+  this.widgetNode = widgetNode;
+  // id of the transactionResponseModel
+  this.trm = this.getProperty("mb:transactionResponseModel");
+  this.httpPayload = new Object({
+    method: "get",
+    postData: null
+  });
+  this.typeName = this.getProperty('mb:typeName');
+  this.maxFeatures = this.getProperty('mb:maxFeatures', 1);
+  this.webServiceUrl= this.getProperty('mb:webServiceUrl');
+  this.webServiceUrl += this.webServiceUrl.indexOf("?") > -1 ? '&' : '?';
+  this.webServiceSrs= new OpenLayers.Projection(this.getProperty('mb:webServiceSrs', "EPSG:4326"));
+  
   // override default cursor by user
   // cursor can be changed by spefying a new cursor in config file
   this.cursor = "pointer"; 
 
-  /**
-   * Open window with query info.
-   * This function is called when user clicks map with Query tool.
-   * @param objRef      Pointer to this GetFeatureInfo object.
-   * @param targetNode  The node for the enclosing HTML tag for this widget.
-   */
-  this.doAction = function(objRef,targetNode) {
-    if (objRef.enabled) {
-      extent=objRef.targetModel.extent;
-      point=extent.getXY(targetNode.evpl);
-      xPixel=extent.res[0]*objRef.tolerance;
-      yPixel=extent.res[1]*objRef.tolerance;
-      bbox=(point[0]-xPixel)+","+(point[1]-yPixel)+","+(point[0]+xPixel)+","+(point[1]+yPixel);
-      objRef.httpPayload.url=objRef.webServiceUrl+"?request=GetFeature&typeName="+objRef.typeName+"&bbox="+bbox;
+  this.createControl = function(objRef) {
+  	var transactionResponseModel = config.objects[objRef.trm];
+  	
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      CLASS_NAME: 'mbControl.WfsGetFeature',
+      type: OpenLayers.Control.TYPE_TOOL, // constant from OpenLayers.Control
+  	  tolerance: new Number(objRef.getProperty('mb:tolerance')),
+  	  httpPayload: objRef.httpPayload,
+  	  maxFeatures: objRef.maxFeatures,
+  	  webServiceUrl: objRef.webServiceUrl,
+  	  transactionResponseModel: transactionResponseModel,
+  	  
+      draw: function() {
+        this.handler = new OpenLayers.Handler.Box( this,
+          {done: this.selectBox}, {keyMask: this.keyMask} );
+      },
+      
+      selectBox: function (position) {
+        var bounds, minXY, maxXY;
+        if (position instanceof OpenLayers.Bounds) {
+        // it's a box
+          minXY = this.map.getLonLatFromPixel(
+            new OpenLayers.Pixel(position.left, position.bottom));
+          maxXY = this.map.getLonLatFromPixel(
+            new OpenLayers.Pixel(position.right, position.top));
+        } else {
+        // it's a pixel
+          minXY = this.map.getLonLatFromPixel(
+            new OpenLayers.Pixel(position.x-this.tolerance, position.y+this.tolerance));
+          maxXY = this.map.getLonLatFromPixel(
+            new OpenLayers.Pixel(position.x+this.tolerance, position.y-this.tolerance));
+        }
+        
+        bounds = new OpenLayers.Bounds(minXY.lon, minXY.lat, maxXY.lon, maxXY.lat);
+        if (this.map.projection.projCode != this.objRef.webServiceSrs.projCode) {
+          bounds.transform(this.map.projection, this.objRef.webServiceSrs);
+        }
 
-      // Model that will be populated with the WFS response.
-      if (!objRef.transactionResponseModel){
-        objRef.transactionResponseModel=eval("config.objects."+objRef.trm);
-        //objRef.transactionResponseModel.addListener("loadModel",objRef.handleResponse, objRef);
+      var typeName = objRef.typeName;
+
+      if (!typeName) {
+        var queryList=objRef.targetModel.getQueryableLayers();
+        if (queryList.length==0) {
+          alert(mbGetMessage("noQueryableLayers"));
+          return;
+        }
+        else {
+          typeName = "";
+          for (var i=0; i<queryList.length; ++i) {
+            var layerNode = queryList[i];
+            
+            // Get the name of the layer
+            var layerName = layerNode.selectSingleNode("wmc:Name");
+            layerName=(layerName)?getNodeValue(layerName):"";
+
+            // Get the layerId. Fallback to layerName if non-existent
+            var layerId = layerNode.getAttribute("id") || layerName;
+
+            var hidden = objRef.targetModel.getHidden(layerId);
+            if (hidden == 0) { //query only visible layers
+              if (typeName != "") {
+                typeName += ",";
+              }
+              typeName += layerName;
+            }
+          }
+        }
       }
-      objRef.transactionResponseModel.newRequest(objRef.transactionResponseModel,objRef.httpPayload);
-    }
-  }
-  
 
-  /**
-   * Register for mouseUp events.
-   * @param objRef  Pointer to this object.
-   */
-  this.setMouseListener = function(objRef) {
-    if (objRef.mouseHandler) {
-      objRef.mouseHandler.model.addListener('mouseup',objRef.doAction,objRef);
-    }
-    objRef.context=objRef.widgetNode.selectSingleNode("mb:context");
-    if (objRef.context){
-      objRef.context=eval("config.objects."+objRef.context.firstChild.nodeValue);
-    }
+      if (typeName=="") {
+        alert(mbGetMessage("noQueryableLayersVisible"));
+        return;
+      }
+
+        // now create request url
+        this.httpPayload.url = this.webServiceUrl+OpenLayers.Util.getParameterString({
+          SERVICE: "WFS",
+          VERSION: "1.0.0",
+          REQUEST: "GetFeature",
+          TYPENAME: typeName,
+          MAXFEATURES: this.maxFeatures,
+          BBOX: bounds.toBBOX()
+        });
+        this.transactionResponseModel.newRequest(this.transactionResponseModel, this.httpPayload);
+      }
+    });
+    return Control;
   }
-  config.addListener( "loadModel", this.setMouseListener, this );
 }
Index: lib/spatial/mapbuilder/lib/widget/Widget.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Widget.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Widget.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: Widget.js 3091 2007-08-09 12:21:54Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -8,10 +8,10 @@
 
 /**
  * Generic Widget object for widgets where no specialization is required.  
- * This is just an instance of a abstract WidgetBase object.
+ * This is just an instance of a abstract WidgetBaseXSL object.
  * This widget requires a <stylesheet> property in the config file.
  * @constructor
- * @base WidgetBase
+ * @base WidgetBaseXSL
  * @author Cameron Shorter cameronATshorter.net
  * @param widgetNode  The widget's XML object node from the configuration document.
  * @param model       The model object that this widget belongs to.
Index: lib/spatial/mapbuilder/lib/widget/FeatureList.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/FeatureList.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/FeatureList.js	(revision 4307)
@@ -1,15 +1,15 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: FeatureList.js 3091 2007-08-09 12:21:54Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
-mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
 
 /**
  * Functions to render and update a FeatureList from GML.
  * @constructor
- * @base WidgetBase
+ * @base WidgetBaseXSL
  * @author Cameron Shorter
  * @param widgetNode  The widget's XML object node from the configuration document.
  * @param model       The model object that this widget belongs to.
Index: lib/spatial/mapbuilder/lib/widget/ModelStatus.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/ModelStatus.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/ModelStatus.xsl	(revision 4307)
@@ -1,35 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0" 
-    xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-<!--
-Description: Widget to display the status of a model
-Author:      Mike Adair
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-$Id$
--->
-
-  <xsl:output method="xml" encoding="utf-8"/>
-
-  <!-- The common params set for all widgets -->
-  <xsl:param name="lang">en</xsl:param>
-  <xsl:param name="modelId"/>
-  <xsl:param name="modelTitle"/>
-  <xsl:param name="widgetId"/>
-
-  <!-- Text params for this widget -->
-  <xsl:param name="title"/>
-  
-  <!-- The name of the form for coordinate output -->
-  <xsl:param name="statusMessage"/>
-
-  <!-- Main html -->
-  <xsl:template match="/">
-    <DIV>
-      <xsl:value-of select="$title"/><xsl:value-of select="$modelTitle"/><xsl:value-of select="$statusMessage"/>
-    </DIV>
-  </xsl:template>
-  
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="lang">en</xsl:param><xsl:param name="modelId"/><xsl:param name="modelTitle"/><xsl:param name="widgetId"/><xsl:param name="title"/><xsl:param name="statusMessage"/><xsl:template match="/"><DIV><xsl:value-of select="$title"/><xsl:value-of select="$modelTitle"/><xsl:value-of select="$statusMessage"/></DIV></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/TabbedContent.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/TabbedContent.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/TabbedContent.xsl	(revision 4307)
@@ -1,40 +1,2 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!--
-Description: a TabbedContent node from config to output some tabs, 
-              this requires a CSS file, see skin/default/tablist.css
-Author:      adair/stella
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-$Id$
-$Name$
--->
-
-<xsl:stylesheet version="1.0" 
-    xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-  <xsl:output method="xml"/>
-  <xsl:strip-space elements="*"/>
-
-  <!-- The coordinates of the DHTML Layer on the HTML page -->
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-
-  <!-- these handled outside of the stylesheet -->
-  <xsl:template match="mb:TabbedContent">
-    <ul class="tablist">
-      <xsl:apply-templates select="mb:tab"/>
-    </ul>
-  </xsl:template>
-  
-  <xsl:template match="mb:tab">
-    <xsl:variable name="tabWidgetId" select="."/>
-    <li>
-      <a href="javascript:config.objects.{$widgetId}.selectTab(config.objects.{$tabWidgetId})" id="{$widgetId}_{$tabWidgetId}">
-        <xsl:value-of select="@label"/>
-      </a>
-    </li>
-  </xsl:template>
-  
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes"/><xsl:strip-space elements="*"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:template match="mb:TabbedContent"><ul class="tablist"><xsl:apply-templates select="mb:tab"/></ul></xsl:template><xsl:template match="mb:tab"><xsl:variable name="tabWidgetId" select="."/><li><xsl:if test="@disabled='true'"><xsl:attribute name="class">disabled</xsl:attribute></xsl:if><a href="javascript:config.objects.{$widgetId}.selectTab(config.objects.{$tabWidgetId})" id="{$widgetId}_{$tabWidgetId}"><xsl:value-of select="@label"/></a></li></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/MapScaleText.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/MapScaleText.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/MapScaleText.xsl	(revision 4307)
@@ -1,37 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0" 
-    xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-<!--
-Description: Output a form for displaying and setting the map scale denominator
-Author:      Mike Adair
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-$Id$
--->
-
-  <xsl:output method="xml" encoding="utf-8"/>
-
-  <!-- The common params set for all widgets -->
-  <xsl:param name="lang">en</xsl:param>
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-
-  <!-- The name of the form for coordinate output -->
-  <xsl:param name="mapScale"/>
-  <xsl:param name="mapScaleLabel">scale 1:</xsl:param>
-  <xsl:param name="formName">MapScaleTextForm</xsl:param>
-
-  <!-- Main html -->
-  <xsl:template match="/">
-    <div>
-      <form name="{$formName}" id="{$formName}" onsubmit="return config.objects.{$widgetId}.submitForm()">
-        <xsl:value-of select="$mapScaleLabel"/><input name="mapScale" type="text" size="10" value="{$mapScale}"/>
-        <!--input type="submit" value="set scale"/-->
-        <!--a href="javascript:config.{$modelId}.{$widgetId}.submitForm();">set new scale</a-->
-      </form>
-    </div>
-  </xsl:template>
-  
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="lang">en</xsl:param><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="mapScale"/><xsl:param name="mapScaleLabel">scale 1:</xsl:param><xsl:param name="formName">MapScaleTextForm</xsl:param><xsl:template match="/"><div><form name="{$formName}" id="{$formName}" onsubmit="return config.objects.{$widgetId}.submitForm()"><xsl:value-of select="$mapScaleLabel"/><input name="mapScale" type="text" size="10" value="{$mapScale}"/></form></div></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/LegendGraphic.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/LegendGraphic.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/LegendGraphic.js	(revision 4307)
@@ -0,0 +1,34 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: LegendGraphic.js 3010 2007-07-25 14:09:06Z steven $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Functions to render and update a Legend from a Web Map Context.
+ * 
+ * WARNING: In most cases you probably want either Legend.js or LayerControl.js they
+ * both display the legend graphic per layer.
+ * @deprecated
+ * @constructor
+ * @base WidgetBaseXSL
+ * @author Cameron Shorter cameronATshorter.net
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function LegendGraphic(widgetNode, model) {
+  WidgetBaseXSL.apply(this,new Array(widgetNode, model));
+
+  this.model.addListener("hidden",this.refresh, this);
+}
+
+/**
+ * Listener method to paint this widget
+ * @param layerName  the name of the layer to highlight
+ */
+LegendGraphic.prototype.refresh = function(objRef, layerName) {
+  objRef.paint(objRef, objRef.id);
+}
+
Index: lib/spatial/mapbuilder/lib/widget/Gml2ScreenCoords.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Gml2ScreenCoords.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Gml2ScreenCoords.xsl	(revision 4307)
@@ -1,50 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Description: Convert GML coords to Screen coords.
-             This XSL does not process <coordinates> tags.  Refer to
-             GmlCooordinates2Coord.xsl to convert <coordinates> to <coord> tags.
-Author:      Cameron Shorter cameron ATshorter.net
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-$Id$
-$Name$
--->
-<xsl:stylesheet
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:gml="http://www.opengis.net/gml"
-  version="1.0">
-
-  <xsl:output method="xml" encoding="utf-8"/>
-  
-  <xsl:param name="width" select="400"/>
-  <xsl:param name="height" select="200"/>
-  <xsl:param name="bBoxMinX" select="-180"/>
-  <xsl:param name="bBoxMinY" select="-90"/>
-  <xsl:param name="bBoxMaxX" select="180"/>
-  <xsl:param name="bBoxMaxY" select="90"/>
-
-  <xsl:variable name="xRatio" select="$width div ( $bBoxMaxX - $bBoxMinX )"/>
-  <xsl:variable name="yRatio" select="$height div ( $bBoxMaxY - $bBoxMinY )"/>
-
-  <!-- X coord -->
-  <xsl:template match="gml:coord/gml:X">
-    <xsl:element name="gml:X">
-      <xsl:value-of select="round((number(.)-$bBoxMinX)*$xRatio)"/>
-    </xsl:element>
-  </xsl:template>
-
-  <!-- Y coord -->
-  <xsl:template match="gml:coord/gml:Y">
-    <xsl:element name="gml:Y">
-      <xsl:value-of select="round($height - (number(.)-$bBoxMinY)*$yRatio)"/>
-    </xsl:element>
-  </xsl:template>
-
-  <!-- All other nodes are copied -->
-  <xsl:template match="*|@*|comment()|processing-instruction()|text()">
-    <xsl:copy>
-      <xsl:apply-templates
-       select="*|@*|comment()|processing-instruction()|text()"/>
-    </xsl:copy>
-  </xsl:template>
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gml="http://www.opengis.net/gml" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="width" select="400"/><xsl:param name="height" select="200"/><xsl:param name="bBoxMinX" select="-180"/><xsl:param name="bBoxMinY" select="-90"/><xsl:param name="bBoxMaxX" select="180"/><xsl:param name="bBoxMaxY" select="90"/><xsl:variable name="xRatio" select="$width div ( $bBoxMaxX - $bBoxMinX )"/><xsl:variable name="yRatio" select="$height div ( $bBoxMaxY - $bBoxMinY )"/><xsl:template match="gml:coord/gml:X"><xsl:element name="gml:X"><xsl:value-of select="round((number(.)-$bBoxMinX)*$xRatio)"/></xsl:element></xsl:template><xsl:template match="gml:coord/gml:Y"><xsl:element name="gml:Y"><xsl:value-of select="round($height - (number(.)-$bBoxMinY)*$yRatio)"/></xsl:element></xsl:template><xsl:template match="*|@*|comment()|processing-instruction()|text()"><xsl:copy><xsl:apply-templates select="*|@*|comment()|processing-instruction()|text()"/></xsl:copy></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/CollectionList.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/CollectionList.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/CollectionList.js	(revision 4307)
@@ -2,7 +2,7 @@
 Author:       Cameron Shorter cameronAtshorter.net
 License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: CollectionList.js 3888 2008-02-27 18:25:45Z ahocevar $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -11,8 +11,10 @@
 /**
  * A widget to display a list of context docs to pick from.  This is a view of 
  * a Context Collection as specified in the OGC Context specification.
+ * The default xsl stylesheet for this widget also uses the switchMap
+ * function, which allows to switch to a different map context.
  * @constructor
- * @base WidgetBase
+ * @base WidgetBaseXSL
  * @param widgetNode  The widget's XML object node from the configuration document.
  * @param model       The model object that this widget belongs to.
  */
@@ -20,4 +22,44 @@
 function CollectionList(widgetNode, model) {
   WidgetBaseXSL.apply(this,new Array(widgetNode, model));
 
+  /**
+   * Switch to another map context, keeping the current extent.
+   * @param objRef this widget
+   * @modelUrl the URL of the context we want to switch to.
+   */
+  this.switchMap = function(objRef, modelUrl) {
+    // save the current extent
+    objRef.extent = objRef.targetModel.map.getExtent();
+    objRef.srs = objRef.targetModel.getSRS();
+    objRef.scale = objRef.targetModel.map.getScale();
+   
+    objRef.targetModel.addListener( "loadModel", objRef.setExtent, objRef );
+    config.loadModel( objRef.targetModel.id, modelUrl );
+  }
+  
+  /**
+   * Sets the extent of the map that we just switched to.
+   * Called when the map is reloaded with the new context.
+   * @param objRef this widget
+   */
+  this.setExtent = function (objRef) {
+    objRef.targetModel.removeListener( "loadModel", objRef.setExtent, objRef );
+
+    var bbox = objRef.extent.toBBOX().split(/,/);  
+    if (objRef.targetModel.getSRS().toUpperCase() != objRef.srs.toUpperCase()) {
+      var targetProj = new OpenLayers.Projection(objRef.targetModel.getSRS());
+      var srcProj = new OpenLayers.Projection(objRef.srs);
+    	var ptLL=new OpenLayers.Geometry.Point(bbox[0],bbox[1]);
+    	var ptUR=new OpenLayers.Geometry.Point(bbox[2],bbox[3]);
+  		ptLL.transform(srcProj, targetProj);
+	    ptUR.transform(srcProj, targetProj);
+      objRef.extent = new OpenLayers.Bounds(ptLL.x, ptLL.y, ptUR.x, ptUR.y);
+    }
+    if (objRef.targetModel.map.getExtent().containsBounds(objRef.extent, false, false)) {
+      objRef.targetModel.map.zoomToExtent(objRef.extent);
+      if (!objRef.targetModel.map.fractionalZoom && objRef.targetModel.map.getScale() > objRef.scale) {
+        objRef.targetModel.map.zoomIn();
+      }
+    }
+  }
 }
Index: lib/spatial/mapbuilder/lib/widget/OpenLSResponse.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/OpenLSResponse.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/OpenLSResponse.xsl	(revision 4307)
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xls="http://www.opengis.net/xls" xmlns:gml="http://www.opengis.net/gml" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="modelId"/><xsl:param name="targetModelId"/><xsl:param name="puntModelId"/><xsl:param name="widgetId"/><xsl:param name="title">Click to zoom in</xsl:param><xsl:template match="/"><div class="olsRespons"><form><xsl:apply-templates/></form></div></xsl:template><xsl:template match="xls:GeocodeResponse/xls:GeocodeResponseList"><xsl:choose><xsl:when test="@numberOfGeocodedAddresses=0"><div class="respons"><p>No result has been found</p></div></xsl:when><xsl:when test="@numberOfGeocodedAddresses=1"><div class="respons"><p>There is <xsl:value-of select="@numberOfGeocodedAddresses"/> result found</p><div class="responses"><xsl:for-each select="*"><xsl:variable name="position" select="gml:Point/gml:pos"/><xsl:variable name="space" select="' '"/><xsl:variable name="x" select="substring-before($position, ' ')"/><xsl:variable name="y" select="substring-after($position, ' ')"/><xsl:variable name="res"><xsl:choose><xsl:when test="xls:Address/xls:StreetAddress/xls:Street">   
+										0.9 </xsl:when><xsl:when test="xls:Address/xls:Place[@type='MunicipalitySubdivision']">
+										10 </xsl:when><xsl:otherwise>
+										40 </xsl:otherwise></xsl:choose></xsl:variable><xsl:variable name="javascriptje">
+										config.objects.<xsl:value-of select="$targetModelId"/>.extent.centerAt(new Array(<xsl:value-of select="$x"/>,<xsl:value-of select="$y"/>),<xsl:value-of select="$res"/>)
+							</xsl:variable><xsl:choose><xsl:when test="xls:Address/xls:StreetAddress/xls:Street"><div class="title"><b style="cursor:pointer" title="{$title}" onClick="javascript:{$javascriptje}"><xsl:value-of select="xls:Address/xls:StreetAddress/xls:Street"/><xsl:if test="xls:Address/xls:StreetAddress/xls:Building/@number">
+												no: <xsl:value-of select="xls:Address/xls:StreetAddress/xls:Building/@number"/></xsl:if></b></div><script type="text/javascript" defer="true"><xsl:value-of select="$javascriptje"/></script><xsl:if test="xls:Address/xls:PostalCode"><div class="postcode"><xsl:value-of select="xls:Address/xls:PostalCode"/></div></xsl:if><xsl:if test="xls:Address/xls:Place[@type='MunicipalitySubdivision']"><div class="plaats"><xsl:value-of select="xls:Address/xls:Place[@type='MunicipalitySubdivision']"/></div></xsl:if></xsl:when><xsl:when test="xls:Address/xls:Place[@type='MunicipalitySubdivision']"><div class="title"><b style="cursor:pointer" title="{$title}" onclick="javascript:{$javascriptje}"><xsl:value-of select="xls:Address/xls:Place[@type='MunicipalitySubdivision']"/></b><script type="text/javascript" defer="true"><xsl:value-of select="$javascriptje"/></script></div></xsl:when><xsl:otherwise><div class="title"><b style="cursor:pointer" title="{$title}" onclick="javascript:{$javascriptje}"><xsl:value-of select="xls:Address/xls:Place[@type='Municipality']"/></b><script type="text/javascript" defer="true"><xsl:value-of select="$javascriptje"/></script></div></xsl:otherwise></xsl:choose></xsl:for-each></div></div></xsl:when><xsl:otherwise><div class="respons"><p>There are <xsl:value-of select="@numberOfGeocodedAddresses"/> results found.</p><div class="responses"><xsl:for-each select="*"><xsl:variable name="position" select="gml:Point/gml:pos"/><xsl:variable name="space" select="' '"/><xsl:variable name="x" select="substring-before($position, ' ')"/><xsl:variable name="y" select="substring-after($position, ' ')"/><xsl:variable name="res"><xsl:choose><xsl:when test="xls:Address/xls:StreetAddress/xls:Street">   
+										0.9 </xsl:when><xsl:when test="xls:Address/xls:Place[@type='MunicipalitySubdivision']">
+										10 </xsl:when><xsl:otherwise>
+										40 </xsl:otherwise></xsl:choose></xsl:variable><xsl:variable name="javascriptje">
+										config.objects.<xsl:value-of select="$targetModelId"/>.extent.centerAt(new Array(<xsl:value-of select="$x"/>,<xsl:value-of select="$y"/>),<xsl:value-of select="$res"/>)
+							</xsl:variable><xsl:choose><xsl:when test="xls:Address/xls:StreetAddress/xls:Street"><div class="title"><b style="cursor:pointer" title="{$title}" onClick="javascript:{$javascriptje}"><xsl:value-of select="xls:Address/xls:StreetAddress/xls:Street"/></b><xsl:if test="xls:Address/xls:StreetAddress/xls:Building/@number">
+											no: <xsl:value-of select="xls:Address/xls:StreetAddress/xls:Building/@number"/></xsl:if></div><xsl:if test="xls:Address/xls:PostalCode"><div class="postcode"><xsl:value-of select="xls:Address/xls:PostalCode"/></div></xsl:if><xsl:if test="xls:Address/xls:Place[@type='MunicipalitySubdivision']"><div class="plaats"><xsl:value-of select="xls:Address/xls:Place[@type='MunicipalitySubdivision']"/></div></xsl:if></xsl:when><xsl:when test="xls:Address/xls:Place[@type='MunicipalitySubdivision']"><div class="title"><b style="cursor:pointer" title="{$title}" onclick="javascript:{$javascriptje}"><xsl:value-of select="xls:Address/xls:Place[@type='MunicipalitySubdivision']"/></b></div></xsl:when><xsl:otherwise><div class="title"><b style="cursor:pointer" title="{$title}" onclick="javascript:{$javascriptje}"><xsl:value-of select="xls:Address/xls:Place[@type='Municipality']"/></b></div></xsl:otherwise></xsl:choose></xsl:for-each></div></div></xsl:otherwise></xsl:choose></xsl:template><xsl:template match="comment()|text()|processing-instruction()"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/Timestamp.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Timestamp.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Timestamp.xsl	(revision 4307)
@@ -1,54 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0" 
-  xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder"
-  xmlns:wmc="http://www.opengis.net/context" 
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-  xmlns:xlink="http://www.w3.org/1999/xlink" >
-<!--
-Description: Output the timestamp value
-Author:      Mike Adair mike.adairATnrcan.gc.ca
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-Abstract.xsl,v 1.5 2004/06/25 17:59:38 madair1 Exp
-
--->
-  <xsl:output method="xml" encoding="utf-8"/>
-  
-  <!-- The common params set for all widgets -->
-  <xsl:param name="lang">en</xsl:param>
-  <xsl:param name="widgetNode"/>
-
-  <!-- Text params for this widget -->
-  <xsl:param name="title"/>
-  
-  <xsl:template match="/">
-    <form STYLE="font: 8pt Verdana, geneva, arial, sans-serif;">
-      <xsl:value-of select="$title"/>
-      <xsl:apply-templates select="wmc:ViewContext/wmc:General"/>
-    </form>
-  </xsl:template>
-
-  
-  <!-- readonly input element to display the time value -->
-  <xsl:template match="mb:TimestampList">
-    <input id="timestampValue" type="text" size="10" class="bareInput" readonly="true">
-      <xsl:attribute name="value">
-        <xsl:value-of select="mb:Timestamp[@current='1']"/>
-      </xsl:attribute>
-    </input>
-  </xsl:template>
-
-  <!-- readonly input element to display the time value 
-  repeated here without namespaces because IE doesn't support the createElementNS function
-  and this part of the extension is output without any apparent namespace
-  -->
-  <xsl:template match="TimestampList">
-    <input id="timestampValue" type="text" size="10" class="bareInput" readonly="true">
-      <xsl:attribute name="value">
-        <xsl:value-of select="Timestamp[@current='1']"/>
-      </xsl:attribute>
-    </input>
-  </xsl:template>
-  <xsl:template match="text()|@*"/>
-  
-</xsl:stylesheet>
-
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:wmc="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="lang">en</xsl:param><xsl:param name="formName"/><xsl:param name="title"/><xsl:template match="/"><form name="{$formName}" STYLE="font: 8pt Verdana, geneva, arial, sans-serif;"><xsl:value-of select="$title"/><xsl:apply-templates select="wmc:ViewContext/wmc:General"/></form></xsl:template><xsl:template match="mb:TimestampList"><input name="timestampValue" type="text" size="20" class="bareInput" readonly="true"><xsl:attribute name="value"><xsl:value-of select="mb:Timestamp[@current='1']"/></xsl:attribute></input></xsl:template><xsl:template match="TimestampList"><input id="timestampValue" type="text" size="20" class="bareInput" readonly="true"><xsl:attribute name="value"><xsl:value-of select="Timestamp[@current='1']"/></xsl:attribute></input></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/owsMapPane.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/owsMapPane.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/owsMapPane.xsl	(revision 4307)
@@ -1,126 +1,16 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wmc="http://www.opengis.net/context" xmlns:ows="http://www.opengis.net/ows" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes"/><xsl:strip-space elements="*"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="context">config['<xsl:value-of select="$modelId"/>']</xsl:param><xsl:param name="outputNodeId"/><xsl:param name="lowerLeft"><xsl:value-of select="/wmc:OWSContext/wmc:General/ows:BoundingBox/ows:LowerCorner"/></xsl:param><xsl:param name="upperRight"><xsl:value-of select="/wmc:OWSContext/wmc:General/ows:BoundingBox/ows:UpperCorner"/></xsl:param><xsl:param name="bbox"><xsl:value-of select="translate($lowerLeft,' ',',')"/>,<xsl:value-of select="translate($upperRight,' ',',')"/></xsl:param><xsl:param name="width"><xsl:value-of select="/wmc:OWSContext/wmc:General/wmc:Window/@width"/></xsl:param><xsl:param name="height"><xsl:value-of select="/wmc:OWSContext/wmc:General/wmc:Window/@height"/></xsl:param><xsl:param name="srs" select="/wmc:OWSContext/wmc:General/ows:BoundingBox/@crs"/><xsl:template match="/wmc:OWSContext"><div style="width:{$width}; height:{$height}; position:absolute" id="{$outputNodeId}"><xsl:apply-templates select="wmc:ResourceList/*"/></div></xsl:template><xsl:template match="wmc:Coverage"/><xsl:template match="wmc:FeatureType"/><xsl:template match="wmc:Layer"><xsl:param name="version"><xsl:value-of select="wmc:Server/@version"/></xsl:param><xsl:param name="baseUrl"><xsl:value-of select="wmc:Server/wmc:OnlineResource/@xlink:href"/></xsl:param><xsl:variable name="visibility"><xsl:choose><xsl:when test="@hidden='1'">hidden</xsl:when><xsl:otherwise>visible</xsl:otherwise></xsl:choose></xsl:variable><xsl:variable name="firstJoin"><xsl:choose><xsl:when test="substring($baseUrl,string-length($baseUrl))='?'"/><xsl:when test="contains($baseUrl, '?')">&amp;</xsl:when><xsl:otherwise>?</xsl:otherwise></xsl:choose></xsl:variable><xsl:variable name="mapRequest"><xsl:choose><xsl:when test="starts-with($version, '1.0')">
+            wmtver=<xsl:value-of select="$version"/>&amp;request=map
+        </xsl:when><xsl:otherwise>
+            version=<xsl:value-of select="$version"/>&amp;request=GetMap&amp;service=wms
+        </xsl:otherwise></xsl:choose></xsl:variable><DIV><xsl:attribute name="style">position:absolute; visibility:<xsl:value-of select="$visibility"/>; top:0px; left:0px;</xsl:attribute><xsl:attribute name="id"><xsl:value-of select="$modelId"/>_<xsl:value-of select="$widgetId"/>_<xsl:value-of select="wmc:Name"/></xsl:attribute><xsl:element name="img"><xsl:variable name="src"><xsl:value-of select="$baseUrl"/><xsl:value-of select="$firstJoin"/><xsl:value-of select="$mapRequest"/>
+   &amp;srs=<xsl:value-of select="$srs"/>
+  &amp;bbox=<xsl:value-of select="$bbox"/>
+ &amp;width=<xsl:value-of select="$width"/>
+&amp;height=<xsl:value-of select="$height"/>
+&amp;layers=<xsl:value-of select="wmc:Name"/>
+&amp;styles=<xsl:value-of select="translate(wmc:StyleList/wmc:Style[@current='1']/wmc:Name,' ','+')"/>
+&amp;format=<xsl:value-of select="wmc:FormatList/wmc:Format[@current='1']"/>
+&amp;transparent=true
 
-<!--
-Description: parses an OGC context document to generate an array of DHTML layers.
-            The context doc is from the OGC COntext IE where FeatureTypes, static
-            GML and Coverages can be listed in addition to WMS layers.
-Author:      adair
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-$Id$
-$Name$
--->
-
-<xsl:stylesheet version="1.0" 
-    xmlns:wmc="http://www.opengis.net/context" 
-    xmlns:ows="http://www.opengis.net/ows"
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-    xmlns:xlink="http://www.w3.org/1999/xlink">
-
-  <xsl:output method="xml" omit-xml-declaration="yes"/>
-  <xsl:strip-space elements="*"/>
-
-  <!-- The coordinates of the DHTML Layer on the HTML page -->
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-  <xsl:param name="context">config['<xsl:value-of select="$modelId"/>']</xsl:param>
-  <xsl:param name="outputNodeId"/>
-
-  <xsl:param name="lowerLeft"><xsl:value-of select="/wmc:OWSContext/wmc:General/ows:BoundingBox/ows:LowerCorner"/></xsl:param>
-  <xsl:param name="upperRight"><xsl:value-of select="/wmc:OWSContext/wmc:General/ows:BoundingBox/ows:UpperCorner"/></xsl:param>
-  <xsl:param name="bbox"><xsl:value-of select="translate($lowerLeft,' ',',')"/>,<xsl:value-of select="translate($upperRight,' ',',')"/></xsl:param>
-  <xsl:param name="width">
-    <xsl:value-of select="/wmc:OWSContext/wmc:General/wmc:Window/@width"/>
-  </xsl:param>
-  <xsl:param name="height">
-    <xsl:value-of select="/wmc:OWSContext/wmc:General/wmc:Window/@height"/>
-  </xsl:param>
-  <xsl:param name="srs" select="/wmc:OWSContext/wmc:General/ows:BoundingBox/@crs"/>
-  
-  <!-- template rule matching source root element -->
-  <xsl:template match="/wmc:OWSContext">
-      <DIV STYLE="width:{$width}; height:{$height}; position:absolute" ID="{$outputNodeId}">
-        <xsl:apply-templates select="wmc:ResourceList/*"/>
-      </DIV>
-  </xsl:template>
-  
-  <!-- these handled outside of the stylesheet -->
-  <xsl:template match="wmc:Coverage"/>
-  <xsl:template match="wmc:FeatureType"/>
-  
-  <xsl:template match="wmc:Layer">
-    <xsl:param name="version">
-        <xsl:value-of select="wmc:Server/@version"/>    
-    </xsl:param>
-    <xsl:param name="baseUrl">
-        <xsl:value-of select="wmc:Server/wmc:OnlineResource/@xlink:href"/>    
-    </xsl:param>
-    <xsl:variable name="visibility">
-      <xsl:choose>
-        <xsl:when test="@hidden='1'">hidden</xsl:when>
-        <xsl:otherwise>visible</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:variable name="firstJoin">
-      <xsl:choose>
-        <xsl:when test="substring($baseUrl,string-length($baseUrl))='?'"></xsl:when>
-        <xsl:when test="contains($baseUrl, '?')">&amp;</xsl:when> 
-        <xsl:otherwise>?</xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-    <xsl:variable name="mapRequest">
-      <xsl:choose>
-        <xsl:when test="starts-with($version, '1.0')">
-            WMTVER=<xsl:value-of select="$version"/>&amp;REQUEST=map
-        </xsl:when>            
-        <xsl:otherwise>
-            VERSION=<xsl:value-of select="$version"/>&amp;REQUEST=GetMap&amp;SERVICE=WMS
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:variable>
-
-    <DIV>    
-        <xsl:attribute name="STYLE">position:absolute; visibility:<xsl:value-of select="$visibility"/>; top:0; left:0;</xsl:attribute>
-        <xsl:attribute name="ID"><xsl:value-of select="$modelId"/>_<xsl:value-of select="$widgetId"/>_<xsl:value-of select="wmc:Name"/></xsl:attribute>
-    
-    <xsl:element name="IMG">    
-        <xsl:variable name="src">    
-            <xsl:value-of select="$baseUrl"/>
-            <xsl:value-of select="$firstJoin"/>
-             <xsl:value-of select="$mapRequest"/>
-   &amp;SRS=<xsl:value-of select="$srs"/>
-  &amp;BBOX=<xsl:value-of select="$bbox"/>
- &amp;WIDTH=<xsl:value-of select="$width"/>
-&amp;HEIGHT=<xsl:value-of select="$height"/>
-&amp;LAYERS=<xsl:value-of select="wmc:Name"/>
-&amp;STYLES=<xsl:value-of select="translate(wmc:StyleList/wmc:Style[@current='1']/wmc:Name,' ','+')"/>
-&amp;FORMAT=<xsl:value-of select="wmc:FormatList/wmc:Format[@current='1']"/>
-&amp;TRANSPARENT=TRUE
-
-<!--	
-  //TBD: these still to be properly handled 
-  //also sld support
-  if (this.transparent) src += '&' + 'TRANSPARENT=' + this.transparent;
-	if (this.bgcolor) src += '&' + 'BGCOLOR=' + this.bgcolor;
-	//if (this.exceptions) src += '&' + 'EXCEPTIONS=' + this.exceptions;
-	if (this.vendorstr) src += '&' + this.vendorstr;
-  //
-        -->
-        </xsl:variable>
-        <xsl:attribute name="SRC">    
-            <xsl:value-of select="translate(normalize-space($src),' ', '' )" disable-output-escaping="no"/>
-        </xsl:attribute>
-        <xsl:attribute name="WIDTH">
-            <xsl:value-of select="$width"/>
-        </xsl:attribute>
-        <xsl:attribute name="HEIGHT">
-            <xsl:value-of select="$height"/>
-        </xsl:attribute>
-        <xsl:attribute name="ALT">
-            <xsl:value-of select="wmc:Title"/>
-        </xsl:attribute>
-    </xsl:element>
-    </DIV>    
-  </xsl:template>
-
-</xsl:stylesheet>
+</xsl:variable><xsl:attribute name="src"><xsl:value-of select="translate(normalize-space($src),' ', '' )" disable-output-escaping="no"/></xsl:attribute><xsl:attribute name="width"><xsl:value-of select="$width"/></xsl:attribute><xsl:attribute name="height"><xsl:value-of select="$height"/></xsl:attribute><xsl:attribute name="alt"><xsl:value-of select="wmc:Title"/></xsl:attribute></xsl:element></DIV></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/DeleteFeature.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/DeleteFeature.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/DeleteFeature.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: DeleteFeature.js 3879 2008-02-27 14:20:29Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -22,33 +22,42 @@
   // cursor can be changed by spefying a new cursor in config file
   this.cursor = "default"; 
 
-  this.trm=widgetNode.selectSingleNode("mb:transactionResponseModel").firstChild.nodeValue;
-  this.tm=widgetNode.selectSingleNode("mb:targetModel").firstChild.nodeValue;
-  this.tc=widgetNode.selectSingleNode("mb:targetContext").firstChild.nodeValue;
+  this.trm=this.getProperty("mb:transactionResponseModel");
+  this.tm=this.getProperty("mb:targetModel");
+  this.tc=this.getProperty("mb:targetContext");
 
   this.httpPayload=new Object();
-  this.httpPayload.url=widgetNode.selectSingleNode("mb:webServiceUrl").firstChild.nodeValue;
+  this.httpPayload.url=this.getProperty("mb:webServiceUrl");
   this.httpPayload.method="post";
 
   /** Xsl to convert Feature into a WFS Transaction Delete. */
   this.deleteXsl=new XslProcessor(baseDir+"/tool/xsl/wfs_Delete.xsl");
 
+  /** creates the OL control for this button */
+  this.createControl = function(objRef) {
+    var Control = OpenLayers.Class(OpenLayers.Control, {
+      CLASS_NAME: 'mbDeleteFeature',
+      type: OpenLayers.Control.TYPE_BUTTON
+    });
+    return Control;
+  }
+
   /**
    * Start a WFS-T DeleteFeature transaction.
    * @param objRef Pointer to this object.
    */
-  this.doSelect = function(selected,objRef) {
+  this.doSelect = function(objRef, selected) {
     if (selected){
       // Model that will be populated with the WFS response.
       if (!objRef.transactionResponseModel){
-        objRef.transactionResponseModel=eval("config.objects."+objRef.trm);
+        objRef.transactionResponseModel=window.config.objects[objRef.trm];
         objRef.transactionResponseModel.addListener("loadModel",objRef.handleResponse, objRef);
       }
       if (!objRef.targetModel){
-        objRef.targetModel=eval("config.objects."+objRef.tm);
+        objRef.targetModel=window.config.objects[objRef.tm];
       }
       if (!objRef.targetContext){
-        objRef.targetContext=eval("config.objects."+objRef.tc);
+        objRef.targetContext=window.config.objects[objRef.tc];
       }
       fid=objRef.targetModel.getXpathValue(objRef.targetModel,"//@fid");
       //if fid exists, then we are deleting an existing feature.
@@ -55,8 +64,9 @@
       if (objRef.targetModel.doc && fid){
         s=objRef.deleteXsl.transformNodeToObject(objRef.targetModel.doc);
         objRef.httpPayload.postData=s;
+        objRef.transactionResponseModel.transactionType="delete";
         objRef.transactionResponseModel.newRequest(objRef.transactionResponseModel,objRef.httpPayload);
-      }else alert("No feature available to delete");
+      }else alert(mbGetMessage("noFeatureToDelete"));
     }
   }
 
@@ -67,15 +77,18 @@
    * @param objRef Pointer to this object.
    */
   this.handleResponse=function(objRef){
-    sucess=objRef.transactionResponseModel.doc.selectSingleNode("//wfs:TransactionResult/wfs:Status/wfs:SUCCESS");
-    if (sucess){
-      // Remove FeatureList if feature entry was successful.
-      httpPayload=new Object();
-      httpPayload.url=null;
-      objRef.targetModel.newRequest(objRef.targetModel,httpPayload);
-      // Repaint the WMS layers
-      objRef.targetContext.callListeners("refreshWmsLayers");
+    if (objRef.transactionResponseModel.transactionType=="delete") {
+      success=objRef.transactionResponseModel.doc.selectSingleNode("//wfs:TransactionResult/wfs:Status/wfs:SUCCESS");
+      if (success){
+        // Remove FeatureList if feature entry was successful.
+        objRef.targetModel.setModel(objRef.targetModel,null);
+
+        // Repaint GmlRenderers
+        objRef.targetModel.callListeners("refreshGmlRenderers");
+
+        // Repaint the WMS layers
+        objRef.targetContext.callListeners("refreshWmsLayers");
+      }
     }
   }
-
 }
Index: lib/spatial/mapbuilder/lib/widget/Legend.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Legend.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Legend.xsl	(revision 4307)
@@ -1,136 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet 
-    xmlns:wmc="http://www.opengis.net/context" 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-    xmlns:gml='http://www.opengis.net/gml' 
-    xmlns:wfs='http://www.opengis.net/wfs'
-    xmlns:xlink='http://www.w3.org/1999/xlink'
-    version="1.0">
-<!--
-Description: Convert a Web Map Context into a HTML Legend
-Author:      Cameron Shorter cameron ATshorter.net
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-$Id$
-$Name$
--->
-  <xsl:output method="xml" encoding="utf-8"/>
-  
-  <!-- The common params set for all widgets -->
-  <xsl:param name="lang">en</xsl:param>
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-
-  <xsl:param name="skinDir"/>
-  <xsl:param name="selectIcon">/images/id.gif</xsl:param>
-  
-  <!-- Text params for this widget -->
-  <xsl:param name="title"/>
-  
-<!-- The name of the javascript context object to call -->
-  <xsl:param name="featureName"/>
-  <xsl:param name="hidden"/>
-  <xsl:param name="context">config.objects.<xsl:value-of select="$modelId"/></xsl:param>
-
-<!-- Main html -->
-  <xsl:template match="/wmc:ViewContext">
-    <table border="0" cellpadding="1" cellspacing="0">
-      <tr>
-        <th colspan="3"><xsl:value-of select="$title"/></th>
-      </tr>
-      <xsl:apply-templates select="wmc:LayerList/*">
-        <xsl:sort select="position()" order="descending" data-type="number"/>
-      </xsl:apply-templates>
-
-    </table>
-  </xsl:template>
-  
-  <xsl:template match="/wmc:OWSContext">
-    <table border="0" cellpadding="1" cellspacing="0">
-      <tr>
-        <th colspan="3">WMS <xsl:value-of select="$title"/></th>
-      </tr>
-      <xsl:apply-templates select="wmc:ResourceList/wmc:Layer">
-        <xsl:sort select="position()" order="descending" data-type="number"/>
-      </xsl:apply-templates>
-    </table>
-  </xsl:template>
-  
-  <xsl:template match="/wfs:FeatureCollection">
-    <table border="0" cellpadding="1" cellspacing="0">
-      <tr>
-        <th colspan="3">WFS Features</th>
-      </tr>
-      <tr>
-  <!-- Visiblity -->
-        <td>
-          <xsl:if test="$hidden='false'">
-            <input type="checkbox" checked="true" id="legend_{$featureName}" onclick="{$context}.setHidden('{$featureName}',!document.getElementById('legend_{$featureName}').checked)"/>
-          </xsl:if>
-          <xsl:if test="$hidden='true'">
-            <input type="checkbox" id="legend_{$featureName}" onclick="{$context}.setHidden('{$featureName}',! document.getElementById('legend_{$featureName}').checked)"/>
-          </xsl:if>
-        </td>
-  <!-- No query capability yet -->
-        <td>
-        </td>
-        <td class="legendText">
-          <xsl:value-of select="$featureName"/>
-        </td>
-      </tr>
-    </table>
-  </xsl:template>
-  
-<!-- Layer -->
-  <xsl:template match="wmc:Layer">
-    <tr>
-  <!-- Visiblity -->
-      <td>
-        <xsl:if test="@hidden='0'">
-          <input type="checkbox" checked="true" id="legend_{wmc:Name}" onclick="{$context}.setHidden('{wmc:Name}',!document.getElementById('legend_{wmc:Name}').checked)"/>
-        </xsl:if>
-        <xsl:if test="@hidden='1'">
-          <input type="checkbox" id="legend_{wmc:Name}" onclick="{$context}.setHidden('{wmc:Name}',! document.getElementById('legend_{wmc:Name}').checked)"/>
-        </xsl:if>
-      </td>
-  <!-- Query Image -->
-      <td>
-        <xsl:if test="@queryable='1'">
-          <img
-            id="query_{wmc:Name}"
-            title="Click to set {wmc:Title} as the query layer"
-            onclick="config.objects.{$widgetId}.selectLayer(config.objects.{$widgetId},'{wmc:Name}')"
-            src="{$skinDir}{$selectIcon}" />
-        </xsl:if>
-      </td>
-  <!-- Title -->
-      <td id="{wmc:Title}_legendText" class="legendText">
-        <xsl:choose>
-          <xsl:when test="wmc:Title/@xml:lang">              
-            <xsl:value-of select="wmc:Title[@xml:lang=$lang]"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="wmc:Title"/>
-          </xsl:otherwise>
-        </xsl:choose>
-      </td>
-    </tr>
-  <!-- StyleList -->
-    <tr>
-      <td></td>
-      <td></td>
-      <td>
-      <xsl:if test="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL"> 
-          <xsl:element name="IMG">
-              <xsl:attribute name="SRC">
-                <xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL/wmc:OnlineResource/@xlink:href"/> 
-              </xsl:attribute>
-          </xsl:element>
-         </xsl:if>
-      </td>
-    </tr>
-  </xsl:template>
-  
-  <xsl:template match="text()|@*"/>
-  
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wmc="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gml="http://www.opengis.net/gml" xmlns:wfs="http://www.opengis.net/wfs" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="lang">en</xsl:param><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="skinDir"/><xsl:param name="selectIcon">/images/id.gif</xsl:param><xsl:param name="title"/><xsl:param name="featureName"/><xsl:param name="hidden"/><xsl:param name="context">config.objects.<xsl:value-of select="$modelId"/></xsl:param><xsl:template match="/"><table border="0" cellpadding="1" cellspacing="0"><tr><th colspan="3"><xsl:value-of select="$title"/></th></tr><xsl:apply-templates select="//wmc:ResourceList/*|//wmc:LayerList/*"><xsl:sort select="position()" order="descending" data-type="number"/></xsl:apply-templates></table></xsl:template><xsl:template match="/wfs:FeatureCollection"><table border="0" cellpadding="1" cellspacing="0"><tr><td><xsl:if test="$hidden='false'"><input type="checkbox" checked="true" id="legend_{$featureName}" onclick="{$context}.setHidden('{$featureName}',!this.checked)"/></xsl:if><xsl:if test="$hidden='true'"><input type="checkbox" id="legend_{$featureName}" onclick="{$context}.setHidden('{$featureName}',!this.checked)"/></xsl:if></td><td/><td/><td><xsl:value-of select="$featureName"/></td></tr></table></xsl:template><xsl:template match="wmc:Layer"><tr><td><xsl:if test="@hidden='0'"><input type="checkbox" checked="true" id="legend_{wmc:Name}" onclick="{$context}.setHidden('{wmc:Name}',!this.checked)"/></xsl:if><xsl:if test="@hidden='1'"><input type="checkbox" id="legend_{wmc:Name}" onclick="{$context}.setHidden('{wmc:Name}',!this.checked)"/></xsl:if></td><td><xsl:if test="@opacity"><input type="button" value=" - " onClick="javascript:vze=document.getElementById('opacity_{wmc:Name}');nvv=parseFloat(vze.value)-0.1;vze.value=(nvv&lt;0)?0:nvv;{$context}.setOpacity('{wmc:Name}',vze.value)"/><input type="hidden" id="opacity_{wmc:Name}" onkeypress="{$context}.setOpacity('{wmc:Name}',this.value)"><xsl:attribute name="value"><xsl:value-of select="@opacity"/></xsl:attribute></input><input type="button" value=" + " onClick="javascript:vze=document.getElementById('opacity_{wmc:Name}');nvv=parseFloat(vze.value)+0.1;vze.value=(nvv&gt;1)?1:nvv;{$context}.setOpacity('{wmc:Name}',vze.value)"/></xsl:if></td><td><xsl:if test="@queryable='1'"><img id="query_{wmc:Name}" title="Click to set {wmc:Title} as the query layer" onclick="config.objects.{$widgetId}.selectLayer(config.objects.{$widgetId},'{wmc:Name}')" src="{$skinDir}{$selectIcon}"/></xsl:if></td><td><xsl:choose><xsl:when test="wmc:Title/@xml:lang"><xsl:value-of select="wmc:Title[@xml:lang=$lang]"/></xsl:when><xsl:otherwise><xsl:value-of select="wmc:Title"/></xsl:otherwise></xsl:choose></td></tr><tr><td/><td/><td/><td><xsl:if test="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL"><xsl:element name="img"><xsl:attribute name="src"><xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL/wmc:OnlineResource/@xlink:href"/></xsl:attribute></xsl:element></xsl:if></td></tr></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/Timestamp.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Timestamp.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Timestamp.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: Timestamp.js 3879 2008-02-27 14:20:29Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -17,9 +17,15 @@
 function Timestamp(widgetNode, model) {
   WidgetBaseXSL.apply(this,new Array(widgetNode, model));
 
+  //set some properties for the form output
+  this.formName = "TimestampForm_" + mbIds.getId();
+  this.stylesheet.setParameter("formName", this.formName);
+
   this.updateTimestamp = function (objRef, timestamp) {
-    var inputEl = document.getElementById("timestampValue");
-    inputEl.value = objRef.model.timestampList.childNodes[timestamp].firstChild.nodeValue;
+    var form = document[objRef.formName];
+    if (form) {
+      form.timestampValue.value = getNodeValue(objRef.model.timestampList.childNodes[timestamp]);
+    }
   }
 
   this.model.addListener("timestamp",this.updateTimestamp, this);
Index: lib/spatial/mapbuilder/lib/widget/Locations.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Locations.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Locations.xsl	(revision 4307)
@@ -1,82 +1,2 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-
-<!--
-
-Description: Convert a Locations XML document (as per schema at lib/model/schemas/locations.xsd)
-
-             into a HTML select box
-
-Author:      Tom Kralidis
-
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-
-
-$Id: Locations.xsl,v 1.3 2004/02/27 14:05:36 tomkralidis Exp 
-
-$Name$Name$
-
--->
-
-
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:gml="http://www.opengis.net/gml" xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder">
-
-  <xsl:output method="xml" omit-xml-declaration="yes"/>
-
-  <xsl:preserve-space elements="gml:name option"/>
-
-  
-
-  <!-- The common params set for all widgets -->
-
-  <xsl:param name="modelId"/>
-
-  <xsl:param name="widgetId"/>
-
-  <xsl:param name="targetModel"/>
-
-  
-
-  <xsl:param name="selectSize" select="1"/>
-
-  <xsl:param name="selectedOption"/>
-
-    
-
-  
-
-  <xsl:template match="/mb:QuickviewPresetResultSet">
-
-  <xsl:variable name="srsName" select="gml:featureMember/mb:locationDef/mb:spatialKeyword/gml:location/gml:Envelope/@srsName"/>
-
-    <DIV>
-
-    <form>
-
-      <select name="locations" onchange="javascript:config.objects.{$widgetId}.setAoi(this.options[this.selectedIndex].value,'{$targetModel}');" size="{$selectSize}">
-
-        <xsl:apply-templates select="gml:featureMember/mb:locationDef"/>
-
-      </select>
-
-    </form>
-
-    </DIV>
-
-  </xsl:template>
-
-
-
-  <xsl:template match="mb:locationDef">
-
-    <xsl:variable name="bbox" select="translate(mb:spatialKeyword/gml:location/gml:Envelope/gml:coordinates,' ',',')"/>
-
-    <option value="{$bbox}"><xsl:value-of select="gml:name"/></option>
-
-  </xsl:template>
-
-
-
-</xsl:stylesheet>
-
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gml="http://www.opengis.net/gml" xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes"/><xsl:preserve-space elements="gml:name option"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="targetModel"/><xsl:param name="selectSize" select="1"/><xsl:param name="selectedOption"/><xsl:template match="/mb:QuickviewPresetResultSet"><xsl:variable name="srsName" select="gml:featureMember/mb:locationDef/mb:spatialKeyword/gml:location/gml:Envelope/@srsName"/><DIV><form><select name="locations" onchange="javascript:config.objects.{$widgetId}.setAoi(this.options[this.selectedIndex].value,'{$targetModel}','{$srsName}');" size="{$selectSize}"><xsl:apply-templates select="gml:featureMember/mb:locationDef"/></select></form></DIV></xsl:template><xsl:template match="mb:locationDef"><xsl:variable name="bbox" select="translate(mb:spatialKeyword/gml:location/gml:Envelope/gml:coordinates,' ',',')"/><option value="{$bbox}"><xsl:value-of select="gml:name"/></option></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/Button.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Button.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Button.xsl	(revision 4307)
@@ -1,40 +1,9 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0" 
-  xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" 
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-<!--
-Description: Convert Mapbuilder Config to a button image and link.  This stylesheet 
-            takes a Button node from config as input.  The link executes two
-            Javascript methods:
-            - button.select() see ButtonBase
-            - config.objects.$action where $action is a objectReference.method() 
-              specified in config.
-Author:      Mike Adair
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-ButtonBar.xsl,v 1.5 2004/03/25 21:25:43 madair1 Exp
--->
-
-  <xsl:output method="xml" omit-xml-declaration="yes"/>
-  
-  <!-- The common params set for all widgets -->
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-  <xsl:param name="action"/>
-  <xsl:param name="skinDir" select="/mb:MapbuilderConfig/mb:skinDir"/>
-
-  <!-- Text params for this widget -->
-  <xsl:param name="tooltip">set the tooltip property in WidgetText file</xsl:param>
-  <xsl:param name="buttonText"/>
-    
-  <xsl:template match="*">
-    <xsl:param name="linkUrl">javascript:config.objects.<xsl:value-of select="$widgetId"/>.select()<xsl:if test="$action">;config.objects.<xsl:value-of select="$action"/></xsl:if></xsl:param>
-    <xsl:param name="imageID"><xsl:value-of select="@id"/>_image</xsl:param>
-    <xsl:param name="imageSrc"><xsl:value-of select="mb:disabledSrc"/></xsl:param>
-    <a href="{$linkUrl}" class="mbButton">
-      <xsl:if test="string-length($imageSrc)>0"><img src="{$skinDir}{$imageSrc}" id="{$imageID}" title="{$tooltip}" border="0"/></xsl:if>
-      <xsl:if test="string-length($buttonText)>0"><xsl:value-of select="$buttonText"/></xsl:if>
-    </a>
-  </xsl:template>
-
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="action"/><xsl:param name="skinDir" select="/mb:MapbuilderConfig/mb:skinDir"/><xsl:param name="tooltip">set the tooltip property in WidgetText file</xsl:param><xsl:param name="buttonText"/><xsl:param name="cssName"/><xsl:template match="*"><xsl:param name="linkUrl">javascript:config.objects.<xsl:value-of select="$widgetId"/>.select()<xsl:if test="$action">;config.objects.<xsl:value-of select="$action"/></xsl:if></xsl:param><xsl:param name="imageID"><xsl:value-of select="@id"/>_image</xsl:param><xsl:param name="disabledSrc"><xsl:value-of select="mb:disabledSrc"/></xsl:param><xsl:param name="enabledSrc"><xsl:value-of select="mb:enabledSrc"/></xsl:param><style>
+      .olControlPanel .<xsl:value-of select="$cssName"/>Active {
+		background-image: url('<xsl:value-of select="concat($skinDir,$enabledSrc)"/>');
+      }
+      .olControlPanel .<xsl:value-of select="$cssName"/>Inactive {
+		background-image: url('<xsl:value-of select="concat($skinDir,$disabledSrc)"/>');
+      }
+    </style></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/GmlRendererConfig.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/GmlRendererConfig.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/GmlRendererConfig.js	(revision 4307)
@@ -0,0 +1,36 @@
+/*
+Author:       Andreas Hocevar andreas.hocevarATgmail.com
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: GmlRendererConfig.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/GmlRendererBase.js");
+
+/**
+ * Configuration for GmlRendererOL.
+ * This widget is used in models that merge into a MergeModel to specify
+ * a GmlRenderer configuration (sld, cursor style). The GmlRendererOL in
+ * the MergeModel will check for configurations in source models and use
+ * them.
+ * @constructor
+ * @base GmlRendererBase
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function GmlRendererConfig(widgetNode, model) {
+  GmlRendererBase.apply(this,new Array(widgetNode, model));
+  
+  var targetWidget = this.getProperty('mb:targetWidget');
+  
+  this.init = function(objRef) {
+    if (targetWidget) {
+      if (!model.config) {
+        model.config = {};
+      }
+      model.config[targetWidget] = objRef.config;
+    }
+  }
+  model.addListener('init', this.init, this);
+}
Index: lib/spatial/mapbuilder/lib/widget/ModelStatus.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/ModelStatus.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/ModelStatus.js	(revision 4307)
@@ -2,7 +2,7 @@
 Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
 License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: ModelStatus.js 1671 2005-09-20 02:37:54Z madair1 $
 */
 
 // Ensure this object's dependancies are loaded.
Index: lib/spatial/mapbuilder/lib/widget/TabbedContent.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/TabbedContent.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/TabbedContent.js	(revision 4307)
@@ -2,7 +2,7 @@
 Author:       Mike Adair/Fedele Stella
 License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: TabbedContent.js 3879 2008-02-27 14:20:29Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -21,17 +21,9 @@
   WidgetBaseXSL.apply(this,new Array(widgetNode, model));
 
   this.selectedTab = null;
-  var textNodeXpath = "/mb:WidgetText/mb:widgets/mb:TabbedContent";
-  this.tabLabels = config.widgetText.selectNodes(textNodeXpath);
+  this.tabList = new Array();
+  this.textNodeXpath = "/mb:WidgetText/mb:widgets/mb:TabbedContent";
 
-  //find the workspace node controlled by these tabs
-  var workspace = widgetNode.selectSingleNode("mb:htmlWorkspace");
-  if ( workspace ) {
-    this.htmlWorkspace = workspace.firstChild.nodeValue;
-  } else {
-    alert("htmlWorkspace must be defined for TabbedContent widget");
-  }
-
   /**
    * Initializes the tab list and sets the label for each tab
    * @param objRef a pointer to this object
@@ -40,24 +32,22 @@
     var tabs = objRef.widgetNode.selectNodes("mb:tab");
     for (var i=0; i<tabs.length; ++i) {
       var tab = tabs[i];
-      var tabWidgetId = tab.firstChild.nodeValue;
+      var tabWidgetId = getNodeValue(tab);
       var tabWidget = config.objects[tabWidgetId];
       if (!tabWidget) {
-        alert("tab widget not found:"+tabWidgetId);
+        alert(mbGetMessage("tabWidgetNotFound", tabWidgetId));
         return;
       }
 
-      tabWidget.htmlTagId = objRef.htmlWorkspace;
-      tabWidget.outputNodeId = objRef.id+"_workspace";
-      tabWidget.node = document.getElementById(tabWidget.htmlTagId);
-      tabWidget.tabList = objRef;
+      objRef.tabList.push(tabWidget);
 
       var tabLabel = tab.getAttribute("label"); 
       if (!tabLabel) tabLabel = tabWidgetId;
-      var textNode = config.widgetText.selectSingleNode(textNodeXpath+"/mb:"+tabWidgetId);
-      if (textNode) tabLabel = textNode.firstChild.nodeValue;
+      var textNode = config.widgetText.selectSingleNode(objRef.textNodeXpath+"/mb:"+tabWidgetId);
+      if (textNode) tabLabel = getNodeValue(textNode);
       tab.setAttribute("label",tabLabel);
       
+      tabWidget.model.addListener("refresh",objRef.paint,objRef);
       tabWidget.model.addListener("refresh",objRef.selectTab,tabWidget);
     }
   }
@@ -69,14 +59,11 @@
    * @param order  the order within the tabs
    */
   this.addWidget = function(tabWidget,tabLabel) {
-    tabWidget.htmlTagId = this.htmlWorkspace;
-    tabWidget.outputNodeId = this.id+"_workspace";
-    tabWidget.node = document.getElementById(tabWidget.htmlTagId);
-    tabWidget.tabList = this;
+    this.tabList.push(tabWidget);
 
     if (!tabLabel) tabLabel = tabWidget.id;
-    var textNode = config.widgetText.selectSingleNode(textNodeXpath+"/mb:"+tabWidget.id);
-    if (textNode) tabLabel = textNode.firstChild.nodeValue;
+    var textNode = config.widgetText.selectSingleNode(this.textNodeXpath+"/mb:"+tabWidget.id);
+    if (textNode) tabLabel = getNodeValue(textNode);
 
     var tabNode = this.model.doc.createElementNS(mbNS,"tab");
     tabNode.appendChild(this.model.doc.createTextNode(tabWidget.id));
@@ -94,18 +81,18 @@
    */
   this.selectTab = function(tabWidget) {
     if (!tabWidget.model.doc) {
-      alert("no data to show yet");
+      alert(mbGetMessage("noDataYet"));
       return;
     }
-    var tabList = tabWidget.tabList;
-    if (tabList.selectedTab!=null) tabList.selectedTab.className = '';
-    var newAnchor = document.getElementById(tabList.id+"_"+tabWidget.id);
+    var tabBar = config.objects[tabWidget.tabBarId]
+    if (tabBar.selectedTab!=null) tabBar.selectedTab.className = '';
+    var newAnchor = document.getElementById(tabBar.id+"_"+tabWidget.id);
     if (newAnchor) {
       newAnchor.className = 'current';
-      tabList.selectedTab = newAnchor;
-      tabWidget.paint(tabWidget,true);
+      tabBar.selectedTab = newAnchor;
+      tabWidget.paint(tabWidget,tabWidget.id);
     }
-    //tabWidget.targetModel.callListeners("refresh");
+    if (tabWidget.tabAction) eval(tabWidget.tabAction);
   }
 
   /**
@@ -114,6 +101,19 @@
    */
   this.prePaint = function(objRef){
     objRef.resultDoc = objRef.widgetNode;
+    for (var i=0; i<objRef.tabList.length; ++i) {
+      var tabWidget = objRef.tabList[i];
+      tabWidget.tabBarId = this.id;
+      var tabNode = objRef.resultDoc.selectSingleNode("mb:tab[text()='"+tabWidget.id+"']");
+      if (!tabWidget.model.doc) {
+        tabNode.setAttribute("disabled", "true");
+      } else {
+        tabNode.removeAttribute("disabled");
+      }
+
+      //specify an optional action to be performed when the tab is selected
+      this.tabAction = this.getProperty("mb:tabAction");
+    }
   }
 
 }
Index: lib/spatial/mapbuilder/lib/widget/LegendGraphic.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/LegendGraphic.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/LegendGraphic.xsl	(revision 4307)
@@ -0,0 +1,2 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wmc="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gml="http://www.opengis.net/gml" xmlns:wfs="http://www.opengis.net/wfs" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="lang">en</xsl:param><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="skinDir"/><xsl:param name="title"/><xsl:param name="featureName"/><xsl:template match="/wmc:ViewContext"><div><xsl:choose><xsl:when test="$featureName"><xsl:apply-templates select="wmc:ResourceList[wmc:Name='$featureName'] | wmc:LayerList[wmc:Name='$featureName']"/></xsl:when><xsl:otherwise><xsl:apply-templates select="wmc:ResourceList | wmc:LayerList"/></xsl:otherwise></xsl:choose></div></xsl:template><xsl:template match="wmc:Layer[@hidden='0']"><div><xsl:if test="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL"><xsl:choose><xsl:when test="wmc:Title/@xml:lang"><xsl:value-of select="wmc:Title[@xml:lang=$lang]"/></xsl:when><xsl:otherwise><xsl:value-of select="wmc:Title"/></xsl:otherwise></xsl:choose><br/><xsl:element name="img"><xsl:attribute name="src"><xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL/wmc:OnlineResource/@xlink:href"/></xsl:attribute></xsl:element></xsl:if></div></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/SelectFromAtomFeed.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/SelectFromAtomFeed.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/SelectFromAtomFeed.xsl	(revision 4307)
@@ -0,0 +1,2 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:atom="http://www.w3.org/2005/Atom" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" exclude-result-prefixes="xlink"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8"/><xsl:strip-space elements="*"/><xsl:param name="lang">en</xsl:param><xsl:param name="title"/><xsl:param name="widgetId"/><xsl:template match="/atom:feed"><div><xsl:if test="/atom:feed/atom:title"><h3><xsl:value-of select="/atom:feed/atom:title"/></h3></xsl:if><ul><xsl:apply-templates select="atom:entry"/></ul></div></xsl:template><xsl:template match="atom:entry"><xsl:param name="linkUrl">javascript:config.objects.<xsl:value-of select="$widgetId"/>.switchModel(config.objects.<xsl:value-of select="$widgetId"/>,'<xsl:value-of select="atom:content/@src"/>')</xsl:param><li><a href="{$linkUrl}"><xsl:value-of select="atom:title"/></a></li></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/EventLog.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/EventLog.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/EventLog.xsl	(revision 4307)
@@ -1,79 +1,12 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0"
-xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder"
-xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-<!--
-Description: Show an event log, used for debugging.
-Author:      Mike Adair
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-$Id$
-$Name$
--->
-
-  <xsl:output method="xml" encoding="utf-8"/>
-
-  <xsl:param name="listenerFilter"></xsl:param>
-  <xsl:param name="targetFilter"></xsl:param>
-
-  <!-- Main html -->
-  <xsl:template match="/mb:Logger">
-    <div style="height:300px;overflow:scroll">
-    <table border="1">
-      <tr>
-        <td colspan="2">
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="listenerFilter"/><xsl:param name="targetFilter"/><xsl:template match="/mb:Logger"><div style="height:300px;overflow:scroll"><table border="1"><tr><td colspan="2">
           Event Log
-        </td>
-        <td>
-          <a href="javascript:window.logger.clearLog();">Clear</a> - 
+        </td><td><a href="javascript:window.logger.clearLog();">Clear</a> - 
           <a href="javascript:window.logger.callListeners('refresh');">Refresh</a> - 
-          <a href="javascript:window.logger.saveLog();">Save</a>
-        </td>
-      </tr>
-      <tr>
-        <th>
+          <a href="javascript:window.logger.saveLog();">Save</a></td></tr><tr><th>
           Event
-        </th>
-        <th>
+        </th><th>
           Listener
-        </th>
-        <th>
+        </th><th>
           Target
-        </th>
-      </tr>
-      <xsl:choose>
-        <xsl:when test="string-length($listenerFilter)>0">              
-          <xsl:choose>
-            <xsl:when test="string-length($targetFilter)>0">              
-              <xsl:apply-templates select="event[@listener=$listenerFilter and @target=$targetFilter]"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates select="event[@listener=$listenerFilter]"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="event"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </table>
-    </div>
-  </xsl:template>
-  
-  <xsl:template match="event">
-    <tr>
-      <td>
-        <xsl:value-of select="."/>
-      </td>
-      <td>
-        <xsl:value-of select="@listener"/>
-      </td>
-      <td>
-        <xsl:value-of select="@target"/>
-      </td>
-    </tr>
-  </xsl:template>
-
-</xsl:stylesheet>
-
+        </th></tr><xsl:choose><xsl:when test="string-length($listenerFilter)&gt;0"><xsl:choose><xsl:when test="string-length($targetFilter)&gt;0"><xsl:apply-templates select="event[@listener=$listenerFilter and @target=$targetFilter]"/></xsl:when><xsl:otherwise><xsl:apply-templates select="event[@listener=$listenerFilter]"/></xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise><xsl:apply-templates select="event"/></xsl:otherwise></xsl:choose></table></div></xsl:template><xsl:template match="event"><tr><td><xsl:value-of select="."/></td><td><xsl:value-of select="@listener"/></td><td><xsl:value-of select="@target"/></td></tr></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/GmlRendererOL.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/GmlRendererOL.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/GmlRendererOL.js	(revision 4307)
@@ -0,0 +1,371 @@
+/*
+Author:       Andreas Hocevar andreas.hocevarATgmail.com
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: GmlRendererOL.js 3962 2008-04-01 13:21:42Z ahocevar $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/GmlRendererBase.js");
+
+/**
+ * Render GML into HTML.
+ * this.targetModel references the context model for the map
+ * where the content of this widget should be rendered to.
+ * If the model doc is not wfs compliant, a stylesheet
+ * property has to be set for this widget. The xsl file
+ * referenced in this property transforms the model doc to
+ * a wfs FeatureCollection.
+ * @constructor
+ * @base GmlRendererBase
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function GmlRendererOL(widgetNode, model) {
+  GmlRendererBase.apply(this,new Array(widgetNode, model));
+  
+  // create modified OpenLayers GML layer class, which
+  // uses a gml doc directly instead of loading it from
+  // an URL
+  var OlLayer = OpenLayers.Class(OpenLayers.Layer.GML, {
+  
+    loadGML: function() {
+      if (!this.loaded) {
+        var gml = new OpenLayers.Format.GML();
+        try {
+          this.proj = this.projection;
+          this.addFeatures(gml.read(this.mbWidget.renderDoc));
+          this.loaded = true;
+        } catch (e) {
+          alert(mbGetMessage("documentParseError"),
+              new XMLSerializer().serializeToString(this.mbWidget.renderDoc));
+        }
+      }
+    },
+    
+    // let the layer always be visible, independent of the resolution
+    calculateInRange: function() {
+      return true;
+    },
+    
+    // make destroyFeatures bullet-proof to work with undefined geometries
+    destroyFeatures: function() {
+      var features = this.features;
+      var featuresToRemove = [];
+      var feature;
+      for (var i=0; i<features.length; i++) {
+        feature = features[i];
+        feature.mbWidgetConfig = null;
+        if (!feature.geometry) {
+          featuresToRemove.push(feature);
+        }
+      }
+      this.removeFeatures(featuresToRemove);
+      for (var i=0; i<featuresToRemove.length; i++) {
+        featuresToRemove[i].destroy();
+      }
+      OpenLayers.Layer.GML.prototype.destroyFeatures.apply(this, arguments);
+    },
+  
+    preFeatureInsert: function(feature) {
+      if (feature.geometry) {
+        // check if there is a source model linked with this feature
+        var sourceNode = this.mbWidget.model.doc.selectSingleNode("//*[@fid='"+feature.fid+"']");
+        var sourceModel = null;
+        if (sourceNode) {
+          sourceModel = sourceNode.getAttribute('sourceModel');
+        }
+        // if so, use the config from the source model
+        var widgetConfig = null;
+        if (sourceModel && config.objects[sourceModel].config && config.objects[sourceModel].config[this.mbWidget.id]) {
+          widgetConfig = config.objects[sourceModel].config[this.mbWidget.id];
+        } else {
+          widgetConfig = this.mbWidget.config;
+        }
+        feature.mbWidgetConfig = widgetConfig;
+        if (!widgetConfig.sourceSRS) {
+          if (widgetConfig.featureSRS) {
+            widgetConfig.sourceSRS = new OpenLayers.Projection(widgetConfig.featureSRS);
+          } else {
+            widgetConfig.sourceSRS = null;
+          }
+        }
+        //in the future this will be handled internally to OpenLayers
+        if (widgetConfig.sourceSRS) {
+          this.convertPoints(feature.geometry, widgetConfig.sourceSRS);
+        }  
+      }
+    },
+    
+    drawFeature: function(feature, style) {
+      // set styles before rendering the feature
+      var widgetConfig = feature.mbWidgetConfig;
+      if (widgetConfig) {
+        feature.style = null;
+        if (widgetConfig.defaultStyle && style != "select") {
+          feature.style = widgetConfig.defaultStyle.createSymbolizer ?
+              widgetConfig.defaultStyle.createSymbolizer(feature) :
+              widgetConfig.defaultStyle;
+        }
+        // set select styles
+        if (widgetConfig && widgetConfig.selectStyle) {
+          feature.mbSelectStyle = widgetConfig.selectStyle;
+        }
+      }
+      OpenLayers.Layer.GML.prototype.drawFeature.apply(this, arguments);
+    },
+    
+    convertPoints: function(component, sourceSRS) {
+      if (component.CLASS_NAME == 'OpenLayers.Geometry.Point') {
+        component.transform(sourceSRS, this.proj);
+      } else {
+        for (var i=0; i<component.components.length; ++i) {
+          this.convertPoints(component.components[i], sourceSRS);
+        }
+      }
+    },
+    
+    /**
+     * gets a feature from the gmlRendererLayer by GML feature id.
+     * @param fid GML feature id of the feature
+     * @return feature OpenLayers feature matching fid
+     */
+    getFeatureByFid: function(fid) {
+      if (!this.features) {
+        return null;
+      }
+      for (var i = 0; i < this.features.length; ++i) {
+        if (this.features[i].fid == fid) {
+          return this.features[i];
+        }
+      }
+    },
+    
+    destroy: function() {
+      this.mbWidget = null;
+      OpenLayers.Layer.Vector.prototype.destroy.apply(this, arguments);
+    }
+  });
+
+  /** OpenLayers GML layer which renders the model doc */
+  this.olLayer = null;
+  
+  /**
+   * Style object for default renderer styling of features.
+   * This holds one style for each OpenLayers feature class
+   */
+  this.defaultStyle = null;
+
+  /**
+   * Style object for default renderer styling of features.
+   * This holds one style for each OpenLayers feature class
+   */
+  this.selectStyle = null;
+    
+  /**
+   * Features that shall not be drawn
+   */
+  this.hiddenFeatures = new Array();
+  
+  // replacement for deprecated MapContainerBase
+  this.containerNodeId = this.htmlTagId;
+  model.containerModel = this.targetModel;
+  
+  // Set this.stylesheet. This is taken from WidgetBaseXSL.js
+  if ( !this.stylesheet ) {
+    var styleNode = widgetNode.selectSingleNode("mb:stylesheet");
+    if (styleNode) {
+      this.stylesheet = new XslProcessor(getNodeValue(styleNode), model.namespace);
+      this.stylesheet.setParameter("proxyUrl", config.proxyUrl);
+    }
+  }
+
+  // set the hover cursor.
+  this.hoverCursor = this.getProperty('mb:hoverCursor', 'pointer');
+
+  this.paint = function(objRef) {
+    if (objRef.targetModel.map) {
+      // remove features from layer
+      if (objRef.olLayer) {
+        objRef.model.setParam('gmlRendererLayer', null);
+      }
+      // transform the model using the xsl stylesheet if there is one,
+      // otherwise just take the model doc.
+      objRef.renderDoc = objRef.stylesheet ? objRef.stylesheet.transformNodeToObject(objRef.model.doc) : objRef.model.doc;
+      // nothing to do here if there is no model doc
+      if (!objRef.renderDoc) {
+        return;
+      }
+
+      // keep a reference to the map we created the layer for
+      objRef.map = objRef.targetModel.map;
+      
+      // add own model to array of configurations
+      var models = [objRef.model];
+      // get configurations from source models, if any
+      if (objRef.model.mergeModels) {
+        for (var i=0; i<objRef.model.mergeModels.length; i++) {
+          models.push(objRef.model.mergeModels[i]);
+        }
+      }
+      // store configurations for each source model
+      for (var i = 0; i < models.length; i++) {
+        var widgetConfig = config.objects[models[i].id].config ? config.objects[models[i].id].config[objRef.id] : null;
+        if (!widgetConfig) {
+          widgetConfig = objRef.config;
+        }
+        if (widgetConfig.sldModelNode) {
+          var sldModel = config.objects[getNodeValue(widgetConfig.sldModelNode)];
+          if (sldModel) {
+            sldModel.addListener("loadModel", objRef.paint, objRef);
+            if (!sldModel.doc) {
+              return;
+            }
+            var sldNode = sldModel.getSldNode();
+            if (sldModel.sld) {
+              var namedLayer = sldModel.sld.namedLayers[objRef.id].userStyles;
+              for (var j=0; j<namedLayer.length; ++j) {
+              	namedLayer[j].propertyStyles = namedLayer[j].findPropertyStyles();
+              	if (namedLayer[j].name == widgetConfig.defaultStyleName) {
+              	  widgetConfig.defaultStyle = namedLayer[j];
+              	}
+              	if (namedLayer[j].name == widgetConfig.selectStyleName) {
+              	  widgetConfig.selectStyle = namedLayer[j];
+              	}
+              }
+              if (widgetConfig.selectStyle) {
+                widgetConfig.selectStyle.defaultStyle.cursor = objRef.hoverCursor;
+              }
+            } else if (sldNode) {
+              widgetConfig.defaultStyle =
+                  sld2OlStyle(sldNode.selectSingleNode("//*[wmc:Name='"+widgetConfig.defaultStyleName+"']"));
+              widgetConfig.selectStyle =
+                  sld2OlStyle(sldNode.selectSingleNode("//*[wmc:Name='"+widgetConfig.selectStyleName+"']"));
+              if (widgetConfig.selectStyle) {
+                widgetConfig.selectStyle.cursor = objRef.hoverCursor;
+              }
+            }
+          }
+        }
+      }
+      
+      if (!objRef.olLayer || !objRef.olLayer.mbWidget) {
+        objRef.olLayer = new OlLayer(objRef.id, null, {mbWidget: objRef});
+        objRef.targetModel.map.addLayer(objRef.olLayer);
+      } else {
+        objRef.olLayer.loaded = false;
+        objRef.olLayer.destroyFeatures();
+        objRef.olLayer.loadGML();
+      }
+      objRef.removeHiddenFeatures(objRef);
+      
+      objRef.model.setParam('gmlRendererLayer', objRef.olLayer);
+    }
+    // We add a refresh listener to the targetModel. This way we
+    // can be sure that the gml renderer is reloaded when the
+    // map is refreshed, and also if the map did not exist yet
+    // when paint was called for the first time.
+    objRef.targetModel.addListener('refresh', objRef.paint, objRef);
+  }
+  this.model.addListener("refresh",this.paint, this);
+  
+  /**
+   * Called when the context's hidden attribute changes.
+   * @param objRef This object.
+   * @param layerName  The name of the layer that was toggled.
+   */
+  this.hiddenListener=function(objRef, layerName){
+    //TBD not yet implemented
+    alert('hide/unhide '+layerName);
+  }
+  this.model.addListener("hidden",this.hiddenListener,this);
+  
+  /**
+   * Hides the feature specified by its fid from the map
+   * @param objRef this widget
+   * @param fid feature id of the feature to hide. If it is null,
+   * the hideFeature param of the model will be used.
+   */
+  this.hideFeature = function(objRef, fid) {
+    if (!fid) {
+      fid = objRef.model.getParam('hideFeature');
+    }
+    var feature = objRef.olLayer.getFeatureByFid(fid);
+    if (feature) {
+      objRef.hiddenFeatures.push(fid);
+      // mark the feature as hidden - this will be checked by other widgets
+      feature.mbHidden = true;
+      objRef.olLayer.renderer.eraseGeometry(feature.geometry);      
+    }
+  }
+  this.model.addListener("hideFeature", this.hideFeature, this);
+  
+  /**
+   * Shows the feature specified by its fid in the map
+   * @param objRef this widget
+   * @param fid feature id of the feature to show. If it is null,
+   * the showFeature param of the model will be used.
+   */
+  this.showFeature = function(objRef, fid) {
+    if (!fid) {
+      fid = objRef.model.getParam('showFeature');
+    }
+    var feature = objRef.olLayer.getFeatureByFid(fid);
+    if (feature) {
+      OpenLayers.Util.removeItem(objRef.hiddenFeatures, fid);
+      // mark the feature as visible - this will be checked by other widgets
+      feature.mbHidden = false;
+      objRef.olLayer.drawFeature(feature);
+    }
+  }
+  this.model.addListener("showFeature", this.showFeature, this);
+  
+  this.removeHiddenFeatures = function(objRef) {
+    if (objRef.olLayer) {
+      // remove hidden features
+      var hiddenFeatures = objRef.hiddenFeatures.toString().split(/,/);
+      objRef.hiddenFeatures = new Array();
+      for (var i=0; i<hiddenFeatures.length; i++) {
+        if (hiddenFeatures[i]) {
+          objRef.hideFeature(objRef, hiddenFeatures[i]);
+        }
+      }
+    }
+  }
+  
+  
+  /**
+   * Initializes this widget
+   * @param objRef This object
+   */
+  this.init = function(objRef) {
+    var clickWidgetNode =  widgetNode.selectSingleNode("mb:featureOnClick");
+    if (clickWidgetNode) {
+      var clickWidget = config.objects[getNodeValue(clickWidgetNode)];
+      objRef.model.addListener("olFeatureSelect", clickWidget.onClick, clickWidget);
+    }
+    var hoverWidgetNode =  widgetNode.selectSingleNode("mb:featureOnHover");
+    if (hoverWidgetNode) {
+      var hoverWidget = config.objects[getNodeValue(hoverWidgetNode)];
+      objRef.model.addListener("olFeatureHover", hoverWidget.onMouseover, hoverWidget);
+      objRef.model.addListener("olFeatureOut", hoverWidget.onMouseout, hoverWidget);
+    }
+    objRef.targetModel.addListener("aoi", objRef.removeHiddenFeatures, objRef);
+  }
+  this.model.addListener("init", this.init, this);
+  
+  this.model.removeListener("newModel", this.clearWidget, this);
+  this.clearWidget = function(objRef) {
+    if (objRef.olLayer) {
+      objRef.olLayer.loaded = false;
+      for (var i=0; i<objRef.olLayer.map.controls.length; i++) {
+        if (objRef.olLayer.map.controls[i].layer == objRef.olLayer) {
+          objRef.olLayer.map.controls[i].destroy();
+        }
+      }
+      objRef.olLayer.destroy();
+      objRef.olLayer = null;
+    }
+  }
+  this.model.addListener("newModel", this.clearWidget, this);
+}
Index: lib/spatial/mapbuilder/lib/widget/ShowDistance.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/ShowDistance.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/ShowDistance.js	(revision 4307)
@@ -0,0 +1,50 @@
+/*
+Author: imke doerge AT geodan.nl
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: ShowDistance.js 3242 2007-09-11 11:15:21Z gjvoosten $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Widget to display the measured distance when it measurement is enabled.
+ *
+ * @constructor
+ * @base WidgetBaseXSL
+ * @param widgetNode This widget's object node from the configuration document.
+ * @param model The model that this widget is a view of.
+ */
+
+function ShowDistance(widgetNode, model) {
+  WidgetBaseXSL.apply(this,new Array(widgetNode, model));
+   
+	// outputs the totalDistance value to the form element
+	this.showDistance = function(objRef) {
+		var distForm = document.getElementById(objRef.formName);   
+		var totalDistance = objRef.model.values.showDistance;
+		if (totalDistance == null) {
+		  // hide result form
+		  objRef.getNode().style.display = 'none';
+		} else {
+		  objRef.getNode().style.display = '';
+		  // fill new distance value into form
+  		if (totalDistance > 1000.000) { // >1000m = 1.000km
+        if (totalDistance > 1000000.000) outputDistance = Math.round(totalDistance/1000)+"  km"; // >1000km
+        else outputDistance = Math.round(totalDistance/100)/10+"  km";
+      }
+      else if (totalDistance > 0) { outputDistance = Math.round(totalDistance)+"  m"; }
+      else outputDistance = '';
+      if (distForm) {
+        distForm.distance.value = outputDistance;
+      }
+		}
+	}
+
+	//add a showDistance Listener to the modal
+	this.model.addListener("showDistance", this.showDistance, this);
+
+  //set some properties for the form output
+	this.formName = "ShowDistance_" + mbIds.getId();
+	this.stylesheet.setParameter("formName", this.formName);  
+}    
Index: lib/spatial/mapbuilder/lib/widget/Forward.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Forward.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Forward.js	(revision 4307)
@@ -1,7 +1,7 @@
 /*
 Author:       Steven Ottens AT geodan.nl
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: Forward.js 3587 2007-11-12 12:24:58Z ahocevar $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -16,23 +16,33 @@
  * @param model  The model for this widget
  */
 function Forward(widgetNode, model) {
-  ButtonBase.apply(this, new Array(widgetNode, model));
   
+   ButtonBase.apply(this, new Array(widgetNode, model));
+
   /**
-   * Replaces the current extent with the next one in history
-   * @param objRef      Pointer to this object.
+   * Interactive ZoomOut control.
+   * @param objRef reference to this object.
+   * @return {OpenLayers.Control} instance of the OL control.
    */
-  this.doSelect = function(selected,objRef) {
-    if (selected){
+  this.createControl = function(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      type: OpenLayers.Control.TYPE_BUTTON,
+      
+      trigger: function() {
+              var objRef = this.objRef;
+              objRef.targetModel.setParam("historyForward");
+              var nextExtent = objRef.targetModel.nextExtent;
+              if(nextExtent){
+                objRef.targetModel.setParam("historyStop");
+                this.map.setCenter(nextExtent.center);
+                this.map.zoomToScale(nextExtent.scale);
+                objRef.targetModel.setParam("historyStart");
+              }
+      },
 
-		this.targetModel.setParam("historyForward");
-      var nextExtent = objRef.targetModel.nextExtent;
-      if(nextExtent){
-        this.targetModel.setParam("historyStop");
-        objRef.targetModel.extent.zoomToBox( nextExtent[0], nextExtent[1] );
-        this.targetModel.setParam("historyStart");
-      }
-    }
+      CLASS_NAME: 'mbControl.Forward'
+    });
+    return Control;
   }
 }
 
Index: lib/spatial/mapbuilder/lib/widget/LayerProperty.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/LayerProperty.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/LayerProperty.xsl	(revision 4307)
@@ -0,0 +1,2 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:camgis="http://www.geomatys.fr/camgis" xmlns:gml="http://www.opengis.net/gml" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:citef="http://www.opengis.net/cite/functions" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="widget">config.objects.<xsl:value-of select="$widgetId"/></xsl:param><xsl:param name="elementName"><xsl:value-of select="/xs:schema/xs:element/@name"/></xsl:param><xsl:param name="elementType"><xsl:value-of select="/xs:schema/xs:element/@type"/></xsl:param><xsl:param name="elementTypeNoNs"><xsl:value-of select="substring-after($elementType,':')"/></xsl:param><xsl:template match="/xs:schema"><xsl:variable name="id">'choixFeatureProperty'</xsl:variable><div id="choixchamp3"><div class="choixchamp2">field of classification</div><div class="choixchamp2pics"><select name="featureProperty" id="choixfeatureProperty" size="1" onchange=""><option selected="the_geom">Choose feature property</option><xsl:apply-templates select="//xs:element"/></select></div><div class="choixchamp2">Rule's Name : <input id="namerule" class="choixchamp3pics" value="rulename"/></div><div class="choixchamp2">number of class:</div><div class="choixchamp2pics"><select id="nbclass" class="choixchamp" style="width: 80px; font-size: 10px; line-height: 10px;" name="selecttype"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option></select></div><div class="choixchamp2">mode : </div><div class="choixchamp2pics"><select id="nbmode2" class="choixchamp" style="width: 80px; font-size: 10px; line-height: 10px;" name="selecttype2"><option value="1">equal interval</option><option value="2">normal</option><option value="3">color continous</option></select></div><div id="value" class="choixchamp2">value from :  <input type="text" id="valuedown" size="10" value=""/> to <input type="text" id="valueup" size="10" value=""/></div><div class="colorbox"><div class="colorBoxName"> color </div><div class="colorNameInput">lower value : <input id="firtColor" class="colorinput" value="" onclick="javascript:config.objects.editor.openColorWindow('firtColor');"/></div><div class="colorNameInput">upper value : <input id="lastColor" class="colorInput" value="" onclick="javascript:config.objects.editor.openColorWindow('lastColor');"/></div></div><div id="buttonsnew2" class="buttonValid"><input type="button" name="validation" value="valid interpolation" onclick="javascript:config.objects.editSLD.mode(document.getElementById('choixfeatureProperty').value,document.getElementById('valueup').value,document.getElementById('valuedown').value,document.getElementById('namerule').value,document.getElementById('nbclass').value,document.getElementById('nbmode2').value,document.getElementById('firtColor').value,document.getElementById('lastColor').value);javascript:config.paintWidget(config.objects.editor);"/></div></div></xsl:template><xsl:template match="//xs:element"><xsl:variable name="name"><xsl:value-of select="@name"/></xsl:variable><xsl:variable name="type"><xsl:value-of select="@type"/></xsl:variable><option value="{$name}"> name : <xsl:value-of select="$name"/> type :<xsl:value-of select="$type"/></option></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/SelectAllMapLayers.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/SelectAllMapLayers.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/SelectAllMapLayers.js	(revision 4307)
@@ -0,0 +1,18 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: SelectAllMapLayers.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Link to load the WMS Capabilities doc as a context document.
+ * @constructor
+ * @base WidgetBaseXSL
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function SelectAllMapLayers(widgetNode, model) {
+  WidgetBaseXSL.apply(this,new Array(widgetNode, model));
+}
Index: lib/spatial/mapbuilder/lib/widget/EditLine.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/EditLine.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/EditLine.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: EditLine.js 3807 2008-01-18 13:57:21Z ahocevar $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -18,26 +18,8 @@
 function EditLine(widgetNode, model) {
   // Extend EditButtonBase
   EditButtonBase.apply(this, new Array(widgetNode, model));
-
-  /**
-   * Append a point to a line.
-   * @param objRef      Pointer to this object.
-   * @param targetNode  The node for the enclosing HTML tag for this widget.
-   */
-  this.doAction = function(objRef,targetNode) {
-    if (objRef.enabled) {
-      point=objRef.mouseHandler.model.extent.getXY(targetNode.evpl);
-      old=objRef.targetModel.getXpathValue(
-        objRef.targetModel,
-        objRef.featureXpath);
-      if(!old){old=""};
-      sucess=objRef.targetModel.setXpathValue(
-        objRef.targetModel,
-        objRef.featureXpath,
-        old+" "+point[0]+","+point[1]);
-      if(!sucess){
-        alert("EditLine: invalid featureXpath in config: "+objRef.featureXpath);
-      }
-    }
+  
+  this.instantiateControl = function(objRef, Control) {
+    return new Control(objRef.featureLayer, OpenLayers.Handler.Path);
   }
 }
Index: lib/spatial/mapbuilder/lib/widget/MapPaneOL.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/MapPaneOL.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/MapPaneOL.js	(revision 4307)
@@ -0,0 +1,1011 @@
+/*
+Author:       Cameron Shorter cameronAtshorter.net
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: MapPaneOL.js 3935 2008-03-25 13:58:02Z ahocevar $
+*/
+
+// Ensure this object's dependancies are loaded.
+loadCss("openlayers/style.css");
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
+mapbuilder.loadScript(baseDir+"/util/Util.js");
+mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+mapbuilder.loadScript(baseDir+"/tool/Extent.js");
+/**
+ * Widget to render a map from an OGC context document.  The layers are
+ * rendered using http://openlayers.org .
+ * @constructor
+ * @base WidgetBase
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function MapPaneOL(widgetNode, model) {
+  WidgetBase.apply(this,new Array(widgetNode, model));
+
+  OpenLayers.ImgPath = config.skinDir + '/images/openlayers/';
+  OpenLayers.ProxyHost = config.proxyUrl+"/?url=";
+  
+
+  // replacement for deprecated MapContainerBase
+  this.containerNodeId = this.htmlTagId;
+  model.containerModel = this.model;
+
+  //Make sure the Extent is attached to the context and initialized
+  if(!this.model.extent){
+    this.model.extent = new Extent (this.model);
+    this.model.addFirstListener( "loadModel", this.model.extent.firstInit, this.model.extent );
+  }
+
+  /**
+   * For tiled wms layers: Overlap of map tiles in pixels. Useful for
+   * preventing rendering artefacts at tile edges. Recommended values:
+   * 0-15, default is 0 (no gutter at all).
+   */
+  this.tileGutter = this.getProperty("mb:tileGutter", 0);
+  
+  /**
+   * For tiled wms layers: how many rows of tiles should be preloaded
+   * outside the visible map? Large values mean slow loading, small
+   * ones mean longer delays when panning. Recommended values: 1-3,
+   * default is 2.
+   */
+  this.tileBuffer = parseInt(this.getProperty("mb:tileBuffer", 2));
+  
+   /**
+    * For WMS layers: should they be regarded as normal WMS layers, 
+    * with a single tile for the entire boundingbox or as a tiled
+    * WMS layer
+   */
+  this.singleTile = Mapbuilder.parseBoolean(this.getProperty("mb:singleTile", true));
+  
+  /**
+   * For tiled wms layers: how many pixels should the size of one tile
+   * be? Default is 256.
+   */
+  this.tileSize = parseInt(this.getProperty("mb:tileSize", 256));
+  
+  /**
+   * For WMS on top of Google Maps you need to reproject the WMS image. This will stretch
+   * the WMS images to fit the odd sized google tiles. Default is false
+   */
+  this.imageReproject = Mapbuilder.parseBoolean(
+      this.getProperty("mb:imageReproject", false));
+  
+  /**
+   * for untiled wms layers: how many times should the map image be
+   * larger than the visible map. Large values mean slow loading, small
+   * ones mean many reloads when panning. Recommended values: 1-3,
+   * default is 2.
+   */
+  this.imageBuffer = parseInt(this.getProperty("mb:imageBuffer", 2));
+  
+  /**
+   * Should layers also be rendered outside the map extent? Default is false.
+   */
+  this.displayOutsideMaxExtent = Mapbuilder.parseBoolean(
+      this.getProperty("mb:displayOutsideMaxExtent", false));
+  
+  /**
+   * Number of layers that are currently being loaded
+   */
+  this.loadingLayers = 0;
+
+  /**
+   * Called after a feature has been added to a WFS.  This function triggers
+   * the WMS basemaps to be redrawn.  A timestamp param is added to the URL
+   * to ensure the basemap image is not cached.
+   * This function is triggered by the refreshWmsLayers event. If this event
+   * is fired with a <layerId> as param, only that layer will be refreshed.
+   * @param objRef reference to this widget
+   */
+  this.refreshWmsLayers = function(objRef) {
+    var layerId = objRef.model.getParam("refreshWmsLayers");
+    var uniqueId = (new Date()).getTime();
+    var layers = layerId ?
+        [objRef.getLayer(objRef, layerId)] :
+        objRef.model.map.layers;
+    for (var i in layers) {
+      if (layers[i].CLASS_NAME.indexOf('OpenLayers.Layer.WMS') == 0) {
+        layers[i].mergeNewParams({uniqueId: uniqueId});
+      }
+    }
+  }
+  this.model.addListener("refreshWmsLayers",this.refreshWmsLayers,this);
+
+  this.model.addListener("refresh",this.paint, this);
+  this.model.addFirstListener("newModel", this.clear, this);
+  this.model.addListener("hidden",this.hidden, this);
+  this.model.addListener("addLayer",this.addLayer, this);
+  this.model.addListener("deleteLayer",this.deleteLayer, this);
+  this.model.addListener("moveLayerUp",this.moveLayerUp, this);
+  this.model.addListener("moveLayerDown",this.moveLayerDown, this);
+  this.model.addListener("opacity",this.setOpacity,this);
+  this.model.addListener("bbox", this.zoomToBbox, this);
+  //this.model.addListener( "zoomOut", this.zoomOut, this );
+  //this.model.addListener( "zoomIn", this.zoomIn, this );
+  // this.model.addListener( "zoomToMaxExtent", this.zoomToMaxExtent, this );
+ //this.model.addFirstListener("loadModel",this.paint,this);
+
+}
+
+/**
+ * Render the widget.
+ * @param objRef Pointer to widget object.
+ */
+MapPaneOL.prototype.paint = function(objRef, refresh) {
+  
+  // Create an OpenLayers map
+
+  //Test if context exist
+  if(objRef.model.doc.selectSingleNode("//wmc:OWSContext"))
+    objRef.context="OWS";
+  else if(objRef.model.doc.selectSingleNode("//wmc:ViewContext"))
+    objRef.context="View";
+  else
+    alert(mbGetMessage("noContextDefined"));
+
+  var proj=objRef.model.proj;
+
+  //maxExtent
+  var maxExtent=null;
+  maxExtent=objRef.getProperty("mb:maxExtent");
+  maxExtent=(maxExtent)?maxExtent.split(" "):null;
+  // If the maxExtentis not specified in the config
+  // calculate it from the BBox  in the Context.
+  if(!maxExtent){
+    maxExtent=objRef.model.getBoundingBox();
+  }
+  maxExtent=(maxExtent)?new OpenLayers.Bounds(maxExtent[0],maxExtent[1],maxExtent[2],maxExtent[3]):null;
+  if(maxExtent==null)alert(mbGetMessage("noBboxInContext"));
+
+  //maxResolution
+  var maxResolution=null;
+  maxResolution=objRef.getProperty("mb:maxResolution");
+  maxResolution=(maxResolution) ? parseFloat(maxResolution) : "auto";
+
+  //minResolution
+  var minResolution=null;
+  minResolution=objRef.getProperty("mb:minResolution");
+  minResolution=(minResolution) ? parseFloat(minResolution) : undefined;
+  
+  //transitionEffect
+  objRef.transitionEffect = objRef.getProperty("mb:transitionEffect", undefined);
+  
+  //units
+  var units = proj.getUnits() == 'meters' ? 'm' : proj.getUnits();
+  
+  //resolutions
+  //TBD: if resolutions is both set here and for the baselayer and they are different weird things may happen
+  //     this needs to be solved
+  var resolutions=objRef.getProperty("mb:resolutions");
+  resolutions = resolutions ? resolutions.split(",") : null;
+  if (resolutions) {
+    for (var r=0; r<resolutions.length; r++) {
+      resolutions[r] = parseFloat(resolutions[r]);
+    }
+  }
+
+  //fixed scales - overrides resolutions
+  var scales = objRef.getProperty("mb:scales");
+  if(scales){
+    scales = scales.split(",");
+    resolutions = new Array();
+    for (var s=0; s<scales.length; s++) {
+      resolutions.push(OpenLayers.Util.getResolutionFromScale(scales[s], units));
+    }
+  }
+  if(resolutions){
+    objRef.model.extent.setZoomLevels(true,resolutions);
+  }
+  else objRef.model.extent.setZoomLevels(false);
+
+  //get the output DIV and set it to context-size
+  var node = document.getElementById(objRef.containerNodeId);
+  var fixedSize = Mapbuilder.parseBoolean(objRef.getProperty("mb:fixedSize", false));
+  if(fixedSize){
+    node.style.width = objRef.model.getWindowWidth()+"px";
+    node.style.height = objRef.model.getWindowHeight()+"px";
+  }
+  
+  //default map options
+  var mapOptions = {
+        controls:[],
+        projection: proj,
+        units: units,
+        fractionalZoom: true,
+        maxExtent: maxExtent,
+        maxResolution: maxResolution,
+        minResolution: minResolution,
+        resolutions: resolutions,
+        theme: null, // we have the theme loaded by Mapbuilder
+        destroy: function(destroy){
+                   if (destroy != true) {
+                     this.mbMapPane.model.setParam("newModel", true);
+                   } else {
+                     this.mbMapPane = null;
+                     this.mbCursor = null;
+                     OpenLayers.Map.prototype.destroy.apply(this, arguments);
+                     this.layerContainerDiv = null;
+                     this.baseLayer = null;
+                   }}
+      };
+
+  if (!objRef.model.map) {
+    objRef.model.map = new OpenLayers.Map(node, mapOptions);
+
+    // Increase hight of Control layers to allow for lots of layers.
+    objRef.model.map.Z_INDEX_BASE.Control=10000;
+    var baseLayer = null;
+    
+    //If we have an OWSContext and we have a BaseLayer we need to use this layer
+    //for more information have a look at http://docs.codehaus.org/display/MAP/Using+Google-layers
+    if(objRef.context=="OWS"&&objRef.model.getBaseLayer()){
+      var baseLayerNode = objRef.model.getBaseLayer();
+     
+      //overrule the SRS in the Context with the one from the BaseLayer
+      var baseSrs = baseLayerNode.selectSingleNode("ows:TileSet/ows:SRS");
+      if(baseSrs) objRef.model.setSRS(getNodeValue(baseSrs));
+      //overrule the units in the Context with the updated SRS units
+      units = proj.getUnits() == 'meters' ? 'm' : proj.getUnits();
+      //overrule the boundingbox in the Context with the maxExtent from the BaseLayer
+      var maxExtentNode = baseLayerNode.selectSingleNode("ows:TileSet/ows:BoundingBox");
+      if(maxExtentNode) maxExtent = new OpenLayers.Bounds(maxExtentNode.selectSingleNode('@minx').nodeValue,maxExtentNode.selectSingleNode('@miny').nodeValue,maxExtentNode.selectSingleNode('@maxx').nodeValue,maxExtentNode.selectSingleNode('@maxy').nodeValue);
+      //overrule resolutions in the Context with the one from BaseLayer
+      //@TODO: check if the firstChild is really needed
+      var resolutions =baseLayerNode.selectSingleNode("ows:TileSet/ows:Resolutions");
+      resolutions = resolutions ? getNodeValue(resolutions).split(",") : null;
+      if (resolutions) {
+        for (var r=0; r<resolutions.length; r++) {
+           resolutions[r] = parseFloat(resolutions[r]);
+        }
+      }
+      //overrule tileSize in the Context with the one from the BaseLayer
+      //right now we only support square tiles which are defined by their width:		  
+      var tileSize =baseLayerNode.selectSingleNode("ows:TileSet/ows:Width");
+      if(tileSize) objRef.tileSize = parseInt(tileSize.nodeValue);
+      //check if there's a format defined for the BaseLayer
+      var format = baseLayerNode.selectSingleNode("ows:TileSet/ows:Format");
+      if(format) format = format.nodeValue;
+      
+      //Initialising the baseLayer
+      // Test service of the baseLayer
+      var service=baseLayerNode.selectSingleNode("wmc:Server/@service");
+      service=(service)?service.nodeValue:"";
+      // Test title of the baseLayer
+      var title=Mapbuilder.getProperty(baseLayerNode, "wmc:Title", "");
+      // Get the name of the baseLayer
+      var baseLayerName = Mapbuilder.getProperty(baseLayerNode, "wmc:Name", "");
+      // get the layer-type of the BaseLayer (this allows specifying if is is a arial,road or hybrid map)
+      var baseLayerType = Mapbuilder.getProperty(baseLayerNode, "ows:TileSet/ows:Layers", "hybrid");
+      // it might be that the baseLayer is a WMS so we need to fetch the url
+      var href=Mapbuilder.getProperty(baseLayerNode, "wmc:Server/wmc:OnlineResource/@xlink:href", "");
+      
+      var baseLayerOptions = {
+              units: units,
+              projection: proj,
+              maxExtent: maxExtent,
+             
+              alpha: false,            //option for png transparency with ie6
+              isBaseLayer: true,
+              displayOutsideMaxExtent: objRef.displayOutsideMaxExtent,
+              ratio: 1
+              
+         };
+         
+      switch(service){
+        // WMS Layer (Untiled)
+        case "OGC":
+        case "WMS":
+        case "wms":
+        case "OGC:WMS":
+          
+          baseLayerOptions.ratio = objRef.imageBuffer;
+    
+          var params = new Array();
+
+         
+         baseLayer= new OpenLayers.Layer.WMS(title,href,{
+              layers: baseLayerName,
+              format: format
+              },
+            baseLayerOptions
+          );
+        break;
+    
+        // WMS-C Layer (Tiled)
+        case "WMS-C":
+        case "OGC:WMS-C":
+          baseLayerOptions.gutter = objRef.tileGutter;
+          baseLayerOptions.buffer = objRef.tileBuffer;
+          baseLayerOptions.tileSize = new OpenLayers.Size(objRef.tileSize, objRef.tileSize);
+          
+          baseLayer= new OpenLayers.Layer.WMS(title,href,{
+              layers: baseLayerName,
+              format: format
+            },
+            baseLayerOptions
+          );
+          objRef.model.map.fractionalZoom = false;
+        break;
+    
+        case "GMAP":
+        case "Google":       
+          if(maxExtent) baseLayerOptions.maxExtent=maxExtent;
+          //check if we have spherical projection
+          var sphericalMercator = (objRef.model.getSRS()=='EPSG:900913')?true:false;
+          //check if we have a layertype
+          switch(baseLayerType){
+            case "aerial":
+            case "satellite":            
+              baseLayerType=G_SATELLITE_MAP;
+            break;
+            case "road":
+            case "normal":            
+              baseLayerType=G_NORMAL_MAP;
+            break;
+            default:
+              baseLayerType=G_HYBRID_MAP;
+          }
+          baseLayer = new OpenLayers.Layer.Google( baseLayerName , {type: baseLayerType, minZoomLevel: 0, maxZoomLevel:19, sphericalMercator: sphericalMercator, maxResolution: 156543.0339 }, baseLayerOptions );
+          objRef.model.map.numZoomLevels = 20;
+          objRef.model.map.fractionalZoom = false;
+        break;
+    
+        case "YMAP":
+        case "Yahoo":
+          //Yahoo-layer doesn't support layerTypes
+          if(maxExtent) baseLayerOptions.maxExtent=maxExtent;
+          //check if we have spherical projection
+          var sphericalMercator = (objRef.model.getSRS()=='EPSG:900913')?true:false;          
+          baseLayer = new OpenLayers.Layer.Yahoo(  baseLayerName , { maxZoomLevel:21, sphericalMercator: sphericalMercator }, baseLayerOptions );
+          objRef.model.map.fractionalZoom = false;
+        break;
+    
+        case "VE":
+        case "Microsoft":
+          if(maxExtent) baseLayerOptions.maxExtent=maxExtent;
+          //check if we have spherical projection
+          var sphericalMercator = (objRef.model.getSRS()=='EPSG:900913')?true:false;
+          //check if we have a layertype
+          switch(baseLayerType){
+            case "aerial":
+            case "satellite":
+              baseLayerType=VEMapStyle.Aerial;
+            break;
+            case "road":
+            case "normal":
+              baseLayerType=VEMapStyle.Road;
+            break;
+            default:
+              baseLayerType=VEMapStyle.Hybrid;
+          }
+          baseLayer = new OpenLayers.Layer.VirtualEarth( baseLayerName,{minZoomLevel: 0, maxZoomLevel: 21,type: baseLayerType});
+          objRef.model.map.fractionalZoom = false;
+        break;
+    
+        case "MultiMap":
+           if(maxExtent) baseLayerOptions.maxExtent=maxExtent;
+           //check if we have spherical projection
+          var sphericalMercator = (objRef.model.getSRS()=='EPSG:900913')?true:false;          
+          baseLayer = new OpenLayers.Layer.MultiMap( baseLayerName , { maxZoomLevel:21, sphericalMercator: sphericalMercator }, baseLayerOptions );
+          objRef.model.map.fractionalZoom = false;
+        break;
+        default:
+          alert(mbGetMessage("layerTypeNotSupported", service));
+        }
+    }
+    //Otherwise we will just use a bogus WMS layer as BaseLayer
+    else {
+      var baseLayerOptions = {
+              units: units,
+              projection: proj.srsCode,
+              maxExtent: maxExtent,
+              maxResolution: maxResolution,  //"auto" if not defined in the context
+              minResolution: minResolution,
+              resolutions: resolutions,
+              alpha: false,            //option for png transparency with ie6
+              isBaseLayer: true,
+              displayOutsideMaxExtent: objRef.displayOutsideMaxExtent,
+              ratio: 1,
+              singleTile: true,
+              transitionEffect: objRef.transitionEffect,
+              visibility: false,
+              moveTo: function(){return true}
+         };
+      baseLayer = new OpenLayers.Layer.WMS("baselayer",
+              config.skinDir+"/images/openlayers/blank.gif", null, baseLayerOptions);
+      
+    }
+    objRef.model.map.addLayer(baseLayer); 
+  }
+  else {
+    objRef.deleteAllLayers(objRef);
+  }
+    
+  var layers = objRef.model.getAllLayers();
+  if (!objRef.oLlayers){
+    objRef.oLlayers = {};
+  }
+
+  for (var i=0;i<=layers.length-1;i++){
+    objRef.addLayer(objRef,layers[i]);
+  }
+  var bbox=objRef.model.getBoundingBox();
+
+  // set objRef as attribute of the OL map, so we have a reference
+  // to MapPaneOL available when handling OpenLayers events.
+  objRef.model.map.mbMapPane = objRef;
+
+  // register OpenLayers event to keep the context updated
+  objRef.model.map.events.register('moveend', objRef.model.map, objRef.updateContext);
+  // register OpenLayers event to do updates onmouseup
+  objRef.model.map.events.register('mouseup', objRef.model.map, objRef.updateMouse);
+  
+  objRef.model.callListeners("bbox");
+  
+}
+
+/**
+ * remove OpenLayers events and layers
+ * @param objRef reference to this widget
+ */
+MapPaneOL.prototype.clear = function(objRef) {
+  if (objRef.model.map) {
+    OpenLayers.Event.stopObservingElement(window);
+    objRef.model.map.destroy(true);
+    objRef.model.map = null;
+    objRef.oLlayers = {};
+  }
+}
+
+/**
+ * Event handler to keep the modelStatus updated when an OpenLayers layer
+ * starts loading.
+ * @param e OpenLayers event
+ */
+MapPaneOL.prototype.increaseLoadingLayers = function(e) {
+  ++this.loadingLayers;
+  var message = mbGetMessage((this.loadingLayers>1) ? "loadingLayers" : "loadingLayer",
+    this.loadingLayers);
+  this.model.setParam("modelStatus", message);
+}
+
+/**
+ * Event handler to keep the modelStatus updated when an OpenLayers layer
+ * finished loading.
+ * @param e OpenLayers event
+ */
+MapPaneOL.prototype.decreaseLoadingLayers = function(e) {
+  --this.loadingLayers;
+  var message = this.loadingLayers > 0 ?
+          mbGetMessage((this.loadingLayers>1) ? "loadingLayers" : "loadingLayer",
+                  this.loadingLayers) :
+          null;
+  this.model.setParam("modelStatus", message);
+}
+
+/**
+ * Event handler to keep the Mapbuilder context updated. It also
+ * sets the map cursor to the previously stored value.
+ * This is called by OpenLayers.
+ * @param e OpenLayers event
+ */
+MapPaneOL.prototype.updateContext = function(e) {
+  // get objRef from the event originator object (e.object),
+  // where it was stored as mbPane property by paint().
+  var objRef = e.object.mbMapPane;
+
+  var bboxOL = objRef.model.map.getExtent().toBBOX().split(',');
+  var ul = new Array(bboxOL[0],bboxOL[3]);
+  var lr = new Array(bboxOL[2],bboxOL[1]);
+
+  if(objRef.model.getWindowWidth()!=e.element.offsetWidth)
+    objRef.model.setWindowWidth(e.element.offsetWidth);
+  if(objRef.model.getWindowHeight()!=e.element.offsetHeight)
+    objRef.model.setWindowHeight(e.element.offsetHeight);	
+
+  var currentAoi = objRef.model.getParam('aoi');
+  var newAoi = new Array(ul, lr);
+  if (!currentAoi || currentAoi.toString() != newAoi.toString()) {
+    objRef.model.setBoundingBox( new Array(ul[0], lr[1], lr[0], ul[1]) );
+    objRef.model.extent.setSize(objRef.model.map.getResolution());
+    objRef.model.setParam("aoi", newAoi);
+  }
+}
+
+/**
+ * Restore the map cursor stored by buttons. This has to be done
+ * in an OpenLayers mouseup event, because the mouseup event
+ * in OpenLayers resets the cursor to default.
+ * @param e OpenLayers event
+ */
+MapPaneOL.prototype.updateMouse = function(e) {
+  // get objRef from the event originator object (e.object),
+  // where it was stored as mbPane property by paint().
+  var objRef = e.object.mbMapPane;
+
+  // update map pane cursor
+  if (objRef.model.map.mbCursor) {
+    objRef.model.map.div.style.cursor = objRef.model.map.mbCursor;
+  }
+}
+
+/**
+ * Zoom to the current Bounding Box.
+ * @param objRef reference to this widget
+ */
+MapPaneOL.prototype.zoomToBbox = function(objRef) {
+  if (objRef.model.map) {
+    var bbox = objRef.model.getBoundingBox();
+    var displayBbox = [];
+    var extent = objRef.model.map.getExtent();
+    if (extent) {
+      displayBbox = extent.toBBOX();
+    }
+    // only perform zoom operation if not already at bbox
+    if (bbox.toString() != displayBbox.toString()) {
+      objRef.model.map.zoomToExtent(new OpenLayers.Bounds(bbox[0],bbox[1],bbox[2],bbox[3]));
+    }
+  }
+}
+
+/**
+ * Hide/unhide a layer. Called by Context when the hidden attribute changes.
+ * @param objRef Pointer to widget object.
+ * @param layerId Id of the layer to hide/unhide.
+ */
+MapPaneOL.prototype.hidden = function(objRef, layerId) {
+  var vis=objRef.model.getHidden(layerId);
+  if(vis=="1"){ var hidden=false; }
+  else {var hidden=true; }
+  var  tmpLayer=objRef.getLayer(objRef,layerId)
+  if(tmpLayer)tmpLayer.setVisibility(hidden);
+}
+
+/**
+  * Returns OL layer node from LayerMgr
+  * @param layerId The layer Id (or layerName)
+  */
+MapPaneOL.prototype.getLayer = function(objRef,layerId) {
+
+  // If layer cannot be found then layerId might actually be layerName
+  // We then try to fetch the @id of the layer from the model
+  if (!objRef.oLlayers[layerId]) {
+    layerId = objRef.model.getLayerIdByName(layerId) || layerId;
+  }
+
+  if(objRef.oLlayers[layerId] && objRef.oLlayers[layerId].id) {
+    return objRef.model.map.getLayer(objRef.oLlayers[layerId].id);
+  } else {
+    return false;
+  }
+}
+
+
+//####################################################
+/**
+ * Removes a layer from the output
+/**
+ * Removes a layer from the output
+ * @param objRef Pointer to this object.
+ * @param layerId the WMS name for the layer to be removed
+ */
+MapPaneOL.prototype.deleteLayer = function(objRef, layerId) {
+  if(objRef.oLlayers[layerId])objRef.model.map.removeLayer(objRef.oLlayers[layerId]);
+}
+/**
+ * Removes all layers from the output
+ * @param objRef Pointer to this object.
+ * @param objRef Pointer to this object.
+ */
+MapPaneOL.prototype.deleteAllLayers = function(objRef) {
+  for (var i in objRef.oLlayers) {
+    var layer = objRef.oLlayers[i];
+    layer.destroy();
+  }
+  objRef.oLlayers = {};
+}
+
+//#############################################TDO
+/**
+ * Moves a layer up in the stack of map layers
+ * @param objRef Pointer to this object.
+ * @param layerId the WMS name for the layer to be removed
+ */
+MapPaneOL.prototype.moveLayerUp = function(objRef, layerId) {
+  var map=objRef.model.map;
+  map.raiseLayer(map.getLayer(objRef.oLlayers[layerId].id), 1);
+}
+
+/**
+ * Moves a layer up in the stack of map layers
+ * @param objRef Pointer to this object.
+ * @param layerId the WMS name for the layer to be removed
+ */
+MapPaneOL.prototype.moveLayerDown = function(objRef, layerId) {
+  objRef.model.map.raiseLayer(objRef.getLayer(objRef,layerId), -1);
+}
+//###############################################
+/**
+   * Called when the context's opacity attribute changes.
+/**
+   * Called when the context's opacity attribute changes.
+   * @param objRef This object.
+   * @param layerId  The id of the layer that was toggled.
+   */
+MapPaneOL.prototype.setOpacity=function(objRef, layerId){
+  var _opacity="1";
+  _opacity=objRef.model.getOpacity(layerId);
+  objRef.getLayer(objRef,layerId).setOpacity(_opacity);
+}
+/**
+ * Adds a layer into the output
+   * @param objRef This object.
+   * @param layerNode  The node of the layer
+ */
+MapPaneOL.prototype.addLayer = function(objRef, layerNode) {
+  // OpenLayers doesn't contain information about projection, so if the
+  // baseLayer projection is not standard lat/long, it needs to know
+  // maxExtent and maxResolution to calculate the zoomLevels.
+  var layer = layerNode;
+
+  // Test service of the layer
+  var service=layer.selectSingleNode("wmc:Server/@service");service=(service)?service.nodeValue:"";
+
+  // Test title of the layer
+  var title=Mapbuilder.getProperty(layer, "wmc:Title", "");
+
+  // Get the name of the layer
+  layerName = Mapbuilder.getProperty(layer, "wmc:Name", "");
+
+  // Get the layerId. Fallback to layerName if non-existent
+  var layerId;
+  if (layer.selectSingleNode("@id") && layer.selectSingleNode("@id").nodeValue) {
+    layerId = layer.selectSingleNode("@id").nodeValue;
+  } else {
+    layerId = layerName;
+  }
+
+  if (objRef.context=="OWS"){
+    var href=Mapbuilder.getProperty(layer, "wmc:Server/wmc:OnlineResource/@xlink:href", "");
+  }
+  else {
+     if(_SARISSA_IS_SAFARI){
+     var nodehref=layer.selectSingleNode("wmc:Server/wmc:OnlineResource");
+     var href=nodehref.attributes[1].nodeValue;
+     }
+   else{
+     if(_SARISSA_IS_OPERA){
+       var href=layer.selectSingleNode("wmc:Server/wmc:OnlineResource").getAttributeNS ("http://www.w3.org/1999/xlink","href");// for opera
+     }else{
+       var href=layer.selectSingleNode("wmc:Server/wmc:OnlineResource").getAttribute("xlink:href");
+     }
+    }
+  }
+
+  // Test format of the layer
+  var format=layer.selectSingleNode("wmc:FormatList/wmc:Format[@current='1']");
+  if (!format) {
+    format = layer.selectSingleNode("wmc:FormatList/wmc:Format");
+  }
+  format = format ? getNodeValue(format) : "image/gif";
+
+  // Test visibility of the layer
+  var vis=layer.selectSingleNode("@hidden");
+  if (vis) {
+    if(vis.nodeValue=="1")
+      vis=false;
+    else
+      vis=true;
+  }
+  // Test if layer is queryable
+  var query=layer.selectSingleNode("@queryable");
+  if (query){
+    if(query.nodeValue=="1")
+      query=true;
+    else
+      query=false;
+  }
+
+  // Test if opacity is specified
+  var opacity=layer.selectSingleNode("@opacity");
+  if (opacity)
+    opacity=opacity.nodeValue;
+  else
+    opacity=false;
+  
+  // Get current style node of the layer
+  var currentStyle = layer.selectSingleNode('wmc:StyleList/wmc:Style[@current=1]');
+
+  // will be true for IE6, false for later versions of IE
+  objRef.IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
+  
+  //default option value for a layer
+  var layerOptions = {
+          visibility: vis,
+          projection: objRef.model.map.baseLayer.projection,
+          queryable: query,
+          maxExtent: objRef.model.map.baseLayer.maxExtent,
+          maxResolution: objRef.model.map.baseLayer.maxResolution,  //"auto" if not defined in the context
+          minResolution: objRef.model.map.baseLayer.minResolution,  //"auto" if not defined in the context
+          alpha: format.indexOf("png") != -1 ? objRef.IE6 : false,         //option for png transparency with ie6
+          isBaseLayer: false,
+          displayOutsideMaxExtent: objRef.displayOutsideMaxExtent
+     };
+     
+  switch(service){
+    // WMS Layer (Untiled)
+    case "OGC":
+    case "WMS":
+    case "wms":
+    case "OGC:WMS":
+      if(!objRef.model.map.baseLayer){
+        layerOptions.isBaseLayer=true;
+      }
+      else {
+        //TBD what if we have layers with different projections in the context?
+        layerOptions.reproject=objRef.imageReproject;
+        layerOptions.isBaseLayer=false;
+      }
+
+      layerOptions.ratio = objRef.imageBuffer;
+      layerOptions.singleTile = objRef.singleTile;
+      if (objRef.singleTile == true) {
+        layerOptions.transitionEffect = objRef.transitionEffect;
+      }
+
+      var params = new Array();
+      params = sld2UrlParam(currentStyle);
+      if (objRef.model.timestampList && objRef.model.timestampList.getAttribute("layerId") == layerId) { 
+        var ts = objRef.model.timestampList.childNodes[0];
+
+        objRef.oLlayers[layerId]= new OpenLayers.Layer.WMS(title,href,{
+            layers: layerName,
+            // "TRUE" in upper case else the context doc boston.xml
+            // (i.c. the IONIC WMS/WFS) doesn't work.
+            // Note that this is in line with the WMS standard (OGC 01-068r2),
+            // section 6.4.1 Parameter Ordering and Case:
+            // "Parameter names shall not be case sensitive,
+            //  but parameter values shall be case sensitive."
+            transparent: format.indexOf("jpeg") == -1 ? "TRUE" : "FALSE",
+            "TIME": getNodeValue(ts),	          
+            format: format,
+            sld:params.sld,
+            sld_body:params.sld_body,
+            styles:params.styles
+          },
+          layerOptions
+        );      
+        // Turn on timestamp listenet
+          this.model.addListener("timestamp",this.timestampListener,this);	      
+      }
+      else {
+        objRef.oLlayers[layerId]= new OpenLayers.Layer.WMS(title,href,{
+            layers: layerName,
+            // "TRUE" in upper case else the context doc boston.xml
+            // (i.c. the IONIC WMS/WFS) doesn't work.
+            // Note that this is in line with the WMS standard (OGC 01-068r2),
+            // section 6.4.1 Parameter Ordering and Case:
+            // "Parameter names shall not be case sensitive,
+            //  but parameter values shall be case sensitive."
+            transparent: format.indexOf("jpeg") == -1 ? "TRUE" : "FALSE",
+            format: format,
+            sld:params.sld,
+            sld_body:params.sld_body,
+            styles:params.styles
+          },
+          layerOptions
+        );
+      }
+    break;
+
+    // WMS-C Layer (Tiled)
+    case "WMS-C":
+    case "OGC:WMS-C":
+      if(!objRef.model.map.baseLayer){
+        layerOptions.isBaseLayer=true;
+      }
+      else {
+        //TBD what if we have layers with different projections in the context?
+        layerOptions.reproject=objRef.imageReproject;
+        layerOptions.isBaseLayer=false;
+      }
+
+      layerOptions.gutter = objRef.tileGutter;
+      layerOptions.buffer = objRef.tileBuffer;
+      layerOptions.tileSize = new OpenLayers.Size(objRef.tileSize, objRef.tileSize);
+      
+      var params = new Array();
+      params = sld2UrlParam(currentStyle);
+      objRef.oLlayers[layerId]= new OpenLayers.Layer.WMS(title,href,{
+          layers: layerName,
+          transparent: format.indexOf("jpeg") == -1 ? "TRUE" : "FALSE",
+          format: format,
+          sld:params.sld,
+          sld_body:params.sld_body,
+          styles:params.styles
+        },
+        layerOptions
+      );
+      objRef.model.map.fractionalZoom = false;
+    break;
+
+    // WFS Layer
+    case "WFS":
+    case "wfs":
+    case "OGC:WFS":
+      style = sld2OlStyle(currentStyle);
+      if(style){
+        layerOptions.styleMap=new OpenLayers.StyleMap(style);
+      }
+      else{
+        layerOptions.style=objRef.getWebSafeStyle(objRef, 2*i+1);
+      }
+      layerOptions.featureClass=OpenLayers.Feature.WFS;
+
+      objRef.oLlayers[layerId]= new OpenLayers.Layer.WFS(
+        title,
+        href,{
+          typename: layerId,
+          maxfeatures: 1000},
+          layerOptions
+        );
+    break;
+
+    // GML Layer
+    case "gml":
+    case "OGC:GML":
+      style = sld2OlStyle(currentStyle);
+      if(style){
+        layerOptions.styleMap=new OpenLayers.StyleMap(style);
+      }
+      else{
+        layerOptions.style=objRef.getWebSafeStyle(objRef, 2*i+1);
+      }
+      objRef.oLlayers[layerId] = new OpenLayers.Layer.GML(title,href,layerOptions);
+
+    break;
+
+     // KML Layer
+    case "KML":
+    case "kml":
+      objRef.oLlayers[layerId]= new OpenLayers.Layer.GML(
+        title,
+        href,{
+          format: OpenLayers.Format.KML
+          }
+        );
+    break;
+    
+  // Currently the following layertypes are only supported in a OwsContext doc as a BaseLayer
+  // for more information see http://docs.codehaus.org/display/MAP/Using+Google-layers
+   /* case "GMAP":
+    case "Google":
+      //the empty baseLayer has to be destroyed when you want to use google
+      objRef.model.map.baseLayer.destroy();
+      layerOptions.maxExtent=new OpenLayers.Bounds("-20037508", "-20037508", "20037508", "20037508.34");
+       objRef.oLlayers[layerId] = new OpenLayers.Layer.Google( "Google Satellite" , {type: G_HYBRID_MAP, maxZoomLevel:18, sphericalMercator: true }, layerOptions );
+    break;
+
+    case "YMAP":
+    case "Yahoo":
+      // <script src="http://api.maps.yahoo.com/ajaxymap?v=3.0&appid=euzuro-openlayers"></script>
+      layerOptions.isBaseLayer=true;
+      objRef.oLlayers[layerId] = new OpenLayers.Layer.Yahoo( "Yahoo");
+    break;
+
+    case "VE":
+    case "Microsoft":
+      //<script src='http://dev.virtualearth.net/mapcontrol/v3/mapcontrol.js'></script>
+      layerOptions.isBaseLayer=true;
+      objRef.oLlayers[layerId] = new OpenLayers.Layer.VirtualEarth( "VE",{minZoomLevel: 0, maxZoomLevel: 18,type: VEMapStyle.Hybrid});
+    break;
+
+    case "MultiMap":
+      //<script type="text/javascript" src="http://clients.multimap.com/API/maps/1.1/metacarta_04"></script>
+      layerOptions.isBaseLayer=true;
+      objRef.oLlayers[layerId] = new OpenLayers.Layer.MultiMap( "MultiMap");
+    break;*/
+    default:
+      alert(mbGetMessage("layerTypeNotSupported", service));
+  }
+  if(opacity && objRef.oLlayers[layerId]){
+    objRef.oLlayers[layerId].setOpacity(opacity);
+  }
+  
+  objRef.oLlayers[layerId].events.register('loadstart', objRef, objRef.increaseLoadingLayers);
+  objRef.oLlayers[layerId].events.register('loadend', objRef, objRef.decreaseLoadingLayers);
+  
+  // Here the OL layer gets added to the OL map
+  objRef.model.map.addLayer(objRef.oLlayers[layerId]);
+}
+
+/**
+ * gets an OpenLayers vector style with web safe colors.
+ * @param objRef reference to this object
+ * @param colorNumber number of a color from which to generate websafe color
+ * @return {OpenLayers.Style} style for OpenLayers vector rendering
+ */
+MapPaneOL.prototype.getWebSafeStyle = function(objRef, colorNumber) {
+  colors=new Array("00","33","66","99","CC","FF");
+  colorNumber=(colorNumber)?colorNumber:0;
+  colorNumber=(colorNumber<0)?0:colorNumber;
+  colorNumber=(colorNumber>215)?215:colorNumber;
+  i=parseInt(colorNumber/36);
+  j=parseInt((colorNumber-i*36)/6);
+  k=parseInt((colorNumber-i*36-j*6));
+  var color="#"+colors[i]+colors[j]+colors[k];
+  var defaultStyle = {
+            fillColor: "#808080",
+            fillOpacity: 1,
+            strokeColor: "#000000",
+            strokeOpacity: 1,
+            strokeWidth: 1,
+            pointRadius: 6};
+  var style=OpenLayers.Util.extend(defaultStyle,OpenLayers.Feature.Vector.style["default"]);
+  style.fillColor = color;
+  style.strokeColor = color;
+  style.map = objRef.model.map;
+  return style;
+}
+
+/**
+   * Called for refreshing one layer.
+   * @param objRef This object.
+   * @param layerId  The id of the layer that was toggled.
+   */
+MapPaneOL.prototype.refreshLayer = function(objRef, layerId , newParams){
+  newParams['version'] = Math.random(); //necessary for see change in certain case
+  objRef.getLayer(objRef,layerId).mergeNewParams(newParams);
+}
+  
+  /**
+   * Called when the map timestamp is changed so set the layer visiblity.
+   * @param objRef This object.
+   * @param timestampIndex  The array index for the layer to be displayed. 
+   */
+MapPaneOL.prototype.timestampListener=function(objRef, timestampIndex){
+  if (window.movieLoop.frameIsLoading == true) {
+    return;
+  }
+  var layerId = objRef.model.timestampList.getAttribute("layerId");
+  var ts = objRef.model.timestampList.childNodes[timestampIndex];
+
+  if (layerId && ts) {				
+    var curLayer = objRef.oLlayers[layerId]; //TBD: please check if this still works now we've moved to layerId
+    if (!curLayer.grid) {
+      return;
+    }
+    div = curLayer.grid[0][0].imgDiv;
+    // Perform URL substitution via regexps
+    var oldImageUrl = div.src || div.firstChild.src;
+    var newImageUrl = oldImageUrl.replace(/TIME\=.*?\&/,'TIME=' + getNodeValue(ts) + '&');
+    if (oldImageUrl == newImageUrl) {
+      return;
+    }
+
+    function imageLoaded() {
+      window.movieLoop.frameIsLoading = false;
+      if(element.removeEventListener) { // Standard
+        element.removeEventListener("load", imageLoaded, false);
+      } else if(element.detachEvent) { // IE
+        element.detachEvent('onload', imageLoaded);
+      }
+    }
+
+    window.movieLoop.frameIsLoading = true;
+    var element = div.nodeName.toUpperCase() == "IMG" ? div : div.firstChild;
+    if(element.addEventListener) { // Standard
+      element.addEventListener("load", imageLoaded, false);
+    } else if(element.attachEvent) { // IE
+      element.attachEvent('onload', imageLoaded);
+    }
+    if (objRef.IE6) {
+      OpenLayers.Util.modifyAlphaImageDiv(div,
+            null, null, null, newImageUrl);
+    } else {
+      element.src = newImageUrl;
+    }
+  }
+      
+}
Index: lib/spatial/mapbuilder/lib/widget/EditPoint.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/EditPoint.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/EditPoint.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: EditPoint.js 3807 2008-01-18 13:57:21Z ahocevar $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -19,21 +19,8 @@
 function EditPoint(widgetNode, model) {
   // Extend EditButtonBase
   EditButtonBase.apply(this, new Array(widgetNode, model));
-
-  /**
-   * Add a point to the enclosing GML model.
-   * @param objRef      Pointer to this object.
-   * @param targetNode  The node for the enclosing HTML tag for this widget.
-   */
-  this.doAction = function(objRef,targetNode) {
-    if (objRef.enabled) {
-      point=objRef.mouseHandler.model.extent.getXY(targetNode.evpl);
-      sucess=objRef.targetModel.setXpathValue(
-        objRef.targetModel,
-        objRef.featureXpath,point[0]+","+point[1]);
-      if(!sucess){
-        alert("EditPoint: invalid featureXpath in config: "+objRef.featureXpath);
-      }
-    }
+  
+  this.instantiateControl = function(objRef, Control) {
+    return new Control(objRef.featureLayer, OpenLayers.Handler.Point);
   }
 }
Index: lib/spatial/mapbuilder/lib/widget/DragPan.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/DragPan.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/DragPan.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: DragPan.js 2956 2007-07-09 12:17:52Z steven $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -7,52 +7,21 @@
 mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
 
 /**
- * When this button is selected, click and drag on the MapPane to recenter the map.
+ * When this button is selected, dragging in the map moves the map extent.
  * @constructor
  * @base ButtonBase
- * @author Mike Adair mike.adairATccrs.nrcan.gc.ca
- * @param widgetNode  The widget node from the Config XML file.
- * @param model  The parent model for this widget
+ * @author Andreas HocevarATgmail.com
+ * @param widgetNode The widget node from the Config XML file.
+ * @param model The model for this widget
  */
 function DragPan(widgetNode, model) {
-
   // Extend ButtonBase
   ButtonBase.apply(this, new Array(widgetNode, model));
-
-  // override default cursor by user
-  // cursor can be changed by spefying a new cursor in config file
-  this.cursor = "move";	
-
-  /**
-   * Calls the centerAt method of the context doc extent to recenter to its AOI
-   * @param objRef      Pointer to this DragPan object.
-   * @param targetNode  The node for the enclosing HTML tag for this widget.
-   */
-  this.doAction = function(objRef,targetNode) {
-    if (objRef.enabled) {
-      var bbox = objRef.targetModel.getParam("aoi");
-      if ( objRef.targetModel.getParam("aoi")!=null) {
-        var extent = objRef.targetModel.extent;
-        var ul = bbox[0];
-        var lr = bbox[1];
-        if ( ( ul[0]==lr[0] ) && ( ul[1]==lr[1] ) ) {
-          extent.centerAt( ul, extent.res[0]/objRef.zoomBy );
-        } else {
-          extent.zoomToBox( ul, lr );
-        }
-      }
-    }
+  
+  this.createControl = function(objRef) {
+  	return OpenLayers.Control.DragPan;
   }
+  
+  this.cursor = 'move'; 
+}
 
-  /**
-   * Register for mouseUp events.
-   * @param objRef      Pointer to this DragPan object.
-   */
-  this.setMouseListener = function(objRef) {
-    if (objRef.mouseHandler) {
-      objRef.mouseHandler.model.addListener('mouseup',objRef.doAction,objRef);
-    }
-  }
-  this.model.addListener( "refresh", this.setMouseListener, this );
-
-}
Index: lib/spatial/mapbuilder/lib/widget/Graticule.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Graticule.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/Graticule.js	(revision 4307)
@@ -0,0 +1,544 @@
+/*
+Author:       Olivier Terral olivier.terralATgeomatys.fr
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: Graticule.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+
+
+/**
+ * Render a Graticule.
+ * @constructor
+ * @base ButtonBase
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function Graticule(widgetNode, model) {
+
+	ButtonBase.apply(this, new Array(widgetNode, model));
+
+	this.display=false;
+	this.color=this.getProperty("mb:color");
+	
+	/**
+   * Interactive ZoomOut control.
+   * @param objRef reference to this object.
+   * @return {OpenLayers.Control} class of the OL control.
+   */
+  this.createControl = function(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      CLASS_NAME: 'mbControl.Graticule',
+      type: OpenLayers.Control.TYPE_TOGGLE,
+	  destroy : function() {
+	    OpenLayers.Control.prototype.destroy.apply(this, arguments);
+	    if (this.divs) {
+	      for(i = this.divs.length; i > 0; --i) {
+		this.divs[i] = null;
+	      }
+	    }
+	    this.div = null;
+	    this.mapContainer = null;
+	  },
+	    
+////////////////////////////ancien/////////////////////	
+/**
+   * Remove divs
+   * @param objRef Pointer to this object.
+   */
+	removeGraticules : function() {
+	
+	  try{
+			  var i = 0;
+			  var div = this.mapContainer;
+		
+		      if (this.divs) {
+		  	for(i=0; i< this.divs.length; i++)
+		  	{
+				div.removeChild(this.divs[i]);
+			}
+		      }
+	  }
+	  catch(e){
+	  }
+	
+	},
+
+	/**
+   * Get bbox of MapPane with the right projection
+   * Return an object
+   * @param this Pointer to this object.
+   */
+	getBbox : function() {
+	
+			var bbox=new Object();
+			bbox.ll=new Object();
+			bbox.ur=new Object();
+			///CSCS
+    		var ll=new OpenLayers.Geometry.Point(this.bbox[0], this.bbox[1]);
+    		var ur=new OpenLayers.Geometry.Point(this.bbox[2], this.bbox[3]);
+    		var wgs84 = new OpenLayers.Projection("EPSG:4326");
+    		
+    		ll.transform(this.proj, wgs84);
+    		ur.transform(this.proj, wgs84);
+		
+			
+			bbox.ll.lon=ll.x;		//minx
+			bbox.ll.lat=ll.y;		//miny
+			bbox.ur.lon=ur.x;		//maxx
+			bbox.ur.lat=ur.y;		//maxy
+		
+			return bbox;
+		
+	},
+
+	/**
+   * Calculate rounded graticule interval for supplied lat/lon span
+   * 
+   * @param dDeg difference in degrees.
+   */
+	//
+	//return is in minutes
+	gridIntervalMins : function(dDeg) {  
+	
+	  var dDeg = dDeg/10;				//want around 10 lines in the graticule
+	  dDeg *= 6000;						//to minutes*100
+	  dDeg = Math.ceil(dDeg)/100;		//minutes and hundredths of mins
+	
+	  if(dDeg <= 0.06)
+		dDeg = 0.06;//0.001 degrees
+	  else if(dDeg <= 0.12)
+		dDeg = 0.12;//0.002 degrees
+	  else if(dDeg <= 0.3)
+		dDeg = 0.3;//0.005 degrees
+	  else if(dDeg <= 0.6)
+		dDeg = 0.6;//0.01 degrees
+	  else if (dDeg <=  1.2)
+		dDeg = 1.2;//0.02 degrees
+	  else if(dDeg <= 3)
+		dDeg = 3;//0.05 degrees
+	  else if(dDeg <= 6)
+		dDeg = 6;//0.1 degrees
+	  else if (dDeg <=  12)
+		dDeg = 12;//0.2 degrees
+	  else if (dDeg <=  30)
+		dDeg = 30;//0.5
+	  else if (dDeg <=  60)
+		dDeg = 30;//1
+	  else if (dDeg <=  (60*2))
+		dDeg = 60*2;
+	  else if (dDeg <=  (60*5))
+		dDeg = 60*5;
+	  else if (dDeg <=  (60*10))
+		dDeg = 60*10;
+	  else if (dDeg <=  (60*20))
+		dDeg = 60*20;
+	  else if (dDeg <=  (60*30))
+		dDeg = 60*30;
+	  else
+		dDeg = 60*45;
+	  
+		
+	  return dDeg;
+	
+},
+
+
+	
+	/* Calculate grid label precision from grid interval in degrees
+	*
+	*@param dDeg difference in degrees.
+	*/
+	gridPrecision : function(dDeg) {
+		if(dDeg < 0.01)
+			return 3;
+		else if(dDeg < 0.1)
+			return 2;
+		else if(dDeg < 1)
+			return 1;
+		else return 0;
+	},
+
+	/* Draw graticules
+	*
+	*@param this pointer to this object.
+	*/
+	addGraticules : function(){
+
+		//Delete old graticule
+		this.removeGraticules();
+		
+		var bbox=this.getBbox();
+		
+		var l=bbox.ll.lon; //////ll:lower left coordinates 
+		var b=bbox.ll.lat;		//ll:lower left ,ll.long : latitude(y) de coin en bas a gauche
+		var r=bbox.ur.lon;			//ur:upper right ,ur.long : longitude de coin en haut a droite
+		var t=bbox.ur.lat;		
+		
+		 //test if coords are valid
+		  if (b < -90.0)
+			b = -90.0;
+		  if(t > 90.0)
+			t = 90.0;
+		  if(l < -180.0)
+		    l = -180.0;  
+		  if(r > 180.0)
+		    r = 180.0;
+		    
+		  if(l == r){
+			l = -180.0;
+			r = 180.0;
+		  }
+		
+		  if(t == b){
+			b = -90.0;
+			t = 90.0;
+		  }
+		 
+		  
+		  
+		  //grid interval in minutes    
+		  var dLat = this.gridIntervalMins(t-b);
+		  var dLng; 
+		  if(r>l)
+			dLng = this.gridIntervalMins(r-l);
+		  else
+		    dLng = this.gridIntervalMins((180-l)+(r+180));
+		
+		  //round iteration limits to the computed grid interval
+		  l = Math.floor(l*60/dLng)*dLng/60;
+		  b = Math.floor(b*60/dLat)*dLat/60;
+		  t = Math.ceil(t*60/dLat)*dLat/60;
+		  r = Math.ceil(r*60/dLng)*dLng/60;
+		  
+		
+		
+		  //Tes if coords are valid
+		  if (b <= -90.0)
+			b = -90;
+		  if(t >= 90.0)
+			t = 90;
+		  if(l < -180.0)
+		    l = -180.0;  
+		  if(r > 180.0)
+		    r = 180.0;
+		    
+		  //to whole degrees
+		  dLat /= 60;
+		  dLng /= 60;
+
+		  this.dLat=dLat;
+		  this.dLon=dLng;
+		  
+		  //# digits after DP for labels
+		  var latDecs = this.gridPrecision(dLat);
+		  var lonDecs = this.gridPrecision(dLng);
+		 
+		  //array for divs used for lines and labels
+		  this.divs = new Array();
+		  var i=0;//count inserted divs
+		
+		  //min and max x and y pixel values for graticule lines
+		  var pbl = this.fromLatLngToDivPixel(b,l);
+		  var ptr = this.fromLatLngToDivPixel(t,r);
+		
+		  
+		  this.maxX = ptr.x;
+		  this.maxY = pbl.y;
+		  this.minX = pbl.x;
+		  this.minY = ptr.y;
+		  var x;//coord for label
+		  
+		  //labels on second column to avoid peripheral controls
+		  var y = this.fromLatLngToDivPixel(b+dLat+dLat,l).y + 2;//coord for label
+		  
+		  //pane/layer to write on
+		  var mapDiv = this.mapContainer;//this.map_.getPane(G_MAP_MARKER_SHADOW_PANE);
+		  
+		  var lo = l;
+		  
+		  if(r<lo)
+		      r += 360.0;
+		
+		  //vertical lines
+		  while(lo<=r){
+				
+				 var p = this.fromLatLngToDivPixel(b,lo);
+				 //line
+				 this.divs[i] = this.createVLine(p.x);
+				 this.divs[i].style.zIndex = this.div.style.zIndex;
+				 mapDiv.insertBefore(this.divs[i],null);
+				 i++;
+				  	
+				 //label	 
+				 var d = document.createElement("DIV");
+				 x = p.x + 3;
+				 
+				 d.style.position = "absolute";
+		         d.style.left = x.toString() + "px";
+		         d.style.top = y.toString() + "px";
+				 d.style.color = this.color;
+				 d.style.fontFamily='Arial';
+				 d.style.fontSize='x-small';
+		         
+		         if (lo==0)
+		         {
+		         	d.innerHTML = (Math.abs(lo)).toFixed(lonDecs);
+		         }
+			     else if(lo<0)
+				{	d.title = mbGetMessage("westWgs84");
+					d.innerHTML = (Math.abs(lo)).toFixed(lonDecs)+" W";
+				 }
+				 else 
+				{	d.title = mbGetMessage("eastWgs84");
+					d.innerHTML = (Math.abs(lo)).toFixed(lonDecs)+" E";
+				 }
+				 
+				d.style.zIndex = this.div.style.zIndex;
+				 mapDiv.insertBefore(d,null);
+				 this.divs[i] = d;
+			
+				 i++;
+				 lo += dLng;	
+				 if (lo > 180.0){
+					r -= 360.0;
+					lo -= 360.0;
+					}		 		
+  	}
+  
+
+
+	var j = 0;
+	      
+	  //labels on second row to avoid controls
+	  x = this.fromLatLngToDivPixel(b,l+dLng+dLng).x + 3;
+	  
+	  //horizontal lines
+	  while(b<=t){
+
+			 var p = this.fromLatLngToDivPixel(b,l);
+			 
+			 //line
+			 if(r < l){ //draw lines across the dateline
+				this.divs[i] = this.createHLine3(b);
+				this.divs[i].style.zIndex = this.div.style.zIndex;
+				mapDiv.insertBefore(this.divs[i],null);
+				i++;
+			 }
+			 else if (r == l){ //draw lines for world scale zooms
+			
+				this.divs[i] = this.createHLine3(b);
+				this.divs[i].style.zIndex = this.div.style.zIndex;
+				mapDiv.insertBefore(this.divs[i],null);
+				i++;
+			 }
+			 else{
+			 	
+				this.divs[i] = this.createHLine(p.y);
+				this.divs[i].style.zIndex = this.div.style.zIndex;
+				mapDiv.insertBefore(this.divs[i],null);
+				i++;
+			 }
+			 
+			 
+			 
+			 
+			 //label
+			 var d = document.createElement("DIV");
+			 y = p.y + 2;
+			 d.style.position = "absolute";
+			 d.style.left =x.toString() + "px";
+			 d.style.top = y.toString()+ "px";
+			 d.style.color = this.color;
+			 d.style.fontFamily='Arial';
+			 d.style.fontSize='x-small';
+			 
+			 if (b==0)
+	         {
+	         	d.innerHTML = (Math.abs(b)).toFixed(lonDecs);
+	         }
+			 else if(b<0)
+			{	d.title = mbGetMessage("southWgs84");
+				d.innerHTML = (Math.abs(b)).toFixed(latDecs)+" S";
+			}
+			 else 
+			{	d.title = mbGetMessage("northWgs84");
+				d.innerHTML = (Math.abs(b)).toFixed(latDecs)+" N";
+			}
+			 if(j != 2)//dont put two labels in the same place
+			 {
+			 	 
+				 d.style.zIndex = this.div.style.zIndex;
+				 mapDiv.insertBefore(d,null);
+				 this.divs[i] = d;
+				 i++;
+			 }
+			 j++;
+			 b += dLat;
+	  }
+	 
+
+	},
+	
+	/*Transform lat/lon coordinates in pixels coordinates
+	* Returns an object container pixel coordinates
+	*@param this pointer to this object.
+	*@param lat lon  coordiantes in degrees 
+	*/
+	fromLatLngToDivPixel : function(lat,lon){
+		///CSCS
+    var pt=new OpenLayers.Geometry.Point(lon, lat);
+    pt.transform(new OpenLayers.Projection("EPSG:4326"),this.proj);
+    var platlon=this.map.getPixelFromLonLat(new OpenLayers.LonLat(pt.x,pt.y));
+		return platlon;
+	},
+	
+	/*Create a vertical line
+	* Returns a div that is a vertical single pixel line
+	*@param this pointer to this object.
+	*@param x left style property for div element 
+	*/
+	
+	createVLine : function (x) {
+
+		var div = document.createElement("DIV");
+		div.style.position = "absolute";
+		div.style.overflow = "hidden";
+		div.style.backgroundColor = this.color;
+		div.style.left = x + "px";
+		div.style.top = this.minY + "px";
+		div.style.width = "1px";
+		div.style.height = (this.maxY-this.minY) +"px";				
+	    return div;
+	
+	},
+ 
+	/*Create a horizontal line
+	* Returns a div that is a horizontal single pixel line
+	*@param this pointer to this object.
+	*@param y top style property for div element 
+	*/  	  
+	createHLine : function(y) {
+
+		var div = document.createElement("DIV");
+		div.style.position = "absolute";
+		div.style.overflow = "hidden";
+		div.style.backgroundColor = this.color;
+		div.style.left = this.minX + "px";
+		div.style.top = y + "px";
+		div.style.width = (this.maxX-this.minX) + "px";
+		div.style.height = "1px";
+	    return div;
+	
+	},
+	/*Create a horizontal line
+	* Returns a div that is a horizontal single pixel line, across the dateline  
+	* we find the start and width of a 180 degree line and draw the same amount
+	* to its left and right	
+	*@param this pointer to this object.
+	*@param lat latitude of  div element.
+	*/  
+		createHLine3 : function(lat) {
+		
+			var f = this.fromLatLngToDivPixel(lat,0);
+			var t = this.fromLatLngToDivPixel(lat,180);		
+		
+			var div = document.createElement("DIV");
+			div.style.position = "absolute";
+			div.style.overflow = "hidden";
+			div.style.backgroundColor = this.color;
+			
+			var x1 = f.x;
+			var x2 = t.x;
+			
+			if(x2 < x1)
+			{
+				x2 = f.x;
+				x1 = t.x;
+			}
+			div.style.left = (x1-(x2-x1)) + "px";
+			div.style.top = f.y + "px";
+			div.style.width = ((x2-x1)*2) + "px";
+			div.style.height = "1px";
+			return div;
+			
+			
+}  ,
+
+		/*Initialize Graticule's property 
+		* 
+		*@param this pointer to this object.
+		*/ 
+		update : function (){
+		
+		
+			this.width=parseInt(this.objRef.targetModel.getWindowWidth());
+			this.height=parseInt(this.objRef.targetModel.getWindowHeight());
+			
+			this.bbox=this.objRef.targetModel.getBoundingBox();
+			this.proj=new OpenLayers.Projection( this.objRef.targetModel.getSRS());
+		
+			if (this.bbox[1]<0)
+				if(this.bbox[3]<0)
+					this.diffLat=this.bbox[1]-this.bbox[3];
+				else
+					this.diffLat=this.bbox[3]-this.bbox[1];
+			else
+				this.diffLat=this.bbox[3]+this.bbox[1];
+				
+			if (this.bbox[0]<0)
+				if(this.bbox[2]<0)		
+					this.diffLon=this.bbox[0]-this.bbox[2];
+				else
+					this.diffLon=this.bbox[2]-this.bbox[0];
+			else
+				this.diffLon=this.bbox[2]+this.bbox[0];
+		
+			
+		  	this.addGraticules();
+
+},
+
+		/*Display graticule when click on button
+		* 
+		*@param this pointer to this object.
+		*@param selected boolean true if button has been clicked , false if no
+		*/ 
+		activate: function() {
+		
+		if(OpenLayers.Control.prototype.activate.apply(this, arguments)){
+                this.panel_div.style.backgroundImage = "url(\""+objRef.enabledImage+"\")";
+    	//this.map.div.style.cursor = objRef.cursor;
+			this.map.events.register('moveend', this, this.update);
+		 	this.objRef.display=true;
+		 	this.mapContainer = this.div;
+		 	this.color="black";
+			this.update();
+		return true;
+        } else {
+            return false;
+        }
+        },
+		deactivate: function() {
+		if(OpenLayers.Control.prototype.deactivate.apply(this, arguments)){
+		    this.panel_div.style.backgroundImage = "url(\""+objRef.disabledImage+"\")";
+			this.map.events.unregister('moveend', this, this.update);
+			this.objRef.display=false;
+			this.removeGraticules(); 
+			objRef.enabled = false;
+      		objRef.doSelect(objRef, false); 
+       		this.active=false;
+       		return true;
+        } else {
+            return false;
+        }
+	}
+/////////////////////////////////////////////////////////////
+
+   });
+
+    return Control;
+  }
+}
+
Index: lib/spatial/mapbuilder/lib/widget/Version.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Version.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/Version.js	(revision 4307)
@@ -0,0 +1,18 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Version.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Displays the mapbuilder version.
+ * @constructor
+ * @base WidgetBaseXSL
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function Version(widgetNode, model) {
+  WidgetBaseXSL.apply(this,new Array(widgetNode, model));
+}
Index: lib/spatial/mapbuilder/lib/widget/ModelUrlInput.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/ModelUrlInput.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/ModelUrlInput.xsl	(revision 4307)
@@ -1,41 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0" 
-    xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-<!--
-Description: Output a form for setting any model's url and method values
-Author:      Mike Adair
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-$Id$
--->
-
-  <xsl:output method="xml" encoding="utf-8"/>
-
-  <!-- The common params set for all widgets -->
-  <xsl:param name="lang">en</xsl:param>
-  <xsl:param name="modelId"/>
-  <xsl:param name="modelTitle"/>
-  <xsl:param name="targetModel"/>
-  <xsl:param name="widgetId"/>
-
-  <!-- Text params for this widget -->
-  <xsl:param name="title"/>
-  <xsl:param name="load"/>
-
-    <!-- The name of the form for coordinate output -->
-  <xsl:param name="defaultUrl"/>
-  <xsl:param name="formName">ModelUrlInputForm</xsl:param>
-
-  <!-- Main html -->
-  <xsl:template match="/">
-    <div>
-      <form name="{$formName}" id="{$formName}" onsubmit="return config.objects.{$widgetId}.submitForm()">
-        <xsl:value-of select="$title"/><input name="defaultUrl" type="text" size="30" value="{$defaultUrl}"/>
-        <a href="javascript:config.objects.{$widgetId}.submitForm();"><xsl:value-of select="$load"/></a>
-      </form>
-    </div>
-  </xsl:template>
-  
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="lang">en</xsl:param><xsl:param name="modelId"/><xsl:param name="modelTitle"/><xsl:param name="targetModel"/><xsl:param name="widgetId"/><xsl:param name="title"/><xsl:param name="load"/><xsl:param name="defaultUrl"/><xsl:param name="formName">ModelUrlInputForm</xsl:param><xsl:template match="/"><div><form name="{$formName}" id="{$formName}" onsubmit="return config.objects.{$widgetId}.submitForm()"><xsl:value-of select="$title"/><input name="defaultUrl" type="text" size="30" value="{$defaultUrl}"/><a href="javascript:config.objects.{$widgetId}.submitForm();"><xsl:value-of select="$load"/></a></form></div></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/XmlForm.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/XmlForm.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/XmlForm.xsl	(revision 4307)
@@ -1,59 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0" xmlns:wmc="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" >
-
-<!--
-Description: Prototype stylesheet to automatically generate a form from an XML doc.
-Author:      Mike Adair
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-XmlForm.xsl,v 1.1 2004/06/28 03:46:49 madair1 Exp
--->
-
-  <xsl:output method="xml" encoding="utf-8"/>
-
-  <!-- The common params set for all widgets -->
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-
-  <xsl:param name="procNode"></xsl:param>
-  
-  <!-- The name of the form for coordinate output -->
-  <xsl:param name="formName">XmlForm</xsl:param>
-
-  <!-- Main html -->
-	<xsl:template match="/">
-    <div>
-    <form name="{$formName}" id="{$formName}">
-      <xsl:apply-templates select="wmc:ViewContext/wmc:General/wmc:ContactInformation"/> 
-    </form>
-    </div>
-  </xsl:template>
-
-	<xsl:template match="*">
-    <xsl:choose>
-      <xsl:when test="string-length(normalize-space(text()))>0">
-        <xsl:value-of select="name()"/>
-        <xsl:element name="INPUT">
-          <xsl:attribute name="ID">elId</xsl:attribute>
-          <xsl:attribute name="TYPE">text</xsl:attribute>
-          <xsl:attribute name="VALUE"><xsl:value-of select='text()'/></xsl:attribute>
-        </xsl:element>
-        <br/>
-        <xsl:apply-templates /> 
-      </xsl:when>
-      <xsl:otherwise>
-        <dl>
-          <dt>
-            <xsl:value-of select="name()"/>
-          </dt>
-          <dd>
-            <xsl:apply-templates /> 
-          </dd>
-        </dl>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-  
-	<xsl:template match="text()|@*"/>
-
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wmc="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="procNode"/><xsl:param name="formName">XmlForm</xsl:param><xsl:template match="/"><div><form name="{$formName}" id="{$formName}"><xsl:apply-templates select="wmc:ViewContext/wmc:General/wmc:ContactInformation"><xsl:with-param name="xpathRoot" select="'/wmc:ViewContext/wmc:General'"/></xsl:apply-templates></form></div></xsl:template><xsl:template match="*"><xsl:param name="xpathRoot"/><xsl:param name="xpathStr"><xsl:value-of select="$xpathRoot"/>/wmc:<xsl:value-of select="local-name()"/></xsl:param><xsl:choose><xsl:when test="string-length(normalize-space(text()))&gt;0"><xsl:value-of select="name()"/><xsl:element name="input"><xsl:attribute name="id">elId</xsl:attribute><xsl:attribute name="type">text</xsl:attribute><xsl:attribute name="value"><xsl:value-of select="text()"/></xsl:attribute><xsl:attribute name="onchange">config.objects.<xsl:value-of select="$widgetId"/>.setValue(this,'<xsl:value-of select="$xpathStr"/>')</xsl:attribute></xsl:element><br/><xsl:apply-templates><xsl:with-param name="xpathRoot" select="$xpathStr"/></xsl:apply-templates></xsl:when><xsl:otherwise><dl><dt><xsl:value-of select="name()"/></dt><dd><xsl:apply-templates><xsl:with-param name="xpathRoot" select="$xpathStr"/></xsl:apply-templates></dd></dl></xsl:otherwise></xsl:choose></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/EventLog.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/EventLog.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/EventLog.js	(revision 4307)
@@ -0,0 +1,18 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: EventLog.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Show an event log, used for debugging.
+ * @constructor
+ * @base WidgetBaseXSL
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function EventLog(widgetNode, model) {
+  WidgetBaseXSL.apply(this,new Array(widgetNode, model));
+}
Index: lib/spatial/mapbuilder/lib/widget/Locations.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Locations.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Locations.js	(revision 4307)
@@ -2,7 +2,7 @@
 Author:       Tom Kralidis
 License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: Locations.js 3821 2008-02-01 13:58:30Z ahocevar $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -22,23 +22,31 @@
 function Locations(widgetNode, model) {
   WidgetBaseXSL.apply(this,new Array(widgetNode, model));
 
-  //TBD: implement this in a Locations model
-  this.model.getSRS = function(){return "EPSG:4326";}
-
-/**
- * Change the AOI coordinates from select box choice of prefined locations
- * @param bbox the bbox value of the location keyword chosen
- * @param targetModel the model on which to set the AOI
- */
-  this.setAoi = function(bbox, targetModel) {
+  /**
+   * Change the AOI coordinates from select box choice of prefined locations
+   * @param bbox the bbox value of the location keyword chosen
+   * @param targetModel the model on which to set the AOI
+   * @param srsName srs of the bbox
+   */
+  this.setAoi = function(bbox, targetModel, srsName) {
+    var srsTokens = srsName.split(/[:#]/);
+    srsName = 'EPSG:'+srsTokens[srsTokens.length-1];
+    if (!srsName) {
+      srsName = 'EPSG:4326';
+    }
+    var proj = new OpenLayers.Projection(srsName);
     var bboxArray = new Array();
     bboxArray     = bbox.split(",");
-    var ul = new Array(parseFloat(bboxArray[0]),parseFloat(bboxArray[3]));
-    var lr = new Array(parseFloat(bboxArray[2]),parseFloat(bboxArray[1]));
-    this.model.setParam("aoi",new Array(ul,lr));
+    var ptUL=new OpenLayers.Geometry.Point(parseFloat(bboxArray[0]),parseFloat(bboxArray[3]));
+    var ptLR=new OpenLayers.Geometry.Point(parseFloat(bboxArray[2]),parseFloat(bboxArray[1]));
+    ptUL.transform(proj,this.targetModel.proj);
+    ptLR.transform(proj,this.targetModel.proj);
+    var ul = new Array(ptUL.x,ptUL.y);
+    var lr = new Array(ptLR.x,ptLR.y);   
+    this.targetModel.setParam("aoi",new Array(ul,lr));
 
     //convert this.model XY to latlong
     //convert latlong to targetmodel XY
-    this.targetModel.extent.zoomToBox( ul, lr );
+    this.targetModel.map.zoomToExtent(new OpenLayers.Bounds(ul[0],lr[1],lr[0],ul[1]));
   }
 }
Index: lib/spatial/mapbuilder/lib/widget/AoiBoxOL.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/AoiBoxOL.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/AoiBoxOL.js	(revision 4307)
@@ -0,0 +1,109 @@
+/*
+Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: AoiBoxDHTML.js,v 1.2 2008/03/18 09:59:16 terral Exp $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+
+/**
+ * Widget to draw an Area Of Interest box of a model.  The box can be drawn with
+ * the paint() method and is registered as a listener of the context AOI property.
+ * This object works entirely in pixel/line coordinate space and knows nothing
+ * about geography.  This widget uses DHTML methods to draw the box.  Since it
+ * does not support a targetModel property, it has to be defined as a child widget
+ * of the context of the map that the box should be drawn into.
+ * WARNING: This widget cannot be used in maps that use button controls.
+ * Button controls take care of aoi handling themselves.
+ * It is designed for use in locator map setups only.
+ * See also MAP-312
+ * @deprecated
+ * @constructor
+ * @base WidgetBase
+ * @param widgetNode The node for this object from the Config file.
+ * @param model The model that contains this object.
+ */
+function AoiBoxOL(widgetNode, model) {
+  WidgetBase.apply(this,new Array(widgetNode, model));
+
+  this.cursor = 'crosshair';
+
+  /**
+   * Interactive ZoomOut control.
+   * @param objRef reference to this object.
+   * @return {OpenLayers.Control} class of the OL control.
+   */
+  this.createControl = function(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      CLASS_NAME: 'mbControl.AoiBoxOL',
+      type: OpenLayers.Control.TYPE_TOOL,
+
+      draw: function() {
+        this.handler = new OpenLayers.Handler.Box( this,
+              {done: this.aoiBox}, {keyMask: this.keyMask} );
+		
+      },
+
+      aoiBox: function (position) {
+        if (position instanceof OpenLayers.Bounds) {
+          var minXY = this.map.getLonLatFromPixel(
+               new OpenLayers.Pixel(position.left, position.bottom));
+          var maxXY = this.map.getLonLatFromPixel(
+               new OpenLayers.Pixel(position.right, position.top));
+          var bounds = new OpenLayers.Bounds(minXY.lon, minXY.lat,
+               maxXY.lon, maxXY.lat);         
+        }
+        else{
+          var XY = this.map.getLonLatFromPixel(
+               new OpenLayers.Pixel(position.x, position.y));
+          var bounds = new OpenLayers.Bounds(XY.lon, XY.lat,
+               XY.lon,XY.lat);
+        }
+          var bboxOL = bounds.toBBOX().split(',');
+          var ul = new Array(bboxOL[0],bboxOL[3]);
+          var lr = new Array(bboxOL[2],bboxOL[1]);
+          objRef.model.setParam("aoi", new Array(ul, lr));
+      }
+    });
+ 
+    return Control;
+  }
+ 
+ this.init = function(objRef) {
+	var Control = objRef.createControl(objRef);
+	var ct=new Control();
+   objRef.model.map.addControl(ct);
+	ct.activate();	
+  }
+  
+  this.model.addListener("loadModel",this.init, this); 
+  /**
+   * Draws a bounding box around the current AOI.
+   * @param objRef reference to this widget
+   */
+  this.drawAoiBox = function(objRef) {
+	if(objRef.model.map){
+		var ext = objRef.model.getParam('aoi');
+		var bounds = new OpenLayers.Bounds(ext[0][0], ext[1][1], ext[1][0], ext[0][1]);
+		objRef.model.aoiBoxLayer = new OpenLayers.Layer.Boxes('Boxes');
+		objRef.model.map.addLayer(objRef.model.aoiBoxLayer);
+		var box = new OpenLayers.Marker.Box(bounds);
+		objRef.model.aoiBoxLayer.addMarker(box);
+	}
+  } 
+  /**
+   * Clears the AOI box.
+   * @param objRef reference to this widget
+   */
+  this.clearAoiBox = function(objRef) {
+    if (objRef.model.aoiBoxLayer) {
+      objRef.model.aoiBoxLayer.destroy();
+    }  
+  }
+	
+    // adds a listener to the context to clear the AOI box when AOI changes
+    this.model.addListener('aoi', this.clearAoiBox, this);
+    this.model.addListener('aoi', this.drawAoiBox, this);
+}
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/widget/FeatureList.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/FeatureList.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/FeatureList.xsl	(revision 4307)
@@ -1,84 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" version="1.0">
-
-<!--
-Description: Convert a GML Feature or FeatureCollection into a HTML form.
-Author:      Cameron Shorter cameron ATshorter.net
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
-$Name$
--->
-
-  <xsl:output method="xml" encoding="utf-8"/>
-
-  <!-- Common params for all widgets -->
-  <!--xsl:param name="targetModelId"/-->
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-
-  <!-- Main html -->
-  <xsl:template match="/">
-    <div>
-      <h3>Feature List</h3>
-      <xsl:apply-templates/>
-    </div>
-  </xsl:template>
-
-  <!-- don't print boundedBy -->
-  <xsl:template match="gml:boundedBy"/>
-
-  <!-- featureMember -->
-  <xsl:template match="gml:featureMember">
-    <div>
-      <table border="1" cellpadding="0" cellspacing="0">
-        <xsl:apply-templates/>
-      </table>
-      <br/>
-    </div>
-  </xsl:template>
-
-  <!-- All nodes -->
-  <xsl:template match="*">
-    <xsl:variable name="xlink">
-      <xsl:call-template name="getXpath">
-        <xsl:with-param name="node" select="."/>
-      </xsl:call-template>
-    </xsl:variable>
-    <xsl:if test="not(./*)">
-      <tr>
-        <td>
-          <xsl:value-of select="name(.)"/>
-        </td>
-        <td>
-          <input
-            type="text"
-            id="{$widgetId}{generate-id()}"
-            size="40"
-            value="{text()}"
-            onchange="config.objects.{$widgetId}.setAttr(config.objects.{$widgetId},'{$xlink}',document.getElementById('{$widgetId}{generate-id()}').value);"/>
-        </td>
-      </tr>
-    </xsl:if>
-    <xsl:if test="./*">
-      <xsl:apply-templates>
-      </xsl:apply-templates>
-    </xsl:if>
-  </xsl:template>
-
-  <!-- Return xpath reference to a node. Calls itself recursively -->
-  <xsl:template name="getXpath">
-    <xsl:param name="node"/>
-    <xsl:if test="name($node/..)">
-      <xsl:call-template name="getXpath">
-        <xsl:with-param name="node" select="$node/.."/>
-      </xsl:call-template>
-    </xsl:if>
-    <xsl:text>/</xsl:text>
-    <xsl:value-of select="name($node)"/>
-  </xsl:template>
-
-  <!-- Remove documentation, text, comments -->
-  <xsl:template match="comment()|text()|processing-instruction()">
-  </xsl:template>
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:template match="/"><div><h3>Feature List</h3><xsl:apply-templates/></div></xsl:template><xsl:template match="gml:boundedBy"/><xsl:template match="gml:featureMember"><div><table border="1" cellpadding="0" cellspacing="0"><xsl:apply-templates><xsl:with-param name="pos" select="position()"/></xsl:apply-templates></table><br/></div></xsl:template><xsl:template name="allNodes" match="*"><xsl:param name="pos"/><xsl:variable name="xlink"><xsl:call-template name="getXpath"><xsl:with-param name="node" select="."/></xsl:call-template></xsl:variable><xsl:if test="not(./*)"><tr><td><xsl:value-of select="name(.)"/></td><td><input type="text" id="{$widgetId}{generate-id()}" size="40" value="{text()}" onchange="config.objects.{$widgetId}.setAttr(config.objects.{$widgetId},'/*/*[position()={$pos}]{$xlink}', this.value);"/></td></tr></xsl:if><xsl:if test="./*"><xsl:apply-templates><xsl:with-param name="pos" select="$pos"/></xsl:apply-templates></xsl:if></xsl:template><xsl:template name="getXpath"><xsl:param name="node"/><xsl:if test="name($node/..) and not(name($node/..)='gml:featureMember')"><xsl:call-template name="getXpath"><xsl:with-param name="node" select="$node/.."/></xsl:call-template></xsl:if><xsl:text>/</xsl:text><xsl:value-of select="name($node)"/></xsl:template><xsl:template match="comment()|text()|processing-instruction()"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/TipWidgetBase.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/TipWidgetBase.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/TipWidgetBase.js	(revision 4307)
@@ -0,0 +1,36 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: TipWidgetBase.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Base class for TipWidgetOL and similar widgets.
+ * @base WidgetBaseXSL
+ * @author Andreas Hocevar andreas.hocevarATgmail.com
+ * @param widgetNode      The widget node from the Config XML file.
+ * @param model  The FeatureCollection model.
+ */
+function TipWidgetBase(widgetNode, model) {
+  WidgetBaseXSL.apply(this, new Array(widgetNode, model));
+
+  this.width = this.getProperty('mb:width', 200);
+  this.height = this.getProperty('mb:height', 150);
+  this.opacity = this.getProperty('mb:opacity', 1);
+  this.backgroundColor = this.getProperty('mb:backgroundColor', 'D0D0D0');
+  this.border = this.getProperty('mb:border', '0px');
+  
+  // store all relevant config properties in an object for handling
+  // different widget configurations in a MergeModel
+  this.config = new Object({
+        model: model,
+        stylesheet: this.stylesheet,
+        width: this.width,
+        height: this.height,
+        opacity: this.opacity,
+        backgroundColor: this.backgroundColor,
+        border: this.border
+  });
+}
Index: lib/spatial/mapbuilder/lib/widget/Loading2.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Loading2.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Loading2.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: Loading2.js 3879 2008-02-27 14:20:29Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -26,33 +26,25 @@
   WidgetBase.apply(this,new Array(widgetNode, model));
 
   //loading img to be displayed  while models load
-  var imageSrc = widgetNode.selectSingleNode("mb:imageSrc");
-  if (imageSrc) {
-    this.imageSrc = config.skinDir + imageSrc.firstChild.nodeValue;
-  } else {
-    this.imageSrc = config.skinDir + "/images/Loading.gif";
-  }
+  this.imageSrc = config.skinDir + this.getProperty("mb:imageSrc", "/images/Loading.gif");
 
   //a text message to be displayed while models load
-  var textMessage = widgetNode.selectSingleNode("mb:textMessage");
-  if (textMessage) {
-    this.textMessage = textMessage.firstChild.nodeValue;
-  } else {
-    this.textMessage = "Document loading, please wait...";
-  }
+  this.textMessage = this.getProperty("mb:textMessage", mbGetMessage("docLoading"));
   this.updateMessage = this.textMessage;
 
   //check to see if this is to be put over a map if there isa mapContainerID supplied
-  var mapContainerNode = widgetNode.selectSingleNode("mb:mapContainerId");
-  if (mapContainerNode) {
-    this.containerNodeId = mapContainerNode.firstChild.nodeValue;
-    this.node = document.getElementById(this.containerNodeId);
+  this.mapContainerNode = widgetNode.selectSingleNode("mb:mapContainerId");
+  if (!this.mapContainerNode) {
+    this.mapContainerNode = widgetNode.selectSingleNode("mb:targetModel");
   }
+  if (this.mapContainerNode) {
+    this.containerNodeId = getNodeValue(this.mapContainerNode);
+    this.htmlTagId = this.containerNodeId;
+  }
 
   //paint it on the "newModel" event, clear it on "loadModel" event
   this.model.addListener("newModel",this.paint, this);
   this.model.addListener("loadModel",this.clear, this);
-  this.model.addListener("bbox", this.paint, this );
   this.model.addListener("refresh",this.paint, this);
   this.model.addListener("modelStatus",this.update, this);
 }
@@ -62,19 +54,27 @@
  * @param objRef Pointer to widget object.
  */
 Loading2.prototype.paint = function(objRef) {
-  if (objRef.node) {
+  var node = objRef.getNode();
+  if (node) {
+    //if it is a template model, no loader should be shown in the output div
+    if (objRef.model.template) return;
+    //if there's no url, there will never be an update on the ModelStatus, so the image stays while nothing is happening.
+    if (!objRef.model.url && !objRef.mapContainerNode) return;
     //create the output node the first time this is called
     var outputNode = document.getElementById( objRef.outputNodeId+"_loading" );
     if (!outputNode) {
       outputNode = document.createElement("div");
       outputNode.setAttribute("id",objRef.outputNodeId+"_loading");
-      objRef.node.appendChild(outputNode);
+      node.appendChild(outputNode);
     }
     outputNode.className = "loadingIndicator";
-    outputNode.style.zindex = 1000;
-    outputNode.style.position="absolute";
-    outputNode.style.left='0px';
-    outputNode.style.top='0px';
+    outputNode.style.zIndex = 10001;
+    //In a mapcontainer you want the loader in the left top, in other widgets embedded in the output area
+    if (objRef.mapContainerNode){
+      outputNode.style.position="absolute";
+      outputNode.style.left='0px';
+      outputNode.style.top='0px';
+    }
     if (objRef.imageSrc) {
       var imageNode = document.getElementById( objRef.outputNodeId+"_imageNode" );
       if (!imageNode) {
@@ -81,7 +81,7 @@
         imageNode = document.createElement("img");
         imageNode.setAttribute("id",objRef.outputNodeId+"_imageNode");
         outputNode.appendChild(imageNode);
-        imageNode.style.zindex = 1000;
+        imageNode.style.zIndex = 10001;
       }
       imageNode.src = objRef.imageSrc;
     }
@@ -101,9 +101,10 @@
  * Remove the contents of the HTML tag for this widget.
  * @param objRef Reference to this object.
  */
-Loading2.prototype.clear= function(objRef) {
+Loading2.prototype.clear= function(objRef, message) {
   var outputNode = document.getElementById( objRef.outputNodeId+"_loading" );
-  if (outputNode) objRef.node.removeChild(outputNode);
+  var node = objRef.getNode();
+  if (node && outputNode) node.removeChild(outputNode);
 }
 
 /**
@@ -112,8 +113,8 @@
  * @param objRef Reference to this object.
  */
 Loading2.prototype.update= function(objRef, message) {
+  objRef.updateMessage = message || null;
   if (message) {
-    objRef.updateMessage = message;
     objRef.paint(objRef);
   } else {
     objRef.clear(objRef);
Index: lib/spatial/mapbuilder/lib/widget/SelectAllMapLayers.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/SelectAllMapLayers.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/SelectAllMapLayers.xsl	(revision 4307)
@@ -1,34 +1,2 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!--
-Description: link to load the WMS Capabilities doc as a context document.  
-            This works with the Caps2Context tool which implements the listener
-Author:      adair
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-$Id$
-$Name$
--->
-
-<xsl:stylesheet version="1.0" 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-    xmlns:wms="http://www.opengis.net/wms"
-		xmlns:ogc="http://www.opengis.net/ogc"
-    xmlns:xlink="http://www.w3.org/1999/xlink">
-
-  <xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8" indent="yes"/>
-
-  <!-- The coordinates of the DHTML Layer on the HTML page -->
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-  
-  <!-- template rule matching source root element -->
-  <xsl:template match="/WMT_MS_Capabilities | /wms:WMS_Capabilities">
-    <p>
-      <a href="javascript:config.objects.{$modelId}.setParam('mapAllLayers')">map all layers</a>
-    </p>
-  </xsl:template>
-
-  <xsl:template match="text()|@*"/>
-
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wms="http://www.opengis.net/wms" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:template match="/WMT_MS_Capabilities | /wms:WMS_Capabilities"><p><a href="javascript:config.objects.{$modelId}.setParam('mapAllLayers')">map all layers</a></p></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/MapScaleText.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/MapScaleText.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/MapScaleText.js	(revision 4307)
@@ -2,7 +2,7 @@
 Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
 License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: MapScaleText.js 3242 2007-09-11 11:15:21Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -26,8 +26,9 @@
    * Handles submission of the form (via javascript in an <a> tag or onsubmit handler)
    */
   this.submitForm = function() {
-    var newScale = this.mapScaleTextForm.mapScale.value;
-    this.model.extent.setScale(newScale.split(",").join(""));
+    var mapScaleTextForm = document.getElementById(this.formName);
+    var newScale = mapScaleTextForm.mapScale.value;
+    this.model.map.zoomToScale(newScale.split(",").join(""));
     return false;   //prevent the form from actually being submitted
   }
 
@@ -60,8 +61,9 @@
    * @param objRef Pointer to this widget object.
    */
   this.showScale = function(objRef) {
-    if (objRef.mapScaleTextForm) {
-      var newScale = Math.round(objRef.model.extent.getScale());
+    var mapScaleTextForm = document.getElementById(objRef.formName);
+    if (mapScaleTextForm) {
+      var newScale = Math.round(objRef.model.map.getScale());
       var parts = new Array();
       while (newScale>=1000.0) {
         var newPart = newScale/1000.0;
@@ -70,7 +72,7 @@
         parts.unshift(strPart);
       }
       parts.unshift(newScale);
-      objRef.mapScaleTextForm.mapScale.value = parts.join(",");
+      mapScaleTextForm.mapScale.value = parts.join(",");
     }
   }
 
@@ -94,9 +96,9 @@
    * @param objRef Pointer to this CurorTrack object.
    */
   this.postPaint = function(objRef) {
-    objRef.mapScaleTextForm = document.getElementById(objRef.formName);
-    objRef.mapScaleTextForm.parentWidget = objRef;
-    objRef.mapScaleTextForm.onkeypress = objRef.handleKeyPress;
+    var mapScaleTextForm = document.getElementById(objRef.formName);
+    mapScaleTextForm.parentWidget = objRef;
+    mapScaleTextForm.onkeypress = objRef.handleKeyPress;
     objRef.showScale(objRef);
   }
 
Index: lib/spatial/mapbuilder/lib/widget/TransactionResponse.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/TransactionResponse.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/TransactionResponse.xsl	(revision 4307)
@@ -1,98 +1,2 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!--
-
-Description: Render a WFS Transaction Response.
-
-Author:      Cameron Shorter
-
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-
-
-$Id$
-
-$Name$
-
--->
-
-
-
-<xsl:stylesheet
-
-  version="1.0"
-
-  xmlns:ogc="http://www.opengis.net/ogc"
-
-  xmlns:wfs="http://www.opengis.net/wfs"
-
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-
-
-  <xsl:output method="xml"/>
-
-
-
-  <!-- template rule matching source root element -->
-
-  <xsl:template match="/">
-
-    <div>
-
-      <xsl:apply-templates/>
-
-    </div>
-
-  </xsl:template>
-
-
-
-  <!-- Service Exception -->
-
-  <xsl:template match="ogc:ServiceException">
-
-    <table>
-
-      <tr>
-
-        <td>Service Exception:</td>
-
-        <td><xsl:apply-templates/></td>
-
-      </tr>
-
-    </table>
-
-  </xsl:template>
-
-
-
-  <!-- Transaction Response -->
-
-  <xsl:template match="wfs:WFS_TransactionResponse">
-
-    <table>
-
-      <tr>
-
-        <td>Transaction Status:</td>
-
-        <td><xsl:value-of select="name(wfs:TransactionResult/wfs:Status/*)"/></td>
-
-      </tr>
-
-      <tr>
-
-        <td>New Feature Id:</td>
-
-        <td><xsl:value-of select="wfs:InsertResult/ogc:FeatureId/@fid"/></td>
-
-      </tr>
-
-    </table>
-
-  </xsl:template>
-
-</xsl:stylesheet>
-
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:ogc="http://www.opengis.net/ogc" xmlns:wfs="http://www.opengis.net/wfs" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes"/><xsl:template match="/"><div><xsl:apply-templates/></div></xsl:template><xsl:template match="ogc:ServiceException"><table><tr><td>Service Exception:</td><td><xsl:apply-templates/></td></tr></table></xsl:template><xsl:template match="wfs:WFS_TransactionResponse"><table><tr><td>Transaction Status:</td><td><xsl:value-of select="name(wfs:TransactionResult/wfs:Status/*)"/></td></tr><xsl:if test="wfs:InsertResult/ogc:FeatureId/@fid"><tr><td>New Feature Id:</td><td><xsl:value-of select="wfs:InsertResult/ogc:FeatureId/@fid"/></td></tr></xsl:if></table></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/SelectTimeFrame.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/SelectTimeFrame.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/SelectTimeFrame.xsl	(revision 4307)
@@ -1,52 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0"
-xmlns:wmc="http://www.opengis.net/context"
-xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder"
-xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-<!--
-Description: Displays the Title value from a Web Map Context document
-Author:      Mike Adair
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-$Id$
-$Name$
--->
-
-  <xsl:output method="xml" encoding="utf-8"/>
-
-  <!-- The coordinates of the DHTML Layer on the HTML page -->
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-  
-  <xsl:param name="lang">en</xsl:param>
-  <xsl:param name="layerName">TEMPERATURE</xsl:param>
-
-  <!-- Main html -->
-  
-  <xsl:template match="/wmc:ViewContext/wmc:General/wmc:Extension ">
-    <div>
-      <form>
-        start:<select name="firstFrame" onchange="config.objects.{$modelId}.setParam('firstFrame',this.value)">
-          <xsl:apply-templates select="mb:TimestampList[@layerName=$layerName]/mb:Timestamp"/>
-        </select>
-        <!--
-        - stop:<select name="lastFrame" onchange="config.objects.{$widgetId}.setLastFrame(this.value)">
-          <xsl:apply-templates select="wmc:TimestampList[@layerName=$layerName]/wmc:Timestamp"/>
-        </select>
-        -->
-      </form>
-    </div>
-  </xsl:template>
-  
-  <xsl:template match="mb:Timestamp">
-    <xsl:param name="index" select="position()-1"/>
-    <option value="{$index}">
-      <xsl:value-of select="."/>
-    </option>
-  </xsl:template>
-  
-  <xsl:template match="text()|@*"/>
-
-</xsl:stylesheet>
-
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wmc="http://www.opengis.net/context" xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="lang">en</xsl:param><xsl:param name="layerId">TEMPERATURE</xsl:param><xsl:template match="/wmc:ViewContext/wmc:General/wmc:Extension "><div><form>
+        start:<select name="firstFrame" onchange="config.objects.{$modelId}.setParam('firstFrame',this.value)"><xsl:apply-templates select="mb:TimestampList[@layerId=$layerId]/mb:Timestamp"/></select></form></div></xsl:template><xsl:template match="mb:Timestamp"><xsl:param name="index" select="position()-1"/><option value="{$index}"><xsl:value-of select="."/></option></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/Button.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Button.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Button.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: Button.js 3052 2007-08-01 21:25:21Z ahocevar $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -7,10 +7,10 @@
 mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
 
 /**
- * Generic Button object.  Set the <action> property in config for the controller
- * method to be called when selected
+ * Generic Button object. Set the <action> property in config for
+ * the controller method to be called when selected
  * @base ButtonBase
- * @author Mike Adair mike.adairATccrs.nrcan.gc.ca
+ * @author Andreas Hocevar andreas.hocevarATgmail.com
  * @param widgetNode      The tool node from the Config XML file.
  * @param model  The ButtonBar widget.
  */
@@ -17,6 +17,54 @@
 function Button(widgetNode, model) {
   ButtonBase.apply(this, new Array(widgetNode, model));
 
+  /**
+   * default css cursor to use when the button is selected
+   */
+  this.cursor = 'default';
+
+  /**
+   * Creates the OpenLayers control for this button.
+   * This method will be called by ButtonBase when
+   * MapPaneOL is ready to have buttons added.
+   * The control should be defined in this method.
+   * @type function
+   * @param objRef reference to this object.
+   * @return class (not instance!) of the OL control.
+   */
+  this.createControl = function(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      CLASS_NAME: 'mbControl.'+objRef.id,
+      type: (objRef.buttonType == 'RadioButton') ? OpenLayers.Control.TYPE_TOOL : OpenLayers.Control.TYPE_BUTTON,
+      // for button type      
+      trigger: function() {
+        eval('config.objects.'+objRef.action);
+      },
+      // for tool type (RadioButton)
+      activate: function() {
+        eval('config.objects.'+objRef.action);
+        this.active = true;
+        return true;
+      }
+    });
+    return Control;
+  }
+  
+  /**
+   * Optional method to instantiate the control. If a
+   * subclass provides this method, it will be used instead
+   * of just callint new Control() in the superclass.
+   * This is needed when a control has to be instantiated
+   * with parameters.
+   * @type OpenLayers.Control
+   * @param objRef reference to this object.
+   * @param {OpenLayers.Control} Control to instantiate
+   * @return instance of the OL control
+   */
+  this.instantiateControl = function(objRef, Control) {
+    // return OpenLayers.Control instance
+    return new Control();
+    
+  }
 }
 
 
Index: lib/spatial/mapbuilder/lib/widget/SetAoi.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/SetAoi.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/SetAoi.js	(revision 4307)
@@ -1,39 +1,82 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: SetAoi.js 3052 2007-08-01 21:25:21Z ahocevar $
 */
 
 // Ensure this object's dependancies are loaded.
 mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
 
 /**
- * When this button is selected, the AOI box stays visible and no zoom happens. 
- * @constructor
+ * Set AOI button.
  * @base ButtonBase
- * @author Mike Adair 
- * @param widgetNode The widget node from the Config XML file.
- * @param model  The model for this widget
+ * @author Andreas Hocevar andreas.hocevarATgmail.com
+ * @param widgetNode      The tool node from the Config XML file.
+ * @param model  The ButtonBar widget.
  */
 function SetAoi(widgetNode, model) {
+   ButtonBase.apply(this, new Array(widgetNode, model));
 
-  // Extend ButtonBase
-  ButtonBase.apply(this, new Array(widgetNode, model));
+  this.cursor = 'crosshair';
 
-  // override default cursor by user
-  // cursor can be changed by spefying a new cursor in config file
-  this.cursor = "crosshair";
-
   /**
-   * The action to do on click
-   * @param objRef      Pointer to this object.
-   * @param targetNode  The node for the enclosing HTML tag for this widget.
+   * Interactive ZoomOut control.
+   * @param objRef reference to this object.
+   * @return {OpenLayers.Control} class of the OL control.
    */
-  this.doAction = function(objRef,targetNode) {
-    //does nothing for the moment
+  this.createControl = function(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      CLASS_NAME: 'mbControl.SetAoi',
+      type: OpenLayers.Control.TYPE_TOOL,
+
+      draw: function() {
+        this.handler = new OpenLayers.Handler.Box( this,
+              {done: this.aoiBox}, {keyMask: this.keyMask} );
+      },
+
+      aoiBox: function (position) {
+        if (position instanceof OpenLayers.Bounds) {
+          var minXY = this.map.getLonLatFromPixel(
+               new OpenLayers.Pixel(position.left, position.bottom));
+          var maxXY = this.map.getLonLatFromPixel(
+               new OpenLayers.Pixel(position.right, position.top));
+          var bounds = new OpenLayers.Bounds(minXY.lon, minXY.lat,
+               maxXY.lon, maxXY.lat);
+          var bboxOL = bounds.toBBOX().split(',');
+          var ul = new Array(bboxOL[0],bboxOL[3]);
+          var lr = new Array(bboxOL[2],bboxOL[1]);
+          objRef.targetContext.setParam("aoi", new Array(ul, lr));
+          objRef.drawAoiBox(objRef);
+        }
+      }
+    });
+ 
+    // adds a listener to the context to clear the AOI box when AOI changes
+    this.targetContext.addListener('aoi', this.clearAoiBox, this);
+
+    return Control;
   }
 
-  if (this.mouseHandler) {
-    this.mouseHandler.model.addListener('mouseup',this.doAction,this);
+  /**
+   * Draws a bounding box around the current AOI.
+   * @param objRef reference to this widget
+   */
+  this.drawAoiBox = function(objRef) {
+    var ext = objRef.targetContext.getParam('aoi');
+    var bounds = new OpenLayers.Bounds(ext[0][0], ext[1][1], ext[1][0], ext[0][1]);
+    objRef.targetContext.aoiBoxLayer = new OpenLayers.Layer.Boxes('Boxes');
+    objRef.targetContext.map.addLayer(objRef.targetContext.aoiBoxLayer);
+    var box = new OpenLayers.Marker.Box(bounds);
+    objRef.targetContext.aoiBoxLayer.addMarker(box);
   }
-}
-
+  
+  /**
+   * Clears the AOI box.
+   * @param objRef reference to this widget
+   */
+  this.clearAoiBox = function(objRef) {
+    if (objRef.targetContext.aoiBoxLayer) {
+      objRef.targetContext.aoiBoxLayer.destroy();
+    }  
+  }
+}
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/widget/Abstract.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Abstract.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Abstract.xsl	(revision 4307)
@@ -1,60 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0" xmlns:wmc="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" >
-<!--
-Description: Output the context title and abstract
-Author:      Mike Adair mike.adairATnrcan.gc.ca
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-Abstract.xsl,v 1.5 2004/06/25 17:59:38 madair1 Exp
-
--->
-  <xsl:output method="xml" encoding="utf-8"/>
-  
-  <!-- The common params set for all widgets -->
-  <xsl:param name="lang">en</xsl:param>
-  <xsl:param name="widgetNode"/>
-  
-  <!-- Text params for this widget -->
-  <xsl:param name="abstract"/>
-  <xsl:param name="moreInfo"/>
-  
-  <xsl:template match="/">
-    <xsl:apply-templates select="wmc:ViewContext/wmc:General"/>
-    <xsl:apply-templates select="wmc:OWSContext/wmc:General"/>
-  </xsl:template>
-
-  
-  <!-- Main html -->
-  <xsl:template match="wmc:General">
-    <xsl:param name="metadataUrl">
-      <xsl:value-of select="wmc:DescriptionURL/wmc:OnlineResource/@xlink:href"/>
-    </xsl:param>
-    <xsl:param name="logoUrl">
-      <xsl:value-of select="wmc:LogoURL/wmc:OnlineResource/@xlink:href"/>
-    </xsl:param>
-    <div>
-      <h3><xsl:value-of select="$abstract"/></h3>
-      <xsl:if test="$logoUrl">
-        <div style="float:right"><img src='{$logoUrl}' alt='{$logoUrl}'/></div>
-      </xsl:if>
-      <p>
-        <xsl:choose>
-          <xsl:when test="wmc:Abstract/@xml:lang">              
-            <xsl:value-of select="wmc:Abstract[@xml:lang=$lang]"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:value-of select="wmc:Abstract"/>
-          </xsl:otherwise>
-        </xsl:choose>
-        <!--br/><xsl:value-of select="{$widgetNode}/stylesheet"/-->
-      </p>
-      <p>
-        <a href='{$metadataUrl}' title='{$metadataUrl}' target="moreInfo"><xsl:value-of select="$moreInfo"/></a>
-      </p>
-    </div>
-  </xsl:template>
-
-  <xsl:template match="text()|@*"/>
-  
-
-</xsl:stylesheet>
-
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wmc="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="lang">en</xsl:param><xsl:param name="widgetNode"/><xsl:param name="abstract"/><xsl:param name="moreInfo"/><xsl:template match="/"><xsl:apply-templates select="wmc:ViewContext/wmc:General"/><xsl:apply-templates select="wmc:OWSContext/wmc:General"/></xsl:template><xsl:template match="wmc:General"><xsl:param name="metadataUrl" select="wmc:DescriptionURL/wmc:OnlineResource/@xlink:href"/><xsl:param name="logoUrl" select="wmc:LogoURL/wmc:OnlineResource/@xlink:href"/><div><h3><xsl:value-of select="$abstract"/></h3><xsl:if test="$logoUrl"><div style="float:right"><img src="{$logoUrl}" alt="{$logoUrl}"/></div></xsl:if><p><xsl:choose><xsl:when test="wmc:Abstract/@xml:lang"><xsl:value-of select="wmc:Abstract[@xml:lang=$lang]"/></xsl:when><xsl:otherwise><xsl:value-of select="wmc:Abstract"/></xsl:otherwise></xsl:choose></p><p><a href="{$metadataUrl}" title="{$metadataUrl}" target="moreInfo"><xsl:value-of select="$moreInfo"/></a></p></div></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/ModelUrlInput.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/ModelUrlInput.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/ModelUrlInput.js	(revision 4307)
@@ -2,11 +2,11 @@
 Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
 License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: ModelUrlInput.js 3879 2008-02-27 14:20:29Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
-mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
 
 /**
  * Widget to display the a form to input any model's URL and load the new URL 
@@ -21,6 +21,9 @@
 function ModelUrlInput(widgetNode, model) {
   WidgetBaseXSL.apply(this,new Array(widgetNode, model));
 
+  //a default value to be used in the form
+  this.defaultUrl = this.getProperty("mb:defaultUrl");
+
   /**
    * Handles submission of the form (via javascript in an <a> tag)
    */
@@ -34,7 +37,7 @@
         httpPayload.method = httpMethod[i].value;
         if (httpPayload.method.toLowerCase() == "post") {
           httpPayload.postData = null; //TBD get this from somewhere? or not allow post?
-          if (this.debug) alert("postData:"+httpPayload.postData.xml);
+          mbDebugMessage(this, "postData:"+httpPayload.postData.xml);
         } else {
           httpPayload.postData = null;
         }
@@ -75,6 +78,8 @@
    */
   this.prePaint = function(objRef) {
     objRef.stylesheet.setParameter("modelTitle", objRef.targetModel.title);
+    if (!objRef.defaultUrl) objRef.defaultUrl = objRef.targetModel.url;
+    objRef.stylesheet.setParameter("defaultUrl", objRef.defaultUrl);
   }
 
   /**
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/framedCloud.css
===================================================================
--- lib/spatial/mapbuilder/lib/skin/default/openlayers/framedCloud.css	(nonexistent)
+++ lib/spatial/mapbuilder/lib/skin/default/openlayers/framedCloud.css	(revision 4307)
@@ -0,0 +1,5 @@
+
+.olFramedCloudPopupContent {
+    padding: 5px;
+    overflow: auto;
+}
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/view_previous_off.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/view_previous_off.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/widget/GmlRendererBase.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/GmlRendererBase.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/GmlRendererBase.js	(revision 4307)
@@ -0,0 +1,59 @@
+/*
+Author:       Andreas Hocevar andreas.hocevarATgmail.com
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: GmlRendererBase.js 3887 2008-02-27 18:18:53Z ahocevar $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+
+/**
+ * Render GML into HTML.
+ * this.targetModel references the context model for the map
+ * where the content of this widget should be rendered to.
+ * If the model doc is not wfs compliant, a stylesheet
+ * property has to be set for this widget. The xsl file
+ * referenced in this property transforms the model doc to
+ * a wfs FeatureCollection.
+ * @constructor
+ * @base WidgetBase
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function GmlRendererBase(widgetNode, model) {
+  WidgetBase.apply(this,new Array(widgetNode, model));
+  
+  // set the feature srs.
+  /** SRS of the features that this widget will render */
+  this.featureSRS = this.getProperty('mb:featureSRS');
+  
+  // set the hover cursor.
+  /** css cursor when hovering over features */
+  this.hoverCursorNode = this.getProperty('mb:hoverCursor', 'pointer');
+
+  /** model holding the sld for feature styles of this widget */
+  this.sldModelNode = widgetNode.selectSingleNode('mb:sldModel');
+
+  // set the default style.
+  /** sld node within the sld model that is used for default styling */
+  this.defaultStyleName = this.getProperty('mb:defaultStyleName', 'default');
+  
+  // set the select style
+  /** sld node within the sld model that is used when a feature is hovered */
+  this.selectStyleName = this.getProperty('mb:selectStyleName', 'selected');
+
+  /**
+   * config object holding all configurations that might be different
+   * among source models (if a MergeModel with multiple GmlRendererConfig
+   * widgets is used).
+   */
+  this.config = new Object({
+        model: model,
+        hoverCursor: this.hoverCursor,
+        sldModelNode: this.sldModelNode,
+        defaultStyleName: this.defaultStyleName,
+        selectStyleName: this.selectStyleName,
+        featureSRS: this.featureSRS
+  });
+}
Index: lib/spatial/mapbuilder/lib/widget/FeatureInfo.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/FeatureInfo.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/FeatureInfo.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: FeatureInfo.js 3091 2007-08-09 12:21:54Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -9,7 +9,7 @@
 /**
  * Functions to render and update a FeatureInfoResponse from GML.
  * @constructor
- * @base WidgetBase
+ * @base WidgetBaseXSL
  * @author Steven Ottens AT geodan nl
  * @param widgetNode  The widget's XML object node from the configuration document.
  * @param model       The model object that this widget belongs to.
Index: lib/spatial/mapbuilder/lib/widget/Version.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Version.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Version.xsl	(revision 4307)
@@ -1,36 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0"
-xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-<!--
-Description: Displays the mapbuilder version.
-Author:      Cameron Shorter
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-$Id$
-$Name$
--->
-
-  <xsl:output method="xml" encoding="utf-8"/>
-
-  <xsl:param name="version">$Name$</xsl:param>
-  <xsl:param name="version1" select="substring-after($version,'mapbuilder-lib-')"/>
-  <xsl:param name="version2" select="normalize-space(substring-before($version1,'$'))"/>
-
-  <!-- Main html -->
-  <xsl:template match="/">
-    <div>
-      <xsl:choose>
-        <xsl:when test="$version2">              
-          <xsl:value-of select="$version2"/>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:text>CVS Head</xsl:text>
-        </xsl:otherwise>
-      </xsl:choose>
-    </div>
-  </xsl:template>
-  
-  <xsl:template match="text()|@*"/>
-</xsl:stylesheet>
-
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:template match="/"><div>1.5-rc2</div></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/CursorTrack.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/CursorTrack.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/CursorTrack.xsl	(revision 4307)
@@ -1,73 +1,17 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/><xsl:param name="lang">en</xsl:param><xsl:param name="longitude">lon:</xsl:param><xsl:param name="latitude">lat:</xsl:param><xsl:param name="xcoord">x:</xsl:param><xsl:param name="ycoord">y:</xsl:param><xsl:param name="showXY">false</xsl:param><xsl:param name="showDMS">false</xsl:param><xsl:param name="showDM">false</xsl:param><xsl:param name="showMGRS">false</xsl:param><xsl:param name="showPx">false</xsl:param><xsl:param name="showLatLong">true</xsl:param><xsl:param name="formName"/><xsl:template match="/"><div><form name="{$formName}" id="{$formName}"><xsl:if test="$showXY='true'"><xsl:value-of select="$xcoord"/><input name="x" type="text" size="8" readonly="readonly"/><xsl:value-of select="$ycoord"/><input name="y" type="text" size="8" readonly="readonly"/></xsl:if><xsl:if test="$showPx='true'"><xsl:value-of select="$xcoord"/><input name="px" type="text" size="8" readonly="readonly"/><xsl:value-of select="$ycoord"/><input name="py" type="text" size="8" readonly="readonly"/></xsl:if><xsl:if test="$showDMS='true'"><xsl:value-of select="$longitude"/><input name="longdeg" type="text" size="3" readonly="readonly"/>°
+          <input name="longmin" type="text" size="2" readonly="readonly"/>'
+          <input name="longsec" type="text" size="2" readonly="readonly"/>"
+          <input name="longH" type="text" size="1" readonly="readonly"/> 
 
-<!--
-Description: Output a form for display of the cursor coordinates
-Author:      Mike Adair
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+          <xsl:value-of select="$latitude"/><input name="latdeg" type="text" size="2" readonly="readonly"/>°
+          <input name="latmin" type="text" size="2" readonly="readonly"/>'
+          <input name="latsec" type="text" size="2" readonly="readonly"/>"
+          <input name="latH" type="text" size="1" readonly="readonly"/></xsl:if><xsl:if test="$showDM='true'"><xsl:value-of select="$longitude"/><input name="longDMdeg" type="text" size="3" readonly="readonly"/>°
+          <input name="longDMmin" type="text" size="6" readonly="readonly"/>'
+          <input name="longDMH" type="text" size="1" readonly="readonly"/> 
 
-$Id$
--->
-
-  <xsl:output method="xml" encoding="utf-8"/>
-
-  <!-- The common params set for all widgets -->
-  <xsl:param name="lang">en</xsl:param>
-  
-  <!-- text value params -->
-  <xsl:param name="longitude">lon: </xsl:param>
-  <xsl:param name="latitude">lat: </xsl:param>
-  <xsl:param name="xcoord">x:</xsl:param>
-  <xsl:param name="ycoord">y:</xsl:param>
-  <xsl:param name="showXY">false</xsl:param>
-  <xsl:param name="showDMS">false</xsl:param>
-  <xsl:param name="showMGRS">false</xsl:param>
-  <xsl:param name="showPx">false</xsl:param>
-  <xsl:param name="showLatLong">true</xsl:param>
-  
-  <!-- The name of the form for coordinate output -->
-  <xsl:param name="formName"/>
-
-  <!-- Main html -->
-  <xsl:template match="/">
-    <div>
-    <form name="{$formName}" id="{$formName}">
-      
-        <xsl:if test="$showXY='true'">
-          <xsl:value-of select="$xcoord"/> <input name="x" type="text" size="8" readonly="readonly"/>
-          <xsl:value-of select="$ycoord"/> <input name="y" type="text" size="8" readonly="readonly"/>
-        </xsl:if>
-        
-        <xsl:if test="$showPx='true'">
-          <xsl:value-of select="$xcoord"/> <input name="px" type="text" size="8" readonly="readonly"/>
-          <xsl:value-of select="$ycoord"/> <input name="py" type="text" size="8" readonly="readonly"/>
-        </xsl:if>
-        
-        <xsl:if test="$showDMS='true'">
-          <xsl:value-of select="$latitude"/> 
-           <input name="latdeg" type="text" size="2" readonly="readonly"/>&#176;
-           <input name="latmin" type="text" size="2" readonly="readonly"/>&quot;
-           <input name="latsec" type="text" size="2" readonly="readonly"/>&apos;
-           <input name="latH" type="text" size="1" readonly="readonly"/>
-           <br/>
-          <xsl:value-of select="$longitude"/> 
-          <input name="longdeg" type="text" size="3" readonly="readonly"/>&#176;
-          <input name="longmin" type="text" size="2" readonly="readonly"/>&quot;
-          <input name="longsec" type="text" size="2" readonly="readonly"/>&apos;
-          <input name="longH" type="text" size="1" readonly="readonly"/>&#8195;
-         </xsl:if>
-
-        <xsl:if test="$showLatLong='true'">
-          <xsl:value-of select="$latitude"/> <input name="latitude" type="text" size="8" readonly="readonly"/>
-          <xsl:value-of select="$longitude"/> <input name="longitude" type="text" size="8" readonly="readonly"/>
-        </xsl:if>
- 
-        <xsl:if test="$showMGRS='true'">
-          MGRS: <input name="mgrs" type="text" size="14" readonly="readonly"/>
-        </xsl:if>
-     
-    </form>
-    </div>
-  </xsl:template>
-
-</xsl:stylesheet>
+          <xsl:value-of select="$latitude"/><input name="latDMdeg" type="text" size="2" readonly="readonly"/>°
+          <input name="latDMmin" type="text" size="6" readonly="readonly"/>'
+          <input name="latDMH" type="text" size="1" readonly="readonly"/></xsl:if><xsl:if test="$showLatLong='true'"><xsl:value-of select="$longitude"/><input name="longitude" type="text" size="8" readonly="readonly"/><xsl:value-of select="$latitude"/><input name="latitude" type="text" size="8" readonly="readonly"/></xsl:if><xsl:if test="$showMGRS='true'">
+          MGRS: <input name="mgrs" type="text" size="14" readonly="readonly"/></xsl:if></form></div></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/GetFeatureInfoWSR.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/GetFeatureInfoWSR.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/GetFeatureInfoWSR.js	(revision 4307)
@@ -0,0 +1,106 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+Dependancies: Context
+$Id: GetFeatureInfoWSR.js 3887 2008-02-27 18:18:53Z ahocevar $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+/**
+ * Implements GetFeatureInfo functionality, using the WebServiceRequest
+ * tool. This will work with the WMS:GetFeatureInfo request as well as
+ * with WFS:GetFeature. This widget can be used as an example on how to
+ * write widgets that use the WebServiceRequest functionality.
+ * @constructor
+ * @base ButtonBase
+ * @author adair
+ * @constructor
+ * @param widgetNode The XML node in the Config file referencing this object.
+ * @param model The widget object which this widget is associated with.
+ */
+function GetFeatureInfoWSR(widgetNode, model) {
+  // Extend ButtonBase
+  ButtonBase.apply(this, new Array(widgetNode, model));
+  
+  /** WebServiceRequest controller for this widget */
+  this.controller = this.getProperty("mb:controller");
+  
+  /**
+   * tolerance in pixels around the click point for WFS:GetFeature
+   * default is 3
+   */
+  this.tolerance = parseFloat(this.getProperty("mb:tolerance", 3));
+  
+  /**
+   * GetFeatureInfoWSR control
+   * @param objRef reference to this object.
+   * @return {OpenLayers.Control} class of the OL control.
+   */
+  this.createControl = function(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      CLASS_NAME: 'mbControl.GetFeatureInfoWSR',
+      type: OpenLayers.Control.TYPE_TOOL
+    });
+    return Control;
+  }
+  
+  /**
+   * Register click event when button is selected, unregister it when
+   * unselected
+   * @param objRef reference to this widget
+   * @param selected true if button is selected, false otherwise
+   */
+  this.doSelect = function(objRef, selected) {
+    if (selected) {
+      objRef.targetModel.map.events.register('click', objRef, objRef.doOnClick);  
+    } else {
+      objRef.targetModel.map.events.unregister('click', objRef, objRef.doOnClick);  
+    }
+  }
+  
+  /**
+   * For GetFeatureInfo, we want to check for queryable layers and only use
+   * those.
+   * @param e OpenLayers click event
+   */
+  this.doOnClick = function(e) {
+    objRef = this;
+    if (!objRef.enabled) return;
+    var controller = config.objects[objRef.controller];
+    var layerNameList = new Array();
+    var selectedLayer=objRef.targetModel.getParam("selectedLayer");
+    var queryList;
+    if (!selectedLayer) {
+      queryList = objRef.targetModel.getQueryableLayers();
+      if (queryList.length==0) {
+         alert(mbGetMessage("noQueryableLayers"));
+         return;
+      }
+    } else {
+      queryList = [objRef.targetModel.getLayer(selectedLayer)];
+    }
+    
+    var llPx = e.xy.add(-objRef.tolerance, objRef.tolerance);
+    var urPx = e.xy.add(objRef.tolerance, -objRef.tolerance);
+    
+    var ll = objRef.targetModel.map.getLonLatFromPixel(llPx);
+    var ur = objRef.targetModel.map.getLonLatFromPixel(urPx);
+    
+    for (var i=0; i<queryList.length; ++i) {
+      var layerNode = queryList[i];
+
+      // Get the name of the layer
+      var layerName = Mapbuilder.getProperty(layerNode, "wmc:Name", "");
+
+      var hidden = objRef.targetModel.getHidden(layerName);
+      if (hidden == 0) { //query only visible layers
+        controller.requestStylesheet.setParameter("bBoxMinX", ll.lon);
+        controller.requestStylesheet.setParameter("bBoxMinY", ll.lat);
+        controller.requestStylesheet.setParameter("bBoxMaxX", ur.lon);
+        controller.requestStylesheet.setParameter("bBoxMaxY", ur.lat);
+        controller.requestStylesheet.setParameter("queryLayer", layerName);
+        objRef.targetModel.setParam(controller.requestName.replace(/:/,"_"), layerName);
+      }
+    }
+  }
+}
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/style.css
===================================================================
--- lib/spatial/mapbuilder/lib/skin/default/openlayers/style.css	(nonexistent)
+++ lib/spatial/mapbuilder/lib/skin/default/openlayers/style.css	(revision 4307)
@@ -0,0 +1,246 @@
+div.olLayerDiv {
+   -moz-user-select: none 
+}
+
+.olLayerGoogleCopyright {
+    left: 2px;
+    bottom: 2px;  
+}
+.olLayerGooglePoweredBy {
+    left: 2px;
+    bottom: 15px;   
+}
+.olControlAttribution {
+    font-size: smaller; 
+    right: 3px; 
+    bottom: 4.5em; 
+    position: absolute; 
+    display: block;
+}
+.olControlScale {
+    right: 3px;
+    bottom: 3em;
+    display: block;
+    position: absolute;
+    font-size: smaller;
+}
+.olControlScaleLine {
+   left: 10px;
+   bottom: 15px;
+   font-size: xx-small;
+}
+.olControlScaleLineBottom {
+   border: solid 2px black;
+   border-bottom: none;
+   margin-top:-2px;
+   text-align: center;
+}
+.olControlScaleLineTop {
+   border: solid 2px black;
+   border-top: none;
+   text-align: center;
+}
+
+.olControlPermalink {
+    right: 3px;
+    bottom: 1.5em;
+    display: block;
+    position: absolute;
+    font-size: smaller;
+} 
+
+div.olControlMousePosition {
+    bottom: 0em;
+    right: 3px;
+    display: block;
+    position: absolute;
+    font-family: Arial;
+    font-size: smaller;
+}
+
+.olControlOverviewMapContainer {
+    position: absolute;
+    bottom: 0px;
+    right: 0px;
+}
+
+.olControlOverviewMapElement {
+    padding: 10px 18px 10px 10px;
+    background-color: #00008B;
+    -moz-border-radius: 1em 0 0 0;
+}
+
+.olControlOverviewMapMinimizeButton {
+    right: 0px;
+    bottom: 80px;
+}    
+
+.olControlOverviewMapMaximizeButton {
+    right: 0px;
+    bottom: 80px;
+}
+
+.olControlOverviewMapExtentRectangle {
+    overflow: hidden;
+    background-image: url("img/blank.gif");
+    cursor: move;
+    border: 2px dotted red;
+}
+.olControlOverviewMapRectReplacement {
+    overflow: hidden;
+    cursor: move;
+    background-image: url("img/overview_replacement.gif");
+    background-repeat: no-repeat;
+    background-position: center;
+}
+
+.olLayerGeoRSSDescription {
+    float:left;
+    width:100%;
+    overflow:auto;
+    font-size:1.0em;
+}
+.olLayerGeoRSSClose {
+    float:right;
+    color:gray;
+    font-size:1.2em;
+    margin-right:6px;
+    font-family:sans-serif;
+}
+.olLayerGeoRSSTitle {
+    float:left;font-size:1.2em;
+}
+
+.olPopupContent {
+    padding:5px;
+    overflow: auto;
+}    
+.olControlNavToolbar { 
+    width:0px;
+    height:0px;
+}    
+.olControlNavToolbar div { 
+  display:block;
+  width:  28px;
+  height: 28px;
+  top: 300px;
+  left: 6px;
+  position: relative;
+}
+
+.olControlNavigationHistoryPreviousItemActive { 
+   background-image: url("img/view_previous_on.png");
+   background-repeat: no-repeat;
+   width:  24px;
+   height: 24px;
+}
+.olControlNavigationHistoryPreviousItemInactive { 
+   background-image: url("img/view_previous_off.png");
+   background-repeat: no-repeat;
+   width:  24px;
+   height: 24px;
+}
+.olControlNavigationHistoryNextItemActive { 
+   background-image: url("img/view_next_on.png");
+   background-repeat: no-repeat;
+   width:  24px;
+   height: 24px;
+}
+.olControlNavigationHistoryNextItemInactive { 
+   background-image: url("img/view_next_off.png");
+   background-repeat: no-repeat;
+   width:  24px;
+   height: 24px;
+}
+
+.olControlNavToolbar .olControlNavigationItemActive { 
+  background-image: url("img/panning-hand-on.png");
+  background-repeat: no-repeat;
+}
+.olControlNavToolbar .olControlNavigationItemInactive { 
+  background-image: url("img/panning-hand-off.png");
+  background-repeat: no-repeat;
+}
+.olControlNavToolbar .olControlZoomBoxItemActive { 
+  background-image: url("img/drag-rectangle-on.png");
+  background-color: orange;
+  background-repeat: no-repeat;
+}
+.olControlNavToolbar .olControlZoomBoxItemInactive { 
+  background-image: url("img/drag-rectangle-off.png");
+  background-repeat: no-repeat;
+}
+.olControlEditingToolbar  {
+    float:right;
+    right: 0px;
+    height: 30px; 
+    width: 200px;
+}
+.olControlEditingToolbar div { 
+  float:right;
+  width:  24px;
+  height: 24px;
+  margin: 5px;
+}
+.olControlEditingToolbar .olControlNavigationItemActive { 
+  background-image: url("img/editing_tool_bar.png");
+  background-repeat: no-repeat;
+  background-position: -103px -23px; 
+}
+.olControlEditingToolbar .olControlNavigationItemInactive { 
+  background-image: url("img/editing_tool_bar.png");
+  background-repeat: no-repeat;
+  background-position: -103px -0px; 
+}
+.olControlEditingToolbar .olControlDrawFeaturePointItemActive { 
+  background-image: url("img/editing_tool_bar.png");
+  background-repeat: no-repeat;
+  background-position: -77px -23px; 
+}
+.olControlEditingToolbar .olControlDrawFeaturePointItemInactive { 
+  background-image: url("img/editing_tool_bar.png");
+  background-repeat: no-repeat;
+  background-position: -77px -0px; 
+}
+.olControlEditingToolbar .olControlDrawFeaturePathItemInactive { 
+  background-image: url("img/editing_tool_bar.png");
+  background-repeat: no-repeat;
+  background-position: -51px 0px; 
+}
+.olControlEditingToolbar .olControlDrawFeaturePathItemActive { 
+  background-image: url("img/editing_tool_bar.png");
+  background-repeat: no-repeat;
+  background-position: -51px -23px; 
+}
+.olControlEditingToolbar .olControlDrawFeaturePolygonItemInactive { 
+  background-image: url("img/editing_tool_bar.png");
+  background-repeat: no-repeat;
+  background-position: -26px 0px; 
+}
+.olControlEditingToolbar .olControlDrawFeaturePolygonItemActive { 
+  background-image: url("img/editing_tool_bar.png");
+  background-repeat: no-repeat;
+  background-position: -26px -23px ;                                                                   
+}
+
+.olHandlerBoxZoomBox {
+    border: 2px solid red;
+    position: absolute;
+    background-color: white;
+    opacity: 0.50;
+    font-size: 1px;
+    filter: alpha(opacity=50);
+}   
+
+/* 
+ * Due to current limitations in the OpenLayers code, you can only
+ * replace this image with another image which is 17px x 17px. 
+ */   
+.olPopupCloseBox {
+  background: url("img/close.gif") no-repeat;
+  cursor: pointer;
+}
+
+.olControlNoSelect {
+ -moz-user-select: none;
+}
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/draw_polygon_off.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/draw_polygon_off.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/widget/ButtonBase.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/ButtonBase.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/ButtonBase.js	(revision 4307)
@@ -1,72 +1,116 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: ButtonBase.js 3879 2008-02-27 14:20:29Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
-mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+mapbuilder.loadScript(baseDir+"/util/Util.js");
+mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
 
 /**
- * Abstract base Button object that all Buttons extend.  
+ * Abstract base button object that all Buttons extend.  
  * A Button is a widget which renders an image and an optional second image 
  * for the enabled state.
  * @constructor
  * @base WidgetBase
  * @author Mike Adair mike.adairATccrs.nrcan.gc.ca
- * @param button Pointer to the button instance being created.
  * @param widgetNode The tool node from the Config XML file.
  * @param model The parent model object (optional).
  */
 function ButtonBase(widgetNode, model) {
+  WidgetBase.apply(this, new Array(widgetNode, model));
 
-  //stylesheet is fixed to this one
-  this.stylesheet = new XslProcessor(baseDir+"/widget/Button.xsl");
-  var buttonBarNode = widgetNode.selectSingleNode("mb:buttonBar");
-  if ( buttonBarNode ) {
-    this.htmlTagId = buttonBarNode.firstChild.nodeValue;
-  } else {
-    alert("buttonBar property required for object:" + widgetNode.nodeName );
+  this.htmlTagId = this.getProperty("mb:buttonBar");
+  if (!this.htmlTagId) {
+    this.htmlTagId = this.getProperty("mb:htmlTagId");
+  }    
+  if (!this.htmlTagId) {
+    alert(mbGetMessage("buttonBarRequired", widgetNode.nodeName));
   }
+  // Set button text values as parameters
+  if (config.widgetText) {
+    var textNodeXpath = "/mb:WidgetText/mb:widgets/mb:" + widgetNode.nodeName;
+    var textParams = config.widgetText.selectNodes(textNodeXpath+"/*");
+    for (var j=0;j<textParams.length;j++) {
+      this[textParams[j].nodeName]=getNodeValue(textParams[j]);
+    }
+  }
+  // html tag id of the div where OL places its panel code
+  this.panelHtmlTagId = this.htmlTagId+'_panel';
 
-  WidgetBaseXSL.apply(this, new Array(widgetNode, model));
+  // load controlPanel.css for button base styles
+  loadCss('controlPanel.css');
 
   //set the button type
-  this.buttonType = widgetNode.selectSingleNode("mb:class").firstChild.nodeValue;
-  if (this.buttonType == "RadioButton") this.enabled = false;
+  this.buttonType = this.getProperty("mb:class")
+  this.buttonType = this.buttonType ? this.buttonType.toUpperCase() : null;
+  if (this.buttonType == "RADIOBUTTON") this.enabled = false;
+  
+  // map between MB and OL button types
+  this.olButtonType = {
+      "RADIOBUTTON" : OpenLayers.Control.TYPE_TOOL,
+      "TOOL"        : OpenLayers.Control.TYPE_TOOL,
+      "BUTTON"      : OpenLayers.Control.TYPE_BUTTON,
+      "TOGGLE"      : OpenLayers.Control.TYPE_TOGGLE
+  }
 
+  //set the button action
+  this.action = this.getProperty("mb:action");
+  
+  // set the button tooltip
+  var tooltip = this.getProperty("mb:tooltip");
+  if (tooltip) {
+    this.tooltip = tooltip;
+  }
+
   //pre-load the button bar images; add them to the config
-  var disabledImage = widgetNode.selectSingleNode("mb:disabledSrc");
+  var disabledImage = this.getProperty("mb:disabledSrc");
   if (disabledImage) {
-    this.disabledImage = document.createElement("img");
-    this.disabledImage.src = config.skinDir + disabledImage.firstChild.nodeValue;
+    this.disabledImage = config.skinDir + disabledImage;
   }
 
   //optional second image to be displayed in the enabled state
-  var enabledImage = widgetNode.selectSingleNode("mb:enabledSrc");
+  var enabledImage = this.getProperty("mb:enabledSrc");
   if (enabledImage) {
-    this.enabledImage = document.createElement("img");
-    this.enabledImage.src = config.skinDir + enabledImage.firstChild.nodeValue;
+    this.enabledImage = config.skinDir + enabledImage;
   }
-  
+
+  this.cursor = 'default';
+
   // Check for cursor override
-  var cursorNode = this.widgetNode.selectSingleNode("mb:cursor");
-  if( cursorNode != null ) {
-    var cursor = cursorNode.firstChild.nodeValue;
-    this.cursor = cursor;
-  } else {
-    this.cursor = "default"; // Adding support for customized cursors
-  }
+  this.cursor = this.getProperty("mb:cursor");
 
+  //a button may be set as selected in the config file
+  this.selected = Mapbuilder.parseBoolean(this.getProperty("mb:selected", false));
+
   /**
-   * Override of widgetBase prePaint to set the doc to be styled as the widget
-   * node in config for this button.
-   * @param objRef Pointer to this object.
+   * Gets the css classname for this button. We use this
+   * to define the button styles.
+   * @param objRef Reference to this object.
+   * @param state 'Active' or 'Inactive' (case sensitive!)
    */
-  this.prePaint = function(objRef) {
-    objRef.resultDoc = objRef.widgetNode;
+  this.getButtonClass = function(objRef, state) {
+    var cssName;
+    if (objRef.control.displayClass) {
+      cssName = objRef.control.displayClass;
+    } else {
+      cssName = objRef.control.CLASS_NAME;
+      cssName = cssName.replace(/OpenLayers/, 'ol').replace(/\./g, '');
+    }
+    cssName += 'Item';
+    return '.' + cssName + state;
   }
 
   /**
+   * OpenLayers control for this button.
+   * This will be filled with the instance of the control
+   * by the attachToOL method.
+   */
+  this.control = null;
+
+  //TBD This is never called, but I think we can drop it
+  // if we get rid of MB mouse handlers
+  /**
    * Override this in buttons which inherit from this object to carry out the action.
    * This is the function that will be called either when the button is selected
    * via the select() method or on a mouseup event if there is an associated 
@@ -75,83 +119,200 @@
   this.doAction = function() {}
 
   /**
-   * Called when a user clicks on a this.  Switches the image to the enabled 
-   * button source, enables and disables associated tools, then calls the 
-   * doSelect method defined in derived classes.
+   * Select this button. Enables and disables associated tools,
+   * then the control.trigger()/activate() methods make OL call
+   * the doSelect method defined in derived classes.
    */
   this.select = function() {
-  
-    // Add support to change cursors in the map area based on:
-    // either user selected cursor in config file using <cursor> tag
-    // or default tool cursor as defined in constructor   
-    var a = document.getElementById("mainMapContainer");
-    if( a != null ) {
-      // default or user selected cursor
-      a.style.cursor = this.cursor;
-    }  
-       
-    if (this.buttonType == "RadioButton") {
-      if (this.node.selectedRadioButton) {
-        with (this.node.selectedRadioButton) {
-          if (disabledImage) image.src = disabledImage.src;
-          enabled = false;
-          if ( mouseHandler ) mouseHandler.enabled = false;
-          link.className = "mbButton";
-          doSelect(false,this);
-        }
-      }
-      this.node.selectedRadioButton = this;
-      if (this.enabledImage) this.image.src = this.enabledImage.src;
-      this.link.className = "mbButtonSelected";
+    if (this.control.type == OpenLayers.Control.TYPE_BUTTON) {
+      this.control.trigger();
+    } else {
+      this.panel.activateControl(this.control);
     }
-    
-    //enable this tool and any dependancies
-    this.enabled = true;
-    if ( this.mouseHandler ) this.mouseHandler.enabled = true;
-    this.doSelect(true,this);
   }
 
   /**
    * Method overriden by subclasses
+   * @param objRef Reference to this object.
    * @param selected True when selected, false when deselected.
-   * @param objRef Reference to this object.
    */
-  this.doSelect = function(selected, objRef) {
+  this.doSelect = function(objRef, selected) {
   }
-
-  //a button may be set as selected in the config file
-  var selected = widgetNode.selectSingleNode("mb:selected");
-  if (selected && selected.firstChild.nodeValue) this.selected = true;
-
+  
   /**
-   * A listener method to initialize the mouse handler, if configured.  This is
-   * called as an init event so that the object pointed to is guaranteed to 
-   * be instantiated.
+   * Attaches the control for this button to OpenLayers
+   * and add it to the buttonBar. When this method is called,
+   * everything of the OL map is available.
+   * @param {OpenLayers.Control} control to add.
    * @param objRef Reference to this object.
    */
-  this.initMouseHandler = function(objRef) {
-    /** Mouse handler which this tool will register listeners with. */
-    var mouseHandler = objRef.widgetNode.selectSingleNode("mb:mouseHandler");
-    if (mouseHandler) {
-      objRef.mouseHandler = eval("config.objects." + mouseHandler.firstChild.nodeValue);
-      if (!objRef.mouseHandler) {
-        alert("error finding mouseHandler:"+mouseHandler.firstChild.nodeValue+" for button:"+objRef.id);
+  this.attachToOL = function(objRef,refreshId) {
+    if (objRef.control) {
+      return;
+    }
+  
+    //pass in a widget ID to refresh only that widget
+    if (refreshId && (refreshId!=objRef.id)) return;
+    
+    // nothing to do here if subclass does not have a
+    // createControl method
+    if (!objRef.createControl) return;
+
+    // override the control from the subclass to add
+    // MB-stuff to the activate and deactivate methods
+    var SubclassControl = objRef.createControl(objRef);
+    var type = objRef.olButtonType[objRef.buttonType] ||
+        SubclassControl.prototype.type;
+        
+    var Control = OpenLayers.Class( SubclassControl, {
+      objRef: objRef,
+      type: type,
+      superclass: SubclassControl.prototype,
+      // call objRef.doSelect after OL activate from this control
+      trigger: function() {
+        if(this.superclass.trigger) {
+          this.superclass.trigger.call(this);
+        }
+        objRef.doSelect(objRef, true);
+      },
+      activate: function() {
+        if (this.superclass.activate.call(this)) {
+          this.panel_div.style.backgroundImage = "url(\""+objRef.enabledImage+"\")";
+      	  this.map.div.style.cursor = objRef.cursor;
+      	  // store the cursor with the map object; this will be applied
+      	  // to the map div again when setting the aoi on the
+      	  // OpenLayers moveend event
+      	  this.map.mbCursor = objRef.cursor;
+          objRef.enabled = true;
+          this.active = true;
+          objRef.doSelect(objRef, true);
+        }
+      },
+      // call objRef.doSelect after OL deactivate from this control
+      deactivate: function() {
+        if (this.superclass.deactivate.call(this)) {
+          this.panel_div.style.backgroundImage = "url(\""+objRef.disabledImage+"\")";
+          objRef.enabled = false;
+          this.active = false;
+          if (map.getControlsBy("active", true).length == 0) {
+            this.map.div.style.cursor = "";
+            this.map.mbCursor = "";
+          }
+          objRef.doSelect(objRef, false)
+        }
+      },
+      destroy: function() {
+        try {
+          this.superclass.destroy.apply(this, arguments);
+        } catch(e) {
+          OpenLayers.Control.prototype.destroy.apply(this, arguments);
+        }
+        this.superclass = null;
+        OpenLayers.Event.stopObservingElement(this.panel_div);
+        this.objRef.panel.div.removeChild(this.panel_div);
+        this.objRef.control = null;
+        this.objRef = null;
+        this.panel_div = null;
+        this.div = null;
       }
-    } else {
-      objRef.mouseHandler = null;
+    });
+
+    // if the subclass provides an instantiateControl() method,
+    // use it for instantiation. If not, instantiate directly
+    if (!objRef.control) {
+      objRef.control = objRef.instantiateControl ? objRef.instantiateControl(objRef, Control) : new Control();
     }
+    
+    // get the control from the createControl method of the subclass
+    //objRef.control = objRef.createControl(objRef);
+    var map = objRef.targetContext.map;
+    objRef.panel = objRef.targetContext.buttonBars[objRef.htmlTagId];
+    // create a panel, if we do not have one yet for this buttonBar
+    // or if the old map.panel was destroyed
+    if (!objRef.panel || objRef.panel.map == null) {
+      // create a dom node for OL to use as panel
+      if (!document.getElementById(objRef.panelHtmlTagId)) {
+        var olPanelNode = document.createElement('div');
+        olPanelNode.setAttribute('id', objRef.panelHtmlTagId);
+        olPanelNode.setAttribute('class', 'olControlPanel');
+        var parentNode = objRef.getNode();
+        parentNode.appendChild(olPanelNode);
+        parentNode.innerHTML += " ";
+      }
+      var Panel = OpenLayers.Class( OpenLayers.Control.Panel, {
+        div: document.getElementById(objRef.panelHtmlTagId),
+        defaultControl: null,
+        destroy: function() {
+          parentNode.removeChild(this.div);
+          OpenLayers.Control.prototype.destroy.apply(this, arguments);
+          this.div = null;
+          objRef.panel = null;
+        }
+      });
+      objRef.panel = new Panel();
+      objRef.targetContext.buttonBars[objRef.htmlTagId] = objRef.panel;
+      map.addControl(objRef.panel);
+    }
+    
+    // add the control to the panel
+    if (OpenLayers.Util.indexOf(objRef.control, objRef.panel.controls) == -1) {
+      // we do not want to stop event propagation. So we save the original
+      // Event.stop function...
+      var originalStop = OpenLayers.Event.stop;
+      // and overwrite it with a new one...
+      OpenLayers.Event.stop = function(){};
+      // now, thanks to boxing, this one will be assigned in addControls...
+      objRef.panel.addControls(objRef.control);
+      // and we can switch back to the original one.
+      OpenLayers.Event.stop = originalStop;
+    }
+     
+    // set tooltip for the button
+    if (objRef.tooltip) {
+      objRef.control.panel_div.title=objRef.tooltip;
+    }
+    
+    //set default css style properties
+    objRef.control.panel_div.style.backgroundImage = "url(\""+objRef.disabledImage+"\")";
+          
+    // activate the control if it is defined as selected in config
+    if(objRef.selected == true) {
+      objRef.control.activate();      
+    }    
   }
 
   /**
-   * Initialise image for the button and select it if required.
+   * Set the target context for the button, initialise the
+   * buttonBars array in the context document and add a
+   * listener to the target model for adding controls
+   * to the OL map as soon as the map is initialized.
    * @param objRef Reference to this object.
-   */
+   */  
   this.buttonInit = function(objRef) {
-    objRef.image = document.getElementById( objRef.id+"_image" );
-    objRef.link = document.getElementById( objRef.outputNodeId );
-    if (objRef.selected) objRef.select();
+     //set the target context
+    var targetContext = objRef.widgetNode.selectSingleNode("mb:targetContext");
+    if (targetContext) {
+      objRef.targetContext = window.config.objects[getNodeValue(targetContext)];
+      if ( !objRef.targetModel ) {
+        alert(mbGetMessage("noTargetContext", getNodeValue(targetContext), objRef.id));
+      }
+    } else {
+      objRef.targetContext = objRef.targetModel;
+    }
+    
+    // initialize button bars for the context
+    if (!objRef.targetContext.buttonBars) {
+      // this array in the context will hold all
+      // buttonBars used by button widgets
+      objRef.targetContext.buttonBars = new Array();
+    }
+    
+    // add another event listener for the loaded context,
+    // because we need the map to add panel and buttons,
+    // and we do not have tha map yet
+    objRef.targetContext.addListener("refresh", objRef.attachToOL, objRef);
   }
 
-  this.model.addListener("refresh",this.buttonInit,this);
-  this.model.addListener("init", this.initMouseHandler, this);
+  this.model.addListener("init",this.buttonInit,this);
+  this.model.removeListener("newNodel", this.clearWidget, this);
 }
Index: lib/spatial/mapbuilder/lib/widget/MapTitle.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/MapTitle.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/MapTitle.js	(revision 4307)
@@ -0,0 +1,18 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: MapTitle.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Displays the Title value from a Web Map Context document.
+ * @constructor
+ * @base WidgetBaseXSL
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function MapTitle(widgetNode, model) {
+  WidgetBaseXSL.apply(this,new Array(widgetNode, model));
+}
Index: lib/spatial/mapbuilder/lib/widget/TipWidgetConfig.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/TipWidgetConfig.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/widget/TipWidgetConfig.js	(revision 4307)
@@ -0,0 +1,30 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: TipWidgetConfig.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/TipWidgetBase.js");
+
+/**
+ * Configuration for TipWidgetOL and similar widgets.
+ * @base TipWidgetBase
+ * @author Andreas Hocevar andreas.hocevarATgmail.com
+ * @param widgetNode      The widget node from the Config XML file.
+ * @param model  The FeatureCollection model.
+ */
+function TipWidgetConfig(widgetNode, model) {
+  TipWidgetBase.apply(this, new Array(widgetNode, model));
+  
+  var targetWidget = this.getProperty('mb:targetWidget');
+  
+  this.init = function(objRef) {
+    if (targetWidget) {
+      if (!model.config) {
+        model.config = new Array();
+      }
+      model.config[targetWidget] = objRef.config;
+    }
+  }
+  model.addListener('init', this.init, this);
+}
Index: lib/spatial/mapbuilder/lib/widget/Back.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/Back.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/Back.js	(revision 4307)
@@ -1,7 +1,7 @@
 /*
 Author:       Steven Ottens AT geodan.nl
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: Back.js 3587 2007-11-12 12:24:58Z ahocevar $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -16,23 +16,33 @@
  * @param model  The model for this widget
  */
 function Back(widgetNode, model) {
-  ButtonBase.apply(this, new Array(widgetNode, model));
+ 
+   ButtonBase.apply(this, new Array(widgetNode, model));
 
   /**
-   * Replaces the current extent with the previous one in history
-   * @param objRef      Pointer to this object.
+   * Interactive ZoomOut control.
+   * @param objRef reference to this object.
+   * @return {OpenLayers.Control} instance of the OL control.
    */
-  this.doSelect = function(selected,objRef) {
-    if (selected){
-
-		this.targetModel.setParam("historyBack");
-      var previousExtent = objRef.targetModel.previousExtent;
-      if(previousExtent){
-        this.targetModel.setParam("historyStop");
-        objRef.targetModel.extent.zoomToBox( previousExtent[0], previousExtent[1] );
-        this.targetModel.setParam("historyStart");
-      }
-    }
+  this.createControl = function(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      type: OpenLayers.Control.TYPE_BUTTON,
+      
+      trigger: function() {
+              var objRef = this.objRef;
+              objRef.targetModel.setParam("historyBack");
+              var previousExtent = objRef.targetModel.previousExtent;
+              if(previousExtent){
+                objRef.targetModel.setParam("historyStop");
+                this.map.setCenter(previousExtent.center);
+                this.map.zoomToScale(previousExtent.scale);
+                objRef.targetModel.setParam("historyStart");
+              }
+      },
+      
+      CLASS_NAME: 'mbControl.Back'
+    });
+    return Control;
   }
 }
 
Index: lib/spatial/mapbuilder/lib/skin/default/docsStyle.css
===================================================================
--- lib/spatial/mapbuilder/lib/skin/default/docsStyle.css	(revision 4306)
+++ lib/spatial/mapbuilder/lib/skin/default/docsStyle.css	(revision 4307)
@@ -39,7 +39,7 @@
   font-size: 18px;  
   color: #3366cc; 
   margin: 0; 
-  margin-top: 10; 
+  margin-top: 10pt; 
   width: 100%; 
   border-bottom: 1pt solid #3366cc; 
   text-align: left}
@@ -46,7 +46,7 @@
 
 H1 A { text-decoration: none; }
 
-H2 {  font-size: 130%; font-weight: bold; padding-top: 10px;}
+H2 {  font-size: 130%; font-weight: bold; padding-top: 10px; margin: 0px}
 
 H3 { font-size: 110%; font-weight: bold; }
 
@@ -60,7 +60,7 @@
   font-size: 80%;  
   color: #3366cc; 
   margin: 0; 
-  margin-bottom: 10; 
+  margin-bottom: 10pt; 
   width: 100%; 
   border-top: 1pt solid #3366cc; 
   text-align: right;
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/draw_line_off.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/draw_line_off.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/widget/TransactionResponse.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/TransactionResponse.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/TransactionResponse.js	(revision 4307)
@@ -2,7 +2,7 @@
 Author:       Cameron Shorter
 License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: TransactionResponse.js 1671 2005-09-20 02:37:54Z madair1 $
 */
 
 // Ensure this object's dependancies are loaded.
Index: lib/spatial/mapbuilder/lib/widget/CatSearchForm.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/widget/CatSearchForm.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/CatSearchForm.xsl	(revision 4307)
@@ -1,136 +1,7 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!--
-Description: parses an listing of OGC services from the Discovery Portal registry
-Author:      adair
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-$Id$
-$Name$
--->
-
-<xsl:stylesheet version="1.0" 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-		xmlns:ogc="http://www.opengis.net/ogc"
-		xmlns:gml="http://www.opengis.net/gml"
-    xmlns:xlink="http://www.w3.org/1999/xlink">
-
-  <xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8" indent="yes"/>
-
-  <!-- The coordinates of the DHTML Layer on the HTML page -->
-  <xsl:param name="modelTitle"/>
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-  <xsl:param name="targetModelId"/>
-  <xsl:param name="targetModel"/>
-  <xsl:param name="lang">en</xsl:param>
-  
-  <xsl:param name="webServiceUrl">http://devgeo.cciw.ca/cgi-bin/mapserv/owscat</xsl:param>
-  <xsl:param name="formName">owsCatSearch</xsl:param>
-  <xsl:param name="searchConfigDoc" select="document('searchConfig.xml')"/>  
-  <xsl:param name="selectSize" select="1"/>
-  
-  <!-- Text params for this widget -->
-  <xsl:param name="north">North</xsl:param>
-  <xsl:param name="south">South</xsl:param>
-  <xsl:param name="east">East</xsl:param>
-  <xsl:param name="west">West</xsl:param>
-  
-  <!-- template rule matching source root element -->
-  <xsl:template match="/">
-    <div>
-    <form name="{$formName}" id="{$formName}" method="get">
-      <input type="hidden" name="version" value="1.0.0"/>
-      <input type="hidden" name="service" value="WFS"/>
-      <input type="hidden" name="request" value="GetFeature"/>
-      <input type="hidden" name="typename" value="service_resources"/>
-      <input type="hidden" name="outputFormat" value="GML3"/>
-      
-      <h3>Keywords</h3>
-      <input type="text" name="keywords"/>
-      <h3>Location</h3>
-      <xsl:call-template name="locations">
-        <xsl:with-param name="locationsDoc" select="$searchConfigDoc"/>
-      </xsl:call-template>
-      <!--xsl:call-template name="rucs"/-->
-      <xsl:call-template name="aoiBox"/>
-      <!--xsl:call-template name="ntsInput"/-->
-      <h3>Service Type</h3>
-      <select name="serviceType">
-        <option></option>
-        <option>WMS</option>
-        <option>WFS</option>
-      </select>
-      <input class="button" type="reset"/>
-      <input class="button" type="submit"/>
-      
-    </form>
-    </div>
-  </xsl:template>
-
-  <xsl:template name="locations">
-    <xsl:param name="locationsDoc"/>
-    <DIV>
-      <select name="locations" onchange="config.objects.{$widgetId}.setLocation(this.options[this.selectedIndex].value);" size="{$selectSize}">
-        <xsl:apply-templates select="$locationsDoc/searchConfig[@entryType='productCollection']/locations/location"/>
-      </select>
-    </DIV>
-  </xsl:template>
-  
-  <xsl:template match="location">
-    <xsl:param name="indent"/>
-    <xsl:variable name="bbox" select="translate(wens,' ',',')"/>
-    <option value="{$bbox}"><xsl:value-of select="$indent"/><xsl:value-of select="title[@lang=$lang]"/></option>
-    <xsl:apply-templates select="location">
-      <xsl:with-param name="indent"><xsl:value-of select="$indent"/>&#160;&#160;</xsl:with-param>
-    </xsl:apply-templates>
-  </xsl:template>
-  
-  <xsl:template name="rucs">
-    <p>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/><xsl:param name="modelTitle"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="targetModelId"/><xsl:param name="targetModel"/><xsl:param name="lang">en</xsl:param><xsl:param name="webServiceUrl">http://devgeo.cciw.ca/cgi-bin/mapserv/owscat</xsl:param><xsl:param name="formName">owsCatSearch</xsl:param><xsl:param name="searchConfigDoc" select="document('searchConfig.xml')"/><xsl:param name="selectSize" select="1"/><xsl:param name="north">North</xsl:param><xsl:param name="south">South</xsl:param><xsl:param name="east">East</xsl:param><xsl:param name="west">West</xsl:param><xsl:template match="/"><div><form name="{$formName}" id="{$formName}" method="get"><input type="hidden" name="version" value="1.0.0"/><input type="hidden" name="service" value="WFS"/><input type="hidden" name="request" value="GetFeature"/><input type="hidden" name="typename" value="service_resources"/><input type="hidden" name="outputFormat" value="GML3"/><h3>Keywords</h3><input type="text" name="keywords"/><h3>Location</h3><xsl:call-template name="locations"><xsl:with-param name="locationsDoc" select="$searchConfigDoc"/></xsl:call-template><xsl:call-template name="aoiBox"/><h3>Service Type</h3><select name="serviceType"><option/><option>WMS</option><option>WFS</option></select><input class="button" type="reset"/><input class="button" type="submit"/></form></div></xsl:template><xsl:template name="locations"><xsl:param name="locationsDoc"/><DIV><select name="locations" onchange="config.objects.{$widgetId}.setLocation(this.options[this.selectedIndex].value);" size="{$selectSize}"><xsl:apply-templates select="$locationsDoc/searchConfig[@entryType='productCollection']/locations/location"/></select></DIV></xsl:template><xsl:template match="location"><xsl:param name="indent"/><xsl:variable name="bbox" select="translate(wens,' ',',')"/><option value="{$bbox}"><xsl:value-of select="$indent"/><xsl:value-of select="title[@lang=$lang]"/></option><xsl:apply-templates select="location"><xsl:with-param name="indent"><xsl:value-of select="$indent"/>  </xsl:with-param></xsl:apply-templates></xsl:template><xsl:template name="rucs"><p>
       or 
       <a class="button" onclick="config.objects.{$widgetId}.openRucWindow('placename' );return false;">Select by placename</a>
       or
-      <a class="button" onclick="config.objects.{$widgetId}.openRucWindow('postalCode' );return false;">Select by postal code</a>
-    </p>
-  </xsl:template>
-  
-  <xsl:template name="aoiBox">
-    <p>
-      <table>
-        <tr>
-          <td align="left">or enter</td>
-          <td><xsl:value-of select="$north"/></td>
-          <td><xsl:value-of select="$south"/></td>
-          <td><xsl:value-of select="$east"/></td>
-          <td><xsl:value-of select="$west"/></td>
-        </tr>
-        <tr>
-          <td>
-          </td>
-          <td>
-            <input name="northCoord" type="text" size="10" class="searchInput"/>
-          </td>
-          <td>
-            <input name="southCoord" type="text" size="10" class="searchInput"/>
-          </td>
-          <td>
-            <input name="eastCoord" type="text" size="10"  class="searchInput"/>
-          </td>
-          <td>
-            <input name="westCoord" type="text" size="10" class="searchInput"/>
-          </td>
-        </tr>
-      </table>
-    </p>
-  </xsl:template>
-  
-  <xsl:template name="ntsInput">
-    <p>or enter NTS mapsheet index
-      <input name="ntsIndex" type="text" size="6" class="searchInput"/>
-    </p>
-  </xsl:template>
- 
-  <xsl:template match="text()|@*"/>
-
-</xsl:stylesheet>
+      <a class="button" onclick="config.objects.{$widgetId}.openRucWindow('postalCode' );return false;">Select by postal code</a></p></xsl:template><xsl:template name="aoiBox"><p><table><tr><td align="left">or enter</td><td><xsl:value-of select="$north"/></td><td><xsl:value-of select="$south"/></td><td><xsl:value-of select="$east"/></td><td><xsl:value-of select="$west"/></td></tr><tr><td/><td><input name="northCoord" type="text" size="10" class="searchInput"/></td><td><input name="southCoord" type="text" size="10" class="searchInput"/></td><td><input name="eastCoord" type="text" size="10" class="searchInput"/></td><td><input name="westCoord" type="text" size="10" class="searchInput"/></td></tr></table></p></xsl:template><xsl:template name="ntsInput"><p>or enter NTS mapsheet index
+      <input name="ntsIndex" type="text" size="6" class="searchInput"/></p></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/widget/ServiceRegistryList.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/ServiceRegistryList.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/ServiceRegistryList.js	(revision 4307)
@@ -2,7 +2,7 @@
 Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
 License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: ServiceRegistryList.js 3091 2007-08-09 12:21:54Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -13,7 +13,7 @@
  * TBD: not compelted yet.
  *
  * @constructor
- * @base WidgetBase
+ * @base WidgetBaseXSL
  * @param widgetNode This widget's object node from the configuration document.
  * @param model The model that this widget is a view of.
  */
Index: lib/spatial/mapbuilder/lib/widget/AoiMetacatQuery.js
===================================================================
--- lib/spatial/mapbuilder/lib/widget/AoiMetacatQuery.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/widget/AoiMetacatQuery.js	(revision 4307)
@@ -5,6 +5,7 @@
 
 // Ensure this object's dependancies are loaded.
 mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
 
 /**
  * When this button is selected, clicks on the MapPane trigger a Metacat query with the 
@@ -16,88 +17,101 @@
  * @param model  The model for this widget
  */
 function AoiMetacatQuery(widgetNode, model) {
-  // Extend ButtonBase
-  ButtonBase.apply(this, new Array(widgetNode, model))
+	// Extend ButtonBase
+	ButtonBase.apply(this, new Array(widgetNode, model))
+	
+	// Grab the important values from the config file
+	var metacat = widgetNode.selectSingleNode("mb:metacat").firstChild.nodeValue;
+	var skin = widgetNode.selectSingleNode("mb:skin").firstChild.nodeValue;
+	var tolerance = widgetNode.selectSingleNode("mb:pixel_tolerance").firstChild.nodeValue;
 
-  // Grab the important values from the config file
-  var metacat = widgetNode.selectSingleNode("mb:metacat").firstChild.nodeValue;
-  var skin = widgetNode.selectSingleNode("mb:skin").firstChild.nodeValue;
-  var tolerance = widgetNode.selectSingleNode("mb:pixel_tolerance").firstChild.nodeValue;
+	var method = "popup";
 
-  /**
-   * Queries metacat and displays the result in a popup window.
-   * @param objRef      Pointer to this object.
-   * @param targetNode  The node for the enclosing HTML tag for this widget.
-   */
-  this.doAction = function(objRef,targetNode) {
-    if (objRef.enabled) {
-      var method = "popup";
-      var bbox = objRef.targetModel.getParam("aoi");
-      if ( bbox!=null) {
-        var ul = bbox[0];
-        var lr = bbox[1];
-        var extent = objRef.targetModel.extent;
-        var extbox = extent.model.getBoundingBox();
-        var mapwidth_real = extbox[2] - extbox[0];
-        var mapwidth_pixel = extent.model.getWindowWidth();
-        var res = mapwidth_real / mapwidth_pixel;
-      }
+	this.cursor = 'crosshair';
 
-      //var selectedLayer = objRef.context.getParam("selectedLayer");
-       
+	this.createControl = function(objRef) {
+		var Control = 
+			OpenLayers.Class(OpenLayers.Control, {
+			    /**
+			     * Property: type
+			     * {OpenLayers.Control.TYPE}
+			     */
+			    type: OpenLayers.Control.TYPE_TOOL,
+			
+			    /**
+			     * Property: out
+			     * {Boolean} Should the control be used for zooming out?
+			     */
+			    out: false,
+			
+			    /**
+			     * Method: draw
+			     */    
+			    draw: function() {
+			        this.handler = new OpenLayers.Handler.Box( this,
+			                            {done: this.zoomBox}, {keyMask: this.keyMask} );
+			    },
+			
+			    /**
+			     * Method: zoomBox
+				 * Queries metacat and displays the result in a popup window.
+			     * Parameters:
+			     * position - {<OpenLayers.Bounds>} or {<OpenLayers.Pixel>}
+			     */
+			    zoomBox: function (position) {
 
-     // Determine the BBOX
-     var x1 = ul[0];
-     var y1 = lr[1];
-     var x2 = lr[0];
-     var y2 = ul[1];
-     if ( x1 == x2 && y1 == y2 ) {
-      // BBOX is really a point; give a bit of wiggle room
-      // tolerance is number of pixels to buffer, set in config
-      x1 = x1 - tolerance * res;
-      y1 = y1 - tolerance * res;
-      x2 = x2 + tolerance * res;
-      y2 = y2 + tolerance * res;          
-     } 
+			        if (position instanceof OpenLayers.Bounds) {
+		                var minXY = this.map.getLonLatFromPixel(
+		                            new OpenLayers.Pixel(position.left, position.bottom));
+		                var maxXY = this.map.getLonLatFromPixel(
+		                            new OpenLayers.Pixel(position.right, position.top));
+		                var bounds = new OpenLayers.Bounds(minXY.lon, minXY.lat,
+		                                               maxXY.lon, maxXY.lat);
+		                                               
+			            //alert("bounds:" + bounds);
 
-     var url = metacat + "?action=spatial_query&xmin=" + x1 + "&xmax=" + x2 + 
-              "&ymin=" + y1 + "&ymax=" + y2 + "&skin=" + skin;
+			            // Determine the BBOX
+						var x1 = bounds.left;
+						var y1 = bounds.bottom;
+						var x2 = bounds.right;
+						var y2 = bounds.top;
+			        } else { // it's a pixel
+			        	
+			        	var minXY = this.map.getLonLatFromPixel(
+		                            new OpenLayers.Pixel(position.x, position.y));
+			        	var x1 = minXY.lon;
+						var y1 = minXY.lat;
+						var x2 = minXY.lon;
+						var y2 = minXY.lat;
+			        }
 
-     if (method == 'popup') {
-       newwindow = window.open(url,'queryWin',
-                  'height=600,width=800,status=yes,toolbar=yes,menubar=no,location=yes,resizable=yes,scrollbars=yes');
-       if (window.focus) {newwindow.focus()}
-     }
-
-    }
-  }
-
-  /**
-   * Register for mouseUp events.
-   * @param objRef  Pointer to this object.
-   */
-  this.setMouseListener = function(objRef) {
-    if (objRef.mouseHandler) {
-      objRef.mouseHandler.model.addListener('mouseup',objRef.doAction,objRef);
-    }
-    objRef.context=objRef.widgetNode.selectSingleNode("mb:context");
-    if (objRef.context){
-      alert("got context!");
-      objRef.context=eval("config.objects."+objRef.context.firstChild.nodeValue);
-    } else {
-		//alert("no context in AoiMetacatQuery widget.  using mainMap ");
-		objRef.context=eval("config.objects.mainMap");
-		/*
-		var nodes = objRef.widgetNode.childNodes;
-    	for (var i=0; i<nodes.length; i++) {
-    		alert(nodes.item(i).nodeType + " // " +
-    		nodes.item(i).nodeName + " // " +
-    		nodes.item(i).nodeValue);
-		}
-		*/
+					if ( x1 == x2 && y1 == y2 ) {
+						// BBOX is really a point; give a bit of wiggle room
+						// tolerance is number of pixels to buffer, set in config
+			        	var extent = this.map.getExtent();
+				    	var res = extent.getWidth() / this.map.size.w;
+				    	//alert("res:" + res);
+						x1 = x1 - tolerance * res;
+						y1 = y1 - tolerance * res;
+						x2 = x2 + tolerance * res;
+						y2 = y2 + tolerance * res;          
+					} 
+					
+					var url = metacat + "?action=spatial_query&xmin=" + x1 + "&xmax=" + x2 + 
+					         "&ymin=" + y1 + "&ymax=" + y2 + "&skin=" + skin;
+					
+					if (method == 'popup') {
+					  newwindow = window.open(url,'queryWin',
+					             'height=600,width=800,status=yes,toolbar=yes,menubar=no,location=yes,resizable=yes,scrollbars=yes');
+					  if (window.focus) {newwindow.focus()}
+					}
+			        
+			    },
+			
+			    CLASS_NAME: "mbControl.AoiMetacatQuery"
+			});
+			
+		return Control;
 	}
-  }
-  this.model.addListener( "loadModel", this.setMouseListener, this );
-
 }
 
Index: lib/spatial/mapbuilder/lib/skin/default/demoStyles.css
===================================================================
--- lib/spatial/mapbuilder/lib/skin/default/demoStyles.css	(nonexistent)
+++ lib/spatial/mapbuilder/lib/skin/default/demoStyles.css	(revision 4307)
@@ -0,0 +1,212 @@
+body {
+	font-family: Verdana, arial, sans-serif;
+	font-size: 11px;
+	line-height: 16px;
+	margin					: 0px;
+	padding					: 0px;
+	height					: 100%;
+	background-color		: #f0f0f0;
+	bottom					: 0px;
+	display: inline;
+	}
+	td {
+	font-family: Verdana, arial, sans-serif;
+	font-size: 11px;
+	line-height: 16px;
+	}
+a {
+	text-decoration: none;
+	color: black;
+	font-weight: bold;
+	border: none;
+	}
+a:hover {
+		text-decoration: underline;
+		
+	}	
+
+img {
+	border: none;
+	}	
+H1 { 
+	
+	font-size: 18px;
+	font-weight: bold;
+  color: #3366cc; 
+  margin: 5; 
+  width: 100%; 
+  height: 24px;
+  text-align: left
+  
+}
+
+H2 { 
+	font-size: 10px;
+	font-weight: bold;
+  color: black; 
+margin: 10px 0px 0px 0px;
+ background-color: #f0f0f0;
+width: 100%; 
+  text-align: left
+  
+}
+
+H3 { 
+	font-size: 10px;
+	font-weight: bold;
+  color: #3366cc; 
+  margin: 0; 
+ background-color: #f0f0f0;
+width: 100%; 
+  text-align: left
+  
+}
+
+ul a {
+	font-weight: normal;
+	}
+
+#header {
+	font-family: Verdana, geneva, arial, sans-serif;
+	width: 99%;
+  height: 40px;
+	margin-bottom: 5px;
+	vertical-align: bottom;
+}
+
+#header .left {
+	 margin-top: 10px; 
+	}
+#header .right {
+	margin-top: 20px;
+	}	
+#middle {
+	left: 0px;
+	right: 0px;
+	width: 100%;
+	display: inline;
+	}
+#exampleList, #menubar {
+	display: block;
+position: absolute;
+left: 0px;
+top: 31px;
+bottom: 0px;
+overflow: auto;
+	width: 130px;
+	font-family: Verdana, geneva, arial, sans-serif;
+	font-size: 8pt;
+	
+	bottom: 60px;
+	}
+	#exampleList a ,#menubar a{
+font-weight: normal;
+	color: white;
+	}
+	
+	#exampleList ul , #menubar ul{
+	background:  #3c78b5;
+margin: 0px;
+  padding: 0px;
+  display: inline;
+  list-style-type: none;
+  list-style-image: none;
+  list-style-position: outside;
+  font-size: 10px;
+}
+
+#exampleList li, #menubar li {
+	background:  #3c78b5;
+	margin: 0px;
+	padding: 2px;
+	display: block;
+	}
+	
+#mainbody {
+		border-top: 1px solid #ccc;
+		border-bottom: 1px solid #ccc;
+ 		border-left: 1px solid #ccc;
+		padding: 5px;
+
+
+		margin-left: 130px;
+		right: 1px;
+		bottom: 1px;
+		background-color: white;
+display: block;
+}
+
+#mainbody:after {
+    content: "."; 
+    display: block; 
+    height: 0; 
+    clear: both; 
+    visibility: hidden;
+}
+
+/* Hides from IE-mac \*/
+* html #mainbody {height: 1%;}
+/* End hide from IE-mac */
+#mainbody .left{
+	position: relative;
+		height: 99%;
+		top: 0px;
+		bottom: 0px;
+		left: 0px;
+width: 30%;
+display: block;
+float: left;
+	margin: 0px;	
+	overflow-x: auto;
+}
+#mainbody .right{
+	position: relative;
+display: block;
+		width: 69%;
+		margin-left: 30%;
+		right: 0px;
+  height: expression(document.body.clientHeight*.99);
+		float: right;
+		margin: 0px;
+}
+
+#mainMapPane {
+  border: 1px solid olive;
+/*  cursor: crosshair; */
+}
+#cursorTrack INPUT {
+	border: none;
+	}
+#footer {
+
+	height: 60px;
+	width: 99%;
+margin:0px;
+	bottom: 0px;
+	
+	font-size: 9pt;
+}
+
+
+#footer .right {
+		padding: 0px 5px 0px 5px;
+		text-align: right;
+		
+		width: 99%;
+	
+		margin-top: 0px;
+}
+.help {
+	position: absolute;
+	right: 18px;
+	height: 20px;
+	width: 150px;
+	border-top: 1px solid #ccc;
+	border-left: 1px solid #ccc;
+	border-right: 1px solid #ccc;
+	font-size: 8pt;
+	cursor: help;
+	float: right;
+	text-align: center;
+	z-index: 100;
+	}
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/add_point_on.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/add_point_on.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/remove_point_off.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/remove_point_off.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/draw_polygon_on.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/draw_polygon_on.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/draw_point_on.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/draw_point_on.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/blank.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/blank.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/draw_point_off.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/draw_point_off.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/remove_point_on.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/remove_point_on.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/overview_replacement.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/overview_replacement.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/panning-hand-off.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/panning-hand-off.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/draw_line_on.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/draw_line_on.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/view_next_off.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/view_next_off.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/editing_tool_bar.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/editing_tool_bar.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/pan_on.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/pan_on.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/view_previous_on.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/view_previous_on.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/view_next_on.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/view_next_on.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/pan_off.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/pan_off.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/move_feature_off.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/move_feature_off.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/drag-rectangle-off.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/drag-rectangle-off.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/AddPointEnable.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/AddPointEnable.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/README.txt
===================================================================
--- lib/spatial/mapbuilder/lib/skin/default/images/README.txt	(revision 4306)
+++ lib/spatial/mapbuilder/lib/skin/default/images/README.txt	(revision 4307)
@@ -1,6 +1,6 @@
 Iconset information
 ==================================
-$Id$
+$Id: README.txt 2546 2007-01-23 12:07:39Z gjvoosten $
 
 Many of these icons are modified versions of the chameleon iconset (http://chameleon.maptools.org/). Some are modified GIMP icons and gnome-cd-player icons.
 
Index: lib/spatial/mapbuilder/lib/skin/default/images/indicator.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/indicator.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/marker-gold.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/marker-gold.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/zoombar.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/zoombar.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/close.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/close.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/layerControl.css
===================================================================
--- lib/spatial/mapbuilder/lib/skin/default/layerControl.css	(nonexistent)
+++ lib/spatial/mapbuilder/lib/skin/default/layerControl.css	(revision 4307)
@@ -0,0 +1,103 @@
+.layerControl{
+    width:350px;
+
+}
+
+.altRow_1
+{
+	background-color:#D1E2EC;
+}
+
+.altRow_0
+{
+    
+    background-color:#FFFFFF;
+
+}
+/******************** LAYER HEADER css*************************/
+.LayerHeader{
+    text-align:center;
+    padding-top:5px;
+    position:relative;
+	display:block;
+	height:30px;
+}
+
+
+.indexLayerHeader{
+    position:absolute;
+    display:inline;
+    margin-top:3px;
+    top:5px;
+    left:3px;
+}
+.inputLayerHeader
+{
+    display:inline;
+    position:absolute;
+    left:15px;
+}
+.checkboxLayerHeader
+{
+    float:left;
+    padding-top:3px;
+}
+.buttonLayerHeader
+{
+    float:left;
+}
+.nameLayerHeader
+{
+    position:absolute;
+    top:10px;
+    left:140px;
+}
+.transpLayerHeader
+{
+    position:absolute;
+    top:7px;
+    right:0px;
+}
+.transpLayerHeader select
+{
+    width:45px;
+    font-size:10px;
+    line-height:10px;
+}
+/******************** END LAYER HEADER css*************************/
+.legend
+{
+    text-align:left;
+}
+.legend img /*hack for IE6*/
+{
+background-color:Transparent;
+}
+.test
+{
+    text-align:center;
+}
+.GroupHeaderTitle
+{
+    display:inline;
+    background:Inherit;
+}
+.GroupHeader
+{ 
+    font-variant:small-caps;
+    font-size:small;
+    font-weight:bold;
+    padding-left:3px;
+    background:#556655;
+}
+.GroupHeaderFold{
+    width:10px;
+    font-variant:small-caps;
+    font-size:small;
+    font-weight:bold;
+    padding-left:3px;
+    background-color:Transparent;
+    padding:0px;
+    border:0px;
+    cursor:pointer;
+}
Index: lib/spatial/mapbuilder/lib/skin/default/images/GetFeatureEnable.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/GetFeatureEnable.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/LoadingSpinner.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/LoadingSpinner.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/zoom-world-mini.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/zoom-world-mini.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/blank.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/blank.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/move_feature_on.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/move_feature_on.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/add_point_off.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/add_point_off.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/sld.jpeg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/sld.jpeg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/AddPointDisable.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/AddPointDisable.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/zoom-plus-mini.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/zoom-plus-mini.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/zoom-minus-mini.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/zoom-minus-mini.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/west-mini.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/west-mini.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/panning-hand-on.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/panning-hand-on.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/drag-rectangle-on.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/openlayers/img/drag-rectangle-on.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/GetFeatureDisable.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/GetFeatureDisable.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/DelPointDisable.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/DelPointDisable.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/south-mini.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/south-mini.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/marker-blue.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/marker-blue.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/panning-hand-off.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/panning-hand-off.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/measuring-stick-off.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/measuring-stick-off.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/marker.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/marker.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/east-mini.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/east-mini.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/Graticule.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/Graticule.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/tabList.css
===================================================================
--- lib/spatial/mapbuilder/lib/skin/default/tabList.css	(revision 4306)
+++ lib/spatial/mapbuilder/lib/skin/default/tabList.css	(revision 4307)
@@ -1,70 +1,53 @@
 ul.tablist
-
 {
-
    padding: 3px 0;
-
-   width: 540;
-
+   width: 540px;
    margin-top: 10px;
-
 }
 
-
-
 ul.tablist li
-
 {
-
    list-style: none;
-
    display: inline;
-
    margin: 0;
-
 }
 
-
-
 ul.tablist li a
-
 {
-
    text-decoration: none;
-
    padding: 3px 0.5em;
-
    margin-right: 3px;
-
    border: 1px solid #778;
-
    border-bottom: none;
-
    background: #6699CC;
-
    color: #FFF;
-
    font-weight: bold;
+}
 
+ul.tablist li a:hover, li a:visited
+{  
+   color: #FFF;
 }
 
-
-
-ul.tablist li a:hover/*, li a:focus*/
-
+ul.tablist li a:hover
 {  
-
    background: #003466;
-
 }
 
-
-
 ul.tablist li a.current
-
 {
-
    background: #003466;
+}
 
+/*
+ul.tablist li.disabled
+{
+   display: none;
 }
+*/
 
+ul.tablist li.disabled a
+{
+   background: silver;
+}
+
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/panning-hand-on.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/panning-hand-on.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/layer-switcher-minimize.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/layer-switcher-minimize.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/north-mini.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/north-mini.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/Osgeo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/Osgeo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/controlPanel.css
===================================================================
--- lib/spatial/mapbuilder/lib/skin/default/controlPanel.css	(nonexistent)
+++ lib/spatial/mapbuilder/lib/skin/default/controlPanel.css	(revision 4307)
@@ -0,0 +1,16 @@
+/*
+$Id: controlPanel.css 3665 2007-12-03 12:34:03Z ahocevar $
+Styles for buttonBar
+*/
+/*
+.olControlPanel {
+	height: 24px;
+} */
+
+.olControlPanel div { 
+	display: block;
+	float: left;
+	cursor: pointer;
+	width:  24px;
+	height: 24px;
+}
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/measuring-stick-on.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/measuring-stick-on.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/layer-switcher-maximize.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/layer-switcher-maximize.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/drag-rectangle-on.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/drag-rectangle-on.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/mapStyle.css
===================================================================
--- lib/spatial/mapbuilder/lib/skin/default/mapStyle.css	(revision 4306)
+++ lib/spatial/mapbuilder/lib/skin/default/mapStyle.css	(revision 4307)
@@ -14,36 +14,19 @@
 
 #timestamp, #timestamp INPUT
 {
-  font: 9pt Verdana, geneva, arial, sans-serif;
+  font: 8pt Verdana, geneva, arial, sans-serif;
   color: #000000;
   background-color: transparent;
   border: 0px blue none;
 }
 
-#mainMapContainer {
+#mainMapPane {
   border: 1px solid olive;
-  cursor: crosshair;
-  background-color: #c8e5f5;
+/*  cursor: crosshair; */
 }
 
-.legendText {
-    font-weight: normal;
-    font-size: 11px; }
 
-/* elements for the layerCOntrol widget */
-.layerControl TD {
-  padding: 2px;
-  font: 70% Verdana, geneva, arial, sans-serif;
-}
 
-.altRow_1 {
-  background-color: #D1E2EC;
-}
-
-.altRow_0 {
-  background-color: #FFFFFF;
-}
-
 .loadingIndicator
 {
   color: #000000;
@@ -64,6 +47,13 @@
   margin: 0px;
   float: left;
 }
+
+#workspace h2,h3
+{
+  padding: 2px;
+  margin: 0px;
+}
+
 /*
 #legend {
 	font-size: 70%; 
@@ -71,3 +61,169 @@
   background-color: silver;
 }
 */
+
+/*****************************************LAYERCONTROL************************************/
+.layerControl{
+    width:350px;
+
+}
+
+.altRow_1
+{
+	background-color:#D1E2EC;
+}
+
+.altRow_0
+{
+    
+    background-color:#FFFFFF;
+
+}
+/******************** LAYER HEADER css*************************/
+.LayerHeader{
+    text-align:center;
+    padding-top:5px;
+    position:relative;
+	display:block;
+	height:30px;
+}
+
+
+.indexLayerHeader{
+    position:absolute;
+    display:inline;
+    margin-top:3px;
+    top:5px;
+    left:3px;
+}
+.inputLayerHeader
+{
+    display:inline;
+    position:absolute;
+    left:15px;
+}
+.checkboxLayerHeader
+{
+    float:left;
+    padding-top:3px;
+}
+.buttonLayerHeader
+{
+    float:left;
+}
+.nameLayerHeader
+{
+    position:absolute;
+    top:10px;
+    left:140px;
+}
+.transpLayerHeader
+{
+    position:absolute;
+    top:7px;
+    right:0px;
+}
+.transpLayerHeader select
+{
+    width:45px;
+    font-size:10px;
+    line-height:10px;
+}
+/******************** END LAYER HEADER css*************************/
+.legend
+{
+    text-align:left;
+}
+.legend img /*hack for IE6*/
+{
+background-color:Transparent;
+}
+.test
+{
+    text-align:center;
+}
+.GroupHeaderTitle
+{
+    display:inline;
+    background:Inherit;
+}
+.GroupHeader
+{ 
+    font-variant:small-caps;
+    font-size:small;
+    font-weight:bold;
+    padding-left:3px;
+    background:#556655;
+}
+.GroupHeaderFold{
+    width:10px;
+    font-variant:small-caps;
+    font-size:small;
+    font-weight:bold;
+    padding-left:3px;
+    background-color:Transparent;
+    padding:0px;
+    border:0px;
+    cursor:pointer;
+}
+/*****************************************LAYERCONTROL************************************/
+
+/**************** MAPTIP POPUPS ************************/
+
+#mainMapPane .olPopupContent {
+		padding: 0px;
+}
+
+.olPopup {
+		cursor:default;
+}
+
+.PopupContainer {
+		width:100%;
+		height:100%;
+}
+
+.PopupHeader {
+		padding:2px;
+		height:14px;
+		line-height:14px;
+		width:100%;
+		background-color:#00008B;
+		color:white;
+}
+
+.PopupContent {
+		position:absolute;
+		top:18px;
+		bottom:0px;
+		right:0px;
+		left:0px;
+		padding:2px;
+		overflow:auto;
+		width:expression((parseInt(this.parentElement.parentElement.parentElement.parentElement.currentStyle.width)-2*parseInt(this.parentElement.parentElement.parentElement.parentElement.currentStyle.borderWidth))+'px');
+		height:expression((parseInt(this.parentElement.parentElement.parentElement.parentElement.currentStyle.height)-2*parseInt(this.parentElement.parentElement.parentElement.parentElement.currentStyle.borderWidth)-18)+'px');
+}
+
+.PopupContent table {
+		width:100%;
+		border-collapse:collapse;
+}
+
+.PopupContent table td {
+		border:1px solid gray;
+}
+
+/**************** END MAPTIP POPUPS ********************/
+
+/* OverviewMap */
+div .olControlOverviewMapElement {
+	-moz-border-radius-topleft: 0pt;
+	padding: 0px;
+	background-color: inherit;
+	background-color: expression(this.parentElement.currentStyle.backgroundColor);
+}
+
+/* Panel
+.olControlPanel {
+	width:300px;
+} */
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/marker-green.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/marker-green.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/slider.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/slider.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/drag-rectangle-off.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/openlayers/drag-rectangle-off.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/images/DelPointEnable.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/images/DelPointEnable.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/201.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/201.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/203.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/203.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/205.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/205.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/207.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/207.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/082.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/082.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/120.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/120.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/122.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/122.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/124.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/124.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/161.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/161.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/163.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/163.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/047.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/047.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/193.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/193.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/004.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/004.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/006.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/006.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/080.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/080.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/126.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/126.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/209.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/209.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/165.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/165.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/086.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/086.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/207.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/207.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/210.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/210.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/212.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/212.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/167.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/167.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/043.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/043.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/011.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/011.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/131.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/131.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/002.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/002.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/041.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/041.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/043.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/043.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/008.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/008.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/045.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/045.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/128.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/128.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/049.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/049.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/088.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/088.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/165.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/165.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/050.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/050.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/084.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/084.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/214.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/214.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/135.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/135.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/172.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/172.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/174.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/174.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/133.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/133.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/054.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/054.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/019.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/019.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/093.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/093.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/139.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/139.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/052.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/052.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/095.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/095.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/099.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/099.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/101.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/101.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/140.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/140.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/061.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/061.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/169.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/169.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/shadow50.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/shadow50.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/013.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/013.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/015.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/015.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/017.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/017.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/216.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/216.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/056.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/056.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/shadow50.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/shadow50.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/176.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/176.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/015.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/015.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/099.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/099.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/024.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/024.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/026.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/026.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/063.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/063.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/146.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/146.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/067.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/067.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/178.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/178.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/020.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/020.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/103.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/103.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/142.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/142.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/144.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/144.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/109.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/109.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/148.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/148.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/187.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/187.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/110.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/110.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/033.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/033.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/035.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/035.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/190.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/190.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/181.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/181.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/065.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/065.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/185.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/185.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/074.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/074.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/076.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/076.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/196.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/196.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/200.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/200.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/170.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/170.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/091.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/091.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/137.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/137.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/040.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/040.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/204.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/204.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/058.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/058.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/097.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/097.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/137.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/137.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/022.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/022.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/105.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/105.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/107.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/107.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/028.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/028.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/183.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/183.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/069.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/069.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/125.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/125.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/162.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/162.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/083.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/083.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/085.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/085.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/ContactSheet.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/ContactSheet.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/031.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/031.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/151.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/151.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/153.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/153.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/118.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/118.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/039.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/039.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/159.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/159.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/151.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/151.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/202.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/202.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/042.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/042.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/160.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/160.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/081.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/081.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/127.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/127.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/048.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/048.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/087.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/087.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/089.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/089.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/test.html
===================================================================
--- lib/spatial/mapbuilder/lib/skin/default/pushpins/test.html	(nonexistent)
+++ lib/spatial/mapbuilder/lib/skin/default/pushpins/test.html	(revision 4307)
@@ -0,0 +1,11 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRANSITIONAL//EN">
+<html>
+
+	<head>
+		<title></title>
+	</head>
+	<body>
+
+
+	</body>
+</html>
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/112.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/112.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/189.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/189.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/070.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/070.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/072.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/072.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/155.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/155.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/157.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/157.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/078.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/078.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/001.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/001.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/121.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/121.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/123.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/123.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/044.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/044.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/010.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/010.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/014.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/014.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/016.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/016.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/090.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/090.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/136.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/136.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/009.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/009.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/208.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/208.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/129.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/129.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/168.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/168.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/085.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/085.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/211.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/211.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/213.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/213.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/215.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/215.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/055.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/055.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/057.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/057.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/shadow51.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/shadow51.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/098.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/098.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/179.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/179.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/023.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/023.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/Thumbs.db
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/Thumbs.db
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/114.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/114.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/116.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/116.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/037.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/037.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/192.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/192.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/194.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/194.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/198.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/198.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/003.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/003.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/005.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/005.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/007.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/007.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/206.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/206.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/046.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/046.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/164.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/164.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/166.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/166.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/001.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/001.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/012.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/012.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/025.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/025.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/138.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/138.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/059.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/059.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/179.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/179.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/102.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/102.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/060.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/060.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/062.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/062.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/127.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/127.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/130.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/130.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/132.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/132.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/134.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/134.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/171.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/171.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/173.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/173.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/175.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/175.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/177.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/177.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/100.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/100.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/104.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/104.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/106.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/106.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/108.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/108.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/180.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/180.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/182.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/182.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/068.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/068.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/027.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/027.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/029.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/029.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/184.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/184.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/145.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/145.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/147.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/147.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/186.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/186.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/029.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/029.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/032.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/032.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/071.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/071.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/073.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/073.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/191.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/191.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/188.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/188.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/113.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/113.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/034.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/034.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/036.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/036.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/119.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/119.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/051.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/051.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/053.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/053.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/018.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/018.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/092.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/092.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/094.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/094.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/096.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/096.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/057.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/057.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/021.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/021.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/141.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/141.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/143.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/143.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/064.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/064.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/066.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/066.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/149.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/149.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/111.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/111.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/150.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/150.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/152.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/152.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/154.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/154.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/075.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/075.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/193.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/193.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/079.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/079.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/templates/shadow50.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/templates/shadow50.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/195.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/195.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/templates/marker.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/templates/marker.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/158.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/158.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/199.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/199.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/030.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/030.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/115.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/115.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/117.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/117.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/038.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/038.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/156.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/156.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/077.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/077.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/197.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/197.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/071.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/071.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/MapbuilderCompressed.js
===================================================================
--- lib/spatial/mapbuilder/lib/MapbuilderCompressed.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/MapbuilderCompressed.js	(revision 4307)
@@ -0,0 +1,10440 @@
+var MapBuilder_Release=true;
+
+var mbTimerStart=new Date();
+var config;
+if(typeof baseDir=="undefined"){
+var baseDir;
+}
+var mbServerConfig="mapbuilderConfig.xml";
+var mbNsUrl="http://mapbuilder.sourceforge.net/mapbuilder";
+var MB_UNLOADED=0;
+var MB_LOAD_CORE=1;
+var MB_LOAD_CONFIG=2;
+var MB_LOADED=3;
+function Mapbuilder(){
+this.loadState=MB_UNLOADED;
+this.loadingScripts=new Array();
+this.orderedScripts=new Array();
+this.scriptLoader=null;
+this.scriptsTimer=null;
+this.checkScriptsLoaded=function(){
+if(document.readyState!=null){
+while(this.loadingScripts.length>0&&(this.loadingScripts[0].readyState=="loaded"||this.loadingScripts[0].readyState=="complete"||this.loadingScripts[0].readyState==null)){
+this.loadingScripts.shift();
+}
+if(this.loadingScripts.length==0&&this.orderedScripts.length==0){
+this.setLoadState(this.loadState+1);
+}
+}else{
+if(this.loadState==MB_LOAD_CORE&&config!=null){
+this.setLoadState(MB_LOAD_CONFIG);
+}
+}
+};
+this.setLoadState=function(_1){
+this.loadState=_1;
+switch(_1){
+case MB_LOAD_CORE:
+this.loadOrdered=true;
+this.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
+this.loadScript(baseDir+"/util/sarissa/Sarissa.js");
+this.loadScript(baseDir+"/util/sarissa/javeline_xpath.js");
+this.loadScript(baseDir+"/util/sarissa/javeline_xslt.js");
+this.loadScript(baseDir+"/util/sarissa/sarissa_dhtml.js");
+this.loadScript(baseDir+"/util/sarissa/sarissa_ieemu_xpath.js");
+this.loadScript(baseDir+"/util/proj4js/proj4js-compressed.js");
+this.loadScript(baseDir+"/util/Util.js");
+this.loadScript(baseDir+"/util/Listener.js");
+this.loadScript(baseDir+"/model/ModelBase.js");
+this.loadScript(baseDir+"/model/Config.js");
+this.loadOrdered=false;
+break;
+case MB_LOAD_CONFIG:
+if(document.readyState){
+config=new Config(mbConfigUrl);
+config.loadConfigScripts();
+}else{
+this.setLoadState(MB_LOADED);
+}
+break;
+case MB_LOADED:
+window.clearInterval(this.scriptsTimer);
+break;
+}
+};
+this.loadScript=function(_2){
+if(typeof MapBuilder_Release=="boolean"){
+if(_2.indexOf(baseDir+"/util/")!=-1){
+return;
+}
+var _3=_2.split("/");
+var _4=_3[_3.length-1].replace(/.js$/,"");
+if(typeof window[_4]=="function"){
+return;
+}
+}
+if(!document.getElementById(_2)){
+var _5=document.createElement("script");
+_5.src=_2;
+_5.id=_2;
+_5.defer=false;
+_5.type="text/javascript";
+if(document.readyState&&this.loadOrdered==true){
+this.orderedScripts.push(_5);
+if(!this.scriptLoader){
+this.scriptLoader=window.setInterval("mapbuilder.loadNextScript()",50);
+}
+}else{
+document.getElementsByTagName("head")[0].appendChild(_5);
+}
+if(document.readyState){
+this.loadingScripts.push(_5);
+}
+}
+};
+this.loadNextScript=function(){
+if(this.orderedScripts.length==0){
+window.clearInterval(this.scriptLoader);
+this.scriptLoader=null;
+}else{
+var _6=this.orderedScripts[0];
+if(!_6.loading){
+_6.loading=true;
+this.doLoadScript(_6);
+}
+}
+};
+this.doLoadScript=function(_7){
+var _8=this;
+_7.onreadystatechange=function(){
+_8.checkScriptState(this);
+};
+document.getElementsByTagName("head")[0].appendChild(_7);
+};
+this.checkScriptState=function(_9){
+if(_9.readyState=="loaded"||_9.readyState=="complete"){
+for(var i=0;i<this.orderedScripts.length;i++){
+if(_9==this.orderedScripts[i]){
+this.orderedScripts.splice(i,1);
+break;
+}
+}
+}
+};
+this.loadScriptsFromXpath=function(_b,_c){
+for(var i=0;i<_b.length;i++){
+if(_b[i].selectSingleNode("mb:scriptFile")==null){
+scriptFile=baseDir+"/"+_c+_b[i].nodeName+".js";
+this.loadScript(scriptFile);
+}
+}
+};
+if(!baseDir){
+var _e=document.getElementsByTagName("head")[0];
+var _f=_e.childNodes;
+for(var i=0;i<_f.length;++i){
+var src=_f.item(i).src;
+if(src){
+var _12=src.indexOf("/Mapbuilder.js");
+if(_12>=0){
+baseDir=src.substring(0,_12);
+}else{
+_12=src.indexOf("/MapbuilderCompressed.js");
+if(_12>=0){
+baseDir=src.substring(0,_12);
+}
+}
+}
+}
+}
+this.setLoadState(MB_LOAD_CORE);
+this.scriptsTimer=window.setInterval("mapbuilder.checkScriptsLoaded()",100);
+}
+function checkIESecurity(){
+var _13=["Msxml2.DOMDocument.5.0","Msxml2.DOMDocument.4.0","Msxml2.DOMDocument.3.0","MSXML2.DOMDocument","MSXML.DOMDocument","Microsoft.XMLDOM"];
+var _14=false;
+for(var i=0;i<_13.length&&!_14;i++){
+try{
+var _16=new ActiveXObject(_13[i]);
+_14=true;
+}
+catch(e){
+}
+}
+if(!_14){
+window.open("/mapbuilder/docs/help/IESetup.html");
+}
+}
+if(navigator.userAgent.toLowerCase().indexOf("msie")>-1){
+checkIESecurity();
+}
+var mapbuilder=new Mapbuilder();
+function mapbuilderInit(){
+if(mapbuilder&&mapbuilder.loadState==MB_LOADED){
+window.clearInterval(mbTimerId);
+config.parseConfig(config);
+if(Proj4js){
+Proj4js.libPath=baseDir+"/util/proj4js/";
+Proj4js.proxyScript=config.proxyUrl+"?url=";
+}
+config.callListeners("init");
+var _17=new Date();
+if(window.mbInit){
+window.mbInit();
+}
+config.callListeners("loadModel");
+}
+}
+var mbTimerId;
+function mbDoLoad(_18){
+mbTimerId=window.setInterval("mapbuilderInit()",100);
+if(_18){
+window.mbInit=_18;
+}
+}
+
+Exception in thread "main" java.lang.ClassFormatError: Invalid method Code length 73789 in class file org/mozilla/javascript/gen/c1
+	at java.lang.ClassLoader.defineClass1(Native Method)
+	at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
+	at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
+	at org.mozilla.javascript.DefiningClassLoader.defineClass(DefiningClassLoader.java:57)
+	at org.mozilla.javascript.optimizer.Codegen.defineClass(Codegen.java:122)
+	at org.mozilla.javascript.optimizer.Codegen.createScriptObject(Codegen.java:77)
+	at org.mozilla.javascript.Context.compileImpl(Context.java:2265)
+	at org.mozilla.javascript.Context.compileString(Context.java:1314)
+	at org.mozilla.javascript.Context.compileString(Context.java:1303)
+	at org.mozilla.javascript.tools.shell.Main.loadScriptFromSource(Main.java:487)
+	at org.mozilla.javascript.tools.shell.Main.processFileSecure(Main.java:403)
+	at org.mozilla.javascript.tools.shell.Main.processFile(Main.java:369)
+	at org.mozilla.javascript.tools.shell.Main.processSource(Main.java:360)
+	at org.mozilla.javascript.tools.shell.Main.processFiles(Main.java:153)
+	at org.mozilla.javascript.tools.shell.Main$IProxy.run(Main.java:83)
+	at org.mozilla.javascript.Context.call(Context.java:528)
+	at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:447)
+	at org.mozilla.javascript.tools.shell.Main.exec(Main.java:136)
+	at org.mozilla.javascript.tools.shell.Main.main(Main.java:114)
+function Sarissa(){
+}
+Sarissa.PARSED_OK="Document contains no parsing errors";
+Sarissa.PARSED_EMPTY="Document is empty";
+Sarissa.PARSED_UNKNOWN_ERROR="Not well-formed or other error";
+var _sarissa_iNsCounter=0;
+var _SARISSA_IEPREFIX4XSLPARAM="";
+var _SARISSA_HAS_DOM_IMPLEMENTATION=document.implementation&&true;
+var _SARISSA_HAS_DOM_CREATE_DOCUMENT=_SARISSA_HAS_DOM_IMPLEMENTATION&&document.implementation.createDocument;
+var _SARISSA_HAS_DOM_FEATURE=_SARISSA_HAS_DOM_IMPLEMENTATION&&document.implementation.hasFeature;
+var _SARISSA_IS_MOZ=_SARISSA_HAS_DOM_CREATE_DOCUMENT&&_SARISSA_HAS_DOM_FEATURE;
+var _SARISSA_IS_SAFARI=(navigator.userAgent&&navigator.vendor&&(navigator.userAgent.toLowerCase().indexOf("applewebkit")!=-1||navigator.vendor.indexOf("Apple")!=-1));
+var _SARISSA_IS_OPERA=navigator.userAgent.toLowerCase().indexOf("opera")!=-1;
+var _SARISSA_IS_IE=document.all&&window.ActiveXObject&&navigator.userAgent.toLowerCase().indexOf("msie")>-1&&navigator.userAgent.toLowerCase().indexOf("opera")==-1;
+if(!window.Node||!Node.ELEMENT_NODE){
+Node={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12};
+}
+if(typeof XMLDocument=="undefined"&&typeof Document!="undefined"){
+XMLDocument=Document;
+}
+if(_SARISSA_IS_IE){
+_SARISSA_IEPREFIX4XSLPARAM="xsl:";
+var _SARISSA_DOM_PROGID="";
+var _SARISSA_XMLHTTP_PROGID="";
+var _SARISSA_DOM_XMLWRITER="";
+Sarissa.pickRecentProgID=function(_1){
+var _2=false;
+for(var i=0;i<_1.length&&!_2;i++){
+try{
+var _4=new ActiveXObject(_1[i]);
+o2Store=_1[i];
+_2=true;
+}
+catch(objException){
+}
+}
+if(!_2){
+throw "Could not retreive a valid progID of Class: "+_1[_1.length-1]+". (original exception: "+e+")";
+}
+_1=null;
+return o2Store;
+};
+_SARISSA_DOM_PROGID=null;
+_SARISSA_THREADEDDOM_PROGID=null;
+_SARISSA_XSLTEMPLATE_PROGID=null;
+_SARISSA_XMLHTTP_PROGID=null;
+if(!window.XMLHttpRequest){
+XMLHttpRequest=function(){
+if(!_SARISSA_XMLHTTP_PROGID){
+_SARISSA_XMLHTTP_PROGID=Sarissa.pickRecentProgID(["Msxml2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"]);
+}
+return new ActiveXObject(_SARISSA_XMLHTTP_PROGID);
+};
+}
+Sarissa.getDomDocument=function(_5,_6){
+if(!_SARISSA_DOM_PROGID){
+_SARISSA_DOM_PROGID=Sarissa.pickRecentProgID(["Msxml2.DOMDocument.6.0","Msxml2.DOMDocument.3.0","MSXML2.DOMDocument","MSXML.DOMDocument","Microsoft.XMLDOM"]);
+}
+var _7=new ActiveXObject(_SARISSA_DOM_PROGID);
+if(_6){
+var _8="";
+if(_5){
+if(_6.indexOf(":")>1){
+_8=_6.substring(0,_6.indexOf(":"));
+_6=_6.substring(_6.indexOf(":")+1);
+}else{
+_8="a"+(_sarissa_iNsCounter++);
+}
+}
+if(_5){
+_7.loadXML("<"+_8+":"+_6+" xmlns:"+_8+"=\""+_5+"\""+" />");
+}else{
+_7.loadXML("<"+_6+" />");
+}
+}
+return _7;
+};
+Sarissa.getParseErrorText=function(_9){
+var _a=Sarissa.PARSED_OK;
+if(_9.parseError.errorCode!=0){
+_a="XML Parsing Error: "+_9.parseError.reason+"\nLocation: "+_9.parseError.url+"\nLine Number "+_9.parseError.line+", Column "+_9.parseError.linepos+":\n"+_9.parseError.srcText+"\n";
+for(var i=0;i<_9.parseError.linepos;i++){
+_a+="-";
+}
+_a+="^\n";
+}else{
+if(_9.documentElement==null){
+_a=Sarissa.PARSED_EMPTY;
+}
+}
+return _a;
+};
+Sarissa.setXpathNamespaces=function(_c,_d){
+_c.setProperty("SelectionLanguage","XPath");
+_c.setProperty("SelectionNamespaces",_d);
+};
+XSLTProcessor=function(){
+if(!_SARISSA_XSLTEMPLATE_PROGID){
+_SARISSA_XSLTEMPLATE_PROGID=Sarissa.pickRecentProgID(["Msxml2.XSLTemplate.6.0","MSXML2.XSLTemplate.3.0"]);
+}
+this.template=new ActiveXObject(_SARISSA_XSLTEMPLATE_PROGID);
+this.processor=null;
+};
+XSLTProcessor.prototype.importStylesheet=function(_e){
+if(!_SARISSA_THREADEDDOM_PROGID){
+_SARISSA_THREADEDDOM_PROGID=Sarissa.pickRecentProgID(["MSXML2.FreeThreadedDOMDocument.6.0","MSXML2.FreeThreadedDOMDocument.3.0"]);
+}
+_e.setProperty("SelectionLanguage","XPath");
+_e.setProperty("SelectionNamespaces","xmlns:xsl='http://www.w3.org/1999/XSL/Transform'");
+var _f=new ActiveXObject(_SARISSA_THREADEDDOM_PROGID);
+if(_e.url&&_e.selectSingleNode("//xsl:*[local-name() = 'import' or local-name() = 'include']")!=null){
+_f.async=false;
+if(_SARISSA_THREADEDDOM_PROGID=="MSXML2.FreeThreadedDOMDocument.6.0"){
+_f.setProperty("AllowDocumentFunction",true);
+_f.resolveExternals=true;
+}
+_f.load(_e.url);
+}else{
+_f.loadXML(_e.xml);
+}
+_f.setProperty("SelectionNamespaces","xmlns:xsl='http://www.w3.org/1999/XSL/Transform'");
+var _10=_f.selectSingleNode("//xsl:output");
+this.outputMethod=_10?_10.getAttribute("method"):"html";
+this.template.stylesheet=_f;
+this.processor=this.template.createProcessor();
+this.paramsSet=new Array();
+};
+XSLTProcessor.prototype.transformToDocument=function(_11){
+if(_SARISSA_THREADEDDOM_PROGID){
+this.processor.input=_11;
+var _12=new ActiveXObject(_SARISSA_DOM_PROGID);
+this.processor.output=_12;
+this.processor.transform();
+return _12;
+}else{
+if(!_SARISSA_DOM_XMLWRITER){
+_SARISSA_DOM_XMLWRITER=Sarissa.pickRecentProgID(["Msxml2.MXXMLWriter.6.0","Msxml2.MXXMLWriter.3.0","MSXML2.MXXMLWriter","MSXML.MXXMLWriter","Microsoft.XMLDOM"]);
+}
+this.processor.input=_11;
+var _12=new ActiveXObject(_SARISSA_DOM_XMLWRITER);
+this.processor.output=_12;
+this.processor.transform();
+var _13=new ActiveXObject(_SARISSA_DOM_PROGID);
+_13.loadXML(_12.output+"");
+return _13;
+}
+};
+XSLTProcessor.prototype.transformToFragment=function(_14,_15){
+this.processor.input=_14;
+this.processor.transform();
+var s=this.processor.output;
+var f=_15.createDocumentFragment();
+if(this.outputMethod=="text"){
+f.appendChild(_15.createTextNode(s));
+}else{
+if(_15.body&&_15.body.innerHTML){
+var _18=_15.createElement("div");
+_18.innerHTML=s;
+while(_18.hasChildNodes()){
+f.appendChild(_18.firstChild);
+}
+}else{
+var _19=new ActiveXObject(_SARISSA_DOM_PROGID);
+if(s.substring(0,5)=="<?xml"){
+s=s.substring(s.indexOf("?>")+2);
+}
+var xml="".concat("<my>",s,"</my>");
+_19.loadXML(xml);
+var _18=_19.documentElement;
+while(_18.hasChildNodes()){
+f.appendChild(_18.firstChild);
+}
+}
+}
+return f;
+};
+XSLTProcessor.prototype.setParameter=function(_1b,_1c,_1d){
+if(_1b){
+this.processor.addParameter(_1c,_1d,_1b);
+}else{
+this.processor.addParameter(_1c,_1d);
+}
+if(!this.paramsSet[""+_1b]){
+this.paramsSet[""+_1b]=new Array();
+}
+this.paramsSet[""+_1b][_1c]=_1d;
+};
+XSLTProcessor.prototype.getParameter=function(_1e,_1f){
+_1e=_1e||"";
+if(this.paramsSet[_1e]&&this.paramsSet[_1e][_1f]){
+return this.paramsSet[_1e][_1f];
+}else{
+return null;
+}
+};
+XSLTProcessor.prototype.clearParameters=function(){
+for(var _20 in this.paramsSet){
+for(var _21 in this.paramsSet[_20]){
+if(_20){
+this.processor.addParameter(_21,null,_20);
+}else{
+this.processor.addParameter(_21,null);
+}
+}
+}
+this.paramsSet=new Array();
+};
+}else{
+if(_SARISSA_HAS_DOM_CREATE_DOCUMENT){
+Sarissa.__handleLoad__=function(_22){
+Sarissa.__setReadyState__(_22,4);
+};
+_sarissa_XMLDocument_onload=function(){
+Sarissa.__handleLoad__(this);
+};
+Sarissa.__setReadyState__=function(_23,_24){
+_23.readyState=_24;
+_23.readystate=_24;
+if(_23.onreadystatechange!=null&&typeof _23.onreadystatechange=="function"){
+_23.onreadystatechange();
+}
+};
+Sarissa.getDomDocument=function(_25,_26){
+var _27=document.implementation.createDocument(_25?_25:null,_26?_26:null,null);
+if(!_27.onreadystatechange){
+_27.onreadystatechange=null;
+}
+if(!_27.readyState){
+_27.readyState=0;
+}
+_27.addEventListener("load",_sarissa_XMLDocument_onload,false);
+return _27;
+};
+if(window.XMLDocument){
+}else{
+if(_SARISSA_HAS_DOM_FEATURE&&window.Document&&!Document.prototype.load&&document.implementation.hasFeature("LS","3.0")){
+Sarissa.getDomDocument=function(_28,_29){
+var _2a=document.implementation.createDocument(_28?_28:null,_29?_29:null,null);
+return _2a;
+};
+}else{
+Sarissa.getDomDocument=function(_2b,_2c){
+var _2d=document.implementation.createDocument(_2b?_2b:null,_2c?_2c:null,null);
+if(_2d&&(_2b||_2c)&&!_2d.documentElement){
+_2d.appendChild(_2d.createElementNS(_2b,_2c));
+}
+return _2d;
+};
+}
+}
+}
+}
+if(!window.DOMParser){
+if(_SARISSA_IS_SAFARI){
+DOMParser=function(){
+};
+DOMParser.prototype.parseFromString=function(_2e,_2f){
+var _30=new XMLHttpRequest();
+_30.open("GET","data:text/xml;charset=utf-8,"+encodeURIComponent(_2e),false);
+_30.send(null);
+return _30.responseXML;
+};
+}else{
+if(Sarissa.getDomDocument&&Sarissa.getDomDocument()&&Sarissa.getDomDocument(null,"bar").xml){
+DOMParser=function(){
+};
+DOMParser.prototype.parseFromString=function(_31,_32){
+var doc=Sarissa.getDomDocument();
+doc.loadXML(_31);
+return doc;
+};
+}
+}
+}
+if((typeof (document.importNode)=="undefined")&&_SARISSA_IS_IE){
+try{
+document.importNode=function(_34,_35){
+var tmp;
+if(_34.nodeName=="tbody"||_34.nodeName=="tr"){
+tmp=document.createElement("table");
+}else{
+if(_34.nodeName=="td"){
+tmp=document.createElement("tr");
+}else{
+if(_34.nodeName=="option"){
+tmp=document.createElement("select");
+}else{
+tmp=document.createElement("div");
+}
+}
+}
+if(_35){
+tmp.innerHTML=_34.xml?_34.xml:_34.outerHTML;
+}else{
+tmp.innerHTML=_34.xml?_34.cloneNode(false).xml:_34.cloneNode(false).outerHTML;
+}
+return tmp.getElementsByTagName("*")[0];
+};
+}
+catch(e){
+}
+}
+if(!Sarissa.getParseErrorText){
+Sarissa.getParseErrorText=function(_37){
+var _38=Sarissa.PARSED_OK;
+if(!_37.documentElement){
+_38=Sarissa.PARSED_EMPTY;
+}else{
+if(_37.documentElement.tagName=="parsererror"){
+_38=_37.documentElement.firstChild.data;
+_38+="\n"+_37.documentElement.firstChild.nextSibling.firstChild.data;
+}else{
+if(_37.getElementsByTagName("parsererror").length>0){
+var _39=_37.getElementsByTagName("parsererror")[0];
+_38=Sarissa.getText(_39,true)+"\n";
+}else{
+if(_37.parseError&&_37.parseError.errorCode!=0){
+_38=Sarissa.PARSED_UNKNOWN_ERROR;
+}
+}
+}
+}
+return _38;
+};
+}
+Sarissa.getText=function(_3a,_3b){
+var s="";
+var _3d=_3a.childNodes;
+for(var i=0;i<_3d.length;i++){
+var _3f=_3d[i];
+var _40=_3f.nodeType;
+if(_40==Node.TEXT_NODE||_40==Node.CDATA_SECTION_NODE){
+s+=_3f.data;
+}else{
+if(_3b==true&&(_40==Node.ELEMENT_NODE||_40==Node.DOCUMENT_NODE||_40==Node.DOCUMENT_FRAGMENT_NODE)){
+s+=Sarissa.getText(_3f,true);
+}
+}
+}
+return s;
+};
+if(!window.XMLSerializer&&Sarissa.getDomDocument&&Sarissa.getDomDocument("","foo",null).xml){
+XMLSerializer=function(){
+};
+XMLSerializer.prototype.serializeToString=function(_41){
+return _41.xml;
+};
+}
+Sarissa.stripTags=function(s){
+return s.replace(/<[^>]+>/g,"");
+};
+Sarissa.clearChildNodes=function(_43){
+while(_43.firstChild){
+_43.removeChild(_43.firstChild);
+}
+};
+Sarissa.copyChildNodes=function(_44,_45,_46){
+if((!_44)||(!_45)){
+throw "Both source and destination nodes must be provided";
+}
+if(!_46){
+Sarissa.clearChildNodes(_45);
+}
+var _47=_45.nodeType==Node.DOCUMENT_NODE?_45:_45.ownerDocument;
+var _48=_44.childNodes;
+if(typeof (_47.importNode)!="undefined"){
+for(var i=0;i<_48.length;i++){
+_45.appendChild(_47.importNode(_48[i],true));
+}
+}else{
+for(var i=0;i<_48.length;i++){
+_45.appendChild(_48[i].cloneNode(true));
+}
+}
+};
+Sarissa.moveChildNodes=function(_4a,_4b,_4c){
+if((!_4a)||(!_4b)){
+throw "Both source and destination nodes must be provided";
+}
+if(!_4c){
+Sarissa.clearChildNodes(_4b);
+}
+var _4d=_4a.childNodes;
+if(_4a.ownerDocument==_4b.ownerDocument){
+while(_4a.firstChild){
+_4b.appendChild(_4a.firstChild);
+}
+}else{
+var _4e=_4b.nodeType==Node.DOCUMENT_NODE?_4b:_4b.ownerDocument;
+if(typeof (_4e.importNode)!="undefined"){
+for(var i=0;i<_4d.length;i++){
+_4b.appendChild(_4e.importNode(_4d[i],true));
+}
+}else{
+for(var i=0;i<_4d.length;i++){
+_4b.appendChild(_4d[i].cloneNode(true));
+}
+}
+Sarissa.clearChildNodes(_4a);
+}
+};
+Sarissa.xmlize=function(_50,_51,_52){
+_52=_52?_52:"";
+var s=_52+"<"+_51+">";
+var _54=false;
+if(!(_50 instanceof Object)||_50 instanceof Number||_50 instanceof String||_50 instanceof Boolean||_50 instanceof Date){
+s+=Sarissa.escape(""+_50);
+_54=true;
+}else{
+s+="\n";
+var _55="";
+var _56=_50 instanceof Array;
+for(var _57 in _50){
+s+=Sarissa.xmlize(_50[_57],(_56?"array-item key=\""+_57+"\"":_57),_52+"   ");
+}
+s+=_52;
+}
+return s+=(_51.indexOf(" ")!=-1?"</array-item>\n":"</"+_51+">\n");
+};
+Sarissa.escape=function(_58){
+return _58.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;");
+};
+Sarissa.unescape=function(_59){
+return _59.replace(/&apos;/g,"'").replace(/&quot;/g,"\"").replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&amp;/g,"&");
+};
+
+IS_SAFARI=navigator.userAgent.toLowerCase().indexOf("safari")!=-1||navigator.userAgent.toLowerCase().indexOf("konqueror")!=-1;
+IS_SAFARI_OLD=IS_SAFARI&&parseInt((navigator.userAgent.match(/AppleWebKit\/(\d+)/)||{})[1])<420;
+IS_GECKO=document.implementation&&document.implementation.createDocument&&true;
+IS_OPERA=navigator.userAgent.toLowerCase().indexOf("opera")!=-1;
+IS_IE=document.all&&!IS_OPERA;
+IS_NEW_SAFARI=IS_SAFARI&&navigator.userAgent.toLowerCase().indexOf("version/3")!=-1;
+if(IS_SAFARI_OLD&&!IS_NEW_SAFARI){
+HTMLHtmlElement=document.createElement("html").constructor;
+Node=HTMLElement={};
+HTMLElement.prototype=HTMLHtmlElement.__proto__.__proto__;
+HTMLDocument=Document=document.constructor;
+var x=new DOMParser();
+XMLDocument=x.constructor;
+Element=x.parseFromString("<Single />","text/xml").documentElement.constructor;
+x=null;
+}
+TAGNAME=IS_IE?"baseName":"localName";
+var _$=function(_1,_2,_3,_4){
+return (_2||document).getElementsByTagName(_1);
+};
+if(IS_SAFARI){
+XPath={cache:{},getChildNode:function(_5,_6,_7,_8,_9,_a){
+var _b=0,result=null,data=_7[_8];
+if(_6!=null){
+if(_6.indexOf(":")>0){
+_6=_6.split(":")[1];
+}
+}
+var _c=_5.childNodes;
+if(!_c){
+return;
+}
+for(var i=0;i<_c.length;i++){
+if(_6&&(_c[i].style?_c[i].tagName.toLowerCase():_c[i].tagName)!=_6){
+continue;
+}
+if(data){
+data[0](_c[i],data[1],_7,_8+1,_b++,_a);
+}else{
+_a.push(_c[i]);
+}
+}
+},doQuery:function(_e,_f,_10,_11,num,_13){
+var _14=null,data=_10[_11];
+var _15=_f[0];
+var _16=_f[1];
+try{
+var _17=eval(_15);
+}
+catch(e){
+alert("eror :"+e+" in query : "+_15);
+return;
+}
+if(_16){
+return _13.push(_17);
+}
+if(_17==null||_17=="undefined"||_17==""){
+return;
+}
+if(data){
+data[0](_e,data[1],_10,_11+1,0,_13);
+}else{
+_13.push(_e);
+}
+},getTextNode:function(_18,_19,_1a,_1b,num,_1d){
+var _1e=null,data=_1a[_1b];
+var _1f=_18.childNodes;
+for(var i=0;i<_1f.length;i++){
+if(_1f[i].nodeType!=3&&_1f[i].nodeType!=4){
+continue;
+}
+if(data){
+data[0](_1f[i],data[1],_1a,_1b+1,i,_1d);
+}else{
+_1d.push(_1f[i]);
+}
+}
+},getAnyNode:function(_21,_22,_23,_24,num,_26){
+var _27=null,data=_23[_24];
+var sel=[],nodes=_21.childNodes;
+for(var i=0;i<nodes.length;i++){
+if(data){
+data[0](nodes[i],data[1],_23,_24+1,i,_26);
+}else{
+_26.push(nodes[i]);
+}
+}
+},getAttributeNode:function(_2a,_2b,_2c,_2d,num,_2f){
+if(!_2a||_2a.nodeType!=1){
+return;
+}
+var _30=null,data=_2c[_2d];
+var _31=_2a.getAttributeNode(_2b);
+if(data){
+data[0](_31,data[1],_2c,_2d+1,0,_2f);
+}else{
+if(_31){
+_2f.push(_31);
+}
+}
+},getAllNodes:function(_32,x,_34,_35,num,_37){
+var _38=null,data=_34[_35];
+var _39=x[0];
+if(_39!=null){
+if(_39.indexOf(":")>0){
+_39=_39.split(":")[1];
+}
+}
+var _3a=x[1];
+var _3b=x[2];
+if(_3a&&(_32.tagName==_39||_39=="*")){
+if(data){
+data[0](_32,data[1],_34,_35+1,0,_37);
+}else{
+_37.push(_32);
+}
+}
+var _3c=_$(_39,_32,_39==_3b?"":_3b);
+for(var i=0;i<_3c.length;i++){
+if(data){
+data[0](_3c[i],data[1],_34,_35+1,i,_37);
+}else{
+_37.push(_3c[i]);
+}
+}
+},getParentNode:function(_3e,_3f,_40,_41,num,_43){
+var _44=null,data=_40[_41];
+var _45=_3e.parentNode;
+if(data){
+data[0](_45,data[1],_40,_41+1,0,_43);
+}else{
+if(_45){
+_43.push(_45);
+}
+}
+},getPrecedingSibling:function(_46,_47,_48,_49,num,_4b){
+if(_47=="*"){
+_47=_46.tagName;
+}
+var _4c=null,data=_48[_49];
+var _4d=_46.previousSibling;
+while(_4d){
+if(_47!="node()"&&_4d.tagName!=_47){
+continue;
+}
+if(_4d){
+_4b.push(_4d);
+}
+_4d=_4d.previousSibling;
+}
+},getFollowingSibling:function(_4e,_4f,_50,_51,num,_53){
+var _54=null,data=_50[_51];
+if(_4f=="*"){
+_4f=_4e.tagName;
+}
+var _55=_4e.nextSibling;
+while(_55){
+if(_4f!="NODE()"&&_55.tagName!=_4f){
+continue;
+}
+if(_55!=null){
+_53.push(_55);
+}
+_55=_55.previousSibling;
+}
+},getPreceding:function(_56,_57,_58,_59,num,_5b){
+if(_57=="*"){
+_57=_56.tagName;
+}
+var _5c=null,data=_58[_59];
+var _5d=_56.parentNode;
+var _5e=_56.previousSibling;
+while(_5e){
+if(_5e.parentNode!=_5d&&_57!="NODE()"&&_5e.tagName!=_57){
+_5e=_5e.previousSibling;
+continue;
+}
+if(_5e){
+_5b.push(_5e);
+_5e=_5e.previousSibling;
+}
+}
+},getFollowing:function(_5f,_60,_61,_62,num,_64){
+if(_60=="*"){
+_60=_5f.tagName;
+}
+var _65=null,data=_61[_62];
+var _66=_5f.parentNode;
+var _67=_5f.nextSibling;
+while(_67){
+if(_67.parentNode!=_66&&_60!="NODE()"&&_67.tagName!=_60){
+_67=_67.nextSibling;
+continue;
+}
+if(_67){
+_64.push(_67);
+_67=_67.nextSibling;
+}
+}
+},multiXpaths:function(_68,_69,_6a,_6b,num,_6d){
+for(var i=_69.length;i>0;i--){
+var _6a=_69[i][0];
+var _6f=(_6a[3]?_68.ownerDocument.documentElement:_68);
+_6a[0](_6f,_6a[1],_69[i],1,0,_6d);
+}
+_6d.makeUnique();
+},compile:function(_70){
+_70=_70.replace(/\[(\d+)\]/g,"/##$1");
+_70=_70.replace(/\|\|(\d+)\|\|\d+/g,"##$1");
+_70=_70.replace(/\.\|\|\d+/g,".");
+_70=_70.replace(/\[([^\]]*)\]/g,"/##$1#");
+if(_70=="/"||_70=="."){
+return _70;
+}
+_70=_70.replace(/\/\//g,"descendant::");
+return this.processXpath(_70);
+},processXpath:function(_71){
+var _72=new Array();
+_71=_71.replace(/('[^']*)\|([^']*')/g,"$1_@_$2");
+_71=_71.split("|");
+for(var i=0;i<_71.length;i++){
+_71[i]=_71[i].replace(/('[^']*)\_\@\_([^']*')/g,"$1|$2");
+}
+if(_71.length==1){
+_71=_71[0];
+}else{
+for(var i=0;i<_71.length;i++){
+_71[i]=this.processXpath(_71[i]);
+}
+_72.push([this.multiXpaths,_71]);
+return _72;
+}
+if(_71.match(/\(/)){
+_72.push([this.doQuery,[this.compileQuery(_71),true]]);
+return _72;
+}
+var _74=_71.match(/^\/[^\/]/);
+var _75=_71.split("/");
+for(var i=0;i<_75.length;i++){
+if(_75[i]=="."||_75[i]==""){
+continue;
+}else{
+if(_75[i].match(/^[\w-_\.]+(?:\:[\w-_\.]+){0,1}$/)){
+_72.push([this.getChildNode,_75[i]]);
+}else{
+if(_75[i].match(/^\#\#(\d+)$/)){
+_72.push([this.doQuery,["num+1 == "+parseInt(RegExp.$1)]]);
+}else{
+if(_75[i].match(/^\#\#(.*)$/)){
+var _76=RegExp.$1;
+var m=[_76.match(/\(/g),_76.match(/\)/g)];
+if(m[0]||m[1]){
+while(!m[0]&&m[1]||m[0]&&!m[1]||m[0].length!=m[1].length){
+if(!_75[++i]){
+break;
+}
+_76+=_75[i];
+}
+}else{
+i++;
+while(_75[i]){
+if(!_75[i]){
+break;
+}
+if(_75[i-1].match(/.*\#$/)){
+break;
+}
+_76+="/"+_75[i];
+i++;
+}
+}
+_76=_76.replace(/\#/,"");
+_72.push([this.doQuery,[this.compileQuery(_76)]]);
+}else{
+if(_75[i]=="*"){
+_72.push([this.getChildNode,null]);
+}else{
+if(_75[i].substr(0,2)=="[]"){
+_72.push([this.getAllNodes,["*",false]]);
+}else{
+if(_75[i].match(/::/)){
+if(_75[i].match(/descendant-or-self::node\(\)$/)){
+_72.push([this.getAllNodes,["*",true]]);
+}else{
+if(_75[i].match(/descendant-or-self::([^\:]*)(?:\:(.*)){0,1}$/)){
+_72.push([this.getAllNodes,[RegExp.$2||RegExp.$1,true,RegExp.$1]]);
+}else{
+if(_75[i].match(/descendant::([^\:]*)(?:\:(.*)){0,1}$/)){
+_72.push([this.getAllNodes,[RegExp.$2||RegExp.$1,false,RegExp.$1]]);
+}else{
+if(_75[i].match(/following-sibling::(.*)$/)){
+_72.push([this.getFollowingSibling,RegExp.$1.toUpperCase()]);
+}else{
+if(_75[i].match(/preceding-sibling::(.*)$/)){
+_72.push([this.getPrecedingSibling,RegExp.$1.toUpperCase()]);
+}else{
+if(_75[i].match(/following::(.*)$/)){
+_72.push([this.getFollowing,RegExp.$1.toUpperCase()]);
+}else{
+if(_75[i].match(/preceding::(.*)$/)){
+_72.push([this.getPreceding,RegExp.$1.toUpperCase()]);
+}else{
+if(_75[i].match(/self::(.*)$/)){
+_72.push([this.doQuery,["XPath.doXpathFunc('local-name', htmlNode) == '"+RegExp.$1+"'"]]);
+}
+}
+}
+}
+}
+}
+}
+}
+}else{
+if(_75[i].match(/^\@(.*)$/)){
+_72.push([this.getAttributeNode,RegExp.$1]);
+}else{
+if(_75[i]=="text()"){
+_72.push([this.getTextNode,null]);
+}else{
+if(_75[i]=="node()"){
+_72.push([this.getAnyNode,null]);
+}else{
+if(_75[i]==".."){
+_72.push([this.getParentNode,null]);
+}else{
+var _76=_75[i];
+var m=[_76.match(/\(/g),_76.match(/\)/g)];
+if(m[0]||m[1]){
+while(!m[0]&&m[1]||m[0]&&!m[1]||m[0].length!=m[1].length){
+if(!_75[++i]){
+break;
+}
+_76+="/"+_75[i];
+m=[_76.match(/\(/g),_76.match(/\)/g)];
+}
+}
+_72.push([this.doQuery,[this.compileQuery(_76),true]]);
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+_72[0][3]=_74;
+return _72;
+},compileQuery:function(_78){
+var c=new CodeCompilation(_78);
+var _7a=c.compile();
+return _7a;
+},doXpathFunc:function(_7b,_7c,_7d,_7e){
+switch(_7b){
+case "not":
+if((_7c==null)||(_7c==true)){
+return false;
+}else{
+return true;
+}
+case "position":
+return parseInt(_7c);
+case "position()":
+return num;
+case "format-number":
+return new String(Math.round(parseFloat(_7c)*100)/100).replace(/(\.\d?\d?)$/,function(m1){
+return m1.pad(3,"0",PAD_RIGHT);
+});
+case "floor":
+return Math.floor(_7c);
+case "ceiling":
+return Math.ceil(_7c);
+case "starts-with":
+return _7c?_7c.substr(0,_7d.length)==_7d:false;
+case "string-length":
+return _7c?_7c.length:0;
+case "count":
+return _7c?parseInt(_7c.length):0;
+case "last":
+return _7c?_7c[_7c.length-1]:null;
+case "local-name":
+return _7c?_7c.tagName:"";
+case "substring":
+return _7c&&_7d?_7c.substring(_7d,_7e||0):"";
+case "contains":
+return _7c&&_7d?_7c.indexOf(_7d)>-1:false;
+case "concat":
+for(var str="",i=1;i<arguments.length;i++){
+if(typeof arguments[i]=="object"){
+str+=getNodeValue(arguments[i][0]);
+continue;
+}
+str+=arguments[i];
+}
+return str;
+}
+},selectNodeExtended:function(_81,_82){
+var _83=this.selectNodes(_81,_82);
+if(_83.length==1){
+_83=_83[0];
+return getNodeValue(_83);
+}
+return _83;
+},selectNodes:function(_84,_85){
+if(!this.cache[_84]){
+this.cache[_84]=this.compile(_84);
+}
+if(typeof this.cache[_84]=="string"){
+if(this.cache[_84]=="."){
+return [_85];
+}
+if(this.cache[_84]=="/"){
+return [_85.nodeType==9?_85:_85.ownerDocument.documentElement];
+}
+}
+var _86=this.cache[_84][0];
+var _87=(_86[3]&&!_85.nodeType==9?_85.ownerDocument.documentElement:_85);
+var _88=[];
+var y=new XMLSerializer();
+_86[0](_87,_86[1],this.cache[_84],1,0,_88);
+if(_88==""){
+if(_84.indexOf(/\/\//)){
+while(_87.parentNode){
+if(_87){
+_87=_87.parentNode;
+}
+}
+_86[0](_87,_86[1],this.cache[_84],1,0,_88);
+}
+}
+return _88;
+}};
+function getNodeValue(_8a){
+if(_8a.nodeType==1){
+return _8a.firstChild?_8a.firstChild.nodeValue:"";
+}
+if(_8a.nodeType>1||_8a.nodeType<5){
+return _8a.nodeValue;
+}
+return _8a;
+}
+function CodeCompilation(_8b){
+this.data={F:[],S:[],I:[],X:[],P:[]};
+this.compile=function(){
+_8b=_8b.replace(/ or /g," || ");
+_8b=_8b.replace(/ and /g," && ");
+_8b=_8b.replace(/!=/g,"{}");
+_8b=_8b.replace(/ mod /g,"%");
+_8b=_8b.replace(/=/g,"==");
+_8b=_8b.replace(/====/g,"==");
+_8b=_8b.replace(/\{\}/g,"!=");
+this.tokenize();
+this.insert();
+return _8b;
+};
+this.tokenize=function(){
+var _8c=this.data.P;
+_8b=_8b.replace(/\((.*\#\#.*[^)])/g,function(d,_8e){
+return "("+(_8c.push(_8e)-1)+"P_";
+});
+var _8c=this.data.F;
+_8b=_8b.replace(/(format-number|contains|substring|local-name|last|node|position|round|starts-with|string|string-length|sum|floor|ceiling|concat|count|not)\s*\(/g,function(d,_90){
+return (_8c.push(_90)-1)+"F_";
+});
+var _8c=this.data.S;
+_8b=_8b.replace(/'([^']*)'/g,function(d,_92){
+return (_8c.push(_92)-1)+"S_";
+});
+_8b=_8b.replace(/"([^"]*)"/g,function(d,_94){
+return (_8c.push(_94)-1)+"S_";
+});
+var _8c=this.data.X;
+_8b=_8b.replace(/(^|\W|\_)([\@\.\/A-Za-z][\.\@\/\w:-]*(?:\(\)){0,1})/g,function(d,m1,m2){
+return m1+(_8c.push(m2)-1)+"X_";
+});
+_8b=_8b.replace(/(\.[\.\@\/\w]*)/g,function(d,m1,m2){
+return (_8c.push(m1)-1)+"X_";
+});
+var _8c=this.data.I;
+_8b=_8b.replace(/(\d+)(\W)/g,function(d,m1,m2){
+return (_8c.push(m1)-1)+"I_"+m2;
+});
+};
+this.insert=function(){
+var _9e=this.data;
+var _9f=0;
+_8b=_8b.replace(/(\d+)([FISXP])_/g,function(d,nr,_a2){
+var _a3=_9e[_a2][nr];
+if(_a2=="F"){
+_9f++;
+var _a4="XPath.doXpathFunc('"+_a3+"', ";
+if(_a3=="position"){
+_a4+="XPath.selectNodes('count(preceding::'+htmlNode.tagName+')', htmlNode)";
+}
+return _a4;
+}else{
+if(_a2=="S"){
+return "'"+_a3+"'";
+}else{
+if(_a2=="I"){
+return _a3;
+}else{
+if(_a2=="X"){
+if(_8b.indexOf("X")>_8b.indexOf(")")){
+_9f=0;
+}
+if(_9f>0){
+return "XPath.selectNodes('"+_a3.replace(/'/g,"\\'")+"', htmlNode)";
+}else{
+return "XPath.selectNodeExtended('"+_a3.replace(/'/g,"\\'")+"', htmlNode)";
+}
+}else{
+if(_a2=="P"){
+return "XPath.selectNodes('"+_a3.replace(/'/g,"\\'")+" ', htmlNode)";
+}
+}
+}
+}
+}
+});
+};
+}
+}
+if(IS_SAFARI){
+HTMLDocument.prototype.selectNodes=Element.prototype.selectNodes=XMLDocument.prototype.selectNodes=function(_a5,_a6){
+return XPath.selectNodes(_a5,_a6||this);
+};
+HTMLDocument.prototype.selectSingleNode=Element.prototype.selectSingleNode=XMLDocument.prototype.selectSingleNode=function(_a7,_a8){
+return XPath.selectNodes(_a7,_a8||this)[0];
+};
+}
+
+if(!IS_IE&&!self.XSLTProcessor){
+XSLTProcessor=_Javeline_XSLTProcessor;
+}
+function _Javeline_XSLTProcessor(){
+this.templates={};
+this.paramsSet={};
+this.currentTemplate="global";
+this.p={"value-of":function(_1,_2,_3,_4){
+var _5=this.lookforVariable(_2.getAttribute("select"));
+var _6=_1.selectNodes(_5)[0];
+if(_6!=null){
+if(_6==null){
+value="";
+}else{
+if(_6.nodeType==1){
+value=_6.firstChild?_6.firstChild.nodeValue:"";
+}else{
+value=typeof _6=="object"?_6.nodeValue:_6;
+}
+}
+}else{
+value=_5;
+}
+_4.appendChild(this.xmlDoc.createTextNode(value));
+},"copy-of":function(_7,_8,_9,_a){
+var _b=XPath.selectNodes(this.lookforVariable(_8.getAttribute("select")),_7)[0];
+if(_b){
+_a.appendChild(!IS_IE?_a.ownerDocument.importNode(_b,true):_b.cloneNode(true));
+}
+},"if":function(_c,_d,_e,_f){
+var _10=this.lookforVariable(_d.getAttribute("test"));
+if(XPath.selectNodes(_10,_c)[0]){
+this.parseChildren(_c,_d,_e,_f);
+}
+},"for-each":function(_11,_12,_13,_14){
+var _15=XPath.selectNodes(this.lookforVariable(_12.getAttribute("select")),_11);
+for(var i=0;i<_15.length;i++){
+this.parseChildren(_15[i],_12,_13,_14);
+}
+},"attribute":function(_17,_18,_19,_1a){
+var _1b=this.xmlDoc.createDocumentFragment();
+this.parseChildren(_17,_18,_19,_1b);
+_1a.setAttribute(_18.getAttribute("name"),_1b.xml);
+},"choose":function(_1c,_1d,_1e,_1f){
+var _20=_1d.childNodes;
+for(var i=0;i<_20.length;i++){
+if(!_20[i].tagName){
+continue;
+}
+if(_20[i][TAGNAME]=="when"){
+var _22=_1c.selectNodes(this.lookforVariable(_20[i].getAttribute("test")))[0];
+if(_22=="undefined"){
+return;
+}
+}
+if(_20[i][TAGNAME]=="otherwise"||(_20[i][TAGNAME]=="when"&&_22)){
+return this.parseChildren(_1c,_20[i],_1e[i][2],_1f);
+}
+}
+},"text":function(_23,_24,_25,_26){
+if(xmlNode==null){
+value="";
+}else{
+if(xmlNode.nodeType==1){
+value=xmlNode.firstChild?xmlNode.firstChild.nodeValue:"";
+}else{
+value=typeof xmlNode=="object"?xmlNode.nodeValue:xmlNode;
+}
+}
+value=expression;
+_26.appendChild(this.xmlDoc.createTextNode(value));
+},"call-template":function(_27,_28,_29,_2a){
+var t=this.templates[_28.getAttribute("name")];
+this.currentTemplate=t;
+if(t){
+this.parseChildren(_27,t[0],t[1],_2a);
+this.withparams(_28);
+this.currentTemplate=t;
+this.paramsSet[this.currentTemplate]=new Array();
+}
+},"apply-templates":function(_2c,_2d,_2e,_2f){
+if(!_2d){
+var _30=_2c.childNodes[0];
+var _31=_30.tagName;
+var _32=this.lookforTemplate(_31);
+if(_32==0){
+_32="/";
+}
+t=this.templates[_32];
+if(t){
+this.p["apply-templates"].call(this,_2c,t[0],t[1],_2f);
+}
+}else{
+var aux=_2d.getAttribute("match")||_2d.getAttribute("select");
+aux=this.lookforVariable(aux);
+var _34="";
+if(this.templates[aux]){
+_34=aux;
+}else{
+_34=this.lookforTemplate2(aux);
+}
+if(aux){
+this.currentTemplate=_34;
+var t=this.templates[_34];
+if(t){
+var _36=_2c.selectNodes(aux);
+var _37;
+this.withparams(_2d);
+if(_2d.firstChild[TAGNAME]=="sort"){
+this.xslSort(_2d.firstChild,_36,_37);
+}
+if(!_36[0]){
+return;
+}
+for(var i=0;i<_36.length;i++){
+if(_2d.firstChild[TAGNAME]=="sort"){
+this.parseChildren(_36[_37[i]],t[0],t[1],_2f);
+}else{
+this.parseChildren(i,t[0],t[1],_2f);
+}
+this.currentTemplate=_34;
+this.paramsSet[this.currentTemplate]=new Array();
+}
+}
+}else{
+if(_2d.getAttribute("name")){
+var t=this.templates[_2d.getAttribute("name")];
+this.currentTemplate=t;
+if(t){
+this.withparams(_2d);
+this.parseChildren(_2c,t[0],t[1],_2f);
+this.currentTemplate=t;
+this.paramsSet[this.currentTemplate]=new Array();
+}
+}else{
+var _39=_2c.cloneNode(true);
+var _3a=this.xmlDoc.createDocumentFragment();
+var _36=_39.childNodes;
+if(!_36[0]){
+return;
+}
+for(var _3b,i=_36.length-1;i>=0;i--){
+if(_36[i].nodeType==3||_36[i].nodeType==4){
+continue;
+}
+if(!_36[i].nodeType==1){
+continue;
+}
+var n=_36[i];
+for(_3b in this.templates){
+if(_3b=="/"){
+continue;
+}
+var t=this.templates[_3b];
+var _3d=n.selectNodes("self::"+_3b);
+for(var j=_3d.length-1;j>=0;j--){
+var s=_3d[j],p=s.parentNode;
+this.parseChildren(s,t[0],t[1],_3a);
+this.paramsSet[this.currentTemplate]=new Array();
+if(_3a.childNodes){
+for(var k=_3a.childNodes.length-1;k>=0;k--){
+p.insertBefore(_3a.childNodes[k],s);
+}
+}
+p.removeChild(s);
+}
+}
+if(n.parentNode){
+var p=n.parentNode;
+this.p["apply-templates"].call(this,n,_2d,_2e,_3a);
+if(_3a.childNodes){
+for(var k=_3a.childNodes.length-1;k>=0;k--){
+p.insertBefore(_3a.childNodes[k],n);
+}
+}
+p.removeChild(n);
+}
+}
+for(var i=_39.childNodes.length-1;i>=0;i--){
+_2f.insertBefore(_39.childNodes[i],_2f.firstChild);
+}
+}
+}
+}
+},cache:{},"import":function(_42,_43,_44,_45){
+var _46=_43.getAttribute("href");
+if(!this.cache[_46]){
+var _47=new HTTP().get(_46,false,true);
+this.cache[_46]=_47;
+}
+},"include":function(_48,_49,_4a,_4b){
+},"element":function(_4c,_4d,_4e,_4f){
+var _50=this.xmlDoc.createElement(_4d.getAttribute("name"));
+this.parseChildren(_4c,_4d,_4e,_50);
+_4f.appendChild(_50);
+},"param":function(_51,_52,_53,_54){
+var _55=_52.getAttribute("name");
+if(!this.paramsSet["params"][_55]&&_52.firstChild){
+var aux=getNodeValue(_52);
+if(aux=="undefined"){
+aux=false;
+}
+this.paramsSet["params"][_55]=aux;
+}
+},"with-param":function(_57,_58,_59,_5a){
+},"variable":function(_5b,_5c,_5d,_5e){
+var _5f=_5c.getAttribute("name");
+var _60="";
+if(!this.paramsSet[this.currentTemplate]){
+this.paramsSet[this.currentTemplate]=new Array();
+}
+if(!this.paramsSet[this.currentTemplate][_5f]){
+var _61=this.xmlDoc.createDocumentFragment();
+this.parseChildren(_5b,_5c,_5d,_61);
+var _62=_61.childNodes;
+var _63=_5c.getAttribute("select");
+if(_63){
+_63=this.lookforVariable(_63);
+try{
+var _64=_5b.selectNodes(_63)[0];
+if(!_64){
+_60="";
+}else{
+if(_64.nodeType==1){
+_60=_64.firstChild?_64.firstChild.nodeValue:"";
+}else{
+_60=typeof _64=="object"?_64.nodeValue:_64;
+}
+}
+if(typeof _64=="number"){
+_60=""+_64;
+}
+}
+catch(e){
+}
+}else{
+for(var i=0;i<_62.length;i++){
+var _66=getNodeValue(_62[i]);
+if(_66!="undefined"){
+_60+=_66;
+}
+}
+}
+_60=_60.replace(/\s/g,"");
+this.paramsSet[this.currentTemplate][_5f]=_60;
+}
+},"when":function(){
+},"otherwise":function(){
+},"sort":function(){
+},"copy-clone":function(_67,_68,_69,_6a){
+_6a=_6a.appendChild(!IS_IE?_6a.ownerDocument.importNode(_68,false):_68.cloneNode(false));
+if(_6a.nodeType==1){
+for(var i=0;i<_6a.attributes.length;i++){
+var _6c=_6a.attributes[i].nodeValue;
+if(!IS_SAFARI&&_6a.attributes[i].nodeName.match(/^xmlns/)){
+continue;
+}
+_6a.attributes[i].nodeValue=this.variable(_6a.attributes[i].nodeValue);
+_6a.attributes[i].nodeValue=_6a.attributes[i].nodeValue.replace(/\{([^\}]+)\}/g,function(m,_6e){
+var _6f=XPath.selectNodes(_6e,_67)[0];
+if(!_6f){
+value="";
+}else{
+if(_6f.nodeType==1){
+value=_6f.firstChild?_6f.firstChild.nodeValue:"";
+}else{
+value=typeof _6f=="object"?_6f.nodeValue:_6f;
+}
+}
+return value;
+});
+_6a.attributes[i].nodeValue;
+}
+}
+this.parseChildren(_67,_68,_69,_6a);
+}};
+this.xslSort=function(_70,_71,_72){
+var _73=_70.getAttribute("select");
+var _72=new Array;
+var _74=new Array;
+for(var i=0;i<_71.length;i++){
+var _76=_71[i].selectNodes(_73);
+_72[i]=_76;
+_74[_76]=i;
+}
+_72.sort();
+var _77=new Array;
+for(var i=0;i<_72.length;i++){
+_77[_74[_72[i]]]=i;
+}
+_72=_77;
+};
+this.parseChildren=function(_78,_79,_7a,_7b){
+if(!_7a){
+alert("stack empty");
+return;
+}
+if(_7a.length==0){
+return;
+}
+for(var i=0;i<_7a.length;i++){
+_7a[i][0].call(this,_78,_7a[i][1],_7a[i][2],_7b);
+}
+};
+this.compile=function(_7d){
+var _7e=_7d.childNodes;
+for(var _7f=[],i=0;i<_7e.length;i++){
+var _80=_7e[i].nodeType;
+if(_7e[i][TAGNAME]=="template"){
+this.templates[_7e[i].getAttribute("match")||_7e[i].getAttribute("name")]=[_7e[i],this.compile(_7e[i])];
+}else{
+if(_7e[i][TAGNAME]=="stylesheet"){
+_7f=this.compile(_7e[i]);
+}else{
+if(_7e[i].prefix=="xsl"){
+var _81=this.p[_7e[i][TAGNAME]];
+if(!_81){
+alert("xsl:"+_7e[i][TAGNAME]+" is not supported at this time on this platform");
+}else{
+_7f.push([_81,_7e[i],this.compile(_7e[i])]);
+}
+}else{
+if(_80!=8){
+_7f.push([this.p["copy-clone"],_7e[i],this.compile(_7e[i])]);
+}
+}
+}
+}
+}
+return _7f;
+};
+this.variable=function(_82){
+if(_82.indexOf("$")!=-1){
+var _83=_82.match(/\$(\w)*/g);
+for(var i=0;i<_83.length;i++){
+var aux=_83[i].substring(1);
+for(p in this.paramsSet){
+if(this.paramsSet[p][aux]){
+_82=_82.replace("{"+_83[i]+"}",this.paramsSet[p][aux]);
+}
+}
+}
+}
+return _82;
+};
+this.withparams=function(_86){
+var _87=_86.childNodes;
+for(var i=0;i<_87.length;i++){
+if(_87[i][TAGNAME]=="with-param"){
+var _89=xslNode.getAttribute("name");
+var _8a=_87[i].childNodes;
+var _8b=xslNode.getAttribute("select");
+if(_8b){
+_8b=this.lookforVariable(_8b);
+try{
+var _8c=context.selectNodes(_8b)[0];
+if(!_8c){
+tempValue="";
+}else{
+if(_8c.nodeType==1){
+tempValue=_8c.firstChild?_8c.firstChild.nodeValue:"";
+}else{
+tempValue=typeof _8c=="object"?_8c.nodeValue:_8c;
+}
+}
+if(typeof _8c=="number"){
+tempValue=""+_8c;
+}
+}
+catch(e){
+}
+}else{
+for(var i=0;i<_87.length;i++){
+var _8d=getNodeValue(_87[i]);
+if(_8d!="undefined"){
+tempValue+=_8d;
+}
+}
+tempValue=tempValue.replace(/\s/g,"");
+this.paramsSet[this.currentTemplate][_89]=tempValue;
+}
+}
+}
+};
+this.lookforVariable=function(_8e){
+if(_8e.indexOf("$")!=-1){
+var _8f=0;
+var _90=_8e.match(/(=)?\$(\w*)/);
+while(_90){
+var aux=RegExp.$2;
+for(p in this.paramsSet){
+if(this.paramsSet[p][aux]){
+_8f=1;
+if(RegExp.$1=="="){
+_8e=_8e.replace("$"+aux,"'"+this.paramsSet[p][aux]+"'");
+}else{
+var _92=this.paramsSet;
+_8e=_8e.replace(/\$(\w*)/,function(d,_94){
+if(_94==aux){
+return _92[p][aux];
+}else{
+return _94;
+}
+});
+}
+}
+}
+if(_8f==0){
+_8e=_8e.replace("$"+aux,false);
+}
+_90=_8e.match(/(=)?\$(\w*)/);
+}
+}
+return _8e;
+};
+this.lookforTemplate=function(_95){
+var _96=":"+_95;
+for(look in this.templates){
+if(look.match(new RegExp(_96))){
+if(RegExp.rightContext==null){
+return look;
+}
+}
+}
+return 0;
+};
+this.lookforTemplate2=function(_97){
+if(_97=="/"){
+return "/";
+}
+var _98=_97.replace(/\[.*\]/g,"");
+_98=_98.split("/");
+_98=_98[_98.length-1];
+for(look in this.templates){
+if(look.match(new RegExp(_98))){
+if(RegExp.rightContext==null){
+return look;
+}
+}
+}
+return 0;
+};
+this.importStylesheet=function(_99){
+this.xslDoc=_99.nodeType==9?_99.documentElement:_99;
+this.xslStack=this.compile(_99);
+this.paramsSet=new Array();
+this.paramsSet["params"]=new Array();
+this.xslStack.push([this.p["apply-templates"],null]);
+};
+this.setParameter=function(_9a,_9b,_9c){
+_9c=_9c?_9c:"";
+this.paramsSet["params"][_9b]=_9c;
+};
+this.getParameter=function(_9d,_9e){
+_9d=""+_9d;
+if(this.paramsSet["params"][_9e]){
+return this.paramsSet[_9e];
+}else{
+return null;
+}
+};
+this.clearParameters=function(){
+this.paramsSet=new Array();
+this.paramsSet["params"]=new Array();
+};
+this.transformToFragment=function(doc,_a0){
+this.xmlDoc=_a0.nodeType!=9?_a0.ownerDocument:_a0;
+var _a1=this.xmlDoc.createDocumentFragment();
+this.paramsSet["global"]=new Array();
+this.currentTemplate="global";
+var _a2=this.parseChildren(doc,this.xslDoc,this.xslStack,_a1);
+return _a1;
+};
+}
+
+Sarissa.updateCursor=function(_1,_2){
+if(_1&&_1.style&&_1.style.cursor!=undefined){
+_1.style.cursor=_2;
+}
+};
+Sarissa.updateContentFromURI=function(_3,_4,_5,_6,_7){
+try{
+Sarissa.updateCursor(_4,"wait");
+var _8=new XMLHttpRequest();
+_8.open("GET",_3);
+function sarissa_dhtml_loadHandler(){
+if(_8.readyState==4){
+Sarissa.updateContentFromNode(_8.responseXML,_4,_5,_6);
+}
+}
+_8.onreadystatechange=sarissa_dhtml_loadHandler;
+if(_7){
+var _9="Sat, 1 Jan 2000 00:00:00 GMT";
+_8.setRequestHeader("If-Modified-Since",_9);
+}
+_8.send("");
+}
+catch(e){
+Sarissa.updateCursor(_4,"auto");
+throw e;
+}
+};
+Sarissa.updateContentFromNode=function(_a,_b,_c,_d){
+try{
+Sarissa.updateCursor(_b,"wait");
+Sarissa.clearChildNodes(_b);
+var _e=_a.nodeType==Node.DOCUMENT_NODE?_a:_a.ownerDocument;
+if(_e.parseError&&_e.parseError!=0){
+var _f=document.createElement("pre");
+_f.appendChild(document.createTextNode(Sarissa.getParseErrorText(_e)));
+_b.appendChild(_f);
+}else{
+if(_c){
+_a=_c.transformToDocument(_a);
+}
+if(_b.tagName.toLowerCase()=="textarea"||_b.tagName.toLowerCase()=="input"){
+_b.value=new XMLSerializer().serializeToString(_a);
+}else{
+if(_a.nodeType==Node.DOCUMENT_NODE||_a.ownerDocument.documentElement==_a){
+_b.innerHTML=new XMLSerializer().serializeToString(_a);
+}else{
+_b.appendChild(_b.ownerDocument.importNode(_a,true));
+}
+}
+}
+if(_d){
+_d(_a,_b);
+}
+}
+catch(e){
+throw e;
+}
+finally{
+Sarissa.updateCursor(_b,"auto");
+}
+};
+
+if(_SARISSA_HAS_DOM_FEATURE&&document.implementation.hasFeature("XPath","3.0")){
+function SarissaNodeList(i){
+this.length=i;
+}
+SarissaNodeList.prototype=new Array(0);
+SarissaNodeList.prototype.constructor=Array;
+SarissaNodeList.prototype.item=function(i){
+return (i<0||i>=this.length)?null:this[i];
+};
+SarissaNodeList.prototype.expr="";
+if(window.XMLDocument&&(!XMLDocument.prototype.setProperty)){
+XMLDocument.prototype.setProperty=function(x,y){
+};
+}
+Sarissa.setXpathNamespaces=function(_5,_6){
+_5._sarissa_useCustomResolver=true;
+var _7=_6.indexOf(" ")>-1?_6.split(" "):new Array(_6);
+_5._sarissa_xpathNamespaces=new Array(_7.length);
+for(var i=0;i<_7.length;i++){
+var ns=_7[i];
+var _a=ns.indexOf(":");
+var _b=ns.indexOf("=");
+if(_a>0&&_b>_a+1){
+var _c=ns.substring(_a+1,_b);
+var _d=ns.substring(_b+2,ns.length-1);
+_5._sarissa_xpathNamespaces[_c]=_d;
+}else{
+throw "Bad format on namespace declaration(s) given";
+}
+}
+};
+XMLDocument.prototype._sarissa_useCustomResolver=false;
+XMLDocument.prototype._sarissa_xpathNamespaces=new Array();
+XMLDocument.prototype.selectNodes=function(_e,_f,_10){
+var _11=this;
+var _12=this._sarissa_useCustomResolver?function(_13){
+var s=_11._sarissa_xpathNamespaces[_13];
+if(s){
+return s;
+}else{
+throw "No namespace URI found for prefix: '"+_13+"'";
+}
+}:this.createNSResolver(this.documentElement);
+var _15=null;
+if(!_10){
+var _16=this.evaluate(_e,(_f?_f:this),_12,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
+var _17=new SarissaNodeList(_16.snapshotLength);
+_17.expr=_e;
+for(var i=0;i<_17.length;i++){
+_17[i]=_16.snapshotItem(i);
+}
+_15=_17;
+}else{
+_15=_16=this.evaluate(_e,(_f?_f:this),_12,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;
+}
+return _15;
+};
+Element.prototype.selectNodes=function(_19){
+var doc=this.ownerDocument;
+if(doc.selectNodes){
+return doc.selectNodes(_19,this);
+}else{
+throw "Method selectNodes is only supported by XML Elements";
+}
+};
+XMLDocument.prototype.selectSingleNode=function(_1b,_1c){
+var ctx=_1c?_1c:null;
+return this.selectNodes(_1b,ctx,true);
+};
+Element.prototype.selectSingleNode=function(_1e){
+var doc=this.ownerDocument;
+if(doc.selectSingleNode){
+return doc.selectSingleNode(_1e,this);
+}else{
+throw "Method selectNodes is only supported by XML Elements";
+}
+};
+Sarissa.IS_ENABLED_SELECT_NODES=true;
+}
+
+Proj4js={defaultDatum:"WGS84",proxyScript:null,defsLookupService:"http://spatialreference.org/ref",libPath:"../lib/",transform:function(_1,_2,_3){
+if(!_1.readyToUse||!_2.readyToUse){
+this.reportError("Proj4js initialization for "+_1.srsCode+" not yet complete");
+return;
+}
+if(_3.transformed){
+this.log("point already transformed");
+return;
+}
+if((_1.srsProjNumber=="900913"&&_2.datumCode!="WGS84")||(_2.srsProjNumber=="900913"&&_1.datumCode!="WGS84")){
+var _4=Proj4js.WGS84;
+this.transform(_1,_4,_3);
+_3.transformed=false;
+_1=_4;
+}
+if(_1.projName=="longlat"){
+_3.x*=Proj4js.common.D2R;
+_3.y*=Proj4js.common.D2R;
+}else{
+if(_1.to_meter){
+_3.x*=_1.to_meter;
+_3.y*=_1.to_meter;
+}
+_1.inverse(_3);
+}
+if(_1.from_greenwich){
+_3.x+=_1.from_greenwich;
+}
+_3=this.datum_transform(_1.datum,_2.datum,_3);
+if(_2.from_greenwich){
+_3.x-=_2.from_greenwich;
+}
+if(_2.projName=="longlat"){
+_3.x*=Proj4js.common.R2D;
+_3.y*=Proj4js.common.R2D;
+}else{
+_2.forward(_3);
+if(_2.to_meter){
+_3.x/=_2.to_meter;
+_3.y/=_2.to_meter;
+}
+}
+_3.transformed=true;
+return _3;
+},datum_transform:function(_5,_6,_7){
+if(_5.compare_datums(_6)){
+return _7;
+}
+if(_5.datum_type==Proj4js.common.PJD_NODATUM||_6.datum_type==Proj4js.common.PJD_NODATUM){
+return _7;
+}
+if(_5.datum_type==Proj4js.common.PJD_GRIDSHIFT){
+alert("ERROR: Grid shift transformations are not implemented yet.");
+}
+if(_6.datum_type==Proj4js.common.PJD_GRIDSHIFT){
+alert("ERROR: Grid shift transformations are not implemented yet.");
+}
+if(_5.es!=_6.es||_5.a!=_6.a||_5.datum_type==Proj4js.common.PJD_3PARAM||_5.datum_type==Proj4js.common.PJD_7PARAM||_6.datum_type==Proj4js.common.PJD_3PARAM||_6.datum_type==Proj4js.common.PJD_7PARAM){
+_5.geodetic_to_geocentric(_7);
+if(_5.datum_type==Proj4js.common.PJD_3PARAM||_5.datum_type==Proj4js.common.PJD_7PARAM){
+_5.geocentric_to_wgs84(_7);
+}
+if(_6.datum_type==Proj4js.common.PJD_3PARAM||_6.datum_type==Proj4js.common.PJD_7PARAM){
+_6.geocentric_from_wgs84(_7);
+}
+_6.geocentric_to_geodetic(_7);
+}
+if(_6.datum_type==Proj4js.common.PJD_GRIDSHIFT){
+alert("ERROR: Grid shift transformations are not implemented yet.");
+}
+return _7;
+},reportError:function(_8){
+},log:function(_9){
+},loadProjDefinition:function(_a){
+if(this.defs[_a.srsCode]){
+return this.defs[_a.srsCode];
+}
+var _b={method:"get",asynchronous:false,onSuccess:this.defsLoadedFromDisk.bind(this,_a.srsCode)};
+var _c=this.libPath+"defs/"+_a.srsAuth.toUpperCase()+_a.srsProjNumber+".js";
+new OpenLayers.Ajax.Request(_c,_b);
+if(this.defs[_a.srsCode]){
+return this.defs[_a.srsCode];
+}
+if(this.proxyScript){
+var _c=this.proxyScript+this.defsLookupService+"/"+_a.srsAuth+"/"+_a.srsProjNumber+"/proj4";
+_b.onSuccess=this.defsLoadedFromService.bind(this,_a.srsCode);
+_b.onFailure=this.defsFailed.bind(this,_a.srsCode);
+new OpenLayers.Ajax.Request(_c,_b);
+}
+return this.defs[_a.srsCode];
+},defsLoadedFromDisk:function(_d,_e){
+eval(_e.responseText);
+},defsLoadedFromService:function(_f,_10){
+this.defs[_f]=_10.responseText;
+Proj4js.defs[_f]=_10.responseText;
+},defsFailed:function(_11){
+this.reportError("failed to load projection definition for: "+_11);
+OpenLayers.Util.extend(this.defs[_11],this.defs["WGS84"]);
+},loadProjCode:function(_12){
+if(this.Proj[_12]){
+return;
+}
+var _13={method:"get",asynchronous:false,onSuccess:this.loadProjCodeSuccess.bind(this,_12),onFailure:this.loadProjCodeFailure.bind(this,_12)};
+var url=this.libPath+"projCode/"+_12+".js";
+new OpenLayers.Ajax.Request(url,_13);
+},loadProjCodeSuccess:function(_15,_16){
+eval(_16.responseText);
+if(this.Proj[_15].dependsOn){
+this.loadProjCode(this.Proj[_15].dependsOn);
+}
+},loadProjCodeFailure:function(_17){
+Proj4js.reportError("failed to find projection file for: "+_17);
+}};
+Proj4js.Proj=OpenLayers.Class({readyToUse:false,title:null,projName:null,units:null,datum:null,initialize:function(_18){
+this.srsCode=_18.toUpperCase();
+if(this.srsCode.indexOf("EPSG")==0){
+this.srsCode=this.srsCode;
+this.srsAuth="epsg";
+this.srsProjNumber=this.srsCode.substring(5);
+}else{
+this.srsAuth="";
+this.srsProjNumber=this.srsCode;
+}
+var _19=Proj4js.loadProjDefinition(this);
+if(_19){
+this.parseDefs(_19);
+Proj4js.loadProjCode(this.projName);
+this.callInit();
+}
+},callInit:function(){
+Proj4js.log("projection script loaded for:"+this.projName);
+OpenLayers.Util.extend(this,Proj4js.Proj[this.projName]);
+this.init();
+this.mapXYToLonLat=this.inverse;
+this.lonLatToMapXY=this.forward;
+this.readyToUse=true;
+},parseDefs:function(_1a){
+this.defData=_1a;
+var _1b,paramVal;
+var _1c=this.defData.split("+");
+for(var _1d=0;_1d<_1c.length;_1d++){
+var _1e=_1c[_1d].split("=");
+_1b=_1e[0].toLowerCase();
+paramVal=_1e[1];
+switch(_1b.replace(/\s/gi,"")){
+case "":
+break;
+case "title":
+this.title=paramVal;
+break;
+case "proj":
+this.projName=paramVal.replace(/\s/gi,"");
+break;
+case "units":
+this.units=paramVal.replace(/\s/gi,"");
+break;
+case "datum":
+this.datumCode=paramVal.replace(/\s/gi,"");
+break;
+case "nadgrids":
+this.nagrids=paramVal.replace(/\s/gi,"");
+break;
+case "ellps":
+this.ellps=paramVal.replace(/\s/gi,"");
+break;
+case "a":
+this.a=parseFloat(paramVal);
+break;
+case "b":
+this.b=parseFloat(paramVal);
+break;
+case "lat_0":
+this.lat0=paramVal*Proj4js.common.D2R;
+break;
+case "lat_1":
+this.lat1=paramVal*Proj4js.common.D2R;
+break;
+case "lat_2":
+this.lat2=paramVal*Proj4js.common.D2R;
+break;
+case "lat_ts":
+this.lat_ts=paramVal*Proj4js.common.D2R;
+break;
+case "lon_0":
+this.long0=paramVal*Proj4js.common.D2R;
+break;
+case "x_0":
+this.x0=parseFloat(paramVal);
+break;
+case "y_0":
+this.y0=parseFloat(paramVal);
+break;
+case "k_0":
+this.k0=parseFloat(paramVal);
+break;
+case "k":
+this.k0=parseFloat(paramVal);
+break;
+case "R_A":
+this.R=parseFloat(paramVal);
+break;
+case "zone":
+this.zone=parseInt(paramVal);
+break;
+case "south":
+this.utmSouth=true;
+break;
+case "towgs84":
+this.datum_params=paramVal.split(",");
+break;
+case "to_meter":
+this.to_meter=parseFloat(paramVal);
+break;
+case "from_greenwich":
+this.from_greenwich=paramVal*Proj4js.common.D2R;
+break;
+case "pm":
+paramVal=paramVal.replace(/\s/gi,"");
+this.from_greenwich=Proj4js.PrimeMeridian[paramVal]?Proj4js.PrimeMeridian[paramVal]*Proj4js.common.D2R:0;
+break;
+case "no_defs":
+break;
+default:
+Proj4js.log("Unrecognized parameter: "+_1b);
+}
+}
+this.deriveConstants();
+},deriveConstants:function(){
+if(this.nagrids=="@null"){
+this.datumCode="none";
+}
+if(this.datumCode&&this.datumCode!="none"){
+var _1f=Proj4js.Datum[this.datumCode];
+if(_1f){
+this.datum_params=_1f.towgs84.split(",");
+this.ellps=_1f.ellipse;
+this.datumName=_1f.datumName;
+}
+}
+if(!this.a){
+var _20=Proj4js.Ellipsoid[this.ellps]?Proj4js.Ellipsoid[this.ellps]:Proj4js.Ellipsoid["WGS84"];
+OpenLayers.Util.extend(this,_20);
+}
+if(this.rf&&!this.b){
+this.b=(1-1/this.rf)*this.a;
+}
+if(Math.abs(this.a-this.b)<Proj4js.common.EPSLN){
+this.sphere=true;
+}
+this.a2=this.a*this.a;
+this.b2=this.b*this.b;
+this.es=(this.a2-this.b2)/this.a2;
+this.e=Math.sqrt(this.es);
+this.ep2=(this.a2-this.b2)/this.b2;
+if(!this.k0){
+this.k0=1;
+}
+this.datum=new Proj4js.datum(this);
+}});
+Proj4js.Proj.longlat={init:function(){
+},forward:function(pt){
+return pt;
+},inverse:function(pt){
+return pt;
+}};
+Proj4js.defs={"WGS84":"+title=long/lat:WGS84 +proj=longlat +ellps=WGS84 +datum=WGS84","EPSG:4326":"+title=long/lat:WGS84 +proj=longlat +a=6378137.0 +b=6356752.31424518 +ellps=WGS84 +datum=WGS84","EPSG:4269":"+title=long/lat:NAD83 +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83"};
+Proj4js.common={PI:Math.PI,HALF_PI:Math.PI*0.5,TWO_PI:Math.PI*2,FORTPI:0.7853981633974483,R2D:57.2957795131,D2R:0.0174532925199,SEC_TO_RAD:0.00000484813681109536,EPSLN:1e-10,MAX_ITER:20,COS_67P5:0.3826834323650898,AD_C:1.0026,PJD_UNKNOWN:0,PJD_3PARAM:1,PJD_7PARAM:2,PJD_GRIDSHIFT:3,PJD_WGS84:4,PJD_NODATUM:5,SRS_WGS84_SEMIMAJOR:6378137,msfnz:function(_23,_24,_25){
+var con=_23*_24;
+return _25/(Math.sqrt(1-con*con));
+},tsfnz:function(_27,phi,_29){
+var con=_27*_29;
+var com=0.5*_27;
+con=Math.pow(((1-con)/(1+con)),com);
+return (Math.tan(0.5*(this.HALF_PI-phi))/con);
+},phi2z:function(_2c,ts){
+var _2e=0.5*_2c;
+var con,dphi;
+var phi=this.HALF_PI-2*Math.atan(ts);
+for(i=0;i<=15;i++){
+con=_2c*Math.sin(phi);
+dphi=this.HALF_PI-2*Math.atan(ts*(Math.pow(((1-con)/(1+con)),_2e)))-phi;
+phi+=dphi;
+if(Math.abs(dphi)<=1e-10){
+return phi;
+}
+}
+alert("phi2z has NoConvergence");
+return (-9999);
+},qsfnz:function(_31,_32,_33){
+var con;
+if(_31>1e-7){
+con=_31*_32;
+return ((1-_31*_31)*(_32/(1-con*con)-(0.5/_31)*Math.log((1-con)/(1+con))));
+}else{
+return (2*_32);
+}
+},asinz:function(x){
+if(Math.abs(x)>1){
+x=(x>1)?1:-1;
+}
+return Math.asin(x);
+},e0fn:function(x){
+return (1-0.25*x*(1+x/16*(3+1.25*x)));
+},e1fn:function(x){
+return (0.375*x*(1+0.25*x*(1+0.46875*x)));
+},e2fn:function(x){
+return (0.05859375*x*x*(1+0.75*x));
+},e3fn:function(x){
+return (x*x*x*(35/3072));
+},mlfn:function(e0,e1,e2,e3,phi){
+return (e0*phi-e1*Math.sin(2*phi)+e2*Math.sin(4*phi)-e3*Math.sin(6*phi));
+},srat:function(_3f,exp){
+return (Math.pow((1-_3f)/(1+_3f),exp));
+},sign:function(x){
+if(x<0){
+return (-1);
+}else{
+return (1);
+}
+},adjust_lon:function(x){
+x=(Math.abs(x)<this.PI)?x:(x-(this.sign(x)*this.TWO_PI));
+return x;
+}};
+Proj4js.datum=OpenLayers.Class({initialize:function(_43){
+this.datum_type=Proj4js.common.PJD_WGS84;
+if(_43.datumCode&&_43.datumCode=="none"){
+this.datum_type=Proj4js.common.PJD_NODATUM;
+}
+if(_43&&_43.datum_params){
+for(var i=0;i<_43.datum_params.length;i++){
+_43.datum_params[i]=parseFloat(_43.datum_params[i]);
+}
+if(_43.datum_params[0]!=0||_43.datum_params[1]!=0||_43.datum_params[2]!=0){
+this.datum_type=Proj4js.common.PJD_3PARAM;
+}
+if(_43.datum_params.length>3){
+if(_43.datum_params[3]!=0||_43.datum_params[4]!=0||_43.datum_params[5]!=0||_43.datum_params[6]!=0){
+this.datum_type=Proj4js.common.PJD_7PARAM;
+_43.datum_params[3]*=Proj4js.common.SEC_TO_RAD;
+_43.datum_params[4]*=Proj4js.common.SEC_TO_RAD;
+_43.datum_params[5]*=Proj4js.common.SEC_TO_RAD;
+_43.datum_params[6]=(_43.datum_params[6]/1000000)+1;
+}
+}
+}
+if(_43){
+this.a=_43.a;
+this.b=_43.b;
+this.es=_43.es;
+this.ep2=_43.ep2;
+this.datum_params=_43.datum_params;
+}
+},compare_datums:function(_45){
+if(this.datum_type!=_45.datum_type){
+return false;
+}else{
+if(this.a!=_45.a||Math.abs(this.es-_45.es)>5e-11){
+return false;
+}else{
+if(this.datum_type==Proj4js.common.PJD_3PARAM){
+return (this.datum_params[0]==_45.datum_params[0]&&this.datum_params[1]==_45.datum_params[1]&&this.datum_params[2]==_45.datum_params[2]);
+}else{
+if(this.datum_type==Proj4js.common.PJD_7PARAM){
+return (this.datum_params[0]==_45.datum_params[0]&&this.datum_params[1]==_45.datum_params[1]&&this.datum_params[2]==_45.datum_params[2]&&this.datum_params[3]==_45.datum_params[3]&&this.datum_params[4]==_45.datum_params[4]&&this.datum_params[5]==_45.datum_params[5]&&this.datum_params[6]==_45.datum_params[6]);
+}else{
+if(this.datum_type==Proj4js.common.PJD_GRIDSHIFT){
+return strcmp(pj_param(this.params,"snadgrids").s,pj_param(_45.params,"snadgrids").s)==0;
+}else{
+return true;
+}
+}
+}
+}
+}
+},geodetic_to_geocentric:function(p){
+var _47=p.x;
+var _48=p.y;
+var _49=p.z?p.z:0;
+var X;
+var Y;
+var Z;
+var _4d=0;
+var Rn;
+var _4f;
+var _50;
+var _51;
+if(_48<-Proj4js.common.HALF_PI&&_48>-1.001*Proj4js.common.HALF_PI){
+_48=-Proj4js.common.HALF_PI;
+}else{
+if(_48>Proj4js.common.HALF_PI&&_48<1.001*Proj4js.common.HALF_PI){
+_48=Proj4js.common.HALF_PI;
+}else{
+if((_48<-Proj4js.common.HALF_PI)||(_48>Proj4js.common.HALF_PI)){
+Proj4js.reportError("geocent:lat out of range:"+_48);
+return null;
+}
+}
+}
+if(_47>Proj4js.common.PI){
+_47-=(2*Proj4js.common.PI);
+}
+_4f=Math.sin(_48);
+_51=Math.cos(_48);
+_50=_4f*_4f;
+Rn=this.a/(Math.sqrt(1-this.es*_50));
+X=(Rn+_49)*_51*Math.cos(_47);
+Y=(Rn+_49)*_51*Math.sin(_47);
+Z=((Rn*(1-this.es))+_49)*_4f;
+p.x=X;
+p.y=Y;
+p.z=Z;
+return _4d;
+},geocentric_to_geodetic:function(p){
+var _53=1e-12;
+var _54=(_53*_53);
+var _55=30;
+var P;
+var RR;
+var CT;
+var ST;
+var RX;
+var RK;
+var RN;
+var _5d;
+var _5e;
+var _5f;
+var _60;
+var _61;
+var _62;
+var _63;
+var X=p.x;
+var Y=p.y;
+var Z=p.z?p.z:0;
+var _67;
+var _68;
+var _69;
+_62=false;
+P=Math.sqrt(X*X+Y*Y);
+RR=Math.sqrt(X*X+Y*Y+Z*Z);
+if(P/this.a<_53){
+_62=true;
+_67=0;
+if(RR/this.a<_53){
+_68=Proj4js.common.HALF_PI;
+_69=-this.b;
+return;
+}
+}else{
+_67=Math.atan2(Y,X);
+}
+CT=Z/RR;
+ST=P/RR;
+RX=1/Math.sqrt(1-this.es*(2-this.es)*ST*ST);
+_5d=ST*(1-this.es)*RX;
+_5e=CT*RX;
+_63=0;
+do{
+_63++;
+RN=this.a/Math.sqrt(1-this.es*_5e*_5e);
+_69=P*_5d+Z*_5e-RN*(1-this.es*_5e*_5e);
+RK=this.es*RN/(RN+_69);
+RX=1/Math.sqrt(1-RK*(2-RK)*ST*ST);
+_5f=ST*(1-RK)*RX;
+_60=CT*RX;
+_61=_60*_5d-_5f*_5e;
+_5d=_5f;
+_5e=_60;
+}while(_61*_61>_54&&_63<_55);
+_68=Math.atan(_60/Math.abs(_5f));
+p.x=_67;
+p.y=_68;
+p.z=_69;
+return p;
+},geocentric_to_geodetic_noniter:function(p){
+var X=p.x;
+var Y=p.y;
+var Z=p.z?p.z:0;
+var _6e;
+var _6f;
+var _70;
+var W;
+var W2;
+var T0;
+var T1;
+var S0;
+var S1;
+var _77;
+var _78;
+var _79;
+var _7a;
+var _7b;
+var Rn;
+var Sum;
+var _7e;
+X=parseFloat(X);
+Y=parseFloat(Y);
+Z=parseFloat(Z);
+_7e=false;
+if(X!=0){
+_6e=Math.atan2(Y,X);
+}else{
+if(Y>0){
+_6e=Proj4js.common.HALF_PI;
+}else{
+if(Y<0){
+_6e=-Proj4js.common.HALF_PI;
+}else{
+_7e=true;
+_6e=0;
+if(Z>0){
+_6f=Proj4js.common.HALF_PI;
+}else{
+if(Z<0){
+_6f=-Proj4js.common.HALF_PI;
+}else{
+_6f=Proj4js.common.HALF_PI;
+_70=-this.b;
+return;
+}
+}
+}
+}
+}
+W2=X*X+Y*Y;
+W=Math.sqrt(W2);
+T0=Z*Proj4js.common.AD_C;
+S0=Math.sqrt(T0*T0+W2);
+_77=T0/S0;
+_79=W/S0;
+_78=_77*_77*_77;
+T1=Z+this.b*this.ep2*_78;
+Sum=W-this.a*this.es*_79*_79*_79;
+S1=Math.sqrt(T1*T1+Sum*Sum);
+_7a=T1/S1;
+_7b=Sum/S1;
+Rn=this.a/Math.sqrt(1-this.es*_7a*_7a);
+if(_7b>=Proj4js.common.COS_67P5){
+_70=W/_7b-Rn;
+}else{
+if(_7b<=-Proj4js.common.COS_67P5){
+_70=W/-_7b-Rn;
+}else{
+_70=Z/_7a+Rn*(this.es-1);
+}
+}
+if(_7e==false){
+_6f=Math.atan(_7a/_7b);
+}
+p.x=_6e;
+p.y=_6f;
+p.z=_70;
+return p;
+},geocentric_to_wgs84:function(p){
+if(this.datum_type==Proj4js.common.PJD_3PARAM){
+p.x+=this.datum_params[0];
+p.y+=this.datum_params[1];
+p.z+=this.datum_params[2];
+}else{
+var _80=this.datum_params[0];
+var _81=this.datum_params[1];
+var _82=this.datum_params[2];
+var _83=this.datum_params[3];
+var _84=this.datum_params[4];
+var _85=this.datum_params[5];
+var _86=this.datum_params[6];
+var _87=_86*(p.x-_85*p.y+_84*p.z)+_80;
+var _88=_86*(_85*p.x+p.y-_83*p.z)+_81;
+var _89=_86*(-_84*p.x+_83*p.y+p.z)+_82;
+p.x=_87;
+p.y=_88;
+p.z=_89;
+}
+},geocentric_from_wgs84:function(p){
+if(this.datum_type==Proj4js.common.PJD_3PARAM){
+p.x-=this.datum_params[0];
+p.y-=this.datum_params[1];
+p.z-=this.datum_params[2];
+}else{
+var _8b=this.datum_params[0];
+var _8c=this.datum_params[1];
+var _8d=this.datum_params[2];
+var _8e=this.datum_params[3];
+var _8f=this.datum_params[4];
+var _90=this.datum_params[5];
+var _91=this.datum_params[6];
+var _92=(p.x-_8b)/_91;
+var _93=(p.y-_8c)/_91;
+var _94=(p.z-_8d)/_91;
+p.x=_92+_90*_93-_8f*_94;
+p.y=-_90*_92+_93+_8e*_94;
+p.z=_8f*_92-_8e*_93+_94;
+}
+}});
+Proj4js.Point=OpenLayers.Class({initialize:function(x,y,z){
+if(typeof x=="object"){
+this.x=x[0];
+this.y=x[1];
+this.z=x[2]||0;
+}else{
+this.x=x;
+this.y=y;
+this.z=z||0;
+}
+},clone:function(){
+return new Proj4js.Point(this.x,this.y,this.z);
+},toString:function(){
+return ("x="+this.x+",y="+this.y);
+},toShortString:function(){
+return (this.x+", "+this.y);
+}});
+Proj4js.PrimeMeridian={"greenwich":0,"lisbon":-9.131906111111,"paris":2.337229166667,"bogota":-74.080916666667,"madrid":-3.687938888889,"rome":12.452333333333,"bern":7.439583333333,"jakarta":106.807719444444,"ferro":-17.666666666667,"brussels":4.367975,"stockholm":18.058277777778,"athens":23.7163375,"oslo":10.722916666667};
+Proj4js.Ellipsoid={"MERIT":{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},"SGS85":{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},"GRS80":{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},"IAU76":{a:6378140,rf:298.257,ellipseName:"IAU 1976"},"airy":{a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},"APL4.":{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},"NWL9D":{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},"mod_airy":{a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},"andrae":{a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},"aust_SA":{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},"GRS67":{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},"bessel":{a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},"bess_nam":{a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},"clrk66":{a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},"clrk80":{a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},"CPM":{a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},"delmbr":{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},"engelis":{a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},"evrst30":{a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},"evrst48":{a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},"evrst56":{a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},"evrst69":{a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},"evrstSS":{a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},"fschr60":{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},"fschr60m":{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},"fschr68":{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},"helmert":{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},"hough":{a:6378270,rf:297,ellipseName:"Hough"},"intl":{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},"kaula":{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},"lerch":{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},"mprts":{a:6397300,rf:191,ellipseName:"Maupertius 1738"},"new_intl":{a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},"plessis":{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},"krass":{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},"SEasia":{a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},"walbeck":{a:6376896,b:6355834.8467,ellipseName:"Walbeck"},"WGS60":{a:6378165,rf:298.3,ellipseName:"WGS 60"},"WGS66":{a:6378145,rf:298.25,ellipseName:"WGS 66"},"WGS72":{a:6378135,rf:298.26,ellipseName:"WGS 72"},"WGS84":{a:6378137,rf:298.257223563,ellipseName:"WGS 84"},"sphere":{a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}};
+Proj4js.Datum={"WGS84":{towgs84:"0,0,0",ellipse:"WGS84",datumName:""},"GGRS87":{towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},"NAD83":{towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},"NAD27":{nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},"potsdam":{towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},"carthage":{towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},"hermannskogel":{towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"},"ire65":{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},"nzgd49":{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},"OSGB36":{towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"}};
+Proj4js.WGS84=new Proj4js.Proj("WGS84");
+Proj4js.Datum["OSB36"]=Proj4js.Datum["OSGB36"];
+Proj4js.Proj.sterea={dependsOn:"gauss",init:function(){
+Proj4js.Proj["gauss"].init.apply(this);
+if(!this.rc){
+Proj4js.reportError("sterea:init:E_ERROR_0");
+return;
+}
+this.sinc0=Math.sin(this.phic0);
+this.cosc0=Math.cos(this.phic0);
+this.R2=2*this.rc;
+if(!this.title){
+this.title="Oblique Stereographic Alternative";
+}
+},forward:function(p){
+p.x=Proj4js.common.adjust_lon(p.x-this.long0);
+Proj4js.Proj["gauss"].forward.apply(this,[p]);
+sinc=Math.sin(p.y);
+cosc=Math.cos(p.y);
+cosl=Math.cos(p.x);
+k=this.k0*this.R2/(1+this.sinc0*sinc+this.cosc0*cosc*cosl);
+p.x=k*cosc*Math.sin(p.x);
+p.y=k*(this.cosc0*sinc-this.sinc0*cosc*cosl);
+p.x=this.a*p.x+this.x0;
+p.y=this.a*p.y+this.y0;
+return p;
+},inverse:function(p){
+var lon,lat;
+p.x=(p.x-this.x0)/this.a;
+p.y=(p.y-this.y0)/this.a;
+p.x/=this.k0;
+p.y/=this.k0;
+if((rho=Math.sqrt(p.x*p.x+p.y*p.y))){
+c=2*Math.atan2(rho,this.R2);
+sinc=Math.sin(c);
+cosc=Math.cos(c);
+lat=Math.asin(cosc*this.sinc0+p.y*sinc*this.cosc0/rho);
+lon=Math.atan2(p.x*sinc,rho*this.cosc0*cosc-p.y*this.sinc0*sinc);
+}else{
+lat=this.phic0;
+lon=0;
+}
+p.x=lon;
+p.y=lat;
+Proj4js.Proj["gauss"].inverse.apply(this,[p]);
+p.x=Proj4js.common.adjust_lon(p.x+this.long0);
+return p;
+}};
+Proj4js.Proj.aea={init:function(){
+if(Math.abs(this.lat1+this.lat2)<Proj4js.common.EPSLN){
+Proj4js.reportError("aeaInitEqualLatitudes");
+return;
+}
+this.temp=this.b/this.a;
+this.es=1-Math.pow(this.temp,2);
+this.e3=Math.sqrt(this.es);
+this.sin_po=Math.sin(this.lat1);
+this.cos_po=Math.cos(this.lat1);
+this.t1=this.sin_po;
+this.con=this.sin_po;
+this.ms1=Proj4js.common.msfnz(this.e3,this.sin_po,this.cos_po);
+this.qs1=Proj4js.common.qsfnz(this.e3,this.sin_po,this.cos_po);
+this.sin_po=Math.sin(this.lat2);
+this.cos_po=Math.cos(this.lat2);
+this.t2=this.sin_po;
+this.ms2=Proj4js.common.msfnz(this.e3,this.sin_po,this.cos_po);
+this.qs2=Proj4js.common.qsfnz(this.e3,this.sin_po,this.cos_po);
+this.sin_po=Math.sin(this.lat0);
+this.cos_po=Math.cos(this.lat0);
+this.t3=this.sin_po;
+this.qs0=Proj4js.common.qsfnz(this.e3,this.sin_po,this.cos_po);
+if(Math.abs(this.lat1-this.lat2)>Proj4js.common.EPSLN){
+this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1);
+}else{
+this.ns0=this.con;
+}
+this.c=this.ms1*this.ms1+this.ns0*this.qs1;
+this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0;
+},forward:function(p){
+var lon=p.x;
+var lat=p.y;
+this.sin_phi=Math.sin(lat);
+this.cos_phi=Math.cos(lat);
+var qs=Proj4js.common.qsfnz(this.e3,this.sin_phi,this.cos_phi);
+var rh1=this.a*Math.sqrt(this.c-this.ns0*qs)/this.ns0;
+var _a0=this.ns0*Proj4js.common.adjust_lon(lon-this.long0);
+var x=rh1*Math.sin(_a0)+this.x0;
+var y=this.rh-rh1*Math.cos(_a0)+this.y0;
+p.x=x;
+p.y=y;
+return p;
+},inverse:function(p){
+var rh1,qs,con,theta,lon,lat;
+p.x-=this.x0;
+p.y=this.rh-p.y+this.y0;
+if(this.ns0>=0){
+rh1=Math.sqrt(p.x*p.x+p.y*p.y);
+con=1;
+}else{
+rh1=-Math.sqrt(p.x*p.x+p.y*p.y);
+con=-1;
+}
+theta=0;
+if(rh1!=0){
+theta=Math.atan2(con*p.x,con*p.y);
+}
+con=rh1*this.ns0/this.a;
+qs=(this.c-con*con)/this.ns0;
+if(this.e3>=1e-10){
+con=1-0.5*(1-this.es)*Math.log((1-this.e3)/(1+this.e3))/this.e3;
+if(Math.abs(Math.abs(con)-Math.abs(qs))>1e-10){
+lat=this.phi1z(this.e3,qs);
+}else{
+if(qs>=0){
+lat=0.5*PI;
+}else{
+lat=-0.5*PI;
+}
+}
+}else{
+lat=this.phi1z(e3,qs);
+}
+lon=Proj4js.common.adjust_lon(theta/this.ns0+this.long0);
+p.x=lon;
+p.y=lat;
+return p;
+},phi1z:function(_a5,qs){
+var con,com,dphi;
+var phi=Proj4js.common.asinz(0.5*qs);
+if(_a5<Proj4js.common.EPSLN){
+return phi;
+}
+var _a9=_a5*_a5;
+for(var i=1;i<=25;i++){
+sinphi=Math.sin(phi);
+cosphi=Math.cos(phi);
+con=_a5*sinphi;
+com=1-con*con;
+dphi=0.5*com*com/cosphi*(qs/(1-_a9)-sinphi/com+0.5/_a5*Math.log((1-con)/(1+con)));
+phi=phi+dphi;
+if(Math.abs(dphi)<=1e-7){
+return phi;
+}
+}
+Proj4js.reportError("aea:phi1z:Convergence error");
+return null;
+}};
+function phi4z(_ab,e0,e1,e2,e3,a,b,c,phi){
+var _b4,sin2ph,tanph,ml,mlp,con1,con2,con3,dphi,i;
+phi=a;
+for(i=1;i<=15;i++){
+_b4=Math.sin(phi);
+tanphi=Math.tan(phi);
+c=tanphi*Math.sqrt(1-_ab*_b4*_b4);
+sin2ph=Math.sin(2*phi);
+ml=e0*phi-e1*sin2ph+e2*Math.sin(4*phi)-e3*Math.sin(6*phi);
+mlp=e0-2*e1*Math.cos(2*phi)+4*e2*Math.cos(4*phi)-6*e3*Math.cos(6*phi);
+con1=2*ml+c*(ml*ml+b)-2*a*(c*ml+1);
+con2=_ab*sin2ph*(ml*ml+b-2*a*ml)/(2*c);
+con3=2*(a-ml)*(c*mlp-2/sin2ph)-2*mlp;
+dphi=con1/(con2+con3);
+phi+=dphi;
+if(Math.abs(dphi)<=1e-10){
+return (phi);
+}
+}
+Proj4js.reportError("phi4z: No convergence");
+return null;
+}
+function e4fn(x){
+var con,com;
+con=1+x;
+com=1-x;
+return (Math.sqrt((Math.pow(con,con))*(Math.pow(com,com))));
+}
+Proj4js.Proj.poly={init:function(){
+var _b7;
+if(this.lat0=0){
+this.lat0=90;
+}
+this.temp=this.b/this.a;
+this.es=1-Math.pow(this.temp,2);
+this.e=Math.sqrt(this.es);
+this.e0=Proj4js.common.e0fn(this.es);
+this.e1=Proj4js.common.e1fn(this.es);
+this.e2=Proj4js.common.e2fn(this.es);
+this.e3=Proj4js.common.e3fn(this.es);
+this.ml0=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat0);
+},forward:function(p){
+var _b9,cosphi;
+var al;
+var c;
+var con,ml;
+var ms;
+var x,y;
+var lon=p.x;
+var lat=p.y;
+con=Proj4js.common.adjust_lon(lon-this.long0);
+if(Math.abs(lat)<=1e-7){
+x=this.x0+this.a*con;
+y=this.y0-this.a*this.ml0;
+}else{
+_b9=Math.sin(lat);
+cosphi=Math.cos(lat);
+ml=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,lat);
+ms=Proj4js.common.msfnz(this.e,_b9,cosphi);
+con=_b9;
+x=this.x0+this.a*ms*Math.sin(con)/_b9;
+y=this.y0+this.a*(ml-this.ml0+ms*(1-Math.cos(con))/_b9);
+}
+p.x=x;
+p.y=y;
+return p;
+},inverse:function(p){
+var _c2,cos_phi;
+var al;
+var b;
+var c;
+var con,ml;
+var _c7;
+var lon,lat;
+p.x-=this.x0;
+p.y-=this.y0;
+al=this.ml0+p.y/this.a;
+_c7=0;
+if(Math.abs(al)<=1e-7){
+lon=p.x/this.a+this.long0;
+lat=0;
+}else{
+b=al*al+(p.x/this.a)*(p.x/this.a);
+_c7=phi4z(this.es,this.e0,this.e1,this.e2,this.e3,this.al,b,c,lat);
+if(_c7!=1){
+return (_c7);
+}
+lon=Proj4js.common.adjust_lon((asinz(p.x*c/this.a)/Math.sin(lat))+this.long0);
+}
+p.x=lon;
+p.y=lat;
+return p;
+}};
+Proj4js.Proj.equi={init:function(){
+if(!this.x0){
+this.x0=0;
+}
+if(!this.y0){
+this.y0=0;
+}
+if(!this.lat0){
+this.lat0=0;
+}
+if(!this.long0){
+this.long0=0;
+}
+},forward:function(p){
+var lon=p.x;
+var lat=p.y;
+var _cc=Proj4js.common.adjust_lon(lon-this.long0);
+var x=this.x0+this.a*_cc*Math.cos(this.lat0);
+var y=this.y0+this.a*lat;
+this.t1=x;
+this.t2=Math.cos(this.lat0);
+p.x=x;
+p.y=y;
+return p;
+},inverse:function(p){
+p.x-=this.x0;
+p.y-=this.y0;
+var lat=p.y/this.a;
+if(Math.abs(lat)>Proj4js.common.HALF_PI){
+Proj4js.reportError("equi:Inv:DataError");
+}
+var lon=Proj4js.common.adjust_lon(this.long0+p.x/(this.a*Math.cos(this.lat0)));
+p.x=lon;
+p.y=lat;
+}};
+Proj4js.Proj.merc={init:function(){
+if(this.lat_ts){
+if(this.sphere){
+this.k0=Math.cos(this.lat_ts);
+}else{
+this.k0=Proj4js.common.msfnz(this.es,Math.sin(this.lat_ts),Math.cos(this.lat_ts));
+}
+}
+},forward:function(p){
+var lon=p.x;
+var lat=p.y;
+if(lat*Proj4js.common.R2D>90&&lat*Proj4js.common.R2D<-90&&lon*Proj4js.common.R2D>180&&lon*Proj4js.common.R2D<-180){
+Proj4js.reportError("merc:forward: llInputOutOfRange: "+lon+" : "+lat);
+return null;
+}
+var x,y;
+if(Math.abs(Math.abs(lat)-Proj4js.common.HALF_PI)<=Proj4js.common.EPSLN){
+Proj4js.reportError("merc:forward: ll2mAtPoles");
+return null;
+}else{
+if(this.sphere){
+x=this.x0+this.a*this.k0*Proj4js.common.adjust_lon(lon-this.long0);
+y=this.y0+this.a*this.k0*Math.log(Math.tan(Proj4js.common.FORTPI+0.5*lat));
+}else{
+var _d6=Math.sin(lat);
+var ts=Proj4js.common.tsfnz(this.e,lat,_d6);
+x=this.x0+this.a*this.k0*Proj4js.common.adjust_lon(lon-this.long0);
+y=this.y0-this.a*this.k0*Math.log(ts);
+}
+p.x=x;
+p.y=y;
+return p;
+}
+},inverse:function(p){
+var x=p.x-this.x0;
+var y=p.y-this.y0;
+var lon,lat;
+if(this.sphere){
+lat=Proj4js.common.HALF_PI-2*Math.atan(Math.exp(-y/this.a*this.k0));
+}else{
+var ts=Math.exp(-y/(this.a*this.k0));
+lat=Proj4js.common.phi2z(this.e,ts);
+if(lat==-9999){
+Proj4js.reportError("merc:inverse: lat = -9999");
+return null;
+}
+}
+lon=Proj4js.common.adjust_lon(this.long0+x/(this.a*this.k0));
+p.x=lon;
+p.y=lat;
+return p;
+}};
+Proj4js.Proj.utm={dependsOn:"tmerc",init:function(){
+if(!this.zone){
+Proj4js.reportError("utm:init: zone must be specified for UTM");
+return;
+}
+this.lat0=0;
+this.long0=((6*Math.abs(this.zone))-183)*Proj4js.common.D2R;
+this.x0=500000;
+this.y0=this.utmSouth?10000000:0;
+this.k0=0.9996;
+Proj4js.Proj["tmerc"].init.apply(this);
+this.forward=Proj4js.Proj["tmerc"].forward;
+this.inverse=Proj4js.Proj["tmerc"].inverse;
+}};
+Proj4js.Proj.eqdc={init:function(){
+if(!this.mode){
+this.mode=0;
+}
+this.temp=this.b/this.a;
+this.es=1-Math.pow(this.temp,2);
+this.e=Math.sqrt(this.es);
+this.e0=Proj4js.common.e0fn(this.es);
+this.e1=Proj4js.common.e1fn(this.es);
+this.e2=Proj4js.common.e2fn(this.es);
+this.e3=Proj4js.common.e3fn(this.es);
+this.sinphi=Math.sin(this.lat1);
+this.cosphi=Math.cos(this.lat1);
+this.ms1=Proj4js.common.msfnz(this.e,this.sinphi,this.cosphi);
+this.ml1=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat1);
+if(this.mode!=0){
+if(Math.abs(this.lat1+this.lat2)<Proj4js.common.EPSLN){
+Proj4js.reportError("eqdc:Init:EqualLatitudes");
+}
+this.sinphi=Math.sin(this.lat2);
+this.cosphi=Math.cos(this.lat2);
+this.ms2=Proj4js.common.msfnz(this.e,this.sinphi,this.cosphi);
+this.ml2=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat2);
+if(Math.abs(this.lat1-this.lat2)>=Proj4js.common.EPSLN){
+this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1);
+}else{
+this.ns=this.sinphi;
+}
+}else{
+this.ns=this.sinphi;
+}
+this.g=this.ml1+this.ms1/this.ns;
+this.ml0=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat0);
+this.rh=this.a*(this.g-this.ml0);
+},forward:function(p){
+var lon=p.x;
+var lat=p.y;
+var ml=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,lat);
+var rh1=this.a*(this.g-ml);
+var _e2=this.ns*Proj4js.common.adjust_lon(lon-this.long0);
+var x=this.x0+rh1*Math.sin(_e2);
+var y=this.y0+this.rh-rh1*Math.cos(_e2);
+p.x=x;
+p.y=y;
+return p;
+},inverse:function(p){
+p.x-=this.x0;
+p.y=this.rh-p.y+this.y0;
+var con,rh1;
+if(this.ns>=0){
+var rh1=Math.sqrt(p.x*p.x+p.y*p.y);
+var con=1;
+}else{
+rh1=-Math.sqrt(p.x*p.x+p.y*p.y);
+con=-1;
+}
+var _e8=0;
+if(rh1!=0){
+_e8=Math.atan2(con*p.x,con*p.y);
+}
+var ml=this.g-rh1/this.a;
+var lat=this.phi3z(this.ml,this.e0,this.e1,this.e2,this.e3);
+var lon=Proj4js.common.adjust_lon(this.long0+_e8/this.ns);
+p.x=lon;
+p.y=lat;
+return p;
+},phi3z:function(ml,e0,e1,e2,e3){
+var phi;
+var _f2;
+phi=ml;
+for(var i=0;i<15;i++){
+_f2=(ml+e1*Math.sin(2*phi)-e2*Math.sin(4*phi)+e3*Math.sin(6*phi))/e0-phi;
+phi+=_f2;
+if(Math.abs(_f2)<=1e-10){
+return phi;
+}
+}
+Proj4js.reportError("PHI3Z-CONV:Latitude failed to converge after 15 iterations");
+return null;
+}};
+Proj4js.Proj.tmerc={init:function(){
+this.e0=Proj4js.common.e0fn(this.es);
+this.e1=Proj4js.common.e1fn(this.es);
+this.e2=Proj4js.common.e2fn(this.es);
+this.e3=Proj4js.common.e3fn(this.es);
+this.ml0=this.a*Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat0);
+},forward:function(p){
+var lon=p.x;
+var lat=p.y;
+var _f7=Proj4js.common.adjust_lon(lon-this.long0);
+var con;
+var x,y;
+var _fa=Math.sin(lat);
+var _fb=Math.cos(lat);
+if(this.sphere){
+var b=_fb*Math.sin(_f7);
+if((Math.abs(Math.abs(b)-1))<1e-10){
+Proj4js.reportError("tmerc:forward: Point projects into infinity");
+return (93);
+}else{
+x=0.5*this.a*this.k0*Math.log((1+b)/(1-b));
+con=Math.acos(_fb*Math.cos(_f7)/Math.sqrt(1-b*b));
+if(lat<0){
+con=-con;
+}
+y=this.a*this.k0*(con-this.lat0);
+}
+}else{
+var al=_fb*_f7;
+var als=Math.pow(al,2);
+var c=this.ep2*Math.pow(_fb,2);
+var tq=Math.tan(lat);
+var t=Math.pow(tq,2);
+con=1-this.es*Math.pow(_fa,2);
+var n=this.a/Math.sqrt(con);
+var ml=this.a*Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,lat);
+x=this.k0*n*al*(1+als/6*(1-t+c+als/20*(5-18*t+Math.pow(t,2)+72*c-58*this.ep2)))+this.x0;
+y=this.k0*(ml-this.ml0+n*tq*(als*(0.5+als/24*(5-t+9*c+4*Math.pow(c,2)+als/30*(61-58*t+Math.pow(t,2)+600*c-330*this.ep2)))))+this.y0;
+}
+p.x=x;
+p.y=y;
+return p;
+},inverse:function(p){
+var con,phi;
+var _106;
+var i;
+var _108=6;
+var lat,lon;
+if(this.sphere){
+var f=Math.exp(p.x/(this.a*this.k0));
+var g=0.5*(f-1/f);
+var temp=this.lat0+p.y/(this.a*this.k0);
+var h=Math.cos(temp);
+con=Math.sqrt((1-h*h)/(1+g*g));
+lat=Math.asinz(con);
+if(temp<0){
+lat=-lat;
+}
+if((g==0)&&(h==0)){
+lon=this.long0;
+}else{
+lon=Proj4js.common.adjust_lon(Math.atan2(g,h)+this.long0);
+}
+}else{
+var x=p.x-this.x0;
+var y=p.y-this.y0;
+con=(this.ml0+y/this.k0)/this.a;
+phi=con;
+for(i=0;;i++){
+_106=((con+this.e1*Math.sin(2*phi)-this.e2*Math.sin(4*phi)+this.e3*Math.sin(6*phi))/this.e0)-phi;
+phi+=_106;
+if(Math.abs(_106)<=Proj4js.common.EPSLN){
+break;
+}
+if(i>=_108){
+Proj4js.reportError("tmerc:inverse: Latitude failed to converge");
+return (95);
+}
+}
+if(Math.abs(phi)<Proj4js.common.HALF_PI){
+var _110=Math.sin(phi);
+var _111=Math.cos(phi);
+var _112=Math.tan(phi);
+var c=this.ep2*Math.pow(_111,2);
+var cs=Math.pow(c,2);
+var t=Math.pow(_112,2);
+var ts=Math.pow(t,2);
+con=1-this.es*Math.pow(_110,2);
+var n=this.a/Math.sqrt(con);
+var r=n*(1-this.es)/con;
+var d=x/(n*this.k0);
+var ds=Math.pow(d,2);
+lat=phi-(n*_112*ds/r)*(0.5-ds/24*(5+3*t+10*c-4*cs-9*this.ep2-ds/30*(61+90*t+298*c+45*ts-252*this.ep2-3*cs)));
+lon=Proj4js.common.adjust_lon(this.long0+(d*(1-ds/6*(1+2*t+c-ds/20*(5-2*c+28*t-3*cs+8*this.ep2+24*ts)))/_111));
+}else{
+lat=Proj4js.common.HALF_PI*Proj4js.common.sign(y);
+lon=this.long0;
+}
+}
+p.x=lon;
+p.y=lat;
+return p;
+}};
+Proj4js.defs["GOOGLE"]="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs";
+Proj4js.defs["EPSG:900913"]=Proj4js.defs["GOOGLE"];
+Proj4js.Proj.ortho={init:function(def){
+this.sin_p14=Math.sin(this.lat0);
+this.cos_p14=Math.cos(this.lat0);
+},forward:function(p){
+var _11d,cosphi;
+var dlon;
+var _11f;
+var ksp;
+var g;
+var lon=p.x;
+var lat=p.y;
+dlon=Proj4js.common.adjust_lon(lon-this.long0);
+_11d=Math.sin(lat);
+cosphi=Math.cos(lat);
+_11f=Math.cos(dlon);
+g=this.sin_p14*_11d+this.cos_p14*cosphi*_11f;
+ksp=1;
+if((g>0)||(Math.abs(g)<=Proj4js.common.EPSLN)){
+var x=this.a*ksp*cosphi*Math.sin(dlon);
+var y=this.y0+this.a*ksp*(this.cos_p14*_11d-this.sin_p14*cosphi*_11f);
+}else{
+Proj4js.reportError("orthoFwdPointError");
+}
+p.x=x;
+p.y=y;
+return p;
+},inverse:function(p){
+var rh;
+var z;
+var sinz,cosz;
+var temp;
+var con;
+var lon,lat;
+p.x-=this.x0;
+p.y-=this.y0;
+rh=Math.sqrt(p.x*p.x+p.y*p.y);
+if(rh>this.a+1e-7){
+Proj4js.reportError("orthoInvDataError");
+}
+z=Proj4js.common.asinz(rh/this.a);
+sinz=Math.sin(z);
+cosi=Math.cos(z);
+lon=this.long0;
+if(Math.abs(rh)<=Proj4js.common.EPSLN){
+lat=this.lat0;
+}
+lat=Proj4js.common.asinz(cosz*this.sin_p14+(y*sinz*this.cos_p14)/rh);
+con=Math.abs(lat0)-Proj4js.common.HALF_PI;
+if(Math.abs(con)<=Proj4js.common.EPSLN){
+if(this.lat0>=0){
+lon=Proj4js.common.adjust_lon(this.long0+Math.atan2(p.x,-p.y));
+}else{
+lon=Proj4js.common.adjust_lon(this.long0-Math.atan2(-p.x,p.y));
+}
+}
+con=cosz-this.sin_p14*Math.sin(lat);
+if((Math.abs(con)>=Proj4js.common.EPSLN)||(Math.abs(x)>=Proj4js.common.EPSLN)){
+lon=Proj4js.common.adjust_lon(this.long0+Math.atan2((p.x*sinz*this.cos_p14),(con*rh)));
+}
+p.x=lon;
+p.y=lat;
+return p;
+}};
+Proj4js.Proj.stere={ssfn_:function(phit,_12e,_12f){
+_12e*=_12f;
+return (Math.tan(0.5*(Proj4js.common.HALF_PI+phit))*Math.pow((1-_12e)/(1+_12e),0.5*_12f));
+},TOL:1e-8,NITER:8,CONV:1e-10,S_POLE:0,N_POLE:1,OBLIQ:2,EQUIT:3,init:function(){
+this.phits=this.lat_ts?this.lat_ts:Proj4js.common.HALF_PI;
+var t=Math.abs(this.lat0);
+if((Math.abs(t)-Proj4js.common.HALF_PI)<Proj4js.common.EPSLN){
+this.mode=this.lat0<0?this.S_POLE:this.N_POLE;
+}else{
+this.mode=t>Proj4js.common.EPSLN?this.OBLIQ:this.EQUIT;
+}
+this.phits=Math.abs(this.phits);
+if(this.es){
+var X;
+switch(this.mode){
+case this.N_POLE:
+case this.S_POLE:
+if(Math.abs(this.phits-Proj4js.common.HALF_PI)<Proj4js.common.EPSLN){
+this.akm1=2*this.k0/Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e));
+}else{
+t=Math.sin(this.phits);
+this.akm1=Math.cos(this.phits)/Proj4js.common.tsfnz(this.e,this.phits,t);
+t*=this.e;
+this.akm1/=Math.sqrt(1-t*t);
+}
+break;
+case this.EQUIT:
+this.akm1=2*this.k0;
+break;
+case this.OBLIQ:
+t=Math.sin(this.lat0);
+X=2*Math.atan(this.ssfn_(this.lat0,t,this.e))-Proj4js.common.HALF_PI;
+t*=this.e;
+this.akm1=2*this.k0*Math.cos(this.lat0)/Math.sqrt(1-t*t);
+this.sinX1=Math.sin(X);
+this.cosX1=Math.cos(X);
+break;
+}
+}else{
+switch(this.mode){
+case this.OBLIQ:
+this.sinph0=Math.sin(this.lat0);
+this.cosph0=Math.cos(this.lat0);
+case this.EQUIT:
+this.akm1=2*this.k0;
+break;
+case this.S_POLE:
+case this.N_POLE:
+this.akm1=Math.abs(this.phits-Proj4js.common.HALF_PI)>=Proj4js.common.EPSLN?Math.cos(this.phits)/Math.tan(Proj4js.common.FORTPI-0.5*this.phits):2*this.k0;
+break;
+}
+}
+},forward:function(p){
+var lon=p.x;
+var lat=p.y;
+var x,y;
+if(this.sphere){
+var _136,cosphi,coslam,sinlam;
+_136=Math.sin(lat);
+cosphi=Math.cos(lat);
+coslam=Math.cos(lon);
+sinlam=Math.sin(lon);
+switch(this.mode){
+case this.EQUIT:
+y=1+cosphi*coslam;
+if(y<=Proj4js.common.EPSLN){
+F_ERROR;
+}
+y=this.akm1/y;
+x=y*cosphi*sinlam;
+y*=_136;
+break;
+case this.OBLIQ:
+y=1+this.sinph0*_136+this.cosph0*cosphi*coslam;
+if(y<=Proj4js.common.EPSLN){
+F_ERROR;
+}
+y=this.akm1/y;
+x=y*cosphi*sinlam;
+y*=this.cosph0*_136-this.sinph0*cosphi*coslam;
+break;
+case this.N_POLE:
+coslam=-coslam;
+lat=-lat;
+case this.S_POLE:
+if(Math.abs(lat-Proj4js.common.HALF_PI)<this.TOL){
+F_ERROR;
+}
+y=this.akm1*Math.tan(Proj4js.common.FORTPI+0.5*lat);
+x=sinlam*y;
+y*=coslam;
+break;
+}
+}else{
+coslam=Math.cos(lon);
+sinlam=Math.sin(lon);
+_136=Math.sin(lat);
+if(this.mode==this.OBLIQ||this.mode==this.EQUIT){
+X=2*Math.atan(this.ssfn_(lat,_136,this.e));
+sinX=Math.sin(X-Proj4js.common.HALF_PI);
+cosX=Math.cos(X);
+}
+switch(this.mode){
+case this.OBLIQ:
+A=this.akm1/(this.cosX1*(1+this.sinX1*sinX+this.cosX1*cosX*coslam));
+y=A*(this.cosX1*sinX-this.sinX1*cosX*coslam);
+x=A*cosX;
+break;
+case this.EQUIT:
+A=2*this.akm1/(1+cosX*coslam);
+y=A*sinX;
+x=A*cosX;
+break;
+case this.S_POLE:
+lat=-lat;
+coslam=-coslam;
+_136=-_136;
+case this.N_POLE:
+x=this.akm1*Proj4js.common.tsfnz(this.e,lat,_136);
+y=-x*coslam;
+break;
+}
+x=x*sinlam;
+}
+p.x=x*this.a+this.x0;
+p.y=y*this.a+this.y0;
+return p;
+},inverse:function(p){
+var x=(p.x-this.x0)/this.a;
+var y=(p.y-this.y0)/this.a;
+var lon,lat;
+var _13b,sinphi,tp=0,phi_l=0,rho,halfe=0,pi2=0;
+var i;
+if(this.sphere){
+var c,rh,sinc,cosc;
+rh=Math.sqrt(x*x+y*y);
+c=2*Math.atan(rh/this.akm1);
+sinc=Math.sin(c);
+cosc=Math.cos(c);
+lon=0;
+switch(this.mode){
+case this.EQUIT:
+if(Math.abs(rh)<=Proj4js.common.EPSLN){
+lat=0;
+}else{
+lat=Math.asin(y*sinc/rh);
+}
+if(cosc!=0||x!=0){
+lon=Math.atan2(x*sinc,cosc*rh);
+}
+break;
+case this.OBLIQ:
+if(Math.abs(rh)<=Proj4js.common.EPSLN){
+lat=this.phi0;
+}else{
+lat=Math.asin(cosc*sinph0+y*sinc*cosph0/rh);
+}
+c=cosc-sinph0*Math.sin(lat);
+if(c!=0||x!=0){
+lon=Math.atan2(x*sinc*cosph0,c*rh);
+}
+break;
+case this.N_POLE:
+y=-y;
+case this.S_POLE:
+if(Math.abs(rh)<=Proj4js.common.EPSLN){
+lat=this.phi0;
+}else{
+lat=Math.asin(this.mode==this.S_POLE?-cosc:cosc);
+}
+lon=(x==0&&y==0)?0:Math.atan2(x,y);
+break;
+}
+}else{
+rho=Math.sqrt(x*x+y*y);
+switch(this.mode){
+case this.OBLIQ:
+case this.EQUIT:
+tp=2*Math.atan2(rho*this.cosX1,this.akm1);
+_13b=Math.cos(tp);
+sinphi=Math.sin(tp);
+if(rho==0){
+phi_l=Math.asin(_13b*this.sinX1);
+}else{
+phi_l=Math.asin(_13b*this.sinX1+(y*sinphi*this.cosX1/rho));
+}
+tp=Math.tan(0.5*(Proj4js.common.HALF_PI+phi_l));
+x*=sinphi;
+y=rho*this.cosX1*_13b-y*this.sinX1*sinphi;
+pi2=Proj4js.common.HALF_PI;
+halfe=0.5*this.e;
+break;
+case this.N_POLE:
+y=-y;
+case this.S_POLE:
+tp=-rho/this.akm1;
+phi_l=Proj4js.common.HALF_PI-2*Math.atan(tp);
+pi2=-Proj4js.common.HALF_PI;
+halfe=-0.5*this.e;
+break;
+}
+for(i=this.NITER;i--;phi_l=lat){
+sinphi=this.e*Math.sin(phi_l);
+lat=2*Math.atan(tp*Math.pow((1+sinphi)/(1-sinphi),halfe))-pi2;
+if(Math.abs(phi_l-lat)<this.CONV){
+if(this.mode==this.S_POLE){
+lat=-lat;
+}
+lon=(x==0&&y==0)?0:Math.atan2(x,y);
+p.x=lon;
+p.y=lat;
+return p;
+}
+}
+}
+}};
+Proj4js.Proj.mill={init:function(){
+},forward:function(p){
+var lon=p.x;
+var lat=p.y;
+dlon=Proj4js.common.adjust_lon(lon-this.long0);
+var x=this.x0+this.R*dlon;
+var y=this.y0+this.R*Math.log(Math.tan((Proj4js.common.PI/4)+(lat/2.5)))*1.25;
+p.x=x;
+p.y=y;
+return p;
+},inverse:function(p){
+p.x-=this.x0;
+p.y-=this.y0;
+var lon=Proj4js.common.adjust_lon(this.long0+p.x/this.R);
+var lat=2.5*(Math.atan(Math.exp(p.y/this.R/1.25))-Proj4js.common.PI/4);
+p.x=lon;
+p.y=lat;
+return p;
+}};
+Proj4js.Proj.sinu={init:function(){
+this.R=6370997;
+},forward:function(p){
+var x,y,delta_lon;
+var lon=p.x;
+var lat=p.y;
+delta_lon=Proj4js.common.adjust_lon(lon-this.long0);
+x=this.R*delta_lon*Math.cos(lat)+this.x0;
+y=this.R*lat+this.y0;
+p.x=x;
+p.y=y;
+return p;
+},inverse:function(p){
+var lat,temp,lon;
+p.x-=this.x0;
+p.y-=this.y0;
+lat=p.y/this.R;
+if(Math.abs(lat)>Proj4js.common.HALF_PI){
+Proj4js.reportError("sinu:Inv:DataError");
+}
+temp=Math.abs(lat)-Proj4js.common.HALF_PI;
+if(Math.abs(temp)>Proj4js.common.EPSLN){
+temp=this.long0+p.x/(this.R*Math.cos(lat));
+lon=Proj4js.common.adjust_lon(temp);
+}else{
+lon=this.long0;
+}
+p.x=lon;
+p.y=lat;
+return p;
+}};
+var GEOCENT_LAT_ERROR=1;
+var COS_67P5=0.3826834323650898;
+var AD_C=1.0026;
+function cs_geodetic_to_geocentric(cs,p){
+var _14e=p.x;
+var _14f=p.y;
+var _150=p.z;
+var X;
+var Y;
+var Z;
+var _154=0;
+var Rn;
+var _156;
+var _157;
+var _158;
+if(_14f<-HALF_PI&&_14f>-1.001*HALF_PI){
+_14f=-HALF_PI;
+}else{
+if(_14f>HALF_PI&&_14f<1.001*HALF_PI){
+_14f=HALF_PI;
+}else{
+if((_14f<-HALF_PI)||(_14f>HALF_PI)){
+_154|=GEOCENT_LAT_ERROR;
+}
+}
+}
+if(!_154){
+if(_14e>PI){
+_14e-=(2*PI);
+}
+_156=Math.sin(_14f);
+_158=Math.cos(_14f);
+_157=_156*_156;
+Rn=cs.a/(Math.sqrt(1-cs.es*_157));
+X=(Rn+_150)*_158*Math.cos(_14e);
+Y=(Rn+_150)*_158*Math.sin(_14e);
+Z=((Rn*(1-cs.es))+_150)*_156;
+}
+p.x=X;
+p.y=Y;
+p.z=Z;
+return _154;
+}
+function cs_geocentric_to_geodetic(cs,p){
+var X=p.x;
+var Y=p.y;
+var Z=p.z;
+var _15e;
+var _15f;
+var _160;
+var W;
+var W2;
+var T0;
+var T1;
+var S0;
+var S1;
+var _167;
+var _168;
+var _169;
+var _16a;
+var _16b;
+var Rn;
+var Sum;
+var _16e;
+X=parseFloat(X);
+Y=parseFloat(Y);
+Z=parseFloat(Z);
+_16e=false;
+if(X!=0){
+_15e=Math.atan2(Y,X);
+}else{
+if(Y>0){
+_15e=HALF_PI;
+}else{
+if(Y<0){
+_15e=-HALF_PI;
+}else{
+_16e=true;
+_15e=0;
+if(Z>0){
+_15f=HALF_PI;
+}else{
+if(Z<0){
+_15f=-HALF_PI;
+}else{
+_15f=HALF_PI;
+_160=-cs.b;
+return;
+}
+}
+}
+}
+}
+W2=X*X+Y*Y;
+W=Math.sqrt(W2);
+T0=Z*AD_C;
+S0=Math.sqrt(T0*T0+W2);
+_167=T0/S0;
+_169=W/S0;
+_168=_167*_167*_167;
+T1=Z+cs.b*cs.ep2*_168;
+Sum=W-cs.a*cs.es*_169*_169*_169;
+S1=Math.sqrt(T1*T1+Sum*Sum);
+_16a=T1/S1;
+_16b=Sum/S1;
+Rn=cs.a/Math.sqrt(1-cs.es*_16a*_16a);
+if(_16b>=COS_67P5){
+_160=W/_16b-Rn;
+}else{
+if(_16b<=-COS_67P5){
+_160=W/-_16b-Rn;
+}else{
+_160=Z/_16a+Rn*(cs.es-1);
+}
+}
+if(_16e==false){
+_15f=Math.atan(_16a/_16b);
+}
+p.x=_15e;
+p.y=_15f;
+p.z=_160;
+return 0;
+}
+function cs_geocentric_to_wgs84(defn,p){
+if(defn.datum_type==PJD_3PARAM){
+p.x+=defn.datum_params[0];
+p.y+=defn.datum_params[1];
+p.z+=defn.datum_params[2];
+}else{
+var _171=defn.datum_params[0];
+var _172=defn.datum_params[1];
+var _173=defn.datum_params[2];
+var _174=defn.datum_params[3];
+var _175=defn.datum_params[4];
+var _176=defn.datum_params[5];
+var M_BF=defn.datum_params[6];
+var _178=M_BF*(p.x-_176*p.y+_175*p.z)+_171;
+var _179=M_BF*(_176*p.x+p.y-_174*p.z)+_172;
+var _17a=M_BF*(-_175*p.x+_174*p.y+p.z)+_173;
+p.x=_178;
+p.y=_179;
+p.z=_17a;
+}
+}
+function cs_geocentric_from_wgs84(defn,p){
+if(defn.datum_type==PJD_3PARAM){
+p.x-=defn.datum_params[0];
+p.y-=defn.datum_params[1];
+p.z-=defn.datum_params[2];
+}else{
+var _17d=defn.datum_params[0];
+var _17e=defn.datum_params[1];
+var _17f=defn.datum_params[2];
+var _180=defn.datum_params[3];
+var _181=defn.datum_params[4];
+var _182=defn.datum_params[5];
+var M_BF=defn.datum_params[6];
+var _184=(p.x-_17d)/M_BF;
+var _185=(p.y-_17e)/M_BF;
+var _186=(p.z-_17f)/M_BF;
+p.x=_184+_182*_185-_181*_186;
+p.y=-_182*_184+_185+_180*_186;
+p.z=_181*_184-_180*_185+_186;
+}
+}
+Proj4js.Proj.vandg={init:function(){
+this.R=6370997;
+},forward:function(p){
+var lon=p.x;
+var lat=p.y;
+var dlon=Proj4js.common.adjust_lon(lon-this.long0);
+var x,y;
+if(Math.abs(lat)<=Proj4js.common.EPSLN){
+x=this.x0+this.R*dlon;
+y=this.y0;
+}
+var _18c=Proj4js.common.asinz(2*Math.abs(lat/Proj4js.common.PI));
+if((Math.abs(dlon)<=Proj4js.common.EPSLN)||(Math.abs(Math.abs(lat)-Proj4js.common.HALF_PI)<=Proj4js.common.EPSLN)){
+x=this.x0;
+if(lat>=0){
+y=this.y0+Proj4js.common.PI*this.R*Math.tan(0.5*_18c);
+}else{
+y=this.y0+Proj4js.common.PI*this.R*-Math.tan(0.5*_18c);
+}
+}
+var al=0.5*Math.abs((Proj4js.common.PI/dlon)-(dlon/Proj4js.common.PI));
+var asq=al*al;
+var _18f=Math.sin(_18c);
+var _190=Math.cos(_18c);
+var g=_190/(_18f+_190-1);
+var gsq=g*g;
+var m=g*(2/_18f-1);
+var msq=m*m;
+var con=Proj4js.common.PI*this.R*(al*(g-msq)+Math.sqrt(asq*(g-msq)*(g-msq)-(msq+asq)*(gsq-msq)))/(msq+asq);
+if(dlon<0){
+con=-con;
+}
+x=this.x0+con;
+con=Math.abs(con/(Proj4js.common.PI*this.R));
+if(lat>=0){
+y=this.y0+Proj4js.common.PI*this.R*Math.sqrt(1-con*con-2*al*con);
+}else{
+y=this.y0-Proj4js.common.PI*this.R*Math.sqrt(1-con*con-2*al*con);
+}
+p.x=x;
+p.y=y;
+return p;
+},inverse:function(p){
+var dlon;
+var xx,yy,xys,c1,c2,c3;
+var al,asq;
+var a1;
+var m1;
+var con;
+var th1;
+var d;
+p.x-=this.x0;
+p.y-=this.y0;
+con=Proj4js.common.PI*this.R;
+xx=p.x/con;
+yy=p.y/con;
+xys=xx*xx+yy*yy;
+c1=-Math.abs(yy)*(1+xys);
+c2=c1-2*yy*yy+xx*xx;
+c3=-2*c1+1+2*yy*yy+xys*xys;
+d=yy*yy/c3+(2*c2*c2*c2/c3/c3/c3-9*c1*c2/c3/c3)/27;
+a1=(c1-c2*c2/3/c3)/c3;
+m1=2*Math.sqrt(-a1/3);
+con=((3*d)/a1)/m1;
+if(Math.abs(con)>1){
+if(con>=0){
+con=1;
+}else{
+con=-1;
+}
+}
+th1=Math.acos(con)/3;
+if(p.y>=0){
+lat=(-m1*Math.cos(th1+Proj4js.common.PI/3)-c2/3/c3)*Proj4js.common.PI;
+}else{
+lat=-(-m1*Math.cos(th1+PI/3)-c2/3/c3)*Proj4js.common.PI;
+}
+if(Math.abs(xx)<Proj4js.common.EPSLN){
+lon=this.long0;
+}
+lon=Proj4js.common.adjust_lon(this.long0+Proj4js.common.PI*(xys-1+Math.sqrt(1+2*(xx*xx-yy*yy)+xys*xys))/2/xx);
+p.x=lon;
+p.y=lat;
+return p;
+}};
+Proj4js.Proj.gauss={init:function(){
+sphi=Math.sin(this.lat0);
+cphi=Math.cos(this.lat0);
+cphi*=cphi;
+this.rc=Math.sqrt(1-this.es)/(1-this.es*sphi*sphi);
+this.C=Math.sqrt(1+this.es*cphi*cphi/(1-this.es));
+this.phic0=Math.asin(sphi/this.C);
+this.ratexp=0.5*this.C*this.e;
+this.K=Math.tan(0.5*this.phic0+Proj4js.common.FORTPI)/(Math.pow(Math.tan(0.5*this.lat0+Proj4js.common.FORTPI),this.C)*Proj4js.common.srat(this.e*sphi,this.ratexp));
+},forward:function(p){
+var lon=p.x;
+var lat=p.y;
+p.y=2*Math.atan(this.K*Math.pow(Math.tan(0.5*lat+Proj4js.common.FORTPI),this.C)*Proj4js.common.srat(this.e*Math.sin(lat),this.ratexp))-Proj4js.common.HALF_PI;
+p.x=this.C*lon;
+return p;
+},inverse:function(p){
+var _1a3=1e-14;
+var lon=p.x/this.C;
+var lat=p.y;
+num=Math.pow(Math.tan(0.5*lat+Proj4js.common.FORTPI)/this.K,1/this.C);
+for(var i=Proj4js.common.MAX_ITER;i>0;--i){
+lat=2*Math.atan(num*Proj4js.common.srat(this.e*Math.sin(p.y),-0.5*this.e))-Proj4js.common.HALF_PI;
+if(Math.abs(lat-p.y)<_1a3){
+break;
+}
+p.y=lat;
+}
+if(!i){
+Proj4js.reportError("gauss:inverse:convergence failed");
+return null;
+}
+p.x=lon;
+p.y=lat;
+return p;
+}};
+Proj4js.Proj.omerc={init:function(){
+if(!this.mode){
+this.mode=0;
+}
+if(!this.lon1){
+this.lon1=0;
+this.mode=1;
+}
+if(!this.lon2){
+this.lon2=0;
+}
+if(!this.lat2){
+this.lat2=0;
+}
+var temp=this.b/this.a;
+var es=1-Math.pow(temp,2);
+var e=Math.sqrt(es);
+this.sin_p20=Math.sin(this.lat0);
+this.cos_p20=Math.cos(this.lat0);
+this.con=1-this.es*this.sin_p20*this.sin_p20;
+this.com=Math.sqrt(1-es);
+this.bl=Math.sqrt(1+this.es*Math.pow(this.cos_p20,4)/(1-es));
+this.al=this.a*this.bl*this.k0*this.com/this.con;
+if(Math.abs(this.lat0)<Proj4js.common.EPSLN){
+this.ts=1;
+this.d=1;
+this.el=1;
+}else{
+this.ts=Proj4js.common.tsfnz(this.e,this.lat0,this.sin_p20);
+this.con=Math.sqrt(this.con);
+this.d=this.bl*this.com/(this.cos_p20*this.con);
+if((this.d*this.d-1)>0){
+if(this.lat0>=0){
+this.f=this.d+Math.sqrt(this.d*this.d-1);
+}else{
+this.f=this.d-Math.sqrt(this.d*this.d-1);
+}
+}else{
+this.f=this.d;
+}
+this.el=this.f*Math.pow(this.ts,this.bl);
+}
+if(this.mode!=0){
+this.g=0.5*(this.f-1/this.f);
+this.gama=Proj4js.common.asinz(Math.sin(this.alpha)/this.d);
+this.longc=this.longc-Proj4js.common.asinz(this.g*Math.tan(this.gama))/this.bl;
+this.con=Math.abs(this.lat0);
+if((this.con>Proj4js.common.EPSLN)&&(Math.abs(this.con-Proj4js.common.HALF_PI)>Proj4js.common.EPSLN)){
+this.singam=Math.sin(this.gama);
+this.cosgam=Math.cos(this.gama);
+this.sinaz=Math.sin(this.alpha);
+this.cosaz=Math.cos(this.alpha);
+if(this.lat0>=0){
+this.u=(this.al/this.bl)*Math.atan(Math.sqrt(this.d*this.d-1)/this.cosaz);
+}else{
+this.u=-(this.al/this.bl)*Math.atan(Math.sqrt(this.d*this.d-1)/this.cosaz);
+}
+}else{
+Proj4js.reportError("omerc:Init:DataError");
+}
+}else{
+this.sinphi=Math.sin(this.at1);
+this.ts1=Proj4js.common.tsfnz(this.e,this.lat1,this.sinphi);
+this.sinphi=Math.sin(this.lat2);
+this.ts2=Proj4js.common.tsfnz(this.e,this.lat2,this.sinphi);
+this.h=Math.pow(this.ts1,this.bl);
+this.l=Math.pow(this.ts2,this.bl);
+this.f=this.el/this.h;
+this.g=0.5*(this.f-1/this.f);
+this.j=(this.el*this.el-this.l*this.h)/(this.el*this.el+this.l*this.h);
+this.p=(this.l-this.h)/(this.l+this.h);
+this.dlon=this.lon1-this.lon2;
+if(this.dlon<-Proj4js.common.PI){
+this.lon2=this.lon2-2*Proj4js.common.PI;
+}
+if(this.dlon>Proj4js.common.PI){
+this.lon2=this.lon2+2*Proj4js.common.PI;
+}
+this.dlon=this.lon1-this.lon2;
+this.longc=0.5*(this.lon1+this.lon2)-Math.atan(this.j*Math.tan(0.5*this.bl*this.dlon)/this.p)/this.bl;
+this.dlon=Proj4js.common.adjust_lon(this.lon1-this.longc);
+this.gama=Math.atan(Math.sin(this.bl*this.dlon)/this.g);
+this.alpha=Proj4js.common.asinz(this.d*Math.sin(this.gama));
+if(Math.abs(this.lat1-this.lat2)<=Proj4js.common.EPSLN){
+Proj4js.reportError("omercInitDataError");
+}else{
+this.con=Math.abs(this.lat1);
+}
+if((this.con<=Proj4js.common.EPSLN)||(Math.abs(this.con-HALF_PI)<=Proj4js.common.EPSLN)){
+Proj4js.reportError("omercInitDataError");
+}else{
+if(Math.abs(Math.abs(this.lat0)-Proj4js.common.HALF_PI)<=Proj4js.common.EPSLN){
+Proj4js.reportError("omercInitDataError");
+}
+}
+this.singam=Math.sin(this.gam);
+this.cosgam=Math.cos(this.gam);
+this.sinaz=Math.sin(this.alpha);
+this.cosaz=Math.cos(this.alpha);
+if(this.lat0>=0){
+this.u=(this.al/this.bl)*Math.atan(Math.sqrt(this.d*this.d-1)/this.cosaz);
+}else{
+this.u=-(this.al/this.bl)*Math.atan(Math.sqrt(this.d*this.d-1)/this.cosaz);
+}
+}
+},forward:function(p){
+var _1ab;
+var _1ac,cos_phi;
+var b;
+var c,t,tq;
+var con,n,ml;
+var q,us,vl;
+var ul,vs;
+var s;
+var dlon;
+var ts1;
+var lon=p.x;
+var lat=p.y;
+_1ac=Math.sin(lat);
+dlon=Proj4js.common.adjust_lon(lon-this.longc);
+vl=Math.sin(this.bl*dlon);
+if(Math.abs(Math.abs(lat)-Proj4js.common.HALF_PI)>Proj4js.common.EPSLN){
+ts1=Proj4js.common.tsfnz(this.e,lat,_1ac);
+q=this.el/(Math.pow(ts1,this.bl));
+s=0.5*(q-1/q);
+t=0.5*(q+1/q);
+ul=(s*this.singam-vl*this.cosgam)/t;
+con=Math.cos(this.bl*dlon);
+if(Math.abs(con)<1e-7){
+us=this.al*this.bl*dlon;
+}else{
+us=this.al*Math.atan((s*this.cosgam+vl*this.singam)/con)/this.bl;
+if(con<0){
+us=us+Proj4js.common.PI*this.al/this.bl;
+}
+}
+}else{
+if(lat>=0){
+ul=this.singam;
+}else{
+ul=-this.singam;
+}
+us=this.al*lat/this.bl;
+}
+if(Math.abs(Math.abs(ul)-1)<=Proj4js.common.EPSLN){
+Proj4js.reportError("omercFwdInfinity");
+}
+vs=0.5*this.al*Math.log((1-ul)/(1+ul))/this.bl;
+us=us-this.u;
+var x=this.x0+vs*this.cosaz+us*this.sinaz;
+var y=this.y0+us*this.cosaz-vs*this.sinaz;
+p.x=x;
+p.y=y;
+return p;
+},inverse:function(p){
+var _1ba;
+var _1bb;
+var _1bc;
+var _1bd,cos_phi;
+var b;
+var c,t,tq;
+var con,n,ml;
+var vs,us,q,s,ts1;
+var vl,ul,bs;
+var dlon;
+var flag;
+p.x-=this.x0;
+p.y-=this.y0;
+flag=0;
+vs=p.x*this.cosaz-p.y*this.sinaz;
+us=p.y*this.cosaz+p.x*this.sinaz;
+us=us+this.u;
+q=Math.exp(-this.bl*vs/this.al);
+s=0.5*(q-1/q);
+t=0.5*(q+1/q);
+vl=Math.sin(this.bl*us/this.al);
+ul=(vl*this.cosgam+s*this.singam)/t;
+if(Math.abs(Math.abs(ul)-1)<=Proj4js.common.EPSLN){
+lon=this.longc;
+if(ul>=0){
+lat=Proj4js.common.HALF_PI;
+}else{
+lat=-Proj4js.common.HALF_PI;
+}
+}else{
+con=1/this.bl;
+ts1=Math.pow((this.el/Math.sqrt((1+ul)/(1-ul))),con);
+lat=Proj4js.common.phi2z(this.e,ts1);
+_1bb=this.longc-Math.atan2((s*this.cosgam-vl*this.singam),con)/this.bl;
+lon=Proj4js.common.adjust_lon(_1bb);
+}
+p.x=lon;
+p.y=lat;
+return p;
+}};
+Proj4js.Proj.lcc={init:function(){
+if(!this.lat2){
+this.lat2=this.lat0;
+}
+if(!this.k0){
+this.k0=1;
+}
+if(Math.abs(this.lat1+this.lat2)<Proj4js.common.EPSLN){
+Proj4js.reportError("lcc:init: Equal Latitudes");
+return;
+}
+var temp=this.b/this.a;
+this.e=Math.sqrt(1-temp*temp);
+var sin1=Math.sin(this.lat1);
+var cos1=Math.cos(this.lat1);
+var ms1=Proj4js.common.msfnz(this.e,sin1,cos1);
+var ts1=Proj4js.common.tsfnz(this.e,this.lat1,sin1);
+var sin2=Math.sin(this.lat2);
+var cos2=Math.cos(this.lat2);
+var ms2=Proj4js.common.msfnz(this.e,sin2,cos2);
+var ts2=Proj4js.common.tsfnz(this.e,this.lat2,sin2);
+var ts0=Proj4js.common.tsfnz(this.e,this.lat0,Math.sin(this.lat0));
+if(Math.abs(this.lat1-this.lat2)>Proj4js.common.EPSLN){
+this.ns=Math.log(ms1/ms2)/Math.log(ts1/ts2);
+}else{
+this.ns=sin1;
+}
+this.f0=ms1/(this.ns*Math.pow(ts1,this.ns));
+this.rh=this.a*this.f0*Math.pow(ts0,this.ns);
+if(!this.title){
+this.title="Lambert Conformal Conic";
+}
+},forward:function(p){
+var lon=p.x;
+var lat=p.y;
+if(lat<=90&&lat>=-90&&lon<=180&&lon>=-180){
+}else{
+Proj4js.reportError("lcc:forward: llInputOutOfRange: "+lon+" : "+lat);
+return null;
+}
+var con=Math.abs(Math.abs(lat)-Proj4js.common.HALF_PI);
+var ts;
+if(con>Proj4js.common.EPSLN){
+ts=Proj4js.common.tsfnz(this.e,lat,Math.sin(lat));
+rh1=this.a*this.f0*Math.pow(ts,this.ns);
+}else{
+con=lat*this.ns;
+if(con<=0){
+Proj4js.reportError("lcc:forward: No Projection");
+return null;
+}
+rh1=0;
+}
+var _1d4=this.ns*Proj4js.common.adjust_lon(lon-this.long0);
+p.x=this.k0*(rh1*Math.sin(_1d4))+this.x0;
+p.y=this.k0*(this.rh-rh1*Math.cos(_1d4))+this.y0;
+return p;
+},inverse:function(p){
+var rh1,con,ts;
+var lat,lon;
+x=(p.x-this.x0)/this.k0;
+y=(this.rh-(p.y-this.y0)/this.k0);
+if(this.ns>0){
+rh1=Math.sqrt(x*x+y*y);
+con=1;
+}else{
+rh1=-Math.sqrt(x*x+y*y);
+con=-1;
+}
+var _1d8=0;
+if(rh1!=0){
+_1d8=Math.atan2((con*x),(con*y));
+}
+if((rh1!=0)||(this.ns>0)){
+con=1/this.ns;
+ts=Math.pow((rh1/(this.a*this.f0)),con);
+lat=Proj4js.common.phi2z(this.e,ts);
+if(lat==-9999){
+return null;
+}
+}else{
+lat=-Proj4js.common.HALF_PI;
+}
+lon=Proj4js.common.adjust_lon(_1d8/this.ns+this.long0);
+p.x=lon;
+p.y=lat;
+return p;
+}};
+Proj4js.Proj.laea={init:function(){
+this.sin_lat_o=Math.sin(this.lat0);
+this.cos_lat_o=Math.cos(this.lat0);
+},forward:function(p){
+var lon=p.x;
+var lat=p.y;
+var _1dc=Proj4js.common.adjust_lon(lon-this.long0);
+var _1dd=Math.sin(lat);
+var _1de=Math.cos(lat);
+var _1df=Math.sin(_1dc);
+var _1e0=Math.cos(_1dc);
+var g=this.sin_lat_o*_1dd+this.cos_lat_o*_1de*_1e0;
+if(g==-1){
+Proj4js.reportError("laea:fwd:Point projects to a circle of radius "+2*R);
+return null;
+}
+var ksp=this.a*Math.sqrt(2/(1+g));
+var x=ksp*_1de*_1df+this.x0;
+var y=ksp*(this.cos_lat_o*_1dd-this.sin_lat_o*_1de*_1e0)+this.x0;
+p.x=x;
+p.y=y;
+return p;
+},inverse:function(p){
+p.x-=this.x0;
+p.y-=this.y0;
+var Rh=Math.sqrt(p.x*p.x+p.y*p.y);
+var temp=Rh/(2*this.a);
+if(temp>1){
+Proj4js.reportError("laea:Inv:DataError");
+return null;
+}
+var z=2*Proj4js.common.asinz(temp);
+var _1e9=Math.sin(z);
+var _1ea=Math.cos(z);
+var lon=this.long0;
+if(Math.abs(Rh)>Proj4js.common.EPSLN){
+var lat=Proj4js.common.asinz(this.sin_lat_o*_1ea+this.cos_lat_o*_1e9*p.y/Rh);
+var temp=Math.abs(this.lat0)-Proj4js.common.HALF_PI;
+if(Math.abs(temp)>Proj4js.common.EPSLN){
+temp=_1ea-this.sin_lat_o*Math.sin(lat);
+if(temp!=0){
+lon=Proj4js.common.adjust_lon(this.long0+Math.atan2(p.x*_1e9*this.cos_lat_o,temp*Rh));
+}
+}else{
+if(this.lat0<0){
+lon=Proj4js.common.adjust_lon(this.long0-Math.atan2(-p.x,p.y));
+}else{
+lon=Proj4js.common.adjust_lon(this.long0+Math.atan2(p.x,-p.y));
+}
+}
+}else{
+lat=this.lat0;
+}
+p.x=lon;
+p.y=lat;
+return p;
+}};
+Proj4js.Proj.aeqd={init:function(){
+this.sin_p12=Math.sin(this.lat0);
+this.cos_p12=Math.cos(this.lat0);
+},forward:function(p){
+var lon=p.x;
+var lat=p.y;
+var ksp;
+var _1f1=Math.sin(p.y);
+var _1f2=Math.cos(p.y);
+var dlon=Proj4js.common.adjust_lon(lon-this.long0);
+var _1f4=Math.cos(dlon);
+var g=this.sin_p12*_1f1+this.cos_p12*_1f2*_1f4;
+if(Math.abs(Math.abs(g)-1)<Proj4js.common.EPSLN){
+ksp=1;
+if(g<0){
+Proj4js.reportError("aeqd:Fwd:PointError");
+return;
+}
+}else{
+var z=Math.acos(g);
+ksp=z/Math.sin(z);
+}
+p.x=this.x0+this.a*ksp*_1f2*Math.sin(dlon);
+p.y=this.y0+this.a*ksp*(this.cos_p12*_1f1-this.sin_p12*_1f2*_1f4);
+return p;
+},inverse:function(p){
+p.x-=this.x0;
+p.y-=this.y0;
+var rh=Math.sqrt(p.x*p.x+p.y*p.y);
+if(rh>(2*Proj4js.common.HALF_PI*this.a)){
+Proj4js.reportError("aeqdInvDataError");
+return;
+}
+var z=rh/this.a;
+var sinz=Math.sin(z);
+var cosz=Math.cos(z);
+var lon=this.long0;
+var lat;
+if(Math.abs(rh)<=Proj4js.common.EPSLN){
+lat=this.lat0;
+}else{
+lat=Proj4js.common.asinz(cosz*this.sin_p12+(p.y*sinz*this.cos_p12)/rh);
+var con=Math.abs(this.lat0)-Proj4js.common.HALF_PI;
+if(Math.abs(con)<=Proj4js.common.EPSLN){
+if(lat0>=0){
+lon=Proj4js.common.adjust_lon(this.long0+Math.atan2(p.x,-p.y));
+}else{
+lon=Proj4js.common.adjust_lon(this.long0-Math.atan2(-p.x,p.y));
+}
+}else{
+con=cosz-this.sin_p12*Math.sin(lat);
+if((Math.abs(con)<Proj4js.common.EPSLN)&&(Math.abs(p.x)<Proj4js.common.EPSLN)){
+}else{
+var temp=Math.atan2((p.x*sinz*this.cos_p12),(con*rh));
+lon=Proj4js.common.adjust_lon(this.long0+Math.atan2((p.x*sinz*this.cos_p12),(con*rh)));
+}
+}
+}
+p.x=lon;
+p.y=lat;
+return p;
+}};
+Proj4js.Proj.moll={init:function(){
+},forward:function(p){
+var lon=p.x;
+var lat=p.y;
+var _203=Proj4js.common.adjust_lon(lon-this.long0);
+var _204=lat;
+var con=Proj4js.common.PI*Math.sin(lat);
+for(var i=0;;i++){
+var _207=-(_204+Math.sin(_204)-con)/(1+Math.cos(_204));
+_204+=_207;
+if(Math.abs(_207)<Proj4js.common.EPSLN){
+break;
+}
+if(i>=50){
+Proj4js.reportError("moll:Fwd:IterationError");
+}
+}
+_204/=2;
+if(Proj4js.common.PI/2-Math.abs(lat)<Proj4js.common.EPSLN){
+_203=0;
+}
+var x=0.900316316158*this.R*_203*Math.cos(_204)+this.x0;
+var y=1.4142135623731*this.R*Math.sin(_204)+this.y0;
+p.x=x;
+p.y=y;
+return p;
+},inverse:function(p){
+var _20b;
+var arg;
+p.x-=this.x0;
+var arg=p.y/(1.4142135623731*this.R);
+if(Math.abs(arg)>0.999999999999){
+arg=0.999999999999;
+}
+var _20b=Math.asin(arg);
+var lon=Proj4js.common.adjust_lon(this.long0+(p.x/(0.900316316158*this.R*Math.cos(_20b))));
+if(lon<(-Proj4js.common.PI)){
+lon=-Proj4js.common.PI;
+}
+if(lon>Proj4js.common.PI){
+lon=Proj4js.common.PI;
+}
+arg=(2*_20b+Math.sin(2*_20b))/Proj4js.common.PI;
+if(Math.abs(arg)>1){
+arg=1;
+}
+var lat=Math.asin(arg);
+p.x=lon;
+p.y=lat;
+return p;
+}};
+
+var MB_IS_MOZ=(document.implementation&&document.implementation.createDocument)?true:false;
+function XslProcessor(_1,_2){
+if(!MB_IS_MOZ){
+_SARISSA_DOM_PROGID=Sarissa.pickRecentProgID(["Msxml2.DOMDocument.3.0","Msxml2.DOMDocument.6.0"],[["SELECT_NODES",2],["TRANSFORM_NODE",2]]);
+_SARISSA_XMLHTTP_PROGID=Sarissa.pickRecentProgID(["Msxml2.XMLHTTP.3.0","MSXML2.XMLHTTP.6.0"],[["XMLHTTP",4]]);
+_SARISSA_THREADEDDOM_PROGID=Sarissa.pickRecentProgID(["Msxml2.FreeThreadedDOMDocument.3.0","MSXML2.FreeThreadedDOMDocument.6.0"]);
+_SARISSA_XSLTEMPLATE_PROGID=Sarissa.pickRecentProgID(["Msxml2.XSLTemplate.3.0","MSXML2.XSLTemplate.6.0"],[["XSLTPROC",2]]);
+}
+this.xslUrl=_1;
+this.xslDom=Sarissa.getDomDocument();
+this.xslDom.async=false;
+if(!MB_IS_MOZ){
+try{
+this.xslDom.validateOnParse=false;
+this.xslDom.setProperty("AllowDocumentFunction",true);
+this.xslDom.resolveExternals=true;
+}
+catch(e){
+}
+}
+if(typeof (inlineXSL)!="undefined"){
+xmlString=inlineXSL[_1];
+xmlString=xmlString.replace(/DOUBLE_QUOTE/g,"\"");
+this.xslDom=(new DOMParser()).parseFromString(xmlString,"text/xml");
+}else{
+if(_SARISSA_IS_SAFARI){
+var _3=new XMLHttpRequest();
+_3.open("GET",_1,false);
+_3.send(null);
+this.xslDom=_3.responseXML;
+}else{
+this.xslDom.load(_1);
+}
+}
+if(Sarissa.getParseErrorText(this.xslDom)!=Sarissa.PARSED_OK){
+alert(mbGetMessage("errorLoadingStylesheet",_1));
+}
+this.processor=new XSLTProcessor();
+this.processor.importStylesheet(this.xslDom);
+this.docNSUri=_2;
+this.transformNodeToString=function(_4){
+try{
+if(_SARISSA_IS_IE){
+var _5=(new XMLSerializer()).serializeToString(_4);
+var _4=(new DOMParser()).parseFromString(_5,"text/xml");
+}
+var _6=this.transformNodeToObject(_4);
+var s=(new XMLSerializer()).serializeToString(_6);
+if(_SARISSA_IS_OPERA){
+s=s.replace(/.*\?\>/,"");
+}
+return s;
+}
+catch(e){
+alert(mbGetMessage("exceptionTransformingDoc",this.xslUrl));
+alert("XSL="+(new XMLSerializer()).serializeToString(this.xslDom));
+alert("XML="+(new XMLSerializer()).serializeToString(_4));
+}
+};
+this.transformNodeToObject=function(_8){
+if(_SARISSA_IS_SAFARI){
+var _9=new DOMParser().parseFromString("<xsltresult></xsltresult>","text/xml");
+var _a=this.processor.transformToFragment(_8,_9);
+var _b=(new XMLSerializer()).serializeToString(_a);
+_b.replace(/\s/g,"");
+}else{
+var _a=this.processor.transformToDocument(_8);
+}
+return _a;
+};
+this.setParameter=function(_c,_d,_e){
+if(!_d){
+return;
+}
+this.processor.setParameter(null,_c,_d);
+};
+}
+function postLoad(_f,_10,_11){
+var _12=new XMLHttpRequest();
+if(_f.indexOf("http://")==0||_f.indexOf("https://")==0){
+_12.open("POST",config.proxyUrl,false);
+_12.setRequestHeader("serverUrl",_f);
+}else{
+_12.open("POST",_f,false);
+}
+_12.setRequestHeader("content-type","text/xml");
+if(_11){
+_12.setRequestHeader("content-type",_11);
+}
+_12.send(_10);
+if(_12.status>=400){
+alert(mbGetMessage("errorLoadingDocument",_f,_12.statusText,_12.responseText));
+var _13=Sarissa.getDomDocument();
+_13.parseError=-1;
+return _13;
+}else{
+if(null==_12.responseXML){
+alert(mbGetMessage("nullXmlResponse",_12.responseText));
+}
+return _12.responseXML;
+}
+}
+function postGetLoad(_14,_15,_16,dir,_18){
+var _19=new XMLHttpRequest();
+var _1a=_14.indexOf("?")==-1?"?":"&";
+if(dir&&_18){
+_14=_14+_1a+"dir="+dir+"&fileName="+_18;
+}else{
+if(dir){
+_14=_14+_1a+"dir="+dir;
+}else{
+if(_18){
+_14=_14+_1a+"fileName="+_18;
+}
+}
+}
+if(_14.indexOf("http://")==0||_14.indexOf("https://")==0){
+_19.open("POST",config.proxyUrl,false);
+_19.setRequestHeader("serverUrl",_14);
+}else{
+_19.open("POST",_14,false);
+}
+_19.setRequestHeader("content-type","text/xml");
+if(_16){
+_19.setRequestHeader("content-type",_16);
+}
+_19.send(_15);
+if(_19.status>=400){
+alert(mbGetMessage("errorLoadingDocument",_14,_19.statusText,_19.responseText));
+var _1b=Sarissa.getDomDocument();
+_1b.parseError=-1;
+return _1b;
+}else{
+if(null==_19.responseXML){
+alert(mbGetMessage("nullXmlResponse",_19.responseText));
+}
+return _19.responseXML;
+}
+}
+function getProxyPlusUrl(url){
+if(url.indexOf("http://")==0||url.indexOf("https://")==0){
+if(config.proxyUrl){
+url=config.proxyUrl+"?url="+escape(url).replace(/\+/g,"%2C").replace(/\"/g,"%22").replace(/\'/g,"%27");
+}else{
+alert(mbGetMessage("unableToLoadDoc",url));
+url=null;
+}
+}
+return url;
+}
+function createElementWithNS(doc,_1e,_1f){
+if(_SARISSA_IS_IE){
+return doc.createNode(1,_1e,_1f);
+}else{
+return doc.createElementNS(_1f,_1e);
+}
+}
+function UniqueId(){
+this.lastId=0;
+this.getId=function(){
+this.lastId++;
+return this.lastId;
+};
+}
+var mbIds=new UniqueId();
+function setISODate(_20){
+var _21=_20.match(/(\d{4})-?(\d{2})?-?(\d{2})?T?(\d{2})?:?(\d{2})?:?(\d{2})?\.?(\d{0,3})?(Z)?/);
+var res=null;
+for(var i=1;i<_21.length;++i){
+if(!_21[i]){
+_21[i]=(i==3)?1:0;
+if(!res){
+res=i;
+}
+}
+}
+var _24=new Date();
+_24.setFullYear(parseInt(_21[1],10));
+_24.setMonth(parseInt(_21[2],10)-1,parseInt(_21[3],10));
+_24.setDate(parseInt(_21[3],10));
+_24.setHours(parseInt(_21[4],10));
+_24.setMinutes(parseInt(_21[5],10));
+_24.setSeconds(parseFloat(_21[6],10));
+if(!res){
+res=6;
+}
+_24.res=res;
+return _24;
+}
+function getISODate(_25){
+var res=_25.res?_25.res:6;
+var _27="";
+_27+=res>=1?_25.getFullYear():"";
+_27+=res>=2?"-"+leadingZeros(_25.getMonth()+1,2):"";
+_27+=res>=3?"-"+leadingZeros(_25.getDate(),2):"";
+_27+=res>=4?"T"+leadingZeros(_25.getHours(),2):"";
+_27+=res>=5?":"+leadingZeros(_25.getMinutes(),2):"";
+_27+=res>=6?":"+leadingZeros(_25.getSeconds(),2):"";
+return _27;
+}
+function leadingZeros(num,_29){
+var _2a=parseInt(num,10);
+var _2b=Math.pow(10,_29);
+if(_2a<_2b){
+_2a+=_2b;
+}
+return _2a.toString().substr(1);
+}
+function fixPNG(_2c,_2d,_2e){
+if(_SARISSA_IS_IE){
+if(_2e){
+var _2f=_2e.style.filter.substring(_2e.style.filter.indexOf("opacity=",0)+8,_2e.style.filter.lastIndexOf(")",0));
+if(_2e.style.filter.indexOf("opacity=",0)==-1){
+_2f=null;
+}
+var _30=(_2f)?_2f/100:-1;
+}
+var _31="id='"+_2d+"' ";
+var _32=(_2c.className)?"class='"+_2c.className+"' ":"";
+var _33=(_2c.title)?"title='"+_2c.title+"' ":"title='"+_2c.alt+"' ";
+var _34="display:inline-block;"+_2c.style.cssText;
+var _35="<span "+_31+_32+_33;
+_35+=" style=\""+"width:"+_2c.width+"px; height:"+_2c.height+"px;"+_34+";";
+if(_30!=-1){
+_35+="opacity="+_30+";";
+}
+var src=_2c.src;
+src=src.replace(/\(/g,"%28");
+src=src.replace(/\)/g,"%29");
+src=src.replace(/'/g,"%27");
+src=src.replace(/%23/g,"%2523");
+_35+="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader";
+_35+="(src='"+src+"', sizingMethod='scale')";
+if(_2e&&_30!=-1){
+_35+=" alpha(opacity="+(_30*100)+")";
+}
+_35+="; \"></span>";
+return _35;
+}
+}
+function getAbsX(elt){
+return (elt.x)?elt.x:getAbsPos(elt,"Left")+2;
+}
+function getAbsY(elt){
+return (elt.y)?elt.y:getAbsPos(elt,"Top")+2;
+}
+function getAbsPos(elt,_3a){
+iPos=0;
+while(elt!=null){
+iPos+=elt["offset"+_3a];
+elt=elt.offsetParent;
+}
+return iPos;
+}
+function getPageX(e){
+var _3c=0;
+if(!e){
+var e=window.event;
+}
+if(e.pageX){
+_3c=e.pageX;
+}else{
+if(e.clientX){
+_3c=e.clientX;
+}
+}
+if(document.body&&document.body.scrollLeft){
+_3c+=document.body.scrollLeft;
+}else{
+if(document.documentElement&&document.documentElement.scrollLeft){
+_3c+=document.documentElement.scrollLeft;
+}
+}
+return _3c;
+}
+function getPageY(e){
+var _3e=0;
+if(!e){
+var e=window.event;
+}
+if(e.pageY){
+_3e=e.pageY;
+}else{
+if(e.clientY){
+_3e=e.clientY;
+}
+}
+if(document.body&&document.body.scrollTop){
+_3e+=document.body.scrollTop;
+}else{
+if(document.documentElement&&document.documentElement.scrollTop){
+_3e+=document.documentElement.scrollTop;
+}
+}
+return _3e;
+}
+function getArgs(){
+var _3f=new Object();
+var _40=location.search.substring(1);
+var _41=_40.split("&");
+for(var i=0;i<_41.length;i++){
+var pos=_41[i].indexOf("=");
+if(pos==-1){
+continue;
+}
+var _44=_41[i].substring(0,pos);
+var _45=_41[i].substring(pos+1);
+_3f[_44]=unescape(_45.replace(/\+/g," "));
+}
+return _3f;
+}
+window.cgiArgs=getArgs();
+function getScreenX(_46,_47){
+bbox=_46.getBoundingBox();
+width=_46.getWindowWidth();
+bbox[0]=parseFloat(bbox[0]);
+bbox[2]=parseFloat(bbox[2]);
+var _48=(width/(bbox[2]-bbox[0]));
+x=_48*(_47-bbox[0]);
+return x;
+}
+function getScreenY(_49,_4a){
+var _4b=_49.getBoundingBox();
+var _4c=_49.getWindowHeight();
+_4b[1]=parseFloat(_4b[1]);
+_4b[3]=parseFloat(_4b[3]);
+var _4d=(heighteight/(_4b[3]-_4b[1]));
+var y=_4c-(_4d*(pt.y-_4b[1]));
+return y;
+}
+function getGeoCoordX(_4f,_50){
+var _51=_4f.getBoundingBox();
+var _52=_4f.getWindowWidth();
+_51[0]=parseFloat(_51[0]);
+_51[2]=parseFloat(_51[2]);
+var _53=((_51[2]-_51[0])/_52);
+var x=_51[0]+_53*(xCoord);
+return x;
+}
+function getGeoCoordY(_55){
+var _56=context.getBoundingBox();
+var _57=context.getWindowHeight();
+_56[1]=parseFloat(_56[1]);
+_56[3]=parseFloat(_56[3]);
+var _58=((_56[3]-_56[1])/_57);
+var y=_56[1]+_58*(_57-_55);
+return y;
+}
+function makeElt(_5a){
+var _5b=document.createElement(_5a);
+document.getElementsByTagName("body").item(0).appendChild(_5b);
+return _5b;
+}
+var newWindow="";
+function openPopup(url,_5d,_5e){
+if(_5d==null){
+_5d=300;
+}
+if(_5e==null){
+_5e=200;
+}
+if(!newWindow.closed&&newWindow.location){
+newWindow.location.href=url;
+}else{
+newWindow=window.open(url,"name","height="+_5e+",width="+_5d);
+if(!newWindow.opener){
+newwindow.opener=self;
+}
+}
+if(window.focus){
+newWindow.focus();
+}
+return false;
+}
+function debug(_5f){
+tarea=makeElt("textarea");
+tarea.setAttribute("rows","3");
+tarea.setAttribute("cols","40");
+tnode=document.createTextNode(_5f);
+tarea.appendChild(tnode);
+}
+function returnTarget(evt){
+evt=(evt)?evt:((window.event)?window.event:"");
+var elt=null;
+if(evt.target){
+elt=evt.target;
+}else{
+if(evt.srcElement){
+elt=evt.srcElement;
+}
+}
+return elt;
+}
+function addEvent(_62,_63,_64){
+if(document.addEventListener){
+_62.addEventListener(_63,_64,false);
+}else{
+if(document.attachEvent){
+_62.attachEvent("on"+_63,_64);
+}
+}
+}
+function handleEventWithObject(evt){
+var elt=returnTarget(evt);
+var obj=elt.ownerObj;
+if(obj!=null){
+obj.handleEvent(evt);
+}
+}
+function mbDebugMessage(_68,_69){
+if(_68&&_68.debug){
+alert(_69);
+}
+}
+function mbGetMessage(_6a){
+var _6b="NoMsgsFound";
+if(config.widgetText){
+var _6c="/mb:WidgetText/mb:messages/mb:"+_6a;
+var _6d=config.widgetText.selectNodes(_6c);
+if(!_6d||_6d.length==0){
+_6b=_6a;
+}else{
+_6b=getNodeValue(_6d.item(_6d.length-1));
+if(arguments[mbGetMessage.length]){
+var _6e=[].slice.call(arguments,mbGetMessage.length);
+_6e.unshift(_6b);
+_6b=mbFormatMessage.apply(this,_6e);
+}
+}
+}
+return _6b;
+}
+function mbFormatMessage(_6f){
+var _70=_6f;
+var _71=[].slice.call(arguments,mbFormatMessage.length);
+for(var i=0;i<_71.length;i++){
+var _73=new RegExp("\\{"+i+"\\}","g");
+_70=_70.replace(_73,_71[i]);
+}
+return _70;
+}
+function sld2UrlParam(_74){
+var _75=new Array();
+if(_74){
+var sld=_74.selectSingleNode("wmc:SLD");
+var _77=_74.selectSingleNode("wmc:Name");
+if(sld){
+if(sld.selectSingleNode("wmc:OnlineResource")){
+_75.sld=sld.selectSingleNode("wmc:OnlineResource").getAttribute("xlink:href");
+}else{
+if(sld.selectSingleNode("wmc:FeatureTypeStyle")){
+_75.sld=(new XMLSerializer()).serializeToString(sld.selectSingleNode("wmc:FeatureTypeStyle"));
+}else{
+if(sld.selectSingleNode("wmc:StyledLayerDescriptor")){
+_75.sld_body=(new XMLSerializer()).serializeToString(sld.selectSingleNode("wmc:StyledLayerDescriptor"));
+}
+}
+}
+}else{
+if(_77){
+_75.styles=getNodeValue(_77)||"";
+}
+}
+}
+return _75;
+}
+function sld2OlStyle(_78){
+if(_78){
+var _79=_78.selectSingleNode("wmc:SLD/sld:FeatureTypeStyle");
+if(_79){
+var sld=new XMLSerializer().serializeToString(_79);
+var _7b=/<([^:]*:?)StyledLayerDescriptor/;
+if(!_7b.test(sld)){
+sld=sld.replace(/<([^:]*:?)FeatureTypeStyle([^>]*)>(.*)$/,"<$1StyledLayerDescriptor$2><$1NamedLayer><$1Name>sld</$1Name><$1UserStyle><$1FeatureTypeStyle>$3</$1UserStyle></$1NamedLayer></$1StyledLayerDescriptor>");
+}
+}
+var _7c=new OpenLayers.Format.SLD().read(sld);
+if(_7c){
+return _7c.namedLayers["sld"].userStyles[0];
+}
+}
+var _7d={fillColor:"#808080",fillOpacity:1,strokeColor:"#000000",strokeOpacity:1,strokeWidth:1,pointRadius:6};
+var _7e=OpenLayers.Util.extend(_7d,OpenLayers.Feature.Vector.style["default"]);
+var _7f;
+var _80=false;
+if(_78){
+_7f=_78.selectSingleNode(".//sld:ExternalGraphic/sld:OnlineResource/@xlink:href");
+if(_7f){
+_7e.externalGraphic=getNodeValue(_7f);
+_80=true;
+}
+_7f=_78.selectSingleNode(".//sld:Fill/sld:CssParameter[@name='fill']");
+if(_7f){
+_7e.fillColor=getNodeValue(_7f);
+_80=true;
+}
+_7f=_78.selectSingleNode(".//sld:Fill/sld:CssParameter[@name='fill-opacity']");
+if(_7f){
+_7e.fillOpacity=getNodeValue(_7f);
+_80=true;
+}else{
+_7f=_78.selectSingleNode(".//sld:Opacity/sld:Literal");
+if(_7f){
+_7e.fillOpacity=getNodeValue(_7f);
+_80=true;
+}
+}
+_7f=_78.selectSingleNode(".//sld:Stroke/sld:CssParameter[@name='stroke']");
+if(_7f){
+_7e.strokeColor=getNodeValue(_7f);
+_80=true;
+}
+_7f=_78.selectSingleNode(".//sld:Stroke/sld:CssParameter[@name='stroke-opacity']");
+if(_7f){
+_7e.strokeOpacity=getNodeValue(_7f);
+_80=true;
+}
+_7f=_78.selectSingleNode(".//sld:Stroke/sld:CssParameter[@name='stroke-width']");
+if(_7f){
+_7e.strokeWidth=getNodeValue(_7f);
+_80=true;
+}
+_7f=_78.selectSingleNode(".//sld:Size");
+if(_7f){
+_7e.pointRadius=getNodeValue(_7f);
+_80=true;
+}
+}
+if(!_80){
+_7e=null;
+}
+return _7e;
+}
+function loadCss(_81){
+if(typeof config=="undefined"||typeof config.skinDir!="string"){
+if(!mapbuilder.cssToLoad){
+mapbuilder.cssToLoad=[];
+}
+mapbuilder.cssToLoad.push(_81);
+return;
+}
+var id=_81.match(/[^\/]*$/).toString().replace(/./,"_");
+if(!document.getElementById(id)){
+var _83=document.createElement("link");
+_83.setAttribute("id",id);
+_83.setAttribute("rel","stylesheet");
+_83.setAttribute("type","text/css");
+_83.setAttribute("href",config.skinDir+"/"+_81);
+document.getElementsByTagName("head")[0].appendChild(_83);
+}
+}
+function getNodeValue(_84){
+if(_84.nodeType==1){
+return _84.firstChild?_84.firstChild.nodeValue:"";
+}
+if(_84.nodeType<5){
+return _84.nodeValue;
+}
+return _84;
+}
+Mapbuilder.getProperty=function(_85,_86,_87){
+if(typeof _87=="undefined"){
+_87=null;
+}
+var _88=_85.selectSingleNode(_86);
+return _88?getNodeValue(_88):_87;
+};
+Mapbuilder.parseBoolean=function(_89){
+var _8a=false;
+if(!_89){
+_8a=false;
+}else{
+if(_89==0){
+_8a=false;
+}else{
+if(_89==1){
+_8a=true;
+}else{
+if(_89.match(/true/i)){
+_8a=true;
+}else{
+if(_89.match(/false/i)){
+return false;
+}
+}
+}
+}
+}
+return _8a;
+};
+
+function Listener(){
+this.listeners=new Array();
+this.values=new Array();
+this.addListener=function(_1,_2,_3){
+if(window.logger){
+logger.logEvent("addListener: "+_1,this.id,_3.id);
+}
+if(!this.listeners[_1]){
+this.listeners[_1]=new Array();
+}
+this.removeListener(_1,_2,_3);
+this.listeners[_1].push(new Array(_2,_3));
+if(!_2){
+alert(mbGetMessage("undefinedListener",_3.id));
+}
+};
+this.addFirstListener=function(_4,_5,_6){
+if(window.logger){
+logger.logEvent("addFirstListener: "+_4,this.id,_6.id);
+}
+if(!this.listeners[_4]){
+this.listeners[_4]=new Array();
+}
+this.removeListener(_4,_5,_6);
+this.listeners[_4].unshift(new Array(_5,_6));
+if(!_5){
+alert(mbGetMessage("undefinedListener",_6));
+}
+};
+this.removeListener=function(_7,_8,_9){
+if(this.listeners[_7]){
+for(var i=0;i<this.listeners[_7].length;i++){
+if(this.listeners[_7][i][0]==_8&&this.listeners[_7][i][1]==_9){
+for(var j=i;j<this.listeners[_7].length-1;j++){
+this.listeners[_7][j]=this.listeners[_7][j+1];
+}
+this.listeners[_7].pop();
+return;
+}
+}
+}
+};
+this.callListeners=function(_c,_d){
+if(this.listeners[_c]){
+var _e=this.listeners[_c].length;
+for(var i=0;i<_e;i++){
+if(window.logger){
+logger.logEvent(_c,this.id,this.listeners[_c][i][1].id,_d);
+}
+if(this.listeners[_c][i][0]){
+this.listeners[_c][i][0](this.listeners[_c][i][1],_d);
+}else{
+alert(mbGetMessage("listenerError",_c,this.listeners[_c][i][1].id,this.listeners[_c][i][0]));
+}
+}
+}
+};
+this.setParam=function(_10,_11){
+this.values[_10]=_11;
+this.callListeners(_10,_11);
+};
+this.getParam=function(_12){
+return this.values[_12];
+};
+}
+
+mapbuilder.loadScript(baseDir+"/util/Listener.js");
+function ModelBase(_1,_2){
+Listener.apply(this);
+this.async=true;
+this.contentType="text/xml";
+this.modelNode=_1;
+var _3=_1.attributes.getNamedItem("id");
+if(_3){
+this.id=_3.nodeValue;
+}else{
+this.id="MbModel_"+mbIds.getId();
+}
+this.getProperty=function(_4,_5){
+return Mapbuilder.getProperty(_1,_4,_5);
+};
+this.title=this.getProperty("mb:title",this.id);
+this.debug=Mapbuilder.parseBoolean(this.getProperty("mb:debug",false));
+if(window.cgiArgs[this.id]){
+this.url=window.cgiArgs[this.id];
+}else{
+if(window[this.id]&&typeof window[this.id]=="string"){
+this.url=window[this.id];
+}else{
+if(_1.url){
+this.url=_1.url;
+}else{
+var _6=_1.selectSingleNode("mb:defaultModelUrl");
+if(_6){
+this.url=getNodeValue(_6);
+}
+}
+}
+}
+this.method=this.getProperty("mb:method","get");
+this.namespace=this.getProperty("mb:namespace");
+var _7=_1.attributes.getNamedItem("template");
+if(_7){
+this.template=Mapbuilder.parseBoolean(_7.nodeValue);
+this.modelNode.removeAttribute("template");
+}
+this.nodeSelectXpath=this.getProperty("mb:nodeSelectXpath");
+this.config=new Array();
+this.getXpathValue=function(_8,_9){
+if(!_8.doc){
+return null;
+}
+node=_8.doc.selectSingleNode(_9);
+if(node&&node.firstChild){
+return getNodeValue(node);
+}else{
+return null;
+}
+};
+this.setXpathValue=function(_a,_b,_c,_d){
+if(_d==null){
+_d=true;
+}
+var _e=_a.doc.selectSingleNode(_b);
+if(_e){
+if(_e.firstChild){
+_e.firstChild.nodeValue=_c;
+}else{
+dom=Sarissa.getDomDocument();
+v=dom.createTextNode(_c);
+_e.appendChild(v);
+}
+if(_d){
+_a.setParam("refresh");
+}
+return true;
+}else{
+return false;
+}
+};
+this.loadModelDoc=function(_f){
+if(_f.url){
+_f.callListeners("newModel");
+_f.setParam("modelStatus","loading");
+if(_f.contentType=="image"){
+_f.doc=new Image();
+_f.doc.src=_f.url;
+}else{
+var _10=new XMLHttpRequest();
+var _11=_f.url;
+if(_11.indexOf("http://")==0||_11.indexOf("https://")==0){
+if(_f.method.toLowerCase()=="get"){
+_11=getProxyPlusUrl(_11);
+}else{
+_11=config.proxyUrl;
+}
+}
+_10.open(_f.method,_11,_f.async);
+if(_f.method.toLowerCase()=="post"){
+_10.setRequestHeader("content-type",_f.contentType);
+_10.setRequestHeader("serverUrl",_f.url);
+}
+_10.onreadystatechange=function(){
+_f.setParam("modelStatus",httpStatusMsg[_10.readyState]);
+if(_10.readyState==4){
+if(_10.status>=400){
+var _12=mbGetMessage("errorLoadingDocument",_11,_10.statusText,_10.responseText);
+alert(_12);
+_f.setParam("modelStatus",_12);
+return;
+}else{
+if((_10.responseXML!=null)&&(_10.responseXML.root!=null)&&(_10.responseXML.root.children.length>0)){
+_f.doc=_10.responseXML;
+if(Sarissa.getParseErrorText(_f.doc)==Sarissa.PARSED_OK){
+_f.finishLoading();
+}else{
+alert(mbGetMessage("parseError",Sarissa.getParseErrorText(_f.doc)));
+}
+return;
+}
+if(_10.responseText!=null){
+_f.doc=Sarissa.getDomDocument();
+_f.doc.async=false;
+_f.doc=(new DOMParser()).parseFromString(_10.responseText.replace(/>\s+</g,"><"),"text/xml");
+if(_f.doc==null){
+alert(mbGetMessage("documentParseError",Sarissa.getParseErrorText(_f.doc)));
+}else{
+if(Sarissa.getParseErrorText(_f.doc)==Sarissa.PARSED_OK){
+_f.finishLoading();
+}else{
+alert(mbGetMessage("parseError",Sarissa.getParseErrorText(_f.doc)));
+}
+}
+return;
+}
+}
+}
+};
+var _13=_f.postData||"";
+if(typeof _13=="object"){
+_13=new XMLSerializer().serializeToString(_13);
+}
+_10.send(_13);
+if(!_f.async){
+if(_10.status>=400){
+var _14=mbGetMessage("errorLoadingDocument",_11,_10.statusText,_10.responseText);
+alert(_14);
+this.objRef.setParam("modelStatus",_14);
+return;
+}else{
+if(null==_10.responseXML){
+alert(mbGetMessage("nullXmlResponse",_10.responseText));
+}
+_f.doc=_10.responseXML;
+_f.finishLoading();
+}
+}
+}
+}
+};
+this.addListener("reloadModel",this.loadModelDoc,this);
+this.setModel=function(_15,_16){
+_15.callListeners("newModel");
+_15.doc=_16;
+if((_16==null)&&_15.url){
+_15.url=null;
+}
+_15.finishLoading();
+};
+this.finishLoading=function(){
+if(this.doc){
+if(!_SARISSA_IS_SAFARI){
+this.doc.setProperty("SelectionLanguage","XPath");
+if(this.namespace){
+Sarissa.setXpathNamespaces(this.doc,this.namespace);
+}
+}
+if(this.debug){
+mbDebugMessage(this,"Loading Model:"+this.id+" "+(new XMLSerializer()).serializeToString(this.doc));
+}
+this.callListeners("loadModel");
+}
+};
+this.newRequest=function(_17,_18){
+var _19=_17;
+if(_17.template){
+var _1a=_17.modelNode.parentNode;
+if(_SARISSA_IS_IE){
+var _1b=_1a.appendChild(_1.cloneNode(true));
+}else{
+var _1b=_1a.appendChild(_17.modelNode.ownerDocument.importNode(_17.modelNode,true));
+}
+_1b.removeAttribute("id");
+_1b.setAttribute("createByTemplate","true");
+_19=_17.createObject(_1b);
+_19.callListeners("init");
+if(!_17.templates){
+_17.templates=new Array();
+}
+_17.templates.push(_19);
+}
+_19.url=_18.url;
+if(!_19.url){
+_19.doc=null;
+}
+_19.method=_18.method;
+_19.postData=_18.postData;
+_19.loadModelDoc(_19);
+};
+this.deleteTemplates=function(){
+if(this.templates){
+var _1c;
+while(_1c=this.templates.pop()){
+_1c.setParam("newModel");
+var _1d=this.modelNode.parentNode;
+_1d.removeChild(_1c.modelNode);
+}
+}
+};
+this.saveModel=function(_1e){
+if(config.serializeUrl){
+var _1f=postGetLoad(config.serializeUrl,_1e.doc,"text/xml","","");
+if(!_SARISSA_IS_SAFARI){
+_1f.setProperty("SelectionLanguage","XPath");
+Sarissa.setXpathNamespaces(_1f,"xmlns:xlink='http://www.w3.org/1999/xlink'");
+}
+var _20=_1f.selectSingleNode("//OnlineResource");
+var _21=_20.attributes.getNamedItem("xlink:href").nodeValue;
+_1e.setParam("modelSaved",_21);
+}else{
+alert(mbGetMessage("noSerializeUrl"));
+}
+};
+this.createObject=function(_22){
+var _23=_22.nodeName;
+if(!window[_23]){
+alert(mbGetMessage("errorCreatingObject",_23));
+return false;
+}
+var _24=new window[_23](_22,this);
+if(_24){
+config.objects[_24.id]=_24;
+return _24;
+}else{
+alert(mbGetMessage("errorCreatingObject",_23));
+}
+};
+this.loadObjects=function(_25){
+var _26=this.modelNode.selectNodes(_25);
+for(var i=0;i<_26.length;i++){
+if(_26[i].nodeName!="#text"&&_26[i].nodeName!="#comment"){
+this.createObject(_26[i]);
+}
+}
+};
+this.parseConfig=function(_28){
+_28.loadObjects("mb:widgets/*");
+_28.loadObjects("mb:tools/*");
+_28.loadObjects("mb:models/*");
+};
+this.refresh=function(_29){
+_29.setParam("refresh");
+};
+this.addListener("loadModel",this.refresh,this);
+this.init=function(_2a){
+_2a.callListeners("init");
+};
+this.clearModel=function(_2b){
+_2b.doc=null;
+};
+if(_2){
+this.parentModel=_2;
+this.parentModel.addListener("init",this.init,this);
+this.parentModel.addListener("loadModel",this.loadModelDoc,this);
+this.parentModel.addListener("newModel",this.clearModel,this);
+this.parseConfig(this);
+}
+}
+var httpStatusMsg=["uninitialized","loading","loaded","interactive","completed"];
+
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+function Config(_1){
+this.doc=Sarissa.getDomDocument();
+this.doc.async=false;
+this.doc.validateOnParse=false;
+if(_SARISSA_IS_SAFARI){
+var _2=new XMLHttpRequest();
+_2.open("GET",_1,false);
+_2.send(null);
+this.doc=_2.responseXML;
+}else{
+this.doc.load(_1);
+}
+if(Sarissa.getParseErrorText(this.doc)!=Sarissa.PARSED_OK){
+alert("error loading config document: "+_1);
+}
+this.url=_1;
+this.namespace="xmlns:mb='"+mbNsUrl+"'";
+if(!_SARISSA_IS_SAFARI){
+this.doc.setProperty("SelectionLanguage","XPath");
+Sarissa.setXpathNamespaces(this.doc,this.namespace);
+}
+var _3=Sarissa.getDomDocument();
+_3.async=false;
+_3.validateOnParse=false;
+if(_SARISSA_IS_SAFARI){
+var _2=new XMLHttpRequest();
+_2.open("GET",baseDir+"/"+mbServerConfig,false);
+_2.send(null);
+_3=_2.responseXML;
+}else{
+_3.load(baseDir+"/"+mbServerConfig);
+}
+if(Sarissa.getParseErrorText(_3)!=Sarissa.PARSED_OK){
+}else{
+if(!_SARISSA_IS_SAFARI){
+_3.setProperty("SelectionLanguage","XPath");
+Sarissa.setXpathNamespaces(_3,this.namespace);
+}
+this.proxyUrl=Mapbuilder.getProperty(_3,"/mb:MapbuilderConfig/mb:proxyUrl",this.proxyUrl);
+this.serializeUrl=Mapbuilder.getProperty(_3,"/mb:MapbuilderConfig/mb:serializeUrl",this.serializeUrl);
+}
+_3=null;
+this.loadConfigScripts=function(){
+if(mapbuilder.cssToLoad){
+for(var i=0;i<mapbuilder.cssToLoad.length;i++){
+loadCss(mapbuilder.cssToLoad[i]);
+}
+mapbuilder.cssToLoad=null;
+}
+mapbuilder.loadScriptsFromXpath(this.doc.selectNodes("//mb:models/*"),"model/");
+mapbuilder.loadScriptsFromXpath(this.doc.selectNodes("//mb:widgets/*"),"widget/");
+mapbuilder.loadScriptsFromXpath(this.doc.selectNodes("//mb:tools/*"),"tool/");
+var _5=this.doc.selectNodes("//mb:scriptFile");
+for(var i=0;i<_5.length;i++){
+scriptFile=getNodeValue(_5[i]);
+mapbuilder.loadScript(scriptFile);
+}
+};
+this.defaultLang="en";
+this.lang=this.defaultLang;
+if(window.cgiArgs["language"]){
+this.lang=window.cgiArgs["language"];
+}else{
+if(window.language){
+this.lang=window.language;
+}
+}
+var _6=this.doc.documentElement;
+this.skinDir=Mapbuilder.getProperty(_6,"mb:skinDir");
+this.proxyUrl=Mapbuilder.getProperty(_6,"mb:proxyUrl",this.proxyUrl);
+this.serializeUrl=Mapbuilder.getProperty(_6,"mb:serializeUrl",this.serializeUrl);
+function loadWidgetText(_7,_8){
+var _9="/widgetText.xml";
+var _a;
+var _b=_8+"/"+_7.lang+_9;
+_a=Sarissa.getDomDocument();
+_a.async=false;
+_a.validateOnParse=false;
+if(typeof (inlineXSL)!="undefined"){
+var _c=inlineXSL[_b];
+_c=_c.replace(/DOUBLE_QUOTE/g,"\"");
+_a=(new DOMParser()).parseFromString(_c,"text/xml");
+}else{
+if(_SARISSA_IS_SAFARI){
+var _d=new XMLHttpRequest();
+_d.open("GET",_b,false);
+_d.send(null);
+_a=_d.responseXML;
+}else{
+try{
+_a.load(_b);
+}
+catch(ignoredErr){
+}
+}
+}
+if(Sarissa.getParseErrorText(_a)!=Sarissa.PARSED_OK){
+var _e="Error loading widgetText document: "+_b;
+if(_7.lang==_7.defaultLang){
+alert(_e);
+}else{
+alert(_e+"\nFalling back on default language=\""+_7.defaultLang+"\"");
+_7.lang=_7.defaultLang;
+_b=_8+"/"+_7.lang+_9;
+if(_SARISSA_IS_SAFARI){
+var _d=new XMLHttpRequest();
+_d.open("GET",_b,false);
+_d.send(null);
+_a=_d.responseXML;
+}else{
+_a.load(_b);
+}
+if(Sarissa.getParseErrorText(_a)!=Sarissa.PARSED_OK){
+alert("Falling back on default language failed!");
+}
+}
+}
+if(!_SARISSA_IS_SAFARI){
+_a.setProperty("SelectionLanguage","XPath");
+Sarissa.setXpathNamespaces(_a,_7.namespace);
+}
+return _a;
+}
+this.widgetText=loadWidgetText(this,baseDir+"/text");
+userWidgetTextDir=_6.selectSingleNode("mb:userWidgetTextDir");
+if(userWidgetTextDir){
+var _f=loadWidgetText(this,getNodeValue(userWidgetTextDir));
+if(_f){
+var _10=_f.selectSingleNode("/mb:WidgetText/mb:widgets");
+var _11=this.widgetText.selectSingleNode("/mb:WidgetText/mb:widgets");
+if(_10&&_11){
+Sarissa.copyChildNodes(_10,_11,true);
+}
+var _12=_f.selectSingleNode("/mb:WidgetText/mb:messages");
+var _13=this.widgetText.selectSingleNode("/mb:WidgetText/mb:messages");
+if(_12&&_13){
+Sarissa.copyChildNodes(_12,_13,true);
+}
+}
+}
+this.objects=new Object();
+ModelBase.apply(this,new Array(_6));
+this.loadModel=function(_14,_15){
+var _16=this.objects[_14];
+if(_16&&_15){
+var _17=new Object();
+_17.method=_16.method;
+_17.url=_15;
+_16.newRequest(_16,_17);
+}else{
+alert(mbGetMessage("errorLoadingModel",_14,_15));
+}
+};
+this.paintWidget=function(_18){
+if(_18){
+_18.paint(_18,_18.id);
+}else{
+alert(mbGetMessage("errorPaintingWidget"));
+}
+};
+}
+if(document.readyState==null){
+mapbuilder.setLoadState(MB_LOAD_CONFIG);
+config=new Config(mbConfigUrl);
+config[config.id]=config;
+config.loadConfigScripts();
+}
+
+mapbuilder.loadScript(baseDir+"/util/Util.js");
+mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+function ButtonBase(_1,_2){
+WidgetBase.apply(this,new Array(_1,_2));
+this.htmlTagId=this.getProperty("mb:buttonBar");
+if(!this.htmlTagId){
+this.htmlTagId=this.getProperty("mb:htmlTagId");
+}
+if(!this.htmlTagId){
+alert(mbGetMessage("buttonBarRequired",_1.nodeName));
+}
+if(config.widgetText){
+var _3="/mb:WidgetText/mb:widgets/mb:"+_1.nodeName;
+var _4=config.widgetText.selectNodes(_3+"/*");
+for(var j=0;j<_4.length;j++){
+this[_4[j].nodeName]=getNodeValue(_4[j]);
+}
+}
+this.panelHtmlTagId=this.htmlTagId+"_panel";
+loadCss("controlPanel.css");
+this.buttonType=this.getProperty("mb:class");
+this.buttonType=this.buttonType?this.buttonType.toUpperCase():null;
+if(this.buttonType=="RADIOBUTTON"){
+this.enabled=false;
+}
+this.olButtonType={"RADIOBUTTON":OpenLayers.Control.TYPE_TOOL,"TOOL":OpenLayers.Control.TYPE_TOOL,"BUTTON":OpenLayers.Control.TYPE_BUTTON,"TOGGLE":OpenLayers.Control.TYPE_TOGGLE};
+this.action=this.getProperty("mb:action");
+var _6=this.getProperty("mb:tooltip");
+if(_6){
+this.tooltip=_6;
+}
+var _7=this.getProperty("mb:disabledSrc");
+if(_7){
+this.disabledImage=config.skinDir+_7;
+}
+var _8=this.getProperty("mb:enabledSrc");
+if(_8){
+this.enabledImage=config.skinDir+_8;
+}
+this.cursor="default";
+this.cursor=this.getProperty("mb:cursor");
+this.selected=Mapbuilder.parseBoolean(this.getProperty("mb:selected",false));
+this.getButtonClass=function(_9,_a){
+var _b;
+if(_9.control.displayClass){
+_b=_9.control.displayClass;
+}else{
+_b=_9.control.CLASS_NAME;
+_b=_b.replace(/OpenLayers/,"ol").replace(/\./g,"");
+}
+_b+="Item";
+return "."+_b+_a;
+};
+this.control=null;
+this.doAction=function(){
+};
+this.select=function(){
+if(this.control.type==OpenLayers.Control.TYPE_BUTTON){
+this.control.trigger();
+}else{
+this.panel.activateControl(this.control);
+}
+};
+this.doSelect=function(_c,_d){
+};
+this.attachToOL=function(_e,_f){
+if(_e.control){
+return;
+}
+if(_f&&(_f!=_e.id)){
+return;
+}
+if(!_e.createControl){
+return;
+}
+var _10=_e.createControl(_e);
+var _11=_e.olButtonType[_e.buttonType]||_10.prototype.type;
+var _12=OpenLayers.Class(_10,{objRef:_e,type:_11,superclass:_10.prototype,trigger:function(){
+if(this.superclass.trigger){
+this.superclass.trigger.call(this);
+}
+_e.doSelect(_e,true);
+},activate:function(){
+if(this.superclass.activate.call(this)){
+this.panel_div.style.backgroundImage="url(\""+_e.enabledImage+"\")";
+this.map.div.style.cursor=_e.cursor;
+this.map.mbCursor=_e.cursor;
+_e.enabled=true;
+this.active=true;
+_e.doSelect(_e,true);
+}
+},deactivate:function(){
+if(this.superclass.deactivate.call(this)){
+this.panel_div.style.backgroundImage="url(\""+_e.disabledImage+"\")";
+_e.enabled=false;
+this.active=false;
+if(map.getControlsBy("active",true).length==0){
+this.map.div.style.cursor="";
+this.map.mbCursor="";
+}
+_e.doSelect(_e,false);
+}
+},destroy:function(){
+try{
+this.superclass.destroy.apply(this,arguments);
+}
+catch(e){
+OpenLayers.Control.prototype.destroy.apply(this,arguments);
+}
+this.superclass=null;
+OpenLayers.Event.stopObservingElement(this.panel_div);
+this.objRef.panel.div.removeChild(this.panel_div);
+this.objRef.control=null;
+this.objRef=null;
+this.panel_div=null;
+this.div=null;
+}});
+if(!_e.control){
+_e.control=_e.instantiateControl?_e.instantiateControl(_e,_12):new _12();
+}
+var map=_e.targetContext.map;
+_e.panel=_e.targetContext.buttonBars[_e.htmlTagId];
+if(!_e.panel||_e.panel.map==null){
+if(!document.getElementById(_e.panelHtmlTagId)){
+var _14=document.createElement("div");
+_14.setAttribute("id",_e.panelHtmlTagId);
+_14.setAttribute("class","olControlPanel");
+var _15=_e.getNode();
+_15.appendChild(_14);
+_15.innerHTML+=" ";
+}
+var _16=OpenLayers.Class(OpenLayers.Control.Panel,{div:document.getElementById(_e.panelHtmlTagId),defaultControl:null,destroy:function(){
+_15.removeChild(this.div);
+OpenLayers.Control.prototype.destroy.apply(this,arguments);
+this.div=null;
+_e.panel=null;
+}});
+_e.panel=new _16();
+_e.targetContext.buttonBars[_e.htmlTagId]=_e.panel;
+map.addControl(_e.panel);
+}
+if(OpenLayers.Util.indexOf(_e.control,_e.panel.controls)==-1){
+var _17=OpenLayers.Event.stop;
+OpenLayers.Event.stop=function(){
+};
+_e.panel.addControls(_e.control);
+OpenLayers.Event.stop=_17;
+}
+if(_e.tooltip){
+_e.control.panel_div.title=_e.tooltip;
+}
+_e.control.panel_div.style.backgroundImage="url(\""+_e.disabledImage+"\")";
+if(_e.selected==true){
+_e.control.activate();
+}
+};
+this.buttonInit=function(_18){
+var _19=_18.widgetNode.selectSingleNode("mb:targetContext");
+if(_19){
+_18.targetContext=window.config.objects[getNodeValue(_19)];
+if(!_18.targetModel){
+alert(mbGetMessage("noTargetContext",getNodeValue(_19),_18.id));
+}
+}else{
+_18.targetContext=_18.targetModel;
+}
+if(!_18.targetContext.buttonBars){
+_18.targetContext.buttonBars=new Array();
+}
+_18.targetContext.addListener("refresh",_18.attachToOL,_18);
+};
+this.model.addListener("init",this.buttonInit,this);
+this.model.removeListener("newNodel",this.clearWidget,this);
+}
+
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+function Button(_1,_2){
+ButtonBase.apply(this,new Array(_1,_2));
+this.cursor="default";
+this.createControl=function(_3){
+var _4=OpenLayers.Class(OpenLayers.Control,{CLASS_NAME:"mbControl."+_3.id,type:(_3.buttonType=="RadioButton")?OpenLayers.Control.TYPE_TOOL:OpenLayers.Control.TYPE_BUTTON,trigger:function(){
+eval("config.objects."+_3.action);
+},activate:function(){
+eval("config.objects."+_3.action);
+this.active=true;
+return true;
+}});
+return _4;
+};
+this.instantiateControl=function(_5,_6){
+return new _6();
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+function Back(_1,_2){
+ButtonBase.apply(this,new Array(_1,_2));
+this.createControl=function(_3){
+var _4=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_BUTTON,trigger:function(){
+var _5=this.objRef;
+_5.targetModel.setParam("historyBack");
+var _6=_5.targetModel.previousExtent;
+if(_6){
+_5.targetModel.setParam("historyStop");
+this.map.setCenter(_6.center);
+this.map.zoomToScale(_6.scale);
+_5.targetModel.setParam("historyStart");
+}
+},CLASS_NAME:"mbControl.Back"});
+return _4;
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+function Forward(_1,_2){
+ButtonBase.apply(this,new Array(_1,_2));
+this.createControl=function(_3){
+var _4=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_BUTTON,trigger:function(){
+var _5=this.objRef;
+_5.targetModel.setParam("historyForward");
+var _6=_5.targetModel.nextExtent;
+if(_6){
+_5.targetModel.setParam("historyStop");
+this.map.setCenter(_6.center);
+this.map.zoomToScale(_6.scale);
+_5.targetModel.setParam("historyStart");
+}
+},CLASS_NAME:"mbControl.Forward"});
+return _4;
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
+function ZoomIn(_1,_2){
+ButtonBase.apply(this,new Array(_1,_2));
+this.cursor="crosshair";
+this.createControl=function(){
+return OpenLayers.Control.ZoomBox;
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
+function ZoomOut(_1,_2){
+ButtonBase.apply(this,new Array(_1,_2));
+this.cursor="crosshair";
+this.createControl=function(_3){
+var _4=OpenLayers.Class(OpenLayers.Control,{CLASS_NAME:"mbControl.ZoomOut",type:OpenLayers.Control.TYPE_TOOL,draw:function(){
+this.handler=new OpenLayers.Handler.Box(this,{done:this.zoomBox},{keyMask:this.keyMask});
+},zoomBox:function(_5){
+if(_5 instanceof OpenLayers.Bounds){
+var _6=new OpenLayers.Pixel(_5.left,_5.bottom);
+var _7=new OpenLayers.Pixel(_5.right,_5.top);
+var _8=new OpenLayers.Bounds(_6.x,_6.y,_7.x,_7.y);
+var _9=(this.map.getSize().w+this.map.getSize().h)/2;
+var _a=(Math.abs(_8.getWidth())+Math.abs(_8.getHeight()))/2;
+var _b=this.map.getScale()*(_9/_a);
+this.map.setCenter(_8.getCenterLonLat());
+this.map.zoomToScale(_b);
+}else{
+this.map.setCenter(this.map.getLonLatFromPixel(_5),parseInt(this.map.getZoom()-1));
+}
+}});
+return _4;
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+function DragPan(_1,_2){
+ButtonBase.apply(this,new Array(_1,_2));
+this.createControl=function(_3){
+return OpenLayers.Control.DragPan;
+};
+this.cursor="move";
+}
+
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
+function Reset(_1,_2){
+this.createControl=function(){
+return OpenLayers.Control.ZoomToMaxExtent;
+};
+ButtonBase.apply(this,new Array(_1,_2));
+}
+
+loadCss("openlayers/style.css");
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
+mapbuilder.loadScript(baseDir+"/util/Util.js");
+mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+mapbuilder.loadScript(baseDir+"/tool/Extent.js");
+function MapPaneOL(_1,_2){
+WidgetBase.apply(this,new Array(_1,_2));
+OpenLayers.ImgPath=config.skinDir+"/images/openlayers/";
+OpenLayers.ProxyHost=config.proxyUrl+"/?url=";
+this.containerNodeId=this.htmlTagId;
+_2.containerModel=this.model;
+if(!this.model.extent){
+this.model.extent=new Extent(this.model);
+this.model.addFirstListener("loadModel",this.model.extent.firstInit,this.model.extent);
+}
+this.tileGutter=this.getProperty("mb:tileGutter",0);
+this.tileBuffer=parseInt(this.getProperty("mb:tileBuffer",2));
+this.singleTile=Mapbuilder.parseBoolean(this.getProperty("mb:singleTile",true));
+this.tileSize=parseInt(this.getProperty("mb:tileSize",256));
+this.imageReproject=Mapbuilder.parseBoolean(this.getProperty("mb:imageReproject",false));
+this.imageBuffer=parseInt(this.getProperty("mb:imageBuffer",2));
+this.displayOutsideMaxExtent=Mapbuilder.parseBoolean(this.getProperty("mb:displayOutsideMaxExtent",false));
+this.loadingLayers=0;
+this.refreshWmsLayers=function(_3){
+var _4=_3.model.getParam("refreshWmsLayers");
+var _5=(new Date()).getTime();
+var _6=_4?[_3.getLayer(_3,_4)]:_3.model.map.layers;
+for(var i in _6){
+if(_6[i].CLASS_NAME.indexOf("OpenLayers.Layer.WMS")==0){
+_6[i].mergeNewParams({uniqueId:_5});
+}
+}
+};
+this.model.addListener("refreshWmsLayers",this.refreshWmsLayers,this);
+this.model.addListener("refresh",this.paint,this);
+this.model.addFirstListener("newModel",this.clear,this);
+this.model.addListener("hidden",this.hidden,this);
+this.model.addListener("addLayer",this.addLayer,this);
+this.model.addListener("deleteLayer",this.deleteLayer,this);
+this.model.addListener("moveLayerUp",this.moveLayerUp,this);
+this.model.addListener("moveLayerDown",this.moveLayerDown,this);
+this.model.addListener("opacity",this.setOpacity,this);
+this.model.addListener("bbox",this.zoomToBbox,this);
+}
+MapPaneOL.prototype.paint=function(_8,_9){
+if(_8.model.doc.selectSingleNode("//wmc:OWSContext")){
+_8.context="OWS";
+}else{
+if(_8.model.doc.selectSingleNode("//wmc:ViewContext")){
+_8.context="View";
+}else{
+alert(mbGetMessage("noContextDefined"));
+}
+}
+var _a=_8.model.proj;
+var _b=null;
+_b=_8.getProperty("mb:maxExtent");
+_b=(_b)?_b.split(" "):null;
+if(!_b){
+_b=_8.model.getBoundingBox();
+}
+_b=(_b)?new OpenLayers.Bounds(_b[0],_b[1],_b[2],_b[3]):null;
+if(_b==null){
+alert(mbGetMessage("noBboxInContext"));
+}
+var _c=null;
+_c=_8.getProperty("mb:maxResolution");
+_c=(_c)?parseFloat(_c):"auto";
+var _d=null;
+_d=_8.getProperty("mb:minResolution");
+_d=(_d)?parseFloat(_d):undefined;
+_8.transitionEffect=_8.getProperty("mb:transitionEffect",undefined);
+var _e=_a.getUnits()=="meters"?"m":_a.getUnits();
+var _f=_8.getProperty("mb:resolutions");
+_f=_f?_f.split(","):null;
+if(_f){
+for(var r=0;r<_f.length;r++){
+_f[r]=parseFloat(_f[r]);
+}
+}
+var _11=_8.getProperty("mb:scales");
+if(_11){
+_11=_11.split(",");
+_f=new Array();
+for(var s=0;s<_11.length;s++){
+_f.push(OpenLayers.Util.getResolutionFromScale(_11[s],_e));
+}
+}
+if(_f){
+_8.model.extent.setZoomLevels(true,_f);
+}else{
+_8.model.extent.setZoomLevels(false);
+}
+var _13=document.getElementById(_8.containerNodeId);
+var _14=Mapbuilder.parseBoolean(_8.getProperty("mb:fixedSize",false));
+if(_14){
+_13.style.width=_8.model.getWindowWidth()+"px";
+_13.style.height=_8.model.getWindowHeight()+"px";
+}
+var _15={controls:[],projection:_a,units:_e,fractionalZoom:true,maxExtent:_b,maxResolution:_c,minResolution:_d,resolutions:_f,theme:null,destroy:function(_16){
+if(_16!=true){
+this.mbMapPane.model.setParam("newModel",true);
+}else{
+this.mbMapPane=null;
+this.mbCursor=null;
+OpenLayers.Map.prototype.destroy.apply(this,arguments);
+this.layerContainerDiv=null;
+this.baseLayer=null;
+}
+}};
+if(!_8.model.map){
+_8.model.map=new OpenLayers.Map(_13,_15);
+_8.model.map.Z_INDEX_BASE.Control=10000;
+var _17=null;
+if(_8.context=="OWS"&&_8.model.getBaseLayer()){
+var _18=_8.model.getBaseLayer();
+var _19=_18.selectSingleNode("ows:TileSet/ows:SRS");
+if(_19){
+_8.model.setSRS(getNodeValue(_19));
+}
+_e=_a.getUnits()=="meters"?"m":_a.getUnits();
+var _1a=_18.selectSingleNode("ows:TileSet/ows:BoundingBox");
+if(_1a){
+_b=new OpenLayers.Bounds(_1a.selectSingleNode("@minx").nodeValue,_1a.selectSingleNode("@miny").nodeValue,_1a.selectSingleNode("@maxx").nodeValue,_1a.selectSingleNode("@maxy").nodeValue);
+}
+var _f=_18.selectSingleNode("ows:TileSet/ows:Resolutions");
+_f=_f?getNodeValue(_f).split(","):null;
+if(_f){
+for(var r=0;r<_f.length;r++){
+_f[r]=parseFloat(_f[r]);
+}
+}
+var _1b=_18.selectSingleNode("ows:TileSet/ows:Width");
+if(_1b){
+_8.tileSize=parseInt(_1b.nodeValue);
+}
+var _1c=_18.selectSingleNode("ows:TileSet/ows:Format");
+if(_1c){
+_1c=_1c.nodeValue;
+}
+var _1d=_18.selectSingleNode("wmc:Server/@service");
+_1d=(_1d)?_1d.nodeValue:"";
+var _1e=Mapbuilder.getProperty(_18,"wmc:Title","");
+var _1f=Mapbuilder.getProperty(_18,"wmc:Name","");
+var _20=Mapbuilder.getProperty(_18,"ows:TileSet/ows:Layers","hybrid");
+var _21=Mapbuilder.getProperty(_18,"wmc:Server/wmc:OnlineResource/@xlink:href","");
+var _22={units:_e,projection:_a,maxExtent:_b,alpha:false,isBaseLayer:true,displayOutsideMaxExtent:_8.displayOutsideMaxExtent,ratio:1};
+switch(_1d){
+case "OGC":
+case "WMS":
+case "wms":
+case "OGC:WMS":
+_22.ratio=_8.imageBuffer;
+var _23=new Array();
+_17=new OpenLayers.Layer.WMS(_1e,_21,{layers:_1f,format:_1c},_22);
+break;
+case "WMS-C":
+case "OGC:WMS-C":
+_22.gutter=_8.tileGutter;
+_22.buffer=_8.tileBuffer;
+_22.tileSize=new OpenLayers.Size(_8.tileSize,_8.tileSize);
+_17=new OpenLayers.Layer.WMS(_1e,_21,{layers:_1f,format:_1c},_22);
+_8.model.map.fractionalZoom=false;
+break;
+case "GMAP":
+case "Google":
+if(_b){
+_22.maxExtent=_b;
+}
+var _24=(_8.model.getSRS()=="EPSG:900913")?true:false;
+switch(_20){
+case "aerial":
+case "satellite":
+_20=G_SATELLITE_MAP;
+break;
+case "road":
+case "normal":
+_20=G_NORMAL_MAP;
+break;
+default:
+_20=G_HYBRID_MAP;
+}
+_17=new OpenLayers.Layer.Google(_1f,{type:_20,minZoomLevel:0,maxZoomLevel:19,sphericalMercator:_24,maxResolution:156543.0339},_22);
+_8.model.map.numZoomLevels=20;
+_8.model.map.fractionalZoom=false;
+break;
+case "YMAP":
+case "Yahoo":
+if(_b){
+_22.maxExtent=_b;
+}
+var _24=(_8.model.getSRS()=="EPSG:900913")?true:false;
+_17=new OpenLayers.Layer.Yahoo(_1f,{maxZoomLevel:21,sphericalMercator:_24},_22);
+_8.model.map.fractionalZoom=false;
+break;
+case "VE":
+case "Microsoft":
+if(_b){
+_22.maxExtent=_b;
+}
+var _24=(_8.model.getSRS()=="EPSG:900913")?true:false;
+switch(_20){
+case "aerial":
+case "satellite":
+_20=VEMapStyle.Aerial;
+break;
+case "road":
+case "normal":
+_20=VEMapStyle.Road;
+break;
+default:
+_20=VEMapStyle.Hybrid;
+}
+_17=new OpenLayers.Layer.VirtualEarth(_1f,{minZoomLevel:0,maxZoomLevel:21,type:_20});
+_8.model.map.fractionalZoom=false;
+break;
+case "MultiMap":
+if(_b){
+_22.maxExtent=_b;
+}
+var _24=(_8.model.getSRS()=="EPSG:900913")?true:false;
+_17=new OpenLayers.Layer.MultiMap(_1f,{maxZoomLevel:21,sphericalMercator:_24},_22);
+_8.model.map.fractionalZoom=false;
+break;
+default:
+alert(mbGetMessage("layerTypeNotSupported",_1d));
+}
+}else{
+var _22={units:_e,projection:_a.srsCode,maxExtent:_b,maxResolution:_c,minResolution:_d,resolutions:_f,alpha:false,isBaseLayer:true,displayOutsideMaxExtent:_8.displayOutsideMaxExtent,ratio:1,singleTile:true,transitionEffect:_8.transitionEffect,visibility:false,moveTo:function(){
+return true;
+}};
+_17=new OpenLayers.Layer.WMS("baselayer",config.skinDir+"/images/openlayers/blank.gif",null,_22);
+}
+_8.model.map.addLayer(_17);
+}else{
+_8.deleteAllLayers(_8);
+}
+var _25=_8.model.getAllLayers();
+if(!_8.oLlayers){
+_8.oLlayers={};
+}
+for(var i=0;i<=_25.length-1;i++){
+_8.addLayer(_8,_25[i]);
+}
+var _27=_8.model.getBoundingBox();
+_8.model.map.mbMapPane=_8;
+_8.model.map.events.register("moveend",_8.model.map,_8.updateContext);
+_8.model.map.events.register("mouseup",_8.model.map,_8.updateMouse);
+_8.model.callListeners("bbox");
+};
+MapPaneOL.prototype.clear=function(_28){
+if(_28.model.map){
+OpenLayers.Event.stopObservingElement(window);
+_28.model.map.destroy(true);
+_28.model.map=null;
+_28.oLlayers={};
+}
+};
+MapPaneOL.prototype.increaseLoadingLayers=function(e){
+++this.loadingLayers;
+var _2a=mbGetMessage((this.loadingLayers>1)?"loadingLayers":"loadingLayer",this.loadingLayers);
+this.model.setParam("modelStatus",_2a);
+};
+MapPaneOL.prototype.decreaseLoadingLayers=function(e){
+--this.loadingLayers;
+var _2c=this.loadingLayers>0?mbGetMessage((this.loadingLayers>1)?"loadingLayers":"loadingLayer",this.loadingLayers):null;
+this.model.setParam("modelStatus",_2c);
+};
+MapPaneOL.prototype.updateContext=function(e){
+var _2e=e.object.mbMapPane;
+var _2f=_2e.model.map.getExtent().toBBOX().split(",");
+var ul=new Array(_2f[0],_2f[3]);
+var lr=new Array(_2f[2],_2f[1]);
+if(_2e.model.getWindowWidth()!=e.element.offsetWidth){
+_2e.model.setWindowWidth(e.element.offsetWidth);
+}
+if(_2e.model.getWindowHeight()!=e.element.offsetHeight){
+_2e.model.setWindowHeight(e.element.offsetHeight);
+}
+var _32=_2e.model.getParam("aoi");
+var _33=new Array(ul,lr);
+if(!_32||_32.toString()!=_33.toString()){
+_2e.model.setBoundingBox(new Array(ul[0],lr[1],lr[0],ul[1]));
+_2e.model.extent.setSize(_2e.model.map.getResolution());
+_2e.model.setParam("aoi",_33);
+}
+};
+MapPaneOL.prototype.updateMouse=function(e){
+var _35=e.object.mbMapPane;
+if(_35.model.map.mbCursor){
+_35.model.map.div.style.cursor=_35.model.map.mbCursor;
+}
+};
+MapPaneOL.prototype.zoomToBbox=function(_36){
+if(_36.model.map){
+var _37=_36.model.getBoundingBox();
+var _38=[];
+var _39=_36.model.map.getExtent();
+if(_39){
+_38=_39.toBBOX();
+}
+if(_37.toString()!=_38.toString()){
+_36.model.map.zoomToExtent(new OpenLayers.Bounds(_37[0],_37[1],_37[2],_37[3]));
+}
+}
+};
+MapPaneOL.prototype.hidden=function(_3a,_3b){
+var vis=_3a.model.getHidden(_3b);
+if(vis=="1"){
+var _3d=false;
+}else{
+var _3d=true;
+}
+var _3e=_3a.getLayer(_3a,_3b);
+if(_3e){
+_3e.setVisibility(_3d);
+}
+};
+MapPaneOL.prototype.getLayer=function(_3f,_40){
+if(!_3f.oLlayers[_40]){
+_40=_3f.model.getLayerIdByName(_40)||_40;
+}
+if(_3f.oLlayers[_40]&&_3f.oLlayers[_40].id){
+return _3f.model.map.getLayer(_3f.oLlayers[_40].id);
+}else{
+return false;
+}
+};
+MapPaneOL.prototype.deleteLayer=function(_41,_42){
+if(_41.oLlayers[_42]){
+_41.model.map.removeLayer(_41.oLlayers[_42]);
+}
+};
+MapPaneOL.prototype.deleteAllLayers=function(_43){
+for(var i in _43.oLlayers){
+var _45=_43.oLlayers[i];
+_45.destroy();
+}
+_43.oLlayers={};
+};
+MapPaneOL.prototype.moveLayerUp=function(_46,_47){
+var map=_46.model.map;
+map.raiseLayer(map.getLayer(_46.oLlayers[_47].id),1);
+};
+MapPaneOL.prototype.moveLayerDown=function(_49,_4a){
+_49.model.map.raiseLayer(_49.getLayer(_49,_4a),-1);
+};
+MapPaneOL.prototype.setOpacity=function(_4b,_4c){
+var _4d="1";
+_4d=_4b.model.getOpacity(_4c);
+_4b.getLayer(_4b,_4c).setOpacity(_4d);
+};
+MapPaneOL.prototype.addLayer=function(_4e,_4f){
+var _50=_4f;
+var _51=_50.selectSingleNode("wmc:Server/@service");
+_51=(_51)?_51.nodeValue:"";
+var _52=Mapbuilder.getProperty(_50,"wmc:Title","");
+layerName=Mapbuilder.getProperty(_50,"wmc:Name","");
+var _53;
+if(_50.selectSingleNode("@id")&&_50.selectSingleNode("@id").nodeValue){
+_53=_50.selectSingleNode("@id").nodeValue;
+}else{
+_53=layerName;
+}
+if(_4e.context=="OWS"){
+var _54=Mapbuilder.getProperty(_50,"wmc:Server/wmc:OnlineResource/@xlink:href","");
+}else{
+if(_SARISSA_IS_SAFARI){
+var _55=_50.selectSingleNode("wmc:Server/wmc:OnlineResource");
+var _54=_55.attributes[1].nodeValue;
+}else{
+if(_SARISSA_IS_OPERA){
+var _54=_50.selectSingleNode("wmc:Server/wmc:OnlineResource").getAttributeNS("http://www.w3.org/1999/xlink","href");
+}else{
+var _54=_50.selectSingleNode("wmc:Server/wmc:OnlineResource").getAttribute("xlink:href");
+}
+}
+}
+var _56=_50.selectSingleNode("wmc:FormatList/wmc:Format[@current='1']");
+if(!_56){
+_56=_50.selectSingleNode("wmc:FormatList/wmc:Format");
+}
+_56=_56?getNodeValue(_56):"image/gif";
+var vis=_50.selectSingleNode("@hidden");
+if(vis){
+if(vis.nodeValue=="1"){
+vis=false;
+}else{
+vis=true;
+}
+}
+var _58=_50.selectSingleNode("@queryable");
+if(_58){
+if(_58.nodeValue=="1"){
+_58=true;
+}else{
+_58=false;
+}
+}
+var _59=_50.selectSingleNode("@opacity");
+if(_59){
+_59=_59.nodeValue;
+}else{
+_59=false;
+}
+var _5a=_50.selectSingleNode("wmc:StyleList/wmc:Style[@current=1]");
+_4e.IE6=false;
+var _5b={visibility:vis,projection:_4e.model.map.baseLayer.projection,queryable:_58,maxExtent:_4e.model.map.baseLayer.maxExtent,maxResolution:_4e.model.map.baseLayer.maxResolution,minResolution:_4e.model.map.baseLayer.minResolution,alpha:_56.indexOf("png")!=-1?_4e.IE6:false,isBaseLayer:false,displayOutsideMaxExtent:_4e.displayOutsideMaxExtent};
+switch(_51){
+case "OGC":
+case "WMS":
+case "wms":
+case "OGC:WMS":
+if(!_4e.model.map.baseLayer){
+_5b.isBaseLayer=true;
+}else{
+_5b.reproject=_4e.imageReproject;
+_5b.isBaseLayer=false;
+}
+_5b.ratio=_4e.imageBuffer;
+_5b.singleTile=_4e.singleTile;
+if(_4e.singleTile==true){
+_5b.transitionEffect=_4e.transitionEffect;
+}
+var _5c=new Array();
+_5c=sld2UrlParam(_5a);
+if(_4e.model.timestampList&&_4e.model.timestampList.getAttribute("layerId")==_53){
+var ts=_4e.model.timestampList.childNodes[0];
+_4e.oLlayers[_53]=new OpenLayers.Layer.WMS(_52,_54,{layers:layerName,transparent:_56.indexOf("jpeg")==-1?"TRUE":"FALSE","TIME":getNodeValue(ts),format:_56,sld:_5c.sld,sld_body:_5c.sld_body,styles:_5c.styles},_5b);
+this.model.addListener("timestamp",this.timestampListener,this);
+}else{
+_4e.oLlayers[_53]=new OpenLayers.Layer.WMS(_52,_54,{layers:layerName,transparent:_56.indexOf("jpeg")==-1?"TRUE":"FALSE",format:_56,sld:_5c.sld,sld_body:_5c.sld_body,styles:_5c.styles},_5b);
+}
+break;
+case "WMS-C":
+case "OGC:WMS-C":
+if(!_4e.model.map.baseLayer){
+_5b.isBaseLayer=true;
+}else{
+_5b.reproject=_4e.imageReproject;
+_5b.isBaseLayer=false;
+}
+_5b.gutter=_4e.tileGutter;
+_5b.buffer=_4e.tileBuffer;
+_5b.tileSize=new OpenLayers.Size(_4e.tileSize,_4e.tileSize);
+var _5c=new Array();
+_5c=sld2UrlParam(_5a);
+_4e.oLlayers[_53]=new OpenLayers.Layer.WMS(_52,_54,{layers:layerName,transparent:_56.indexOf("jpeg")==-1?"TRUE":"FALSE",format:_56,sld:_5c.sld,sld_body:_5c.sld_body,styles:_5c.styles},_5b);
+_4e.model.map.fractionalZoom=false;
+break;
+case "WFS":
+case "wfs":
+case "OGC:WFS":
+style=sld2OlStyle(_5a);
+if(style){
+_5b.styleMap=new OpenLayers.StyleMap(style);
+}else{
+_5b.style=_4e.getWebSafeStyle(_4e,2*i+1);
+}
+_5b.featureClass=OpenLayers.Feature.WFS;
+_4e.oLlayers[_53]=new OpenLayers.Layer.WFS(_52,_54,{typename:_53,maxfeatures:1000},_5b);
+break;
+case "gml":
+case "OGC:GML":
+style=sld2OlStyle(_5a);
+if(style){
+_5b.styleMap=new OpenLayers.StyleMap(style);
+}else{
+_5b.style=_4e.getWebSafeStyle(_4e,2*i+1);
+}
+_4e.oLlayers[_53]=new OpenLayers.Layer.GML(_52,_54,_5b);
+break;
+case "KML":
+case "kml":
+_4e.oLlayers[_53]=new OpenLayers.Layer.GML(_52,_54,{format:OpenLayers.Format.KML});
+break;
+default:
+alert(mbGetMessage("layerTypeNotSupported",_51));
+}
+if(_59&&_4e.oLlayers[_53]){
+_4e.oLlayers[_53].setOpacity(_59);
+}
+_4e.oLlayers[_53].events.register("loadstart",_4e,_4e.increaseLoadingLayers);
+_4e.oLlayers[_53].events.register("loadend",_4e,_4e.decreaseLoadingLayers);
+_4e.model.map.addLayer(_4e.oLlayers[_53]);
+};
+MapPaneOL.prototype.getWebSafeStyle=function(_5e,_5f){
+colors=new Array("00","33","66","99","CC","FF");
+_5f=(_5f)?_5f:0;
+_5f=(_5f<0)?0:_5f;
+_5f=(_5f>215)?215:_5f;
+i=parseInt(_5f/36);
+j=parseInt((_5f-i*36)/6);
+k=parseInt((_5f-i*36-j*6));
+var _60="#"+colors[i]+colors[j]+colors[k];
+var _61={fillColor:"#808080",fillOpacity:1,strokeColor:"#000000",strokeOpacity:1,strokeWidth:1,pointRadius:6};
+var _62=OpenLayers.Util.extend(_61,OpenLayers.Feature.Vector.style["default"]);
+_62.fillColor=_60;
+_62.strokeColor=_60;
+_62.map=_5e.model.map;
+return _62;
+};
+MapPaneOL.prototype.refreshLayer=function(_63,_64,_65){
+_65["version"]=Math.random();
+_63.getLayer(_63,_64).mergeNewParams(_65);
+};
+MapPaneOL.prototype.timestampListener=function(_66,_67){
+if(window.movieLoop.frameIsLoading==true){
+return;
+}
+var _68=_66.model.timestampList.getAttribute("layerId");
+var ts=_66.model.timestampList.childNodes[_67];
+if(_68&&ts){
+var _6a=_66.oLlayers[_68];
+if(!_6a.grid){
+return;
+}
+div=_6a.grid[0][0].imgDiv;
+var _6b=div.src||div.firstChild.src;
+var _6c=_6b.replace(/TIME\=.*?\&/,"TIME="+getNodeValue(ts)+"&");
+if(_6b==_6c){
+return;
+}
+function imageLoaded(){
+window.movieLoop.frameIsLoading=false;
+if(element.removeEventListener){
+element.removeEventListener("load",imageLoaded,false);
+}else{
+if(element.detachEvent){
+element.detachEvent("onload",imageLoaded);
+}
+}
+}
+window.movieLoop.frameIsLoading=true;
+var _6d=div.nodeName.toUpperCase()=="IMG"?div:div.firstChild;
+if(_6d.addEventListener){
+_6d.addEventListener("load",imageLoaded,false);
+}else{
+if(_6d.attachEvent){
+_6d.attachEvent("onload",imageLoaded);
+}
+}
+if(_66.IE6){
+OpenLayers.Util.modifyAlphaImageDiv(div,null,null,null,_6c);
+}else{
+_6d.src=_6c;
+}
+}
+};
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function CursorTrack(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+this.showPx=Mapbuilder.parseBoolean(this.getProperty("mb:showPx",false));
+this.showXY=Mapbuilder.parseBoolean(this.getProperty("mb:showXY",false));
+this.showLatLong=Mapbuilder.parseBoolean(this.getProperty("mb:showLatLong",true));
+this.showDMS=Mapbuilder.parseBoolean(this.getProperty("mb:showDMS",false));
+this.showDM=Mapbuilder.parseBoolean(this.getProperty("mb:showDM",false));
+this.showMGRS=Mapbuilder.parseBoolean(this.getProperty("mb:showMGRS",false));
+if(this.showMGRS){
+mapbuilder.loadScript(baseDir+"/util/MGRS.js");
+}
+this.precision=this.getProperty("mb:precision",2);
+this.formName="CursorTrackForm_"+mbIds.getId();
+this.stylesheet.setParameter("formName",this.formName);
+this.init=function(_3){
+_3.proj=new OpenLayers.Projection(_3.model.getSRS());
+_3.model.map.events.register("mousemove",_3,_3.mousemoveHandler);
+_3.model.map.events.register("mouseout",_3,_3.mouseoutHandler);
+if(this.showMGRS){
+this.MGRS=new MGRS();
+}
+};
+this.model.addListener("loadModel",this.init,this);
+this.clear=function(_4){
+if(_4.model.map&&_4.model.map.events){
+_4.model.map.events.unregister("mousemove",_4,_4.mousemoveHandler);
+_4.model.map.events.unregister("mouseout",_4,_4.mouseoutHandler);
+}
+};
+this.model.addListener("newModel",this.clear,this);
+this.mousemoveHandler=function(_5){
+var _6=document.getElementById(this.formName);
+if(!_5){
+return;
+}
+var _7=this.model.map.getLonLatFromPixel(_5.xy);
+var pt=new OpenLayers.Geometry.Point(_7.lon,_7.lat);
+pt.transform(this.proj,new OpenLayers.Projection("EPSG:4326"));
+var _9=new OpenLayers.LonLat(pt.x,pt.y);
+if(this.showPx){
+if(_6.px){
+_6.px.value=_5.xy.x;
+}
+if(_6.py){
+_6.py.value=_5.xy.y;
+}
+}
+if(this.showXY){
+if(_6.x){
+_6.x.value=_7.lon.toFixed(this.precision);
+}
+if(_6.y){
+_6.y.value=_7.lat.toFixed(this.precision);
+}
+}
+if(this.showLatLong){
+if(_6.longitude){
+_6.longitude.value=_9.lon.toFixed(this.precision);
+}
+if(_6.latitude){
+_6.latitude.value=_9.lat.toFixed(this.precision);
+}
+}
+if(this.showDMS){
+var _a=this.convertDMS(_9.lon,"LON");
+if(_6.longdeg){
+_6.longdeg.value=_a[0];
+}
+if(_6.longmin){
+_6.longmin.value=_a[1];
+}
+if(_6.longsec){
+_6.longsec.value=_a[2];
+}
+if(_6.longH){
+_6.longH.value=_a[3];
+}
+var _b=this.convertDMS(_9.lat,"LAT");
+if(_6.latdeg){
+_6.latdeg.value=_b[0];
+}
+if(_6.latmin){
+_6.latmin.value=_b[1];
+}
+if(_6.latsec){
+_6.latsec.value=_b[2];
+}
+if(_6.latH){
+_6.latH.value=_b[3];
+}
+}
+if(this.showDM){
+var _a=this.convertDM(_9.lon,"LON");
+if(_6.longDMdeg){
+_6.longDMdeg.value=_a[0];
+}
+if(_6.longDMmin){
+_6.longDMmin.value=_a[1];
+}
+if(_6.longDMH){
+_6.longDMH.value=_a[2];
+}
+var _b=this.convertDM(_9.lat,"LAT");
+if(_6.latDMdeg){
+_6.latDMdeg.value=_b[0];
+}
+if(_6.latDMmin){
+_6.latDMmin.value=_b[1];
+}
+if(_6.latDMH){
+_6.latDMH.value=_b[2];
+}
+}
+if(this.showMGRS){
+if(!this.MGRS){
+this.MGRS=new MGRS();
+}
+_6.mgrs.value=this.MGRS.convert(_9.lat,_9.lon);
+}
+};
+this.mouseoutHandler=function(_c){
+var _d=document.getElementById(this.formName);
+if(this.showPx){
+if(_d.px){
+_d.px.value="";
+}
+if(_d.py){
+_d.py.value="";
+}
+}
+if(this.showXY){
+if(_d.x){
+_d.x.value="";
+}
+if(_d.y){
+_d.y.value="";
+}
+}
+if(this.showLatLong){
+if(_d.longitude){
+_d.longitude.value="";
+}
+if(_d.latitude){
+_d.latitude.value="";
+}
+}
+if(this.showDMS){
+if(_d.longdeg){
+_d.longdeg.value="";
+}
+if(_d.longmin){
+_d.longmin.value="";
+}
+if(_d.longsec){
+_d.longsec.value="";
+}
+if(_d.longH){
+_d.longH.value="";
+}
+if(_d.latdeg){
+_d.latdeg.value="";
+}
+if(_d.latmin){
+_d.latmin.value="";
+}
+if(_d.latsec){
+_d.latsec.value="";
+}
+if(_d.latH){
+_d.latH.value="";
+}
+}
+if(this.showDM){
+if(_d.longDMdeg){
+_d.longDMdeg.value="";
+}
+if(_d.longDMmin){
+_d.longDMmin.value="";
+}
+if(_d.longDMH){
+_d.longDMH.value="";
+}
+if(_d.latDMdeg){
+_d.latDMdeg.value="";
+}
+if(_d.latDMmin){
+_d.latDMmin.value="";
+}
+if(_d.latDMH){
+_d.latDMH.value="";
+}
+}
+if(this.showMGRS){
+if(_d.mgrs){
+_d.mgrs.value="";
+}
+}
+};
+this.convertDMS=function(_e,_f){
+var _10=new Array();
+abscoordinate=Math.abs(_e);
+coordinatedegrees=Math.floor(abscoordinate);
+coordinateminutes=(abscoordinate-coordinatedegrees)/(1/60);
+tempcoordinateminutes=coordinateminutes;
+coordinateminutes=Math.floor(coordinateminutes);
+coordinateseconds=(tempcoordinateminutes-coordinateminutes)/(1/60);
+coordinateseconds=Math.round(coordinateseconds*10);
+coordinateseconds/=10;
+if(coordinatedegrees<10){
+coordinatedegrees="0"+coordinatedegrees;
+}
+if(coordinateminutes<10){
+coordinateminutes="0"+coordinateminutes;
+}
+if(coordinateseconds<10){
+coordinateseconds="0"+coordinateseconds;
+}
+_10[0]=coordinatedegrees;
+_10[1]=coordinateminutes;
+_10[2]=coordinateseconds;
+_10[3]=this.getHemi(_e,_f);
+return _10;
+};
+this.convertDM=function(_11,_12){
+var _13=new Array();
+abscoordinate=Math.abs(_11);
+coordinatedegrees=Math.floor(abscoordinate);
+coordinateminutes=(abscoordinate-coordinatedegrees)*60;
+coordinateminutes=Math.round(coordinateminutes*1000);
+coordinateminutes/=1000;
+if(coordinatedegrees<10){
+coordinatedegrees="0"+coordinatedegrees;
+}
+if(coordinateminutes<10){
+coordinateminutes="0"+coordinateminutes;
+}
+_13[0]=coordinatedegrees;
+_13[1]=coordinateminutes;
+_13[2]=this.getHemi(_11,_12);
+return _13;
+};
+this.getHemi=function(_14,_15){
+var _16="";
+if(_15=="LAT"){
+if(_14>=0){
+_16="N";
+}else{
+_16="S";
+}
+}else{
+if(_15=="LON"){
+if(_14>=0){
+_16="E";
+}else{
+_16="W";
+}
+}
+}
+return _16;
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function MapScaleText(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+this.submitForm=function(){
+var _3=document.getElementById(this.formName);
+var _4=_3.mapScale.value;
+this.model.map.zoomToScale(_4.split(",").join(""));
+return false;
+};
+this.handleKeyPress=function(_5){
+var _6;
+var _7;
+if(_5){
+_6=_5.which;
+_7=_5.currentTarget;
+}else{
+_6=window.event.keyCode;
+_7=window.event.srcElement.form;
+}
+if(_6==13){
+_7.parentWidget.submitForm();
+return false;
+}
+};
+this.showScale=function(_8){
+var _9=document.getElementById(_8.formName);
+if(_9){
+var _a=Math.round(_8.model.map.getScale());
+var _b=new Array();
+while(_a>=1000){
+var _c=_a/1000;
+_a=Math.floor(_c);
+var _d=leadingZeros(Math.round((_c-_a)*1000).toString(),3);
+_b.unshift(_d);
+}
+_b.unshift(_a);
+_9.mapScale.value=_b.join(",");
+}
+};
+this.model.addListener("bbox",this.showScale,this);
+this.model.addListener("refresh",this.showScale,this);
+this.prePaint=function(_e){
+var _f=_e.model.extent.getScale();
+this.stylesheet.setParameter("mapScale",_f);
+};
+this.postPaint=function(_10){
+var _11=document.getElementById(_10.formName);
+_11.parentWidget=_10;
+_11.onkeypress=_10.handleKeyPress;
+_10.showScale(_10);
+};
+this.formName="MapScaleText_"+mbIds.getId();
+this.stylesheet.setParameter("formName",this.formName);
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+function Loading2(_1,_2){
+WidgetBase.apply(this,new Array(_1,_2));
+this.imageSrc=config.skinDir+this.getProperty("mb:imageSrc","/images/Loading.gif");
+this.textMessage=this.getProperty("mb:textMessage",mbGetMessage("docLoading"));
+this.updateMessage=this.textMessage;
+this.mapContainerNode=_1.selectSingleNode("mb:mapContainerId");
+if(!this.mapContainerNode){
+this.mapContainerNode=_1.selectSingleNode("mb:targetModel");
+}
+if(this.mapContainerNode){
+this.containerNodeId=getNodeValue(this.mapContainerNode);
+this.htmlTagId=this.containerNodeId;
+}
+this.model.addListener("newModel",this.paint,this);
+this.model.addListener("loadModel",this.clear,this);
+this.model.addListener("refresh",this.paint,this);
+this.model.addListener("modelStatus",this.update,this);
+}
+Loading2.prototype.paint=function(_3){
+var _4=_3.getNode();
+if(_4){
+if(_3.model.template){
+return;
+}
+if(!_3.model.url&&!_3.mapContainerNode){
+return;
+}
+var _5=document.getElementById(_3.outputNodeId+"_loading");
+if(!_5){
+_5=document.createElement("div");
+_5.setAttribute("id",_3.outputNodeId+"_loading");
+_4.appendChild(_5);
+}
+_5.className="loadingIndicator";
+_5.style.zIndex=10001;
+if(_3.mapContainerNode){
+_5.style.position="absolute";
+_5.style.left="0px";
+_5.style.top="0px";
+}
+if(_3.imageSrc){
+var _6=document.getElementById(_3.outputNodeId+"_imageNode");
+if(!_6){
+_6=document.createElement("img");
+_6.setAttribute("id",_3.outputNodeId+"_imageNode");
+_5.appendChild(_6);
+_6.style.zIndex=10001;
+}
+_6.src=_3.imageSrc;
+}
+if(_3.updateMessage){
+var _7=document.getElementById(_3.outputNodeId+"_messageNode");
+if(!_7){
+_7=document.createElement("p");
+_7.setAttribute("id",_3.outputNodeId+"_messageNode");
+_5.appendChild(_7);
+}
+_7.innerHTML=_3.updateMessage;
+}
+}
+};
+Loading2.prototype.clear=function(_8,_9){
+var _a=document.getElementById(_8.outputNodeId+"_loading");
+var _b=_8.getNode();
+if(_b&&_a){
+_b.removeChild(_a);
+}
+};
+Loading2.prototype.update=function(_c,_d){
+_c.updateMessage=_d||null;
+if(_d){
+_c.paint(_c);
+}else{
+_c.clear(_c);
+}
+};
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+function PanZoomBar(_1,_2){
+WidgetBase.apply(this,new Array(_1,_2));
+this.cursor="crosshair";
+this.init=function(_3){
+_3.model.map.addControl(new OpenLayers.Control.PanZoomBar());
+_3.model.map.addControl(new OpenLayers.Control.Navigation());
+_3.model.map.addControl(new OpenLayers.Control.KeyboardDefaults());
+};
+this.model.addListener("refresh",this.init,this);
+}
+
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+function EditButtonBase(_1,_2){
+ButtonBase.apply(this,new Array(_1,_2));
+this.cursor="crosshair";
+this.trm=this.getProperty("mb:transactionResponseModel");
+this.defaultModelUrl=this.getProperty("mb:defaultModelUrl");
+this.featureXpath=this.getProperty("mb:featureXpath");
+this.appendOnEdit=Mapbuilder.parseBoolean(this.getProperty("mb:appendOnEdit",true));
+this.createControl=function(_3){
+return OpenLayers.Control.DrawFeature;
+};
+this.doSelect=function(_4,_5){
+if(_4.control.active){
+if(_4.trm&&!_4.transactionResponseModel){
+_4.transactionResponseModel=window.config.objects[_4.trm];
+}
+if(!_5&&_4.transactionResponseModel){
+_4.transactionResponseModel.setModel(_4.transactionResponseModel,null);
+}
+config.loadModel(_4.targetModel.id,_4.defaultModelUrl);
+}
+};
+this.newSession=function(_6){
+_6.modified=false;
+};
+this.handleFeatureInsert=function(_7){
+var _8=_7.layer.mbButton;
+_8.feature=OpenLayers.Util.extend({},_7);
+_8.geometry=OpenLayers.Util.extend({},_7.geometry);
+var _9=_8.targetModel.doc.selectSingleNode("/*/*").cloneNode(true);
+if(_8.modified&&_8.appendOnEdit){
+_8.targetModel.doc.selectSingleNode("/*").appendChild(_9);
+}
+_8.setFeature(_8);
+_8.modified=true;
+_7.mbSelectStyle=null;
+_7.destroy();
+};
+this.setEditingLayer=function(_a){
+if(!_a.targetContext.featureLayers[_a.id]){
+_a.featureLayer=new OpenLayers.Layer.Vector(_a.id);
+_a.featureLayer.calculateInRange=function(){
+return true;
+};
+_a.featureLayer.mbButton=_a;
+_a.targetContext.featureLayers[_a.id]=_a.featureLayer;
+_a.featureLayer.onFeatureInsert=_a.handleFeatureInsert;
+}
+};
+this.setFeature=function(_b){
+if(!_b.enabled){
+return;
+}
+var _c=new OpenLayers.Format.GML().write([_b.feature]);
+var _d=Sarissa.getDomDocument();
+_d=(new DOMParser()).parseFromString(_c,"text/xml");
+if(_b.targetModel.namespace){
+Sarissa.setXpathNamespaces(_d,_b.targetModel.namespace);
+}
+var _e=_b.featureXpath.lastIndexOf("/")+1;
+var _f=_b.featureXpath.substring(_e);
+var _10=_d.selectSingleNode("//"+_f);
+if(!_10){
+_10=_d.selectSingleNode("//gml:featureMember/*/*");
+}
+var _11=_b.targetModel.doc.selectSingleNode(_b.featureXpath);
+if(_11.childNodes.length>0){
+_11.removeChild(_11.firstChild);
+}
+try{
+Sarissa.copyChildNodes(_10,_11);
+}
+catch(e){
+alert(mbGetMessage("invalidFeatureXpathEditLine",_b.featureXpath));
+}
+_b.targetModel.setParam("refresh");
+};
+this.initButton=function(_12){
+if(!_12.targetContext.featureLayers){
+_12.targetContext.featureLayers=new Array();
+}
+_12.targetContext.addFirstListener("refresh",_12.setEditingLayer,_12);
+_12.targetModel.addListener("loadModel",_12.newSession,_12);
+};
+this.model.addListener("init",this.initButton,this);
+}
+
+mapbuilder.loadScript(baseDir+"/widget/EditButtonBase.js");
+function EditLine(_1,_2){
+EditButtonBase.apply(this,new Array(_1,_2));
+this.instantiateControl=function(_3,_4){
+return new _4(_3.featureLayer,OpenLayers.Handler.Path);
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/EditButtonBase.js");
+function EditPoint(_1,_2){
+EditButtonBase.apply(this,new Array(_1,_2));
+this.instantiateControl=function(_3,_4){
+return new _4(_3.featureLayer,OpenLayers.Handler.Point);
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/EditButtonBase.js");
+function EditPolygon(_1,_2){
+EditButtonBase.apply(this,new Array(_1,_2));
+this.instantiateControl=function(_3,_4){
+return new _4(_3.featureLayer,OpenLayers.Handler.Polygon);
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+function InsertFeature(_1,_2){
+this.cursor="default";
+ButtonBase.apply(this,new Array(_1,_2));
+this.trm=this.getProperty("mb:transactionResponseModel");
+this.tm=this.getProperty("mb:targetModel");
+this.tc=this.getProperty("mb:targetContext");
+this.httpPayload=new Object();
+this.httpPayload.url=this.getProperty("mb:webServiceUrl");
+this.httpPayload.method="post";
+this.insertXsl=new XslProcessor(baseDir+"/tool/xsl/wfs_Insert.xsl");
+this.updateXsl=new XslProcessor(baseDir+"/tool/xsl/wfs_Update.xsl");
+this.createControl=function(_3){
+var _4=OpenLayers.Class(OpenLayers.Control,{CLASS_NAME:"mbInsertFeature",type:OpenLayers.Control.TYPE_BUTTON});
+return _4;
+};
+this.doSelect=function(_5,_6){
+if(_6){
+if(!_5.transactionResponseModel){
+_5.transactionResponseModel=window.config.objects[_5.trm];
+_5.transactionResponseModel.addListener("loadModel",_5.handleResponse,_5);
+}
+if(!_5.targetModel){
+_5.targetModel=window.config.objects[_5.tm];
+}
+if(!_5.targetContext){
+_5.targetContext=window.config.objects[_5.tc];
+}
+fid=_5.targetModel.getXpathValue(_5.targetModel,"//@fid");
+if(_5.targetModel.doc){
+if(fid){
+s=_5.updateXsl.transformNodeToObject(_5.targetModel.doc);
+}else{
+s=_5.insertXsl.transformNodeToObject(_5.targetModel.doc);
+}
+_5.httpPayload.postData=s;
+_5.transactionResponseModel.transactionType="insert";
+_5.transactionResponseModel.newRequest(_5.transactionResponseModel,_5.httpPayload);
+}else{
+alert(mbGetMessage("noFeatureToInsert"));
+}
+}
+};
+this.handleResponse=function(_7){
+if(_7.transactionResponseModel.transactionType=="insert"){
+success=_7.transactionResponseModel.doc.selectSingleNode("//wfs:TransactionResult/wfs:Status/wfs:SUCCESS");
+if(success){
+config.loadModel(_7.targetModel.id,_7.targetModel.url);
+_7.targetContext.callListeners("refreshWmsLayers");
+}
+}
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+function DeleteFeature(_1,_2){
+ButtonBase.apply(this,new Array(_1,_2));
+this.cursor="default";
+this.trm=this.getProperty("mb:transactionResponseModel");
+this.tm=this.getProperty("mb:targetModel");
+this.tc=this.getProperty("mb:targetContext");
+this.httpPayload=new Object();
+this.httpPayload.url=this.getProperty("mb:webServiceUrl");
+this.httpPayload.method="post";
+this.deleteXsl=new XslProcessor(baseDir+"/tool/xsl/wfs_Delete.xsl");
+this.createControl=function(_3){
+var _4=OpenLayers.Class(OpenLayers.Control,{CLASS_NAME:"mbDeleteFeature",type:OpenLayers.Control.TYPE_BUTTON});
+return _4;
+};
+this.doSelect=function(_5,_6){
+if(_6){
+if(!_5.transactionResponseModel){
+_5.transactionResponseModel=window.config.objects[_5.trm];
+_5.transactionResponseModel.addListener("loadModel",_5.handleResponse,_5);
+}
+if(!_5.targetModel){
+_5.targetModel=window.config.objects[_5.tm];
+}
+if(!_5.targetContext){
+_5.targetContext=window.config.objects[_5.tc];
+}
+fid=_5.targetModel.getXpathValue(_5.targetModel,"//@fid");
+if(_5.targetModel.doc&&fid){
+s=_5.deleteXsl.transformNodeToObject(_5.targetModel.doc);
+_5.httpPayload.postData=s;
+_5.transactionResponseModel.transactionType="delete";
+_5.transactionResponseModel.newRequest(_5.transactionResponseModel,_5.httpPayload);
+}else{
+alert(mbGetMessage("noFeatureToDelete"));
+}
+}
+};
+this.handleResponse=function(_7){
+if(_7.transactionResponseModel.transactionType=="delete"){
+success=_7.transactionResponseModel.doc.selectSingleNode("//wfs:TransactionResult/wfs:Status/wfs:SUCCESS");
+if(success){
+_7.targetModel.setModel(_7.targetModel,null);
+_7.targetModel.callListeners("refreshGmlRenderers");
+_7.targetContext.callListeners("refreshWmsLayers");
+}
+}
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
+function WfsGetFeature(_1,_2){
+ButtonBase.apply(this,new Array(_1,_2));
+this.widgetNode=_1;
+this.trm=this.getProperty("mb:transactionResponseModel");
+this.httpPayload=new Object({method:"get",postData:null});
+this.typeName=this.getProperty("mb:typeName");
+this.maxFeatures=this.getProperty("mb:maxFeatures",1);
+this.webServiceUrl=this.getProperty("mb:webServiceUrl");
+this.webServiceUrl+=this.webServiceUrl.indexOf("?")>-1?"&":"?";
+this.webServiceSrs=new OpenLayers.Projection(this.getProperty("mb:webServiceSrs","EPSG:4326"));
+this.cursor="pointer";
+this.createControl=function(_3){
+var _4=config.objects[_3.trm];
+var _5=OpenLayers.Class(OpenLayers.Control,{CLASS_NAME:"mbControl.WfsGetFeature",type:OpenLayers.Control.TYPE_TOOL,tolerance:new Number(_3.getProperty("mb:tolerance")),httpPayload:_3.httpPayload,maxFeatures:_3.maxFeatures,webServiceUrl:_3.webServiceUrl,transactionResponseModel:_4,draw:function(){
+this.handler=new OpenLayers.Handler.Box(this,{done:this.selectBox},{keyMask:this.keyMask});
+},selectBox:function(_6){
+var _7,minXY,maxXY;
+if(_6 instanceof OpenLayers.Bounds){
+minXY=this.map.getLonLatFromPixel(new OpenLayers.Pixel(_6.left,_6.bottom));
+maxXY=this.map.getLonLatFromPixel(new OpenLayers.Pixel(_6.right,_6.top));
+}else{
+minXY=this.map.getLonLatFromPixel(new OpenLayers.Pixel(_6.x-this.tolerance,_6.y+this.tolerance));
+maxXY=this.map.getLonLatFromPixel(new OpenLayers.Pixel(_6.x+this.tolerance,_6.y-this.tolerance));
+}
+_7=new OpenLayers.Bounds(minXY.lon,minXY.lat,maxXY.lon,maxXY.lat);
+if(this.map.projection.projCode!=this.objRef.webServiceSrs.projCode){
+_7.transform(this.map.projection,this.objRef.webServiceSrs);
+}
+var _8=_3.typeName;
+if(!_8){
+var _9=_3.targetModel.getQueryableLayers();
+if(_9.length==0){
+alert(mbGetMessage("noQueryableLayers"));
+return;
+}else{
+_8="";
+for(var i=0;i<_9.length;++i){
+var _b=_9[i];
+var _c=_b.selectSingleNode("wmc:Name");
+_c=(_c)?getNodeValue(_c):"";
+var _d=_b.getAttribute("id")||_c;
+var _e=_3.targetModel.getHidden(_d);
+if(_e==0){
+if(_8!=""){
+_8+=",";
+}
+_8+=_c;
+}
+}
+}
+}
+if(_8==""){
+alert(mbGetMessage("noQueryableLayersVisible"));
+return;
+}
+this.httpPayload.url=this.webServiceUrl+OpenLayers.Util.getParameterString({SERVICE:"WFS",VERSION:"1.0.0",REQUEST:"GetFeature",TYPENAME:_8,MAXFEATURES:this.maxFeatures,BBOX:_7.toBBOX()});
+this.transactionResponseModel.newRequest(this.transactionResponseModel,this.httpPayload);
+}});
+return _5;
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function Legend(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+this.model.addListener("deleteLayer",this.refresh,this);
+this.model.addListener("moveLayerUp",this.refresh,this);
+this.model.addListener("moveLayerDown",this.refresh,this);
+if(this.autoRefresh){
+this.model.addListener("addLayer",this.refresh,this);
+}
+this.prePaint=function(_3){
+if(_3.model.featureName){
+_3.stylesheet.setParameter("featureName",_3.model.featureName);
+_3.stylesheet.setParameter("hidden",_3.model.getHidden(_3.model.featureName).toString());
+}
+_3.visibleLayer=Mapbuilder.getProperty(_3.model.doc,_3.model.nodeSelectXpath+"[@hidden='0' and @opaque='1']/wmc:Name");
+};
+}
+Legend.prototype.refresh=function(_4,_5){
+_4.paint(_4,_4.id);
+};
+Legend.prototype.selectLayer=function(_6,_7){
+_6.model.setParam("selectedLayer",_7);
+};
+Legend.prototype.swapOpaqueLayer=function(_8){
+this.model.setHidden(this.visibleLayer,true);
+this.model.setHidden(_8,false);
+this.visibleLayer=_8;
+};
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function Version(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+}
+
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
+mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+function OverviewMap(_1,_2){
+WidgetBase.apply(this,new Array(_1,_2));
+var _3=this.getProperty("mb:width");
+if(_3){
+this.width=new Number(_3);
+}
+var _4=this.getProperty("mb:height");
+if(_4){
+this.height=new Number(_4);
+}
+var _5=this.getProperty("mb:minRatio");
+if(_5){
+this.minRatio=new Number(_5);
+}
+var _6=this.getProperty("mb:maxRatio");
+if(_6){
+this.maxRatio=new Number(_6);
+}
+var _7=_1.selectSingleNode("mb:layers");
+if(_7){
+this.layerNames=new Array();
+var _8=_7.childNodes;
+for(var i=0;i<_8.length;i++){
+if(_8[i].firstChild){
+this.layerNames.push(getNodeValue(_8[i]));
+}
+}
+}
+this.model.addListener("refresh",this.addOverviewMap,this);
+}
+OverviewMap.prototype.addOverviewMap=function(_a){
+if(_a.model&&_a.model.map){
+var _b=_a.model.map;
+this.control=null;
+var _c={div:_a.getNode(),objRef:this,destroy:function(){
+OpenLayers.Control.OverviewMap.prototype.destroy.apply(this,arguments);
+this.div=null;
+_a.control=null;
+_a=null;
+},layers:new Array()};
+if(_a.minRatio){
+_c.minRatio=_a.minRatio;
+}
+if(_a.maxRatio){
+_c.maxRatio=_a.maxRatio;
+}
+if(!_a.layerNames){
+for(var i in _b.mbMapPane.oLlayers){
+var _e=_b.mbMapPane.oLlayers[i];
+if(_e){
+var _f=_a.getClonedLayer(_e,true);
+_c.layers.push(_f);
+break;
+}
+}
+}
+var _10=true;
+if(_a.layerNames){
+for(var i=0;i<_a.layerNames.length;i++){
+var _e=_b.mbMapPane.getLayer(_b.mbMapPane,_a.layerNames[i]);
+if(_e){
+_c.layers.push(_a.getClonedLayer(_e,_10));
+_10=false;
+}
+}
+}
+var _11=_b.getExtent();
+if(_a.width&&_a.height){
+_c.size=new OpenLayers.Size(_a.width,_a.height);
+}else{
+if(_a.width){
+_c.size=new OpenLayers.Size(_a.width,_a.width*_11.getHeight()/_11.getWidth());
+}else{
+if(_a.height){
+_c.size=new OpenLayers.Size(_a.height*_11.getWidth()/_11.getHeight(),_a.height);
+}
+}
+}
+if(!_a.control){
+_a.control=new OpenLayers.Control.OverviewMap(_c);
+_a.control.mapOptions={theme:null};
+_b.addControl(_a.control);
+}
+for(var i=0;i<_c.layers.length;i++){
+_c.layers[i].setVisibility(true);
+}
+}
+};
+OverviewMap.prototype.getClonedLayer=function(_12,_13){
+if(_12==null){
+return null;
+}
+_13=_13?true:false;
+if(_12 instanceof OpenLayers.Layer.WMS){
+var _14={units:_12.units,projection:_12.projection,maxExtent:_12.maxExtent,maxResolution:"auto",ratio:1,singleTile:true,isBaseLayer:_13};
+return new OpenLayers.Layer.WMS(_12.name,_12.url,{layers:_12.params.LAYERS,format:_12.params.FORMAT,transparent:_12.params.TRANSPARENT,sld:_12.params.SLD,sld_body:_12.params.SLD_BODY,styles:_12.params.STYLES},_14);
+}else{
+var _15=_12.clone();
+_15.setVisibility(true);
+return _15;
+}
+};
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function TransactionResponse(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+}
+
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+function Model(_1,_2){
+ModelBase.apply(this,new Array(_1,_2));
+}
+
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+function Context(_1,_2){
+ModelBase.apply(this,new Array(_1,_2));
+this.namespace="xmlns:mb='http://mapbuilder.sourceforge.net/mapbuilder' xmlns:wmc='http://www.opengis.net/context' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'";
+this.setHidden=function(_3,_4){
+var _5="0";
+if(_4){
+_5="1";
+}
+var _6=this.getLayer(_3);
+if(_6){
+_6.setAttribute("hidden",_5);
+}
+this.callListeners("hidden",_3);
+};
+this.getHidden=function(_7){
+var _8=1;
+var _9=this.getLayer(_7);
+if(_9){
+_8=_9.getAttribute("hidden");
+}
+return _8;
+};
+this.getBoundingBox=function(){
+var _a=new Array();
+var _b=this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:BoundingBox");
+_a[0]=parseFloat(_b.getAttribute("minx"));
+_a[1]=parseFloat(_b.getAttribute("miny"));
+_a[2]=parseFloat(_b.getAttribute("maxx"));
+_a[3]=parseFloat(_b.getAttribute("maxy"));
+return _a;
+};
+this.setBoundingBox=function(_c){
+var _d=this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:BoundingBox");
+_d.setAttribute("minx",_c[0]);
+_d.setAttribute("miny",_c[1]);
+_d.setAttribute("maxx",_c[2]);
+_d.setAttribute("maxy",_c[3]);
+this.callListeners("bbox",_c);
+};
+this.initBbox=function(_e){
+if(window.cgiArgs["bbox"]){
+var _f=window.cgiArgs["bbox"].split(",");
+_e.setBoundingBox(_f);
+}
+};
+this.addListener("loadModel",this.initBbox,this);
+this.initAoi=function(_10){
+if(window.cgiArgs["aoi"]){
+var aoi=window.cgiArgs["aoi"].split(",");
+_10.setParam("aoi",new Array(new Array(aoi[0],aoi[3]),new Array(aoi[2],aoi[1])));
+}
+};
+this.addListener("loadModel",this.initAoi,this);
+this.setSRS=function(srs){
+var _13=this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:BoundingBox");
+_13.setAttribute("SRS",srs);
+this.callListeners("srs");
+};
+this.getSRS=function(){
+var _14=this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:BoundingBox");
+srs=_14.getAttribute("SRS");
+srs=srs?srs:"EPSG:4326";
+return srs;
+};
+this.initProj=function(_15){
+_15.proj=new OpenLayers.Projection(_15.getSRS());
+};
+this.addFirstListener("loadModel",this.initProj,this);
+this.getWindowWidth=function(){
+var win=this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:Window");
+return win.getAttribute("width");
+};
+this.setWindowWidth=function(_17){
+var win=this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:Window");
+win.setAttribute("width",_17);
+this.callListeners("resize");
+};
+this.getWindowHeight=function(){
+var win=this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:Window");
+return win.getAttribute("height");
+};
+this.setWindowHeight=function(_1a){
+var win=this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:Window");
+win.setAttribute("height",_1a);
+this.callListeners("resize");
+};
+this.getWindowSize=function(){
+var win=this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:Window");
+return new Array(win.getAttribute("width"),win.getAttribute("height"));
+};
+this.setWindowSize=function(_1d){
+var _1e=_1d[0];
+var _1f=_1d[1];
+var win=this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:Window");
+win.setAttribute("width",_1e);
+win.setAttribute("height",_1f);
+this.callListeners("resize");
+};
+this.getFeatureNode=function(_21){
+return this.doc.selectSingleNode(this.nodeSelectXpath+"[wmc:Name='"+_21+"']");
+};
+this.getServerUrl=function(_22,_23,_24){
+return _24.selectSingleNode("wmc:Server/wmc:OnlineResource").getAttribute("xlink:href");
+};
+this.getVersion=function(_25){
+return _25.selectSingleNode("wmc:Server").getAttribute("version");
+};
+this.getMethod=function(_26){
+return _26.selectSingleNode("wmc:Server/wmc:OnlineResource").getAttribute("wmc:method");
+};
+this.getQueryableLayers=function(){
+var _27=this.doc.selectNodes("/wmc:ViewContext/wmc:LayerList/wmc:Layer[attribute::queryable='1']");
+return _27;
+};
+this.getAllLayers=function(){
+var _28=this.doc.selectNodes("/wmc:ViewContext/wmc:LayerList/wmc:Layer");
+return _28;
+};
+this.getLayer=function(_29){
+var _2a=this.doc.selectSingleNode("/wmc:ViewContext/wmc:LayerList/wmc:Layer[@id='"+_29+"']");
+if(_2a==null){
+_2a=this.doc.selectSingleNode("/wmc:ViewContext/wmc:LayerList/wmc:Layer[wmc:Name='"+_29+"']");
+}
+return _2a;
+};
+this.getLayerIdByName=function(_2b){
+var _2c=this.getLayer(_2b);
+var id;
+if(_2c){
+id=_2c.getAttribute("id");
+}
+return id||false;
+};
+this.addLayer=function(_2e,_2f){
+var _30=_2e.doc.selectSingleNode("/wmc:ViewContext/wmc:LayerList");
+_30.appendChild(_2f);
+if(!_2f.getAttribute("id")){
+var _31=Math.round(10000*Math.random());
+id=Mapbuilder.getProperty(_2f,"wmc:Name")+"_"+_31;
+_2f.setAttribute("id",id);
+}
+_2e.modified=true;
+};
+this.addFirstListener("addLayer",this.addLayer,this);
+this.addSLD=function(_32,_33){
+var _34=Mapbuilder.getProperty(_33,"//Name");
+var _35=_32.doc.selectSingleNode("//wmc:Layer[wmc:Name='"+_34+"']");
+_35.appendChild(_33.cloneNode(true));
+_32.modified=true;
+var _36=[];
+_36["sld_body"]=(new XMLSerializer()).serializeToString(_32.doc.selectSingleNode("//wmc:Layer[wmc:Name='"+_34+"']/wmc:StyleList/wmc:Style/wmc:SLD/wmc:StyledLayerDescriptor"));
+_32.map.mbMapPane.refreshLayer(_32.map.mbMapPane,_34,_36);
+};
+this.addFirstListener("addSLD",this.addSLD,this);
+this.deleteLayer=function(_37,_38){
+var _39=_37.getLayer(_38);
+if(!_39){
+alert(mbGetMessage("nodeNotFound",_38));
+return;
+}
+_39.parentNode.removeChild(_39);
+_37.modified=true;
+};
+this.addFirstListener("deleteLayer",this.deleteLayer,this);
+this.moveLayerUp=function(_3a,_3b){
+var _3c=_3a.getLayer(_3b);
+var _3d=_3c.selectSingleNode("following-sibling::*");
+if(!_3d){
+alert(mbGetMessage("cantMoveUp",_3b));
+return;
+}
+_3c.parentNode.insertBefore(_3d,_3c);
+_3a.modified=true;
+};
+this.addFirstListener("moveLayerUp",this.moveLayerUp,this);
+this.moveLayerDown=function(_3e,_3f){
+var _40=_3e.getLayer(_3f);
+var _41=_40.selectNodes("preceding-sibling::*");
+var _42=_41[_41.length-1];
+if(!_42){
+alert(mbGetMessage("cantMoveDown",_3f));
+return;
+}
+_40.parentNode.insertBefore(_40,_42);
+_3e.modified=true;
+};
+this.addFirstListener("moveLayerDown",this.moveLayerDown,this);
+this.setExtension=function(_43){
+var _44=this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:Extension");
+if(!_44){
+var _45=this.doc.selectSingleNode("/wmc:ViewContext/wmc:General");
+var _46=createElementWithNS(this.doc,"Extension","http://www.opengis.net/context");
+_44=_45.appendChild(_46);
+}
+return _44.appendChild(_43);
+};
+this.getExtension=function(){
+return this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:Extension");
+};
+this.initTimeExtent=function(_47){
+var _48=_47.doc.selectNodes("//wmc:Dimension[@name='time']");
+for(var i=0;i<_48.length;++i){
+var _4a=_48[i];
+_47.timestampList=createElementWithNS(_47.doc,"TimestampList",mbNsUrl);
+var _4b;
+var _4c=_4a.parentNode.parentNode;
+if(_4c.selectSingleNode("@id")){
+_4b=Mapbuilder.getProperty(_4c,"@id");
+}else{
+_4b=Mapbuilder.getProperty(_4c,"wmc:Name");
+}
+_47.timestampList.setAttribute("layerId",_4b);
+var _4d=getNodeValue(_4a).split(",");
+for(var j=0;j<_4d.length;++j){
+var _4f=_4d[j].split("/");
+if(_4f.length==3){
+var _50=setISODate(_4f[0]);
+var _51=setISODate(_4f[1]);
+var _52=_4f[2];
+var _53=_52.match(/^P((\d*)Y)?((\d*)M)?((\d*)D)?T?((\d*)H)?((\d*)M)?((.*)S)?/);
+for(var i=1;i<_53.length;++i){
+if(!_53[i]){
+_53[i]=0;
+}
+}
+do{
+var _54=createElementWithNS(_47.doc,"Timestamp",mbNsUrl);
+_54.appendChild(_47.doc.createTextNode(getISODate(_50)));
+_47.timestampList.appendChild(_54);
+_50.setFullYear(_50.getFullYear()+parseInt(_53[2],10));
+_50.setMonth(_50.getMonth()+parseInt(_53[4],10));
+_50.setDate(_50.getDate()+parseInt(_53[6],10));
+_50.setHours(_50.getHours()+parseInt(_53[8],10));
+_50.setMinutes(_50.getMinutes()+parseInt(_53[10],10));
+_50.setSeconds(_50.getSeconds()+parseFloat(_53[12]));
+}while(_50.getTime()<=_51.getTime());
+}else{
+var _54=createElementWithNS(_47.doc,"Timestamp",mbNsUrl);
+_54.appendChild(_47.doc.createTextNode(_4d[j]));
+_47.timestampList.appendChild(_54);
+}
+}
+_47.setExtension(_47.timestampList);
+}
+};
+this.addFirstListener("loadModel",this.initTimeExtent,this);
+this.clearTimeExtent=function(_55){
+var _56=_55.timestampList;
+if(_56){
+_56.parentNode.removeChild(_56);
+}
+};
+this.addListener("newModel",this.clearTimeExtent,this);
+this.getCurrentTimestamp=function(_57){
+var _58=this.getParam("timestamp");
+return getNodeValue(this.timestampList.childNodes[_58]);
+};
+this.setOpacity=function(_59,_5a){
+var _5b=this.getLayer(_59);
+if(_5b){
+_5b.setAttribute("opacity",_5a);
+}
+this.callListeners("opacity",_59);
+};
+this.getOpacity=function(_5c){
+var _5d=1;
+var _5e=this.getLayer(_5c);
+if(_5e){
+_5d=_5e.getAttribute("opacity");
+}
+return _5d;
+};
+}
+
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+function OwsContext(_1,_2){
+ModelBase.apply(this,new Array(_1,_2));
+this.namespace=this.namespace?this.namespace.replace(/\"/g,"'")+" ":"";
+this.namespace=this.namespace+"xmlns:wmc='http://www.opengis.net/context' xmlns:ows='http://www.opengis.net/ows' xmlns:ogc='http://www.opengis.net/ogc' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs' xmlns:sld='http://www.opengis.net/sld'";
+this.setHidden=function(_3,_4){
+var _5="0";
+if(_4){
+_5="1";
+}
+var _6=this.getLayer(_3);
+if(_6){
+_6.setAttribute("hidden",_5);
+}
+this.callListeners("hidden",_3);
+};
+this.getHidden=function(_7){
+var _8=1;
+var _9=this.getFeatureNode(_7);
+if(_9){
+_8=_9.getAttribute("hidden");
+}
+return _8;
+};
+this.getBoundingBox=function(){
+var _a=new Array();
+var _b=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/ows:BoundingBox/ows:LowerCorner");
+var _c=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/ows:BoundingBox/ows:UpperCorner");
+var _d=new String(getNodeValue(_b)+" "+getNodeValue(_c)).split(" ");
+for(i=0;i<_d.length;++i){
+_a[i]=parseFloat(_d[i]);
+}
+return _a;
+};
+this.setBoundingBox=function(_e){
+var _f=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/ows:BoundingBox/ows:LowerCorner");
+_f.firstChild.nodeValue=_e[0]+" "+_e[1];
+var _10=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/ows:BoundingBox/ows:UpperCorner");
+_10.firstChild.nodeValue=_e[2]+" "+_e[3];
+this.callListeners("bbox",_e);
+};
+this.initBbox=function(_11){
+if(window.cgiArgs["bbox"]){
+var _12=window.cgiArgs["bbox"].split(",");
+_11.setBoundingBox(_12);
+}
+};
+this.addListener("loadModel",this.initBbox,this);
+this.initAoi=function(_13){
+if(window.cgiArgs["aoi"]){
+var aoi=window.cgiArgs["aoi"].split(",");
+_13.setParam("aoi",new Array(new Array(aoi[0],aoi[3]),new Array(aoi[2],aoi[1])));
+}
+};
+this.addListener("loadModel",this.initAoi,this);
+this.setSRS=function(srs){
+var _16=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/ows:BoundingBox");
+_16.setAttribute("crs",srs);
+this.callListeners("srs");
+};
+this.getSRS=function(){
+var _17=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/ows:BoundingBox");
+srs=_17.getAttribute("crs");
+srs=srs?srs:"EPSG:4326";
+return srs;
+};
+this.initProj=function(_18){
+_18.proj=new OpenLayers.Projection(_18.getSRS());
+};
+this.addFirstListener("loadModel",this.initProj,this);
+this.getWindowWidth=function(){
+var win=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/wmc:Window");
+return win.getAttribute("width");
+};
+this.setWindowWidth=function(_1a){
+var win=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/wmc:Window");
+win.setAttribute("width",_1a);
+this.callListeners("resize");
+};
+this.getWindowHeight=function(){
+var win=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/wmc:Window");
+return win.getAttribute("height");
+};
+this.setWindowHeight=function(_1d){
+var win=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/wmc:Window");
+win.setAttribute("height",_1d);
+this.callListeners("resize");
+};
+this.getWindowSize=function(){
+var win=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/wmc:Window");
+return new Array(win.getAttribute("width"),win.getAttribute("height"));
+};
+this.setWindowSize=function(_20){
+var win=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/wmc:Window");
+var _22=_20[0];
+var _23=_20[1];
+win.setAttribute("width",_22);
+win.setAttribute("height",_23);
+this.callListeners("resize");
+};
+this.getFeatureNode=function(_24){
+if(this.doc){
+var _25=this.doc.selectSingleNode("//wmc:ResourceList/*[@id='"+_24+"']");
+if(_25==null){
+_25=this.doc.selectSingleNode("//wmc:ResourceList/*[wmc:Name='"+_24+"']");
+}
+if(_25==null){
+alert(mbGetMessage("featureNotFoundOwsContext"));
+}
+return _25;
+}
+};
+this.getServerUrl=function(_26,_27,_28){
+var _29=_26.split(":");
+if(_29.length>0){
+_29=_29[0].toUpperCase();
+}
+var url=_28.selectSingleNode("wmc:Server[@service='OGC:"+_29+"']/wmc:OnlineResource").getAttribute("xlink:href");
+if(!url){
+url=_28.selectSingleNode("wmc:Server/wmc:OnlineResource").getAttribute("xlink:href");
+}
+return url;
+};
+this.getVersion=function(_2b){
+return _2b.selectSingleNode("wmc:Server").getAttribute("version");
+};
+this.getMethod=function(_2c){
+return _2c.selectSingleNode("wmc:Server/wmc:OnlineResource").getAttribute("wmc:method");
+};
+this.getBaseLayerService=function(){
+x=this.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList/wmc:Layer[last()]/wmc:Server");
+s=x.getAttribute("service");
+return s;
+};
+this.loadFeatures=function(_2d){
+var _2e=_2d.nodeSelectXpath+"/wmc:FeatureType[wmc:Server/@service='OGC:WFS']/wmc:Name";
+var _2f=_2d.doc.selectNodes(_2e);
+for(var i=0;i<_2f.length;i++){
+var _31=getNodeValue(_2f[i]);
+_2d.setParam("wfs_GetFeature",_31);
+}
+};
+this.addListener("loadModel",this.loadFeatures,this);
+this.setRequestParameters=function(_32,_33){
+var _34=this.getFeatureNode(_32);
+if(_34.selectSingleNode("ogc:Filter")){
+_33.setParameter("filter",escape((new XMLSerializer()).serializeToString(_34.selectSingleNode("ogc:Filter"))));
+}
+};
+this.getQueryableLayers=function(){
+var _35=this.doc.selectNodes("/wmc:OWSContext/wmc:ResourceList/wmc:Layer[@queryable='1']|/wmc:OWSContext/wmc:ResourceList/wmc:FeatureType[@queryable='1']");
+if(_35==null){
+_35=this.doc.selectNodes("/wmc:OWSContext/wmc:ResourceList/wmc:Layer|/wmc:OWSContext/wmc:ResourceList/wmc:Layer");
+}
+return _35;
+};
+this.getAllLayers=function(){
+var _36=this.doc.selectNodes("//wmc:Layer|//wmc:FeatureType");
+return _36;
+};
+this.getLayer=function(_37){
+var _38=this.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList/wmc:FeatureType[@id='"+_37+"']");
+if(_38==null){
+_38=this.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList/wmc:Layer[@id='"+_37+"']");
+}
+if(_38==null){
+_38=this.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList/wmc:Layer[wmc:Name='"+_37+"']");
+}
+if(_38==null){
+_38=this.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList/wmc:FeatureType[wmc:Name='"+_37+"']");
+}
+if(_38==null){
+_38=this.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList/wmc:RssLayer[@id='"+_37+"']");
+}
+return _38;
+};
+this.getLayerIdByName=function(_39){
+var _3a=this.getLayer(_39);
+var id;
+if(_3a){
+id=_3a.getAttribute("id");
+}
+return id||false;
+};
+this.addLayer=function(_3c,_3d){
+if(_3c.doc!=null){
+var _3e=_3c.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList");
+var _3f=Math.round(10000*Math.random());
+id=Mapbuilder.getProperty(_3d,"wmc:Name")+"_"+_3f;
+_3d.setAttribute("id",id);
+var id=_3d.getAttribute("id");
+var str="/wmc:OWSContext/wmc:ResourceList/"+_3d.nodeName+"[@id='"+id+"']";
+var _42=_3c.doc.selectSingleNode(str);
+if(_42!=null){
+_3e.removeChild(_42);
+}
+_3e.appendChild(_3d);
+_3c.modified=true;
+if(this.debug){
+mbDebugMessage("Adding layer:"+(new XMLSerializer()).serializeToString(_3d));
+}
+}else{
+alert(mbGetMessage("nullOwsContext"));
+}
+};
+this.addFirstListener("addLayer",this.addLayer,this);
+this.getBaseLayer=function(){
+var _43=this.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList/ows:BaseLayer");
+return _43;
+};
+this.addSLD=function(_44,_45){
+var _46=Mapbuilder.getProperty(_45,"//Name");
+var _47=_44.doc.selectSingleNode("//wmc:Layer[wmc:Name='"+_46+"']");
+_47.appendChild(_45.cloneNode(true));
+_44.modified=true;
+var _48=[];
+_48["sld_body"]=(new XMLSerializer()).serializeToString(_44.doc.selectSingleNode("//wmc:Layer[wmc:Name='"+_46+"']/wmc:StyleList/wmc:Style/wmc:SLD/wmc:StyledLayerDescriptor"));
+_44.map.mbMapPane.refreshLayer(_44.map.mbMapPane,_46,_48);
+};
+this.addFirstListener("addSLD",this.addSLD,this);
+this.deleteLayer=function(_49,_4a){
+var _4b=_49.getLayer(_4a);
+if(!_4b){
+alert(mbGetMessage("nodeNotFound",_4a));
+return;
+}
+_4b.parentNode.removeChild(_4b);
+_49.modified=true;
+};
+this.addFirstListener("deleteLayer",this.deleteLayer,this);
+this.moveLayerUp=function(_4c,_4d){
+var _4e=_4c.getLayer(_4d);
+var _4f=_4e.selectSingleNode("following-sibling::*");
+if(!_4f){
+alert(mbGetMessage("cantMoveUp",_4d));
+return;
+}
+_4e.parentNode.insertBefore(_4f,_4e);
+_4c.modified=true;
+};
+this.addFirstListener("moveLayerUp",this.moveLayerUp,this);
+this.moveLayerDown=function(_50,_51){
+var _52=_50.getLayer(_51);
+var _53=_52.selectNodes("preceding-sibling::*");
+var _54=_53[_53.length-1];
+if(!_54){
+alert(mbGetMessage("cantMoveDown",_51));
+return;
+}
+_52.parentNode.insertBefore(_52,_54);
+_50.modified=true;
+};
+this.addFirstListener("moveLayerDown",this.moveLayerDown,this);
+this.setExtension=function(_55){
+var _56=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/wmc:Extension");
+if(!_56){
+var _57=this.doc.selectSingleNode("/wmc:OWSContext/wmc:General");
+var _58=createElementWithNS(this.doc,"Extension","http://www.opengis.net/context");
+_56=_57.appendChild(_58);
+}
+return _56.appendChild(_55);
+};
+this.getExtension=function(){
+return this.doc.selectSingleNode("/wmc:OWSContext/wmc:General/wmc:Extension");
+};
+this.setOpacity=function(_59,_5a){
+var _5b=this.getLayer(_59);
+if(_5b){
+_5b.setAttribute("opacity",_5a);
+}
+this.callListeners("opacity",_59);
+};
+this.getOpacity=function(_5c){
+var _5d=1;
+var _5e=this.getLayer(_5c);
+if(_5e){
+_5d=_5e.getAttribute("opacity");
+}
+return _5d;
+};
+this.initTimeExtent=function(_5f){
+var _60=_5f.doc.selectNodes("//wmc:Dimension[@name='time']");
+for(var i=0;i<_60.length;++i){
+var _62=_60[i];
+_5f.timestampList=createElementWithNS(_5f.doc,"TimestampList",mbNsUrl);
+var _63;
+var _64=_62.parentNode.parentNode;
+if(_64.selectSingleNode("@id")){
+_63=Mapbuilder.getProperty(_64,"@id");
+}else{
+_63=Mapbuilder.getProperty(_64,"wmc:Name");
+}
+_5f.timestampList.setAttribute("layerId",_63);
+var _65=getNodeValue(_62).split(",");
+for(var j=0;j<_65.length;++j){
+var _67=_65[j].split("/");
+if(_67.length==3){
+var _68=setISODate(_67[0]);
+var _69=setISODate(_67[1]);
+var _6a=_67[2];
+var _6b=_6a.match(/^P((\d*)Y)?((\d*)M)?((\d*)D)?T?((\d*)H)?((\d*)M)?((.*)S)?/);
+for(var i=1;i<_6b.length;++i){
+if(!_6b[i]){
+_6b[i]=0;
+}
+}
+do{
+var _6c=createElementWithNS(_5f.doc,"Timestamp",mbNsUrl);
+_6c.appendChild(_5f.doc.createTextNode(getISODate(_68)));
+_5f.timestampList.appendChild(_6c);
+_68.setFullYear(_68.getFullYear()+parseInt(_6b[2],10));
+_68.setMonth(_68.getMonth()+parseInt(_6b[4],10));
+_68.setDate(_68.getDate()+parseInt(_6b[6],10));
+_68.setHours(_68.getHours()+parseInt(_6b[8],10));
+_68.setMinutes(_68.getMinutes()+parseInt(_6b[10],10));
+_68.setSeconds(_68.getSeconds()+parseFloat(_6b[12]));
+}while(_68.getTime()<=_69.getTime());
+}else{
+var _6c=createElementWithNS(_5f.doc,"Timestamp",mbNsUrl);
+_6c.appendChild(_5f.doc.createTextNode(_65[j]));
+_5f.timestampList.appendChild(_6c);
+}
+}
+_5f.setExtension(_5f.timestampList);
+}
+};
+this.addFirstListener("loadModel",this.initTimeExtent,this);
+this.clearTimeExtent=function(_6d){
+var _6e=_6d.timestampList;
+if(_6e){
+_6e.parentNode.removeChild(_6e);
+}
+};
+this.addListener("newModel",this.clearTimeExtent,this);
+this.getCurrentTimestamp=function(_6f){
+var _70=this.getParam("timestamp");
+return getNodeValue(this.timestampList.childNodes[_70]);
+};
+}
+
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+function Transaction(_1,_2){
+ModelBase.apply(this,new Array(_1,_2));
+this.namespace="xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs'";
+}
+
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+function FeatureCollection(_1,_2){
+ModelBase.apply(this,new Array(_1,_2));
+this.featureTagName=this.getProperty("mb:featureTagName","topp:CITY_NAME");
+this.coordsTagName=this.getProperty("mb:coordsTagName","//gml:coordinates");
+this.nodeSelectXpath=this.getProperty("mb:nodeSelectXpath");
+this.coordSelectXpath=this.getProperty("mb:coordSelectXpath","topp:the_geom/gml:MultiPoint/gml:pointMember/gml:Point/gml:coordinates");
+this.convertCoords=function(_3){
+if(_3.doc&&_3.containerModel&&_3.containerModel.doc){
+var _4=_3.doc.selectNodes(_3.coordsTagName);
+if(_4.length>0&&_3.containerModel){
+var _5=_4[0].selectSingleNode("ancestor-or-self::*/@srsName");
+if(_5&&(_5.nodeValue.toUpperCase()!=_3.containerModel.getSRS().toUpperCase())){
+var _6=new OpenLayers.Projection(_5.nodeValue);
+_3.setParam("modelStatus",mbGetMessage("convertingCoords"));
+var _7=new OpenLayers.Projection(_3.containerModel.getSRS());
+for(var i=0;i<_4.length;++i){
+var _9=getNodeValue(_4[i]);
+var _a=_9.split(" ");
+var _b="";
+for(var j=0;j<_a.length;++j){
+var xy=_a[j].split(",");
+if(xy.length==2){
+var pt=new OpenLayers.Geometry.Point(xy[0],xy[1]);
+pt.transform(_6,_7);
+_b+=pt.x+","+pt.y+" ";
+}
+}
+_4[i].firstChild.nodeValue=_b;
+}
+}
+}
+}
+};
+this.loadWfsRequests=function(_f){
+if(_f.containerModel.doc!=null){
+var _10=_f.containerModel.doc.selectNodes("/wmc:OWSContext/wmc:ResourceList/wmc:FeatureType");
+if(_10.length>0){
+for(var i=0;i<_10.length;i++){
+var _12=new Object();
+var _13=_10[i];
+var _14=_13.selectSingleNode("wmc:Server");
+var _15=_14.selectSingleNode("wmc:OnlineResource");
+_12.method=_15.getAttribute("method");
+_12.url=_15.getAttribute("xlink:href");
+var _16=_13.selectSingleNode("wfs:GetFeature");
+_12.postData=(new XMLSerializer()).serializeToString(_16);
+_f.wfsFeature=_13;
+_f.newRequest(_f,_12);
+}
+}
+}
+};
+this.addFirstListener("loadModel",this.convertCoords,this);
+if(this.containerModel){
+this.containerModel.addListener("loadModel",this.loadWfsRequests,this);
+}
+this.setHidden=function(_17,_18){
+this.hidden=_18;
+this.callListeners("hidden",_17);
+};
+this.getHidden=function(_19){
+return this.hidden;
+};
+this.hidden=false;
+this.getFeatureNodes=function(){
+return this.doc.selectNodes(this.nodeSelectXpath);
+};
+this.getFeatureName=function(_1a){
+var _1b=_1a.selectSingleNode(this.featureTagName);
+return _1b?getNodeValue(_1b):mbGetMessage("noRssTitle");
+};
+this.getFeatureId=function(_1c){
+return _1c.getAttribute("fid")?_1c.getAttribute("fid"):"no_id";
+};
+this.getFeaturePoint=function(_1d){
+var _1e=_1d.selectSingleNode(this.coordSelectXpath);
+if(_1e){
+var _1f=getNodeValue(_1e).split(",");
+return _1f;
+}else{
+return new Array(0,0);
+}
+};
+this.getFeatureGeometry=function(_20){
+var _21=_20.selectSingleNode(this.coordsTagName);
+if(_21!=null){
+return _21.firstChild;
+}else{
+alert(mbGetMessage("invalidGeom",(new XMLSerializer()).serializeToString(_20)));
+}
+};
+}
+
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+function StyledLayerDescriptor(_1,_2){
+ModelBase.apply(this,new Array(_1,_2));
+this.sld=null;
+this.namespace="xmlns:sld='http://www.opengis.net/sld' xmlns:mb='http://mapbuilder.sourceforge.net/mapbuilder' xmlns:wmc='http://www.opengis.net/context' xmlns:wms='http://www.opengis.net/wms' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:ogc='http://www.opengis.net/ogc' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:wfs='http://www.opengis.net/wfs'";
+this.sldXPath=this.getProperty("mb:sldXPath","/sld:StyledLayerDescriptor");
+this.getSldNode=function(){
+return this.doc.selectSingleNode(this.sldXPath);
+};
+this.loadSLD=function(_3){
+var _4=new OpenLayers.Format.SLD();
+var _5=_3.doc.selectSingleNode(_3.sldXPath);
+_3.sld=_4.read(new XMLSerializer().serializeToString(_5));
+};
+this.addFirstListener("loadModel",this.loadSLD,this);
+}
+
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+function WfsCapabilities(_1,_2){
+ModelBase.apply(this,new Array(_1,_2));
+this.namespace="xmlns:wfs='http://www.opengis.net/wfs'";
+this.getServerUrl=function(_3,_4,_5){
+var _6="/wfs:WFS_Capabilities/wfs:Capability/wfs:Request/"+_3;
+if(_4.toLowerCase()=="post"){
+_6+="/wfs:DCPType/wfs:HTTP/wfs:Post";
+}else{
+_6+="/wfs:DCPType/wfs:HTTP/wfs:Get";
+}
+return this.doc.selectSingleNode(_6).getAttribute("onlineResource");
+};
+this.getVersion=function(){
+var _7="/wfs:WFS_Capabilities";
+return this.doc.selectSingleNode(_7).getAttribute("version");
+};
+this.getMethod=function(){
+return this.method;
+};
+this.getFeatureNode=function(_8){
+return this.doc.selectSingleNode(this.nodeSelectXpath+"[wfs:Name='"+_8+"']");
+};
+}
+
+mapbuilder.loadScript(baseDir+"/model/ModelBase.js");
+function WmsCapabilities(_1,_2){
+ModelBase.apply(this,new Array(_1,_2));
+this.namespace="xmlns:wms='http://www.opengis.net/wms' xmlns:xlink='http://www.w3.org/1999/xlink'";
+this.getServerUrl=function(_3,_4,_5){
+var _6=this.getVersion();
+if(_6=="1.0.0"){
+_3=_3.substring(3);
+var _7="/WMT_MS_Capabilities/Capability/Request/"+_3;
+if(_4.toLowerCase()=="post"){
+_7+="/DCPType/HTTP/Post";
+}else{
+_7+="/DCPType/HTTP/Get";
+}
+return this.doc.selectSingleNode(_7).getAttribute("onlineResource");
+}else{
+var _7="/WMT_MS_Capabilities/Capability/Request/"+_3;
+if(_4.toLowerCase()=="post"){
+_7+="/DCPType/HTTP/Post/OnlineResource";
+}else{
+_7+="/DCPType/HTTP/Get/OnlineResource";
+}
+return this.doc.selectSingleNode(_7).getAttribute("xlink:href");
+}
+};
+this.getVersion=function(){
+var _8="/WMT_MS_Capabilities";
+return this.doc.selectSingleNode(_8).getAttribute("version");
+};
+this.getServerTitle=function(){
+var _9="/WMT_MS_Capabilities/Service/Title";
+return Mapbuilder.getProperty(this.doc,_9,"no title");
+};
+this.getImageFormat=function(){
+var _a=this.getVersion();
+if(_a=="1.0.0"){
+var _b="/WMT_MS_Capabilities/Capability/Request/Map/Format";
+var _c=this.doc.selectSingleNode(_b);
+if(_SARISSA_IS_IE){
+return "image/"+_c.firstChild.baseName.toLowerCase();
+}else{
+return "image/"+_c.firstChild.localName.toLowerCase();
+}
+}else{
+var _b="/WMT_MS_Capabilities/Capability/Request/GetMap/Format";
+return Mapbuilder.getProperty(this.doc,_b);
+}
+};
+this.getServiceName=function(){
+var _d="/WMT_MS_Capabilities/Service/Name";
+return Mapbuilder.getProperty(this.doc,_d);
+};
+this.getFeatureNode=function(_e){
+return this.doc.selectSingleNode(this.nodeSelectXpath+"[Name='"+_e+"']");
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+function Loading(_1,_2){
+WidgetBase.apply(this,new Array(_1,_2));
+this.paint=function(_3){
+var _4=document.getElementById(_3.htmlTagId);
+if(_4){
+while(_4.childNodes.length>0){
+_4.removeChild(_4.childNodes[0]);
+}
+}
+};
+this.model.addListener("refresh",this.paint,this);
+}
+
+function WidgetBase(_1,_2){
+this.model=_2;
+this.widgetNode=_1;
+var _3=false;
+if(_2.modelNode.attributes.getNamedItem("createByTemplate")&&_2.modelNode.attributes.getNamedItem("createByTemplate").nodeValue=="true"){
+_1.setAttribute("id","MbWidget_"+mbIds.getId());
+_3=true;
+}
+if(_1.attributes.getNamedItem("id")){
+this.id=_1.attributes.getNamedItem("id").nodeValue;
+}else{
+alert(mbGetMessage("idRequired",_1.nodeName));
+}
+this.getProperty=function(_4,_5){
+return Mapbuilder.getProperty(_1,_4,_5);
+};
+if(_3){
+this.outputNodeId=this.id;
+}else{
+this.outputNodeId=this.getProperty("mb:outputNodeId","MbWidget_"+mbIds.getId());
+}
+if(!this.htmlTagId){
+this.htmlTagId=this.getProperty("mb:htmlTagId",this.id);
+}
+this.getNode=function(){
+var _6=document.getElementById(this.htmlTagId);
+if(!_6){
+}
+return _6;
+};
+this.autoRefresh=Mapbuilder.parseBoolean(this.getProperty("mb:autoRefresh",true));
+this.debug=Mapbuilder.parseBoolean(this.getProperty("mb:debug",false));
+this.initTargetModel=function(_7){
+var _8=_7.getProperty("mb:targetModel");
+if(_8){
+_7.targetModel=window.config.objects[_8];
+if(!_7.targetModel){
+alert(mbGetMessage("noTargetModelWidget",_8,_7.id));
+}
+}else{
+_7.targetModel=_7.model;
+}
+};
+this.model.addListener("init",this.initTargetModel,this);
+this.prePaint=function(_9){
+};
+this.postPaint=function(_a){
+};
+this.clearWidget=function(_b){
+var _c=document.getElementById(_b.outputNodeId);
+var _d=_b.getNode();
+if(_d&&_c){
+_d.removeChild(_c);
+}
+};
+this.model.addListener("newModel",this.clearWidget,this);
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+function WidgetBaseXSL(_1,_2){
+WidgetBase.apply(this,new Array(_1,_2));
+if(!this.stylesheet){
+this.stylesheet=new XslProcessor(this.getProperty("mb:stylesheet",baseDir+"/widget/"+_1.nodeName+".xsl",_2.namespace));
+}
+this.parseHTMLNodes=Mapbuilder.parseBoolean(this.getProperty("mb:parseHTMLNodes",false));
+if(config.widgetText){
+var _3="/mb:WidgetText/mb:widgets/mb:"+_1.nodeName;
+var _4=config.widgetText.selectNodes(_3+"/*");
+for(var j=0;j<_4.length;j++){
+this.stylesheet.setParameter(_4[j].nodeName,getNodeValue(_4[j]));
+}
+}
+for(var j=0;j<_1.childNodes.length;j++){
+if(_1.childNodes[j].firstChild){
+this.stylesheet.setParameter(_1.childNodes[j].nodeName,_1.childNodes[j].firstChild.nodeValue);
+}
+}
+this.stylesheet.setParameter("modelId",this.model.id);
+this.stylesheet.setParameter("modelTitle",this.model.title);
+this.stylesheet.setParameter("widgetId",this.id);
+this.stylesheet.setParameter("skinDir",config.skinDir);
+this.stylesheet.setParameter("lang",config.lang);
+this.paint=function(_6,_7){
+if(_7&&(_7!=_6.id)){
+return;
+}
+if(_6.model.doc&&_6.getNode()){
+_6.stylesheet.setParameter("modelUrl",_6.model.url);
+_6.stylesheet.setParameter("targetModelId",_6.targetModel.id);
+_6.resultDoc=_6.model.doc;
+_6.model.setParam("prePaint",_6);
+_6.prePaint(_6);
+if(_6.debug){
+mbDebugMessage(_6,"prepaint:"+(new XMLSerializer()).serializeToString(_6.resultDoc));
+}
+if(_6.debug){
+mbDebugMessage(_6,"stylesheet:"+(new XMLSerializer()).serializeToString(_6.stylesheet.xslDom));
+}
+var _8=document.getElementById(_6.outputNodeId);
+var _9=document.createElement("DIV");
+var s=_6.stylesheet.transformNodeToString(_6.resultDoc);
+if(config.serializeUrl&&_6.debug){
+postLoad(config.serializeUrl,s);
+}
+if(_6.debug){
+mbDebugMessage(_6,"painting:"+_6.id+":"+s);
+}
+_9.innerHTML=_6.parseHTMLNodes?Sarissa.unescape(s):s;
+if(_9.firstChild!=null){
+_9.firstChild.setAttribute("id",_6.outputNodeId);
+if(_8){
+_6.getNode().replaceChild(_9.firstChild,_8);
+}else{
+_6.getNode().appendChild(_9.firstChild);
+}
+}
+_6.postPaint(_6);
+_6.model.setParam("postPaint",_6);
+}
+};
+this.model.addListener("refresh",this.paint,this);
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function TipWidgetBase(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+this.width=this.getProperty("mb:width",200);
+this.height=this.getProperty("mb:height",150);
+this.opacity=this.getProperty("mb:opacity",1);
+this.backgroundColor=this.getProperty("mb:backgroundColor","D0D0D0");
+this.border=this.getProperty("mb:border","0px");
+this.config=new Object({model:_2,stylesheet:this.stylesheet,width:this.width,height:this.height,opacity:this.opacity,backgroundColor:this.backgroundColor,border:this.border});
+}
+
+mapbuilder.loadScript(baseDir+"/widget/TipWidgetBase.js");
+function TipWidgetConfig(_1,_2){
+TipWidgetBase.apply(this,new Array(_1,_2));
+var _3=this.getProperty("mb:targetWidget");
+this.init=function(_4){
+if(_3){
+if(!_2.config){
+_2.config=new Array();
+}
+_2.config[_3]=_4.config;
+}
+};
+_2.addListener("init",this.init,this);
+}
+
+mapbuilder.loadScript(baseDir+"/widget/TipWidgetBase.js");
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
+function TipWidgetOL(_1,_2){
+TipWidgetBase.apply(this,new Array(_1,_2));
+this.onClick=function(_3){
+var _4=_3.model.getParam("olFeatureSelect");
+var _5=_3.createPopup(_3,_4,false);
+_4.feature.layer.mbClickPopup=_5;
+};
+this.onMouseover=function(_6){
+var _7=_6.model.getParam("olFeatureHover");
+if(_7.feature&&!_7.feature.layer.mbClickPopup||!_7.feature.layer.mbClickPopup.visible()){
+var _8=_6.createPopup(_6,_7,true);
+_7.feature.layer.mbHoverPopup=_8;
+_8.events.register("mouseover",_8,_8.hide);
+}
+};
+this.onMouseout=function(_9){
+var _a=_9.model.getParam("olFeatureOut");
+if(_a&&_a.layer&&_a.layer.mbHoverPopup){
+_a.layer.mbHoverPopup.destroy();
+_a.layer.mbHoverPopup=null;
+}
+};
+this.createPopup=function(_b,_c,_d){
+var _e=_c.feature;
+var _f=_b.model.doc.selectSingleNode("//*[@fid='"+_e.fid+"']");
+var _10=null;
+if(_f){
+_10=_f.getAttribute("sourceModel");
+}
+var _11=null;
+if(_10&&config.objects[_10].config&&config.objects[_10].config[_b.id]){
+_11=config.objects[_10].config[_b.id];
+}else{
+_11=_b.config;
+}
+_11.stylesheet.setParameter("fid",_e.fid);
+var _12=_e.layer.map.getLonLatFromPixel(_c.xy);
+var _13=new Mapbuilder.Popup(null,_12,new OpenLayers.Size(_11.width,_11.height),new XMLSerializer().serializeToString(_11.stylesheet.transformNodeToObject(_11.model.doc)).replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&"),null,_d==false);
+_13.setOpacity(_11.opacity);
+_13.setBackgroundColor(_11.backgroundColor);
+_13.setBorder(_11.border);
+var _14=_e.layer.map.getExtent().determineQuadrant(_12);
+var _15=_14.charAt(1)=="r"?-5:5;
+var _16=_14.charAt(0)=="t"?5:-5;
+_13.anchor={size:new OpenLayers.Size(0,0),offset:new OpenLayers.Pixel(_15,_16)};
+_e.layer.map.addPopup(_13,true);
+return _13;
+};
+}
+Mapbuilder.Popup=OpenLayers.Class(OpenLayers.Popup.Anchored,{initialize:function(id,_18,_19,_1a,_1b,_1c,_1d){
+OpenLayers.Popup.Anchored.prototype.initialize.apply(this,arguments);
+this.contentDiv.style.overflow="hidden";
+},setSize:function(_1e){
+if(_1e!=undefined){
+this.size=_1e;
+}
+if(this.div!=null){
+this.div.style.width=this.size.w+"px";
+this.div.style.height=this.size.h+"px";
+}
+if(this.contentDiv!=null){
+this.contentDiv.style.width=this.size.w+"px";
+this.contentDiv.style.height=this.size.h+"px";
+}
+if((this.lonlat)&&(this.map)){
+var px=this.map.getLayerPxFromLonLat(this.lonlat);
+this.moveTo(px);
+}
+},addCloseBox:function(_20){
+var _21=new OpenLayers.Size(17,17);
+var img=config.skinDir+"/openlayers/img/close.gif";
+this.closeDiv=OpenLayers.Util.createAlphaImageDiv(this.id+"_close",null,_21,img);
+this.closeDiv.style.right=this.padding+"px";
+this.closeDiv.style.top=this.padding+"px";
+this.groupDiv.appendChild(this.closeDiv);
+var _23=_20||function(e){
+this.hide();
+OpenLayers.Event.stop(e);
+};
+OpenLayers.Event.observe(this.closeDiv,"click",OpenLayers.Function.bindAsEventListener(_23,this));
+},CLASS_NAME:"Mapbuilder.Popup"});
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+function GmlRendererBase(_1,_2){
+WidgetBase.apply(this,new Array(_1,_2));
+this.featureSRS=this.getProperty("mb:featureSRS");
+this.hoverCursorNode=this.getProperty("mb:hoverCursor","pointer");
+this.sldModelNode=_1.selectSingleNode("mb:sldModel");
+this.defaultStyleName=this.getProperty("mb:defaultStyleName","default");
+this.selectStyleName=this.getProperty("mb:selectStyleName","selected");
+this.config=new Object({model:_2,hoverCursor:this.hoverCursor,sldModelNode:this.sldModelNode,defaultStyleName:this.defaultStyleName,selectStyleName:this.selectStyleName,featureSRS:this.featureSRS});
+}
+
+mapbuilder.loadScript(baseDir+"/widget/GmlRendererBase.js");
+function GmlRendererConfig(_1,_2){
+GmlRendererBase.apply(this,new Array(_1,_2));
+var _3=this.getProperty("mb:targetWidget");
+this.init=function(_4){
+if(_3){
+if(!_2.config){
+_2.config={};
+}
+_2.config[_3]=_4.config;
+}
+};
+_2.addListener("init",this.init,this);
+}
+
+mapbuilder.loadScript(baseDir+"/widget/GmlRendererBase.js");
+function GmlRendererOL(_1,_2){
+GmlRendererBase.apply(this,new Array(_1,_2));
+var _3=OpenLayers.Class(OpenLayers.Layer.GML,{loadGML:function(){
+if(!this.loaded){
+var _4=new OpenLayers.Format.GML();
+try{
+this.proj=this.projection;
+this.addFeatures(_4.read(this.mbWidget.renderDoc));
+this.loaded=true;
+}
+catch(e){
+alert(mbGetMessage("documentParseError"),new XMLSerializer().serializeToString(this.mbWidget.renderDoc));
+}
+}
+},calculateInRange:function(){
+return true;
+},destroyFeatures:function(){
+var _5=this.features;
+var _6=[];
+var _7;
+for(var i=0;i<_5.length;i++){
+_7=_5[i];
+_7.mbWidgetConfig=null;
+if(!_7.geometry){
+_6.push(_7);
+}
+}
+this.removeFeatures(_6);
+for(var i=0;i<_6.length;i++){
+_6[i].destroy();
+}
+OpenLayers.Layer.GML.prototype.destroyFeatures.apply(this,arguments);
+},preFeatureInsert:function(_9){
+if(_9.geometry){
+var _a=this.mbWidget.model.doc.selectSingleNode("//*[@fid='"+_9.fid+"']");
+var _b=null;
+if(_a){
+_b=_a.getAttribute("sourceModel");
+}
+var _c=null;
+if(_b&&config.objects[_b].config&&config.objects[_b].config[this.mbWidget.id]){
+_c=config.objects[_b].config[this.mbWidget.id];
+}else{
+_c=this.mbWidget.config;
+}
+_9.mbWidgetConfig=_c;
+if(!_c.sourceSRS){
+if(_c.featureSRS){
+_c.sourceSRS=new OpenLayers.Projection(_c.featureSRS);
+}else{
+_c.sourceSRS=null;
+}
+}
+if(_c.sourceSRS){
+this.convertPoints(_9.geometry,_c.sourceSRS);
+}
+}
+},drawFeature:function(_d,_e){
+var _f=_d.mbWidgetConfig;
+if(_f){
+_d.style=null;
+if(_f.defaultStyle&&_e!="select"){
+_d.style=_f.defaultStyle.createSymbolizer?_f.defaultStyle.createSymbolizer(_d):_f.defaultStyle;
+}
+if(_f&&_f.selectStyle){
+_d.mbSelectStyle=_f.selectStyle;
+}
+}
+OpenLayers.Layer.GML.prototype.drawFeature.apply(this,arguments);
+},convertPoints:function(_10,_11){
+if(_10.CLASS_NAME=="OpenLayers.Geometry.Point"){
+_10.transform(_11,this.proj);
+}else{
+for(var i=0;i<_10.components.length;++i){
+this.convertPoints(_10.components[i],_11);
+}
+}
+},getFeatureByFid:function(fid){
+if(!this.features){
+return null;
+}
+for(var i=0;i<this.features.length;++i){
+if(this.features[i].fid==fid){
+return this.features[i];
+}
+}
+},destroy:function(){
+this.mbWidget=null;
+OpenLayers.Layer.Vector.prototype.destroy.apply(this,arguments);
+}});
+this.olLayer=null;
+this.defaultStyle=null;
+this.selectStyle=null;
+this.hiddenFeatures=new Array();
+this.containerNodeId=this.htmlTagId;
+_2.containerModel=this.targetModel;
+if(!this.stylesheet){
+var _15=_1.selectSingleNode("mb:stylesheet");
+if(_15){
+this.stylesheet=new XslProcessor(getNodeValue(_15),_2.namespace);
+this.stylesheet.setParameter("proxyUrl",config.proxyUrl);
+}
+}
+this.hoverCursor=this.getProperty("mb:hoverCursor","pointer");
+this.paint=function(_16){
+if(_16.targetModel.map){
+if(_16.olLayer){
+_16.model.setParam("gmlRendererLayer",null);
+}
+_16.renderDoc=_16.stylesheet?_16.stylesheet.transformNodeToObject(_16.model.doc):_16.model.doc;
+if(!_16.renderDoc){
+return;
+}
+_16.map=_16.targetModel.map;
+var _17=[_16.model];
+if(_16.model.mergeModels){
+for(var i=0;i<_16.model.mergeModels.length;i++){
+_17.push(_16.model.mergeModels[i]);
+}
+}
+for(var i=0;i<_17.length;i++){
+var _19=config.objects[_17[i].id].config?config.objects[_17[i].id].config[_16.id]:null;
+if(!_19){
+_19=_16.config;
+}
+if(_19.sldModelNode){
+var _1a=config.objects[getNodeValue(_19.sldModelNode)];
+if(_1a){
+_1a.addListener("loadModel",_16.paint,_16);
+if(!_1a.doc){
+return;
+}
+var _1b=_1a.getSldNode();
+if(_1a.sld){
+var _1c=_1a.sld.namedLayers[_16.id].userStyles;
+for(var j=0;j<_1c.length;++j){
+_1c[j].propertyStyles=_1c[j].findPropertyStyles();
+if(_1c[j].name==_19.defaultStyleName){
+_19.defaultStyle=_1c[j];
+}
+if(_1c[j].name==_19.selectStyleName){
+_19.selectStyle=_1c[j];
+}
+}
+if(_19.selectStyle){
+_19.selectStyle.defaultStyle.cursor=_16.hoverCursor;
+}
+}else{
+if(_1b){
+_19.defaultStyle=sld2OlStyle(_1b.selectSingleNode("//*[wmc:Name='"+_19.defaultStyleName+"']"));
+_19.selectStyle=sld2OlStyle(_1b.selectSingleNode("//*[wmc:Name='"+_19.selectStyleName+"']"));
+if(_19.selectStyle){
+_19.selectStyle.cursor=_16.hoverCursor;
+}
+}
+}
+}
+}
+}
+if(!_16.olLayer||!_16.olLayer.mbWidget){
+_16.olLayer=new _3(_16.id,null,{mbWidget:_16});
+_16.targetModel.map.addLayer(_16.olLayer);
+}else{
+_16.olLayer.loaded=false;
+_16.olLayer.destroyFeatures();
+_16.olLayer.loadGML();
+}
+_16.removeHiddenFeatures(_16);
+_16.model.setParam("gmlRendererLayer",_16.olLayer);
+}
+_16.targetModel.addListener("refresh",_16.paint,_16);
+};
+this.model.addListener("refresh",this.paint,this);
+this.hiddenListener=function(_1e,_1f){
+alert("hide/unhide "+_1f);
+};
+this.model.addListener("hidden",this.hiddenListener,this);
+this.hideFeature=function(_20,fid){
+if(!fid){
+fid=_20.model.getParam("hideFeature");
+}
+var _22=_20.olLayer.getFeatureByFid(fid);
+if(_22){
+_20.hiddenFeatures.push(fid);
+_22.mbHidden=true;
+_20.olLayer.renderer.eraseGeometry(_22.geometry);
+}
+};
+this.model.addListener("hideFeature",this.hideFeature,this);
+this.showFeature=function(_23,fid){
+if(!fid){
+fid=_23.model.getParam("showFeature");
+}
+var _25=_23.olLayer.getFeatureByFid(fid);
+if(_25){
+OpenLayers.Util.removeItem(_23.hiddenFeatures,fid);
+_25.mbHidden=false;
+_23.olLayer.drawFeature(_25);
+}
+};
+this.model.addListener("showFeature",this.showFeature,this);
+this.removeHiddenFeatures=function(_26){
+if(_26.olLayer){
+var _27=_26.hiddenFeatures.toString().split(/,/);
+_26.hiddenFeatures=new Array();
+for(var i=0;i<_27.length;i++){
+if(_27[i]){
+_26.hideFeature(_26,_27[i]);
+}
+}
+}
+};
+this.init=function(_29){
+var _2a=_1.selectSingleNode("mb:featureOnClick");
+if(_2a){
+var _2b=config.objects[getNodeValue(_2a)];
+_29.model.addListener("olFeatureSelect",_2b.onClick,_2b);
+}
+var _2c=_1.selectSingleNode("mb:featureOnHover");
+if(_2c){
+var _2d=config.objects[getNodeValue(_2c)];
+_29.model.addListener("olFeatureHover",_2d.onMouseover,_2d);
+_29.model.addListener("olFeatureOut",_2d.onMouseout,_2d);
+}
+_29.targetModel.addListener("aoi",_29.removeHiddenFeatures,_29);
+};
+this.model.addListener("init",this.init,this);
+this.model.removeListener("newModel",this.clearWidget,this);
+this.clearWidget=function(_2e){
+if(_2e.olLayer){
+_2e.olLayer.loaded=false;
+for(var i=0;i<_2e.olLayer.map.controls.length;i++){
+if(_2e.olLayer.map.controls[i].layer==_2e.olLayer){
+_2e.olLayer.map.controls[i].destroy();
+}
+}
+_2e.olLayer.destroy();
+_2e.olLayer=null;
+}
+};
+this.model.addListener("newModel",this.clearWidget,this);
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function FeatureList(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+this.setAttr=function(_3,_4,_5){
+_3.model.setXpathValue(_3.model,_4,_5);
+};
+}
+
+js: Couldn't open file "/home/cameron/tmp/mapbuilder/build/../compressBuild/lib/tool/AoiMouseHandler.js".
+mapbuilder.loadScript(baseDir+"/tool/ToolBase.js");
+function Caps2Context(_1,_2){
+ToolBase.apply(this,new Array(_1,_2));
+var _3=baseDir+"/tool/xsl/Caps2Context.xsl";
+this.stylesheet=new XslProcessor(_3,_2.namespace);
+for(var j=0;j<_1.childNodes.length;j++){
+if(getNodeValue(_1.childNodes[j])){
+this.stylesheet.setParameter(_1.childNodes[j].nodeName,getNodeValue(_1.childNodes[j]));
+}
+}
+this.mapAllLayers=function(_5){
+_5.stylesheet.setParameter("selectedLayer","");
+var _6=_5.stylesheet.transformNodeToObject(_5.model.doc);
+_5.targetModel.setParam("newModel",null);
+_5.targetModel.url="";
+_5.targetModel.doc=_6;
+_5.targetModel.finishLoading();
+};
+this.model.addListener("mapAllLayers",this.mapAllLayers,this);
+this.mapSingleLayer=function(_7,_8){
+_7.stylesheet.setParameter("selectedLayer",_8);
+var _9=_7.stylesheet.transformNodeToObject(_7.model.doc);
+_7.targetModel.setParam("newModel",null);
+_7.targetModel.url="";
+_7.targetModel.doc=_9;
+_7.targetModel.finishLoading();
+};
+this.model.addListener("mapLayer",this.mapSingleLayer,this);
+}
+
+function ToolBase(_1,_2){
+this.model=_2;
+this.toolNode=_1;
+var id=_1.selectSingleNode("@id");
+if(id){
+this.id=getNodeValue(id);
+}else{
+this.id="MbTool_"+mbIds.getId();
+}
+this.initTargetModel=function(_4){
+var _5=_4.toolNode.selectSingleNode("mb:targetModel");
+if(_5){
+var _6=getNodeValue(_5);
+_4.targetModel=window.config.objects[_6];
+if(!_4.targetModel){
+alert(mbGetMessage("noTargetModelTool",_6,_4.id));
+}
+}else{
+_4.targetModel=_4.model;
+}
+};
+this.model.addListener("init",this.initTargetModel,this);
+this.initMouseHandler=function(_7){
+var _8=_7.toolNode.selectSingleNode("mb:mouseHandler");
+if(_8){
+_7.mouseHandler=window.config.objects[getNodeValue(_8)];
+if(!_7.mouseHandler){
+alert(mbGetMessage("noMouseHandlerTool",getNodeValue(_8),_7.id));
+}
+}
+};
+this.model.addListener("init",this.initMouseHandler,this);
+this.getProperty=function(_9,_a){
+return Mapbuilder.getProperty(_1,_9,_a);
+};
+this.enabled=Mapbuilder.parseBoolean(this.getProperty("mb:enabled",true));
+}
+
+mapbuilder.loadScript(baseDir+"/tool/ToolBase.js");
+function EditContext(_1,_2){
+ToolBase.apply(this,new Array(_1,_2));
+var _3=baseDir+"/tool/xsl/wmc_AddResource.xsl";
+this.stylesheet=new XslProcessor(_3);
+for(var j=0;j<_1.childNodes.length;j++){
+if(getNodeValue(_1.childNodes[j])){
+this.stylesheet.setParameter(_1.childNodes[j].nodeName,getNodeValue(_1.childNodes[j]));
+}
+}
+this.addNodeToModel=function(_5){
+var _6=this.model.getFeatureNode(_5);
+this.stylesheet.setParameter("version",this.model.getVersion());
+this.stylesheet.setParameter("serverUrl",this.model.getServerUrl("GetMap","get"));
+this.stylesheet.setParameter("serverTitle",this.model.getServerTitle());
+this.stylesheet.setParameter("serviceName","wms");
+this.stylesheet.setParameter("format",this.model.getImageFormat());
+var _7=this.stylesheet.transformNodeToObject(_6);
+Sarissa.setXpathNamespaces(_7,this.targetModel.namespace);
+mbDebugMessage(this,_7.xml);
+this.targetModel.setParam("addLayer",_7.documentElement);
+};
+this.addLayerFromCat=function(_8){
+var _9=this.model.getFeatureNode(_8);
+var _a=this.stylesheet.transformNodeToObject(_9);
+Sarissa.setXpathNamespaces(_a,this.targetModel.namespace);
+mbDebugMessage(this,_a.xml);
+this.targetModel.setParam("addLayer",_a.documentElement);
+};
+this.moveNode=function(_b,_c){
+};
+this.model.addListener("MoveNode",this.addNodeToModel,this);
+this.deleteNode=function(_d,_e){
+};
+this.model.addListener("DeleteNode",this.addNodeToModel,this);
+}
+
+var Rearth=6378137;
+var degToMeter=Rearth*2*Math.PI/360;
+var mbScaleFactor=3571.428;
+var minScale=1000;
+var maxScale=200000;
+function Extent(_1,_2){
+this.model=_1;
+this.id=_1.id+"_MbExtent"+mbIds.getId();
+this.size=new Array();
+this.res=new Array();
+this.zoomBy=4;
+this.getBbox=function(){
+var _3=this.model.getBoundingBox();
+return _3;
+};
+this.setBbox=function(_4){
+size=this.getSize();
+res=Math.max((_4[2]-_4[0])/size[0],(_4[3]-_4[1])/size[1]);
+scale=this.getFixedScale(res);
+center=new Array((_4[1]-_4[3])/2,(_4[0]-_4[2])/2);
+half=new Array(size[0]/2,size[1]/2);
+_4=new Array(center[0]-half[0]*scale,center[1]-half[1]*scale,center[0]+half[0]*scale,center[1]+half[1]*scale);
+this.model.setBoundingBox(_4);
+};
+this.getSize=function(){
+size=new Array();
+size[0]=this.model.getWindowWidth();
+size[1]=this.model.getWindowHeight();
+return size;
+};
+this.setSize=function(_5){
+this.model.setWindowWidth(_5[0]);
+this.model.setWindowHeight(_5[1]);
+};
+this.getFixedScale=function(_6){
+if(this.zoomLevels){
+if(!_6){
+this.setResolution(new Array(this.model.getWindowWidth(),this.model.getWindowHeight()));
+_6=Math.max(this.res[0],this.res[1]);
+}
+var _7="function sort(a,b){return b-a}";
+var _8=eval(_7);
+var _9=this.zoomLevels.sort(_8);
+var i=0;
+while(_9[i]>=_6){
+i++;
+}
+if(i==0){
+i=1;
+}
+this.fixedScale=_9[i-1];
+}else{
+this.fixedScale=Math.max(this.res[0],this.res[1]);
+}
+return this.fixedScale;
+};
+this.setZoomLevels=function(_b,_c){
+if(_b){
+this.zoomLevels=_c;
+}else{
+this.zoomLevels=null;
+}
+};
+this.checkBbox=function(){
+var _d=this.getCenter();
+var _e=new Array(this.size[0]/2,this.size[1]/2);
+var _f=this.getFixedScale();
+this.lr=new Array(_d[0]+_e[0]*_f,_d[1]-_e[1]*_f);
+this.ul=new Array(_d[0]-_e[0]*_f,_d[1]+_e[1]*_f);
+};
+this.getCenter=function(){
+return new Array((this.ul[0]+this.lr[0])/2,(this.ul[1]+this.lr[1])/2);
+};
+this.getXY=function(pl){
+latlng=new Array(this.ul[0]+pl[0]*this.res[0],this.ul[1]-pl[1]*this.res[1]);
+return latlng;
+};
+this.getPL=function(xy){
+var p=Math.floor((xy[0]-this.ul[0])/this.res[0]);
+var l=Math.floor((this.ul[1]-xy[1])/this.res[1]);
+return new Array(p,l);
+};
+this.centerAt=function(_14,_15,_16){
+var _17=new Array(this.size[0]/2,this.size[1]/2);
+if(this.zoomLevels){
+_15=this.getFixedScale(_15);
+}
+this.lr=new Array(_14[0]+_17[0]*_15,_14[1]-_17[1]*_15);
+this.ul=new Array(_14[0]-_17[0]*_15,_14[1]+_17[1]*_15);
+if(_16){
+var _18=0;
+if(this.lr[0]>ContextExtent.lr[0]){
+_18=ContextExtent.lr[0]-this.lr[0];
+}
+if(this.ul[0]<ContextExtent.ul[0]){
+_18=ContextExtent.ul[0]-this.ul[0];
+}
+this.lr[0]+=_18;
+this.ul[0]+=_18;
+var _19=0;
+if(this.lr[1]<ContextExtent.lr[1]){
+_19=ContextExtent.lr[1]-this.lr[1];
+}
+if(this.ul[1]>ContextExtent.ul[1]){
+_19=ContextExtent.ul[1]-this.ul[1];
+}
+this.lr[1]+=_19;
+this.ul[1]+=_19;
+}
+this.model.setBoundingBox(new Array(this.ul[0],this.lr[1],this.lr[0],this.ul[1]));
+this.setSize(_15);
+};
+this.zoomToBox=function(ul,lr){
+var _1c=new Array((ul[0]+lr[0])/2,(ul[1]+lr[1])/2);
+newres=Math.max((lr[0]-ul[0])/this.size[0],(ul[1]-lr[1])/this.size[1]);
+this.centerAt(_1c,newres);
+};
+this.setSize=function(res){
+this.res[0]=this.res[1]=res;
+this.size[0]=(this.lr[0]-this.ul[0])/this.res[0];
+this.size[1]=(this.ul[1]-this.lr[1])/this.res[1];
+this.width=Math.ceil(this.size[0]);
+this.height=Math.ceil(this.size[1]);
+};
+this.setResolution=function(_1e){
+this.size[0]=_1e[0];
+this.size[1]=_1e[1];
+this.res[0]=(this.lr[0]-this.ul[0])/this.size[0];
+this.res[1]=(this.ul[1]-this.lr[1])/this.size[1];
+this.width=Math.ceil(this.size[0]);
+this.height=Math.ceil(this.size[1]);
+};
+this.getScale=function(){
+var _1f=null;
+switch(this.model.getSRS()){
+case "EPSG:GMAPS":
+break;
+case "EPSG:4326":
+case "EPSG:4269":
+_1f=this.res[0]*degToMeter;
+break;
+default:
+_1f=this.res[0];
+break;
+}
+return mbScaleFactor*_1f;
+};
+this.setScale=function(_20){
+var _21=null;
+switch(this.model.getSRS()){
+case "EPSG:4326":
+case "EPSG:4269":
+_21=_20/(mbScaleFactor*degToMeter);
+break;
+default:
+_21=_20/mbScaleFactor;
+break;
+}
+this.centerAt(this.getCenter(),_21);
+};
+this.init=function(_22,_23){
+var _24=_22.model.getBoundingBox();
+_22.ul=new Array(_24[0],_24[3]);
+_22.lr=new Array(_24[2],_24[1]);
+_22.setResolution(new Array(_22.model.getWindowWidth(),_22.model.getWindowHeight()));
+_22.checkBbox();
+};
+if(_2){
+this.init(this,_2);
+}
+this.firstInit=function(_25,_26){
+_25.init(_25,_26);
+};
+}
+
+mapbuilder.loadScript(baseDir+"/tool/ToolBase.js");
+function History(_1,_2){
+ToolBase.apply(this,new Array(_1,_2));
+this.init=function(_3){
+_3.model.active=-1;
+_3.model.historyList=new Array();
+_3.add(_3);
+};
+this.add=function(_4){
+if(_4.model.active!=null){
+var _5=_4.model.active;
+var _6=_4.model.historyList;
+var _7=_4.targetModel.map.getExtent().getCenterLonLat();
+var _8=_4.targetModel.map.getScale()-1;
+if(_5>-1){
+if(_7.toString()==_6[_5].center.toString()&&_8==_6[_5].scale){
+return;
+}
+}
+var _9=new Object({center:_7,scale:_8});
+if(_5==(_6.length-1)){
+_6.push(_9);
+_5=_5+1;
+}else{
+_5=_5+1;
+_6=_6.slice(0,_5);
+_6.push(_9);
+}
+_4.model.active=_5;
+_4.model.historyList=_6;
+}
+};
+this.back=function(_a){
+var _b=_a.model.active;
+if(_b<1){
+_a.model.previousExtent=null;
+alert(mbGetMessage("cantGoBack"));
+}else{
+_b=_b-1;
+_a.model.active=_b;
+_a.model.previousExtent=_a.model.historyList[_b];
+}
+};
+this.forward=function(_c){
+var _d=_c.model.active;
+if(_d<(_c.model.historyList.length-1)){
+_d=_d+1;
+_c.model.active=_d;
+_c.model.nextExtent=_c.model.historyList[_d];
+}else{
+_c.model.nextExtent=null;
+alert(mbGetMessage("cantGoForward"));
+}
+};
+this.stop=function(_e){
+_e.model.removeListener("bbox",_e.add,_e);
+};
+this.start=function(_f){
+_f.model.addListener("bbox",_f.add,_f);
+};
+this.initReset=function(_10){
+_10.targetModel.addListener("bbox",_10.add,_10);
+_10.targetModel.addListener("loadModel",_10.init,_10);
+};
+this.model.addListener("historyBack",this.back,this);
+this.model.addListener("historyForward",this.forward,this);
+this.model.addListener("historyStart",this.start,this);
+this.model.addListener("historyStop",this.stop,this);
+this.model.addListener("init",this.initReset,this);
+}
+
+mapbuilder.loadScript(baseDir+"/tool/ToolBase.js");
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
+function FeatureSelectHandler(_1,_2){
+ToolBase.apply(this,new Array(_1,_2));
+this.map=null;
+this.sourceModels=new Array();
+this.configInit=function(_3){
+_3.targetModel.addListener("loadModel",_3.contextInit,_3);
+};
+this.model.addListener("init",this.configInit,this);
+this.clear=function(_4){
+if(_4.control){
+_4.map=null;
+_4.control.destroy();
+_4.control=null;
+}
+};
+this.model.addListener("newModel",this.clear,this);
+this.contextInit=function(_5){
+_5.targetModel.addListener("newModel",_5.clear,_5);
+_5.model.addListener("gmlRendererLayer",_5.init,_5);
+if(_5.targetModel.map&&_5.model.getParam("gmlRendererLayer")&&!_5.control){
+_5.init(_5);
+}
+};
+this.init=function(_6){
+var _7;
+if(_6.model.mergeModels){
+_6.sourceModels=_6.model.mergeModels;
+}else{
+_6.sourceModels.push(_6.model);
+}
+for(var i=0;i<_6.sourceModels.length;i++){
+_6.sourceModels[i].addListener("highlightFeature",_6.highlight,_6);
+_6.sourceModels[i].addListener("dehighlightFeature",_6.dehighlight,_6);
+}
+var _9=_6.model.getParam("gmlRendererLayer");
+if(_6.map==_6.targetModel.map&&_6.control&&!_9){
+_6.map.removeControl(_6.control);
+_6.control.destroy();
+_6.control=null;
+}else{
+if(_9){
+if(!_6.control){
+_6.control=new OpenLayers.Control.SelectFeature(_9,{hover:true,onSelect:_6.onSelect,onUnselect:_6.onUnselect,mbFeatureSelectHandler:_6,select:function(_a){
+_a.mbFeatureSelectHandler=this.mbFeatureSelectHandler;
+if(_a.mbSelectStyle){
+this.selectStyle=_a.mbSelectStyle.createSymbolizer?_a.mbSelectStyle.createSymbolizer(_a):_a.mbSelectStyle;
+}
+OpenLayers.Control.SelectFeature.prototype.select.apply(this,arguments);
+}});
+_6.map=_6.targetModel.map;
+_6.map.addControl(_6.control);
+}
+_6.control.activate();
+}
+}
+};
+var _b=function(){
+var _c=this.mbFeatureSelectHandler;
+if(this.layer.events&&_c){
+this.layer.events.unregister("mousedown",this,_c.onClick);
+this.layer.events.unregister("mousemove",this,_c.onHover);
+}
+this.mbFeatureSelectHandler=null;
+OpenLayers.Feature.Vector.prototype.destroy.apply(this,arguments);
+};
+this.onSelect=function(_d){
+if(!_d){
+return;
+}
+var _e=this.mbFeatureSelectHandler;
+for(var i=0;i<_e.sourceModels.length;i++){
+_e.sourceModels[i].setParam("mouseoverFeature",_d.fid);
+}
+if(_d.layer.events&&!_d.mbNoMouseEvent){
+_d.destroy=_b;
+_d.layer.events.registerPriority("mousedown",_d,_e.onClick);
+_d.layer.events.registerPriority("mousemove",_d,_e.onHover);
+}else{
+_d.mbNoMouseEvent=null;
+}
+};
+this.onUnselect=function(_10){
+if(!_10){
+return;
+}
+var _11=this.mbFeatureSelectHandler||_10.mbFeatureSelectHandler;
+for(var i=0;i<_11.sourceModels.length;i++){
+_11.sourceModels[i].setParam("mouseoutFeature",_10.fid);
+}
+_11.model.setParam("olFeatureOut",_10);
+if(_10.layer.events){
+_10.layer.events.unregister("mousedown",_10,_11.onClick);
+}
+};
+this.onClick=function(evt){
+evt.feature=this;
+var _14=this.mbFeatureSelectHandler;
+_14.model.setParam("olFeatureSelect",evt);
+OpenLayers.Event.stop(evt);
+};
+this.onHover=function(evt){
+var _16=this.mbFeatureSelectHandler;
+if(this.layer&&this.layer.events){
+this.layer.events.unregister("mousemove",this,_16.onHover);
+}
+evt.feature=this;
+_16.model.setParam("olFeatureHover",evt);
+};
+this.highlight=function(_17,fid){
+var _19,feature;
+var _1a=_17.model.getParam("gmlRendererLayer");
+for(var i=0;i<_17.sourceModels.length;i++){
+_19=_17.sourceModels[i];
+if(!_1a){
+return;
+}
+if(!fid){
+fid=_19.getParam("highlightFeature");
+}
+feature=_1a.getFeatureByFid(fid);
+if(feature&&!feature.mbHidden){
+feature.mbNoMouseEvent=true;
+_17.control.select(feature);
+}
+}
+};
+this.dehighlight=function(_1c,fid){
+var _1e,feature;
+var _1f=_1c.model.getParam("gmlRendererLayer");
+for(var i=0;i<_1c.sourceModels.length;i++){
+_1e=_1c.sourceModels[i];
+if(!_1f){
+return;
+}
+if(!fid){
+fid=_1c.model.getParam("dehighlightFeature");
+}
+feature=_1f.getFeatureByFid(fid);
+if(feature&&!feature.mbHidden){
+_1c.control.unselect(feature);
+}
+}
+};
+}
+
+mapbuilder.loadScript(baseDir+"/tool/ToolBase.js");
+function MergeModels(_1,_2){
+ToolBase.apply(this,new Array(_1,_2));
+this.template=null;
+this.init=function(_3){
+_3.model.mergeModels=new Array();
+var _4=_1.selectSingleNode("mb:merges");
+if(_4){
+var _5=_4.childNodes;
+for(var i=0;i<_5.length;i++){
+if(_5[i].firstChild){
+_3.addModel(_3,config.objects[getNodeValue(_5[i])]);
+}
+}
+}
+};
+_2.addListener("init",this.init,this);
+this.getTemplate=function(_7){
+_7.template=_7.model.doc?_7.model.doc.cloneNode(true):null;
+if(_7.template){
+_7.model.removeListener("loadModel",_7.getTemplate,_7);
+_7.buildModel(_7);
+}
+};
+_2.addListener("loadModel",this.getTemplate,this);
+this.addModel=function(_8,_9){
+_8.model.mergeModels.push(_9);
+if(_9.doc){
+_8.mergeModel(_8,_9.doc);
+}
+_9.addListener("refresh",_8.buildModel,_8);
+};
+this.mergeModel=function(_a,_b){
+var _c=_b.doc?_b.doc.cloneNode(true):null;
+var _d=_c?_c.selectNodes("//*[@fid]"):null;
+if(!_d){
+return;
+}
+var _e;
+for(var i=0;i<_d.length;i++){
+_e=_d[i];
+if(_e.nodeName){
+_e.setAttribute("sourceModel",_b.id);
+}
+}
+Sarissa.copyChildNodes(_c.documentElement,_a.model.doc.documentElement,true);
+};
+this.buildModel=function(_10){
+if(!_10.template){
+return;
+}
+_10.model.callListeners("newModel");
+_10.model.doc=_10.template.cloneNode(true);
+for(var i=0;i<_10.model.mergeModels.length;i++){
+_10.mergeModel(_10,_10.model.mergeModels[i]);
+}
+_10.model.callListeners("loadModel");
+};
+}
+
+mapbuilder.loadScript(baseDir+"/tool/ToolBase.js");
+function MovieLoop(_1,_2){
+ToolBase.apply(this,new Array(_1,_2));
+this.frameIncrement=1;
+this.model.setParam("firstFrame",0);
+this.timestampIndex=0;
+window.movieLoop=this;
+this.isRunning=false;
+this.frameIsLoading=false;
+this.delay=1000/this.getProperty("mb:framesPerSecond",10);
+this.maxFrames=this.getProperty("mb:maxFrames",30);
+this.setFrame=function(_3){
+var _4=this.model.timestampList;
+var ts;
+if(this.timestampIndex!=null){
+var ts=_4.childNodes[this.timestampIndex];
+if(ts){
+ts.setAttribute("current","0");
+this.model.setParam("timestamp",this.timestampIndex);
+}
+}
+var _6=this.model.getParam("firstFrame");
+var _7=this.model.getParam("lastFrame");
+if(_3>_7){
+_3=_6;
+}
+if(_3<_6){
+_3=_7;
+}
+this.timestampIndex=_3;
+ts=_4.childNodes[this.timestampIndex];
+ts.setAttribute("current","1");
+this.model.setParam("timestamp",this.timestampIndex);
+};
+this.nextFrame=function(_8){
+var _9=window.movieLoop;
+var _a=_9.frameIncrement;
+if(_8){
+_a=_8;
+}
+if(!this.frameIsLoading){
+_9.setFrame(_9.timestampIndex+_a);
+}
+};
+this.setFrameLimits=function(_b){
+var _c=_b.model.timestampList;
+var _d=_b.model.getParam("firstFrame");
+var _e=_d+_b.maxFrames;
+if(_e>_c.childNodes.length){
+_e=_c.childNodes.length-1;
+}
+_b.model.setParam("lastFrame",_e);
+_c.childNodes[_d].setAttribute("current","1");
+};
+this.model.addFirstListener("refresh",this.setFrameLimits,this);
+this.model.addListener("firstFrame",this.setFrameLimits,this);
+this.reset=function(_f){
+_f.pause();
+_f.setFrame(_f.model.getParam("firstFrame"));
+};
+this.model.addListener("loadModel",this.reset,this);
+this.init=function(_10){
+if(!_10.initialized){
+_10.initialized=true;
+_10.reset(_10);
+}
+};
+this.model.addListener("bbox",this.init,this);
+this.uninit=function(_11){
+_11.initialized=false;
+};
+this.model.addListener("newModel",this.uninit,this);
+this.play=function(){
+if(!this.isRunning){
+this.movieTimer=setInterval("window.movieLoop.nextFrame()",this.delay);
+this.isRunning=true;
+}
+};
+this.pause=function(){
+this.isRunning=false;
+clearInterval(this.movieTimer);
+};
+this.stop=function(){
+this.pause();
+this.reset(this);
+};
+this.stopListener=function(_12){
+_12.stop();
+};
+this.model.addListener("stopLoop",this.stopListener,this);
+}
+
+mapbuilder.loadScript(baseDir+"/tool/ToolBase.js");
+function WebServiceRequest(_1,_2){
+ToolBase.apply(this,new Array(_1,_2));
+this.requestName=this.getProperty("mb:requestName");
+this.requestFilter=this.getProperty("mb:requestFilter");
+var _3=_1.selectSingleNode("mb:stylesheet");
+_3=_3?getNodeValue(_3):baseDir+"/tool/xsl/"+this.requestName.replace(/:/,"_")+".xsl";
+this.requestStylesheet=new XslProcessor(_3);
+for(var j=0;j<_1.childNodes.length;j++){
+if(getNodeValue(_1.childNodes[j])){
+this.requestStylesheet.setParameter(_1.childNodes[j].nodeName,getNodeValue(_1.childNodes[j]));
+}
+}
+this.model.addListener("init",this.init,this);
+this.model.addListener(this.requestName.replace(/:/,"_"),this.doRequest,this);
+}
+WebServiceRequest.prototype.createHttpPayload=function(_5){
+if(this.debug){
+mbDebugMessage(this,"source:"+(new XMLSerializer()).serializeToString(_5));
+}
+var _6=new Object();
+_6.method=this.targetModel.method;
+this.requestStylesheet.setParameter("httpMethod",_6.method);
+this.requestStylesheet.setParameter("version",this.model.getVersion(_5));
+if(this.requestFilter){
+var _7=config.objects[this.requestFilter];
+this.requestStylesheet.setParameter("filter",escape((new XMLSerializer()).serializeToString(_7.doc).replace(/[\n\f\r\t]/g,"")));
+if(this.debug){
+mbDebugMessage(this,(new XMLSerializer()).serializeToString(_7.doc));
+}
+}
+_6.postData=this.requestStylesheet.transformNodeToObject(_5);
+if(this.debug){
+mbDebugMessage(this,"request data:"+(new XMLSerializer()).serializeToString(_6.postData));
+if(config.serializeUrl){
+var _8=postLoad(config.serializeUrl,_6.postData);
+}
+}
+_6.url=this.model.getServerUrl(this.requestName,_6.method,_5);
+if(_6.method.toLowerCase()=="get"){
+_6.postData.setProperty("SelectionLanguage","XPath");
+Sarissa.setXpathNamespaces(_6.postData,"xmlns:mb='http://mapbuilder.sourceforge.net/mapbuilder'");
+var _9=_6.postData.selectSingleNode("//mb:QueryString");
+if(_6.url.indexOf("?")<0){
+_6.url+="?";
+}else{
+_6.url+="&";
+}
+_6.url+=getNodeValue(_9);
+_6.postData=null;
+}
+mbDebugMessage(this,"URL:"+_6.url);
+return _6;
+};
+WebServiceRequest.prototype.doRequest=function(_a,_b){
+_a.targetModel.featureName=_b;
+var _c=_a.model.getFeatureNode(_b);
+if(!_c){
+alert(mbGetMessage("featureNotFoundWebServiceRequest",_b));
+return;
+}
+if(_a.model.setRequestParameters){
+_a.model.setRequestParameters(_b,_a.requestStylesheet);
+}
+var _d=_a.createHttpPayload(_c);
+_a.targetModel.newRequest(_a.targetModel,_d);
+};
+WebServiceRequest.prototype.setAoiParameters=function(_e){
+if(_e.containerModel){
+var _f=null;
+var _10="EPSG:4326";
+var _11=_e.containerModel.getBoundingBox();
+var _10=_e.containerModel.getSRS();
+_e.requestStylesheet.setParameter("bBoxMinX",_11[0]);
+_e.requestStylesheet.setParameter("bBoxMinY",_11[1]);
+_e.requestStylesheet.setParameter("bBoxMaxX",_11[2]);
+_e.requestStylesheet.setParameter("bBoxMaxY",_11[3]);
+_e.requestStylesheet.setParameter("srs",_10);
+_e.requestStylesheet.setParameter("width",_e.containerModel.getWindowWidth());
+_e.requestStylesheet.setParameter("height",_e.containerModel.getWindowHeight());
+}
+};
+WebServiceRequest.prototype.init=function(_12){
+if(_12.targetModel.containerModel){
+_12.containerModel=_12.targetModel.containerModel;
+}else{
+if(_12.model.containerModel){
+_12.containerModel=_12.model.containerModel;
+}
+}
+if(_12.containerModel){
+_12.containerModel.addListener("aoi",_12.setAoiParameters,_12);
+_12.containerModel.addListener("bbox",_12.setAoiParameters,_12);
+_12.containerModel.addListener("selectedLayer",_12.selectFeature,_12);
+_12.containerModel.addListener("loadModel",_12.mapInit,_12);
+_12.containerModel.addListener("newModel",_12.clear,_12);
+}
+};
+WebServiceRequest.prototype.mapInit=function(_13){
+_13.containerModel.map.events.registerPriority("mouseup",_13,_13.setClickPosition);
+};
+WebServiceRequest.prototype.clear=function(_14){
+if(_14.containerModel.map&&_14.containerModel.map.events){
+_14.containerModel.map.events.unregister("mouseup",_14,_14.setClickPosition);
+}
+};
+WebServiceRequest.prototype.setClickPosition=function(e){
+this.targetModel.deleteTemplates();
+this.requestStylesheet.setParameter("xCoord",e.xy.x);
+this.requestStylesheet.setParameter("yCoord",e.xy.y);
+};
+WebServiceRequest.prototype.selectFeature=function(_16,_17){
+_16.requestStylesheet.setParameter("queryLayer",_17);
+};
+
+mapbuilder.loadScript(baseDir+"/tool/ToolBase.js");
+function ZoomToAoi(_1,_2){
+ToolBase.apply(this,new Array(_1,_2));
+this.initProj=function(_3){
+if(_3.model.doc&&_3.targetModel.doc){
+if(_3.model.getSRS()!=_3.targetModel.getSRS()){
+_3.model.proj=new OpenLayers.Projection(_3.model.getSRS());
+_3.targetModel.proj=new OpenLayers.Projection(_3.targetModel.getSRS());
+}
+}
+};
+this.setListeners=function(_4){
+_4.model.addListener("loadModel",_4.initProj,_4);
+_4.targetModel.addListener("loadModel",_4.initProj,_4);
+_4.initProj(_4);
+};
+this.model.addListener("loadModel",this.setListeners,this);
+this.showTargetAoi=function(_5){
+if(_5.targetModel.doc){
+var _6=_5.targetModel.getBoundingBox();
+var ul=new Array(_6[0],_6[3]);
+var lr=new Array(_6[2],_6[1]);
+if(_5.model.getSRS()!=_5.targetModel.getSRS()){
+var _9=new OpenLayers.Geometry.Point(ul[0],ul[1]);
+var _a=new OpenLayers.Geometry.Point(lr[0],lr[1]);
+_9.transform(_5.targetModel.proj,_5.model.proj);
+_a.transform(_5.targetModel.proj,_5.model.proj);
+ul=new Array(_9.x,_9.y);
+lr=new Array(_a.x,_a.y);
+}
+_5.model.setParam("aoi",new Array(ul,lr));
+}
+};
+this.firstInit=function(_b){
+_b.model.map.events.register("mouseup",_b,_b.mouseUpHandler);
+_b.targetModel.addListener("loadModel",_b.showTargetAoi,_b);
+_b.targetModel.addListener("bbox",_b.showTargetAoi,_b);
+_b.showTargetAoi(_b);
+};
+this.model.addListener("loadModel",this.firstInit,this);
+this.clear=function(_c){
+if(_c.model.map&&_c.model.map.events){
+_c.model.map.events.unregister("mouseup",_c,_c.mouseUpHandler);
+}
+};
+this.model.addListener("clearModel",this.clear,this);
+}
+ZoomToAoi.prototype.mouseUpHandler=function(e){
+var _e=this.model.getParam("aoi");
+var ul=_e[0];
+var lr=_e[1];
+if(this.model.getSRS()!=this.targetModel.getSRS()){
+var _11=new OpenLayers.Geometry.Point(ul[0],ul[1]);
+var _12=new OpenLayers.Geometry.Point(lr[0],lr[1]);
+_11.transform(this.model.proj,this.targetModel.proj);
+_12.transform(this.model.proj,this.targetModel.proj);
+ul=new Array(_11.x,_11.y);
+lr=new Array(_12.x,_12.y);
+}
+if((ul[0]==lr[0])&&(ul[1]==lr[1])){
+this.targetModel.map.setCenter(new OpenLayers.LonLat(ul[0],ul[1]));
+}else{
+this.targetModel.map.zoomToExtent(new OpenLayers.Bounds(ul[0],lr[1],lr[0],ul[1]));
+}
+};
+
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+function GetFeatureInfoWSR(_1,_2){
+ButtonBase.apply(this,new Array(_1,_2));
+this.controller=this.getProperty("mb:controller");
+this.tolerance=parseFloat(this.getProperty("mb:tolerance",3));
+this.createControl=function(_3){
+var _4=OpenLayers.Class(OpenLayers.Control,{CLASS_NAME:"mbControl.GetFeatureInfoWSR",type:OpenLayers.Control.TYPE_TOOL});
+return _4;
+};
+this.doSelect=function(_5,_6){
+if(_6){
+_5.targetModel.map.events.register("click",_5,_5.doOnClick);
+}else{
+_5.targetModel.map.events.unregister("click",_5,_5.doOnClick);
+}
+};
+this.doOnClick=function(e){
+objRef=this;
+if(!objRef.enabled){
+return;
+}
+var _8=config.objects[objRef.controller];
+var _9=new Array();
+var _a=objRef.targetModel.getParam("selectedLayer");
+var _b;
+if(!_a){
+_b=objRef.targetModel.getQueryableLayers();
+if(_b.length==0){
+alert(mbGetMessage("noQueryableLayers"));
+return;
+}
+}else{
+_b=[objRef.targetModel.getLayer(_a)];
+}
+var _c=e.xy.add(-objRef.tolerance,objRef.tolerance);
+var _d=e.xy.add(objRef.tolerance,-objRef.tolerance);
+var ll=objRef.targetModel.map.getLonLatFromPixel(_c);
+var ur=objRef.targetModel.map.getLonLatFromPixel(_d);
+for(var i=0;i<_b.length;++i){
+var _11=_b[i];
+var _12=Mapbuilder.getProperty(_11,"wmc:Name","");
+var _13=objRef.targetModel.getHidden(_12);
+if(_13==0){
+_8.requestStylesheet.setParameter("bBoxMinX",ll.lon);
+_8.requestStylesheet.setParameter("bBoxMinY",ll.lat);
+_8.requestStylesheet.setParameter("bBoxMaxX",ur.lon);
+_8.requestStylesheet.setParameter("bBoxMaxY",ur.lat);
+_8.requestStylesheet.setParameter("queryLayer",_12);
+objRef.targetModel.setParam(_8.requestName.replace(/:/,"_"),_12);
+}
+}
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+function Graticule(_1,_2){
+ButtonBase.apply(this,new Array(_1,_2));
+this.display=false;
+this.color=this.getProperty("mb:color");
+this.createControl=function(_3){
+var _4=OpenLayers.Class(OpenLayers.Control,{CLASS_NAME:"mbControl.Graticule",type:OpenLayers.Control.TYPE_TOGGLE,destroy:function(){
+OpenLayers.Control.prototype.destroy.apply(this,arguments);
+if(this.divs){
+for(i=this.divs.length;i>0;--i){
+this.divs[i]=null;
+}
+}
+this.div=null;
+this.mapContainer=null;
+},removeGraticules:function(){
+try{
+var i=0;
+var _6=this.mapContainer;
+if(this.divs){
+for(i=0;i<this.divs.length;i++){
+_6.removeChild(this.divs[i]);
+}
+}
+}
+catch(e){
+}
+},getBbox:function(){
+var _7=new Object();
+_7.ll=new Object();
+_7.ur=new Object();
+var ll=new OpenLayers.Geometry.Point(this.bbox[0],this.bbox[1]);
+var ur=new OpenLayers.Geometry.Point(this.bbox[2],this.bbox[3]);
+var _a=new OpenLayers.Projection("EPSG:4326");
+ll.transform(this.proj,_a);
+ur.transform(this.proj,_a);
+_7.ll.lon=ll.x;
+_7.ll.lat=ll.y;
+_7.ur.lon=ur.x;
+_7.ur.lat=ur.y;
+return _7;
+},gridIntervalMins:function(_b){
+var _b=_b/10;
+_b*=6000;
+_b=Math.ceil(_b)/100;
+if(_b<=0.06){
+_b=0.06;
+}else{
+if(_b<=0.12){
+_b=0.12;
+}else{
+if(_b<=0.3){
+_b=0.3;
+}else{
+if(_b<=0.6){
+_b=0.6;
+}else{
+if(_b<=1.2){
+_b=1.2;
+}else{
+if(_b<=3){
+_b=3;
+}else{
+if(_b<=6){
+_b=6;
+}else{
+if(_b<=12){
+_b=12;
+}else{
+if(_b<=30){
+_b=30;
+}else{
+if(_b<=60){
+_b=30;
+}else{
+if(_b<=(60*2)){
+_b=60*2;
+}else{
+if(_b<=(60*5)){
+_b=60*5;
+}else{
+if(_b<=(60*10)){
+_b=60*10;
+}else{
+if(_b<=(60*20)){
+_b=60*20;
+}else{
+if(_b<=(60*30)){
+_b=60*30;
+}else{
+_b=60*45;
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+return _b;
+},gridPrecision:function(_c){
+if(_c<0.01){
+return 3;
+}else{
+if(_c<0.1){
+return 2;
+}else{
+if(_c<1){
+return 1;
+}else{
+return 0;
+}
+}
+}
+},addGraticules:function(){
+this.removeGraticules();
+var _d=this.getBbox();
+var l=_d.ll.lon;
+var b=_d.ll.lat;
+var r=_d.ur.lon;
+var t=_d.ur.lat;
+if(b<-90){
+b=-90;
+}
+if(t>90){
+t=90;
+}
+if(l<-180){
+l=-180;
+}
+if(r>180){
+r=180;
+}
+if(l==r){
+l=-180;
+r=180;
+}
+if(t==b){
+b=-90;
+t=90;
+}
+var _12=this.gridIntervalMins(t-b);
+var _13;
+if(r>l){
+_13=this.gridIntervalMins(r-l);
+}else{
+_13=this.gridIntervalMins((180-l)+(r+180));
+}
+l=Math.floor(l*60/_13)*_13/60;
+b=Math.floor(b*60/_12)*_12/60;
+t=Math.ceil(t*60/_12)*_12/60;
+r=Math.ceil(r*60/_13)*_13/60;
+if(b<=-90){
+b=-90;
+}
+if(t>=90){
+t=90;
+}
+if(l<-180){
+l=-180;
+}
+if(r>180){
+r=180;
+}
+_12/=60;
+_13/=60;
+this.dLat=_12;
+this.dLon=_13;
+var _14=this.gridPrecision(_12);
+var _15=this.gridPrecision(_13);
+this.divs=new Array();
+var i=0;
+var pbl=this.fromLatLngToDivPixel(b,l);
+var ptr=this.fromLatLngToDivPixel(t,r);
+this.maxX=ptr.x;
+this.maxY=pbl.y;
+this.minX=pbl.x;
+this.minY=ptr.y;
+var x;
+var y=this.fromLatLngToDivPixel(b+_12+_12,l).y+2;
+var _1b=this.mapContainer;
+var lo=l;
+if(r<lo){
+r+=360;
+}
+while(lo<=r){
+var p=this.fromLatLngToDivPixel(b,lo);
+this.divs[i]=this.createVLine(p.x);
+this.divs[i].style.zIndex=this.div.style.zIndex;
+_1b.insertBefore(this.divs[i],null);
+i++;
+var d=document.createElement("DIV");
+x=p.x+3;
+d.style.position="absolute";
+d.style.left=x.toString()+"px";
+d.style.top=y.toString()+"px";
+d.style.color=this.color;
+d.style.fontFamily="Arial";
+d.style.fontSize="x-small";
+if(lo==0){
+d.innerHTML=(Math.abs(lo)).toFixed(_15);
+}else{
+if(lo<0){
+d.title=mbGetMessage("westWgs84");
+d.innerHTML=(Math.abs(lo)).toFixed(_15)+" W";
+}else{
+d.title=mbGetMessage("eastWgs84");
+d.innerHTML=(Math.abs(lo)).toFixed(_15)+" E";
+}
+}
+d.style.zIndex=this.div.style.zIndex;
+_1b.insertBefore(d,null);
+this.divs[i]=d;
+i++;
+lo+=_13;
+if(lo>180){
+r-=360;
+lo-=360;
+}
+}
+var j=0;
+x=this.fromLatLngToDivPixel(b,l+_13+_13).x+3;
+while(b<=t){
+var p=this.fromLatLngToDivPixel(b,l);
+if(r<l){
+this.divs[i]=this.createHLine3(b);
+this.divs[i].style.zIndex=this.div.style.zIndex;
+_1b.insertBefore(this.divs[i],null);
+i++;
+}else{
+if(r==l){
+this.divs[i]=this.createHLine3(b);
+this.divs[i].style.zIndex=this.div.style.zIndex;
+_1b.insertBefore(this.divs[i],null);
+i++;
+}else{
+this.divs[i]=this.createHLine(p.y);
+this.divs[i].style.zIndex=this.div.style.zIndex;
+_1b.insertBefore(this.divs[i],null);
+i++;
+}
+}
+var d=document.createElement("DIV");
+y=p.y+2;
+d.style.position="absolute";
+d.style.left=x.toString()+"px";
+d.style.top=y.toString()+"px";
+d.style.color=this.color;
+d.style.fontFamily="Arial";
+d.style.fontSize="x-small";
+if(b==0){
+d.innerHTML=(Math.abs(b)).toFixed(_15);
+}else{
+if(b<0){
+d.title=mbGetMessage("southWgs84");
+d.innerHTML=(Math.abs(b)).toFixed(_14)+" S";
+}else{
+d.title=mbGetMessage("northWgs84");
+d.innerHTML=(Math.abs(b)).toFixed(_14)+" N";
+}
+}
+if(j!=2){
+d.style.zIndex=this.div.style.zIndex;
+_1b.insertBefore(d,null);
+this.divs[i]=d;
+i++;
+}
+j++;
+b+=_12;
+}
+},fromLatLngToDivPixel:function(lat,lon){
+var pt=new OpenLayers.Geometry.Point(lon,lat);
+pt.transform(new OpenLayers.Projection("EPSG:4326"),this.proj);
+var _23=this.map.getPixelFromLonLat(new OpenLayers.LonLat(pt.x,pt.y));
+return _23;
+},createVLine:function(x){
+var div=document.createElement("DIV");
+div.style.position="absolute";
+div.style.overflow="hidden";
+div.style.backgroundColor=this.color;
+div.style.left=x+"px";
+div.style.top=this.minY+"px";
+div.style.width="1px";
+div.style.height=(this.maxY-this.minY)+"px";
+return div;
+},createHLine:function(y){
+var div=document.createElement("DIV");
+div.style.position="absolute";
+div.style.overflow="hidden";
+div.style.backgroundColor=this.color;
+div.style.left=this.minX+"px";
+div.style.top=y+"px";
+div.style.width=(this.maxX-this.minX)+"px";
+div.style.height="1px";
+return div;
+},createHLine3:function(lat){
+var f=this.fromLatLngToDivPixel(lat,0);
+var t=this.fromLatLngToDivPixel(lat,180);
+var div=document.createElement("DIV");
+div.style.position="absolute";
+div.style.overflow="hidden";
+div.style.backgroundColor=this.color;
+var x1=f.x;
+var x2=t.x;
+if(x2<x1){
+x2=f.x;
+x1=t.x;
+}
+div.style.left=(x1-(x2-x1))+"px";
+div.style.top=f.y+"px";
+div.style.width=((x2-x1)*2)+"px";
+div.style.height="1px";
+return div;
+},update:function(){
+this.width=parseInt(this.objRef.targetModel.getWindowWidth());
+this.height=parseInt(this.objRef.targetModel.getWindowHeight());
+this.bbox=this.objRef.targetModel.getBoundingBox();
+this.proj=new OpenLayers.Projection(this.objRef.targetModel.getSRS());
+if(this.bbox[1]<0){
+if(this.bbox[3]<0){
+this.diffLat=this.bbox[1]-this.bbox[3];
+}else{
+this.diffLat=this.bbox[3]-this.bbox[1];
+}
+}else{
+this.diffLat=this.bbox[3]+this.bbox[1];
+}
+if(this.bbox[0]<0){
+if(this.bbox[2]<0){
+this.diffLon=this.bbox[0]-this.bbox[2];
+}else{
+this.diffLon=this.bbox[2]-this.bbox[0];
+}
+}else{
+this.diffLon=this.bbox[2]+this.bbox[0];
+}
+this.addGraticules();
+},activate:function(){
+if(OpenLayers.Control.prototype.activate.apply(this,arguments)){
+this.panel_div.style.backgroundImage="url(\""+_3.enabledImage+"\")";
+this.map.events.register("moveend",this,this.update);
+this.objRef.display=true;
+this.mapContainer=this.div;
+this.color="black";
+this.update();
+return true;
+}else{
+return false;
+}
+},deactivate:function(){
+if(OpenLayers.Control.prototype.deactivate.apply(this,arguments)){
+this.panel_div.style.backgroundImage="url(\""+_3.disabledImage+"\")";
+this.map.events.unregister("moveend",this,this.update);
+this.objRef.display=false;
+this.removeGraticules();
+_3.enabled=false;
+_3.doSelect(_3,false);
+this.active=false;
+return true;
+}else{
+return false;
+}
+}});
+return _4;
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+function MapScaleBar(_1,_2){
+WidgetBase.apply(this,new Array(_1,_2));
+this.scaleDenominator=1;
+this.displaySystem=this.getProperty("mb:displaySystem","metric");
+this.minWidth=this.getProperty("mb:minWidth",100);
+this.maxWidth=this.getProperty("mb:maxWidth",200);
+this.divisions=this.getProperty("mb:divisions",2);
+this.subdivisions=this.getProperty("mb:subdivisions",2);
+this.showMinorMeasures=Mapbuilder.parseBoolean(this.getProperty("mb:showMinorMeasures",false));
+this.abbreviateLabel=Mapbuilder.parseBoolean(this.getProperty("mb:abbreviateLabel",false));
+this.singleLine=Mapbuilder.parseBoolean(this.getProperty("mb:singleLine",false));
+this.align=this.getProperty("mb:align","center");
+this.resolution=72;
+this.containerId=this.outputNodeId;
+this.labelContainerId=this.containerId+"Label";
+this.graphicsContainerId=this.containerId+"Graphics";
+this.numbersContainerId=this.containerId+"Numbers";
+this.model.addListener("bbox",this.update,this);
+this.model.addListener("refresh",this.update,this);
+}
+MapScaleBar.prototype.getContainerNode=function(){
+var _3=document.getElementById(this.containerId);
+if(!_3){
+var _3=document.createElement("div");
+_3.className="sbWrapper";
+_3.style.position="relative";
+_3.setAttribute("id",this.containerId);
+}
+return _3;
+};
+MapScaleBar.prototype.getGraphicsContainerNode=function(){
+var _4=document.getElementById(this.graphicsContainerId);
+if(!_4){
+var _4=document.createElement("div");
+_4.style.position="absolute";
+_4.className="sbGraphicsContainer";
+_4.setAttribute("id",this.graphicsContainerId);
+var _5=document.createElement("div");
+_5.className="sbMarkerMajor";
+_4.appendChild(_5);
+var _6=document.createElement("div");
+_6.className="sbMarkerMinor";
+_4.appendChild(_6);
+var _7=document.createElement("div");
+_7.className="sbBar";
+_4.appendChild(_7);
+var _8=document.createElement("div");
+_8.className="sbBarAlt";
+_4.appendChild(_8);
+}
+return _4;
+};
+MapScaleBar.prototype.getLabelContainerNode=function(){
+var _9=document.getElementById(this.labelContainerId);
+if(!_9){
+var _9=document.createElement("div");
+_9.className="sbUnitsContainer";
+_9.style.position="absolute";
+_9.setAttribute("id",this.labelContainerId);
+}
+return _9;
+};
+MapScaleBar.prototype.getNumbersContainerNode=function(){
+var _a=document.getElementById(this.numbersContainerId);
+if(!_a){
+var _a=document.createElement("div");
+_a.style.position="absolute";
+_a.className="sbNumbersContainer";
+_a.setAttribute("id",this.numbersContainerId);
+}
+return _a;
+};
+MapScaleBar.prototype.update=function(_b){
+var _c=document.getElementById(_b.outputNodeId);
+if(!_c){
+_b.getNode().appendChild(_b.getContainerNode());
+}
+var _d=_b.model.map.getScale();
+if(_d!=null){
+_b.scaleDenominator=_d;
+}
+function HandsomeNumber(_e,_f,_10){
+var _10=(_10==null)?10:_10;
+var _11=Number.POSITIVE_INFINITY;
+var _12=Number.POSITIVE_INFINITY;
+var _13=_e;
+var _14=3;
+for(var _15=0;_15<3;++_15){
+var _16=Math.pow(2,(-1*_15));
+var _17=Math.floor(Math.log(_f/_16)/Math.LN10);
+for(var _18=_17;_18>(_17-_10+1);--_18){
+var _19=Math.max(_15-_18,0);
+var _1a=_16*Math.pow(10,_18);
+if((_1a*Math.floor(_f/_1a))>=_e){
+if(_e%_1a==0){
+var _1b=_e/_1a;
+}else{
+var _1b=Math.floor(_e/_1a)+1;
+}
+var _1c=_1b+(2*_15);
+var _1d=(_18<0)?(Math.abs(_18)+1):_18;
+if((_1c<_11)||((_1c==_11)&&(_1d<_12))){
+_11=_1c;
+_12=_1d;
+_13=(_1a*_1b).toFixed(_19);
+_14=_19;
+}
+}
+}
+}
+this.value=_13;
+this.score=_11;
+this.tieBreaker=_12;
+this.numDec=_14;
+}
+HandsomeNumber.prototype.toString=function(){
+return this.value.toString();
+};
+HandsomeNumber.prototype.valueOf=function(){
+return this.value;
+};
+function styleValue(_1e,_1f){
+var _20=0;
+if(document.styleSheets){
+for(var _21=document.styleSheets.length-1;_21>=0;--_21){
+var _22=document.styleSheets[_21];
+if(!_22.disabled){
+var _23;
+if(typeof (_22.rules)=="undefined"){
+if(typeof (_22.rules)=="undefined"){
+return 0;
+}else{
+_23=_22.rules;
+}
+}else{
+_23=_22.rules;
+}
+for(var _24=0;_24<_23.length;++_24){
+var _25=_23[_24];
+if(_25.selectorText&&(_25.selectorText.toLowerCase()==_1e.toLowerCase())){
+if(_25.style[_1f]!=""){
+_20=parseInt(_25.style[_1f]);
+}
+}
+}
+}
+}
+}
+return _20?_20:0;
+}
+function formatNumber(_26,_27){
+_27=(_27)?_27:0;
+var _28=""+Math.round(_26);
+var _29=/(-?[0-9]+)([0-9]{3})/;
+while(_29.test(_28)){
+_28=_28.replace(_29,"$1,$2");
+}
+if(_27>0){
+var _2a=Math.floor(Math.pow(10,_27)*(_26-Math.round(_26)));
+if(_2a==0){
+return _28;
+}else{
+return _28+"."+_2a;
+}
+}else{
+return _28;
+}
+}
+var _2b=_b.getContainerNode();
+var _2c=_b.getGraphicsContainerNode();
+var _2d=_b.getLabelContainerNode();
+var _2e=_b.getNumbersContainerNode();
+_2b.title=mbGetMessage("scale",formatNumber(_b.scaleDenominator));
+var _2f=new Object();
+_2f.english={units:[mbGetMessage("unitMiles"),mbGetMessage("unitFeet"),mbGetMessage("unitInches")],abbr:[mbGetMessage("unitMilesAbbr"),mbGetMessage("unitFeetAbbr"),mbGetMessage("unitInchesAbbr")],inches:[63360,12,1]};
+_2f.nautical={units:[mbGetMessage("unitNauticalMiles"),mbGetMessage("unitFeet"),mbGetMessage("unitInches")],abbr:[mbGetMessage("unitNauticalMilesAbbr"),mbGetMessage("unitFeetAbbr"),mbGetMessage("unitInchesAbbr")],inches:[72913.386,12,1]};
+_2f.metric={units:[mbGetMessage("unitKilometers"),mbGetMessage("unitMeters"),mbGetMessage("unitCentimeters")],abbr:[mbGetMessage("unitKilometersAbbr"),mbGetMessage("unitMetersAbbr"),mbGetMessage("unitCentimetersAbbr")],inches:[39370.07874,39.370079,0.393701]};
+var _30=new Array();
+for(var _31=0;_31<_2f[_b.displaySystem].units.length;++_31){
+_30[_31]=new Object();
+var _32=_b.resolution*_2f[_b.displaySystem].inches[_31]/_b.scaleDenominator;
+var _33=(_b.minWidth/_32)/(_b.divisions*_b.subdivisions);
+var _34=(_b.maxWidth/_32)/(_b.divisions*_b.subdivisions);
+for(var _35=0;_35<(_b.divisions*_b.subdivisions);++_35){
+var _36=_33*(_35+1);
+var _37=_34*(_35+1);
+var _38=new HandsomeNumber(_36,_37);
+_30[_31][_35]={value:(_38.value/(_35+1)),score:0,tieBreaker:0,numDec:0,displayed:0};
+for(var _39=0;_39<(_b.divisions*_b.subdivisions);++_39){
+displayedValuePosition=_38.value*(_39+1)/(_35+1);
+niceNumber2=new HandsomeNumber(displayedValuePosition,displayedValuePosition);
+var _3a=((_39+1)%_b.subdivisions==0);
+var _3b=((_39+1)==(_b.divisions*_b.subdivisions));
+if((_b.singleLine&&_3b)||(!_b.singleLine&&(_3a||_b.showMinorMeasures))){
+_30[_31][_35].score+=niceNumber2.score;
+_30[_31][_35].tieBreaker+=niceNumber2.tieBreaker;
+_30[_31][_35].numDec=Math.max(_30[_31][_35].numDec,niceNumber2.numDec);
+_30[_31][_35].displayed+=1;
+}else{
+_30[_31][_35].score+=niceNumber2.score/_b.subdivisions;
+_30[_31][_35].tieBreaker+=niceNumber2.tieBreaker/_b.subdivisions;
+}
+}
+var _3c=(_31+1)*_30[_31][_35].tieBreaker/_30[_31][_35].displayed;
+_30[_31][_35].score*=_3c;
+}
+}
+var _3d=null;
+var _3e=null;
+var _3f=null;
+var _40=null;
+var _41=Number.POSITIVE_INFINITY;
+var _42=Number.POSITIVE_INFINITY;
+var _43=0;
+for(var _31=0;_31<_30.length;++_31){
+for(_35 in _30[_31]){
+if((_30[_31][_35].score<_41)||((_30[_31][_35].score==_41)&&(_30[_31][_35].tieBreaker<_42))){
+_41=_30[_31][_35].score;
+_42=_30[_31][_35].tieBreaker;
+_3d=_30[_31][_35].value;
+_43=_30[_31][_35].numDec;
+_3e=_2f[_b.displaySystem].units[_31];
+_3f=_2f[_b.displaySystem].abbr[_31];
+_32=_b.resolution*_2f[_b.displaySystem].inches[_31]/_b.scaleDenominator;
+_40=_32*_3d;
+}
+}
+}
+var _44=(styleValue(".sbMarkerMajor","borderLeftWidth")+styleValue(".sbMarkerMajor","width")+styleValue(".sbMarkerMajor","borderRightWidth"))/2;
+var _45=(styleValue(".sbMarkerMinor","borderLeftWidth")+styleValue(".sbMarkerMinor","width")+styleValue(".sbMarkerMinor","borderRightWidth"))/2;
+var _46=(styleValue(".sbBar","borderLeftWidth")+styleValue(".sbBar","border-right-width"))/2;
+var _47=(styleValue(".sbBarAlt","borderLeftWidth")+styleValue(".sbBarAlt","borderRightWidth"))/2;
+if(!document.styleSheets){
+_44=0.5;
+_45=0.5;
+}
+while(_2d.hasChildNodes()){
+_2d.removeChild(_2d.firstChild);
+}
+while(_2c.hasChildNodes()){
+_2c.removeChild(_2c.firstChild);
+}
+while(_2e.hasChildNodes()){
+_2e.removeChild(_2e.firstChild);
+}
+var _48,aBarPiece,numbersBox,xOffset;
+var _49={left:0,center:(-1*_b.divisions*_b.subdivisions*_40/2),right:(-1*_b.divisions*_b.subdivisions*_40)};
+var _4a=0+_49[_b.align];
+var _4b=0;
+for(var _4c=0;_4c<_b.divisions;++_4c){
+_4a=_4c*_b.subdivisions*_40;
+_4a+=_49[_b.align];
+_4b=(_4c==0)?0:((_4c*_b.subdivisions)*_3d).toFixed(_43);
+_48=document.createElement("div");
+_48.className="sbMarkerMajor";
+_48.style.position="absolute";
+_48.style.overflow="hidden";
+_48.style.left=Math.round(_4a-_44)+"px";
+_48.appendChild(document.createTextNode(" "));
+_2c.appendChild(_48);
+if(!_b.singleLine){
+numbersBox=document.createElement("div");
+numbersBox.className="sbNumbersBox";
+numbersBox.style.position="absolute";
+numbersBox.style.overflow="hidden";
+numbersBox.style.textAlign="center";
+if(_b.showMinorMeasures){
+numbersBox.style.width=Math.round(_40*2)+"px";
+numbersBox.style.left=Math.round(_4a-_40)+"px";
+}else{
+numbersBox.style.width=Math.round(_b.subdivisions*_40*2)+"px";
+numbersBox.style.left=Math.round(_4a-(_b.subdivisions*_40))+"px";
+}
+numbersBox.appendChild(document.createTextNode(_4b));
+_2e.appendChild(numbersBox);
+}
+for(var _4d=0;_4d<_b.subdivisions;++_4d){
+aBarPiece=document.createElement("div");
+aBarPiece.style.position="absolute";
+aBarPiece.style.overflow="hidden";
+aBarPiece.style.width=Math.round(_40)+"px";
+if((_4d%2)==0){
+aBarPiece.className="sbBar";
+aBarPiece.style.left=Math.round(_4a-_46)+"px";
+}else{
+aBarPiece.className="sbBarAlt";
+aBarPiece.style.left=Math.round(_4a-_47)+"px";
+}
+aBarPiece.appendChild(document.createTextNode(" "));
+_2c.appendChild(aBarPiece);
+if(_4d<(_b.subdivisions-1)){
+_4a=((_4c*_b.subdivisions)+(_4d+1))*_40;
+_4a+=_49[_b.align];
+_4b=(_4c*_b.subdivisions+_4d+1)*_3d;
+_48=document.createElement("div");
+_48.className="sbMarkerMinor";
+_48.style.position="absolute";
+_48.style.overflow="hidden";
+_48.style.left=Math.round(_4a-_45)+"px";
+_48.appendChild(document.createTextNode(" "));
+_2c.appendChild(_48);
+if(_b.showMinorMeasures&&!_b.singleLine){
+numbersBox=document.createElement("div");
+numbersBox.className="sbNumbersBox";
+numbersBox.style.position="absolute";
+numbersBox.style.overflow="hidden";
+numbersBox.style.textAlign="center";
+numbersBox.style.width=Math.round(_40*2)+"px";
+numbersBox.style.left=Math.round(_4a-_40)+"px";
+numbersBox.appendChild(document.createTextNode(_4b));
+_2e.appendChild(numbersBox);
+}
+}
+}
+}
+_4a=(_b.divisions*_b.subdivisions)*_40;
+_4a+=_49[_b.align];
+_4b=((_b.divisions*_b.subdivisions)*_3d).toFixed(_43);
+_48=document.createElement("div");
+_48.className="sbMarkerMajor";
+_48.style.position="absolute";
+_48.style.overflow="hidden";
+_48.style.left=Math.round(_4a-_44)+"px";
+_48.appendChild(document.createTextNode(" "));
+_2c.appendChild(_48);
+if(!_b.singleLine){
+numbersBox=document.createElement("div");
+numbersBox.className="sbNumbersBox";
+numbersBox.style.position="absolute";
+numbersBox.style.overflow="hidden";
+numbersBox.style.textAlign="center";
+if(_b.showMinorMeasures){
+numbersBox.style.width=Math.round(_40*2)+"px";
+numbersBox.style.left=Math.round(_4a-_40)+"px";
+}else{
+numbersBox.style.width=Math.round(_b.subdivisions*_40*2)+"px";
+numbersBox.style.left=Math.round(_4a-(_b.subdivisions*_40))+"px";
+}
+numbersBox.appendChild(document.createTextNode(_4b));
+_2e.appendChild(numbersBox);
+}
+var _4e=document.createElement("div");
+_4e.style.position="absolute";
+var _4f;
+if(_b.singleLine){
+_4f=_4b;
+_4e.className="sbLabelBoxSingleLine";
+_4e.style.top="-0.6em";
+_4e.style.left=(_4a+10)+"px";
+}else{
+_4f="";
+_4e.className="sbLabelBox";
+_4e.style.textAlign="center";
+_4e.style.width=Math.round(_b.divisions*_b.subdivisions*_40)+"px";
+_4e.style.left=Math.round(_49[_b.align])+"px";
+_4e.style.overflow="hidden";
+}
+if(_b.abbreviateLabel){
+_4f+=" "+_3f;
+}else{
+_4f+=" "+_3e;
+}
+_4e.appendChild(document.createTextNode(_4f));
+_2d.appendChild(_4e);
+if(!document.styleSheets){
+var _50=document.createElement("style");
+_50.type="text/css";
+var _51=".sbBar {top: 0px; background: #666666; height: 1px; border: 0;}";
+_51+=".sbBarAlt {top: 0px; background: #666666; height: 1px; border: 0;}";
+_51+=".sbMarkerMajor {height: 7px; width: 1px; background: #666666; border: 0;}";
+_51+=".sbMarkerMinor {height: 5px; width: 1px; background: #666666; border: 0;}";
+_51+=".sbLabelBox {top: -16px;}";
+_51+=".sbNumbersBox {top: 7px;}";
+_50.appendChild(document.createTextNode(_51));
+document.getElementsByTagName("head").item(0).appendChild(_50);
+}
+_2b.appendChild(_2c);
+_2b.appendChild(_2d);
+_2b.appendChild(_2e);
+};
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function LegendGraphic(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+this.model.addListener("hidden",this.refresh,this);
+}
+LegendGraphic.prototype.refresh=function(_3,_4){
+_3.paint(_3,_3.id);
+};
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function Abstract(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function FeatureInfo(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+this.setAttr=function(_3,_4,_5){
+_3.model.setXpathValue(_3.model,_4,_5);
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function MapTitle(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+}
+
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
+function SetAoi(_1,_2){
+ButtonBase.apply(this,new Array(_1,_2));
+this.cursor="crosshair";
+this.createControl=function(_3){
+var _4=OpenLayers.Class(OpenLayers.Control,{CLASS_NAME:"mbControl.SetAoi",type:OpenLayers.Control.TYPE_TOOL,draw:function(){
+this.handler=new OpenLayers.Handler.Box(this,{done:this.aoiBox},{keyMask:this.keyMask});
+},aoiBox:function(_5){
+if(_5 instanceof OpenLayers.Bounds){
+var _6=this.map.getLonLatFromPixel(new OpenLayers.Pixel(_5.left,_5.bottom));
+var _7=this.map.getLonLatFromPixel(new OpenLayers.Pixel(_5.right,_5.top));
+var _8=new OpenLayers.Bounds(_6.lon,_6.lat,_7.lon,_7.lat);
+var _9=_8.toBBOX().split(",");
+var ul=new Array(_9[0],_9[3]);
+var lr=new Array(_9[2],_9[1]);
+_3.targetContext.setParam("aoi",new Array(ul,lr));
+_3.drawAoiBox(_3);
+}
+}});
+this.targetContext.addListener("aoi",this.clearAoiBox,this);
+return _4;
+};
+this.drawAoiBox=function(_c){
+var _d=_c.targetContext.getParam("aoi");
+var _e=new OpenLayers.Bounds(_d[0][0],_d[1][1],_d[1][0],_d[0][1]);
+_c.targetContext.aoiBoxLayer=new OpenLayers.Layer.Boxes("Boxes");
+_c.targetContext.map.addLayer(_c.targetContext.aoiBoxLayer);
+var _f=new OpenLayers.Marker.Box(_e);
+_c.targetContext.aoiBoxLayer.addMarker(_f);
+};
+this.clearAoiBox=function(_10){
+if(_10.targetContext.aoiBoxLayer){
+_10.targetContext.aoiBoxLayer.destroy();
+}
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function ModelUrlInput(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+this.defaultUrl=this.getProperty("mb:defaultUrl");
+this.submitForm=function(){
+var _3=new Object();
+_3.url=this.urlInputForm.defaultUrl.value;
+_3.method=this.targetModel.method;
+this.targetModel.newRequest(this.targetModel,_3);
+};
+this.handleKeyPress=function(_4){
+var _5;
+var _6;
+if(_4){
+_5=_4.which;
+_6=_4.currentTarget;
+}else{
+_5=window.event.keyCode;
+_6=window.event.srcElement.form;
+}
+if(_5==13){
+_6.parentWidget.submitForm();
+return false;
+}
+};
+this.prePaint=function(_7){
+_7.stylesheet.setParameter("modelTitle",_7.targetModel.title);
+if(!_7.defaultUrl){
+_7.defaultUrl=_7.targetModel.url;
+}
+_7.stylesheet.setParameter("defaultUrl",_7.defaultUrl);
+};
+this.postPaint=function(_8){
+_8.urlInputForm=document.getElementById(_8.formName);
+_8.urlInputForm.parentWidget=_8;
+_8.urlInputForm.onkeypress=_8.handleKeyPress;
+};
+this.formName="urlInputForm_"+mbIds.getId();
+this.stylesheet.setParameter("formName",this.formName);
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function CollectionList(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+this.switchMap=function(_3,_4){
+_3.extent=_3.targetModel.map.getExtent();
+_3.srs=_3.targetModel.getSRS();
+_3.scale=_3.targetModel.map.getScale();
+_3.targetModel.addListener("loadModel",_3.setExtent,_3);
+config.loadModel(_3.targetModel.id,_4);
+};
+this.setExtent=function(_5){
+_5.targetModel.removeListener("loadModel",_5.setExtent,_5);
+var _6=_5.extent.toBBOX().split(/,/);
+if(_5.targetModel.getSRS().toUpperCase()!=_5.srs.toUpperCase()){
+var _7=new OpenLayers.Projection(_5.targetModel.getSRS());
+var _8=new OpenLayers.Projection(_5.srs);
+var _9=new OpenLayers.Geometry.Point(_6[0],_6[1]);
+var _a=new OpenLayers.Geometry.Point(_6[2],_6[3]);
+_9.transform(_8,_7);
+_a.transform(_8,_7);
+_5.extent=new OpenLayers.Bounds(_9.x,_9.y,_a.x,_a.y);
+}
+if(_5.targetModel.map.getExtent().containsBounds(_5.extent,false,false)){
+_5.targetModel.map.zoomToExtent(_5.extent);
+if(!_5.targetModel.map.fractionalZoom&&_5.targetModel.map.getScale()>_5.scale){
+_5.targetModel.map.zoomIn();
+}
+}
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function SelectMapLayers(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function Timestamp(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+this.formName="TimestampForm_"+mbIds.getId();
+this.stylesheet.setParameter("formName",this.formName);
+this.updateTimestamp=function(_3,_4){
+var _5=document[_3.formName];
+if(_5){
+_5.timestampValue.value=getNodeValue(_3.model.timestampList.childNodes[_4]);
+}
+};
+this.model.addListener("timestamp",this.updateTimestamp,this);
+}
+
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+function Save(_1,_2){
+ButtonBase.apply(this,new Array(_1,_2));
+this.createControl=function(_3){
+var _4=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_BUTTON,trigger:function(){
+this.map.mbMapPane.targetModel.saveModel(this.map.mbMapPane.targetModel);
+},CLASS_NAME:"mbControl.Save"});
+return _4;
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function LayerControl(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+this.prePaint=function(_3){
+if(_3.model.featureName){
+_3.stylesheet.setParameter("featureName",_3.model.featureName);
+_3.stylesheet.setParameter("hidden",_3.model.getHidden(_3.model.featureName).toString());
+}
+};
+this.highlightLayer=function(_4){
+var _5=this.model.map.mbMapPane.oLlayers[_4].div;
+var _6=document.getElementById("previewImage");
+try{
+if(_6&&_5){
+_6.src=_5.firstChild.firstChild.src;
+}
+}
+catch(e){
+}
+};
+this.refresh=function(_7,_8){
+_7.paint(_7,_7.id);
+};
+this.foldUnfoldGroup=function(_9,id){
+var _b="//wmc:General/wmc:Extension/wmc:GroupList/wmc:Group[@name='"+_9+"']";
+var _c=_2.doc.selectSingleNode(_b);
+var _d=_c.getAttribute("folded");
+var e=document.getElementById(id);
+if(_d=="1"){
+_c.setAttribute("folded","0");
+e.value="-";
+}else{
+_c.setAttribute("folded","1");
+e.value="+";
+}
+};
+this.showLayerMetadata=function(_f){
+var _10=config.objects.layerMetadata;
+if(_10){
+_10.stylesheet.setParameter("featureName",_f);
+_10.node=document.getElementById(_10.htmlTagId);
+_10.paint(_10);
+}
+};
+this.ChangeImage=function(id,_12,_13){
+var _14=document.getElementById(id).src.indexOf(_12);
+var _15=document.getElementById(id).src.indexOf(_13);
+if(document.getElementById(id)!=null){
+if(_14!=-1){
+document.getElementById(id).src=document.getElementById(id).src.substring(0,_14)+_13;
+}else{
+document.getElementById(id).src=document.getElementById(id).src.substring(0,_15)+_12;
+}
+}
+return;
+};
+this.switchVisibilityById=function(id){
+e=document.getElementById(id);
+if(e.style.display=="none"){
+e.style.display="block";
+}else{
+e.style.display="none";
+}
+};
+this.model.addListener("deleteLayer",this.refresh,this);
+this.model.addListener("moveLayerUp",this.refresh,this);
+this.model.addListener("moveLayerDown",this.refresh,this);
+if(this.autoRefresh){
+this.model.addListener("addLayer",this.refresh,this);
+}
+}
+
+js: Couldn't open file "/home/cameron/tmp/mapbuilder/build/../compressBuild/lib/widget/AoiBoxDHTML.js".
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function FilterAttributes(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function SelectFeatureType(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function AoiForm(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+this.displayAoiCoords=function(_3,_4){
+var _5=document.getElementById(_3.formName);
+var _6=_3.model.getParam("aoi");
+if(_6&&_5){
+_5.westCoord.value=_6[0][0];
+_5.northCoord.value=_6[0][1];
+_5.eastCoord.value=_6[1][0];
+_5.southCoord.value=_6[1][1];
+}
+};
+this.model.addListener("aoi",this.displayAoiCoords,this);
+this.setAoi=function(){
+var _7=this.model.getParam("aoi");
+if(_7){
+var ul=_7[0];
+var lr=_7[1];
+switch(this.name){
+case "westCoord":
+ul[0]=this.value;
+break;
+case "northCoord":
+ul[1]=this.value;
+break;
+case "eastCoord":
+lr[0]=this.value;
+break;
+case "southCoord":
+lr[1]=this.value;
+break;
+}
+this.model.setParam("aoi",new Array(ul,lr));
+}
+};
+this.postPaint=function(_a){
+var _b=document.getElementById(_a.formName);
+_b.westCoord.onblur=_a.setAoi;
+_b.northCoord.onblur=_a.setAoi;
+_b.eastCoord.onblur=_a.setAoi;
+_b.southCoord.onblur=_a.setAoi;
+_b.westCoord.model=_a.model;
+_b.northCoord.model=_a.model;
+_b.eastCoord.model=_a.model;
+_b.southCoord.model=_a.model;
+};
+this.formName=this.getProperty("mb:formName","AoiForm_"+mbIds.getId());
+this.stylesheet.setParameter("formName",this.formName);
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function Widget(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function WebServiceForm(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+this.formElements=new Object();
+var _3=this.getProperty("mb:requestStylesheet");
+if(_3){
+this.requestStylesheet=new XslProcessor(_3,_2.namespace);
+}
+this.webServiceUrl=this.getProperty("mb:webServiceUrl");
+this.submitForm=function(){
+this.webServiceForm=document.getElementById(this.formName);
+if(this.webServiceForm==null){
+this.webServiceForm=document.getElementById("webServiceForm_form");
+}
+if(this.webServiceForm==null){
+return;
+}
+var _4=new Object();
+_4.method=this.targetModel.method;
+_4.url=this.webServiceUrl;
+if(_4.method.toLowerCase()=="get"){
+_4.url=this.webServiceForm.action+"?";
+for(var i=0;i<this.webServiceForm.elements.length;++i){
+var _6=this.webServiceForm.elements[i];
+webServiceUrl+=_6.name+"="+_6.value+"&";
+this.formElements[_6.name]=_6.value;
+}
+mbDebugMessage(this,_4.url);
+this.targetModel.newRequest(this.targetModel,_4);
+}else{
+for(var i=0;i<this.webServiceForm.elements.length;++i){
+var _6=this.webServiceForm.elements[i];
+this.formElements[_6.name]=_6.value;
+}
+this.requestStylesheet.setParameter("resourceName",this.formElements["feature"]);
+this.requestStylesheet.setParameter("fromDateField",this.formElements["fromDateField"]);
+this.requestStylesheet.setParameter("toDateField",this.formElements["toDateField"]);
+var _7=this.requestStylesheet.transformNodeToObject(this.model.doc);
+if(this.debug){
+mbDebugMessage(this,"Transformed: "+(new XMLSerializer()).serializeToString(_7));
+}
+this.namespace="xmlns:wmc='http://www.opengis.net/context' xmlns:ows='http://www.opengis.net/ows' xmlns:ogc='http://www.opengis.net/ogc' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs'";
+Sarissa.setXpathNamespaces(_7,this.namespace);
+var _8=_7.selectSingleNode("//wfs:GetFeature");
+_4.postData=(new XMLSerializer()).serializeToString(_8);
+mbDebugMessage(this,"httpPayload.postData:"+_4.postData);
+this.targetModel.wfsFeature=_7.childNodes[0];
+if(this.debug){
+mbDebugMessage(this,"wfsFeature = "+(new XMLSerializer()).serializeToString(this.targetModel.wfsFeature));
+}
+this.targetModel.newRequest(this.targetModel,_4);
+}
+};
+this.handleKeyPress=function(_9){
+var _a;
+var _b;
+if(_9){
+_a=_9.which;
+_b=_9.currentTarget;
+}else{
+_a=window.event.keyCode;
+_b=window.event.srcElement.form;
+}
+if(_a==13){
+_b.parentWidget.submitForm();
+return false;
+}
+};
+this.postPaint=function(_c){
+_c.webServiceForm=document.getElementById(_c.formName);
+if(this.webServiceForm==null){
+this.webServiceForm=document.getElementById("webServiceForm_form");
+}
+_c.webServiceForm.parentWidget=_c;
+_c.webServiceForm.onkeypress=_c.handleKeyPress;
+};
+this.formName="WebServiceForm_"+mbIds.getId();
+this.stylesheet.setParameter("formName",this.formName);
+this.prePaint=function(_d){
+for(var _e in _d.formElements){
+_d.stylesheet.setParameter(_e,_d.formElements[_e]);
+}
+};
+this.setAoiParameters=function(_f,_10){
+if(_f.model){
+var _11=null;
+var _12=_f.model.getSRS();
+_f.requestStylesheet.setParameter("bBoxMinX",_10[0][0]);
+_f.requestStylesheet.setParameter("bBoxMinY",_10[1][1]);
+_f.requestStylesheet.setParameter("bBoxMaxX",_10[1][0]);
+_f.requestStylesheet.setParameter("bBoxMaxY",_10[0][1]);
+_f.requestStylesheet.setParameter("srs",_12);
+_f.requestStylesheet.setParameter("width",_f.model.getWindowWidth());
+_f.requestStylesheet.setParameter("height",_f.model.getWindowHeight());
+}
+};
+this.init=function(_13){
+if(_13.model){
+_13.model.addListener("aoi",_13.setAoiParameters,_13);
+}
+};
+this.model.addListener("init",this.init,this);
+}
+
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+function GetFeatureInfo(_1,_2){
+ButtonBase.apply(this,new Array(_1,_2));
+this.xsl=new XslProcessor(this.getProperty("mb:stylesheet",baseDir+"/tool/GetFeatureInfo.xsl"));
+this.infoFormat=this.getProperty("mb:infoFormat","application/vnd.ogc.gml");
+this.featureCount=this.getProperty("mb:featureCount",1);
+this.cursor="pointer";
+this.createControl=function(_3){
+var _4=OpenLayers.Class(OpenLayers.Control,{CLASS_NAME:"mbControl.GetFeatureInfo",type:OpenLayers.Control.TYPE_TOOL,draw:function(){
+this.handler=new OpenLayers.Handler.Box(this,{done:this.zoomBox},{keyMask:this.keyMask});
+},zoomBox:function(_5){
+var _6=this.objRef;
+if(_6.enabled){
+var x,y;
+if(_5 instanceof OpenLayers.Bounds){
+x=_5.left+(_5.right-_5.left)/2;
+y=_5.top+(_5.bottom-_5.top)/2;
+}else{
+x=_5.x;
+y=_5.y;
+}
+_6.targetModel.deleteTemplates();
+var _8=_6.targetContext.getParam("selectedLayer");
+if(_8==null){
+var _9=_6.targetContext.getQueryableLayers();
+if(_9.length==0){
+alert(mbGetMessage("noQueryableLayers"));
+return;
+}else{
+for(var i=0;i<_9.length;++i){
+var _b=_9[i];
+var _c=Mapbuilder.getProperty(_b,"wmc:Name","");
+var _d=_b.getAttribute("id")||_c;
+var _e=_6.targetContext.getHidden(_d);
+if(_e==0){
+_6.xsl.setParameter("queryLayer",_c);
+_6.xsl.setParameter("layer",_c);
+_6.xsl.setParameter("xCoord",x);
+_6.xsl.setParameter("yCoord",y);
+_6.xsl.setParameter("infoFormat",_6.infoFormat);
+_6.xsl.setParameter("featureCount",_6.featureCount);
+urlNode=_6.xsl.transformNodeToObject(_6.targetContext.doc);
+url=getNodeValue(urlNode.documentElement);
+httpPayload=new Object();
+httpPayload.url=url;
+httpPayload.method="get";
+httpPayload.postData=null;
+_6.targetModel.newRequest(_6.targetModel,httpPayload);
+}
+}
+}
+}else{
+_6.xsl.setParameter("queryLayer",_8);
+_6.xsl.setParameter("layer",_c);
+_6.xsl.setParameter("xCoord",x);
+_6.xsl.setParameter("yCoord",y);
+_6.xsl.setParameter("infoFormat",_6.infoFormat);
+_6.xsl.setParameter("featureCount",_6.featureCount);
+var _f=_6.xsl.transformNodeToObject(_6.targetContext.doc);
+var url=getNodeValue(_f.documentElement);
+if(_6.infoFormat=="text/html"){
+window.open(url,"queryWin","height=200,width=300,scrollbars=yes");
+}else{
+var _11=new Object();
+_11.url=url;
+_11.method="get";
+_11.postData=null;
+_6.targetModel.newRequest(_6.targetModel,_11);
+}
+}
+}
+}});
+return _4;
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function Locations(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+this.setAoi=function(_3,_4,_5){
+var _6=_5.split(/[:#]/);
+_5="EPSG:"+_6[_6.length-1];
+if(!_5){
+_5="EPSG:4326";
+}
+var _7=new OpenLayers.Projection(_5);
+var _8=new Array();
+_8=_3.split(",");
+var _9=new OpenLayers.Geometry.Point(parseFloat(_8[0]),parseFloat(_8[3]));
+var _a=new OpenLayers.Geometry.Point(parseFloat(_8[2]),parseFloat(_8[1]));
+_9.transform(_7,this.targetModel.proj);
+_a.transform(_7,this.targetModel.proj);
+var ul=new Array(_9.x,_9.y);
+var lr=new Array(_a.x,_a.y);
+this.targetModel.setParam("aoi",new Array(ul,lr));
+this.targetModel.map.zoomToExtent(new OpenLayers.Bounds(ul[0],lr[1],lr[0],ul[1]));
+};
+}
+
+mapbuilder.loadScript(baseDir+"/widget/EditButtonBase.js");
+function Measurement(_1,_2){
+EditButtonBase.apply(this,new Array(_1,_2));
+this.createControl=function(_3){
+var _4=OpenLayers.Class(OpenLayers.Control.DrawFeature,{CLASS_NAME:"mbMeasurement"});
+return _4;
+};
+this.instantiateControl=function(_5,_6){
+var _7=new _6(_5.featureLayer,OpenLayers.Handler.Path,{callbacks:{point:_5.startAction}});
+_7.objRef=_5;
+_7.activate=function(){
+_6.prototype.activate.apply(this,arguments);
+_5.targetModel.setParam("showDistance",0);
+};
+_7.deactivate=function(){
+_6.prototype.deactivate.apply(this,arguments);
+_5.targetModel.setParam("showDistance",null);
+};
+return _7;
+};
+this.cursor="crosshair";
+var _8=0;
+var _9=0;
+var _a=false;
+var _b=false;
+this.startAction=function(_c){
+var _d=this.objRef;
+_d.pointGeometry=_c;
+if(!_d.targetModel.doc){
+_d.targetModel.addListener("loadModel",_d.doAction,_d);
+config.loadModel(_d.targetModel.id,_d.defaultModelUrl);
+}else{
+_d.doAction(_d);
+}
+};
+this.doAction=function(_e){
+pointGeometry=_e.pointGeometry;
+_e.targetModel.removeListener("loadModel",_e.doAction,_e);
+if(_e.enabled){
+if(_e.restart){
+_e.model.setParam("clearMeasurementLine");
+_e.restart=false;
+}
+var _f=[pointGeometry.x,pointGeometry.y];
+var old=_e.targetModel.getXpathValue(_e.targetModel,_e.featureXpath);
+if(!old){
+old="";
+}
+sucess=_e.targetModel.setXpathValue(_e.targetModel,_e.featureXpath,old+" "+_f[0]+","+_f[1]);
+if(!sucess){
+alert(mbGetMessage("invalidFeatureXpathMeasurement",_e.featureXpath));
+}
+var _11=_e.targetModel.getXpathValue(_e.targetModel,_e.featureXpath);
+var _12=_11.split(" ");
+if(_12.length>=3){
+var _13=_12[_12.length-2];
+var _14=_12[_12.length-1];
+var P=_13.split(",");
+var Q=_14.split(",");
+_e.srs=srs.toUpperCase();
+_e.proj=new OpenLayers.Projection(_e.srs);
+if(!P||!Q){
+alert(mbGetMessage("projectionNotSupported"));
+}else{
+if(_e.proj.getUnits()=="meters"||_e.proj.getUnits()=="m"){
+Xp=parseFloat(P[0]);
+Yp=parseFloat(P[1]);
+Xq=parseFloat(Q[0]);
+Yq=parseFloat(Q[1]);
+_9=Math.sqrt(((Xp-Xq)*(Xp-Xq))+((Yp-Yq)*(Yp-Yq)));
+if(_9==0){
+_e.restart=true;
+_e.model.setParam("clearMouseLine");
+_e.targetModel.setParam("mouseRenderer",false);
+return;
+}
+_8=Math.round(_8+_9);
+}else{
+if(_e.proj.getUnits()=="degrees"||_e.proj.getUnits()==null){
+var _17=Math.PI/180;
+var _18=new Array(0,0);
+LonpRad=parseFloat(P[0])*_17;
+LatpRad=parseFloat(P[1])*_17;
+LonqRad=parseFloat(Q[0])*_17;
+LatqRad=parseFloat(Q[1])*_17;
+if((LonpRad>0&&LonqRad<0)||(LonpRad<0&&LonqRad>0)){
+if(LonpRad<0){
+radDistance=Math.acos(Math.sin(LatpRad)*Math.sin(LatqRad)+Math.cos(LatpRad)*Math.cos(LatqRad)*Math.cos(LonpRad));
+radDistance+=Math.acos(Math.sin(LatpRad)*Math.sin(LatqRad)+Math.cos(LatpRad)*Math.cos(LatqRad)*Math.cos(LonqRad));
+}
+if(LonqRad<0){
+radDistance=Math.acos(Math.sin(LatpRad)*Math.sin(LatqRad)+Math.cos(LatpRad)*Math.cos(LatqRad)*Math.cos(LonqRad));
+radDistance+=Math.acos(Math.sin(LatpRad)*Math.sin(LatqRad)+Math.cos(LatpRad)*Math.cos(LatqRad)*Math.cos(LonpRad));
+}
+}else{
+radDistance=Math.acos(Math.sin(LatpRad)*Math.sin(LatqRad)+Math.cos(LatpRad)*Math.cos(LatqRad)*Math.cos(LonpRad-LonqRad));
+}
+_9=radDistance*6378137;
+if(_9==0){
+_e.restart=true;
+_e.model.setParam("clearMouseLine");
+_e.targetModel.setParam("mouseRenderer",false);
+return;
+}
+_8=Math.round(_8+_9);
+}else{
+alert(mbGetMessage("cantCalculateDistance"));
+}
+}
+}
+}
+_e.targetModel.setParam("showDistance",_8);
+}
+};
+this.setFeature=function(_19,_1a){
+_19.restart=true;
+};
+this.clearMeasurementLine=function(_1b){
+if(_8!=0){
+_8=0;
+sucess=_1b.targetModel.setXpathValue(_1b.targetModel,_1b.featureXpath,"");
+if(!sucess){
+alert(mbGetMessage("invalidFeatureXpathMeasurement",_1b.featureXpath));
+}
+_1b.targetModel.setParam("refresh");
+}
+};
+this.model.addListener("clearMeasurementLine",this.clearMeasurementLine,this);
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function ModelStatus(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+this.prePaint=function(_3){
+_3.stylesheet.setParameter("statusMessage",_3.targetModel.getParam("modelStatus"));
+};
+this.model.addListener("modelStatus",this.paint,this);
+}
+
+js: Couldn't open file "/home/cameron/tmp/mapbuilder/build/../compressBuild/lib/widget/SaveModel.js".
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function ShowDistance(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+this.showDistance=function(_3){
+var _4=document.getElementById(_3.formName);
+var _5=_3.model.values.showDistance;
+if(_5==null){
+_3.getNode().style.display="none";
+}else{
+_3.getNode().style.display="";
+if(_5>1000){
+if(_5>1000000){
+outputDistance=Math.round(_5/1000)+"  km";
+}else{
+outputDistance=Math.round(_5/100)/10+"  km";
+}
+}else{
+if(_5>0){
+outputDistance=Math.round(_5)+"  m";
+}else{
+outputDistance="";
+}
+}
+if(_4){
+_4.distance.value=outputDistance;
+}
+}
+};
+this.model.addListener("showDistance",this.showDistance,this);
+this.formName="ShowDistance_"+mbIds.getId();
+this.stylesheet.setParameter("formName",this.formName);
+}
+
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+function SelectAllMapLayers(_1,_2){
+WidgetBaseXSL.apply(this,new Array(_1,_2));
+}
+
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/113.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/113.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/skin/default/scalebar-fat.css
===================================================================
--- lib/spatial/mapbuilder/lib/skin/default/scalebar-fat.css	(revision 4306)
+++ lib/spatial/mapbuilder/lib/skin/default/scalebar-fat.css	(revision 4307)
@@ -1,6 +1,6 @@
 .sbWrapper {
 	font-family: Verdana, sans-serif;
-	padding: 30px 0 10px 20px;
+	padding: 0 0 10px 20px;
 }
 
 .sbBar {
Index: lib/spatial/mapbuilder/lib/text/fr/widgetText.xml
===================================================================
--- lib/spatial/mapbuilder/lib/text/fr/widgetText.xml	(nonexistent)
+++ lib/spatial/mapbuilder/lib/text/fr/widgetText.xml	(revision 4307)
@@ -0,0 +1,263 @@
+<?xml version="1.0" encoding="utf-8" standalone="no" ?>
+<WidgetText xmlns="http://mapbuilder.sourceforge.net/mapbuilder" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder /mapbuilder/lib/schemas/config.xsd"
+    version="0.2.1" id="mbDefaultText" xml:lang="fr">
+  <!--
+    
+    Description: This file contains all text used in widgets and JavaScript
+                 for multilingual support.  The widget text values are set as
+                 XSL params before the widget is painted.
+                 From JavaScript the messages can be retrieved with
+                 mbGetMessage(messageKey); see the JSDoc for details.
+    Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html 
+
+    $Id: widgetText.xml 3671 2007-12-04 11:40:10Z ahocevar $
+  -->
+  <!-- Widget (XSL) messages -->
+  <widgets>
+    <Abstract>
+      <abstract>Résumé</abstract>
+      <moreInfo>Informations relatives à la carte</moreInfo>
+    </Abstract>
+    
+    <AoiForm>
+      <east>Est:</east>
+      <north>Nord:</north>
+      <south>Sud:</south>
+      <title>Coordonées de la région d'intéret</title>
+      <west>Ouest:</west>
+    </AoiForm>
+    
+    <Back>
+      <tooltip>Zoom précédent</tooltip>
+    </Back>
+    
+    <CatSearchForm>
+      <east>Est:</east>
+      <north>Nord:</north>
+      <south>Sud:</south>
+      <west>Ouest:</west>
+    </CatSearchForm>
+    
+    <CollectionList>
+      <title>Liste des contexts disponible:</title>
+    </CollectionList>
+    
+    <CursorTrack>
+      <latitude>lat: </latitude>
+      <longitude>lon: </longitude>
+      <xcoord>x: </xcoord>
+      <ycoord>y: </ycoord>
+    </CursorTrack>
+    
+    <DeleteFeature>
+      <tooltip>Effacer la(es) géométrie(s) sélectionnées</tooltip>
+    </DeleteFeature>
+    
+    <DragPan>
+      <tooltip>Cliquer et faire glisser la souris pour visualiser une autre partie de la carte</tooltip>
+    </DragPan>
+    
+    <EditLine>
+      <tooltip>Cliquer pour créer une ligne</tooltip>
+    </EditLine>
+    
+    <EditPoint>
+      <tooltip>Cliquer pour créer un point</tooltip>
+    </EditPoint>
+    
+    <EditPolygon>
+      <tooltip>Cliquer pour créer un polygone</tooltip>
+    </EditPolygon>
+    
+    <Forward>
+      <tooltip>Zoom suivant</tooltip>
+    </Forward>
+    
+    <GetFeatureInfo>
+      <tooltip>Cliquer pour obtenir plus d'information pour cette couche</tooltip>
+    </GetFeatureInfo>
+    
+    <GetFeatureInfoWSR>
+      <tooltip>Cliquer pour obtenir plus d'information pour cette couche</tooltip>
+    </GetFeatureInfoWSR>
+    
+    <InsertFeature>
+      <tooltip>Sauvegarder la(es) géométrie(s) courantes sur le serveur</tooltip>
+    </InsertFeature>
+    
+    <LayerControl>
+      <deleteLayerTip>Effacer la couche</deleteLayerTip>
+      <layerIndexTip>Possiton courante de la couche dans la pile d'image</layerIndexTip>
+      <legendTip>Afficher la Légende</legendTip>
+      <moveLayerDownTip>Faire descendre la couche</moveLayerDownTip>
+      <moveLayerUpTip>Faire monter la couche</moveLayerUpTip>
+      <nameLayerTip>Nom de la couche</nameLayerTip>
+      <opacityTip>Niveau  d'opacité</opacityTip>
+      <toggleVisTip>Afficher la couche</toggleVisTip>
+    </LayerControl>
+    
+    <Legend>
+      <title>Couches de la carte</title>
+    </Legend>
+    
+    <Measurement>
+      <tooltip>Cliquer sur la carte pour mesurer la distance</tooltip>
+    </Measurement>
+    
+    <ModelStatus>
+      <title>Statut de: </title>
+    </ModelStatus>
+    
+    <ModelUrlInput>
+      <load>Téléchargez</load>
+      <title>URL: </title>
+    </ModelUrlInput>
+    
+    <Reset>
+      <tooltip>Zoom initial</tooltip>
+    </Reset>
+    
+    <Save>
+      <tooltip>Cliquer pour sauvegarder</tooltip>
+    </Save>
+    
+    <SetAoi>
+      <tooltip>Cliquer et faire glisser la souris pour positionner une AOI</tooltip>
+    </SetAoi>
+    
+    <Timestamp>
+      <title>Date de l'image: </title>
+    </Timestamp>
+    
+    <WebServiceForm>
+      <mapsheet>Code SNRC:</mapsheet>
+      <ntsTitle>Service de recherche par SNRC</ntsTitle>
+    </WebServiceForm>
+    
+    <WfsGetFeature>
+      <tooltip>Cliquer sur la couche pour la questionner</tooltip>
+    </WfsGetFeature>
+    
+    <ZoomIn>
+      <tooltip>Cliquer et faire glisser la souris pour agrandir</tooltip>
+    </ZoomIn>
+    
+    <ZoomOut>
+      <tooltip>Cliquer pour réduire</tooltip>
+    </ZoomOut>
+  </widgets>
+  
+  <!-- JavaScript messages -->
+  <messages>
+    <aeaInitEqualLatitudes>aeaInit: Latitudes égales de parallèles standard sur des côtés opposés de l'Équateur</aeaInitEqualLatitudes>
+    <aeqdFwdPointError>Erreur de projection de points dans aeqdFwd()</aeqdFwdPointError>
+    <aeqdInvDataError>Erreur de saisie dans aeqdInv()</aeqdInvDataError>
+    <aoiFormNotFound>N'a pas pu trouver aoiForm pour geoSearch</aoiFormNotFound>
+    <atLeastOneValue>Entrez au moins une valeur avant d'avancer</atLeastOneValue>
+    <buttonBarRequired>Propriété buttonBar nécéssaire: {0}</buttonBarRequired>
+    <cantCalculateDistance>Mesure: incapable de calculer la distance</cantCalculateDistance>
+    <cantGoBack>Vous ne pouvez plus aller en arriére</cantGoBack>
+    <cantGoForward>Vous ne pouvez plus aller en avant</cantGoForward>
+    <cantMoveDown>Impossible de déplacer noeud aprés la fin de la liste: {0}</cantMoveDown>
+    <cantMoveUp>Impossible de déplacer noeud avant le début de la liste: {0}</cantMoveUp>
+    <convertingCoords>Convertir coordonnées</convertingCoords>
+    <docLoading>Téléchargement du document, attendez svp...</docLoading>
+    <documentParseError>parseError de document: {0}</documentParseError>
+    <eastWgs84>Est (WGS84)</eastWgs84>
+    <equiInvDataError>Erreur de saisie dans equiInv()</equiInvDataError>
+    <errorCreatingObject>Erreur dans la creation de l'objet: {0}</errorCreatingObject>
+    <errorLoadingDocument>Erreur dans le téléchargement du document: {0} - {1}-{2}</errorLoadingDocument>
+    <errorLoadingModel>Erreur de configuration loadModel: {0}: {1}</errorLoadingModel>
+    <errorLoadingStylesheet>Erreur de téléchargement de feuille de style XSL: {0}</errorLoadingStylesheet>
+    <errorPaintingWidget>Erreur de configuration paintWidget: gadget n'existe pas</errorPaintingWidget>
+    <eventLogSaved>Historique d'événements sauvegardé comme: {0}</eventLogSaved>
+    <exceptionTransformingDoc>Erreur de conversion du document XSL: {0}</exceptionTransformingDoc>
+    <featureNotFoundOwsContext>Caractéristique non trouvé</featureNotFoundOwsContext>
+    <featureNotFoundWebServiceRequest>WebServiceRequest: Erreur trouvant noeud caractéristique: {0}</featureNotFoundWebServiceRequest>
+    <gridShiftError>ERREUR: Les changements de repères (Grid Shift transformations) ne sont pas encore implémentés (cscs.js)</gridShiftError>
+    <idRequired>id requis pour l'objet: {0}</idRequired>
+    <invalidFeatureXpathEditLine>EditLine: featureXpath invalide dans configuration: {0}</invalidFeatureXpathEditLine>
+    <invalidFeatureXpathEditPoint>EditPoint: featureXpath invalide dans configuration: {0}</invalidFeatureXpathEditPoint>
+    <invalidFeatureXpathEditPolygon>EditPolygon: featureXpath invalide dans configuration: {0}</invalidFeatureXpathEditPolygon>
+    <invalidFeatureXpathMeasurement>Measurement: featureXpath invalide dans configuration: {0}</invalidFeatureXpathMeasurement>
+    <invalidGeom>Géométrie invalide pour: {0}</invalidGeom>
+    <invalidGmlGeom>Géométrie GML invalide</invalidGmlGeom>
+    <laeaInvDataError>Erreur de saisie dans laeaInv()</laeaInvDataError>
+    <lastFrameAfterFirst>Le dernier cadre doit être après le premier cadre</lastFrameAfterFirst>
+    <layerTypeNotSupported>MapPaneOL: Aucun support pour couche du type={0}</layerTypeNotSupported>
+    <lccInitEqualLatitudes>lccInit: Latitudes égales de parallèles standard sur des côtés opposés de l'Équateur</lccInitEqualLatitudes>
+    <listenerError>Erreur de Listener: param={0}, target={1}, callBackFunction={2}</listenerError>
+    <ll2lccNoProjection>ll2lcc: Point ne peut pas être projeté</ll2lccNoProjection>
+    <ll2mAtPoles>ll2m: Transformation ne peut pas être calculé dans les pôles</ll2mAtPoles>
+    <ll2stInfiniteProjection>ll2st: Point projeté sur l'infini</ll2stInfiniteProjection>
+    <ll2tmInfiniteProjection>ll2tm: Point projeté sur l'infini</ll2tmInfiniteProjection>
+    <llInputOutOfRange>Entrée hors limites : lon: {0} - lat: {1}</llInputOutOfRange>
+    <loadingLayer>Téléchargement de {0} couche du plan</loadingLayer>
+    <loadingLayers>Téléchargement de {0} couches du plan</loadingLayers>
+    <mollFwdIterationError>Iteration non convergenete dans mollFwd()</mollFwdIterationError>
+    <noBboxInContext>Aucun BBOX defini dans contexte</noBboxInContext>
+    <noContextDefined>Aucun contexte defini dans la configuration</noContextDefined>
+    <noCountryCode>Vous devez spécifiez le code du pays</noCountryCode>
+    <noDataYet>Aucunes données à visualiser</noDataYet>
+    <nodeNotFound>Noeud pas trouvé; impossible d'éffacer noeud: {0}</nodeNotFound>
+    <noFeatureToDelete>Aucune caractéristique disponible pour éffacer</noFeatureToDelete>
+    <noFeatureToInsert>Pas de caractéristique disponible pour insérer</noFeatureToInsert>
+    <noMouseHandlerTool>Erreur trouvant mouseHandler: {0} pour outil: {1}</noMouseHandlerTool>
+    <noQueryableLayers>
+      Il n'a pas de couches interactifs disponibles,
+      ajoutez une couche au contexte, svp.
+    </noQueryableLayers>
+    <noQueryableLayersVisible>
+      Il n'y a aucune couche interactive évidente,
+      marquent une couche interactive dans la légende, svp.
+    </noQueryableLayersVisible>
+    <noRssTitle>Pas de titre RSS</noRssTitle>
+    <northWgs84>Nord (WGS84)</northWgs84>
+    <noSerializeUrl>serializeUrl doit être indiqué dans configuration afin de sauvegarder un modèle</noSerializeUrl>
+    <noTargetContext>Erreur dans la recherche du targetContext: {0} pour: {1}</noTargetContext>
+    <noTargetModelTool>Erreur trouvant targetModel: {0} pour outil: {1}</noTargetModelTool>
+    <noTargetModelWidget>Erreur dans la recherche du targetModel: {0} pour: {1}</noTargetModelWidget>
+    <nullOwsContext>Document OWSContext vide</nullOwsContext>
+    <nullXmlResponse>Null XML response: {0}</nullXmlResponse>
+    <omercFwdInfinity>Points projetés sur l'infini dans omercFwd()</omercFwdInfinity>
+    <omercInitDataError>Erreur de saisie dans omercInit()</omercInitDataError>
+    <orthoFwdPointError>Points ne peuvent être projetés dans orthoFwd()</orthoFwdPointError>
+    <orthoInvDataError>Erreur de saisie dans orthoInv()</orthoInvDataError>
+    <parseError>Erreur d'analyze: {0}</parseError>
+    <phi1zNoConvergence>phi1z: Erreur de convergence</phi1zNoConvergence>
+    <phi2zNoConvergence>phi2z: Erreur de convergence</phi2zNoConvergence>
+    <phi3zNoConvergence>phi3z: Erreur de convergence</phi3zNoConvergence>
+    <phi4zNoConvergence>phi4z: Erreur de convergence</phi4zNoConvergence>
+    <projectionNotSupported>Mesure: Projection non supporté!</projectionNotSupported>
+    <scale>échelle 1:{0}</scale>
+    <selectLayer>Choisissez une couche si vous voulez inserée le sld dans wmc</selectLayer>
+    <sinuInvDataError>Erreur de saisie dans sinuInv()</sinuInvDataError>
+    <southWgs84>Sud (WGS84)</southWgs84>
+    <tabWidgetNotFound>Onglets de gadgets non trouvez: {0}</tabWidgetNotFound>
+    <tm2llNoConvergence>tm2ll: Pas de convergence de la latitude</tm2llNoConvergence>
+    <unableToLoadDoc>
+      Impossible de télécharger document externe: {0}.
+      La propriété proxyUrl doit être défini dans la configuration.
+    </unableToLoadDoc>
+    <unableToSaveLog>Impossible de sauvegarder historique d'événements; fournissez une propriété serializeUrl dans configuration</unableToSaveLog>
+    <undefinedListener>Listener indéfini pour: {0}</undefinedListener>
+    <unitCentimeters>centimètres</unitCentimeters>
+    <unitCentimetersAbbr>cm</unitCentimetersAbbr>
+    <unitFeet>pieds</unitFeet>
+    <unitFeetAbbr>pi</unitFeetAbbr>
+    <unitInches>pouces</unitInches>
+    <unitInchesAbbr>p</unitInchesAbbr>
+    <unitKilometers>kilomètres</unitKilometers>
+    <unitKilometersAbbr>km</unitKilometersAbbr>
+    <unitNauticalMiles>milles marin</unitNauticalMiles>
+    <unitNauticalMilesAbbr>nmi</unitNauticalMilesAbbr>
+    <unitMeters>mètres</unitMeters>
+    <unitMetersAbbr>m</unitMetersAbbr>
+    <unitMiles>milles</unitMiles>
+    <unitMilesAbbr>mi</unitMilesAbbr>
+    <unknownRucType>Type RUC inconnu</unknownRucType>
+    <westWgs84>Ouest (WGS84)</westWgs84>
+  </messages>
+</WidgetText>
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/036.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/skin/default/pushpins/036.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/text/es/widgetText.xml
===================================================================
--- lib/spatial/mapbuilder/lib/text/es/widgetText.xml	(nonexistent)
+++ lib/spatial/mapbuilder/lib/text/es/widgetText.xml	(revision 4307)
@@ -0,0 +1,263 @@
+<?xml version="1.0" encoding="utf-8" standalone="no" ?>
+<WidgetText xmlns="http://mapbuilder.sourceforge.net/mapbuilder" 
+    version="0.2.1" id="mbDefaultText" xml:lang="es">
+  <!--
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ..//mapbuilder/lib/schemas/config.xsd"
+    
+    Description: This file contains all text used in widgets and JavaScript
+                 for multilingual support.  The widget text values are set as
+                 XSL params before the widget is painted.
+                 From JavaScript the messages can be retrieved with
+                 mbGetMessage(messageKey); see the JSDoc for details.
+    Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html 
+
+    $Id: widgetText.xml 3873 2008-02-27 11:01:53Z gjvoosten $
+  -->
+  <!-- Widget (XSL) messages -->
+  <widgets>
+    <Abstract>
+      <abstract>Sumario</abstract>
+      <moreInfo>Más información de este mapa</moreInfo>
+    </Abstract>
+    
+    <AoiForm>
+      <east>Este:</east>
+      <north>Norte:</north>
+      <south>Sur:</south>
+      <title>Coordenadas del Área de Interés</title>
+      <west>Oeste:</west>
+    </AoiForm>
+    
+    <Back>
+      <tooltip>Zoom anterior</tooltip>
+    </Back>
+    
+    <CatSearchForm>
+      <east>Este:</east>
+      <north>Norte:</north>
+      <south>Sur:</south>
+      <west>Oeste:</west>
+    </CatSearchForm>
+    
+    <CollectionList>
+      <title>Seleccione un mapa a cargar:</title>
+    </CollectionList>
+    
+    <CursorTrack>
+      <latitude>lat: </latitude>
+      <longitude>lon: </longitude>
+      <xcoord>x: </xcoord>
+      <ycoord>y: </ycoord>
+    </CursorTrack>
+    
+    <DeleteFeature>
+      <tooltip>Eliminar el Elemento(s) en el servidor</tooltip>
+    </DeleteFeature>
+    
+    <DragPan>
+      <tooltip>Haga clic para pinchar y arrastrar el mapa</tooltip>
+    </DragPan>
+    
+    <EditLine>
+      <tooltip>Haga clic en el mapa para añadir un punto a una línea</tooltip>
+    </EditLine>
+    
+    <EditPoint>
+      <tooltip>Haga clic en el mapa para crear un elemento puntual</tooltip>
+    </EditPoint>
+    
+    <EditPolygon>
+      <tooltip>Haga clic en el mapa para añadir un punto a un polígono</tooltip>
+    </EditPolygon>
+    
+    <Forward>
+      <tooltip>Zoom siguiente</tooltip>
+    </Forward>
+    
+    <GetFeatureInfo>
+      <tooltip>Haga clic en un elemento para más información</tooltip>
+    </GetFeatureInfo>
+    
+    <GetFeatureInfoWSR>
+      <tooltip>Haga clic en un elemento para más información</tooltip>
+    </GetFeatureInfoWSR>
+
+    <InsertFeature>
+      <tooltip>Guardar el Elemento(s) actual en el servidor</tooltip>
+    </InsertFeature>
+    
+    <LayerControl>
+      <deleteLayerTip>Eliminar esta capa</deleteLayerTip>
+      <layerIndexTip>Posición actual de esta capa en la pila de imágenes</layerIndexTip>
+      <legendTip>Alternar visualización o no de la leyenda</legendTip>
+      <moveLayerDownTip>Mover esta capa hacia abajo en la pila</moveLayerDownTip>
+      <moveLayerUpTip>Mover esta capa hacia arriba en la pila</moveLayerUpTip>
+      <nameLayerTip>Nombre de la capa</nameLayerTip>
+      <opacityTip>Nivel de opacidad</opacityTip>
+      <toggleVisTip>Alternar visibilidad o no de esta capa</toggleVisTip>
+    </LayerControl>
+    
+    <Legend>
+      <title>Capas del Mapa</title>
+    </Legend>
+    
+    <Measurement>
+      <tooltip>Haga clic en el mapa para medir la distancia</tooltip>
+    </Measurement>
+    
+    <ModelStatus>
+      <title>Estado para: </title>
+    </ModelStatus>
+    
+    <ModelUrlInput>
+      <load>carga</load>
+      <title>URL: </title>
+    </ModelUrlInput>
+    
+    <Reset>
+      <tooltip>Volver a la extensión completa del mapa</tooltip>
+    </Reset>
+    
+    <Save>
+      <tooltip>Haga clic para guardar el mapa</tooltip>
+    </Save>
+    
+    <SetAoi>
+      <tooltip>Haga clic y arrastre para establecer el área de interés</tooltip>
+    </SetAoi>
+    
+    <Timestamp>
+      <title>Fecha/hora: </title>
+    </Timestamp>
+    
+    <WebServiceForm>
+      <mapsheet>Índice NTS:</mapsheet>
+      <ntsTitle>Servicio Web de búsqueda NTS</ntsTitle>
+    </WebServiceForm>
+    
+    <WfsGetFeature>
+      <tooltip>Haga clic en el elemento a consultar</tooltip>
+    </WfsGetFeature>
+    
+    <ZoomIn>
+      <tooltip>Haga clic y arrastre para acercarse</tooltip>
+    </ZoomIn>
+    
+    <ZoomOut>
+      <tooltip>Haga clic para alejarse</tooltip>
+    </ZoomOut>
+  </widgets>
+  
+  <!-- JavaScript messages -->
+  <messages>
+    <aeaInitEqualLatitudes>aeaInit: Latitudes iguales para Paralelos Estándar en lados opuestos del ecuador</aeaInitEqualLatitudes>
+    <aeqdFwdPointError>Error de proyección en aeqdFwd()</aeqdFwdPointError>
+    <aeqdInvDataError>Error de entrada de datos en aeqdInv()</aeqdInvDataError>
+    <aoiFormNotFound>No se pudo encontrar aoiForm para geoSearch</aoiFormNotFound>
+    <atLeastOneValue>Por favor introduzca al menos un valor antes de proceder</atLeastOneValue>
+    <buttonBarRequired>Propiedad buttonBar requerida para el objeto: {0}</buttonBarRequired>
+    <cantCalculateDistance>Measurement no es capaz de calcular la distancia</cantCalculateDistance>
+    <cantGoBack>No puede volver más atrás</cantGoBack>
+    <cantGoForward>No puede ir más adelante</cantGoForward>
+    <cantMoveDown>No se puede mover el nodo más allá del final de la lista: {0}</cantMoveDown>
+    <cantMoveUp>No se puede mover el nodo más allá del principio de la lista: {0}</cantMoveUp>
+    <convertingCoords>convirtiendo coordenadas</convertingCoords>
+    <docLoading>Cargando documento, por favor espere...</docLoading>
+    <documentParseError>Error de procesado del documento: {0}</documentParseError>
+    <eastWgs84>Este (WGS84)</eastWgs84>
+    <equiInvDataError>Error de datos de entrada en equiInv()</equiInvDataError>
+    <errorCreatingObject>Error creando objeto: {0}</errorCreatingObject>
+    <errorLoadingDocument>Error cargando documento: {0} - {1}-{2}</errorLoadingDocument>
+    <errorLoadingModel>Error en Config loadModel: {0}: {1}</errorLoadingModel>
+    <errorLoadingStylesheet>Error cargando hoja de estilos XSL: {0}</errorLoadingStylesheet>
+    <errorPaintingWidget>Error en Config paintWidget: el widget no existe</errorPaintingWidget>
+    <eventLogSaved>Registro de eventos guardado como: {0}</eventLogSaved>
+    <exceptionTransformingDoc>Excepción transformando el documento con XSL: {0}</exceptionTransformingDoc>
+    <featureNotFoundOwsContext>Elemento no encontrado</featureNotFoundOwsContext>
+    <featureNotFoundWebServiceRequest>WebServiceRequest: error buscando nodo del elemento: {0}</featureNotFoundWebServiceRequest>
+    <gridShiftError>ERROR: Las transformaciones de desplazamiento de cuadrícula no están implementadas aún (cscs.js)</gridShiftError>
+    <idRequired>Se requiere id para el objeto: {0}</idRequired>
+    <invalidFeatureXpathEditLine>EditLine: featureXpath no válido en config: {0}</invalidFeatureXpathEditLine>
+    <invalidFeatureXpathEditPoint>EditPoint:  featureXpath no válido en config: {0}</invalidFeatureXpathEditPoint>
+    <invalidFeatureXpathEditPolygon>EditPolygon: featureXpath no válido en config: {0}</invalidFeatureXpathEditPolygon>
+    <invalidFeatureXpathMeasurement>Measurement: featureXpath no válido en config: {0}</invalidFeatureXpathMeasurement>
+    <invalidGeom>Geometría no válida para: {0}</invalidGeom>
+    <invalidGmlGeom>Geometría GML no válida</invalidGmlGeom>
+    <laeaInvDataError>Error en los datos de entrada en laeaInv()</laeaInvDataError>
+    <lastFrameAfterFirst>La última trama debe ser posterior a la primera trama</lastFrameAfterFirst>
+    <layerTypeNotSupported>MapPaneOL: Sin soporte para el tipo de capa={0}</layerTypeNotSupported>
+    <lccInitEqualLatitudes>lccInit: Latitudes iguales para Paralelos Estándar en lados opuestos del ecuador</lccInitEqualLatitudes>
+    <listenerError>Error de Listener: param={0}, target={1}, callBackFunction={2}</listenerError>
+    <ll2lccNoProjection>ll2lcc: El punto no puede proyectarse</ll2lccNoProjection>
+    <ll2mAtPoles>ll2m: La transformación no puede obtenerse en los polos</ll2mAtPoles>
+    <ll2stInfiniteProjection>ll2st: El punto se proyecta en el infinito</ll2stInfiniteProjection>
+    <ll2tmInfiniteProjection>ll2tm: El punto se proyecta en el infinito</ll2tmInfiniteProjection>
+    <llInputOutOfRange>Entrada fuera de rango: lon: {0} - lat: {1}</llInputOutOfRange>
+    <loadingLayer>Cargando capa del mapa {0}</loadingLayer>
+    <loadingLayers>Cargando capas del mapa {0}</loadingLayers>
+    <mollFwdIterationError>La iteración no consiguió converger en mollFwd()</mollFwdIterationError>
+    <noBboxInContext>Ningún BBOX definido en contexto</noBboxInContext>
+    <noContextDefined>Ningún contexto definido en config</noContextDefined>
+    <noCountryCode>Necesita especificar un código de país</noCountryCode>
+    <noDataYet>Sin datos para mostrar todavía</noDataYet>
+    <nodeNotFound>Nodo no encontrado; incapaz de eliminar nodo: {0}</nodeNotFound>
+    <noFeatureToDelete>Ningún elemento disponible para ser eliminado</noFeatureToDelete>
+    <noFeatureToInsert>Ningún elemento disponible para ser insertado</noFeatureToInsert>
+    <noMouseHandlerTool>Error buscando mouseHandler: {0} para herramienta: {1}</noMouseHandlerTool>
+    <noQueryableLayers>
+      No hay capas consultables disponibles,
+      por favor añada una capa consultable al contexto.
+    </noQueryableLayers>
+    <noQueryableLayersVisible>
+      No hay capas consultables visibles,
+      por favor marque una capa consultable en la leyenda.
+    </noQueryableLayersVisible>
+    <noRssTitle>Sin título RSS</noRssTitle>
+    <northWgs84>Norte (WGS84)</northWgs84>
+    <noSerializeUrl>Se debe especificar la propiedad serializeUrl en config para guardar el modelo</noSerializeUrl>
+    <noTargetContext>Error buscando targetContext: {0} para: {1}</noTargetContext>
+    <noTargetModelTool>Error buscando targetModel: {0} para la herramienta: {1}</noTargetModelTool>
+    <noTargetModelWidget>Error finding targetModel: {0} for: {1}</noTargetModelWidget>
+    <nullOwsContext>Documento OWSContext nulo</nullOwsContext>
+    <nullXmlResponse>Respuesta XML nula: {0}</nullXmlResponse>
+    <omercFwdInfinity>El punto se proyecta en el infinito en omercFwd()</omercFwdInfinity>
+    <omercInitDataError>Error en los datos de entrada en omercInit()</omercInitDataError>
+    <orthoFwdPointError>Los puntos no pueden proyectarse en orthoFwd()</orthoFwdPointError>
+    <orthoInvDataError>Error en los datos de entrada en orthoInv()</orthoInvDataError>
+    <parseError>Error de procesado: {0}</parseError>
+    <phi1zNoConvergence>phi1z: Error de convergencia</phi1zNoConvergence>
+    <phi2zNoConvergence>phi2z: Error de convergencia</phi2zNoConvergence>
+    <phi3zNoConvergence>phi3z: Error de convergencia</phi3zNoConvergence>
+    <phi4zNoConvergence>phi4z: Error de convergencia</phi4zNoConvergence>
+    <projectionNotSupported>Measurement: ¡Proyección no soportada!</projectionNotSupported>
+    <scale>escala 1:{0}</scale>
+    <selectLayer>Seleccione una capa si desea insertar el sld en el wmc</selectLayer>
+    <sinuInvDataError>Error en los datos de entrada en sinuInv()</sinuInvDataError>
+    <southWgs84>Sur (WGS84)</southWgs84>
+    <tabWidgetNotFound>Tab widget no encontrado: {0}</tabWidgetNotFound>
+    <tm2llNoConvergence>tm2ll: La latitud no consiguió converger</tm2llNoConvergence>
+    <unableToLoadDoc>
+      Incapaz de cargar documento externo: {0}.
+      Establezca la propiedad proxyUrl en config.
+    </unableToLoadDoc>
+    <unableToSaveLog>Incapaz de guardar el registro de eventos; indique una propiedad serializeUrl en config</unableToSaveLog>
+    <undefinedListener>Listener indefinido para: {0}</undefinedListener>
+    <unitCentimeters>centimetros</unitCentimeters>
+    <unitCentimetersAbbr>cm</unitCentimetersAbbr>
+    <unitFeet>pies</unitFeet>
+    <unitFeetAbbr>ft</unitFeetAbbr>
+    <unitInches>pulgadas</unitInches>
+    <unitInchesAbbr>in</unitInchesAbbr>
+    <unitKilometers>kilometros</unitKilometers>
+    <unitKilometersAbbr>km</unitKilometersAbbr>
+    <unitNauticalMiles>millas náuticas</unitNauticalMiles>
+    <unitNauticalMilesAbbr>nmi</unitNauticalMilesAbbr>
+    <unitMeters>metros</unitMeters>
+    <unitMetersAbbr>m</unitMetersAbbr>
+    <unitMiles>millas</unitMiles>
+    <unitMilesAbbr>mi</unitMilesAbbr>
+    <unknownRucType>Tipo RUC desconocido</unknownRucType>
+    <westWgs84>Oeste (WGS84)</westWgs84>
+  </messages>
+</WidgetText>
Index: lib/spatial/mapbuilder/lib/skin/default/pushpins/readme.txt
===================================================================
--- lib/spatial/mapbuilder/lib/skin/default/pushpins/readme.txt	(nonexistent)
+++ lib/spatial/mapbuilder/lib/skin/default/pushpins/readme.txt	(revision 4307)
@@ -0,0 +1,3 @@
+These pushpins were created based on the Adobe Photoshop "web hues" swatch pallete.  Feel free to use them in any project, free or commercial.  
+
+Sam Kuhn, October 2005
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/text/en/widgetText.xml
===================================================================
--- lib/spatial/mapbuilder/lib/text/en/widgetText.xml	(nonexistent)
+++ lib/spatial/mapbuilder/lib/text/en/widgetText.xml	(revision 4307)
@@ -0,0 +1,263 @@
+<?xml version="1.0" encoding="utf-8" standalone="no" ?>
+<WidgetText xmlns="http://mapbuilder.sourceforge.net/mapbuilder" 
+    version="0.2.1" id="mbDefaultText" xml:lang="en">
+  <!--
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ..//mapbuilder/lib/schemas/config.xsd"
+    
+    Description: This file contains all text used in widgets and JavaScript
+                 for multilingual support.  The widget text values are set as
+                 XSL params before the widget is painted.
+                 From JavaScript the messages can be retrieved with
+                 mbGetMessage(messageKey); see the JSDoc for details.
+    Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html 
+
+    $Id: widgetText.xml 3671 2007-12-04 11:40:10Z ahocevar $
+  -->
+  <!-- Widget (XSL) messages -->
+  <widgets>
+    <Abstract>
+      <abstract>Abstract</abstract>
+      <moreInfo>Read more about this map</moreInfo>
+    </Abstract>
+    
+    <AoiForm>
+      <east>East:</east>
+      <north>North:</north>
+      <south>South:</south>
+      <title>Area of interest coordinates</title>
+      <west>West:</west>
+    </AoiForm>
+    
+    <Back>
+      <tooltip>Get the previous extent</tooltip>
+    </Back>
+    
+    <CatSearchForm>
+      <east>East:</east>
+      <north>North:</north>
+      <south>South:</south>
+      <west>West:</west>
+    </CatSearchForm>
+    
+    <CollectionList>
+      <title>Select a map to load:</title>
+    </CollectionList>
+    
+    <CursorTrack>
+      <latitude>lat: </latitude>
+      <longitude>lon: </longitude>
+      <xcoord>x: </xcoord>
+      <ycoord>y: </ycoord>
+    </CursorTrack>
+    
+    <DeleteFeature>
+      <tooltip>Delete the current Feature(s) on the server</tooltip>
+    </DeleteFeature>
+    
+    <DragPan>
+      <tooltip>Click and drag to pan</tooltip>
+    </DragPan>
+    
+    <EditLine>
+      <tooltip>Click on map to add a point to a line</tooltip>
+    </EditLine>
+    
+    <EditPoint>
+      <tooltip>Click on map to create a point feature</tooltip>
+    </EditPoint>
+    
+    <EditPolygon>
+      <tooltip>Click on map to add a point to a polygon</tooltip>
+    </EditPolygon>
+    
+    <Forward>
+      <tooltip>Get the next extent</tooltip>
+    </Forward>
+    
+    <GetFeatureInfo>
+      <tooltip>Click on feature for more info</tooltip>
+    </GetFeatureInfo>
+    
+    <GetFeatureInfoWSR>
+      <tooltip>Click on feature for more info</tooltip>
+    </GetFeatureInfoWSR>
+
+    <InsertFeature>
+      <tooltip>Save the current Feature(s) to the server</tooltip>
+    </InsertFeature>
+    
+    <LayerControl>
+      <deleteLayerTip>Remove this layer</deleteLayerTip>
+      <layerIndexTip>Current position of this layer in the image stack</layerIndexTip>
+      <legendTip>Toggle display of the legend</legendTip>
+      <moveLayerDownTip>Move this layer down in the stack</moveLayerDownTip>
+      <moveLayerUpTip>Move this layer up in the stack</moveLayerUpTip>
+      <nameLayerTip>Layer name</nameLayerTip>
+      <opacityTip>Opacity level</opacityTip>
+      <toggleVisTip>Toggle the visibility of this layer</toggleVisTip>
+    </LayerControl>
+    
+    <Legend>
+      <title>Map Layers</title>
+    </Legend>
+    
+    <Measurement>
+      <tooltip>Click on the map to measure the distance</tooltip>
+    </Measurement>
+    
+    <ModelStatus>
+      <title>Status for: </title>
+    </ModelStatus>
+    
+    <ModelUrlInput>
+      <load>load</load>
+      <title>URL: </title>
+    </ModelUrlInput>
+    
+    <Reset>
+      <tooltip>Reset the map to full extent</tooltip>
+    </Reset>
+    
+    <Save>
+      <tooltip>Click to save this map</tooltip>
+    </Save>
+    
+    <SetAoi>
+      <tooltip>Click and drag to set the area of interest</tooltip>
+    </SetAoi>
+    
+    <Timestamp>
+      <title>Timestamp: </title>
+    </Timestamp>
+    
+    <WebServiceForm>
+      <mapsheet>NTS index:</mapsheet>
+      <ntsTitle>NTS Lookup web service</ntsTitle>
+    </WebServiceForm>
+    
+    <WfsGetFeature>
+      <tooltip>Click on feature to query it</tooltip>
+    </WfsGetFeature>
+    
+    <ZoomIn>
+      <tooltip>Click and drag to zoom in</tooltip>
+    </ZoomIn>
+    
+    <ZoomOut>
+      <tooltip>Click to zoom out</tooltip>
+    </ZoomOut>
+  </widgets>
+  
+  <!-- JavaScript messages -->
+  <messages>
+    <aeaInitEqualLatitudes>aeaInit: Equal Latitudes for Standard Parallels on opposite sides of equator</aeaInitEqualLatitudes>
+    <aeqdFwdPointError>Point projection error in aeqdFwd()</aeqdFwdPointError>
+    <aeqdInvDataError>Input data error in aeqdInv()</aeqdInvDataError>
+    <aoiFormNotFound>Could not find aoiForm for geoSearch</aoiFormNotFound>
+    <atLeastOneValue>Please enter at least one value, before proceeding</atLeastOneValue>
+    <buttonBarRequired>buttonBar property required for object: {0}</buttonBarRequired>
+    <cantCalculateDistance>Measurement does not know how to calculate the distanc</cantCalculateDistance>
+    <cantGoBack>You can't go further back</cantGoBack>
+    <cantGoForward>You can't go further forward</cantGoForward>
+    <cantMoveDown>Can't move node past end of list: {0}</cantMoveDown>
+    <cantMoveUp>Can't move node past beginning of list: {0}</cantMoveUp>
+    <convertingCoords>converting coordinates</convertingCoords>
+    <docLoading>Document loading, please wait...</docLoading>
+    <documentParseError>Document parseError: {0}</documentParseError>
+    <eastWgs84>East (WGS84)</eastWgs84>
+    <equiInvDataError>Input data error in equiInv()</equiInvDataError>
+    <errorCreatingObject>Error creating object: {0}</errorCreatingObject>
+    <errorLoadingDocument>Error loading document: {0} - {1}-{2}</errorLoadingDocument>
+    <errorLoadingModel>Config loadModel error: {0}: {1}</errorLoadingModel>
+    <errorLoadingStylesheet>Error loading XSL stylesheet: {0}</errorLoadingStylesheet>
+    <errorPaintingWidget>Config paintWidget error: widget does not exist</errorPaintingWidget>
+    <eventLogSaved>Event log saved as: {0}</eventLogSaved>
+    <exceptionTransformingDoc>Exception transforming doc with XSL: {0}</exceptionTransformingDoc>
+    <featureNotFoundOwsContext>Feature not found</featureNotFoundOwsContext>
+    <featureNotFoundWebServiceRequest>WebServiceRequest: error finding feature node: {0}</featureNotFoundWebServiceRequest>
+    <gridShiftError>ERROR: Grid shift transformations are not implemented yet (cscs.js)</gridShiftError>
+    <idRequired>id required for object: {0}</idRequired>
+    <invalidFeatureXpathEditLine>EditLine: invalid featureXpath in config: {0}</invalidFeatureXpathEditLine>
+    <invalidFeatureXpathEditPoint>EditPoint: invalid featureXpath in config: {0}</invalidFeatureXpathEditPoint>
+    <invalidFeatureXpathEditPolygon>EditPolygon: invalid featureXpath in config: {0}</invalidFeatureXpathEditPolygon>
+    <invalidFeatureXpathMeasurement>Measurement: invalid featureXpath in config: {0}</invalidFeatureXpathMeasurement>
+    <invalidGeom>Invalid geom for: {0}</invalidGeom>
+    <invalidGmlGeom>Invalid GML Geometry</invalidGmlGeom>
+    <laeaInvDataError>Input data error in laeaInv()</laeaInvDataError>
+    <lastFrameAfterFirst>Last frame must be after the first frame</lastFrameAfterFirst>
+    <layerTypeNotSupported>MapPaneOL: No support for layer type={0}</layerTypeNotSupported>
+    <lccInitEqualLatitudes>lccInit: Equal Latitudes for Standard Parallels on opposite sides of equator</lccInitEqualLatitudes>
+    <listenerError>Listener error: param={0}, target={1}, callBackFunction={2}</listenerError>
+    <ll2lccNoProjection>ll2lcc: Point can not be projected</ll2lccNoProjection>
+    <ll2mAtPoles>ll2m: Transformation cannot be computed at the poles</ll2mAtPoles>
+    <ll2stInfiniteProjection>ll2st: Point projects into infinity</ll2stInfiniteProjection>
+    <ll2tmInfiniteProjection>ll2tm: Point projects into infinity</ll2tmInfiniteProjection>
+    <llInputOutOfRange>Input out of range: lon: {0} - lat: {1}</llInputOutOfRange>
+    <loadingLayer>Loading {0} map layer</loadingLayer>
+    <loadingLayers>Loading {0} map layers</loadingLayers>
+    <mollFwdIterationError>Iteration failed to converge in mollFwd()</mollFwdIterationError>
+    <noBboxInContext>No BBOX defined in context</noBboxInContext>
+    <noContextDefined>No context defined in config</noContextDefined>
+    <noCountryCode>You need to specify a country code</noCountryCode>
+    <noDataYet>No data to show yet</noDataYet>
+    <nodeNotFound>Node not found; unable to delete node: {0}</nodeNotFound>
+    <noFeatureToDelete>No feature available to delete</noFeatureToDelete>
+    <noFeatureToInsert>No feature available to insert</noFeatureToInsert>
+    <noMouseHandlerTool>Error finding mouseHandler: {0} for tool: {1}</noMouseHandlerTool>
+    <noQueryableLayers>
+      There are no queryable layers available,
+      please add a queryable layer to the context.
+    </noQueryableLayers>
+    <noQueryableLayersVisible>
+      There are no queryable layers visible,
+      please mark a queryable layer in the legend.
+    </noQueryableLayersVisible>
+    <noRssTitle>No RSS title</noRssTitle>
+    <northWgs84>North (WGS84)</northWgs84>
+    <noSerializeUrl>serializeUrl must be specified in config to save a model</noSerializeUrl>
+    <noTargetContext>Error finding targetContext: {0} for: {1}</noTargetContext>
+    <noTargetModelTool>Error finding targetModel: {0} for tool: {1}</noTargetModelTool>
+    <noTargetModelWidget>Error finding targetModel: {0} for: {1}</noTargetModelWidget>
+    <nullOwsContext>Null OWSContext doc</nullOwsContext>
+    <nullXmlResponse>Null XML response: {0}</nullXmlResponse>
+    <omercFwdInfinity>Point projects into infinity in omercFwd()</omercFwdInfinity>
+    <omercInitDataError>Input data error in omercInit()</omercInitDataError>
+    <orthoFwdPointError>Points cannot be projected in orthoFwd()</orthoFwdPointError>
+    <orthoInvDataError>Input data error in orthoInv()</orthoInvDataError>
+    <parseError>Parse error: {0}</parseError>
+    <phi1zNoConvergence>phi1z: Convergence error</phi1zNoConvergence>
+    <phi2zNoConvergence>phi2z: Convergence error</phi2zNoConvergence>
+    <phi3zNoConvergence>phi3z: Convergence error</phi3zNoConvergence>
+    <phi4zNoConvergence>phi4z: Convergence error</phi4zNoConvergence>
+    <projectionNotSupported>Measurement: Projection not supported!</projectionNotSupported>
+    <scale>scale 1:{0}</scale>
+    <selectLayer>Select a layer if you want insert sld in wmc</selectLayer>
+    <sinuInvDataError>Input data error in sinuInv()</sinuInvDataError>
+    <southWgs84>South (WGS84)</southWgs84>
+    <tabWidgetNotFound>Tab widget not found: {0}</tabWidgetNotFound>
+    <tm2llNoConvergence>tm2ll: Latitude failed to converge</tm2llNoConvergence>
+    <unableToLoadDoc>
+      Unable to load external document: {0}.
+      Set the proxyUrl property in config.
+    </unableToLoadDoc>
+    <unableToSaveLog>Unable to save event log; provide a serializeUrl property in config</unableToSaveLog>
+    <undefinedListener>Undefined listener for: {0}</undefinedListener>
+    <unitCentimeters>centimeters</unitCentimeters>
+    <unitCentimetersAbbr>cm</unitCentimetersAbbr>
+    <unitFeet>feet</unitFeet>
+    <unitFeetAbbr>ft</unitFeetAbbr>
+    <unitInches>inches</unitInches>
+    <unitInchesAbbr>in</unitInchesAbbr>
+    <unitKilometers>kilometers</unitKilometers>
+    <unitKilometersAbbr>km</unitKilometersAbbr>
+    <unitNauticalMiles>nautical miles</unitNauticalMiles>
+    <unitNauticalMilesAbbr>nmi</unitNauticalMilesAbbr>
+    <unitMeters>meters</unitMeters>
+    <unitMetersAbbr>m</unitMetersAbbr>
+    <unitMiles>miles</unitMiles>
+    <unitMilesAbbr>mi</unitMilesAbbr>
+    <unknownRucType>Unknown RUC type</unknownRucType>
+    <westWgs84>West (WGS84)</westWgs84>
+  </messages>
+</WidgetText>
Index: lib/spatial/mapbuilder/lib/text/de/widgetText.xml
===================================================================
--- lib/spatial/mapbuilder/lib/text/de/widgetText.xml	(nonexistent)
+++ lib/spatial/mapbuilder/lib/text/de/widgetText.xml	(revision 4307)
@@ -0,0 +1,263 @@
+<?xml version="1.0" encoding="utf-8" standalone="no" ?>
+<WidgetText xmlns="http://mapbuilder.sourceforge.net/mapbuilder" 
+    version="0.2.1" id="mbDefaultText" xml:lang="en">
+  <!--
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ..//mapbuilder/lib/schemas/config.xsd"
+    
+    Description: This file contains all text used in widgets and JavaScript
+                 for multilingual support.  The widget text values are set as
+                 XSL params before the widget is painted.
+                 From JavaScript the messages can be retrieved with
+                 mbGetMessage(messageKey); see the JSDoc for details.
+    Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html 
+
+    $Id: widgetText.xml 3671 2007-12-04 11:40:10Z ahocevar $
+  -->
+  <!-- Widget (XSL) messages -->
+  <widgets>
+    <Abstract>
+      <abstract>Abstract</abstract>
+      <moreInfo>Mehr Informationen zu dieser Karte</moreInfo>
+    </Abstract>
+    
+    <AoiForm>
+      <east>Osten:</east>
+      <north>Norden:</north>
+      <south>Süden:</south>
+      <title>Area of Interest Koordinaten</title>
+      <west>Westen:</west>
+    </AoiForm>
+    
+    <Back>
+      <tooltip>Vorheriger Kartenausschnitt</tooltip>
+    </Back>
+    
+    <CatSearchForm>
+      <east>Osten:</east>
+      <north>Norden:</north>
+      <south>Süden:</south>
+      <west>Westen:</west>
+    </CatSearchForm>
+    
+    <CollectionList>
+      <title>Karte zum Laden auswählen:</title>
+    </CollectionList>
+    
+    <CursorTrack>
+      <latitude>Breite: </latitude>
+      <longitude>Länge: </longitude>
+      <xcoord>x: </xcoord>
+      <ycoord>y: </ycoord>
+    </CursorTrack>
+    
+    <DeleteFeature>
+      <tooltip>Aktuelle(s) Feature(s) am Server löschen</tooltip>
+    </DeleteFeature>
+    
+    <DragPan>
+      <tooltip>Zum Verschieben klicken und ziehen</tooltip>
+    </DragPan>
+    
+    <EditLine>
+      <tooltip>In die Karte klicken, um eine Linie zu zeichnen</tooltip>
+    </EditLine>
+    
+    <EditPoint>
+      <tooltip>In die Karte klicken, um einen Punkt zu zeichnen</tooltip>
+    </EditPoint>
+    
+    <EditPolygon>
+      <tooltip>In die Karte klicken, um ein Polygon zu zeichnen</tooltip>
+    </EditPolygon>
+    
+    <Forward>
+      <tooltip>Nachfolgender Kartenausschnitt</tooltip>
+    </Forward>
+    
+    <GetFeatureInfo>
+      <tooltip>Für mehr Information auf ein Feature klicken</tooltip>
+    </GetFeatureInfo>
+    
+    <GetFeatureInfoWSR>
+      <tooltip>Für mehr Information auf ein Feature klicken</tooltip>
+    </GetFeatureInfoWSR>
+    
+    <InsertFeature>
+      <tooltip>Aktuelle(s) Feature(s) am Server speichern</tooltip>
+    </InsertFeature>
+    
+    <LayerControl>
+      <deleteLayerTip>Layer löschen</deleteLayerTip>
+      <layerIndexTip>Aktuelle Ebene dieses Layers</layerIndexTip>
+      <legendTip>Legende ein-/ausschalten</legendTip>
+      <moveLayerDownTip>Layer eine Ebene nach hinten verschieben</moveLayerDownTip>
+      <moveLayerUpTip>Layer eine Ebene nach vor verschieben</moveLayerUpTip>
+      <nameLayerTip>Layername</nameLayerTip>
+      <opacityTip>Transparenz</opacityTip>
+      <toggleVisTip>Sichtbarkeit des Layers ein-/ausschalten</toggleVisTip>
+    </LayerControl>
+    
+    <Legend>
+      <title>Kartenlayer</title>
+    </Legend>
+    
+    <Measurement>
+      <tooltip>In die Karte klicken, um Distanzen zu messen</tooltip>
+    </Measurement>
+    
+    <ModelStatus>
+      <title>Status für: </title>
+    </ModelStatus>
+    
+    <ModelUrlInput>
+      <load>laden</load>
+      <title>URL: </title>
+    </ModelUrlInput>
+    
+    <Reset>
+      <tooltip>Gesamte Karte darstellen</tooltip>
+    </Reset>
+    
+    <Save>
+      <tooltip>Hier klicken, um die Karte zu speichern</tooltip>
+    </Save>
+    
+    <SetAoi>
+      <tooltip>Area of Interest durch Klicken und Ziehen festlegen</tooltip>
+    </SetAoi>
+    
+    <Timestamp>
+      <title>Zeitstempel: </title>
+    </Timestamp>
+    
+    <WebServiceForm>
+      <mapsheet>NTS Index:</mapsheet>
+      <ntsTitle>NTS Webservice Lookup</ntsTitle>
+    </WebServiceForm>
+    
+    <WfsGetFeature>
+      <tooltip>Für Abfrage auf ein Feature klicken</tooltip>
+    </WfsGetFeature>
+    
+    <ZoomIn>
+      <tooltip>Karte vergrößern durch Klicken und Ziehen</tooltip>
+    </ZoomIn>
+    
+    <ZoomOut>
+      <tooltip>Karte verkleinern durch Klicken (und Ziehen)</tooltip>
+    </ZoomOut>
+  </widgets>
+  
+  <!-- JavaScript messages -->
+  <messages>
+    <aeaInitEqualLatitudes>aeaInit: Gleiche Breiten für Standard-Parallele beidseitig des Äquators</aeaInitEqualLatitudes>
+    <aeqdFwdPointError>Fehler beim Projizieren eines Punktes in aeqdFwd()</aeqdFwdPointError>
+    <aeqdInvDataError>Eingabedatenfehler in aeqdInv()</aeqdInvDataError>
+    <aoiFormNotFound>aoiForm für geoSearch konnte nicht gefunden werden</aoiFormNotFound>
+    <atLeastOneValue>Bitte zumindest einen Wert auswählen</atLeastOneValue>
+    <buttonBarRequired>buttonBar Property fehlt für Objekt: {0}</buttonBarRequired>
+    <cantCalculateDistance>Measurement kann die Distanz nicht berechnen</cantCalculateDistance>
+    <cantGoBack>Keine älteren Ausschnitte vorhanden</cantGoBack>
+    <cantGoForward>Keine neueren Ausschnitte vorhanden</cantGoForward>
+    <cantMoveDown>Knoten kann nicht weiter nach hinten verschoben werden: {0}</cantMoveDown>
+    <cantMoveUp>Knoten kann nicht weiter nach vorne verschoben werden: {0}</cantMoveUp>
+    <convertingCoords>Koordinaten werden umgewandelt</convertingCoords>
+    <docLoading>Dokument wird geladen, bitte warten...</docLoading>
+    <documentParseError>Fehler beim Parsen des Dokuments: {0}</documentParseError>
+    <eastWgs84>Osten (WGS84)</eastWgs84>
+    <equiInvDataError>Eingabedatenfehler in equiInv()</equiInvDataError>
+    <errorCreatingObject>Fehler beim Anlegen des Objekts: {0}</errorCreatingObject>
+    <errorLoadingDocument>Fehler beim Laden des Dokuments: {0} - {1}-{2}</errorLoadingDocument>
+    <errorLoadingModel>Config loadModel Fehler: {0}: {1}</errorLoadingModel>
+    <errorLoadingStylesheet>Fehler beim Laden des XSL Stylesheets: {0}</errorLoadingStylesheet>
+    <errorPaintingWidget>Config paintWidget Fehler: Widget existiert nicht</errorPaintingWidget>
+    <eventLogSaved>Event Log gespeichert als: {0}</eventLogSaved>
+    <exceptionTransformingDoc>Ausnahmefehler beim Transformieren des Dokuments mit XSL: {0}</exceptionTransformingDoc>
+    <featureNotFoundOwsContext>Feature nicht gefunden</featureNotFoundOwsContext>
+    <featureNotFoundWebServiceRequest>WebServiceRequest: Feature Node nicht gefunden: {0}</featureNotFoundWebServiceRequest>
+    <gridShiftError>ERROR: Grid Shift Transformationen sind noch nicht implementiert (cscs.js)</gridShiftError>
+    <idRequired>id erforderlich für Objekt: {0}</idRequired>
+    <invalidFeatureXpathEditLine>EditLine: ungültiger featureXpath in config: {0}</invalidFeatureXpathEditLine>
+    <invalidFeatureXpathEditPoint>EditPoint: ungültiger featureXpath in config: {0}</invalidFeatureXpathEditPoint>
+    <invalidFeatureXpathEditPolygon>EditPolygon: ungültiger featureXpath in config: {0}</invalidFeatureXpathEditPolygon>
+    <invalidFeatureXpathMeasurement>Measurement: ungültiger featureXpath in config: {0}</invalidFeatureXpathMeasurement>
+    <invalidGeom>Ungültige Geometrie für: {0}</invalidGeom>
+    <invalidGmlGeom>Ungültige GML Geometrie</invalidGmlGeom>
+    <laeaInvDataError>Eingabedatenfehler in laeaInv()</laeaInvDataError>
+    <lastFrameAfterFirst>Letzter Frame muss nach dem ersten kommen</lastFrameAfterFirst>
+    <layerTypeNotSupported>MapPaneOL: Keine Unterstützung für Layer Typ={0}</layerTypeNotSupported>
+    <lccInitEqualLatitudes>lccInit: Gleiche Breiten für Standard-Parallele beidseitig des Äquators</lccInitEqualLatitudes>
+    <listenerError>Listener Fehler: param={0}, target={1}, callBackFunction={2}</listenerError>
+    <ll2lccNoProjection>ll2lcc: Punkt kann nicht projiziert werden</ll2lccNoProjection>
+    <ll2mAtPoles>ll2m: Transformation kann an den Polen nicht berechnet werden</ll2mAtPoles>
+    <ll2stInfiniteProjection>ll2st: Point projiziert ins Unenedliche</ll2stInfiniteProjection>
+    <ll2tmInfiniteProjection>ll2tm: Point projiziert ins Unenedliche</ll2tmInfiniteProjection>
+    <llInputOutOfRange>Eingabe außerhalb des gültigen Bereichs: Breite: {0} - Länge: {1}</llInputOutOfRange>
+    <loadingLayer>Lade {0} Kartenlayer</loadingLayer>
+    <loadingLayers>Lade {0} Kartenlayer</loadingLayers>
+    <mollFwdIterationError>Iteration zur Konvergenz in mollFwd() fehlgeschlagen</mollFwdIterationError>
+    <noBboxInContext>Keine BBOX im Context definiert</noBboxInContext>
+    <noContextDefined>Kein Context in config definiert</noContextDefined>
+    <noCountryCode>Ein internationaler Ländercode muss angegeben werden</noCountryCode>
+    <noDataYet>Noch keine Daten zum Anzeigen vorhanden</noDataYet>
+    <nodeNotFound>Node nicht gefunden; Node kann nicht gelöscht werden: {0}</nodeNotFound>
+    <noFeatureToDelete>Kein Feature zum Löschen verfügbar</noFeatureToDelete>
+    <noFeatureToInsert>Kein Feature zum Einfügen verfügbar</noFeatureToInsert>
+    <noMouseHandlerTool>mouseHandler: {0} für Tool: {1} nicht gefunden</noMouseHandlerTool>
+    <noQueryableLayers>
+      Es sind keine abfragbaren Layer vorhanden,
+      bitte abfragbare Layer zum Context hinzufügen.
+    </noQueryableLayers>
+    <noQueryableLayersVisible>
+      Es sind keine abfragbaren Layer sichtbar,
+      bitte einen Layer in der Legende als abfragbar markieren.
+    </noQueryableLayersVisible>
+    <noRssTitle>Kein RSS Titel</noRssTitle>
+    <northWgs84>Norden (WGS84)</northWgs84>
+    <noSerializeUrl>serializeUrl muss zum Speichern des Models in der config angegeben werden</noSerializeUrl>
+    <noTargetContext>targetContext: {0} für: {1} nicht gefunden</noTargetContext>
+    <noTargetModelTool>targetModel: {0} für tool: {1} nicht gefunden</noTargetModelTool>
+    <noTargetModelWidget>targetModel: {0} für: {1} nicht gefunden</noTargetModelWidget>
+    <nullOwsContext>Null OWSContext Dokuemnt</nullOwsContext>
+    <nullXmlResponse>Null XML Response: {0}</nullXmlResponse>
+    <omercFwdInfinity>Point projiziert ins Unenedliche in omercFwd()</omercFwdInfinity>
+    <omercInitDataError>Eingabedatenfehler in omercInit()</omercInitDataError>
+    <orthoFwdPointError>Punkte können nicht projiziert werden in orthoFwd()</orthoFwdPointError>
+    <orthoInvDataError>Eingabedatenfehler in orthoInv()</orthoInvDataError>
+    <parseError>Fehler beim Parsen: {0}</parseError>
+    <phi1zNoConvergence>phi1z: Convergenzfehler</phi1zNoConvergence>
+    <phi2zNoConvergence>phi2z: Convergenzfehler</phi2zNoConvergence>
+    <phi3zNoConvergence>phi3z: Convergenzfehler</phi3zNoConvergence>
+    <phi4zNoConvergence>phi4z: Convergenzfehler</phi4zNoConvergence>
+    <projectionNotSupported>Measurement: Nicht unterstützte Projektion!</projectionNotSupported>
+    <scale>Maßstab 1:{0}</scale>
+    <selectLayer>Layer auswählen, um SLD in WMC einzufügen</selectLayer>
+    <sinuInvDataError>Eingabedatenfehler in sinuInv()</sinuInvDataError>
+    <southWgs84>Süden (WGS84)</southWgs84>
+    <tabWidgetNotFound>Tab widget nicht gefunden: {0}</tabWidgetNotFound>
+    <tm2llNoConvergence>tm2ll: Konvergenz für Breite nicht herstellbar</tm2llNoConvergence>
+    <unableToLoadDoc>
+      Externes Dokument kann nicht geladen werden: {0}.
+      proxyUrl muss in der config gesetzt werden.
+    </unableToLoadDoc>
+    <unableToSaveLog>Event Log kann nicht gespeichert werden; serializeUrl muss in der config angegeben werden</unableToSaveLog>
+    <undefinedListener>Undefinierter Listener für: {0}</undefinedListener>
+    <unitCentimeters>Zentimeter</unitCentimeters>
+    <unitCentimetersAbbr>cm</unitCentimetersAbbr>
+    <unitFeet>Fuß</unitFeet>
+    <unitFeetAbbr>ft</unitFeetAbbr>
+    <unitInches>Inches</unitInches>
+    <unitInchesAbbr>in</unitInchesAbbr>
+    <unitKilometers>Kilometer</unitKilometers>
+    <unitKilometersAbbr>km</unitKilometersAbbr>
+    <unitNauticalMiles>nautische Meilen</unitNauticalMiles>
+    <unitNauticalMilesAbbr>nmi</unitNauticalMilesAbbr>
+    <unitMeters>Meter</unitMeters>
+    <unitMetersAbbr>m</unitMetersAbbr>
+    <unitMiles>Meilen</unitMiles>
+    <unitMilesAbbr>mi</unitMilesAbbr>
+    <unknownRucType>Unbekannter RUC Typ</unknownRucType>
+    <westWgs84>Westen (WGS84)</westWgs84>
+  </messages>
+</WidgetText>
Index: lib/spatial/mapbuilder/lib/mapbuilderConfig.xml
===================================================================
--- lib/spatial/mapbuilder/lib/mapbuilderConfig.xml	(nonexistent)
+++ lib/spatial/mapbuilder/lib/mapbuilderConfig.xml	(revision 4307)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig 
+    xmlns="http://mapbuilder.sourceforge.net/mapbuilder" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ..//mapbuilder/lib/schemas/config.xsd"
+    version="0.2.1" id="referenceTemplate" >
+  <!--
+    Description: This configuration file sets server level configuration parameters
+                 for the proxyUrl and the serailizeUrl
+    Licence:     LGPL as per: hhttp://www.gnu.org/copyleft/lesser.html
+
+    $Id: mapbuilderConfig.xml 1620 2005-08-10 15:19:16Z madair1 $
+  -->
+  <proxyUrl>/mapbuilder/server/php/proxy.php</proxyUrl>
+  <serializeUrl>/mapbuilder/server/php/serializer.php</serializeUrl>
+</MapbuilderConfig>
+
Index: lib/spatial/mapbuilder/lib/tool/WebServiceRequest.js
===================================================================
--- lib/spatial/mapbuilder/lib/tool/WebServiceRequest.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/WebServiceRequest.js	(revision 4307)
@@ -2,7 +2,7 @@
 Author:       Mike Adair  mike.adairATccrs.nrcan.gc.ca
 License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: WebServiceRequest.js 3881 2008-02-27 15:41:07Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -28,133 +28,189 @@
   //this.debug=true;
   
   //get the request name to add listener to
-  var requestName = toolNode.selectSingleNode("mb:requestName");
-  if (requestName) {
-    this.requestName = requestName.firstChild.nodeValue;
-  }
+  this.requestName = this.getProperty("mb:requestName");
 
   //get the request filter to add to the request
-  var requestFilter = toolNode.selectSingleNode("mb:requestFilter");
-  if (requestFilter) {
-    this.requestFilter = requestFilter.firstChild.nodeValue;
-  }
+  this.requestFilter = this.getProperty("mb:requestFilter");
 
-  var styleUrl = baseDir+"/tool/xsl/"+this.requestName.replace(/:/,"_")+".xsl";
+  var styleUrl = toolNode.selectSingleNode("mb:stylesheet");
+  styleUrl = styleUrl ? getNodeValue(styleUrl) :
+          baseDir+"/tool/xsl/"+this.requestName.replace(/:/,"_")+".xsl";
   this.requestStylesheet = new XslProcessor(styleUrl);
 
   // Set stylesheet parameters for all the child nodes from the config file
   for (var j=0;j<toolNode.childNodes.length;j++) {
-    if (toolNode.childNodes[j].firstChild && toolNode.childNodes[j].firstChild.nodeValue) {
-      this.requestStylesheet.setParameter(toolNode.childNodes[j].nodeName,toolNode.childNodes[j].firstChild.nodeValue);
+    if (getNodeValue(toolNode.childNodes[j])) {
+      this.requestStylesheet.setParameter(toolNode.childNodes[j].nodeName,getNodeValue(toolNode.childNodes[j]));
     }
   }
 
-  /**
-   * Function which create the HTTP payload for a request
-   * @param requestName the name of the web service operation to execute
-   * @param featureNodeId the id of the node in the doc to be processed by the stylesheet
-   */
-  this.createHttpPayload = function(feature) {
-    //confirm inputs
-    if (this.debug) alert("source:"+Sarissa.serialize(feature));
-    //if (this.debug) alert("stylesheet:"+Sarissa.serialize(this.requestStylesheet.xslDom));
+  this.model.addListener("init", this.init, this);
+  this.model.addListener(this.requestName.replace(/:/,"_"), this.doRequest, this);
+}
 
+/**
+ * Function which create the HTTP payload for a request
+ * @param feature the feature object
+ */
+WebServiceRequest.prototype.createHttpPayload = function(feature) {
+  //confirm inputs
+  if (this.debug) mbDebugMessage(this, "source:"+(new XMLSerializer()).serializeToString(feature));
+  //if (this.debug) mbDebugMessage(this, "stylesheet:"+(new XMLSerializer()).serializeToString(this.requestStylesheet.xslDom));
 
-    //prepare the stylesheet
-    var httpPayload = new Object();
-    httpPayload.method = this.targetModel.method;
-    this.requestStylesheet.setParameter("httpMethod", httpPayload.method );
-    this.requestStylesheet.setParameter("version", this.model.getVersion(feature) );
-    if (this.requestFilter) {
-      var filter = config.objects[this.requestFilter];
-      this.requestStylesheet.setParameter("filter", escape(Sarissa.serialize(filter.doc).replace(/[\n\f\r\t]/g,'') ));
-      if (this.debug) alert(Sarissa.serialize(filter.doc));
-    }
 
-    //process the doc with the stylesheet
-    httpPayload.postData = this.requestStylesheet.transformNodeToObject(feature);
-    if (this.debug) {
-      alert("request data:"+Sarissa.serialize(httpPayload.postData));
-      if (config.serializeUrl) var response = postLoad(config.serializeUrl, httpPayload.postData);
-    }
+  //prepare the stylesheet
+  var httpPayload = new Object();
+  httpPayload.method = this.targetModel.method;
+  this.requestStylesheet.setParameter("httpMethod", httpPayload.method );
+  this.requestStylesheet.setParameter("version", this.model.getVersion(feature) );
+  if (this.requestFilter) {
+    var filter = config.objects[this.requestFilter];
+    this.requestStylesheet.setParameter("filter", escape((new XMLSerializer()).serializeToString(filter.doc).replace(/[\n\f\r\t]/g,'') ));
+    if (this.debug) mbDebugMessage(this, (new XMLSerializer()).serializeToString(filter.doc));
+  }
 
-    //allow the tool to have a serverUrl property which overrides the model server URL
-    //TBD: this still used?
-    if (this.serverUrl) {
-      httpPayload.url = this.serverUrl;
+  //process the doc with the stylesheet
+  httpPayload.postData = this.requestStylesheet.transformNodeToObject(feature);
+  if (this.debug) {
+    mbDebugMessage(this, "request data:"+(new XMLSerializer()).serializeToString(httpPayload.postData));
+    if (config.serializeUrl) var response = postLoad(config.serializeUrl, httpPayload.postData);
+  }
+
+  httpPayload.url = this.model.getServerUrl(this.requestName, httpPayload.method, feature);
+
+  //extract the URL from the transformation result for GET method
+  if (httpPayload.method.toLowerCase() == "get") {
+    httpPayload.postData.setProperty("SelectionLanguage", "XPath");
+    Sarissa.setXpathNamespaces(httpPayload.postData, "xmlns:mb='http://mapbuilder.sourceforge.net/mapbuilder'");
+    var queryString = httpPayload.postData.selectSingleNode("//mb:QueryString");
+    if (httpPayload.url.indexOf("?") < 0) {
+      httpPayload.url += "?";
     } else {
-      httpPayload.url = this.model.getServerUrl(this.requestName, httpPayload.method, feature);
+      httpPayload.url += "&";
     }
-
-    //extract the URL from the transformation result for GET method
-    if (httpPayload.method.toLowerCase() == "get") {
-      httpPayload.postData.setProperty("SelectionLanguage", "XPath");
-      Sarissa.setXpathNamespaces(httpPayload.postData, "xmlns:mb='http://mapbuilder.sourceforge.net/mapbuilder'");
-      var queryString = httpPayload.postData.selectSingleNode("//mb:QueryString");
-      if (httpPayload.url.indexOf("?") < 0) httpPayload.url += "?";
-      httpPayload.url += queryString.firstChild.nodeValue;
-      httpPayload.postData = null;
-    }
-    if (this.debug) alert("URL:"+httpPayload.url);
-    return httpPayload;
+    httpPayload.url += getNodeValue(queryString);
+    httpPayload.postData = null;
   }
+  mbDebugMessage(this, "URL:"+httpPayload.url);
+  return httpPayload;
+}
 
 
-  /**
-   * Listener function which will actually issue the request.  This method
-   * will prepare the HTTP payload for a particular featureName.
-   * @param requestName the name of the web service operation to execute
-   * @param featureNodeId the id of the node in the doc to be processed by the stylesheet
-   */
-  this.doRequest = function(objRef, featureName) {
-    objRef.targetModel.featureName = featureName;
+/**
+ * Listener function which will actually issue the request.  This method
+ * will prepare the HTTP payload for a particular featureName.
+ * @param requestName the name of the web service operation to execute
+ * @param featureNodeId the id of the node in the doc to be processed by the stylesheet
+ */
+WebServiceRequest.prototype.doRequest = function(objRef, featureName) {
+  objRef.targetModel.featureName = featureName;
 
-    var feature = objRef.model.getFeatureNode(featureName);
-    if (objRef.model.setRequestParameters) objRef.model.setRequestParameters(featureName, objRef.requestStylesheet);
-    var httpPayload = objRef.createHttpPayload(feature);
-    objRef.targetModel.newRequest(objRef.targetModel,httpPayload);
+  var feature = objRef.model.getFeatureNode(featureName);
+  if (!feature) {
+    alert(mbGetMessage("featureNotFoundWebServiceRequest", featureName));
+    return;
   }
-  this.model.addListener(this.requestName.replace(/:/,"_"), this.doRequest, this);
+  if (objRef.model.setRequestParameters) objRef.model.setRequestParameters(featureName, objRef.requestStylesheet);
+  var httpPayload = objRef.createHttpPayload(feature);
+  objRef.targetModel.newRequest(objRef.targetModel,httpPayload);
+}
 
-  this.setAoiParameters = function(objRef,bbox) {
-    //TBD: this depends on the targetModel having a containerModel to extract the AOI from.
-    //we probably need a config property to point to the AOI model to handle this properly.
-    if (objRef.targetModel.containerModel) {
-      var featureSRS = null;
-      var containerSRS = "EPSG:4326";
-      //var bbox = objRef.targetModel.containerModel.getBoundingBox();
-  /*
-      //convert the BBOX to the feature SRS for the request
-      var containerSRS = objRef.targetModel.containerModel.getSRS();
-      if (featureSRS) {
-        var sourceProj = new Proj(featureSRS.firstChild.nodeValue);
-        if ( !sourceProj.matchSrs( containerSRS )) {  
-          var containerProj = new Proj(objRef.targetModel.containerModel.getSRS());
-          var llTemp = containerProj.Inverse(new Array(bbox[0],bbox[1]));
-          var xy = sourceProj.Forward(llTemp);
-          bbox[0] = xy[0]; bbox[1] = xy[1];
-          llTemp = containerProj.Inverse(new Array(bbox[2],bbox[3]));
-          xy = sourceProj.Forward(llTemp);
-          bbox[2] = xy[0]; bbox[3] = xy[1];
-        }
+WebServiceRequest.prototype.setAoiParameters = function(objRef) {
+  //TBD: this depends on the targetModel having a containerModel to extract the AOI from.
+  //we probably need a config property to point to the AOI model to handle this properly.
+  if (objRef.containerModel) {
+    var featureSRS = null;
+    var containerSRS = "EPSG:4326";
+    var bbox = objRef.containerModel.getBoundingBox();
+/*
+TBD: figure out when to use AOI or BBOX
+    var aoi = objRef.containerModel.getParam("aoi");
+    if (aoi) {
+      bbox[0] = aoi[0][0];
+      bbox[1] = aoi[1][1];
+      bbox[2] = aoi[1][0];
+      bbox[3] = aoi[0][1];
+    }
+*/
+    var containerSRS = objRef.containerModel.getSRS();
+/*
+    //convert the BBOX to the feature SRS for the request
+    if (featureSRS) {
+      var sourceProj = new Proj4js.Proj(getNodeValue(featureSRS));
+      if ( !sourceProj.matchSrs( containerSRS )) {  
+        var containerProj = new Proj4js.Proj(objRef.containerModel.getSRS());
+        var llTemp = containerProj.Inverse(new Array(bbox[0],bbox[1]));
+        var xy = sourceProj.Forward(llTemp);
+        bbox[0] = xy[0]; bbox[1] = xy[1];
+        llTemp = containerProj.Inverse(new Array(bbox[2],bbox[3]));
+        xy = sourceProj.Forward(llTemp);
+        bbox[2] = xy[0]; bbox[3] = xy[1];
       }
-  */
-      objRef.requestStylesheet.setParameter("bBoxMinX", bbox[0][0] );
-      objRef.requestStylesheet.setParameter("bBoxMinY", bbox[1][1] );
-      objRef.requestStylesheet.setParameter("bBoxMaxX", bbox[1][0] );
-      objRef.requestStylesheet.setParameter("bBoxMaxY", bbox[0][1] );
-      objRef.requestStylesheet.setParameter("srs", containerSRS );
-      objRef.requestStylesheet.setParameter("width", objRef.targetModel.containerModel.getWindowWidth() );
-      objRef.requestStylesheet.setParameter("height", objRef.targetModel.containerModel.getWindowHeight() );
     }
+*/
+    objRef.requestStylesheet.setParameter("bBoxMinX", bbox[0]);
+    objRef.requestStylesheet.setParameter("bBoxMinY", bbox[1]);
+    objRef.requestStylesheet.setParameter("bBoxMaxX", bbox[2]);
+    objRef.requestStylesheet.setParameter("bBoxMaxY", bbox[3]);
+    objRef.requestStylesheet.setParameter("srs", containerSRS );
+    objRef.requestStylesheet.setParameter("width", objRef.containerModel.getWindowWidth() );
+    objRef.requestStylesheet.setParameter("height", objRef.containerModel.getWindowHeight() );
   }
+}
 
-  this.init = function(objRef) {
-    if (objRef.targetModel.containerModel) {
-      objRef.targetModel.containerModel.addListener("aoi", objRef.setAoiParameters, objRef);
-      //TBD: another one for bbox
-    }
+WebServiceRequest.prototype.init = function(objRef) {
+  if (objRef.targetModel.containerModel) {
+    objRef.containerModel = objRef.targetModel.containerModel;
+  } else if (objRef.model.containerModel) {
+    objRef.containerModel = objRef.model.containerModel;
   }
-  this.model.addListener("init", this.init, this);
+  if (objRef.containerModel) {
+    objRef.containerModel.addListener("aoi", objRef.setAoiParameters, objRef);
+    objRef.containerModel.addListener("bbox", objRef.setAoiParameters, objRef);
+    objRef.containerModel.addListener("selectedLayer", objRef.selectFeature, objRef);
+    objRef.containerModel.addListener("loadModel", objRef.mapInit, objRef);
+    objRef.containerModel.addListener("newModel", objRef.clear, objRef);
+  }
+}
 
+/**
+ * set map events needed for this tool
+ * @param objRef reference to this tool
+ */
+WebServiceRequest.prototype.mapInit = function(objRef) {
+  // register OpenLayers event to do updates onmouseup
+  objRef.containerModel.map.events.registerPriority('mouseup', objRef, objRef.setClickPosition);  
 }
+
+/**
+ * remove map events for this tool
+ * @param objRef reference to this tool
+ */
+WebServiceRequest.prototype.clear = function(objRef) {
+  if (objRef.containerModel.map && objRef.containerModel.map.events) {
+    objRef.containerModel.map.events.unregister('mouseup', objRef, objRef.setClickPosition);  
+  }
+}
+
+/**
+ * Listener function that will clear the templates and set the mouse
+ * positions when the user clicks on the map.
+ * @param e OpenLayers event
+ */
+WebServiceRequest.prototype.setClickPosition = function(e) {
+  this.targetModel.deleteTemplates();
+  this.requestStylesheet.setParameter("xCoord", e.xy.x);
+  this.requestStylesheet.setParameter("yCoord", e.xy.y);
+}
+
+/**
+ * Listener function which will actually issue the request.  This method
+ * will prepare the HTTP payload for a particular featureName.
+ * @param requestName the name of the web service operation to execute
+ * @param featureNodeId the id of the node in the doc to be processed by the stylesheet
+ */
+WebServiceRequest.prototype.selectFeature = function(objRef, featureName) {
+  objRef.requestStylesheet.setParameter("queryLayer", featureName);
+}
+
Index: lib/spatial/mapbuilder/lib/tool/ZoomToAoi.js
===================================================================
--- lib/spatial/mapbuilder/lib/tool/ZoomToAoi.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/ZoomToAoi.js	(revision 4307)
@@ -1,12 +1,11 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
 Dependancies: Context
-$Id$
+$Id: ZoomToAoi.js 3821 2008-02-01 13:58:30Z ahocevar $
 */
 
 // Ensure this object's dependancies are loaded.
 mapbuilder.loadScript(baseDir+"/tool/ToolBase.js");
-mapbuilder.loadScript(baseDir+"/model/Proj.js");
 
 /**
  * Controller for the locator map widget.  
@@ -16,6 +15,11 @@
  * This will also process mouse events (click and dragbox) to recenter the 
  * target model and includes coordinate projection transformations if required.
  * Checking for extent limits is not yet implemented.
+ * 
+ * WARNING: it is recommended to use the OverviewMap widget. However since the behavior
+ * is slightly different from this widget, this one is still available.
+ * See also MAP-300
+ * @deprecated
  * @constructor
  * @base ToolBase
  * @author Adair
@@ -33,8 +37,8 @@
   this.initProj = function( toolRef ) {
     if( toolRef.model.doc && toolRef.targetModel.doc ) {
       if ( toolRef.model.getSRS() != toolRef.targetModel.getSRS() ) {
-          toolRef.model.proj = new Proj( toolRef.model.getSRS() );
-          toolRef.targetModel.proj = new Proj( toolRef.targetModel.getSRS() );
+          toolRef.model.proj = new OpenLayers.Projection( toolRef.model.getSRS() );
+          toolRef.targetModel.proj = new OpenLayers.Projection( toolRef.targetModel.getSRS() );
       }
     }
   }
@@ -52,47 +56,59 @@
    */
   this.showTargetAoi = function( tool ) {
     if( tool.targetModel.doc ) {
-	    var bbox = tool.targetModel.getBoundingBox();  
-	    var ul = new Array(bbox[0],bbox[3]);
-	    var lr = new Array(bbox[2],bbox[1]);
-	    if ( tool.model.getSRS() != tool.targetModel.getSRS() ) {
-	      ul = tool.targetModel.proj.Inverse( ul ); //to lat-long
-	      lr = tool.targetModel.proj.Inverse( lr );
-	      if (ul[0]>lr[0]) ul[0] = ul[0]-360.0;     //make sure ul is left of lr
-	      ul = tool.model.proj.Forward( ul );       //back to XY
-	      lr = tool.model.proj.Forward( lr );
-	    }
-	    tool.model.setParam("aoi", new Array(ul, lr) );
+      var bbox = tool.targetModel.getBoundingBox();  
+      var ul = new Array(bbox[0],bbox[3]);
+      var lr = new Array(bbox[2],bbox[1]);
+      if ( tool.model.getSRS() != tool.targetModel.getSRS() ) {
+        var ptUL=new OpenLayers.Geometry.Point(ul[0],ul[1]);
+        var ptLR=new OpenLayers.Geometry.Point(lr[0],lr[1]);
+        ptUL.transform(tool.targetModel.proj,tool.model.proj);
+        ptLR.transform(tool.targetModel.proj,tool.model.proj);
+        ul = new Array(ptUL.x,ptUL.y);
+        lr = new Array(ptLR.x,ptLR.y);      
+        
+      }
+      tool.model.setParam("aoi", new Array(ul, lr) );
     }
   }
+  
   this.firstInit = function(tool) {
+    tool.model.map.events.register('mouseup',tool, tool.mouseUpHandler);
     tool.targetModel.addListener( "loadModel", tool.showTargetAoi, tool );
     tool.targetModel.addListener( "bbox", tool.showTargetAoi, tool );
     tool.showTargetAoi(tool);
   }
   this.model.addListener( "loadModel", this.firstInit, this );
-
-
-  /**
-   * Process a mouse up action.  This will recenter the target model's bbox
-   * to be equal to this model's AOI.
-   * @param tool        Pointer to this ZoomToAoi object.
-   * @param targetNode  The node for the enclosing HTML tag for this widget, not used.
-   */
-  this.mouseUpHandler = function(tool,targetNode) {
-    var bbox = tool.model.getParam("aoi");
-    var ul = bbox[0];
-    var lr = bbox[1];
-    if ( tool.model.getSRS() != tool.targetModel.getSRS() ) {
-      //TBD: convert XY to lat/long first
-      ul = tool.targetModel.proj.Forward( ul ); //to target XY
-      lr = tool.targetModel.proj.Forward( lr );
+  
+  this.clear = function(tool) {
+    if (tool.model.map && tool.model.map.events) {
+      tool.model.map.events.unregister('mouseup',tool, tool.mouseUpHandler);
     }
-    if ( ( ul[0]==lr[0] ) && ( ul[1]==lr[1] ) ) {
-      tool.targetModel.extent.centerAt( ul, tool.targetModel.extent.res[0] );
-    } else {
-      tool.targetModel.extent.zoomToBox( ul, lr );
-    }
   }
-  this.model.addListener('mouseup',this.mouseUpHandler,this);
+  this.model.addListener("clearModel", this.clear, this);
 }
+
+/**
+ * Process a mouse up action.  This will recenter the target model's bbox
+ * to be equal to this model's AOI.
+ * @param e OpenLayers event
+ */
+ZoomToAoi.prototype.mouseUpHandler = function(e) {
+  var bbox = this.model.getParam("aoi");
+  var ul = bbox[0];
+  var lr = bbox[1];
+  if ( this.model.getSRS() != this.targetModel.getSRS() ) {
+    //TBD: convert XY to lat/long first
+      var ptUL=new OpenLayers.Geometry.Point(ul[0],ul[1]);
+      var ptLR=new OpenLayers.Geometry.Point(lr[0],lr[1]);
+      ptUL.transform(this.model.proj,this.targetModel.proj);
+      ptLR.transform(this.model.proj,this.targetModel.proj);
+      ul = new Array(ptUL.x,ptUL.y);
+      lr = new Array(ptLR.x,ptLR.y);    
+  }
+  if ( ( ul[0]==lr[0] ) && ( ul[1]==lr[1] ) ) {
+    this.targetModel.map.setCenter(new OpenLayers.LonLat(ul[0],ul[1]));
+  } else {
+    this.targetModel.map.zoomToExtent(new OpenLayers.Bounds(ul[0], lr[1], lr[0], ul[1]));
+  }
+}
Index: lib/spatial/mapbuilder/lib/tool/xsl/wfs_GetFeature.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/xsl/wfs_GetFeature.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/xsl/wfs_GetFeature.xsl	(revision 4307)
@@ -1,149 +1,8 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wfs="http://www.opengis.net/wfs" xmlns:wmc="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="no"/><xsl:preserve-space elements="gml:coordinates"/><xsl:param name="cs" select="','"/><xsl:param name="ts" select="' '"/><xsl:param name="bBoxMinX"/><xsl:param name="bBoxMinY"/><xsl:param name="bBoxMaxX"/><xsl:param name="bBoxMaxY"/><xsl:param name="srs"/><xsl:param name="version"/><xsl:param name="httpMethod">get</xsl:param><xsl:param name="filter"/><xsl:param name="maxFeatures">500</xsl:param><xsl:param name="geometry"/><xsl:template match="wfs:FeatureType"><xsl:param name="resourceName" select="wfs:Name"/><xsl:param name="featureSrs" select="wfs:SRS"/><GetFeature version="1.0.0" service="WFS" maxFeatures="{$maxFeatures}"><xsl:choose><xsl:when test="$httpMethod='post'"><Query typeName="{$resourceName}"><ogc:Filter><ogc:And><xsl:if test="$bBoxMinX"><ogc:BBOX><ogc:PropertyName><xsl:value-of select="$geometry"/></ogc:PropertyName><gml:Box srsName="{$srs}"><xsl:value-of select="$bBoxMinX"/><xsl:value-of select="$cs"/><xsl:value-of select="$bBoxMinY"/><xsl:value-of select="$ts"/><xsl:value-of select="$bBoxMaxX"/><xsl:value-of select="$cs"/><xsl:value-of select="$bBoxMaxY"/></gml:Box></ogc:BBOX></xsl:if><xsl:if test="$filter"><xsl:value-of select="$filter"/></xsl:if></ogc:And></ogc:Filter></Query></xsl:when><xsl:otherwise><mb:QueryString><xsl:variable name="bbox"><xsl:value-of select="$bBoxMinX"/>,<xsl:value-of select="$bBoxMinY"/>,
 
+            <xsl:value-of select="$bBoxMaxX"/>,<xsl:value-of select="$bBoxMaxY"/></xsl:variable><xsl:variable name="query">
 
-
-<!--
-
-Description: transforms a WFS FeatureType node to a GetFeatureType request
-
-Author:      adair
-
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-
-
-$Id$
-
-$Name$
-
--->
-
-
-
-<xsl:stylesheet version="1.0" 
-
-    xmlns:wfs="http://www.opengis.net/wfs"
-
-    xmlns:wmc="http://www.opengis.net/context" 
-
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-
-    xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" 
-
-		xmlns:ogc="http://www.opengis.net/ogc"
-
-		xmlns:gml="http://www.opengis.net/gml"
-
-    xmlns:xlink="http://www.w3.org/1999/xlink">
-
-
-
-  <xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8" indent="no"/>
-
-  <xsl:preserve-space elements="gml:coordinates"/>
-
-
-
-  <xsl:param name="cs" select="','"/>
-
-  <xsl:param name="ts" select="' '"/>
-
-  <xsl:param name="bBoxMinX"/>
-
-  <xsl:param name="bBoxMinY"/>
-
-  <xsl:param name="bBoxMaxX"/>
-
-  <xsl:param name="bBoxMaxY"/>
-
-  <xsl:param name="srs"/>
-
-  <xsl:param name="version"/>
-
-  
-
-  <xsl:param name="httpMethod">get</xsl:param>
-
-  <xsl:param name="filter"/>
-
-  <xsl:param name="maxFeatures">500</xsl:param>
-
-  <xsl:param name="geometry"/>
-
-  
-
-  <!-- template rule matching source root element -->
-
-  <xsl:template match="wfs:FeatureType">
-
-    <xsl:param name="resourceName" select="wfs:Name"/>
-
-    <xsl:param name="featureSrs" select="wfs:SRS"/>
-
-    <GetFeature version="1.0.0" service="WFS" maxFeatures="{$maxFeatures}">
-
-    
-
-    <xsl:choose>
-
-      <xsl:when test="$httpMethod='post'">
-
-      <Query typeName="{$resourceName}">
-
-         <ogc:Filter>
-
-            <ogc:And>
-
-              <xsl:if test="$bBoxMinX">
-
-                <ogc:BBOX>
-
-                  <ogc:PropertyName><xsl:value-of select="$geometry"/></ogc:PropertyName>
-
-                  <gml:Box srsName="{$srs}">
-
-            <xsl:value-of select="$bBoxMinX"/><xsl:value-of select="$cs"/>
-
-            <xsl:value-of select="$bBoxMinY"/><xsl:value-of select="$ts"/>
-
-            <xsl:value-of select="$bBoxMaxX"/><xsl:value-of select="$cs"/>
-
-            <xsl:value-of select="$bBoxMaxY"/>
-
-                  </gml:Box>
-
-                </ogc:BBOX>
-
-              </xsl:if>
-
-              <xsl:if test="$filter">
-
-                <xsl:value-of select="$filter"/>
-
-              </xsl:if>
-
-            </ogc:And>
-
-          </ogc:Filter>
-
-      </Query>
-
-      </xsl:when>
-
-      <xsl:otherwise>
-
-        <mb:QueryString>
-
-          <xsl:variable name="bbox">
-
-            <xsl:value-of select="$bBoxMinX"/>,<xsl:value-of select="$bBoxMinY"/>,
-
-            <xsl:value-of select="$bBoxMaxX"/>,<xsl:value-of select="$bBoxMaxY"/>
-
-          </xsl:variable>
-
-          <xsl:variable name="query">
-
          request=GetFeature
 
     &amp;service=WFS
@@ -152,110 +11,12 @@
 
 &amp;maxfeatures=<xsl:value-of select="$maxFeatures"/>
 
-   &amp;typename=<xsl:value-of select="$resourceName"/>
+   &amp;typename=<xsl:value-of select="$resourceName"/><xsl:if test="$bBoxMinX">
 
-          <xsl:if test="$bBoxMinX">
+   &amp;bbox=<xsl:value-of select="$bbox"/></xsl:if></xsl:variable><xsl:value-of select="translate(normalize-space($query),' ','')" disable-output-escaping="no"/><xsl:if test="$filter">&amp;filter=<xsl:value-of select="$filter"/></xsl:if></mb:QueryString></xsl:otherwise></xsl:choose></GetFeature></xsl:template><xsl:template match="*[wmc:Server/@service='OGC:WFS']"><xsl:param name="resourceName" select="wmc:Name"/><xsl:param name="featureSrs" select="wmc:SRS"/><GetFeature xmlns="http://www.opengis.net/wfs" version="1.0.0" service="WFS" maxFeatures="{$maxFeatures}"><xsl:choose><xsl:when test="$httpMethod='post'"><Query typeName="{$resourceName}"><ogc:Filter><ogc:And><xsl:if test="wmc:Geometry"><xsl:variable name="bbox" select="concat($bBoxMinX,concat(',',concat($bBoxMinY,concat(' ',concat($bBoxMaxX,concat(',',$bBoxMaxY))))))"/><ogc:BBOX><ogc:PropertyName><xsl:value-of select="wmc:Geometry"/></ogc:PropertyName><gml:Box srsName="{$srs}"><gml:coordinates><xsl:value-of select="$bbox"/></gml:coordinates></gml:Box></ogc:BBOX></xsl:if><xsl:if test="ogc:Filter"><xsl:copy-of select="ogc:Filter/*"/></xsl:if></ogc:And></ogc:Filter></Query></xsl:when><xsl:otherwise><mb:QueryString><xsl:variable name="cFilterStr"><xsl:value-of select="ogc:Filter"/></xsl:variable><xsl:variable name="bbox"><xsl:value-of select="$bBoxMinX"/>,<xsl:value-of select="$bBoxMinY"/>,
 
-   &amp;bbox=<xsl:value-of select="$bbox"/>
+            <xsl:value-of select="$bBoxMaxX"/>,<xsl:value-of select="$bBoxMaxY"/></xsl:variable><xsl:variable name="query">
 
-          </xsl:if>
-
-          </xsl:variable>
-
-          <xsl:value-of select="translate(normalize-space($query),' ','')" disable-output-escaping="no"/><xsl:if test="$filter">&amp;filter=<xsl:value-of select="$filter"/></xsl:if>
-
-        </mb:QueryString>
-
-      </xsl:otherwise>
-
-    </xsl:choose>
-
-    </GetFeature>
-
-  </xsl:template>
-
-  
-
-  <!-- template rule matching source root element -->
-
-  <xsl:template match="wmc:FeatureType[wmc:Server/@service='OGC:WFS']">
-
-    <xsl:param name="resourceName" select="wmc:Name"/>
-
-    <xsl:param name="featureSrs" select="wmc:SRS"/>
-
-    <GetFeature version="1.0.0" service="WFS" maxFeatures="{$maxFeatures}"
-
-      xmlns="http://www.opengis.net/wfs"
-
-      xmlns:ogc="http://www.opengis.net/ogc">
-
-    <xsl:choose>
-
-      <xsl:when test="$httpMethod='post'">
-
-      <Query typeName="{$resourceName}">
-
-         <!--ogc:PropertyName>GML_Geometry</ogc:PropertyName>
-
-         <ogc:PropertyName>DEFINITION</ogc:PropertyName>
-
-         <ogc:PropertyName>LU37_CODE</ogc:PropertyName>
-
-         <ogc:PropertyName>YEAR</ogc:PropertyName-->
-
-         <ogc:Filter>
-
-            <ogc:And>
-
-              <xsl:if test="wmc:Geometry">
-
-<xsl:variable name="bbox" select="concat($bBoxMinX,concat(',',concat($bBoxMinY,concat(' ',concat($bBoxMaxX,concat(',',$bBoxMaxY))))))"/>
-
-                <ogc:BBOX>
-
-                  <ogc:PropertyName><xsl:value-of select="wmc:Geometry"/></ogc:PropertyName>
-
-                  <gml:Box srsName="{$srs}">
-
-                    <gml:coordinates><xsl:value-of select="$bbox"/></gml:coordinates>
-
-                  </gml:Box>
-
-                </ogc:BBOX>
-
-              </xsl:if>
-
-              <xsl:if test="ogc:Filter">
-
-                <xsl:copy-of select="ogc:Filter/*"/>
-
-              </xsl:if>
-
-            </ogc:And>
-
-          </ogc:Filter>
-
-      </Query>
-
-      </xsl:when>
-
-      <xsl:otherwise>
-
-        <mb:QueryString>
-
-          <xsl:variable name="cFilterStr"><xsl:value-of select="ogc:Filter"/></xsl:variable>
-
-          <xsl:variable name="bbox">
-
-            <xsl:value-of select="$bBoxMinX"/>,<xsl:value-of select="$bBoxMinY"/>,
-
-            <xsl:value-of select="$bBoxMaxX"/>,<xsl:value-of select="$bBoxMaxY"/>
-
-          </xsl:variable>
-
-          <xsl:variable name="query">
-
          request=GetFeature
 
     &amp;service=WFS
@@ -264,37 +25,6 @@
 
 &amp;maxfeatures=<xsl:value-of select="$maxFeatures"/>
 
-   &amp;typename=<xsl:value-of select="$resourceName"/>
+   &amp;typename=<xsl:value-of select="$resourceName"/><xsl:if test="$bBoxMinX">
 
-          <xsl:if test="$bBoxMinX">
-
-   &amp;bbox=<xsl:value-of select="$bbox"/>
-
-          </xsl:if>
-
-          </xsl:variable>
-
-          <xsl:value-of select="translate(normalize-space($query),' ','')" disable-output-escaping="no"/><xsl:if test="$cFilterStr">&amp;filter=<xsl:value-of select="normalize-space($cFilterStr)"/></xsl:if>
-
-<!-- TBD something still wrong with filter parameter here -->
-
-        </mb:QueryString>
-
-      </xsl:otherwise>
-
-    </xsl:choose>
-
-    </GetFeature>
-
-  </xsl:template>
-
-  
-
-  
-
-  <xsl:template match="text()|@*"/>
-
-
-
-</xsl:stylesheet>
-
+   &amp;bbox=<xsl:value-of select="$bbox"/></xsl:if></xsl:variable><xsl:value-of select="translate(normalize-space($query),' ','')" disable-output-escaping="no"/><xsl:if test="ogc:Filter">&amp;filter=<xsl:value-of select="normalize-space($cFilterStr)"/></xsl:if></mb:QueryString></xsl:otherwise></xsl:choose></GetFeature></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/tool/xsl/csw_GetRecords.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/xsl/csw_GetRecords.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/lib/tool/xsl/csw_GetRecords.xsl	(revision 4307)
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" xmlns:ows="http://www.opengis.net/ows" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="no"/><xsl:preserve-space elements="gml:coordinates"/><xsl:param name="cs" select="','"/><xsl:param name="ts" select="' '"/><xsl:param name="bBoxMinX"/><xsl:param name="bBoxMinY"/><xsl:param name="bBoxMaxX"/><xsl:param name="bBoxMaxY"/><xsl:param name="srs"/><xsl:param name="version"/><xsl:param name="httpMethod">get</xsl:param><xsl:param name="filter"/><xsl:param name="maxFeatures">500</xsl:param><xsl:param name="geometry"/><xsl:template match="ows:Operation"><GetRecords xmlns="http://www.opengis.net/cat/csw" maxRecords="{$maxFeatures}" outputFormat="application/xml; charset=UTF-8" outputSchema="ogcCORE" version="2.0.0"><xsl:choose><xsl:when test="$httpMethod='post'"><Query typeNames="ExtrinsicObject"><ElementName>/ExtrinsicObject</ElementName><xsl:if test="$filter"><Constraint version="1.0.0"><xsl:value-of select="$filter"/></Constraint></xsl:if></Query></xsl:when><xsl:otherwise><mb:QueryString><xsl:variable name="bbox"><xsl:value-of select="$bBoxMinX"/>,<xsl:value-of select="$bBoxMinY"/>,
+            <xsl:value-of select="$bBoxMaxX"/>,<xsl:value-of select="$bBoxMaxY"/></xsl:variable><xsl:variable name="query">
+        request=GetFeature
+    &amp;service=WFS
+    &amp;version=<xsl:value-of select="$version"/>
+&amp;maxfeatures=<xsl:value-of select="$maxFeatures"/>
+   &amp;typename=<xsl:value-of select="$resourceName"/><xsl:if test="$bBoxMinX">
+   &amp;bbox=<xsl:value-of select="$bbox"/></xsl:if></xsl:variable><xsl:value-of select="translate(normalize-space($query),' ','')" disable-output-escaping="no"/><xsl:if test="$filter">&amp;filter=<xsl:value-of select="$filter"/></xsl:if></mb:QueryString></xsl:otherwise></xsl:choose></GetRecords></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/tool/xsl/wps_Execute.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/xsl/wps_Execute.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/xsl/wps_Execute.xsl	(revision 4307)
@@ -1,79 +1,8 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!--
-Description: geberates an HTTP payload to execute a WPS request
-Author:      adair
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-$Id$
-$Name$
--->
-
-<xsl:stylesheet version="1.0" 
-    xmlns:wps="http://www.opengis.net/wps"
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-		xmlns:ogc="http://www.opengis.net/ogc"
-    xmlns:ows="http://www.opengis.net/ows"
-    xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" 
-		xmlns:gml="http://www.opengis.net/gml"
-    xmlns:xlink="http://www.w3.org/1999/xlink">
-
-  <xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8" indent="yes"/>
-
-  <xsl:param name="httpMethod">get</xsl:param>
-  <xsl:param name="version"/>
-  <xsl:param name="processName"/>
-  <xsl:param name="store">false</xsl:param>
-  
-  <!-- template rule matching source root element -->
-  <xsl:template match="wps:Process">
-    <wps:Execute version="{$version}" service="WPS">
-      <xsl:attribute name="store"><xsl:value-of select="$store"/></xsl:attribute>
-      <xsl:choose>
-        <xsl:when test="$httpMethod='post'">
-        	<wps:ProcessName><xsl:value-of select="$processName"/></wps:ProcessName>
-        </xsl:when>
-        <xsl:otherwise>
-          <mb:QueryString>
-            <xsl:variable name="query">
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wps="http://www.opengis.net/wps" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/><xsl:param name="httpMethod">get</xsl:param><xsl:param name="version"/><xsl:param name="processName"/><xsl:param name="store">false</xsl:param><xsl:template match="wps:Process"><wps:Execute version="{$version}" service="WPS"><xsl:attribute name="store"><xsl:value-of select="$store"/></xsl:attribute><xsl:choose><xsl:when test="$httpMethod='post'"><wps:ProcessName><xsl:value-of select="$processName"/></wps:ProcessName></xsl:when><xsl:otherwise><mb:QueryString><xsl:variable name="query">
         request=Execute
    &amp;service=WPS
    &amp;version=<xsl:value-of select="$version"/>
-  &amp;ProcessName=<xsl:value-of select="wps:Name"/>
-              <xsl:apply-templates select="wps:Input"/>
-            </xsl:variable>
-            <xsl:value-of select="translate(normalize-space($query),' ', '' )" disable-output-escaping="no"/>
-          </mb:QueryString>
-        </xsl:otherwise>
-      </xsl:choose>
-      <xsl:apply-templates select="wps:Output"/>
-    </wps:Execute>
-  </xsl:template>
-      
-  <xsl:template match="wps:Output/wps:Parameter">
-    &amp;<xsl:value-of select="wps:Name"/>=<xsl:apply-templates select="wps:Datatype"/>
-  </xsl:template>
-
-  <xsl:template match="wps:Input/wps:Parameter">
-    &amp;<xsl:value-of select="wps:Name"/>=<xsl:apply-templates select="wps:Datatype"/>
-  </xsl:template>
-
-  <xsl:template match="wps:Datatype/wps:Reference">
-    <xsl:value-of select="@xlink:href"/>
-  </xsl:template>
-
-  <xsl:template match="wps:Datatype/wps:LiteralValue">
-    <xsl:value-of select="."/>
-  </xsl:template>
-
-  <xsl:template match="wps:Datatype/wps:ComplexValue">
-    <xsl:value-of select="."/>
-  </xsl:template>
-
-  <xsl:template match="wps:Datatype/wps:BoundingBox">
-    <xsl:value-of select="."/>
-  </xsl:template>
-
-  <xsl:template match="text()|@*"/>
-
-</xsl:stylesheet>
+  &amp;ProcessName=<xsl:value-of select="wps:Name"/><xsl:apply-templates select="wps:Input"/></xsl:variable><xsl:value-of select="translate(normalize-space($query),' ', '' )" disable-output-escaping="no"/></mb:QueryString></xsl:otherwise></xsl:choose><xsl:apply-templates select="wps:Output"/></wps:Execute></xsl:template><xsl:template match="wps:Output/wps:Parameter">
+    &amp;<xsl:value-of select="wps:Name"/>=<xsl:apply-templates select="wps:Datatype"/></xsl:template><xsl:template match="wps:Input/wps:Parameter">
+    &amp;<xsl:value-of select="wps:Name"/>=<xsl:apply-templates select="wps:Datatype"/></xsl:template><xsl:template match="wps:Datatype/wps:Reference"><xsl:value-of select="@xlink:href"/></xsl:template><xsl:template match="wps:Datatype/wps:LiteralValue"><xsl:value-of select="."/></xsl:template><xsl:template match="wps:Datatype/wps:ComplexValue"><xsl:value-of select="."/></xsl:template><xsl:template match="wps:Datatype/wps:BoundingBox"><xsl:value-of select="."/></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/tool/xsl/wms_GetMap.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/xsl/wms_GetMap.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/xsl/wms_GetMap.xsl	(revision 4307)
@@ -1,139 +1,14 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wmc="http://www.opengis.net/context" xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes"/><xsl:strip-space elements="*"/><xsl:param name="bbox"/><xsl:param name="width"/><xsl:param name="height"/><xsl:param name="srs"/><xsl:param name="version"/><xsl:param name="timeList"/><xsl:param name="timeListName"/><xsl:template match="Layer | wmc:Layer"><xsl:choose><xsl:when test="$timeList and wmc:DimensionList/wmc:Dimension[@name='time']"><xsl:call-template name="tokenize"><xsl:with-param name="str" select="$timeList"/><xsl:with-param name="sep" select="','"/></xsl:call-template></xsl:when><xsl:otherwise><xsl:call-template name="layerOutput"/></xsl:otherwise></xsl:choose></xsl:template><xsl:template name="layerOutput"><xsl:variable name="format">image/png</xsl:variable><xsl:variable name="styleParam"/><xsl:variable name="visibility"/><xsl:variable name="mapRequest"><xsl:choose><xsl:when test="starts-with($version, '1.0')">
 
-<!--
-
-Description: transforms a WMS Layer node into an XML structure that contains
-
-             the URL for the GetMap request for both context docs and WMS caps.
-
-             This one is not used yet, because WMS caps don't use a namespace,
-
-             use GteMap.xsl instead.
-
-Author:      adair
-
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-
-
-$Id$
-
-$Name$
-
--->
-
-
-
-<xsl:stylesheet version="1.0" 
-
-    xmlns:wmc="http://www.opengis.net/context" 
-
-    xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" 
-
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-
-    xmlns:xlink="http://www.w3.org/1999/xlink">
-
-
-
-  <xsl:output method="xml"/>
-
-  <xsl:strip-space elements="*"/>
-
-  <!--
-
-  <xsl:include href="ogcMapImgObjects.xsl" />
-
-  -->
-
-
-
-  <xsl:param name="bbox"/>
-
-  <xsl:param name="width"/>
-
-  <xsl:param name="height"/>
-
-  <xsl:param name="srs"/>
-
-  <xsl:param name="version"/>
-
-  <xsl:param name="timeList"/>
-
-  <xsl:param name="timeListName"/>
-
-  
-
-  <xsl:template match="Layer | wmc:Layer">
-
-    
-
-    <xsl:choose>
-
-      <xsl:when test="$timeList and wmc:DimensionList/wmc:Dimension[@name='time']">
-
-          <xsl:call-template name="tokenize">
-
-            <xsl:with-param name="str" select="$timeList"/>
-
-            <xsl:with-param name="sep" select="','"/>
-
-          </xsl:call-template>
-
-      </xsl:when>
-
-      <xsl:otherwise>
-
-        <xsl:call-template name="layerOutput"/>
-
-      </xsl:otherwise>
-
-    </xsl:choose>
-
-    
-
-  </xsl:template>
-
-
-
-  <xsl:template name="layerOutput">
-
-    <xsl:variable name="format">image/png</xsl:variable>
-
-    <xsl:variable name="styleParam"/>
-
-    <xsl:variable name="visibility"/>
-
-    <xsl:variable name="mapRequest">
-
-      <xsl:choose>
-
-        <xsl:when test="starts-with($version, '1.0')">
-
             WMTVER=<xsl:value-of select="$version"/>&amp;REQUEST=map
 
-        </xsl:when>            
+        </xsl:when><xsl:otherwise>
 
-        <xsl:otherwise>
-
             VERSION=<xsl:value-of select="$version"/>&amp;REQUEST=GetMap
 
-        </xsl:otherwise>
+        </xsl:otherwise></xsl:choose></xsl:variable><GetMap><mb:QueryString><xsl:variable name="src"><xsl:value-of select="$mapRequest"/>
 
-      </xsl:choose>
-
-    </xsl:variable>
-
-
-
-    <GetMap>
-
-      <mb:QueryString>
-
-        <xsl:variable name="src">    
-
-            <xsl:value-of select="$mapRequest"/>
-
    &amp;SRS=<xsl:value-of select="$srs"/>
 
   &amp;BBOX=<xsl:value-of select="$bbox"/>
@@ -152,190 +27,24 @@
 
         <xsl:if test="$timestamp">
 
-       &amp;TIME=<xsl:value-of select="$timestamp"/>
+       &amp;TIME=<xsl:value-of select="$timestamp"/></xsl:if></xsl:variable><xsl:value-of select="translate(normalize-space($src),' ', '' )" disable-output-escaping="no"/></mb:QueryString></GetMap></xsl:template><xsl:template name="tokenize"><xsl:param name="str"/><xsl:param name="sep"/><xsl:choose><xsl:when test="contains($str,$sep)"><xsl:call-template name="process-token"><xsl:with-param name="token" select="substring-before($str,$sep)"/></xsl:call-template><xsl:call-template name="tokenize"><xsl:with-param name="str" select="substring-after($str,$sep)"/><xsl:with-param name="sep" select="$sep"/></xsl:call-template></xsl:when><xsl:otherwise><xsl:call-template name="process-token"><xsl:with-param name="token" select="$str"/></xsl:call-template></xsl:otherwise></xsl:choose></xsl:template><xsl:template name="process-token"><xsl:param name="token"/><xsl:call-template name="layerOutput"><xsl:with-param name="timestamp" select="$token"/><xsl:with-param name="visibility">hidden</xsl:with-param></xsl:call-template></xsl:template><xsl:template match="wmc:Layer"><xsl:param name="version"><xsl:value-of select="wmc:Server/@version"/></xsl:param><xsl:variable name="format"><xsl:choose><xsl:when test="wmc:FormatList"><xsl:value-of select="wmc:FormatList/wmc:Format[@current='1']"/></xsl:when><xsl:otherwise>image/gif</xsl:otherwise></xsl:choose></xsl:variable><xsl:variable name="styleParam"><xsl:choose><xsl:when test="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD">
 
-        </xsl:if>
+          SLD=<xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:OnlineResource/@xlink:href"/></xsl:when><xsl:when test="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:StyledLayerDescriptor">
 
-<!--	
+          SLD=<xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:StyledLayerDescriptor"/></xsl:when><xsl:when test="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:FeatureTypeStyle">
 
-  //TBD: these still to be properly handled 
+          SLD=<xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:FeatureTypeStyle"/></xsl:when><xsl:otherwise>
 
-  //also sld support
+          STYLES=<xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:Name"/></xsl:otherwise></xsl:choose></xsl:variable><xsl:variable name="visibility"><xsl:choose><xsl:when test="@hidden='1'">hidden</xsl:when><xsl:otherwise>visible</xsl:otherwise></xsl:choose></xsl:variable><xsl:variable name="mapRequest"><xsl:choose><xsl:when test="starts-with($version, '1.0')">
 
-  if (this.transparent) src += '&' + 'TRANSPARENT=' + this.transparent;
-
-	if (this.bgcolor) src += '&' + 'BGCOLOR=' + this.bgcolor;
-
-	//if (this.exceptions) src += '&' + 'EXCEPTIONS=' + this.exceptions;
-
-	if (this.vendorstr) src += '&' + this.vendorstr;
-
-  // -->
-
-        </xsl:variable>
-
-        <xsl:value-of select="translate(normalize-space($src),' ', '' )" disable-output-escaping="no"/>
-
-      </mb:QueryString>
-
-    </GetMap>
-
-  </xsl:template>
-
-  
-
-  <xsl:template name="tokenize"> <!-- tokenize a string -->
-
-   <xsl:param name="str"/> <!-- String to process -->
-
-   <xsl:param name="sep"/> <!-- Legal separator character -->
-
-   <xsl:choose>
-
-    <xsl:when test="contains($str,$sep)"> <!-- Only tokenize if there is a separator present in the string -->
-
-      <xsl:call-template name="process-token"> <!-- Process the token before the separator -->
-
-        <xsl:with-param name="token" select="substring-before($str,$sep)"/>
-
-      </xsl:call-template>
-
-      <xsl:call-template name="tokenize">  <!-- Re-tokenize the new string which is contained after the separator -->
-
-        <xsl:with-param name="str" select="substring-after($str,$sep)"/>
-
-        <xsl:with-param name="sep" select="$sep"/> <!-- carriage return -->
-
-      </xsl:call-template>
-
-    </xsl:when>
-
-    <xsl:otherwise>  <!-- If there is nothing else to tokenize, just treat the last part of the str as a regular token -->
-
-      <xsl:call-template name="process-token">
-
-        <xsl:with-param name="token" select="$str"/>
-
-      </xsl:call-template>
-
-    </xsl:otherwise>
-
-   </xsl:choose>
-
-  </xsl:template>
-
-
-
-  <xsl:template name="process-token">  <!-- process - separate with <br> -->
-
-    <xsl:param name="token"/> <!-- token to process -->
-
-    <xsl:call-template name="layerOutput">
-
-      <xsl:with-param name="timestamp" select="$token"/>
-
-      <xsl:with-param name="visibility">hidden</xsl:with-param>
-
-    </xsl:call-template>
-
-  </xsl:template>
-
-
-
-  <xsl:template match="wmc:Layer">
-
-    <xsl:param name="version">
-
-        <xsl:value-of select="wmc:Server/@version"/>    
-
-    </xsl:param>
-
-    <xsl:variable name="format">
-
-      <xsl:choose>
-
-        <xsl:when test="wmc:FormatList"><xsl:value-of select="wmc:FormatList/wmc:Format[@current='1']"/></xsl:when>
-
-        <xsl:otherwise>image/gif</xsl:otherwise>
-
-      </xsl:choose>
-
-    </xsl:variable>
-
-    <xsl:variable name="styleParam">
-
-      <xsl:choose>
-
-        <xsl:when test="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD">
-
-          SLD=<xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:OnlineResource/@xlink:href"/>
-
-        </xsl:when>
-
-        <xsl:when test="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:StyeLayerDescriptor">
-
-          SLD=<xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:StyeLayerDescriptor"/>
-
-        </xsl:when>
-
-        <xsl:when test="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:FeatureTypeStyle">
-
-          SLD=<xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:FeatureTypeStyle"/>
-
-        </xsl:when>
-
-        <xsl:otherwise>
-
-          STYLES=<xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:Name"/>
-
-        </xsl:otherwise>
-
-      </xsl:choose>
-
-    </xsl:variable>
-
-    <xsl:variable name="visibility">
-
-      <xsl:choose>
-
-        <xsl:when test="@hidden='1'">hidden</xsl:when>
-
-        <xsl:otherwise>visible</xsl:otherwise>
-
-      </xsl:choose>
-
-    </xsl:variable>
-
-    <xsl:variable name="mapRequest">
-
-      <xsl:choose>
-
-        <xsl:when test="starts-with($version, '1.0')">
-
             WMTVER=<xsl:value-of select="$version"/>&amp;REQUEST=map
 
-        </xsl:when>            
+        </xsl:when><xsl:otherwise>
 
-        <xsl:otherwise>
-
             VERSION=<xsl:value-of select="$version"/>&amp;REQUEST=GetMap
 
-        </xsl:otherwise>
+        </xsl:otherwise></xsl:choose></xsl:variable><GetMap><mb:QueryString><xsl:variable name="src"><xsl:value-of select="$mapRequest"/>
 
-      </xsl:choose>
-
-    </xsl:variable>
-
-
-
-    <GetMap>
-
-      <mb:QueryString>
-
-        <xsl:variable name="src">    
-
-            <xsl:value-of select="$mapRequest"/>
-
    &amp;SRS=<xsl:value-of select="$srs"/>
 
   &amp;BBOX=<xsl:value-of select="$bbox"/>
@@ -354,37 +63,4 @@
 
         <xsl:if test="$timestamp">
 
-       &amp;TIME=<xsl:value-of select="$timestamp"/>
-
-        </xsl:if>
-
-<!--	
-
-  //TBD: these still to be properly handled 
-
-  //also sld support
-
-  if (this.transparent) src += '&' + 'TRANSPARENT=' + this.transparent;
-
-	if (this.bgcolor) src += '&' + 'BGCOLOR=' + this.bgcolor;
-
-	//if (this.exceptions) src += '&' + 'EXCEPTIONS=' + this.exceptions;
-
-	if (this.vendorstr) src += '&' + this.vendorstr;
-
-  // -->
-
-        </xsl:variable>
-
-        <xsl:value-of select="translate(normalize-space($src),' ', '' )" disable-output-escaping="no"/>
-
-      </mb:QueryString>
-
-    </GetMap>
-
-  </xsl:template>
-
-
-
-</xsl:stylesheet>
-
+       &amp;TIME=<xsl:value-of select="$timestamp"/></xsl:if></xsl:variable><xsl:value-of select="translate(normalize-space($src),' ', '' )" disable-output-escaping="no"/></mb:QueryString></GetMap></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/tool/xsl/wcs_GetCoverage.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/xsl/wcs_GetCoverage.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/xsl/wcs_GetCoverage.xsl	(revision 4307)
@@ -1,41 +1,6 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Description: transforms an OWS Context document Coverage resource element into
-             the request string (HTTP GET only for now)
-Author:      adair
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-$Id$
-$Name$
--->
-
-<xsl:stylesheet version="1.0" 
-    xmlns:wmc="http://www.opengis.net/context" 
-    xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" 
-    xmlns:param="http;//www.opengis.net/param"
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-    xmlns:xlink="http://www.w3.org/1999/xlink">
-
-  <xsl:output method="xml"/>
-  <xsl:strip-space elements="*"/>
-
-  <xsl:param name="bBoxMinX"/>
-  <xsl:param name="bBoxMinY"/>
-  <xsl:param name="bBoxMaxX"/>
-  <xsl:param name="bBoxMaxY"/>
-  <xsl:param name="width"/>
-  <xsl:param name="height"/>
-  <xsl:param name="srs"/>
-  <xsl:param name="version"/>
-  
-  <xsl:template match="wmc:Coverage">
-    <xsl:variable name="bbox">
-      <xsl:value-of select="$bBoxMinX"/>,<xsl:value-of select="$bBoxMinY"/>,
-      <xsl:value-of select="$bBoxMaxX"/>,<xsl:value-of select="$bBoxMaxY"/>
-    </xsl:variable>
-    <GetCoverage>
-      <mb:QueryString>
-        <xsl:variable name="src">    
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wmc="http://www.opengis.net/context" xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:param="http;//www.opengis.net/param" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes"/><xsl:strip-space elements="*"/><xsl:param name="bBoxMinX"/><xsl:param name="bBoxMinY"/><xsl:param name="bBoxMaxX"/><xsl:param name="bBoxMaxY"/><xsl:param name="width"/><xsl:param name="height"/><xsl:param name="srs"/><xsl:param name="version"/><xsl:template match="wmc:Coverage"><xsl:variable name="bbox"><xsl:value-of select="$bBoxMinX"/>,<xsl:value-of select="$bBoxMinY"/>,
+      <xsl:value-of select="$bBoxMaxX"/>,<xsl:value-of select="$bBoxMaxY"/></xsl:variable><GetCoverage><mb:QueryString><xsl:variable name="src">    
       VERSION=<xsl:value-of select="$version"/>
  &amp;REQUEST=GetCoverage
  &amp;SERVICE=WCS
@@ -44,19 +9,6 @@
    &amp;WIDTH=<xsl:value-of select="$width"/>
   &amp;HEIGHT=<xsl:value-of select="$height"/>
 &amp;COVERAGE=<xsl:value-of select="wmc:Name"/>
-  &amp;FORMAT=<xsl:value-of select="wmc:FormatList/wmc:Format[@current='1']"/>
-        <xsl:for-each select="wmc:DimensionList/wmc:Dimension">
-&amp;<xsl:value-of select="@name"/>=<xsl:value-of select="."/>
-        </xsl:for-each>
-        <xsl:for-each select="wmc:ParameterList/wmc:Parameter">
-&amp;<xsl:value-of select="param:kvp/@name"/>=<xsl:value-of select="param:kvp/@value"/>          
-        </xsl:for-each>
-        </xsl:variable>
-        <xsl:value-of select="translate(normalize-space($src),' ', '' )" disable-output-escaping="no"/>
-      </mb:QueryString>
-    </GetCoverage>
-  </xsl:template>
-  
-  <xsl:template match="text()|@*"/>
-
-</xsl:stylesheet>
+  &amp;FORMAT=<xsl:value-of select="wmc:FormatList/wmc:Format[@current='1']"/><xsl:for-each select="wmc:DimensionList/wmc:Dimension">
+&amp;<xsl:value-of select="@name"/>=<xsl:value-of select="."/></xsl:for-each><xsl:for-each select="wmc:ParameterList/wmc:Parameter">
+&amp;<xsl:value-of select="param:kvp/@name"/>=<xsl:value-of select="param:kvp/@value"/></xsl:for-each></xsl:variable><xsl:value-of select="translate(normalize-space($src),' ', '' )" disable-output-escaping="no"/></mb:QueryString></GetCoverage></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/MapbuilderServerLoad.js
===================================================================
--- lib/spatial/mapbuilder/lib/MapbuilderServerLoad.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/MapbuilderServerLoad.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: MapbuilderServerLoad.js 2546 2007-01-23 12:07:39Z gjvoosten $
 */
 
 /** URL of Mapbuilder's lib/ directory. */
Index: lib/spatial/mapbuilder/lib/tool/Extent.js
===================================================================
--- lib/spatial/mapbuilder/lib/tool/Extent.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/Extent.js	(revision 4307)
@@ -1,7 +1,7 @@
 /*
 Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: Extent.js 3067 2007-08-03 09:25:59Z jseb.baklouti $
 */
 
 
@@ -9,7 +9,7 @@
 var degToMeter = Rearth*2*Math.PI/360;
 //var mbScaleFactor = 72 * 39.3701;   //PixelsPerInch*InchesPerMapUnit; magic numbers 
                                     //need to determine magic number for lat/lon
-var mbScaleFactor = 3571.428   //magic number, for Geoserver SLD compatibility
+var mbScaleFactor = 3571.428;   //magic number, for Geoserver SLD compatibility
                                // 1/0.00028 (0.28 mm "is a common actual size for
                                // contemporary display" as written in the SLD specification ...
 
@@ -37,12 +37,108 @@
  */
 function Extent( model, initialRes ) {
   this.model = model;
+  this.id = model.id + "_MbExtent" + mbIds.getId();
   this.size = new Array();
   this.res = new Array();
   this.zoomBy = 4;
-  this.id = model.id + "_MbExtent" + mbIds.getId();
-
+  
   /**
+   * Returns the bounding box as stored in the model
+   * @return array with the bounding box
+   */
+  this.getBbox = function() {
+    var bbox = this.model.getBoundingBox();
+    return bbox;
+  }
+  
+  /**
+   * Recalculates a given bbox and stores a proper aspect one in the model
+   * @param bbox  an array with a bounding box
+   */
+  this.setBbox = function(bbox){
+    size = this.getSize();
+    res = Math.max((bbox[2] - bbox[0])/size[0], (bbox[3] - bbox[1])/size[1]);
+    scale=this.getFixedScale(res);
+    center = new Array((bbox[1]-bbox[3])/2,(bbox[0]-bbox[2])/2);//center=horizontal,vertical
+    half = new Array(size[0]/2,size[1]/2);
+    bbox = new Array(center[0]-half[0]*scale, center[1]-half[1]*scale, center[0]+half[0]*scale,center[1]+half[1]*scale);
+    this.model.setBoundingBox(bbox);
+  }
+  
+   /**
+   * Returns the window size as stored in the model
+   * @return array with the window size
+   */
+  this.getSize = function() {
+    size= new Array();
+    size[0] = this.model.getWindowWidth();
+    size[1] = this.model.getWindowHeight();
+    return size;
+  }
+  
+   /**
+   * Stores a given window size in the model.
+   * Can be used in the future for dynamic window resizing
+   * @param size  an array with a window size
+   */
+  this.setSize = function(size){
+    this.model.setWindowWidth(size[0]);
+    this.model.setWindowHeight(size[1]);
+  }
+  
+   /**
+   * When given a res, it recalculates it to match the zoomlevels, when present and returns a fixed scale.
+   * When no res is given it returns the maximum resolution
+   * @param res optional resolution to be checked
+   * @return fixedScale the resolution to display the map with
+   */
+  this.getFixedScale = function(res) {
+  if (this.zoomLevels){
+    if (!res) {
+      this.setResolution( new Array(this.model.getWindowWidth(), this.model.getWindowHeight() ) );
+      res = Math.max(this.res[0],this.res[1]);
+     
+    }
+    var sortstring = "function sort(a,b){return b-a}";
+    var evalsort= eval(sortstring);
+    var zoomLevels = this.zoomLevels.sort(evalsort);
+    var i=0;
+    while(zoomLevels[i] >= res){
+      i++;
+    }
+    if(i==0) {
+    i=1;
+    }
+    this.fixedScale = zoomLevels[i-1];
+    }
+    else this.fixedScale = Math.max(this.res[0],this.res[1]);
+    return this.fixedScale;
+    
+  }
+  
+  /* 
+   * Sets the zoomLevels in the extent
+   * @param enabled boolean to enable or disable zoomLevels support
+   * @param zoomLevels an array containing a fixed set of zoomLevels
+   */
+  this.setZoomLevels = function(enabled,zoomLevels){
+    if(enabled) {
+      this.zoomLevels = zoomLevels;
+    }
+    else this.zoomLevels = null;
+  }
+ 
+  /*
+   * Recalculates the lr and ul to a proper aspect. It also takes into account zoomLevels when present.
+   */
+  this.checkBbox = function() {
+    var center = this.getCenter();
+    var half = new Array(this.size[0]/2, this.size[1]/2);
+    var res = this.getFixedScale();
+    this.lr = new Array(center[0]+half[0]*res, center[1]-half[1]*res);
+    this.ul = new Array(center[0]-half[0]*res, center[1]+half[1]*res);
+  }
+  /**
    * Returns the XY center of this extent
    * @return  array of XY for th center of the extent
    */
@@ -56,9 +152,22 @@
    * @return     point array of XY coordinates
    */
   this.getXY = function(pl) {
-    var x = this.ul[0]+pl[0]*this.res[0];
-    var y = this.ul[1]- pl[1]*this.res[1];
-    return new Array(x,y);
+    //switch(this.model.getSRS()) {
+    //  case "EPSG:GMAPS":       //@TODO Cleanup this hack
+    //    gmap=this.model.getParam("gmap");
+    //    if(gmap){
+    //      p=new GPoint(pl[0],pl[1]);
+    //      latlng=gmap.fromDivPixelToLatLng(p);
+    //      latlng=new Array(latlng.lng(),latlng.lat());
+    //    }
+    //    else alert("Extent: gmap not defined");
+    //    break;
+    //  default:
+    //    latlng=new Array(this.ul[0]+pl[0]*this.res[0],this.ul[1]- pl[1]*this.res[1]);
+    //    break;
+    //}
+    latlng=new Array(this.ul[0]+pl[0]*this.res[0],this.ul[1]- pl[1]*this.res[1]);
+    return latlng;
   }
 
   /**
@@ -67,6 +176,11 @@
    * @return     point array of pxiel/line coordinates w.r.t. top left corner
    */
   this.getPL = function(xy) {
+    //switch(this.model.getSRS()) {
+    //  case "EPSG:GMAPS":       //@TODO Cleanup this hack
+    //    return xy;
+    //}
+    
     var p = Math.floor( (xy[0]-this.ul[0])/this.res[0] );
     var l = Math.floor( (this.ul[1]-xy[1])/this.res[1] );
     return new Array(p,l);
@@ -96,6 +210,9 @@
       newres= nRmax ;
     }
  */
+    if (this.zoomLevels) {
+      newres=this.getFixedScale(newres);
+    }
     this.lr = new Array(center[0]+half[0]*newres, center[1]-half[1]*newres);
     this.ul = new Array(center[0]-half[0]*newres, center[1]+half[1]*newres);
 
@@ -166,6 +283,8 @@
   this.getScale = function() {
     var pixRes = null;
     switch(this.model.getSRS()) {
+      case "EPSG:GMAPS":
+        break;
       case "EPSG:4326":				//all projection codes in degrees
       case "EPSG:4269":				
         pixRes = this.res[0]*degToMeter;
@@ -228,6 +347,7 @@
     }
 */
     extent.setResolution( new Array(extent.model.getWindowWidth(), extent.model.getWindowHeight() ) );
+    extent.checkBbox();
   }
   if ( initialRes ) this.init(this, initialRes);
 
Index: lib/spatial/mapbuilder/lib/tool/Caps2Context.js
===================================================================
--- lib/spatial/mapbuilder/lib/tool/Caps2Context.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/Caps2Context.js	(revision 4307)
@@ -1,3 +1,13 @@
+/*
+Author:   
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: Caps2Context.js 3881 2008-02-27 15:41:07Z gjvoosten $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/tool/ToolBase.js");
+
 /**
 
  * Build a Web Map Context (WMC) from a Web Map Server getCapabilities response.
@@ -32,9 +42,9 @@
 
   for (var j=0;j<toolNode.childNodes.length;j++) {
 
-    if (toolNode.childNodes[j].firstChild && toolNode.childNodes[j].firstChild.nodeValue) {
+    if (getNodeValue(toolNode.childNodes[j])) {
 
-      this.stylesheet.setParameter(toolNode.childNodes[j].nodeName,toolNode.childNodes[j].firstChild.nodeValue);
+      this.stylesheet.setParameter(toolNode.childNodes[j].nodeName,getNodeValue(toolNode.childNodes[j]));
 
     }
 
Index: lib/spatial/mapbuilder/lib/tool/EditContext.js
===================================================================
--- lib/spatial/mapbuilder/lib/tool/EditContext.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/EditContext.js	(revision 4307)
@@ -2,7 +2,7 @@
 Author:       Mike Adair  mike.adairATccrs.nrcan.gc.ca
 License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: EditContext.js 3881 2008-02-27 15:41:07Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -23,8 +23,8 @@
 
   // Set stylesheet parameters for all the child nodes from the config file
   for (var j=0;j<toolNode.childNodes.length;j++) {
-    if (toolNode.childNodes[j].firstChild && toolNode.childNodes[j].firstChild.nodeValue) {
-      this.stylesheet.setParameter(toolNode.childNodes[j].nodeName,toolNode.childNodes[j].firstChild.nodeValue);
+    if (getNodeValue(toolNode.childNodes[j])) {
+      this.stylesheet.setParameter(toolNode.childNodes[j].nodeName,getNodeValue(toolNode.childNodes[j]));
     }
   }
 
@@ -41,7 +41,7 @@
     this.stylesheet.setParameter("format", this.model.getImageFormat() );
     var newNode = this.stylesheet.transformNodeToObject(feature);
     Sarissa.setXpathNamespaces(newNode, this.targetModel.namespace);
-    if (this.debug) alert(newNode.xml);
+    mbDebugMessage(this, newNode.xml);
     this.targetModel.setParam('addLayer',newNode.documentElement);
   }
 
@@ -53,7 +53,7 @@
     var feature = this.model.getFeatureNode(featureName);
     var newNode = this.stylesheet.transformNodeToObject(feature);
     Sarissa.setXpathNamespaces(newNode, this.targetModel.namespace);
-    if (this.debug) alert(newNode.xml);
+    mbDebugMessage(this, newNode.xml);
     this.targetModel.setParam('addLayer',newNode.documentElement);
   }
 
Index: lib/spatial/mapbuilder/lib/tool/xsl/wfs_DescribeFeatureType.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/xsl/wfs_DescribeFeatureType.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/xsl/wfs_DescribeFeatureType.xsl	(revision 4307)
@@ -1,81 +1,6 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wfs="http://www.opengis.net/wfs" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ogc="http://www.opengis.net/ogc" xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/><xsl:param name="httpMethod">get</xsl:param><xsl:template match="/wfs:WFS_Capabilities/wfs:FeatureTypeList"><DescribeFeatureType version="1.0.0" service="WFS"><xsl:apply-templates select="wfs:FeatureType"/></DescribeFeatureType></xsl:template><xsl:template match="wfs:FeatureType"><xsl:choose><xsl:when test="$httpMethod='post'"><TypeName><xsl:value-of select="wfs:Name"/></TypeName></xsl:when><xsl:otherwise><mb:QueryString><xsl:variable name="query">
 
-
-
-<!--
-
-Description: transforms a WFS FeatureType node to a DescribeFeatureType request
-
-Author:      adair
-
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-
-
-$Id$
-
-$Name$
-
--->
-
-
-
-<xsl:stylesheet version="1.0" 
-
-    xmlns:wfs="http://www.opengis.net/wfs"
-
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-
-		xmlns:ogc="http://www.opengis.net/ogc"
-
-    xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" 
-
-		xmlns:gml="http://www.opengis.net/gml"
-
-    xmlns:xlink="http://www.w3.org/1999/xlink">
-
-
-
-  <xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8" indent="yes"/>
-
-
-
-  <xsl:param name="httpMethod">get</xsl:param>
-
-  
-
-  <!-- template rule matching source root element -->
-
-  <xsl:template match="/wfs:WFS_Capabilities/wfs:FeatureTypeList">
-
-    <DescribeFeatureType version="1.0.0" service="WFS">
-
-      <xsl:apply-templates select="wfs:FeatureType"/>
-
-    </DescribeFeatureType>
-
-  </xsl:template>
-
-
-
-  <!-- template rule matching source root element -->
-
-  <xsl:template match="wfs:FeatureType">
-
-    <xsl:choose>
-
-      <xsl:when test="$httpMethod='post'">
-
-        <TypeName><xsl:value-of select="wfs:Name"/></TypeName>
-
-      </xsl:when>
-
-      <xsl:otherwise>
-
-        <mb:QueryString>
-
-          <xsl:variable name="query">
-
       request=DescribeFeatureType
 
  &amp;version=1.0.0
@@ -82,25 +7,4 @@
 
  &amp;service=WFS
 
-&amp;typename=<xsl:value-of select="wfs:Name"/>
-
-          </xsl:variable>
-
-          <xsl:value-of select="translate(normalize-space($query),' ', '' )" disable-output-escaping="no"/>
-
-        </mb:QueryString>
-
-      </xsl:otherwise>
-
-    </xsl:choose>
-
-  </xsl:template>
-
-
-
-  <xsl:template match="text()|@*"/>
-
-
-
-</xsl:stylesheet>
-
+&amp;typename=<xsl:value-of select="wfs:Name"/></xsl:variable><xsl:value-of select="translate(normalize-space($query),' ', '' )" disable-output-escaping="no"/></mb:QueryString></xsl:otherwise></xsl:choose></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/tool/xsl/ols_GeocodeRequest.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/xsl/ols_GeocodeRequest.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/lib/tool/xsl/ols_GeocodeRequest.xsl	(revision 4307)
@@ -0,0 +1,2 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:cml="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" version="1.0" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/><xsl:strip-space elements="*"/><xsl:param name="postalCode"/><xsl:param name="street"/><xsl:param name="number"/><xsl:param name="municipalitySubdivision"/><xsl:param name="municipality"/><xsl:param name="countryCode"/><xsl:template match="/"><xls:GeocodeRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xls="http://www.opengis.net/xls" xmlns:gml="http://www.opengis.net/gml"><xls:Address countryCode="{$countryCode}"><xsl:if test="$street"><xls:StreetAddress xmlns="http://www.opengis.net/xls"><xls:Street><xsl:value-of select="$street"/></xls:Street><xsl:if test="$number"><xls:Building number="{$number}"/></xsl:if></xls:StreetAddress></xsl:if><xsl:if test="$postalCode"><xls:PostalCode xmlns="http://www.opengis.net/xls"><xsl:value-of select="$postalCode"/></xls:PostalCode></xsl:if><xsl:if test="$municipalitySubdivision"><xls:Place type="MunicipalitySubdivision"><xsl:value-of select="$municipalitySubdivision"/></xls:Place></xsl:if><xsl:if test="$municipality"><xls:Place type="Municipality"><xsl:value-of select="$municipality"/></xls:Place></xsl:if></xls:Address></xls:GeocodeRequest></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/tool/xsl/wfs_Update.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/xsl/wfs_Update.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/xsl/wfs_Update.xsl	(revision 4307)
@@ -1,104 +1,2 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-
-
-<!--
-
-Description: Extract FeatureMembers from a FeatureCollection and build
-
-  into a WFS Insert transaction.
-
-Author:      Cameron Shorter
-
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-
-
-$Id$
-
--->
-
-
-
-<xsl:stylesheet version="1.0" 
-
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-
-    xmlns:wfs="http://www.opengis.net/wfs"
-
-    xmlns:ogc="http://www.opengis.net/ogc"
-
-    xmlns:gml="http://www.opengis.net/gml">
-
-
-
-  <xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8" indent="yes"/>
-
-
-
-  <!-- Match root -->
-
-  <xsl:template match="/">
-
-    <wfs:Transaction service="WFS" version="1.0.0">
-
-      <xsl:apply-templates/>
-
-    </wfs:Transaction>
-
-  </xsl:template>
-
-
-
-  <!-- Match featureMember -->
-
-  <xsl:template match="gml:featureMember/*[@fid]">
-
-    <wfs:Update typeName="{name()}">
-
-      <ogc:Filter>
-
-        <ogc:FeatureId fid="{./@fid}"/>
-
-      </ogc:Filter>
-
-      <xsl:for-each select="./*">
-
-        <wfs:Property>
-
-          <wfs:Name>
-
-            <xsl:value-of select="name()"/>
-
-          </wfs:Name>
-
-          <wfs:Value>
-
-            <xsl:if test="./*">
-
-              <xsl:copy-of select="./*"/>
-
-            </xsl:if>
-
-            <xsl:if test="not(./*)">
-
-              <xsl:value-of select="."/>
-
-            </xsl:if>
-
-          </wfs:Value>
-
-        </wfs:Property>
-
-      </xsl:for-each>
-
-    </wfs:Update>
-
-  </xsl:template>
-
-
-
-  <xsl:template match="text()|@*"/>
-
-</xsl:stylesheet>
-
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wfs="http://www.opengis.net/wfs" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/><xsl:template match="/"><wfs:Transaction service="WFS" version="1.0.0"><xsl:apply-templates/></wfs:Transaction></xsl:template><xsl:template match="gml:featureMember/*[@fid]"><wfs:Update typeName="{name()}"><ogc:Filter><ogc:FeatureId fid="{./@fid}"/></ogc:Filter><xsl:for-each select="./*"><wfs:Property><wfs:Name><xsl:value-of select="name()"/></wfs:Name><wfs:Value><xsl:if test="./*"><xsl:copy-of select="./*"/></xsl:if><xsl:if test="not(./*)"><xsl:value-of select="."/></xsl:if></wfs:Value></wfs:Property></xsl:for-each></wfs:Update></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/tool/xsl/Wmc2OwsContext.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/xsl/Wmc2OwsContext.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/lib/tool/xsl/Wmc2OwsContext.xsl	(revision 4307)
@@ -0,0 +1,2 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns="http://www.opengis.net/ows-context/0.2.1" xmlns:wmc="http://www.opengis.net/context" xmlns:wmc11="http://www.opengeospatial.net/context" xmlns:wms="http://www.opengis.net/wms" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ows="http://www.opengis.net/ows" version="1.0"><xsl:output method="xml" indent="yes"/><xsl:template match="/wmc:ViewContext|/wmc11:ViewContext"><OWSContext xmlns:ogc="http://www.opengis.net/ogc" xmlns:param="http://www.opengis.net/param" version="0.2.1" id="ows-context"><xsl:apply-templates/></OWSContext></xsl:template><xsl:template match="wmc:BoundingBox|wmc11:BoundingBox"><ows:BoundingBox><xsl:attribute name="crs"><xsl:value-of select="@SRS"/></xsl:attribute><ows:LowerCorner><xsl:value-of select="concat(@minx,' ',@miny)"/></ows:LowerCorner><ows:UpperCorner><xsl:value-of select="concat(@maxx,' ',@maxy)"/></ows:UpperCorner></ows:BoundingBox></xsl:template><xsl:template match="wmc:KeywordList|wmc11:KeywordList"><ows:KeyWords><xsl:apply-templates/></ows:KeyWords></xsl:template><xsl:template match="wmc:ContactInformation|wmc11:ContactInformation"><ows:ServiceProvider><ows:ProviderName><xsl:value-of select="wmc:ContactPersonPrimary/wmc:ContactOrganization"/><xsl:value-of select="wmc11:ContactPersonPrimary/wmc11:ContactOrganization"/></ows:ProviderName><ows:ServiceContact><ows:IndividualName><xsl:value-of select="wmc:ContactPersonPrimary/wmc:ContactPerson"/><xsl:value-of select="wmc11:ContactPersonPrimary/wmc11:ContactPerson"/></ows:IndividualName><ows:PositionName><xsl:value-of select="wmc:ContactPosition"/><xsl:value-of select="wmc11:ContactPosition"/></ows:PositionName><ows:ContactInfo><ows:Phone><ows:Voice><xsl:value-of select="wmc:ContactVoiceTelephone"/><xsl:value-of select="wmc11:ContactVoiceTelephone"/></ows:Voice><ows:Facsimile><xsl:value-of select="wmc:ContactFacsimileTelephone"/><xsl:value-of select="wmc11:ContactFacsimileTelephone"/></ows:Facsimile></ows:Phone><ows:Address><ows:DeliveryPoint><xsl:value-of select="wmc:ContactAddress/wmc:Address"/><xsl:value-of select="wmc11:ContactAddress/wmc11:Address"/></ows:DeliveryPoint><ows:City><xsl:value-of select="wmc:ContactAddress/wmc:City"/><xsl:value-of select="wmc11:ContactAddress/wmc11:City"/></ows:City><ows:AdministrativeArea><xsl:value-of select="wmc:ContactAddress/wmc:StateOrProvince"/><xsl:value-of select="wmc11:ContactAddress/wmc11:StateOrProvince"/></ows:AdministrativeArea><ows:Country><xsl:value-of select="wmc:ContactAddress/wmc:Country"/><xsl:value-of select="wmc11:ContactAddress/wmc11:Country"/></ows:Country></ows:Address></ows:ContactInfo></ows:ServiceContact></ows:ServiceProvider></xsl:template><xsl:template match="wmc:LayerList|wmc11:LayerList"><ResourceList><xsl:apply-templates/></ResourceList></xsl:template><xsl:template match="wmc:Name|wmc11:Name"><ows:Identifier><xsl:value-of select="."/></ows:Identifier></xsl:template><xsl:template match="wmc:Format|wmc11:Format"><ows:OutputFormat><xsl:value-of select="."/></ows:OutputFormat></xsl:template><xsl:template match="wmc:SRS|wmc11:SRS"><xsl:call-template name="tokenize"><xsl:with-param name="str" select="normalize-space(.)"/><xsl:with-param name="tag" select="ows:AvailableCRS"/></xsl:call-template></xsl:template><xsl:template match="wmc:Server"><Server service="{@service}" version="{@version}" title="{@title}"><OnlineResource xlink:type="{wmc:OnlineResource/@xlink:type}" xlink:href="{wmc:OnlineResource/@xlink:href}"/></Server></xsl:template><xsl:template match="wmc11:Server"><Server service="{@service}" version="{@version}" title="{@title}"><OnlineResource xlink:type="{wmc11:OnlineResource/@xlink:type}" xlink:href="{wmc:OnlineResource/@xlink:href}"/></Server></xsl:template><xsl:template name="tokenize"><xsl:param name="str"/><xsl:param name="tag"/><xsl:choose><xsl:when test="contains($str,' ')"><xsl:call-template name="tokenize"><xsl:with-param name="str" select="substring-before($str,' ')"/><xsl:with-param name="tag" select="$tag"/></xsl:call-template><xsl:call-template name="tokenize"><xsl:with-param name="str" select="substring-after($str,' ')"/><xsl:with-param name="tag" select="$tag"/></xsl:call-template></xsl:when><xsl:when test="string-length($str)&gt;0"><AvailableCRS><xsl:value-of select="$str"/></AvailableCRS></xsl:when></xsl:choose></xsl:template><xsl:template match=" wmc:Title|wmc11:Title| wmc:Abstract|wmc11:Abstract| wmc:Keyword|wmc11:Keyword "><xsl:element name="{local-name()}" namespace="http://www.opengis.net/ows"><xsl:apply-templates select="@*|node()"/></xsl:element></xsl:template><xsl:template match="wmc:*|wmc11:*"><xsl:element name="{local-name()}"><xsl:apply-templates select="@*|node()"/></xsl:element></xsl:template><xsl:template match="*|@*|processing-instruction()|comment()"><xsl:copy><xsl:apply-templates select="node()"/></xsl:copy></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/text/it/widgetText.xml
===================================================================
--- lib/spatial/mapbuilder/lib/text/it/widgetText.xml	(nonexistent)
+++ lib/spatial/mapbuilder/lib/text/it/widgetText.xml	(revision 4307)
@@ -0,0 +1,263 @@
+<?xml version="1.0" encoding="utf-8" standalone="no" ?>
+<WidgetText xmlns="http://mapbuilder.sourceforge.net/mapbuilder" 
+    version="0.2.1" id="mbDefaultText" xml:lang="it">
+  <!--
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ..//mapbuilder/lib/schemas/config.xsd"
+    
+    Description: This file contains all text used in widgets and JavaScript
+                 for multilingual support.  The widget text values are set as
+                 XSL params before the widget is painted.
+                 From JavaScript the messages can be retrieved with
+                 mbGetMessage(messageKey); see the JSDoc for details.
+    Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html 
+
+    $Id: widgetText.xml 3671 2007-12-04 11:40:10Z ahocevar $
+  -->
+  <!-- Widget (XSL) messages -->
+  <widgets>
+    <Abstract>
+      <abstract>Sommario</abstract>
+      <moreInfo>Informazioni aggiuntive</moreInfo>
+    </Abstract>
+    
+    <AoiForm>
+      <east>Est:</east>
+      <north>Nord:</north>
+      <south>Sud:</south>
+      <title>Coordinate dell'area di interesse</title>
+      <west>Ovest:</west>
+    </AoiForm>
+    
+    <Back>
+      <tooltip>Zoom precedente</tooltip>
+    </Back>
+    
+    <CatSearchForm>
+      <east>Est:</east>
+      <north>Nord:</north>
+      <south>Sud:</south>
+      <west>Ovest:</west>
+    </CatSearchForm>
+    
+    <CollectionList>
+      <title>Seleziona la mappa da caricare:</title>
+    </CollectionList>
+    
+    <CursorTrack>
+      <latitude>lat: </latitude>
+      <longitude>lon: </longitude>
+      <xcoord>x: </xcoord>
+      <ycoord>y: </ycoord>
+    </CursorTrack>
+    
+    <DeleteFeature>
+      <tooltip>Elimina l'oggetto o gli oggetti correnti</tooltip>
+    </DeleteFeature>
+    
+    <DragPan>
+      <tooltip>Clicca e trascina il mouse per spostare la mappa</tooltip>
+    </DragPan>
+    
+    <EditLine>
+      <tooltip>Clicca sulla mappa per aggiungere un punto alla linea</tooltip>
+    </EditLine>
+    
+    <EditPoint>
+      <tooltip>Clicca sulla mappa per creare un nuovo punto</tooltip>
+    </EditPoint>
+    
+    <EditPolygon>
+      <tooltip>Clicca sulla mappa per creare un nuovo poligono</tooltip>
+    </EditPolygon>
+    
+    <Forward>
+      <tooltip>Zoom successivo</tooltip>
+    </Forward>
+    
+    <GetFeatureInfo>
+      <tooltip>Clicca sull'oggetto per ulteriori informazioni</tooltip>
+    </GetFeatureInfo>
+    
+    <GetFeatureInfoWSR>
+      <tooltip>Clicca sull'oggetto per ulteriori informazioni</tooltip>
+    </GetFeatureInfoWSR>
+    
+    <InsertFeature>
+      <tooltip>Salva l'oggetto o gli oggetti correnti</tooltip>
+    </InsertFeature>
+    
+    <LayerControl>
+      <deleteLayerTip>Cancellare questo strato</deleteLayerTip>
+      <layerIndexTip>Attuale posizione dello strato nella pila di immagine</layerIndexTip>
+      <legendTip>Visualizzare o non la leggenda</legendTip>
+      <moveLayerDownTip>Abbassare questo strato</moveLayerDownTip>
+      <moveLayerUpTip>Alzare questo strato</moveLayerUpTip>
+      <nameLayerTip>Strato nome</nameLayerTip>
+      <opacityTip>Tasso di opacità</opacityTip>
+      <toggleVisTip>Scattar se desiderate l'esposizione o non questo strato</toggleVisTip>
+    </LayerControl>
+    
+    <Legend>
+      <title>Tematismi</title>
+    </Legend>
+    
+    <Measurement>
+      <tooltip>Clicca sulla mappa per misurare la distanza</tooltip>
+    </Measurement>
+    
+    <ModelStatus>
+      <title>Stato per: </title>
+    </ModelStatus>
+    
+    <ModelUrlInput>
+      <load>caricamento</load>
+      <title>URL: </title>
+    </ModelUrlInput>
+    
+    <Reset>
+      <tooltip>Ritorna alla mappa iniziale</tooltip>
+    </Reset>
+    
+    <Save>
+      <tooltip>Salva</tooltip>
+    </Save>
+    
+    <SetAoi>
+      <tooltip>Clicca e trascina per selezionare l'area di interesse</tooltip>
+    </SetAoi>
+    
+    <Timestamp>
+      <title>Data/ora: </title>
+    </Timestamp>
+    
+    <WebServiceForm>
+      <mapsheet>NTS index:</mapsheet>
+      <ntsTitle>NTS Lookup web service</ntsTitle>
+    </WebServiceForm>
+    
+    <WfsGetFeature>
+      <tooltip>Clicca sull'oggetto per interrogarlo</tooltip>
+    </WfsGetFeature>
+    
+    <ZoomIn>
+      <tooltip>Clicca e trascina il mouse per ingrandire</tooltip>
+    </ZoomIn>
+    
+    <ZoomOut>
+      <tooltip>Clicca per ridurre</tooltip>
+    </ZoomOut>
+  </widgets>
+  
+  <!-- JavaScript messages -->
+  <messages>
+    <aeaInitEqualLatitudes>aeaInit: Latitudine uguale dei Paralleli Standard sui lati opposti rispetto all'equatore</aeaInitEqualLatitudes>
+    <aeqdFwdPointError>Il Punto non può essere proiettato nel aeqdFwd()</aeqdFwdPointError>
+    <aeqdInvDataError>C'è un errore di contenuto nel aeqdInv()</aeqdInvDataError>
+    <aoiFormNotFound>Non posso trovare aoiForm per geoSearch</aoiFormNotFound>
+    <atLeastOneValue>Inserire almeno un valore prima di procedere</atLeastOneValue>
+    <buttonBarRequired>La proprietà buttonBar è necessaria per l'oggetto: {0}</buttonBarRequired>
+    <cantCalculateDistance>Measurement non è in grado di calcolare la distanza</cantCalculateDistance>
+    <cantGoBack>Non è possibile tornare indietro ulteriormente</cantGoBack>
+    <cantGoForward>Non è possibile andare avanti ulteriormente</cantGoForward>
+    <cantMoveDown>Il nodo è già alla fine della lista: {0}</cantMoveDown>
+    <cantMoveUp>Il nodo è già all'inizio della lista: {0}</cantMoveUp>
+    <convertingCoords>conversione delle coordinate</convertingCoords>
+    <docLoading>Caricamento del documento, attendere prego...</docLoading>
+    <documentParseError>Il documento contiene degli errori: {0}</documentParseError>
+    <eastWgs84>Est (WGS84)</eastWgs84>
+    <equiInvDataError>C'è un errore di contenuto nel equiInv()</equiInvDataError>
+    <errorCreatingObject>Errore nella creazione dell'oggetto: {0}</errorCreatingObject>
+    <errorLoadingDocument>Errore nel caricamento del documento: {0} - {1}-{2}</errorLoadingDocument>
+    <errorLoadingModel>Errore in Config loadModel: {0}: {1}</errorLoadingModel>
+    <errorLoadingStylesheet>Errore nel caricamento del foglio di stile XSL: {0}</errorLoadingStylesheet>
+    <errorPaintingWidget>Errore in Config paintWidget: il widget non esiste</errorPaintingWidget>
+    <eventLogSaved>Il file di log è stato salvato: {0}</eventLogSaved>
+    <exceptionTransformingDoc>Errore nella trasformazione XSL del documento: {0}</exceptionTransformingDoc>
+    <featureNotFoundOwsContext>Oggetto non trovato</featureNotFoundOwsContext>
+    <featureNotFoundWebServiceRequest>WebServiceRequest: errore nel trovare le caratteristiche del nodo: {0}</featureNotFoundWebServiceRequest>
+    <gridShiftError>ERRORE: Le trasformazioni dello spostamento di griglia non sono effettuate ancora (cscs.js)</gridShiftError>
+    <idRequired>È richiesto un id per l'oggetto: {0}</idRequired>
+    <invalidFeatureXpathEditLine>EditLine: la definizione di featureXpath in config non è valida: {0}</invalidFeatureXpathEditLine>
+    <invalidFeatureXpathEditPoint>EditPoint: la definizione di featureXpath in config non è valida: {0}</invalidFeatureXpathEditPoint>
+    <invalidFeatureXpathEditPolygon>EditPolygon: la definizione di featureXpath in config non è valida: {0}</invalidFeatureXpathEditPolygon>
+    <invalidFeatureXpathMeasurement>Measurement: la proprietà featureXpath specificata in config non è valida: {0}</invalidFeatureXpathMeasurement>
+    <invalidGeom>Geometria non valida: {0}</invalidGeom>
+    <invalidGmlGeom>Geometria GML non valida</invalidGmlGeom>
+    <laeaInvDataError>C'è un errore di contenuto nel' laeaInv()</laeaInvDataError>
+    <lastFrameAfterFirst>L'ultimo frame deve essere successivo al primo</lastFrameAfterFirst>
+    <layerTypeNotSupported>MapPaneOL: Nessun supporto per il tematismo di tipo={0}</layerTypeNotSupported>
+    <lccInitEqualLatitudes>lccInit: Latitudine uguale dei Paralleli Standard sui lati opposti rispetto all'equatore</lccInitEqualLatitudes>
+    <listenerError>Errore in Listener: param={0}, target={1}, callBackFunction={2}</listenerError>
+    <ll2lccNoProjection>ll2lcc: Il Punto non può essere proiettato</ll2lccNoProjection>
+    <ll2mAtPoles>ll2m: La trasformazione non può essere calcolata ai poli</ll2mAtPoles>
+    <ll2stInfiniteProjection>ll2st: Punto proiettato all'infinito</ll2stInfiniteProjection>
+    <ll2tmInfiniteProjection>ll2tm: Punto proiettato all'infinito</ll2tmInfiniteProjection>
+    <llInputOutOfRange>Inserire i limiti: lon: {0} - lat: {1}</llInputOutOfRange>
+    <loadingLayer>{0} tematismo in caricamento</loadingLayer>
+    <loadingLayers>{0} tematismi in caricamento</loadingLayers>
+    <mollFwdIterationError>La ripetizione non è riuscito a convergere nel mollFwd()</mollFwdIterationError>
+    <noBboxInContext>Nessun BBOX definito nella context</noBboxInContext>
+    <noContextDefined>Nessun context definito nella configurazione (config)</noContextDefined>
+    <noCountryCode>Specificare un country code</noCountryCode>
+    <noDataYet>Nessun contenuto da visualizzare</noDataYet>
+    <nodeNotFound>Nessun nodo trovato; non è possibile procedere con l'eliminazione: {0}</nodeNotFound>
+    <noFeatureToDelete>Nessun oggetto disponibile per l'eliminazione</noFeatureToDelete>
+    <noFeatureToInsert>Nessun oggetto disponibile per l'inserimento</noFeatureToInsert>
+    <noMouseHandlerTool>Errore nel trovare il mouseHandler: {0} per l'applicazione: {1}</noMouseHandlerTool>
+    <noQueryableLayers>
+      Nessun tematismo interrogabile disponibile,
+      aggiungere al context un tematismo interrogabile.
+    </noQueryableLayers>
+    <noQueryableLayersVisible>
+      Non ci sono strati interrogabile visibili,
+      prego contrassegnano uno strato interrogabile nella leggenda.
+    </noQueryableLayersVisible>
+    <noRssTitle>Titolo RSS assente</noRssTitle>
+    <northWgs84>Nord (WGS84)</northWgs84>
+    <noSerializeUrl>definire la proprietà serializeUrl in config</noSerializeUrl>
+    <noTargetContext>Errore nella ricerca del targetContext: {0} per: {1}</noTargetContext>
+    <noTargetModelTool>Errore nel trovare il targetModel: {0} per l'applicazione: {1}</noTargetModelTool>
+    <noTargetModelWidget>Errore nella ricerca del targetModel: {0} per: {1}</noTargetModelWidget>
+    <nullOwsContext>Documento OWSContext vuoto</nullOwsContext>
+    <nullXmlResponse>Risposta XML vuota: {0}</nullXmlResponse>
+    <omercFwdInfinity>Il Punto è proiettato nell'infinità nel omercFwd()</omercFwdInfinity>
+    <omercInitDataError>C'è un errore di contenuto nel omercInit()</omercInitDataError>
+    <orthoFwdPointError>Punti non possono essere proiettati nel orthoFwd()</orthoFwdPointError>
+    <orthoInvDataError>C'è un errore di contenuto nel orthoInv()</orthoInvDataError>
+    <parseError>Errore nell'analisi del documento: {0}</parseError>
+    <phi1zNoConvergence>phi1z: errore di convergenza</phi1zNoConvergence>
+    <phi2zNoConvergence>phi2z: errore di convergenza</phi2zNoConvergence>
+    <phi3zNoConvergence>phi3z: errore di convergenza</phi3zNoConvergence>
+    <phi4zNoConvergence>phi4z: errore di convergenza</phi4zNoConvergence>
+    <projectionNotSupported>Measurement: Proiezione non supportata!</projectionNotSupported>
+    <scale>scala 1:{0}</scale>
+    <selectLayer>Selezionare un tematismo per poter inserire l'sld nel wmc</selectLayer>
+    <sinuInvDataError>C'è un errore di contenuto nel sinuInv()</sinuInvDataError>
+    <southWgs84>Sud (WGS84)</southWgs84>
+    <tabWidgetNotFound>Tab widget non trovato: {0}</tabWidgetNotFound>
+    <tm2llNoConvergence>tm2ll: errore di convergenza nel calcolo della Latitudine</tm2llNoConvergence>
+    <unableToLoadDoc>
+      Impossibile caricare il documento: {0}.
+      Specificare in config la proprietà proxyUrl.
+    </unableToLoadDoc>
+    <unableToSaveLog>Non è possibile salvare il file di log; definire correttamente la proprietà serializeUrl in config</unableToSaveLog>
+    <undefinedListener>Listener non definito per: {0}</undefinedListener>
+    <unitCentimeters>centimetri</unitCentimeters>
+    <unitCentimetersAbbr>cm</unitCentimetersAbbr>
+    <unitFeet>piedi</unitFeet>
+    <unitFeetAbbr>ft</unitFeetAbbr>
+    <unitInches>pollici</unitInches>
+    <unitInchesAbbr>in</unitInchesAbbr>
+    <unitKilometers>chilometri</unitKilometers>
+    <unitKilometersAbbr>km</unitKilometersAbbr>
+    <unitNauticalMiles>miglia marine</unitNauticalMiles>
+    <unitNauticalMilesAbbr>nmi</unitNauticalMilesAbbr>
+    <unitMeters>metri</unitMeters>
+    <unitMetersAbbr>m</unitMetersAbbr>
+    <unitMiles>miglia</unitMiles>
+    <unitMilesAbbr>mi</unitMilesAbbr>
+    <unknownRucType>Tipo RUC incognito</unknownRucType>
+    <westWgs84>Ovest (WGS84)</westWgs84>
+  </messages>
+</WidgetText>
Index: lib/spatial/mapbuilder/lib/LoadScripts.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/LoadScripts.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/LoadScripts.xsl	(revision 4307)
@@ -1,47 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet
-  xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" 
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  exclude-result-prefixes="mb" version="1.0" >
-<!--
-Description: Convert Mapbuilder Config to a list of buttons.
-Author:      Mike Adair
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-ButtonBar.xsl,v 1.5 2004/03/25 21:25:43 madair1 Exp
- || mb:widgets/* || mb:tools/*
--->
-
-  <xsl:output method="html" omit-xml-declaration="yes"/>
-  
-  <xsl:param name="baseDir">/mapbuilder/lib</xsl:param>
-  
-  <xsl:template match="/mb:MapbuilderConfig">
-    <xsl:apply-templates />
-  </xsl:template>
-  
-  <xsl:template match="mb:models/*">
-    <xsl:variable name="scriptfile"><xsl:value-of select="$baseDir"/>/model/<xsl:value-of select="name(.)"/>.js</xsl:variable>
-    <script type="text/javascript" src="{$scriptfile}"></script>
-    <xsl:apply-templates />
-  </xsl:template>
-  
-  <xsl:template match="mb:widgets/*">
-    <xsl:variable name="scriptfile"><xsl:value-of select="$baseDir"/>/widget/<xsl:value-of select="name(.)"/>.js</xsl:variable>
-    <script type="text/javascript" src="{$scriptfile}"></script>
-    <xsl:apply-templates select="mb:scriptfile"/>
-  </xsl:template>
-  
-  <xsl:template match="mb:tools/*">
-    <xsl:variable name="scriptfile"><xsl:value-of select="$baseDir"/>/tool/<xsl:value-of select="name(.)"/>.js</xsl:variable>
-    <script type="text/javascript" src="{$scriptfile}"></script>
-  </xsl:template>
-  
-  <xsl:template match="mb:scriptfile">
-    <xsl:variable name="scriptfile"><xsl:value-of select="."/></xsl:variable>
-    <script type="text/javascript" src="{$scriptfile}"></script>
-  </xsl:template>
-  
-  <xsl:template match="text()|@*"/>
-
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="mb" version="1.0"><xsl:output method="html" omit-xml-declaration="yes"/><xsl:param name="baseDir">/mapbuilder/lib</xsl:param><xsl:template match="/mb:MapbuilderConfig"><xsl:apply-templates/></xsl:template><xsl:template match="mb:models/*"><xsl:variable name="scriptfile"><xsl:value-of select="$baseDir"/>/model/<xsl:value-of select="name(.)"/>.js</xsl:variable><script type="text/javascript" src="{$scriptfile}"/><xsl:apply-templates/></xsl:template><xsl:template match="mb:widgets/*"><xsl:variable name="scriptfile"><xsl:value-of select="$baseDir"/>/widget/<xsl:value-of select="name(.)"/>.js</xsl:variable><script type="text/javascript" src="{$scriptfile}"/><xsl:apply-templates select="mb:scriptfile"/></xsl:template><xsl:template match="mb:tools/*"><xsl:variable name="scriptfile"><xsl:value-of select="$baseDir"/>/tool/<xsl:value-of select="name(.)"/>.js</xsl:variable><script type="text/javascript" src="{$scriptfile}"/></xsl:template><xsl:template match="mb:scriptfile"><xsl:variable name="scriptfile"><xsl:value-of select="."/></xsl:variable><script type="text/javascript" src="{$scriptfile}"/></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/tool/MovieLoop.js
===================================================================
--- lib/spatial/mapbuilder/lib/tool/MovieLoop.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/MovieLoop.js	(revision 4307)
@@ -1,7 +1,7 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
 Dependancies: Context
-$Id$
+$Id: MovieLoop.js 3881 2008-02-27 15:41:07Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -24,19 +24,14 @@
   this.model.setParam("firstFrame", 0);
   this.timestampIndex = 0;
   window.movieLoop = this;
+  this.isRunning = false;
+  this.frameIsLoading = false;
 
-  //
-  var framesPerSecond = toolNode.selectSingleNode("mb:framesPerSecond");
-  if (framesPerSecond) {
-    this.delay = 1000/framesPerSecond.firstChild.nodeValue;
-  } else {
-    this.delay = 1000/10; //milliseconds
-  }
+  //delay in milliseconds
+  this.delay = 1000/this.getProperty("mb:framesPerSecond", 10);
 
-  //set a limit to the munber of frames to be loaded
-  this.maxFrames = 30;
-  var maxFrames = toolNode.selectSingleNode("mb:maxFrames");
-  if (maxFrames) this.maxFrames = maxFrames.firstChild.nodeValue;
+  //set a limit to the number of frames to be loaded
+  this.maxFrames = this.getProperty("mb:maxFrames", 30);
 
   /**
    * Sets the frame to the specified index in the frame array
@@ -44,10 +39,13 @@
    */
   this.setFrame = function(index) {
     var timestampList = this.model.timestampList;
+    var ts;
     if (this.timestampIndex!=null) {
-      var timestamp = timestampList.childNodes[this.timestampIndex];
-      timestamp.setAttribute("current", "0");
-      this.model.setParam("timestamp", this.timestampIndex);
+      var ts = timestampList.childNodes[this.timestampIndex];
+      if (ts) {
+        ts.setAttribute("current", "0");
+        this.model.setParam("timestamp", this.timestampIndex);
+      }
     }
     var firstFrame = this.model.getParam("firstFrame");
     var lastFrame = this.model.getParam("lastFrame");
@@ -54,13 +52,14 @@
     if (index > lastFrame) index = firstFrame;
     if (index < firstFrame) index = lastFrame;
     this.timestampIndex = index;
-    timestamp = timestampList.childNodes[this.timestampIndex];
-    timestamp.setAttribute("current", "1");
+    ts = timestampList.childNodes[this.timestampIndex];
+    ts.setAttribute("current", "1");
     this.model.setParam("timestamp", this.timestampIndex);
   }
 
   /**
-   * Advances the frame array by the frame increment
+   * Advances the frame array by the frame increment. 
+   * 
    * @param step optional parameter to override default frame increment
    */
   this.nextFrame = function(step) {
@@ -67,7 +66,13 @@
     var objRef = window.movieLoop;
     var increment = objRef.frameIncrement;
     if (step) increment = step;   //arg passed in overrides default
-    objRef.setFrame(objRef.timestampIndex + increment);
+    if (!this.frameIsLoading) {
+        // play() will continue calling nextFrame, so that 
+        // nextFrame() will continually be called at a regular interval, until the current frame is loaded        
+        // The 'bug' is that if the user clicks the next button rapidly, subsequent requests will be ignored
+        // while the initial frame is loading. This needs to be resolved.
+	    objRef.setFrame(objRef.timestampIndex + increment);
+	}
   }
 
   /**
@@ -96,13 +101,37 @@
     objRef.setFrame(objRef.model.getParam("firstFrame"));
   }
   this.model.addListener("loadModel",this.reset,this);
-  this.model.addListener("bbox",this.reset,this);
+  
+  /**
+   * initialize the movie loop. This only happens at the first bbox event,
+   * which shows us that the map is loaded.
+   */
+  this.init = function(objRef) {
+    //TBD: this is an ugly workaround because we do not have an event that
+    // tells us when the OL map finished loading. 
+    if (!objRef.initialized) {
+      objRef.initialized = true;
+      objRef.reset(objRef);
+    }
+  }
+  this.model.addListener("bbox", this.init, this);
+  
+  /**
+   * set the initialized state of the movie loop to false
+   */
+  this.uninit = function(objRef) {
+    objRef.initialized = false;
+  }
+  this.model.addListener("newModel", this.uninit, this);
 
   /**
    * Starts the movie loop playing by using a JavaScript timer.
    */
   this.play = function() {
-    this.movieTimer = setInterval('window.movieLoop.nextFrame()',this.delay);
+  	if (!this.isRunning) {
+	    this.movieTimer = setInterval('window.movieLoop.nextFrame()',this.delay);
+	    this.isRunning = true;
+	}
   }
   
   /**
@@ -109,6 +138,7 @@
    * Stops the JavaScript movie loop timer.
    */
   this.pause = function() {
+    this.isRunning = false;
     clearInterval(this.movieTimer);
   }
   
@@ -116,7 +146,7 @@
    * Stops the JavaScript movie loop timer and sets the index back to the first 
    * frame.
    */
-  this.stop = function() {
+  this.stop = function() { 
     this.pause();
     this.reset(this);
   }
Index: lib/spatial/mapbuilder/lib/tool/FeatureSelectHandler.js
===================================================================
--- lib/spatial/mapbuilder/lib/tool/FeatureSelectHandler.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/tool/FeatureSelectHandler.js	(revision 4307)
@@ -0,0 +1,284 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: FeatureSelectHandler.js 3842 2008-02-13 17:22:04Z ahocevar $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/tool/ToolBase.js");
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
+
+/**
+ * Manages mouseover and clicks on vector features in the map.
+ * This tool works with models that are linked to a OL vector layer,
+ * using eg. the GmlRendererOL widget. Models have to fire the
+ * 'gmlRendererLayer' event, which will activate the tool for the
+ * layer.
+ * This tool also fires "mouseoverFeature" and "mouseoutFeature"
+ * events, setting the fid of the feature below the mouse cursor
+ * as param of the model.
+ * @constructor
+ * @base ToolBase
+ * @author Andreas Hocevar andreas.hocevarATgmail.com
+ * @param toolNode The tool node from the config XML file.
+ * @param model The model containing this tool.
+ */
+function FeatureSelectHandler(toolNode, model) {
+  ToolBase.apply(this, new Array(toolNode, model));
+   
+  /**
+   * Map for this FeatureSelectHandler. We keep a reference
+   * to the map we created the control for, to prevent ourselves
+   * from removing the control from a map that does not exist
+   * anymore.
+   */
+  this.map = null;
+  
+  this.sourceModels = new Array();
+  
+  /**
+   * Tool Initialisation - Step 1 of 3.
+   * This is called when the config finished loading, so we know
+   * our context (targetModel).
+   * @param objRef This object
+   */
+  this.configInit = function(objRef) {
+    objRef.targetModel.addListener('loadModel', objRef.contextInit, objRef);
+  }
+  this.model.addListener('init', this.configInit, this)
+  
+  this.clear = function(objRef) {
+    if (objRef.control) {
+      objRef.map = null;
+      objRef.control.destroy();
+      objRef.control = null;
+    }
+  }
+  this.model.addListener("newModel", this.clear, this);
+
+  /**
+   * Tool Initialisation - Step 2 of 3.
+   * This is called when the context model finished loading, so we
+   * know that we have a map available.
+   * @param objRef This object
+   */
+  this.contextInit = function(objRef) {
+    objRef.targetModel.addListener("newModel", objRef.clear, objRef);
+    objRef.model.addListener('gmlRendererLayer', objRef.init, objRef);
+    // Check carefully if we have to init manually. This is the case when
+    // the gmlRendererLayer is rendered, but does not know about the
+    // FeatureSelectHandler yet.
+    if (objRef.targetModel.map && objRef.model.getParam('gmlRendererLayer') && !objRef.control) {
+      objRef.init(objRef);
+    }
+  }
+  
+  /**
+   * Tool Initialisation - Step 3 of 3.
+   * Turns on feature select when the gmlRendererLayer event is fired.
+   * @param objRef reference to this object.
+   * @return {OpenLayers.Control} class of the OL control.
+   */
+  this.init = function(objRef) {
+    // get the source models
+    var sourceModel;
+    // if we have mergeModels, take sourceModels from there
+    if (objRef.model.mergeModels) {
+      objRef.sourceModels = objRef.model.mergeModels;
+    } else {
+      // if we hava a plain model, just use it
+      objRef.sourceModels.push(objRef.model);
+    } 
+    for (var i=0; i<objRef.sourceModels.length; i++) {
+      objRef.sourceModels[i].addListener('highlightFeature', objRef.highlight, objRef);
+      objRef.sourceModels[i].addListener('dehighlightFeature', objRef.dehighlight, objRef);
+    }
+    
+    // init the control
+    var layer = objRef.model.getParam('gmlRendererLayer');
+    if (objRef.map == objRef.targetModel.map &&
+        objRef.control && !layer) {
+      //objRef.control.deactivate();
+      objRef.map.removeControl(objRef.control);
+      objRef.control.destroy();
+      objRef.control = null;
+    } else if (layer) {
+      if (!objRef.control) {
+        objRef.control = new OpenLayers.Control.SelectFeature(layer, {
+          hover: true,
+          onSelect: objRef.onSelect,
+          onUnselect: objRef.onUnselect,
+          mbFeatureSelectHandler: objRef,
+          select: function(feature) {
+            feature.mbFeatureSelectHandler = this.mbFeatureSelectHandler;
+            if (feature.mbSelectStyle) {
+              this.selectStyle = feature.mbSelectStyle.createSymbolizer ?
+                  feature.mbSelectStyle.createSymbolizer(feature) :
+                  feature.mbSelectStyle;
+            }
+            OpenLayers.Control.SelectFeature.prototype.select.apply(this, arguments);
+          }
+        });
+        objRef.map = objRef.targetModel.map;
+        objRef.map.addControl(objRef.control);
+      }
+      objRef.control.activate();
+    }
+  }
+  
+  /**
+   * extension for the OpenLayers.Feature.Vector.destroy method.
+   * Will be applied to features touched by this tool.
+   */
+  var destroyFeature = function() {
+    var featureSelectHandler = this.mbFeatureSelectHandler;
+    if (this.layer.events && featureSelectHandler) {
+      this.layer.events.unregister('mousedown', this, featureSelectHandler.onClick);
+      this.layer.events.unregister('mousemove', this, featureSelectHandler.onHover);
+    }
+    this.mbFeatureSelectHandler = null;
+    OpenLayers.Feature.Vector.prototype.destroy.apply(this, arguments);
+  }
+
+  /**
+   * This method is triggered when the mouse is over a vector
+   * feature. It registers priority events mousedown and
+   * mousemove, which will call this widget's onClick/onHover
+   * method in the context of a feature. This way we address
+   * two problems with the OpenLayers SelectFeature control:<pre>
+   *      - for the info popup, we need the screen coordinates
+   *        which we do not get from the handler directly.
+   *      - when the active tool changes, something in the
+   *        priority of OL event handlers changes, so the
+   *        click event on the feature gets lost. By registering
+   *        our priority handler and calling Event.stop() in
+   *        the target method, we make sure that our event is
+   *        handled and no other event handlers are triggered.
+   * </pre>
+   * @param feature OpenLayers feature
+   */
+  this.onSelect = function(feature) {
+    if (!feature) return;
+    var objRef = this.mbFeatureSelectHandler;
+    for (var i=0; i<objRef.sourceModels.length; i++) {
+      objRef.sourceModels[i].setParam("mouseoverFeature", feature.fid);
+    }
+    // check if onSelect was triggered by a mouse event. If not, do not register for
+    // mousedown and mousemove events. This is the case when selection was externally
+    // triggered by the highlightFeature event
+    if (feature.layer.events && !feature.mbNoMouseEvent) {
+      feature.destroy = destroyFeature;
+      feature.layer.events.registerPriority('mousedown', feature, objRef.onClick);
+      feature.layer.events.registerPriority('mousemove', feature, objRef.onHover);
+    } else {
+      feature.mbNoMouseEvent = null;
+    }
+  }
+  
+  /**
+   * This method is triggered when the mouse is moving out
+   * of a vector feature. It removes the event handler we
+   * registered in this widget's onSelect method.
+   * @param feature OpenLayers feature
+   */
+  this.onUnselect = function(feature) {
+    if (!feature) return;
+    var objRef = this.mbFeatureSelectHandler || feature.mbFeatureSelectHandler;
+    for (var i=0; i<objRef.sourceModels.length; i++) {
+      objRef.sourceModels[i].setParam("mouseoutFeature", feature.fid);
+    }
+    objRef.model.setParam("olFeatureOut", feature);
+    if (feature.layer.events) {
+      feature.layer.events.unregister('mousedown', feature, objRef.onClick);
+    }
+  }
+  
+  /**
+   * This method is triggered when a user clicks on a feature.
+   * It is called by OpenLayers event handling in the context
+   * of a feature. This means that 'this' in this method refers
+   * to an {OpenLayers.Feature}. Widgets listening to the
+   * olFeatureSelect have access to the event, because setParam
+   * is used to set the reference to the event.
+   * @param evt OpenLayers event
+   */
+  this.onClick = function(evt) {
+    // pass the feature to the event object
+    evt.feature = this;
+    var objRef = this.mbFeatureSelectHandler;
+    objRef.model.setParam("olFeatureSelect", evt);
+    OpenLayers.Event.stop(evt);
+  }
+  
+  /**
+   * This method is triggered when the mouse is over a feature.
+   * It is called by OpenLayers event handling in the context
+   * of a feature. This means that 'this' in this method refers
+   * to an {OpenLayers.Feature}. Widgets listening to the
+   * olFeatureHover have access to the event, because setParam
+   * is used to set the reference to the event.
+   * @param evt OpenLayers event
+   */
+  this.onHover = function(evt) {
+    var objRef = this.mbFeatureSelectHandler;
+    if (this.layer && this.layer.events) {
+      // unregister the mousemove event, because we already know that
+      // the mouse moved and we can then proceed to our hover popup.
+      this.layer.events.unregister('mousemove', this, objRef.onHover);
+    }
+    evt.feature = this;
+    objRef.model.setParam("olFeatureHover", evt);
+  }
+
+  /**
+   * Highlights the specified feature. This method is usually
+   * triggered by setting the 'highlightFeature' param to the
+   * fid of a feature to be highlighted.
+   * @param objRef reference to this tool object
+   * @param fid GML feature id of the feature to highlight. If
+   * not specified, this is taken from the highlightFeature
+   * model param.
+   */
+  this.highlight = function(objRef, fid) {
+    var model, feature;
+    var layer = objRef.model.getParam('gmlRendererLayer');
+    for (var i=0; i<objRef.sourceModels.length; i++) {
+      model = objRef.sourceModels[i]
+      if (!layer) return;
+      if (!fid) {
+        fid = model.getParam('highlightFeature');
+      }
+      feature = layer.getFeatureByFid(fid);
+      if (feature && !feature.mbHidden) {
+        // add a tag to the feature to indicate that it was not selected by mouse action
+        feature.mbNoMouseEvent = true;
+        objRef.control.select(feature);
+      }
+    }
+  }
+  
+  /**
+   * Dehighlights the specified feature. This method is usually
+   * triggered by setting the 'dehighlightFeature' param to the
+   * fid of a feature to be highlighted.
+   * @param objRef reference to this tool object
+   * @param fid GML feature id of the feature to highlight. If
+   * not specified, this is taken from the dehighlightFeature
+   * model param.
+   */
+  this.dehighlight = function(objRef, fid) {
+    var model, feature;
+    var layer = objRef.model.getParam('gmlRendererLayer');
+    for (var i=0; i<objRef.sourceModels.length; i++) {
+      model = objRef.sourceModels[i];
+      if (!layer) return;
+      if (!fid) {
+        fid = objRef.model.getParam('dehighlightFeature');
+      }
+      feature = layer.getFeatureByFid(fid);
+      if (feature && !feature.mbHidden) {
+        objRef.control.unselect(feature);
+      }
+    }
+  }
+  
+}
Index: lib/spatial/mapbuilder/lib/tool/xsl/GetMap.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/xsl/GetMap.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/xsl/GetMap.xsl	(revision 4307)
@@ -1,99 +1,14 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wmc="http://www.opengis.net/context" xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes"/><xsl:strip-space elements="*"/><xsl:param name="bbox"/><xsl:param name="width"/><xsl:param name="height"/><xsl:param name="srs"/><xsl:param name="version"/><xsl:param name="format">image/gif</xsl:param><xsl:template match="Layer"><xsl:variable name="styleParam"/><xsl:variable name="visibility"/><xsl:variable name="mapRequest"><xsl:choose><xsl:when test="starts-with($version, '1.0')">
 
-<!--
-
-Description: transforms a WMS Layer node into an XML structure that contains
-
-             the URL for the GetMap request for both context docs and WMS caps.
-
-Author:      adair
-
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-
-
-$Id$
-
-$Name$
-
--->
-
-
-
-<xsl:stylesheet version="1.0" 
-
-    xmlns:wmc="http://www.opengis.net/context" 
-
-    xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" 
-
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-
-    xmlns:xlink="http://www.w3.org/1999/xlink">
-
-
-
-  <xsl:output method="xml"/>
-
-  <xsl:strip-space elements="*"/>
-
-  <!--
-
-  <xsl:include href="ogcMapImgObjects.xsl" />
-
-  -->
-
-
-
-  <xsl:param name="bbox"/>
-
-  <xsl:param name="width"/>
-
-  <xsl:param name="height"/>
-
-  <xsl:param name="srs"/>
-
-  <xsl:param name="version"/>
-
-  <xsl:param name="format">image/gif</xsl:param>
-
-  
-
-  <xsl:template match="Layer">
-
-    <xsl:variable name="styleParam"/>
-
-    <xsl:variable name="visibility"/>
-
-    <xsl:variable name="mapRequest">
-
-      <xsl:choose>
-
-        <xsl:when test="starts-with($version, '1.0')">
-
             WMTVER=<xsl:value-of select="$version"/>&amp;REQUEST=map
 
-        </xsl:when>            
+        </xsl:when><xsl:otherwise>
 
-        <xsl:otherwise>
-
             VERSION=<xsl:value-of select="$version"/>&amp;REQUEST=GetMap
 
-        </xsl:otherwise>
+        </xsl:otherwise></xsl:choose></xsl:variable><GetMap><mb:QueryString><xsl:variable name="src"><xsl:value-of select="$mapRequest"/>
 
-      </xsl:choose>
-
-    </xsl:variable>
-
-
-
-    <GetMap>
-
-      <mb:QueryString>
-
-        <xsl:variable name="src">    
-
-            <xsl:value-of select="$mapRequest"/>
-
    &amp;SRS=<xsl:value-of select="$srs"/>
 
   &amp;BBOX=<xsl:value-of select="translate($bbox,' ',',')"/>
@@ -110,128 +25,24 @@
 
 &amp;TRANSPARENT=TRUE
 
-<!--	
+</xsl:variable><xsl:value-of select="translate(normalize-space($src),' ', '' )" disable-output-escaping="no"/></mb:QueryString></GetMap></xsl:template><xsl:template match="wmc:Layer"><xsl:param name="version"><xsl:value-of select="wmc:Server/@version"/></xsl:param><xsl:variable name="format"><xsl:choose><xsl:when test="wmc:FormatList"><xsl:value-of select="wmc:FormatList/wmc:Format[@current='1']"/></xsl:when><xsl:otherwise>image/gif</xsl:otherwise></xsl:choose></xsl:variable><xsl:variable name="styleParam"><xsl:choose><xsl:when test="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD">
 
-  //TBD: these still to be properly handled 
+          SLD=<xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:OnlineResource/@xlink:href"/></xsl:when><xsl:when test="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:StyledLayerDescriptor">
 
-  //also sld support
+          SLD=<xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:StyledLayerDescriptor"/></xsl:when><xsl:when test="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:FeatureTypeStyle">
 
-  if (this.transparent) src += '&' + 'TRANSPARENT=' + this.transparent;
+          SLD=<xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:FeatureTypeStyle"/></xsl:when><xsl:otherwise>
 
-	if (this.bgcolor) src += '&' + 'BGCOLOR=' + this.bgcolor;
+          STYLES=<xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:Name"/></xsl:otherwise></xsl:choose></xsl:variable><xsl:variable name="visibility"><xsl:choose><xsl:when test="@hidden='1'">hidden</xsl:when><xsl:otherwise>visible</xsl:otherwise></xsl:choose></xsl:variable><xsl:variable name="mapRequest"><xsl:choose><xsl:when test="starts-with($version, '1.0')">
 
-	//if (this.exceptions) src += '&' + 'EXCEPTIONS=' + this.exceptions;
-
-	if (this.vendorstr) src += '&' + this.vendorstr;
-
-  // -->
-
-        </xsl:variable>
-
-        <xsl:value-of select="translate(normalize-space($src),' ', '' )" disable-output-escaping="no"/>
-
-      </mb:QueryString>
-
-    </GetMap>
-
-  </xsl:template>
-
-
-
-  <xsl:template match="wmc:Layer">
-
-    <xsl:param name="version">
-
-        <xsl:value-of select="wmc:Server/@version"/>    
-
-    </xsl:param>
-
-    <xsl:variable name="format">
-
-      <xsl:choose>
-
-        <xsl:when test="wmc:FormatList"><xsl:value-of select="wmc:FormatList/wmc:Format[@current='1']"/></xsl:when>
-
-        <xsl:otherwise>image/gif</xsl:otherwise>
-
-      </xsl:choose>
-
-    </xsl:variable>
-
-    <xsl:variable name="styleParam">
-
-      <xsl:choose>
-
-        <xsl:when test="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD">
-
-          SLD=<xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:OnlineResource/@xlink:href"/>
-
-        </xsl:when>
-
-        <xsl:when test="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:StyeLayerDescriptor">
-
-          SLD=<xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:StyeLayerDescriptor"/>
-
-        </xsl:when>
-
-        <xsl:when test="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:FeatureTypeStyle">
-
-          SLD=<xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:SLD/wmc:FeatureTypeStyle"/>
-
-        </xsl:when>
-
-        <xsl:otherwise>
-
-          STYLES=<xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:Name"/>
-
-        </xsl:otherwise>
-
-      </xsl:choose>
-
-    </xsl:variable>
-
-    <xsl:variable name="visibility">
-
-      <xsl:choose>
-
-        <xsl:when test="@hidden='1'">hidden</xsl:when>
-
-        <xsl:otherwise>visible</xsl:otherwise>
-
-      </xsl:choose>
-
-    </xsl:variable>
-
-    <xsl:variable name="mapRequest">
-
-      <xsl:choose>
-
-        <xsl:when test="starts-with($version, '1.0')">
-
             WMTVER=<xsl:value-of select="$version"/>&amp;REQUEST=map
 
-        </xsl:when>            
+        </xsl:when><xsl:otherwise>
 
-        <xsl:otherwise>
-
             VERSION=<xsl:value-of select="$version"/>&amp;REQUEST=GetMap
 
-        </xsl:otherwise>
+        </xsl:otherwise></xsl:choose></xsl:variable><GetMap><mb:QueryString><xsl:variable name="src"><xsl:value-of select="$mapRequest"/>
 
-      </xsl:choose>
-
-    </xsl:variable>
-
-
-
-    <GetMap>
-
-      <mb:QueryString>
-
-        <xsl:variable name="src">    
-
-            <xsl:value-of select="$mapRequest"/>
-
    &amp;SRS=<xsl:value-of select="$srs"/>
 
   &amp;BBOX=<xsl:value-of select="$bbox"/>
@@ -248,33 +59,4 @@
 
 &amp;TRANSPARENT=true
 
-<!--	
-
-  //TBD: these still to be properly handled 
-
-  //also sld support
-
-  if (this.transparent) src += '&' + 'TRANSPARENT=' + this.transparent;
-
-	if (this.bgcolor) src += '&' + 'BGCOLOR=' + this.bgcolor;
-
-	//if (this.exceptions) src += '&' + 'EXCEPTIONS=' + this.exceptions;
-
-	if (this.vendorstr) src += '&' + this.vendorstr;
-
-  // -->
-
-        </xsl:variable>
-
-        <xsl:value-of select="translate(normalize-space($src),' ', '' )" disable-output-escaping="no"/>
-
-      </mb:QueryString>
-
-    </GetMap>
-
-  </xsl:template>
-
-
-
-</xsl:stylesheet>
-
+</xsl:variable><xsl:value-of select="translate(normalize-space($src),' ', '' )" disable-output-escaping="no"/></mb:QueryString></GetMap></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/tool/xsl/wfs_Insert.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/xsl/wfs_Insert.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/xsl/wfs_Insert.xsl	(revision 4307)
@@ -1,74 +1,2 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-
-
-<!--
-
-Description: Extract FeatureMembers from a FeatureCollection and build
-
-  into a WFS Insert transaction.
-
-Author:      Cameron Shorter
-
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-
-
-$Id$
-
-$Name$
-
--->
-
-
-
-<xsl:stylesheet version="1.0" 
-
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-
-    xmlns:wfs="http://www.opengis.net/wfs"
-
-    xmlns:gml="http://www.opengis.net/gml">
-
-
-
-  <xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8" indent="yes"/>
-
-
-
-  <!-- Match root -->
-
-  <xsl:template match="/">
-
-    <wfs:Transaction>
-
-      <wfs:Insert>
-
-        <xsl:apply-templates/>
-
-      </wfs:Insert>
-
-    </wfs:Transaction>
-
-  </xsl:template>
-
-
-
-  <!-- Match featureMember -->
-
-  <xsl:template match="gml:featureMember">
-
-    <xsl:for-each select="./*">
-
-      <xsl:copy-of select="."/>
-
-    </xsl:for-each>
-
-  </xsl:template>
-
-
-
-  <xsl:template match="text()|@*"/>
-
-</xsl:stylesheet>
-
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/><xsl:template match="/"><wfs:Transaction service="WFS" version="1.0.0"><wfs:Insert><xsl:apply-templates/></wfs:Insert></wfs:Transaction></xsl:template><xsl:template match="gml:featureMember"><xsl:for-each select="./*"><xsl:copy-of select="."/></xsl:for-each></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/tool/xsl/wmc_AddSld.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/xsl/wmc_AddSld.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/lib/tool/xsl/wmc_AddSld.xsl	(revision 4307)
@@ -0,0 +1,2 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wmc="http://www.opengis.net/context" xmlns:wms="http://www.opengis.net/wms" xmlns:wfs="http://www.opengis.net/wfs" xmlns:sld="http://www.opengis.net/sld" xmlns:owscat="http://www.ec.gc.ca/owscat" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ogc="http://www.opengis.net/ogc" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes"/><xsl:strip-space elements="*"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:template match="StyledLayerDescriptor"><wmc:StyleList><wmc:Style current="1"><wmc:SLD><wmc:StyledLayerDescriptor><xsl:attribute name="version">1.0.0</xsl:attribute><xsl:apply-templates select="*|@*|comment()|processing-instruction()|text()"/></wmc:StyledLayerDescriptor></wmc:SLD></wmc:Style></wmc:StyleList></xsl:template><xsl:template match="*|@*|comment()|processing-instruction()|text()"><xsl:copy><xsl:apply-templates select="*|@*|comment()|processing-instruction()|text()"/></xsl:copy></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/tool/xsl/wmc_AddResource.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/xsl/wmc_AddResource.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/xsl/wmc_AddResource.xsl	(revision 4307)
@@ -1,118 +1,2 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Description: parses a WMS capabilities Layer element and transforms it to a
-             Web Map Context document Layer element.
-Author:      adair
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-$Id$
-$Name$
--->
-
-<xsl:stylesheet version="1.0" 
-    xmlns:wmc="http://www.opengis.net/context" 
-    xmlns:wms="http://www.opengis.net/wms" 
-    xmlns:wfs="http://www.opengis.net/wfs" 
-		xmlns:sld="http://www.opengis.net/sld"
-    xmlns:owscat="http://www.ec.gc.ca/owscat"
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-    xmlns:xlink="http://www.w3.org/1999/xlink">
-
-  <xsl:output method="xml"/>
-  <xsl:strip-space elements="*"/>
-
-  <!-- The coordinates of the DHTML Layer on the HTML page -->
-  <xsl:param name="modelId"/>
-  <xsl:param name="widgetId"/>
-  
-  <xsl:param name="version"/>
-  <xsl:param name="serverUrl"/>
-  <xsl:param name="serviceName"/>
-  <xsl:param name="serverTitle"/>
-  <xsl:param name="format"/>
-  
-  <!-- for selecting nodes from an WMS Capabilities document -->
-  <xsl:template match="Layer">
-    <wmc:Layer>
-      <xsl:attribute name="queryable">0</xsl:attribute>
-      <xsl:attribute name="hidden">0</xsl:attribute>
-			<wmc:Server>
-        <xsl:attribute name="service"><xsl:value-of select="$serviceName"/></xsl:attribute>
-        <xsl:attribute name="version"><xsl:value-of select="$version"/></xsl:attribute>
-        <xsl:attribute name="title"><xsl:value-of select="$serverTitle"/></xsl:attribute>
-				<wmc:OnlineResource xlink:type="simple" xlink:href="{$serverUrl}"/>
-			</wmc:Server>
-      <xsl:apply-templates select="child::node()"/>
-      <wmc:FormatList>
-        <wmc:Format current="1"><xsl:value-of select="$format"/></wmc:Format>
-      </wmc:FormatList>
-    </wmc:Layer>
-  </xsl:template>
-  
-  <xsl:template match="Layer/Title">
-    <wmc:Title><xsl:value-of select="."/></wmc:Title>
-  </xsl:template>
-  
-  <xsl:template match="Layer/Name">
-    <wmc:Name><xsl:value-of select="."/></wmc:Name>
-  </xsl:template>
-  
-  <xsl:template match="Layer/Abstract">
-    <wmc:Abstract><xsl:value-of select="."/></wmc:Abstract>
-  </xsl:template>
-  
-  <xsl:template match="DataURL">
-    <wmc:DataURL><xsl:value-of select="."/></wmc:DataURL>
-  </xsl:template>
-  
-  <xsl:template match="MetadataURL">
-    <wmc:MetadataURL><xsl:value-of select="."/></wmc:MetadataURL>
-  </xsl:template>
-  
-  <xsl:template match="SRS">
-    <wmc:SRS><xsl:value-of select="."/></wmc:SRS>
-  </xsl:template>
-
-  <!-- for selecting nodes from an OWSCat result set -->
-  <xsl:template match="owscat:service_resources">
-    <xsl:variable name="serverUrl"><xsl:value-of select="owscat:endpoint_getresource"/></xsl:variable>
-    <wmc:Layer>
-      <xsl:attribute name="queryable">0</xsl:attribute>
-      <xsl:attribute name="hidden">0</xsl:attribute>
-			<wmc:Server>
-        <xsl:attribute name="service"><xsl:value-of select="owscat:service_type"/></xsl:attribute>
-        <xsl:attribute name="version"><xsl:value-of select="owscat:service_version"/></xsl:attribute>
-        <xsl:attribute name="title"><xsl:value-of select="owscat:organization"/></xsl:attribute>
-				<wmc:OnlineResource xlink:type="simple" xlink:href="{$serverUrl}"/>
-			</wmc:Server>
-      <xsl:apply-templates/>
-    </wmc:Layer>
-  </xsl:template>
-  
-  <xsl:template match="owscat:title">
-    <wmc:Title><xsl:value-of select="."/></wmc:Title>
-  </xsl:template>
-  
-  <xsl:template match="owscat:name">
-    <wmc:Name><xsl:value-of select="."/></wmc:Name>
-  </xsl:template>
-  
-  <xsl:template match="owscat:abstract">
-    <wmc:Abstract><xsl:value-of select="."/></wmc:Abstract>
-  </xsl:template>
-  
-  <xsl:template match="owscat:dataurl">
-    <wmc:DataURL><xsl:value-of select="."/></wmc:DataURL>
-  </xsl:template>
-  
-  <xsl:template match="owscat:metadataurl">
-    <wmc:MetadataURL><xsl:value-of select="."/></wmc:MetadataURL>
-  </xsl:template>
-  
-  <xsl:template match="owscat:srs">
-    <wmc:SRS><xsl:value-of select="."/></wmc:SRS>
-  </xsl:template>
-  
-  <xsl:template match="text()|@*"/>
-  
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wmc="http://www.opengis.net/context" xmlns:wms="http://www.opengis.net/wms" xmlns:wfs="http://www.opengis.net/wfs" xmlns:sld="http://www.opengis.net/sld" xmlns:owscat="http://www.ec.gc.ca/owscat" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes"/><xsl:strip-space elements="*"/><xsl:param name="modelId"/><xsl:param name="widgetId"/><xsl:param name="version"/><xsl:param name="serverUrl"/><xsl:param name="serviceName"/><xsl:param name="serverTitle"/><xsl:param name="format"/><xsl:template match="Layer"><wmc:Layer><xsl:attribute name="queryable"><xsl:value-of select="./@queryable"/></xsl:attribute><xsl:attribute name="hidden">0</xsl:attribute><wmc:Server><xsl:attribute name="service"><xsl:value-of select="$serviceName"/></xsl:attribute><xsl:attribute name="version"><xsl:value-of select="$version"/></xsl:attribute><xsl:attribute name="title"><xsl:value-of select="$serverTitle"/></xsl:attribute><wmc:OnlineResource xlink:type="simple" xlink:href="{$serverUrl}"/></wmc:Server><xsl:apply-templates select="child::node()"/><wmc:FormatList><wmc:Format current="1"><xsl:value-of select="$format"/></wmc:Format></wmc:FormatList></wmc:Layer></xsl:template><xsl:template match="Style"><wmc:StyleList><wmc:Style current="1"><xsl:apply-templates select="child::node()"/></wmc:Style></wmc:StyleList></xsl:template><xsl:template match="LegendURL"><wmc:LegendURL><xsl:apply-templates select="child::node()"/></wmc:LegendURL></xsl:template><xsl:template match="OnlineResource"><xsl:variable name="legendUrl"><xsl:value-of select="concat(./@href,./@xlink:href)"/></xsl:variable><wmc:OnlineResource xlink:type="simple" xlink:href="{$legendUrl}"/></xsl:template><xsl:template match="Layer/Title"><wmc:Title><xsl:value-of select="."/></wmc:Title></xsl:template><xsl:template match="Layer/Name"><wmc:Name><xsl:value-of select="."/></wmc:Name></xsl:template><xsl:template match="Layer/Abstract"><wmc:Abstract><xsl:value-of select="."/></wmc:Abstract></xsl:template><xsl:template match="DataURL"><wmc:DataURL><xsl:value-of select="."/></wmc:DataURL></xsl:template><xsl:template match="MetadataURL"><wmc:MetadataURL><xsl:value-of select="."/></wmc:MetadataURL></xsl:template><xsl:template match="SRS"><wmc:SRS><xsl:value-of select="."/></wmc:SRS></xsl:template><xsl:template match="owscat:service_resources"><xsl:variable name="serverUrl"><xsl:value-of select="owscat:endpoint_getresource"/></xsl:variable><wmc:Layer><xsl:attribute name="queryable"><xsl:value-of select="./@queryable"/></xsl:attribute><xsl:attribute name="hidden">0</xsl:attribute><wmc:Server><xsl:attribute name="service"><xsl:value-of select="owscat:service_type"/></xsl:attribute><xsl:attribute name="version"><xsl:value-of select="owscat:service_version"/></xsl:attribute><xsl:attribute name="title"><xsl:value-of select="owscat:organization"/></xsl:attribute><wmc:OnlineResource xlink:type="simple" xlink:href="{$serverUrl}"/></wmc:Server><xsl:apply-templates/></wmc:Layer></xsl:template><xsl:template match="owscat:title"><wmc:Title><xsl:value-of select="."/></wmc:Title></xsl:template><xsl:template match="owscat:name"><wmc:Name><xsl:value-of select="."/></wmc:Name></xsl:template><xsl:template match="owscat:abstract"><wmc:Abstract><xsl:value-of select="."/></wmc:Abstract></xsl:template><xsl:template match="owscat:dataurl"><wmc:DataURL><xsl:value-of select="."/></wmc:DataURL></xsl:template><xsl:template match="owscat:metadataurl"><wmc:MetadataURL><xsl:value-of select="."/></wmc:MetadataURL></xsl:template><xsl:template match="owscat:srs"><wmc:SRS><xsl:value-of select="."/></wmc:SRS></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/text/nl/widgetText.xml
===================================================================
--- lib/spatial/mapbuilder/lib/text/nl/widgetText.xml	(nonexistent)
+++ lib/spatial/mapbuilder/lib/text/nl/widgetText.xml	(revision 4307)
@@ -0,0 +1,263 @@
+<?xml version="1.0" encoding="utf-8" standalone="no" ?>
+<WidgetText xmlns="http://mapbuilder.sourceforge.net/mapbuilder" 
+    version="0.2.1" id="mbDefaultText" xml:lang="nl">
+  <!--
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ..//mapbuilder/lib/schemas/config.xsd"
+    
+    Description: This file contains all text used in widgets and JavaScript
+                 for multilingual support.  The widget text values are set as
+                 XSL params before the widget is painted.
+                 From JavaScript the messages can be retrieved with
+                 mbGetMessage(messageKey); see the JSDoc for details.
+    Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html 
+
+    $Id: widgetText.xml 3671 2007-12-04 11:40:10Z ahocevar $
+  -->
+  <!-- Widget (XSL) messages -->
+  <widgets>
+    <Abstract>
+      <abstract>Samenvatting</abstract>
+      <moreInfo>Lees meer over deze kaart</moreInfo>
+    </Abstract>
+    
+    <AoiForm>
+      <east>Oost:</east>
+      <north>Noord:</north>
+      <south>Zuid:</south>
+      <title>Coördinaten van het interessegebied</title>
+      <west>West:</west>
+    </AoiForm>
+    
+    <Back>
+      <tooltip>Vorige uitsnede</tooltip>
+    </Back>
+    
+    <CatSearchForm>
+      <east>Oost:</east>
+      <north>Noord:</north>
+      <south>Zuid:</south>
+      <west>West:</west>
+    </CatSearchForm>
+    
+    <CollectionList>
+      <title>Selecteer een kaart om te laden:</title>
+    </CollectionList>
+    
+    <CursorTrack>
+      <latitude>lat: </latitude>
+      <longitude>lon: </longitude>
+      <xcoord>x: </xcoord>
+      <ycoord>y: </ycoord>
+    </CursorTrack>
+    
+    <DeleteFeature>
+      <tooltip>Klik om de geselecteerde objecten te verwijderen</tooltip>
+    </DeleteFeature>
+    
+    <DragPan>
+      <tooltip>Klik en sleep op de kaart om de kaart te verschuiven</tooltip>
+    </DragPan>
+    
+    <EditLine>
+      <tooltip>Klik op de kaart om een lijn te tekenen</tooltip>
+    </EditLine>
+    
+    <EditPoint>
+      <tooltip>Klik op de kaart om een punt te tekenen</tooltip>
+    </EditPoint>
+    
+    <EditPolygon>
+      <tooltip>Klik op de kaart om een polygoon te tekenen</tooltip>
+    </EditPolygon>
+    
+    <Forward>
+      <tooltip>Volgende uitsnede</tooltip>
+    </Forward>
+    
+    <GetFeatureInfo>
+      <tooltip>Klik op de kaart om objecten te identificeren</tooltip>
+    </GetFeatureInfo>
+    
+    <GetFeatureInfoWSR>
+      <tooltip>Klik op de kaart om objecten te identificeren</tooltip>
+    </GetFeatureInfoWSR>
+    
+    <InsertFeature>
+      <tooltip>Bewaar de huidige objecten op de server</tooltip>
+    </InsertFeature>
+    
+    <LayerControl>
+      <deleteLayerTip>Verwijder deze laag</deleteLayerTip>
+      <layerIndexTip>Huidige positie van deze laag in de beeldstapel</layerIndexTip>
+      <legendTip>Wijzig de zichtbaarheid van de legenda</legendTip>
+      <moveLayerDownTip>Verplaats deze laag omlaag in de lijst</moveLayerDownTip>
+      <moveLayerUpTip>Verplaats deze laag omhoog in de lijst</moveLayerUpTip>
+      <nameLayerTip>Laagnaam</nameLayerTip>
+      <opacityTip>Waarde opaciteit</opacityTip>
+      <toggleVisTip>Wijzig de zichtbaarheid van deze laag</toggleVisTip>
+    </LayerControl>
+    
+    <Legend>
+      <title>Kaartlagen</title>
+    </Legend>
+    
+    <Measurement>
+      <tooltip>Klik op de kaart om afstand te meten</tooltip>
+    </Measurement>
+    
+    <ModelStatus>
+      <title>Status voor: </title>
+    </ModelStatus>
+    
+    <ModelUrlInput>
+      <load>laad</load>
+      <title>URL: </title>
+    </ModelUrlInput>
+    
+    <Reset>
+      <tooltip>Herstel het volledig kaartbeeld</tooltip>
+    </Reset>
+    
+    <Save>
+      <tooltip>Klik om de kaart op te slaan</tooltip>
+    </Save>
+    
+    <SetAoi>
+      <tooltip>Klik en sleep op de kaart om het interessegebied te definiëren</tooltip>
+    </SetAoi>
+    
+    <Timestamp>
+      <title>Tijdstip: </title>
+    </Timestamp>
+    
+    <WebServiceForm>
+      <mapsheet>NTS-index:</mapsheet>
+      <ntsTitle>NTS Opzoek webservice</ntsTitle>
+    </WebServiceForm>
+    
+    <WfsGetFeature>
+      <tooltip>Klik op een object om dit te bevragen</tooltip>
+    </WfsGetFeature>
+    
+    <ZoomIn>
+      <tooltip>Klik en sleep op de kaart om in te zoomen</tooltip>
+    </ZoomIn>
+    
+    <ZoomOut>
+      <tooltip>Klik op de kaart om uit te zoomen</tooltip>
+    </ZoomOut>
+  </widgets>
+  
+  <!-- JavaScript messages -->
+  <messages>
+    <aeaInitEqualLatitudes>aeaInit: Gelijk breedtegraden voor Standaard Parallellen aan tegengestelde zijden van de evenaar</aeaInitEqualLatitudes>
+    <aeqdFwdPointError>Fout in de projectie van een punt in aeqdFwd()</aeqdFwdPointError>
+    <aeqdInvDataError>Fout in de invoer in aeqdInv()</aeqdInvDataError>
+    <aoiFormNotFound>Kan aoiForm voor geoSearch niet vinden</aoiFormNotFound>
+    <atLeastOneValue>Vul tenminste één waarde alvorens door te gaan</atLeastOneValue>
+    <buttonBarRequired>buttonBar-eigenschap verplicht voor object: {0}</buttonBarRequired>
+    <cantCalculateDistance>Measurement kan de afstand niet berekenen</cantCalculateDistance>
+    <cantGoBack>U kunt niet verder terug!</cantGoBack>
+    <cantGoForward>U kunt niet verder vooruit!</cantGoForward>
+    <cantMoveDown>Kan element niet voorbij einde lijst verplaatsen: {0}</cantMoveDown>
+    <cantMoveUp>Kan element niet voorbij begin lijst verplaatsen: {0}</cantMoveUp>
+    <convertingCoords>converteert coördinaten</convertingCoords>
+    <docLoading>Document laadt, even geduld a.u.b....</docLoading>
+    <documentParseError>Document parseError: {0}</documentParseError>
+    <eastWgs84>Oost (WGS84)</eastWgs84>
+    <equiInvDataError>Fout in de invoer in equiInv()</equiInvDataError>
+    <errorCreatingObject>Fout bij maken van object: {0}</errorCreatingObject>
+    <errorLoadingDocument>Fout bij laden van document: {0} - {1}-{2}</errorLoadingDocument>
+    <errorLoadingModel>Config loadModel fout: {0}: {1}</errorLoadingModel>
+    <errorLoadingStylesheet>Fout bij het laden van de XSL-stylesheet: {0}</errorLoadingStylesheet>
+    <errorPaintingWidget>Config paintWidget fout: widget bestaat niet</errorPaintingWidget>
+    <eventLogSaved>Event-log opgeslagen als: {0}</eventLogSaved>
+    <exceptionTransformingDoc>Fout bij het transformeren van een document met XSL: {0}</exceptionTransformingDoc>
+    <featureNotFoundOwsContext>Object niet gevonden</featureNotFoundOwsContext>
+    <featureNotFoundWebServiceRequest>WebServiceRequest: probleem bij vinden van object: {0}</featureNotFoundWebServiceRequest>
+    <gridShiftError>FOUT: Verschuivingstransformaties zijn nog niet geïmplementeerd (cscs.js)</gridShiftError>
+    <idRequired>id verplicht voor object: {0}</idRequired>
+    <invalidFeatureXpathEditLine>EditLine: ongeldig featureXpath in configuratie: {0}</invalidFeatureXpathEditLine>
+    <invalidFeatureXpathEditPoint>EditPoint: ongeldig featureXpath in configuratie: {0}</invalidFeatureXpathEditPoint>
+    <invalidFeatureXpathEditPolygon>EditPolygon: ongeldig featureXpath in configuratie: {0}</invalidFeatureXpathEditPolygon>
+    <invalidFeatureXpathMeasurement>Measurement: ongeldig featureXpath in configuratie: {0}</invalidFeatureXpathMeasurement>
+    <invalidGeom>Ongeldige geometrie voor: {0}</invalidGeom>
+    <invalidGmlGeom>Ongeldige GML-geometrie</invalidGmlGeom>
+    <laeaInvDataError>Fout in de invoer in laeaInv()</laeaInvDataError>
+    <lastFrameAfterFirst>Laatste beeld moet na het eerste beeld liggen</lastFrameAfterFirst>
+    <layerTypeNotSupported>MapPaneOL: Geen ondersteuning voor laag-type={0}</layerTypeNotSupported>
+    <lccInitEqualLatitudes>lccInit: Gelijk breedtegraden voor Standaard Parallellen aan tegengestelde zijden van de evenaar</lccInitEqualLatitudes>
+    <listenerError>Listener-fout: param={0}, target={1}, callBackFunction={2}</listenerError>
+    <ll2lccNoProjection>ll2lcc: Punt kan niet geprojecteerd worden</ll2lccNoProjection>
+    <ll2mAtPoles>ll2m: Transformatie kan niet worden berekend aan de polen</ll2mAtPoles>
+    <ll2stInfiniteProjection>ll2st: Punt projecteert in het oneindige</ll2stInfiniteProjection>
+    <ll2tmInfiniteProjection>ll2tm: Punt projecteert in het oneindige</ll2tmInfiniteProjection>
+    <llInputOutOfRange>Invoer buiten bereik: lon: {0} - lat: {1}</llInputOutOfRange>
+    <loadingLayer>Bezig met laden van {0} kaartlaag</loadingLayer>
+    <loadingLayers>Bezig met laden van {0} kaartlagen</loadingLayers>
+    <mollFwdIterationError>De iteratie convergeert niet in molldFwd()</mollFwdIterationError>
+    <noBboxInContext>Geen BBOX gedefiniëerd in context</noBboxInContext>
+    <noContextDefined>Geen context gedefiniëerd in configuratie</noContextDefined>
+    <noCountryCode>U dient een landcode op te geven</noCountryCode>
+    <noDataYet>Nog geen data om te tonen</noDataYet>
+    <nodeNotFound>Element niet gevonden; kan element niet verwijderen: {0}</nodeNotFound>
+    <noFeatureToDelete>Geen object beschikbaar om te verwijderen</noFeatureToDelete>
+    <noFeatureToInsert>Geen object beschikbaar om op te slaan</noFeatureToInsert>
+    <noMouseHandlerTool>Probleem bij vinden van mouseHandler: {0} voor gereedschap: {1}</noMouseHandlerTool>
+    <noQueryableLayers>
+      Er zijn geen bevraagbare lagen beschikbaar,
+      voeg een bevraagbare laag aan de context toe.
+    </noQueryableLayers>
+    <noQueryableLayersVisible>
+      Er zijn geen bevraagbare lagen zichtbaar,
+      markeer een bevraagbare laag in de legenda.
+    </noQueryableLayersVisible>
+    <noRssTitle>Geen RSS-titel</noRssTitle>
+    <northWgs84>Noord (WGS84)</northWgs84>
+    <noSerializeUrl>serializeUrl moet gezet zijn in configuratie om een model te kunnen opslaan</noSerializeUrl>
+    <noTargetContext>Fout bij vinden van targetContext: {0} voor: {1}</noTargetContext>
+    <noTargetModelTool>Probleem bij vinden van targetModel: {0} voor gereedschap: {1}</noTargetModelTool>
+    <noTargetModelWidget>Fout bij vinden van targetModel: {0} voor: {1}</noTargetModelWidget>
+    <nullOwsContext>Leeg OWSContext-document</nullOwsContext>
+    <nullXmlResponse>Lege XML-respons: {0}</nullXmlResponse>
+    <omercFwdInfinity>Punt projecteert in het oneindige in omercFwd()</omercFwdInfinity>
+    <omercInitDataError>Fout in de invoer in orthoFwd()</omercInitDataError>
+    <orthoFwdPointError>Punten kunnen niet worden geprojecteerd in orthoFwd()</orthoFwdPointError>
+    <orthoInvDataError>Fout in de invoer in orthoInv()</orthoInvDataError>
+    <parseError>Parse-fout: {0}</parseError>
+    <phi1zNoConvergence>phi1z: Convergentiefout</phi1zNoConvergence>
+    <phi2zNoConvergence>phi2z: Convergentiefout</phi2zNoConvergence>
+    <phi3zNoConvergence>phi3z: Convergentiefout</phi3zNoConvergence>
+    <phi4zNoConvergence>phi4z: Convergentiefout</phi4zNoConvergence>
+    <projectionNotSupported>Measurement: Projectie niet ondersteund!</projectionNotSupported>
+    <scale>schaal 1:{0}</scale>
+    <selectLayer>Selecteer een laag om een SLD in de WMC in te voegen</selectLayer>
+    <sinuInvDataError>Fout in de invoer in sinuInv()</sinuInvDataError>
+    <southWgs84>Zuid (WGS84)</southWgs84>
+    <tabWidgetNotFound>Tab widget niet gevonden: {0}</tabWidgetNotFound>
+    <tm2llNoConvergence>tm2ll: Breedtegraad convergeert niet</tm2llNoConvergence>
+    <unableToLoadDoc>
+      Kan extern document niet laden: {0}.
+      Zet de proxyUrl-eigenschap in de configuratie.
+    </unableToLoadDoc>
+    <unableToSaveLog>Kan event-log niet opslaan; zet een serializeUrl-eigenschap in configuratie</unableToSaveLog>
+    <undefinedListener>Ongedefiniëerde listener voor: {0}</undefinedListener>
+    <unitCentimeters>centimeter</unitCentimeters>
+    <unitCentimetersAbbr>cm</unitCentimetersAbbr>
+    <unitFeet>voet</unitFeet>
+    <unitFeetAbbr>ft</unitFeetAbbr>
+    <unitInches>inch</unitInches>
+    <unitInchesAbbr>in</unitInchesAbbr>
+    <unitKilometers>kilometer</unitKilometers>
+    <unitKilometersAbbr>km</unitKilometersAbbr>
+    <unitNauticalMiles>zeemijl</unitNauticalMiles>
+    <unitNauticalMilesAbbr>nmi</unitNauticalMilesAbbr>
+    <unitMeters>meter</unitMeters>
+    <unitMetersAbbr>m</unitMetersAbbr>
+    <unitMiles>mijl</unitMiles>
+    <unitMilesAbbr>mi</unitMilesAbbr>
+    <unknownRucType>Onbekend RUC-type</unknownRucType>
+    <westWgs84>West (WGS84)</westWgs84>
+  </messages>
+</WidgetText>
Index: lib/spatial/mapbuilder/lib/RELEASE.js
===================================================================
--- lib/spatial/mapbuilder/lib/RELEASE.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/RELEASE.js	(revision 4307)
@@ -0,0 +1,6 @@
+// This variable is set when script compression is used
+// It will disable dynamic script loading within MapBuilder
+// instead use the compressed file buil tfor that application
+
+var MapBuilder_Release = true
+//var baseDir = "../../lib"
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/tool/ToolBase.js
===================================================================
--- lib/spatial/mapbuilder/lib/tool/ToolBase.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/ToolBase.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: ToolBase.js 3881 2008-02-27 15:41:07Z gjvoosten $
 */
 
 /**
@@ -17,7 +17,7 @@
   //set the ID for this tool
   var id = toolNode.selectSingleNode("@id");
   if (id) {
-    this.id = id.firstChild.nodeValue;
+    this.id = getNodeValue(id);
   } else {
     this.id = "MbTool_" + mbIds.getId();
   }
@@ -31,9 +31,10 @@
     /** The model this tool will update. */
     var targetModel = toolRef.toolNode.selectSingleNode("mb:targetModel");
     if (targetModel) {
-      var targetModelName = targetModel.firstChild.nodeValue;
-      toolRef.targetModel = eval("config.objects."+targetModelName);
-      if (!toolRef.targetModel) alert("error finding targetModel:"+targetModelName+" for tool:"+toolRef.id);
+      var targetModelName = getNodeValue(targetModel);
+      //toolRef.targetModel = eval("config.objects."+targetModelName);
+      toolRef.targetModel = window.config.objects[targetModelName];
+      if (!toolRef.targetModel) alert(mbGetMessage("noTargetModelTool", targetModelName, toolRef.id));
     } else {
       toolRef.targetModel = toolRef.model;
     }
@@ -49,16 +50,24 @@
     /** Mouse handler which this tool will register listeners with. */
     var mouseHandler = toolRef.toolNode.selectSingleNode("mb:mouseHandler");
     if (mouseHandler) {
-      toolRef.mouseHandler = eval("config.objects." + mouseHandler.firstChild.nodeValue);
+      toolRef.mouseHandler = window.config.objects[getNodeValue(mouseHandler)];
       if (!toolRef.mouseHandler) {
-        alert("error finding mouseHandler:"+mouseHandler.firstChild.nodeValue+" for tool:"+toolRef.id);
+        alert(mbGetMessage("noMouseHandlerTool", getNodeValue(mouseHandler), toolRef.id));
       }
     }
   }
   this.model.addListener( "init", this.initMouseHandler, this );
 
+  /**
+   * Convenient access to Mapbuilder.getProperty
+   * @param property property to get
+   * @param default value to use if property is not set
+   * @return the value for the property
+   */
+  this.getProperty = function(property, defaultValue) {
+    return Mapbuilder.getProperty(toolNode, property, defaultValue);
+  }
+
   //tools enabled by default; can set to false in config for initial loading
-  this.enabled = true;
-  var enabled = toolNode.selectSingleNode("mb:enabled");
-  if (enabled) this.enabled = eval(enabled.firstChild.nodeValue);
+  this.enabled = Mapbuilder.parseBoolean(this.getProperty("mb:enabled", true));
 }
Index: lib/spatial/mapbuilder/lib/tool/Timer.js
===================================================================
--- lib/spatial/mapbuilder/lib/tool/Timer.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/tool/Timer.js	(revision 4307)
@@ -0,0 +1,61 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+Dependancies: Context
+$Id: Timer.js 3881 2008-02-27 15:41:07Z gjvoosten $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/tool/ToolBase.js");
+
+/**
+ * Timer to fire an event at the specified interval.  Any MapBuilder event name may be used,
+ * and the eventValue may be a funtion call which returns the expected value for setParam().
+ * @constructor
+ * @base ToolBase
+ * @author Adair
+ * @author Ian Turton
+ * @param toolNode The tool node from the config document for this tool
+ * @param model  the model object that contains this tool
+ */
+function Timer(toolNode, model) {
+  ToolBase.apply(this, new Array(toolNode, model));
+
+  //delay in milliseconds - defaults to every half hour
+  this.delay = 1000*this.getProperty("mb:every", 30);
+  
+  //set the event to be fired, default event is to reload the model
+  this.eventName = this.getProperty("mb:eventName", "reloadModel");
+  
+  //set the value to be passed with the event, default eventValue is null
+  this.eventValue = this.getProperty("mb:eventValue");
+  
+  /**
+   * Starts the timer playing by using a JavaScript timer.
+   */
+  this.play = function() {
+    clearInterval(this.interval);
+    var workString = "config.objects."+this.targetModel.id+".setParam('"+this.eventName+"'";
+    if (this.eventValue) workString += ","+this.eventValue;
+    workString += ")";
+  	//alert("about to set timer for "+this.delay+" millisecs: "+workString); 
+    this.interval = setInterval(workString,this.delay);
+  }
+
+  /**
+   * Stops the JavaScript timer.
+   */
+  this.stop = function() {
+    clearInterval(this.interval);
+  }
+
+  //the timer can start automatically or not, in which case there should be a call to timer.start() somewhere
+  this.autoStart = Mapbuilder.parseBoolean(this.getProperty("mb:autoStart", true));
+  this.startOnLoad = function(objRef) {
+    if (objRef.autoStart) objRef.play();
+  }
+  this.model.addListener("init",this.startOnLoad, this);
+  
+}
+
+
+
Index: lib/spatial/mapbuilder/lib/tool/xsl/Caps2Context.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/xsl/Caps2Context.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/xsl/Caps2Context.xsl	(revision 4307)
@@ -1,237 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0" 
-    xmlns:wmc="http://www.opengis.net/context" 
-    xmlns:wms="http://www.opengis.net/wms"
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-    xmlns:xlink="http://www.w3.org/1999/xlink">
-<!--
-Description: Convert a WMS Capabilities document to a Web Map Context
-Author:      Nedjo Rogers nedjo AT gworks.ca
-Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
-
-$Id$
-$Name$
-
--->
-  <xsl:output method="xml" indent="yes"/>
-
-  <xsl:param name="width">400</xsl:param>
-  <xsl:param name="selectedLayer"/>
-  <xsl:param name="styleName">composite</xsl:param>
-  
-
-  <xsl:template match="/WMT_MS_Capabilities">
-    <xsl:param name="wmsVersion" select="@version"/>    
-    <xsl:param name="wmsTitle" select="Service/Title"/>    
-    <xsl:param name="wmsOnlineResource" select="Capability/Request/GetMap/DCPType/HTTP/Get/OnlineResource/@xlink:href"/>    
-    <ViewContext version="1.0.0"
-			    id="autoGeneratedContext_"
-          xmlns="http://www.opengis.net/context">
-      <General>
-        <Title><xsl:value-of select="$wmsTitle"/></Title>
-        <!-- TBD: The following should be extracted -->
-        <xsl:variable name="minx" select="number(Capability/Layer/LatLonBoundingBox/@minx)"/>
-        <xsl:variable name="maxx" select="number(Capability/Layer/LatLonBoundingBox/@maxx)"/>
-        <xsl:variable name="miny" select="number(Capability/Layer/LatLonBoundingBox/@miny)"/>
-        <xsl:variable name="maxy" select="number(Capability/Layer/LatLonBoundingBox/@maxy)"/>
-        <xsl:variable name="dy" select=" $maxy - $miny "/>
-        <xsl:variable name="dx" select=" $maxx - $minx "/>
-        <xsl:variable name="height" select="round(($dy div $dx)*$width)"/>
-        <Window width="{$width}" height="{$height}"/>
-        <BoundingBox SRS="EPSG:4326" minx="{$minx}" miny="{$miny}" maxx="{$maxx}" maxy="{$maxy}"/>
-      </General>
-      <LayerList>
-        <xsl:choose><xsl:when test="string-length($selectedLayer)>0">
-          <xsl:apply-templates select="Capability/Layer/Layer[Name=$selectedLayer]">
-            <xsl:with-param name="version" select="$wmsVersion"/>
-            <xsl:with-param name="title" select="$wmsTitle"/>
-            <xsl:with-param name="url" select="$wmsOnlineResource"/>
-          </xsl:apply-templates>
-        </xsl:when><xsl:otherwise>
-          <xsl:apply-templates select="Capability/Layer/Layer">
-            <xsl:with-param name="version" select="$wmsVersion"/>
-            <xsl:with-param name="title" select="$wmsTitle"/>
-            <xsl:with-param name="url" select="$wmsOnlineResource"/>
-          </xsl:apply-templates>
-        </xsl:otherwise></xsl:choose>
-      </LayerList>
-    </ViewContext>
-  </xsl:template>
-
-  <!-- Layer -->
-  <xsl:template match="Layer">
-    <xsl:param name="version"/>
-    <xsl:param name="title"/>
-    <xsl:param name="url"/>
-    <xsl:element name="Layer" namespace="http://www.opengis.net/context">
-      <xsl:attribute name="queryable">
-        <xsl:value-of select="@queryable"/>
-      </xsl:attribute>
-      <xsl:attribute name="hidden">
-        <xsl:text>0</xsl:text>
-      </xsl:attribute>
-      <xsl:element name="Server" namespace="http://www.opengis.net/context">
-        <xsl:attribute name="service">
-          <xsl:text>OGC:WMS</xsl:text>
-        </xsl:attribute>
-        <xsl:attribute name="version">
-          <xsl:value-of select="$version"/>
-        </xsl:attribute>
-        <xsl:attribute name="title">
-          <xsl:value-of select="$title"/>
-        </xsl:attribute>
-        <xsl:element name="OnlineResource" namespace="http://www.opengis.net/context">
-          <xsl:attribute name="type">
-            <xsl:text>simple</xsl:text>
-          </xsl:attribute>
-          <xsl:attribute name="xlink:href">
-            <xsl:value-of select="$url"/>
-          </xsl:attribute>
-        </xsl:element>
-      </xsl:element>
-      <Name xmlns="http://www.opengis.net/context"><xsl:value-of select="Name"/></Name>
-      <Title xmlns="http://www.opengis.net/context"><xsl:value-of select="Title"/></Title>
-      <Abstract xmlns="http://www.opengis.net/context"><xsl:value-of select="Abstract"/></Abstract>
-      <FormatList xmlns="http://www.opengis.net/context">
-        <Format current="1" xmlns="http://www.opengis.net/context">image/png</Format>
-      </FormatList>
-      <StyleList xmlns="http://www.opengis.net/context">
-        <Style xmlns="http://www.opengis.net/context" current="1">
-          <xsl:copy-of select="Style[Name=$styleName]/*"/>
-        </Style>
-      </StyleList>
-      <xsl:if test="Dimension">
-        <DimensionList xmlns="http://www.opengis.net/context">
-          <xsl:copy-of select="Dimension"/>
-        </DimensionList>
-      </xsl:if>
-    </xsl:element>
-  </xsl:template>
-  
-  <!-- duplicate everything with namespace prefix for WMS 1.3.x -->
-  <xsl:template match="/wms:WMS_Capabilities">
-    <xsl:param name="wmsVersion" select="/wms:WMS_Capabilities/@version"/>    
-    <xsl:param name="wmsTitle" select="/wms:WMS_Capabilities/wms:Service/wms:Title"/>    
-    <xsl:param name="wmsOnlineResource" select="/wms:WMS_Capabilities/wms:Capability/wms:Request/wms:GetMap/wms:DCPType/wms:HTTP/wms:Get/wms:OnlineResource/@xlink:href"/>    
-  
-    <xsl:param name="defLayers" select="wms:Capability//wms:Layer[wms:Name=$selectedLayer]"/>    
-    <xsl:param name="defLayer" select="$defLayers[1]"/>
-    <xsl:variable name="abstract" select="$defLayer/wms:Abstract"/>
-    <xsl:variable name="title" select="$defLayer/wms:Title"/>
-    <xsl:variable name="infoLink" select="$defLayer/wms:MetadataURL/wms:OnlineResource/@xlink:href"/>
-    <xsl:variable name="logoLink" select="$defLayer/wms:Attribution/wms:LogoURL/wms:OnlineResource/@xlink:href"/>
-    <xsl:variable name="providerName" select="wms:Service/wms:Title"/>
-    <ViewContext version="1.0.0"
-			    id="autoGeneratedContext_"
-          xmlns="http://www.opengis.net/context">
-      <General>
-        <Title><xsl:value-of select="$title"/></Title>
-        <Abstract><xsl:value-of select="$abstract"/></Abstract>
-        <xsl:variable name="bbox" select="$defLayer/wms:BoundingBox"/>
-        <xsl:variable name="minx" select="number($bbox/@minx)"/>
-        <xsl:variable name="maxx" select="number($bbox/@maxx)"/>
-        <xsl:variable name="miny" select="number($bbox/@miny)"/>
-        <xsl:variable name="maxy" select="number($bbox/@maxy)"/>
-        <xsl:variable name="srs" select="$bbox/@CRS"/>
-        <xsl:choose><xsl:when test="$defLayer/@fixedWidth">
-          <xsl:variable name="fWidth" select="$defLayer/@fixedWidth"/>
-          <xsl:variable name="fHeight" select="$defLayer/@fixedHeight"/>
-          <Window width="{$fWidth}" height="{$fHeight}"/>
-        </xsl:when><xsl:otherwise>
-          <xsl:variable name="dy" select=" $maxy - $miny "/>
-          <xsl:variable name="dx" select=" $maxx - $minx "/>
-          <xsl:variable name="height" select="round(($dy div $dx)*$width)"/>
-          <Window width="{$width}" height="{$height}"/>
-        </xsl:otherwise></xsl:choose>
-        <BoundingBox SRS="{$srs}" minx="{$minx}" miny="{$miny}" maxx="{$maxx}" maxy="{$maxy}"/>
-        <DescriptionURL format="text/html">
-            <OnlineResource xlink:href="{$infoLink}" xlink:type="simple"/>
-        </DescriptionURL>
-        <LogoURL format="text/html">
-            <OnlineResource xlink:href="{$logoLink}" xlink:type="simple"/>
-        </LogoURL>
-        <ContactInformation>
-          <ContactPersonPrimary>
-            <ContactOrganization><xsl:value-of select="$providerName"/></ContactOrganization>
-          </ContactPersonPrimary>
-        </ContactInformation>
-        
-      </General>
-      <LayerList>
-        <xsl:choose><xsl:when test="string-length($selectedLayer)>0">
-          <xsl:apply-templates select="$defLayer">
-            <xsl:with-param name="version" select="$wmsVersion"/>
-            <xsl:with-param name="title" select="$wmsTitle"/>
-            <xsl:with-param name="url" select="$wmsOnlineResource"/>
-          </xsl:apply-templates>
-        </xsl:when><xsl:otherwise>
-          <xsl:apply-templates select="wms:Capability/wms:Layer/*">
-            <xsl:with-param name="version" select="$wmsVersion"/>
-            <xsl:with-param name="title" select="$wmsTitle"/>
-            <xsl:with-param name="url" select="$wmsOnlineResource"/>
-          </xsl:apply-templates>
-        </xsl:otherwise></xsl:choose>
-      </LayerList>
-    </ViewContext>
-  </xsl:template>
-
-  <!-- Layer -->
-  <xsl:template match="wms:Layer">
-    <xsl:param name="version"/>
-    <xsl:param name="title"/>
-    <xsl:param name="url"/>
-    <xsl:element name="Layer" namespace="http://www.opengis.net/context">
-      <xsl:attribute name="queryable">
-        <xsl:value-of select="@queryable"/>
-      </xsl:attribute>
-      <xsl:attribute name="hidden">
-        <xsl:text>0</xsl:text>
-      </xsl:attribute>
-      <xsl:element name="Server" namespace="http://www.opengis.net/context">
-        <xsl:attribute name="service">
-          <xsl:text>OGC:WMS</xsl:text>
-        </xsl:attribute>
-        <xsl:attribute name="version">
-          <xsl:value-of select="$version"/>
-        </xsl:attribute>
-        <xsl:attribute name="title">
-          <xsl:value-of select="$title"/>
-        </xsl:attribute>
-        <xsl:element name="OnlineResource" namespace="http://www.opengis.net/context">
-          <xsl:attribute name="type">
-            <xsl:text>simple</xsl:text>
-          </xsl:attribute>
-          <xsl:attribute name="xlink:href">
-            <xsl:value-of select="$url"/>
-          </xsl:attribute>
-        </xsl:element>
-      </xsl:element>
-      <Name xmlns="http://www.opengis.net/context"><xsl:value-of select="wms:Name"/></Name>
-      <Title xmlns="http://www.opengis.net/context"><xsl:value-of select="wms:Title"/></Title>
-      <Abstract xmlns="http://www.opengis.net/context"><xsl:value-of select="wms:Abstract"/></Abstract>
-      <FormatList xmlns="http://www.opengis.net/context">
-        <Format current="1" xmlns="http://www.opengis.net/context">image/png</Format>
-      </FormatList>
-      <StyleList xmlns="http://www.opengis.net/context">
-        <Style xmlns="http://www.opengis.net/context" current="1">
-          <Name xmlns="http://www.opengis.net/context"><xsl:value-of select="$styleName"/></Name>
-          <xsl:if test="wms:Style/wms:LegendURL">
-          <LegendURL xmlns="http://www.opengis.net/context">
-            <OnlineResource xmlns="http://www.opengis.net/context">
-              <xsl:attribute name="xlink:href">
-                <xsl:value-of select="wms:Style/wms:LegendURL/wms:OnlineResource/@xlink:href"/>
-              </xsl:attribute>
-            </OnlineResource>
-          </LegendURL>
-          </xsl:if>
-        </Style>
-      </StyleList>
-      <xsl:if test="wms:Dimension[@name='time']">
-        <DimensionList xmlns="http://www.opengis.net/context">
-          <Dimension name="time" units="ISO8601"><xsl:value-of select="wms:Dimension[@name='time']"/></Dimension>
-        </DimensionList>
-      </xsl:if>
-    </xsl:element>
-  </xsl:template>
-    
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wmc="http://www.opengis.net/context" xmlns:wms="http://www.opengis.net/wms" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/><xsl:param name="width">600</xsl:param><xsl:param name="selectedLayer"/><xsl:param name="styleName">composite</xsl:param><xsl:template match="/WMT_MS_Capabilities"><xsl:param name="wmsVersion" select="@version"/><xsl:param name="wmsTitle" select="Service/Title"/><xsl:param name="wmsOnlineResource" select="Capability/Request/GetMap/DCPType/HTTP/Get/OnlineResource/@xlink:href"/><ViewContext xmlns="http://www.opengis.net/context" version="1.0.0" id="autoGeneratedContext_"><General><Title><xsl:value-of select="$wmsTitle"/></Title><xsl:variable name="minx" select="number(Capability/Layer/LatLonBoundingBox/@minx)"/><xsl:variable name="maxx" select="number(Capability/Layer/LatLonBoundingBox/@maxx)"/><xsl:variable name="miny" select="number(Capability/Layer/LatLonBoundingBox/@miny)"/><xsl:variable name="maxy" select="number(Capability/Layer/LatLonBoundingBox/@maxy)"/><xsl:variable name="dy" select=" $maxy - $miny "/><xsl:variable name="dx" select=" $maxx - $minx "/><xsl:variable name="height" select="round(($dy div $dx)*$width)"/><Window width="{$width}" height="{$height}"/><BoundingBox SRS="EPSG:4326" minx="{$minx}" miny="{$miny}" maxx="{$maxx}" maxy="{$maxy}"/></General><LayerList><xsl:choose><xsl:when test="string-length($selectedLayer)&gt;0"><xsl:apply-templates select="Capability/Layer/Layer[Name=$selectedLayer]"><xsl:with-param name="version" select="$wmsVersion"/><xsl:with-param name="title" select="$wmsTitle"/><xsl:with-param name="url" select="$wmsOnlineResource"/></xsl:apply-templates></xsl:when><xsl:otherwise><xsl:apply-templates select="Capability/Layer/Layer"><xsl:with-param name="version" select="$wmsVersion"/><xsl:with-param name="title" select="$wmsTitle"/><xsl:with-param name="url" select="$wmsOnlineResource"/></xsl:apply-templates></xsl:otherwise></xsl:choose></LayerList></ViewContext></xsl:template><xsl:template match="Layer"><xsl:param name="version"/><xsl:param name="title"/><xsl:param name="url"/><xsl:element name="Layer" namespace="http://www.opengis.net/context"><xsl:attribute name="queryable"><xsl:value-of select="@queryable"/></xsl:attribute><xsl:attribute name="hidden"><xsl:text>0</xsl:text></xsl:attribute><xsl:element name="Server" namespace="http://www.opengis.net/context"><xsl:attribute name="service"><xsl:text>OGC:WMS</xsl:text></xsl:attribute><xsl:attribute name="version"><xsl:value-of select="$version"/></xsl:attribute><xsl:attribute name="title"><xsl:value-of select="$title"/></xsl:attribute><xsl:element name="OnlineResource" namespace="http://www.opengis.net/context"><xsl:attribute name="type"><xsl:text>simple</xsl:text></xsl:attribute><xsl:attribute name="xlink:href"><xsl:value-of select="$url"/></xsl:attribute></xsl:element></xsl:element><Name xmlns="http://www.opengis.net/context"><xsl:value-of select="Name"/></Name><Title xmlns="http://www.opengis.net/context"><xsl:value-of select="Title"/></Title><Abstract xmlns="http://www.opengis.net/context"><xsl:value-of select="Abstract"/></Abstract><FormatList xmlns="http://www.opengis.net/context"><Format current="1">image/png</Format></FormatList><StyleList xmlns="http://www.opengis.net/context"><Style current="1"><xsl:copy-of select="Style[Name=$styleName]/*"/></Style></StyleList><xsl:if test="Dimension"><DimensionList xmlns="http://www.opengis.net/context"><xsl:copy-of select="Dimension"/></DimensionList></xsl:if></xsl:element></xsl:template><xsl:template match="/wms:WMS_Capabilities"><xsl:param name="wmsVersion" select="/wms:WMS_Capabilities/@version"/><xsl:param name="wmsTitle" select="/wms:WMS_Capabilities/wms:Service/wms:Title"/><xsl:param name="wmsOnlineResource" select="/wms:WMS_Capabilities/wms:Capability/wms:Request/wms:GetMap/wms:DCPType/wms:HTTP/wms:Get/wms:OnlineResource/@xlink:href"/><xsl:param name="defLayers" select="wms:Capability//wms:Layer[wms:Name=$selectedLayer]"/><xsl:param name="defLayer" select="$defLayers[1]"/><xsl:param name="bbox" select="//wms:BoundingBox"/><xsl:variable name="abstract" select="$defLayer/wms:Abstract"/><xsl:variable name="title" select="$defLayer/wms:Title"/><xsl:variable name="infoLink" select="$defLayer/wms:MetadataURL/wms:OnlineResource/@xlink:href"/><xsl:variable name="logoLink" select="$defLayer/wms:Attribution/wms:LogoURL/wms:OnlineResource/@xlink:href"/><xsl:variable name="providerName" select="wms:Service/wms:Title"/><ViewContext xmlns="http://www.opengis.net/context" version="1.0.0" id="autoGeneratedContext_"><General><Title><xsl:value-of select="$title"/></Title><Abstract><xsl:value-of select="$abstract"/></Abstract><xsl:variable name="minx" select="number($bbox/@minx)"/><xsl:variable name="maxx" select="number($bbox/@maxx)"/><xsl:variable name="miny" select="number($bbox/@miny)"/><xsl:variable name="maxy" select="number($bbox/@maxy)"/><xsl:variable name="srs" select="$bbox/@CRS"/><xsl:choose><xsl:when test="$defLayer/@fixedWidth"><xsl:variable name="fWidth" select="$defLayer/@fixedWidth"/><xsl:variable name="fHeight" select="$defLayer/@fixedHeight"/><Window width="{$fWidth}" height="{$fHeight}"/></xsl:when><xsl:otherwise><xsl:variable name="dy" select=" $maxy - $miny "/><xsl:variable name="dx" select=" $maxx - $minx "/><xsl:variable name="height" select="round(($dy div $dx)*$width)"/><Window width="{$width}" height="{$height}"/></xsl:otherwise></xsl:choose><BoundingBox SRS="{$srs}" minx="{$minx}" miny="{$miny}" maxx="{$maxx}" maxy="{$maxy}"/><DescriptionURL format="text/html"><OnlineResource xlink:href="{$infoLink}" xlink:type="simple"/></DescriptionURL><LogoURL format="text/html"><OnlineResource xlink:href="{$logoLink}" xlink:type="simple"/></LogoURL><ContactInformation><ContactPersonPrimary><ContactOrganization><xsl:value-of select="$providerName"/></ContactOrganization></ContactPersonPrimary></ContactInformation></General><LayerList><xsl:choose><xsl:when test="string-length($selectedLayer)&gt;0"><xsl:apply-templates select="$defLayer"><xsl:with-param name="version" select="$wmsVersion"/><xsl:with-param name="title" select="$wmsTitle"/><xsl:with-param name="url" select="$wmsOnlineResource"/></xsl:apply-templates></xsl:when><xsl:otherwise><xsl:apply-templates select="wms:Capability/wms:Layer/*"><xsl:with-param name="version" select="$wmsVersion"/><xsl:with-param name="title" select="$wmsTitle"/><xsl:with-param name="url" select="$wmsOnlineResource"/></xsl:apply-templates></xsl:otherwise></xsl:choose></LayerList></ViewContext></xsl:template><xsl:template match="wms:Layer"><xsl:param name="version"/><xsl:param name="title"/><xsl:param name="url"/><xsl:element name="Layer" namespace="http://www.opengis.net/context"><xsl:attribute name="queryable"><xsl:value-of select="@queryable"/></xsl:attribute><xsl:attribute name="hidden"><xsl:text>0</xsl:text></xsl:attribute><xsl:element name="Server" namespace="http://www.opengis.net/context"><xsl:attribute name="service"><xsl:text>OGC:WMS</xsl:text></xsl:attribute><xsl:attribute name="version"><xsl:value-of select="$version"/></xsl:attribute><xsl:attribute name="title"><xsl:value-of select="$title"/></xsl:attribute><xsl:element name="OnlineResource" namespace="http://www.opengis.net/context"><xsl:attribute name="type"><xsl:text>simple</xsl:text></xsl:attribute><xsl:attribute name="xlink:href"><xsl:value-of select="$url"/></xsl:attribute></xsl:element></xsl:element><Name xmlns="http://www.opengis.net/context"><xsl:value-of select="wms:Name"/></Name><Title xmlns="http://www.opengis.net/context"><xsl:value-of select="wms:Title"/></Title><Abstract xmlns="http://www.opengis.net/context"><xsl:value-of select="wms:Abstract"/></Abstract><FormatList xmlns="http://www.opengis.net/context"><Format current="1">image/png</Format></FormatList><StyleList xmlns="http://www.opengis.net/context"><Style current="1"><Name><xsl:value-of select="$styleName"/></Name><xsl:if test="wms:Style/wms:LegendURL"><LegendURL><OnlineResource><xsl:attribute name="xlink:href"><xsl:value-of select="wms:Style/wms:LegendURL/wms:OnlineResource/@xlink:href"/></xsl:attribute></OnlineResource></LegendURL></xsl:if></Style></StyleList><xsl:if test="wms:Dimension[@name='time']"><DimensionList xmlns="http://www.opengis.net/context"><Dimension name="time" units="ISO8601"><xsl:value-of select="wms:Dimension[@name='time']"/></Dimension></DimensionList></xsl:if></xsl:element></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/tool/xsl/wfs_Delete.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/xsl/wfs_Delete.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/xsl/wfs_Delete.xsl	(revision 4307)
@@ -1,74 +1,2 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-
-
-<!--
-
-Description: Extract FeatureMembers from a FeatureCollection and build
-
-  into a WFS Insert transaction.
-
-Author:      Cameron Shorter
-
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-
-
-$Id$
-
--->
-
-
-
-<xsl:stylesheet version="1.0" 
-
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-
-    xmlns:wfs="http://www.opengis.net/wfs"
-
-    xmlns:ogc="http://www.opengis.net/ogc"
-
-    xmlns:gml="http://www.opengis.net/gml">
-
-
-
-  <xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8" indent="yes"/>
-
-
-
-  <!-- Match root -->
-
-  <xsl:template match="/">
-
-    <wfs:Transaction service="WFS" version="1.0.0">
-
-      <xsl:apply-templates/>
-
-    </wfs:Transaction>
-
-  </xsl:template>
-
-
-
-  <!-- Match featureMember -->
-
-  <xsl:template match="gml:featureMember/*[@fid]">
-
-    <wfs:Delete typeName="{name()}">
-
-      <ogc:Filter>
-
-        <ogc:FeatureId fid="{./@fid}"/>
-
-      </ogc:Filter>
-
-    </wfs:Delete>
-
-  </xsl:template>
-
-
-
-  <xsl:template match="text()|@*"/>
-
-</xsl:stylesheet>
-
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wfs="http://www.opengis.net/wfs" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/><xsl:template match="/"><wfs:Transaction xmlns:topp="http://www.openplans.org/topp" service="WFS" version="1.0.0"><xsl:apply-templates/></wfs:Transaction></xsl:template><xsl:template match="gml:featureMember/*[@fid]"><wfs:Delete typeName="{name()}"><ogc:Filter><ogc:FeatureId fid="{./@fid}"/></ogc:Filter></wfs:Delete></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/tool/xsl/wms_GetFeatureInfo.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/xsl/wms_GetFeatureInfo.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/xsl/wms_GetFeatureInfo.xsl	(revision 4307)
@@ -1,126 +1,16 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-
-
-<!--
-
-Description: parses an OGC context document to generate a GetFeatureInfo url
-
-Author:      Nedjo
-
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-
-
-$Id$
-
-$Name$
-
--->
-
-<xsl:stylesheet version="1.0" xmlns:cml="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink">
-
-  <xsl:output method="xml"/>
-
-  <!--xsl:strip-space elements="*"/-->
-
-
-
-  <!-- parameters to be passed into the XSL -->
-
-  <!-- The name of the WMS GetFeatureInfo layer -->
-
-  <xsl:param name="queryLayer"/>
-
-  <xsl:param name="xCoord"/>
-
-  <xsl:param name="yCoord"/>
-
-  <xsl:param name="infoFormat" select="text/html"/>
-
-  <xsl:param name="featureCount" select="1"/>
-
-
-
-  <!-- Global variables -->
-
-  <xsl:variable name="bbox">
-
-    <xsl:value-of select="/cml:ViewContext/cml:General/cml:BoundingBox/@minx"/>,<xsl:value-of select="/cml:ViewContext/cml:General/cml:BoundingBox/@miny"/>,<xsl:value-of select="/cml:ViewContext/cml:General/cml:BoundingBox/@maxx"/>,<xsl:value-of select="/cml:ViewContext/cml:General/cml:BoundingBox/@maxy"/>
-
-  </xsl:variable>
-
-  <xsl:variable name="width">
-
-    <xsl:value-of select="/cml:ViewContext/cml:General/cml:Window/@width"/>
-
-  </xsl:variable>
-
-  <xsl:variable name="height">
-
-    <xsl:value-of select="/cml:ViewContext/cml:General/cml:Window/@height"/>
-
-  </xsl:variable>
-
-  <xsl:variable name="srs" select="/cml:ViewContext/cml:General/cml:BoundingBox/@SRS"/>
-
-
-
-  <!-- Root template -->
-
-  <xsl:template match="/">
-
-    <xsl:apply-templates select="cml:ViewContext/cml:LayerList/cml:Layer[cml:Name=$queryLayer]"/>
-
-  </xsl:template>
-
-
-
-  <!-- Layer template -->
-
-  <xsl:template match="cml:Layer">
-
-
-
-    <!-- Layer variables -->
-
-    <xsl:variable name="version">
-
-      <xsl:value-of select="cml:Server/@version"/>    
-
-    </xsl:variable>
-
-    <xsl:variable name="baseUrl">
-
-      <xsl:value-of select="cml:Server/cml:OnlineResource/@xlink:href"/>    
-
-    </xsl:variable>
-
-    <xsl:variable name="firstJoin">
-
-      <xsl:choose>
-
-        <xsl:when test="substring($baseUrl,string-length($baseUrl))='?'"></xsl:when>
-
-        <xsl:when test="contains($baseUrl, '?')">&amp;</xsl:when> 
-
-        <xsl:otherwise>?</xsl:otherwise>
-
-      </xsl:choose>
-
-    </xsl:variable>
-
-
-
-    <!-- Print the URL -->
-
-    <url>
-
-      <xsl:value-of select="$baseUrl"/><xsl:value-of select="$firstJoin"/>VERSION=<xsl:value-of select="$version"/>&amp;REQUEST=GetFeatureInfo&amp;SRS=<xsl:value-of select="$srs"/>&amp;BBOX=<xsl:value-of select="$bbox"/>&amp;WIDTH=<xsl:value-of select="$width"/>&amp;HEIGHT=<xsl:value-of select="$height"/>&amp;INFO_FORMAT=<xsl:value-of select="$infoFormat"/>&amp;FEATURE_COUNT=<xsl:value-of select="$featureCount"/>&amp;QUERY_LAYERS=<xsl:value-of select="$queryLayer"/>&amp;X=<xsl:value-of select="$xCoord"/>&amp;Y=<xsl:value-of select="$yCoord"/>
-
-    </url>
-
-  </xsl:template>
-
-</xsl:stylesheet>
-
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wmc="http://www.opengis.net/context" xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="no"/><xsl:param name="queryLayer"/><xsl:param name="xCoord"/><xsl:param name="yCoord"/><xsl:param name="infoFormat" select="text/html"/><xsl:param name="featureCount" select="1"/><xsl:param name="bBoxMinX"/><xsl:param name="bBoxMinY"/><xsl:param name="bBoxMaxX"/><xsl:param name="bBoxMaxY"/><xsl:param name="srs"/><xsl:param name="width"/><xsl:param name="height"/><xsl:param name="version"/><xsl:param name="httpMethod">get</xsl:param><xsl:variable name="bbox"><xsl:value-of select="$bBoxMinX"/>,<xsl:value-of select="$bBoxMinY"/>,<xsl:value-of select="$bBoxMaxX"/>,<xsl:value-of select="$bBoxMaxY"/></xsl:variable><xsl:template match="wmc:Layer"><xsl:variable name="baseUrl"><xsl:value-of select="wmc:Server/wmc:OnlineResource/@xlink:href"/></xsl:variable><xsl:variable name="imgFormat"><xsl:value-of select="wmc:FormatList/wmc:Format[@current='1']"/></xsl:variable><xsl:variable name="firstJoin"><xsl:choose><xsl:when test="substring($baseUrl,string-length($baseUrl))='?'"/><xsl:when test="contains($baseUrl, '?')">&amp;</xsl:when><xsl:otherwise>?</xsl:otherwise></xsl:choose></xsl:variable><xsl:choose><xsl:when test="$httpMethod='post'"><Query typeName="{$queryLayer}"/></xsl:when><xsl:otherwise><mb:QueryString><xsl:variable name="query">
+           REQUEST=GetFeatureInfo
+      &amp;SERVICE=WMS
+      &amp;VERSION=<xsl:value-of select="$version"/>
+          &amp;SRS=<xsl:value-of select="$srs"/>
+       &amp;LAYERS=<xsl:value-of select="$queryLayer"/>
+         &amp;BBOX=<xsl:value-of select="$bbox"/>
+        &amp;WIDTH=<xsl:value-of select="$width"/>
+       &amp;HEIGHT=<xsl:value-of select="$height"/>
+  &amp;INFO_FORMAT=<xsl:value-of select="$infoFormat"/>
+&amp;FEATURE_COUNT=<xsl:value-of select="$featureCount"/>
+ &amp;QUERY_LAYERS=<xsl:value-of select="$queryLayer"/>
+            &amp;X=<xsl:value-of select="$xCoord"/>
+            &amp;Y=<xsl:value-of select="$yCoord"/>
+       &amp;FORMAT=<xsl:value-of select="$imgFormat"/></xsl:variable><xsl:value-of select="translate(normalize-space($query),' ','')" disable-output-escaping="no"/></mb:QueryString></xsl:otherwise></xsl:choose></xsl:template><xsl:template match="comment()|text()|processing-instruction()"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/tool/xsl/wfs_Transaction.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/xsl/wfs_Transaction.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/xsl/wfs_Transaction.xsl	(revision 4307)
@@ -1,38 +1,2 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!--
-Description: Extract FeatureMembers from a FeatureCollection and build
-  into a WFS Insert transaction.
-Author:      Cameron Shorter
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-$Id$
-$Name$
--->
-
-<xsl:stylesheet version="1.0" 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-    xmlns:wfs="http://www.opengis.net/wfs"
-    xmlns:gml="http://www.opengis.net/gml"
-    xmlns:xlink="http://www.w3.org/1999/xlink">
-
-  <xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8" indent="yes"/>
-
-  <!-- Match root -->
-  <xsl:template match="/">
-    <wfs:Transaction>
-      <wfs:Insert>
-        <xsl:apply-templates/>
-      </wfs:Insert>
-    </wfs:Transaction>
-  </xsl:template>
-
-  <!-- Match featureMember -->
-  <xsl:template match="gml:featureMember">
-    <xsl:for-each select="./*">
-      <xsl:copy-of select="."/>
-    </xsl:for-each>
-  </xsl:template>
-
-  <xsl:template match="text()|@*"/>
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/><xsl:template match="/"><wfs:Transaction service="WFS" version="1.0.0"><wfs:Insert><xsl:apply-templates/></wfs:Insert></wfs:Transaction></xsl:template><xsl:template match="gml:featureMember"><xsl:for-each select="./*"><xsl:copy-of select="."/></xsl:for-each></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/tool/MergeModels.js
===================================================================
--- lib/spatial/mapbuilder/lib/tool/MergeModels.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/tool/MergeModels.js	(revision 4307)
@@ -0,0 +1,81 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: MergeModels.js 3881 2008-02-27 15:41:07Z gjvoosten $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/tool/ToolBase.js");
+
+/**
+ * Model that allows to merge multiple models into one. The first model
+ * determines the root node, other models are appended within the same
+ * root node.
+ * @constructor
+ * @base ToolBase
+ * @author Andreas Hocevar andreas.hocevarATgmail.com
+ * @param modelNode The model's XML object node from the configuration document
+ * @param model model this tool belongs to.
+ */
+function MergeModels(toolNode, model) {
+  // Inherit the ModelBase functions and parameters
+  ToolBase.apply(this, new Array(toolNode, model));
+  
+  this.template = null;
+
+  this.init = function(objRef) {
+    objRef.model.mergeModels = new Array();
+    var models = toolNode.selectSingleNode('mb:merges');
+    if (models) {
+      var model = models.childNodes;
+      for (var i = 0; i < model.length; i++) {
+        if (model[i].firstChild) {
+          objRef.addModel(objRef, config.objects[getNodeValue(model[i])]);
+        }
+      }
+    }
+  }
+  // it is important to be registered before other tools that
+  // check for model.mergeModels
+  model.addListener('init', this.init, this);
+  
+  this.getTemplate = function(objRef) {
+    objRef.template = objRef.model.doc ? objRef.model.doc.cloneNode(true) : null;
+    if (objRef.template) {
+      objRef.model.removeListener('loadModel', objRef.getTemplate, objRef);
+      objRef.buildModel(objRef);
+    }
+  }
+  model.addListener('loadModel', this.getTemplate, this);
+
+  this.addModel = function(objRef, model) {
+    objRef.model.mergeModels.push(model);
+    if (model.doc) {
+      objRef.mergeModel(objRef, model.doc);
+    }
+    model.addListener('refresh', objRef.buildModel, objRef);
+  }
+  
+  this.mergeModel = function(objRef, modelToMerge) {
+    var docToMerge = modelToMerge.doc ? modelToMerge.doc.cloneNode(true) : null;
+    var nodes = docToMerge ? docToMerge.selectNodes('//*[@fid]') : null;
+    if (!nodes) return;
+    var node;
+    for (var i=0; i<nodes.length; i++) {
+      node = nodes[i];
+      if (node.nodeName) {
+        node.setAttribute('sourceModel', modelToMerge.id);
+      }
+    }    
+    Sarissa.copyChildNodes(docToMerge.documentElement, objRef.model.doc.documentElement, true);
+  }
+  
+  this.buildModel = function(objRef) {
+    if (!objRef.template) return;
+    objRef.model.callListeners('newModel');
+    objRef.model.doc = objRef.template.cloneNode(true);
+    for (var i=0; i<objRef.model.mergeModels.length; i++) {
+      objRef.mergeModel(objRef, objRef.model.mergeModels[i]);
+    }
+    objRef.model.callListeners('loadModel');
+  }
+}
Index: lib/spatial/mapbuilder/lib/util/MGRS.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/MGRS.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/util/MGRS.js	(revision 4307)
@@ -1,8 +1,8 @@
 /*
-Author:       Patrice G. Cappelaere (Got library from somewhere but cant remember where as it got translated several times)
+Author:       Patrice G. Cappelaere (Got library from Geoserver)
 License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: MGRS.js 2546 2007-01-23 12:07:39Z gjvoosten $
 */
 
 
Index: lib/spatial/mapbuilder/lib/tool/History.js
===================================================================
--- lib/spatial/mapbuilder/lib/tool/History.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/History.js	(revision 4307)
@@ -1,7 +1,7 @@
 /*
 Author:       Steven Ottens AT geodan.nl
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: History.js 2956 2007-07-09 12:17:52Z steven $
 */
 
 // Ensure this object's dependancies are loaded.
@@ -19,29 +19,15 @@
 function History(toolNode, model) {
   ToolBase.apply(this, new Array(toolNode, model));
 
-	
-  var doAdd = new Boolean();
-
   /**
-    * Inititialising the history and setting start parameters
-    * @param objRef  pointer to this object.
-    */
+   * Inititialising the history and setting start parameters
+   * @param objRef  pointer to this object.
+   */
 
 	this.init = function(objRef) {
-    place = -1;
-    list = new Array();
-
-		var bbox = objRef.targetModel.getBoundingBox();
-    newExtent = new Array();
-    newExtent[0] = new Array(bbox[0],bbox[3]);
-    newExtent[1] = new Array(bbox[2],bbox[1]);
-		list.push(newExtent); 
-
-		place = place+1; 
-
-		objRef.model.active = place;
-    objRef.model.historyList = list;
-
+		objRef.model.active = -1;
+    objRef.model.historyList = new Array();
+    objRef.add(objRef);
   }
 
   /**
@@ -52,9 +38,20 @@
     if (objRef.model.active!=null) {
       var place = objRef.model.active;
       var list = objRef.model.historyList;
-      newExtent = new Array();
-      newExtent[0] = objRef.model.extent.ul;
-      newExtent[1] = objRef.model.extent.lr;
+      var center = objRef.targetModel.map.getExtent().getCenterLonLat();
+      // take the current scale -1, otherwise we get troubles when
+      // fixed scales are defined
+      var scale = objRef.targetModel.map.getScale()-1;
+      if (place > -1) {
+        // check if current and previous history entry would result
+        // in same center point and zoom level. If this is the case,
+        // we do not want a new entry in the list
+        if (center.toString() == list[place].center.toString() &&
+            scale == list[place].scale) {
+          return;
+        }
+      }
+      var newExtent = new Object({center:center, scale:scale});
 
       if( place==(list.length-1)) { //If we are already at the end of the list add a new item
         list.push(newExtent); 
@@ -76,10 +73,10 @@
    */
 
   this.back = function(objRef){
-    place = objRef.model.active;
+    var place = objRef.model.active;
     if(place<1) {
       objRef.model.previousExtent = null;
-      alert("You can't go further back");
+      alert(mbGetMessage("cantGoBack"));
     }
     else {
       place = place -1;
@@ -93,7 +90,7 @@
    * @param objRef  pointer to this object.
    */
   this.forward = function(objRef) {
-    place = objRef.model.active;
+    var place = objRef.model.active;
     if(place<(objRef.model.historyList.length-1)) {
       place = place +1;
       objRef.model.active = place;
@@ -101,7 +98,7 @@
     }
     else {
       objRef.model.nextExtent = null;
-      alert("You can't go further forward");
+      alert(mbGetMessage("cantGoForward"));
     }
   }
 
@@ -134,7 +131,4 @@
 	this.model.addListener("historyStart", this.start, this);
 	this.model.addListener("historyStop", this.stop, this);
 	this.model.addListener("init", this.initReset, this);
-}
-
-  
-  
+}
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/tool/GetFeatureInfo.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/GetFeatureInfo.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/GetFeatureInfo.xsl	(revision 4307)
@@ -1,65 +1,2 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!--
-Description: parses an OGC context document to generate a GetFeatureInfo url
-Author:      Nedjo
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-$Id$
-$Name$
--->
-<xsl:stylesheet version="1.0" xmlns:wmc="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink">
-  <xsl:output method="xml"/>
-  <xsl:strip-space elements="*"/>
-
-  <!-- parameters to be passed into the XSL -->
-  <!-- The name of the WMS GetFeatureInfo layer -->
-  <xsl:param name="queryLayer">highways</xsl:param>
-  <xsl:param name="xCoord">1</xsl:param>
-  <xsl:param name="yCoord">1</xsl:param>
-  <xsl:param name="infoFormat">text/html</xsl:param>
-  <xsl:param name="featureCount">1</xsl:param>
-
-  <!-- Global variables -->
-  <xsl:variable name="bbox">
-    <xsl:value-of select="/wmc:ViewContext/wmc:General/wmc:BoundingBox/@minx"/>,<xsl:value-of select="/wmc:ViewContext/wmc:General/wmc:BoundingBox/@miny"/>,<xsl:value-of select="/wmc:ViewContext/wmc:General/wmc:BoundingBox/@maxx"/>,<xsl:value-of select="/wmc:ViewContext/wmc:General/wmc:BoundingBox/@maxy"/>
-  </xsl:variable>
-  <xsl:variable name="width">
-    <xsl:value-of select="/wmc:ViewContext/wmc:General/wmc:Window/@width"/>
-  </xsl:variable>
-  <xsl:variable name="height">
-    <xsl:value-of select="/wmc:ViewContext/wmc:General/wmc:Window/@height"/>
-  </xsl:variable>
-  <xsl:variable name="srs" select="/wmc:ViewContext/wmc:General/wmc:BoundingBox/@SRS"/>
-
-  <!-- Root template -->
-  <xsl:template match="/">
-    <url>
-      <xsl:apply-templates select="wmc:ViewContext/wmc:LayerList"/>
-      <error>URL not calculated for layer=<xsl:value-of select="$queryLayer"/></error>
-    </url>
-  </xsl:template>
-
-  <!-- Layer template -->
-  <xsl:template match="wmc:Layer">
-    <xsl:if test="contains($queryLayer,wmc:Name)">
-      <!-- Layer variables -->
-      <xsl:variable name="version">
-        <xsl:value-of select="wmc:Server/@version"/>    
-      </xsl:variable>
-      <xsl:variable name="baseUrl">
-        <xsl:value-of select="wmc:Server/wmc:OnlineResource/@xlink:href"/>    
-      </xsl:variable>
-      <xsl:variable name="firstJoin">
-        <xsl:choose>
-          <xsl:when test="substring($baseUrl,string-length($baseUrl))='?'"></xsl:when>
-          <xsl:when test="contains($baseUrl, '?')">&amp;</xsl:when> 
-          <xsl:otherwise>?</xsl:otherwise>
-        </xsl:choose>
-      </xsl:variable>
-
-      <!-- Print the URL -->
-      <xsl:value-of select="$baseUrl"/><xsl:value-of select="$firstJoin"/>VERSION=<xsl:value-of select="$version"/>&amp;REQUEST=GetFeatureInfo&amp;LAYERS=<xsl:value-of select="$queryLayer"/>&amp;SRS=<xsl:value-of select="$srs"/>&amp;BBOX=<xsl:value-of select="$bbox"/>&amp;WIDTH=<xsl:value-of select="$width"/>&amp;HEIGHT=<xsl:value-of select="$height"/>&amp;INFO_FORMAT=<xsl:value-of select="$infoFormat"/>&amp;FEATURE_COUNT=<xsl:value-of select="$featureCount"/>&amp;QUERY_LAYERS=<xsl:value-of select="$queryLayer"/>&amp;X=<xsl:value-of select="$xCoord"/>&amp;Y=<xsl:value-of select="$yCoord"/>&amp;FORMAT
-    </xsl:if>
-  </xsl:template>
-</xsl:stylesheet>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wmc="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ows="http://www.opengis.net/ows" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes"/><xsl:strip-space elements="*"/><xsl:param name="queryLayer">route</xsl:param><xsl:param name="layer">route</xsl:param><xsl:param name="xCoord">1</xsl:param><xsl:param name="yCoord">1</xsl:param><xsl:param name="infoFormat">text/html</xsl:param><xsl:param name="featureCount">1</xsl:param><xsl:variable name="bbox"><xsl:choose><xsl:when test="/wmc:ViewContext"><xsl:value-of select="/wmc:ViewContext/wmc:General/wmc:BoundingBox/@minx"/>,<xsl:value-of select="/wmc:ViewContext/wmc:General/wmc:BoundingBox/@miny"/>,<xsl:value-of select="/wmc:ViewContext/wmc:General/wmc:BoundingBox/@maxx"/>,<xsl:value-of select="/wmc:ViewContext/wmc:General/wmc:BoundingBox/@maxy"/></xsl:when><xsl:otherwise><xsl:value-of select="translate(/wmc:OWSContext/wmc:General/ows:BoundingBox/ows:LowerCorner, ' ', ',')"/>,<xsl:value-of select="translate(/wmc:OWSContext/wmc:General/ows:BoundingBox/ows:UpperCorner, ' ', ',')"/></xsl:otherwise></xsl:choose></xsl:variable><xsl:variable name="width"><xsl:value-of select="/*/wmc:General/wmc:Window/@width"/></xsl:variable><xsl:variable name="height"><xsl:value-of select="/*/wmc:General/wmc:Window/@height"/></xsl:variable><xsl:variable name="srs" select="/wmc:ViewContext/wmc:General/wmc:BoundingBox/@SRS|/wmc:OWSContext/wmc:General/ows:BoundingBox/@crs"/><xsl:template match="/"><url><xsl:apply-templates select="wmc:ViewContext/wmc:LayerList"/><xsl:apply-templates select="wmc:OWSContext/wmc:ResourceList"/><error>URL not calculated for layer=<xsl:value-of select="$queryLayer"/></error></url></xsl:template><xsl:template match="wmc:Layer"><xsl:if test="wmc:Name=$queryLayer"><xsl:variable name="version"><xsl:value-of select="wmc:Server/@version"/></xsl:variable><xsl:variable name="baseUrl"><xsl:value-of select="wmc:Server/wmc:OnlineResource/@xlink:href"/></xsl:variable><xsl:variable name="firstJoin"><xsl:choose><xsl:when test="substring($baseUrl,string-length($baseUrl))='?'"/><xsl:when test="contains($baseUrl, '?')">&amp;</xsl:when><xsl:otherwise>?</xsl:otherwise></xsl:choose></xsl:variable><xsl:value-of select="$baseUrl"/><xsl:value-of select="$firstJoin"/>VERSION=<xsl:value-of select="$version"/>&amp;REQUEST=GetFeatureInfo&amp;LAYERS=<xsl:value-of select="$layer"/>&amp;SRS=<xsl:value-of select="$srs"/>&amp;BBOX=<xsl:value-of select="$bbox"/>&amp;WIDTH=<xsl:value-of select="$width"/>&amp;HEIGHT=<xsl:value-of select="$height"/>&amp;INFO_FORMAT=<xsl:value-of select="$infoFormat"/>&amp;FEATURE_COUNT=<xsl:value-of select="$featureCount"/>&amp;QUERY_LAYERS=<xsl:value-of select="$queryLayer"/>&amp;X=<xsl:value-of select="$xCoord"/>&amp;Y=<xsl:value-of select="$yCoord"/></xsl:if></xsl:template></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/util/openlayers/readme.txt
===================================================================
--- lib/spatial/mapbuilder/lib/util/openlayers/readme.txt	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/openlayers/readme.txt	(revision 4307)
@@ -0,0 +1,6 @@
+The OpenLayers.js in this directory is the full build (uncompressed) of
+OpenLayers 2.6rc1.
+
+In addition, the following patches have been applied:
+- http://trac.openlayers.org/attachment/ticket/1433/1433-r6749-A2.patch
+  (adds rotation support to externalGraphic vector point features)
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/sarissa/Sarissa.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/sarissa/Sarissa.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/util/sarissa/Sarissa.js	(revision 4307)
@@ -5,53 +5,36 @@
  * Sarissa is an ECMAScript library acting as a cross-browser wrapper for native XML APIs.
  * The library supports Gecko based browsers like Mozilla and Firefox,
  * Internet Explorer (5.5+ with MSXML3.0+), Konqueror, Safari and a little of Opera
- * @version 0.9.6.1
+ * @version 0.9.7.6
  * @author: Manos Batsis, mailto: mbatsis at users full stop sourceforge full stop net
  * ====================================================================
- * Licence 
+ * Licence
  * ====================================================================
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 or
- * the GNU Lesser General Public License version 2.1 as published by
- * the Free Software Foundation (your choice between the two).
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License or GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * or GNU Lesser General Public License along with this program; if not,
- * write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- * or visit http://www.gnu.org
- *
+ * Sarissa is free software distributed under the GNU GPL version 2 (see <a href="gpl.txt">gpl.txt</a>) or higher, 
+ * GNU LGPL version 2.1 (see <a href="lgpl.txt">lgpl.txt</a>) or higher and Apache Software License 2.0 or higher 
+ * (see <a href="asl.txt">asl.txt</a>). This means you can choose one of the three and use that if you like. If 
+ * you make modifications under the ASL, i would appreciate it if you submitted those.
+ * In case your copy of Sarissa does not include the license texts, you may find
+ * them online in various formats at <a href="http://www.gnu.org">http://www.gnu.org</a> and 
+ * <a href="http://www.apache.org">http://www.apache.org</a>.
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 
+ * KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 
+ * WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE 
+ * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 /**
- * <p>Sarissa is a utility class. Provides "static" methods for DOMDocument and 
- * XMLHTTP objects, DOM Node serializatrion to XML strings and other goodies.</p>
+ * <p>Sarissa is a utility class. Provides "static" methods for DOMDocument, 
+ * DOM Node serialization to XML strings and other utility goodies.</p>
  * @constructor
  */
 function Sarissa(){};
-/** @private */
 Sarissa.PARSED_OK = "Document contains no parsing errors";
-/**
- * Tells you whether transformNode and transformNodeToObject are available. This functionality
- * is contained in sarissa_ieemu_xslt.js and is deprecated. If you want to control XSLT transformations
- * use the XSLTProcessor
- * @deprecated
- * @type boolean
- */
-Sarissa.IS_ENABLED_TRANSFORM_NODE = false;
-/**
- * tells you whether XMLHttpRequest (or equivalent) is available
- * @type boolean
- */
-Sarissa.IS_ENABLED_XMLHTTP = false;
-/**
- * tells you whether selectNodes/selectSingleNode is available
- * @type boolean
- */
-Sarissa.IS_ENABLED_SELECT_NODES = false;
+Sarissa.PARSED_EMPTY = "Document is empty";
+Sarissa.PARSED_UNKNOWN_ERROR = "Not well-formed or other error";
 var _sarissa_iNsCounter = 0;
 var _SARISSA_IEPREFIX4XSLPARAM = "";
 var _SARISSA_HAS_DOM_IMPLEMENTATION = document.implementation && true;
@@ -59,11 +42,15 @@
 var _SARISSA_HAS_DOM_FEATURE = _SARISSA_HAS_DOM_IMPLEMENTATION && document.implementation.hasFeature;
 var _SARISSA_IS_MOZ = _SARISSA_HAS_DOM_CREATE_DOCUMENT && _SARISSA_HAS_DOM_FEATURE;
 var _SARISSA_IS_SAFARI = (navigator.userAgent && navigator.vendor && (navigator.userAgent.toLowerCase().indexOf("applewebkit") != -1 || navigator.vendor.indexOf("Apple") != -1));
+var _SARISSA_IS_OPERA = navigator.userAgent.toLowerCase().indexOf("opera") != -1;
 var _SARISSA_IS_IE = document.all && window.ActiveXObject && navigator.userAgent.toLowerCase().indexOf("msie") > -1  && navigator.userAgent.toLowerCase().indexOf("opera") == -1;
-if(!window.Node || !window.Node.ELEMENT_NODE){
-    var Node = {ELEMENT_NODE: 1, ATTRIBUTE_NODE: 2, TEXT_NODE: 3, CDATA_SECTION_NODE: 4, ENTITY_REFERENCE_NODE: 5,  ENTITY_NODE: 6, PROCESSING_INSTRUCTION_NODE: 7, COMMENT_NODE: 8, DOCUMENT_NODE: 9, DOCUMENT_TYPE_NODE: 10, DOCUMENT_FRAGMENT_NODE: 11, NOTATION_NODE: 12};
+
+if(!window.Node || !Node.ELEMENT_NODE){
+    Node = {ELEMENT_NODE: 1, ATTRIBUTE_NODE: 2, TEXT_NODE: 3, CDATA_SECTION_NODE: 4, ENTITY_REFERENCE_NODE: 5,  ENTITY_NODE: 6, PROCESSING_INSTRUCTION_NODE: 7, COMMENT_NODE: 8, DOCUMENT_NODE: 9, DOCUMENT_TYPE_NODE: 10, DOCUMENT_FRAGMENT_NODE: 11, NOTATION_NODE: 12};
 };
 
+if(typeof XMLDocument == "undefined" && typeof Document !="undefined"){ XMLDocument = Document; } 
+
 // IE initialization
 if(_SARISSA_IS_IE){
     // for XSLT parameter names, prefix needed by IE
@@ -71,13 +58,15 @@
     // used to store the most recent ProgID available out of the above
     var _SARISSA_DOM_PROGID = "";
     var _SARISSA_XMLHTTP_PROGID = "";
+    var _SARISSA_DOM_XMLWRITER = "";
     /**
      * Called when the Sarissa_xx.js file is parsed, to pick most recent
      * ProgIDs for IE, then gets destroyed.
+     * @private
      * @param idList an array of MSXML PROGIDs from which the most recent will be picked for a given object
      * @param enabledList an array of arrays where each array has two items; the index of the PROGID for which a certain feature is enabled
      */
-    pickRecentProgID = function (idList, enabledList){
+    Sarissa.pickRecentProgID = function (idList){
         // found progID flag
         var bFound = false;
         for(var i=0; i < idList.length && !bFound; i++){
@@ -85,43 +74,62 @@
                 var oDoc = new ActiveXObject(idList[i]);
                 o2Store = idList[i];
                 bFound = true;
-                for(var j=0;j<enabledList.length;j++)
-                    if(i <= enabledList[j][1])
-                        Sarissa["IS_ENABLED_"+enabledList[j][0]] = true;
             }catch (objException){
                 // trap; try next progID
             };
         };
-        if (!bFound)
+        if (!bFound) {
             throw "Could not retreive a valid progID of Class: " + idList[idList.length-1]+". (original exception: "+e+")";
+        };
         idList = null;
         return o2Store;
     };
     // pick best available MSXML progIDs
-    _SARISSA_DOM_PROGID = pickRecentProgID(["Msxml2.DOMDocument.5.0", "Msxml2.DOMDocument.4.0", "Msxml2.DOMDocument.3.0", "MSXML2.DOMDocument", "MSXML.DOMDocument", "Microsoft.XMLDOM"], [["SELECT_NODES", 2],["TRANSFORM_NODE", 2]]);
-    _SARISSA_XMLHTTP_PROGID = pickRecentProgID(["Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"], [["XMLHTTP", 4]]);
-    _SARISSA_THREADEDDOM_PROGID = pickRecentProgID(["Msxml2.FreeThreadedDOMDocument.5.0", "MSXML2.FreeThreadedDOMDocument.4.0", "MSXML2.FreeThreadedDOMDocument.3.0"]);
-    _SARISSA_XSLTEMPLATE_PROGID = pickRecentProgID(["Msxml2.XSLTemplate.5.0", "Msxml2.XSLTemplate.4.0", "MSXML2.XSLTemplate.3.0"], [["XSLTPROC", 2]]);
+    _SARISSA_DOM_PROGID = null;
+    _SARISSA_THREADEDDOM_PROGID = null;
+    _SARISSA_XSLTEMPLATE_PROGID = null;
+    _SARISSA_XMLHTTP_PROGID = null;
+    if(!window.XMLHttpRequest){
+        /**
+         * Emulate XMLHttpRequest
+         * @constructor
+         */
+        XMLHttpRequest = function() {
+            if(!_SARISSA_XMLHTTP_PROGID){
+                _SARISSA_XMLHTTP_PROGID = Sarissa.pickRecentProgID(["Msxml2.XMLHTTP.6.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]);
+            };
+            return new ActiveXObject(_SARISSA_XMLHTTP_PROGID);
+        };
+    };
     // we dont need this anymore
-    pickRecentProgID = null;
     //============================================
     // Factory methods (IE)
     //============================================
     // see non-IE version
     Sarissa.getDomDocument = function(sUri, sName){
+        if(!_SARISSA_DOM_PROGID){
+            _SARISSA_DOM_PROGID = Sarissa.pickRecentProgID(["Msxml2.DOMDocument.6.0", "Msxml2.DOMDocument.3.0", "MSXML2.DOMDocument", "MSXML.DOMDocument", "Microsoft.XMLDOM"]);
+        };
         var oDoc = new ActiveXObject(_SARISSA_DOM_PROGID);
-        // if a root tag name was provided, we need to load it in the DOM
-        // object
+        // if a root tag name was provided, we need to load it in the DOM object
         if (sName){
-            // if needed, create an artifical namespace prefix the way Moz
-            // does
-            if (sUri){
-                oDoc.loadXML("<a" + _sarissa_iNsCounter + ":" + sName + " xmlns:a" + _sarissa_iNsCounter + "=\"" + sUri + "\" />");
-                // don't use the same prefix again
-                ++_sarissa_iNsCounter;
-            }
-            else
-                oDoc.loadXML("<" + sName + "/>");
+            // create an artifical namespace prefix 
+            // or reuse existing prefix if applicable
+            var prefix = "";
+            if(sUri){
+                if(sName.indexOf(":") > 1){
+                    prefix = sName.substring(0, sName.indexOf(":"));
+                    sName = sName.substring(sName.indexOf(":")+1); 
+                }else{
+                    prefix = "a" + (_sarissa_iNsCounter++);
+                };
+            };
+            // use namespaces if a namespace URI exists
+            if(sUri){
+                oDoc.loadXML('<' + prefix+':'+sName + " xmlns:" + prefix + "=\"" + sUri + "\"" + " />");
+            } else {
+                oDoc.loadXML('<' + sName + " />");
+            };
         };
         return oDoc;
     };
@@ -128,7 +136,7 @@
     // see non-IE version   
     Sarissa.getParseErrorText = function (oDoc) {
         var parseErrorText = Sarissa.PARSED_OK;
-        if(oDoc.parseError != 0){
+        if(oDoc.parseError.errorCode != 0){
             parseErrorText = "XML Parsing Error: " + oDoc.parseError.reason + 
                 "\nLocation: " + oDoc.parseError.url + 
                 "\nLine Number " + oDoc.parseError.line + ", Column " + 
@@ -139,6 +147,9 @@
                 parseErrorText += "-";
             };
             parseErrorText +=  "^\n";
+        }
+        else if(oDoc.documentElement == null){
+            parseErrorText = Sarissa.PARSED_EMPTY;
         };
         return parseErrorText;
     };
@@ -153,34 +164,109 @@
      * @constructor
      */
     XSLTProcessor = function(){
+        if(!_SARISSA_XSLTEMPLATE_PROGID){
+            _SARISSA_XSLTEMPLATE_PROGID = Sarissa.pickRecentProgID(["Msxml2.XSLTemplate.6.0", "MSXML2.XSLTemplate.3.0"]);
+        };
         this.template = new ActiveXObject(_SARISSA_XSLTEMPLATE_PROGID);
         this.processor = null;
     };
     /**
-     * Impoprts the given XSLT DOM and compiles it to a reusable transform
+     * Imports the given XSLT DOM and compiles it to a reusable transform
+     * <b>Note:</b> If the stylesheet was loaded from a URL and contains xsl:import or xsl:include elements,it will be reloaded to resolve those
      * @argument xslDoc The XSLT DOMDocument to import
      */
     XSLTProcessor.prototype.importStylesheet = function(xslDoc){
+        if(!_SARISSA_THREADEDDOM_PROGID){
+            _SARISSA_THREADEDDOM_PROGID = Sarissa.pickRecentProgID(["MSXML2.FreeThreadedDOMDocument.6.0", "MSXML2.FreeThreadedDOMDocument.3.0"]);
+        };
+        xslDoc.setProperty("SelectionLanguage", "XPath");
+        xslDoc.setProperty("SelectionNamespaces", "xmlns:xsl='http://www.w3.org/1999/XSL/Transform'");
         // convert stylesheet to free threaded
-        var converted = new ActiveXObject(_SARISSA_THREADEDDOM_PROGID); 
-        converted.loadXML(xslDoc.xml);
+        var converted = new ActiveXObject(_SARISSA_THREADEDDOM_PROGID);
+        // make included/imported stylesheets work if exist and xsl was originally loaded from url
+        if(xslDoc.url && xslDoc.selectSingleNode("//xsl:*[local-name() = 'import' or local-name() = 'include']") != null){
+            converted.async = false;
+            if (_SARISSA_THREADEDDOM_PROGID == "MSXML2.FreeThreadedDOMDocument.6.0") { 
+                converted.setProperty("AllowDocumentFunction", true); 
+                converted.resolveExternals = true; 
+            }
+            converted.load(xslDoc.url);
+        } else {
+            converted.loadXML(xslDoc.xml);
+        };
+        converted.setProperty("SelectionNamespaces", "xmlns:xsl='http://www.w3.org/1999/XSL/Transform'");
+        var output = converted.selectSingleNode("//xsl:output");
+        this.outputMethod = output ? output.getAttribute("method") : "html";
         this.template.stylesheet = converted;
         this.processor = this.template.createProcessor();
-        // (re)set default param values
+        // for getParameter and clearParameters
         this.paramsSet = new Array();
     };
+
     /**
-     * Transform the given XML DOM
+     * Transform the given XML DOM and return the transformation result as a new DOM document
      * @argument sourceDoc The XML DOMDocument to transform
      * @return The transformation result as a DOM Document
      */
     XSLTProcessor.prototype.transformToDocument = function(sourceDoc){
+        // fix for bug 1549749
+        if(_SARISSA_THREADEDDOM_PROGID){
+            this.processor.input=sourceDoc;
+            var outDoc=new ActiveXObject(_SARISSA_DOM_PROGID);
+            this.processor.output=outDoc;
+            this.processor.transform();
+            return outDoc;
+        }
+        else{
+            if(!_SARISSA_DOM_XMLWRITER){
+                _SARISSA_DOM_XMLWRITER = Sarissa.pickRecentProgID(["Msxml2.MXXMLWriter.6.0", "Msxml2.MXXMLWriter.3.0", "MSXML2.MXXMLWriter", "MSXML.MXXMLWriter", "Microsoft.XMLDOM"]);
+            };
+            this.processor.input = sourceDoc;
+            var outDoc = new ActiveXObject(_SARISSA_DOM_XMLWRITER);
+            this.processor.output = outDoc; 
+            this.processor.transform();
+            var oDoc = new ActiveXObject(_SARISSA_DOM_PROGID);
+            oDoc.loadXML(outDoc.output+"");
+            return oDoc;
+        };
+    };
+    
+    /**
+     * Transform the given XML DOM and return the transformation result as a new DOM fragment.
+     * <b>Note</b>: The xsl:output method must match the nature of the owner document (XML/HTML).
+     * @argument sourceDoc The XML DOMDocument to transform
+     * @argument ownerDoc The owner of the result fragment
+     * @return The transformation result as a DOM Document
+     */
+    XSLTProcessor.prototype.transformToFragment = function (sourceDoc, ownerDoc) {
         this.processor.input = sourceDoc;
-        var outDoc = new ActiveXObject(_SARISSA_DOM_PROGID);
-        this.processor.output = outDoc; 
         this.processor.transform();
-        return outDoc;
+        var s = this.processor.output;
+        var f = ownerDoc.createDocumentFragment();
+        if (this.outputMethod == 'text') {
+            f.appendChild(ownerDoc.createTextNode(s));
+        } else if (ownerDoc.body && ownerDoc.body.innerHTML) {
+            var container = ownerDoc.createElement('div');
+            container.innerHTML = s;
+            while (container.hasChildNodes()) {
+                f.appendChild(container.firstChild);
+            }
+        }
+        else {
+            var oDoc = new ActiveXObject(_SARISSA_DOM_PROGID);
+            if (s.substring(0, 5) == '<?xml') {
+                s = s.substring(s.indexOf('?>') + 2);
+            }
+            var xml = ''.concat('<my>', s, '</my>');
+            oDoc.loadXML(xml);
+            var container = oDoc.documentElement;
+            while (container.hasChildNodes()) {
+                f.appendChild(container.firstChild);
+            }
+        }
+        return f;
     };
+    
     /**
      * Set global XSLT parameter of the imported stylesheet
      * @argument nsURI The parameter namespace URI
@@ -188,13 +274,13 @@
      * @argument value The new parameter value
      */
     XSLTProcessor.prototype.setParameter = function(nsURI, name, value){
-        /* nsURI is optional but cannot be null */
+        // nsURI is optional but cannot be null 
         if(nsURI){
             this.processor.addParameter(name, value, nsURI);
         }else{
             this.processor.addParameter(name, value);
         };
-        /* update updated params for getParameter */
+        // update updated params for getParameter 
         if(!this.paramsSet[""+nsURI]){
             this.paramsSet[""+nsURI] = new Array();
         };
@@ -209,14 +295,28 @@
      */
     XSLTProcessor.prototype.getParameter = function(nsURI, name){
         nsURI = nsURI || "";
-        if(nsURI in this.paramsSet && name in this.paramsSet[nsURI]){
+        if(this.paramsSet[nsURI] && this.paramsSet[nsURI][name]){
             return this.paramsSet[nsURI][name];
         }else{
             return null;
         };
     };
-}
-else{ /* end IE initialization, try to deal with real browsers now ;-) */
+    /**
+     * Clear parameters (set them to default values as defined in the stylesheet itself)
+     */
+    XSLTProcessor.prototype.clearParameters = function(){
+        for(var nsURI in this.paramsSet){
+            for(var name in this.paramsSet[nsURI]){
+                if(nsURI){
+                    this.processor.addParameter(name, null, nsURI);
+                }else{
+                    this.processor.addParameter(name, null);
+                };
+            };
+        };
+        this.paramsSet = new Array();
+    };
+}else{ /* end IE initialization, try to deal with real browsers now ;-) */
     if(_SARISSA_HAS_DOM_CREATE_DOCUMENT){
         /**
          * <p>Ensures the document was loaded correctly, otherwise sets the
@@ -224,8 +324,6 @@
          * @private
          */
         Sarissa.__handleLoad__ = function(oDoc){
-            if (!oDoc.documentElement || oDoc.documentElement.tagName == "parsererror")
-                oDoc.parseError = -1;
             Sarissa.__setReadyState__(oDoc, 4);
         };
         /**
@@ -245,118 +343,57 @@
          */
         Sarissa.__setReadyState__ = function(oDoc, iReadyState){
             oDoc.readyState = iReadyState;
+            oDoc.readystate = iReadyState;
             if (oDoc.onreadystatechange != null && typeof oDoc.onreadystatechange == "function")
                 oDoc.onreadystatechange();
         };
         Sarissa.getDomDocument = function(sUri, sName){
-            var oDoc = document.implementation.createDocument(sUri?sUri:"", sName?sName:"", null);
+            var oDoc = document.implementation.createDocument(sUri?sUri:null, sName?sName:null, null);
+            if(!oDoc.onreadystatechange){
+            
+                /**
+                * <p>Emulate IE's onreadystatechange attribute</p>
+                */
+                oDoc.onreadystatechange = null;
+            };
+            if(!oDoc.readyState){
+                /**
+                * <p>Emulates IE's readyState property, which always gives an integer from 0 to 4:</p>
+                * <ul><li>1 == LOADING,</li>
+                * <li>2 == LOADED,</li>
+                * <li>3 == INTERACTIVE,</li>
+                * <li>4 == COMPLETED</li></ul>
+                */
+                oDoc.readyState = 0;
+            };
             oDoc.addEventListener("load", _sarissa_XMLDocument_onload, false);
             return oDoc;
         };
         if(window.XMLDocument){
+            // do nothing
+        }// TODO: check if the new document has content before trying to copynodes, check  for error handling in DOM 3 LS
+        else if(_SARISSA_HAS_DOM_FEATURE && window.Document && !Document.prototype.load && document.implementation.hasFeature('LS', '3.0')){
+            //Opera 9 may get the XPath branch which gives creates XMLDocument, therefore it doesn't reach here which is good
             /**
-            * <p>Emulate IE's onreadystatechange attribute</p>
+            * <p>Factory method to obtain a new DOM Document object</p>
+            * @argument sUri the namespace of the root node (if any)
+            * @argument sUri the local name of the root node (if any)
+            * @returns a new DOM Document
             */
-            XMLDocument.prototype.onreadystatechange = null;
-            /**
-            * <p>Emulates IE's readyState property, which always gives an integer from 0 to 4:</p>
-            * <ul><li>1 == LOADING,</li>
-            * <li>2 == LOADED,</li>
-            * <li>3 == INTERACTIVE,</li>
-            * <li>4 == COMPLETED</li></ul>
-            */
-            XMLDocument.prototype.readyState = 0;
-            /**
-            * <p>Emulate IE's parseError attribute</p>
-            */
-            XMLDocument.prototype.parseError = 0;
-
-            // NOTE: setting async to false will only work with documents
-            // called over HTTP (meaning a server), not the local file system,
-            // unless you are using Moz 1.4+.
-            // BTW the try>catch block is for 1.4; I haven't found a way to check if
-            // the property is implemented without
-            // causing an error and I dont want to use user agent stuff for that...
-            var _SARISSA_SYNC_NON_IMPLEMENTED = false;// ("async" in XMLDocument.prototype) ? false: true;
-            /**
-            * <p>Keeps a handle to the original load() method. Internal use and only
-            * if Mozilla version is lower than 1.4</p>
-            * @private
-            */
-            XMLDocument.prototype._sarissa_load = XMLDocument.prototype.load;
-
-            /**
-            * <p>Overrides the original load method to provide synchronous loading for
-            * Mozilla versions prior to 1.4, using an XMLHttpRequest object (if
-            * async is set to false)</p>
-            * @returns the DOM Object as it was before the load() call (may be  empty)
-            */
-            XMLDocument.prototype.load = function(sURI) {
-                var oDoc = document.implementation.createDocument("", "", null);
-                Sarissa.copyChildNodes(this, oDoc);
-                this.parseError = 0;
-                Sarissa.__setReadyState__(this, 1);
-                try {
-                    if(this.async == false && _SARISSA_SYNC_NON_IMPLEMENTED) {
-                        var tmp = new XMLHttpRequest();
-                        tmp.open("GET", sURI, false);
-                        tmp.send(null);
-                        Sarissa.__setReadyState__(this, 2);
-                        Sarissa.copyChildNodes(tmp.responseXML, this);
-                        Sarissa.__setReadyState__(this, 3);
-                    }
-                    else {
-                        this._sarissa_load(sURI);
-                    };
-                }
-                catch (objException) {
-                    this.parseError = -1;
-                }
-                finally {
-                    if(this.async == false){
-                        Sarissa.__handleLoad__(this);
-                    };
-                };
+            Sarissa.getDomDocument = function(sUri, sName){
+                var oDoc = document.implementation.createDocument(sUri?sUri:null, sName?sName:null, null);
                 return oDoc;
             };
-            
-            
-        }//if(window.XMLDocument)
-        else if(document.implementation && document.implementation.hasFeature && document.implementation.hasFeature('LS', '3.0')){
-            Document.prototype.async = true;
-            Document.prototype.onreadystatechange = null;
-            Document.prototype.parseError = 0;
-            Document.prototype.load = function(sURI) {
-                var parser = document.implementation.createLSParser(this.async ? document.implementation.MODE_ASYNCHRONOUS : document.implementation.MODE_SYNCHRONOUS, null);
-                if(this.async){
-                    var self = this;
-                    parser.addEventListener("load", 
-                        function(e) { 
-                            self.readyState = 4;
-                            Sarissa.copyChildNodes(e.newDocument, self.documentElement, false);
-                            self.onreadystatechange.call(); 
-                        }, 
-                        false); 
+        }
+        else {
+            Sarissa.getDomDocument = function(sUri, sName){
+                var oDoc = document.implementation.createDocument(sUri?sUri:null, sName?sName:null, null);
+                // looks like safari does not create the root element for some unknown reason
+                if(oDoc && (sUri || sName) && !oDoc.documentElement){
+                    oDoc.appendChild(oDoc.createElementNS(sUri, sName));
                 };
-                try {
-                    var oDoc = parser.parseURI(sURI);
-                }
-                catch(e){
-                    this.parseError = -1;
-                };
-                if(!this.async)
-                   Sarissa.copyChildNodes(oDoc, this.documentElement, false);
                 return oDoc;
             };
-            /**
-            * <p>Factory method to obtain a new DOM Document object</p>
-            * @argument sUri the namespace of the root node (if any)
-            * @argument sUri the local name of the root node (if any)
-            * @returns a new DOM Document
-            */
-            Sarissa.getDomDocument = function(sUri, sName){
-                return document.implementation.createDocument(sUri?sUri:"", sName?sName:"", null);
-            };        
         };
     };//if(_SARISSA_HAS_DOM_CREATE_DOCUMENT)
 };
@@ -364,13 +401,12 @@
 // Common stuff
 //==========================================
 if(!window.DOMParser){
-    /*
-    * DOMParser is a utility class, used to construct DOMDocuments from XML strings
-    * @constructor
-    */
-    DOMParser = function() {
-    };
     if(_SARISSA_IS_SAFARI){
+        /*
+         * DOMParser is a utility class, used to construct DOMDocuments from XML strings
+         * @constructor
+         */
+        DOMParser = function() { };
         /** 
         * Construct a new DOM Document from the given XMLstring
         * @param sXml the given XML string
@@ -378,15 +414,13 @@
         * @return a new DOM Document from the given XML string
         */
         DOMParser.prototype.parseFromString = function(sXml, contentType){
-            if(contentType.toLowerCase() != "application/xml"){
-                throw "Cannot handle content type: \"" + contentType + "\"";
-            };
             var xmlhttp = new XMLHttpRequest();
-            xmlhttp.open("GET", "data:text/xml;charset=utf-8," + encodeURIComponent(str), false);
+            xmlhttp.open("GET", "data:text/xml;charset=utf-8," + encodeURIComponent(sXml), false);
             xmlhttp.send(null);
             return xmlhttp.responseXML;
         };
-    }else if(Sarissa.getDomDocument && Sarissa.getDomDocument() && "loadXML" in Sarissa.getDomDocument()){
+    }else if(Sarissa.getDomDocument && Sarissa.getDomDocument() && Sarissa.getDomDocument(null, "bar").xml){
+        DOMParser = function() { };
         DOMParser.prototype.parseFromString = function(sXml, contentType){
             var doc = Sarissa.getDomDocument();
             doc.loadXML(sXml);
@@ -395,40 +429,36 @@
     };
 };
 
-if(window.XMLHttpRequest){
-    Sarissa.IS_ENABLED_XMLHTTP = true;
-}
-else if(_SARISSA_IS_IE){
-    /**
-     * Emulate XMLHttpRequest
-     * @constructor
-     */
-    XMLHttpRequest = function() {
-        return new ActiveXObject(_SARISSA_XMLHTTP_PROGID);
-    };
-    Sarissa.IS_ENABLED_XMLHTTP = true;
-};
-
-if(!window.document.importNode && _SARISSA_IS_IE){
+if((typeof(document.importNode) == "undefined") && _SARISSA_IS_IE){
     try{
         /**
-        * Implements importNode for the current window document in IE using innerHTML.
-        * Testing showed that DOM was multiple times slower than innerHTML for this,
-        * sorry folks. If you encounter trouble (who knows what IE does behind innerHTML)
-        * please gimme a call.
+        * Implementation of importNode for the context window document in IE
         * @param oNode the Node to import
         * @param bChildren whether to include the children of oNode
         * @returns the imported node for further use
         */
-        window.document.importNode = function(oNode, bChildren){
-            var importNode = document.createElement("div");
-            if(bChildren)
-                importNode.innerHTML = Sarissa.serialize(oNode);
-            else
-                importNode.innerHTML = Sarissa.serialize(oNode.cloneNode(false));
-            return importNode.firstChild;
+        document.importNode = function(oNode, bChildren){
+            var tmp;
+            if(oNode.nodeName == "tbody" || oNode.nodeName == "tr"){
+                tmp = document.createElement("table");
+            }
+            else if(oNode.nodeName == "td"){
+                tmp = document.createElement("tr");
+            }
+            else if(oNode.nodeName == "option"){
+                tmp = document.createElement("select");
+            }
+            else{
+                tmp = document.createElement("div");
+            };
+            if(bChildren){
+                tmp.innerHTML = oNode.xml ? oNode.xml : oNode.outerHTML;
+            }else{
+                tmp.innerHTML = oNode.xml ? oNode.cloneNode(false).xml : oNode.cloneNode(false).outerHTML;
+            };
+            return tmp.getElementsByTagName("*")[0];
         };
-        }catch(e){};
+    }catch(e){ };
 };
 if(!Sarissa.getParseErrorText){
     /**
@@ -442,17 +472,16 @@
      */
     Sarissa.getParseErrorText = function (oDoc){
         var parseErrorText = Sarissa.PARSED_OK;
-        if(oDoc && oDoc.parseError && oDoc.parseError != 0){
-            /*moz*/
-            if(oDoc.documentElement.tagName == "parsererror"){
-                parseErrorText = oDoc.documentElement.firstChild.data;
-                parseErrorText += "\n" +  oDoc.documentElement.firstChild.nextSibling.firstChild.data;
-            }/*konq*/
-            else{
-                parseErrorText = Sarissa.getText(oDoc.documentElement);/*.getElementsByTagName("h1")[0], false) + "\n";
-                parseErrorText += Sarissa.getText(oDoc.documentElement.getElementsByTagName("body")[0], false) + "\n";
-                parseErrorText += Sarissa.getText(oDoc.documentElement.getElementsByTagName("pre")[0], false);*/
-            };
+        if(!oDoc.documentElement){
+            parseErrorText = Sarissa.PARSED_EMPTY;
+        } else if(oDoc.documentElement.tagName == "parsererror"){
+            parseErrorText = oDoc.documentElement.firstChild.data;
+            parseErrorText += "\n" +  oDoc.documentElement.firstChild.nextSibling.firstChild.data;
+        } else if(oDoc.getElementsByTagName("parsererror").length > 0){
+            var parsererror = oDoc.getElementsByTagName("parsererror")[0];
+            parseErrorText = Sarissa.getText(parsererror, true)+"\n";
+        } else if(oDoc.parseError && oDoc.parseError.errorCode != 0){
+            parseErrorText = Sarissa.PARSED_UNKNOWN_ERROR;
         };
         return parseErrorText;
     };
@@ -465,7 +494,7 @@
         var nodeType = node.nodeType;
         if(nodeType == Node.TEXT_NODE || nodeType == Node.CDATA_SECTION_NODE){
             s += node.data;
-        }else if(deep == true
+        } else if(deep == true
                     && (nodeType == Node.ELEMENT_NODE
                         || nodeType == Node.DOCUMENT_NODE
                         || nodeType == Node.DOCUMENT_FRAGMENT_NODE)){
@@ -474,41 +503,21 @@
     };
     return s;
 };
-if(window.XMLSerializer){
+if(!window.XMLSerializer 
+    && Sarissa.getDomDocument 
+    && Sarissa.getDomDocument("","foo", null).xml){
     /**
-     * <p>Factory method to obtain the serialization of a DOM Node</p>
-     * @returns the serialized Node as an XML string
+     * Utility class to serialize DOM Node objects to XML strings
+     * @constructor
      */
-    Sarissa.serialize = function(oDoc){
-        var s = null;
-        if(oDoc){
-            s = oDoc.innerHTML?oDoc.innerHTML:(new XMLSerializer()).serializeToString(oDoc);
-        };
-        return s;
+    XMLSerializer = function(){};
+    /**
+     * Serialize the given DOM Node to an XML string
+     * @param oNode the DOM Node to serialize
+     */
+    XMLSerializer.prototype.serializeToString = function(oNode) {
+        return oNode.xml;
     };
-}else{
-    if(Sarissa.getDomDocument && (Sarissa.getDomDocument("","foo", null)).xml){
-        // see non-IE version
-        Sarissa.serialize = function(oDoc) {
-            var s = null;
-            if(oDoc){
-                s = oDoc.innerHTML?oDoc.innerHTML:oDoc.xml;
-            };
-            return s;
-        };
-        /**
-         * Utility class to serialize DOM Node objects to XML strings
-         * @constructor
-         */
-        XMLSerializer = function(){};
-        /**
-         * Serialize the given DOM Node to an XML string
-         * @param oNode the DOM Node to serialize
-         */
-        XMLSerializer.prototype.serializeToString = function(oNode) {
-            return oNode.xml;
-        };
-    };
 };
 
 /**
@@ -523,7 +532,7 @@
  */
 Sarissa.clearChildNodes = function(oNode) {
     // need to check for firstChild due to opera 8 bug with hasChildNodes
-    while(oNode.firstChild){
+    while(oNode.firstChild) {
         oNode.removeChild(oNode.firstChild);
     };
 };
@@ -544,12 +553,11 @@
     };
     var ownerDoc = nodeTo.nodeType == Node.DOCUMENT_NODE ? nodeTo : nodeTo.ownerDocument;
     var nodes = nodeFrom.childNodes;
-    if(ownerDoc.importNode && (!_SARISSA_IS_IE)) {
+    if(typeof(ownerDoc.importNode) != "undefined")  {
         for(var i=0;i < nodes.length;i++) {
             nodeTo.appendChild(ownerDoc.importNode(nodes[i], true));
         };
-    }
-    else{
+    } else {
         for(var i=0;i < nodes.length;i++) {
             nodeTo.appendChild(nodes[i].cloneNode(true));
         };
@@ -577,9 +585,9 @@
         while(nodeFrom.firstChild){
             nodeTo.appendChild(nodeFrom.firstChild);
         };
-    }else{
+    } else {
         var ownerDoc = nodeTo.nodeType == Node.DOCUMENT_NODE ? nodeTo : nodeTo.ownerDocument;
-        if(ownerDoc.importNode && (!_SARISSA_IS_IE)) {
+        if(typeof(ownerDoc.importNode) != "undefined") {
            for(var i=0;i < nodes.length;i++) {
                nodeTo.appendChild(ownerDoc.importNode(nodes[i], true));
            };
Index: lib/spatial/mapbuilder/lib/tool/xsl/wps_DescribeProcess.xsl
===================================================================
--- lib/spatial/mapbuilder/lib/tool/xsl/wps_DescribeProcess.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/lib/tool/xsl/wps_DescribeProcess.xsl	(revision 4307)
@@ -1,55 +1,6 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!--
-Description: transforms a WFS FeatureType node to a DescribeFeatureType request
-Author:      adair
-Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
-
-$Id$
-$Name$
--->
-
-<xsl:stylesheet version="1.0" 
-    xmlns:wps="http://www.opengis.net/wps"
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-		xmlns:ogc="http://www.opengis.net/ogc"
-    xmlns:ows="http://www.opengis.net/ows"
-    xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" 
-		xmlns:gml="http://www.opengis.net/gml"
-    xmlns:xlink="http://www.w3.org/1999/xlink">
-
-  <xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8" indent="yes"/>
-
-  <xsl:param name="httpMethod">get</xsl:param>
-  <xsl:param name="version"/>
-  
-  <!-- template rule matching source root element -->
-  <xsl:template match="/wps:Capabilities/wps:ProcessOfferings">
-    <DescribeProcess version="{$version}" service="WPS">
-      <xsl:apply-templates select="wps:Process"/>
-    </DescribeProcess>
-  </xsl:template>
-
-  <!-- template rule matching source root element -->
-  <xsl:template match="wps:Process">
-    <xsl:choose>
-      <xsl:when test="$httpMethod='post'">
-        <ProcessName><xsl:value-of select="wps:Name"/></ProcessName>
-      </xsl:when>
-      <xsl:otherwise>
-        <mb:QueryString>
-          <xsl:variable name="query">
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:wps="http://www.opengis.net/wps" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"><xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/><xsl:param name="httpMethod">get</xsl:param><xsl:param name="version"/><xsl:template match="/wps:Capabilities/wps:ProcessOfferings"><DescribeProcess version="{$version}" service="WPS"><xsl:apply-templates select="wps:Process"/></DescribeProcess></xsl:template><xsl:template match="wps:Process"><xsl:choose><xsl:when test="$httpMethod='post'"><ProcessName><xsl:value-of select="wps:Name"/></ProcessName></xsl:when><xsl:otherwise><mb:QueryString><xsl:variable name="query">
       request=DescribeProcess
  &amp;service=WPS
  &amp;version=<xsl:value-of select="$version"/>
-&amp;ProcessName=<xsl:value-of select="wps:Name"/>
-          </xsl:variable>
-          <xsl:value-of select="translate(normalize-space($query),' ', '' )" disable-output-escaping="no"/>
-        </mb:QueryString>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-  <xsl:template match="text()|@*"/>
-
-</xsl:stylesheet>
+&amp;ProcessName=<xsl:value-of select="wps:Name"/></xsl:variable><xsl:value-of select="translate(normalize-space($query),' ', '' )" disable-output-escaping="no"/></mb:QueryString></xsl:otherwise></xsl:choose></xsl:template><xsl:template match="text()|@*"/></xsl:stylesheet>
Index: lib/spatial/mapbuilder/lib/util/Listener.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/Listener.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/util/Listener.js	(revision 4307)
@@ -1,6 +1,6 @@
 /*
 License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
-$Id$
+$Id: Listener.js 3835 2008-02-13 02:20:23Z ahocevar $
 */
 
 /**
@@ -40,6 +40,9 @@
     //  }
     //}
     this.listeners[param].push(new Array(listener,target));
+    if( !listener ) {
+       alert(mbGetMessage("undefinedListener", target.id));
+    }
   }
 
   /**
@@ -56,6 +59,9 @@
     }
     this.removeListener(param,listener,target);
     this.listeners[param].unshift(new Array(listener,target));
+    if( !listener ) {
+       alert(mbGetMessage("undefinedListener", target));
+    }
   }
 
   /**
@@ -94,7 +100,7 @@
         if (this.listeners[param][i][0]) {
           this.listeners[param][i][0](this.listeners[param][i][1],value);
         } else {
-          alert("Listener error: param="+param+", target="+this.listeners[param][i][1].id+", callBackFunction="+this.listeners[param][i][0]);
+          alert(mbGetMessage("listenerError", param, this.listeners[param][i][1].id, this.listeners[param][i][0]));
         }
       }
     }
Index: lib/spatial/mapbuilder/lib/util/sarissa/sarissa_ieemu_load.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/sarissa/sarissa_ieemu_load.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/sarissa/sarissa_ieemu_load.js	(revision 4307)
@@ -0,0 +1,236 @@
+/**
+ * ====================================================================
+ * About
+ * ====================================================================
+ * Sarissa cross browser XML library - IE .load eulation (deprecated)
+ * @version 0.9.7.6
+ * @author: Manos Batsis, mailto: mbatsis at users full stop sourceforge full stop net
+ *
+ * This script emulates Internet Explorer's .load method of DOM Document objects. 
+ *
+ * All functionality in this file is DEPRECATED, XMLHttpRequest objects 
+ * should be used to load XML documents instead 
+ *
+ * @version 0.9.7.6
+ * @author: Manos Batsis, mailto: mbatsis at users full stop sourceforge full stop net
+ * ====================================================================
+ * Licence
+ * ====================================================================
+ * Sarissa is free software distributed under the GNU GPL version 2 (see <a href="gpl.txt">gpl.txt</a>) or higher, 
+ * GNU LGPL version 2.1 (see <a href="lgpl.txt">lgpl.txt</a>) or higher and Apache Software License 2.0 or higher 
+ * (see <a href="asl.txt">asl.txt</a>). This means you can choose one of the three and use that if you like. If 
+ * you make modifications under the ASL, i would appreciate it if you submitted those.
+ * In case your copy of Sarissa does not include the license texts, you may find
+ * them online in various formats at <a href="http://www.gnu.org">http://www.gnu.org</a> and 
+ * <a href="http://www.apache.org">http://www.apache.org</a>.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 
+ * KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 
+ * WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE 
+ * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+if(!_SARISSA_IS_IE){
+    if(_SARISSA_HAS_DOM_CREATE_DOCUMENT){
+        /**
+         * <p>Ensures the document was loaded correctly, otherwise sets the
+         * parseError to -1 to indicate something went wrong. Internal use</p>
+         * @private
+         */
+        Sarissa.__handleLoad__ = function(oDoc){
+            Sarissa.__setReadyState__(oDoc, 4);
+        };
+        function SarissaParseError() {
+            this.errorCode = 0;
+        };
+        /**
+        * <p>Attached by an event handler to the load event. Internal use.</p>
+        * @private
+        */
+        _sarissa_XMLDocument_onload = function(){
+            Sarissa.__handleLoad__(this);
+        };
+        /**
+         * <p>Sets the readyState property of the given DOM Document object.
+         * Internal use.</p>
+         * @private
+         * @argument oDoc the DOM Document object to fire the
+         *          readystatechange event
+         * @argument iReadyState the number to change the readystate property to
+         */
+        Sarissa.__setReadyState__ = function(oDoc, iReadyState){
+            oDoc.readyState = iReadyState;
+            oDoc.readystate = iReadyState;
+            if (oDoc.onreadystatechange != null && typeof oDoc.onreadystatechange == "function")
+                oDoc.onreadystatechange();
+        };
+        Sarissa.getDomDocument = function(sUri, sName){
+            
+            var oDoc = document.implementation.createDocument(sUri?sUri:null, sName?sName:null, null);
+            if(!oDoc.onreadystatechange){
+            
+                /**
+                * <p>Emulate IE's onreadystatechange attribute</p>
+                */
+                oDoc.onreadystatechange = null;
+            };
+            if(!oDoc.readyState){
+                /**
+                * <p>Emulates IE's readyState property, which always gives an integer from 0 to 4:</p>
+                * <ul><li>1 == LOADING,</li>
+                * <li>2 == LOADED,</li>
+                * <li>3 == INTERACTIVE,</li>
+                * <li>4 == COMPLETED</li></ul>
+                */
+                oDoc.readyState = 0;
+            };
+            if(!oDoc.parseError){
+                oDoc.parseError = new SarissaParseError();
+            };
+            oDoc.addEventListener("load", _sarissa_XMLDocument_onload, false);
+            return oDoc;
+        };
+        if(window.XMLDocument){
+            /**
+            * <p>Keeps a handle to the original load() method. Internal use and only
+            * if Mozilla version is lower than 1.4</p>
+            * @private
+            */
+            XMLDocument.prototype._sarissa_load = XMLDocument.prototype.load;
+            // NOTE: setting async to false will only work with documents
+            // called over HTTP (meaning a server), not the local file system,
+            // unless you are using Moz 1.4+.
+        
+            /**
+            * <p>This is deprecated, use XMLHttpRequest to load remote documents instead. 
+            * Overrides the original load method to provide synchronous loading for
+            * Mozilla versions prior to 1.4 and fix ready state stuff.</p>
+            * @deprecated 
+            * @returns the DOM Object as it was before the load() call (may be  empty)
+            */
+            XMLDocument.prototype.load = function(sURI) {
+                var oDoc = Sarissa.getDomDocument();
+                Sarissa.copyChildNodes(this, oDoc);
+                this.parseError.errorCode = 0;
+                Sarissa.__setReadyState__(this, 1);
+                try {
+                    if(this.async == false && _SARISSA_SYNC_NON_IMPLEMENTED) {
+                        var tmp = new XMLHttpRequest();
+                        tmp.open("GET", sURI, false);
+                        tmp.send(null);
+                        Sarissa.__setReadyState__(this, 2);
+                        Sarissa.copyChildNodes(tmp.responseXML, this);
+                        Sarissa.__setReadyState__(this, 3);
+                    }else{
+                        this._sarissa_load(sURI);
+                    };
+                }
+                catch (objException) {
+                        oDoc.parseError.errorCode = -1;
+                }
+                finally {
+                    if (!oDoc.documentElement || oDoc.documentElement.tagName == "parsererror"){
+                        oDoc.parseError.errorCode = -1;
+                    };
+                    if(this.async == false){
+                        Sarissa.__handleLoad__(this);
+                    };
+                };
+                return oDoc;
+            };
+        //if(window.XMLDocument) , now mainly for opera  
+        }// TODO: check if the new document has content before trying to copynodes, check  for error handling in DOM 3 LS
+        else if(document.implementation && document.implementation.hasFeature && document.implementation.hasFeature('LS', '3.0')){
+            Document.prototype.async = true;
+            Document.prototype.onreadystatechange = null;
+            Document.prototype.load = function(sURI) {
+                var oldDoc = Sarissa.getDomDocument();
+                Sarissa.copyChildNodes(this, oldDoc, false);
+                var parser = document.implementation.createLSParser(this.async ? document.implementation.MODE_ASYNCHRONOUS : document.implementation.MODE_SYNCHRONOUS, null);
+                if(this.async){
+                    var self = this;
+                    parser.addEventListener("load", 
+                        function(e) { 
+                              self.readyState = 4;
+                              Sarissa.copyChildNodes(e.newDocument, self, false);
+                              self.onreadystatechange.call(); 
+                        }, 
+                        false); 
+                };
+                try {
+                    var oDoc = parser.parseURI(sURI);
+                    if(!this.async) {
+                        Sarissa.copyChildNodes(oDoc, this, false);
+                    };
+                }
+                catch(e){
+                    this.parseError.errorCode = -1;
+                };
+                return oldDoc;
+            };
+            /**
+            * <p>Factory method to obtain a new DOM Document object</p>
+            * @argument sUri the namespace of the root node (if any)
+            * @argument sUri the local name of the root node (if any)
+            * @returns a new DOM Document
+            */
+            Sarissa.getDomDocument = function(sUri, sName){
+                var oDoc = document.implementation.createDocument(sUri?sUri:null, sName?sName:null, null);
+                if(!oDoc.parseError){
+                    oDoc.parseError = {errorCode:0};
+                };
+                return oDoc;
+            };
+        }
+        else {
+            Sarissa.getDomDocument = function(sUri, sName){
+                var oDoc = document.implementation.createDocument(sUri?sUri:null, sName?sName:null, null);
+                // looks like safari does not create the root element for some unknown reason
+                if(oDoc && (sUri || sName) && !oDoc.documentElement){
+                    oDoc.appendChild(oDoc.createElementNS(sUri, sName));
+                };
+                // attachb to the new object as we have no prototype to use, this is for safari
+                if(!oDoc.load) {
+                        oDoc.load = function(sUrl) {
+                            var oldDoc = document.implementation.createDocument();
+                            Sarissa.copyChildNodes(this, oldDoc);
+                            this.parseError = {errorCode : 0};
+                            Sarissa.__setReadyState__(this, 1);
+                            if(this.async == false) {
+                                var tmp = new XMLHttpRequest();
+                                tmp.open("GET", sUrl, false);
+                                tmp.send(null);
+                                Sarissa.__setReadyState__(this, 2);
+                                Sarissa.copyChildNodes(tmp.responseXML, oDoc);
+                                if(!oDoc.documentElement || oDoc.getElementsByTagName("parsererror").length >0){
+                                    oDoc.parseError.errorCode = -1;
+                                };
+                                Sarissa.__setReadyState__(this, 3);
+                                Sarissa.__setReadyState__(this, 4);
+                            }
+                            else {
+                                var xmlhttp = new XMLHttpRequest();
+                                xmlhttp.open('GET', sUrl, true);
+                                xmlhttp.onreadystatechange = function(){
+                                    if (xmlhttp.readyState == 4) {
+                                        Sarissa.copyChildNodes(xmlhttp.responseXML, oDoc);
+                                        if(!oDoc.documentElement || oDoc.getElementsByTagName("parsererror").length > 0){
+                                            oDoc.parseError.errorCode = -1;
+                                        };      
+                                    };
+                                Sarissa.__setReadyState__(oDoc, xmlhttp.readyState);
+                                };
+                                xmlhttp.send(null);
+                            };
+                            return oldDoc;
+                        };
+                };
+                return oDoc;
+            };
+        };
+    };//if(_SARISSA_HAS_DOM_CREATE_DOCUMENT)
+};
+//   EOF
Index: lib/spatial/mapbuilder/lib/util/sarissa/sarissa_ieemu_xslt.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/sarissa/sarissa_ieemu_xslt.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/util/sarissa/sarissa_ieemu_xslt.js	(revision 4307)
@@ -3,7 +3,7 @@
  * About
  * ====================================================================
  * Sarissa cross browser XML library - IE XSLT Emulation (deprecated)
- * @version 0.9.6.1
+ * @version 0.9.7.6
  * @author: Manos Batsis, mailto: mbatsis at users full stop sourceforge full stop net
  *
  * This script emulates Internet Explorer's transformNode and transformNodeToObject
@@ -12,25 +12,25 @@
  *
  * All functionality in this file is DEPRECATED, the XSLTProcessor
  * should be used instead.
- * 
+ *
  * ====================================================================
  * Licence
  * ====================================================================
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 or
- * the GNU Lesser General Public License version 2.1 as published by
- * the Free Software Foundation (your choice between the two).
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License or GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * or GNU Lesser General Public License along with this program; if not,
- * write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- * or visit http://www.gnu.org
- *
+ * Sarissa is free software distributed under the GNU GPL version 2 (see <a href="gpl.txt">gpl.txt</a>) or higher, 
+ * GNU LGPL version 2.1 (see <a href="lgpl.txt">lgpl.txt</a>) or higher and Apache Software License 2.0 or higher 
+ * (see <a href="asl.txt">asl.txt</a>). This means you can choose one of the three and use that if you like. If 
+ * you make modifications under the ASL, i would appreciate it if you submitted those.
+ * In case your copy of Sarissa does not include the license texts, you may find
+ * them online in various formats at <a href="http://www.gnu.org">http://www.gnu.org</a> and 
+ * <a href="http://www.apache.org">http://www.apache.org</a>.
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 
+ * KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 
+ * WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE 
+ * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 if(!Sarissa.IS_ENABLED_TRANSFORM_NODE && window.XSLTProcessor){
     /** 
@@ -42,7 +42,7 @@
      * @argument xslDoc The stylesheet to use (a DOM Document instance)
      * @argument oResult The Document to store the transformation result
      */
-    Element.prototype.transformNodeToObject = function(xslDoc, oResult){
+    XMLElement.prototype.transformNodeToObject = function(xslDoc, oResult){
         var oDoc = document.implementation.createDocument("", "", null);
         Sarissa.copyChildNodes(this, oDoc);
         oDoc.transformNodeToObject(xslDoc, oResult);
@@ -90,7 +90,7 @@
      * @argument xslDoc The stylesheet to use (a DOM Document instance)
      * @returns the result of the transformation serialized to an XML String
      */
-    Element.prototype.transformNode = function(xslDoc){
+    XMLElement.prototype.transformNode = function(xslDoc){
         var oDoc = document.implementation.createDocument("", "", null);
         Sarissa.copyChildNodes(this, oDoc);
         return oDoc.transformNode(xslDoc);
@@ -119,7 +119,7 @@
     Sarissa.IS_ENABLED_TRANSFORM_NODE = true;
 };
 /**
- * <p><b>Deprecated, will be removed in 0.9.6 (use XSLTProcessor instead): </b>Set xslt parameters.</p>
+ * <p>Deprecated (use XSLTProcessor instead): Set xslt parameters.</p>
  * <p><b>Note </b> that this method can only work for the main stylesheet and not any included/imported files.</p>
  * @deprecated use the XSLTProcessor instead
  * @argument oXslDoc the target XSLT DOM Document
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG27563.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG27563.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG27563.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:27563"]="+title=LAMB sud france  +proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=2.33722917 +k_0=0.999877499 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG102028.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG102028.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG102028.js	(revision 4307)
@@ -0,0 +1,11 @@
+//# Asia South Albers Equal Area Conic
+//<102028> +proj=aea +lat_1=7 +lat_2=-32 +lat_0=-15 +lon_0=125 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m  no_defs <>
+
+Proj4js.defs["EPSG:102028"] = "\
+  +title=Asia South Albers Equal Area Conic EPSG:102028\
+  +proj=aea \
+ +lat_1=7 +lat_2=-32 +lat_0=-15 +lon_0=125 \
+  +x_0=0 +y_0=0 \
+  +ellps=WGS84 +datum=WGS84\
+  +units=m\
+";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32620.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32620.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32620.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:32620"] = "+proj=utm +zone=20 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31282.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31282.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31282.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:31282"] = "+title=MGI (Ferro) / Austria Central Zone EPSG:31282 +proj=tmerc +lat_0=0 +lon_0=31 +k=1.000000 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32705.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32705.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32705.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:32705"] = "+proj=utm +zone=5 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31294.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31294.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31294.js	(revision 4307)
@@ -0,0 +1,3 @@
+//# MGI / M28
+//<31294> +proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1.000000 +x_0=150000 +y_0=0 +ellps=bessel +units=m +no_defs  <>
+Proj4js.defs["EPSG:31294"] = "+title=MGI / M31 EPSG:31294 +proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1.000000 +x_0=150000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m";
Index: lib/spatial/mapbuilder/lib/util/sarissa/sarissa_ieemu_xpath.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/sarissa/sarissa_ieemu_xpath.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/util/sarissa/sarissa_ieemu_xpath.js	(revision 4307)
@@ -3,7 +3,7 @@
  * About
  * ====================================================================
  * Sarissa cross browser XML library - IE XPath Emulation 
- * @version 0.9.6.1
+ * @version 0.9.7.6
  * @author: Manos Batsis, mailto: mbatsis at users full stop sourceforge full stop net
  *
  * This script emulates Internet Explorer's selectNodes and selectSingleNode
@@ -11,30 +11,28 @@
  * is easy with IE's setProperty. 
  * USers may also map a namespace prefix to a default (unprefixed) namespace in the
  * source document with Sarissa.setXpathNamespaces
- * 
  *
+ *
  * ====================================================================
  * Licence
  * ====================================================================
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 or
- * the GNU Lesser General Public License version 2.1 as published by
- * the Free Software Foundation (your choice between the two).
+ * Sarissa is free software distributed under the GNU GPL version 2 (see <a href="gpl.txt">gpl.txt</a>) or higher, 
+ * GNU LGPL version 2.1 (see <a href="lgpl.txt">lgpl.txt</a>) or higher and Apache Software License 2.0 or higher 
+ * (see <a href="asl.txt">asl.txt</a>). This means you can choose one of the three and use that if you like. If 
+ * you make modifications under the ASL, i would appreciate it if you submitted those.
+ * In case your copy of Sarissa does not include the license texts, you may find
+ * them online in various formats at <a href="http://www.gnu.org">http://www.gnu.org</a> and 
+ * <a href="http://www.apache.org">http://www.apache.org</a>.
  *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License or GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * or GNU Lesser General Public License along with this program; if not,
- * write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- * or visit http://www.gnu.org
- *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 
+ * KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 
+ * WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE 
+ * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
- var _SARISSA_HAS_DOM_IMPLEMENTATION = document.implementation && true;
- var _SARISSA_HAS_DOM_FEATURE = _SARISSA_HAS_DOM_IMPLEMENTATION && document.implementation.hasFeature;
- 
 if(_SARISSA_HAS_DOM_FEATURE && document.implementation.hasFeature("XPath", "3.0")){
     /**
     * <p>SarissaNodeList behaves as a NodeList but is only used as a result to <code>selectNodes</code>,
@@ -69,7 +67,9 @@
     */
     SarissaNodeList.prototype.expr = "";
     /** dummy, used to accept IE's stuff without throwing errors */
-    XMLDocument.prototype.setProperty  = function(x,y){};
+    if(window.XMLDocument && (!XMLDocument.prototype.setProperty)){
+        XMLDocument.prototype.setProperty  = function(x,y){};
+    };
     /**
     * <p>Programmatically control namespace URI/prefix mappings for XPath
     * queries.</p>
@@ -103,7 +103,7 @@
             var ns = namespaces[i];
             var colonPos = ns.indexOf(":");
             var assignPos = ns.indexOf("=");
-            if(colonPos == 5 && assignPos > colonPos+2){
+            if(colonPos > 0 && assignPos > colonPos+1){
                 var prefix = ns.substring(colonPos+1, assignPos);
                 var uri = ns.substring(assignPos+2, ns.length-1);
                 oDoc._sarissa_xpathNamespaces[prefix] = uri;
@@ -127,7 +127,7 @@
     * @returns the result of the XPath search as a SarissaNodeList
     * @throws An error if no namespace URI is found for the given prefix.
     */
-    XMLDocument.prototype.selectNodes = function(sExpr, contextNode){
+    XMLDocument.prototype.selectNodes = function(sExpr, contextNode, returnSingle){
         var nsDoc = this;
         var nsresolver = this._sarissa_useCustomResolver
         ? function(prefix){
@@ -136,15 +136,25 @@
             else throw "No namespace URI found for prefix: '" + prefix+"'";
             }
         : this.createNSResolver(this.documentElement);
+        var result = null;
+        if(!returnSingle){
             var oResult = this.evaluate(sExpr,
-                    (contextNode?contextNode:this),
-                    nsresolver,
-                    XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
-        var nodeList = new SarissaNodeList(oResult.snapshotLength);
-        nodeList.expr = sExpr;
-        for(var i=0;i<nodeList.length;i++)
-            nodeList[i] = oResult.snapshotItem(i);
-        return nodeList;
+                (contextNode?contextNode:this),
+                nsresolver,
+                XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
+            var nodeList = new SarissaNodeList(oResult.snapshotLength);
+            nodeList.expr = sExpr;
+            for(var i=0;i<nodeList.length;i++)
+                nodeList[i] = oResult.snapshotItem(i);
+            result = nodeList;
+        }
+        else {
+            result = oResult = this.evaluate(sExpr,
+                (contextNode?contextNode:this),
+                nsresolver,
+                XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+        };
+        return result;      
     };
     /**
     * <p>Extends the Element to emulate IE's selectNodes</p>
@@ -162,7 +172,7 @@
             throw "Method selectNodes is only supported by XML Elements";
     };
     /**
-    * <p>Extends the XMLDocument to emulate IE's selectSingleNodes.</p>
+    * <p>Extends the XMLDocument to emulate IE's selectSingleNode.</p>
     * @argument sExpr the XPath expression to use
     * @argument contextNode this is for internal use only by the same
     *           method when called on Elements
@@ -170,15 +180,10 @@
     */
     XMLDocument.prototype.selectSingleNode = function(sExpr, contextNode){
         var ctx = contextNode?contextNode:null;
-        sExpr = "("+sExpr+")[1]";
-        var nodeList = this.selectNodes(sExpr, ctx);
-        if(nodeList.length > 0)
-            return nodeList.item(0);
-        else
-            return null;
+        return this.selectNodes(sExpr, ctx, true);
     };
     /**
-    * <p>Extends the Element to emulate IE's selectNodes.</p>
+    * <p>Extends the Element to emulate IE's selectSingleNode.</p>
     * @argument sExpr the XPath expression to use
     * @returns the result of the XPath search as an (Sarissa)NodeList
     * @throws An error if invoked on an HTML Element as this is only be
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31297.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31297.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31297.js	(revision 4307)
@@ -0,0 +1,3 @@
+//# MGI / Austria Lambert
+//<31297> +proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=bessel +units=m +no_defs  <>
+Proj4js.defs["EPSG:31297"] = "+title=MGI / Austria Lambert EPSG:31297 +proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32758.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32758.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32758.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:32758"] = "+proj=utm +zone=58 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG41001.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG41001.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG41001.js	(revision 4307)
@@ -0,0 +1,2 @@
+Proj4js.defs["EPSG:41001"] = "+title=simple mercator EPSG:41001\
+  +proj=merc +lat_ts=0 +lon_0=0 +k=1.000000 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32612.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32612.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32612.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:32612"] = "+title=WGS 84 / UTM zone 12N epsg:32612 +proj=utm +zone=12 +ellps=WGS84 +datum=WGS84 +units=m +no_defs";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG27700.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG27700.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG27700.js	(revision 4307)
@@ -0,0 +1,4 @@
+//# OSGB 1936 / British National Grid
+//<27700> +proj=tmerc +lat_0=49 +lon_0=-2 +k=0.999601 +x_0=400000 +y_0=-100000 +ellps=airy +units=m +no_defs  no_defs <>
+Proj4js.defs["EPSG:27700"] = "+title=OSGB 1936 / British National Grid / EPSG:27700\
++proj=tmerc +lat_0=49 +lon_0=-2 +k=0.999601 +x_0=400000 +y_0=-100000 +ellps=airy +units=m ";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32616.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32616.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32616.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:32616"] = "+title=WGS 84 / UTM zone 16N epsg:32616 +proj=utm +zone=16 +ellps=WGS84 +datum=WGS84 +units=m +no_defs";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31286.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31286.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31286.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:31286"] = "+title=MGI / M34 EPSG:31286 +proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1.000000 +x_0=750000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/GOOGLE.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/GOOGLE.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/GOOGLE.js	(revision 4307)
@@ -0,0 +1,2 @@
+Proj4js.defs["GOOGLE"]="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs";
+Proj4js.defs["EPSG:900913"]=Proj4js.defs["GOOGLE"];
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG4139.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG4139.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG4139.js	(revision 4307)
@@ -0,0 +1,4 @@
+Proj4js.defs["EPSG:4139"] = "+title=Puerto Rico EPSG:4139 (3 param datum shift)\
+  +proj=longlat \
+  +towgs84 = 11,72,-101,0,0,0,0 \
+  +a=6378206.4 +b=6356583.8 \";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG54021.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG54021.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG54021.js	(revision 4307)
@@ -0,0 +1,7 @@
+//<54021> +proj=poly +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m 
+Proj4js.defs["EPSG:54021"]= "\
+  +title= World polyconic EPSG:54021\
+  +proj=poly \
+  +lon_0=0 +x_0=0 +y_0=0 \
+  +ellps=WGS84 +datum=WGS84 +units=m \
+";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG27582.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG27582.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG27582.js	(revision 4307)
@@ -0,0 +1,16 @@
+//
+//# USA Contiguous Equidistant Conic
+//<102005> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=33 +lat_2=45 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m 
+
+Proj4js.defs["EPSG:27582"] = "+proj=lcc \
+ +lat_1=46.8  \
+ +lat_0=46.8  +lon_0=0  \
+ +k_0=0.99987742  \
+ +x_0=600000  +y_0=2200000  \
+ +a=6378249.2  +b=6356515  \
+ +towgs84=-168,-60,320,0,0,0,0  \
+ +pm=paris  \
+ +units=m +no_defs  \
+  ";
+
+
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG28992.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG28992.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG28992.js	(revision 4307)
@@ -0,0 +1,3 @@
+//# Amersfoort / RD New
+//<28992> +proj=stere +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.999908 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defs  no_defs <>
+Proj4js.defs["EPSG:28992"] = "+title=Amersfoort / RD New EPSG:28992 +proj=stere +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.999908 +x_0=155000 +y_0=463000 +ellps=bessel +units=m";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG102758.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG102758.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG102758.js	(revision 4307)
@@ -0,0 +1,6 @@
+Proj4js.defs["EPSG:102758"] = "+title=NAD 1983 StatePlane Wyoming West FIPS 4904 Feet\
+  +proj=tmerc \
+  +lat_0=40.5  +lon_0=-110.0833333333333 \
+  +x_0=800000  +y_0=100000  +k=0.999938 \
+  +a=6378137.0 +b=6356752.3141403\
+  +to_meter=0.3048006096012192 \";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32613.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32613.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32613.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:32613"] = "+title=WGS 84 / UTM zone 13N epsg:32613 +proj=utm +zone=13 +ellps=WGS84 +datum=WGS84 +units=m +no_defs";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32615.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32615.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32615.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:32615"] = "+title=WGS 84 / UTM zone 15N epsg:32615 +proj=utm +zone=15 +ellps=WGS84 +datum=WGS84 +units=m +no_defs";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31291.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31291.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31291.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:31291"] = "+title=MGI (Ferro) / Austria West Zone EPSG:31291 +proj=tmerc +lat_0=0 +lon_0=28 +k=1.000000 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31285.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31285.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31285.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:31285"] = "+title=MGI / M31 EPSG:31285 +proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1.000000 +x_0=450000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31293.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31293.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31293.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:31293"] = "+title=MGI (Ferro) / Austria East Zone EPSG:31293 +proj=tmerc +lat_0=0 +lon_0=34 +k=1.000000 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31295.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31295.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31295.js	(revision 4307)
@@ -0,0 +1,3 @@
+//# MGI / M31
+//<31295> +proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1.000000 +x_0=450000 +y_0=0 +ellps=bessel +units=m +no_defs  <>
+Proj4js.defs["EPSG:31295"] = "+title=MGI / M31 EPSG:31295 +proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1.000000 +x_0=450000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs";
Index: lib/spatial/mapbuilder/lib/util/custom_rhino.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/lib/util/custom_rhino.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/lib/util/sarissa/sarissa_dhtml.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/sarissa/sarissa_dhtml.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/util/sarissa/sarissa_dhtml.js	(revision 4307)
@@ -1,9 +1,9 @@
-/** 
+/**
  * ====================================================================
  * About
  * ====================================================================
  * Sarissa cross browser XML library - AJAX module
- * @version 0.9.6.1
+ * @version 0.9.7.6
  * @author: Copyright Manos Batsis, mailto: mbatsis at users full stop sourceforge full stop net
  *
  * This module contains some convinient AJAX tricks based on Sarissa 
@@ -11,62 +11,81 @@
  * ====================================================================
  * Licence
  * ====================================================================
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 or
- * the GNU Lesser General Public License version 2.1 as published by
- * the Free Software Foundation (your choice between the two).
+ * Sarissa is free software distributed under the GNU GPL version 2 (see <a href="gpl.txt">gpl.txt</a>) or higher, 
+ * GNU LGPL version 2.1 (see <a href="lgpl.txt">lgpl.txt</a>) or higher and Apache Software License 2.0 or higher 
+ * (see <a href="asl.txt">asl.txt</a>). This means you can choose one of the three and use that if you like. If 
+ * you make modifications under the ASL, i would appreciate it if you submitted those.
+ * In case your copy of Sarissa does not include the license texts, you may find
+ * them online in various formats at <a href="http://www.gnu.org">http://www.gnu.org</a> and 
+ * <a href="http://www.apache.org">http://www.apache.org</a>.
  *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License or GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * or GNU Lesser General Public License along with this program; if not,
- * write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- * or visit http://www.gnu.org
- *
+  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 
+  * KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 
+  * WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE 
+  * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 
+  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 
+  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
+  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
+/** @private */
+Sarissa.updateCursor = function(oTargetElement, sValue) {
+    if(oTargetElement && oTargetElement.style && oTargetElement.style.cursor != undefined ){
+        oTargetElement.style.cursor = sValue;
+    };
+};
+
 /**
- * Update an element with response of a GET request on the given URL. 
+ * Update an element with response of a GET request on the given URL.  Passing a configured XSLT 
+ * processor will result in transforming and updating oNode before using it to update oTargetElement.
+ * You can also pass a callback function to be executed when the update is finished. The function will be called as 
+ * <code>functionName(oNode, oTargetElement);</code>
  * @addon
  * @param sFromUrl the URL to make the request to
  * @param oTargetElement the element to update
  * @param xsltproc (optional) the transformer to use on the returned
  *                  content before updating the target element with it
+ * @param callback (optional) a Function object to execute once the update is finished successfuly, called as <code>callback(oNode, oTargetElement)</code>
+ * @param skipCache (optional) whether to skip any cache
  */
-Sarissa.updateContentFromURI = function(sFromUrl, oTargetElement, xsltproc) {
+Sarissa.updateContentFromURI = function(sFromUrl, oTargetElement, xsltproc, callback, skipCache) {
     try{
-        oTargetElement.style.cursor = "wait";
+        Sarissa.updateCursor(oTargetElement, "wait");
         var xmlhttp = new XMLHttpRequest();
         xmlhttp.open("GET", sFromUrl);
         function sarissa_dhtml_loadHandler() {
             if (xmlhttp.readyState == 4) {
-                oTargetElement.style.cursor = "auto";
-                Sarissa.updateContentFromNode(xmlhttp.responseXML, oTargetElement, xsltproc);
+                Sarissa.updateContentFromNode(xmlhttp.responseXML, oTargetElement, xsltproc, callback);
             };
         };
         xmlhttp.onreadystatechange = sarissa_dhtml_loadHandler;
-        xmlhttp.send(null);
-        oTargetElement.style.cursor = "auto";
+        if (skipCache) {
+             var oldage = "Sat, 1 Jan 2000 00:00:00 GMT";
+             xmlhttp.setRequestHeader("If-Modified-Since", oldage);
+        };
+        xmlhttp.send("");
     }
     catch(e){
-        oTargetElement.style.cursor = "auto";
+        Sarissa.updateCursor(oTargetElement, "auto");
         throw e;
     };
 };
 
 /**
- * Update an element's content with the given DOM node.
+ * Update an element's content with the given DOM node. Passing a configured XSLT 
+ * processor will result in transforming and updating oNode before using it to update oTargetElement.
+ * You can also pass a callback function to be executed when the update is finished. The function will be called as 
+ * <code>functionName(oNode, oTargetElement);</code>
  * @addon
- * @param sFromUrl the URL to make the request to
+ * @param oNode the URL to make the request to
  * @param oTargetElement the element to update
  * @param xsltproc (optional) the transformer to use on the given 
  *                  DOM node before updating the target element with it
+ * @param callback (optional) a Function object to execute once the update is finished successfuly, called as <code>callback(oNode, oTargetElement)</code>
  */
-Sarissa.updateContentFromNode = function(oNode, oTargetElement, xsltproc) {
+Sarissa.updateContentFromNode = function(oNode, oTargetElement, xsltproc, callback) {
     try {
-        oTargetElement.style.cursor = "wait";
+        Sarissa.updateCursor(oTargetElement, "wait");
         Sarissa.clearChildNodes(oTargetElement);
         // check for parsing errors
         var ownerDoc = oNode.nodeType == Node.DOCUMENT_NODE?oNode:oNode.ownerDocument;
@@ -81,13 +100,13 @@
                 oNode = xsltproc.transformToDocument(oNode);
             };
             // be smart, maybe the user wants to display the source instead
-            if(oTargetElement.tagName.toLowerCase == "textarea" || oTargetElement.tagName.toLowerCase == "input") {
-                oTargetElement.value = Sarissa.serialize(oNode);
+            if(oTargetElement.tagName.toLowerCase() == "textarea" || oTargetElement.tagName.toLowerCase() == "input") {
+                oTargetElement.value = new XMLSerializer().serializeToString(oNode);
             }
             else {
                 // ok that was not smart; it was paranoid. Keep up the good work by trying to use DOM instead of innerHTML
                 if(oNode.nodeType == Node.DOCUMENT_NODE || oNode.ownerDocument.documentElement == oNode) {
-                    oTargetElement.innerHTML = Sarissa.serialize(oNode);
+                    oTargetElement.innerHTML = new XMLSerializer().serializeToString(oNode);
                 }
                 else{
                     oTargetElement.appendChild(oTargetElement.ownerDocument.importNode(oNode, true));
@@ -94,12 +113,15 @@
                 };
             };  
         };
+        if (callback) {
+            callback(oNode, oTargetElement);
+        };
     }
     catch(e) {
-        throw e;
+            throw e;
     }
     finally{
-        oTargetElement.style.cursor = "auto";
+        Sarissa.updateCursor(oTargetElement, "auto");
     };
 };
 
Index: lib/spatial/mapbuilder/lib/util/Util.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/Util.js	(revision 4306)
+++ lib/spatial/mapbuilder/lib/util/Util.js	(revision 4307)
@@ -2,7 +2,7 @@
 License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
 Dependancies: Sarissa
 
-$Id$
+$Id: Util.js 3961 2008-04-01 12:45:02Z ahocevar $
 */
 
 // some basic browser detection
@@ -16,18 +16,53 @@
 @author Cameron Shorter - Cameron AT Shorter.net
 */
 function XslProcessor(xslUrl,docNSUri) {
+  // override Sarissa configurations to prefer MSXML3, because
+  // MSXML6 does not work well with IE6SP2
+  if (!MB_IS_MOZ) {
+    _SARISSA_DOM_PROGID = Sarissa.pickRecentProgID(["Msxml2.DOMDocument.3.0", "Msxml2.DOMDocument.6.0"], [["SELECT_NODES", 2],["TRANSFORM_NODE", 2]]);
+    _SARISSA_XMLHTTP_PROGID = Sarissa.pickRecentProgID(["Msxml2.XMLHTTP.3.0", "MSXML2.XMLHTTP.6.0"], [["XMLHTTP", 4]]);
+    _SARISSA_THREADEDDOM_PROGID = Sarissa.pickRecentProgID(["Msxml2.FreeThreadedDOMDocument.3.0", "MSXML2.FreeThreadedDOMDocument.6.0"]);
+    _SARISSA_XSLTEMPLATE_PROGID = Sarissa.pickRecentProgID(["Msxml2.XSLTemplate.3.0", "MSXML2.XSLTemplate.6.0"], [["XSLTPROC", 2]]);
+  }
   // get the stylesheet document
   this.xslUrl=xslUrl;
   this.xslDom = Sarissa.getDomDocument();
   this.xslDom.async = false;
-  this.xslDom.validateOnParse=false;  //IE6 SP2 parsing bug
-  this.xslDom.load(xslUrl);
-  if ( this.xslDom.parseError < 0 )
-    alert("error loading XSL stylesheet: " + xslUrl);
+  // fix some issues in IE
+  if (!MB_IS_MOZ) {
+    try {
+      // IE6 SP2 parsing bug
+      this.xslDom.validateOnParse=false;
+      // Prevent "Access denied" with external documents
+      this.xslDom.setProperty("AllowDocumentFunction", true);
+      this.xslDom.resolveExternals = true;
+    }
+    catch (e) {
+      // do nothing here, we won't get far anyway.
+    }
+  }
+  if(typeof(inlineXSL)!="undefined") {
+    xmlString = inlineXSL[_1];
+    xmlString = xmlString.replace(/DOUBLE_QUOTE/g,"\"");
+    this.xslDom = (new DOMParser()).parseFromString(xmlString, "text/xml");
+  }
+  else {
+    if(_SARISSA_IS_SAFARI){
+        var xmlhttp = new XMLHttpRequest();
+        xmlhttp.open("GET", xslUrl, false);
+        xmlhttp.send(null);
+        this.xslDom = xmlhttp.responseXML;
+    }else
+    {
+      this.xslDom.load(xslUrl);
+    }
+  }
+  if ( Sarissa.getParseErrorText(this.xslDom) != Sarissa.PARSED_OK )
+    alert(mbGetMessage("errorLoadingStylesheet", xslUrl));
 
   this.processor = new XSLTProcessor();
   this.processor.importStylesheet(this.xslDom);
-
+  
   this.docNSUri = docNSUri;
 
   /**
@@ -38,13 +73,21 @@
   this.transformNodeToString = function(xmlNode) {
     try {
       // transform and build a web page with result
+      //MAP-427 Quick hack to transform an XMLElement to XMLDocument in IE
+     
+      if (_SARISSA_IS_IE){
+	      var str = (new XMLSerializer()).serializeToString(xmlNode);
+	      var xmlNode = (new DOMParser()).parseFromString(str, "text/xml");
+	  }
       var newDoc = this.transformNodeToObject(xmlNode);
-      var s = Sarissa.serialize(newDoc);
-      return Sarissa.unescape(s);
+      var s = (new XMLSerializer()).serializeToString(newDoc);
+      if(_SARISSA_IS_OPERA)
+      	s =  s.replace(/.*\?\>/,"");//hack for opera to delete <?xml ... ?>
+      return s;
     } catch(e){
-      alert("Exception transforming doc with XSL: " + this.xslUrl);
-      alert("XSL="+Sarissa.serialize(this.xslDom));
-      alert("XML="+Sarissa.serialize(xmlNode));
+      alert(mbGetMessage("exceptionTransformingDoc", this.xslUrl));
+      alert("XSL="+(new XMLSerializer()).serializeToString(this.xslDom));
+      alert("XML="+(new XMLSerializer()).serializeToString(xmlNode));
     }
   }
 
@@ -54,7 +97,14 @@
    * @return a DOM document object
    */
   this.transformNodeToObject=function(xmlNode) {
-    var newFragment = this.processor.transformToDocument(xmlNode);
+    if(_SARISSA_IS_SAFARI){
+      var oResult = new DOMParser().parseFromString("<xsltresult></xsltresult>", "text/xml");
+      var newFragment = this.processor.transformToFragment(xmlNode, oResult);
+      var str = (new XMLSerializer()).serializeToString(newFragment);
+      str.replace(/\s/g,"");
+    }else{
+       var newFragment = this.processor.transformToDocument(xmlNode);
+    }
     return newFragment;
   }
 
@@ -76,7 +126,7 @@
  */
 function postLoad(sUri, docToSend, contentType ) {
    var xmlHttp = new XMLHttpRequest();
-   if ( sUri.indexOf("http://")==0 ) {
+   if ( sUri.indexOf("http://")==0 || sUri.indexOf("https://")==0 ) {
      xmlHttp.open("POST", config.proxyUrl, false);
      xmlHttp.setRequestHeader("serverUrl",sUri);//escape(sUri).replace(/\+/g, '%2C').replace(/\"/g,'%22').replace(/\'/g, '%27'));
    } else {
@@ -96,17 +146,62 @@
    }
 */
    if (xmlHttp.status >= 400) {   //http errors status start at 400
-      alert("error loading document: " + sUri + " - " + xmlHttp.statusText + "-" + xmlHttp.responseText );
+      alert(mbGetMessage("errorLoadingDocument", sUri, xmlHttp.statusText, xmlHttp.responseText));
       var outDoc = Sarissa.getDomDocument();
       outDoc.parseError = -1;
       return outDoc;
    } else {
      //alert(xmlHttp.getResponseHeader("Content-Type"));
-     if ( null==xmlHttp.responseXML ) alert( "null XML response:" + xmlHttp.responseText );
+     if ( null==xmlHttp.responseXML ) alert(mbGetMessage("nullXmlResponse", xmlHttp.responseText));
      return xmlHttp.responseXML;
    }
 }
 
+
+/**
+ * A more flexible interface for loading docs that allows POST et GET param for save model
+ */
+
+function postGetLoad(sUri, docToSend, contentType , dir, fileName) {
+
+   var xmlHttp = new XMLHttpRequest();
+   var appendChar = sUri.indexOf("?") == -1 ? "?" : "&";
+   if(dir && fileName)
+       	sUri=sUri+appendChar+"dir="+dir+"&fileName="+fileName;
+   else if(dir)
+   		sUri=sUri+appendChar+"dir="+dir;
+   else if(fileName)
+   		sUri=sUri+appendChar+"fileName="+fileName;
+   		
+   if ( sUri.indexOf("http://")==0 || sUri.indexOf("https://")==0 )
+   {
+       xmlHttp.open("POST", config.proxyUrl, false);       
+       xmlHttp.setRequestHeader("serverUrl",sUri);
+   }
+   else
+   {
+       xmlHttp.open("POST", sUri, false);
+   }
+   xmlHttp.setRequestHeader("content-type","text/xml");
+   if (contentType) xmlHttp.setRequestHeader("content-type",contentType);
+   xmlHttp.send( docToSend );
+
+   if (xmlHttp.status >= 400)
+   {   //http errors status start at 400
+        alert(mbGetMessage("errorLoadingDocument", sUri, xmlHttp.statusText, xmlHttp.responseText));
+        var outDoc = Sarissa.getDomDocument();
+        outDoc.parseError = -1;
+        return outDoc;
+   }
+   else
+   {
+       if ( null==xmlHttp.responseXML ) alert(mbGetMessage("nullXmlResponse", xmlHttp.responseText));
+       return xmlHttp.responseXML;
+   }
+}
+
+
+
   /**
    * If URL is local, then return URL unchanged,
    * else return URL of http://proxy?url=URL , or null if proxy not defined.
@@ -114,11 +209,11 @@
    * @return Url of the proxy and service in the form http://host/proxy?url=service
    */
 function getProxyPlusUrl(url) {
-  if ( url.indexOf("http://")==0 ) {
+  if ( url.indexOf("http://")==0 || url.indexOf("https://")==0 ) {
     if ( config.proxyUrl ) {
       url=config.proxyUrl+"?url="+escape(url).replace(/\+/g, '%2C').replace(/\"/g,'%22').replace(/\'/g, '%27');
     } else {
-      alert("unable to load external document:"+url+"  Set the proxyUrl property in config.");
+      alert(mbGetMessage("unableToLoadDoc", url));
       url=null;
     }
   }
@@ -126,20 +221,15 @@
 }
 
   /**
-   * Browser independant version of createElementNS() because creating elements
-   * with namespaces other than the defalut namespace isn't dupported in IE,
-   * or at least I can't figure out how to do it.  
-   * Caution: In IE the new element doesn't appear to a namespace!!
+   * Browser independant version of createElementNS()
    * @param doc the owner document for the new element
-   * @param name the name for the new element
+   * @param name for the new element
    * @param ns the URL for the namespace (without a prefix)
    * @return element in the document with the specified namespace
    */
 function createElementWithNS(doc,name,nsUri) {
   if (_SARISSA_IS_IE) {
-    var newElement = doc.createElement(name);
-    //newElement.namespaceURI = nsUri;  //can't do this for some reason?
-    return newElement;
+    return doc.createNode(1, name, nsUri);
   } else {
     return doc.createElementNS(nsUri,name);
   }
@@ -173,7 +263,7 @@
   }
   var isoDate = new Date();
   isoDate.setFullYear(parseInt(parts[1],10));
-  isoDate.setMonth(parseInt(parts[2]-1,10));
+  isoDate.setMonth(parseInt(parts[2],10)-1,parseInt(parts[3],10));
   isoDate.setDate(parseInt(parts[3],10));
   isoDate.setHours(parseInt(parts[4],10));
   isoDate.setMinutes(parseInt(parts[5],10));
@@ -186,12 +276,12 @@
 function getISODate(isoDate) {
   var res = isoDate.res?isoDate.res:6;
   var dateStr = "";
-  dateStr += res>1?isoDate.getFullYear():"";
-  dateStr += res>2?"-"+leadingZeros(isoDate.getMonth()+1,2):"";
-  dateStr += res>3?"-"+leadingZeros(isoDate.getDate(),2):"";
-  dateStr += res>4?"T"+leadingZeros(isoDate.getHours(),2):"";
-  dateStr += res>5?":"+leadingZeros(isoDate.getMinutes(),2):"";
-  dateStr += res>6?":"+leadingZeros(isoDate.getSeconds(),2):"";
+  dateStr += res>=1?isoDate.getFullYear():"";
+  dateStr += res>=2?"-"+leadingZeros(isoDate.getMonth()+1,2):"";
+  dateStr += res>=3?"-"+leadingZeros(isoDate.getDate(),2):"";
+  dateStr += res>=4?"T"+leadingZeros(isoDate.getHours(),2):"";
+  dateStr += res>=5?":"+leadingZeros(isoDate.getMinutes(),2):"";
+  dateStr += res>=6?":"+leadingZeros(isoDate.getSeconds(),2):"";
   return dateStr;
 }
 
@@ -208,14 +298,29 @@
 // thanks to Caroklyn Cole for this fix.  For an explanation see:
 // http://homepage.ntlworld.com/bobosola. Updated 02-March-2004
 // modified to the images as visible after this has been called.
-function fixPNG(myImage,myId) {
+// PL-BRGM
+// Add oldImage in parameter
+function fixPNG(myImage,myId,oldImage) {
   if (_SARISSA_IS_IE) {
+    // PL - BRGM
+    //opacity of the image
+    if(oldImage) {
+      var valIEOpacity= oldImage.style.filter.substring(oldImage.style.filter.indexOf('opacity=',0)+8,oldImage.style.filter.lastIndexOf(')',0));
+      if(oldImage.style.filter.indexOf('opacity=',0) ==-1){
+        valIEOpacity = null;
+      }
+       var _opacity= (valIEOpacity)?valIEOpacity/100:-1;
+     }
+  // END
     var imgID = "id='" + myId + "' ";
     var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : ""
     var imgTitle = (myImage.title) ? "title='" + myImage.title + "' " : "title='" + myImage.alt + "' "
-    var imgStyle = "display:inline-block;" + myImage.style.cssText 
+    var imgStyle = "display:inline-block;" + myImage.style.cssText
     var strNewHTML = "<span " + imgID + imgClass + imgTitle
+
     strNewHTML += " style=\"" + "width:" + myImage.width + "px; height:" + myImage.height + "px;" + imgStyle + ";"
+    // store the opacity in the style even not used by IE
+    if (_opacity!=-1) strNewHTML += "opacity=" + _opacity + ";" ;
     // Escape some chars (don't use encode() that would escape %xx previously used in XSL)
     var src = myImage.src;
     src = src.replace(/\(/g,'%28');
@@ -224,7 +329,13 @@
     // AlphaImageLoader converts '%23' in src to '#' and cuts URL on '#'
     src = src.replace(/%23/g,'%2523');
     strNewHTML += "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader";
-    strNewHTML += "(src=\'" + src + "\', sizingMethod='scale'); \"></span>" ;
+    strNewHTML += "(src=\'" + src + "\', sizingMethod='scale')";
+
+    // PL - BRGM
+    // add the opacity
+    if (oldImage && _opacity!=-1) strNewHTML +=  " alpha(opacity=" + (_opacity * 100) + ")";
+    strNewHTML +="; \"></span>" ;
+  // END PL - BRGM
     //myImage.outerHTML = strNewHTML;
     //alert(strNewHTML);
     return strNewHTML;
@@ -312,7 +423,7 @@
 }
 
 /**
- * parse comma-separated name=value argument pairs from the query string of the URL; the function stores name=value pairs in properties of an object and returns that object. 
+ * parse comma-separated name=value argument pairs from the query string of the URL; the function stores name=value pairs in properties of an object and returns that object.
  * @return args Array of arguments passed to page, in form args[argname] = value.
  */
 function getArgs(){
@@ -486,3 +597,258 @@
   if (obj!=null) obj.handleEvent(evt);
 }
 
+/**
+ * Show a message if the debug property of the object has been set.
+ * @param object  the object that possibly has the debug property set
+ * @param message the message to show
+ */
+function mbDebugMessage(object, message)
+{
+  if (object && object.debug) {
+    alert(message);
+  }
+}
+
+/**
+ * Get a message from the <code>widgetText</code> file and format it if extra
+ * arguments are passed.
+ * @param messageKey       the message key within the message node
+ * @param varArgs          optional extra parameters for formatting the message
+ * @return                 <code>"NoMsgsFound"</code> if the <code>widgetText</code> file is not found,<br/>
+ *                         the <code>messageKey</code> if the message key was not found within the message node,<br/>
+ *                         the (formatted) message if it was found
+ */
+function mbGetMessage(messageKey)
+{
+  var message = "NoMsgsFound";
+  if (config.widgetText) {
+    var msgKeyXpath = "/mb:WidgetText/mb:messages/mb:" + messageKey;
+    var msgKeyNodes = config.widgetText.selectNodes(msgKeyXpath);
+    if (!msgKeyNodes || msgKeyNodes.length == 0) {
+      // Message not found, fall back to message key
+      message = messageKey;
+    }
+    else {
+      // Message found; pick last one so user can override messages
+      message = getNodeValue(msgKeyNodes.item(msgKeyNodes.length-1));
+      if (arguments[mbGetMessage.length]) {
+        // Extra arguments, format message
+        var varArgs = [].slice.call(arguments, mbGetMessage.length);
+        varArgs.unshift(message);
+        message = mbFormatMessage.apply(this, varArgs);
+      }
+    }
+  }
+  return message;
+}
+
+/**
+ * Format a message with the extra arguments. <br/>
+ * E.g. if called as: <code>mbFormatMessage("{1} is {0} {2}, {1}", "a good", "this", "test")</code><br/>
+ * the formatted message returned is: <code>"this is a good test, this"</code>
+ * @param messageFormat the message format string
+ * @param varArgs       optional extra parameters for formatting the message
+ * @return              the formatted message
+ */
+function mbFormatMessage(messageFormat)
+{
+  var message = messageFormat;
+  var varArgs = [].slice.call(arguments, mbFormatMessage.length);
+  for (var i=0; i<varArgs.length; i++) {
+    var parm = new RegExp("\\{" + i + "\\}", "g");
+    message = message.replace(parm, varArgs[i]);
+  }
+  return message;
+}
+
+/**
+ * extract a style from a SLD node of an XML doc and return
+ * it as url parameter for a WMS request
+ * @param node XML node containing the styled layer descriptor
+ * @return WMS-compliant SLD URL parameters as array
+ */
+function sld2UrlParam(node) {
+  var params=new Array();
+  if (node) {
+    var sld = node.selectSingleNode("wmc:SLD");
+    var name = node.selectSingleNode("wmc:Name");
+    if(sld) {
+      if(sld.selectSingleNode("wmc:OnlineResource")) {	
+        params.sld=sld.selectSingleNode("wmc:OnlineResource").getAttribute("xlink:href");
+      } else if(sld.selectSingleNode("wmc:FeatureTypeStyle")) {
+        params.sld=(new XMLSerializer()).serializeToString(sld.selectSingleNode("wmc:FeatureTypeStyle"));
+      } else if(sld.selectSingleNode("wmc:StyledLayerDescriptor")) { 
+        params.sld_body=(new XMLSerializer()).serializeToString(sld.selectSingleNode("wmc:StyledLayerDescriptor"));    		
+      }
+    } else if(name) {
+      params.styles = getNodeValue(name) || "";	
+    }
+  }  
+  return params;
+}
+
+/**
+ * extract a style from a SLD node of an XML doc and return
+ * it as OpenLayers style
+ * @param objRef reference to the map widget that will use the style
+ * @param node XML node containing the styled layer descriptor
+ * @return OpenLayers style object
+ */
+function sld2OlStyle(node) {
+  // OpenLayers SLD parsing
+  if (node) {
+    var ruleNode = node.selectSingleNode("wmc:SLD/sld:FeatureTypeStyle");
+    if (ruleNode) {
+      var sld = new XMLSerializer().serializeToString(ruleNode);
+      var search = /<([^:]*:?)StyledLayerDescriptor/;
+      if (!search.test(sld)) {
+      	sld = sld.replace(/<([^:]*:?)FeatureTypeStyle([^>]*)>(.*)$/,
+            "<$1StyledLayerDescriptor$2><$1NamedLayer><$1Name>sld</$1Name><$1UserStyle><$1FeatureTypeStyle>$3</$1UserStyle></$1NamedLayer></$1StyledLayerDescriptor>");
+      }
+    }
+    var styles = new OpenLayers.Format.SLD().read(sld);
+    if (styles) {
+      return styles.namedLayers["sld"].userStyles[0];
+    }
+  }
+  
+  // fallback to native SLD parsing for older OwsContext docs
+  
+  // sld-conform default style
+  var defaultStyle = {
+            fillColor: "#808080",
+            fillOpacity: 1,
+            strokeColor: "#000000",
+            strokeOpacity: 1,
+            strokeWidth: 1,
+            pointRadius: 6};
+            
+  var style1=OpenLayers.Util.extend(defaultStyle,OpenLayers.Feature.Vector.style["default"]);
+  var value;
+  var styleSet=false;
+
+  if (node) {
+    value=node.selectSingleNode(".//sld:ExternalGraphic/sld:OnlineResource/@xlink:href");
+    if(value){
+      style1.externalGraphic=getNodeValue(value);
+      styleSet=true;
+    }
+    value=node.selectSingleNode(".//sld:Fill/sld:CssParameter[@name='fill']");
+    if(value){
+      style1.fillColor=getNodeValue(value);
+      styleSet=true;
+    }
+    value=node.selectSingleNode(".//sld:Fill/sld:CssParameter[@name='fill-opacity']");
+    if(value){
+      style1.fillOpacity=getNodeValue(value);
+      styleSet=true;
+    } else {
+      // opacity eg. for externalGraphic
+      value=node.selectSingleNode(".//sld:Opacity/sld:Literal");
+      if (value){
+        style1.fillOpacity=getNodeValue(value);
+        styleSet=true;
+      }
+    }
+  
+    value=node.selectSingleNode(".//sld:Stroke/sld:CssParameter[@name='stroke']");
+    if(value){
+      style1.strokeColor=getNodeValue(value);
+      styleSet=true;
+    }
+    
+    value=node.selectSingleNode(".//sld:Stroke/sld:CssParameter[@name='stroke-opacity']");
+    if(value){
+      style1.strokeOpacity=getNodeValue(value);
+      styleSet=true;
+    }
+    
+    value=node.selectSingleNode(".//sld:Stroke/sld:CssParameter[@name='stroke-width']");
+    if(value){
+      style1.strokeWidth=getNodeValue(value);
+      styleSet=true;
+    }
+    
+    value=node.selectSingleNode(".//sld:Size");
+    if(value){
+      style1.pointRadius=getNodeValue(value);
+      styleSet=true;
+    }
+  }
+  
+  if(!styleSet)style1=null;
+  return style1;
+}
+
+/**
+ * Dynamically loads a stylesheet into the html page.
+ * @param cssFileName name of the file to load, relative to config.skinDir
+ */
+function loadCss(cssFileName) {
+  // queue the request if we do not know the skinDir yet
+  if (typeof config == "undefined" || typeof config.skinDir != "string") {
+    if (!mapbuilder.cssToLoad) {
+      mapbuilder.cssToLoad = [];
+    }
+    mapbuilder.cssToLoad.push(cssFileName);
+    return;
+  }
+  
+  var id = cssFileName.match(/[^\/]*$/).toString().replace(/./, '_');
+  if (!document.getElementById(id)) {
+    var cssNode = document.createElement('link');
+    cssNode.setAttribute('id', id);
+    cssNode.setAttribute('rel', 'stylesheet');
+    cssNode.setAttribute('type', 'text/css');
+    cssNode.setAttribute('href', config.skinDir+'/'+cssFileName);
+    document.getElementsByTagName('head')[0].appendChild(cssNode);
+  }
+}
+
+/**
+ * getNodevalue return value of node
+ * it as OpenLayers style
+ * @param node 
+ * @return return node's value
+ */
+function getNodeValue(sResult){
+  if(sResult.nodeType == 1) return sResult.firstChild ? sResult.firstChild.nodeValue : "";
+  if(sResult.nodeType < 5) return sResult.nodeValue;
+  return sResult;
+}
+
+/**
+ * Convenience method that is used to parse dom nodes.
+ * @param domNode node to find the property in
+ * @param propertyName string of the property name (including namespace prefix)
+ * @param defaultValue value to return if property is not found (null by default)
+ * @return the property value
+ */
+Mapbuilder.getProperty = function(domNode, propertyName, defaultValue) {
+  if (typeof defaultValue == "undefined") {
+    defaultValue = null;
+  }
+  var property = domNode.selectSingleNode(propertyName);
+  return property ? getNodeValue(property) : defaultValue;
+}
+
+/**
+ * Convenience method to parse a string or number as a boolean value
+ * @param value string (true/false) or number (1/0)
+ * @return boolean value, default false
+ */
+Mapbuilder.parseBoolean = function(value) {
+  var result = false;
+  if (!value) {
+    result = false;
+  } else if (value == 0) {
+    result = false;
+  } else if (value == 1) {
+      result = true;
+  } else if (value.match(/true/i)) {
+    result = true;
+  } else if (value.match(/false/i)){
+    return false;
+  }
+  return result;
+}
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32738.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32738.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32738.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:32738"] = "+proj=utm +zone=38 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG102757.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG102757.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG102757.js	(revision 4307)
@@ -0,0 +1,6 @@
+Proj4js.defs["EPSG:102757"] = "+title=NAD 1983 StatePlane Wyoming West Central FIPS 4903 Feet\
+  +proj=tmerc \
+  +lat_0=40.5 +lon_0=-108.75 \
+  +x_0=600000.0 +y_0=0 +k=0.999938 \
+  +a=6378137.0  +b=6356752.3141403\
+  +to_meter=0.3048006096012192";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG42304.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG42304.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG42304.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:42304"]="+proj=lcc +lat_1=49 +lat_2=77 +lat_0=49 +lon_0=-95 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32614.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32614.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32614.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:32614"] = "+title=WGS 84 / UTM zone 14N epsg:32614 +proj=utm +zone=14 +ellps=WGS84 +datum=WGS84 +units=m +no_defs";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31292.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31292.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31292.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:31292"] = "+title=MGI (Ferro) / Austria Central Zone EPSG:31292 +proj=tmerc +lat_0=0 +lon_0=31 +k=1.000000 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG26912.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG26912.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG26912.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG26912"] = "+title=NAD83 / UTM zone 12N +proj=utm +zone=12 +a=6378137.0 +b=6356752.3141403";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG102005.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG102005.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG102005.js	(revision 4307)
@@ -0,0 +1,13 @@
+//
+//# USA Contiguous Equidistant Conic
+//<102005> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=33 +lat_2=45 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m 
+
+Proj4js.defs["EPSG:102005"] = "\
+  +title=USA Contiguous Equidistant Conic\
+  +proj=eqdc\
+  +lat_0=0 +lon_0=0 +lat_1=33 +lat_2=45 +x_0=0 +y_0=0   \
+  +lon_0=-90 +x_0=600000.0000000001 +y_0=0 \
+  +ellps=GRS80 +datum=NAD83 +units=m \
+  ";
+
+
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG26986.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG26986.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG26986.js	(revision 4307)
@@ -0,0 +1,14 @@
+//# NAD83 / Massachusetts Mainland, United States (USA) - Massachusetts - SPCS - mainland 
+
+//+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs  <>
+
+
+Proj4js.defs["EPSG:26986"]= "\
+  +title=NAD 1983 StatePlane Wyoming West Central FIPS 4903 Feet\
+  +proj=lcc \
+  +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 \
+  +x_0=200000 +y_0=750000 \
+  +ellps=GRS80  \
+  +units=m +no_defs \
+";
+
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG42101.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG42101.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG42101.js	(revision 4307)
@@ -0,0 +1,5 @@
+//## WGS84 / LCC Canada
+//<42101> +proj=lcc +ellps=WGS84 +lat_0=0 +lon_0=-95 +lat_1=49 +lat_2=77 +x_0=0 +y_0=-8000000.0 +datum=WGS84 +units=m no_defs <>
+Proj4js.defs["EPSG:42101"]= "+title=WGS84 / LCC Canada EPSG:42101\
+  +proj=lcc +ellps=WGS84 +lat_0=0 +lon_0=-95 +lat_1=49 +lat_2=77 +x_0=0 +y_0=-8000000.0 +datum=WGS84 +units=m\
+ ";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31281.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31281.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31281.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:31281"] = "+title=MGI (Ferro) / Austria West Zone EPSG:31281 +proj=tmerc +lat_0=0 +lon_0=28 +k=1.000000 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31283.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31283.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31283.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:31283"] = "+title=MGI (Ferro) / Austria East Zone EPSG:31283 +proj=tmerc +lat_0=0 +lon_0=34 +k=1.000000 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG22195.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG22195.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG22195.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:22195"]= "+title=Campo Inchauspe / Argentina 5 epsg:22195 +proj=tmerc +lat_0=-90 +lon_0=-60 +k=1.000000 +x_0=5500000 +y_0=0 +ellps=intl +units=m +no_defs";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31287.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31287.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31287.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:31287"] = "+title=MGI / Austria Lambert EPSG:31287 +proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m";
Index: lib/spatial/mapbuilder/server/php/proxy.php
===================================================================
--- lib/spatial/mapbuilder/server/php/proxy.php	(nonexistent)
+++ lib/spatial/mapbuilder/server/php/proxy.php	(revision 4307)
@@ -0,0 +1,167 @@
+<?php
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: proxy.php 3650 2007-11-28 00:26:06Z rdewit $
+$Name$
+*/
+
+////////////////////////////////////////////////////////////////////////////////
+// Description:
+// Script to redirect the request http://host/proxy.php?url=http://someUrl
+// to http://someUrl .
+//
+// This script can be used to circumvent javascript's security requirements
+// which prevent a URL from an external web site being called.
+//
+// Author: Nedjo Rogers
+////////////////////////////////////////////////////////////////////////////////
+
+// read in the variables
+
+if(array_key_exists('HTTP_SERVERURL', $_SERVER)){ 
+  $onlineresource=$_SERVER['HTTP_SERVERURL']; 
+}else{ 
+  $onlineresource=$_REQUEST['url']; 
+}
+$parsed = parse_url($onlineresource);
+$host = @$parsed["host"];
+$path = @$parsed["path"] . "?" . @$parsed["query"];
+if(empty($host)) {
+  $host = "localhost";
+}
+$port = @$parsed['port'];
+if(empty($port)){
+  $port="80";
+}
+$contenttype = @$_REQUEST['contenttype'];
+if(empty($contenttype)) {
+  $contenttype = "text/xml";
+}
+$data = @$GLOBALS["HTTP_RAW_POST_DATA"];
+// define content type
+header("Content-type: " . $contenttype);
+
+if(empty($data)) {
+  $result = send_request();
+}
+else {
+  // post XML
+  $posting = new HTTP_Client($host, $port, $data);
+  $posting->set_path($path);
+  $result = $posting->send_request();
+}
+
+// strip leading text from result and output result
+$len=strlen($result);
+$pos = strpos($result, "<");
+if($pos > 1) {
+  $result = substr($result, $pos, $len);
+}
+//$result = str_replace("xlink:","",$result);
+echo $result;
+
+// define class with functions to open socket and post XML
+// from http://www.phpbuilder.com/annotate/message.php3?id=1013274 by Richard Hundt
+
+class HTTP_Client { 
+  var $host; 
+  var $path;
+  var $port; 
+  var $data; 
+  var $socket; 
+  var $errno; 
+  var $errstr; 
+  var $timeout; 
+  var $buf; 
+  var $result; 
+  var $agent_name = "MyAgent"; 
+  //Constructor, timeout 30s 
+  function HTTP_Client($host, $port, $data, $timeout = 30) { 
+    $this->host = $host; 
+    $this->port = $port;
+    $this->data = $data;
+    $this->timeout = $timeout; 
+  } 
+  
+  //Opens a connection 
+  function connect() { 
+    $this->socket = fsockopen($this->host, 
+      $this->port, 
+      $this->errno, 
+      $this->errstr, 
+      $this->timeout 
+      ); 
+    if(!$this->socket) 
+      return false; 
+    else 
+      return true; 
+  } 
+  
+  //Set the path 
+  function set_path($path) { 
+    $this->path = $path; 
+  } 
+  
+  //Send request and clean up 
+  function send_request() { 
+    if(!$this->connect()) { 
+      return false; 
+    } 
+    else { 
+      $this->result = $this->request($this->data);
+      return $this->result; 
+    } 
+  } 
+  
+  function request($data) { 
+    $this->buf = ""; 
+    fwrite($this->socket, 
+      "POST $this->path HTTP/1.0\r\n". 
+      "Host:$this->host\r\n". 
+      "User-Agent: $this->agent_name\r\n". 
+      "Content-Type: application/xml\r\n". 
+      "Content-Length: ".strlen($data). 
+      "\r\n". 
+      "\r\n".$data. 
+      "\r\n" 
+    ); 
+  
+    while(!feof($this->socket)) 
+      $this->buf .= fgets($this->socket, 2048); 
+      $this->close(); 
+      return $this->buf; 
+  } 
+  
+  
+  function close() {
+    fclose($this->socket);
+  } 
+} 
+
+
+
+function send_request() {
+  global $onlineresource;
+  $ch = curl_init();
+  $timeout = 5; // set to zero for no timeout
+
+  // fix to allow HTTPS connections with incorrect certificates
+  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
+  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
+
+  curl_setopt ($ch, CURLOPT_URL,$onlineresource);
+  curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
+  curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
+  curl_setopt ($ch, CURLOPT_ENCODING , "gzip, deflate");
+
+  $file_contents = curl_exec($ch);
+  curl_close($ch);
+  $lines = array();
+  $lines = explode("\n", $file_contents);
+  if(!($response = $lines)) {
+    echo "Unable to retrieve file '$service_request'";
+  }
+  $response = implode("",$response);
+  return $response;
+}
+?> 
Index: lib/spatial/mapbuilder/docs/register/config.xml
===================================================================
--- lib/spatial/mapbuilder/docs/register/config.xml	(revision 4306)
+++ lib/spatial/mapbuilder/docs/register/config.xml	(revision 4307)
@@ -8,7 +8,7 @@
                  page.
     Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html 
 
-    $Id$
+    $Id: config.xml 1744 2005-10-20 11:02:56Z camerons $
   -->
   <!--
     All static images should be relative to this URL.
Index: lib/spatial/mapbuilder/lib/util/proj4js/proj4js-compressed.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/proj4js-compressed.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/proj4js-compressed.js	(revision 4307)
@@ -0,0 +1,206 @@
+/*
+  proj4js.js -- Javascript reprojection library. 
+  
+  Author:       Mike Adair madairATdmsolutions.ca
+                Richard Greenwood rich@greenwoodmap.com
+  License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html 
+                Note: This program is an almost direct port of the C library
+                Proj4.
+*/
+Proj4js={defaultDatum:'WGS84',proxyScript:null,defsLookupService:'http://spatialreference.org/ref',libPath:'../lib/',transform:function(source,dest,point){if(!source.readyToUse||!dest.readyToUse){this.reportError("Proj4js initialization for "+source.srsCode+" not yet complete");return;}
+if(point.transformed){this.log("point already transformed");return;}
+if((source.srsProjNumber=="900913"&&dest.datumCode!="WGS84")||(dest.srsProjNumber=="900913"&&source.datumCode!="WGS84")){var wgs84=Proj4js.WGS84;this.transform(source,wgs84,point);point.transformed=false;source=wgs84;}
+if(source.projName=="longlat"){point.x*=Proj4js.common.D2R;point.y*=Proj4js.common.D2R;}else{if(source.to_meter){point.x*=source.to_meter;point.y*=source.to_meter;}
+source.inverse(point);}
+if(source.from_greenwich){point.x+=source.from_greenwich;}
+point=this.datum_transform(source.datum,dest.datum,point);if(dest.from_greenwich){point.x-=dest.from_greenwich;}
+if(dest.projName=="longlat"){point.x*=Proj4js.common.R2D;point.y*=Proj4js.common.R2D;}else{dest.forward(point);if(dest.to_meter){point.x/=dest.to_meter;point.y/=dest.to_meter;}}
+point.transformed=true;return point;},datum_transform:function(source,dest,point){if(source.compare_datums(dest)){return point;}
+if(source.datum_type==Proj4js.common.PJD_NODATUM||dest.datum_type==Proj4js.common.PJD_NODATUM){return point;}
+if(source.datum_type==Proj4js.common.PJD_GRIDSHIFT)
+{alert("ERROR: Grid shift transformations are not implemented yet.");}
+if(dest.datum_type==Proj4js.common.PJD_GRIDSHIFT)
+{alert("ERROR: Grid shift transformations are not implemented yet.");}
+if(source.es!=dest.es||source.a!=dest.a||source.datum_type==Proj4js.common.PJD_3PARAM||source.datum_type==Proj4js.common.PJD_7PARAM||dest.datum_type==Proj4js.common.PJD_3PARAM||dest.datum_type==Proj4js.common.PJD_7PARAM)
+{source.geodetic_to_geocentric(point);if(source.datum_type==Proj4js.common.PJD_3PARAM||source.datum_type==Proj4js.common.PJD_7PARAM){source.geocentric_to_wgs84(point);}
+if(dest.datum_type==Proj4js.common.PJD_3PARAM||dest.datum_type==Proj4js.common.PJD_7PARAM){dest.geocentric_from_wgs84(point);}
+dest.geocentric_to_geodetic(point);}
+if(dest.datum_type==Proj4js.common.PJD_GRIDSHIFT)
+{alert("ERROR: Grid shift transformations are not implemented yet.");}
+return point;},reportError:function(msg){},log:function(msg){},loadProjDefinition:function(proj){if(this.defs[proj.srsCode])return this.defs[proj.srsCode];var options={method:'get',asynchronous:false,onSuccess:this.defsLoadedFromDisk.bind(this,proj.srsCode)}
+var url=this.libPath+'defs/'+proj.srsAuth.toUpperCase()+proj.srsProjNumber+'.js';new OpenLayers.Ajax.Request(url,options);if(this.defs[proj.srsCode])return this.defs[proj.srsCode];if(this.proxyScript){var url=this.proxyScript+this.defsLookupService+'/'+proj.srsAuth+'/'+proj.srsProjNumber+'/proj4';options.onSuccess=this.defsLoadedFromService.bind(this,proj.srsCode)
+options.onFailure=this.defsFailed.bind(this,proj.srsCode);new OpenLayers.Ajax.Request(url,options);}
+return this.defs[proj.srsCode];},defsLoadedFromDisk:function(srsCode,transport){eval(transport.responseText);},defsLoadedFromService:function(srsCode,transport){this.defs[srsCode]=transport.responseText;Proj4js.defs[srsCode]=transport.responseText},defsFailed:function(srsCode){this.reportError('failed to load projection definition for: '+srsCode);OpenLayers.Util.extend(this.defs[srsCode],this.defs['WGS84']);},loadProjCode:function(projName){if(this.Proj[projName])return;var options={method:'get',asynchronous:false,onSuccess:this.loadProjCodeSuccess.bind(this,projName),onFailure:this.loadProjCodeFailure.bind(this,projName)};var url=this.libPath+'projCode/'+projName+'.js';new OpenLayers.Ajax.Request(url,options);},loadProjCodeSuccess:function(projName,transport){eval(transport.responseText);if(this.Proj[projName].dependsOn){this.loadProjCode(this.Proj[projName].dependsOn);}},loadProjCodeFailure:function(projName){Proj4js.reportError("failed to find projection file for: "+projName);}};Proj4js.Proj=OpenLayers.Class({readyToUse:false,title:null,projName:null,units:null,datum:null,initialize:function(srsCode){this.srsCode=srsCode.toUpperCase();if(this.srsCode.indexOf("EPSG")==0){this.srsCode=this.srsCode;this.srsAuth='epsg';this.srsProjNumber=this.srsCode.substring(5);}else{this.srsAuth='';this.srsProjNumber=this.srsCode;}
+var defs=Proj4js.loadProjDefinition(this);if(defs){this.parseDefs(defs);Proj4js.loadProjCode(this.projName);this.callInit();}},callInit:function(){Proj4js.log('projection script loaded for:'+this.projName);OpenLayers.Util.extend(this,Proj4js.Proj[this.projName]);this.init();this.mapXYToLonLat=this.inverse;this.lonLatToMapXY=this.forward;this.readyToUse=true;},parseDefs:function(proj4opts){this.defData=proj4opts;var paramName,paramVal;var paramArray=this.defData.split("+");for(var prop=0;prop<paramArray.length;prop++){var property=paramArray[prop].split("=");paramName=property[0].toLowerCase();paramVal=property[1];switch(paramName.replace(/\s/gi,"")){case"":break;case"title":this.title=paramVal;break;case"proj":this.projName=paramVal.replace(/\s/gi,"");break;case"units":this.units=paramVal.replace(/\s/gi,"");break;case"datum":this.datumCode=paramVal.replace(/\s/gi,"");break;case"nadgrids":this.nagrids=paramVal.replace(/\s/gi,"");break;case"ellps":this.ellps=paramVal.replace(/\s/gi,"");break;case"a":this.a=parseFloat(paramVal);break;case"b":this.b=parseFloat(paramVal);break;case"lat_0":this.lat0=paramVal*Proj4js.common.D2R;break;case"lat_1":this.lat1=paramVal*Proj4js.common.D2R;break;case"lat_2":this.lat2=paramVal*Proj4js.common.D2R;break;case"lat_ts":this.lat_ts=paramVal*Proj4js.common.D2R;break;case"lon_0":this.long0=paramVal*Proj4js.common.D2R;break;case"x_0":this.x0=parseFloat(paramVal);break;case"y_0":this.y0=parseFloat(paramVal);break;case"k_0":this.k0=parseFloat(paramVal);break;case"k":this.k0=parseFloat(paramVal);break;case"R_A":this.R=parseFloat(paramVal);break;case"zone":this.zone=parseInt(paramVal);break;case"south":this.utmSouth=true;break;case"towgs84":this.datum_params=paramVal.split(",");break;case"to_meter":this.to_meter=parseFloat(paramVal);break;case"from_greenwich":this.from_greenwich=paramVal*Proj4js.common.D2R;break;case"pm":paramVal=paramVal.replace(/\s/gi,"");this.from_greenwich=Proj4js.PrimeMeridian[paramVal]?Proj4js.PrimeMeridian[paramVal]*Proj4js.common.D2R:0.0;break;case"no_defs":break;default:Proj4js.log("Unrecognized parameter: "+paramName);}}
+this.deriveConstants();},deriveConstants:function(){if(this.nagrids=='@null')this.datumCode='none';if(this.datumCode&&this.datumCode!='none'){var datumDef=Proj4js.Datum[this.datumCode];if(datumDef){this.datum_params=datumDef.towgs84.split(',');this.ellps=datumDef.ellipse;this.datumName=datumDef.datumName;}}
+if(!this.a){var ellipse=Proj4js.Ellipsoid[this.ellps]?Proj4js.Ellipsoid[this.ellps]:Proj4js.Ellipsoid['WGS84'];OpenLayers.Util.extend(this,ellipse);}
+if(this.rf&&!this.b)this.b=(1.0-1.0/this.rf)*this.a;if(Math.abs(this.a-this.b)<Proj4js.common.EPSLN)this.sphere=true;this.a2=this.a*this.a;this.b2=this.b*this.b;this.es=(this.a2-this.b2)/this.a2;this.e=Math.sqrt(this.es);this.ep2=(this.a2-this.b2)/this.b2;if(!this.k0)this.k0=1.0;this.datum=new Proj4js.datum(this);}});Proj4js.Proj.longlat={init:function(){},forward:function(pt){return pt;},inverse:function(pt){return pt;}};Proj4js.defs={'WGS84':"+title=long/lat:WGS84 +proj=longlat +ellps=WGS84 +datum=WGS84",'EPSG:4326':"+title=long/lat:WGS84 +proj=longlat +a=6378137.0 +b=6356752.31424518 +ellps=WGS84 +datum=WGS84",'EPSG:4269':"+title=long/lat:NAD83 +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83"};Proj4js.common={PI:Math.PI,HALF_PI:Math.PI*0.5,TWO_PI:Math.PI*2,FORTPI:0.78539816339744833,R2D:57.2957795131,D2R:0.0174532925199,SEC_TO_RAD:4.84813681109535993589914102357e-6,EPSLN:1.0e-10,MAX_ITER:20,COS_67P5:0.38268343236508977,AD_C:1.0026000,PJD_UNKNOWN:0,PJD_3PARAM:1,PJD_7PARAM:2,PJD_GRIDSHIFT:3,PJD_WGS84:4,PJD_NODATUM:5,SRS_WGS84_SEMIMAJOR:6378137.0,msfnz:function(eccent,sinphi,cosphi){var con=eccent*sinphi;return cosphi/(Math.sqrt(1.0-con*con));},tsfnz:function(eccent,phi,sinphi){var con=eccent*sinphi;var com=.5*eccent;con=Math.pow(((1.0-con)/(1.0+con)),com);return(Math.tan(.5*(this.HALF_PI-phi))/con);},phi2z:function(eccent,ts){var eccnth=.5*eccent;var con,dphi;var phi=this.HALF_PI-2*Math.atan(ts);for(i=0;i<=15;i++){con=eccent*Math.sin(phi);dphi=this.HALF_PI-2*Math.atan(ts*(Math.pow(((1.0-con)/(1.0+con)),eccnth)))-phi;phi+=dphi;if(Math.abs(dphi)<=.0000000001)return phi;}
+alert("phi2z has NoConvergence");return(-9999);},qsfnz:function(eccent,sinphi,cosphi){var con;if(eccent>1.0e-7){con=eccent*sinphi;return((1.0-eccent*eccent)*(sinphi/(1.0-con*con)-(.5/eccent)*Math.log((1.0-con)/(1.0+con))));}else{return(2.0*sinphi);}},asinz:function(x){if(Math.abs(x)>1.0){x=(x>1.0)?1.0:-1.0;}
+return Math.asin(x);},e0fn:function(x){return(1.0-0.25*x*(1.0+x/16.0*(3.0+1.25*x)));},e1fn:function(x){return(0.375*x*(1.0+0.25*x*(1.0+0.46875*x)));},e2fn:function(x){return(0.05859375*x*x*(1.0+0.75*x));},e3fn:function(x){return(x*x*x*(35.0/3072.0));},mlfn:function(e0,e1,e2,e3,phi){return(e0*phi-e1*Math.sin(2.0*phi)+e2*Math.sin(4.0*phi)-e3*Math.sin(6.0*phi));},srat:function(esinp,exp){return(Math.pow((1.0-esinp)/(1.0+esinp),exp));},sign:function(x){if(x<0.0)return(-1);else return(1);},adjust_lon:function(x){x=(Math.abs(x)<this.PI)?x:(x-(this.sign(x)*this.TWO_PI));return x;}};Proj4js.datum=OpenLayers.Class({initialize:function(proj){this.datum_type=Proj4js.common.PJD_WGS84;if(proj.datumCode&&proj.datumCode=='none'){this.datum_type=Proj4js.common.PJD_NODATUM;}
+if(proj&&proj.datum_params){for(var i=0;i<proj.datum_params.length;i++){proj.datum_params[i]=parseFloat(proj.datum_params[i]);}
+if(proj.datum_params[0]!=0||proj.datum_params[1]!=0||proj.datum_params[2]!=0){this.datum_type=Proj4js.common.PJD_3PARAM;}
+if(proj.datum_params.length>3){if(proj.datum_params[3]!=0||proj.datum_params[4]!=0||proj.datum_params[5]!=0||proj.datum_params[6]!=0){this.datum_type=Proj4js.common.PJD_7PARAM;proj.datum_params[3]*=Proj4js.common.SEC_TO_RAD;proj.datum_params[4]*=Proj4js.common.SEC_TO_RAD;proj.datum_params[5]*=Proj4js.common.SEC_TO_RAD;proj.datum_params[6]=(proj.datum_params[6]/1000000.0)+1.0;}}}
+if(proj){this.a=proj.a;this.b=proj.b;this.es=proj.es;this.ep2=proj.ep2;this.datum_params=proj.datum_params;}},compare_datums:function(dest){if(this.datum_type!=dest.datum_type){return false;}else if(this.a!=dest.a||Math.abs(this.es-dest.es)>0.000000000050){return false;}else if(this.datum_type==Proj4js.common.PJD_3PARAM){return(this.datum_params[0]==dest.datum_params[0]&&this.datum_params[1]==dest.datum_params[1]&&this.datum_params[2]==dest.datum_params[2]);}else if(this.datum_type==Proj4js.common.PJD_7PARAM){return(this.datum_params[0]==dest.datum_params[0]&&this.datum_params[1]==dest.datum_params[1]&&this.datum_params[2]==dest.datum_params[2]&&this.datum_params[3]==dest.datum_params[3]&&this.datum_params[4]==dest.datum_params[4]&&this.datum_params[5]==dest.datum_params[5]&&this.datum_params[6]==dest.datum_params[6]);}else if(this.datum_type==Proj4js.common.PJD_GRIDSHIFT){return strcmp(pj_param(this.params,"snadgrids").s,pj_param(dest.params,"snadgrids").s)==0;}else{return true;}},geodetic_to_geocentric:function(p){var Longitude=p.x;var Latitude=p.y;var Height=p.z?p.z:0;var X;var Y;var Z;var Error_Code=0;var Rn;var Sin_Lat;var Sin2_Lat;var Cos_Lat;if(Latitude<-Proj4js.common.HALF_PI&&Latitude>-1.001*Proj4js.common.HALF_PI){Latitude=-Proj4js.common.HALF_PI;}else if(Latitude>Proj4js.common.HALF_PI&&Latitude<1.001*Proj4js.common.HALF_PI){Latitude=Proj4js.common.HALF_PI;}else if((Latitude<-Proj4js.common.HALF_PI)||(Latitude>Proj4js.common.HALF_PI)){Proj4js.reportError('geocent:lat out of range:'+Latitude);return null;}
+if(Longitude>Proj4js.common.PI)Longitude-=(2*Proj4js.common.PI);Sin_Lat=Math.sin(Latitude);Cos_Lat=Math.cos(Latitude);Sin2_Lat=Sin_Lat*Sin_Lat;Rn=this.a/(Math.sqrt(1.0e0-this.es*Sin2_Lat));X=(Rn+Height)*Cos_Lat*Math.cos(Longitude);Y=(Rn+Height)*Cos_Lat*Math.sin(Longitude);Z=((Rn*(1-this.es))+Height)*Sin_Lat;p.x=X;p.y=Y;p.z=Z;return Error_Code;},geocentric_to_geodetic:function(p){var genau=1.E-12;var genau2=(genau*genau);var maxiter=30;var P;var RR;var CT;var ST;var RX;var RK;var RN;var CPHI0;var SPHI0;var CPHI;var SPHI;var SDPHI;var At_Pole;var iter;var X=p.x;var Y=p.y;var Z=p.z?p.z:0.0;var Longitude;var Latitude;var Height;At_Pole=false;P=Math.sqrt(X*X+Y*Y);RR=Math.sqrt(X*X+Y*Y+Z*Z);if(P/this.a<genau){At_Pole=true;Longitude=0.0;if(RR/this.a<genau){Latitude=Proj4js.common.HALF_PI;Height=-this.b;return;}}else{Longitude=Math.atan2(Y,X);}
+CT=Z/RR;ST=P/RR;RX=1.0/Math.sqrt(1.0-this.es*(2.0-this.es)*ST*ST);CPHI0=ST*(1.0-this.es)*RX;SPHI0=CT*RX;iter=0;do
+{iter++;RN=this.a/Math.sqrt(1.0-this.es*SPHI0*SPHI0);Height=P*CPHI0+Z*SPHI0-RN*(1.0-this.es*SPHI0*SPHI0);RK=this.es*RN/(RN+Height);RX=1.0/Math.sqrt(1.0-RK*(2.0-RK)*ST*ST);CPHI=ST*(1.0-RK)*RX;SPHI=CT*RX;SDPHI=SPHI*CPHI0-CPHI*SPHI0;CPHI0=CPHI;SPHI0=SPHI;}
+while(SDPHI*SDPHI>genau2&&iter<maxiter);Latitude=Math.atan(SPHI/Math.abs(CPHI));p.x=Longitude;p.y=Latitude;p.z=Height;return p;},geocentric_to_geodetic_noniter:function(p){var X=p.x;var Y=p.y;var Z=p.z?p.z:0;var Longitude;var Latitude;var Height;var W;var W2;var T0;var T1;var S0;var S1;var Sin_B0;var Sin3_B0;var Cos_B0;var Sin_p1;var Cos_p1;var Rn;var Sum;var At_Pole;X=parseFloat(X);Y=parseFloat(Y);Z=parseFloat(Z);At_Pole=false;if(X!=0.0)
+{Longitude=Math.atan2(Y,X);}
+else
+{if(Y>0)
+{Longitude=Proj4js.common.HALF_PI;}
+else if(Y<0)
+{Longitude=-Proj4js.common.HALF_PI;}
+else
+{At_Pole=true;Longitude=0.0;if(Z>0.0)
+{Latitude=Proj4js.common.HALF_PI;}
+else if(Z<0.0)
+{Latitude=-Proj4js.common.HALF_PI;}
+else
+{Latitude=Proj4js.common.HALF_PI;Height=-this.b;return;}}}
+W2=X*X+Y*Y;W=Math.sqrt(W2);T0=Z*Proj4js.common.AD_C;S0=Math.sqrt(T0*T0+W2);Sin_B0=T0/S0;Cos_B0=W/S0;Sin3_B0=Sin_B0*Sin_B0*Sin_B0;T1=Z+this.b*this.ep2*Sin3_B0;Sum=W-this.a*this.es*Cos_B0*Cos_B0*Cos_B0;S1=Math.sqrt(T1*T1+Sum*Sum);Sin_p1=T1/S1;Cos_p1=Sum/S1;Rn=this.a/Math.sqrt(1.0-this.es*Sin_p1*Sin_p1);if(Cos_p1>=Proj4js.common.COS_67P5)
+{Height=W/Cos_p1-Rn;}
+else if(Cos_p1<=-Proj4js.common.COS_67P5)
+{Height=W/-Cos_p1-Rn;}
+else
+{Height=Z/Sin_p1+Rn*(this.es-1.0);}
+if(At_Pole==false)
+{Latitude=Math.atan(Sin_p1/Cos_p1);}
+p.x=Longitude;p.y=Latitude;p.z=Height;return p;},geocentric_to_wgs84:function(p){if(this.datum_type==Proj4js.common.PJD_3PARAM)
+{p.x+=this.datum_params[0];p.y+=this.datum_params[1];p.z+=this.datum_params[2];}
+else
+{var Dx_BF=this.datum_params[0];var Dy_BF=this.datum_params[1];var Dz_BF=this.datum_params[2];var Rx_BF=this.datum_params[3];var Ry_BF=this.datum_params[4];var Rz_BF=this.datum_params[5];var M_BF=this.datum_params[6];var x_out=M_BF*(p.x-Rz_BF*p.y+Ry_BF*p.z)+Dx_BF;var y_out=M_BF*(Rz_BF*p.x+p.y-Rx_BF*p.z)+Dy_BF;var z_out=M_BF*(-Ry_BF*p.x+Rx_BF*p.y+p.z)+Dz_BF;p.x=x_out;p.y=y_out;p.z=z_out;}},geocentric_from_wgs84:function(p){if(this.datum_type==Proj4js.common.PJD_3PARAM)
+{p.x-=this.datum_params[0];p.y-=this.datum_params[1];p.z-=this.datum_params[2];}
+else
+{var Dx_BF=this.datum_params[0];var Dy_BF=this.datum_params[1];var Dz_BF=this.datum_params[2];var Rx_BF=this.datum_params[3];var Ry_BF=this.datum_params[4];var Rz_BF=this.datum_params[5];var M_BF=this.datum_params[6];var x_tmp=(p.x-Dx_BF)/M_BF;var y_tmp=(p.y-Dy_BF)/M_BF;var z_tmp=(p.z-Dz_BF)/M_BF;p.x=x_tmp+Rz_BF*y_tmp-Ry_BF*z_tmp;p.y=-Rz_BF*x_tmp+y_tmp+Rx_BF*z_tmp;p.z=Ry_BF*x_tmp-Rx_BF*y_tmp+z_tmp;}}});Proj4js.Point=OpenLayers.Class({initialize:function(x,y,z){if(typeof x=='object'){this.x=x[0];this.y=x[1];this.z=x[2]||0.0;}else{this.x=x;this.y=y;this.z=z||0.0;}},clone:function(){return new Proj4js.Point(this.x,this.y,this.z);},toString:function(){return("x="+this.x+",y="+this.y);},toShortString:function(){return(this.x+", "+this.y);}});Proj4js.PrimeMeridian={"greenwich":0.0,"lisbon":-9.131906111111,"paris":2.337229166667,"bogota":-74.080916666667,"madrid":-3.687938888889,"rome":12.452333333333,"bern":7.439583333333,"jakarta":106.807719444444,"ferro":-17.666666666667,"brussels":4.367975,"stockholm":18.058277777778,"athens":23.7163375,"oslo":10.722916666667};Proj4js.Ellipsoid={"MERIT":{a:6378137.0,rf:298.257,ellipseName:"MERIT 1983"},"SGS85":{a:6378136.0,rf:298.257,ellipseName:"Soviet Geodetic System 85"},"GRS80":{a:6378137.0,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},"IAU76":{a:6378140.0,rf:298.257,ellipseName:"IAU 1976"},"airy":{a:6377563.396,b:6356256.910,ellipseName:"Airy 1830"},"APL4.":{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},"NWL9D":{a:6378145.0,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},"mod_airy":{a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},"andrae":{a:6377104.43,rf:300.0,ellipseName:"Andrae 1876 (Den., Iclnd.)"},"aust_SA":{a:6378160.0,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},"GRS67":{a:6378160.0,rf:298.2471674270,ellipseName:"GRS 67(IUGG 1967)"},"bessel":{a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},"bess_nam":{a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},"clrk66":{a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},"clrk80":{a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},"CPM":{a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},"delmbr":{a:6376428.0,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},"engelis":{a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},"evrst30":{a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},"evrst48":{a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},"evrst56":{a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},"evrst69":{a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},"evrstSS":{a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},"fschr60":{a:6378166.0,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},"fschr60m":{a:6378155.0,rf:298.3,ellipseName:"Fischer 1960"},"fschr68":{a:6378150.0,rf:298.3,ellipseName:"Fischer 1968"},"helmert":{a:6378200.0,rf:298.3,ellipseName:"Helmert 1906"},"hough":{a:6378270.0,rf:297.0,ellipseName:"Hough"},"intl":{a:6378388.0,rf:297.0,ellipseName:"International 1909 (Hayford)"},"kaula":{a:6378163.0,rf:298.24,ellipseName:"Kaula 1961"},"lerch":{a:6378139.0,rf:298.257,ellipseName:"Lerch 1979"},"mprts":{a:6397300.0,rf:191.0,ellipseName:"Maupertius 1738"},"new_intl":{a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},"plessis":{a:6376523.0,rf:6355863.0,ellipseName:"Plessis 1817 (France)"},"krass":{a:6378245.0,rf:298.3,ellipseName:"Krassovsky, 1942"},"SEasia":{a:6378155.0,b:6356773.3205,ellipseName:"Southeast Asia"},"walbeck":{a:6376896.0,b:6355834.8467,ellipseName:"Walbeck"},"WGS60":{a:6378165.0,rf:298.3,ellipseName:"WGS 60"},"WGS66":{a:6378145.0,rf:298.25,ellipseName:"WGS 66"},"WGS72":{a:6378135.0,rf:298.26,ellipseName:"WGS 72"},"WGS84":{a:6378137.0,rf:298.257223563,ellipseName:"WGS 84"},"sphere":{a:6370997.0,b:6370997.0,ellipseName:"Normal Sphere (r=6370997)"}};Proj4js.Datum={"WGS84":{towgs84:"0,0,0",ellipse:"WGS84",datumName:""},"GGRS87":{towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},"NAD83":{towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},"NAD27":{nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},"potsdam":{towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},"carthage":{towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},"hermannskogel":{towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"},"ire65":{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},"nzgd49":{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},"OSGB36":{towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"}};Proj4js.WGS84=new Proj4js.Proj('WGS84');Proj4js.Datum['OSB36']=Proj4js.Datum['OSGB36'];Proj4js.Proj.sterea={dependsOn:'gauss',init:function(){Proj4js.Proj['gauss'].init.apply(this);if(!this.rc){Proj4js.reportError("sterea:init:E_ERROR_0");return;}
+this.sinc0=Math.sin(this.phic0);this.cosc0=Math.cos(this.phic0);this.R2=2.0*this.rc;if(!this.title)this.title="Oblique Stereographic Alternative";},forward:function(p){p.x=Proj4js.common.adjust_lon(p.x-this.long0);Proj4js.Proj['gauss'].forward.apply(this,[p]);sinc=Math.sin(p.y);cosc=Math.cos(p.y);cosl=Math.cos(p.x);k=this.k0*this.R2/(1.0+this.sinc0*sinc+this.cosc0*cosc*cosl);p.x=k*cosc*Math.sin(p.x);p.y=k*(this.cosc0*sinc-this.sinc0*cosc*cosl);p.x=this.a*p.x+this.x0;p.y=this.a*p.y+this.y0;return p;},inverse:function(p){var lon,lat;p.x=(p.x-this.x0)/this.a;p.y=(p.y-this.y0)/this.a;p.x/=this.k0;p.y/=this.k0;if((rho=Math.sqrt(p.x*p.x+p.y*p.y))){c=2.0*Math.atan2(rho,this.R2);sinc=Math.sin(c);cosc=Math.cos(c);lat=Math.asin(cosc*this.sinc0+p.y*sinc*this.cosc0/rho);lon=Math.atan2(p.x*sinc,rho*this.cosc0*cosc-p.y*this.sinc0*sinc);}else{lat=this.phic0;lon=0.;}
+p.x=lon;p.y=lat;Proj4js.Proj['gauss'].inverse.apply(this,[p]);p.x=Proj4js.common.adjust_lon(p.x+this.long0);return p;}};Proj4js.Proj.aea={init:function(){if(Math.abs(this.lat1+this.lat2)<Proj4js.common.EPSLN){Proj4js.reportError("aeaInitEqualLatitudes");return;}
+this.temp=this.b/this.a;this.es=1.0-Math.pow(this.temp,2);this.e3=Math.sqrt(this.es);this.sin_po=Math.sin(this.lat1);this.cos_po=Math.cos(this.lat1);this.t1=this.sin_po
+this.con=this.sin_po;this.ms1=Proj4js.common.msfnz(this.e3,this.sin_po,this.cos_po);this.qs1=Proj4js.common.qsfnz(this.e3,this.sin_po,this.cos_po);this.sin_po=Math.sin(this.lat2);this.cos_po=Math.cos(this.lat2);this.t2=this.sin_po;this.ms2=Proj4js.common.msfnz(this.e3,this.sin_po,this.cos_po);this.qs2=Proj4js.common.qsfnz(this.e3,this.sin_po,this.cos_po);this.sin_po=Math.sin(this.lat0);this.cos_po=Math.cos(this.lat0);this.t3=this.sin_po;this.qs0=Proj4js.common.qsfnz(this.e3,this.sin_po,this.cos_po);if(Math.abs(this.lat1-this.lat2)>Proj4js.common.EPSLN){this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1);}else{this.ns0=this.con;}
+this.c=this.ms1*this.ms1+this.ns0*this.qs1;this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0;},forward:function(p){var lon=p.x;var lat=p.y;this.sin_phi=Math.sin(lat);this.cos_phi=Math.cos(lat);var qs=Proj4js.common.qsfnz(this.e3,this.sin_phi,this.cos_phi);var rh1=this.a*Math.sqrt(this.c-this.ns0*qs)/this.ns0;var theta=this.ns0*Proj4js.common.adjust_lon(lon-this.long0);var x=rh1*Math.sin(theta)+this.x0;var y=this.rh-rh1*Math.cos(theta)+this.y0;p.x=x;p.y=y;return p;},inverse:function(p){var rh1,qs,con,theta,lon,lat;p.x-=this.x0;p.y=this.rh-p.y+this.y0;if(this.ns0>=0){rh1=Math.sqrt(p.x*p.x+p.y*p.y);con=1.0;}else{rh1=-Math.sqrt(p.x*p.x+p.y*p.y);con=-1.0;}
+theta=0.0;if(rh1!=0.0){theta=Math.atan2(con*p.x,con*p.y);}
+con=rh1*this.ns0/this.a;qs=(this.c-con*con)/this.ns0;if(this.e3>=1e-10){con=1-.5*(1.0-this.es)*Math.log((1.0-this.e3)/(1.0+this.e3))/this.e3;if(Math.abs(Math.abs(con)-Math.abs(qs))>.0000000001){lat=this.phi1z(this.e3,qs);}else{if(qs>=0){lat=.5*PI;}else{lat=-.5*PI;}}}else{lat=this.phi1z(e3,qs);}
+lon=Proj4js.common.adjust_lon(theta/this.ns0+this.long0);p.x=lon;p.y=lat;return p;},phi1z:function(eccent,qs){var con,com,dphi;var phi=Proj4js.common.asinz(.5*qs);if(eccent<Proj4js.common.EPSLN)return phi;var eccnts=eccent*eccent;for(var i=1;i<=25;i++){sinphi=Math.sin(phi);cosphi=Math.cos(phi);con=eccent*sinphi;com=1.0-con*con;dphi=.5*com*com/cosphi*(qs/(1.0-eccnts)-sinphi/com+.5/eccent*Math.log((1.0-con)/(1.0+con)));phi=phi+dphi;if(Math.abs(dphi)<=1e-7)return phi;}
+Proj4js.reportError("aea:phi1z:Convergence error");return null;}};function phi4z(eccent,e0,e1,e2,e3,a,b,c,phi){var sinphi,sin2ph,tanph,ml,mlp,con1,con2,con3,dphi,i;phi=a;for(i=1;i<=15;i++){sinphi=Math.sin(phi);tanphi=Math.tan(phi);c=tanphi*Math.sqrt(1.0-eccent*sinphi*sinphi);sin2ph=Math.sin(2.0*phi);ml=e0*phi-e1*sin2ph+e2*Math.sin(4.0*phi)-e3*Math.sin(6.0*phi);mlp=e0-2.0*e1*Math.cos(2.0*phi)+4.0*e2*Math.cos(4.0*phi)-6.0*e3*Math.cos(6.0*phi);con1=2.0*ml+c*(ml*ml+b)-2.0*a*(c*ml+1.0);con2=eccent*sin2ph*(ml*ml+b-2.0*a*ml)/(2.0*c);con3=2.0*(a-ml)*(c*mlp-2.0/sin2ph)-2.0*mlp;dphi=con1/(con2+con3);phi+=dphi;if(Math.abs(dphi)<=.0000000001)return(phi);}
+Proj4js.reportError("phi4z: No convergence");return null;}
+function e4fn(x){var con,com;con=1.0+x;com=1.0-x;return(Math.sqrt((Math.pow(con,con))*(Math.pow(com,com))));}
+Proj4js.Proj.poly={init:function(){var temp;if(this.lat0=0)this.lat0=90;this.temp=this.b/this.a;this.es=1.0-Math.pow(this.temp,2);this.e=Math.sqrt(this.es);this.e0=Proj4js.common.e0fn(this.es);this.e1=Proj4js.common.e1fn(this.es);this.e2=Proj4js.common.e2fn(this.es);this.e3=Proj4js.common.e3fn(this.es);this.ml0=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat0);},forward:function(p){var sinphi,cosphi;var al;var c;var con,ml;var ms;var x,y;var lon=p.x;var lat=p.y;con=Proj4js.common.adjust_lon(lon-this.long0);if(Math.abs(lat)<=.0000001){x=this.x0+this.a*con;y=this.y0-this.a*this.ml0;}else{sinphi=Math.sin(lat);cosphi=Math.cos(lat);ml=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,lat);ms=Proj4js.common.msfnz(this.e,sinphi,cosphi);con=sinphi;x=this.x0+this.a*ms*Math.sin(con)/sinphi;y=this.y0+this.a*(ml-this.ml0+ms*(1.0-Math.cos(con))/sinphi);}
+p.x=x;p.y=y;return p;},inverse:function(p){var sin_phi,cos_phi;var al;var b;var c;var con,ml;var iflg;var lon,lat;p.x-=this.x0;p.y-=this.y0;al=this.ml0+p.y/this.a;iflg=0;if(Math.abs(al)<=.0000001){lon=p.x/this.a+this.long0;lat=0.0;}else{b=al*al+(p.x/this.a)*(p.x/this.a);iflg=phi4z(this.es,this.e0,this.e1,this.e2,this.e3,this.al,b,c,lat);if(iflg!=1)return(iflg);lon=Proj4js.common.adjust_lon((asinz(p.x*c/this.a)/Math.sin(lat))+this.long0);}
+p.x=lon;p.y=lat;return p;}};Proj4js.Proj.equi={init:function(){if(!this.x0)this.x0=0;if(!this.y0)this.y0=0;if(!this.lat0)this.lat0=0;if(!this.long0)this.long0=0;},forward:function(p){var lon=p.x;var lat=p.y;var dlon=Proj4js.common.adjust_lon(lon-this.long0);var x=this.x0+this.a*dlon*Math.cos(this.lat0);var y=this.y0+this.a*lat;this.t1=x;this.t2=Math.cos(this.lat0);p.x=x;p.y=y;return p;},inverse:function(p){p.x-=this.x0;p.y-=this.y0;var lat=p.y/this.a;if(Math.abs(lat)>Proj4js.common.HALF_PI){Proj4js.reportError("equi:Inv:DataError");}
+var lon=Proj4js.common.adjust_lon(this.long0+p.x/(this.a*Math.cos(this.lat0)));p.x=lon;p.y=lat;}};Proj4js.Proj.merc={init:function(){if(this.lat_ts){if(this.sphere){this.k0=Math.cos(this.lat_ts);}else{this.k0=Proj4js.common.msfnz(this.es,Math.sin(this.lat_ts),Math.cos(this.lat_ts));}}},forward:function(p){var lon=p.x;var lat=p.y;if(lat*Proj4js.common.R2D>90.0&&lat*Proj4js.common.R2D<-90.0&&lon*Proj4js.common.R2D>180.0&&lon*Proj4js.common.R2D<-180.0){Proj4js.reportError("merc:forward: llInputOutOfRange: "+lon+" : "+lat);return null;}
+var x,y;if(Math.abs(Math.abs(lat)-Proj4js.common.HALF_PI)<=Proj4js.common.EPSLN){Proj4js.reportError("merc:forward: ll2mAtPoles");return null;}else{if(this.sphere){x=this.x0+this.a*this.k0*Proj4js.common.adjust_lon(lon-this.long0);y=this.y0+this.a*this.k0*Math.log(Math.tan(Proj4js.common.FORTPI+0.5*lat));}else{var sinphi=Math.sin(lat);var ts=Proj4js.common.tsfnz(this.e,lat,sinphi);x=this.x0+this.a*this.k0*Proj4js.common.adjust_lon(lon-this.long0);y=this.y0-this.a*this.k0*Math.log(ts);}
+p.x=x;p.y=y;return p;}},inverse:function(p){var x=p.x-this.x0;var y=p.y-this.y0;var lon,lat;if(this.sphere){lat=Proj4js.common.HALF_PI-2.0*Math.atan(Math.exp(-y/this.a*this.k0));}else{var ts=Math.exp(-y/(this.a*this.k0));lat=Proj4js.common.phi2z(this.e,ts);if(lat==-9999){Proj4js.reportError("merc:inverse: lat = -9999");return null;}}
+lon=Proj4js.common.adjust_lon(this.long0+x/(this.a*this.k0));p.x=lon;p.y=lat;return p;}};Proj4js.Proj.utm={dependsOn:'tmerc',init:function(){if(!this.zone){Proj4js.reportError("utm:init: zone must be specified for UTM");return;}
+this.lat0=0.0;this.long0=((6*Math.abs(this.zone))-183)*Proj4js.common.D2R;this.x0=500000.0;this.y0=this.utmSouth?10000000.0:0.0;this.k0=0.9996;Proj4js.Proj['tmerc'].init.apply(this);this.forward=Proj4js.Proj['tmerc'].forward;this.inverse=Proj4js.Proj['tmerc'].inverse;}};Proj4js.Proj.eqdc={init:function(){if(!this.mode)this.mode=0;this.temp=this.b/this.a;this.es=1.0-Math.pow(this.temp,2);this.e=Math.sqrt(this.es);this.e0=Proj4js.common.e0fn(this.es);this.e1=Proj4js.common.e1fn(this.es);this.e2=Proj4js.common.e2fn(this.es);this.e3=Proj4js.common.e3fn(this.es);this.sinphi=Math.sin(this.lat1);this.cosphi=Math.cos(this.lat1);this.ms1=Proj4js.common.msfnz(this.e,this.sinphi,this.cosphi);this.ml1=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat1);if(this.mode!=0){if(Math.abs(this.lat1+this.lat2)<Proj4js.common.EPSLN){Proj4js.reportError("eqdc:Init:EqualLatitudes");}
+this.sinphi=Math.sin(this.lat2);this.cosphi=Math.cos(this.lat2);this.ms2=Proj4js.common.msfnz(this.e,this.sinphi,this.cosphi);this.ml2=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat2);if(Math.abs(this.lat1-this.lat2)>=Proj4js.common.EPSLN){this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1);}else{this.ns=this.sinphi;}}else{this.ns=this.sinphi;}
+this.g=this.ml1+this.ms1/this.ns;this.ml0=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat0);this.rh=this.a*(this.g-this.ml0);},forward:function(p){var lon=p.x;var lat=p.y;var ml=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,lat);var rh1=this.a*(this.g-ml);var theta=this.ns*Proj4js.common.adjust_lon(lon-this.long0);var x=this.x0+rh1*Math.sin(theta);var y=this.y0+this.rh-rh1*Math.cos(theta);p.x=x;p.y=y;return p;},inverse:function(p){p.x-=this.x0;p.y=this.rh-p.y+this.y0;var con,rh1;if(this.ns>=0){var rh1=Math.sqrt(p.x*p.x+p.y*p.y);var con=1.0;}else{rh1=-Math.sqrt(p.x*p.x+p.y*p.y);con=-1.0;}
+var theta=0.0;if(rh1!=0.0)theta=Math.atan2(con*p.x,con*p.y);var ml=this.g-rh1/this.a;var lat=this.phi3z(this.ml,this.e0,this.e1,this.e2,this.e3);var lon=Proj4js.common.adjust_lon(this.long0+theta/this.ns);p.x=lon;p.y=lat;return p;},phi3z:function(ml,e0,e1,e2,e3){var phi;var dphi;phi=ml;for(var i=0;i<15;i++){dphi=(ml+e1*Math.sin(2.0*phi)-e2*Math.sin(4.0*phi)+e3*Math.sin(6.0*phi))/e0-phi;phi+=dphi;if(Math.abs(dphi)<=.0000000001){return phi;}}
+Proj4js.reportError("PHI3Z-CONV:Latitude failed to converge after 15 iterations");return null;}};Proj4js.Proj.tmerc={init:function(){this.e0=Proj4js.common.e0fn(this.es);this.e1=Proj4js.common.e1fn(this.es);this.e2=Proj4js.common.e2fn(this.es);this.e3=Proj4js.common.e3fn(this.es);this.ml0=this.a*Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat0);},forward:function(p){var lon=p.x;var lat=p.y;var delta_lon=Proj4js.common.adjust_lon(lon-this.long0);var con;var x,y;var sin_phi=Math.sin(lat);var cos_phi=Math.cos(lat);if(this.sphere){var b=cos_phi*Math.sin(delta_lon);if((Math.abs(Math.abs(b)-1.0))<.0000000001){Proj4js.reportError("tmerc:forward: Point projects into infinity");return(93);}else{x=.5*this.a*this.k0*Math.log((1.0+b)/(1.0-b));con=Math.acos(cos_phi*Math.cos(delta_lon)/Math.sqrt(1.0-b*b));if(lat<0)con=-con;y=this.a*this.k0*(con-this.lat0);}}else{var al=cos_phi*delta_lon;var als=Math.pow(al,2);var c=this.ep2*Math.pow(cos_phi,2);var tq=Math.tan(lat);var t=Math.pow(tq,2);con=1.0-this.es*Math.pow(sin_phi,2);var n=this.a/Math.sqrt(con);var ml=this.a*Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,lat);x=this.k0*n*al*(1.0+als/6.0*(1.0-t+c+als/20.0*(5.0-18.0*t+Math.pow(t,2)+72.0*c-58.0*this.ep2)))+this.x0;y=this.k0*(ml-this.ml0+n*tq*(als*(0.5+als/24.0*(5.0-t+9.0*c+4.0*Math.pow(c,2)+als/30.0*(61.0-58.0*t+Math.pow(t,2)+600.0*c-330.0*this.ep2)))))+this.y0;}
+p.x=x;p.y=y;return p;},inverse:function(p){var con,phi;var delta_phi;var i;var max_iter=6;var lat,lon;if(this.sphere){var f=Math.exp(p.x/(this.a*this.k0));var g=.5*(f-1/f);var temp=this.lat0+p.y/(this.a*this.k0);var h=Math.cos(temp);con=Math.sqrt((1.0-h*h)/(1.0+g*g));lat=Math.asinz(con);if(temp<0)
+lat=-lat;if((g==0)&&(h==0)){lon=this.long0;}else{lon=Proj4js.common.adjust_lon(Math.atan2(g,h)+this.long0);}}else{var x=p.x-this.x0;var y=p.y-this.y0;con=(this.ml0+y/this.k0)/this.a;phi=con;for(i=0;;i++){delta_phi=((con+this.e1*Math.sin(2.0*phi)-this.e2*Math.sin(4.0*phi)+this.e3*Math.sin(6.0*phi))/this.e0)-phi;phi+=delta_phi;if(Math.abs(delta_phi)<=Proj4js.common.EPSLN)break;if(i>=max_iter){Proj4js.reportError("tmerc:inverse: Latitude failed to converge");return(95);}}
+if(Math.abs(phi)<Proj4js.common.HALF_PI){var sin_phi=Math.sin(phi);var cos_phi=Math.cos(phi);var tan_phi=Math.tan(phi);var c=this.ep2*Math.pow(cos_phi,2);var cs=Math.pow(c,2);var t=Math.pow(tan_phi,2);var ts=Math.pow(t,2);con=1.0-this.es*Math.pow(sin_phi,2);var n=this.a/Math.sqrt(con);var r=n*(1.0-this.es)/con;var d=x/(n*this.k0);var ds=Math.pow(d,2);lat=phi-(n*tan_phi*ds/r)*(0.5-ds/24.0*(5.0+3.0*t+10.0*c-4.0*cs-9.0*this.ep2-ds/30.0*(61.0+90.0*t+298.0*c+45.0*ts-252.0*this.ep2-3.0*cs)));lon=Proj4js.common.adjust_lon(this.long0+(d*(1.0-ds/6.0*(1.0+2.0*t+c-ds/20.0*(5.0-2.0*c+28.0*t-3.0*cs+8.0*this.ep2+24.0*ts)))/cos_phi));}else{lat=Proj4js.common.HALF_PI*Proj4js.common.sign(y);lon=this.long0;}}
+p.x=lon;p.y=lat;return p;}};Proj4js.defs["GOOGLE"]="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs";Proj4js.defs["EPSG:900913"]=Proj4js.defs["GOOGLE"];Proj4js.Proj.ortho={init:function(def){;this.sin_p14=Math.sin(this.lat0);this.cos_p14=Math.cos(this.lat0);},forward:function(p){var sinphi,cosphi;var dlon;var coslon;var ksp;var g;var lon=p.x;var lat=p.y;dlon=Proj4js.common.adjust_lon(lon-this.long0);sinphi=Math.sin(lat);cosphi=Math.cos(lat);coslon=Math.cos(dlon);g=this.sin_p14*sinphi+this.cos_p14*cosphi*coslon;ksp=1.0;if((g>0)||(Math.abs(g)<=Proj4js.common.EPSLN)){var x=this.a*ksp*cosphi*Math.sin(dlon);var y=this.y0+this.a*ksp*(this.cos_p14*sinphi-this.sin_p14*cosphi*coslon);}else{Proj4js.reportError("orthoFwdPointError");}
+p.x=x;p.y=y;return p;},inverse:function(p){var rh;var z;var sinz,cosz;var temp;var con;var lon,lat;p.x-=this.x0;p.y-=this.y0;rh=Math.sqrt(p.x*p.x+p.y*p.y);if(rh>this.a+.0000001){Proj4js.reportError("orthoInvDataError");}
+z=Proj4js.common.asinz(rh/this.a);sinz=Math.sin(z);cosi=Math.cos(z);lon=this.long0;if(Math.abs(rh)<=Proj4js.common.EPSLN){lat=this.lat0;}
+lat=Proj4js.common.asinz(cosz*this.sin_p14+(y*sinz*this.cos_p14)/rh);con=Math.abs(lat0)-Proj4js.common.HALF_PI;if(Math.abs(con)<=Proj4js.common.EPSLN){if(this.lat0>=0){lon=Proj4js.common.adjust_lon(this.long0+Math.atan2(p.x,-p.y));}else{lon=Proj4js.common.adjust_lon(this.long0-Math.atan2(-p.x,p.y));}}
+con=cosz-this.sin_p14*Math.sin(lat);if((Math.abs(con)>=Proj4js.common.EPSLN)||(Math.abs(x)>=Proj4js.common.EPSLN)){lon=Proj4js.common.adjust_lon(this.long0+Math.atan2((p.x*sinz*this.cos_p14),(con*rh)));}
+p.x=lon;p.y=lat;return p;}};Proj4js.Proj.stere={ssfn_:function(phit,sinphi,eccen){sinphi*=eccen;return(Math.tan(.5*(Proj4js.common.HALF_PI+phit))*Math.pow((1.-sinphi)/(1.+sinphi),.5*eccen));},TOL:1.e-8,NITER:8,CONV:1.e-10,S_POLE:0,N_POLE:1,OBLIQ:2,EQUIT:3,init:function(){this.phits=this.lat_ts?this.lat_ts:Proj4js.common.HALF_PI;var t=Math.abs(this.lat0);if((Math.abs(t)-Proj4js.common.HALF_PI)<Proj4js.common.EPSLN){this.mode=this.lat0<0.?this.S_POLE:this.N_POLE;}else{this.mode=t>Proj4js.common.EPSLN?this.OBLIQ:this.EQUIT;}
+this.phits=Math.abs(this.phits);if(this.es){var X;switch(this.mode){case this.N_POLE:case this.S_POLE:if(Math.abs(this.phits-Proj4js.common.HALF_PI)<Proj4js.common.EPSLN){this.akm1=2.*this.k0/Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e));}else{t=Math.sin(this.phits);this.akm1=Math.cos(this.phits)/Proj4js.common.tsfnz(this.e,this.phits,t);t*=this.e;this.akm1/=Math.sqrt(1.-t*t);}
+break;case this.EQUIT:this.akm1=2.*this.k0;break;case this.OBLIQ:t=Math.sin(this.lat0);X=2.*Math.atan(this.ssfn_(this.lat0,t,this.e))-Proj4js.common.HALF_PI;t*=this.e;this.akm1=2.*this.k0*Math.cos(this.lat0)/Math.sqrt(1.-t*t);this.sinX1=Math.sin(X);this.cosX1=Math.cos(X);break;}}else{switch(this.mode){case this.OBLIQ:this.sinph0=Math.sin(this.lat0);this.cosph0=Math.cos(this.lat0);case this.EQUIT:this.akm1=2.*this.k0;break;case this.S_POLE:case this.N_POLE:this.akm1=Math.abs(this.phits-Proj4js.common.HALF_PI)>=Proj4js.common.EPSLN?Math.cos(this.phits)/Math.tan(Proj4js.common.FORTPI-.5*this.phits):2.*this.k0;break;}}},forward:function(p){var lon=p.x;var lat=p.y;var x,y
+if(this.sphere){var sinphi,cosphi,coslam,sinlam;sinphi=Math.sin(lat);cosphi=Math.cos(lat);coslam=Math.cos(lon);sinlam=Math.sin(lon);switch(this.mode){case this.EQUIT:y=1.+cosphi*coslam;if(y<=Proj4js.common.EPSLN){F_ERROR;}
+y=this.akm1/y;x=y*cosphi*sinlam;y*=sinphi;break;case this.OBLIQ:y=1.+this.sinph0*sinphi+this.cosph0*cosphi*coslam;if(y<=Proj4js.common.EPSLN){F_ERROR;}
+y=this.akm1/y;x=y*cosphi*sinlam;y*=this.cosph0*sinphi-this.sinph0*cosphi*coslam;break;case this.N_POLE:coslam=-coslam;lat=-lat;case this.S_POLE:if(Math.abs(lat-Proj4js.common.HALF_PI)<this.TOL){F_ERROR;}
+y=this.akm1*Math.tan(Proj4js.common.FORTPI+.5*lat)
+x=sinlam*y;y*=coslam;break;}}else{coslam=Math.cos(lon);sinlam=Math.sin(lon);sinphi=Math.sin(lat);if(this.mode==this.OBLIQ||this.mode==this.EQUIT){X=2.*Math.atan(this.ssfn_(lat,sinphi,this.e));sinX=Math.sin(X-Proj4js.common.HALF_PI);cosX=Math.cos(X);}
+switch(this.mode){case this.OBLIQ:A=this.akm1/(this.cosX1*(1.+this.sinX1*sinX+this.cosX1*cosX*coslam));y=A*(this.cosX1*sinX-this.sinX1*cosX*coslam);x=A*cosX;break;case this.EQUIT:A=2.*this.akm1/(1.+cosX*coslam);y=A*sinX;x=A*cosX;break;case this.S_POLE:lat=-lat;coslam=-coslam;sinphi=-sinphi;case this.N_POLE:x=this.akm1*Proj4js.common.tsfnz(this.e,lat,sinphi);y=-x*coslam;break;}
+x=x*sinlam;}
+p.x=x*this.a+this.x0;p.y=y*this.a+this.y0;return p;},inverse:function(p){var x=(p.x-this.x0)/this.a;var y=(p.y-this.y0)/this.a;var lon,lat
+var cosphi,sinphi,tp=0.0,phi_l=0.0,rho,halfe=0.0,pi2=0.0;var i;if(this.sphere){var c,rh,sinc,cosc;rh=Math.sqrt(x*x+y*y);c=2.*Math.atan(rh/this.akm1);sinc=Math.sin(c);cosc=Math.cos(c);lon=0.;switch(this.mode){case this.EQUIT:if(Math.abs(rh)<=Proj4js.common.EPSLN){lat=0.;}else{lat=Math.asin(y*sinc/rh);}
+if(cosc!=0.||x!=0.)lon=Math.atan2(x*sinc,cosc*rh);break;case this.OBLIQ:if(Math.abs(rh)<=Proj4js.common.EPSLN){lat=this.phi0;}else{lat=Math.asin(cosc*sinph0+y*sinc*cosph0/rh);}
+c=cosc-sinph0*Math.sin(lat);if(c!=0.||x!=0.){lon=Math.atan2(x*sinc*cosph0,c*rh);}
+break;case this.N_POLE:y=-y;case this.S_POLE:if(Math.abs(rh)<=Proj4js.common.EPSLN){lat=this.phi0;}else{lat=Math.asin(this.mode==this.S_POLE?-cosc:cosc);}
+lon=(x==0.&&y==0.)?0.:Math.atan2(x,y);break;}}else{rho=Math.sqrt(x*x+y*y);switch(this.mode){case this.OBLIQ:case this.EQUIT:tp=2.*Math.atan2(rho*this.cosX1,this.akm1);cosphi=Math.cos(tp);sinphi=Math.sin(tp);if(rho==0.0){phi_l=Math.asin(cosphi*this.sinX1);}else{phi_l=Math.asin(cosphi*this.sinX1+(y*sinphi*this.cosX1/rho));}
+tp=Math.tan(.5*(Proj4js.common.HALF_PI+phi_l));x*=sinphi;y=rho*this.cosX1*cosphi-y*this.sinX1*sinphi;pi2=Proj4js.common.HALF_PI;halfe=.5*this.e;break;case this.N_POLE:y=-y;case this.S_POLE:tp=-rho/this.akm1
+phi_l=Proj4js.common.HALF_PI-2.*Math.atan(tp);pi2=-Proj4js.common.HALF_PI;halfe=-.5*this.e;break;}
+for(i=this.NITER;i--;phi_l=lat){sinphi=this.e*Math.sin(phi_l);lat=2.*Math.atan(tp*Math.pow((1.+sinphi)/(1.-sinphi),halfe))-pi2;if(Math.abs(phi_l-lat)<this.CONV){if(this.mode==this.S_POLE)lat=-lat;lon=(x==0.&&y==0.)?0.:Math.atan2(x,y);p.x=lon;p.y=lat
+return p;}}}}};Proj4js.Proj.mill={init:function(){},forward:function(p){var lon=p.x;var lat=p.y;dlon=Proj4js.common.adjust_lon(lon-this.long0);var x=this.x0+this.R*dlon;var y=this.y0+this.R*Math.log(Math.tan((Proj4js.common.PI/4.0)+(lat/2.5)))*1.25;p.x=x;p.y=y;return p;},inverse:function(p){p.x-=this.x0;p.y-=this.y0;var lon=Proj4js.common.adjust_lon(this.long0+p.x/this.R);var lat=2.5*(Math.atan(Math.exp(p.y/this.R/1.25))-Proj4js.common.PI/4.0);p.x=lon;p.y=lat;return p;}};Proj4js.Proj.sinu={init:function(){this.R=6370997.0;},forward:function(p){var x,y,delta_lon;var lon=p.x;var lat=p.y;delta_lon=Proj4js.common.adjust_lon(lon-this.long0);x=this.R*delta_lon*Math.cos(lat)+this.x0;y=this.R*lat+this.y0;p.x=x;p.y=y;return p;},inverse:function(p){var lat,temp,lon;p.x-=this.x0;p.y-=this.y0;lat=p.y/this.R;if(Math.abs(lat)>Proj4js.common.HALF_PI){Proj4js.reportError("sinu:Inv:DataError");}
+temp=Math.abs(lat)-Proj4js.common.HALF_PI;if(Math.abs(temp)>Proj4js.common.EPSLN){temp=this.long0+p.x/(this.R*Math.cos(lat));lon=Proj4js.common.adjust_lon(temp);}else{lon=this.long0;}
+p.x=lon;p.y=lat;return p;}};var GEOCENT_LAT_ERROR=0x0001;var COS_67P5=0.38268343236508977;var AD_C=1.0026000;function cs_geodetic_to_geocentric(cs,p){var Longitude=p.x;var Latitude=p.y;var Height=p.z;var X;var Y;var Z;var Error_Code=0;var Rn;var Sin_Lat;var Sin2_Lat;var Cos_Lat;if(Latitude<-HALF_PI&&Latitude>-1.001*HALF_PI)
+Latitude=-HALF_PI;else if(Latitude>HALF_PI&&Latitude<1.001*HALF_PI)
+Latitude=HALF_PI;else if((Latitude<-HALF_PI)||(Latitude>HALF_PI))
+{Error_Code|=GEOCENT_LAT_ERROR;}
+if(!Error_Code)
+{if(Longitude>PI)
+Longitude-=(2*PI);Sin_Lat=Math.sin(Latitude);Cos_Lat=Math.cos(Latitude);Sin2_Lat=Sin_Lat*Sin_Lat;Rn=cs.a/(Math.sqrt(1.0e0-cs.es*Sin2_Lat));X=(Rn+Height)*Cos_Lat*Math.cos(Longitude);Y=(Rn+Height)*Cos_Lat*Math.sin(Longitude);Z=((Rn*(1-cs.es))+Height)*Sin_Lat;}
+p.x=X;p.y=Y;p.z=Z;return Error_Code;}
+function cs_geocentric_to_geodetic(cs,p){var X=p.x;var Y=p.y;var Z=p.z;var Longitude;var Latitude;var Height;var W;var W2;var T0;var T1;var S0;var S1;var Sin_B0;var Sin3_B0;var Cos_B0;var Sin_p1;var Cos_p1;var Rn;var Sum;var At_Pole;X=parseFloat(X);Y=parseFloat(Y);Z=parseFloat(Z);At_Pole=false;if(X!=0.0)
+{Longitude=Math.atan2(Y,X);}
+else
+{if(Y>0)
+{Longitude=HALF_PI;}
+else if(Y<0)
+{Longitude=-HALF_PI;}
+else
+{At_Pole=true;Longitude=0.0;if(Z>0.0)
+{Latitude=HALF_PI;}
+else if(Z<0.0)
+{Latitude=-HALF_PI;}
+else
+{Latitude=HALF_PI;Height=-cs.b;return;}}}
+W2=X*X+Y*Y;W=Math.sqrt(W2);T0=Z*AD_C;S0=Math.sqrt(T0*T0+W2);Sin_B0=T0/S0;Cos_B0=W/S0;Sin3_B0=Sin_B0*Sin_B0*Sin_B0;T1=Z+cs.b*cs.ep2*Sin3_B0;Sum=W-cs.a*cs.es*Cos_B0*Cos_B0*Cos_B0;S1=Math.sqrt(T1*T1+Sum*Sum);Sin_p1=T1/S1;Cos_p1=Sum/S1;Rn=cs.a/Math.sqrt(1.0-cs.es*Sin_p1*Sin_p1);if(Cos_p1>=COS_67P5)
+{Height=W/Cos_p1-Rn;}
+else if(Cos_p1<=-COS_67P5)
+{Height=W/-Cos_p1-Rn;}
+else
+{Height=Z/Sin_p1+Rn*(cs.es-1.0);}
+if(At_Pole==false)
+{Latitude=Math.atan(Sin_p1/Cos_p1);}
+p.x=Longitude;p.y=Latitude;p.z=Height;return 0;}
+function cs_geocentric_to_wgs84(defn,p){if(defn.datum_type==PJD_3PARAM)
+{p.x+=defn.datum_params[0];p.y+=defn.datum_params[1];p.z+=defn.datum_params[2];}
+else
+{var Dx_BF=defn.datum_params[0];var Dy_BF=defn.datum_params[1];var Dz_BF=defn.datum_params[2];var Rx_BF=defn.datum_params[3];var Ry_BF=defn.datum_params[4];var Rz_BF=defn.datum_params[5];var M_BF=defn.datum_params[6];var x_out=M_BF*(p.x-Rz_BF*p.y+Ry_BF*p.z)+Dx_BF;var y_out=M_BF*(Rz_BF*p.x+p.y-Rx_BF*p.z)+Dy_BF;var z_out=M_BF*(-Ry_BF*p.x+Rx_BF*p.y+p.z)+Dz_BF;p.x=x_out;p.y=y_out;p.z=z_out;}}
+function cs_geocentric_from_wgs84(defn,p){if(defn.datum_type==PJD_3PARAM)
+{p.x-=defn.datum_params[0];p.y-=defn.datum_params[1];p.z-=defn.datum_params[2];}
+else
+{var Dx_BF=defn.datum_params[0];var Dy_BF=defn.datum_params[1];var Dz_BF=defn.datum_params[2];var Rx_BF=defn.datum_params[3];var Ry_BF=defn.datum_params[4];var Rz_BF=defn.datum_params[5];var M_BF=defn.datum_params[6];var x_tmp=(p.x-Dx_BF)/M_BF;var y_tmp=(p.y-Dy_BF)/M_BF;var z_tmp=(p.z-Dz_BF)/M_BF;p.x=x_tmp+Rz_BF*y_tmp-Ry_BF*z_tmp;p.y=-Rz_BF*x_tmp+y_tmp+Rx_BF*z_tmp;p.z=Ry_BF*x_tmp-Rx_BF*y_tmp+z_tmp;}}
+Proj4js.Proj.vandg={init:function(){this.R=6370997.0;},forward:function(p){var lon=p.x;var lat=p.y;var dlon=Proj4js.common.adjust_lon(lon-this.long0);var x,y;if(Math.abs(lat)<=Proj4js.common.EPSLN){x=this.x0+this.R*dlon;y=this.y0;}
+var theta=Proj4js.common.asinz(2.0*Math.abs(lat/Proj4js.common.PI));if((Math.abs(dlon)<=Proj4js.common.EPSLN)||(Math.abs(Math.abs(lat)-Proj4js.common.HALF_PI)<=Proj4js.common.EPSLN)){x=this.x0;if(lat>=0){y=this.y0+Proj4js.common.PI*this.R*Math.tan(.5*theta);}else{y=this.y0+Proj4js.common.PI*this.R*-Math.tan(.5*theta);}}
+var al=.5*Math.abs((Proj4js.common.PI/dlon)-(dlon/Proj4js.common.PI));var asq=al*al;var sinth=Math.sin(theta);var costh=Math.cos(theta);var g=costh/(sinth+costh-1.0);var gsq=g*g;var m=g*(2.0/sinth-1.0);var msq=m*m;var con=Proj4js.common.PI*this.R*(al*(g-msq)+Math.sqrt(asq*(g-msq)*(g-msq)-(msq+asq)*(gsq-msq)))/(msq+asq);if(dlon<0){con=-con;}
+x=this.x0+con;con=Math.abs(con/(Proj4js.common.PI*this.R));if(lat>=0){y=this.y0+Proj4js.common.PI*this.R*Math.sqrt(1.0-con*con-2.0*al*con);}else{y=this.y0-Proj4js.common.PI*this.R*Math.sqrt(1.0-con*con-2.0*al*con);}
+p.x=x;p.y=y;return p;},inverse:function(p){var dlon;var xx,yy,xys,c1,c2,c3;var al,asq;var a1;var m1;var con;var th1;var d;p.x-=this.x0;p.y-=this.y0;con=Proj4js.common.PI*this.R;xx=p.x/con;yy=p.y/con;xys=xx*xx+yy*yy;c1=-Math.abs(yy)*(1.0+xys);c2=c1-2.0*yy*yy+xx*xx;c3=-2.0*c1+1.0+2.0*yy*yy+xys*xys;d=yy*yy/c3+(2.0*c2*c2*c2/c3/c3/c3-9.0*c1*c2/c3/c3)/27.0;a1=(c1-c2*c2/3.0/c3)/c3;m1=2.0*Math.sqrt(-a1/3.0);con=((3.0*d)/a1)/m1;if(Math.abs(con)>1.0){if(con>=0.0){con=1.0;}else{con=-1.0;}}
+th1=Math.acos(con)/3.0;if(p.y>=0){lat=(-m1*Math.cos(th1+Proj4js.common.PI/3.0)-c2/3.0/c3)*Proj4js.common.PI;}else{lat=-(-m1*Math.cos(th1+PI/3.0)-c2/3.0/c3)*Proj4js.common.PI;}
+if(Math.abs(xx)<Proj4js.common.EPSLN){lon=this.long0;}
+lon=Proj4js.common.adjust_lon(this.long0+Proj4js.common.PI*(xys-1.0+Math.sqrt(1.0+2.0*(xx*xx-yy*yy)+xys*xys))/2.0/xx);p.x=lon;p.y=lat;return p;}};Proj4js.Proj.gauss={init:function(){sphi=Math.sin(this.lat0);cphi=Math.cos(this.lat0);cphi*=cphi;this.rc=Math.sqrt(1.0-this.es)/(1.0-this.es*sphi*sphi);this.C=Math.sqrt(1.0+this.es*cphi*cphi/(1.0-this.es));this.phic0=Math.asin(sphi/this.C);this.ratexp=0.5*this.C*this.e;this.K=Math.tan(0.5*this.phic0+Proj4js.common.FORTPI)/(Math.pow(Math.tan(0.5*this.lat0+Proj4js.common.FORTPI),this.C)*Proj4js.common.srat(this.e*sphi,this.ratexp));},forward:function(p){var lon=p.x;var lat=p.y;p.y=2.0*Math.atan(this.K*Math.pow(Math.tan(0.5*lat+Proj4js.common.FORTPI),this.C)*Proj4js.common.srat(this.e*Math.sin(lat),this.ratexp))-Proj4js.common.HALF_PI;p.x=this.C*lon;return p;},inverse:function(p){var DEL_TOL=1e-14;var lon=p.x/this.C;var lat=p.y;num=Math.pow(Math.tan(0.5*lat+Proj4js.common.FORTPI)/this.K,1./this.C);for(var i=Proj4js.common.MAX_ITER;i>0;--i){lat=2.0*Math.atan(num*Proj4js.common.srat(this.e*Math.sin(p.y),-0.5*this.e))-Proj4js.common.HALF_PI;if(Math.abs(lat-p.y)<DEL_TOL)break;p.y=lat;}
+if(!i){Proj4js.reportError("gauss:inverse:convergence failed");return null;}
+p.x=lon;p.y=lat;return p;}};Proj4js.Proj.omerc={init:function(){if(!this.mode)this.mode=0;if(!this.lon1){this.lon1=0;this.mode=1;}
+if(!this.lon2)this.lon2=0;if(!this.lat2)this.lat2=0;var temp=this.b/this.a;var es=1.0-Math.pow(temp,2);var e=Math.sqrt(es);this.sin_p20=Math.sin(this.lat0);this.cos_p20=Math.cos(this.lat0);this.con=1.0-this.es*this.sin_p20*this.sin_p20;this.com=Math.sqrt(1.0-es);this.bl=Math.sqrt(1.0+this.es*Math.pow(this.cos_p20,4.0)/(1.0-es));this.al=this.a*this.bl*this.k0*this.com/this.con;if(Math.abs(this.lat0)<Proj4js.common.EPSLN){this.ts=1.0;this.d=1.0;this.el=1.0;}else{this.ts=Proj4js.common.tsfnz(this.e,this.lat0,this.sin_p20);this.con=Math.sqrt(this.con);this.d=this.bl*this.com/(this.cos_p20*this.con);if((this.d*this.d-1.0)>0.0){if(this.lat0>=0.0){this.f=this.d+Math.sqrt(this.d*this.d-1.0);}else{this.f=this.d-Math.sqrt(this.d*this.d-1.0);}}else{this.f=this.d;}
+this.el=this.f*Math.pow(this.ts,this.bl);}
+if(this.mode!=0){this.g=.5*(this.f-1.0/this.f);this.gama=Proj4js.common.asinz(Math.sin(this.alpha)/this.d);this.longc=this.longc-Proj4js.common.asinz(this.g*Math.tan(this.gama))/this.bl;this.con=Math.abs(this.lat0);if((this.con>Proj4js.common.EPSLN)&&(Math.abs(this.con-Proj4js.common.HALF_PI)>Proj4js.common.EPSLN)){this.singam=Math.sin(this.gama);this.cosgam=Math.cos(this.gama);this.sinaz=Math.sin(this.alpha);this.cosaz=Math.cos(this.alpha);if(this.lat0>=0){this.u=(this.al/this.bl)*Math.atan(Math.sqrt(this.d*this.d-1.0)/this.cosaz);}else{this.u=-(this.al/this.bl)*Math.atan(Math.sqrt(this.d*this.d-1.0)/this.cosaz);}}else{Proj4js.reportError("omerc:Init:DataError");}}else{this.sinphi=Math.sin(this.at1);this.ts1=Proj4js.common.tsfnz(this.e,this.lat1,this.sinphi);this.sinphi=Math.sin(this.lat2);this.ts2=Proj4js.common.tsfnz(this.e,this.lat2,this.sinphi);this.h=Math.pow(this.ts1,this.bl);this.l=Math.pow(this.ts2,this.bl);this.f=this.el/this.h;this.g=.5*(this.f-1.0/this.f);this.j=(this.el*this.el-this.l*this.h)/(this.el*this.el+this.l*this.h);this.p=(this.l-this.h)/(this.l+this.h);this.dlon=this.lon1-this.lon2;if(this.dlon<-Proj4js.common.PI)this.lon2=this.lon2-2.0*Proj4js.common.PI;if(this.dlon>Proj4js.common.PI)this.lon2=this.lon2+2.0*Proj4js.common.PI;this.dlon=this.lon1-this.lon2;this.longc=.5*(this.lon1+this.lon2)-Math.atan(this.j*Math.tan(.5*this.bl*this.dlon)/this.p)/this.bl;this.dlon=Proj4js.common.adjust_lon(this.lon1-this.longc);this.gama=Math.atan(Math.sin(this.bl*this.dlon)/this.g);this.alpha=Proj4js.common.asinz(this.d*Math.sin(this.gama));if(Math.abs(this.lat1-this.lat2)<=Proj4js.common.EPSLN){Proj4js.reportError("omercInitDataError");}else{this.con=Math.abs(this.lat1);}
+if((this.con<=Proj4js.common.EPSLN)||(Math.abs(this.con-HALF_PI)<=Proj4js.common.EPSLN)){Proj4js.reportError("omercInitDataError");}else{if(Math.abs(Math.abs(this.lat0)-Proj4js.common.HALF_PI)<=Proj4js.common.EPSLN){Proj4js.reportError("omercInitDataError");}}
+this.singam=Math.sin(this.gam);this.cosgam=Math.cos(this.gam);this.sinaz=Math.sin(this.alpha);this.cosaz=Math.cos(this.alpha);if(this.lat0>=0){this.u=(this.al/this.bl)*Math.atan(Math.sqrt(this.d*this.d-1.0)/this.cosaz);}else{this.u=-(this.al/this.bl)*Math.atan(Math.sqrt(this.d*this.d-1.0)/this.cosaz);}}},forward:function(p){var theta;var sin_phi,cos_phi;var b;var c,t,tq;var con,n,ml;var q,us,vl;var ul,vs;var s;var dlon;var ts1;var lon=p.x;var lat=p.y;sin_phi=Math.sin(lat);dlon=Proj4js.common.adjust_lon(lon-this.longc);vl=Math.sin(this.bl*dlon);if(Math.abs(Math.abs(lat)-Proj4js.common.HALF_PI)>Proj4js.common.EPSLN){ts1=Proj4js.common.tsfnz(this.e,lat,sin_phi);q=this.el/(Math.pow(ts1,this.bl));s=.5*(q-1.0/q);t=.5*(q+1.0/q);ul=(s*this.singam-vl*this.cosgam)/t;con=Math.cos(this.bl*dlon);if(Math.abs(con)<.0000001){us=this.al*this.bl*dlon;}else{us=this.al*Math.atan((s*this.cosgam+vl*this.singam)/con)/this.bl;if(con<0)us=us+Proj4js.common.PI*this.al/this.bl;}}else{if(lat>=0){ul=this.singam;}else{ul=-this.singam;}
+us=this.al*lat/this.bl;}
+if(Math.abs(Math.abs(ul)-1.0)<=Proj4js.common.EPSLN){Proj4js.reportError("omercFwdInfinity");}
+vs=.5*this.al*Math.log((1.0-ul)/(1.0+ul))/this.bl;us=us-this.u;var x=this.x0+vs*this.cosaz+us*this.sinaz;var y=this.y0+us*this.cosaz-vs*this.sinaz;p.x=x;p.y=y;return p;},inverse:function(p){var delta_lon;var theta;var delta_theta;var sin_phi,cos_phi;var b;var c,t,tq;var con,n,ml;var vs,us,q,s,ts1;var vl,ul,bs;var dlon;var flag;p.x-=this.x0;p.y-=this.y0;flag=0;vs=p.x*this.cosaz-p.y*this.sinaz;us=p.y*this.cosaz+p.x*this.sinaz;us=us+this.u;q=Math.exp(-this.bl*vs/this.al);s=.5*(q-1.0/q);t=.5*(q+1.0/q);vl=Math.sin(this.bl*us/this.al);ul=(vl*this.cosgam+s*this.singam)/t;if(Math.abs(Math.abs(ul)-1.0)<=Proj4js.common.EPSLN)
+{lon=this.longc;if(ul>=0.0){lat=Proj4js.common.HALF_PI;}else{lat=-Proj4js.common.HALF_PI;}}else{con=1.0/this.bl;ts1=Math.pow((this.el/Math.sqrt((1.0+ul)/(1.0-ul))),con);lat=Proj4js.common.phi2z(this.e,ts1);theta=this.longc-Math.atan2((s*this.cosgam-vl*this.singam),con)/this.bl;lon=Proj4js.common.adjust_lon(theta);}
+p.x=lon;p.y=lat;return p;}};Proj4js.Proj.lcc={init:function(){if(!this.lat2){this.lat2=this.lat0;}
+if(!this.k0)this.k0=1.0;if(Math.abs(this.lat1+this.lat2)<Proj4js.common.EPSLN){Proj4js.reportError("lcc:init: Equal Latitudes");return;}
+var temp=this.b/this.a;this.e=Math.sqrt(1.0-temp*temp);var sin1=Math.sin(this.lat1);var cos1=Math.cos(this.lat1);var ms1=Proj4js.common.msfnz(this.e,sin1,cos1);var ts1=Proj4js.common.tsfnz(this.e,this.lat1,sin1);var sin2=Math.sin(this.lat2);var cos2=Math.cos(this.lat2);var ms2=Proj4js.common.msfnz(this.e,sin2,cos2);var ts2=Proj4js.common.tsfnz(this.e,this.lat2,sin2);var ts0=Proj4js.common.tsfnz(this.e,this.lat0,Math.sin(this.lat0));if(Math.abs(this.lat1-this.lat2)>Proj4js.common.EPSLN){this.ns=Math.log(ms1/ms2)/Math.log(ts1/ts2);}else{this.ns=sin1;}
+this.f0=ms1/(this.ns*Math.pow(ts1,this.ns));this.rh=this.a*this.f0*Math.pow(ts0,this.ns);if(!this.title)this.title="Lambert Conformal Conic";},forward:function(p){var lon=p.x;var lat=p.y;if(lat<=90.0&&lat>=-90.0&&lon<=180.0&&lon>=-180.0){}else{Proj4js.reportError("lcc:forward: llInputOutOfRange: "+lon+" : "+lat);return null;}
+var con=Math.abs(Math.abs(lat)-Proj4js.common.HALF_PI);var ts;if(con>Proj4js.common.EPSLN){ts=Proj4js.common.tsfnz(this.e,lat,Math.sin(lat));rh1=this.a*this.f0*Math.pow(ts,this.ns);}else{con=lat*this.ns;if(con<=0){Proj4js.reportError("lcc:forward: No Projection");return null;}
+rh1=0;}
+var theta=this.ns*Proj4js.common.adjust_lon(lon-this.long0);p.x=this.k0*(rh1*Math.sin(theta))+this.x0;p.y=this.k0*(this.rh-rh1*Math.cos(theta))+this.y0;return p;},inverse:function(p){var rh1,con,ts;var lat,lon;x=(p.x-this.x0)/this.k0;y=(this.rh-(p.y-this.y0)/this.k0);if(this.ns>0){rh1=Math.sqrt(x*x+y*y);con=1.0;}else{rh1=-Math.sqrt(x*x+y*y);con=-1.0;}
+var theta=0.0;if(rh1!=0){theta=Math.atan2((con*x),(con*y));}
+if((rh1!=0)||(this.ns>0.0)){con=1.0/this.ns;ts=Math.pow((rh1/(this.a*this.f0)),con);lat=Proj4js.common.phi2z(this.e,ts);if(lat==-9999)return null;}else{lat=-Proj4js.common.HALF_PI;}
+lon=Proj4js.common.adjust_lon(theta/this.ns+this.long0);p.x=lon;p.y=lat;return p;}};Proj4js.Proj.laea={init:function(){this.sin_lat_o=Math.sin(this.lat0);this.cos_lat_o=Math.cos(this.lat0);},forward:function(p){var lon=p.x;var lat=p.y;var delta_lon=Proj4js.common.adjust_lon(lon-this.long0);var sin_lat=Math.sin(lat);var cos_lat=Math.cos(lat);var sin_delta_lon=Math.sin(delta_lon);var cos_delta_lon=Math.cos(delta_lon);var g=this.sin_lat_o*sin_lat+this.cos_lat_o*cos_lat*cos_delta_lon;if(g==-1.0){Proj4js.reportError("laea:fwd:Point projects to a circle of radius "+2.0*R);return null;}
+var ksp=this.a*Math.sqrt(2.0/(1.0+g));var x=ksp*cos_lat*sin_delta_lon+this.x0;var y=ksp*(this.cos_lat_o*sin_lat-this.sin_lat_o*cos_lat*cos_delta_lon)+this.x0;p.x=x;p.y=y
+return p;},inverse:function(p){p.x-=this.x0;p.y-=this.y0;var Rh=Math.sqrt(p.x*p.x+p.y*p.y);var temp=Rh/(2.0*this.a);if(temp>1){Proj4js.reportError("laea:Inv:DataError");return null;}
+var z=2.0*Proj4js.common.asinz(temp);var sin_z=Math.sin(z);var cos_z=Math.cos(z);var lon=this.long0;if(Math.abs(Rh)>Proj4js.common.EPSLN){var lat=Proj4js.common.asinz(this.sin_lat_o*cos_z+this.cos_lat_o*sin_z*p.y/Rh);var temp=Math.abs(this.lat0)-Proj4js.common.HALF_PI;if(Math.abs(temp)>Proj4js.common.EPSLN){temp=cos_z-this.sin_lat_o*Math.sin(lat);if(temp!=0.0)lon=Proj4js.common.adjust_lon(this.long0+Math.atan2(p.x*sin_z*this.cos_lat_o,temp*Rh));}else if(this.lat0<0.0){lon=Proj4js.common.adjust_lon(this.long0-Math.atan2(-p.x,p.y));}else{lon=Proj4js.common.adjust_lon(this.long0+Math.atan2(p.x,-p.y));}}else{lat=this.lat0;}
+p.x=lon;p.y=lat;return p;}};Proj4js.Proj.aeqd={init:function(){this.sin_p12=Math.sin(this.lat0)
+this.cos_p12=Math.cos(this.lat0)},forward:function(p){var lon=p.x;var lat=p.y;var ksp;var sinphi=Math.sin(p.y);var cosphi=Math.cos(p.y);var dlon=Proj4js.common.adjust_lon(lon-this.long0);var coslon=Math.cos(dlon);var g=this.sin_p12*sinphi+this.cos_p12*cosphi*coslon;if(Math.abs(Math.abs(g)-1.0)<Proj4js.common.EPSLN){ksp=1.0;if(g<0.0){Proj4js.reportError("aeqd:Fwd:PointError");return;}}else{var z=Math.acos(g);ksp=z/Math.sin(z);}
+p.x=this.x0+this.a*ksp*cosphi*Math.sin(dlon);p.y=this.y0+this.a*ksp*(this.cos_p12*sinphi-this.sin_p12*cosphi*coslon);return p;},inverse:function(p){p.x-=this.x0;p.y-=this.y0;var rh=Math.sqrt(p.x*p.x+p.y*p.y);if(rh>(2.0*Proj4js.common.HALF_PI*this.a)){Proj4js.reportError("aeqdInvDataError");return;}
+var z=rh/this.a;var sinz=Math.sin(z)
+var cosz=Math.cos(z)
+var lon=this.long0;var lat;if(Math.abs(rh)<=Proj4js.common.EPSLN){lat=this.lat0;}else{lat=Proj4js.common.asinz(cosz*this.sin_p12+(p.y*sinz*this.cos_p12)/rh);var con=Math.abs(this.lat0)-Proj4js.common.HALF_PI;if(Math.abs(con)<=Proj4js.common.EPSLN){if(lat0>=0.0){lon=Proj4js.common.adjust_lon(this.long0+Math.atan2(p.x,-p.y));}else{lon=Proj4js.common.adjust_lon(this.long0-Math.atan2(-p.x,p.y));}}else{con=cosz-this.sin_p12*Math.sin(lat);if((Math.abs(con)<Proj4js.common.EPSLN)&&(Math.abs(p.x)<Proj4js.common.EPSLN)){}else{var temp=Math.atan2((p.x*sinz*this.cos_p12),(con*rh));lon=Proj4js.common.adjust_lon(this.long0+Math.atan2((p.x*sinz*this.cos_p12),(con*rh)));}}}
+p.x=lon;p.y=lat;return p;}};Proj4js.Proj.moll={init:function(){},forward:function(p){var lon=p.x;var lat=p.y;var delta_lon=Proj4js.common.adjust_lon(lon-this.long0);var theta=lat;var con=Proj4js.common.PI*Math.sin(lat);for(var i=0;;i++){var delta_theta=-(theta+Math.sin(theta)-con)/(1.0+Math.cos(theta));theta+=delta_theta;if(Math.abs(delta_theta)<Proj4js.common.EPSLN)break;if(i>=50){Proj4js.reportError("moll:Fwd:IterationError");}}
+theta/=2.0;if(Proj4js.common.PI/2-Math.abs(lat)<Proj4js.common.EPSLN)delta_lon=0;var x=0.900316316158*this.R*delta_lon*Math.cos(theta)+this.x0;var y=1.4142135623731*this.R*Math.sin(theta)+this.y0;p.x=x;p.y=y;return p;},inverse:function(p){var theta;var arg;p.x-=this.x0;var arg=p.y/(1.4142135623731*this.R);if(Math.abs(arg)>0.999999999999)arg=0.999999999999;var theta=Math.asin(arg);var lon=Proj4js.common.adjust_lon(this.long0+(p.x/(0.900316316158*this.R*Math.cos(theta))));if(lon<(-Proj4js.common.PI))lon=-Proj4js.common.PI;if(lon>Proj4js.common.PI)lon=Proj4js.common.PI;arg=(2.0*theta+Math.sin(2.0*theta))/Proj4js.common.PI;if(Math.abs(arg)>1.0)arg=1.0;var lat=Math.asin(arg);p.x=lon;p.y=lat;return p;}};
\ No newline at end of file
Index: lib/spatial/mapbuilder/CHANGES
===================================================================
--- lib/spatial/mapbuilder/CHANGES	(revision 4306)
+++ lib/spatial/mapbuilder/CHANGES	(revision 4307)
@@ -1,10 +1,337 @@
 
 mapbuilder-lib Release Information
 ==================================
-$Id$
+$Id: CHANGES 3969 2008-04-12 11:41:46Z camerons $
 
 This file contains information about updates to each release:
 
+
+mapbuilder-lib-1.5-rc2
+======================
+This is a minor release, addressing some bug fixes, compatibility with IE7 and Firefox 3, and adds a catalog client.
+
+It covers the following:
+* Javascript was cleaned up to be compatible with Openlayers coding practices.
+* Address issues triggered when working with Prototype.js. MAP-485
+* A number of bug fixes
+* Old redundant widgets were moved to an archive
+* Introduction of a catalog search example
+* Added support for IE7 and Firefox 3.
+
+mapbuilder-lib-1.5-rc1
+======================
+
+mapbuilder-lib-1.5-alpha2
+==========================
+This Mapbuilder release is largely a bugfix and cleanup release on the
+road to rc1.
+
+Note: A number of the current and fixed bugs are tied to the progress of the
+larger tasks in the OpenLayers integration. See MAP-259 for an overview.
+
+Bugs fixed:
+----------
+MAP-394		"MAP-264 /lib/widget/WebServiceForm.js"
+MAP-367		"MAP-264 /lib/widget/Measurement.js"
+MAP-338		"MAP-264 /lib/widget/GetFeatureInfo.js"
+MAP-387		"MAP-264 /lib/widget/TimeSeries.js"
+MAP-362		"MAP-264 /lib/widget/MapPane2.js"
+MAP-361		"MAP-264 /lib/widget/MapPane.js"
+MAP-350		"MAP-264 /lib/widget/GoogleMapZoomOut.js"
+MAP-349		"MAP-264 /lib/widget/GoogleMapZoomIn.js"
+MAP-348		"MAP-264 /lib/widget/GoogleMapDragPan.js"
+MAP-347		"MAP-264 /lib/widget/GmlRendererWZ.js"
+MAP-346		"MAP-264 /lib/widget/GmlRendererWKT.js"
+MAP-345		"MAP-264 /lib/widget/GmlRendererVG.js"
+MAP-343		"MAP-264 /lib/widget/GmlRendererSVG.js"
+MAP-341		"MAP-264 /lib/widget/GmlRenderer.js"
+MAP-340		"MAP-264 /lib/widget/GmlPointRenderer.js"
+MAP-339		"MAP-264 /lib/widget/GetMarkerInfo.js"
+MAP-337		"MAP-264 /lib/widget/GeoRssRenderer.js"
+MAP-336		"MAP-264 /lib/widget/GeoRssParser.js"
+MAP-314		"MAP-264 /lib/widget/AoiBoxWZ.js"
+MAP-312		"MAP-264 /lib/widget/AoiBoxDHTML.js"
+MAP-311		"MAP-264 /lib/widget/AoiBox2.js"
+MAP-295		"MAP-262 /lib/tool/MouseClickHandler.js"
+MAP-293		"MAP-262 /lib/tool/GoogleMapTools.js"
+MAP-288		"MAP-262 /lib/tool/DragPanHandler.js"
+MAP-286		"MAP-262 /lib/tool/AutoResize.js"
+MAP-285		"MAP-262 /lib/tool/AoiMouseHandler.js"
+MAP-272		"MAP-261 /lib/model/GetMap.js"
+MAP-265		/lib/graphics
+MAP-260		"MAP-265 /lib/graphics"
+MAP-422		lib/util/Utils.js::transformNodeToString() can create invalid XML
+MAP-416		"MAP-412 create a list of files to be deprecated"
+MAP-414		"MAP-412 ceate a list of files to be archived"
+MAP-413		"MAP-412 create /archive structure"
+MAP-412		Archiving and deprecating files
+MAP-409		"MAP-264 /lib/Widget/GmlRendererBase.js"
+MAP-407		"MAP-264 /lib/widget/TipWidgetBase.js"
+MAP-400		"MAP-264 /lib/widget/WmsCapabilitiesImport.js"
+MAP-399		"MAP-264 /lib/widget/WktParser.js"
+MAP-378		"MAP-264 /lib/widget/SelectAllMapLayers.js"
+MAP-360		"MAP-264 /lib/widget/MapImage.js"
+MAP-359		"MAP-264 /lib/widget/Locations.js"
+MAP-357		"MAP-264 /lib/widget/Loading.js"
+MAP-356		"MAP-264 /lib/widget/LegendGraphic.js"
+MAP-344		"MAP-264 /lib/widget/GmlRendererTest.js"
+MAP-332		"MAP-264 /lib/widget/FeatureListSF.js"
+MAP-331		"MAP-264 /lib/widget/FeatureList.js"
+MAP-320		"MAP-264 /lib/widget/ClickPass.js"
+MAP-258		"MAP-204 AoiForm.js"
+MAP-252		"MAP-196 Button.js"
+MAP-245		"MAP-220 InsertFeature.js"
+MAP-244		"MAP-201 MapScaleBar.js"
+MAP-243		"MAP-220 DeleteFeature.js"
+MAP-227		"MAP-220 EditPolygon.js"
+MAP-226		"MAP-220 EditLine.js"
+MAP-225		"MAP-220 EditPoint.js"
+MAP-224		"MAP-222 GeoRSSRenderer.js"
+MAP-223		"MAP-222 GMLRendererOL.js"
+MAP-219		"MAP-204 Widget(s) for management of maptips with onmouseover and onclick for vector layers"
+MAP-218		"MAP-201 Graticule.js"
+MAP-216		"MAP-196 SetAoi.js"
+MAP-205		"MAP-204 WfsGetFeature.js"
+MAP-203		"MAP-201 CursorTrack.js"
+MAP-202		"MAP-201 OverviewMap.js"
+MAP-200		"MAP-196 ZoomOut.js"
+MAP-199		"MAP-196 ZoomIn.js"
+MAP-195		double define of var coords in function
+MAP-193		README should be updated to reflect released version
+MAP-173		Austrian projections for Proj.js
+MAP-169		ButtonBase.js, RssLayer.js, FeatureFactory.js, WfsQueryLayer.js use fixed "mainMapContainer" instead of mapContainerId config setting
+MAP-162		JS error in Enhanced Viewer demo on IE
+MAP-91		Interface with Google Maps
+MAP-418		Dynamically loaded OpenLayers map theme finishes too late - rendering issue in OverviewMap.js
+MAP-411		Remove docbook-xsl
+MAP-278		"MAP-261 /lib/model/Proj.js"
+MAP-271		"MAP-261 /lib/model/GeoRSS.js"
+MAP-183		Use CSCS projection library
+MAP-168		WidgetBase.js.txt (old) contains changes against WidgetBase.js
+MAP-125		add layer doesn't honor: queryable and style/legend
+MAP-112		Projection transformation utility functions do not support EPSG:27700 (OSGB1936 / British National Grid)
+MAP-111		GetFeatureInfo makes incorrect WMS request when another layer name is a substring of the query layer name
+MAP-39		Feature isn't deselected after it was deleted Submitted: camerons SF-1364103
+MAP-38		Null gml:coordinate Point is rendered in top left of MapPane Submitted: Camerons SF-1351128
+MAP-36		Drag Pan Tool: Mouseup outside the map should be procesed Submitted: maiqui SF-1259486
+MAP-21		<widget> is not defined" javascript errors Submitted: openwereld SF-1386001
+MAP-14		Update GeoRSS demo to new feed format Submitted: Cappelaere SF-1394556
+MAP-423		Wrong value in EPSG26591.js
+MAP-405		"MAP-261 MergeModel.js"
+MAP-402		"MAP-264 /lib/widget/ZoomOut.js"
+MAP-401		"MAP-264 /lib/widget/ZoomIn.js"
+MAP-397		"MAP-264 /lib/widget/WidgetBase.js"
+MAP-396		"MAP-264 /lib/widget/Widget.js"
+MAP-392		"MAP-264 /lib/widget/TransactionResponse.js"
+MAP-391		"MAP-264 /lib/widget/TipWidgetOL.js"
+MAP-386		"MAP-264 /lib/widget/TabbedContent.js"
+MAP-384		"MAP-264 /lib/widget/ShowDistance.js"
+MAP-383		"MAP-264 /lib/widget/SetAoi.js"
+MAP-380		"MAP-264 /lib/widget/SelectMapLayers.js"
+MAP-374		"MAP-264 /lib/widget/Reset.js"
+MAP-373		"MAP-264 /lib/widget/OverviewMap.js"
+MAP-366		"MAP-264 /lib/widget/MapTitle.js"
+MAP-364 	"MAP-264 /lib/widget/MapScaleBar.js"
+MAP-363 	"MAP-264 /lib/widget/MapPaneOL.js"
+MAP-355 	"MAP-264 /lib/widget/Legend.js"
+MAP-354 	"MAP-264 /lib/widget/LayerProperty.js"
+MAP-353 	"MAP-264 /lib/widget/LayerControl.js"
+MAP-352 	"MAP-264 /lib/widget/InsertFeature.js"
+MAP-351 	"MAP-264 /lib/widget/Graticule.js"
+MAP-335 	"MAP-264 /lib/widget/Forward.js"
+MAP-333 	"MAP-264 /lib/widget/FilterAttributes.js"
+MAP-330 	"MAP-264 /lib/widget/FeatureInfo.js"
+MAP-327 	"MAP-264 /lib/widget/EditPoint.js"
+MAP-326 	"MAP-264 /lib/widget/EditLine.js"
+MAP-325 	"MAP-264 /lib/widget/EditButtonBase.js"
+MAP-324 	"MAP-264 /lib/widget/DragPan.js"
+MAP-323 	"MAP-264 /lib/widget/DeleteFeature.js"
+MAP-322 	"MAP-264 /lib/widget/CursorTrack.js"
+MAP-321 	"MAP-264 /lib/widget/CollectionList.js"
+MAP-318 	"MAP-264 /lib/widget/ButtonBase.js"
+MAP-317 	"MAP-264 /lib/widget/Button.js"
+MAP-316 	"MAP-264 /lib/widget/Back.js"
+MAP-310 	"MAP-264 /lib/widget/Abstract.js"
+
+Outstanding Issues (highest priority first):
+--------------------------------------------
+MAP-404		Memory Leak
+MAP-420		tm2llNoConvergence errors with cscs
+MAP-259		Checking all .js files for their purpose and compatability
+MAP-257		"MAP-201 MapScaleText.js"
+MAP-248		"MAP-201 update config.xsd"
+MAP-247		"MAP-201 Deprecate MapContainerBase"
+MAP-229		"MAP-228 basic"
+MAP-228		OpenLayers-Integration: Examples
+MAP-222		OpenLayers-Integration: Renderer widgets
+MAP-221		"MAP-220 EditButtonBase.js"
+MAP-220		OpenLayers-Integration: Feature editing widgets
+MAP-217		OpenLayers-Integration: TimeSeries widgets
+MAP-212		"MAP-201 Loading.js"
+MAP-210		"MAP-201 LayerControl.js"
+MAP-204		OpenLayers-Integration: Information retrieval widgets
+MAP-201		OpenLayers-Integration: Map display widgets
+MAP-198		"MAP-196 ButtonBase.js"
+MAP-197		"MAP-201 MapPaneOL.js"
+MAP-196		OpenLayers-Integration: Map navigation widgets
+MAP-172		'error loading XSL stylesheet' when using IE & HTTPS
+MAP-164		JS error loading shipTracks demo in IE
+MAP-141		Use OpenLayers for rendering & integrate OL tools
+MAP-139		Provide the Mapbuilder JS from a single URL, accessable by all applications
+MAP-6		Problem with two WMS layers with the same name submitted: kc7bfi SF-1400521
+MAP-255		use the new NASA EO WMS in the time series demo
+MAP-246		"MAP-201 OWSContext"
+MAP-192		Opacity management
+MAP-163		Issues with query in Enhanced demo
+MAP-161		In IE map <div> moves to bottom if window width is too small
+MAP-153		Mapbuilder should detect browsers which don't support XSLT
+MAP-149		autoresize tool
+MAP-132		Add support for https to proxy (java, php, javascript)
+MAP-119		loading2 doesn't work with tabbedcontent
+MAP-71		Duplicate GetFeatureInfo responses forced if mouse click occurs before previous query finished.
+MAP-59		GetFeatureInfo URL generated for a second WMS in same context as first is repeated in the variable string.
+MAP-49		set properties by URL parameters Submitted: Mike Adair SF - 1257212
+MAP-43		duplicate layers mess up when deleting them Submitted: graphrisc SF-1361616
+MAP-35		use scalehints in context docs Submitted: madair1 SF-1174298
+MAP-25		Move util.js into JS objects Submitted: camerons SF-1071242
+MAP-24		Gazetteer widget auto zoom Submitted: nobody SF-1380974
+MAP-17		Line 96 Error firstChild is null or not an object Submitted: Cappelaere SF-1392108
+MAP-16		Line 278 Object required Submitted: Cappelaere SF-1392112
+MAP-408		"MAP-264 /lib/widget/TipWidgetConfig.js"
+MAP-365		"MAP-264 /lib/widget/MapScaleText.js"
+MAP-51		set the locator map with an image Submitted Virginie Berre SF - 1220313
+
+mapbuilder-lib-1.5-alpha1
+==========================
+This Mapbuilder release adds a string of new features and developments to
+the Mapbuilder core. While the core Mapbuilder functionality remains stable,
+the new features should still be considered alpha; some new interfaces still
+might change, the features have not been extensively tested and there are
+still some major outstanding bugs.
+
+Some of the new features include:
+
+Compression:
+The released version of Mapbuilder is now bundled up into one file and
+compressed into half of its original size.
+
+OWS Context:
+Mapbuilder previously stored its LayerList in a Web Map Context (WMC) document.
+A WMC describes a list of WMS layers. The latest Mapbuilder supports the
+OGC's draft OWS Context specification which extends the WMC to include:
+WFS layers, GeoRSS layers, GML Layers.
+
+The OWS Context is rendered by the new MapPane2 and MapPaneOL widgets.
+In the next release, we plan to deprecate MapPane2 and MapPane and replace them
+by MapPaneOL.
+
+Vector rendering using SVG/VML:
+We now have SVG and VML rendering using MapPane and MapPaneOL. This rendering
+is much faster than the previous WZGraphics library, however older browsers
+will still need to revert the the WZGraphics library.
+
+OpenLayers used for Rendering:
+The MapPaneOL widget now uses OpenLayers for rendering. This means we can
+easilly tap into OpenLayer's support for numerous map providers.
+Eg: Tiled WMS, Google Maps, Yahoo Maps, MSN Maps, WFS, GML, etc.
+We still haven't integrated the Mapbuilder tools with OpenLayer tools yet, but
+that is expected to be completed for the next release.
+
+SLD Editor:
+We now have a Styled Layer Descriptor (SLD) Editor example. A SLD describes
+whether you map features should be rendered as red fat lines or blue thin
+lines and you can apply styles to maps.
+
+GeoRSS:
+We have some GeoRSS examples which include rendering vector layers SVG/VML.
+
+Bugs fixed:
+-----------
+MAP-135 	loadXML across domains error in MSXML5 : "Access denied" 
+MAP-148 	Error in lib/util/Util.js::setISODate() 
+MAP-128 	WfsGetFeature() appends "?" to URL without checking if URL already has a "?" 
+MAP-126 	List license associated with each library used by Mapbuilder 
+MAP-19 		IE problem: "Error: 'this.doc' is null or not an object Submitted: Cappelaere SF-1390868 
+MAP-9 		Layer Control does not update when a new layer is loaded Submitted: Cappelaere SF-1393270 
+MAP-144 	proxy.php dosen't work in combination with postLoad and postGetLoad functions 
+MAP-137 	Zoom in/out in TimeSeries demo 
+MAP-136 	component register broken 
+MAP-124 	Mapbuilder looks for mapbuilderConfig.xml which doesn't exist 
+MAP-116 	Version widget doesn't work since switching to SVN from CVS 
+MAP-100 	A reload/refresh main map pane widget 
+MAP-86 		Map Widgets: Scale Bar 
+MAP-67 		Editline generates extra leading whitespace 
+MAP-50		Add SVG rendering of GML data Submitted: Nedjo Rogers
+
+Outstanding Issues (highest priority first):
+--------------------------------------------
+MAP-139		Provide the Mapbuilder JS from a single URL, accessable by all applications 
+MAP-138		Compress all files - automate compression process 
+MAP-71		Duplicate GetFeatureInfo responses forced if mouse click occurs before previous query finished. 
+MAP-147		Area Widget 
+MAP-143		Improve mapbuilder's search ranking in Google 
+MAP-142		Provide a Javascript API to Mapbuilder 
+MAP-141		Use OpenLayers for rendering 
+MAP-134		eval statements prevent shrinksafe from working 
+MAP-133		mapbuilder ask each layer twice to the server 
+MAP-121		Create documentation showing mapbuilder in context with other projects 
+MAP-110		IE problem with GmlCooordinates2Coords.xsl 
+MAP-105		Pixel Coord <--> LatLong translation only works for EPSG:4326 projections 
+MAP-93		User authenticates with the system in order to make modifications to the map features (Add/remove/delete) 
+MAP-91		Interface with Google Maps 
+MAP-70		add WSDL/SOAP support 
+MAP-6		Problem with two WMS layers with the same name submitted: kc7bfi SF-1400521 
+MAP-153		Mapbuilder should detect browsers which don't support XSLT 
+MAP-146		Provide OSGeo branding to the website 
+MAP-145		Formalise Incubation process doc 
+MAP-140		Common Header/Footer in demos 
+MAP-132		Add support for https to proxy (java, php, javascript) 
+MAP-127		GetFeatureInfo tool will not work 
+MAP-125		add layer doesn't honor: queryable and style/legend 
+MAP-122		Set up http://demo.communitymapbuilder.org 
+MAP-119		loading2 doesn't work with tabbedcontent 
+MAP-112		Projection transformation utility functions do not support EPSG:27700 (OSGB1936 / British National Grid) 
+MAP-111		GetFeatureInfo makes incorrect WMS request when another layer name is a substring of the query layer name 
+MAP-95		Acceptance Tests 
+MAP-94		New GUI Widgets 
+MAP-92		Interface with OpenStreetMap project 
+MAP-89		Moving Objects 
+MAP-87		Map Feature Rendering: Satelite imagery 
+MAP-84		Gazetteer/GeoCoder 
+MAP-83		Map Feature Rendering: XML/GML 
+MAP-82		Map Annotation 
+MAP-81		Map Symbology 
+MAP-80		Map Data Repository 
+MAP-79		Build a Mapuilder Application from a web interface 
+MAP-59		GetFeatureInfo URL generated for a second WMS in same context as first is repeated in the variable string. 
+MAP-56		Give visual marker to current active layer in legend Submitted By: Nedjo Rogers SF - 1157443 
+MAP-52		Add support for WKT data source. Submitted: Nedjo Rogers SF-1203287 
+MAP-49		set properties by URL parameters Submitted: Mike Adair SF - 1257212 
+MAP-47		process multiple context documents in one page Submitted John Pulles SF- 1401526 
+MAP-43		duplicate layers mess up when deleting them Submitted: graphrisc SF-1361616 
+MAP-42		error initializing mapbuilder when used in drupal module Submitted: openwereld SF-1352137 
+MAP-40		GeoRSS divs not cleared on loadModel Submitted: nobody SF-1291065 
+MAP-39		Feature isn't deselected after it was deleted Submitted: camerons SF-1364103 
+MAP-38		Null gml:coordinate Point is rendered in top left of MapPane Submitted: Camerons SF-1351128 
+MAP-36		Drag Pan Tool: Mouseup outside the map should be procesed Submitted: maiqui SF-1259486 
+MAP-35		use scalehints in context docs Submitted: madair1 SF-1174298 
+MAP-25		Move util.js into JS objects Submitted: camerons SF-1071242 
+MAP-24		Gazetteer widget auto zoom Submitted: nobody SF-1380974 
+MAP-22		wfs-t java.lang.ExceptionInInitializerError Submitted: mneteler SF-1383838 
+MAP-21		<widget> is not defined" javascript errors Submitted: openwereld SF-1386001 
+MAP-17		Line 96 Error firstChild is null or not an object Submitted: Cappelaere SF-1392108 
+MAP-16		Line 278 Object required Submitted: Cappelaere SF-1392112 
+MAP-14		Update GeoRSS demo to new feed format Submitted: Cappelaere SF-1394556 
+MAP-7		Graphical Highlight of WFS Polygon is mangled Submitted: sjf_8 SF-1404143 
+MAP-131		setXpathValue works for tags but not for tags attributes 
+MAP-69		Using a custom stylesheet to group layers 
+MAP-55		Create hover-over popups when mouse hovers over a feature Submitted By: Cameron Shorter SF - 1173569 
+MAP-51		set the locator map with an image Submitted Virginie Berre SF - 1220313 
+MAP-34		GmlRenderer complexity OUT OF CONTROL with zoomin Submitted: maiqui SF-1306834 
+MAP-27		Change Open GIS to Open Geospatial Submitted: camerons SF-1168180 
+MAP-26		Layers from geoserver periodically not returned Submitted: camerons SF-1357587 
+
+
 mapbuilder-lib-1.0-release
 ==========================
 This marks the first official release of the Community Mapbuilder
@@ -12,101 +339,84 @@
 
 Bugs fixed:
 -----------
-MAP-68		IE: MapPane refreshing layers 
+MAP-68 		IE: MapPane refreshing layers 
 MAP-73 		js error passing bbox in via URL (was bug 1391168 on Sourceforge - resubmitted here) 
-MAP-60 		Demis demo - AOIForm.xsl error 
-MAP-104 	WFS-T demo errors 
-MAP-103 	update config schema to 1.0 
-MAP-102 	thisWidget is null in contextEditor search form 
+MAP-44 		hide layer not working in IE Submitted: camerons SF-1364550 
 MAP-99 		localName is not supported by IE 
-MAP-72 		cgiArgs bbox is broken 
-MAP-44 		hide layer not working in IE Submitted: camerons SF-1364550 
-MAP-98 		Time Series demo zoom in should reset the movie loop 
-MAP-97 		support WMS 1.0 in WmsCapabilities model 
-MAP-77 		simple/basic demos 
 MAP-62 		config text stylesheet should override widgetText file values 
-MAP-61 		clarify NASA time series loading 
 MAP-54 		CSS Buttons Submitted By: Mike Adair SF - 1195495 
-MAP-48 		show busy signal Submitted: Steven M Ottens SF - 1322587 
+MAP-8 		GetFeatureInfo fails against GeoServer WMS Submitted: kc7bfi SF-1400525 
+MAP-18 		js error passing bbox in via URL submitted: davidherbert2 SF-1391168 
 MAP-41 		MapPane HTML 4.01 and XHTML compatibility Submitted: sgillies SF-1294608 
-MAP-18 		js error passing bbox in via URL submitted: davidherbert2 SF-1391168 
-MAP-8 		GetFeatureInfo fails against GeoServer WMS Submitted: kc7bfi SF-1400525 
-MAP-101 	Proj.js attribution 
-MAP-78 		demo contexts updates 
+MAP-97 		support WMS 1.0 in WmsCapabilities model 
 MAP-74 		Stop refreshing the UI controls!!! 
-MAP-64 		incorrect aspect ratio in modisWorld context file 
-MAP-33 		Gml point opacity - transparensity has changed Submitted: maiqui SF-1258381 
-MAP-30 		Links in mapbuilder/index.html broker Submitted: camerons SF-1164770 
-MAP-28 		query icon Submitted: tomkralidis SF-968519 
 
 Outstanding Issues (highest priority first):
 --------------------------------------------
-MAP-105 	Pixel Coord <--> LatLong translation only works for EPSG:4326 projections
-MAP-95 		Acceptance Tests
-MAP-94 		New GUI Widgets
-MAP-93 		User authenticates with the system in order to make modifications to the map features (Add/remove/delete)
-MAP-92 		Interface with OpenStreetMap project
-MAP-91 		Interface with Google Maps
-MAP-90 		Demis Maps
-MAP-88 		Map Feature Rendering: SLD
-MAP-87 		Map Feature Rendering: Satelite imagery
-MAP-84 		Gazetteer/GeoCoder
-MAP-83 		Map Feature Rendering: XML/GML
-MAP-82 		Map Annotation
-MAP-81 		Map Symbology
-MAP-76 		Invalid GetFeatureInfo URL - creates MapServer exception
-MAP-70 		add WSDL/SOAP support
-MAP-19 		IE problem: "Error: 'this.doc' is null or not an object Submitted: Cappelaere SF-1390868
-MAP-9 		Layer Control does not update when a new layer is loaded Submitted: Cappelaere SF-1393270
-MAP-6 		Problem with two WMS layers with the same name submitted: kc7bfi SF-1400521
-MAP-2 		Hardcoded reference to localhost will prevent remote machines from viewing Generated Content
-MAP-100 	A reload/refresh main map pane widget
-MAP-96 		The php server scripts use short tags, this breaks on servers that have disabled use of shortags
-MAP-89 		Moving Objects
-MAP-86 		Map Widgets: Scale Bar
-MAP-85 		Map Widgets: Distance
-MAP-80 		Map Data Repository
-MAP-79 		Build a Mapuilder Application from a web interface
-MAP-75 		Proxy and Serializer scripts should have proper PHP header tag
-MAP-71 		Duplicate GetFeatureInfo responses forced if mouse click occurs before previous query finished.
-MAP-59 		GetFeatureInfo URL generated for a second WMS in same context as first is repeated in the variable string.
-MAP-56 		Give visual marker to current active layer in legend Submitted By: Nedjo Rogers SF - 1157443
-MAP-52 		Add support for WKT data source. Submitted: Nedjo Rogers SF-1203287
-MAP-50 		Add SVG rendering of GML data Submitted: Nedjo Rogers
-MAP-49 		set properties by URL parameters Submitted: Mike Adair SF - 1257212
-MAP-47 		process multiple context documents in one page Submitted John Pulles SF- 1401526
-MAP-43 		duplicate layers mess up when deleting them Submitted: graphrisc SF-1361616
-MAP-42 		error initializing mapbuilder when used in drupal module Submitted: openwereld SF-1352137
-MAP-40 		GeoRSS divs not cleared on loadModel Submitted: nobody SF-1291065
-MAP-39 		Feature isn't deselected after it was deleted Submitted: camerons SF-1364103
-MAP-38 		Null gml:coordinate Point is rendered in top left of MapPane Submitted: Camerons SF-1351128
-MAP-37 		CSS error in Firefox 1.5beta causes layers not to load Submitted: camerons SF-1337858
-MAP-36 		Drag Pan Tool: Mouseup outside the map should be procesed Submitted: maiqui SF-1259486
-MAP-35 		use scalehints in context docs Submitted: madair1 SF-1174298
-MAP-25 		Move util.js into JS objects Submitted: camerons SF-1071242
-MAP-24 		Gazetteer widget auto zoom Submitted: nobody SF-1380974
-MAP-23	 	PHP proxy strips attribute namespaces Submitted: madair1 SF-1386495
-MAP-22 		wfs-t java.lang.ExceptionInInitializerError Submitted: mneteler SF-1383838
-MAP-21 		<widget> is not defined" javascript errors Submitted: openwereld SF-1386001
-MAP-17 		Line 96 Error firstChild is null or not an object Submitted: Cappelaere SF-1392108
-MAP-16 		Line 278 Object required Submitted: Cappelaere SF-1392112
-MAP-15 		Line 29 invalid argument Context Editor Submitted: Cappelaere SF-1392122
-MAP-14 		Update GeoRSS demo to new feed format Submitted: Cappelaere SF-1394556
-MAP-13 		FF 1.5 docStyle.css error Submitted: Cappelaere SF-1394569
-MAP-12 		wrong value for port in proxy.php Submitted: zjonp SF-1397656
-MAP-7 		Graphical Highlight of WFS Polygon is mangled Submitted: sjf_8 SF-1404143
-MAP-57 		Inconsistency in handling of aspect ratio for map viewer between bounding box and image size
-MAP-55 		Create hover-over popups when mouse hovers over a feature Submitted By: Cameron Shorter SF - 1173569
-MAP-53 		Mapbuilder and Geoserver to use the same demos Submitted by: Cameron Shorter SF - 1196838
-MAP-51 		set the locator map with an image Submitted Virginie Berre SF - 1220313
-MAP-34 		GmlRenderer complexity OUT OF CONTROL with zoomin Submitted: maiqui SF-1306834
-MAP-32 		Incorrect click position in WFS-T demo on IE Submitted: camerons SF-1193142
-MAP-29 		Coord string does not handle space char inside tuple Submitted camerons SF-1013754
-MAP-27 		Change Open GIS to Open Geospacial Submitted: camerons SF-1168180
-MAP-26 		Layers from geoserver periodically not returned Submitted: camerons SF-1357587
+MAP-95		Acceptance Tests 
+MAP-94		New GUI Widgets 
+MAP-93		User authenticates with the system in order to make modifications to the map features (Add/remove/delete) 
+MAP-92		Interface with OpenStreetMap project 
+MAP-91		Interface with Google Maps 
+MAP-90		Demis Maps 
+MAP-88		Map Feature Rendering: SLD 
+MAP-87		Map Feature Rendering: Satelite imagery 
+MAP-84		Gazetteer/GeoCoder 
+MAP-83		Map Feature Rendering: XML/GML 
+MAP-82 		Map Annotation 
+MAP-81 		Map Symbology 
+MAP-76 		Invalid GetFeatureInfo URL - creates MapServer exception 
+MAP-70 		add WSDL/SOAP support 
+MAP-19 		IE problem: "Error: 'this.doc' is null or not an object Submitted: Cappelaere SF-1390868 
+MAP-9 		Layer Control does not update when a new layer is loaded Submitted: Cappelaere SF-1393270 
+MAP-6 		Problem with two WMS layers with the same name submitted: kc7bfi SF-1400521 
+MAP-2 		Hardcoded reference to localhost will prevent remote machines from viewing Generated Content 
+MAP-100 	A reload/refresh main map pane widget 
+MAP-96 		The php server scripts use short tags, this breaks on servers that have disabled use of shortags 
+MAP-89 		Moving Objects 
+MAP-86		Map Widgets: Scale Bar 
+MAP-85		Map Widgets: Distance 
+MAP-80		Map Data Repository 
+MAP-79		Build a Mapuilder Application from a web interface 
+MAP-75		Proxy and Serializer scripts should have proper PHP header tag 
+MAP-71		Duplicate GetFeatureInfo responses forced if mouse click occurs before previous query finished. 
+MAP-59		GetFeatureInfo URL generated for a second WMS in same context as first is repeated in the variable string. 
+MAP-56		Give visual marker to current active layer in legend Submitted By: Nedjo Rogers SF - 1157443 
+MAP-52		Add support for WKT data source. Submitted: Nedjo Rogers SF-1203287 
+MAP-50		Add SVG rendering of GML data Submitted: Nedjo Rogers 
+MAP-49		set properties by URL parameters Submitted: Mike Adair SF - 1257212 
+MAP-47		process multiple context documents in one page Submitted John Pulles SF- 1401526 
+MAP-43		duplicate layers mess up when deleting them Submitted: graphrisc SF-1361616 
+MAP-42		error initializing mapbuilder when used in drupal module Submitted: openwereld SF-1352137 
+MAP-40		GeoRSS divs not cleared on loadModel Submitted: nobody SF-1291065 
+MAP-39		Feature isn't deselected after it was deleted Submitted: camerons SF-1364103 
+MAP-38		Null gml:coordinate Point is rendered in top left of MapPane Submitted: Camerons SF-1351128 
+MAP-37		CSS error in Firefox 1.5beta causes layers not to load Submitted: camerons SF-1337858 
+MAP-36		Drag Pan Tool: Mouseup outside the map should be procesed Submitted: maiqui SF-1259486 
+MAP-35		use scalehints in context docs Submitted: madair1 SF-1174298 
+MAP-25		Move util.js into JS objects Submitted: camerons SF-1071242 
+MAP-24		Gazetteer widget auto zoom Submitted: nobody SF-1380974 
+MAP-23		PHP proxy strips attribute namespaces Submitted: madair1 SF-1386495 
+MAP-22		wfs-t java.lang.ExceptionInInitializerError Submitted: mneteler SF-1383838 
+MAP-21		<widget> is not defined" javascript errors Submitted: openwereld SF-1386001 
+MAP-17		Line 96 Error firstChild is null or not an object Submitted: Cappelaere SF-1392108 
+MAP-16		Line 278 Object required Submitted: Cappelaere SF-1392112 
+MAP-15		Line 29 invalid argument Context Editor Submitted: Cappelaere SF-1392122 
+MAP-14		Update GeoRSS demo to new feed format Submitted: Cappelaere SF-1394556 
+MAP-13		FF 1.5 docStyle.css error Submitted: Cappelaere SF-1394569 
+MAP-12		wrong value for port in proxy.php Submitted: zjonp SF-1397656 
+MAP-7		Graphical Highlight of WFS Polygon is mangled Submitted: sjf_8 SF-1404143 
+MAP-57		Inconsistency in handling of aspect ratio for map viewer between bounding box and image size 
+MAP-55		Create hover-over popups when mouse hovers over a feature Submitted By: Cameron Shorter SF - 1173569 
+MAP-53		Mapbuilder and Geoserver to use the same demos Submitted by: Cameron Shorter SF - 1196838 
+MAP-51		set the locator map with an image Submitted Virginie Berre SF - 1220313 
+MAP-34		GmlRenderer complexity OUT OF CONTROL with zoomin Submitted: maiqui SF-1306834 
+MAP-32		Incorrect click position in WFS-T demo on IE Submitted: camerons SF-1193142 
+MAP-29		Coord string does not handle space char inside tuple Submitted camerons SF-1013754 
+MAP-27		Change Open GIS to Open Geospatial Submitted: camerons SF-1168180 
+MAP-26		Layers from geoserver periodically not returned Submitted: camerons SF-1357587 
 
 
-
 mapbuilder-lib-1.0-rc2 (stable)
 ===============================
 This commences the second release candidate of the 1.0 release
@@ -225,7 +535,7 @@
 1164770  links in mapbuilder/index.html broker 
 1013754  Coord string does not handle space char inside tuple 
 968519   query icon 
-1168180  Change Open GIS to Open Geospacial 
+1168180  Change Open GIS to Open Geospatial 
 1357587  Layers from geoserver periodically not returned 
 1071242  Move util.js into JS objects 
 
@@ -265,7 +575,7 @@
 1013754 Coord string does not handle space char inside tuple
 968519 query icon
 1175978 rename model/DescribeFeatureType.js
-1168180 Change Open GIS to Open Geospacial
+1168180 Change Open GIS to Open Geospatial
 1162133 Add GPL header to all source files.
 1102212 EditTools don't contain French tooltip
 1071242 Move util.js into JS objects
@@ -322,7 +632,7 @@
 1013754 Coord string does not handle space char inside tuple
 968519 query icon
 1175978 rename model/DescribeFeatureType.js
-1168180 Change Open GIS to Open Geospacial
+1168180 Change Open GIS to Open Geospatial
 1162133 Add GPL header to all source files.
 1102212 EditTools don't contain French tooltip
 1071242 Move util.js into JS objects
Index: lib/spatial/mapbuilder/lib/util/proj4js/proj4js-combined.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/proj4js-combined.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/proj4js-combined.js	(revision 4307)
@@ -0,0 +1,3714 @@
+/*
+  proj4js.js -- Javascript reprojection library. 
+  
+  Author:       Mike Adair madairATdmsolutions.ca
+                Richard Greenwood rich@greenwoodmap.com
+  License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html 
+                Note: This program is an almost direct port of the C library
+                Proj4.
+*/
+/* ======================================================================
+    proj4js.js
+   ====================================================================== */
+
+/*
+Author:       Mike Adair madairATdmsolutions.ca
+              Richard Greenwood rich@greenwoodmap.com
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+              Note: This program is an almost direct port of the C library Proj4.
+$Id: Proj.js 2956 2007-07-09 12:17:52Z steven $
+*/
+
+/**
+ * Provides methods for coordinate transformations between map projections and 
+ * longitude/latitude, including datum transformations.
+ * 
+ * Initialization of Proj objects is with a projection code, usually EPSG codes.
+ * The code passed in will be stripped of colons (':') and converted to uppercase
+ * for internal use.
+ * If you know what map projections your application will be dealing with, the
+ * definition for the projections can be included with the script tag when the 
+ * application is being coded.  Otherwise, practically any projection definition
+ * can be loaded dynamically at run-time with an AJAX request to a lookup service
+ * such as spatialreference.org.
+ * The actual code supporting the forward and inverse tansformations for each
+ * projection class is loaded dynamically at run-time.  These may also be 
+ * specified when the application is coded if the projections to be used are known
+ * beforehand.
+ * A projection object has properties for units and title strings.
+ * All coordinates are handled as points which is a 2 element array where x is
+ * the first element and y is the second.
+ * For the transform() method pass in mapXY and a destination projection object
+ * and it returns a map XY coordinate in the other projection
+ */
+
+/**
+ * Global namespace object for Proj4js library to use
+ */
+Proj4js = {
+
+    /**
+     * Property: defaultDatum
+     * The datum to use when no others a specified
+     */
+    defaultDatum: 'WGS84',                  //default datum
+
+    /**
+     * Property: proxyScript
+     * A proxy script to execute AJAX requests in other domains. 
+     */
+    proxyScript: null,  //TBD: customize this for spatialreference.org output
+
+    /**
+     * Property: defsLookupService
+     * AJAX service to retreive projection definition parameters from
+     */
+    defsLookupService: 'http://spatialreference.org/ref',
+
+    /**
+     * Property: libPath
+     * internal: http server path to library code.
+     * TBD figure this out automatically
+     */
+    libPath: '../lib/',
+
+    /** 
+    * Method: transform(source, dest, point)
+    * Transform a point coordinate from one map projection to another.
+    *
+    * Parameters:
+    * source - {Proj4js.Proj} source map projection for the transformation
+    * dest - {Proj4js.Proj} destination map projection for the transformation
+    * point - {Object} point to transform, may be geodetic (long, lat) or
+    *     projected Cartesian (x,y), but should always have x,y properties.
+    */
+    transform : function(source, dest, point) {
+        if (!source.readyToUse || !dest.readyToUse) {
+            this.reportError("Proj4js initialization for "+source.srsCode+" not yet complete");
+            return;
+        }
+        
+        if (point.transformed) {
+          this.log("point already transformed");
+          return;
+        }
+        
+        // Workaround for Spherical Mercator
+        if ((source.srsProjNumber =="900913" && dest.datumCode != "WGS84") ||
+            (dest.srsProjNumber == "900913" && source.datumCode != "WGS84")) {
+            var wgs84 = Proj4js.WGS84;
+            this.transform(source, wgs84, point);
+            point.transformed = false;
+            source = wgs84;
+        }
+
+        // Transform source points to long/lat, if they aren't already.
+        if ( source.projName=="longlat") {
+            point.x *= Proj4js.common.D2R;  // convert degrees to radians
+            point.y *= Proj4js.common.D2R;
+        } else {
+            if (source.to_meter) {
+                point.x *= source.to_meter;
+                point.y *= source.to_meter;
+            }
+            source.inverse(point); // Convert Cartesian to longlat
+        }
+
+        // Adjust for the prime meridian if necessary
+        if (source.from_greenwich) { 
+            point.x += source.from_greenwich; 
+        }
+
+        // Convert datums if needed, and if possible.
+        point = this.datum_transform( source.datum, dest.datum, point );
+
+        // Adjust for the prime meridian if necessary
+        if (dest.from_greenwich) { 
+            point.x -= dest.from_greenwich; 
+        }
+
+        if( dest.projName=="longlat" ) {             
+            // convert radians to decimal degrees
+            point.x *= Proj4js.common.R2D;
+            point.y *= Proj4js.common.R2D;
+        } else  {               // else project
+            dest.forward(point);
+            if (dest.to_meter) {
+                point.x /= dest.to_meter;
+                point.y /= dest.to_meter;
+            }
+        }
+        point.transformed = true;
+        return point;
+    }, // transform()
+
+    /** datum_transform()
+      source coordinate system definition,
+      destination coordinate system definition,
+      point to transform in geodetic coordinates (long, lat, height)
+    */
+    datum_transform : function( source, dest, point ) {
+
+      // Short cut if the datums are identical.
+      if( source.compare_datums( dest ) ) {
+          return point; // in this case, zero is sucess,
+                    // whereas cs_compare_datums returns 1 to indicate TRUE
+                    // confusing, should fix this
+      }
+      
+      // Explicitly skip datum transform by setting 'datum=none' as parameter for either source or dest
+      if( source.datum_type == Proj4js.common.PJD_NODATUM  
+          || dest.datum_type == Proj4js.common.PJD_NODATUM) {
+          return point; 
+      }
+      
+        // If this datum requires grid shifts, then apply it to geodetic coordinates.
+        if( source.datum_type == Proj4js.common.PJD_GRIDSHIFT )
+        {
+          alert("ERROR: Grid shift transformations are not implemented yet.");
+          /*
+            pj_apply_gridshift( pj_param(source.params,"snadgrids").s, 0,
+                                point_count, point_offset, x, y, z );
+            CHECK_RETURN;
+
+            src_a = SRS_WGS84_SEMIMAJOR;
+            src_es = 0.006694379990;
+          */
+        }
+
+        if( dest.datum_type == Proj4js.common.PJD_GRIDSHIFT )
+        {
+          alert("ERROR: Grid shift transformations are not implemented yet.");
+          /*
+            dst_a = ;
+            dst_es = 0.006694379990;
+          */
+        }
+
+        // Do we need to go through geocentric coordinates?
+        if( source.es != dest.es || source.a != dest.a 
+            || source.datum_type == Proj4js.common.PJD_3PARAM 
+            || source.datum_type == Proj4js.common.PJD_7PARAM
+            || dest.datum_type == Proj4js.common.PJD_3PARAM
+            || dest.datum_type == Proj4js.common.PJD_7PARAM)
+        {
+
+          // Convert to geocentric coordinates.
+          source.geodetic_to_geocentric( point );
+          // CHECK_RETURN;
+
+          // Convert between datums
+          if( source.datum_type == Proj4js.common.PJD_3PARAM || source.datum_type == Proj4js.common.PJD_7PARAM ) {
+            source.geocentric_to_wgs84(point);
+            // CHECK_RETURN;
+          }
+
+          if( dest.datum_type == Proj4js.common.PJD_3PARAM || dest.datum_type == Proj4js.common.PJD_7PARAM ) {
+            dest.geocentric_from_wgs84(point);
+            // CHECK_RETURN;
+          }
+
+          // Convert back to geodetic coordinates
+          dest.geocentric_to_geodetic( point );
+            // CHECK_RETURN;
+        }
+
+      // Apply grid shift to destination if required
+      if( dest.datum_type == Proj4js.common.PJD_GRIDSHIFT )
+      {
+        alert("ERROR: Grid shift transformations are not implemented yet.");
+        // pj_apply_gridshift( pj_param(dest.params,"snadgrids").s, 1, point);
+        // CHECK_RETURN;
+      }
+      return point;
+    }, // cs_datum_transform
+
+    /**
+     * Function: reportError
+     * An internal method to report errors back to user. Should be overridden
+     * by applications to deliver error messages.
+     */
+    reportError: function(msg) {
+    },
+
+    /**
+     * Function: log
+     * An internal method to log events. 
+     */
+    log: function(msg) {
+    },
+
+    loadProjDefinition : function(proj) {
+
+      //check in memory
+      if (this.defs[proj.srsCode]) return this.defs[proj.srsCode];
+
+      //set AJAX options
+      var options = {
+        method: 'get',
+        asynchronous: false,          //need to wait until defs are loaded before proceeding
+        onSuccess: this.defsLoadedFromDisk.bind(this,proj.srsCode)
+      }
+      
+      //else check for def on the server
+      var url = this.libPath + 'defs/' + proj.srsAuth.toUpperCase() + proj.srsProjNumber + '.js';
+      new OpenLayers.Ajax.Request(url, options);
+      if ( this.defs[proj.srsCode] ) return this.defs[proj.srsCode];
+
+      //else load from web service via AJAX request
+      if (this.proxyScript) {
+        var url = this.proxyScript + this.defsLookupService +'/' + proj.srsAuth +'/'+ proj.srsProjNumber + '/proj4';
+        options.onSuccess = this.defsLoadedFromService.bind(this,proj.srsCode)
+        options.onFailure = this.defsFailed.bind(this,proj.srsCode);
+        new OpenLayers.Ajax.Request(url, options);
+      }
+      
+      //may return null here if the defs are not found
+      return this.defs[proj.srsCode];
+    },
+
+    defsLoadedFromDisk: function(srsCode, transport) {
+      eval(transport.responseText);
+    },
+
+    defsLoadedFromService: function(srsCode, transport) {
+      this.defs[srsCode] = transport.responseText;
+      // save this also in the prototype, so we don't need to fetch it again
+      Proj4js.defs[srsCode] = transport.responseText;
+    },
+
+    defsFailed: function(srsCode) {
+      this.reportError('failed to load projection definition for: '+srsCode);
+      OpenLayers.Util.extend(this.defs[srsCode], this.defs['WGS84']);  //set it to something so it can at least continue
+    },
+
+    loadProjCode : function(projName) {
+      if (this.Proj[projName]) return;
+
+      //set AJAX options
+      var options = {
+        method: 'get',
+        asynchronous: false,          //need to wait until defs are loaded before proceeding
+        onSuccess: this.loadProjCodeSuccess.bind(this, projName),
+        onFailure: this.loadProjCodeFailure.bind(this, projName)
+      };
+      
+      //load the projection class 
+      var url = this.libPath + 'projCode/' + projName + '.js';
+      new OpenLayers.Ajax.Request(url, options);
+    },
+
+    loadProjCodeSuccess : function(projName, transport) {
+      eval(transport.responseText);
+      if (this.Proj[projName].dependsOn){
+        this.loadProjCode(this.Proj[projName].dependsOn);
+      }
+    },
+
+    loadProjCodeFailure : function(projName) {
+      Proj4js.reportError("failed to find projection file for: " + projName);
+      //TBD initialize with identity transforms so proj will still work
+    }
+
+};
+
+/**
+ * Class: Proj4js.Proj
+ * Projection objects provide coordinate transformation methods for point coordinates
+ * once they have been initialized with a projection code.
+ */
+Proj4js.Proj = OpenLayers.Class({
+
+  /**
+   * Property: readyToUse
+   * Flag to indicate if initialization is complete for this Proj object
+   */
+  readyToUse : false,   
+  
+  /**
+   * Property: title
+   * The title to describe the projection
+   */
+  title: null,  
+  
+  /**
+   * Property: projName
+   * The projection class for this projection, e.g. lcc (lambert conformal conic,
+   * or merc for mercator.  These are exactly equicvalent to their Proj4 
+   * counterparts.
+   */
+  projName: null,
+  /**
+   * Property: units
+   * The units of the projection.  Values include 'm' and 'degrees'
+   */
+  units: null,
+  /**
+   * Property: datum
+   * The datum specified for the projection
+   */
+  datum: null,
+
+  /**
+   * Constructor: initialize
+   * Constructor for Proj4js.Proj objects
+  *
+  * Parameters:
+  * srsCode - a code for map projection definition parameters.  These are usually
+  * (but not always) EPSG codes.
+  */
+  initialize : function(srsCode) {
+      this.srsCode = srsCode.toUpperCase();
+      if (this.srsCode.indexOf("EPSG") == 0) {
+          this.srsCode = this.srsCode;
+          this.srsAuth = 'epsg';
+          this.srsProjNumber = this.srsCode.substring(5);
+      } else {
+          this.srsAuth = '';
+          this.srsProjNumber = this.srsCode;
+      }
+
+      var defs = Proj4js.loadProjDefinition(this);
+      if (defs) {
+          this.parseDefs(defs);
+          Proj4js.loadProjCode(this.projName);
+          this.callInit();
+      }
+
+  },
+
+  callInit : function() {
+      Proj4js.log('projection script loaded for:' + this.projName);
+      OpenLayers.Util.extend(this, Proj4js.Proj[this.projName]);
+      this.init();
+      this.mapXYToLonLat = this.inverse;
+      this.lonLatToMapXY = this.forward;
+      this.readyToUse = true;
+  },
+
+  parseDefs : function(proj4opts) {
+      this.defData = proj4opts;
+      var paramName, paramVal;
+      var paramArray=this.defData.split("+");
+
+      for (var prop=0; prop<paramArray.length; prop++) {
+          var property = paramArray[prop].split("=");
+          paramName = property[0].toLowerCase();
+          paramVal = property[1];
+
+          switch (paramName.replace(/\s/gi,"")) {  // trim out spaces
+              case "": break;   // throw away nameless parameter
+              case "title":  this.title = paramVal; break;
+              case "proj":   this.projName =  paramVal.replace(/\s/gi,""); break;
+              case "units":  this.units = paramVal.replace(/\s/gi,""); break;
+              case "datum":  this.datumCode = paramVal.replace(/\s/gi,""); break;
+              case "nadgrids": this.nagrids = paramVal.replace(/\s/gi,""); break;
+              case "ellps":  this.ellps = paramVal.replace(/\s/gi,""); break;
+              case "a":      this.a =  parseFloat(paramVal); break;  // semi-major radius
+              case "b":      this.b =  parseFloat(paramVal); break;  // semi-minor radius
+              case "lat_0":  this.lat0 = paramVal*Proj4js.common.D2R; break;        // phi0, central latitude
+              case "lat_1":  this.lat1 = paramVal*Proj4js.common.D2R; break;        //standard parallel 1
+              case "lat_2":  this.lat2 = paramVal*Proj4js.common.D2R; break;        //standard parallel 2
+              case "lat_ts": this.lat_ts = paramVal*Proj4js.common.D2R; break;      //used in merc 
+              case "lon_0":  this.long0 = paramVal*Proj4js.common.D2R; break;       // lam0, central longitude
+              case "x_0":    this.x0 = parseFloat(paramVal); break;  // false easting
+              case "y_0":    this.y0 = parseFloat(paramVal); break;  // false northing
+              case "k_0":    this.k0 = parseFloat(paramVal); break;  // projection scale factor
+              case "k":      this.k0 = parseFloat(paramVal); break;  // both forms returned
+              case "R_A":    this.R = parseFloat(paramVal); break;   //Spheroid radius 
+              case "zone":   this.zone = parseInt(paramVal); break;  // UTM Zone
+              case "south":   this.utmSouth = true; break;  // UTM north/south
+              case "towgs84":this.datum_params = paramVal.split(","); break;
+              case "to_meter": this.to_meter = parseFloat(paramVal); break; // cartesian scaling
+              case "from_greenwich": this.from_greenwich = paramVal*Proj4js.common.D2R; break;
+              case "pm":     paramVal = paramVal.replace(/\s/gi,"");
+                             this.from_greenwich = Proj4js.PrimeMeridian[paramVal] ?
+                                Proj4js.PrimeMeridian[paramVal]*Proj4js.common.D2R : 0.0; break;
+              case "no_defs": break; 
+              default: Proj4js.log("Unrecognized parameter: " + paramName);
+          } // switch()
+      } // for paramArray
+      this.deriveConstants();
+  },
+
+  deriveConstants : function() {
+      if (this.nagrids == '@null') this.datumCode = 'none';
+      if (this.datumCode && this.datumCode != 'none') {
+        var datumDef = Proj4js.Datum[this.datumCode];
+        if (datumDef) {
+          this.datum_params = datumDef.towgs84.split(',');
+          this.ellps = datumDef.ellipse;
+          this.datumName = datumDef.datumName;
+        }
+      }
+      if (!this.a) {    // do we have an ellipsoid?
+          var ellipse = Proj4js.Ellipsoid[this.ellps] ? Proj4js.Ellipsoid[this.ellps] : Proj4js.Ellipsoid['WGS84'];
+          OpenLayers.Util.extend(this, ellipse);
+      }
+      if (this.rf && !this.b) this.b = (1.0 - 1.0/this.rf) * this.a;
+      if (Math.abs(this.a - this.b)<Proj4js.common.EPSLN) this.sphere = true;
+      this.a2 = this.a * this.a;          // used in geocentric
+      this.b2 = this.b * this.b;          // used in geocentric
+      this.es = (this.a2-this.b2)/this.a2;  // e ^ 2
+      //this.es=1-(Math.pow(this.b,2)/Math.pow(this.a,2));
+      this.e = Math.sqrt(this.es);        // eccentricity
+      this.ep2=(this.a2-this.b2)/this.b2; // used in geocentric
+      if (!this.k0) this.k0 = 1.0;    //default value
+
+      this.datum = new Proj4js.datum(this);
+  }
+});
+
+Proj4js.Proj.longlat = {
+  init : function() {
+    //no-op for longlat
+  },
+  forward : function(pt) {
+    //identity transform
+    return pt;
+  },
+  inverse : function(pt) {
+    //identity transform
+    return pt;
+  }
+};
+
+/**
+  Proj4js.defs is a collection of coordinate system definition objects in the 
+  Proj4 command line format.
+  Generally a def is added by means of a separate .js file for example:
+
+    <SCRIPT type="text/javascript" src="defs/EPSG26912.js"></SCRIPT>
+
+  def is a CS definition in PROJ.4 WKT format, for example:
+    +proj="tmerc"   //longlat, etc.
+    +a=majorRadius
+    +b=minorRadius
+    +lat0=somenumber
+    +long=somenumber
+*/
+Proj4js.defs = {
+  // These are so widely used, we'll go ahead and throw them in
+  // without requiring a separate .js file
+  'WGS84': "+title=long/lat:WGS84 +proj=longlat +ellps=WGS84 +datum=WGS84",
+  'EPSG:4326': "+title=long/lat:WGS84 +proj=longlat +a=6378137.0 +b=6356752.31424518 +ellps=WGS84 +datum=WGS84",
+  'EPSG:4269': "+title=long/lat:NAD83 +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83" 
+};
+//+a=6378137.0 +b=6356752.31424518 +ellps=WGS84 +datum=WGS84",
+Proj4js.common = {
+  PI : Math.PI,
+  HALF_PI : Math.PI*0.5,
+  TWO_PI : Math.PI*2,
+  FORTPI : 0.78539816339744833,
+  R2D : 57.2957795131,
+  D2R : 0.0174532925199,
+  SEC_TO_RAD : 4.84813681109535993589914102357e-6, /* SEC_TO_RAD = Pi/180/3600 */
+  EPSLN : 1.0e-10,
+  MAX_ITER : 20,
+  // following constants from geocent.c
+  COS_67P5 : 0.38268343236508977,  /* cosine of 67.5 degrees */
+  AD_C : 1.0026000,                /* Toms region 1 constant */
+
+  /* datum_type values */
+  PJD_UNKNOWN  : 0,
+  PJD_3PARAM   : 1,
+  PJD_7PARAM   : 2,
+  PJD_GRIDSHIFT: 3,
+  PJD_WGS84    : 4,   // WGS84 or equivalent
+  PJD_NODATUM  : 5,   // WGS84 or equivalent
+  SRS_WGS84_SEMIMAJOR : 6378137.0,  // only used in grid shift transforms
+
+// Function to compute the constant small m which is the radius of
+//   a parallel of latitude, phi, divided by the semimajor axis.
+// -----------------------------------------------------------------
+  msfnz : function(eccent, sinphi, cosphi) {
+      var con = eccent * sinphi;
+      return cosphi/(Math.sqrt(1.0 - con * con));
+  },
+
+// Function to compute the constant small t for use in the forward
+//   computations in the Lambert Conformal Conic and the Polar
+//   Stereographic projections.
+// -----------------------------------------------------------------
+  tsfnz : function(eccent, phi, sinphi) {
+    var con = eccent * sinphi;
+    var com = .5 * eccent;
+    con = Math.pow(((1.0 - con) / (1.0 + con)), com);
+    return (Math.tan(.5 * (this.HALF_PI - phi))/con);
+  },
+
+// Function to compute the latitude angle, phi2, for the inverse of the
+//   Lambert Conformal Conic and Polar Stereographic projections.
+// ----------------------------------------------------------------
+  phi2z : function(eccent, ts) {
+    var eccnth = .5 * eccent;
+    var con, dphi;
+    var phi = this.HALF_PI - 2 * Math.atan(ts);
+    for (i = 0; i <= 15; i++) {
+      con = eccent * Math.sin(phi);
+      dphi = this.HALF_PI - 2 * Math.atan(ts *(Math.pow(((1.0 - con)/(1.0 + con)),eccnth))) - phi;
+      phi += dphi;
+      if (Math.abs(dphi) <= .0000000001) return phi;
+    }
+    alert("phi2z has NoConvergence");
+    return (-9999);
+  },
+
+/* Function to compute constant small q which is the radius of a 
+   parallel of latitude, phi, divided by the semimajor axis. 
+------------------------------------------------------------*/
+  qsfnz : function(eccent,sinphi,cosphi) {
+    var con;
+    if (eccent > 1.0e-7) {
+      con = eccent * sinphi;
+      return (( 1.0- eccent * eccent) * (sinphi /(1.0 - con * con) - (.5/eccent)*Math.log((1.0 - con)/(1.0 + con))));
+    } else {
+      return(2.0 * sinphi);
+    }
+  },
+
+/* Function to eliminate roundoff errors in asin
+----------------------------------------------*/
+  asinz : function(x) {
+    if (Math.abs(x)>1.0) {
+      x=(x>1.0)?1.0:-1.0;
+    }
+    return Math.asin(x);
+  },
+
+// following functions from gctpc cproj.c for transverse mercator projections
+  e0fn : function(x) {return(1.0-0.25*x*(1.0+x/16.0*(3.0+1.25*x)));},
+  e1fn : function(x) {return(0.375*x*(1.0+0.25*x*(1.0+0.46875*x)));},
+  e2fn : function(x) {return(0.05859375*x*x*(1.0+0.75*x));},
+  e3fn : function(x) {return(x*x*x*(35.0/3072.0));},
+  mlfn : function(e0,e1,e2,e3,phi) {return(e0*phi-e1*Math.sin(2.0*phi)+e2*Math.sin(4.0*phi)-e3*Math.sin(6.0*phi));},
+
+  srat : function(esinp, exp) {
+    return(Math.pow((1.0-esinp)/(1.0+esinp), exp));
+  },
+
+// Function to return the sign of an argument
+  sign : function(x) { if (x < 0.0) return(-1); else return(1);},
+
+// Function to adjust longitude to -180 to 180; input in radians
+  adjust_lon : function(x) {
+    x = (Math.abs(x) < this.PI) ? x: (x - (this.sign(x)*this.TWO_PI) );
+    return x;
+  }
+
+};
+
+/** datum object
+*/
+Proj4js.datum = OpenLayers.Class({
+
+  initialize : function(proj) {
+    this.datum_type = Proj4js.common.PJD_WGS84;   //default setting
+    if (proj.datumCode && proj.datumCode == 'none') {
+      this.datum_type = Proj4js.common.PJD_NODATUM;
+    }
+    if (proj && proj.datum_params) {
+      for (var i=0; i<proj.datum_params.length; i++) {
+        proj.datum_params[i]=parseFloat(proj.datum_params[i]);
+      }
+      if (proj.datum_params[0] != 0 || proj.datum_params[1] != 0 || proj.datum_params[2] != 0 ) {
+        this.datum_type = Proj4js.common.PJD_3PARAM;
+      }
+      if (proj.datum_params.length > 3) {
+        if (proj.datum_params[3] != 0 || proj.datum_params[4] != 0 ||
+            proj.datum_params[5] != 0 || proj.datum_params[6] != 0 ) {
+          this.datum_type = Proj4js.common.PJD_7PARAM;
+          proj.datum_params[3] *= Proj4js.common.SEC_TO_RAD;
+          proj.datum_params[4] *= Proj4js.common.SEC_TO_RAD;
+          proj.datum_params[5] *= Proj4js.common.SEC_TO_RAD;
+          proj.datum_params[6] = (proj.datum_params[6]/1000000.0) + 1.0;
+        }
+      }
+    }
+    if (proj) {
+      this.a = proj.a;    //datum object also uses these values
+      this.b = proj.b;
+      this.es = proj.es;
+      this.ep2 = proj.ep2;
+      this.datum_params = proj.datum_params;
+    }
+  },
+
+  /****************************************************************/
+  // cs_compare_datums()
+  //   Returns 1 (TRUE) if the two datums match, otherwise 0 (FALSE).
+  compare_datums : function( dest ) {
+    if( this.datum_type != dest.datum_type ) {
+      return false; // false, datums are not equal
+    } else if (this.a != dest.a || Math.abs(this.es-dest.es) > 0.000000000050) {
+      // the tolerence for es is to ensure that GRS80 and WGS84
+      // are considered identical
+      return false;
+    } else if( this.datum_type == Proj4js.common.PJD_3PARAM ) {
+      return (this.datum_params[0] == dest.datum_params[0]
+              && this.datum_params[1] == dest.datum_params[1]
+              && this.datum_params[2] == dest.datum_params[2]);
+    } else if( this.datum_type == Proj4js.common.PJD_7PARAM ) {
+      return (this.datum_params[0] == dest.datum_params[0]
+              && this.datum_params[1] == dest.datum_params[1]
+              && this.datum_params[2] == dest.datum_params[2]
+              && this.datum_params[3] == dest.datum_params[3]
+              && this.datum_params[4] == dest.datum_params[4]
+              && this.datum_params[5] == dest.datum_params[5]
+              && this.datum_params[6] == dest.datum_params[6]);
+    } else if( this.datum_type == Proj4js.common.PJD_GRIDSHIFT ) {
+      return strcmp( pj_param(this.params,"snadgrids").s,
+                     pj_param(dest.params,"snadgrids").s ) == 0;
+    } else {
+      return true; // datums are equal
+    }
+  }, // cs_compare_datums()
+
+  /*
+   * The function Convert_Geodetic_To_Geocentric converts geodetic coordinates
+   * (latitude, longitude, and height) to geocentric coordinates (X, Y, Z),
+   * according to the current ellipsoid parameters.
+   *
+   *    Latitude  : Geodetic latitude in radians                     (input)
+   *    Longitude : Geodetic longitude in radians                    (input)
+   *    Height    : Geodetic height, in meters                       (input)
+   *    X         : Calculated Geocentric X coordinate, in meters    (output)
+   *    Y         : Calculated Geocentric Y coordinate, in meters    (output)
+   *    Z         : Calculated Geocentric Z coordinate, in meters    (output)
+   *
+   */
+  geodetic_to_geocentric : function(p) {
+    var Longitude = p.x;
+    var Latitude = p.y;
+    var Height = p.z ? p.z : 0;   //Z value not always supplied
+    var X;  // output
+    var Y;
+    var Z;
+
+    var Error_Code=0;  //  GEOCENT_NO_ERROR;
+    var Rn;            /*  Earth radius at location  */
+    var Sin_Lat;       /*  Math.sin(Latitude)  */
+    var Sin2_Lat;      /*  Square of Math.sin(Latitude)  */
+    var Cos_Lat;       /*  Math.cos(Latitude)  */
+
+    /*
+    ** Don't blow up if Latitude is just a little out of the value
+    ** range as it may just be a rounding issue.  Also removed longitude
+    ** test, it should be wrapped by Math.cos() and Math.sin().  NFW for PROJ.4, Sep/2001.
+    */
+    if (Latitude < -Proj4js.common.HALF_PI && Latitude > -1.001 * Proj4js.common.HALF_PI ) {
+        Latitude = -Proj4js.common.HALF_PI;
+    } else if (Latitude > Proj4js.common.HALF_PI && Latitude < 1.001 * Proj4js.common.HALF_PI ) {
+        Latitude = Proj4js.common.HALF_PI;
+    } else if ((Latitude < -Proj4js.common.HALF_PI) || (Latitude > Proj4js.common.HALF_PI)) {
+      /* Latitude out of range */
+      Proj4js.reportError('geocent:lat out of range:'+Latitude);
+      return null;
+    }
+
+    if (Longitude > Proj4js.common.PI) Longitude -= (2*Proj4js.common.PI);
+    Sin_Lat = Math.sin(Latitude);
+    Cos_Lat = Math.cos(Latitude);
+    Sin2_Lat = Sin_Lat * Sin_Lat;
+    Rn = this.a / (Math.sqrt(1.0e0 - this.es * Sin2_Lat));
+    X = (Rn + Height) * Cos_Lat * Math.cos(Longitude);
+    Y = (Rn + Height) * Cos_Lat * Math.sin(Longitude);
+    Z = ((Rn * (1 - this.es)) + Height) * Sin_Lat;
+
+    p.x = X;
+    p.y = Y;
+    p.z = Z;
+    return Error_Code;
+  }, // cs_geodetic_to_geocentric()
+
+  geocentric_to_geodetic : function (p) {
+/* local defintions and variables */
+/* end-criterium of loop, accuracy of sin(Latitude) */
+var genau = 1.E-12;
+var genau2 = (genau*genau);
+var maxiter = 30;
+
+    var P;        /* distance between semi-minor axis and location */
+    var RR;       /* distance between center and location */
+    var CT;       /* sin of geocentric latitude */
+    var ST;       /* cos of geocentric latitude */
+    var RX;
+    var RK;
+    var RN;       /* Earth radius at location */
+    var CPHI0;    /* cos of start or old geodetic latitude in iterations */
+    var SPHI0;    /* sin of start or old geodetic latitude in iterations */
+    var CPHI;     /* cos of searched geodetic latitude */
+    var SPHI;     /* sin of searched geodetic latitude */
+    var SDPHI;    /* end-criterium: addition-theorem of sin(Latitude(iter)-Latitude(iter-1)) */
+    var At_Pole;     /* indicates location is in polar region */
+    var iter;        /* # of continous iteration, max. 30 is always enough (s.a.) */
+
+    var X =p.x;
+    var Y = p.y;
+    var Z = p.z ? p.z : 0.0;   //Z value not always supplied
+    var Longitude;
+    var Latitude;
+    var Height;
+    
+    At_Pole = false;
+    P = Math.sqrt(X*X+Y*Y);
+    RR = Math.sqrt(X*X+Y*Y+Z*Z);
+
+/*  special cases for latitude and longitude */
+    if (P/this.a < genau) {
+
+/*  special case, if P=0. (X=0., Y=0.) */
+        At_Pole = true;
+        Longitude = 0.0;
+
+/*  if (X,Y,Z)=(0.,0.,0.) then Height becomes semi-minor axis
+ *  of ellipsoid (=center of mass), Latitude becomes PI/2 */
+        if (RR/this.a < genau) {
+            Latitude = Proj4js.common.HALF_PI;
+            Height   = -this.b;
+            return;
+        }
+    } else {
+/*  ellipsoidal (geodetic) longitude
+ *  interval: -PI < Longitude <= +PI */
+        Longitude=Math.atan2(Y,X);
+    }
+
+/* --------------------------------------------------------------
+ * Following iterative algorithm was developped by
+ * "Institut f�r Erdmessung", University of Hannover, July 1988.
+ * Internet: www.ife.uni-hannover.de
+ * Iterative computation of CPHI,SPHI and Height.
+ * Iteration of CPHI and SPHI to 10**-12 radian resp.
+ * 2*10**-7 arcsec.
+ * --------------------------------------------------------------
+ */
+    CT = Z/RR;
+    ST = P/RR;
+    RX = 1.0/Math.sqrt(1.0-this.es*(2.0-this.es)*ST*ST);
+    CPHI0 = ST*(1.0-this.es)*RX;
+    SPHI0 = CT*RX;
+    iter = 0;
+
+/* loop to find sin(Latitude) resp. Latitude
+ * until |sin(Latitude(iter)-Latitude(iter-1))| < genau */
+    do
+    {
+        iter++;
+        RN = this.a/Math.sqrt(1.0-this.es*SPHI0*SPHI0);
+
+/*  ellipsoidal (geodetic) height */
+        Height = P*CPHI0+Z*SPHI0-RN*(1.0-this.es*SPHI0*SPHI0);
+
+        RK = this.es*RN/(RN+Height);
+        RX = 1.0/Math.sqrt(1.0-RK*(2.0-RK)*ST*ST);
+        CPHI = ST*(1.0-RK)*RX;
+        SPHI = CT*RX;
+        SDPHI = SPHI*CPHI0-CPHI*SPHI0;
+        CPHI0 = CPHI;
+        SPHI0 = SPHI;
+    }
+    while (SDPHI*SDPHI > genau2 && iter < maxiter);
+
+/*  ellipsoidal (geodetic) latitude */
+    Latitude=Math.atan(SPHI/Math.abs(CPHI));
+
+    p.x = Longitude;
+    p.y =Latitude;
+    p.z = Height;
+    return p;
+  },
+
+  /** Convert_Geocentric_To_Geodetic
+   * The method used here is derived from 'An Improved Algorithm for
+   * Geocentric to Geodetic Coordinate Conversion', by Ralph Toms, Feb 1996
+   */
+  geocentric_to_geodetic_noniter : function (p) {
+    var X =p.x;
+    var Y = p.y;
+    var Z = p.z ? p.z : 0;   //Z value not always supplied
+    var Longitude;
+    var Latitude;
+    var Height;
+
+    var W;        /* distance from Z axis */
+    var W2;       /* square of distance from Z axis */
+    var T0;       /* initial estimate of vertical component */
+    var T1;       /* corrected estimate of vertical component */
+    var S0;       /* initial estimate of horizontal component */
+    var S1;       /* corrected estimate of horizontal component */
+    var Sin_B0;   /* Math.sin(B0), B0 is estimate of Bowring aux variable */
+    var Sin3_B0;  /* cube of Math.sin(B0) */
+    var Cos_B0;   /* Math.cos(B0) */
+    var Sin_p1;   /* Math.sin(phi1), phi1 is estimated latitude */
+    var Cos_p1;   /* Math.cos(phi1) */
+    var Rn;       /* Earth radius at location */
+    var Sum;      /* numerator of Math.cos(phi1) */
+    var At_Pole;  /* indicates location is in polar region */
+
+    X = parseFloat(X);  // cast from string to float
+    Y = parseFloat(Y);
+    Z = parseFloat(Z);
+
+    At_Pole = false;
+    if (X != 0.0)
+    {
+        Longitude = Math.atan2(Y,X);
+    }
+    else
+    {
+        if (Y > 0)
+        {
+            Longitude = Proj4js.common.HALF_PI;
+        }
+        else if (Y < 0)
+        {
+            Longitude = -Proj4js.common.HALF_PI;
+        }
+        else
+        {
+            At_Pole = true;
+            Longitude = 0.0;
+            if (Z > 0.0)
+            {  /* north pole */
+                Latitude = Proj4js.common.HALF_PI;
+            }
+            else if (Z < 0.0)
+            {  /* south pole */
+                Latitude = -Proj4js.common.HALF_PI;
+            }
+            else
+            {  /* center of earth */
+                Latitude = Proj4js.common.HALF_PI;
+                Height = -this.b;
+                return;
+            }
+        }
+    }
+    W2 = X*X + Y*Y;
+    W = Math.sqrt(W2);
+    T0 = Z * Proj4js.common.AD_C;
+    S0 = Math.sqrt(T0 * T0 + W2);
+    Sin_B0 = T0 / S0;
+    Cos_B0 = W / S0;
+    Sin3_B0 = Sin_B0 * Sin_B0 * Sin_B0;
+    T1 = Z + this.b * this.ep2 * Sin3_B0;
+    Sum = W - this.a * this.es * Cos_B0 * Cos_B0 * Cos_B0;
+    S1 = Math.sqrt(T1*T1 + Sum * Sum);
+    Sin_p1 = T1 / S1;
+    Cos_p1 = Sum / S1;
+    Rn = this.a / Math.sqrt(1.0 - this.es * Sin_p1 * Sin_p1);
+    if (Cos_p1 >= Proj4js.common.COS_67P5)
+    {
+        Height = W / Cos_p1 - Rn;
+    }
+    else if (Cos_p1 <= -Proj4js.common.COS_67P5)
+    {
+        Height = W / -Cos_p1 - Rn;
+    }
+    else
+    {
+        Height = Z / Sin_p1 + Rn * (this.es - 1.0);
+    }
+    if (At_Pole == false)
+    {
+        Latitude = Math.atan(Sin_p1 / Cos_p1);
+    }
+
+    p.x = Longitude;
+    p.y =Latitude;
+    p.z = Height;
+    return p;
+  }, // cs_geocentric_to_geodetic()
+
+  /****************************************************************/
+  // pj_geocentic_to_wgs84( p )
+  //  p = point to transform in geocentric coordinates (x,y,z)
+  geocentric_to_wgs84 : function ( p ) {
+
+    if( this.datum_type == Proj4js.common.PJD_3PARAM )
+    {
+      // if( x[io] == HUGE_VAL )
+      //    continue;
+      p.x += this.datum_params[0];
+      p.y += this.datum_params[1];
+      p.z += this.datum_params[2];
+
+    }
+    else  // if( this.datum_type == Proj4js.common.PJD_7PARAM )
+    {
+      var Dx_BF =this.datum_params[0];
+      var Dy_BF =this.datum_params[1];
+      var Dz_BF =this.datum_params[2];
+      var Rx_BF =this.datum_params[3];
+      var Ry_BF =this.datum_params[4];
+      var Rz_BF =this.datum_params[5];
+      var M_BF  =this.datum_params[6];
+      // if( x[io] == HUGE_VAL )
+      //    continue;
+      var x_out = M_BF*(       p.x - Rz_BF*p.y + Ry_BF*p.z) + Dx_BF;
+      var y_out = M_BF*( Rz_BF*p.x +       p.y - Rx_BF*p.z) + Dy_BF;
+      var z_out = M_BF*(-Ry_BF*p.x + Rx_BF*p.y +       p.z) + Dz_BF;
+      p.x = x_out;
+      p.y = y_out;
+      p.z = z_out;
+    }
+  }, // cs_geocentric_to_wgs84
+
+  /****************************************************************/
+  // pj_geocentic_from_wgs84()
+  //  coordinate system definition,
+  //  point to transform in geocentric coordinates (x,y,z)
+  geocentric_from_wgs84 : function( p ) {
+
+    if( this.datum_type == Proj4js.common.PJD_3PARAM )
+    {
+      //if( x[io] == HUGE_VAL )
+      //    continue;
+      p.x -= this.datum_params[0];
+      p.y -= this.datum_params[1];
+      p.z -= this.datum_params[2];
+
+    }
+    else // if( this.datum_type == Proj4js.common.PJD_7PARAM )
+    {
+      var Dx_BF =this.datum_params[0];
+      var Dy_BF =this.datum_params[1];
+      var Dz_BF =this.datum_params[2];
+      var Rx_BF =this.datum_params[3];
+      var Ry_BF =this.datum_params[4];
+      var Rz_BF =this.datum_params[5];
+      var M_BF  =this.datum_params[6];
+      var x_tmp = (p.x - Dx_BF) / M_BF;
+      var y_tmp = (p.y - Dy_BF) / M_BF;
+      var z_tmp = (p.z - Dz_BF) / M_BF;
+      //if( x[io] == HUGE_VAL )
+      //    continue;
+
+      p.x =        x_tmp + Rz_BF*y_tmp - Ry_BF*z_tmp;
+      p.y = -Rz_BF*x_tmp +       y_tmp + Rx_BF*z_tmp;
+      p.z =  Ry_BF*x_tmp - Rx_BF*y_tmp +       z_tmp;
+    } //cs_geocentric_from_wgs84()
+  }
+});
+
+/** point object, nothing fancy, just allows values to be
+    passed back and forth by reference rather than by value.
+    Other point classes may be used as long as they have
+    x and y properties, which will get modified in the transform method.
+*/
+Proj4js.Point = OpenLayers.Class({
+
+    initialize : function(x,y,z) {
+      if (typeof x == 'object') {
+        this.x = x[0];
+        this.y = x[1];
+        this.z = x[2] || 0.0;
+      } else {
+        this.x = x;
+        this.y = y;
+        this.z = z || 0.0;
+      }
+    },
+
+    clone : function() {
+      return new Proj4js.Point(this.x, this.y, this.z);
+    },
+
+    /**
+     * Method: toString
+     * Return a readable string version of the lonlat
+     *
+     * Return:
+     * {String} String representation of Proj4js.Point object. 
+     *           (ex. <i>"x=5,y=42"</i>)
+     */
+    toString:function() {
+        return ("x=" + this.x + ",y=" + this.y);
+    },
+
+    /** 
+     * APIMethod: toShortString
+     * 
+     * Return:
+     * {String} Shortened String representation of Proj4js.Point object. 
+     *         (ex. <i>"5, 42"</i>)
+     */
+    toShortString:function() {
+        return (this.x + ", " + this.y);
+    }
+});
+
+Proj4js.PrimeMeridian = {
+    "greenwich": 0.0,               //"0dE",
+    "lisbon":     -9.131906111111,   //"9d07'54.862\"W",
+    "paris":       2.337229166667,   //"2d20'14.025\"E",
+    "bogota":    -74.080916666667,  //"74d04'51.3\"W",
+    "madrid":     -3.687938888889,  //"3d41'16.58\"W",
+    "rome":       12.452333333333,  //"12d27'8.4\"E",
+    "bern":        7.439583333333,  //"7d26'22.5\"E",
+    "jakarta":   106.807719444444,  //"106d48'27.79\"E",
+    "ferro":     -17.666666666667,  //"17d40'W",
+    "brussels":    4.367975,        //"4d22'4.71\"E",
+    "stockholm":  18.058277777778,  //"18d3'29.8\"E",
+    "athens":     23.7163375,       //"23d42'58.815\"E",
+    "oslo":       10.722916666667   //"10d43'22.5\"E"
+};
+
+Proj4js.Ellipsoid = {
+  "MERIT": {a:6378137.0, rf:298.257, ellipseName:"MERIT 1983"},
+  "SGS85": {a:6378136.0, rf:298.257, ellipseName:"Soviet Geodetic System 85"},
+  "GRS80": {a:6378137.0, rf:298.257222101, ellipseName:"GRS 1980(IUGG, 1980)"},
+  "IAU76": {a:6378140.0, rf:298.257, ellipseName:"IAU 1976"},
+  "airy": {a:6377563.396, b:6356256.910, ellipseName:"Airy 1830"},
+  "APL4.": {a:6378137, rf:298.25, ellipseName:"Appl. Physics. 1965"},
+  "NWL9D": {a:6378145.0, rf:298.25, ellipseName:"Naval Weapons Lab., 1965"},
+  "mod_airy": {a:6377340.189, b:6356034.446, ellipseName:"Modified Airy"},
+  "andrae": {a:6377104.43, rf:300.0, ellipseName:"Andrae 1876 (Den., Iclnd.)"},
+  "aust_SA": {a:6378160.0, rf:298.25, ellipseName:"Australian Natl & S. Amer. 1969"},
+  "GRS67": {a:6378160.0, rf:298.2471674270, ellipseName:"GRS 67(IUGG 1967)"},
+  "bessel": {a:6377397.155, rf:299.1528128, ellipseName:"Bessel 1841"},
+  "bess_nam": {a:6377483.865, rf:299.1528128, ellipseName:"Bessel 1841 (Namibia)"},
+  "clrk66": {a:6378206.4, b:6356583.8, ellipseName:"Clarke 1866"},
+  "clrk80": {a:6378249.145, rf:293.4663, ellipseName:"Clarke 1880 mod."},
+  "CPM": {a:6375738.7, rf:334.29, ellipseName:"Comm. des Poids et Mesures 1799"},
+  "delmbr": {a:6376428.0, rf:311.5, ellipseName:"Delambre 1810 (Belgium)"},
+  "engelis": {a:6378136.05, rf:298.2566, ellipseName:"Engelis 1985"},
+  "evrst30": {a:6377276.345, rf:300.8017, ellipseName:"Everest 1830"},
+  "evrst48": {a:6377304.063, rf:300.8017, ellipseName:"Everest 1948"},
+  "evrst56": {a:6377301.243, rf:300.8017, ellipseName:"Everest 1956"},
+  "evrst69": {a:6377295.664, rf:300.8017, ellipseName:"Everest 1969"},
+  "evrstSS": {a:6377298.556, rf:300.8017, ellipseName:"Everest (Sabah & Sarawak)"},
+  "fschr60": {a:6378166.0, rf:298.3, ellipseName:"Fischer (Mercury Datum) 1960"},
+  "fschr60m": {a:6378155.0, rf:298.3, ellipseName:"Fischer 1960"},
+  "fschr68": {a:6378150.0, rf:298.3, ellipseName:"Fischer 1968"},
+  "helmert": {a:6378200.0, rf:298.3, ellipseName:"Helmert 1906"},
+  "hough": {a:6378270.0, rf:297.0, ellipseName:"Hough"},
+  "intl": {a:6378388.0, rf:297.0, ellipseName:"International 1909 (Hayford)"},
+  "kaula": {a:6378163.0, rf:298.24, ellipseName:"Kaula 1961"},
+  "lerch": {a:6378139.0, rf:298.257, ellipseName:"Lerch 1979"},
+  "mprts": {a:6397300.0, rf:191.0, ellipseName:"Maupertius 1738"},
+  "new_intl": {a:6378157.5, b:6356772.2, ellipseName:"New International 1967"},
+  "plessis": {a:6376523.0, rf:6355863.0, ellipseName:"Plessis 1817 (France)"},
+  "krass": {a:6378245.0, rf:298.3, ellipseName:"Krassovsky, 1942"},
+  "SEasia": {a:6378155.0, b:6356773.3205, ellipseName:"Southeast Asia"},
+  "walbeck": {a:6376896.0, b:6355834.8467, ellipseName:"Walbeck"},
+  "WGS60": {a:6378165.0, rf:298.3, ellipseName:"WGS 60"},
+  "WGS66": {a:6378145.0, rf:298.25, ellipseName:"WGS 66"},
+  "WGS72": {a:6378135.0, rf:298.26, ellipseName:"WGS 72"},
+  "WGS84": {a:6378137.0, rf:298.257223563, ellipseName:"WGS 84"},
+  "sphere": {a:6370997.0, b:6370997.0, ellipseName:"Normal Sphere (r=6370997)"}
+};
+
+Proj4js.Datum = {
+  "WGS84": {towgs84: "0,0,0", ellipse: "WGS84", datumName: ""},
+  "GGRS87": {towgs84: "-199.87,74.79,246.62", ellipse: "GRS80", datumName: "Greek_Geodetic_Reference_System_1987"},
+  "NAD83": {towgs84: "0,0,0", ellipse: "GRS80", datumName: "North_American_Datum_1983"},
+  "NAD27": {nadgrids: "@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat", ellipse: "clrk66", datumName: "North_American_Datum_1927"},
+  "potsdam": {towgs84: "606.0,23.0,413.0", ellipse: "bessel", datumName: "Potsdam Rauenberg 1950 DHDN"},
+  "carthage": {towgs84: "-263.0,6.0,431.0", ellipse: "clark80", datumName: "Carthage 1934 Tunisia"},
+  "hermannskogel": {towgs84: "653.0,-212.0,449.0", ellipse: "bessel", datumName: "Hermannskogel"},
+  "ire65": {towgs84: "482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15", ellipse: "mod_airy", datumName: "Ireland 1965"},
+  "nzgd49": {towgs84: "59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993", ellipse: "intl", datumName: "New Zealand Geodetic Datum 1949"},
+  "OSGB36": {towgs84: "446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894", ellipse: "airy", datumName: "Airy 1830"}
+};
+
+Proj4js.WGS84 = new Proj4js.Proj('WGS84');
+Proj4js.Datum['OSB36'] = Proj4js.Datum['OSGB36']; //as returned from spatialreference.org
+/* ======================================================================
+    projCode/sterea.js
+   ====================================================================== */
+
+
+Proj4js.Proj.sterea = {
+  dependsOn : 'gauss',
+
+  init : function() {
+    Proj4js.Proj['gauss'].init.apply(this);
+    if (!this.rc) {
+      Proj4js.reportError("sterea:init:E_ERROR_0");
+      return;
+    }
+    this.sinc0 = Math.sin(this.phic0);
+    this.cosc0 = Math.cos(this.phic0);
+    this.R2 = 2.0 * this.rc;
+    if (!this.title) this.title = "Oblique Stereographic Alternative";
+  },
+
+  forward : function(p) {
+    p.x = Proj4js.common.adjust_lon(p.x-this.long0); /* adjust del longitude */
+    Proj4js.Proj['gauss'].forward.apply(this, [p]);
+    sinc = Math.sin(p.y);
+    cosc = Math.cos(p.y);
+    cosl = Math.cos(p.x);
+    k = this.k0 * this.R2 / (1.0 + this.sinc0 * sinc + this.cosc0 * cosc * cosl);
+    p.x = k * cosc * Math.sin(p.x);
+    p.y = k * (this.cosc0 * sinc - this.sinc0 * cosc * cosl);
+    p.x = this.a * p.x + this.x0;
+    p.y = this.a * p.y + this.y0;
+    return p;
+  },
+
+  inverse : function(p) {
+    var lon,lat;
+    p.x = (p.x - this.x0) / this.a; /* descale and de-offset */
+    p.y = (p.y - this.y0) / this.a;
+
+    p.x /= this.k0;
+    p.y /= this.k0;
+    if ( (rho = Math.sqrt(p.x*p.x + p.y*p.y)) ) {
+      c = 2.0 * Math.atan2(rho, this.R2);
+      sinc = Math.sin(c);
+      cosc = Math.cos(c);
+      lat = Math.asin(cosc * this.sinc0 + p.y * sinc * this.cosc0 / rho);
+      lon = Math.atan2(p.x * sinc, rho * this.cosc0 * cosc - p.y * this.sinc0 * sinc);
+    } else {
+      lat = this.phic0;
+      lon = 0.;
+    }
+
+    p.x = lon;
+    p.y = lat;
+    Proj4js.Proj['gauss'].inverse.apply(this,[p]);
+    p.x = Proj4js.common.adjust_lon(p.x + this.long0); /* adjust longitude to CM */
+    return p;
+  }
+};
+
+/* ======================================================================
+    projCode/aea.js
+   ====================================================================== */
+
+/*******************************************************************************
+NAME                     ALBERS CONICAL EQUAL AREA 
+
+PURPOSE:  Transforms input longitude and latitude to Easting and Northing
+    for the Albers Conical Equal Area projection.  The longitude
+    and latitude must be in radians.  The Easting and Northing
+    values will be returned in meters.
+
+PROGRAMMER              DATE
+----------              ----
+T. Mittan,        Feb, 1992
+
+ALGORITHM REFERENCES
+
+1.  Snyder, John P., "Map Projections--A Working Manual", U.S. Geological
+    Survey Professional Paper 1395 (Supersedes USGS Bulletin 1532), United
+    State Government Printing Office, Washington D.C., 1987.
+
+2.  Snyder, John P. and Voxland, Philip M., "An Album of Map Projections",
+    U.S. Geological Survey Professional Paper 1453 , United State Government
+    Printing Office, Washington D.C., 1989.
+*******************************************************************************/
+
+
+Proj4js.Proj.aea = {
+  init : function() {
+
+    if (Math.abs(this.lat1 + this.lat2) < Proj4js.common.EPSLN) {
+       Proj4js.reportError("aeaInitEqualLatitudes");
+       return;
+    }
+    this.temp = this.b / this.a;
+    this.es = 1.0 - Math.pow(this.temp,2);
+    this.e3 = Math.sqrt(this.es);
+
+    this.sin_po=Math.sin(this.lat1);
+    this.cos_po=Math.cos(this.lat1);
+    this.t1=this.sin_po
+    this.con = this.sin_po;
+    this.ms1 = Proj4js.common.msfnz(this.e3,this.sin_po,this.cos_po);
+    this.qs1 = Proj4js.common.qsfnz(this.e3,this.sin_po,this.cos_po);
+
+    this.sin_po=Math.sin(this.lat2);
+    this.cos_po=Math.cos(this.lat2);
+    this.t2=this.sin_po;
+    this.ms2 = Proj4js.common.msfnz(this.e3,this.sin_po,this.cos_po);
+    this.qs2 = Proj4js.common.qsfnz(this.e3,this.sin_po,this.cos_po);
+
+    this.sin_po=Math.sin(this.lat0);
+    this.cos_po=Math.cos(this.lat0);
+    this.t3=this.sin_po;
+    this.qs0 = Proj4js.common.qsfnz(this.e3,this.sin_po,this.cos_po);
+
+    if (Math.abs(this.lat1 - this.lat2) > Proj4js.common.EPSLN) {
+      this.ns0 = (this.ms1 * this.ms1 - this.ms2 *this.ms2)/ (this.qs2 - this.qs1);
+    } else {
+      this.ns0 = this.con;
+    }
+    this.c = this.ms1 * this.ms1 + this.ns0 * this.qs1;
+    this.rh = this.a * Math.sqrt(this.c - this.ns0 * this.qs0)/this.ns0;
+  },
+
+/* Albers Conical Equal Area forward equations--mapping lat,long to x,y
+  -------------------------------------------------------------------*/
+  forward: function(p){
+
+    var lon=p.x;
+    var lat=p.y;
+
+    this.sin_phi=Math.sin(lat);
+    this.cos_phi=Math.cos(lat);
+
+    var qs = Proj4js.common.qsfnz(this.e3,this.sin_phi,this.cos_phi);
+    var rh1 =this.a * Math.sqrt(this.c - this.ns0 * qs)/this.ns0;
+    var theta = this.ns0 * Proj4js.common.adjust_lon(lon - this.long0); 
+    var x = rh1 * Math.sin(theta) + this.x0;
+    var y = this.rh - rh1 * Math.cos(theta) + this.y0;
+
+    p.x = x; 
+    p.y = y;
+    return p;
+  },
+
+
+  inverse: function(p) {
+    var rh1,qs,con,theta,lon,lat;
+
+    p.x -= this.x0;
+    p.y = this.rh - p.y + this.y0;
+    if (this.ns0 >= 0) {
+      rh1 = Math.sqrt(p.x *p.x + p.y * p.y);
+      con = 1.0;
+    } else {
+      rh1 = -Math.sqrt(p.x * p.x + p.y *p.y);
+      con = -1.0;
+    }
+    theta = 0.0;
+    if (rh1 != 0.0) {
+      theta = Math.atan2(con * p.x, con * p.y);
+    }
+    con = rh1 * this.ns0 / this.a;
+    qs = (this.c - con * con) / this.ns0;
+    if (this.e3 >= 1e-10) {
+      con = 1 - .5 * (1.0 -this.es) * Math.log((1.0 - this.e3) / (1.0 + this.e3))/this.e3;
+      if (Math.abs(Math.abs(con) - Math.abs(qs)) > .0000000001 ) {
+          lat = this.phi1z(this.e3,qs);
+      } else {
+          if (qs >= 0) {
+             lat = .5 * PI;
+          } else {
+             lat = -.5 * PI;
+          }
+      }
+    } else {
+      lat = this.phi1z(e3,qs);
+    }
+
+    lon = Proj4js.common.adjust_lon(theta/this.ns0 + this.long0);
+    p.x = lon;
+    p.y = lat;
+    return p;
+  },
+  
+/* Function to compute phi1, the latitude for the inverse of the
+   Albers Conical Equal-Area projection.
+-------------------------------------------*/
+  phi1z: function (eccent,qs) {
+    var con, com, dphi;
+    var phi = Proj4js.common.asinz(.5 * qs);
+    if (eccent < Proj4js.common.EPSLN) return phi;
+    
+    var eccnts = eccent * eccent; 
+    for (var i = 1; i <= 25; i++) {
+        sinphi = Math.sin(phi);
+        cosphi = Math.cos(phi);
+        con = eccent * sinphi; 
+        com = 1.0 - con * con;
+        dphi = .5 * com * com / cosphi * (qs / (1.0 - eccnts) - sinphi / com + .5 / eccent * Math.log((1.0 - con) / (1.0 + con)));
+        phi = phi + dphi;
+        if (Math.abs(dphi) <= 1e-7) return phi;
+    }
+    Proj4js.reportError("aea:phi1z:Convergence error");
+    return null;
+  }
+  
+};
+
+
+
+/* ======================================================================
+    projCode/poly.js
+   ====================================================================== */
+
+/* Function to compute, phi4, the latitude for the inverse of the
+   Polyconic projection.
+------------------------------------------------------------*/
+function phi4z (eccent,e0,e1,e2,e3,a,b,c,phi) {
+  var sinphi, sin2ph, tanph, ml, mlp, con1, con2, con3, dphi, i;
+
+  phi = a;
+  for (i = 1; i <= 15; i++) {
+    sinphi = Math.sin(phi);
+    tanphi = Math.tan(phi);
+    c = tanphi * Math.sqrt (1.0 - eccent * sinphi * sinphi);
+    sin2ph = Math.sin (2.0 * phi);
+    /*
+    ml = e0 * *phi - e1 * sin2ph + e2 * sin (4.0 *  *phi);
+    mlp = e0 - 2.0 * e1 * cos (2.0 *  *phi) + 4.0 * e2 *  cos (4.0 *  *phi);
+    */
+    ml = e0 * phi - e1 * sin2ph + e2 * Math.sin (4.0 *  phi) - e3 * Math.sin (6.0 * phi);
+    mlp = e0 - 2.0 * e1 * Math.cos (2.0 *  phi) + 4.0 * e2 * Math.cos (4.0 *  phi) - 6.0 * e3 * Math.cos (6.0 *  phi);
+    con1 = 2.0 * ml + c * (ml * ml + b) - 2.0 * a *  (c * ml + 1.0);
+    con2 = eccent * sin2ph * (ml * ml + b - 2.0 * a * ml) / (2.0 *c);
+    con3 = 2.0 * (a - ml) * (c * mlp - 2.0 / sin2ph) - 2.0 * mlp;
+    dphi = con1 / (con2 + con3);
+    phi += dphi;
+    if (Math.abs(dphi) <= .0000000001 ) return(phi);   
+  }
+  Proj4js.reportError("phi4z: No convergence");
+  return null;
+}
+
+
+/* Function to compute the constant e4 from the input of the eccentricity
+   of the spheroid, x.  This constant is used in the Polar Stereographic
+   projection.
+--------------------------------------------------------------------*/
+function e4fn(x) {
+  var con, com;
+  con = 1.0 + x;
+  com = 1.0 - x;
+  return (Math.sqrt((Math.pow(con,con))*(Math.pow(com,com))));
+}
+
+
+
+
+
+/*******************************************************************************
+NAME                             POLYCONIC 
+
+PURPOSE:  Transforms input longitude and latitude to Easting and
+    Northing for the Polyconic projection.  The
+    longitude and latitude must be in radians.  The Easting
+    and Northing values will be returned in meters.
+
+PROGRAMMER              DATE
+----------              ----
+T. Mittan   Mar, 1993
+
+ALGORITHM REFERENCES
+
+1.  Snyder, John P., "Map Projections--A Working Manual", U.S. Geological
+    Survey Professional Paper 1395 (Supersedes USGS Bulletin 1532), United
+    State Government Printing Office, Washington D.C., 1987.
+
+2.  Snyder, John P. and Voxland, Philip M., "An Album of Map Projections",
+    U.S. Geological Survey Professional Paper 1453 , United State Government
+    Printing Office, Washington D.C., 1989.
+*******************************************************************************/
+
+Proj4js.Proj.poly = {
+
+  /* Initialize the POLYCONIC projection
+    ----------------------------------*/
+  init: function() {
+    var temp;     /* temporary variable   */
+    if (this.lat0=0) this.lat0=90;//this.lat0 ca
+
+    /* Place parameters in static storage for common use
+      -------------------------------------------------*/
+    this.temp = this.b / this.a;
+    this.es = 1.0 - Math.pow(this.temp,2);// devait etre dans tmerc.js mais n y est pas donc je commente sinon retour de valeurs nulles 
+    this.e = Math.sqrt(this.es);
+    this.e0 = Proj4js.common.e0fn(this.es);
+    this.e1 = Proj4js.common.e1fn(this.es);
+    this.e2 = Proj4js.common.e2fn(this.es);
+    this.e3 = Proj4js.common.e3fn(this.es);
+    this.ml0 = Proj4js.common.mlfn(this.e0, this.e1,this.e2, this.e3, this.lat0);//si que des zeros le calcul ne se fait pas
+    //if (!this.ml0) {this.ml0=0;}
+  },
+
+
+  /* Polyconic forward equations--mapping lat,long to x,y
+    ---------------------------------------------------*/
+  forward: function(p) {
+    var sinphi, cosphi; /* sin and cos value        */
+    var al;       /* temporary values       */
+    var c;        /* temporary values       */
+    var con, ml;    /* cone constant, small m     */
+    var ms;       /* small m          */
+    var x,y;
+
+    var lon=p.x;
+    var lat=p.y;  
+
+    con = Proj4js.common.adjust_lon(lon - this.long0);
+    if (Math.abs(lat) <= .0000001) {
+      x = this.x0 + this.a * con;
+      y = this.y0 - this.a * this.ml0;
+    } else {
+      sinphi = Math.sin(lat);
+      cosphi = Math.cos(lat);    
+
+      ml = Proj4js.common.mlfn(this.e0, this.e1, this.e2, this.e3, lat);
+      ms = Proj4js.common.msfnz(this.e,sinphi,cosphi);
+      con = sinphi;
+      x = this.x0 + this.a * ms * Math.sin(con)/sinphi;
+      y = this.y0 + this.a * (ml - this.ml0 + ms * (1.0 - Math.cos(con))/sinphi);
+    }
+
+    p.x=x;
+    p.y=y;   
+    return p;
+  },
+
+
+  /* Inverse equations
+  -----------------*/
+  inverse: function(p) {
+    var sin_phi, cos_phi; /* sin and cos value        */
+    var al;         /* temporary values       */
+    var b;          /* temporary values       */
+    var c;          /* temporary values       */
+    var con, ml;      /* cone constant, small m     */
+    var iflg;       /* error flag         */
+    var lon,lat;
+    p.x -= this.x0;
+    p.y -= this.y0;
+    al = this.ml0 + p.y/this.a;
+    iflg = 0;
+
+    if (Math.abs(al) <= .0000001) {
+      lon = p.x/this.a + this.long0;
+      lat = 0.0;
+    } else {
+      b = al * al + (p.x/this.a) * (p.x/this.a);
+      iflg = phi4z(this.es,this.e0,this.e1,this.e2,this.e3,this.al,b,c,lat);
+      if (iflg != 1) return(iflg);
+      lon = Proj4js.common.adjust_lon((asinz(p.x * c / this.a) / Math.sin(lat)) + this.long0);
+    }
+
+    p.x=lon;
+    p.y=lat;
+    return p;
+  }
+};
+
+
+
+/* ======================================================================
+    projCode/equi.js
+   ====================================================================== */
+
+/*******************************************************************************
+NAME                             EQUIRECTANGULAR 
+
+PURPOSE:  Transforms input longitude and latitude to Easting and
+    Northing for the Equirectangular projection.  The
+    longitude and latitude must be in radians.  The Easting
+    and Northing values will be returned in meters.
+
+PROGRAMMER              DATE
+----------              ----
+T. Mittan   Mar, 1993
+
+ALGORITHM REFERENCES
+
+1.  Snyder, John P., "Map Projections--A Working Manual", U.S. Geological
+    Survey Professional Paper 1395 (Supersedes USGS Bulletin 1532), United
+    State Government Printing Office, Washington D.C., 1987.
+
+2.  Snyder, John P. and Voxland, Philip M., "An Album of Map Projections",
+    U.S. Geological Survey Professional Paper 1453 , United State Government
+    Printing Office, Washington D.C., 1989.
+*******************************************************************************/
+Proj4js.Proj.equi = {
+
+  init: function() {
+    if(!this.x0) this.x0=0;
+    if(!this.y0) this.y0=0;
+    if(!this.lat0) this.lat0=0;
+    if(!this.long0) this.long0=0;
+    ///this.t2;
+  },
+
+
+
+/* Equirectangular forward equations--mapping lat,long to x,y
+  ---------------------------------------------------------*/
+  forward: function(p) {
+
+    var lon=p.x;        
+    var lat=p.y;      
+
+    var dlon = Proj4js.common.adjust_lon(lon - this.long0);
+    var x = this.x0 +this. a * dlon *Math.cos(this.lat0);
+    var y = this.y0 + this.a * lat;
+
+    this.t1=x;
+    this.t2=Math.cos(this.lat0);
+    p.x=x;
+    p.y=y;
+    return p;
+  },  //equiFwd()
+
+
+
+/* Equirectangular inverse equations--mapping x,y to lat/long
+  ---------------------------------------------------------*/
+  inverse: function(p) {
+
+    p.x -= this.x0;
+    p.y -= this.y0;
+    var lat = p.y /this. a;
+
+    if ( Math.abs(lat) > Proj4js.common.HALF_PI) {
+        Proj4js.reportError("equi:Inv:DataError");
+    }
+    var lon = Proj4js.common.adjust_lon(this.long0 + p.x / (this.a * Math.cos(this.lat0)));
+    p.x=lon;
+    p.y=lat;
+  }//equiInv()
+};
+
+
+/* ======================================================================
+    projCode/merc.js
+   ====================================================================== */
+
+/*******************************************************************************
+NAME                            MERCATOR
+
+PURPOSE:  Transforms input longitude and latitude to Easting and
+    Northing for the Mercator projection.  The
+    longitude and latitude must be in radians.  The Easting
+    and Northing values will be returned in meters.
+
+PROGRAMMER              DATE
+----------              ----
+D. Steinwand, EROS      Nov, 1991
+T. Mittan   Mar, 1993
+
+ALGORITHM REFERENCES
+
+1.  Snyder, John P., "Map Projections--A Working Manual", U.S. Geological
+    Survey Professional Paper 1395 (Supersedes USGS Bulletin 1532), United
+    State Government Printing Office, Washington D.C., 1987.
+
+2.  Snyder, John P. and Voxland, Philip M., "An Album of Map Projections",
+    U.S. Geological Survey Professional Paper 1453 , United State Government
+    Printing Office, Washington D.C., 1989.
+*******************************************************************************/
+
+//static double r_major = a;       /* major axis        */
+//static double r_minor = b;       /* minor axis        */
+//static double lon_center = long0;    /* Center longitude (projection center) */
+//static double lat_origin =  lat0;    /* center latitude     */
+//static double e,es;              /* eccentricity constants    */
+//static double m1;                  /* small value m     */
+//static double false_northing = y0;   /* y offset in meters      */
+//static double false_easting = x0;    /* x offset in meters      */
+//scale_fact = k0 
+
+Proj4js.Proj.merc = {
+  init : function() {
+  //?this.temp = this.r_minor / this.r_major;
+  //this.temp = this.b / this.a;
+  //this.es = 1.0 - Math.sqrt(this.temp);
+  //this.e = Math.sqrt( this.es );
+  //?this.m1 = Math.cos(this.lat_origin) / (Math.sqrt( 1.0 - this.es * Math.sin(this.lat_origin) * Math.sin(this.lat_origin)));
+  //this.m1 = Math.cos(0.0) / (Math.sqrt( 1.0 - this.es * Math.sin(0.0) * Math.sin(0.0)));
+    if (this.lat_ts) {
+      if (this.sphere) {
+        this.k0 = Math.cos(this.lat_ts);
+      } else {
+        this.k0 = Proj4js.common.msfnz(this.es, Math.sin(this.lat_ts), Math.cos(this.lat_ts));
+      }
+    }
+  },
+
+/* Mercator forward equations--mapping lat,long to x,y
+  --------------------------------------------------*/
+
+  forward : function(p) { 
+    //alert("ll2m coords : "+coords);
+    var lon = p.x;
+    var lat = p.y;
+    // convert to radians
+    if ( lat*Proj4js.common.R2D > 90.0 && 
+          lat*Proj4js.common.R2D < -90.0 && 
+          lon*Proj4js.common.R2D > 180.0 && 
+          lon*Proj4js.common.R2D < -180.0) {
+      Proj4js.reportError("merc:forward: llInputOutOfRange: "+ lon +" : " + lat);
+      return null;
+    }
+
+    var x,y;
+    if(Math.abs( Math.abs(lat) - Proj4js.common.HALF_PI)  <= Proj4js.common.EPSLN) {
+      Proj4js.reportError("merc:forward: ll2mAtPoles");
+      return null;
+    } else {
+      if (this.sphere) {
+        x = this.x0 + this.a * this.k0 * Proj4js.common.adjust_lon(lon - this.long0);
+        y = this.y0 + this.a * this.k0 * Math.log(Math.tan(Proj4js.common.FORTPI + 0.5*lat));
+      } else {
+        var sinphi = Math.sin(lat);
+        var ts = Proj4js.common.tsfnz(this.e,lat,sinphi);
+        x = this.x0 + this.a * this.k0 * Proj4js.common.adjust_lon(lon - this.long0);
+        y = this.y0 - this.a * this.k0 * Math.log(ts);
+      }
+      p.x = x; 
+      p.y = y;
+      return p;
+    }
+  },
+
+
+  /* Mercator inverse equations--mapping x,y to lat/long
+  --------------------------------------------------*/
+  inverse : function(p) { 
+
+    var x = p.x - this.x0;
+    var y = p.y - this.y0;
+    var lon,lat;
+
+    if (this.sphere) {
+      lat = Proj4js.common.HALF_PI - 2.0 * Math.atan(Math.exp(-y / this.a * this.k0));
+    } else {
+      var ts = Math.exp(-y / (this.a * this.k0));
+      lat = Proj4js.common.phi2z(this.e,ts);
+      if(lat == -9999) {
+        Proj4js.reportError("merc:inverse: lat = -9999");
+        return null;
+      }
+    }
+    lon = Proj4js.common.adjust_lon(this.long0+ x / (this.a * this.k0));
+
+    p.x = lon;
+    p.y = lat;
+    return p;
+  }
+};
+
+
+/* ======================================================================
+    projCode/utm.js
+   ====================================================================== */
+
+/*******************************************************************************
+NAME                            TRANSVERSE MERCATOR
+
+PURPOSE:  Transforms input longitude and latitude to Easting and
+    Northing for the Transverse Mercator projection.  The
+    longitude and latitude must be in radians.  The Easting
+    and Northing values will be returned in meters.
+
+ALGORITHM REFERENCES
+
+1.  Snyder, John P., "Map Projections--A Working Manual", U.S. Geological
+    Survey Professional Paper 1395 (Supersedes USGS Bulletin 1532), United
+    State Government Printing Office, Washington D.C., 1987.
+
+2.  Snyder, John P. and Voxland, Philip M., "An Album of Map Projections",
+    U.S. Geological Survey Professional Paper 1453 , United State Government
+    Printing Office, Washington D.C., 1989.
+*******************************************************************************/
+
+
+/**
+  Initialize Transverse Mercator projection
+*/
+
+Proj4js.Proj.utm = {
+  dependsOn : 'tmerc',
+
+  init : function() {
+    if (!this.zone) {
+      Proj4js.reportError("utm:init: zone must be specified for UTM");
+      return;
+    }
+    this.lat0 = 0.0;
+    this.long0 = ((6 * Math.abs(this.zone)) - 183) * Proj4js.common.D2R;
+    this.x0 = 500000.0;
+    this.y0 = this.utmSouth ? 10000000.0 : 0.0;
+    this.k0 = 0.9996;
+
+    Proj4js.Proj['tmerc'].init.apply(this);
+    this.forward = Proj4js.Proj['tmerc'].forward;
+    this.inverse = Proj4js.Proj['tmerc'].inverse;
+  }
+};
+/* ======================================================================
+    projCode/eqdc.js
+   ====================================================================== */
+
+/*******************************************************************************
+NAME                            EQUIDISTANT CONIC 
+
+PURPOSE:  Transforms input longitude and latitude to Easting and Northing
+    for the Equidistant Conic projection.  The longitude and
+    latitude must be in radians.  The Easting and Northing values
+    will be returned in meters.
+
+PROGRAMMER              DATE
+----------              ----
+T. Mittan   Mar, 1993
+
+ALGORITHM REFERENCES
+
+1.  Snyder, John P., "Map Projections--A Working Manual", U.S. Geological
+    Survey Professional Paper 1395 (Supersedes USGS Bulletin 1532), United
+    State Government Printing Office, Washington D.C., 1987.
+
+2.  Snyder, John P. and Voxland, Philip M., "An Album of Map Projections",
+    U.S. Geological Survey Professional Paper 1453 , United State Government
+    Printing Office, Washington D.C., 1989.
+*******************************************************************************/
+
+/* Variables common to all subroutines in this code file
+  -----------------------------------------------------*/
+
+Proj4js.Proj.eqdc = {
+
+/* Initialize the Equidistant Conic projection
+  ------------------------------------------*/
+  init: function() {
+
+    /* Place parameters in static storage for common use
+      -------------------------------------------------*/
+
+    if(!this.mode) this.mode=0;//chosen default mode
+    this.temp = this.b / this.a;
+    this.es = 1.0 - Math.pow(this.temp,2);
+    this.e = Math.sqrt(this.es);
+    this.e0 = Proj4js.common.e0fn(this.es);
+    this.e1 = Proj4js.common.e1fn(this.es);
+    this.e2 = Proj4js.common.e2fn(this.es);
+    this.e3 = Proj4js.common.e3fn(this.es);
+
+    this.sinphi=Math.sin(this.lat1);
+    this.cosphi=Math.cos(this.lat1);
+
+    this.ms1 = Proj4js.common.msfnz(this.e,this.sinphi,this.cosphi);
+    this.ml1 = Proj4js.common.mlfn(this.e0, this.e1, this.e2,this.e3, this.lat1);
+
+    /* format B
+    ---------*/
+    if (this.mode != 0) {
+      if (Math.abs(this.lat1 + this.lat2) < Proj4js.common.EPSLN) {
+            Proj4js.reportError("eqdc:Init:EqualLatitudes");
+            //return(81);
+       }
+       this.sinphi=Math.sin(this.lat2);
+       this.cosphi=Math.cos(this.lat2);   
+
+       this.ms2 = Proj4js.common.msfnz(this.e,this.sinphi,this.cosphi);
+       this.ml2 = Proj4js.common.mlfn(this.e0, this.e1, this.e2, this.e3, this.lat2);
+       if (Math.abs(this.lat1 - this.lat2) >= Proj4js.common.EPSLN) {
+         this.ns = (this.ms1 - this.ms2) / (this.ml2 - this.ml1);
+       } else {
+          this.ns = this.sinphi;
+       }
+    } else {
+      this.ns = this.sinphi;
+    }
+    this.g = this.ml1 + this.ms1/this.ns;
+    this.ml0 = Proj4js.common.mlfn(this.e0, this.e1,this. e2, this.e3, this.lat0);
+    this.rh = this.a * (this.g - this.ml0);
+  },
+
+
+/* Equidistant Conic forward equations--mapping lat,long to x,y
+  -----------------------------------------------------------*/
+  forward: function(p) {
+    var lon=p.x;
+    var lat=p.y;
+
+    /* Forward equations
+      -----------------*/
+    var ml = Proj4js.common.mlfn(this.e0, this.e1, this.e2, this.e3, lat);
+    var rh1 = this.a * (this.g - ml);
+    var theta = this.ns * Proj4js.common.adjust_lon(lon - this.long0);
+
+    var x = this.x0  + rh1 * Math.sin(theta);
+    var y = this.y0 + this.rh - rh1 * Math.cos(theta);
+    p.x=x;
+    p.y=y;
+    return p;
+  },
+
+/* Inverse equations
+  -----------------*/
+  inverse: function(p) {
+    p.x -= this.x0;
+    p.y  = this.rh - p.y + this.y0;
+    var con, rh1;
+    if (this.ns >= 0) {
+       var rh1 = Math.sqrt(p.x *p.x + p.y * p.y); 
+       var con = 1.0;
+    } else {
+       rh1 = -Math.sqrt(p.x *p. x +p. y * p.y); 
+       con = -1.0;
+    }
+    var theta = 0.0;
+    if (rh1 != 0.0) theta = Math.atan2(con *p.x, con *p.y);
+    var ml = this.g - rh1 /this.a;
+    var lat = this.phi3z(this.ml,this.e0,this.e1,this.e2,this.e3);
+    var lon = Proj4js.common.adjust_lon(this.long0 + theta / this.ns);
+
+     p.x=lon;
+     p.y=lat;  
+     return p;
+    },
+    
+/* Function to compute latitude, phi3, for the inverse of the Equidistant
+   Conic projection.
+-----------------------------------------------------------------*/
+  phi3z: function(ml,e0,e1,e2,e3) {
+    var phi;
+    var dphi;
+
+    phi = ml;
+    for (var i = 0; i < 15; i++) {
+      dphi = (ml + e1 * Math.sin(2.0 * phi) - e2 * Math.sin(4.0 * phi) + e3 * Math.sin(6.0 * phi))/ e0 - phi;
+      phi += dphi;
+      if (Math.abs(dphi) <= .0000000001) {
+        return phi;
+      }
+    }
+    Proj4js.reportError("PHI3Z-CONV:Latitude failed to converge after 15 iterations");
+    return null;
+  }
+
+    
+};
+/* ======================================================================
+    projCode/tmerc.js
+   ====================================================================== */
+
+/*******************************************************************************
+NAME                            TRANSVERSE MERCATOR
+
+PURPOSE:  Transforms input longitude and latitude to Easting and
+    Northing for the Transverse Mercator projection.  The
+    longitude and latitude must be in radians.  The Easting
+    and Northing values will be returned in meters.
+
+ALGORITHM REFERENCES
+
+1.  Snyder, John P., "Map Projections--A Working Manual", U.S. Geological
+    Survey Professional Paper 1395 (Supersedes USGS Bulletin 1532), United
+    State Government Printing Office, Washington D.C., 1987.
+
+2.  Snyder, John P. and Voxland, Philip M., "An Album of Map Projections",
+    U.S. Geological Survey Professional Paper 1453 , United State Government
+    Printing Office, Washington D.C., 1989.
+*******************************************************************************/
+
+
+/**
+  Initialize Transverse Mercator projection
+*/
+
+Proj4js.Proj.tmerc = {
+  init : function() {
+    this.e0 = Proj4js.common.e0fn(this.es);
+    this.e1 = Proj4js.common.e1fn(this.es);
+    this.e2 = Proj4js.common.e2fn(this.es);
+    this.e3 = Proj4js.common.e3fn(this.es);
+    this.ml0 = this.a * Proj4js.common.mlfn(this.e0, this.e1, this.e2, this.e3, this.lat0);
+  },
+
+  /**
+    Transverse Mercator Forward  - long/lat to x/y
+    long/lat in radians
+  */
+  forward : function(p) {
+    var lon = p.x;
+    var lat = p.y;
+
+    var delta_lon = Proj4js.common.adjust_lon(lon - this.long0); // Delta longitude
+    var con;    // cone constant
+    var x, y;
+    var sin_phi=Math.sin(lat);
+    var cos_phi=Math.cos(lat);
+
+    if (this.sphere) {  /* spherical form */
+      var b = cos_phi * Math.sin(delta_lon);
+      if ((Math.abs(Math.abs(b) - 1.0)) < .0000000001)  {
+        Proj4js.reportError("tmerc:forward: Point projects into infinity");
+        return(93);
+      } else {
+        x = .5 * this.a * this.k0 * Math.log((1.0 + b)/(1.0 - b));
+        con = Math.acos(cos_phi * Math.cos(delta_lon)/Math.sqrt(1.0 - b*b));
+        if (lat < 0) con = - con;
+        y = this.a * this.k0 * (con - this.lat0);
+      }
+    } else {
+      var al  = cos_phi * delta_lon;
+      var als = Math.pow(al,2);
+      var c   = this.ep2 * Math.pow(cos_phi,2);
+      var tq  = Math.tan(lat);
+      var t   = Math.pow(tq,2);
+      con = 1.0 - this.es * Math.pow(sin_phi,2);
+      var n   = this.a / Math.sqrt(con);
+      var ml  = this.a * Proj4js.common.mlfn(this.e0, this.e1, this.e2, this.e3, lat);
+
+      x = this.k0 * n * al * (1.0 + als / 6.0 * (1.0 - t + c + als / 20.0 * (5.0 - 18.0 * t + Math.pow(t,2) + 72.0 * c - 58.0 * this.ep2))) + this.x0;
+      y = this.k0 * (ml - this.ml0 + n * tq * (als * (0.5 + als / 24.0 * (5.0 - t + 9.0 * c + 4.0 * Math.pow(c,2) + als / 30.0 * (61.0 - 58.0 * t + Math.pow(t,2) + 600.0 * c - 330.0 * this.ep2))))) + this.y0;
+
+    }
+    p.x = x; p.y = y;
+    return p;
+  }, // tmercFwd()
+
+  /**
+    Transverse Mercator Inverse  -  x/y to long/lat
+  */
+  inverse : function(p) {
+    var con, phi;  /* temporary angles       */
+    var delta_phi; /* difference between longitudes    */
+    var i;
+    var max_iter = 6;      /* maximun number of iterations */
+    var lat, lon;
+
+    if (this.sphere) {   /* spherical form */
+      var f = Math.exp(p.x/(this.a * this.k0));
+      var g = .5 * (f - 1/f);
+      var temp = this.lat0 + p.y/(this.a * this.k0);
+      var h = Math.cos(temp);
+      con = Math.sqrt((1.0 - h * h)/(1.0 + g * g));
+      lat = Math.asinz(con);
+      if (temp < 0)
+        lat = -lat;
+      if ((g == 0) && (h == 0)) {
+        lon = this.long0;
+      } else {
+        lon = Proj4js.common.adjust_lon(Math.atan2(g,h) + this.long0);
+      }
+    } else {    // ellipsoidal form
+      var x = p.x - this.x0;
+      var y = p.y - this.y0;
+
+      con = (this.ml0 + y / this.k0) / this.a;
+      phi = con;
+      for (i=0;;i++) {
+        delta_phi=((con + this.e1 * Math.sin(2.0*phi) - this.e2 * Math.sin(4.0*phi) + this.e3 * Math.sin(6.0*phi)) / this.e0) - phi;
+        phi += delta_phi;
+        if (Math.abs(delta_phi) <= Proj4js.common.EPSLN) break;
+        if (i >= max_iter) {
+          Proj4js.reportError("tmerc:inverse: Latitude failed to converge");
+          return(95);
+        }
+      } // for()
+      if (Math.abs(phi) < Proj4js.common.HALF_PI) {
+        // sincos(phi, &sin_phi, &cos_phi);
+        var sin_phi=Math.sin(phi);
+        var cos_phi=Math.cos(phi);
+        var tan_phi = Math.tan(phi);
+        var c = this.ep2 * Math.pow(cos_phi,2);
+        var cs = Math.pow(c,2);
+        var t = Math.pow(tan_phi,2);
+        var ts = Math.pow(t,2);
+        con = 1.0 - this.es * Math.pow(sin_phi,2);
+        var n = this.a / Math.sqrt(con);
+        var r = n * (1.0 - this.es) / con;
+        var d = x / (n * this.k0);
+        var ds = Math.pow(d,2);
+        lat = phi - (n * tan_phi * ds / r) * (0.5 - ds / 24.0 * (5.0 + 3.0 * t + 10.0 * c - 4.0 * cs - 9.0 * this.ep2 - ds / 30.0 * (61.0 + 90.0 * t + 298.0 * c + 45.0 * ts - 252.0 * this.ep2 - 3.0 * cs)));
+        lon = Proj4js.common.adjust_lon(this.long0 + (d * (1.0 - ds / 6.0 * (1.0 + 2.0 * t + c - ds / 20.0 * (5.0 - 2.0 * c + 28.0 * t - 3.0 * cs + 8.0 * this.ep2 + 24.0 * ts))) / cos_phi));
+      } else {
+        lat = Proj4js.common.HALF_PI * Proj4js.common.sign(y);
+        lon = this.long0;
+      }
+    }
+    p.x = lon;
+    p.y = lat;
+    return p;
+  } // tmercInv()
+};
+/* ======================================================================
+    defs/GOOGLE.js
+   ====================================================================== */
+
+Proj4js.defs["GOOGLE"]="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs";
+Proj4js.defs["EPSG:900913"]=Proj4js.defs["GOOGLE"];
+/* ======================================================================
+    projCode/ortho.js
+   ====================================================================== */
+
+/*******************************************************************************
+NAME                             ORTHOGRAPHIC 
+
+PURPOSE:  Transforms input longitude and latitude to Easting and
+    Northing for the Orthographic projection.  The
+    longitude and latitude must be in radians.  The Easting
+    and Northing values will be returned in meters.
+
+PROGRAMMER              DATE
+----------              ----
+T. Mittan   Mar, 1993
+
+ALGORITHM REFERENCES
+
+1.  Snyder, John P., "Map Projections--A Working Manual", U.S. Geological
+    Survey Professional Paper 1395 (Supersedes USGS Bulletin 1532), United
+    State Government Printing Office, Washington D.C., 1987.
+
+2.  Snyder, John P. and Voxland, Philip M., "An Album of Map Projections",
+    U.S. Geological Survey Professional Paper 1453 , United State Government
+    Printing Office, Washington D.C., 1989.
+*******************************************************************************/
+
+Proj4js.Proj.ortho = {
+
+  /* Initialize the Orthographic projection
+    -------------------------------------*/
+  init: function(def) {
+    //double temp;      /* temporary variable   */
+
+    /* Place parameters in static storage for common use
+      -------------------------------------------------*/;
+    this.sin_p14=Math.sin(this.lat0);
+    this.cos_p14=Math.cos(this.lat0); 
+  },
+
+
+  /* Orthographic forward equations--mapping lat,long to x,y
+    ---------------------------------------------------*/
+  forward: function(p) {
+    var sinphi, cosphi; /* sin and cos value        */
+    var dlon;   /* delta longitude value      */
+    var coslon;   /* cos of longitude       */
+    var ksp;    /* scale factor         */
+    var g;    
+    var lon=p.x;
+    var lat=p.y;  
+    /* Forward equations
+      -----------------*/
+    dlon = Proj4js.common.adjust_lon(lon - this.long0);
+
+    sinphi=Math.sin(lat);
+    cosphi=Math.cos(lat); 
+
+    coslon = Math.cos(dlon);
+    g = this.sin_p14 * sinphi + this.cos_p14 * cosphi * coslon;
+    ksp = 1.0;
+    if ((g > 0) || (Math.abs(g) <= Proj4js.common.EPSLN)) {
+      var x = this.a * ksp * cosphi * Math.sin(dlon);
+      var y = this.y0 + this.a * ksp * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon);
+    } else {
+      Proj4js.reportError("orthoFwdPointError");
+    }
+    p.x=x;
+    p.y=y;
+    return p;
+  },
+
+
+  inverse: function(p) {
+    var rh;   /* height above ellipsoid     */
+    var z;    /* angle          */
+    var sinz,cosz;  /* sin of z and cos of z      */
+    var temp;
+    var con;
+    var lon , lat;
+    /* Inverse equations
+      -----------------*/
+    p.x -= this.x0;
+    p.y -= this.y0;
+    rh = Math.sqrt(p.x * p.x + p.y * p.y);
+    if (rh > this.a + .0000001) {
+      Proj4js.reportError("orthoInvDataError");
+    }
+    z = Proj4js.common.asinz(rh / this.a);
+
+    sinz=Math.sin(z);
+    cosi=Math.cos(z);
+
+    lon = this.long0;
+    if (Math.abs(rh) <= Proj4js.common.EPSLN) {
+      lat = this.lat0; 
+    }
+    lat = Proj4js.common.asinz(cosz * this.sin_p14 + (y * sinz * this.cos_p14)/rh);
+    con = Math.abs(lat0) - Proj4js.common.HALF_PI;
+    if (Math.abs(con) <= Proj4js.common.EPSLN) {
+       if (this.lat0 >= 0) {
+          lon = Proj4js.common.adjust_lon(this.long0 + Math.atan2(p.x, -p.y));
+       } else {
+          lon = Proj4js.common.adjust_lon(this.long0 -Math.atan2(-p.x, p.y));
+       }
+    }
+    con = cosz - this.sin_p14 * Math.sin(lat);
+    if ((Math.abs(con) >= Proj4js.common.EPSLN) || (Math.abs(x) >= Proj4js.common.EPSLN)) {
+       lon = Proj4js.common.adjust_lon(this.long0 + Math.atan2((p.x * sinz * this.cos_p14), (con * rh)));
+    }
+    p.x=lon;
+    p.y=lat;
+    return p;
+  }
+};
+
+
+/* ======================================================================
+    projCode/stere.js
+   ====================================================================== */
+
+
+// Initialize the Stereographic projection
+
+Proj4js.Proj.stere = {
+  ssfn_: function(phit, sinphi, eccen) {
+    sinphi *= eccen;
+    return (Math.tan (.5 * (Proj4js.common.HALF_PI + phit)) * Math.pow((1. - sinphi) / (1. + sinphi), .5 * eccen));
+  },
+  TOL:  1.e-8,
+  NITER:  8,
+  CONV: 1.e-10,
+  S_POLE: 0,
+  N_POLE: 1,
+  OBLIQ:  2,
+  EQUIT:  3,
+
+  init : function() {
+    this.phits = this.lat_ts ? this.lat_ts : Proj4js.common.HALF_PI;
+    var t = Math.abs(this.lat0);
+    if ((Math.abs(t) - Proj4js.common.HALF_PI) < Proj4js.common.EPSLN) {
+      this.mode = this.lat0 < 0. ? this.S_POLE : this.N_POLE;
+    } else {
+      this.mode = t > Proj4js.common.EPSLN ? this.OBLIQ : this.EQUIT;
+    }
+    this.phits = Math.abs(this.phits);
+    if (this.es) {
+      var X;
+
+      switch (this.mode) {
+      case this.N_POLE:
+      case this.S_POLE:
+        if (Math.abs(this.phits - Proj4js.common.HALF_PI) < Proj4js.common.EPSLN) {
+          this.akm1 = 2. * this.k0 / Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e));
+        } else {
+          t = Math.sin(this.phits);
+          this.akm1 = Math.cos(this.phits) / Proj4js.common.tsfnz(this.e, this.phits, t);
+          t *= this.e;
+          this.akm1 /= Math.sqrt(1. - t * t);
+        }
+        break;
+      case this.EQUIT:
+        this.akm1 = 2. * this.k0;
+        break;
+      case this.OBLIQ:
+        t = Math.sin(this.lat0);
+        X = 2. * Math.atan(this.ssfn_(this.lat0, t, this.e)) - Proj4js.common.HALF_PI;
+        t *= this.e;
+        this.akm1 = 2. * this.k0 * Math.cos(this.lat0) / Math.sqrt(1. - t * t);
+        this.sinX1 = Math.sin(X);
+        this.cosX1 = Math.cos(X);
+        break;
+      }
+    } else {
+      switch (this.mode) {
+      case this.OBLIQ:
+        this.sinph0 = Math.sin(this.lat0);
+        this.cosph0 = Math.cos(this.lat0);
+      case this.EQUIT:
+        this.akm1 = 2. * this.k0;
+        break;
+      case this.S_POLE:
+      case this.N_POLE:
+        this.akm1 = Math.abs(this.phits - Proj4js.common.HALF_PI) >= Proj4js.common.EPSLN ?
+           Math.cos(this.phits) / Math.tan(Proj4js.common.FORTPI - .5 * this.phits) :
+           2. * this.k0 ;
+        break;
+      }
+    }
+  }, 
+
+// Stereographic forward equations--mapping lat,long to x,y
+  forward: function(p) {
+    var lon = p.x;
+    var lat = p.y;
+    var x, y
+    
+    if (this.sphere) {
+      var  sinphi, cosphi, coslam, sinlam;
+
+      sinphi = Math.sin(lat);
+      cosphi = Math.cos(lat);
+      coslam = Math.cos(lon);
+      sinlam = Math.sin(lon);
+      switch (this.mode) {
+      case this.EQUIT:
+        y = 1. + cosphi * coslam;
+        if (y <= Proj4js.common.EPSLN) {
+          F_ERROR;
+        }
+        y = this.akm1 / y;
+        x = y * cosphi * sinlam;
+        y *= sinphi;
+        break;
+      case this.OBLIQ:
+        y = 1. + this.sinph0 * sinphi + this.cosph0 * cosphi * coslam;
+        if (y <= Proj4js.common.EPSLN) {
+          F_ERROR;
+        }
+        y = this.akm1 / y;
+        x = y * cosphi * sinlam;
+        y *= this.cosph0 * sinphi - this.sinph0 * cosphi * coslam;
+        break;
+      case this.N_POLE:
+        coslam = -coslam;
+        lat = -lat;
+        //Note: no break here so it conitnues through S_POLE
+      case this.S_POLE:
+        if (Math.abs(lat - Proj4js.common.HALF_PI) < this.TOL) {
+          F_ERROR;
+        }
+        y = this.akm1 * Math.tan(Proj4js.common.FORTPI + .5 * lat)
+        x = sinlam * y;
+        y *= coslam;
+        break;
+      }
+    } else {
+      coslam = Math.cos(lon);
+      sinlam = Math.sin(lon);
+      sinphi = Math.sin(lat);
+      if (this.mode == this.OBLIQ || this.mode == this.EQUIT) {
+        X = 2. * Math.atan(this.ssfn_(lat, sinphi, this.e));
+        sinX = Math.sin(X - Proj4js.common.HALF_PI);
+        cosX = Math.cos(X);
+      }
+      switch (this.mode) {
+      case this.OBLIQ:
+        A = this.akm1 / (this.cosX1 * (1. + this.sinX1 * sinX + this.cosX1 * cosX * coslam));
+        y = A * (this.cosX1 * sinX - this.sinX1 * cosX * coslam);
+        x = A * cosX;
+        break;
+      case this.EQUIT:
+        A = 2. * this.akm1 / (1. + cosX * coslam);
+        y = A * sinX;
+        x = A * cosX;
+        break;
+      case this.S_POLE:
+        lat = -lat;
+        coslam = - coslam;
+        sinphi = -sinphi;
+      case this.N_POLE:
+        x = this.akm1 * Proj4js.common.tsfnz(this.e, lat, sinphi);
+        y = - x * coslam;
+        break;
+      }
+      x = x * sinlam;
+    }
+    p.x = x*this.a + this.x0;
+    p.y = y*this.a + this.y0;
+    return p;
+  },
+
+
+//* Stereographic inverse equations--mapping x,y to lat/long
+  inverse: function(p) {
+    var x = (p.x - this.x0)/this.a;   /* descale and de-offset */
+    var y = (p.y - this.y0)/this.a;
+    var lon, lat
+
+    var cosphi, sinphi, tp=0.0, phi_l=0.0, rho, halfe=0.0, pi2=0.0;
+    var i;
+
+    if (this.sphere) {
+      var  c, rh, sinc, cosc;
+
+      rh = Math.sqrt(x*x + y*y);
+      c = 2. * Math.atan(rh / this.akm1);
+      sinc = Math.sin(c);
+      cosc = Math.cos(c);
+      lon = 0.;
+      switch (this.mode) {
+      case this.EQUIT:
+        if (Math.abs(rh) <= Proj4js.common.EPSLN) {
+          lat = 0.;
+        } else {
+          lat = Math.asin(y * sinc / rh);
+        }
+        if (cosc != 0. || x != 0.) lon = Math.atan2(x * sinc, cosc * rh);
+        break;
+      case this.OBLIQ:
+        if (Math.abs(rh) <= Proj4js.common.EPSLN) {
+          lat = this.phi0;
+        } else {
+          lat = Math.asin(cosc * sinph0 + y * sinc * cosph0 / rh);
+        }
+        c = cosc - sinph0 * Math.sin(lat);
+        if (c != 0. || x != 0.) {
+          lon = Math.atan2(x * sinc * cosph0, c * rh);
+        }
+        break;
+      case this.N_POLE:
+        y = -y;
+      case this.S_POLE:
+        if (Math.abs(rh) <= Proj4js.common.EPSLN) {
+          lat = this.phi0;
+        } else {
+          lat = Math.asin(this.mode == this.S_POLE ? -cosc : cosc);
+        }
+        lon = (x == 0. && y == 0.) ? 0. : Math.atan2(x, y);
+        break;
+      }
+    } else {
+      rho = Math.sqrt(x*x + y*y);
+      switch (this.mode) {
+      case this.OBLIQ:
+      case this.EQUIT:
+        tp = 2. * Math.atan2(rho * this.cosX1 , this.akm1);
+        cosphi = Math.cos(tp);
+        sinphi = Math.sin(tp);
+        if( rho == 0.0 ) {
+          phi_l = Math.asin(cosphi * this.sinX1);
+        } else {
+          phi_l = Math.asin(cosphi * this.sinX1 + (y * sinphi * this.cosX1 / rho));
+        }
+
+        tp = Math.tan(.5 * (Proj4js.common.HALF_PI + phi_l));
+        x *= sinphi;
+        y = rho * this.cosX1 * cosphi - y * this.sinX1* sinphi;
+        pi2 = Proj4js.common.HALF_PI;
+        halfe = .5 * this.e;
+        break;
+      case this.N_POLE:
+        y = -y;
+      case this.S_POLE:
+        tp = - rho / this.akm1
+        phi_l = Proj4js.common.HALF_PI - 2. * Math.atan(tp);
+        pi2 = -Proj4js.common.HALF_PI;
+        halfe = -.5 * this.e;
+        break;
+      }
+      for (i = this.NITER; i--; phi_l = lat) { //check this
+        sinphi = this.e * Math.sin(phi_l);
+        lat = 2. * Math.atan(tp * Math.pow((1.+sinphi)/(1.-sinphi), halfe)) - pi2;
+        if (Math.abs(phi_l - lat) < this.CONV) {
+          if (this.mode == this.S_POLE) lat = -lat;
+          lon = (x == 0. && y == 0.) ? 0. : Math.atan2(x, y);
+          p.x = lon;
+          p.y = lat
+          return p;
+        }
+      }
+    }
+  }
+}; 
+/* ======================================================================
+    projCode/mill.js
+   ====================================================================== */
+
+/*******************************************************************************
+NAME                    MILLER CYLINDRICAL 
+
+PURPOSE:  Transforms input longitude and latitude to Easting and
+    Northing for the Miller Cylindrical projection.  The
+    longitude and latitude must be in radians.  The Easting
+    and Northing values will be returned in meters.
+
+PROGRAMMER              DATE            
+----------              ----           
+T. Mittan   March, 1993
+
+This function was adapted from the Lambert Azimuthal Equal Area projection
+code (FORTRAN) in the General Cartographic Transformation Package software
+which is available from the U.S. Geological Survey National Mapping Division.
+ 
+ALGORITHM REFERENCES
+
+1.  "New Equal-Area Map Projections for Noncircular Regions", John P. Snyder,
+    The American Cartographer, Vol 15, No. 4, October 1988, pp. 341-355.
+
+2.  Snyder, John P., "Map Projections--A Working Manual", U.S. Geological
+    Survey Professional Paper 1395 (Supersedes USGS Bulletin 1532), United
+    State Government Printing Office, Washington D.C., 1987.
+
+3.  "Software Documentation for GCTP General Cartographic Transformation
+    Package", U.S. Geological Survey National Mapping Division, May 1982.
+*******************************************************************************/
+
+Proj4js.Proj.mill = {
+
+/* Initialize the Miller Cylindrical projection
+  -------------------------------------------*/
+  init: function() {
+    //no-op
+  },
+
+
+  /* Miller Cylindrical forward equations--mapping lat,long to x,y
+    ------------------------------------------------------------*/
+  forward: function(p) {
+    var lon=p.x;
+    var lat=p.y;
+    /* Forward equations
+      -----------------*/
+    dlon = Proj4js.common.adjust_lon(lon -this.long0);
+    var x = this.x0 +this.R * dlon;
+    var y = this.y0 + this.R *Math.log(Math.tan((Proj4js.common.PI / 4.0) + (lat / 2.5))) * 1.25;
+
+    p.x=x;
+    p.y=y;
+    return p;
+  },//millFwd()
+
+  /* Miller Cylindrical inverse equations--mapping x,y to lat/long
+    ------------------------------------------------------------*/
+  inverse: function(p) {
+    p. x -= this.x0;
+    p. y -= this.y0;
+
+    var lon = Proj4js.common.adjust_lon(this.long0 + p.x /this.R);
+    var lat = 2.5 * (Math.atan(Math.exp(p.y/ this.R / 1.25)) - Proj4js.common.PI / 4.0);
+
+    p.x=lon;
+    p.y=lat;
+    return p;
+  }//millInv()
+};
+/* ======================================================================
+    projCode/sinu.js
+   ====================================================================== */
+
+/*******************************************************************************
+NAME                      SINUSOIDAL
+
+PURPOSE:  Transforms input longitude and latitude to Easting and
+    Northing for the Sinusoidal projection.  The
+    longitude and latitude must be in radians.  The Easting
+    and Northing values will be returned in meters.
+
+PROGRAMMER              DATE            
+----------              ----           
+D. Steinwand, EROS      May, 1991     
+
+This function was adapted from the Sinusoidal projection code (FORTRAN) in the 
+General Cartographic Transformation Package software which is available from 
+the U.S. Geological Survey National Mapping Division.
+ 
+ALGORITHM REFERENCES
+
+1.  Snyder, John P., "Map Projections--A Working Manual", U.S. Geological
+    Survey Professional Paper 1395 (Supersedes USGS Bulletin 1532), United
+    State Government Printing Office, Washington D.C., 1987.
+
+2.  "Software Documentation for GCTP General Cartographic Transformation
+    Package", U.S. Geological Survey National Mapping Division, May 1982.
+*******************************************************************************/
+
+Proj4js.Proj.sinu = {
+
+  /* Initialize the Sinusoidal projection
+    ------------------------------------*/
+  init: function() {
+    /* Place parameters in static storage for common use
+      -------------------------------------------------*/
+    this.R = 6370997.0; //Radius of earth
+  },
+
+  /* Sinusoidal forward equations--mapping lat,long to x,y
+  -----------------------------------------------------*/
+  forward: function(p) {
+    var x,y,delta_lon;  
+    var lon=p.x;
+    var lat=p.y;  
+    /* Forward equations
+    -----------------*/
+    delta_lon = Proj4js.common.adjust_lon(lon - this.long0);
+    x = this.R * delta_lon * Math.cos(lat) + this.x0;
+    y = this.R * lat + this.y0;
+
+    p.x=x;
+    p.y=y;  
+    return p;
+  },
+
+  inverse: function(p) {
+    var lat,temp,lon; 
+
+    /* Inverse equations
+      -----------------*/
+    p.x -= this.x0;
+    p.y -= this.y0;
+    lat = p.y / this.R;
+    if (Math.abs(lat) > Proj4js.common.HALF_PI) {
+        Proj4js.reportError("sinu:Inv:DataError");
+    }
+    temp = Math.abs(lat) - Proj4js.common.HALF_PI;
+    if (Math.abs(temp) > Proj4js.common.EPSLN) {
+      temp = this.long0+ p.x / (this.R *Math.cos(lat));
+      lon = Proj4js.common.adjust_lon(temp);
+    } else {
+      lon = this.long0;
+    }
+      
+    p.x=lon;
+    p.y=lat;
+    return p;
+  }
+};
+
+
+/* ======================================================================
+    projCode/geocent.js
+   ====================================================================== */
+
+/*
+Author:       Richard Greenwood rich@greenwoodmap.com
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+*/
+
+/**
+ * convert between geodetic coordinates (longitude, latitude, height)
+ * and gecentric coordinates (X, Y, Z)
+ * ported from Proj 4.9.9 geocent.c
+*/
+
+
+// following constants #define'd in geocent.h
+// var GEOCENT_NO_ERROR  = 0x0000;
+var GEOCENT_LAT_ERROR = 0x0001;
+// var GEOCENT_LON_ERROR = 0x0002;
+// var cs.a_ERROR        = 0x0004;
+// var cs.b_ERROR        = 0x0008;
+// var cs.a_LESS_B_ERROR = 0x0010;
+
+// following constants from geocent.c
+var COS_67P5  = 0.38268343236508977;  /* cosine of 67.5 degrees */
+var AD_C      = 1.0026000;            /* Toms region 1 constant */
+
+function cs_geodetic_to_geocentric (cs, p) {
+
+/*
+ * The function Convert_Geodetic_To_Geocentric converts geodetic coordinates
+ * (latitude, longitude, and height) to geocentric coordinates (X, Y, Z),
+ * according to the current ellipsoid parameters.
+ *
+ *    Latitude  : Geodetic latitude in radians                     (input)
+ *    Longitude : Geodetic longitude in radians                    (input)
+ *    Height    : Geodetic height, in meters                       (input)
+ *    X         : Calculated Geocentric X coordinate, in meters    (output)
+ *    Y         : Calculated Geocentric Y coordinate, in meters    (output)
+ *    Z         : Calculated Geocentric Z coordinate, in meters    (output)
+ *
+ */
+
+  var Longitude = p.x;
+  var Latitude = p.y;
+  var Height = p.z;
+  var X;  // output
+  var Y;
+  var Z;
+
+  var Error_Code=0;  //  GEOCENT_NO_ERROR;
+  var Rn;            /*  Earth radius at location  */
+  var Sin_Lat;       /*  Math.sin(Latitude)  */
+  var Sin2_Lat;      /*  Square of Math.sin(Latitude)  */
+  var Cos_Lat;       /*  Math.cos(Latitude)  */
+
+  /*
+  ** Don't blow up if Latitude is just a little out of the value
+  ** range as it may just be a rounding issue.  Also removed longitude
+  ** test, it should be wrapped by Math.cos() and Math.sin().  NFW for PROJ.4, Sep/2001.
+  */
+  if( Latitude < -HALF_PI && Latitude > -1.001 * HALF_PI )
+      Latitude = -HALF_PI;
+  else if( Latitude > HALF_PI && Latitude < 1.001 * HALF_PI )
+      Latitude = HALF_PI;
+  else if ((Latitude < -HALF_PI) || (Latitude > HALF_PI))
+  { /* Latitude out of range */
+    Error_Code |= GEOCENT_LAT_ERROR;
+  }
+
+  if (!Error_Code)
+  { /* no errors */
+    if (Longitude > PI)
+      Longitude -= (2*PI);
+    Sin_Lat = Math.sin(Latitude);
+    Cos_Lat = Math.cos(Latitude);
+    Sin2_Lat = Sin_Lat * Sin_Lat;
+    Rn = cs.a / (Math.sqrt(1.0e0 - cs.es * Sin2_Lat));
+    X = (Rn + Height) * Cos_Lat * Math.cos(Longitude);
+    Y = (Rn + Height) * Cos_Lat * Math.sin(Longitude);
+    Z = ((Rn * (1 - cs.es)) + Height) * Sin_Lat;
+
+  }
+
+  p.x = X;
+  p.y = Y;
+  p.z = Z;
+  return Error_Code;
+} // cs_geodetic_to_geocentric()
+
+
+/** Convert_Geocentric_To_Geodetic
+ * The method used here is derived from 'An Improved Algorithm for
+ * Geocentric to Geodetic Coordinate Conversion', by Ralph Toms, Feb 1996
+ */
+
+function cs_geocentric_to_geodetic (cs, p) {
+
+  var X =p.x;
+  var Y = p.y;
+  var Z = p.z;
+  var Longitude;
+  var Latitude;
+  var Height;
+
+  var W;        /* distance from Z axis */
+  var W2;       /* square of distance from Z axis */
+  var T0;       /* initial estimate of vertical component */
+  var T1;       /* corrected estimate of vertical component */
+  var S0;       /* initial estimate of horizontal component */
+  var S1;       /* corrected estimate of horizontal component */
+  var Sin_B0;   /* Math.sin(B0), B0 is estimate of Bowring aux variable */
+  var Sin3_B0;  /* cube of Math.sin(B0) */
+  var Cos_B0;   /* Math.cos(B0) */
+  var Sin_p1;   /* Math.sin(phi1), phi1 is estimated latitude */
+  var Cos_p1;   /* Math.cos(phi1) */
+  var Rn;       /* Earth radius at location */
+  var Sum;      /* numerator of Math.cos(phi1) */
+  var At_Pole;  /* indicates location is in polar region */
+
+  X = parseFloat(X);  // cast from string to float
+  Y = parseFloat(Y);
+  Z = parseFloat(Z);
+
+  At_Pole = false;
+  if (X != 0.0)
+  {
+      Longitude = Math.atan2(Y,X);
+  }
+  else
+  {
+      if (Y > 0)
+      {
+          Longitude = HALF_PI;
+      }
+      else if (Y < 0)
+      {
+          Longitude = -HALF_PI;
+      }
+      else
+      {
+          At_Pole = true;
+          Longitude = 0.0;
+          if (Z > 0.0)
+          {  /* north pole */
+              Latitude = HALF_PI;
+          }
+          else if (Z < 0.0)
+          {  /* south pole */
+              Latitude = -HALF_PI;
+          }
+          else
+          {  /* center of earth */
+              Latitude = HALF_PI;
+              Height = -cs.b;
+              return;
+          }
+      }
+  }
+  W2 = X*X + Y*Y;
+  W = Math.sqrt(W2);
+  T0 = Z * AD_C;
+  S0 = Math.sqrt(T0 * T0 + W2);
+  Sin_B0 = T0 / S0;
+  Cos_B0 = W / S0;
+  Sin3_B0 = Sin_B0 * Sin_B0 * Sin_B0;
+  T1 = Z + cs.b * cs.ep2 * Sin3_B0;
+  Sum = W - cs.a * cs.es * Cos_B0 * Cos_B0 * Cos_B0;
+  S1 = Math.sqrt(T1*T1 + Sum * Sum);
+  Sin_p1 = T1 / S1;
+  Cos_p1 = Sum / S1;
+  Rn = cs.a / Math.sqrt(1.0 - cs.es * Sin_p1 * Sin_p1);
+  if (Cos_p1 >= COS_67P5)
+  {
+      Height = W / Cos_p1 - Rn;
+  }
+  else if (Cos_p1 <= -COS_67P5)
+  {
+      Height = W / -Cos_p1 - Rn;
+  }
+  else
+  {
+      Height = Z / Sin_p1 + Rn * (cs.es - 1.0);
+  }
+  if (At_Pole == false)
+  {
+      Latitude = Math.atan(Sin_p1 / Cos_p1);
+  }
+
+  p.x = Longitude;
+  p.y =Latitude;
+  p.z = Height;
+  return 0;
+} // cs_geocentric_to_geodetic()
+
+
+
+/****************************************************************/
+// pj_geocentic_to_wgs84(defn, p )
+//    defn = coordinate system definition,
+//  p = point to transform in geocentric coordinates (x,y,z)
+function cs_geocentric_to_wgs84( defn, p ) {
+
+  if( defn.datum_type == PJD_3PARAM )
+  {
+    // if( x[io] == HUGE_VAL )
+    //    continue;
+    p.x += defn.datum_params[0];
+    p.y += defn.datum_params[1];
+    p.z += defn.datum_params[2];
+
+  }
+  else  // if( defn.datum_type == PJD_7PARAM )
+  {
+    var Dx_BF =defn.datum_params[0];
+    var Dy_BF =defn.datum_params[1];
+    var Dz_BF =defn.datum_params[2];
+    var Rx_BF =defn.datum_params[3];
+    var Ry_BF =defn.datum_params[4];
+    var Rz_BF =defn.datum_params[5];
+    var M_BF  =defn.datum_params[6];
+    // if( x[io] == HUGE_VAL )
+    //    continue;
+    var x_out = M_BF*(       p.x - Rz_BF*p.y + Ry_BF*p.z) + Dx_BF;
+    var y_out = M_BF*( Rz_BF*p.x +       p.y - Rx_BF*p.z) + Dy_BF;
+    var z_out = M_BF*(-Ry_BF*p.x + Rx_BF*p.y +       p.z) + Dz_BF;
+    p.x = x_out;
+    p.y = y_out;
+    p.z = z_out;
+  }
+} // cs_geocentric_to_wgs84
+
+/****************************************************************/
+// pj_geocentic_from_wgs84()
+//  coordinate system definition,
+//  point to transform in geocentric coordinates (x,y,z)
+function cs_geocentric_from_wgs84( defn, p ) {
+
+  if( defn.datum_type == PJD_3PARAM )
+  {
+    //if( x[io] == HUGE_VAL )
+    //    continue;
+    p.x -= defn.datum_params[0];
+    p.y -= defn.datum_params[1];
+    p.z -= defn.datum_params[2];
+
+  }
+  else // if( defn.datum_type == PJD_7PARAM )
+  {
+    var Dx_BF =defn.datum_params[0];
+    var Dy_BF =defn.datum_params[1];
+    var Dz_BF =defn.datum_params[2];
+    var Rx_BF =defn.datum_params[3];
+    var Ry_BF =defn.datum_params[4];
+    var Rz_BF =defn.datum_params[5];
+    var M_BF  =defn.datum_params[6];
+    var x_tmp = (p.x - Dx_BF) / M_BF;
+    var y_tmp = (p.y - Dy_BF) / M_BF;
+    var z_tmp = (p.z - Dz_BF) / M_BF;
+    //if( x[io] == HUGE_VAL )
+    //    continue;
+
+    p.x =        x_tmp + Rz_BF*y_tmp - Ry_BF*z_tmp;
+    p.y = -Rz_BF*x_tmp +       y_tmp + Rx_BF*z_tmp;
+    p.z =  Ry_BF*x_tmp - Rx_BF*y_tmp +       z_tmp;
+  }
+} //cs_geocentric_from_wgs84()
+/* ======================================================================
+    projCode/vandg.js
+   ====================================================================== */
+
+/*******************************************************************************
+NAME                    VAN DER GRINTEN 
+
+PURPOSE:  Transforms input Easting and Northing to longitude and
+    latitude for the Van der Grinten projection.  The
+    Easting and Northing must be in meters.  The longitude
+    and latitude values will be returned in radians.
+
+PROGRAMMER              DATE            
+----------              ----           
+T. Mittan   March, 1993
+
+This function was adapted from the Van Der Grinten projection code
+(FORTRAN) in the General Cartographic Transformation Package software
+which is available from the U.S. Geological Survey National Mapping Division.
+ 
+ALGORITHM REFERENCES
+
+1.  "New Equal-Area Map Projections for Noncircular Regions", John P. Snyder,
+    The American Cartographer, Vol 15, No. 4, October 1988, pp. 341-355.
+
+2.  Snyder, John P., "Map Projections--A Working Manual", U.S. Geological
+    Survey Professional Paper 1395 (Supersedes USGS Bulletin 1532), United
+    State Government Printing Office, Washington D.C., 1987.
+
+3.  "Software Documentation for GCTP General Cartographic Transformation
+    Package", U.S. Geological Survey National Mapping Division, May 1982.
+*******************************************************************************/
+
+Proj4js.Proj.vandg = {
+
+/* Initialize the Van Der Grinten projection
+  ----------------------------------------*/
+  init: function() {
+    this.R = 6370997.0; //Radius of earth
+  },
+
+  forward: function(p) {
+
+    var lon=p.x;
+    var lat=p.y;  
+
+    /* Forward equations
+    -----------------*/
+    var dlon = Proj4js.common.adjust_lon(lon - this.long0);
+    var x,y;
+
+    if (Math.abs(lat) <= Proj4js.common.EPSLN) {
+      x = this.x0  + this.R * dlon;
+      y = this.y0;
+    }
+    var theta = Proj4js.common.asinz(2.0 * Math.abs(lat / Proj4js.common.PI));
+    if ((Math.abs(dlon) <= Proj4js.common.EPSLN) || (Math.abs(Math.abs(lat) - Proj4js.common.HALF_PI) <= Proj4js.common.EPSLN)) {
+      x = this.x0;
+      if (lat >= 0) {
+        y = this.y0 + Proj4js.common.PI * this.R * Math.tan(.5 * theta);
+      } else {
+        y = this.y0 + Proj4js.common.PI * this.R * - Math.tan(.5 * theta);
+      }
+      //  return(OK);
+    }
+    var al = .5 * Math.abs((Proj4js.common.PI / dlon) - (dlon / Proj4js.common.PI));
+    var asq = al * al;
+    var sinth = Math.sin(theta);
+    var costh = Math.cos(theta);
+
+    var g = costh / (sinth + costh - 1.0);
+    var gsq = g * g;
+    var m = g * (2.0 / sinth - 1.0);
+    var msq = m * m;
+    var con = Proj4js.common.PI * this.R * (al * (g - msq) + Math.sqrt(asq * (g - msq) * (g - msq) - (msq + asq) * (gsq - msq))) / (msq + asq);
+    if (dlon < 0) {
+     con = -con;
+    }
+    x = this.x0 + con;
+    con = Math.abs(con / (Proj4js.common.PI * this.R));
+    if (lat >= 0) {
+     y = this.y0 + Proj4js.common.PI * this.R * Math.sqrt(1.0 - con * con - 2.0 * al * con);
+    } else {
+     y = this.y0 - Proj4js.common.PI * this.R * Math.sqrt(1.0 - con * con - 2.0 * al * con);
+    }
+    p.x = x;
+    p.y = y;
+    return p;
+  },
+
+/* Van Der Grinten inverse equations--mapping x,y to lat/long
+  ---------------------------------------------------------*/
+  inverse: function(p) {
+    var dlon;
+    var xx,yy,xys,c1,c2,c3;
+    var al,asq;
+    var a1;
+    var m1;
+    var con;
+    var th1;
+    var d;
+
+    /* inverse equations
+    -----------------*/
+    p.x -= this.x0;
+    p.y -= this.y0;
+    con = Proj4js.common.PI * this.R;
+    xx = p.x / con;
+    yy =p.y / con;
+    xys = xx * xx + yy * yy;
+    c1 = -Math.abs(yy) * (1.0 + xys);
+    c2 = c1 - 2.0 * yy * yy + xx * xx;
+    c3 = -2.0 * c1 + 1.0 + 2.0 * yy * yy + xys * xys;
+    d = yy * yy / c3 + (2.0 * c2 * c2 * c2 / c3 / c3 / c3 - 9.0 * c1 * c2 / c3 /c3) / 27.0;
+    a1 = (c1 - c2 * c2 / 3.0 / c3) / c3;
+    m1 = 2.0 * Math.sqrt( -a1 / 3.0);
+    con = ((3.0 * d) / a1) / m1;
+    if (Math.abs(con) > 1.0) {
+      if (con >= 0.0) {
+        con = 1.0;
+      } else {
+        con = -1.0;
+      }
+    }
+    th1 = Math.acos(con) / 3.0;
+    if (p.y >= 0) {
+      lat = (-m1 *Math.cos(th1 + Proj4js.common.PI / 3.0) - c2 / 3.0 / c3) * Proj4js.common.PI;
+    } else {
+      lat = -(-m1 * Math.cos(th1 + PI / 3.0) - c2 / 3.0 / c3) * Proj4js.common.PI;
+    }
+
+    if (Math.abs(xx) < Proj4js.common.EPSLN) {
+      lon = this.long0;
+    }
+    lon = Proj4js.common.adjust_lon(this.long0 + Proj4js.common.PI * (xys - 1.0 + Math.sqrt(1.0 + 2.0 * (xx * xx - yy * yy) + xys * xys)) / 2.0 / xx);
+
+    p.x=lon;
+    p.y=lat;
+    return p;
+  }
+};
+/* ======================================================================
+    projCode/gauss.js
+   ====================================================================== */
+
+
+Proj4js.Proj.gauss = {
+
+  init : function() {
+    sphi = Math.sin(this.lat0);
+    cphi = Math.cos(this.lat0);  
+    cphi *= cphi;
+    this.rc = Math.sqrt(1.0 - this.es) / (1.0 - this.es * sphi * sphi);
+    this.C = Math.sqrt(1.0 + this.es * cphi * cphi / (1.0 - this.es));
+    this.phic0 = Math.asin(sphi / this.C);
+    this.ratexp = 0.5 * this.C * this.e;
+    this.K = Math.tan(0.5 * this.phic0 + Proj4js.common.FORTPI) / (Math.pow(Math.tan(0.5*this.lat0 + Proj4js.common.FORTPI), this.C) * Proj4js.common.srat(this.e*sphi, this.ratexp));
+  },
+
+  forward : function(p) {
+    var lon = p.x;
+    var lat = p.y;
+
+    p.y = 2.0 * Math.atan( this.K * Math.pow(Math.tan(0.5 * lat + Proj4js.common.FORTPI), this.C) * Proj4js.common.srat(this.e * Math.sin(lat), this.ratexp) ) - Proj4js.common.HALF_PI;
+    p.x = this.C * lon;
+    return p;
+  },
+
+  inverse : function(p) {
+    var DEL_TOL = 1e-14;
+    var lon = p.x / this.C;
+    var lat = p.y;
+    num = Math.pow(Math.tan(0.5 * lat + Proj4js.common.FORTPI)/this.K, 1./this.C);
+    for (var i = Proj4js.common.MAX_ITER; i>0; --i) {
+      lat = 2.0 * Math.atan(num * Proj4js.common.srat(this.e * Math.sin(p.y), -0.5 * this.e)) - Proj4js.common.HALF_PI;
+      if (Math.abs(lat - p.y) < DEL_TOL) break;
+      p.y = lat;
+    } 
+    /* convergence failed */
+    if (!i) {
+      Proj4js.reportError("gauss:inverse:convergence failed");
+      return null;
+    }
+    p.x = lon;
+    p.y = lat;
+    return p;
+  }
+};
+
+/* ======================================================================
+    projCode/omerc.js
+   ====================================================================== */
+
+/*******************************************************************************
+NAME                       OBLIQUE MERCATOR (HOTINE) 
+
+PURPOSE:  Transforms input longitude and latitude to Easting and
+    Northing for the Oblique Mercator projection.  The
+    longitude and latitude must be in radians.  The Easting
+    and Northing values will be returned in meters.
+
+PROGRAMMER              DATE
+----------              ----
+T. Mittan   Mar, 1993
+
+ALGORITHM REFERENCES
+
+1.  Snyder, John P., "Map Projections--A Working Manual", U.S. Geological
+    Survey Professional Paper 1395 (Supersedes USGS Bulletin 1532), United
+    State Government Printing Office, Washington D.C., 1987.
+
+2.  Snyder, John P. and Voxland, Philip M., "An Album of Map Projections",
+    U.S. Geological Survey Professional Paper 1453 , United State Government
+    Printing Office, Washington D.C., 1989.
+*******************************************************************************/
+
+Proj4js.Proj.omerc = {
+
+  /* Initialize the Oblique Mercator  projection
+    ------------------------------------------*/
+  init: function() {
+    if (!this.mode) this.mode=0;
+    if (!this.lon1)   {this.lon1=0;this.mode=1;}
+    if (!this.lon2)   this.lon2=0;
+    if (!this.lat2)    this.lat2=0;
+
+    /* Place parameters in static storage for common use
+      -------------------------------------------------*/
+    var temp = this.b/ this.a;
+    var es = 1.0 - Math.pow(temp,2);
+    var e = Math.sqrt(es);
+
+    this.sin_p20=Math.sin(this.lat0);
+    this.cos_p20=Math.cos(this.lat0);
+
+    this.con = 1.0 - this.es * this.sin_p20 * this.sin_p20;
+    this.com = Math.sqrt(1.0 - es);
+    this.bl = Math.sqrt(1.0 + this.es * Math.pow(this.cos_p20,4.0)/(1.0 - es));
+    this.al = this.a * this.bl * this.k0 * this.com / this.con;
+    if (Math.abs(this.lat0) < Proj4js.common.EPSLN) {
+       this.ts = 1.0;
+       this.d = 1.0;
+       this.el = 1.0;
+    } else {
+       this.ts = Proj4js.common.tsfnz(this.e,this.lat0,this.sin_p20);
+       this.con = Math.sqrt(this.con);
+       this.d = this.bl * this.com / (this.cos_p20 * this.con);
+       if ((this.d * this.d - 1.0) > 0.0) {
+          if (this.lat0 >= 0.0) {
+             this.f = this.d + Math.sqrt(this.d * this.d - 1.0);
+          } else {
+             this.f = this.d - Math.sqrt(this.d * this.d - 1.0);
+          }
+       } else {
+         this.f = this.d;
+       }
+       this.el = this.f * Math.pow(this.ts,this.bl);
+    }
+
+    //this.longc=52.60353916666667;
+
+    if (this.mode != 0) {
+       this.g = .5 * (this.f - 1.0/this.f);
+       this.gama = Proj4js.common.asinz(Math.sin(this.alpha) / this.d);
+       this.longc= this.longc - Proj4js.common.asinz(this.g * Math.tan(this.gama))/this.bl;
+
+       /* Report parameters common to format B
+       -------------------------------------*/
+       //genrpt(azimuth * R2D,"Azimuth of Central Line:    ");
+       //cenlon(lon_origin);
+      // cenlat(lat_origin);
+
+       this.con = Math.abs(this.lat0);
+       if ((this.con > Proj4js.common.EPSLN) && (Math.abs(this.con - Proj4js.common.HALF_PI) > Proj4js.common.EPSLN)) {
+            this.singam=Math.sin(this.gama);
+            this.cosgam=Math.cos(this.gama);
+
+            this.sinaz=Math.sin(this.alpha);
+            this.cosaz=Math.cos(this.alpha);
+
+            if (this.lat0>= 0) {
+               this.u =  (this.al / this.bl) * Math.atan(Math.sqrt(this.d*this.d - 1.0)/this.cosaz);
+            } else {
+               this.u =  -(this.al / this.bl) *Math.atan(Math.sqrt(this.d*this.d - 1.0)/this.cosaz);
+            }
+          } else {
+            Proj4js.reportError("omerc:Init:DataError");
+          }
+       } else {
+       this.sinphi =Math. sin(this.at1);
+       this.ts1 = Proj4js.common.tsfnz(this.e,this.lat1,this.sinphi);
+       this.sinphi = Math.sin(this.lat2);
+       this.ts2 = Proj4js.common.tsfnz(this.e,this.lat2,this.sinphi);
+       this.h = Math.pow(this.ts1,this.bl);
+       this.l = Math.pow(this.ts2,this.bl);
+       this.f = this.el/this.h;
+       this.g = .5 * (this.f - 1.0/this.f);
+       this.j = (this.el * this.el - this.l * this.h)/(this.el * this.el + this.l * this.h);
+       this.p = (this.l - this.h) / (this.l + this.h);
+       this.dlon = this.lon1 - this.lon2;
+       if (this.dlon < -Proj4js.common.PI) this.lon2 = this.lon2 - 2.0 * Proj4js.common.PI;
+       if (this.dlon > Proj4js.common.PI) this.lon2 = this.lon2 + 2.0 * Proj4js.common.PI;
+       this.dlon = this.lon1 - this.lon2;
+       this.longc = .5 * (this.lon1 + this.lon2) -Math.atan(this.j * Math.tan(.5 * this.bl * this.dlon)/this.p)/this.bl;
+       this.dlon  = Proj4js.common.adjust_lon(this.lon1 - this.longc);
+       this.gama = Math.atan(Math.sin(this.bl * this.dlon)/this.g);
+       this.alpha = Proj4js.common.asinz(this.d * Math.sin(this.gama));
+
+       /* Report parameters common to format A
+       -------------------------------------*/
+
+       if (Math.abs(this.lat1 - this.lat2) <= Proj4js.common.EPSLN) {
+          Proj4js.reportError("omercInitDataError");
+          //return(202);
+       } else {
+          this.con = Math.abs(this.lat1);
+       }
+       if ((this.con <= Proj4js.common.EPSLN) || (Math.abs(this.con - HALF_PI) <= Proj4js.common.EPSLN)) {
+           Proj4js.reportError("omercInitDataError");
+                //return(202);
+       } else {
+         if (Math.abs(Math.abs(this.lat0) - Proj4js.common.HALF_PI) <= Proj4js.common.EPSLN) {
+            Proj4js.reportError("omercInitDataError");
+            //return(202);
+         }
+       }
+
+       this.singam=Math.sin(this.gam);
+       this.cosgam=Math.cos(this.gam);
+
+       this.sinaz=Math.sin(this.alpha);
+       this.cosaz=Math.cos(this.alpha);  
+
+
+       if (this.lat0 >= 0) {
+          this.u =  (this.al/this.bl) * Math.atan(Math.sqrt(this.d * this.d - 1.0)/this.cosaz);
+       } else {
+          this.u = -(this.al/this.bl) * Math.atan(Math.sqrt(this.d * this.d - 1.0)/this.cosaz);
+       }
+     }
+  },
+
+
+  /* Oblique Mercator forward equations--mapping lat,long to x,y
+    ----------------------------------------------------------*/
+  forward: function(p) {
+    var theta;    /* angle          */
+    var sin_phi, cos_phi;/* sin and cos value       */
+    var b;    /* temporary values       */
+    var c, t, tq; /* temporary values       */
+    var con, n, ml; /* cone constant, small m     */
+    var q,us,vl;
+    var ul,vs;
+    var s;
+    var dlon;
+    var ts1;
+
+    var lon=p.x;
+    var lat=p.y;
+    /* Forward equations
+      -----------------*/
+    sin_phi = Math.sin(lat);
+    dlon = Proj4js.common.adjust_lon(lon - this.longc);
+    vl = Math.sin(this.bl * dlon);
+    if (Math.abs(Math.abs(lat) - Proj4js.common.HALF_PI) > Proj4js.common.EPSLN) {
+       ts1 = Proj4js.common.tsfnz(this.e,lat,sin_phi);
+       q = this.el / (Math.pow(ts1,this.bl));
+       s = .5 * (q - 1.0 / q);
+       t = .5 * (q + 1.0/ q);
+       ul = (s * this.singam - vl * this.cosgam) / t;
+       con = Math.cos(this.bl * dlon);
+       if (Math.abs(con) < .0000001) {
+          us = this.al * this.bl * dlon;
+       } else {
+          us = this.al * Math.atan((s * this.cosgam + vl * this.singam) / con)/this.bl;
+          if (con < 0) us = us + Proj4js.common.PI * this.al / this.bl;
+       }
+    } else {
+       if (lat >= 0) {
+          ul = this.singam;
+       } else {
+          ul = -this.singam;
+       }
+       us = this.al * lat / this.bl;
+    }
+    if (Math.abs(Math.abs(ul) - 1.0) <= Proj4js.common.EPSLN) {
+       //alert("Point projects into infinity","omer-for");
+       Proj4js.reportError("omercFwdInfinity");
+       //return(205);
+    }
+    vs = .5 * this.al * Math.log((1.0 - ul)/(1.0 + ul)) / this.bl;
+    us = us - this.u;
+    var x = this.x0 + vs * this.cosaz + us * this.sinaz;
+    var y = this.y0 + us * this.cosaz - vs * this.sinaz;
+
+    p.x=x;
+    p.y=y;
+    return p;
+  },
+
+  inverse: function(p) {
+    var delta_lon;  /* Delta longitude (Given longitude - center  */
+    var theta;    /* angle          */
+    var delta_theta;  /* adjusted longitude       */
+    var sin_phi, cos_phi;/* sin and cos value       */
+    var b;    /* temporary values       */
+    var c, t, tq; /* temporary values       */
+    var con, n, ml; /* cone constant, small m     */
+    var vs,us,q,s,ts1;
+    var vl,ul,bs;
+    var dlon;
+    var  flag;
+
+    /* Inverse equations
+      -----------------*/
+    p.x -= this.x0;
+    p.y -= this.y0;
+    flag = 0;
+    vs = p.x * this.cosaz - p.y * this.sinaz;
+    us = p.y * this.cosaz + p.x * this.sinaz;
+    us = us + this.u;
+    q = Math.exp(-this.bl * vs / this.al);
+    s = .5 * (q - 1.0/q);
+    t = .5 * (q + 1.0/q);
+    vl = Math.sin(this.bl * us / this.al);
+    ul = (vl * this.cosgam + s * this.singam)/t;
+    if (Math.abs(Math.abs(ul) - 1.0) <= Proj4js.common.EPSLN)
+       {
+       lon = this.longc;
+       if (ul >= 0.0) {
+          lat = Proj4js.common.HALF_PI;
+       } else {
+         lat = -Proj4js.common.HALF_PI;
+       }
+    } else {
+       con = 1.0 / this.bl;
+       ts1 =Math.pow((this.el / Math.sqrt((1.0 + ul) / (1.0 - ul))),con);
+       lat = Proj4js.common.phi2z(this.e,ts1);
+       //if (flag != 0)
+          //return(flag);
+       //~ con = Math.cos(this.bl * us /al);
+       theta = this.longc - Math.atan2((s * this.cosgam - vl * this.singam) , con)/this.bl;
+       lon = Proj4js.common.adjust_lon(theta);
+    }
+    p.x=lon;
+    p.y=lat;
+    return p;
+  }
+};
+/* ======================================================================
+    projCode/lcc.js
+   ====================================================================== */
+
+/*******************************************************************************
+NAME                            LAMBERT CONFORMAL CONIC
+
+PURPOSE:  Transforms input longitude and latitude to Easting and
+    Northing for the Lambert Conformal Conic projection.  The
+    longitude and latitude must be in radians.  The Easting
+    and Northing values will be returned in meters.
+
+
+ALGORITHM REFERENCES
+
+1.  Snyder, John P., "Map Projections--A Working Manual", U.S. Geological
+    Survey Professional Paper 1395 (Supersedes USGS Bulletin 1532), United
+    State Government Printing Office, Washington D.C., 1987.
+
+2.  Snyder, John P. and Voxland, Philip M., "An Album of Map Projections",
+    U.S. Geological Survey Professional Paper 1453 , United State Government
+*******************************************************************************/
+
+
+//<2104> +proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x0=-17044 +x0=-23139.97 +ellps=intl +units=m +no_defs  no_defs
+
+// Initialize the Lambert Conformal conic projection
+// -----------------------------------------------------------------
+
+//Proj4js.Proj.lcc = Class.create();
+Proj4js.Proj.lcc = {
+  init : function() {
+
+    // array of:  r_maj,r_min,lat1,lat2,c_lon,c_lat,false_east,false_north
+    //double c_lat;                   /* center latitude                      */
+    //double c_lon;                   /* center longitude                     */
+    //double lat1;                    /* first standard parallel              */
+    //double lat2;                    /* second standard parallel             */
+    //double r_maj;                   /* major axis                           */
+    //double r_min;                   /* minor axis                           */
+    //double false_east;              /* x offset in meters                   */
+    //double false_north;             /* y offset in meters                   */
+
+      if (!this.lat2){this.lat2=this.lat0;}//if lat2 is not defined
+      if (!this.k0) this.k0 = 1.0;
+
+    // Standard Parallels cannot be equal and on opposite sides of the equator
+      if (Math.abs(this.lat1+this.lat2) < Proj4js.common.EPSLN) {
+        Proj4js.reportError("lcc:init: Equal Latitudes");
+        return;
+      }
+
+      var temp = this.b / this.a;
+      this.e = Math.sqrt(1.0 - temp*temp);
+
+      var sin1 = Math.sin(this.lat1);
+      var cos1 = Math.cos(this.lat1);
+      var ms1 = Proj4js.common.msfnz(this.e, sin1, cos1);
+      var ts1 = Proj4js.common.tsfnz(this.e, this.lat1, sin1);
+
+      var sin2 = Math.sin(this.lat2);
+      var cos2 = Math.cos(this.lat2);
+      var ms2 = Proj4js.common.msfnz(this.e, sin2, cos2);
+      var ts2 = Proj4js.common.tsfnz(this.e, this.lat2, sin2);
+
+      var ts0 = Proj4js.common.tsfnz(this.e, this.lat0, Math.sin(this.lat0));
+
+      if (Math.abs(this.lat1 - this.lat2) > Proj4js.common.EPSLN) {
+        this.ns = Math.log(ms1/ms2)/Math.log(ts1/ts2);
+      } else {
+        this.ns = sin1;
+      }
+      this.f0 = ms1 / (this.ns * Math.pow(ts1, this.ns));
+      this.rh = this.a * this.f0 * Math.pow(ts0, this.ns);
+      if (!this.title) this.title = "Lambert Conformal Conic";
+    },
+
+
+    // Lambert Conformal conic forward equations--mapping lat,long to x,y
+    // -----------------------------------------------------------------
+    forward : function(p) {
+
+      var lon = p.x;
+      var lat = p.y;
+
+    // convert to radians
+      if ( lat <= 90.0 && lat >= -90.0 && lon <= 180.0 && lon >= -180.0) {
+        //lon = lon * Proj4js.common.D2R;
+        //lat = lat * Proj4js.common.D2R;
+      } else {
+        Proj4js.reportError("lcc:forward: llInputOutOfRange: "+ lon +" : " + lat);
+        return null;
+      }
+
+      var con  = Math.abs( Math.abs(lat) - Proj4js.common.HALF_PI);
+      var ts;
+      if (con > Proj4js.common.EPSLN) {
+        ts = Proj4js.common.tsfnz(this.e, lat, Math.sin(lat) );
+        rh1 = this.a * this.f0 * Math.pow(ts, this.ns);
+      } else {
+        con = lat * this.ns;
+        if (con <= 0) {
+          Proj4js.reportError("lcc:forward: No Projection");
+          return null;
+        }
+        rh1 = 0;
+      }
+      var theta = this.ns * Proj4js.common.adjust_lon(lon - this.long0);
+      p.x = this.k0 * (rh1 * Math.sin(theta)) + this.x0;
+      p.y = this.k0 * (this.rh - rh1 * Math.cos(theta)) + this.y0;
+
+      return p;
+    },
+
+  // Lambert Conformal Conic inverse equations--mapping x,y to lat/long
+  // -----------------------------------------------------------------
+  inverse : function(p) {
+
+    var rh1, con, ts;
+    var lat, lon;
+    x = (p.x - this.x0)/this.k0;
+    y = (this.rh - (p.y - this.y0)/this.k0);
+    if (this.ns > 0) {
+      rh1 = Math.sqrt (x * x + y * y);
+      con = 1.0;
+    } else {
+      rh1 = -Math.sqrt (x * x + y * y);
+      con = -1.0;
+    }
+    var theta = 0.0;
+    if (rh1 != 0) {
+      theta = Math.atan2((con * x),(con * y));
+    }
+    if ((rh1 != 0) || (this.ns > 0.0)) {
+      con = 1.0/this.ns;
+      ts = Math.pow((rh1/(this.a * this.f0)), con);
+      lat = Proj4js.common.phi2z(this.e, ts);
+      if (lat == -9999) return null;
+    } else {
+      lat = -Proj4js.common.HALF_PI;
+    }
+    lon = Proj4js.common.adjust_lon(theta/this.ns + this.long0);
+
+    p.x = lon;
+    p.y = lat;
+    return p;
+  }
+};
+
+
+
+
+/* ======================================================================
+    projCode/laea.js
+   ====================================================================== */
+
+/*******************************************************************************
+NAME                  LAMBERT AZIMUTHAL EQUAL-AREA
+ 
+PURPOSE:  Transforms input longitude and latitude to Easting and
+    Northing for the Lambert Azimuthal Equal-Area projection.  The
+    longitude and latitude must be in radians.  The Easting
+    and Northing values will be returned in meters.
+
+PROGRAMMER              DATE            
+----------              ----           
+D. Steinwand, EROS      March, 1991   
+
+This function was adapted from the Lambert Azimuthal Equal Area projection
+code (FORTRAN) in the General Cartographic Transformation Package software
+which is available from the U.S. Geological Survey National Mapping Division.
+ 
+ALGORITHM REFERENCES
+
+1.  "New Equal-Area Map Projections for Noncircular Regions", John P. Snyder,
+    The American Cartographer, Vol 15, No. 4, October 1988, pp. 341-355.
+
+2.  Snyder, John P., "Map Projections--A Working Manual", U.S. Geological
+    Survey Professional Paper 1395 (Supersedes USGS Bulletin 1532), United
+    State Government Printing Office, Washington D.C., 1987.
+
+3.  "Software Documentation for GCTP General Cartographic Transformation
+    Package", U.S. Geological Survey National Mapping Division, May 1982.
+*******************************************************************************/
+
+Proj4js.Proj.laea = {
+
+
+/* Initialize the Lambert Azimuthal Equal Area projection
+  ------------------------------------------------------*/
+  init: function() {
+    this.sin_lat_o=Math.sin(this.lat0);
+    this.cos_lat_o=Math.cos(this.lat0);
+  },
+
+/* Lambert Azimuthal Equal Area forward equations--mapping lat,long to x,y
+  -----------------------------------------------------------------------*/
+  forward: function(p) {
+
+    /* Forward equations
+      -----------------*/
+    var lon=p.x;
+    var lat=p.y;
+    var delta_lon = Proj4js.common.adjust_lon(lon - this.long0);
+
+    //v 1.0
+    var sin_lat=Math.sin(lat);
+    var cos_lat=Math.cos(lat);
+
+    var sin_delta_lon=Math.sin(delta_lon);
+    var cos_delta_lon=Math.cos(delta_lon);
+
+    var g =this.sin_lat_o * sin_lat +this.cos_lat_o * cos_lat * cos_delta_lon;
+    if (g == -1.0) {
+      Proj4js.reportError("laea:fwd:Point projects to a circle of radius "+ 2.0 * R);
+      return null;
+    }
+    var ksp = this.a * Math.sqrt(2.0 / (1.0 + g));
+    var x = ksp * cos_lat * sin_delta_lon + this.x0;
+    var y = ksp * (this.cos_lat_o * sin_lat - this.sin_lat_o * cos_lat * cos_delta_lon) + this.x0;
+    p.x = x;
+    p.y = y
+    return p;
+  },//lamazFwd()
+
+/* Inverse equations
+  -----------------*/
+  inverse: function(p) {
+    p.x -= this.x0;
+    p.y -= this.y0;
+
+    var Rh = Math.sqrt(p.x *p.x +p.y * p.y);
+    var temp = Rh / (2.0 * this.a);
+
+    if (temp > 1) {
+      Proj4js.reportError("laea:Inv:DataError");
+      return null;
+    }
+
+    var z = 2.0 * Proj4js.common.asinz(temp);
+    var sin_z=Math.sin(z);
+    var cos_z=Math.cos(z);
+
+    var lon =this.long0;
+    if (Math.abs(Rh) > Proj4js.common.EPSLN) {
+       var lat = Proj4js.common.asinz(this.sin_lat_o * cos_z +this. cos_lat_o * sin_z *p.y / Rh);
+       var temp =Math.abs(this.lat0) - Proj4js.common.HALF_PI;
+       if (Math.abs(temp) > Proj4js.common.EPSLN) {
+          temp = cos_z -this.sin_lat_o * Math.sin(lat);
+          if(temp!=0.0) lon=Proj4js.common.adjust_lon(this.long0+Math.atan2(p.x*sin_z*this.cos_lat_o,temp*Rh));
+       } else if (this.lat0 < 0.0) {
+          lon = Proj4js.common.adjust_lon(this.long0 - Math.atan2(-p.x,p.y));
+       } else {
+          lon = Proj4js.common.adjust_lon(this.long0 + Math.atan2(p.x, -p.y));
+       }
+    } else {
+      lat = this.lat0;
+    }
+    //return(OK);
+    p.x = lon;
+    p.y = lat;
+    return p;
+  }//lamazInv()
+};
+
+
+
+/* ======================================================================
+    projCode/aeqd.js
+   ====================================================================== */
+
+Proj4js.Proj.aeqd = {
+
+  init : function() {
+    this.sin_p12=Math.sin(this.lat0)
+    this.cos_p12=Math.cos(this.lat0)
+  },
+
+  forward: function(p) {
+    var lon=p.x;
+    var lat=p.y;
+    var ksp;
+
+    var sinphi=Math.sin(p.y);
+    var cosphi=Math.cos(p.y); 
+    var dlon = Proj4js.common.adjust_lon(lon - this.long0);
+    var coslon = Math.cos(dlon);
+    var g = this.sin_p12 * sinphi + this.cos_p12 * cosphi * coslon;
+    if (Math.abs(Math.abs(g) - 1.0) < Proj4js.common.EPSLN) {
+       ksp = 1.0;
+       if (g < 0.0) {
+         Proj4js.reportError("aeqd:Fwd:PointError");
+         return;
+       }
+    } else {
+       var z = Math.acos(g);
+       ksp = z/Math.sin(z);
+    }
+    p.x = this.x0 + this.a * ksp * cosphi * Math.sin(dlon);
+    p.y = this.y0 + this.a * ksp * (this.cos_p12 * sinphi - this.sin_p12 * cosphi * coslon);
+    return p;
+  },
+
+  inverse: function(p){
+    p.x -= this.x0;
+    p.y -= this.y0;
+
+    var rh = Math.sqrt(p.x * p.x + p.y *p.y);
+    if (rh > (2.0 * Proj4js.common.HALF_PI * this.a)) {
+       Proj4js.reportError("aeqdInvDataError");
+       return;
+    }
+    var z = rh / this.a;
+
+    var sinz=Math.sin(z)
+    var cosz=Math.cos(z)
+
+    var lon = this.long0;
+    var lat;
+    if (Math.abs(rh) <= Proj4js.common.EPSLN) {
+      lat = this.lat0;
+    } else {
+      lat = Proj4js.common.asinz(cosz * this.sin_p12 + (p.y * sinz * this.cos_p12) / rh);
+      var con = Math.abs(this.lat0) - Proj4js.common.HALF_PI;
+      if (Math.abs(con) <= Proj4js.common.EPSLN) {
+        if (lat0 >= 0.0) {
+          lon = Proj4js.common.adjust_lon(this.long0 + Math.atan2(p.x , -p.y));
+        } else {
+          lon = Proj4js.common.adjust_lon(this.long0 - Math.atan2(-p.x , p.y));
+        }
+      } else {
+        con = cosz - this.sin_p12 * Math.sin(lat);
+        if ((Math.abs(con) < Proj4js.common.EPSLN) && (Math.abs(p.x) < Proj4js.common.EPSLN)) {
+           //no-op, just keep the lon value as is
+        } else {
+          var temp = Math.atan2((p.x * sinz * this.cos_p12), (con * rh));
+          lon = Proj4js.common.adjust_lon(this.long0 + Math.atan2((p.x * sinz * this.cos_p12), (con * rh)));
+        }
+      }
+    }
+
+    p.x = lon;
+    p.y = lat;
+    return p;
+  } 
+};
+/* ======================================================================
+    projCode/moll.js
+   ====================================================================== */
+
+/*******************************************************************************
+NAME                            MOLLWEIDE
+
+PURPOSE:  Transforms input longitude and latitude to Easting and
+    Northing for the MOllweide projection.  The
+    longitude and latitude must be in radians.  The Easting
+    and Northing values will be returned in meters.
+
+PROGRAMMER              DATE
+----------              ----
+D. Steinwand, EROS      May, 1991;  Updated Sept, 1992; Updated Feb, 1993
+S. Nelson, EDC    Jun, 2993;  Made corrections in precision and
+          number of iterations.
+
+ALGORITHM REFERENCES
+
+1.  Snyder, John P. and Voxland, Philip M., "An Album of Map Projections",
+    U.S. Geological Survey Professional Paper 1453 , United State Government
+    Printing Office, Washington D.C., 1989.
+
+2.  Snyder, John P., "Map Projections--A Working Manual", U.S. Geological
+    Survey Professional Paper 1395 (Supersedes USGS Bulletin 1532), United
+    State Government Printing Office, Washington D.C., 1987.
+*******************************************************************************/
+
+Proj4js.Proj.moll = {
+
+  /* Initialize the Mollweide projection
+    ------------------------------------*/
+  init: function(){
+    //no-op
+  },
+
+  /* Mollweide forward equations--mapping lat,long to x,y
+    ----------------------------------------------------*/
+  forward: function(p) {
+
+    /* Forward equations
+      -----------------*/
+    var lon=p.x;
+    var lat=p.y;
+
+    var delta_lon = Proj4js.common.adjust_lon(lon - this.long0);
+    var theta = lat;
+    var con = Proj4js.common.PI * Math.sin(lat);
+
+    /* Iterate using the Newton-Raphson method to find theta
+      -----------------------------------------------------*/
+    for (var i=0;;i++) {
+       var delta_theta = -(theta + Math.sin(theta) - con)/ (1.0 + Math.cos(theta));
+       theta += delta_theta;
+       if (Math.abs(delta_theta) < Proj4js.common.EPSLN) break;
+       if (i >= 50) {
+          Proj4js.reportError("moll:Fwd:IterationError");
+         //return(241);
+       }
+    }
+    theta /= 2.0;
+
+    /* If the latitude is 90 deg, force the x coordinate to be "0 + false easting"
+       this is done here because of precision problems with "cos(theta)"
+       --------------------------------------------------------------------------*/
+    if (Proj4js.common.PI/2 - Math.abs(lat) < Proj4js.common.EPSLN) delta_lon =0;
+    var x = 0.900316316158 * this.R * delta_lon * Math.cos(theta) + this.x0;
+    var y = 1.4142135623731 * this.R * Math.sin(theta) + this.y0;
+
+    p.x=x;
+    p.y=y;
+    return p;
+  },
+
+  inverse: function(p){
+    var theta;
+    var arg;
+
+    /* Inverse equations
+      -----------------*/
+    p.x-= this.x0;
+    //~ p.y -= this.y0;
+    var arg = p.y /  (1.4142135623731 * this.R);
+
+    /* Because of division by zero problems, 'arg' can not be 1.0.  Therefore
+       a number very close to one is used instead.
+       -------------------------------------------------------------------*/
+    if(Math.abs(arg) > 0.999999999999) arg=0.999999999999;
+    var theta =Math.asin(arg);
+    var lon = Proj4js.common.adjust_lon(this.long0 + (p.x / (0.900316316158 * this.R * Math.cos(theta))));
+    if(lon < (-Proj4js.common.PI)) lon= -Proj4js.common.PI;
+    if(lon > Proj4js.common.PI) lon= Proj4js.common.PI;
+    arg = (2.0 * theta + Math.sin(2.0 * theta)) / Proj4js.common.PI;
+    if(Math.abs(arg) > 1.0)arg=1.0;
+    var lat = Math.asin(arg);
+    //return(OK);
+
+    p.x=lon;
+    p.y=lat;
+    return p;
+  }
+};
+
Index: lib/spatial/mapbuilder/server/php/mapbuilderConfig.xml
===================================================================
--- lib/spatial/mapbuilder/server/php/mapbuilderConfig.xml	(nonexistent)
+++ lib/spatial/mapbuilder/server/php/mapbuilderConfig.xml	(revision 4307)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig 
+    xmlns="http://mapbuilder.sourceforge.net/mapbuilder" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ..//mapbuilder/lib/schemas/config.xsd"
+    version="0.2.1" id="referenceTemplate" >
+  <!--
+    Description: This configuration file sets server level configuration parameters
+                 for the proxyUrl and the serailizeUrl
+    Licence:     LGPL as per: hhttp://www.gnu.org/copyleft/lesser.html
+
+    $Id: mapbuilderConfig.xml 1620 2005-08-10 15:19:16Z madair1 $
+  -->
+  <proxyUrl>/mapbuilder/server/php/proxy.php</proxyUrl>
+  <serializeUrl>/mapbuilder/server/php/serializer.php</serializeUrl>
+</MapbuilderConfig>
+
Index: lib/spatial/mapbuilder/docs/register/ObjectList.xsl
===================================================================
--- lib/spatial/mapbuilder/docs/register/ObjectList.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/docs/register/ObjectList.xsl	(revision 4307)
@@ -6,32 +6,64 @@
 
 <!--
 Description: Generate the component register from the config XML schema.
-Author:      Mike Adair
+Author:      Mike Adair / Gertjan van Oosten
 Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: ObjectList.xsl 3094 2007-08-09 12:29:59Z gjvoosten $
 -->
 
   <xsl:output method="xml" encoding="utf-8" indent="yes"/>
   
   <xsl:param name="widgetId"/>
-  <xsl:param name="listType">modelsType</xsl:param>
+  <xsl:param name="listType"/>
   <xsl:param name="subType"/>
+  <xsl:param name="excludeType"/>
   
   <xsl:variable name="docRoot" select="/xs:schema"/>
 
-	<xsl:template match="/xs:schema">
+  <xsl:template match="/xs:schema">
     <dl>
       <xsl:for-each select="xs:complexType[@name=$listType]/xs:choice/*">
         <xsl:variable name="typeName" select="substring-after(@type,':')"/>
         <xsl:variable name="typeDef" select="$docRoot/xs:complexType[@name=$typeName]"/>
-        <xsl:if test="string-length($subType)=0 or $typeDef/xs:complexContent/xs:extension/@base=$subType">
+        <xsl:choose>
+        <xsl:when test="string-length($subType)=0 or $typeName=substring-after($subType,':') or $typeDef/xs:complexContent/xs:extension/@base=$subType">
           <dt><a href="javascript:config.objects.{$widgetId}.showDetails('{$typeName}')"><xsl:value-of select="@name"/></a></dt>
           <dd><xsl:value-of select="$typeDef/xs:annotation/xs:documentation"/></dd>
-        </xsl:if>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:call-template name="findSubType">
+            <xsl:with-param name="typeName" select="$typeName"/>
+            <xsl:with-param name="typeDesc" select="$typeDef/xs:annotation/xs:documentation"/>
+            <xsl:with-param name="typeBase" select="$typeName"/>
+          </xsl:call-template>
+        </xsl:otherwise>
+        </xsl:choose>
       </xsl:for-each>
     </dl>
-	</xsl:template>
+  </xsl:template>
+
+  <xsl:template name="findSubType">
+    <xsl:param name="typeName"/>
+    <xsl:param name="typeDesc"/>
+    <xsl:param name="typeBase"/>
+    <xsl:variable name="typeDef" select="$docRoot/xs:complexType[@name=$typeBase]"/>
+    <xsl:if test="$typeBase and $typeBase!=substring-after($excludeType,':')">
+      <xsl:choose>
+        <xsl:when test="$typeDef/xs:complexContent/xs:extension/@base=$subType">
+          <dt><a href="javascript:config.objects.{$widgetId}.showDetails('{$typeName}')"><xsl:value-of select="@name"/></a></dt>
+          <dd><xsl:value-of select="$typeDesc"/></dd>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:call-template name="findSubType">
+            <xsl:with-param name="typeName" select="$typeName"/>
+            <xsl:with-param name="typeDesc" select="$typeDesc"/>
+            <xsl:with-param name="typeBase" select="substring-after($typeDef/xs:complexContent/xs:extension/@base,':')"/>
+          </xsl:call-template>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:if>
+  </xsl:template>
   
   <xsl:template match="text()|@*"/>
 
Index: lib/spatial/mapbuilder/docs/register/ObjectList.js
===================================================================
--- lib/spatial/mapbuilder/docs/register/ObjectList.js	(revision 4306)
+++ lib/spatial/mapbuilder/docs/register/ObjectList.js	(revision 4307)
@@ -2,31 +2,21 @@
 Author:       Tom Kralidis
 License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: ObjectList.js 3094 2007-08-09 12:29:59Z gjvoosten $
 */
 
 // Ensure this object's dependancies are loaded.
-mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
 
 /**
- * Widget to display predefined locations (as per schema at lib/model/schemas/locations.xsd)
- * into a HTML select box. Changing a location will set the AOI of the targetModel.
- * TBD: projection coordinate conversion still to be implemented.
  * @constructor
- * @base WidgetBase
+ * @base WidgetBaseXSL
  * @param widgetNode This widget's object node from the configuration document.
  * @param model The model that this widget is a view of.
  */
-
-
 function ObjectList(widgetNode, model) {
   WidgetBaseXSL.apply(this,new Array(widgetNode, model));
 
-/**
- * Change the AOI coordinates from select box choice of prefined locations
- * @param bbox the bbox value of the location keyword chosen
- * @param targetModel the model on which to set the AOI
- */
   this.showDetails = function(objectType) {
     var details = config.objects.objectDetails;
     details.stylesheet.setParameter("objectType",objectType);
Index: lib/spatial/mapbuilder/docs/reference.html
===================================================================
--- lib/spatial/mapbuilder/docs/reference.html	(revision 4306)
+++ lib/spatial/mapbuilder/docs/reference.html	(revision 4307)
@@ -13,10 +13,10 @@
 
 <ul>
   <a name="ogc"></a>
-  <a href="http://www.opengis.org">Open GIS Consortium</a> (OGC) specifications
-  <li><a href="http://www.opengis.org/docs/03-036r2.pdf">Web Map Context document</a></li>  
-  <li><a href="http://www.opengis.org/docs/01-068r2.pdf">Web Map Service (WMS)</a></li>  
-  <li><a href="http://www.opengis.org/docs/02-058.pdf">Web Feature Service (WFS)</a></li>  
+  <a href="http://www.opengeospatial.org/">Open Geospatial Consortium</a> (OGC) specifications
+  <li><a href="http://www.opengeospatial.org/docs/03-036r2.pdf">Web Map Context document</a></li>  
+  <li><a href="http://www.opengeospatial.org/docs/01-068r2.pdf">Web Map Service (WMS)</a></li>  
+  <li><a href="http://www.opengeospatial.org/docs/02-058.pdf">Web Feature Service (WFS)</a></li>  
 </ul>
 
 
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-GeoRSS.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-GeoRSS.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-GeoRSS.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ GeoRSS.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" GeoRSS.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-GeoRSS.js.html" 
+                                        target="classFrame">GeoRSS.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GeoRSS.html" TARGET="classFrame">GeoRSS</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-TabbedContent.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-TabbedContent.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-TabbedContent.js.html	(revision 4307)
@@ -0,0 +1,290 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TabbedContent.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TabbedContent.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TabbedContent.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="TabbedContent.html">TabbedContent</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Mike Adair/Fedele Stella
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: TabbedContent.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Widget to display various other widgets by selecting a tab in a tab bar.
+ * 
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode This widget's object node from the configuration document.
+ * <span class="attrib">@param</span> model The model that this widget is a view of.
+ */</span>
+
+<span class="reserved">function</span> TabbedContent(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+
+  <span class="reserved">this</span>.selectedTab = null;
+  <span class="reserved">this</span>.tabList = new Array();
+  <span class="reserved">this</span>.textNodeXpath = <span class="literal">"/mb:WidgetText/mb:widgets/mb:TabbedContent"</span>;
+
+  <span class="comment">/**
+   * Initializes the tab list and sets the label for each tab
+   * <span class="attrib">@param</span> objRef a pointer to this object
+   */</span>
+  <span class="reserved">this</span>.initTabs = <span class="reserved">function</span>(objRef) {
+    var tabs = objRef.widgetNode.selectNodes(<span class="literal">"mb:tab"</span>);
+    <span class="reserved">for</span> (var i=0; i&lt;tabs.length; ++i) {
+      var tab = tabs[i];
+      var tabWidgetId = getNodeValue(tab);
+      var tabWidget = config.objects[tabWidgetId];
+      <span class="reserved">if</span> (!tabWidget) {
+        alert(mbGetMessage(<span class="literal">"tabWidgetNotFound"</span>, tabWidgetId));
+        <span class="reserved">return</span>;
+      }
+
+      objRef.tabList.push(tabWidget);
+
+      var tabLabel = tab.getAttribute(<span class="literal">"label"</span>); 
+      <span class="reserved">if</span> (!tabLabel) tabLabel = tabWidgetId;
+      var textNode = config.widgetText.selectSingleNode(objRef.textNodeXpath+<span class="literal">"/mb:"</span>+tabWidgetId);
+      <span class="reserved">if</span> (textNode) tabLabel = getNodeValue(textNode);
+      tab.setAttribute(<span class="literal">"label"</span>,tabLabel);
+      
+      tabWidget.model.addListener(<span class="literal">"refresh"</span>,objRef.paint,objRef);
+      tabWidget.model.addListener(<span class="literal">"refresh"</span>,objRef.selectTab,tabWidget);
+    }
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"init"</span>,<span class="reserved">this</span>.initTabs,<span class="reserved">this</span>);
+
+  <span class="comment">/**
+   * Adds a widget to the list of tabs (TBD: not yet working/tested)
+   * <span class="attrib">@param</span> widget the widget to be added to the list of tabs
+   * <span class="attrib">@param</span> order  the order within the tabs
+   */</span>
+  <span class="reserved">this</span>.addWidget = <span class="reserved">function</span>(tabWidget,tabLabel) {
+    <span class="reserved">this</span>.tabList.push(tabWidget);
+
+    <span class="reserved">if</span> (!tabLabel) tabLabel = tabWidget.id;
+    var textNode = config.widgetText.selectSingleNode(<span class="reserved">this</span>.textNodeXpath+<span class="literal">"/mb:"</span>+tabWidget.id);
+    <span class="reserved">if</span> (textNode) tabLabel = getNodeValue(textNode);
+
+    var tabNode = <span class="reserved">this</span>.model.doc.createElementNS(mbNS,<span class="literal">"tab"</span>);
+    tabNode.appendChild(<span class="reserved">this</span>.model.doc.createTextNode(tabWidget.id));
+    tabNode.setAttribute(<span class="literal">"label"</span>,tabLabel);
+    <span class="reserved">this</span>.widgetNode.appendChild(tabNode);
+
+    <span class="reserved">this</span>.paint(<span class="reserved">this</span>);
+    <span class="reserved">this</span>.selectTab(tabWidget);
+  }
+
+  <span class="comment">/**
+   * Selects a tab, which has the effect of displaying that widget in the 
+   * workspace
+   * <span class="attrib">@param</span> tabWidget the widget to be selected
+   */</span>
+  <span class="reserved">this</span>.selectTab = <span class="reserved">function</span>(tabWidget) {
+    <span class="reserved">if</span> (!tabWidget.model.doc) {
+      alert(mbGetMessage(<span class="literal">"noDataYet"</span>));
+      <span class="reserved">return</span>;
+    }
+    var tabBar = config.objects[tabWidget.tabBarId]
+    <span class="reserved">if</span> (tabBar.selectedTab!=null) tabBar.selectedTab.className = <span class="literal">''</span>;
+    var newAnchor = document.getElementById(tabBar.id+<span class="literal">"_"</span>+tabWidget.id);
+    <span class="reserved">if</span> (newAnchor) {
+      newAnchor.className = <span class="literal">'current'</span>;
+      tabBar.selectedTab = newAnchor;
+      tabWidget.paint(tabWidget,tabWidget.id);
+    }
+    <span class="reserved">if</span> (tabWidget.tabAction) eval(tabWidget.tabAction);
+  }
+
+  <span class="comment">/**
+   * sett the doc to be styled to the TabbedContent node from config
+   * <span class="attrib">@param</span> objRef a pointer to this object
+   */</span>
+  <span class="reserved">this</span>.prePaint = <span class="reserved">function</span>(objRef){
+    objRef.resultDoc = objRef.widgetNode;
+    <span class="reserved">for</span> (var i=0; i&lt;objRef.tabList.length; ++i) {
+      var tabWidget = objRef.tabList[i];
+      tabWidget.tabBarId = <span class="reserved">this</span>.id;
+      var tabNode = objRef.resultDoc.selectSingleNode(<span class="literal">"mb:tab[text()='"</span>+tabWidget.id+<span class="literal">"']"</span>);
+      <span class="reserved">if</span> (!tabWidget.model.doc) {
+        tabNode.setAttribute(<span class="literal">"disabled"</span>, <span class="literal">"true"</span>);
+      } <span class="reserved">else</span> {
+        tabNode.removeAttribute(<span class="literal">"disabled"</span>);
+      }
+<span class="comment">
+      //specify an optional action to be performed when the tab is selected</span>
+      <span class="reserved">this</span>.tabAction = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:tabAction"</span>);
+    }
+  }
+
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/register/register.xsl
===================================================================
--- lib/spatial/mapbuilder/docs/register/register.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/docs/register/register.xsl	(revision 4307)
@@ -6,7 +6,7 @@
              config.xsd schema document.
 Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
 
-$Id$
+$Id: register.xsl 1744 2005-10-20 11:02:56Z camerons $
 $Name$
 -->
 
Index: lib/spatial/mapbuilder/lib/util/openlayers/OpenLayers.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/openlayers/OpenLayers.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/openlayers/OpenLayers.js	(revision 4307)
@@ -0,0 +1,43155 @@
+/*
+
+  OpenLayers.js -- OpenLayers Map Viewer Library
+
+  Copyright 2005-2008 MetaCarta, Inc., released under the Clear BSD license.
+  Please see http://svn.openlayers.org/trunk/openlayers/license.txt
+  for the full text of the license.
+
+  Includes compressed code under the following licenses:
+
+  (For uncompressed versions of the code used please see the
+  OpenLayers SVN repository: <http://openlayers.org/>)
+
+*/
+
+/* Contains portions of Prototype.js:
+ *
+ * Prototype JavaScript framework, version 1.4.0
+ *  (c) 2005 Sam Stephenson <sam@conio.net>
+ *
+ *  Prototype is freely distributable under the terms of an MIT-style license.
+ *  For details, see the Prototype web site: http://prototype.conio.net/
+ *
+ *--------------------------------------------------------------------------*/
+
+/**  
+*  
+*  Contains portions of Rico <http://openrico.org/>
+* 
+*  Copyright 2005 Sabre Airline Solutions  
+*  
+*  Licensed under the Apache License, Version 2.0 (the "License"); you
+*  may not use this file except in compliance with the License. You
+*  may obtain a copy of the License at
+*  
+*         http://www.apache.org/licenses/LICENSE-2.0  
+*  
+*  Unless required by applicable law or agreed to in writing, software
+*  distributed under the License is distributed on an "AS IS" BASIS,
+*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+*  implied. See the License for the specific language governing
+*  permissions and limitations under the License. 
+*
+**/
+
+/* ======================================================================
+    OpenLayers/SingleFile.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+var OpenLayers = {
+    singleFile: true
+};
+
+
+/* ======================================================================
+    OpenLayers.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/* 
+ * @requires OpenLayers/BaseTypes.js
+ * @requires OpenLayers/Lang/en.js
+ */ 
+
+(function() {
+    /**
+     * Before creating the OpenLayers namespace, check to see if
+     * OpenLayers.singleFile is true.  This occurs if the
+     * OpenLayers/SingleFile.js script is included before this one - as is the
+     * case with single file builds.
+     */
+    var singleFile = (typeof OpenLayers == "object" && OpenLayers.singleFile);
+    
+    /**
+     * Namespace: OpenLayers
+     * The OpenLayers object provides a namespace for all things OpenLayers
+     */
+    window.OpenLayers = {
+        
+        /**
+         * Property: _scriptName
+         * {String} Relative path of this script.
+         */
+        _scriptName: (!singleFile) ? "lib/OpenLayers.js" : "OpenLayers.js",
+
+        /**
+         * Function: _getScriptLocation
+         * Return the path to this script.
+         *
+         * Returns:
+         * {String} Path to this script
+         */
+        _getScriptLocation: function () {
+            var scriptLocation = "";
+            var scriptName = OpenLayers._scriptName;
+         
+            var scripts = document.getElementsByTagName('script');
+            for (var i = 0; i < scripts.length; i++) {
+                var src = scripts[i].getAttribute('src');
+                if (src) {
+                    var index = src.lastIndexOf(scriptName); 
+                    // set path length for src up to a query string
+                    var pathLength = src.lastIndexOf('?');
+                    if (pathLength < 0) {
+                        pathLength = src.length;
+                    }
+                    // is it found, at the end of the URL?
+                    if ((index > -1) && (index + scriptName.length == pathLength)) {
+                        scriptLocation = src.slice(0, pathLength - scriptName.length);
+                        break;
+                    }
+                }
+            }
+            return scriptLocation;
+         }
+    };
+    /**
+     * OpenLayers.singleFile is a flag indicating this file is being included
+     * in a Single File Library build of the OpenLayers Library.
+     * 
+     * When we are *not* part of a SFL build we dynamically include the
+     * OpenLayers library code.
+     * 
+     * When we *are* part of a SFL build we do not dynamically include the 
+     * OpenLayers library code as it will be appended at the end of this file.
+      */
+    if(!singleFile) {
+        var jsfiles = new Array(
+            "OpenLayers/Util.js",
+            "OpenLayers/BaseTypes.js",
+            "OpenLayers/BaseTypes/Class.js",
+            "OpenLayers/BaseTypes/Bounds.js",
+            "OpenLayers/BaseTypes/Element.js",
+            "OpenLayers/BaseTypes/LonLat.js",
+            "OpenLayers/BaseTypes/Pixel.js",
+            "OpenLayers/BaseTypes/Size.js",
+            "OpenLayers/Console.js",
+            "OpenLayers/Tween.js",
+            "Rico/Corner.js",
+            "Rico/Color.js",
+            "OpenLayers/Ajax.js",
+            "OpenLayers/Events.js",
+            "OpenLayers/Projection.js",
+            "OpenLayers/Map.js",
+            "OpenLayers/Layer.js",
+            "OpenLayers/Icon.js",
+            "OpenLayers/Marker.js",
+            "OpenLayers/Marker/Box.js",
+            "OpenLayers/Popup.js",
+            "OpenLayers/Tile.js",
+            "OpenLayers/Tile/Image.js",
+            "OpenLayers/Tile/WFS.js",
+            "OpenLayers/Layer/Image.js",
+            "OpenLayers/Layer/SphericalMercator.js",
+            "OpenLayers/Layer/EventPane.js",
+            "OpenLayers/Layer/FixedZoomLevels.js",
+            "OpenLayers/Layer/Google.js",
+            "OpenLayers/Layer/VirtualEarth.js",
+            "OpenLayers/Layer/Yahoo.js",
+            "OpenLayers/Layer/HTTPRequest.js",
+            "OpenLayers/Layer/Grid.js",
+            "OpenLayers/Layer/MapGuide.js",
+            "OpenLayers/Layer/MapServer.js",
+            "OpenLayers/Layer/MapServer/Untiled.js",
+            "OpenLayers/Layer/KaMap.js",
+            "OpenLayers/Layer/MultiMap.js",
+            "OpenLayers/Layer/Markers.js",
+            "OpenLayers/Layer/Text.js",
+            "OpenLayers/Layer/WorldWind.js",
+            "OpenLayers/Layer/WMS.js",
+            "OpenLayers/Layer/WMS/Untiled.js",
+            "OpenLayers/Layer/GeoRSS.js",
+            "OpenLayers/Layer/Boxes.js",
+            "OpenLayers/Layer/TMS.js",
+            "OpenLayers/Layer/TileCache.js",
+            "OpenLayers/Popup/Anchored.js",
+            "OpenLayers/Popup/AnchoredBubble.js",
+            "OpenLayers/Popup/Framed.js",
+            "OpenLayers/Popup/FramedCloud.js",
+            "OpenLayers/Feature.js",
+            "OpenLayers/Feature/Vector.js",
+            "OpenLayers/Feature/WFS.js",
+            "OpenLayers/Handler.js",
+            "OpenLayers/Handler/Click.js",
+            "OpenLayers/Handler/Hover.js",
+            "OpenLayers/Handler/Point.js",
+            "OpenLayers/Handler/Path.js",
+            "OpenLayers/Handler/Polygon.js",
+            "OpenLayers/Handler/Feature.js",
+            "OpenLayers/Handler/Drag.js",
+            "OpenLayers/Handler/RegularPolygon.js",
+            "OpenLayers/Handler/Box.js",
+            "OpenLayers/Handler/MouseWheel.js",
+            "OpenLayers/Handler/Keyboard.js",
+            "OpenLayers/Control.js",
+            "OpenLayers/Control/Attribution.js",
+            "OpenLayers/Control/Button.js",
+            "OpenLayers/Control/ZoomBox.js",
+            "OpenLayers/Control/ZoomToMaxExtent.js",
+            "OpenLayers/Control/DragPan.js",
+            "OpenLayers/Control/Navigation.js",
+            "OpenLayers/Control/MouseDefaults.js",
+            "OpenLayers/Control/MousePosition.js",
+            "OpenLayers/Control/OverviewMap.js",
+            "OpenLayers/Control/KeyboardDefaults.js",
+            "OpenLayers/Control/PanZoom.js",
+            "OpenLayers/Control/PanZoomBar.js",
+            "OpenLayers/Control/ArgParser.js",
+            "OpenLayers/Control/Permalink.js",
+            "OpenLayers/Control/Scale.js",
+            "OpenLayers/Control/ScaleLine.js",
+            "OpenLayers/Control/LayerSwitcher.js",
+            "OpenLayers/Control/DrawFeature.js",
+            "OpenLayers/Control/DragFeature.js",
+            "OpenLayers/Control/ModifyFeature.js",
+            "OpenLayers/Control/Panel.js",
+            "OpenLayers/Control/SelectFeature.js",
+            "OpenLayers/Control/NavigationHistory.js",
+            "OpenLayers/Geometry.js",
+            "OpenLayers/Geometry/Rectangle.js",
+            "OpenLayers/Geometry/Collection.js",
+            "OpenLayers/Geometry/Point.js",
+            "OpenLayers/Geometry/MultiPoint.js",
+            "OpenLayers/Geometry/Curve.js",
+            "OpenLayers/Geometry/LineString.js",
+            "OpenLayers/Geometry/LinearRing.js",        
+            "OpenLayers/Geometry/Polygon.js",
+            "OpenLayers/Geometry/MultiLineString.js",
+            "OpenLayers/Geometry/MultiPolygon.js",
+            "OpenLayers/Geometry/Surface.js",
+            "OpenLayers/Renderer.js",
+            "OpenLayers/Renderer/Elements.js",
+            "OpenLayers/Renderer/SVG.js",
+            "OpenLayers/Renderer/VML.js",
+            "OpenLayers/Layer/Vector.js",
+            "OpenLayers/Layer/PointTrack.js",
+            "OpenLayers/Layer/GML.js",
+            "OpenLayers/Style.js",
+            "OpenLayers/StyleMap.js",
+            "OpenLayers/Rule.js",
+            "OpenLayers/Rule/FeatureId.js",
+            "OpenLayers/Rule/Logical.js",
+            "OpenLayers/Rule/Comparison.js",
+            "OpenLayers/Format.js",
+            "OpenLayers/Format/XML.js",
+            "OpenLayers/Format/GML.js",
+            "OpenLayers/Format/KML.js",
+            "OpenLayers/Format/GeoRSS.js",
+            "OpenLayers/Format/WFS.js",
+            "OpenLayers/Format/WKT.js",
+            "OpenLayers/Format/OSM.js",
+            "OpenLayers/Format/SLD.js",
+            "OpenLayers/Format/SLD/v1.js",
+            "OpenLayers/Format/SLD/v1_0_0.js",
+            "OpenLayers/Format/Text.js",
+            "OpenLayers/Format/JSON.js",
+            "OpenLayers/Format/GeoJSON.js",
+            "OpenLayers/Format/WMC.js",
+            "OpenLayers/Format/WMC/v1.js",
+            "OpenLayers/Format/WMC/v1_0_0.js",
+            "OpenLayers/Format/WMC/v1_1_0.js",
+            "OpenLayers/Layer/WFS.js",
+            "OpenLayers/Control/MouseToolbar.js",
+            "OpenLayers/Control/NavToolbar.js",
+            "OpenLayers/Control/EditingToolbar.js",
+            "OpenLayers/Lang.js",
+            "OpenLayers/Lang/en.js"
+        ); // etc.
+
+        var agent = navigator.userAgent;
+        var docWrite = (agent.match("MSIE") || agent.match("Safari"));
+        if(docWrite) {
+            var allScriptTags = new Array(jsfiles.length);
+        }
+        var host = OpenLayers._getScriptLocation() + "lib/";    
+        for (var i = 0; i < jsfiles.length; i++) {
+            if (docWrite) {
+                allScriptTags[i] = "<script src='" + host + jsfiles[i] +
+                                   "'></script>"; 
+            } else {
+                var s = document.createElement("script");
+                s.src = host + jsfiles[i];
+                var h = document.getElementsByTagName("head").length ? 
+                           document.getElementsByTagName("head")[0] : 
+                           document.body;
+                h.appendChild(s);
+            }
+        }
+        if (docWrite) {
+            document.write(allScriptTags.join(""));
+        }
+    }
+})();
+
+/**
+ * Constant: VERSION_NUMBER
+ */
+OpenLayers.VERSION_NUMBER="$Revision: 3960 $";
+/* ======================================================================
+    OpenLayers/BaseTypes.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/BaseTypes/Class.js
+ * @requires OpenLayers/BaseTypes/LonLat.js
+ * @requires OpenLayers/BaseTypes/Size.js
+ * @requires OpenLayers/BaseTypes/Pixel.js
+ * @requires OpenLayers/BaseTypes/Bounds.js
+ * @requires OpenLayers/BaseTypes/Element.js
+ * @requires OpenLayers/Lang/en.js
+ */
+ 
+/** 
+ * Header: OpenLayers Base Types
+ * OpenLayers custom string, number and function functions are described here.
+ */
+
+/*********************
+ *                   *
+ *      STRING       * 
+ *                   * 
+ *********************/
+
+OpenLayers.String = {
+
+    /**
+     * APIFunction: OpenLayers.String.startsWith
+     * Test whether a string starts with another string. 
+     * 
+     * Parameters:
+     * str - {String} The string to test.
+     * sub - {Sring} The substring to look for.
+     *  
+     * Returns:
+     * {Boolean} The first string starts with the second.
+     */
+    startsWith: function(str, sub) {
+        return (str.indexOf(sub) == 0);
+    },
+
+    /**
+     * APIFunction: OpenLayers.String.contains
+     * Test whether a string contains another string.
+     * 
+     * Parameters:
+     * str - {String} The string to test.
+     * sub - {String} The substring to look for.
+     * 
+     * Returns:
+     * {Boolean} The first string contains the second.
+     */
+    contains: function(str, sub) {
+        return (str.indexOf(sub) != -1);
+    },
+    
+    /**
+     * APIFunction: OpenLayers.String.trim
+     * Removes leading and trailing whitespace characters from a string.
+     * 
+     * Parameters:
+     * str - {String} The (potentially) space padded string.  This string is not
+     *     modified.
+     * 
+     * Returns:
+     * {String} A trimmed version of the string with all leading and 
+     *     trailing spaces removed.
+     */
+    trim: function(str) {
+        return str.replace(/^\s*(.*?)\s*$/, "$1");    
+    },
+    
+    /**
+     * APIFunction: OpenLayers.String.camelize
+     * Camel-case a hyphenated string. 
+     *     Ex. "chicken-head" becomes "chickenHead", and
+     *     "-chicken-head" becomes "ChickenHead".
+     *
+     * Parameters:
+     * str - {String} The string to be camelized.  The original is not modified.
+     * 
+     * Returns:
+     * {String} The string, camelized
+     */
+    camelize: function(str) {
+        var oStringList = str.split('-');
+        var camelizedString = oStringList[0];
+        for (var i = 1; i < oStringList.length; i++) {
+            var s = oStringList[i];
+            camelizedString += s.charAt(0).toUpperCase() + s.substring(1);
+        }
+        return camelizedString;
+    },
+    
+    /**
+     * APIFunction: OpenLayers.String.format
+     * Given a string with tokens in the form ${token}, return a string
+     *     with tokens replaced with properties from the given context
+     *     object.  Represent a literal "${" by doubling it, e.g. "${${".
+     *
+     * Parameters:
+     * template - {String} A string with tokens to be replaced.  A template
+     *     has the form "literal ${token}" where the token will be replaced
+     *     by the value of context["token"].
+     * context - {Object} An optional object with properties corresponding
+     *     to the tokens in the format string.  If no context is sent, the
+     *     window object will be used.
+     * args - {Array} Optional arguments to pass to any functions found in
+     *     the context.  If a context property is a function, the token
+     *     will be replaced by the return from the function called with
+     *     these arguments.
+     *
+     * Returns:
+     * {String} A string with tokens replaced from the context object.
+     */
+    format: function(template, context, args) {
+        if(!context) {
+            context = window;
+        }
+        var tokens = template.split("${");
+        var item, last, replacement;
+        for(var i=1; i<tokens.length; i++) {
+            item = tokens[i];
+            last = item.indexOf("}"); 
+            if(last > 0) {
+                replacement = context[item.substring(0, last)];
+                if(typeof replacement == "function") {
+                    replacement = args ?
+                        replacement.apply(null, args) :
+                        replacement();
+                }
+                tokens[i] = replacement + item.substring(++last); 
+            } else {
+                tokens[i] = "${" + item;
+            }
+        }
+        return tokens.join("");
+    }
+
+};
+
+if (!String.prototype.startsWith) {
+    /**
+     * APIMethod: String.startsWith
+     * *Deprecated*. Whether or not a string starts with another string. 
+     * 
+     * Parameters:
+     * sStart - {Sring} The string we're testing for.
+     *  
+     * Returns:
+     * {Boolean} Whether or not this string starts with the string passed in.
+     */
+    String.prototype.startsWith = function(sStart) {
+        OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",
+                                {'newMethod':'OpenLayers.String.startsWith'}));
+        return OpenLayers.String.startsWith(this, sStart);
+    };
+}
+
+if (!String.prototype.contains) {
+    /**
+     * APIMethod: String.contains
+     * *Deprecated*. Whether or not a string contains another string.
+     * 
+     * Parameters:
+     * str - {String} The string that we're testing for.
+     * 
+     * Returns:
+     * {Boolean} Whether or not this string contains with the string passed in.
+     */
+    String.prototype.contains = function(str) {
+        OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",
+                                  {'newMethod':'OpenLayers.String.contains'}));
+        return OpenLayers.String.contains(this, str);
+    };
+}
+
+if (!String.prototype.trim) {
+    /**
+     * APIMethod: String.trim
+     * *Deprecated*. Removes leading and trailing whitespace characters from a string.
+     * 
+     * Returns:
+     * {String} A trimmed version of the string - all leading and 
+     *          trailing spaces removed
+     */
+    String.prototype.trim = function() {
+        OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",
+                                      {'newMethod':'OpenLayers.String.trim'}));
+        return OpenLayers.String.trim(this);
+    };
+}
+
+if (!String.prototype.camelize) {
+    /**
+     * APIMethod: String.camelize
+     * *Deprecated*. Camel-case a hyphenated string. 
+     *     Ex. "chicken-head" becomes "chickenHead", and
+     *     "-chicken-head" becomes "ChickenHead".
+     * 
+     * Returns:
+     * {String} The string, camelized
+     */
+    String.prototype.camelize = function() {
+        OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",
+                                  {'newMethod':'OpenLayers.String.camelize'}));
+        return OpenLayers.String.camelize(this);
+    };
+}
+
+/*********************
+ *                   *
+ *      NUMBER       * 
+ *                   * 
+ *********************/
+
+OpenLayers.Number = {
+
+    /**
+     * Property: OpenLayers.Number.decimalSeparator
+     * Decimal separator to use when formatting numbers.
+     */
+    decimalSeparator: ".",
+    
+    /**
+     * Property: OpenLayers.Number.thousandsSeparator
+     * Thousands separator to use when formatting numbers.
+     */
+    thousandsSeparator: ",",
+    
+    /**
+     * APIFunction: OpenLayers.Number.limitSigDigs
+     * Limit the number of significant digits on a float.
+     * 
+     * Parameters:
+     * num - {Float}
+     * sig - {Integer}
+     * 
+     * Returns:
+     * {Float} The number, rounded to the specified number of significant
+     *     digits.
+     */
+    limitSigDigs: function(num, sig) {
+        var fig = 0;
+        if (sig > 0) {
+            fig = parseFloat(num.toPrecision(sig));
+        }
+        return fig;
+    },
+    
+    /**
+     * APIFunction: OpenLayers.Number.format
+     * Formats a number for output.
+     * 
+     * Parameters:
+     * num  - {Float}
+     * dec  - {Integer} Number of decimal places to round to.
+     *        Defaults to 0. Set to null to leave decimal places unchanged.
+     * tsep - {String} Thousands separator.
+     *        Default is ",".
+     * dsep - {String} Decimal separator.
+     *        Default is ".".
+     *
+     * Returns:
+     * {String} A string representing the formatted number.
+     */
+    format: function(num, dec, tsep, dsep) {
+        dec = (typeof dec != "undefined") ? dec : 0; 
+        tsep = (typeof tsep != "undefined") ? tsep :
+            OpenLayers.Number.thousandsSeparator; 
+        dsep = (typeof dsep != "undefined") ? dsep :
+            OpenLayers.Number.decimalSeparator;
+
+        if (dec != null) {
+            num = parseFloat(num.toFixed(dec));
+        }
+
+        var parts = num.toString().split(".");
+        if (parts.length == 1 && dec == null) {
+            // integer where we do not want to touch the decimals
+            dec = 0;
+        }
+        
+        var integer = parts[0];
+        if (tsep) {
+            var thousands = /(-?[0-9]+)([0-9]{3})/; 
+            while(thousands.test(integer)) { 
+                integer = integer.replace(thousands, "$1" + tsep + "$2"); 
+            }
+        }
+        
+        var str;
+        if (dec == 0) {
+            str = integer;
+        } else {
+            var rem = parts.length > 1 ? parts[1] : "0";
+            if (dec != null) {
+                rem = rem + new Array(dec - rem.length + 1).join("0");
+            }
+            str = integer + dsep + rem;
+        }
+        return str;
+    }
+};
+
+if (!Number.prototype.limitSigDigs) {
+    /**
+     * APIMethod: Number.limitSigDigs
+     * *Deprecated*. Limit the number of significant digits on an integer. Does *not*
+     *     work with floats!
+     * 
+     * Parameters:
+     * sig - {Integer}
+     * 
+     * Returns:
+     * {Integer} The number, rounded to the specified number of significant digits.
+     *           If null, 0, or negative value passed in, returns 0
+     */
+    Number.prototype.limitSigDigs = function(sig) {
+        OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",
+                              {'newMethod':'OpenLayers.String.limitSigDigs'}));
+        return OpenLayers.Number.limitSigDigs(this, sig);
+    };
+}
+
+/*********************
+ *                   *
+ *      FUNCTION     * 
+ *                   * 
+ *********************/
+
+OpenLayers.Function = {
+    /**
+     * APIFunction: OpenLayers.Function.bind
+     * Bind a function to an object.  Method to easily create closures with
+     *     'this' altered.
+     * 
+     * Parameters:
+     * func - {Function} Input function.
+     * object - {Object} The object to bind to the input function (as this).
+     * 
+     * Returns:
+     * {Function} A closure with 'this' set to the passed in object.
+     */
+    bind: function(func, object) {
+        // create a reference to all arguments past the second one
+        var args = Array.prototype.slice.apply(arguments, [2]);
+        return function() {
+            // Push on any additional arguments from the actual function call.
+            // These will come after those sent to the bind call.
+            var newArgs = args.concat(
+                Array.prototype.slice.apply(arguments, [0])
+            );
+            return func.apply(object, newArgs);
+        };
+    },
+    
+    /**
+     * APIFunction: OpenLayers.Function.bindAsEventListener
+     * Bind a function to an object, and configure it to receive the event
+     *     object as first parameter when called. 
+     * 
+     * Parameters:
+     * func - {Function} Input function to serve as an event listener.
+     * object - {Object} A reference to this.
+     * 
+     * Returns:
+     * {Function}
+     */
+    bindAsEventListener: function(func, object) {
+        return function(event) {
+            return func.call(object, event || window.event);
+        };
+    }
+};
+
+if (!Function.prototype.bind) {
+    /**
+     * APIMethod: Function.bind
+     * *Deprecated*. Bind a function to an object. 
+     * Method to easily create closures with 'this' altered.
+     * 
+     * Parameters:
+     * object - {Object} the this parameter
+     * 
+     * Returns:
+     * {Function} A closure with 'this' altered to the first
+     *            argument.
+     */
+    Function.prototype.bind = function() {
+        OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",
+                                {'newMethod':'OpenLayers.String.bind'}));
+        // new function takes the same arguments with this function up front
+        Array.prototype.unshift.apply(arguments, [this]);
+        return OpenLayers.Function.bind.apply(null, arguments);
+    };
+}
+
+if (!Function.prototype.bindAsEventListener) {
+    /**
+     * APIMethod: Function.bindAsEventListener
+     * *Deprecated*. Bind a function to an object, and configure it to receive the
+     *     event object as first parameter when called. 
+     * 
+     * Parameters:
+     * object - {Object} A reference to this.
+     * 
+     * Returns:
+     * {Function}
+     */
+    Function.prototype.bindAsEventListener = function(object) {
+        OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",
+                        {'newMethod':'OpenLayers.String.bindAsEventListener'}));
+        return OpenLayers.Function.bindAsEventListener(this, object);
+    };
+}
+
+/*********************
+ *                   *
+ *      ARRAY        * 
+ *                   * 
+ *********************/
+
+OpenLayers.Array = {
+
+    /**
+     * APIMethod: OpenLayers.Array.filter
+     * Filter an array.  Provides the functionality of the
+     *     Array.prototype.filter extension to the ECMA-262 standard.  Where
+     *     available, Array.prototype.filter will be used.
+     *
+     * Based on well known example from http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Objects:Array:filter
+     *
+     * Parameters:
+     * array - {Array} The array to be filtered.  This array is not mutated.
+     *     Elements added to this array by the callback will not be visited.
+     * callback - {Function} A function that is called for each element in
+     *     the array.  If this function returns true, the element will be
+     *     included in the return.  The function will be called with three
+     *     arguments: the element in the array, the index of that element, and
+     *     the array itself.  If the optional caller parameter is specified
+     *     the callback will be called with this set to caller.
+     * caller - {Object} Optional object to be set as this when the callback
+     *     is called.
+     *
+     * Returns:
+     * {Array} An array of elements from the passed in array for which the
+     *     callback returns true.
+     */
+    filter: function(array, callback, caller) {
+        var selected = [];
+        if (Array.prototype.filter) {
+            selected = array.filter(callback, caller);
+        } else {
+            var len = array.length;
+            if (typeof callback != "function") {
+                throw new TypeError();
+            }
+            for(var i=0; i<len; i++) {
+                if (i in array) {
+                    var val = array[i];
+                    if (callback.call(caller, val, i, array)) {
+                        selected.push(val);
+                    }
+                }
+            }        
+        }
+        return selected;
+    }
+    
+};
+/* ======================================================================
+    OpenLayers/BaseTypes/Class.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * Constructor: OpenLayers.Class
+ * Base class used to construct all other classes. Includes support for 
+ *     multiple inheritance. 
+ *     
+ * This constructor is new in OpenLayers 2.5.  At OpenLayers 3.0, the old 
+ *     syntax for creating classes and dealing with inheritance 
+ *     will be removed.
+ * 
+ * To create a new OpenLayers-style class, use the following syntax:
+ * > var MyClass = OpenLayers.Class(prototype);
+ *
+ * To create a new OpenLayers-style class with multiple inheritance, use the
+ *     following syntax:
+ * > var MyClass = OpenLayers.Class(Class1, Class2, prototype);
+ *
+ */
+OpenLayers.Class = function() {
+    var Class = function() {
+        /**
+         * This following condition can be removed at 3.0 - this is only for
+         * backwards compatibility while the Class.inherit method is still
+         * in use.  So at 3.0, the following three lines would be replaced with
+         * simply:
+         * this.initialize.apply(this, arguments);
+         */
+        if (arguments && arguments[0] != OpenLayers.Class.isPrototype) {
+            this.initialize.apply(this, arguments);
+        }
+    };
+    var extended = {};
+    var parent;
+    for(var i=0; i<arguments.length; ++i) {
+        if(typeof arguments[i] == "function") {
+            // get the prototype of the superclass
+            parent = arguments[i].prototype;
+        } else {
+            // in this case we're extending with the prototype
+            parent = arguments[i];
+        }
+        OpenLayers.Util.extend(extended, parent);
+    }
+    Class.prototype = extended;
+    return Class;
+};
+
+/**
+ * Property: isPrototype
+ * *Deprecated*.  This is no longer needed and will be removed at 3.0.
+ */
+OpenLayers.Class.isPrototype = function () {};
+
+/**
+ * APIFunction: OpenLayers.create
+ * *Deprecated*.  Old method to create an OpenLayers style class.  Use the
+ *     <OpenLayers.Class> constructor instead.
+ *
+ * Returns:
+ * An OpenLayers class
+ */
+OpenLayers.Class.create = function() {
+    return function() {
+        if (arguments && arguments[0] != OpenLayers.Class.isPrototype) {
+            this.initialize.apply(this, arguments);
+        }
+    };
+};
+
+
+/**
+ * APIFunction: inherit
+ * *Deprecated*.  Old method to inherit from one or more OpenLayers style
+ *     classes.  Use the <OpenLayers.Class> constructor instead.
+ *
+ * Parameters:
+ * class - One or more classes can be provided as arguments
+ *
+ * Returns:
+ * An object prototype
+ */
+OpenLayers.Class.inherit = function () {
+    var superClass = arguments[0];
+    var proto = new superClass(OpenLayers.Class.isPrototype);
+    for (var i = 1; i < arguments.length; i++) {
+        if (typeof arguments[i] == "function") {
+            var mixin = arguments[i];
+            arguments[i] = new mixin(OpenLayers.Class.isPrototype);
+        }
+        OpenLayers.Util.extend(proto, arguments[i]);
+    }
+    return proto;
+};
+/* ======================================================================
+    OpenLayers/Util.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * Namespace: Util
+ */
+OpenLayers.Util = {};
+
+/** 
+ * Function: getElement
+ * This is the old $() from prototype
+ */
+OpenLayers.Util.getElement = function() {
+    var elements = [];
+
+    for (var i = 0; i < arguments.length; i++) {
+        var element = arguments[i];
+        if (typeof element == 'string') {
+            element = document.getElementById(element);
+        }
+        if (arguments.length == 1) {
+            return element;
+        }
+        elements.push(element);
+    }
+    return elements;
+};
+
+/** 
+ * Maintain $() from prototype
+ */
+if ($ == null) {
+    var $ = OpenLayers.Util.getElement;
+}
+
+/**
+ * APIFunction: extend
+ * Copy all properties of a source object to a destination object.  Modifies
+ *     the passed in destination object.  Any properties on the source object
+ *     that are set to undefined will not be (re)set on the destination object.
+ *
+ * Parameters:
+ * destination - {Object} The object that will be modified
+ * source - {Object} The object with properties to be set on the destination
+ *
+ * Returns:
+ * {Object} The destination object.
+ */
+OpenLayers.Util.extend = function(destination, source) {
+    if(destination && source) {
+        for(var property in source) {
+            var value = source[property];
+            if(value !== undefined) {
+                destination[property] = value;
+            }
+        }
+        /**
+         * IE doesn't include the toString property when iterating over an object's
+         * properties with the for(property in object) syntax.  Explicitly check if
+         * the source has its own toString property.
+         */
+        if(source.hasOwnProperty && source.hasOwnProperty('toString')) {
+            destination.toString = source.toString;
+        }
+    }
+    return destination;
+};
+
+
+/** 
+ * Function: removeItem
+ * Remove an object from an array. Iterates through the array
+ *     to find the item, then removes it.
+ *
+ * Parameters:
+ * array - {Array}
+ * item - {Object}
+ * 
+ * Return
+ * {Array} A reference to the array
+ */
+OpenLayers.Util.removeItem = function(array, item) {
+    for(var i = array.length - 1; i >= 0; i--) {
+        if(array[i] == item) {
+            array.splice(i,1);
+            //break;more than once??
+        }
+    }
+    return array;
+};
+
+/**
+ * Function: clearArray
+ * *Deprecated*. This function will disappear in 3.0.
+ * Please use "array.length = 0" instead.
+ * 
+ * Parameters:
+ * array - {Array}
+ */
+OpenLayers.Util.clearArray = function(array) {
+    OpenLayers.Console.warn(
+        OpenLayers.i18n(
+            "methodDeprecated", {'newMethod': 'array = []'}
+        )
+    );
+    array.length = 0;
+};
+
+/** 
+ * Function: indexOf
+ * Seems to exist already in FF, but not in MOZ.
+ * 
+ * Parameters:
+ * array - {Array}
+ * obj - {Object}
+ * 
+ * Returns:
+ * {Integer} The index at, which the object was found in the array.
+ *           If not found, returns -1.
+ */
+OpenLayers.Util.indexOf = function(array, obj) {
+
+    for(var i=0; i < array.length; i++) {
+        if (array[i] == obj) {
+            return i;
+        }
+    }
+    return -1;   
+};
+
+
+
+/**
+ * Function: modifyDOMElement
+ * 
+ * Modifies many properties of a DOM element all at once.  Passing in 
+ * null to an individual parameter will avoid setting the attribute.
+ *
+ * Parameters:
+ * id - {String} The element id attribute to set.
+ * px - {<OpenLayers.Pixel>} The left and top style position.
+ * sz - {<OpenLayers.Size>}  The width and height style attributes.
+ * position - {String}       The position attribute.  eg: absolute, 
+ *                           relative, etc.
+ * border - {String}         The style.border attribute.  eg:
+ *                           solid black 2px
+ * overflow - {String}       The style.overview attribute.  
+ * opacity - {Float}         Fractional value (0.0 - 1.0)
+ */
+OpenLayers.Util.modifyDOMElement = function(element, id, px, sz, position, 
+                                            border, overflow, opacity) {
+
+    if (id) {
+        element.id = id;
+    }
+    if (px) {
+        element.style.left = px.x + "px";
+        element.style.top = px.y + "px";
+    }
+    if (sz) {
+        element.style.width = sz.w + "px";
+        element.style.height = sz.h + "px";
+    }
+    if (position) {
+        element.style.position = position;
+    }
+    if (border) {
+        element.style.border = border;
+    }
+    if (overflow) {
+        element.style.overflow = overflow;
+    }
+    if (parseFloat(opacity) >= 0.0 && parseFloat(opacity) < 1.0) {
+        element.style.filter = 'alpha(opacity=' + (opacity * 100) + ')';
+        element.style.opacity = opacity;
+    } else if (parseFloat(opacity) == 1.0) {
+        element.style.filter = '';
+        element.style.opacity = '';
+    }
+};
+
+/** 
+ * Function: createDiv
+ * Creates a new div and optionally set some standard attributes.
+ * Null may be passed to each parameter if you do not wish to
+ * set a particular attribute.d
+ * 
+ * Note: zIndex is NOT set
+ * 
+ * Parameters:
+ * id - {String} An identifier for this element.  If no id is
+ *               passed an identifier will be created 
+ *               automatically.
+ * px - {<OpenLayers.Pixel>} The element left and top position. 
+ * sz - {<OpenLayers.Size>} The element width and height.
+ * imgURL - {String} A url pointing to an image to use as a 
+ *                   background image.
+ * position - {String} The style.position value. eg: absolute,
+ *                     relative etc.
+ * border - {String} The the style.border value. 
+ *                   eg: 2px solid black
+ * overflow - {String} The style.overflow value. Eg. hidden
+ * opacity - {Float} Fractional value (0.0 - 1.0)
+ * 
+ * Returns: 
+ * {DOMElement} A DOM Div created with the specified attributes.
+ */
+OpenLayers.Util.createDiv = function(id, px, sz, imgURL, position, 
+                                     border, overflow, opacity) {
+
+    var dom = document.createElement('div');
+
+    if (imgURL) {
+        dom.style.backgroundImage = 'url(' + imgURL + ')';
+    }
+
+    //set generic properties
+    if (!id) {
+        id = OpenLayers.Util.createUniqueID("OpenLayersDiv");
+    }
+    if (!position) {
+        position = "absolute";
+    }
+    OpenLayers.Util.modifyDOMElement(dom, id, px, sz, position, 
+                                     border, overflow, opacity);
+
+    return dom;
+};
+
+/**
+ * Function: createImage
+ * Creates an img element with specific attribute values.
+ *  
+ * Parameters:
+ * id - {String} The id field for the img.  If none assigned one will be
+ *               automatically generated.
+ * px - {<OpenLayers.Pixel>} The left and top positions.
+ * sz - {<OpenLayers.Size>} The style.width and style.height values.
+ * imgURL - {String} The url to use as the image source.
+ * position - {String} The style.position value.
+ * border - {String} The border to place around the image.
+ * delayDisplay - {Boolean} If true waits until the image has been
+ *                          loaded.
+ * opacity - {Float} Fractional value (0.0 - 1.0)
+ * 
+ * Returns:
+ * {DOMElement} A DOM Image created with the specified attributes.
+ */
+OpenLayers.Util.createImage = function(id, px, sz, imgURL, position, border,
+                                       opacity, delayDisplay) {
+
+    var image = document.createElement("img");
+
+    //set generic properties
+    if (!id) {
+        id = OpenLayers.Util.createUniqueID("OpenLayersDiv");
+    }
+    if (!position) {
+        position = "relative";
+    }
+    OpenLayers.Util.modifyDOMElement(image, id, px, sz, position, 
+                                     border, null, opacity);
+
+    if(delayDisplay) {
+        image.style.display = "none";
+        OpenLayers.Event.observe(image, "load", 
+            OpenLayers.Function.bind(OpenLayers.Util.onImageLoad, image));
+        OpenLayers.Event.observe(image, "error", 
+            OpenLayers.Function.bind(OpenLayers.Util.onImageLoadError, image));
+        
+    }
+    
+    //set special properties
+    image.style.alt = id;
+    image.galleryImg = "no";
+    if (imgURL) {
+        image.src = imgURL;
+    }
+
+
+        
+    return image;
+};
+
+/**
+ * Function: setOpacity
+ * *Deprecated*.  This function has been deprecated. Instead, please use 
+ *     <OpenLayers.Util.modifyDOMElement> 
+ *     or 
+ *     <OpenLayers.Util.modifyAlphaImageDiv>
+ * 
+ * Set the opacity of a DOM Element
+ *     Note that for this function to work in IE, elements must "have layout"
+ *     according to:
+ *     http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/haslayout.asp
+ *
+ * Parameters:
+ * element - {DOMElement} Set the opacity on this DOM element
+ * opacity - {Float} Opacity value (0.0 - 1.0)
+ */
+OpenLayers.Util.setOpacity = function(element, opacity) {
+    OpenLayers.Util.modifyDOMElement(element, null, null, null,
+                                     null, null, null, opacity);
+};
+
+/**
+ * Function: onImageLoad
+ * Bound to image load events.  For all images created with <createImage> or
+ *     <createAlphaImageDiv>, this function will be bound to the load event.
+ */
+OpenLayers.Util.onImageLoad = function() {
+    // The complex check here is to solve issues described in #480.
+    // Every time a map view changes, it increments the 'viewRequestID' 
+    // property. As the requests for the images for the new map view are sent
+    // out, they are tagged with this unique viewRequestID. 
+    // 
+    // If an image has no viewRequestID property set, we display it regardless, 
+    // but if it does have a viewRequestID property, we check that it matches 
+    // the viewRequestID set on the map.
+    // 
+    // If the viewRequestID on the map has changed, that means that the user
+    // has changed the map view since this specific request was sent out, and
+    // therefore this tile does not need to be displayed (so we do not execute
+    // this code that turns its display on).
+    //
+    if (!this.viewRequestID ||
+        (this.map && this.viewRequestID == this.map.viewRequestID)) { 
+        this.style.backgroundColor = null;
+        this.style.display = "";  
+    }
+};
+
+/**
+ * Property: onImageLoadErrorColor
+ * {String} The color tiles with load errors will turn.
+ *          Default is "pink"
+ */
+OpenLayers.Util.onImageLoadErrorColor = "pink";
+
+/**
+ * Property: IMAGE_RELOAD_ATTEMPTS
+ * {Integer} How many times should we try to reload an image before giving up?
+ *           Default is 0
+ */
+OpenLayers.IMAGE_RELOAD_ATTEMPTS = 0;
+
+/**
+ * Function: onImageLoadError 
+ */
+OpenLayers.Util.onImageLoadError = function() {
+    this._attempts = (this._attempts) ? (this._attempts + 1) : 1;
+    if(this._attempts <= OpenLayers.IMAGE_RELOAD_ATTEMPTS) {
+        this.src = this.src;
+    } else {
+        this.style.backgroundColor = OpenLayers.Util.onImageLoadErrorColor;
+    }
+    this.style.display = "";
+};
+
+/**
+ * Function: alphaHack
+ * Checks whether it's necessary (and possible) to use the png alpha
+ * hack which allows alpha transparency for png images under Internet
+ * Explorer.
+ * 
+ * Returns:
+ * {Boolean} true if alpha has is necessary and possible, false otherwise.
+ */
+OpenLayers.Util.alphaHack = function() {
+    var arVersion = navigator.appVersion.split("MSIE");
+    var version = parseFloat(arVersion[1]);
+    var filter = false;
+    
+    // IEs4Lin dies when trying to access document.body.filters, because 
+    // the property is there, but requires a DLL that can't be provided. This
+    // means that we need to wrap this in a try/catch so that this can
+    // continue.
+    
+    try { 
+        filter = !!(document.body.filters);
+    } catch (e) {
+    }    
+    
+    return ( filter &&
+                      (version >= 5.5) && (version < 7) );
+};
+
+/** 
+ * Function: modifyAlphaImageDiv
+ * 
+ * div - {DOMElement} Div containing Alpha-adjusted Image
+ * id - {String}
+ * px - {<OpenLayers.Pixel>}
+ * sz - {<OpenLayers.Size>}
+ * imgURL - {String}
+ * position - {String}
+ * border - {String}
+ * sizing {String} 'crop', 'scale', or 'image'. Default is "scale"
+ * opacity - {Float} Fractional value (0.0 - 1.0)
+ */ 
+OpenLayers.Util.modifyAlphaImageDiv = function(div, id, px, sz, imgURL, 
+                                               position, border, sizing, 
+                                               opacity) {
+
+    OpenLayers.Util.modifyDOMElement(div, id, px, sz, 
+                                     null, null, null, opacity);
+
+    var img = div.childNodes[0];
+
+    if (imgURL) {
+        img.src = imgURL;
+    }
+    OpenLayers.Util.modifyDOMElement(img, div.id + "_innerImage", null, sz, 
+                                     "relative", border);
+    
+    if (OpenLayers.Util.alphaHack()) {
+
+        div.style.display = "inline-block";
+        if (sizing == null) {
+            sizing = "scale";
+        }
+        
+        div.style.filter = "progid:DXImageTransform.Microsoft" +
+                           ".AlphaImageLoader(src='" + img.src + "', " +
+                           "sizingMethod='" + sizing + "')";
+        if (parseFloat(div.style.opacity) >= 0.0 && 
+            parseFloat(div.style.opacity) < 1.0) {
+            div.style.filter += " alpha(opacity=" + div.style.opacity * 100 + ")";
+        }
+
+        img.style.filter = "alpha(opacity=0)";
+    }
+};
+
+/** 
+ * Function: createAlphaImageDiv
+ * 
+ * id - {String}
+ * px - {<OpenLayers.Pixel>}
+ * sz - {<OpenLayers.Size>}
+ * imgURL - {String}
+ * position - {String}
+ * border - {String}
+ * sizing {String} 'crop', 'scale', or 'image'. Default is "scale"
+ * delayDisplay{Boolean}
+ * 
+ * Returns:
+ * {DOMElement} A DOM Div created with a DOM Image inside it. If the hack is 
+ *              needed for transparency in IE, it is added.
+ */ 
+OpenLayers.Util.createAlphaImageDiv = function(id, px, sz, imgURL, 
+                                               position, border, sizing, 
+                                               opacity, delayDisplay) {
+    
+    var div = OpenLayers.Util.createDiv();
+    var img = OpenLayers.Util.createImage(null, null, null, null, null, null, 
+                                          null, false);
+    div.appendChild(img);
+
+    if (delayDisplay) {
+        img.style.display = "none";
+        OpenLayers.Event.observe(img, "load",
+            OpenLayers.Function.bind(OpenLayers.Util.onImageLoad, div));
+        OpenLayers.Event.observe(img, "error",
+            OpenLayers.Function.bind(OpenLayers.Util.onImageLoadError, div));
+    }
+
+    OpenLayers.Util.modifyAlphaImageDiv(div, id, px, sz, imgURL, position, 
+                                        border, sizing, opacity);
+    
+    return div;
+};
+
+
+/** 
+ * Function: upperCaseObject
+ * Creates a new hashtable and copies over all the keys from the 
+ *     passed-in object, but storing them under an uppercased
+ *     version of the key at which they were stored.
+ * 
+ * Parameters: 
+ * object - {Object}
+ * 
+ * Returns: 
+ * {Object} A new Object with all the same keys but uppercased
+ */
+OpenLayers.Util.upperCaseObject = function (object) {
+    var uObject = {};
+    for (var key in object) {
+        uObject[key.toUpperCase()] = object[key];
+    }
+    return uObject;
+};
+
+/** 
+ * Function: applyDefaults
+ * Takes an object and copies any properties that don't exist from
+ *     another properties, by analogy with OpenLayers.Util.extend() from
+ *     Prototype.js.
+ * 
+ * Parameters:
+ * to - {Object} The destination object.
+ * from - {Object} The source object.  Any properties of this object that
+ *     are undefined in the to object will be set on the to object.
+ *
+ * Returns:
+ * {Object} A reference to the to object.  Note that the to argument is modified
+ *     in place and returned by this function.
+ */
+OpenLayers.Util.applyDefaults = function (to, from) {
+    for (var key in from) {
+        if (to[key] === undefined ||
+            (from.hasOwnProperty
+             && from.hasOwnProperty(key) && !to.hasOwnProperty(key))) {
+            to[key] = from[key];
+        }
+    }
+    /**
+     * IE doesn't include the toString property when iterating over an object's
+     * properties with the for(property in object) syntax.  Explicitly check if
+     * the source has its own toString property.
+     */
+    if(from.hasOwnProperty
+       && from.hasOwnProperty('toString') && !to.hasOwnProperty('toString')) {
+        to.toString = from.toString;
+    }
+    
+    return to;
+};
+
+/**
+ * Function: getParameterString
+ * 
+ * Parameters:
+ * params - {Object}
+ * 
+ * Returns:
+ * {String} A concatenation of the properties of an object in 
+ *          http parameter notation. 
+ *          (ex. <i>"key1=value1&key2=value2&key3=value3"</i>)
+ *          If a parameter is actually a list, that parameter will then
+ *          be set to a comma-seperated list of values (foo,bar) instead
+ *          of being URL escaped (foo%3Abar). 
+ */
+OpenLayers.Util.getParameterString = function(params) {
+    var paramsArray = [];
+    
+    for (var key in params) {
+      var value = params[key];
+      if ((value != null) && (typeof value != 'function')) {
+        var encodedValue;
+        if (typeof value == 'object' && value.constructor == Array) {
+          /* value is an array; encode items and separate with "," */
+          var encodedItemArray = [];
+          for (var itemIndex=0; itemIndex<value.length; itemIndex++) {
+            encodedItemArray.push(encodeURIComponent(value[itemIndex]));
+          }
+          encodedValue = encodedItemArray.join(",");
+        }
+        else {
+          /* value is a string; simply encode */
+          encodedValue = encodeURIComponent(value);
+        }
+        paramsArray.push(encodeURIComponent(key) + "=" + encodedValue);
+      }
+    }
+    
+    return paramsArray.join("&");
+};
+
+/**
+ * Property: ImgPath
+ * {String} Default is ''.
+ */
+OpenLayers.ImgPath = '';
+
+/** 
+ * Function: getImagesLocation
+ * 
+ * Returns:
+ * {String} The fully formatted image location string
+ */
+OpenLayers.Util.getImagesLocation = function() {
+    return OpenLayers.ImgPath || (OpenLayers._getScriptLocation() + "img/");
+};
+
+
+/** 
+ * Function: Try
+ * Execute functions until one of them doesn't throw an error. 
+ *     Capitalized because "try" is a reserved word in JavaScript.
+ *     Taken directly from OpenLayers.Util.Try()
+ * 
+ * Parameters:
+ * [*] - {Function} Any number of parameters may be passed to Try()
+ *    It will attempt to execute each of them until one of them 
+ *    successfully executes. 
+ *    If none executes successfully, returns null.
+ * 
+ * Returns:
+ * {*} The value returned by the first successfully executed function.
+ */
+OpenLayers.Util.Try = function() {
+    var returnValue = null;
+
+    for (var i = 0; i < arguments.length; i++) {
+      var lambda = arguments[i];
+      try {
+        returnValue = lambda();
+        break;
+      } catch (e) {}
+    }
+
+    return returnValue;
+};
+
+
+/** 
+ * Function: getNodes
+ * 
+ * These could/should be made namespace aware?
+ * 
+ * Parameters:
+ * p - {}
+ * tagName - {String}
+ * 
+ * Returns:
+ * {Array}
+ */
+OpenLayers.Util.getNodes=function(p, tagName) {
+    var nodes = OpenLayers.Util.Try(
+        function () {
+            return OpenLayers.Util._getNodes(p.documentElement.childNodes,
+                                            tagName);
+        },
+        function () {
+            return OpenLayers.Util._getNodes(p.childNodes, tagName);
+        }
+    );
+    return nodes;
+};
+
+/**
+ * Function: _getNodes
+ * 
+ * Parameters:
+ * nodes - {Array}
+ * tagName - {String}
+ * 
+ * Returns:
+ * {Array}
+ */
+OpenLayers.Util._getNodes=function(nodes, tagName) {
+    var retArray = [];
+    for (var i=0;i<nodes.length;i++) {
+        if (nodes[i].nodeName==tagName) {
+            retArray.push(nodes[i]);
+        }
+    }
+
+    return retArray;
+};
+
+
+
+/**
+ * Function: getTagText
+ * 
+ * Parameters:
+ * parent - {}
+ * item - {String}
+ * index - {Integer}
+ * 
+ * Returns:
+ * {String}
+ */
+OpenLayers.Util.getTagText = function (parent, item, index) {
+    var result = OpenLayers.Util.getNodes(parent, item);
+    if (result && (result.length > 0))
+    {
+        if (!index) {
+            index=0;
+        }
+        if (result[index].childNodes.length > 1) {
+            return result.childNodes[1].nodeValue; 
+        }
+        else if (result[index].childNodes.length == 1) {
+            return result[index].firstChild.nodeValue; 
+        }
+    } else { 
+        return ""; 
+    }
+};
+
+/**
+ * Function: getXmlNodeValue
+ * 
+ * Parameters:
+ * node - {XMLNode}
+ * 
+ * Returns:
+ * {String} The text value of the given node, without breaking in firefox or IE
+ */
+OpenLayers.Util.getXmlNodeValue = function(node) {
+    var val = null;
+    OpenLayers.Util.Try( 
+        function() {
+            val = node.text;
+            if (!val) {
+                val = node.textContent;
+            }
+            if (!val) {
+                val = node.firstChild.nodeValue;
+            }
+        }, 
+        function() {
+            val = node.textContent;
+        }); 
+    return val;
+};
+
+/** 
+ * Function: mouseLeft
+ * 
+ * Parameters:
+ * evt - {Event}
+ * div - {HTMLDivElement}
+ * 
+ * Returns:
+ * {Boolean}
+ */
+OpenLayers.Util.mouseLeft = function (evt, div) {
+    // start with the element to which the mouse has moved
+    var target = (evt.relatedTarget) ? evt.relatedTarget : evt.toElement;
+    // walk up the DOM tree.
+    while (target != div && target != null) {
+        target = target.parentNode;
+    }
+    // if the target we stop at isn't the div, then we've left the div.
+    return (target != div);
+};
+
+/**
+ * Function: rad
+ * 
+ * Parameters:
+ * x - {Float}
+ * 
+ * Returns:
+ * {Float}
+ */
+OpenLayers.Util.rad = function(x) {return x*Math.PI/180;};
+
+/**
+ * Function: distVincenty
+ * 
+ * Parameters:
+ * p1 - {<OpenLayers.LonLat>} (or any object with both .lat, .lon properties)
+ * p2 - {<OpenLayers.LonLat>} (or any object with both .lat, .lon properties)
+ * 
+ * Returns:
+ * {Float}
+ */
+OpenLayers.Util.distVincenty=function(p1, p2) {
+    var a = 6378137, b = 6356752.3142,  f = 1/298.257223563;
+    var L = OpenLayers.Util.rad(p2.lon - p1.lon);
+    var U1 = Math.atan((1-f) * Math.tan(OpenLayers.Util.rad(p1.lat)));
+    var U2 = Math.atan((1-f) * Math.tan(OpenLayers.Util.rad(p2.lat)));
+    var sinU1 = Math.sin(U1), cosU1 = Math.cos(U1);
+    var sinU2 = Math.sin(U2), cosU2 = Math.cos(U2);
+    var lambda = L, lambdaP = 2*Math.PI;
+    var iterLimit = 20;
+    while (Math.abs(lambda-lambdaP) > 1e-12 && --iterLimit>0) {
+        var sinLambda = Math.sin(lambda), cosLambda = Math.cos(lambda);
+        var sinSigma = Math.sqrt((cosU2*sinLambda) * (cosU2*sinLambda) +
+        (cosU1*sinU2-sinU1*cosU2*cosLambda) * (cosU1*sinU2-sinU1*cosU2*cosLambda));
+        if (sinSigma==0) {
+            return 0;  // co-incident points
+        }
+        var cosSigma = sinU1*sinU2 + cosU1*cosU2*cosLambda;
+        var sigma = Math.atan2(sinSigma, cosSigma);
+        var alpha = Math.asin(cosU1 * cosU2 * sinLambda / sinSigma);
+        var cosSqAlpha = Math.cos(alpha) * Math.cos(alpha);
+        var cos2SigmaM = cosSigma - 2*sinU1*sinU2/cosSqAlpha;
+        var C = f/16*cosSqAlpha*(4+f*(4-3*cosSqAlpha));
+        lambdaP = lambda;
+        lambda = L + (1-C) * f * Math.sin(alpha) *
+        (sigma + C*sinSigma*(cos2SigmaM+C*cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)));
+    }
+    if (iterLimit==0) {
+        return NaN;  // formula failed to converge
+    }
+    var uSq = cosSqAlpha * (a*a - b*b) / (b*b);
+    var A = 1 + uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq)));
+    var B = uSq/1024 * (256+uSq*(-128+uSq*(74-47*uSq)));
+    var deltaSigma = B*sinSigma*(cos2SigmaM+B/4*(cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)-
+        B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)));
+    var s = b*A*(sigma-deltaSigma);
+    var d = s.toFixed(3)/1000; // round to 1mm precision
+    return d;
+};
+
+/**
+ * Function: getParameters
+ * Parse the parameters from a URL or from the current page itself into a 
+ *     JavaScript Object. Note that parameter values with commas are separated
+ *     out into an Array.
+ * 
+ * Parameters:
+ * url - {String} Optional url used to extract the query string.
+ *                If null, query string is taken from page location.
+ * 
+ * Returns:
+ * {Object} An object of key/value pairs from the query string.
+ */
+OpenLayers.Util.getParameters = function(url) {
+    // if no url specified, take it from the location bar
+    url = url || window.location.href;
+
+    //parse out parameters portion of url string
+    var paramsString = "";
+    if (OpenLayers.String.contains(url, '?')) {
+        var start = url.indexOf('?') + 1;
+        var end = OpenLayers.String.contains(url, "#") ?
+                    url.indexOf('#') : url.length;
+        paramsString = url.substring(start, end);
+    }
+        
+    var parameters = {};
+    var pairs = paramsString.split(/[&;]/);
+    for(var i = 0; i < pairs.length; ++i) {
+        var keyValue = pairs[i].split('=');
+        if (keyValue[0]) {
+            var key = decodeURIComponent(keyValue[0]);
+            var value = keyValue[1] || ''; //empty string if no value
+
+            //decode individual values
+            value = value.split(",");
+            for(var j=0; j < value.length; j++) {
+                value[j] = decodeURIComponent(value[j]);
+            }
+
+            //if there's only one value, do not return as array                    
+            if (value.length == 1) {
+                value = value[0];
+            }                
+            
+            parameters[key] = value;
+         }
+     }
+    return parameters;
+};
+
+/**
+ * Function: getArgs
+ * *Deprecated*.  Will be removed in 3.0.  Please use instead
+ *     <OpenLayers.Util.getParameters>
+ * 
+ * Parameters:
+ * url - {String} Optional url used to extract the query string.
+ *                If null, query string is taken from page location.
+ * 
+ * Returns:
+ * {Object} An object of key/value pairs from the query string.
+ */
+OpenLayers.Util.getArgs = function(url) {
+    OpenLayers.Console.warn(
+        OpenLayers.i18n(
+            "methodDeprecated", {'newMethod': 'OpenLayers.Util.getParameters'}
+        )
+    );
+    return OpenLayers.Util.getParameters(url);
+};
+
+/**
+ * Property: lastSeqID
+ * {Integer} The ever-incrementing count variable.
+ *           Used for generating unique ids.
+ */
+OpenLayers.Util.lastSeqID = 0;
+
+/**
+ * Function: createUniqueID
+ * Create a unique identifier for this session.  Each time this function
+ *     is called, a counter is incremented.  The return will be the optional
+ *     prefix (defaults to "id_") appended with the counter value.
+ * 
+ * Parameters:
+ * prefix {String} Optionsal string to prefix unique id. Default is "id_".
+ * 
+ * Returns:
+ * {String} A unique id string, built on the passed in prefix.
+ */
+OpenLayers.Util.createUniqueID = function(prefix) {
+    if (prefix == null) {
+        prefix = "id_";
+    }
+    OpenLayers.Util.lastSeqID += 1; 
+    return prefix + OpenLayers.Util.lastSeqID;        
+};
+
+/**
+ * Constant: INCHES_PER_UNIT
+ * {Object} Constant inches per unit -- borrowed from MapServer mapscale.c
+ * derivation of nautical miles from http://en.wikipedia.org/wiki/Nautical_mile
+ */
+OpenLayers.INCHES_PER_UNIT = { 
+    'inches': 1.0,
+    'ft': 12.0,
+    'mi': 63360.0,
+    'm': 39.3701,
+    'km': 39370.1,
+    'dd': 4374754,
+    'yd': 36
+};
+OpenLayers.INCHES_PER_UNIT["in"]= OpenLayers.INCHES_PER_UNIT.inches;
+OpenLayers.INCHES_PER_UNIT["degrees"] = OpenLayers.INCHES_PER_UNIT.dd;
+OpenLayers.INCHES_PER_UNIT["nmi"] = 1852 * OpenLayers.INCHES_PER_UNIT.m;
+
+/** 
+ * Constant: DOTS_PER_INCH
+ * {Integer} 72 (A sensible default)
+ */
+OpenLayers.DOTS_PER_INCH = 72;
+
+/**
+ * Function: normalzeScale
+ * 
+ * Parameters:
+ * scale - {float}
+ * 
+ * Returns:
+ * {Float} A normalized scale value, in 1 / X format. 
+ *         This means that if a value less than one ( already 1/x) is passed
+ *         in, it just returns scale directly. Otherwise, it returns 
+ *         1 / scale
+ */
+OpenLayers.Util.normalizeScale = function (scale) {
+    var normScale = (scale > 1.0) ? (1.0 / scale) 
+                                  : scale;
+    return normScale;
+};
+
+/**
+ * Function: getResolutionFromScale
+ * 
+ * Parameters:
+ * scale - {Float}
+ * units - {String} Index into OpenLayers.INCHES_PER_UNIT hashtable.
+ *                  Default is degrees
+ * 
+ * Returns:
+ * {Float} The corresponding resolution given passed-in scale and unit 
+ *         parameters.
+ */
+OpenLayers.Util.getResolutionFromScale = function (scale, units) {
+
+    if (units == null) {
+        units = "degrees";
+    }
+
+    var normScale = OpenLayers.Util.normalizeScale(scale);
+
+    var resolution = 1 / (normScale * OpenLayers.INCHES_PER_UNIT[units]
+                                    * OpenLayers.DOTS_PER_INCH);
+    return resolution;
+};
+
+/**
+ * Function: getScaleFromResolution
+ * 
+ * Parameters:
+ * resolution - {Float}
+ * units - {String} Index into OpenLayers.INCHES_PER_UNIT hashtable.
+ *                  Default is degrees
+ * 
+ * Returns:
+ * {Float} The corresponding scale given passed-in resolution and unit 
+ *         parameters.
+ */
+OpenLayers.Util.getScaleFromResolution = function (resolution, units) {
+
+    if (units == null) {
+        units = "degrees";
+    }
+
+    var scale = resolution * OpenLayers.INCHES_PER_UNIT[units] *
+                    OpenLayers.DOTS_PER_INCH;
+    return scale;
+};
+
+/**
+ * Function: safeStopPropagation
+ * *Deprecated*. This function has been deprecated. Please use directly 
+ *     <OpenLayers.Event.stop> passing 'true' as the 2nd 
+ *     argument (preventDefault)
+ * 
+ * Safely stop the propagation of an event *without* preventing
+ *   the default browser action from occurring.
+ * 
+ * Parameter:
+ * evt - {Event}
+ */
+OpenLayers.Util.safeStopPropagation = function(evt) {
+    OpenLayers.Event.stop(evt, true);
+};
+
+/**
+ * Function: pagePositon
+ * Calculates the position of an element on the page. 
+ *
+ * Parameters:
+ * forElement - {DOMElement}
+ * 
+ * Returns:
+ * {Array} two item array, L value then T value.
+ */
+OpenLayers.Util.pagePosition = function(forElement) {
+    var valueT = 0, valueL = 0;
+
+    var element = forElement;
+    var child = forElement;
+    while(element) {
+
+        if(element == document.body) {
+            // FIXME: IE, when passed 'window' as the forElement, treats it as
+            // equal to document.body, but window.style fails, so getStyle
+            // fails, so we are paranoid and check this here. This check should
+            // probably move into element.getStyle in 2.6.
+            if(child && child.style && 
+               OpenLayers.Element.getStyle(child, 'position') == 'absolute') {
+                break;
+            }
+        }
+        
+        valueT += element.offsetTop  || 0;
+        valueL += element.offsetLeft || 0;
+
+        child = element;
+        try {
+            // wrapping this in a try/catch because IE chokes on the offsetParent
+            element = element.offsetParent;
+        } catch(e) {
+            OpenLayers.Console.error(OpenLayers.i18n(
+                                  "pagePositionFailed",{'elemId':element.id}));
+            break;
+        }
+    }
+
+    element = forElement;
+    while(element) {
+        valueT -= element.scrollTop  || 0;
+        valueL -= element.scrollLeft || 0;
+        element = element.parentNode;
+    }
+    
+    return [valueL, valueT];
+};
+
+
+/** 
+ * Function: isEquivalentUrl
+ * Test two URLs for equivalence. 
+ * 
+ * Setting 'ignoreCase' allows for case-independent comparison.
+ * 
+ * Comparison is based on: 
+ *  - Protocol
+ *  - Host (evaluated without the port)
+ *  - Port (set 'ignorePort80' to ignore "80" values)
+ *  - Hash ( set 'ignoreHash' to disable)
+ *  - Pathname (for relative <-> absolute comparison) 
+ *  - Arguments (so they can be out of order)
+ *  
+ * Parameters:
+ * url1 - {String}
+ * url2 - {String}
+ * options - {Object} Allows for customization of comparison:
+ *                    'ignoreCase' - Default is True
+ *                    'ignorePort80' - Default is True
+ *                    'ignoreHash' - Default is True
+ *
+ * Returns:
+ * {Boolean} Whether or not the two URLs are equivalent
+ */
+OpenLayers.Util.isEquivalentUrl = function(url1, url2, options) {
+    options = options || {};
+
+    OpenLayers.Util.applyDefaults(options, {
+        ignoreCase: true,
+        ignorePort80: true,
+        ignoreHash: true
+    });
+
+    var urlObj1 = OpenLayers.Util.createUrlObject(url1, options);
+    var urlObj2 = OpenLayers.Util.createUrlObject(url2, options);
+
+    //compare all keys (host, port, etc)
+    for(var key in urlObj1) {
+        if (options.test) {
+            alert(key + "\n1:" + urlObj1[key] + "\n2:" + urlObj2[key]);
+        }
+        var val1 = urlObj1[key];
+        var val2 = urlObj2[key];
+        
+        switch(key) {
+            case "args":
+                //do nothing, they'll be treated below
+                break;
+            case "host":
+            case "port":
+            case "protocol":
+                if ((val1 == "") || (val2 == "")) {
+                    //these will be blank for relative urls, so no need to 
+                    // compare them here -- call break. 
+                    // 
+                    break;
+                } 
+                // otherwise continue with default compare
+                //
+            default: 
+                if ( (key != "args") && (urlObj1[key] != urlObj2[key]) ) {
+                    return false;
+                }
+                break;
+        }
+        
+    }
+
+    // compare search args - irrespective of order
+    for(var key in urlObj1.args) {
+        if(urlObj1.args[key] != urlObj2.args[key]) {
+            return false;
+        }
+        delete urlObj2.args[key];
+    }
+    // urlObj2 shouldn't have any args left
+    for(var key in urlObj2.args) {
+        return false;
+    }
+    
+    return true;
+};
+
+/**
+ * Function: createUrlObject
+ * 
+ * Parameters:
+ * url - {String}
+ * options - {Object} A hash of options.  Can be one of:
+ *            ignoreCase: lowercase url,
+ *            ignorePort80: don't include explicit port if port is 80,
+ *            ignoreHash: Don't include part of url after the hash (#).
+ * 
+ * Returns:
+ * {Object} An object with separate url, a, port, host, and args parsed out 
+ *          and ready for comparison
+ */
+OpenLayers.Util.createUrlObject = function(url, options) {
+    options = options || {};
+
+    var urlObject = {};
+  
+    if (options.ignoreCase) {
+        url = url.toLowerCase(); 
+    }
+
+    var a = document.createElement('a');
+    a.href = url;
+    
+  //host (without port)
+    urlObject.host = a.host;
+    var port = a.port;
+    if (port.length <= 0) {
+        var newHostLength = urlObject.host.length - (port.length);
+        urlObject.host = urlObject.host.substring(0, newHostLength); 
+    }
+
+  //protocol
+    urlObject.protocol = a.protocol;  
+
+  //port
+    urlObject.port = ((port == "80") && (options.ignorePort80)) ? "" : port;
+                                                                     
+  //hash
+    urlObject.hash = (options.ignoreHash) ? "" : a.hash;  
+    
+  //args
+    var queryString = a.search;
+    if (!queryString) {
+        var qMark = url.indexOf("?");
+        queryString = (qMark != -1) ? url.substr(qMark) : "";
+    }
+    urlObject.args = OpenLayers.Util.getParameters(queryString);
+
+
+  //pathname (this part allows for relative <-> absolute comparison)
+    if ( ((urlObject.protocol == "file:") && (url.indexOf("file:") != -1)) || 
+         ((urlObject.protocol != "file:") && (urlObject.host != "")) ) {
+
+        urlObject.pathname = a.pathname;  
+
+        //Test to see if the pathname includes the arguments (Opera)
+        var qIndex = urlObject.pathname.indexOf("?");
+        if (qIndex != -1) {
+            urlObject.pathname = urlObject.pathname.substring(0, qIndex);
+        }
+
+    } else {
+        var relStr = OpenLayers.Util.removeTail(url);
+
+        var backs = 0;
+        do {
+            var index = relStr.indexOf("../");
+
+            if (index == 0) {
+                backs++;
+                relStr = relStr.substr(3);
+            } else if (index >= 0) {
+                var prevChunk = relStr.substr(0,index - 1);
+                
+                var slash = prevChunk.indexOf("/");
+                prevChunk = (slash != -1) ? prevChunk.substr(0, slash +1)
+                                          : "";
+                
+                var postChunk = relStr.substr(index + 3);                
+                relStr = prevChunk + postChunk;
+            }
+        } while(index != -1)
+
+        var windowAnchor = document.createElement("a");
+        var windowUrl = window.location.href;
+        if (options.ignoreCase) {
+            windowUrl = windowUrl.toLowerCase();
+        }
+        windowAnchor.href = windowUrl;
+
+      //set protocol of window
+        urlObject.protocol = windowAnchor.protocol;
+
+        var splitter = (windowAnchor.pathname.indexOf("/") != -1) ? "/" : "\\";
+        var dirs = windowAnchor.pathname.split(splitter);
+        dirs.pop(); //remove filename
+        while ((backs > 0) && (dirs.length > 0)) {
+            dirs.pop();
+            backs--;
+        }
+        relStr = dirs.join("/") + "/"+ relStr;
+        urlObject.pathname = relStr;
+    }
+    
+    if ((urlObject.protocol == "file:") || (urlObject.protocol == "")) {
+        urlObject.host = "localhost";
+    }
+
+    return urlObject; 
+};
+ 
+/**
+ * Function: removeTail
+ * Takes a url and removes everything after the ? and #
+ * 
+ * Parameters:
+ * url - {String} The url to process
+ * 
+ * Returns:
+ * {String} The string with all queryString and Hash removed
+ */
+OpenLayers.Util.removeTail = function(url) {
+    var head = null;
+    
+    var qMark = url.indexOf("?");
+    var hashMark = url.indexOf("#");
+
+    if (qMark == -1) {
+        head = (hashMark != -1) ? url.substr(0,hashMark) : url;
+    } else {
+        head = (hashMark != -1) ? url.substr(0,Math.min(qMark, hashMark)) 
+                                  : url.substr(0, qMark);
+    }
+    return head;
+};
+
+
+/**
+ * Function: getBrowserName
+ * 
+ * Returns:
+ * {String} A string which specifies which is the current 
+ *          browser in which we are running. 
+ * 
+ *          Currently-supported browser detection and codes:
+ *           * 'opera' -- Opera
+ *           * 'msie'  -- Internet Explorer
+ *           * 'safari' -- Safari
+ *           * 'firefox' -- FireFox
+ *           * 'mozilla' -- Mozilla
+ * 
+ *          If we are unable to property identify the browser, we 
+ *           return an empty string.
+ */
+OpenLayers.Util.getBrowserName = function() {
+    var browserName = "";
+    
+    var ua = navigator.userAgent.toLowerCase();
+    if ( ua.indexOf( "opera" ) != -1 ) {
+        browserName = "opera";
+    } else if ( ua.indexOf( "msie" ) != -1 ) {
+        browserName = "msie";
+    } else if ( ua.indexOf( "safari" ) != -1 ) {
+        browserName = "safari";
+    } else if ( ua.indexOf( "mozilla" ) != -1 ) {
+        if ( ua.indexOf( "firefox" ) != -1 ) {
+            browserName = "firefox";
+        } else {
+            browserName = "mozilla";
+        }
+    }
+    
+    return browserName;
+};
+
+
+
+    
+/**
+ * Method: getRenderedDimensions
+ * Renders the contentHTML offscreen to determine actual dimensions for
+ *     popup sizing. As we need layout to determine dimensions the content
+ *     is rendered -9999px to the left and absolute to ensure the 
+ *     scrollbars do not flicker
+ *     
+ * Parameters:
+ * size - {<OpenLayers.Size>} If either the 'w' or 'h' properties is 
+ *     specified, we fix that dimension of the div to be measured. This is 
+ *     useful in the case where we have a limit in one dimension and must 
+ *     therefore meaure the flow in the other dimension.
+ * 
+ * Returns:
+ * {OpenLayers.Size}
+ */
+OpenLayers.Util.getRenderedDimensions = function(contentHTML, size) {
+    
+    var w = h = null;
+    
+    // create temp container div with restricted size
+    var container = document.createElement("div");
+    container.style.overflow= "";
+    container.style.position = "absolute";
+    container.style.left = "-9999px";
+        
+    //fix a dimension, if specified.
+    if (size) {
+        if (size.w) {
+            w = container.style.width = size.w;
+        } else if (size.h) {
+            h = container.style.height = size.h;
+        }
+    }
+    
+    // create temp content div and assign content
+    var content = document.createElement("div");
+    content.innerHTML = contentHTML;
+    
+    // add content to restricted container 
+    container.appendChild(content);
+    
+    // append container to body for rendering
+    document.body.appendChild(container);
+    
+    // calculate scroll width of content and add corners and shadow width
+    if (!w) {
+        w = parseInt(content.scrollWidth);
+    
+        // update container width to allow height to adjust
+        container.style.width = w + "px";
+    }        
+    // capture height and add shadow and corner image widths
+    if (!h) {
+        h = parseInt(content.scrollHeight);
+    }
+
+    // remove elements
+    container.removeChild(content);
+    document.body.removeChild(container);
+    
+    return new OpenLayers.Size(w, h);
+};
+
+/**
+ * APIFunction: getScrollbarWidth
+ * This function has been modified by the OpenLayers from the original version,
+ *     written by Matthew Eernisse and released under the Apache 2 
+ *     license here:
+ * 
+ *     http://www.fleegix.org/articles/2006/05/30/getting-the-scrollbar-width-in-pixels
+ * 
+ *     It has been modified simply to cache its value, since it is physically 
+ *     impossible that this code could ever run in more than one browser at 
+ *     once. 
+ * 
+ * Returns:
+ * {Integer}
+ */
+OpenLayers.Util.getScrollbarWidth = function() {
+    
+    var scrollbarWidth = OpenLayers.Util._scrollbarWidth;
+    
+    if (scrollbarWidth == null) {
+        var scr = null;
+        var inn = null;
+        var wNoScroll = 0;
+        var wScroll = 0;
+    
+        // Outer scrolling div
+        scr = document.createElement('div');
+        scr.style.position = 'absolute';
+        scr.style.top = '-1000px';
+        scr.style.left = '-1000px';
+        scr.style.width = '100px';
+        scr.style.height = '50px';
+        // Start with no scrollbar
+        scr.style.overflow = 'hidden';
+    
+        // Inner content div
+        inn = document.createElement('div');
+        inn.style.width = '100%';
+        inn.style.height = '200px';
+    
+        // Put the inner div in the scrolling div
+        scr.appendChild(inn);
+        // Append the scrolling div to the doc
+        document.body.appendChild(scr);
+    
+        // Width of the inner div sans scrollbar
+        wNoScroll = inn.offsetWidth;
+    
+        // Add the scrollbar
+        scr.style.overflow = 'scroll';
+        // Width of the inner div width scrollbar
+        wScroll = inn.offsetWidth;
+    
+        // Remove the scrolling div from the doc
+        document.body.removeChild(document.body.lastChild);
+    
+        // Pixel width of the scroller
+        OpenLayers.Util._scrollbarWidth = (wNoScroll - wScroll);
+        scrollbarWidth = OpenLayers.Util._scrollbarWidth;
+    }
+
+    return scrollbarWidth;
+};
+/* ======================================================================
+    Rico/Corner.js
+   ====================================================================== */
+
+/*
+ * This file has been edited substantially from the Rico-released
+ * version by the OpenLayers development team.
+ *  
+ *  Copyright 2005 Sabre Airline Solutions  
+ *  
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the
+ *  License. You may obtain a copy of the License at
+ *  
+ *         http://www.apache.org/licenses/LICENSE-2.0  
+ *  
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the * License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or
+ * implied. See the License for the specific language governing
+ * permissions * and limitations under the License.
+ *
+ */  
+OpenLayers.Rico = new Object();
+OpenLayers.Rico.Corner = {
+
+    round: function(e, options) {
+        e = OpenLayers.Util.getElement(e);
+        this._setOptions(options);
+
+        var color = this.options.color;
+        if ( this.options.color == "fromElement" ) {
+            color = this._background(e);
+        }
+        var bgColor = this.options.bgColor;
+        if ( this.options.bgColor == "fromParent" ) {
+            bgColor = this._background(e.offsetParent);
+        }
+        this._roundCornersImpl(e, color, bgColor);
+    },
+
+    /**   This is a helper function to change the background
+    *     color of <div> that has had Rico rounded corners added.
+    *
+    *     It seems we cannot just set the background color for the
+    *     outer <div> so each <span> element used to create the
+    *     corners must have its background color set individually.
+    *
+    * @param {DOM} theDiv - A child of the outer <div> that was
+    *                        supplied to the `round` method.
+    *
+    * @param {String} newColor - The new background color to use.
+    */
+    changeColor: function(theDiv, newColor) {
+   
+        theDiv.style.backgroundColor = newColor;
+
+        var spanElements = theDiv.parentNode.getElementsByTagName("span");
+        
+        for (var currIdx = 0; currIdx < spanElements.length; currIdx++) {
+            spanElements[currIdx].style.backgroundColor = newColor;
+        }
+    }, 
+
+
+    /**   This is a helper function to change the background
+    *     opacity of <div> that has had Rico rounded corners added.
+    *
+    *     See changeColor (above) for algorithm explanation
+    *
+    * @param {DOM} theDiv A child of the outer <div> that was
+    *                        supplied to the `round` method.
+    *
+    * @param {int} newOpacity The new opacity to use (0-1).
+    */
+    changeOpacity: function(theDiv, newOpacity) {
+   
+        var mozillaOpacity = newOpacity;
+        var ieOpacity = 'alpha(opacity=' + newOpacity * 100 + ')';
+        
+        theDiv.style.opacity = mozillaOpacity;
+        theDiv.style.filter = ieOpacity;
+
+        var spanElements = theDiv.parentNode.getElementsByTagName("span");
+        
+        for (var currIdx = 0; currIdx < spanElements.length; currIdx++) {
+            spanElements[currIdx].style.opacity = mozillaOpacity;
+            spanElements[currIdx].style.filter = ieOpacity;
+        }
+
+    },
+
+    /** this function takes care of redoing the rico cornering
+    *    
+    *    you can't just call updateRicoCorners() again and pass it a 
+    *    new options string. you have to first remove the divs that 
+    *    rico puts on top and below the content div.
+    *
+    * @param {DOM} theDiv - A child of the outer <div> that was
+    *                        supplied to the `round` method.
+    *
+    * @param {Object} options - list of options
+    */
+    reRound: function(theDiv, options) {
+
+        var topRico = theDiv.parentNode.childNodes[0];
+        //theDiv would be theDiv.parentNode.childNodes[1]
+        var bottomRico = theDiv.parentNode.childNodes[2];
+       
+        theDiv.parentNode.removeChild(topRico);
+        theDiv.parentNode.removeChild(bottomRico); 
+
+        this.round(theDiv.parentNode, options);
+    }, 
+
+   _roundCornersImpl: function(e, color, bgColor) {
+      if(this.options.border) {
+         this._renderBorder(e,bgColor);
+      }
+      if(this._isTopRounded()) {
+         this._roundTopCorners(e,color,bgColor);
+      }
+      if(this._isBottomRounded()) {
+         this._roundBottomCorners(e,color,bgColor);
+      }
+   },
+
+   _renderBorder: function(el,bgColor) {
+      var borderValue = "1px solid " + this._borderColor(bgColor);
+      var borderL = "border-left: "  + borderValue;
+      var borderR = "border-right: " + borderValue;
+      var style   = "style='" + borderL + ";" + borderR +  "'";
+      el.innerHTML = "<div " + style + ">" + el.innerHTML + "</div>";
+   },
+
+   _roundTopCorners: function(el, color, bgColor) {
+      var corner = this._createCorner(bgColor);
+      for(var i=0 ; i < this.options.numSlices ; i++ ) {
+         corner.appendChild(this._createCornerSlice(color,bgColor,i,"top"));
+      }
+      el.style.paddingTop = 0;
+      el.insertBefore(corner,el.firstChild);
+   },
+
+   _roundBottomCorners: function(el, color, bgColor) {
+      var corner = this._createCorner(bgColor);
+      for(var i=(this.options.numSlices-1) ; i >= 0 ; i-- ) {
+         corner.appendChild(this._createCornerSlice(color,bgColor,i,"bottom"));
+      }
+      el.style.paddingBottom = 0;
+      el.appendChild(corner);
+   },
+
+   _createCorner: function(bgColor) {
+      var corner = document.createElement("div");
+      corner.style.backgroundColor = (this._isTransparent() ? "transparent" : bgColor);
+      return corner;
+   },
+
+   _createCornerSlice: function(color,bgColor, n, position) {
+      var slice = document.createElement("span");
+
+      var inStyle = slice.style;
+      inStyle.backgroundColor = color;
+      inStyle.display  = "block";
+      inStyle.height   = "1px";
+      inStyle.overflow = "hidden";
+      inStyle.fontSize = "1px";
+
+      var borderColor = this._borderColor(color,bgColor);
+      if ( this.options.border && n == 0 ) {
+         inStyle.borderTopStyle    = "solid";
+         inStyle.borderTopWidth    = "1px";
+         inStyle.borderLeftWidth   = "0px";
+         inStyle.borderRightWidth  = "0px";
+         inStyle.borderBottomWidth = "0px";
+         inStyle.height            = "0px"; // assumes css compliant box model
+         inStyle.borderColor       = borderColor;
+      }
+      else if(borderColor) {
+         inStyle.borderColor = borderColor;
+         inStyle.borderStyle = "solid";
+         inStyle.borderWidth = "0px 1px";
+      }
+
+      if ( !this.options.compact && (n == (this.options.numSlices-1)) ) {
+         inStyle.height = "2px";
+      }
+      this._setMargin(slice, n, position);
+      this._setBorder(slice, n, position);
+      return slice;
+   },
+
+   _setOptions: function(options) {
+      this.options = {
+         corners : "all",
+         color   : "fromElement",
+         bgColor : "fromParent",
+         blend   : true,
+         border  : false,
+         compact : false
+      };
+      OpenLayers.Util.extend(this.options, options || {});
+
+      this.options.numSlices = this.options.compact ? 2 : 4;
+      if ( this._isTransparent() ) {
+         this.options.blend = false;
+      }
+   },
+
+   _whichSideTop: function() {
+      if ( this._hasString(this.options.corners, "all", "top") ) {
+         return "";
+      }
+      if ( this.options.corners.indexOf("tl") >= 0 && this.options.corners.indexOf("tr") >= 0 ) {
+         return "";
+      }
+      if (this.options.corners.indexOf("tl") >= 0) {
+         return "left";
+      } else if (this.options.corners.indexOf("tr") >= 0) {
+          return "right";
+      }
+      return "";
+   },
+
+   _whichSideBottom: function() {
+      if ( this._hasString(this.options.corners, "all", "bottom") ) {
+         return "";
+      }
+      if ( this.options.corners.indexOf("bl")>=0 && this.options.corners.indexOf("br")>=0 ) {
+         return "";
+      }
+
+      if(this.options.corners.indexOf("bl") >=0) {
+         return "left";
+      } else if(this.options.corners.indexOf("br")>=0) {
+         return "right";
+      }
+      return "";
+   },
+
+   _borderColor : function(color,bgColor) {
+      if ( color == "transparent" ) {
+         return bgColor;
+      } else if ( this.options.border ) {
+         return this.options.border;
+      } else if ( this.options.blend ) {
+         return this._blend( bgColor, color );
+      } else {
+         return "";
+      }
+   },
+
+
+   _setMargin: function(el, n, corners) {
+      var marginSize = this._marginSize(n);
+      var whichSide = corners == "top" ? this._whichSideTop() : this._whichSideBottom();
+
+      if ( whichSide == "left" ) {
+         el.style.marginLeft = marginSize + "px"; el.style.marginRight = "0px";
+      }
+      else if ( whichSide == "right" ) {
+         el.style.marginRight = marginSize + "px"; el.style.marginLeft  = "0px";
+      }
+      else {
+         el.style.marginLeft = marginSize + "px"; el.style.marginRight = marginSize + "px";
+      }
+   },
+
+   _setBorder: function(el,n,corners) {
+      var borderSize = this._borderSize(n);
+      var whichSide = corners == "top" ? this._whichSideTop() : this._whichSideBottom();
+      if ( whichSide == "left" ) {
+         el.style.borderLeftWidth = borderSize + "px"; el.style.borderRightWidth = "0px";
+      }
+      else if ( whichSide == "right" ) {
+         el.style.borderRightWidth = borderSize + "px"; el.style.borderLeftWidth  = "0px";
+      }
+      else {
+         el.style.borderLeftWidth = borderSize + "px"; el.style.borderRightWidth = borderSize + "px";
+      }
+      if (this.options.border != false) {
+        el.style.borderLeftWidth = borderSize + "px"; el.style.borderRightWidth = borderSize + "px";
+      }
+   },
+
+   _marginSize: function(n) {
+      if ( this._isTransparent() ) {
+         return 0;
+      }
+      var marginSizes          = [ 5, 3, 2, 1 ];
+      var blendedMarginSizes   = [ 3, 2, 1, 0 ];
+      var compactMarginSizes   = [ 2, 1 ];
+      var smBlendedMarginSizes = [ 1, 0 ];
+
+      if ( this.options.compact && this.options.blend ) {
+         return smBlendedMarginSizes[n];
+      } else if ( this.options.compact ) {
+         return compactMarginSizes[n];
+      } else if ( this.options.blend ) {
+         return blendedMarginSizes[n];
+      } else {
+         return marginSizes[n];
+      }
+   },
+
+   _borderSize: function(n) {
+      var transparentBorderSizes = [ 5, 3, 2, 1 ];
+      var blendedBorderSizes     = [ 2, 1, 1, 1 ];
+      var compactBorderSizes     = [ 1, 0 ];
+      var actualBorderSizes      = [ 0, 2, 0, 0 ];
+
+      if ( this.options.compact && (this.options.blend || this._isTransparent()) ) {
+         return 1;
+      } else if ( this.options.compact ) {
+         return compactBorderSizes[n];
+      } else if ( this.options.blend ) {
+         return blendedBorderSizes[n];
+      } else if ( this.options.border ) {
+         return actualBorderSizes[n];
+      } else if ( this._isTransparent() ) {
+         return transparentBorderSizes[n];
+      }
+      return 0;
+   },
+
+   _hasString: function(str) { for(var i=1 ; i<arguments.length ; i++) if (str.indexOf(arguments[i]) >= 0) { return true; } return false; },
+   _blend: function(c1, c2) { var cc1 = OpenLayers.Rico.Color.createFromHex(c1); cc1.blend(OpenLayers.Rico.Color.createFromHex(c2)); return cc1; },
+   _background: function(el) { try { return OpenLayers.Rico.Color.createColorFromBackground(el).asHex(); } catch(err) { return "#ffffff"; } },
+   _isTransparent: function() { return this.options.color == "transparent"; },
+   _isTopRounded: function() { return this._hasString(this.options.corners, "all", "top", "tl", "tr"); },
+   _isBottomRounded: function() { return this._hasString(this.options.corners, "all", "bottom", "bl", "br"); },
+   _hasSingleTextChild: function(el) { return el.childNodes.length == 1 && el.childNodes[0].nodeType == 3; }
+};
+/* ======================================================================
+    OpenLayers/Ajax.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+OpenLayers.ProxyHost = "";
+//OpenLayers.ProxyHost = "examples/proxy.cgi?url=";
+
+/**
+ * Ajax reader for OpenLayers
+ *
+ *  @uri url to do remote XML http get
+ *  @param {String} 'get' format params (x=y&a=b...)
+ *  @who object to handle callbacks for this request
+ *  @complete  the function to be called on success 
+ *  @failure  the function to be called on failure
+ *  
+ *   example usage from a caller:
+ *  
+ *     caps: function(request) {
+ *      -blah-  
+ *     },
+ *  
+ *     OpenLayers.loadURL(url,params,this,caps);
+ *
+ * Notice the above example does not provide an error handler; a default empty
+ * handler is provided which merely logs the error if a failure handler is not 
+ * supplied
+ *
+ */
+
+
+/** 
+* @param {} request
+*/
+OpenLayers.nullHandler = function(request) {
+    alert(OpenLayers.i18n("unhandledRequest", {'statusText':request.statusText}));
+};
+
+/** 
+ * Function: loadURL
+ * Background load a document.
+ *
+ * Parameters:
+ * uri - {String} URI of source doc
+ * params - {String} Params on get (doesnt seem to work)
+ * caller - {Object} object which gets callbacks
+ * onComplete - {Function} Optional callback for success.  The callback
+ *     will be called with this set to caller and will receive the request
+ *     object as an argument.
+ * onFailure - {Function} Optional callback for failure.  In the event of
+ *     a failure, the callback will be called with this set to caller and will
+ *     receive the request object as an argument.
+ *
+ * Returns:
+ * {XMLHttpRequest}  The request object.  To abort loading, call
+ *     request.abort().
+ */
+OpenLayers.loadURL = function(uri, params, caller,
+                                  onComplete, onFailure) {
+
+    var success = (onComplete) ? OpenLayers.Function.bind(onComplete, caller)
+                                : OpenLayers.nullHandler;
+
+    var failure = (onFailure) ? OpenLayers.Function.bind(onFailure, caller)
+                           : OpenLayers.nullHandler;
+
+    // from prototype.js
+    var request = new OpenLayers.Ajax.Request(
+        uri, 
+        {
+            method: 'get', 
+            parameters: params,
+            onComplete: success, 
+            onFailure: failure
+        }
+    );
+    return request.transport;
+};
+
+/** 
+ * Function: parseXMLString
+ * Parse XML into a doc structure
+ * 
+ * Parameters:
+ * text - {String} 
+ * 
+ * Returns:
+ * {?} Parsed AJAX Responsev
+ */
+OpenLayers.parseXMLString = function(text) {
+
+    //MS sucks, if the server is bad it dies
+    var index = text.indexOf('<');
+    if (index > 0) {
+        text = text.substring(index);
+    }
+
+    var ajaxResponse = OpenLayers.Util.Try(
+        function() {
+            var xmldom = new ActiveXObject('Microsoft.XMLDOM');
+            xmldom.loadXML(text);
+            return xmldom;
+        },
+        function() {
+            return new DOMParser().parseFromString(text, 'text/xml');
+        },
+        function() {
+            var req = new XMLHttpRequest();
+            req.open("GET", "data:" + "text/xml" +
+                     ";charset=utf-8," + encodeURIComponent(text), false);
+            if (req.overrideMimeType) {
+                req.overrideMimeType("text/xml");
+            }
+            req.send(null);
+            return req.responseXML;
+        }
+    );
+
+    return ajaxResponse;
+};
+
+
+/**
+ * Namespace: OpenLayers.Ajax
+ */
+OpenLayers.Ajax = {
+
+    /**
+     * Method: emptyFunction
+     */
+    emptyFunction: function () {},
+
+    /**
+     * Method: getTransport
+     * 
+     * Returns: 
+     * {Object} Transport mechanism for whichever browser we're in, or false if
+     *          none available.
+     */
+    getTransport: function() {
+        return OpenLayers.Util.Try(
+            function() {return new XMLHttpRequest();},
+            function() {return new ActiveXObject('Msxml2.XMLHTTP');},
+            function() {return new ActiveXObject('Microsoft.XMLHTTP');}
+        ) || false;
+    },
+
+    /**
+     * Property: activeRequestCount
+     * {Integer}
+     */
+    activeRequestCount: 0
+};
+
+/**
+ * Namespace: OpenLayers.Ajax.Responders
+ * {Object}
+ */
+OpenLayers.Ajax.Responders = {
+  
+    /**
+     * Property: responders
+     * {Array}
+     */
+    responders: [],
+
+    /**
+     * Method: register
+     *  
+     * Parameters:
+     * responderToAdd - {?}
+     */
+    register: function(responderToAdd) {
+        for (var i = 0; i < this.responders.length; i++){
+            if (responderToAdd == this.responders[i]){
+                return;
+            }
+        }
+        this.responders.push(responderToAdd);
+    },
+
+    /**
+     * Method: unregister
+     *  
+     * Parameters:
+     * responderToRemove - {?}
+     */
+    unregister: function(responderToRemove) {
+        OpenLayers.Util.removeItem(this.reponders, responderToRemove);
+    },
+
+    /**
+     * Method: dispatch
+     * 
+     * Parameters:
+     * callback - {?}
+     * request - {?}
+     * transport - {?}
+     */
+    dispatch: function(callback, request, transport) {
+        var responder;
+        for (var i = 0; i < this.responders.length; i++) {
+            responder = this.responders[i];
+     
+            if (responder[callback] && 
+                typeof responder[callback] == 'function') {
+                try {
+                    responder[callback].apply(responder, 
+                                              [request, transport]);
+                } catch (e) {}
+            }
+        }
+    }
+};
+
+OpenLayers.Ajax.Responders.register({
+    /** 
+     * Function: onCreate
+     */
+    onCreate: function() {
+        OpenLayers.Ajax.activeRequestCount++;
+    },
+
+    /**
+     * Function: onComplete
+     */
+     onComplete: function() {
+         OpenLayers.Ajax.activeRequestCount--;
+     }
+});
+
+/**
+ * Class: OpenLayers.Ajax.Base
+ */
+OpenLayers.Ajax.Base = OpenLayers.Class({
+      
+    /**
+     * Constructor: OpenLayers.Ajax.Base
+     * 
+     * Parameters: 
+     * options - {Object}
+     */
+    initialize: function(options) {
+        this.options = {
+            method:       'post',
+            asynchronous: true,
+            contentType:  'application/xml',
+            parameters:   ''
+        };
+        OpenLayers.Util.extend(this.options, options || {});
+        
+        this.options.method = this.options.method.toLowerCase();
+        
+        if (typeof this.options.parameters == 'string') {
+            this.options.parameters = 
+                OpenLayers.Util.getParameters(this.options.parameters);
+        }
+    }
+});
+
+/**
+ * Class: OpenLayers.Ajax.Request
+ *
+ * Inherit:
+ *  - <OpenLayers.Ajax.Base>
+ */
+OpenLayers.Ajax.Request = OpenLayers.Class(OpenLayers.Ajax.Base, {
+
+    /**
+     * Property: _complete
+     *
+     * {Boolean}
+     */
+    _complete: false,
+      
+    /**
+     * Constructor: OpenLayers.Ajax.Request
+     * 
+     * Parameters: 
+     * url - {String}
+     * options - {Object}
+     */
+    initialize: function(url, options) {
+        OpenLayers.Ajax.Base.prototype.initialize.apply(this, [options]);
+        
+        if (OpenLayers.ProxyHost && OpenLayers.String.startsWith(url, "http")) {
+            url = OpenLayers.ProxyHost + encodeURIComponent(url);
+        }
+        
+        this.transport = OpenLayers.Ajax.getTransport();
+        this.request(url);
+    },
+
+    /**
+     * Method: request
+     * 
+     * Parameters:
+     * url - {String}
+     */
+    request: function(url) {
+        this.url = url;
+        this.method = this.options.method;
+        var params = OpenLayers.Util.extend({}, this.options.parameters);
+        
+        if (this.method != 'get' && this.method != 'post') {
+            // simulate other verbs over post
+            params['_method'] = this.method;
+            this.method = 'post';
+        }
+
+        this.parameters = params;        
+        
+        if (params = OpenLayers.Util.getParameterString(params)) {
+            // when GET, append parameters to URL
+            if (this.method == 'get') {
+                this.url += ((this.url.indexOf('?') > -1) ? '&' : '?') + params;
+            } else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) {
+                params += '&_=';
+            }
+        }
+        try {
+            var response = new OpenLayers.Ajax.Response(this);
+            if (this.options.onCreate) {
+                this.options.onCreate(response);
+            }
+            
+            OpenLayers.Ajax.Responders.dispatch('onCreate', 
+                                                this, 
+                                                response);
+    
+            this.transport.open(this.method.toUpperCase(), 
+                                this.url,
+                                this.options.asynchronous);
+    
+            if (this.options.asynchronous) {
+                window.setTimeout(
+                    OpenLayers.Function.bind(this.respondToReadyState, this, 1),
+                    10);
+            }
+            
+            this.transport.onreadystatechange = 
+                OpenLayers.Function.bind(this.onStateChange, this);    
+            this.setRequestHeaders();
+    
+            this.body =  this.method == 'post' ?
+                (this.options.postBody || params) : null;
+            this.transport.send(this.body);
+    
+            // Force Firefox to handle ready state 4 for synchronous requests
+            if (!this.options.asynchronous && 
+                this.transport.overrideMimeType) {
+                this.onStateChange();
+            }
+        } catch (e) {
+            this.dispatchException(e);
+        }
+    },
+
+    /**
+     * Method: onStateChange
+     */
+    onStateChange: function() {
+        var readyState = this.transport.readyState;
+        if (readyState > 1 && !((readyState == 4) && this._complete)) {
+            this.respondToReadyState(this.transport.readyState);
+        }
+    },
+     
+    /**
+     * Method: setRequestHeaders
+     */
+    setRequestHeaders: function() {
+        var headers = {
+            'X-Requested-With': 'XMLHttpRequest',
+            'Accept': 'text/javascript, text/html, application/xml, text/xml, */*',
+            'OpenLayers': true
+        };
+
+        if (this.method == 'post') {
+            headers['Content-type'] = this.options.contentType +
+                (this.options.encoding ? '; charset=' + this.options.encoding : '');
+    
+            /* Force "Connection: close" for older Mozilla browsers to work
+             * around a bug where XMLHttpRequest sends an incorrect
+             * Content-length header. See Mozilla Bugzilla #246651.
+             */
+            if (this.transport.overrideMimeType &&
+                (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005) {
+                headers['Connection'] = 'close';
+            }
+        }
+        // user-defined headers
+        if (typeof this.options.requestHeaders == 'object') {    
+            var extras = this.options.requestHeaders;
+            
+            if (typeof extras.push == 'function') {
+                for (var i = 0, length = extras.length; i < length; i += 2) {
+                    headers[extras[i]] = extras[i+1];
+                }
+            } else {
+                for (var i in extras) {
+                    headers[i] = pair[i];
+                }
+            }
+        }
+        
+        for (var name in headers) {
+            this.transport.setRequestHeader(name, headers[name]);
+        }
+    },
+    
+    /**
+     * Method: success
+     *
+     * Returns:
+     * {Boolean} - 
+     */
+    success: function() {
+        var status = this.getStatus();
+        return !status || (status >=200 && status < 300);
+    },
+    
+    /**
+     * Method: getStatus
+     *
+     * Returns:
+     * {Integer} - Status
+     */
+    getStatus: function() {
+        try {
+            return this.transport.status || 0;
+        } catch (e) {
+            return 0;
+        }
+    },
+
+    /**
+     * Method: respondToReadyState
+     *
+     * Parameters:
+     * readyState - {?}
+     */
+    respondToReadyState: function(readyState) {
+        var state = OpenLayers.Ajax.Request.Events[readyState];
+        var response = new OpenLayers.Ajax.Response(this);
+    
+        if (state == 'Complete') {
+            try {
+                this._complete = true;
+                (this.options['on' + response.status] ||
+                    this.options['on' + (this.success() ? 'Success' : 'Failure')] ||
+                    OpenLayers.Ajax.emptyFunction)(response);
+            } catch (e) {
+                this.dispatchException(e);
+            }
+    
+            var contentType = response.getHeader('Content-type');
+        }
+    
+        try {
+            (this.options['on' + state] || 
+             OpenLayers.Ajax.emptyFunction)(response);
+             OpenLayers.Ajax.Responders.dispatch('on' + state, 
+                                                 this, 
+                                                 response);
+        } catch (e) {
+            this.dispatchException(e);
+        }
+    
+        if (state == 'Complete') {
+            // avoid memory leak in MSIE: clean up
+            this.transport.onreadystatechange = OpenLayers.Ajax.emptyFunction;
+        }
+    },
+    
+    /**
+     * Method: getHeader
+     * 
+     * Parameters:
+     * name - {String} Header name
+     *
+     * Returns:
+     * {?} - response header for the given name
+     */
+    getHeader: function(name) {
+        try {
+            return this.transport.getResponseHeader(name);
+        } catch (e) {
+            return null;
+        }
+    },
+
+    /**
+     * Method: dispatchException
+     * If the optional onException function is set, execute it
+     * and then dispatch the call to any other listener registered
+     * for onException.
+     * 
+     * If no optional onException function is set, we suspect that
+     * the user may have also not used
+     * OpenLayers.Ajax.Responders.register to register a listener
+     * for the onException call.  To make sure that something
+     * gets done with this exception, only dispatch the call if there
+     * are listeners.
+     *
+     * If you explicitly want to swallow exceptions, set
+     * request.options.onException to an empty function (function(){})
+     * or register an empty function with <OpenLayers.Ajax.Responders>
+     * for onException.
+     * 
+     * Parameters:
+     * exception - {?}
+     */
+    dispatchException: function(exception) {
+        var handler = this.options.onException;
+        if(handler) {
+            // call options.onException and alert any other listeners
+            handler(this, exception);
+            OpenLayers.Ajax.Responders.dispatch('onException', this, exception);
+        } else {
+            // check if there are any other listeners
+            var listener = false;
+            var responders = OpenLayers.Ajax.Responders.responders;
+            for (var i = 0; i < responders.length; i++) {
+                if(responders[i].onException) {
+                    listener = true;
+                    break;
+                }
+            }
+            if(listener) {
+                // call all listeners
+                OpenLayers.Ajax.Responders.dispatch('onException', this, exception);
+            } else {
+                // let the exception through
+                throw exception;
+            }
+        }
+    }
+});
+
+/** 
+ * Property: Events
+ * {Array(String)}
+ */
+OpenLayers.Ajax.Request.Events =
+  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];
+
+/**
+ * Class: OpenLayers.Ajax.Response
+ */
+OpenLayers.Ajax.Response = OpenLayers.Class({
+
+    /**
+     * Property: status
+     *
+     * {Integer}
+     */
+    status: 0,
+    
+
+    /**
+     * Property: statusText
+     *
+     * {String}
+     */
+    statusText: '',
+      
+    /**
+     * Constructor: OpenLayers.Ajax.Response
+     * 
+     * Parameters: 
+     * request - {Object}
+     */
+    initialize: function(request) {
+        this.request = request;
+        var transport = this.transport = request.transport,
+            readyState = this.readyState = transport.readyState;
+        
+        if ((readyState > 2 &&
+            !(!!(window.attachEvent && !window.opera))) ||
+            readyState == 4) {
+            this.status       = this.getStatus();
+            this.statusText   = this.getStatusText();
+            this.responseText = transport.responseText == null ?
+                '' : String(transport.responseText);
+        }
+        
+        if(readyState == 4) {
+            var xml = transport.responseXML;
+            this.responseXML  = xml === undefined ? null : xml;
+        }
+    },
+    
+    /**
+     * Method: getStatus
+     */
+    getStatus: OpenLayers.Ajax.Request.prototype.getStatus,
+    
+    /**
+     * Method: getStatustext
+     *
+     * Returns:
+     * {String} - statusText
+     */
+    getStatusText: function() {
+        try {
+            return this.transport.statusText || '';
+        } catch (e) {
+            return '';
+        }
+    },
+    
+    /**
+     * Method: getHeader
+     */
+    getHeader: OpenLayers.Ajax.Request.prototype.getHeader,
+    
+    /** 
+     * Method: getResponseHeader
+     *
+     * Returns:
+     * {?} - response header for given name
+     */
+    getResponseHeader: function(name) {
+        return this.transport.getResponseHeader(name);
+    }
+});
+
+
+/**
+ * Function: getElementsByTagNameNS
+ * 
+ * Parameters:
+ * parentnode - {?}
+ * nsuri - {?}
+ * nsprefix - {?}
+ * tagname - {?}
+ * 
+ * Returns:
+ * {?}
+ */
+OpenLayers.Ajax.getElementsByTagNameNS  = function(parentnode, nsuri, 
+                                                   nsprefix, tagname) {
+    var elem = null;
+    if (parentnode.getElementsByTagNameNS) {
+        elem = parentnode.getElementsByTagNameNS(nsuri, tagname);
+    } else {
+        elem = parentnode.getElementsByTagName(nsprefix + ':' + tagname);
+    }
+    return elem;
+};
+
+
+/**
+ * Function: serializeXMLToString
+ * Wrapper function around XMLSerializer, which doesn't exist/work in
+ *     IE/Safari. We need to come up with a way to serialize in those browser:
+ *     for now, these browsers will just fail. #535, #536
+ *
+ * Parameters: 
+ * xmldom {XMLNode} xml dom to serialize
+ * 
+ * Returns:
+ * {?}
+ */
+OpenLayers.Ajax.serializeXMLToString = function(xmldom) {
+    var serializer = new XMLSerializer();
+    var data = serializer.serializeToString(xmldom);
+    return data;
+};
+/* ======================================================================
+    OpenLayers/BaseTypes/Bounds.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * Class: OpenLayers.Bounds
+ * Instances of this class represent bounding boxes.  Data stored as left,
+ * bottom, right, top floats. All values are initialized to null, however,
+ * you should make sure you set them before using the bounds for anything.
+ * 
+ * Possible use case:
+ * > bounds = new OpenLayers.Bounds();
+ * > bounds.extend(new OpenLayers.LonLat(4,5));
+ * > bounds.extend(new OpenLayers.LonLat(5,6));
+ * > bounds.toBBOX(); // returns 4,5,5,6
+ */
+OpenLayers.Bounds = OpenLayers.Class({
+
+    /**
+     * Property: left
+     * {Number}
+     */
+    left: null,
+
+    /**
+     * Property: bottom
+     * {Number}
+     */
+    bottom: null,
+
+    /**
+     * Property: right
+     * {Number}
+     */
+    right: null,
+
+    /**
+     * Property: top
+     * {Number}
+     */
+    top: null,    
+
+    /**
+     * Constructor: OpenLayers.Bounds
+     * Construct a new bounds object.
+     *
+     * Parameters:
+     * left - {Number} The left bounds of the box.  Note that for width
+     *        calculations, this is assumed to be less than the right value.
+     * bottom - {Number} The bottom bounds of the box.  Note that for height
+     *          calculations, this is assumed to be more than the top value.
+     * right - {Number} The right bounds.
+     * top - {Number} The top bounds.
+     */
+    initialize: function(left, bottom, right, top) {
+        if (left != null) {
+            this.left = parseFloat(left);
+        }
+        if (bottom != null) {
+            this.bottom = parseFloat(bottom);
+        }
+        if (right != null) {
+            this.right = parseFloat(right);
+        }
+        if (top != null) {
+            this.top = parseFloat(top);
+        }
+    },
+
+    /**
+     * Method: clone
+     * Create a cloned instance of this bounds.
+     *
+     * Returns:
+     * {<OpenLayers.Bounds>} A fresh copy of the bounds
+     */
+    clone:function() {
+        return new OpenLayers.Bounds(this.left, this.bottom, 
+                                     this.right, this.top);
+    },
+
+    /**
+     * Method: equals
+     * Test a two bounds for equivalence.
+     *
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     *
+     * Returns:
+     * {Boolean} The passed-in bounds object has the same left,
+     *           right, top, bottom components as this.  Note that if bounds 
+     *           passed in is null, returns false.
+     */
+    equals:function(bounds) {
+        var equals = false;
+        if (bounds != null) {
+            equals = ((this.left == bounds.left) && 
+                      (this.right == bounds.right) &&
+                      (this.top == bounds.top) && 
+                      (this.bottom == bounds.bottom));
+        }
+        return equals;
+    },
+
+    /** 
+     * APIMethod: toString
+     * 
+     * Returns:
+     * {String} String representation of bounds object. 
+     *          (ex.<i>"left-bottom=(5,42) right-top=(10,45)"</i>)
+     */
+    toString:function() {
+        return ( "left-bottom=(" + this.left + "," + this.bottom + ")"
+                 + " right-top=(" + this.right + "," + this.top + ")" );
+    },
+
+    /**
+     * APIMethod: toArray
+     *
+     * Returns:
+     * {Array} array of left, bottom, right, top
+     */
+    toArray: function() {
+        return [this.left, this.bottom, this.right, this.top];
+    },    
+
+    /** 
+     * APIMethod: toBBOX
+     * 
+     * Parameters:
+     * decimal - {Integer} How many significant digits in the bbox coords?
+     *                     Default is 6
+     * 
+     * Returns:
+     * {String} Simple String representation of bounds object.
+     *          (ex. <i>"5,42,10,45"</i>)
+     */
+    toBBOX:function(decimal) {
+        if (decimal== null) {
+            decimal = 6; 
+        }
+        var mult = Math.pow(10, decimal);
+        var bbox = Math.round(this.left * mult) / mult + "," + 
+                   Math.round(this.bottom * mult) / mult + "," + 
+                   Math.round(this.right * mult) / mult + "," + 
+                   Math.round(this.top * mult) / mult;
+
+        return bbox;
+    },
+    
+    /**
+     * APIMethod: toGeometry
+     * Create a new polygon geometry based on this bounds.
+     *
+     * Returns:
+     * {<OpenLayers.Geometry.Polygon>} A new polygon with the coordinates
+     *     of this bounds.
+     */
+    toGeometry: function() {
+        return new OpenLayers.Geometry.Polygon([
+            new OpenLayers.Geometry.LinearRing([
+                new OpenLayers.Geometry.Point(this.left, this.bottom),
+                new OpenLayers.Geometry.Point(this.right, this.bottom),
+                new OpenLayers.Geometry.Point(this.right, this.top),
+                new OpenLayers.Geometry.Point(this.left, this.top)
+            ])
+        ]);
+    },
+    
+    /**
+     * APIMethod: getWidth
+     * 
+     * Returns:
+     * {Float} The width of the bounds
+     */
+    getWidth:function() {
+        return (this.right - this.left);
+    },
+
+    /**
+     * APIMethod: getHeight
+     * 
+     * Returns:
+     * {Float} The height of the bounds (top minus bottom).
+     */
+    getHeight:function() {
+        return (this.top - this.bottom);
+    },
+
+    /**
+     * APIMethod: getSize
+     * 
+     * Returns:
+     * {<OpenLayers.Size>} The size of the box.
+     */
+    getSize:function() {
+        return new OpenLayers.Size(this.getWidth(), this.getHeight());
+    },
+
+    /**
+     * APIMethod: getCenterPixel
+     * 
+     * Returns:
+     * {<OpenLayers.Pixel>} The center of the bounds in pixel space.
+     */
+    getCenterPixel:function() {
+        return new OpenLayers.Pixel( (this.left + this.right) / 2,
+                                     (this.bottom + this.top) / 2);
+    },
+
+    /**
+     * APIMethod: getCenterLonLat
+     * 
+     * Returns:
+     * {<OpenLayers.LonLat>} The center of the bounds in map space.
+     */
+    getCenterLonLat:function() {
+        return new OpenLayers.LonLat( (this.left + this.right) / 2,
+                                      (this.bottom + this.top) / 2);
+    },
+
+    /**
+     * APIMethod: add
+     * 
+     * Parameters:
+     * x - {Float}
+     * y - {Float}
+     * 
+     * Returns:
+     * {<OpenLayers.Bounds>} A new bounds whose coordinates are the same as
+     *     this, but shifted by the passed-in x and y values.
+     */
+    add:function(x, y) {
+        if ( (x == null) || (y == null) ) {
+            var msg = OpenLayers.i18n("boundsAddError");
+            OpenLayers.Console.error(msg);
+            return null;
+        }
+        return new OpenLayers.Bounds(this.left + x, this.bottom + y,
+                                     this.right + x, this.top + y);
+    },
+    
+    /**
+     * APIMethod: extend
+     * Extend the bounds to include the point, lonlat, or bounds specified.
+     *     Note, this function assumes that left < right and bottom < top.
+     * 
+     * Parameters: 
+     * object - {Object} Can be LonLat, Point, or Bounds
+     */
+    extend:function(object) {
+        var bounds = null;
+        if (object) {
+            switch(object.CLASS_NAME) {
+                case "OpenLayers.LonLat":    
+                    bounds = new OpenLayers.Bounds(object.lon, object.lat,
+                                                    object.lon, object.lat);
+                    break;
+                case "OpenLayers.Geometry.Point":
+                    bounds = new OpenLayers.Bounds(object.x, object.y,
+                                                    object.x, object.y);
+                    break;
+                    
+                case "OpenLayers.Bounds":    
+                    bounds = object;
+                    break;
+            }
+    
+            if (bounds) {
+                if ( (this.left == null) || (bounds.left < this.left)) {
+                    this.left = bounds.left;
+                }
+                if ( (this.bottom == null) || (bounds.bottom < this.bottom) ) {
+                    this.bottom = bounds.bottom;
+                } 
+                if ( (this.right == null) || (bounds.right > this.right) ) {
+                    this.right = bounds.right;
+                }
+                if ( (this.top == null) || (bounds.top > this.top) ) { 
+                    this.top = bounds.top;
+                }
+            }
+        }
+    },
+
+    /**
+     * APIMethod: containsLonLat
+     * 
+     * Parameters:
+     * ll - {<OpenLayers.LonLat>}
+     * inclusive - {Boolean} Whether or not to include the border.
+     *     Default is true.
+     *
+     * Returns:
+     * {Boolean} The passed-in lonlat is within this bounds.
+     */
+    containsLonLat:function(ll, inclusive) {
+        return this.contains(ll.lon, ll.lat, inclusive);
+    },
+
+    /**
+     * APIMethod: containsPixel
+     * 
+     * Parameters:
+     * px - {<OpenLayers.Pixel>}
+     * inclusive - {Boolean} Whether or not to include the border. Default is
+     *     true.
+     *
+     * Returns:
+     * {Boolean} The passed-in pixel is within this bounds.
+     */
+    containsPixel:function(px, inclusive) {
+        return this.contains(px.x, px.y, inclusive);
+    },
+    
+    /**
+     * APIMethod: contains
+     * 
+     * Parameters:
+     * x - {Float}
+     * y - {Float}
+     * inclusive - {Boolean} Whether or not to include the border. Default is
+     *     true.
+     *
+     * Returns:
+     * {Boolean} Whether or not the passed-in coordinates are within this
+     *     bounds.
+     */
+    contains:function(x, y, inclusive) {
+    
+        //set default
+        if (inclusive == null) {
+            inclusive = true;
+        }
+        
+        var contains = false;
+        if (inclusive) {
+            contains = ((x >= this.left) && (x <= this.right) && 
+                        (y >= this.bottom) && (y <= this.top));
+        } else {
+            contains = ((x > this.left) && (x < this.right) && 
+                        (y > this.bottom) && (y < this.top));
+        }              
+        return contains;
+    },
+
+    /**
+     * APIMethod: intersectsBounds
+     * 
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     * inclusive - {<Boolean>} Whether or not to include the border.  Default
+     *     is true.
+     *
+     * Returns:
+     * {Boolean} The passed-in OpenLayers.Bounds object intersects this bounds.
+     *     Simple math just check if either contains the other, allowing for
+     *     partial.
+     */
+    intersectsBounds:function(bounds, inclusive) {
+
+        if (inclusive == null) {
+            inclusive = true;
+        }
+        var inBottom = (bounds.bottom == this.bottom && bounds.top == this.top) ?
+                    true : (((bounds.bottom > this.bottom) && (bounds.bottom < this.top)) || 
+                           ((this.bottom > bounds.bottom) && (this.bottom < bounds.top))); 
+        var inTop = (bounds.bottom == this.bottom && bounds.top == this.top) ?
+                    true : (((bounds.top > this.bottom) && (bounds.top < this.top)) ||
+                           ((this.top > bounds.bottom) && (this.top < bounds.top))); 
+        var inRight = (bounds.right == this.right && bounds.left == this.left) ?
+                    true : (((bounds.right > this.left) && (bounds.right < this.right)) ||
+                           ((this.right > bounds.left) && (this.right < bounds.right))); 
+        var inLeft = (bounds.right == this.right && bounds.left == this.left) ?
+                    true : (((bounds.left > this.left) && (bounds.left < this.right)) || 
+                           ((this.left > bounds.left) && (this.left < bounds.right))); 
+
+        return (this.containsBounds(bounds, true, inclusive) ||
+                bounds.containsBounds(this, true, inclusive) ||
+                ((inTop || inBottom ) && (inLeft || inRight )));
+    },
+    
+    /**
+     * APIMethod: containsBounds
+     * 
+     * bounds - {<OpenLayers.Bounds>}
+     * partial - {<Boolean>} If true, only part of passed-in bounds needs be
+     *     within this bounds.  If false, the entire passed-in bounds must be
+     *     within. Default is false
+     * inclusive - {<Boolean>} Whether or not to include the border. Default is
+     *     true.
+     *
+     * Returns:
+     * {Boolean} The passed-in bounds object is contained within this bounds. 
+     */
+    containsBounds:function(bounds, partial, inclusive) {
+
+        //set defaults
+        if (partial == null) {
+            partial = false;
+        }
+        if (inclusive == null) {
+            inclusive = true;
+        }
+
+        var inLeft;
+        var inTop;
+        var inRight;
+        var inBottom;
+        
+        if (inclusive) {
+            inLeft = (bounds.left >= this.left) && (bounds.left <= this.right);
+            inTop = (bounds.top >= this.bottom) && (bounds.top <= this.top);
+            inRight= (bounds.right >= this.left) && (bounds.right <= this.right);
+            inBottom = (bounds.bottom >= this.bottom) && (bounds.bottom <= this.top);
+        } else {
+            inLeft = (bounds.left > this.left) && (bounds.left < this.right);
+            inTop = (bounds.top > this.bottom) && (bounds.top < this.top);
+            inRight= (bounds.right > this.left) && (bounds.right < this.right);
+            inBottom = (bounds.bottom > this.bottom) && (bounds.bottom < this.top);
+        }
+        
+        return (partial) ? (inTop || inBottom ) && (inLeft || inRight ) 
+                         : (inTop && inLeft && inBottom && inRight);
+    },
+
+    /** 
+     * APIMethod: determineQuadrant
+     * 
+     * Parameters:
+     * lonlat - {<OpenLayers.LonLat>}
+     * 
+     * Returns:
+     * {String} The quadrant ("br" "tr" "tl" "bl") of the bounds in which the
+     *     coordinate lies.
+     */
+    determineQuadrant: function(lonlat) {
+    
+        var quadrant = "";
+        var center = this.getCenterLonLat();
+        
+        quadrant += (lonlat.lat < center.lat) ? "b" : "t";
+        quadrant += (lonlat.lon < center.lon) ? "l" : "r";
+    
+        return quadrant; 
+    },
+    
+    /**
+     * APIMethod: transform
+     * Transform the Bounds object from source to dest. 
+     *
+     * Parameters: 
+     * source - {<OpenLayers.Projection>} Source projection. 
+     * dest   - {<OpenLayers.Projection>} Destination projection. 
+     *
+     * Returns:
+     * {<OpenLayers.Bounds>} Itself, for use in chaining operations.
+     */
+    transform: function(source, dest) {
+        var ll = OpenLayers.Projection.transform(
+            {'x': this.left, 'y': this.bottom}, source, dest);
+        var lr = OpenLayers.Projection.transform(
+            {'x': this.right, 'y': this.bottom}, source, dest);
+        var ul = OpenLayers.Projection.transform(
+            {'x': this.left, 'y': this.top}, source, dest);
+        var ur = OpenLayers.Projection.transform(
+            {'x': this.right, 'y': this.top}, source, dest);
+        this.left   = Math.min(ll.x, ul.x);
+        this.bottom = Math.min(ll.y, lr.y);
+        this.right  = Math.max(lr.x, ur.x);
+        this.top    = Math.max(ul.y, ur.y);
+        return this;
+    },
+
+    /**
+     * APIMethod: wrapDateLine
+     *  
+     * Parameters:
+     * maxExtent - {<OpenLayers.Bounds>}
+     * options - {Object} Some possible options are:
+     *                    leftTolerance - {float} Allow for a margin of error 
+     *                                            with the 'left' value of this 
+     *                                            bound.
+     *                                            Default is 0.
+     *                    rightTolerance - {float} Allow for a margin of error 
+     *                                             with the 'right' value of 
+     *                                             this bound.
+     *                                             Default is 0.
+     * 
+     * Returns:
+     * {<OpenLayers.Bounds>} A copy of this bounds, but wrapped around the 
+     *                       "dateline" (as specified by the borders of 
+     *                       maxExtent). Note that this function only returns 
+     *                       a different bounds value if this bounds is 
+     *                       *entirely* outside of the maxExtent. If this 
+     *                       bounds straddles the dateline (is part in/part 
+     *                       out of maxExtent), the returned bounds will be 
+     *                       merely a copy of this one.
+     */
+    wrapDateLine: function(maxExtent, options) {    
+        options = options || {};
+        
+        var leftTolerance = options.leftTolerance || 0;
+        var rightTolerance = options.rightTolerance || 0;
+
+        var newBounds = this.clone();
+    
+        if (maxExtent) {
+
+           //shift right?
+           while ( newBounds.left < maxExtent.left && 
+                   (newBounds.right - rightTolerance) <= maxExtent.left ) { 
+                newBounds = newBounds.add(maxExtent.getWidth(), 0);
+           }
+
+           //shift left?
+           while ( (newBounds.left + leftTolerance) >= maxExtent.right && 
+                   newBounds.right > maxExtent.right ) { 
+                newBounds = newBounds.add(-maxExtent.getWidth(), 0);
+           }
+        }
+                
+        return newBounds;
+    },
+
+    CLASS_NAME: "OpenLayers.Bounds"
+});
+
+/** 
+ * APIFunction: fromString
+ * Alternative constructor that builds a new OpenLayers.Bounds from a 
+ *     parameter string
+ * 
+ * Parameters: 
+ * str - {String}Comma-separated bounds string. (ex. <i>"5,42,10,45"</i>)
+ * 
+ * Returns:
+ * {<OpenLayers.Bounds>} New bounds object built from the 
+ *                       passed-in String.
+ */
+OpenLayers.Bounds.fromString = function(str) {
+    var bounds = str.split(",");
+    return OpenLayers.Bounds.fromArray(bounds);
+};
+
+/** 
+ * APIFunction: fromArray
+ * Alternative constructor that builds a new OpenLayers.Bounds
+ *     from an array
+ * 
+ * Parameters:
+ * bbox - {Array(Float)} Array of bounds values (ex. <i>[5,42,10,45]</i>)
+ *
+ * Returns:
+ * {<OpenLayers.Bounds>} New bounds object built from the passed-in Array.
+ */
+OpenLayers.Bounds.fromArray = function(bbox) {
+    return new OpenLayers.Bounds(parseFloat(bbox[0]),
+                                 parseFloat(bbox[1]),
+                                 parseFloat(bbox[2]),
+                                 parseFloat(bbox[3]));
+};
+
+/** 
+ * APIFunction: fromSize
+ * Alternative constructor that builds a new OpenLayers.Bounds
+ *     from a size
+ * 
+ * Parameters:
+ * size - {<OpenLayers.Size>} 
+ *
+ * Returns:
+ * {<OpenLayers.Bounds>} New bounds object built from the passed-in size.
+ */
+OpenLayers.Bounds.fromSize = function(size) {
+    return new OpenLayers.Bounds(0,
+                                 size.h,
+                                 size.w,
+                                 0);
+};
+
+/**
+ * Function: oppositeQuadrant
+ * Get the opposite quadrant for a given quadrant string.
+ *
+ * Parameters:
+ * quadrant - {String} two character quadrant shortstring
+ *
+ * Returns:
+ * {String} The opposing quadrant ("br" "tr" "tl" "bl"). For Example, if 
+ *          you pass in "bl" it returns "tr", if you pass in "br" it 
+ *          returns "tl", etc.
+ */
+OpenLayers.Bounds.oppositeQuadrant = function(quadrant) {
+    var opp = "";
+    
+    opp += (quadrant.charAt(0) == 't') ? 'b' : 't';
+    opp += (quadrant.charAt(1) == 'l') ? 'r' : 'l';
+    
+    return opp;
+};
+/* ======================================================================
+    OpenLayers/BaseTypes/Element.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * Namespace: OpenLayers.Element
+ */
+OpenLayers.Element = {
+
+    /**
+     * APIFunction: visible
+     * 
+     * Parameters: 
+     * element - {DOMElement}
+     * 
+     * Returns:
+     * {Boolean} Is the element visible?
+     */
+    visible: function(element) {
+        return OpenLayers.Util.getElement(element).style.display != 'none';
+    },
+
+    /**
+     * APIFunction: toggle
+     * Toggle the visibility of element(s) passed in
+     * 
+     * Parameters:
+     * element - {DOMElement} Actually user can pass any number of elements
+     */
+    toggle: function() {
+        for (var i = 0; i < arguments.length; i++) {
+            var element = OpenLayers.Util.getElement(arguments[i]);
+            var display = OpenLayers.Element.visible(element) ? 'hide' 
+                                                              : 'show';
+            OpenLayers.Element[display](element);
+        }
+    },
+
+
+    /**
+     * APIFunction: hide
+     * Hide element(s) passed in
+     * 
+     * Parameters:
+     * element - {DOMElement} Actually user can pass any number of elements
+     */
+    hide: function() {
+        for (var i = 0; i < arguments.length; i++) {
+            var element = OpenLayers.Util.getElement(arguments[i]);
+            element.style.display = 'none';
+        }
+    },
+
+    /**
+     * APIFunction: show
+     * Show element(s) passed in
+     * 
+     * Parameters:
+     * element - {DOMElement} Actually user can pass any number of elements
+     */
+    show: function() {
+        for (var i = 0; i < arguments.length; i++) {
+            var element = OpenLayers.Util.getElement(arguments[i]);
+            element.style.display = '';
+        }
+    },
+
+    /**
+     * APIFunction: remove
+     * Remove the specified element from the DOM.
+     * 
+     * Parameters:
+     * element - {DOMElement}
+     */
+    remove: function(element) {
+        element = OpenLayers.Util.getElement(element);
+        element.parentNode.removeChild(element);
+    },
+
+    /**
+     * APIFunction: getHeight
+     *  
+     * Parameters:
+     * element - {DOMElement}
+     * 
+     * Returns:
+     * {Integer} The offset height of the element passed in
+     */
+    getHeight: function(element) {
+        element = OpenLayers.Util.getElement(element);
+        return element.offsetHeight;
+    },
+
+    /**
+     * APIFunction: getDimensions
+     *  
+     * Parameters:
+     * element - {DOMElement}
+     * 
+     * Returns:
+     * {Object} Object with 'width' and 'height' properties which are the 
+     *          dimensions of the element passed in.
+     */
+    getDimensions: function(element) {
+        element = OpenLayers.Util.getElement(element);
+        if (OpenLayers.Element.getStyle(element, 'display') != 'none') {
+            return {width: element.offsetWidth, height: element.offsetHeight};
+        }
+    
+        // All *Width and *Height properties give 0 on elements with display none,
+        // so enable the element temporarily
+        var els = element.style;
+        var originalVisibility = els.visibility;
+        var originalPosition = els.position;
+        els.visibility = 'hidden';
+        els.position = 'absolute';
+        els.display = '';
+        var originalWidth = element.clientWidth;
+        var originalHeight = element.clientHeight;
+        els.display = 'none';
+        els.position = originalPosition;
+        els.visibility = originalVisibility;
+        return {width: originalWidth, height: originalHeight};
+    },
+
+    /**
+     * APIFunction: getStyle
+     * 
+     * Parameters:
+     * element - {DOMElement}
+     * style - {?}
+     * 
+     * Returns:
+     * {?}
+     */
+    getStyle: function(element, style) {
+        element = OpenLayers.Util.getElement(element);
+        var value = element.style[OpenLayers.String.camelize(style)];
+        if (!value) {
+            if (document.defaultView && 
+                document.defaultView.getComputedStyle) {
+                
+                var css = document.defaultView.getComputedStyle(element, null);
+                value = css ? css.getPropertyValue(style) : null;
+            } else if (element.currentStyle) {
+                value = element.currentStyle[OpenLayers.String.camelize(style)];
+            }
+        }
+    
+        var positions = ['left', 'top', 'right', 'bottom'];
+        if (window.opera &&
+            (OpenLayers.Util.indexOf(positions,style) != -1) &&
+            (OpenLayers.Element.getStyle(element, 'position') == 'static')) { 
+            value = 'auto';
+        }
+    
+        return value == 'auto' ? null : value;
+    }
+
+};
+/* ======================================================================
+    OpenLayers/BaseTypes/LonLat.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * Class: OpenLayers.LonLat
+ * This class represents a longitude and latitude pair
+ */
+OpenLayers.LonLat = OpenLayers.Class({
+
+    /** 
+     * APIProperty: lon
+     * {Float} The x-axis coodinate in map units
+     */
+    lon: 0.0,
+    
+    /** 
+     * APIProperty: lat
+     * {Float} The y-axis coordinate in map units
+     */
+    lat: 0.0,
+
+    /**
+     * Constructor: OpenLayers.LonLat
+     * Create a new map location.
+     *
+     * Parameters:
+     * lon - {Number} The x-axis coordinate in map units.  If your map is in
+     *     a geographic projection, this will be the Longitude.  Otherwise,
+     *     it will be the x coordinate of the map location in your map units.
+     * lat - {Number} The y-axis coordinate in map units.  If your map is in
+     *     a geographic projection, this will be the Latitude.  Otherwise,
+     *     it will be the y coordinate of the map location in your map units.
+     */
+    initialize: function(lon, lat) {
+        this.lon = parseFloat(lon);
+        this.lat = parseFloat(lat);
+    },
+    
+    /**
+     * Method: toString
+     * Return a readable string version of the lonlat
+     *
+     * Returns:
+     * {String} String representation of OpenLayers.LonLat object. 
+     *           (ex. <i>"lon=5,lat=42"</i>)
+     */
+    toString:function() {
+        return ("lon=" + this.lon + ",lat=" + this.lat);
+    },
+
+    /** 
+     * APIMethod: toShortString
+     * 
+     * Returns:
+     * {String} Shortened String representation of OpenLayers.LonLat object. 
+     *         (ex. <i>"5, 42"</i>)
+     */
+    toShortString:function() {
+        return (this.lon + ", " + this.lat);
+    },
+
+    /** 
+     * APIMethod: clone
+     * 
+     * Returns:
+     * {<OpenLayers.LonLat>} New OpenLayers.LonLat object with the same lon 
+     *                       and lat values
+     */
+    clone:function() {
+        return new OpenLayers.LonLat(this.lon, this.lat);
+    },
+
+    /** 
+     * APIMethod: add
+     * 
+     * Parameters:
+     * lon - {Float}
+     * lat - {Float}
+     * 
+     * Returns:
+     * {<OpenLayers.LonLat>} A new OpenLayers.LonLat object with the lon and 
+     *                       lat passed-in added to this's. 
+     */
+    add:function(lon, lat) {
+        if ( (lon == null) || (lat == null) ) {
+            var msg = OpenLayers.i18n("lonlatAddError");
+            OpenLayers.Console.error(msg);
+            return null;
+        }
+        return new OpenLayers.LonLat(this.lon + lon, this.lat + lat);
+    },
+
+    /** 
+     * APIMethod: equals
+     * 
+     * Parameters:
+     * ll - {<OpenLayers.LonLat>}
+     * 
+     * Returns:
+     * {Boolean} Boolean value indicating whether the passed-in 
+     *           <OpenLayers.LonLat> object has the same lon and lat 
+     *           components as this.
+     *           Note: if ll passed in is null, returns false
+     */
+    equals:function(ll) {
+        var equals = false;
+        if (ll != null) {
+            equals = ((this.lon == ll.lon && this.lat == ll.lat) ||
+                      (isNaN(this.lon) && isNaN(this.lat) && isNaN(ll.lon) && isNaN(ll.lat)));
+        }
+        return equals;
+    },
+
+    /**
+     * APIMethod: transform
+     * Transform the LonLat object from source to dest. 
+     *
+     * Parameters: 
+     * source - {<OpenLayers.Projection>} Source projection. 
+     * dest   - {<OpenLayers.Projection>} Destination projection. 
+     *
+     * Returns:
+     * {<OpenLayers.LonLat>} Itself, for use in chaining operations.
+     */
+    transform: function(source, dest) {
+        var point = OpenLayers.Projection.transform(
+            {'x': this.lon, 'y': this.lat}, source, dest);
+        this.lon = point.x;
+        this.lat = point.y;
+        return this;
+    },
+    
+    /**
+     * APIMethod: wrapDateLine
+     * 
+     * Parameters:
+     * maxExtent - {<OpenLayers.Bounds>}
+     * 
+     * Returns:
+     * {<OpenLayers.LonLat>} A copy of this lonlat, but wrapped around the 
+     *                       "dateline" (as specified by the borders of 
+     *                       maxExtent)
+     */
+    wrapDateLine: function(maxExtent) {    
+
+        var newLonLat = this.clone();
+    
+        if (maxExtent) {
+            //shift right?
+            while (newLonLat.lon < maxExtent.left) {
+                newLonLat.lon +=  maxExtent.getWidth();
+            }    
+           
+            //shift left?
+            while (newLonLat.lon > maxExtent.right) {
+                newLonLat.lon -= maxExtent.getWidth();
+            }    
+        }
+                
+        return newLonLat;
+    },
+
+    CLASS_NAME: "OpenLayers.LonLat"
+});
+
+/** 
+ * Function: fromString
+ * Alternative constructor that builds a new <OpenLayers.LonLat> from a 
+ *     parameter string
+ * 
+ * Parameters:
+ * str - {String} Comma-separated Lon,Lat coordinate string. 
+ *                 (ex. <i>"5,40"</i>)
+ * 
+ * Returns:
+ * {<OpenLayers.LonLat>} New <OpenLayers.LonLat> object built from the 
+ *                       passed-in String.
+ */
+OpenLayers.LonLat.fromString = function(str) {
+    var pair = str.split(",");
+    return new OpenLayers.LonLat(parseFloat(pair[0]), 
+                                 parseFloat(pair[1]));
+};
+/* ======================================================================
+    OpenLayers/BaseTypes/Pixel.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * Class: OpenLayers.Pixel
+ * This class represents a screen coordinate, in x and y coordinates
+ */
+OpenLayers.Pixel = OpenLayers.Class({
+    
+    /**
+     * APIProperty: x
+     * {Number} The x coordinate
+     */
+    x: 0.0,
+
+    /**
+     * APIProperty: y
+     * {Number} The y coordinate
+     */
+    y: 0.0,
+    
+    /**
+     * Constructor: OpenLayers.Pixel
+     * Create a new OpenLayers.Pixel instance
+     *
+     * Parameters:
+     * x - {Number} The x coordinate
+     * y - {Number} The y coordinate
+     *
+     * Returns:
+     * An instance of OpenLayers.Pixel
+     */
+    initialize: function(x, y) {
+        this.x = parseFloat(x);
+        this.y = parseFloat(y);
+    },
+    
+    /**
+     * Method: toString
+     * Cast this object into a string
+     *
+     * Returns:
+     * {String} The string representation of Pixel. ex: "x=200.4,y=242.2"
+     */
+    toString:function() {
+        return ("x=" + this.x + ",y=" + this.y);
+    },
+
+    /**
+     * APIMethod: clone
+     * Return a clone of this pixel object
+     *
+     * Returns:
+     * {<OpenLayers.Pixel>} A clone pixel
+     */
+    clone:function() {
+        return new OpenLayers.Pixel(this.x, this.y); 
+    },
+    
+    /**
+     * APIMethod: equals
+     * Determine whether one pixel is equivalent to another
+     *
+     * Parameters:
+     * px - {<OpenLayers.Pixel>}
+     *
+     * Returns:
+     * {Boolean} The point passed in as parameter is equal to this. Note that
+     * if px passed in is null, returns false.
+     */
+    equals:function(px) {
+        var equals = false;
+        if (px != null) {
+            equals = ((this.x == px.x && this.y == px.y) ||
+                      (isNaN(this.x) && isNaN(this.y) && isNaN(px.x) && isNaN(px.y)));
+        }
+        return equals;
+    },
+
+    /**
+     * APIMethod: add
+     *
+     * Parameters:
+     * x - {Integer}
+     * y - {Integer}
+     *
+     * Returns:
+     * {<OpenLayers.Pixel>} A new Pixel with this pixel's x&y augmented by the 
+     * values passed in.
+     */
+    add:function(x, y) {
+        if ( (x == null) || (y == null) ) {
+            var msg = OpenLayers.i18n("pixelAddError");
+            OpenLayers.Console.error(msg);
+            return null;
+        }
+        return new OpenLayers.Pixel(this.x + x, this.y + y);
+    },
+
+    /**
+    * APIMethod: offset
+    * 
+    * Parameters
+    * px - {<OpenLayers.Pixel>}
+    * 
+    * Returns:
+    * {<OpenLayers.Pixel>} A new Pixel with this pixel's x&y augmented by the 
+    *                      x&y values of the pixel passed in.
+    */
+    offset:function(px) {
+        var newPx = this.clone();
+        if (px) {
+            newPx = this.add(px.x, px.y);
+        }
+        return newPx;
+    },
+
+    CLASS_NAME: "OpenLayers.Pixel"
+});
+/* ======================================================================
+    OpenLayers/BaseTypes/Size.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * Class: OpenLayers.Size
+ * Instances of this class represent a width/height pair
+ */
+OpenLayers.Size = OpenLayers.Class({
+
+    /**
+     * APIProperty: w
+     * {Number} width
+     */
+    w: 0.0,
+    
+    /**
+     * APIProperty: h
+     * {Number} height
+     */
+    h: 0.0,
+
+
+    /**
+     * Constructor: OpenLayers.Size
+     * Create an instance of OpenLayers.Size
+     *
+     * Parameters:
+     * w - {Number} width
+     * h - {Number} height
+     */
+    initialize: function(w, h) {
+        this.w = parseFloat(w);
+        this.h = parseFloat(h);
+    },
+
+    /**
+     * Method: toString
+     * Return the string representation of a size object
+     *
+     * Returns:
+     * {String} The string representation of OpenLayers.Size object. 
+     * (ex. <i>"w=55,h=66"</i>)
+     */
+    toString:function() {
+        return ("w=" + this.w + ",h=" + this.h);
+    },
+
+    /**
+     * APIMethod: clone
+     * Create a clone of this size object
+     *
+     * Returns:
+     * {<OpenLayers.Size>} A new OpenLayers.Size object with the same w and h
+     * values
+     */
+    clone:function() {
+        return new OpenLayers.Size(this.w, this.h);
+    },
+
+    /**
+     *
+     * APIMethod: equals
+     * Determine where this size is equal to another
+     *
+     * Parameters:
+     * sz - {<OpenLayers.Size>}
+     *
+     * Returns: 
+     * {Boolean} The passed in size has the same h and w properties as this one.
+     * Note that if sz passed in is null, returns false.
+     *
+     */
+    equals:function(sz) {
+        var equals = false;
+        if (sz != null) {
+            equals = ((this.w == sz.w && this.h == sz.h) ||
+                      (isNaN(this.w) && isNaN(this.h) && isNaN(sz.w) && isNaN(sz.h)));
+        }
+        return equals;
+    },
+
+    CLASS_NAME: "OpenLayers.Size"
+});
+/* ======================================================================
+    OpenLayers/Console.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * Namespace: OpenLayers.Console
+ * The OpenLayers.Console namespace is used for debugging and error logging.
+ * If the Firebug Lite (../Firebug/firebug.js) is included before this script,
+ * calls to OpenLayers.Console methods will get redirected to window.console.
+ * This makes use of the Firebug extension where available and allows for
+ * cross-browser debugging Firebug style.
+ *
+ * Note:
+ * Note that behavior will differ with the Firebug extention and Firebug Lite.
+ * Most notably, the Firebug Lite console does not currently allow for
+ * hyperlinks to code or for clicking on object to explore their properties.
+ * 
+ */
+OpenLayers.Console = {
+    /**
+     * Create empty functions for all console methods.  The real value of these
+     * properties will be set if Firebug Lite (../Firebug/firebug.js script) is
+     * included.  We explicitly require the Firebug Lite script to trigger
+     * functionality of the OpenLayers.Console methods.
+     */
+    
+    /**
+     * APIFunction: log
+     * Log an object in the console.  The Firebug Lite console logs string
+     * representation of objects.  Given multiple arguments, they will
+     * be cast to strings and logged with a space delimiter.  If the first
+     * argument is a string with printf-like formatting, subsequent arguments
+     * will be used in string substitution.  Any additional arguments (beyond
+     * the number substituted in a format string) will be appended in a space-
+     * delimited line.
+     * 
+     * Parameters:
+     * object - {Object}
+     */
+    log: function() {},
+
+    /**
+     * APIFunction: debug
+     * Writes a message to the console, including a hyperlink to the line
+     * where it was called.
+     *
+     * May be called with multiple arguments as with OpenLayers.Console.log().
+     * 
+     * Parameters:
+     * object - {Object}
+     */
+    debug: function() {},
+
+    /**
+     * APIFunction: info
+     * Writes a message to the console with the visual "info" icon and color
+     * coding and a hyperlink to the line where it was called.
+     *
+     * May be called with multiple arguments as with OpenLayers.Console.log().
+     * 
+     * Parameters:
+     * object - {Object}
+     */
+    info: function() {},
+
+    /**
+     * APIFunction: warn
+     * Writes a message to the console with the visual "warning" icon and
+     * color coding and a hyperlink to the line where it was called.
+     *
+     * May be called with multiple arguments as with OpenLayers.Console.log().
+     * 
+     * Parameters:
+     * object - {Object}
+     */
+    warn: function() {},
+
+    /**
+     * APIFunction: error
+     * Writes a message to the console with the visual "error" icon and color
+     * coding and a hyperlink to the line where it was called.
+     *
+     * May be called with multiple arguments as with OpenLayers.Console.log().
+     * 
+     * Parameters:
+     * object - {Object}
+     */
+    error: function() {},
+
+    /**
+     * APIFunction: assert
+     * Tests that an expression is true. If not, it will write a message to
+     * the console and throw an exception.
+     *
+     * May be called with multiple arguments as with OpenLayers.Console.log().
+     * 
+     * Parameters:
+     * object - {Object}
+     */
+    assert: function() {},
+
+    /**
+     * APIFunction: dir
+     * Prints an interactive listing of all properties of the object. This
+     * looks identical to the view that you would see in the DOM tab.
+     * 
+     * Parameters:
+     * object - {Object}
+     */
+    dir: function() {},
+
+    /**
+     * APIFunction: dirxml
+     * Prints the XML source tree of an HTML or XML element. This looks
+     * identical to the view that you would see in the HTML tab. You can click
+     * on any node to inspect it in the HTML tab.
+     * 
+     * Parameters:
+     * object - {Object}
+     */
+    dirxml: function() {},
+
+    /**
+     * APIFunction: trace
+     * Prints an interactive stack trace of JavaScript execution at the point
+     * where it is called.  The stack trace details the functions on the stack,
+     * as well as the values that were passed as arguments to each function.
+     * You can click each function to take you to its source in the Script tab,
+     * and click each argument value to inspect it in the DOM or HTML tabs.
+     * 
+     */
+    trace: function() {},
+
+    /**
+     * APIFunction: group
+     * Writes a message to the console and opens a nested block to indent all
+     * future messages sent to the console. Call OpenLayers.Console.groupEnd()
+     * to close the block.
+     *
+     * May be called with multiple arguments as with OpenLayers.Console.log().
+     * 
+     * Parameters:
+     * object - {Object}
+     */
+    group: function() {},
+
+    /**
+     * APIFunction: groupEnd
+     * Closes the most recently opened block created by a call to
+     * OpenLayers.Console.group
+     */
+    groupEnd: function() {},
+    
+    /**
+     * APIFunction: time
+     * Creates a new timer under the given name. Call
+     * OpenLayers.Console.timeEnd(name)
+     * with the same name to stop the timer and print the time elapsed.
+     *
+     * Parameters:
+     * name - {String}
+     */
+    time: function() {},
+
+    /**
+     * APIFunction: timeEnd
+     * Stops a timer created by a call to OpenLayers.Console.time(name) and
+     * writes the time elapsed.
+     *
+     * Parameters:
+     * name - {String}
+     */
+    timeEnd: function() {},
+
+    /**
+     * APIFunction: profile
+     * Turns on the JavaScript profiler. The optional argument title would
+     * contain the text to be printed in the header of the profile report.
+     *
+     * This function is not currently implemented in Firebug Lite.
+     * 
+     * Parameters:
+     * title - {String} Optional title for the profiler
+     */
+    profile: function() {},
+
+    /**
+     * APIFunction: profileEnd
+     * Turns off the JavaScript profiler and prints its report.
+     * 
+     * This function is not currently implemented in Firebug Lite.
+     */
+    profileEnd: function() {},
+
+    /**
+     * APIFunction: count
+     * Writes the number of times that the line of code where count was called
+     * was executed. The optional argument title will print a message in
+     * addition to the number of the count.
+     *
+     * This function is not currently implemented in Firebug Lite.
+     *
+     * Parameters:
+     * title - {String} Optional title to be printed with count
+     */
+    count: function() {},
+
+    CLASS_NAME: "OpenLayers.Console"
+};
+
+/**
+ * Execute an anonymous function to extend the OpenLayers.Console namespace
+ * if the firebug.js script is included.  This closure is used so that the
+ * "scripts" and "i" variables don't pollute the global namespace.
+ */
+(function() {
+    /**
+     * If Firebug Lite is included (before this script), re-route all
+     * OpenLayers.Console calls to the console object.
+     */
+    if(window.console) {
+        var scripts = document.getElementsByTagName("script");
+        for(var i=0; i<scripts.length; ++i) {
+            if(scripts[i].src.indexOf("firebug.js") != -1) {
+                OpenLayers.Util.extend(OpenLayers.Console, console);
+                break;
+            }
+        }
+    }
+})();
+/* ======================================================================
+    OpenLayers/Control.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * Class: OpenLayers.Control
+ * Controls affect the display or behavior of the map. They allow everything
+ * from panning and zooming to displaying a scale indicator. Controls by 
+ * default are added to the map they are contained within however it is
+ * possible to add a control to an external div by passing the div in the
+ * options parameter.
+ * 
+ * Example:
+ * The following example shows how to add many of the common controls
+ * to a map.
+ * 
+ * > var map = new OpenLayers.Map('map', { controls: [] });
+ * >
+ * > map.addControl(new OpenLayers.Control.PanZoomBar());
+ * > map.addControl(new OpenLayers.Control.MouseToolbar());
+ * > map.addControl(new OpenLayers.Control.LayerSwitcher({'ascending':false}));
+ * > map.addControl(new OpenLayers.Control.Permalink());
+ * > map.addControl(new OpenLayers.Control.Permalink('permalink'));
+ * > map.addControl(new OpenLayers.Control.MousePosition());
+ * > map.addControl(new OpenLayers.Control.OverviewMap());
+ * > map.addControl(new OpenLayers.Control.KeyboardDefaults());
+ *
+ * The next code fragment is a quick example of how to intercept 
+ * shift-mouse click to display the extent of the bounding box
+ * dragged out by the user.  Usually controls are not created
+ * in exactly this manner.  See the source for a more complete 
+ * example:
+ *
+ * > var control = new OpenLayers.Control();
+ * > OpenLayers.Util.extend(control, {
+ * >     draw: function () {
+ * >         // this Handler.Box will intercept the shift-mousedown
+ * >         // before Control.MouseDefault gets to see it
+ * >         this.box = new OpenLayers.Handler.Box( control, 
+ * >             {"done": this.notice},
+ * >             {keyMask: OpenLayers.Handler.MOD_SHIFT});
+ * >         this.box.activate();
+ * >     },
+ * >
+ * >     notice: function (bounds) {
+ * >         alert(bounds);
+ * >     }
+ * > }); 
+ * > map.addControl(control);
+ * 
+ */
+OpenLayers.Control = OpenLayers.Class({
+
+    /** 
+     * Property: id 
+     * {String} 
+     */
+    id: null,
+    
+    /** 
+     * Property: map 
+     * {<OpenLayers.Map>} this gets set in the addControl() function in
+     * OpenLayers.Map 
+     */
+    map: null,
+
+    /** 
+     * Property: div 
+     * {DOMElement} 
+     */
+    div: null,
+
+    /** 
+     * Property: type 
+     * {OpenLayers.Control.TYPES} Controls can have a 'type'. The type
+     * determines the type of interactions which are possible with them when
+     * they are placed into a toolbar. 
+     */
+    type: null, 
+
+    /** 
+     * Property: allowSelection
+     * {Boolean} By deafault, controls do not allow selection, because
+     * it may interfere with map dragging. If this is true, OpenLayers
+     * will not prevent selection of the control.
+     * Default is false.
+     */
+    allowSelection: false,  
+
+    /** 
+     * Property: displayClass 
+     * {string}  This property is used for CSS related to the drawing of the
+     * Control. 
+     */
+    displayClass: "",
+    
+    /**
+    * Property: title  
+    * {string}  This property is used for showing a tooltip over the  
+    * Control.  
+    */ 
+    title: "",
+
+    /** 
+     * Property: active 
+     * {boolean} null
+     */
+    active: null,
+
+    /** 
+     * Property: handler 
+     * {<OpenLayers.Handler>} null
+     */
+    handler: null,
+
+    /**
+     * APIProperty: eventListeners
+     * {Object} If set as an option at construction, the eventListeners
+     *     object will be registered with <OpenLayers.Events.on>.  Object
+     *     structure must be a listeners object as shown in the example for
+     *     the events.on method.
+     */
+    eventListeners: null,
+
+    /** 
+     * Property: events
+     * {<OpenLayers.Events>} Events instance for triggering control specific
+     *     events.
+     */
+    events: null,
+
+    /**
+     * Constant: EVENT_TYPES
+     * {Array(String)} Supported application event types.  Register a listener
+     *     for a particular event with the following syntax:
+     * (code)
+     * control.events.register(type, obj, listener);
+     * (end)
+     *
+     * Listeners will be called with a reference to an event object.  The
+     *     properties of this event depends on exactly what happened.
+     *
+     * All event objects have at least the following properties:
+     *  - *object* {Object} A reference to control.events.object (a reference
+     *      to the control).
+     *  - *element* {DOMElement} A reference to control.events.element (which
+     *      will be null unless documented otherwise).
+     *
+     * Supported map event types:
+     *  - *activate* Triggered when activated.
+     *  - *deactivate* Triggered when deactivated.
+     */
+    EVENT_TYPES: ["activate", "deactivate"],
+
+    /**
+     * Constructor: OpenLayers.Control
+     * Create an OpenLayers Control.  The options passed as a parameter
+     * directly extend the control.  For example passing the following:
+     * 
+     * > var control = new OpenLayers.Control({div: myDiv});
+     *
+     * Overrides the default div attribute value of null.
+     * 
+     * Parameters:
+     * options - {Object} 
+     */
+    initialize: function (options) {
+        // We do this before the extend so that instances can override
+        // className in options.
+        this.displayClass = 
+            this.CLASS_NAME.replace("OpenLayers.", "ol").replace(/\./g, "");
+        
+        OpenLayers.Util.extend(this, options);
+        
+        this.events = new OpenLayers.Events(this, null, this.EVENT_TYPES);
+        if(this.eventListeners instanceof Object) {
+            this.events.on(this.eventListeners);
+        }
+        this.id = OpenLayers.Util.createUniqueID(this.CLASS_NAME + "_");
+    },
+
+    /**
+     * Method: destroy
+     * The destroy method is used to perform any clean up before the control
+     * is dereferenced.  Typically this is where event listeners are removed
+     * to prevent memory leaks.
+     */
+    destroy: function () {
+        if(this.events) {
+            if(this.eventListeners) {
+                this.events.un(this.eventListeners);
+            }
+            this.events.destroy();
+            this.events = null;
+        }
+        this.eventListeners = null;
+
+        // eliminate circular references
+        if (this.handler) {
+            this.handler.destroy();
+            this.handler = null;
+        }
+        if(this.handlers) {
+            for(var key in this.handlers) {
+                if(this.handlers.hasOwnProperty(key) &&
+                   typeof this.handlers[key].destroy == "function") {
+                    this.handlers[key].destroy();
+                }
+            }
+            this.handlers = null;
+        }
+        if (this.map) {
+            this.map.removeControl(this);
+            this.map = null;
+        }
+    },
+
+    /** 
+     * Method: setMap
+     * Set the map property for the control. This is done through an accessor
+     * so that subclasses can override this and take special action once 
+     * they have their map variable set. 
+     *
+     * Parameters:
+     * map - {<OpenLayers.Map>} 
+     */
+    setMap: function(map) {
+        this.map = map;
+        if (this.handler) {
+            this.handler.setMap(map);
+        }
+    },
+  
+    /**
+     * Method: draw
+     * The draw method is called when the control is ready to be displayed
+     * on the page.  If a div has not been created one is created.  Controls
+     * with a visual component will almost always want to override this method 
+     * to customize the look of control. 
+     *
+     * Parameters:
+     * px - {<OpenLayers.Pixel>} The top-left pixel position of the control
+     *      or null.
+     *
+     * Returns:
+     * {DOMElement} A reference to the DIV DOMElement containing the control
+     */
+    draw: function (px) {
+        if (this.div == null) {
+            this.div = OpenLayers.Util.createDiv(this.id);
+            this.div.className = this.displayClass;
+            if (!this.allowSelection) {
+                this.div.className += " olControlNoSelect";
+                this.div.setAttribute("unselectable", "on", 0);
+                this.div.onselectstart = function() { return(false); }; 
+            }    
+            if (this.title != "") {
+                this.div.title = this.title;
+            }
+        }
+        if (px != null) {
+            this.position = px.clone();
+        }
+        this.moveTo(this.position);
+        return this.div;
+    },
+
+    /**
+     * Method: moveTo
+     * Sets the left and top style attributes to the passed in pixel 
+     * coordinates.
+     *
+     * Parameters:
+     * px - {<OpenLayers.Pixel>}
+     */
+    moveTo: function (px) {
+        if ((px != null) && (this.div != null)) {
+            this.div.style.left = px.x + "px";
+            this.div.style.top = px.y + "px";
+        }
+    },
+
+    /**
+     * Method: activate
+     * Explicitly activates a control and it's associated
+     * handler if one has been set.  Controls can be
+     * deactivated by calling the deactivate() method.
+     * 
+     * Returns:
+     * {Boolean}  True if the control was successfully activated or
+     *            false if the control was already active.
+     */
+    activate: function () {
+        if (this.active) {
+            return false;
+        }
+        if (this.handler) {
+            this.handler.activate();
+        }
+        this.active = true;
+        this.events.triggerEvent("activate");
+        return true;
+    },
+    
+    /**
+     * Method: deactivate
+     * Deactivates a control and it's associated handler if any.  The exact
+     * effect of this depends on the control itself.
+     * 
+     * Returns:
+     * {Boolean} True if the control was effectively deactivated or false
+     *           if the control was already inactive.
+     */
+    deactivate: function () {
+        if (this.active) {
+            if (this.handler) {
+                this.handler.deactivate();
+            }
+            this.active = false;
+            this.events.triggerEvent("deactivate");
+            return true;
+        }
+        return false;
+    },
+
+    CLASS_NAME: "OpenLayers.Control"
+});
+
+OpenLayers.Control.TYPE_BUTTON = 1;
+OpenLayers.Control.TYPE_TOGGLE = 2;
+OpenLayers.Control.TYPE_TOOL   = 3;
+/* ======================================================================
+    OpenLayers/Icon.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * Class: OpenLayers.Icon
+ * 
+ * The icon represents a graphical icon on the screen.  Typically used in
+ * conjunction with a <OpenLayers.Marker> to represent markers on a screen.
+ *
+ * An icon has a url, size and position.  It also contains an offset which 
+ * allows the center point to be represented correctly.  This can be
+ * provided either as a fixed offset or a function provided to calculate
+ * the desired offset. 
+ * 
+ */
+OpenLayers.Icon = OpenLayers.Class({
+    
+    /** 
+     * Property: url 
+     * {String}  image url
+     */
+    url: null,
+    
+    /** 
+     * Property: size 
+     * {<OpenLayers.Size>} 
+     */
+    size: null,
+
+    /** 
+     * Property: offset 
+     * {<OpenLayers.Pixel>} distance in pixels to offset the image when being rendered
+     */
+    offset: null,    
+    
+    /** 
+     * Property: calculateOffset 
+     * {<OpenLayers.Pixel>} Function to calculate the offset (based on the size) 
+     */
+    calculateOffset: null,    
+    
+    /** 
+     * Property: imageDiv 
+     * {DOMElement} 
+     */
+    imageDiv: null,
+
+    /** 
+     * Property: px 
+     * {<OpenLayers.Pixel>} 
+     */
+    px: null,
+    
+    /** 
+     * Constructor: OpenLayers.Icon
+     * Creates an icon, which is an image tag in a div.  
+     *
+     * url - {String} 
+     * size - {<OpenLayers.Size>} 
+     * offset - {<OpenLayers.Pixel>}
+     * calculateOffset - {Function} 
+     */
+    initialize: function(url, size, offset, calculateOffset) {
+        this.url = url;
+        this.size = (size) ? size : new OpenLayers.Size(20,20);
+        this.offset = offset ? offset : new OpenLayers.Pixel(-(this.size.w/2), -(this.size.h/2));
+        this.calculateOffset = calculateOffset;
+
+        var id = OpenLayers.Util.createUniqueID("OL_Icon_");
+        this.imageDiv = OpenLayers.Util.createAlphaImageDiv(id);
+    },
+    
+    /** 
+     * Method: destroy
+     * Nullify references and remove event listeners to prevent circular 
+     * references and memory leaks
+     */
+    destroy: function() {
+        OpenLayers.Event.stopObservingElement(this.imageDiv.firstChild); 
+        this.imageDiv.innerHTML = "";
+        this.imageDiv = null;
+    },
+
+    /** 
+     * Method: clone
+     * 
+     * Returns:
+     * {<OpenLayers.Icon>} A fresh copy of the icon.
+     */
+    clone: function() {
+        return new OpenLayers.Icon(this.url, 
+                                   this.size, 
+                                   this.offset, 
+                                   this.calculateOffset);
+    },
+    
+    /**
+     * Method: setSize
+     * 
+     * Parameters:
+     * size - {<OpenLayers.Size>} 
+     */
+    setSize: function(size) {
+        if (size != null) {
+            this.size = size;
+        }
+        this.draw();
+    },
+    
+    /**
+     * Method: setUrl
+     * 
+     * Parameters:
+     * url - {String} 
+     */
+    setUrl: function(url) {
+        if (url != null) {
+            this.url = url;
+        }
+        this.draw();
+    },
+
+    /** 
+     * Method: draw
+     * Move the div to the given pixel.
+     * 
+     * Parameters:
+     * px - {<OpenLayers.Pixel>} 
+     * 
+     * Returns:
+     * {DOMElement} A new DOM Image of this icon set at the location passed-in
+     */
+    draw: function(px) {
+        OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv, 
+                                            null, 
+                                            null, 
+                                            this.size, 
+                                            this.url, 
+                                            "absolute");
+        this.moveTo(px);
+        return this.imageDiv;
+    }, 
+
+    
+    /** 
+     * Method: setOpacity
+     * Change the icon's opacity
+     *
+     * Parameters:
+     * opacity - {float} 
+     */
+    setOpacity: function(opacity) {
+        OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv, null, null, null, 
+                                            null, null, null, null, opacity);
+
+    },
+    
+    /**
+     * Method: moveTo
+     * move icon to passed in px.
+     *
+     * Parameters:
+     * px - {<OpenLayers.Pixel>} 
+     */
+    moveTo: function (px) {
+        //if no px passed in, use stored location
+        if (px != null) {
+            this.px = px;
+        }
+
+        if (this.imageDiv != null) {
+            if (this.px == null) {
+                this.display(false);
+            } else {
+                if (this.calculateOffset) {
+                    this.offset = this.calculateOffset(this.size);  
+                }
+                var offsetPx = this.px.offset(this.offset);
+                OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv, null, offsetPx);
+            }
+        }
+    },
+    
+    /** 
+     * Method: display
+     * Hide or show the icon
+     *
+     * Parameters:
+     * display - {Boolean} 
+     */
+    display: function(display) {
+        this.imageDiv.style.display = (display) ? "" : "none"; 
+    },
+
+    CLASS_NAME: "OpenLayers.Icon"
+});
+/* ======================================================================
+    OpenLayers/Lang.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * Namespace: OpenLayers.Lang
+ * Internationalization namespace.  Contains dictionaries in various languages
+ *     and methods to set and get the current language.
+ */
+OpenLayers.Lang = {
+    
+    /** 
+     * Property: code
+     * {String}  Current language code to use in OpenLayers.  Use the
+     *     <setCode> method to set this value and the <getCode> method to
+     *     retrieve it.
+     */
+    code: null,
+
+    /** 
+     * APIProperty: defaultCode
+     * {String} Default language to use when a specific language can't be
+     *     found.  Default is "en".
+     */
+    defaultCode: "en",
+        
+    /**
+     * APIFunction: getCode
+     * Get the current language code.
+     *
+     * Returns:
+     * The current language code.
+     */
+    getCode: function() {
+        if(!OpenLayers.Lang.code) {
+            OpenLayers.Lang.setCode();
+        }
+        return OpenLayers.Lang.code;
+    },
+    
+    /**
+     * APIFunction: setCode
+     * Set the language code for string translation.  This code is used by
+     *     the <OpenLayers.Lang.translate> method.
+     *
+     * Parameters-
+     * code - {String} These codes follow the IETF recommendations at
+     *     http://www.ietf.org/rfc/rfc3066.txt.  If no value is set, the
+     *     browser's language setting will be tested.  If no <OpenLayers.Lang>
+     *     dictionary exists for the code, the <OpenLayers.String.defaultLang>
+     *     will be used.
+     */
+    setCode: function(code) {
+        var lang;
+        if(!code) {
+            code = (OpenLayers.Util.getBrowserName() == "msie") ?
+                navigator.userLanguage : navigator.language;
+        }
+        var parts = code.split('-');
+        parts[0] = parts[0].toLowerCase();
+        if(typeof OpenLayers.Lang[parts[0]] == "object") {
+            lang = parts[0];
+        }
+
+        // check for regional extensions
+        if(parts[1]) {
+            var testLang = parts[0] + '-' + parts[1].toUpperCase();
+            if(typeof OpenLayers.Lang[testLang] == "object") {
+                lang = testLang;
+            }
+        }
+        if(!lang) {
+            OpenLayers.Console.warn(
+                'Failed to find OpenLayers.Lang.' + parts.join("-") +
+                ' dictionary, falling back to default language'
+            );
+            lang = OpenLayers.Lang.defaultCode;
+        }
+        
+        OpenLayers.Lang.code = lang;
+    },
+
+    /**
+     * APIMethod: translate
+     * Looks up a key from a dictionary based on the current language string.
+     *     The value of <getCode> will be used to determine the appropriate
+     *     dictionary.  Dictionaries are stored in <OpenLayers.Lang>.
+     *
+     * Parameters:
+     * key - {String} The key for an i18n string value in the dictionary.
+     * context - {Object} Optional context to be used with
+     *     <OpenLayers.String.format>.
+     * 
+     * Returns:
+     * {String} A internationalized string.
+     */
+    translate: function(key, context) {
+        var dictionary = OpenLayers.Lang[OpenLayers.Lang.getCode()];
+        var message = dictionary[key];
+        if(!message) {
+            // Message not found, fall back to message key
+            message = key;
+        }
+        if(context) {
+            message = OpenLayers.String.format(message, context);
+        }
+        return message;
+    }
+    
+};
+
+
+/**
+ * APIMethod: OpenLayers.i18n
+ * Alias for <OpenLayers.Lang.translate>.  Looks up a key from a dictionary
+ *     based on the current language string. The value of
+ *     <OpenLayers.Lang.getCode> will be used to determine the appropriate
+ *     dictionary.  Dictionaries are stored in <OpenLayers.Lang>.
+ *
+ * Parameters:
+ * key - {String} The key for an i18n string value in the dictionary.
+ * context - {Object} Optional context to be used with
+ *     <OpenLayers.String.format>.
+ * 
+ * Returns:
+ * {String} A internationalized string.
+ */
+OpenLayers.i18n = OpenLayers.Lang.translate;
+/* ======================================================================
+    OpenLayers/Popup.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * Class: OpenLayers.Popup
+ * A popup is a small div that can opened and closed on the map.
+ * Typically opened in response to clicking on a marker.  
+ * See <OpenLayers.Marker>.  Popup's don't require their own
+ * layer and are added the the map using the <OpenLayers.Map.addPopup>
+ * method.
+ *
+ * Example:
+ * (code)
+ * popup = new OpenLayers.Popup("chicken", 
+ *                    new OpenLayers.LonLat(5,40),
+ *                    new OpenLayers.Size(200,200),
+ *                    "example popup",
+ *                    true);
+ *       
+ * map.addPopup(popup);
+ * (end)
+ */
+OpenLayers.Popup = OpenLayers.Class({
+
+    /** 
+     * Property: events  
+     * {<OpenLayers.Events>} custom event manager 
+     */
+    events: null,
+    
+    /** Property: id
+     * {String} the unique identifier assigned to this popup.
+     */
+    id: "",
+
+    /** 
+     * Property: lonlat 
+     * {<OpenLayers.LonLat>} the position of this popup on the map
+     */
+    lonlat: null,
+
+    /** 
+     * Property: div 
+     * {DOMElement} the div that contains this popup.
+     */
+    div: null,
+
+    /** 
+     * Property: size 
+     * {<OpenLayers.Size>} the width and height of the popup.
+     */
+    size: null,    
+
+    /** 
+     * Property: contentHTML 
+     * {String} The HTML that this popup displays.
+     */
+    contentHTML: "",
+    
+    /** 
+     * Property: backgroundColor 
+     * {String} the background color used by the popup.
+     */
+    backgroundColor: "",
+    
+    /** 
+     * Property: opacity 
+     * {float} the opacity of this popup (between 0.0 and 1.0)
+     */
+    opacity: "",
+
+    /** 
+     * Property: border 
+     * {String} the border size of the popup.  (eg 2px)
+     */
+    border: "",
+    
+    /** 
+     * Property: contentDiv 
+     * {DOMElement} a reference to the element that holds the content of
+     *              the div.
+     */
+    contentDiv: null,
+    
+    /** 
+     * Property: groupDiv 
+     * {DOMElement} First and only child of 'div'. The group Div contains the
+     *     'contentDiv' and the 'closeDiv'.
+     */
+    groupDiv: null,
+
+    /** 
+     * Property: closeDiv
+     * {DOMElement} the optional closer image
+     */
+    closeDiv: null,
+
+    /** 
+     * APIProperty: autoSize
+     * {Boolean} Resize the popup to auto-fit the contents.
+     *     Default is false.
+     */
+    autoSize: false,
+
+    /**
+     * APIProperty: minSize
+     * {<OpenLayers.Size>} Minimum size allowed for the popup's contents.
+     */
+    minSize: null,
+
+    /**
+     * APIProperty: maxSize
+     * {<OpenLayers.Size>} Maximum size allowed for the popup's contents.
+     */
+    maxSize: null,
+
+    /** 
+     * Property: padding 
+     * {int or <OpenLayers.Bounds>} An extra opportunity to specify internal 
+     *     padding of the content div inside the popup. This was originally
+     *     confused with the css padding as specified in style.css's 
+     *     'olPopupContent' class. We would like to get rid of this altogether,
+     *     except that it does come in handy for the framed and anchoredbubble
+     *     popups, who need to maintain yet another barrier between their 
+     *     content and the outer border of the popup itself. 
+     * 
+     *     Note that in order to not break API, we must continue to support 
+     *     this property being set as an integer. Really, though, we'd like to 
+     *     have this specified as a Bounds object so that user can specify
+     *     distinct left, top, right, bottom paddings. With the 3.0 release
+     *     we can make this only a bounds.
+     */
+    padding: 0,
+
+    /** 
+     * Method: fixPadding
+     * To be removed in 3.0, this function merely helps us to deal with the 
+     *     case where the user may have set an integer value for padding, 
+     *     instead of an <OpenLayers.Bounds> object.
+     */
+    fixPadding: function() {
+        if (typeof this.padding == "number") {
+            this.padding = new OpenLayers.Bounds(
+                this.padding, this.padding, this.padding, this.padding
+            );
+        }
+    },
+
+    /**
+     * APIProperty: panMapIfOutOfView
+     * {Boolean} When drawn, pan map such that the entire popup is visible in
+     *     the current viewport (if necessary).
+     *     Default is false.
+     */
+    panMapIfOutOfView: false,
+    
+    /** 
+     * Property: map 
+     * {<OpenLayers.Map>} this gets set in Map.js when the popup is added to the map
+     */
+    map: null,
+
+    /** 
+    * Constructor: OpenLayers.Popup
+    * Create a popup.
+    * 
+    * Parameters: 
+    * id - {String} a unqiue identifier for this popup.  If null is passed
+    *               an identifier will be automatically generated. 
+    * lonlat - {<OpenLayers.LonLat>}  The position on the map the popup will
+    *                                 be shown.
+    * size - {<OpenLayers.Size>}      The size of the popup.
+    * contentHTML - {String}          The HTML content to display inside the 
+    *                                 popup.
+    * closeBox - {Boolean}            Whether to display a close box inside
+    *                                 the popup.
+    * closeBoxCallback - {Function}   Function to be called on closeBox click.
+    */
+    initialize:function(id, lonlat, size, contentHTML, closeBox, closeBoxCallback) {
+        if (id == null) {
+            id = OpenLayers.Util.createUniqueID(this.CLASS_NAME + "_");
+        }
+
+        this.id = id;
+        this.lonlat = lonlat;
+        this.size = (size != null) ? size 
+                                  : new OpenLayers.Size(
+                                                   OpenLayers.Popup.WIDTH,
+                                                   OpenLayers.Popup.HEIGHT);
+        if (contentHTML != null) { 
+             this.contentHTML = contentHTML;
+        }
+        this.backgroundColor = OpenLayers.Popup.COLOR;
+        this.opacity = OpenLayers.Popup.OPACITY;
+        this.border = OpenLayers.Popup.BORDER;
+
+        this.div = OpenLayers.Util.createDiv(this.id, null, null, 
+                                             null, null, null, "hidden");
+        this.div.className = 'olPopup';
+        
+        var groupDivId = this.id + "_GroupDiv";
+        this.groupDiv = OpenLayers.Util.createDiv(groupDivId, null, null, 
+                                                    null, "relative", null,
+                                                    "hidden");
+
+        var id = this.div.id + "_contentDiv";
+        this.contentDiv = OpenLayers.Util.createDiv(id, null, this.size.clone(), 
+                                                    null, "relative");
+        this.contentDiv.className = 'olPopupContent';                                            
+        this.groupDiv.appendChild(this.contentDiv);
+        this.div.appendChild(this.groupDiv);
+
+        if (closeBox) {
+            this.addCloseBox(closeBoxCallback);
+        } 
+
+        this.registerEvents();
+    },
+
+    /** 
+     * Method: destroy
+     * nullify references to prevent circular references and memory leaks
+     */
+    destroy: function() {
+
+        this.id = null;
+        this.lonlat = null;
+        this.size = null;
+        this.contentHTML = null;
+        
+        this.backgroundColor = null;
+        this.opacity = null;
+        this.border = null;
+        
+        this.events.destroy();
+        this.events = null;
+        
+        if (this.closeDiv) {
+            OpenLayers.Event.stopObservingElement(this.closeDiv); 
+            this.groupDiv.removeChild(this.closeDiv);
+        }
+        this.closeDiv = null;
+        
+        this.div.removeChild(this.groupDiv);
+        this.groupDiv = null;
+
+        if (this.map != null) {
+            this.map.removePopup(this);
+        }
+        this.map = null;
+        this.div = null;
+        
+        this.autoSize = null;
+        this.minSize = null;
+        this.maxSize = null;
+        this.padding = null;
+        this.panMapIfOutOfView = null;
+    },
+
+    /** 
+    * Method: draw
+    * Constructs the elements that make up the popup.
+    *
+    * Parameters:
+    * px - {<OpenLayers.Pixel>} the position the popup in pixels.
+    * 
+    * Returns:
+    * {DOMElement} Reference to a div that contains the drawn popup
+    */
+    draw: function(px) {
+        if (px == null) {
+            if ((this.lonlat != null) && (this.map != null)) {
+                px = this.map.getLayerPxFromLonLat(this.lonlat);
+            }
+        }
+        
+        //listen to movestart, moveend to disable overflow (FF bug)
+        if (OpenLayers.Util.getBrowserName() == 'firefox') {
+            this.map.events.register("movestart", this, function() {
+                var style = document.defaultView.getComputedStyle(
+                    this.contentDiv, null
+                );
+                var currentOverflow = style.getPropertyValue("overflow");
+                if (currentOverflow != "hidden") {
+                    this.contentDiv._oldOverflow = currentOverflow;
+                    this.contentDiv.style.overflow = "hidden";
+                }
+            });
+            this.map.events.register("moveend", this, function() {
+                var oldOverflow = this.contentDiv._oldOverflow;
+                if (oldOverflow) {
+                    this.contentDiv.style.overflow = oldOverflow;
+                    this.contentDiv._oldOverflow = null;
+                }
+            });
+        }
+
+        this.moveTo(px);
+        if (!this.autoSize) {
+            this.setSize(this.size);
+        }
+        this.setBackgroundColor();
+        this.setOpacity();
+        this.setBorder();
+        this.setContentHTML();
+        
+        if (this.panMapIfOutOfView) {
+            this.panIntoView();
+        }    
+
+        return this.div;
+    },
+
+    /** 
+     * Method: updatePosition
+     * if the popup has a lonlat and its map members set, 
+     * then have it move itself to its proper position
+     */
+    updatePosition: function() {
+        if ((this.lonlat) && (this.map)) {
+            var px = this.map.getLayerPxFromLonLat(this.lonlat);
+            if (px) {
+                this.moveTo(px);           
+            }    
+        }
+    },
+
+    /**
+     * Method: moveTo
+     * 
+     * Parameters:
+     * px - {<OpenLayers.Pixel>} the top and left position of the popup div. 
+     */
+    moveTo: function(px) {
+        if ((px != null) && (this.div != null)) {
+            this.div.style.left = px.x + "px";
+            this.div.style.top = px.y + "px";
+        }
+    },
+
+    /**
+     * Method: visible
+     *
+     * Returns:      
+     * {Boolean} Boolean indicating whether or not the popup is visible
+     */
+    visible: function() {
+        return OpenLayers.Element.visible(this.div);
+    },
+
+    /**
+     * Method: toggle
+     * Toggles visibility of the popup.
+     */
+    toggle: function() {
+        if (this.visible()) {
+            this.hide();
+        } else {
+            this.show();
+        }
+    },
+
+    /**
+     * Method: show
+     * Makes the popup visible.
+     */
+    show: function() {
+        OpenLayers.Element.show(this.div);
+
+        if (this.panMapIfOutOfView) {
+            this.panIntoView();
+        }    
+    },
+
+    /**
+     * Method: hide
+     * Makes the popup invisible.
+     */
+    hide: function() {
+        OpenLayers.Element.hide(this.div);
+    },
+
+    /**
+     * Method: setSize
+     * Used to adjust the size of the popup. 
+     *
+     * Parameters:
+     * size - {<OpenLayers.Size>} the new size of the popup's contents div
+     *     (in pixels).
+     */
+    setSize:function(size) { 
+        this.size = size; 
+
+        var contentSize = this.size.clone();
+        
+        // if our contentDiv has a css 'padding' set on it by a stylesheet, we 
+        //  must add that to the desired "size". 
+        var contentDivPadding = this.getContentDivPadding();
+        var wPadding = contentDivPadding.left + contentDivPadding.right;
+        var hPadding = contentDivPadding.top + contentDivPadding.bottom;
+
+        // take into account the popup's 'padding' property
+        this.fixPadding();
+        wPadding += this.padding.left + this.padding.right;
+        hPadding += this.padding.top + this.padding.bottom;
+
+        // make extra space for the close div
+        if (this.closeDiv) {
+            var closeDivWidth = parseInt(this.closeDiv.style.width);
+            wPadding += closeDivWidth + contentDivPadding.right;
+        }
+
+        //increase size of the main popup div to take into account the 
+        // users's desired padding and close div.        
+        this.size.w += wPadding;
+        this.size.h += hPadding;
+
+        //now if our browser is IE, we need to actually make the contents 
+        // div itself bigger to take its own padding into effect. this makes 
+        // me want to shoot someone, but so it goes.
+        if (OpenLayers.Util.getBrowserName() == "msie") {
+            contentSize.w += contentDivPadding.left + contentDivPadding.right;
+            contentSize.h += contentDivPadding.bottom + contentDivPadding.top;
+        }
+
+        if (this.div != null) {
+            this.div.style.width = this.size.w + "px";
+            this.div.style.height = this.size.h + "px";
+        }
+        if (this.contentDiv != null){
+            this.contentDiv.style.width = contentSize.w + "px";
+            this.contentDiv.style.height = contentSize.h + "px";
+        }
+    },  
+
+    /**
+     * Method: setBackgroundColor
+     * Sets the background color of the popup.
+     *
+     * Parameters:
+     * color - {String} the background color.  eg "#FFBBBB"
+     */
+    setBackgroundColor:function(color) { 
+        if (color != undefined) {
+            this.backgroundColor = color; 
+        }
+        
+        if (this.div != null) {
+            this.div.style.backgroundColor = this.backgroundColor;
+        }
+    },  
+    
+    /**
+     * Method: setOpacity
+     * Sets the opacity of the popup.
+     * 
+     * Parameters:
+     * opacity - {float} A value between 0.0 (transparent) and 1.0 (solid).   
+     */
+    setOpacity:function(opacity) { 
+        if (opacity != undefined) {
+            this.opacity = opacity; 
+        }
+        
+        if (this.div != null) {
+            // for Mozilla and Safari
+            this.div.style.opacity = this.opacity;
+
+            // for IE
+            this.div.style.filter = 'alpha(opacity=' + this.opacity*100 + ')';
+        }
+    },  
+    
+    /**
+     * Method: setBorder
+     * Sets the border style of the popup.
+     *
+     * Parameters:
+     * border - {String} The border style value. eg 2px 
+     */
+    setBorder:function(border) { 
+        if (border != undefined) {
+            this.border = border;
+        }
+        
+        if (this.div != null) {
+            this.div.style.border = this.border;
+        }
+    },      
+    
+    /**
+     * Method: setContentHTML
+     * Allows the user to set the HTML content of the popup.
+     *
+     * Parameters:
+     * contentHTML - {String} HTML for the div.
+     */
+    setContentHTML:function(contentHTML) {
+        if (contentHTML != null) {
+            this.contentHTML = contentHTML;
+        }
+        
+        if (this.autoSize) {
+
+            // determine actual render dimensions of the contents
+            var realSize = 
+                 OpenLayers.Util.getRenderedDimensions(this.contentHTML);
+
+            // is the "real" size of the div is safe to display in our map?
+            var safeSize = this.getSafeContentSize(realSize);
+
+            var newSize = null;
+             
+            if (safeSize.equals(realSize)) {
+                //real size of content is small enough to fit on the map, 
+                // so we use real size.
+                newSize = realSize;
+
+            } else {
+
+                //make a new OL.Size object with the clipped dimensions 
+                // set or null if not clipped.
+                var fixedSize = new OpenLayers.Size();
+                fixedSize.w = (safeSize.w < realSize.w) ? safeSize.w : null;
+                fixedSize.h = (safeSize.h < realSize.h) ? safeSize.h : null;
+            
+                if (fixedSize.w && fixedSize.h) {
+                    //content is too big in both directions, so we will use 
+                    // max popup size (safeSize), knowing well that it will 
+                    // overflow both ways.                
+                    newSize = safeSize;
+                } else {
+                    //content is clipped in only one direction, so we need to 
+                    // run getRenderedDimensions() again with a fixed dimension
+                    var clippedSize = OpenLayers.Util.getRenderedDimensions(
+                        this.contentHTML, fixedSize
+                    );
+                    
+                    //if the clipped size is still the same as the safeSize, 
+                    // that means that our content must be fixed in the 
+                    // offending direction. If overflow is 'auto', this means 
+                    // we are going to have a scrollbar for sure, so we must 
+                    // adjust for that.
+                    //
+                    var currentOverflow = OpenLayers.Element.getStyle(
+                        this.contentDiv, "overflow"
+                    );
+                    if ( (currentOverflow != "hidden") && 
+                         (clippedSize.equals(safeSize)) ) {
+                        var scrollBar = OpenLayers.Util.getScrollbarWidth();
+                        if (fixedSize.w) {
+                            clippedSize.h += scrollBar;
+                        } else {
+                            clippedSize.w += scrollBar;
+                        }
+                    }
+                    
+                    newSize = this.getSafeContentSize(clippedSize);
+                }
+            }                        
+            this.setSize(newSize);     
+        }        
+
+        if (this.contentDiv != null) {
+            this.contentDiv.innerHTML = this.contentHTML;
+        }    
+    },
+    
+
+    /**
+     * APIMethod: getSafeContentSize
+     * 
+     * Parameters:
+     * size - {<OpenLayers.Size>} Desired size to make the popup.
+     * 
+     * Returns:
+     * {<OpenLayers.Size>} A size to make the popup which is neither smaller
+     *     than the specified minimum size, nor bigger than the maximum 
+     *     size (which is calculated relative to the size of the viewport).
+     */
+    getSafeContentSize: function(size) {
+
+        var safeContentSize = size.clone();
+
+        // if our contentDiv has a css 'padding' set on it by a stylesheet, we 
+        //  must add that to the desired "size". 
+        var contentDivPadding = this.getContentDivPadding();
+        var wPadding = contentDivPadding.left + contentDivPadding.right;
+        var hPadding = contentDivPadding.top + contentDivPadding.bottom;
+
+        // take into account the popup's 'padding' property
+        this.fixPadding();
+        wPadding += this.padding.left + this.padding.right;
+        hPadding += this.padding.top + this.padding.bottom;
+
+        if (this.closeDiv) {
+            var closeDivWidth = parseInt(this.closeDiv.style.width);
+            wPadding += closeDivWidth + contentDivPadding.right;
+        }
+
+        // prevent the popup from being smaller than a specified minimal size
+        if (this.minSize) {
+            safeContentSize.w = Math.max(safeContentSize.w, 
+                (this.minSize.w - wPadding));
+            safeContentSize.h = Math.max(safeContentSize.h, 
+                (this.minSize.h - hPadding));
+        }
+
+        // prevent the popup from being bigger than a specified maximum size
+        if (this.maxSize) {
+            safeContentSize.w = Math.min(safeContentSize.w, 
+                (this.maxSize.w - wPadding));
+            safeContentSize.h = Math.min(safeContentSize.h, 
+                (this.maxSize.h - hPadding));
+        }
+        
+        //make sure the desired size to set doesn't result in a popup that 
+        // is bigger than the map's viewport.
+        //
+        if (this.map && this.map.size) {
+
+            // Note that there *was* a reference to a
+            // 'OpenLayers.Popup.SCROLL_BAR_WIDTH' constant here, with special
+            // tolerance for it and everything... but it was never defined in
+            // the first place, so I don't know what to think.
+          
+            var maxY = this.map.size.h - 
+                this.map.paddingForPopups.top - 
+                this.map.paddingForPopups.bottom - 
+                hPadding;
+    
+            var maxX = this.map.size.w - 
+                this.map.paddingForPopups.left - 
+                this.map.paddingForPopups.right - 
+                wPadding;
+    
+            safeContentSize.w = Math.min(safeContentSize.w, maxX);
+            safeContentSize.h = Math.min(safeContentSize.h, maxY);
+        }
+        
+        return safeContentSize;
+    },
+    
+    /**
+     * Method: getContentDivPadding
+     * Glorious, oh glorious hack in order to determine the css 'padding' of 
+     *     the contentDiv. IE/Opera return null here unless we actually add the 
+     *     popup's main 'div' element (which contains contentDiv) to the DOM. 
+     *     So we make it invisible and then add it to the document temporarily. 
+     *
+     *     Once we've taken the padding readings we need, we then remove it 
+     *     from the DOM (it will actually get added to the DOM in 
+     *     Map.js's addPopup)
+     *
+     * Returns:
+     * {<OpenLayers.Bounds>}
+     */
+    getContentDivPadding: function() {
+
+        //use cached value if we have it
+        var contentDivPadding = this._contentDivPadding;
+        if (!contentDivPadding) {
+            //make the div invisible and add it to the page        
+            this.div.style.display = "none";
+            document.body.appendChild(this.div);
+    
+            //read the padding settings from css, put them in an OL.Bounds        
+            contentDivPadding = new OpenLayers.Bounds(
+                OpenLayers.Element.getStyle(this.contentDiv, "padding-left"),
+                OpenLayers.Element.getStyle(this.contentDiv, "padding-bottom"),
+                OpenLayers.Element.getStyle(this.contentDiv, "padding-right"),
+                OpenLayers.Element.getStyle(this.contentDiv, "padding-top")
+            );
+    
+            //cache the value
+            this._contentDivPadding = contentDivPadding;
+    
+            //remove the div from the page and make it visible again
+            document.body.removeChild(this.div);
+            this.div.style.display = "";
+        }
+        return contentDivPadding;
+    },
+
+    /**
+     * Method: addCloseBox
+     * 
+     * Parameters:
+     * callback - {Function} The callback to be called when the close button
+     *     is clicked.
+     */
+    addCloseBox: function(callback) {
+
+        this.closeDiv = OpenLayers.Util.createDiv(
+            this.id + "_close", null, new OpenLayers.Size(17, 17)
+        );
+        this.closeDiv.className = "olPopupCloseBox"; 
+        
+        // use the content div's css padding to determine if we should
+        //  padd the close div
+        var contentDivPadding = this.getContentDivPadding();
+         
+        this.closeDiv.style.right = contentDivPadding.right + "px";
+        this.closeDiv.style.top = contentDivPadding.top + "px";
+        this.groupDiv.appendChild(this.closeDiv);
+
+        var closePopup = callback || function(e) {
+            this.hide();
+            OpenLayers.Event.stop(e);
+        };
+        OpenLayers.Event.observe(this.closeDiv, "click", 
+                OpenLayers.Function.bindAsEventListener(closePopup, this));
+    },
+
+    /**
+     * Method: panIntoView
+     * Pans the map such that the popup is totaly viewable (if necessary)
+     */
+    panIntoView: function() {
+        
+        var mapSize = this.map.getSize();
+    
+        //start with the top left corner of the popup, in px, 
+        // relative to the viewport
+        var origTL = this.map.getViewPortPxFromLayerPx( new OpenLayers.Pixel(
+            parseInt(this.div.style.left),
+            parseInt(this.div.style.top)
+        ));
+        var newTL = origTL.clone();
+    
+        //new left (compare to margins, using this.size to calculate right)
+        if (origTL.x < this.map.paddingForPopups.left) {
+            newTL.x = this.map.paddingForPopups.left;
+        } else 
+        if ( (origTL.x + this.size.w) > (mapSize.w - this.map.paddingForPopups.right)) {
+            newTL.x = mapSize.w - this.map.paddingForPopups.right - this.size.w;
+        }
+        
+        //new top (compare to margins, using this.size to calculate bottom)
+        if (origTL.y < this.map.paddingForPopups.top) {
+            newTL.y = this.map.paddingForPopups.top;
+        } else 
+        if ( (origTL.y + this.size.h) > (mapSize.h - this.map.paddingForPopups.bottom)) {
+            newTL.y = mapSize.h - this.map.paddingForPopups.bottom - this.size.h;
+        }
+        
+        var dx = origTL.x - newTL.x;
+        var dy = origTL.y - newTL.y;
+        
+        this.map.pan(dx, dy);
+    },
+
+    /** 
+     * Method: registerEvents
+     * Registers events on the popup.
+     *
+     * Do this in a separate function so that subclasses can 
+     *   choose to override it if they wish to deal differently
+     *   with mouse events
+     * 
+     *   Note in the following handler functions that some special
+     *    care is needed to deal correctly with mousing and popups. 
+     *   
+     *   Because the user might select the zoom-rectangle option and
+     *    then drag it over a popup, we need a safe way to allow the
+     *    mousemove and mouseup events to pass through the popup when
+     *    they are initiated from outside.
+     * 
+     *   Otherwise, we want to essentially kill the event propagation
+     *    for all other events, though we have to do so carefully, 
+     *    without disabling basic html functionality, like clicking on 
+     *    hyperlinks or drag-selecting text.
+     */
+     registerEvents:function() {
+        this.events = new OpenLayers.Events(this, this.div, null, true);
+
+        this.events.on({
+            "mousedown": this.onmousedown,
+            "mousemove": this.onmousemove,
+            "mouseup": this.onmouseup,
+            "click": this.onclick,
+            "mouseout": this.onmouseout,
+            "dblclick": this.ondblclick,
+            scope: this
+        });
+        
+     },
+
+    /** 
+     * Method: onmousedown 
+     * When mouse goes down within the popup, make a note of
+     *   it locally, and then do not propagate the mousedown 
+     *   (but do so safely so that user can select text inside)
+     * 
+     * Parameters:
+     * evt - {Event} 
+     */
+    onmousedown: function (evt) {
+        this.mousedown = true;
+        OpenLayers.Event.stop(evt, true);
+    },
+
+    /** 
+     * Method: onmousemove
+     * If the drag was started within the popup, then 
+     *   do not propagate the mousemove (but do so safely
+     *   so that user can select text inside)
+     * 
+     * Parameters:
+     * evt - {Event} 
+     */
+    onmousemove: function (evt) {
+        if (this.mousedown) {
+            OpenLayers.Event.stop(evt, true);
+        }
+    },
+
+    /** 
+     * Method: onmouseup
+     * When mouse comes up within the popup, after going down 
+     *   in it, reset the flag, and then (once again) do not 
+     *   propagate the event, but do so safely so that user can 
+     *   select text inside
+     * 
+     * Parameters:
+     * evt - {Event} 
+     */
+    onmouseup: function (evt) {
+        if (this.mousedown) {
+            this.mousedown = false;
+            OpenLayers.Event.stop(evt, true);
+        }
+    },
+
+    /**
+     * Method: onclick
+     * Ignore clicks, but allowing default browser handling
+     * 
+     * Parameters:
+     * evt - {Event} 
+     */
+    onclick: function (evt) {
+        OpenLayers.Event.stop(evt, true);
+    },
+
+    /** 
+     * Method: onmouseout
+     * When mouse goes out of the popup set the flag to false so that
+     *   if they let go and then drag back in, we won't be confused.
+     * 
+     * Parameters:
+     * evt - {Event} 
+     */
+    onmouseout: function (evt) {
+        this.mousedown = false;
+    },
+    
+    /** 
+     * Method: ondblclick
+     * Ignore double-clicks, but allowing default browser handling
+     * 
+     * Parameters:
+     * evt - {Event} 
+     */
+    ondblclick: function (evt) {
+        OpenLayers.Event.stop(evt, true);
+    },
+
+    CLASS_NAME: "OpenLayers.Popup"
+});
+
+OpenLayers.Popup.WIDTH = 200;
+OpenLayers.Popup.HEIGHT = 200;
+OpenLayers.Popup.COLOR = "white";
+OpenLayers.Popup.OPACITY = 1;
+OpenLayers.Popup.BORDER = "0px";
+/* ======================================================================
+    OpenLayers/Renderer.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * Class: OpenLayers.Renderer 
+ * This is the base class for all renderers.
+ *
+ * This is based on a merger code written by Paul Spencer and Bertil Chapuis.
+ * It is largely composed of virtual functions that are to be implemented
+ * in technology-specific subclasses, but there is some generic code too.
+ * 
+ * The functions that *are* implemented here merely deal with the maintenance
+ *  of the size and extent variables, as well as the cached 'resolution' 
+ *  value. 
+ * 
+ * A note to the user that all subclasses should use getResolution() instead
+ *  of directly accessing this.resolution in order to correctly use the 
+ *  cacheing system.
+ *
+ */
+OpenLayers.Renderer = OpenLayers.Class({
+
+    /** 
+     * Property: container
+     * {DOMElement} 
+     */
+    container: null,
+    
+    /** 
+     * Property: extent
+     * {<OpenLayers.Bounds>}
+     */
+    extent: null,
+    
+    /** 
+     * Property: size
+     * {<OpenLayers.Size>} 
+     */
+    size: null,
+    
+    /**
+     * Property: resolution
+     * {Float} cache of current map resolution
+     */
+    resolution: null,
+    
+    /**
+     * Property: map  
+     * {<OpenLayers.Map>} Reference to the map -- this is set in Vector's setMap()
+     */
+    map: null,
+    
+    /**
+     * Constructor: OpenLayers.Renderer 
+     *
+     * Parameters:
+     * containerID - {<String>} 
+     */
+    initialize: function(containerID) {
+        this.container = OpenLayers.Util.getElement(containerID);
+    },
+    
+    /**
+     * APIMethod: destroy
+     */
+    destroy: function() {
+        this.container = null;
+        this.extent = null;
+        this.size =  null;
+        this.resolution = null;
+        this.map = null;
+    },
+
+    /**
+     * APIMethod: supported
+     * This should be overridden by specific subclasses
+     * 
+     * Returns:
+     * {Boolean} Whether or not the browser supports the renderer class
+     */
+    supported: function() {
+        return false;
+    },    
+    
+    /**
+     * Method: setExtent
+     * Set the visible part of the layer.
+     *
+     * Resolution has probably changed, so we nullify the resolution 
+     * cache (this.resolution) -- this way it will be re-computed when 
+     * next it is needed.
+     *
+     * Parameters:
+     * extent - {<OpenLayers.Bounds>} 
+     */
+    setExtent: function(extent) {
+        this.extent = extent.clone();
+        this.resolution = null;
+    },
+    
+    /**
+     * Method: setSize
+     * Sets the size of the drawing surface.
+     * 
+     * Resolution has probably changed, so we nullify the resolution 
+     * cache (this.resolution) -- this way it will be re-computed when 
+     * next it is needed.
+     *
+     * Parameters:
+     * size - {<OpenLayers.Size>} 
+     */
+    setSize: function(size) {
+        this.size = size.clone();
+        this.resolution = null;
+    },
+    
+    /** 
+     * Method: getResolution
+     * Uses cached copy of resolution if available to minimize computing
+     * 
+     * Returns:
+     * The current map's resolution
+     */
+    getResolution: function() {
+        this.resolution = this.resolution || this.map.getResolution();
+        return this.resolution;
+    },
+    
+    /**
+     * Method: drawFeature
+     * Draw the feature.  The optional style argument can be used
+     * to override the feature's own style.  This method should only
+     * be called from layer.drawFeature().
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>} 
+     * style - {<Object>} 
+     */
+    drawFeature: function(feature, style) {
+        if(style == null) {
+            style = feature.style;
+        }
+        if (feature.geometry) {
+            this.drawGeometry(feature.geometry, style, feature.id);
+        }
+    },
+
+
+    /** 
+     * Method: drawGeometry
+     * 
+     * Draw a geometry.  This should only be called from the renderer itself.
+     * Use layer.drawFeature() from outside the renderer.
+     * virtual function
+     *
+     * Parameters:
+     * geometry - {<OpenLayers.Geometry>} 
+     * style - {Object} 
+     * featureId - {<String>} 
+     */
+    drawGeometry: function(geometry, style, featureId) {},
+        
+    /**
+     * Method: clear
+     * Clear all vectors from the renderer.
+     * virtual function.
+     */    
+    clear: function() {},
+
+    /**
+     * Method: getFeatureIdFromEvent
+     * Returns a feature id from an event on the renderer.  
+     * How this happens is specific to the renderer.  This should be
+     * called from layer.getFeatureFromEvent().
+     * Virtual function.
+     * 
+     * Parameters:
+     * evt - {<OpenLayers.Event>} 
+     *
+     * Returns:
+     * {String} A feature id or null.
+     */
+    getFeatureIdFromEvent: function(evt) {},
+    
+    /**
+     * Method: eraseFeatures 
+     * This is called by the layer to erase features
+     * 
+     * Parameters:
+     * features - {Array(<OpenLayers.Feature.Vector>)} 
+     */
+    eraseFeatures: function(features) {
+        if(!(features instanceof Array)) {
+            features = [features];
+        }
+        for(var i=0; i<features.length; ++i) {
+            this.eraseGeometry(features[i].geometry);
+        }
+    },
+    
+    /**
+     * Method: eraseGeometry
+     * Remove a geometry from the renderer (by id).
+     * virtual function.
+     * 
+     * Parameters:
+     * geometry - {<OpenLayers.Geometry>} 
+     */
+    eraseGeometry: function(geometry) {},
+
+    CLASS_NAME: "OpenLayers.Renderer"
+});
+/* ======================================================================
+    OpenLayers/Tween.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * Namespace: OpenLayers.Tween
+ */
+OpenLayers.Tween = OpenLayers.Class({
+    
+    /**
+     * Constant: INTERVAL
+     * {int} Interval in milliseconds between 2 steps
+     */
+    INTERVAL: 10,
+    
+    /**
+     * APIProperty: easing
+     * {<OpenLayers.Easing>(Function)} Easing equation used for the animation
+     *     Defaultly set to OpenLayers.Easing.Expo.easeOut
+     */
+    easing: null,
+    
+    /**
+     * APIProperty: begin
+     * {Object} Values to start the animation with
+     */
+    begin: null,
+    
+    /**
+     * APIProperty: finish
+     * {Object} Values to finish the animation with
+     */
+    finish: null,
+    
+    /**
+     * APIProperty: duration
+     * {int} duration of the tween (number of steps)
+     */
+    duration: null,
+    
+    /**
+     * APIProperty: callbacks
+     * {Object} An object with start, eachStep and done properties whose values
+     *     are functions to be call during the animation. They are passed the
+     *     current computed value as argument.
+     */
+    callbacks: null,
+    
+    /**
+     * Property: time
+     * {int} Step counter
+     */
+    time: null,
+    
+    /**
+     * Property: interval
+     * {int} Interval id returned by window.setInterval
+     */
+    interval: null,
+    
+    /**
+     * Property: playing
+     * {Boolean} Tells if the easing is currently playing
+     */
+    playing: false,
+    
+    /** 
+     * Constructor: OpenLayers.Tween
+     * Creates a Tween.
+     *
+     * Parameters:
+     * easing - {<OpenLayers.Easing>(Function)} easing function method to use
+     */ 
+    initialize: function(easing) {
+        this.easing = (easing) ? easing : OpenLayers.Easing.Expo.easeOut;
+    },
+    
+    /**
+     * APIMethod: start
+     * Plays the Tween, and calls the callback method on each step
+     * 
+     * Parameters:
+     * begin - {Object} values to start the animation with
+     * finish - {Object} values to finish the animation with
+     * duration - {int} duration of the tween (number of steps)
+     * options - {Object} hash of options (for example callbacks (start, eachStep, done))
+     */
+    start: function(begin, finish, duration, options) {
+        this.playing = true;
+        this.begin = begin;
+        this.finish = finish;
+        this.duration = duration;
+        this.callbacks = options.callbacks;
+        this.time = 0;
+        if (this.interval) {
+            window.clearInterval(this.interval);
+            this.interval = null;
+        }
+        if (this.callbacks && this.callbacks.start) {
+            this.callbacks.start.call(this, this.begin);
+        }
+        this.interval = window.setInterval(
+            OpenLayers.Function.bind(this.play, this), this.INTERVAL);
+    },
+    
+    /**
+     * APIMethod: stop
+     * Stops the Tween, and calls the done callback
+     *     Doesn't do anything if animation is already finished
+     */
+    stop: function() {
+        if (!this.playing) {
+            return;
+        }
+        
+        if (this.callbacks && this.callbacks.done) {
+            this.callbacks.done.call(this, this.finish);
+        }
+        window.clearInterval(this.interval);
+        this.interval = null;
+        this.playing = false;
+    },
+    
+    /**
+     * Method: play
+     * Calls the appropriate easing method
+     */
+    play: function() {
+        var value = {};
+        for (var i in this.begin) {
+            var b = this.begin[i];
+            var f = this.finish[i];
+            if (b == null || f == null || isNaN(b) || isNaN(f)) {
+                OpenLayers.Console.error('invalid value for Tween');
+            }
+            
+            var c = f - b;
+            value[i] = this.easing.apply(this, [this.time, b, c, this.duration]);
+        }
+        this.time++;
+        
+        if (this.callbacks && this.callbacks.eachStep) {
+            this.callbacks.eachStep.call(this, value);
+        }
+        
+        if (this.time > this.duration) {
+            if (this.callbacks && this.callbacks.done) {
+                this.callbacks.done.call(this, this.finish);
+                this.playing = false;
+            }
+            window.clearInterval(this.interval);
+            this.interval = null;
+        }
+    },
+    
+    /**
+     * Create empty functions for all easing methods.
+     */
+    CLASS_NAME: "OpenLayers.Tween"
+});
+
+/**
+ * Namespace: OpenLayers.Easing
+ * 
+ * Credits:
+ *      Easing Equations by Robert Penner, <http://www.robertpenner.com/easing/>
+ */
+OpenLayers.Easing = {
+    /**
+     * Create empty functions for all easing methods.
+     */
+    CLASS_NAME: "OpenLayers.Easing"
+};
+
+/**
+ * Namespace: OpenLayers.Easing.Linear
+ */
+OpenLayers.Easing.Linear = {
+    
+    /**
+     * Function: easeIn
+     * 
+     * Parameters:
+     * t - {Float} time
+     * b - {Float} beginning position
+     * c - {Float} total change
+     * d - {Float} duration of the transition
+     */
+    easeIn: function(t, b, c, d) {
+        return c*t/d + b;
+    },
+    
+    /**
+     * Function: easeOut
+     * 
+     * Parameters:
+     * t - {Float} time
+     * b - {Float} beginning position
+     * c - {Float} total change
+     * d - {Float} duration of the transition
+     */
+    easeOut: function(t, b, c, d) {
+        return c*t/d + b;
+    },
+    
+    /**
+     * Function: easeInOut
+     * 
+     * Parameters:
+     * t - {Float} time
+     * b - {Float} beginning position
+     * c - {Float} total change
+     * d - {Float} duration of the transition
+     */
+    easeInOut: function(t, b, c, d) {
+        return c*t/d + b;
+    },
+
+    CLASS_NAME: "OpenLayers.Easing.Linear"
+};
+
+/**
+ * Namespace: OpenLayers.Easing.Expo
+ */
+OpenLayers.Easing.Expo = {
+    
+    /**
+     * Function: easeIn
+     * 
+     * Parameters:
+     * t - {Float} time
+     * b - {Float} beginning position
+     * c - {Float} total change
+     * d - {Float} duration of the transition
+     */
+    easeIn: function(t, b, c, d) {
+        return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
+    },
+    
+    /**
+     * Function: easeOut
+     * 
+     * Parameters:
+     * t - {Float} time
+     * b - {Float} beginning position
+     * c - {Float} total change
+     * d - {Float} duration of the transition
+     */
+    easeOut: function(t, b, c, d) {
+        return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
+    },
+    
+    /**
+     * Function: easeInOut
+     * 
+     * Parameters:
+     * t - {Float} time
+     * b - {Float} beginning position
+     * c - {Float} total change
+     * d - {Float} duration of the transition
+     */
+    easeInOut: function(t, b, c, d) {
+        if (t==0) return b;
+        if (t==d) return b+c;
+        if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
+        return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
+    },
+
+    CLASS_NAME: "OpenLayers.Easing.Expo"
+};
+
+/**
+ * Namespace: OpenLayers.Easing.Quad
+ */
+OpenLayers.Easing.Quad = {
+    
+    /**
+     * Function: easeIn
+     * 
+     * Parameters:
+     * t - {Float} time
+     * b - {Float} beginning position
+     * c - {Float} total change
+     * d - {Float} duration of the transition
+     */
+    easeIn: function(t, b, c, d) {
+        return c*(t/=d)*t + b;
+    },
+    
+    /**
+     * Function: easeOut
+     * 
+     * Parameters:
+     * t - {Float} time
+     * b - {Float} beginning position
+     * c - {Float} total change
+     * d - {Float} duration of the transition
+     */
+    easeOut: function(t, b, c, d) {
+        return -c *(t/=d)*(t-2) + b;
+    },
+    
+    /**
+     * Function: easeInOut
+     * 
+     * Parameters:
+     * t - {Float} time
+     * b - {Float} beginning position
+     * c - {Float} total change
+     * d - {Float} duration of the transition
+     */
+    easeInOut: function(t, b, c, d) {
+        if ((t/=d/2) < 1) return c/2*t*t + b;
+        return -c/2 * ((--t)*(t-2) - 1) + b;
+    },
+
+    CLASS_NAME: "OpenLayers.Easing.Quad"
+};
+/* ======================================================================
+    Rico/Color.js
+   ====================================================================== */
+
+/*
+ * This file has been edited substantially from the Rico-released version by
+ * the OpenLayers development team.
+ *
+ * This file is licensed under the Apache License, Version 2.0.
+ */
+OpenLayers.Rico.Color = OpenLayers.Class({
+
+   initialize: function(red, green, blue) {
+      this.rgb = { r: red, g : green, b : blue };
+   },
+
+   setRed: function(r) {
+      this.rgb.r = r;
+   },
+
+   setGreen: function(g) {
+      this.rgb.g = g;
+   },
+
+   setBlue: function(b) {
+      this.rgb.b = b;
+   },
+
+   setHue: function(h) {
+
+      // get an HSB model, and set the new hue...
+      var hsb = this.asHSB();
+      hsb.h = h;
+
+      // convert back to RGB...
+      this.rgb = OpenLayers.Rico.Color.HSBtoRGB(hsb.h, hsb.s, hsb.b);
+   },
+
+   setSaturation: function(s) {
+      // get an HSB model, and set the new hue...
+      var hsb = this.asHSB();
+      hsb.s = s;
+
+      // convert back to RGB and set values...
+      this.rgb = OpenLayers.Rico.Color.HSBtoRGB(hsb.h, hsb.s, hsb.b);
+   },
+
+   setBrightness: function(b) {
+      // get an HSB model, and set the new hue...
+      var hsb = this.asHSB();
+      hsb.b = b;
+
+      // convert back to RGB and set values...
+      this.rgb = OpenLayers.Rico.Color.HSBtoRGB( hsb.h, hsb.s, hsb.b );
+   },
+
+   darken: function(percent) {
+      var hsb  = this.asHSB();
+      this.rgb = OpenLayers.Rico.Color.HSBtoRGB(hsb.h, hsb.s, Math.max(hsb.b - percent,0));
+   },
+
+   brighten: function(percent) {
+      var hsb  = this.asHSB();
+      this.rgb = OpenLayers.Rico.Color.HSBtoRGB(hsb.h, hsb.s, Math.min(hsb.b + percent,1));
+   },
+
+   blend: function(other) {
+      this.rgb.r = Math.floor((this.rgb.r + other.rgb.r)/2);
+      this.rgb.g = Math.floor((this.rgb.g + other.rgb.g)/2);
+      this.rgb.b = Math.floor((this.rgb.b + other.rgb.b)/2);
+   },
+
+   isBright: function() {
+      var hsb = this.asHSB();
+      return this.asHSB().b > 0.5;
+   },
+
+   isDark: function() {
+      return ! this.isBright();
+   },
+
+   asRGB: function() {
+      return "rgb(" + this.rgb.r + "," + this.rgb.g + "," + this.rgb.b + ")";
+   },
+
+   asHex: function() {
+      return "#" + this.rgb.r.toColorPart() + this.rgb.g.toColorPart() + this.rgb.b.toColorPart();
+   },
+
+   asHSB: function() {
+      return OpenLayers.Rico.Color.RGBtoHSB(this.rgb.r, this.rgb.g, this.rgb.b);
+   },
+
+   toString: function() {
+      return this.asHex();
+   }
+
+});
+
+OpenLayers.Rico.Color.createFromHex = function(hexCode) {
+  if(hexCode.length==4) {
+    var shortHexCode = hexCode; 
+    var hexCode = '#';
+    for(var i=1;i<4;i++) { 
+        hexCode += (shortHexCode.charAt(i) + 
+shortHexCode.charAt(i)); 
+    }
+  }
+   if ( hexCode.indexOf('#') == 0 ) {
+       hexCode = hexCode.substring(1);
+   }
+   var red   = hexCode.substring(0,2);
+   var green = hexCode.substring(2,4);
+   var blue  = hexCode.substring(4,6);
+   return new OpenLayers.Rico.Color( parseInt(red,16), parseInt(green,16), parseInt(blue,16) );
+};
+
+/**
+ * Factory method for creating a color from the background of
+ * an HTML element.
+ */
+OpenLayers.Rico.Color.createColorFromBackground = function(elem) {
+
+   var actualColor = 
+      RicoUtil.getElementsComputedStyle(OpenLayers.Util.getElement(elem), 
+                                        "backgroundColor", 
+                                        "background-color");
+
+   if ( actualColor == "transparent" && elem.parentNode ) {
+      return OpenLayers.Rico.Color.createColorFromBackground(elem.parentNode);
+   }
+   if ( actualColor == null ) {
+      return new OpenLayers.Rico.Color(255,255,255);
+   }
+   if ( actualColor.indexOf("rgb(") == 0 ) {
+      var colors = actualColor.substring(4, actualColor.length - 1 );
+      var colorArray = colors.split(",");
+      return new OpenLayers.Rico.Color( parseInt( colorArray[0] ),
+                            parseInt( colorArray[1] ),
+                            parseInt( colorArray[2] )  );
+
+   }
+   else if ( actualColor.indexOf("#") == 0 ) {
+      return OpenLayers.Rico.Color.createFromHex(actualColor);
+   }
+   else {
+      return new OpenLayers.Rico.Color(255,255,255);
+   }
+};
+
+OpenLayers.Rico.Color.HSBtoRGB = function(hue, saturation, brightness) {
+
+   var red   = 0;
+    var green = 0;
+    var blue  = 0;
+
+   if (saturation == 0) {
+      red = parseInt(brightness * 255.0 + 0.5);
+       green = red;
+       blue = red;
+    }
+    else {
+      var h = (hue - Math.floor(hue)) * 6.0;
+      var f = h - Math.floor(h);
+      var p = brightness * (1.0 - saturation);
+      var q = brightness * (1.0 - saturation * f);
+      var t = brightness * (1.0 - (saturation * (1.0 - f)));
+
+      switch (parseInt(h)) {
+         case 0:
+            red   = (brightness * 255.0 + 0.5);
+            green = (t * 255.0 + 0.5);
+            blue  = (p * 255.0 + 0.5);
+            break;
+         case 1:
+            red   = (q * 255.0 + 0.5);
+            green = (brightness * 255.0 + 0.5);
+            blue  = (p * 255.0 + 0.5);
+            break;
+         case 2:
+            red   = (p * 255.0 + 0.5);
+            green = (brightness * 255.0 + 0.5);
+            blue  = (t * 255.0 + 0.5);
+            break;
+         case 3:
+            red   = (p * 255.0 + 0.5);
+            green = (q * 255.0 + 0.5);
+            blue  = (brightness * 255.0 + 0.5);
+            break;
+         case 4:
+            red   = (t * 255.0 + 0.5);
+            green = (p * 255.0 + 0.5);
+            blue  = (brightness * 255.0 + 0.5);
+            break;
+          case 5:
+            red   = (brightness * 255.0 + 0.5);
+            green = (p * 255.0 + 0.5);
+            blue  = (q * 255.0 + 0.5);
+            break;
+        }
+    }
+
+   return { r : parseInt(red), g : parseInt(green) , b : parseInt(blue) };
+};
+
+OpenLayers.Rico.Color.RGBtoHSB = function(r, g, b) {
+
+   var hue;
+   var saturation;
+   var brightness;
+
+   var cmax = (r > g) ? r : g;
+   if (b > cmax) {
+      cmax = b;
+   }
+   var cmin = (r < g) ? r : g;
+   if (b < cmin) {
+      cmin = b;
+   }
+   brightness = cmax / 255.0;
+   if (cmax != 0) {
+      saturation = (cmax - cmin)/cmax;
+   } else {
+      saturation = 0;
+   }
+   if (saturation == 0) {
+      hue = 0;
+   } else {
+      var redc   = (cmax - r)/(cmax - cmin);
+        var greenc = (cmax - g)/(cmax - cmin);
+        var bluec  = (cmax - b)/(cmax - cmin);
+
+        if (r == cmax) {
+           hue = bluec - greenc;
+        } else if (g == cmax) {
+           hue = 2.0 + redc - bluec;
+      } else {
+           hue = 4.0 + greenc - redc;
+      }
+        hue = hue / 6.0;
+        if (hue < 0) {
+           hue = hue + 1.0;
+        }
+   }
+
+   return { h : hue, s : saturation, b : brightness };
+};
+
+/* ======================================================================
+    OpenLayers/Control/ArgParser.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Control.js
+ */
+
+/**
+ * Class: OpenLayers.Control.ArgParser
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Control>
+ */
+OpenLayers.Control.ArgParser = OpenLayers.Class(OpenLayers.Control, {
+
+    /**
+     * Parameter: center
+     * {<OpenLayers.LonLat>}
+     */
+    center: null,
+    
+    /**
+     * Parameter: zoom
+     * {int}
+     */
+    zoom: null,
+
+    /**
+     * Parameter: layers 
+     * {Array(<OpenLayers.Layer>)}
+     */
+    layers: null,
+    
+    /** 
+     * APIProperty: displayProjection
+     * {<OpenLayers.Projection>} Requires proj4js support. 
+     *     Projection used when reading the coordinates from the URL. This will
+     *     reproject the map coordinates from the URL into the map's
+     *     projection.
+     *
+     *     If you are using this functionality, be aware that any permalink
+     *     which is added to the map will determine the coordinate type which
+     *     is read from the URL, which means you should not add permalinks with
+     *     different displayProjections to the same map. 
+     */
+    displayProjection: null, 
+
+    /**
+     * Constructor: OpenLayers.Control.ArgParser
+     *
+     * Parameters:
+     * options - {Object}
+     */
+    initialize: function(options) {
+        OpenLayers.Control.prototype.initialize.apply(this, arguments);
+    },
+
+    /**
+     * Method: setMap
+     * Set the map property for the control. 
+     * 
+     * Parameters:
+     * map - {<OpenLayers.Map>} 
+     */
+    setMap: function(map) {
+        OpenLayers.Control.prototype.setMap.apply(this, arguments);
+
+        //make sure we dont already have an arg parser attached
+        for(var i=0; i< this.map.controls.length; i++) {
+            var control = this.map.controls[i];
+            if ( (control != this) &&
+                 (control.CLASS_NAME == "OpenLayers.Control.ArgParser") ) {
+                
+                // If a second argparser is added to the map, then we 
+                // override the displayProjection to be the one added to the
+                // map. 
+                if (control.displayProjection != this.displayProjection) {
+                    this.displayProjection = control.displayProjection;
+                }    
+                
+                break;
+            }
+        }
+        if (i == this.map.controls.length) {
+
+            var args = OpenLayers.Util.getParameters();
+            // Be careful to set layer first, to not trigger unnecessary layer loads
+            if (args.layers) {
+                this.layers = args.layers;
+    
+                // when we add a new layer, set its visibility 
+                this.map.events.register('addlayer', this, 
+                                         this.configureLayers);
+                this.configureLayers();
+            }
+            if (args.lat && args.lon) {
+                this.center = new OpenLayers.LonLat(parseFloat(args.lon),
+                                                    parseFloat(args.lat));
+                if (args.zoom) {
+                    this.zoom = parseInt(args.zoom);
+                }
+    
+                // when we add a new baselayer to see when we can set the center
+                this.map.events.register('changebaselayer', this, 
+                                         this.setCenter);
+                this.setCenter();
+            }
+        }
+    },
+   
+    /** 
+     * Method: setCenter
+     * As soon as a baseLayer has been loaded, we center and zoom
+     *   ...and remove the handler.
+     */
+    setCenter: function() {
+        
+        if (this.map.baseLayer) {
+            //dont need to listen for this one anymore
+            this.map.events.unregister('changebaselayer', this, 
+                                       this.setCenter);
+            
+            if (this.displayProjection) {
+                this.center.transform(this.displayProjection, 
+                                      this.map.getProjectionObject()); 
+            }      
+
+            this.map.setCenter(this.center, this.zoom);
+        }
+    },
+
+    /** 
+     * Method: configureLayers
+     * As soon as all the layers are loaded, cycle through them and 
+     *   hide or show them. 
+     */
+    configureLayers: function() {
+
+        if (this.layers.length == this.map.layers.length) { 
+            this.map.events.unregister('addlayer', this, this.configureLayers);
+
+            for(var i=0; i < this.layers.length; i++) {
+                
+                var layer = this.map.layers[i];
+                var c = this.layers.charAt(i);
+                
+                if (c == "B") {
+                    this.map.setBaseLayer(layer);
+                } else if ( (c == "T") || (c == "F") ) {
+                    layer.setVisibility(c == "T");
+                }
+            }
+        }
+    },     
+
+    CLASS_NAME: "OpenLayers.Control.ArgParser"
+});
+/* ======================================================================
+    OpenLayers/Control/Attribution.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Control.js
+ */
+
+/**
+ * Class: OpenLayers.Control.Attribution
+ * Add attribution from layers to the map display. Uses 'attribution' property
+ * of each layer.
+ */
+OpenLayers.Control.Attribution = 
+  OpenLayers.Class(OpenLayers.Control, {
+    
+    /**
+     * APIProperty: seperator
+     * {String} String used to seperate layers.
+     */
+    separator: ", ",
+       
+    /**
+     * Constructor: OpenLayers.Control.Attribution 
+     * 
+     * Parameters:
+     * options - {Object} Options for control.
+     */
+    initialize: function(options) {
+        OpenLayers.Control.prototype.initialize.apply(this, arguments);
+    },
+
+    /** 
+     * Method: destroy
+     * Destroy control.
+     */
+    destroy: function() {
+        this.map.events.un({
+            "removelayer": this.updateAttribution,
+            "addlayer": this.updateAttribution,
+            "changelayer": this.updateAttribution,
+            "changebaselayer": this.updateAttribution,
+            scope: this
+        });
+        
+        OpenLayers.Control.prototype.destroy.apply(this, arguments);
+    },    
+    
+    /**
+     * Method: draw
+     * Initialize control.
+     * 
+     * Returns: 
+     * {DOMElement} A reference to the DIV DOMElement containing the control
+     */    
+    draw: function() {
+        OpenLayers.Control.prototype.draw.apply(this, arguments);
+        
+        this.map.events.on({
+            'changebaselayer': this.updateAttribution,
+            'changelayer': this.updateAttribution,
+            'addlayer': this.updateAttribution,
+            'removelayer': this.updateAttribution,
+            scope: this
+        });
+        this.updateAttribution();
+        
+        return this.div;    
+    },
+
+    /**
+     * Method: updateAttribution
+     * Update attribution string.
+     */
+    updateAttribution: function() {
+        var attributions = [];
+        if (this.map && this.map.layers) {
+            for(var i=0; i < this.map.layers.length; i++) {
+                var layer = this.map.layers[i];
+                if (layer.attribution && layer.getVisibility()) {
+                    attributions.push( layer.attribution );
+                }
+            }  
+            this.div.innerHTML = attributions.join(this.separator);
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Control.Attribution"
+});
+/* ======================================================================
+    OpenLayers/Control/Button.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2007 MetaCarta, Inc., published under a modified BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt 
+ * for the full text of the license. */
+
+/**
+ * @requires OpenLayers/Control.js
+ */
+
+/**
+ * Class: OpenLayers.Control.Button 
+ * A very simple button controlfor use with <OpenLayers.Control.Panel>.
+ * When clicked, the function trigger() is executed.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Control>
+ *
+ * Use:
+ * (code)
+ * var button = new OpenLayers.Control.Button({
+ *     displayClass: "MyButton", trigger: myFunction
+ * });
+ * panel.addControls([button]);
+ * (end)
+ * 
+ * Will create a button with CSS class MyButtonItemInactive, that
+ *     will call the function MyFunction() when clicked.
+ */
+OpenLayers.Control.Button = OpenLayers.Class(OpenLayers.Control, {
+    /**
+     * Property: type
+     * {Integer} OpenLayers.Control.TYPE_BUTTON.
+     */
+    type: OpenLayers.Control.TYPE_BUTTON,
+    
+    /**
+     * Method: trigger
+     * Called by a control panel when the button is clicked.
+     */
+    trigger: function() {},
+
+    CLASS_NAME: "OpenLayers.Control.Button"
+});
+/* ======================================================================
+    OpenLayers/Control/LayerSwitcher.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/** 
+ * @requires OpenLayers/Control.js
+ */
+
+/**
+ * Class: OpenLayers.Control.LayerSwitcher
+ *
+ * Inherits from:
+ *  - <OpenLayers.Control>
+ */
+OpenLayers.Control.LayerSwitcher = 
+  OpenLayers.Class(OpenLayers.Control, {
+
+    /**  
+     * Property: activeColor
+     * {String}
+     */
+    activeColor: "darkblue",
+    
+    /**  
+     * Property: layerStates 
+     * {Array(Object)} Basically a copy of the "state" of the map's layers 
+     *     the last time the control was drawn. We have this in order to avoid
+     *     unnecessarily redrawing the control.
+     */
+    layerStates: null,
+    
+
+  // DOM Elements
+  
+    /**
+     * Property: layersDiv
+     * {DOMElement} 
+     */
+    layersDiv: null,
+    
+    /** 
+     * Property: baseLayersDiv
+     * {DOMElement}
+     */
+    baseLayersDiv: null,
+
+    /** 
+     * Property: baseLayers
+     * {Array(<OpenLayers.Layer>)}
+     */
+    baseLayers: null,
+    
+    
+    /** 
+     * Property: dataLbl
+     * {DOMElement} 
+     */
+    dataLbl: null,
+    
+    /** 
+     * Property: dataLayersDiv
+     * {DOMElement} 
+     */
+    dataLayersDiv: null,
+
+    /** 
+     * Property: dataLayers
+     * {Array(<OpenLayers.Layer>)} 
+     */
+    dataLayers: null,
+
+
+    /** 
+     * Property: minimizeDiv
+     * {DOMElement} 
+     */
+    minimizeDiv: null,
+
+    /** 
+     * Property: maximizeDiv
+     * {DOMElement} 
+     */
+    maximizeDiv: null,
+    
+    /**
+     * APIProperty: ascending
+     * {Boolean} 
+     */
+    ascending: true,
+ 
+    /**
+     * Constructor: OpenLayers.Control.LayerSwitcher
+     * 
+     * Parameters:
+     * options - {Object}
+     */
+    initialize: function(options) {
+        OpenLayers.Control.prototype.initialize.apply(this, arguments);
+        this.layerStates = [];
+    },
+
+    /**
+     * APIMethod: destroy 
+     */    
+    destroy: function() {
+        
+        OpenLayers.Event.stopObservingElement(this.div);
+
+        OpenLayers.Event.stopObservingElement(this.minimizeDiv);
+        OpenLayers.Event.stopObservingElement(this.maximizeDiv);
+
+        //clear out layers info and unregister their events 
+        this.clearLayersArray("base");
+        this.clearLayersArray("data");
+        
+        this.map.events.un({
+            "addlayer": this.redraw,
+            "changelayer": this.redraw,
+            "removelayer": this.redraw,
+            "changebaselayer": this.redraw,
+            scope: this
+        });
+        
+        OpenLayers.Control.prototype.destroy.apply(this, arguments);
+    },
+
+    /** 
+     * Method: setMap
+     *
+     * Properties:
+     * map - {<OpenLayers.Map>} 
+     */
+    setMap: function(map) {
+        OpenLayers.Control.prototype.setMap.apply(this, arguments);
+
+        this.map.events.on({
+            "addlayer": this.redraw,
+            "changelayer": this.redraw,
+            "removelayer": this.redraw,
+            "changebaselayer": this.redraw,
+            scope: this
+        });
+    },
+
+    /**
+     * Method: draw
+     *
+     * Returns:
+     * {DOMElement} A reference to the DIV DOMElement containing the 
+     *     switcher tabs.
+     */  
+    draw: function() {
+        OpenLayers.Control.prototype.draw.apply(this);
+
+        // create layout divs
+        this.loadContents();
+
+        // set mode to minimize
+        if(!this.outsideViewport) {
+            this.minimizeControl();
+        }
+
+        // populate div with current info
+        this.redraw();    
+
+        return this.div;
+    },
+
+    /** 
+     * Method: clearLayersArray
+     * User specifies either "base" or "data". we then clear all the
+     *     corresponding listeners, the div, and reinitialize a new array.
+     * 
+     * Parameters:
+     * layersType - {String}  
+     */
+    clearLayersArray: function(layersType) {
+        var layers = this[layersType + "Layers"];
+        if (layers) {
+            for(var i=0; i < layers.length; i++) {
+                var layer = layers[i];
+                OpenLayers.Event.stopObservingElement(layer.inputElem);
+                OpenLayers.Event.stopObservingElement(layer.labelSpan);
+            }
+        }
+        this[layersType + "LayersDiv"].innerHTML = "";
+        this[layersType + "Layers"] = [];
+    },
+
+
+    /**
+     * Method: checkRedraw
+     * Checks if the layer state has changed since the last redraw() call.
+     * 
+     * Returns:
+     * {Boolean} The layer state changed since the last redraw() call. 
+     */
+    checkRedraw: function() {
+        var redraw = false;
+        if ( !this.layerStates.length ||
+             (this.map.layers.length != this.layerStates.length) ) {
+            redraw = true;
+        } else {
+            for (var i=0; i < this.layerStates.length; i++) {
+                var layerState = this.layerStates[i];
+                var layer = this.map.layers[i];
+                if ( (layerState.name != layer.name) || 
+                     (layerState.inRange != layer.inRange) || 
+                     (layerState.id != layer.id) || 
+                     (layerState.visibility != layer.visibility) ) {
+                    redraw = true;
+                    break;
+                }    
+            }
+        }    
+        return redraw;
+    },
+    
+    /** 
+     * Method: redraw
+     * Goes through and takes the current state of the Map and rebuilds the
+     *     control to display that state. Groups base layers into a 
+     *     radio-button group and lists each data layer with a checkbox.
+     *
+     * Returns: 
+     * {DOMElement} A reference to the DIV DOMElement containing the control
+     */  
+    redraw: function() {
+        //if the state hasn't changed since last redraw, no need 
+        // to do anything. Just return the existing div.
+        if (!this.checkRedraw()) { 
+            return this.div; 
+        } 
+
+        //clear out previous layers 
+        this.clearLayersArray("base");
+        this.clearLayersArray("data");
+        
+        var containsOverlays = false;
+        var containsBaseLayers = false;
+        
+        // Save state -- for checking layer if the map state changed.
+        // We save this before redrawing, because in the process of redrawing
+        // we will trigger more visibility changes, and we want to not redraw
+        // and enter an infinite loop.
+        this.layerStates = new Array(this.map.layers.length);
+        for (var i = 0; i < this.map.layers.length; i++) {
+            var layer = this.map.layers[i];
+            this.layerStates[i] = {
+                'name': layer.name, 
+                'visibility': layer.visibility,
+                'inRange': layer.inRange,
+                'id': layer.id
+            };
+        }    
+
+        var layers = this.map.layers.slice();
+        if (!this.ascending) { layers.reverse(); }
+        for( var i = 0; i < layers.length; i++) {
+            var layer = layers[i];
+            var baseLayer = layer.isBaseLayer;
+
+            if (layer.displayInLayerSwitcher) {
+
+                if (baseLayer) {
+                    containsBaseLayers = true;
+                } else {
+                    containsOverlays = true;
+                }    
+
+                // only check a baselayer if it is *the* baselayer, check data
+                //  layers if they are visible
+                var checked = (baseLayer) ? (layer == this.map.baseLayer)
+                                          : layer.getVisibility();
+    
+                // create input element
+                var inputElem = document.createElement("input");
+                inputElem.id = "input_" + layer.name;
+                inputElem.name = (baseLayer) ? "baseLayers" : layer.name;
+                inputElem.type = (baseLayer) ? "radio" : "checkbox";
+                inputElem.value = layer.name;
+                inputElem.checked = checked;
+                inputElem.defaultChecked = checked;
+
+                if (!baseLayer && !layer.inRange) {
+                    inputElem.disabled = true;
+                }
+                var context = {
+                    'inputElem': inputElem,
+                    'layer': layer,
+                    'layerSwitcher': this
+                };
+                OpenLayers.Event.observe(inputElem, "mouseup", 
+                    OpenLayers.Function.bindAsEventListener(this.onInputClick,
+                                                            context)
+                );
+                
+                // create span
+                var labelSpan = document.createElement("span");
+                if (!baseLayer && !layer.inRange) {
+                    labelSpan.style.color = "gray";
+                }
+                labelSpan.innerHTML = layer.name;
+                labelSpan.style.verticalAlign = (baseLayer) ? "bottom" 
+                                                            : "baseline";
+                OpenLayers.Event.observe(labelSpan, "click", 
+                    OpenLayers.Function.bindAsEventListener(this.onInputClick,
+                                                            context)
+                );
+                // create line break
+                var br = document.createElement("br");
+    
+                
+                var groupArray = (baseLayer) ? this.baseLayers
+                                             : this.dataLayers;
+                groupArray.push({
+                    'layer': layer,
+                    'inputElem': inputElem,
+                    'labelSpan': labelSpan
+                });
+                                                     
+    
+                var groupDiv = (baseLayer) ? this.baseLayersDiv
+                                           : this.dataLayersDiv;
+                groupDiv.appendChild(inputElem);
+                groupDiv.appendChild(labelSpan);
+                groupDiv.appendChild(br);
+            }
+        }
+
+        // if no overlays, dont display the overlay label
+        this.dataLbl.style.display = (containsOverlays) ? "" : "none";        
+        
+        // if no baselayers, dont display the baselayer label
+        this.baseLbl.style.display = (containsBaseLayers) ? "" : "none";        
+
+        return this.div;
+    },
+
+    /** 
+     * Method:
+     * A label has been clicked, check or uncheck its corresponding input
+     * 
+     * Parameters:
+     * e - {Event} 
+     *
+     * Context:  
+     *  - {DOMElement} inputElem
+     *  - {<OpenLayers.Control.LayerSwitcher>} layerSwitcher
+     *  - {<OpenLayers.Layer>} layer
+     */
+
+    onInputClick: function(e) {
+
+        if (!this.inputElem.disabled) {
+            if (this.inputElem.type == "radio") {
+                this.inputElem.checked = true;
+                this.layer.map.setBaseLayer(this.layer);
+            } else {
+                this.inputElem.checked = !this.inputElem.checked;
+                this.layerSwitcher.updateMap();
+            }
+        }
+        OpenLayers.Event.stop(e);
+    },
+    
+    /**
+     * Method: onLayerClick
+     * Need to update the map accordingly whenever user clicks in either of
+     *     the layers.
+     * 
+     * Parameters: 
+     * e - {Event} 
+     */
+    onLayerClick: function(e) {
+        this.updateMap();
+    },
+
+
+    /** 
+     * Method: updateMap
+     * Cycles through the loaded data and base layer input arrays and makes
+     *     the necessary calls to the Map object such that that the map's 
+     *     visual state corresponds to what the user has selected in 
+     *     the control.
+     */
+    updateMap: function() {
+
+        // set the newly selected base layer        
+        for(var i=0; i < this.baseLayers.length; i++) {
+            var layerEntry = this.baseLayers[i];
+            if (layerEntry.inputElem.checked) {
+                this.map.setBaseLayer(layerEntry.layer, false);
+            }
+        }
+
+        // set the correct visibilities for the overlays
+        for(var i=0; i < this.dataLayers.length; i++) {
+            var layerEntry = this.dataLayers[i];   
+            layerEntry.layer.setVisibility(layerEntry.inputElem.checked);
+        }
+
+    },
+
+    /** 
+     * Method: maximizeControl
+     * Set up the labels and divs for the control
+     * 
+     * Parameters:
+     * e - {Event} 
+     */
+    maximizeControl: function(e) {
+
+        //HACK HACK HACK - find a way to auto-size this layerswitcher
+        this.div.style.width = "20em";
+        this.div.style.height = "";
+
+        this.showControls(false);
+
+        if (e != null) {
+            OpenLayers.Event.stop(e);                                            
+        }
+    },
+    
+    /** 
+     * Method: minimizeControl
+     * Hide all the contents of the control, shrink the size, 
+     *     add the maximize icon
+     *
+     * Parameters:
+     * e - {Event} 
+     */
+    minimizeControl: function(e) {
+
+        this.div.style.width = "0px";
+        this.div.style.height = "0px";
+
+        this.showControls(true);
+
+        if (e != null) {
+            OpenLayers.Event.stop(e);                                            
+        }
+    },
+
+    /**
+     * Method: showControls
+     * Hide/Show all LayerSwitcher controls depending on whether we are
+     *     minimized or not
+     * 
+     * Parameters:
+     * minimize - {Boolean}
+     */
+    showControls: function(minimize) {
+
+        this.maximizeDiv.style.display = minimize ? "" : "none";
+        this.minimizeDiv.style.display = minimize ? "none" : "";
+
+        this.layersDiv.style.display = minimize ? "none" : "";
+    },
+    
+    /** 
+     * Method: loadContents
+     * Set up the labels and divs for the control
+     */
+    loadContents: function() {
+
+        //configure main div
+        this.div.style.position = "absolute";
+        this.div.style.top = "25px";
+        this.div.style.right = "0px";
+        this.div.style.left = "";
+        this.div.style.fontFamily = "sans-serif";
+        this.div.style.fontWeight = "bold";
+        this.div.style.marginTop = "3px";
+        this.div.style.marginLeft = "3px";
+        this.div.style.marginBottom = "3px";
+        this.div.style.fontSize = "smaller";   
+        this.div.style.color = "white";   
+        this.div.style.backgroundColor = "transparent";
+    
+        OpenLayers.Event.observe(this.div, "mouseup", 
+            OpenLayers.Function.bindAsEventListener(this.mouseUp, this));
+        OpenLayers.Event.observe(this.div, "click",
+                      this.ignoreEvent);
+        OpenLayers.Event.observe(this.div, "mousedown",
+            OpenLayers.Function.bindAsEventListener(this.mouseDown, this));
+        OpenLayers.Event.observe(this.div, "dblclick", this.ignoreEvent);
+
+
+        // layers list div        
+        this.layersDiv = document.createElement("div");
+        this.layersDiv.id = "layersDiv";
+        this.layersDiv.style.paddingTop = "5px";
+        this.layersDiv.style.paddingLeft = "10px";
+        this.layersDiv.style.paddingBottom = "5px";
+        this.layersDiv.style.paddingRight = "75px";
+        this.layersDiv.style.backgroundColor = this.activeColor;        
+
+        // had to set width/height to get transparency in IE to work.
+        // thanks -- http://jszen.blogspot.com/2005/04/ie6-opacity-filter-caveat.html
+        //
+        this.layersDiv.style.width = "100%";
+        this.layersDiv.style.height = "100%";
+
+
+        this.baseLbl = document.createElement("div");
+        this.baseLbl.innerHTML = OpenLayers.i18n("baseLayer");
+        this.baseLbl.style.marginTop = "3px";
+        this.baseLbl.style.marginLeft = "3px";
+        this.baseLbl.style.marginBottom = "3px";
+        
+        this.baseLayersDiv = document.createElement("div");
+        this.baseLayersDiv.style.paddingLeft = "10px";
+        /*OpenLayers.Event.observe(this.baseLayersDiv, "click", 
+            OpenLayers.Function.bindAsEventListener(this.onLayerClick, this));
+        */
+                     
+
+        this.dataLbl = document.createElement("div");
+        this.dataLbl.innerHTML = OpenLayers.i18n("overlays");
+        this.dataLbl.style.marginTop = "3px";
+        this.dataLbl.style.marginLeft = "3px";
+        this.dataLbl.style.marginBottom = "3px";
+        
+        this.dataLayersDiv = document.createElement("div");
+        this.dataLayersDiv.style.paddingLeft = "10px";
+
+        if (this.ascending) {
+            this.layersDiv.appendChild(this.baseLbl);
+            this.layersDiv.appendChild(this.baseLayersDiv);
+            this.layersDiv.appendChild(this.dataLbl);
+            this.layersDiv.appendChild(this.dataLayersDiv);
+        } else {
+            this.layersDiv.appendChild(this.dataLbl);
+            this.layersDiv.appendChild(this.dataLayersDiv);
+            this.layersDiv.appendChild(this.baseLbl);
+            this.layersDiv.appendChild(this.baseLayersDiv);
+        }    
+ 
+        this.div.appendChild(this.layersDiv);
+
+        OpenLayers.Rico.Corner.round(this.div, {corners: "tl bl",
+                                        bgColor: "transparent",
+                                        color: this.activeColor,
+                                        blend: false});
+
+        OpenLayers.Rico.Corner.changeOpacity(this.layersDiv, 0.75);
+
+        var imgLocation = OpenLayers.Util.getImagesLocation();
+        var sz = new OpenLayers.Size(18,18);        
+
+        // maximize button div
+        var img = imgLocation + 'layer-switcher-maximize.png';
+        this.maximizeDiv = OpenLayers.Util.createAlphaImageDiv(
+                                    "OpenLayers_Control_MaximizeDiv", 
+                                    null, 
+                                    sz, 
+                                    img, 
+                                    "absolute");
+        this.maximizeDiv.style.top = "5px";
+        this.maximizeDiv.style.right = "0px";
+        this.maximizeDiv.style.left = "";
+        this.maximizeDiv.style.display = "none";
+        OpenLayers.Event.observe(this.maximizeDiv, "click", 
+            OpenLayers.Function.bindAsEventListener(this.maximizeControl, this)
+        );
+        
+        this.div.appendChild(this.maximizeDiv);
+
+        // minimize button div
+        var img = imgLocation + 'layer-switcher-minimize.png';
+        var sz = new OpenLayers.Size(18,18);        
+        this.minimizeDiv = OpenLayers.Util.createAlphaImageDiv(
+                                    "OpenLayers_Control_MinimizeDiv", 
+                                    null, 
+                                    sz, 
+                                    img, 
+                                    "absolute");
+        this.minimizeDiv.style.top = "5px";
+        this.minimizeDiv.style.right = "0px";
+        this.minimizeDiv.style.left = "";
+        this.minimizeDiv.style.display = "none";
+        OpenLayers.Event.observe(this.minimizeDiv, "click", 
+            OpenLayers.Function.bindAsEventListener(this.minimizeControl, this)
+        );
+
+        this.div.appendChild(this.minimizeDiv);
+    },
+    
+    /** 
+     * Method: ignoreEvent
+     * 
+     * Parameters:
+     * evt - {Event} 
+     */
+    ignoreEvent: function(evt) {
+        OpenLayers.Event.stop(evt);
+    },
+
+    /** 
+     * Method: mouseDown
+     * Register a local 'mouseDown' flag so that we'll know whether or not
+     *     to ignore a mouseUp event
+     * 
+     * Parameters:
+     * evt - {Event}
+     */
+    mouseDown: function(evt) {
+        this.isMouseDown = true;
+        this.ignoreEvent(evt);
+    },
+
+    /** 
+     * Method: mouseUp
+     * If the 'isMouseDown' flag has been set, that means that the drag was 
+     *     started from within the LayerSwitcher control, and thus we can 
+     *     ignore the mouseup. Otherwise, let the Event continue.
+     *  
+     * Parameters:
+     * evt - {Event} 
+     */
+    mouseUp: function(evt) {
+        if (this.isMouseDown) {
+            this.isMouseDown = false;
+            this.ignoreEvent(evt);
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Control.LayerSwitcher"
+});
+/* ======================================================================
+    OpenLayers/Control/MouseDefaults.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Control.js
+ */
+
+/**
+ * Class: OpenLayers.Control.MouseDefaults
+ *
+ * Inherits from:
+ *  - <OpenLayers.Control>
+ */
+OpenLayers.Control.MouseDefaults = OpenLayers.Class(OpenLayers.Control, {
+
+    /** WARNING WARNING WARNING!!!
+        This class is DEPRECATED in 2.4 and will be removed by 3.0.
+        If you need this functionality, use Control.Navigation instead!!! */
+
+    /** 
+     * Property: performedDrag
+     * {Boolean}
+     */
+    performedDrag: false,
+
+    /** 
+     * Property: wheelObserver 
+     * {Function}
+     */
+    wheelObserver: null,
+
+    /** 
+     * Constructor: OpenLayers.Control.MouseDefaults
+     */
+    initialize: function() {
+        OpenLayers.Control.prototype.initialize.apply(this, arguments);
+    },
+
+    /**
+     * APIMethod: destroy
+     */    
+    destroy: function() {
+        
+        if (this.handler) {
+            this.handler.destroy();
+        }
+        this.handler = null;
+
+        this.map.events.un({
+            "click": this.defaultClick,
+            "dblclick": this.defaultDblClick,
+            "mousedown": this.defaultMouseDown,
+            "mouseup": this.defaultMouseUp,
+            "mousemove": this.defaultMouseMove,
+            "mouseout": this.defaultMouseOut,
+            scope: this
+        });
+
+        //unregister mousewheel events specifically on the window and document
+        OpenLayers.Event.stopObserving(window, "DOMMouseScroll", 
+                                        this.wheelObserver);
+        OpenLayers.Event.stopObserving(window, "mousewheel", 
+                                        this.wheelObserver);
+        OpenLayers.Event.stopObserving(document, "mousewheel", 
+                                        this.wheelObserver);
+        this.wheelObserver = null;
+                      
+        OpenLayers.Control.prototype.destroy.apply(this, arguments);        
+    },
+
+    /**
+     * Method: draw
+     */
+    draw: function() {
+        this.map.events.on({
+            "click": this.defaultClick,
+            "dblclick": this.defaultDblClick,
+            "mousedown": this.defaultMouseDown,
+            "mouseup": this.defaultMouseUp,
+            "mousemove": this.defaultMouseMove,
+            "mouseout": this.defaultMouseOut,
+            scope: this
+        });
+
+        this.registerWheelEvents();
+
+    },
+
+    /**
+     * Method: registerWheelEvents
+     */
+    registerWheelEvents: function() {
+
+        this.wheelObserver = OpenLayers.Function.bindAsEventListener(
+            this.onWheelEvent, this
+        );
+        
+        //register mousewheel events specifically on the window and document
+        OpenLayers.Event.observe(window, "DOMMouseScroll", this.wheelObserver);
+        OpenLayers.Event.observe(window, "mousewheel", this.wheelObserver);
+        OpenLayers.Event.observe(document, "mousewheel", this.wheelObserver);
+    },
+
+    /**
+     * Method: defaultClick
+     * 
+     * Parameters:
+     * evt - {Event} 
+     *
+     * Returns:
+     * {Boolean}
+     */
+    defaultClick: function (evt) {
+        if (!OpenLayers.Event.isLeftClick(evt)) {
+            return;
+        }
+        var notAfterDrag = !this.performedDrag;
+        this.performedDrag = false;
+        return notAfterDrag;
+    },
+
+    /**
+     * Method: defaultDblClick
+     * 
+     * Parameters:
+     * evt - {Event} 
+     */
+    defaultDblClick: function (evt) {
+        var newCenter = this.map.getLonLatFromViewPortPx( evt.xy ); 
+        this.map.setCenter(newCenter, this.map.zoom + 1);
+        OpenLayers.Event.stop(evt);
+        return false;
+    },
+
+    /**
+     * Method: defaultMouseDown
+     * 
+     * Parameters:
+     * evt - {Event} 
+     */
+    defaultMouseDown: function (evt) {
+        if (!OpenLayers.Event.isLeftClick(evt)) {
+            return;
+        }
+        this.mouseDragStart = evt.xy.clone();
+        this.performedDrag  = false;
+        if (evt.shiftKey) {
+            this.map.div.style.cursor = "crosshair";
+            this.zoomBox = OpenLayers.Util.createDiv('zoomBox',
+                                                     this.mouseDragStart,
+                                                     null,
+                                                     null,
+                                                     "absolute",
+                                                     "2px solid red");
+            this.zoomBox.style.backgroundColor = "white";
+            this.zoomBox.style.filter = "alpha(opacity=50)"; // IE
+            this.zoomBox.style.opacity = "0.50";
+            this.zoomBox.style.fontSize = "1px";
+            this.zoomBox.style.zIndex = this.map.Z_INDEX_BASE["Popup"] - 1;
+            this.map.viewPortDiv.appendChild(this.zoomBox);
+        }
+        document.onselectstart=function() { return false; };
+        OpenLayers.Event.stop(evt);
+    },
+
+    /**
+     * Method: defaultMouseMove
+     *
+     * Parameters:
+     * evt - {Event} 
+     */
+    defaultMouseMove: function (evt) {
+        // record the mouse position, used in onWheelEvent
+        this.mousePosition = evt.xy.clone();
+
+        if (this.mouseDragStart != null) {
+            if (this.zoomBox) {
+                var deltaX = Math.abs(this.mouseDragStart.x - evt.xy.x);
+                var deltaY = Math.abs(this.mouseDragStart.y - evt.xy.y);
+                this.zoomBox.style.width = Math.max(1, deltaX) + "px";
+                this.zoomBox.style.height = Math.max(1, deltaY) + "px";
+                if (evt.xy.x < this.mouseDragStart.x) {
+                    this.zoomBox.style.left = evt.xy.x+"px";
+                }
+                if (evt.xy.y < this.mouseDragStart.y) {
+                    this.zoomBox.style.top = evt.xy.y+"px";
+                }
+            } else {
+                var deltaX = this.mouseDragStart.x - evt.xy.x;
+                var deltaY = this.mouseDragStart.y - evt.xy.y;
+                var size = this.map.getSize();
+                var newXY = new OpenLayers.Pixel(size.w / 2 + deltaX,
+                                                 size.h / 2 + deltaY);
+                var newCenter = this.map.getLonLatFromViewPortPx( newXY ); 
+                this.map.setCenter(newCenter, null, true);
+                this.mouseDragStart = evt.xy.clone();
+                this.map.div.style.cursor = "move";
+            }
+            this.performedDrag = true;
+        }
+    },
+
+    /**
+     * Method: defaultMouseUp
+     * 
+     * Parameters:
+     * evt - {<OpenLayers.Event>} 
+     */
+    defaultMouseUp: function (evt) {
+        if (!OpenLayers.Event.isLeftClick(evt)) {
+            return;
+        }
+        if (this.zoomBox) {
+            this.zoomBoxEnd(evt);    
+        } else {
+            if (this.performedDrag) {
+                this.map.setCenter(this.map.center);
+            }
+        }
+        document.onselectstart=null;
+        this.mouseDragStart = null;
+        this.map.div.style.cursor = "";
+    },
+
+    /**
+     * Method: defaultMouseOut
+     * 
+     * Parameters:
+     * evt - {Event} 
+     */
+    defaultMouseOut: function (evt) {
+        if (this.mouseDragStart != null && 
+            OpenLayers.Util.mouseLeft(evt, this.map.div)) {
+            if (this.zoomBox) {
+                this.removeZoomBox();
+            }
+            this.mouseDragStart = null;
+        }
+    },
+
+
+    /** 
+     * Method: defaultWheelUp
+     * User spun scroll wheel up
+     * 
+     */
+    defaultWheelUp: function(evt) {
+        if (this.map.getZoom() <= this.map.getNumZoomLevels()) {
+            this.map.setCenter(this.map.getLonLatFromPixel(evt.xy),
+                               this.map.getZoom() + 1);
+        }
+    },
+
+    /**
+     * Method: defaultWheelDown
+     * User spun scroll wheel down
+     */
+    defaultWheelDown: function(evt) {
+        if (this.map.getZoom() > 0) {
+            this.map.setCenter(this.map.getLonLatFromPixel(evt.xy),
+                               this.map.getZoom() - 1);
+        }
+    },
+
+    /**
+     * Method: zoomBoxEnd
+     * Zoombox function. 
+     */
+    zoomBoxEnd: function(evt) {
+        if (this.mouseDragStart != null) {
+            if (Math.abs(this.mouseDragStart.x - evt.xy.x) > 5 ||    
+                Math.abs(this.mouseDragStart.y - evt.xy.y) > 5) {   
+                var start = this.map.getLonLatFromViewPortPx( this.mouseDragStart ); 
+                var end = this.map.getLonLatFromViewPortPx( evt.xy );
+                var top = Math.max(start.lat, end.lat);
+                var bottom = Math.min(start.lat, end.lat);
+                var left = Math.min(start.lon, end.lon);
+                var right = Math.max(start.lon, end.lon);
+                var bounds = new OpenLayers.Bounds(left, bottom, right, top);
+                this.map.zoomToExtent(bounds);
+            } else {
+                var end = this.map.getLonLatFromViewPortPx( evt.xy );
+                this.map.setCenter(new OpenLayers.LonLat(
+                  (end.lon),
+                  (end.lat)
+                 ), this.map.getZoom() + 1);
+            }    
+            this.removeZoomBox();
+       }
+    },
+
+    /**
+     * Method: removeZoomBox
+     * Remove the zoombox from the screen and nullify our reference to it.
+     */
+    removeZoomBox: function() {
+        this.map.viewPortDiv.removeChild(this.zoomBox);
+        this.zoomBox = null;
+    },
+
+
+/**
+ *  Mouse ScrollWheel code thanks to http://adomas.org/javascript-mouse-wheel/
+ */
+
+
+    /**
+     * Method: onWheelEvent
+     * Catch the wheel event and handle it xbrowserly
+     *
+     * Parameters: 
+     * e - {Event} 
+     */
+    onWheelEvent: function(e){
+    
+        // first determine whether or not the wheeling was inside the map
+        var inMap = false;
+        var elem = OpenLayers.Event.element(e);
+        while(elem != null) {
+            if (this.map && elem == this.map.div) {
+                inMap = true;
+                break;
+            }
+            elem = elem.parentNode;
+        }
+        
+        if (inMap) {
+            
+            var delta = 0;
+            if (!e) {
+                e = window.event;
+            }
+            if (e.wheelDelta) {
+                delta = e.wheelDelta/120; 
+                if (window.opera && window.opera.version() < 9.2) {
+                    delta = -delta;
+                }
+            } else if (e.detail) {
+                delta = -e.detail / 3;
+            }
+            if (delta) {
+                // add the mouse position to the event because mozilla has a bug
+                // with clientX and clientY (see https://bugzilla.mozilla.org/show_bug.cgi?id=352179)
+                // getLonLatFromViewPortPx(e) returns wrong values
+                e.xy = this.mousePosition;
+
+                if (delta < 0) {
+                   this.defaultWheelDown(e);
+                } else {
+                   this.defaultWheelUp(e);
+                }
+            }
+            
+            //only wheel the map, not the window
+            OpenLayers.Event.stop(e);
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Control.MouseDefaults"
+});
+/* ======================================================================
+    OpenLayers/Control/MousePosition.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Control.js
+ */
+
+/**
+ * Class: OpenLayers.Control.MousePosition
+ */
+OpenLayers.Control.MousePosition = OpenLayers.Class(OpenLayers.Control, {
+    
+    /** 
+     * Property: element
+     * {DOMElement} 
+     */
+    element: null,
+    
+    /** 
+     * APIProperty: prefix
+     * {String}
+     */
+    prefix: '',
+    
+    /** 
+     * APIProperty: separator
+     * {String}
+     */
+    separator: ', ',
+    
+    /** 
+     * APIProperty: suffix
+     * {String}
+     */
+    suffix: '',
+    
+    /** 
+     * APIProperty: numDigits
+     * {Integer}
+     */
+    numdigits: 5,
+    
+    /** 
+     * APIProperty: granularity
+     * {Integer} 
+     */
+    granularity: 10,
+    
+    /** 
+     * Property: lastXy
+     * {<OpenLayers.LonLat>}
+     */
+    lastXy: null,
+
+    /**
+     * APIProperty: displayProjection
+     * {<OpenLayers.Projection>} A projection that the 
+     * mousecontrol will display.
+     */
+    displayProjection: null, 
+    
+    /**
+     * Constructor: OpenLayers.Control.MousePosition
+     * 
+     * Parameters:
+     * options - {DOMElement} Options for control.
+     */
+    initialize: function(options) {
+        OpenLayers.Control.prototype.initialize.apply(this, arguments);
+    },
+
+    /**
+     * Method: destroy
+     */
+     destroy: function() {
+         if (this.map) {
+             this.map.events.unregister('mousemove', this, this.redraw);
+         }
+         OpenLayers.Control.prototype.destroy.apply(this, arguments);
+     },
+
+    /**
+     * Method: draw
+     * {DOMElement}
+     */    
+    draw: function() {
+        OpenLayers.Control.prototype.draw.apply(this, arguments);
+
+        if (!this.element) {
+            this.div.left = "";
+            this.div.top = "";
+            this.element = this.div;
+        }
+        
+        this.redraw();
+        return this.div;
+    },
+   
+    /**
+     * Method: redraw  
+     */
+    redraw: function(evt) {
+
+        var lonLat;
+
+        if (evt == null) {
+            lonLat = new OpenLayers.LonLat(0, 0);
+        } else {
+            if (this.lastXy == null ||
+                Math.abs(evt.xy.x - this.lastXy.x) > this.granularity ||
+                Math.abs(evt.xy.y - this.lastXy.y) > this.granularity)
+            {
+                this.lastXy = evt.xy;
+                return;
+            }
+
+            lonLat = this.map.getLonLatFromPixel(evt.xy);
+            if (!lonLat) { 
+                // map has not yet been properly initialized
+                return;
+            }    
+            if (this.displayProjection) {
+                lonLat.transform(this.map.getProjectionObject(), 
+                                 this.displayProjection );
+            }      
+            this.lastXy = evt.xy;
+            
+        }
+        
+        var newHtml = this.formatOutput(lonLat);
+
+        if (newHtml != this.element.innerHTML) {
+            this.element.innerHTML = newHtml;
+        }
+    },
+
+    /**
+     * Method: formatOutput
+     * Override to provide custom display output
+     *
+     * Parameters:
+     * lonLat - {<OpenLayers.LonLat>} Location to display
+     */
+    formatOutput: function(lonLat) {
+        var digits = parseInt(this.numdigits);
+        var newHtml =
+            this.prefix +
+            lonLat.lon.toFixed(digits) +
+            this.separator + 
+            lonLat.lat.toFixed(digits) +
+            this.suffix;
+        return newHtml;
+     },
+
+    /** 
+     * Method: setMap
+     */
+    setMap: function() {
+        OpenLayers.Control.prototype.setMap.apply(this, arguments);
+        this.map.events.register( 'mousemove', this, this.redraw);
+    },     
+
+    CLASS_NAME: "OpenLayers.Control.MousePosition"
+});
+/* ======================================================================
+    OpenLayers/Control/NavigationHistory.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Control.js
+ */
+
+/**
+ * Class: OpenLayers.Control.NavigationHistory
+ * A navigation history control.  This is a meta-control, that creates two
+ *     dependent controls: <previous> and <next>.  Call the trigger method
+ *     on the <previous> and <next> controls to restore previous and next
+ *     history states.  The previous and next controls will become active
+ *     when there are available states to restore and will become deactive
+ *     when there are no states to restore.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Control.Control>
+ */
+OpenLayers.Control.NavigationHistory = OpenLayers.Class(OpenLayers.Control, {
+
+    /**
+     * Property: type
+     * {String} Note that this control is not intended to be added directly
+     *     to a control panel.  Instead, add the sub-controls previous and
+     *     next.  These sub-controls are button type controls that activate
+     *     and deactivate themselves.  If this parent control is added to
+     *     a panel, it will act as a toggle.
+     */
+    type: OpenLayers.Control.TYPE_TOGGLE,
+
+    /**
+     * APIProperty: previous
+     * {OpenLayers.Control} A button type control whose trigger method restores
+     *     the previous state managed by this control.
+     */
+    previous: null,
+    
+    /**
+     * APIProperty: previousOptions
+     * {Object} Set this property on the options argument of the constructor
+     *     to set optional properties on the <previous> control.
+     */
+    previousOptions: null,
+    
+    /**
+     * APIProperty: next
+     * {OpenLayers.Control} A button type control whose trigger method restores
+     *     the next state managed by this control.
+     */
+    next: null,
+
+    /**
+     * APIProperty: nextOptions
+     * {Object} Set this property on the options argument of the constructor
+     *     to set optional properties on the <next> control.
+     */
+    nextOptions: null,
+
+    /**
+     * APIProperty: limit
+     * {Integer} Optional limit on the number of history items to retain.  If
+     *     null, there is no limit.  Default is 50.
+     */
+    limit: 50,
+
+    /**
+     * Property: activateOnDraw
+     * {Boolean} Activate the control when it is first added to the map.
+     *     Default is true.
+     */
+    activateOnDraw: true,
+
+    /**
+     * Property: clearOnDeactivate
+     * {Boolean} Clear the history when the control is deactivated.  Default
+     *     is false.
+     */
+    clearOnDeactivate: false,
+
+    /**
+     * Property: registry
+     * {Object} An object with keys corresponding to event types.  Values
+     *     are functions that return an object representing the current state.
+     */
+    registry: null,
+
+    /**
+     * Property: nextStack
+     * {Array} Array of items in the history.
+     */
+    nextStack: null,
+
+    /**
+     * Property: previousStack
+     * {Array} List of items in the history.  First item represents the current
+     *     state.
+     */
+    previousStack: null,
+    
+    /**
+     * Property: listeners
+     * {Object} An object containing properties corresponding to event types.
+     *     This object is used to configure the control and is modified on
+     *     construction.
+     */
+    listeners: null,
+    
+    /**
+     * Property: restoring
+     * {Boolean} Currently restoring a history state.  This is set to true
+     *     before calling restore and set to false after restore returns.
+     */
+    restoring: false,
+    
+    /**
+     * Constructor: OpenLayers.Control.NavigationHistory 
+     * 
+     * Parameters:
+     * options - {Object} An optional object whose properties will be used
+     *     to extend the control.
+     */
+    initialize: function(options) {
+        OpenLayers.Control.prototype.initialize.apply(this, [options]);
+        
+        this.registry = OpenLayers.Util.extend({
+            "moveend": function() {
+                return {
+                    center: this.map.getCenter(),
+                    resolution: this.map.getResolution()                
+                };
+            }
+        }, this.registry);
+        
+        this.clear();
+
+        var previousOptions = {
+            trigger: OpenLayers.Function.bind(this.previousTrigger, this),
+            displayClass: this.displayClass + "Previous"
+        };
+        OpenLayers.Util.extend(previousOptions, this.previousOptions);
+        this.previous = new OpenLayers.Control.Button(previousOptions);
+        
+        var nextOptions = {
+            trigger: OpenLayers.Function.bind(this.nextTrigger, this),
+            displayClass: this.displayClass + "Next"
+        };
+        OpenLayers.Util.extend(nextOptions, this.nextOptions);
+        this.next = new OpenLayers.Control.Button(nextOptions);
+
+    },
+    
+    /**
+     * Method: onPreviousChange
+     * Called when the previous history stack changes.
+     *
+     * Parameters:
+     * state - {Object} An object representing the state to be restored
+     *     if previous is triggered again or null if no previous states remain.
+     * length - {Integer} The number of remaining previous states that can
+     *     be restored.
+     */
+    onPreviousChange: function(state, length) {
+        if(state && !this.previous.active) {
+            this.previous.activate();
+        } else if(!state && this.previous.active) {
+            this.previous.deactivate();
+        }
+    },
+    
+    /**
+     * Method: onNextChange
+     * Called when the next history stack changes.
+     *
+     * Parameters:
+     * state - {Object} An object representing the state to be restored
+     *     if next is triggered again or null if no next states remain.
+     * length - {Integer} The number of remaining next states that can
+     *     be restored.
+     */
+    onNextChange: function(state, length) {
+        if(state && !this.next.active) {
+            this.next.activate();
+        } else if(!state && this.next.active) {
+            this.next.deactivate();
+        }
+    },
+    
+    /**
+     * APIMethod: destroy
+     * Destroy the control.
+     */
+    destroy: function() {
+        OpenLayers.Control.prototype.destroy.apply(this);
+        this.previous.destroy();
+        this.next.destroy();
+        this.deactivate();
+        for(var prop in this) {
+            this[prop] = null;
+        }
+    },
+    
+    /** 
+     * Method: setMap
+     * Set the map property for the control and <previous> and <next> child
+     *     controls.
+     *
+     * Parameters:
+     * map - {<OpenLayers.Map>} 
+     */
+    setMap: function(map) {
+        this.map = map;
+        this.next.setMap(map);
+        this.previous.setMap(map);
+    },
+
+    /**
+     * Method: draw
+     * Called when the control is added to the map.
+     */
+    draw: function() {
+        OpenLayers.Control.prototype.draw.apply(this, arguments);
+        this.next.draw();
+        this.previous.draw();
+        if(this.activateOnDraw) {
+            this.activate();
+        }
+    },
+    
+    /**
+     * Method: previousTrigger
+     * Restore the previous state.  If no items are in the previous history
+     *     stack, this has no effect.
+     *
+     * Returns:
+     * {Object} Item representing state that was restored.  Undefined if no
+     *     items are in the previous history stack.
+     */
+    previousTrigger: function() {
+        var current = this.previousStack.shift();
+        var state = this.previousStack.shift();
+        if(state != undefined) {
+            this.nextStack.unshift(current);
+            this.previousStack.unshift(state);
+            this.restoring = true;
+            this.restore(state);
+            this.restoring = false;
+            this.onNextChange(this.nextStack[0], this.nextStack.length);
+            this.onPreviousChange(
+                this.previousStack[1], this.previousStack.length - 1
+            );
+        } else {
+            this.previousStack.unshift(current);
+        }
+        return state;
+    },
+    
+    /**
+     * APIMethod: nextTrigger
+     * Restore the next state.  If no items are in the next history
+     *     stack, this has no effect.  The next history stack is populated
+     *     as states are restored from the previous history stack.
+     *
+     * Returns:
+     * {Object} Item representing state that was restored.  Undefined if no
+     *     items are in the next history stack.
+     */
+    nextTrigger: function() {
+        var state = this.nextStack.shift();
+        if(state != undefined) {
+            this.previousStack.unshift(state);
+            this.restoring = true;
+            this.restore(state);
+            this.restoring = false;
+            this.onNextChange(this.nextStack[0], this.nextStack.length);
+            this.onPreviousChange(
+                this.previousStack[1], this.previousStack.length - 1
+            );
+        }
+        return state;
+    },
+    
+    /**
+     * APIMethod: clear
+     * Clear history.
+     */
+    clear: function() {
+        this.previousStack = [];
+        this.nextStack = [];
+    },
+
+    /**
+     * Method: restore
+     * Update the state with the given object.
+     *
+     * Parameters:
+     * state - {Object} An object representing the state to restore.
+     */
+    restore: function(state) {
+        var zoom = this.map.getZoomForResolution(state.resolution);
+        this.map.setCenter(state.center, zoom);
+    },
+    
+    /**
+     * Method: setListeners
+     * Sets functions to be registered in the listeners object.
+     */
+    setListeners: function() {
+        this.listeners = {};
+        for(var type in this.registry) {
+            this.listeners[type] = OpenLayers.Function.bind(function() {
+                if(!this.restoring) {
+                    var state = this.registry[type].apply(this, arguments);
+                    this.previousStack.unshift(state);
+                    if(this.previousStack.length > 1) {
+                        this.onPreviousChange(
+                            this.previousStack[1], this.previousStack.length - 1
+                        );
+                    }
+                    if(this.previousStack.length > (this.limit + 1)) {
+                        this.previousStack.pop();
+                    }
+                    if(this.nextStack.length > 0) {
+                        this.nextStack = [];
+                        this.onNextChange(null, 0);
+                    }
+                }
+                return true;
+            }, this);
+        }
+    },
+
+    /**
+     * APIMethod: activate
+     * Activate the control.  This registers any listeners.
+     *
+     * Returns:
+     * {Boolean} Control successfully activated.
+     */
+    activate: function() {
+        var activated = false;
+        if(this.map) {
+            if(OpenLayers.Control.prototype.activate.apply(this)) {
+                if(this.listeners == null) {
+                    this.setListeners();
+                }
+                for(var type in this.listeners) {
+                    this.map.events.register(type, this, this.listeners[type]);
+                }
+                activated = true;
+                if(this.previousStack.length == 0) {
+                    this.initStack();
+                }
+            }
+        }
+        return activated;
+    },
+    
+    /**
+     * Method: initStack
+     * Called after the control is activated if the previous history stack is
+     *     empty.
+     */
+    initStack: function() {
+        if(this.map.getCenter()) {
+            this.listeners.moveend();
+        }
+    },
+    
+    /**
+     * APIMethod: deactivate
+     * Deactivate the control.  This unregisters any listeners.
+     *
+     * Returns:
+     * {Boolean} Control successfully deactivated.
+     */
+    deactivate: function() {
+        var deactivated = false;
+        if(this.map) {
+            if(OpenLayers.Control.prototype.deactivate.apply(this)) {
+                for(var type in this.listeners) {
+                    this.map.events.unregister(
+                        type, this, this.listeners[type]
+                    );
+                }
+                if(this.clearOnDeactivate) {
+                    this.clear();
+                }
+                deactivated = true;
+            }
+        }
+        return deactivated;
+    },
+    
+    CLASS_NAME: "OpenLayers.Control.NavigationHistory"
+});
+
+/* ======================================================================
+    OpenLayers/Control/PanZoom.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Control.js
+ */
+
+/**
+ * Class: OpenLayers.PanZoom
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Control>
+ */
+OpenLayers.Control.PanZoom = OpenLayers.Class(OpenLayers.Control, {
+
+    /** 
+     * APIProperty: slideFactor
+     * {Integer} Number of pixels by which we'll pan the map in any direction 
+     *     on clicking the arrow buttons. 
+     */
+    slideFactor: 50,
+
+    /** 
+     * Property: buttons
+     * {Array(DOMElement)} Array of Button Divs 
+     */
+    buttons: null,
+
+    /** 
+     * Property: position
+     * {<OpenLayers.Pixel>} 
+     */
+    position: null,
+
+    /**
+     * Constructor: OpenLayers.Control.PanZoom
+     * 
+     * Parameters:
+     * options - {Object}
+     */
+    initialize: function(options) {
+        this.position = new OpenLayers.Pixel(OpenLayers.Control.PanZoom.X,
+                                             OpenLayers.Control.PanZoom.Y);
+        OpenLayers.Control.prototype.initialize.apply(this, arguments);
+    },
+
+    /**
+     * APIMethod: destroy
+     */
+    destroy: function() {
+        OpenLayers.Control.prototype.destroy.apply(this, arguments);
+        while(this.buttons.length) {
+            var btn = this.buttons.shift();
+            btn.map = null;
+            OpenLayers.Event.stopObservingElement(btn);
+        }
+        this.buttons = null;
+        this.position = null;
+    },
+
+    /**
+     * Method: draw
+     *
+     * Parameters:
+     * px - {<OpenLayers.Pixel>} 
+     * 
+     * Returns:
+     * {DOMElement} A reference to the container div for the PanZoom control.
+     */
+    draw: function(px) {
+        // initialize our internal div
+        OpenLayers.Control.prototype.draw.apply(this, arguments);
+        px = this.position;
+
+        // place the controls
+        this.buttons = [];
+
+        var sz = new OpenLayers.Size(18,18);
+        var centered = new OpenLayers.Pixel(px.x+sz.w/2, px.y);
+
+        this._addButton("panup", "north-mini.png", centered, sz);
+        px.y = centered.y+sz.h;
+        this._addButton("panleft", "west-mini.png", px, sz);
+        this._addButton("panright", "east-mini.png", px.add(sz.w, 0), sz);
+        this._addButton("pandown", "south-mini.png", 
+                        centered.add(0, sz.h*2), sz);
+        this._addButton("zoomin", "zoom-plus-mini.png", 
+                        centered.add(0, sz.h*3+5), sz);
+        this._addButton("zoomworld", "zoom-world-mini.png", 
+                        centered.add(0, sz.h*4+5), sz);
+        this._addButton("zoomout", "zoom-minus-mini.png", 
+                        centered.add(0, sz.h*5+5), sz);
+        return this.div;
+    },
+    
+    /**
+     * Method: _addButton
+     * 
+     * Parameters:
+     * id - {String} 
+     * img - {String} 
+     * xy - {<OpenLayers.Pixel>} 
+     * sz - {<OpenLayers.Size>} 
+     * 
+     * Returns:
+     * {DOMElement} A Div (an alphaImageDiv, to be precise) that contains the
+     *     image of the button, and has all the proper event handlers set.
+     */
+    _addButton:function(id, img, xy, sz) {
+        var imgLocation = OpenLayers.Util.getImagesLocation() + img;
+        var btn = OpenLayers.Util.createAlphaImageDiv(
+                                    "OpenLayers_Control_PanZoom_" + id, 
+                                    xy, sz, imgLocation, "absolute");
+
+        //we want to add the outer div
+        this.div.appendChild(btn);
+
+        OpenLayers.Event.observe(btn, "mousedown", 
+            OpenLayers.Function.bindAsEventListener(this.buttonDown, btn));
+        OpenLayers.Event.observe(btn, "dblclick", 
+            OpenLayers.Function.bindAsEventListener(this.doubleClick, btn));
+        OpenLayers.Event.observe(btn, "click", 
+            OpenLayers.Function.bindAsEventListener(this.doubleClick, btn));
+        btn.action = id;
+        btn.map = this.map;
+        btn.slideFactor = this.slideFactor;
+
+        //we want to remember/reference the outer div
+        this.buttons.push(btn);
+        return btn;
+    },
+    
+    /**
+     * Method: doubleClick
+     *
+     * Parameters:
+     * evt - {Event} 
+     *
+     * Returns:
+     * {Boolean}
+     */
+    doubleClick: function (evt) {
+        OpenLayers.Event.stop(evt);
+        return false;
+    },
+    
+    /**
+     * Method: buttonDown
+     *
+     * Parameters:
+     * evt - {Event} 
+     */
+    buttonDown: function (evt) {
+        if (!OpenLayers.Event.isLeftClick(evt)) {
+            return;
+        }
+
+        switch (this.action) {
+            case "panup": 
+                this.map.pan(0, -this.slideFactor);
+                break;
+            case "pandown": 
+                this.map.pan(0, this.slideFactor);
+                break;
+            case "panleft": 
+                this.map.pan(-this.slideFactor, 0);
+                break;
+            case "panright": 
+                this.map.pan(this.slideFactor, 0);
+                break;
+            case "zoomin": 
+                this.map.zoomIn(); 
+                break;
+            case "zoomout": 
+                this.map.zoomOut(); 
+                break;
+            case "zoomworld": 
+                this.map.zoomToMaxExtent(); 
+                break;
+        }
+
+        OpenLayers.Event.stop(evt);
+    },
+
+    CLASS_NAME: "OpenLayers.Control.PanZoom"
+});
+
+/**
+ * Constant: X
+ * {Integer}
+ */
+OpenLayers.Control.PanZoom.X = 4;
+
+/**
+ * Constant: Y
+ * {Integer}
+ */
+OpenLayers.Control.PanZoom.Y = 4;
+/* ======================================================================
+    OpenLayers/Control/Panel.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Control.js
+ */
+
+/**
+ * Class: OpenLayers.Control.Panel
+ *
+ * Inherits from:
+ *  - <OpenLayers.Control>
+ */
+OpenLayers.Control.Panel = OpenLayers.Class(OpenLayers.Control, {
+    /**
+     * Property: controls
+     * Array({<OpenLayers.Control>})
+     */
+    controls: null,    
+    
+    /** 
+     * APIProperty: defaultControl
+     * <OpenLayers.Control> The control which is activated when the control is
+     * activated (turned on), which also happens at instantiation.
+     */
+    defaultControl: null, 
+
+    /**
+     * Constructor: OpenLayers.Control.Panel
+     * Create a new control panel.
+     * 
+     * Parameters:
+     * options - {Object} An optional object whose properties will be used
+     *     to extend the control.
+     */
+    initialize: function(options) {
+        OpenLayers.Control.prototype.initialize.apply(this, [options]);
+        this.controls = [];
+    },
+
+    /**
+     * APIMethod: destroy
+     */
+    destroy: function() {
+        OpenLayers.Control.prototype.destroy.apply(this, arguments);
+        for(var i = this.controls.length - 1 ; i >= 0; i--) {
+            if(this.controls[i].events) {
+                this.controls[i].events.un({
+                    "activate": this.redraw,
+                    "deactivate": this.redraw,
+                    scope: this
+                });
+            }
+            OpenLayers.Event.stopObservingElement(this.controls[i].panel_div);
+            this.controls[i].panel_div = null;
+        }    
+    },
+
+    /**
+     * APIMethod: activate
+     */
+    activate: function() {
+        if (OpenLayers.Control.prototype.activate.apply(this, arguments)) {
+            for(var i = 0; i < this.controls.length; i++) {
+                if (this.controls[i] == this.defaultControl) {
+                    this.controls[i].activate();
+                }
+            }    
+            this.redraw();
+            return true;
+        } else {
+            return false;
+        }
+    },
+    
+    /**
+     * APIMethod: deactivate
+     */
+    deactivate: function() {
+        if (OpenLayers.Control.prototype.deactivate.apply(this, arguments)) {
+            for(var i = 0; i < this.controls.length; i++) {
+                this.controls[i].deactivate();
+            }    
+            return true;
+        } else {
+            return false;
+        }
+    },
+    
+    /**
+     * Method: draw
+     *
+     * Returns:
+     * {DOMElement}
+     */    
+    draw: function() {
+        OpenLayers.Control.prototype.draw.apply(this, arguments);
+        for (var i = 0; i < this.controls.length; i++) {
+            this.map.addControl(this.controls[i]);
+            this.controls[i].deactivate();
+            this.controls[i].events.on({
+                "activate": this.redraw,
+                "deactivate": this.redraw,
+                scope: this
+            });
+        }
+        this.activate();
+        return this.div;
+    },
+
+    /**
+     * Method: redraw
+     */
+    redraw: function() {
+        this.div.innerHTML = "";
+        if (this.active) {
+            for (var i = 0; i < this.controls.length; i++) {
+                var element = this.controls[i].panel_div;
+                if (this.controls[i].active) {
+                    element.className = this.controls[i].displayClass + "ItemActive";
+                } else {    
+                    element.className = this.controls[i].displayClass + "ItemInactive";
+                }    
+                this.div.appendChild(element);
+            }
+        }
+    },
+
+    /**
+     * APIMethod: activateControl
+     * 
+     * Parameters:
+     * control - {<OpenLayers.Control>}
+     */
+    activateControl: function (control) {
+        if (!this.active) { return false; }
+        if (control.type == OpenLayers.Control.TYPE_BUTTON) {
+            control.trigger();
+            return;
+        }
+        if (control.type == OpenLayers.Control.TYPE_TOGGLE) {
+            if (control.active) {
+                control.deactivate();
+            } else {
+                control.activate();
+            }
+            return;
+        }
+        for (var i = 0; i < this.controls.length; i++) {
+            if (this.controls[i] != control) {
+                if (this.controls[i].type != OpenLayers.Control.TYPE_TOGGLE) {
+                    this.controls[i].deactivate();
+                }
+            }
+        }
+        control.activate();
+    },
+
+    /**
+     * APIMethod: addControls
+     * To build a toolbar, you add a set of controls to it. addControls
+     * lets you add a single control or a list of controls to the 
+     * Control Panel.
+     *
+     * Parameters:
+     * controls - {<OpenLayers.Control>} 
+     */    
+    addControls: function(controls) {
+        if (!(controls instanceof Array)) {
+            controls = [controls];
+        }
+        this.controls = this.controls.concat(controls);
+        
+        // Give each control a panel_div which will be used later.
+        // Access to this div is via the panel_div attribute of the 
+        // control added to the panel.
+        // Also, stop mousedowns and clicks, but don't stop mouseup,
+        // since they need to pass through.
+        for (var i = 0; i < controls.length; i++) {
+            var element = document.createElement("div");
+            var textNode = document.createTextNode(" ");
+            controls[i].panel_div = element;
+            if (controls[i].title != "") {
+                controls[i].panel_div.title = controls[i].title;
+            }
+            OpenLayers.Event.observe(controls[i].panel_div, "click", 
+                OpenLayers.Function.bind(this.onClick, this, controls[i]));
+            OpenLayers.Event.observe(controls[i].panel_div, "mousedown", 
+                OpenLayers.Function.bindAsEventListener(OpenLayers.Event.stop));
+        }    
+
+        if (this.map) { // map.addControl() has already been called on the panel
+            for (var i = 0; i < controls.length; i++) {
+                this.map.addControl(controls[i]);
+                controls[i].deactivate();
+                controls[i].events.on({
+                    "activate": this.redraw,
+                    "deactivate": this.redraw,
+                    scope: this
+                });
+            }
+            this.redraw();
+        }
+    },
+   
+    /**
+     * Method: onClick
+     */
+    onClick: function (ctrl, evt) {
+        OpenLayers.Event.stop(evt ? evt : window.event);
+        this.activateControl(ctrl);
+    },
+
+    /**
+     * APIMethod: getControlsBy
+     * Get a list of controls with properties matching the given criteria.
+     *
+     * Parameter:
+     * property - {String} A control property to be matched.
+     * match - {String | Object} A string to match.  Can also be a regular
+     *     expression literal or object.  In addition, it can be any object
+     *     with a method named test.  For reqular expressions or other, if
+     *     match.test(control[property]) evaluates to true, the control will be
+     *     included in the array returned.  If no controls are found, an empty
+     *     array is returned.
+     *
+     * Returns:
+     * {Array(<OpenLayers.Control>)} A list of controls matching the given criteria.
+     *     An empty array is returned if no matches are found.
+     */
+    getControlsBy: function(property, match) {
+        var test = (typeof match.test == "function");
+        var found = OpenLayers.Array.filter(this.controls, function(item) {
+            return item[property] == match || (test && match.test(item[property]));
+        });
+        return found;
+    },
+
+    /**
+     * APIMethod: getControlsByName
+     * Get a list of contorls with names matching the given name.
+     *
+     * Parameter:
+     * match - {String | Object} A control name.  The name can also be a regular
+     *     expression literal or object.  In addition, it can be any object
+     *     with a method named test.  For reqular expressions or other, if
+     *     name.test(control.name) evaluates to true, the control will be included
+     *     in the list of controls returned.  If no controls are found, an empty
+     *     array is returned.
+     *
+     * Returns:
+     * {Array(<OpenLayers.Control>)} A list of controls matching the given name.
+     *     An empty array is returned if no matches are found.
+     */
+    getControlsByName: function(match) {
+        return this.getControlsBy("name", match);
+    },
+
+    /**
+     * APIMethod: getControlsByClass
+     * Get a list of controls of a given type (CLASS_NAME).
+     *
+     * Parameter:
+     * match - {String | Object} A control class name.  The type can also be a
+     *     regular expression literal or object.  In addition, it can be any
+     *     object with a method named test.  For reqular expressions or other,
+     *     if type.test(control.CLASS_NAME) evaluates to true, the control will
+     *     be included in the list of controls returned.  If no controls are
+     *     found, an empty array is returned.
+     *
+     * Returns:
+     * {Array(<OpenLayers.Control>)} A list of controls matching the given type.
+     *     An empty array is returned if no matches are found.
+     */
+    getControlsByClass: function(match) {
+        return this.getControlsBy("CLASS_NAME", match);
+    },
+
+    CLASS_NAME: "OpenLayers.Control.Panel"
+});
+
+/* ======================================================================
+    OpenLayers/Control/Permalink.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Control.js
+ */
+
+/**
+ * Class: OpenLayers.Control.Permalink
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Control>
+ */
+OpenLayers.Control.Permalink = OpenLayers.Class(OpenLayers.Control, {
+
+    /** 
+     * Property: element 
+     * {DOMElement}
+     */
+    element: null,
+    
+    /** 
+     * APIProperty: base
+     * {String}
+     */
+    base: '',
+
+    /** 
+     * APIProperty: displayProjection
+     * {<OpenLayers.Projection>} Requires proj4js support.  Projection used
+     *     when creating the coordinates in the link. This will reproject the
+     *     map coordinates into display coordinates. If you are using this
+     *     functionality, the permalink which is last added to the map will
+     *     determine the coordinate type which is read from the URL, which
+     *     means you should not add permalinks with different
+     *     displayProjections to the same map. 
+     */
+    displayProjection: null, 
+
+    /**
+     * Constructor: OpenLayers.Control.Permalink
+     *
+     * Parameters: 
+     * element - {DOMElement} 
+     * base - {String} 
+     * options - {Object} options to the control. 
+     */
+    initialize: function(element, base, options) {
+        OpenLayers.Control.prototype.initialize.apply(this, [options]);
+        this.element = OpenLayers.Util.getElement(element);        
+        this.base = base || document.location.href;
+    },
+
+    /**
+     * APIMethod: destroy
+     */
+    destroy: function()  {
+        if (this.element.parentNode == this.div) {
+            this.div.removeChild(this.element);
+        }
+        this.element = null;
+
+        this.map.events.unregister('moveend', this, this.updateLink);
+
+        OpenLayers.Control.prototype.destroy.apply(this, arguments); 
+    },
+
+    /**
+     * Method: setMap
+     * Set the map property for the control. 
+     * 
+     * Parameters:
+     * map - {<OpenLayers.Map>} 
+     */
+    setMap: function(map) {
+        OpenLayers.Control.prototype.setMap.apply(this, arguments);
+
+        //make sure we have an arg parser attached
+        for(var i=0; i< this.map.controls.length; i++) {
+            var control = this.map.controls[i];
+            if (control.CLASS_NAME == "OpenLayers.Control.ArgParser") {
+                
+                // If a permalink is added to the map, and an ArgParser already
+                // exists, we override the displayProjection to be the one
+                // on the permalink. 
+                if (control.displayProjection != this.displayProjection) {
+                    this.displayProjection = control.displayProjection;
+                }    
+                
+                break;
+            }
+        }
+        if (i == this.map.controls.length) {
+            this.map.addControl(new OpenLayers.Control.ArgParser(
+                { 'displayProjection': this.displayProjection }));       
+        }
+
+    },
+
+    /**
+     * Method: draw
+     *
+     * Returns:
+     * {DOMElement}
+     */    
+    draw: function() {
+        OpenLayers.Control.prototype.draw.apply(this, arguments);
+          
+        if (!this.element) {
+            this.element = document.createElement("a");
+            this.element.innerHTML = OpenLayers.i18n("permalink");
+            this.element.href="";
+            this.div.appendChild(this.element);
+        }
+        this.map.events.on({
+            'moveend': this.updateLink,
+            'changelayer': this.updateLink,
+            'changebaselayer': this.updateLink,
+            scope: this
+        });
+        return this.div;
+    },
+   
+    /**
+     * Method: updateLink 
+     */
+    updateLink: function() {
+        var center = this.map.getCenter();
+        
+        // Map not initialized yet. Break out of this function.
+        if (!center) { 
+            return; 
+        }
+
+        var params = OpenLayers.Util.getParameters(this.base);
+        
+        params.zoom = this.map.getZoom(); 
+        var lat = center.lat;
+        var lon = center.lon;
+        
+        if (this.displayProjection) {
+            var mapPosition = OpenLayers.Projection.transform(
+              { x: lon, y: lat }, 
+              this.map.getProjectionObject(), 
+              this.displayProjection );
+            lon = mapPosition.x;  
+            lat = mapPosition.y;  
+        }       
+        params.lat = Math.round(lat*100000)/100000;
+        params.lon = Math.round(lon*100000)/100000;
+        
+        params.layers = '';
+        for(var i=0; i< this.map.layers.length; i++) {
+            var layer = this.map.layers[i];
+
+            if (layer.isBaseLayer) {
+                params.layers += (layer == this.map.baseLayer) ? "B" : "0";
+            } else {
+                params.layers += (layer.getVisibility()) ? "T" : "F";           
+            }
+        }
+
+        var href = this.base;
+        if( href.indexOf('?') != -1 ){
+            href = href.substring( 0, href.indexOf('?') );
+        }
+
+        href += '?' + OpenLayers.Util.getParameterString(params);
+        this.element.href = href;
+    }, 
+
+    CLASS_NAME: "OpenLayers.Control.Permalink"
+});
+/* ======================================================================
+    OpenLayers/Control/Scale.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Control.js
+ */
+
+/**
+ * Class: OpenLayers.Control.Scale
+ * Display a small scale indicator on the map.
+ * Inherits from:
+ *  - <OpenLayers.Control>
+ */
+OpenLayers.Control.Scale = OpenLayers.Class(OpenLayers.Control, {
+    
+    /**
+     * Parameter: element
+     * {DOMElement}
+     */
+    element: null,
+    
+    /**
+     * Constructor: OpenLayers.Control.Scale
+     * 
+     * Parameters:
+     * element - {DOMElement} 
+     * options - {Object} 
+     */
+    initialize: function(element, options) {
+        OpenLayers.Control.prototype.initialize.apply(this, [options]);
+        this.element = OpenLayers.Util.getElement(element);        
+    },
+
+    /**
+     * Method: draw
+     * 
+     * Returns:
+     * {DOMElement}
+     */    
+    draw: function() {
+        OpenLayers.Control.prototype.draw.apply(this, arguments);
+        if (!this.element) {
+            this.element = document.createElement("div");
+            this.div.appendChild(this.element);
+        }
+        this.map.events.register( 'moveend', this, this.updateScale);
+        this.updateScale();
+        return this.div;
+    },
+   
+    /**
+     * Method: updateScale
+     */
+    updateScale: function() {
+        var scale = this.map.getScale();
+        if (!scale) {
+            return;
+        }
+
+        if (scale >= 9500 && scale <= 950000) {
+            scale = Math.round(scale / 1000) + "K";
+        } else if (scale >= 950000) {
+            scale = Math.round(scale / 1000000) + "M";
+        } else {
+            scale = Math.round(scale);
+        }    
+        
+        this.element.innerHTML = OpenLayers.i18n("scale", {'scaleDenom':scale});
+    }, 
+
+    CLASS_NAME: "OpenLayers.Control.Scale"
+});
+
+/* ======================================================================
+    OpenLayers/Control/ScaleLine.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2007 MetaCarta, Inc., published under a modified BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt 
+ * for the full text of the license. */
+
+/**
+ * @requires OpenLayers/Control.js
+ */
+
+/**
+ * Class: OpenLayers.Control.ScaleLine
+ * Display a small line indicator representing the current map scale on the map.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Control>
+ *  
+ * Is a very close copy of:
+ *  - <OpenLayers.Control.Scale>
+ */
+OpenLayers.Control.ScaleLine = OpenLayers.Class(OpenLayers.Control, {
+
+    /**
+     * Property: maxWidth
+     * {Integer} Maximum width of the scale line in pixels.  Default is 100.
+     */
+    maxWidth: 100,
+
+    /**
+     * Property: topOutUnits
+     * {String} Units for zoomed out on top bar.  Default is km.
+     */
+    topOutUnits: "km",
+    
+    /**
+     * Property: topInUnits
+     * {String} Units for zoomed in on top bar.  Default is m.
+     */
+    topInUnits: "m",
+
+    /**
+     * Property: bottomOutUnits
+     * {String} Units for zoomed out on bottom bar.  Default is mi.
+     */
+    bottomOutUnits: "mi",
+
+    /**
+     * Property: bottomInUnits
+     * {String} Units for zoomed in on bottom bar.  Default is ft.
+     */
+    bottomInUnits: "ft",
+    
+    /**
+     * Property: eTop
+     * {DOMElement}
+     */
+    eTop: null,
+
+    /**
+     * Property: eBottom
+     * {DOMElement}
+     */
+    eBottom:null,
+
+    /**
+     * Constructor: OpenLayers.ScaleLine
+     * Create a new scale line control.
+     * 
+     * Parameters:
+     * options - {Object} An optional object whose properties will be used
+     *     to extend the control.
+     */
+    initialize: function(options) {
+        OpenLayers.Control.prototype.initialize.apply(this, [options]);     
+    },
+
+    /**
+     * Method: draw
+     * 
+     * Returns:
+     * {DOMElement}
+     */
+    draw: function() {
+        OpenLayers.Control.prototype.draw.apply(this, arguments);
+        if (!this.eTop) {
+            this.div.style.display = "block";
+            this.div.style.position = "absolute";
+            
+            // stick in the top bar
+            this.eTop = document.createElement("div");
+            this.eTop.className = this.displayClass + "Top";
+            var theLen = this.topInUnits.length;
+            this.div.appendChild(this.eTop);
+            if((this.topOutUnits == "") || (this.topInUnits == "")) {
+                this.eTop.style.visibility = "hidden";
+            } else {
+                this.eTop.style.visibility = "visible";
+            }
+
+            // and the bottom bar
+            this.eBottom = document.createElement("div");
+            this.eBottom.className = this.displayClass + "Bottom";
+            this.div.appendChild(this.eBottom);
+            if((this.bottomOutUnits == "") || (this.bottomInUnits == "")) {
+                this.eBottom.style.visibility = "hidden";
+            } else {
+                this.eBottom.style.visibility = "visible";
+            }
+        }
+        this.map.events.register('moveend', this, this.update);
+        this.update();
+        return this.div;
+    },
+
+    /** 
+     * Method: getBarLen
+     * Given a number, round it down to the nearest 1,2,5 times a power of 10.
+     * That seems a fairly useful set of number groups to use.
+     * 
+     * Parameters:
+     * maxLen - {float}  the number we're rounding down from
+     * 
+     * Returns:
+     * {Float} the rounded number (less than or equal to maxLen)
+     */
+    getBarLen: function(maxLen) {
+        // nearest power of 10 lower than maxLen
+        var digits = parseInt(Math.log(maxLen) / Math.log(10));
+        var pow10 = Math.pow(10, digits);
+        
+        // ok, find first character
+        var firstChar = parseInt(maxLen / pow10);
+
+        // right, put it into the correct bracket
+        var barLen;
+        if(firstChar > 5) {
+            barLen = 5;
+        } else if(firstChar > 2) {
+            barLen = 2;
+        } else {
+            barLen = 1;
+        }
+
+        // scale it up the correct power of 10
+        return barLen * pow10;
+    },
+
+    /**
+     * Method: update
+     * Update the size of the bars, and the labels they contain.
+     */
+    update: function() {
+        var res = this.map.getResolution();
+        if (!res) {
+            return;
+        }
+
+        var curMapUnits = this.map.units;
+        var inches = OpenLayers.INCHES_PER_UNIT;
+
+        // convert maxWidth to map units
+        var maxSizeData = this.maxWidth * res * inches[curMapUnits];  
+
+        // decide whether to use large or small scale units     
+        var topUnits;
+        var bottomUnits;
+        if(maxSizeData > 100000) {
+            topUnits = this.topOutUnits;
+            bottomUnits = this.bottomOutUnits;
+        } else {
+            topUnits = this.topInUnits;
+            bottomUnits = this.bottomInUnits;
+        }
+
+        // and to map units units
+        var topMax = maxSizeData / inches[topUnits];
+        var bottomMax = maxSizeData / inches[bottomUnits];
+
+        // now trim this down to useful block length
+        var topRounded = this.getBarLen(topMax);
+        var bottomRounded = this.getBarLen(bottomMax);
+
+        // and back to display units
+        topMax = topRounded / inches[curMapUnits] * inches[topUnits];
+        bottomMax = bottomRounded / inches[curMapUnits] * inches[bottomUnits];
+
+        // and to pixel units
+        var topPx = topMax / res;
+        var bottomPx = bottomMax / res;
+        
+        // now set the pixel widths
+        this.eTop.style.width = Math.round(topPx) + "px";
+        this.eBottom.style.width = Math.round(bottomPx) + "px"; 
+        
+        // and the values inside them
+        this.eTop.innerHTML = topRounded + " " + topUnits;
+        this.eBottom.innerHTML = bottomRounded + " " + bottomUnits ;
+    }, 
+
+    CLASS_NAME: "OpenLayers.Control.ScaleLine"
+});
+
+/* ======================================================================
+    OpenLayers/Control/ZoomToMaxExtent.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Control.js
+ */
+
+/**
+ * Class: OpenLayers.Control.ZoomToMaxExtent 
+ * Imlements a very simple button control. Designed to be used with a 
+ * <OpenLayers.Control.Panel>.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Control>
+ */
+OpenLayers.Control.ZoomToMaxExtent = OpenLayers.Class(OpenLayers.Control, {
+    /**
+     * Property: type
+     * TYPE_BUTTON.
+     */
+    type: OpenLayers.Control.TYPE_BUTTON,
+    
+    /*
+     * Method: trigger
+     * Do the zoom.
+     */
+    trigger: function() {
+        if (this.map) {
+            this.map.zoomToMaxExtent();
+        }    
+    },
+
+    CLASS_NAME: "OpenLayers.Control.ZoomToMaxExtent"
+});
+/* ======================================================================
+    OpenLayers/Events.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Util.js
+ */
+
+/**
+ * Namespace: OpenLayers.Event
+ * Utility functions for event handling.
+ */
+OpenLayers.Event = {
+
+    /** 
+     * Property: observers 
+     * {Object} A hashtable cache of the event observers. Keyed by
+     * element._eventCacheID 
+     */
+    observers: false,
+    
+    /** 
+     * Constant: KEY_BACKSPACE 
+     * {int} 
+     */
+    KEY_BACKSPACE: 8,
+
+    /** 
+     * Constant: KEY_TAB 
+     * {int} 
+     */
+    KEY_TAB: 9,
+
+    /** 
+     * Constant: KEY_RETURN 
+     * {int} 
+     */
+    KEY_RETURN: 13,
+
+    /** 
+     * Constant: KEY_ESC 
+     * {int} 
+     */
+    KEY_ESC: 27,
+
+    /** 
+     * Constant: KEY_LEFT 
+     * {int} 
+     */
+    KEY_LEFT: 37,
+
+    /** 
+     * Constant: KEY_UP 
+     * {int} 
+     */
+    KEY_UP: 38,
+
+    /** 
+     * Constant: KEY_RIGHT 
+     * {int} 
+     */
+    KEY_RIGHT: 39,
+
+    /** 
+     * Constant: KEY_DOWN 
+     * {int} 
+     */
+    KEY_DOWN: 40,
+
+    /** 
+     * Constant: KEY_DELETE 
+     * {int} 
+     */
+    KEY_DELETE: 46,
+
+
+    /**
+     * Method: element
+     * Cross browser event element detection.
+     * 
+     * Parameters:
+     * event - {Event} 
+     * 
+     * Returns:
+     * {DOMElement} The element that caused the event 
+     */
+    element: function(event) {
+        return event.target || event.srcElement;
+    },
+
+    /**
+     * Method: isLeftClick
+     * Determine whether event was caused by a left click. 
+     *
+     * Parameters:
+     * event - {Event} 
+     * 
+     * Returns:
+     * {Boolean}
+     */
+    isLeftClick: function(event) {
+        return (((event.which) && (event.which == 1)) ||
+                ((event.button) && (event.button == 1)));
+    },
+
+    /**
+     * Method: stop
+     * Stops an event from propagating. 
+     *
+     * Parameters: 
+     * event - {Event} 
+     * allowDefault - {Boolean} If true, we stop the event chain but 
+     *                               still allow the default browser 
+     *                               behaviour (text selection, radio-button 
+     *                               clicking, etc)
+     *                               Default false
+     */
+    stop: function(event, allowDefault) {
+        
+        if (!allowDefault) { 
+            if (event.preventDefault) {
+                event.preventDefault();
+            } else {
+                event.returnValue = false;
+            }
+        }
+                
+        if (event.stopPropagation) {
+            event.stopPropagation();
+        } else {
+            event.cancelBubble = true;
+        }
+    },
+
+    /** 
+     * Method: findElement
+     * 
+     * Parameters:
+     * event - {Event} 
+     * tagName - {String} 
+     * 
+     * Returns:
+     * {DOMElement} The first node with the given tagName, starting from the
+     * node the event was triggered on and traversing the DOM upwards
+     */
+    findElement: function(event, tagName) {
+        var element = OpenLayers.Event.element(event);
+        while (element.parentNode && (!element.tagName ||
+              (element.tagName.toUpperCase() != tagName.toUpperCase()))){
+            element = element.parentNode;
+        }
+        return element;
+    },
+
+    /** 
+     * Method: observe
+     * 
+     * Parameters:
+     * elementParam - {DOMElement || String} 
+     * name - {String} 
+     * observer - {function} 
+     * useCapture - {Boolean} 
+     */
+    observe: function(elementParam, name, observer, useCapture) {
+        var element = OpenLayers.Util.getElement(elementParam);
+        useCapture = useCapture || false;
+
+        if (name == 'keypress' &&
+           (navigator.appVersion.match(/Konqueror|Safari|KHTML/)
+           || element.attachEvent)) {
+            name = 'keydown';
+        }
+
+        //if observers cache has not yet been created, create it
+        if (!this.observers) {
+            this.observers = {};
+        }
+
+        //if not already assigned, make a new unique cache ID
+        if (!element._eventCacheID) {
+            var idPrefix = "eventCacheID_";
+            if (element.id) {
+                idPrefix = element.id + "_" + idPrefix;
+            }
+            element._eventCacheID = OpenLayers.Util.createUniqueID(idPrefix);
+        }
+
+        var cacheID = element._eventCacheID;
+
+        //if there is not yet a hash entry for this element, add one
+        if (!this.observers[cacheID]) {
+            this.observers[cacheID] = [];
+        }
+
+        //add a new observer to this element's list
+        this.observers[cacheID].push({
+            'element': element,
+            'name': name,
+            'observer': observer,
+            'useCapture': useCapture
+        });
+
+        //add the actual browser event listener
+        if (element.addEventListener) {
+            element.addEventListener(name, observer, useCapture);
+        } else if (element.attachEvent) {
+            element.attachEvent('on' + name, observer);
+        }
+    },
+
+    /** 
+     * Method: stopObservingElement
+     * Given the id of an element to stop observing, cycle through the 
+     *   element's cached observers, calling stopObserving on each one, 
+     *   skipping those entries which can no longer be removed.
+     * 
+     * parameters:
+     * elementParam - {DOMElement || String} 
+     */
+    stopObservingElement: function(elementParam) {
+        var element = OpenLayers.Util.getElement(elementParam);
+        var cacheID = element._eventCacheID;
+
+        this._removeElementObservers(OpenLayers.Event.observers[cacheID]);
+    },
+
+    /**
+     * Method: _removeElementObservers
+     *
+     * Parameters:
+     * elementObservers - {Array(Object)} Array of (element, name, 
+     *                                         observer, usecapture) objects, 
+     *                                         taken directly from hashtable
+     */
+    _removeElementObservers: function(elementObservers) {
+        if (elementObservers) {
+            for(var i = elementObservers.length-1; i >= 0; i--) {
+                var entry = elementObservers[i];
+                var args = new Array(entry.element,
+                                     entry.name,
+                                     entry.observer,
+                                     entry.useCapture);
+                var removed = OpenLayers.Event.stopObserving.apply(this, args);
+            }
+        }
+    },
+
+    /**
+     * Method: stopObserving
+     * 
+     * Parameters:
+     * elementParam - {DOMElement || String} 
+     * name - {String} 
+     * observer - {function} 
+     * useCapture - {Boolean} 
+     *  
+     * Returns:
+     * {Boolean} Whether or not the event observer was removed
+     */
+    stopObserving: function(elementParam, name, observer, useCapture) {
+        useCapture = useCapture || false;
+    
+        var element = OpenLayers.Util.getElement(elementParam);
+        var cacheID = element._eventCacheID;
+
+        if (name == 'keypress') {
+            if ( navigator.appVersion.match(/Konqueror|Safari|KHTML/) || 
+                 element.detachEvent) {
+              name = 'keydown';
+            }
+        }
+
+        // find element's entry in this.observers cache and remove it
+        var foundEntry = false;
+        var elementObservers = OpenLayers.Event.observers[cacheID];
+        if (elementObservers) {
+    
+            // find the specific event type in the element's list
+            var i=0;
+            while(!foundEntry && i < elementObservers.length) {
+                var cacheEntry = elementObservers[i];
+    
+                if ((cacheEntry.name == name) &&
+                    (cacheEntry.observer == observer) &&
+                    (cacheEntry.useCapture == useCapture)) {
+    
+                    elementObservers.splice(i, 1);
+                    if (elementObservers.length == 0) {
+                        delete OpenLayers.Event.observers[cacheID];
+                    }
+                    foundEntry = true;
+                    break; 
+                }
+                i++;           
+            }
+        }
+    
+        //actually remove the event listener from browser
+        if (foundEntry) {
+            if (element.removeEventListener) {
+                element.removeEventListener(name, observer, useCapture);
+            } else if (element && element.detachEvent) {
+                element.detachEvent('on' + name, observer);
+            }
+        }
+        return foundEntry;
+    },
+    
+    /** 
+     * Method: unloadCache
+     * Cycle through all the element entries in the events cache and call
+     *   stopObservingElement on each. 
+     */
+    unloadCache: function() {
+        // check for OpenLayers.Event before checking for observers, because
+        // OpenLayers.Event may be undefined in IE if no map instance was
+        // created
+        if (OpenLayers.Event && OpenLayers.Event.observers) {
+            for (var cacheID in OpenLayers.Event.observers) {
+                var elementObservers = OpenLayers.Event.observers[cacheID];
+                OpenLayers.Event._removeElementObservers.apply(this, 
+                                                           [elementObservers]);
+            }
+            OpenLayers.Event.observers = false;
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Event"
+};
+
+/* prevent memory leaks in IE */
+OpenLayers.Event.observe(window, 'unload', OpenLayers.Event.unloadCache, false);
+
+// FIXME: Remove this in 3.0. In 3.0, Event.stop will no longer be provided
+// by OpenLayers.
+if (window.Event) {
+    OpenLayers.Util.applyDefaults(window.Event, OpenLayers.Event);
+} else {
+    var Event = OpenLayers.Event;
+}
+
+/**
+ * Class: OpenLayers.Events
+ */
+OpenLayers.Events = OpenLayers.Class({
+
+    /** 
+     * Constant: BROWSER_EVENTS
+     * {Array(String)} supported events 
+     */
+    BROWSER_EVENTS: [
+        "mouseover", "mouseout",
+        "mousedown", "mouseup", "mousemove", 
+        "click", "dblclick",
+        "resize", "focus", "blur"
+    ],
+
+    /** 
+     * Property: listeners 
+     * {Object} Hashtable of Array(Function): events listener functions  
+     */
+    listeners: null,
+
+    /** 
+     * Property: object 
+     * {Object}  the code object issuing application events 
+     */
+    object: null,
+
+    /** 
+     * Property: element 
+     * {DOMElement}  the DOM element receiving browser events 
+     */
+    element: null,
+
+    /** 
+     * Property: eventTypes 
+     * {Array(String)}  list of support application events 
+     */
+    eventTypes: null,
+
+    /** 
+     * Property: eventHandler 
+     * {Function}  bound event handler attached to elements 
+     */
+    eventHandler: null,
+
+    /** 
+     * APIProperty: fallThrough 
+     * {Boolean} 
+     */
+    fallThrough: null,
+
+    /**
+     * Constructor: OpenLayers.Events
+     * Construct an OpenLayers.Events object.
+     *
+     * Parameters:
+     * object - {Object} The js object to which this Events object  is being
+     * added element - {DOMElement} A dom element to respond to browser events
+     * eventTypes - {Array(String)} Array of custom application events 
+     * fallThrough - {Boolean} Allow events to fall through after these have
+     *                         been handled?
+     */
+    initialize: function (object, element, eventTypes, fallThrough) {
+        this.object     = object;
+        this.element    = element;
+        this.eventTypes = eventTypes;
+        this.fallThrough = fallThrough;
+        this.listeners  = {};
+
+        // keep a bound copy of handleBrowserEvent() so that we can
+        // pass the same function to both Event.observe() and .stopObserving()
+        this.eventHandler = OpenLayers.Function.bindAsEventListener(
+            this.handleBrowserEvent, this
+        );
+
+        // if eventTypes is specified, create a listeners list for each 
+        // custom application event.
+        if (this.eventTypes != null) {
+            for (var i = 0; i < this.eventTypes.length; i++) {
+                this.addEventType(this.eventTypes[i]);
+            }
+        }
+        
+        // if a dom element is specified, add a listeners list 
+        // for browser events on the element and register them
+        if (this.element != null) {
+            this.attachToElement(element);
+        }
+    },
+
+    /**
+     * APIMethod: destroy
+     */
+    destroy: function () {
+        if (this.element) {
+            OpenLayers.Event.stopObservingElement(this.element);
+        }
+        this.element = null;
+
+        this.listeners = null;
+        this.object = null;
+        this.eventTypes = null;
+        this.fallThrough = null;
+        this.eventHandler = null;
+    },
+
+    /**
+     * APIMethod: addEventType
+     * Add a new event type to this events object.
+     * If the event type has already been added, do nothing.
+     * 
+     * Parameters:
+     * eventName - {String}
+     */
+    addEventType: function(eventName) {
+        if (!this.listeners[eventName]) {
+            this.listeners[eventName] = [];
+        }
+    },
+
+    /**
+     * Method: attachToElement
+     *
+     * Parameters:
+     * element - {HTMLDOMElement} a DOM element to attach browser events to
+     */
+    attachToElement: function (element) {
+        for (var i = 0; i < this.BROWSER_EVENTS.length; i++) {
+            var eventType = this.BROWSER_EVENTS[i];
+
+            // every browser event has a corresponding application event 
+            // (whether it's listened for or not).
+            this.addEventType(eventType);
+            
+            // use Prototype to register the event cross-browser
+            OpenLayers.Event.observe(element, eventType, this.eventHandler);
+        }
+        // disable dragstart in IE so that mousedown/move/up works normally
+        OpenLayers.Event.observe(element, "dragstart", OpenLayers.Event.stop);
+    },
+    
+    /**
+     * Method: on
+     * Convenience method for registering listeners with a common scope.
+     *
+     * Example use:
+     * (code)
+     * events.on({
+     *     "loadstart": loadStartListener,
+     *     "loadend": loadEndListener,
+     *     scope: object
+     * });
+     * (end)
+     */
+    on: function(object) {
+        for(var type in object) {
+            if(type != "scope") {
+                this.register(type, object.scope, object[type]);
+            }
+        }
+    },
+
+    /**
+     * APIMethod: register
+     * Register an event on the events object.
+     *
+     * When the event is triggered, the 'func' function will be called, in the
+     * context of 'obj'. Imagine we were to register an event, specifying an 
+     * OpenLayers.Bounds Object as 'obj'. When the event is triggered, the 
+     * context in the callback function will be our Bounds object. This means
+     * that within our callback function, we can access the properties and 
+     * methods of the Bounds object through the "this" variable. So our 
+     * callback could execute something like: 
+     * :    leftStr = "Left: " + this.left;
+     *   
+     *                   or
+     *  
+     * :    centerStr = "Center: " + this.getCenterLonLat();
+     *
+     * Parameters:
+     * type - {String} Name of the event to register
+     * obj - {Object} The object to bind the context to for the callback#.
+     *                     If no object is specified, default is the Events's 
+     *                     'object' property.
+     * func - {Function} The callback function. If no callback is 
+     *                        specified, this function does nothing.
+     * 
+     * 
+     */
+    register: function (type, obj, func) {
+
+        if (func != null) {
+            if (obj == null)  {
+                obj = this.object;
+            }
+            var listeners = this.listeners[type];
+            if (listeners != null) {
+                listeners.push( {obj: obj, func: func} );
+            }
+        }
+    },
+
+    /**
+     * APIMethod: registerPriority
+     * Same as register() but adds the new listener to the *front* of the
+     *     events queue instead of to the end.
+     *    
+     *     TODO: get rid of this in 3.0 - Decide whether listeners should be 
+     *     called in the order they were registered or in reverse order.
+     *
+     *
+     * Parameters:
+     * type - {String} Name of the event to register
+     * obj - {Object} The object to bind the context to for the callback#.
+     *                If no object is specified, default is the Events's 
+     *                'object' property.
+     * func - {Function} The callback function. If no callback is 
+     *                   specified, this function does nothing.
+     */
+    registerPriority: function (type, obj, func) {
+
+        if (func != null) {
+            if (obj == null)  {
+                obj = this.object;
+            }
+            var listeners = this.listeners[type];
+            if (listeners != null) {
+                listeners.unshift( {obj: obj, func: func} );
+            }
+        }
+    },
+    
+    /**
+     * Method: un
+     * Convenience method for unregistering listeners with a common scope.
+     *
+     * Example use:
+     * (code)
+     * events.un({
+     *     "loadstart": loadStartListener,
+     *     "loadend": loadEndListener,
+     *     scope: object
+     * });
+     * (end)
+     */
+    un: function(object) {
+        for(var type in object) {
+            if(type != "scope") {
+                this.unregister(type, object.scope, object[type]);
+            }
+        }
+    },
+
+    /**
+     * APIMethod: unregister
+     *
+     * Parameters:
+     * type - {String} 
+     * obj - {Object} If none specified, defaults to this.object
+     * func - {Function} 
+     */
+    unregister: function (type, obj, func) {
+        if (obj == null)  {
+            obj = this.object;
+        }
+        var listeners = this.listeners[type];
+        if (listeners != null) {
+            for (var i = 0; i < listeners.length; i++) {
+                if (listeners[i].obj == obj && listeners[i].func == func) {
+                    listeners.splice(i, 1);
+                    break;
+                }
+            }
+        }
+    },
+
+    /** 
+     * Method: remove
+     * Remove all listeners for a given event type. If type is not registered,
+     *     does nothing.
+     *
+     * Parameters:
+     * type - {String} 
+     */
+    remove: function(type) {
+        if (this.listeners[type] != null) {
+            this.listeners[type] = [];
+        }
+    },
+
+    /**
+     * APIMethod: triggerEvent
+     * Trigger a specified registered event.  
+     * 
+     * Parameters:
+     * type - {String} 
+     * evt - {Event}
+     *
+     * Returns:
+     * {Boolean} The last listener return.  If a listener returns false, the
+     *     chain of listeners will stop getting called.
+     */
+    triggerEvent: function (type, evt) {
+
+        // prep evt object with object & div references
+        if (evt == null) {
+            evt = {};
+        }
+        evt.object = this.object;
+        evt.element = this.element;
+        if(!evt.type) {
+            evt.type = type;
+        }
+    
+        // execute all callbacks registered for specified type
+        // get a clone of the listeners array to
+        // allow for splicing during callbacks
+        var listeners = (this.listeners[type]) ?
+                            this.listeners[type].slice() : null;
+        if ((listeners != null) && (listeners.length > 0)) {
+            var continueChain;
+            for (var i = 0; i < listeners.length; i++) {
+                var callback = listeners[i];
+                // bind the context to callback.obj
+                continueChain = callback.func.apply(callback.obj, [evt]);
+    
+                if ((continueChain != undefined) && (continueChain == false)) {
+                    // if callback returns false, execute no more callbacks.
+                    break;
+                }
+            }
+            // don't fall through to other DOM elements
+            if (!this.fallThrough) {           
+                OpenLayers.Event.stop(evt, true);
+            }
+        }
+        return continueChain;
+    },
+
+    /**
+     * Method: handleBrowserEvent
+     * Basically just a wrapper to the triggerEvent() function, but takes 
+     *     care to set a property 'xy' on the event with the current mouse 
+     *     position.
+     *
+     * Parameters:
+     * evt - {Event} 
+     */
+    handleBrowserEvent: function (evt) {
+        evt.xy = this.getMousePosition(evt); 
+        this.triggerEvent(evt.type, evt);
+    },
+
+    /**
+     * Method: getMousePosition
+     * 
+     * Parameters:
+     * evt - {Event} 
+     * 
+     * Returns:
+     * {<OpenLayers.Pixel>} The current xy coordinate of the mouse, adjusted
+     *                      for offsets
+     */
+    getMousePosition: function (evt) {
+        if (!this.element.offsets) {
+            this.element.offsets = OpenLayers.Util.pagePosition(this.element);
+            this.element.offsets[0] += (document.documentElement.scrollLeft
+                         || document.body.scrollLeft);
+            this.element.offsets[1] += (document.documentElement.scrollTop
+                         || document.body.scrollTop);
+        }
+        return new OpenLayers.Pixel(
+            (evt.clientX + (document.documentElement.scrollLeft
+                         || document.body.scrollLeft)) - this.element.offsets[0]
+                         - (document.documentElement.clientLeft || 0), 
+            (evt.clientY + (document.documentElement.scrollTop
+                         || document.body.scrollTop)) - this.element.offsets[1]
+                         - (document.documentElement.clientTop || 0)
+        ); 
+    },
+
+    CLASS_NAME: "OpenLayers.Events"
+});
+/* ======================================================================
+    OpenLayers/Format.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Util.js
+ */
+
+/**
+ * Class: OpenLayers.Format
+ * Base class for format reading/writing a variety of formats.  Subclasses
+ *     of OpenLayers.Format are expected to have read and write methods.
+ */
+OpenLayers.Format = OpenLayers.Class({
+    
+    /**
+     * APIProperty: externalProjection
+     * {<OpenLayers.Projection>} When passed a externalProjection and
+     *     internalProjection, the format will reproject the geometries it
+     *     reads or writes. The externalProjection is the projection used by
+     *     the content which is passed into read or which comes out of write.
+     *     In order to reproject, a projection transformation function for the
+     *     specified projections must be available. This support may be 
+     *     provided via proj4js or via a custom transformation function. See
+     *     {<OpenLayers.Projection.addTransform>} for more information on
+     *     custom transformations.
+     */
+    externalProjection: null,
+
+    /**
+     * APIProperty: internalProjection
+     * {<OpenLayers.Projection>} When passed a externalProjection and
+     *     internalProjection, the format will reproject the geometries it
+     *     reads or writes. The internalProjection is the projection used by
+     *     the geometries which are returned by read or which are passed into
+     *     write.  In order to reproject, a projection transformation function
+     *     for the specified projections must be available. This support may be
+     *     provided via proj4js or via a custom transformation function. See
+     *     {<OpenLayers.Projection.addTransform>} for more information on
+     *     custom transformations.
+     */
+    internalProjection: null,
+
+    /**
+     * Constructor: OpenLayers.Format
+     * Instances of this class are not useful.  See one of the subclasses.
+     *
+     * Parameters:
+     * options - {Object} An optional object with properties to set on the
+     *           format
+     *
+     * Returns:
+     * An instance of OpenLayers.Format
+     */
+    initialize: function(options) {
+        OpenLayers.Util.extend(this, options);
+    },
+
+    /**
+     * Method: read
+     * Read data from a string, and return an object whose type depends on the
+     * subclass. 
+     * 
+     * Parameters:
+     * data - {string} Data to read/parse.
+     *
+     * Returns:
+     * Depends on the subclass
+     */
+    read: function(data) {
+        alert(OpenLayers.i18n("readNotImplemented"));
+    },
+    
+    /**
+     * Method: write
+     * Accept an object, and return a string. 
+     *
+     * Parameters:
+     * object - {Object} Object to be serialized
+     *
+     * Returns:
+     * {String} A string representation of the object.
+     */
+    write: function(object) {
+        alert(OpenLayers.i18n("writeNotImplemented"));
+    },
+
+    CLASS_NAME: "OpenLayers.Format"
+});     
+/* ======================================================================
+    OpenLayers/Lang/en.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Lang.js
+ */
+
+/**
+ * Namespace: OpenLayers.Lang["en"]
+ * Dictionary for English.  Keys for entries are used in calls to
+ *     <OpenLayers.Lang.translate>.  Entry bodies are normal strings or
+ *     strings formatted for use with <OpenLayers.String.format> calls.
+ */
+OpenLayers.Lang.en = {
+
+    'unhandledRequest': "Unhandled request return ${statusText}",
+
+    'permalink': "Permalink",
+
+    'overlays': "Overlays",
+
+    'baseLayer': "Base Layer",
+
+    'sameProjection':
+        "The overview map only works when it is in the same projection as the main map",
+
+    'readNotImplemented': "Read not implemented.",
+
+    'writeNotImplemented': "Write not implemented.",
+
+    'noFID': "Can't update a feature for which there is no FID.",
+
+    'errorLoadingGML': "Error in loading GML file ${url}",
+
+    'browserNotSupported':
+        "Your browser does not support vector rendering. Currently supported renderers are:\n${renderers}",
+
+    'componentShouldBe': "addFeatures : component should be an ${geomType}",
+
+    // console message
+    'getFeatureError':
+        "getFeatureFromEvent called on layer with no renderer. This usually means you " +
+        "destroyed a layer, but not some handler which is associated with it.",
+
+    // console message
+    'minZoomLevelError':
+        "The minZoomLevel property is only intended for use " +
+        "with the FixedZoomLevels-descendent layers. That this " +
+        "wfs layer checks for minZoomLevel is a relic of the" +
+        "past. We cannot, however, remove it without possibly " +
+        "breaking OL based applications that may depend on it." +
+        " Therefore we are deprecating it -- the minZoomLevel " +
+        "check below will be removed at 3.0. Please instead " +
+        "use min/max resolution setting as described here: " +
+        "http://trac.openlayers.org/wiki/SettingZoomLevels",
+
+    'commitSuccess': "WFS Transaction: SUCCESS ${response}",
+
+    'commitFailed': "WFS Transaction: FAILED ${response}",
+
+    'googleWarning':
+        "The Google Layer was unable to load correctly.<br><br>" +
+        "To get rid of this message, select a new BaseLayer " +
+        "in the layer switcher in the upper-right corner.<br><br>" +
+        "Most likely, this is because the Google Maps library " +
+        "script was either not included, or does not contain the " +
+        "correct API key for your site.<br><br>" +
+        "Developers: For help getting this working correctly, " +
+        "<a href='http://trac.openlayers.org/wiki/Google' " +
+        "target='_blank'>click here</a>",
+
+    'getLayerWarning':
+        "The ${layerType} Layer was unable to load correctly.<br><br>" +
+        "To get rid of this message, select a new BaseLayer " +
+        "in the layer switcher in the upper-right corner.<br><br>" +
+        "Most likely, this is because the ${layerLib} library " +
+        "script was either not correctly included.<br><br>" +
+        "Developers: For help getting this working correctly, " +
+        "<a href='http://trac.openlayers.org/wiki/${layerLib}' " +
+        "target='_blank'>click here</a>",
+
+    'scale': "Scale = 1 : ${scaleDenom}",
+
+    // console message
+    'layerAlreadyAdded':
+        "You tried to add the layer: ${layerName} to the map, but it has already been added",
+
+    // console message
+    'reprojectDeprecated':
+        "You are using the 'reproject' option " +
+        "on the ${layerName} layer. This option is deprecated: " +
+        "its use was designed to support displaying data over commercial " + 
+        "basemaps, but that functionality should now be achieved by using " +
+        "Spherical Mercator support. More information is available from " +
+        "http://trac.openlayers.org/wiki/SphericalMercator.",
+
+    // console message
+    'methodDeprecated':
+        "This method has been deprecated and will be removed in 3.0. " +
+        "Please use ${newMethod} instead.",
+
+    // console message
+    'boundsAddError': "You must pass both x and y values to the add function.",
+
+    // console message
+    'lonlatAddError': "You must pass both lon and lat values to the add function.",
+
+    // console message
+    'pixelAddError': "You must pass both x and y values to the add function.",
+
+    // console message
+    'unsupportedGeometryType': "Unsupported geometry type: ${geomType}",
+
+    // console message
+    'pagePositionFailed':
+        "OpenLayers.Util.pagePosition failed: element with id ${elemId} may be misplaced.",
+                    
+    'end': ''
+};
+/* ======================================================================
+    OpenLayers/Popup/Anchored.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Popup.js
+ */
+
+/**
+ * Class: OpenLayers.Popup.Anchored
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Popup>
+ */
+OpenLayers.Popup.Anchored = 
+  OpenLayers.Class(OpenLayers.Popup, {
+
+    /** 
+     * Parameter: relativePosition
+     * {String} Relative position of the popup ("lr", "ll", "tr", or "tl").
+     */
+    relativePosition: null,
+
+    /**
+     * Parameter: anchor
+     * {Object} Object to which we'll anchor the popup. Must expose a 
+     *     'size' (<OpenLayers.Size>) and 'offset' (<OpenLayers.Pixel>).
+     */
+    anchor: null,
+
+    /** 
+    * Constructor: OpenLayers.Popup.Anchored
+    * 
+    * Parameters:
+    * id - {String}
+    * lonlat - {<OpenLayers.LonLat>}
+    * size - {<OpenLayers.Size>}
+    * contentHTML - {String}
+    * anchor - {Object} Object which must expose a 'size' <OpenLayers.Size> 
+    *     and 'offset' <OpenLayers.Pixel> (generally an <OpenLayers.Icon>).
+    * closeBox - {Boolean}
+    * closeBoxCallback - {Function} Function to be called on closeBox click.
+    */
+    initialize:function(id, lonlat, size, contentHTML, anchor, closeBox,
+                        closeBoxCallback) {
+        var newArguments = new Array(id, lonlat, size, contentHTML, closeBox,
+                                     closeBoxCallback);
+        OpenLayers.Popup.prototype.initialize.apply(this, newArguments);
+
+        this.anchor = (anchor != null) ? anchor 
+                                       : { size: new OpenLayers.Size(0,0),
+                                           offset: new OpenLayers.Pixel(0,0)};
+    },
+
+    /**
+     * APIMethod: destroy
+     */
+    destroy: function() {
+        this.anchor = null;
+        this.relativePosition = null;
+        
+        OpenLayers.Popup.prototype.destroy.apply(this, arguments);        
+    },
+
+    /**
+     * APIMethod: show
+     * Overridden from Popup since user might hide popup and then show() it 
+     *     in a new location (meaning we might want to update the relative
+     *     position on the show)
+     */
+    show: function() {
+        this.updatePosition();
+        OpenLayers.Popup.prototype.show.apply(this, arguments);
+    },
+
+    /**
+     * Method: moveTo
+     * Since the popup is moving to a new px, it might need also to be moved
+     *     relative to where the marker is. We first calculate the new 
+     *     relativePosition, and then we calculate the new px where we will 
+     *     put the popup, based on the new relative position. 
+     * 
+     *     If the relativePosition has changed, we must also call 
+     *     updateRelativePosition() to make any visual changes to the popup 
+     *     which are associated with putting it in a new relativePosition.
+     * 
+     * Parameters:
+     * px - {<OpenLayers.Pixel>}
+     */
+    moveTo: function(px) {
+        var oldRelativePosition = this.relativePosition;
+        this.relativePosition = this.calculateRelativePosition(px);
+        
+        var newPx = this.calculateNewPx(px);
+        
+        var newArguments = new Array(newPx);        
+        OpenLayers.Popup.prototype.moveTo.apply(this, newArguments);
+        
+        //if this move has caused the popup to change its relative position, 
+        // we need to make the appropriate cosmetic changes.
+        if (this.relativePosition != oldRelativePosition) {
+            this.updateRelativePosition();
+        }
+    },
+
+    /**
+     * APIMethod: setSize
+     * 
+     * Parameters:
+     * size - {<OpenLayers.Size>}
+     */
+    setSize:function(size) { 
+        OpenLayers.Popup.prototype.setSize.apply(this, arguments);
+
+        if ((this.lonlat) && (this.map)) {
+            var px = this.map.getLayerPxFromLonLat(this.lonlat);
+            this.moveTo(px);
+        }
+    },  
+    
+    /** 
+     * Method: calculateRelativePosition
+     * 
+     * Parameters:
+     * px - {<OpenLayers.Pixel>}
+     * 
+     * Returns:
+     * {String} The relative position ("br" "tr" "tl "bl") at which the popup
+     *     should be placed.
+     */
+    calculateRelativePosition:function(px) {
+        var lonlat = this.map.getLonLatFromLayerPx(px);        
+        
+        var extent = this.map.getExtent();
+        var quadrant = extent.determineQuadrant(lonlat);
+        
+        return OpenLayers.Bounds.oppositeQuadrant(quadrant);
+    }, 
+
+    /**
+     * Method: updateRelativePosition
+     * The popup has been moved to a new relative location, so we may want to 
+     *     make some cosmetic adjustments to it. 
+     * 
+     *     Note that in the classic Anchored popup, there is nothing to do 
+     *     here, since the popup looks exactly the same in all four positions.
+     *     Subclasses such as the AnchoredBubble and Framed, however, will 
+     *     want to do something special here.
+     */
+    updateRelativePosition: function() {
+        //to be overridden by subclasses
+    },
+
+    /** 
+     * Method: calculateNewPx
+     * 
+     * Parameters:
+     * px - {<OpenLayers.Pixel>}
+     * 
+     * Returns:
+     * {<OpenLayers.Pixel>} The the new px position of the popup on the screen
+     *     relative to the passed-in px.
+     */
+    calculateNewPx:function(px) {
+        var newPx = px.offset(this.anchor.offset);
+
+        var top = (this.relativePosition.charAt(0) == 't');
+        newPx.y += (top) ? -this.size.h : this.anchor.size.h;
+        
+        var left = (this.relativePosition.charAt(1) == 'l');
+        newPx.x += (left) ? -this.size.w : this.anchor.size.w;
+
+        return newPx;   
+    },
+
+    CLASS_NAME: "OpenLayers.Popup.Anchored"
+});
+/* ======================================================================
+    OpenLayers/Projection.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under a modified BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt 
+ * for the full text of the license. */
+
+/**
+ * @requires OpenLayers/Util.js
+ */
+
+/**
+ * Class: OpenLayers.Projection
+ * Class for coordinate transforms between coordinate systems.
+ *     Depends on the proj4js library. If proj4js is not available, 
+ *     then this is just an empty stub.
+ */
+OpenLayers.Projection = OpenLayers.Class({
+
+    /**
+     * Property: proj
+     * {Object} Proj4js.Proj instance.
+     */
+    proj: null,
+    
+    /**
+     * Property: projCode
+     * {String}
+     */
+    projCode: null,
+
+    /**
+     * Constructor: OpenLayers.Projection
+     * This class offers several methods for interacting with a wrapped 
+     *     pro4js projection object. 
+     *
+     * Parameters:
+     * options - {Object} An optional object with properties to set on the
+     *     format
+     *
+     * Returns:
+     * {<OpenLayers.Projection>} A projection object.
+     */
+    initialize: function(projCode, options) {
+        OpenLayers.Util.extend(this, options);
+        this.projCode = projCode;
+        if (window.Proj4js) {
+            this.proj = new Proj4js.Proj(projCode);
+        }
+    },
+    
+    /**
+     * APIMethod: getCode
+     * Get the string SRS code.
+     *
+     * Returns:
+     * {String} The SRS code.
+     */
+    getCode: function() {
+        return this.proj ? this.proj.srsCode : this.projCode;
+    },
+   
+    /**
+     * APIMethod: getUnits
+     * Get the units string for the projection -- returns null if 
+     *     proj4js is not available.
+     *
+     * Returns:
+     * {String} The units abbreviation.
+     */
+    getUnits: function() {
+        return this.proj ? this.proj.units : null;
+    },
+
+    /**
+     * Method: toString
+     * Convert projection to string (getCode wrapper).
+     *
+     * Returns:
+     * {String} The projection code.
+     */
+    toString: function() {
+        return this.getCode();
+    },
+
+    /**
+     * Method: equals
+     * Test equality of two projection instances.  Determines equality based
+     *     soley on the projection code.
+     *
+     * Returns:
+     * {Boolean} The two projections are equivalent.
+     */
+    equals: function(projection) {
+        if (projection && projection.getCode) {
+            return this.getCode() == projection.getCode();
+        } else {
+            return false;
+        }    
+    },
+
+    /* Method: destroy
+     * Destroy projection object.
+     */
+    destroy: function() {
+        delete this.proj;
+        delete this.projCode;
+    },
+    
+    CLASS_NAME: "OpenLayers.Projection" 
+});     
+
+/**
+ * Property: transforms
+ * Transforms is an object, with from properties, each of which may
+ * have a to property. This allows you to define projections without 
+ * requiring support for proj4js to be included.
+ *
+ * This object has keys which correspond to a 'source' projection object.  The
+ * keys should be strings, corresponding to the projection.getCode() value.
+ * Each source projection object should have a set of destination projection
+ * keys included in the object. 
+ * 
+ * Each value in the destination object should be a transformation function,
+ * where the function is expected to be passed an object with a .x and a .y
+ * property.  The function should return the object, with the .x and .y
+ * transformed according to the transformation function.
+ *
+ * Note - Properties on this object should not be set directly.  To add a
+ *     transform method to this object, use the <addTransform> method.  For an
+ *     example of usage, see the OpenLayers.Layer.SphericalMercator file.
+ */
+OpenLayers.Projection.transforms = {};
+
+/**
+ * APIMethod: addTransform
+ * Set a custom transform method between two projections.  Use this method in
+ *     cases where the proj4js lib is not available or where custom projections
+ *     need to be handled.
+ *
+ * Parameters:
+ * from - {String} The code for the source projection
+ * to - {String} the code for the destination projection
+ * method - {Function} A function that takes a point as an argument and
+ *     transforms that point from the source to the destination projection
+ *     in place.  The original point should be modified.
+ */
+OpenLayers.Projection.addTransform = function(from, to, method) {
+    if(!OpenLayers.Projection.transforms[from]) {
+        OpenLayers.Projection.transforms[from] = {};
+    }
+    OpenLayers.Projection.transforms[from][to] = method;
+};
+
+/**
+ * APIMethod: transform
+ * Transform a point coordinate from one projection to another.  Note that
+ *     the input point is transformed in place.
+ * 
+ * Parameters:
+ * point - {{OpenLayers.Geometry.Point> | Object} An object with x and y
+ *     properties representing coordinates in those dimensions.
+ * sourceProj - {OpenLayers.Projection} Source map coordinate system
+ * destProj - {OpenLayers.Projection} Destination map coordinate system
+ *
+ * Returns:
+ * point - {object} A transformed coordinate.  The original point is modified.
+ */
+OpenLayers.Projection.transform = function(point, source, dest) {
+    if (source.proj && dest.proj) {
+        point = Proj4js.transform(source.proj, dest.proj, point);
+    } else if (source && dest && 
+               OpenLayers.Projection.transforms[source.getCode()] && 
+               OpenLayers.Projection.transforms[source.getCode()][dest.getCode()]) {
+        OpenLayers.Projection.transforms[source.getCode()][dest.getCode()](point); 
+    }
+    return point;
+};
+/* ======================================================================
+    OpenLayers/Renderer/Elements.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Renderer.js
+ */
+
+/**
+ * Class: OpenLayers.Renderer.Elements
+ * This is another virtual class in that it should never be instantiated by 
+ *  itself as a Renderer. It exists because there is *tons* of shared 
+ *  functionality between different vector libraries which use nodes/elements
+ *  as a base for rendering vectors. 
+ * 
+ * The highlevel bits of code that are implemented here are the adding and 
+ *  removing of geometries, which is essentially the same for any 
+ *  element-based renderer. The details of creating each node and drawing the
+ *  paths are of course different, but the machinery is the same. 
+ * 
+ * Inherits:
+ *  - <OpenLayers.Renderer>
+ */
+OpenLayers.Renderer.Elements = OpenLayers.Class(OpenLayers.Renderer, {
+
+    /**
+     * Property: rendererRoot
+     * {DOMElement}
+     */
+    rendererRoot: null,
+    
+    /**
+     * Property: root
+     * {DOMElement}
+     */
+    root: null,
+
+    /**
+     * Property: xmlns
+     * {String}
+     */    
+    xmlns: null,
+    
+    /**
+     * Property: minimumSymbolizer
+     * {Object}
+     */
+    minimumSymbolizer: {
+        strokeLinecap: "round",
+        strokeOpacity: 1,
+        fillOpacity: 1,
+        pointRadius: 0
+    },
+    
+    /**
+     * Constructor: OpenLayers.Renderer.Elements
+     * 
+     * Parameters:
+     * containerID - {String}
+     */
+    initialize: function(containerID) {
+        OpenLayers.Renderer.prototype.initialize.apply(this, arguments);
+
+        this.rendererRoot = this.createRenderRoot();
+        this.root = this.createRoot();
+        
+        this.rendererRoot.appendChild(this.root);
+        this.container.appendChild(this.rendererRoot);
+    },
+    
+    /**
+     * Method: destroy
+     */
+    destroy: function() {
+
+        this.clear(); 
+
+        this.rendererRoot = null;
+        this.root = null;
+        this.xmlns = null;
+
+        OpenLayers.Renderer.prototype.destroy.apply(this, arguments);
+    },
+    
+    /**
+     * Method: clear
+     * Remove all the elements from the root
+     */    
+    clear: function() {
+        if (this.root) {
+            while (this.root.childNodes.length > 0) {
+                this.root.removeChild(this.root.firstChild);
+            }
+        }
+    },
+
+    /** 
+     * Method: getNodeType
+     * This function is in charge of asking the specific renderer which type
+     *     of node to create for the given geometry and style. All geometries
+     *     in an Elements-based renderer consist of one node and some
+     *     attributes. We have the nodeFactory() function which creates a node
+     *     for us, but it takes a 'type' as input, and that is precisely what
+     *     this function tells us.  
+     *  
+     * Parameters:
+     * geometry - {<OpenLayers.Geometry>}
+     * style - {Object}
+     * 
+     * Returns:
+     * {String} The corresponding node type for the specified geometry
+     */
+    getNodeType: function(geometry, style) { },
+
+    /** 
+     * Method: drawGeometry 
+     * Draw the geometry, creating new nodes, setting paths, setting style,
+     *     setting featureId on the node.  This method should only be called
+     *     by the renderer itself.
+     *
+     * Parameters:
+     * geometry - {<OpenLayers.Geometry>}
+     * style - {Object}
+     * featureId - {String}
+     */
+    drawGeometry: function(geometry, style, featureId) {
+        var className = geometry.CLASS_NAME;
+        if ((className == "OpenLayers.Geometry.Collection") ||
+            (className == "OpenLayers.Geometry.MultiPoint") ||
+            (className == "OpenLayers.Geometry.MultiLineString") ||
+            (className == "OpenLayers.Geometry.MultiPolygon")) {
+            for (var i = 0; i < geometry.components.length; i++) {
+                this.drawGeometry(geometry.components[i], style, featureId);
+            }
+            return;
+        };
+
+        if (style.display != "none") {
+            //first we create the basic node and add it to the root
+            var nodeType = this.getNodeType(geometry, style);
+            var node = this.nodeFactory(geometry.id, nodeType);
+            node._featureId = featureId;
+            node._geometryClass = geometry.CLASS_NAME;
+            node._style = style;
+            
+            //now actually draw the node, and style it
+            node = this.drawGeometryNode(node, geometry);
+            
+            // append the node to root (but only if it's new)
+            if (node.parentNode != this.root) { 
+                this.root.appendChild(node); 
+            }
+            this.postDraw(node);
+        } else {
+            node = OpenLayers.Util.getElement(geometry.id);
+            if (node) {
+                node.parentNode.removeChild(node);
+            }
+        }
+    },
+
+    /**
+     * Method: drawGeometryNode
+     * Given a node, draw a geometry on the specified layer.
+     *     node and geometry are required arguments, style is optional.
+     *     This method is only called by the render itself.
+     *
+     * Parameters:
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     * style - {Object}
+     */
+    drawGeometryNode: function(node, geometry, style) {
+        style = style || node._style;
+        OpenLayers.Util.applyDefaults(style, this.minimumSymbolizer);
+
+        var options = {
+            'isFilled': true,
+            'isStroked': !!style.strokeWidth
+        };
+        switch (geometry.CLASS_NAME) {
+            case "OpenLayers.Geometry.Point":
+                this.drawPoint(node, geometry);
+                break;
+            case "OpenLayers.Geometry.LineString":
+                options.isFilled = false;
+                this.drawLineString(node, geometry);
+                break;
+            case "OpenLayers.Geometry.LinearRing":
+                this.drawLinearRing(node, geometry);
+                break;
+            case "OpenLayers.Geometry.Polygon":
+                this.drawPolygon(node, geometry);
+                break;
+            case "OpenLayers.Geometry.Surface":
+                this.drawSurface(node, geometry);
+                break;
+            case "OpenLayers.Geometry.Rectangle":
+                this.drawRectangle(node, geometry);
+                break;
+            default:
+                break;
+        }
+
+        node._style = style; 
+        node._options = options; 
+
+        //set style
+        //TBD simplify this
+        return this.setStyle(node, style, options, geometry);
+    },
+    
+    /**
+     * Method: postDraw
+     * Things that have do be done after the geometry node is appended
+     * to its parent node. To be overridden by subclasses.
+     * 
+     * Parameters:
+     * node - {DOMElement}
+     */
+    postDraw: function(node) {},
+    
+    /**
+     * Method: drawPoint
+     * Virtual function for drawing Point Geometry. 
+     * Should be implemented by subclasses.
+     * This method is only called by the renderer itself.
+     * 
+     * Parameters: 
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */ 
+    drawPoint: function(node, geometry) {},
+
+    /**
+     * Method: drawLineString
+     * Virtual function for drawing LineString Geometry. 
+     * Should be implemented by subclasses.
+     * This method is only called by the renderer itself.
+     * 
+     * Parameters: 
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */ 
+    drawLineString: function(node, geometry) {},
+
+    /**
+     * Method: drawLinearRing
+     * Virtual function for drawing LinearRing Geometry. 
+     * Should be implemented by subclasses.
+     * This method is only called by the renderer itself.
+     * 
+     * Parameters: 
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */ 
+    drawLinearRing: function(node, geometry) {},
+
+    /**
+     * Method: drawPolygon
+     * Virtual function for drawing Polygon Geometry. 
+     * Should be implemented by subclasses.
+     * This method is only called by the renderer itself.
+     * 
+     * Parameters: 
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */ 
+    drawPolygon: function(node, geometry) {},
+
+    /**
+     * Method: drawRectangle
+     * Virtual function for drawing Rectangle Geometry. 
+     * Should be implemented by subclasses.
+     * This method is only called by the renderer itself.
+     * 
+     * Parameters: 
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */ 
+    drawRectangle: function(node, geometry) {},
+
+    /**
+     * Method: drawCircle
+     * Virtual function for drawing Circle Geometry. 
+     * Should be implemented by subclasses.
+     * This method is only called by the renderer itself.
+     * 
+     * Parameters: 
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */ 
+    drawCircle: function(node, geometry) {},
+
+    /**
+     * Method: drawSurface
+     * Virtual function for drawing Surface Geometry. 
+     * Should be implemented by subclasses.
+     * This method is only called by the renderer itself.
+     * 
+     * Parameters: 
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */ 
+    drawSurface: function(node, geometry) {},
+
+    /**
+     * Method: getFeatureIdFromEvent
+     * 
+     * Parameters:
+     * evt - {Object} An <OpenLayers.Event> object
+     *
+     * Returns:
+     * {<OpenLayers.Geometry>} A geometry from an event that 
+     *                         happened on a layer
+     */
+    getFeatureIdFromEvent: function(evt) {
+        var node = evt.target || evt.srcElement;
+        return node._featureId;
+    },
+
+    /** 
+     * Method: eraseGeometry
+     * Erase a geometry from the renderer. In the case of a multi-geometry, 
+     *     we cycle through and recurse on ourselves. Otherwise, we look for a 
+     *     node with the geometry.id, destroy its geometry, and remove it from
+     *     the DOM.
+     * 
+     * Parameters:
+     * geometry - {<OpenLayers.Geometry>}
+     */
+    eraseGeometry: function(geometry) {
+        if ((geometry.CLASS_NAME == "OpenLayers.Geometry.MultiPoint") ||
+            (geometry.CLASS_NAME == "OpenLayers.Geometry.MultiLineString") ||
+            (geometry.CLASS_NAME == "OpenLayers.Geometry.MultiPolygon")) {
+            for (var i = 0; i < geometry.components.length; i++) {
+                this.eraseGeometry(geometry.components[i]);
+            }
+        } else {    
+            var element = OpenLayers.Util.getElement(geometry.id);
+            if (element && element.parentNode) {
+                element.parentNode.removeChild(element);
+            }
+        }
+    },    
+
+    /** 
+     * Method: nodeFactory
+     * Create new node of the specified type, with the (optional) specified id.
+     * 
+     * If node already exists with same ID and type, we remove it and then
+     *  call ourselves again to recreate it.
+     * 
+     * Parameters:
+     * id - {String}
+     * type - {String} type Kind of node to draw
+     * 
+     * Returns:
+     * {DOMElement} A new node of the given type and id
+     */
+    nodeFactory: function(id, type) {
+        var node = OpenLayers.Util.getElement(id);
+        if (node) {
+            if (!this.nodeTypeCompare(node, type)) {
+                node.parentNode.removeChild(node);
+                node = this.nodeFactory(id, type);
+            }
+        } else {
+            node = this.createNode(type, id);
+        }
+        return node;
+    },
+
+    CLASS_NAME: "OpenLayers.Renderer.Elements"
+});
+/* ======================================================================
+    OpenLayers/Tile.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/*
+ * @requires OpenLayers/Util.js
+ */
+
+/*
+ * Class: OpenLayers.Tile 
+ * This is a class designed to designate a single tile, however
+ *     it is explicitly designed to do relatively little. Tiles store 
+ *     information about themselves -- such as the URL that they are related
+ *     to, and their size - but do not add themselves to the layer div 
+ *     automatically, for example. Create a new tile with the 
+ *     <OpenLayers.Tile> constructor, or a subclass. 
+ * 
+ * TBD 3.0 - remove reference to url in above paragraph
+ * 
+ */
+OpenLayers.Tile = OpenLayers.Class({
+    
+    /** 
+     * Constant: EVENT_TYPES
+     * {Array(String)} Supported application event types
+     */
+    EVENT_TYPES: [ "loadstart", "loadend", "reload", "unload"],
+    
+    /**
+     * APIProperty: events
+     * {<OpenLayers.Events>} An events object that handles all 
+     *                       events on the tile.
+     */
+    events: null,
+
+    /**
+     * Property: id 
+     * {String} null
+     */
+    id: null,
+    
+    /** 
+     * Property: layer 
+     * {<OpenLayers.Layer>} layer the tile is attached to 
+     */
+    layer: null,
+    
+    /**
+     * Property: url
+     * {String} url of the request.
+     *
+     * TBD 3.0 
+     * Deprecated. The base tile class does not need an url. This should be 
+     * handled in subclasses. Does not belong here.
+     */
+    url: null,
+
+    /** 
+     * APIProperty: bounds 
+     * {<OpenLayers.Bounds>} null
+     */
+    bounds: null,
+    
+    /** 
+     * Property: size 
+     * {<OpenLayers.Size>} null
+     */
+    size: null,
+    
+    /** 
+     * Property: position 
+     * {<OpenLayers.Pixel>} Top Left pixel of the tile
+     */    
+    position: null,
+
+    /**
+     * Property: isLoading
+     * {Boolean} Is the tile loading?
+     */
+    isLoading: false,
+    
+    /**
+     * Property: isBackBuffer
+     * {Boolean} Is this tile a back buffer tile?
+     */
+    isBackBuffer: false,
+    
+    /**
+     * Property: lastRatio
+     * {Float} Used in transition code only.  This is the previous ratio
+     *     of the back buffer tile resolution to the map resolution.  Compared
+     *     with the current ratio to determine if zooming occurred.
+     */
+    lastRatio: 1,
+
+    /**
+     * Property: isFirstDraw
+     * {Boolean} Is this the first time the tile is being drawn?
+     *     This is used to force resetBackBuffer to synchronize
+     *     the backBufferTile with the foreground tile the first time
+     *     the foreground tile loads so that if the user zooms
+     *     before the layer has fully loaded, the backBufferTile for
+     *     tiles that have been loaded can be used.
+     */
+    isFirstDraw: true,
+        
+    /**
+     * Property: backBufferTile
+     * {<OpenLayers.Tile>} A clone of the tile used to create transition
+     *     effects when the tile is moved or changes resolution.
+     */
+    backBufferTile: null,
+        
+    /** TBD 3.0 -- remove 'url' from the list of parameters to the constructor.
+     *             there is no need for the base tile class to have a url.
+     * 
+     * Constructor: OpenLayers.Tile
+     * Constructor for a new <OpenLayers.Tile> instance.
+     * 
+     * Parameters:
+     * layer - {<OpenLayers.Layer>} layer that the tile will go in.
+     * position - {<OpenLayers.Pixel>}
+     * bounds - {<OpenLayers.Bounds>}
+     * url - {<String>}
+     * size - {<OpenLayers.Size>}
+     */   
+    initialize: function(layer, position, bounds, url, size) {
+        this.layer = layer;
+        this.position = position.clone();
+        this.bounds = bounds.clone();
+        this.url = url;
+        this.size = size.clone();
+
+        //give the tile a unique id based on its BBOX.
+        this.id = OpenLayers.Util.createUniqueID("Tile_");
+        
+        this.events = new OpenLayers.Events(this, null, this.EVENT_TYPES);
+    },
+
+    /**
+     * Method: unload
+     * Call immediately before destroying if you are listening to tile
+     * events, so that counters are properly handled if tile is still
+     * loading at destroy-time. Will only fire an event if the tile is
+     * still loading.
+     */
+    unload: function() {
+       if (this.isLoading) { 
+           this.isLoading = false; 
+           this.events.triggerEvent("unload"); 
+       }
+    },
+    
+    /** 
+     * APIMethod: destroy
+     * Nullify references to prevent circular references and memory leaks.
+     */
+    destroy:function() {
+        if (OpenLayers.Util.indexOf(this.layer.SUPPORTED_TRANSITIONS, 
+                this.layer.transitionEffect) != -1) {
+            this.layer.events.unregister("loadend", this, this.resetBackBuffer);
+            this.events.unregister('loadend', this, this.resetBackBuffer);            
+        } else {
+            this.events.unregister('loadend', this, this.showTile);
+        }
+        this.layer  = null;
+        this.bounds = null;
+        this.size = null;
+        this.position = null;
+        
+        this.events.destroy();
+        this.events = null;
+        
+        /* clean up the backBufferTile if it exists */
+        if (this.backBufferTile) {
+            this.backBufferTile.destroy();
+            this.backBufferTile = null;
+        }
+    },
+    
+    /**
+     * Method: clone
+     *
+     * Parameters:
+     * obj - {<OpenLayers.Tile>} The tile to be cloned
+     *
+     * Returns:
+     * {<OpenLayers.Tile>} An exact clone of this <OpenLayers.Tile>
+     */
+    clone: function (obj) {
+        if (obj == null) {
+            obj = new OpenLayers.Tile(this.layer, 
+                                      this.position, 
+                                      this.bounds, 
+                                      this.url, 
+                                      this.size);
+        } 
+        
+        // catch any randomly tagged-on properties
+        OpenLayers.Util.applyDefaults(obj, this);
+        
+        return obj;
+    },
+
+    /**
+     * Method: draw
+     * Clear whatever is currently in the tile, then return whether or not 
+     *     it should actually be re-drawn.
+     * 
+     * Returns:
+     * {Boolean} Whether or not the tile should actually be drawn. Note that 
+     *     this is not really the best way of doing things, but such is 
+     *     the way the code has been developed. Subclasses call this and
+     *     depend on the return to know if they should draw or not.
+     */
+    draw: function() {
+        var maxExtent = this.layer.maxExtent;
+        var withinMaxExtent = (maxExtent &&
+                               this.bounds.intersectsBounds(maxExtent, false));
+ 
+        // The only case where we *wouldn't* want to draw the tile is if the 
+        // tile is outside its layer's maxExtent.
+        var drawTile = (withinMaxExtent || this.layer.displayOutsideMaxExtent);
+
+        if (OpenLayers.Util.indexOf(this.layer.SUPPORTED_TRANSITIONS, this.layer.transitionEffect) != -1) {
+            if (drawTile) {
+                //we use a clone of this tile to create a double buffer for visual
+                //continuity.  The backBufferTile is used to create transition
+                //effects while the tile in the grid is repositioned and redrawn
+                if (!this.backBufferTile) {
+                    this.backBufferTile = this.clone();
+                    this.backBufferTile.hide();
+                    // this is important.  It allows the backBuffer to place itself
+                    // appropriately in the DOM.  The Image subclass needs to put
+                    // the backBufferTile behind the main tile so the tiles can
+                    // load over top and display as soon as they are loaded.
+                    this.backBufferTile.isBackBuffer = true;
+                    
+                    // potentially end any transition effects when the tile loads
+                    this.events.register('loadend', this, this.resetBackBuffer);
+                    
+                    // clear transition back buffer tile only after all tiles in
+                    // this layer have loaded to avoid visual glitches
+                    this.layer.events.register("loadend", this, this.resetBackBuffer);
+                }
+                // run any transition effects
+                this.startTransition();
+            } else {
+                // if we aren't going to draw the tile, then the backBuffer should
+                // be hidden too!
+                if (this.backBufferTile) {
+                    this.backBufferTile.clear();
+                }
+            }
+        } else {
+            if (drawTile && this.isFirstDraw) {
+                this.events.register('loadend', this, this.showTile);
+                this.isFirstDraw = false;
+            }   
+        }    
+        this.shouldDraw = drawTile;
+        
+        //clear tile's contents and mark as not drawn
+        this.clear();
+        
+        return drawTile;
+    },
+    
+    /** 
+     * Method: moveTo
+     * Reposition the tile.
+     *
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     * position - {<OpenLayers.Pixel>}
+     * redraw - {Boolean} Call draw method on tile after moving.
+     *     Default is true
+     */
+    moveTo: function (bounds, position, redraw) {
+        if (redraw == null) {
+            redraw = true;
+        }
+
+        this.bounds = bounds.clone();
+        this.position = position.clone();
+        if (redraw) {
+            this.draw();
+        }
+    },
+
+    /** 
+     * Method: clear
+     * Clear the tile of any bounds/position-related data so that it can 
+     *     be reused in a new location. To be implemented by subclasses.
+     */
+    clear: function() {
+        // to be implemented by subclasses
+    },
+    
+    /**   
+     * Method: getBoundsFromBaseLayer
+     * Take the pixel locations of the corner of the tile, and pass them to 
+     *     the base layer and ask for the location of those pixels, so that 
+     *     displaying tiles over Google works fine.
+     *
+     * Parameters:
+     * position - {<OpenLayers.Pixel>}
+     *
+     * Returns:
+     * bounds - {<OpenLayers.Bounds>} 
+     */
+    getBoundsFromBaseLayer: function(position) {
+        var msg = OpenLayers.i18n('reprojectDeprecated',
+                                              {'layerName':this.layer.name});
+        OpenLayers.Console.warn(msg);
+        var topLeft = this.layer.map.getLonLatFromLayerPx(position); 
+        var bottomRightPx = position.clone();
+        bottomRightPx.x += this.size.w;
+        bottomRightPx.y += this.size.h;
+        var bottomRight = this.layer.map.getLonLatFromLayerPx(bottomRightPx); 
+        // Handle the case where the base layer wraps around the date line.
+        // Google does this, and it breaks WMS servers to request bounds in 
+        // that fashion.  
+        if (topLeft.lon > bottomRight.lon) {
+            if (topLeft.lon < 0) {
+                topLeft.lon = -180 - (topLeft.lon+180);
+            } else {
+                bottomRight.lon = 180+bottomRight.lon+180;
+            }        
+        }
+        var bounds = new OpenLayers.Bounds(topLeft.lon, 
+                                       bottomRight.lat, 
+                                       bottomRight.lon, 
+                                       topLeft.lat);  
+        return bounds;
+    },        
+    
+    /** 
+     * Method: startTransition
+     * Prepare the tile for a transition effect.  To be
+     *     implemented by subclasses.
+     */
+    startTransition: function() {},
+    
+    /** 
+     * Method: resetBackBuffer
+     * Triggered by two different events, layer loadend, and tile loadend.
+     *     In any of these cases, we check to see if we can hide the 
+     *     backBufferTile yet and update its parameters to match the 
+     *     foreground tile.
+     *
+     * Basic logic:
+     *  - If the backBufferTile hasn't been drawn yet, reset it
+     *  - If layer is still loading, show foreground tile but don't hide
+     *    the backBufferTile yet
+     *  - If layer is done loading, reset backBuffer tile and show 
+     *    foreground tile
+     */
+    resetBackBuffer: function() {
+        this.showTile();
+        if (this.backBufferTile && 
+            (this.isFirstDraw || !this.layer.numLoadingTiles)) {
+            this.isFirstDraw = false;
+            // check to see if the backBufferTile is within the max extents
+            // before rendering it 
+            var maxExtent = this.layer.maxExtent;
+            var withinMaxExtent = (maxExtent &&
+                                   this.bounds.intersectsBounds(maxExtent, false));
+            if (withinMaxExtent) {
+                this.backBufferTile.position = this.position;
+                this.backBufferTile.bounds = this.bounds;
+                this.backBufferTile.size = this.size;
+                this.backBufferTile.imageSize = this.layer.imageSize || this.size;
+                this.backBufferTile.imageOffset = this.layer.imageOffset;
+                this.backBufferTile.resolution = this.layer.getResolution();
+                this.backBufferTile.renderTile();
+            }
+        }
+    },
+        
+    /** 
+     * Method: showTile
+     * Show the tile only if it should be drawn.
+     */
+    showTile: function() { 
+        if (this.shouldDraw) {
+            this.show();
+        }
+    },
+    
+    /** 
+     * Method: show
+     * Show the tile.  To be implemented by subclasses.
+     */
+    show: function() { },
+    
+    /** 
+     * Method: hide
+     * Hide the tile.  To be implemented by subclasses.
+     */
+    hide: function() { },
+    
+    CLASS_NAME: "OpenLayers.Tile"
+});
+/* ======================================================================
+    OpenLayers/Control/MouseToolbar.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Control.js
+ * @requires OpenLayers/Control/MouseDefaults.js
+ */
+
+/**
+ * Class: OpenLayers.Control.MouseToolbar
+ * This class is DEPRECATED in 2.4 and will be removed by 3.0.
+ * If you need this functionality, use Control.NavToolbar instead!!! 
+ */
+OpenLayers.Control.MouseToolbar = OpenLayers.Class(
+                                            OpenLayers.Control.MouseDefaults, {
+    
+    /**
+     * Property: mode
+     */ 
+    mode: null,
+    /**
+     * Property: buttons
+     */
+    buttons: null,
+    
+    /**
+     * APIProperty: direction
+     * {String} 'vertical' or 'horizontal'
+     */
+    direction: "vertical",
+    
+    /**
+     * Property: buttonClicked
+     * {String}
+     */
+    buttonClicked: null,
+    
+    /**
+     * Constructor: OpenLayers.Control.MouseToolbar
+     *
+     * Parameters:
+     * position - {<OpenLayers.Pixel>}
+     * direction - {String}
+     */
+    initialize: function(position, direction) {
+        OpenLayers.Control.prototype.initialize.apply(this, arguments);
+        this.position = new OpenLayers.Pixel(OpenLayers.Control.MouseToolbar.X,
+                                             OpenLayers.Control.MouseToolbar.Y);
+        if (position) {
+            this.position = position;
+        }
+        if (direction) {
+            this.direction = direction; 
+        }
+        this.measureDivs = [];
+    },
+    
+    /**
+     * APIMethod: destroy 
+     */
+    destroy: function() {
+        for( var btnId in this.buttons) {
+            var btn = this.buttons[btnId];
+            btn.map = null;
+            btn.events.destroy();
+        }
+        OpenLayers.Control.MouseDefaults.prototype.destroy.apply(this, 
+                                                                 arguments);
+    },
+    
+    /**
+     * Method: draw
+     */
+    draw: function() {
+        OpenLayers.Control.prototype.draw.apply(this, arguments); 
+        OpenLayers.Control.MouseDefaults.prototype.draw.apply(this, arguments);
+        this.buttons = {};
+        var sz = new OpenLayers.Size(28,28);
+        var centered = new OpenLayers.Pixel(OpenLayers.Control.MouseToolbar.X,0);
+        this._addButton("zoombox", "drag-rectangle-off.png", "drag-rectangle-on.png", centered, sz, "Shift->Drag to zoom to area");
+        centered = centered.add((this.direction == "vertical" ? 0 : sz.w), (this.direction == "vertical" ? sz.h : 0));
+        this._addButton("pan", "panning-hand-off.png", "panning-hand-on.png", centered, sz, "Drag the map to pan.");
+        centered = centered.add((this.direction == "vertical" ? 0 : sz.w), (this.direction == "vertical" ? sz.h : 0));
+        this.switchModeTo("pan");
+
+        return this.div;
+    },
+    
+    /**
+     * Method: _addButton
+     */
+    _addButton:function(id, img, activeImg, xy, sz, title) {
+        var imgLocation = OpenLayers.Util.getImagesLocation() + img;
+        var activeImgLocation = OpenLayers.Util.getImagesLocation() + activeImg;
+        // var btn = new ol.AlphaImage("_"+id, imgLocation, xy, sz);
+        var btn = OpenLayers.Util.createAlphaImageDiv(
+                                    "OpenLayers_Control_MouseToolbar_" + id, 
+                                    xy, sz, imgLocation, "absolute");
+
+        //we want to add the outer div
+        this.div.appendChild(btn);
+        btn.imgLocation = imgLocation;
+        btn.activeImgLocation = activeImgLocation;
+        
+        btn.events = new OpenLayers.Events(this, btn, null, true);
+        btn.events.on({
+            "mousedown": this.buttonDown,
+            "mouseup": this.buttonUp,
+            "dblclick": OpenLayers.Event.stop,
+            scope: this
+        });
+        btn.action = id;
+        btn.title = title;
+        btn.alt = title;
+        btn.map = this.map;
+
+        //we want to remember/reference the outer div
+        this.buttons[id] = btn;
+        return btn;
+    },
+
+    /**
+     * Method: buttonDown
+     *
+     * Parameters:
+     * evt - {Event} 
+     */
+    buttonDown: function(evt) {
+        if (!OpenLayers.Event.isLeftClick(evt)) {
+            return;
+        }
+        this.buttonClicked = evt.element.action;
+        OpenLayers.Event.stop(evt);
+    },
+
+    /**
+     * Method: buttonUp
+     *
+     * Parameters:
+     * evt - {Event} 
+     */
+    buttonUp: function(evt) {
+        if (!OpenLayers.Event.isLeftClick(evt)) {
+            return;
+        }
+        if (this.buttonClicked != null) {
+            if (this.buttonClicked == evt.element.action) {
+                this.switchModeTo(evt.element.action);
+            }
+            OpenLayers.Event.stop(evt);
+            this.buttonClicked = null;
+        }
+    },
+    
+    /**
+     * Method: defaultDblClick 
+     *
+     * Parameters:
+     * evt - {Event} 
+     */
+    defaultDblClick: function (evt) {
+        this.switchModeTo("pan");
+        this.performedDrag = false;
+        var newCenter = this.map.getLonLatFromViewPortPx( evt.xy ); 
+        this.map.setCenter(newCenter, this.map.zoom + 1);
+        OpenLayers.Event.stop(evt);
+        return false;
+    },
+
+    /**
+     * Method: defaultMouseDown
+     *
+     * Parameters:
+     * evt - {Event} 
+     */
+    defaultMouseDown: function (evt) {
+        if (!OpenLayers.Event.isLeftClick(evt)) {
+            return;
+        }
+        this.mouseDragStart = evt.xy.clone();
+        this.performedDrag = false;
+        this.startViaKeyboard = false;
+        if (evt.shiftKey && this.mode !="zoombox") {
+            this.switchModeTo("zoombox");
+            this.startViaKeyboard = true;
+        } else if (evt.altKey && this.mode !="measure") {
+            this.switchModeTo("measure");
+        } else if (!this.mode) {
+            this.switchModeTo("pan");
+        }
+        
+        switch (this.mode) {
+            case "zoombox":
+                this.map.div.style.cursor = "crosshair";
+                this.zoomBox = OpenLayers.Util.createDiv('zoomBox',
+                                                         this.mouseDragStart,
+                                                         null,
+                                                         null,
+                                                         "absolute",
+                                                         "2px solid red");
+                this.zoomBox.style.backgroundColor = "white";
+                this.zoomBox.style.filter = "alpha(opacity=50)"; // IE
+                this.zoomBox.style.opacity = "0.50";
+                this.zoomBox.style.fontSize = "1px";
+                this.zoomBox.style.zIndex = this.map.Z_INDEX_BASE["Popup"] - 1;
+                this.map.viewPortDiv.appendChild(this.zoomBox);
+                this.performedDrag = true;
+                break;
+            case "measure":
+                var distance = "";
+                if (this.measureStart) {
+                    var measureEnd = this.map.getLonLatFromViewPortPx(this.mouseDragStart);
+                    distance = OpenLayers.Util.distVincenty(this.measureStart, measureEnd);
+                    distance = Math.round(distance * 100) / 100;
+                    distance = distance + "km";
+                    this.measureStartBox = this.measureBox;
+                }    
+                this.measureStart = this.map.getLonLatFromViewPortPx(this.mouseDragStart);;
+                this.measureBox = OpenLayers.Util.createDiv(null,
+                                                         this.mouseDragStart.add(
+                                                           -2-parseInt(this.map.layerContainerDiv.style.left),
+                                                           -2-parseInt(this.map.layerContainerDiv.style.top)),
+                                                         null,
+                                                         null,
+                                                         "absolute");
+                this.measureBox.style.width="4px";
+                this.measureBox.style.height="4px";
+                this.measureBox.style.fontSize = "1px";
+                this.measureBox.style.backgroundColor="red";
+                this.measureBox.style.zIndex = this.map.Z_INDEX_BASE["Popup"] - 1;
+                this.map.layerContainerDiv.appendChild(this.measureBox);
+                if (distance) {
+                    this.measureBoxDistance = OpenLayers.Util.createDiv(null,
+                                                         this.mouseDragStart.add(
+                                                           -2-parseInt(this.map.layerContainerDiv.style.left),
+                                                           2-parseInt(this.map.layerContainerDiv.style.top)),
+                                                         null,
+                                                         null,
+                                                         "absolute");
+                    
+                    this.measureBoxDistance.innerHTML = distance;
+                    this.measureBoxDistance.style.zIndex = this.map.Z_INDEX_BASE["Popup"] - 1;
+                    this.map.layerContainerDiv.appendChild(this.measureBoxDistance);
+                    this.measureDivs.push(this.measureBoxDistance);
+                }
+                this.measureBox.style.zIndex = this.map.Z_INDEX_BASE["Popup"] - 1;
+                this.map.layerContainerDiv.appendChild(this.measureBox);
+                this.measureDivs.push(this.measureBox);
+                break;
+            default:
+                this.map.div.style.cursor = "move";
+                break;
+        }
+        document.onselectstart = function() { return false; };
+        OpenLayers.Event.stop(evt);
+    },
+
+    /**
+     * Method: switchModeTo 
+     *
+     * Parameters:
+     * mode - {String} 
+     */
+    switchModeTo: function(mode) {
+        if (mode != this.mode) {
+            
+
+            if (this.mode && this.buttons[this.mode]) {
+                OpenLayers.Util.modifyAlphaImageDiv(this.buttons[this.mode], null, null, null, this.buttons[this.mode].imgLocation);
+            }
+            if (this.mode == "measure" && mode != "measure") {
+                for(var i = 0; i < this.measureDivs.length; i++) {
+                    if (this.measureDivs[i]) { 
+                        this.map.layerContainerDiv.removeChild(this.measureDivs[i]);
+                    }
+                }
+                this.measureDivs = [];
+                this.measureStart = null;
+            }
+            this.mode = mode;
+            if (this.buttons[mode]) {
+                OpenLayers.Util.modifyAlphaImageDiv(this.buttons[mode], null, null, null, this.buttons[mode].activeImgLocation);
+            }
+            switch (this.mode) {
+                case "zoombox":
+                    this.map.div.style.cursor = "crosshair";
+                    break;
+                default:
+                    this.map.div.style.cursor = "";
+                    break;
+            }
+
+        } 
+    }, 
+
+    /**
+     * Method: leaveMode
+     */
+    leaveMode: function() {
+        this.switchModeTo("pan");
+    },
+    
+    /**
+     * Method: defaultMouseMove
+     *
+     * Parameters:
+     * evt - {Event} 
+     */
+    defaultMouseMove: function (evt) {
+        if (this.mouseDragStart != null) {
+            switch (this.mode) {
+                case "zoombox": 
+                    var deltaX = Math.abs(this.mouseDragStart.x - evt.xy.x);
+                    var deltaY = Math.abs(this.mouseDragStart.y - evt.xy.y);
+                    this.zoomBox.style.width = Math.max(1, deltaX) + "px";
+                    this.zoomBox.style.height = Math.max(1, deltaY) + "px";
+                    if (evt.xy.x < this.mouseDragStart.x) {
+                        this.zoomBox.style.left = evt.xy.x+"px";
+                    }
+                    if (evt.xy.y < this.mouseDragStart.y) {
+                        this.zoomBox.style.top = evt.xy.y+"px";
+                    }
+                    break;
+                default:
+                    var deltaX = this.mouseDragStart.x - evt.xy.x;
+                    var deltaY = this.mouseDragStart.y - evt.xy.y;
+                    var size = this.map.getSize();
+                    var newXY = new OpenLayers.Pixel(size.w / 2 + deltaX,
+                                                     size.h / 2 + deltaY);
+                    var newCenter = this.map.getLonLatFromViewPortPx( newXY ); 
+                    this.map.setCenter(newCenter, null, true);
+                    this.mouseDragStart = evt.xy.clone();
+            }
+            this.performedDrag = true;
+        }
+    },
+
+    /**
+     * Method: defaultMouseUp
+     *
+     * Parameters:
+     * evt - {Event} 
+     */
+    defaultMouseUp: function (evt) {
+        if (!OpenLayers.Event.isLeftClick(evt)) {
+            return;
+        }
+        switch (this.mode) {
+            case "zoombox":
+                this.zoomBoxEnd(evt);
+                if (this.startViaKeyboard) {
+                    this.leaveMode();
+                }
+                break;
+            case "pan":
+                if (this.performedDrag) {
+                    this.map.setCenter(this.map.center);
+                }        
+        }
+        document.onselectstart = null;
+        this.mouseDragStart = null;
+        this.map.div.style.cursor = "default";
+    },
+
+    /**
+     * Method: defaultMouseOut
+     *
+     * Parameters:
+     * evt - {Event} 
+     */
+    defaultMouseOut: function (evt) {
+        if (this.mouseDragStart != null
+            && OpenLayers.Util.mouseLeft(evt, this.map.div)) {
+            if (this.zoomBox) {
+                this.removeZoomBox();
+                if (this.startViaKeyboard) {
+                    this.leaveMode();
+                }
+            }
+            this.mouseDragStart = null;
+            this.map.div.style.cursor = "default";
+        }
+    },
+
+    /**
+     * Method: defaultClick
+     *
+     * Parameters:
+     * evt - {Event} 
+     */
+    defaultClick: function (evt) {
+        if (this.performedDrag)  {
+            this.performedDrag = false;
+            return false;
+        }
+    },
+    
+    CLASS_NAME: "OpenLayers.Control.MouseToolbar"
+});
+
+OpenLayers.Control.MouseToolbar.X = 6;
+OpenLayers.Control.MouseToolbar.Y = 300;
+/* ======================================================================
+    OpenLayers/Control/PanZoomBar.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Control/PanZoom.js
+ */
+
+/**
+ * Class: OpenLayers.Control.PanZoomBar
+ *
+ * Inherits from:
+ *  - <OpenLayers.Control.PanZoom>
+ *  - <OpenLayers.Control>
+ */
+OpenLayers.Control.PanZoomBar = OpenLayers.Class(OpenLayers.Control.PanZoom, {
+
+    /** 
+     * APIProperty: zoomStopWidth
+     */
+    zoomStopWidth: 18,
+
+    /** 
+     * APIProperty: zoomStopHeight
+     */
+    zoomStopHeight: 11,
+
+    /** 
+     * Property: slider
+     */
+    slider: null,
+
+    /** 
+     * Property: sliderEvents
+     * {<OpenLayers.Events>}
+     */
+    sliderEvents: null,
+
+    /** 
+     * Property: zoomBarDiv
+     * {DOMElement}
+     */
+    zoomBarDiv: null,
+
+    /** 
+     * Property: divEvents
+     * {<OpenLayers.Events>}
+     */
+    divEvents: null,
+
+    /** 
+     * Property: zoomWorldIcon
+     * {Boolean}
+     */
+    zoomWorldIcon: false,
+
+    /**
+     * Constructor: <OpenLayers.Control.PanZoomBar>
+     */ 
+    initialize: function() {
+        OpenLayers.Control.PanZoom.prototype.initialize.apply(this, arguments);
+    },
+
+    /**
+     * APIMethod: destroy
+     */
+    destroy: function() {
+
+        this.div.removeChild(this.slider);
+        this.slider = null;
+
+        this.sliderEvents.destroy();
+        this.sliderEvents = null;
+        
+        this.div.removeChild(this.zoombarDiv);
+        this.zoomBarDiv = null;
+
+        this.divEvents.destroy();
+        this.divEvents = null;
+
+        this.map.events.un({
+            "zoomend": this.moveZoomBar,
+            "changebaselayer": this.redraw,
+            scope: this
+        });
+
+        OpenLayers.Control.PanZoom.prototype.destroy.apply(this, arguments);
+    },
+    
+    /**
+     * Method: setMap
+     * 
+     * Parameters:
+     * map - {<OpenLayers.Map>} 
+     */
+    setMap: function(map) {
+        OpenLayers.Control.PanZoom.prototype.setMap.apply(this, arguments);
+        this.map.events.register("changebaselayer", this, this.redraw);
+    },
+
+    /** 
+     * Method: redraw
+     * clear the div and start over.
+     */
+    redraw: function() {
+        if (this.div != null) {
+            this.div.innerHTML = "";
+        }  
+        this.draw();
+    },
+    
+    /**
+    * Method: draw 
+    *
+    * Parameters:
+    * px - {<OpenLayers.Pixel>} 
+    */
+    draw: function(px) {
+        // initialize our internal div
+        OpenLayers.Control.prototype.draw.apply(this, arguments);
+        px = this.position.clone();
+
+        // place the controls
+        this.buttons = [];
+
+        var sz = new OpenLayers.Size(18,18);
+        var centered = new OpenLayers.Pixel(px.x+sz.w/2, px.y);
+        var wposition = sz.w;
+
+        if (this.zoomWorldIcon) {
+            centered = new OpenLayers.Pixel(px.x+sz.w, px.y);
+        }
+
+        this._addButton("panup", "north-mini.png", centered, sz);
+        px.y = centered.y+sz.h;
+        this._addButton("panleft", "west-mini.png", px, sz);
+        if (this.zoomWorldIcon) {
+            this._addButton("zoomworld", "zoom-world-mini.png", px.add(sz.w, 0), sz);
+            
+            wposition *= 2;
+        }
+        this._addButton("panright", "east-mini.png", px.add(wposition, 0), sz);
+        this._addButton("pandown", "south-mini.png", centered.add(0, sz.h*2), sz);
+        this._addButton("zoomin", "zoom-plus-mini.png", centered.add(0, sz.h*3+5), sz);
+        centered = this._addZoomBar(centered.add(0, sz.h*4 + 5));
+        this._addButton("zoomout", "zoom-minus-mini.png", centered, sz);
+        return this.div;
+    },
+
+    /** 
+    * Method: _addZoomBar
+    * 
+    * Parameters:
+    * location - {<OpenLayers.Pixel>} where zoombar drawing is to start.
+    */
+    _addZoomBar:function(centered) {
+        var imgLocation = OpenLayers.Util.getImagesLocation();
+        
+        var id = "OpenLayers_Control_PanZoomBar_Slider" + this.map.id;
+        var zoomsToEnd = this.map.getNumZoomLevels() - 1 - this.map.getZoom();
+        var slider = OpenLayers.Util.createAlphaImageDiv(id,
+                       centered.add(-1, zoomsToEnd * this.zoomStopHeight), 
+                       new OpenLayers.Size(20,9), 
+                       imgLocation+"slider.png",
+                       "absolute");
+        this.slider = slider;
+        
+        this.sliderEvents = new OpenLayers.Events(this, slider, null, true);
+        this.sliderEvents.on({
+            "mousedown": this.zoomBarDown,
+            "mousemove": this.zoomBarDrag,
+            "mouseup": this.zoomBarUp,
+            "dblclick": this.doubleClick,
+            "click": this.doubleClick
+        });
+        
+        var sz = new OpenLayers.Size();
+        sz.h = this.zoomStopHeight * this.map.getNumZoomLevels();
+        sz.w = this.zoomStopWidth;
+        var div = null;
+        
+        if (OpenLayers.Util.alphaHack()) {
+            var id = "OpenLayers_Control_PanZoomBar" + this.map.id;
+            div = OpenLayers.Util.createAlphaImageDiv(id, centered,
+                                      new OpenLayers.Size(sz.w, 
+                                              this.zoomStopHeight),
+                                      imgLocation + "zoombar.png", 
+                                      "absolute", null, "crop");
+            div.style.height = sz.h;
+        } else {
+            div = OpenLayers.Util.createDiv(
+                        'OpenLayers_Control_PanZoomBar_Zoombar' + this.map.id,
+                        centered,
+                        sz,
+                        imgLocation+"zoombar.png");
+        }
+        
+        this.zoombarDiv = div;
+        
+        this.divEvents = new OpenLayers.Events(this, div, null, true);
+        this.divEvents.on({
+            "mousedown": this.divClick,
+            "mousemove": this.passEventToSlider,
+            "dblclick": this.doubleClick,
+            "click": this.doubleClick
+        });
+        
+        this.div.appendChild(div);
+
+        this.startTop = parseInt(div.style.top);
+        this.div.appendChild(slider);
+
+        this.map.events.register("zoomend", this, this.moveZoomBar);
+
+        centered = centered.add(0, 
+            this.zoomStopHeight * this.map.getNumZoomLevels());
+        return centered; 
+    },
+    
+    /*
+     * Method: passEventToSlider
+     * This function is used to pass events that happen on the div, or the map,
+     * through to the slider, which then does its moving thing.
+     *
+     * Parameters:
+     * evt - {<OpenLayers.Event>} 
+     */
+    passEventToSlider:function(evt) {
+        this.sliderEvents.handleBrowserEvent(evt);
+    },
+    
+    /*
+     * Method: divClick
+     * Picks up on clicks directly on the zoombar div
+     *           and sets the zoom level appropriately.
+     */
+    divClick: function (evt) {
+        if (!OpenLayers.Event.isLeftClick(evt)) {
+            return;
+        }
+        var y = evt.xy.y;
+        var top = OpenLayers.Util.pagePosition(evt.object)[1];
+        var levels = (y - top)/this.zoomStopHeight;
+        var zoom = (this.map.getNumZoomLevels() - 1) - levels; 
+        if(this.map.fractionalZoom) {
+           zoom = Math.min(Math.max(zoom, 0), this.map.getNumZoomLevels() - 1);
+        } else {
+            zoom = Math.floor(zoom);
+        }    
+        this.map.zoomTo(zoom);
+        OpenLayers.Event.stop(evt);
+    },
+    
+    /*
+     * Method: zoomBarDown
+     * event listener for clicks on the slider
+     *
+     * Parameters:
+     * evt - {<OpenLayers.Event>} 
+     */
+    zoomBarDown:function(evt) {
+        if (!OpenLayers.Event.isLeftClick(evt)) {
+            return;
+        }
+        this.map.events.on({
+            "mousemove": this.passEventToSlider,
+            "mouseup": this.passEventToSlider,
+            scope: this
+        });
+        this.mouseDragStart = evt.xy.clone();
+        this.zoomStart = evt.xy.clone();
+        this.div.style.cursor = "move";
+        // reset the div offsets just in case the div moved
+        this.zoombarDiv.offsets = null; 
+        OpenLayers.Event.stop(evt);
+    },
+    
+    /*
+     * Method: zoomBarDrag
+     * This is what happens when a click has occurred, and the client is
+     * dragging.  Here we must ensure that the slider doesn't go beyond the
+     * bottom/top of the zoombar div, as well as moving the slider to its new
+     * visual location
+     *
+     * Parameters:
+     * evt - {<OpenLayers.Event>} 
+     */
+    zoomBarDrag:function(evt) {
+        if (this.mouseDragStart != null) {
+            var deltaY = this.mouseDragStart.y - evt.xy.y;
+            var offsets = OpenLayers.Util.pagePosition(this.zoombarDiv);
+            if ((evt.clientY - offsets[1]) > 0 && 
+                (evt.clientY - offsets[1]) < parseInt(this.zoombarDiv.style.height) - 2) {
+                var newTop = parseInt(this.slider.style.top) - deltaY;
+                this.slider.style.top = newTop+"px";
+            }
+            this.mouseDragStart = evt.xy.clone();
+            OpenLayers.Event.stop(evt);
+        }
+    },
+    
+    /*
+     * Method: zoomBarUp
+     * Perform cleanup when a mouseup event is received -- discover new zoom
+     * level and switch to it.
+     *
+     * Parameters:
+     * evt - {<OpenLayers.Event>} 
+     */
+    zoomBarUp:function(evt) {
+        if (!OpenLayers.Event.isLeftClick(evt)) {
+            return;
+        }
+        if (this.zoomStart) {
+            this.div.style.cursor="";
+            this.map.events.un({
+                "mouseup": this.passEventToSlider,
+                "mousemove": this.passEventToSlider,
+                scope: this
+            });
+            var deltaY = this.zoomStart.y - evt.xy.y;
+            var zoomLevel = this.map.zoom;
+            if (this.map.fractionalZoom) {
+                zoomLevel += deltaY/this.zoomStopHeight;
+                zoomLevel = Math.min(Math.max(zoomLevel, 0), 
+                                     this.map.getNumZoomLevels() - 1);
+            } else {
+                zoomLevel += Math.round(deltaY/this.zoomStopHeight);
+            }
+            this.map.zoomTo(zoomLevel);
+            this.moveZoomBar();
+            this.mouseDragStart = null;
+            OpenLayers.Event.stop(evt);
+        }
+    },
+    
+    /*
+    * Method: moveZoomBar
+    * Change the location of the slider to match the current zoom level.
+    */
+    moveZoomBar:function() {
+        var newTop = 
+            ((this.map.getNumZoomLevels()-1) - this.map.getZoom()) * 
+            this.zoomStopHeight + this.startTop + 1;
+        this.slider.style.top = newTop + "px";
+    },    
+    
+    CLASS_NAME: "OpenLayers.Control.PanZoomBar"
+});
+/* ======================================================================
+    OpenLayers/Format/JSON.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * Note:
+ * This work draws heavily from the public domain JSON serializer/deserializer
+ *     at http://www.json.org/json.js. Rewritten so that it doesn't modify
+ *     basic data prototypes.
+ */
+
+/**
+ * @requires OpenLayers/Format.js
+ */
+
+/**
+ * Class: OpenLayers.Format.JSON
+ * A parser to read/write JSON safely.  Create a new instance with the
+ *     <OpenLayers.Format.JSON> constructor.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Format>
+ */
+OpenLayers.Format.JSON = OpenLayers.Class(OpenLayers.Format, {
+    
+    /**
+     * APIProperty: indent
+     * {String} For "pretty" printing, the indent string will be used once for
+     *     each indentation level.
+     */
+    indent: "    ",
+    
+    /**
+     * APIProperty: space
+     * {String} For "pretty" printing, the space string will be used after
+     *     the ":" separating a name/value pair.
+     */
+    space: " ",
+    
+    /**
+     * APIProperty: newline
+     * {String} For "pretty" printing, the newline string will be used at the
+     *     end of each name/value pair or array item.
+     */
+    newline: "\n",
+    
+    /**
+     * Property: level
+     * {Integer} For "pretty" printing, this is incremented/decremented during
+     *     serialization.
+     */
+    level: 0,
+
+    /**
+     * Property: pretty
+     * {Boolean} Serialize with extra whitespace for structure.  This is set
+     *     by the <write> method.
+     */
+    pretty: false,
+
+    /**
+     * Constructor: OpenLayers.Format.JSON
+     * Create a new parser for JSON.
+     *
+     * Parameters:
+     * options - {Object} An optional object whose properties will be set on
+     *     this instance.
+     */
+    initialize: function(options) {
+        OpenLayers.Format.prototype.initialize.apply(this, [options]);
+    },
+
+    /**
+     * APIMethod: read
+     * Deserialize a json string.
+     *
+     * Parameters:
+     * json - {String} A JSON string
+     * filter - {Function} A function which will be called for every key and
+     *     value at every level of the final result. Each value will be
+     *     replaced by the result of the filter function. This can be used to
+     *     reform generic objects into instances of classes, or to transform
+     *     date strings into Date objects.
+     *     
+     * Returns:
+     * {Object} An object, array, string, or number .
+     */
+    read: function(json, filter) {
+        /**
+         * Parsing happens in three stages. In the first stage, we run the text
+         *     against a regular expression which looks for non-JSON
+         *     characters. We are especially concerned with '()' and 'new'
+         *     because they can cause invocation, and '=' because it can cause
+         *     mutation. But just to be safe, we will reject all unexpected
+         *     characters.
+         */
+        try {
+            if(/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/.
+                    test(json)) {
+
+                /**
+                 * In the second stage we use the eval function to compile the
+                 *     text into a JavaScript structure. The '{' operator is
+                 *     subject to a syntactic ambiguity in JavaScript - it can
+                 *     begin a block or an object literal. We wrap the text in
+                 *     parens to eliminate the ambiguity.
+                 */
+                var object = eval('(' + json + ')');
+
+                /**
+                 * In the optional third stage, we recursively walk the new
+                 *     structure, passing each name/value pair to a filter
+                 *     function for possible transformation.
+                 */
+                if(typeof filter === 'function') {
+                    function walk(k, v) {
+                        if(v && typeof v === 'object') {
+                            for(var i in v) {
+                                if(v.hasOwnProperty(i)) {
+                                    v[i] = walk(i, v[i]);
+                                }
+                            }
+                        }
+                        return filter(k, v);
+                    }
+                    object = walk('', object);
+                }
+                return object;
+            }
+        } catch(e) {
+            // Fall through if the regexp test fails.
+        }
+        return null;
+    },
+
+    /**
+     * APIMethod: write
+     * Serialize an object into a JSON string.
+     *
+     * Parameters:
+     * value - {String} The object, array, string, number, boolean or date
+     *     to be serialized.
+     * pretty - {Boolean} Structure the output with newlines and indentation.
+     *     Default is false.
+     *
+     * Returns:
+     * {String} The JSON string representation of the input value.
+     */
+    write: function(value, pretty) {
+        this.pretty = !!pretty;
+        var json = null;
+        var type = typeof value;
+        if(this.serialize[type]) {
+            json = this.serialize[type].apply(this, [value]);
+        }
+        return json;
+    },
+    
+    /**
+     * Method: writeIndent
+     * Output an indentation string depending on the indentation level.
+     *
+     * Returns:
+     * {String} An appropriate indentation string.
+     */
+    writeIndent: function() {
+        var pieces = [];
+        if(this.pretty) {
+            for(var i=0; i<this.level; ++i) {
+                pieces.push(this.indent);
+            }
+        }
+        return pieces.join('');
+    },
+    
+    /**
+     * Method: writeNewline
+     * Output a string representing a newline if in pretty printing mode.
+     *
+     * Returns:
+     * {String} A string representing a new line.
+     */
+    writeNewline: function() {
+        return (this.pretty) ? this.newline : '';
+    },
+    
+    /**
+     * Method: writeSpace
+     * Output a string representing a space if in pretty printing mode.
+     *
+     * Returns:
+     * {String} A space.
+     */
+    writeSpace: function() {
+        return (this.pretty) ? this.space : '';
+    },
+
+    /**
+     * Property: serialize
+     * Object with properties corresponding to the serializable data types.
+     *     Property values are functions that do the actual serializing.
+     */
+    serialize: {
+        /**
+         * Method: serialize.object
+         * Transform an object into a JSON string.
+         *
+         * Parameters:
+         * object - {Object} The object to be serialized.
+         * 
+         * Returns:
+         * {String} A JSON string representing the object.
+         */
+        'object': function(object) {
+            // three special objects that we want to treat differently
+            if(object == null) {
+                return "null";
+            }
+            if(object.constructor == Date) {
+                return this.serialize.date.apply(this, [object]);
+            }
+            if(object.constructor == Array) {
+                return this.serialize.array.apply(this, [object]);
+            }
+            var pieces = ['{'];
+            this.level += 1;
+            var key, keyJSON, valueJSON;
+            
+            var addComma = false;
+            for(key in object) {
+                if(object.hasOwnProperty(key)) {
+                    // recursive calls need to allow for sub-classing
+                    keyJSON = OpenLayers.Format.JSON.prototype.write.apply(this,
+                                                    [key, this.pretty]);
+                    valueJSON = OpenLayers.Format.JSON.prototype.write.apply(this,
+                                                    [object[key], this.pretty]);
+                    if(keyJSON != null && valueJSON != null) {
+                        if(addComma) {
+                            pieces.push(',');
+                        }
+                        pieces.push(this.writeNewline(), this.writeIndent(),
+                                    keyJSON, ':', this.writeSpace(), valueJSON);
+                        addComma = true;
+                    }
+                }
+            }
+            
+            this.level -= 1;
+            pieces.push(this.writeNewline(), this.writeIndent(), '}');
+            return pieces.join('');
+        },
+        
+        /**
+         * Method: serialize.array
+         * Transform an array into a JSON string.
+         *
+         * Parameters:
+         * array - {Array} The array to be serialized
+         * 
+         * Returns:
+         * {String} A JSON string representing the array.
+         */
+        'array': function(array) {
+            var json;
+            var pieces = ['['];
+            this.level += 1;
+    
+            for(var i=0; i<array.length; ++i) {
+                // recursive calls need to allow for sub-classing
+                json = OpenLayers.Format.JSON.prototype.write.apply(this,
+                                                    [array[i], this.pretty]);
+                if(json != null) {
+                    if(i > 0) {
+                        pieces.push(',');
+                    }
+                    pieces.push(this.writeNewline(), this.writeIndent(), json);
+                }
+            }
+
+            this.level -= 1;    
+            pieces.push(this.writeNewline(), this.writeIndent(), ']');
+            return pieces.join('');
+        },
+        
+        /**
+         * Method: serialize.string
+         * Transform a string into a JSON string.
+         *
+         * Parameters:
+         * string - {String} The string to be serialized
+         * 
+         * Returns:
+         * {String} A JSON string representing the string.
+         */
+        'string': function(string) {
+            // If the string contains no control characters, no quote characters, and no
+            // backslash characters, then we can simply slap some quotes around it.
+            // Otherwise we must also replace the offending characters with safe
+            // sequences.    
+            var m = {
+                '\b': '\\b',
+                '\t': '\\t',
+                '\n': '\\n',
+                '\f': '\\f',
+                '\r': '\\r',
+                '"' : '\\"',
+                '\\': '\\\\'
+            };
+            if(/["\\\x00-\x1f]/.test(string)) {
+                return '"' + string.replace(/([\x00-\x1f\\"])/g, function(a, b) {
+                    var c = m[b];
+                    if(c) {
+                        return c;
+                    }
+                    c = b.charCodeAt();
+                    return '\\u00' +
+                        Math.floor(c / 16).toString(16) +
+                        (c % 16).toString(16);
+                }) + '"';
+            }
+            return '"' + string + '"';
+        },
+
+        /**
+         * Method: serialize.number
+         * Transform a number into a JSON string.
+         *
+         * Parameters:
+         * number - {Number} The number to be serialized.
+         *
+         * Returns:
+         * {String} A JSON string representing the number.
+         */
+        'number': function(number) {
+            return isFinite(number) ? String(number) : "null";
+        },
+        
+        /**
+         * Method: serialize.boolean
+         * Transform a boolean into a JSON string.
+         *
+         * Parameters:
+         * bool - {Boolean} The boolean to be serialized.
+         * 
+         * Returns:
+         * {String} A JSON string representing the boolean.
+         */
+        'boolean': function(bool) {
+            return String(bool);
+        },
+        
+        /**
+         * Method: serialize.object
+         * Transform a date into a JSON string.
+         *
+         * Parameters:
+         * date - {Date} The date to be serialized.
+         * 
+         * Returns:
+         * {String} A JSON string representing the date.
+         */
+        'date': function(date) {    
+            function format(number) {
+                // Format integers to have at least two digits.
+                return (number < 10) ? '0' + number : number;
+            }
+            return '"' + date.getFullYear() + '-' +
+                    format(date.getMonth() + 1) + '-' +
+                    format(date.getDate()) + 'T' +
+                    format(date.getHours()) + ':' +
+                    format(date.getMinutes()) + ':' +
+                    format(date.getSeconds()) + '"';
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Format.JSON" 
+
+});     
+/* ======================================================================
+    OpenLayers/Format/XML.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Format.js
+ */
+
+/**
+ * Class: OpenLayers.Format.XML
+ * Read and write XML.  For cross-browser XML generation, use methods on an
+ *     instance of the XML format class instead of on <code>document<end>.
+ *     The DOM creation and traversing methods exposed here all mimic the
+ *     W3C XML DOM methods.  Create a new parser with the
+ *     <OpenLayers.Format.XML> constructor.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Format>
+ */
+OpenLayers.Format.XML = OpenLayers.Class(OpenLayers.Format, {
+    
+    /**
+     * Property: xmldom
+     * {XMLDom} If this browser uses ActiveX, this will be set to a XMLDOM
+     *     object.  It is not intended to be a browser sniffing property.
+     *     Instead, the xmldom property is used instead of <code>document<end>
+     *     where namespaced node creation methods are not supported. In all
+     *     other browsers, this remains null.
+     */
+    xmldom: null,
+
+    /**
+     * Constructor: OpenLayers.Format.XML
+     * Construct an XML parser.  The parser is used to read and write XML.
+     *     Reading XML from a string returns a DOM element.  Writing XML from
+     *     a DOM element returns a string.
+     *
+     * Parameters:
+     * options - {Object} Optional object whose properties will be set on
+     *     the object.
+     */
+    initialize: function(options) {
+        if(window.ActiveXObject) {
+            this.xmldom = new ActiveXObject("Microsoft.XMLDOM");
+        }
+        OpenLayers.Format.prototype.initialize.apply(this, [options]);
+    },
+
+    /**
+     * APIMethod: read
+     * Deserialize a XML string and return a DOM node.
+     *
+     * Parameters:
+     * text - {String} A XML string
+     
+     * Returns:
+     * {DOMElement} A DOM node
+     */
+    read: function(text) {
+        var index = text.indexOf('<');
+        if(index > 0) {
+            text = text.substring(index);
+        }
+        var node = OpenLayers.Util.Try(
+            OpenLayers.Function.bind((
+                function() {
+                    var xmldom;
+                    /**
+                     * Since we want to be able to call this method on the prototype
+                     * itself, this.xmldom may not exist even if in IE.
+                     */
+                    if(window.ActiveXObject && !this.xmldom) {
+                        xmldom = new ActiveXObject("Microsoft.XMLDOM");
+                    } else {
+                        xmldom = this.xmldom;
+                        
+                    }
+                    xmldom.loadXML(text);
+                    return xmldom;
+                }
+            ), this),
+            function() {
+                return new DOMParser().parseFromString(text, 'text/xml');
+            },
+            function() {
+                var req = new XMLHttpRequest();
+                req.open("GET", "data:" + "text/xml" +
+                         ";charset=utf-8," + encodeURIComponent(text), false);
+                if(req.overrideMimeType) {
+                    req.overrideMimeType("text/xml");
+                }
+                req.send(null);
+                return req.responseXML;
+            }
+        );
+        return node;
+    },
+
+    /**
+     * APIMethod: write
+     * Serialize a DOM node into a XML string.
+     * 
+     * Parameters:
+     * node - {DOMElement} A DOM node.
+     *
+     * Returns:
+     * {String} The XML string representation of the input node.
+     */
+    write: function(node) {
+        var data;
+        if(this.xmldom) {
+            data = node.xml;
+        } else {
+            var serializer = new XMLSerializer();
+            if (node.nodeType == 1) {
+                // Add nodes to a document before serializing. Everything else
+                // is serialized as is. This may need more work. See #1218 .
+                var doc = document.implementation.createDocument("", "", null);
+                if (doc.importNode) {
+                    node = doc.importNode(node, true);
+                }
+                doc.appendChild(node);
+                data = serializer.serializeToString(doc);
+            } else {
+                data = serializer.serializeToString(node);
+            }
+        }
+        return data;
+    },
+
+    /**
+     * APIMethod: createElementNS
+     * Create a new element with namespace.  This node can be appended to
+     *     another node with the standard node.appendChild method.  For
+     *     cross-browser support, this method must be used instead of
+     *     document.createElementNS.
+     *
+     * Parameters:
+     * uri - {String} Namespace URI for the element.
+     * name - {String} The qualified name of the element (prefix:localname).
+     * 
+     * Returns:
+     * {Element} A DOM element with namespace.
+     */
+    createElementNS: function(uri, name) {
+        var element;
+        if(this.xmldom) {
+            if(typeof uri == "string") {
+                element = this.xmldom.createNode(1, name, uri);
+            } else {
+                element = this.xmldom.createNode(1, name, "");
+            }
+        } else {
+            element = document.createElementNS(uri, name);
+        }
+        return element;
+    },
+
+    /**
+     * APIMethod: createTextNode
+     * Create a text node.  This node can be appended to another node with
+     *     the standard node.appendChild method.  For cross-browser support,
+     *     this method must be used instead of document.createTextNode.
+     * 
+     * Parameters:
+     * text - {String} The text of the node.
+     * 
+     * Returns: 
+     * {DOMElement} A DOM text node.
+     */
+    createTextNode: function(text) {
+        var node;
+        if(this.xmldom) {
+            node = this.xmldom.createTextNode(text);
+        } else {
+            node = document.createTextNode(text);
+        }
+        return node;
+    },
+
+    /**
+     * APIMethod: getElementsByTagNameNS
+     * Get a list of elements on a node given the namespace URI and local name.
+     *     To return all nodes in a given namespace, use '*' for the name
+     *     argument.  To return all nodes of a given (local) name, regardless
+     *     of namespace, use '*' for the uri argument.
+     * 
+     * Parameters:
+     * node - {Element} Node on which to search for other nodes.
+     * uri - {String} Namespace URI.
+     * name - {String} Local name of the tag (without the prefix).
+     * 
+     * Returns:
+     * {NodeList} A node list or array of elements.
+     */
+    getElementsByTagNameNS: function(node, uri, name) {
+        var elements = [];
+        if(node.getElementsByTagNameNS) {
+            elements = node.getElementsByTagNameNS(uri, name);
+        } else {
+            // brute force method
+            var allNodes = node.getElementsByTagName("*");
+            var potentialNode, fullName;
+            for(var i=0; i<allNodes.length; ++i) {
+                potentialNode = allNodes[i];
+                fullName = (potentialNode.prefix) ?
+                           (potentialNode.prefix + ":" + name) : name;
+                if((name == "*") || (fullName == potentialNode.nodeName)) {
+                    if((uri == "*") || (uri == potentialNode.namespaceURI)) {
+                        elements.push(potentialNode);
+                    }
+                }
+            }
+        }
+        return elements;
+    },
+
+    /**
+     * APIMethod: getAttributeNodeNS
+     * Get an attribute node given the namespace URI and local name.
+     * 
+     * Parameters:
+     * node - {Element} Node on which to search for attribute nodes.
+     * uri - {String} Namespace URI.
+     * name - {String} Local name of the attribute (without the prefix).
+     * 
+     * Returns:
+     * {DOMElement} An attribute node or null if none found.
+     */
+    getAttributeNodeNS: function(node, uri, name) {
+        var attributeNode = null;
+        if(node.getAttributeNodeNS) {
+            attributeNode = node.getAttributeNodeNS(uri, name);
+        } else {
+            var attributes = node.attributes;
+            var potentialNode, fullName;
+            for(var i=0; i<attributes.length; ++i) {
+                potentialNode = attributes[i];
+                if(potentialNode.namespaceURI == uri) {
+                    fullName = (potentialNode.prefix) ?
+                               (potentialNode.prefix + ":" + name) : name;
+                    if(fullName == potentialNode.nodeName) {
+                        attributeNode = potentialNode;
+                        break;
+                    }
+                }
+            }
+        }
+        return attributeNode;
+    },
+
+    /**
+     * APIMethod: getAttributeNS
+     * Get an attribute value given the namespace URI and local name.
+     * 
+     * Parameters:
+     * node - {Element} Node on which to search for an attribute.
+     * uri - {String} Namespace URI.
+     * name - {String} Local name of the attribute (without the prefix).
+     * 
+     * Returns:
+     * {String} An attribute value or and empty string if none found.
+     */
+    getAttributeNS: function(node, uri, name) {
+        var attributeValue = "";
+        if(node.getAttributeNS) {
+            attributeValue = node.getAttributeNS(uri, name) || "";
+        } else {
+            var attributeNode = this.getAttributeNodeNS(node, uri, name);
+            if(attributeNode) {
+                attributeValue = attributeNode.nodeValue;
+            }
+        }
+        return attributeValue;
+    },
+    
+    /**
+     * APIMethod: getChildValue
+     * Get the value of the first child node if it exists, or return an
+     *     optional default string.  Returns an empty string if no first child
+     *     exists and no default value is supplied.
+     *
+     * Parameters:
+     * node - {DOMElement} The element used to look for a first child value.
+     * def - {String} Optional string to return in the event that no
+     *     first child value exists.
+     *
+     * Returns:
+     * {String} The value of the first child of the given node.
+     */
+    getChildValue: function(node, def) {
+        var value;
+        try {
+            value = node.firstChild.nodeValue;
+        } catch(e) {
+            value = (def != undefined) ? def : "";
+        }
+        return value;
+    },
+
+    /**
+     * APIMethod: concatChildValues
+     * Concatenate the value of all child nodes if any exist, or return an
+     *     optional default string.  Returns an empty string if no children
+     *     exist and no default value is supplied.  Not optimized for large
+     *     numbers of child nodes.
+     *
+     * Parameters:
+     * node - {DOMElement} The element used to look for child values.
+     * def - {String} Optional string to return in the event that no
+     *     child exist.
+     *
+     * Returns:
+     * {String} The concatenated value of all child nodes of the given node.
+     */
+    concatChildValues: function(node, def) {
+        var value = "";
+        var child = node.firstChild;
+        var childValue;
+        while(child) {
+            childValue = child.nodeValue;
+            if(childValue) {
+                value += childValue;
+            }
+            child = child.nextSibling;
+        }
+        if(value == "" && def != undefined) {
+            value = def;
+        }
+        return value;
+    },
+
+    /**
+     * APIMethod: hasAttributeNS
+     * Determine whether a node has a particular attribute matching the given
+     *     name and namespace.
+     * 
+     * Parameters:
+     * node - {Element} Node on which to search for an attribute.
+     * uri - {String} Namespace URI.
+     * name - {String} Local name of the attribute (without the prefix).
+     * 
+     * Returns:
+     * {Boolean} The node has an attribute matching the name and namespace.
+     */
+    hasAttributeNS: function(node, uri, name) {
+        var found = false;
+        if(node.hasAttributeNS) {
+            found = node.hasAttributeNS(uri, name);
+        } else {
+            found = !!this.getAttributeNodeNS(node, uri, name);
+        }
+        return found;
+    },
+    
+    /**
+     * APIMethod: setAttributeNS
+     * Adds a new attribute or changes the value of an attribute with the given
+     *     namespace and name.
+     *
+     * Parameters:
+     * node - {Element} Element node on which to set the attribute.
+     * uri - {String} Namespace URI for the attribute.
+     * name - {String} Qualified name (prefix:localname) for the attribute.
+     * value - {String} Attribute value.
+     */
+    setAttributeNS: function(node, uri, name, value) {
+        if(node.setAttributeNS) {
+            node.setAttributeNS(uri, name, value);
+        } else {
+            if(this.xmldom) {
+                if(uri) {
+                    var attribute = node.ownerDocument.createNode(
+                        2, name, uri
+                    );
+                    attribute.nodeValue = value;
+                    node.setAttributeNode(attribute);
+                } else {
+                    node.setAttribute(name, value);
+                }
+            } else {
+                throw "setAttributeNS not implemented";
+            }
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Format.XML" 
+
+});     
+/* ======================================================================
+    OpenLayers/Handler.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Events.js
+ */
+
+/**
+ * Class: OpenLayers.Handler
+ * Base class to construct a higher-level handler for event sequences.  All
+ *     handlers have activate and deactivate methods.  In addition, they have
+ *     methods named like browser events.  When a handler is activated, any
+ *     additional methods named like a browser event is registered as a
+ *     listener for the corresponding event.  When a handler is deactivated,
+ *     those same methods are unregistered as event listeners.
+ *
+ * Handlers also typically have a callbacks object with keys named like
+ *     the abstracted events or event sequences that they are in charge of
+ *     handling.  The controls that wrap handlers define the methods that
+ *     correspond to these abstract events - so instead of listening for
+ *     individual browser events, they only listen for the abstract events
+ *     defined by the handler.
+ *     
+ * Handlers are created by controls, which ultimately have the responsibility
+ *     of making changes to the the state of the application.  Handlers
+ *     themselves may make temporary changes, but in general are expected to
+ *     return the application in the same state that they found it.
+ */
+OpenLayers.Handler = OpenLayers.Class({
+
+    /**
+     * Property: id
+     * {String}
+     */
+    id: null,
+        
+    /**
+     * APIProperty: control
+     * {<OpenLayers.Control>}. The control that initialized this handler.  The
+     *     control is assumed to have a valid map property - that map is used
+     *     in the handler's own setMap method.
+     */
+    control: null,
+
+    /**
+     * Property: map
+     * {<OpenLayers.Map>}
+     */
+    map: null,
+
+    /**
+     * APIProperty: keyMask
+     * {Integer} Use bitwise operators and one or more of the OpenLayers.Handler
+     *     constants to construct a keyMask.  The keyMask is used by
+     *     <checkModifiers>.  If the keyMask matches the combination of keys
+     *     down on an event, checkModifiers returns true.
+     *
+     * Example:
+     * (code)
+     *     // handler only responds if the Shift key is down
+     *     handler.keyMask = OpenLayers.Handler.MOD_SHIFT;
+     *
+     *     // handler only responds if Ctrl-Shift is down
+     *     handler.keyMask = OpenLayers.Handler.MOD_SHIFT |
+     *                       OpenLayers.Handler.MOD_CTRL;
+     * (end)
+     */
+    keyMask: null,
+
+    /**
+     * Property: active
+     * {Boolean}
+     */
+    active: false,
+    
+    /**
+     * Property: evt
+     * {Event} This property references the last event handled by the handler.
+     *     Note that this property is not part of the stable API.  Use of the
+     *     evt property should be restricted to controls in the library
+     *     or other applications that are willing to update with changes to
+     *     the OpenLayers code.
+     */
+    evt: null,
+
+    /**
+     * Constructor: OpenLayers.Handler
+     * Construct a handler.
+     *
+     * Parameters:
+     * control - {<OpenLayers.Control>} The control that initialized this
+     *     handler.  The control is assumed to have a valid map property; that
+     *     map is used in the handler's own setMap method.
+     * callbacks - {Object} An object whose properties correspond to abstracted
+     *     events or sequences of browser events.  The values for these
+     *     properties are functions defined by the control that get called by
+     *     the handler.
+     * options - {Object} An optional object whose properties will be set on
+     *     the handler.
+     */
+    initialize: function(control, callbacks, options) {
+        OpenLayers.Util.extend(this, options);
+        this.control = control;
+        this.callbacks = callbacks;
+        if (control.map) {
+            this.setMap(control.map); 
+        }
+
+        OpenLayers.Util.extend(this, options);
+        
+        this.id = OpenLayers.Util.createUniqueID(this.CLASS_NAME + "_");
+    },
+    
+    /**
+     * Method: setMap
+     */
+    setMap: function (map) {
+        this.map = map;
+    },
+
+    /**
+     * Method: checkModifiers
+     * Check the keyMask on the handler.  If no <keyMask> is set, this always
+     *     returns true.  If a <keyMask> is set and it matches the combination
+     *     of keys down on an event, this returns true.
+     *
+     * Returns:
+     * {Boolean} The keyMask matches the keys down on an event.
+     */
+    checkModifiers: function (evt) {
+        if(this.keyMask == null) {
+            return true;
+        }
+        /* calculate the keyboard modifier mask for this event */
+        var keyModifiers =
+            (evt.shiftKey ? OpenLayers.Handler.MOD_SHIFT : 0) |
+            (evt.ctrlKey  ? OpenLayers.Handler.MOD_CTRL  : 0) |
+            (evt.altKey   ? OpenLayers.Handler.MOD_ALT   : 0);
+    
+        /* if it differs from the handler object's key mask,
+           bail out of the event handler */
+        return (keyModifiers == this.keyMask);
+    },
+
+    /**
+     * APIMethod: activate
+     * Turn on the handler.  Returns false if the handler was already active.
+     * 
+     * Returns: 
+     * {Boolean} The handler was activated.
+     */
+    activate: function() {
+        if(this.active) {
+            return false;
+        }
+        // register for event handlers defined on this class.
+        var events = OpenLayers.Events.prototype.BROWSER_EVENTS;
+        for (var i = 0; i < events.length; i++) {
+            if (this[events[i]]) {
+                this.register(events[i], this[events[i]]); 
+            }
+        } 
+        this.active = true;
+        return true;
+    },
+    
+    /**
+     * APIMethod: deactivate
+     * Turn off the handler.  Returns false if the handler was already inactive.
+     * 
+     * Returns:
+     * {Boolean} The handler was deactivated.
+     */
+    deactivate: function() {
+        if(!this.active) {
+            return false;
+        }
+        // unregister event handlers defined on this class.
+        var events = OpenLayers.Events.prototype.BROWSER_EVENTS;
+        for (var i = 0; i < events.length; i++) {
+            if (this[events[i]]) {
+                this.unregister(events[i], this[events[i]]); 
+            }
+        } 
+        this.active = false;
+        return true;
+    },
+
+    /**
+    * Method: callback
+    * Trigger the control's named callback with the given arguments
+    *
+    * Parameters:
+    * name - {String} The key for the callback that is one of the properties
+    *     of the handler's callbacks object.
+    * args - {Array(*)} An array of arguments (any type) with which to call 
+    *     the callback (defined by the control).
+    */
+    callback: function (name, args) {
+        if (name && this.callbacks[name]) {
+            this.callbacks[name].apply(this.control, args);
+        }
+    },
+
+    /**
+    * Method: register
+    * register an event on the map
+    */
+    register: function (name, method) {
+        // TODO: deal with registerPriority in 3.0
+        this.map.events.registerPriority(name, this, method);
+        this.map.events.registerPriority(name, this, this.setEvent);
+    },
+
+    /**
+    * Method: unregister
+    * unregister an event from the map
+    */
+    unregister: function (name, method) {
+        this.map.events.unregister(name, this, method);   
+        this.map.events.unregister(name, this, this.setEvent);
+    },
+    
+    /**
+     * Method: setEvent
+     * With each registered browser event, the handler sets its own evt
+     *     property.  This property can be accessed by controls if needed
+     *     to get more information about the event that the handler is
+     *     processing.
+     *
+     * This allows modifier keys on the event to be checked (alt, shift,
+     *     and ctrl cannot be checked with the keyboard handler).  For a
+     *     control to determine which modifier keys are associated with the
+     *     event that a handler is currently processing, it should access
+     *     (code)handler.evt.altKey || handler.evt.shiftKey ||
+     *     handler.evt.ctrlKey(end).
+     *
+     * Parameters:
+     * evt - {Event} The browser event.
+     */
+    setEvent: function(evt) {
+        this.evt = evt;
+        return true;
+    },
+
+    /**
+     * Method: destroy
+     * Deconstruct the handler.
+     */
+    destroy: function () {
+        // unregister event listeners
+        this.deactivate();
+        // eliminate circular references
+        this.control = this.map = null;        
+    },
+
+    CLASS_NAME: "OpenLayers.Handler"
+});
+
+/**
+ * Constant: OpenLayers.Handler.MOD_NONE
+ * If set as the <keyMask>, <checkModifiers> returns false if any key is down.
+ */
+OpenLayers.Handler.MOD_NONE  = 0;
+
+/**
+ * Constant: OpenLayers.Handler.MOD_SHIFT
+ * If set as the <keyMask>, <checkModifiers> returns false if Shift is down.
+ */
+OpenLayers.Handler.MOD_SHIFT = 1;
+
+/**
+ * Constant: OpenLayers.Handler.MOD_CTRL
+ * If set as the <keyMask>, <checkModifiers> returns false if Ctrl is down.
+ */
+OpenLayers.Handler.MOD_CTRL  = 2;
+
+/**
+ * Constant: OpenLayers.Handler.MOD_ALT
+ * If set as the <keyMask>, <checkModifiers> returns false if Alt is down.
+ */
+OpenLayers.Handler.MOD_ALT   = 4;
+
+
+/* ======================================================================
+    OpenLayers/Map.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Util.js
+ * @requires OpenLayers/Events.js
+ * @requires OpenLayers/Tween.js
+ */
+
+/**
+ * Class: OpenLayers.Map
+ * Instances of OpenLayers.Map are interactive maps embedded in a web page.
+ * Create a new map with the <OpenLayers.Map> constructor.
+ * 
+ * On their own maps do not provide much functionality.  To extend a map
+ * it's necessary to add controls (<OpenLayers.Control>) and 
+ * layers (<OpenLayers.Layer>) to the map. 
+ */
+OpenLayers.Map = OpenLayers.Class({
+    
+    /**
+     * Constant: Z_INDEX_BASE
+     * {Object} Base z-indexes for different classes of thing 
+     */
+    Z_INDEX_BASE: { BaseLayer: 100, Overlay: 325, Popup: 750, Control: 1000 },
+
+    /**
+     * Constant: EVENT_TYPES
+     * {Array(String)} Supported application event types.  Register a listener
+     *     for a particular event with the following syntax:
+     * (code)
+     * map.events.register(type, obj, listener);
+     * (end)
+     *
+     * Listeners will be called with a reference to an event object.  The
+     *     properties of this event depends on exactly what happened.
+     *
+     * All event objects have at least the following properties:
+     *  - *object* {Object} A reference to map.events.object.
+     *  - *element* {DOMElement} A reference to map.events.element.
+     *
+     * Browser events have the following additional properties:
+     *  - *xy* {<OpenLayers.Pixel>} The pixel location of the event (relative
+     *      to the the map viewport).
+     *  - other properties that come with browser events
+     *
+     * Supported map event types:
+     *  - *preaddlayer* triggered before a layer has been added.  The event
+     *      object will include a *layer* property that references the layer  
+     *      to be added.
+     *  - *addlayer* triggered after a layer has been added.  The event object
+     *      will include a *layer* property that references the added layer.
+     *  - *removelayer* triggered after a layer has been removed.  The event
+     *      object will include a *layer* property that references the removed
+     *      layer.
+     *  - *changelayer* triggered after a layer name change, order change, or
+     *      visibility change (due to resolution thresholds).  Listeners will
+     *      receive an event object with *layer* and *property* properties.  The
+     *      *layer* property will be a reference to the changed layer.  The
+     *      *property* property will be a key to the changed property (name,
+     *      visibility, or order).
+     *  - *movestart* triggered after the start of a drag, pan, or zoom
+     *  - *move* triggered after each drag, pan, or zoom
+     *  - *moveend* triggered after a drag, pan, or zoom completes
+     *  - *popupopen* triggered after a popup opens
+     *  - *popupclose* triggered after a popup opens
+     *  - *addmarker* triggered after a marker has been added
+     *  - *removemarker* triggered after a marker has been removed
+     *  - *clearmarkers* triggered after markers have been cleared
+     *  - *mouseover* triggered after mouseover the map
+     *  - *mouseout* triggered after mouseout the map
+     *  - *mousemove* triggered after mousemove the map
+     *  - *dragstart* triggered after the start of a drag
+     *  - *drag* triggered after a drag
+     *  - *dragend* triggered after the end of a drag
+     *  - *changebaselayer* triggered after the base layer changes
+     */
+    EVENT_TYPES: [ 
+        "preaddlayer", "addlayer", "removelayer", "changelayer", "movestart",
+        "move", "moveend", "zoomend", "popupopen", "popupclose",
+        "addmarker", "removemarker", "clearmarkers", "mouseover",
+        "mouseout", "mousemove", "dragstart", "drag", "dragend",
+        "changebaselayer"],
+
+    /**
+     * Property: id
+     * {String} Unique identifier for the map
+     */
+    id: null,
+    
+    /**
+     * Property: fractionalZoom
+     * {Boolean} For a base layer that supports it, allow the map resolution
+     *     to be set to a value between one of the values in the resolutions
+     *     array.  Default is false.
+     *
+     * When fractionalZoom is set to true, it is possible to zoom to
+     *     an arbitrary extent.  This requires a base layer from a source
+     *     that supports requests for arbitrary extents (i.e. not cached
+     *     tiles on a regular lattice).  This means that fractionalZoom
+     *     will not work with commercial layers (Google, Yahoo, VE), layers
+     *     using TileCache, or any other pre-cached data sources.
+     *
+     * If you are using fractionalZoom, then you should also use
+     *     <getResolutionForZoom> instead of layer.resolutions[zoom] as the
+     *     former works for non-integer zoom levels.
+     */
+    fractionalZoom: false,
+    
+    /**
+     * APIProperty: events
+     * {<OpenLayers.Events>} An events object that handles all 
+     *                       events on the map
+     */
+    events: null,
+
+    /**
+     * APIProperty: div
+     * {DOMElement} The element that contains the map
+     */
+    div: null,
+    
+    /**
+     * Property: dragging
+     * {Boolean} The map is currently being dragged.
+     */
+    dragging: false,
+
+    /**
+     * Property: size
+     * {<OpenLayers.Size>} Size of the main div (this.div)
+     */
+    size: null,
+    
+    /**
+     * Property: viewPortDiv
+     * {HTMLDivElement} The element that represents the map viewport
+     */
+    viewPortDiv: null,
+
+    /**
+     * Property: layerContainerOrigin
+     * {<OpenLayers.LonLat>} The lonlat at which the later container was
+     *                       re-initialized (on-zoom)
+     */
+    layerContainerOrigin: null,
+
+    /**
+     * Property: layerContainerDiv
+     * {HTMLDivElement} The element that contains the layers.
+     */
+    layerContainerDiv: null,
+
+    /**
+     * APIProperty: layers
+     * {Array(<OpenLayers.Layer>)} Ordered list of layers in the map
+     */
+    layers: null,
+
+    /**
+     * Property: controls
+     * {Array(<OpenLayers.Control>)} List of controls associated with the map
+     */
+    controls: null,
+
+    /**
+     * Property: popups
+     * {Array(<OpenLayers.Popup>)} List of popups associated with the map
+     */
+    popups: null,
+
+    /**
+     * APIProperty: baseLayer
+     * {<OpenLayers.Layer>} The currently selected base layer.  This determines
+     * min/max zoom level, projection, etc.
+     */
+    baseLayer: null,
+    
+    /**
+     * Property: center
+     * {<OpenLayers.LonLat>} The current center of the map
+     */
+    center: null,
+
+    /**
+     * Property: resolution
+     * {Float} The resolution of the map.
+     */
+    resolution: null,
+
+    /**
+     * Property: zoom
+     * {Integer} The current zoom level of the map
+     */
+    zoom: 0,    
+
+    /**
+     * Property: viewRequestID
+     * {String} Used to store a unique identifier that changes when the map 
+     *          view changes. viewRequestID should be used when adding data 
+     *          asynchronously to the map: viewRequestID is incremented when 
+     *          you initiate your request (right now during changing of 
+     *          baselayers and changing of zooms). It is stored here in the 
+     *          map and also in the data that will be coming back 
+     *          asynchronously. Before displaying this data on request 
+     *          completion, we check that the viewRequestID of the data is 
+     *          still the same as that of the map. Fix for #480
+     */
+    viewRequestID: 0,
+
+  // Options
+
+    /**
+     * APIProperty: tileSize
+     * {<OpenLayers.Size>} Set in the map options to override the default tile
+     *                     size for this map.
+     */
+    tileSize: null,
+
+    /**
+     * APIProperty: projection
+     * {String} Set in the map options to override the default projection 
+     *          string this map - also set maxExtent, maxResolution, and 
+     *          units if appropriate.
+     */
+    projection: "EPSG:4326",    
+        
+    /**
+     * APIProperty: units
+     * {String} The map units.  Defaults to 'degrees'.  Possible values are
+     *          'degrees' (or 'dd'), 'm', 'ft', 'km', 'mi', 'inches'.
+     */
+    units: 'degrees',
+
+    /**
+     * APIProperty: resolutions
+     * {Array(Float)} A list of map resolutions (map units per pixel) in 
+     *     descending order.  If this is not set in the layer constructor, it 
+     *     will be set based on other resolution related properties 
+     *     (maxExtent, maxResolution, maxScale, etc.).
+     */
+    resolutions: null,
+
+    /**
+     * APIProperty: maxResolution
+     * {Float} Default max is 360 deg / 256 px, which corresponds to
+     *          zoom level 0 on gmaps.  Specify a different value in the map 
+     *          options if you are not using a geographic projection and 
+     *          displaying the whole world.
+     */
+    maxResolution: 1.40625,
+
+    /**
+     * APIProperty: minResolution
+     * {Float}
+     */
+    minResolution: null,
+
+    /**
+     * APIProperty: maxScale
+     * {Float}
+     */
+    maxScale: null,
+
+    /**
+     * APIProperty: minScale
+     * {Float}
+     */
+    minScale: null,
+
+    /**
+     * APIProperty: maxExtent
+     * {<OpenLayers.Bounds>} The maximum extent for the map.  Defaults to the
+     *                       whole world in decimal degrees 
+     *                       (-180, -90, 180, 90).  Specify a different
+     *                        extent in the map options if you are not using a 
+     *                        geographic projection and displaying the whole 
+     *                        world.
+     */
+    maxExtent: null,
+    
+    /**
+     * APIProperty: minExtent
+     * {<OpenLayers.Bounds>}
+     */
+    minExtent: null,
+    
+    /**
+     * APIProperty: restrictedExtent
+     * {<OpenLayers.Bounds>} Limit map navigation to this extent where possible.
+     *     If a non-null restrictedExtent is set, panning will be restricted
+     *     to the given bounds.  In addition, zooming to a resolution that
+     *     displays more than the restricted extent will center the map
+     *     on the restricted extent.  If you wish to limit the zoom level
+     *     or resolution, use maxResolution.
+     */
+    restrictedExtent: null,
+
+    /**
+     * APIProperty: numZoomLevels
+     * {Integer} Number of zoom levels for the map.  Defaults to 16.  Set a
+     *           different value in the map options if needed.
+     */
+    numZoomLevels: 16,
+
+    /**
+     * APIProperty: theme
+     * {String} Relative path to a CSS file from which to load theme styles.
+     *          Specify null in the map options (e.g. {theme: null}) if you 
+     *          want to get cascading style declarations - by putting links to 
+     *          stylesheets or style declarations directly in your page.
+     */
+    theme: null,
+    
+    /** 
+     * APIProperty: displayProjection
+     * {<OpenLayers.Projection>} Requires proj4js support.Projection used by
+     *     several controls to display data to user. If this property is set,
+     *     it will be set on any control which has a null displayProjection
+     *     property at the time the control is added to the map. 
+     */
+    displayProjection: null,
+
+    /**
+     * APIProperty: fallThrough
+     * {Boolean} Should OpenLayers allow events on the map to fall through to
+     *           other elements on the page, or should it swallow them? (#457)
+     *           Default is to fall through.
+     */
+    fallThrough: true,
+    
+    /**
+     * Property: panTween
+     * {OpenLayers.Tween} Animated panning tween object, see panTo()
+     */
+    panTween: null,
+
+    /**
+     * APIProperty: eventListeners
+     * {Object} If set as an option at construction, the eventListeners
+     *     object will be registered with <OpenLayers.Events.on>.  Object
+     *     structure must be a listeners object as shown in the example for
+     *     the events.on method.
+     */
+    eventListeners: null,
+
+    /**
+     * Property: panMethod
+     * {Function} The Easing function to be used for tweening.  Default is
+     * OpenLayers.Easing.Expo.easeOut. Setting this to 'null' turns off
+     * animated panning.
+     */
+    panMethod: OpenLayers.Easing.Expo.easeOut,
+    
+    /**
+     * Property: paddingForPopups
+     * {<OpenLayers.Bounds>} Outside margin of the popup. Used to prevent 
+     *     the popup from getting too close to the map border.
+     */
+    paddingForPopups : null,
+    
+    /**
+     * Constructor: OpenLayers.Map
+     * Constructor for a new OpenLayers.Map instance.
+     *
+     * Parameters:
+     * div - {String} Id of an element in your page that will contain the map.
+     * options - {Object} Optional object with properties to tag onto the map.
+     *
+     * Examples:
+     * (code)
+     * // create a map with default options in an element with the id "map1"
+     * var map = new OpenLayers.Map("map1");
+     *
+     * // create a map with non-default options in an element with id "map2"
+     * var options = {
+     *     maxExtent: new OpenLayers.Bounds(-200000, -200000, 200000, 200000),
+     *     maxResolution: 156543,
+     *     units: 'm',
+     *     projection: "EPSG:41001"
+     * };
+     * var map = new OpenLayers.Map("map2", options);
+     * (end)
+     */    
+    initialize: function (div, options) {
+
+        // Simple-type defaults are set in class definition. 
+        //  Now set complex-type defaults 
+        this.tileSize = new OpenLayers.Size(OpenLayers.Map.TILE_WIDTH,
+                                            OpenLayers.Map.TILE_HEIGHT);
+        
+        this.maxExtent = new OpenLayers.Bounds(-180, -90, 180, 90);
+        
+        this.paddingForPopups = new OpenLayers.Bounds(15, 15, 15, 15);
+
+        this.theme = OpenLayers._getScriptLocation() + 
+                             'theme/default/style.css'; 
+
+        // now override default options 
+        OpenLayers.Util.extend(this, options);
+
+        this.id = OpenLayers.Util.createUniqueID("OpenLayers.Map_");
+
+        this.div = OpenLayers.Util.getElement(div);
+
+        // the viewPortDiv is the outermost div we modify
+        var id = this.div.id + "_OpenLayers_ViewPort";
+        this.viewPortDiv = OpenLayers.Util.createDiv(id, null, null, null,
+                                                     "relative", null,
+                                                     "hidden");
+        this.viewPortDiv.style.width = "100%";
+        this.viewPortDiv.style.height = "100%";
+        this.viewPortDiv.className = "olMapViewport";
+        this.div.appendChild(this.viewPortDiv);
+
+        // the layerContainerDiv is the one that holds all the layers
+        id = this.div.id + "_OpenLayers_Container";
+        this.layerContainerDiv = OpenLayers.Util.createDiv(id);
+        this.layerContainerDiv.style.zIndex=this.Z_INDEX_BASE['Popup']-1;
+        
+        this.viewPortDiv.appendChild(this.layerContainerDiv);
+
+        this.events = new OpenLayers.Events(this, 
+                                            this.div, 
+                                            this.EVENT_TYPES, 
+                                            this.fallThrough);
+        this.updateSize();
+        if(this.eventListeners instanceof Object) {
+            this.events.on(this.eventListeners);
+        }
+ 
+        // update the map size and location before the map moves
+        this.events.register("movestart", this, this.updateSize);
+
+        // Because Mozilla does not support the "resize" event for elements 
+        // other than "window", we need to put a hack here. 
+        if (OpenLayers.String.contains(navigator.appName, "Microsoft")) {
+            // If IE, register the resize on the div
+            this.events.register("resize", this, this.updateSize);
+        } else {
+            // Else updateSize on catching the window's resize
+            //  Note that this is ok, as updateSize() does nothing if the 
+            //  map's size has not actually changed.
+            this.updateSizeDestroy = OpenLayers.Function.bind(this.updateSize, 
+                this);
+            OpenLayers.Event.observe(window, 'resize',
+                            this.updateSizeDestroy);
+        }
+        
+        // only append link stylesheet if the theme property is set
+        if(this.theme) {
+            // check existing links for equivalent url
+            var addNode = true;
+            var nodes = document.getElementsByTagName('link');
+            for(var i=0; i<nodes.length; ++i) {
+                if(OpenLayers.Util.isEquivalentUrl(nodes.item(i).href,
+                                                   this.theme)) {
+                    addNode = false;
+                    break;
+                }
+            }
+            // only add a new node if one with an equivalent url hasn't already
+            // been added
+            if(addNode) {
+                var cssNode = document.createElement('link');
+                cssNode.setAttribute('rel', 'stylesheet');
+                cssNode.setAttribute('type', 'text/css');
+                cssNode.setAttribute('href', this.theme);
+                document.getElementsByTagName('head')[0].appendChild(cssNode);
+            }
+        }
+
+        this.layers = [];
+        
+        if (this.controls == null) {
+            if (OpenLayers.Control != null) { // running full or lite?
+                this.controls = [ new OpenLayers.Control.Navigation(),
+                                  new OpenLayers.Control.PanZoom(),
+                                  new OpenLayers.Control.ArgParser(),
+                                  new OpenLayers.Control.Attribution()
+                                ];
+            } else {
+                this.controls = [];
+            }
+        }
+
+        for(var i=0; i < this.controls.length; i++) {
+            this.addControlToMap(this.controls[i]);
+        }
+
+        this.popups = [];
+
+        this.unloadDestroy = OpenLayers.Function.bind(this.destroy, this);
+        
+
+        // always call map.destroy()
+        OpenLayers.Event.observe(window, 'unload', this.unloadDestroy);
+
+    },
+
+    /**
+     * Method: unloadDestroy
+     * Function that is called to destroy the map on page unload. stored here
+     *     so that if map is manually destroyed, we can unregister this.
+     */
+    unloadDestroy: null,
+    
+    /**
+     * Method: updateSizeDestroy
+     * When the map is destroyed, we need to stop listening to updateSize
+     *    events: this method stores the function we need to unregister in 
+     *    non-IE browsers.
+     */
+    updateSizeDestroy: null,
+
+    /**
+     * APIMethod: destroy
+     * Destroy this map
+     */
+    destroy:function() {
+        // if unloadDestroy is null, we've already been destroyed
+        if (!this.unloadDestroy) {
+            return false;
+        }
+
+        // map has been destroyed. dont do it again!
+        OpenLayers.Event.stopObserving(window, 'unload', this.unloadDestroy);
+        this.unloadDestroy = null;
+
+        if (this.updateSizeDestroy) {
+            OpenLayers.Event.stopObserving(window, 'resize', 
+                                           this.updateSizeDestroy);
+        } else {
+            this.events.unregister("resize", this, this.updateSize);
+        }    
+        
+        this.paddingForPopups = null;    
+
+        if (this.controls != null) {
+            for (var i = this.controls.length - 1; i>=0; --i) {
+                this.controls[i].destroy();
+            } 
+            this.controls = null;
+        }
+        if (this.layers != null) {
+            for (var i = this.layers.length - 1; i>=0; --i) {
+                //pass 'false' to destroy so that map wont try to set a new 
+                // baselayer after each baselayer is removed
+                this.layers[i].destroy(false);
+            } 
+            this.layers = null;
+        }
+        if (this.viewPortDiv) {
+            this.div.removeChild(this.viewPortDiv);
+        }
+        this.viewPortDiv = null;
+
+        if(this.eventListeners) {
+            this.events.un(this.eventListeners);
+            this.eventListeners = null;
+        }
+        this.events.destroy();
+        this.events = null;
+
+    },
+
+    /**
+     * APIMethod: setOptions
+     * Change the map options
+     *
+     * Parameters:
+     * options - {Object} Hashtable of options to tag to the map
+     */
+    setOptions: function(options) {
+        OpenLayers.Util.extend(this, options);
+    },
+
+    /**
+     * APIMethod: getTileSize
+     * Get the tile size for the map
+     *
+     * Returns:
+     * {<OpenLayers.Size>}
+     */
+     getTileSize: function() {
+         return this.tileSize;
+     },
+
+
+    /**
+     * APIMethod: getBy
+     * Get a list of objects given a property and a match item.
+     *
+     * Parameters:
+     * array - {String} A property on the map whose value is an array.
+     * property - {String} A property on each item of the given array.
+     * match - {String | Object} A string to match.  Can also be a regular
+     *     expression literal or object.  In addition, it can be any object
+     *     with a method named test.  For reqular expressions or other, if
+     *     match.test(map[array][i][property]) evaluates to true, the item will
+     *     be included in the array returned.  If no items are found, an empty
+     *     array is returned.
+     *
+     * Returns:
+     * {Array} An array of items where the given property matches the given
+     *     criteria.
+     */
+    getBy: function(array, property, match) {
+        var test = (typeof match.test == "function");
+        var found = OpenLayers.Array.filter(this[array], function(item) {
+            return item[property] == match || (test && match.test(item[property]));
+        });
+        return found;
+    },
+
+    /**
+     * APIMethod: getLayersBy
+     * Get a list of layers with properties matching the given criteria.
+     *
+     * Parameter:
+     * property - {String} A layer property to be matched.
+     * match - {String | Object} A string to match.  Can also be a regular
+     *     expression literal or object.  In addition, it can be any object
+     *     with a method named test.  For reqular expressions or other, if
+     *     match.test(layer[property]) evaluates to true, the layer will be
+     *     included in the array returned.  If no layers are found, an empty
+     *     array is returned.
+     *
+     * Returns:
+     * {Array(<OpenLayers.Layer>)} A list of layers matching the given criteria.
+     *     An empty array is returned if no matches are found.
+     */
+    getLayersBy: function(property, match) {
+        return this.getBy("layers", property, match);
+    },
+
+    /**
+     * APIMethod: getLayersByName
+     * Get a list of layers with names matching the given name.
+     *
+     * Parameter:
+     * match - {String | Object} A layer name.  The name can also be a regular
+     *     expression literal or object.  In addition, it can be any object
+     *     with a method named test.  For reqular expressions or other, if
+     *     name.test(layer.name) evaluates to true, the layer will be included
+     *     in the list of layers returned.  If no layers are found, an empty
+     *     array is returned.
+     *
+     * Returns:
+     * {Array(<OpenLayers.Layer>)} A list of layers matching the given name.
+     *     An empty array is returned if no matches are found.
+     */
+    getLayersByName: function(match) {
+        return this.getLayersBy("name", match);
+    },
+
+    /**
+     * APIMethod: getLayersByClass
+     * Get a list of layers of a given class (CLASS_NAME).
+     *
+     * Parameter:
+     * match - {String | Object} A layer class name.  The match can also be a
+     *     regular expression literal or object.  In addition, it can be any
+     *     object with a method named test.  For reqular expressions or other,
+     *     if type.test(layer.CLASS_NAME) evaluates to true, the layer will
+     *     be included in the list of layers returned.  If no layers are
+     *     found, an empty array is returned.
+     *
+     * Returns:
+     * {Array(<OpenLayers.Layer>)} A list of layers matching the given class.
+     *     An empty array is returned if no matches are found.
+     */
+    getLayersByClass: function(match) {
+        return this.getLayersBy("CLASS_NAME", match);
+    },
+
+    /**
+     * APIMethod: getControlsBy
+     * Get a list of controls with properties matching the given criteria.
+     *
+     * Parameter:
+     * property - {String} A control property to be matched.
+     * match - {String | Object} A string to match.  Can also be a regular
+     *     expression literal or object.  In addition, it can be any object
+     *     with a method named test.  For reqular expressions or other, if
+     *     match.test(layer[property]) evaluates to true, the layer will be
+     *     included in the array returned.  If no layers are found, an empty
+     *     array is returned.
+     *
+     * Returns:
+     * {Array(<OpenLayers.Control>)} A list of controls matching the given
+     *     criteria.  An empty array is returned if no matches are found.
+     */
+    getControlsBy: function(property, match) {
+        return this.getBy("controls", property, match);
+    },
+
+    /**
+     * APIMethod: getControlsByClass
+     * Get a list of controls of a given class (CLASS_NAME).
+     *
+     * Parameter:
+     * match - {String | Object} A control class name.  The match can also be a
+     *     regular expression literal or object.  In addition, it can be any
+     *     object with a method named test.  For reqular expressions or other,
+     *     if type.test(control.CLASS_NAME) evaluates to true, the control will
+     *     be included in the list of controls returned.  If no controls are
+     *     found, an empty array is returned.
+     *
+     * Returns:
+     * {Array(<OpenLayers.Control>)} A list of controls matching the given class.
+     *     An empty array is returned if no matches are found.
+     */
+    getControlsByClass: function(match) {
+        return this.getControlsBy("CLASS_NAME", match);
+    },
+
+  /********************************************************/
+  /*                                                      */
+  /*                  Layer Functions                     */
+  /*                                                      */
+  /*     The following functions deal with adding and     */
+  /*        removing Layers to and from the Map           */
+  /*                                                      */
+  /********************************************************/         
+
+    /**
+     * APIMethod: getLayer
+     * Get a layer based on its id
+     *
+     * Parameter:
+     * id - {String} A layer id
+     *
+     * Returns:
+     * {<OpenLayers.Layer>} The Layer with the corresponding id from the map's 
+     *                      layer collection, or null if not found.
+     */
+    getLayer: function(id) {
+        var foundLayer = null;
+        for (var i = 0; i < this.layers.length; i++) {
+            var layer = this.layers[i];
+            if (layer.id == id) {
+                foundLayer = layer;
+                break;
+            }
+        }
+        return foundLayer;
+    },
+
+    /**
+    * Method: setLayerZIndex
+    * 
+    * Parameters:
+    * layer - {<OpenLayers.Layer>} 
+    * zIdx - {int} 
+    */    
+    setLayerZIndex: function (layer, zIdx) {
+        layer.setZIndex(
+            this.Z_INDEX_BASE[layer.isBaseLayer ? 'BaseLayer' : 'Overlay']
+            + zIdx * 5 );
+    },
+
+    /**
+     * Method: resetLayersZIndex
+     * Reset each layer's z-index based on layer's array index
+     */
+    resetLayersZIndex: function() {
+        for (var i = 0; i < this.layers.length; i++) {
+            var layer = this.layers[i];
+            this.setLayerZIndex(layer, i);
+        }
+    },
+
+    /**
+    * APIMethod: addLayer
+    *
+    * Parameters:
+    * layer - {<OpenLayers.Layer>} 
+    */    
+    addLayer: function (layer) {
+        for(var i=0; i < this.layers.length; i++) {
+            if (this.layers[i] == layer) {
+                var msg = OpenLayers.i18n('layerAlreadyAdded', 
+                                                      {'layerName':layer.name});
+                OpenLayers.Console.warn(msg);
+                return false;
+            }
+        }    
+
+        this.events.triggerEvent("preaddlayer", {layer: layer});
+        
+        layer.div.className = "olLayerDiv";
+        layer.div.style.overflow = "";
+        this.setLayerZIndex(layer, this.layers.length);
+
+        if (layer.isFixed) {
+            this.viewPortDiv.appendChild(layer.div);
+        } else {
+            this.layerContainerDiv.appendChild(layer.div);
+        }
+        this.layers.push(layer);
+        layer.setMap(this);
+
+        if (layer.isBaseLayer)  {
+            if (this.baseLayer == null) {
+                // set the first baselaye we add as the baselayer
+                this.setBaseLayer(layer);
+            } else {
+                layer.setVisibility(false);
+            }
+        } else {
+            layer.redraw();
+        }
+
+        this.events.triggerEvent("addlayer", {layer: layer});
+    },
+
+    /**
+    * APIMethod: addLayers 
+    *
+    * Parameters:
+    * layers - Array({<OpenLayers.Layer>}) 
+    */    
+    addLayers: function (layers) {
+        for (var i = 0; i <  layers.length; i++) {
+            this.addLayer(layers[i]);
+        }
+    },
+
+    /** 
+     * APIMethod: removeLayer
+     * Removes a layer from the map by removing its visual element (the 
+     *   layer.div property), then removing it from the map's internal list 
+     *   of layers, setting the layer's map property to null. 
+     * 
+     *   a "removelayer" event is triggered.
+     * 
+     *   very worthy of mention is that simply removing a layer from a map
+     *   will not cause the removal of any popups which may have been created
+     *   by the layer. this is due to the fact that it was decided at some
+     *   point that popups would not belong to layers. thus there is no way 
+     *   for us to know here to which layer the popup belongs.
+     *    
+     *     A simple solution to this is simply to call destroy() on the layer.
+     *     the default OpenLayers.Layer class's destroy() function
+     *     automatically takes care to remove itself from whatever map it has
+     *     been attached to. 
+     * 
+     *     The correct solution is for the layer itself to register an 
+     *     event-handler on "removelayer" and when it is called, if it 
+     *     recognizes itself as the layer being removed, then it cycles through
+     *     its own personal list of popups, removing them from the map.
+     * 
+     * Parameters:
+     * layer - {<OpenLayers.Layer>} 
+     * setNewBaseLayer - {Boolean} Default is true
+     */
+    removeLayer: function(layer, setNewBaseLayer) {
+        if (setNewBaseLayer == null) {
+            setNewBaseLayer = true;
+        }
+
+        if (layer.isFixed) {
+            this.viewPortDiv.removeChild(layer.div);
+        } else {
+            this.layerContainerDiv.removeChild(layer.div);
+        }
+        OpenLayers.Util.removeItem(this.layers, layer);
+        layer.removeMap(this);
+        layer.map = null;
+
+        // if we removed the base layer, need to set a new one
+        if(this.baseLayer == layer) {
+            this.baseLayer = null;
+            if(setNewBaseLayer) {
+                for(var i=0; i < this.layers.length; i++) {
+                    var iLayer = this.layers[i];
+                    if (iLayer.isBaseLayer) {
+                        this.setBaseLayer(iLayer);
+                        break;
+                    }
+                }
+            }
+        }
+
+        this.resetLayersZIndex();
+
+        this.events.triggerEvent("removelayer", {layer: layer});
+    },
+
+    /**
+     * APIMethod: getNumLayers
+     * 
+     * Returns:
+     * {Int} The number of layers attached to the map.
+     */
+    getNumLayers: function () {
+        return this.layers.length;
+    },
+
+    /** 
+     * APIMethod: getLayerIndex
+     *
+     * Parameters:
+     * layer - {<OpenLayers.Layer>}
+     *
+     * Returns:
+     * {Integer} The current (zero-based) index of the given layer in the map's
+     *           layer stack. Returns -1 if the layer isn't on the map.
+     */
+    getLayerIndex: function (layer) {
+        return OpenLayers.Util.indexOf(this.layers, layer);
+    },
+    
+    /** 
+     * APIMethod: setLayerIndex
+     * Move the given layer to the specified (zero-based) index in the layer
+     *     list, changing its z-index in the map display. Use
+     *     map.getLayerIndex() to find out the current index of a layer. Note
+     *     that this cannot (or at least should not) be effectively used to
+     *     raise base layers above overlays.
+     *
+     * Parameters:
+     * layer - {<OpenLayers.Layer>} 
+     * idx - {int} 
+     */
+    setLayerIndex: function (layer, idx) {
+        var base = this.getLayerIndex(layer);
+        if (idx < 0) {
+            idx = 0;
+        } else if (idx > this.layers.length) {
+            idx = this.layers.length;
+        }
+        if (base != idx) {
+            this.layers.splice(base, 1);
+            this.layers.splice(idx, 0, layer);
+            for (var i = 0; i < this.layers.length; i++) {
+                this.setLayerZIndex(this.layers[i], i);
+            }
+            this.events.triggerEvent("changelayer", {
+                layer: layer, property: "order"
+            });
+        }
+    },
+
+    /** 
+     * APIMethod: raiseLayer
+     * Change the index of the given layer by delta. If delta is positive, 
+     *     the layer is moved up the map's layer stack; if delta is negative,
+     *     the layer is moved down.  Again, note that this cannot (or at least
+     *     should not) be effectively used to raise base layers above overlays.
+     *
+     * Paremeters:
+     * layer - {<OpenLayers.Layer>} 
+     * idx - {int} 
+     */
+    raiseLayer: function (layer, delta) {
+        var idx = this.getLayerIndex(layer) + delta;
+        this.setLayerIndex(layer, idx);
+    },
+    
+    /** 
+     * APIMethod: setBaseLayer
+     * Allows user to specify one of the currently-loaded layers as the Map's
+     *     new base layer.
+     * 
+     * Parameters:
+     * newBaseLayer - {<OpenLayers.Layer>}
+     */
+    setBaseLayer: function(newBaseLayer) {
+        var oldExtent = null;
+        if (this.baseLayer) {
+            oldExtent = this.baseLayer.getExtent();
+        }
+
+        if (newBaseLayer != this.baseLayer) {
+          
+            // is newBaseLayer an already loaded layer?m
+            if (OpenLayers.Util.indexOf(this.layers, newBaseLayer) != -1) {
+
+                // make the old base layer invisible 
+                if (this.baseLayer != null) {
+                    this.baseLayer.setVisibility(false);
+                }
+
+                // set new baselayer
+                this.baseLayer = newBaseLayer;
+                
+                // Increment viewRequestID since the baseLayer is 
+                // changing. This is used by tiles to check if they should 
+                // draw themselves.
+                this.viewRequestID++;
+                this.baseLayer.visibility = true;
+
+                //redraw all layers
+                var center = this.getCenter();
+                if (center != null) {
+
+                    //either get the center from the old Extent or just from
+                    // the current center of the map. 
+                    var newCenter = (oldExtent) 
+                        ? oldExtent.getCenterLonLat()
+                        : center;
+
+                    //the new zoom will either come from the old Extent or 
+                    // from the current resolution of the map                                                
+                    var newZoom = (oldExtent) 
+                        ? this.getZoomForExtent(oldExtent, true)
+                        : this.getZoomForResolution(this.resolution, true);
+
+                    // zoom and force zoom change
+                    this.setCenter(newCenter, newZoom, false, true);
+                }
+
+                this.events.triggerEvent("changebaselayer", {
+                    layer: this.baseLayer
+                });
+            }        
+        }
+    },
+
+
+  /********************************************************/
+  /*                                                      */
+  /*                 Control Functions                    */
+  /*                                                      */
+  /*     The following functions deal with adding and     */
+  /*        removing Controls to and from the Map         */
+  /*                                                      */
+  /********************************************************/         
+
+    /**
+     * APIMethod: addControl
+     * 
+     * Parameters:
+     * control - {<OpenLayers.Control>}
+     * px - {<OpenLayers.Pixel>}
+     */    
+    addControl: function (control, px) {
+        this.controls.push(control);
+        this.addControlToMap(control, px);
+    },
+
+    /**
+     * Method: addControlToMap
+     * 
+     * Parameters:
+     * 
+     * control - {<OpenLayers.Control>}
+     * px - {<OpenLayers.Pixel>}
+     */    
+    addControlToMap: function (control, px) {
+        // If a control doesn't have a div at this point, it belongs in the
+        // viewport.
+        control.outsideViewport = (control.div != null);
+        
+        // If the map has a displayProjection, and the control doesn't, set 
+        // the display projection.
+        if (this.displayProjection && !control.displayProjection) {
+            control.displayProjection = this.displayProjection;
+        }    
+        
+        control.setMap(this);
+        var div = control.draw(px);
+        if (div) {
+            if(!control.outsideViewport) {
+                div.style.zIndex = this.Z_INDEX_BASE['Control'] +
+                                    this.controls.length;
+                this.viewPortDiv.appendChild( div );
+            }
+        }
+    },
+    
+    /**
+     * APIMethod: getControl
+     * 
+     * Parameters:
+     * id - {String} ID of the control to return.
+     * 
+     * Returns:
+     * {<OpenLayers.Control>} The control from the map's list of controls 
+     *                        which has a matching 'id'. If none found, 
+     *                        returns null.
+     */    
+    getControl: function (id) {
+        var returnControl = null;
+        for(var i=0; i < this.controls.length; i++) {
+            var control = this.controls[i];
+            if (control.id == id) {
+                returnControl = control;
+                break;
+            }
+        }
+        return returnControl;
+    },
+    
+    /** 
+     * APIMethod: removeControl
+     * Remove a control from the map. Removes the control both from the map 
+     *     object's internal array of controls, as well as from the map's 
+     *     viewPort (assuming the control was not added outsideViewport)
+     * 
+     * Parameters:
+     * control - {<OpenLayers.Control>} The control to remove.
+     */    
+    removeControl: function (control) {
+        //make sure control is non-null and actually part of our map
+        if ( (control) && (control == this.getControl(control.id)) ) {
+            if (control.div && (control.div.parentNode == this.viewPortDiv)) {
+                this.viewPortDiv.removeChild(control.div);
+            }
+            OpenLayers.Util.removeItem(this.controls, control);
+        }
+    },
+
+  /********************************************************/
+  /*                                                      */
+  /*                  Popup Functions                     */
+  /*                                                      */
+  /*     The following functions deal with adding and     */
+  /*        removing Popups to and from the Map           */
+  /*                                                      */
+  /********************************************************/         
+
+    /** 
+     * APIMethod: addPopup
+     * 
+     * Parameters:
+     * popup - {<OpenLayers.Popup>}
+     * exclusive - {Boolean} If true, closes all other popups first
+     */
+    addPopup: function(popup, exclusive) {
+
+        if (exclusive) {
+            //remove all other popups from screen
+            for (var i = this.popups.length - 1; i >= 0; --i) {
+                this.removePopup(this.popups[i]);
+            }
+        }
+
+        popup.map = this;
+        this.popups.push(popup);
+        var popupDiv = popup.draw();
+        if (popupDiv) {
+            popupDiv.style.zIndex = this.Z_INDEX_BASE['Popup'] +
+                                    this.popups.length;
+            this.layerContainerDiv.appendChild(popupDiv);
+        }
+    },
+    
+    /** 
+    * APIMethod: removePopup
+    * 
+    * Parameters:
+    * popup - {<OpenLayers.Popup>}
+    */
+    removePopup: function(popup) {
+        OpenLayers.Util.removeItem(this.popups, popup);
+        if (popup.div) {
+            try { this.layerContainerDiv.removeChild(popup.div); }
+            catch (e) { } // Popups sometimes apparently get disconnected
+                      // from the layerContainerDiv, and cause complaints.
+        }
+        popup.map = null;
+    },
+
+  /********************************************************/
+  /*                                                      */
+  /*              Container Div Functions                 */
+  /*                                                      */
+  /*   The following functions deal with the access to    */
+  /*    and maintenance of the size of the container div  */
+  /*                                                      */
+  /********************************************************/     
+
+    /**
+     * APIMethod: getSize
+     * 
+     * Returns:
+     * {<OpenLayers.Size>} An <OpenLayers.Size> object that represents the 
+     *                     size, in pixels, of the div into which OpenLayers 
+     *                     has been loaded. 
+     *                     Note - A clone() of this locally cached variable is
+     *                     returned, so as not to allow users to modify it.
+     */
+    getSize: function () {
+        var size = null;
+        if (this.size != null) {
+            size = this.size.clone();
+        }
+        return size;
+    },
+
+    /**
+     * APIMethod: updateSize
+     * This function should be called by any external code which dynamically
+     *     changes the size of the map div (because mozilla wont let us catch 
+     *     the "onresize" for an element)
+     */
+    updateSize: function() {
+        // the div might have moved on the page, also
+        this.events.element.offsets = null;
+        var newSize = this.getCurrentSize();
+        var oldSize = this.getSize();
+        if (oldSize == null) {
+            this.size = oldSize = newSize;
+        }
+        if (!newSize.equals(oldSize)) {
+            
+            // store the new size
+            this.size = newSize;
+
+            //notify layers of mapresize
+            for(var i=0; i < this.layers.length; i++) {
+                this.layers[i].onMapResize();                
+            }
+
+            if (this.baseLayer != null) {
+                var center = new OpenLayers.Pixel(newSize.w /2, newSize.h / 2);
+                var centerLL = this.getLonLatFromViewPortPx(center);
+                var zoom = this.getZoom();
+                this.zoom = null;
+                this.setCenter(this.getCenter(), zoom);
+            }
+
+        }
+    },
+    
+    /**
+     * Method: getCurrentSize
+     * 
+     * Returns:
+     * {<OpenLayers.Size>} A new <OpenLayers.Size> object with the dimensions 
+     *                     of the map div
+     */
+    getCurrentSize: function() {
+
+        var size = new OpenLayers.Size(this.div.clientWidth, 
+                                       this.div.clientHeight);
+
+        // Workaround for the fact that hidden elements return 0 for size.
+        if (size.w == 0 && size.h == 0 || isNaN(size.w) && isNaN(size.h)) {
+            var dim = OpenLayers.Element.getDimensions(this.div);
+            size.w = dim.width;
+            size.h = dim.height;
+        }
+        if (size.w == 0 && size.h == 0 || isNaN(size.w) && isNaN(size.h)) {
+            size.w = parseInt(this.div.style.width);
+            size.h = parseInt(this.div.style.height);
+        }
+        return size;
+    },
+
+    /** 
+     * Method: calculateBounds
+     * 
+     * Parameters:
+     * center - {<OpenLayers.LonLat>} Default is this.getCenter()
+     * resolution - {float} Default is this.getResolution() 
+     * 
+     * Returns:
+     * {<OpenLayers.Bounds>} A bounds based on resolution, center, and 
+     *                       current mapsize.
+     */
+    calculateBounds: function(center, resolution) {
+
+        var extent = null;
+        
+        if (center == null) {
+            center = this.getCenter();
+        }                
+        if (resolution == null) {
+            resolution = this.getResolution();
+        }
+    
+        if ((center != null) && (resolution != null)) {
+
+            var size = this.getSize();
+            var w_deg = size.w * resolution;
+            var h_deg = size.h * resolution;
+        
+            extent = new OpenLayers.Bounds(center.lon - w_deg / 2,
+                                           center.lat - h_deg / 2,
+                                           center.lon + w_deg / 2,
+                                           center.lat + h_deg / 2);
+        
+        }
+
+        return extent;
+    },
+
+
+  /********************************************************/
+  /*                                                      */
+  /*            Zoom, Center, Pan Functions               */
+  /*                                                      */
+  /*    The following functions handle the validation,    */
+  /*   getting and setting of the Zoom Level and Center   */
+  /*       as well as the panning of the Map              */
+  /*                                                      */
+  /********************************************************/
+    /**
+     * APIMethod: getCenter
+     * 
+     * Returns:
+     * {<OpenLayers.LonLat>}
+     */
+    getCenter: function () {
+        return this.center;
+    },
+
+
+    /**
+     * APIMethod: getZoom
+     * 
+     * Returns:
+     * {Integer}
+     */
+    getZoom: function () {
+        return this.zoom;
+    },
+    
+    /** 
+     * APIMethod: pan
+     * Allows user to pan by a value of screen pixels
+     * 
+     * Parameters:
+     * dx - {Integer}
+     * dy - {Integer}
+     * options - {Object} Options to configure panning:
+     *  - *animate* {Boolean} Use panTo instead of setCenter. Default is true.
+     *  - *dragging* {Boolean} Call setCenter with dragging true.  Default is
+     *    false.
+     */
+    pan: function(dx, dy, options) {
+        // this should be pushed to applyDefaults and extend
+        if (!options) {
+            options = {};
+        }
+        OpenLayers.Util.applyDefaults(options, {
+            animate: true,
+            dragging: false
+        });
+        // getCenter
+        var centerPx = this.getViewPortPxFromLonLat(this.getCenter());
+
+        // adjust
+        var newCenterPx = centerPx.add(dx, dy);
+        
+        // only call setCenter if not dragging or there has been a change
+        if (!options.dragging || !newCenterPx.equals(centerPx)) {
+            var newCenterLonLat = this.getLonLatFromViewPortPx(newCenterPx);
+            if (options.animate) {
+                this.panTo(newCenterLonLat);
+            } else {
+                this.setCenter(newCenterLonLat, null, options.dragging);
+            }    
+        }
+
+   },
+   
+   /** 
+     * APIMethod: panTo
+     * Allows user to pan to a new lonlat
+     * If the new lonlat is in the current extent the map will slide smoothly
+     * 
+     * Parameters:
+     * lonlat - {<OpenLayers.Lonlat>}
+     */
+    panTo: function(lonlat) {
+        if (this.panMethod && this.getExtent().containsLonLat(lonlat)) {
+            if (!this.panTween) {
+                this.panTween = new OpenLayers.Tween(this.panMethod);
+            }
+            var center = this.getCenter();
+            var from = {
+                lon: center.lon,
+                lat: center.lat
+            };
+            var to = {
+                lon: lonlat.lon,
+                lat: lonlat.lat
+            };
+            this.panTween.start(from, to, 50, {
+                callbacks: {
+                    start: OpenLayers.Function.bind(function(lonlat) {
+                        this.events.triggerEvent("movestart");
+                    }, this),
+                    eachStep: OpenLayers.Function.bind(function(lonlat) {
+                        lonlat = new OpenLayers.LonLat(lonlat.lon, lonlat.lat);
+                        this.moveTo(lonlat, this.zoom, {
+                            'dragging': true,
+                            'noEvent': true
+                        });
+                    }, this),
+                    done: OpenLayers.Function.bind(function(lonlat) {
+                        lonlat = new OpenLayers.LonLat(lonlat.lon, lonlat.lat);
+                        this.moveTo(lonlat, this.zoom, {
+                            'noEvent': true
+                        });
+                        this.events.triggerEvent("moveend");
+                    }, this)
+                }
+            });
+        } else {
+            this.setCenter(lonlat);
+        }
+    },
+
+    /**
+     * APIMethod: setCenter
+     * 
+     * Parameters:
+     * lonlat - {<OpenLayers.LonLat>}
+     * zoom - {Integer}
+     * dragging - {Boolean} Specifies whether or not to trigger 
+     *                      movestart/end events
+     * forceZoomChange - {Boolean} Specifies whether or not to trigger zoom 
+     *                             change events (needed on baseLayer change)
+     *
+     * TBD: reconsider forceZoomChange in 3.0
+     */
+    setCenter: function(lonlat, zoom, dragging, forceZoomChange) {
+        this.moveTo(lonlat, zoom, {
+            'dragging': dragging,
+            'forceZoomChange': forceZoomChange,
+            'caller': 'setCenter'
+        });
+    },
+
+    /**
+     * Method: moveTo
+     *
+     * Parameters:
+     * lonlat - {<OpenLayers.LonLat>}
+     * zoom - {Integer}
+     * options - {Object}
+     */
+    moveTo: function(lonlat, zoom, options) {
+        if (!options) { 
+            options = {};
+        }    
+        // dragging is false by default
+        var dragging = options.dragging;
+        // forceZoomChange is false by default
+        var forceZoomChange = options.forceZoomChange;
+        // noEvent is false by default
+        var noEvent = options.noEvent;
+
+        if (this.panTween && options.caller == "setCenter") {
+            this.panTween.stop();
+        }    
+             
+        if (!this.center && !this.isValidLonLat(lonlat)) {
+            lonlat = this.maxExtent.getCenterLonLat();
+        }
+
+        if(this.restrictedExtent != null) {
+            // In 3.0, decide if we want to change interpretation of maxExtent.
+            if(lonlat == null) { 
+                lonlat = this.getCenter(); 
+            }
+            if(zoom == null) { 
+                zoom = this.getZoom(); 
+            }
+            var resolution = this.getResolutionForZoom(zoom);
+            var extent = this.calculateBounds(lonlat, resolution); 
+            if(!this.restrictedExtent.containsBounds(extent)) {
+                var maxCenter = this.restrictedExtent.getCenterLonLat(); 
+                if(extent.getWidth() > this.restrictedExtent.getWidth()) { 
+                    lonlat = new OpenLayers.LonLat(maxCenter.lon, lonlat.lat); 
+                } else if(extent.left < this.restrictedExtent.left) {
+                    lonlat = lonlat.add(this.restrictedExtent.left -
+                                        extent.left, 0); 
+                } else if(extent.right > this.restrictedExtent.right) { 
+                    lonlat = lonlat.add(this.restrictedExtent.right -
+                                        extent.right, 0); 
+                } 
+                if(extent.getHeight() > this.restrictedExtent.getHeight()) { 
+                    lonlat = new OpenLayers.LonLat(lonlat.lon, maxCenter.lat); 
+                } else if(extent.bottom < this.restrictedExtent.bottom) { 
+                    lonlat = lonlat.add(0, this.restrictedExtent.bottom -
+                                        extent.bottom); 
+                } 
+                else if(extent.top > this.restrictedExtent.top) { 
+                    lonlat = lonlat.add(0, this.restrictedExtent.top -
+                                        extent.top); 
+                } 
+            }
+        }
+        
+        var zoomChanged = forceZoomChange || (
+                            (this.isValidZoomLevel(zoom)) && 
+                            (zoom != this.getZoom()) );
+
+        var centerChanged = (this.isValidLonLat(lonlat)) && 
+                            (!lonlat.equals(this.center));
+
+
+        // if neither center nor zoom will change, no need to do anything
+        if (zoomChanged || centerChanged || !dragging) {
+
+            if (!this.dragging && !noEvent) {
+                this.events.triggerEvent("movestart");
+            }
+
+            if (centerChanged) {
+                if ((!zoomChanged) && (this.center)) { 
+                    // if zoom hasnt changed, just slide layerContainer
+                    //  (must be done before setting this.center to new value)
+                    this.centerLayerContainer(lonlat);
+                }
+                this.center = lonlat.clone();
+            }
+
+            // (re)set the layerContainerDiv's location
+            if ((zoomChanged) || (this.layerContainerOrigin == null)) {
+                this.layerContainerOrigin = this.center.clone();
+                this.layerContainerDiv.style.left = "0px";
+                this.layerContainerDiv.style.top  = "0px";
+            }
+
+            if (zoomChanged) {
+                this.zoom = zoom;
+                this.resolution = this.getResolutionForZoom(zoom);
+                // zoom level has changed, increment viewRequestID.
+                this.viewRequestID++;
+            }    
+            
+            var bounds = this.getExtent();
+            
+            //send the move call to the baselayer and all the overlays    
+            this.baseLayer.moveTo(bounds, zoomChanged, dragging);
+            
+            bounds = this.baseLayer.getExtent();
+            
+            for (var i = 0; i < this.layers.length; i++) {
+                var layer = this.layers[i];
+                if (!layer.isBaseLayer) {
+                    var inRange = layer.calculateInRange();
+                    if (layer.inRange != inRange) {
+                        // the inRange property has changed. If the layer is
+                        // no longer in range, we turn it off right away. If
+                        // the layer is no longer out of range, the moveTo
+                        // call below will turn on the layer.
+                        layer.inRange = inRange;
+                        if (!inRange) {
+                            layer.display(false);
+                        }
+                        this.events.triggerEvent("changelayer", {
+                            layer: layer, property: "visibility"
+                        });
+                    }
+                    if (inRange && layer.visibility) {
+                        layer.moveTo(bounds, zoomChanged, dragging);
+                    }
+                }                
+            }
+            
+            if (zoomChanged) {
+                //redraw popups
+                for (var i = 0; i < this.popups.length; i++) {
+                    this.popups[i].updatePosition();
+                }
+            }    
+            
+            this.events.triggerEvent("move");
+    
+            if (zoomChanged) { this.events.triggerEvent("zoomend"); }
+        }
+
+        // even if nothing was done, we want to notify of this
+        if (!dragging && !noEvent) {
+            this.events.triggerEvent("moveend");
+        }
+        
+        // Store the map dragging state for later use
+        this.dragging = !!dragging; 
+
+    },
+
+    /** 
+     * Method: centerLayerContainer
+     * This function takes care to recenter the layerContainerDiv.
+     * 
+     * Parameters:
+     * lonlat - {<OpenLayers.LonLat>}
+     */
+    centerLayerContainer: function (lonlat) {
+
+        var originPx = this.getViewPortPxFromLonLat(this.layerContainerOrigin);
+        var newPx = this.getViewPortPxFromLonLat(lonlat);
+
+        if ((originPx != null) && (newPx != null)) {
+            this.layerContainerDiv.style.left = (originPx.x - newPx.x) + "px";
+            this.layerContainerDiv.style.top  = (originPx.y - newPx.y) + "px";
+        }
+    },
+
+    /**
+     * Method: isValidZoomLevel
+     * 
+     * Parameters:
+     * zoomLevel - {Integer}
+     * 
+     * Returns:
+     * {Boolean} Whether or not the zoom level passed in is non-null and 
+     *           within the min/max range of zoom levels.
+     */
+    isValidZoomLevel: function(zoomLevel) {
+       return ( (zoomLevel != null) &&
+                (zoomLevel >= 0) && 
+                (zoomLevel < this.getNumZoomLevels()) );
+    },
+    
+    /**
+     * Method: isValidLonLat
+     * 
+     * Parameters:
+     * lonlat - {<OpenLayers.LonLat>}
+     * 
+     * Returns:
+     * {Boolean} Whether or not the lonlat passed in is non-null and within
+     *           the maxExtent bounds
+     */
+    isValidLonLat: function(lonlat) {
+        var valid = false;
+        if (lonlat != null) {
+            var maxExtent = this.getMaxExtent();
+            valid = maxExtent.containsLonLat(lonlat);        
+        }
+        return valid;
+    },
+
+  /********************************************************/
+  /*                                                      */
+  /*                 Layer Options                        */
+  /*                                                      */
+  /*    Accessor functions to Layer Options parameters    */
+  /*                                                      */
+  /********************************************************/
+    
+    /**
+     * APIMethod: getProjection
+     * This method returns a string representing the projection. In 
+     *     the case of projection support, this will be the srsCode which
+     *     is loaded -- otherwise it will simply be the string value that
+     *     was passed to the projection at startup.
+     *
+     * FIXME: In 3.0, we will remove getProjectionObject, and instead
+     *     return a Projection object from this function. 
+     * 
+     * Returns:
+     * {String} The Projection string from the base layer or null. 
+     */
+    getProjection: function() {
+        var projection = this.getProjectionObject();
+        return projection ? projection.getCode() : null;
+    },
+    
+    /**
+     * APIMethod: getProjectionObject
+     * Returns the projection obect from the baselayer.
+     *
+     * Returns:
+     * {<OpenLayers.Projection>} The Projection of the base layer.
+     */
+    getProjectionObject: function() {
+        var projection = null;
+        if (this.baseLayer != null) {
+            projection = this.baseLayer.projection;
+        }
+        return projection;
+    },
+    
+    /**
+     * APIMethod: getMaxResolution
+     * 
+     * Returns:
+     * {String} The Map's Maximum Resolution
+     */
+    getMaxResolution: function() {
+        var maxResolution = null;
+        if (this.baseLayer != null) {
+            maxResolution = this.baseLayer.maxResolution;
+        }
+        return maxResolution;
+    },
+        
+    /**
+     * APIMethod: getMaxExtent
+     * 
+     * Returns:
+     * {<OpenLayers.Bounds>}
+     */
+    getMaxExtent: function () {
+        var maxExtent = null;
+        if (this.baseLayer != null) {
+            maxExtent = this.baseLayer.maxExtent;
+        }        
+        return maxExtent;
+    },
+    
+    /**
+     * APIMethod: getNumZoomLevels
+     * 
+     * Returns:
+     * {Integer} The total number of zoom levels that can be displayed by the 
+     *           current baseLayer.
+     */
+    getNumZoomLevels: function() {
+        var numZoomLevels = null;
+        if (this.baseLayer != null) {
+            numZoomLevels = this.baseLayer.numZoomLevels;
+        }
+        return numZoomLevels;
+    },
+
+  /********************************************************/
+  /*                                                      */
+  /*                 Baselayer Functions                  */
+  /*                                                      */
+  /*    The following functions, all publicly exposed     */
+  /*       in the API?, are all merely wrappers to the    */
+  /*       the same calls on whatever layer is set as     */
+  /*                the current base layer                */
+  /*                                                      */
+  /********************************************************/
+
+    /**
+     * APIMethod: getExtent
+     * 
+     * Returns:
+     * {<OpenLayers.Bounds>} A Bounds object which represents the lon/lat 
+     *                       bounds of the current viewPort. 
+     *                       If no baselayer is set, returns null.
+     */
+    getExtent: function () {
+        var extent = null;
+        if (this.baseLayer != null) {
+            extent = this.baseLayer.getExtent();
+        }
+        return extent;
+    },
+
+    /**
+     * APIMethod: getResolution
+     * 
+     * Returns:
+     * {Float} The current resolution of the map. 
+     *         If no baselayer is set, returns null.
+     */
+    getResolution: function () {
+        var resolution = null;
+        if (this.baseLayer != null) {
+            resolution = this.baseLayer.getResolution();
+        }
+        return resolution;
+    },
+
+     /**
+      * APIMethod: getScale
+      * 
+      * Returns:
+      * {Float} The current scale denominator of the map. 
+      *         If no baselayer is set, returns null.
+      */
+    getScale: function () {
+        var scale = null;
+        if (this.baseLayer != null) {
+            var res = this.getResolution();
+            var units = this.baseLayer.units;
+            scale = OpenLayers.Util.getScaleFromResolution(res, units);
+        }
+        return scale;
+    },
+
+
+    /**
+     * APIMethod: getZoomForExtent
+     * 
+     * Parameters: 
+     * bounds - {<OpenLayers.Bounds>}
+     * closest - {Boolean} Find the zoom level that most closely fits the 
+     *     specified bounds. Note that this may result in a zoom that does 
+     *     not exactly contain the entire extent.
+     *     Default is false.
+     * 
+     * Returns:
+     * {Integer} A suitable zoom level for the specified bounds.
+     *           If no baselayer is set, returns null.
+     */
+    getZoomForExtent: function (bounds, closest) {
+        var zoom = null;
+        if (this.baseLayer != null) {
+            zoom = this.baseLayer.getZoomForExtent(bounds, closest);
+        }
+        return zoom;
+    },
+
+    /**
+     * APIMethod: getResolutionForZoom
+     * 
+     * Parameter:
+     * zoom - {Float}
+     * 
+     * Returns:
+     * {Float} A suitable resolution for the specified zoom.  If no baselayer
+     *     is set, returns null.
+     */
+    getResolutionForZoom: function(zoom) {
+        var resolution = null;
+        if(this.baseLayer) {
+            resolution = this.baseLayer.getResolutionForZoom(zoom);
+        }
+        return resolution;
+    },
+
+    /**
+     * APIMethod: getZoomForResolution
+     * 
+     * Parameter:
+     * resolution - {Float}
+     * closest - {Boolean} Find the zoom level that corresponds to the absolute 
+     *     closest resolution, which may result in a zoom whose corresponding
+     *     resolution is actually smaller than we would have desired (if this
+     *     is being called from a getZoomForExtent() call, then this means that
+     *     the returned zoom index might not actually contain the entire 
+     *     extent specified... but it'll be close).
+     *     Default is false.
+     * 
+     * Returns:
+     * {Integer} A suitable zoom level for the specified resolution.
+     *           If no baselayer is set, returns null.
+     */
+    getZoomForResolution: function(resolution, closest) {
+        var zoom = null;
+        if (this.baseLayer != null) {
+            zoom = this.baseLayer.getZoomForResolution(resolution, closest);
+        }
+        return zoom;
+    },
+
+  /********************************************************/
+  /*                                                      */
+  /*                  Zooming Functions                   */
+  /*                                                      */
+  /*    The following functions, all publicly exposed     */
+  /*       in the API, are all merely wrappers to the     */
+  /*               the setCenter() function               */
+  /*                                                      */
+  /********************************************************/
+  
+    /** 
+     * APIMethod: zoomTo
+     * Zoom to a specific zoom level
+     * 
+     * Parameters:
+     * zoom - {Integer}
+     */
+    zoomTo: function(zoom) {
+        if (this.isValidZoomLevel(zoom)) {
+            this.setCenter(null, zoom);
+        }
+    },
+    
+    /**
+     * APIMethod: zoomIn
+     * 
+     * Parameters:
+     * zoom - {int}
+     */
+    zoomIn: function() {
+        this.zoomTo(this.getZoom() + 1);
+    },
+    
+    /**
+     * APIMethod: zoomOut
+     * 
+     * Parameters:
+     * zoom - {int}
+     */
+    zoomOut: function() {
+        this.zoomTo(this.getZoom() - 1);
+    },
+
+    /**
+     * APIMethod: zoomToExtent
+     * Zoom to the passed in bounds, recenter
+     * 
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     */
+    zoomToExtent: function(bounds) {
+        var center = bounds.getCenterLonLat();
+        if (this.baseLayer.wrapDateLine) {
+            var maxExtent = this.getMaxExtent();
+
+            //fix straddling bounds (in the case of a bbox that straddles the 
+            // dateline, it's left and right boundaries will appear backwards. 
+            // we fix this by allowing a right value that is greater than the
+            // max value at the dateline -- this allows us to pass a valid 
+            // bounds to calculate zoom)
+            //
+            bounds = bounds.clone();
+            while (bounds.right < bounds.left) {
+                bounds.right += maxExtent.getWidth();
+            }
+            //if the bounds was straddling (see above), then the center point 
+            // we got from it was wrong. So we take our new bounds and ask it
+            // for the center. Because our new bounds is at least partially 
+            // outside the bounds of maxExtent, the new calculated center 
+            // might also be. We don't want to pass a bad center value to 
+            // setCenter, so we have it wrap itself across the date line.
+            //
+            center = bounds.getCenterLonLat().wrapDateLine(maxExtent);
+        }
+        this.setCenter(center, this.getZoomForExtent(bounds));
+    },
+
+    /** 
+     * APIMethod: zoomToMaxExtent
+     * Zoom to the full extent and recenter.
+     */
+    zoomToMaxExtent: function() {
+        this.zoomToExtent(this.getMaxExtent());
+    },
+
+    /** 
+     * APIMethod: zoomToScale
+     * Zoom to a specified scale 
+     * 
+     * Parameters:
+     * scale - {float}
+     */
+    zoomToScale: function(scale) {
+        var res = OpenLayers.Util.getResolutionFromScale(scale, 
+                                                         this.baseLayer.units);
+        var size = this.getSize();
+        var w_deg = size.w * res;
+        var h_deg = size.h * res;
+        var center = this.getCenter();
+
+        var extent = new OpenLayers.Bounds(center.lon - w_deg / 2,
+                                           center.lat - h_deg / 2,
+                                           center.lon + w_deg / 2,
+                                           center.lat + h_deg / 2);
+        this.zoomToExtent(extent);
+    },
+    
+  /********************************************************/
+  /*                                                      */
+  /*             Translation Functions                    */
+  /*                                                      */
+  /*      The following functions translate between       */
+  /*           LonLat, LayerPx, and ViewPortPx            */
+  /*                                                      */
+  /********************************************************/
+      
+  //
+  // TRANSLATION: LonLat <-> ViewPortPx
+  //
+
+    /**
+     * APIMethod: getLonLatFromViewPortPx
+     * 
+     * Parameters:
+     * viewPortPx - {<OpenLayers.Pixel>}
+     * 
+     * Returns:
+     * {<OpenLayers.LonLat>} An OpenLayers.LonLat which is the passed-in view 
+     *                       port <OpenLayers.Pixel>, translated into lon/lat
+     *                       by the current base layer.
+     */
+    getLonLatFromViewPortPx: function (viewPortPx) {
+        var lonlat = null; 
+        if (this.baseLayer != null) {
+            lonlat = this.baseLayer.getLonLatFromViewPortPx(viewPortPx);
+        }
+        return lonlat;
+    },
+
+    /**
+     * APIMethod: getViewPortPxFromLonLat
+     * 
+     * Parameters:
+     * lonlat - {<OpenLayers.LonLat>}
+     * 
+     * Returns:
+     * {<OpenLayers.Pixel>} An OpenLayers.Pixel which is the passed-in 
+     *                      <OpenLayers.LonLat>, translated into view port 
+     *                      pixels by the current base layer.
+     */
+    getViewPortPxFromLonLat: function (lonlat) {
+        var px = null; 
+        if (this.baseLayer != null) {
+            px = this.baseLayer.getViewPortPxFromLonLat(lonlat);
+        }
+        return px;
+    },
+
+    
+  //
+  // CONVENIENCE TRANSLATION FUNCTIONS FOR API
+  //
+
+    /**
+     * APIMethod: getLonLatFromPixel
+     * 
+     * Parameters:
+     * px - {<OpenLayers.Pixel>}
+     *
+     * Returns:
+     * {<OpenLayers.LonLat>} An OpenLayers.LonLat corresponding to the given
+     *                       OpenLayers.Pixel, translated into lon/lat by the 
+     *                       current base layer
+     */
+    getLonLatFromPixel: function (px) {
+        return this.getLonLatFromViewPortPx(px);
+    },
+
+    /**
+     * APIMethod: getPixelFromLonLat
+     * 
+     * Parameters:
+     * lonlat - {<OpenLayers.LonLat>}
+     * 
+     * Returns: 
+     * {<OpenLayers.Pixel>} An OpenLayers.Pixel corresponding to the 
+     *                      <OpenLayers.LonLat> translated into view port 
+     *                      pixels by the current base layer.
+     */
+    getPixelFromLonLat: function (lonlat) {
+        return this.getViewPortPxFromLonLat(lonlat);
+    },
+
+
+
+  //
+  // TRANSLATION: ViewPortPx <-> LayerPx
+  //
+
+    /**
+     * APIMethod: getViewPortPxFromLayerPx
+     * 
+     * Parameters:
+     * layerPx - {<OpenLayers.Pixel>}
+     * 
+     * Returns:
+     * {<OpenLayers.Pixel>} Layer Pixel translated into ViewPort Pixel 
+     *                      coordinates
+     */
+    getViewPortPxFromLayerPx:function(layerPx) {
+        var viewPortPx = null;
+        if (layerPx != null) {
+            var dX = parseInt(this.layerContainerDiv.style.left);
+            var dY = parseInt(this.layerContainerDiv.style.top);
+            viewPortPx = layerPx.add(dX, dY);            
+        }
+        return viewPortPx;
+    },
+    
+    /**
+     * APIMethod: getLayerPxFromViewPortPx
+     * 
+     * Parameters:
+     * viewPortPx - {<OpenLayers.Pixel>}
+     * 
+     * Returns:
+     * {<OpenLayers.Pixel>} ViewPort Pixel translated into Layer Pixel 
+     *                      coordinates
+     */
+    getLayerPxFromViewPortPx:function(viewPortPx) {
+        var layerPx = null;
+        if (viewPortPx != null) {
+            var dX = -parseInt(this.layerContainerDiv.style.left);
+            var dY = -parseInt(this.layerContainerDiv.style.top);
+            layerPx = viewPortPx.add(dX, dY);
+            if (isNaN(layerPx.x) || isNaN(layerPx.y)) {
+                layerPx = null;
+            }
+        }
+        return layerPx;
+    },
+    
+  //
+  // TRANSLATION: LonLat <-> LayerPx
+  //
+
+    /**
+     * APIMethod: getLonLatFromLayerPx
+     * 
+     * Parameters:
+     * px - {<OpenLayers.Pixel>}
+     *
+     * Returns:
+     * {<OpenLayers.LonLat>}
+     */
+    getLonLatFromLayerPx: function (px) {
+       //adjust for displacement of layerContainerDiv
+       px = this.getViewPortPxFromLayerPx(px);
+       return this.getLonLatFromViewPortPx(px);         
+    },
+    
+    /**
+     * APIMethod: getLayerPxFromLonLat
+     * 
+     * Parameters:
+     * lonlat - {<OpenLayers.LonLat>} lonlat
+     *
+     * Returns:
+     * {<OpenLayers.Pixel>} An OpenLayers.Pixel which is the passed-in 
+     *                      <OpenLayers.LonLat>, translated into layer pixels 
+     *                      by the current base layer
+     */
+    getLayerPxFromLonLat: function (lonlat) {
+       //adjust for displacement of layerContainerDiv
+       var px = this.getViewPortPxFromLonLat(lonlat);
+       return this.getLayerPxFromViewPortPx(px);         
+    },
+
+    CLASS_NAME: "OpenLayers.Map"
+});
+
+/**
+ * Constant: TILE_WIDTH
+ * {Integer} 256 Default tile width (unless otherwise specified)
+ */
+OpenLayers.Map.TILE_WIDTH = 256;
+/**
+ * Constant: TILE_HEIGHT
+ * {Integer} 256 Default tile height (unless otherwise specified)
+ */
+OpenLayers.Map.TILE_HEIGHT = 256;
+/* ======================================================================
+    OpenLayers/Marker.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Events.js
+ * @requires OpenLayers/Icon.js
+ */
+
+/**
+ * Class: OpenLayers.Marker
+ * Instances of OpenLayers.Marker are a combination of a 
+ * <OpenLayers.LonLat> and an <OpenLayers.Icon>.  
+ *
+ * Markers are generally added to a special layer called
+ * <OpenLayers.Layer.Markers>.
+ *
+ * Example:
+ * (code)
+ * var markers = new OpenLayers.Layer.Markers( "Markers" );
+ * map.addLayer(markers);
+ *
+ * var size = new OpenLayers.Size(10,17);
+ * var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
+ * var icon = new OpenLayers.Icon('http://boston.openguides.org/markers/AQUA.png',size,offset);
+ * markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(0,0),icon));
+ * markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(0,0),icon.clone()));
+ *
+ * (end)
+ *
+ * Note that if you pass an icon into the Marker constructor, it will take
+ * that icon and use it. This means that you should not share icons between
+ * markers -- you use them once, but you should clone() for any additional
+ * markers using that same icon.
+ */
+OpenLayers.Marker = OpenLayers.Class({
+    
+    /** 
+     * Property: icon 
+     * {<OpenLayers.Icon>} The icon used by this marker.
+     */
+    icon: null,
+
+    /** 
+     * Property: lonlat 
+     * {<OpenLayers.LonLat>} location of object
+     */
+    lonlat: null,
+    
+    /** 
+     * Property: events 
+     * {<OpenLayers.Events>} the event handler.
+     */
+    events: null,
+    
+    /** 
+     * Property: map 
+     * {<OpenLayers.Map>} the map this marker is attached to
+     */
+    map: null,
+    
+    /** 
+     * Constructor: OpenLayers.Marker
+     * Paraemeters:
+     * icon - {<OpenLayers.Icon>}  the icon for this marker
+     * lonlat - {<OpenLayers.LonLat>} the position of this marker
+     */
+    initialize: function(lonlat, icon) {
+        this.lonlat = lonlat;
+        
+        var newIcon = (icon) ? icon : OpenLayers.Marker.defaultIcon();
+        if (this.icon == null) {
+            this.icon = newIcon;
+        } else {
+            this.icon.url = newIcon.url;
+            this.icon.size = newIcon.size;
+            this.icon.offset = newIcon.offset;
+            this.icon.calculateOffset = newIcon.calculateOffset;
+        }
+        this.events = new OpenLayers.Events(this, this.icon.imageDiv, null);
+    },
+    
+    /**
+     * APIMethod: destroy
+     * Destroy the marker. You must first remove the marker from any 
+     * layer which it has been added to, or you will get buggy behavior.
+     * (This can not be done within the marker since the marker does not
+     * know which layer it is attached to.)
+     */
+    destroy: function() {
+        this.map = null;
+
+        this.events.destroy();
+        this.events = null;
+
+        if (this.icon != null) {
+            this.icon.destroy();
+            this.icon = null;
+        }
+    },
+    
+    /** 
+    * Method: draw
+    * Calls draw on the icon, and returns that output.
+    * 
+    * Parameters:
+    * px - {<OpenLayers.Pixel>}
+    * 
+    * Returns:
+    * {DOMElement} A new DOM Image with this marker's icon set at the 
+    * location passed-in
+    */
+    draw: function(px) {
+        return this.icon.draw(px);
+    }, 
+
+    /**
+    * Method: moveTo
+    * Move the marker to the new location.
+    *
+    * Parameters:
+    * px - {<OpenLayers.Pixel>} the pixel position to move to
+    */
+    moveTo: function (px) {
+        if ((px != null) && (this.icon != null)) {
+            this.icon.moveTo(px);
+        }           
+        this.lonlat = this.map.getLonLatFromLayerPx(px);
+    },
+
+    /**
+     * Method: onScreen
+     *
+     * Returns:
+     * {Boolean} Whether or not the marker is currently visible on screen.
+     */
+    onScreen:function() {
+        
+        var onScreen = false;
+        if (this.map) {
+            var screenBounds = this.map.getExtent();
+            onScreen = screenBounds.containsLonLat(this.lonlat);
+        }    
+        return onScreen;
+    },
+    
+    /**
+     * Method: inflate
+     * Englarges the markers icon by the specified ratio.
+     *
+     * Parameters:
+     * inflate - {float} the ratio to enlarge the marker by (passing 2
+     *                   will double the size).
+     */
+    inflate: function(inflate) {
+        if (this.icon) {
+            var newSize = new OpenLayers.Size(this.icon.size.w * inflate,
+                                              this.icon.size.h * inflate);
+            this.icon.setSize(newSize);
+        }        
+    },
+    
+    /** 
+     * Method: setOpacity
+     * Change the opacity of the marker by changin the opacity of 
+     *   its icon
+     * 
+     * Parameters:
+     * opacity - {float}  Specified as fraction (0.4, etc)
+     */
+    setOpacity: function(opacity) {
+        this.icon.setOpacity(opacity);
+    },
+
+    /**
+     * Method: setUrl
+     * Change URL of the Icon Image.
+     * 
+     * url - {String} 
+     */
+    setUrl: function(url) {
+        this.icon.setUrl(url);
+    },    
+
+    /** 
+     * Method: display
+     * Hide or show the icon
+     * 
+     * display - {Boolean} 
+     */
+    display: function(display) {
+        this.icon.display(display);
+    },
+
+    CLASS_NAME: "OpenLayers.Marker"
+});
+
+
+/**
+ * Function: defaultIcon
+ * Creates a default <OpenLayers.Icon>.
+ * 
+ * Returns:
+ * {<OpenLayers.Icon>} A default OpenLayers.Icon to use for a marker
+ */
+OpenLayers.Marker.defaultIcon = function() {
+    var url = OpenLayers.Util.getImagesLocation() + "marker.png";
+    var size = new OpenLayers.Size(21, 25);
+    var calculateOffset = function(size) {
+                    return new OpenLayers.Pixel(-(size.w/2), -size.h);
+                 };
+
+    return new OpenLayers.Icon(url, size, null, calculateOffset);        
+};
+    
+
+/* ======================================================================
+    OpenLayers/Popup/AnchoredBubble.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Popup/Anchored.js
+ */
+
+/**
+ * Class: OpenLayers.Popup.AnchoredBubble
+ * 
+ * Inherits from: 
+ *  - <OpenLayers.Popup.Anchored>
+ */
+OpenLayers.Popup.AnchoredBubble = 
+  OpenLayers.Class(OpenLayers.Popup.Anchored, {
+
+    /**
+     * Property: rounded
+     * {Boolean} Has the popup been rounded yet?
+     */
+    rounded: false, 
+    
+    /** 
+     * Constructor: OpenLayers.Popup.AnchoredBubble
+     * 
+     * Parameters:
+     * id - {String}
+     * lonlat - {<OpenLayers.LonLat>}
+     * size - {<OpenLayers.Size>}
+     * contentHTML - {String}
+     * anchor - {Object} Object to which we'll anchor the popup. Must expose 
+     *     a 'size' (<OpenLayers.Size>) and 'offset' (<OpenLayers.Pixel>) 
+     *     (Note that this is generally an <OpenLayers.Icon>).
+     * closeBox - {Boolean}
+     * closeBoxCallback - {Function} Function to be called on closeBox click.
+     */
+    initialize:function(id, lonlat, size, contentHTML, anchor, closeBox,
+                        closeBoxCallback) {
+        
+        this.padding = new OpenLayers.Bounds(
+            0, OpenLayers.Popup.AnchoredBubble.CORNER_SIZE,
+            0, OpenLayers.Popup.AnchoredBubble.CORNER_SIZE
+        );
+        OpenLayers.Popup.Anchored.prototype.initialize.apply(this, arguments);
+    },
+
+    /** 
+     * Method: draw
+     * 
+     * Parameters:
+     * px - {<OpenLayers.Pixel>}
+     * 
+     * Returns:
+     * {DOMElement} Reference to a div that contains the drawn popup.
+     */
+    draw: function(px) {
+        
+        OpenLayers.Popup.Anchored.prototype.draw.apply(this, arguments);
+
+        this.setContentHTML();
+        
+        //set the popup color and opacity           
+        this.setBackgroundColor(); 
+        this.setOpacity();
+
+        return this.div;
+    },
+
+    /**
+     * Method: updateRelativePosition
+     * The popup has been moved to a new relative location, in which case
+     *     we will want to re-do the rico corners.
+     */
+    updateRelativePosition: function() {
+        this.setRicoCorners();
+    },
+
+    /**
+     * APIMethod: setSize
+     * 
+     * Parameters:
+     * size - {<OpenLayers.Size>}
+     */
+    setSize:function(size) { 
+        OpenLayers.Popup.Anchored.prototype.setSize.apply(this, arguments);
+
+        this.setRicoCorners();
+    },  
+
+    /**
+     * APIMethod: setBackgroundColor
+     * 
+     * Parameters:
+     * color - {String}
+     */
+    setBackgroundColor:function(color) { 
+        if (color != undefined) {
+            this.backgroundColor = color; 
+        }
+        
+        if (this.div != null) {
+            if (this.contentDiv != null) {
+                this.div.style.background = "transparent";
+                OpenLayers.Rico.Corner.changeColor(this.groupDiv, 
+                                                   this.backgroundColor);
+            }
+        }
+    },  
+    
+    /**
+     * APIMethod: setOpacity
+     * 
+     * Parameters: 
+     * opacity - {float}
+     */
+    setOpacity:function(opacity) { 
+        OpenLayers.Popup.Anchored.prototype.setOpacity.call(this, opacity);
+        
+        if (this.div != null) {
+            if (this.groupDiv != null) {
+                OpenLayers.Rico.Corner.changeOpacity(this.groupDiv, 
+                                                     this.opacity);
+            }
+        }
+    },  
+ 
+    /** 
+     * Method: setBorder
+     * Always sets border to 0. Bubble Popups can not have a border.
+     * 
+     * Parameters:
+     * border - {Integer}
+     */
+    setBorder:function(border) { 
+        this.border = 0;
+    },      
+ 
+    /** 
+     * Method: setRicoCorners
+     * Update RICO corners according to the popup's current relative postion.
+     */
+    setRicoCorners:function() {
+    
+        var corners = this.getCornersToRound(this.relativePosition);
+        var options = {corners: corners,
+                         color: this.backgroundColor,
+                       bgColor: "transparent",
+                         blend: false};
+
+        if (!this.rounded) {
+            OpenLayers.Rico.Corner.round(this.div, options);
+            this.rounded = true;
+        } else {
+            OpenLayers.Rico.Corner.reRound(this.groupDiv, options);
+            //set the popup color and opacity
+            this.setBackgroundColor(); 
+            this.setOpacity();
+        }
+    },
+
+    /** 
+     * Method: getCornersToRound
+     *  
+     * Returns:
+     * {String} The proper corners string ("tr tl bl br") for rico to round.
+     */
+    getCornersToRound:function() {
+
+        var corners = ['tl', 'tr', 'bl', 'br'];
+
+        //we want to round all the corners _except_ the opposite one. 
+        var corner = OpenLayers.Bounds.oppositeQuadrant(this.relativePosition);
+        OpenLayers.Util.removeItem(corners, corner);
+
+        return corners.join(" ");
+    },
+
+    CLASS_NAME: "OpenLayers.Popup.AnchoredBubble"
+});
+
+/**
+ * Constant: CORNER_SIZE
+ * {Integer} 5. Border space for the RICO corners.
+ */
+OpenLayers.Popup.AnchoredBubble.CORNER_SIZE = 5;
+
+/* ======================================================================
+    OpenLayers/Popup/Framed.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Popup/Anchored.js
+ */
+
+/**
+ * Class: OpenLayers.Popup.Framed
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Popup.Anchored>
+ */
+OpenLayers.Popup.Framed =
+  OpenLayers.Class(OpenLayers.Popup.Anchored, {
+
+    /**
+     * Property: imageSrc
+     * {String} location of the image to be used as the popup frame
+     */
+    imageSrc: null,
+
+    /**
+     * Property: imageSize
+     * {<OpenLayers.Size>} Size (measured in pixels) of the image located
+     *     by the 'imageSrc' property.
+     */
+    imageSize: null,
+
+    /**
+     * APIProperty: isAlphaImage
+     * {Boolean} The image has some alpha and thus needs to use the alpha 
+     *     image hack. Note that setting this to true will have no noticeable
+     *     effect in FF or IE7 browsers, but will all but crush the ie6 
+     *     browser. 
+     *     Default is false.
+     */
+    isAlphaImage: false,
+
+    /**
+     * Property: positionBlocks
+     * {Object} Hash of different position blocks (Object/Hashs). Each block 
+     *     will be keyed by a two-character 'relativePosition' 
+     *     code string (ie "tl", "tr", "bl", "br"). Block properties are 
+     *     'offset', 'padding' (self-explanatory), and finally the 'blocks'
+     *     parameter, which is an array of the block objects. 
+     * 
+     *     Each block object must have 'size', 'anchor', and 'position' 
+     *     properties.
+     * 
+     *     Note that positionBlocks should never be modified at runtime.
+     */
+    positionBlocks: null,
+
+    /**
+     * Property: blocks
+     * {Array[Object]} Array of objects, each of which is one "block" of the 
+     *     popup. Each block has a 'div' and an 'image' property, both of 
+     *     which are DOMElements, and the latter of which is appended to the 
+     *     former. These are reused as the popup goes changing positions for
+     *     great economy and elegance.
+     */
+    blocks: null,
+
+    /** 
+     * APIProperty: fixedRelativePosition
+     * {Boolean} We want the framed popup to work dynamically placed relative
+     *     to its anchor but also in just one fixed position. A well designed
+     *     framed popup will have the pixels and logic to display itself in 
+     *     any of the four relative positions, but (understandably), this will
+     *     not be the case for all of them. By setting this property to 'true', 
+     *     framed popup will not recalculate for the best placement each time
+     *     it's open, but will always open the same way. 
+     *     Note that if this is set to true, it is generally advisable to also
+     *     set the 'panIntoView' property to true so that the popup can be 
+     *     scrolled into view (since it will often be offscreen on open)
+     *     Default is false.
+     */
+    fixedRelativePosition: false,
+
+    /** 
+     * Constructor: OpenLayers.Popup.Framed
+     * 
+     * Parameters:
+     * id - {String}
+     * lonlat - {<OpenLayers.LonLat>}
+     * size - {<OpenLayers.Size>}
+     * contentHTML - {String}
+     * anchor - {Object} Object to which we'll anchor the popup. Must expose 
+     *     a 'size' (<OpenLayers.Size>) and 'offset' (<OpenLayers.Pixel>) 
+     *     (Note that this is generally an <OpenLayers.Icon>).
+     * closeBox - {Boolean}
+     * closeBoxCallback - {Function} Function to be called on closeBox click.
+     */
+    initialize:function(id, lonlat, size, contentHTML, anchor, closeBox, 
+                        closeBoxCallback) {
+
+        OpenLayers.Popup.Anchored.prototype.initialize.apply(this, arguments);
+
+        if (this.fixedRelativePosition) {
+            //based on our decided relativePostion, set the current padding
+            // this keeps us from getting into trouble 
+            this.updateRelativePosition();
+            
+            //make calculateRelativePosition always returnt the specified
+            // fiexed position.
+            this.calculateRelativePosition = function(px) {
+                return this.relativePosition;
+            };
+        }
+
+        this.contentDiv.style.position = "absolute";
+        this.contentDiv.style.zIndex = 1;
+
+        if (closeBox) {
+            this.closeDiv.style.zIndex = 1;
+        }
+
+        this.groupDiv.style.position = "absolute";
+        this.groupDiv.style.top = "0px";
+        this.groupDiv.style.left = "0px";
+        this.groupDiv.style.height = "100%";
+        this.groupDiv.style.width = "100%";
+    },
+
+    /** 
+     * APIMethod: destroy
+     */
+    destroy: function() {
+        this.imageSrc = null;
+        this.imageSize = null;
+        this.isAlphaImage = null;
+
+        this.fixedRelativePosition = false;
+        this.positionBlocks = null;
+
+        //remove our blocks
+        for(var i = 0; i < this.blocks.length; i++) {
+            var block = this.blocks[i];
+
+            if (block.image) {
+                block.div.removeChild(block.image);
+            }
+            block.image = null;
+
+            if (block.div) {
+                this.groupDiv.removeChild(block.div);
+            }
+            block.div = null;
+        }
+        this.blocks = null;
+
+        OpenLayers.Popup.Anchored.prototype.destroy.apply(this, arguments);
+    },
+
+    /**
+     * APIMethod: setBackgroundColor
+     */
+    setBackgroundColor:function(color) {
+        //does nothing since the framed popup's entire scheme is based on a 
+        // an image -- changing the background color makes no sense. 
+    },
+
+    /**
+     * APIMethod: setBorder
+     */
+    setBorder:function() {
+        //does nothing since the framed popup's entire scheme is based on a 
+        // an image -- changing the popup's border makes no sense. 
+    },
+
+    /**
+     * Method: setOpacity
+     * Sets the opacity of the popup.
+     * 
+     * Parameters:
+     * opacity - {float} A value between 0.0 (transparent) and 1.0 (solid).   
+     */
+    setOpacity:function(opacity) {
+        //does nothing since we suppose that we'll never apply an opacity
+        // to a framed popup
+    },
+
+    /**
+     * APIMethod: setSize
+     * Overridden here, because we need to update the blocks whenever the size
+     *     of the popup has changed.
+     * 
+     * Parameters:
+     * size - {<OpenLayers.Size>}
+     */
+    setSize:function(size) { 
+        OpenLayers.Popup.Anchored.prototype.setSize.apply(this, arguments);
+
+        this.updateBlocks();
+    },
+
+    /**
+     * Method: updateRelativePosition
+     * When the relative position changes, we need to set the new padding 
+     *     BBOX on the popup, reposition the close div, and update the blocks.
+     */
+    updateRelativePosition: function() {
+
+        //update the padding
+        this.padding = this.positionBlocks[this.relativePosition].padding;
+
+        //update the position of our close box to new padding
+        if (this.closeDiv) {
+            // use the content div's css padding to determine if we should
+            //  padd the close div
+            var contentDivPadding = this.getContentDivPadding();
+
+            this.closeDiv.style.right = contentDivPadding.right + 
+                                        this.padding.right + "px";
+            this.closeDiv.style.top = contentDivPadding.top + 
+                                      this.padding.top + "px";
+        }
+
+        this.updateBlocks();
+    },
+
+    /** 
+     * Method: calculateNewPx
+     * Besides the standard offset as determined by the Anchored class, our 
+     *     Framed popups have a special 'offset' property for each of their 
+     *     positions, which is used to offset the popup relative to its anchor.
+     * 
+     * Parameters:
+     * px - {<OpenLayers.Pixel>}
+     * 
+     * Returns:
+     * {<OpenLayers.Pixel>} The the new px position of the popup on the screen
+     *     relative to the passed-in px.
+     */
+    calculateNewPx:function(px) {
+        var newPx = OpenLayers.Popup.Anchored.prototype.calculateNewPx.apply(
+            this, arguments
+        );
+
+        newPx = newPx.offset(this.positionBlocks[this.relativePosition].offset);
+
+        return newPx;
+    },
+
+    /**
+     * Method: createBlocks
+     */
+    createBlocks: function() {
+        this.blocks = [];
+
+        var position = this.positionBlocks[this.relativePosition];
+        for (var i = 0; i < position.blocks.length; i++) {
+
+            var block = {};
+            this.blocks.push(block);
+
+            var divId = this.id + '_FrameDecorationDiv_' + i;
+            block.div = OpenLayers.Util.createDiv(divId, 
+                null, null, null, "absolute", null, "hidden", null
+            );
+
+            var imgId = this.id + '_FrameDecorationImg_' + i;
+            var imageCreator = 
+                (this.isAlphaImage) ? OpenLayers.Util.createAlphaImageDiv
+                                    : OpenLayers.Util.createImage;
+
+            block.image = imageCreator(imgId, 
+                null, this.imageSize, this.imageSrc, 
+                "absolute", null, null, null
+            );
+
+            block.div.appendChild(block.image);
+            this.groupDiv.appendChild(block.div);
+        }
+    },
+
+    /**
+     * Method: updateBlocks
+     * Internal method, called on initialize and when the popup's relative
+     *     position has changed. This function takes care of re-positioning
+     *     the popup's blocks in their appropropriate places.
+     */
+    updateBlocks: function() {
+
+        if (!this.blocks) {
+            this.createBlocks();
+        }
+
+        var position = this.positionBlocks[this.relativePosition];
+        for (var i = 0; i < position.blocks.length; i++) {
+
+            var positionBlock = position.blocks[i];
+            var block = this.blocks[i];
+
+            // adjust sizes
+            var l = positionBlock.anchor.left;
+            var b = positionBlock.anchor.bottom;
+            var r = positionBlock.anchor.right;
+            var t = positionBlock.anchor.top;
+
+            //note that we use the isNaN() test here because if the 
+            // size object is initialized with a "auto" parameter, the 
+            // size constructor calls parseFloat() on the string, 
+            // which will turn it into NaN
+            //
+            var w = (isNaN(positionBlock.size.w)) ? this.size.w - (r + l) 
+                                                  : positionBlock.size.w;
+
+            var h = (isNaN(positionBlock.size.h)) ? this.size.h - (b + t) 
+                                                  : positionBlock.size.h;
+
+            block.div.style.width = w + 'px';
+            block.div.style.height = h + 'px';
+
+            block.div.style.left = (l != null) ? l + 'px' : '';
+            block.div.style.bottom = (b != null) ? b + 'px' : '';
+            block.div.style.right = (r != null) ? r + 'px' : '';            
+            block.div.style.top = (t != null) ? t + 'px' : '';
+
+            block.image.style.left = positionBlock.position.x + 'px';
+            block.image.style.top = positionBlock.position.y + 'px';
+        }
+
+        this.contentDiv.style.left = this.padding.left + "px";
+        this.contentDiv.style.top = this.padding.top + "px";
+    },
+
+    CLASS_NAME: "OpenLayers.Popup.Framed"
+});
+/* ======================================================================
+    OpenLayers/Renderer/SVG.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Renderer/Elements.js
+ */
+
+/**
+ * Class: OpenLayers.Renderer.SVG
+ * 
+ * Inherits:
+ *  - <OpenLayers.Renderer.Elements>
+ */
+OpenLayers.Renderer.SVG = OpenLayers.Class(OpenLayers.Renderer.Elements, {
+
+    /** 
+     * Property: xmlns
+     * {String}
+     */
+    xmlns: "http://www.w3.org/2000/svg",
+
+    /**
+     * Constant: MAX_PIXEL
+     * {Integer} Firefox has a limitation where values larger or smaller than  
+     *           about 15000 in an SVG document lock the browser up. This 
+     *           works around it.
+      */
+    MAX_PIXEL: 15000,
+
+    /** 
+     * Property: localResolution
+     * {Float}
+     */
+    localResolution: null,
+
+    /**
+     * Constructor: OpenLayers.Renderer.SVG
+     * 
+     * Parameters:
+     * containerID - {String}
+     */
+    initialize: function(containerID) {
+        if (!this.supported()) { 
+            return; 
+        }
+        OpenLayers.Renderer.Elements.prototype.initialize.apply(this, 
+                                                                arguments);
+    },
+
+    /**
+     * APIMethod: destroy
+     */
+    destroy: function() {
+        OpenLayers.Renderer.Elements.prototype.destroy.apply(this, arguments);
+    },
+    
+    /**
+     * APIMethod: supported
+     * 
+     * Returns:
+     * {Boolean} Whether or not the browser supports the SVG renderer
+     */
+    supported: function() {
+        var svgFeature = "http://www.w3.org/TR/SVG11/feature#";
+        return (document.implementation && 
+           (document.implementation.hasFeature("org.w3c.svg", "1.0") || 
+            document.implementation.hasFeature(svgFeature + "SVG", "1.1") || 
+            document.implementation.hasFeature(svgFeature + "BasicStructure", "1.1") ));
+    },    
+
+    /**
+     * Method: inValidRange
+     * See #669 for more information
+     *
+     * Parameters:
+     * x - {Integer}
+     * y - {Integer}
+     * 
+     * Returns:
+     * {Boolean} Whether or not the 'x' and 'y' coordinates are in the  
+     *           valid range.
+     */ 
+    inValidRange: function(x, y) {
+        return (x >= -this.MAX_PIXEL && x <= this.MAX_PIXEL &&
+                y >= -this.MAX_PIXEL && y <= this.MAX_PIXEL);
+    },
+
+    /**
+     * Method: setExtent
+     * 
+     * Parameters:
+     * extent - {<OpenLayers.Bounds>}
+     */
+    setExtent: function(extent) {
+        OpenLayers.Renderer.Elements.prototype.setExtent.apply(this, 
+                                                               arguments);
+        
+        var resolution = this.getResolution();
+
+        // If the resolution has changed, start over changing the corner, because
+        // the features will redraw.
+        if (!this.localResolution || resolution != this.localResolution) {
+            this.left = -extent.left / resolution;
+            this.top = extent.top / resolution;
+        }
+        
+        var left = 0;
+        var top = 0;
+
+        // If the resolution has not changed, we already have features, and we need
+        // to adjust the viewbox to fit them.
+        if (this.localResolution && resolution == this.localResolution) {
+            left = (this.left) - (-extent.left / resolution);
+            top  = (this.top) - (extent.top / resolution);
+        }    
+        
+        // Store resolution for use later.
+        this.localResolution = resolution;
+        
+        // Set the viewbox -- the left/top will be pixels-dragged-since-res change,
+        // the width/height will be pixels.
+        var extentString = left + " " + top + " " + 
+                             extent.getWidth() / resolution + " " + extent.getHeight() / resolution;
+        //var extentString = extent.left / resolution + " " + -extent.top / resolution + " " + 
+        this.rendererRoot.setAttributeNS(null, "viewBox", extentString);
+    },
+
+    /**
+     * Method: setSize
+     * Sets the size of the drawing surface.
+     * 
+     * Parameters:
+     * size - {<OpenLayers.Size>} The size of the drawing surface
+     */
+    setSize: function(size) {
+        OpenLayers.Renderer.prototype.setSize.apply(this, arguments);
+        
+        this.rendererRoot.setAttributeNS(null, "width", this.size.w);
+        this.rendererRoot.setAttributeNS(null, "height", this.size.h);
+    },
+
+    /** 
+     * Method: getNodeType 
+     * 
+     * Parameters:
+     * geometry - {<OpenLayers.Geometry>}
+     * style - {Object}
+     * 
+     * Returns:
+     * {String} The corresponding node type for the specified geometry
+     */
+    getNodeType: function(geometry, style) {
+        var nodeType = null;
+        switch (geometry.CLASS_NAME) {
+            case "OpenLayers.Geometry.Point":
+                nodeType = style.externalGraphic ? "image" : "circle";
+                break;
+            case "OpenLayers.Geometry.Rectangle":
+                nodeType = "rect";
+                break;
+            case "OpenLayers.Geometry.LineString":
+                nodeType = "polyline";
+                break;
+            case "OpenLayers.Geometry.LinearRing":
+                nodeType = "polygon";
+                break;
+            case "OpenLayers.Geometry.Polygon":
+            case "OpenLayers.Geometry.Curve":
+            case "OpenLayers.Geometry.Surface":
+                nodeType = "path";
+                break;
+            default:
+                break;
+        }
+        return nodeType;
+    },
+
+    /** 
+     * Method: setStyle
+     * Use to set all the style attributes to a SVG node.
+     * 
+     * Takes care to adjust stroke width and point radius to be
+     * resolution-relative
+     *
+     * Parameters:
+     * node - {SVGDomElement} An SVG element to decorate
+     * style - {Object}
+     * options - {Object} Currently supported options include 
+     *                              'isFilled' {Boolean} and
+     *                              'isStroked' {Boolean}
+     */
+    setStyle: function(node, style, options) {
+        style = style  || node._style;
+        options = options || node._options;
+        var r = parseFloat(node.getAttributeNS(null, "r"));
+        if (node._geometryClass == "OpenLayers.Geometry.Point" && r) {
+            if (style.externalGraphic) {
+                var x = parseFloat(node.getAttributeNS(null, "cx"));
+                var y = parseFloat(node.getAttributeNS(null, "cy"));
+                
+                if (style.graphicWidth && style.graphicHeight) {
+                  node.setAttributeNS(null, "preserveAspectRatio", "none");
+                }
+                var width = style.graphicWidth || style.graphicHeight;
+                var height = style.graphicHeight || style.graphicWidth;
+                width = width ? width : style.pointRadius*2;
+                height = height ? height : style.pointRadius*2;
+                var xOffset = (style.graphicXOffset != undefined) ?
+                    style.graphicXOffset : -(0.5 * width);
+                var yOffset = (style.graphicYOffset != undefined) ?
+                    style.graphicYOffset : -(0.5 * height);
+
+                var opacity = style.graphicOpacity || style.fillOpacity;
+                
+                node.setAttributeNS(null, "x", (x + xOffset).toFixed());
+                node.setAttributeNS(null, "y", (y + yOffset).toFixed());
+                node.setAttributeNS(null, "width", width);
+                node.setAttributeNS(null, "height", height);
+                node.setAttributeNS("http://www.w3.org/1999/xlink", "href", style.externalGraphic);
+                node.setAttributeNS(null, "style", "opacity: "+opacity);
+            } else {
+                node.setAttributeNS(null, "r", style.pointRadius);
+            }
+
+            if (style.rotation) {
+                var rotation = OpenLayers.String.format(
+                    "rotate(${0} ${1} ${2})", [style.rotation, x, y]);
+                node.setAttributeNS(null, "transform", rotation);
+            }
+        }
+        
+        if (options.isFilled) {
+            node.setAttributeNS(null, "fill", style.fillColor);
+            node.setAttributeNS(null, "fill-opacity", style.fillOpacity);
+        } else {
+            node.setAttributeNS(null, "fill", "none");
+        }
+
+        if (options.isStroked) {
+            node.setAttributeNS(null, "stroke", style.strokeColor);
+            node.setAttributeNS(null, "stroke-opacity", style.strokeOpacity);
+            node.setAttributeNS(null, "stroke-width", style.strokeWidth);
+            node.setAttributeNS(null, "stroke-linecap", style.strokeLinecap);
+        } else {
+            node.setAttributeNS(null, "stroke", "none");
+        }
+        
+        if (style.pointerEvents) {
+            node.setAttributeNS(null, "pointer-events", style.pointerEvents);
+        }
+        
+        if (style.cursor != null) {
+            node.setAttributeNS(null, "cursor", style.cursor);
+        }
+        return node;
+    },
+
+    /** 
+     * Method: createNode
+     * 
+     * Parameters:
+     * type - {String} Kind of node to draw
+     * id - {String} Id for node
+     * 
+     * Returns:
+     * {DOMElement} A new node of the given type and id
+     */
+    createNode: function(type, id) {
+        var node = document.createElementNS(this.xmlns, type);
+        if (id) {
+            node.setAttributeNS(null, "id", id);
+        }
+        return node;    
+    },
+    
+    /** 
+     * Method: nodeTypeCompare
+     * 
+     * Parameters:
+     * node - {SVGDomElement} An SVG element
+     * type - {String} Kind of node
+     * 
+     * Returns:
+     * {Boolean} Whether or not the specified node is of the specified type
+     */
+    nodeTypeCompare: function(node, type) {
+        return (type == node.nodeName);
+    },
+   
+    /**
+     * Method: createRenderRoot
+     * 
+     * Returns:
+     * {DOMElement} The specific render engine's root element
+     */
+    createRenderRoot: function() {
+        return this.nodeFactory(this.container.id + "_svgRoot", "svg");
+    },
+
+    /**
+     * Method: createRoot
+     * 
+     * Returns:
+     * {DOMElement} The main root element to which we'll add vectors
+     */
+    createRoot: function() {
+        return this.nodeFactory(this.container.id + "_root", "g");
+    },
+
+    /**************************************
+     *                                    *
+     *     GEOMETRY DRAWING FUNCTIONS     *
+     *                                    *
+     **************************************/
+
+    /**
+     * Method: drawPoint
+     * This method is only called by the renderer itself.
+     * 
+     * Parameters: 
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */ 
+    drawPoint: function(node, geometry) {
+        this.drawCircle(node, geometry, 1);
+    },
+
+    /**
+     * Method: drawCircle
+     * This method is only called by the renderer itself.
+     * 
+     * Parameters: 
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     * radius - {Float}
+     */
+    drawCircle: function(node, geometry, radius) {
+        var resolution = this.getResolution();
+        var x = (geometry.x / resolution + this.left);
+        var y = (this.top - geometry.y / resolution);
+
+        if (this.inValidRange(x, y)) { 
+            node.setAttributeNS(null, "cx", x);
+            node.setAttributeNS(null, "cy", y);
+            node.setAttributeNS(null, "r", radius);
+        } else {
+            node.setAttributeNS(null, "cx", "");
+            node.setAttributeNS(null, "cy", "");
+            node.setAttributeNS(null, "r", 0);
+        }    
+            
+    },
+    
+    /**
+     * Method: drawLineString
+     * This method is only called by the renderer itself.
+     * 
+     * Parameters: 
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */ 
+    drawLineString: function(node, geometry) {
+        node.setAttributeNS(null, "points", 
+                            this.getComponentsString(geometry.components));  
+    },
+    
+    /**v
+     * Method: drawLinearRing
+     * This method is only called by the renderer itself.
+     * 
+     * Parameters: 
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */ 
+    drawLinearRing: function(node, geometry) {
+        node.setAttributeNS(null, "points", 
+                            this.getComponentsString(geometry.components));
+    },
+    
+    /**
+     * Method: drawPolygon
+     * This method is only called by the renderer itself.
+     * 
+     * Parameters: 
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */ 
+    drawPolygon: function(node, geometry) {
+        var d = "";
+        var draw = true;
+        for (var j = 0; j < geometry.components.length; j++) {
+            var linearRing = geometry.components[j];
+            d += " M";
+            for (var i = 0; i < linearRing.components.length; i++) {
+                var component = this.getShortString(linearRing.components[i]);
+                if (component) {
+                    d += " " + component;
+                } else {
+                    draw = false;
+                }    
+            }
+        }
+        d += " z";
+        if (draw) {
+            node.setAttributeNS(null, "d", d);
+            node.setAttributeNS(null, "fill-rule", "evenodd");
+        } else {
+            node.setAttributeNS(null, "d", "");
+        }    
+    },
+    
+    /**
+     * Method: drawRectangle
+     * This method is only called by the renderer itself.
+     * 
+     * Parameters: 
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */ 
+    drawRectangle: function(node, geometry) {
+        var resolution = this.getResolution();
+        var x = (geometry.x / resolution + this.left);
+        var y = (this.top - geometry.y / resolution);
+
+        if (this.inValidRange(x, y)) { 
+            node.setAttributeNS(null, "x", x);
+            node.setAttributeNS(null, "y", y);
+            node.setAttributeNS(null, "width", geometry.width / resolution);
+            node.setAttributeNS(null, "height", geometry.height / resolution);
+        } else {
+            node.setAttributeNS(null, "x", "");
+            node.setAttributeNS(null, "y", "");
+            node.setAttributeNS(null, "width", 0);
+            node.setAttributeNS(null, "height", 0);
+        }
+    },
+    
+    /**
+     * Method: drawSurface
+     * This method is only called by the renderer itself.
+     * 
+     * Parameters: 
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */ 
+    drawSurface: function(node, geometry) {
+
+        // create the svg path string representation
+        var d = null;
+        var draw = true;
+        for (var i = 0; i < geometry.components.length; i++) {
+            if ((i%3) == 0 && (i/3) == 0) {
+                var component = this.getShortString(geometry.components[i]);
+                if (!component) { draw = false; }
+                d = "M " + component;
+            } else if ((i%3) == 1) {
+                var component = this.getShortString(geometry.components[i]);
+                if (!component) { draw = false; }
+                d += " C " + component;
+            } else {
+                var component = this.getShortString(geometry.components[i]);
+                if (!component) { draw = false; }
+                d += " " + component;
+            }
+        }
+        d += " Z";
+        if (draw) {
+            node.setAttributeNS(null, "d", d);
+        } else {
+            node.setAttributeNS(null, "d", "");
+        }    
+    },
+
+    /** 
+     * Method: getComponentString
+     * 
+     * Parameters:
+     * components - {Array(<OpenLayers.Geometry.Point>)} Array of points
+     */
+    getComponentsString: function(components) {
+        var strings = [];
+        for(var i = 0; i < components.length; i++) {
+            var component = this.getShortString(components[i]);
+            if (component) {
+                strings.push(component);
+            }
+        }
+        return strings.join(",");
+    },
+
+    
+    /** 
+     * Method: getShortString
+     * 
+     * Parameters:
+     * point - {<OpenLayers.Geometry.Point>}
+     * 
+     * Returns:
+     * {String}
+     */
+    getShortString: function(point) {
+        var resolution = this.getResolution();
+        var x = (point.x / resolution + this.left);
+        var y = (this.top - point.y / resolution);
+
+        if (this.inValidRange(x, y)) { 
+            return x + "," + y;
+        } else {
+            return false;
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Renderer.SVG"
+});
+/* ======================================================================
+    OpenLayers/Renderer/VML.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Renderer/Elements.js
+ */
+
+/**
+ * Class: OpenLayers.Renderer.VML
+ * Render vector features in browsers with VML capability.  Construct a new
+ * VML renderer with the <OpenLayers.Renderer.VML> constructor.
+ * 
+ * Note that for all calculations in this class, we use toFixed() to round a 
+ * float value to an integer. This is done because it seems that VML doesn't 
+ * support float values.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Renderer.Elements>
+ */
+OpenLayers.Renderer.VML = OpenLayers.Class(OpenLayers.Renderer.Elements, {
+
+    /**
+     * Property: xmlns
+     * {String} XML Namespace URN
+     */
+    xmlns: "urn:schemas-microsoft-com:vml",
+
+    /**
+     * Constructor: OpenLayers.Renderer.VML
+     * Create a new VML renderer.
+     *
+     * Parameters:
+     * containerID - {String} The id for the element that contains the renderer
+     */
+    initialize: function(containerID) {
+        if (!this.supported()) { 
+            return; 
+        }
+        if (!document.namespaces.v) {
+            document.namespaces.add("v", this.xmlns);
+            var style = document.createStyleSheet();
+            style.addRule('v\\:*', "behavior: url(#default#VML); " +
+                                   "position: absolute; display: inline-block;");
+        }
+        OpenLayers.Renderer.Elements.prototype.initialize.apply(this, 
+                                                                arguments);
+    },
+
+    /**
+     * APIMethod: destroy
+     * Deconstruct the renderer.
+     */
+    destroy: function() {
+        OpenLayers.Renderer.Elements.prototype.destroy.apply(this, arguments);
+    },
+
+    /**
+     * APIMethod: supported
+     * Determine whether a browser supports this renderer.
+     *
+     * Returns:
+     * {Boolean} The browser supports the VML renderer
+     */
+    supported: function() {
+        return !!(document.namespaces);
+    },    
+
+    /**
+     * Method: setExtent
+     * Set the renderer's extent
+     *
+     * Parameters:
+     * extent - {<OpenLayers.Bounds>}
+     */
+    setExtent: function(extent) {
+        OpenLayers.Renderer.Elements.prototype.setExtent.apply(this, 
+                                                               arguments);
+        var resolution = this.getResolution();
+    
+        var org = extent.left/resolution + " " + 
+                    extent.top/resolution;
+        this.root.setAttribute("coordorigin", org);
+
+        var size = extent.getWidth()/resolution + " " + 
+                    -extent.getHeight()/resolution;
+        this.root.setAttribute("coordsize", size);
+    },
+
+
+    /**
+     * Method: setSize
+     * Set the size of the drawing surface
+     *
+     * Parameters:
+     * size - {<OpenLayers.Size>} the size of the drawing surface
+     */
+    setSize: function(size) {
+        OpenLayers.Renderer.prototype.setSize.apply(this, arguments);
+
+        this.rendererRoot.style.width = this.size.w;
+        this.rendererRoot.style.height = this.size.h;
+
+        this.root.style.width = this.size.w;
+        this.root.style.height = this.size.h;
+    },
+
+    /**
+     * Method: getNodeType
+     * Get the node type for a geometry and style
+     *
+     * Parameters:
+     * geometry - {<OpenLayers.Geometry>}
+     * style - {Object}
+     *
+     * Returns:
+     * {String} The corresponding node type for the specified geometry
+     */
+    getNodeType: function(geometry, style) {
+        var nodeType = null;
+        switch (geometry.CLASS_NAME) {
+            case "OpenLayers.Geometry.Point":
+                nodeType = style.externalGraphic ? "v:rect" : "v:oval";
+                break;
+            case "OpenLayers.Geometry.Rectangle":
+                nodeType = "v:rect";
+                break;
+            case "OpenLayers.Geometry.LineString":
+            case "OpenLayers.Geometry.LinearRing":
+            case "OpenLayers.Geometry.Polygon":
+            case "OpenLayers.Geometry.Curve":
+            case "OpenLayers.Geometry.Surface":
+                nodeType = "v:shape";
+                break;
+            default:
+                break;
+        }
+        return nodeType;
+    },
+
+    /**
+     * Method: setStyle
+     * Use to set all the style attributes to a VML node.
+     *
+     * Parameters:
+     * node - {DOMElement} An VML element to decorate
+     * style - {Object}
+     * options - {Object} Currently supported options include 
+     *                              'isFilled' {Boolean} and
+     *                              'isStroked' {Boolean}
+     * geometry - {<OpenLayers.Geometry>}
+     */
+    setStyle: function(node, style, options, geometry) {
+        style = style  || node._style;
+        options = options || node._options;
+        
+        if (node._geometryClass == "OpenLayers.Geometry.Point") {
+            if (style.externalGraphic) {
+                var width = style.graphicWidth || style.graphicHeight;
+                var height = style.graphicHeight || style.graphicWidth;
+                width = width ? width : style.pointRadius*2;
+                height = height ? height : style.pointRadius*2;
+
+                var resolution = this.getResolution();
+                var xOffset = (style.graphicXOffset != undefined) ?
+                    style.graphicXOffset : -(0.5 * width);
+                var yOffset = (style.graphicYOffset != undefined) ?
+                    style.graphicYOffset : -(0.5 * height);
+                
+                node.style.left = ((geometry.x/resolution)+xOffset).toFixed();
+                node.style.top = ((geometry.y/resolution)-(yOffset+height)).toFixed();
+                node.style.width = width;
+                node.style.height = height;    
+                node.style.flip = "y";
+                
+                // modify style/options for fill and stroke styling below
+                style.fillColor = "none";
+                options.isStroked = false;
+                         
+            } else {
+                this.drawCircle(node, geometry, style.pointRadius);
+            }
+        }
+
+        // fill 
+        if (options.isFilled) { 
+            node.setAttribute("fillcolor", style.fillColor); 
+        } else { 
+            node.setAttribute("filled", "false"); 
+        }
+        var fills = node.getElementsByTagName("fill");
+        var fill = (fills.length == 0) ? null : fills[0];
+        if (!options.isFilled) {
+            if (fill) {
+                node.removeChild(fill);
+            }
+        } else {
+            if (!fill) {
+                fill = this.createNode('v:fill', node.id + "_fill");
+            }
+            fill.setAttribute("opacity", style.fillOpacity);
+
+            if (node._geometryClass == "OpenLayers.Geometry.Point" &&
+                    style.externalGraphic) {
+
+                // override fillOpacity
+                if (style.graphicOpacity) {
+                    fill.setAttribute("opacity", style.graphicOpacity);
+                }
+                
+                fill.setAttribute("src", style.externalGraphic);
+                fill.setAttribute("type", "frame");
+                
+                if (!(style.graphicWidth && style.graphicHeight)) {
+                  fill.aspect = "atmost";
+                }                
+                         
+                // additional rendering for rotated graphics
+                if (style.rotation) {
+                    this.graphicRotate(node, xOffset, yOffset);
+                    // make the fill fully transparent, because we now have
+                    // the graphic as imagedata element. We cannot just remove
+                    // the fill, because this is part of the hack described
+                    // in graphicRotate
+                    fill.setAttribute("opacity", 0);
+                }
+            }
+            if (fill.parentNode != node) {
+                node.appendChild(fill);
+            }
+        }
+
+
+        // stroke 
+        if (options.isStroked) { 
+            node.setAttribute("strokecolor", style.strokeColor); 
+            node.setAttribute("strokeweight", style.strokeWidth + "px"); 
+        } else { 
+            node.setAttribute("stroked", "false"); 
+        }
+        var strokes = node.getElementsByTagName("stroke");
+        var stroke = (strokes.length == 0) ? null : strokes[0];
+        if (!options.isStroked) {
+            if (stroke) {
+                node.removeChild(stroke);
+            }
+        } else {
+            if (!stroke) {
+                stroke = this.createNode('v:stroke', node.id + "_stroke");
+                node.appendChild(stroke);
+            }
+            stroke.setAttribute("opacity", style.strokeOpacity);
+            stroke.setAttribute("endcap", !style.strokeLinecap || style.strokeLinecap == 'butt' ? 'flat' : style.strokeLinecap);
+        }
+        
+        if (style.cursor != null) {
+            node.style.cursor = style.cursor;
+        }
+        return node;
+    },
+
+    /**
+     * Method: graphicRotate
+     * If a point is to be styled with externalGraphic and rotation, VML fills
+     * cannot be used to display the graphic, because rotation of graphic
+     * fills is not supported by the VML implementation of Internet Explorer.
+     * This method creates a v:imagedata element inside the VML node,
+     * DXImageTransform.Matrix and BasicImage filters for rotation and
+     * opacity, and a 3-step hack to remove rendering artefacts from the
+     * graphic and preserve the ability of graphics to trigger events.
+     * Finally, OpenLayers methods are used to determine the correct
+     * insertion point of the rotated image, because DXImageTransform.Matrix
+     * does the rotation without the ability to specify a rotation center
+     * point.
+     * 
+     * Parameters:
+     * node    - {DOMElement}
+     * xOffset - {Number} rotation center relative to image, x coordinate
+     * yOffset - {Number} rotation center relative to image, y coordinate
+     */
+    graphicRotate: function(node, xOffset, yOffset) {
+        var style = style || node._style;
+        var options = node._options;
+        
+        var aspectRatio, size;
+        if (!(style.graphicWidth && style.graphicHeight)) {
+            // load the image to determine its size
+            var img = new Image();
+            img.onreadystatechange = OpenLayers.Function.bind(function() {
+                if(img.readyState == "complete" ||
+                        img.readyState == "interactive") {
+                    aspectRatio = img.width / img.height;
+                    size = Math.max(style.pointRadius * 2, 
+                        style.graphicWidth || 0,
+                        style.graphicHeight || 0);
+                    xOffset = xOffset * aspectRatio;
+                    style.graphicWidth = size * aspectRatio;
+                    style.graphicHeight = size;
+                    this.graphicRotate(node, xOffset, yOffset)
+                }
+            }, this);
+            img.src = style.externalGraphic;
+            
+            // will be called again by the onreadystate handler
+            return;
+        } else {
+            size = Math.max(style.graphicWidth, style.graphicHeight);
+            aspectRatio = style.graphicWidth / style.graphicHeight;
+        }
+        
+        var width = Math.round(style.graphicWidth || size * aspectRatio);
+        var height = Math.round(style.graphicHeight || size);
+        node.style.width = width;
+        node.style.height = height;
+        
+        // Three steps are required to remove artefacts for images with
+        // transparent backgrounds (resulting from using DXImageTransform
+        // filters on svg objects), while preserving awareness for browser
+        // events on images:
+        // - Use the fill as usual (like for unrotated images) to handle
+        //   events
+        // - specify an imagedata element with the same src as the fill
+        // - style the imagedata element with an AlphaImageLoader filter
+        //   with empty src
+        var image = document.getElementById(node.id + "_image");
+        if (!image) {
+            image = this.createNode("v:imagedata", node.id + "_image");
+            node.appendChild(image);
+        }
+        image.style.width = width;
+        image.style.height = height;
+        image.src = style.externalGraphic;
+        image.style.filter =
+            "progid:DXImageTransform.Microsoft.AlphaImageLoader(" + 
+            "src='', sizingMethod='scale')";
+
+        var rotation = style.rotation * Math.PI / 180;
+        var sintheta = Math.sin(rotation);
+        var costheta = Math.cos(rotation);
+
+        // do the rotation on the image
+        var filter =
+            "progid:DXImageTransform.Microsoft.Matrix(M11=" + costheta +
+            ",M12=" + (-sintheta) + ",M21=" + sintheta + ",M22=" + costheta +
+            ",SizingMethod='auto expand')\n"
+
+        // set the opacity (needed for the imagedata)
+        var opacity = style.graphicOpacity || style.fillOpacity;
+        if (opacity && opacity != 1) {
+            filter += 
+                "progid:DXImageTransform.Microsoft.BasicImage(opacity=" + 
+                opacity+")\n";
+        }
+        node.style.filter = filter;
+
+        // do the rotation again on a box, so we know the insertion point
+        var centerPoint = new OpenLayers.Geometry.Point(-xOffset, -yOffset);
+        var imgBox = new OpenLayers.Bounds(0, 0, width, height).toGeometry();
+        imgBox.rotate(style.rotation, centerPoint);
+        var imgBounds = imgBox.getBounds();
+
+        node.style.left = Math.round(
+            parseInt(node.style.left) + imgBounds.left);
+        node.style.top = Math.round(
+            parseInt(node.style.top) - imgBounds.bottom);
+    },
+
+    /**
+     * Method: postDraw
+     * Some versions of Internet Explorer seem to be unable to set fillcolor
+     * and strokecolor to "none" correctly before the fill node is appended to
+     * a visible vml node. This method takes care of that and sets fillcolor
+     * and strokecolor again if needed.
+     * 
+     * Parameters:
+     * node - {DOMElement}
+     */
+    postDraw: function(node) {
+        var fillColor = node._style.fillColor;
+        var strokeColor = node._style.strokeColor;
+        if (fillColor == "none" &&
+                node.getAttribute("fillcolor") != fillColor) {
+            node.setAttribute("fillcolor", fillColor);
+        }
+        if (strokeColor == "none" &&
+                node.getAttribute("strokecolor") != strokeColor) {
+            node.setAttribute("strokecolor", strokeColor);
+        }
+    },
+
+
+    /**
+     * Method: setNodeDimension
+     * Get the geometry's bounds, convert it to our vml coordinate system, 
+     * then set the node's position, size, and local coordinate system.
+     *   
+     * Parameters:
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */
+    setNodeDimension: function(node, geometry) {
+
+        var bbox = geometry.getBounds();
+        if(bbox) {
+            var resolution = this.getResolution();
+        
+            var scaledBox = 
+                new OpenLayers.Bounds((bbox.left/resolution).toFixed(),
+                                      (bbox.bottom/resolution).toFixed(),
+                                      (bbox.right/resolution).toFixed(),
+                                      (bbox.top/resolution).toFixed());
+            
+            // Set the internal coordinate system to draw the path
+            node.style.left = scaledBox.left;
+            node.style.top = scaledBox.top;
+            node.style.width = scaledBox.getWidth();
+            node.style.height = scaledBox.getHeight();
+    
+            node.coordorigin = scaledBox.left + " " + scaledBox.top;
+            node.coordsize = scaledBox.getWidth()+ " " + scaledBox.getHeight();
+        }
+    },
+
+    /**
+     * Method: createNode
+     * Create a new node
+     *
+     * Parameters:
+     * type - {String} Kind of node to draw
+     * id - {String} Id for node
+     *
+     * Returns:
+     * {DOMElement} A new node of the given type and id
+     */
+    createNode: function(type, id) {
+        var node = document.createElement(type);
+        if (id) {
+            node.setAttribute('id', id);
+        }
+        
+        // IE hack to make elements unselectable, to prevent 'blue flash'
+        // while dragging vectors; #1410
+        node.setAttribute('unselectable', 'on', 0);
+        node.onselectstart = function() { return(false); };
+        
+        return node;    
+    },
+    
+    /**
+     * Method: nodeTypeCompare
+     * Determine whether a node is of a given type
+     *
+     * Parameters:
+     * node - {DOMElement} An VML element
+     * type - {String} Kind of node
+     *
+     * Returns:
+     * {Boolean} Whether or not the specified node is of the specified type
+     */
+    nodeTypeCompare: function(node, type) {
+
+        //split type
+        var subType = type;
+        var splitIndex = subType.indexOf(":");
+        if (splitIndex != -1) {
+            subType = subType.substr(splitIndex+1);
+        }
+
+        //split nodeName
+        var nodeName = node.nodeName;
+        splitIndex = nodeName.indexOf(":");
+        if (splitIndex != -1) {
+            nodeName = nodeName.substr(splitIndex+1);
+        }
+
+        return (subType == nodeName);
+    },
+
+    /**
+     * Method: createRenderRoot
+     * Create the renderer root
+     *
+     * Returns:
+     * {DOMElement} The specific render engine's root element
+     */
+    createRenderRoot: function() {
+        return this.nodeFactory(this.container.id + "_vmlRoot", "div");
+    },
+
+    /**
+     * Method: createRoot
+     * Create the main root element
+     *
+     * Returns:
+     * {DOMElement} The main root element to which we'll add vectors
+     */
+    createRoot: function() {
+        return this.nodeFactory(this.container.id + "_root", "v:group");
+    },
+
+    /**************************************
+     *                                    *
+     *     GEOMETRY DRAWING FUNCTIONS     *
+     *                                    *
+     **************************************/
+
+    /**
+     * Method: drawPoint
+     * Render a point
+     * 
+     * Parameters:
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */
+    drawPoint: function(node, geometry) {
+        this.drawCircle(node, geometry, 1);
+    },
+
+    /**
+     * Method: drawCircle
+     * Render a circle.
+     * Size and Center a circle given geometry (x,y center) and radius
+     * 
+     * Parameters:
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     * radius - {float}
+     */
+    drawCircle: function(node, geometry, radius) {
+        if(!isNaN(geometry.x)&& !isNaN(geometry.y)) {
+            var resolution = this.getResolution();
+        
+            node.style.left = (geometry.x /resolution).toFixed() - radius;
+            node.style.top = (geometry.y /resolution).toFixed() - radius;
+    
+            var diameter = radius * 2;
+            
+            node.style.width = diameter;
+            node.style.height = diameter;
+        }
+    },
+
+
+    /**
+     * Method: drawLineString
+     * Render a linestring.
+     * 
+     * Parameters:
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */
+    drawLineString: function(node, geometry) {
+        this.drawLine(node, geometry, false);
+    },
+
+    /**
+     * Method: drawLinearRing
+     * Render a linearring
+     * 
+     * Parameters:
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */
+    drawLinearRing: function(node, geometry) {
+        this.drawLine(node, geometry, true);
+    },
+
+    /**
+     * Method: DrawLine
+     * Render a line.
+     * 
+     * Parameters:
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     * closeLine - {Boolean} Close the line? (make it a ring?)
+     */
+    drawLine: function(node, geometry, closeLine) {
+
+        this.setNodeDimension(node, geometry);
+
+        var resolution = this.getResolution();
+        var numComponents = geometry.components.length;
+        var parts = new Array(numComponents);
+
+        var comp, x, y;
+        for (var i = 0; i < numComponents; i++) {
+            comp = geometry.components[i];
+            x = (comp.x/resolution);
+            y = (comp.y/resolution);
+            parts[i] = " " + x.toFixed() + "," + y.toFixed() + " l ";
+        }
+        var end = (closeLine) ? " x e" : " e";
+        node.path = "m" + parts.join("") + end;
+    },
+
+    /**
+     * Method: drawPolygon
+     * Render a polygon
+     * 
+     * Parameters:
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */
+    drawPolygon: function(node, geometry) {
+        this.setNodeDimension(node, geometry);
+
+        var resolution = this.getResolution();
+    
+        var path = [];
+        var linearRing, i, comp, x, y;
+        for (var j = 0; j < geometry.components.length; j++) {
+            linearRing = geometry.components[j];
+
+            path.push("m");
+            for (i = 0; i < linearRing.components.length; i++) {
+                comp = linearRing.components[i];
+                x = comp.x / resolution;
+                y = comp.y / resolution;
+                path.push(" " + x.toFixed() + "," + y.toFixed());
+                if (i==0) {
+                    path.push(" l");
+                }
+            }
+            path.push(" x ");
+        }
+        path.push("e");
+        node.path = path.join("");
+    },
+
+    /**
+     * Method: drawRectangle
+     * Render a rectangle
+     * 
+     * Parameters:
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */
+    drawRectangle: function(node, geometry) {
+        var resolution = this.getResolution();
+    
+        node.style.left = geometry.x/resolution;
+        node.style.top = geometry.y/resolution;
+        node.style.width = geometry.width/resolution;
+        node.style.height = geometry.height/resolution;
+    },
+
+    /**
+     * Method: drawSurface
+     * 
+     * Parameters:
+     * node - {DOMElement}
+     * geometry - {<OpenLayers.Geometry>}
+     */
+    drawSurface: function(node, geometry) {
+
+        this.setNodeDimension(node, geometry);
+
+        var resolution = this.getResolution();
+    
+        var path = [];
+        var comp, x, y;
+        for (var i = 0; i < geometry.components.length; i++) {
+            comp = geometry.components[i];
+            x = comp.x / resolution;
+            y = comp.y / resolution;
+            if ((i%3)==0 && (i/3)==0) {
+                path.push("m");
+            } else if ((i%3)==1) {
+                path.push(" c");
+            }
+            path.push(" " + x + "," + y);
+        }
+        path.push(" x e");
+
+        node.path = path.join("");
+    },
+
+    CLASS_NAME: "OpenLayers.Renderer.VML"
+});
+/* ======================================================================
+    OpenLayers/Tile/Image.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Tile.js
+ */
+
+/**
+ * Class: OpenLayers.Tile.Image
+ * Instances of OpenLayers.Tile.Image are used to manage the image tiles
+ * used by various layers.  Create a new image tile with the
+ * <OpenLayers.Tile.Image> constructor.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Tile>
+ */
+OpenLayers.Tile.Image = OpenLayers.Class(OpenLayers.Tile, {
+
+    /** 
+     * Property: url
+     * {String} The URL of the image being requested. No default. Filled in by
+     * layer.getURL() function. 
+     */
+    url: null,
+    
+    /** 
+     * Property: imgDiv
+     * {DOMElement} The div element which wraps the image.
+     */
+    imgDiv: null,
+
+    /**
+     * Property: frame
+     * {DOMElement} The image element is appended to the frame.  Any gutter on
+     * the image will be hidden behind the frame. 
+     */ 
+    frame: null, 
+
+    
+    /**
+     * Property: layerAlphaHack
+     * {Boolean} True if the png alpha hack needs to be applied on the layer's div.
+     */
+    layerAlphaHack: null,
+
+    /** TBD 3.0 - reorder the parameters to the init function to remove 
+     *             URL. the getUrl() function on the layer gets called on 
+     *             each draw(), so no need to specify it here.
+     * 
+     * Constructor: OpenLayers.Tile.Image
+     * Constructor for a new <OpenLayers.Tile.Image> instance.
+     * 
+     * Parameters:
+     * layer - {<OpenLayers.Layer>} layer that the tile will go in.
+     * position - {<OpenLayers.Pixel>}
+     * bounds - {<OpenLayers.Bounds>}
+     * url - {<String>} Deprecated. Remove me in 3.0.
+     * size - {<OpenLayers.Size>}
+     */   
+    initialize: function(layer, position, bounds, url, size) {
+        OpenLayers.Tile.prototype.initialize.apply(this, arguments);
+
+        this.url = url; //deprecated remove me
+        
+        this.frame = document.createElement('div'); 
+        this.frame.style.overflow = 'hidden'; 
+        this.frame.style.position = 'absolute'; 
+
+        this.layerAlphaHack = this.layer.alpha && OpenLayers.Util.alphaHack();
+    },
+
+    /** 
+     * APIMethod: destroy
+     * nullify references to prevent circular references and memory leaks
+     */
+    destroy: function() {
+        if (this.imgDiv != null)  {
+            if (this.layerAlphaHack) {
+                OpenLayers.Event.stopObservingElement(this.imgDiv.childNodes[0].id);                
+            } else {
+                OpenLayers.Event.stopObservingElement(this.imgDiv.id);
+            }
+            if (this.imgDiv.parentNode == this.frame) {
+                this.frame.removeChild(this.imgDiv);
+                this.imgDiv.map = null;
+            }
+        }
+        this.imgDiv = null;
+        if ((this.frame != null) && (this.frame.parentNode == this.layer.div)) { 
+            this.layer.div.removeChild(this.frame); 
+        }
+        this.frame = null; 
+        OpenLayers.Tile.prototype.destroy.apply(this, arguments);
+    },
+
+    /**
+     * Method: clone
+     *
+     * Parameters:
+     * obj - {<OpenLayers.Tile.Image>} The tile to be cloned
+     *
+     * Returns:
+     * {<OpenLayers.Tile.Image>} An exact clone of this <OpenLayers.Tile.Image>
+     */
+    clone: function (obj) {
+        if (obj == null) {
+            obj = new OpenLayers.Tile.Image(this.layer, 
+                                            this.position, 
+                                            this.bounds, 
+                                            this.url, 
+                                            this.size);        
+        } 
+        
+        //pick up properties from superclass
+        obj = OpenLayers.Tile.prototype.clone.apply(this, [obj]);
+        
+        //dont want to directly copy the image div
+        obj.imgDiv = null;
+            
+        
+        return obj;
+    },
+    
+    /**
+     * Method: draw
+     * Check that a tile should be drawn, and draw it.
+     * 
+     * Returns:
+     * {Boolean} Always returns true.
+     */
+    draw: function() {
+        if (this.layer != this.layer.map.baseLayer && this.layer.reproject) {
+            this.bounds = this.getBoundsFromBaseLayer(this.position);
+        }
+        if (!OpenLayers.Tile.prototype.draw.apply(this, arguments)) {
+            return false;    
+        }
+        
+        if (this.isLoading) {
+            //if we're already loading, send 'reload' instead of 'loadstart'.
+            this.events.triggerEvent("reload"); 
+        } else {
+            this.isLoading = true;
+            this.events.triggerEvent("loadstart");
+        }
+        
+        return this.renderTile();
+    },
+    
+    /**
+     * Method: renderTile
+     * Internal function to actually initialize the image tile,
+     *     position it correctly, and set its url.
+     */
+    renderTile: function() {
+        if (this.imgDiv == null) {
+            this.initImgDiv();
+        }
+
+        this.imgDiv.viewRequestID = this.layer.map.viewRequestID;
+        
+        this.url = this.layer.getURL(this.bounds);
+        // position the frame 
+        OpenLayers.Util.modifyDOMElement(this.frame, 
+                                         null, this.position, this.size);   
+
+        var imageSize = this.layer.getImageSize(); 
+        if (this.layerAlphaHack) {
+            OpenLayers.Util.modifyAlphaImageDiv(this.imgDiv,
+                    null, null, imageSize, this.url);
+        } else {
+            OpenLayers.Util.modifyDOMElement(this.imgDiv,
+                    null, null, imageSize) ;
+            this.imgDiv.src = this.url;
+        }
+        return true;
+    },
+
+    /** 
+     * Method: clear
+     *  Clear the tile of any bounds/position-related data so that it can 
+     *   be reused in a new location.
+     */
+    clear: function() {
+        if(this.imgDiv) {
+            this.hide();
+            if (OpenLayers.Tile.Image.useBlankTile) { 
+                this.imgDiv.src = OpenLayers.Util.getImagesLocation() + "blank.gif";
+            }    
+        }
+    },
+
+    /**
+     * Method: initImgDiv
+     * Creates the imgDiv property on the tile.
+     */
+    initImgDiv: function() {
+        
+        var offset = this.layer.imageOffset; 
+        var size = this.layer.getImageSize(); 
+     
+        if (this.layerAlphaHack) {
+            this.imgDiv = OpenLayers.Util.createAlphaImageDiv(null,
+                                                           offset,
+                                                           size,
+                                                           null,
+                                                           "relative",
+                                                           null,
+                                                           null,
+                                                           null,
+                                                           true);
+        } else {
+            this.imgDiv = OpenLayers.Util.createImage(null,
+                                                      offset,
+                                                      size,
+                                                      null,
+                                                      "relative",
+                                                      null,
+                                                      null,
+                                                      true);
+        }
+        
+        this.imgDiv.className = 'olTileImage';
+
+        /* checkImgURL used to be used to called as a work around, but it
+           ended up hiding problems instead of solving them and broke things
+           like relative URLs. See discussion on the dev list:
+           http://openlayers.org/pipermail/dev/2007-January/000205.html
+
+        OpenLayers.Event.observe( this.imgDiv, "load",
+            OpenLayers.Function.bind(this.checkImgURL, this) );
+        */
+        this.frame.style.zIndex = this.isBackBuffer ? 0 : 1;
+        this.frame.appendChild(this.imgDiv); 
+        this.layer.div.appendChild(this.frame); 
+
+        if(this.layer.opacity != null) {
+            
+            OpenLayers.Util.modifyDOMElement(this.imgDiv, null, null, null,
+                                             null, null, null, 
+                                             this.layer.opacity);
+        }
+
+        // we need this reference to check back the viewRequestID
+        this.imgDiv.map = this.layer.map;
+
+        //bind a listener to the onload of the image div so that we 
+        // can register when a tile has finished loading.
+        var onload = function() {
+            
+            //normally isLoading should always be true here but there are some 
+            // right funky conditions where loading and then reloading a tile
+            // with the same url *really*fast*. this check prevents sending 
+            // a 'loadend' if the msg has already been sent
+            //
+            if (this.isLoading) { 
+                this.isLoading = false; 
+                this.events.triggerEvent("loadend"); 
+            }
+        };
+        
+        if (this.layerAlphaHack) { 
+            OpenLayers.Event.observe(this.imgDiv.childNodes[0], 'load', 
+                                     OpenLayers.Function.bind(onload, this));    
+        } else { 
+            OpenLayers.Event.observe(this.imgDiv, 'load', 
+                                 OpenLayers.Function.bind(onload, this)); 
+        } 
+        
+
+        // Bind a listener to the onerror of the image div so that we
+        // can registere when a tile has finished loading with errors.
+        var onerror = function() {
+
+            // If we have gone through all image reload attempts, it is time
+            // to realize that we are done with this image. Since
+            // OpenLayers.Util.onImageLoadError already has taken care about
+            // the error, we can continue as if the image was loaded
+            // successfully.
+            if (this.imgDiv._attempts > OpenLayers.IMAGE_RELOAD_ATTEMPTS) {
+                onload.call(this);
+            }
+        };
+        OpenLayers.Event.observe(this.imgDiv, "error",
+                                 OpenLayers.Function.bind(onerror, this));
+    },
+
+    /**
+     * Method: checkImgURL
+     * Make sure that the image that just loaded is the one this tile is meant
+     * to display, since panning/zooming might have changed the tile's URL in
+     * the meantime. If the tile URL did change before the image loaded, set
+     * the imgDiv display to 'none', as either (a) it will be reset to visible
+     * when the new URL loads in the image, or (b) we don't want to display
+     * this tile after all because its new bounds are outside our maxExtent.
+     * 
+     * This function should no longer  be neccesary with the improvements to
+     * Grid.js in OpenLayers 2.3. The lack of a good isEquivilantURL function
+     * caused problems in 2.2, but it's possible that with the improved 
+     * isEquivilant URL function, this might be neccesary at some point.
+     * 
+     * See discussion in the thread at 
+     * http://openlayers.org/pipermail/dev/2007-January/000205.html
+     */
+    checkImgURL: function () {
+        // Sometimes our image will load after it has already been removed
+        // from the map, in which case this check is not needed.  
+        if (this.layer) {
+            var loaded = this.layerAlphaHack ? this.imgDiv.firstChild.src : this.imgDiv.src;
+            if (!OpenLayers.Util.isEquivalentUrl(loaded, this.url)) {
+                this.hide();
+            }
+        }
+    },
+    
+    /**
+     * Method: startTransition
+     * This method is invoked on tiles that are backBuffers for tiles in the
+     *     grid.  The grid tile is about to be cleared and a new tile source
+     *     loaded.  This is where the transition effect needs to be started
+     *     to provide visual continuity.
+     */
+    startTransition: function() {
+        // backBufferTile has to be valid and ready to use
+        if (!this.backBufferTile || !this.backBufferTile.imgDiv) {
+            return;
+        }
+
+        // calculate the ratio of change between the current resolution of the
+        // backBufferTile and the layer.  If several animations happen in a
+        // row, then the backBufferTile will scale itself appropriately for
+        // each request.
+        var ratio = 1;
+        if (this.backBufferTile.resolution) {
+            ratio = this.backBufferTile.resolution / this.layer.getResolution();
+        }
+        
+        // if the ratio is not the same as it was last time (i.e. we are
+        // zooming), then we need to adjust the backBuffer tile
+        if (ratio != this.lastRatio) {
+            if (this.layer.transitionEffect == 'resize') {
+                // In this case, we can just immediately resize the 
+                // backBufferTile.
+                var upperLeft = new OpenLayers.LonLat(
+                    this.backBufferTile.bounds.left, 
+                    this.backBufferTile.bounds.top
+                );
+                var size = new OpenLayers.Size(
+                    this.backBufferTile.size.w * ratio,
+                    this.backBufferTile.size.h * ratio
+                );
+
+                var px = this.layer.map.getLayerPxFromLonLat(upperLeft);
+                OpenLayers.Util.modifyDOMElement(this.backBufferTile.frame, 
+                                                 null, px, size);
+                var imageSize = this.backBufferTile.imageSize;
+                imageSize = new OpenLayers.Size(imageSize.w * ratio, 
+                                                imageSize.h * ratio);
+                var imageOffset = this.backBufferTile.imageOffset;
+                if(imageOffset) {
+                    imageOffset = new OpenLayers.Pixel(
+                        imageOffset.x * ratio, imageOffset.y * ratio
+                    );
+                }
+
+                OpenLayers.Util.modifyDOMElement(
+                    this.backBufferTile.imgDiv, null, imageOffset, imageSize
+                ) ;
+
+                this.backBufferTile.show();
+            }
+        } else {
+            // default effect is just to leave the existing tile
+            // until the new one loads if this is a singleTile and
+            // there was no change in resolution.  Otherwise we
+            // don't bother to show the backBufferTile at all
+            if (this.layer.singleTile) {
+                this.backBufferTile.show();
+            } else {
+                this.backBufferTile.hide();
+            }
+        }
+        this.lastRatio = ratio;
+
+    },
+    
+    /** 
+     * Method: show
+     * Show the tile by showing its frame.
+     */
+    show: function() {
+        this.frame.style.display = '';
+        // Force a reflow on gecko based browsers to actually show the element
+        // before continuing execution.
+        if (OpenLayers.Util.indexOf(this.layer.SUPPORTED_TRANSITIONS, 
+                this.layer.transitionEffect) != -1) {
+            if (navigator.userAgent.toLowerCase().indexOf("gecko") != -1) { 
+                this.frame.scrollLeft = this.frame.scrollLeft; 
+            } 
+        }
+    },
+    
+    /** 
+     * Method: hide
+     * Hide the tile by hiding its frame.
+     */
+    hide: function() {
+        this.frame.style.display = 'none';
+    },
+    
+    CLASS_NAME: "OpenLayers.Tile.Image"
+  }
+);
+
+OpenLayers.Tile.Image.useBlankTile = ( 
+    OpenLayers.Util.getBrowserName() == "safari" || 
+    OpenLayers.Util.getBrowserName() == "opera"); 
+/* ======================================================================
+    OpenLayers/Tile/WFS.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+ 
+/**
+ * @requires OpenLayers/Tile.js
+ */
+
+/**
+ * Class: OpenLayers.Tile.WFS
+ * Instances of OpenLayers.Tile.WFS are used to manage the image tiles
+ * used by various layers.  Create a new image tile with the
+ * <OpenLayers.Tile.WFS> constructor.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Tile>
+ */
+OpenLayers.Tile.WFS = OpenLayers.Class(OpenLayers.Tile, {
+
+    /** 
+     * Property: features 
+     * {Array(<OpenLayers.Feature>)} list of features in this tile 
+     */
+    features: null,
+
+    /** 
+     * Property: url 
+     * {String} 
+     */
+    url: null,
+    
+    /** 
+     * Property: request 
+     * {OpenLayers.Ajax.Request} 
+     */ 
+    request: null,     
+    
+    /** TBD 3.0 - reorder the parameters to the init function to put URL 
+     *             as last, so we can continue to call tile.initialize() 
+     *             without changing the arguments. 
+     * 
+     * Constructor: OpenLayers.Tile.WFS
+     * Constructor for a new <OpenLayers.Tile.WFS> instance.
+     * 
+     * Parameters:
+     * layer - {<OpenLayers.Layer>} layer that the tile will go in.
+     * position - {<OpenLayers.Pixel>}
+     * bounds - {<OpenLayers.Bounds>}
+     * url - {<String>}
+     * size - {<OpenLayers.Size>}
+     */   
+    initialize: function(layer, position, bounds, url, size) {
+        OpenLayers.Tile.prototype.initialize.apply(this, arguments);
+        this.url = url;        
+        this.features = [];
+    },
+
+    /** 
+     * APIMethod: destroy
+     * nullify references to prevent circular references and memory leaks
+     */
+    destroy: function() {
+        OpenLayers.Tile.prototype.destroy.apply(this, arguments);
+        this.destroyAllFeatures();
+        this.features = null;
+        this.url = null;
+        if(this.request) {
+            this.request.abort();
+            //this.request.destroy();
+            this.request = null;
+        }
+    },
+
+    /** 
+     * Method: clear
+     *  Clear the tile of any bounds/position-related data so that it can 
+     *   be reused in a new location.
+     */
+    clear: function() {
+        this.destroyAllFeatures();
+    },
+    
+    /**
+     * Method: draw
+     * Check that a tile should be drawn, and load features for it.
+     */
+    draw:function() {
+        if (OpenLayers.Tile.prototype.draw.apply(this, arguments)) {
+            if (this.isLoading) {
+                //if already loading, send 'reload' instead of 'loadstart'.
+                this.events.triggerEvent("reload"); 
+            } else {
+                this.isLoading = true;
+                this.events.triggerEvent("loadstart");
+            }
+            this.loadFeaturesForRegion(this.requestSuccess);
+        }
+    },
+
+    /** 
+    * Method: loadFeaturesForRegion
+    * get the full request string from the ds and the tile params 
+    *     and call the AJAX loadURL(). 
+    *
+    * Input are function pointers for what to do on success and failure.
+    *
+    * Parameters:
+    * success - {function}
+    * failure - {function}
+    */
+    loadFeaturesForRegion:function(success, failure) {
+        if(this.request) {
+            this.request.abort();
+        }
+        this.request = OpenLayers.loadURL(this.url, null, this, success);
+    },
+    
+    /**
+    * Method: requestSuccess
+    * Called on return from request succcess. Adds results via 
+    * layer.addFeatures in vector mode, addResults otherwise. 
+    *
+    * Parameters:
+    * request - {XMLHttpRequest}
+    */
+    requestSuccess:function(request) {
+        if (this.features) {
+            var doc = request.responseXML;
+            if (!doc || !doc.documentElement) {
+                doc = OpenLayers.Format.XML.prototype.read(request.responseText);
+            }
+            if (this.layer.vectorMode) {
+                this.layer.addFeatures(this.layer.formatObject.read(doc));
+            } else {
+                var resultFeatures = OpenLayers.Ajax.getElementsByTagNameNS(
+                    doc, "http://www.opengis.net/gml", "gml", "featureMember"
+                );
+                this.addResults(resultFeatures);
+            }
+        }
+        if (this.events) {
+            this.events.triggerEvent("loadend"); 
+        }
+
+        //request produced with success, we can delete the request object.
+        //this.request.destroy();
+        this.request = null;
+    },
+
+    /**
+     * Method: addResults
+     * Construct new feature via layer featureClass constructor, and add to
+     * this.features.
+     * 
+     * Parameters:
+     * results - {Object}
+     */
+    addResults: function(results) {
+        for (var i=0; i < results.length; i++) {
+            var feature = new this.layer.featureClass(this.layer, 
+                                                      results[i]);
+            this.features.push(feature);
+        }
+    },
+
+
+    /** 
+     * Method: destroyAllFeatures
+     * Iterate through and call destroy() on each feature, removing it from
+     *   the local array
+     */
+    destroyAllFeatures: function() {
+        while(this.features.length > 0) {
+            var feature = this.features.shift();
+            feature.destroy();
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Tile.WFS"
+  }
+);
+/* ======================================================================
+    OpenLayers/Control/OverviewMap.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/** 
+ * @requires OpenLayers/Control.js
+ * @requires OpenLayers/BaseTypes.js
+ * @requires OpenLayers/Events.js
+ */
+
+/**
+ * Class: OpenLayers.Control.OverviewMap
+ * Create an overview map to display the extent of your main map and provide
+ * additional navigation control.  Create a new overview map with the
+ * <OpenLayers.Control.OverviewMap> constructor.
+ *
+ * Inerits from:
+ *  - <OpenLayers.Control>
+ */
+OpenLayers.Control.OverviewMap = OpenLayers.Class(OpenLayers.Control, {
+
+    /**
+     * Property: element
+     * {DOMElement} The DOM element that contains the overview map
+     */
+    element: null,
+    
+    /**
+     * APIProperty: ovmap
+     * {<OpenLayers.Map>} A reference to the overvew map itself.
+     */
+    ovmap: null,
+
+    /**
+     * APIProperty: size
+     * {<OpenLayers.Size>} The overvew map size in pixels.  Note that this is
+     * the size of the map itself - the element that contains the map (default
+     * class name olControlOverviewMapElement) may have padding or other style
+     * attributes added via CSS.
+     */
+    size: new OpenLayers.Size(180, 90),
+
+    /**
+     * APIProperty: layers
+     * {Array(<OpenLayers.Layer>)} Ordered list of layers in the overview map.
+     * If none are sent at construction, the base layer for the main map is used.
+     */
+    layers: null,
+    
+    /**
+     * APIProperty: minRectSize
+     * {Integer} The minimum width or height (in pixels) of the extent
+     *     rectangle on the overview map.  When the extent rectangle reaches
+     *     this size, it will be replaced depending on the value of the
+     *     <minRectDisplayClass> property.  Default is 15 pixels.
+     */
+    minRectSize: 15,
+    
+    /**
+     * APIProperty: minRectDisplayClass
+     * {String} Replacement style class name for the extent rectangle when
+     *     <minRectSize> is reached.  This string will be suffixed on to the
+     *     displayClass.  Default is "RectReplacement".
+     *
+     * Example CSS declaration:
+     * (code)
+     * .olControlOverviewMapRectReplacement {
+     *     overflow: hidden;
+     *     cursor: move;
+     *     background-image: url("img/overview_replacement.gif");
+     *     background-repeat: no-repeat;
+     *     background-position: center;
+     * }
+     * (end)
+     */
+    minRectDisplayClass: "RectReplacement",
+
+    /**
+     * APIProperty: minRatio
+     * {Float} The ratio of the overview map resolution to the main map
+     * resolution at which to zoom farther out on the overview map.
+     */
+    minRatio: 8,
+
+    /**
+     * APIProperty: maxRatio
+     * {Float} The ratio of the overview map resolution to the main map
+     * resolution at which to zoom farther in on the overview map.
+     */
+    maxRatio: 32,
+
+    /**
+     * APIProperty: mapOptions
+     * {Object} An object containing any non-default properties to be sent to
+     * the overview map's map constructor.  These should include any non-default
+     * options that the main map was constructed with.
+     */
+    mapOptions: null,
+    
+    /**
+     * Property: handlers
+     * {Object}
+     */
+    handlers: null,
+
+    /**
+     * Constructor: OpenLayers.Control.OverviewMap
+     * Create a new overview map
+     *
+     * Parameters:
+     * object - {Object} Properties of this object will be set on the overview
+     * map object.  Note, to set options on the map object contained in this
+     * control, set <mapOptions> as one of the options properties.
+     */
+    initialize: function(options) {
+        this.layers = [];
+        this.handlers = {};
+        OpenLayers.Control.prototype.initialize.apply(this, [options]);
+    },
+    
+    /**
+     * APIMethod: destroy
+     * Deconstruct the control
+     */
+    destroy: function() {
+        if (!this.mapDiv) { // we've already been destroyed
+            return;
+        }
+        this.handlers.click.destroy();
+
+        this.mapDiv.removeChild(this.extentRectangle);
+        this.extentRectangle = null;
+        this.rectEvents.destroy();
+        this.rectEvents = null;
+
+        this.ovmap.destroy();
+        this.ovmap = null;
+        
+        this.element.removeChild(this.mapDiv);
+        this.mapDiv = null;
+
+        this.div.removeChild(this.element);
+        this.element = null;
+
+        if (this.maximizeDiv) {
+            OpenLayers.Event.stopObservingElement(this.maximizeDiv);
+            this.div.removeChild(this.maximizeDiv);
+            this.maximizeDiv = null;
+        }
+        
+        if (this.minimizeDiv) {
+            OpenLayers.Event.stopObservingElement(this.minimizeDiv);
+            this.div.removeChild(this.minimizeDiv);
+            this.minimizeDiv = null;
+        }
+        
+        this.map.events.un({
+            "moveend": this.update,
+            "changebaselayer": this.baseLayerDraw,
+            scope: this
+        });
+
+        OpenLayers.Control.prototype.destroy.apply(this, arguments);    
+    },
+
+    /**
+     * Method: draw
+     * Render the control in the browser.
+     */    
+    draw: function() {
+        OpenLayers.Control.prototype.draw.apply(this, arguments);
+        if(!(this.layers.length > 0)) {
+            if (this.map.baseLayer) {
+                var layer = this.map.baseLayer.clone();
+                this.layers = [layer];
+            } else {
+                this.map.events.register("changebaselayer", this, this.baseLayerDraw);
+                return this.div;
+            }
+        }
+
+        // create overview map DOM elements
+        this.element = document.createElement('div');
+        this.element.className = this.displayClass + 'Element';
+        this.element.style.display = 'none';
+
+        this.mapDiv = document.createElement('div');
+        this.mapDiv.style.width = this.size.w + 'px';
+        this.mapDiv.style.height = this.size.h + 'px';
+        this.mapDiv.style.position = 'relative';
+        this.mapDiv.style.overflow = 'hidden';
+        this.mapDiv.id = OpenLayers.Util.createUniqueID('overviewMap');
+        
+        this.extentRectangle = document.createElement('div');
+        this.extentRectangle.style.position = 'absolute';
+        this.extentRectangle.style.zIndex = 1000;  //HACK
+        this.extentRectangle.className = this.displayClass+'ExtentRectangle';
+        this.mapDiv.appendChild(this.extentRectangle);
+
+        this.element.appendChild(this.mapDiv);  
+
+        this.div.appendChild(this.element);
+
+        // Optionally add min/max buttons if the control will go in the
+        // map viewport.
+        if(!this.outsideViewport) {
+            this.div.className += " " + this.displayClass + 'Container';
+            var imgLocation = OpenLayers.Util.getImagesLocation();
+            // maximize button div
+            var img = imgLocation + 'layer-switcher-maximize.png';
+            this.maximizeDiv = OpenLayers.Util.createAlphaImageDiv(
+                                        this.displayClass + 'MaximizeButton', 
+                                        null, 
+                                        new OpenLayers.Size(18,18), 
+                                        img, 
+                                        'absolute');
+            this.maximizeDiv.style.display = 'none';
+            this.maximizeDiv.className = this.displayClass + 'MaximizeButton';
+            OpenLayers.Event.observe(this.maximizeDiv, 'click', 
+                OpenLayers.Function.bindAsEventListener(this.maximizeControl,
+                                                        this)
+            );
+            this.div.appendChild(this.maximizeDiv);
+    
+            // minimize button div
+            var img = imgLocation + 'layer-switcher-minimize.png';
+            this.minimizeDiv = OpenLayers.Util.createAlphaImageDiv(
+                                        'OpenLayers_Control_minimizeDiv', 
+                                        null, 
+                                        new OpenLayers.Size(18,18), 
+                                        img, 
+                                        'absolute');
+            this.minimizeDiv.style.display = 'none';
+            this.minimizeDiv.className = this.displayClass + 'MinimizeButton';
+            OpenLayers.Event.observe(this.minimizeDiv, 'click', 
+                OpenLayers.Function.bindAsEventListener(this.minimizeControl,
+                                                        this)
+            );
+            this.div.appendChild(this.minimizeDiv);
+            
+            var eventsToStop = ['dblclick','mousedown'];
+            
+            for (var i = 0; i < eventsToStop.length; i++) {
+
+                OpenLayers.Event.observe(this.maximizeDiv, 
+                                         eventsToStop[i], 
+                                         OpenLayers.Event.stop);
+
+                OpenLayers.Event.observe(this.minimizeDiv,
+                                         eventsToStop[i], 
+                                         OpenLayers.Event.stop);
+            }
+            
+            this.minimizeControl();
+        } else {
+            // show the overview map
+            this.element.style.display = '';
+        }
+        if(this.map.getExtent()) {
+            this.update();
+        }
+        
+        this.map.events.register('moveend', this, this.update);
+
+        return this.div;
+    },
+    
+    /**
+     * Method: baseLayerDraw
+     * Draw the base layer - called if unable to complete in the initial draw
+     */
+    baseLayerDraw: function() {
+        this.draw();
+        this.map.events.unregister("changebaselayer", this, this.baseLayerDraw);
+    },
+
+    /**
+     * Method: rectDrag
+     * Handle extent rectangle drag
+     *
+     * Parameters:
+     * px - {<OpenLayers.Pixel>} The pixel location of the drag.
+     */
+    rectDrag: function(px) {
+        var deltaX = this.handlers.drag.last.x - px.x;
+        var deltaY = this.handlers.drag.last.y - px.y;
+        if(deltaX != 0 || deltaY != 0) {
+            var rectTop = this.rectPxBounds.top;
+            var rectLeft = this.rectPxBounds.left;
+            var rectHeight = Math.abs(this.rectPxBounds.getHeight());
+            var rectWidth = this.rectPxBounds.getWidth();
+            // don't allow dragging off of parent element
+            var newTop = Math.max(0, (rectTop - deltaY));
+            newTop = Math.min(newTop,
+                              this.ovmap.size.h - this.hComp - rectHeight);
+            var newLeft = Math.max(0, (rectLeft - deltaX));
+            newLeft = Math.min(newLeft,
+                               this.ovmap.size.w - this.wComp - rectWidth);
+            this.setRectPxBounds(new OpenLayers.Bounds(newLeft,
+                                                       newTop + rectHeight,
+                                                       newLeft + rectWidth,
+                                                       newTop));
+        }
+    },
+    
+    /**
+     * Method: mapDivClick
+     * Handle browser events
+     *
+     * Parameters:
+     * evt - {<OpenLayers.Event>} evt
+     */
+    mapDivClick: function(evt) {
+        var pxCenter = this.rectPxBounds.getCenterPixel();
+        var deltaX = evt.xy.x - pxCenter.x;
+        var deltaY = evt.xy.y - pxCenter.y;
+        var top = this.rectPxBounds.top;
+        var left = this.rectPxBounds.left;
+        var height = Math.abs(this.rectPxBounds.getHeight());
+        var width = this.rectPxBounds.getWidth();
+        var newTop = Math.max(0, (top + deltaY));
+        newTop = Math.min(newTop, this.ovmap.size.h - height);
+        var newLeft = Math.max(0, (left + deltaX));
+        newLeft = Math.min(newLeft, this.ovmap.size.w - width);
+        this.setRectPxBounds(new OpenLayers.Bounds(newLeft,
+                                                   newTop + height,
+                                                   newLeft + width,
+                                                   newTop));
+        this.updateMapToRect();
+    },
+
+    /**
+     * Method: maximizeControl
+     * Unhide the control.  Called when the control is in the map viewport.
+     *
+     * Parameters:
+     * e - {<OpenLayers.Event>}
+     */
+    maximizeControl: function(e) {
+        this.element.style.display = '';
+        this.showToggle(false);
+        if (e != null) {
+            OpenLayers.Event.stop(e);                                            
+        }
+    },
+
+    /**
+     * Method: minimizeControl
+     * Hide all the contents of the control, shrink the size, 
+     * add the maximize icon
+     * 
+     * Parameters:
+     * e - {<OpenLayers.Event>}
+     */
+    minimizeControl: function(e) {
+        this.element.style.display = 'none';
+        this.showToggle(true);
+        if (e != null) {
+            OpenLayers.Event.stop(e);                                            
+        }
+    },
+
+    /**
+     * Method: showToggle
+     * Hide/Show the toggle depending on whether the control is minimized
+     *
+     * Parameters:
+     * minimize - {Boolean} 
+     */
+    showToggle: function(minimize) {
+        this.maximizeDiv.style.display = minimize ? '' : 'none';
+        this.minimizeDiv.style.display = minimize ? 'none' : '';
+    },
+
+    /**
+     * Method: update
+     * Update the overview map after layers move.
+     */
+    update: function() {
+        if(this.ovmap == null) {
+            this.createMap();
+        }
+        
+        if(!this.isSuitableOverview()) {
+            this.updateOverview();
+        }
+        
+        // update extent rectangle
+        this.updateRectToMap();
+    },
+    
+    /**
+     * Method: isSuitableOverview
+     * Determines if the overview map is suitable given the extent and
+     * resolution of the main map.
+     */
+    isSuitableOverview: function() {
+        var mapExtent = this.map.getExtent();
+        var maxExtent = this.map.maxExtent;
+        var testExtent = new OpenLayers.Bounds(
+                                Math.max(mapExtent.left, maxExtent.left),
+                                Math.max(mapExtent.bottom, maxExtent.bottom),
+                                Math.min(mapExtent.right, maxExtent.right),
+                                Math.min(mapExtent.top, maxExtent.top));        
+        var resRatio = this.ovmap.getResolution() / this.map.getResolution();
+        return ((resRatio > this.minRatio) &&
+                (resRatio <= this.maxRatio) &&
+                (this.ovmap.getExtent().containsBounds(testExtent)));
+    },
+    
+    /**
+     * Method updateOverview
+     * Called by <update> if <isSuitableOverview> returns true
+     */
+    updateOverview: function() {
+        var mapRes = this.map.getResolution();
+        var targetRes = this.ovmap.getResolution();
+        var resRatio = targetRes / mapRes;
+        if(resRatio > this.maxRatio) {
+            // zoom in overview map
+            targetRes = this.minRatio * mapRes;            
+        } else if(resRatio <= this.minRatio) {
+            // zoom out overview map
+            targetRes = this.maxRatio * mapRes;
+        }
+        this.ovmap.setCenter(this.map.center,
+                            this.ovmap.getZoomForResolution(targetRes));
+        this.updateRectToMap();
+    },
+    
+    /**
+     * Method: createMap
+     * Construct the map that this control contains
+     */
+    createMap: function() {
+        // create the overview map
+        var options = OpenLayers.Util.extend(
+                        {controls: [], maxResolution: 'auto', 
+                         fallThrough: false}, this.mapOptions);
+        this.ovmap = new OpenLayers.Map(this.mapDiv, options);
+        
+        // prevent ovmap from being destroyed when the page unloads, because
+        // the OverviewMap control has to do this (and does it).
+        OpenLayers.Event.stopObserving(window, 'unload', this.ovmap.unloadDestroy);
+        
+        this.ovmap.addLayers(this.layers);
+        this.ovmap.zoomToMaxExtent();
+        // check extent rectangle border width
+        this.wComp = parseInt(OpenLayers.Element.getStyle(this.extentRectangle,
+                                               'border-left-width')) +
+                     parseInt(OpenLayers.Element.getStyle(this.extentRectangle,
+                                               'border-right-width'));
+        this.wComp = (this.wComp) ? this.wComp : 2;
+        this.hComp = parseInt(OpenLayers.Element.getStyle(this.extentRectangle,
+                                               'border-top-width')) +
+                     parseInt(OpenLayers.Element.getStyle(this.extentRectangle,
+                                               'border-bottom-width'));
+        this.hComp = (this.hComp) ? this.hComp : 2;
+
+        this.handlers.drag = new OpenLayers.Handler.Drag(
+            this, {move: this.rectDrag, done: this.updateMapToRect},
+            {map: this.ovmap}
+        );
+        this.handlers.click = new OpenLayers.Handler.Click(
+            this, {
+                "click": this.mapDivClick
+            },{
+                "single": true, "double": false,
+                "stopSingle": true, "stopDouble": true,
+                "pixelTolerance": 1,
+                map: this.ovmap
+            }
+        );
+        this.handlers.click.activate();
+        
+        this.rectEvents = new OpenLayers.Events(this, this.extentRectangle,
+                                                null, true);
+        this.rectEvents.register("mouseover", this, function(e) {
+            if(!this.handlers.drag.active && !this.map.dragging) {
+                this.handlers.drag.activate();
+            }
+        });
+        this.rectEvents.register("mouseout", this, function(e) {
+            if(!this.handlers.drag.dragging) {
+                this.handlers.drag.deactivate();
+            }
+        });
+
+    },
+        
+    /**
+     * Method: updateRectToMap
+     * Updates the extent rectangle position and size to match the map extent
+     */
+    updateRectToMap: function() {
+        // The base layer for overview map needs to be in the same projection
+        // as the base layer for the main map.  This should be made more robust.
+        if(this.map.units != 'degrees') {
+            if(this.ovmap.getProjection() && (this.map.getProjection() != this.ovmap.getProjection())) {
+                alert(OpenLayers.i18n("sameProjection"));
+            }
+        }
+        var pxBounds = this.getRectBoundsFromMapBounds(this.map.getExtent());
+        if (pxBounds) {
+            this.setRectPxBounds(pxBounds);
+        }
+    },
+    
+    /**
+     * Method: updateMapToRect
+     * Updates the map extent to match the extent rectangle position and size
+     */
+    updateMapToRect: function() {
+        var lonLatBounds = this.getMapBoundsFromRectBounds(this.rectPxBounds);
+        this.map.panTo(lonLatBounds.getCenterLonLat());
+    },
+
+    /**
+     * Method: setRectPxBounds
+     * Set extent rectangle pixel bounds.
+     *
+     * Parameters:
+     * pxBounds - {<OpenLayers.Bounds>}
+     */
+    setRectPxBounds: function(pxBounds) {
+        var top = Math.max(pxBounds.top, 0);
+        var left = Math.max(pxBounds.left, 0);
+        var bottom = Math.min(pxBounds.top + Math.abs(pxBounds.getHeight()),
+                              this.ovmap.size.h - this.hComp);
+        var right = Math.min(pxBounds.left + pxBounds.getWidth(),
+                             this.ovmap.size.w - this.wComp);
+        var width = Math.max(right - left, 0);
+        var height = Math.max(bottom - top, 0);
+        if(width < this.minRectSize || height < this.minRectSize) {
+            this.extentRectangle.className = this.displayClass +
+                                             this.minRectDisplayClass;
+            var rLeft = left + (width / 2) - (this.minRectSize / 2);
+            var rTop = top + (height / 2) - (this.minRectSize / 2);
+            this.extentRectangle.style.top = Math.round(rTop) + 'px';
+            this.extentRectangle.style.left = Math.round(rLeft) + 'px';
+            this.extentRectangle.style.height = this.minRectSize + 'px';
+            this.extentRectangle.style.width = this.minRectSize + 'px';
+        } else {
+            this.extentRectangle.className = this.displayClass +
+                                             'ExtentRectangle';
+            this.extentRectangle.style.top = Math.round(top) + 'px';
+            this.extentRectangle.style.left = Math.round(left) + 'px';
+            this.extentRectangle.style.height = Math.round(height) + 'px';
+            this.extentRectangle.style.width = Math.round(width) + 'px';
+        }
+        this.rectPxBounds = new OpenLayers.Bounds(
+            Math.round(left), Math.round(bottom),
+            Math.round(right), Math.round(top)
+        );
+    },
+
+    /**
+     * Method: getRectBoundsFromMapBounds
+     * Get the rect bounds from the map bounds.
+     *
+     * Parameters:
+     * lonLatBounds - {<OpenLayers.Bounds>}
+     *
+     * Returns:
+     * {<OpenLayers.Bounds>}A bounds which is the passed-in map lon/lat extent
+     * translated into pixel bounds for the overview map
+     */
+    getRectBoundsFromMapBounds: function(lonLatBounds) {
+        var leftBottomLonLat = new OpenLayers.LonLat(lonLatBounds.left,
+                                                     lonLatBounds.bottom);
+        var rightTopLonLat = new OpenLayers.LonLat(lonLatBounds.right,
+                                                   lonLatBounds.top);
+        var leftBottomPx = this.getOverviewPxFromLonLat(leftBottomLonLat);
+        var rightTopPx = this.getOverviewPxFromLonLat(rightTopLonLat);
+        var bounds = null;
+        if (leftBottomPx && rightTopPx) {
+            bounds = new OpenLayers.Bounds(leftBottomPx.x, leftBottomPx.y,
+                                           rightTopPx.x, rightTopPx.y);
+        }
+        return bounds;
+    },
+
+    /**
+     * Method: getMapBoundsFromRectBounds
+     * Get the map bounds from the rect bounds.
+     *
+     * Parameters:
+     * pxBounds - {<OpenLayers.Bounds>}
+     *
+     * Returns:
+     * {<OpenLayers.Bounds>} Bounds which is the passed-in overview rect bounds
+     * translated into lon/lat bounds for the overview map
+     */
+    getMapBoundsFromRectBounds: function(pxBounds) {
+        var leftBottomPx = new OpenLayers.Pixel(pxBounds.left,
+                                                pxBounds.bottom);
+        var rightTopPx = new OpenLayers.Pixel(pxBounds.right,
+                                              pxBounds.top);
+        var leftBottomLonLat = this.getLonLatFromOverviewPx(leftBottomPx);
+        var rightTopLonLat = this.getLonLatFromOverviewPx(rightTopPx);
+        return new OpenLayers.Bounds(leftBottomLonLat.lon, leftBottomLonLat.lat,
+                                     rightTopLonLat.lon, rightTopLonLat.lat);
+    },
+
+    /**
+     * Method: getLonLatFromOverviewPx
+     * Get a map location from a pixel location
+     *
+     * Parameters:
+     * overviewMapPx - {<OpenLayers.Pixel>}
+     *
+     * Returns:
+     * {<OpenLayers.LonLat>} Location which is the passed-in overview map
+     * OpenLayers.Pixel, translated into lon/lat by the overview map
+     */
+    getLonLatFromOverviewPx: function(overviewMapPx) {
+        var size = this.ovmap.size;
+        var res  = this.ovmap.getResolution();
+        var center = this.ovmap.getExtent().getCenterLonLat();
+    
+        var delta_x = overviewMapPx.x - (size.w / 2);
+        var delta_y = overviewMapPx.y - (size.h / 2);
+        
+        return new OpenLayers.LonLat(center.lon + delta_x * res ,
+                                     center.lat - delta_y * res); 
+    },
+
+    /**
+     * Method: getOverviewPxFromLonLat
+     * Get a pixel location from a map location
+     *
+     * Parameters:
+     * lonlat - {<OpenLayers.LonLat>}
+     *
+     * Returns:
+     * {<OpenLayers.Pixel>} Location which is the passed-in OpenLayers.LonLat, 
+     * translated into overview map pixels
+     */
+    getOverviewPxFromLonLat: function(lonlat) {
+        var res  = this.ovmap.getResolution();
+        var extent = this.ovmap.getExtent();
+        var px = null;
+        if (extent) {
+            px = new OpenLayers.Pixel(
+                        Math.round(1/res * (lonlat.lon - extent.left)),
+                        Math.round(1/res * (extent.top - lonlat.lat)));
+        } 
+        return px;
+    },
+
+    CLASS_NAME: 'OpenLayers.Control.OverviewMap'
+});
+/* ======================================================================
+    OpenLayers/Feature.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Util.js
+ * @requires OpenLayers/Marker.js
+ * @requires OpenLayers/Popup/AnchoredBubble.js
+ */
+
+/**
+ * Class: OpenLayers.Feature
+ * Features are combinations of geography and attributes. The OpenLayers.Feature
+ *     class specifically combines a marker and a lonlat.
+ */
+OpenLayers.Feature = OpenLayers.Class({
+
+    /** 
+     * Property: layer 
+     * {<OpenLayers.Layer>} 
+     */
+    layer: null,
+
+    /** 
+     * Property: id 
+     * {String} 
+     */
+    id: null,
+    
+    /** 
+     * Property: lonlat 
+     * {<OpenLayers.LonLat>} 
+     */
+    lonlat: null,
+
+    /** 
+     * Property: data 
+     * {Object} 
+     */
+    data: null,
+
+    /** 
+     * Property: marker 
+     * {<OpenLayers.Marker>} 
+     */
+    marker: null,
+
+    /**
+     * APIProperty: popupClass
+     * {<OpenLayers.Class>} The class which will be used to instantiate
+     *     a new Popup. Default is <OpenLayers.Popup.AnchoredBubble>.
+     */
+    popupClass: OpenLayers.Popup.AnchoredBubble,
+
+    /** 
+     * Property: popup 
+     * {<OpenLayers.Popup>} 
+     */
+    popup: null,
+
+    /** 
+     * Constructor: OpenLayers.Feature
+     * Constructor for features.
+     *
+     * Parameters:
+     * layer - {<OpenLayers.Layer>} 
+     * lonlat - {<OpenLayers.LonLat>} 
+     * data - {Object} 
+     * 
+     * Returns:
+     * {<OpenLayers.Feature>}
+     */
+    initialize: function(layer, lonlat, data) {
+        this.layer = layer;
+        this.lonlat = lonlat;
+        this.data = (data != null) ? data : {};
+        this.id = OpenLayers.Util.createUniqueID(this.CLASS_NAME + "_"); 
+    },
+
+    /** 
+     * Method: destroy
+     * nullify references to prevent circular references and memory leaks
+     */
+    destroy: function() {
+
+        //remove the popup from the map
+        if ((this.layer != null) && (this.layer.map != null)) {
+            if (this.popup != null) {
+                this.layer.map.removePopup(this.popup);
+            }
+        }
+
+        this.layer = null;
+        this.id = null;
+        this.lonlat = null;
+        this.data = null;
+        if (this.marker != null) {
+            this.destroyMarker(this.marker);
+            this.marker = null;
+        }
+        if (this.popup != null) {
+            this.destroyPopup(this.popup);
+            this.popup = null;
+        }
+    },
+    
+    /**
+     * Method: onScreen
+     * 
+     * Returns:
+     * {Boolean} Whether or not the feature is currently visible on screen
+     *           (based on its 'lonlat' property)
+     */
+    onScreen:function() {
+        
+        var onScreen = false;
+        if ((this.layer != null) && (this.layer.map != null)) {
+            var screenBounds = this.layer.map.getExtent();
+            onScreen = screenBounds.containsLonLat(this.lonlat);
+        }    
+        return onScreen;
+    },
+    
+
+    /**
+     * Method: createMarker
+     * Based on the data associated with the Feature, create and return a marker object.
+     *
+     * Returns: 
+     * {<OpenLayers.Marker>} A Marker Object created from the 'lonlat' and 'icon' properties
+     *          set in this.data. If no 'lonlat' is set, returns null. If no
+     *          'icon' is set, OpenLayers.Marker() will load the default image.
+     *          
+     *          Note - this.marker is set to return value
+     * 
+     */
+    createMarker: function() {
+
+        if (this.lonlat != null) {
+            this.marker = new OpenLayers.Marker(this.lonlat, this.data.icon);
+        }
+        return this.marker;
+    },
+
+    /**
+     * Method: destroyMarker
+     * Destroys marker.
+     * If user overrides the createMarker() function, s/he should be able
+     *   to also specify an alternative function for destroying it
+     */
+    destroyMarker: function() {
+        this.marker.destroy();  
+    },
+
+    /**
+     * Method: createPopup
+     * Creates a popup object created from the 'lonlat', 'popupSize',
+     *     and 'popupContentHTML' properties set in this.data. It uses
+     *     this.marker.icon as default anchor. 
+     *  
+     *  If no 'lonlat' is set, returns null. 
+     *  If no this.marker has been created, no anchor is sent.
+     * 
+     *  Note - this.popup is set to return value
+     * 
+     * Parameters: 
+     * closeBox - {Boolean} create popup with closebox or not
+     * 
+     * Returns:
+     * {<OpenLayers.Popup>} Returns the created popup, which is also set
+     *     as 'popup' property of this feature. Will be of whatever type
+     *     specified by this feature's 'popupClass' property, but must be
+     *     of type <OpenLayers.Popup>.
+     * 
+     */
+    createPopup: function(closeBox) {
+
+        if (this.lonlat != null) {
+            
+            var id = this.id + "_popup";
+            var anchor = (this.marker) ? this.marker.icon : null;
+
+            if (!this.popup) {
+                this.popup = new this.popupClass(id, 
+                                                 this.lonlat,
+                                                 this.data.popupSize,
+                                                 this.data.popupContentHTML,
+                                                 anchor, 
+                                                 closeBox); 
+            }    
+            if (this.data.overflow != null) {
+                this.popup.contentDiv.style.overflow = this.data.overflow;
+            }    
+            
+            this.popup.feature = this;
+        }        
+        return this.popup;
+    },
+
+    
+    /**
+     * Method: destroyPopup
+     * Destroys the popup created via createPopup.
+     *
+     * As with the marker, if user overrides the createPopup() function, s/he 
+     *   should also be able to override the destruction
+     */
+    destroyPopup: function() {
+        if (this.popup) {
+            this.popup.feature = null;
+            this.popup.destroy();
+            this.popup = null;
+        }    
+    },
+
+    CLASS_NAME: "OpenLayers.Feature"
+});
+/* ======================================================================
+    OpenLayers/Format/WMC.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Format/XML.js
+ */
+
+/**
+ * Class: OpenLayers.Format.WMC
+ * Read and write Web Map Context documents.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Format.XML>
+ */
+OpenLayers.Format.WMC = OpenLayers.Class({
+    
+    /**
+     * APIProperty: defaultVersion
+     * {String} Version number to assume if none found.  Default is "1.1.0".
+     */
+    defaultVersion: "1.1.0",
+    
+    /**
+     * APIProperty: version
+     * {String} Specify a version string if one is known.
+     */
+    version: null,
+
+    /**
+     * Property: layerOptions
+     * {Object} Default options for layers created by the parser. These
+     *     options are overridden by the options which are read from the 
+     *     capabilities document.
+     */
+    layerOptions: null, 
+    
+    /**
+     * Property: parser
+     * {Object} Instance of the versioned parser.  Cached for multiple read and
+     *     write calls of the same version.
+     */
+    parser: null,
+
+    /**
+     * Constructor: OpenLayers.Format.WMC
+     * Create a new parser for WMC docs.
+     *
+     * Parameters:
+     * options - {Object} An optional object whose properties will be set on
+     *     this instance.
+     */
+    initialize: function(options) {
+        OpenLayers.Util.extend(this, options);
+        this.options = options;
+    },
+
+    /**
+     * APIMethod: read
+     * Read WMC data from a string, and return an object with map properties
+     *     and a list of layers. 
+     * 
+     * Parameters: 
+     * data - {String} or {DOMElement} data to read/parse.
+     * options - {Object} The options object must contain a map property.  If
+     *     the map property is a string, it must be the id of a dom element
+     *     where the new map will be placed.  If the map property is an
+     *     <OpenLayers.Map>, the layers from the context document will be added
+     *     to the map.
+     *
+     * Returns:
+     * {<OpenLayers.Map>} A map based on the context.
+     */
+    read: function(data, options) {
+        if(typeof data == "string") {
+            data = OpenLayers.Format.XML.prototype.read.apply(this, [data]);
+        }
+        var root = data.documentElement;
+        var version = this.version;
+        if(!version) {
+            version = root.getAttribute("version");
+            if(!version) {
+                version = this.defaultVersion;
+            }
+        }
+        if(!this.parser || this.parser.VERSION != version) {
+            var format = OpenLayers.Format.WMC[
+                "v" + version.replace(/\./g, "_")
+            ];
+            if(!format) {
+                throw "Can't find a WMC parser for version " +
+                      version;
+            }
+            this.parser = new format(this.options);
+        }
+        var context = this.parser.read(data, options);
+        var map;
+        if(options.map) {
+            this.context = context;
+            if(options.map instanceof OpenLayers.Map) {
+                map = this.mergeContextToMap(context, options.map);
+            } else {
+                map = this.contextToMap(context, options.map);
+            }
+        } else {
+            // not documented as part of the API, provided as a non-API option
+            map = context;
+        }
+        return map;
+    },
+    
+    /**
+     * Method: contextToMap
+     * Create a map given a context object.
+     *
+     * Parameters:
+     * context - {Object} The context object.
+     * id - {String | Element} The dom element or element id that will contain
+     *     the map.
+     *
+     * Returns:
+     * {<OpenLayers.Map>} A map based on the context object.
+     */
+    contextToMap: function(context, id) {
+        var map = new OpenLayers.Map(id, {
+            maxExtent: context.maxExtent,
+            projection: context.projection
+        });
+        map.addLayers(context.layers);
+        map.setCenter(
+            context.bounds.getCenterLonLat(),
+            map.getZoomForExtent(context.bounds, true)
+        );
+        return map;
+    },
+    
+    /**
+     * Method: mergeContextToMap
+     * Add layers from a context object to a map.
+     *
+     * Parameters:
+     * context - {Object} The context object.
+     * map - {<OpenLayers.Map>} The map.
+     *
+     * Returns:
+     * {<OpenLayers.Map>} The same map with layers added.
+     */
+    mergeContextToMap: function(context, map) {
+        map.addLayers(context.layers);
+        return map;
+    },
+
+    /**
+     * APIMethod: write
+     * Write a WMC document given a map.
+     *
+     * Parameters:
+     * obj - {<OpenLayers.Map> | Object} A map or context object.
+     * options - {Object} Optional configuration object.
+     *
+     * Returns:
+     * {String} A WMC document string.
+     */
+    write: function(obj, options) {
+        if(obj.CLASS_NAME == "OpenLayers.Map") {
+            obj = this.mapToContext(obj);
+        }
+        var version = (options && options.version) ||
+                      this.version || this.defaultVersion;
+        if(!this.parser || this.parser.VERSION != version) {
+            var format = OpenLayers.Format.WMC[
+                "v" + version.replace(/\./g, "_")
+            ];
+            if(!format) {
+                throw "Can't find a WMS capabilities parser for version " +
+                      version;
+            }
+            this.parser = new format(this.options);
+        }
+        var wmc = this.parser.write(obj, options);
+        return wmc;
+    },
+    
+    /**
+     * Method: mapToContext
+     * Create a context object given a map.
+     *
+     * Parameters:
+     * map - {<OpenLayers.Map>} The map.
+     *
+     * Returns:
+     * {Object} A context object.
+     */
+    mapToContext: function(map) {
+        var context = {
+            bounds: map.getExtent(),
+            maxExtent: map.maxExtent,
+            projection: map.projection,
+            layers: map.layers,
+            size: map.getSize()
+        };
+        return context;
+    },
+
+    CLASS_NAME: "OpenLayers.Format.WMC" 
+
+});
+/* ======================================================================
+    OpenLayers/Format/WMC/v1.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Format/XML.js
+ */
+
+/**
+ * Class: OpenLayers.Format.WMC.v1
+ * Superclass for WMC version 1 parsers.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Format.XML>
+ */
+OpenLayers.Format.WMC.v1 = OpenLayers.Class(OpenLayers.Format.XML, {
+    
+    /**
+     * Property: namespaces
+     * {Object} Mapping of namespace aliases to namespace URIs.
+     */
+    namespaces: {
+        ol: "http://openlayers.org/context",
+        wmc: "http://www.opengis.net/context",
+        sld: "http://www.opengis.net/sld",
+        xlink: "http://www.w3.org/1999/xlink",
+        xsi: "http://www.w3.org/2001/XMLSchema-instance"
+    },
+    
+    /**
+     * Property: schemaLocation
+     * {String} Schema location for a particular minor version.
+     */
+    schemaLocation: "",
+
+    /**
+     * Method: getNamespacePrefix
+     * Get the namespace prefix for a given uri from the <namespaces> object.
+     *
+     * Returns:
+     * {String} A namespace prefix or null if none found.
+     */
+    getNamespacePrefix: function(uri) {
+        var prefix = null;
+        if(uri == null) {
+            prefix = this.namespaces[this.defaultPrefix];
+        } else {
+            for(prefix in this.namespaces) {
+                if(this.namespaces[prefix] == uri) {
+                    break;
+                }
+            }
+        }
+        return prefix;
+    },
+    
+    /**
+     * Property: defaultPrefix
+     */
+    defaultPrefix: "wmc",
+
+    /**
+     * Property: rootPrefix
+     * {String} Prefix on the root node that maps to the context namespace URI.
+     */
+    rootPrefix: null,
+    
+    /**
+     * Property: defaultStyleName
+     * {String} Style name used if layer has no style param.  Default is "".
+     */
+    defaultStyleName: "",
+    
+    /**
+     * Property: defaultStyleTitle
+     * {String} Default style title.  Default is "Default".
+     */
+    defaultStyleTitle: "Default",
+    
+    /**
+     * Constructor: OpenLayers.Format.WMC.v1
+     * Instances of this class are not created directly.  Use the
+     *     <OpenLayers.Format.WMC> constructor instead.
+     *
+     * Parameters:
+     * options - {Object} An optional object whose properties will be set on
+     *     this instance.
+     */
+    initialize: function(options) {
+        OpenLayers.Format.XML.prototype.initialize.apply(this, [options]);
+    },
+
+    /**
+     * Method: read
+     * Read capabilities data from a string, and return a list of layers. 
+     * 
+     * Parameters: 
+     * data - {String} or {DOMElement} data to read/parse.
+     *
+     * Returns:
+     * {Array} List of named layers.
+     */
+    read: function(data) {
+        if(typeof data == "string") {
+            data = OpenLayers.Format.XML.prototype.read.apply(this, [data]);
+        }
+        var root = data.documentElement;
+        this.rootPrefix = root.prefix;
+        var context = {
+            version: root.getAttribute("version")
+        };
+        this.runChildNodes(context, root);
+        return context;
+    },
+    
+    /**
+     * Method: runChildNodes
+     */
+    runChildNodes: function(obj, node) {
+        var children = node.childNodes;
+        var childNode, processor, prefix, local;
+        for(var i=0; i<children.length; ++i) {
+            childNode = children[i];
+            if(childNode.nodeType == 1) {
+                prefix = this.getNamespacePrefix(childNode.namespaceURI);
+                local = childNode.nodeName.split(":").pop();
+                processor = this["read_" + prefix + "_" + local];
+                if(processor) {
+                    processor.apply(this, [obj, childNode]);
+                }
+            }
+        }
+    },
+    
+    /**
+     * Method: read_wmc_General
+     */
+    read_wmc_General: function(context, node) {
+        this.runChildNodes(context, node);
+    },
+    
+    /**
+     * Method: read_wmc_BoundingBox
+     */
+    read_wmc_BoundingBox: function(context, node) {
+        context.projection = node.getAttribute("SRS");
+        context.bounds = new OpenLayers.Bounds(
+            parseFloat(node.getAttribute("minx")),
+            parseFloat(node.getAttribute("miny")),
+            parseFloat(node.getAttribute("maxx")),
+            parseFloat(node.getAttribute("maxy"))
+        );
+    },
+    
+    /**
+     * Method: read_wmc_LayerList
+     */
+    read_wmc_LayerList: function(context, node) {
+        context.layers = [];
+        this.runChildNodes(context, node);
+    },
+    
+    /**
+     * Method: read_wmc_Layer
+     */
+    read_wmc_Layer: function(context, node) {
+        var layerInfo = {
+            params: {},
+            options: {
+                visibility: (node.getAttribute("hidden") != "1")
+            },
+            queryable: (node.getAttribute("queryable") == "1"),
+            formats: [],
+            styles: []
+        };
+        this.runChildNodes(layerInfo, node);
+        // set properties common to multiple objects on layer options/params
+        layerInfo.params.layers = layerInfo.name;
+        layerInfo.options.maxExtent = layerInfo.maxExtent;
+        // create the layer
+        var layer = this.getLayerFromInfo(layerInfo);
+        context.layers.push(layer);
+    },
+    
+    /**
+     * Method: getLayerFromInfo
+     * Create a WMS layer from a layerInfo object.
+     *
+     * Parameters:
+     * layerInfo - {Object} An object representing a WMS layer.
+     *
+     * Returns:
+     * {<OpenLayers.Layer.WMS>} A WMS layer.
+     */
+    getLayerFromInfo: function(layerInfo) {
+        var options = layerInfo.options;
+        if (this.layerOptions) {
+            OpenLayers.Util.applyDefaults(options, this.layerOptions);
+        }
+        var layer = new OpenLayers.Layer.WMS(
+            layerInfo.title,
+            layerInfo.href,
+            layerInfo.params,
+            options
+        );
+        return layer;
+    },
+    
+    /**
+     * Method: read_wmc_Extension
+     */
+    read_wmc_Extension: function(obj, node) {
+        this.runChildNodes(obj, node);
+    },
+
+    /**
+     * Method: read_ol_units
+     */
+    read_ol_units: function(layerInfo, node) {
+        layerInfo.options.units = this.getChildValue(node);
+    },
+    
+    /**
+     * Method: read_ol_maxExtent
+     */
+    read_ol_maxExtent: function(obj, node) {
+        var bounds = new OpenLayers.Bounds(
+            node.getAttribute("minx"), node.getAttribute("miny"),
+            node.getAttribute("maxx"), node.getAttribute("maxy")
+        );
+        obj.maxExtent = bounds;
+    },
+    
+    /**
+     * Method: read_ol_transparent
+     */
+    read_ol_transparent: function(layerInfo, node) {
+        layerInfo.params.transparent = this.getChildValue(node);
+    },
+
+    /**
+     * Method: read_ol_numZoomLevels
+     */
+    read_ol_numZoomLevels: function(layerInfo, node) {
+        layerInfo.options.numZoomLevels = parseInt(this.getChildValue(node));
+    },
+
+    /**
+     * Method: read_ol_opacity
+     */
+    read_ol_opacity: function(layerInfo, node) {
+        layerInfo.options.opacity = parseFloat(this.getChildValue(node));
+    },
+
+    /**
+     * Method: read_ol_singleTile
+     */
+    read_ol_singleTile: function(layerInfo, node) {
+        layerInfo.options.singleTile = (this.getChildValue(node) == "true");
+    },
+
+    /**
+     * Method: read_ol_isBaseLayer
+     */
+    read_ol_isBaseLayer: function(layerInfo, node) {
+        layerInfo.options.isBaseLayer = (this.getChildValue(node) == "true");
+    },
+
+    /**
+     * Method: read_ol_displayInLayerSwitcher
+     */
+    read_ol_displayInLayerSwitcher: function(layerInfo, node) {
+        layerInfo.options.displayInLayerSwitcher =
+            (this.getChildValue(node) == "true");
+    },
+
+    /**
+     * Method: read_wmc_Server
+     */
+    read_wmc_Server: function(layerInfo, node) {
+        layerInfo.params.version = node.getAttribute("version");
+        this.runChildNodes(layerInfo, node);
+    },
+
+    /**
+     * Method: read_wmc_FormatList
+     */
+    read_wmc_FormatList: function(layerInfo, node) {
+        this.runChildNodes(layerInfo, node);
+    },
+
+    /**
+     * Method: read_wmc_Format
+     */
+    read_wmc_Format: function(layerInfo, node) {
+        var format = this.getChildValue(node);
+        layerInfo.formats.push(format);
+        if(node.getAttribute("current") == "1") {
+            layerInfo.params.format = format;
+        }
+    },
+    
+    /**
+     * Method: read_wmc_StyleList
+     */
+    read_wmc_StyleList: function(layerInfo, node) {
+        this.runChildNodes(layerInfo, node);
+    },
+
+    /**
+     * Method: read_wmc_Style
+     */
+    read_wmc_Style: function(layerInfo, node) {
+        var style = {};
+        this.runChildNodes(style, node);
+        if(node.getAttribute("current") == "1") {
+            // three style types to consider
+            // 1) linked SLD
+            // 2) inline SLD
+            // 3) named style
+            // running child nodes always gets name, optionally gets href or body
+            if(style.href) {
+                layerInfo.params.sld = style.href;
+            } else if(style.body) {
+                layerInfo.params.sld_body = style.body;
+            } else {
+                layerInfo.params.styles = style.name;
+            }
+        }
+        layerInfo.styles.push(style);
+    },
+    
+    /**
+     * Method: read_wmc_SLD
+     */
+    read_wmc_SLD: function(style, node) {
+        this.runChildNodes(style, node);
+        // style either comes back with an href or a body property
+    },
+    
+    /**
+     * Method: read_sld_StyledLayerDescriptor
+     */
+    read_sld_StyledLayerDescriptor: function(sld, node) {
+        var xml = OpenLayers.Format.XML.prototype.write.apply(this, [node]);
+        sld.body = xml;
+    },
+
+    /**
+     * Method: read_wmc_OnlineResource
+     */
+    read_wmc_OnlineResource: function(obj, node) {
+        obj.href = this.getAttributeNS(
+            node, this.namespaces.xlink, "href"
+        );
+    },
+    
+    /**
+     * Method: read_wmc_Name
+     */
+    read_wmc_Name: function(obj, node) {
+        var name = this.getChildValue(node);
+        if(name) {
+            obj.name = name;
+        }
+    },
+
+    /**
+     * Method: read_wmc_Title
+     */
+    read_wmc_Title: function(obj, node) {
+        var title = this.getChildValue(node);
+        if(title) {
+            obj.title = title;
+        }
+    },
+
+    /**
+     * Method: read_wmc_Abstract
+     */
+    read_wmc_Abstract: function(obj, node) {
+        var abst = this.getChildValue(node);
+        if(abst) {
+            obj["abstract"] = abst;
+        }
+    },
+    
+    /**
+     * Method: read_wmc_LatLonBoundingBox
+     */
+    read_wmc_LatLonBoundingBox: function(layer, node) {
+        layer.llbbox = [
+            parseFloat(node.getAttribute("minx")),
+            parseFloat(node.getAttribute("miny")),
+            parseFloat(node.getAttribute("maxx")),
+            parseFloat(node.getAttribute("maxy"))
+        ];
+    },
+
+    /**
+     * Method: read_wmc_LegendURL
+     */
+    read_wmc_LegendURL: function(style, node) {
+        var legend = {
+            width: node.getAttribute('width'),
+            height: node.getAttribute('height')
+        };
+        var links = node.getElementsByTagName("OnlineResource");
+        if(links.length > 0) {
+            this.read_wmc_OnlineResource(legend, links[0]);
+        }
+        style.legend = legend;
+    },
+    
+    /**
+     * Method: write
+     *
+     * Parameters:
+     * context - {Object} An object representing the map context.
+     * options - {Object} Optional object.
+     *
+     * Returns:
+     * {String} A WMC document string.
+     */
+    write: function(context, options) {
+        var root = this.createElementDefaultNS("ViewContext");
+        this.setAttributes(root, {
+            version: this.VERSION,
+            id: (options && typeof options.id == "string") ?
+                    options.id :
+                    OpenLayers.Util.createUniqueID("OpenLayers_Context_")
+        });
+        
+        // add schemaLocation attribute
+        this.setAttributeNS(
+            root, this.namespaces.xsi,
+            "xsi:schemaLocation", this.schemaLocation
+        );
+        
+        // required General element
+        root.appendChild(this.write_wmc_General(context));
+
+        // required LayerList element
+        root.appendChild(this.write_wmc_LayerList(context));
+
+        return OpenLayers.Format.XML.prototype.write.apply(this, [root]);
+    },
+    
+    /**
+     * Method: createElementDefaultNS
+     * Shorthand for createElementNS with namespace from <defaultPrefix>.
+     *     Can optionally be used to set attributes and a text child value.
+     *
+     * Parameters:
+     * name - {String} The qualified node name.
+     * childValue - {String} Optional value for text child node.
+     * attributes - {Object} Optional object representing attributes.
+     *
+     * Returns:
+     * {Element} An element node.
+     */
+    createElementDefaultNS: function(name, childValue, attributes) {
+        var node = this.createElementNS(
+            this.namespaces[this.defaultPrefix],
+            name
+        );
+        if(childValue) {
+            node.appendChild(this.createTextNode(childValue));
+        }
+        if(attributes) {
+            this.setAttributes(node, attributes);
+        }
+        return node;
+    },
+    
+    /**
+     * Method: setAttributes
+     * Set multiple attributes given key value pairs from an object.
+     *
+     * Parameters:
+     * node - {Element} An element node.
+     * obj - {Object} An object whose properties represent attribute names and
+     *     values represent attribute values.
+     */
+    setAttributes: function(node, obj) {
+        var value;
+        for(var name in obj) {
+            value = obj[name].toString();
+            if(value.match(/[A-Z]/)) {
+                // safari lowercases attributes with setAttribute
+                this.setAttributeNS(node, null, name, value);
+            } else {
+                node.setAttribute(name, value);
+            }
+        }
+    },
+
+    /**
+     * Method: write_wmc_General
+     * Create a General node given an context object.
+     *
+     * Parameters:
+     * context - {Object} Context object.
+     *
+     * Returns:
+     * {Element} A WMC General element node.
+     */
+    write_wmc_General: function(context) {
+        var node = this.createElementDefaultNS("General");
+
+        // optional Window element
+        if(context.size) {
+            node.appendChild(this.createElementDefaultNS(
+                "Window", null,
+                {
+                    width: context.size.w,
+                    height: context.size.h
+                }
+            ));
+        }
+        
+        // required BoundingBox element
+        var bounds = context.bounds;
+        node.appendChild(this.createElementDefaultNS(
+            "BoundingBox", null,
+            {
+                minx: bounds.left.toPrecision(10),
+                miny: bounds.bottom.toPrecision(10),
+                maxx: bounds.right.toPrecision(10),
+                maxy: bounds.top.toPrecision(10),
+                SRS: context.projection
+            }
+        ));
+
+        // required Title element
+        node.appendChild(this.createElementDefaultNS(
+            "Title", context.title
+        ));
+        
+        // OpenLayers specific map properties
+        node.appendChild(this.write_ol_MapExtension(context));
+        
+        return node;
+    },
+    
+    /**
+     * Method: write_ol_MapExtension
+     */
+    write_ol_MapExtension: function(context) {
+        var node = this.createElementDefaultNS("Extension");
+        
+        var bounds = context.maxExtent;
+        if(bounds) {
+            var maxExtent = this.createElementNS(
+                this.namespaces.ol, "ol:maxExtent"
+            );
+            this.setAttributes(maxExtent, {
+                minx: bounds.left.toPrecision(10),
+                miny: bounds.bottom.toPrecision(10),
+                maxx: bounds.right.toPrecision(10),
+                maxy: bounds.top.toPrecision(10)
+            });
+            node.appendChild(maxExtent);
+        }
+        
+        return node;
+    },
+    
+    /**
+     * Method: write_wmc_LayerList
+     * Create a LayerList node given an context object.
+     *
+     * Parameters:
+     * context - {Object} Context object.
+     *
+     * Returns:
+     * {Element} A WMC LayerList element node.
+     */
+    write_wmc_LayerList: function(context) {
+        var list = this.createElementDefaultNS("LayerList");
+        
+        var layer;
+        for(var i=0; i<context.layers.length; ++i) {
+            layer = context.layers[i];
+            if(layer instanceof OpenLayers.Layer.WMS) {
+                list.appendChild(this.write_wmc_Layer(layer));
+            }
+        }
+        
+        return list;
+    },
+
+    /**
+     * Method: write_wmc_Layer
+     * Create a Layer node given a layer object.
+     *
+     * Parameters:
+     * layer - {<OpenLayers.Layer.WMS>} Layer object.
+     *
+     * Returns:
+     * {Element} A WMC Layer element node.
+     */
+    write_wmc_Layer: function(layer) {
+        var node = this.createElementDefaultNS(
+            "Layer", null, {
+                queryable: "1",
+                hidden: layer.visibility ? "0" : "1"
+            }
+        );
+        
+        // required Server element
+        node.appendChild(this.write_wmc_Server(layer));
+
+        // required Name element
+        node.appendChild(this.createElementDefaultNS(
+            "Name", layer.params["LAYERS"]
+        ));
+        
+        // required Title element
+        node.appendChild(this.createElementDefaultNS(
+            "Title", layer.name
+        ));
+        
+        // optional FormatList element
+        node.appendChild(this.write_wmc_FormatList(layer));
+
+        // optional StyleList element
+        node.appendChild(this.write_wmc_StyleList(layer));
+        
+        // OpenLayers specific properties go in an Extension element
+        node.appendChild(this.write_wmc_LayerExtension(layer));
+
+        return node;
+    },
+    
+    /**
+     * Method: write_wmc_LayerExtension
+     * Add OpenLayers specific layer parameters to an Extension element.
+     *
+     * Parameters:
+     * layer - {<OpenLayers.Layer.WMS>} A WMS layer.
+     *
+     * Returns:
+     * {Element} A WMC Extension element (for a layer).
+     */
+    write_wmc_LayerExtension: function(layer) {
+        var node = this.createElementDefaultNS("Extension");
+        
+        var bounds = layer.maxExtent;
+        var maxExtent = this.createElementNS(
+            this.namespaces.ol, "ol:maxExtent"
+        );
+        this.setAttributes(maxExtent, {
+            minx: bounds.left.toPrecision(10),
+            miny: bounds.bottom.toPrecision(10),
+            maxx: bounds.right.toPrecision(10),
+            maxy: bounds.top.toPrecision(10)
+        });
+        node.appendChild(maxExtent);
+        
+        var param = layer.params["TRANSPARENT"];
+        if(param) {
+            var trans = this.createElementNS(
+                this.namespaces.ol, "ol:transparent"
+            );
+            trans.appendChild(this.createTextNode(param));
+            node.appendChild(trans);
+        }
+        
+        var properties = [
+            "numZoomLevels", "units", "isBaseLayer",
+            "opacity", "displayInLayerSwitcher", "singleTile"
+        ];
+        var child;
+        for(var i=0; i<properties.length; ++i) {
+            child = this.createOLPropertyNode(layer, properties[i]);
+            if(child) {
+                node.appendChild(child);
+            }
+        }
+
+        return node;
+    },
+    
+    /**
+     * Method: createOLPropertyNode
+     * Create a node representing an OpenLayers property.  If the property is
+     *     null or undefined, null will be returned.
+     *
+     * Parameters:
+     * object - {Object} An object.
+     * prop - {String} A property.
+     *
+     * Returns:
+     * {Element} A property node.
+     */
+    createOLPropertyNode: function(obj, prop) {
+        var node = null;
+        if(obj[prop] != null) {
+            node = this.createElementNS(this.namespaces.ol, "ol:" + prop);
+            node.appendChild(this.createTextNode(obj[prop].toString()));
+        }
+        return node;
+    },
+
+    /**
+     * Method: write_wmc_Server
+     * Create a Server node given a layer object.
+     *
+     * Parameters:
+     * layer - {<OpenLayers.Layer.WMS>} Layer object.
+     *
+     * Returns:
+     * {Element} A WMC Server element node.
+     */
+    write_wmc_Server: function(layer) {
+        var node = this.createElementDefaultNS("Server");
+        this.setAttributes(node, {
+            service: "OGC:WMS",
+            version: layer.params["VERSION"]
+        });
+        
+        // required OnlineResource element
+        node.appendChild(this.write_wmc_OnlineResource(layer.url));
+        
+        return node;
+    },
+
+    /**
+     * Method: write_wmc_FormatList
+     * Create a FormatList node given a layer.
+     *
+     * Parameters:
+     * layer - {<OpenLayers.Layer.WMS>} Layer object.
+     *
+     * Returns:
+     * {Element} A WMC FormatList element node.
+     */
+    write_wmc_FormatList: function(layer) {
+        var node = this.createElementDefaultNS("FormatList");
+        node.appendChild(this.createElementDefaultNS(
+            "Format", layer.params["FORMAT"], {current: "1"}
+        ));
+
+        return node;
+    },
+
+    /**
+     * Method: write_wmc_StyleList
+     * Create a StyleList node given a layer.
+     *
+     * Parameters:
+     * layer - {<OpenLayers.Layer.WMS>} Layer object.
+     *
+     * Returns:
+     * {Element} A WMC StyleList element node.
+     */
+    write_wmc_StyleList: function(layer) {
+        var node = this.createElementDefaultNS("StyleList");
+        var style = this.createElementDefaultNS(
+            "Style", null, {current: "1"}
+        );
+        
+        // Style can come from one of three places (prioritized as below):
+        // 1) an SLD parameter
+        // 2) and SLD_BODY parameter
+        // 3) the STYLES parameter
+        
+        if(layer.params["SLD"]) {
+            // create link from SLD parameter
+            var sld = this.createElementDefaultNS("SLD");
+            var link = this.write_wmc_OnlineResource(layer.params["SLD"]);
+            sld.appendChild(link);
+            style.appendChild(sld);
+        } else if(layer.params["SLD_BODY"]) {
+            // include sld fragment from SLD_BODY parameter
+            var sld = this.createElementDefaultNS("SLD");
+            var body = layer.params["SLD_BODY"];
+            // read in body as xml doc - assume proper namespace declarations
+            var doc = OpenLayers.Format.XML.prototype.read.apply(this, [body]);
+            // append to StyledLayerDescriptor node
+            var imported = doc.documentElement;
+            if(sld.ownerDocument && sld.ownerDocument.importNode) {
+                imported = sld.ownerDocument.importNode(imported, true);
+            }
+            sld.appendChild(imported);
+            style.appendChild(sld);            
+        } else {
+            // use name(s) from STYLES parameter
+            var name = layer.params["STYLES"] ?
+                layer.params["STYLES"] : this.defaultStyleName;
+            
+            style.appendChild(this.createElementDefaultNS("Name", name));
+            style.appendChild(this.createElementDefaultNS(
+                "Title", this.defaultStyleTitle
+            ));
+        }
+        node.appendChild(style);
+        return node;
+    },
+
+    /**
+     * Method: write_wmc_OnlineResource
+     * Create an OnlineResource node given a URL.
+     *
+     * Parameters:
+     * href - {String} URL for the resource.
+     *
+     * Returns:
+     * {Element} A WMC OnlineResource element node.
+     */
+    write_wmc_OnlineResource: function(href) {
+        var node = this.createElementDefaultNS("OnlineResource");
+        this.setAttributeNS(node, this.namespaces.xlink, "xlink:type", "simple");
+        this.setAttributeNS(node, this.namespaces.xlink, "xlink:href", href);
+        return node;
+    },
+
+    CLASS_NAME: "OpenLayers.Format.WMC.v1" 
+
+});
+/* ======================================================================
+    OpenLayers/Handler/Click.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the clear BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/license.txt 
+ * for the full text of the license. */
+
+/**
+ * @requires OpenLayers/Handler.js
+ */
+
+/**
+ * Class: OpenLayers.Handler.Click
+ * A handler for mouse clicks.  The intention of this handler is to give
+ *     controls more flexibility with handling clicks.  Browsers trigger
+ *     click events twice for a double-click.  In addition, the mousedown,
+ *     mousemove, mouseup sequence fires a click event.  With this handler,
+ *     controls can decide whether to ignore clicks associated with a double
+ *     click.  By setting a <pixelTolerance>, controls can also ignore clicks
+ *     that include a drag.  Create a new instance with the
+ *     <OpenLayers.Handler.Click> constructor.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Handler> 
+ */
+OpenLayers.Handler.Click = OpenLayers.Class(OpenLayers.Handler, {
+
+    /**
+     * APIProperty: delay
+     * {Number} Number of milliseconds between clicks before the event is
+     *     considered a double-click.
+     */
+    delay: 300,
+    
+    /**
+     * APIProperty: single
+     * {Boolean} Handle single clicks.  Default is true.  If false, clicks
+     * will not be reported.  If true, single-clicks will be reported.
+     */
+    single: true,
+    
+    /**
+     * APIProperty: double
+     * {Boolean} Handle double-clicks.  Default is false.
+     */
+    'double': false,
+    
+    /**
+     * APIProperty: pixelTolerance
+     * {Number} Maximum number of pixels between mouseup and mousedown for an
+     *     event to be considered a click.  Default is 0.  If set to an
+     *     integer value, clicks with a drag greater than the value will be
+     *     ignored.  This property can only be set when the handler is
+     *     constructed.
+     */
+    pixelTolerance: 0,
+    
+    /**
+     * APIProperty: stopSingle
+     * {Boolean} Stop other listeners from being notified of clicks.  Default
+     *     is false.  If true, any click listeners registered before this one
+     *     will not be notified of *any* click event (associated with double
+     *     or single clicks).
+     */
+    stopSingle: false,
+    
+    /**
+     * APIProperty: stopDouble
+     * {Boolean} Stop other listeners from being notified of double-clicks.
+     *     Default is false.  If true, any click listeners registered before
+     *     this one will not be notified of *any* double-click events.
+     * 
+     * The one caveat with stopDouble is that given a map with two click
+     *     handlers, one with stopDouble true and the other with stopSingle
+     *     true, the stopSingle handler should be activated last to get
+     *     uniform cross-browser performance.  Since IE triggers one click
+     *     with a dblclick and FF triggers two, if a stopSingle handler is
+     *     activated first, all it gets in IE is a single click when the
+     *     second handler stops propagation on the dblclick.
+     */
+    stopDouble: false,
+
+    /**
+     * Property: timerId
+     * {Number} The id of the timeout waiting to clear the <delayedEvent>.
+     */
+    timerId: null,
+    
+    /**
+     * Property: down
+     * {<OpenLayers.Pixel>} The pixel location of the last mousedown.
+     */
+    down: null,
+    
+    /**
+     * Constructor: OpenLayers.Handler.Click
+     * Create a new click handler.
+     * 
+     * Parameters:
+     * control - {<OpenLayers.Control>} The control that is making use of
+     *     this handler.  If a handler is being used without a control, the
+     *     handler's setMap method must be overridden to deal properly with
+     *     the map.
+     * callbacks - {Object} An object with keys corresponding to callbacks
+     *     that will be called by the handler. The callbacks should
+     *     expect to recieve a single argument, the click event.
+     *     Callbacks for 'click' and 'dblclick' are supported.
+     * options - {Object} Optional object whose properties will be set on the
+     *     handler.
+     */
+    initialize: function(control, callbacks, options) {
+        OpenLayers.Handler.prototype.initialize.apply(this, arguments);
+        // optionally register for mouseup and mousedown
+        if(this.pixelTolerance != null) {
+            this.mousedown = function(evt) {
+                this.down = evt.xy;
+                return true;
+            };
+        }
+    },
+    
+    /**
+     * Method: mousedown
+     * Handle mousedown.  Only registered as a listener if pixelTolerance is
+     *     a non-zero value at construction.
+     *
+     * Returns:
+     * {Boolean} Continue propagating this event.
+     */
+    mousedown: null,
+    
+    /**
+     * Method: dblclick
+     * Handle dblclick.  For a dblclick, we get two clicks in some browsers
+     *     (FF) and one in others (IE).  So we need to always register for
+     *     dblclick to properly handle single clicks.
+     *     
+     * Returns:
+     * {Boolean} Continue propagating this event.
+     */
+    dblclick: function(evt) {
+        if(this.passesTolerance(evt)) {
+            if(this["double"]) {
+                this.callback('dblclick', [evt]);
+            }
+            this.clearTimer();
+        }
+        return !this.stopDouble;
+    },
+    
+    /**
+     * Method: click
+     * Handle click.
+     *
+     * Returns:
+     * {Boolean} Continue propagating this event.
+     */
+    click: function(evt) {
+        if(this.passesTolerance(evt)) {
+            if(this.timerId != null) {
+                // already received a click
+                this.clearTimer();
+            } else {
+                // set the timer, send evt only if single is true
+                //use a clone of the event object because it will no longer 
+                //be a valid event object in IE in the timer callback
+                var clickEvent = this.single ?
+                    OpenLayers.Util.extend({}, evt) : null;
+                this.timerId = window.setTimeout(
+                    OpenLayers.Function.bind(this.delayedCall, this, clickEvent),
+                    this.delay
+                );
+            }
+        }
+        return !this.stopSingle;
+    },
+    
+    /**
+     * Method: passesTolerance
+     * Determine whether the event is within the optional pixel tolerance.  Note
+     *     that the pixel tolerance check only works if mousedown events get to
+     *     the listeners registered here.  If they are stopped by other elements,
+     *     the <pixelTolerance> will have no effect here (this method will always
+     *     return true).
+     *
+     * Returns:
+     * {Boolean} The click is within the pixel tolerance (if specified).
+     */
+    passesTolerance: function(evt) {
+        var passes = true;
+        if(this.pixelTolerance != null && this.down) {
+            var dpx = Math.sqrt(
+                Math.pow(this.down.x - evt.xy.x, 2) +
+                Math.pow(this.down.y - evt.xy.y, 2)
+            );
+            if(dpx > this.pixelTolerance) {
+                passes = false;
+            }
+        }
+        return passes;
+    },
+
+    /**
+     * Method: clearTimer
+     * Clear the timer and set <timerId> to null.
+     */
+    clearTimer: function() {
+        if(this.timerId != null) {
+            window.clearTimeout(this.timerId);
+            this.timerId = null;
+        }
+    },
+    
+    /**
+     * Method: delayedCall
+     * Sets <timerId> to null.  And optionally triggers the click callback if
+     *     evt is set.
+     */
+    delayedCall: function(evt) {
+        this.timerId = null;
+        if(evt) {
+            this.callback('click', [evt]);
+        }
+    },
+
+    /**
+     * APIMethod: deactivate
+     * Deactivate the handler.
+     *
+     * Returns:
+     * {Boolean} The handler was successfully deactivated.
+     */
+    deactivate: function() {
+        var deactivated = false;
+        if(OpenLayers.Handler.prototype.deactivate.apply(this, arguments)) {
+            this.clearTimer();
+            this.down = null;
+            deactivated = true;
+        }
+        return deactivated;
+    },
+
+    CLASS_NAME: "OpenLayers.Handler.Click"
+});
+/* ======================================================================
+    OpenLayers/Handler/Drag.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Handler.js
+ */
+
+/**
+ * Class: OpenLayers.Handler.Drag
+ * The drag handler is used to deal with sequences of browser events related
+ *     to dragging.  The handler is used by controls that want to know when
+ *     a drag sequence begins, when a drag is happening, and when it has
+ *     finished.
+ *
+ * Controls that use the drag handler typically construct it with callbacks
+ *     for 'down', 'move', and 'done'.  Callbacks for these keys are called
+ *     when the drag begins, with each move, and when the drag is done.  In
+ *     addition, controls can have callbacks keyed to 'up' and 'out' if they
+ *     care to differentiate between the types of events that correspond with
+ *     the end of a drag sequence.  If no drag actually occurs (no mouse move)
+ *     the 'down' and 'up' callbacks will be called, but not the 'done'
+ *     callback.
+ *
+ * Create a new drag handler with the <OpenLayers.Handler.Drag> constructor.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Handler>
+ */
+OpenLayers.Handler.Drag = OpenLayers.Class(OpenLayers.Handler, {
+  
+    /** 
+     * Property: started
+     * {Boolean} When a mousedown event is received, we want to record it, but
+     *     not set 'dragging' until the mouse moves after starting. 
+     */
+    started: false,
+    
+    /**
+     * Property: stopDown
+     * {Boolean} Stop propagation of mousedown events from getting to listeners
+     *     on the same element.  Default is true.
+     */
+    stopDown: true,
+
+    /** 
+     * Property: dragging 
+     * {Boolean} 
+     */
+    dragging: false,
+
+    /** 
+     * Property: last
+     * {<OpenLayers.Pixel>} The last pixel location of the drag.
+     */
+    last: null,
+
+    /** 
+     * Property: start
+     * {<OpenLayers.Pixel>} The first pixel location of the drag.
+     */
+    start: null,
+
+    /**
+     * Property: oldOnselectstart
+     * {Function}
+     */
+    oldOnselectstart: null,
+
+    /**
+     * Constructor: OpenLayers.Handler.Drag
+     * Returns OpenLayers.Handler.Drag
+     * 
+     * Parameters:
+     * control - {<OpenLayers.Control>} The control that is making use of
+     *     this handler.  If a handler is being used without a control, the
+     *     handlers setMap method must be overridden to deal properly with
+     *     the map.
+     * callbacks - {Object} An object containing a single function to be
+     *     called when the drag operation is finished. The callback should
+     *     expect to recieve a single argument, the pixel location of the event.
+     *     Callbacks for 'move' and 'done' are supported. You can also speficy
+     *     callbacks for 'down', 'up', and 'out' to respond to those events.
+     * options - {Object} 
+     */
+    initialize: function(control, callbacks, options) {
+        OpenLayers.Handler.prototype.initialize.apply(this, arguments);
+    },
+    
+    /**
+     * The four methods below (down, move, up, and out) are used by subclasses
+     *     to do their own processing related to these mouse events.
+     */
+    
+    /**
+     * Method: down
+     * This method is called during the handling of the mouse down event.
+     *     Subclasses can do their own processing here.
+     *
+     * Parameters:
+     * evt - {Event} The mouse down event
+     */
+    down: function(evt) {
+    },
+    
+    /**
+     * Method: move
+     * This method is called during the handling of the mouse move event.
+     *     Subclasses can do their own processing here.
+     *
+     * Parameters:
+     * evt - {Event} The mouse move event
+     *
+     */
+    move: function(evt) {
+    },
+
+    /**
+     * Method: up
+     * This method is called during the handling of the mouse up event.
+     *     Subclasses can do their own processing here.
+     *
+     * Parameters:
+     * evt - {Event} The mouse up event
+     */
+    up: function(evt) {
+    },
+
+    /**
+     * Method: out
+     * This method is called during the handling of the mouse out event.
+     *     Subclasses can do their own processing here.
+     *
+     * Parameters:
+     * evt - {Event} The mouse out event
+     */
+    out: function(evt) {
+    },
+
+    /**
+     * The methods below are part of the magic of event handling.  Because
+     *     they are named like browser events, they are registered as listeners
+     *     for the events they represent.
+     */
+
+    /**
+     * Method: mousedown
+     * Handle mousedown events
+     *
+     * Parameters:
+     * evt - {Event} 
+     *
+     * Returns:
+     * {Boolean} Let the event propagate.
+     */
+    mousedown: function (evt) {
+        var propagate = true;
+        this.dragging = false;
+        if (this.checkModifiers(evt) && OpenLayers.Event.isLeftClick(evt)) {
+            this.started = true;
+            this.start = evt.xy;
+            this.last = evt.xy;
+            // TBD replace with CSS classes
+            this.map.div.style.cursor = "move";
+            this.down(evt);
+            this.callback("down", [evt.xy]);
+            OpenLayers.Event.stop(evt);
+            
+            if(!this.oldOnselectstart) {
+                this.oldOnselectstart = (document.onselectstart) ? document.onselectstart : function() { return true; };
+                document.onselectstart = function() {return false;};
+            }
+            
+            propagate = !this.stopDown;
+        } else {
+            this.started = false;
+            this.start = null;
+            this.last = null;
+        }
+        return propagate;
+    },
+
+    /**
+     * Method: mousemove
+     * Handle mousemove events
+     *
+     * Parameters:
+     * evt - {Event} 
+     *
+     * Returns:
+     * {Boolean} Let the event propagate.
+     */
+    mousemove: function (evt) {
+        if (this.started) {
+            if(evt.xy.x != this.last.x || evt.xy.y != this.last.y) {
+                this.dragging = true;
+                this.move(evt);
+                this.callback("move", [evt.xy]);
+                if(!this.oldOnselectstart) {
+                    this.oldOnselectstart = document.onselectstart;
+                    document.onselectstart = function() {return false;};
+                }
+                this.last = evt.xy;
+            }
+        }
+        return true;
+    },
+
+    /**
+     * Method: mouseup
+     * Handle mouseup events
+     *
+     * Parameters:
+     * evt - {Event} 
+     *
+     * Returns:
+     * {Boolean} Let the event propagate.
+     */
+    mouseup: function (evt) {
+        if (this.started) {
+            var dragged = (this.start != this.last);
+            this.started = false;
+            this.dragging = false;
+            // TBD replace with CSS classes
+            this.map.div.style.cursor = "";
+            this.up(evt);
+            this.callback("up", [evt.xy]);
+            if(dragged) {
+                this.callback("done", [evt.xy]);
+            }
+            document.onselectstart = this.oldOnselectstart;
+        }
+        return true;
+    },
+
+    /**
+     * Method: mouseout
+     * Handle mouseout events
+     *
+     * Parameters:
+     * evt - {Event} 
+     *
+     * Returns:
+     * {Boolean} Let the event propagate.
+     */
+    mouseout: function (evt) {
+        if (this.started && OpenLayers.Util.mouseLeft(evt, this.map.div)) {
+            var dragged = (this.start != this.last);
+            this.started = false; 
+            this.dragging = false;
+            // TBD replace with CSS classes
+            this.map.div.style.cursor = "";
+            this.out(evt);
+            this.callback("out", []);
+            if(dragged) {
+                this.callback("done", [evt.xy]);
+            }
+            if(document.onselectstart) {
+                document.onselectstart = this.oldOnselectstart;
+            }
+        }
+        return true;
+    },
+
+    /**
+     * Method: click
+     * The drag handler captures the click event.  If something else registers
+     *     for clicks on the same element, its listener will not be called 
+     *     after a drag.
+     * 
+     * Parameters: 
+     * evt - {Event} 
+     * 
+     * Returns:
+     * {Boolean} Let the event propagate.
+     */
+    click: function (evt) {
+        // let the click event propagate only if the mouse moved
+        return (this.start == this.last);
+    },
+
+    /**
+     * Method: activate
+     * Activate the handler.
+     * 
+     * Returns:
+     * {Boolean} The handler was successfully activated.
+     */
+    activate: function() {
+        var activated = false;
+        if(OpenLayers.Handler.prototype.activate.apply(this, arguments)) {
+            this.dragging = false;
+            activated = true;
+        }
+        return activated;
+    },
+
+    /**
+     * Method: deactivate 
+     * Deactivate the handler.
+     * 
+     * Returns:
+     * {Boolean} The handler was successfully deactivated.
+     */
+    deactivate: function() {
+        var deactivated = false;
+        if(OpenLayers.Handler.prototype.deactivate.apply(this, arguments)) {
+            this.started = false;
+            this.dragging = false;
+            this.start = null;
+            this.last = null;
+            deactivated = true;
+        }
+        return deactivated;
+    },
+
+    CLASS_NAME: "OpenLayers.Handler.Drag"
+});
+/* ======================================================================
+    OpenLayers/Handler/Feature.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Handler.js
+ */
+
+/**
+ * Class: OpenLayers.Handler.Feature 
+ * Handler to respond to mouse events related to a drawn feature.  Callbacks
+ *     with the following keys will be notified of the following events
+ *     associated with features: click, clickout, over, out, and dblclick.
+ *
+ * This handler stops event propagation for mousedown and mouseup if those
+ *     browser events target features that can be selected.
+ */
+OpenLayers.Handler.Feature = OpenLayers.Class(OpenLayers.Handler, {
+
+    /**
+     * Property: EVENTMAP
+     * {Object} A object mapping the browser events to objects with callback
+     *     keys for in and out.
+     */
+    EVENTMAP: {
+        'click': {'in': 'click', 'out': 'clickout'},
+        'mousemove': {'in': 'over', 'out': 'out'},
+        'dblclick': {'in': 'dblclick', 'out': null},
+        'mousedown': {'in': null, 'out': null},
+        'mouseup': {'in': null, 'out': null}
+    },
+
+    /**
+     * Property: feature
+     * {<OpenLayers.Feature.Vector>} The last feature that was hovered.
+     */
+    feature: null,
+
+    /**
+     * Property: lastFeature
+     * {<OpenLayers.Feature.Vector>} The last feature that was handled.
+     */
+    lastFeature: null,
+
+    /**
+     * Property: down
+     * {<OpenLayers.Pixel>} The location of the last mousedown.
+     */
+    down: null,
+
+    /**
+     * Property: up
+     * {<OpenLayers.Pixel>} The location of the last mouseup.
+     */
+    up: null,
+    
+    /**
+     * Property: clickoutTolerance
+     * {Number} The number of pixels the mouse can move during a click that
+     *     still constitutes a click out.  When dragging the map, clicks should
+     *     not trigger the clickout property unless this tolerance is reached.
+     *     Default is 4.
+     */
+    clickoutTolerance: 4,
+
+    /**
+     * Property: geometryTypes
+     * To restrict dragging to a limited set of geometry types, send a list
+     * of strings corresponding to the geometry class names.
+     * 
+     * @type Array(String)
+     */
+    geometryTypes: null,
+
+    /**
+     * Property: stopClick
+     * {Boolean} If stopClick is set to true, handled clicks do not
+     *      propagate to other click listeners. Otherwise, handled clicks
+     *      do propagate. Unhandled clicks always propagate, whatever the
+     *      value of stopClick. Defaults to true.
+     */
+    stopClick: true,
+
+    /**
+     * Property: stopDown
+     * {Boolean} If stopDown is set to true, handled mousedowns do not
+     *      propagate to other mousedown listeners. Otherwise, handled
+     *      mousedowns do propagate. Unhandled mousedowns always propagate,
+     *      whatever the value of stopDown. Defaults to true.
+     */
+    stopDown: true,
+
+    /**
+     * Property: stopUp
+     * {Boolean} If stopUp is set to true, handled mouseups do not
+     *      propagate to other mouseup listeners. Otherwise, handled mouseups
+     *      do propagate. Unhandled mouseups always propagate, whatever the
+     *      value of stopUp. Defaults to true.
+     */
+    stopUp: true,
+
+    /**
+     * Property: layerIndex
+     * {Int}
+     */
+    layerIndex: null,
+    
+    /**
+     * Constructor: OpenLayers.Handler.Feature
+     *
+     * Parameters:
+     * control - {<OpenLayers.Control>} 
+     * layers - {Array(<OpenLayers.Layer.Vector>)}
+     * callbacks - {Object} An object with a 'over' property whos value is
+     *     a function to be called when the mouse is over a feature. The 
+     *     callback should expect to recieve a single argument, the feature.
+     * options - {Object} 
+     */
+    initialize: function(control, layer, callbacks, options) {
+        OpenLayers.Handler.prototype.initialize.apply(this, [control, callbacks, options]);
+        this.layer = layer;
+    },
+
+
+    /**
+     * Method: mousedown
+     * Handle mouse down.  Stop propagation if a feature is targeted by this
+     *     event (stops map dragging during feature selection).
+     * 
+     * Parameters:
+     * evt - {Event} 
+     */
+    mousedown: function(evt) {
+        this.down = evt.xy;
+        return this.handle(evt) ? !this.stopDown : true;
+    },
+    
+    /**
+     * Method: mouseup
+     * Handle mouse up.  Stop propagation if a feature is targeted by this
+     *     event.
+     * 
+     * Parameters:
+     * evt - {Event} 
+     */
+    mouseup: function(evt) {
+        this.up = evt.xy;
+        return this.handle(evt) ? !this.stopUp : true;
+    },
+
+    /**
+     * Method: click
+     * Handle click.  Call the "click" callback if click on a feature,
+     *     or the "clickout" callback if click outside any feature.
+     * 
+     * Parameters:
+     * evt - {Event} 
+     *
+     * Returns:
+     * {Boolean}
+     */
+    click: function(evt) {
+        return this.handle(evt) ? !this.stopClick : true;
+    },
+        
+    /**
+     * Method: mousemove
+     * Handle mouse moves.  Call the "over" callback if moving in to a feature,
+     *     or the "out" callback if moving out of a feature.
+     * 
+     * Parameters:
+     * evt - {Event} 
+     *
+     * Returns:
+     * {Boolean}
+     */
+    mousemove: function(evt) {
+        this.handle(evt);
+        return true;
+    },
+    
+    /**
+     * Method: dblclick
+     * Handle dblclick.  Call the "dblclick" callback if dblclick on a feature.
+     *
+     * Parameters:
+     * evt - {Event} 
+     *
+     * Returns:
+     * {Boolean}
+     */
+    dblclick: function(evt) {
+        return !this.handle(evt);
+    },
+
+    /**
+     * Method: geometryTypeMatches
+     * Return true if the geometry type of the passed feature matches
+     *     one of the geometry types in the geometryTypes array.
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Vector.Feature>}
+     *
+     * Returns:
+     * {Boolean}
+     */
+    geometryTypeMatches: function(feature) {
+        return this.geometryTypes == null ||
+            OpenLayers.Util.indexOf(this.geometryTypes,
+                                    feature.geometry.CLASS_NAME) > -1;
+    },
+
+    /**
+     * Method: handle
+     *
+     * Parameters:
+     * evt - {Event}
+     *
+     * Returns:
+     * {Boolean} The event occurred over a relevant feature.
+     */
+    handle: function(evt) {
+        var type = evt.type;
+        var handled = false;
+        var previouslyIn = !!(this.feature); // previously in a feature
+        var click = (type == "click" || type == "dblclick");
+        this.feature = this.layer.getFeatureFromEvent(evt);
+        if(this.feature) {
+            var inNew = (this.feature != this.lastFeature);
+            if(this.geometryTypeMatches(this.feature)) {
+                // in to a feature
+                if(previouslyIn && inNew) {
+                    // out of last feature and in to another
+                    this.triggerCallback(type, 'out', [this.lastFeature]);
+                    this.triggerCallback(type, 'in', [this.feature]);
+                } else if(!previouslyIn || click) {
+                    // in feature for the first time
+                    this.triggerCallback(type, 'in', [this.feature]);
+                }
+                this.lastFeature = this.feature;
+                handled = true;
+            } else {
+                // not in to a feature
+                if(previouslyIn && inNew || (click && this.lastFeature)) {
+                    // out of last feature for the first time
+                    this.triggerCallback(type, 'out', [this.lastFeature]);
+                }
+                // next time the mouse goes in a feature whose geometry type
+                // doesn't match we don't want to call the 'out' callback
+                // again, so let's set this.feature to null so that
+                // previouslyIn will evaluate to false the next time
+                // we enter handle. Yes, a bit hackish...
+                this.feature = null;
+            }
+        } else {
+            if(previouslyIn || (click && this.lastFeature)) {
+                this.triggerCallback(type, 'out', [this.lastFeature]);
+            }
+        }
+        return handled;
+    },
+    
+    /**
+     * Method: triggerCallback
+     * Call the callback keyed in the event map with the supplied arguments.
+     *     For click out, the <clickoutTolerance> is checked first.
+     *
+     * Parameters:
+     * type - {String}
+     */
+    triggerCallback: function(type, mode, args) {
+        var key = this.EVENTMAP[type][mode];
+        if(key) {
+            if(type == 'click' && mode == 'out' && this.up && this.down) {
+                // for clickout, only trigger callback if tolerance is met
+                var dpx = Math.sqrt(
+                    Math.pow(this.up.x - this.down.x, 2) +
+                    Math.pow(this.up.y - this.down.y, 2)
+                );
+                if(dpx <= this.clickoutTolerance) {
+                    this.callback(key, args);
+                }
+            } else {
+                this.callback(key, args);
+            }
+        }
+    },
+
+    /**
+     * Method: activate 
+     * Turn on the handler.  Returns false if the handler was already active.
+     *
+     * Returns:
+     * {Boolean}
+     */
+    activate: function() {
+        var activated = false;
+        if(OpenLayers.Handler.prototype.activate.apply(this, arguments)) {
+            this.layerIndex = this.layer.div.style.zIndex;
+            this.layer.div.style.zIndex = this.map.Z_INDEX_BASE['Popup'] - 1;
+            activated = true;
+        }
+        return activated;
+    },
+    
+    /**
+     * Method: activate 
+     * Turn of the handler.  Returns false if the handler was already active.
+     *
+     * Returns: 
+     * {Boolean}
+     */
+    deactivate: function() {
+        var deactivated = false;
+        if(OpenLayers.Handler.prototype.deactivate.apply(this, arguments)) {
+            if (this.layer && this.layer.div) {
+                this.layer.div.style.zIndex = this.layerIndex;
+            }
+            this.feature = null;
+            this.lastFeature = null;
+            this.down = null;
+            this.up = null;
+            deactivated = true;
+        }
+        return deactivated;
+    },
+
+    CLASS_NAME: "OpenLayers.Handler.Feature"
+});
+/* ======================================================================
+    OpenLayers/Handler/Hover.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the clear BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/license.txt 
+ * for the full text of the license. */
+
+/**
+ * @requires OpenLayers/Handler.js
+ */
+
+/**
+ * Class: OpenLayers.Handler.Hover
+ * The hover handler is to be used to emulate mouseovers on objects
+ *      on the map that aren't DOM elements. For example one can use
+ *      this handler to send WMS/GetFeatureInfo requests as the user
+ *      moves the mouve over the map.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Handler> 
+ */
+OpenLayers.Handler.Hover = OpenLayers.Class(OpenLayers.Handler, {
+
+    /**
+     * APIProperty: delay
+     * {Integer} - Number of milliseconds between mousemoves before
+     *      the event is considered a hover. Default is 500.
+     */
+    delay: 500,
+    
+    /**
+     * APIProperty: pixelTolerance
+     * {Integer} - Maximum number of pixels between mousemoves for
+     *      an event to be considered a hover. Default is null.
+     */
+    pixelTolerance: null,
+
+    /**
+     * APIProperty: stopMove
+     * {Boolean} Stop other listeners from being notified on mousemoves.
+     *      Default is false.
+     */
+    stopMove: false,
+
+    /**
+     * Property: px
+     * {<OpenLayers.Pixel>} The location of the last mousemove, expressed
+     *      in pixels.
+     */
+    px: null,
+
+    /**
+     * Property: timerId
+     * {Number} The id of the timer.
+     */
+    timerId: null,
+ 
+    /**
+     * Constructor: OpenLayers.Handler.Hover
+     * Construct a hover handler.
+     *
+     * Parameters:
+     * control - {<OpenLayers.Control>} The control that initialized this
+     *     handler.  The control is assumed to have a valid map property; that
+     *     map is used in the handler's own setMap method.
+     * callbacks - {Object} An object whose properties correspond to abstracted
+     *     events or sequences of browser events.  The values for these
+     *     properties are functions defined by the control that get called by
+     *     the handler.
+     * options - {Object} An optional object whose properties will be set on
+     *     the handler.
+     */
+    initialize: function(control, callbacks, options) {
+        OpenLayers.Handler.prototype.initialize.apply(this, arguments);
+    },
+
+    /**
+     * Method: mousemove
+     * Called when the mouse moves on the map.
+     *
+     * Parameters:
+     * evt - {<OpenLayers.Event>}
+     *
+     * Returns:
+     * {Boolean} Continue propagating this event.
+     */
+    mousemove: function(evt) {
+        if(this.passesTolerance(evt.xy)) {
+            this.clearTimer();
+            this.callback('move', [evt]);
+            this.px = evt.xy;
+            // clone the evt so original properties can be accessed even
+            // if the browser deletes them during the delay
+            evt = OpenLayers.Util.extend({}, evt);
+            this.timerId = window.setTimeout(
+                OpenLayers.Function.bind(this.delayedCall, this, evt),
+                this.delay
+            );
+        }
+        return !this.stopMove;
+    },
+
+    /**
+     * Method: mouseout
+     * Called when the mouse goes out of the map.
+     *
+     * Parameters:
+     * evt - {<OpenLayers.Event>}
+     *
+     * Returns:
+     * {Boolean} Continue propagating this event.
+     */
+    mouseout: function(evt) {
+        if (OpenLayers.Util.mouseLeft(evt, this.map.div)) {
+            this.clearTimer();
+            this.callback('move', [evt]);
+        }
+        return true;
+    },
+
+    /**
+     * Method: passesTolerance
+     * Determine whether the mouse move is within the optional pixel tolerance.
+     *
+     * Parameters:
+     * px - {<OpenLayers.Pixel>}
+     *
+     * Returns:
+     * {Boolean} The mouse move is within the pixel tolerance.
+     */
+    passesTolerance: function(px) {
+        var passes = true;
+        if(this.pixelTolerance && this.px) {
+            var dpx = Math.sqrt(
+                Math.pow(this.px.x - px.x, 2) +
+                Math.pow(this.px.y - px.y, 2)
+            );
+            if(dpx < this.pixelTolerance) {
+                passes = false;
+            }
+        }
+        return passes;
+    },
+
+    /**
+     * Method: clearTimer
+     * Clear the timer and set <timerId> to null.
+     */
+    clearTimer: function() {
+        if(this.timerId != null) {
+            window.clearTimeout(this.timerId);
+            this.timerId = null;
+        }
+    },
+
+    /**
+     * Method: delayedCall
+     * Triggers pause callback.
+     *
+     * Parameters:
+     * evt - {<OpenLayers.Event>}
+     */
+    delayedCall: function(evt) {
+        this.callback('pause', [evt]);
+    },
+
+    /**
+     * APIMethod: deactivate
+     * Deactivate the handler.
+     *
+     * Returns:
+     * {Boolean} The handler was successfully deactivated.
+     */
+    deactivate: function() {
+        var deactivated = false;
+        if(OpenLayers.Handler.prototype.deactivate.apply(this, arguments)) {
+            this.clearTimer();
+            deactivated = true;
+        }
+        return deactivated;
+    },
+
+    CLASS_NAME: "OpenLayers.Handler.Hover"
+});
+/* ======================================================================
+    OpenLayers/Handler/Keyboard.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Handler.js
+ * @requires OpenLayers/Events.js
+ */
+
+/**
+ * Class: OpenLayers.handler.Keyboard
+ * A handler for keyboard events.  Create a new instance with the
+ *     <OpenLayers.Handler.Keyboard> constructor.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Handler> 
+ */
+OpenLayers.Handler.Keyboard = OpenLayers.Class(OpenLayers.Handler, {
+
+    /* http://www.quirksmode.org/js/keys.html explains key x-browser
+        key handling quirks in pretty nice detail */
+
+    /** 
+     * Constant: KEY_EVENTS
+     * keydown, keypress, keyup
+     */
+    KEY_EVENTS: ["keydown", "keypress", "keyup"],
+
+    /** 
+    * Property: eventListener
+    * {Function}
+    */
+    eventListener: null,
+
+    /**
+     * Constructor: OpenLayers.Handler.Keyboard
+     * Returns a new keyboard handler.
+     * 
+     * Parameters:
+     * control - {<OpenLayers.Control>} The control that is making use of
+     *     this handler.  If a handler is being used without a control, the
+     *     handlers setMap method must be overridden to deal properly with
+     *     the map.
+     * callbacks - {Object} An object containing a single function to be
+     *     called when the drag operation is finished. The callback should
+     *     expect to recieve a single argument, the pixel location of the event.
+     *     Callbacks for 'keydown', 'keypress', and 'keyup' are supported.
+     * options - {Object} Optional object whose properties will be set on the
+     *     handler.
+     */
+    initialize: function(control, callbacks, options) {
+        OpenLayers.Handler.prototype.initialize.apply(this, arguments);
+        // cache the bound event listener method so it can be unobserved later
+        this.eventListener = OpenLayers.Function.bindAsEventListener(
+            this.handleKeyEvent, this
+        );
+    },
+    
+    /**
+     * Method: destroy
+     */
+    destroy: function() {
+        this.deactivate();
+        this.eventListener = null;
+        OpenLayers.Handler.prototype.destroy.apply(this, arguments);
+    },
+
+    /**
+     * Method: activate
+     */
+    activate: function() {
+        if (OpenLayers.Handler.prototype.activate.apply(this, arguments)) {
+            for (var i = 0; i < this.KEY_EVENTS.length; i++) {
+                OpenLayers.Event.observe(
+                    window, this.KEY_EVENTS[i], this.eventListener);
+            }
+            return true;
+        } else {
+            return false;
+        }
+    },
+
+    /**
+     * Method: deactivate
+     */
+    deactivate: function() {
+        var deactivated = false;
+        if (OpenLayers.Handler.prototype.deactivate.apply(this, arguments)) {
+            for (var i = 0; i < this.KEY_EVENTS.length; i++) {
+                OpenLayers.Event.stopObserving(
+                    window, this.KEY_EVENTS[i], this.eventListener);
+            }
+            deactivated = true;
+        }
+        return deactivated;
+    },
+
+    /**
+     * Method: handleKeyEvent 
+     */
+    handleKeyEvent: function (evt) {
+        if (this.checkModifiers(evt)) {
+            this.callback(evt.type, [evt.charCode || evt.keyCode]);
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Handler.Keyboard"
+});
+/* ======================================================================
+    OpenLayers/Handler/MouseWheel.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Handler.js
+ */
+
+/**
+ * Class: OpenLayers.Handler.MouseWheel
+ * Handler for wheel up/down events.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Handler>
+ */
+OpenLayers.Handler.MouseWheel = OpenLayers.Class(OpenLayers.Handler, {
+    /** 
+     * Property: wheelListener 
+     * {function} 
+     */
+    wheelListener: null,
+
+    /** 
+     * Property: mousePosition
+     * {<OpenLayers.Pixel>} mousePosition is necessary because
+     * evt.clientX/Y is buggy in Moz on wheel events, so we cache and use the
+     * value from the last mousemove.
+     */
+    mousePosition: null,
+
+    /**
+     * Constructor: OpenLayers.Handler.MouseWheel
+     *
+     * Parameters:
+     * control - {<OpenLayers.Control>} 
+     * callbacks - {Object} An object containing a single function to be
+     *                          called when the drag operation is finished.
+     *                          The callback should expect to recieve a single
+     *                          argument, the point geometry.
+     * options - {Object} 
+     */
+    initialize: function(control, callbacks, options) {
+        OpenLayers.Handler.prototype.initialize.apply(this, arguments);
+        this.wheelListener = OpenLayers.Function.bindAsEventListener(
+            this.onWheelEvent, this
+        );
+    },
+
+    /**
+     * Method: destroy
+     */    
+    destroy: function() {
+        OpenLayers.Handler.prototype.destroy.apply(this, arguments);
+        this.wheelListener = null;
+    },
+
+    /**
+     *  Mouse ScrollWheel code thanks to http://adomas.org/javascript-mouse-wheel/
+     */
+
+    /** 
+     * Method: onWheelEvent
+     * Catch the wheel event and handle it xbrowserly
+     * 
+     * Parameters:
+     * e - {Event} 
+     */
+    onWheelEvent: function(e){
+        
+        // make sure we have a map and check keyboard modifiers
+        if (!this.map || !this.checkModifiers(e)) {
+            return;
+        }
+        
+        // Ride up the element's DOM hierarchy to determine if it or any of 
+        //  its ancestors was: 
+        //   * specifically marked as scrollable
+        //   * one of our layer divs
+        //   * the map div
+        //
+        var overScrollableDiv = false;
+        var overLayerDiv = false;
+        var overMapDiv = false;
+        
+        var elem = OpenLayers.Event.element(e);
+        while((elem != null) && !overMapDiv && !overScrollableDiv) {
+
+            if (!overScrollableDiv) {
+                try {
+                    if (elem.currentStyle) {
+                        overflow = elem.currentStyle["overflow"];
+                    } else {
+                        var style = 
+                            document.defaultView.getComputedStyle(elem, null);
+                        var overflow = style.getPropertyValue("overflow");
+                    }
+                    overScrollableDiv = ( overflow && 
+                        (overflow == "auto") || (overflow == "scroll") );
+                } catch(err) {
+                    //sometimes when scrolling in a popup, this causes 
+                    // obscure browser error
+                }
+            }
+
+            if (!overLayerDiv) {
+                for(var i=0; i < this.map.layers.length; i++) {
+                    // Are we in the layer div? Note that we have two cases
+                    // here: one is to catch EventPane layers, which have a 
+                    // pane above the layer (layer.pane)
+                    if (elem == this.map.layers[i].div 
+                        || elem == this.map.layers[i].pane) { 
+                        overLayerDiv = true;
+                        break;
+                    }
+                }
+            }
+            overMapDiv = (elem == this.map.div);
+
+            elem = elem.parentNode;
+        }
+        
+        // Logic below is the following:
+        //
+        // If we are over a scrollable div or not over the map div:
+        //  * do nothing (let the browser handle scrolling)
+        //
+        //    otherwise 
+        // 
+        //    If we are over the layer div: 
+        //     * zoom/in out
+        //     then
+        //     * kill event (so as not to also scroll the page after zooming)
+        //
+        //       otherwise
+        //
+        //       Kill the event (dont scroll the page if we wheel over the 
+        //        layerswitcher or the pan/zoom control)
+        //
+        if (!overScrollableDiv && overMapDiv) {
+            if (overLayerDiv) {
+                this.wheelZoom(e);
+            }
+            OpenLayers.Event.stop(e);
+        }
+    },
+
+    /**
+     * Method: wheelZoom
+     * Given the wheel event, we carry out the appropriate zooming in or out,
+     *     based on the 'wheelDelta' or 'detail' property of the event.
+     * 
+     * Parameters:
+     * e - {Event}
+     */
+    wheelZoom: function(e) {
+        
+        var delta = 0;
+        if (!e) {
+            e = window.event;
+        }
+        if (e.wheelDelta) {
+            delta = e.wheelDelta/120; 
+            if (window.opera && window.opera.version() < 9.2) {
+                delta = -delta;
+            }
+        } else if (e.detail) {
+            delta = -e.detail / 3;
+        }
+        if (delta) {
+            // add the mouse position to the event because mozilla has 
+            // a bug with clientX and clientY (see 
+            // https://bugzilla.mozilla.org/show_bug.cgi?id=352179)
+            // getLonLatFromViewPortPx(e) returns wrong values
+            if (this.mousePosition) {
+                e.xy = this.mousePosition;
+            } 
+            if (!e.xy) {
+                // If the mouse hasn't moved over the map yet, then
+                // we don't have a mouse position (in FF), so we just
+                // act as if the mouse was at the center of the map.
+                // Note that we can tell we are in the map -- and 
+                // this.map is ensured to be true above.
+                e.xy = this.map.getPixelFromLonLat(
+                    this.map.getCenter()
+                );
+            }
+            if (delta < 0) {
+               this.callback("down", [e, delta]);
+            } else {
+               this.callback("up", [e, delta]);
+            }
+        }
+    },
+    
+    /**
+     * Method: mousemove
+     * Update the stored mousePosition on every move.
+     * 
+     * Parameters:
+     * evt - {Event} The browser event
+     *
+     * Returns: 
+     * {Boolean} Allow event propagation
+     */
+    mousemove: function (evt) {
+        this.mousePosition = evt.xy;
+    },
+
+    /**
+     * Method: activate 
+     */
+    activate: function (evt) {
+        if (OpenLayers.Handler.prototype.activate.apply(this, arguments)) {
+            //register mousewheel events specifically on the window and document
+            var wheelListener = this.wheelListener;
+            OpenLayers.Event.observe(window, "DOMMouseScroll", wheelListener);
+            OpenLayers.Event.observe(window, "mousewheel", wheelListener);
+            OpenLayers.Event.observe(document, "mousewheel", wheelListener);
+            return true;
+        } else {
+            return false;
+        }
+    },
+
+    /**
+     * Method: deactivate 
+     */
+    deactivate: function (evt) {
+        if (OpenLayers.Handler.prototype.deactivate.apply(this, arguments)) {
+            // unregister mousewheel events specifically on the window and document
+            var wheelListener = this.wheelListener;
+            OpenLayers.Event.stopObserving(window, "DOMMouseScroll", wheelListener);
+            OpenLayers.Event.stopObserving(window, "mousewheel", wheelListener);
+            OpenLayers.Event.stopObserving(document, "mousewheel", wheelListener);
+            return true;
+        } else {
+            return false;
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Handler.MouseWheel"
+});
+/* ======================================================================
+    OpenLayers/Layer.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Map.js
+ * @requires OpenLayers/Projection.js
+ */
+
+/**
+ * Class: OpenLayers.Layer
+ */
+OpenLayers.Layer = OpenLayers.Class({
+
+    /**
+     * APIProperty: id
+     * {String}
+     */
+    id: null,
+
+    /** 
+     * APIProperty: name
+     * {String}
+     */
+    name: null,
+
+    /** 
+     * APIProperty: div
+     * {DOMElement}
+     */
+    div: null,
+
+    /**
+     * Property: opacity
+     * {Float} The layer's opacity. Float number between 0.0 and 1.0.
+     */
+    opacity: null,
+
+    /**
+     * Constant: EVENT_TYPES
+     * {Array(String)} Supported application event types.  Register a listener
+     *     for a particular event with the following syntax:
+     * (code)
+     * layer.events.register(type, obj, listener);
+     * (end)
+     *
+     * Listeners will be called with a reference to an event object.  The
+     *     properties of this event depends on exactly what happened.
+     *
+     * All event objects have at least the following properties:
+     *  - *object* {Object} A reference to layer.events.object.
+     *  - *element* {DOMElement} A reference to layer.events.element.
+     *
+     * Supported map event types:
+     *  - *loadstart* Triggered when layer loading starts.
+     *  - *loadend* Triggered when layer loading ends.
+     *  - *loadcancel* Triggered when layer loading is canceled.
+     *  - *visibilitychanged* Triggered when layer visibility is changed.
+     */
+    EVENT_TYPES: ["loadstart", "loadend", "loadcancel", "visibilitychanged"],
+        
+    /**
+     * APIProperty: events
+     * {<OpenLayers.Events>}
+     */
+    events: null,
+
+    /**
+     * APIProperty: map
+     * {<OpenLayers.Map>} This variable is set when the layer is added to 
+     *     the map, via the accessor function setMap().
+     */
+    map: null,
+    
+    /**
+     * APIProperty: isBaseLayer
+     * {Boolean} Whether or not the layer is a base layer. This should be set 
+     *     individually by all subclasses. Default is false
+     */
+    isBaseLayer: false,
+ 
+    /**
+     * Property: alpha
+     * {Boolean} The layer's images have an alpha channel.  Default is false. 
+     */
+    alpha: false,
+
+    /** 
+     * APIProperty: displayInLayerSwitcher
+     * {Boolean} Display the layer's name in the layer switcher.  Default is
+     *     true.
+     */
+    displayInLayerSwitcher: true,
+
+    /**
+     * APIProperty: visibility
+     * {Boolean} The layer should be displayed in the map.  Default is true.
+     */
+    visibility: true,
+
+    /**
+     * APIProperty: attribution
+     * {String} Attribution string, displayed when an 
+     *     <OpenLayers.Control.Attribution> has been added to the map.
+     */
+    attribution: null, 
+
+    /** 
+     * Property: inRange
+     * {Boolean} The current map resolution is within the layer's min/max 
+     *     range. This is set in <OpenLayers.Map.setCenter> whenever the zoom 
+     *     changes.
+     */
+    inRange: false,
+    
+    /**
+     * Propery: imageSize
+     * {<OpenLayers.Size>} For layers with a gutter, the image is larger than 
+     *     the tile by twice the gutter in each dimension.
+     */
+    imageSize: null,
+    
+    /**
+     * Property: imageOffset
+     * {<OpenLayers.Pixel>} For layers with a gutter, the image offset 
+     *     represents displacement due to the gutter.
+     */
+    imageOffset: null,
+
+  // OPTIONS
+
+    /** 
+     * Property: options
+     * {Object} An optional object whose properties will be set on the layer.
+     *     Any of the layer properties can be set as a property of the options
+     *     object and sent to the constructor when the layer is created.
+     */
+    options: null,
+
+    /**
+     * APIProperty: eventListeners
+     * {Object} If set as an option at construction, the eventListeners
+     *     object will be registered with <OpenLayers.Events.on>.  Object
+     *     structure must be a listeners object as shown in the example for
+     *     the events.on method.
+     */
+    eventListeners: null,
+
+    /**
+     * APIProperty: gutter
+     * {Integer} Determines the width (in pixels) of the gutter around image
+     *     tiles to ignore.  By setting this property to a non-zero value,
+     *     images will be requested that are wider and taller than the tile
+     *     size by a value of 2 x gutter.  This allows artifacts of rendering
+     *     at tile edges to be ignored.  Set a gutter value that is equal to
+     *     half the size of the widest symbol that needs to be displayed.
+     *     Defaults to zero.  Non-tiled layers always have zero gutter.
+     */ 
+    gutter: 0, 
+
+    /**
+     * APIProperty: projection
+     * {<OpenLayers.Projection>} or {<String>} Set in the layer options to
+     *     override the default projection string this layer - also set maxExtent,
+     *     maxResolution, and units if appropriate. Can be either a string or
+     *     an <OpenLayers.Projection> object when created -- will be converted
+     *     to an object when setMap is called if a string is passed.  
+     */
+    projection: null,    
+    
+    /**
+     * APIProperty: units
+     * {String} The layer map units.  Defaults to 'degrees'.  Possible values
+     *     are 'degrees' (or 'dd'), 'm', 'ft', 'km', 'mi', 'inches'.
+     */
+    units: null,
+
+    /**
+     * APIProperty: scales
+     * {Array}  An array of map scales in descending order.  The values in the
+     *     array correspond to the map scale denominator.  Note that these
+     *     values only make sense if the display (monitor) resolution of the
+     *     client is correctly guessed by whomever is configuring the
+     *     application.  In addition, the units property must also be set.
+     *     Use <resolutions> instead wherever possible.
+     */
+    scales: null,
+
+    /**
+     * APIProperty: resolutions
+     * {Array} A list of map resolutions (map units per pixel) in descending
+     *     order.  If this is not set in the layer constructor, it will be set
+     *     based on other resolution related properties (maxExtent,
+     *     maxResolution, maxScale, etc.).
+     */
+    resolutions: null,
+    
+    /**
+     * APIProperty: maxExtent
+     * {<OpenLayers.Bounds>}  The center of these bounds will not stray outside
+     *     of the viewport extent during panning.  In addition, if
+     *     <displayOutsideMaxExtent> is set to false, data will not be
+     *     requested that falls completely outside of these bounds.
+     */
+    maxExtent: null,
+    
+    /**
+     * APIProperty: minExtent
+     * {<OpenLayers.Bounds>}
+     */
+    minExtent: null,
+    
+    /**
+     * APIProperty: maxResolution
+     * {Float} Default max is 360 deg / 256 px, which corresponds to
+     *     zoom level 0 on gmaps.  Specify a different value in the layer 
+     *     options if you are not using a geographic projection and 
+     *     displaying the whole world.
+     */
+    maxResolution: null,
+
+    /**
+     * APIProperty: minResolution
+     * {Float}
+     */
+    minResolution: null,
+
+    /**
+     * APIProperty: numZoomLevels
+     * {Integer}
+     */
+    numZoomLevels: null,
+   
+    /**
+     * APIProperty: minScale
+     * {Float}
+     */
+    minScale: null,
+    
+    /**
+     * APIProperty: maxScale
+     * {Float}
+     */
+    maxScale: null,
+
+    /**
+     * APIProperty: displayOutsideMaxExtent
+     * {Boolean} Request map tiles that are completely outside of the max 
+     *     extent for this layer. Defaults to false.
+     */
+    displayOutsideMaxExtent: false,
+
+    /**
+     * APIProperty: wrapDateLine
+     * {Boolean} #487 for more info.   
+     */
+    wrapDateLine: false,
+    
+    /**
+     * APIProperty: transitionEffect
+     * {String} The transition effect to use when the map is panned or
+     *     zoomed.  
+     *
+     * There are currently two supported values:
+     *  - *null* No transition effect (the default).
+     *  - *resize*  Existing tiles are resized on zoom to provide a visual
+     *    effect of the zoom having taken place immediately.  As the
+     *    new tiles become available, they are drawn over top of the
+     *    resized tiles.
+     */
+    transitionEffect: null,
+    
+    /**
+     * Property: SUPPORTED_TRANSITIONS
+     * {Array} An immutable (that means don't change it!) list of supported 
+     *     transitionEffect values.
+     */
+    SUPPORTED_TRANSITIONS: ['resize'],
+    
+    /**
+     * Constructor: OpenLayers.Layer
+     *
+     * Parameters:
+     * name - {String} The layer name
+     * options - {Object} Hashtable of extra options to tag onto the layer
+     */
+    initialize: function(name, options) {
+
+        this.addOptions(options);
+
+        this.name = name;
+        
+        if (this.id == null) {
+
+            this.id = OpenLayers.Util.createUniqueID(this.CLASS_NAME + "_");
+
+            this.div = OpenLayers.Util.createDiv(this.id);
+            this.div.style.width = "100%";
+            this.div.style.height = "100%";
+
+            this.events = new OpenLayers.Events(this, this.div, 
+                                                this.EVENT_TYPES);
+            if(this.eventListeners instanceof Object) {
+                this.events.on(this.eventListeners);
+            }
+
+        }
+
+        if (this.wrapDateLine) {
+            this.displayOutsideMaxExtent = true;
+        }
+    },
+    
+    /**
+     * Method: destroy
+     * Destroy is a destructor: this is to alleviate cyclic references which
+     *     the Javascript garbage cleaner can not take care of on its own.
+     *
+     * Parameters:
+     * setNewBaseLayer - {Boolean} Set a new base layer when this layer has
+     *     been destroyed.  Default is true.
+     */
+    destroy: function(setNewBaseLayer) {
+        if (setNewBaseLayer == null) {
+            setNewBaseLayer = true;
+        }
+        if (this.map != null) {
+            this.map.removeLayer(this, setNewBaseLayer);
+        }
+        this.projection = null;
+        this.map = null;
+        this.name = null;
+        this.div = null;
+        this.options = null;
+
+        if (this.events) {
+            if(this.eventListeners) {
+                this.events.un(this.eventListeners);
+            }
+            this.events.destroy();
+        }
+        this.eventListeners = null;
+        this.events = null;
+    },
+    
+   /**
+    * Method: clone
+    *
+    * Parameters:
+    * obj - {<OpenLayers.Layer>} The layer to be cloned
+    *
+    * Returns:
+    * {<OpenLayers.Layer>} An exact clone of this <OpenLayers.Layer>
+    */
+    clone: function (obj) {
+        
+        if (obj == null) {
+            obj = new OpenLayers.Layer(this.name, this.options);
+        } 
+        
+        // catch any randomly tagged-on properties
+        OpenLayers.Util.applyDefaults(obj, this);
+        
+        // a cloned layer should never have its map property set
+        //  because it has not been added to a map yet. 
+        obj.map = null;
+        
+        return obj;
+    },
+    
+    /** 
+     * APIMethod: setName
+     * Sets the new layer name for this layer.  Can trigger a changelayer event
+     *     on the map.
+     *
+     * Parameters:
+     * newName - {String} The new name.
+     */
+    setName: function(newName) {
+        if (newName != this.name) {
+            this.name = newName;
+            if (this.map != null) {
+                this.map.events.triggerEvent("changelayer", {
+                    layer: this,
+                    property: "name"
+                });
+            }
+        }
+    },    
+    
+   /**
+    * APIMethod: addOptions
+    * 
+    * Parameters:
+    * newOptions - {Object}
+    */
+    addOptions: function (newOptions) {
+        
+        if (this.options == null) {
+            this.options = {};
+        }
+        
+        // update our copy for clone
+        OpenLayers.Util.extend(this.options, newOptions);
+
+        // add new options to this
+        OpenLayers.Util.extend(this, newOptions);
+    },
+    
+    /**
+     * APIMethod: onMapResize
+     * This function can be implemented by subclasses
+     */
+    onMapResize: function() {
+        //this function can be implemented by subclasses  
+    },
+
+    /**
+     * APIMethod: redraw
+     * Redraws the layer.  Returns true if the layer was redrawn, false if not.
+     *
+     * Returns:
+     * {Boolean} The layer was redrawn.
+     */
+    redraw: function() {
+        var redrawn = false;
+        if (this.map) {
+
+            // min/max Range may have changed
+            this.inRange = this.calculateInRange();
+
+            // map's center might not yet be set
+            var extent = this.getExtent();
+
+            if (extent && this.inRange && this.visibility) {
+                this.moveTo(extent, true, false);
+                redrawn = true;
+            }
+        }
+        return redrawn;
+    },
+
+    /**
+     * Method: moveTo
+     * 
+     * Parameters:
+     * bound - {<OpenLayers.Bounds>}
+     * zoomChanged - {Boolean} Tells when zoom has changed, as layers have to
+     *     do some init work in that case.
+     * dragging - {Boolean}
+     */
+    moveTo:function(bounds, zoomChanged, dragging) {
+        var display = this.visibility;
+        if (!this.isBaseLayer) {
+            display = display && this.inRange;
+        }
+        this.display(display);
+    },
+
+    /**
+     * Method: setMap
+     * Set the map property for the layer. This is done through an accessor
+     *     so that subclasses can override this and take special action once 
+     *     they have their map variable set. 
+     * 
+     *     Here we take care to bring over any of the necessary default 
+     *     properties from the map. 
+     * 
+     * Parameters:
+     * map - {<OpenLayers.Map>}
+     */
+    setMap: function(map) {
+        if (this.map == null) {
+        
+            this.map = map;
+            
+            // grab some essential layer data from the map if it hasn't already
+            //  been set
+            this.maxExtent = this.maxExtent || this.map.maxExtent;
+            this.projection = this.projection || this.map.projection;
+            
+            if (this.projection && typeof this.projection == "string") {
+                this.projection = new OpenLayers.Projection(this.projection);
+            }
+            
+            // Check the projection to see if we can get units -- if not, refer
+            // to properties.
+            this.units = this.projection.getUnits() ||
+                         this.units || this.map.units;
+            
+            this.initResolutions();
+            
+            if (!this.isBaseLayer) {
+                this.inRange = this.calculateInRange();
+                var show = ((this.visibility) && (this.inRange));
+                this.div.style.display = show ? "" : "none";
+            }
+            
+            // deal with gutters
+            this.setTileSize();
+        }
+    },
+    
+    /**
+     * APIMethod: removeMap
+     * Just as setMap() allows each layer the possibility to take a 
+     *     personalized action on being added to the map, removeMap() allows
+     *     each layer to take a personalized action on being removed from it. 
+     *     For now, this will be mostly unused, except for the EventPane layer,
+     *     which needs this hook so that it can remove the special invisible
+     *     pane. 
+     * 
+     * Parameters:
+     * map - {<OpenLayers.Map>}
+     */
+    removeMap: function(map) {
+        //to be overridden by subclasses
+    },
+    
+    /**
+     * APIMethod: getImageSize
+     * 
+     * Returns:
+     * {<OpenLayers.Size>} The size that the image should be, taking into 
+     *     account gutters.
+     */ 
+    getImageSize: function() { 
+        return (this.imageSize || this.tileSize); 
+    },    
+  
+    /**
+     * APIMethod: setTileSize
+     * Set the tile size based on the map size.  This also sets layer.imageSize
+     *     and layer.imageOffset for use by Tile.Image.
+     * 
+     * Parameters:
+     * size - {<OpenLayers.Size>}
+     */
+    setTileSize: function(size) {
+        var tileSize = (size) ? size :
+                                ((this.tileSize) ? this.tileSize :
+                                                   this.map.getTileSize());
+        this.tileSize = tileSize;
+        if(this.gutter) {
+          // layers with gutters need non-null tile sizes
+          //if(tileSize == null) {
+          //    OpenLayers.console.error("Error in layer.setMap() for " +
+          //                              this.name + ": layers with " +
+          //                              "gutters need non-null tile sizes");
+          //}
+            this.imageOffset = new OpenLayers.Pixel(-this.gutter, 
+                                                    -this.gutter); 
+            this.imageSize = new OpenLayers.Size(tileSize.w + (2*this.gutter), 
+                                                 tileSize.h + (2*this.gutter)); 
+        }
+    },
+
+    /**
+     * APIMethod: getVisibility
+     * 
+     * Returns:
+     * {Boolean} The layer should be displayed (if in range).
+     */
+    getVisibility: function() {
+        return this.visibility;
+    },
+
+    /** 
+     * APIMethod: setVisibility
+     * Set the visibility flag for the layer and hide/show & redraw 
+     *     accordingly. Fire event unless otherwise specified
+     * 
+     * Note that visibility is no longer simply whether or not the layer's
+     *     style.display is set to "block". Now we store a 'visibility' state 
+     *     property on the layer class, this allows us to remember whether or 
+     *     not we *desire* for a layer to be visible. In the case where the 
+     *     map's resolution is out of the layer's range, this desire may be 
+     *     subverted.
+     * 
+     * Parameters:
+     * visible - {Boolean} Whether or not to display the layer (if in range)
+     */
+    setVisibility: function(visibility) {
+        if (visibility != this.visibility) {
+            this.visibility = visibility;
+            this.display(visibility);
+            this.redraw();
+            if (this.map != null) {
+                this.map.events.triggerEvent("changelayer", {
+                    layer: this,
+                    property: "visibility"
+                });
+            }
+            this.events.triggerEvent("visibilitychanged");
+        }
+    },
+
+    /** 
+     * APIMethod: display
+     * Hide or show the Layer
+     * 
+     * Parameters:
+     * display - {Boolean}
+     */
+    display: function(display) {
+        var inRange = this.calculateInRange();
+        if (display != (this.div.style.display != "none")) {
+            this.div.style.display = (display && inRange) ? "block" : "none";
+        }
+    },
+
+    /**
+     * Method: calculateInRange
+     * 
+     * Returns:
+     * {Boolean} The layer is displayable at the current map's current
+     *     resolution.
+     */
+    calculateInRange: function() {
+        var inRange = false;
+        if (this.map) {
+            var resolution = this.map.getResolution();
+            inRange = ( (resolution >= this.minResolution) &&
+                        (resolution <= this.maxResolution) );
+        }
+        return inRange;
+    },
+
+    /** 
+     * APIMethod: setIsBaseLayer
+     * 
+     * Parameters:
+     * isBaseLayer - {Boolean}
+     */
+    setIsBaseLayer: function(isBaseLayer) {
+        if (isBaseLayer != this.isBaseLayer) {
+            this.isBaseLayer = isBaseLayer;
+            if (this.map != null) {
+                this.map.events.triggerEvent("changebaselayer", {
+                    layer: this
+                });
+            }
+        }
+    },
+
+  /********************************************************/
+  /*                                                      */
+  /*                 Baselayer Functions                  */
+  /*                                                      */
+  /********************************************************/
+  
+    /** 
+     * Method: initResolutions
+     * This method's responsibility is to set up the 'resolutions' array 
+     *     for the layer -- this array is what the layer will use to interface
+     *     between the zoom levels of the map and the resolution display 
+     *     of the layer.
+     * 
+     * The user has several options that determine how the array is set up.
+     *  
+     * For a detailed explanation, see the following wiki from the 
+     *     openlayers.org homepage:
+     *     http://trac.openlayers.org/wiki/SettingZoomLevels
+     */
+    initResolutions: function() {
+
+        // These are the relevant options which are used for calculating 
+        //  resolutions information.
+        //
+        var props = new Array(
+          'projection', 'units',
+          'scales', 'resolutions',
+          'maxScale', 'minScale', 
+          'maxResolution', 'minResolution', 
+          'minExtent', 'maxExtent',
+          'numZoomLevels', 'maxZoomLevel'
+        );
+
+        // First we create a new object where we will store all of the 
+        //  resolution-related properties that we find in either the layer's
+        //  'options' array or from the map.
+        //
+        var confProps = {};        
+        for(var i=0; i < props.length; i++) {
+            var property = props[i];
+            confProps[property] = this.options[property] || this.map[property];
+        }
+
+        // Do not use the scales/resolutions at the map level if
+        // minScale/minResolution and maxScale/maxResolution are
+        // specified at the layer level
+        if (this.options.minScale != null &&
+            this.options.maxScale != null &&
+            this.options.scales == null) {
+            confProps.scales = null;
+        }
+        if (this.options.minResolution != null &&
+            this.options.maxResolution != null &&
+            this.options.resolutions == null) {
+            confProps.resolutions = null;
+        }
+
+        // If numZoomLevels hasn't been set and the maxZoomLevel *has*, 
+        //  then use maxZoomLevel to calculate numZoomLevels
+        //
+        if ( (!confProps.numZoomLevels) && (confProps.maxZoomLevel) ) {
+            confProps.numZoomLevels = confProps.maxZoomLevel + 1;
+        }
+
+        // First off, we take whatever hodge-podge of values we have and 
+        //  calculate/distill them down into a resolutions[] array
+        //
+        if ((confProps.scales != null) || (confProps.resolutions != null)) {
+          //preset levels
+            if (confProps.scales != null) {
+                confProps.resolutions = [];
+                for(var i = 0; i < confProps.scales.length; i++) {
+                    var scale = confProps.scales[i];
+                    confProps.resolutions[i] = 
+                       OpenLayers.Util.getResolutionFromScale(scale, 
+                                                              confProps.units);
+                }
+            }
+            confProps.numZoomLevels = confProps.resolutions.length;
+
+        } else {
+          //maxResolution and numZoomLevels based calculation
+
+            // determine maxResolution
+            if (confProps.minScale) {
+                confProps.maxResolution = 
+                    OpenLayers.Util.getResolutionFromScale(confProps.minScale, 
+                                                           confProps.units);
+            } else if (confProps.maxResolution == "auto") {
+                var viewSize = this.map.getSize();
+                var wRes = confProps.maxExtent.getWidth() / viewSize.w;
+                var hRes = confProps.maxExtent.getHeight()/ viewSize.h;
+                confProps.maxResolution = Math.max(wRes, hRes);
+            } 
+
+            // determine minResolution
+            if (confProps.maxScale != null) {           
+                confProps.minResolution = 
+                    OpenLayers.Util.getResolutionFromScale(confProps.maxScale, 
+                                                           confProps.units);
+            } else if ( (confProps.minResolution == "auto") && 
+                        (confProps.minExtent != null) ) {
+                var viewSize = this.map.getSize();
+                var wRes = confProps.minExtent.getWidth() / viewSize.w;
+                var hRes = confProps.minExtent.getHeight()/ viewSize.h;
+                confProps.minResolution = Math.max(wRes, hRes);
+            } 
+
+            // determine numZoomLevels if not already set on the layer
+            // this gives numZoomLevels assuming approximately base 2 scaling
+            if (confProps.minResolution != null &&
+                this.options.numZoomLevels == undefined) {
+                var ratio = confProps.maxResolution / confProps.minResolution;
+                confProps.numZoomLevels = 
+                    Math.floor(Math.log(ratio) / Math.log(2)) + 1;
+            }
+            
+            // now we have numZoomLevels and maxResolution, 
+            //  we can populate the resolutions array
+            confProps.resolutions = new Array(confProps.numZoomLevels);
+            var base = 2;
+            if(typeof confProps.minResolution == "number" &&
+               confProps.numZoomLevels > 1) {
+                /**
+                 * If maxResolution and minResolution are set (or related
+                 * scale properties), we calculate the base for exponential
+                 * scaling that starts at maxResolution and ends at
+                 * minResolution in numZoomLevels steps.
+                 */
+                base = Math.pow(
+                    (confProps.maxResolution / confProps.minResolution),
+                    (1 / (confProps.numZoomLevels - 1))
+                );
+            }
+            for (var i=0; i < confProps.numZoomLevels; i++) {
+                var res = confProps.maxResolution / Math.pow(base, i);
+                confProps.resolutions[i] = res;
+            }
+        }
+        
+        //sort resolutions array ascendingly
+        //
+        confProps.resolutions.sort( function(a, b) { return(b-a); } );
+
+        // now set our newly calculated values back to the layer 
+        //  Note: We specifically do *not* set them to layer.options, which we 
+        //        will preserve as it was when we added this layer to the map. 
+        //        this way cloned layers reset themselves to new map div 
+        //        dimensions)
+        //
+
+        this.resolutions = confProps.resolutions;
+        this.maxResolution = confProps.resolutions[0];
+        var lastIndex = confProps.resolutions.length - 1;
+        this.minResolution = confProps.resolutions[lastIndex];
+        
+        this.scales = [];
+        for(var i = 0; i < confProps.resolutions.length; i++) {
+            this.scales[i] = 
+               OpenLayers.Util.getScaleFromResolution(confProps.resolutions[i], 
+                                                      confProps.units);
+        }
+        this.minScale = this.scales[0];
+        this.maxScale = this.scales[this.scales.length - 1];
+        
+        this.numZoomLevels = confProps.numZoomLevels;
+    },
+
+    /**
+     * APIMethod: getResolution
+     * 
+     * Returns:
+     * {Float} The currently selected resolution of the map, taken from the
+     *     resolutions array, indexed by current zoom level.
+     */
+    getResolution: function() {
+        var zoom = this.map.getZoom();
+        return this.getResolutionForZoom(zoom);
+    },
+
+    /** 
+     * APIMethod: getExtent
+     * 
+     * Returns:
+     * {<OpenLayers.Bounds>} A Bounds object which represents the lon/lat 
+     *     bounds of the current viewPort.
+     */
+    getExtent: function() {
+        // just use stock map calculateBounds function -- passing no arguments
+        //  means it will user map's current center & resolution
+        //
+        return this.map.calculateBounds();
+    },
+
+    /**
+     * APIMethod: getZoomForExtent
+     * 
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     * closest - {Boolean} Find the zoom level that most closely fits the 
+     *     specified bounds. Note that this may result in a zoom that does 
+     *     not exactly contain the entire extent.
+     *     Default is false.
+     *
+     * Returns:
+     * {Integer} The index of the zoomLevel (entry in the resolutions array) 
+     *     for the passed-in extent. We do this by calculating the ideal 
+     *     resolution for the given extent (based on the map size) and then 
+     *     calling getZoomForResolution(), passing along the 'closest'
+     *     parameter.
+     */
+    getZoomForExtent: function(extent, closest) {
+        var viewSize = this.map.getSize();
+        var idealResolution = Math.max( extent.getWidth()  / viewSize.w,
+                                        extent.getHeight() / viewSize.h );
+
+        return this.getZoomForResolution(idealResolution, closest);
+    },
+    
+    /** 
+     * Method: getDataExtent
+     * Calculates the max extent which includes all of the data for the layer.
+     *     This function is to be implemented by subclasses.
+     * 
+     * Returns:
+     * {<OpenLayers.Bounds>}
+     */
+    getDataExtent: function () {
+        //to be implemented by subclasses
+    },
+
+    /**
+     * APIMethod: getResolutionForZoom
+     * 
+     * Parameter:
+     * zoom - {Float}
+     * 
+     * Returns:
+     * {Float} A suitable resolution for the specified zoom.
+     */
+    getResolutionForZoom: function(zoom) {
+        zoom = Math.max(0, Math.min(zoom, this.resolutions.length - 1));
+        var resolution;
+        if(this.map.fractionalZoom) {
+            var low = Math.floor(zoom);
+            var high = Math.ceil(zoom);
+            resolution = this.resolutions[high] +
+                ((zoom-low) * (this.resolutions[low]-this.resolutions[high]));
+        } else {
+            resolution = this.resolutions[Math.round(zoom)];
+        }
+        return resolution;
+    },
+
+    /**
+     * APIMethod: getZoomForResolution
+     * 
+     * Parameters:
+     * resolution - {Float}
+     * closest - {Boolean} Find the zoom level that corresponds to the absolute 
+     *     closest resolution, which may result in a zoom whose corresponding
+     *     resolution is actually smaller than we would have desired (if this
+     *     is being called from a getZoomForExtent() call, then this means that
+     *     the returned zoom index might not actually contain the entire 
+     *     extent specified... but it'll be close).
+     *     Default is false.
+     * 
+     * Returns:
+     * {Integer} The index of the zoomLevel (entry in the resolutions array) 
+     *     that corresponds to the best fit resolution given the passed in 
+     *     value and the 'closest' specification.
+     */
+    getZoomForResolution: function(resolution, closest) {
+        var zoom;
+        if(this.map.fractionalZoom) {
+            var lowZoom = 0;
+            var highZoom = this.resolutions.length - 1;
+            var highRes = this.resolutions[lowZoom];
+            var lowRes = this.resolutions[highZoom];
+            var res;
+            for(var i=0; i<this.resolutions.length; ++i) {
+                res = this.resolutions[i];
+                if(res >= resolution) {
+                    highRes = res;
+                    lowZoom = i;
+                }
+                if(res <= resolution) {
+                    lowRes = res;
+                    highZoom = i;
+                    break;
+                }
+            }
+            var dRes = highRes - lowRes;
+            if(dRes > 0) {
+                zoom = lowZoom + ((resolution - lowRes) / dRes);
+            } else {
+                zoom = lowZoom;
+            }
+        } else {
+            var diff;
+            var minDiff = Number.POSITIVE_INFINITY;
+            for(var i=0; i < this.resolutions.length; i++) {            
+                if (closest) {
+                    diff = Math.abs(this.resolutions[i] - resolution);
+                    if (diff > minDiff) {
+                        break;
+                    }
+                    minDiff = diff;
+                } else {
+                    if (this.resolutions[i] < resolution) {
+                        break;
+                    }
+                }
+            }
+            zoom = Math.max(0, i-1);
+        }
+        return zoom;
+    },
+    
+    /**
+     * APIMethod: getLonLatFromViewPortPx
+     * 
+     * Parameters:
+     * viewPortPx - {<OpenLayers.Pixel>}
+     *
+     * Returns:
+     * {<OpenLayers.LonLat>} An OpenLayers.LonLat which is the passed-in 
+     *     view port <OpenLayers.Pixel>, translated into lon/lat by the layer.
+     */
+    getLonLatFromViewPortPx: function (viewPortPx) {
+        var lonlat = null;
+        if (viewPortPx != null) {
+            var size = this.map.getSize();
+            var center = this.map.getCenter();
+            if (center) {
+                var res  = this.map.getResolution();
+        
+                var delta_x = viewPortPx.x - (size.w / 2);
+                var delta_y = viewPortPx.y - (size.h / 2);
+            
+                lonlat = new OpenLayers.LonLat(center.lon + delta_x * res ,
+                                             center.lat - delta_y * res); 
+
+                if (this.wrapDateLine) {
+                    lonlat = lonlat.wrapDateLine(this.maxExtent);
+                }
+            } // else { DEBUG STATEMENT }
+        }
+        return lonlat;
+    },
+
+    /**
+     * APIMethod: getViewPortPxFromLonLat
+     * 
+     * Parameters:
+     * lonlat - {<OpenLayers.LonLat>}
+     *
+     * Returns: 
+     * {<OpenLayers.Pixel>} An <OpenLayers.Pixel> which is the passed-in 
+     *     <OpenLayers.LonLat>,translated into view port pixels.
+     */
+    getViewPortPxFromLonLat: function (lonlat) {
+        var px = null; 
+        if (lonlat != null) {
+            var resolution = this.map.getResolution();
+            var extent = this.map.getExtent();
+            px = new OpenLayers.Pixel(
+                Math.round(1/resolution * (lonlat.lon - extent.left)),
+                Math.round(1/resolution * (extent.top - lonlat.lat))
+            );    
+        }
+        return px;
+    },
+    
+    /**
+     * APIMethod: setOpacity
+     * Sets the opacity for the entire layer (all images)
+     * 
+     * Parameter:
+     * opacity - {Float}
+     */
+    setOpacity: function(opacity) {
+        if (opacity != this.opacity) {
+            this.opacity = opacity;
+            for(var i=0; i<this.div.childNodes.length; ++i) {
+                var element = this.div.childNodes[i].firstChild;
+                OpenLayers.Util.modifyDOMElement(element, null, null, null, 
+                                                 null, null, null, opacity);
+            }
+        }
+    },
+
+    /**
+     * Method: setZIndex
+     * 
+     * Parameters: 
+     * zIndex - {Integer}
+     */    
+    setZIndex: function (zIndex) {
+        this.div.style.zIndex = zIndex;
+    },
+
+    /**
+     * Method: adjustBounds
+     * This function will take a bounds, and if wrapDateLine option is set
+     *     on the layer, it will return a bounds which is wrapped around the 
+     *     world. We do not wrap for bounds which *cross* the 
+     *     maxExtent.left/right, only bounds which are entirely to the left 
+     *     or entirely to the right.
+     * 
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     */
+    adjustBounds: function (bounds) {
+
+        if (this.gutter) {
+            // Adjust the extent of a bounds in map units by the 
+            // layer's gutter in pixels.
+            var mapGutter = this.gutter * this.map.getResolution();
+            bounds = new OpenLayers.Bounds(bounds.left - mapGutter,
+                                           bounds.bottom - mapGutter,
+                                           bounds.right + mapGutter,
+                                           bounds.top + mapGutter);
+        }
+
+        if (this.wrapDateLine) {
+            // wrap around the date line, within the limits of rounding error
+            var wrappingOptions = { 
+                'rightTolerance':this.getResolution()
+            };    
+            bounds = bounds.wrapDateLine(this.maxExtent, wrappingOptions);
+                              
+        }
+        return bounds;
+    },
+
+    CLASS_NAME: "OpenLayers.Layer"
+});
+/* ======================================================================
+    OpenLayers/Marker/Box.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Marker.js
+ */
+
+/**
+ * Class: OpenLayers.Marker.Box
+ *
+ * Inherits from:
+ *  - <OpenLayers.Marker> 
+ */
+OpenLayers.Marker.Box = OpenLayers.Class(OpenLayers.Marker, {
+
+    /** 
+     * Property: bounds 
+     * {<OpenLayers.Bounds>} 
+     */
+    bounds: null,
+
+    /** 
+     * Property: div 
+     * {DOMElement} 
+     */
+    div: null,
+    
+    /** 
+     * Constructor: OpenLayers.Marker.Box
+     *
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>} 
+     * borderColor - {String} 
+     * borderWidth - {int} 
+     */
+    initialize: function(bounds, borderColor, borderWidth) {
+        this.bounds = bounds;
+        this.div    = OpenLayers.Util.createDiv();
+        this.div.style.overflow = 'hidden';
+        this.events = new OpenLayers.Events(this, this.div, null);
+        this.setBorder(borderColor, borderWidth);
+    },
+
+    /**
+     * Method: destroy 
+     */    
+    destroy: function() {
+
+        this.bounds = null;
+        this.div = null;
+
+        OpenLayers.Marker.prototype.destroy.apply(this, arguments);
+    },
+
+    /** 
+     * Method: setBorder
+     * Allow the user to change the box's color and border width
+     * 
+     * Parameters:
+     * color - {String} Default is "red"
+     * width - {int} Default is 2
+     */
+    setBorder: function (color, width) {
+        if (!color) {
+            color = "red";
+        }
+        if (!width) {
+            width = 2;
+        }
+        this.div.style.border = width + "px solid " + color;
+    },
+    
+    /** 
+    * Method: draw
+    * 
+    * Parameters:
+    * px - {<OpenLayers.Pixel>} 
+    * sz - {<OpenLayers.Size>} 
+    * 
+    * Returns: 
+    * {DOMElement} A new DOM Image with this marker�s icon set at the 
+    *         location passed-in
+    */
+    draw: function(px, sz) {
+        OpenLayers.Util.modifyDOMElement(this.div, null, px, sz);
+        return this.div;
+    }, 
+
+    /**
+     * Method: onScreen
+     * 
+     * Rreturn:
+     * {Boolean} Whether or not the marker is currently visible on screen.
+     */
+    onScreen:function() {
+        var onScreen = false;
+        if (this.map) {
+            var screenBounds = this.map.getExtent();
+            onScreen = screenBounds.containsBounds(this.bounds, true, true);
+        }    
+        return onScreen;
+    },
+    
+    /**
+     * Method: display
+     * Hide or show the icon
+     * 
+     * Parameters:
+     * display - {Boolean} 
+     */
+    display: function(display) {
+        this.div.style.display = (display) ? "" : "none";
+    },
+
+    CLASS_NAME: "OpenLayers.Marker.Box"
+});
+
+/* ======================================================================
+    OpenLayers/Popup/FramedCloud.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Popup/Framed.js
+ * @requires OpenLayers/Util.js
+ */
+
+/**
+ * Class: OpenLayers.Popup.FramedCloud
+ * 
+ * Inherits from: 
+ *  - <OpenLayers.Popup.Framed>
+ */
+OpenLayers.Popup.FramedCloud = 
+  OpenLayers.Class(OpenLayers.Popup.Framed, {
+
+    /**
+     * APIProperty: autoSize
+     * {Boolean} Framed Cloud is autosizing by default.
+     */
+    autoSize: true,
+
+    /**
+     * APIProperty: panMapIfOutOfView
+     * {Boolean} Framed Cloud does pan into view by default.
+     */
+    panMapIfOutOfView: true,
+
+    /**
+     * APIProperty: imageSize
+     * {<OpenLayers.Size>}
+     */
+    imageSize: new OpenLayers.Size(676, 736),
+
+    /**
+     * APIProperty: isAlphaImage
+     * {Boolean} The FramedCloud does not use an alpha image (in honor of the 
+     *     good ie6 folk out there)
+     */
+    isAlphaImage: false,
+
+    /** 
+     * APIProperty: fixedRelativePosition
+     * {Boolean} The Framed Cloud popup works in just one fixed position.
+     */
+    fixedRelativePosition: false,
+
+    /**
+     * Property: positionBlocks
+     * {Object} Hash of differen position blocks, keyed by relativePosition
+     *     two-character code string (ie "tl", "tr", "bl", "br")
+     */
+    positionBlocks: {
+        "tl": {
+            'offset': new OpenLayers.Pixel(44, 0),
+            'padding': new OpenLayers.Bounds(8, 40, 8, 9),
+            'blocks': [
+                { // top-left
+                    size: new OpenLayers.Size('auto', 'auto'),
+                    anchor: new OpenLayers.Bounds(0, 51, 22, 0),
+                    position: new OpenLayers.Pixel(0, 0)
+                },
+                { //top-right
+                    size: new OpenLayers.Size(22, 'auto'),
+                    anchor: new OpenLayers.Bounds(null, 50, 0, 0),
+                    position: new OpenLayers.Pixel(-638, 0)
+                },
+                { //bottom-left
+                    size: new OpenLayers.Size('auto', 21),
+                    anchor: new OpenLayers.Bounds(0, 32, 80, null),
+                    position: new OpenLayers.Pixel(0, -629)
+                },
+                { //bottom-right
+                    size: new OpenLayers.Size(22, 21),
+                    anchor: new OpenLayers.Bounds(null, 32, 0, null),
+                    position: new OpenLayers.Pixel(-638, -629)
+                },
+                { // stem
+                    size: new OpenLayers.Size(81, 54),
+                    anchor: new OpenLayers.Bounds(null, 0, 0, null),
+                    position: new OpenLayers.Pixel(0, -668)
+                }
+            ]
+        },
+        "tr": {
+            'offset': new OpenLayers.Pixel(-45, 0),
+            'padding': new OpenLayers.Bounds(8, 40, 8, 9),
+            'blocks': [
+                { // top-left
+                    size: new OpenLayers.Size('auto', 'auto'),
+                    anchor: new OpenLayers.Bounds(0, 51, 22, 0),
+                    position: new OpenLayers.Pixel(0, 0)
+                },
+                { //top-right
+                    size: new OpenLayers.Size(22, 'auto'),
+                    anchor: new OpenLayers.Bounds(null, 50, 0, 0),
+                    position: new OpenLayers.Pixel(-638, 0)
+                },
+                { //bottom-left
+                    size: new OpenLayers.Size('auto', 21),
+                    anchor: new OpenLayers.Bounds(0, 32, 22, null),
+                    position: new OpenLayers.Pixel(0, -629)
+                },
+                { //bottom-right
+                    size: new OpenLayers.Size(22, 21),
+                    anchor: new OpenLayers.Bounds(null, 32, 0, null),
+                    position: new OpenLayers.Pixel(-638, -629)
+                },
+                { // stem
+                    size: new OpenLayers.Size(81, 54),
+                    anchor: new OpenLayers.Bounds(0, 0, null, null),
+                    position: new OpenLayers.Pixel(-215, -668)
+                }
+            ]
+        },
+        "bl": {
+            'offset': new OpenLayers.Pixel(45, 0),
+            'padding': new OpenLayers.Bounds(8, 9, 8, 40),
+            'blocks': [
+                { // top-left
+                    size: new OpenLayers.Size('auto', 'auto'),
+                    anchor: new OpenLayers.Bounds(0, 21, 22, 32),
+                    position: new OpenLayers.Pixel(0, 0)
+                },
+                { //top-right
+                    size: new OpenLayers.Size(22, 'auto'),
+                    anchor: new OpenLayers.Bounds(null, 21, 0, 32),
+                    position: new OpenLayers.Pixel(-638, 0)
+                },
+                { //bottom-left
+                    size: new OpenLayers.Size('auto', 21),
+                    anchor: new OpenLayers.Bounds(0, 0, 22, null),
+                    position: new OpenLayers.Pixel(0, -629)
+                },
+                { //bottom-right
+                    size: new OpenLayers.Size(22, 21),
+                    anchor: new OpenLayers.Bounds(null, 0, 0, null),
+                    position: new OpenLayers.Pixel(-638, -629)
+                },
+                { // stem
+                    size: new OpenLayers.Size(81, 54),
+                    anchor: new OpenLayers.Bounds(null, null, 0, 0),
+                    position: new OpenLayers.Pixel(-101, -674)
+                }
+            ]
+        },
+        "br": {
+            'offset': new OpenLayers.Pixel(-44, 0),
+            'padding': new OpenLayers.Bounds(8, 9, 8, 40),
+            'blocks': [
+                { // top-left
+                    size: new OpenLayers.Size('auto', 'auto'),
+                    anchor: new OpenLayers.Bounds(0, 21, 22, 32),
+                    position: new OpenLayers.Pixel(0, 0)
+                },
+                { //top-right
+                    size: new OpenLayers.Size(22, 'auto'),
+                    anchor: new OpenLayers.Bounds(null, 21, 0, 32),
+                    position: new OpenLayers.Pixel(-638, 0)
+                },
+                { //bottom-left
+                    size: new OpenLayers.Size('auto', 21),
+                    anchor: new OpenLayers.Bounds(0, 0, 22, null),
+                    position: new OpenLayers.Pixel(0, -629)
+                },
+                { //bottom-right
+                    size: new OpenLayers.Size(22, 21),
+                    anchor: new OpenLayers.Bounds(null, 0, 0, null),
+                    position: new OpenLayers.Pixel(-638, -629)
+                },
+                { // stem
+                    size: new OpenLayers.Size(81, 54),
+                    anchor: new OpenLayers.Bounds(0, null, null, 0),
+                    position: new OpenLayers.Pixel(-311, -674)
+                }
+            ]
+        }
+    },
+
+    /**
+     * APIProperty: minSize
+     * {<OpenLayers.Size>}
+     */
+    minSize: new OpenLayers.Size(105, 10),
+
+    /**
+     * APIProperty: maxSize
+     * {<OpenLayers.Size>}
+     */
+    maxSize: new OpenLayers.Size(600, 660),
+
+    /** 
+     * Constructor: OpenLayers.Popup.FramedCloud
+     * 
+     * Parameters:
+     * id - {String}
+     * lonlat - {<OpenLayers.LonLat>}
+     * size - {<OpenLayers.Size>}
+     * contentHTML - {String}
+     * anchor - {Object} Object to which we'll anchor the popup. Must expose 
+     *     a 'size' (<OpenLayers.Size>) and 'offset' (<OpenLayers.Pixel>) 
+     *     (Note that this is generally an <OpenLayers.Icon>).
+     * closeBox - {Boolean}
+     * closeBoxCallback - {Function} Function to be called on closeBox click.
+     */
+    initialize:function(id, lonlat, size, contentHTML, anchor, closeBox, 
+                        closeBoxCallback) {
+
+        this.imageSrc = OpenLayers.Util.getImagesLocation() + 'cloud-popup-relative.png';
+        OpenLayers.Popup.Framed.prototype.initialize.apply(this, arguments);
+        this.contentDiv.className = "olFramedCloudPopupContent";
+    },
+
+    /** 
+     * APIMethod: destroy
+     */
+    destroy: function() {
+        OpenLayers.Popup.Framed.prototype.destroy.apply(this, arguments);
+    },
+
+    CLASS_NAME: "OpenLayers.Popup.FramedCloud"
+});
+/* ======================================================================
+    OpenLayers/Control/DragFeature.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Control.js
+ * @requires OpenLayers/Handler/Drag.js
+ * @requires OpenLayers/Handler/Feature.js
+ */
+
+/**
+ * Class: OpenLayers.Control.DragFeature
+ * Move a feature with a drag.  Create a new control with the
+ *     <OpenLayers.Control.DragFeature> constructor.
+ *
+ * Inherits From:
+ *  - <OpenLayers.Control>
+ */
+OpenLayers.Control.DragFeature = OpenLayers.Class(OpenLayers.Control, {
+
+    /**
+     * APIProperty: geometryTypes
+     * {Array(String)} To restrict dragging to a limited set of geometry types,
+     *     send a list of strings corresponding to the geometry class names.
+     */
+    geometryTypes: null,
+    
+    /**
+     * APIProperty: onStart
+     * {Function} Define this function if you want to know when a drag starts.
+     *     The function should expect to receive two arguments: the feature
+     *     that is about to be dragged and the pixel location of the mouse.
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>} The feature that is about to be
+     *     dragged.
+     * pixel - {<OpenLayers.Pixel>} The pixel location of the mouse.
+     */
+    onStart: function(feature, pixel) {},
+
+    /**
+     * APIProperty: onDrag
+     * {Function} Define this function if you want to know about each move of a
+     *     feature. The function should expect to receive two arguments: the
+     *     feature that is being dragged and the pixel location of the mouse.
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>} The feature that was dragged.
+     * pixel - {<OpenLayers.Pixel>} The pixel location of the mouse.
+     */
+    onDrag: function(feature, pixel) {},
+
+    /**
+     * APIProperty: onComplete
+     * {Function} Define this function if you want to know when a feature is
+     *     done dragging. The function should expect to receive two arguments:
+     *     the feature that is being dragged and the pixel location of the
+     *     mouse.
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>} The feature that was dragged.
+     * pixel - {<OpenLayers.Pixel>} The pixel location of the mouse.
+     */
+    onComplete: function(feature, pixel) {},
+
+    /**
+     * Property: layer
+     * {<OpenLayers.Layer.Vector>}
+     */
+    layer: null,
+    
+    /**
+     * Property: feature
+     * {<OpenLayers.Feature.Vector>}
+     */
+    feature: null,
+
+    /**
+     * Property: dragCallbacks
+     * {Object} The functions that are sent to the drag handler for callback.
+     */
+    dragCallbacks: {},
+
+    /**
+     * Property: featureCallbacks
+     * {Object} The functions that are sent to the feature handler for callback.
+     */
+    featureCallbacks: {},
+    
+    /**
+     * Property: lastPixel
+     * {<OpenLayers.Pixel>}
+     */
+    lastPixel: null,
+
+    /**
+     * Constructor: OpenLayers.Control.DragFeature
+     * Create a new control to drag features.
+     *
+     * Parameters:
+     * layer - {<OpenLayers.Layer.Vector>} The layer containing features to be
+     *     dragged.
+     * options - {Object} Optional object whose properties will be set on the
+     *     control.
+     */
+    initialize: function(layer, options) {
+        OpenLayers.Control.prototype.initialize.apply(this, [options]);
+        this.layer = layer;
+        this.handlers = {
+            drag: new OpenLayers.Handler.Drag(
+                this, OpenLayers.Util.extend({
+                    down: this.downFeature,
+                    move: this.moveFeature,
+                    up: this.upFeature,
+                    out: this.cancel,
+                    done: this.doneDragging
+                }, this.dragCallbacks)
+            ),
+            feature: new OpenLayers.Handler.Feature(
+                this, this.layer, OpenLayers.Util.extend({
+                    over: this.overFeature,
+                    out: this.outFeature
+                }, this.featureCallbacks),
+                {geometryTypes: this.geometryTypes}
+            )
+        };
+    },
+    
+    /**
+     * APIMethod: destroy
+     * Take care of things that are not handled in superclass
+     */
+    destroy: function() {
+        this.layer = null;
+        OpenLayers.Control.prototype.destroy.apply(this, []);
+    },
+
+    /**
+     * APIMethod: activate
+     * Activate the control and the feature handler.
+     * 
+     * Returns:
+     * {Boolean} Successfully activated the control and feature handler.
+     */
+    activate: function() {
+        return (this.handlers.feature.activate() &&
+                OpenLayers.Control.prototype.activate.apply(this, arguments));
+    },
+
+    /**
+     * APIMethod: deactivate
+     * Deactivate the control and all handlers.
+     * 
+     * Returns:
+     * {Boolean} Successfully deactivated the control.
+     */
+    deactivate: function() {
+        // the return from the handlers is unimportant in this case
+        this.handlers.drag.deactivate();
+        this.handlers.feature.deactivate();
+        this.feature = null;
+        this.dragging = false;
+        this.lastPixel = null;
+        return OpenLayers.Control.prototype.deactivate.apply(this, arguments);
+    },
+
+    /**
+     * Method: overFeature
+     * Called when the feature handler detects a mouse-over on a feature.
+     *     This activates the drag handler.
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>} The selected feature.
+     */
+    overFeature: function(feature) {
+        if(!this.handlers.drag.dragging) {
+            this.feature = feature;
+            this.handlers.drag.activate();
+            this.over = true;
+            // TBD replace with CSS classes
+            this.map.div.style.cursor = "move";
+        } else {
+            if(this.feature.id == feature.id) {
+                this.over = true;
+            } else {
+                this.over = false;
+            }
+        }
+    },
+
+    /**
+     * Method: downFeature
+     * Called when the drag handler detects a mouse-down.
+     *
+     * Parameters:
+     * pixel - {<OpenLayers.Pixel>} Location of the mouse event.
+     */
+    downFeature: function(pixel) {
+        this.lastPixel = pixel;
+        this.onStart(this.feature, pixel);
+    },
+
+    /**
+     * Method: moveFeature
+     * Called when the drag handler detects a mouse-move.  Also calls the
+     *     optional onDrag method.
+     * 
+     * Parameters:
+     * pixel - {<OpenLayers.Pixel>} Location of the mouse event.
+     */
+    moveFeature: function(pixel) {
+        var res = this.map.getResolution();
+        this.feature.geometry.move(res * (pixel.x - this.lastPixel.x),
+                                   res * (this.lastPixel.y - pixel.y));
+        this.layer.drawFeature(this.feature);
+        this.lastPixel = pixel;
+        this.onDrag(this.feature, pixel);
+    },
+
+    /**
+     * Method: upFeature
+     * Called when the drag handler detects a mouse-up.  Also calls the
+     *     optional onComplete method.
+     * 
+     * Parameters:
+     * pixel - {<OpenLayers.Pixel>} Location of the mouse event.
+     */
+    upFeature: function(pixel) {
+        if(!this.over) {
+            this.handlers.drag.deactivate();
+            this.feature = null;
+            // TBD replace with CSS classes
+            this.map.div.style.cursor = "default";
+        }
+    },
+
+    /**
+     * Method: doneDragging
+     * Called when the drag handler is done dragging.
+     *
+     * Parameters:
+     * pixel - {<OpenLayers.Pixel>} The last event pixel location.  If this event
+     *     came from a mouseout, this may not be in the map viewport.
+     */
+    doneDragging: function(pixel) {
+        this.onComplete(this.feature, pixel);
+    },
+
+    /**
+     * Method: outFeature
+     * Called when the feature handler detects a mouse-out on a feature.
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>} The feature that the mouse left.
+     */
+    outFeature: function(feature) {
+        if(!this.handlers.drag.dragging) {
+            this.over = false;
+            this.handlers.drag.deactivate();
+            // TBD replace with CSS classes
+            this.map.div.style.cursor = "default";
+            this.feature = null;
+        } else {
+            if(this.feature.id == feature.id) {
+                this.over = false;
+            }
+        }
+    },
+        
+    /**
+     * Method: cancel
+     * Called when the drag handler detects a mouse-out (from the map viewport).
+     */
+    cancel: function() {
+        this.handlers.drag.deactivate();
+        this.over = false;
+    },
+
+    /**
+     * Method: setMap
+     * Set the map property for the control and all handlers.
+     *
+     * Parameters: 
+     * map - {<OpenLayers.Map>} The control's map.
+     */
+    setMap: function(map) {
+        this.handlers.drag.setMap(map);
+        this.handlers.feature.setMap(map);
+        OpenLayers.Control.prototype.setMap.apply(this, arguments);
+    },
+
+    CLASS_NAME: "OpenLayers.Control.DragFeature"
+});
+/* ======================================================================
+    OpenLayers/Control/DragPan.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Control.js
+ * @requires OpenLayers/Handler/Drag.js
+ */
+
+/**
+ * Class: OpenLayers.Control.DragPan
+ * DragPan control.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Control>
+ */
+OpenLayers.Control.DragPan = OpenLayers.Class(OpenLayers.Control, {
+
+    /** 
+     * Property: type
+     * {OpenLayers.Control.TYPES}
+     */
+    type: OpenLayers.Control.TYPE_TOOL,
+    
+    /**
+     * Property: panned
+     * {Boolean} The map moved.
+     */
+    panned: false,
+    
+    /**
+     * Method: draw
+     * Creates a Drag handler, using <OpenLayers.Control.PanMap.panMap> and
+     * <OpenLayers.Control.PanMap.panMapDone> as callbacks.
+     */    
+    draw: function() {
+        this.handler = new OpenLayers.Handler.Drag(this,
+                            {"move": this.panMap, "done": this.panMapDone});
+    },
+
+    /**
+    * Method: panMap
+    *
+    * Parameters:
+    * xy - {<OpenLayers.Pixel>} Pixel of the mouse position
+    */
+    panMap: function(xy) {
+        this.panned = true;
+        this.map.pan(
+            this.handler.last.x - xy.x,
+            this.handler.last.y - xy.y,
+            {dragging: this.handler.dragging, animate: false}
+        );
+    },
+    
+    /**
+     * Method: panMapDone
+     * Finish the panning operation.  Only call setCenter (through <panMap>)
+     *     if the map has actually been moved.
+     *
+     * Parameters:
+     * xy - {<OpenLayers.Pixel>} Pixel of the mouse position
+     */
+    panMapDone: function(xy) {
+        if(this.panned) {
+            this.panMap(xy);
+            this.panned = false;
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Control.DragPan"
+});
+/* ======================================================================
+    OpenLayers/Control/KeyboardDefaults.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Control.js
+ * @requires OpenLayers/Handler/Keyboard.js
+ */
+
+/**
+ * Class: OpenLayers.Control.KeyboardDefaults
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Control>
+ */
+OpenLayers.Control.KeyboardDefaults = OpenLayers.Class(OpenLayers.Control, {
+
+    /**
+     * APIProperty: slideFactor
+     * Pixels to slide by.
+     */
+    slideFactor: 75,
+
+    /**
+     * Constructor: OpenLayers.Control.KeyboardDefaults
+     */
+    initialize: function() {
+        OpenLayers.Control.prototype.initialize.apply(this, arguments);
+    },
+    
+    /**
+     * APIMethod: destroy
+     */
+    destroy: function() {
+        if (this.handler) {
+            this.handler.destroy();
+        }        
+        this.handler = null;
+        
+        OpenLayers.Control.prototype.destroy.apply(this, arguments);
+    },
+    
+    /**
+     * Method: draw
+     * Create handler.
+     */
+    draw: function() {
+        this.handler = new OpenLayers.Handler.Keyboard( this, { 
+                                "keypress": this.defaultKeyPress });
+        this.activate();
+    },
+    
+    /**
+     * Method: defaultKeyPress
+     *
+     * Parameters:
+     * code - {Integer} 
+     */
+    defaultKeyPress: function (code) {
+        switch(code) {
+            case OpenLayers.Event.KEY_LEFT:
+                this.map.pan(-this.slideFactor, 0);
+                break;
+            case OpenLayers.Event.KEY_RIGHT: 
+                this.map.pan(this.slideFactor, 0);
+                break;
+            case OpenLayers.Event.KEY_UP:
+                this.map.pan(0, -this.slideFactor);
+                break;
+            case OpenLayers.Event.KEY_DOWN:
+                this.map.pan(0, this.slideFactor);
+                break;
+            
+            case 33: // Page Up  
+                var size = this.map.getSize();
+                this.map.pan(0, -0.75*size.h);
+                break;
+            case 34: // Page Down  
+                var size = this.map.getSize();
+                this.map.pan(0, 0.75*size.h);
+                break; 
+            case 35: // End  
+                var size = this.map.getSize();
+                this.map.pan(0.75*size.w, 0);
+                break; 
+            case 36: // Pos1  
+                var size = this.map.getSize();
+                this.map.pan(-0.75*size.w, 0);
+                break; 
+
+            case 43: // + 
+                this.map.zoomIn();
+                break; 
+            case 45: // - 
+                this.map.zoomOut();
+                break; 
+            case 107: // + (IE only)
+                this.map.zoomIn();
+                break;
+            case 109: // - (IE only)
+                this.map.zoomOut();
+                break;
+        } 
+    },
+
+    CLASS_NAME: "OpenLayers.Control.KeyboardDefaults"
+});
+/* ======================================================================
+    OpenLayers/Feature/Vector.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+// TRASH THIS
+OpenLayers.State = {
+    /** states */
+    UNKNOWN: 'Unknown',
+    INSERT: 'Insert',
+    UPDATE: 'Update',
+    DELETE: 'Delete'
+};
+
+/**
+ * @requires OpenLayers/Feature.js
+ * @requires OpenLayers/Util.js
+ */
+
+/**
+ * Class: OpenLayers.Feature.Vector
+ * Vector features use the OpenLayers.Geometry classes as geometry description.
+ * They have an 'attributes' property, which is the data object, and a 'style'
+ * property, the default values of which are defined in the 
+ * <OpenLayers.Feature.Vector.style> objects.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Feature>
+ */
+OpenLayers.Feature.Vector = OpenLayers.Class(OpenLayers.Feature, {
+
+    /** 
+     * Property: fid 
+     * {String} 
+     */
+    fid: null,
+    
+    /** 
+     * APIProperty: geometry 
+     * {<OpenLayers.Geometry>} 
+     */
+    geometry: null,
+
+    /** 
+     * APIProperty: attributes 
+     * {Object} This object holds arbitrary properties that describe the
+     *     feature.
+     */
+    attributes: null,
+
+    /** 
+     * Property: state 
+     * {String} 
+     */
+    state: null,
+    
+    /** 
+     * APIProperty: style 
+     * {Object} 
+     */
+    style: null,
+    
+    /**
+     * Property: renderIntent
+     * {String} rendering intent currently being used
+     */
+    renderIntent: "default",
+
+    /** 
+     * Constructor: OpenLayers.Feature.Vector
+     * Create a vector feature. 
+     * 
+     * Parameters:
+     * geometry - {<OpenLayers.Geometry>} The geometry that this feature
+     *     represents.
+     * attributes - {Object} An optional object that will be mapped to the
+     *     <attributes> property. 
+     * style - {Object} An optional style object.
+     */
+    initialize: function(geometry, attributes, style) {
+        OpenLayers.Feature.prototype.initialize.apply(this,
+                                                      [null, null, attributes]);
+        this.lonlat = null;
+        this.geometry = geometry;
+        this.state = null;
+        this.attributes = {};
+        if (attributes) {
+            this.attributes = OpenLayers.Util.extend(this.attributes,
+                                                     attributes);
+        }
+        this.style = style ? style : null; 
+    },
+    
+    /** 
+     * Method: destroy
+     * nullify references to prevent circular references and memory leaks
+     */
+    destroy: function() {
+        if (this.layer) {
+            this.layer.removeFeatures(this);
+            this.layer = null;
+        }
+            
+        this.geometry = null;
+        OpenLayers.Feature.prototype.destroy.apply(this, arguments);
+    },
+    
+    /**
+     * Method: clone
+     * Create a clone of this vector feature.  Does not set any non-standard
+     *     properties.
+     *
+     * Returns:
+     * {<OpenLayers.Feature.Vector>} An exact clone of this vector feature.
+     */
+    clone: function () {
+        return new OpenLayers.Feature.Vector(this.geometry.clone(),
+                                             this.attributes,
+                                             this.style);
+    },
+
+    /**
+     * Method: onScreen
+     * Determine whether the feature is within the map viewport.  This method
+     *     tests for an intersection between the geometry and the viewport
+     *     bounds.  If a more effecient but less precise geometry bounds
+     *     intersection is desired, call the method with the boundsOnly
+     *     parameter true.
+     *
+     * Parameters:
+     * boundsOnly - {Boolean} Only test whether a feature's bounds intersects
+     *     the viewport bounds.  Default is false.  If false, the feature's
+     *     geometry must intersect the viewport for onScreen to return true.
+     * 
+     * Returns:
+     * {Boolean} The feature is currently visible on screen (optionally
+     *     based on its bounds if boundsOnly is true).
+     */
+    onScreen:function(boundsOnly) {
+        var onScreen = false;
+        if(this.layer && this.layer.map) {
+            var screenBounds = this.layer.map.getExtent();
+            if(boundsOnly) {
+                var featureBounds = this.geometry.getBounds();
+                onScreen = screenBounds.intersectsBounds(featureBounds);
+            } else {
+                var screenPoly = screenBounds.toGeometry();
+                onScreen = screenPoly.intersects(this.geometry);
+            }
+        }    
+        return onScreen;
+    },
+    
+    /**
+     * Method: createMarker
+     * HACK - we need to decide if all vector features should be able to
+     *     create markers
+     * 
+     * Returns:
+     * {<OpenLayers.Marker>} For now just returns null
+     */
+    createMarker: function() {
+        return null;
+    },
+
+    /**
+     * Method: destroyMarker
+     * HACK - we need to decide if all vector features should be able to
+     *     delete markers
+     * 
+     * If user overrides the createMarker() function, s/he should be able
+     *   to also specify an alternative function for destroying it
+     */
+    destroyMarker: function() {
+        // pass
+    },
+
+    /**
+     * Method: createPopup
+     * HACK - we need to decide if all vector features should be able to
+     *     create popups
+     * 
+     * Returns:
+     * {<OpenLayers.Popup>} For now just returns null
+     */
+    createPopup: function() {
+        return null;
+    },
+
+    /**
+     * Method: atPoint
+     * Determins whether the feature intersects with the specified location.
+     * 
+     * Parameters: 
+     * lonlat - {<OpenLayers.LonLat>} 
+     * toleranceLon - {float} Optional tolerance in Geometric Coords
+     * toleranceLat - {float} Optional tolerance in Geographic Coords
+     * 
+     * Returns:
+     * {Boolean} Whether or not the feature is at the specified location
+     */
+    atPoint: function(lonlat, toleranceLon, toleranceLat) {
+        var atPoint = false;
+        if(this.geometry) {
+            atPoint = this.geometry.atPoint(lonlat, toleranceLon, 
+                                                    toleranceLat);
+        }
+        return atPoint;
+    },
+
+    /**
+     * Method: destroyPopup
+     * HACK - we need to decide if all vector features should be able to
+     * delete popups
+     */
+    destroyPopup: function() {
+        // pass
+    },
+    
+    /**
+     * Method: toState
+     * Sets the new state
+     *
+     * Parameters:
+     * state - {String} 
+     */
+    toState: function(state) {
+        if (state == OpenLayers.State.UPDATE) {
+            switch (this.state) {
+                case OpenLayers.State.UNKNOWN:
+                case OpenLayers.State.DELETE:
+                    this.state = state;
+                    break;
+                case OpenLayers.State.UPDATE:
+                case OpenLayers.State.INSERT:
+                    break;
+            }
+        } else if (state == OpenLayers.State.INSERT) {
+            switch (this.state) {
+                case OpenLayers.State.UNKNOWN:
+                    break;
+                default:
+                    this.state = state;
+                    break;
+            }
+        } else if (state == OpenLayers.State.DELETE) {
+            switch (this.state) {
+                case OpenLayers.State.INSERT:
+                    // the feature should be destroyed
+                    break;
+                case OpenLayers.State.DELETE:
+                    break;
+                case OpenLayers.State.UNKNOWN:
+                case OpenLayers.State.UPDATE:
+                    this.state = state;
+                    break;
+            }
+        } else if (state == OpenLayers.State.UNKNOWN) {
+            this.state = state;
+        }
+    },
+    
+    CLASS_NAME: "OpenLayers.Feature.Vector"
+});
+
+
+/**
+ * Constant: OpenLayers.Feature.Vector.style
+ * OpenLayers features can have a number of style attributes. The 'default' 
+ *     style will typically be used if no other style is specified.
+ *
+ * Default style properties:
+ *
+ *  - fillColor: "#ee9900",
+ *  - fillOpacity: 0.4, 
+ *  - hoverFillColor: "white",
+ *  - hoverFillOpacity: 0.8,
+ *  - strokeColor: "#ee9900",
+ *  - strokeOpacity: 1,
+ *  - strokeWidth: 1,
+ *  - strokeLinecap: "round",
+ *  - hoverStrokeColor: "red",
+ *  - hoverStrokeOpacity: 1,
+ *  - hoverStrokeWidth: 0.2,
+ *  - pointRadius: 6,
+ *  - hoverPointRadius: 1,
+ *  - hoverPointUnit: "%",
+ *  - pointerEvents: "visiblePainted"
+ *  - cursor: ""
+ *
+ * Other style properties that have no default values:
+ *
+ *  - externalGraphic,
+ *  - graphicWidth,
+ *  - graphicHeight,
+ *  - graphicOpacity
+ *  - graphicXOffset
+ *  - graphicYOffset
+ *  - display
+ */ 
+OpenLayers.Feature.Vector.style = {
+    'default': {
+        fillColor: "#ee9900",
+        fillOpacity: 0.4, 
+        hoverFillColor: "white",
+        hoverFillOpacity: 0.8,
+        strokeColor: "#ee9900",
+        strokeOpacity: 1,
+        strokeWidth: 1,
+        strokeLinecap: "round",
+        hoverStrokeColor: "red",
+        hoverStrokeOpacity: 1,
+        hoverStrokeWidth: 0.2,
+        pointRadius: 6,
+        hoverPointRadius: 1,
+        hoverPointUnit: "%",
+        pointerEvents: "visiblePainted",
+        cursor: ""
+    },
+    'select': {
+        fillColor: "blue",
+        fillOpacity: 0.4, 
+        hoverFillColor: "white",
+        hoverFillOpacity: 0.8,
+        strokeColor: "blue",
+        strokeOpacity: 1,
+        strokeWidth: 2,
+        strokeLinecap: "round",
+        hoverStrokeColor: "red",
+        hoverStrokeOpacity: 1,
+        hoverStrokeWidth: 0.2,
+        pointRadius: 6,
+        hoverPointRadius: 1,
+        hoverPointUnit: "%",
+        pointerEvents: "visiblePainted",
+        cursor: "pointer"
+    },
+    'temporary': {
+        fillColor: "yellow",
+        fillOpacity: 0.2, 
+        hoverFillColor: "white",
+        hoverFillOpacity: 0.8,
+        strokeColor: "yellow",
+        strokeOpacity: 1,
+        strokeLinecap: "round",
+        strokeWidth: 4,
+        hoverStrokeColor: "red",
+        hoverStrokeOpacity: 1,
+        hoverStrokeWidth: 0.2,
+        pointRadius: 6,
+        hoverPointRadius: 1,
+        hoverPointUnit: "%",
+        pointerEvents: "visiblePainted",
+        cursor: ""
+    }
+};    
+/* ======================================================================
+    OpenLayers/Feature/WFS.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Feature.js
+ */
+
+/**
+ * Class: OpenLayers.Feature.WFS
+ * WFS handling class, for use as a featureClass on the WFS layer for handling
+ * 'point' WFS types. Good for subclassing when creating a custom WFS like
+ * XML application.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Feature>
+ */
+OpenLayers.Feature.WFS = OpenLayers.Class(OpenLayers.Feature, {
+      
+    /** 
+     * Constructor: OpenLayers.Feature.WFS
+     * Create a WFS feature.
+     *
+     * Parameters:
+     * layer - {<OpenLayers.Layer>} 
+     * xmlNode - {XMLNode} 
+     */
+    initialize: function(layer, xmlNode) {
+        var newArguments = arguments;
+        var data = this.processXMLNode(xmlNode);
+        newArguments = new Array(layer, data.lonlat, data);
+        OpenLayers.Feature.prototype.initialize.apply(this, newArguments);
+        this.createMarker();
+        this.layer.addMarker(this.marker);
+    },
+    
+    /** 
+     * Method: destroy
+     * nullify references to prevent circular references and memory leaks
+     */
+    destroy: function() {
+        if (this.marker != null) {
+            this.layer.removeMarker(this.marker);  
+        }
+        OpenLayers.Feature.prototype.destroy.apply(this, arguments);
+    },
+
+    /**
+     * Method: processXMLNode
+     * When passed an xmlNode, parses it for a GML point, and passes
+     * back an object describing that point.
+     *
+     * For subclasses of Feature.WFS, this is the feature to change.
+     *
+     * Parameters:
+     * xmlNode - {XMLNode} 
+     * 
+     * Returns:
+     * {Object} Data Object with 'id', 'lonlat', and private properties set
+     */
+    processXMLNode: function(xmlNode) {
+        //this should be overridden by subclasses
+        // must return an Object with 'id' and 'lonlat' values set
+        var point = OpenLayers.Ajax.getElementsByTagNameNS(xmlNode, "http://www.opengis.net/gml", "gml", "Point");
+        var text  = OpenLayers.Util.getXmlNodeValue(OpenLayers.Ajax.getElementsByTagNameNS(point[0], "http://www.opengis.net/gml","gml", "coordinates")[0]);
+        var floats = text.split(",");
+        return {lonlat: new OpenLayers.LonLat(parseFloat(floats[0]),
+                                              parseFloat(floats[1])),
+                id: null};
+
+    },
+
+    CLASS_NAME: "OpenLayers.Feature.WFS"
+});
+  
+  
+  
+  
+
+/* ======================================================================
+    OpenLayers/Format/WMC/v1_0_0.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Format/WMC/v1.js
+ */
+
+/**
+ * Class: OpenLayers.Format.WMC.v1_0_0
+ * Read and write WMC version 1.0.0.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Format.WMC.v1>
+ */
+OpenLayers.Format.WMC.v1_0_0 = OpenLayers.Class(
+    OpenLayers.Format.WMC.v1, {
+    
+    /**
+     * Constant: VERSION
+     * {String} 1.0.0
+     */
+    VERSION: "1.0.0",
+    
+    /**
+     * Property: schemaLocation
+     * {String} http://www.opengis.net/context
+     *     http://schemas.opengis.net/context/1.0.0/context.xsd
+     */
+    schemaLocation: "http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd",
+
+    /**
+     * Constructor: OpenLayers.Format.WMC.v1_0_0
+     * Instances of this class are not created directly.  Use the
+     *     <OpenLayers.Format.WMC> constructor instead.
+     *
+     * Parameters:
+     * options - {Object} An optional object whose properties will be set on
+     *     this instance.
+     */
+    initialize: function(options) {
+        OpenLayers.Format.WMC.v1.prototype.initialize.apply(
+            this, [options]
+        );
+    },
+
+    CLASS_NAME: "OpenLayers.Format.WMC.v1_0_0" 
+
+});
+/* ======================================================================
+    OpenLayers/Format/WMC/v1_1_0.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Format/WMC/v1.js
+ */
+
+/**
+ * Class: OpenLayers.Format.WMC.v1_1_0
+ * Read and write WMC version 1.1.0.
+ *
+ * Differences between 1.1.0 and 1.0.0:
+ *     - 1.1.0 Layers have optional sld:MinScaleDenominator and
+ *       sld:MaxScaleDenominator
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Format.WMC.v1>
+ */
+OpenLayers.Format.WMC.v1_1_0 = OpenLayers.Class(
+    OpenLayers.Format.WMC.v1, {
+    
+    /**
+     * Constant: VERSION
+     * {String} 1.1.0
+     */
+    VERSION: "1.1.0",
+
+    /**
+     * Property: schemaLocation
+     * {String} http://www.opengis.net/context
+     *     http://schemas.opengis.net/context/1.1.0/context.xsd
+     */
+    schemaLocation: "http://www.opengis.net/context http://schemas.opengis.net/context/1.1.0/context.xsd",
+
+    /**
+     * Constructor: OpenLayers.Format.WMC.v1_1_0
+     * Instances of this class are not created directly.  Use the
+     *     <OpenLayers.Format.WMC> constructor instead.
+     *
+     * Parameters:
+     * options - {Object} An optional object whose properties will be set on
+     *     this instance.
+     */
+    initialize: function(options) {
+        OpenLayers.Format.WMC.v1.prototype.initialize.apply(
+            this, [options]
+        );
+    },
+
+    /**
+     * Method: read_sld_MinScaleDenominator
+     * Read a sld:MinScaleDenominator node.
+     *
+     * Parameters:
+     * layerInfo - {Object} An object representing a layer.
+     * node - {Element} An element node.
+     */
+    read_sld_MinScaleDenominator: function(layerInfo, node) {
+        layerInfo.options.maxScale = this.getChildValue(node);
+    },
+
+    /**
+     * Method: read_sld_MaxScaleDenominator
+     * Read a sld:MaxScaleDenominator node.
+     *
+     * Parameters:
+     * layerInfo - {Object} An object representing a layer.
+     * node - {Element} An element node.
+     */
+    read_sld_MaxScaleDenominator: function(layerInfo, node) {
+        layerInfo.options.minScale = this.getChildValue(node);
+    },
+
+    /**
+     * Method: write_wmc_Layer
+     * Create a Layer node given a layer object.  This method adds elements
+     *     specific to version 1.1.0.
+     *
+     * Parameters:
+     * layer - {<OpenLayers.Layer.WMS>} Layer object.
+     *
+     * Returns:
+     * {Element} A WMC Layer element node.
+     */
+    write_wmc_Layer: function(layer) {
+        var node = OpenLayers.Format.WMC.v1.prototype.write_wmc_Layer.apply(
+            this, [layer]
+        );
+        
+        // min/max scale denominator elements go before the 4th element in v1
+        if(layer.options.resolutions || layer.options.scales ||
+           layer.options.minResolution || layer.options.maxScale) {
+            var minSD = this.createElementNS(
+                this.namespaces.sld, "sld:MinScaleDenominator"
+            );
+            minSD.appendChild(this.createTextNode(layer.maxScale.toPrecision(10)));
+            node.insertBefore(minSD, node.childNodes[3]);
+        }
+        
+        if(layer.options.resolutions || layer.options.scales ||
+           layer.options.maxResolution || layer.options.minScale) {
+            var maxSD = this.createElementNS(
+                this.namespaces.sld, "sld:MaxScaleDenominator"
+            );
+            maxSD.appendChild(this.createTextNode(layer.minScale.toPrecision(10)));
+            node.insertBefore(maxSD, node.childNodes[4]);
+        }
+        
+        return node;
+        
+    },
+
+    CLASS_NAME: "OpenLayers.Format.WMC.v1_1_0" 
+
+});
+/* ======================================================================
+    OpenLayers/Handler/Box.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Handler.js
+ * @requires OpenLayers/Handler/Drag.js
+ */
+
+/**
+ * Class: OpenLayers.Handler.Box
+ * Handler for dragging a rectangle across the map.  Box is displayed 
+ * on mouse down, moves on mouse move, and is finished on mouse up.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Handler> 
+ */
+OpenLayers.Handler.Box = OpenLayers.Class(OpenLayers.Handler, {
+
+    /** 
+     * Property: dragHandler 
+     * {<OpenLayers.Handler.Drag>} 
+     */
+    dragHandler: null,
+
+    /**
+     * APIProperty: boxDivClassName
+     * {String} The CSS class to use for drawing the box. Default is
+     *     olHandlerBoxZoomBox
+     */
+    boxDivClassName: 'olHandlerBoxZoomBox',
+
+    /**
+     * Constructor: OpenLayers.Handler.Box
+     *
+     * Parameters:
+     * control - {<OpenLayers.Control>} 
+     * callbacks - {Object} An object containing a single function to be
+     *                          called when the drag operation is finished.
+     *                          The callback should expect to recieve a single
+     *                          argument, the point geometry.
+     * options - {Object} 
+     */
+    initialize: function(control, callbacks, options) {
+        OpenLayers.Handler.prototype.initialize.apply(this, arguments);
+        var callbacks = {
+            "down": this.startBox, 
+            "move": this.moveBox, 
+            "out":  this.removeBox,
+            "up":   this.endBox
+        };
+        this.dragHandler = new OpenLayers.Handler.Drag(
+                                this, callbacks, {keyMask: this.keyMask});
+    },
+
+    /**
+     * Method: setMap
+     */
+    setMap: function (map) {
+        OpenLayers.Handler.prototype.setMap.apply(this, arguments);
+        if (this.dragHandler) {
+            this.dragHandler.setMap(map);
+        }
+    },
+
+    /**
+    * Method: startBox
+    *
+    * Parameters:
+    * evt - {Event} 
+    */
+    startBox: function (xy) {
+        this.zoomBox = OpenLayers.Util.createDiv('zoomBox',
+                                                 this.dragHandler.start);
+        this.zoomBox.className = this.boxDivClassName;                                         
+        this.zoomBox.style.zIndex = this.map.Z_INDEX_BASE["Popup"] - 1;
+        this.map.viewPortDiv.appendChild(this.zoomBox);
+
+        // TBD: use CSS classes instead
+        this.map.div.style.cursor = "crosshair";
+    },
+
+    /**
+    * Method: moveBox
+    */
+    moveBox: function (xy) {
+        var deltaX = Math.abs(this.dragHandler.start.x - xy.x);
+        var deltaY = Math.abs(this.dragHandler.start.y - xy.y);
+        this.zoomBox.style.width = Math.max(1, deltaX) + "px";
+        this.zoomBox.style.height = Math.max(1, deltaY) + "px";
+        if (xy.x < this.dragHandler.start.x) {
+            this.zoomBox.style.left = xy.x+"px";
+        }
+        if (xy.y < this.dragHandler.start.y) {
+            this.zoomBox.style.top = xy.y+"px";
+        }
+    },
+
+    /**
+    * Method: endBox
+    */
+    endBox: function(end) {
+        var result;
+        if (Math.abs(this.dragHandler.start.x - end.x) > 5 ||    
+            Math.abs(this.dragHandler.start.y - end.y) > 5) {   
+            var start = this.dragHandler.start;
+            var top = Math.min(start.y, end.y);
+            var bottom = Math.max(start.y, end.y);
+            var left = Math.min(start.x, end.x);
+            var right = Math.max(start.x, end.x);
+            result = new OpenLayers.Bounds(left, bottom, right, top);
+        } else {
+            result = this.dragHandler.start.clone(); // i.e. OL.Pixel
+        } 
+        this.removeBox();
+
+        // TBD: use CSS classes instead
+        this.map.div.style.cursor = "";
+
+        this.callback("done", [result]);
+    },
+
+    /**
+     * Method: removeBox
+     * Remove the zoombox from the screen and nullify our reference to it.
+     */
+    removeBox: function() {
+        this.map.viewPortDiv.removeChild(this.zoomBox);
+        this.zoomBox = null;
+    },
+
+    /**
+     * Method: activate
+     */
+    activate: function () {
+        if (OpenLayers.Handler.prototype.activate.apply(this, arguments)) {
+            this.dragHandler.activate();
+            return true;
+        } else {
+            return false;
+        }
+    },
+
+    /**
+     * Method: deactivate
+     */
+    deactivate: function () {
+        if (OpenLayers.Handler.prototype.deactivate.apply(this, arguments)) {
+            this.dragHandler.deactivate();
+            return true;
+        } else {
+            return false;
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Handler.Box"
+});
+/* ======================================================================
+    OpenLayers/Handler/RegularPolygon.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Handler/Drag.js
+ */
+
+/**
+ * Class: OpenLayers.Handler.RegularPolygon
+ * Handler to draw a regular polygon on the map.  Polygon is displayed on mouse
+ *     down, moves or is modified on mouse move, and is finished on mouse up.
+ *     The handler triggers callbacks for 'done' and 'cancel'.  Create a new
+ *     instance with the <OpenLayers.Handler.RegularPolygon> constructor.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Handler>
+ */
+OpenLayers.Handler.RegularPolygon = OpenLayers.Class(OpenLayers.Handler.Drag, {
+    
+    /**
+     * APIProperty: sides
+     * {Integer} Number of sides for the regular polygon.  Needs to be greater
+     *     than 2.  Defaults to 4.
+     */
+    sides: 4,
+
+    /**
+     * APIProperty: radius
+     * {Float} Optional radius in map units of the regular polygon.  If this is
+     *     set to some non-zero value, a polygon with a fixed radius will be
+     *     drawn and dragged with mose movements.  If this property is not
+     *     set, dragging changes the radius of the polygon.  Set to null by
+     *     default.
+     */
+    radius: null,
+    
+    /**
+     * APIProperty: snapAngle
+     * {Float} If set to a non-zero value, the handler will snap the polygon
+     *     rotation to multiples of the snapAngle.  Value is an angle measured
+     *     in degrees counterclockwise from the positive x-axis.  
+     */
+    snapAngle: null,
+    
+    /**
+     * APIProperty: snapToggle
+     * {String} If set, snapToggle is checked on mouse events and will set
+     *     the snap mode to the opposite of what it currently is.  To disallow
+     *     toggling between snap and non-snap mode, set freehandToggle to
+     *     null.  Acceptable toggle values are 'shiftKey', 'ctrlKey', and
+     *     'altKey'. Snap mode is only possible if this.snapAngle is set to a
+     *     non-zero value.
+     */
+    snapToggle: 'shiftKey',
+    
+    /**
+     * APIProperty: persist
+     * {Boolean} Leave the feature rendered until clear is called.  Default
+     *     is false.  If set to true, the feature remains rendered until
+     *     clear is called, typically by deactivating the handler or starting
+     *     another drawing.
+     */
+    persist: false,
+
+    /**
+     * APIProperty: irregular
+     * {Boolean} Draw an irregular polygon instead of a regular polygon.
+     *     Default is false.  If true, the initial mouse down will represent
+     *     one corner of the polygon bounds and with each mouse movement, the
+     *     polygon will be stretched so the opposite corner of its bounds
+     *     follows the mouse position.  This property takes precedence over
+     *     the radius property.  If set to true, the radius property will
+     *     be ignored.
+     */
+    irregular: false,
+
+    /**
+     * Property: angle
+     * {Float} The angle from the origin (mouse down) to the current mouse
+     *     position, in radians.  This is measured counterclockwise from the
+     *     positive x-axis.
+     */
+    angle: null,
+
+    /**
+     * Property: fixedRadius
+     * {Boolean} The polygon has a fixed radius.  True if a radius is set before
+     *     drawing begins.  False otherwise.
+     */
+    fixedRadius: false,
+
+    /**
+     * Property: feature
+     * {<OpenLayers.Feature.Vector>} The currently drawn polygon feature
+     */
+    feature: null,
+
+    /**
+     * Property: layer
+     * {<OpenLayers.Layer.Vector>} The temporary drawing layer
+     */
+    layer: null,
+
+    /**
+     * Property: origin
+     * {<OpenLayers.Geometry.Point>} Location of the first mouse down
+     */
+    origin: null,
+
+    /**
+     * Constructor: OpenLayers.Handler.RegularPolygon
+     * Create a new regular polygon handler.
+     *
+     * Parameters:
+     * control - {<OpenLayers.Control>} The control that owns this handler
+     * callbacks - {Array} An object with a 'done' property whos value is a
+     *     function to be called when the polygon drawing is finished.
+     *     The callback should expect to recieve a single argument,
+     *     the polygon geometry.  If the callbacks object contains a
+     *     'cancel' property, this function will be called when the
+     *     handler is deactivated while drawing.  The cancel should
+     *     expect to receive a geometry.
+     * options - {Object} An object with properties to be set on the handler.
+     *     If the options.sides property is not specified, the number of sides
+     *     will default to 4.
+     */
+    initialize: function(control, callbacks, options) {
+        this.style = OpenLayers.Util.extend(OpenLayers.Feature.Vector.style['default'], {});
+
+        OpenLayers.Handler.prototype.initialize.apply(this,
+                                                [control, callbacks, options]);
+        this.options = (options) ? options : new Object();
+    },
+    
+    /**
+     * APIMethod: setOptions
+     * 
+     * Parameters:
+     * newOptions - {Object} 
+     */
+    setOptions: function (newOptions) {
+        OpenLayers.Util.extend(this.options, newOptions);
+        OpenLayers.Util.extend(this, newOptions);
+    },
+    
+    /**
+     * APIMethod: activate
+     * Turn on the handler.
+     *
+     * Return:
+     * {Boolean} The handler was successfully activated
+     */
+    activate: function() {
+        var activated = false;
+        if(OpenLayers.Handler.prototype.activate.apply(this, arguments)) {
+            // create temporary vector layer for rendering geometry sketch
+            var options = {displayInLayerSwitcher: false};
+            this.layer = new OpenLayers.Layer.Vector(this.CLASS_NAME, options);
+            this.map.addLayer(this.layer);
+            activated = true;
+        }
+        return activated;
+    },
+
+    /**
+     * APIMethod: deactivate
+     * Turn off the handler.
+     *
+     * Return:
+     * {Boolean} The handler was successfully deactivated
+     */
+    deactivate: function() {
+        var deactivated = false;
+        if(OpenLayers.Handler.Drag.prototype.deactivate.apply(this, arguments)) {
+            // call the cancel callback if mid-drawing
+            if(this.dragging) {
+                this.cancel();
+            }
+            // If a layer's map property is set to null, it means that that
+            // layer isn't added to the map. Since we ourself added the layer
+            // to the map in activate(), we can assume that if this.layer.map
+            // is null it means that the layer has been destroyed (as a result
+            // of map.destroy() for example.
+            if (this.layer.map != null) {
+                this.layer.destroy(false);
+                if (this.feature) {
+                    this.feature.destroy();
+                }
+            }
+            this.layer = null;
+            this.feature = null;
+            deactivated = true;
+        }
+        return deactivated;
+    },
+    
+    /**
+     * Method: downFeature
+     * Start drawing a new feature
+     *
+     * Parameters:
+     * evt - {Event} The drag start event
+     */
+    down: function(evt) {
+        this.fixedRadius = !!(this.radius);
+        var maploc = this.map.getLonLatFromPixel(evt.xy);
+        this.origin = new OpenLayers.Geometry.Point(maploc.lon, maploc.lat);
+        // create the new polygon
+        if(!this.fixedRadius || this.irregular) {
+            // smallest radius should not be less one pixel in map units
+            // VML doesn't behave well with smaller
+            this.radius = this.map.getResolution();
+        }
+        if(this.persist) {
+            this.clear();
+        }
+        this.feature = new OpenLayers.Feature.Vector();
+        this.createGeometry();
+        this.layer.addFeatures([this.feature], {silent: true});
+        this.layer.drawFeature(this.feature, this.style);
+    },
+    
+    /**
+     * Method: move
+     * Respond to drag move events
+     *
+     * Parameters:
+     * evt - {Evt} The move event
+     */
+    move: function(evt) {
+        var maploc = this.map.getLonLatFromPixel(evt.xy);
+        var point = new OpenLayers.Geometry.Point(maploc.lon, maploc.lat);
+        if(this.irregular) {
+            var ry = Math.sqrt(2) * Math.abs(point.y - this.origin.y) / 2;
+            this.radius = Math.max(this.map.getResolution() / 2, ry);
+        } else if(this.fixedRadius) {
+            this.origin = point;
+        } else {
+            this.calculateAngle(point, evt);
+            this.radius = Math.max(this.map.getResolution() / 2,
+                                   point.distanceTo(this.origin));
+        }
+        this.modifyGeometry();
+        if(this.irregular) {
+            var dx = point.x - this.origin.x;
+            var dy = point.y - this.origin.y;
+            var ratio;
+            if(dy == 0) {
+                ratio = dx / (this.radius * Math.sqrt(2));
+            } else {
+                ratio = dx / dy;
+            }
+            this.feature.geometry.resize(1, this.origin, ratio);
+            this.feature.geometry.move(dx / 2, dy / 2);
+        }
+        this.layer.drawFeature(this.feature, this.style);
+    },
+
+    /**
+     * Method: up
+     * Finish drawing the feature
+     *
+     * Parameters:
+     * evt - {Event} The mouse up event
+     */
+    up: function(evt) {
+        this.finalize();
+    },
+
+    /**
+     * Method: out
+     * Finish drawing the feature.
+     *
+     * Parameters:
+     * evt - {Event} The mouse out event
+     */
+    out: function(evt) {
+        this.finalize();
+    },
+
+    /**
+     * Method: createGeometry
+     * Create the new polygon geometry.  This is called at the start of the
+     *     drag and at any point during the drag if the number of sides
+     *     changes.
+     */
+    createGeometry: function() {
+        this.angle = Math.PI * ((1/this.sides) - (1/2));
+        if(this.snapAngle) {
+            this.angle += this.snapAngle * (Math.PI / 180);
+        }
+        this.feature.geometry = OpenLayers.Geometry.Polygon.createRegularPolygon(
+            this.origin, this.radius, this.sides, this.snapAngle
+        );
+    },
+    
+    /**
+     * Method: modifyGeometry
+     * Modify the polygon geometry in place.
+     */
+    modifyGeometry: function() {
+        var angle, dx, dy, point;
+        var ring = this.feature.geometry.components[0];
+        // if the number of sides ever changes, create a new geometry
+        if(ring.components.length != (this.sides + 1)) {
+            this.createGeometry();
+             ring = this.feature.geometry.components[0];
+        }
+        for(var i=0; i<this.sides; ++i) {
+            point = ring.components[i];
+            angle = this.angle + (i * 2 * Math.PI / this.sides);
+            point.x = this.origin.x + (this.radius * Math.cos(angle));
+            point.y = this.origin.y + (this.radius * Math.sin(angle));
+            point.clearBounds();
+        }
+    },
+    
+    /**
+     * Method: calculateAngle
+     * Calculate the angle based on settings.
+     *
+     * Parameters:
+     * point - {<OpenLayers.Geometry.Point>}
+     * evt - {Event}
+     */
+    calculateAngle: function(point, evt) {
+        var alpha = Math.atan2(point.y - this.origin.y,
+                               point.x - this.origin.x);
+        if(this.snapAngle && (this.snapToggle && !evt[this.snapToggle])) {
+            var snapAngleRad = (Math.PI / 180) * this.snapAngle;
+            this.angle = Math.round(alpha / snapAngleRad) * snapAngleRad;
+        } else {
+            this.angle = alpha;
+        }
+    },
+
+    /**
+     * APIMethod: cancel
+     * Finish the geometry and call the "cancel" callback.
+     */
+    cancel: function() {
+        // the polygon geometry gets cloned in the callback method
+        this.callback("cancel", null);
+        this.finalize();
+    },
+
+    /**
+     * Method: finalize
+     * Finish the geometry and call the "done" callback.
+     */
+    finalize: function() {
+        this.origin = null;
+        this.radius = this.options.radius;
+    },
+
+    /**
+     * APIMethod: clear
+     * Clear any rendered features on the temporary layer.  This is called
+     *     when the handler is deactivated, canceled, or done (unless persist
+     *     is true).
+     */
+    clear: function() {
+        this.layer.renderer.clear();
+        this.layer.destroyFeatures();
+    },
+    
+    /**
+     * Method: callback
+     * Trigger the control's named callback with the given arguments
+     *
+     * Parameters:
+     * name - {String} The key for the callback that is one of the properties
+     *     of the handler's callbacks object.
+     * args - {Array} An array of arguments with which to call the callback
+     *     (defined by the control).
+     */
+    callback: function (name, args) {
+        // override the callback method to always send the polygon geometry
+        if (this.callbacks[name]) {
+            this.callbacks[name].apply(this.control,
+                                       [this.feature.geometry.clone()]);
+        }
+        // since sketch features are added to the temporary layer
+        // they must be cleared here if done or cancel
+        if(!this.persist && (name == "done" || name == "cancel")) {
+            this.clear();
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Handler.RegularPolygon"
+});
+/* ======================================================================
+    OpenLayers/Layer/EventPane.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Layer.js
+ * @requires OpenLayers/Util.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.EventPane
+ * Base class for 3rd party layers.  Create a new event pane layer with the
+ * <OpenLayers.Layer.EventPane> constructor.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Layer>
+ */
+OpenLayers.Layer.EventPane = OpenLayers.Class(OpenLayers.Layer, {
+    
+    /**
+     * APIProperty: smoothDragPan
+     * {Boolean} smoothDragPan determines whether non-public/internal API
+     *     methods are used for better performance while dragging EventPane 
+     *     layers. When not in sphericalMercator mode, the smoother dragging 
+     *     doesn't actually move north/south directly with the number of 
+     *     pixels moved, resulting in a slight offset when you drag your mouse 
+     *     north south with this option on. If this visual disparity bothers 
+     *     you, you should turn this option off, or use spherical mercator. 
+     *     Default is on.
+     */
+    smoothDragPan: true,
+
+    /**
+     * Property: isBaseLayer
+     * {Boolean} EventPaned layers are always base layers, by necessity.
+     */ 
+    isBaseLayer: true,
+
+    /**
+     * APIProperty: isFixed
+     * {Boolean} EventPaned layers are fixed by default.
+     */ 
+    isFixed: true,
+
+    /**
+     * Property: pane
+     * {DOMElement} A reference to the element that controls the events.
+     */
+    pane: null,
+
+
+    /**
+     * Property: mapObject
+     * {Object} This is the object which will be used to load the 3rd party library
+     * in the case of the google layer, this will be of type GMap, 
+     * in the case of the ve layer, this will be of type VEMap
+     */ 
+    mapObject: null,
+
+
+    /**
+     * Constructor: OpenLayers.Layer.EventPane
+     * Create a new event pane layer
+     *
+     * Parameters:
+     * name - {String}
+     * options - {Object} Hashtable of extra options to tag onto the layer
+     */
+    initialize: function(name, options) {
+        OpenLayers.Layer.prototype.initialize.apply(this, arguments);
+        if (this.pane == null) {
+            this.pane = OpenLayers.Util.createDiv(this.div.id + "_EventPane");
+        }
+    },
+    
+    /**
+     * APIMethod: destroy
+     * Deconstruct this layer.
+     */
+    destroy: function() {
+        this.mapObject = null;
+        OpenLayers.Layer.prototype.destroy.apply(this, arguments); 
+    },
+
+    
+    /**
+     * Method: setMap
+     * Set the map property for the layer. This is done through an accessor
+     * so that subclasses can override this and take special action once 
+     * they have their map variable set. 
+     *
+     * Parameters:
+     * map - {<OpenLayers.Map>}
+     */
+    setMap: function(map) {
+        OpenLayers.Layer.prototype.setMap.apply(this, arguments);
+        
+        this.pane.style.zIndex = parseInt(this.div.style.zIndex) + 1;
+        this.pane.style.display = this.div.style.display;
+        this.pane.style.width="100%";
+        this.pane.style.height="100%";
+        if (OpenLayers.Util.getBrowserName() == "msie") {
+            this.pane.style.background = 
+                "url(" + OpenLayers.Util.getImagesLocation() + "blank.gif)";
+        }
+
+        if (this.isFixed) {
+            this.map.viewPortDiv.appendChild(this.pane);
+        } else {
+            this.map.layerContainerDiv.appendChild(this.pane);
+        }
+
+        // once our layer has been added to the map, we can load it
+        this.loadMapObject();
+    
+        // if map didn't load, display warning
+        if (this.mapObject == null) {
+            this.loadWarningMessage();
+        }
+    },
+
+    /**
+     * APIMethod: removeMap
+     * On being removed from the map, we'll like to remove the invisible 'pane'
+     *     div that we added to it on creation. 
+     * 
+     * Parameters:
+     * map - {<OpenLayers.Map>}
+     */
+    removeMap: function(map) {
+        if (this.pane && this.pane.parentNode) {
+            this.pane.parentNode.removeChild(this.pane);
+            this.pane = null;
+        }
+        OpenLayers.Layer.prototype.removeMap.apply(this, arguments);
+    },
+  
+    /**
+     * Method: loadWarningMessage
+     * If we can't load the map lib, then display an error message to the 
+     *     user and tell them where to go for help.
+     * 
+     *     This function sets up the layout for the warning message. Each 3rd
+     *     party layer must implement its own getWarningHTML() function to 
+     *     provide the actual warning message.
+     */
+    loadWarningMessage:function() {
+
+        this.div.style.backgroundColor = "darkblue";
+
+        var viewSize = this.map.getSize();
+        
+        var msgW = Math.min(viewSize.w, 300);
+        var msgH = Math.min(viewSize.h, 200);
+        var size = new OpenLayers.Size(msgW, msgH);
+
+        var centerPx = new OpenLayers.Pixel(viewSize.w/2, viewSize.h/2);
+
+        var topLeft = centerPx.add(-size.w/2, -size.h/2);            
+
+        var div = OpenLayers.Util.createDiv(this.name + "_warning", 
+                                            topLeft, 
+                                            size,
+                                            null,
+                                            null,
+                                            null,
+                                            "auto");
+
+        div.style.padding = "7px";
+        div.style.backgroundColor = "yellow";
+
+        div.innerHTML = this.getWarningHTML();
+        this.div.appendChild(div);
+    },
+  
+    /** 
+     * Method: getWarningHTML
+     * To be implemented by subclasses.
+     * 
+     * Returns:
+     * {String} String with information on why layer is broken, how to get
+     *          it working.
+     */
+    getWarningHTML:function() {
+        //should be implemented by subclasses
+        return "";
+    },
+  
+    /**
+     * Method: display
+     * Set the display on the pane
+     *
+     * Parameters:
+     * display - {Boolean}
+     */
+    display: function(display) {
+        OpenLayers.Layer.prototype.display.apply(this, arguments);
+        this.pane.style.display = this.div.style.display;
+    },
+  
+    /**
+     * Method: setZIndex
+     * Set the z-index order for the pane.
+     * 
+     * Parameters:
+     * zIndex - {int}
+     */
+    setZIndex: function (zIndex) {
+        OpenLayers.Layer.prototype.setZIndex.apply(this, arguments);
+        this.pane.style.zIndex = parseInt(this.div.style.zIndex) + 1;
+    },
+
+    /**
+     * Method: moveTo
+     * Handle calls to move the layer.
+     * 
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     * zoomChanged - {Boolean}
+     * dragging - {Boolean}
+     */
+    moveTo:function(bounds, zoomChanged, dragging) {
+        OpenLayers.Layer.prototype.moveTo.apply(this, arguments);
+
+        if (this.mapObject != null) {
+
+            var newCenter = this.map.getCenter();
+            var newZoom = this.map.getZoom();
+
+            if (newCenter != null) {
+
+                var moOldCenter = this.getMapObjectCenter();
+                var oldCenter = this.getOLLonLatFromMapObjectLonLat(moOldCenter);
+
+                var moOldZoom = this.getMapObjectZoom();
+                var oldZoom= this.getOLZoomFromMapObjectZoom(moOldZoom);
+
+                if ( !(newCenter.equals(oldCenter)) || 
+                     !(newZoom == oldZoom) ) {
+
+                    if (dragging && this.dragPanMapObject && 
+                        this.smoothDragPan) {
+                        var oldPx = this.map.getViewPortPxFromLonLat(oldCenter);
+                        var newPx = this.map.getViewPortPxFromLonLat(newCenter);
+                        this.dragPanMapObject(newPx.x-oldPx.x, oldPx.y-newPx.y);
+                    } else {
+                        var center = this.getMapObjectLonLatFromOLLonLat(newCenter);
+                        var zoom = this.getMapObjectZoomFromOLZoom(newZoom);
+                        this.setMapObjectCenter(center, zoom, dragging);
+                    }
+                }
+            }
+        }
+    },
+
+
+  /********************************************************/
+  /*                                                      */
+  /*                 Baselayer Functions                  */
+  /*                                                      */
+  /********************************************************/
+
+    /**
+     * Method: getLonLatFromViewPortPx
+     * Get a map location from a pixel location
+     * 
+     * Parameters:
+     * viewPortPx - {<OpenLayers.Pixel>}
+     *
+     * Returns:
+     *  {<OpenLayers.LonLat>} An OpenLayers.LonLat which is the passed-in view
+     *  port OpenLayers.Pixel, translated into lon/lat by map lib
+     *  If the map lib is not loaded or not centered, returns null
+     */
+    getLonLatFromViewPortPx: function (viewPortPx) {
+        var lonlat = null;
+        if ( (this.mapObject != null) && 
+             (this.getMapObjectCenter() != null) ) {
+            var moPixel = this.getMapObjectPixelFromOLPixel(viewPortPx);
+            var moLonLat = this.getMapObjectLonLatFromMapObjectPixel(moPixel);
+            lonlat = this.getOLLonLatFromMapObjectLonLat(moLonLat);
+        }
+        return lonlat;
+    },
+
+ 
+    /**
+     * Method: getViewPortPxFromLonLat
+     * Get a pixel location from a map location
+     *
+     * Parameters:
+     * lonlat - {<OpenLayers.LonLat>}
+     *
+     * Returns:
+     * {<OpenLayers.Pixel>} An OpenLayers.Pixel which is the passed-in
+     * OpenLayers.LonLat, translated into view port pixels by map lib
+     * If map lib is not loaded or not centered, returns null
+     */
+    getViewPortPxFromLonLat: function (lonlat) {
+        var viewPortPx = null;
+        if ( (this.mapObject != null) && 
+             (this.getMapObjectCenter() != null) ) {
+
+            var moLonLat = this.getMapObjectLonLatFromOLLonLat(lonlat);
+            var moPixel = this.getMapObjectPixelFromMapObjectLonLat(moLonLat);
+        
+            viewPortPx = this.getOLPixelFromMapObjectPixel(moPixel);
+        }
+        return viewPortPx;
+    },
+
+  /********************************************************/
+  /*                                                      */
+  /*               Translation Functions                  */
+  /*                                                      */
+  /*   The following functions translate Map Object and   */
+  /*            OL formats for Pixel, LonLat              */
+  /*                                                      */
+  /********************************************************/
+
+  //
+  // TRANSLATION: MapObject LatLng <-> OpenLayers.LonLat
+  //
+
+    /**
+     * Method: getOLLonLatFromMapObjectLonLat
+     * Get an OL style map location from a 3rd party style map location
+     *
+     * Parameters
+     * moLonLat - {Object}
+     * 
+     * Returns:
+     * {<OpenLayers.LonLat>} An OpenLayers.LonLat, translated from the passed in 
+     *          MapObject LonLat
+     *          Returns null if null value is passed in
+     */
+    getOLLonLatFromMapObjectLonLat: function(moLonLat) {
+        var olLonLat = null;
+        if (moLonLat != null) {
+            var lon = this.getLongitudeFromMapObjectLonLat(moLonLat);
+            var lat = this.getLatitudeFromMapObjectLonLat(moLonLat);
+            olLonLat = new OpenLayers.LonLat(lon, lat);
+        }
+        return olLonLat;
+    },
+
+    /**
+     * Method: getMapObjectLonLatFromOLLonLat
+     * Get a 3rd party map location from an OL map location.
+     *
+     * Parameters:
+     * olLonLat - {<OpenLayers.LonLat>}
+     * 
+     * Returns:
+     * {Object} A MapObject LonLat, translated from the passed in 
+     *          OpenLayers.LonLat
+     *          Returns null if null value is passed in
+     */
+    getMapObjectLonLatFromOLLonLat: function(olLonLat) {
+        var moLatLng = null;
+        if (olLonLat != null) {
+            moLatLng = this.getMapObjectLonLatFromLonLat(olLonLat.lon,
+                                                         olLonLat.lat);
+        }
+        return moLatLng;
+    },
+
+
+  //
+  // TRANSLATION: MapObject Pixel <-> OpenLayers.Pixel
+  //
+
+    /**
+     * Method: getOLPixelFromMapObjectPixel
+     * Get an OL pixel location from a 3rd party pixel location.
+     *
+     * Parameters:
+     * moPixel - {Object}
+     * 
+     * Returns:
+     * {<OpenLayers.Pixel>} An OpenLayers.Pixel, translated from the passed in 
+     *          MapObject Pixel
+     *          Returns null if null value is passed in
+     */
+    getOLPixelFromMapObjectPixel: function(moPixel) {
+        var olPixel = null;
+        if (moPixel != null) {
+            var x = this.getXFromMapObjectPixel(moPixel);
+            var y = this.getYFromMapObjectPixel(moPixel);
+            olPixel = new OpenLayers.Pixel(x, y);
+        }
+        return olPixel;
+    },
+
+    /**
+     * Method: getMapObjectPixelFromOLPixel
+     * Get a 3rd party pixel location from an OL pixel location
+     *
+     * Parameters:
+     * olPixel - {<OpenLayers.Pixel>}
+     * 
+     * Returns:
+     * {Object} A MapObject Pixel, translated from the passed in 
+     *          OpenLayers.Pixel
+     *          Returns null if null value is passed in
+     */
+    getMapObjectPixelFromOLPixel: function(olPixel) {
+        var moPixel = null;
+        if (olPixel != null) {
+            moPixel = this.getMapObjectPixelFromXY(olPixel.x, olPixel.y);
+        }
+        return moPixel;
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.EventPane"
+});
+/* ======================================================================
+    OpenLayers/Layer/FixedZoomLevels.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Layer.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.FixedZoomLevels
+ *   Some Layers will already have established zoom levels (like google 
+ *    or ve). Instead of trying to determine them and populate a resolutions[]
+ *    Array with those values, we will hijack the resolution functionality
+ *    here.
+ * 
+ *   When you subclass FixedZoomLevels: 
+ * 
+ *   The initResolutions() call gets nullified, meaning no resolutions[] array 
+ *    is set up. Which would be a big problem getResolution() in Layer, since 
+ *    it merely takes map.zoom and indexes into resolutions[]... but....
+ * 
+ *   The getResolution() call is also overridden. Instead of using the 
+ *    resolutions[] array, we simply calculate the current resolution based
+ *    on the current extent and the current map size. But how will we be able
+ *    to calculate the current extent without knowing the resolution...?
+ *  
+ *   The getExtent() function is also overridden. Instead of calculating extent
+ *    based on the center point and the current resolution, we instead 
+ *    calculate the extent by getting the lonlats at the top-left and 
+ *    bottom-right by using the getLonLatFromViewPortPx() translation function,
+ *    taken from the pixel locations (0,0) and the size of the map. But how 
+ *    will we be able to do lonlat-px translation without resolution....?
+ * 
+ *   The getZoomForResolution() method is overridden. Instead of indexing into
+ *    the resolutions[] array, we call OpenLayers.Layer.getExent(), passing in
+ *    the desired resolution. With this extent, we then call getZoomForExtent() 
+ * 
+ * 
+ *   Whenever you implement a layer using OpenLayers.Layer.FixedZoomLevels, 
+ *    it is your responsibility to provide the following three functions:
+ * 
+ *   - getLonLatFromViewPortPx
+ *   - getViewPortPxFromLonLat
+ *   - getZoomForExtent
+ * 
+ *  ...those three functions should generally be provided by any reasonable 
+ *  API that you might be working from.
+ *
+ */
+OpenLayers.Layer.FixedZoomLevels = OpenLayers.Class({
+      
+  /********************************************************/
+  /*                                                      */
+  /*                 Baselayer Functions                  */
+  /*                                                      */
+  /*    The following functions must all be implemented   */
+  /*                  by all base layers                  */
+  /*                                                      */
+  /********************************************************/
+    
+    /**
+     * Constructor: OpenLayers.Layer.FixedZoomLevels
+     * Create a new fixed zoom levels layer.
+     */
+    initialize: function() {
+        //this class is only just to add the following functions... 
+        // nothing to actually do here... but it is probably a good
+        // idea to have layers that use these functions call this 
+        // inititalize() anyways, in case at some point we decide we 
+        // do want to put some functionality or state in here. 
+    },
+    
+    /**
+     * Method: initResolutions
+     * Populate the resolutions array
+     */
+    initResolutions: function() {
+
+        var props = new Array('minZoomLevel', 'maxZoomLevel', 'numZoomLevels');
+          
+        for(var i=0; i < props.length; i++) {
+            var property = props[i];
+            this[property] = (this.options[property] != null)  
+                                     ? this.options[property] 
+                                     : this.map[property];
+        }
+
+        if ( (this.minZoomLevel == null) ||
+             (this.minZoomLevel < this.MIN_ZOOM_LEVEL) ){
+            this.minZoomLevel = this.MIN_ZOOM_LEVEL;
+        }        
+
+        var limitZoomLevels = this.MAX_ZOOM_LEVEL - this.minZoomLevel + 1;
+        if (this.numZoomLevels != null) {
+            this.numZoomLevels = Math.min(this.numZoomLevels, limitZoomLevels);
+        } else {
+            if (this.maxZoomLevel != null) {
+                var zoomDiff = this.maxZoomLevel - this.minZoomLevel + 1;
+                this.numZoomLevels = Math.min(zoomDiff, limitZoomLevels);
+            } else {
+                this.numZoomLevels = limitZoomLevels;
+            }
+        }
+
+        this.maxZoomLevel = this.minZoomLevel + this.numZoomLevels - 1;
+
+        if (this.RESOLUTIONS != null) {
+            var resolutionsIndex = 0;
+            this.resolutions = [];
+            for(var i= this.minZoomLevel; i <= this.maxZoomLevel; i++) {
+                this.resolutions[resolutionsIndex++] = this.RESOLUTIONS[i];            
+            }
+            this.maxResolution = this.resolutions[0];
+            this.minResolution = this.resolutions[this.resolutions.length - 1];
+        }       
+    },
+    
+    /**
+     * APIMethod: getResolution
+     * Get the current map resolution
+     * 
+     * Returns:
+     * {Float} Map units per Pixel
+     */
+    getResolution: function() {
+
+        if (this.resolutions != null) {
+            return OpenLayers.Layer.prototype.getResolution.apply(this, arguments);
+        } else {
+            var resolution = null;
+            
+            var viewSize = this.map.getSize();
+            var extent = this.getExtent();
+            
+            if ((viewSize != null) && (extent != null)) {
+                resolution = Math.max( extent.getWidth()  / viewSize.w,
+                                       extent.getHeight() / viewSize.h );
+            }
+            return resolution;
+        }
+     },
+
+    /**
+     * APIMethod: getExtent
+     * Calculates using px-> lonlat translation functions on tl and br 
+     *     corners of viewport
+     * 
+     * Returns:
+     * {<OpenLayers.Bounds>} A Bounds object which represents the lon/lat 
+     *                       bounds of the current viewPort.
+     */
+    getExtent: function () {
+        var extent = null;
+        
+        
+        var size = this.map.getSize();
+        
+        var tlPx = new OpenLayers.Pixel(0,0);
+        var tlLL = this.getLonLatFromViewPortPx(tlPx);
+
+        var brPx = new OpenLayers.Pixel(size.w, size.h);
+        var brLL = this.getLonLatFromViewPortPx(brPx);
+        
+        if ((tlLL != null) && (brLL != null)) {
+            extent = new OpenLayers.Bounds(tlLL.lon, 
+                                       brLL.lat, 
+                                       brLL.lon, 
+                                       tlLL.lat);
+        }
+
+        return extent;
+    },
+
+    /**
+     * Method: getZoomForResolution
+     * Get the zoom level for a given resolution
+     *
+     * Parameters:
+     * resolution - {Float}
+     *
+     * Returns:
+     * {Integer} A suitable zoom level for the specified resolution.
+     *           If no baselayer is set, returns null.
+     */
+    getZoomForResolution: function(resolution) {
+      
+        if (this.resolutions != null) {
+            return OpenLayers.Layer.prototype.getZoomForResolution.apply(this, arguments);
+        } else {
+            var extent = OpenLayers.Layer.prototype.getExtent.apply(this, []);
+            return this.getZoomForExtent(extent);
+        }
+    },
+
+
+
+    
+    /********************************************************/
+    /*                                                      */
+    /*             Translation Functions                    */
+    /*                                                      */
+    /*    The following functions translate GMaps and OL    */ 
+    /*     formats for Pixel, LonLat, Bounds, and Zoom      */
+    /*                                                      */
+    /********************************************************/
+    
+    
+    //
+    // TRANSLATION: MapObject Zoom <-> OpenLayers Zoom
+    //
+  
+    /**
+     * Method: getOLZoomFromMapObjectZoom
+     * Get the OL zoom index from the map object zoom level
+     *
+     * Parameters:
+     * moZoom - {Integer}
+     * 
+     * Returns:
+     * {Integer} An OpenLayers Zoom level, translated from the passed in zoom
+     *           Returns null if null value is passed in
+     */
+    getOLZoomFromMapObjectZoom: function(moZoom) {
+        var zoom = null;
+        if (moZoom != null) {
+            zoom = moZoom - this.minZoomLevel;
+        }
+        return zoom;
+    },
+    
+    /**
+     * Method: getMapObjectZoomFromOLZoom
+     * Get the map object zoom level from the OL zoom level
+     *
+     * Parameters:
+     * olZoom - {Integer}
+     * 
+     * Returns:
+     * {Integer} A MapObject level, translated from the passed in olZoom
+     *           Returns null if null value is passed in
+     */
+    getMapObjectZoomFromOLZoom: function(olZoom) {
+        var zoom = null; 
+        if (olZoom != null) {
+            zoom = olZoom + this.minZoomLevel;
+        }
+        return zoom;
+    },
+
+    CLASS_NAME: "FixedZoomLevels.js"
+});
+
+/* ======================================================================
+    OpenLayers/Layer/HTTPRequest.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Layer.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.HTTPRequest
+ * 
+ * Inherits from: 
+ *  - <OpenLayers.Layer>
+ */
+OpenLayers.Layer.HTTPRequest = OpenLayers.Class(OpenLayers.Layer, {
+
+    /** 
+     * Constant: URL_HASH_FACTOR
+     * {Float} Used to hash URL param strings for multi-WMS server selection.
+     *         Set to the Golden Ratio per Knuth's recommendation.
+     */
+    URL_HASH_FACTOR: (Math.sqrt(5) - 1) / 2,
+
+    /** 
+     * Property: url
+     * {Array(String) or String} This is either an array of url strings or 
+     *                           a single url string. 
+     */
+    url: null,
+
+    /** 
+     * Property: params
+     * {Object} Hashtable of key/value parameters
+     */
+    params: null,
+    
+    /** 
+     * APIProperty: reproject
+     * *Deprecated*. See http://trac.openlayers.org/wiki/SpatialMercator
+     * for information on the replacement for this functionality. 
+     * {Boolean} Whether layer should reproject itself based on base layer 
+     *           locations. This allows reprojection onto commercial layers. 
+     *           Default is false: Most layers can't reproject, but layers 
+     *           which can create non-square geographic pixels can, like WMS.
+     *           
+     */
+    reproject: false,
+
+    /**
+     * Constructor: OpenLayers.Layer.HTTPRequest
+     * 
+     * Parameters:
+     * name - {String}
+     * url - {Array(String) or String}
+     * params - {Object}
+     * options - {Object} Hashtable of extra options to tag onto the layer
+     */
+    initialize: function(name, url, params, options) {
+        var newArguments = arguments;
+        newArguments = [name, options];
+        OpenLayers.Layer.prototype.initialize.apply(this, newArguments);
+        this.url = url;
+        this.params = OpenLayers.Util.extend( {}, params);
+    },
+
+    /**
+     * APIMethod: destroy
+     */
+    destroy: function() {
+        this.url = null;
+        this.params = null;
+        OpenLayers.Layer.prototype.destroy.apply(this, arguments); 
+    },
+    
+    /**
+     * APIMethod: clone
+     * 
+     * Parameters:
+     * obj - {Object}
+     * 
+     * Returns:
+     * {<OpenLayers.Layer.HTTPRequest>} An exact clone of this 
+     *                                  <OpenLayers.Layer.HTTPRequest>
+     */
+    clone: function (obj) {
+        
+        if (obj == null) {
+            obj = new OpenLayers.Layer.HTTPRequest(this.name,
+                                                   this.url,
+                                                   this.params,
+                                                   this.options);
+        }
+        
+        //get all additions from superclasses
+        obj = OpenLayers.Layer.prototype.clone.apply(this, [obj]);
+
+        // copy/set any non-init, non-simple values here
+        
+        return obj;
+    },
+
+    /** 
+     * APIMethod: setUrl
+     * 
+     * Parameters:
+     * newUrl - {String}
+     */
+    setUrl: function(newUrl) {
+        this.url = newUrl;
+    },
+
+    /**
+     * APIMethod: mergeNewParams
+     * 
+     * Parameters:
+     * newParams - {Object}
+     *
+     * Returns:
+     * redrawn: {Boolean} whether the layer was actually redrawn.
+     */
+    mergeNewParams:function(newParams) {
+        this.params = OpenLayers.Util.extend(this.params, newParams);
+        return this.redraw();
+    },
+
+    /**
+     * APIMethod: redraw
+     * Redraws the layer.  Returns true if the layer was redrawn, false if not.
+     *
+     * Parameters:
+     * force - {Boolean} Force redraw by adding random parameter.
+     *
+     * Returns:
+     * {Boolean} The layer was redrawn.
+     */
+    redraw: function(force) { 
+        if (force) {
+            return this.mergeNewParams({"_olSalt": Math.random()});
+        } else {
+            return OpenLayers.Layer.prototype.redraw.apply(this, []);
+        }
+    },
+    
+    /**
+     * Method: selectUrl
+     * selectUrl() implements the standard floating-point multiplicative
+     *     hash function described by Knuth, and hashes the contents of the 
+     *     given param string into a float between 0 and 1. This float is then
+     *     scaled to the size of the provided urls array, and used to select
+     *     a URL.
+     *
+     * Parameters:
+     * paramString - {String}
+     * urls - {Array(String)}
+     * 
+     * Returns:
+     * {String} An entry from the urls array, deterministically selected based
+     *          on the paramString.
+     */
+    selectUrl: function(paramString, urls) {
+        var product = 1;
+        for (var i = 0; i < paramString.length; i++) { 
+            product *= paramString.charCodeAt(i) * this.URL_HASH_FACTOR; 
+            product -= Math.floor(product); 
+        }
+        return urls[Math.floor(product * urls.length)];
+    },
+
+    /** 
+     * Method: getFullRequestString
+     * Combine url with layer's params and these newParams. 
+     *   
+     *    does checking on the serverPath variable, allowing for cases when it 
+     *     is supplied with trailing ? or &, as well as cases where not. 
+     *
+     *    return in formatted string like this:
+     *        "server?key1=value1&key2=value2&key3=value3"
+     * 
+     * WARNING: The altUrl parameter is deprecated and will be removed in 3.0.
+     *
+     * Parameters:
+     * newParams - {Object}
+     * altUrl - {String} Use this as the url instead of the layer's url
+     *   
+     * Returns: 
+     * {String}
+     */
+    getFullRequestString:function(newParams, altUrl) {
+
+        // if not altUrl passed in, use layer's url
+        var url = altUrl || this.url;
+        
+        // create a new params hashtable with all the layer params and the 
+        // new params together. then convert to string
+        var allParams = OpenLayers.Util.extend({}, this.params);
+        allParams = OpenLayers.Util.extend(allParams, newParams);
+        var paramsString = OpenLayers.Util.getParameterString(allParams);
+        
+        // if url is not a string, it should be an array of strings, 
+        // in which case we will deterministically select one of them in 
+        // order to evenly distribute requests to different urls.
+        //
+        if (url instanceof Array) {
+            url = this.selectUrl(paramsString, url);
+        }   
+ 
+        // ignore parameters that are already in the url search string
+        var urlParams = 
+            OpenLayers.Util.upperCaseObject(OpenLayers.Util.getParameters(url));
+        for(var key in allParams) {
+            if(key.toUpperCase() in urlParams) {
+                delete allParams[key];
+            }
+        }
+        paramsString = OpenLayers.Util.getParameterString(allParams);
+        
+        // requestString always starts with url
+        var requestString = url;        
+        
+        if (paramsString != "") {
+            var lastServerChar = url.charAt(url.length - 1);
+            if ((lastServerChar == "&") || (lastServerChar == "?")) {
+                requestString += paramsString;
+            } else {
+                if (url.indexOf('?') == -1) {
+                    //serverPath has no ? -- add one
+                    requestString += '?' + paramsString;
+                } else {
+                    //serverPath contains ?, so must already have 
+                    // paramsString at the end
+                    requestString += '&' + paramsString;
+                }
+            }
+        }
+        return requestString;
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.HTTPRequest"
+});
+/* ======================================================================
+    OpenLayers/Layer/Image.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+ 
+/**
+ * @requires OpenLayers/Layer.js
+ * @requires OpenLayers/Tile/Image.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.Image
+ * Instances of OpenLayers.Layer.Image are used to display data from a web
+ * accessible image as a map layer.  Create a new image layer with the
+ * <OpenLayers.Layer.Image> constructor.  Inherits from <OpenLayers.Layer>.
+ */
+OpenLayers.Layer.Image = OpenLayers.Class(OpenLayers.Layer, {
+
+    /**
+     * Property: isBaseLayer
+     * {Boolean} The layer is a base layer.  Default is true.  Set this property
+     * in the layer options
+     */
+    isBaseLayer: true,
+    
+    /**
+     * Property: url
+     * {String} URL of the image to use
+     */
+    url: null,
+
+    /**
+     * Property: extent
+     * {<OpenLayers.Bounds>} The image bounds in map units
+     */
+    extent: null,
+    
+    /**
+     * Property: size
+     * {<OpenLayers.Size>} The image size in pixels
+     */
+    size: null,
+
+    /**
+     * Property: tile
+     * {<OpenLayers.Tile.Image>}
+     */
+    tile: null,
+
+    /**
+     * Property: aspectRatio
+     * {Float} The ratio of height/width represented by a single pixel in the
+     * graphic
+     */
+    aspectRatio: null,
+
+    /**
+     * Constructor: OpenLayers.Layer.Image
+     * Create a new image layer
+     *
+     * Parameters:
+     * name - {String} A name for the layer.
+     * url - {String} Relative or absolute path to the image
+     * extent - {<OpenLayers.Bounds>} The extent represented by the image
+     * size - {<OpenLayers.Size>} The size (in pixels) of the image
+     * options - {Object} Hashtable of extra options to tag onto the layer
+     */
+    initialize: function(name, url, extent, size, options) {
+        this.url = url;
+        this.extent = extent;
+        this.size = size;
+        OpenLayers.Layer.prototype.initialize.apply(this, [name, options]);
+
+        this.aspectRatio = (this.extent.getHeight() / this.size.h) /
+                           (this.extent.getWidth() / this.size.w);
+    },    
+
+    /**
+     * Method: destroy
+     * Destroy this layer
+     */
+    destroy: function() {
+        if (this.tile) {
+            this.tile.destroy();
+            this.tile = null;
+        }
+        OpenLayers.Layer.prototype.destroy.apply(this, arguments);
+    },
+    
+    /**
+     * Method: clone
+     * Create a clone of this layer
+     *
+     * Paramters:
+     * obj - {Object} An optional layer (is this ever used?)
+     *
+     * Returns:
+     * {<OpenLayers.Layer.Image>} An exact copy of this layer
+     */
+    clone: function(obj) {
+        
+        if(obj == null) {
+            obj = new OpenLayers.Layer.Image(this.name,
+                                               this.url,
+                                               this.extent,
+                                               this.size,
+                                               this.options);
+        }
+
+        //get all additions from superclasses
+        obj = OpenLayers.Layer.prototype.clone.apply(this, [obj]);
+
+        // copy/set any non-init, non-simple values here
+
+        return obj;
+    },    
+    
+    /**
+     * APIMethod: setMap
+     * 
+     * Parameters:
+     * map - {<OpenLayers.Map>}
+     */
+    setMap: function(map) {
+        /**
+         * If nothing to do with resolutions has been set, assume a single
+         * resolution determined by ratio*extent/size - if an image has a
+         * pixel aspect ratio different than one (as calculated above), the
+         * image will be stretched in one dimension only.
+         */
+        if( this.options.maxResolution == null ) {
+            this.options.maxResolution = this.aspectRatio *
+                                         this.extent.getWidth() /
+                                         this.size.w;
+        }
+        OpenLayers.Layer.prototype.setMap.apply(this, arguments);
+    },
+
+    /** 
+     * Method: moveTo
+     * Create the tile for the image or resize it for the new resolution
+     * 
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     * zoomChanged - {Boolean}
+     * dragging - {Boolean}
+     */
+    moveTo:function(bounds, zoomChanged, dragging) {
+        OpenLayers.Layer.prototype.moveTo.apply(this, arguments);
+
+        var firstRendering = (this.tile == null);
+
+        if(zoomChanged || firstRendering) {
+
+            //determine new tile size
+            this.setTileSize();
+
+            //determine new position (upper left corner of new bounds)
+            var ul = new OpenLayers.LonLat(this.extent.left, this.extent.top);
+            var ulPx = this.map.getLayerPxFromLonLat(ul);
+
+            if(firstRendering) {
+                //create the new tile
+                this.tile = new OpenLayers.Tile.Image(this, ulPx, this.extent, 
+                                                      null, this.tileSize);
+            } else {
+                //just resize the tile and set it's new position
+                this.tile.size = this.tileSize.clone();
+                this.tile.position = ulPx.clone();
+            }
+            this.tile.draw();
+        }
+    }, 
+
+    /**
+     * Set the tile size based on the map size.
+     */
+    setTileSize: function() {
+        var tileWidth = this.extent.getWidth() / this.map.getResolution();
+        var tileHeight = this.extent.getHeight() / this.map.getResolution();
+        this.tileSize = new OpenLayers.Size(tileWidth, tileHeight);
+    },
+
+    /**
+     * APIMethod: setUrl
+     * 
+     * Parameters:
+     * newUrl - {String}
+     */
+    setUrl: function(newUrl) {
+        this.url = newUrl;
+        this.tile.draw();
+    },
+
+    /** 
+     * APIMethod: getURL
+     * The url we return is always the same (the image itself never changes)
+     *     so we can ignore the bounds parameter (it will always be the same, 
+     *     anyways) 
+     * 
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     */
+    getURL: function(bounds) {
+        return this.url;
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.Image"
+});
+/* ======================================================================
+    OpenLayers/Layer/Markers.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Layer.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.Markers
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Layer> 
+ */
+OpenLayers.Layer.Markers = OpenLayers.Class(OpenLayers.Layer, {
+    
+    /** 
+     * APIProperty: isBaseLayer 
+     * {Boolean} Markers layer is never a base layer.  
+     */
+    isBaseLayer: false,
+    
+    /** 
+     * Property: markers 
+     * Array({<OpenLayers.Marker>}) internal marker list 
+     */
+    markers: null,
+
+
+    /** 
+     * Property: drawn 
+     * {Boolean} internal state of drawing. This is a workaround for the fact
+     * that the map does not call moveTo with a zoomChanged when the map is
+     * first starting up. This lets us catch the case where we have *never*
+     * drawn the layer, and draw it even if the zoom hasn't changed.
+     */
+    drawn: false,
+    
+    /**
+     * Constructor: OpenLayers.Layer.Markers 
+     * Create a Markers layer.
+     *
+     * Parameters:
+     * name - {String} 
+     * options - {Object} Hashtable of extra options to tag onto the layer
+     */
+    initialize: function(name, options) {
+        OpenLayers.Layer.prototype.initialize.apply(this, arguments);
+        this.markers = [];
+    },
+    
+    /**
+     * APIMethod: destroy 
+     */
+    destroy: function() {
+        this.clearMarkers();
+        this.markers = null;
+        OpenLayers.Layer.prototype.destroy.apply(this, arguments);
+    },
+
+    /**
+     * APIMethod: setOpacity
+     * Sets the opacity for all the markers.
+     * 
+     * Parameter:
+     * opacity - {Float}
+     */
+    setOpacity: function(opacity) {
+        if (opacity != this.opacity) {
+            this.opacity = opacity;
+            for (var i = 0; i < this.markers.length; i++) {
+                this.markers[i].setOpacity(this.opacity);
+            }
+        }
+    },
+
+    /** 
+     * Method: moveTo
+     *
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>} 
+     * zoomChanged - {Boolean} 
+     * dragging - {Boolean} 
+     */
+    moveTo:function(bounds, zoomChanged, dragging) {
+        OpenLayers.Layer.prototype.moveTo.apply(this, arguments);
+
+        if (zoomChanged || !this.drawn) {
+            for(var i=0; i < this.markers.length; i++) {
+                this.drawMarker(this.markers[i]);
+            }
+            this.drawn = true;
+        }
+    },
+
+    /**
+     * APIMethod: addMarker
+     *
+     * Parameters:
+     * marker - {<OpenLayers.Marker>} 
+     */
+    addMarker: function(marker) {
+        this.markers.push(marker);
+
+        if (this.opacity != null) {
+            marker.setOpacity(this.opacity);
+        }
+
+        if (this.map && this.map.getExtent()) {
+            marker.map = this.map;
+            this.drawMarker(marker);
+        }
+    },
+
+    /**
+     * APIMethod: removeMarker
+     *
+     * Parameters:
+     * marker - {<OpenLayers.Marker>} 
+     */
+    removeMarker: function(marker) {
+        if (this.markers && this.markers.length) {
+            OpenLayers.Util.removeItem(this.markers, marker);
+            if ((marker.icon != null) && (marker.icon.imageDiv != null) &&
+                (marker.icon.imageDiv.parentNode == this.div) ) {
+                this.div.removeChild(marker.icon.imageDiv);    
+                marker.drawn = false;
+            }
+        }
+    },
+
+    /**
+     * Method: clearMarkers
+     * This method removes all markers from a layer. The markers are not
+     * destroyed by this function, but are removed from the list of markers.
+     */
+    clearMarkers: function() {
+        if (this.markers != null) {
+            while(this.markers.length > 0) {
+                this.removeMarker(this.markers[0]);
+            }
+        }
+    },
+
+    /** 
+     * Method: drawMarker
+     * Calculate the pixel location for the marker, create it, and 
+     *    add it to the layer's div
+     *
+     * Parameters:
+     * marker - {<OpenLayers.Marker>} 
+     */
+    drawMarker: function(marker) {
+        var px = this.map.getLayerPxFromLonLat(marker.lonlat);
+        if (px == null) {
+            marker.display(false);
+        } else {
+            var markerImg = marker.draw(px);
+            if (!marker.drawn) {
+                this.div.appendChild(markerImg);
+                marker.drawn = true;
+            }
+        }
+    },
+    
+    /** 
+     * APIMethod: getDataExtent
+     * Calculates the max extent which includes all of the markers.
+     * 
+     * Returns:
+     * {<OpenLayers.Bounds>}
+     */
+    getDataExtent: function () {
+        var maxExtent = null;
+        
+        if ( this.markers && (this.markers.length > 0)) {
+            var maxExtent = new OpenLayers.Bounds();
+            for(var i=0; i < this.markers.length; i++) {
+                var marker = this.markers[i];
+                maxExtent.extend(marker.lonlat);
+            }
+        }
+
+        return maxExtent;
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.Markers"
+});
+/* ======================================================================
+    OpenLayers/Layer/SphericalMercator.js
+   ====================================================================== */
+
+/**
+ * @requires OpenLayers/Layer.js
+ * @requires OpenLayers/Projection.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.SphericalMercator
+ * A mixin for layers that wraps up the pieces neccesary to have a coordinate
+ *     conversion for working with commercial APIs which use a spherical
+ *     mercator projection.  Using this layer as a base layer, additional
+ *     layers can be used as overlays if they are in the same projection.
+ *
+ * A layer is given properties of this object by setting the sphericalMercator
+ *     property to true.
+ *
+ * More projection information:
+ *  - http://spatialreference.org/ref/user/google-projection/
+ *
+ * Proj4 Text:
+ *     +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0
+ *     +k=1.0 +units=m +nadgrids=@null +no_defs
+ *
+ * WKT:
+ *     900913=PROJCS["WGS84 / Simple Mercator", GEOGCS["WGS 84",
+ *     DATUM["WGS_1984", SPHEROID["WGS_1984", 6378137.0, 298.257223563]], 
+ *     PRIMEM["Greenwich", 0.0], UNIT["degree", 0.017453292519943295], 
+ *     AXIS["Longitude", EAST], AXIS["Latitude", NORTH]],
+ *     PROJECTION["Mercator_1SP_Google"], 
+ *     PARAMETER["latitude_of_origin", 0.0], PARAMETER["central_meridian", 0.0], 
+ *     PARAMETER["scale_factor", 1.0], PARAMETER["false_easting", 0.0], 
+ *     PARAMETER["false_northing", 0.0], UNIT["m", 1.0], AXIS["x", EAST],
+ *     AXIS["y", NORTH], AUTHORITY["EPSG","900913"]]
+ */
+OpenLayers.Layer.SphericalMercator = {
+
+    /**
+     * Method: getExtent
+     * Get the map's extent.
+     *
+     * Returns:
+     * {<OpenLayers.Bounds>} The map extent.
+     */
+    getExtent: function() {
+        var extent = null;
+        if (this.sphericalMercator) {
+            extent = this.map.calculateBounds();
+        } else {
+            extent = OpenLayers.Layer.FixedZoomLevels.prototype.getExtent.apply(this);
+        }
+        return extent;
+    },
+
+    /** 
+     * Method: initMercatorParameters 
+     * Set up the mercator parameters on the layer: resolutions,
+     *     projection, units.
+     */
+    initMercatorParameters: function() {
+        // set up properties for Mercator - assume EPSG:900913
+        this.RESOLUTIONS = [];
+        var maxResolution = 156543.0339;
+        for(var zoom=0; zoom<=this.MAX_ZOOM_LEVEL; ++zoom) {
+            this.RESOLUTIONS[zoom] = maxResolution / Math.pow(2, zoom);
+        }
+        this.units = "m";
+        this.projection = "EPSG:900913";
+    },
+
+    /**
+     * APIMethod: forwardMercator
+     * Given a lon,lat in EPSG:4326, return a point in Spherical Mercator.
+     *
+     * Parameters:
+     * lon - {float} 
+     * lat - {float}
+     * 
+     * Returns:
+     * {<OpenLayers.LonLat>} The coordinates transformed to Mercator.
+     */
+    forwardMercator: function(lon, lat) {
+        var x = lon * 20037508.34 / 180;
+        var y = Math.log(Math.tan((90 + lat) * Math.PI / 360)) / (Math.PI / 180);
+
+        y = y * 20037508.34 / 180;
+        
+        return new OpenLayers.LonLat(x, y);
+    },
+
+    /**
+     * APIMethod: inverseMercator
+     * Given a x,y in Spherical Mercator, return a point in EPSG:4326.
+     *
+     * Parameters:
+     * x - {float} A map x in Spherical Mercator.
+     * y - {float} A map y in Spherical Mercator.
+     * 
+     * Returns:
+     * {<OpenLayers.LonLat>} The coordinates transformed to EPSG:4326.
+     */
+    inverseMercator: function(x, y) {
+
+        var lon = (x / 20037508.34) * 180;
+        var lat = (y / 20037508.34) * 180;
+
+        lat = 180/Math.PI * (2 * Math.atan(Math.exp(lat * Math.PI / 180)) - Math.PI / 2);
+        
+        return new OpenLayers.LonLat(lon, lat);
+    },
+
+    /**
+     * Method: projectForward 
+     * Given an object with x and y properties in EPSG:4326, modify the x,y
+     * properties on the object to be the Spherical Mercator projected
+     * coordinates.
+     *
+     * Parameters:
+     * point - {Object} An object with x and y properties. 
+     * 
+     * Returns:
+     * {Object} The point, with the x and y properties transformed to spherical
+     * mercator.
+     */
+    projectForward: function(point) {
+        var lonlat = OpenLayers.Layer.SphericalMercator.forwardMercator(point.x, point.y);
+        point.x = lonlat.lon;
+        point.y = lonlat.lat;
+        return point;
+    },
+    
+    /**
+     * Method: projectInverse
+     * Given an object with x and y properties in Spherical Mercator, modify
+     * the x,y properties on the object to be the unprojected coordinates.
+     *
+     * Parameters:
+     * point - {Object} An object with x and y properties. 
+     * 
+     * Returns:
+     * {Object} The point, with the x and y properties transformed from
+     * spherical mercator to unprojected coordinates..
+     */
+    projectInverse: function(point) {
+        var lonlat = OpenLayers.Layer.SphericalMercator.inverseMercator(point.x, point.y);
+        point.x = lonlat.lon;
+        point.y = lonlat.lat;
+        return point;
+    }
+
+};
+
+/**
+ * Note: Two transforms declared
+ * Transforms from EPSG:4326 to EPSG:900913 and from EPSG:900913 to EPSG:4326
+ *     are set by this class.
+ */
+OpenLayers.Projection.addTransform("EPSG:4326", "EPSG:900913",
+    OpenLayers.Layer.SphericalMercator.projectForward);
+OpenLayers.Projection.addTransform("EPSG:900913", "EPSG:4326",
+    OpenLayers.Layer.SphericalMercator.projectInverse);
+/* ======================================================================
+    OpenLayers/Control/DrawFeature.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Control.js
+ * @requires OpenLayers/Feature/Vector.js
+ */
+
+/**
+ * Class: OpenLayers.Control.DrawFeature
+ * Draws features on a vector layer when active.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Control>
+ */
+OpenLayers.Control.DrawFeature = OpenLayers.Class(OpenLayers.Control, {
+    
+    /**
+     * Property: layer
+     * {<OpenLayers.Layer.Vector>}
+     */
+    layer: null,
+
+    /**
+     * Property: callbacks
+     * {Object} The functions that are sent to the handler for callback
+     */
+    callbacks: null,
+    
+    /**
+     * APIProperty: featureAdded
+     * {Function} Called after each feature is added
+     */
+    featureAdded: function() {},
+
+    /**
+     * APIProperty: handlerOptions
+     * {Object} Used to set non-default properties on the control's handler
+     */
+    handlerOptions: null,
+    
+    /**
+     * Constructor: OpenLayers.Control.DrawFeature
+     * 
+     * Parameters:
+     * layer - {<OpenLayers.Layer.Vector>} 
+     * handler - {<OpenLayers.Handler>} 
+     * options - {Object} 
+     */
+    initialize: function(layer, handler, options) {
+        OpenLayers.Control.prototype.initialize.apply(this, [options]);
+        this.callbacks = OpenLayers.Util.extend({done: this.drawFeature},
+                                                this.callbacks);
+        this.layer = layer;
+        this.handler = new handler(this, this.callbacks, this.handlerOptions);
+    },
+
+    /**
+     * Method: drawFeature
+     */
+    drawFeature: function(geometry) {
+        var feature = new OpenLayers.Feature.Vector(geometry);
+        this.layer.addFeatures([feature]);
+        this.featureAdded(feature);
+    },
+
+    CLASS_NAME: "OpenLayers.Control.DrawFeature"
+});
+/* ======================================================================
+    OpenLayers/Control/SelectFeature.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Control.js
+ * @requires OpenLayers/Feature/Vector.js
+ * @requires OpenLayers/Handler/Feature.js
+ */
+
+/**
+ * Class: OpenLayers.Control.SelectFeature
+ * Selects vector features from a given layer on click or hover. 
+ *
+ * Inherits from:
+ *  - <OpenLayers.Control>
+ */
+OpenLayers.Control.SelectFeature = OpenLayers.Class(OpenLayers.Control, {
+    
+    /**
+     * Property: multipleKey
+     * {String} An event modifier ('altKey' or 'shiftKey') that temporarily sets
+     *     the <multiple> property to true.  Default is null.
+     */
+    multipleKey: null,
+    
+    /**
+     * Property: toggleKey
+     * {String} An event modifier ('altKey' or 'shiftKey') that temporarily sets
+     *     the <toggle> property to true.  Default is null.
+     */
+    toggleKey: null,
+    
+    /**
+     * APIProperty: multiple
+     * {Boolean} Allow selection of multiple geometries.  Default is false.
+     */
+    multiple: false, 
+
+    /**
+     * APIProperty: clickout
+     * {Boolean} Unselect features when clicking outside any feature.
+     *     Default is true.
+     */
+    clickout: true,
+
+    /**
+     * APIProperty: toggle
+     * {Boolean} Unselect a selected feature on click.  Default is false.  Only
+     *     has meaning if hover is false.
+     */
+    toggle: false,
+
+    /**
+     * APIProperty: hover
+     * {Boolean} Select on mouse over and deselect on mouse out.  If true, this
+     * ignores clicks and only listens to mouse moves.
+     */
+    hover: false,
+    
+    /**
+     * APIProperty: onSelect 
+     * {Function} Optional function to be called when a feature is selected.
+     * The function should expect to be called with a feature.
+     */
+    onSelect: function() {},
+
+    /**
+     * APIProperty: onUnselect
+     * {Function} Optional function to be called when a feature is unselected.
+     *                  The function should expect to be called with a feature.
+     */
+    onUnselect: function() {},
+
+    /**
+     * APIProperty: geometryTypes
+     * {Array(String)} To restrict selecting to a limited set of geometry types,
+     *     send a list of strings corresponding to the geometry class names.
+     */
+    geometryTypes: null,
+
+    /**
+     * Property: layer
+     * {<OpenLayers.Layer.Vector>}
+     */
+    layer: null,
+    
+    /**
+     * APIProperty: callbacks
+     * {Object} The functions that are sent to the handler for callback
+     */
+    callbacks: null,
+    
+    /**
+     * APIProperty: selectStyle 
+     * {Object} Hash of styles
+     */
+    selectStyle: null,
+    
+    /**
+     * Property: renderIntent
+     * {String} key used to retrieve the select style from the layer's
+     * style map.
+     */
+    renderIntent: "select",
+
+    /**
+     * Property: handler
+     * {<OpenLayers.Handler.Feature>}
+     */
+    handler: null,
+
+    /**
+     * Constructor: <OpenLayers.Control.SelectFeature>
+     *
+     * Parameters:
+     * layer - {<OpenLayers.Layer.Vector>} 
+     * options - {Object} 
+     */
+    initialize: function(layer, options) {
+        OpenLayers.Control.prototype.initialize.apply(this, [options]);
+        this.layer = layer;
+        this.callbacks = OpenLayers.Util.extend({
+                                                  click: this.clickFeature,
+                                                  clickout: this.clickoutFeature,
+                                                  over: this.overFeature,
+                                                  out: this.outFeature
+                                                }, this.callbacks);
+        var handlerOptions = { geometryTypes: this.geometryTypes};
+        this.handler = new OpenLayers.Handler.Feature(this, layer,
+                                                      this.callbacks,
+                                                      handlerOptions);
+    },
+
+    /**
+     * Method: unselectAll
+     * Unselect all selected features.  To unselect all except for a single
+     *     feature, set the options.except property to the feature.
+     *
+     * Parameters:
+     * options - {Object} Optional configuration object.
+     */
+    unselectAll: function(options) {
+        // we'll want an option to supress notification here
+        var feature;
+        for(var i=this.layer.selectedFeatures.length-1; i>=0; --i) {
+            feature = this.layer.selectedFeatures[i];
+            if(!options || options.except != feature) {
+                this.unselect(feature);
+            }
+        }
+    },
+
+    /**
+     * Method: clickFeature
+     * Called on click in a feature
+     * Only responds if this.hover is false.
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>} 
+     */
+    clickFeature: function(feature) {
+        if(!this.hover) {
+            var selected = (OpenLayers.Util.indexOf(this.layer.selectedFeatures,
+                                                    feature) > -1);
+            if(selected) {
+                if(this.toggleSelect()) {
+                    this.unselect(feature);
+                } else if(!this.multipleSelect()) {
+                    this.unselectAll({except: feature});
+                }
+            } else {
+                if(!this.multipleSelect()) {
+                    this.unselectAll({except: feature});
+                }
+                this.select(feature);
+            }
+        }
+    },
+
+    /**
+     * Method: multipleSelect
+     * Allow for multiple selected features based on <multiple> property and
+     *     <multipleKey> event modifier.
+     *
+     * Returns:
+     * {Boolean} Allow for multiple selected features.
+     */
+    multipleSelect: function() {
+        return this.multiple || this.handler.evt[this.multipleKey];
+    },
+    
+    /**
+     * Method: toggleSelect
+     * Event should toggle the selected state of a feature based on <toggle>
+     *     property and <toggleKey> event modifier.
+     *
+     * Returns:
+     * {Boolean} Toggle the selected state of a feature.
+     */
+    toggleSelect: function() {
+        return this.toggle || this.handler.evt[this.toggleKey];
+    },
+
+    /**
+     * Method: clickoutFeature
+     * Called on click outside a previously clicked (selected) feature.
+     * Only responds if this.hover is false.
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Vector.Feature>} 
+     */
+    clickoutFeature: function(feature) {
+        if(!this.hover && this.clickout) {
+            this.unselectAll();
+        }
+    },
+
+    /**
+     * Method: overFeature
+     * Called on over a feature.
+     * Only responds if this.hover is true.
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>} 
+     */
+    overFeature: function(feature) {
+        if(this.hover &&
+           (OpenLayers.Util.indexOf(this.layer.selectedFeatures, feature) == -1)) {
+            this.select(feature);
+        }
+    },
+
+    /**
+     * Method: outFeature
+     * Called on out of a selected feature.
+     * Only responds if this.hover is true.
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>} 
+     */
+    outFeature: function(feature) {
+        if(this.hover) {
+            this.unselect(feature);
+        }
+    },
+    
+    /**
+     * Method: select
+     * Add feature to the layer's selectedFeature array, render the feature as
+     * selected, and call the onSelect function.
+     * 
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>} 
+     */
+    select: function(feature) {
+        this.layer.selectedFeatures.push(feature);
+
+        var selectStyle = this.selectStyle || this.renderIntent;
+        
+        this.layer.drawFeature(feature, selectStyle);
+        this.layer.events.triggerEvent("featureselected", {feature: feature});
+        this.onSelect(feature);
+    },
+
+    /**
+     * Method: unselect
+     * Remove feature from the layer's selectedFeature array, render the feature as
+     * normal, and call the onUnselect function.
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>} 
+     */
+    unselect: function(feature) {
+        // Store feature style for restoration later
+        this.layer.drawFeature(feature, "default");
+        OpenLayers.Util.removeItem(this.layer.selectedFeatures, feature);
+        this.layer.events.triggerEvent("featureunselected", {feature: feature});
+        this.onUnselect(feature);
+    },
+
+    /** 
+     * Method: setMap
+     * Set the map property for the control. 
+     * 
+     * Parameters:
+     * map - {<OpenLayers.Map>} 
+     */
+    setMap: function(map) {
+        this.handler.setMap(map);
+        OpenLayers.Control.prototype.setMap.apply(this, arguments);
+    },
+
+    CLASS_NAME: "OpenLayers.Control.SelectFeature"
+});
+/* ======================================================================
+    OpenLayers/Control/ZoomBox.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Control.js
+ * @requires OpenLayers/Handler/Box.js
+ */
+
+/**
+ * Class: OpenLayers.Control.ZoomBox
+ *
+ * Inherits from:
+ *  - <OpenLayers.Control>
+ */
+OpenLayers.Control.ZoomBox = OpenLayers.Class(OpenLayers.Control, {
+    /**
+     * Property: type
+     * {OpenLayers.Control.TYPE}
+     */
+    type: OpenLayers.Control.TYPE_TOOL,
+
+    /**
+     * Property: out
+     * {Boolean} Should the control be used for zooming out?
+     */
+    out: false,
+
+    /**
+     * Method: draw
+     */    
+    draw: function() {
+        this.handler = new OpenLayers.Handler.Box( this,
+                            {done: this.zoomBox}, {keyMask: this.keyMask} );
+    },
+
+    /**
+     * Method: zoomBox
+     *
+     * Parameters:
+     * position - {<OpenLayers.Bounds>} or {<OpenLayers.Pixel>}
+     */
+    zoomBox: function (position) {
+        if (position instanceof OpenLayers.Bounds) {
+            if (!this.out) {
+                var minXY = this.map.getLonLatFromPixel(
+                            new OpenLayers.Pixel(position.left, position.bottom));
+                var maxXY = this.map.getLonLatFromPixel(
+                            new OpenLayers.Pixel(position.right, position.top));
+                var bounds = new OpenLayers.Bounds(minXY.lon, minXY.lat,
+                                               maxXY.lon, maxXY.lat);
+            } else {
+                var pixWidth = Math.abs(position.right-position.left);
+                var pixHeight = Math.abs(position.top-position.bottom);
+                var zoomFactor = Math.min((this.map.size.h / pixHeight),
+                    (this.map.size.w / pixWidth));
+                var extent = this.map.getExtent();
+                var center = this.map.getLonLatFromPixel(
+                    position.getCenterPixel());
+                var xmin = center.lon - (extent.getWidth()/2)*zoomFactor;
+                var xmax = center.lon + (extent.getWidth()/2)*zoomFactor;
+                var ymin = center.lat - (extent.getHeight()/2)*zoomFactor;
+                var ymax = center.lat + (extent.getHeight()/2)*zoomFactor;
+                var bounds = new OpenLayers.Bounds(xmin, ymin, xmax, ymax);
+            }
+            this.map.zoomToExtent(bounds);
+        } else { // it's a pixel
+            if (!this.out) {
+                this.map.setCenter(this.map.getLonLatFromPixel(position),
+                               this.map.getZoom() + 1);
+            } else {
+                this.map.setCenter(this.map.getLonLatFromPixel(position),
+                               this.map.getZoom() - 1);
+            }
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Control.ZoomBox"
+});
+/* ======================================================================
+    OpenLayers/Format/WKT.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Format.js
+ * @requires OpenLayers/Feature/Vector.js
+ */
+
+/**
+ * Class: OpenLayers.Format.WKT
+ * Class for reading and writing Well-Known Text.  Create a new instance
+ * with the <OpenLayers.Format.WKT> constructor.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Format>
+ */
+OpenLayers.Format.WKT = OpenLayers.Class(OpenLayers.Format, {
+    
+    /**
+     * Constructor: OpenLayers.Format.WKT
+     * Create a new parser for WKT
+     *
+     * Parameters:
+     * options - {Object} An optional object whose properties will be set on
+     *           this instance
+     *
+     * Returns:
+     * {<OpenLayers.Format.WKT>} A new WKT parser.
+     */
+    initialize: function(options) {
+        this.regExes = {
+            'typeStr': /^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,
+            'spaces': /\s+/,
+            'parenComma': /\)\s*,\s*\(/,
+            'doubleParenComma': /\)\s*\)\s*,\s*\(\s*\(/,  // can't use {2} here
+            'trimParens': /^\s*\(?(.*?)\)?\s*$/
+        };
+        OpenLayers.Format.prototype.initialize.apply(this, [options]);
+    },
+
+    /**
+     * Method: read
+     * Deserialize a WKT string and return a vector feature or an
+     * array of vector features.  Supports WKT for POINT, MULTIPOINT,
+     * LINESTRING, MULTILINESTRING, POLYGON, MULTIPOLYGON, and
+     * GEOMETRYCOLLECTION.
+     *
+     * Parameters:
+     * wkt - {String} A WKT string
+     *
+     * Returns:
+     * {<OpenLayers.Feature.Vector>|Array} A feature or array of features for
+     * GEOMETRYCOLLECTION WKT.
+     */
+    read: function(wkt) {
+        var features, type, str;
+        var matches = this.regExes.typeStr.exec(wkt);
+        if(matches) {
+            type = matches[1].toLowerCase();
+            str = matches[2];
+            if(this.parse[type]) {
+                features = this.parse[type].apply(this, [str]);
+            }
+            if (this.internalProjection && this.externalProjection) {
+                if (features && 
+                    features.CLASS_NAME == "OpenLayers.Feature.Vector") {
+                    features.geometry.transform(this.externalProjection,
+                                                this.internalProjection);
+                } else if (features && typeof features == "object") {
+                    for (var i = 0; i < features.length; i++) {
+                        var component = features[i];
+                        component.geometry.transform(this.externalProjection,
+                                                     this.internalProjection);
+                    }
+                }
+            }
+        }    
+        return features;
+    },
+
+    /**
+     * Method: write
+     * Serialize a feature or array of features into a WKT string.
+     *
+     * Parameters:
+     * features - {<OpenLayers.Feature.Vector>|Array} A feature or array of
+     *            features
+     *
+     * Returns:
+     * {String} The WKT string representation of the input geometries
+     */
+    write: function(features) {
+        var collection, geometry, type, data, isCollection;
+        if(features.constructor == Array) {
+            collection = features;
+            isCollection = true;
+        } else {
+            collection = [features];
+            isCollection = false;
+        }
+        var pieces = [];
+        if(isCollection) {
+            pieces.push('GEOMETRYCOLLECTION(');
+        }
+        for(var i=0; i<collection.length; ++i) {
+            if(isCollection && i>0) {
+                pieces.push(',');
+            }
+            geometry = collection[i].geometry;
+            type = geometry.CLASS_NAME.split('.')[2].toLowerCase();
+            if(!this.extract[type]) {
+                return null;
+            }
+            if (this.internalProjection && this.externalProjection) {
+                geometry = geometry.clone();
+                geometry.transform(this.internalProjection, 
+                                   this.externalProjection);
+            }                       
+            data = this.extract[type].apply(this, [geometry]);
+            pieces.push(type.toUpperCase() + '(' + data + ')');
+        }
+        if(isCollection) {
+            pieces.push(')');
+        }
+        return pieces.join('');
+    },
+    
+    /**
+     * Object with properties corresponding to the geometry types.
+     * Property values are functions that do the actual data extraction.
+     */
+    extract: {
+        /**
+         * Return a space delimited string of point coordinates.
+         * @param {<OpenLayers.Geometry.Point>} point
+         * @returns {String} A string of coordinates representing the point
+         */
+        'point': function(point) {
+            return point.x + ' ' + point.y;
+        },
+
+        /**
+         * Return a comma delimited string of point coordinates from a multipoint.
+         * @param {<OpenLayers.Geometry.MultiPoint>} multipoint
+         * @returns {String} A string of point coordinate strings representing
+         *                  the multipoint
+         */
+        'multipoint': function(multipoint) {
+            var array = [];
+            for(var i=0; i<multipoint.components.length; ++i) {
+                array.push(this.extract.point.apply(this, [multipoint.components[i]]));
+            }
+            return array.join(',');
+        },
+        
+        /**
+         * Return a comma delimited string of point coordinates from a line.
+         * @param {<OpenLayers.Geometry.LineString>} linestring
+         * @returns {String} A string of point coordinate strings representing
+         *                  the linestring
+         */
+        'linestring': function(linestring) {
+            var array = [];
+            for(var i=0; i<linestring.components.length; ++i) {
+                array.push(this.extract.point.apply(this, [linestring.components[i]]));
+            }
+            return array.join(',');
+        },
+
+        /**
+         * Return a comma delimited string of linestring strings from a multilinestring.
+         * @param {<OpenLayers.Geometry.MultiLineString>} multilinestring
+         * @returns {String} A string of of linestring strings representing
+         *                  the multilinestring
+         */
+        'multilinestring': function(multilinestring) {
+            var array = [];
+            for(var i=0; i<multilinestring.components.length; ++i) {
+                array.push('(' +
+                           this.extract.linestring.apply(this, [multilinestring.components[i]]) +
+                           ')');
+            }
+            return array.join(',');
+        },
+        
+        /**
+         * Return a comma delimited string of linear ring arrays from a polygon.
+         * @param {<OpenLayers.Geometry.Polygon>} polygon
+         * @returns {String} An array of linear ring arrays representing the polygon
+         */
+        'polygon': function(polygon) {
+            var array = [];
+            for(var i=0; i<polygon.components.length; ++i) {
+                array.push('(' +
+                           this.extract.linestring.apply(this, [polygon.components[i]]) +
+                           ')');
+            }
+            return array.join(',');
+        },
+
+        /**
+         * Return an array of polygon arrays from a multipolygon.
+         * @param {<OpenLayers.Geometry.MultiPolygon>} multipolygon
+         * @returns {Array} An array of polygon arrays representing
+         *                  the multipolygon
+         */
+        'multipolygon': function(multipolygon) {
+            var array = [];
+            for(var i=0; i<multipolygon.components.length; ++i) {
+                array.push('(' +
+                           this.extract.polygon.apply(this, [multipolygon.components[i]]) +
+                           ')');
+            }
+            return array.join(',');
+        }
+
+    },
+
+    /**
+     * Object with properties corresponding to the geometry types.
+     * Property values are functions that do the actual parsing.
+     */
+    parse: {
+        /**
+         * Return point feature given a point WKT fragment.
+         * @param {String} str A WKT fragment representing the point
+         * @returns {<OpenLayers.Feature.Vector>} A point feature
+         * @private
+         */
+        'point': function(str) {
+            var coords = OpenLayers.String.trim(str).split(this.regExes.spaces);
+            return new OpenLayers.Feature.Vector(
+                new OpenLayers.Geometry.Point(coords[0], coords[1])
+            );
+        },
+
+        /**
+         * Return a multipoint feature given a multipoint WKT fragment.
+         * @param {String} A WKT fragment representing the multipoint
+         * @returns {<OpenLayers.Feature.Vector>} A multipoint feature
+         * @private
+         */
+        'multipoint': function(str) {
+            var points = OpenLayers.String.trim(str).split(',');
+            var components = [];
+            for(var i=0; i<points.length; ++i) {
+                components.push(this.parse.point.apply(this, [points[i]]).geometry);
+            }
+            return new OpenLayers.Feature.Vector(
+                new OpenLayers.Geometry.MultiPoint(components)
+            );
+        },
+        
+        /**
+         * Return a linestring feature given a linestring WKT fragment.
+         * @param {String} A WKT fragment representing the linestring
+         * @returns {<OpenLayers.Feature.Vector>} A linestring feature
+         * @private
+         */
+        'linestring': function(str) {
+            var points = OpenLayers.String.trim(str).split(',');
+            var components = [];
+            for(var i=0; i<points.length; ++i) {
+                components.push(this.parse.point.apply(this, [points[i]]).geometry);
+            }
+            return new OpenLayers.Feature.Vector(
+                new OpenLayers.Geometry.LineString(components)
+            );
+        },
+
+        /**
+         * Return a multilinestring feature given a multilinestring WKT fragment.
+         * @param {String} A WKT fragment representing the multilinestring
+         * @returns {<OpenLayers.Feature.Vector>} A multilinestring feature
+         * @private
+         */
+        'multilinestring': function(str) {
+            var line;
+            var lines = OpenLayers.String.trim(str).split(this.regExes.parenComma);
+            var components = [];
+            for(var i=0; i<lines.length; ++i) {
+                line = lines[i].replace(this.regExes.trimParens, '$1');
+                components.push(this.parse.linestring.apply(this, [line]).geometry);
+            }
+            return new OpenLayers.Feature.Vector(
+                new OpenLayers.Geometry.MultiLineString(components)
+            );
+        },
+        
+        /**
+         * Return a polygon feature given a polygon WKT fragment.
+         * @param {String} A WKT fragment representing the polygon
+         * @returns {<OpenLayers.Feature.Vector>} A polygon feature
+         * @private
+         */
+        'polygon': function(str) {
+            var ring, linestring, linearring;
+            var rings = OpenLayers.String.trim(str).split(this.regExes.parenComma);
+            var components = [];
+            for(var i=0; i<rings.length; ++i) {
+                ring = rings[i].replace(this.regExes.trimParens, '$1');
+                linestring = this.parse.linestring.apply(this, [ring]).geometry;
+                linearring = new OpenLayers.Geometry.LinearRing(linestring.components);
+                components.push(linearring);
+            }
+            return new OpenLayers.Feature.Vector(
+                new OpenLayers.Geometry.Polygon(components)
+            );
+        },
+
+        /**
+         * Return a multipolygon feature given a multipolygon WKT fragment.
+         * @param {String} A WKT fragment representing the multipolygon
+         * @returns {<OpenLayers.Feature.Vector>} A multipolygon feature
+         * @private
+         */
+        'multipolygon': function(str) {
+            var polygon;
+            var polygons = OpenLayers.String.trim(str).split(this.regExes.doubleParenComma);
+            var components = [];
+            for(var i=0; i<polygons.length; ++i) {
+                polygon = polygons[i].replace(this.regExes.trimParens, '$1');
+                components.push(this.parse.polygon.apply(this, [polygon]).geometry);
+            }
+            return new OpenLayers.Feature.Vector(
+                new OpenLayers.Geometry.MultiPolygon(components)
+            );
+        },
+
+        /**
+         * Return an array of features given a geometrycollection WKT fragment.
+         * @param {String} A WKT fragment representing the geometrycollection
+         * @returns {Array} An array of OpenLayers.Feature.Vector
+         * @private
+         */
+        'geometrycollection': function(str) {
+            // separate components of the collection with |
+            str = str.replace(/,\s*([A-Za-z])/g, '|$1');
+            var wktArray = OpenLayers.String.trim(str).split('|');
+            var components = [];
+            for(var i=0; i<wktArray.length; ++i) {
+                components.push(OpenLayers.Format.WKT.prototype.read.apply(this,[wktArray[i]]));
+            }
+            return components;
+        }
+
+    },
+
+    CLASS_NAME: "OpenLayers.Format.WKT" 
+});     
+/* ======================================================================
+    OpenLayers/Layer/Boxes.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Layer.js
+ * @requires OpenLayers/Layer/Markers.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.Boxes
+ * Draw divs as 'boxes' on the layer. 
+ *
+ * Inherits from:
+ *  - <OpenLayers.Layer.Markers>
+ */
+OpenLayers.Layer.Boxes = OpenLayers.Class(OpenLayers.Layer.Markers, {
+
+    /**
+     * Constructor: OpenLayers.Layer.Boxes
+     *
+     * Parameters:
+     * name - {String} 
+     * options - {Object} Hashtable of extra options to tag onto the layer
+     */
+    initialize: function (name, options) {
+        OpenLayers.Layer.Markers.prototype.initialize.apply(this, arguments);
+    },
+    
+    /**
+     * Method: drawMarker 
+     * Calculate the pixel location for the marker, create it, and
+     *    add it to the layer's div
+     *
+     * Parameters: 
+     * marker - {<OpenLayers.Marker.Box>} 
+     */
+    drawMarker: function(marker) {
+        var bounds   = marker.bounds;
+        var topleft  = this.map.getLayerPxFromLonLat(
+                            new OpenLayers.LonLat(bounds.left,  bounds.top));
+        var botright = this.map.getLayerPxFromLonLat(
+                             new OpenLayers.LonLat(bounds.right, bounds.bottom));
+        if (botright == null || topleft == null) {
+            marker.display(false);
+        } else {
+            var sz = new OpenLayers.Size(
+                Math.max(1, botright.x - topleft.x),
+                Math.max(1, botright.y - topleft.y));
+            var markerDiv = marker.draw(topleft, sz);
+            if (!marker.drawn) {
+                this.div.appendChild(markerDiv);
+                marker.drawn = true;
+            }
+        }
+    },
+
+
+    /**
+     * APIMethod: removeMarker 
+     * 
+     * Parameters:
+     * marker - {<OpenLayers.Marker.Box>} 
+     */
+    removeMarker: function(marker) {
+        OpenLayers.Util.removeItem(this.markers, marker);
+        if ((marker.div != null) &&
+            (marker.div.parentNode == this.div) ) {
+            this.div.removeChild(marker.div);    
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.Boxes"
+});
+/* ======================================================================
+    OpenLayers/Layer/GeoRSS.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Layer/Markers.js
+ * @requires OpenLayers/Ajax.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.GeoRSS
+ * Add GeoRSS Point features to your map. 
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Layer.Markers>
+ *  - <OpenLayers.Layer>
+ */
+OpenLayers.Layer.GeoRSS = OpenLayers.Class(OpenLayers.Layer.Markers, {
+
+    /** 
+     * Property: location 
+     * {String} store url of text file 
+     */
+    location: null,
+
+    /** 
+     * Property: features 
+     * Array({<OpenLayers.Feature>}) 
+     */
+    features: null,
+    
+    /**
+     * APIProperty: formatOptions
+     * {Object} Hash of options which should be passed to the format when it is
+     * created. Must be passed in the constructor.
+     */
+    formatOptions: null, 
+
+    /** 
+     * Property: selectedFeature 
+     * {<OpenLayers.Feature>} 
+     */
+    selectedFeature: null,
+
+    /** 
+     * APIProperty: icon 
+     * {<OpenLayers.Icon>}. This determines the Icon to be used on the map
+     * for this GeoRSS layer.
+     */
+    icon: null,
+
+    /**
+     * APIProperty: popupSize
+     * {<OpenLayers.Size>} This determines the size of GeoRSS popups. If 
+     * not provided, defaults to 250px by 120px. 
+     */
+    popupSize: null, 
+    
+    /** 
+     * APIProperty: useFeedTitle 
+     * {Boolean} Set layer.name to the first <title> element in the feed. Default is true. 
+     */
+    useFeedTitle: true,
+    
+    /**
+    * Constructor: OpenLayers.Layer.GeoRSS
+    * Create a GeoRSS Layer.
+    *
+    * Parameters:
+    * name - {String} 
+    * location - {String} 
+    * options - {Object}
+    */
+    initialize: function(name, location, options) {
+        OpenLayers.Layer.Markers.prototype.initialize.apply(this, [name, options]);
+        this.location = location;
+        this.features = [];
+    },
+
+    /**
+     * Method: destroy 
+     */
+    destroy: function() {
+        // Warning: Layer.Markers.destroy() must be called prior to calling
+        // clearFeatures() here, otherwise we leak memory. Indeed, if
+        // Layer.Markers.destroy() is called after clearFeatures(), it won't be
+        // able to remove the marker image elements from the layer's div since
+        // the markers will have been destroyed by clearFeatures().
+        OpenLayers.Layer.Markers.prototype.destroy.apply(this, arguments);
+        this.clearFeatures();
+        this.features = null;
+    },
+
+    /**
+     * Method: loadRSS
+     * Start the load of the RSS data. Don't do this when we first add the layer,
+     * since we may not be visible at any point, and it would therefore be a waste.
+     */
+    loadRSS: function() {
+        if (!this.loaded) {
+            this.events.triggerEvent("loadstart");
+            OpenLayers.loadURL(this.location, null, this, this.parseData);
+            this.loaded = true;
+        }    
+    },    
+    
+    /**
+     * Method: moveTo
+     * If layer is visible and RSS has not been loaded, load RSS. 
+     * 
+     * Parameters:
+     * bounds - {Object} 
+     * zoomChanged - {Object} 
+     * minor - {Object} 
+     */
+    moveTo:function(bounds, zoomChanged, minor) {
+        OpenLayers.Layer.Markers.prototype.moveTo.apply(this, arguments);
+        if(this.visibility && !this.loaded){
+            this.events.triggerEvent("loadstart");
+            this.loadRSS();
+        }
+    },
+        
+    /**
+     * Method: parseData
+     * Parse the data returned from the Events call.
+     *
+     * Parameters:
+     * ajaxRequest - {XMLHttpRequest} 
+     */
+    parseData: function(ajaxRequest) {
+        var doc = ajaxRequest.responseXML;
+        if (!doc || !doc.documentElement) {
+            doc = OpenLayers.Format.XML.prototype.read(ajaxRequest.responseText);
+        }
+        
+        if (this.useFeedTitle) {
+            var name = null;
+            try {
+                name = doc.getElementsByTagNameNS('*', 'title')[0].firstChild.nodeValue;
+            }
+            catch (e) {
+                name = doc.getElementsByTagName('title')[0].firstChild.nodeValue;
+            }
+            if (name) {
+                this.setName(name);
+            }    
+        }
+       
+        var options = {};
+        
+        OpenLayers.Util.extend(options, this.formatOptions);
+        
+        if (this.map && !this.projection.equals(this.map.getProjectionObject())) {
+            options.externalProjection = this.projection;
+            options.internalProjection = this.map.getProjectionObject();
+        }    
+        
+        var format = new OpenLayers.Format.GeoRSS(options);
+        var features = format.read(doc);
+        
+        for (var i = 0; i < features.length; i++) {
+            var data = {};
+            var feature = features[i];
+            
+            // we don't support features with no geometry in the GeoRSS
+            // layer at this time. 
+            if (!feature.geometry) {
+                continue;
+            }    
+            
+            var title = feature.attributes.title ? 
+                         feature.attributes.title : "Untitled";
+            
+            var description = feature.attributes.description ? 
+                         feature.attributes.description : "No description.";
+            
+            var link = feature.attributes.link ? feature.attributes.link : "";
+
+            var location = feature.geometry.getBounds().getCenterLonLat();
+            
+            
+            data.icon = this.icon == null ? 
+                                     OpenLayers.Marker.defaultIcon() : 
+                                     this.icon.clone();
+            
+            data.popupSize = this.popupSize ? 
+                             this.popupSize.clone() :
+                             new OpenLayers.Size(250, 120);
+            
+            if (title || description) {
+                var contentHTML = '<div class="olLayerGeoRSSClose">[x]</div>'; 
+                contentHTML += '<div class="olLayerGeoRSSTitle">';
+                if (link) {
+                    contentHTML += '<a class="link" href="'+link+'" target="_blank">';
+                }
+                contentHTML += title;
+                if (link) {
+                    contentHTML += '</a>';
+                }
+                contentHTML += '</div>';
+                contentHTML += '<div style="" class="olLayerGeoRSSDescription">';
+                contentHTML += description;
+                contentHTML += '</div>';
+                data['popupContentHTML'] = contentHTML;                
+            }
+            var feature = new OpenLayers.Feature(this, location, data);
+            this.features.push(feature);
+            var marker = feature.createMarker();
+            marker.events.register('click', feature, this.markerClick);
+            this.addMarker(marker);
+        }
+        this.events.triggerEvent("loadend");
+    },
+    
+    /**
+     * Method: markerClick
+     *
+     * Parameters:
+     * evt - {Event} 
+     */
+    markerClick: function(evt) {
+        var sameMarkerClicked = (this == this.layer.selectedFeature);
+        this.layer.selectedFeature = (!sameMarkerClicked) ? this : null;
+        for(var i=0; i < this.layer.map.popups.length; i++) {
+            this.layer.map.removePopup(this.layer.map.popups[i]);
+        }
+        if (!sameMarkerClicked) {
+            var popup = this.createPopup();
+            OpenLayers.Event.observe(popup.div, "click",
+                OpenLayers.Function.bind(function() { 
+                    for(var i=0; i < this.layer.map.popups.length; i++) { 
+                        this.layer.map.removePopup(this.layer.map.popups[i]); 
+                    }
+                }, this)
+            );
+            this.layer.map.addPopup(popup); 
+        }
+        OpenLayers.Event.stop(evt);
+    },
+
+    /**
+     * Method: clearFeatures
+     * Destroy all features in this layer.
+     */
+    clearFeatures: function() {
+        if (this.features != null) {
+            while(this.features.length > 0) {
+                var feature = this.features[0];
+                OpenLayers.Util.removeItem(this.features, feature);
+                feature.destroy();
+            }
+        }        
+    },
+    
+    CLASS_NAME: "OpenLayers.Layer.GeoRSS"
+});
+/* ======================================================================
+    OpenLayers/Layer/Google.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Layer/SphericalMercator.js
+ * @requires OpenLayers/Layer/EventPane.js
+ * @requires OpenLayers/Layer/FixedZoomLevels.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.Google
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Layer.SphericalMercator>
+ *  - <OpenLayers.Layer.EventPane>
+ *  - <OpenLayers.Layer.FixedZoomLevels>
+ */
+OpenLayers.Layer.Google = OpenLayers.Class(
+    OpenLayers.Layer.EventPane, 
+    OpenLayers.Layer.FixedZoomLevels, {
+    
+    /** 
+     * Constant: MIN_ZOOM_LEVEL
+     * {Integer} 0 
+     */
+    MIN_ZOOM_LEVEL: 0,
+    
+    /** 
+     * Constant: MAX_ZOOM_LEVEL
+     * {Integer} 19
+     */
+    MAX_ZOOM_LEVEL: 19,
+
+    /** 
+     * Constant: RESOLUTIONS
+     * {Array(Float)} Hardcode these resolutions so that they are more closely
+     *                tied with the standard wms projection
+     */
+    RESOLUTIONS: [
+        1.40625, 
+        0.703125, 
+        0.3515625, 
+        0.17578125, 
+        0.087890625, 
+        0.0439453125,
+        0.02197265625, 
+        0.010986328125, 
+        0.0054931640625, 
+        0.00274658203125,
+        0.001373291015625, 
+        0.0006866455078125, 
+        0.00034332275390625,
+        0.000171661376953125, 
+        0.0000858306884765625, 
+        0.00004291534423828125,
+        0.00002145767211914062, 
+        0.00001072883605957031,
+        0.00000536441802978515, 
+        0.00000268220901489257
+    ],
+
+    /**
+     * APIProperty: type
+     * {GMapType}
+     */
+    type: null,
+
+    /**
+     * APIProperty: sphericalMercator
+     * {Boolean} Should the map act as a mercator-projected map? This will
+     *     cause all interactions with the map to be in the actual map 
+     *     projection, which allows support for vector drawing, overlaying 
+     *     other maps, etc. 
+     */
+    sphericalMercator: false, 
+    
+    /**
+     * Property: dragObject
+     * {GDraggableObject} Since 2.93, Google has exposed the ability to get
+     *     the maps GDraggableObject. We can now use this for smooth panning
+     */
+    dragObject: null, 
+
+    /** 
+     * Constructor: OpenLayers.Layer.Google
+     * 
+     * Parameters:
+     * name - {String} A name for the layer.
+     * options - {Object} An optional object whose properties will be set
+     *     on the layer.
+     */
+    initialize: function(name, options) {
+        OpenLayers.Layer.EventPane.prototype.initialize.apply(this, arguments);
+        OpenLayers.Layer.FixedZoomLevels.prototype.initialize.apply(this, 
+                                                                    arguments);
+        this.addContainerPxFunction();
+        if (this.sphericalMercator) {
+            OpenLayers.Util.extend(this, OpenLayers.Layer.SphericalMercator);
+            this.initMercatorParameters();
+        }    
+    },
+    
+    /** 
+     * Method: loadMapObject
+     * Load the GMap and register appropriate event listeners. If we can't 
+     *     load GMap2, then display a warning message.
+     */
+    loadMapObject:function() {
+        
+        //has gmaps library has been loaded?
+        try {
+            // create GMap, hide nav controls
+            this.mapObject = new GMap2( this.div );
+            
+            //since v 2.93 getDragObject is now available.
+            if(typeof this.mapObject.getDragObject == "function") {
+                this.dragObject = this.mapObject.getDragObject();
+            } else {
+                this.dragPanMapObject = null;
+            }
+
+
+            // move the ToS and branding stuff up to the pane
+            // thanks a *mil* Erik for thinking of this
+            var poweredBy = this.div.lastChild;
+            this.div.removeChild(poweredBy);
+            this.pane.appendChild(poweredBy);
+            poweredBy.className = "olLayerGooglePoweredBy gmnoprint";
+            poweredBy.style.left = "";
+            poweredBy.style.bottom = "";
+
+            var termsOfUse = this.div.lastChild;
+            this.div.removeChild(termsOfUse);
+            this.pane.appendChild(termsOfUse);
+            termsOfUse.className = "olLayerGoogleCopyright";
+            termsOfUse.style.right = "";
+            termsOfUse.style.bottom = "";
+
+        } catch (e) {
+            OpenLayers.Console.error(e);
+        }
+               
+    },
+
+    /** 
+     * APIMethod: setMap
+     * Overridden from EventPane because if a map type has been specified, 
+     *     we need to attach a listener for the first moveend -- this is how 
+     *     we will know that the map has been centered. Only once the map has 
+     *     been centered is it safe to change the gmap object's map type. 
+     * 
+     * Parameters:
+     * map - {<OpenLayers.Map>}
+     */
+    setMap: function(map) {
+        OpenLayers.Layer.EventPane.prototype.setMap.apply(this, arguments);
+
+        if (this.type != null) {
+            this.map.events.register("moveend", this, this.setMapType);
+        }
+    },
+    
+    /** 
+     * Method: setMapType
+     * The map has been centered, and a map type was specified, so we 
+     *     set the map type on the gmap object, then unregister the listener
+     *     so that we dont keep doing this every time the map moves.
+     */
+    setMapType: function() {
+        if (this.mapObject.getCenter() != null) {
+            
+            // Support for custom map types.
+            if (OpenLayers.Util.indexOf(this.mapObject.getMapTypes(),
+                                        this.type) == -1) {
+                this.mapObject.addMapType(this.type);
+            }    
+
+            this.mapObject.setMapType(this.type);
+            this.map.events.unregister("moveend", this, this.setMapType);
+        }
+    },
+
+    /**
+     * APIMethod: onMapResize
+     * 
+     * Parameters:
+     * evt - {Event}
+     */
+    onMapResize: function() {
+        this.mapObject.checkResize();  
+    },
+
+    /**
+     * APIMethod: getZoomForExtent
+     * 
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     *  
+     * Returns:
+     * {Integer} Corresponding zoom level for a specified Bounds. 
+     *           If mapObject is not loaded or not centered, returns null
+     *
+    getZoomForExtent: function (bounds) {
+        var zoom = null;
+        if (this.mapObject != null) {
+            var moBounds = this.getMapObjectBoundsFromOLBounds(bounds);
+            var moZoom = this.getMapObjectZoomFromMapObjectBounds(moBounds);
+
+            //make sure zoom is within bounds    
+            var moZoom = Math.min(Math.max(moZoom, this.minZoomLevel), 
+                                 this.maxZoomLevel);
+
+            zoom = this.getOLZoomFromMapObjectZoom(moZoom);
+        }
+        return zoom;
+    },
+    
+    */
+    
+  //
+  // TRANSLATION: MapObject Bounds <-> OpenLayers.Bounds
+  //
+
+    /**
+     * APIMethod: getOLBoundsFromMapObjectBounds
+     * 
+     * Parameters:
+     * moBounds - {Object}
+     * 
+     * Returns:
+     * {<OpenLayers.Bounds>} An <OpenLayers.Bounds>, translated from the 
+     *                       passed-in MapObject Bounds.
+     *                       Returns null if null value is passed in.
+     */
+    getOLBoundsFromMapObjectBounds: function(moBounds) {
+        var olBounds = null;
+        if (moBounds != null) {
+            var sw = moBounds.getSouthWest();
+            var ne = moBounds.getNorthEast();
+            if (this.sphericalMercator) {
+                sw = this.forwardMercator(sw.lng(), sw.lat());
+                ne = this.forwardMercator(ne.lng(), ne.lat());
+            } else {
+                sw = new OpenLayers.LonLat(sw.lng(), sw.lat()); 
+                ne = new OpenLayers.LonLat(ne.lng(), ne.lat()); 
+            }    
+            olBounds = new OpenLayers.Bounds(sw.lon, 
+                                             sw.lat, 
+                                             ne.lon, 
+                                             ne.lat );
+        }
+        return olBounds;
+    },
+
+    /**
+     * APIMethod: getMapObjectBoundsFromOLBounds
+     * 
+     * Parameters:
+     * olBounds - {<OpenLayers.Bounds>}
+     * 
+     * Returns:
+     * {Object} A MapObject Bounds, translated from olBounds
+     *          Returns null if null value is passed in
+     */
+    getMapObjectBoundsFromOLBounds: function(olBounds) {
+        var moBounds = null;
+        if (olBounds != null) {
+            var sw = this.sphericalMercator ? 
+              this.inverseMercator(olBounds.bottom, olBounds.left) : 
+              new OpenLayers.LonLat(olBounds.bottom, olBounds.left);
+            var ne = this.sphericalMercator ? 
+              this.inverseMercator(olBounds.top, olBounds.right) : 
+              new OpenLayers.LonLat(olBounds.top, olBounds.right);
+            moBounds = new GLatLngBounds(new GLatLng(sw.lat, sw.lon),
+                                         new GLatLng(ne.lat, ne.lon));
+        }
+        return moBounds;
+    },
+
+    /** 
+     * Method: addContainerPxFunction
+     * Hack-on function because GMAPS does not give it to us
+     * 
+     * Parameters: 
+     * gLatLng - {GLatLng}
+     * 
+     * Returns:
+     * {GPoint} A GPoint specifying gLatLng translated into "Container" coords
+     */
+    addContainerPxFunction: function() {
+        if ( (typeof GMap2 != "undefined") && 
+             !GMap2.prototype.fromLatLngToContainerPixel) {
+          
+            GMap2.prototype.fromLatLngToContainerPixel = function(gLatLng) {
+          
+                // first we translate into "DivPixel"
+                var gPoint = this.fromLatLngToDivPixel(gLatLng);
+      
+                // locate the sliding "Div" div
+                var div = this.getContainer().firstChild.firstChild;
+  
+                // adjust by the offset of "Div" and voila!
+                gPoint.x += div.offsetLeft;
+                gPoint.y += div.offsetTop;
+    
+                return gPoint;
+            };
+        }
+    },
+
+    /** 
+     * APIMethod: getWarningHTML
+     * 
+     * Returns: 
+     * {String} String with information on why layer is broken, how to get
+     *          it working.
+     */
+    getWarningHTML:function() {
+        return OpenLayers.i18n("googleWarning");
+    },
+
+
+    /************************************
+     *                                  *
+     *   MapObject Interface Controls   *
+     *                                  *
+     ************************************/
+
+
+  // Get&Set Center, Zoom
+
+    /** 
+     * APIMethod: setMapObjectCenter
+     * Set the mapObject to the specified center and zoom
+     * 
+     * Parameters:
+     * center - {Object} MapObject LonLat format
+     * zoom - {int} MapObject zoom format
+     */
+    setMapObjectCenter: function(center, zoom) {
+        this.mapObject.setCenter(center, zoom); 
+    },
+   
+    /**
+     * APIMethod: dragPanMapObject
+     * 
+     * Parameters:
+     * dX - {Integer}
+     * dY - {Integer}
+     */
+    dragPanMapObject: function(dX, dY) {
+        this.dragObject.moveBy(new GSize(-dX, dY));
+    },
+
+    /**
+     * APIMethod: getMapObjectCenter
+     * 
+     * Returns: 
+     * {Object} The mapObject's current center in Map Object format
+     */
+    getMapObjectCenter: function() {
+        return this.mapObject.getCenter();
+    },
+
+    /** 
+     * APIMethod: getMapObjectZoom
+     * 
+     * Returns:
+     * {Integer} The mapObject's current zoom, in Map Object format
+     */
+    getMapObjectZoom: function() {
+        return this.mapObject.getZoom();
+    },
+
+
+  // LonLat - Pixel Translation
+  
+    /**
+     * APIMethod: getMapObjectLonLatFromMapObjectPixel
+     * 
+     * Parameters:
+     * moPixel - {Object} MapObject Pixel format
+     * 
+     * Returns:
+     * {Object} MapObject LonLat translated from MapObject Pixel
+     */
+    getMapObjectLonLatFromMapObjectPixel: function(moPixel) {
+        return this.mapObject.fromContainerPixelToLatLng(moPixel);
+    },
+
+    /**
+     * APIMethod: getMapObjectPixelFromMapObjectLonLat
+     * 
+     * Parameters:
+     * moLonLat - {Object} MapObject LonLat format
+     * 
+     * Returns:
+     * {Object} MapObject Pixel transtlated from MapObject LonLat
+     */
+    getMapObjectPixelFromMapObjectLonLat: function(moLonLat) {
+        return this.mapObject.fromLatLngToContainerPixel(moLonLat);
+    },
+
+  
+  // Bounds
+  
+    /** 
+     * APIMethod: getMapObjectZoomFromMapObjectBounds
+     * 
+     * Parameters:
+     * moBounds - {Object} MapObject Bounds format
+     * 
+     * Returns:
+     * {Object} MapObject Zoom for specified MapObject Bounds
+     */
+    getMapObjectZoomFromMapObjectBounds: function(moBounds) {
+        return this.mapObject.getBoundsZoomLevel(moBounds);
+    },
+
+    /************************************
+     *                                  *
+     *       MapObject Primitives       *
+     *                                  *
+     ************************************/
+
+
+  // LonLat
+    
+    /**
+     * APIMethod: getLongitudeFromMapObjectLonLat
+     * 
+     * Parameters:
+     * moLonLat - {Object} MapObject LonLat format
+     * 
+     * Returns:
+     * {Float} Longitude of the given MapObject LonLat
+     */
+    getLongitudeFromMapObjectLonLat: function(moLonLat) {
+        return this.sphericalMercator ? 
+          this.forwardMercator(moLonLat.lng(), moLonLat.lat()).lon :
+          moLonLat.lng();  
+    },
+
+    /**
+     * APIMethod: getLatitudeFromMapObjectLonLat
+     * 
+     * Parameters:
+     * moLonLat - {Object} MapObject LonLat format
+     * 
+     * Returns:
+     * {Float} Latitude of the given MapObject LonLat
+     */
+    getLatitudeFromMapObjectLonLat: function(moLonLat) {
+        var lat = this.sphericalMercator ? 
+          this.forwardMercator(moLonLat.lng(), moLonLat.lat()).lat :
+          moLonLat.lat(); 
+        return lat;  
+    },
+    
+    /**
+     * APIMethod: getMapObjectLonLatFromLonLat
+     * 
+     * Parameters:
+     * lon - {Float}
+     * lat - {Float}
+     * 
+     * Returns:
+     * {Object} MapObject LonLat built from lon and lat params
+     */
+    getMapObjectLonLatFromLonLat: function(lon, lat) {
+        var gLatLng;
+        if(this.sphericalMercator) {
+            var lonlat = this.inverseMercator(lon, lat);
+            gLatLng = new GLatLng(lonlat.lat, lonlat.lon);
+        } else {
+            gLatLng = new GLatLng(lat, lon);
+        }
+        return gLatLng;
+    },
+
+  // Pixel
+    
+    /**
+     * APIMethod: getXFromMapObjectPixel
+     * 
+     * Parameters:
+     * moPixel - {Object} MapObject Pixel format
+     * 
+     * Returns:
+     * {Integer} X value of the MapObject Pixel
+     */
+    getXFromMapObjectPixel: function(moPixel) {
+        return moPixel.x;
+    },
+
+    /**
+     * APIMethod: getYFromMapObjectPixel
+     * 
+     * Parameters:
+     * moPixel - {Object} MapObject Pixel format
+     * 
+     * Returns:
+     * {Integer} Y value of the MapObject Pixel
+     */
+    getYFromMapObjectPixel: function(moPixel) {
+        return moPixel.y;
+    },
+
+    /**
+     * APIMethod: getMapObjectPixelFromXY
+     * 
+     * Parameters:
+     * x - {Integer}
+     * y - {Integer}
+     * 
+     * Returns:
+     * {Object} MapObject Pixel from x and y parameters
+     */
+    getMapObjectPixelFromXY: function(x, y) {
+        return new GPoint(x, y);
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.Google"
+});
+/* ======================================================================
+    OpenLayers/Layer/Grid.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Layer/HTTPRequest.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.Grid
+ * Base class for layers that use a lattice of tiles.  Create a new grid
+ * layer with the <OpenLayers.Layer.Grid> constructor.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Layer.HTTPRequest>
+ */
+OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, {
+    
+    /**
+     * APIProperty: tileSize
+     * {<OpenLayers.Size>}
+     */
+    tileSize: null,
+    
+    /**
+     * Property: grid
+     * {Array(Array(<OpenLayers.Tile>))} This is an array of rows, each row is 
+     *     an array of tiles.
+     */
+    grid: null,
+
+    /**
+     * APIProperty: singleTile
+     * {Boolean} Moves the layer into single-tile mode, meaning that one tile 
+     *     will be loaded. The tile's size will be determined by the 'ratio'
+     *     property. When the tile is dragged such that it does not cover the 
+     *     entire viewport, it is reloaded.
+     */
+    singleTile: false,
+
+    /** APIProperty: ratio
+     *  {Float} Used only when in single-tile mode, this specifies the 
+     *          ratio of the size of the single tile to the size of the map.
+     */
+    ratio: 1.5,
+
+    /**
+     * APIProperty: buffer
+     * {Integer} Used only when in gridded mode, this specifies the number of 
+     *           extra rows and colums of tiles on each side which will
+     *           surround the minimum grid tiles to cover the map.
+     */
+    buffer: 2,
+
+    /**
+     * APIProperty: numLoadingTiles
+     * {Integer} How many tiles are still loading?
+     */
+    numLoadingTiles: 0,
+
+    /**
+     * Constructor: OpenLayers.Layer.Grid
+     * Create a new grid layer
+     *
+     * Parameters:
+     * name - {String}
+     * url - {String}
+     * params - {Object}
+     * options - {Object} Hashtable of extra options to tag onto the layer
+     */
+    initialize: function(name, url, params, options) {
+        OpenLayers.Layer.HTTPRequest.prototype.initialize.apply(this, 
+                                                                arguments);
+        
+        //grid layers will trigger 'tileloaded' when each new tile is 
+        // loaded, as a means of progress update to listeners.
+        // listeners can access 'numLoadingTiles' if they wish to keep track
+        // of the loading progress
+        //
+        this.events.addEventType("tileloaded");
+
+        this.grid = [];
+    },
+
+    /**
+     * APIMethod: destroy
+     * Deconstruct the layer and clear the grid.
+     */
+    destroy: function() {
+        this.clearGrid();
+        this.grid = null;
+        this.tileSize = null;
+        OpenLayers.Layer.HTTPRequest.prototype.destroy.apply(this, arguments); 
+    },
+
+    /**
+     * Method: clearGrid
+     * Go through and remove all tiles from the grid, calling
+     *    destroy() on each of them to kill circular references
+     */
+    clearGrid:function() {
+        if (this.grid) {
+            for(var iRow=0; iRow < this.grid.length; iRow++) {
+                var row = this.grid[iRow];
+                for(var iCol=0; iCol < row.length; iCol++) {
+                    var tile = row[iCol];
+                    this.removeTileMonitoringHooks(tile);
+                    tile.destroy();
+                }
+            }
+            this.grid = [];
+        }
+    },
+
+    /**
+     * APIMethod: clone
+     * Create a clone of this layer
+     *
+     * Parameters:
+     * obj - {Object} Is this ever used?
+     * 
+     * Returns:
+     * {<OpenLayers.Layer.Grid>} An exact clone of this OpenLayers.Layer.Grid
+     */
+    clone: function (obj) {
+        
+        if (obj == null) {
+            obj = new OpenLayers.Layer.Grid(this.name,
+                                            this.url,
+                                            this.params,
+                                            this.options);
+        }
+
+        //get all additions from superclasses
+        obj = OpenLayers.Layer.HTTPRequest.prototype.clone.apply(this, [obj]);
+
+        // copy/set any non-init, non-simple values here
+        if (this.tileSize != null) {
+            obj.tileSize = this.tileSize.clone();
+        }
+        
+        // we do not want to copy reference to grid, so we make a new array
+        obj.grid = [];
+
+        return obj;
+    },    
+
+    /**
+     * Method: moveTo
+     * This function is called whenever the map is moved. All the moving
+     * of actual 'tiles' is done by the map, but moveTo's role is to accept
+     * a bounds and make sure the data that that bounds requires is pre-loaded.
+     *
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     * zoomChanged - {Boolean}
+     * dragging - {Boolean}
+     */
+    moveTo:function(bounds, zoomChanged, dragging) {
+        OpenLayers.Layer.HTTPRequest.prototype.moveTo.apply(this, arguments);
+        
+        bounds = bounds || this.map.getExtent();
+
+        if (bounds != null) {
+             
+            // if grid is empty or zoom has changed, we *must* re-tile
+            var forceReTile = !this.grid.length || zoomChanged;
+
+            // total bounds of the tiles
+            var tilesBounds = this.getTilesBounds();            
+      
+            if (this.singleTile) {
+                
+                // We want to redraw whenever even the slightest part of the 
+                //  current bounds is not contained by our tile.
+                //  (thus, we do not specify partial -- its default is false)
+                if ( forceReTile || 
+                     (!dragging && !tilesBounds.containsBounds(bounds))) {
+                    this.initSingleTile(bounds);
+                }
+            } else {
+             
+                // if the bounds have changed such that they are not even 
+                //  *partially* contained by our tiles (IE user has 
+                //  programmatically panned to the other side of the earth) 
+                //  then we want to reTile (thus, partial true).  
+                //
+                if (forceReTile || !tilesBounds.containsBounds(bounds, true)) {
+                    this.initGriddedTiles(bounds);
+                } else {
+                    //we might have to shift our buffer tiles
+                    this.moveGriddedTiles(bounds);
+                }
+            }
+        }
+    },
+    
+    /**
+     * APIMethod: setTileSize
+     * Check if we are in singleTile mode and if so, set the size as a ratio
+     *     of the map size (as specified by the layer's 'ratio' property).
+     * 
+     * Parameters:
+     * size - {<OpenLayers.Size>}
+     */
+    setTileSize: function(size) { 
+        if (this.singleTile) {
+            size = this.map.getSize().clone();
+            size.h = parseInt(size.h * this.ratio);
+            size.w = parseInt(size.w * this.ratio);
+        } 
+        OpenLayers.Layer.HTTPRequest.prototype.setTileSize.apply(this, [size]);
+    },
+        
+    /**
+     * Method: getGridBounds
+     * Deprecated. This function will be removed in 3.0. Please use 
+     *     getTilesBounds() instead.
+     * 
+     * Returns:
+     * {<OpenLayers.Bounds>} A Bounds object representing the bounds of all the
+     * currently loaded tiles (including those partially or not at all seen 
+     * onscreen)
+     */
+    getGridBounds: function() {
+        var msg = "The getGridBounds() function is deprecated. It will be " +
+                  "removed in 3.0. Please use getTilesBounds() instead.";
+        OpenLayers.Console.warn(msg);
+        return this.getTilesBounds();
+    },
+
+    /**
+     * APIMethod: getTilesBounds
+     * Return the bounds of the tile grid.
+     *
+     * Returns:
+     * {<OpenLayers.Bounds>} A Bounds object representing the bounds of all the
+     *     currently loaded tiles (including those partially or not at all seen 
+     *     onscreen).
+     */
+    getTilesBounds: function() {    
+        var bounds = null; 
+        
+        if (this.grid.length) {
+            var bottom = this.grid.length - 1;
+            var bottomLeftTile = this.grid[bottom][0];
+    
+            var right = this.grid[0].length - 1; 
+            var topRightTile = this.grid[0][right];
+    
+            bounds = new OpenLayers.Bounds(bottomLeftTile.bounds.left, 
+                                           bottomLeftTile.bounds.bottom,
+                                           topRightTile.bounds.right, 
+                                           topRightTile.bounds.top);
+            
+        }   
+        return bounds;
+    },
+
+    /**
+     * Method: initSingleTile
+     * 
+     * Parameters: 
+     * bounds - {<OpenLayers.Bounds>}
+     */
+    initSingleTile: function(bounds) {
+
+        //determine new tile bounds
+        var center = bounds.getCenterLonLat();
+        var tileWidth = bounds.getWidth() * this.ratio;
+        var tileHeight = bounds.getHeight() * this.ratio;
+                                       
+        var tileBounds = 
+            new OpenLayers.Bounds(center.lon - (tileWidth/2),
+                                  center.lat - (tileHeight/2),
+                                  center.lon + (tileWidth/2),
+                                  center.lat + (tileHeight/2));
+  
+        var ul = new OpenLayers.LonLat(tileBounds.left, tileBounds.top);
+        var px = this.map.getLayerPxFromLonLat(ul);
+
+        if (!this.grid.length) {
+            this.grid[0] = [];
+        }
+
+        var tile = this.grid[0][0];
+        if (!tile) {
+            tile = this.addTile(tileBounds, px);
+            
+            this.addTileMonitoringHooks(tile);
+            tile.draw();
+            this.grid[0][0] = tile;
+        } else {
+            tile.moveTo(tileBounds, px);
+        }           
+        
+        //remove all but our single tile
+        this.removeExcessTiles(1,1);
+    },
+
+    /** 
+     * Method: calculateGridLayout
+     * Generate parameters for the grid layout. This  
+     *
+     * Parameters:
+     * bounds - {<OpenLayers.Bound>}
+     * extent - {<OpenLayers.Bounds>}
+     * resolution - {Number}
+     *
+     * Returns:
+     * Object containing properties tilelon, tilelat, tileoffsetlat,
+     * tileoffsetlat, tileoffsetx, tileoffsety
+     */
+    calculateGridLayout: function(bounds, extent, resolution) {
+        var tilelon = resolution * this.tileSize.w;
+        var tilelat = resolution * this.tileSize.h;
+        
+        var offsetlon = bounds.left - extent.left;
+        var tilecol = Math.floor(offsetlon/tilelon) - this.buffer;
+        var tilecolremain = offsetlon/tilelon - tilecol;
+        var tileoffsetx = -tilecolremain * this.tileSize.w;
+        var tileoffsetlon = extent.left + tilecol * tilelon;
+        
+        var offsetlat = bounds.top - (extent.bottom + tilelat);  
+        var tilerow = Math.ceil(offsetlat/tilelat) + this.buffer;
+        var tilerowremain = tilerow - offsetlat/tilelat;
+        var tileoffsety = -tilerowremain * this.tileSize.h;
+        var tileoffsetlat = extent.bottom + tilerow * tilelat;
+        
+        return { 
+          tilelon: tilelon, tilelat: tilelat,
+          tileoffsetlon: tileoffsetlon, tileoffsetlat: tileoffsetlat,
+          tileoffsetx: tileoffsetx, tileoffsety: tileoffsety
+        };
+
+    },
+
+    /**
+     * Method: initGriddedTiles
+     * 
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     */
+    initGriddedTiles:function(bounds) {
+        
+        // work out mininum number of rows and columns; this is the number of
+        // tiles required to cover the viewport plus at least one for panning
+
+        var viewSize = this.map.getSize();
+        var minRows = Math.ceil(viewSize.h/this.tileSize.h) + 
+                      Math.max(1, 2 * this.buffer);
+        var minCols = Math.ceil(viewSize.w/this.tileSize.w) +
+                      Math.max(1, 2 * this.buffer);
+        
+        var extent = this.map.getMaxExtent();
+        var resolution = this.map.getResolution();
+        
+        var tileLayout = this.calculateGridLayout(bounds, extent, resolution);
+
+        var tileoffsetx = Math.round(tileLayout.tileoffsetx); // heaven help us
+        var tileoffsety = Math.round(tileLayout.tileoffsety);
+
+        var tileoffsetlon = tileLayout.tileoffsetlon;
+        var tileoffsetlat = tileLayout.tileoffsetlat;
+        
+        var tilelon = tileLayout.tilelon;
+        var tilelat = tileLayout.tilelat;
+
+        this.origin = new OpenLayers.Pixel(tileoffsetx, tileoffsety);
+
+        var startX = tileoffsetx; 
+        var startLon = tileoffsetlon;
+
+        var rowidx = 0;
+        
+        var layerContainerDivLeft = parseInt(this.map.layerContainerDiv.style.left);
+        var layerContainerDivTop = parseInt(this.map.layerContainerDiv.style.top);
+        
+    
+        do {
+            var row = this.grid[rowidx++];
+            if (!row) {
+                row = [];
+                this.grid.push(row);
+            }
+
+            tileoffsetlon = startLon;
+            tileoffsetx = startX;
+            var colidx = 0;
+ 
+            do {
+                var tileBounds = 
+                    new OpenLayers.Bounds(tileoffsetlon, 
+                                          tileoffsetlat, 
+                                          tileoffsetlon + tilelon,
+                                          tileoffsetlat + tilelat);
+
+                var x = tileoffsetx;
+                x -= layerContainerDivLeft;
+
+                var y = tileoffsety;
+                y -= layerContainerDivTop;
+
+                var px = new OpenLayers.Pixel(x, y);
+                var tile = row[colidx++];
+                if (!tile) {
+                    tile = this.addTile(tileBounds, px);
+                    this.addTileMonitoringHooks(tile);
+                    row.push(tile);
+                } else {
+                    tile.moveTo(tileBounds, px, false);
+                }
+     
+                tileoffsetlon += tilelon;       
+                tileoffsetx += this.tileSize.w;
+            } while ((tileoffsetlon <= bounds.right + tilelon * this.buffer)
+                     || colidx < minCols)  
+             
+            tileoffsetlat -= tilelat;
+            tileoffsety += this.tileSize.h;
+        } while((tileoffsetlat >= bounds.bottom - tilelat * this.buffer)
+                || rowidx < minRows)
+        
+        //shave off exceess rows and colums
+        this.removeExcessTiles(rowidx, colidx);
+
+        //now actually draw the tiles
+        this.spiralTileLoad();
+    },
+    
+    /**
+     * Method: spiralTileLoad
+     *   Starts at the top right corner of the grid and proceeds in a spiral 
+     *    towards the center, adding tiles one at a time to the beginning of a 
+     *    queue. 
+     * 
+     *   Once all the grid's tiles have been added to the queue, we go back 
+     *    and iterate through the queue (thus reversing the spiral order from 
+     *    outside-in to inside-out), calling draw() on each tile. 
+     */
+    spiralTileLoad: function() {
+        var tileQueue = [];
+ 
+        var directions = ["right", "down", "left", "up"];
+
+        var iRow = 0;
+        var iCell = -1;
+        var direction = OpenLayers.Util.indexOf(directions, "right");
+        var directionsTried = 0;
+        
+        while( directionsTried < directions.length) {
+
+            var testRow = iRow;
+            var testCell = iCell;
+
+            switch (directions[direction]) {
+                case "right":
+                    testCell++;
+                    break;
+                case "down":
+                    testRow++;
+                    break;
+                case "left":
+                    testCell--;
+                    break;
+                case "up":
+                    testRow--;
+                    break;
+            } 
+    
+            // if the test grid coordinates are within the bounds of the 
+            //  grid, get a reference to the tile.
+            var tile = null;
+            if ((testRow < this.grid.length) && (testRow >= 0) &&
+                (testCell < this.grid[0].length) && (testCell >= 0)) {
+                tile = this.grid[testRow][testCell];
+            }
+            
+            if ((tile != null) && (!tile.queued)) {
+                //add tile to beginning of queue, mark it as queued.
+                tileQueue.unshift(tile);
+                tile.queued = true;
+                
+                //restart the directions counter and take on the new coords
+                directionsTried = 0;
+                iRow = testRow;
+                iCell = testCell;
+            } else {
+                //need to try to load a tile in a different direction
+                direction = (direction + 1) % 4;
+                directionsTried++;
+            }
+        } 
+        
+        // now we go through and draw the tiles in forward order
+        for(var i=0; i < tileQueue.length; i++) {
+            var tile = tileQueue[i];
+            tile.draw();
+            //mark tile as unqueued for the next time (since tiles are reused)
+            tile.queued = false;       
+        }
+    },
+
+    /**
+     * APIMethod: addTile
+     * Gives subclasses of Grid the opportunity to create an 
+     * OpenLayer.Tile of their choosing. The implementer should initialize 
+     * the new tile and take whatever steps necessary to display it.
+     *
+     * Parameters
+     * bounds - {<OpenLayers.Bounds>}
+     * position - {<OpenLayers.Pixel>}
+     *
+     * Returns:
+     * {<OpenLayers.Tile>} The added OpenLayers.Tile
+     */
+    addTile:function(bounds, position) {
+        // Should be implemented by subclasses
+    },
+    
+    /** 
+     * Method: addTileMonitoringHooks
+     * This function takes a tile as input and adds the appropriate hooks to 
+     *     the tile so that the layer can keep track of the loading tiles.
+     * 
+     * Parameters: 
+     * tile - {<OpenLayers.Tile>}
+     */
+    addTileMonitoringHooks: function(tile) {
+        
+        tile.onLoadStart = function() {
+            //if that was first tile then trigger a 'loadstart' on the layer
+            if (this.numLoadingTiles == 0) {
+                this.events.triggerEvent("loadstart");
+            }
+            this.numLoadingTiles++;
+        };
+        tile.events.register("loadstart", this, tile.onLoadStart);
+      
+        tile.onLoadEnd = function() {
+            this.numLoadingTiles--;
+            this.events.triggerEvent("tileloaded");
+            //if that was the last tile, then trigger a 'loadend' on the layer
+            if (this.numLoadingTiles == 0) {
+                this.events.triggerEvent("loadend");
+            }
+        };
+        tile.events.register("loadend", this, tile.onLoadEnd);
+        tile.events.register("unload", this, tile.onLoadEnd);
+    },
+
+    /** 
+     * Method: removeTileMonitoringHooks
+     * This function takes a tile as input and removes the tile hooks 
+     *     that were added in addTileMonitoringHooks()
+     * 
+     * Parameters: 
+     * tile - {<OpenLayers.Tile>}
+     */
+    removeTileMonitoringHooks: function(tile) {
+        tile.unload();
+        tile.events.un({
+            "loadstart": tile.onLoadStart,
+            "loadend": tile.onLoadEnd,
+            "unload": tile.onLoadEnd,
+            scope: this
+        });
+    },
+    
+    /**
+     * Method: moveGriddedTiles
+     * 
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     */
+    moveGriddedTiles: function(bounds) {
+        var buffer = this.buffer || 1;
+        while (true) {
+            var tlLayer = this.grid[0][0].position;
+            var tlViewPort = 
+                this.map.getViewPortPxFromLayerPx(tlLayer);
+            if (tlViewPort.x > -this.tileSize.w * (buffer - 1)) {
+                this.shiftColumn(true);
+            } else if (tlViewPort.x < -this.tileSize.w * buffer) {
+                this.shiftColumn(false);
+            } else if (tlViewPort.y > -this.tileSize.h * (buffer - 1)) {
+                this.shiftRow(true);
+            } else if (tlViewPort.y < -this.tileSize.h * buffer) {
+                this.shiftRow(false);
+            } else {
+                break;
+            }
+        };
+    },
+
+    /**
+     * Method: shiftRow
+     * Shifty grid work
+     *
+     * Parameters:
+     * prepend - {Boolean} if true, prepend to beginning.
+     *                          if false, then append to end
+     */
+    shiftRow:function(prepend) {
+        var modelRowIndex = (prepend) ? 0 : (this.grid.length - 1);
+        var grid = this.grid;
+        var modelRow = grid[modelRowIndex];
+
+        var resolution = this.map.getResolution();
+        var deltaY = (prepend) ? -this.tileSize.h : this.tileSize.h;
+        var deltaLat = resolution * -deltaY;
+
+        var row = (prepend) ? grid.pop() : grid.shift();
+
+        for (var i=0; i < modelRow.length; i++) {
+            var modelTile = modelRow[i];
+            var bounds = modelTile.bounds.clone();
+            var position = modelTile.position.clone();
+            bounds.bottom = bounds.bottom + deltaLat;
+            bounds.top = bounds.top + deltaLat;
+            position.y = position.y + deltaY;
+            row[i].moveTo(bounds, position);
+        }
+
+        if (prepend) {
+            grid.unshift(row);
+        } else {
+            grid.push(row);
+        }
+    },
+
+    /**
+     * Method: shiftColumn
+     * Shift grid work in the other dimension
+     *
+     * Parameters:
+     * prepend - {Boolean} if true, prepend to beginning.
+     *                          if false, then append to end
+     */
+    shiftColumn: function(prepend) {
+        var deltaX = (prepend) ? -this.tileSize.w : this.tileSize.w;
+        var resolution = this.map.getResolution();
+        var deltaLon = resolution * deltaX;
+
+        for (var i=0; i<this.grid.length; i++) {
+            var row = this.grid[i];
+            var modelTileIndex = (prepend) ? 0 : (row.length - 1);
+            var modelTile = row[modelTileIndex];
+            
+            var bounds = modelTile.bounds.clone();
+            var position = modelTile.position.clone();
+            bounds.left = bounds.left + deltaLon;
+            bounds.right = bounds.right + deltaLon;
+            position.x = position.x + deltaX;
+
+            var tile = prepend ? this.grid[i].pop() : this.grid[i].shift();
+            tile.moveTo(bounds, position);
+            if (prepend) {
+                row.unshift(tile);
+            } else {
+                row.push(tile);
+            }
+        }
+    },
+    
+    /**
+     * Method: removeExcessTiles
+     * When the size of the map or the buffer changes, we may need to
+     *     remove some excess rows and columns.
+     * 
+     * Parameters:
+     * rows - {Integer} Maximum number of rows we want our grid to have.
+     * colums - {Integer} Maximum number of columns we want our grid to have.
+     */
+    removeExcessTiles: function(rows, columns) {
+        
+        // remove extra rows
+        while (this.grid.length > rows) {
+            var row = this.grid.pop();
+            for (var i=0, l=row.length; i<l; i++) {
+                var tile = row[i];
+                this.removeTileMonitoringHooks(tile);
+                tile.destroy();
+            }
+        }
+        
+        // remove extra columns
+        while (this.grid[0].length > columns) {
+            for (var i=0, l=this.grid.length; i<l; i++) {
+                var row = this.grid[i];
+                var tile = row.pop();
+                this.removeTileMonitoringHooks(tile);
+                tile.destroy();
+            }
+        }
+    },
+
+    /**
+     * Method: onMapResize
+     * For singleTile layers, this will set a new tile size according to the
+     * dimensions of the map pane.
+     */
+    onMapResize: function() {
+        if (this.singleTile) {
+            this.clearGrid();
+            this.setTileSize();
+        }
+    },
+    
+    /**
+     * APIMethod: getTileBounds
+     * Returns The tile bounds for a layer given a pixel location.
+     *
+     * Parameters:
+     * viewPortPx - {<OpenLayers.Pixel>} The location in the viewport.
+     *
+     * Returns:
+     * {<OpenLayers.Bounds>} Bounds of the tile at the given pixel location.
+     */
+    getTileBounds: function(viewPortPx) {
+        var maxExtent = this.map.getMaxExtent();
+        var resolution = this.getResolution();
+        var tileMapWidth = resolution * this.tileSize.w;
+        var tileMapHeight = resolution * this.tileSize.h;
+        var mapPoint = this.getLonLatFromViewPortPx(viewPortPx);
+        var tileLeft = maxExtent.left + (tileMapWidth *
+                                         Math.floor((mapPoint.lon -
+                                                     maxExtent.left) /
+                                                    tileMapWidth));
+        var tileBottom = maxExtent.bottom + (tileMapHeight *
+                                             Math.floor((mapPoint.lat -
+                                                         maxExtent.bottom) /
+                                                        tileMapHeight));
+        return new OpenLayers.Bounds(tileLeft, tileBottom,
+                                     tileLeft + tileMapWidth,
+                                     tileBottom + tileMapHeight);
+    },
+    
+    CLASS_NAME: "OpenLayers.Layer.Grid"
+});
+/* ======================================================================
+    OpenLayers/Layer/MultiMap.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Layer/EventPane.js
+ * @requires OpenLayers/Layer/FixedZoomLevels.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.MultiMap
+ * Note that MultiMap does not fully support the sphericalMercator
+ * option. See Ticket #953 for more details.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Layers.EventPane>
+ *  - <OpenLayers.Layers.FixedZoomLevels>
+ */
+OpenLayers.Layer.MultiMap = OpenLayers.Class(
+  OpenLayers.Layer.EventPane, OpenLayers.Layer.FixedZoomLevels, {
+    
+    /** 
+     * Constant: MIN_ZOOM_LEVEL
+     * {Integer} 1 
+     */
+    MIN_ZOOM_LEVEL: 1,
+    
+    /** 
+     * Constant: MAX_ZOOM_LEVEL
+     * {Integer} 17
+     */
+    MAX_ZOOM_LEVEL: 17,
+
+    /** 
+     * Constant: RESOLUTIONS
+     * {Array(Float)} Hardcode these resolutions so that they are more closely
+     *                tied with the standard wms projection
+     */
+    RESOLUTIONS: [
+        9, 
+        1.40625,
+        0.703125,
+        0.3515625,
+        0.17578125,
+        0.087890625,
+        0.0439453125,
+        0.02197265625,
+        0.010986328125,
+        0.0054931640625,
+        0.00274658203125,
+        0.001373291015625,
+        0.0006866455078125,
+        0.00034332275390625,
+        0.000171661376953125,
+        0.0000858306884765625,
+        0.00004291534423828125
+    ],
+
+    /**
+     * APIProperty: type
+     * {?}
+     */
+    type: null,
+
+    /** 
+     * Constructor: OpenLayers.Layer.MultiMap
+     * 
+     * Parameters:
+     * name - {String}
+     * options - {Object}
+     */
+    initialize: function(name, options) {
+        OpenLayers.Layer.EventPane.prototype.initialize.apply(this, arguments);
+        OpenLayers.Layer.FixedZoomLevels.prototype.initialize.apply(this, 
+                                                                    arguments);
+        if (this.sphericalMercator) {
+            OpenLayers.Util.extend(this, OpenLayers.Layer.SphericalMercator);
+            this.initMercatorParameters();
+            this.RESOLUTIONS.unshift(10); 
+        }    
+    },
+    
+    /**
+     * Method: loadMapObject
+     */
+    loadMapObject:function() {
+        try { //crash proofing
+            this.mapObject = new MultimapViewer(this.div);
+        } catch (e) { }
+    },
+
+    /** 
+     * APIMethod: getWarningHTML
+     * 
+     * Returns: 
+     * {String} String with information on why layer is broken, how to get
+     *          it working.
+     */
+    getWarningHTML:function() {
+        return OpenLayers.i18n(
+            "getLayerWarning", {'layerType':"MM", 'layerLib':"MultiMap"}
+        );
+    },
+
+
+
+    /************************************
+     *                                  *
+     *   MapObject Interface Controls   *
+     *                                  *
+     ************************************/
+
+
+  // Get&Set Center, Zoom
+
+    /** 
+     * APIMethod: setMapObjectCenter
+     * Set the mapObject to the specified center and zoom
+     * 
+     * Parameters:
+     * center - {Object} MapObject LonLat format
+     * zoom - {int} MapObject zoom format
+     */
+    setMapObjectCenter: function(center, zoom) {
+        this.mapObject.goToPosition(center, zoom); 
+    },
+   
+    /**
+     * APIMethod: getMapObjectCenter
+     * 
+     * Returns: 
+     * {Object} The mapObject's current center in Map Object format
+     */
+    getMapObjectCenter: function() {
+        return this.mapObject.getCurrentPosition();
+    },
+
+    /** 
+     * APIMethod: getMapObjectZoom
+     * 
+     * Returns:
+     * {Integer} The mapObject's current zoom, in Map Object format
+     */
+    getMapObjectZoom: function() {
+        return this.mapObject.getZoomFactor();
+    },
+
+
+  // LonLat - Pixel Translation
+  
+    /**
+     * APIMethod: getMapObjectLonLatFromMapObjectPixel
+     * 
+     * Parameters:
+     * moPixel - {Object} MapObject Pixel format
+     * 
+     * Returns:
+     * {Object} MapObject LonLat translated from MapObject Pixel
+     */
+    getMapObjectLonLatFromMapObjectPixel: function(moPixel) {
+        moPixel.x = moPixel.x - (this.map.getSize().w/2);
+        moPixel.y = moPixel.y - (this.map.getSize().h/2);
+        return this.mapObject.getMapPositionAt(moPixel);
+    },
+
+    /**
+     * APIMethod: getMapObjectPixelFromMapObjectLonLat
+     * 
+     * Parameters:
+     * moLonLat - {Object} MapObject LonLat format
+     * 
+     * Returns:
+     * {Object} MapObject Pixel transtlated from MapObject LonLat
+     */
+    getMapObjectPixelFromMapObjectLonLat: function(moLonLat) {
+        return this.mapObject.geoPosToContainerPixels(moLonLat);
+    },
+
+
+    /************************************
+     *                                  *
+     *       MapObject Primitives       *
+     *                                  *
+     ************************************/
+
+
+  // LonLat
+    
+    /**
+     * APIMethod: getLongitudeFromMapObjectLonLat
+     * 
+     * Parameters:
+     * moLonLat - {Object} MapObject LonLat format
+     * 
+     * Returns:
+     * {Float} Longitude of the given MapObject LonLat
+     */
+    getLongitudeFromMapObjectLonLat: function(moLonLat) {
+        return this.sphericalMercator ? 
+            this.forwardMercator(moLonLat.lon, moLonLat.lat).lon :
+            moLonLat.lon;
+    },
+
+    /**
+     * APIMethod: getLatitudeFromMapObjectLonLat
+     * 
+     * Parameters:
+     * moLonLat - {Object} MapObject LonLat format
+     * 
+     * Returns:
+     * {Float} Latitude of the given MapObject LonLat
+     */
+    getLatitudeFromMapObjectLonLat: function(moLonLat) {
+        return this.sphericalMercator ? 
+            this.forwardMercator(moLonLat.lon, moLonLat.lat).lat :
+            moLonLat.lat;
+    },
+
+    /**
+     * APIMethod: getMapObjectLonLatFromLonLat
+     * 
+     * Parameters:
+     * lon - {Float}
+     * lat - {Float}
+     * 
+     * Returns:
+     * {Object} MapObject LonLat built from lon and lat params
+     */
+    getMapObjectLonLatFromLonLat: function(lon, lat) {
+        var mmLatLon;
+        if(this.sphericalMercator) {
+            var lonlat = this.inverseMercator(lon, lat);
+            mmLatLon = new MMLatLon(lonlat.lat, lonlat.lon);
+        } else {
+            mmLatLon = new MMLatLon(lat, lon);
+        }
+        return mmLatLon;
+    },
+
+  // Pixel
+    
+    /**
+     * APIMethod: getXFromMapObjectPixel
+     * 
+     * Parameters:
+     * moPixel - {Object} MapObject Pixel format
+     * 
+     * Returns:
+     * {Integer} X value of the MapObject Pixel
+     */
+    getXFromMapObjectPixel: function(moPixel) {
+        return moPixel.x;
+    },
+
+    /**
+     * APIMethod: getYFromMapObjectPixel
+     * 
+     * Parameters:
+     * moPixel - {Object} MapObject Pixel format
+     * 
+     * Returns:
+     * {Integer} Y value of the MapObject Pixel
+     */
+    getYFromMapObjectPixel: function(moPixel) {
+        return moPixel.y;
+    },
+
+    /**
+     * APIMethod: getMapObjectPixelFromXY
+     * 
+     * Parameters:
+     * x - {Integer}
+     * y - {Integer}
+     * 
+     * Returns:
+     * {Object} MapObject Pixel from x and y parameters
+     */
+    getMapObjectPixelFromXY: function(x, y) {
+        return new MMPoint(x, y);
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.MultiMap"
+});
+/* ======================================================================
+    OpenLayers/Layer/Text.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Layer/Markers.js
+ * @requires OpenLayers/Ajax.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.Text
+ * This layer creates markers given data in a text file.  The <location>
+ *     property of the layer (specified as a property of the options argument
+ *     in the <OpenLayers.Layer.Text> constructor) points to a tab delimited
+ *     file with data used to create markers.
+ *
+ * The first row of the data file should be a header line with the column names
+ *     of the data. Each column should be delimited by a tab space. The
+ *     possible columns are:
+ *      - *point* lat,lon of the point where a marker is to be placed
+ *      - *lat*  Latitude of the point where a marker is to be placed
+ *      - *lon*  Longitude of the point where a marker is to be placed
+ *      - *iconURL* URL of marker icon to use.
+ *      - *iconSize* Size of Icon to use.
+ *      - *iconOffset* Where the top-left corner of the icon is to be placed
+ *            relative to the latitude and longitude of the point.
+ *      - *title* The text of the 'title' is placed inside an 'h2' marker
+ *            inside a popup, which opens when the marker is clicked.
+ *      - *description* The text of the 'description' is placed below the h2
+ *            in the popup. this can be plain text or HTML.
+ *
+ * Example text file:
+ * (code)
+ * lat	lon	title	description	iconSize	iconOffset	icon
+ * 10	20	title	description	21,25		-10,-25		http://www.openlayers.org/dev/img/marker.png
+ * (end)
+ *
+ * Inherits from:
+ *  - <OpenLayers.Layer.Markers>
+ */
+OpenLayers.Layer.Text = OpenLayers.Class(OpenLayers.Layer.Markers, {
+
+    /**
+     * APIProperty: location 
+     * {String} URL of text file.  Must be specified in the "options" argument
+     *   of the constructor. Can not be changed once passed in. 
+     */
+    location:null,
+
+    /** 
+     * Property: features
+     * Array({<OpenLayers.Feature>}) 
+     */
+    features: null,
+    
+    /**
+     * APIProperty: formatOptions
+     * {Object} Hash of options which should be passed to the format when it is
+     * created. Must be passed in the constructor.
+     */
+    formatOptions: null, 
+
+    /** 
+     * Property: selectedFeature
+     * {<OpenLayers.Feature>}
+     */
+    selectedFeature: null,
+
+    /**
+     * Constructor: OpenLayers.Layer.Text
+     * Create a text layer.
+     * 
+     * Parameters:
+     * name - {String} 
+     * options - {Object} Object with properties to be set on the layer.
+     *     Must include <location> property.
+     */
+    initialize: function(name, options) {
+        OpenLayers.Layer.Markers.prototype.initialize.apply(this, arguments);
+        this.features = new Array();
+    },
+
+    /**
+     * APIMethod: destroy 
+     */
+    destroy: function() {
+        // Warning: Layer.Markers.destroy() must be called prior to calling
+        // clearFeatures() here, otherwise we leak memory. Indeed, if
+        // Layer.Markers.destroy() is called after clearFeatures(), it won't be
+        // able to remove the marker image elements from the layer's div since
+        // the markers will have been destroyed by clearFeatures().
+        OpenLayers.Layer.Markers.prototype.destroy.apply(this, arguments);
+        this.clearFeatures();
+        this.features = null;
+    },
+    
+    /**
+     * Method: loadText
+     * Start the load of the Text data. Don't do this when we first add the layer,
+     * since we may not be visible at any point, and it would therefore be a waste.
+     */
+    loadText: function() {
+        if (!this.loaded) {
+            if (this.location != null) {
+
+                var onFail = function(e) {
+                    this.events.triggerEvent("loadend");
+                };
+
+                this.events.triggerEvent("loadstart");
+                OpenLayers.loadURL(this.location, null, 
+                                   this, this.parseData, onFail);
+                this.loaded = true;
+            }
+        }    
+    },    
+    
+    /**
+     * Method: moveTo
+     * If layer is visible and Text has not been loaded, load Text. 
+     * 
+     * Parameters:
+     * bounds - {Object} 
+     * zoomChanged - {Object} 
+     * minor - {Object} 
+     */
+    moveTo:function(bounds, zoomChanged, minor) {
+        OpenLayers.Layer.Markers.prototype.moveTo.apply(this, arguments);
+        if(this.visibility && !this.loaded){
+            this.events.triggerEvent("loadstart");
+            this.loadText();
+        }
+    },
+    
+    /**
+     * Method: parseData
+     *
+     * Parameters:
+     * ajaxRequest - {XMLHttpRequest} 
+     */
+    parseData: function(ajaxRequest) {
+        var text = ajaxRequest.responseText;
+        
+        var options = {};
+        
+        OpenLayers.Util.extend(options, this.formatOptions);
+        
+        if (this.map && !this.projection.equals(this.map.getProjectionObject())) {
+            options.externalProjection = this.projection;
+            options.internalProjection = this.map.getProjectionObject();
+        }    
+        
+        var parser = new OpenLayers.Format.Text(options);
+        features = parser.read(text);
+        for (var i = 0; i < features.length; i++) {
+            var data = {};
+            var feature = features[i];
+            var location;
+            var iconSize, iconOffset;
+            
+            location = new OpenLayers.LonLat(feature.geometry.x, 
+                                             feature.geometry.y);
+            
+            if (feature.style.graphicWidth 
+                && feature.style.graphicHeight) {
+                iconSize = new OpenLayers.Size(
+                    feature.style.graphicWidth,
+                    feature.style.graphicHeight);
+            }        
+            
+            // FIXME: At the moment, we only use this if we have an 
+            // externalGraphic, because icon has no setOffset API Method.  
+            if (feature.style.graphicXOffset 
+                && feature.style.graphicYOffset) {
+                iconOffset = new OpenLayers.Pixel(
+                    feature.style.graphicXOffset, 
+                    feature.style.graphicYOffset);
+            }
+            
+            if (feature.style.externalGraphic != null) {
+                data.icon = new OpenLayers.Icon(feature.style.externalGraphic, 
+                                                iconSize, 
+                                                iconOffset);
+            } else {
+                data.icon = OpenLayers.Marker.defaultIcon();
+
+                //allows for the case where the image url is not 
+                // specified but the size is. use a default icon
+                // but change the size
+                if (iconSize != null) {
+                    data.icon.setSize(iconSize);
+                }
+            }
+            
+            if ((feature.attributes.title != null) 
+                && (feature.attributes.description != null)) {
+                data['popupContentHTML'] = 
+                    '<h2>'+feature.attributes.title+'</h2>' + 
+                    '<p>'+feature.attributes.description+'</p>';
+            }
+            
+            data['overflow'] = feature.attributes.overflow || "auto"; 
+            
+            var markerFeature = new OpenLayers.Feature(this, location, data);
+            this.features.push(markerFeature);
+            var marker = markerFeature.createMarker();
+            if ((feature.attributes.title != null) 
+                && (feature.attributes.description != null)) {
+              marker.events.register('click', markerFeature, this.markerClick);
+            }
+            this.addMarker(marker);
+        }
+        this.events.triggerEvent("loadend");
+    },
+    
+    /**
+     * Property: markerClick
+     * 
+     * Parameters:
+     * evt - {Event} 
+     */
+    markerClick: function(evt) {
+        var sameMarkerClicked = (this == this.layer.selectedFeature);
+        this.layer.selectedFeature = (!sameMarkerClicked) ? this : null;
+        for(var i=0; i < this.layer.map.popups.length; i++) {
+            this.layer.map.removePopup(this.layer.map.popups[i]);
+        }
+        if (!sameMarkerClicked) {
+            this.layer.map.addPopup(this.createPopup()); 
+        }
+        OpenLayers.Event.stop(evt);
+    },
+
+    /**
+     * Method: clearFeatures
+     */
+    clearFeatures: function() {
+        if (this.features != null) {
+            while(this.features.length > 0) {
+                var feature = this.features[0];
+                OpenLayers.Util.removeItem(this.features, feature);
+                feature.destroy();
+            }
+        }        
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.Text"
+});
+/* ======================================================================
+    OpenLayers/Layer/VirtualEarth.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Layer/EventPane.js
+ * @requires OpenLayers/Layer/FixedZoomLevels.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.VirtualEarth
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Layer.EventPane>
+ *  - <OpenLayers.Layer.FixedZoomLevels>
+ */
+OpenLayers.Layer.VirtualEarth = OpenLayers.Class(
+    OpenLayers.Layer.EventPane,
+    OpenLayers.Layer.FixedZoomLevels, {
+    
+    /** 
+     * Constant: MIN_ZOOM_LEVEL
+     * {Integer} 1 
+     */
+    MIN_ZOOM_LEVEL: 1,
+    
+    /** 
+     * Constant: MAX_ZOOM_LEVEL
+     * {Integer} 17
+     */
+    MAX_ZOOM_LEVEL: 17,
+
+    /** 
+     * Constant: RESOLUTIONS
+     * {Array(Float)} Hardcode these resolutions so that they are more closely
+     *                tied with the standard wms projection
+     */
+    RESOLUTIONS: [
+        1.40625, 
+        0.703125, 
+        0.3515625, 
+        0.17578125, 
+        0.087890625, 
+        0.0439453125,
+        0.02197265625, 
+        0.010986328125, 
+        0.0054931640625, 
+        0.00274658203125,
+        0.001373291015625, 
+        0.0006866455078125, 
+        0.00034332275390625, 
+        0.000171661376953125, 
+        0.0000858306884765625, 
+        0.00004291534423828125
+    ],
+
+    /**
+     * APIProperty: type
+     * {VEMapType}
+     */
+    type: null,
+
+    /**
+     * APIProperty: sphericalMercator
+     * {Boolean} Should the map act as a mercator-projected map? This will
+     *     cause all interactions with the map to be in the actual map
+     *     projection, which allows support for vector drawing, overlaying
+     *     other maps, etc. 
+     */
+    sphericalMercator: false, 
+
+    /** 
+     * Constructor: OpenLayers.Layer.VirtualEarth
+     * 
+     * Parameters:
+     * name - {String}
+     * options - {Object}
+     */
+    initialize: function(name, options) {
+        OpenLayers.Layer.EventPane.prototype.initialize.apply(this, arguments);
+        OpenLayers.Layer.FixedZoomLevels.prototype.initialize.apply(this, 
+                                                                    arguments);
+        if(this.sphericalMercator) {
+            OpenLayers.Util.extend(this, OpenLayers.Layer.SphericalMercator);
+            this.initMercatorParameters();
+        }
+    },
+    
+    /**
+     * Method: loadMapObject
+     */
+    loadMapObject:function() {
+
+        // create div and set to same size as map
+        var veDiv = OpenLayers.Util.createDiv(this.name);
+        var sz = this.map.getSize();
+        veDiv.style.width = sz.w;
+        veDiv.style.height = sz.h;
+        this.div.appendChild(veDiv);
+
+        try { // crash prevention
+            this.mapObject = new VEMap(this.name);
+        } catch (e) { }
+
+        if (this.mapObject != null) {
+            try { // this is to catch a Mozilla bug without falling apart
+
+                // The fourth argument is whether the map is 'fixed' -- not 
+                // draggable. See: 
+                // http://blogs.msdn.com/virtualearth/archive/2007/09/28/locking-a-virtual-earth-map.aspx
+                //
+                this.mapObject.LoadMap(null, null, this.type, true);
+                this.mapObject.AttachEvent("onmousedown", function() {return true; });
+
+            } catch (e) { }
+            this.mapObject.HideDashboard();
+        }
+
+        //can we do smooth panning? this is an unpublished method, so we need 
+        // to be careful
+        if ( !this.mapObject ||
+             !this.mapObject.vemapcontrol ||
+             !this.mapObject.vemapcontrol.PanMap ||
+             (typeof this.mapObject.vemapcontrol.PanMap != "function")) {
+
+            this.dragPanMapObject = null;
+        }
+
+    },
+
+    /** 
+     * APIMethod: getWarningHTML
+     * 
+     * Returns: 
+     * {String} String with information on why layer is broken, how to get
+     *          it working.
+     */
+    getWarningHTML:function() {
+        return OpenLayers.i18n(
+            "getLayerWarning", {'layerType':'VE', 'layerLib':'VirtualEarth'}
+        );
+    },
+
+
+
+    /************************************
+     *                                  *
+     *   MapObject Interface Controls   *
+     *                                  *
+     ************************************/
+
+
+  // Get&Set Center, Zoom
+
+    /** 
+     * APIMethod: setMapObjectCenter
+     * Set the mapObject to the specified center and zoom
+     * 
+     * Parameters:
+     * center - {Object} MapObject LonLat format
+     * zoom - {int} MapObject zoom format
+     */
+    setMapObjectCenter: function(center, zoom) {
+        this.mapObject.SetCenterAndZoom(center, zoom); 
+    },
+   
+    /**
+     * APIMethod: getMapObjectCenter
+     * 
+     * Returns: 
+     * {Object} The mapObject's current center in Map Object format
+     */
+    getMapObjectCenter: function() {
+        return this.mapObject.GetCenter();
+    },
+
+    /**
+     * APIMethod: dragPanMapObject
+     * 
+     * Parameters:
+     * dX - {Integer}
+     * dY - {Integer}
+     */
+    dragPanMapObject: function(dX, dY) {
+        this.mapObject.vemapcontrol.PanMap(dX, -dY);
+    },
+
+    /** 
+     * APIMethod: getMapObjectZoom
+     * 
+     * Returns:
+     * {Integer} The mapObject's current zoom, in Map Object format
+     */
+    getMapObjectZoom: function() {
+        return this.mapObject.GetZoomLevel();
+    },
+
+
+  // LonLat - Pixel Translation
+  
+    /**
+     * APIMethod: getMapObjectLonLatFromMapObjectPixel
+     * 
+     * Parameters:
+     * moPixel - {Object} MapObject Pixel format
+     * 
+     * Returns:
+     * {Object} MapObject LonLat translated from MapObject Pixel
+     */
+    getMapObjectLonLatFromMapObjectPixel: function(moPixel) {
+        return this.mapObject.PixelToLatLong(moPixel.x, moPixel.y);
+    },
+
+    /**
+     * APIMethod: getMapObjectPixelFromMapObjectLonLat
+     * 
+     * Parameters:
+     * moLonLat - {Object} MapObject LonLat format
+     * 
+     * Returns:
+     * {Object} MapObject Pixel transtlated from MapObject LonLat
+     */
+    getMapObjectPixelFromMapObjectLonLat: function(moLonLat) {
+        return this.mapObject.LatLongToPixel(moLonLat);
+    },
+
+
+    /************************************
+     *                                  *
+     *       MapObject Primitives       *
+     *                                  *
+     ************************************/
+
+
+  // LonLat
+    
+    /**
+     * APIMethod: getLongitudeFromMapObjectLonLat
+     * 
+     * Parameters:
+     * moLonLat - {Object} MapObject LonLat format
+     * 
+     * Returns:
+     * {Float} Longitude of the given MapObject LonLat
+     */
+    getLongitudeFromMapObjectLonLat: function(moLonLat) {
+        return this.sphericalMercator ? 
+            this.forwardMercator(moLonLat.Longitude, moLonLat.Latitude).lon :
+            moLonLat.Longitude;
+    },
+
+    /**
+     * APIMethod: getLatitudeFromMapObjectLonLat
+     * 
+     * Parameters:
+     * moLonLat - {Object} MapObject LonLat format
+     * 
+     * Returns:
+     * {Float} Latitude of the given MapObject LonLat
+     */
+    getLatitudeFromMapObjectLonLat: function(moLonLat) {
+        return this.sphericalMercator ? 
+            this.forwardMercator(moLonLat.Longitude, moLonLat.Latitude).lat :
+            moLonLat.Latitude;
+    },
+
+    /**
+     * APIMethod: getMapObjectLonLatFromLonLat
+     * 
+     * Parameters:
+     * lon - {Float}
+     * lat - {Float}
+     * 
+     * Returns:
+     * {Object} MapObject LonLat built from lon and lat params
+     */
+    getMapObjectLonLatFromLonLat: function(lon, lat) {
+        var veLatLong;
+        if(this.sphericalMercator) {
+            var lonlat = this.inverseMercator(lon, lat);
+            veLatLong = new VELatLong(lonlat.lat, lonlat.lon);
+        } else {
+            veLatLong = new VELatLong(lat, lon);
+        }
+        return veLatLong;
+    },
+
+  // Pixel
+    
+    /**
+     * APIMethod: getXFromMapObjectPixel
+     * 
+     * Parameters:
+     * moPixel - {Object} MapObject Pixel format
+     * 
+     * Returns:
+     * {Integer} X value of the MapObject Pixel
+     */
+    getXFromMapObjectPixel: function(moPixel) {
+        return moPixel.x;
+    },
+
+    /**
+     * APIMethod: getYFromMapObjectPixel
+     * 
+     * Parameters:
+     * moPixel - {Object} MapObject Pixel format
+     * 
+     * Returns:
+     * {Integer} Y value of the MapObject Pixel
+     */
+    getYFromMapObjectPixel: function(moPixel) {
+        return moPixel.y;
+    },
+
+    /**
+     * APIMethod: getMapObjectPixelFromXY
+     * 
+     * Parameters:
+     * x - {Integer}
+     * y - {Integer}
+     * 
+     * Returns:
+     * {Object} MapObject Pixel from x and y parameters
+     */
+    getMapObjectPixelFromXY: function(x, y) {
+        return new Msn.VE.Pixel(x, y);
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.VirtualEarth"
+});
+/* ======================================================================
+    OpenLayers/Layer/Yahoo.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Layer/EventPane.js
+ * @requires OpenLayers/Layer/FixedZoomLevels.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.Yahoo
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Layer.EventPane>
+ *  - <OpenLayers.Layer.FixedZoomLevels>
+ */
+OpenLayers.Layer.Yahoo = OpenLayers.Class(
+  OpenLayers.Layer.EventPane, OpenLayers.Layer.FixedZoomLevels, {
+    
+    /** 
+     * Constant: MIN_ZOOM_LEVEL
+     * {Integer} 0 
+     */
+    MIN_ZOOM_LEVEL: 0,
+    
+    /** 
+     * Constant: MAX_ZOOM_LEVEL
+     * {Integer} 15
+     */
+    MAX_ZOOM_LEVEL: 15,
+
+    /** 
+     * Constant: RESOLUTIONS
+     * {Array(Float)} Hardcode these resolutions so that they are more closely
+     *                tied with the standard wms projection
+     */
+    RESOLUTIONS: [
+        1.40625, 
+        0.703125, 
+        0.3515625, 
+        0.17578125, 
+        0.087890625, 
+        0.0439453125,
+        0.02197265625, 
+        0.010986328125, 
+        0.0054931640625, 
+        0.00274658203125, 
+        0.001373291015625, 
+        0.0006866455078125, 
+        0.00034332275390625, 
+        0.000171661376953125, 
+        0.0000858306884765625, 
+        0.00004291534423828125
+    ],
+
+    /**
+     * APIProperty: type
+     * {YahooMapType}
+     */
+    type: null,
+    
+    /**
+     * APIProperty: sphericalMercator
+     * {Boolean} Should the map act as a mercator-projected map? This will
+     * cause all interactions with the map to be in the actual map projection,
+     * which allows support for vector drawing, overlaying other maps, etc. 
+     */
+    sphericalMercator: false, 
+
+    /** 
+     * Constructor: OpenLayers.Layer.Yahoo
+     * 
+     * Parameters:
+     * name - {String}
+     * options - {Object}
+     */
+    initialize: function(name, options) {
+        OpenLayers.Layer.EventPane.prototype.initialize.apply(this, arguments);
+        OpenLayers.Layer.FixedZoomLevels.prototype.initialize.apply(this, 
+                                                                    arguments);
+        if(this.sphericalMercator) {
+            OpenLayers.Util.extend(this, OpenLayers.Layer.SphericalMercator);
+            this.initMercatorParameters();
+        }
+    },
+    
+    /**
+     * Method: loadMapObject
+     */
+    loadMapObject:function() {
+        try { //do not crash! 
+            var size = this.getMapObjectSizeFromOLSize(this.map.getSize());
+            this.mapObject = new YMap(this.div, this.type, size);
+            this.mapObject.disableKeyControls();
+            this.mapObject.disableDragMap();
+
+            //can we do smooth panning? (moveByXY is not an API function)
+            if ( !this.mapObject.moveByXY || 
+                 (typeof this.mapObject.moveByXY != "function" ) ) {
+
+                this.dragPanMapObject = null;
+            }                
+        } catch(e) {}
+    },
+
+    /**
+     * Method: onMapResize
+     * 
+     */
+    onMapResize: function() {
+        try {
+            var size = this.getMapObjectSizeFromOLSize(this.map.getSize());
+            this.mapObject.resizeTo(size);
+        } catch(e) {}     
+    },    
+    
+    
+    /** 
+     * APIMethod: setMap
+     * Overridden from EventPane because we need to remove this yahoo event
+     *     pane which prohibits our drag and drop, and we can only do this 
+     *     once the map has been loaded and centered.
+     * 
+     * Parameters:
+     * map - {<OpenLayers.Map>}
+     */
+    setMap: function(map) {
+        OpenLayers.Layer.EventPane.prototype.setMap.apply(this, arguments);
+
+        this.map.events.register("moveend", this, this.fixYahooEventPane);
+    },
+
+    /** 
+     * Method: fixYahooEventPane
+     * The map has been centered, so the mysterious yahoo eventpane has been
+     *     added. we remove it so that it doesnt mess with *our* event pane.
+     */
+    fixYahooEventPane: function() {
+        var yahooEventPane = OpenLayers.Util.getElement("ygddfdiv");
+        if (yahooEventPane != null) {
+            if (yahooEventPane.parentNode != null) {
+                yahooEventPane.parentNode.removeChild(yahooEventPane);
+            }
+            this.map.events.unregister("moveend", this, 
+                                       this.fixYahooEventPane);
+        }
+    },
+
+    /** 
+     * APIMethod: getWarningHTML
+     * 
+     * Returns: 
+     * {String} String with information on why layer is broken, how to get
+     *          it working.
+     */
+    getWarningHTML:function() {
+        return OpenLayers.i18n(
+            "getLayerWarning", {'layerType':'Yahoo', 'layerLib':'Yahoo'}
+        );
+    },
+
+  /********************************************************/
+  /*                                                      */
+  /*             Translation Functions                    */
+  /*                                                      */
+  /*    The following functions translate GMaps and OL    */ 
+  /*     formats for Pixel, LonLat, Bounds, and Zoom      */
+  /*                                                      */
+  /********************************************************/
+
+
+  //
+  // TRANSLATION: MapObject Zoom <-> OpenLayers Zoom
+  //
+  
+    /**
+     * APIMethod: getOLZoomFromMapObjectZoom
+     * 
+     * Parameters:
+     * gZoom - {Integer}
+     * 
+     * Returns:
+     * {Integer} An OpenLayers Zoom level, translated from the passed in gZoom
+     *           Returns null if null value is passed in.
+     */
+    getOLZoomFromMapObjectZoom: function(moZoom) {
+        var zoom = null;
+        if (moZoom != null) {
+            zoom = OpenLayers.Layer.FixedZoomLevels.prototype.getOLZoomFromMapObjectZoom.apply(this, [moZoom]);
+            zoom = 18 - zoom;
+        }
+        return zoom;
+    },
+    
+    /**
+     * APIMethod: getMapObjectZoomFromOLZoom
+     * 
+     * Parameters:
+     * olZoom - {Integer}
+     * 
+     * Returns:
+     * {Integer} A MapObject level, translated from the passed in olZoom
+     *           Returns null if null value is passed in
+     */
+    getMapObjectZoomFromOLZoom: function(olZoom) {
+        var zoom = null; 
+        if (olZoom != null) {
+            zoom = OpenLayers.Layer.FixedZoomLevels.prototype.getMapObjectZoomFromOLZoom.apply(this, [olZoom]);
+            zoom = 18 - zoom;
+        }
+        return zoom;
+    },
+
+    /************************************
+     *                                  *
+     *   MapObject Interface Controls   *
+     *                                  *
+     ************************************/
+
+
+  // Get&Set Center, Zoom
+
+    /** 
+     * APIMethod: setMapObjectCenter
+     * Set the mapObject to the specified center and zoom
+     * 
+     * Parameters:
+     * center - {Object} MapObject LonLat format
+     * zoom - {int} MapObject zoom format
+     */
+    setMapObjectCenter: function(center, zoom) {
+        this.mapObject.drawZoomAndCenter(center, zoom); 
+    },
+   
+    /**
+     * APIMethod: getMapObjectCenter
+     * 
+     * Returns: 
+     * {Object} The mapObject's current center in Map Object format
+     */
+    getMapObjectCenter: function() {
+        return this.mapObject.getCenterLatLon();
+    },
+
+    /**
+     * APIMethod: dragPanMapObject
+     * 
+     * Parameters:
+     * dX - {Integer}
+     * dY - {Integer}
+     */
+    dragPanMapObject: function(dX, dY) {
+        this.mapObject.moveByXY({
+            'x': -dX,
+            'y': dY
+        });
+    },
+    
+    /** 
+     * APIMethod: getMapObjectZoom
+     * 
+     * Returns:
+     * {Integer} The mapObject's current zoom, in Map Object format
+     */
+    getMapObjectZoom: function() {
+        return this.mapObject.getZoomLevel();
+    },
+
+
+  // LonLat - Pixel Translation
+  
+    /**
+     * APIMethod: getMapObjectLonLatFromMapObjectPixel
+     * 
+     * Parameters:
+     * moPixel - {Object} MapObject Pixel format
+     * 
+     * Returns:
+     * {Object} MapObject LonLat translated from MapObject Pixel
+     */
+    getMapObjectLonLatFromMapObjectPixel: function(moPixel) {
+        return this.mapObject.convertXYLatLon(moPixel);
+    },
+
+    /**
+     * APIMethod: getMapObjectPixelFromMapObjectLonLat
+     * 
+     * Parameters:
+     * moLonLat - {Object} MapObject LonLat format
+     * 
+     * Returns:
+     * {Object} MapObject Pixel transtlated from MapObject LonLat
+     */
+    getMapObjectPixelFromMapObjectLonLat: function(moLonLat) {
+        return this.mapObject.convertLatLonXY(moLonLat);
+    },
+
+
+    /************************************
+     *                                  *
+     *       MapObject Primitives       *
+     *                                  *
+     ************************************/
+
+
+  // LonLat
+    
+    /**
+     * APIMethod: getLongitudeFromMapObjectLonLat
+     * 
+     * Parameters:
+     * moLonLat - {Object} MapObject LonLat format
+     * 
+     * Returns:
+     * {Float} Longitude of the given MapObject LonLat
+     */
+    getLongitudeFromMapObjectLonLat: function(moLonLat) {
+        return this.sphericalMercator ? 
+            this.forwardMercator(moLonLat.Lon, moLonLat.Lat).lon :
+            moLonLat.Lon;
+    },
+
+    /**
+     * APIMethod: getLatitudeFromMapObjectLonLat
+     * 
+     * Parameters:
+     * moLonLat - {Object} MapObject LonLat format
+     * 
+     * Returns:
+     * {Float} Latitude of the given MapObject LonLat
+     */
+    getLatitudeFromMapObjectLonLat: function(moLonLat) {
+        return this.sphericalMercator ? 
+            this.forwardMercator(moLonLat.Lon, moLonLat.Lat).lat :
+            moLonLat.Lat;
+    },
+
+    /**
+     * APIMethod: getMapObjectLonLatFromLonLat
+     * 
+     * Parameters:
+     * lon - {Float}
+     * lat - {Float}
+     * 
+     * Returns:
+     * {Object} MapObject LonLat built from lon and lat params
+     */
+    getMapObjectLonLatFromLonLat: function(lon, lat) {
+        var yLatLong;
+        if(this.sphericalMercator) {
+            var lonlat = this.inverseMercator(lon, lat);
+            yLatLong = new YGeoPoint(lonlat.lat, lonlat.lon);
+        } else {
+            yLatLong = new YGeoPoint(lat, lon);
+        }
+        return yLatLong;
+    },
+
+  // Pixel
+    
+    /**
+     * APIMethod: getXFromMapObjectPixel
+     * 
+     * Parameters:
+     * moPixel - {Object} MapObject Pixel format
+     * 
+     * Returns:
+     * {Integer} X value of the MapObject Pixel
+     */
+    getXFromMapObjectPixel: function(moPixel) {
+        return moPixel.x;
+    },
+
+    /**
+     * APIMethod: getYFromMapObjectPixel
+     * 
+     * Parameters:
+     * moPixel - {Object} MapObject Pixel format
+     * 
+     * Returns:
+     * {Integer} Y value of the MapObject Pixel
+     */
+    getYFromMapObjectPixel: function(moPixel) {
+        return moPixel.y;
+    },
+
+    /**
+     * APIMethod: getMapObjectPixelFromXY
+     * 
+     * Parameters:
+     * x - {Integer}
+     * y - {Integer}
+     * 
+     * Returns:
+     * {Object} MapObject Pixel from x and y parameters
+     */
+    getMapObjectPixelFromXY: function(x, y) {
+        return new YCoordPoint(x, y);
+    },
+    
+  // Size
+  
+    /**
+     * APIMethod: getMapObjectSizeFromOLSize
+     * 
+     * Parameters:
+     * olSize - {<OpenLayers.Size>}
+     * 
+     * Returns:
+     * {Object} MapObject Size from olSize parameter
+     */
+    getMapObjectSizeFromOLSize: function(olSize) {
+        return new YSize(olSize.w, olSize.h);
+    },
+    
+    CLASS_NAME: "OpenLayers.Layer.Yahoo"
+});
+/* ======================================================================
+    OpenLayers/Style.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+  * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Util.js
+ * @requires OpenLayers/Feature/Vector.js
+ */
+
+/**
+ * Class: OpenLayers.Style
+ * This class represents a UserStyle obtained
+ *     from a SLD, containing styling rules.
+ */
+OpenLayers.Style = OpenLayers.Class({
+
+    /**
+     * APIProperty: name
+     * {String}
+     */
+    name: null,
+    
+    /**
+     * Property: title
+     * {String} Title of this style (set if included in SLD)
+     */
+    title: null,
+    
+    /**
+     * Property: description
+     * {String} Description of this style (set if abstract is included in SLD)
+     */
+    description: null,
+
+    /**
+     * APIProperty: layerName
+     * {<String>} name of the layer that this style belongs to, usually
+     * according to the NamedLayer attribute of an SLD document.
+     */
+    layerName: null,
+    
+    /**
+     * APIProperty: isDefault
+     * {Boolean}
+     */
+    isDefault: false,
+     
+    /** 
+     * Property: rules 
+     * Array({<OpenLayers.Rule>}) 
+     */
+    rules: null,
+    
+    /**
+     * Property: context
+     * {Object} An optional object with properties that symbolizers' property
+     * values should be evaluatad against. If no context is specified,
+     * feature.attributes will be used
+     */
+    context: null,
+
+    /**
+     * Property: defaultStyle
+     * {Object} hash of style properties to use as default for merging
+     * rule-based style symbolizers onto. If no rules are defined,
+     * createSymbolizer will return this style.
+     */
+    defaultStyle: null,
+    
+    /**
+     * Property: propertyStyles
+     * {Hash of Boolean} cache of style properties that need to be parsed for
+     * propertyNames. Property names are keys, values won't be used.
+     */
+    propertyStyles: null,
+    
+
+    /** 
+     * Constructor: OpenLayers.Style
+     * Creates a UserStyle.
+     *
+     * Parameters:
+     * style        - {Object} Optional hash of style properties that will be
+     *                used as default style for this style object. This style
+     *                applies if no rules are specified. Symbolizers defined in
+     *                rules will extend this default style.
+     * options      - {Object} An optional object with properties to set on the
+     *                userStyle
+     * 
+     * Return:
+     * {<OpenLayers.Style>}
+     */
+    initialize: function(style, options) {
+        this.rules = [];
+
+        // use the default style from OpenLayers.Feature.Vector if no style
+        // was given in the constructor
+        this.setDefaultStyle(style || 
+                OpenLayers.Feature.Vector.style["default"]);
+        
+        OpenLayers.Util.extend(this, options);
+    },
+
+    /** 
+     * APIMethod: destroy
+     * nullify references to prevent circular references and memory leaks
+     */
+    destroy: function() {
+        for (var i=0; i<this.rules.length; i++) {
+            this.rules[i].destroy();
+            this.rules[i] = null;
+        }
+        this.rules = null;
+        this.defaultStyle = null;
+    },
+    
+    /**
+     * Method: createSymbolizer
+     * creates a style by applying all feature-dependent rules to the base
+     * style.
+     * 
+     * Parameters:
+     * feature - {<OpenLayers.Feature>} feature to evaluate rules for
+     * 
+     * Returns:
+     * {Object} symbolizer hash
+     */
+    createSymbolizer: function(feature) {
+        var style = this.createLiterals(
+            OpenLayers.Util.extend({}, this.defaultStyle), feature);
+        
+        var rules = this.rules;
+
+        var rule, context;
+        var elseRules = [];
+        var appliedRules = false;
+        for(var i=0; i<rules.length; i++) {
+            rule = rules[i];
+            // does the rule apply?
+            var applies = rule.evaluate(feature);
+            
+            if(applies) {
+                if(rule instanceof OpenLayers.Rule && rule.elseFilter) {
+                    elseRules.push(rule);
+                } else {
+                    appliedRules = true;
+                    this.applySymbolizer(rule, style, feature);
+                }
+            }
+        }
+        
+        // if no other rules apply, apply the rules with else filters
+        if(appliedRules == false && elseRules.length > 0) {
+            appliedRules = true;
+            for(var i=0; i<elseRules.length; i++) {
+                this.applySymbolizer(elseRules[i], style, feature);
+            }
+        }
+
+        // don't display if there were rules but none applied
+        if(rules.length > 0 && appliedRules == false) {
+            style.display = "none";
+        } else {
+            style.display = "";
+        }
+        
+        return style;
+    },
+    
+    /**
+     * Method: applySymbolizer
+     *
+     * Parameters:
+     * rule - {OpenLayers.Rule}
+     * style - {Object}
+     * feature - {<OpenLayer.Feature.Vector>}
+     *
+     * Returns:
+     * {Object} A style with new symbolizer applied.
+     */
+    applySymbolizer: function(rule, style, feature) {
+        var symbolizerPrefix = feature.geometry ?
+                this.getSymbolizerPrefix(feature.geometry) :
+                OpenLayers.Style.SYMBOLIZER_PREFIXES[0];
+
+        var symbolizer = rule.symbolizer[symbolizerPrefix] || rule.symbolizer;
+
+        // merge the style with the current style
+        return this.createLiterals(
+                OpenLayers.Util.extend(style, symbolizer), feature);
+    },
+    
+    /**
+     * Method: createLiterals
+     * creates literals for all style properties that have an entry in
+     * <this.propertyStyles>.
+     * 
+     * Parameters:
+     * style   - {Object} style to create literals for. Will be modified
+     *           inline.
+     * feature - {Object}
+     * 
+     * Returns:
+     * {Object} the modified style
+     */
+    createLiterals: function(style, feature) {
+        var context = this.context || feature.attributes || feature.data;
+        
+        for (var i in this.propertyStyles) {
+            style[i] = OpenLayers.Style.createLiteral(style[i], context, feature);
+        }
+        return style;
+    },
+    
+    /**
+     * Method: findPropertyStyles
+     * Looks into all rules for this style and the defaultStyle to collect
+     * all the style hash property names containing ${...} strings that have
+     * to be replaced using the createLiteral method before returning them.
+     * 
+     * Returns:
+     * {Object} hash of property names that need createLiteral parsing. The
+     * name of the property is the key, and the value is true;
+     */
+    findPropertyStyles: function() {
+        var propertyStyles = {};
+
+        // check the default style
+        var style = this.defaultStyle;
+        this.addPropertyStyles(propertyStyles, style);
+
+        // walk through all rules to check for properties in their symbolizer
+        var rules = this.rules;
+        var symbolizer, value;
+        for (var i=0; i<rules.length; i++) {
+            var symbolizer = rules[i].symbolizer;
+            for (var key in symbolizer) {
+                value = symbolizer[key];
+                if (typeof value == "object") {
+                    // symbolizer key is "Point", "Line" or "Polygon"
+                    this.addPropertyStyles(propertyStyles, value);
+                } else {
+                    // symbolizer is a hash of style properties
+                    this.addPropertyStyles(propertyStyles, symbolizer);
+                    break;
+                }
+            }
+        }
+        return propertyStyles;
+    },
+    
+    /**
+     * Method: addPropertyStyles
+     * 
+     * Parameters:
+     * propertyStyles - {Object} hash to add new property styles to. Will be
+     *                  modified inline
+     * symbolizer     - {Object} search this symbolizer for property styles
+     * 
+     * Returns:
+     * {Object} propertyStyles hash
+     */
+    addPropertyStyles: function(propertyStyles, symbolizer) {
+        var property;
+        for (var key in symbolizer) {
+            property = symbolizer[key];
+            if (typeof property == "string" &&
+                    property.match(/\$\{\w+\}/)) {
+                propertyStyles[key] = true;
+            }
+        }
+        return propertyStyles;
+    },
+    
+    /**
+     * APIMethod: addRules
+     * Adds rules to this style.
+     * 
+     * Parameters:
+     * rules - {Array(<OpenLayers.Rule>)}
+     */
+    addRules: function(rules) {
+        this.rules = this.rules.concat(rules);
+        this.propertyStyles = this.findPropertyStyles();
+    },
+    
+    /**
+     * APIMethod: setDefaultStyle
+     * Sets the default style for this style object.
+     * 
+     * Parameters:
+     * style - {Object} Hash of style properties
+     */
+    setDefaultStyle: function(style) {
+        this.defaultStyle = style; 
+        this.propertyStyles = this.findPropertyStyles();
+    },
+        
+    /**
+     * Method: getSymbolizerPrefix
+     * Returns the correct symbolizer prefix according to the
+     * geometry type of the passed geometry
+     * 
+     * Parameters:
+     * geometry {<OpenLayers.Geometry>}
+     * 
+     * Returns:
+     * {String} key of the according symbolizer
+     */
+    getSymbolizerPrefix: function(geometry) {
+        var prefixes = OpenLayers.Style.SYMBOLIZER_PREFIXES;
+        for (var i=0; i<prefixes.length; i++) {
+            if (geometry.CLASS_NAME.indexOf(prefixes[i]) != -1) {
+                return prefixes[i];
+            }
+        }
+    },
+    
+    CLASS_NAME: "OpenLayers.Style"
+});
+
+
+/**
+ * Function: createLiteral
+ * converts a style value holding a combination of PropertyName and Literal
+ * into a Literal, taking the property values from the passed features.
+ * 
+ * Parameters:
+ * value - {String} value to parse. If this string contains a construct like
+ *         "foo ${bar}", then "foo " will be taken as literal, and "${bar}"
+ *         will be replaced by the value of the "bar" attribute of the passed
+ *         feature.
+ * context - {Object} context to take attribute values from
+ * feature - {OpenLayers.Feature.Vector} The feature that will be passed
+ *     to <OpenLayers.String.format> for evaluating functions in the context.
+ * 
+ * Returns:
+ * {String} the parsed value. In the example of the value parameter above, the
+ * result would be "foo valueOfBar", assuming that the passed feature has an
+ * attribute named "bar" with the value "valueOfBar".
+ */
+OpenLayers.Style.createLiteral = function(value, context, feature) {
+    if (typeof value == "string" && value.indexOf("${") != -1) {
+        value = OpenLayers.String.format(value, context, [feature]);
+        value = (isNaN(value) || !value) ? value : parseFloat(value);
+    }
+    return value;
+};
+    
+/**
+ * Constant: OpenLayers.Style.SYMBOLIZER_PREFIXES
+ * {Array} prefixes of the sld symbolizers. These are the
+ * same as the main geometry types
+ */
+OpenLayers.Style.SYMBOLIZER_PREFIXES = ['Point', 'Line', 'Polygon'];
+/* ======================================================================
+    OpenLayers/Control/ModifyFeature.js
+   ====================================================================== */
+
+/* Copyright (c) 2006 MetaCarta, Inc., published under the Clear BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/license.txt 
+ * for the full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Control/DragFeature.js
+ * @requires OpenLayers/Control/SelectFeature.js
+ * @requires OpenLayers/Handler/Keyboard.js
+ */
+
+/**
+ * Class: OpenLayers.Control.ModifyFeature
+ * Control to modify features.  When activated, a click renders the vertices
+ *     of a feature - these vertices can then be dragged.  By default, the
+ *     delete key will delete the vertex under the mouse.  New features are
+ *     added by dragging "virtual vertices" between vertices.  Create a new
+ *     control with the <OpenLayers.Control.ModifyFeature> constructor.
+ *
+ * Inherits From:
+ *  - <OpenLayers.Control>
+ */
+OpenLayers.Control.ModifyFeature = OpenLayers.Class(OpenLayers.Control, {
+
+    /**
+     * APIProperty: geometryTypes
+     * {Array(String)} To restrict modification to a limited set of geometry
+     *     types, send a list of strings corresponding to the geometry class
+     *     names.
+     */
+    geometryTypes: null,
+
+    /**
+     * APIProperty: clickout
+     * {Boolean} Unselect features when clicking outside any feature.
+     *     Default is true.
+     */
+    clickout: true,
+
+    /**
+     * APIProperty: toggle
+     * {Boolean} Unselect a selected feature on click.
+     *      Default is true.
+     */
+    toggle: true,
+
+    /**
+     * Property: layer
+     * {<OpenLayers.Layer.Vector>}
+     */
+    layer: null,
+    
+    /**
+     * Property: feature
+     * {<OpenLayers.Feature.Vector>} Feature currently available for modification.
+     */
+    feature: null,
+    
+    /**
+     * Property: vertices
+     * {Array(<OpenLayers.Feature.Vector>)} Verticies currently available
+     *     for dragging.
+     */
+    vertices: null,
+    
+    /**
+     * Property: virtualVertices
+     * {Array(<OpenLayers.Feature.Vector>)} Virtual vertices in the middle
+     *     of each edge.
+     */
+    virtualVertices: null,
+
+    /**
+     * Property: selectControl
+     * {<OpenLayers.Control.Select>}
+     */
+    selectControl: null,
+    
+    /**
+     * Property: dragControl
+     * {<OpenLayers.Control.DragFeature>}
+     */
+    dragControl: null,
+    
+    /**
+     * Property: handlers
+     * {Object}
+     */
+    handlers: null,
+    
+    /**
+     * APIProperty: deleteCodes
+     * {Array(Integer)} Keycodes for deleting verticies.  Set to null to disable
+     *     vertex deltion by keypress.  If non-null, keypresses with codes
+     *     in this array will delete vertices under the mouse. Default
+     *     is 46 and 100, the 'delete' and lowercase 'd' keys.
+     */
+    deleteCodes: null,
+
+    /**
+     * APIProperty: virtualStyle
+     * {<OpenLayers.Feature.Vector.Style>}
+     */
+    virtualStyle: null,
+
+    /**
+     * APIProperty: mode
+     * {Integer} Bitfields specifying the modification mode. Defaults to
+     *      OpenLayers.Control.ModifyFeature.RESHAPE. To set the mode to a
+     *      combination of options, use the | operator. or example, to allow
+     *      the control to both resize and rotate features, use the following
+     *      syntax
+     * (code)
+     * control.mode = OpenLayers.Control.ModifyFeature.RESIZE |
+     *                OpenLayers.Control.ModifyFeature.ROTATE;
+     *  (end)
+     */
+    mode: null,
+
+    /**
+     * Property: radiusHandle
+     * {<OpenLayers.Feature.Vector>} A handle for rotating/resizing a feature.
+     */
+    radiusHandle: null,
+
+    /**
+     * Property: dragHandle
+     * {<OpenLayers.Feature.Vector>} A handle for dragging a feature.
+     */
+    dragHandle: null,
+
+    /**
+     * APIProperty: onModificationStart 
+     * {Function} *Deprecated*.  Register for "beforefeaturemodified" instead.
+     *     The "beforefeaturemodified" event is triggered on the layer before
+     *     any modification begins.
+     *
+     * Optional function to be called when a feature is selected
+     *     to be modified. The function should expect to be called with a
+     *     feature.  This could be used for example to allow to lock the
+     *     feature on server-side.
+     */
+    onModificationStart: function() {},
+
+    /**
+     * APIProperty: onModification
+     * {Function} *Deprecated*.  Register for "featuremodified" instead.
+     *     The "featuremodified" event is triggered on the layer with each
+     *     feature modification.
+     *
+     * Optional function to be called when a feature has been
+     *     modified.  The function should expect to be called with a feature.
+     */
+    onModification: function() {},
+
+    /**
+     * APIProperty: onModificationEnd
+     * {Function} *Deprecated*.  Register for "afterfeaturemodified" instead.
+     *     The "afterfeaturemodified" event is triggered on the layer after
+     *     a feature has been modified.
+     *
+     * Optional function to be called when a feature is finished 
+     *     being modified.  The function should expect to be called with a
+     *     feature.
+     */
+    onModificationEnd: function() {},
+
+    /**
+     * Constructor: OpenLayers.Control.ModifyFeature
+     * Create a new modify feature control.
+     *
+     * Parameters:
+     * layer - {<OpenLayers.Layer.Vector>} Layer that contains features that
+     *     will be modified.
+     * options - {Object} Optional object whose properties will be set on the
+     *     control.
+     */
+    initialize: function(layer, options) {
+        this.layer = layer;
+        this.vertices = [];
+        this.virtualVertices = [];
+        this.styleVirtual = OpenLayers.Util.extend({},
+            this.layer.style || this.layer.styleMap.createSymbolizer());
+        this.styleVirtual.fillOpacity = 0.3;
+        this.styleVirtual.strokeOpacity = 0.3;
+        this.deleteCodes = [46, 100];
+        this.mode = OpenLayers.Control.ModifyFeature.RESHAPE;
+        OpenLayers.Control.prototype.initialize.apply(this, [options]);
+        if(!(this.deleteCodes instanceof Array)) {
+            this.deleteCodes = [this.deleteCodes];
+        }
+        var control = this;
+
+        // configure the select control
+        var selectOptions = {
+            geometryTypes: this.geometryTypes,
+            clickout: this.clickout,
+            toggle: this.toggle
+        };
+        this.selectControl = new OpenLayers.Control.SelectFeature(
+            layer, selectOptions
+        );
+        this.layer.events.on({
+            "featureselected": this.selectFeature,
+            "featureunselected": this.unselectFeature,
+            scope: this
+        });
+
+        // configure the drag control
+        var dragOptions = {
+            geometryTypes: ["OpenLayers.Geometry.Point"],
+            snappingOptions: this.snappingOptions,
+            onStart: function(feature, pixel) {
+                control.dragStart.apply(control, [feature, pixel]);
+            },
+            onDrag: function(feature) {
+                control.dragVertex.apply(control, [feature]);
+            },
+            onComplete: function(feature) {
+                control.dragComplete.apply(control, [feature]);
+            }
+        };
+        this.dragControl = new OpenLayers.Control.DragFeature(
+            layer, dragOptions
+        );
+
+        // configure the keyboard handler
+        var keyboardOptions = {
+            keypress: this.handleKeypress
+        };
+        this.handlers = {
+            keyboard: new OpenLayers.Handler.Keyboard(this, keyboardOptions)
+        };
+    },
+
+    /**
+     * APIMethod: destroy
+     * Take care of things that are not handled in superclass.
+     */
+    destroy: function() {
+        this.layer.events.un({
+            "featureselected": this.selectFeature,
+            "featureunselected": this.unselectFeature,
+            scope: this
+        });
+        this.layer = null;
+        this.selectControl.destroy();
+        this.dragControl.destroy();
+        OpenLayers.Control.prototype.destroy.apply(this, []);
+    },
+
+    /**
+     * APIMethod: activate
+     * Activate the control and the feature handler.
+     * 
+     * Returns:
+     * {Boolean} Successfully activated the control and feature handler.
+     */
+    activate: function() {
+        return (this.selectControl.activate() &&
+                this.handlers.keyboard.activate() &&
+                OpenLayers.Control.prototype.activate.apply(this, arguments));
+    },
+
+    /**
+     * APIMethod: deactivate
+     * Deactivate the controls.
+     *
+     * Returns: 
+     * {Boolean} Successfully deactivated the control.
+     */
+    deactivate: function() {
+        var deactivated = false;
+        // the return from the controls is unimportant in this case
+        if(OpenLayers.Control.prototype.deactivate.apply(this, arguments)) {
+            this.layer.removeFeatures(this.vertices);
+            this.layer.removeFeatures(this.virtualVertices);
+            this.vertices = [];
+            this.dragControl.deactivate();
+            if(this.feature && this.feature.geometry) {
+                this.selectControl.unselect.apply(this.selectControl,
+                                                  [this.feature]);
+            }
+            this.selectControl.deactivate();
+            this.handlers.keyboard.deactivate();
+            deactivated = true;
+        }
+        return deactivated;
+    },
+
+    /**
+     * Method: selectFeature
+     * Called when the select feature control selects a feature.
+     *
+     * Parameters:
+     * object - {Object} Object with a feature property referencing the
+     *     selected feature.
+     */
+    selectFeature: function(object) {
+        this.feature = object.feature;
+        this.resetVertices();
+        this.dragControl.activate();
+        this.onModificationStart(this.feature);
+        this.layer.events.triggerEvent("beforefeaturemodified", 
+                                       {feature: this.feature});
+    },
+
+    /**
+     * Method: unselectFeature
+     * Called when the select feature control unselects a feature.
+     *
+     * Parameters:
+     * object - {Object} Object with a feature property referencing the
+     *     unselected feature.
+     */
+    unselectFeature: function(object) {
+        this.layer.removeFeatures(this.vertices);
+        this.vertices = [];
+        this.layer.destroyFeatures(this.virtualVertices);
+        this.virtualVertices = [];
+        if(this.dragHandle) {
+            this.layer.destroyFeatures([this.dragHandle]);
+            delete this.dragHandle;
+        }
+        if(this.radiusHandle) {
+            this.layer.destroyFeatures([this.radiusHandle]);
+            delete this.radiusHandle;
+        }
+        this.feature = null;
+        this.dragControl.deactivate();
+        this.onModificationEnd(object.feature);
+        this.layer.events.triggerEvent("afterfeaturemodified", 
+                                       {feature: object.feature});
+    },
+
+    /**
+     * Method: dragStart
+     * Called by the drag feature control with before a feature is dragged.
+     *     This method is used to differentiate between points and vertices
+     *     of higher order geometries.  This respects the <geometryTypes>
+     *     property and forces a select of points when the drag control is
+     *     already active (and stops events from propagating to the select
+     *     control).
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>} The point or vertex about to be
+     *     dragged.
+     * pixel - {<OpenLayers.Pixel>} Pixel location of the mouse event.
+     */
+    dragStart: function(feature, pixel) {
+        // only change behavior if the feature is not in the vertices array
+        if(feature != this.feature && !feature.geometry.parent &&
+           feature != this.dragHandle && feature != this.radiusHandle) {
+            if(this.feature) {
+                // unselect the currently selected feature
+                this.selectControl.clickFeature.apply(this.selectControl,
+                                                      [this.feature]);
+            }
+            // check any constraints on the geometry type
+            if(this.geometryTypes == null ||
+               OpenLayers.Util.indexOf(this.geometryTypes,
+                                       feature.geometry.CLASS_NAME) != -1) {
+                // select the point
+                this.selectControl.clickFeature.apply(this.selectControl,
+                                                      [feature]);
+                /**
+                 * TBD: These lines improve workflow by letting the user
+                 *     immediately start dragging after the mouse down.
+                 *     However, it is very ugly to be messing with controls
+                 *     and their handlers in this way.  I'd like a better
+                 *     solution if the workflow change is necessary.
+                 */
+                // prepare the point for dragging
+                this.dragControl.overFeature.apply(this.dragControl,
+                                                   [feature]);
+                this.dragControl.lastPixel = pixel;
+                this.dragControl.handlers.drag.started = true;
+                this.dragControl.handlers.drag.start = pixel;
+                this.dragControl.handlers.drag.last = pixel;
+            }
+        }
+    },
+    
+    /**
+     * Method: dragVertex
+     * Called by the drag feature control with each drag move of a vertex.
+     *
+     * Parameters:
+     * vertex - {<OpenLayers.Feature.Vector>} The vertex being dragged.
+     */
+    dragVertex: function(vertex) {
+        /**
+         * Five cases:
+         * 1) dragging a simple point
+         * 2) dragging a virtual vertex
+         * 3) dragging a drag handle
+         * 4) dragging a radius handle
+         * 5) dragging a real vertex
+         */
+        if(this.feature.geometry.CLASS_NAME == "OpenLayers.Geometry.Point") {
+            // dragging a simple point
+            if(this.feature != vertex) {
+                this.feature = vertex;
+            }
+        } else {
+            if(vertex._index) {
+                // dragging a virtual vertex
+                vertex.geometry.parent.addComponent(vertex.geometry,
+                                                    vertex._index);
+                // move from virtual to real vertex
+                delete vertex._index;
+                OpenLayers.Util.removeItem(this.virtualVertices, vertex);
+                this.vertices.push(vertex);
+            } else if(vertex == this.dragHandle) {
+                // dragging a drag handle
+                this.layer.removeFeatures(this.vertices);
+                this.vertices = [];
+                if(this.radiusHandle) {
+                    this.layer.destroyFeatures([this.radiusHandle]);
+                    this.radiusHandle = null;
+                }
+            }
+            // dragging a radius handle - no special treatment
+            // dragging a real vertex - no special treatment
+            if(this.virtualVertices.length > 0) {
+                this.layer.destroyFeatures(this.virtualVertices);
+                this.virtualVertices = [];
+            }
+            this.layer.drawFeature(this.feature, this.selectControl.renderIntent);
+        }
+        // keep the vertex on top so it gets the mouseout after dragging
+        // this should be removed in favor of an option to draw under or
+        // maintain node z-index
+        this.layer.drawFeature(vertex);
+    },
+    
+    /**
+     * Method: dragComplete
+     * Called by the drag feature control when the feature dragging is complete.
+     *
+     * Parameters:
+     * vertex - {<OpenLayers.Feature.Vector>} The vertex being dragged.
+     */
+    dragComplete: function(vertex) {
+        this.resetVertices();
+        this.onModification(this.feature);
+        this.layer.events.triggerEvent("featuremodified", 
+                                       {feature: this.feature});
+    },
+    
+    /**
+     * Method: resetVertices
+     */
+    resetVertices: function() {
+        // if coming from a drag complete we're about to destroy the vertex
+        // that was just dragged. For that reason, the drag feature control
+        // will never detect a mouse-out on that vertex, meaning that the drag
+        // handler won't be deactivated. This can cause errors because the drag
+        // feature control still has a feature to drag but that feature is
+        // destroyed. To prevent this, we call outFeature on the drag feature
+        // control if the control actually has a feature to drag.
+        if(this.dragControl.feature) {
+            this.dragControl.outFeature(this.dragControl.feature);
+        }
+        if(this.vertices.length > 0) {
+            this.layer.removeFeatures(this.vertices);
+            this.vertices = [];
+        }
+        if(this.virtualVertices.length > 0) {
+            this.layer.removeFeatures(this.virtualVertices);
+            this.virtualVertices = [];
+        }
+        if(this.dragHandle) {
+            this.layer.destroyFeatures([this.dragHandle]);
+            this.dragHandle = null;
+        }
+        if(this.radiusHandle) {
+            this.layer.destroyFeatures([this.radiusHandle]);
+            this.radiusHandle = null;
+        }
+        if(this.feature &&
+           this.feature.geometry.CLASS_NAME != "OpenLayers.Geometry.Point") {
+            if((this.mode & OpenLayers.Control.ModifyFeature.DRAG)) {
+                this.collectDragHandle();
+            }
+            if((this.mode & (OpenLayers.Control.ModifyFeature.ROTATE |
+                             OpenLayers.Control.ModifyFeature.RESIZE))) {
+                this.collectRadiusHandle();
+            }
+            if((this.mode & OpenLayers.Control.ModifyFeature.RESHAPE)) {
+                this.collectVertices();
+            }
+        }
+    },
+    
+    /**
+     * Method: handleKeypress
+     * Called by the feature handler on keypress.  This is used to delete
+     *     vertices and point features.  If the <deleteCode> property is set,
+     *     vertices and points will be deleted when a feature is selected
+     *     for modification and the mouse is over a vertex.
+     *
+     * Parameters:
+     * {Integer} Key code corresponding to the keypress event.
+     */
+    handleKeypress: function(code) {
+        // check for delete key
+        if(this.feature &&
+           OpenLayers.Util.indexOf(this.deleteCodes, code) != -1) {
+            var vertex = this.dragControl.feature;
+            if(vertex &&
+               OpenLayers.Util.indexOf(this.vertices, vertex) != -1 &&
+               !this.dragControl.handlers.drag.dragging &&
+               vertex.geometry.parent) {
+                // remove the vertex
+                vertex.geometry.parent.removeComponent(vertex.geometry);
+                this.layer.drawFeature(this.feature,
+                                       this.selectControl.renderIntent);
+                this.resetVertices();
+                this.onModification(this.feature);
+                this.layer.events.triggerEvent("featuremodified", 
+                                               {feature: this.feature});
+            }
+        }
+    },
+
+    /**
+     * Method: collectVertices
+     * Collect the vertices from the modifiable feature's geometry and push
+     *     them on to the control's vertices array.
+     */
+    collectVertices: function() {
+        this.vertices = [];
+        this.virtualVertices = [];        
+        var control = this;
+        function collectComponentVertices(geometry) {
+            var i, vertex, component;
+            if(geometry.CLASS_NAME == "OpenLayers.Geometry.Point") {
+                vertex = new OpenLayers.Feature.Vector(geometry);
+                control.vertices.push(vertex);
+            } else {
+                var numVert = geometry.components.length;
+                if(geometry.CLASS_NAME == "OpenLayers.Geometry.LinearRing") {
+                    numVert -= 1;
+                }
+                for(i=0; i<numVert; ++i) {
+                    component = geometry.components[i];
+                    if(component.CLASS_NAME == "OpenLayers.Geometry.Point") {
+                        vertex = new OpenLayers.Feature.Vector(component);
+                        control.vertices.push(vertex);
+                    } else {
+                        collectComponentVertices(component);
+                    }
+                }
+                
+                // add virtual vertices in the middle of each edge
+                if(geometry.CLASS_NAME != "OpenLayers.Geometry.MultiPoint") {
+                    for(i=0; i<geometry.components.length-1; ++i) {
+                        var prevVertex = geometry.components[i];
+                        var nextVertex = geometry.components[i + 1];
+                        if(prevVertex.CLASS_NAME == "OpenLayers.Geometry.Point" &&
+                           nextVertex.CLASS_NAME == "OpenLayers.Geometry.Point") {
+                            var x = (prevVertex.x + nextVertex.x) / 2;
+                            var y = (prevVertex.y + nextVertex.y) / 2;
+                            var point = new OpenLayers.Feature.Vector(
+                                new OpenLayers.Geometry.Point(x, y),
+                                null, control.styleVirtual
+                            );
+                            // set the virtual parent and intended index
+                            point.geometry.parent = geometry;
+                            point._index = i + 1;
+                            control.virtualVertices.push(point);
+                        }
+                    }
+                }
+            }
+        }
+        collectComponentVertices.call(this, this.feature.geometry);
+        this.layer.addFeatures(this.vertices, {silent: true});
+        this.layer.addFeatures(this.virtualVertices, {silent: true});
+    },
+
+    /**
+     * Method: collectDragHandle
+     * Collect the drag handle for the selected geometry.
+     */
+    collectDragHandle: function() {
+        var geometry = this.feature.geometry;
+        var center = geometry.getBounds().getCenterLonLat();
+        var originGeometry = new OpenLayers.Geometry.Point(
+            center.lon, center.lat
+        );
+        var origin = new OpenLayers.Feature.Vector(originGeometry);
+        originGeometry.move = function(x, y) {
+            OpenLayers.Geometry.Point.prototype.move.call(this, x, y);
+            geometry.move(x, y);
+        };
+        this.dragHandle = origin;
+        this.layer.addFeatures([this.dragHandle], {silent: true});
+    },
+
+    /**
+     * Method: collectRadiusHandle
+     * Collect the radius handle for the selected geometry.
+     */
+    collectRadiusHandle: function() {
+        var geometry = this.feature.geometry;
+        var bounds = geometry.getBounds();
+        var center = bounds.getCenterLonLat();
+        var originGeometry = new OpenLayers.Geometry.Point(
+            center.lon, center.lat
+        );
+        var radiusGeometry = new OpenLayers.Geometry.Point(
+            bounds.right, bounds.bottom
+        );
+        var radius = new OpenLayers.Feature.Vector(radiusGeometry);
+        var resize = (this.mode & OpenLayers.Control.ModifyFeature.RESIZE);
+        var rotate = (this.mode & OpenLayers.Control.ModifyFeature.ROTATE);
+        radiusGeometry.move = function(x, y) {
+            OpenLayers.Geometry.Point.prototype.move.call(this, x, y);
+            var dx1 = this.x - originGeometry.x;
+            var dy1 = this.y - originGeometry.y;
+            var dx0 = dx1 - x;
+            var dy0 = dy1 - y;
+            if(rotate) {
+                var a0 = Math.atan2(dy0, dx0);
+                var a1 = Math.atan2(dy1, dx1);
+                var angle = a1 - a0;
+                angle *= 180 / Math.PI;
+                geometry.rotate(angle, originGeometry);
+            }
+            if(resize) {
+                var l0 = Math.sqrt((dx0 * dx0) + (dy0 * dy0));
+                var l1 = Math.sqrt((dx1 * dx1) + (dy1 * dy1));
+                geometry.resize(l1 / l0, originGeometry);
+            }
+        };
+        this.radiusHandle = radius;
+        this.layer.addFeatures([this.radiusHandle], {silent: true});
+    },
+
+    /**
+     * Method: setMap
+     * Set the map property for the control and all handlers.
+     *
+     * Parameters:
+     * map - {<OpenLayers.Map>} The control's map.
+     */
+    setMap: function(map) {
+        this.selectControl.setMap(map);
+        this.dragControl.setMap(map);
+        OpenLayers.Control.prototype.setMap.apply(this, arguments);
+    },
+
+    CLASS_NAME: "OpenLayers.Control.ModifyFeature"
+});
+
+/**
+ * Constant: RESHAPE
+ * {Integer} Constant used to make the control work in reshape mode
+ */
+OpenLayers.Control.ModifyFeature.RESHAPE = 1;
+/**
+ * Constant: RESIZE
+ * {Integer} Constant used to make the control work in resize mode
+ */
+OpenLayers.Control.ModifyFeature.RESIZE = 2;
+/**
+ * Constant: ROTATE
+ * {Integer} Constant used to make the control work in rotate mode
+ */
+OpenLayers.Control.ModifyFeature.ROTATE = 4;
+/**
+ * Constant: DRAG
+ * {Integer} Constant used to make the control work in drag mode
+ */
+OpenLayers.Control.ModifyFeature.DRAG = 8;
+/* ======================================================================
+    OpenLayers/Control/Navigation.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Control/ZoomBox.js
+ * @requires OpenLayers/Control/DragPan.js
+ * @requires OpenLayers/Handler/MouseWheel.js
+ * @requires OpenLayers/Handler/Click.js
+ */
+
+/**
+ * Class: OpenLayers.Control.Navigation
+ * The navigation control handles map browsing with mouse events (dragging,
+ *     double-clicking, and scrolling the wheel).  Create a new navigation 
+ *     control with the <OpenLayers.Control.Navigation> control.  
+ * 
+ *     Note that this control is added to the map by default (if no controls 
+ *     array is sent in the options object to the <OpenLayers.Map> 
+ *     constructor).
+ * 
+ * Inherits:
+ *  - <OpenLayers.Control>
+ */
+OpenLayers.Control.Navigation = OpenLayers.Class(OpenLayers.Control, {
+
+    /** 
+     * Property: dragPan
+     * {<OpenLayers.Control.DragPan>} 
+     */
+    dragPan: null,
+
+    /** 
+     * Property: zoomBox
+     * {<OpenLayers.Control.ZoomBox>}
+     */
+    zoomBox: null,
+
+    /**
+     * APIProperty: zoomWheelEnabled
+     * {Boolean} Whether the mousewheel should zoom the map
+     */
+    zoomWheelEnabled: true, 
+
+    /**
+     * Constructor: OpenLayers.Control.Navigation
+     * Create a new navigation control
+     * 
+     * Parameters:
+     * options - {Object} An optional object whose properties will be set on
+     *                    the control
+     */
+    initialize: function(options) {
+        this.handlers = {};
+        OpenLayers.Control.prototype.initialize.apply(this, arguments);
+    },
+
+    /**
+     * Method: destroy
+     * The destroy method is used to perform any clean up before the control
+     * is dereferenced.  Typically this is where event listeners are removed
+     * to prevent memory leaks.
+     */
+    destroy: function() {
+        this.deactivate();
+
+        if (this.dragPan) {
+            this.dragPan.destroy();
+        }
+        this.dragPan = null;
+
+        if (this.zoomBox) {
+            this.zoomBox.destroy();
+        }
+        this.zoomBox = null;
+        OpenLayers.Control.prototype.destroy.apply(this,arguments);
+    },
+    
+    /**
+     * Method: activate
+     */
+    activate: function() {
+        this.dragPan.activate();
+        if (this.zoomWheelEnabled) {
+            this.handlers.wheel.activate();
+        }    
+        this.handlers.click.activate();
+        this.zoomBox.activate();
+        return OpenLayers.Control.prototype.activate.apply(this,arguments);
+    },
+
+    /**
+     * Method: deactivate
+     */
+    deactivate: function() {
+        this.zoomBox.deactivate();
+        this.dragPan.deactivate();
+        this.handlers.click.deactivate();
+        this.handlers.wheel.deactivate();
+        return OpenLayers.Control.prototype.deactivate.apply(this,arguments);
+    },
+    
+    /**
+     * Method: draw
+     */
+    draw: function() {
+        this.handlers.click = new OpenLayers.Handler.Click(this, 
+                                        { 'dblclick': this.defaultDblClick },
+                                        {
+                                          'double': true, 
+                                          'stopDouble': true
+                                        });
+        this.dragPan = new OpenLayers.Control.DragPan({map: this.map});
+        this.zoomBox = new OpenLayers.Control.ZoomBox(
+                    {map: this.map, keyMask: OpenLayers.Handler.MOD_SHIFT});
+        this.dragPan.draw();
+        this.zoomBox.draw();
+        this.handlers.wheel = new OpenLayers.Handler.MouseWheel(
+                                    this, {"up"  : this.wheelUp,
+                                           "down": this.wheelDown} );
+        this.activate();
+    },
+
+    /**
+     * Method: defaultDblClick 
+     * 
+     * Parameters:
+     * evt - {Event} 
+     */
+    defaultDblClick: function (evt) {
+        var newCenter = this.map.getLonLatFromViewPortPx( evt.xy ); 
+        this.map.setCenter(newCenter, this.map.zoom + 1);
+    },
+
+    /**
+     * Method: wheelChange  
+     *
+     * Parameters:
+     * evt - {Event}
+     * deltaZ - {Integer}
+     */
+    wheelChange: function(evt, deltaZ) {
+        var newZoom = this.map.getZoom() + deltaZ;
+        if (!this.map.isValidZoomLevel(newZoom)) {
+            return;
+        }
+        var size    = this.map.getSize();
+        var deltaX  = size.w/2 - evt.xy.x;
+        var deltaY  = evt.xy.y - size.h/2;
+        var newRes  = this.map.baseLayer.getResolutionForZoom(newZoom);
+        var zoomPoint = this.map.getLonLatFromPixel(evt.xy);
+        var newCenter = new OpenLayers.LonLat(
+                            zoomPoint.lon + deltaX * newRes,
+                            zoomPoint.lat + deltaY * newRes );
+        this.map.setCenter( newCenter, newZoom );
+    },
+
+    /** 
+     * Method: wheelUp
+     * User spun scroll wheel up
+     * 
+     * Parameters:
+     * evt - {Event}
+     */
+    wheelUp: function(evt) {
+        this.wheelChange(evt, 1);
+    },
+
+    /** 
+     * Method: wheelDown
+     * User spun scroll wheel down
+     * 
+     * Parameters:
+     * evt - {Event}
+     */
+    wheelDown: function(evt) {
+        this.wheelChange(evt, -1);
+    },
+    
+    /**
+     * Method: disableZoomWheel
+     */
+    
+    disableZoomWheel : function() {
+        this.zoomWheelEnabled = false;
+        this.handlers.wheel.deactivate();       
+    },
+    
+    /**
+     * Method: enableZoomWheel
+     */
+    
+    enableZoomWheel : function() {
+        this.zoomWheelEnabled = true;
+        if (this.active) {
+            this.handlers.wheel.activate();
+        }    
+    },
+
+    CLASS_NAME: "OpenLayers.Control.Navigation"
+});
+/* ======================================================================
+    OpenLayers/Geometry.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+ 
+/**
+ * @requires OpenLayers/Format/WKT.js
+ * @requires OpenLayers/Feature/Vector.js
+ */
+
+/**
+ * Class: OpenLayers.Geometry
+ * A Geometry is a description of a geographic object.  Create an instance of
+ * this class with the <OpenLayers.Geometry> constructor.  This is a base class,
+ * typical geometry types are described by subclasses of this class.
+ */
+OpenLayers.Geometry = OpenLayers.Class({
+
+    /**
+     * Property: id
+     * {String} A unique identifier for this geometry.
+     */
+    id: null,
+
+    /**
+     * Property: parent
+     * {<OpenLayers.Geometry>}This is set when a Geometry is added as component
+     * of another geometry
+     */
+    parent: null,
+
+    /**
+     * Property: bounds 
+     * {<OpenLayers.Bounds>} The bounds of this geometry
+     */
+    bounds: null,
+
+    /**
+     * Constructor: OpenLayers.Geometry
+     * Creates a geometry object.  
+     */
+    initialize: function() {
+        this.id = OpenLayers.Util.createUniqueID(this.CLASS_NAME+ "_");
+    },
+    
+    /**
+     * Method: destroy
+     * Destroy this geometry.
+     */
+    destroy: function() {
+        this.id = null;
+        this.bounds = null;
+    },
+    
+    /**
+     * APIMethod: clone
+     * Create a clone of this geometry.  Does not set any non-standard
+     *     properties of the cloned geometry.
+     * 
+     * Returns:
+     * {<OpenLayers.Geometry>} An exact clone of this geometry.
+     */
+    clone: function() {
+        return new OpenLayers.Geometry();
+    },
+    
+    /**
+     * Set the bounds for this Geometry.
+     * 
+     * Parameters:
+     * object - {<OpenLayers.Bounds>} 
+     */
+    setBounds: function(bounds) {
+        if (bounds) {
+            this.bounds = bounds.clone();
+        }
+    },
+    
+    /**
+     * Method: clearBounds
+     * Nullify this components bounds and that of its parent as well.
+     */
+    clearBounds: function() {
+        this.bounds = null;
+        if (this.parent) {
+            this.parent.clearBounds();
+        }    
+    },
+    
+    /**
+     * Method: extendBounds
+     * Extend the existing bounds to include the new bounds. 
+     * If geometry's bounds is not yet set, then set a new Bounds.
+     * 
+     * Parameters:
+     * newBounds - {<OpenLayers.Bounds>} 
+     */
+    extendBounds: function(newBounds){
+        var bounds = this.getBounds();
+        if (!bounds) {
+            this.setBounds(newBounds);
+        } else {
+            this.bounds.extend(newBounds);
+        }
+    },
+    
+    /**
+     * APIMethod: getBounds
+     * Get the bounds for this Geometry. If bounds is not set, it 
+     * is calculated again, this makes queries faster.
+     * 
+     * Returns:
+     * {<OpenLayers.Bounds>}
+     */
+    getBounds: function() {
+        if (this.bounds == null) {
+            this.calculateBounds();
+        }
+        return this.bounds;
+    },
+    
+    /** 
+     * APIMethod: calculateBounds
+     * Recalculate the bounds for the geometry. 
+     */
+    calculateBounds: function() {
+        //
+        // This should be overridden by subclasses.
+        //
+    },
+    
+    /**
+     * Method: atPoint
+     * Note - This is only an approximation based on the bounds of the 
+     * geometry.
+     * 
+     * Parameters:
+     * lonlat - {<OpenLayers.LonLat>} 
+     * toleranceLon - {float} Optional tolerance in Geometric Coords
+     * toleranceLat - {float} Optional tolerance in Geographic Coords
+     * 
+     * Returns:
+     * {Boolean} Whether or not the geometry is at the specified location
+     */
+    atPoint: function(lonlat, toleranceLon, toleranceLat) {
+        var atPoint = false;
+        var bounds = this.getBounds();
+        if ((bounds != null) && (lonlat != null)) {
+
+            var dX = (toleranceLon != null) ? toleranceLon : 0;
+            var dY = (toleranceLat != null) ? toleranceLat : 0;
+    
+            var toleranceBounds = 
+                new OpenLayers.Bounds(this.bounds.left - dX,
+                                      this.bounds.bottom - dY,
+                                      this.bounds.right + dX,
+                                      this.bounds.top + dY);
+
+            atPoint = toleranceBounds.containsLonLat(lonlat);
+        }
+        return atPoint;
+    },
+    
+    /**
+     * Method: getLength
+     * Calculate the length of this geometry. This method is defined in
+     * subclasses.
+     * 
+     * Returns:
+     * {Float} The length of the collection by summing its parts
+     */
+    getLength: function() {
+        //to be overridden by geometries that actually have a length
+        //
+        return 0.0;
+    },
+
+    /**
+     * Method: getArea
+     * Calculate the area of this geometry. This method is defined in subclasses.
+     * 
+     * Returns:
+     * {Float} The area of the collection by summing its parts
+     */
+    getArea: function() {
+        //to be overridden by geometries that actually have an area
+        //
+        return 0.0;
+    },
+
+    /**
+     * Method: toString
+     * Returns the Well-Known Text representation of a geometry
+     *
+     * Returns:
+     * {String} Well-Known Text
+     */
+    toString: function() {
+        return OpenLayers.Format.WKT.prototype.write(
+            new OpenLayers.Feature.Vector(this)
+        );
+    },
+
+    CLASS_NAME: "OpenLayers.Geometry"
+});
+
+    
+/**
+ * Method: OpenLayers.Geometry.segmentsIntersect
+ * Determine whether two line segments intersect.  Optionally calculates
+ *     and returns the intersection point.  This function is optimized for
+ *     cases where seg1.x2 >= seg2.x1 || seg2.x2 >= seg1.x1.  In those
+ *     obvious cases where there is no intersection, the function should
+ *     not be called.
+ *
+ * Parameters:
+ * seg1 - {Object} Object representing a segment with properties x1, y1, x2,
+ *     and y2.  The start point is represented by x1 and y1.  The end point
+ *     is represented by x2 and y2.  Start and end are ordered so that x1 < x2.
+ * seg2 - {Object} Object representing a segment with properties x1, y1, x2,
+ *     and y2.  The start point is represented by x1 and y1.  The end point
+ *     is represented by x2 and y2.  Start and end are ordered so that x1 < x2.
+ * point - {Boolean} Return the intersection point.  If false, the actual
+ *     intersection point will not be calculated.  If true and the segments
+ *     intersect, the intersection point will be returned.  If true and
+ *     the segments do not intersect, false will be returned.  If true and
+ *     the segments are coincident, true will be returned.
+ *
+ * Returns:
+ * {Boolean | <OpenLayers.Geometry.Point>}  The two segments intersect.
+ *     If the point argument is true, the return will be the intersection
+ *     point or false if none exists.  If point is true and the segments
+ *     are coincident, return will be true (and the instersection is equal
+ *     to the shorter segment).
+ */
+OpenLayers.Geometry.segmentsIntersect = function(seg1, seg2, point) {
+    var intersection = false;
+    var x11_21 = seg1.x1 - seg2.x1;
+    var y11_21 = seg1.y1 - seg2.y1;
+    var x12_11 = seg1.x2 - seg1.x1;
+    var y12_11 = seg1.y2 - seg1.y1;
+    var y22_21 = seg2.y2 - seg2.y1;
+    var x22_21 = seg2.x2 - seg2.x1;
+    var d = (y22_21 * x12_11) - (x22_21 * y12_11);
+    var n1 = (x22_21 * y11_21) - (y22_21 * x11_21);
+    var n2 = (x12_11 * y11_21) - (y12_11 * x11_21);
+    if(d == 0) {
+        // parallel
+        if(n1 == 0 && n2 == 0) {
+            // coincident
+            intersection = true;
+        }
+    } else {
+        var along1 = n1 / d;
+        var along2 = n2 / d;
+        if(along1 >= 0 && along1 <= 1 && along2 >=0 && along2 <= 1) {
+            // intersect
+            if(!point) {
+                intersection = true;
+            } else {
+                // calculate the intersection point
+                var x = seg1.x1 + (along1 * x12_11);
+                var y = seg1.y1 + (along1 * y12_11);
+                intersection = new OpenLayers.Geometry.Point(x, y);
+            }
+        }
+    }
+    return intersection;
+};
+/* ======================================================================
+    OpenLayers/Layer/KaMap.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Layer/Grid.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.KaMap
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Layer.Grid>
+ */
+OpenLayers.Layer.KaMap = OpenLayers.Class(OpenLayers.Layer.Grid, {
+
+    /** 
+     * APIProperty: isBaseLayer
+     * {Boolean} KaMap Layer is always a base layer 
+     */    
+    isBaseLayer: true,
+
+    /**
+     * APIProperty: units
+     * {?}
+     */    
+    units: null,
+
+    /**
+     * APIProperty: resolution
+     * {Float}
+     */
+    resolution: OpenLayers.DOTS_PER_INCH,
+    
+    /**
+     * Constant: DEFAULT_PARAMS
+     * {Object} parameters set by default. The default parameters set 
+     * the format via the 'i' parameter to 'jpeg'.    
+     */
+    DEFAULT_PARAMS: {
+        i: 'jpeg',
+        map: ''
+    },
+        
+    /**
+     * Constructor: OpenLayers.Layer.KaMap
+     * 
+     * Parameters:
+     * name - {String}
+     * url - {String}
+     * params - {Object} Parameters to be sent to the HTTP server in the
+     *    query string for the tile. The format can be set via the 'i'
+     *    parameter (defaults to jpg) , and the map should be set via 
+     *    the 'map' parameter. It has been reported that ka-Map may behave
+     *    inconsistently if your format parameter does not match the format
+     *    parameter configured in your config.php. (See ticket #327 for more
+     *    information.)
+     * options - {Object} Additional options for the layer. Any of the 
+     *     APIProperties listed on this layer, and any layer types it
+     *     extends, can be overridden through the options parameter. 
+     */
+    initialize: function(name, url, params, options) {
+        var newArguments = [];
+        newArguments.push(name, url, params, options);
+        OpenLayers.Layer.Grid.prototype.initialize.apply(this, newArguments);
+        this.params = (params ? params : {});
+        if (params) {
+            OpenLayers.Util.applyDefaults(
+                           this.params, 
+                           this.DEFAULT_PARAMS
+                           );
+        }
+    },
+
+    /**
+     * Method: getURL
+     * 
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>} 
+     * 
+     * Returns:
+     * {String} A string with the layer's url and parameters and also the 
+     *          passed-in bounds and appropriate tile size specified as 
+     *          parameters
+     */
+    getURL: function (bounds) {
+        bounds = this.adjustBounds(bounds);
+        var mapRes = this.map.getResolution();
+        var scale = Math.round((this.map.getScale() * 10000)) / 10000;
+        var pX = Math.round(bounds.left / mapRes);
+        var pY = -Math.round(bounds.top / mapRes);
+        return this.getFullRequestString(
+                      { t: pY, 
+                        l: pX,
+                        s: scale
+                      });
+    },
+
+    /**
+     * Method: addTile
+     * 
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     * position - {<OpenLayers.Pixel>}
+     * 
+     * Returns:
+     * {<OpenLayers.Tile.Image>}
+     */    
+    addTile:function(bounds,position) {
+        var url = this.getURL(bounds);
+        return new OpenLayers.Tile.Image(this, position, bounds, 
+                                             url, this.tileSize);
+    },
+
+    /** 
+     * Method: calculateGridLayout
+     * ka-Map uses the center point of the map as an origin for 
+     * its tiles. Override calculateGridLayout to center tiles 
+     * correctly for this case.
+     *
+     * Parameters:
+     * bounds - {<OpenLayers.Bound>}
+     * extent - {<OpenLayers.Bounds>}
+     * resolution - {Number}
+     *
+     * Returns:
+     * Object containing properties tilelon, tilelat, tileoffsetlat,
+     * tileoffsetlat, tileoffsetx, tileoffsety
+     */
+    calculateGridLayout: function(bounds, extent, resolution) {
+        var tilelon = resolution*this.tileSize.w;
+        var tilelat = resolution*this.tileSize.h;
+        
+        var offsetlon = bounds.left;
+        var tilecol = Math.floor(offsetlon/tilelon) - this.buffer;
+        var tilecolremain = offsetlon/tilelon - tilecol;
+        var tileoffsetx = -tilecolremain * this.tileSize.w;
+        var tileoffsetlon = tilecol * tilelon;
+        
+        var offsetlat = bounds.top;  
+        var tilerow = Math.ceil(offsetlat/tilelat) + this.buffer;
+        var tilerowremain = tilerow - offsetlat/tilelat;
+        var tileoffsety = -(tilerowremain+1) * this.tileSize.h;
+        var tileoffsetlat = tilerow * tilelat;
+        
+        return { 
+          tilelon: tilelon, tilelat: tilelat,
+          tileoffsetlon: tileoffsetlon, tileoffsetlat: tileoffsetlat,
+          tileoffsetx: tileoffsetx, tileoffsety: tileoffsety
+        };
+    },    
+
+    /**
+     * APIMethod: clone
+     * 
+     * Parameters: 
+     * obj - {Object}
+     * 
+     * Returns:
+     * {<OpenLayers.Layer.Kamap>} An exact clone of this OpenLayers.Layer.KaMap
+     */
+    clone: function (obj) {
+        
+        if (obj == null) {
+            obj = new OpenLayers.Layer.KaMap(this.name,
+                                            this.url,
+                                            this.params,
+                                            this.options);
+        }
+
+        //get all additions from superclasses
+        obj = OpenLayers.Layer.Grid.prototype.clone.apply(this, [obj]);
+
+        // copy/set any non-init, non-simple values here
+        if (this.tileSize != null) {
+            obj.tileSize = this.tileSize.clone();
+        }
+        
+        // we do not want to copy reference to grid, so we make a new array
+        obj.grid = [];
+
+        return obj;
+    },    
+    
+    /**
+     * APIMethod: getTileBounds
+     * Returns The tile bounds for a layer given a pixel location.
+     *
+     * Parameters:
+     * viewPortPx - {<OpenLayers.Pixel>} The location in the viewport.
+     *
+     * Returns:
+     * {<OpenLayers.Bounds>} Bounds of the tile at the given pixel location.
+     */
+    getTileBounds: function(viewPortPx) {
+        var resolution = this.getResolution();
+        var tileMapWidth = resolution * this.tileSize.w;
+        var tileMapHeight = resolution * this.tileSize.h;
+        var mapPoint = this.getLonLatFromViewPortPx(viewPortPx);
+        var tileLeft = tileMapWidth * Math.floor(mapPoint.lon / tileMapWidth);
+        var tileBottom = tileMapHeight * Math.floor(mapPoint.lat / tileMapHeight);
+        return new OpenLayers.Bounds(tileLeft, tileBottom,
+                                     tileLeft + tileMapWidth,
+                                     tileBottom + tileMapHeight);
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.KaMap"
+});
+/* ======================================================================
+    OpenLayers/Layer/MapGuide.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * licence.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Ajax.js
+ * @requires OpenLayers/Layer/Grid.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.MapGuide
+ * Instances of OpenLayers.Layer.MapGuide are used to display
+ * data from a MapGuide OS instance.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Layer.Grid>
+ */
+OpenLayers.Layer.MapGuide = OpenLayers.Class(OpenLayers.Layer.Grid, {
+
+    /** 
+     * APIProperty: isBaseLayer
+     * {Boolean} Treat this layer as a base layer.  Default is true.
+     **/
+    isBaseLayer: true,
+    
+    /** 
+     * APIProperty: singleTile
+     * {Boolean} use tile server or request single tile image. Note that using
+     *    singleTile *and* isBaseLayer false is *not recommend*: it uses synchronous
+     *    XMLHttpRequests to load tiles, and this will *lock up users browsers*
+     *    during requests.
+     **/
+    singleTile: false,
+    
+    /**
+     * Constant: TILE_PARAMS
+     * {Object} Hashtable of default parameter key/value pairs for tiled layer
+     */
+    TILE_PARAMS: {
+         operation: 'GETTILEIMAGE',
+         version: '1.2.0'
+    },
+
+    /**
+     * Constant: SINGLE_TILE_PARAMS
+     * {Object} Hashtable of default parameter key/value pairs for untiled layer
+     */
+    SINGLE_TILE_PARAMS: {
+        operation: 'GETMAPIMAGE',
+        format: 'PNG',
+        locale: 'en',
+        clip: '1',
+        version: '1.0.0'
+    },
+    
+    /** 
+     * Property: defaultSize
+     * {<OpenLayers.Size>} Tile size as produced by MapGuide server
+     **/
+    defaultSize: new OpenLayers.Size(300,300),
+
+    /**
+     * Constructor: OpenLayers.Layer.MapGuide
+     * Create a new Mapguide layer, either tiled or untiled.  
+     *
+     * For tiled layers, the 'groupName' and 'mapDefnition' options 
+     * must be specified as options.
+     *
+     * For untiled layers, specify either combination of 'mapName' and
+     * 'session', or 'mapDefinition' and 'locale'.
+     *
+     * Parameters:
+     * name - {String} Name of the layer displayed in the interface
+     * url - {String} Location of the MapGuide mapagent executable
+     *            (e.g. http://localhost:8008/mapguide/mapagent/mapagent.fcgi)
+     * params - {Object} hashtable of additional parameters to use. Some
+     *     parameters may require additional code on the serer. The ones that
+     *     you may want to use are: 
+     *   - mapDefinition - {String} The MapGuide resource definition
+     *            (e.g. Library://Samples/Gmap/Maps/gmapTiled.MapDefinition)
+     *   - locale - Locale setting 
+     *            (for untiled overlays layers only)
+     *   - mapName - {String} Name of the map as stored in the MapGuide session.
+     *          (for untiled layers with a session parameter only)
+     *   - session - { String} MapGuide session ID 
+     *            (for untiled overlays layers only)
+     *   - basemaplayergroupname - {String} GroupName for tiled MapGuide layers only
+     *   - format - Image format to be returned (for untiled overlay layers only)
+     *   - showLayers - {String} A comma separated list of GUID's for the
+     *       layers to display eg: 'cvc-xcv34,453-345-345sdf'.
+     *   - hideLayers - {String} A comma separated list of GUID's for the
+     *       layers to hide eg: 'cvc-xcv34,453-345-345sdf'.
+     *   - showGroups - {String} A comma separated list of GUID's for the
+     *       groups to display eg: 'cvc-xcv34,453-345-345sdf'.
+     *   - hideGroups - {String} A comma separated list of GUID's for the
+     *       groups to hide eg: 'cvc-xcv34,453-345-345sdf'
+     *   - selectionXml - {String} A selection xml string Some server plumbing
+     *       is required to read such a value.
+     * options - {Ojbect} Hashtable of extra options to tag onto the layer; 
+     *          will vary depending if tiled or untiled maps are being requested
+     */
+    initialize: function(name, url, params, options) {
+        
+        OpenLayers.Layer.Grid.prototype.initialize.apply(this, arguments);
+        
+        // unless explicitly set in options, if the layer is transparent, 
+        // it will be an overlay
+        if (options == null || options.isBaseLayer == null) {
+            this.isBaseLayer = ((this.transparent != "true") && 
+                                (this.transparent != true));
+        }
+
+        //initialize for untiled layers
+        if (this.singleTile) {
+            OpenLayers.Util.applyDefaults(
+                           this.params,
+                           this.SINGLE_TILE_PARAMS
+                           );
+        } else {
+            //initialize for tiled layers
+            OpenLayers.Util.applyDefaults(
+                           this.params,
+                           this.TILE_PARAMS
+                           );
+            this.setTileSize(this.defaultSize); 
+        }
+    },
+
+    /**
+     * Method: clone
+     * Create a clone of this layer
+     *
+     * Returns:
+     * {<OpenLayers.Layer.MapGuide>} An exact clone of this layer
+     */
+    clone: function (obj) {
+      if (obj == null) {
+            obj = new OpenLayers.Layer.MapGuide(this.name,
+                                           this.url,
+                                           this.params,
+                                           this.options);
+      }
+      //get all additions from superclasses
+      obj = OpenLayers.Layer.Grid.prototype.clone.apply(this, [obj]);
+
+      return obj;
+    },
+
+    /**
+     * Method: addTile
+     * Creates a tile, initializes it, and adds it to the layer div. 
+     *
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     * position - {<OpenLayers.Pixel>}
+     * 
+     * Returns:
+     * {<OpenLayers.Tile.Image>} The added OpenLayers.Tile.Image
+     */
+    addTile:function(bounds,position) {
+        return new OpenLayers.Tile.Image(this, position, bounds, 
+                                         null, this.tileSize);
+    },
+
+    /**
+     * Method: getURL
+     * Return a query string for this layer
+     *
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>} A bounds representing the bbox 
+     *                                for the request
+     *
+     * Returns:
+     * {String} A string with the layer's url and parameters and also 
+     *          the passed-in bounds and appropriate tile size specified 
+     *          as parameters.
+     */
+    getURL: function (bounds) {
+        var url;
+        var center = bounds.getCenterLonLat();
+        var mapSize = this.map.getCurrentSize();
+
+        if (this.singleTile) {
+          //set up the call for GETMAPIMAGE or GETDYNAMICMAPOVERLAY
+          var params = {};
+          params.setdisplaydpi = OpenLayers.DOTS_PER_INCH;   
+          params.setdisplayheight = mapSize.h*this.ratio;
+          params.setdisplaywidth = mapSize.w*this.ratio;
+          params.setviewcenterx = center.lon;
+          params.setviewcentery = center.lat;
+          params.setviewscale = this.map.getScale();
+          
+          if (!this.isBaseLayer) {
+            // in this case the main image operation is remapped to this
+            this.params.operation = "GETDYNAMICMAPOVERLAYIMAGE";
+            
+            //but we first need to call GETVISIBLEMAPEXTENT to set the extent
+            var getVisParams = {};
+            getVisParams.operation = "GETVISIBLEMAPEXTENT";
+            getVisParams.version = "1.0.0";
+            getVisParams.session = this.params.session;
+            getVisParams.mapName = this.params.mapName;
+            getVisParams.format = 'text/xml';
+            getVisParams = OpenLayers.Util.extend(getVisParams, params);
+                
+            new OpenLayers.Ajax.Request(this.url, 
+                  { parameters: getVisParams,
+                    method: 'get',
+                    asynchronous: false   //must be synchronous call to return control here
+                  });
+          }
+          
+          //construct the full URL
+          url = this.getFullRequestString( params );
+        } else {
+
+          //tiled version
+          var currentRes = this.map.getResolution();
+          var colidx = Math.floor((bounds.left-this.maxExtent.left)/currentRes);
+          colidx = Math.round(colidx/this.tileSize.w);
+          var rowidx = Math.floor((this.maxExtent.top-bounds.top)/currentRes);
+          rowidx = Math.round(rowidx/this.tileSize.h);
+
+          url = this.getFullRequestString(
+                       {
+                           tilecol: colidx,
+                           tilerow: rowidx,
+                           scaleindex: this.resolutions.length - this.map.zoom - 1
+                        });
+         }
+        
+        return url;
+    },
+
+    /**
+     * Method: getFullRequestString
+     * getFullRequestString on MapGuide layers is special, because we 
+     * do a regular expression replace on ',' in parameters to '+'.
+     * This is why it is subclassed here.
+     *
+     * Parameters:
+     * altUrl - {String} Alternative base URL to use.
+     *
+     * Returns:
+     * {String} A string with the layer's url appropriately encoded for MapGuide
+     */
+    getFullRequestString:function(newParams, altUrl) {
+        // use layer's url unless altUrl passed in
+        var url = (altUrl == null) ? this.url : altUrl;
+        
+        // if url is not a string, it should be an array of strings, 
+        //  in which case we will randomly select one of them in order
+        //  to evenly distribute requests to different urls.
+        if (typeof url == "object") {
+            url = url[Math.floor(Math.random()*url.length)];
+        }   
+        // requestString always starts with url
+        var requestString = url;        
+
+        // create a new params hashtable with all the layer params and the 
+        // new params together. then convert to string
+        var allParams = OpenLayers.Util.extend({}, this.params);
+        allParams = OpenLayers.Util.extend(allParams, newParams);
+        // ignore parameters that are already in the url search string
+        var urlParams = OpenLayers.Util.upperCaseObject(
+                            OpenLayers.Util.getArgs(url));
+        for(var key in allParams) {
+            if(key.toUpperCase() in urlParams) {
+                delete allParams[key];
+            }
+        }
+        var paramsString = OpenLayers.Util.getParameterString(allParams);
+        
+        /* MapGuide needs '+' seperating things like bounds/height/width.
+           Since typically this is URL encoded, we use a slight hack: we
+           depend on the list-like functionality of getParameterString to
+           leave ',' only in the case of list items (since otherwise it is
+           encoded) then do a regular expression replace on the , characters
+           to '+' */
+        paramsString = paramsString.replace(/,/g, "+");
+        
+        if (paramsString != "") {
+            var lastServerChar = url.charAt(url.length - 1);
+            if ((lastServerChar == "&") || (lastServerChar == "?")) {
+                requestString += paramsString;
+            } else {
+                if (url.indexOf('?') == -1) {
+                    //serverPath has no ? -- add one
+                    requestString += '?' + paramsString;
+                } else {
+                    //serverPath contains ?, so must already have paramsString at the end
+                    requestString += '&' + paramsString;
+                }
+            }
+        }
+        return requestString;
+    },
+
+    /** 
+     * Method: calculateGridLayout
+     * Generate parameters for the grid layout. This  
+     *
+     * Parameters:
+     * bounds - {<OpenLayers.Bound>}
+     * extent - {<OpenLayers.Bounds>}
+     * resolution - {Number}
+     *
+     * Returns:
+     * Object containing properties tilelon, tilelat, tileoffsetlat,
+     * tileoffsetlat, tileoffsetx, tileoffsety
+     */
+    calculateGridLayout: function(bounds, extent, resolution) {
+        var tilelon = resolution * this.tileSize.w;
+        var tilelat = resolution * this.tileSize.h;
+        
+        var offsetlon = bounds.left - extent.left;
+        var tilecol = Math.floor(offsetlon/tilelon) - this.buffer;
+        var tilecolremain = offsetlon/tilelon - tilecol;
+        var tileoffsetx = -tilecolremain * this.tileSize.w;
+        var tileoffsetlon = extent.left + tilecol * tilelon;
+        
+        var offsetlat = extent.top - bounds.top + tilelat; 
+        var tilerow = Math.floor(offsetlat/tilelat) - this.buffer;
+        var tilerowremain = tilerow - offsetlat/tilelat;
+        var tileoffsety = tilerowremain * this.tileSize.h;
+        var tileoffsetlat = extent.top - tilelat*tilerow;
+        
+        return { 
+          tilelon: tilelon, tilelat: tilelat,
+          tileoffsetlon: tileoffsetlon, tileoffsetlat: tileoffsetlat,
+          tileoffsetx: tileoffsetx, tileoffsety: tileoffsety
+        };
+    },
+    
+    CLASS_NAME: "OpenLayers.Layer.MapGuide"
+});
+/* ======================================================================
+    OpenLayers/Layer/MapServer.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Layer/Grid.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.MapServer
+ * Instances of OpenLayers.Layer.MapServer are used to display
+ * data from a MapServer CGI instance.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Layer.Grid>
+ */
+OpenLayers.Layer.MapServer = OpenLayers.Class(OpenLayers.Layer.Grid, {
+
+    /**
+     * Constant: DEFAULT_PARAMS
+     * {Object} Hashtable of default parameter key/value pairs 
+     */
+    DEFAULT_PARAMS: {
+        mode: "map",
+        map_imagetype: "png"
+    },
+
+    /**
+     * Constructor: OpenLayers.Layer.MapServer
+     * Create a new MapServer layer object
+     *
+     * Parameters:
+     * name - {String} A name for the layer
+     * url - {String} Base url for the MapServer CGI
+     *       (e.g. http://www2.dmsolutions.ca/cgi-bin/mapserv)
+     * params - {Object} An object with key/value pairs representing the
+     *          GetMap query string parameters and parameter values.
+     * options - {Ojbect} Hashtable of extra options to tag onto the layer
+     */
+    initialize: function(name, url, params, options) {
+        var newArguments = [];
+        newArguments.push(name, url, params, options);
+        OpenLayers.Layer.Grid.prototype.initialize.apply(this, newArguments);
+
+        if (arguments.length > 0) {
+            OpenLayers.Util.applyDefaults(
+                           this.params,
+                           this.DEFAULT_PARAMS
+                           );
+        }
+
+        // unless explicitly set in options, if the layer is transparent, 
+        // it will be an overlay
+        if (options == null || options.isBaseLayer == null) {
+            this.isBaseLayer = ((this.params.transparent != "true") && 
+                                (this.params.transparent != true));
+        }
+    },
+
+    /**
+     * Method: clone
+     * Create a clone of this layer
+     *
+     * Returns:
+     * {<OpenLayers.Layer.MapServer>} An exact clone of this layer
+     */
+    clone: function (obj) {
+        if (obj == null) {
+            obj = new OpenLayers.Layer.MapServer(this.name,
+                                           this.url,
+                                           this.params,
+                                           this.options);
+        }
+        //get all additions from superclasses
+        obj = OpenLayers.Layer.Grid.prototype.clone.apply(this, [obj]);
+
+        // copy/set any non-init, non-simple values here
+
+        return obj;
+    },
+
+    /**
+     * Method: addTile
+     * Creates a tile, initializes it, and adds it to the layer div. 
+     *
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     * position - {<OpenLayers.Pixel>}
+     * 
+     * Returns:
+     * {<OpenLayers.Tile.Image>} The added OpenLayers.Tile.Image
+     */
+    addTile:function(bounds,position) {
+        return new OpenLayers.Tile.Image(this, position, bounds, 
+                                         null, this.tileSize);
+    },
+    
+    /**
+     * Method: getURL
+     * Return a query string for this layer
+     *
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>} A bounds representing the bbox 
+     *                                for the request
+     *
+     * Returns:
+     * {String} A string with the layer's url and parameters and also 
+     *          the passed-in bounds and appropriate tile size specified 
+     *          as parameters.
+     */
+    getURL: function (bounds) {
+        bounds = this.adjustBounds(bounds);
+        // Make a list, so that getFullRequestString uses literal "," 
+        var extent = [bounds.left, bounds. bottom, bounds.right, bounds.top];
+
+        var imageSize = this.getImageSize(); 
+        
+        // make lists, so that literal ','s are used 
+        var url = this.getFullRequestString(
+                     {mapext:   extent,
+                      imgext:   extent,
+                      map_size: [imageSize.w, imageSize.h],
+                      imgx:     imageSize.w / 2,
+                      imgy:     imageSize.h / 2,
+                      imgxy:    [imageSize.w, imageSize.h]
+                      });
+        
+        return url;
+    },
+    
+    /** 
+     * Method: getFullRequestString
+     * combine the layer's url with its params and these newParams. 
+     *   
+     * Parameter:
+     * newParams - {Object} New parameters that should be added to the 
+     *                      request string.
+     * altUrl - {String} (optional) Replace the URL in the full request  
+     *                              string with the provided URL.
+     * 
+     * Returns: 
+     * {String} A string with the layer's url and parameters embedded in it.
+     */
+    getFullRequestString:function(newParams, altUrl) {
+        // use layer's url unless altUrl passed in
+        var url = (altUrl == null) ? this.url : altUrl;
+        
+        // create a new params hashtable with all the layer params and the 
+        // new params together. then convert to string
+        var allParams = OpenLayers.Util.extend({}, this.params);
+        allParams = OpenLayers.Util.extend(allParams, newParams);
+        var paramsString = OpenLayers.Util.getParameterString(allParams);
+        
+        // if url is not a string, it should be an array of strings, 
+        // in which case we will deterministically select one of them in 
+        // order to evenly distribute requests to different urls.
+        if (url instanceof Array) {
+            url = this.selectUrl(paramsString, url);
+        }   
+        
+        // ignore parameters that are already in the url search string
+        var urlParams = OpenLayers.Util.upperCaseObject(
+                            OpenLayers.Util.getParameters(url));
+        for(var key in allParams) {
+            if(key.toUpperCase() in urlParams) {
+                delete allParams[key];
+            }
+        }
+        paramsString = OpenLayers.Util.getParameterString(allParams);
+        
+        // requestString always starts with url
+        var requestString = url;        
+
+        // MapServer needs '+' seperating things like bounds/height/width.
+        //   Since typically this is URL encoded, we use a slight hack: we
+        //  depend on the list-like functionality of getParameterString to
+        //  leave ',' only in the case of list items (since otherwise it is
+        //  encoded) then do a regular expression replace on the , characters
+        //  to '+'
+        //
+        paramsString = paramsString.replace(/,/g, "+");
+        
+        if (paramsString != "") {
+            var lastServerChar = url.charAt(url.length - 1);
+            if ((lastServerChar == "&") || (lastServerChar == "?")) {
+                requestString += paramsString;
+            } else {
+                if (url.indexOf('?') == -1) {
+                    //serverPath has no ? -- add one
+                    requestString += '?' + paramsString;
+                } else {
+                    //serverPath contains ?, so must already have paramsString at the end
+                    requestString += '&' + paramsString;
+                }
+            }
+        }
+        return requestString;
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.MapServer"
+});
+/* ======================================================================
+    OpenLayers/Layer/TMS.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * licence.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Layer/Grid.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.TMS
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Layer.Grid>
+ */
+OpenLayers.Layer.TMS = OpenLayers.Class(OpenLayers.Layer.Grid, {
+
+    /**
+     * APIProperty: serviceVersion
+     * {String}
+     */
+    serviceVersion: "1.0.0",
+
+    /**
+     * APIProperty: isBaseLayer
+     * {Boolean}
+     */
+    isBaseLayer: true,
+
+    /**
+     * APIProperty: tileOrigin
+     * {<OpenLayers.Pixel>}
+     */
+    tileOrigin: null,
+
+    /**
+     * Constructor: OpenLayers.Layer.TMS
+     * 
+     * Parameters:
+     * name - {String}
+     * url - {String}
+     * options - {Object} Hashtable of extra options to tag onto the layer
+     */
+    initialize: function(name, url, options) {
+        var newArguments = [];
+        newArguments.push(name, url, {}, options);
+        OpenLayers.Layer.Grid.prototype.initialize.apply(this, newArguments);
+    },    
+
+    /**
+     * APIMethod:destroy
+     */
+    destroy: function() {
+        // for now, nothing special to do here. 
+        OpenLayers.Layer.Grid.prototype.destroy.apply(this, arguments);  
+    },
+
+    
+    /**
+     * APIMethod: clone
+     * 
+     * Parameters:
+     * obj - {Object}
+     * 
+     * Returns:
+     * {<OpenLayers.Layer.TMS>} An exact clone of this <OpenLayers.Layer.TMS>
+     */
+    clone: function (obj) {
+        
+        if (obj == null) {
+            obj = new OpenLayers.Layer.TMS(this.name,
+                                           this.url,
+                                           this.options);
+        }
+
+        //get all additions from superclasses
+        obj = OpenLayers.Layer.Grid.prototype.clone.apply(this, [obj]);
+
+        // copy/set any non-init, non-simple values here
+
+        return obj;
+    },    
+    
+    /**
+     * Method: getURL
+     * 
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     * 
+     * Returns:
+     * {String} A string with the layer's url and parameters and also the 
+     *          passed-in bounds and appropriate tile size specified as 
+     *          parameters
+     */
+    getURL: function (bounds) {
+        bounds = this.adjustBounds(bounds);
+        var res = this.map.getResolution();
+        var x = Math.round((bounds.left - this.tileOrigin.lon) / (res * this.tileSize.w));
+        var y = Math.round((bounds.bottom - this.tileOrigin.lat) / (res * this.tileSize.h));
+        var z = this.map.getZoom();
+        var path = this.serviceVersion + "/" + this.layername + "/" + z + "/" + x + "/" + y + "." + this.type; 
+        var url = this.url;
+        if (url instanceof Array) {
+            url = this.selectUrl(path, url);
+        }
+        return url + path;
+    },
+
+    /**
+     * Method: addTile
+     * addTile creates a tile, initializes it, and adds it to the layer div. 
+     * 
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     * position - {<OpenLayers.Pixel>}
+     * 
+     * Returns:
+     * {<OpenLayers.Tile.Image>} The added OpenLayers.Tile.Image
+     */
+    addTile:function(bounds,position) {
+        return new OpenLayers.Tile.Image(this, position, bounds, 
+                                         null, this.tileSize);
+    },
+
+    /** 
+     * APIMethod: setMap
+     * When the layer is added to a map, then we can fetch our origin 
+     *    (if we don't have one.) 
+     * 
+     * Parameters:
+     * map - {<OpenLayers.Map>}
+     */
+    setMap: function(map) {
+        OpenLayers.Layer.Grid.prototype.setMap.apply(this, arguments);
+        if (!this.tileOrigin) { 
+            this.tileOrigin = new OpenLayers.LonLat(this.map.maxExtent.left,
+                                                this.map.maxExtent.bottom);
+        }                                       
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.TMS"
+});
+/* ======================================================================
+    OpenLayers/Layer/TileCache.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * licence.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Layer/Grid.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.TileCache
+ * A read only TileCache layer.  Used to requests tiles cached by TileCache in
+ *     a web accessible cache.  This means that you have to pre-populate your
+ *     cache before this layer can be used.  It is meant only to read tiles
+ *     created by TileCache, and not to make calls to TileCache for tile
+ *     creation.  Create a new instance with the
+ *     <OpenLayers.Layer.TileCache> constructor.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Layer.Grid>
+ */
+OpenLayers.Layer.TileCache = OpenLayers.Class(OpenLayers.Layer.Grid, {
+
+    /** 
+     * APIProperty: isBaseLayer
+     * {Boolean} Treat this layer as a base layer.  Default is true.
+     */
+    isBaseLayer: true,
+    
+    /**
+     * APIProperty: tileOrigin
+     * {<OpenLayers.LonLat>} Location of the tile lattice origin.  Default is
+     *     bottom left of the maxExtent.
+     */
+    tileOrigin: null,
+
+    /** 
+     * APIProperty: format
+     * {String} Mime type of the images returned.  Default is image/png.
+     */
+    format: 'image/png',
+
+    /**
+     * Constructor: OpenLayers.Layer.TileCache
+     * Create a new read only TileCache layer.
+     *
+     * Parameters:
+     * name - {String} Name of the layer displayed in the interface
+     * url - {String} Location of the web accessible cache (not the location of
+     *     your tilecache script!)
+     * layername - {String} Layer name as defined in the TileCache 
+     *     configuration
+     * options - {Object} Optional object with properties to be set on the
+     *     layer.  Note that you should speficy your resolutions to match
+     *     your TileCache configuration.  This can be done by setting
+     *     the resolutions array directly (here or on the map), by setting
+     *     maxResolution and numZoomLevels, or by using scale based properties.
+     */
+    initialize: function(name, url, layername, options) {
+        this.layername = layername;
+        OpenLayers.Layer.Grid.prototype.initialize.apply(this,
+                                                         [name, url, {}, options]);
+        this.extension = this.format.split('/')[1].toLowerCase();
+        this.extension = (this.extension == 'jpg') ? 'jpeg' : this.extension;
+    },    
+
+    /**
+     * APIMethod: clone
+     * obj - {Object} 
+     * 
+     * Returns:
+     * {<OpenLayers.Layer.TileCache>} An exact clone of this 
+     *     <OpenLayers.Layer.TileCache>
+     */
+    clone: function (obj) {
+        
+        if (obj == null) {
+            obj = new OpenLayers.Layer.TileCache(this.name,
+                                                 this.url,
+                                                 this.layername,
+                                                 this.options);
+        }
+
+        //get all additions from superclasses
+        obj = OpenLayers.Layer.Grid.prototype.clone.apply(this, [obj]);
+
+        // copy/set any non-init, non-simple values here
+
+        return obj;
+    },    
+    
+    /**
+     * Method: getURL
+     *
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>} 
+     * 
+     * Returns:
+     * {String} A string with the layer's url and parameters and also the 
+     *     passed-in bounds and appropriate tile size specified as parameters.
+     */
+    getURL: function(bounds) {
+        var res = this.map.getResolution();
+        var bbox = this.maxExtent;
+        var size = this.tileSize;
+        var tileX = Math.round((bounds.left - bbox.left) / (res * size.w));
+        var tileY = Math.round((bounds.bottom - bbox.bottom) / (res * size.h));
+        var tileZ = this.map.zoom;
+        /**
+         * Zero-pad a positive integer.
+         * number - {Int} 
+         * length - {Int} 
+         *
+         * Returns:
+         * {String} A zero-padded string
+         */
+        function zeroPad(number, length) {
+            number = String(number);
+            var zeros = [];
+            for(var i=0; i<length; ++i) {
+                zeros.push('0');
+            }
+            return zeros.join('').substring(0, length - number.length) + number;
+        }
+        var components = [
+            this.layername,
+            zeroPad(tileZ, 2),
+            zeroPad(parseInt(tileX / 1000000), 3),
+            zeroPad((parseInt(tileX / 1000) % 1000), 3),
+            zeroPad((parseInt(tileX) % 1000), 3),
+            zeroPad(parseInt(tileY / 1000000), 3),
+            zeroPad((parseInt(tileY / 1000) % 1000), 3),
+            zeroPad((parseInt(tileY) % 1000), 3) + '.' + this.extension
+        ];
+        var path = components.join('/'); 
+        var url = this.url;
+        if (url instanceof Array) {
+            url = this.selectUrl(path, url);
+        }
+        url = (url.charAt(url.length - 1) == '/') ? url : url + '/';
+        return url + path;
+    },
+
+    /**
+     * Method: addTile
+     * Create a tile, initialize it, and add it to the layer div. 
+     *
+     * Parameters: 
+     * bounds - {<OpenLayers.Bounds>} 
+     * position - {<OpenLayers.Pixel>}
+     *
+     * Returns:
+     * {<OpenLayers.Tile.Image>} The added <OpenLayers.Tile.Image>
+     */
+    addTile:function(bounds, position) {
+        var url = this.getURL(bounds);
+        return new OpenLayers.Tile.Image(this, position, bounds, 
+                                             url, this.tileSize);
+    },
+
+    /** 
+     * Method: setMap
+     * When the layer is added to a map, then we can fetch our origin 
+     *     (if we don't have one.) 
+     * 
+     * Parameters:
+     * map - {<OpenLayers.Map>} 
+     */
+    setMap: function(map) {
+        OpenLayers.Layer.Grid.prototype.setMap.apply(this, arguments);
+        if (!this.tileOrigin) { 
+            this.tileOrigin = new OpenLayers.LonLat(this.map.maxExtent.left,
+                                                    this.map.maxExtent.bottom);
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.TileCache"
+});
+/* ======================================================================
+    OpenLayers/Layer/WMS.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Layer/Grid.js
+ * @requires OpenLayers/Tile/Image.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.WMS
+ * Instances of OpenLayers.Layer.WMS are used to display data from OGC Web
+ *     Mapping Services. Create a new WMS layer with the <OpenLayers.Layer.WMS>
+ *     constructor.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Layer.Grid>
+ */
+OpenLayers.Layer.WMS = OpenLayers.Class(OpenLayers.Layer.Grid, {
+
+    /**
+     * Constant: DEFAULT_PARAMS
+     * {Object} Hashtable of default parameter key/value pairs 
+     */
+    DEFAULT_PARAMS: { service: "WMS",
+                      version: "1.1.1",
+                      request: "GetMap",
+                      styles: "",
+                      exceptions: "application/vnd.ogc.se_inimage",
+                      format: "image/jpeg"
+                     },
+    
+    /**
+     * Property: reproject
+     * *Deprecated*. See http://trac.openlayers.org/wiki/SphericalMercator
+     * for information on the replacement for this functionality. 
+     * {Boolean} Try to reproject this layer if its coordinate reference system
+     *           is different than that of the base layer.  Default is true.  
+     *           Set this in the layer options.  Should be set to false in 
+     *           most cases.
+     */
+    reproject: false,
+ 
+    /**
+     * APIProperty: isBaseLayer
+     * {Boolean} Default is true for WMS layer
+     */
+    isBaseLayer: true,
+    
+    /**
+     * APIProperty: encodeBBOX
+     * {Boolean} Should the BBOX commas be encoded? The WMS spec says 'no', 
+     * but some services want it that way. Default false.
+     */
+    encodeBBOX: false,
+ 
+    /**
+     * Constructor: OpenLayers.Layer.WMS
+     * Create a new WMS layer object
+     *
+     * Example:
+     * (code)
+     * var wms = new OpenLayers.Layer.WMS("NASA Global Mosaic",
+     *                                    "http://wms.jpl.nasa.gov/wms.cgi", 
+     *                                    {layers: "modis,global_mosaic"});
+     * (end)
+     *
+     * Parameters:
+     * name - {String} A name for the layer
+     * url - {String} Base url for the WMS
+     *                (e.g. http://wms.jpl.nasa.gov/wms.cgi)
+     * params - {Object} An object with key/value pairs representing the
+     *                   GetMap query string parameters and parameter values.
+     * options - {Ojbect} Hashtable of extra options to tag onto the layer
+     */
+    initialize: function(name, url, params, options) {
+        var newArguments = [];
+        //uppercase params
+        params = OpenLayers.Util.upperCaseObject(params);
+        newArguments.push(name, url, params, options);
+        OpenLayers.Layer.Grid.prototype.initialize.apply(this, newArguments);
+        OpenLayers.Util.applyDefaults(
+                       this.params, 
+                       OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS)
+                       );
+
+
+        //layer is transparent        
+        if (this.params.TRANSPARENT && 
+            this.params.TRANSPARENT.toString().toLowerCase() == "true") {
+            
+            // unless explicitly set in options, make layer an overlay
+            if ( (options == null) || (!options.isBaseLayer) ) {
+                this.isBaseLayer = false;
+            } 
+            
+            // jpegs can never be transparent, so intelligently switch the 
+            //  format, depending on teh browser's capabilities
+            if (this.params.FORMAT == "image/jpeg") {
+                this.params.FORMAT = OpenLayers.Util.alphaHack() ? "image/gif"
+                                                                 : "image/png";
+            }
+        }
+
+    },    
+
+    /**
+     * Method: destroy
+     * Destroy this layer
+     */
+    destroy: function() {
+        // for now, nothing special to do here. 
+        OpenLayers.Layer.Grid.prototype.destroy.apply(this, arguments);  
+    },
+
+    
+    /**
+     * Method: clone
+     * Create a clone of this layer
+     *
+     * Returns:
+     * {<OpenLayers.Layer.WMS>} An exact clone of this layer
+     */
+    clone: function (obj) {
+        
+        if (obj == null) {
+            obj = new OpenLayers.Layer.WMS(this.name,
+                                           this.url,
+                                           this.params,
+                                           this.options);
+        }
+
+        //get all additions from superclasses
+        obj = OpenLayers.Layer.Grid.prototype.clone.apply(this, [obj]);
+
+        // copy/set any non-init, non-simple values here
+
+        return obj;
+    },    
+    
+    /**
+     * Method: getURL
+     * Return a GetMap query string for this layer
+     *
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>} A bounds representing the bbox for the
+     *                                request.
+     *
+     * Returns:
+     * {String} A string with the layer's url and parameters and also the
+     *          passed-in bounds and appropriate tile size specified as 
+     *          parameters.
+     */
+    getURL: function (bounds) {
+        bounds = this.adjustBounds(bounds);
+        
+        var imageSize = this.getImageSize(); 
+        var newParams = {
+            'BBOX': this.encodeBBOX ?  bounds.toBBOX() : bounds.toArray(),
+            'WIDTH': imageSize.w,
+            'HEIGHT': imageSize.h
+        };
+        var requestString = this.getFullRequestString(newParams);
+        return requestString;
+    },
+
+    /**
+     * Method: addTile
+     * addTile creates a tile, initializes it, and adds it to the layer div. 
+     *
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     * position - {<OpenLayers.Pixel>}
+     * 
+     * Returns:
+     * {<OpenLayers.Tile.Image>} The added OpenLayers.Tile.Image
+     */
+    addTile:function(bounds,position) {
+        return new OpenLayers.Tile.Image(this, position, bounds, 
+                                         null, this.tileSize);
+    },
+
+    /**
+     * APIMethod: mergeNewParams
+     * Catch changeParams and uppercase the new params to be merged in
+     *     before calling changeParams on the super class.
+     * 
+     *     Once params have been changed, we will need to re-init our tiles.
+     * 
+     * Parameters:
+     * newParams - {Object} Hashtable of new params to use
+     */
+    mergeNewParams:function(newParams) {
+        var upperParams = OpenLayers.Util.upperCaseObject(newParams);
+        var newArguments = [upperParams];
+        return OpenLayers.Layer.Grid.prototype.mergeNewParams.apply(this, 
+                                                             newArguments);
+    },
+
+    /** 
+     * Method: getFullRequestString
+     * Combine the layer's url with its params and these newParams. 
+     *   
+     *     Add the SRS parameter from projection -- this is probably
+     *     more eloquently done via a setProjection() method, but this 
+     *     works for now and always.
+     *
+     * Parameters:
+     * newParams - {Object}
+     * altUrl - {String} Use this as the url instead of the layer's url
+     * 
+     * Returns:
+     * {String} 
+     */
+    getFullRequestString:function(newParams, altUrl) {
+        var projectionCode = this.map.getProjection();
+        this.params.SRS = (projectionCode == "none") ? null : projectionCode;
+
+        return OpenLayers.Layer.Grid.prototype.getFullRequestString.apply(
+                                                    this, arguments);
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.WMS"
+});
+/* ======================================================================
+    OpenLayers/Layer/WorldWind.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Layer/Grid.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.WorldWind
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Layer.Grid>
+ */
+OpenLayers.Layer.WorldWind = OpenLayers.Class(OpenLayers.Layer.Grid, {
+    
+    DEFAULT_PARAMS: {
+    },
+
+    /**
+     * APIProperty: isBaseLayer
+     * WorldWind layer is a base layer by default.
+     */
+    isBaseLayer: true,    
+
+    
+    /** 
+     * APIProperty: lzd
+     * LevelZeroTileSizeDegrees
+     */
+    lzd: null,
+
+    /**
+     * APIProperty: zoomLevels
+     * Number of zoom levels.
+     */
+    zoomLevels: null,
+    
+    /**
+     * Constructor: OpenLayers.Layer.WorldWind
+     * 
+     * Parameters:
+     * name - {String} Name of Layer
+     * url - {String} Base URL  
+     * lzd - {Float} Level zero tile size degrees 
+     * zoomLevels - {Int} number of zoom levels
+     * params - {Object} additional parameters
+     * options - {Object} additional options
+     */
+    initialize: function(name, url, lzd, zoomLevels, params, options) {
+        this.lzd = lzd;
+        this.zoomLevels = zoomLevels;
+        var newArguments = [];
+        newArguments.push(name, url, params, options);
+        OpenLayers.Layer.Grid.prototype.initialize.apply(this, newArguments);
+        this.params = (params ? params : {});
+        if (params) {
+            OpenLayers.Util.applyDefaults(
+                           this.params, 
+                           this.DEFAULT_PARAMS
+                           );
+        }
+    },
+    /**
+     * Method: addTile
+     * 
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>}
+     * position - {<OpenLayers.Pixel>}
+     * 
+     * Returns:
+     * {<OpenLayers.Tile.Image>} The added OpenLayers.Tile.Image
+     */
+    addTile:function(bounds,position) {
+        return new OpenLayers.Tile.Image(this, position, bounds, 
+                                             null, this.tileSize);
+    },
+
+    /**
+     * Method: getZoom
+     * Convert map zoom to WW zoom.
+     */
+    getZoom: function () {
+        var zoom = this.map.getZoom();
+        var extent = this.map.getMaxExtent();
+        zoom = zoom - Math.log(this.maxResolution / (this.lzd/512))/Math.log(2);
+        return zoom;
+    },
+
+    /**
+     * Method: getURL
+     *
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>} 
+     *
+     * Returns:
+     * {String} A string with the layer's url and parameters and also the 
+     *           passed-in bounds and appropriate tile size specified as 
+     *           parameters
+     */
+    getURL: function (bounds) {
+        bounds = this.adjustBounds(bounds);
+        var zoom = this.getZoom();
+        var extent = this.map.getMaxExtent();
+        var deg = this.lzd/Math.pow(2,this.getZoom());
+        var x = Math.floor((bounds.left - extent.left)/deg);
+        var y = Math.floor((bounds.bottom - extent.bottom)/deg);
+        if (this.map.getResolution() <= (this.lzd/512)
+            && this.getZoom() <= this.zoomLevels) {
+            return this.getFullRequestString(
+              { L: zoom, 
+                X: x,
+                Y: y
+              });
+        } else {
+            return OpenLayers.Util.getImagesLocation() + "blank.gif";
+        }
+
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.WorldWind"
+});
+/* ======================================================================
+    OpenLayers/Rule.js
+   ====================================================================== */
+
+/* Copyright (c) 2006 MetaCarta, Inc., published under a modified BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt 
+ * for the full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Util.js
+ * @requires OpenLayers/Style.js
+ */
+
+/**
+ * Class: OpenLayers.Rule
+ * This class represents a OGC Rule, as being used for rule-based SLD styling.
+ */
+OpenLayers.Rule = OpenLayers.Class({
+    
+    /**
+     * Property: id
+     * {String} A unique id for this session.
+     */
+    id: null,
+    
+    /**
+     * APIProperty: name
+     * {String} name of this rule
+     */
+    name: 'default',
+    
+    /**
+     * Property: title
+     * {String} Title of this rule (set if included in SLD)
+     */
+    title: null,
+    
+    /**
+     * Property: description
+     * {String} Description of this rule (set if abstract is included in SLD)
+     */
+    description: null,
+
+    /**
+     * Property: context
+     * {Object} An optional object with properties that the rule should be
+     * evaluatad against. If no context is specified, feature.attributes will
+     * be used.
+     */
+    context: null,
+
+    /**
+     * Property: elseFilter
+     * {Boolean} Determines whether this rule is only to be applied only if
+     * no other rules match (ElseFilter according to the SLD specification). 
+     * Default is false.  For instances of OpenLayers.Rule, if elseFilter is
+     * false, the rule will always apply.  For subclasses, the else property is 
+     * ignored.
+     */
+    elseFilter: false,
+    
+    /**
+     * Property: symbolizer
+     * {Object} Symbolizer or hash of symbolizers for this rule. If hash of
+     * symbolizers, keys are one or more of ["Point", "Line", "Polygon"]
+     */
+    symbolizer: null,
+    
+    /**
+     * APIProperty: minScaleDenominator
+     * {Number} or {String} minimum scale at which to draw the feature.
+     * In the case of a String, this can be a combination of text and
+     * propertyNames in the form "literal ${propertyName}"
+     */
+    minScaleDenominator: null,
+
+    /**
+     * APIProperty: maxScaleDenominator
+     * {Number} or {String} maximum scale at which to draw the feature.
+     * In the case of a String, this can be a combination of text and
+     * propertyNames in the form "literal ${propertyName}"
+     */
+    maxScaleDenominator: null,
+    
+    /** 
+     * Constructor: OpenLayers.Rule
+     * Creates a Rule.
+     *
+     * Parameters:
+     * options - {Object} An optional object with properties to set on the
+     *           rule
+     * 
+     * Returns:
+     * {<OpenLayers.Rule>}
+     */
+    initialize: function(options) {
+        this.id = OpenLayers.Util.createUniqueID(this.CLASS_NAME + "_");
+        this.symbolizer = {};
+
+        OpenLayers.Util.extend(this, options);
+    },
+
+    /** 
+     * APIMethod: destroy
+     * nullify references to prevent circular references and memory leaks
+     */
+    destroy: function() {
+        for (var i in this.symbolizer) {
+            this.symbolizer[i] = null;
+        }
+        this.symbolizer = null;
+    },
+    
+    /**
+     * APIMethod: evaluate
+     * evaluates this rule for a specific feature
+     * 
+     * Parameters:
+     * feature - {<OpenLayers.Feature>} feature to apply the rule to.
+     * 
+     * Returns:
+     * {boolean} true if the rule applies, false if it does not.
+     * This rule is the default rule and always returns true.
+     */
+    evaluate: function(feature) {
+        var context = this.getContext(feature);
+        var applies = true;
+
+        if (this.minScaleDenominator || this.maxScaleDenominator) {
+            var scale = feature.layer.map.getScale();
+        }
+        
+        // check if within minScale/maxScale bounds
+        if (this.minScaleDenominator) {
+            applies = scale >= OpenLayers.Style.createLiteral(
+                    this.minScaleDenominator, context);
+        }
+        if (applies && this.maxScaleDenominator) {
+            applies = scale < OpenLayers.Style.createLiteral(
+                    this.maxScaleDenominator, context);
+        }
+
+        return applies;
+    },
+    
+    /**
+     * Method: getContext
+     * Gets the context for evaluating this rule
+     * 
+     * Paramters:
+     * feature - {<OpenLayers.Feature>} feature to take the context from if
+     *           none is specified.
+     */
+    getContext: function(feature) {
+        var context = this.context;
+        if (!context) {
+            context = feature.attributes || feature.data;
+        }
+        return context;
+    },
+        
+    CLASS_NAME: "OpenLayers.Rule"
+});
+/* ======================================================================
+    OpenLayers/StyleMap.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Style.js
+ * @requires OpenLayers/Feature/Vector.js
+ */
+ 
+/**
+ * Class: OpenLayers.StyleMap
+ */
+OpenLayers.StyleMap = OpenLayers.Class({
+    
+    /**
+     * Property: styles
+     * Hash of {<OpenLayers.Style>}, keyed by names of well known
+     * rendering intents (e.g. "default", "temporary", "select").
+     */
+    styles: null,
+    
+    /**
+     * Property: extendDefault
+     * {Boolean} if true, every render intent will extend the symbolizers
+     * specified for the "default" intent. Otherwise, every rendering intent
+     * is treated as a completely independent symbolizer.
+     */
+    extendDefault: true,
+    
+    /**
+     * Constructor: OpenLayers.StyleMap
+     * 
+     * Parameters:
+     * style   - {Object} Optional. Either a style hash, or a style object, or
+     *           a hash of style objects (style hashes) keyed by rendering
+     *           intent
+     * options - {Object} optional hash of additional options for this
+     *           instance
+     */
+    initialize: function (style, options) {
+        this.styles = {
+            "default": new OpenLayers.Style(
+                OpenLayers.Feature.Vector.style["default"]),
+            "select": new OpenLayers.Style(
+                OpenLayers.Feature.Vector.style["select"]),
+            "temporary": new OpenLayers.Style(
+                OpenLayers.Feature.Vector.style["temporary"])
+        };
+        
+        // take whatever the user passed as style parameter and convert it
+        // into parts of stylemap.
+        if(style instanceof OpenLayers.Style) {
+            // user passed a style object
+            this.styles["default"] = style;
+        } else if(typeof style == "object") {
+            for(var key in style) {
+                if(style[key] instanceof OpenLayers.Style) {
+                    // user passed a hash of style objects
+                    this.styles[key] = style[key];
+                } else if(typeof style[key] == "object") {
+                    // user passsed a hash of style hashes
+                    this.styles[key] = new OpenLayers.Style(style[key]);
+                } else {
+                    // user passed a style hash (i.e. symbolizer)
+                    this.styles["default"] = new OpenLayers.Style(style);
+                    break;
+                }
+            }
+        }
+        OpenLayers.Util.extend(this, options);
+    },
+
+    /**
+     * Method: destroy
+     */
+    destroy: function() {
+        for(var key in this.styles) {
+            this.styles[key].destroy();
+        }
+        this.styles = null;
+    },
+    
+    /**
+     * Method: createSymbolizer
+     * Creates the symbolizer for a feature for a render intent.
+     * 
+     * Parameters:
+     * feature - {<OpenLayers.Feature>} The feature to evaluate the rules
+     *           of the intended style against.
+     * intent  - {String} The intent determines the symbolizer that will be
+     *           used to draw the feature. Well known intents are "default"
+     *           (for just drawing the features), "select" (for selected
+     *           features) and "temporary" (for drawing features).
+     * 
+     * Returns:
+     * {Object} symbolizer hash
+     */
+    createSymbolizer: function(feature, intent) {
+        if(!feature) {
+            feature = new OpenLayers.Feature.Vector();
+        }
+        if(!this.styles[intent]) {
+            intent = "default";
+        }
+        feature.renderIntent = intent;
+        var defaultSymbolizer = {};
+        if(this.extendDefault && intent != "default") {
+            defaultSymbolizer = this.styles["default"].createSymbolizer(feature);
+        }
+        return OpenLayers.Util.extend(defaultSymbolizer,
+            this.styles[intent].createSymbolizer(feature));
+    },
+    
+    /**
+     * Method: addUniqueValueRules
+     * Convenience method to create comparison rules for unique values of a
+     * property. The rules will be added to the style object for a specified
+     * rendering intent. This method is a shortcut for creating something like
+     * the "unique value legends" familiar from well known desktop GIS systems
+     * 
+     * Parameters:
+     * renderIntent - {String} rendering intent to add the rules to
+     * property     - {String} values of feature attributes to create the
+     *                rules for
+     * symbolizers  - {Object} Hash of symbolizers, keyed by the desired
+     *                property values 
+     */
+    addUniqueValueRules: function(renderIntent, property, symbolizers) {
+        var rules = [];
+        for (var value in symbolizers) {
+            rules.push(new OpenLayers.Rule.Comparison({
+                type: OpenLayers.Rule.Comparison.EQUAL_TO,
+                property: property,
+                value: value,
+                symbolizer: symbolizers[value]}));
+        }
+        this.styles[renderIntent].addRules(rules);
+    },
+
+    CLASS_NAME: "OpenLayers.StyleMap"
+});
+/* ======================================================================
+    OpenLayers/Control/NavToolbar.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Control/Panel.js
+ * @requires OpenLayers/Control/Navigation.js
+ * @requires OpenLayers/Control/ZoomBox.js
+ */
+
+/**
+ * Class: OpenLayers.Control.NavToolbar
+ */
+OpenLayers.Control.NavToolbar = OpenLayers.Class(OpenLayers.Control.Panel, {
+
+    /**
+     * Constructor: OpenLayers.Control.NavToolbar 
+     * Add our two mousedefaults controls.
+     *
+     * Parameters:
+     * options - {Object} An optional object whose properties will be used
+     *     to extend the control.
+     */
+    initialize: function(options) {
+        OpenLayers.Control.Panel.prototype.initialize.apply(this, [options]);
+        this.addControls([
+          new OpenLayers.Control.Navigation(),
+          new OpenLayers.Control.ZoomBox()
+        ]);
+    },
+
+    /**
+     * Method: draw 
+     * calls the default draw, and then activates mouse defaults.
+     */
+    draw: function() {
+        var div = OpenLayers.Control.Panel.prototype.draw.apply(this, arguments);
+        this.activateControl(this.controls[0]);
+        return div;
+    },
+
+    CLASS_NAME: "OpenLayers.Control.NavToolbar"
+});
+/* ======================================================================
+    OpenLayers/Geometry/Collection.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Geometry.js
+ */
+
+/**
+ * Class: OpenLayers.Geometry.Collection
+ * A Collection is exactly what it sounds like: A collection of different 
+ * Geometries. These are stored in the local parameter <components> (which
+ * can be passed as a parameter to the constructor). 
+ * 
+ * As new geometries are added to the collection, they are NOT cloned. 
+ * When removing geometries, they need to be specified by reference (ie you 
+ * have to pass in the *exact* geometry to be removed).
+ * 
+ * The <getArea> and <getLength> functions here merely iterate through
+ * the components, summing their respective areas and lengths.
+ *
+ * Create a new instance with the <OpenLayers.Geometry.Collection> constructor.
+ *
+ * Inerhits from:
+ *  - <OpenLayers.Geometry> 
+ */
+OpenLayers.Geometry.Collection = OpenLayers.Class(OpenLayers.Geometry, {
+
+    /**
+     * APIProperty: components
+     * {Array(<OpenLayers.Geometry>)} The component parts of this geometry
+     */
+    components: null,
+    
+    /**
+     * Property: componentTypes
+     * {Array(String)} An array of class names representing the types of
+     * components that the collection can include.  A null value means the
+     * component types are not restricted.
+     */
+    componentTypes: null,
+
+    /**
+     * Constructor: OpenLayers.Geometry.Collection
+     * Creates a Geometry Collection -- a list of geoms.
+     *
+     * Parameters: 
+     * components - {Array(<OpenLayers.Geometry>)} Optional array of geometries
+     *
+     */
+    initialize: function (components) {
+        OpenLayers.Geometry.prototype.initialize.apply(this, arguments);
+        this.components = [];
+        if (components != null) {
+            this.addComponents(components);
+        }
+    },
+
+    /**
+     * APIMethod: destroy
+     * Destroy this geometry.
+     */
+    destroy: function () {
+        this.components.length = 0;
+        this.components = null;
+    },
+
+    /**
+     * APIMethod: clone
+     * Clone this geometry.
+     *
+     * Returns:
+     * {<OpenLayers.Geometry.Collection>} An exact clone of this collection
+     */
+    clone: function() {
+        var geometry = eval("new " + this.CLASS_NAME + "()");
+        for(var i=0; i<this.components.length; i++) {
+            geometry.addComponent(this.components[i].clone());
+        }
+        
+        // catch any randomly tagged-on properties
+        OpenLayers.Util.applyDefaults(geometry, this);
+        
+        return geometry;
+    },
+
+    /**
+     * Method: getComponentsString
+     * Get a string representing the components for this collection
+     * 
+     * Returns:
+     * {String} A string representation of the components of this geometry
+     */
+    getComponentsString: function(){
+        var strings = [];
+        for(var i = 0; i < this.components.length; i++) {
+            strings.push(this.components[i].toShortString()); 
+        }
+        return strings.join(",");
+    },
+
+    /**
+     * APIMethod: calculateBounds
+     * Recalculate the bounds by iterating through the components and 
+     * calling calling extendBounds() on each item.
+     */
+    calculateBounds: function() {
+        this.bounds = null;
+        if ( this.components && this.components.length > 0) {
+            this.setBounds(this.components[0].getBounds());
+            for (var i = 1; i < this.components.length; i++) {
+                this.extendBounds(this.components[i].getBounds());
+            }
+        }
+    },
+
+    /**
+     * APIMethod: addComponents
+     * Add components to this geometry.
+     *
+     * Parameters:
+     * components - {Array(<OpenLayers.Geometry>)} An array of geometries to add
+     */
+    addComponents: function(components){
+        if(!(components instanceof Array)) {
+            components = [components];
+        }
+        for(var i=0; i < components.length; i++) {
+            this.addComponent(components[i]);
+        }
+    },
+
+    /**
+     * Method: addComponent
+     * Add a new component (geometry) to the collection.  If this.componentTypes
+     * is set, then the component class name must be in the componentTypes array.
+     *
+     * The bounds cache is reset.
+     * 
+     * Parameters:
+     * component - {<OpenLayers.Geometry>} A geometry to add
+     * index - {int} Optional index into the array to insert the component
+     *
+     * Returns:
+     * {Boolean} The component geometry was successfully added
+     */    
+    addComponent: function(component, index) {
+        var added = false;
+        if(component) {
+            if(this.componentTypes == null ||
+               (OpenLayers.Util.indexOf(this.componentTypes,
+                                        component.CLASS_NAME) > -1)) {
+
+                if(index != null && (index < this.components.length)) {
+                    var components1 = this.components.slice(0, index);
+                    var components2 = this.components.slice(index, 
+                                                           this.components.length);
+                    components1.push(component);
+                    this.components = components1.concat(components2);
+                } else {
+                    this.components.push(component);
+                }
+                component.parent = this;
+                this.clearBounds();
+                added = true;
+            }
+        }
+        return added;
+    },
+    
+    /**
+     * APIMethod: removeComponents
+     * Remove components from this geometry.
+     *
+     * Parameters:
+     * components - {Array(<OpenLayers.Geometry>)} The components to be removed
+     */
+    removeComponents: function(components) {
+        if(!(components instanceof Array)) {
+            components = [components];
+        }
+        for(var i=components.length-1; i>=0; --i) {
+            this.removeComponent(components[i]);
+        }
+    },
+    
+    /**
+     * Method: removeComponent
+     * Remove a component from this geometry.
+     *
+     * Parameters:
+     * component - {<OpenLayers.Geometry>} 
+     */
+    removeComponent: function(component) {
+        
+        OpenLayers.Util.removeItem(this.components, component);
+        
+        // clearBounds() so that it gets recalculated on the next call
+        // to this.getBounds();
+        this.clearBounds();
+    },
+
+    /**
+     * APIMethod: getLength
+     * Calculate the length of this geometry
+     *
+     * Returns:
+     * {Float} The length of the geometry
+     */
+    getLength: function() {
+        var length = 0.0;
+        for (var i = 0; i < this.components.length; i++) {
+            length += this.components[i].getLength();
+        }
+        return length;
+    },
+    
+    /**
+     * APIMethod: getArea
+     * Calculate the area of this geometry. Note how this function is overridden
+     * in <OpenLayers.Geometry.Polygon>.
+     *
+     * Returns:
+     * {Float} The area of the collection by summing its parts
+     */
+    getArea: function() {
+        var area = 0.0;
+        for (var i = 0; i < this.components.length; i++) {
+            area += this.components[i].getArea();
+        }
+        return area;
+    },
+
+    /**
+     * APIMethod: move
+     * Moves a collection in place
+     *
+     * Parameters:
+     * x - {Float} The x-displacement (in map units)
+     * y - {Float} The y-displacement (in map units)
+     */
+    move: function(x, y) {
+        for(var i = 0; i < this.components.length; i++) {
+            this.components[i].move(x, y);
+        }
+    },
+
+    /**
+     * APIMethod: rotate
+     * Rotate a geometry around some origin
+     *
+     * Parameters:
+     * angle - {Float} Rotation angle in degrees (measured counterclockwise
+     *                 from the positive x-axis)
+     * origin - {<OpenLayers.Geometry.Point>} Center point for the rotation
+     */
+    rotate: function(angle, origin) {
+        for(var i=0; i<this.components.length; ++i) {
+            this.components[i].rotate(angle, origin);
+        }
+    },
+
+    /**
+     * APIMethod: resize
+     * Resize a geometry relative to some origin.  Use this method to apply
+     *     a uniform scaling to a geometry.
+     *
+     * Parameters:
+     * scale - {Float} Factor by which to scale the geometry.  A scale of 2
+     *                 doubles the size of the geometry in each dimension
+     *                 (lines, for example, will be twice as long, and polygons
+     *                 will have four times the area).
+     * origin - {<OpenLayers.Geometry.Point>} Point of origin for resizing
+     * ratio - {Float} Optional x:y ratio for resizing.  Default ratio is 1.
+     */
+    resize: function(scale, origin, ratio) {
+        for(var i=0; i<this.components.length; ++i) {
+            this.components[i].resize(scale, origin, ratio);
+        }
+    },
+
+    /**
+     * APIMethod: equals
+     * Tests for equivalent geometries
+     *
+     * Parameters:
+     * geometry - {<OpenLayers.Geometry>}
+     *
+     * Returns:
+     * {Boolean} The coordinates are equivalent
+     */
+    equals: function(geometry) {
+        var equivalent = true;
+        if(!geometry || !geometry.CLASS_NAME ||
+           (this.CLASS_NAME != geometry.CLASS_NAME)) {
+            equivalent = false;
+        } else if(!(geometry.components instanceof Array) ||
+                  (geometry.components.length != this.components.length)) {
+            equivalent = false;
+        } else {
+            for(var i=0; i<this.components.length; ++i) {
+                if(!this.components[i].equals(geometry.components[i])) {
+                    equivalent = false;
+                    break;
+                }
+            }
+        }
+        return equivalent;
+    },
+
+    /**
+     * APIMethod: transform
+     * Reproject the components geometry from source to dest.
+     * 
+     * Parameters:
+     * source - {<OpenLayers.Projection>} 
+     * dest - {<OpenLayers.Projection>}
+     * 
+     * Returns:
+     * {<OpenLayers.Geometry>} 
+     */
+    transform: function(source, dest) {
+        if (source && dest) {
+            for (var i = 0; i < this.components.length; i++) {  
+                var component = this.components[i];
+                component.transform(source, dest);
+            }
+        }   
+        return this;
+    },
+
+    /**
+     * APIMethod: intersects
+     * Determine if the input geometry intersects this one.
+     *
+     * Parameters:
+     * geometry - {<OpenLayers.Geometry>} Any type of geometry.
+     *
+     * Returns:
+     * {Boolean} The input geometry intersects this one.
+     */
+    intersects: function(geometry) {
+        var intersect = false;
+        for(var i=0; i<this.components.length; ++ i) {
+            intersect = geometry.intersects(this.components[i]);
+            if(intersect) {
+                break;
+            }
+        }
+        return intersect;
+    },
+
+    /** @final @type String */
+    CLASS_NAME: "OpenLayers.Geometry.Collection"
+});
+/* ======================================================================
+    OpenLayers/Geometry/Point.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Geometry.js
+ */
+
+/**
+ * Class: OpenLayers.Geometry.Point
+ * Point geometry class. 
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Geometry> 
+ */
+OpenLayers.Geometry.Point = OpenLayers.Class(OpenLayers.Geometry, {
+
+    /** 
+     * APIProperty: x 
+     * {float} 
+     */
+    x: null,
+
+    /** 
+     * APIProperty: y 
+     * {float} 
+     */
+    y: null,
+
+    /**
+     * Constructor: OpenLayers.Geometry.Point
+     * Construct a point geometry.
+     *
+     * Parameters:
+     * x - {float} 
+     * y - {float}
+     * 
+     */
+    initialize: function(x, y) {
+        OpenLayers.Geometry.prototype.initialize.apply(this, arguments);
+        
+        this.x = parseFloat(x);
+        this.y = parseFloat(y);
+    },
+
+    /**
+     * APIMethod: clone
+     * 
+     * Returns:
+     * {<OpenLayers.Geometry.Point>} An exact clone of this OpenLayers.Geometry.Point
+     */
+    clone: function(obj) {
+        if (obj == null) {
+            obj = new OpenLayers.Geometry.Point(this.x, this.y);
+        }
+
+        // catch any randomly tagged-on properties
+        OpenLayers.Util.applyDefaults(obj, this);
+
+        return obj;
+    },
+
+    /** 
+     * Method: calculateBounds
+     * Create a new Bounds based on the lon/lat
+     */
+    calculateBounds: function () {
+        this.bounds = new OpenLayers.Bounds(this.x, this.y,
+                                            this.x, this.y);
+    },
+
+    /**
+     * APIMethod: distanceTo
+     * 
+     * Parameters:
+     * point - {<OpenLayers.Geometry.Point>} 
+     */
+    distanceTo: function(point) {
+        var distance = 0.0;
+        if ( (this.x != null) && (this.y != null) && 
+             (point != null) && (point.x != null) && (point.y != null) ) {
+             
+             var dx2 = Math.pow(this.x - point.x, 2);
+             var dy2 = Math.pow(this.y - point.y, 2);
+             distance = Math.sqrt( dx2 + dy2 );
+        }
+        return distance;
+    },
+    
+    /** 
+    * APIMethod: equals
+    * 
+    * Parameters:
+    * xy - {<OpenLayers.Geometry>} 
+    *
+    * Returns:
+    * {Boolean} Boolean value indicating whether the passed-in 
+    *          {<OpenLayers.Geometry>} object has the same  components as this
+    *          note that if ll passed in is null, returns false
+    *
+    */
+    equals:function(geom) {
+        var equals = false;
+        if (geom != null) {
+            equals = ((this.x == geom.x && this.y == geom.y) ||
+                      (isNaN(this.x) && isNaN(this.y) && isNaN(geom.x) && isNaN(geom.y)));
+        }
+        return equals;
+    },
+    
+    /**
+     * Method: toShortString
+     *
+     * Returns:
+     * {String} Shortened String representation of Point object. 
+     *         (ex. <i>"5, 42"</i>)
+     */
+    toShortString: function() {
+        return (this.x + ", " + this.y);
+    },
+    
+    /**
+     * APIMethod: move
+     * Moves a point in place
+     *
+     * Parameters:
+     * x - {Float} 
+     * y - {Float} 
+     */
+    move: function(x, y) {
+        this.x = this.x + x;
+        this.y = this.y + y;
+        this.clearBounds();
+    },
+
+    /**
+     * APIMethod: rotate
+     * Rotate a point around another.
+     *
+     * Parameters:
+     * angle - {Float} Rotation angle in degrees (measured counterclockwise
+     *                 from the positive x-axis)
+     * origin - {<OpenLayers.Geometry.Point>} Center point for the rotation
+     */
+    rotate: function(angle, origin) {
+        angle *= Math.PI / 180;
+        var radius = this.distanceTo(origin);
+        var theta = angle + Math.atan2(this.y - origin.y, this.x - origin.x);
+        this.x = origin.x + (radius * Math.cos(theta));
+        this.y = origin.y + (radius * Math.sin(theta));
+        this.clearBounds();
+    },
+
+    /**
+     * APIMethod: resize
+     * Resize a point relative to some origin.  For points, this has the effect
+     *     of scaling a vector (from the origin to the point).  This method is
+     *     more useful on geometry collection subclasses.
+     *
+     * Parameters:
+     * scale - {Float} Ratio of the new distance from the origin to the old
+     *                 distance from the origin.  A scale of 2 doubles the
+     *                 distance between the point and origin.
+     * origin - {<OpenLayers.Geometry.Point>} Point of origin for resizing
+     * ratio - {Float} Optional x:y ratio for resizing.  Default ratio is 1.
+     */
+    resize: function(scale, origin, ratio) {
+        ratio = (ratio == undefined) ? 1 : ratio;
+        this.x = origin.x + (scale * ratio * (this.x - origin.x));
+        this.y = origin.y + (scale * (this.y - origin.y));
+        this.clearBounds();
+    },
+    
+    /**
+     * APIMethod: intersects
+     * Determine if the input geometry intersects this one.
+     *
+     * Parameters:
+     * geometry - {<OpenLayers.Geometry>} Any type of geometry.
+     *
+     * Returns:
+     * {Boolean} The input geometry intersects this one.
+     */
+    intersects: function(geometry) {
+        var intersect = false;
+        if(geometry.CLASS_NAME == "OpenLayers.Geometry.Point") {
+            intersect = this.equals(geometry);
+        } else {
+            intersect = geometry.intersects(this);
+        }
+        return intersect;
+    },
+    
+    /**
+     * APIMethod: transform
+     * Translate the x,y properties of the point from source to dest.
+     * 
+     * Parameters:
+     * source - {<OpenLayers.Projection>} 
+     * dest - {<OpenLayers.Projection>}
+     * 
+     * Returns:
+     * {<OpenLayers.Geometry>} 
+     */
+    transform: function(source, dest) {
+        if ((source && dest)) {
+            OpenLayers.Projection.transform(
+                this, source, dest); 
+        }       
+        return this;
+    },
+
+    CLASS_NAME: "OpenLayers.Geometry.Point"
+});
+/* ======================================================================
+    OpenLayers/Geometry/Rectangle.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Geometry.js
+ */
+
+/**
+ * Class: OpenLayers.Geometry.Rectangle
+ * This class is *not supported*, and probably isn't what you're looking for.
+ *     Instead, most users probably want something like:
+ *     (code)
+ *     var poly = new OpenLayers.Bounds(0,0,10,10).toGeometry();
+ *     (end)
+ *     This will create a rectangular Polygon geometry. 
+ * 
+ * Inherits:
+ *  - <OpenLayers.Geometry>
+ */
+
+OpenLayers.Geometry.Rectangle = OpenLayers.Class(OpenLayers.Geometry, {
+
+    /** 
+     * Property: x
+     * {Float}
+     */
+    x: null,
+
+    /** 
+     * Property: y
+     * {Float}
+     */
+    y: null,
+
+    /** 
+     * Property: width
+     * {Float}
+     */
+    width: null,
+
+    /** 
+     * Property: height
+     * {Float}
+     */
+    height: null,
+
+    /**
+     * Constructor: OpenLayers.Geometry.Rectangle
+     * 
+     * Parameters:
+     * points - {Array(<OpenLayers.Geometry.Point>}
+     */
+    initialize: function(x, y, width, height) {
+        OpenLayers.Geometry.prototype.initialize.apply(this, arguments);
+        
+        this.x = x;
+        this.y = y;
+
+        this.width = width;
+        this.height = height;
+    },
+    
+    /**
+     * Method: calculateBounds
+     * Recalculate the bounds for the geometry.
+     */
+    calculateBounds: function() {
+        this.bounds = new OpenLayers.Bounds(this.x, this.y,
+                                            this.x + this.width, 
+                                            this.y + this.height);
+    },
+    
+    
+    /**
+     * APIMethod: getLength
+     * 
+     * Returns:
+     * {Float} The length of the geometry
+     */
+    getLength: function() {
+        var length = (2 * this.width) + (2 * this.height);
+        return length;
+    },
+
+    /**
+     * APIMethod: getArea
+     * 
+     * Returns:
+     * {Float} The area of the geometry
+     */
+    getArea: function() {
+        var area = this.width * this.height;
+        return area;
+    },    
+
+    CLASS_NAME: "OpenLayers.Geometry.Rectangle"
+});
+/* ======================================================================
+    OpenLayers/Geometry/Surface.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Geometry.js
+ */
+
+/**
+ * Class: OpenLayers.Geometry.Surface
+ */
+OpenLayers.Geometry.Surface = OpenLayers.Class(OpenLayers.Geometry, {
+
+    /**
+     * Constructor: OpenLayers.Geometry.Surface
+     *
+     */
+    initialize: function() {
+        OpenLayers.Geometry.prototype.initialize.apply(this, arguments);
+    },
+
+    CLASS_NAME: "OpenLayers.Geometry.Surface"
+});
+/* ======================================================================
+    OpenLayers/Layer/MapServer/Untiled.js
+   ====================================================================== */
+
+/* Copyright 2006-2008 MetaCarta, Inc., published under the Clear BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full text
+ * of the license. */
+
+ 
+/**
+ * @requires OpenLayers/Layer/MapServer.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.MapServer.Untiled
+ * Deprecated, to be removed in 3.0 - instead use OpenLayers.Layer.MapServer and 
+ *     pass the option 'singleTile' as true.
+ * 
+ * Inherits from: 
+ *  - <OpenLayers.Layer.MapServer>
+ */
+OpenLayers.Layer.MapServer.Untiled = OpenLayers.Class(OpenLayers.Layer.MapServer, {
+
+    /**
+     * APIProperty: singleTile
+     * {singleTile} Always true for untiled.
+     */
+    singleTile: true,
+
+    /**
+     * Constructor: OpenLayers.Layer.MapServer.Untiled
+     *
+     * Parameters:
+     * name - {String} 
+     * url - {String} 
+     * params - {Object} 
+     * options - {Object} 
+     */
+    initialize: function(name, url, params, options) {
+        OpenLayers.Layer.MapServer.prototype.initialize.apply(this, arguments);
+        
+        var msg = "The OpenLayers.Layer.MapServer.Untiled class is deprecated and " +
+                  "will be removed in 3.0. Instead, you should use the " +
+                  "normal OpenLayers.Layer.MapServer class, passing it the option " +
+                  "'singleTile' as true.";
+        OpenLayers.Console.warn(msg);
+    },    
+
+    /**
+     * Method: clone
+     * Create a clone of this layer
+     *
+     * Returns:
+     * {<OpenLayers.Layer.MapServer.Untiled>} An exact clone of this layer
+     */
+    clone: function (obj) {
+        
+        if (obj == null) {
+            obj = new OpenLayers.Layer.MapServer.Untiled(this.name,
+                                                         this.url,
+                                                         this.params,
+                                                         this.options);
+        }
+
+        //get all additions from superclasses
+        obj = OpenLayers.Layer.MapServer.prototype.clone.apply(this, [obj]);
+
+        // copy/set any non-init, non-simple values here
+
+        return obj;
+    }, 
+
+    CLASS_NAME: "OpenLayers.Layer.MapServer.Untiled"
+});
+/* ======================================================================
+    OpenLayers/Layer/Vector.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Layer.js
+ * @requires OpenLayers/Renderer.js
+ * @requires OpenLayers/StyleMap.js
+ * @requires OpenLayers/Feature/Vector.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.Vector
+ * Instances of OpenLayers.Layer.Vector are used to render vector data from
+ * a variety of sources. Create a new image layer with the
+ * <OpenLayers.Layer.Vector> constructor.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Layer>
+ */
+OpenLayers.Layer.Vector = OpenLayers.Class(OpenLayers.Layer, {
+
+    /**
+     * Constant: EVENT_TYPES
+     * {Array(String)} Supported application event types.  Register a listener
+     *     for a particular event with the following syntax:
+     * (code)
+     * layer.events.register(type, obj, listener);
+     * (end)
+     *
+     * Listeners will be called with a reference to an event object.  The
+     *     properties of this event depends on exactly what happened.
+     *
+     * All event objects have at least the following properties:
+     *  - *object* {Object} A reference to layer.events.object.
+     *  - *element* {DOMElement} A reference to layer.events.element.
+     *
+     * Supported map event types (in addition to those from <OpenLayers.Layer>):
+     *  - *beforefeatureadded* Triggered before a feature is added.  Listeners
+     *      will receive an object with a *feature* property referencing the
+     *      feature to be added.
+     *  - *featureadded* Triggered after a feature is added.  The event
+     *      object passed to listeners will have a *feature* property with a
+     *      reference to the added feature.
+     *  - *featuresadded* Triggered after features are added.  The event
+     *      object passed to listeners will have a *features* property with a
+     *      reference to an array of added features.
+     *  - *featureselected* Triggered after a feature is selected.  Listeners
+     *      will receive an object with a *feature* property referencing the
+     *      selected feature.
+     *  - *featureunselected* Triggered after a feature is unselected.
+     *      Listeners will receive an object with a *feature* property
+     *      referencing the unselected feature.
+     *  - *beforefeaturemodified* Triggered when a feature is selected to 
+     *      be modified.  Listeners will receive an object with a *feature* 
+     *      property referencing the selected feature.
+     *  - *featuremodified* Triggered when a feature has been modified.
+     *      Listeners will receive an object with a *feature* property referencing 
+     *      the modified feature.
+     *  - *afterfeaturemodified* Triggered when a feature is finished being modified.
+     *      Listeners will receive an object with a *feature* property referencing 
+     *      the modified feature.
+     */
+    EVENT_TYPES: ["beforefeatureadded", "featureadded",
+                  "featuresadded", "featureselected", "featureunselected", 
+                  "beforefeaturemodified", "featuremodified", "afterfeaturemodified"],
+
+    /**
+     * APIProperty: isBaseLayer
+     * {Boolean} The layer is a base layer.  Default is true.  Set this property
+     * in the layer options
+     */
+    isBaseLayer: false,
+
+    /** 
+     * APIProperty: isFixed
+     * {Boolean} Whether the layer remains in one place while dragging the
+     * map.
+     */
+    isFixed: false,
+
+    /** 
+     * APIProperty: isVector
+     * {Boolean} Whether the layer is a vector layer.
+     */
+    isVector: true,
+
+    /** 
+     * APIProperty: features
+     * Array({<OpenLayers.Feature.Vector>}) 
+     */
+    features: null,
+    
+    /** 
+     * Property: selectedFeatures
+     * Array({<OpenLayers.Feature.Vector>}) 
+     */
+    selectedFeatures: null,
+
+    /**
+     * APIProperty: reportError
+     * {Boolean} report error message via alert() when loading of renderers
+     * fails.
+     */
+    reportError: true, 
+
+    /** 
+     * APIProperty: style
+     * {Object} Default style for the layer
+     */
+    style: null,
+    
+    /**
+     * Property: styleMap
+     * {<OpenLayers.StyleMap>}
+     */
+    styleMap: null,
+
+    /**
+     * Property: renderers
+     * Array({String}) List of supported Renderer classes. Add to this list to
+     * add support for additional renderers. This list is ordered:
+     * the first renderer which returns true for the  'supported()'
+     * method will be used, if not defined in the 'renderer' option.
+     */
+    renderers: ['SVG', 'VML'],
+    
+    /** 
+     * Property: renderer
+     * {<OpenLayers.Renderer>}
+     */
+    renderer: null,
+   
+    /** 
+     * APIProperty: geometryType
+     * {String} geometryType allows you to limit the types of geometries this
+     * layer supports. This should be set to something like
+     * "OpenLayers.Geometry.Point" to limit types.
+     */
+    geometryType: null,
+
+    /** 
+     * Property: drawn
+     * {Boolean} Whether the Vector Layer features have been drawn yet.
+     */
+    drawn: false,
+
+    /**
+     * Constructor: OpenLayers.Layer.Vector
+     * Create a new vector layer
+     *
+     * Parameters:
+     * name - {String} A name for the layer
+     * options - {Object} options Object with non-default properties to set on
+     *           the layer.
+     *
+     * Returns:
+     * {<OpenLayers.Layer.Vector>} A new vector layer
+     */
+    initialize: function(name, options) {
+        
+        // concatenate events specific to vector with those from the base
+        this.EVENT_TYPES =
+            OpenLayers.Layer.Vector.prototype.EVENT_TYPES.concat(
+            OpenLayers.Layer.prototype.EVENT_TYPES
+        );
+
+        OpenLayers.Layer.prototype.initialize.apply(this, arguments);
+
+        // allow user-set renderer, otherwise assign one
+        if (!this.renderer || !this.renderer.supported()) {  
+            this.assignRenderer();
+        }
+
+        // if no valid renderer found, display error
+        if (!this.renderer || !this.renderer.supported()) {
+            this.renderer = null;
+            this.displayError();
+        } 
+
+        if (!this.styleMap) {
+            this.styleMap = new OpenLayers.StyleMap();
+        }
+
+        this.features = [];
+        this.selectedFeatures = [];
+    },
+
+    /**
+     * APIMethod: destroy
+     * Destroy this layer
+     */
+    destroy: function() {
+        OpenLayers.Layer.prototype.destroy.apply(this, arguments);  
+
+        this.destroyFeatures();
+        this.features = null;
+        this.selectedFeatures = null;
+        if (this.renderer) {
+            this.renderer.destroy();
+        }
+        this.renderer = null;
+        this.geometryType = null;
+        this.drawn = null;
+    },
+
+    /** 
+     * Method: assignRenderer
+     * Iterates through the available renderer implementations and selects 
+     * and assigns the first one whose "supported()" function returns true.
+     */    
+    assignRenderer: function()  {
+        for (var i = 0; i < this.renderers.length; i++) {
+            var rendererClass = OpenLayers.Renderer[this.renderers[i]];
+            if (rendererClass && rendererClass.prototype.supported()) {
+               this.renderer = new rendererClass(this.div);
+               break;
+            }  
+        }  
+    },
+
+    /** 
+     * Method: displayError 
+     * Let the user know their browser isn't supported.
+     */
+    displayError: function() {
+        if (this.reportError) {
+            alert(OpenLayers.i18n("browserNotSupported", 
+                                     {'renderers':this.renderers.join("\n")}));
+        }    
+    },
+
+    /** 
+     * Method: setMap
+     * The layer has been added to the map. 
+     * 
+     * If there is no renderer set, the layer can't be used. Remove it.
+     * Otherwise, give the renderer a reference to the map and set its size.
+     * 
+     * Parameters:
+     * map - {<OpenLayers.Map>} 
+     */
+    setMap: function(map) {        
+        OpenLayers.Layer.prototype.setMap.apply(this, arguments);
+
+        if (!this.renderer) {
+            this.map.removeLayer(this);
+        } else {
+            this.renderer.map = this.map;
+            this.renderer.setSize(this.map.getSize());
+        }
+    },
+    
+    /**
+     * Method: onMapResize
+     * Notify the renderer of the change in size. 
+     * 
+     */
+    onMapResize: function() {
+        OpenLayers.Layer.prototype.onMapResize.apply(this, arguments);
+        this.renderer.setSize(this.map.getSize());
+    },
+
+    /**
+     * Method: moveTo
+     *  Reset the vector layer's div so that it once again is lined up with 
+     *   the map. Notify the renderer of the change of extent, and in the
+     *   case of a change of zoom level (resolution), have the 
+     *   renderer redraw features.
+     * 
+     *  If the layer has not yet been drawn, cycle through the layer's 
+     *   features and draw each one.
+     * 
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>} 
+     * zoomChanged - {Boolean} 
+     * dragging - {Boolean} 
+     */
+    moveTo: function(bounds, zoomChanged, dragging) {
+        OpenLayers.Layer.prototype.moveTo.apply(this, arguments);
+
+        if (!dragging) {
+            this.renderer.root.style.visibility = "hidden";
+            // force a reflow on gecko based browsers to actually hide the svg
+            if (navigator.userAgent.toLowerCase().indexOf("gecko") != -1) {
+                this.div.scrollLeft = this.div.scrollLeft;
+            }
+            
+            this.div.style.left = -parseInt(this.map.layerContainerDiv.style.left) + "px";
+            this.div.style.top = -parseInt(this.map.layerContainerDiv.style.top) + "px";
+            var extent = this.map.getExtent();
+            this.renderer.setExtent(extent);
+            
+            this.renderer.root.style.visibility = "visible";
+        }
+        
+        if (!this.drawn || zoomChanged) {
+            this.drawn = true;
+            for(var i = 0; i < this.features.length; i++) {
+                var feature = this.features[i];
+                this.drawFeature(feature);
+            }
+        }    
+    },
+
+    /**
+     * APIMethod: addFeatures
+     * Add Features to the layer.
+     *
+     * Parameters:
+     * features - {Array(<OpenLayers.Feature.Vector>)} 
+     * options - {Object}
+     */
+    addFeatures: function(features, options) {
+        if (!(features instanceof Array)) {
+            features = [features];
+        }
+        
+        var notify = !options || !options.silent;
+
+        for (var i = 0; i < features.length; i++) {
+            var feature = features[i];
+            
+            if (this.geometryType &&
+              !(feature.geometry instanceof this.geometryType)) {
+                var throwStr = OpenLayers.i18n('componentShouldBe',
+                          {'geomType':this.geometryType.prototype.CLASS_NAME});
+                throw throwStr;
+              }
+
+            this.features.push(feature);
+            
+            //give feature reference to its layer
+            feature.layer = this;
+
+            if (!feature.style && this.style) {
+                feature.style = OpenLayers.Util.extend({}, this.style);
+            }
+
+            if (notify) {
+                this.events.triggerEvent("beforefeatureadded", {
+                    feature: feature
+                });
+                this.preFeatureInsert(feature);
+            }
+
+            if (this.drawn) {
+                this.drawFeature(feature);
+            }
+            
+            if (notify) {
+                this.events.triggerEvent("featureadded", {
+                    feature: feature
+                });
+                this.onFeatureInsert(feature);
+            }
+        }
+        
+        if(notify) {
+            this.events.triggerEvent("featuresadded", {features: features});
+        }
+    },
+
+
+    /**
+     * APIMethod: removeFeatures
+     * 
+     * Parameters:
+     * features - {Array(<OpenLayers.Feature.Vector>)} 
+     */
+    removeFeatures: function(features) {
+        if (!(features instanceof Array)) {
+            features = [features];
+        }
+
+        for (var i = features.length - 1; i >= 0; i--) {
+            var feature = features[i];
+            this.features = OpenLayers.Util.removeItem(this.features, feature);
+
+            if (feature.geometry) {
+                this.renderer.eraseGeometry(feature.geometry);
+            }
+                    
+            //in the case that this feature is one of the selected features, 
+            // remove it from that array as well.
+            if (OpenLayers.Util.indexOf(this.selectedFeatures, feature) != -1){
+                OpenLayers.Util.removeItem(this.selectedFeatures, feature);
+            }
+        }
+    },
+
+    /**
+     * APIMethod: destroyFeatures
+     * Erase and destroy features on the layer.
+     *
+     * Parameters:
+     * features - {Array(<OpenLayers.Feature.Vector>)} An optional array of
+     *     features to destroy.  If not supplied, all features on the layer
+     *     will be destroyed.
+     */
+    destroyFeatures: function(features) {
+        var all = (features == undefined);
+        if(all) {
+            features = this.features;
+            this.selectedFeatures = [];
+        }
+        this.eraseFeatures(features);
+        var feature;
+        for(var i=features.length-1; i>=0; i--) {
+            feature = features[i];
+            if(!all) {
+                OpenLayers.Util.removeItem(this.selectedFeatures, feature);
+            }
+            feature.destroy();
+        }
+    },
+
+    /**
+     * APIMethod: drawFeature
+     * Draw (or redraw) a feature on the layer.  If the optional style argument
+     * is included, this style will be used.  If no style is included, the
+     * feature's style will be used.  If the feature doesn't have a style,
+     * the layer's style will be used.
+     * 
+     * Parameters: 
+     * feature - {<OpenLayers.Feature.Vector>} 
+     * style - {Object} Symbolizer hash or {String} renderIntent
+     */
+    drawFeature: function(feature, style) {
+        if (typeof style != "object") {
+            var renderIntent = typeof style == "string" ?
+                style : feature.renderIntent;
+            style = feature.style || this.style;
+            if (!style) {
+                style = this.styleMap.createSymbolizer(feature, renderIntent);
+            }
+        }
+        
+        this.renderer.drawFeature(feature, style);
+    },
+    
+    /**
+     * Method: eraseFeatures
+     * Erase features from the layer.
+     *
+     * Parameters:
+     * features - {Array(<OpenLayers.Feature.Vector>)} 
+     */
+    eraseFeatures: function(features) {
+        this.renderer.eraseFeatures(features);
+    },
+
+    /**
+     * Method: getFeatureFromEvent
+     * Given an event, return a feature if the event occurred over one.
+     * Otherwise, return null.
+     *
+     * Parameters:
+     * evt - {Event} 
+     *
+     * Returns:
+     * {<OpenLayers.Feature.Vector>} A feature if one was under the event.
+     */
+    getFeatureFromEvent: function(evt) {
+        if (!this.renderer) {
+            OpenLayers.Console.error(OpenLayers.i18n("getFeatureError")); 
+            return null;
+        }    
+        var featureId = this.renderer.getFeatureIdFromEvent(evt);
+        return this.getFeatureById(featureId);
+    },
+    
+    /**
+     * APIMethod: getFeatureById
+     * Given a feature id, return the feature if it exists in the features array
+     *
+     * Parameters:
+     * featureId - {String} 
+     *
+     * Returns:
+     * {<OpenLayers.Feature.Vector>} A feature corresponding to the given
+     * featureId
+     */
+    getFeatureById: function(featureId) {
+        //TBD - would it be more efficient to use a hash for this.features?
+        var feature = null;
+        for(var i=0; i<this.features.length; ++i) {
+            if(this.features[i].id == featureId) {
+                feature = this.features[i];
+                break;
+            }
+        }
+        return feature;
+    },
+    
+    /**
+     * Unselect the selected features
+     * i.e. clears the featureSelection array
+     * change the style back
+    clearSelection: function() {
+
+       var vectorLayer = this.map.vectorLayer;
+        for (var i = 0; i < this.map.featureSelection.length; i++) {
+            var featureSelection = this.map.featureSelection[i];
+            vectorLayer.drawFeature(featureSelection, vectorLayer.style);
+        }
+        this.map.featureSelection = [];
+    },
+     */
+
+
+    /**
+     * APIMethod: onFeatureInsert
+     * method called after a feature is inserted.
+     * Does nothing by default. Override this if you
+     * need to do something on feature updates.
+     *
+     * Paarameters: 
+     * feature - {<OpenLayers.Feature.Vector>} 
+     */
+    onFeatureInsert: function(feature) {
+    },
+    
+    /**
+     * APIMethod: preFeatureInsert
+     * method called before a feature is inserted.
+     * Does nothing by default. Override this if you
+     * need to do something when features are first added to the
+     * layer, but before they are drawn, such as adjust the style.
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>} 
+     */
+    preFeatureInsert: function(feature) {
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.Vector"
+});
+/* ======================================================================
+    OpenLayers/Layer/WMS/Untiled.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+ 
+/**
+ * @requires OpenLayers/Layer/WMS.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.WMS.Untiled
+ * Deprecated, to be removed in 3.0 - instead use OpenLayers.Layer.WMS and 
+ *     pass the option 'singleTile' as true.
+ * 
+ * Inherits from: 
+ *  - <OpenLayers.Layer.WMS>
+ */
+OpenLayers.Layer.WMS.Untiled = OpenLayers.Class(OpenLayers.Layer.WMS, {
+
+    /**
+     * APIProperty: singleTile
+     * {singleTile} Always true for untiled.
+     */
+    singleTile: true,
+
+    /**
+     * Constructor: OpenLayers.Layer.WMS.Untiled
+     *
+     * Parameters:
+     * name - {String} 
+     * url - {String} 
+     * params - {Object} 
+     * options - {Object} 
+     */
+    initialize: function(name, url, params, options) {
+        OpenLayers.Layer.WMS.prototype.initialize.apply(this, arguments);
+        
+        var msg = "The OpenLayers.Layer.WMS.Untiled class is deprecated and " +
+                  "will be removed in 3.0. Instead, you should use the " +
+                  "normal OpenLayers.Layer.WMS class, passing it the option " +
+                  "'singleTile' as true.";
+        OpenLayers.Console.warn(msg);
+    },    
+
+    /**
+     * Method: clone
+     * Create a clone of this layer
+     *
+     * Returns:
+     * {<OpenLayers.Layer.WMS.Untiled>} An exact clone of this layer
+     */
+    clone: function (obj) {
+        
+        if (obj == null) {
+            obj = new OpenLayers.Layer.WMS.Untiled(this.name,
+                                                   this.url,
+                                                   this.params,
+                                                   this.options);
+        }
+
+        //get all additions from superclasses
+        obj = OpenLayers.Layer.WMS.prototype.clone.apply(this, [obj]);
+
+        // copy/set any non-init, non-simple values here
+
+        return obj;
+    }, 
+
+    CLASS_NAME: "OpenLayers.Layer.WMS.Untiled"
+});
+/* ======================================================================
+    OpenLayers/Rule/Comparison.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+  * full text of the license. */
+
+/**
+ * @requires OpenLayers/Rule.js
+ */
+
+/**
+ * Class: OpenLayers.Rule.Comparison
+ * This class represents the comparison rules, as being used for rule-based 
+ * SLD styling
+ * 
+ * Inherits from
+ * - <OpenLayers.Rule>
+ */
+OpenLayers.Rule.Comparison = OpenLayers.Class(OpenLayers.Rule, {
+
+    /**
+     * APIProperty: type
+     * {String} type: type of the comparison. This is one of
+     * - OpenLayers.Rule.Comparison.EQUAL_TO                 = "==";
+     * - OpenLayers.Rule.Comparison.NOT_EQUAL_TO             = "!=";
+     * - OpenLayers.Rule.Comparison.LESS_THAN                = "<";
+     * - OpenLayers.Rule.Comparison.GREATER_THAN             = ">";
+     * - OpenLayers.Rule.Comparison.LESS_THAN_OR_EQUAL_TO    = "<=";
+     * - OpenLayers.Rule.Comparison.GREATER_THAN_OR_EQUAL_TO = ">=";
+     * - OpenLayers.Rule.Comparison.BETWEEN                  = "..";
+     * - OpenLayers.Rule.Comparison.LIKE                     = "~"; 
+     */
+    type: null,
+    
+    /**
+     * APIProperty: property
+     * {String}
+     * name of the context property to compare
+     */
+    property: null,
+    
+    /**
+     * APIProperty: value
+     * {Number} or {String}
+     * comparison value for binary comparisons. In the case of a String, this
+     * can be a combination of text and propertyNames in the form
+     * "literal ${propertyName}"
+     */
+    value: null,
+    
+    /**
+     * APIProperty: lowerBoundary
+     * {Number} or {String}
+     * lower boundary for between comparisons. In the case of a String, this
+     * can be a combination of text and propertyNames in the form
+     * "literal ${propertyName}"
+     */
+    lowerBoundary: null,
+    
+    /**
+     * APIProperty: upperBoundary
+     * {Number} or {String}
+     * upper boundary for between comparisons. In the case of a String, this
+     * can be a combination of text and propertyNames in the form
+     * "literal ${propertyName}"
+     */
+    upperBoundary: null,
+
+    /** 
+     * Constructor: OpenLayers.Rule.Comparison
+     * Creates a comparison rule.
+     *
+     * Parameters:
+     * params  - {Object} Hash of parameters for this rule:
+     *              - 
+     *              - value: 
+     * options - {Object} An optional object with properties to set on the
+     *           rule
+     * 
+     * Returns:
+     * {<OpenLayers.Rule.Comparison>}
+     */
+    initialize: function(options) {
+        OpenLayers.Rule.prototype.initialize.apply(this, [options]);
+    },
+
+    /**
+     * APIMethod: evaluate
+     * evaluates this rule for a specific context
+     * 
+     * Parameters:
+     * context - {Object} context to apply the rule to.
+     * 
+     * Returns:
+     * {boolean} true if the rule applies, false if it does not
+     */
+    evaluate: function(feature) {
+        if (!OpenLayers.Rule.prototype.evaluate.apply(this, arguments)) {
+            return false;
+        }
+        var context = this.getContext(feature);
+        switch(this.type) {
+            case OpenLayers.Rule.Comparison.EQUAL_TO:
+            case OpenLayers.Rule.Comparison.LESS_THAN:
+            case OpenLayers.Rule.Comparison.GREATER_THAN:
+            case OpenLayers.Rule.Comparison.LESS_THAN_OR_EQUAL_TO:
+            case OpenLayers.Rule.Comparison.GREATER_THAN_OR_EQUAL_TO:
+                return this.binaryCompare(context, this.property, this.value);
+            
+            case OpenLayers.Rule.Comparison.BETWEEN:
+                var result =
+                        context[this.property] >= this.lowerBoundary;
+                result = result &&
+                        context[this.property] <= this.upperBoundary;
+                return result;
+            case OpenLayers.Rule.Comparison.LIKE:
+                var regexp = new RegExp(this.value,
+                                "gi");
+                return regexp.test(context[this.property]); 
+        }
+    },
+    
+    /**
+     * APIMethod: value2regex
+     * Converts the value of this rule into a regular expression string,
+     * according to the wildcard characters specified. This method has to
+     * be called after instantiation of this class, if the value is not a
+     * regular expression already.
+     * 
+     * Parameters:
+     * wildCard   - {<Char>} wildcard character in the above value, default
+     *              is "*"
+     * singleChar - {<Char>) single-character wildcard in the above value
+     *              default is "."
+     * escape     - {<Char>) escape character in the above value, default is
+     *              "!"
+     * 
+     * Returns:
+     * {String} regular expression string
+     */
+    value2regex: function(wildCard, singleChar, escapeChar) {
+        if (wildCard == ".") {
+            var msg = "'.' is an unsupported wildCard character for "+
+                    "OpenLayers.Rule.Comparison";
+            OpenLayers.Console.error(msg);
+            return null;
+        }
+        
+        // set UMN MapServer defaults for unspecified parameters
+        wildCard = wildCard ? wildCard : "*";
+        singleChar = singleChar ? singleChar : ".";
+        escapeChar = escapeChar ? escapeChar : "!";
+        
+        this.value = this.value.replace(
+                new RegExp("\\"+escapeChar, "g"), "\\");
+        this.value = this.value.replace(
+                new RegExp("\\"+singleChar, "g"), ".");
+        this.value = this.value.replace(
+                new RegExp("\\"+wildCard, "g"), ".*");
+        this.value = this.value.replace(
+                new RegExp("\\\\.\\*", "g"), "\\"+wildCard);
+        this.value = this.value.replace(
+                new RegExp("\\\\\\.", "g"), "\\"+singleChar);
+        
+        return this.value;
+    },
+    
+    /**
+     * Method: regex2value
+     * Convert the value of this rule from a regular expression string into an
+     *     ogc literal string using a wildCard of *, a singleChar of ., and an
+     *     escape of !.  Leaves the <value> property unmodified.
+     * 
+     * Returns:
+     * {String} A string value.
+     */
+    regex2value: function() {
+        
+        var value = this.value;
+        
+        // replace ! with !!
+        value = value.replace(/!/g, "!!");
+
+        // replace \. with !. (watching out for \\.)
+        value = value.replace(/(\\)?\\\./g, function($0, $1) {
+            return $1 ? $0 : "!.";
+        });
+        
+        // replace \* with #* (watching out for \\*)
+        value = value.replace(/(\\)?\\\*/g, function($0, $1) {
+            return $1 ? $0 : "!*";
+        });
+        
+        // replace \\ with \
+        value = value.replace(/\\\\/g, "\\");
+
+        // convert .* to * (the sequence #.* is not allowed)
+        value = value.replace(/\.\*/g, "*");
+        
+        return value;
+    },
+
+    /**
+     * Function: binaryCompare
+     * Compares a feature property to a rule value
+     * 
+     * Parameters:
+     * context  - {Object}
+     * property - {String} or {Number}
+     * value    - {String} or {Number}, same as property
+     * 
+     * Returns:
+     * {boolean}
+     */
+    binaryCompare: function(context, property, value) {
+        switch (this.type) {
+            case OpenLayers.Rule.Comparison.EQUAL_TO:
+                return context[property] == value;
+            case OpenLayers.Rule.Comparison.NOT_EQUAL_TO:
+                return context[property] != value;
+            case OpenLayers.Rule.Comparison.LESS_THAN:
+                return context[property] < value;
+            case OpenLayers.Rule.Comparison.GREATER_THAN:
+                return context[property] > value;
+            case OpenLayers.Rule.Comparison.LESS_THAN_OR_EQUAL_TO:
+                return context[property] <= value;
+            case OpenLayers.Rule.Comparison.GREATER_THAN_OR_EQUAL_TO:
+                return context[property] >= value;
+        }      
+    },
+    
+    CLASS_NAME: "OpenLayers.Rule.Comparison"
+});
+
+
+OpenLayers.Rule.Comparison.EQUAL_TO                 = "==";
+OpenLayers.Rule.Comparison.NOT_EQUAL_TO             = "!=";
+OpenLayers.Rule.Comparison.LESS_THAN                = "<";
+OpenLayers.Rule.Comparison.GREATER_THAN             = ">";
+OpenLayers.Rule.Comparison.LESS_THAN_OR_EQUAL_TO    = "<=";
+OpenLayers.Rule.Comparison.GREATER_THAN_OR_EQUAL_TO = ">=";
+OpenLayers.Rule.Comparison.BETWEEN                  = "..";
+OpenLayers.Rule.Comparison.LIKE                     = "~";
+/* ======================================================================
+    OpenLayers/Rule/FeatureId.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+  * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Rule.js
+ */
+
+/**
+ * Class: OpenLayers.Rule.FeatureId
+ * This class represents a ogc:FeatureId Rule, as being used for rule-based SLD
+ * styling
+ * 
+ * Inherits from
+ * - <OpenLayers.Rule>
+ */
+OpenLayers.Rule.FeatureId = OpenLayers.Class(OpenLayers.Rule, {
+
+    /** 
+     * APIProperty: fids
+     * {Array(<String>)} Feature Ids to evaluate this rule against. To be passed
+     * To be passed inside the params object.
+     */
+    fids: null,
+    
+    /** 
+     * Constructor: OpenLayers.Rule.FeatureId
+     * Creates an ogc:FeatureId rule.
+     *
+     * Parameters:
+     * options - {Object} An optional object with properties to set on the
+     *           rule
+     * 
+     * Returns:
+     * {<OpenLayers.Rule.FeatureId>}
+     */
+    initialize: function(options) {
+        this.fids = [];
+        OpenLayers.Rule.prototype.initialize.apply(this, [options]);
+    },
+
+    /**
+     * APIMethod: evaluate
+     * evaluates this rule for a specific feature
+     * 
+     * Parameters:
+     * feature - {<OpenLayers.Feature>} feature to apply the rule to.
+     *           For vector features, the check is run against the fid,
+     *           for plain features against the id.
+     * 
+     * Returns:
+     * {boolean} true if the rule applies, false if it does not
+     */
+    evaluate: function(feature) {
+        if (!OpenLayers.Rule.prototype.evaluate.apply(this, arguments)) {
+            return false;
+        }
+        for (var i=0; i<this.fids.length; i++) {
+            var fid = feature.fid || feature.id;
+            if (fid == this.fids[i]) {
+                return true;
+            }
+        }
+        return false;
+    },
+    
+    CLASS_NAME: "OpenLayers.Rule.FeatureId"
+});
+/* ======================================================================
+    OpenLayers/Rule/Logical.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+  * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Rule.js
+ */
+
+/**
+ * Class: OpenLayers.Rule.Logical
+ * This class represents ogc:And, ogc:Or and ogc:Not rules.
+ * 
+ * Inherits from
+ * - <OpenLayers.Rule>
+ */
+OpenLayers.Rule.Logical = OpenLayers.Class(OpenLayers.Rule, {
+
+    /**
+     * APIProperty: children
+     * {Array(<OpenLayers.Rule>)} child rules for this rule
+     */
+    rules: null, 
+     
+    /**
+     * APIProperty: type
+     * {String} type of logical operator. Available types are:
+     * - OpenLayers.Rule.Locical.AND = "&&";
+     * - OpenLayers.Rule.Logical.OR  = "||";
+     * - OpenLayers.Rule.Logical.NOT = "!";
+     */
+    type: null,
+
+    /** 
+     * Constructor: OpenLayers.Rule.Logical
+     * Creates a logical rule (And, Or, Not).
+     *
+     * Parameters:
+     * options - {Object} An optional object with properties to set on the
+     *           rule
+     * 
+     * Returns:
+     * {<OpenLayers.Rule.Logical>}
+     */
+    initialize: function(options) {
+        this.rules = [];
+        OpenLayers.Rule.prototype.initialize.apply(this, [options]);
+    },
+    
+    /** 
+     * APIMethod: destroy
+     * nullify references to prevent circular references and memory leaks
+     */
+    destroy: function() {
+        for (var i=0; i<this.rules.length; i++) {
+            this.rules[i].destroy();
+        }
+        this.rules = null;
+        OpenLayers.Rule.prototype.destroy.apply(this, arguments);
+    },
+
+    /**
+     * APIMethod: evaluate
+     * evaluates this rule for a specific feature
+     * 
+     * Parameters:
+     * feature - {<OpenLayers.Feature>} feature to apply the rule to.
+     * 
+     * Returns:
+     * {boolean} true if the rule applies, false if it does not
+     */
+    evaluate: function(feature) {
+        if (!OpenLayers.Rule.prototype.evaluate.apply(this, arguments)) {
+            return false;
+        }
+        switch(this.type) {
+            case OpenLayers.Rule.Logical.AND:
+                for (var i=0; i<this.rules.length; i++) {
+                    if (this.rules[i].evaluate(feature) == false) {
+                        return false;
+                    }
+                }
+                return true;
+                
+            case OpenLayers.Rule.Logical.OR:
+                for (var i=0; i<this.rules.length; i++) {
+                    if (this.rules[i].evaluate(feature) == true) {
+                        return true;
+                    }
+                }
+                return false;
+            
+            case OpenLayers.Rule.Logical.NOT:
+                return (!this.rules[0].evaluate(feature));
+        }
+    },
+    
+    CLASS_NAME: "OpenLayers.Rule.Logical"
+});
+
+
+OpenLayers.Rule.Logical.AND = "&&";
+OpenLayers.Rule.Logical.OR  = "||";
+OpenLayers.Rule.Logical.NOT = "!";
+/* ======================================================================
+    OpenLayers/Format/SLD.js
+   ====================================================================== */
+
+/* Copyright (c) 2006 MetaCarta, Inc., published under a modified BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt 
+ * for the full text of the license. */
+
+/**
+ * @requires OpenLayers/Format/XML.js
+ * @requires OpenLayers/Style.js
+ * @requires OpenLayers/Rule/FeatureId.js
+ * @requires OpenLayers/Rule/Logical.js
+ * @requires OpenLayers/Rule/Comparison.js
+ */
+
+/**
+ * Class: OpenLayers.Format.SLD
+ * Read/Wite SLD. Create a new instance with the <OpenLayers.Format.SLD>
+ *     constructor.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Format.XML>
+ */
+OpenLayers.Format.SLD = OpenLayers.Class(OpenLayers.Format.XML, {
+    
+    /**
+     * APIProperty: defaultVersion
+     * {String} Version number to assume if none found.  Default is "1.0.0".
+     */
+    defaultVersion: "1.0.0",
+    
+    /**
+     * APIProperty: version
+     * {String} Specify a version string if one is known.
+     */
+    version: null,
+    
+    /**
+     * Property: parser
+     * {Object} Instance of the versioned parser.  Cached for multiple read and
+     *     write calls of the same version.
+     */
+    parser: null,
+
+    /**
+     * Constructor: OpenLayers.Format.SLD
+     * Create a new parser for SLD.
+     *
+     * Parameters:
+     * options - {Object} An optional object whose properties will be set on
+     *     this instance.
+     */
+    initialize: function(options) {
+        OpenLayers.Format.XML.prototype.initialize.apply(this, [options]);
+    },
+
+    /**
+     * APIMethod: write
+     * Write a SLD document given a list of styles.
+     *
+     * Parameters:
+     * sld - {Object} An object representing the SLD.
+     * options - {Object} Optional configuration object.
+     *
+     * Returns:
+     * {String} An SLD document string.
+     */
+    write: function(sld, options) {
+        var version = (options && options.version) ||
+                      this.version || this.defaultVersion;
+        if(!this.parser || this.parser.VERSION != version) {
+            var format = OpenLayers.Format.SLD[
+                "v" + version.replace(/\./g, "_")
+            ];
+            if(!format) {
+                throw "Can't find a SLD parser for version " +
+                      version;
+            }
+            this.parser = new format(this.options);
+        }
+        var root = this.parser.write(sld);
+        return OpenLayers.Format.XML.prototype.write.apply(this, [root]);
+    },
+    
+    /**
+     * APIMethod: read
+     * Read and SLD doc and return an object representing the SLD.
+     *
+     * Parameters:
+     * data - {String | DOMElement} Data to read.
+     *
+     * Returns:
+     * {Object} An object representing the SLD.
+     */
+    read: function(data) {
+        if(typeof data == "string") {
+            data = OpenLayers.Format.XML.prototype.read.apply(this, [data]);
+        }
+        var root = data.documentElement;
+        var version = this.version;
+        if(!version) {
+            version = root.getAttribute("version");
+            if(!version) {
+                version = this.defaultVersion;
+            }
+        }
+        if(!this.parser || this.parser.VERSION != version) {
+            var format = OpenLayers.Format.SLD[
+                "v" + version.replace(/\./g, "_")
+            ];
+            if(!format) {
+                throw "Can't find a SLD parser for version " +
+                      version;
+            }
+            this.parser = new format(this.options);
+        }
+        var sld = this.parser.read(data);
+        return sld;
+    },
+
+    CLASS_NAME: "OpenLayers.Format.SLD" 
+});
+/* ======================================================================
+    OpenLayers/Format/Text.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under a modified BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt 
+ * for the full text of the license. */
+
+/**
+ * @requires OpenLayers/Feature/Vector.js
+ * @requires OpenLayers/Geometry/Point.js
+ */
+
+/**
+ * Class: OpenLayers.Format.Text
+ * Read Text format. Create a new instance with the <OpenLayers.Format.Text>
+ *     constructor. This reads text which is formatted like CSV text, using
+ *     tabs as the seperator by default. It provides parsing of data originally
+ *     used in the MapViewerService, described on the wiki. This Format is used
+ *     by the <OpenLayers.Layer.Text> class.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Format>
+ */
+OpenLayers.Format.Text = OpenLayers.Class(OpenLayers.Format, {
+    
+    /**
+     * Constructor: OpenLayers.Format.Text
+     * Create a new parser for TSV Text.
+     *
+     * Parameters:
+     * options - {Object} An optional object whose properties will be set on
+     *     this instance.
+     */
+    initialize: function(options) {
+        OpenLayers.Format.prototype.initialize.apply(this, [options]);
+    }, 
+
+    /**
+     * APIMethod: read
+     * Return a list of features from a Tab Seperated Values text string.
+     * 
+     * Parameters:
+     * data - {String} 
+     *
+     * Returns:
+     * An Array of <OpenLayers.Feature.Vector>s
+     */
+    read: function(text) {
+        var lines = text.split('\n');
+        var columns;
+        var features = [];
+        // length - 1 to allow for trailing new line
+        for (var lcv = 0; lcv < (lines.length - 1); lcv++) {
+            var currLine = lines[lcv].replace(/^\s*/,'').replace(/\s*$/,'');
+        
+            if (currLine.charAt(0) != '#') { /* not a comment */
+            
+                if (!columns) {
+                    //First line is columns
+                    columns = currLine.split('\t');
+                } else {
+                    var vals = currLine.split('\t');
+                    var geometry = new OpenLayers.Geometry.Point(0,0);
+                    var attributes = {};
+                    var style = {};
+                    var icon, iconSize, iconOffset, overflow;
+                    var set = false;
+                    for (var valIndex = 0; valIndex < vals.length; valIndex++) {
+                        if (vals[valIndex]) {
+                            if (columns[valIndex] == 'point') {
+                                var coords = vals[valIndex].split(',');
+                                geometry.y = parseFloat(coords[0]);
+                                geometry.x = parseFloat(coords[1]);
+                                set = true;
+                            } else if (columns[valIndex] == 'lat') {
+                                geometry.y = parseFloat(vals[valIndex]);
+                                set = true;
+                            } else if (columns[valIndex] == 'lon') {
+                                geometry.x = parseFloat(vals[valIndex]);
+                                set = true;
+                            } else if (columns[valIndex] == 'title')
+                                attributes['title'] = vals[valIndex];
+                            else if (columns[valIndex] == 'image' ||
+                                     columns[valIndex] == 'icon')
+                                style['externalGraphic'] = vals[valIndex];
+                            else if (columns[valIndex] == 'iconSize') {
+                                var size = vals[valIndex].split(',');
+                                style['graphicWidth'] = parseFloat(size[0]);
+                                style['graphicHeight'] = parseFloat(size[1]);
+                            } else if (columns[valIndex] == 'iconOffset') {
+                                var offset = vals[valIndex].split(',');
+                                style['graphicXOffset'] = parseFloat(offset[0]);
+                                style['graphicYOffset'] = parseFloat(offset[1]);
+                            } else if (columns[valIndex] == 'description') {
+                                attributes['description'] = vals[valIndex];
+                            } else if (columns[valIndex] == 'overflow') {
+                                attributes['overflow'] = vals[valIndex];
+                            }    
+                        }
+                    }
+                    if (set) {
+                      if (this.internalProjection && this.externalProjection) {
+                          geometry.transform(this.externalProjection, 
+                                             this.internalProjection); 
+                      }                       
+                      var feature = new OpenLayers.Feature.Vector(geometry, attributes, style);
+                      features.push(feature);
+                    }
+                }
+            }
+        }
+        return features;
+    },   
+
+    CLASS_NAME: "OpenLayers.Format.Text" 
+});    
+/* ======================================================================
+    OpenLayers/Geometry/MultiLineString.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Geometry/Collection.js
+ */
+
+/**
+ * Class: OpenLayers.Geometry.MultiLineString
+ * A MultiLineString is a geometry with multiple <OpenLayers.Geometry.LineString>
+ * components.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Geometry.Collection>
+ *  - <OpenLayers.Geometry> 
+ */
+OpenLayers.Geometry.MultiLineString = OpenLayers.Class(
+  OpenLayers.Geometry.Collection, {
+
+    /**
+     * Property: componentTypes
+     * {Array(String)} An array of class names representing the types of
+     * components that the collection can include.  A null value means the
+     * component types are not restricted.
+     */
+    componentTypes: ["OpenLayers.Geometry.LineString"],
+
+    /**
+     * Constructor: OpenLayers.Geometry.MultiLineString
+     * Constructor for a MultiLineString Geometry.
+     *
+     * Parameters: 
+     * components - {Array(<OpenLayers.Geometry.LineString>)} 
+     *
+     */
+    initialize: function(components) {
+        OpenLayers.Geometry.Collection.prototype.initialize.apply(this, 
+                                                                  arguments);        
+    },
+
+    CLASS_NAME: "OpenLayers.Geometry.MultiLineString"
+});
+/* ======================================================================
+    OpenLayers/Geometry/MultiPoint.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Geometry/Collection.js
+ */
+
+/**
+ * Class: OpenLayers.Geometry.MultiPoint
+ * MultiPoint is a collection of Points.  Create a new instance with the
+ * <OpenLayers.Geometry.MultiPoint> constructor.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Geometry.Collection>
+ *  - <OpenLayers.Geometry>
+ */
+OpenLayers.Geometry.MultiPoint = OpenLayers.Class(
+  OpenLayers.Geometry.Collection, {
+
+    /**
+     * Property: componentTypes
+     * {Array(String)} An array of class names representing the types of
+     * components that the collection can include.  A null value means the
+     * component types are not restricted.
+     */
+    componentTypes: ["OpenLayers.Geometry.Point"],
+
+    /**
+     * Constructor: OpenLayers.Geometry.MultiPoint
+     * Create a new MultiPoint Geometry
+     *
+     * Parameters:
+     * components - Array({<OpenLayers.Geometry.Point>}) 
+     *
+     * Returns:
+     * {<OpenLayers.Geometry.MultiPoint>}
+     */
+    initialize: function(components) {
+        OpenLayers.Geometry.Collection.prototype.initialize.apply(this, 
+                                                                  arguments);
+    },
+
+    /**
+     * APIMethod: addPoint
+     * Wrapper for <OpenLayers.Geometry.Collection.addComponent>
+     *
+     * Parameters:
+     * point - {<OpenLayers.Geometry.Point>} Point to be added
+     * index - {Integer} Optional index
+     */
+    addPoint: function(point, index) {
+        this.addComponent(point, index);
+    },
+    
+    /**
+     * APIMethod: removePoint
+     * Wrapper for <OpenLayers.Geometry.Collection.removeComponent>
+     *
+     * Parameters:
+     * point - {<OpenLayers.Geometry.Point>} Point to be removed
+     */
+    removePoint: function(point){
+        this.removeComponent(point);
+    },
+
+    CLASS_NAME: "OpenLayers.Geometry.MultiPoint"
+});
+/* ======================================================================
+    OpenLayers/Geometry/MultiPolygon.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Geometry/Collection.js
+ */
+
+/**
+ * Class: OpenLayers.Geometry.MultiPolygon
+ * MultiPolygon is a geometry with multiple <OpenLayers.Geometry.Polygon>
+ * components.  Create a new instance with the <OpenLayers.Geometry.MultiPolygon>
+ * constructor.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Geometry.Collection>
+ */
+OpenLayers.Geometry.MultiPolygon = OpenLayers.Class(
+  OpenLayers.Geometry.Collection, {
+
+    /**
+     * Property: componentTypes
+     * {Array(String)} An array of class names representing the types of
+     * components that the collection can include.  A null value means the
+     * component types are not restricted.
+     */
+    componentTypes: ["OpenLayers.Geometry.Polygon"],
+
+    /**
+     * Constructor: OpenLayers.Geometry.MultiPolygon
+     * Create a new MultiPolygon geometry
+     *
+     * Parameters:
+     * components - {Array(<OpenLayers.Geometry.Polygon>)} An array of polygons
+     *              used to generate the MultiPolygon
+     *
+     */
+    initialize: function(components) {
+        OpenLayers.Geometry.Collection.prototype.initialize.apply(this, 
+                                                                  arguments);
+    },
+
+    CLASS_NAME: "OpenLayers.Geometry.MultiPolygon"
+});
+/* ======================================================================
+    OpenLayers/Geometry/Polygon.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Geometry/Collection.js
+ */
+
+/**
+ * Class: OpenLayers.Geometry.Polygon 
+ * Polygon is a collection of Geometry.LinearRings. 
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Geometry.Collection> 
+ *  - <OpenLayers.Geometry> 
+ */
+OpenLayers.Geometry.Polygon = OpenLayers.Class(
+  OpenLayers.Geometry.Collection, {
+
+    /**
+     * Property: componentTypes
+     * {Array(String)} An array of class names representing the types of
+     * components that the collection can include.  A null value means the
+     * component types are not restricted.
+     */
+    componentTypes: ["OpenLayers.Geometry.LinearRing"],
+
+    /**
+     * Constructor: OpenLayers.Geometry.Polygon
+     * Constructor for a Polygon geometry. 
+     * The first ring (this.component[0])is the outer bounds of the polygon and 
+     * all subsequent rings (this.component[1-n]) are internal holes.
+     *
+     *
+     * Parameters:
+     * components - Array({<OpenLayers.Geometry.LinearRing>}) 
+     */
+    initialize: function(components) {
+        OpenLayers.Geometry.Collection.prototype.initialize.apply(this, 
+                                                                  arguments);
+    },
+    
+    /** 
+     * APIMethod: getArea
+     * Calculated by subtracting the areas of the internal holes from the 
+     *   area of the outer hole.
+     * 
+     * Returns:
+     * {float} The area of the geometry
+     */
+    getArea: function() {
+        var area = 0.0;
+        if ( this.components && (this.components.length > 0)) {
+            area += Math.abs(this.components[0].getArea());
+            for (var i = 1; i < this.components.length; i++) {
+                area -= Math.abs(this.components[i].getArea());
+            }
+        }
+        return area;
+    },
+
+    /**
+     * Method: containsPoint
+     * Test if a point is inside a polygon.  Points on a polygon edge are
+     *     considered inside.
+     *
+     * Parameters:
+     * point - {<OpenLayers.Geometry.Point>}
+     *
+     * Returns:
+     * {Boolean | Number} The point is inside the polygon.  Returns 1 if the
+     *     point is on an edge.  Returns boolean otherwise.
+     */
+    containsPoint: function(point) {
+        var numRings = this.components.length;
+        var contained = false;
+        if(numRings > 0) {
+            // check exterior ring - 1 means on edge, boolean otherwise
+            contained = this.components[0].containsPoint(point);
+            if(contained !== 1) {
+                if(contained && numRings > 1) {
+                    // check interior rings
+                    var hole;
+                    for(var i=1; i<numRings; ++i) {
+                        hole = this.components[i].containsPoint(point);
+                        if(hole) {
+                            if(hole === 1) {
+                                // on edge
+                                contained = 1;
+                            } else {
+                                // in hole
+                                contained = false;
+                            }                            
+                            break;
+                        }
+                    }
+                }
+            }
+        }
+        return contained;
+    },
+
+    /**
+     * APIMethod: intersects
+     * Determine if the input geometry intersects this one.
+     *
+     * Parameters:
+     * geometry - {<OpenLayers.Geometry>} Any type of geometry.
+     *
+     * Returns:
+     * {Boolean} The input geometry intersects this one.
+     */
+    intersects: function(geometry) {
+        var intersect = false;
+        var i;
+        if(geometry.CLASS_NAME == "OpenLayers.Geometry.Point") {
+            intersect = this.containsPoint(geometry);
+        } else if(geometry.CLASS_NAME == "OpenLayers.Geometry.LineString" ||
+                  geometry.CLASS_NAME == "OpenLayers.Geometry.LinearRing") {
+            // check if rings/linestrings intersect
+            for(i=0; i<this.components.length; ++i) {
+                intersect = geometry.intersects(this.components[i]);
+                if(intersect) {
+                    break;
+                }
+            }
+            if(!intersect) {
+                // check if this poly contains points of the ring/linestring
+                for(i=0; i<geometry.components.length; ++i) {
+                    intersect = this.containsPoint(geometry.components[i]);
+                    if(intersect) {
+                        break;
+                    }
+                }
+            }
+        } else {
+            for(i=0; i<geometry.components.length; ++ i) {
+                intersect = this.intersects(geometry.components[i]);
+                if(intersect) {
+                    break;
+                }
+            }
+        }
+        // check case where this poly is wholly contained by another
+        if(!intersect && geometry.CLASS_NAME == "OpenLayers.Geometry.Polygon") {
+            // exterior ring points will be contained in the other geometry
+            var ring = this.components[0];
+            for(i=0; i<ring.components.length; ++i) {
+                intersect = geometry.containsPoint(ring.components[i]);
+                if(intersect) {
+                    break;
+                }
+            }
+        }
+        return intersect;
+    },
+
+    CLASS_NAME: "OpenLayers.Geometry.Polygon"
+});
+
+/**
+ * APIMethod: createRegularPolygon
+ * Create a regular polygon around a radius. Useful for creating circles 
+ * and the like.
+ *
+ * Parameters:
+ * origin - {<OpenLayers.Geometry.Point>} center of polygon.
+ * radius - {Float} distance to vertex, in map units.
+ * sides - {Integer} Number of sides. 20 approximates a circle.
+ * rotation - {Float} original angle of rotation, in degrees.
+ */
+OpenLayers.Geometry.Polygon.createRegularPolygon = function(origin, radius, sides, rotation) {  
+    var angle = Math.PI * ((1/sides) - (1/2));
+    if(rotation) {
+        angle += (rotation / 180) * Math.PI;
+    }
+    var rotatedAngle, x, y;
+    var points = [];
+    for(var i=0; i<sides; ++i) {
+        rotatedAngle = angle + (i * 2 * Math.PI / sides);
+        x = origin.x + (radius * Math.cos(rotatedAngle));
+        y = origin.y + (radius * Math.sin(rotatedAngle));
+        points.push(new OpenLayers.Geometry.Point(x, y));
+    }
+    var ring = new OpenLayers.Geometry.LinearRing(points);
+    return new OpenLayers.Geometry.Polygon([ring]);
+};
+/* ======================================================================
+    OpenLayers/Handler/Point.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Handler.js
+ * @requires OpenLayers/Geometry/Point.js
+ */
+
+/**
+ * Class: OpenLayers.Handler.Point
+ * Handler to draw a point on the map.  Point is displayed on mouse down,
+ * moves on mouse move, and is finished on mouse up.  The handler triggers
+ * callbacks for 'done' and 'cancel'.  Create a new instance with the
+ * <OpenLayers.Handler.Point> constructor.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Handler>
+ */
+OpenLayers.Handler.Point = OpenLayers.Class(OpenLayers.Handler, {
+    
+    /**
+     * Property: point
+     * {<OpenLayers.Feature.Vector>} The currently drawn point
+     */
+    point: null,
+
+    /**
+     * Property: layer
+     * {<OpenLayers.Layer.Vector>} The temporary drawing layer
+     */
+    layer: null,
+    
+    /**
+     * Property: drawing 
+     * {Boolean} A point is being drawn
+     */
+    drawing: false,
+    
+    /**
+     * Property: mouseDown
+     * {Boolean} The mouse is down
+     */
+    mouseDown: false,
+
+    /**
+     * Property: lastDown
+     * {<OpenLayers.Pixel>} Location of the last mouse down
+     */
+    lastDown: null,
+
+    /**
+     * Property: lastUp
+     * {<OpenLayers.Pixel>}
+     */
+    lastUp: null,
+
+    /**
+     * Constructor: OpenLayers.Handler.Point
+     * Create a new point handler.
+     *
+     * Parameters:
+     * control - {<OpenLayers.Control>} The control that owns this handler
+     * callbacks - {Object} An object with a 'done' property whose value is a
+     *             function to be called when the point drawing is finished.
+     *             The callback should expect to recieve a single argument,
+     *             the point geometry.  If the callbacks object contains a
+     *             'cancel' property, this function will be called when the
+     *             handler is deactivated while drawing.  The cancel should
+     *             expect to receive a geometry.
+     * options - {Object} An optional object with properties to be set on the
+     *           handler
+     */
+    initialize: function(control, callbacks, options) {
+        // TBD: deal with style
+        this.style = OpenLayers.Util.extend(OpenLayers.Feature.Vector.style['default'], {});
+
+        OpenLayers.Handler.prototype.initialize.apply(this, arguments);
+    },
+    
+    /**
+     * APIMethod: activate
+     * turn on the handler
+     */
+    activate: function() {
+        if(!OpenLayers.Handler.prototype.activate.apply(this, arguments)) {
+            return false;
+        }
+        // create temporary vector layer for rendering geometry sketch
+        // TBD: this could be moved to initialize/destroy - setting visibility here
+        var options = {
+            displayInLayerSwitcher: false,
+            // indicate that the temp vector layer will never be out of range
+            // without this, resolution properties must be specified at the
+            // map-level for this temporary layer to init its resolutions
+            // correctly
+            calculateInRange: function() { return true; }
+        };
+        this.layer = new OpenLayers.Layer.Vector(this.CLASS_NAME, options);
+        this.map.addLayer(this.layer);
+        return true;
+    },
+    
+    /**
+     * Method: createFeature
+     * Add temporary features
+     */
+    createFeature: function() {
+        this.point = new OpenLayers.Feature.Vector(
+                                              new OpenLayers.Geometry.Point());
+    },
+
+    /**
+     * APIMethod: deactivate
+     * turn off the handler
+     */
+    deactivate: function() {
+        if(!OpenLayers.Handler.prototype.deactivate.apply(this, arguments)) {
+            return false;
+        }
+        // call the cancel callback if mid-drawing
+        if(this.drawing) {
+            this.cancel();
+        }
+        // If a layer's map property is set to null, it means that that layer
+        // isn't added to the map. Since we ourself added the layer to the map
+        // in activate(), we can assume that if this.layer.map is null it means
+        // that the layer has been destroyed (as a result of map.destroy() for
+        // example.
+        if (this.layer.map != null) {
+            this.layer.destroy(false);
+        }
+        this.layer = null;
+        return true;
+    },
+    
+    /**
+     * Method: destroyFeature
+     * Destroy the temporary geometries
+     */
+    destroyFeature: function() {
+        if(this.point) {
+            this.point.destroy();
+        }
+        this.point = null;
+    },
+
+    /**
+     * Method: finalize
+     * Finish the geometry and call the "done" callback.
+     */
+    finalize: function() {
+        this.layer.renderer.clear();
+        this.drawing = false;
+        this.mouseDown = false;
+        this.lastDown = null;
+        this.lastUp = null;
+        this.callback("done", [this.geometryClone()]);
+        this.destroyFeature();
+    },
+
+    /**
+     * APIMethod: cancel
+     * Finish the geometry and call the "cancel" callback.
+     */
+    cancel: function() {
+        this.layer.renderer.clear();
+        this.drawing = false;
+        this.mouseDown = false;
+        this.lastDown = null;
+        this.lastUp = null;
+        this.callback("cancel", [this.geometryClone()]);
+        this.destroyFeature();
+    },
+
+    /**
+     * Method: click
+     * Handle clicks.  Clicks are stopped from propagating to other listeners
+     *     on map.events or other dom elements.
+     * 
+     * Parameters:
+     * evt - {Event} The browser event
+     *
+     * Returns: 
+     * {Boolean} Allow event propagation
+     */
+    click: function(evt) {
+        OpenLayers.Event.stop(evt);
+        return false;
+    },
+
+    /**
+     * Method: dblclick
+     * Handle double-clicks.  Double-clicks are stopped from propagating to other
+     *     listeners on map.events or other dom elements.
+     * 
+     * Parameters:
+     * evt - {Event} The browser event
+     *
+     * Returns: 
+     * {Boolean} Allow event propagation
+     */
+    dblclick: function(evt) {
+        OpenLayers.Event.stop(evt);
+        return false;
+    },
+    
+    /**
+     * Method: drawFeature
+     * Render features on the temporary layer.
+     */
+    drawFeature: function() {
+        this.layer.drawFeature(this.point, this.style);
+    },
+    
+    /**
+     * Method: geometryClone
+     * Return a clone of the relevant geometry.
+     *
+     * Returns:
+     * {<OpenLayers.Geometry.Point>}
+     */
+    geometryClone: function() {
+        return this.point.geometry.clone();
+    },
+  
+    /**
+     * Method: mousedown
+     * Handle mouse down.  Adjust the geometry and redraw.
+     * Return determines whether to propagate the event on the map.
+     * 
+     * Parameters:
+     * evt - {Event} The browser event
+     *
+     * Returns: 
+     * {Boolean} Allow event propagation
+     */
+    mousedown: function(evt) {
+        // check keyboard modifiers
+        if(!this.checkModifiers(evt)) {
+            return true;
+        }
+        // ignore double-clicks
+        if(this.lastDown && this.lastDown.equals(evt.xy)) {
+            return true;
+        }
+        if(this.lastDown == null) {
+            this.createFeature();
+        }
+        this.lastDown = evt.xy;
+        this.drawing = true;
+        var lonlat = this.map.getLonLatFromPixel(evt.xy);
+        this.point.geometry.x = lonlat.lon;
+        this.point.geometry.y = lonlat.lat;
+        this.drawFeature();
+        return false;
+    },
+
+    /**
+     * Method: mousemove
+     * Handle mouse move.  Adjust the geometry and redraw.
+     * Return determines whether to propagate the event on the map.
+     * 
+     * Parameters:
+     * evt - {Event} The browser event
+     *
+     * Returns: 
+     * {Boolean} Allow event propagation
+     */
+    mousemove: function (evt) {
+        if(this.drawing) {
+            var lonlat = this.map.getLonLatFromPixel(evt.xy);
+            this.point.geometry.x = lonlat.lon;
+            this.point.geometry.y = lonlat.lat;
+            this.point.geometry.clearBounds();
+            this.drawFeature();
+        }
+        return true;
+    },
+
+    /**
+     * Method: mouseup
+     * Handle mouse up.  Send the latest point in the geometry to the control.
+     * Return determines whether to propagate the event on the map.
+     *
+     * Parameters:
+     * evt - {Event} The browser event
+     *
+     * Returns: 
+     * {Boolean} Allow event propagation
+     */
+    mouseup: function (evt) {
+        if(this.drawing) {
+            this.finalize();
+            return false;
+        } else {
+            return true;
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Handler.Point"
+});
+/* ======================================================================
+    OpenLayers/Layer/GML.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Layer/Vector.js
+ * @requires OpenLayers/Ajax.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.GML
+ * Create a vector layer by parsing a GML file. The GML file is
+ *     passed in as a parameter.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Layer.Vector>
+ */
+OpenLayers.Layer.GML = OpenLayers.Class(OpenLayers.Layer.Vector, {
+    
+    /**
+      * Property: loaded
+      * {Boolean} Flag for whether the GML data has been loaded yet.
+      */
+    loaded: false,
+
+    /**
+      * APIProperty: format
+      * {<OpenLayers.Format>} The format you want the data to be parsed with.
+      */
+    format: null,
+
+    /**
+     * APIProperty: formatOptions
+     * {Object} Hash of options which should be passed to the format when it is
+     * created. Must be passed in the constructor.
+     */
+    formatOptions: null, 
+    
+    /**
+     * Constructor: OpenLayers.Layer.GML
+     * Load and parse a single file on the web, according to the format
+     * provided via the 'format' option, defaulting to GML. 
+     *
+     * Parameters:
+     * name - {String} 
+     * url - {String} URL of a GML file.
+     * options - {Object} Hashtable of extra options to tag onto the layer.
+     */
+     initialize: function(name, url, options) {
+        var newArguments = [];
+        newArguments.push(name, options);
+        OpenLayers.Layer.Vector.prototype.initialize.apply(this, newArguments);
+        this.url = url;
+    },
+
+    /**
+     * APIMethod: setVisibility
+     * Set the visibility flag for the layer and hide/show&redraw accordingly. 
+     * Fire event unless otherwise specified
+     * GML will be loaded if the layer is being made visible for the first
+     * time.
+     *  
+     * Parameters:
+     * visible - {Boolean} Whether or not to display the layer 
+     *                          (if in range)
+     * noEvent - {Boolean} 
+     */
+    setVisibility: function(visibility, noEvent) {
+        OpenLayers.Layer.Vector.prototype.setVisibility.apply(this, arguments);
+        if(this.visibility && !this.loaded){
+            // Load the GML
+            this.loadGML();
+        }
+    },
+
+    /**
+     * Method: moveTo
+     * If layer is visible and GML has not been loaded, load GML, then load GML
+     * and call OpenLayers.Layer.Vector.moveTo() to redraw at the new location.
+     * 
+     * Parameters:
+     * bounds - {Object} 
+     * zoomChanged - {Object} 
+     * minor - {Object} 
+     */
+    moveTo:function(bounds, zoomChanged, minor) {
+        OpenLayers.Layer.Vector.prototype.moveTo.apply(this, arguments);
+        // Wait until initialisation is complete before loading GML
+        // otherwise we can get a race condition where the root HTML DOM is
+        // loaded after the GML is paited.
+        // See http://trac.openlayers.org/ticket/404
+        if(this.visibility && !this.loaded){
+            this.events.triggerEvent("loadstart");
+            this.loadGML();
+        }
+    },
+
+    /**
+     * Method: loadGML
+     */
+    loadGML: function() {
+        if (!this.loaded) {
+            var results = OpenLayers.loadURL(this.url, null, this, this.requestSuccess, this.requestFailure);
+            this.loaded = true;
+        }    
+    },    
+    
+    /**
+     * Method: setUrl
+     * Change the URL and reload the GML
+     *
+     * Parameters:
+     * url - {String} URL of a GML file.
+     */
+    setUrl:function(url) {
+        this.url = url;
+        this.destroyFeatures();
+        this.loaded = false;
+        this.events.triggerEvent("loadstart");
+        this.loadGML();
+    },
+    
+    /**
+     * Method: requestSuccess
+     * Process GML after it has been loaded.
+     * Called by initialise() and loadUrl() after the GML has been loaded.
+     *
+     * Parameters:
+     * request - {String} 
+     */
+    requestSuccess:function(request) {
+        var doc = request.responseXML;
+        
+        if (!doc || !doc.documentElement) {
+            doc = request.responseText;
+        }
+        
+        var options = {};
+        
+        OpenLayers.Util.extend(options, this.formatOptions);
+        if (this.map && !this.projection.equals(this.map.getProjectionObject())) {
+            options.externalProjection = this.projection;
+            options.internalProjection = this.map.getProjectionObject();
+        }    
+        
+        var gml = this.format ? new this.format(options) : new OpenLayers.Format.GML(options);
+        this.addFeatures(gml.read(doc));
+        this.events.triggerEvent("loadend");
+    },
+    
+    /**
+     * Method: requestFailure
+     * Process a failed loading of GML.
+     * Called by initialise() and loadUrl() if there was a problem loading GML.
+     *
+     * Parameters:
+     * request - {String} 
+     */
+    requestFailure: function(request) {
+        alert(OpenLayers.i18n("errorLoadingGML", {'url':this.url}));
+        this.events.triggerEvent("loadend");
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.GML"
+});
+/* ======================================================================
+    OpenLayers/Layer/PointTrack.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2007 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Layer/Vector.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.PointTrack
+ * Vector layer to display ordered point features as a line, creating one
+ * LineString feature for each pair of two points.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Layer.Vector> 
+ */
+OpenLayers.Layer.PointTrack = OpenLayers.Class(OpenLayers.Layer.Vector, {
+  
+    /**
+     * APIProperty:
+     * dataFrom  - {<OpenLayers.Layer.PointTrack.dataFrom>} optional. If the
+     *             lines should get the data/attributes from one of the two
+     *             points, creating it, which one should it be?
+     */
+    dataFrom: null,
+    
+    /**
+     * Constructor: OpenLayers.PointTrack
+     * Constructor for a new OpenLayers.PointTrack instance.
+     *
+     * Parameters:
+     * name     - {String} name of the layer
+     * options  - {Object} Optional object with properties to tag onto the
+     *            instance.
+     */    
+    initialize: function(name, options) {
+        OpenLayers.Layer.Vector.prototype.initialize.apply(this, arguments);
+    },
+        
+    /**
+     * APIMethod: addNodes
+     * Adds point features that will be used to create lines from, using point
+     * pairs. The first point of a pair will be the source node, the second
+     * will be the target node.
+     * 
+     * Parameters:
+     * pointFeatures - {Array(<OpenLayers.Feature>)}
+     * 
+     */
+    addNodes: function(pointFeatures) {
+        if (pointFeatures.length < 2) {
+            OpenLayers.Console.error(
+                    "At least two point features have to be added to create" +
+                    "a line from");
+            return;
+        }
+        
+        var lines = new Array(pointFeatures.length-1);
+        
+        var pointFeature, startPoint, endPoint;
+        for(var i = 0; i < pointFeatures.length; i++) {
+            pointFeature = pointFeatures[i];
+            endPoint = pointFeature.geometry;
+            
+            if (!endPoint) {
+              var lonlat = pointFeature.lonlat;
+              endPoint = new OpenLayers.Geometry.Point(lonlat.lon, lonlat.lat);
+            } else if(endPoint.CLASS_NAME != "OpenLayers.Geometry.Point") {
+                OpenLayers.Console.error(
+                        "Only features with point geometries are supported.");
+                return;
+            }
+            
+            if(i > 0) {
+                var attributes = (this.dataFrom != null) ?
+                        (pointFeatures[i+this.dataFrom].data ||
+                                pointFeatures[i+this.dataFrom].attributes) :
+                        null;
+                var line = new OpenLayers.Geometry.LineString([startPoint,
+                        endPoint]);
+                        
+                lines[i-1] = new OpenLayers.Feature.Vector(line, attributes);
+            }
+            
+            startPoint = endPoint;
+        }
+
+        this.addFeatures(lines);
+    },
+    
+    CLASS_NAME: "OpenLayers.Layer.PointTrack"
+});
+
+/**
+ * Constant: OpenLayers.Layer.PointTrack.dataFrom
+ * {Object} with the following keys
+ * - SOURCE_NODE: take data/attributes from the source node of the line
+ * - TARGET_NODE: take data/attributes from the target node of the line
+ */
+OpenLayers.Layer.PointTrack.dataFrom = {'SOURCE_NODE': -1, 'TARGET_NODE': 0};
+
+/* ======================================================================
+    OpenLayers/Layer/WFS.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Layer/Vector.js
+ * @requires OpenLayers/Layer/Markers.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.WFS
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Layer.Vector>
+ *  - <OpenLayers.Layer.Markers>
+ */
+OpenLayers.Layer.WFS = OpenLayers.Class(
+  OpenLayers.Layer.Vector, OpenLayers.Layer.Markers, {
+
+    /**
+     * APIProperty: isBaseLayer
+     * {Boolean} WFS layer is not a base layer by default. 
+     */
+    isBaseLayer: false,
+    
+    /**
+     * Property: tile
+     * {<OpenLayers.Tile.WFS>}
+     */
+    tile: null,    
+    
+    /**
+     * APIProperty: ratio
+     * {Float} the ratio of image/tile size to map size (this is the untiled
+     *     buffer)
+     */
+    ratio: 2,
+
+    /**  
+     * Property: DEFAULT_PARAMS
+     * {Object} Hashtable of default key/value parameters
+     */
+    DEFAULT_PARAMS: { service: "WFS",
+                      version: "1.0.0",
+                      request: "GetFeature"
+                    },
+    
+    /** 
+     * APIProperty: featureClass
+     * {<OpenLayers.Feature>} If featureClass is defined, an old-style markers
+     *     based WFS layer is created instead of a new-style vector layer. If
+     *     sent, this should be a subclass of OpenLayers.Feature
+     */
+    featureClass: null,
+    
+    /**
+      * APIProperty: format
+      * {<OpenLayers.Format>} The format you want the data to be parsed with.
+      * Must be passed in the constructor. Should be a class, not an instance.
+      */
+    format: null,
+
+    /** 
+     * Property: formatObject
+     * {<OpenLayers.Format>} Internally created/managed format object, used by
+     * the Tile to parse data.
+     */
+    formatObject: null,
+
+    /**
+     * APIProperty: formatOptions
+     * {Object} Hash of options which should be passed to the format when it is
+     * created. Must be passed in the constructor.
+     */
+    formatOptions: null, 
+
+    /**
+     * Property: vectorMode
+     * {Boolean} Should be calculated automatically.
+     */
+    vectorMode: true, 
+    
+    /**
+     * APIProperty: encodeBBOX
+     * {Boolean} Should the BBOX commas be encoded? The WMS spec says 'no', 
+     *     but some services want it that way. Default false.
+     */
+    encodeBBOX: false,
+    
+    /**
+     * APIProperty: extractAttributes 
+     * {Boolean} Should the WFS layer parse attributes from the retrieved
+     *     GML? Defaults to false. If enabled, parsing is slower, but 
+     *     attributes are available in the attributes property of 
+     *     layer features.
+     */
+    extractAttributes: false,
+
+    /**
+     * Constructor: OpenLayers.Layer.WFS
+     *
+     * Parameters:
+     * name - {String} 
+     * url - {String} 
+     * params - {Object} 
+     * options - {Object} Hashtable of extra options to tag onto the layer
+     */
+    initialize: function(name, url, params, options) {
+        if (options == undefined) { options = {}; } 
+        
+        if (options.featureClass || 
+            !OpenLayers.Layer.Vector || 
+            !OpenLayers.Feature.Vector) {
+            this.vectorMode = false;
+        }    
+        
+        // Turn off error reporting, browsers like Safari may work
+        // depending on the setup, and we don't want an unneccesary alert.
+        OpenLayers.Util.extend(options, {'reportError': false});
+        var newArguments = [];
+        newArguments.push(name, options);
+        OpenLayers.Layer.Vector.prototype.initialize.apply(this, newArguments);
+        if (!this.renderer || !this.vectorMode) {
+            this.vectorMode = false; 
+            if (!options.featureClass) {
+                options.featureClass = OpenLayers.Feature.WFS;
+            }   
+            OpenLayers.Layer.Markers.prototype.initialize.apply(this, 
+                                                                newArguments);
+        }
+        
+        if (this.params && this.params.typename && !this.options.typename) {
+            this.options.typename = this.params.typename;
+        }
+        
+        if (!this.options.geometry_column) {
+            this.options.geometry_column = "the_geom";
+        }    
+        
+        this.params = params;
+        OpenLayers.Util.applyDefaults(
+                       this.params, 
+                       OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS)
+                       );
+        this.url = url;
+    },    
+    
+
+    /**
+     * APIMethod: destroy
+     */
+    destroy: function() {
+        if (this.vectorMode) {
+            OpenLayers.Layer.Vector.prototype.destroy.apply(this, arguments);
+        } else {    
+            OpenLayers.Layer.Markers.prototype.destroy.apply(this, arguments);
+        }    
+        if (this.tile) {
+            this.tile.destroy();
+        }
+        this.tile = null;
+
+        this.ratio = null;
+        this.featureClass = null;
+        this.format = null;
+
+        if (this.formatObject && this.formatObject.destroy) {
+            this.formatObject.destroy();
+        }
+        this.formatObject = null;
+        
+        this.formatOptions = null;
+        this.vectorMode = null;
+        this.encodeBBOX = null;
+        this.extractAttributes = null;
+    },
+    
+    /**
+     * Method: setMap
+     * 
+     * Parameters:
+     * map - {<OpenLayers.Map>} 
+     */
+    setMap: function(map) {
+        if (this.vectorMode) {
+            OpenLayers.Layer.Vector.prototype.setMap.apply(this, arguments);
+            
+            var options = {
+              'extractAttributes': this.extractAttributes
+            };
+            
+            OpenLayers.Util.extend(options, this.formatOptions);
+            if (this.map && !this.projection.equals(this.map.getProjectionObject())) {
+                options.externalProjection = this.projection;
+                options.internalProjection = this.map.getProjectionObject();
+            }    
+            
+            this.formatObject = this.format ? new this.format(options) : new OpenLayers.Format.GML(options);
+        } else {    
+            OpenLayers.Layer.Markers.prototype.setMap.apply(this, arguments);
+        }    
+    },
+    
+    /** 
+     * Method: moveTo
+     * 
+     * Parameters:
+     * bounds - {<OpenLayers.Bounds>} 
+     * zoomChanged - {Boolean} 
+     * dragging - {Boolean} 
+     */
+    moveTo:function(bounds, zoomChanged, dragging) {
+        if (this.vectorMode) {
+            OpenLayers.Layer.Vector.prototype.moveTo.apply(this, arguments);
+        } else {
+            OpenLayers.Layer.Markers.prototype.moveTo.apply(this, arguments);
+        }    
+
+        // don't load wfs features while dragging, wait for drag end
+        if (dragging) {
+            // TBD try to hide the vector layer while dragging
+            // this.setVisibility(false);
+            // this will probably help for panning performances
+            return false;
+        }
+        
+        if ( zoomChanged ) {
+            if (this.vectorMode) {
+                this.renderer.clear();
+            }
+        }
+        
+    //DEPRECATED - REMOVE IN 3.0
+        // don't load data if current zoom level doesn't match
+        if (this.options.minZoomLevel) {
+            OpenLayers.Console.warn(OpenLayers.i18n('minZoomLevelError'));
+            
+            if (this.map.getZoom() < this.options.minZoomLevel) {
+                return null;
+            }
+        }
+        
+        if (bounds == null) {
+            bounds = this.map.getExtent();
+        }
+
+        var firstRendering = (this.tile == null);
+
+        //does the new bounds to which we need to move fall outside of the 
+        // current tile's bounds?
+        var outOfBounds = (!firstRendering &&
+                           !this.tile.bounds.containsBounds(bounds));
+
+        if (zoomChanged || firstRendering || (!dragging && outOfBounds)) {
+            //determine new tile bounds
+            var center = bounds.getCenterLonLat();
+            var tileWidth = bounds.getWidth() * this.ratio;
+            var tileHeight = bounds.getHeight() * this.ratio;
+            var tileBounds = 
+                new OpenLayers.Bounds(center.lon - (tileWidth / 2),
+                                      center.lat - (tileHeight / 2),
+                                      center.lon + (tileWidth / 2),
+                                      center.lat + (tileHeight / 2));
+
+            //determine new tile size
+            var tileSize = this.map.getSize();
+            tileSize.w = tileSize.w * this.ratio;
+            tileSize.h = tileSize.h * this.ratio;
+
+            //determine new position (upper left corner of new bounds)
+            var ul = new OpenLayers.LonLat(tileBounds.left, tileBounds.top);
+            var pos = this.map.getLayerPxFromLonLat(ul);
+
+            //formulate request url string
+            var url = this.getFullRequestString();
+        
+            var params = {BBOX: this.encodeBBOX ? tileBounds.toBBOX() 
+                                                : tileBounds.toArray()};
+            
+            if (this.map && !this.projection.equals(this.map.getProjectionObject())) {
+                var projectedBounds = tileBounds.clone();
+                projectedBounds.transform(this.map.getProjectionObject(), 
+                                          this.projection);
+                params.BBOX = this.encodeBBOX ? projectedBounds.toBBOX() 
+                                              : projectedBounds.toArray();
+            }                                  
+
+            url += "&" + OpenLayers.Util.getParameterString(params);
+
+            if (!this.tile) {
+                this.tile = new OpenLayers.Tile.WFS(this, pos, tileBounds, 
+                                                     url, tileSize);
+                this.addTileMonitoringHooks(this.tile);
+                this.tile.draw();
+            } else {
+                if (this.vectorMode) {
+                    this.destroyFeatures();
+                    this.renderer.clear();
+                } else {
+                    this.clearMarkers();
+                }    
+                this.removeTileMonitoringHooks(this.tile);
+                this.tile.destroy();
+                
+                this.tile = null;
+                this.tile = new OpenLayers.Tile.WFS(this, pos, tileBounds, 
+                                                     url, tileSize);
+                this.addTileMonitoringHooks(this.tile);
+                this.tile.draw();
+            } 
+        }
+    },
+
+    /** 
+     * Method: addTileMonitoringHooks
+     * This function takes a tile as input and adds the appropriate hooks to 
+     *     the tile so that the layer can keep track of the loading tile
+     *     (making sure to check that the tile is always the layer's current
+     *     tile before taking any action).
+     * 
+     * Parameters: 
+     * tile - {<OpenLayers.Tile>}
+     */
+    addTileMonitoringHooks: function(tile) {
+        tile.onLoadStart = function() {
+            //if this is the the layer's current tile, then trigger 
+            // a 'loadstart'
+            if (this == this.layer.tile) {
+                this.layer.events.triggerEvent("loadstart");
+            }
+        };
+        tile.events.register("loadstart", tile, tile.onLoadStart);
+      
+        tile.onLoadEnd = function() {
+            //if this is the the layer's current tile, then trigger 
+            // a 'tileloaded' and 'loadend'
+            if (this == this.layer.tile) {
+                this.layer.events.triggerEvent("tileloaded");
+                this.layer.events.triggerEvent("loadend");
+            }
+        };
+        tile.events.register("loadend", tile, tile.onLoadEnd);
+        tile.events.register("unload", tile, tile.onLoadEnd);
+    },
+    
+    /** 
+     * Method: removeTileMonitoringHooks
+     * This function takes a tile as input and removes the tile hooks 
+     *     that were added in addTileMonitoringHooks()
+     * 
+     * Parameters: 
+     * tile - {<OpenLayers.Tile>}
+     */
+    removeTileMonitoringHooks: function(tile) {
+        tile.unload();
+        tile.events.un({
+            "loadstart": tile.onLoadStart,
+            "loadend": tile.onLoadEnd,
+            "unload": tile.onLoadEnd,
+            scope: tile
+        });
+    },
+
+    /**
+     * Method: onMapResize
+     * Call the onMapResize method of the appropriate parent class. 
+     */
+    onMapResize: function() {
+        if(this.vectorMode) {
+            OpenLayers.Layer.Vector.prototype.onMapResize.apply(this, 
+                                                                arguments);
+        } else {
+            OpenLayers.Layer.Markers.prototype.onMapResize.apply(this, 
+                                                                 arguments);
+        }
+    },
+    
+    /**
+     * APIMethod: mergeNewParams
+     * Modify parameters for the layer and redraw.
+     * 
+     * Parameters:
+     * newParams - {Object}
+     */
+    mergeNewParams:function(newParams) {
+        var upperParams = OpenLayers.Util.upperCaseObject(newParams);
+        var newArguments = [upperParams];
+        return OpenLayers.Layer.HTTPRequest.prototype.mergeNewParams.apply(this, 
+                                                                 newArguments);
+    },
+
+    /**
+     * APIMethod: clone
+     *
+     * Parameters:
+     * obj - {Object} 
+     * 
+     * Returns:
+     * {<OpenLayers.Layer.WFS>} An exact clone of this OpenLayers.Layer.WFS
+     */
+    clone: function (obj) {
+        
+        if (obj == null) {
+            obj = new OpenLayers.Layer.WFS(this.name,
+                                           this.url,
+                                           this.params,
+                                           this.options);
+        }
+
+        //get all additions from superclasses
+        if (this.vectorMode) {
+            obj = OpenLayers.Layer.Vector.prototype.clone.apply(this, [obj]);
+        } else {
+            obj = OpenLayers.Layer.Markers.prototype.clone.apply(this, [obj]);
+        }    
+
+        // copy/set any non-init, non-simple values here
+
+        return obj;
+    },
+
+    /** 
+     * APIMethod: getFullRequestString
+     * combine the layer's url with its params and these newParams. 
+     *   
+     *    Add the SRS parameter from 'projection' -- this is probably
+     *     more eloquently done via a setProjection() method, but this 
+     *     works for now and always.
+     *
+     * Parameters:
+     * newParams - {Object} 
+     * altUrl - {String} Use this as the url instead of the layer's url
+     */
+    getFullRequestString:function(newParams, altUrl) {
+        var projectionCode = this.map.getProjection();
+        this.params.SRS = (projectionCode == "none") ? null : projectionCode;
+
+        return OpenLayers.Layer.Grid.prototype.getFullRequestString.apply(
+                                                    this, arguments);
+    },
+   
+    /**
+     * APIMethod: commit
+     * Write out the data to a WFS server.
+     */
+    commit: function() {
+        if (!this.writer) {
+            var options = {};
+            if (this.map && !this.projection.equals(this.map.getProjectionObject())) {
+                options.externalProjection = this.projection;
+                options.internalProjection = this.map.getProjectionObject();
+            }    
+            
+            this.writer = new OpenLayers.Format.WFS(options,this);
+        }
+
+        var data = this.writer.write(this.features);
+        
+        var url = this.url;
+
+        var success = OpenLayers.Function.bind(this.commitSuccess, this);
+
+        var failure = OpenLayers.Function.bind(this.commitFailure, this);
+        
+        // from prototype.js
+        new OpenLayers.Ajax.Request(url, 
+                         {   method: 'post', 
+                             postBody: data,
+                             onComplete: success, 
+                             onFailure: failure
+                          }
+                         );
+    },
+
+    /**
+     * Method: commitSuccess
+     * Called when the Ajax request returns a response
+     *
+     * Parameters:
+     * response - {XmlNode} from server
+     */
+    commitSuccess: function(request) {
+        var response = request.responseText;
+        if (response.indexOf('SUCCESS') != -1) {
+            this.commitReport(OpenLayers.i18n("commitSuccess", {'response':response}));
+            
+            for(var i = 0; i < this.features.length; i++) {
+                this.features[i].state = null;
+            }    
+            // TBD redraw the layer or reset the state of features
+            // foreach features: set state to null
+        } else if (response.indexOf('FAILED') != -1 ||
+            response.indexOf('Exception') != -1) {
+            this.commitReport(OpenLayers.i18n("commitFailed", {'response':response}));
+        }
+    },
+    
+    /**
+     * Method: commitFailure
+     * Called when the Ajax request fails
+     *
+     * Parameters:
+     * response - {XmlNode} from server
+     */
+    commitFailure: function(request) {},
+    
+    /**
+     * APIMethod: commitReport 
+     * Called with a 'success' message if the commit succeeded, otherwise
+     *     a failure message, and the full request text as a second parameter.
+     *     Override this function to provide custom transaction reporting.
+     *
+     * string - {String} reporting string
+     * response - {String} full XML response
+     */
+    commitReport: function(string, response) {
+        alert(string);
+    },
+
+    
+    /**
+     * APIMethod: refresh
+     * Refreshes all the features of the layer
+     */
+    refresh: function() {
+        if (this.tile) {
+            if (this.vectorMode) {
+                this.renderer.clear();
+                this.features.length = 0;
+            } else {   
+                this.clearMarkers();
+                this.markers.length = 0;
+            }    
+            this.tile.draw();
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Layer.WFS"
+});
+/* ======================================================================
+    OpenLayers/Format/SLD/v1.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Format/SLD.js
+ */
+
+/**
+ * Class: OpenLayers.Format.SLD.v1
+ * Superclass for SLD version 1 parsers.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Format.XML>
+ */
+OpenLayers.Format.SLD.v1 = OpenLayers.Class(OpenLayers.Format.XML, {
+    
+    /**
+     * Property: namespaces
+     * {Object} Mapping of namespace aliases to namespace URIs.
+     */
+    namespaces: {
+        sld: "http://www.opengis.net/sld",
+        ogc: "http://www.opengis.net/ogc",
+        xlink: "http://www.w3.org/1999/xlink",
+        xsi: "http://www.w3.org/2001/XMLSchema-instance"
+    },
+    
+    /**
+     * Property: defaultPrefix
+     */
+    defaultPrefix: "sld",
+
+    /**
+     * Property: schemaLocation
+     * {String} Schema location for a particular minor version.
+     */
+    schemaLocation: null,
+
+    /**
+     * APIProperty: defaultSymbolizer.
+     * {Object} A symbolizer with the SLD defaults.
+     */
+    defaultSymbolizer: {
+        fillColor: "#808080",
+        fillOpacity: 1,
+        strokeColor: "#000000",
+        strokeOpacity: 1,
+        strokeWidth: 1,
+        pointRadius: 6
+    },
+    
+    /**
+     * Constructor: OpenLayers.Format.SLD.v1
+     * Instances of this class are not created directly.  Use the
+     *     <OpenLayers.Format.SLD> constructor instead.
+     *
+     * Parameters:
+     * options - {Object} An optional object whose properties will be set on
+     *     this instance.
+     */
+    initialize: function(options) {
+        OpenLayers.Format.XML.prototype.initialize.apply(this, [options]);
+    },
+    
+    /**
+     * Method: read
+     *
+     * Parameters:
+     * data - {DOMElement} An SLD document element.
+     *
+     * Returns:
+     * {Object} An object representing the SLD.
+     */
+    read: function(data) {        
+        var sld = {
+            namedLayers: {}
+        };
+        this.readChildNodes(data, sld);
+        return sld;
+    },
+    
+    /**
+     * Property: readers
+     * Contains public functions, grouped by namespace prefix, that will
+     *     be applied when a namespaced node is found matching the function
+     *     name.  The function will be applied in the scope of this parser
+     *     with two arguments: the node being read and a context object passed
+     *     from the parent.
+     */
+    readers: {
+        "sld": {
+            "StyledLayerDescriptor": function(node, sld) {
+                sld.version = node.getAttribute("version");
+                this.readChildNodes(node, sld);
+            },
+            "Name": function(node, obj) {
+                obj.name = this.getChildValue(node);
+            },
+            "Title": function(node, obj) {
+                obj.title = this.getChildValue(node);
+            },
+            "Abstract": function(node, obj) {
+                obj.description = this.getChildValue(node);
+            },
+            "NamedLayer": function(node, sld) {
+                var layer = {
+                    userStyles: [],
+                    namedStyles: []
+                };
+                this.readChildNodes(node, layer);
+                // give each of the user styles this layer name
+                for(var i=0; i<layer.userStyles.length; ++i) {
+                    layer.userStyles[i].layerName = layer.name;
+                }
+                sld.namedLayers[layer.name] = layer;
+            },
+            "NamedStyle": function(node, layer) {
+                layer.namedStyles.push(
+                    this.getChildName(node.firstChild)
+                );
+            },
+            "UserStyle": function(node, layer) {
+                var style = new OpenLayers.Style(this.defaultSymbolizer);
+                this.readChildNodes(node, style);
+                layer.userStyles.push(style);
+            },
+            "IsDefault": function(node, style) {
+                if(this.getChildValue(node) == "1") {
+                    style.isDefault = true;
+                }
+            },
+            "FeatureTypeStyle": function(node, style) {
+                // OpenLayers doesn't have a place for FeatureTypeStyle
+                // Name, Title, Abstract, FeatureTypeName, or
+                // SemanticTypeIdentifier so, we make a temporary object
+                // and later just use the Rule(s).
+                var obj = {
+                    rules: []
+                };
+                this.readChildNodes(node, obj);
+                style.rules = obj.rules;
+            },
+            "Rule": function(node, obj) {
+                // Rule elements are represented as OpenLayers.Rule instances.
+                // Filter elements are represented as instances of
+                // OpenLayers.Rule subclasses.
+                var config = {
+                    rules: [],
+                    symbolizer: {}
+                };
+                this.readChildNodes(node, config);
+                // Now we've either got zero or one rules (from filters)
+                var rule;
+                if(config.rules.length == 0) {
+                    delete config.rules;
+                    rule = new OpenLayers.Rule(config);
+                } else {
+                    rule = config.rules[0];
+                    delete config.rules;
+                    OpenLayers.Util.extend(rule, config);
+                }
+                obj.rules.push(rule);
+            },
+            "ElseFilter": function(node, rule) {
+                rule.elseFilter = true;
+            },
+            "MinScaleDenominator": function(node, rule) {
+                rule.minScaleDenominator = this.getChildValue(node);
+            },
+            "MaxScaleDenominator": function(node, rule) {
+                rule.maxScaleDenominator = this.getChildValue(node);
+            },
+            "LineSymbolizer": function(node, rule) {
+                // OpenLayers doens't do painter's order, instead we extend
+                var symbolizer = rule.symbolizer["Line"] || {};
+                this.readChildNodes(node, symbolizer);
+                // in case it didn't exist before
+                rule.symbolizer["Line"] = symbolizer;
+            },
+            "PolygonSymbolizer": function(node, rule) {
+                // OpenLayers doens't do painter's order, instead we extend
+                var symbolizer = rule.symbolizer["Polygon"] || {};
+                this.readChildNodes(node, symbolizer);
+                // in case it didn't exist before
+                rule.symbolizer["Polygon"] = symbolizer;
+            },
+            "PointSymbolizer": function(node, rule) {
+                // OpenLayers doens't do painter's order, instead we extend
+                var symbolizer = rule.symbolizer["Point"] || {};
+                this.readChildNodes(node, symbolizer);
+                // in case it didn't exist before
+                rule.symbolizer["Point"] = symbolizer;
+            },
+            "Stroke": function(node, symbolizer) {
+                this.readChildNodes(node, symbolizer);
+            },
+            "Fill": function(node, symbolizer) {
+                this.readChildNodes(node, symbolizer);
+            },
+            "CssParameter": function(node, symbolizer) {
+                var cssProperty = node.getAttribute("name");
+                var symProperty = this.cssMap[cssProperty];
+                if(symProperty) {
+                    // Limited support for parsing of OGC expressions
+                    var value = this.readOgcExpression(node);
+                    // always string, could be an empty string
+                    if(value) {
+                        symbolizer[symProperty] = value;
+                    }
+                }
+            },
+            "Graphic": function(node, symbolizer) {
+                var graphic = {};
+                // painter's order not respected here, clobber previous with next
+                this.readChildNodes(node, graphic);
+                // directly properties with names that match symbolizer properties
+                var properties = [
+                    "strokeColor", "strokeWidth", "strokeOpacity",
+                    "strokeLinecap", "fillColor", "fillOpacity",
+                    "graphicName", "rotation", "graphicFormat"
+                ];
+                var prop, value;
+                for(var i=0; i<properties.length; ++i) {
+                    prop = properties[i];
+                    value = graphic[prop];
+                    if(value != undefined) {
+                        symbolizer[prop] = value;
+                    }
+                }
+                // set other generic properties with specific graphic property names
+                if(graphic.opacity != undefined) {
+                    symbolizer.graphicOpacity = graphic.opacity;
+                }
+                if(graphic.size != undefined) {
+                    symbolizer.pointRadius = graphic.size;
+                }
+                if(graphic.rotation != undefined) {
+                    symbolizer.rotation = graphic.rotation;
+                }
+                if(graphic.href != undefined) {
+                    symbolizer.externalGraphic = graphic.href;
+                }
+            },
+            "ExternalGraphic": function(node, graphic) {
+                this.readChildNodes(node, graphic);
+            },
+            "Mark": function(node, graphic) {
+                this.readChildNodes(node, graphic);
+            },
+            "WellKnownName": function(node, graphic) {
+                graphic.graphicName = this.getChildValue(node);
+            },
+            "Opacity": function(node, obj) {
+                // No support for parsing of OGC expressions
+                var opacity = this.getChildValue(node);
+                // always string, could be empty string
+                if(opacity) {
+                    obj.opacity = opacity;
+                }
+            },
+            "Size": function(node, obj) {
+                // No support for parsing of OGC expressions
+                var size = this.getChildValue(node);
+                // always string, could be empty string
+                if(size) {
+                    obj.size = size;
+                }
+            },
+            "Rotation": function(node, obj) {
+                // No support for parsing of OGC expressions
+                var rotation = this.getChildValue(node);
+                // always string, could be empty string
+                if(rotation) {
+                    obj.rotation = rotation;
+                }
+            },
+            "OnlineResource": function(node, obj) {
+                obj.href = this.getAttributeNS(
+                    node, this.namespaces.xlink, "href"
+                );
+            },
+            "Format": function(node, graphic) {
+                graphic.graphicFormat = this.getChildValue(node);
+            }
+        },
+        "ogc": {
+            "Filter": function(node, rule) {
+                // Filters correspond to subclasses of OpenLayers.Rule.
+                // Since they contain information we don't persist, we
+                // create a temporary object and then pass on the rules
+                // (ogc:Filter) to the parent rule (sld:Rule).
+                var filter = {
+                    fids: [],
+                    rules: []
+                };
+                this.readChildNodes(node, filter);
+                if(filter.fids.length > 0) {
+                    rule.rules.push(new OpenLayers.Rule.FeatureId({
+                        fids: filter.fids
+                    }));
+                }
+                if(filter.rules.length > 0) {
+                    rule.rules = rule.rules.concat(filter.rules);
+                }
+            },
+            "FeatureId": function(node, filter) {
+                var fid = node.getAttribute("fid");
+                if(fid) {
+                    filter.fids.push(fid);
+                }
+            },
+            "And": function(node, filter) {
+                var rule = new OpenLayers.Rule.Logical({
+                    type: OpenLayers.Rule.Logical.AND
+                });
+                // since FeatureId rules may be nested here, make room for them
+                rule.fids = [];
+                this.readChildNodes(node, rule);
+                if(rule.fids.length > 0) {
+                    rule.rules.push(new OpenLayers.Rule.FeatureId({
+                        fids: rule.fids
+                    }));
+                }
+                delete rule.fids;
+                filter.rules.push(rule);
+            },
+            "Or": function(node, filter) {
+                var rule = new OpenLayers.Rule.Logical({
+                    type: OpenLayers.Rule.Logical.OR
+                });
+                // since FeatureId rules may be nested here, make room for them
+                rule.fids = [];
+                this.readChildNodes(node, rule);
+                if(rule.fids.length > 0) {
+                    rule.rules.push(new OpenLayers.Rule.FeatureId({
+                        fids: rule.fids
+                    }));
+                }
+                delete rule.fids;
+                filter.rules.push(rule);
+            },
+            "Not": function(node, filter) {
+                var rule = new OpenLayers.Rule.Logical({
+                    type: OpenLayers.Rule.Logical.NOT
+                });
+                // since FeatureId rules may be nested here, make room for them
+                rule.fids = [];
+                this.readChildNodes(node, rule);
+                if(rule.fids.length > 0) {
+                    rule.rules.push(new OpenLayers.Rule.FeatureId({
+                        fids: rule.fids
+                    }));
+                }
+                delete rule.fids;
+                filter.rules.push(rule);
+            },
+            "PropertyIsEqualTo": function(node, filter) {
+                var rule = new OpenLayers.Rule.Comparison({
+                    type: OpenLayers.Rule.Comparison.EQUAL_TO
+                });
+                this.readChildNodes(node, rule);
+                filter.rules.push(rule);
+            },
+            "PropertyIsNotEqualTo": function(node, filter) {
+                var rule = new OpenLayers.Rule.Comparison({
+                    type: OpenLayers.Rule.Comparison.NOT_EQUAL_TO
+                });
+                this.readChildNodes(node, rule);
+                filter.rules.push(rule);
+            },
+            "PropertyIsLessThan": function(node, filter) {
+                var rule = new OpenLayers.Rule.Comparison({
+                    type: OpenLayers.Rule.Comparison.LESS_THAN
+                });
+                this.readChildNodes(node, rule);
+                filter.rules.push(rule);
+            },
+            "PropertyIsGreaterThan": function(node, filter) {
+                var rule = new OpenLayers.Rule.Comparison({
+                    type: OpenLayers.Rule.Comparison.GREATER_THAN
+                });
+                this.readChildNodes(node, rule);
+                filter.rules.push(rule);
+            },
+            "PropertyIsLessThanOrEqualTo": function(node, filter) {
+                var rule = new OpenLayers.Rule.Comparison({
+                    type: OpenLayers.Rule.Comparison.LESS_THAN_OR_EQUAL_TO
+                });
+                this.readChildNodes(node, rule);
+                filter.rules.push(rule);
+            },
+            "PropertyIsGreaterThanOrEqualTo": function(node, filter) {
+                var rule = new OpenLayers.Rule.Comparison({
+                    type: OpenLayers.Rule.Comparison.GREATER_THAN_OR_EQUAL_TO
+                });
+                this.readChildNodes(node, rule);
+                filter.rules.push(rule);
+            },
+            "PropertyIsBetween": function(node, filter) {
+                var rule = new OpenLayers.Rule.Comparison({
+                    type: OpenLayers.Rule.Comparison.BETWEEN
+                });
+                this.readChildNodes(node, rule);
+                filter.rules.push(rule);
+            },
+            "PropertyIsLike": function(node, filter) {
+                var rule = new OpenLayers.Rule.Comparison({
+                    type: OpenLayers.Rule.Comparison.LIKE
+                });
+                this.readChildNodes(node, rule);
+                var wildCard = node.getAttribute("wildCard");
+                var singleChar = node.getAttribute("singleChar");
+                var esc = node.getAttribute("escape");
+                rule.value2regex(wildCard, singleChar, esc);
+                filter.rules.push(rule);
+            },
+            "Literal": function(node, obj) {
+                obj.value = this.getChildValue(node);
+            },
+            "PropertyName": function(node, rule) {
+                rule.property = this.getChildValue(node);
+            },
+            "LowerBoundary": function(node, rule) {
+                rule.lowerBoundary = this.readOgcExpression(node);
+            },
+            "UpperBoundary": function(node, rule) {
+                rule.upperBoundary = this.readOgcExpression(node);
+            }
+        }
+    },
+    
+    /**
+     * Method: readOgcExpression
+     * Limited support for OGC expressions.
+     *
+     * Parameters:
+     * node - {DOMElement} A DOM element that contains an ogc:expression.
+     *
+     * Returns:
+     * {String} A value to be used in a symbolizer.
+     */
+    readOgcExpression: function(node) {
+        var obj = {};
+        this.readChildNodes(node, obj);
+        var value = obj.value;
+        if(!value) {
+            value = this.getChildValue(node);
+        }
+        return value;
+    },
+    
+    /**
+     * Property: cssMap
+     * {Object} Object mapping supported css property names to OpenLayers
+     *     symbolizer property names.
+     */
+    cssMap: {
+        "stroke": "strokeColor",
+        "stroke-opacity": "strokeOpacity",
+        "stroke-width": "strokeWidth",
+        "stroke-linecap": "strokeLinecap",
+        "fill": "fillColor",
+        "fill-opacity": "fillOpacity"
+    },
+    
+    /**
+     * Method: getCssProperty
+     * Given a symbolizer property, get the corresponding CSS property
+     *     from the <cssMap>.
+     *
+     * Parameters:
+     * sym - {String} A symbolizer property name.
+     *
+     * Returns:
+     * {String} A CSS property name or null if none found.
+     */
+    getCssProperty: function(sym) {
+        var css = null;
+        for(var prop in this.cssMap) {
+            if(this.cssMap[prop] == sym) {
+                css = prop;
+                break;
+            }
+        }
+        return css;
+    },
+    
+    /**
+     * Method: getGraphicFormat
+     * Given a href for an external graphic, try to determine the mime-type.
+     *     This method doesn't try too hard, and will fall back to
+     *     <defautlGraphicFormat> if one of the known <graphicFormats> is not
+     *     the file extension of the provided href.
+     *
+     * Parameters:
+     * href - {String}
+     *
+     * Returns:
+     * {String} The graphic format.
+     */
+    getGraphicFormat: function(href) {
+        var format, regex;
+        for(var key in this.graphicFormats) {
+            if(this.graphicFormats[key].test(href)) {
+                format = key;
+                break;
+            }
+        }
+        return format || this.defautlGraphicFormat;
+    },
+    
+    /**
+     * Property: defaultGraphicFormat
+     * {String} If none other can be determined from <getGraphicFormat>, this
+     *     default will be returned.
+     */
+    defaultGraphicFormat: "image/png",
+    
+    /**
+     * Property: graphicFormats
+     * {Object} Mapping of image mime-types to regular extensions matching 
+     *     well-known file extensions.
+     */
+    graphicFormats: {
+        "image/jpeg": /\.jpe?g$/i,
+        "image/gif": /\.gif$/i,
+        "image/png": /\.png$/i
+    },
+
+    /**
+     * Method: write
+     *
+     * Parameters:
+     * sld - {Object} An object representing the SLD.
+     *
+     * Returns:
+     * {DOMElement} The root of an SLD document.
+     */
+    write: function(sld) {
+        return this.writers.sld.StyledLayerDescriptor.apply(this, [sld]);
+    },
+    
+    /**
+     * Property: writers
+     * As a compliment to the readers property, this structure contains public
+     *     writing functions grouped by namespace alias and named like the
+     *     node names they produce.
+     */
+    writers: {
+        "sld": {
+            "StyledLayerDescriptor": function(sld) {
+                var root = this.createElementNSPlus(
+                    "StyledLayerDescriptor",
+                    {attributes: {
+                        "version": this.VERSION,
+                        "xsi:schemaLocation": this.schemaLocation
+                    }}
+                );
+                // add in optional name
+                if(sld.name) {
+                    this.writeNode(root, "Name", sld.name);
+                }
+                // add in optional title
+                if(sld.title) {
+                    this.writeNode(root, "Title", sld.title);
+                }
+                // add in optional description
+                if(sld.description) {
+                    this.writeNode(root, "Abstract", sld.description);
+                }
+                // add in named layers
+                for(var name in sld.namedLayers) {
+                    this.writeNode(root, "NamedLayer", sld.namedLayers[name]);
+                }
+                return root;
+            },
+            "Name": function(name) {
+                return this.createElementNSPlus("Name", {value: name});
+            },
+            "Title": function(title) {
+                return this.createElementNSPlus("Title", {value: title});
+            },
+            "Abstract": function(description) {
+                return this.createElementNSPlus(
+                    "Abstract", {value: description}
+                );
+            },
+            "NamedLayer": function(layer) {
+                var node = this.createElementNSPlus("NamedLayer");
+
+                // add in required name
+                this.writeNode(node, "Name", layer.name);
+
+                // optional sld:LayerFeatureConstraints here
+
+                // add in named styles
+                if(layer.namedStyles) {
+                    for(var i=0; i<layer.namedStyles.length; ++i) {
+                        this.writeNode(
+                            node, "NamedStyle", layer.namedStyles[i]
+                        );
+                    }
+                }
+                
+                // add in user styles
+                if(layer.userStyles) {
+                    for(var i=0; i<layer.userStyles.length; ++i) {
+                        this.writeNode(
+                            node, "UserStyle", layer.userStyles[i]
+                        );
+                    }
+                }
+                
+                return node;
+            },
+            "NamedStyle": function(name) {
+                var node = this.createElementNSPlus("NamedStyle");
+                this.writeNode(node, "Name", name);
+                return node;
+            },
+            "UserStyle": function(style) {
+                var node = this.createElementNSPlus("UserStyle");
+
+                // add in optional name
+                if(style.name) {
+                    this.writeNode(node, "Name", style.name);
+                }
+                // add in optional title
+                if(style.title) {
+                    this.writeNode(node, "Title", style.title);
+                }
+                // add in optional description
+                if(style.description) {
+                    this.writeNode(node, "Abstract", style.description);
+                }
+                
+                // add isdefault
+                if(style.isDefault) {
+                    this.writeNode(node, "IsDefault", style.isDefault);
+                }
+                
+                // add FeatureTypeStyles
+                this.writeNode(node, "FeatureTypeStyle", style);
+                
+                return node;
+            },
+            "IsDefault": function(bool) {
+                return this.createElementNSPlus(
+                    "IsDefault", {value: (bool) ? "1" : "0"}
+                );
+            },
+            "FeatureTypeStyle": function(style) {
+                var node = this.createElementNSPlus("FeatureTypeStyle");
+                
+                // OpenLayers currently stores no Name, Title, Abstract,
+                // FeatureTypeName, or SemanticTypeIdentifier information
+                // related to FeatureTypeStyle
+                
+                // add in rules
+                for(var i=0; i<style.rules.length; ++i) {
+                    this.writeNode(node, "Rule", style.rules[i]);
+                }
+                
+                return node;
+            },
+            "Rule": function(rule) {
+                var node = this.createElementNSPlus("Rule");
+
+                // add in optional name
+                if(rule.name) {
+                    this.writeNode(node, "Name", rule.name);
+                }
+                // add in optional title
+                if(rule.title) {
+                    this.writeNode(node, "Title", rule.title);
+                }
+                // add in optional description
+                if(rule.description) {
+                    this.writeNode(node, "Abstract", rule.description);
+                }
+                
+                // add in LegendGraphic here
+                
+                // add in optional filters
+                if(rule.elseFilter) {
+                    this.writeNode(node, "ElseFilter");
+                } else if(rule.CLASS_NAME != "OpenLayers.Rule") {
+                    this.writeNode(node, "ogc:Filter", rule);
+                }
+                
+                // add in scale limits
+                if(rule.minScaleDenominator != undefined) {
+                    this.writeNode(
+                        node, "MinScaleDenominator", rule.minScaleDenominator
+                    );
+                }
+                if(rule.maxScaleDenominator != undefined) {
+                    this.writeNode(
+                        node, "MaxScaleDenominator", rule.maxScaleDenominator
+                    );
+                }
+                
+                // add in symbolizers (relies on geometry type keys)
+                var types = OpenLayers.Style.SYMBOLIZER_PREFIXES;
+                var type, symbolizer;
+                for(var i=0; i<types.length; ++i) {
+                    type = types[i];
+                    symbolizer = rule.symbolizer[type];
+                    if(symbolizer) {
+                        this.writeNode(
+                            node, type + "Symbolizer", symbolizer
+                        );
+                    }
+                }
+                return node;
+
+            },
+            "ElseFilter": function() {
+                return this.createElementNSPlus("ElseFilter");
+            },
+            "MinScaleDenominator": function(scale) {
+                return this.createElementNSPlus(
+                    "MinScaleDenominator", {value: scale}
+                );
+            },
+            "MaxScaleDenominator": function(scale) {
+                return this.createElementNSPlus(
+                    "MaxScaleDenominator", {value: scale}
+                );
+            },
+            "LineSymbolizer": function(symbolizer) {
+                var node = this.createElementNSPlus("LineSymbolizer");
+                this.writeNode(node, "Stroke", symbolizer);
+                return node;
+            },
+            "Stroke": function(symbolizer) {
+                var node = this.createElementNSPlus("Stroke");
+
+                // GraphicFill here
+                // GraphicStroke here
+
+                // add in CssParameters
+                if(symbolizer.strokeColor != undefined) {
+                    this.writeNode(
+                        node, "CssParameter",
+                        {symbolizer: symbolizer, key: "strokeColor"}
+                    );
+                }
+                if(symbolizer.strokeOpacity != undefined) {
+                    this.writeNode(
+                        node, "CssParameter",
+                        {symbolizer: symbolizer, key: "strokeOpacity"}
+                    );
+                }
+                if(symbolizer.strokeWidth != undefined) {
+                    this.writeNode(
+                        node, "CssParameter",
+                        {symbolizer: symbolizer, key: "strokeWidth"}
+                    );
+                }
+                return node;
+            },
+            "CssParameter": function(obj) {
+                // not handling ogc:expressions for now
+                return this.createElementNSPlus("CssParameter", {
+                    attributes: {name: this.getCssProperty(obj.key)},
+                    value: obj.symbolizer[obj.key]
+                });
+            },
+            "PolygonSymbolizer": function(symbolizer) {
+                var node = this.createElementNSPlus("PolygonSymbolizer");
+                this.writeNode(node, "Fill", symbolizer);
+                this.writeNode(node, "Stroke", symbolizer);
+                return node;
+            },
+            "Fill": function(symbolizer) {
+                var node = this.createElementNSPlus("Fill");
+                
+                // GraphicFill here
+                
+                // add in CssParameters
+                if(symbolizer.fillColor) {
+                    this.writeNode(
+                        node, "CssParameter",
+                        {symbolizer: symbolizer, key: "fillColor"}
+                    );
+                }
+                if(symbolizer.fillOpacity) {
+                    this.writeNode(
+                        node, "CssParameter",
+                        {symbolizer: symbolizer, key: "fillOpacity"}
+                    );
+                }
+                return node;
+            },
+            "PointSymbolizer": function(symbolizer) {
+                var node = this.createElementNSPlus("PointSymbolizer");
+                this.writeNode(node, "Graphic", symbolizer);
+                return node;
+            },
+            "Graphic": function(symbolizer) {
+                var node = this.createElementNSPlus("Graphic");
+                if(symbolizer.externalGraphic != undefined) {
+                    this.writeNode(node, "ExternalGraphic", symbolizer);
+                } else if(symbolizer.graphicName) {
+                    this.writeNode(node, "Mark", symbolizer);
+                }
+                
+                if(symbolizer.graphicOpacity != undefined) {
+                    this.writeNode(node, "Opacity", symbolizer.graphicOpacity);
+                }
+                if(symbolizer.pointRadius != undefined) {
+                    this.writeNode(node, "Size", symbolizer.pointRadius);
+                }
+                if(symbolizer.rotation != undefined) {
+                    this.writeNode(node, "Rotation", symbolizer.rotation);
+                }
+                return node;
+            },
+            "ExternalGraphic": function(symbolizer) {
+                var node = this.createElementNSPlus("ExternalGraphic");
+                this.writeNode(
+                    node, "OnlineResource", symbolizer.externalGraphic
+                );
+                var format = symbolizer.graphicFormat ||
+                             this.getGraphicFormat(symbolizer.externalGraphic);
+                this.writeNode(node, "Format", format);
+                return node;
+            },
+            "Mark": function(symbolizer) {
+                var node = this.createElementNSPlus("Mark");
+                this.writeNode(node, "WellKnownName", symbolizer.graphicName);
+                this.writeNode(node, "Fill", symbolizer);
+                this.writeNode(node, "Stroke", symbolizer);
+                return node;
+            },
+            "WellKnownName": function(name) {
+                return this.createElementNSPlus("WellKnownName", {
+                    value: name
+                });
+            },
+            "Opacity": function(value) {
+                return this.createElementNSPlus("Opacity", {
+                    value: value
+                });
+            },
+            "Size": function(value) {
+                return this.createElementNSPlus("Size", {
+                    value: value
+                });
+            },
+            "Rotation": function(value) {
+                return this.createElementNSPlus("Rotation", {
+                    value: value
+                });
+            },
+            "OnlineResource": function(href) {
+                return this.createElementNSPlus("OnlineResource", {
+                    attributes: {
+                        "xlink:type": "simple",
+                        "xlink:href": href
+                    }
+                });
+            },
+            "Format": function(format) {
+                return this.createElementNSPlus("Format", {
+                    value: format
+                });
+            }
+        },
+        "ogc": {
+            "Filter": function(rule) {
+                var node = this.createElementNSPlus("ogc:Filter");
+                var sub = rule.CLASS_NAME.split(".").pop();
+                if(sub == "FeatureId") {
+                    for(var i=0; i<rule.fids.length; ++i) {
+                        this.writeNode(node, "FeatureId", rule.fids[i]);
+                    }
+                } else {
+                    this.writeNode(node, this.getFilterType(rule), rule);
+                }
+                return node;
+            },
+            "FeatureId": function(fid) {
+                return this.createElementNSPlus("ogc:FeatureId", {
+                    attributes: {fid: fid}
+                });
+            },
+            "And": function(rule) {
+                var node = this.createElementNSPlus("ogc:And");
+                var childRule;
+                for(var i=0; i<rule.rules.length; ++i) {
+                    childRule = rule.rules[i];
+                    this.writeNode(
+                        node, this.getFilterType(childRule), childRule
+                    );
+                }
+                return node;
+            },
+            "Or": function(rule) {
+                var node = this.createElementNSPlus("ogc:Or");
+                var childRule;
+                for(var i=0; i<rule.rules.length; ++i) {
+                    childRule = rule.rules[i];
+                    this.writeNode(
+                        node, this.getFilterType(childRule), childRule
+                    );
+                }
+                return node;
+            },
+            "Not": function(rule) {
+                var node = this.createElementNSPlus("ogc:Not");
+                var childRule = rule.rules[0];
+                this.writeNode(
+                    node, this.getFilterType(childRule), childRule
+                );
+                return node;
+            },
+            "PropertyIsEqualTo": function(rule) {
+                var node = this.createElementNSPlus("ogc:PropertyIsEqualTo");
+                // no ogc:expression handling for now
+                this.writeNode(node, "PropertyName", rule);
+                this.writeNode(node, "Literal", rule);
+                return node;
+            },
+            "PropertyIsNotEqualTo": function(rule) {
+                var node = this.createElementNSPlus("ogc:PropertyIsNotEqualTo");
+                // no ogc:expression handling for now
+                this.writeNode(node, "PropertyName", rule);
+                this.writeNode(node, "Literal", rule);
+                return node;
+            },
+            "PropertyIsLessThan": function(rule) {
+                var node = this.createElementNSPlus("ogc:PropertyIsLessThan");
+                // no ogc:expression handling for now
+                this.writeNode(node, "PropertyName", rule);
+                this.writeNode(node, "Literal", rule);                
+                return node;
+            },
+            "PropertyIsGreaterThan": function(rule) {
+                var node = this.createElementNSPlus("ogc:PropertyIsGreaterThan");
+                // no ogc:expression handling for now
+                this.writeNode(node, "PropertyName", rule);
+                this.writeNode(node, "Literal", rule);
+                return node;
+            },
+            "PropertyIsLessThanOrEqualTo": function(rule) {
+                var node = this.createElementNSPlus("ogc:PropertyIsLessThanOrEqualTo");
+                // no ogc:expression handling for now
+                this.writeNode(node, "PropertyName", rule);
+                this.writeNode(node, "Literal", rule);
+                return node;
+            },
+            "PropertyIsGreaterThanOrEqualTo": function(rule) {
+                var node = this.createElementNSPlus("ogc:PropertyIsGreaterThanOrEqualTo");
+                // no ogc:expression handling for now
+                this.writeNode(node, "PropertyName", rule);
+                this.writeNode(node, "Literal", rule);
+                return node;
+            },
+            "PropertyIsBetween": function(rule) {
+                var node = this.createElementNSPlus("ogc:PropertyIsBetween");
+                // no ogc:expression handling for now
+                this.writeNode(node, "PropertyName", rule);
+                this.writeNode(node, "LowerBoundary", rule);
+                this.writeNode(node, "UpperBoundary", rule);
+                return node;
+            },
+            "PropertyIsLike": function(rule) {
+                var node = this.createElementNSPlus("ogc:PropertyIsLike", {
+                    attributes: {
+                        wildCard: "*", singleChar: ".", escape: "!"
+                    }
+                });
+                // no ogc:expression handling for now
+                this.writeNode(node, "PropertyName", rule);
+                // convert regex string to ogc string
+                this.writeNode(node, "Literal", {value: rule.regex2value()});
+                return node;
+            },
+            "PropertyName": function(rule) {
+                // no ogc:expression handling for now
+                return this.createElementNSPlus("ogc:PropertyName", {
+                    value: rule.property
+                });
+            },
+            "Literal": function(rule) {
+                // no ogc:expression handling for now
+                return this.createElementNSPlus("ogc:Literal", {
+                    value: rule.value
+                });
+            },
+            "LowerBoundary": function(rule) {
+                // no ogc:expression handling for now
+                var node = this.createElementNSPlus("ogc:LowerBoundary");
+                this.writeNode(node, "Literal", rule.lowerBoundary);
+                return node;
+            },
+            "UpperBoundary": function(rule) {
+                // no ogc:expression handling for now
+                var node = this.createElementNSPlus("ogc:UpperBoundary");
+                this.writeNode(node, "Literal", rule.upperBoundary);
+                return node;
+            }
+        }
+    },
+    
+    /**
+     * Method: getFilterType
+     */
+    getFilterType: function(rule) {
+        var filterType = this.filterMap[rule.type];
+        if(!filterType) {
+            throw "SLD writing not supported for rule type: " + rule.type;
+        }
+        return filterType;
+    },
+    
+    /**
+     * Property: filterMap
+     * {Object} Contains a member for each rule type.  Values are node names
+     *     for corresponding OGC Filter child elements.
+     */
+    filterMap: {
+        "&&": "And",
+        "||": "Or",
+        "!": "Not",
+        "==": "PropertyIsEqualTo",
+        "!=": "PropertyIsNotEqualTo",
+        "<": "PropertyIsLessThan",
+        ">": "PropertyIsGreaterThan",
+        "<=": "PropertyIsLessThanOrEqualTo",
+        ">=": "PropertyIsGreaterThanOrEqualTo",
+        "..": "PropertyIsBetween",
+        "~": "PropertyIsLike"
+    },
+    
+
+    /**
+     * Methods below this point are of general use for versioned XML parsers.
+     * These are candidates for an abstract class.
+     */
+    
+    /**
+     * Method: getNamespacePrefix
+     * Get the namespace prefix for a given uri from the <namespaces> object.
+     *
+     * Returns:
+     * {String} A namespace prefix or null if none found.
+     */
+    getNamespacePrefix: function(uri) {
+        var prefix = null;
+        if(uri == null) {
+            prefix = this.namespaces[this.defaultPrefix];
+        } else {
+            var gotPrefix = false;
+            for(prefix in this.namespaces) {
+                if(this.namespaces[prefix] == uri) {
+                    gotPrefix = true;
+                    break;
+                }
+            }
+            if(!gotPrefix) {
+                prefix = null;
+            }
+        }
+        return prefix;
+    },
+
+
+    /**
+     * Method: readChildNodes
+     */
+    readChildNodes: function(node, obj) {
+        var children = node.childNodes;
+        var child, group, reader, prefix, local;
+        for(var i=0; i<children.length; ++i) {
+            child = children[i];
+            if(child.nodeType == 1) {
+                prefix = this.getNamespacePrefix(child.namespaceURI);
+                local = child.nodeName.split(":").pop();
+                group = this.readers[prefix];
+                if(group) {
+                    reader = group[local];
+                    if(reader) {
+                        reader.apply(this, [child, obj]);
+                    }
+                }
+            }
+        }
+    },
+
+    /**
+     * Method: writeNode
+     * Shorthand for applying one of the named writers and appending the
+     *     results to a node.  If a qualified name is not provided for the
+     *     second argument (and a local name is used instead), the namespace
+     *     of the parent node will be assumed.
+     *
+     * Parameters:
+     * parent - {DOMElement} Result will be appended to this node.
+     * name - {String} The name of a node to generate.  If a qualified name
+     *     (e.g. "pre:Name") is used, the namespace prefix is assumed to be
+     *     in the <writers> group.  If a local name is used (e.g. "Name") then
+     *     the namespace of the parent is assumed.
+     * obj - {Object} Structure containing data for the writer.
+     *
+     * Returns:
+     * {DOMElement} The child node.
+     */
+    writeNode: function(parent, name, obj) {
+        var prefix, local;
+        var split = name.indexOf(":");
+        if(split > 0) {
+            prefix = name.substring(0, split);
+            local = name.substring(split + 1);
+        } else {
+            prefix = this.getNamespacePrefix(parent.namespaceURI);
+            local = name;
+        }
+        var child = this.writers[prefix][local].apply(this, [obj]);
+        parent.appendChild(child);
+        return child;
+    },
+    
+    /**
+     * Method: createElementNSPlus
+     * Shorthand for creating namespaced elements with optional attributes and
+     *     child text nodes.
+     *
+     * Parameters:
+     * name - {String} The qualified node name.
+     * options - {Object} Optional object for node configuration.
+     *
+     * Returns:
+     * {Element} An element node.
+     */
+    createElementNSPlus: function(name, options) {
+        options = options || {};
+        var loc = name.indexOf(":");
+        // order of prefix preference
+        // 1. in the uri option
+        // 2. in the prefix option
+        // 3. in the qualified name
+        // 4. from the defaultPrefix
+        var uri = options.uri || this.namespaces[options.prefix];
+        if(!uri) {
+            loc = name.indexOf(":");
+            uri = this.namespaces[name.substring(0, loc)];
+        }
+        if(!uri) {
+            uri = this.namespaces[this.defaultPrefix];
+        }
+        var node = this.createElementNS(uri, name);
+        if(options.attributes) {
+            this.setAttributes(node, options.attributes);
+        }
+        if(options.value) {
+            node.appendChild(this.createTextNode(options.value));
+        }
+        return node;
+    },
+    
+    /**
+     * Method: setAttributes
+     * Set multiple attributes given key value pairs from an object.
+     *
+     * Parameters:
+     * node - {Element} An element node.
+     * obj - {Object || Array} An object whose properties represent attribute
+     *     names and values represent attribute values.  If an attribute name
+     *     is a qualified name ("prefix:local"), the prefix will be looked up
+     *     in the parsers {namespaces} object.  If the prefix is found,
+     *     setAttributeNS will be used instead of setAttribute.
+     */
+    setAttributes: function(node, obj) {
+        var value, loc, alias, uri;
+        for(var name in obj) {
+            value = obj[name].toString();
+            // check for qualified attribute name ("prefix:local")
+            uri = this.namespaces[name.substring(0, name.indexOf(":"))] || null;
+            this.setAttributeNS(node, uri, name, value);
+        }
+    },
+
+    CLASS_NAME: "OpenLayers.Format.SLD.v1" 
+
+});
+/* ======================================================================
+    OpenLayers/Geometry/Curve.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Geometry/MultiPoint.js
+ */
+
+/**
+ * Class: OpenLayers.Geometry.Curve
+ * A Curve is a MultiPoint, whose points are assumed to be connected. To 
+ * this end, we provide a "getLength()" function, which iterates through 
+ * the points, summing the distances between them. 
+ * 
+ * Inherits: 
+ *  - <OpenLayers.Geometry.MultiPoint>
+ */
+OpenLayers.Geometry.Curve = OpenLayers.Class(OpenLayers.Geometry.MultiPoint, {
+
+    /**
+     * Property: componentTypes
+     * {Array(String)} An array of class names representing the types of 
+     *                 components that the collection can include.  A null 
+     *                 value means the component types are not restricted.
+     */
+    componentTypes: ["OpenLayers.Geometry.Point"],
+
+    /**
+     * Constructor: OpenLayers.Geometry.Curve
+     * 
+     * Parameters:
+     * point - {Array(<OpenLayers.Geometry.Point>)}
+     */
+    initialize: function(points) {
+        OpenLayers.Geometry.MultiPoint.prototype.initialize.apply(this, 
+                                                                  arguments);
+    },
+    
+    /**
+     * APIMethod: getLength
+     * 
+     * Returns:
+     * {Float} The length of the curve
+     */
+    getLength: function() {
+        var length = 0.0;
+        if ( this.components && (this.components.length > 1)) {
+            for(var i=1; i < this.components.length; i++) {
+                length += this.components[i-1].distanceTo(this.components[i]);
+            }
+        }
+        return length;
+    },
+
+    CLASS_NAME: "OpenLayers.Geometry.Curve"
+});
+/* ======================================================================
+    OpenLayers/Format/SLD/v1_0_0.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Format/SLD/v1.js
+ */
+
+/**
+ * Class: OpenLayers.Format.SLD.v1_0_0
+ * Write SLD version 1.0.0.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Format.SLD.v1>
+ */
+OpenLayers.Format.SLD.v1_0_0 = OpenLayers.Class(
+    OpenLayers.Format.SLD.v1, {
+    
+    /**
+     * Constant: VERSION
+     * {String} 1.0.0
+     */
+    VERSION: "1.0.0",
+    
+    /**
+     * Property: schemaLocation
+     * {String} http://www.opengis.net/sld
+     *   http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd
+     */
+    schemaLocation: "http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd",
+
+    /**
+     * Constructor: OpenLayers.Format.SLD.v1_0_0
+     * Instances of this class are not created directly.  Use the
+     *     <OpenLayers.Format.SLD> constructor instead.
+     *
+     * Parameters:
+     * options - {Object} An optional object whose properties will be set on
+     *     this instance.
+     */
+    initialize: function(options) {
+        OpenLayers.Format.SLD.v1.prototype.initialize.apply(
+            this, [options]
+        );
+    },
+
+    CLASS_NAME: "OpenLayers.Format.SLD.v1_0_0" 
+
+});
+/* ======================================================================
+    OpenLayers/Geometry/LineString.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Geometry/Curve.js
+ */
+
+/**
+ * Class: OpenLayers.Geometry.LineString
+ * A LineString is a Curve which, once two points have been added to it, can 
+ * never be less than two points long.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Geometry.Curve>
+ */
+OpenLayers.Geometry.LineString = OpenLayers.Class(OpenLayers.Geometry.Curve, {
+
+    /**
+     * Constructor: OpenLayers.Geometry.LineString
+     * Create a new LineString geometry
+     *
+     * Parameters:
+     * points - {Array(<OpenLayers.Geometry.Point>)} An array of points used to
+     *          generate the linestring
+     *
+     */
+    initialize: function(points) {
+        OpenLayers.Geometry.Curve.prototype.initialize.apply(this, arguments);        
+    },
+
+    /**
+     * APIMethod: removeComponent
+     * Only allows removal of a point if there are three or more points in 
+     * the linestring. (otherwise the result would be just a single point)
+     *
+     * Parameters: 
+     * point - {<OpenLayers.Geometry.Point>} The point to be removed
+     */
+    removeComponent: function(point) {
+        if ( this.components && (this.components.length > 2)) {
+            OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this, 
+                                                                  arguments);
+        }
+    },
+    
+    /**
+     * APIMethod: intersects
+     * Test for instersection between two geometries.  This is a cheapo
+     *     implementation of the Bently-Ottmann algorigithm.  It doesn't
+     *     really keep track of a sweep line data structure.  It is closer
+     *     to the brute force method, except that segments are sorted and
+     *     potential intersections are only calculated when bounding boxes
+     *     intersect.
+     *
+     * Parameters:
+     * geometry - {<OpenLayers.Geometry>}
+     *
+     * Returns:
+     * {Boolean} The input geometry intersects this geometry.
+     */
+    intersects: function(geometry) {
+        var intersect = false;
+        var type = geometry.CLASS_NAME;
+        if(type == "OpenLayers.Geometry.LineString" ||
+           type == "OpenLayers.Geometry.LinearRing" ||
+           type == "OpenLayers.Geometry.Point") {
+            var segs1 = this.getSortedSegments();
+            var segs2;
+            if(type == "OpenLayers.Geometry.Point") {
+                segs2 = [{
+                    x1: geometry.x, y1: geometry.y,
+                    x2: geometry.x, y2: geometry.y
+                }];
+            } else {
+                segs2 = geometry.getSortedSegments();
+            }
+            var seg1, seg1x1, seg1x2, seg1y1, seg1y2,
+                seg2, seg2y1, seg2y2;
+            // sweep right
+            outer: for(var i=0; i<segs1.length; ++i) {
+                seg1 = segs1[i];
+                seg1x1 = seg1.x1;
+                seg1x2 = seg1.x2;
+                seg1y1 = seg1.y1;
+                seg1y2 = seg1.y2;
+                inner: for(var j=0; j<segs2.length; ++j) {
+                    seg2 = segs2[j];
+                    if(seg2.x1 > seg1x2) {
+                        // seg1 still left of seg2
+                        break;
+                    }
+                    if(seg2.x2 < seg1x1) {
+                        // seg2 still left of seg1
+                        continue;
+                    }
+                    seg2y1 = seg2.y1;
+                    seg2y2 = seg2.y2;
+                    if(Math.min(seg2y1, seg2y2) > Math.max(seg1y1, seg1y2)) {
+                        // seg2 above seg1
+                        continue;
+                    }
+                    if(Math.max(seg2y1, seg2y2) < Math.min(seg1y1, seg1y2)) {
+                        // seg2 below seg1
+                        continue;
+                    }
+                    if(OpenLayers.Geometry.segmentsIntersect(seg1, seg2)) {
+                        intersect = true;
+                        break outer;
+                    }
+                }
+            }
+        } else {
+            intersect = geometry.intersects(this);
+        }
+        return intersect;
+    },
+    
+    /**
+     * Method: getSortedSegments
+     *
+     * Returns:
+     * {Array} An array of segment objects.  Segment objects have properties
+     *     x1, y1, x2, and y2.  The start point is represented by x1 and y1.
+     *     The end point is represented by x2 and y2.  Start and end are
+     *     ordered so that x1 < x2.
+     */
+    getSortedSegments: function() {
+        var numSeg = this.components.length - 1;
+        var segments = new Array(numSeg);
+        for(var i=0; i<numSeg; ++i) {
+            point1 = this.components[i];
+            point2 = this.components[i + 1];
+            if(point1.x < point2.x) {
+                segments[i] = {
+                    x1: point1.x,
+                    y1: point1.y,
+                    x2: point2.x,
+                    y2: point2.y
+                };
+            } else {
+                segments[i] = {
+                    x1: point2.x,
+                    y1: point2.y,
+                    x2: point1.x,
+                    y2: point1.y
+                };
+            }
+        }
+        // more efficient to define this somewhere static
+        function byX1(seg1, seg2) {
+            return seg1.x1 - seg2.x1;
+        }
+        return segments.sort(byX1);
+    },
+
+    CLASS_NAME: "OpenLayers.Geometry.LineString"
+});
+/* ======================================================================
+    OpenLayers/Format/GML.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Format/XML.js
+ * @requires OpenLayers/Feature/Vector.js
+ * @requires OpenLayers/Geometry/Point.js
+ * @requires OpenLayers/Geometry/MultiPoint.js
+ * @requires OpenLayers/Geometry/LineString.js
+ * @requires OpenLayers/Geometry/MultiLineString.js
+ * @requires OpenLayers/Geometry/Polygon.js
+ * @requires OpenLayers/Geometry/MultiPolygon.js
+ */
+
+/**
+ * Class: OpenLayers.Format.GML
+ * Read/Wite GML. Create a new instance with the <OpenLayers.Format.GML>
+ *     constructor.  Supports the GML simple features profile.
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Format>
+ */
+OpenLayers.Format.GML = OpenLayers.Class(OpenLayers.Format.XML, {
+    
+    /*
+     * APIProperty: featureNS
+     * {String} Namespace used for feature attributes.  Default is
+     *     "http://mapserver.gis.umn.edu/mapserver".
+     */
+    featureNS: "http://mapserver.gis.umn.edu/mapserver",
+    
+    /**
+     * APIProperty: featurePrefix
+     * {String} Namespace alias (or prefix) for feature nodes.  Default is
+     *     "feature".
+     */
+    featurePrefix: "feature",
+    
+    /*
+     * APIProperty: featureName
+     * {String} Element name for features. Default is "featureMember".
+     */
+    featureName: "featureMember", 
+    
+    /*
+     * APIProperty: layerName
+     * {String} Name of data layer. Default is "features".
+     */
+    layerName: "features",
+    
+    /**
+     * APIProperty: geometry
+     * {String} Name of geometry element.  Defaults to "geometry".
+     */
+    geometryName: "geometry",
+    
+    /** 
+     * APIProperty: collectionName
+     * {String} Name of featureCollection element.
+     */
+    collectionName: "FeatureCollection",
+    
+    /**
+     * APIProperty: gmlns
+     * {String} GML Namespace.
+     */
+    gmlns: "http://www.opengis.net/gml",
+
+    /**
+     * APIProperty: extractAttributes
+     * {Boolean} Extract attributes from GML.
+     */
+    extractAttributes: true,
+    
+    /**
+     * APIProperty: xy
+     * {Boolean} Order of the GML coordinate true:(x,y) or false:(y,x)
+     * Changing is not recommended, a new Format should be instantiated.
+     */ 
+    xy: true,
+    
+    /**
+     * Constructor: OpenLayers.Format.GML
+     * Create a new parser for GML.
+     *
+     * Parameters:
+     * options - {Object} An optional object whose properties will be set on
+     *     this instance.
+     */
+    initialize: function(options) {
+        // compile regular expressions once instead of every time they are used
+        this.regExes = {
+            trimSpace: (/^\s*|\s*$/g),
+            removeSpace: (/\s*/g),
+            splitSpace: (/\s+/),
+            trimComma: (/\s*,\s*/g)
+        };
+        OpenLayers.Format.XML.prototype.initialize.apply(this, [options]);
+    },
+
+    /**
+     * APIMethod: read
+     * Read data from a string, and return a list of features. 
+     * 
+     * Parameters:
+     * data - {String} or {DOMElement} data to read/parse.
+     *
+     * Returns:
+     * {Array(<OpenLayers.Feature.Vector>)} An array of features.
+     */
+    read: function(data) {
+        if(typeof data == "string") { 
+            data = OpenLayers.Format.XML.prototype.read.apply(this, [data]);
+        }
+        var featureNodes = this.getElementsByTagNameNS(data.documentElement,
+                                                       this.gmlns,
+                                                       this.featureName);
+        var features = [];
+        for(var i=0; i<featureNodes.length; i++) {
+            var feature = this.parseFeature(featureNodes[i]);
+            if(feature) {
+                features.push(feature);
+            }
+        }
+        return features;
+    },
+    
+    /**
+     * Method: parseFeature
+     * This function is the core of the GML parsing code in OpenLayers.
+     *    It creates the geometries that are then attached to the returned
+     *    feature, and calls parseAttributes() to get attribute data out.
+     *    
+     * Parameters:
+     * node - {DOMElement} A GML feature node. 
+     */
+    parseFeature: function(node) {
+        // only accept on geometry per feature - look for highest "order"
+        var order = ["MultiPolygon", "Polygon",
+                     "MultiLineString", "LineString",
+                     "MultiPoint", "Point", "Envelope"];
+        var type, nodeList, geometry, parser;
+        for(var i=0; i<order.length; ++i) {
+            type = order[i];
+            nodeList = this.getElementsByTagNameNS(node, this.gmlns, type);
+            if(nodeList.length > 0) {
+                // only deal with first geometry of this type
+                var parser = this.parseGeometry[type.toLowerCase()];
+                if(parser) {
+                    geometry = parser.apply(this, [nodeList[0]]);
+                    if (this.internalProjection && this.externalProjection) {
+                        geometry.transform(this.externalProjection, 
+                                           this.internalProjection); 
+                    }                       
+                } else {
+                    OpenLayers.Console.error(OpenLayers.i18n(
+                                "unsupportedGeometryType", {'geomType':type}));
+                }
+                // stop looking for different geometry types
+                break;
+            }
+        }
+        
+        // construct feature (optionally with attributes)
+        var attributes;
+        if(this.extractAttributes) {
+            attributes = this.parseAttributes(node);
+        }
+        var feature = new OpenLayers.Feature.Vector(geometry, attributes);
+        // assign fid - this can come from a "fid" or "id" attribute
+        var childNode = node.firstChild;
+        var fid;
+        while(childNode) {
+            if(childNode.nodeType == 1) {
+                fid = childNode.getAttribute("fid") ||
+                      childNode.getAttribute("id");
+                if(fid) {
+                    break;
+                }
+            }
+            childNode = childNode.nextSibling;
+        }
+        feature.fid = fid;
+        return feature;
+    },
+    
+    /**
+     * Property: parseGeometry
+     * Properties of this object are the functions that parse geometries based
+     *     on their type.
+     */
+    parseGeometry: {
+        
+        /**
+         * Method: parseGeometry.point
+         * Given a GML node representing a point geometry, create an OpenLayers
+         *     point geometry.
+         *
+         * Parameters:
+         * node - {DOMElement} A GML node.
+         *
+         * Returns:
+         * {<OpenLayers.Geometry.Point>} A point geometry.
+         */
+        point: function(node) {
+            /**
+             * Three coordinate variations to consider:
+             * 1) <gml:pos>x y z</gml:pos>
+             * 2) <gml:coordinates>x, y, z</gml:coordinates>
+             * 3) <gml:coord><gml:X>x</gml:X><gml:Y>y</gml:Y></gml:coord>
+             */
+            var nodeList, coordString;
+            var coords = [];
+
+            // look for <gml:pos>
+            var nodeList = this.getElementsByTagNameNS(node, this.gmlns, "pos");
+            if(nodeList.length > 0) {
+                coordString = nodeList[0].firstChild.nodeValue;
+                coordString = coordString.replace(this.regExes.trimSpace, "");
+                coords = coordString.split(this.regExes.splitSpace);
+            }
+
+            // look for <gml:coordinates>
+            if(coords.length == 0) {
+                nodeList = this.getElementsByTagNameNS(node, this.gmlns,
+                                                       "coordinates");
+                if(nodeList.length > 0) {
+                    coordString = nodeList[0].firstChild.nodeValue;
+                    coordString = coordString.replace(this.regExes.removeSpace,
+                                                      "");
+                    coords = coordString.split(",");
+                }
+            }
+
+            // look for <gml:coord>
+            if(coords.length == 0) {
+                nodeList = this.getElementsByTagNameNS(node, this.gmlns,
+                                                       "coord");
+                if(nodeList.length > 0) {
+                    var xList = this.getElementsByTagNameNS(nodeList[0],
+                                                            this.gmlns, "X");
+                    var yList = this.getElementsByTagNameNS(nodeList[0],
+                                                            this.gmlns, "Y");
+                    if(xList.length > 0 && yList.length > 0) {
+                        coords = [xList[0].firstChild.nodeValue,
+                                  yList[0].firstChild.nodeValue];
+                    }
+                }
+            }
+                
+            // preserve third dimension
+            if(coords.length == 2) {
+                coords[2] = null;
+            }
+            
+            if (this.xy) {
+                return new OpenLayers.Geometry.Point(coords[0], coords[1],
+                                                 coords[2]);
+            }
+            else{
+                return new OpenLayers.Geometry.Point(coords[1], coords[0],
+                                                 coords[2]);
+            }
+        },
+        
+        /**
+         * Method: parseGeometry.multipoint
+         * Given a GML node representing a multipoint geometry, create an
+         *     OpenLayers multipoint geometry.
+         *
+         * Parameters:
+         * node - {DOMElement} A GML node.
+         *
+         * Returns:
+         * {<OpenLayers.Geometry.MultiPoint>} A multipoint geometry.
+         */
+        multipoint: function(node) {
+            var nodeList = this.getElementsByTagNameNS(node, this.gmlns,
+                                                       "Point");
+            var components = [];
+            if(nodeList.length > 0) {
+                var point;
+                for(var i=0; i<nodeList.length; ++i) {
+                    point = this.parseGeometry.point.apply(this, [nodeList[i]]);
+                    if(point) {
+                        components.push(point);
+                    }
+                }
+            }
+            return new OpenLayers.Geometry.MultiPoint(components);
+        },
+        
+        /**
+         * Method: parseGeometry.linestring
+         * Given a GML node representing a linestring geometry, create an
+         *     OpenLayers linestring geometry.
+         *
+         * Parameters:
+         * node - {DOMElement} A GML node.
+         *
+         * Returns:
+         * {<OpenLayers.Geometry.LineString>} A linestring geometry.
+         */
+        linestring: function(node, ring) {
+            /**
+             * Two coordinate variations to consider:
+             * 1) <gml:posList dimension="d">x0 y0 z0 x1 y1 z1</gml:posList>
+             * 2) <gml:coordinates>x0, y0, z0 x1, y1, z1</gml:coordinates>
+             */
+            var nodeList, coordString;
+            var coords = [];
+            var points = [];
+
+            // look for <gml:posList>
+            nodeList = this.getElementsByTagNameNS(node, this.gmlns, "posList");
+            if(nodeList.length > 0) {
+                coordString = this.concatChildValues(nodeList[0]);
+                coordString = coordString.replace(this.regExes.trimSpace, "");
+                coords = coordString.split(this.regExes.splitSpace);
+                var dim = parseInt(nodeList[0].getAttribute("dimension"));
+                var j, x, y, z;
+                for(var i=0; i<coords.length/dim; ++i) {
+                    j = i * dim;
+                    x = coords[j];
+                    y = coords[j+1];
+                    z = (dim == 2) ? null : coords[j+2];
+                    if (this.xy) {
+                        points.push(new OpenLayers.Geometry.Point(x, y, z));
+                    } else {
+                        points.push(new OpenLayers.Geometry.Point(y, x, z));
+                    }
+                }
+            }
+
+            // look for <gml:coordinates>
+            if(coords.length == 0) {
+                nodeList = this.getElementsByTagNameNS(node, this.gmlns,
+                                                       "coordinates");
+                if(nodeList.length > 0) {
+                    coordString = this.concatChildValues(nodeList[0]);
+                    coordString = coordString.replace(this.regExes.trimSpace,
+                                                      "");
+                    coordString = coordString.replace(this.regExes.trimComma,
+                                                      ",");
+                    var pointList = coordString.split(this.regExes.splitSpace);
+                    for(var i=0; i<pointList.length; ++i) {
+                        coords = pointList[i].split(",");
+                        if(coords.length == 2) {
+                            coords[2] = null;
+                        }
+                        if (this.xy) {
+                            points.push(new OpenLayers.Geometry.Point(coords[0],
+                                                                  coords[1],
+                                                                  coords[2]));
+                        } else {
+                            points.push(new OpenLayers.Geometry.Point(coords[1],
+                                                                  coords[0],
+                                                                  coords[2]));
+                        }
+                    }
+                }
+            }
+
+            var line = null;
+            if(points.length != 0) {
+                if(ring) {
+                    line = new OpenLayers.Geometry.LinearRing(points);
+                } else {
+                    line = new OpenLayers.Geometry.LineString(points);
+                }
+            }
+            return line;
+        },
+        
+        /**
+         * Method: parseGeometry.multilinestring
+         * Given a GML node representing a multilinestring geometry, create an
+         *     OpenLayers multilinestring geometry.
+         *
+         * Parameters:
+         * node - {DOMElement} A GML node.
+         *
+         * Returns:
+         * {<OpenLayers.Geometry.MultiLineString>} A multilinestring geometry.
+         */
+        multilinestring: function(node) {
+            var nodeList = this.getElementsByTagNameNS(node, this.gmlns,
+                                                       "LineString");
+            var components = [];
+            if(nodeList.length > 0) {
+                var line;
+                for(var i=0; i<nodeList.length; ++i) {
+                    line = this.parseGeometry.linestring.apply(this,
+                                                               [nodeList[i]]);
+                    if(line) {
+                        components.push(line);
+                    }
+                }
+            }
+            return new OpenLayers.Geometry.MultiLineString(components);
+        },
+        
+        /**
+         * Method: parseGeometry.polygon
+         * Given a GML node representing a polygon geometry, create an
+         *     OpenLayers polygon geometry.
+         *
+         * Parameters:
+         * node - {DOMElement} A GML node.
+         *
+         * Returns:
+         * {<OpenLayers.Geometry.Polygon>} A polygon geometry.
+         */
+        polygon: function(node) {
+            var nodeList = this.getElementsByTagNameNS(node, this.gmlns,
+                                                       "LinearRing");
+            var components = [];
+            if(nodeList.length > 0) {
+                // this assumes exterior ring first, inner rings after
+                var ring;
+                for(var i=0; i<nodeList.length; ++i) {
+                    ring = this.parseGeometry.linestring.apply(this,
+                                                        [nodeList[i], true]);
+                    if(ring) {
+                        components.push(ring);
+                    }
+                }
+            }
+            return new OpenLayers.Geometry.Polygon(components);
+        },
+        
+        /**
+         * Method: parseGeometry.multipolygon
+         * Given a GML node representing a multipolygon geometry, create an
+         *     OpenLayers multipolygon geometry.
+         *
+         * Parameters:
+         * node - {DOMElement} A GML node.
+         *
+         * Returns:
+         * {<OpenLayers.Geometry.MultiPolygon>} A multipolygon geometry.
+         */
+        multipolygon: function(node) {
+            var nodeList = this.getElementsByTagNameNS(node, this.gmlns,
+                                                       "Polygon");
+            var components = [];
+            if(nodeList.length > 0) {
+                var polygon;
+                for(var i=0; i<nodeList.length; ++i) {
+                    polygon = this.parseGeometry.polygon.apply(this,
+                                                               [nodeList[i]]);
+                    if(polygon) {
+                        components.push(polygon);
+                    }
+                }
+            }
+            return new OpenLayers.Geometry.MultiPolygon(components);
+        },
+        
+        envelope: function(node) {
+            var components = [];
+            var coordString;
+            var envelope;
+            
+            var lpoint = this.getElementsByTagNameNS(node, this.gmlns, "lowerCorner");
+            if (lpoint.length > 0) {
+                var coords = [];
+                
+                if(lpoint.length > 0) {
+                    coordString = lpoint[0].firstChild.nodeValue;
+                    coordString = coordString.replace(this.regExes.trimSpace, "");
+                    coords = coordString.split(this.regExes.splitSpace);
+                }
+                
+                if(coords.length == 2) {
+                    coords[2] = null;
+                }
+                if (this.xy) {
+                    var lowerPoint = new OpenLayers.Geometry.Point(coords[0], coords[1],coords[2]);
+                } else {
+                    var lowerPoint = new OpenLayers.Geometry.Point(coords[1], coords[0],coords[2]);
+                }
+            }
+            
+            var upoint = this.getElementsByTagNameNS(node, this.gmlns, "upperCorner");
+            if (upoint.length > 0) {
+                var coords = [];
+                
+                if(upoint.length > 0) {
+                    coordString = upoint[0].firstChild.nodeValue;
+                    coordString = coordString.replace(this.regExes.trimSpace, "");
+                    coords = coordString.split(this.regExes.splitSpace);
+                }
+                
+                if(coords.length == 2) {
+                    coords[2] = null;
+                }
+                if (this.xy) {
+                    var upperPoint = new OpenLayers.Geometry.Point(coords[0], coords[1],coords[2]);
+                } else {
+                    var upperPoint = new OpenLayers.Geometry.Point(coords[1], coords[0],coords[2]);
+                }
+            }
+            
+            if (lowerPoint && upperPoint) {
+                components.push(new OpenLayers.Geometry.Point(lowerPoint.x, lowerPoint.y));
+                components.push(new OpenLayers.Geometry.Point(upperPoint.x, lowerPoint.y));
+                components.push(new OpenLayers.Geometry.Point(upperPoint.x, upperPoint.y));
+                components.push(new OpenLayers.Geometry.Point(lowerPoint.x, upperPoint.y));
+                components.push(new OpenLayers.Geometry.Point(lowerPoint.x, lowerPoint.y));
+                
+                var ring = new OpenLayers.Geometry.LinearRing(components);
+                envelope = new OpenLayers.Geometry.Polygon([ring]);
+            }
+            return envelope; 
+        }
+    },
+    
+    /**
+     * Method: parseAttributes
+     *
+     * Parameters:
+     * node - {<DOMElement>}
+     *
+     * Returns:
+     * {Object} An attributes object.
+     */
+    parseAttributes: function(node) {
+        var attributes = {};
+        // assume attributes are children of the first type 1 child
+        var childNode = node.firstChild;
+        var children, i, child, grandchildren, grandchild, name, value;
+        while(childNode) {
+            if(childNode.nodeType == 1) {
+                // attributes are type 1 children with one type 3 child
+                children = childNode.childNodes;
+                for(i=0; i<children.length; ++i) {
+                    child = children[i];
+                    if(child.nodeType == 1) {
+                        grandchildren = child.childNodes;
+                        if(grandchildren.length == 1) {
+                            grandchild = grandchildren[0];
+                            if(grandchild.nodeType == 3 ||
+                               grandchild.nodeType == 4) {
+                                name = (child.prefix) ?
+                                        child.nodeName.split(":")[1] :
+                                        child.nodeName;
+                                value = grandchild.nodeValue.replace(
+                                                this.regExes.trimSpace, "");
+                                attributes[name] = value;
+                            }
+                        }
+                    }
+                }
+                break;
+            }
+            childNode = childNode.nextSibling;
+        }
+        return attributes;
+    },
+    
+    /**
+     * APIMethod: write
+     * Generate a GML document string given a list of features. 
+     * 
+     * Parameters:
+     * features - {Array(<OpenLayers.Feature.Vector>)} List of features to
+     *     serialize into a string.
+     *
+     * Returns:
+     * {String} A string representing the GML document.
+     */
+    write: function(features) {
+        if(!(features instanceof Array)) {
+            features = [features];
+        }
+        var gml = this.createElementNS("http://www.opengis.net/wfs",
+                                       "wfs:" + this.collectionName);
+        for(var i=0; i<features.length; i++) {
+            gml.appendChild(this.createFeatureXML(features[i]));
+        }
+        return OpenLayers.Format.XML.prototype.write.apply(this, [gml]);
+    },
+
+    /** 
+     * Method: createFeatureXML
+     * Accept an OpenLayers.Feature.Vector, and build a GML node for it.
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>} The feature to be built as GML.
+     *
+     * Returns:
+     * {DOMElement} A node reprensting the feature in GML.
+     */
+    createFeatureXML: function(feature) {
+        var geometry = feature.geometry;
+        var geometryNode = this.buildGeometryNode(geometry);
+        var geomContainer = this.createElementNS(this.featureNS,
+                                                 this.featurePrefix + ":" +
+                                                 this.geometryName);
+        geomContainer.appendChild(geometryNode);
+        var featureNode = this.createElementNS(this.gmlns,
+                                               "gml:" + this.featureName);
+        var featureContainer = this.createElementNS(this.featureNS,
+                                                    this.featurePrefix + ":" +
+                                                    this.layerName);
+        var fid = feature.fid || feature.id;
+        featureContainer.setAttribute("fid", fid);
+        featureContainer.appendChild(geomContainer);
+        for(var attr in feature.attributes) {
+            var attrText = this.createTextNode(feature.attributes[attr]); 
+            var nodename = attr.substring(attr.lastIndexOf(":") + 1);
+            var attrContainer = this.createElementNS(this.featureNS,
+                                                     this.featurePrefix + ":" +
+                                                     nodename);
+            attrContainer.appendChild(attrText);
+            featureContainer.appendChild(attrContainer);
+        }    
+        featureNode.appendChild(featureContainer);
+        return featureNode;
+    },
+    
+    /**
+     * APIMethod: buildGeometryNode
+     */
+    buildGeometryNode: function(geometry) {
+        if (this.externalProjection && this.internalProjection) {
+            geometry = geometry.clone();
+            geometry.transform(this.internalProjection, 
+                               this.externalProjection);
+        }    
+        var className = geometry.CLASS_NAME;
+        var type = className.substring(className.lastIndexOf(".") + 1);
+        var builder = this.buildGeometry[type.toLowerCase()];
+        return builder.apply(this, [geometry]);
+    },
+
+    /**
+     * Property: buildGeometry
+     * Object containing methods to do the actual geometry node building
+     *     based on geometry type.
+     */
+    buildGeometry: {
+        // TBD retrieve the srs from layer
+        // srsName is non-standard, so not including it until it's right.
+        // gml.setAttribute("srsName",
+        //                  "http://www.opengis.net/gml/srs/epsg.xml#4326");
+
+        /**
+         * Method: buildGeometry.point
+         * Given an OpenLayers point geometry, create a GML point.
+         *
+         * Parameters:
+         * geometry - {<OpenLayers.Geometry.Point>} A point geometry.
+         *
+         * Returns:
+         * {DOMElement} A GML point node.
+         */
+        point: function(geometry) {
+            var gml = this.createElementNS(this.gmlns, "gml:Point");
+            gml.appendChild(this.buildCoordinatesNode(geometry));
+            return gml;
+        },
+        
+        /**
+         * Method: buildGeometry.multipoint
+         * Given an OpenLayers multipoint geometry, create a GML multipoint.
+         *
+         * Parameters:
+         * geometry - {<OpenLayers.Geometry.MultiPoint>} A multipoint geometry.
+         *
+         * Returns:
+         * {DOMElement} A GML multipoint node.
+         */
+        multipoint: function(geometry) {
+            var gml = this.createElementNS(this.gmlns, "gml:MultiPoint");
+            var points = geometry.components;
+            var pointMember, pointGeom;
+            for(var i=0; i<points.length; i++) { 
+                pointMember = this.createElementNS(this.gmlns,
+                                                   "gml:pointMember");
+                pointGeom = this.buildGeometry.point.apply(this,
+                                                               [points[i]]);
+                pointMember.appendChild(pointGeom);
+                gml.appendChild(pointMember);
+            }
+            return gml;            
+        },
+        
+        /**
+         * Method: buildGeometry.linestring
+         * Given an OpenLayers linestring geometry, create a GML linestring.
+         *
+         * Parameters:
+         * geometry - {<OpenLayers.Geometry.LineString>} A linestring geometry.
+         *
+         * Returns:
+         * {DOMElement} A GML linestring node.
+         */
+        linestring: function(geometry) {
+            var gml = this.createElementNS(this.gmlns, "gml:LineString");
+            gml.appendChild(this.buildCoordinatesNode(geometry));
+            return gml;
+        },
+        
+        /**
+         * Method: buildGeometry.multilinestring
+         * Given an OpenLayers multilinestring geometry, create a GML
+         *     multilinestring.
+         *
+         * Parameters:
+         * geometry - {<OpenLayers.Geometry.MultiLineString>} A multilinestring
+         *     geometry.
+         *
+         * Returns:
+         * {DOMElement} A GML multilinestring node.
+         */
+        multilinestring: function(geometry) {
+            var gml = this.createElementNS(this.gmlns, "gml:MultiLineString");
+            var lines = geometry.components;
+            var lineMember, lineGeom;
+            for(var i=0; i<lines.length; ++i) {
+                lineMember = this.createElementNS(this.gmlns,
+                                                  "gml:lineStringMember");
+                lineGeom = this.buildGeometry.linestring.apply(this,
+                                                                   [lines[i]]);
+                lineMember.appendChild(lineGeom);
+                gml.appendChild(lineMember);
+            }
+            return gml;
+        },
+        
+        /**
+         * Method: buildGeometry.linearring
+         * Given an OpenLayers linearring geometry, create a GML linearring.
+         *
+         * Parameters:
+         * geometry - {<OpenLayers.Geometry.LinearRing>} A linearring geometry.
+         *
+         * Returns:
+         * {DOMElement} A GML linearring node.
+         */
+        linearring: function(geometry) {
+            var gml = this.createElementNS(this.gmlns, "gml:LinearRing");
+            gml.appendChild(this.buildCoordinatesNode(geometry));
+            return gml;
+        },
+        
+        /**
+         * Method: buildGeometry.polygon
+         * Given an OpenLayers polygon geometry, create a GML polygon.
+         *
+         * Parameters:
+         * geometry - {<OpenLayers.Geometry.Polygon>} A polygon geometry.
+         *
+         * Returns:
+         * {DOMElement} A GML polygon node.
+         */
+        polygon: function(geometry) {
+            var gml = this.createElementNS(this.gmlns, "gml:Polygon");
+            var rings = geometry.components;
+            var ringMember, ringGeom, type;
+            for(var i=0; i<rings.length; ++i) {
+                type = (i==0) ? "outerBoundaryIs" : "innerBoundaryIs";
+                ringMember = this.createElementNS(this.gmlns,
+                                                  "gml:" + type);
+                ringGeom = this.buildGeometry.linearring.apply(this,
+                                                                   [rings[i]]);
+                ringMember.appendChild(ringGeom);
+                gml.appendChild(ringMember);
+            }
+            return gml;
+        },
+        
+        /**
+         * Method: buildGeometry.multipolygon
+         * Given an OpenLayers multipolygon geometry, create a GML multipolygon.
+         *
+         * Parameters:
+         * geometry - {<OpenLayers.Geometry.MultiPolygon>} A multipolygon
+         *     geometry.
+         *
+         * Returns:
+         * {DOMElement} A GML multipolygon node.
+         */
+        multipolygon: function(geometry) {
+            var gml = this.createElementNS(this.gmlns, "gml:MultiPolygon");
+            var polys = geometry.components;
+            var polyMember, polyGeom;
+            for(var i=0; i<polys.length; ++i) {
+                polyMember = this.createElementNS(this.gmlns,
+                                                  "gml:polygonMember");
+                polyGeom = this.buildGeometry.polygon.apply(this,
+                                                                [polys[i]]);
+                polyMember.appendChild(polyGeom);
+                gml.appendChild(polyMember);
+            }
+            return gml;
+        }
+    },
+
+    /**
+     * Method: buildCoordinates
+     * builds the coordinates XmlNode
+     * (code)
+     * <gml:coordinates decimal="." cs="," ts=" ">...</gml:coordinates>
+     * (end)
+     * Parameters: 
+     * geometry - {<OpenLayers.Geometry>} 
+     *
+     * Returns:
+     * {XmlNode} created xmlNode
+     */
+    buildCoordinatesNode: function(geometry) {
+        var coordinatesNode = this.createElementNS(this.gmlns,
+                                                   "gml:coordinates");
+        coordinatesNode.setAttribute("decimal", ".");
+        coordinatesNode.setAttribute("cs", ",");
+        coordinatesNode.setAttribute("ts", " ");
+        
+        var points = (geometry.components) ? geometry.components : [geometry];
+        var parts = [];
+        for(var i=0; i<points.length; i++) {
+            parts.push(points[i].x + "," + points[i].y);
+        }
+
+        var txtNode = this.createTextNode(parts.join(" "));
+        coordinatesNode.appendChild(txtNode);
+        
+        return coordinatesNode;
+    },
+
+    CLASS_NAME: "OpenLayers.Format.GML" 
+});
+/* ======================================================================
+    OpenLayers/Format/GeoJSON.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Format/JSON.js
+ * @requires OpenLayers/Feature/Vector.js
+ * @requires OpenLayers/Geometry/Point.js
+ * @requires OpenLayers/Geometry/MultiPoint.js
+ * @requires OpenLayers/Geometry/LineString.js
+ * @requires OpenLayers/Geometry/MultiLineString.js
+ * @requires OpenLayers/Geometry/Polygon.js
+ * @requires OpenLayers/Geometry/MultiPolygon.js
+ */
+
+/**
+ * Class: OpenLayers.Format.GeoJSON
+ * Read and write GeoJSON. Create a new parser with the
+ *     <OpenLayers.Format.GeoJSON> constructor.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Format.JSON>
+ */
+OpenLayers.Format.GeoJSON = OpenLayers.Class(OpenLayers.Format.JSON, {
+
+    /**
+     * Constructor: OpenLayers.Format.GeoJSON
+     * Create a new parser for GeoJSON.
+     *
+     * Parameters:
+     * options - {Object} An optional object whose properties will be set on
+     *     this instance.
+     */
+    initialize: function(options) {
+        OpenLayers.Format.JSON.prototype.initialize.apply(this, [options]);
+    },
+
+    /**
+     * APIMethod: read
+     * Deserialize a GeoJSON string.
+     *
+     * Parameters:
+     * json - {String} A GeoJSON string
+     * type - {String} Optional string that determines the structure of
+     *     the output.  Supported values are "Geometry", "Feature", and
+     *     "FeatureCollection".  If absent or null, a default of
+     *     "FeatureCollection" is assumed.
+     * filter - {Function} A function which will be called for every key and
+     *     value at every level of the final result. Each value will be
+     *     replaced by the result of the filter function. This can be used to
+     *     reform generic objects into instances of classes, or to transform
+     *     date strings into Date objects.
+     *
+     * Returns: 
+     * {Object} The return depends on the value of the type argument. If type
+     *     is "FeatureCollection" (the default), the return will be an array
+     *     of <OpenLayers.Feature.Vector>. If type is "Geometry", the input json
+     *     must represent a single geometry, and the return will be an
+     *     <OpenLayers.Geometry>.  If type is "Feature", the input json must
+     *     represent a single feature, and the return will be an
+     *     <OpenLayers.Feature.Vector>.
+     */
+    read: function(json, type, filter) {
+        type = (type) ? type : "FeatureCollection";
+        var results = null;
+        var obj = null;
+        if (typeof json == "string") {
+            obj = OpenLayers.Format.JSON.prototype.read.apply(this,
+                                                              [json, filter]);
+        } else { 
+            obj = json;
+        }    
+        if(!obj) {
+            OpenLayers.Console.error("Bad JSON: " + json);
+        } else if(typeof(obj.type) != "string") {
+            OpenLayers.Console.error("Bad GeoJSON - no type: " + json);
+        } else if(this.isValidType(obj, type)) {
+            switch(type) {
+                case "Geometry":
+                    try {
+                        results = this.parseGeometry(obj);
+                    } catch(err) {
+                        OpenLayers.Console.error(err);
+                    }
+                    break;
+                case "Feature":
+                    try {
+                        results = this.parseFeature(obj);
+                        results.type = "Feature";
+                    } catch(err) {
+                        OpenLayers.Console.error(err);
+                    }
+                    break;
+                case "FeatureCollection":
+                    // for type FeatureCollection, we allow input to be any type
+                    results = [];
+                    switch(obj.type) {
+                        case "Feature":
+                            try {
+                                results.push(this.parseFeature(obj));
+                            } catch(err) {
+                                results = null;
+                                OpenLayers.Console.error(err);
+                            }
+                            break;
+                        case "FeatureCollection":
+                            for(var i=0; i<obj.features.length; ++i) {
+                                try {
+                                    results.push(this.parseFeature(obj.features[i]));
+                                } catch(err) {
+                                    results = null;
+                                    OpenLayers.Console.error(err);
+                                }
+                            }
+                            break;
+                        default:
+                            try {
+                                var geom = this.parseGeometry(obj);
+                                results.push(new OpenLayers.Feature.Vector(geom));
+                            } catch(err) {
+                                results = null;
+                                OpenLayers.Console.error(err);
+                            }
+                    }
+                break;
+            }
+        }
+        return results;
+    },
+    
+    /**
+     * Method: isValidType
+     * Check if a GeoJSON object is a valid representative of the given type.
+     *
+     * Returns:
+     * {Boolean} The object is valid GeoJSON object of the given type.
+     */
+    isValidType: function(obj, type) {
+        var valid = false;
+        switch(type) {
+            case "Geometry":
+                if(OpenLayers.Util.indexOf(
+                    ["Point", "MultiPoint", "LineString", "MultiLineString",
+                     "Polygon", "MultiPolygon", "Box", "GeometryCollection"],
+                    obj.type) == -1) {
+                    // unsupported geometry type
+                    OpenLayers.Console.error("Unsupported geometry type: " +
+                                              obj.type);
+                } else {
+                    valid = true;
+                }
+                break;
+            case "FeatureCollection":
+                // allow for any type to be converted to a feature collection
+                valid = true;
+                break;
+            default:
+                // for Feature types must match
+                if(obj.type == type) {
+                    valid = true;
+                } else {
+                    OpenLayers.Console.error("Cannot convert types from " +
+                                              obj.type + " to " + type);
+                }
+        }
+        return valid;
+    },
+    
+    /**
+     * Method: parseFeature
+     * Convert a feature object from GeoJSON into an
+     *     <OpenLayers.Feature.Vector>.
+     *
+     * Parameters:
+     * obj - {Object} An object created from a GeoJSON object
+     *
+     * Returns:
+     * {<OpenLayers.Feature.Vector>} A feature.
+     */
+    parseFeature: function(obj) {
+        var feature, geometry, attributes;
+        attributes = (obj.properties) ? obj.properties : {};
+        try {
+            geometry = this.parseGeometry(obj.geometry);            
+        } catch(err) {
+            // deal with bad geometries
+            throw err;
+        }
+        feature = new OpenLayers.Feature.Vector(geometry, attributes);
+        if(obj.id) {
+            feature.fid = obj.id;
+        }
+        return feature;
+    },
+    
+    /**
+     * Method: parseGeometry
+     * Convert a geometry object from GeoJSON into an <OpenLayers.Geometry>.
+     *
+     * Parameters:
+     * obj - {Object} An object created from a GeoJSON object
+     *
+     * Returns: 
+     * {<OpenLayers.Geometry>} A geometry.
+     */
+    parseGeometry: function(obj) {
+        var geometry;
+        if(obj.type == "GeometryCollection") {
+            if(!(obj.geometries instanceof Array)) {
+                throw "GeometryCollection must have geometries array: " + obj;
+            }
+            var numGeom = obj.geometries.length;
+            var components = new Array(numGeom);
+            for(var i=0; i<numGeom; ++i) {
+                components[i] = this.parseGeometry.apply(
+                    this, [obj.geometries[i]]
+                );
+            }
+            geometry = new OpenLayers.Geometry.Collection(components);
+        } else {
+            if(!(obj.coordinates instanceof Array)) {
+                throw "Geometry must have coordinates array: " + obj;
+            }
+            if(!this.parseCoords[obj.type.toLowerCase()]) {
+                throw "Unsupported geometry type: " + obj.type;
+            }
+            try {
+                geometry = this.parseCoords[obj.type.toLowerCase()].apply(
+                    this, [obj.coordinates]
+                );
+            } catch(err) {
+                // deal with bad coordinates
+                throw err;
+            }
+        }
+        if (this.internalProjection && this.externalProjection) {
+            geometry.transform(this.externalProjection, 
+                               this.internalProjection); 
+        }                       
+        return geometry;
+    },
+    
+    /**
+     * Property: parseCoords
+     * Object with properties corresponding to the GeoJSON geometry types.
+     *     Property values are functions that do the actual parsing.
+     */
+    parseCoords: {
+        /**
+         * Method: parseCoords.point
+         * Convert a coordinate array from GeoJSON into an
+         *     <OpenLayers.Geometry>.
+         *
+         * Parameters:
+         * array - {Object} The coordinates array from the GeoJSON fragment.
+         *
+         * Returns:
+         * {<OpenLayers.Geometry>} A geometry.
+         */
+        "point": function(array) {
+            if(array.length != 2) {
+                throw "Only 2D points are supported: " + array;
+            }
+            return new OpenLayers.Geometry.Point(array[0], array[1]);
+        },
+        
+        /**
+         * Method: parseCoords.multipoint
+         * Convert a coordinate array from GeoJSON into an
+         *     <OpenLayers.Geometry>.
+         *
+         * Parameters:
+         * array {Object} The coordinates array from the GeoJSON fragment.
+         *
+         * Returns:
+         * {<OpenLayers.Geometry>} A geometry.
+         */
+        "multipoint": function(array) {
+            var points = [];
+            var p = null;
+            for(var i=0; i<array.length; ++i) {
+                try {
+                    p = this.parseCoords["point"].apply(this, [array[i]]);
+                } catch(err) {
+                    throw err;
+                }
+                points.push(p);
+            }
+            return new OpenLayers.Geometry.MultiPoint(points);
+        },
+
+        /**
+         * Method: parseCoords.linestring
+         * Convert a coordinate array from GeoJSON into an
+         *     <OpenLayers.Geometry>.
+         *
+         * Parameters:
+         * array - {Object} The coordinates array from the GeoJSON fragment.
+         *
+         * Returns:
+         * {<OpenLayers.Geometry>} A geometry.
+         */
+        "linestring": function(array) {
+            var points = [];
+            var p = null;
+            for(var i=0; i<array.length; ++i) {
+                try {
+                    p = this.parseCoords["point"].apply(this, [array[i]]);
+                } catch(err) {
+                    throw err;
+                }
+                points.push(p);
+            }
+            return new OpenLayers.Geometry.LineString(points);
+        },
+        
+        /**
+         * Method: parseCoords.multilinestring
+         * Convert a coordinate array from GeoJSON into an
+         *     <OpenLayers.Geometry>.
+         *
+         * Parameters:
+         * array - {Object} The coordinates array from the GeoJSON fragment.
+         *
+         * Returns:
+         * {<OpenLayers.Geometry>} A geometry.
+         */
+        "multilinestring": function(array) {
+            var lines = [];
+            var l = null;
+            for(var i=0; i<array.length; ++i) {
+                try {
+                    l = this.parseCoords["linestring"].apply(this, [array[i]]);
+                } catch(err) {
+                    throw err;
+                }
+                lines.push(l);
+            }
+            return new OpenLayers.Geometry.MultiLineString(lines);
+        },
+        
+        /**
+         * Method: parseCoords.polygon
+         * Convert a coordinate array from GeoJSON into an
+         *     <OpenLayers.Geometry>.
+         *
+         * Returns:
+         * {<OpenLayers.Geometry>} A geometry.
+         */
+        "polygon": function(array) {
+            var rings = [];
+            var r, l;
+            for(var i=0; i<array.length; ++i) {
+                try {
+                    l = this.parseCoords["linestring"].apply(this, [array[i]]);
+                } catch(err) {
+                    throw err;
+                }
+                r = new OpenLayers.Geometry.LinearRing(l.components);
+                rings.push(r);
+            }
+            return new OpenLayers.Geometry.Polygon(rings);
+        },
+
+        /**
+         * Method: parseCoords.multipolygon
+         * Convert a coordinate array from GeoJSON into an
+         *     <OpenLayers.Geometry>.
+         *
+         * Parameters:
+         * array - {Object} The coordinates array from the GeoJSON fragment.
+         *
+         * Returns:
+         * {<OpenLayers.Geometry>} A geometry.
+         */
+        "multipolygon": function(array) {
+            var polys = [];
+            var p = null;
+            for(var i=0; i<array.length; ++i) {
+                try {
+                    p = this.parseCoords["polygon"].apply(this, [array[i]]);
+                } catch(err) {
+                    throw err;
+                }
+                polys.push(p);
+            }
+            return new OpenLayers.Geometry.MultiPolygon(polys);
+        },
+
+        /**
+         * Method: parseCoords.box
+         * Convert a coordinate array from GeoJSON into an
+         *     <OpenLayers.Geometry>.
+         *
+         * Parameters:
+         * array - {Object} The coordinates array from the GeoJSON fragment.
+         *
+         * Returns:
+         * {<OpenLayers.Geometry>} A geometry.
+         */
+        "box": function(array) {
+            if(array.length != 2) {
+                throw "GeoJSON box coordinates must have 2 elements";
+            }
+            return new OpenLayers.Geometry.Polygon([
+                new OpenLayers.Geometry.LinearRing([
+                    new OpenLayers.Geometry.Point(array[0][0], array[0][1]),
+                    new OpenLayers.Geometry.Point(array[1][0], array[0][1]),
+                    new OpenLayers.Geometry.Point(array[1][0], array[1][1]),
+                    new OpenLayers.Geometry.Point(array[0][0], array[1][1]),
+                    new OpenLayers.Geometry.Point(array[0][0], array[0][1])
+                ])
+            ]);
+        }
+
+    },
+
+    /**
+     * APIMethod: write
+     * Serialize a feature, geometry, array of features into a GeoJSON string.
+     *
+     * Parameters:
+     * obj - {Object} An <OpenLayers.Feature.Vector>, <OpenLayers.Geometry>,
+     *     or an array of features.
+     * pretty - {Boolean} Structure the output with newlines and indentation.
+     *     Default is false.
+     *
+     * Returns:
+     * {String} The GeoJSON string representation of the input geometry,
+     *     features, or array of features.
+     */
+    write: function(obj, pretty) {
+        var geojson = {
+            "type": null
+        };
+        if(obj instanceof Array) {
+            geojson.type = "FeatureCollection";
+            var numFeatures = obj.length;
+            geojson.features = new Array(numFeatures);
+            for(var i=0; i<numFeatures; ++i) {
+                var element = obj[i];
+                if(!element instanceof OpenLayers.Feature.Vector) {
+                    var msg = "FeatureCollection only supports collections " +
+                              "of features: " + element;
+                    throw msg;
+                }
+                geojson.features[i] = this.extract.feature.apply(
+                    this, [element]
+                );
+            }
+        } else if (obj.CLASS_NAME.indexOf("OpenLayers.Geometry") == 0) {
+            geojson = this.extract.geometry.apply(this, [obj]);
+        } else if (obj instanceof OpenLayers.Feature.Vector) {
+            geojson = this.extract.feature.apply(this, [obj]);
+            if(obj.layer && obj.layer.projection) {
+                geojson.crs = this.createCRSObject(obj);
+            }
+        }
+        return OpenLayers.Format.JSON.prototype.write.apply(this,
+                                                            [geojson, pretty]);
+    },
+
+    /**
+     * Method: createCRSObject
+     * Create the CRS object for an object.
+     *
+     * Parameters:
+     * object - {<OpenLayers.Feature.Vector>} 
+     *
+     * Returns:
+     * {Object} An object which can be assigned to the crs property
+     * of a GeoJSON object.
+     */
+    createCRSObject: function(object) {
+       var proj = object.layer.projection.toString();
+       var crs = {};
+       if (proj.match(/epsg:/i)) {
+           var code = parseInt(proj.substring(proj.indexOf(":") + 1));
+           if (code == 4326) {
+               crs = {
+                   "type": "OGC",
+                   "properties": {
+                       "urn": "urn:ogc:def:crs:OGC:1.3:CRS84"
+                   }
+               };
+           } else {    
+               crs = {
+                   "type": "EPSG",
+                   "properties": {
+                       "code": code 
+                   }
+               };
+           }    
+       }
+       return crs;
+    },
+    
+    /**
+     * Property: extract
+     * Object with properties corresponding to the GeoJSON types.
+     *     Property values are functions that do the actual value extraction.
+     */
+    extract: {
+        /**
+         * Method: extract.feature
+         * Return a partial GeoJSON object representing a single feature.
+         *
+         * Parameters:
+         * feature - {<OpenLayers.Feature.Vector>}
+         *
+         * Returns:
+         * {Object} An object representing the point.
+         */
+        'feature': function(feature) {
+            var geom = this.extract.geometry.apply(this, [feature.geometry]);
+            return {
+                "type": "Feature",
+                "id": feature.fid == null ? feature.id : feature.fid,
+                "properties": feature.attributes,
+                "geometry": geom
+            };
+        },
+        
+        /**
+         * Method: extract.geometry
+         * Return a GeoJSON object representing a single geometry.
+         *
+         * Parameters:
+         * geometry - {<OpenLayers.Geometry>}
+         *
+         * Returns:
+         * {Object} An object representing the geometry.
+         */
+        'geometry': function(geometry) {
+            if (this.internalProjection && this.externalProjection) {
+                geometry = geometry.clone();
+                geometry.transform(this.internalProjection, 
+                                   this.externalProjection);
+            }                       
+            var geometryType = geometry.CLASS_NAME.split('.')[2];
+            var data = this.extract[geometryType.toLowerCase()].apply(this, [geometry]);
+            var json;
+            if(geometryType == "Collection") {
+                json = {
+                    "type": "GeometryCollection",
+                    "geometries": data
+                };
+            } else {
+                json = {
+                    "type": geometryType,
+                    "coordinates": data
+                };
+            }
+            
+            return json;
+        },
+
+        /**
+         * Method: extract.point
+         * Return an array of coordinates from a point.
+         *
+         * Parameters:
+         * point - {<OpenLayers.Geometry.Point>}
+         *
+         * Returns: 
+         * {Array} An array of coordinates representing the point.
+         */
+        'point': function(point) {
+            return [point.x, point.y];
+        },
+
+        /**
+         * Method: extract.multipoint
+         * Return an array of point coordinates from a multipoint.
+         *
+         * Parameters:
+         * multipoint - {<OpenLayers.Geometry.MultiPoint>}
+         *
+         * Returns:
+         * {Array} An array of point coordinate arrays representing
+         *     the multipoint.
+         */
+        'multipoint': function(multipoint) {
+            var array = [];
+            for(var i=0; i<multipoint.components.length; ++i) {
+                array.push(this.extract.point.apply(this, [multipoint.components[i]]));
+            }
+            return array;
+        },
+        
+        /**
+         * Method: extract.linestring
+         * Return an array of coordinate arrays from a linestring.
+         *
+         * Parameters:
+         * linestring - {<OpenLayers.Geometry.LineString>}
+         *
+         * Returns:
+         * {Array} An array of coordinate arrays representing
+         *     the linestring.
+         */
+        'linestring': function(linestring) {
+            var array = [];
+            for(var i=0; i<linestring.components.length; ++i) {
+                array.push(this.extract.point.apply(this, [linestring.components[i]]));
+            }
+            return array;
+        },
+
+        /**
+         * Method: extract.multilinestring
+         * Return an array of linestring arrays from a linestring.
+         * 
+         * Parameters:
+         * linestring - {<OpenLayers.Geometry.MultiLineString>}
+         * 
+         * Returns:
+         * {Array} An array of linestring arrays representing
+         *     the multilinestring.
+         */
+        'multilinestring': function(multilinestring) {
+            var array = [];
+            for(var i=0; i<multilinestring.components.length; ++i) {
+                array.push(this.extract.linestring.apply(this, [multilinestring.components[i]]));
+            }
+            return array;
+        },
+        
+        /**
+         * Method: extract.polygon
+         * Return an array of linear ring arrays from a polygon.
+         *
+         * Parameters:
+         * polygon - {<OpenLayers.Geometry.Polygon>}
+         * 
+         * Returns:
+         * {Array} An array of linear ring arrays representing the polygon.
+         */
+        'polygon': function(polygon) {
+            var array = [];
+            for(var i=0; i<polygon.components.length; ++i) {
+                array.push(this.extract.linestring.apply(this, [polygon.components[i]]));
+            }
+            return array;
+        },
+
+        /**
+         * Method: extract.multipolygon
+         * Return an array of polygon arrays from a multipolygon.
+         * 
+         * Parameters:
+         * multipolygon - {<OpenLayers.Geometry.MultiPolygon>}
+         * 
+         * Returns:
+         * {Array} An array of polygon arrays representing
+         *     the multipolygon
+         */
+        'multipolygon': function(multipolygon) {
+            var array = [];
+            for(var i=0; i<multipolygon.components.length; ++i) {
+                array.push(this.extract.polygon.apply(this, [multipolygon.components[i]]));
+            }
+            return array;
+        },
+        
+        /**
+         * Method: extract.collection
+         * Return an array of geometries from a geometry collection.
+         * 
+         * Parameters:
+         * collection - {<OpenLayers.Geometry.Collection>}
+         * 
+         * Returns:
+         * {Array} An array of geometry objects representing the geometry
+         *     collection.
+         */
+        'collection': function(collection) {
+            var len = collection.components.length;
+            var array = new Array(len);
+            for(var i=0; i<len; ++i) {
+                array[i] = this.extract.geometry.apply(
+                    this, [collection.components[i]]
+                );
+            }
+            return array;
+        }
+        
+
+    },
+
+    CLASS_NAME: "OpenLayers.Format.GeoJSON" 
+
+});     
+/* ======================================================================
+    OpenLayers/Format/GeoRSS.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Format/XML.js
+ * @requires OpenLayers/Feature/Vector.js
+ * @requires OpenLayers/Geometry/Point.js
+ * @requires OpenLayers/Geometry/LineString.js
+ * @requires OpenLayers/Geometry/Polygon.js
+ */
+
+/**
+ * Class: OpenLayers.Format.GeoRSS
+ * Read/write GeoRSS parser. Create a new instance with the 
+ *     <OpenLayers.Format.GeoRSS> constructor.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Format.XML>
+ */
+OpenLayers.Format.GeoRSS = OpenLayers.Class(OpenLayers.Format.XML, {
+    
+    /**
+     * APIProperty: rssns
+     * {String} RSS namespace to use. Defaults to
+     *   "http://backend.userland.com/rss2"
+     */
+    rssns: "http://backend.userland.com/rss2",
+    
+    /**
+     * APIProperty: featurens
+     * {String} Feature Attributes namespace.  Defaults to
+     *    "http://mapserver.gis.umn.edu/mapserver"
+     */
+    featureNS: "http://mapserver.gis.umn.edu/mapserver",
+    
+    /**
+     * APIProperty: georssns
+     * {String} GeoRSS namespace to use.  Defaults to
+     *     "http://www.georss.org/georss"
+     */
+    georssns: "http://www.georss.org/georss",
+
+    /**
+     * APIProperty: geons
+     * {String} W3C Geo namespace to use.  Defaults to
+     *     "http://www.w3.org/2003/01/geo/wgs84_pos#"
+     */
+    geons: "http://www.w3.org/2003/01/geo/wgs84_pos#",
+    
+    /**
+     * APIProperty: featureTitle
+     * {String} Default title for features.  Defaults to "Untitled"
+     */
+    featureTitle: "Untitled",
+    
+    /**
+     * APIProperty: featureDescription
+     * {String} Default description for features.  Defaults to "No Description"
+     */
+    featureDescription: "No Description",
+    
+    /**
+     * Property: gmlParse
+     * {Object} GML Format object for parsing features
+     * Non-API and only created if necessary
+     */
+    gmlParser: null,
+
+    /**
+     * APIProperty: xy
+     * {Boolean} Order of the GML coordinate: true:(x,y) or false:(y,x)
+     * For GeoRSS the default is (y,x), therefore: false
+     */ 
+    xy: false,
+    
+    /**
+     * Constructor: OpenLayers.Format.GeoRSS
+     * Create a new parser for GeoRSS.
+     *
+     * Parameters:
+     * options - {Object} An optional object whose properties will be set on
+     *     this instance.
+     */
+    initialize: function(options) {
+        OpenLayers.Format.XML.prototype.initialize.apply(this, [options]);
+    },
+    
+    /**
+     * Method: createGeometryFromItem
+     * Return a geometry from a GeoRSS Item.
+     *
+     * Parameters:
+     * item - {DOMElement} A GeoRSS item node.
+     *
+     * Returns:
+     * {<OpenLayers.Geometry>} A geometry representing the node.
+     */
+    createGeometryFromItem: function(item) {
+        var point = this.getElementsByTagNameNS(item, this.georssns, "point");
+        var lat = this.getElementsByTagNameNS(item, this.geons, 'lat');
+        var lon = this.getElementsByTagNameNS(item, this.geons, 'long');
+        
+        var line = this.getElementsByTagNameNS(item,
+                                                this.georssns,
+                                                "line");
+        var polygon = this.getElementsByTagNameNS(item,
+                                                this.georssns,
+                                                "polygon");
+        var where = this.getElementsByTagNameNS(item, 
+                                                this.georssns, 
+                                                "where");
+        if (point.length > 0 || (lat.length > 0 && lon.length > 0)) {
+            var location;
+            if (point.length > 0) {
+                location = OpenLayers.String.trim(
+                                point[0].firstChild.nodeValue).split(/\s+/);
+                if (location.length !=2) {
+                    location = OpenLayers.String.trim(
+                                point[0].firstChild.nodeValue).split(/\s*,\s*/);
+                }
+            } else {
+                location = [parseFloat(lat[0].firstChild.nodeValue),
+                                parseFloat(lon[0].firstChild.nodeValue)];
+            }    
+
+            var geometry = new OpenLayers.Geometry.Point(parseFloat(location[1]),
+                                                         parseFloat(location[0]));
+              
+        } else if (line.length > 0) {
+            var coords = OpenLayers.String.trim(line[0].firstChild.nodeValue).split(/\s+/);
+            var components = []; 
+            var point;
+            for (var i=0; i < coords.length; i+=2) {
+                point = new OpenLayers.Geometry.Point(parseFloat(coords[i+1]), 
+                                                     parseFloat(coords[i]));
+                components.push(point);
+            }
+            geometry = new OpenLayers.Geometry.LineString(components);
+        } else if (polygon.length > 0) { 
+            var coords = OpenLayers.String.trim(polygon[0].firstChild.nodeValue).split(/\s+/);
+            var components = []; 
+            var point;
+            for (var i=0; i < coords.length; i+=2) {
+                point = new OpenLayers.Geometry.Point(parseFloat(coords[i+1]), 
+                                                     parseFloat(coords[i]));
+                components.push(point);
+            }
+            geometry = new OpenLayers.Geometry.Polygon([new OpenLayers.Geometry.LinearRing(components)]);
+        } else if (where.length > 0) { 
+            if (!this.gmlParser) {
+              this.gmlParser = new OpenLayers.Format.GML({'xy': this.xy});
+            }
+            var feature = this.gmlParser.parseFeature(where[0]);
+            geometry = feature.geometry;
+        }
+        
+        if (geometry && this.internalProjection && this.externalProjection) {
+            geometry.transform(this.externalProjection, 
+                               this.internalProjection);
+        }
+
+        return geometry;
+    },        
+
+    /**
+     * Method: createFeatureFromItem
+     * Return a feature from a GeoRSS Item.
+     *
+     * Parameters:
+     * item - {DOMElement} A GeoRSS item node.
+     *
+     * Returns:
+     * {<OpenLayers.Feature.Vector>} A feature representing the item.
+     */
+    createFeatureFromItem: function(item) {
+        var geometry = this.createGeometryFromItem(item);
+     
+        /* Provide defaults for title and description */
+        var title = this.getChildValue(item, "*", "title", this.featureTitle);
+       
+        /* First try RSS descriptions, then Atom summaries */
+        var description = this.getChildValue(
+            item, "*", "description",
+            this.getChildValue(item, "*", "content", this.featureDescription)
+        );
+
+        /* If no link URL is found in the first child node, try the
+           href attribute */
+        var link = this.getChildValue(item, "*", "link");
+        if(!link) {
+            try {
+                link = this.getElementsByTagNameNS(item, "*", "link")[0].getAttribute("href");
+            } catch(e) {
+                link = null;
+            }
+        }
+
+        var id = this.getChildValue(item, "*", "id", null);
+        
+        var data = {
+            "title": title,
+            "description": description,
+            "link": link
+        };
+        var feature = new OpenLayers.Feature.Vector(geometry, data);
+        feature.fid = id;
+        return feature;
+    },        
+    
+    /**
+     * Method: getChildValue
+     *
+     * Parameters:
+     * node - {DOMElement}
+     * nsuri - {String} Child node namespace uri ("*" for any).
+     * name - {String} Child node name.
+     * def - {String} Optional string default to return if no child found.
+     *
+     * Returns:
+     * {String} The value of the first child with the given tag name.  Returns
+     *     default value or empty string if none found.
+     */
+    getChildValue: function(node, nsuri, name, def) {
+        var value;
+        try {
+            value = this.getElementsByTagNameNS(node, nsuri, name)[0].firstChild.nodeValue;
+        } catch(e) {
+            value = (def == undefined) ? "" : def;
+        }
+        return value;
+    },
+    
+    /**
+     * APIMethod: read
+     * Return a list of features from a GeoRSS doc
+     
+     * Parameters:
+     * data - {Element} 
+     *
+     * Returns:
+     * An Array of <OpenLayers.Feature.Vector>s
+     */
+    read: function(doc) {
+        if (typeof doc == "string") { 
+            doc = OpenLayers.Format.XML.prototype.read.apply(this, [doc]);
+        }
+
+        /* Try RSS items first, then Atom entries */
+        var itemlist = null;
+        itemlist = this.getElementsByTagNameNS(doc, '*', 'item');
+        if (itemlist.length == 0) {
+            itemlist = this.getElementsByTagNameNS(doc, '*', 'entry');
+        }
+        
+        var numItems = itemlist.length;
+        var features = new Array(numItems);
+        for(var i=0; i<numItems; i++) {
+            features[i] = this.createFeatureFromItem(itemlist[i]);
+        }
+        return features;
+    },
+    
+
+    /**
+     * APIMethod: write
+     * Accept Feature Collection, and return a string. 
+     * 
+     * Parameters: 
+     * features - Array({<OpenLayers.Feature.Vector>}) List of features to serialize into a string.
+     */
+    write: function(features) {
+        var georss;
+        if(features instanceof Array) {
+            georss = this.createElementNS(this.rssns, "rss");
+            for(var i=0; i < features.length; i++) {
+                georss.appendChild(this.createFeatureXML(features[i]));
+            }
+        } else {
+            georss = this.createFeatureXML(features);
+        }
+        return OpenLayers.Format.XML.prototype.write.apply(this, [georss]);
+    },
+
+    /**
+     * Method: createFeatureXML
+     * Accept an <OpenLayers.Feature.Vector>, and build a geometry for it.
+     * 
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>} 
+     *
+     * Returns:
+     * {DOMElement}
+     */
+    createFeatureXML: function(feature) {
+        var geometryNode = this.buildGeometryNode(feature.geometry);
+        var featureNode = this.createElementNS(this.rssns, "item");
+        var titleNode = this.createElementNS(this.rssns, "title");
+        titleNode.appendChild(this.createTextNode(feature.attributes.title ? feature.attributes.title : ""));
+        var descNode = this.createElementNS(this.rssns, "description");
+        descNode.appendChild(this.createTextNode(feature.attributes.description ? feature.attributes.description : ""));
+        featureNode.appendChild(titleNode);
+        featureNode.appendChild(descNode);
+        if (feature.attributes.link) {
+            var linkNode = this.createElementNS(this.rssns, "link");
+            linkNode.appendChild(this.createTextNode(feature.attributes.link));
+            featureNode.appendChild(linkNode);
+        }    
+        for(var attr in feature.attributes) {
+            if (attr == "link" || attr == "title" || attr == "description") { continue; } 
+            var attrText = this.createTextNode(feature.attributes[attr]); 
+            var nodename = attr;
+            if (attr.search(":") != -1) {
+                nodename = attr.split(":")[1];
+            }    
+            var attrContainer = this.createElementNS(this.featureNS, "feature:"+nodename);
+            attrContainer.appendChild(attrText);
+            featureNode.appendChild(attrContainer);
+        }    
+        featureNode.appendChild(geometryNode);
+        return featureNode;
+    },    
+    
+    /** 
+     * Method: buildGeometryNode
+     * builds a GeoRSS node with a given geometry
+     * 
+     * Parameters:
+     * geometry - {<OpenLayers.Geometry>}
+     *
+     * Returns:
+     * {DOMElement} A gml node.
+     */
+    buildGeometryNode: function(geometry) {
+        if (this.internalProjection && this.externalProjection) {
+            geometry = geometry.clone();
+            geometry.transform(this.internalProjection, 
+                               this.externalProjection);
+        }
+        var node;
+        // match Polygon
+        if (geometry.CLASS_NAME == "OpenLayers.Geometry.Polygon") {
+            node = this.createElementNS(this.georssns, 'georss:polygon');
+            
+            node.appendChild(this.buildCoordinatesNode(geometry.components[0]));
+        }
+        // match LineString
+        else if (geometry.CLASS_NAME == "OpenLayers.Geometry.LineString") {
+            node = this.createElementNS(this.georssns, 'georss:line');
+            
+            node.appendChild(this.buildCoordinatesNode(geometry));
+        }
+        // match Point
+        else if (geometry.CLASS_NAME == "OpenLayers.Geometry.Point") {
+            node = this.createElementNS(this.georssns, 'georss:point');
+            node.appendChild(this.buildCoordinatesNode(geometry));
+        } else {
+            throw "Couldn't parse " + geometry.CLASS_NAME;
+        }  
+        return node;         
+    },
+    
+    /** 
+     * Method: buildCoordinatesNode
+     * 
+     * Parameters:
+     * geometry - {<OpenLayers.Geometry>}
+     */
+    buildCoordinatesNode: function(geometry) {
+        var points = null;
+        
+        if (geometry.components) {
+            points = geometry.components;
+        }
+
+        var path;
+        if (points) {
+            var numPoints = points.length;
+            var parts = new Array(numPoints);
+            for (var i = 0; i < numPoints; i++) {
+                parts[i] = points[i].y + " " + points[i].x;
+            }
+            path = parts.join(" ");
+        } else {
+            path = geometry.y + " " + geometry.x;
+        }
+        return this.createTextNode(path);
+    },
+
+    CLASS_NAME: "OpenLayers.Format.GeoRSS" 
+});     
+/* ======================================================================
+    OpenLayers/Format/KML.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Format/XML.js
+ * @requires OpenLayers/Feature/Vector.js
+ * @requires OpenLayers/Geometry/Point.js
+ * @requires OpenLayers/Geometry/LineString.js
+ * @requires OpenLayers/Geometry/Polygon.js
+ * @requires OpenLayers/Geometry/Collection.js
+ */
+
+/**
+ * Class: OpenLayers.Format.KML
+ * Read/Wite KML. Create a new instance with the <OpenLayers.Format.KML>
+ *     constructor. 
+ * 
+ * Inherits from:
+ *  - <OpenLayers.Format.XML>
+ */
+OpenLayers.Format.KML = OpenLayers.Class(OpenLayers.Format.XML, {
+    
+    /**
+     * APIProperty: kmlns
+     * {String} KML Namespace to use. Defaults to 2.0 namespace.
+     */
+    kmlns: "http://earth.google.com/kml/2.0",
+    
+    /** 
+     * APIProperty: placemarksDesc
+     * {String} Name of the placemarks.  Default is "No description available."
+     */
+    placemarksDesc: "No description available",
+    
+    /** 
+     * APIProperty: foldersName
+     * {String} Name of the folders.  Default is "OpenLayers export."
+     */
+    foldersName: "OpenLayers export",
+    
+    /** 
+     * APIProperty: foldersDesc
+     * {String} Description of the folders. Default is "Exported on [date]."
+     */
+    foldersDesc: "Exported on " + new Date(),
+    
+    /**
+     * APIProperty: extractAttributes
+     * {Boolean} Extract attributes from KML.  Default is true.
+     *           Extracting styleUrls requires this to be set to true
+     */
+    extractAttributes: true,
+    
+    /**
+     * Property: extractStyles
+     * {Boolean} Extract styles from KML.  Default is false.
+     *           Extracting styleUrls also requires extractAttributes to be
+     *           set to true
+     */
+    extractStyles: false,
+    
+    /**
+     * Property: internalns
+     * {String} KML Namespace to use -- defaults to the namespace of the
+     *     Placemark node being parsed, but falls back to kmlns. 
+     */
+    internalns: null,
+
+    /**
+     * Property: features
+     * {Array} Array of features
+     *     
+     */
+    features: null,
+
+    /**
+     * Property: styles
+     * {Object} Storage of style objects
+     *     
+     */
+    styles: null,
+    
+    /**
+     * Property: styleBaseUrl
+     * {String}
+     */
+    styleBaseUrl: "",
+
+    /**
+     * Property: fetched
+     * {Object} Storage of KML URLs that have been fetched before
+     *     in order to prevent reloading them.
+     */
+    fetched: null,
+
+    /**
+     * APIProperty: maxDepth
+     * {Integer} Maximum depth for recursive loading external KML URLs 
+     *           Defaults to 0: do no external fetching
+     */
+    maxDepth: 0,
+
+    /**
+     * Constructor: OpenLayers.Format.KML
+     * Create a new parser for KML.
+     *
+     * Parameters:
+     * options - {Object} An optional object whose properties will be set on
+     *     this instance.
+     */
+    initialize: function(options) {
+        // compile regular expressions once instead of every time they are used
+        this.regExes = {
+            trimSpace: (/^\s*|\s*$/g),
+            removeSpace: (/\s*/g),
+            splitSpace: (/\s+/),
+            trimComma: (/\s*,\s*/g),
+            kmlColor: (/(\w{2})(\w{2})(\w{2})(\w{2})/),
+            kmlIconPalette: (/root:\/\/icons\/palette-(\d+)(\.\w+)/),
+            straightBracket: (/\$\[(.*?)\]/g)
+        };
+        OpenLayers.Format.XML.prototype.initialize.apply(this, [options]);
+    },
+
+    /**
+     * APIMethod: read
+     * Read data from a string, and return a list of features. 
+     * 
+     * Parameters: 
+     * data    - {String} or {DOMElement} data to read/parse.
+     *
+     * Returns:
+     * {Array(<OpenLayers.Feature.Vector>)} List of features.
+     */
+    read: function(data) {
+        this.features = [];
+        this.styles   = {};
+        this.fetched  = {};
+
+        // Set default options 
+        var options = {
+            depth: this.maxDepth,
+            styleBaseUrl: this.styleBaseUrl
+        };
+
+        return this.parseData(data, options);
+    },
+
+    /**
+     * Method: parseData
+     * Read data from a string, and return a list of features. 
+     * 
+     * Parameters: 
+     * data    - {String} or {DOMElement} data to read/parse.
+     * options - {Object} Hash of options
+     *
+     * Returns:
+     * {Array(<OpenLayers.Feature.Vector>)} List of features.
+     */
+    parseData: function(data, options) {
+        if(typeof data == "string") {
+            data = OpenLayers.Format.XML.prototype.read.apply(this, [data]);
+        }
+
+        // Loop throught the following node types in this order and
+        // process the nodes found 
+        var types = ["Link", "NetworkLink", "Style", "StyleMap", "Placemark"];
+        for(var i=0; i<types.length; ++i) {
+            var type = types[i];
+
+            var nodes = this.getElementsByTagNameNS(data, "*", type);
+
+            // skip to next type if no nodes are found
+            if(nodes.length == 0) { 
+                continue;
+            }
+
+            switch (type.toLowerCase()) {
+
+                // Fetch external links 
+                case "link":
+                case "networklink":
+                    this.parseLinks(nodes, options);
+                    break;
+
+                // parse style information
+                case "style":
+                    if (this.extractStyles) {
+                        this.parseStyles(nodes, options);
+                    }
+                    break;
+                case "stylemap":
+                    if (this.extractStyles) {
+                        this.parseStyleMaps(nodes, options);
+                    }
+                    break;
+
+                // parse features
+                case "placemark":
+                    this.parseFeatures(nodes, options);
+                    break;
+            }
+        }
+        
+        return this.features;
+    },
+
+    /**
+     * Method: parseLinks
+     * Finds URLs of linked KML documents and fetches them
+     * 
+     * Parameters: 
+     * nodes   - {Array} of {DOMElement} data to read/parse.
+     * options - {Object} Hash of options
+     * 
+     */
+    parseLinks: function(nodes, options) {
+        
+        // Fetch external links <NetworkLink> and <Link>
+        // Don't do anything if we have reached our maximum depth for recursion
+        if (options.depth >= this.maxDepth) {
+            return false;
+        }
+
+        // increase depth
+        var newOptions = OpenLayers.Util.extend({}, options);
+        newOptions.depth++;
+
+        for(var i=0; i < nodes.length; i++) {
+            var href = this.parseProperty(nodes[i], "*", "href");
+            if(href && !this.fetched[href]) {
+                this.fetched[href] = true; // prevent reloading the same urls
+                var data = this.fetchLink(href);
+                if (data) {
+                    this.parseData(data, newOptions);
+                }
+            } 
+        }
+
+    },
+
+    /**
+     * Method: fetchLink
+     * Fetches a URL and returns the result
+     * 
+     * Parameters: 
+     * href  - {String} url to be fetched
+     * 
+     */
+    fetchLink: function(href) {
+        var request = new OpenLayers.Ajax.Request(href, 
+                      {method: 'get', asynchronous: false });
+
+        if (request && request.transport) {
+            return request.transport.responseText;
+        }
+    },
+
+    /**
+     * Method: parseStyles
+     * Looks for <Style> nodes in the data and parses them
+     * Also parses <StyleMap> nodes, but only uses the 'normal' key
+     * 
+     * Parameters: 
+     * nodes    - {Array} of {DOMElement} data to read/parse.
+     * options  - {Object} Hash of options
+     * 
+     */
+    parseStyles: function(nodes, options) {
+        for(var i=0; i < nodes.length; i++) {
+            var style = this.parseStyle(nodes[i]);
+            if(style) {
+                styleName = (options.styleBaseUrl || "") + "#" + style.id;
+                
+                this.styles[styleName] = style;
+            }
+        }
+    },
+
+    /**
+     * Method: parseStyle
+     * Parses the children of a <Style> node and builds the style hash
+     * accordingly
+     * 
+     * Parameters: 
+     * node - {DOMElement} <Style> node
+     * 
+     */
+    parseStyle: function(node) {
+        var style = {};
+        
+        var types = ["LineStyle", "PolyStyle", "IconStyle", "BalloonStyle"];
+        var type, nodeList, geometry, parser;
+        for(var i=0; i<types.length; ++i) {
+            type = types[i];
+            styleTypeNode = this.getElementsByTagNameNS(node, 
+                                                   "*", type)[0];
+            if(!styleTypeNode) { 
+                continue;
+            }
+
+            // only deal with first geometry of this type
+            switch (type.toLowerCase()) {
+                case "linestyle":
+                    var color = this.parseProperty(styleTypeNode, "*", "color");
+                    if (color) {
+                        var matches = (color.toString()).match(
+                                                         this.regExes.kmlColor);
+
+                        // transparency
+                        var alpha = matches[1];
+                        style["strokeOpacity"] = parseInt(alpha, 16) / 255;
+
+                        // rgb colors (google uses bgr)
+                        var b = matches[2]; 
+                        var g = matches[3]; 
+                        var r = matches[4]; 
+                        style["strokeColor"] = "#" + r + g + b;
+                    }
+                    
+                    var width = this.parseProperty(styleTypeNode, "*", "width");
+                    if (width) {
+                        style["strokeWidth"] = width;
+                    }
+
+                case "polystyle":
+                    var color = this.parseProperty(styleTypeNode, "*", "color");
+                    if (color) {
+                        var matches = (color.toString()).match(
+                                                         this.regExes.kmlColor);
+
+                        // transparency
+                        var alpha = matches[1];
+                        style["fillOpacity"] = parseInt(alpha, 16) / 255;
+
+                        // rgb colors (google uses bgr)
+                        var b = matches[2]; 
+                        var g = matches[3]; 
+                        var r = matches[4]; 
+                        style["fillColor"] = "#" + r + g + b;
+                    }
+                    
+                    break;
+                case "iconstyle":
+                    // set scale
+                    var scale = parseFloat(this.parseProperty(styleTypeNode, 
+                                                          "*", "scale") || 1);
+  
+                    // set default width and height of icon
+                    var width = 32 * scale;
+                    var height = 32 * scale;
+
+                    var iconNode = this.getElementsByTagNameNS(styleTypeNode, 
+                                               "*", 
+                                               "Icon")[0];
+                    if (iconNode) {
+                        var href = this.parseProperty(iconNode, "*", "href");
+                        if (href) {                                                   
+
+                            var w = this.parseProperty(iconNode, "*", "w");
+                            var h = this.parseProperty(iconNode, "*", "h");
+
+                            // Settings for Google specific icons that are 64x64
+                            // We set the width and height to 64 and halve the
+                            // scale to prevent icons from being too big
+                            var google = "http://maps.google.com/mapfiles/kml";
+                            if (OpenLayers.String.startsWith(
+                                                 href, google) && !w && !h) {
+                                w = 64;
+                                h = 64;
+                                scale = scale / 2;
+                            }
+                                
+                            // if only dimension is defined, make sure the
+                            // other one has the same value
+                            w = w || h;
+                            h = h || w;
+
+                            if (w) {
+                                width = parseInt(w) * scale;
+                            }
+
+                            if (h) {
+                                height = parseInt(h) * scale;
+                            }
+
+                            // support for internal icons 
+                            //    (/root://icons/palette-x.png)
+                            // x and y tell the position on the palette:
+                            // - in pixels
+                            // - starting from the left bottom
+                            // We translate that to a position in the list 
+                            // and request the appropriate icon from the 
+                            // google maps website
+                            var matches = href.match(this.regExes.kmlIconPalette);
+                            if (matches)  {
+                                var palette = matches[1];
+                                var file_extension = matches[2];
+
+                                var x = this.parseProperty(iconNode, "*", "x");
+                                var y = this.parseProperty(iconNode, "*", "y");
+
+                                var posX = x ? x/32 : 0;
+                                var posY = y ? (7 - y/32) : 7;
+
+                                var pos = posY * 8 + posX;
+                                href = "http://maps.google.com/mapfiles/kml/pal" 
+                                     + palette + "/icon" + pos + file_extension;
+                            }
+
+                            style["graphicOpacity"] = 1; // fully opaque
+                            style["externalGraphic"] = href;
+                        }
+
+                    }
+
+
+                    // hotSpots define the offset for an Icon
+                    var hotSpotNode = this.getElementsByTagNameNS(styleTypeNode, 
+                                               "*", 
+                                               "hotSpot")[0];
+                    if (hotSpotNode) {
+                        var x = parseFloat(hotSpotNode.getAttribute("x"));
+                        var y = parseFloat(hotSpotNode.getAttribute("y"));
+
+                        var xUnits = hotSpotNode.getAttribute("xunits");
+                        if (xUnits == "pixels") {
+                            style["graphicXOffset"] = -x * scale;
+                        }
+                        else if (xUnits == "insetPixels") {
+                            style["graphicXOffset"] = -width + (x * scale);
+                        }
+                        else if (xUnits == "fraction") {
+                            style["graphicXOffset"] = -width * x;
+                        }
+
+                        var yUnits = hotSpotNode.getAttribute("yunits");
+                        if (yUnits == "pixels") {
+                            style["graphicYOffset"] = -height + (y * scale) + 1;
+                        }
+                        else if (yUnits == "insetPixels") {
+                            style["graphicYOffset"] = -(y * scale) + 1;
+                        }
+                        else if (yUnits == "fraction") {
+                            style["graphicYOffset"] =  -height * (1 - y) + 1;
+                        }
+                    }
+
+                    style["graphicWidth"] = width;
+                    style["graphicHeight"] = height;
+                    break;
+
+                case "balloonstyle":
+                    var balloonStyle = OpenLayers.Util.getXmlNodeValue(
+                                            styleTypeNode);
+                    if (balloonStyle) {
+                        style["balloonStyle"] = balloonStyle.replace(
+                                       this.regExes.straightBracket, "${$1}");
+                    }
+                    break;
+                default:
+            }
+        }
+
+        // Some polygons have no line color, so we use the fillColor for that
+        if (!style["strokeColor"] && style["fillColor"]) {
+            style["strokeColor"] = style["fillColor"];
+        }
+
+        var id = node.getAttribute("id");
+        if (id && style) {
+            style.id = id;
+        }
+
+        return style;
+    },
+
+    /**
+     * Method: parseStyleMaps
+     * Looks for <Style> nodes in the data and parses them
+     * Also parses <StyleMap> nodes, but only uses the 'normal' key
+     * 
+     * Parameters: 
+     * nodes    - {Array} of {DOMElement} data to read/parse.
+     * options  - {Object} Hash of options
+     * 
+     */
+    parseStyleMaps: function(nodes, options) {
+        // Only the default or "normal" part of the StyleMap is processed now
+        // To do the select or "highlight" bit, we'd need to change lots more
+
+        for(var i=0; i < nodes.length; i++) {
+            var node = nodes[i];
+            var pairs = this.getElementsByTagNameNS(node, "*", 
+                            "Pair");
+
+            var id = node.getAttribute("id");
+            for (var j=0; j<pairs.length; j++) {
+                var pair = pairs[j];
+                // Use the shortcut in the SLD format to quickly retrieve the 
+                // value of a node. Maybe it's good to have a method in 
+                // Format.XML to do this
+                var key = this.parseProperty(pair, "*", "key");
+                var styleUrl = this.parseProperty(pair, "*", "styleUrl");
+
+                if (styleUrl && key == "normal") {
+                    this.styles[(options.styleBaseUrl || "") + "#" + id] =
+                        this.styles[(options.styleBaseUrl || "") + styleUrl];
+                }
+
+                if (styleUrl && key == "highlight") {
+                    // TODO: implement the "select" part
+                }
+
+            }
+        }
+
+    },
+
+
+    /**
+     * Method: parseFeatures
+     * Loop through all Placemark nodes and parse them.
+     * Will create a list of features
+     * 
+     * Parameters: 
+     * nodes    - {Array} of {DOMElement} data to read/parse.
+     * options  - {Object} Hash of options
+     * 
+     */
+    parseFeatures: function(nodes, options) {
+        var features = new Array(nodes.length);
+        for(var i=0; i < nodes.length; i++) {
+            var featureNode = nodes[i];
+            var feature = this.parseFeature.apply(this,[featureNode]) ;
+            if(feature) {
+
+                // Create reference to styleUrl 
+                if (this.extractStyles && feature.attributes &&
+                    feature.attributes.styleUrl) {
+                    feature.style = this.getStyle(feature.attributes.styleUrl);
+                }
+
+                // Make sure that <Style> nodes within a placemark are 
+                // processed as well
+                var inlineStyleNode = this.getElementsByTagNameNS(featureNode,
+                                                       "*",
+                                                       "Style")[0];
+                if (inlineStyleNode) {
+                    var inlineStyle= this.parseStyle(inlineStyleNode);
+                    if (inlineStyle) {
+                        feature.style = OpenLayers.Util.extend({}, 
+                                            feature.style);
+                        OpenLayers.Util.extend(feature.style, inlineStyle);
+                    }
+                }
+
+                // add feature to list of features
+                features[i] = feature;
+            } else {
+                throw "Bad Placemark: " + i;
+            }
+        }
+
+        // add new features to existing feature list
+        this.features = this.features.concat(features);
+    },
+
+    /**
+     * Method: parseFeature
+     * This function is the core of the KML parsing code in OpenLayers.
+     *     It creates the geometries that are then attached to the returned
+     *     feature, and calls parseAttributes() to get attribute data out.
+     *
+     * Parameters:
+     * node - {DOMElement}
+     *
+     * Returns:
+     * {<OpenLayers.Feature.Vector>} A vector feature.
+     */
+    parseFeature: function(node) {
+        // only accept one geometry per feature - look for highest "order"
+        var order = ["MultiGeometry", "Polygon", "LineString", "Point"];
+        var type, nodeList, geometry, parser;
+        for(var i=0; i<order.length; ++i) {
+            type = order[i];
+            this.internalns = node.namespaceURI ? 
+                    node.namespaceURI : this.kmlns;
+            nodeList = this.getElementsByTagNameNS(node, 
+                                                   this.internalns, type);
+            if(nodeList.length > 0) {
+                // only deal with first geometry of this type
+                var parser = this.parseGeometry[type.toLowerCase()];
+                if(parser) {
+                    geometry = parser.apply(this, [nodeList[0]]);
+                    if (this.internalProjection && this.externalProjection) {
+                        geometry.transform(this.externalProjection, 
+                                           this.internalProjection); 
+                    }                       
+                } else {
+                    OpenLayers.Console.error(OpenLayers.i18n(
+                                "unsupportedGeometryType", {'geomType':type}));
+                }
+                // stop looking for different geometry types
+                break;
+            }
+        }
+
+        // construct feature (optionally with attributes)
+        var attributes;
+        if(this.extractAttributes) {
+            attributes = this.parseAttributes(node);
+        }
+        var feature = new OpenLayers.Feature.Vector(geometry, attributes);
+
+        var fid = node.getAttribute("id") || node.getAttribute("name");
+        if(fid != null) {
+            feature.fid = fid;
+        }
+
+        return feature;
+    },        
+    
+    /**
+     * Method: getStyle
+     * Retrieves a style from a style hash using styleUrl as the key
+     * If the styleUrl doesn't exist yet, we try to fetch it 
+     * Internet
+     * 
+     * Parameters: 
+     * styleUrl  - {String} URL of style
+     * options   - {Object} Hash of options 
+     *
+     * Returns:
+     * {Object}  - (reference to) Style hash
+     */
+    getStyle: function(styleUrl, options) {
+
+        var styleBaseUrl = OpenLayers.Util.removeTail(styleUrl);
+
+        var newOptions = OpenLayers.Util.extend({}, options);
+        newOptions.depth++;
+        newOptions.styleBaseUrl = styleBaseUrl;
+
+        // Fetch remote Style URLs (if not fetched before) 
+        if (!this.styles[styleUrl] 
+                && !OpenLayers.String.startsWith(styleUrl, "#") 
+                && newOptions.depth <= this.maxDepth
+                && !this.fetched[styleBaseUrl] ) {
+
+            var data = this.fetchLink(styleBaseUrl);
+            if (data) {
+                this.parseData(data, newOptions);
+            }
+
+        }
+
+        // return requested style
+        var style = this.styles[styleUrl];
+        return style;
+    },
+    
+    /**
+     * Property: parseGeometry
+     * Properties of this object are the functions that parse geometries based
+     *     on their type.
+     */
+    parseGeometry: {
+        
+        /**
+         * Method: parseGeometry.point
+         * Given a KML node representing a point geometry, create an OpenLayers
+         *     point geometry.
+         *
+         * Parameters:
+         * node - {DOMElement} A KML Point node.
+         *
+         * Returns:
+         * {<OpenLayers.Geometry.Point>} A point geometry.
+         */
+        point: function(node) {
+            var nodeList = this.getElementsByTagNameNS(node, this.internalns,
+                                                       "coordinates");
+            var coords = [];
+            if(nodeList.length > 0) {
+                var coordString = nodeList[0].firstChild.nodeValue;
+                coordString = coordString.replace(this.regExes.removeSpace, "");
+                coords = coordString.split(",");
+            }
+
+            var point = null;
+            if(coords.length > 1) {
+                // preserve third dimension
+                if(coords.length == 2) {
+                    coords[2] = null;
+                }
+                point = new OpenLayers.Geometry.Point(coords[0], coords[1],
+                                                      coords[2]);
+            } else {
+                throw "Bad coordinate string: " + coordString;
+            }
+            return point;
+        },
+        
+        /**
+         * Method: parseGeometry.linestring
+         * Given a KML node representing a linestring geometry, create an
+         *     OpenLayers linestring geometry.
+         *
+         * Parameters:
+         * node - {DOMElement} A KML LineString node.
+         *
+         * Returns:
+         * {<OpenLayers.Geometry.LineString>} A linestring geometry.
+         */
+        linestring: function(node, ring) {
+            var nodeList = this.getElementsByTagNameNS(node, this.internalns,
+                                                       "coordinates");
+            var line = null;
+            if(nodeList.length > 0) {
+                var coordString = this.concatChildValues(nodeList[0]);
+
+                coordString = coordString.replace(this.regExes.trimSpace,
+                                                  "");
+                coordString = coordString.replace(this.regExes.trimComma,
+                                                  ",");
+                var pointList = coordString.split(this.regExes.splitSpace);
+                var numPoints = pointList.length;
+                var points = new Array(numPoints);
+                var coords, numCoords;
+                for(var i=0; i<numPoints; ++i) {
+                    coords = pointList[i].split(",");
+                    numCoords = coords.length;
+                    if(numCoords > 1) {
+                        if(coords.length == 2) {
+                            coords[2] = null;
+                        }
+                        points[i] = new OpenLayers.Geometry.Point(coords[0],
+                                                                  coords[1],
+                                                                  coords[2]);
+                    } else {
+                        throw "Bad LineString point coordinates: " +
+                              pointList[i];
+                    }
+                }
+                if(numPoints) {
+                    if(ring) {
+                        line = new OpenLayers.Geometry.LinearRing(points);
+                    } else {
+                        line = new OpenLayers.Geometry.LineString(points);
+                    }
+                } else {
+                    throw "Bad LineString coordinates: " + coordString;
+                }
+            }
+
+            return line;
+        },
+        
+        /**
+         * Method: parseGeometry.polygon
+         * Given a KML node representing a polygon geometry, create an
+         *     OpenLayers polygon geometry.
+         *
+         * Parameters:
+         * node - {DOMElement} A KML Polygon node.
+         *
+         * Returns:
+         * {<OpenLayers.Geometry.Polygon>} A polygon geometry.
+         */
+        polygon: function(node) {
+            var nodeList = this.getElementsByTagNameNS(node, this.internalns,
+                                                       "LinearRing");
+            var numRings = nodeList.length;
+            var components = new Array(numRings);
+            if(numRings > 0) {
+                // this assumes exterior ring first, inner rings after
+                var ring;
+                for(var i=0; i<nodeList.length; ++i) {
+                    ring = this.parseGeometry.linestring.apply(this,
+                                                        [nodeList[i], true]);
+                    if(ring) {
+                        components[i] = ring;
+                    } else {
+                        throw "Bad LinearRing geometry: " + i;
+                    }
+                }
+            }
+            return new OpenLayers.Geometry.Polygon(components);
+        },
+        
+        /**
+         * Method: parseGeometry.multigeometry
+         * Given a KML node representing a multigeometry, create an
+         *     OpenLayers geometry collection.
+         *
+         * Parameters:
+         * node - {DOMElement} A KML MultiGeometry node.
+         *
+         * Returns:
+         * {<OpenLayers.Geometry.Collection>} A geometry collection.
+         */
+        multigeometry: function(node) {
+            var child, parser;
+            var parts = [];
+            var children = node.childNodes;
+            for(var i=0; i<children.length; ++i ) {
+                child = children[i];
+                if(child.nodeType == 1) {
+                    var type = (child.prefix) ?
+                            child.nodeName.split(":")[1] :
+                            child.nodeName;
+                    var parser = this.parseGeometry[type.toLowerCase()];
+                    if(parser) {
+                        parts.push(parser.apply(this, [child]));
+                    }
+                }
+            }
+            return new OpenLayers.Geometry.Collection(parts);
+        }
+        
+    },
+
+    /**
+     * Method: parseAttributes
+     *
+     * Parameters:
+     * node - {DOMElement}
+     *
+     * Returns:
+     * {Object} An attributes object.
+     */
+    parseAttributes: function(node) {
+        var attributes = {};
+        // assume attribute nodes are type 1 children with a type 3 or 4 child
+        var child, grandchildren, grandchild;
+        var children = node.childNodes;
+        for(var i=0; i<children.length; ++i) {
+            child = children[i];
+            if(child.nodeType == 1) {
+                grandchildren = child.childNodes;
+                if(grandchildren.length == 1 || grandchildren.length == 3) {
+                    var grandchild;
+                    switch (grandchildren.length) {
+                        case 1:
+                            grandchild = grandchildren[0];
+                            break;
+                        case 3:
+                        default:
+                            grandchild = grandchildren[1];
+                            break;
+                    }
+                    if(grandchild.nodeType == 3 || grandchild.nodeType == 4) {
+                        var name = (child.prefix) ?
+                                child.nodeName.split(":")[1] :
+                                child.nodeName;
+                        var value = OpenLayers.Util.getXmlNodeValue(grandchild);
+                        if (value) {
+                            value = value.replace(this.regExes.trimSpace, "");
+                            attributes[name] = value;
+                        }
+                    }
+                } 
+            }
+        }
+        return attributes;
+    },
+
+    
+    /**
+     * Method: parseProperty
+     * Convenience method to find a node and return its value
+     *
+     * Parameters:
+     * xmlNode    - {<DOMElement>}
+     * namespace  - {String} namespace of the node to find
+     * tagName    - {String} name of the property to parse
+     * 
+     * Returns:
+     * {String} The value for the requested property (defaults to null)
+     */    
+    parseProperty: function(xmlNode, namespace, tagName) {
+        var value;
+        var nodeList = this.getElementsByTagNameNS(xmlNode, namespace, tagName);
+        try {
+            value = OpenLayers.Util.getXmlNodeValue(nodeList[0]);
+        } catch(e) {
+            value = null;
+        }
+     
+        return value;
+    },                                                              
+
+    /**
+     * APIMethod: write
+     * Accept Feature Collection, and return a string. 
+     * 
+     * Parameters:
+     * features - {Array(<OpenLayers.Feature.Vector>} An array of features.
+     *
+     * Returns:
+     * {String} A KML string.
+     */
+    write: function(features) {
+        if(!(features instanceof Array)) {
+            features = [features];
+        }
+        var kml = this.createElementNS(this.kmlns, "kml");
+        var folder = this.createFolderXML();
+        for(var i=0; i<features.length; ++i) {
+            folder.appendChild(this.createPlacemarkXML(features[i]));
+        }
+        kml.appendChild(folder);
+        return OpenLayers.Format.XML.prototype.write.apply(this, [kml]);
+    },
+
+    /**
+     * Method: createFolderXML
+     * Creates and returns a KML folder node
+     * 
+     * Returns:
+     * {DOMElement}
+     */
+    createFolderXML: function() {
+        // Folder name
+        var folderName = this.createElementNS(this.kmlns, "name");
+        var folderNameText = this.createTextNode(this.foldersName); 
+        folderName.appendChild(folderNameText);
+
+        // Folder description
+        var folderDesc = this.createElementNS(this.kmlns, "description");        
+        var folderDescText = this.createTextNode(this.foldersDesc); 
+        folderDesc.appendChild(folderDescText);
+
+        // Folder
+        var folder = this.createElementNS(this.kmlns, "Folder");
+        folder.appendChild(folderName);
+        folder.appendChild(folderDesc);
+        
+        return folder;
+    },
+
+    /**
+     * Method: createPlacemarkXML
+     * Creates and returns a KML placemark node representing the given feature. 
+     * 
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>}
+     * 
+     * Returns:
+     * {DOMElement}
+     */
+    createPlacemarkXML: function(feature) {        
+        // Placemark name
+        var placemarkName = this.createElementNS(this.kmlns, "name");
+        var name = (feature.attributes.name) ?
+                    feature.attributes.name : feature.id;
+        placemarkName.appendChild(this.createTextNode(name));
+
+        // Placemark description
+        var placemarkDesc = this.createElementNS(this.kmlns, "description");
+        var desc = (feature.attributes.description) ?
+                    feature.attributes.description : this.placemarksDesc;
+        placemarkDesc.appendChild(this.createTextNode(desc));
+        
+        // Placemark
+        var placemarkNode = this.createElementNS(this.kmlns, "Placemark");
+        if(feature.fid != null) {
+            placemarkNode.setAttribute("id", feature.fid);
+        }
+        placemarkNode.appendChild(placemarkName);
+        placemarkNode.appendChild(placemarkDesc);
+
+        // Geometry node (Point, LineString, etc. nodes)
+        var geometryNode = this.buildGeometryNode(feature.geometry);
+        placemarkNode.appendChild(geometryNode);        
+        
+        // TBD - deal with remaining (non name/description) attributes.
+        return placemarkNode;
+    },    
+
+    /**
+     * Method: buildGeometryNode
+     * Builds and returns a KML geometry node with the given geometry.
+     * 
+     * Parameters:
+     * geometry - {<OpenLayers.Geometry>}
+     * 
+     * Returns:
+     * {DOMElement}
+     */
+    buildGeometryNode: function(geometry) {
+        if (this.internalProjection && this.externalProjection) {
+            geometry = geometry.clone();
+            geometry.transform(this.internalProjection, 
+                               this.externalProjection);
+        }                       
+        var className = geometry.CLASS_NAME;
+        var type = className.substring(className.lastIndexOf(".") + 1);
+        var builder = this.buildGeometry[type.toLowerCase()];
+        var node = null;
+        if(builder) {
+            node = builder.apply(this, [geometry]);
+        }
+        return node;
+    },
+
+    /**
+     * Property: buildGeometry
+     * Object containing methods to do the actual geometry node building
+     *     based on geometry type.
+     */
+    buildGeometry: {
+        // TBD: Anybody care about namespace aliases here (these nodes have
+        //    no prefixes)?
+
+        /**
+         * Method: buildGeometry.point
+         * Given an OpenLayers point geometry, create a KML point.
+         *
+         * Parameters:
+         * geometry - {<OpenLayers.Geometry.Point>} A point geometry.
+         *
+         * Returns:
+         * {DOMElement} A KML point node.
+         */
+        point: function(geometry) {
+            var kml = this.createElementNS(this.kmlns, "Point");
+            kml.appendChild(this.buildCoordinatesNode(geometry));
+            return kml;
+        },
+        
+        /**
+         * Method: buildGeometry.multipoint
+         * Given an OpenLayers multipoint geometry, create a KML
+         *     GeometryCollection.
+         *
+         * Parameters:
+         * geometry - {<OpenLayers.Geometry.Point>} A multipoint geometry.
+         *
+         * Returns:
+         * {DOMElement} A KML GeometryCollection node.
+         */
+        multipoint: function(geometry) {
+            return this.buildGeometry.collection.apply(this, [geometry]);
+        },
+
+        /**
+         * Method: buildGeometry.linestring
+         * Given an OpenLayers linestring geometry, create a KML linestring.
+         *
+         * Parameters:
+         * geometry - {<OpenLayers.Geometry.LineString>} A linestring geometry.
+         *
+         * Returns:
+         * {DOMElement} A KML linestring node.
+         */
+        linestring: function(geometry) {
+            var kml = this.createElementNS(this.kmlns, "LineString");
+            kml.appendChild(this.buildCoordinatesNode(geometry));
+            return kml;
+        },
+        
+        /**
+         * Method: buildGeometry.multilinestring
+         * Given an OpenLayers multilinestring geometry, create a KML
+         *     GeometryCollection.
+         *
+         * Parameters:
+         * geometry - {<OpenLayers.Geometry.Point>} A multilinestring geometry.
+         *
+         * Returns:
+         * {DOMElement} A KML GeometryCollection node.
+         */
+        multilinestring: function(geometry) {
+            return this.buildGeometry.collection.apply(this, [geometry]);
+        },
+
+        /**
+         * Method: buildGeometry.linearring
+         * Given an OpenLayers linearring geometry, create a KML linearring.
+         *
+         * Parameters:
+         * geometry - {<OpenLayers.Geometry.LinearRing>} A linearring geometry.
+         *
+         * Returns:
+         * {DOMElement} A KML linearring node.
+         */
+        linearring: function(geometry) {
+            var kml = this.createElementNS(this.kmlns, "LinearRing");
+            kml.appendChild(this.buildCoordinatesNode(geometry));
+            return kml;
+        },
+        
+        /**
+         * Method: buildGeometry.polygon
+         * Given an OpenLayers polygon geometry, create a KML polygon.
+         *
+         * Parameters:
+         * geometry - {<OpenLayers.Geometry.Polygon>} A polygon geometry.
+         *
+         * Returns:
+         * {DOMElement} A KML polygon node.
+         */
+        polygon: function(geometry) {
+            var kml = this.createElementNS(this.kmlns, "Polygon");
+            var rings = geometry.components;
+            var ringMember, ringGeom, type;
+            for(var i=0; i<rings.length; ++i) {
+                type = (i==0) ? "outerBoundaryIs" : "innerBoundaryIs";
+                ringMember = this.createElementNS(this.kmlns, type);
+                ringGeom = this.buildGeometry.linearring.apply(this,
+                                                               [rings[i]]);
+                ringMember.appendChild(ringGeom);
+                kml.appendChild(ringMember);
+            }
+            return kml;
+        },
+        
+        /**
+         * Method: buildGeometry.multipolygon
+         * Given an OpenLayers multipolygon geometry, create a KML
+         *     GeometryCollection.
+         *
+         * Parameters:
+         * geometry - {<OpenLayers.Geometry.Point>} A multipolygon geometry.
+         *
+         * Returns:
+         * {DOMElement} A KML GeometryCollection node.
+         */
+        multipolygon: function(geometry) {
+            return this.buildGeometry.collection.apply(this, [geometry]);
+        },
+
+        /**
+         * Method: buildGeometry.collection
+         * Given an OpenLayers geometry collection, create a KML MultiGeometry.
+         *
+         * Parameters:
+         * geometry - {<OpenLayers.Geometry.Collection>} A geometry collection.
+         *
+         * Returns:
+         * {DOMElement} A KML MultiGeometry node.
+         */
+        collection: function(geometry) {
+            var kml = this.createElementNS(this.kmlns, "MultiGeometry");
+            var child;
+            for(var i=0; i<geometry.components.length; ++i) {
+                child = this.buildGeometryNode.apply(this,
+                                                     [geometry.components[i]]);
+                if(child) {
+                    kml.appendChild(child);
+                }
+            }
+            return kml;
+        }
+    },
+
+    /**
+     * Method: buildCoordinatesNode
+     * Builds and returns the KML coordinates node with the given geometry
+     * <coordinates>...</coordinates>
+     * 
+     * Parameters:
+     * geometry - {<OpenLayers.Geometry>}
+     * 
+     * Return:
+     * {DOMElement}
+     */     
+    buildCoordinatesNode: function(geometry) {
+        var coordinatesNode = this.createElementNS(this.kmlns, "coordinates");
+        
+        var path;
+        var points = geometry.components;
+        if(points) {
+            // LineString or LinearRing
+            var point;
+            var numPoints = points.length;
+            var parts = new Array(numPoints);
+            for(var i=0; i<numPoints; ++i) {
+                point = points[i];
+                parts[i] = point.x + "," + point.y;
+            }
+            path = parts.join(" ");
+        } else {
+            // Point
+            path = geometry.x + "," + geometry.y;
+        }
+        
+        var txtNode = this.createTextNode(path);
+        coordinatesNode.appendChild(txtNode);
+        
+        return coordinatesNode;
+    },    
+
+    CLASS_NAME: "OpenLayers.Format.KML" 
+});
+/* ======================================================================
+    OpenLayers/Format/OSM.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2007 MetaCarta, Inc., published under a modified BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt 
+ * for the full text of the license. */
+
+/**
+ * @requires OpenLayers/Format/XML.js
+ * @requires OpenLayers/Feature/Vector.js
+ * @requires OpenLayers/Geometry/Point.js
+ * @requires OpenLayers/Geometry/LineString.js
+ * @requires OpenLayers/Geometry/Polygon.js
+ */
+
+/**  
+ * Class: OpenLayers.Format.OSM
+ * OSM parser. Create a new instance with the 
+ *     <OpenLayers.Format.OSM> constructor.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Format.XML>
+ */
+OpenLayers.Format.OSM = OpenLayers.Class(OpenLayers.Format.XML, {
+    
+    /**
+     * APIProperty: checkTags
+     * {Boolean} Should tags be checked to determine whether something
+     * should be treated as a seperate node. Will slow down parsing.
+     * Default is false.
+     */
+    checkTags: false,
+
+    /**
+     * Property: interestingTagsExclude
+     * {Array} List of tags to exclude from 'interesting' checks on nodes.
+     * Must be set when creating the format. Will only be used if checkTags
+     * is set.
+     */
+    interestingTagsExclude: null, 
+    
+    /**
+     * APIProperty: areaTags
+     * {Array} List of tags indicating that something is an area.  
+     * Must be set when creating the format. Will only be used if 
+     * checkTags is true.
+     */
+    areaTags: null, 
+    
+    /**
+     * Constructor: OpenLayers.Format.OSM
+     * Create a new parser for OSM.
+     *
+     * Parameters:
+     * options - {Object} An optional object whose properties will be set on
+     *     this instance.
+     */
+    initialize: function(options) {
+        var layer_defaults = {
+          'interestingTagsExclude': ['source', 'source_ref', 
+              'source:ref', 'history', 'attribution', 'created_by'],
+          'areaTags': ['area', 'building', 'leisure', 'tourism', 'ruins',
+              'historic', 'landuse', 'military', 'natural', 'sport'] 
+        };
+          
+        layer_defaults = OpenLayers.Util.extend(layer_defaults, options);
+        
+        var interesting = {};
+        for (var i = 0; i < layer_defaults.interestingTagsExclude.length; i++) {
+            interesting[layer_defaults.interestingTagsExclude[i]] = true;
+        }
+        layer_defaults.interestingTagsExclude = interesting;
+        
+        var area = {};
+        for (var i = 0; i < layer_defaults.areaTags.length; i++) {
+            area[layer_defaults.areaTags[i]] = true;
+        }
+        layer_defaults.areaTags = area;
+        
+        OpenLayers.Format.XML.prototype.initialize.apply(this, [layer_defaults]);
+    },
+    
+    /**
+     * APIMethod: read
+     * Return a list of features from a OSM doc
+     
+     * Parameters:
+     * data - {Element} 
+     *
+     * Returns:
+     * An Array of <OpenLayers.Feature.Vector>s
+     */
+    read: function(doc) {
+        if (typeof doc == "string") { 
+            doc = OpenLayers.Format.XML.prototype.read.apply(this, [doc]);
+        }
+
+        var nodes = this.getNodes(doc);
+        var ways = this.getWays(doc);
+        
+        // Geoms will contain at least ways.length entries.
+        var feat_list = new Array(ways.length);
+        
+        for (var i = 0; i < ways.length; i++) {
+            // We know the minimal of this one ahead of time. (Could be -1
+            // due to areas/polygons)
+            var point_list = new Array(ways[i].nodes.length);
+            
+            var poly = this.isWayArea(ways[i]) ? 1 : 0; 
+            for (var j = 0; j < ways[i].nodes.length; j++) {
+               var node = nodes[ways[i].nodes[j]];
+               
+               var point = new OpenLayers.Geometry.Point(node.lon, node.lat);
+               
+               // Since OSM is topological, we stash the node ID internally. 
+               point.osm_id = parseInt(ways[i].nodes[j]);
+               point_list[j] = point;
+               
+               // We don't display nodes if they're used inside other 
+               // elements.
+               node.used = true; 
+            }
+            var geometry = null;
+            if (poly) { 
+                geometry = new OpenLayers.Geometry.Polygon(
+                    new OpenLayers.Geometry.LinearRing(point_list));
+            } else {    
+                geometry = new OpenLayers.Geometry.LineString(point_list);
+            }
+            if (this.internalProjection && this.externalProjection) {
+                geometry.transform(this.externalProjection, 
+                    this.internalProjection);
+            }        
+            var feat = new OpenLayers.Feature.Vector(geometry,
+                ways[i].tags);
+            feat.osm_id = parseInt(ways[i].id);
+            feat.fid = "way." + feat.osm_id;
+            feat_list[i] = feat;
+        } 
+        for (var node_id in nodes) {
+            var node = nodes[node_id];
+            if (!node.used || this.checkTags) {
+                var tags = null;
+                
+                if (this.checkTags) {
+                    var result = this.getTags(node.node, true);
+                    if (node.used && !result[1]) {
+                        continue;
+                    }
+                    tags = result[0];
+                } else { 
+                    tags = this.getTags(node.node);
+                }    
+                
+                var feat = new OpenLayers.Feature.Vector(
+                    new OpenLayers.Geometry.Point(node['lon'], node['lat']),
+                    tags);
+                if (this.internalProjection && this.externalProjection) {
+                    feat.geometry.transform(this.externalProjection, 
+                        this.internalProjection);
+                }        
+                feat.osm_id = parseInt(node_id); 
+                feat.fid = "node." + feat.osm_id;
+                feat_list.push(feat);
+            }   
+            // Memory cleanup
+            node.node = null;
+        }        
+        return feat_list;
+    },
+
+    /**
+     * Method: getNodes
+     * Return the node items from a doc.  
+     *
+     * Parameters:
+     * node - {DOMElement} node to parse tags from
+     */
+    getNodes: function(doc) {
+        var node_list = doc.getElementsByTagName("node");
+        var nodes = {};
+        for (var i = 0; i < node_list.length; i++) {
+            var node = node_list[i];
+            var id = node.getAttribute("id");
+            nodes[id] = {
+                'lat': node.getAttribute("lat"),
+                'lon': node.getAttribute("lon"),
+                'node': node
+            };
+        }
+        return nodes;
+    },
+
+    /**
+     * Method: getWays
+     * Return the way items from a doc.  
+     *
+     * Parameters:
+     * node - {DOMElement} node to parse tags from
+     */
+    getWays: function(doc) {
+        var way_list = doc.getElementsByTagName("way");
+        var return_ways = [];
+        for (var i = 0; i < way_list.length; i++) {
+            var way = way_list[i];
+            var way_object = {
+              id: way.getAttribute("id")
+            };
+            
+            way_object.tags = this.getTags(way);
+            
+            var node_list = way.getElementsByTagName("nd");
+            
+            way_object.nodes = new Array(node_list.length);
+            
+            for (var j = 0; j < node_list.length; j++) {
+                way_object.nodes[j] = node_list[j].getAttribute("ref");
+            }  
+            return_ways.push(way_object);
+        }
+        return return_ways; 
+        
+    },  
+    
+    /**
+     * Method: getTags
+     * Return the tags list attached to a specific DOM element.
+     *
+     * Parameters:
+     * node - {DOMElement} node to parse tags from
+     * interesting_tags - {Boolean} whether the return from this function should
+     *    return a boolean indicating that it has 'interesting tags' -- 
+     *    tags like attribution and source are ignored. (To change the list
+     *    of tags, see interestingTagsExclude)
+     * 
+     * Returns:
+     * tags - {Object} hash of tags
+     * interesting - {Boolean} if interesting_tags is passed, returns
+     *     whether there are any interesting tags on this element.
+     */
+    getTags: function(dom_node, interesting_tags) {
+        var tag_list = dom_node.getElementsByTagName("tag");
+        var tags = {};
+        var interesting = false;
+        for (var j = 0; j < tag_list.length; j++) {
+            var key = tag_list[j].getAttribute("k");
+            tags[key] = tag_list[j].getAttribute("v");
+            if (interesting_tags) {
+                if (!this.interestingTagsExclude[key]) {
+                    interesting = true;
+                }
+            }    
+        }  
+        return interesting_tags ? [tags, interesting] : tags;     
+    },
+
+    /** 
+     * Method: isWayArea
+     * Given a way object from getWays, check whether the tags and geometry
+     * indicate something is an area.
+     *
+     * Returns:
+     * {Boolean}
+     */
+    isWayArea: function(way) { 
+        var poly_shaped = false;
+        var poly_tags = false;
+        
+        if (way.nodes[0] == way.nodes[way.nodes.length - 1]) {
+            poly_shaped = true;
+        }
+        if (this.checkTags) {
+            for(var key in way.tags) {
+                if (this.areaTags[key]) {
+                    poly_tags = true;
+                    break;
+                }
+            }
+        }    
+        return poly_shaped && (this.checkTags ? poly_tags : true);            
+    }, 
+
+    /**
+     * APIMethod: write 
+     * Takes a list of features, returns a serialized OSM format file for use
+     * in tools like JOSM.
+     *
+     * Parameters:
+     * features - Array({<OpenLayers.Feature.Vector>})
+     */
+    write: function(features) { 
+        if (!(features instanceof Array)) {
+            features = [features];
+        }
+        
+        this.osm_id = 1;
+        this.created_nodes = {};
+        var root_node = this.createElementNS(null, "osm");
+        root_node.setAttribute("version", "0.5");
+        root_node.setAttribute("generator", "OpenLayers "+ OpenLayers.VERSION_NUMBER);
+
+        // Loop backwards, because the deserializer puts nodes last, and 
+        // we want them first if possible
+        for(var i = features.length - 1; i >= 0; i--) {
+            var nodes = this.createFeatureNodes(features[i]);
+            for (var j = 0; j < nodes.length; j++) {
+                root_node.appendChild(nodes[j]);
+            }    
+        }
+        return OpenLayers.Format.XML.prototype.write.apply(this, [root_node]);
+    },
+
+    /**
+     * Method: createFeatureNodes
+     * Takes a feature, returns a list of nodes from size 0->n.
+     * Will include all pieces of the serialization that are required which
+     * have not already been created. Calls out to createXML based on geometry
+     * type.
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>}
+     */
+    createFeatureNodes: function(feature) {
+        var nodes = [];
+        var className = feature.geometry.CLASS_NAME;
+        var type = className.substring(className.lastIndexOf(".") + 1);
+        type = type.toLowerCase();
+        var builder = this.createXML[type];
+        if (builder) {
+            nodes = builder.apply(this, [feature]);
+        }
+        return nodes;
+    },
+    
+    /**
+     * Method: createXML
+     * Takes a feature, returns a list of nodes from size 0->n.
+     * Will include all pieces of the serialization that are required which
+     * have not already been created.
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>}
+     */
+    createXML: {
+        'point': function(point) {
+            var id = null;
+            var geometry = point.geometry ? point.geometry : point;
+            var already_exists = false; // We don't return anything if the node
+                                        // has already been created
+            if (point.osm_id) {
+                id = point.osm_id;
+                if (this.created_nodes[id]) {
+                    already_exists = true;
+                }    
+            } else {
+               id = -this.osm_id;
+               this.osm_id++; 
+            }
+            if (already_exists) {
+                node = this.created_nodes[id];
+            } else {    
+                var node = this.createElementNS(null, "node");
+            }
+            this.created_nodes[id] = node;
+            node.setAttribute("id", id);
+            node.setAttribute("lon", geometry.x); 
+            node.setAttribute("lat", geometry.y);
+            if (point.attributes) {
+                this.serializeTags(point, node);
+            }
+            this.setState(point, node);
+            return already_exists ? [] : [node];
+        }, 
+        linestring: function(feature) {
+            var nodes = [];
+            var geometry = feature.geometry;
+            if (feature.osm_id) {
+                id = feature.osm_id;
+            } else {
+               id = -this.osm_id;
+               this.osm_id++; 
+            }
+            var way = this.createElementNS(null, "way");
+            way.setAttribute("id", id);
+            for (var i = 0; i < geometry.components.length; i++) {
+                var node = this.createXML['point'].apply(this, [geometry.components[i]]);
+                if (node.length) {
+                    node = node[0];
+                    var node_ref = node.getAttribute("id");
+                    nodes.push(node);
+                } else {
+                    node_ref = geometry.components[i].osm_id;
+                    node = this.created_nodes[node_ref];
+                }
+                this.setState(feature, node);
+                var nd_dom = this.createElementNS(null, "nd");
+                nd_dom.setAttribute("ref", node_ref);
+                way.appendChild(nd_dom);
+            }
+            this.serializeTags(feature, way);
+            nodes.push(way);
+            
+            return nodes;
+        },
+        polygon: function(feature) {
+            var attrs = OpenLayers.Util.extend({'area':'yes'}, feature.attributes);
+            var feat = new OpenLayers.Feature.Vector(feature.geometry.components[0], attrs); 
+            feat.osm_id = feature.osm_id;
+            return this.createXML['linestring'].apply(this, [feat]);
+        }
+    },
+
+    /**
+     * Method: serializeTags
+     * Given a feature, serialize the attributes onto the given node.
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>}
+     * node - {DOMNode}
+     */
+    serializeTags: function(feature, node) {
+        for (var key in feature.attributes) {
+            var tag = this.createElementNS(null, "tag");
+            tag.setAttribute("k", key);
+            tag.setAttribute("v", feature.attributes[key]);
+            node.appendChild(tag);
+        }
+    },
+
+    /**
+     * Method: setState 
+     * OpenStreetMap has a convention that 'state' is stored for modification or deletion.
+     * This allows the file to be uploaded via JOSM or the bulk uploader tool.
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>}
+     * node - {DOMNode}
+     */
+    setState: function(feature, node) {
+        if (feature.state) {
+            var state = null;
+            switch(feature.state) {
+                case OpenLayers.State.UPDATE:
+                    state = "modify";
+                case OpenLayers.State.DELETE:
+                    state = "delete";
+            }
+            if (state) {
+                node.setAttribute("action", state);
+            }
+        }    
+    },
+
+    CLASS_NAME: "OpenLayers.Format.OSM" 
+});     
+/* ======================================================================
+    OpenLayers/Geometry/LinearRing.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Geometry/LineString.js
+ */
+
+/**
+ * Class: OpenLayers.Geometry.LinearRing
+ * 
+ * A Linear Ring is a special LineString which is closed. It closes itself 
+ * automatically on every addPoint/removePoint by adding a copy of the first
+ * point as the last point. 
+ * 
+ * Also, as it is the first in the line family to close itself, a getArea()
+ * function is defined to calculate the enclosed area of the linearRing
+ * 
+ * Inherits:
+ *  - <OpenLayers.Geometry.LineString>
+ */
+OpenLayers.Geometry.LinearRing = OpenLayers.Class(
+  OpenLayers.Geometry.LineString, {
+
+    /**
+     * Property: componentTypes
+     * {Array(String)} An array of class names representing the types of 
+     *                 components that the collection can include.  A null 
+     *                 value means the component types are not restricted.
+     */
+    componentTypes: ["OpenLayers.Geometry.Point"],
+
+    /**
+     * Constructor: OpenLayers.Geometry.LinearRing
+     * Linear rings are constructed with an array of points.  This array
+     *     can represent a closed or open ring.  If the ring is open (the last
+     *     point does not equal the first point), the constructor will close
+     *     the ring.  If the ring is already closed (the last point does equal
+     *     the first point), it will be left closed.
+     * 
+     * Parameters:
+     * points - {Array(<OpenLayers.Geometry.Point>)} points
+     */
+    initialize: function(points) {
+        OpenLayers.Geometry.LineString.prototype.initialize.apply(this, 
+                                                                  arguments);
+    },
+
+    /**
+     * APIMethod: addComponent
+     * Adds a point to geometry components.  If the point is to be added to
+     *     the end of the components array and it is the same as the last point
+     *     already in that array, the duplicate point is not added.  This has 
+     *     the effect of closing the ring if it is not already closed, and 
+     *     doing the right thing if it is already closed.  This behavior can 
+     *     be overridden by calling the method with a non-null index as the 
+     *     second argument.
+     *
+     * Parameter:
+     * point - {<OpenLayers.Geometry.Point>}
+     * index - {Integer} Index into the array to insert the component
+     * 
+     * Returns:
+     * {Boolean} Was the Point successfully added?
+     */
+    addComponent: function(point, index) {
+        var added = false;
+
+        //remove last point
+        var lastPoint = this.components.pop();
+
+        // given an index, add the point
+        // without an index only add non-duplicate points
+        if(index != null || !point.equals(lastPoint)) {
+            added = OpenLayers.Geometry.Collection.prototype.addComponent.apply(this, 
+                                                                    arguments);
+        }
+
+        //append copy of first point
+        var firstPoint = this.components[0];
+        OpenLayers.Geometry.Collection.prototype.addComponent.apply(this, 
+                                                                [firstPoint]);
+        
+        return added;
+    },
+    
+    /**
+     * APIMethod: removeComponent
+     * Removes a point from geometry components.
+     *
+     * Parameters:
+     * point - {<OpenLayers.Geometry.Point>}
+     */
+    removeComponent: function(point) {
+        if (this.components.length > 4) {
+
+            //remove last point
+            this.components.pop();
+            
+            //remove our point
+            OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this, 
+                                                                    arguments);
+            //append copy of first point
+            var firstPoint = this.components[0];
+            OpenLayers.Geometry.Collection.prototype.addComponent.apply(this, 
+                                                                [firstPoint]);
+        }
+    },
+    
+    /**
+     * APIMethod: move
+     * Moves a collection in place
+     *
+     * Parameters:
+     * x - {Float} The x-displacement (in map units)
+     * y - {Float} The y-displacement (in map units)
+     */
+    move: function(x, y) {
+        for(var i = 0; i < this.components.length - 1; i++) {
+            this.components[i].move(x, y);
+        }
+    },
+
+    /**
+     * APIMethod: rotate
+     * Rotate a geometry around some origin
+     *
+     * Parameters:
+     * angle - {Float} Rotation angle in degrees (measured counterclockwise
+     *                 from the positive x-axis)
+     * origin - {<OpenLayers.Geometry.Point>} Center point for the rotation
+     */
+    rotate: function(angle, origin) {
+        for(var i=0; i<this.components.length - 1; ++i) {
+            this.components[i].rotate(angle, origin);
+        }
+    },
+
+    /**
+     * APIMethod: resize
+     * Resize a geometry relative to some origin.  Use this method to apply
+     *     a uniform scaling to a geometry.
+     *
+     * Parameters:
+     * scale - {Float} Factor by which to scale the geometry.  A scale of 2
+     *                 doubles the size of the geometry in each dimension
+     *                 (lines, for example, will be twice as long, and polygons
+     *                 will have four times the area).
+     * origin - {<OpenLayers.Geometry.Point>} Point of origin for resizing
+     * ratio - {Float} Optional x:y ratio for resizing.  Default ratio is 1.
+     */
+    resize: function(scale, origin, ratio) {
+        for(var i=0; i<this.components.length - 1; ++i) {
+            this.components[i].resize(scale, origin, ratio);
+        }
+    },
+    
+    /**
+     * APIMethod: transform
+     * Reproject the components geometry from source to dest.
+     *
+     * Parameters:
+     * source - {<OpenLayers.Projection>}
+     * dest - {<OpenLayers.Projection>}
+     * 
+     * Returns:
+     * {<OpenLayers.Geometry>} 
+     */
+    transform: function(source, dest) {
+        if (source && dest) {
+            for (var i = 0; i < this.components.length - 1; i++) {
+                var component = this.components[i];
+                component.transform(source, dest);
+            }
+        }
+        return this;
+    },
+
+    /**
+     * APIMethod: getArea
+     * Note - The area is positive if the ring is oriented CW, otherwise
+     *         it will be negative.
+     * 
+     * Returns:
+     * {Float} The signed area for a ring.
+     */
+    getArea: function() {
+        var area = 0.0;
+        if ( this.components && (this.components.length > 2)) {
+            var sum = 0.0;
+            for (var i = 0; i < this.components.length - 1; i++) {
+                var b = this.components[i];
+                var c = this.components[i+1];
+                sum += (b.x + c.x) * (c.y - b.y);
+            }
+            area = - sum / 2.0;
+        }
+        return area;
+    },
+    
+    /**
+     * Method: containsPoint
+     * Test if a point is inside a linear ring.  For the case where a point
+     *     is coincident with a linear ring edge, returns 1.  Otherwise,
+     *     returns boolean.
+     *
+     * Parameters:
+     * point - {<OpenLayers.Geometry.Point>}
+     *
+     * Returns:
+     * {Boolean | Number} The point is inside the linear ring.  Returns 1 if
+     *     the point is coincident with an edge.  Returns boolean otherwise.
+     */
+    containsPoint: function(point) {
+        var approx = OpenLayers.Number.limitSigDigs;
+        var digs = 14;
+        var px = approx(point.x, digs);
+        var py = approx(point.y, digs);
+        function getX(y, x1, y1, x2, y2) {
+            return (((x1 - x2) * y) + ((x2 * y1) - (x1 * y2))) / (y1 - y2);
+        }
+        var numSeg = this.components.length - 1;
+        var start, end, x1, y1, x2, y2, cx, cy;
+        var crosses = 0;
+        for(var i=0; i<numSeg; ++i) {
+            start = this.components[i];
+            x1 = approx(start.x, digs);
+            y1 = approx(start.y, digs);
+            end = this.components[i + 1];
+            x2 = approx(end.x, digs);
+            y2 = approx(end.y, digs);
+            
+            /**
+             * The following conditions enforce five edge-crossing rules:
+             *    1. points coincident with edges are considered contained;
+             *    2. an upward edge includes its starting endpoint, and
+             *    excludes its final endpoint;
+             *    3. a downward edge excludes its starting endpoint, and
+             *    includes its final endpoint;
+             *    4. horizontal edges are excluded; and
+             *    5. the edge-ray intersection point must be strictly right
+             *    of the point P.
+             */
+            if(y1 == y2) {
+                // horizontal edge
+                if(py == y1) {
+                    // point on horizontal line
+                    if(x1 <= x2 && (px >= x1 && px <= x2) || // right or vert
+                       x1 >= x2 && (px <= x1 && px >= x2)) { // left or vert
+                        // point on edge
+                        crosses = -1;
+                        break;
+                    }
+                }
+                // ignore other horizontal edges
+                continue;
+            }
+            cx = approx(getX(py, x1, y1, x2, y2), digs);
+            if(cx == px) {
+                // point on line
+                if(y1 < y2 && (py >= y1 && py <= y2) || // upward
+                   y1 > y2 && (py <= y1 && py >= y2)) { // downward
+                    // point on edge
+                    crosses = -1;
+                    break;
+                }
+            }
+            if(cx <= px) {
+                // no crossing to the right
+                continue;
+            }
+            if(x1 != x2 && (cx < Math.min(x1, x2) || cx > Math.max(x1, x2))) {
+                // no crossing
+                continue;
+            }
+            if(y1 < y2 && (py >= y1 && py < y2) || // upward
+               y1 > y2 && (py < y1 && py >= y2)) { // downward
+                ++crosses;
+            }
+        }
+        var contained = (crosses == -1) ?
+            // on edge
+            1 :
+            // even (out) or odd (in)
+            !!(crosses & 1);
+
+        return contained;
+    },
+
+    /**
+     * APIMethod: intersects
+     * Determine if the input geometry intersects this one.
+     *
+     * Parameters:
+     * geometry - {<OpenLayers.Geometry>} Any type of geometry.
+     *
+     * Returns:
+     * {Boolean} The input geometry intersects this one.
+     */
+    intersects: function(geometry) {
+        var intersect = false;
+        if(geometry.CLASS_NAME == "OpenLayers.Geometry.Point") {
+            intersect = this.containsPoint(geometry);
+        } else if(geometry.CLASS_NAME == "OpenLayers.Geometry.LineString") {
+            intersect = geometry.intersects(this);
+        } else if(geometry.CLASS_NAME == "OpenLayers.Geometry.LinearRing") {
+            intersect = OpenLayers.Geometry.LineString.prototype.intersects.apply(
+                this, [geometry]
+            );
+        } else {
+            // check for component intersections
+            for(var i=0; i<geometry.components.length; ++ i) {
+                intersect = geometry.components[i].intersects(this);
+                if(intersect) {
+                    break;
+                }
+            }
+        }
+        return intersect;
+    },
+
+    CLASS_NAME: "OpenLayers.Geometry.LinearRing"
+});
+/* ======================================================================
+    OpenLayers/Handler/Path.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Handler/Point.js
+ * @requires OpenLayers/Geometry/Point.js
+ * @requires OpenLayers/Geometry/LineString.js
+ */
+
+/**
+ * Class: OpenLayers.Handler.Path
+ * Handler to draw a path on the map.  Path is displayed on mouse down,
+ * moves on mouse move, and is finished on mouse up.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Handler.Point>
+ */
+OpenLayers.Handler.Path = OpenLayers.Class(OpenLayers.Handler.Point, {
+    
+    /**
+     * Property: line
+     * {<OpenLayers.Feature.Vector>}
+     */
+    line: null,
+    
+    /**
+     * Property: freehand
+     * {Boolean} In freehand mode, the handler starts the path on mouse down,
+     * adds a point for every mouse move, and finishes the path on mouse up.
+     * Outside of freehand mode, a point is added to the path on every mouse
+     * click and double-click finishes the path.
+     */
+    freehand: false,
+    
+    /**
+     * Property: freehandToggle
+     * {String} If set, freehandToggle is checked on mouse events and will set
+     * the freehand mode to the opposite of this.freehand.  To disallow
+     * toggling between freehand and non-freehand mode, set freehandToggle to
+     * null.  Acceptable toggle values are 'shiftKey', 'ctrlKey', and 'altKey'.
+     */
+    freehandToggle: 'shiftKey',
+
+    /**
+     * Constructor: OpenLayers.Handler.Path
+     * Create a new path hander
+     *
+     * Parameters:
+     * control - {<OpenLayers.Control>} 
+     * callbacks - {Object} An object with a 'done' property whos value is a
+     *     function to be called when the path drawing is finished. The 
+     *     callback should expect to recieve a single argument, the line 
+     *     string geometry. If the callbacks object contains a 'point' 
+     *     property, this function will be sent each point as they are added.  
+     *     If the callbacks object contains a 'cancel' property, this function 
+     *     will be called when the handler is deactivated while drawing. The 
+     *     cancel should expect to receive a geometry.
+     * options - {Object} An optional object with properties to be set on the
+     *           handler
+     */
+    initialize: function(control, callbacks, options) {
+        OpenLayers.Handler.Point.prototype.initialize.apply(this, arguments);
+    },
+        
+    /**
+     * Method: createFeature
+     * Add temporary geometries
+     */
+    createFeature: function() {
+        this.line = new OpenLayers.Feature.Vector(
+                                        new OpenLayers.Geometry.LineString());
+        this.point = new OpenLayers.Feature.Vector(
+                                        new OpenLayers.Geometry.Point());
+    },
+        
+    /**
+     * Method: destroyFeature
+     * Destroy temporary geometries
+     */
+    destroyFeature: function() {
+        OpenLayers.Handler.Point.prototype.destroyFeature.apply(this);
+        if(this.line) {
+            this.line.destroy();
+        }
+        this.line = null;
+    },
+    
+    /**
+     * Method: addPoint
+     * Add point to geometry.  Send the point index to override
+     * the behavior of LinearRing that disregards adding duplicate points.
+     */
+    addPoint: function() {
+        this.line.geometry.addComponent(this.point.geometry.clone(),
+                                        this.line.geometry.components.length);
+        this.callback("point", [this.point.geometry]);
+    },
+    
+    /**
+     * Method: freehandMode
+     * Determine whether to behave in freehand mode or not.
+     *
+     * Returns:
+     * {Boolean}
+     */
+    freehandMode: function(evt) {
+        return (this.freehandToggle && evt[this.freehandToggle]) ?
+                    !this.freehand : this.freehand;
+    },
+
+    /**
+     * Method: modifyFeature
+     * Modify the existing geometry given the new point
+     */
+    modifyFeature: function() {
+        var index = this.line.geometry.components.length - 1;
+        this.line.geometry.components[index].x = this.point.geometry.x;
+        this.line.geometry.components[index].y = this.point.geometry.y;
+        this.line.geometry.components[index].clearBounds();
+    },
+    
+    /**
+     * Method: drawFeature
+     * Render geometries on the temporary layer.
+     */
+    drawFeature: function() {
+        this.layer.drawFeature(this.line, this.style);
+        this.layer.drawFeature(this.point, this.style);
+    },
+
+    /**
+     * Method: geometryClone
+     * Return a clone of the relevant geometry.
+     *
+     * Returns:
+     * {<OpenLayers.Geometry.LineString>}
+     */
+    geometryClone: function() {
+        return this.line.geometry.clone();
+    },
+
+    /**
+     * Method: mousedown
+     * Handle mouse down.  Add a new point to the geometry and
+     * render it. Return determines whether to propagate the event on the map.
+     * 
+     * Parameters:
+     * evt - {Event} The browser event
+     *
+     * Returns: 
+     * {Boolean} Allow event propagation
+     */
+    mousedown: function(evt) {
+        // ignore double-clicks
+        if (this.lastDown && this.lastDown.equals(evt.xy)) {
+            return false;
+        }
+        if(this.lastDown == null) {
+            this.createFeature();
+        }
+        this.mouseDown = true;
+        this.lastDown = evt.xy;
+        var lonlat = this.control.map.getLonLatFromPixel(evt.xy);
+        this.point.geometry.x = lonlat.lon;
+        this.point.geometry.y = lonlat.lat;
+        if((this.lastUp == null) || !this.lastUp.equals(evt.xy)) {
+            this.addPoint();
+        }
+        this.drawFeature();
+        this.drawing = true;
+        return false;
+    },
+
+    /**
+     * Method: mousemove
+     * Handle mouse move.  Adjust the geometry and redraw.
+     * Return determines whether to propagate the event on the map.
+     * 
+     * Parameters:
+     * evt - {Event} The browser event
+     *
+     * Returns: 
+     * {Boolean} Allow event propagation
+     */
+    mousemove: function (evt) {
+        if(this.drawing) { 
+            var lonlat = this.map.getLonLatFromPixel(evt.xy);
+            this.point.geometry.x = lonlat.lon;
+            this.point.geometry.y = lonlat.lat;
+            if(this.mouseDown && this.freehandMode(evt)) {
+                this.addPoint();
+            } else {
+                this.modifyFeature();
+            }
+            this.drawFeature();
+        }
+        return true;
+    },
+    
+    /**
+     * Method: mouseup
+     * Handle mouse up.  Send the latest point in the geometry to
+     * the control. Return determines whether to propagate the event on the map.
+     * 
+     * Parameters:
+     * evt - {Event} The browser event
+     *
+     * Returns: 
+     * {Boolean} Allow event propagation
+     */
+    mouseup: function (evt) {
+        this.mouseDown = false;
+        if(this.drawing) {
+            if(this.freehandMode(evt)) {
+                this.finalize();
+            } else {
+                if(this.lastUp == null) {
+                   this.addPoint();
+                }
+                this.lastUp = evt.xy;
+            }
+            return false;
+        }
+        return true;
+    },
+  
+    /**
+     * Method: dblclick 
+     * Handle double-clicks.  Finish the geometry and send it back
+     * to the control.
+     * 
+     * Parameters:
+     * evt - {Event} The browser event
+     *
+     * Returns: 
+     * {Boolean} Allow event propagation
+     */
+    dblclick: function(evt) {
+        if(!this.freehandMode(evt)) {
+            var index = this.line.geometry.components.length - 1;
+            this.line.geometry.removeComponent(this.line.geometry.components[index]);
+            this.finalize();
+        }
+        return false;
+    },
+
+    CLASS_NAME: "OpenLayers.Handler.Path"
+});
+/* ======================================================================
+    OpenLayers/Format/WFS.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Format/GML.js
+ */
+
+/**
+ * Class: OpenLayers.Format.WFS
+ * Read/Write WFS. 
+ */
+OpenLayers.Format.WFS = OpenLayers.Class(OpenLayers.Format.GML, {
+    
+    /** 
+     * Property: layer
+     */
+    layer: null,
+    
+    /**
+     * APIProperty: wfsns
+     */
+    wfsns: "http://www.opengis.net/wfs",
+    
+    /**
+     * Property: ogcns
+     */
+    ogcns: "http://www.opengis.net/ogc",
+    
+    /*
+     * Constructor: OpenLayers.Format.WFS
+     * Create a WFS-T formatter. This requires a layer: that layer should
+     * have two properties: geometry_column and typename. The parser
+     * for this format is subclassed entirely from GML: There is a writer 
+     * only, which uses most of the code from the GML layer, and wraps
+     * it in transactional elements.
+     * 
+     * Parameters: 
+     * options - {Object} 
+     * layer - {<OpenLayers.Layer>} 
+     */
+    
+    initialize: function(options, layer) {
+        OpenLayers.Format.GML.prototype.initialize.apply(this, [options]);
+        this.layer = layer;
+        if (this.layer.featureNS) {
+            this.featureNS = this.layer.featureNS;
+        }    
+        if (this.layer.options.geometry_column) {
+            this.geometryName = this.layer.options.geometry_column;
+        }
+        if (this.layer.options.typename) {
+            this.featureName = this.layer.options.typename;
+        }
+    },
+    
+    /**
+     * Method: write 
+     * Takes a feature list, and generates a WFS-T Transaction 
+     *
+     * Parameters:
+     * features - {Array(<OpenLayers.Feature.Vector>)} 
+     */
+    write: function(features) {
+    
+        var transaction = this.createElementNS(this.wfsns, 'wfs:Transaction');
+        transaction.setAttribute("version","1.0.0");
+        transaction.setAttribute("service","WFS");
+        for (var i=0; i < features.length; i++) {
+            switch (features[i].state) {
+                case OpenLayers.State.INSERT:
+                    transaction.appendChild(this.insert(features[i]));
+                    break;
+                case OpenLayers.State.UPDATE:
+                    transaction.appendChild(this.update(features[i]));
+                    break;
+                case OpenLayers.State.DELETE:
+                    transaction.appendChild(this.remove(features[i]));
+                    break;
+            }
+        }
+        
+        return OpenLayers.Format.XML.prototype.write.apply(this,[transaction]);
+    },
+   
+    /**
+     * Method: createFeatureXML
+     *
+     * Parameters: 
+     * feature - {<OpenLayers.Feature.Vector>}
+     */ 
+    createFeatureXML: function(feature) {
+        var geometryNode = this.buildGeometryNode(feature.geometry);
+        var geomContainer = this.createElementNS(this.featureNS, "feature:" + this.geometryName);
+        geomContainer.appendChild(geometryNode);
+        var featureContainer = this.createElementNS(this.featureNS, "feature:" + this.featureName);
+        featureContainer.appendChild(geomContainer);
+        for(var attr in feature.attributes) {
+            var attrText = this.createTextNode(feature.attributes[attr]); 
+            var nodename = attr;
+            if (attr.search(":") != -1) {
+                nodename = attr.split(":")[1];
+            }    
+            var attrContainer = this.createElementNS(this.featureNS, "feature:" + nodename);
+            attrContainer.appendChild(attrText);
+            featureContainer.appendChild(attrContainer);
+        }    
+        return featureContainer;
+    },
+    
+    /**
+     * Method: insert 
+     * Takes a feature, and generates a WFS-T Transaction "Insert" 
+     *
+     * Parameters: 
+     * feature - {<OpenLayers.Feature.Vector>} 
+     */
+    insert: function(feature) {
+        var insertNode = this.createElementNS(this.wfsns, 'wfs:Insert');
+        insertNode.appendChild(this.createFeatureXML(feature));
+        return insertNode;
+    },
+    
+    /**
+     * Method: update
+     * Takes a feature, and generates a WFS-T Transaction "Update" 
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>} 
+     */
+    update: function(feature) {
+        if (!feature.fid) { alert(OpenLayers.i18n("noFID")); }
+        var updateNode = this.createElementNS(this.wfsns, 'wfs:Update');
+        updateNode.setAttribute("typeName", this.layerName);
+
+        var propertyNode = this.createElementNS(this.wfsns, 'wfs:Property');
+        var nameNode = this.createElementNS(this.wfsns, 'wfs:Name');
+        
+        var txtNode = this.createTextNode(this.geometryName);
+        nameNode.appendChild(txtNode);
+        propertyNode.appendChild(nameNode);
+        
+        var valueNode = this.createElementNS(this.wfsns, 'wfs:Value');
+        
+        var geometryNode = this.buildGeometryNode(feature.geometry);
+        
+        if(feature.layer){
+            geometryNode.setAttribute(
+                "srsName", feature.layer.projection.getCode()
+            );
+        }
+        
+        valueNode.appendChild(geometryNode);
+        
+        propertyNode.appendChild(valueNode);
+        updateNode.appendChild(propertyNode);
+        
+         // add in attributes
+        for(var propName in feature.attributes) {
+            propertyNode = this.createElementNS(this.wfsns, 'wfs:Property');
+            nameNode = this.createElementNS(this.wfsns, 'wfs:Name');
+            nameNode.appendChild(this.createTextNode(propName));
+            propertyNode.appendChild(nameNode);
+            valueNode = this.createElementNS(this.wfsns, 'wfs:Value');
+            valueNode.appendChild(this.createTextNode(feature.attributes[propName]));
+            propertyNode.appendChild(valueNode);
+            updateNode.appendChild(propertyNode);
+        }
+        
+        
+        var filterNode = this.createElementNS(this.ogcns, 'ogc:Filter');
+        var filterIdNode = this.createElementNS(this.ogcns, 'ogc:FeatureId');
+        filterIdNode.setAttribute("fid", feature.fid);
+        filterNode.appendChild(filterIdNode);
+        updateNode.appendChild(filterNode);
+
+        return updateNode;
+    },
+    
+    /**
+     * Method: remove 
+     * Takes a feature, and generates a WFS-T Transaction "Delete" 
+     *
+     * Parameters:
+     * feature - {<OpenLayers.Feature.Vector>} 
+     */
+    remove: function(feature) {
+        if (!feature.fid) { 
+            alert(OpenLayers.i18n("noFID")); 
+            return false; 
+        }
+        var deleteNode = this.createElementNS(this.wfsns, 'wfs:Delete');
+        deleteNode.setAttribute("typeName", this.layerName);
+
+        var filterNode = this.createElementNS(this.ogcns, 'ogc:Filter');
+        var filterIdNode = this.createElementNS(this.ogcns, 'ogc:FeatureId');
+        filterIdNode.setAttribute("fid", feature.fid);
+        filterNode.appendChild(filterIdNode);
+        deleteNode.appendChild(filterNode);
+
+        return deleteNode;
+    },
+
+    /**
+     * APIMethod: destroy
+     * Remove ciruclar ref to layer 
+     */
+    destroy: function() {
+        this.layer = null;
+    },
+
+    CLASS_NAME: "OpenLayers.Format.WFS" 
+});    
+/* ======================================================================
+    OpenLayers/Handler/Polygon.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Handler/Path.js
+ * @requires OpenLayers/Geometry/Polygon.js
+ */
+
+/**
+ * Class: OpenLayers.Handler.Polygon
+ * Handler to draw a polygon on the map.  Polygon is displayed on mouse down,
+ * moves on mouse move, and is finished on mouse up.
+ *
+ * Inherits from:
+ *  - <OpenLayers.Handler.Path>
+ *  - <OpenLayers.Handler>
+ */
+OpenLayers.Handler.Polygon = OpenLayers.Class(OpenLayers.Handler.Path, {
+    
+    /**
+     * Parameter: polygon
+     * {<OpenLayers.Feature.Vector>}
+     */
+    polygon: null,
+
+    /**
+     * Constructor: OpenLayers.Handler.Polygon
+     * Create a Polygon Handler.
+     *
+     * Parameters:
+     * control - {<OpenLayers.Control>} 
+     * callbacks - {Object} An object with a 'done' property whos value is
+     *                          a function to be called when the path drawing is
+     *                          finished. The callback should expect to recieve a
+     *                          single argument, the polygon geometry.
+     *                          If the callbacks object contains a 'point'
+     *                          property, this function will be sent each point
+     *                          as they are added.  If the callbacks object contains
+     *                          a 'cancel' property, this function will be called when
+     *                          the handler is deactivated while drawing.  The cancel
+     *                          should expect to receive a geometry.
+     * options - {Object} 
+     */
+    initialize: function(control, callbacks, options) {
+        OpenLayers.Handler.Path.prototype.initialize.apply(this, arguments);
+    },
+    
+    /**
+     * Method: createFeature
+     * Add temporary geometries
+     */
+    createFeature: function() {
+        this.polygon = new OpenLayers.Feature.Vector(
+                                        new OpenLayers.Geometry.Polygon());
+        this.line = new OpenLayers.Feature.Vector(
+                                        new OpenLayers.Geometry.LinearRing());
+        this.polygon.geometry.addComponent(this.line.geometry);
+        this.point = new OpenLayers.Feature.Vector(
+                                        new OpenLayers.Geometry.Point());
+    },
+
+    /**
+     * Method: destroyFeature
+     * Destroy temporary geometries
+     */
+    destroyFeature: function() {
+        OpenLayers.Handler.Path.prototype.destroyFeature.apply(this);
+        if(this.polygon) {
+            this.polygon.destroy();
+        }
+        this.polygon = null;
+    },
+
+    /**
+     * Method: modifyFeature
+     * Modify the existing geometry given the new point
+     * 
+     */
+    modifyFeature: function() {
+        var index = this.line.geometry.components.length - 2;
+        this.line.geometry.components[index].x = this.point.geometry.x;
+        this.line.geometry.components[index].y = this.point.geometry.y;
+        this.line.geometry.components[index].clearBounds();
+    },
+
+    /**
+     * Method: drawFeature
+     * Render geometries on the temporary layer.
+     */
+    drawFeature: function() {
+        this.layer.drawFeature(this.polygon, this.style);
+        this.layer.drawFeature(this.point, this.style);
+    },
+
+    /**
+     * Method: geometryClone
+     * Return a clone of the relevant geometry.
+     *
+     * Returns:
+     * {<OpenLayers.Geometry.Polygon>}
+     */
+    geometryClone: function() {
+        return this.polygon.geometry.clone();
+    },
+
+    /**
+     * Method: dblclick
+     * Handle double-clicks.  Finish the geometry and send it back
+     * to the control.
+     * 
+     * Parameters:
+     * evt - {Event} 
+     */
+    dblclick: function(evt) {
+        if(!this.freehandMode(evt)) {
+            // remove the penultimate point
+            var index = this.line.geometry.components.length - 2;
+            this.line.geometry.removeComponent(this.line.geometry.components[index]);
+            this.finalize();
+        }
+        return false;
+    },
+
+    CLASS_NAME: "OpenLayers.Handler.Polygon"
+});
+/* ======================================================================
+    OpenLayers/Control/EditingToolbar.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
+ * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Control/Panel.js
+ * @requires OpenLayers/Control/Navigation.js
+ * @requires OpenLayers/Control/DrawFeature.js
+ * @requires OpenLayers/Handler/Point.js
+ * @requires OpenLayers/Handler/Path.js
+ * @requires OpenLayers/Handler/Polygon.js
+ */
+
+/**
+ * Class: OpenLayers.Control.EditingToolbar 
+ */
+OpenLayers.Control.EditingToolbar = OpenLayers.Class(
+  OpenLayers.Control.Panel, {
+
+    /**
+     * Constructor: OpenLayers.Control.EditingToolbar
+     * Create an editing toolbar for a given layer. 
+     *
+     * Parameters:
+     * layer - {<OpenLayers.Layer.Vector>} 
+     * options - {Object} 
+     */
+    initialize: function(layer, options) {
+        OpenLayers.Control.Panel.prototype.initialize.apply(this, [options]);
+        
+        this.addControls(
+          [ new OpenLayers.Control.Navigation() ]
+        );  
+        var controls = [
+          new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Point, {'displayClass': 'olControlDrawFeaturePoint'}),
+          new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Path, {'displayClass': 'olControlDrawFeaturePath'}),
+          new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Polygon, {'displayClass': 'olControlDrawFeaturePolygon'})
+        ];
+        for (var i = 0; i < controls.length; i++) {
+            controls[i].featureAdded = function(feature) { feature.state = OpenLayers.State.INSERT; };
+        }
+        this.addControls(controls);
+    },
+
+    /**
+     * Method: draw
+     * calls the default draw, and then activates mouse defaults.
+     *
+     * Returns:
+     * {DOMElement}
+     */
+    draw: function() {
+        var div = OpenLayers.Control.Panel.prototype.draw.apply(this, arguments);
+        this.activateControl(this.controls[0]);
+        return div;
+    },
+
+    CLASS_NAME: "OpenLayers.Control.EditingToolbar"
+});    
Index: lib/spatial/mapbuilder/lib/util/sarissa/javeline_xslt.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/sarissa/javeline_xslt.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/sarissa/javeline_xslt.js	(revision 4307)
@@ -0,0 +1,571 @@
+if(!IS_IE && !self.XSLTProcessor) XSLTProcessor = _Javeline_XSLTProcessor;
+	
+function _Javeline_XSLTProcessor(){
+	this.templates = {};
+	this.paramsSet={};
+	this.currentTemplate="global";
+	
+	// list of function xsl
+	this.p = {
+	
+		"value-of" : function(context, xslNode, childStack, result){   
+		 
+		  var expression = this.lookforVariable(xslNode.getAttribute("select"));
+		  var xmlNode = context.selectNodes(expression)[0];// + "[0]"
+		  if(xmlNode != null)
+		  {
+		   if(xmlNode == null ) value = "";
+		   else if(xmlNode.nodeType == 1) value = xmlNode.firstChild ? xmlNode.firstChild.nodeValue : "";
+		   else value = typeof xmlNode == "object" ? xmlNode.nodeValue : xmlNode;
+		  }
+		  else
+		  {
+		   value = expression;
+		  }
+		  result.appendChild(this.xmlDoc.createTextNode(value));
+		},
+		
+		"copy-of" : function(context, xslNode, childStack, result){
+			var xmlNode = XPath.selectNodes(this.lookforVariable(xslNode.getAttribute("select")), context)[0];// + "[0]"
+			if(xmlNode) result.appendChild(!IS_IE ? result.ownerDocument.importNode(xmlNode, true) : xmlNode.cloneNode(true));
+		},
+		
+		"if" : function(context, xslNode, childStack, result){
+		var test = this.lookforVariable(xslNode.getAttribute("test"));
+		
+		   if(XPath.selectNodes(test, context)[0]){// + "[0]"
+				this.parseChildren(context, xslNode, childStack, result);
+			}
+		},
+		
+		"for-each" : function(context, xslNode, childStack, result){
+			var nodes = XPath.selectNodes(this.lookforVariable(xslNode.getAttribute("select")), context);
+			for(var i=0;i<nodes.length;i++){
+				this.parseChildren(nodes[i], xslNode, childStack, result);
+			}
+		},
+		
+		"attribute" : function(context, xslNode, childStack, result){
+			var nres = this.xmlDoc.createDocumentFragment();
+			this.parseChildren(context, xslNode, childStack, nres);
+			result.setAttribute(xslNode.getAttribute("name"), nres.xml);
+		},
+		
+		"choose" : function(context, xslNode, childStack, result){
+		   
+			var nodes = xslNode.childNodes;
+			for(var i=0;i<nodes.length;i++){
+				if(!nodes[i].tagName) continue;
+				if(nodes[i][TAGNAME] == "when")
+				{
+				 var node = context.selectNodes(this.lookforVariable(nodes[i].getAttribute("test")))[0];
+				 if(node == "undefined") return;//safari bug
+				}
+				if(nodes[i][TAGNAME] == "otherwise" || (nodes[i][TAGNAME] == "when" && node))
+					return this.parseChildren(context, nodes[i], childStack[i][2], result);
+			}
+		},
+		"text" : function(context, xslNode, childStack, result)
+		{
+		   if(xmlNode == null ) value = "";
+		   else if(xmlNode.nodeType == 1) value = xmlNode.firstChild ? xmlNode.firstChild.nodeValue : "";
+		   else value = typeof xmlNode == "object" ? xmlNode.nodeValue : xmlNode;
+		   value = expression;
+		   result.appendChild(this.xmlDoc.createTextNode(value));
+		   
+		},
+		"call-template" : function(context, xslNode, childStack, result)
+		{
+		 var t = this.templates[xslNode.getAttribute("name")];
+		 this.currentTemplate=t;
+		 if(t){
+		  
+		  this.parseChildren(context, t[0], t[1], result);
+		  this.withparams(xslNode); 
+		  this.currentTemplate=t;
+		  this.paramsSet[this.currentTemplate]= new Array();
+		  }
+		},
+		"apply-templates" : function(context, xslNode, childStack, result)
+		{
+		//try if context is a node document else take is child
+		if(!xslNode){
+		       var childContext = context.childNodes[0];
+	           var tagname = childContext.tagName;
+	           var test = this.lookforTemplate(tagname);
+	           if(test == 0 ) test="/";
+	           t = this.templates[test];
+			   if(t) {
+				this.p["apply-templates"].call(this, context, t[0], t[1], result);
+				}
+			}else{
+		var aux = xslNode.getAttribute("match") || xslNode.getAttribute("select");
+		 aux = this.lookforVariable(aux);
+		var template = "";
+		if(this.templates[aux]) template =aux;
+		else
+		 template = this.lookforTemplate2(aux);
+		if(aux)
+		{
+	     this.currentTemplate=template;
+		 var t = this.templates[template];
+		 if(t)
+		 {
+		  //if(aux == "/") return alert("Something went wrong. The / template was executed as a normal template");
+		  var nodes = context.selectNodes(aux);
+		  var tabIndex;
+		  this.withparams(xslNode); 
+		  if(xslNode.firstChild[TAGNAME] == "sort")
+		  this.xslSort( xslNode.firstChild, nodes, tabIndex);
+		  if(!nodes[0]) return;
+		  for(var i=0;i<nodes.length;i++)
+		  { 
+		   if(xslNode.firstChild[TAGNAME] == "sort")
+		   this.parseChildren(nodes[tabIndex[i]], t[0], t[1], result);
+		   else
+		   this.parseChildren(i , t[0], t[1], result);
+		   this.currentTemplate=template;
+		   this.paramsSet[this.currentTemplate]= new Array(); 
+		  }
+		 }
+		}
+		else if(xslNode.getAttribute("name"))
+		{
+		 var t = this.templates[xslNode.getAttribute("name")];
+		 this.currentTemplate=t;
+		 if(t){
+		  this.withparams(xslNode); 
+		  this.parseChildren(context, t[0], t[1], result);
+		  this.currentTemplate=t;
+		  this.paramsSet[this.currentTemplate]= new Array();
+		  }
+		}
+		else
+		{
+				//Copy context
+				var ncontext = context.cloneNode(true); //importnode here??
+				var nres = this.xmlDoc.createDocumentFragment();
+				
+				var nodes = ncontext.childNodes;
+				if(!nodes[0]) return;
+				for(var tName, i=nodes.length-1;i>=0;i--){
+					if(nodes[i].nodeType == 3 || nodes[i].nodeType == 4){
+						//result.appendChild(this.xmlDoc.createTextNode(nodes[i].nodeValue));
+						continue;
+					}
+					if(!nodes[i].nodeType == 1) continue;
+					var n = nodes[i];
+
+					//Loop through all templates
+					for(tName in this.templates){
+						if(tName == "/") continue;
+						var t = this.templates[tName];
+						
+						var snodes = n.selectNodes("self::" + tName);
+						for(var j=snodes.length-1;j>=0;j--){
+							var s = snodes[j], p = s.parentNode;
+							
+							this.parseChildren(s, t[0], t[1], nres);
+							this.paramsSet[this.currentTemplate]= new Array();
+							 
+		  
+							if(nres.childNodes){
+								for(var k=nres.childNodes.length-1;k>=0;k--){
+									p.insertBefore(nres.childNodes[k], s);
+								}
+							}
+							p.removeChild(s);
+						}
+					}
+					
+					if(n.parentNode){
+						var p = n.parentNode;
+						this.p["apply-templates"].call(this, n, xslNode, childStack, nres);
+						if(nres.childNodes){
+							for(var k=nres.childNodes.length-1;k>=0;k--){
+								p.insertBefore(nres.childNodes[k], n);
+							}
+						}
+						p.removeChild(n);
+					}
+				}
+				
+				for(var i=ncontext.childNodes.length-1;i>=0;i--){
+					result.insertBefore(ncontext.childNodes[i], result.firstChild);
+				}
+			}
+			}
+		},
+		
+		cache : {},
+		
+		"import" : function(context, xslNode, childStack, result){
+			var file = xslNode.getAttribute("href");
+			if(!this.cache[file]){
+				var data = new HTTP().get(file, false, true);
+				this.cache[file] = data;
+			}
+			
+			//compile
+			//parseChildren
+		},
+		
+		"include" : function(context, xslNode, childStack, result){
+			
+		},
+		
+		"element" : function(context, xslNode, childStack, result){
+		    var element = this.xmlDoc.createElement(xslNode.getAttribute("name"));
+			this.parseChildren(context, xslNode, childStack,element);
+			result.appendChild(element);
+		},
+		
+		"param" : function(context, xslNode, childStack, result){
+		  var namePram = xslNode.getAttribute("name");
+		  if(!this.paramsSet["params"][namePram] && xslNode.firstChild)
+		  {
+		  var aux = getNodeValue(xslNode);
+		  if(aux == "undefined") aux= false;
+		  this.paramsSet["params"][namePram] = aux;
+		  }
+		},
+		"with-param" : function(context, xslNode, childStack, result){
+			
+		},
+		"variable" : function(context, xslNode, childStack, result){
+		 var namePram = xslNode.getAttribute("name");
+		 var tempValue="";
+		 if(!this.paramsSet[this.currentTemplate])//init variable
+		 this.paramsSet[this.currentTemplate] = new Array();
+		 if(!this.paramsSet[this.currentTemplate][namePram])
+		 {
+		  var nres = this.xmlDoc.createDocumentFragment();
+		  this.parseChildren(context,xslNode,childStack,nres);
+		  var nodes = nres.childNodes;//refactorize it
+		  var select=xslNode.getAttribute("select");
+		  if(select)
+		  {
+		  select = this.lookforVariable(select);
+		  try{
+		  var nodeSelect = context.selectNodes(select)[0];
+	      if(!nodeSelect) tempValue = "";
+		  else if(nodeSelect.nodeType == 1) tempValue = nodeSelect.firstChild ? nodeSelect.firstChild.nodeValue : "";
+		  else tempValue = typeof nodeSelect == "object" ? nodeSelect.nodeValue : nodeSelect;
+		  if(typeof nodeSelect == "number") tempValue=""+nodeSelect;
+		  
+		  }
+		  catch(e){
+		  
+		  }
+		  }
+		  else
+		  for(var i = 0; i < nodes.length;i++)
+		  {
+		  var temp2 = getNodeValue(nodes[i]);
+		   if(temp2 != "undefined")
+		   tempValue+=temp2;
+		  }
+		  tempValue = tempValue.replace(/\s/g,"");//maybe need to fix it
+		  this.paramsSet[this.currentTemplate][namePram] =tempValue;
+		 
+		 }
+		},
+		
+		"when" : function(){},
+		
+		"otherwise" : function(){},
+		
+		"sort" : function(){},
+		
+		"copy-clone" : function(context, xslNode, childStack, result){
+		
+			result = result.appendChild(!IS_IE ? result.ownerDocument.importNode(xslNode, false) : xslNode.cloneNode(false));
+			if(result.nodeType == 1){
+				for(var i=0;i<result.attributes.length;i++){
+					var blah = result.attributes[i].nodeValue; //stupid Safari shit
+
+					if(!IS_SAFARI && result.attributes[i].nodeName.match(/^xmlns/)) continue;
+					result.attributes[i].nodeValue = this.variable(result.attributes[i].nodeValue);
+					result.attributes[i].nodeValue = result.attributes[i].nodeValue.replace(/\{([^\}]+)\}/g, function(m, xpath){
+						var xmlNode = XPath.selectNodes(xpath, context)[0];
+						
+						if(!xmlNode) value = "";
+						else if(xmlNode.nodeType == 1) value = xmlNode.firstChild ? xmlNode.firstChild.nodeValue : "";
+						else value = typeof xmlNode == "object" ? xmlNode.nodeValue : xmlNode;
+						
+						return value;
+					});
+					
+					result.attributes[i].nodeValue; //stupid Safari shit
+				}
+			}
+			
+			this.parseChildren(context, xslNode, childStack, result);
+			
+		}
+	}
+	/**
+     * xslSort , threat the stack
+     * 
+     * @argument xsl node which transformes
+     * @argument Stack from compile
+     * @argument the code html
+     * @return return the text with the value  from variable or not change the text
+     */
+	this.xslSort = function( xslsort, nodeSort, tabIndex){
+		
+		var select = xslsort.getAttribute("select");
+		var tabIndex = new Array;
+		var tabIndex2 = new Array;
+		for(var i=0;i<nodeSort.length;i++)
+		{
+		  var temp = nodeSort[i].selectNodes(select);
+		  tabIndex[i]= temp;
+		  tabIndex2[temp]=i;
+		}
+		tabIndex.sort();
+		var tabIndex3 = new Array;
+		for(var i=0;i<tabIndex.length;i++)
+		{
+		  tabIndex3[tabIndex2[tabIndex[i]]] = i;
+		}
+		tabIndex = tabIndex3;
+		
+	}
+	/**
+     * parseChidren , threat the stack
+     * 
+     * @argument the xml node which will be transformed
+     * @argument xsl node which transformes
+     * @argument Stack from compile
+     * @argument the code html
+     * @return return the text with the value  from variable or not change the text
+     */
+	this.parseChildren = function(context, xslNode, childStack, result){
+		if(!childStack){ 
+		alert("stack empty");return;
+		}
+		if(childStack.length == 0) return;
+		for(var i=0;i<childStack.length;i++){
+			
+			childStack[i][0].call(this, context, childStack[i][1], childStack[i][2], result);
+		}
+	}
+	/**
+     * compile xsl 
+     * 
+     * @argument xsl node
+     * @return return the stack
+     */
+	this.compile = function(xslNode){
+		var nodes = xslNode.childNodes;
+		for(var stack=[],i=0;i<nodes.length;i++)
+		{
+		  var nType = nodes[i].nodeType;
+		  if(nodes[i][TAGNAME] == "template")
+		  {
+			this.templates[nodes[i].getAttribute("match") || nodes[i].getAttribute("name")] = [nodes[i], this.compile(nodes[i])];
+			//stack.push([this.p["apply-templates"], nodes[i], this.compile(nodes[i])]);
+		  }
+		  else if(nodes[i][TAGNAME] == "stylesheet")
+		  {
+			stack=this.compile(nodes[i])
+		  }
+		  else if(nodes[i].prefix == "xsl")
+		  {
+		   var func = this.p[nodes[i][TAGNAME]];
+		   if(!func) alert("xsl:" + nodes[i][TAGNAME] + " is not supported at this time on this platform");
+		   else stack.push([func, nodes[i], this.compile(nodes[i])]);
+		  }
+		  else
+		  {
+			if( nType != 8) //comment can not have child and useless
+			{
+			  stack.push([this.p["copy-clone"], nodes[i], this.compile(nodes[i])]);
+			}
+		  }
+	    }
+		return stack;
+	}
+	/**
+     * look for a variable in html node
+     * 
+     * @argument text from html node
+     * @return return the text with the value  from variable or not change the text
+     */
+  this.variable = function(string){
+    if(string.indexOf('$') != -1 )
+	{
+	  var result = string.match(/\$(\w)*/g);
+	  for(var i = 0;i<result.length;i++)
+	  {
+	   var aux=result[i].substring(1);
+	   
+	   //aux.replace(/\{|\}/,"");
+	   for(p in this.paramsSet)
+	   if(this.paramsSet[p][aux])
+	   string = string.replace("\{"+result[i]+"\}",this.paramsSet[p][aux]);
+	  }
+	}
+	return string;
+  }
+  
+   /**
+     * withparam function's xsl
+     * 
+     * @argument node xsl
+     */
+  this.withparams = function(nodexsl)
+  {
+  var nodes = nodexsl.childNodes;
+  for(var i = 0;i< nodes.length;i++)
+  {
+   if(nodes[i][TAGNAME] == "with-param" )
+   {       var name=xslNode.getAttribute("name");
+          var nodeschild = nodes[i].childNodes;//refactorize it
+		  var select=xslNode.getAttribute("select");
+		  if(select)
+		  {
+		    select = this.lookforVariable(select);
+		    try{
+		    var nodeSelect = context.selectNodes(select)[0];
+	        if(!nodeSelect) tempValue = "";
+		    else if(nodeSelect.nodeType == 1) tempValue = nodeSelect.firstChild ? nodeSelect.firstChild.nodeValue : "";
+		    else tempValue = typeof nodeSelect == "object" ? nodeSelect.nodeValue : nodeSelect;
+		    if(typeof nodeSelect == "number") tempValue=""+nodeSelect;
+		  
+		  }
+		  catch(e){
+		  
+		  }
+		  }
+		  else{
+		  for(var i = 0; i < nodes.length;i++)
+		  {
+		    var temp2 = getNodeValue(nodes[i]);
+		     if(temp2 != "undefined")
+		     tempValue+=temp2;
+		  }
+		  tempValue = tempValue.replace(/\s/g,"");//maybe need to fix it
+		  this.paramsSet[this.currentTemplate][name] =tempValue;
+		  
+   }
+   }
+  }
+  }
+   /**
+     * look for a variable in xsl node
+     * 
+     * @argument text from xsl node
+     * @return return the text with the value  from variable or not change the text
+     */
+  this.lookforVariable = function(string){
+    if(string.indexOf('$') != -1 ){
+	
+	 var found = 0;
+	 var result = string.match(/(=)?\$(\w*)/);
+	 while(result)
+	  {  
+	     var aux=RegExp.$2
+	     
+	     for(p in this.paramsSet){
+	     if(this.paramsSet[p][aux]){
+	     found=1;
+	     if( RegExp.$1 == "=" )
+	     string = string.replace("$"+aux,"'"+this.paramsSet[p][aux]+"'");
+	     else{
+	     var data = this.paramsSet;
+	     string = string.replace(/\$(\w*)/,function(d,match){
+	     if( match == aux ) 
+	     return data[p][aux];
+	      else 
+	      return match;
+	     
+	     });
+	     }
+         
+	     }
+	     }
+	    if(found == 0)  string = string.replace("$"+aux,false);
+	   result = string.match(/(=)?\$(\w*)/);
+	  }
+	}
+	return string;
+  }
+  this.lookforTemplate = function(string){
+    
+    var templat =":"+string;
+  for(look in this.templates){
+     if(look.match(new RegExp(templat))){
+     if(RegExp.rightContext == null)
+     return look;
+     }
+     
+  }
+  return 0;
+  }
+   this.lookforTemplate2 = function(string){
+   if(string == "/") return "/";
+    var temp = string.replace(/\[.*\]/g, "");
+     temp = temp.split("/");
+     temp = temp[temp.length - 1];
+        
+  for(look in this.templates){
+     if(look.match(new RegExp(temp))){
+     if(RegExp.rightContext == null)
+     return look;
+     }
+  }
+  return 0;
+  }
+  
+  this.importStylesheet = function(xslDoc){
+    this.xslDoc = xslDoc.nodeType == 9 ? xslDoc.documentElement : xslDoc;
+	this.xslStack = this.compile(xslDoc);
+	this.paramsSet = new Array();
+	this.paramsSet["params"] = new Array();
+	//var t = this.templates["/"] ? "/" : false;
+	//if(!t) for(t in this.templates) if(typeof this.templates[t] == "array") break;
+	//this.xslStack.push([[this.p["apply-templates"], {getAttribute : function(n){if(n=="name") return t}}]]);
+	this.xslStack.push( [this.p["apply-templates"], null]);
+  }
+  this.setParameter = function(nsURI, name, value){
+   // make value a zero length string if null to allow clearing
+   value = value ? value : "";
+   this.paramsSet["params"][name] = value;
+  };
+    /**
+     * Gets a parameter if previously set by setParameter. Returns null
+     * otherwise
+     * @argument name The parameter base name
+     * @argument value The new parameter value
+     * @return The parameter value if reviously set by setParameter, null otherwise
+     */
+    this.getParameter = function(nsURI, name){
+        nsURI = "" + nsURI;
+        if(this.paramsSet["params"][name])
+        {
+         return this.paramsSet[name];
+        }
+        else return null;
+    };
+    /**
+     * Clear parameters (set them to default values as defined in the stylesheet itself)
+     */
+    this.clearParameters = function(){
+        
+        this.paramsSet = new Array();
+        this.paramsSet["params"]= new Array();
+    };
+	//return nodes
+	this.transformToFragment = function(doc, newDoc){
+	   
+	   this.xmlDoc = newDoc.nodeType != 9 ? newDoc.ownerDocument : newDoc;
+	   var docfrag = this.xmlDoc.createDocumentFragment();
+       this.paramsSet["global"]= new Array();
+	   this.currentTemplate="global";
+	   var result = this.parseChildren(doc, this.xslDoc, this.xslStack, docfrag);
+	   return docfrag;
+	}
+	
+}
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/sarissa/javeline_xpath.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/sarissa/javeline_xpath.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/sarissa/javeline_xpath.js	(revision 4307)
@@ -0,0 +1,511 @@
+/********* IE XPath Object ************************************************
+	Workaround for the lack of having an XPath parser on safari
+	It works on Safari's document and XMLDocument object.
+	
+	It doesn't support the full XPath spec, but just enought for
+	the skinning engine which needs XPath on the HTML document.
+	
+	Supports:
+	- Compilation of xpath statements
+	- Caching of XPath statements
+****************************************************************************/
+//Set up the $ method
+IS_SAFARI = navigator.userAgent.toLowerCase().indexOf("safari") != -1 || navigator.userAgent.toLowerCase().indexOf("konqueror") != -1;
+IS_SAFARI_OLD = IS_SAFARI && parseInt((navigator.userAgent.match(/AppleWebKit\/(\d+)/)||{})[1]) < 420;
+IS_GECKO = document.implementation && document.implementation.createDocument && true;
+IS_OPERA = navigator.userAgent.toLowerCase().indexOf("opera") != -1;
+IS_IE = document.all && !IS_OPERA;
+IS_NEW_SAFARI = IS_SAFARI && navigator.userAgent.toLowerCase().indexOf("version/3") != -1;
+//This breaks for(x in o) loops in the old Safari
+if(IS_SAFARI_OLD && !IS_NEW_SAFARI){
+	HTMLHtmlElement = document.createElement("html").constructor;
+	Node = HTMLElement = {};
+	HTMLElement.prototype = HTMLHtmlElement.__proto__.__proto__;
+	HTMLDocument = Document = document.constructor;
+	var x = new DOMParser();
+	XMLDocument = x.constructor;
+	Element = x.parseFromString("<Single />", "text/xml").documentElement.constructor;
+	x = null;
+}
+
+TAGNAME = IS_IE ? "baseName" : "localName";
+var _$ = function(tag, doc, prefix, force){
+	return (doc || document).getElementsByTagName(tag);
+}
+if(IS_SAFARI){
+XPath = {
+	cache : {},
+	
+	getChildNode : function(htmlNode, tagName, info, count, num, sResult){
+		var numfound = 0, result = null, data = info[count];
+		if( tagName != null)
+		if(tagName.indexOf(':') > 0)
+        tagName = tagName.split(':')[1];
+		var nodes = htmlNode.childNodes;
+		if(!nodes) return; //Weird bug in Safari
+		for(var i=0;i<nodes.length;i++){
+			if(tagName && (nodes[i].style ? nodes[i].tagName.toLowerCase() : nodes[i].tagName) != tagName) continue;// || numsearch && ++numfound != numsearch
+
+			if(data) data[0](nodes[i], data[1], info, count+1, numfound++ , sResult);
+			else sResult.push(nodes[i]);
+		}
+		
+		//commented out :  && (!numsearch || numsearch == numfound)
+	},
+	
+	doQuery : function(htmlNode, qData, info, count, num, sResult){
+		var result = null, data = info[count];
+		var query = qData[0];
+		var returnResult = qData[1];
+		try
+		{
+		var qResult = eval(query);
+		}catch(e){
+		alert("eror :"+e+" in query : "+query);
+		return;}
+		
+		if(returnResult) return sResult.push(qResult);
+		if( qResult == null || qResult == "undefined" || qResult == "" ) return;
+		
+		if(data) data[0](htmlNode, data[1], info, count+1, 0, sResult);
+		else sResult.push(htmlNode);
+	},
+	
+	getTextNode : function(htmlNode, empty, info, count, num, sResult){
+		var result = null, data = info[count];
+      
+		var nodes = htmlNode.childNodes;
+		for(var i=0;i<nodes.length;i++){
+			if(nodes[i].nodeType != 3 && nodes[i].nodeType != 4) continue;
+			
+			if(data) data[0](nodes[i], data[1], info, count+1, i, sResult);
+			else sResult.push(nodes[i]);
+		}
+	},
+	
+	getAnyNode : function(htmlNode, empty, info, count, num, sResult){
+		var result = null, data = info[count];
+		var sel = [], nodes = htmlNode.childNodes;
+		for(var i=0;i<nodes.length;i++){
+			if(data) data[0](nodes[i], data[1], info, count+1, i, sResult);
+			else sResult.push(nodes[i]);
+		}
+	},
+	
+	getAttributeNode : function(htmlNode, attrName, info, count, num, sResult){
+		if(!htmlNode || htmlNode.nodeType != 1) return;
+		var result = null, data = info[count];
+		var value = htmlNode.getAttributeNode(attrName);//htmlNode.attributes[attrName];//
+
+		if(data) data[0](value, data[1], info, count+1, 0, sResult);
+		else if(value) sResult.push(value);
+	},
+	
+	getAllNodes : function(htmlNode, x, info, count, num, sResult){
+		var result = null, data = info[count];
+		
+		var tagName = x[0];
+		if( tagName != null)
+		if(tagName.indexOf(':') > 0)
+        tagName = tagName.split(':')[1];
+		
+		var inclSelf = x[1];
+		var prefix = x[2];
+        
+		if(inclSelf && (htmlNode.tagName == tagName || tagName == "*")){
+			if(data) data[0](htmlNode, data[1], info, count+1, 0, sResult);
+			else sResult.push(htmlNode);
+		}
+
+		var nodes = _$(tagName, htmlNode, tagName==prefix?"":prefix);//htmlNode.getElementsByTagName(tagName);
+		for(var i=0;i<nodes.length;i++){
+			if(data) data[0](nodes[i], data[1], info, count+1, i, sResult);
+			else sResult.push(nodes[i]);
+		}
+	},
+	
+	getParentNode : function(htmlNode, empty, info, count, num, sResult){
+		var result = null, data = info[count];
+		var node = htmlNode.parentNode;
+		if(data) data[0](node, data[1], info, count+1, 0, sResult);
+		else if(node) sResult.push(node);
+	},
+	
+	getPrecedingSibling : function(htmlNode, tagName, info, count, num, sResult){
+	if(tagName =="*") tagName = htmlNode.tagName;
+		var result = null, data = info[count];
+		var node = htmlNode.previousSibling;
+		while(node){
+			if(tagName != "node()" && node.tagName != tagName){
+				continue;
+			}
+			if(node){
+				sResult.push(node);
+			}
+			node = node.previousSibling;
+		}
+	},
+	
+	//flwsiblg[3] might not be conform spec
+	getFollowingSibling : function(htmlNode, tagName, info, count, num, sResult){
+		var result = null, data = info[count];
+		if(tagName =="*") tagName = htmlNode.tagName;
+		var node = htmlNode.nextSibling;
+		while(node){
+			if( tagName != "NODE()" && node.tagName != tagName){
+				continue;
+			}
+			if(node != null){
+				sResult.push(node);
+			}
+			node = node.previousSibling;
+		}
+	},
+	
+	getPreceding: function(htmlNode, tagName, info, count, num, sResult){
+	if(tagName =="*") tagName = htmlNode.tagName;
+		var result = null, data = info[count];
+		var parent = htmlNode.parentNode;
+		var node = htmlNode.previousSibling;
+		while(node){
+			if(node.parentNode != parent && tagName != "NODE()" && node.tagName != tagName){
+				node = node.previousSibling;
+				continue;
+			}
+			if(node){
+			 
+				sResult.push(node);
+				node = node.previousSibling;
+				
+			}
+		}
+	},
+	
+	
+	getFollowing : function(htmlNode, tagName, info, count, num, sResult){
+	if(tagName =="*") tagName = htmlNode.tagName;
+		var result = null, data = info[count];
+		var parent = htmlNode.parentNode;
+		var node = htmlNode.nextSibling;
+		while(node){
+			if(node.parentNode != parent && tagName != "NODE()" && node.tagName != tagName){
+				node = node.nextSibling;
+				continue;
+			}
+			 if(node){
+				sResult.push(node);
+				node = node.nextSibling;
+			}
+		}
+	},
+	
+	multiXpaths : function(contextNode, list, info, count, num, sResult){
+		for(var i=list.length;i>0;i--){
+			var info = list[i][0];
+			var rootNode = (info[3] ? contextNode.ownerDocument.documentElement : contextNode);//document.body
+			info[0](rootNode, info[1], list[i], 1, 0, sResult);
+		}
+		
+		sResult.makeUnique();
+		
+	},
+	
+	compile : function(sExpr){
+	    
+	    //
+	    
+		sExpr = sExpr.replace(/\[(\d+)\]/g, "/##$1");
+		sExpr = sExpr.replace(/\|\|(\d+)\|\|\d+/g, "##$1");
+		sExpr = sExpr.replace(/\.\|\|\d+/g, ".");
+		sExpr = sExpr.replace(/\[([^\]]*)\]/g, "/##$1#");
+        
+		if(sExpr == "/" || sExpr == ".") return sExpr;
+		
+		//Mark // elements
+		//sExpr = sExpr.replace(/\/\//g, "/[]/self::");
+		sExpr = sExpr.replace(/\/\//g, "descendant::");
+		
+		//Check if this is an absolute query
+		
+		return this.processXpath(sExpr);
+	},
+	
+	processXpath : function(sExpr){
+		var results = new Array();
+		sExpr = sExpr.replace(/('[^']*)\|([^']*')/g, "$1_@_$2");
+		sExpr = sExpr.split("|");
+		for(var i=0;i<sExpr.length;i++) sExpr[i] = sExpr[i].replace(/('[^']*)\_\@\_([^']*')/g, "$1|$2");
+		
+		if(sExpr.length == 1) sExpr = sExpr[0];
+		else{
+			for(var i=0;i<sExpr.length;i++) sExpr[i] = this.processXpath(sExpr[i]);
+			results.push([this.multiXpaths, sExpr]);
+			return results;
+		}
+		//check if the expression is complexe
+		
+		if(sExpr.match(/\(/)){
+		
+		   //sExpr = sExpr.replace(/\#\#(.*)/g, "\[$1\]");
+		 
+		   results.push([this.doQuery, [this.compileQuery(sExpr), true]]);
+		   return results;
+		}
+		
+		
+		
+		var isAbsolute = sExpr.match(/^\/[^\/]/);
+		var sections = sExpr.split("/");
+		
+		for(var i=0;i<sections.length;i++){
+			if(sections[i] == "." || sections[i] == "") continue;
+			else if(sections[i].match(/^[\w-_\.]+(?:\:[\w-_\.]+){0,1}$/)) results.push([this.getChildNode, sections[i]]);//.toUpperCase()
+			else if(sections[i].match(/^\#\#(\d+)$/)) results.push([this.doQuery, ["num+1 == " + parseInt(RegExp.$1)]]);
+			else if(sections[i].match(/^\#\#(.*)$/)){
+				
+				//FIX THIS CODE
+				var query = RegExp.$1;
+				var m = [query.match(/\(/g), query.match(/\)/g)];
+				if(m[0] || m[1]){
+					while(!m[0] && m[1] || m[0] && !m[1] || m[0].length != m[1].length){
+						if(!sections[++i]) break;
+						query += sections[i];
+					}
+					
+				}
+				else{
+				   i++;
+					while(sections[i]){
+					   
+					     
+					    if(!sections[i]) break;
+						if(sections[i-1].match(/.*\#$/) ) 
+					    {
+					    break;
+					    }
+						query +="/"+sections[i];
+						i++;
+						 
+					}
+					
+				}
+				query = query.replace(/\#/,"");
+				results.push([this.doQuery, [this.compileQuery(query)]]);
+			}
+			else if(sections[i] == "*") results.push([this.getChildNode, null]); //FIX - put in def function
+			else if(sections[i].substr(0,2) == "[]") results.push([this.getAllNodes, ["*", false]]);//sections[i].substr(2) || 
+			else if(sections[i].match(/::/)){
+			 if(sections[i].match(/descendant-or-self::node\(\)$/)) results.push([this.getAllNodes, ["*", true]]);
+			else if(sections[i].match(/descendant-or-self::([^\:]*)(?:\:(.*)){0,1}$/)) results.push([this.getAllNodes, [RegExp.$2 || RegExp.$1, true, RegExp.$1]]);
+			else if(sections[i].match(/descendant::([^\:]*)(?:\:(.*)){0,1}$/)) results.push([this.getAllNodes, [RegExp.$2 || RegExp.$1, false, RegExp.$1]]);
+			else if(sections[i].match(/following-sibling::(.*)$/)) results.push([this.getFollowingSibling, RegExp.$1.toUpperCase()]);
+			else if(sections[i].match(/preceding-sibling::(.*)$/)) results.push([this.getPrecedingSibling, RegExp.$1.toUpperCase()]);
+			else if(sections[i].match(/following::(.*)$/)) results.push([this.getFollowing, RegExp.$1.toUpperCase()]);
+			else if(sections[i].match(/preceding::(.*)$/)) results.push([this.getPreceding, RegExp.$1.toUpperCase()]);
+			else if(sections[i].match(/self::(.*)$/)) results.push([this.doQuery, ["XPath.doXpathFunc('local-name', htmlNode) == '" + RegExp.$1 + "'"]]);}else if(sections[i].match(/^\@(.*)$/)) results.push([this.getAttributeNode, RegExp.$1]);
+			else if(sections[i] == "text()") results.push([this.getTextNode, null]);
+			else if(sections[i] == "node()") results.push([this.getAnyNode, null]);//FIX - put in def function
+			else if(sections[i] == "..") results.push([this.getParentNode, null]);
+			else{
+				var query = sections[i];
+			
+				//FIX THIS CODE
+				//add some checking here
+				var m = [query.match(/\(/g), query.match(/\)/g)];
+				if(m[0] || m[1]){
+					while(!m[0] && m[1] || m[0] && !m[1] || m[0].length != m[1].length){
+						if(!sections[++i]) break;
+						query += "/" + sections[i];
+						m = [query.match(/\(/g), query.match(/\)/g)];
+					}
+				}
+               
+				results.push([this.doQuery, [this.compileQuery(query), true]])
+			
+				//throw new Error(1503, "---- Javeline Error ----\nMessage : Could not match XPath statement: '" + sections[i] + "' in '" + sExpr + "'");
+			}
+		}
+
+		results[0][3] = isAbsolute;
+		return results;
+	},
+	
+	compileQuery : function(code){
+		var c = new CodeCompilation(code);
+		var test = c.compile();
+		return test;
+	},
+	
+	doXpathFunc : function(type, arg1, arg2, arg3){
+	 
+		switch(type){
+			case "not":if((arg1 == null) || (arg1 == true)) return false; else return true;
+			case "position": return parseInt(arg1);
+			case "position()":  return num;
+			case "format-number": return new String(Math.round(parseFloat(arg1)*100)/100).replace(/(\.\d?\d?)$/, function(m1){return m1.pad(3, "0", PAD_RIGHT)});; //this should actually do something
+			case "floor": return Math.floor(arg1);
+			case "ceiling": return Math.ceil(arg1);
+			case "starts-with": return arg1 ? arg1.substr(0, arg2.length) == arg2 : false;
+			case "string-length": return arg1 ? arg1.length : 0;
+			case "count": return arg1 ? parseInt(arg1.length) : 0;
+			case "last": return arg1 ? arg1[arg1.length-1] : null;
+			case "local-name": return arg1 ? arg1.tagName : "";//[TAGNAME]
+			case "substring": return arg1 && arg2 ? arg1.substring(arg2, arg3 || 0) : "";
+			case "contains": return arg1 && arg2 ? arg1.indexOf(arg2) > -1 : false;
+			case "concat": 
+				for(var str="",i=1;i<arguments.length;i++){
+					if(typeof arguments[i] == "object"){
+						str += getNodeValue(arguments[i][0]);
+						continue;
+					}
+					str += arguments[i];
+				}
+			return str;
+		}
+	},
+	
+	selectNodeExtended : function(sExpr, contextNode){
+		var sResult = this.selectNodes(sExpr, contextNode);
+		//	if(sResult.length == 0) return null;
+	if(sResult.length == 1  ){
+		sResult = sResult[0];
+	   return getNodeValue(sResult);
+	     }
+		
+		return sResult;
+	},
+	
+	selectNodes : function(sExpr, contextNode){
+         //sExpr = sExpr.replace(/\s/g,"");//delete space
+	   
+	     
+	     
+	    
+		if(!this.cache[sExpr]) this.cache[sExpr] = this.compile(sExpr);
+		 
+		if(typeof this.cache[sExpr] == "string"){
+			if(this.cache[sExpr] == ".") return [contextNode];
+			if(this.cache[sExpr] == "/") return [contextNode.nodeType == 9 ? contextNode : contextNode.ownerDocument.documentElement];
+		}
+		
+		var info = this.cache[sExpr][0];
+		var rootNode = (info[3] && !contextNode.nodeType == 9 ? contextNode.ownerDocument.documentElement : contextNode);//document.body
+		var sResult = [];
+		 var y = new XMLSerializer()
+	     
+	    
+		info[0](rootNode, info[1], this.cache[sExpr], 1, 0, sResult);
+		
+		if(sResult == "")
+		if(sExpr.indexOf(/\/\//)){
+		 
+	     while(rootNode.parentNode)if(rootNode)rootNode = rootNode.parentNode;
+	     info[0](rootNode, info[1], this.cache[sExpr], 1, 0, sResult);
+	     }
+	
+		return sResult;
+	}
+}
+
+function getNodeValue(sResult){
+	if(sResult.nodeType == 1) return sResult.firstChild ? sResult.firstChild.nodeValue : "";
+	if(sResult.nodeType > 1 || sResult.nodeType < 5) return sResult.nodeValue;
+	return sResult;
+}
+
+function CodeCompilation(code){
+	this.data = {
+		F : [],
+		S : [],
+		I : [],
+		X : [],
+		P : []
+	};
+	
+	this.compile = function(){
+		
+		code = code.replace(/ or /g, " || ");
+		code = code.replace(/ and /g, " && ");
+		code = code.replace(/!=/g, "{}");
+		code = code.replace(/ mod /g, "%");
+		code = code.replace(/=/g, "==");
+		code = code.replace(/====/g, "==");
+		code = code.replace(/\{\}/g, "!=");
+		// Tokenize
+		this.tokenize();
+		// Insert
+		this.insert();
+       return code;
+	}
+	
+	this.tokenize = function(){
+	    //param
+	    	
+	    var data = this.data.P;
+		code = code.replace(/\((.*\#\#.*[^)])/g, function(d, match){return "("+(data.push(match) - 1) + "P_";});
+		//Functions
+		var data = this.data.F;
+		code = code.replace(/(format-number|contains|substring|local-name|last|node|position|round|starts-with|string|string-length|sum|floor|ceiling|concat|count|not)\s*\(/g, function(d, match){return (data.push(match) - 1) + "F_";});
+      
+		//Strings
+		var data = this.data.S;
+		code = code.replace(/'([^']*)'/g, function(d, match){return (data.push(match) - 1) + "S_";});
+		code = code.replace(/"([^"]*)"/g, function(d, match){return (data.push(match) - 1) + "S_";});
+       
+		//Xpath
+		var data = this.data.X;
+		code = code.replace(/(^|\W|\_)([\@\.\/A-Za-z][\.\@\/\w:-]*(?:\(\)){0,1})/g, function(d, m1, m2){return m1 + (data.push(m2) - 1) + "X_";});
+		code = code.replace(/(\.[\.\@\/\w]*)/g, function(d, m1, m2){return (data.push(m1) - 1) + "X_";});
+		//Ints
+		var data = this.data.I; 
+		code = code.replace(/(\d+)(\W)/g, function(d, m1, m2){return (data.push(m1) - 1) + "I_" + m2;});
+	
+		
+	}
+	
+	this.insert = function(){
+		var data = this.data;
+		var flagFunction=0;
+		code = code.replace(/(\d+)([FISXP])_/g, function(d, nr, type){
+			var value = data[type][nr];
+			
+			if(type == "F"){
+			    flagFunction++;
+				var test = "XPath.doXpathFunc('" + value + "', ";
+				if(value == "position") 
+				test+="XPath.selectNodes('count(preceding::'+htmlNode.tagName+')', htmlNode)";//because poition  has not argument
+				return test;
+			}
+			else if(type == "S"){
+				return "'" + value + "'";	
+			}
+			else if(type == "I"){
+				return value;
+			}
+			else if(type == "X"){ if(code.indexOf("X") > code.indexOf(")")) flagFunction=0;//check if it works
+			    if(flagFunction > 0 )
+			    return "XPath.selectNodes('" + value.replace(/'/g, "\\'") + "', htmlNode)";
+			    else
+				return "XPath.selectNodeExtended('" + value.replace(/'/g, "\\'") + "', htmlNode)";
+			}
+			else if(type == "P"){
+			 return "XPath.selectNodes('" + value.replace(/'/g, "\\'") + " ', htmlNode)";
+			}
+			
+		});
+		
+	}
+}
+}
+if(IS_SAFARI ){
+	HTMLDocument.prototype.selectNodes = 
+	Element.prototype.selectNodes = 
+	XMLDocument.prototype.selectNodes = function(sExpr, contextNode){
+		return XPath.selectNodes(sExpr, contextNode || this);
+	}
+	HTMLDocument.prototype.selectSingleNode = 
+	Element.prototype.selectSingleNode = 
+	XMLDocument.prototype.selectSingleNode = function(sExpr, contextNode){
+		return XPath.selectNodes(sExpr, contextNode || this)[0]; // This could be optimized in the XPath object
+	}
+}
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG26591.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG26591.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG26591.js	(revision 4307)
@@ -0,0 +1,6 @@
+Proj4js.defs["EPSG:26591"] = "+title= Monte Mario (Rome) / Italy zone 1 EPSG:26591\
++proj=tmerc\
++lat_0=0 +lon_0=-3.45233333333333 +from_greenwich=12.45233333333333\
++k=0.999600 +x_0=1500000 +y_0=0\
++a=6378388.0, +b=6356911.94612795\
++units=m";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG4302.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG4302.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG4302.js	(revision 4307)
@@ -0,0 +1,3 @@
+Proj4js.defs["EPSG:4302"] = "+title=Trinidad 1903 EPSG:4302 (7 param datum shift)\
+  +proj=longlat +a=6378293.63683822 +b=6356617.979337744 +towgs84=-61.702,284.488,472.052,0,0,0,0";
+  
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG900913.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG900913.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG900913.js	(revision 4307)
@@ -0,0 +1,11 @@
+// Google Mercator projection
+// Used in combination with GoogleMercator layer type in OpenLayers
+//+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs
+
+Proj4js.defs["EPSG:900913"]= "\
+  +title= Google Mercator EPSG:900913\
+  +proj=merc +a=6378137 +b=6378137 \
+  +lat_ts=0.0 +lon_0=0.0 \
+  +x_0=0.0 +y_0=0 +k=1.0 \
+  +units=m +nadgrids=@null +no_defs \
+";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32622.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32622.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32622.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:32622"] = "+proj=utm +zone=22 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG54008.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG54008.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG54008.js	(revision 4307)
@@ -0,0 +1,9 @@
+// World Sinusoidal
+//<54008> +proj=sinu +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m  no_defs <>
+
+Proj4js.defs["EPSG:54008"]= "\
+  +title= World Sinuso�dal EPSG:54008\
+  +proj=sinu \
+  +lon_0=0 +x_0=0 +y_0=0 \
+  +ellps=WGS84 +datum=WGS84 +units=m \
+";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31284.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31284.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31284.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:31284"] = "+title=MGI / M31 EPSG:31284 +proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1.000000 +x_0=150000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31296.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31296.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG31296.js	(revision 4307)
@@ -0,0 +1,3 @@
+//# MGI / M34
+//<31296> +proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1.000000 +x_0=750000 +y_0=0 +ellps=bessel +units=m +no_defs  <>
+Proj4js.defs["EPSG:31296"] = "+title=MGI / M34 EPSG:31296 +proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1.000000 +x_0=750000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG4181.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG4181.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG4181.js	(revision 4307)
@@ -0,0 +1,4 @@
+Proj4js.defs["EPSG:4181"] = "+title=Luxembourg 1930 EPSG:4181 (7 param datum shift)\
+  +proj=longlat \
+  +towgs84=-193,13.7,-39.3,-0.41,-2.933,2.688,0.43 \
+  +a=6378388.0, +b=6356911.94612795";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG102582.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG102582.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG102582.js	(revision 4307)
@@ -0,0 +1,5 @@
+/*# NTF France II degrees
+<102582> +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=2.337229166666667 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356514.999904194 +units=m  no_defs <>
+*/
+Proj4js.defs["EPSG:102582"] = "+title=NTF France II degrees EPSG:102582\
+	 +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=2.337229166666667 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356514.999904194 +units=m";
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32611.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32611.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32611.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:32611"] = "+title=WGS 84 / UTM zone 11N epsg:32611 +proj=utm +zone=11 +ellps=WGS84 +datum=WGS84 +units=m +no_defs";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32740.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32740.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32740.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:32740"] = "+proj=utm +zone=40 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32706.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32706.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG32706.js	(revision 4307)
@@ -0,0 +1 @@
+Proj4js.defs["EPSG:32706"] = "+proj=utm +zone=6 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
\ No newline at end of file
Index: lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG54029.js
===================================================================
--- lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG54029.js	(nonexistent)
+++ lib/spatial/mapbuilder/lib/util/proj4js/defs/EPSG54029.js	(revision 4307)
@@ -0,0 +1,9 @@
+//# World Van der Grinten I
+//<54029> +proj=vandg +lon_0=0 +x_0=0 +y_0=0 +R_A +ellps=WGS84 +datum=WGS84 +units=m  no_defs <>
+
+Proj4js.defs["EPSG:54029"]= "\
+  +title= World  Van der Grinten I EPSG:54029\
+  +proj=vandg \
+  +lon_0=0 +x_0=0 +y_0=0 +R_A  \
+  +ellps=WGS84 +datum=WGS84 +units=m \
+";
Index: lib/spatial/mapbuilder/server/php/serializer.php
===================================================================
--- lib/spatial/mapbuilder/server/php/serializer.php	(nonexistent)
+++ lib/spatial/mapbuilder/server/php/serializer.php	(revision 4307)
@@ -0,0 +1,37 @@
+<?php
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: serializer.php 2142 2006-06-28 10:16:57Z steven $
+$Name$
+*/
+
+////////////////////////////////////////////////////////////////////////////////
+// Description:
+// Script to serialize incoming data and return a reference to the file.
+//
+// Author: Nedjo Rogers
+////////////////////////////////////////////////////////////////////////////////
+
+
+// Set save directory.  This should be set to a writable, web-accessible directory.
+$outputDir = "/temp";
+
+// Read in data.
+$data = $GLOBALS["HTTP_RAW_POST_DATA"];
+
+// Create file and save data to it.
+$tmpfname = tempnam($outputDir, "cmb") . ".xml";
+
+$handle = fopen($tmpfname, "w");
+fwrite($handle, $data);
+fclose($handle);
+
+// Send xml content type header.
+header("Content-type: text/xml");
+
+// Return XML snippet with file reference.
+echo '
+<XmlSerializer xmlns:xlink="http://www.w3.org/1999/xlink">
+  <OnlineResource xlink:type="simple" xlink:href="' . $tmpfname . '"/>
+</XmlSerializer>';
+?> 
Index: lib/spatial/mapbuilder/docs/register/ObjectDetails.xsl
===================================================================
--- lib/spatial/mapbuilder/docs/register/ObjectDetails.xsl	(revision 4306)
+++ lib/spatial/mapbuilder/docs/register/ObjectDetails.xsl	(revision 4307)
@@ -9,11 +9,11 @@
 Author:      Mike Adair
 Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
 
-$Id$
+$Id: ObjectDetails.xsl 2546 2007-01-23 12:07:39Z gjvoosten $
 -->
 
   <xsl:output method="xml" encoding="utf-8" indent="yes"/>
-  <xsl:param name="objectType">AoiBoxType</xsl:param>
+  <xsl:param name="objectType">AoiMouseHandlerType</xsl:param>
   <xsl:variable name="docRoot" select="/xs:schema"/>
 
 	<xsl:template match="/xs:schema">
Index: lib/spatial/mapbuilder/docs/register/registerConfig.xml
===================================================================
--- lib/spatial/mapbuilder/docs/register/registerConfig.xml	(revision 4306)
+++ lib/spatial/mapbuilder/docs/register/registerConfig.xml	(revision 4307)
@@ -6,45 +6,50 @@
                  page.
     Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html 
 
-    $Id$
+    $Id: registerConfig.xml 3248 2007-09-12 12:11:02Z ahocevar $
   -->
   <models>
     <Model id="mbConfigSchema">
-      <defaultModelUrl>../../lib/schemas/config.xml</defaultModelUrl>
+      <defaultModelUrl>../../lib/schemas/config.xsd</defaultModelUrl>
       <!--nodeSelectXpath>/wmc:OWSContext/wmc:ResourceList</nodeSelectXpath-->
       <models>
       </models>
       <widgets>
         <ObjectList id="toolsListWidget">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
           <scriptFile>ObjectList.js</scriptFile>
           <stylesheet>ObjectList.xsl</stylesheet>
           <listType>toolsType</listType>
         </ObjectList>
         <ObjectList id="widgetsListWidget">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
           <scriptFile>ObjectList.js</scriptFile>
           <stylesheet>ObjectList.xsl</stylesheet>
           <listType>widgetsType</listType>
-          <subType>mb:AbstractWidgetType</subType>
+          <subType>mb:AbstractWidgetBaseType</subType>
+          <excludeType>mb:AbstractButtonBaseType</excludeType>
         </ObjectList>
-        <ObjectList id="xslListWidget">
-          <scriptFile>ObjectList.js</scriptFile>
-          <stylesheet>ObjectList.xsl</stylesheet>
-          <listType>widgetsType</listType>
-          <subType>mb:AbstractXslWidgetType</subType>
-        </ObjectList>
         <ObjectList id="mapContainerListWidget">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
           <scriptFile>ObjectList.js</scriptFile>
           <stylesheet>ObjectList.xsl</stylesheet>
           <listType>widgetsType</listType>
-          <subType>mb:AbstractMapWidgetType</subType>
+          <subType>mb:MapPaneOLType</subType>
         </ObjectList>
         <ObjectList id="buttonListWidget">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
           <scriptFile>ObjectList.js</scriptFile>
           <stylesheet>ObjectList.xsl</stylesheet>
           <listType>widgetsType</listType>
-          <subType>mb:AbstractButtonType</subType>
+          <subType>mb:AbstractButtonBaseType</subType>
         </ObjectList>
         <ObjectList id="modelsListWidget">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
           <scriptFile>ObjectList.js</scriptFile>
           <stylesheet>ObjectList.xsl</stylesheet>
           <listType>modelsType</listType>
@@ -59,11 +64,9 @@
   </models>
   <widgets>
     <TabbedContent id="tabList">
-      <htmlWorkspace>workspace</htmlWorkspace>
       <tab label="Models">modelsListWidget</tab>
-      <tab label="XSL Widgets">xslListWidget</tab>
-      <tab label="Map Widgets">mapContainerListWidget</tab>
-      <tab label="Other Widgets">widgetsListWidget</tab>
+      <tab label="Widgets">widgetsListWidget</tab>
+      <tab label="Maps">mapContainerListWidget</tab>
       <tab label="Buttons">buttonListWidget</tab>
       <tab label="Tools">toolsListWidget</tab>
     </TabbedContent>
@@ -73,7 +76,6 @@
     This dir is relative the dir of the main html file.
   -->
   <skinDir>../../lib/skin/default</skinDir>
-  <widgetTextUrl>/widgetText.xml</widgetTextUrl> <!-- relative to the skin dir -->
   <!--proxyUrl>/mapbuilder/proxy</proxyUrl-->
   <!--serializeUrl>/mapbuilder/writeXml</serializeUrl-->
 </MapbuilderConfig>
Index: lib/spatial/mapbuilder/docs/help/IESetup.html
===================================================================
--- lib/spatial/mapbuilder/docs/help/IESetup.html	(revision 4306)
+++ lib/spatial/mapbuilder/docs/help/IESetup.html	(revision 4307)
@@ -1,17 +1,17 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<HTML>
-  <HEAD>
-    <TITLE>Mapbuilder: Help for  IE security configuration</TITLE>
+<html>
+  <head>
+    <title>Mapbuilder: Help for  IE security configuration</title>
     <link rel='StyleSheet' type='text/css' href='/mapbuilder/lib/skin/default/docsStyle.css'>
-  </HEAD>
-  <BODY>
-    <H1>Mapbuilder: Help for  IE security configuration</H1>
-    <p>
-      It appears that your security settings in MS Internet Explorer are set to high to allow this application to run.
+  </head>
+  <body>
+    <h1>Mapbuilder: Help for  IE security configuration</h1>
+    <div>
+      It appears that your security settings in MS Internet Explorer are set too high to allow this application to run.
       The problem is that ActiveX controls aren't being permitted to run.
       In order to see this application run (and it's worth seeing!) you can:
-    </p>
+    </div>
     <dl>
       <dt style="clear:both">Use Firefox (or other Mozilla-based browsers)
       </dt>
@@ -18,10 +18,10 @@
       <dd>
 <a href="http://www.spreadfirefox.com/?q=affiliates&amp;id=0&amp;t=67">
 <img border="0" alt="Get Firefox!" title="Get Firefox!" src="http://sfx-images.mozilla.org/affiliates/Buttons/88x31/trust.gif" style="float:left;clear:left"/></a>
-works out of the box ;-)
+- works out of the box ;-)
     </dd>
       <dt style="clear:both">Add this site to the "Trusted sites" list for IE.</dt>
-      <dd><img border="0" src="IETrusted.png" style="float:left;clear:left"/>
+      <dd><img border="0" src="IETrusted.png" style="float:right;clear:left"/>
 Click on the "Tools" menu item, then "Internet Options", then select the "Security" tab.
       Then select the "Trusted Sites" zone and the "Sites" button.
       Add the URL for this web site to the list.
@@ -28,7 +28,7 @@
       Reload the page that you came from.
     </dd>
       <dt style="clear:both">Change your security settings for the Internet zone</dt>
-      <dd><img border="0" src="IEActiveXSettings.png" style="float:left;clear:left"/>
+      <dd><img border="0" src="IEActiveXSettings.png" style="float:right;clear:left"/>
 Click on the "Tools" menu item, then "Internet Options", then select the "Security" tab.
       Then select the "Internet" zone and the "Custom level" button.
       Scroll to find the section for "ActiveX controls and plugins".
@@ -40,5 +40,5 @@
     </dl>
     
   
-  </BODY>
-</HTML>
+  </body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Timestamp.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Timestamp.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Timestamp.js.html	(revision 4307)
@@ -0,0 +1,205 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Timestamp.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Timestamp.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Timestamp.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Timestamp.html">Timestamp</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Timestamp.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Adds a timstamp listener to show the curretn timestamp value in a form.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@author</span> Mike Adair mike.adairATccrs.nrcan.gc.ca
+ * <span class="attrib">@param</span> widgetNode      The tool node from the Config XML file.
+ * <span class="attrib">@param</span> model  The ButtonBar widget.
+ */</span>
+<span class="reserved">function</span> Timestamp(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+<span class="comment">
+  //set some properties for the form output</span>
+  <span class="reserved">this</span>.formName = <span class="literal">"TimestampForm_"</span> + mbIds.getId();
+  <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"formName"</span>, <span class="reserved">this</span>.formName);
+
+  <span class="reserved">this</span>.updateTimestamp = <span class="reserved">function</span> (objRef, timestamp) {
+    var form = document[objRef.formName];
+    <span class="reserved">if</span> (form) {
+      form.timestampValue.value = getNodeValue(objRef.model.timestampList.childNodes[timestamp]);
+    }
+  }
+
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"timestamp"</span>,<span class="reserved">this</span>.updateTimestamp, <span class="reserved">this</span>);
+}
+
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-MergeModels.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-MergeModels.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-MergeModels.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ MergeModels.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" MergeModels.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-MergeModels.js.html" 
+                                        target="classFrame">MergeModels.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="MergeModels.html" TARGET="classFrame">MergeModels</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/presentations/OSG05TechSession.ppt
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/docs/presentations/OSG05TechSession.ppt
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-MapPaneOL.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-MapPaneOL.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-MapPaneOL.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ MapPaneOL.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" MapPaneOL.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-MapPaneOL.js.html" 
+                                        target="classFrame">MapPaneOL.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="MapPaneOL.html" TARGET="classFrame">MapPaneOL</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/SelectFromAtomFeed.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/SelectFromAtomFeed.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/SelectFromAtomFeed.html	(revision 4307)
@@ -0,0 +1,398 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+SelectFromAtomFeed
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="SelectFromAtomFeed";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-SelectFromAtomFeed.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="SelectFeatureType.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="SelectMapLayers.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SelectFromAtomFeed.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class SelectFromAtomFeed</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>SelectFromAtomFeed</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>SelectFromAtomFeed</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-SelectFromAtomFeed.js.html'>SelectFromAtomFeed.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="SelectFromAtomFeed.html#SelectFromAtomFeed()">SelectFromAtomFeed</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      A widget which displays a list of atom elements to select from.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#switchModel">switchModel</A></B>(objRef, modelUrl)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Switch to another model (usually a map context).
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="SelectFromAtomFeed()"><!-- --></A><H3>
+SelectFromAtomFeed</H3>
+<PRE><B>SelectFromAtomFeed</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   A widget which displays a list of atom elements to select from. The
+ selected element's URL is loaded as a model, usually a context model.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="switchModel"><!-- --></A>
+   <H3>switchModel</H3>
+   <PRE>void <B>switchModel</B>(objRef, modelUrl)</PRE>
+   
+      <UL>Switch to another model (usually a map context).
+ This function is called from SelectFromAtomFeed.xsl</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  this widget  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-SelectFromAtomFeed.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="SelectFeatureType.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="SelectMapLayers.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SelectFromAtomFeed.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/OpenLSResponse.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/OpenLSResponse.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/OpenLSResponse.html	(revision 4307)
@@ -0,0 +1,334 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+OpenLSResponse
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="OpenLSResponse";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-OpenLSResponse.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="OpenLSForm.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="OverviewMap.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="OpenLSResponse.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class OpenLSResponse</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>OpenLSResponse</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>OpenLSResponse</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-OpenLSResponse.js.html'>OpenLSResponse.js</a></I><BR/><BR/><B>Author:</B> Steven Ottens AT geodan nl  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="OpenLSResponse.html#OpenLSResponse()">OpenLSResponse</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Render the response froma Geocoding request
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="OpenLSResponse()"><!-- --></A><H3>
+OpenLSResponse</H3>
+<PRE><B>OpenLSResponse</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Render the response froma Geocoding request
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Steven Ottens AT geodan nl  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-OpenLSResponse.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="OpenLSForm.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="OverviewMap.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="OpenLSResponse.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-GetFeatureInfo.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-GetFeatureInfo.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-GetFeatureInfo.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ GetFeatureInfo.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" GetFeatureInfo.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-GetFeatureInfo.js.html" 
+                                        target="classFrame">GetFeatureInfo.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GetFeatureInfo.html" TARGET="classFrame">GetFeatureInfo</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-WfsGetFeature.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-WfsGetFeature.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-WfsGetFeature.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ WfsGetFeature.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" WfsGetFeature.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-WfsGetFeature.js.html" 
+                                        target="classFrame">WfsGetFeature.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WfsGetFeature.html" TARGET="classFrame">WfsGetFeature</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/presentations/MapbuilderEOGEO.ppt
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/docs/presentations/MapbuilderEOGEO.ppt
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-DragPan.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-DragPan.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-DragPan.js.html	(revision 4307)
@@ -0,0 +1,198 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="DragPan.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>DragPan.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'DragPan.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="DragPan.html">DragPan</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: DragPan.js 2956 2007-07-09 12:17:52Z steven $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/ButtonBase.js"</span>);
+
+<span class="comment">/**
+ * When this button is selected, dragging in the map moves the map extent.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ButtonBase
+ * <span class="attrib">@author</span> Andreas HocevarATgmail.com
+ * <span class="attrib">@param</span> widgetNode The widget node from the Config XML file.
+ * <span class="attrib">@param</span> model The model for this widget
+ */</span>
+<span class="reserved">function</span> DragPan(widgetNode, model) {
+<span class="comment">  // Extend ButtonBase</span>
+  ButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+  
+  <span class="reserved">this</span>.createControl = <span class="reserved">function</span>(objRef) {
+  	<span class="reserved">return</span> OpenLayers.Control.DragPan;
+  }
+  
+  <span class="reserved">this</span>.cursor = <span class="literal">'move'</span>; 
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-InsertFeature.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-InsertFeature.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-InsertFeature.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ InsertFeature.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" InsertFeature.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-InsertFeature.js.html" 
+                                        target="classFrame">InsertFeature.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="InsertFeature.html" TARGET="classFrame">InsertFeature</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-ModelBase.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-ModelBase.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-ModelBase.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ ModelBase.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" ModelBase.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-ModelBase.js.html" 
+                                        target="classFrame">ModelBase.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ModelBase.html" TARGET="classFrame">ModelBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Sarissa.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Sarissa.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Sarissa.js.html	(revision 4307)
@@ -0,0 +1,841 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Sarissa.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Sarissa.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Sarissa.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Sarissa.html">Sarissa</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="XSLTProcessor.html">XSLTProcessor</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="XMLSerializer.html">XMLSerializer</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="XMLHttpRequest.html">XMLHttpRequest</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/**
+ * ====================================================================
+ * About
+ * ====================================================================
+ * Sarissa is an ECMAScript library acting as a cross-browser wrapper for native XML APIs.
+ * The library supports Gecko based browsers like Mozilla and Firefox,
+ * Internet Explorer (5.5+ with MSXML3.0+), Konqueror, Safari and a little of Opera
+ * <span class="attrib">@version</span> 0.9.7.6
+ * <span class="attrib">@author</span>: Manos Batsis, mailto: mbatsis at users full stop sourceforge full stop net
+ * ====================================================================
+ * Licence
+ * ====================================================================
+ * Sarissa is free software distributed under the GNU GPL version 2 (see &lt;a href="gpl.txt"&gt;gpl.txt&lt;/a&gt;) or higher, 
+ * GNU LGPL version 2.1 (see &lt;a href="lgpl.txt"&gt;lgpl.txt&lt;/a&gt;) or higher and Apache Software License 2.0 or higher 
+ * (see &lt;a href="asl.txt"&gt;asl.txt&lt;/a&gt;). This means you can choose one of the three and use that if you like. If 
+ * you make modifications under the ASL, i would appreciate it if you submitted those.
+ * In case your copy of Sarissa does not include the license texts, you may find
+ * them online in various formats at &lt;a href="http://www.gnu.org"&gt;http://www.gnu.org&lt;/a&gt; and 
+ * &lt;a href="http://www.apache.org"&gt;http://www.apache.org&lt;/a&gt;.
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 
+ * KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 
+ * WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE 
+ * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */</span>
+<span class="comment">/**
+ * &lt;p&gt;Sarissa is a utility class. Provides "static" methods for DOMDocument, 
+ * DOM Node serialization to XML strings and other utility goodies.&lt;/p&gt;
+ * <span class="attrib">@constructor</span>
+ */</span>
+<span class="reserved">function</span> Sarissa(){};
+Sarissa.PARSED_OK = <span class="literal">"Document contains no parsing errors"</span>;
+Sarissa.PARSED_EMPTY = <span class="literal">"Document is empty"</span>;
+Sarissa.PARSED_UNKNOWN_ERROR = <span class="literal">"Not well-formed or other error"</span>;
+var _sarissa_iNsCounter = 0;
+var _SARISSA_IEPREFIX4XSLPARAM = <span class="literal">""</span>;
+var _SARISSA_HAS_DOM_IMPLEMENTATION = document.implementation &amp;&amp; true;
+var _SARISSA_HAS_DOM_CREATE_DOCUMENT = _SARISSA_HAS_DOM_IMPLEMENTATION &amp;&amp; document.implementation.createDocument;
+var _SARISSA_HAS_DOM_FEATURE = _SARISSA_HAS_DOM_IMPLEMENTATION &amp;&amp; document.implementation.hasFeature;
+var _SARISSA_IS_MOZ = _SARISSA_HAS_DOM_CREATE_DOCUMENT &amp;&amp; _SARISSA_HAS_DOM_FEATURE;
+var _SARISSA_IS_SAFARI = (navigator.userAgent &amp;&amp; navigator.vendor &amp;&amp; (navigator.userAgent.toLowerCase().indexOf(<span class="literal">"applewebkit"</span>) != -1 || navigator.vendor.indexOf(<span class="literal">"Apple"</span>) != -1));
+var _SARISSA_IS_OPERA = navigator.userAgent.toLowerCase().indexOf(<span class="literal">"opera"</span>) != -1;
+var _SARISSA_IS_IE = document.all &amp;&amp; window.ActiveXObject &amp;&amp; navigator.userAgent.toLowerCase().indexOf(<span class="literal">"msie"</span>) &gt; -1  &amp;&amp; navigator.userAgent.toLowerCase().indexOf(<span class="literal">"opera"</span>) == -1;
+
+<span class="reserved">if</span>(!window.Node || !Node.ELEMENT_NODE){
+    Node = {ELEMENT_NODE: 1, ATTRIBUTE_NODE: 2, TEXT_NODE: 3, CDATA_SECTION_NODE: 4, ENTITY_REFERENCE_NODE: 5,  ENTITY_NODE: 6, PROCESSING_INSTRUCTION_NODE: 7, COMMENT_NODE: 8, DOCUMENT_NODE: 9, DOCUMENT_TYPE_NODE: 10, DOCUMENT_FRAGMENT_NODE: 11, NOTATION_NODE: 12};
+};
+
+<span class="reserved">if</span>(typeof XMLDocument == <span class="literal">"undefined"</span> &amp;&amp; typeof Document !=<span class="literal">"undefined"</span>){ XMLDocument = Document; } 
+<span class="comment">
+// IE initialization</span>
+<span class="reserved">if</span>(_SARISSA_IS_IE){
+<span class="comment">    // for XSLT parameter names, prefix needed by IE</span>
+    _SARISSA_IEPREFIX4XSLPARAM = <span class="literal">"xsl:"</span>;
+<span class="comment">    // used to store the most recent ProgID available out of the above</span>
+    var _SARISSA_DOM_PROGID = <span class="literal">""</span>;
+    var _SARISSA_XMLHTTP_PROGID = <span class="literal">""</span>;
+    var _SARISSA_DOM_XMLWRITER = <span class="literal">""</span>;
+    <span class="comment">/**
+     * Called when the Sarissa_xx.js file is parsed, to pick most recent
+     * ProgIDs for IE, then gets destroyed.
+     * <span class="attrib">@private</span>
+     * <span class="attrib">@param</span> idList an array of MSXML PROGIDs from which the most recent will be picked for a given object
+     * <span class="attrib">@param</span> enabledList an array of arrays where each array has two items; the index of the PROGID for which a certain feature is enabled
+     */</span>
+    Sarissa.pickRecentProgID = <span class="reserved">function</span> (idList){
+<span class="comment">        // found progID flag</span>
+        var bFound = false;
+        <span class="reserved">for</span>(var i=0; i &lt; idList.length &amp;&amp; !bFound; i++){
+            try{
+                var oDoc = new ActiveXObject(idList[i]);
+                o2Store = idList[i];
+                bFound = true;
+            }catch (objException){
+<span class="comment">                // trap; try next progID</span>
+            };
+        };
+        <span class="reserved">if</span> (!bFound) {
+            throw <span class="literal">"Could not retreive a valid progID of Class: "</span> + idList[idList.length-1]+<span class="literal">". (original exception: "</span>+e+<span class="literal">")"</span>;
+        };
+        idList = null;
+        <span class="reserved">return</span> o2Store;
+    };
+<span class="comment">    // pick best available MSXML progIDs</span>
+    _SARISSA_DOM_PROGID = null;
+    _SARISSA_THREADEDDOM_PROGID = null;
+    _SARISSA_XSLTEMPLATE_PROGID = null;
+    _SARISSA_XMLHTTP_PROGID = null;
+    <span class="reserved">if</span>(!window.XMLHttpRequest){
+        <span class="comment">/**
+         * Emulate XMLHttpRequest
+         * <span class="attrib">@constructor</span>
+         */</span>
+        XMLHttpRequest = <span class="reserved">function</span>() {
+            <span class="reserved">if</span>(!_SARISSA_XMLHTTP_PROGID){
+                _SARISSA_XMLHTTP_PROGID = Sarissa.pickRecentProgID([<span class="literal">"Msxml2.XMLHTTP.6.0"</span>, <span class="literal">"MSXML2.XMLHTTP.3.0"</span>, <span class="literal">"MSXML2.XMLHTTP"</span>, <span class="literal">"Microsoft.XMLHTTP"</span>]);
+            };
+            <span class="reserved">return</span> new ActiveXObject(_SARISSA_XMLHTTP_PROGID);
+        };
+    };
+<span class="comment">    // we dont need this anymore</span>
+<span class="comment">    //============================================</span>
+<span class="comment">    // Factory methods (IE)</span>
+<span class="comment">    //============================================</span>
+<span class="comment">    // see non-IE version</span>
+    Sarissa.getDomDocument = <span class="reserved">function</span>(sUri, sName){
+        <span class="reserved">if</span>(!_SARISSA_DOM_PROGID){
+            _SARISSA_DOM_PROGID = Sarissa.pickRecentProgID([<span class="literal">"Msxml2.DOMDocument.6.0"</span>, <span class="literal">"Msxml2.DOMDocument.3.0"</span>, <span class="literal">"MSXML2.DOMDocument"</span>, <span class="literal">"MSXML.DOMDocument"</span>, <span class="literal">"Microsoft.XMLDOM"</span>]);
+        };
+        var oDoc = new ActiveXObject(_SARISSA_DOM_PROGID);
+<span class="comment">        // if a root tag name was provided, we need to load it in the DOM object</span>
+        <span class="reserved">if</span> (sName){
+<span class="comment">            // create an artifical namespace prefix </span>
+<span class="comment">            // or reuse existing prefix if applicable</span>
+            var prefix = <span class="literal">""</span>;
+            <span class="reserved">if</span>(sUri){
+                <span class="reserved">if</span>(sName.indexOf(<span class="literal">":"</span>) &gt; 1){
+                    prefix = sName.substring(0, sName.indexOf(<span class="literal">":"</span>));
+                    sName = sName.substring(sName.indexOf(<span class="literal">":"</span>)+1); 
+                }<span class="reserved">else</span>{
+                    prefix = <span class="literal">"a"</span> + (_sarissa_iNsCounter++);
+                };
+            };
+<span class="comment">            // use namespaces if a namespace URI exists</span>
+            <span class="reserved">if</span>(sUri){
+                oDoc.loadXML(<span class="literal">'&lt;'</span> + prefix+<span class="literal">':'</span>+sName + <span class="literal">" xmlns:"</span> + prefix + <span class="literal">"=\"</span><span class="literal">" + sUri + "</span>\<span class="literal">""</span> + <span class="literal">" /&gt;"</span>);
+            } <span class="reserved">else</span> {
+                oDoc.loadXML(<span class="literal">'&lt;'</span> + sName + <span class="literal">" /&gt;"</span>);
+            };
+        };
+        <span class="reserved">return</span> oDoc;
+    };
+<span class="comment">    // see non-IE version   </span>
+    Sarissa.getParseErrorText = <span class="reserved">function</span> (oDoc) {
+        var parseErrorText = Sarissa.PARSED_OK;
+        <span class="reserved">if</span>(oDoc.parseError.errorCode != 0){
+            parseErrorText = <span class="literal">"XML Parsing Error: "</span> + oDoc.parseError.reason + 
+                <span class="literal">"\nLocation: "</span> + oDoc.parseError.url + 
+                <span class="literal">"\nLine Number "</span> + oDoc.parseError.line + <span class="literal">", Column "</span> + 
+                oDoc.parseError.linepos + 
+                <span class="literal">":\n"</span> + oDoc.parseError.srcText +
+                <span class="literal">"\n"</span>;
+            <span class="reserved">for</span>(var i = 0;  i &lt; oDoc.parseError.linepos;i++){
+                parseErrorText += <span class="literal">"-"</span>;
+            };
+            parseErrorText +=  <span class="literal">"^\n"</span>;
+        }
+        <span class="reserved">else</span> <span class="reserved">if</span>(oDoc.documentElement == null){
+            parseErrorText = Sarissa.PARSED_EMPTY;
+        };
+        <span class="reserved">return</span> parseErrorText;
+    };
+<span class="comment">    // see non-IE version</span>
+    Sarissa.setXpathNamespaces = <span class="reserved">function</span>(oDoc, sNsSet) {
+        oDoc.setProperty(<span class="literal">"SelectionLanguage"</span>, <span class="literal">"XPath"</span>);
+        oDoc.setProperty(<span class="literal">"SelectionNamespaces"</span>, sNsSet);
+    };   
+    <span class="comment">/**
+     * Basic implementation of Mozilla's XSLTProcessor for IE. 
+     * Reuses the same XSLT stylesheet for multiple transforms
+     * <span class="attrib">@constructor</span>
+     */</span>
+    XSLTProcessor = <span class="reserved">function</span>(){
+        <span class="reserved">if</span>(!_SARISSA_XSLTEMPLATE_PROGID){
+            _SARISSA_XSLTEMPLATE_PROGID = Sarissa.pickRecentProgID([<span class="literal">"Msxml2.XSLTemplate.6.0"</span>, <span class="literal">"MSXML2.XSLTemplate.3.0"</span>]);
+        };
+        <span class="reserved">this</span>.template = new ActiveXObject(_SARISSA_XSLTEMPLATE_PROGID);
+        <span class="reserved">this</span>.processor = null;
+    };
+    <span class="comment">/**
+     * Imports the given XSLT DOM and compiles it to a reusable transform
+     * &lt;b&gt;Note:&lt;/b&gt; If the stylesheet was loaded from a URL and contains xsl:import or xsl:include elements,it will be reloaded to resolve those
+     * <span class="attrib">@argument</span> xslDoc The XSLT DOMDocument to import
+     */</span>
+    XSLTProcessor.<span class="reserved">prototype</span>.importStylesheet = <span class="reserved">function</span>(xslDoc){
+        <span class="reserved">if</span>(!_SARISSA_THREADEDDOM_PROGID){
+            _SARISSA_THREADEDDOM_PROGID = Sarissa.pickRecentProgID([<span class="literal">"MSXML2.FreeThreadedDOMDocument.6.0"</span>, <span class="literal">"MSXML2.FreeThreadedDOMDocument.3.0"</span>]);
+        };
+        xslDoc.setProperty(<span class="literal">"SelectionLanguage"</span>, <span class="literal">"XPath"</span>);
+        xslDoc.setProperty(<span class="literal">"SelectionNamespaces"</span>, <span class="literal">"xmlns:xsl='http://www.w3.org/1999/XSL/Transform'"</span>);
+<span class="comment">        // convert stylesheet to free threaded</span>
+        var converted = new ActiveXObject(_SARISSA_THREADEDDOM_PROGID);
+<span class="comment">        // make included/imported stylesheets work if exist and xsl was originally loaded from url</span>
+        <span class="reserved">if</span>(xslDoc.url &amp;&amp; xslDoc.selectSingleNode(<span class="literal">"//xsl:*[local-name() = 'import' or local-name() = 'include']"</span>) != null){
+            converted.async = false;
+            <span class="reserved">if</span> (_SARISSA_THREADEDDOM_PROGID == <span class="literal">"MSXML2.FreeThreadedDOMDocument.6.0"</span>) { 
+                converted.setProperty(<span class="literal">"AllowDocumentFunction"</span>, true); 
+                converted.resolveExternals = true; 
+            }
+            converted.load(xslDoc.url);
+        } <span class="reserved">else</span> {
+            converted.loadXML(xslDoc.xml);
+        };
+        converted.setProperty(<span class="literal">"SelectionNamespaces"</span>, <span class="literal">"xmlns:xsl='http://www.w3.org/1999/XSL/Transform'"</span>);
+        var output = converted.selectSingleNode(<span class="literal">"//xsl:output"</span>);
+        <span class="reserved">this</span>.outputMethod = output ? output.getAttribute(<span class="literal">"method"</span>) : <span class="literal">"html"</span>;
+        <span class="reserved">this</span>.template.stylesheet = converted;
+        <span class="reserved">this</span>.processor = <span class="reserved">this</span>.template.createProcessor();
+<span class="comment">        // for getParameter and clearParameters</span>
+        <span class="reserved">this</span>.paramsSet = new Array();
+    };
+
+    <span class="comment">/**
+     * Transform the given XML DOM and return the transformation result as a new DOM document
+     * <span class="attrib">@argument</span> sourceDoc The XML DOMDocument to transform
+     * <span class="attrib">@return</span> The transformation result as a DOM Document
+     */</span>
+    XSLTProcessor.<span class="reserved">prototype</span>.transformToDocument = <span class="reserved">function</span>(sourceDoc){
+<span class="comment">        // fix for bug 1549749</span>
+        <span class="reserved">if</span>(_SARISSA_THREADEDDOM_PROGID){
+            <span class="reserved">this</span>.processor.input=sourceDoc;
+            var outDoc=new ActiveXObject(_SARISSA_DOM_PROGID);
+            <span class="reserved">this</span>.processor.output=outDoc;
+            <span class="reserved">this</span>.processor.transform();
+            <span class="reserved">return</span> outDoc;
+        }
+        <span class="reserved">else</span>{
+            <span class="reserved">if</span>(!_SARISSA_DOM_XMLWRITER){
+                _SARISSA_DOM_XMLWRITER = Sarissa.pickRecentProgID([<span class="literal">"Msxml2.MXXMLWriter.6.0"</span>, <span class="literal">"Msxml2.MXXMLWriter.3.0"</span>, <span class="literal">"MSXML2.MXXMLWriter"</span>, <span class="literal">"MSXML.MXXMLWriter"</span>, <span class="literal">"Microsoft.XMLDOM"</span>]);
+            };
+            <span class="reserved">this</span>.processor.input = sourceDoc;
+            var outDoc = new ActiveXObject(_SARISSA_DOM_XMLWRITER);
+            <span class="reserved">this</span>.processor.output = outDoc; 
+            <span class="reserved">this</span>.processor.transform();
+            var oDoc = new ActiveXObject(_SARISSA_DOM_PROGID);
+            oDoc.loadXML(outDoc.output+<span class="literal">""</span>);
+            <span class="reserved">return</span> oDoc;
+        };
+    };
+    
+    <span class="comment">/**
+     * Transform the given XML DOM and return the transformation result as a new DOM fragment.
+     * &lt;b&gt;Note&lt;/b&gt;: The xsl:output method must match the nature of the owner document (XML/HTML).
+     * <span class="attrib">@argument</span> sourceDoc The XML DOMDocument to transform
+     * <span class="attrib">@argument</span> ownerDoc The owner of the result fragment
+     * <span class="attrib">@return</span> The transformation result as a DOM Document
+     */</span>
+    XSLTProcessor.<span class="reserved">prototype</span>.transformToFragment = <span class="reserved">function</span> (sourceDoc, ownerDoc) {
+        <span class="reserved">this</span>.processor.input = sourceDoc;
+        <span class="reserved">this</span>.processor.transform();
+        var s = <span class="reserved">this</span>.processor.output;
+        var f = ownerDoc.createDocumentFragment();
+        <span class="reserved">if</span> (<span class="reserved">this</span>.outputMethod == <span class="literal">'text'</span>) {
+            f.appendChild(ownerDoc.createTextNode(s));
+        } <span class="reserved">else</span> <span class="reserved">if</span> (ownerDoc.body &amp;&amp; ownerDoc.body.innerHTML) {
+            var container = ownerDoc.createElement(<span class="literal">'div'</span>);
+            container.innerHTML = s;
+            <span class="reserved">while</span> (container.hasChildNodes()) {
+                f.appendChild(container.firstChild);
+            }
+        }
+        <span class="reserved">else</span> {
+            var oDoc = new ActiveXObject(_SARISSA_DOM_PROGID);
+            <span class="reserved">if</span> (s.substring(0, 5) == <span class="literal">'&lt;?xml'</span>) {
+                s = s.substring(s.indexOf(<span class="literal">'?&gt;'</span>) + 2);
+            }
+            var xml = <span class="literal">''</span>.concat(<span class="literal">'&lt;my&gt;'</span>, s, <span class="literal">'&lt;/my&gt;'</span>);
+            oDoc.loadXML(xml);
+            var container = oDoc.documentElement;
+            <span class="reserved">while</span> (container.hasChildNodes()) {
+                f.appendChild(container.firstChild);
+            }
+        }
+        <span class="reserved">return</span> f;
+    };
+    
+    <span class="comment">/**
+     * Set global XSLT parameter of the imported stylesheet
+     * <span class="attrib">@argument</span> nsURI The parameter namespace URI
+     * <span class="attrib">@argument</span> name The parameter base name
+     * <span class="attrib">@argument</span> value The new parameter value
+     */</span>
+    XSLTProcessor.<span class="reserved">prototype</span>.setParameter = <span class="reserved">function</span>(nsURI, name, value){
+<span class="comment">        // nsURI is optional but cannot be null </span>
+        <span class="reserved">if</span>(nsURI){
+            <span class="reserved">this</span>.processor.addParameter(name, value, nsURI);
+        }<span class="reserved">else</span>{
+            <span class="reserved">this</span>.processor.addParameter(name, value);
+        };
+<span class="comment">        // update updated params for getParameter </span>
+        <span class="reserved">if</span>(!<span class="reserved">this</span>.paramsSet[<span class="literal">""</span>+nsURI]){
+            <span class="reserved">this</span>.paramsSet[<span class="literal">""</span>+nsURI] = new Array();
+        };
+        <span class="reserved">this</span>.paramsSet[<span class="literal">""</span>+nsURI][name] = value;
+    };
+    <span class="comment">/**
+     * Gets a parameter if previously set by setParameter. Returns null
+     * otherwise
+     * <span class="attrib">@argument</span> name The parameter base name
+     * <span class="attrib">@argument</span> value The new parameter value
+     * <span class="attrib">@return</span> The parameter value if reviously set by setParameter, null otherwise
+     */</span>
+    XSLTProcessor.<span class="reserved">prototype</span>.getParameter = <span class="reserved">function</span>(nsURI, name){
+        nsURI = nsURI || <span class="literal">""</span>;
+        <span class="reserved">if</span>(<span class="reserved">this</span>.paramsSet[nsURI] &amp;&amp; <span class="reserved">this</span>.paramsSet[nsURI][name]){
+            <span class="reserved">return</span> <span class="reserved">this</span>.paramsSet[nsURI][name];
+        }<span class="reserved">else</span>{
+            <span class="reserved">return</span> null;
+        };
+    };
+    <span class="comment">/**
+     * Clear parameters (set them to default values as defined in the stylesheet itself)
+     */</span>
+    XSLTProcessor.<span class="reserved">prototype</span>.clearParameters = <span class="reserved">function</span>(){
+        <span class="reserved">for</span>(var nsURI in <span class="reserved">this</span>.paramsSet){
+            <span class="reserved">for</span>(var name in <span class="reserved">this</span>.paramsSet[nsURI]){
+                <span class="reserved">if</span>(nsURI){
+                    <span class="reserved">this</span>.processor.addParameter(name, null, nsURI);
+                }<span class="reserved">else</span>{
+                    <span class="reserved">this</span>.processor.addParameter(name, null);
+                };
+            };
+        };
+        <span class="reserved">this</span>.paramsSet = new Array();
+    };
+}<span class="reserved">else</span>{ <span class="comment">/* end IE initialization, try to deal with real browsers now ;-) */</span>
+    <span class="reserved">if</span>(_SARISSA_HAS_DOM_CREATE_DOCUMENT){
+        <span class="comment">/**
+         * &lt;p&gt;Ensures the document was loaded correctly, otherwise sets the
+         * parseError to -1 to indicate something went wrong. Internal use&lt;/p&gt;
+         * <span class="attrib">@private</span>
+         */</span>
+        Sarissa.__handleLoad__ = <span class="reserved">function</span>(oDoc){
+            Sarissa.__setReadyState__(oDoc, 4);
+        };
+        <span class="comment">/**
+        * &lt;p&gt;Attached by an event handler to the load event. Internal use.&lt;/p&gt;
+        * <span class="attrib">@private</span>
+        */</span>
+        _sarissa_XMLDocument_onload = <span class="reserved">function</span>(){
+            Sarissa.__handleLoad__(<span class="reserved">this</span>);
+        };
+        <span class="comment">/**
+         * &lt;p&gt;Sets the readyState property of the given DOM Document object.
+         * Internal use.&lt;/p&gt;
+         * <span class="attrib">@private</span>
+         * <span class="attrib">@argument</span> oDoc the DOM Document object to fire the
+         *          readystatechange event
+         * <span class="attrib">@argument</span> iReadyState the number to change the readystate property to
+         */</span>
+        Sarissa.__setReadyState__ = <span class="reserved">function</span>(oDoc, iReadyState){
+            oDoc.readyState = iReadyState;
+            oDoc.readystate = iReadyState;
+            <span class="reserved">if</span> (oDoc.onreadystatechange != null &amp;&amp; typeof oDoc.onreadystatechange == <span class="literal">"function"</span>)
+                oDoc.onreadystatechange();
+        };
+        Sarissa.getDomDocument = <span class="reserved">function</span>(sUri, sName){
+            var oDoc = document.implementation.createDocument(sUri?sUri:null, sName?sName:null, null);
+            <span class="reserved">if</span>(!oDoc.onreadystatechange){
+            
+                <span class="comment">/**
+                * &lt;p&gt;Emulate IE's onreadystatechange attribute&lt;/p&gt;
+                */</span>
+                oDoc.onreadystatechange = null;
+            };
+            <span class="reserved">if</span>(!oDoc.readyState){
+                <span class="comment">/**
+                * &lt;p&gt;Emulates IE's readyState property, which always gives an integer from 0 to 4:&lt;/p&gt;
+                * &lt;ul&gt;&lt;li&gt;1 == LOADING,&lt;/li&gt;
+                * &lt;li&gt;2 == LOADED,&lt;/li&gt;
+                * &lt;li&gt;3 == INTERACTIVE,&lt;/li&gt;
+                * &lt;li&gt;4 == COMPLETED&lt;/li&gt;&lt;/ul&gt;
+                */</span>
+                oDoc.readyState = 0;
+            };
+            oDoc.addEventListener(<span class="literal">"load"</span>, _sarissa_XMLDocument_onload, false);
+            <span class="reserved">return</span> oDoc;
+        };
+        <span class="reserved">if</span>(window.XMLDocument){
+<span class="comment">            // do nothing</span>
+        }// TODO: check <span class="reserved">if</span> the new document has content before trying to copynodes, check  <span class="reserved">for</span> error handling in DOM 3 LS
+        <span class="reserved">else</span> <span class="reserved">if</span>(_SARISSA_HAS_DOM_FEATURE &amp;&amp; window.Document &amp;&amp; !Document.<span class="reserved">prototype</span>.load &amp;&amp; document.implementation.hasFeature(<span class="literal">'LS'</span>, <span class="literal">'3.0'</span>)){
+<span class="comment">            //Opera 9 may get the XPath branch which gives creates XMLDocument, therefore it doesn't reach here which is good</span>
+            <span class="comment">/**
+            * &lt;p&gt;Factory method to obtain a new DOM Document object&lt;/p&gt;
+            * <span class="attrib">@argument</span> sUri the namespace of the root node (if any)
+            * <span class="attrib">@argument</span> sUri the local name of the root node (if any)
+            * <span class="attrib">@returns</span> a new DOM Document
+            */</span>
+            Sarissa.getDomDocument = <span class="reserved">function</span>(sUri, sName){
+                var oDoc = document.implementation.createDocument(sUri?sUri:null, sName?sName:null, null);
+                <span class="reserved">return</span> oDoc;
+            };
+        }
+        <span class="reserved">else</span> {
+            Sarissa.getDomDocument = <span class="reserved">function</span>(sUri, sName){
+                var oDoc = document.implementation.createDocument(sUri?sUri:null, sName?sName:null, null);
+<span class="comment">                // looks like safari does not create the root element for some unknown reason</span>
+                <span class="reserved">if</span>(oDoc &amp;&amp; (sUri || sName) &amp;&amp; !oDoc.documentElement){
+                    oDoc.appendChild(oDoc.createElementNS(sUri, sName));
+                };
+                <span class="reserved">return</span> oDoc;
+            };
+        };
+    };//<span class="reserved">if</span>(_SARISSA_HAS_DOM_CREATE_DOCUMENT)
+};
+<span class="comment">//==========================================</span>
+<span class="comment">// Common stuff</span>
+<span class="comment">//==========================================</span>
+<span class="reserved">if</span>(!window.DOMParser){
+    <span class="reserved">if</span>(_SARISSA_IS_SAFARI){
+        <span class="comment">/*
+         * DOMParser is a utility class, used to construct DOMDocuments from XML strings
+         * <span class="attrib">@constructor</span>
+         */</span>
+        DOMParser = <span class="reserved">function</span>() { };
+        <span class="comment">/** 
+        * Construct a new DOM Document from the given XMLstring
+        * <span class="attrib">@param</span> sXml the given XML string
+        * <span class="attrib">@param</span> contentType the content type of the document the given string represents (one of text/xml, application/xml, application/xhtml+xml). 
+        * <span class="attrib">@return</span> a new DOM Document from the given XML string
+        */</span>
+        DOMParser.<span class="reserved">prototype</span>.parseFromString = <span class="reserved">function</span>(sXml, contentType){
+            var xmlhttp = new XMLHttpRequest();
+            xmlhttp.open(<span class="literal">"GET"</span>, <span class="literal">"data:text/xml;charset=utf-8,"</span> + encodeURIComponent(sXml), false);
+            xmlhttp.send(null);
+            <span class="reserved">return</span> xmlhttp.responseXML;
+        };
+    }<span class="reserved">else</span> <span class="reserved">if</span>(Sarissa.getDomDocument &amp;&amp; Sarissa.getDomDocument() &amp;&amp; Sarissa.getDomDocument(null, <span class="literal">"bar"</span>).xml){
+        DOMParser = <span class="reserved">function</span>() { };
+        DOMParser.<span class="reserved">prototype</span>.parseFromString = <span class="reserved">function</span>(sXml, contentType){
+            var doc = Sarissa.getDomDocument();
+            doc.loadXML(sXml);
+            <span class="reserved">return</span> doc;
+        };
+    };
+};
+
+<span class="reserved">if</span>((typeof(document.importNode) == <span class="literal">"undefined"</span>) &amp;&amp; _SARISSA_IS_IE){
+    try{
+        <span class="comment">/**
+        * Implementation of importNode for the context window document in IE
+        * <span class="attrib">@param</span> oNode the Node to import
+        * <span class="attrib">@param</span> bChildren whether to include the children of oNode
+        * <span class="attrib">@returns</span> the imported node for further use
+        */</span>
+        document.importNode = <span class="reserved">function</span>(oNode, bChildren){
+            var tmp;
+            <span class="reserved">if</span>(oNode.nodeName == <span class="literal">"tbody"</span> || oNode.nodeName == <span class="literal">"tr"</span>){
+                tmp = document.createElement(<span class="literal">"table"</span>);
+            }
+            <span class="reserved">else</span> <span class="reserved">if</span>(oNode.nodeName == <span class="literal">"td"</span>){
+                tmp = document.createElement(<span class="literal">"tr"</span>);
+            }
+            <span class="reserved">else</span> <span class="reserved">if</span>(oNode.nodeName == <span class="literal">"option"</span>){
+                tmp = document.createElement(<span class="literal">"select"</span>);
+            }
+            <span class="reserved">else</span>{
+                tmp = document.createElement(<span class="literal">"div"</span>);
+            };
+            <span class="reserved">if</span>(bChildren){
+                tmp.innerHTML = oNode.xml ? oNode.xml : oNode.outerHTML;
+            }<span class="reserved">else</span>{
+                tmp.innerHTML = oNode.xml ? oNode.cloneNode(false).xml : oNode.cloneNode(false).outerHTML;
+            };
+            <span class="reserved">return</span> tmp.getElementsByTagName(<span class="literal">"*"</span>)[0];
+        };
+    }catch(e){ };
+};
+<span class="reserved">if</span>(!Sarissa.getParseErrorText){
+    <span class="comment">/**
+     * &lt;p&gt;Returns a human readable description of the parsing error. Usefull
+     * for debugging. Tip: append the returned error string in a &amp;lt;pre&amp;gt;
+     * element if you want to render it.&lt;/p&gt;
+     * &lt;p&gt;Many thanks to Christian Stocker for the initial patch.&lt;/p&gt;
+     * <span class="attrib">@argument</span> oDoc The target DOM document
+     * <span class="attrib">@returns</span> The parsing error description of the target Document in
+     *          human readable form (preformated text)
+     */</span>
+    Sarissa.getParseErrorText = <span class="reserved">function</span> (oDoc){
+        var parseErrorText = Sarissa.PARSED_OK;
+        <span class="reserved">if</span>(!oDoc.documentElement){
+            parseErrorText = Sarissa.PARSED_EMPTY;
+        } <span class="reserved">else</span> <span class="reserved">if</span>(oDoc.documentElement.tagName == <span class="literal">"parsererror"</span>){
+            parseErrorText = oDoc.documentElement.firstChild.data;
+            parseErrorText += <span class="literal">"\n"</span> +  oDoc.documentElement.firstChild.nextSibling.firstChild.data;
+        } <span class="reserved">else</span> <span class="reserved">if</span>(oDoc.getElementsByTagName(<span class="literal">"parsererror"</span>).length &gt; 0){
+            var parsererror = oDoc.getElementsByTagName(<span class="literal">"parsererror"</span>)[0];
+            parseErrorText = Sarissa.getText(parsererror, true)+<span class="literal">"\n"</span>;
+        } <span class="reserved">else</span> <span class="reserved">if</span>(oDoc.parseError &amp;&amp; oDoc.parseError.errorCode != 0){
+            parseErrorText = Sarissa.PARSED_UNKNOWN_ERROR;
+        };
+        <span class="reserved">return</span> parseErrorText;
+    };
+};
+Sarissa.getText = <span class="reserved">function</span>(oNode, deep){
+    var s = <span class="literal">""</span>;
+    var nodes = oNode.childNodes;
+    <span class="reserved">for</span>(var i=0; i &lt; nodes.length; i++){
+        var node = nodes[i];
+        var nodeType = node.nodeType;
+        <span class="reserved">if</span>(nodeType == Node.TEXT_NODE || nodeType == Node.CDATA_SECTION_NODE){
+            s += node.data;
+        } <span class="reserved">else</span> <span class="reserved">if</span>(deep == true
+                    &amp;&amp; (nodeType == Node.ELEMENT_NODE
+                        || nodeType == Node.DOCUMENT_NODE
+                        || nodeType == Node.DOCUMENT_FRAGMENT_NODE)){
+            s += Sarissa.getText(node, true);
+        };
+    };
+    <span class="reserved">return</span> s;
+};
+<span class="reserved">if</span>(!window.XMLSerializer 
+    &amp;&amp; Sarissa.getDomDocument 
+    &amp;&amp; Sarissa.getDomDocument(<span class="literal">""</span>,<span class="literal">"foo"</span>, null).xml){
+    <span class="comment">/**
+     * Utility class to serialize DOM Node objects to XML strings
+     * <span class="attrib">@constructor</span>
+     */</span>
+    XMLSerializer = <span class="reserved">function</span>(){};
+    <span class="comment">/**
+     * Serialize the given DOM Node to an XML string
+     * <span class="attrib">@param</span> oNode the DOM Node to serialize
+     */</span>
+    XMLSerializer.<span class="reserved">prototype</span>.serializeToString = <span class="reserved">function</span>(oNode) {
+        <span class="reserved">return</span> oNode.xml;
+    };
+};
+
+<span class="comment">/**
+ * strips tags from a markup string
+ */</span>
+Sarissa.stripTags = <span class="reserved">function</span> (s) {
+    <span class="reserved">return</span> s.replace(/&lt;[^&gt;]+&gt;/g,<span class="literal">""</span>);
+};
+<span class="comment">/**
+ * &lt;p&gt;Deletes all child nodes of the given node&lt;/p&gt;
+ * <span class="attrib">@argument</span> oNode the Node to empty
+ */</span>
+Sarissa.clearChildNodes = <span class="reserved">function</span>(oNode) {
+<span class="comment">    // need to check for firstChild due to opera 8 bug with hasChildNodes</span>
+    <span class="reserved">while</span>(oNode.firstChild) {
+        oNode.removeChild(oNode.firstChild);
+    };
+};
+<span class="comment">/**
+ * &lt;p&gt; Copies the childNodes of nodeFrom to nodeTo&lt;/p&gt;
+ * &lt;p&gt; &lt;b&gt;Note:&lt;/b&gt; The second object's original content is deleted before 
+ * the copy operation, unless you supply a true third parameter&lt;/p&gt;
+ * <span class="attrib">@argument</span> nodeFrom the Node to copy the childNodes from
+ * <span class="attrib">@argument</span> nodeTo the Node to copy the childNodes to
+ * <span class="attrib">@argument</span> bPreserveExisting whether to preserve the original content of nodeTo, default is false
+ */</span>
+Sarissa.copyChildNodes = <span class="reserved">function</span>(nodeFrom, nodeTo, bPreserveExisting) {
+    <span class="reserved">if</span>((!nodeFrom) || (!nodeTo)){
+        throw <span class="literal">"Both source and destination nodes must be provided"</span>;
+    };
+    <span class="reserved">if</span>(!bPreserveExisting){
+        Sarissa.clearChildNodes(nodeTo);
+    };
+    var ownerDoc = nodeTo.nodeType == Node.DOCUMENT_NODE ? nodeTo : nodeTo.ownerDocument;
+    var nodes = nodeFrom.childNodes;
+    <span class="reserved">if</span>(typeof(ownerDoc.importNode) != <span class="literal">"undefined"</span>)  {
+        <span class="reserved">for</span>(var i=0;i &lt; nodes.length;i++) {
+            nodeTo.appendChild(ownerDoc.importNode(nodes[i], true));
+        };
+    } <span class="reserved">else</span> {
+        <span class="reserved">for</span>(var i=0;i &lt; nodes.length;i++) {
+            nodeTo.appendChild(nodes[i].cloneNode(true));
+        };
+    };
+};
+
+<span class="comment">/**
+ * &lt;p&gt; Moves the childNodes of nodeFrom to nodeTo&lt;/p&gt;
+ * &lt;p&gt; &lt;b&gt;Note:&lt;/b&gt; The second object's original content is deleted before 
+ * the move operation, unless you supply a true third parameter&lt;/p&gt;
+ * <span class="attrib">@argument</span> nodeFrom the Node to copy the childNodes from
+ * <span class="attrib">@argument</span> nodeTo the Node to copy the childNodes to
+ * <span class="attrib">@argument</span> bPreserveExisting whether to preserve the original content of nodeTo, default is
+ */</span> 
+Sarissa.moveChildNodes = <span class="reserved">function</span>(nodeFrom, nodeTo, bPreserveExisting) {
+    <span class="reserved">if</span>((!nodeFrom) || (!nodeTo)){
+        throw <span class="literal">"Both source and destination nodes must be provided"</span>;
+    };
+    <span class="reserved">if</span>(!bPreserveExisting){
+        Sarissa.clearChildNodes(nodeTo);
+    };
+    var nodes = nodeFrom.childNodes;
+<span class="comment">    // if within the same doc, just move, else copy and delete</span>
+    <span class="reserved">if</span>(nodeFrom.ownerDocument == nodeTo.ownerDocument){
+        <span class="reserved">while</span>(nodeFrom.firstChild){
+            nodeTo.appendChild(nodeFrom.firstChild);
+        };
+    } <span class="reserved">else</span> {
+        var ownerDoc = nodeTo.nodeType == Node.DOCUMENT_NODE ? nodeTo : nodeTo.ownerDocument;
+        <span class="reserved">if</span>(typeof(ownerDoc.importNode) != <span class="literal">"undefined"</span>) {
+           <span class="reserved">for</span>(var i=0;i &lt; nodes.length;i++) {
+               nodeTo.appendChild(ownerDoc.importNode(nodes[i], true));
+           };
+        }<span class="reserved">else</span>{
+           <span class="reserved">for</span>(var i=0;i &lt; nodes.length;i++) {
+               nodeTo.appendChild(nodes[i].cloneNode(true));
+           };
+        };
+        Sarissa.clearChildNodes(nodeFrom);
+    };
+};
+
+<span class="comment">/** 
+ * &lt;p&gt;Serialize any object to an XML string. All properties are serialized using the property name
+ * as the XML element name. Array elements are rendered as &lt;code&gt;array-item&lt;/code&gt; elements, 
+ * using their index/key as the value of the &lt;code&gt;key&lt;/code&gt; attribute.&lt;/p&gt;
+ * <span class="attrib">@argument</span> anyObject the object to serialize
+ * <span class="attrib">@argument</span> objectName a name for that object
+ * <span class="attrib">@return</span> the XML serializationj of the given object as a string
+ */</span>
+Sarissa.xmlize = <span class="reserved">function</span>(anyObject, objectName, indentSpace){
+    indentSpace = indentSpace?indentSpace:<span class="literal">''</span>;
+    var s = indentSpace  + <span class="literal">'&lt;'</span> + objectName + <span class="literal">'&gt;'</span>;
+    var isLeaf = false;
+    <span class="reserved">if</span>(!(anyObject instanceof Object) || anyObject instanceof Number || anyObject instanceof String 
+        || anyObject instanceof Boolean || anyObject instanceof Date){
+        s += Sarissa.escape(<span class="literal">""</span>+anyObject);
+        isLeaf = true;
+    }<span class="reserved">else</span>{
+        s += <span class="literal">"\n"</span>;
+        var itemKey = <span class="literal">''</span>;
+        var isArrayItem = anyObject instanceof Array;
+        <span class="reserved">for</span>(var name in anyObject){
+            s += Sarissa.xmlize(anyObject[name], (isArrayItem?<span class="literal">"array-item key=\"</span><span class="literal">"+name+"</span>\<span class="literal">""</span>:name), indentSpace + <span class="literal">"   "</span>);
+        };
+        s += indentSpace;
+    };
+    <span class="reserved">return</span> s += (objectName.indexOf(<span class="literal">' '</span>)!=-1?<span class="literal">"&lt;/array-item&gt;\n"</span>:<span class="literal">"&lt;/"</span> + objectName + <span class="literal">"&gt;\n"</span>);
+};
+
+<span class="comment">/** 
+ * Escape the given string chacters that correspond to the five predefined XML entities
+ * <span class="attrib">@param</span> sXml the string to escape
+ */</span>
+Sarissa.escape = <span class="reserved">function</span>(sXml){
+    <span class="reserved">return</span> sXml.replace(/&amp;/g, <span class="literal">"&amp;amp;"</span>)
+        .replace(/&lt;/g, <span class="literal">"&amp;lt;"</span>)
+        .replace(/&gt;/g, <span class="literal">"&amp;gt;"</span>)
+        .replace(/<span class="literal">"/g, "</span>&amp;quot;<span class="literal">")
+        .replace(/'/g, "</span>&amp;apos;<span class="literal">");
+};
+
+/** 
+ * Unescape the given string. This turns the occurences of the predefined XML 
+ * entities to become the characters they represent correspond to the five predefined XML entities
+ * @param sXml the string to unescape
+ */
+Sarissa.unescape = function(sXml){
+    return sXml.replace(/&amp;apos;/g,"</span>'<span class="literal">")
+        .replace(/&amp;quot;/g,"</span>\<span class="literal">""</span>)
+        .replace(/&amp;gt;/g,<span class="literal">"&gt;"</span>)
+        .replace(/&amp;lt;/g,<span class="literal">"&lt;"</span>)
+        .replace(/&amp;amp;/g,<span class="literal">"&amp;"</span>);
+};
+<span class="comment">//   EOF</span>
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-FeatureCollection.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-FeatureCollection.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-FeatureCollection.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ FeatureCollection.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" FeatureCollection.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-FeatureCollection.js.html" 
+                                        target="classFrame">FeatureCollection.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="FeatureCollection.html" TARGET="classFrame">FeatureCollection</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Button.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Button.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Button.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Button.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Button.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Button.js.html" 
+                                        target="classFrame">Button.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Button.html" TARGET="classFrame">Button</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Widget.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Widget.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Widget.js.html	(revision 4307)
@@ -0,0 +1,194 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Widget.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Widget.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Widget.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Widget.html">Widget</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Widget.js 3091 2007-08-09 12:21:54Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Generic Widget object for widgets where no specialization is required.  
+ * This is just an instance of a abstract WidgetBaseXSL object.
+ * This widget requires a &lt;stylesheet&gt; property in the config file.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@author</span> Cameron Shorter cameronATshorter.net
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> Widget(widgetNode, model) {
+<span class="comment">  //var base = new WidgetBaseXSL(this, widgetNode, model);</span>
+  WidgetBaseXSL.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WebServiceForm.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WebServiceForm.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WebServiceForm.js.html	(revision 4307)
@@ -0,0 +1,360 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="WebServiceForm.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>WebServiceForm.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'WebServiceForm.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="WebServiceForm.html">WebServiceForm</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: WebServiceForm.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+<span class="comment">//mapbuilder.loadScript(baseDir+"/util/dojo/src/uuid/TimeBasedGenerator.js");</span>
+
+<span class="comment">/**
+ * Widget to display a form for input of parameters to generate a web service 
+ * request.  This JS object handles the form submit via HTTP Get by appending 
+ * a query string to the form's action URL.  The query string is created from
+ * all input elements and their values.
+ * The target model is then loaded from the URL created.
+ * A stylehseet must be specified as a property in config for this widget.  
+ * See widget/NtsForm.xsl for an example. 
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode This widget's object node from the configuration document.
+ * <span class="attrib">@param</span> model The model that this widget is a view of.
+ */</span>
+
+<span class="reserved">function</span> WebServiceForm(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+  <span class="reserved">this</span>.formElements = new Object();
+<span class="comment">  // We might have a request stylesheet to fill for a more complex post</span>
+  var requestStylesheet = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:requestStylesheet"</span>);
+  <span class="reserved">if</span> (requestStylesheet) {
+    <span class="reserved">this</span>.requestStylesheet = new XslProcessor(requestStylesheet, model.namespace); 
+  }
+  
+  <span class="reserved">this</span>.webServiceUrl = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:webServiceUrl"</span>);
+  
+  <span class="comment">/**
+   * Handles submission of the form (via javascript in an &lt;a&gt; tag)
+   */</span>
+  <span class="reserved">this</span>.submitForm = <span class="reserved">function</span>() {
+    <span class="reserved">this</span>.webServiceForm = document.getElementById(<span class="reserved">this</span>.formName);
+    <span class="reserved">if</span>( <span class="reserved">this</span>.webServiceForm == null ) { 
+<span class="comment">      // get it from a user div instead if present</span>
+      <span class="reserved">this</span>.webServiceForm = document.getElementById(<span class="literal">"webServiceForm_form"</span>);
+    }
+    
+    <span class="reserved">if</span>( <span class="reserved">this</span>.webServiceForm == null ) {
+        
+      <span class="reserved">return</span>;
+    }
+    
+    var httpPayload = new Object();
+    httpPayload.method = <span class="reserved">this</span>.targetModel.method;
+    httpPayload.url = <span class="reserved">this</span>.webServiceUrl;
+    
+    <span class="reserved">if</span> (httpPayload.method.toLowerCase() == <span class="literal">"get"</span>) {
+      httpPayload.url = <span class="reserved">this</span>.webServiceForm.action + <span class="literal">"?"</span>;
+      <span class="reserved">for</span> (var i=0; i&lt;<span class="reserved">this</span>.webServiceForm.elements.length; ++i) {
+        var element = <span class="reserved">this</span>.webServiceForm.elements[i];
+        webServiceUrl += element.name + <span class="literal">"="</span> + element.value + <span class="literal">"&amp;"</span>;
+        <span class="reserved">this</span>.formElements[element.name] = element.value;
+      }  
+      
+      mbDebugMessage(<span class="reserved">this</span>, httpPayload.url);
+    
+      <span class="reserved">this</span>.targetModel.newRequest(<span class="reserved">this</span>.targetModel,httpPayload);
+    
+    } <span class="reserved">else</span> { 
+<span class="comment">        // a post</span>
+<span class="comment">        // put parameters we got in request stylesheet</span>
+      <span class="reserved">for</span> (var i=0; i&lt;<span class="reserved">this</span>.webServiceForm.elements.length; ++i) {
+        var element = <span class="reserved">this</span>.webServiceForm.elements[i];
+        <span class="reserved">this</span>.formElements[element.name] = element.value;
+      }  
+      
+      <span class="reserved">this</span>.requestStylesheet.setParameter(<span class="literal">"resourceName"</span>, <span class="reserved">this</span>.formElements[<span class="literal">"feature"</span>])
+      <span class="reserved">this</span>.requestStylesheet.setParameter(<span class="literal">"fromDateField"</span>, <span class="reserved">this</span>.formElements[<span class="literal">"fromDateField"</span>])
+      <span class="reserved">this</span>.requestStylesheet.setParameter(<span class="literal">"toDateField"</span>, <span class="reserved">this</span>.formElements[<span class="literal">"toDateField"</span>])
+<span class="comment">  
+      // <span class="attrib">@TODO</span></span>
+<span class="comment">      // we need a new uuid if we wnat to uniquely identify new layers  </span>
+<span class="comment">      // var uuid = dojo_uuid_TimeBasedGenerator.generate();</span>
+       
+      var layer = <span class="reserved">this</span>.requestStylesheet.transformNodeToObject(<span class="reserved">this</span>.model.doc); 
+<span class="comment">      //layer.childNodes[0].setAttribute("id", uuid)</span>
+      <span class="reserved">if</span> (<span class="reserved">this</span>.debug) mbDebugMessage(<span class="reserved">this</span>, <span class="literal">"Transformed: "</span>+ (new XMLSerializer()).serializeToString(layer));
+<span class="comment">           
+      // extract the GetFeature out</span>
+      <span class="reserved">this</span>.namespace = <span class="literal">"xmlns:wmc='http://www.opengis.net/context' xmlns:ows='http://www.opengis.net/ows' xmlns:ogc='http://www.opengis.net/ogc' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs'"</span>;
+      
+      Sarissa.setXpathNamespaces(layer, <span class="reserved">this</span>.namespace);
+      var getFeature = layer.selectSingleNode(<span class="literal">"//wfs:GetFeature"</span>)
+      
+      httpPayload.postData = (new XMLSerializer()).serializeToString( getFeature);
+      
+      mbDebugMessage(<span class="reserved">this</span>, <span class="literal">"httpPayload.postData:"</span>+ httpPayload.postData);
+      
+      <span class="reserved">this</span>.targetModel.wfsFeature = layer.childNodes[0];
+      <span class="reserved">if</span> (<span class="reserved">this</span>.debug) mbDebugMessage(<span class="reserved">this</span>, <span class="literal">"wfsFeature = "</span>+ (new XMLSerializer()).serializeToString(<span class="reserved">this</span>.targetModel.wfsFeature));
+        
+      <span class="reserved">this</span>.targetModel.newRequest(<span class="reserved">this</span>.targetModel,httpPayload);
+    }
+  }
+
+  <span class="comment">/**
+   * handles keypress events to filter out everything except "enter".  
+   * Pressing the "enter" key will trigger a form submit
+   * <span class="attrib">@param</span> event  the event object passed in for Mozilla; IE uses window.event
+   */</span>
+  <span class="reserved">this</span>.handleKeyPress = <span class="reserved">function</span>(event) {
+    var keycode;
+    var target;
+    <span class="reserved">if</span> (event){
+<span class="comment">      //Mozilla</span>
+      keycode=event.which;
+      target=event.currentTarget;
+    }<span class="reserved">else</span>{
+<span class="comment">      //IE</span>
+      keycode=window.event.keyCode;
+      target=window.event.srcElement.form;
+    }
+
+    <span class="reserved">if</span> (keycode == 13) {    //enter key
+      target.parentWidget.submitForm();
+      <span class="reserved">return</span> false;
+    }
+  }
+
+  <span class="comment">/**
+   * Refreshes the form onblur handlers when this widget is painted.
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.postPaint = <span class="reserved">function</span>(objRef) {
+    objRef.webServiceForm = document.getElementById(objRef.formName);
+    <span class="reserved">if</span>( <span class="reserved">this</span>.webServiceForm == null ) { 
+<span class="comment">      // get it from a user div instead if present</span>
+      <span class="reserved">this</span>.webServiceForm = document.getElementById(<span class="literal">"webServiceForm_form"</span>);
+    }
+    
+    objRef.webServiceForm.parentWidget = objRef;
+    objRef.webServiceForm.onkeypress = objRef.handleKeyPress;
+<span class="comment">    //objRef.WebServiceForm.onsubmit = objRef.submitForm;</span>
+<span class="comment">    //objRef.WebServiceForm.mapsheet.onblur = objRef.setMapsheet;</span>
+  }
+<span class="comment">
+  //set some properties for the form output</span>
+  <span class="reserved">this</span>.formName = <span class="literal">"WebServiceForm_"</span> + mbIds.getId();
+  <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"formName"</span>, <span class="reserved">this</span>.formName);
+
+  <span class="comment">/**
+   * Sets value for form elements
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.prePaint = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">for</span> (var elementName in objRef.formElements) {
+      objRef.stylesheet.setParameter(elementName, objRef.formElements[elementName]);
+    }
+  }
+
+  <span class="comment">/**
+    * Setup the listener for AOI changes to be used in filter if necessary
+    */</span>
+  <span class="reserved">this</span>.setAoiParameters = <span class="reserved">function</span>(objRef,bbox) {
+    <span class="reserved">if</span> (objRef.model) {
+      var featureSRS = null;
+      var containerSRS = objRef.model.getSRS();
+     
+      objRef.requestStylesheet.setParameter(<span class="literal">"bBoxMinX"</span>, bbox[0][0] );
+      objRef.requestStylesheet.setParameter(<span class="literal">"bBoxMinY"</span>, bbox[1][1] );
+      objRef.requestStylesheet.setParameter(<span class="literal">"bBoxMaxX"</span>, bbox[1][0] );
+      objRef.requestStylesheet.setParameter(<span class="literal">"bBoxMaxY"</span>, bbox[0][1] );
+      objRef.requestStylesheet.setParameter(<span class="literal">"srs"</span>, containerSRS );
+      objRef.requestStylesheet.setParameter(<span class="literal">"width"</span>, objRef.model.getWindowWidth() );
+      objRef.requestStylesheet.setParameter(<span class="literal">"height"</span>, objRef.model.getWindowHeight() );
+    }
+  }
+
+  <span class="reserved">this</span>.init = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">if</span> (objRef.model) {
+      objRef.model.addListener(<span class="literal">"aoi"</span>, objRef.setAoiParameters, objRef);
+<span class="comment">      //TBD: another one for bbox</span>
+    }
+  }
+  
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"init"</span>, <span class="reserved">this</span>.init, <span class="reserved">this</span>);
+
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-FilterAttributes.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-FilterAttributes.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-FilterAttributes.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ FilterAttributes.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" FilterAttributes.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-FilterAttributes.js.html" 
+                                        target="classFrame">FilterAttributes.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="FilterAttributes.html" TARGET="classFrame">FilterAttributes</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-EditPoint.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-EditPoint.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-EditPoint.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ EditPoint.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" EditPoint.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-EditPoint.js.html" 
+                                        target="classFrame">EditPoint.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="EditPoint.html" TARGET="classFrame">EditPoint</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-ButtonBase.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-ButtonBase.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-ButtonBase.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ ButtonBase.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" ButtonBase.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-ButtonBase.js.html" 
+                                        target="classFrame">ButtonBase.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ButtonBase.html" TARGET="classFrame">ButtonBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/DeleteFeature.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/DeleteFeature.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/DeleteFeature.html	(revision 4307)
@@ -0,0 +1,605 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+DeleteFeature
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="DeleteFeature";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-DeleteFeature.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="CursorTrack.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="DOMParser.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DeleteFeature.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class DeleteFeature</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<b>DeleteFeature</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>DeleteFeature</B>
+   
+      <DT>extends <a href='ButtonBase.html'>ButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-DeleteFeature.js.html'>DeleteFeature.js</a></I><BR/><BR/><B>Author:</B> Cameron Shorter  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#cursor">cursor</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#deleteXsl">deleteXsl</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xsl to convert Feature into a WFS Transaction Delete.</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#httpPayload">httpPayload</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#tc">tc</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#tm">tm</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#trm">trm</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="DeleteFeature.html#DeleteFeature()">DeleteFeature</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      When this button is pressed a WFS-T DeleteFeature transaction will be started.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#createControl">createControl</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 creates the OL control for this button
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#doSelect">doSelect</A></B>(objRef, selected)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Start a WFS-T DeleteFeature transaction.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#handleResponse">handleResponse</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 If transaction was sucessful, refresh the map and remove contents of
+ FeatureList.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="cursor"><!-- --></A>
+   <H3>cursor</H3>
+   <PRE>Object&nbsp;<B>cursor</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="deleteXsl"><!-- --></A>
+   <H3>deleteXsl</H3>
+   <PRE>Object&nbsp;<B>deleteXsl</B></PRE>
+   <UL>
+   Xsl to convert Feature into a WFS Transaction Delete.
+   
+   </UL>
+   <HR>
+   
+   <A NAME="httpPayload"><!-- --></A>
+   <H3>httpPayload</H3>
+   <PRE>Object&nbsp;<B>httpPayload</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="tc"><!-- --></A>
+   <H3>tc</H3>
+   <PRE>Object&nbsp;<B>tc</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="tm"><!-- --></A>
+   <H3>tm</H3>
+   <PRE>Object&nbsp;<B>tm</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="trm"><!-- --></A>
+   <H3>trm</H3>
+   <PRE>Object&nbsp;<B>trm</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="DeleteFeature()"><!-- --></A><H3>
+DeleteFeature</H3>
+<PRE><B>DeleteFeature</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   When this button is pressed a WFS-T DeleteFeature transaction will be started.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  The widget node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model for this widget
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Cameron Shorter  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="createControl"><!-- --></A>
+   <H3>createControl</H3>
+   <PRE>Object <B>createControl</B>(objRef)</PRE>
+   
+      <UL>creates the OL control for this button</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="doSelect"><!-- --></A>
+   <H3>doSelect</H3>
+   <PRE>void <B>doSelect</B>(objRef, selected)</PRE>
+   
+      <UL>Start a WFS-T DeleteFeature transaction.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="handleResponse"><!-- --></A>
+   <H3>handleResponse</H3>
+   <PRE>void <B>handleResponse</B>(objRef)</PRE>
+   
+      <UL>If transaction was sucessful, refresh the map and remove contents of
+ FeatureList.  This function is called after the TransactionResponseModel
+ has been updated.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-DeleteFeature.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="CursorTrack.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="DOMParser.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DeleteFeature.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-WidgetBaseXSL.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-WidgetBaseXSL.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-WidgetBaseXSL.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ WidgetBaseXSL.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" WidgetBaseXSL.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-WidgetBaseXSL.js.html" 
+                                        target="classFrame">WidgetBaseXSL.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WidgetBaseXSL.html" TARGET="classFrame">WidgetBaseXSL</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Loading.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Loading.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Loading.js.html	(revision 4307)
@@ -0,0 +1,207 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Loading.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Loading.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Loading.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Loading.html">Loading</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Loading.js 3702 2007-12-09 23:24:11Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBase.js"</span>);
+
+<span class="comment">/**
+ * This widget can be used to insert a message while the Mapbuilder
+ * javascript is loading.  The message is removed once Mapbuilder
+ * javascript is loaded.  In the main HTML file, insert something like:&lt;br/&gt;
+ * &amp;lt;div id="loading"&amp;gt;&amp;lt;p&amp;gt;Loading Program&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBase
+ * <span class="attrib">@author</span> Cameron Shorter
+ * <span class="attrib">@param</span> widgetNode The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> Loading(widgetNode, model) {
+  WidgetBase.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+
+  <span class="comment">/**
+   * Remove the contents of the HTML tag for this widget.
+   * <span class="attrib">@param</span> objRef Reference to this object.
+   */</span>
+  <span class="reserved">this</span>.paint= <span class="reserved">function</span>(objRef) {
+    var node = document.getElementById(objRef.htmlTagId);
+    <span class="reserved">if</span> (node) {
+      <span class="reserved">while</span> (node.childNodes.length&gt;0) {
+        node.removeChild(node.childNodes[0]);
+      }
+    }
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"refresh"</span>,<span class="reserved">this</span>.paint, <span class="reserved">this</span>);
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-WpsCapabilities.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-WpsCapabilities.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-WpsCapabilities.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ WpsCapabilities.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" WpsCapabilities.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-WpsCapabilities.js.html" 
+                                        target="classFrame">WpsCapabilities.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WpsCapabilities.html" TARGET="classFrame">WpsCapabilities</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/WmsCapabilities.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/WmsCapabilities.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/WmsCapabilities.html	(revision 4307)
@@ -0,0 +1,670 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+WmsCapabilities
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="WmsCapabilities";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-WmsCapabilities.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="WidgetBaseXSL.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="WpsCapabilities.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="WmsCapabilities.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class WmsCapabilities</H2>
+<PRE>Object
+   |
+   +--<a href='Listener.html'>Listener</a>
+         |
+         +--<a href='ModelBase.html'>ModelBase</a>
+               |
+               +--<b>WmsCapabilities</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>WmsCapabilities</B>
+   
+      <DT>extends <a href='ModelBase.html'>ModelBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-WmsCapabilities.js.html'>WmsCapabilities.js</a></I><BR/><BR/><B>Author:</B> Mike Adair  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#namespace">namespace</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ModelBase.html">ModelBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ModelBase.html#async">async</a>, <a href="ModelBase.html#contentType">contentType</a>, <a href="ModelBase.html#modelNode">modelNode</a>, <a href="ModelBase.html#id">id</a>, <a href="ModelBase.html#title">title</a>, <a href="ModelBase.html#debug">debug</a>, <a href="ModelBase.html#url">url</a>, <a href="ModelBase.html#method">method</a>, <a href="ModelBase.html#namespace">namespace</a>, <a href="ModelBase.html#template">template</a>, <a href="ModelBase.html#nodeSelectXpath">nodeSelectXpath</a>, <a href="ModelBase.html#config">config</a>, <a href="ModelBase.html#parentModel">parentModel</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="Listener.html">Listener</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="Listener.html#listeners">listeners</a>, <a href="Listener.html#values">values</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="WmsCapabilities.html#WmsCapabilities()">WmsCapabilities</A> 
+	 </B>
+	 (modelNode, parent)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Stores a Web Map Server (WMS) Capabilities document as defined by the 
+ Open Geospatial Consortium (http://www.opengeospatial.org/) and extensions the the WMC.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeatureNode">getFeatureNode</A></B>(featureName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the Layer node with the specified name from the list of nodes
+ selected by the nodeSelectXpath from the capabilities doc.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getImageFormat">getImageFormat</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getServerTitle">getServerTitle</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getServerUrl">getServerUrl</A></B>(requestName, method, feature)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the serverUrl for the WMS request passed in with the specified
+ HTTP method from the capabilities doc.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getServiceName">getServiceName</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getVersion">getVersion</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the version for the WMS
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ModelBase.html">ModelBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ModelBase.html#getProperty">getProperty</a>, <a href="ModelBase.html#getXpathValue">getXpathValue</a>, <a href="ModelBase.html#setXpathValue">setXpathValue</a>, <a href="ModelBase.html#loadModelDoc">loadModelDoc</a>, <a href="ModelBase.html#setModel">setModel</a>, <a href="ModelBase.html#finishLoading">finishLoading</a>, <a href="ModelBase.html#newRequest">newRequest</a>, <a href="ModelBase.html#deleteTemplates">deleteTemplates</a>, <a href="ModelBase.html#saveModel">saveModel</a>, <a href="ModelBase.html#createObject">createObject</a>, <a href="ModelBase.html#loadObjects">loadObjects</a>, <a href="ModelBase.html#parseConfig">parseConfig</a>, <a href="ModelBase.html#refresh">refresh</a>, <a href="ModelBase.html#init">init</a>, <a href="ModelBase.html#clearModel">clearModel</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="Listener.html">Listener</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="Listener.html#addListener">addListener</a>, <a href="Listener.html#addFirstListener">addFirstListener</a>, <a href="Listener.html#removeListener">removeListener</a>, <a href="Listener.html#callListeners">callListeners</a>, <a href="Listener.html#setParam">setParam</a>, <a href="Listener.html#getParam">getParam</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="namespace"><!-- --></A>
+   <H3>namespace</H3>
+   <PRE>Object&nbsp;<B>namespace</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="WmsCapabilities()"><!-- --></A><H3>
+WmsCapabilities</H3>
+<PRE><B>WmsCapabilities</B>(modelNode, parent)</PRE>
+
+
+<UL>
+   Stores a Web Map Server (WMS) Capabilities document as defined by the 
+ Open Geospatial Consortium (http://www.opengeospatial.org/) and extensions the the WMC.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>modelNode</CODE> -    The model's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>parent</CODE> -  The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Mike Adair  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="getFeatureNode"><!-- --></A>
+   <H3>getFeatureNode</H3>
+   <PRE>Object <B>getFeatureNode</B>(featureName)</PRE>
+   
+      <UL>Returns the Layer node with the specified name from the list of nodes
+ selected by the nodeSelectXpath from the capabilities doc.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureName</CODE> -  name of the featureType to look up  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the Layer node with the specified name. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getImageFormat"><!-- --></A>
+   <H3>getImageFormat</H3>
+   <PRE>Object <B>getImageFormat</B>()</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the first image format listed 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getServerTitle"><!-- --></A>
+   <H3>getServerTitle</H3>
+   <PRE>Object <B>getServerTitle</B>()</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the title of the WMS server 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getServerUrl"><!-- --></A>
+   <H3>getServerUrl</H3>
+   <PRE>Object <B>getServerUrl</B>(requestName, method, feature)</PRE>
+   
+      <UL>Returns the serverUrl for the WMS request passed in with the specified
+ HTTP method from the capabilities doc.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>requestName</CODE> -  the WMS request to get the URL for  
+      </UL> 
+   
+     <UL><CODE>method</CODE> -  http method for the request  
+      </UL> 
+   
+     <UL><CODE>feature</CODE> -  ignored for WMS docs  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        URL for the specified request with the specified method 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getServiceName"><!-- --></A>
+   <H3>getServiceName</H3>
+   <PRE>Object <B>getServiceName</B>()</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the name of the WMS server 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getVersion"><!-- --></A>
+   <H3>getVersion</H3>
+   <PRE>Object <B>getVersion</B>()</PRE>
+   
+      <UL>Returns the version for the WMS</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the WMS version 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-WmsCapabilities.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="WidgetBaseXSL.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="WpsCapabilities.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="WmsCapabilities.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-SetAoi.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-SetAoi.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-SetAoi.js.html	(revision 4307)
@@ -0,0 +1,252 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="SetAoi.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>SetAoi.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'SetAoi.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="SetAoi.html">SetAoi</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: SetAoi.js 3052 2007-08-01 21:25:21Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/ButtonBase.js"</span>);
+mapbuilder.loadScript(baseDir+<span class="literal">"/util/openlayers/OpenLayers.js"</span>);
+
+<span class="comment">/**
+ * Set AOI button.
+ * <span class="attrib">@base</span> ButtonBase
+ * <span class="attrib">@author</span> Andreas Hocevar andreas.hocevarATgmail.com
+ * <span class="attrib">@param</span> widgetNode      The tool node from the Config XML file.
+ * <span class="attrib">@param</span> model  The ButtonBar widget.
+ */</span>
+<span class="reserved">function</span> SetAoi(widgetNode, model) {
+   ButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+  <span class="reserved">this</span>.cursor = <span class="literal">'crosshair'</span>;
+
+  <span class="comment">/**
+   * Interactive ZoomOut control.
+   * <span class="attrib">@param</span> objRef reference to this object.
+   * <span class="attrib">@return</span> {OpenLayers.Control} class of the OL control.
+   */</span>
+  <span class="reserved">this</span>.createControl = <span class="reserved">function</span>(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      CLASS_NAME: <span class="literal">'mbControl.SetAoi'</span>,
+      type: OpenLayers.Control.TYPE_TOOL,
+
+      draw: <span class="reserved">function</span>() {
+        <span class="reserved">this</span>.handler = new OpenLayers.Handler.Box( <span class="reserved">this</span>,
+              {done: <span class="reserved">this</span>.aoiBox}, {keyMask: <span class="reserved">this</span>.keyMask} );
+      },
+
+      aoiBox: <span class="reserved">function</span> (position) {
+        <span class="reserved">if</span> (position instanceof OpenLayers.Bounds) {
+          var minXY = <span class="reserved">this</span>.map.getLonLatFromPixel(
+               new OpenLayers.Pixel(position.left, position.bottom));
+          var maxXY = <span class="reserved">this</span>.map.getLonLatFromPixel(
+               new OpenLayers.Pixel(position.right, position.top));
+          var bounds = new OpenLayers.Bounds(minXY.lon, minXY.lat,
+               maxXY.lon, maxXY.lat);
+          var bboxOL = bounds.toBBOX().split(<span class="literal">','</span>);
+          var ul = new Array(bboxOL[0],bboxOL[3]);
+          var lr = new Array(bboxOL[2],bboxOL[1]);
+          objRef.targetContext.setParam(<span class="literal">"aoi"</span>, new Array(ul, lr));
+          objRef.drawAoiBox(objRef);
+        }
+      }
+    });
+<span class="comment"> 
+    // adds a listener to the context to clear the AOI box when AOI changes</span>
+    <span class="reserved">this</span>.targetContext.addListener(<span class="literal">'aoi'</span>, <span class="reserved">this</span>.clearAoiBox, <span class="reserved">this</span>);
+
+    <span class="reserved">return</span> Control;
+  }
+
+  <span class="comment">/**
+   * Draws a bounding box around the current AOI.
+   * <span class="attrib">@param</span> objRef reference to this widget
+   */</span>
+  <span class="reserved">this</span>.drawAoiBox = <span class="reserved">function</span>(objRef) {
+    var ext = objRef.targetContext.getParam(<span class="literal">'aoi'</span>);
+    var bounds = new OpenLayers.Bounds(ext[0][0], ext[1][1], ext[1][0], ext[0][1]);
+    objRef.targetContext.aoiBoxLayer = new OpenLayers.Layer.Boxes(<span class="literal">'Boxes'</span>);
+    objRef.targetContext.map.addLayer(objRef.targetContext.aoiBoxLayer);
+    var box = new OpenLayers.Marker.Box(bounds);
+    objRef.targetContext.aoiBoxLayer.addMarker(box);
+  }
+  
+  <span class="comment">/**
+   * Clears the AOI box.
+   * <span class="attrib">@param</span> objRef reference to this widget
+   */</span>
+  <span class="reserved">this</span>.clearAoiBox = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">if</span> (objRef.targetContext.aoiBoxLayer) {
+      objRef.targetContext.aoiBoxLayer.destroy();
+    }  
+  }
+}</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Context.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Context.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Context.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Context.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Context.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Context.js.html" 
+                                        target="classFrame">Context.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Context.html" TARGET="classFrame">Context</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/OwsContext.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/OwsContext.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/OwsContext.html	(revision 4307)
@@ -0,0 +1,2126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+OwsContext
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="OwsContext";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-OwsContext.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="OWSCatSearchForm.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="PanZoomBar.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="OwsContext.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class OwsContext</H2>
+<PRE>Object
+   |
+   +--<a href='Listener.html'>Listener</a>
+         |
+         +--<a href='ModelBase.html'>ModelBase</a>
+               |
+               +--<b>OwsContext</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>OwsContext</B>
+   
+      <DT>extends <a href='ModelBase.html'>ModelBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <B>Author:</B> Mike Adair  <BR/><I>Defined in <a href='overview-summary-OwsContext.js.html'>OwsContext.js</a></I><BR/><BR/><B>Requires:</B><UL>- <a href="Sarissa.html#">Sarissa</a></UL>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#namespace">namespace</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ModelBase.html">ModelBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ModelBase.html#async">async</a>, <a href="ModelBase.html#contentType">contentType</a>, <a href="ModelBase.html#modelNode">modelNode</a>, <a href="ModelBase.html#id">id</a>, <a href="ModelBase.html#title">title</a>, <a href="ModelBase.html#debug">debug</a>, <a href="ModelBase.html#url">url</a>, <a href="ModelBase.html#method">method</a>, <a href="ModelBase.html#namespace">namespace</a>, <a href="ModelBase.html#template">template</a>, <a href="ModelBase.html#nodeSelectXpath">nodeSelectXpath</a>, <a href="ModelBase.html#config">config</a>, <a href="ModelBase.html#parentModel">parentModel</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="Listener.html">Listener</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="Listener.html#listeners">listeners</a>, <a href="Listener.html#values">values</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="OwsContext.html#OwsContext()">OwsContext</A> 
+	 </B>
+	 (modelNode, parent)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Stores an OWS Context document as defined by the OGC interoperability
+ experiment.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addLayer">addLayer</A></B>(objRef, layerNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to add a Layer to the LayerList
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addSLD">addSLD</A></B>(objRef,sldNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to add a Sld to the StyleList
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#clearTimeExtent">clearTimeExtent</A></B>( objRef )
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 clear the time extent created by initTimeExtent
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#deleteLayer">deleteLayer</A></B>(objRef, layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to remove a Layer from the LayerList
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getAllLayers">getAllLayers</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to get a list of all layers in the context doc
+ TBD: merge this with above, passing queryable as an optional boolean param?
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getBaseLayer">getBaseLayer</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to get the baselayer
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getBaseLayerService">getBaseLayerService</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Return the service type of the bottom layer in the layer list.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getBoundingBox">getBoundingBox</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get the BoundingBox value from the Context document.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getCurrentTimestamp">getCurrentTimestamp</A></B>( layerName )
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the current timestamp value.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getExtension">getExtension</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the contents of the extension element
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeatureNode">getFeatureNode</A></B>(layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 returns a node that has the specified feature name in the context doc
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getHidden">getHidden</A></B>(layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get the layer's visiblity attribute value.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getLayer">getLayer</A></B>(layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to get a layer with the specified id/name in the context doc
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getLayerIdByName">getLayerIdByName</A></B>(layerName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to get a layer id with the specified id/name in the context doc
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getMethod">getMethod</A></B>(feature)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get HTTP method for the specified feature
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getOpacity">getOpacity</A></B>(layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get the layer's opacity attribute value.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getQueryableLayers">getQueryableLayers</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to get a list of queryable layers
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getServerUrl">getServerUrl</A></B>(requestName, method, feature)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the serverUrl for the layer passed in as the feature argument.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getSRS">getSRS</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get the Spatial Reference System from the context document.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getVersion">getVersion</A></B>(feature)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the WMS version for the layer passed in as the feature argument
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getWindowHeight">getWindowHeight</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get the Window height.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getWindowSize">getWindowSize</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getWindowWidth">getWindowWidth</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get the Window width.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#initAoi">initAoi</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set the aoi param and call the refresh listeners
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#initBbox">initBbox</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set the BoundingBox element and call the refresh listeners
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#initProj">initProj</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get the Projection object from the context document.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#initTimeExtent">initTimeExtent</A></B>( objRef )
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Parses a Dimension element from the Context document as a loadModel listener.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#loadFeatures">loadFeatures</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 listener method which loads WFS features from the context doc, after WMS
+ layers are loaded.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#moveLayerDown">moveLayerDown</A></B>(objRef, layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to move a Layer in the LayerList down
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#moveLayerUp">moveLayerUp</A></B>(objRef, layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to move a Layer in the LayerList up
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setBoundingBox">setBoundingBox</A></B>(boundingBox)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set the BoundingBox element and call the refresh listeners
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setExtension">setExtension</A></B>(extensionNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds a node to the Context document extension element.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setHidden">setHidden</A></B>(layerId, hidden)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Change a Layer's visibility.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setOpacity">setOpacity</A></B>(layerId, Opacity)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Change a Layer's opacity
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setRequestParameters">setRequestParameters</A></B>(featureName, requestStylesheet)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Listener function which sets stylesheet params for WebServiceRequests
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setSRS">setSRS</A></B>(srs)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set the Spatial Reference System for the context document.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setWindowHeight">setWindowHeight</A></B>(height)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set the Window height.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setWindowSize">setWindowSize</A></B>(size)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setWindowWidth">setWindowWidth</A></B>(width)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set the Window width.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ModelBase.html">ModelBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ModelBase.html#getProperty">getProperty</a>, <a href="ModelBase.html#getXpathValue">getXpathValue</a>, <a href="ModelBase.html#setXpathValue">setXpathValue</a>, <a href="ModelBase.html#loadModelDoc">loadModelDoc</a>, <a href="ModelBase.html#setModel">setModel</a>, <a href="ModelBase.html#finishLoading">finishLoading</a>, <a href="ModelBase.html#newRequest">newRequest</a>, <a href="ModelBase.html#deleteTemplates">deleteTemplates</a>, <a href="ModelBase.html#saveModel">saveModel</a>, <a href="ModelBase.html#createObject">createObject</a>, <a href="ModelBase.html#loadObjects">loadObjects</a>, <a href="ModelBase.html#parseConfig">parseConfig</a>, <a href="ModelBase.html#refresh">refresh</a>, <a href="ModelBase.html#init">init</a>, <a href="ModelBase.html#clearModel">clearModel</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="Listener.html">Listener</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="Listener.html#addListener">addListener</a>, <a href="Listener.html#addFirstListener">addFirstListener</a>, <a href="Listener.html#removeListener">removeListener</a>, <a href="Listener.html#callListeners">callListeners</a>, <a href="Listener.html#setParam">setParam</a>, <a href="Listener.html#getParam">getParam</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="namespace"><!-- --></A>
+   <H3>namespace</H3>
+   <PRE>Object&nbsp;<B>namespace</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="OwsContext()"><!-- --></A><H3>
+OwsContext</H3>
+<PRE><B>OwsContext</B>(modelNode, parent)</PRE>
+
+
+<UL>
+   Stores an OWS Context document as defined by the OGC interoperability
+ experiment. This model should be eventually merged with the standard OGC
+ context doc.
+ Listeners supported by this model:
+ "refresh" called when window parameters (width/height, bbox) are changed
+ "hidden" called when visibilty of a layer is changed
+ "wfs_getFeature" called when feature resources are loaded
+</UL>
+
+
+
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Mike Adair  <BR/><B>Requires:</B><UL>- <a href="Sarissa.html#">Sarissa</a></UL>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="addLayer"><!-- --></A>
+   <H3>addLayer</H3>
+   <PRE>void <B>addLayer</B>(objRef, layerNode)</PRE>
+   
+      <UL>Method to add a Layer to the LayerList</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerNode</CODE> -  the Layer node from another context doc or capabiltiies doc      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="addSLD"><!-- --></A>
+   <H3>addSLD</H3>
+   <PRE>void <B>addSLD</B>(objRef,sldNode)</PRE>
+   
+      <UL>Method to add a Sld to the StyleList</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerName</CODE> -  the Layer name from another context doc or capabiltiies doc  TBD: make sure this will work again using layerId instead of layerName      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="clearTimeExtent"><!-- --></A>
+   <H3>clearTimeExtent</H3>
+   <PRE>void <B>clearTimeExtent</B>( objRef )</PRE>
+   
+      <UL>clear the time extent created by initTimeExtent</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this model      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="deleteLayer"><!-- --></A>
+   <H3>deleteLayer</H3>
+   <PRE>void <B>deleteLayer</B>(objRef, layerId)</PRE>
+   
+      <UL>Method to remove a Layer from the LayerList</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -  the Layer to be deleted      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getAllLayers"><!-- --></A>
+   <H3>getAllLayers</H3>
+   <PRE>Object <B>getAllLayers</B>()</PRE>
+   
+      <UL>Method to get a list of all layers in the context doc
+ TBD: merge this with above, passing queryable as an optional boolean param?</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the list with all layers 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getBaseLayer"><!-- --></A>
+   <H3>getBaseLayer</H3>
+   <PRE>Object <B>getBaseLayer</B>()</PRE>
+   
+      <UL>Method to get the baselayer</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the baseLayer   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getBaseLayerService"><!-- --></A>
+   <H3>getBaseLayerService</H3>
+   <PRE>Object <B>getBaseLayerService</B>()</PRE>
+   
+      <UL>Return the service type of the bottom layer in the layer list.
+ This is used to match navigation tools with the basemap.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getBoundingBox"><!-- --></A>
+   <H3>getBoundingBox</H3>
+   <PRE>Object <B>getBoundingBox</B>()</PRE>
+   
+      <UL>Get the BoundingBox value from the Context document.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        BoundingBox array with the sequence (xmin,ymin,xmax,ymax). 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getCurrentTimestamp"><!-- --></A>
+   <H3>getCurrentTimestamp</H3>
+   <PRE>Object <B>getCurrentTimestamp</B>( layerName )</PRE>
+   
+      <UL>Returns the current timestamp value.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerName</CODE> -  the name of the Layer from which the timestamp list was generated  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the current timestamp value. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getExtension"><!-- --></A>
+   <H3>getExtension</H3>
+   <PRE>Object <B>getExtension</B>()</PRE>
+   
+      <UL>Returns the contents of the extension element</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the contents of the extension element 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getFeatureNode"><!-- --></A>
+   <H3>getFeatureNode</H3>
+   <PRE>Object <B>getFeatureNode</B>(layerId)</PRE>
+   
+      <UL>returns a node that has the specified feature name in the context doc</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureName</CODE> -  Name element value to return  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the node from the context doc with the specified feature name 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getHidden"><!-- --></A>
+   <H3>getHidden</H3>
+   <PRE>Object <B>getHidden</B>(layerId)</PRE>
+   
+      <UL>Get the layer's visiblity attribute value.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -   The name of the layer that is to be changed  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        hidden  String with the value; 1=hidden, 0=visible. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getLayer"><!-- --></A>
+   <H3>getLayer</H3>
+   <PRE>Object <B>getLayer</B>(layerId)</PRE>
+   
+      <UL>Method to get a layer with the specified id/name in the context doc</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> - /layerName the layer to be returned  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the list with all layers   
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getLayerIdByName"><!-- --></A>
+   <H3>getLayerIdByName</H3>
+   <PRE>Object <B>getLayerIdByName</B>(layerName)</PRE>
+   
+      <UL>Method to get a layer id with the specified id/name in the context doc</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerName</CODE> -  the name of the layer of which the id is to be returned  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the id of the layer || false 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getMethod"><!-- --></A>
+   <H3>getMethod</H3>
+   <PRE>Object <B>getMethod</B>(feature)</PRE>
+   
+      <UL>Get HTTP method for the specified feature</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>feature</CODE> -  the Layer node from the context doc  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the HTTP method to get the feature with 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getOpacity"><!-- --></A>
+   <H3>getOpacity</H3>
+   <PRE>Object <B>getOpacity</B>(layerId)</PRE>
+   
+      <UL>Get the layer's opacity attribute value.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -   The name of the layer that is to be changed  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        hidden  String with the value; 1=hidden, 0=visible. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getQueryableLayers"><!-- --></A>
+   <H3>getQueryableLayers</H3>
+   <PRE>Object <B>getQueryableLayers</B>()</PRE>
+   
+      <UL>Method to get a list of queryable layers</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the list with queryable layers 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getServerUrl"><!-- --></A>
+   <H3>getServerUrl</H3>
+   <PRE>Object <B>getServerUrl</B>(requestName, method, feature)</PRE>
+   
+      <UL>Returns the serverUrl for the layer passed in as the feature argument.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>requestName</CODE> -  ignored for context docs (only GetMap supported)  
+      </UL> 
+   
+     <UL><CODE>method</CODE> -  ignored for context docs (only GET supported)  
+      </UL> 
+   
+     <UL><CODE>feature</CODE> -  the node for the feature from the context doc  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        height String URL for the GetMap request 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getSRS"><!-- --></A>
+   <H3>getSRS</H3>
+   <PRE>Object <B>getSRS</B>()</PRE>
+   
+      <UL>Get the Spatial Reference System from the context document.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        srs The Spatial Reference System. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getVersion"><!-- --></A>
+   <H3>getVersion</H3>
+   <PRE>Object <B>getVersion</B>(feature)</PRE>
+   
+      <UL>Returns the WMS version for the layer passed in as the feature argument</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>feature</CODE> -  the node for the feature from the context doc  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the WMS GetMap version for the Layer. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getWindowHeight"><!-- --></A>
+   <H3>getWindowHeight</H3>
+   <PRE>Object <B>getWindowHeight</B>()</PRE>
+   
+      <UL>Get the Window height.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        height The height of map window from the context document. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getWindowSize"><!-- --></A>
+   <H3>getWindowSize</H3>
+   <PRE>Object <B>getWindowSize</B>()</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getWindowWidth"><!-- --></A>
+   <H3>getWindowWidth</H3>
+   <PRE>Object <B>getWindowWidth</B>()</PRE>
+   
+      <UL>Get the Window width.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        width The width of map window from the context document 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="initAoi"><!-- --></A>
+   <H3>initAoi</H3>
+   <PRE>void <B>initAoi</B>(objRef)</PRE>
+   
+      <UL>Set the aoi param and call the refresh listeners</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>boundingBox</CODE> -  array in the sequence (xmin, ymin, xmax, ymax).      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="initBbox"><!-- --></A>
+   <H3>initBbox</H3>
+   <PRE>void <B>initBbox</B>(objRef)</PRE>
+   
+      <UL>Set the BoundingBox element and call the refresh listeners</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>boundingBox</CODE> -  array in the sequence (xmin, ymin, xmax, ymax).      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="initProj"><!-- --></A>
+   <H3>initProj</H3>
+   <PRE>Object <B>initProj</B>(objRef)</PRE>
+   
+      <UL>Get the Projection object from the context document.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Proj Object of  The Spatial Reference System. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="initTimeExtent"><!-- --></A>
+   <H3>initTimeExtent</H3>
+   <PRE>void <B>initTimeExtent</B>( objRef )</PRE>
+   
+      <UL>Parses a Dimension element from the Context document as a loadModel listener.
+ This results in an XML structure with one element for each GetMap time value
+ parameter and added to the Context extrension element.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  a pointer to this object      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="loadFeatures"><!-- --></A>
+   <H3>loadFeatures</H3>
+   <PRE>void <B>loadFeatures</B>(objRef)</PRE>
+   
+      <UL>listener method which loads WFS features from the context doc, after WMS
+ layers are loaded.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="moveLayerDown"><!-- --></A>
+   <H3>moveLayerDown</H3>
+   <PRE>void <B>moveLayerDown</B>(objRef, layerId)</PRE>
+   
+      <UL>Method to move a Layer in the LayerList down</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -  the layer to be moved      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="moveLayerUp"><!-- --></A>
+   <H3>moveLayerUp</H3>
+   <PRE>void <B>moveLayerUp</B>(objRef, layerId)</PRE>
+   
+      <UL>Method to move a Layer in the LayerList up</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -  the layer to be moved      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setBoundingBox"><!-- --></A>
+   <H3>setBoundingBox</H3>
+   <PRE>void <B>setBoundingBox</B>(boundingBox)</PRE>
+   
+      <UL>Set the BoundingBox element and call the refresh listeners</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>boundingBox</CODE> -  array in the sequence (xmin, ymin, xmax, ymax).      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setExtension"><!-- --></A>
+   <H3>setExtension</H3>
+   <PRE>Object <B>setExtension</B>(extensionNode)</PRE>
+   
+      <UL>Adds a node to the Context document extension element.  The extension element
+ will be created if it doesn't already exist.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>extensionNode</CODE> -  the node to be appended in the extension element.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the ndoe added to the extension element 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setHidden"><!-- --></A>
+   <H3>setHidden</H3>
+   <PRE>void <B>setHidden</B>(layerId, hidden)</PRE>
+   
+      <UL>Change a Layer's visibility.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -   The name of the layer that is to be changed  
+      </UL> 
+   
+     <UL><CODE>hidden</CODE> -      String with the value to be set; 1=hidden, 0=visible.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setOpacity"><!-- --></A>
+   <H3>setOpacity</H3>
+   <PRE>void <B>setOpacity</B>(layerId, Opacity)</PRE>
+   
+      <UL>Change a Layer's opacity</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -   The name of the layer that is to be changed  
+      </UL> 
+   
+     <UL><CODE>Opacity</CODE> -      Value of the opacity      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setRequestParameters"><!-- --></A>
+   <H3>setRequestParameters</H3>
+   <PRE>void <B>setRequestParameters</B>(featureName, requestStylesheet)</PRE>
+   
+      <UL>Listener function which sets stylesheet params for WebServiceRequests</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  pointer to this object  
+      </UL> 
+   
+     <UL><CODE>featureNodeId</CODE> -  the id of the node in the doc to be processed by the stylesheet      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setSRS"><!-- --></A>
+   <H3>setSRS</H3>
+   <PRE>void <B>setSRS</B>(srs)</PRE>
+   
+      <UL>Set the Spatial Reference System for the context document.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>srs</CODE> -  The Spatial Reference System.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setWindowHeight"><!-- --></A>
+   <H3>setWindowHeight</H3>
+   <PRE>void <B>setWindowHeight</B>(height)</PRE>
+   
+      <UL>Set the Window height.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>height</CODE> -  The height of map window to set in the context document      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setWindowSize"><!-- --></A>
+   <H3>setWindowSize</H3>
+   <PRE>void <B>setWindowSize</B>(size)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setWindowWidth"><!-- --></A>
+   <H3>setWindowWidth</H3>
+   <PRE>void <B>setWindowWidth</B>(width)</PRE>
+   
+      <UL>Set the Window width.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>width</CODE> -  The width of map window to set in the context document      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-OwsContext.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="OWSCatSearchForm.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="PanZoomBar.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="OwsContext.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-GmlRendererOL.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-GmlRendererOL.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-GmlRendererOL.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ GmlRendererOL.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" GmlRendererOL.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-GmlRendererOL.js.html" 
+                                        target="classFrame">GmlRendererOL.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GmlRendererOL.html" TARGET="classFrame">GmlRendererOL</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-OpenLSForm.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-OpenLSForm.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-OpenLSForm.js.html	(revision 4307)
@@ -0,0 +1,242 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="OpenLSForm.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>OpenLSForm.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'OpenLSForm.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="OpenLSForm.html">OpenLSForm</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Description: Display a form for OpenLS geocoding request
+Author:      Steven Ottens AT geodan.nl
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: OpenLSForm.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Widget to display the OpenLS request form
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode This widget's object node from the configuration document.
+ * <span class="attrib">@param</span> model The model that this widget is a view of.
+ */</span>
+
+<span class="reserved">function</span> OpenLSForm(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+
+	<span class="reserved">this</span>.defaultModelUrl=<span class="reserved">this</span>.getProperty(<span class="literal">"mb:defaultModelUrl"</span>);
+	<span class="reserved">this</span>.geocodeServerUrl=<span class="reserved">this</span>.getProperty(<span class="literal">"mb:geocodeServerUrl"</span>);
+
+  <span class="reserved">this</span>.xsl=new XslProcessor(baseDir+<span class="literal">"/tool/xsl/ols_GeocodeRequest.xsl"</span>);	
+	<span class="comment">/**
+	* handles the submission of the form
+	*/</span>
+	<span class="reserved">this</span>.submitForm = <span class="reserved">function</span>(objRef) {
+<span class="comment">		//Parse the form</span>
+		var geoForm = document.getElementById(<span class="reserved">this</span>.formName);
+    pc = geoForm.pcValue.value;
+    street = geoForm.streetValue.value;
+    number = geoForm.numberValue.value;
+    city = geoForm.cityValue.value;
+    municipality = geoForm.municipalityValue.value;
+    country =geoForm.countryValue.value;
+<span class="comment">		
+		//fill the form output into the xsl</span>
+		<span class="reserved">if</span>(pc) objRef.xsl.setParameter(<span class="literal">"postalCode"</span>, pc);
+    <span class="reserved">if</span>(street) objRef.xsl.setParameter(<span class="literal">"street"</span>, street);
+    <span class="reserved">if</span>(number) objRef.xsl.setParameter(<span class="literal">"number"</span>, number);
+    <span class="reserved">if</span>(city) objRef.xsl.setParameter(<span class="literal">"municipalitySubdivision"</span>, city);
+    <span class="reserved">if</span>(municipality) objRef.xsl.setParameter(<span class="literal">"municipality"</span>, municipality);
+    <span class="reserved">if</span>(country) objRef.xsl.setParameter(<span class="literal">"countryCode"</span>, country);
+    <span class="reserved">if</span>(!country) {
+      alert(mbGetMessage(<span class="literal">"noCountryCode"</span>));
+      <span class="reserved">return</span>;
+    }
+<span class="comment">		//no values entered, bail out</span>
+		<span class="reserved">if</span>(!municipality &amp;&amp; !city &amp;&amp; !number &amp;&amp; !street &amp;&amp; !pc) {
+			alert(mbGetMessage(<span class="literal">"atLeastOneValue"</span>));
+			<span class="reserved">return</span>;
+		}
+<span class="comment">		
+		//do the actual request</span>
+    objRef.requestModel = objRef.xsl.transformNodeToObject(<span class="reserved">this</span>.model.doc);
+    objRef.httpPayload = new Object();
+    objRef.httpPayload.url = objRef.geocodeServerUrl;
+    objRef.httpPayload.method=<span class="literal">"post"</span>;
+    objRef.httpPayload.postData=objRef.requestModel;
+    objRef.targetModel.newRequest(objRef.targetModel,objRef.httpPayload);  
+  }
+<span class="comment">
+  //set some properties for the form output</span>
+<span class="comment">  //allow it to have a different form name</span>
+  <span class="reserved">this</span>.formName = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:formName"</span>, <span class="literal">"OpenLSForm_"</span> + mbIds.getId());
+  <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"formName"</span>, <span class="reserved">this</span>.formName);
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WmsCapabilities.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WmsCapabilities.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WmsCapabilities.js.html	(revision 4307)
@@ -0,0 +1,282 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="WmsCapabilities.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>WmsCapabilities.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'WmsCapabilities.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="WmsCapabilities.html">WmsCapabilities</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: WmsCapabilities.js 3887 2008-02-27 18:18:53Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/model/ModelBase.js"</span>);
+
+<span class="comment">/**
+ * Stores a Web Map Server (WMS) Capabilities document as defined by the 
+ * Open Geospatial Consortium (http://www.opengeospatial.org/) and extensions the the WMC.  
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ModelBase
+ * <span class="attrib">@author</span> Mike Adair
+ * <span class="attrib">@param</span> modelNode   The model's XML object node from the configuration document.
+ * <span class="attrib">@param</span> parent The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> WmsCapabilities(modelNode, parent) {
+<span class="comment">  // Inherit the ModelBase functions and parameters</span>
+  ModelBase.apply(<span class="reserved">this</span>, new Array(modelNode, parent));
+
+  <span class="reserved">this</span>.namespace = <span class="literal">"xmlns:wms='http://www.opengis.net/wms' xmlns:xlink='http://www.w3.org/1999/xlink'"</span>;
+
+  <span class="comment">/**
+   * Returns the serverUrl for the WMS request passed in with the specified
+   * HTTP method from the capabilities doc.
+   * <span class="attrib">@param</span> requestName the WMS request to get the URL for
+   * <span class="attrib">@param</span> method http method for the request
+   * <span class="attrib">@param</span> feature ignored for WMS docs
+   * <span class="attrib">@return</span> URL for the specified request with the specified method
+   */</span>
+  <span class="reserved">this</span>.getServerUrl = <span class="reserved">function</span>(requestName, method, feature) {
+    var version = <span class="reserved">this</span>.getVersion();
+    <span class="reserved">if</span> (version == <span class="literal">"1.0.0"</span>) {
+      requestName = requestName.substring(3);  //strip of <span class="literal">"Get"</span> part of request name
+      var xpath = <span class="literal">"/WMT_MS_Capabilities/Capability/Request/"</span>+requestName;
+      <span class="reserved">if</span> (method.toLowerCase() == <span class="literal">"post"</span>) {
+        xpath += <span class="literal">"/DCPType/HTTP/Post"</span>;
+      } <span class="reserved">else</span> {
+        xpath += <span class="literal">"/DCPType/HTTP/Get"</span>;
+      }
+      <span class="reserved">return</span> <span class="reserved">this</span>.doc.selectSingleNode(xpath).getAttribute(<span class="literal">"onlineResource"</span>);
+    } <span class="reserved">else</span> {
+      var xpath = <span class="literal">"/WMT_MS_Capabilities/Capability/Request/"</span>+requestName;
+      <span class="reserved">if</span> (method.toLowerCase() == <span class="literal">"post"</span>) {
+        xpath += <span class="literal">"/DCPType/HTTP/Post/OnlineResource"</span>;
+      } <span class="reserved">else</span> {
+        xpath += <span class="literal">"/DCPType/HTTP/Get/OnlineResource"</span>;
+      }
+      <span class="reserved">return</span> <span class="reserved">this</span>.doc.selectSingleNode(xpath).getAttribute(<span class="literal">"xlink:href"</span>);
+    }
+  }
+
+  <span class="comment">/**
+   * Returns the version for the WMS
+   * <span class="attrib">@return</span> the WMS version
+   */</span>
+  <span class="reserved">this</span>.getVersion = <span class="reserved">function</span>() {
+    var xpath = <span class="literal">"/WMT_MS_Capabilities"</span>;
+    <span class="reserved">return</span> <span class="reserved">this</span>.doc.selectSingleNode(xpath).getAttribute(<span class="literal">"version"</span>);
+  }
+
+  <span class="comment">/**
+   * <span class="attrib">@return</span> the title of the WMS server
+   */</span>
+  <span class="reserved">this</span>.getServerTitle = <span class="reserved">function</span>() {
+    var xpath = <span class="literal">"/WMT_MS_Capabilities/Service/Title"</span>;
+    <span class="reserved">return</span> Mapbuilder.getProperty(<span class="reserved">this</span>.doc, xpath, <span class="literal">"no title"</span>);
+  }
+
+  <span class="comment">/**
+   * <span class="attrib">@return</span> the first image format listed
+   */</span>
+  <span class="reserved">this</span>.getImageFormat = <span class="reserved">function</span>() {
+    var version = <span class="reserved">this</span>.getVersion();
+    <span class="reserved">if</span> (version == <span class="literal">"1.0.0"</span>) {
+      var xpath = <span class="literal">"/WMT_MS_Capabilities/Capability/Request/Map/Format"</span>;  //strip of <span class="literal">"Get"</span> part of request name
+      var node = <span class="reserved">this</span>.doc.selectSingleNode(xpath);
+      <span class="reserved">if</span>(_SARISSA_IS_IE) {
+        <span class="reserved">return</span> <span class="literal">"image/"</span>+node.firstChild.baseName.toLowerCase();
+      }
+      <span class="reserved">else</span> {
+	    <span class="reserved">return</span> <span class="literal">"image/"</span>+node.firstChild.localName.toLowerCase();
+	  }
+    } <span class="reserved">else</span> {
+      var xpath = <span class="literal">"/WMT_MS_Capabilities/Capability/Request/GetMap/Format"</span>;
+      <span class="reserved">return</span> Mapbuilder.getProperty(<span class="reserved">this</span>.doc, xpath);
+    }
+  }
+
+  <span class="comment">/**
+   * <span class="attrib">@return</span> the name of the WMS server
+   */</span>
+  <span class="reserved">this</span>.getServiceName = <span class="reserved">function</span>() {
+    var xpath = <span class="literal">"/WMT_MS_Capabilities/Service/Name"</span>;
+    <span class="reserved">return</span> Mapbuilder.getProperty(<span class="reserved">this</span>.doc, xpath);
+  }
+
+  <span class="comment">/**
+   * Returns the Layer node with the specified name from the list of nodes
+   * selected by the nodeSelectXpath from the capabilities doc.
+   * <span class="attrib">@param</span> featureName name of the featureType to look up
+   * <span class="attrib">@return</span> the Layer node with the specified name.
+   */</span>
+  <span class="reserved">this</span>.getFeatureNode = <span class="reserved">function</span>(featureName) {
+    <span class="reserved">return</span> <span class="reserved">this</span>.doc.selectSingleNode(<span class="reserved">this</span>.nodeSelectXpath+<span class="literal">"[Name='"</span>+featureName+<span class="literal">"']"</span>);
+  }
+
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/GetFeatureInfo.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/GetFeatureInfo.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/GetFeatureInfo.html	(revision 4307)
@@ -0,0 +1,518 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+GetFeatureInfo
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="GetFeatureInfo";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-GetFeatureInfo.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="GeoRSS.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="GetFeatureInfoWSR.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GetFeatureInfo.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class GetFeatureInfo</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<b>GetFeatureInfo</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>GetFeatureInfo</B>
+   
+      <DT>extends <a href='ButtonBase.html'>ButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-GetFeatureInfo.js.html'>GetFeatureInfo.js</a></I><BR/><BR/><B>Author:</B> Nedjo  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#cursor">cursor</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#featureCount">featureCount</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#handler">handler</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#infoFormat">infoFormat</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine whether Query result is returned as text, HTML or GML
+ This is usually text/plain, text/html or application/vnd.ogc.gml</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#xsl">xsl</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xsl to build a GetFeatureInfo URL</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="GetFeatureInfo.html#GetFeatureInfo()">GetFeatureInfo</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Implements WMS GetFeatureInfo functionality, popping up a query result
+ window when user clicks on map.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#createControl">createControl</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 GetFeatureInfo control
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#doSelect">doSelect</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="cursor"><!-- --></A>
+   <H3>cursor</H3>
+   <PRE>Object&nbsp;<B>cursor</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="featureCount"><!-- --></A>
+   <H3>featureCount</H3>
+   <PRE>Object&nbsp;<B>featureCount</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="handler"><!-- --></A>
+   <H3>handler</H3>
+   <PRE>Object&nbsp;<B>handler</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="infoFormat"><!-- --></A>
+   <H3>infoFormat</H3>
+   <PRE>Object&nbsp;<B>infoFormat</B></PRE>
+   <UL>
+   Determine whether Query result is returned as text, HTML or GML
+ This is usually text/plain, text/html or application/vnd.ogc.gml
+   
+   </UL>
+   <HR>
+   
+   <A NAME="xsl"><!-- --></A>
+   <H3>xsl</H3>
+   <PRE>Object&nbsp;<B>xsl</B></PRE>
+   <UL>
+   Xsl to build a GetFeatureInfo URL
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="GetFeatureInfo()"><!-- --></A><H3>
+GetFeatureInfo</H3>
+<PRE><B>GetFeatureInfo</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Implements WMS GetFeatureInfo functionality, popping up a query result
+ window when user clicks on map.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>model</CODE> -  The widget object which this tool is associated with.
+     </UL>
+   
+     <UL><CODE>toolNode</CODE> -  The XML node in the Config file referencing this object.  
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Nedjo  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="createControl"><!-- --></A>
+   <H3>createControl</H3>
+   <PRE>Object <B>createControl</B>(objRef)</PRE>
+   
+      <UL>GetFeatureInfo control</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this object.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        {OpenLayers.Control} class of the OL control. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-GetFeatureInfo.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="GeoRSS.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="GetFeatureInfoWSR.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GetFeatureInfo.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-EditPolygon.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-EditPolygon.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-EditPolygon.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ EditPolygon.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" EditPolygon.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-EditPolygon.js.html" 
+                                        target="classFrame">EditPolygon.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="EditPolygon.html" TARGET="classFrame">EditPolygon</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/ZoomIn.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/ZoomIn.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/ZoomIn.html	(revision 4307)
@@ -0,0 +1,429 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ZoomIn
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="ZoomIn";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ZoomIn.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="XSLTProcessor.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ZoomOut.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ZoomIn.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class ZoomIn</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<b>ZoomIn</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>ZoomIn</B>
+   
+      <DT>extends <a href='ButtonBase.html'>ButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-ZoomIn.js.html'>ZoomIn.js</a></I><BR/><BR/><B>Author:</B> Andreas HOcevar andreas.hocevarATgmail.com  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#cursor">cursor</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="ZoomIn.html#ZoomIn()">ZoomIn</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      ZoomIn button - zooms in on click or box drag in the map.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#createControl">createControl</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#doSelect">doSelect</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="cursor"><!-- --></A>
+   <H3>cursor</H3>
+   <PRE>Object&nbsp;<B>cursor</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="ZoomIn()"><!-- --></A><H3>
+ZoomIn</H3>
+<PRE><B>ZoomIn</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   ZoomIn button - zooms in on click or box drag in the map.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  The widget node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model for this widget
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Andreas HOcevar andreas.hocevarATgmail.com  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="createControl"><!-- --></A>
+   <H3>createControl</H3>
+   <PRE>Object <B>createControl</B>()</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ZoomIn.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="XSLTProcessor.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ZoomOut.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ZoomIn.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/XMLHttpRequest.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/XMLHttpRequest.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/XMLHttpRequest.html	(revision 4307)
@@ -0,0 +1,256 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+XMLHttpRequest
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="XMLHttpRequest";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Sarissa.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="WpsDescribeProcess.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="XMLSerializer.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="XMLHttpRequest.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class XMLHttpRequest</H2>
+<PRE>Object
+   |
+   +--<b>XMLHttpRequest</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>XMLHttpRequest</B>
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Sarissa.js.html'>Sarissa.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="XMLHttpRequest.html#XMLHttpRequest()">XMLHttpRequest</A> 
+	 </B>
+	 ()
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Emulate XMLHttpRequest
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="XMLHttpRequest()"><!-- --></A><H3>
+XMLHttpRequest</H3>
+<PRE><B>XMLHttpRequest</B>()</PRE>
+
+
+<UL>
+   Emulate XMLHttpRequest
+</UL>
+
+
+
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Sarissa.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="WpsDescribeProcess.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="XMLSerializer.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="XMLHttpRequest.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Loading.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Loading.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Loading.html	(revision 4307)
@@ -0,0 +1,373 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Loading
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Loading";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Loading.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Listener.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Loading2.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Loading.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Loading</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<b>Loading</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Loading</B>
+   
+      <DT>extends <a href='WidgetBase.html'>WidgetBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Loading.js.html'>Loading.js</a></I><BR/><BR/><B>Author:</B> Cameron Shorter  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Loading.html#Loading()">Loading</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      This widget can be used to insert a message while the Mapbuilder
+ javascript is loading.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#paint">paint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Remove the contents of the HTML tag for this widget.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Loading()"><!-- --></A><H3>
+Loading</H3>
+<PRE><B>Loading</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   This widget can be used to insert a message while the Mapbuilder
+ javascript is loading.  The message is removed once Mapbuilder
+ javascript is loaded.  In the main HTML file, insert something like:<br/>
+ &lt;div id="loading"&gt;&lt;p&gt;Loading Program&lt;/p&gt;&lt;/div&gt;.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Cameron Shorter  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="paint"><!-- --></A>
+   <H3>paint</H3>
+   <PRE>void <B>paint</B>(objRef)</PRE>
+   
+      <UL>Remove the contents of the HTML tag for this widget.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Reference to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Loading.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Listener.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Loading2.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Loading.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Timestamp.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Timestamp.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Timestamp.html	(revision 4307)
@@ -0,0 +1,429 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Timestamp
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Timestamp";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Timestamp.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Timer.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TipWidgetBase.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Timestamp.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Timestamp</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>Timestamp</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Timestamp</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Timestamp.js.html'>Timestamp.js</a></I><BR/><BR/><B>Author:</B> Mike Adair mike.adairATccrs.nrcan.gc.ca  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#formName">formName</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Timestamp.html#Timestamp()">Timestamp</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Adds a timstamp listener to show the curretn timestamp value in a form.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#updateTimestamp">updateTimestamp</A></B>(objRef, timestamp)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="formName"><!-- --></A>
+   <H3>formName</H3>
+   <PRE>Object&nbsp;<B>formName</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Timestamp()"><!-- --></A><H3>
+Timestamp</H3>
+<PRE><B>Timestamp</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Adds a timstamp listener to show the curretn timestamp value in a form.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -       The tool node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -   The ButtonBar widget.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Mike Adair mike.adairATccrs.nrcan.gc.ca  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="updateTimestamp"><!-- --></A>
+   <H3>updateTimestamp</H3>
+   <PRE>void <B>updateTimestamp</B>(objRef, timestamp)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Timestamp.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Timer.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TipWidgetBase.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Timestamp.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Widget.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Widget.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Widget.html	(revision 4307)
@@ -0,0 +1,336 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Widget
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Widget";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Widget.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="WfsGetFeature.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="WidgetBase.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Widget.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Widget</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>Widget</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Widget</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Widget.js.html'>Widget.js</a></I><BR/><BR/><B>Author:</B> Cameron Shorter cameronATshorter.net  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Widget.html#Widget()">Widget</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Generic Widget object for widgets where no specialization is required.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Widget()"><!-- --></A><H3>
+Widget</H3>
+<PRE><B>Widget</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Generic Widget object for widgets where no specialization is required.  
+ This is just an instance of a abstract WidgetBaseXSL object.
+ This widget requires a <stylesheet> property in the config file.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Cameron Shorter cameronATshorter.net  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Widget.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="WfsGetFeature.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="WidgetBase.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Widget.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WebServiceRequest.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WebServiceRequest.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WebServiceRequest.js.html	(revision 4307)
@@ -0,0 +1,387 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="WebServiceRequest.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>WebServiceRequest.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'WebServiceRequest.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="WebServiceRequest.html">WebServiceRequest</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Mike Adair  mike.adairATccrs.nrcan.gc.ca
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: WebServiceRequest.js 3881 2008-02-27 15:41:07Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/tool/ToolBase.js"</span>);
+
+<span class="comment">/**
+ * A controller issuing OGC web service requests.  The request is generated
+ * by applying a stylesheet to a Layer/FeatureType/Coverage node from a 
+ * capabilities document as a listener function.  The listener event name is 
+ * a combination of the service type and the request name (e.g. wfs_GetFeature)
+ * and the parameter passed to the listener is the featureName (Layer/FeatureType/Coverage).
+ * The response from the request is stored in the targetModel.  If the 
+ * targetModel is a template model (attribute template="true") the a new model 
+ * is created and appended to the parentModel's &lt;models&gt; list.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ToolBase
+ * <span class="attrib">@param</span> toolNode The tools's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model    The model that this tool belongs to
+ */</span>
+<span class="reserved">function</span> WebServiceRequest(toolNode, model) {
+  ToolBase.apply(<span class="reserved">this</span>, new Array(toolNode, model));
+<span class="comment">
+  //this.debug=true;</span>
+<span class="comment">  
+  //get the request name to add listener to</span>
+  <span class="reserved">this</span>.requestName = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:requestName"</span>);
+<span class="comment">
+  //get the request filter to add to the request</span>
+  <span class="reserved">this</span>.requestFilter = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:requestFilter"</span>);
+
+  var styleUrl = toolNode.selectSingleNode(<span class="literal">"mb:stylesheet"</span>);
+  styleUrl = styleUrl ? getNodeValue(styleUrl) :
+          baseDir+<span class="literal">"/tool/xsl/"</span>+<span class="reserved">this</span>.requestName.replace(/:/,<span class="literal">"_"</span>)+<span class="literal">".xsl"</span>;
+  <span class="reserved">this</span>.requestStylesheet = new XslProcessor(styleUrl);
+<span class="comment">
+  // Set stylesheet parameters for all the child nodes from the config file</span>
+  <span class="reserved">for</span> (var j=0;j&lt;toolNode.childNodes.length;j++) {
+    <span class="reserved">if</span> (getNodeValue(toolNode.childNodes[j])) {
+      <span class="reserved">this</span>.requestStylesheet.setParameter(toolNode.childNodes[j].nodeName,getNodeValue(toolNode.childNodes[j]));
+    }
+  }
+
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"init"</span>, <span class="reserved">this</span>.init, <span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addListener(<span class="reserved">this</span>.requestName.replace(/:/,<span class="literal">"_"</span>), <span class="reserved">this</span>.doRequest, <span class="reserved">this</span>);
+}
+
+<span class="comment">/**
+ * Function which create the HTTP payload for a request
+ * <span class="attrib">@param</span> feature the feature object
+ */</span>
+WebServiceRequest.<span class="reserved">prototype</span>.createHttpPayload = <span class="reserved">function</span>(feature) {
+<span class="comment">  //confirm inputs</span>
+  <span class="reserved">if</span> (<span class="reserved">this</span>.debug) mbDebugMessage(<span class="reserved">this</span>, <span class="literal">"source:"</span>+(new XMLSerializer()).serializeToString(feature));
+<span class="comment">  //if (this.debug) mbDebugMessage(this, "stylesheet:"+(new XMLSerializer()).serializeToString(this.requestStylesheet.xslDom));</span>
+<span class="comment">
+
+  //prepare the stylesheet</span>
+  var httpPayload = new Object();
+  httpPayload.method = <span class="reserved">this</span>.targetModel.method;
+  <span class="reserved">this</span>.requestStylesheet.setParameter(<span class="literal">"httpMethod"</span>, httpPayload.method );
+  <span class="reserved">this</span>.requestStylesheet.setParameter(<span class="literal">"version"</span>, <span class="reserved">this</span>.model.getVersion(feature) );
+  <span class="reserved">if</span> (<span class="reserved">this</span>.requestFilter) {
+    var filter = config.objects[<span class="reserved">this</span>.requestFilter];
+    <span class="reserved">this</span>.requestStylesheet.setParameter(<span class="literal">"filter"</span>, escape((new XMLSerializer()).serializeToString(filter.doc).replace(/[\n\f\r\t]/g,<span class="literal">''</span>) ));
+    <span class="reserved">if</span> (<span class="reserved">this</span>.debug) mbDebugMessage(<span class="reserved">this</span>, (new XMLSerializer()).serializeToString(filter.doc));
+  }
+<span class="comment">
+  //process the doc with the stylesheet</span>
+  httpPayload.postData = <span class="reserved">this</span>.requestStylesheet.transformNodeToObject(feature);
+  <span class="reserved">if</span> (<span class="reserved">this</span>.debug) {
+    mbDebugMessage(<span class="reserved">this</span>, <span class="literal">"request data:"</span>+(new XMLSerializer()).serializeToString(httpPayload.postData));
+    <span class="reserved">if</span> (config.serializeUrl) var response = postLoad(config.serializeUrl, httpPayload.postData);
+  }
+
+  httpPayload.url = <span class="reserved">this</span>.model.getServerUrl(<span class="reserved">this</span>.requestName, httpPayload.method, feature);
+<span class="comment">
+  //extract the URL from the transformation result for GET method</span>
+  <span class="reserved">if</span> (httpPayload.method.toLowerCase() == <span class="literal">"get"</span>) {
+    httpPayload.postData.setProperty(<span class="literal">"SelectionLanguage"</span>, <span class="literal">"XPath"</span>);
+    Sarissa.setXpathNamespaces(httpPayload.postData, <span class="literal">"xmlns:mb='http://mapbuilder.sourceforge.net/mapbuilder'"</span>);
+    var queryString = httpPayload.postData.selectSingleNode(<span class="literal">"//mb:QueryString"</span>);
+    <span class="reserved">if</span> (httpPayload.url.indexOf(<span class="literal">"?"</span>) &lt; 0) {
+      httpPayload.url += <span class="literal">"?"</span>;
+    } <span class="reserved">else</span> {
+      httpPayload.url += <span class="literal">"&amp;"</span>;
+    }
+    httpPayload.url += getNodeValue(queryString);
+    httpPayload.postData = null;
+  }
+  mbDebugMessage(<span class="reserved">this</span>, <span class="literal">"URL:"</span>+httpPayload.url);
+  <span class="reserved">return</span> httpPayload;
+}
+
+
+<span class="comment">/**
+ * Listener function which will actually issue the request.  This method
+ * will prepare the HTTP payload for a particular featureName.
+ * <span class="attrib">@param</span> requestName the name of the web service operation to execute
+ * <span class="attrib">@param</span> featureNodeId the id of the node in the doc to be processed by the stylesheet
+ */</span>
+WebServiceRequest.<span class="reserved">prototype</span>.doRequest = <span class="reserved">function</span>(objRef, featureName) {
+  objRef.targetModel.featureName = featureName;
+
+  var feature = objRef.model.getFeatureNode(featureName);
+  <span class="reserved">if</span> (!feature) {
+    alert(mbGetMessage(<span class="literal">"featureNotFoundWebServiceRequest"</span>, featureName));
+    <span class="reserved">return</span>;
+  }
+  <span class="reserved">if</span> (objRef.model.setRequestParameters) objRef.model.setRequestParameters(featureName, objRef.requestStylesheet);
+  var httpPayload = objRef.createHttpPayload(feature);
+  objRef.targetModel.newRequest(objRef.targetModel,httpPayload);
+}
+
+WebServiceRequest.<span class="reserved">prototype</span>.setAoiParameters = <span class="reserved">function</span>(objRef) {
+<span class="comment">  //TBD: this depends on the targetModel having a containerModel to extract the AOI from.</span>
+<span class="comment">  //we probably need a config property to point to the AOI model to handle this properly.</span>
+  <span class="reserved">if</span> (objRef.containerModel) {
+    var featureSRS = null;
+    var containerSRS = <span class="literal">"EPSG:4326"</span>;
+    var bbox = objRef.containerModel.getBoundingBox();
+<span class="comment">/*
+TBD: figure out when to use AOI or BBOX
+    var aoi = objRef.containerModel.getParam("aoi");
+    if (aoi) {
+      bbox[0] = aoi[0][0];
+      bbox[1] = aoi[1][1];
+      bbox[2] = aoi[1][0];
+      bbox[3] = aoi[0][1];
+    }
+*/</span>
+    var containerSRS = objRef.containerModel.getSRS();
+<span class="comment">/*
+    //convert the BBOX to the feature SRS for the request
+    if (featureSRS) {
+      var sourceProj = new Proj4js.Proj(getNodeValue(featureSRS));
+      if ( !sourceProj.matchSrs( containerSRS )) {  
+        var containerProj = new Proj4js.Proj(objRef.containerModel.getSRS());
+        var llTemp = containerProj.Inverse(new Array(bbox[0],bbox[1]));
+        var xy = sourceProj.Forward(llTemp);
+        bbox[0] = xy[0]; bbox[1] = xy[1];
+        llTemp = containerProj.Inverse(new Array(bbox[2],bbox[3]));
+        xy = sourceProj.Forward(llTemp);
+        bbox[2] = xy[0]; bbox[3] = xy[1];
+      }
+    }
+*/</span>
+    objRef.requestStylesheet.setParameter(<span class="literal">"bBoxMinX"</span>, bbox[0]);
+    objRef.requestStylesheet.setParameter(<span class="literal">"bBoxMinY"</span>, bbox[1]);
+    objRef.requestStylesheet.setParameter(<span class="literal">"bBoxMaxX"</span>, bbox[2]);
+    objRef.requestStylesheet.setParameter(<span class="literal">"bBoxMaxY"</span>, bbox[3]);
+    objRef.requestStylesheet.setParameter(<span class="literal">"srs"</span>, containerSRS );
+    objRef.requestStylesheet.setParameter(<span class="literal">"width"</span>, objRef.containerModel.getWindowWidth() );
+    objRef.requestStylesheet.setParameter(<span class="literal">"height"</span>, objRef.containerModel.getWindowHeight() );
+  }
+}
+
+WebServiceRequest.<span class="reserved">prototype</span>.init = <span class="reserved">function</span>(objRef) {
+  <span class="reserved">if</span> (objRef.targetModel.containerModel) {
+    objRef.containerModel = objRef.targetModel.containerModel;
+  } <span class="reserved">else</span> <span class="reserved">if</span> (objRef.model.containerModel) {
+    objRef.containerModel = objRef.model.containerModel;
+  }
+  <span class="reserved">if</span> (objRef.containerModel) {
+    objRef.containerModel.addListener(<span class="literal">"aoi"</span>, objRef.setAoiParameters, objRef);
+    objRef.containerModel.addListener(<span class="literal">"bbox"</span>, objRef.setAoiParameters, objRef);
+    objRef.containerModel.addListener(<span class="literal">"selectedLayer"</span>, objRef.selectFeature, objRef);
+    objRef.containerModel.addListener(<span class="literal">"loadModel"</span>, objRef.mapInit, objRef);
+    objRef.containerModel.addListener(<span class="literal">"newModel"</span>, objRef.clear, objRef);
+  }
+}
+
+<span class="comment">/**
+ * set map events needed for this tool
+ * <span class="attrib">@param</span> objRef reference to this tool
+ */</span>
+WebServiceRequest.<span class="reserved">prototype</span>.mapInit = <span class="reserved">function</span>(objRef) {
+<span class="comment">  // register OpenLayers event to do updates onmouseup</span>
+  objRef.containerModel.map.events.registerPriority(<span class="literal">'mouseup'</span>, objRef, objRef.setClickPosition);  
+}
+
+<span class="comment">/**
+ * remove map events for this tool
+ * <span class="attrib">@param</span> objRef reference to this tool
+ */</span>
+WebServiceRequest.<span class="reserved">prototype</span>.clear = <span class="reserved">function</span>(objRef) {
+  <span class="reserved">if</span> (objRef.containerModel.map &amp;&amp; objRef.containerModel.map.events) {
+    objRef.containerModel.map.events.unregister(<span class="literal">'mouseup'</span>, objRef, objRef.setClickPosition);  
+  }
+}
+
+<span class="comment">/**
+ * Listener function that will clear the templates and set the mouse
+ * positions when the user clicks on the map.
+ * <span class="attrib">@param</span> e OpenLayers event
+ */</span>
+WebServiceRequest.<span class="reserved">prototype</span>.setClickPosition = <span class="reserved">function</span>(e) {
+  <span class="reserved">this</span>.targetModel.deleteTemplates();
+  <span class="reserved">this</span>.requestStylesheet.setParameter(<span class="literal">"xCoord"</span>, e.xy.x);
+  <span class="reserved">this</span>.requestStylesheet.setParameter(<span class="literal">"yCoord"</span>, e.xy.y);
+}
+
+<span class="comment">/**
+ * Listener function which will actually issue the request.  This method
+ * will prepare the HTTP payload for a particular featureName.
+ * <span class="attrib">@param</span> requestName the name of the web service operation to execute
+ * <span class="attrib">@param</span> featureNodeId the id of the node in the doc to be processed by the stylesheet
+ */</span>
+WebServiceRequest.<span class="reserved">prototype</span>.selectFeature = <span class="reserved">function</span>(objRef, featureName) {
+  objRef.requestStylesheet.setParameter(<span class="literal">"queryLayer"</span>, featureName);
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-ToolBase.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-ToolBase.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-ToolBase.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ ToolBase.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" ToolBase.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-ToolBase.js.html" 
+                                        target="classFrame">ToolBase.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ToolBase.html" TARGET="classFrame">ToolBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Util.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Util.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Util.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Util.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Util.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Util.js.html" 
+                                        target="classFrame">Util.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="XslProcessor.html" TARGET="classFrame">XslProcessor</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-DeleteFeature.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-DeleteFeature.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-DeleteFeature.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ DeleteFeature.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" DeleteFeature.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-DeleteFeature.js.html" 
+                                        target="classFrame">DeleteFeature.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="DeleteFeature.html" TARGET="classFrame">DeleteFeature</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-FormBase.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-FormBase.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-FormBase.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ FormBase.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" FormBase.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-FormBase.js.html" 
+                                        target="classFrame">FormBase.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="FormBase.html" TARGET="classFrame">FormBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-TransactionResponse.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-TransactionResponse.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-TransactionResponse.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TransactionResponse.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TransactionResponse.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TransactionResponse.js.html" 
+                                        target="classFrame">TransactionResponse.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TransactionResponse.html" TARGET="classFrame">TransactionResponse</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ToolBase.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ToolBase.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ToolBase.js.html	(revision 4307)
@@ -0,0 +1,244 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="ToolBase.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>ToolBase.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'ToolBase.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="ToolBase.html">ToolBase</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: ToolBase.js 3881 2008-02-27 15:41:07Z gjvoosten $
+*/</span>
+
+<span class="comment">/**
+ * Base Tool object that all Tools extend.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@author</span> Mike Adair mike.adairATccrs.nrcan.gc.ca
+ * <span class="attrib">@param</span> toolNode The tool node from the Config XML file.
+ * <span class="attrib">@param</span> model    The widget object which created this tool.
+ */</span>
+<span class="reserved">function</span> ToolBase(toolNode, model) {
+  <span class="reserved">this</span>.model = model;
+  <span class="reserved">this</span>.toolNode = toolNode;
+<span class="comment">
+  //set the ID for this tool</span>
+  var id = toolNode.selectSingleNode(<span class="literal">"@id"</span>);
+  <span class="reserved">if</span> (id) {
+    <span class="reserved">this</span>.id = getNodeValue(id);
+  } <span class="reserved">else</span> {
+    <span class="reserved">this</span>.id = <span class="literal">"MbTool_"</span> + mbIds.getId();
+  }
+
+  <span class="comment">/**
+   * Initialize the targetModel property to point to the object.  This happens
+   * as an init listener to ensure that the referenced model has been created.
+   * <span class="attrib">@param</span> toolRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.initTargetModel = <span class="reserved">function</span>(toolRef) {
+    <span class="comment">/** The model this tool will update. */</span>
+    var targetModel = toolRef.toolNode.selectSingleNode(<span class="literal">"mb:targetModel"</span>);
+    <span class="reserved">if</span> (targetModel) {
+      var targetModelName = getNodeValue(targetModel);
+<span class="comment">      //toolRef.targetModel = eval("config.objects."+targetModelName);</span>
+      toolRef.targetModel = window.config.objects[targetModelName];
+      <span class="reserved">if</span> (!toolRef.targetModel) alert(mbGetMessage(<span class="literal">"noTargetModelTool"</span>, targetModelName, toolRef.id));
+    } <span class="reserved">else</span> {
+      toolRef.targetModel = toolRef.model;
+    }
+  }
+  <span class="reserved">this</span>.model.addListener( <span class="literal">"init"</span>, <span class="reserved">this</span>.initTargetModel, <span class="reserved">this</span> );
+
+  <span class="comment">/**
+   * Initialize the mouseHandler property to point to the object.  This happens
+   * as an init listener to ensure that the referenced model has been created.
+   * <span class="attrib">@param</span> toolRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.initMouseHandler = <span class="reserved">function</span>(toolRef) {
+    <span class="comment">/** Mouse handler which this tool will register listeners with. */</span>
+    var mouseHandler = toolRef.toolNode.selectSingleNode(<span class="literal">"mb:mouseHandler"</span>);
+    <span class="reserved">if</span> (mouseHandler) {
+      toolRef.mouseHandler = window.config.objects[getNodeValue(mouseHandler)];
+      <span class="reserved">if</span> (!toolRef.mouseHandler) {
+        alert(mbGetMessage(<span class="literal">"noMouseHandlerTool"</span>, getNodeValue(mouseHandler), toolRef.id));
+      }
+    }
+  }
+  <span class="reserved">this</span>.model.addListener( <span class="literal">"init"</span>, <span class="reserved">this</span>.initMouseHandler, <span class="reserved">this</span> );
+
+  <span class="comment">/**
+   * Convenient access to Mapbuilder.getProperty
+   * <span class="attrib">@param</span> property property to get
+   * <span class="attrib">@param</span> default value to use if property is not set
+   * <span class="attrib">@return</span> the value for the property
+   */</span>
+  <span class="reserved">this</span>.getProperty = <span class="reserved">function</span>(property, defaultValue) {
+    <span class="reserved">return</span> Mapbuilder.getProperty(toolNode, property, defaultValue);
+  }
+<span class="comment">
+  //tools enabled by default; can set to false in config for initial loading</span>
+  <span class="reserved">this</span>.enabled = Mapbuilder.parseBoolean(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:enabled"</span>, true));
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/OpenLSForm.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/OpenLSForm.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/OpenLSForm.html	(revision 4307)
@@ -0,0 +1,478 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+OpenLSForm
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="OpenLSForm";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-OpenLSForm.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="MovieLoop.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="OpenLSResponse.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="OpenLSForm.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class OpenLSForm</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>OpenLSForm</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>OpenLSForm</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-OpenLSForm.js.html'>OpenLSForm.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#defaultModelUrl">defaultModelUrl</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#formName">formName</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#geocodeServerUrl">geocodeServerUrl</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#xsl">xsl</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="OpenLSForm.html#OpenLSForm()">OpenLSForm</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to display the OpenLS request form
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#submitForm">submitForm</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 handles the submission of the form
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="defaultModelUrl"><!-- --></A>
+   <H3>defaultModelUrl</H3>
+   <PRE>Object&nbsp;<B>defaultModelUrl</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="formName"><!-- --></A>
+   <H3>formName</H3>
+   <PRE>Object&nbsp;<B>formName</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="geocodeServerUrl"><!-- --></A>
+   <H3>geocodeServerUrl</H3>
+   <PRE>Object&nbsp;<B>geocodeServerUrl</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="xsl"><!-- --></A>
+   <H3>xsl</H3>
+   <PRE>Object&nbsp;<B>xsl</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="OpenLSForm()"><!-- --></A><H3>
+OpenLSForm</H3>
+<PRE><B>OpenLSForm</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to display the OpenLS request form
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  This widget's object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model that this widget is a view of.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="submitForm"><!-- --></A>
+   <H3>submitForm</H3>
+   <PRE>void <B>submitForm</B>(objRef)</PRE>
+   
+      <UL>handles the submission of the form</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-OpenLSForm.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="MovieLoop.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="OpenLSResponse.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="OpenLSForm.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ServiceRegistryList.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ServiceRegistryList.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ServiceRegistryList.js.html	(revision 4307)
@@ -0,0 +1,227 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="ServiceRegistryList.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>ServiceRegistryList.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'ServiceRegistryList.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="ServiceRegistryList.html">ServiceRegistryList</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: ServiceRegistryList.js 3091 2007-08-09 12:21:54Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Widget to display a list of web services from a registry.
+ * TBD: not compelted yet.
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode This widget's object node from the configuration document.
+ * <span class="attrib">@param</span> model The model that this widget is a view of.
+ */</span>
+
+<span class="reserved">function</span> ServiceRegistryList(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+
+  <span class="comment">/**
+   * Handles submission of the form (via javascript in an &lt;a&gt; tag)
+   */</span>
+  <span class="reserved">this</span>.submitForm = <span class="reserved">function</span>() {
+    alert(<span class="literal">"submitForm"</span>);
+<span class="comment">
+    //create the http GET URL</span>
+<span class="comment">    //TBD: handle POST submission</span>
+<span class="comment">    //TBD: create filter request</span>
+    var webServiceUrl = <span class="reserved">this</span>.webServiceForm.action + <span class="literal">"?"</span>;
+    <span class="reserved">for</span> (var i=0; i&lt;<span class="reserved">this</span>.webServiceForm.elements.length; ++i) {
+      var element = <span class="reserved">this</span>.webServiceForm.elements[i];
+      webServiceUrl += element.name + <span class="literal">"="</span> + element.value + <span class="literal">"&amp;"</span>;
+    }
+    alert(webServiceUrl);
+    config.loadModel( <span class="reserved">this</span>.targetModel.id, webServiceUrl);
+  }
+
+  <span class="comment">/**
+   * Refreshes the form onblur handlers when this widget is painted.
+   * <span class="attrib">@param</span> objRef Pointer to this CurorTrack object.
+   */</span>
+  <span class="reserved">this</span>.postPaint = <span class="reserved">function</span>(objRef) {
+    objRef.webServiceForm = document.getElementById(objRef.formName);
+<span class="comment">    //objRef.WebServiceForm.onsubmit = objRef.submitForm;</span>
+<span class="comment">    //objRef.WebServiceForm.mapsheet.onblur = objRef.setMapsheet;</span>
+  }
+<span class="comment">
+  //set some properties for the form output</span>
+  <span class="reserved">this</span>.formName = <span class="literal">"WebServiceForm_"</span>;// + mbIds.getId();
+  <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"formName"</span>, <span class="reserved">this</span>.formName);
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/FeatureList.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/FeatureList.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/FeatureList.html	(revision 4307)
@@ -0,0 +1,406 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+FeatureList
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="FeatureList";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-FeatureList.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="FeatureInfo.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="FeatureSelectHandler.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FeatureList.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class FeatureList</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>FeatureList</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>FeatureList</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-FeatureList.js.html'>FeatureList.js</a></I><BR/><BR/><B>Author:</B> Cameron Shorter  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="FeatureList.html#FeatureList()">FeatureList</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Functions to render and update a FeatureList from GML.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setAttr">setAttr</A></B>(objRef,xpath,value)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set the value of an attribute from the FeatureList.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="FeatureList()"><!-- --></A><H3>
+FeatureList</H3>
+<PRE><B>FeatureList</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Functions to render and update a FeatureList from GML.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Cameron Shorter  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="setAttr"><!-- --></A>
+   <H3>setAttr</H3>
+   <PRE>void <B>setAttr</B>(objRef,xpath,value)</PRE>
+   
+      <UL>Set the value of an attribute from the FeatureList.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Reference to this object.  
+      </UL> 
+   
+     <UL><CODE>xpath</CODE> -  Xpath reference to the attribute in the GML.  
+      </UL> 
+   
+     <UL><CODE>value</CODE> -  New attribute value.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-FeatureList.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="FeatureInfo.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="FeatureSelectHandler.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FeatureList.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/AoiForm.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/AoiForm.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/AoiForm.html	(revision 4307)
@@ -0,0 +1,518 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+AoiForm
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="AoiForm";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-AoiForm.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="AoiBoxOL.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Back.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AoiForm.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class AoiForm</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>AoiForm</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>AoiForm</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-AoiForm.js.html'>AoiForm.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#formName">formName</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="AoiForm.html#AoiForm()">AoiForm</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to display the AOI box coordinates in a form.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#displayAoiCoords">displayAoiCoords</A></B>(objRef, targetNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Output the AOI coordinates to the associated form input elements.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#postPaint">postPaint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Refreshes the form onblur handlers when this widget is painted.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setAoi">setAoi</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Handles user input from the form element.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="formName"><!-- --></A>
+   <H3>formName</H3>
+   <PRE>Object&nbsp;<B>formName</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="AoiForm()"><!-- --></A><H3>
+AoiForm</H3>
+<PRE><B>AoiForm</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to display the AOI box coordinates in a form.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  This widget's object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model that this widget is a view of.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="displayAoiCoords"><!-- --></A>
+   <H3>displayAoiCoords</H3>
+   <PRE>void <B>displayAoiCoords</B>(objRef, targetNode)</PRE>
+   
+      <UL>Output the AOI coordinates to the associated form input elements.  This
+ method is registered as an AOI listener on the context doc.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this AoiForm object.  
+      </UL> 
+   
+     <UL><CODE>targetNode</CODE> -  The node for the enclosing HTML tag for this widget.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="postPaint"><!-- --></A>
+   <H3>postPaint</H3>
+   <PRE>void <B>postPaint</B>(objRef)</PRE>
+   
+      <UL>Refreshes the form onblur handlers when this widget is painted.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this AoiForm object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setAoi"><!-- --></A>
+   <H3>setAoi</H3>
+   <PRE>void <B>setAoi</B>()</PRE>
+   
+      <UL>Handles user input from the form element.  This is an onblur handler for 
+ the input elements.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-AoiForm.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="AoiBoxOL.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Back.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AoiForm.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-WmsCapabilities.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-WmsCapabilities.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-WmsCapabilities.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ WmsCapabilities.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" WmsCapabilities.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-WmsCapabilities.js.html" 
+                                        target="classFrame">WmsCapabilities.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WmsCapabilities.html" TARGET="classFrame">WmsCapabilities</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/ButtonBase.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/ButtonBase.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/ButtonBase.html	(revision 4307)
@@ -0,0 +1,847 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ButtonBase
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="ButtonBase";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ButtonBase.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Button.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Caps2Context.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ButtonBase.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class ButtonBase</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<b>ButtonBase</b>
+</PRE>
+
+   <DL>
+   <DT>
+      <B>Direct Known Subclasses:</B> 
+      <DD>
+                <a href="WfsGetFeature.html">WfsGetFeature</a>, <a href="ZoomOut.html">ZoomOut</a>, <a href="GetFeatureInfoWSR.html">GetFeatureInfoWSR</a>, <a href="InsertFeature.html">InsertFeature</a>, <a href="Graticule.html">Graticule</a>, <a href="DragPan.html">DragPan</a>, <a href="Reset.html">Reset</a>, <a href="GetFeatureInfo.html">GetFeatureInfo</a>, <a href="Forward.html">Forward</a>, <a href="ZoomIn.html">ZoomIn</a>, <a href="EditButtonBase.html">EditButtonBase</a>, <a href="DeleteFeature.html">DeleteFeature</a>, <a href="SetAoi.html">SetAoi</a>, <a href="Button.html">Button</a>, <a href="Save.html">Save</a>, <a href="Back.html">Back</a>
+      </DD>
+   </DL>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>ButtonBase</B>
+   
+      <DT>extends <a href='WidgetBase.html'>WidgetBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-ButtonBase.js.html'>ButtonBase.js</a></I><BR/><BR/><B>Author:</B> Mike Adair mike.adairATccrs.nrcan.gc.ca  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#action">action</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#active">active</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#buttonType">buttonType</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#control">control</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OpenLayers control for this button.</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#cursor">cursor</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#div">div</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#htmlTagId">htmlTagId</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#objRef">objRef</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#olButtonType">olButtonType</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#panel_div">panel_div</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#panelHtmlTagId">panelHtmlTagId</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#selected">selected</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#superclass">superclass</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="ButtonBase.html#ButtonBase()">ButtonBase</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Abstract base button object that all Buttons extend.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#attachToOL">attachToOL</A></B>(objRef,refreshId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Attaches the control for this button to OpenLayers
+ and add it to the buttonBar.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#buttonInit">buttonInit</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set the target context for the button, initialise the
+ buttonBars array in the context document and add a
+ listener to the target model for adding controls
+ to the OL map as soon as the map is initialized.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#doAction">doAction</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Override this in buttons which inherit from this object to carry out the action.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#doSelect">doSelect</A></B>(objRef, selected)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method overriden by subclasses
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getButtonClass">getButtonClass</A></B>(objRef, state)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Gets the css classname for this button.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#select">select</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Select this button.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="action"><!-- --></A>
+   <H3>action</H3>
+   <PRE>Object&nbsp;<B>action</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="active"><!-- --></A>
+   <H3>active</H3>
+   <PRE>Object&nbsp;<B>active</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="buttonType"><!-- --></A>
+   <H3>buttonType</H3>
+   <PRE>Object&nbsp;<B>buttonType</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="control"><!-- --></A>
+   <H3>control</H3>
+   <PRE>Object&nbsp;<B>control</B></PRE>
+   <UL>
+   OpenLayers control for this button.
+ This will be filled with the instance of the control
+ by the attachToOL method.
+   
+   </UL>
+   <HR>
+   
+   <A NAME="cursor"><!-- --></A>
+   <H3>cursor</H3>
+   <PRE>Object&nbsp;<B>cursor</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="div"><!-- --></A>
+   <H3>div</H3>
+   <PRE>Object&nbsp;<B>div</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="htmlTagId"><!-- --></A>
+   <H3>htmlTagId</H3>
+   <PRE>Object&nbsp;<B>htmlTagId</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="objRef"><!-- --></A>
+   <H3>objRef</H3>
+   <PRE>Object&nbsp;<B>objRef</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="olButtonType"><!-- --></A>
+   <H3>olButtonType</H3>
+   <PRE>Object&nbsp;<B>olButtonType</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="panel_div"><!-- --></A>
+   <H3>panel_div</H3>
+   <PRE>Object&nbsp;<B>panel_div</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="panelHtmlTagId"><!-- --></A>
+   <H3>panelHtmlTagId</H3>
+   <PRE>Object&nbsp;<B>panelHtmlTagId</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="selected"><!-- --></A>
+   <H3>selected</H3>
+   <PRE>Object&nbsp;<B>selected</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="superclass"><!-- --></A>
+   <H3>superclass</H3>
+   <PRE>Object&nbsp;<B>superclass</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="ButtonBase()"><!-- --></A><H3>
+ButtonBase</H3>
+<PRE><B>ButtonBase</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Abstract base button object that all Buttons extend.  
+ A Button is a widget which renders an image and an optional second image 
+ for the enabled state.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  The tool node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The parent model object (optional).
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Mike Adair mike.adairATccrs.nrcan.gc.ca  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="attachToOL"><!-- --></A>
+   <H3>attachToOL</H3>
+   <PRE>void <B>attachToOL</B>(objRef,refreshId)</PRE>
+   
+      <UL>Attaches the control for this button to OpenLayers
+ and add it to the buttonBar. When this method is called,
+ everything of the OL map is available.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Reference to this object.      
+      </UL> 
+   
+     <UL><CODE>control</CODE> -  to add.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="buttonInit"><!-- --></A>
+   <H3>buttonInit</H3>
+   <PRE>void <B>buttonInit</B>(objRef)</PRE>
+   
+      <UL>Set the target context for the button, initialise the
+ buttonBars array in the context document and add a
+ listener to the target model for adding controls
+ to the OL map as soon as the map is initialized.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Reference to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="doAction"><!-- --></A>
+   <H3>doAction</H3>
+   <PRE>void <B>doAction</B>()</PRE>
+   
+      <UL>Override this in buttons which inherit from this object to carry out the action.
+ This is the function that will be called either when the button is selected
+ via the select() method or on a mouseup event if there is an associated 
+ mouseHandler property in config.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="doSelect"><!-- --></A>
+   <H3>doSelect</H3>
+   <PRE>void <B>doSelect</B>(objRef, selected)</PRE>
+   
+      <UL>Method overriden by subclasses</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Reference to this object.  
+      </UL> 
+   
+     <UL><CODE>selected</CODE> -  True when selected, false when deselected.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getButtonClass"><!-- --></A>
+   <H3>getButtonClass</H3>
+   <PRE>Object <B>getButtonClass</B>(objRef, state)</PRE>
+   
+      <UL>Gets the css classname for this button. We use this
+ to define the button styles.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Reference to this object.  
+      </UL> 
+   
+     <UL><CODE>state</CODE> -  'Active' or 'Inactive' (case sensitive!)
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="select"><!-- --></A>
+   <H3>select</H3>
+   <PRE>void <B>select</B>()</PRE>
+   
+      <UL>Select this button. Enables and disables associated tools,
+ then the control.trigger()/activate() methods make OL call
+ the doSelect method defined in derived classes.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ButtonBase.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Button.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Caps2Context.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ButtonBase.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MergeModels.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MergeModels.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MergeModels.js.html	(revision 4307)
@@ -0,0 +1,252 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="MergeModels.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>MergeModels.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'MergeModels.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="MergeModels.html">MergeModels</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: MergeModels.js 3881 2008-02-27 15:41:07Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/tool/ToolBase.js"</span>);
+
+<span class="comment">/**
+ * Model that allows to merge multiple models into one. The first model
+ * determines the root node, other models are appended within the same
+ * root node.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ToolBase
+ * <span class="attrib">@author</span> Andreas Hocevar andreas.hocevarATgmail.com
+ * <span class="attrib">@param</span> modelNode The model's XML object node from the configuration document
+ * <span class="attrib">@param</span> model model this tool belongs to.
+ */</span>
+<span class="reserved">function</span> MergeModels(toolNode, model) {
+<span class="comment">  // Inherit the ModelBase functions and parameters</span>
+  ToolBase.apply(<span class="reserved">this</span>, new Array(toolNode, model));
+  
+  <span class="reserved">this</span>.template = null;
+
+  <span class="reserved">this</span>.init = <span class="reserved">function</span>(objRef) {
+    objRef.model.mergeModels = new Array();
+    var models = toolNode.selectSingleNode(<span class="literal">'mb:merges'</span>);
+    <span class="reserved">if</span> (models) {
+      var model = models.childNodes;
+      <span class="reserved">for</span> (var i = 0; i &lt; model.length; i++) {
+        <span class="reserved">if</span> (model[i].firstChild) {
+          objRef.addModel(objRef, config.objects[getNodeValue(model[i])]);
+        }
+      }
+    }
+  }
+<span class="comment">  // it is important to be registered before other tools that</span>
+<span class="comment">  // check for model.mergeModels</span>
+  model.addListener(<span class="literal">'init'</span>, <span class="reserved">this</span>.init, <span class="reserved">this</span>);
+  
+  <span class="reserved">this</span>.getTemplate = <span class="reserved">function</span>(objRef) {
+    objRef.template = objRef.model.doc ? objRef.model.doc.cloneNode(true) : null;
+    <span class="reserved">if</span> (objRef.template) {
+      objRef.model.removeListener(<span class="literal">'loadModel'</span>, objRef.getTemplate, objRef);
+      objRef.buildModel(objRef);
+    }
+  }
+  model.addListener(<span class="literal">'loadModel'</span>, <span class="reserved">this</span>.getTemplate, <span class="reserved">this</span>);
+
+  <span class="reserved">this</span>.addModel = <span class="reserved">function</span>(objRef, model) {
+    objRef.model.mergeModels.push(model);
+    <span class="reserved">if</span> (model.doc) {
+      objRef.mergeModel(objRef, model.doc);
+    }
+    model.addListener(<span class="literal">'refresh'</span>, objRef.buildModel, objRef);
+  }
+  
+  <span class="reserved">this</span>.mergeModel = <span class="reserved">function</span>(objRef, modelToMerge) {
+    var docToMerge = modelToMerge.doc ? modelToMerge.doc.cloneNode(true) : null;
+    var nodes = docToMerge ? docToMerge.selectNodes(<span class="literal">'//*[@fid]'</span>) : null;
+    <span class="reserved">if</span> (!nodes) <span class="reserved">return</span>;
+    var node;
+    <span class="reserved">for</span> (var i=0; i&lt;nodes.length; i++) {
+      node = nodes[i];
+      <span class="reserved">if</span> (node.nodeName) {
+        node.setAttribute(<span class="literal">'sourceModel'</span>, modelToMerge.id);
+      }
+    }    
+    Sarissa.copyChildNodes(docToMerge.documentElement, objRef.model.doc.documentElement, true);
+  }
+  
+  <span class="reserved">this</span>.buildModel = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">if</span> (!objRef.template) <span class="reserved">return</span>;
+    objRef.model.callListeners(<span class="literal">'newModel'</span>);
+    objRef.model.doc = objRef.template.cloneNode(true);
+    <span class="reserved">for</span> (var i=0; i&lt;objRef.model.mergeModels.length; i++) {
+      objRef.mergeModel(objRef, objRef.model.mergeModels[i]);
+    }
+    objRef.model.callListeners(<span class="literal">'loadModel'</span>);
+  }
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Back.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Back.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Back.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Back.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Back.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Back.js.html" 
+                                        target="classFrame">Back.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Back.html" TARGET="classFrame">Back</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Timestamp.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Timestamp.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Timestamp.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Timestamp.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Timestamp.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Timestamp.js.html" 
+                                        target="classFrame">Timestamp.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Timestamp.html" TARGET="classFrame">Timestamp</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Reset.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Reset.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Reset.js.html	(revision 4307)
@@ -0,0 +1,198 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Reset.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Reset.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Reset.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Reset.html">Reset</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Reset.js 2956 2007-07-09 12:17:52Z steven $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/ButtonBase.js"</span>);
+mapbuilder.loadScript(baseDir+<span class="literal">"/util/openlayers/OpenLayers.js"</span>);
+
+<span class="comment">/**
+ * Reset button - resets the map to full extent.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ButtonBase
+ * <span class="attrib">@author</span> Andreas Hocevar andreas.hocevarATgmail.com
+ * <span class="attrib">@param</span> widgetNode The widget node from the Config XML file.
+ * <span class="attrib">@param</span> model The model for this widget
+ */</span>
+<span class="reserved">function</span> Reset(widgetNode, model) {
+
+  <span class="reserved">this</span>.createControl = <span class="reserved">function</span>() {
+  	<span class="reserved">return</span> OpenLayers.Control.ZoomToMaxExtent;
+  }
+<span class="comment">  
+  // Extend ButtonBase</span>
+  ButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/ModelStatus.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/ModelStatus.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/ModelStatus.html	(revision 4307)
@@ -0,0 +1,399 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ModelStatus
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="ModelStatus";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ModelStatus.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="ModelBase.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ModelUrlInput.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ModelStatus.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class ModelStatus</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>ModelStatus</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>ModelStatus</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-ModelStatus.js.html'>ModelStatus.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="ModelStatus.html#ModelStatus()">ModelStatus</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to display the status of a model, repainted whenever the model status
+ param is set.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#prePaint">prePaint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 initializes stylesheet parameters for the widget
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="ModelStatus()"><!-- --></A><H3>
+ModelStatus</H3>
+<PRE><B>ModelStatus</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to display the status of a model, repainted whenever the model status
+ param is set.
+ TBD: not yet completed
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   This widget's object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model that this widget is a view of.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="prePaint"><!-- --></A>
+   <H3>prePaint</H3>
+   <PRE>void <B>prePaint</B>(objRef)</PRE>
+   
+      <UL>initializes stylesheet parameters for the widget</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this widget object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ModelStatus.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="ModelBase.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ModelUrlInput.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ModelStatus.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/OWSCatSearchForm.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/OWSCatSearchForm.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/OWSCatSearchForm.html	(revision 4307)
@@ -0,0 +1,677 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+OWSCatSearchForm
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="OWSCatSearchForm";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-CatSearchForm.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="OwsCatResources.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="OwsContext.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="OWSCatSearchForm.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class OWSCatSearchForm</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>OWSCatSearchForm</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>OWSCatSearchForm</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-CatSearchForm.js.html'>CatSearchForm.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#formName">formName</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="OWSCatSearchForm.html#OWSCatSearchForm()">OWSCatSearchForm</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to display a form for input of parameters to generate a web service 
+ request.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#displayAoiCoords">displayAoiCoords</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Output the AOI coordinates to the associated form input elements.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#handleKeyPress">handleKeyPress</A></B>(event)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 handles keypress events to filter out everything except "enter".
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#openRucWindow">openRucWindow</A></B>( rucType )
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#postPaint">postPaint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Refreshes the form onblur handlers when this widget is painted.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setAoi">setAoi</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Handles user input from the form element.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setLocation">setLocation</A></B>(bbox)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Change the AOI coordinates from select box choice of prefined locations
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#submitForm">submitForm</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Handles submission of the form (via javascript in an <a> tag)
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="formName"><!-- --></A>
+   <H3>formName</H3>
+   <PRE>Object&nbsp;<B>formName</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="OWSCatSearchForm()"><!-- --></A><H3>
+OWSCatSearchForm</H3>
+<PRE><B>OWSCatSearchForm</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to display a form for input of parameters to generate a web service 
+ request.  This JS object handles the form submit via HTTP Get by appending 
+ a query string to the form's action URL.  The query string is created from
+ all input elements and their values.
+ The target model is then loaded from the URL created.
+ A stylehseet must be specified as a property in config for this widget.  
+ See widget/NtsForm.xsl for an example.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  This widget's object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model that this widget is a view of.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="displayAoiCoords"><!-- --></A>
+   <H3>displayAoiCoords</H3>
+   <PRE>void <B>displayAoiCoords</B>(objRef)</PRE>
+   
+      <UL>Output the AOI coordinates to the associated form input elements.  This
+ method is registered as an AOI listener on the context doc.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this searchForm object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="handleKeyPress"><!-- --></A>
+   <H3>handleKeyPress</H3>
+   <PRE>Object <B>handleKeyPress</B>(event)</PRE>
+   
+      <UL>handles keypress events to filter out everything except "enter".  
+ Pressing the "enter" key will trigger a form submit</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>event</CODE> -   the event object passed in for Mozilla; IE uses window.event
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="openRucWindow"><!-- --></A>
+   <H3>openRucWindow</H3>
+   <PRE>Object <B>openRucWindow</B>( rucType )</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="postPaint"><!-- --></A>
+   <H3>postPaint</H3>
+   <PRE>void <B>postPaint</B>(objRef)</PRE>
+   
+      <UL>Refreshes the form onblur handlers when this widget is painted.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this CurorTrack object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setAoi"><!-- --></A>
+   <H3>setAoi</H3>
+   <PRE>void <B>setAoi</B>()</PRE>
+   
+      <UL>Handles user input from the form element.  This is an onblur handler for 
+ the input elements.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setLocation"><!-- --></A>
+   <H3>setLocation</H3>
+   <PRE>void <B>setLocation</B>(bbox)</PRE>
+   
+      <UL>Change the AOI coordinates from select box choice of prefined locations</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>bbox</CODE> -  the bbox value of the location keyword chosen    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="submitForm"><!-- --></A>
+   <H3>submitForm</H3>
+   <PRE>Object <B>submitForm</B>()</PRE>
+   
+      <UL>Handles submission of the form (via javascript in an <a> tag)</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-CatSearchForm.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="OwsCatResources.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="OwsContext.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="OWSCatSearchForm.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-GetFeatureInfoWSR.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-GetFeatureInfoWSR.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-GetFeatureInfoWSR.js.html	(revision 4307)
@@ -0,0 +1,277 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="GetFeatureInfoWSR.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>GetFeatureInfoWSR.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'GetFeatureInfoWSR.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="GetFeatureInfoWSR.html">GetFeatureInfoWSR</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+Dependancies: Context
+$Id: GetFeatureInfoWSR.js 3887 2008-02-27 18:18:53Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/ButtonBase.js"</span>);
+<span class="comment">/**
+ * Implements GetFeatureInfo functionality, using the WebServiceRequest
+ * tool. This will work with the WMS:GetFeatureInfo request as well as
+ * with WFS:GetFeature. This widget can be used as an example on how to
+ * write widgets that use the WebServiceRequest functionality.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ButtonBase
+ * <span class="attrib">@author</span> adair
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@param</span> widgetNode The XML node in the Config file referencing this object.
+ * <span class="attrib">@param</span> model The widget object which this widget is associated with.
+ */</span>
+<span class="reserved">function</span> GetFeatureInfoWSR(widgetNode, model) {
+<span class="comment">  // Extend ButtonBase</span>
+  ButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+  
+  <span class="comment">/** WebServiceRequest controller for this widget */</span>
+  <span class="reserved">this</span>.controller = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:controller"</span>);
+  
+  <span class="comment">/**
+   * tolerance in pixels around the click point for WFS:GetFeature
+   * default is 3
+   */</span>
+  <span class="reserved">this</span>.tolerance = parseFloat(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:tolerance"</span>, 3));
+  
+  <span class="comment">/**
+   * GetFeatureInfoWSR control
+   * <span class="attrib">@param</span> objRef reference to this object.
+   * <span class="attrib">@return</span> {OpenLayers.Control} class of the OL control.
+   */</span>
+  <span class="reserved">this</span>.createControl = <span class="reserved">function</span>(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      CLASS_NAME: <span class="literal">'mbControl.GetFeatureInfoWSR'</span>,
+      type: OpenLayers.Control.TYPE_TOOL
+    });
+    <span class="reserved">return</span> Control;
+  }
+  
+  <span class="comment">/**
+   * Register click event when button is selected, unregister it when
+   * unselected
+   * <span class="attrib">@param</span> objRef reference to this widget
+   * <span class="attrib">@param</span> selected true if button is selected, false otherwise
+   */</span>
+  <span class="reserved">this</span>.doSelect = <span class="reserved">function</span>(objRef, selected) {
+    <span class="reserved">if</span> (selected) {
+      objRef.targetModel.map.events.register(<span class="literal">'click'</span>, objRef, objRef.doOnClick);  
+    } <span class="reserved">else</span> {
+      objRef.targetModel.map.events.unregister(<span class="literal">'click'</span>, objRef, objRef.doOnClick);  
+    }
+  }
+  
+  <span class="comment">/**
+   * For GetFeatureInfo, we want to check for queryable layers and only use
+   * those.
+   * <span class="attrib">@param</span> e OpenLayers click event
+   */</span>
+  <span class="reserved">this</span>.doOnClick = <span class="reserved">function</span>(e) {
+    objRef = <span class="reserved">this</span>;
+    <span class="reserved">if</span> (!objRef.enabled) <span class="reserved">return</span>;
+    var controller = config.objects[objRef.controller];
+    var layerNameList = new Array();
+    var selectedLayer=objRef.targetModel.getParam(<span class="literal">"selectedLayer"</span>);
+    var queryList;
+    <span class="reserved">if</span> (!selectedLayer) {
+      queryList = objRef.targetModel.getQueryableLayers();
+      <span class="reserved">if</span> (queryList.length==0) {
+         alert(mbGetMessage(<span class="literal">"noQueryableLayers"</span>));
+         <span class="reserved">return</span>;
+      }
+    } <span class="reserved">else</span> {
+      queryList = [objRef.targetModel.getLayer(selectedLayer)];
+    }
+    
+    var llPx = e.xy.add(-objRef.tolerance, objRef.tolerance);
+    var urPx = e.xy.add(objRef.tolerance, -objRef.tolerance);
+    
+    var ll = objRef.targetModel.map.getLonLatFromPixel(llPx);
+    var ur = objRef.targetModel.map.getLonLatFromPixel(urPx);
+    
+    <span class="reserved">for</span> (var i=0; i&lt;queryList.length; ++i) {
+      var layerNode = queryList[i];
+<span class="comment">
+      // Get the name of the layer</span>
+      var layerName = Mapbuilder.getProperty(layerNode, <span class="literal">"wmc:Name"</span>, <span class="literal">""</span>);
+
+      var hidden = objRef.targetModel.getHidden(layerName);
+      <span class="reserved">if</span> (hidden == 0) { //query only visible layers
+        controller.requestStylesheet.setParameter(<span class="literal">"bBoxMinX"</span>, ll.lon);
+        controller.requestStylesheet.setParameter(<span class="literal">"bBoxMinY"</span>, ll.lat);
+        controller.requestStylesheet.setParameter(<span class="literal">"bBoxMaxX"</span>, ur.lon);
+        controller.requestStylesheet.setParameter(<span class="literal">"bBoxMaxY"</span>, ur.lat);
+        controller.requestStylesheet.setParameter(<span class="literal">"queryLayer"</span>, layerName);
+        objRef.targetModel.setParam(controller.requestName.replace(/:/,<span class="literal">"_"</span>), layerName);
+      }
+    }
+  }
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MGRS.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MGRS.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MGRS.js.html	(revision 4307)
@@ -0,0 +1,832 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="MGRS.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>MGRS.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'MGRS.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+	<a name="method_summary"><!-- --></a>
+	<table border="1" cellpadding="3" cellspacing="0" width="100%">
+		<tr bgcolor="#CCCCFF" class="TableHeadingColor">
+			<td colspan=2>
+				<font size="+2">
+					<b>Method Summary</b>
+				</font>
+			</td>
+		</tr>
+	
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#AsciiToNum">AsciiToNum</a></b>( ascii )
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#degToRad">degToRad</a></b>(deg)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#formatMGRS">formatMGRS</a></b>()
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#get100kID">get100kID</a></b>( easting, northing, zone_number)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 Get the two letter 100k designator for a given UTM easting,
+ northing and zone number value.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#get100kSetForZone">get100kSetForZone</a></b>(i)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 Given a UTM zone number, figure out the MGRS 100K set it is in.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#getLetter100kID">getLetter100kID</a></b>( column, row, parm)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 Get the two-letter MGRS 100k designator given information
+ translated from the UTM northing, easting and zone number.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#getLetterDesignator">getLetterDesignator</a></b>(lat)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#LLtoUTM">LLtoUTM</a></b>()
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 Converts a set of Longitude and Latitude co-ordinates to UTM
+ given an ellipsoid
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#MGRS">MGRS</a></b>()
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#NumToAscii">NumToAscii</a></b>( num )
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 
+		      </td>
+		   </tr>
+		
+	
+	</table>
+    <p>
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Patrice G. Cappelaere (Got library from Geoserver)
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: MGRS.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/</span>
+
+
+<span class="reserved">function</span> MGRS() {
+	 <span class="comment">/**
+     * UTM zones are grouped, and assigned to one of a group of 6
+     * sets.
+     */</span>
+    var NUM_100K_SETS = 6;
+
+    <span class="comment">/**
+     * The column letters (for easting) of the lower left value, per
+     * set.
+     */</span>
+    var SET_ORIGIN_COLUMN_LETTERS = new Array(<span class="literal">'A'</span>,<span class="literal">'J'</span>,<span class="literal">'S'</span>,<span class="literal">'A'</span>,<span class="literal">'J'</span>,<span class="literal">'S'</span>);
+
+    <span class="comment">/**
+     * The row letters (for northing) of the lower left value, per
+     * set.
+     */</span>
+   var SET_ORIGIN_ROW_LETTERS = new Array(<span class="literal">'A'</span>,<span class="literal">'F'</span>,<span class="literal">'A'</span>,<span class="literal">'F'</span>,<span class="literal">'A'</span>,<span class="literal">'F'</span>);
+
+    <span class="comment">/**
+     * The column letters (for easting) of the lower left value, per
+     * set,, for Bessel Ellipsoid.
+     */</span>
+    var BESSEL_SET_ORIGIN_COLUMN_LETTERS = new Array( <span class="literal">'A'</span>, <span class="literal">'J'</span>,  <span class="literal">'S'</span>, <span class="literal">'A'</span>, <span class="literal">'J'</span>, <span class="literal">'S'</span> );
+
+    <span class="comment">/**
+     * The row letters (for northing) of the lower left value, per
+     * set, for Bessel Ellipsoid.
+     */</span>
+    var BESSEL_SET_ORIGIN_ROW_LETTERS = new Array( <span class="literal">'L'</span>, <span class="literal">'R'</span>, <span class="literal">'L'</span>, <span class="literal">'R'</span>, <span class="literal">'L'</span>, <span class="literal">'R'</span> );
+    var SET_NORTHING_ROLLOVER = 20000000;
+
+    <span class="comment">/**
+     * Use 5 digits for northing and easting values, for 1 meter
+     * accuracy of coordinate.
+     */</span>
+
+    var ACCURACY_1_METER = 5;
+
+    <span class="comment">/**
+     * Use 4 digits for northing and easting values, for 10 meter
+     * accuracy of coordinate.
+     */</span>
+    var ACCURACY_10_METER = 4;
+
+    <span class="comment">/**
+     * Use 3 digits for northing and easting values, for 100 meter
+     * accuracy of coordinate.
+     */</span>
+    var ACCURACY_100_METER = 3;
+
+    <span class="comment">/**
+     * Use 2 digits for northing and easting values, for 1000 meter
+     * accuracy of coordinate.
+     */</span>
+
+    var ACCURACY_1000_METER = 2;
+    <span class="comment">/**
+     * Use 1 digits for northing and easting values, for 10000 meter
+     * accuracy of coordinate.
+     */</span>
+    var ACCURACY_10000_METER = 1;
+
+    <span class="comment">/** The set origin column letters to use. */</span>
+    var originColumnLetters = SET_ORIGIN_COLUMN_LETTERS;
+
+    <span class="comment">/** The set origin row letters to use. */</span>
+    var originRowLetters = SET_ORIGIN_ROW_LETTERS;
+
+    var A = 65;	//AsciiToNum(<span class="literal">'A'</span>);
+    var I = 73;	//AsciiToNum(<span class="literal">'I'</span>);
+    var O = 79;	//AsciiToNum(<span class="literal">'O'</span>);
+    var V = 86;	//AsciiToNum(<span class="literal">'V'</span>);
+    var Z = 90;	//AsciiToNum(<span class="literal">'Z'</span>);
+
+    var DEBUG = false;
+
+    <span class="comment">/** The String holding the MGRS coordinate value. */</span>
+    var  mgrs_;
+	  var lat_;
+    var lon_;
+    var radlat_ ;
+    var radlon_ ;
+
+ 		var northing_;
+    var easting_;
+    var zone_number_;
+    var zone_letter_;
+    
+		<span class="comment">/**
+		  * Conversion of lat/lon to MGRS
+		  */</span>
+		<span class="reserved">this</span>.convert = <span class="reserved">function</span>(latitude, longitude) {
+      lat_    = parseFloat(latitude);
+		  lon_    = parseFloat(longitude);
+		  radlat_ = degToRad(lat_);
+      radlon_ = degToRad(lon_);
+
+		  LLtoUTM();
+		  <span class="reserved">return</span> formatMGRS();
+	  }
+
+    <span class="reserved">function</span> degToRad(deg) {
+        <span class="reserved">return</span> (deg * (Math.PI / 180.0));
+    }
+    
+	 <span class="comment">/**
+     * Converts a set of Longitude and Latitude co-ordinates to UTM
+     * given an ellipsoid
+     * 
+     * <span class="attrib">@param</span> ellip an ellipsoid definition.
+     * <span class="attrib">@param</span> llpoint the coordinate to be converted
+     * <span class="attrib">@param</span> utmpoint A UTMPoint instance to put the results in. If
+     *        null, a new UTMPoint will be allocated.
+     * <span class="attrib">@return</span> A UTM class instance containing the value of
+     *         &lt;code&gt;null&lt;/code&gt; if conversion failed. If you pass
+     *         in a UTMPoint, it will be returned as well if
+     *         successful.
+     */</span>
+   <span class="reserved">function</span> LLtoUTM() {
+        var Lat = lat_;
+        var Long = lon_;
+        var a = 6378137.0;	//ellip.radius;
+        var eccSquared = 0.00669438;	//ellip.eccsq;
+        var k0 = 0.9996;
+        var LongOrigin;
+        var eccPrimeSquared;
+        var N, T, C, A, M;
+        var LatRad = radlat_;
+        var LongRad = radlon_;
+        var LongOriginRad;
+        var ZoneNumber;
+<span class="comment">		// (int)</span>
+        ZoneNumber = Math.floor((Long + 180) / 6) + 1;
+<span class="comment">
+        //Make sure the longitude 180.00 is in Zone 60</span>
+        <span class="reserved">if</span> (Long == 180) {
+            ZoneNumber = 60;
+        }
+<span class="comment">
+        // Special zone for Norway</span>
+        <span class="reserved">if</span> (Lat &gt;= 56.0 &amp;&amp; Lat &lt; 64.0 &amp;&amp; Long &gt;= 3.0 &amp;&amp; Long &lt; 12.0) {
+            ZoneNumber = 32;
+        }
+<span class="comment">
+        // Special zones for Svalbard</span>
+        <span class="reserved">if</span> (Lat &gt;= 72.0 &amp;&amp; Lat &lt; 84.0) {
+            <span class="reserved">if</span> (Long &gt;= 0.0 &amp;&amp; Long &lt; 9.0)
+                ZoneNumber = 31;
+            <span class="reserved">else</span> <span class="reserved">if</span> (Long &gt;= 9.0 &amp;&amp; Long &lt; 21.0)
+                ZoneNumber = 33;
+            <span class="reserved">else</span> <span class="reserved">if</span> (Long &gt;= 21.0 &amp;&amp; Long &lt; 33.0)
+                ZoneNumber = 35;
+            <span class="reserved">else</span> <span class="reserved">if</span> (Long &gt;= 33.0 &amp;&amp; Long &lt; 42.0)
+                ZoneNumber = 37;
+        }
+
+        LongOrigin = (ZoneNumber - 1) * 6 - 180 + 3; //+3 puts origin
+<span class="comment">                                                     // in middle of</span>
+<span class="comment">                                                     // zone</span>
+        LongOriginRad = degToRad(LongOrigin);
+
+        eccPrimeSquared = (eccSquared) / (1 - eccSquared);
+
+        N = a / Math.sqrt(1 - eccSquared * Math.sin(LatRad) * Math.sin(LatRad));
+        T = Math.tan(LatRad) * Math.tan(LatRad);
+        C = eccPrimeSquared * Math.cos(LatRad) * Math.cos(LatRad);
+        A = Math.cos(LatRad) * (LongRad - LongOriginRad);
+
+        M = a
+                * ((1 - eccSquared / 4 - 3 * eccSquared * eccSquared / 64 - 5
+                        * eccSquared * eccSquared * eccSquared / 256)
+                        * LatRad
+                        - (3 * eccSquared / 8 + 3 * eccSquared * eccSquared
+                                / 32 + 45 * eccSquared * eccSquared
+                                * eccSquared / 1024)
+                        * Math.sin(2 * LatRad)
+                        + (15 * eccSquared * eccSquared / 256 + 45 * eccSquared
+                                * eccSquared * eccSquared / 1024)
+                        * Math.sin(4 * LatRad) - (35 * eccSquared * eccSquared
+                        * eccSquared / 3072)
+                        * Math.sin(6 * LatRad));
+
+        var UTMEasting = (k0
+                * N
+                * (A + (1 - T + C) * A * A * A / 6.0 + (5 - 18 * T + T * T
+                        + 72 * C - 58 * eccPrimeSquared)
+                        * A * A * A * A * A / 120.0) + 500000.0);
+
+        var UTMNorthing =  (k0 * (M + N
+                * Math.tan(LatRad)
+                * (A * A / 2 + (5 - T + 9 * C + 4 * C * C) * A * A * A * A
+                        / 24.0 + (61 - 58 * T + T * T + 600 * C - 330 * eccPrimeSquared)
+                        * A * A * A * A * A * A / 720.0)));
+        <span class="reserved">if</span> (Lat &lt; 0.0) {
+            UTMNorthing += 10000000.0; //10000000 meter offset <span class="reserved">for</span>
+<span class="comment">                                        // southern hemisphere</span>
+        }
+
+        northing_ = Math.round(UTMNorthing);
+        easting_ =  Math.round(UTMEasting);
+        zone_number_ = ZoneNumber;
+        zone_letter_ = getLetterDesignator(Lat);
+    }
+    
+	<span class="reserved">function</span> getLetterDesignator(lat) {
+<span class="comment">        //This is here as an error flag to show that the Latitude is</span>
+<span class="comment">        //outside MGRS limits</span>
+        var LetterDesignator = <span class="literal">'Z'</span>;
+
+        <span class="reserved">if</span> ((84 &gt;= lat) &amp;&amp; (lat &gt;= 72))
+            LetterDesignator = <span class="literal">'X'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((72 &gt; lat) &amp;&amp; (lat &gt;= 64))
+            LetterDesignator = <span class="literal">'W'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((64 &gt; lat) &amp;&amp; (lat &gt;= 56))
+            LetterDesignator = <span class="literal">'V'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((56 &gt; lat) &amp;&amp; (lat &gt;= 48))
+            LetterDesignator = <span class="literal">'U'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((48 &gt; lat) &amp;&amp; (lat &gt;= 40))
+            LetterDesignator = <span class="literal">'T'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((40 &gt; lat) &amp;&amp; (lat &gt;= 32))
+            LetterDesignator = <span class="literal">'S'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((32 &gt; lat) &amp;&amp; (lat &gt;= 24))
+            LetterDesignator = <span class="literal">'R'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((24 &gt; lat) &amp;&amp; (lat &gt;= 16))
+            LetterDesignator = <span class="literal">'Q'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((16 &gt; lat) &amp;&amp; (lat &gt;= 8))
+            LetterDesignator = <span class="literal">'P'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((8 &gt; lat) &amp;&amp; (lat &gt;= 0))
+            LetterDesignator = <span class="literal">'N'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((0 &gt; lat) &amp;&amp; (lat &gt;= -8))
+            LetterDesignator = <span class="literal">'M'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((-8 &gt; lat) &amp;&amp; (lat &gt;= -16))
+            LetterDesignator = <span class="literal">'L'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((-16 &gt; lat) &amp;&amp; (lat &gt;= -24))
+            LetterDesignator = <span class="literal">'K'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((-24 &gt; lat) &amp;&amp; (lat &gt;= -32))
+            LetterDesignator = <span class="literal">'J'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((-32 &gt; lat) &amp;&amp; (lat &gt;= -40))
+            LetterDesignator = <span class="literal">'H'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((-40 &gt; lat) &amp;&amp; (lat &gt;= -48))
+            LetterDesignator = <span class="literal">'G'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((-48 &gt; lat) &amp;&amp; (lat &gt;= -56))
+            LetterDesignator = <span class="literal">'F'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((-56 &gt; lat) &amp;&amp; (lat &gt;= -64))
+            LetterDesignator = <span class="literal">'E'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((-64 &gt; lat) &amp;&amp; (lat &gt;= -72))
+            LetterDesignator = <span class="literal">'D'</span>;
+        <span class="reserved">else</span> <span class="reserved">if</span> ((-72 &gt; lat) &amp;&amp; (lat &gt;= -80))
+            LetterDesignator = <span class="literal">'C'</span>;
+        <span class="reserved">return</span> LetterDesignator;
+    }
+
+	 <span class="reserved">function</span> formatMGRS() {
+		 var seasting = <span class="literal">""</span> + easting_;
+		 var snorthing = <span class="literal">""</span>+ northing_;
+		 <span class="reserved">while</span>( snorthing.length &gt; 6 )
+			 snorthing = snorthing.substr(1,snorthing.length-1);
+
+		 var str= zone_number_ + <span class="literal">""</span> + zone_letter_ +
+       get100kID(easting_, northing_, zone_number_) +
+			 seasting.substr(1,4) + snorthing.substr(1,4);
+
+		  <span class="reserved">return</span> str;
+	  }
+	
+	   <span class="comment">/**
+     * Get the two letter 100k designator for a given UTM easting,
+     * northing and zone number value.
+     */</span>
+    <span class="reserved">function</span> get100kID( easting, northing, zone_number) {
+        var setParm = get100kSetForZone(zone_number);
+        var setColumn = Math.floor( easting / 100000);
+        var setRow = Math.floor( northing  / 100000) % 20;
+<span class="comment">		//trace("get100kID:"+setParm+" "+setColumn+" "+setRow);</span>
+        <span class="reserved">return</span> getLetter100kID(setColumn, setRow, setParm);
+    }
+
+	 <span class="comment">/**
+     * Given a UTM zone number, figure out the MGRS 100K set it is in.
+     */</span>
+    <span class="reserved">function</span> get100kSetForZone(i) {
+        var setParm = i % NUM_100K_SETS;
+        <span class="reserved">if</span> (setParm == 0)
+            setParm = NUM_100K_SETS;
+		
+        <span class="reserved">return</span> setParm;
+    }
+    
+   <span class="comment">/**
+     * Get the two-letter MGRS 100k designator given information
+     * translated from the UTM northing, easting and zone number.
+     * 
+     * <span class="attrib">@param</span> setColumn the column index as it relates to the MGRS
+     *        100k set spreadsheet, created from the UTM easting.
+     *        Values are 1-8.
+     * <span class="attrib">@param</span> setRow the row index as it relates to the MGRS 100k set
+     *        spreadsheet, created from the UTM northing value. Values
+     *        are from 0-19.
+     * <span class="attrib">@param</span> setParm the set block, as it relates to the MGRS 100k set
+     *        spreadsheet, created from the UTM zone. Values are from
+     *        1-60.
+     * <span class="attrib">@return</span> two letter MGRS 100k code.
+     */</span>
+
+    <span class="reserved">function</span> getLetter100kID( column, row, parm) {
+<span class="comment">		    // colOrigin and rowOrigin are the letters at the origin of the set</span>
+		    var index = parm-1;
+        var colOrigin = AsciiToNum(SET_ORIGIN_COLUMN_LETTERS[index]);
+        var rowOrigin = AsciiToNum(SET_ORIGIN_ROW_LETTERS[index]);
+<span class="comment">
+        // colInt and rowInt are the letters to build to return</span>
+        var colInt = colOrigin + column - 1;
+        var rowInt = rowOrigin + row;
+        var rollover = false;
+
+		    <span class="reserved">if</span> ( colInt &gt; Z ) {
+            colInt = colInt - Z + A - 1;
+            rollover = true;
+        }
+
+		    <span class="reserved">if</span> (colInt == I || (colOrigin &lt; I &amp;&amp; colInt &gt; I)
+                || ((colInt &gt; I || colOrigin &lt; I) &amp;&amp; rollover)) {
+            colInt++;
+        }
+
+		    <span class="reserved">if</span> (colInt == O || (colOrigin &lt; O &amp;&amp; colInt &gt; O)
+                || ((colInt &gt; O || colOrigin &lt; O) &amp;&amp; rollover)) {
+            colInt++;
+
+            <span class="reserved">if</span> (colInt == I) {
+                colInt++;
+             }
+        }
+
+	  	   <span class="reserved">if</span> (colInt &gt; Z) {
+            colInt = colInt - Z + A - 1;
+        }
+
+        <span class="reserved">if</span> (rowInt &gt; V) {
+            rowInt = rowInt - V + A - 1;
+            rollover = true;
+        } <span class="reserved">else</span> {
+            rollover = false;
+        }
+
+        <span class="reserved">if</span>( ((rowInt == I) || ((rowOrigin &lt; I) &amp;&amp; (rowInt &gt; I)))
+                || (((rowInt &gt; I)||(rowOrigin &lt; I)) &amp;&amp; rollover)) {
+            rowInt++;
+        }
+
+        <span class="reserved">if</span>( ((rowInt == O) || ((rowOrigin &lt; O) &amp;&amp; (rowInt &gt; O)))
+                || (((rowInt &gt; O)|| (rowOrigin &lt; O)) &amp;&amp; rollover)) {
+            rowInt++;
+
+            <span class="reserved">if</span> (rowInt == I) {
+                rowInt++;
+            }
+        }
+
+        <span class="reserved">if</span> (rowInt &gt; V) {
+            rowInt = rowInt - V + A - 1;
+        }
+
+        var twoLetter = NumToAscii(colInt) + <span class="literal">""</span> + NumToAscii(rowInt);
+        <span class="reserved">return</span> twoLetter;
+	}
+
+
+	<span class="reserved">function</span> AsciiToNum( ascii ) {
+		switch( ascii ) {
+			case <span class="literal">'A'</span>:
+				<span class="reserved">return</span> 65;
+			case <span class="literal">'B'</span>:
+				<span class="reserved">return</span> 66;
+			case <span class="literal">'C'</span>:
+				<span class="reserved">return</span> 67;
+			case <span class="literal">'D'</span>:
+				<span class="reserved">return</span> 68;
+			case <span class="literal">'E'</span>:
+				<span class="reserved">return</span> 69;
+			case <span class="literal">'F'</span>:
+				<span class="reserved">return</span> 70;
+			case <span class="literal">'G'</span>:
+				<span class="reserved">return</span> 71;
+			case <span class="literal">'H'</span>:
+				<span class="reserved">return</span> 72;
+			case <span class="literal">'I'</span>:
+				<span class="reserved">return</span> 73;
+			case <span class="literal">'J'</span>:
+				<span class="reserved">return</span> 74;
+			case <span class="literal">'K'</span>:
+				<span class="reserved">return</span> 75;
+			case <span class="literal">'L'</span>:
+				<span class="reserved">return</span> 76;
+			case <span class="literal">'M'</span>:
+				<span class="reserved">return</span> 77;
+			case <span class="literal">'N'</span>:
+				<span class="reserved">return</span> 78;
+			case <span class="literal">'O'</span>:
+				<span class="reserved">return</span> 79;
+			case <span class="literal">'P'</span>:
+				<span class="reserved">return</span> 80;
+			case <span class="literal">'Q'</span>:
+				<span class="reserved">return</span> 81;
+			case <span class="literal">'R'</span>:
+				<span class="reserved">return</span> 82;
+			case <span class="literal">'S'</span>:
+				<span class="reserved">return</span> 83;
+			case <span class="literal">'T'</span>:
+				<span class="reserved">return</span> 84;
+			case <span class="literal">'U'</span>:
+				<span class="reserved">return</span> 85;
+			case <span class="literal">'V'</span>:
+				<span class="reserved">return</span> 86;
+			case <span class="literal">'W'</span>:
+				<span class="reserved">return</span> 87;
+			case <span class="literal">'X'</span>:
+				<span class="reserved">return</span> 88;
+			case <span class="literal">'Y'</span>:
+				<span class="reserved">return</span> 89;
+			case <span class="literal">'Z'</span>:
+				<span class="reserved">return</span> 90;
+		}
+	}
+	
+	<span class="reserved">function</span> NumToAscii( num ) {
+		switch( num ) {
+			case 65:
+				<span class="reserved">return</span> <span class="literal">'A'</span>;
+			case 66:
+				<span class="reserved">return</span> <span class="literal">'B'</span>;
+			case 67:
+				<span class="reserved">return</span> <span class="literal">'C'</span>;
+			case 68:
+				<span class="reserved">return</span> <span class="literal">'D'</span>;
+			case 69:
+				<span class="reserved">return</span> <span class="literal">'E'</span>;
+			case 70:
+				<span class="reserved">return</span> <span class="literal">'F'</span>;
+			case 71:
+				<span class="reserved">return</span> <span class="literal">'G'</span>;
+			case 72:
+				<span class="reserved">return</span> <span class="literal">'H'</span>;
+			case 73:
+				<span class="reserved">return</span> <span class="literal">'I'</span>;
+			case 74:
+				<span class="reserved">return</span>  <span class="literal">'J'</span>;
+			case 75 :
+				<span class="reserved">return</span> <span class="literal">'K'</span>;
+			case 76:
+				<span class="reserved">return</span> <span class="literal">'L'</span>;
+			case 77:
+				<span class="reserved">return</span> <span class="literal">'M'</span>;
+			case 78:
+				<span class="reserved">return</span> <span class="literal">'N'</span>;
+			case 79:
+				<span class="reserved">return</span> <span class="literal">'O'</span>;
+			case 80:
+				<span class="reserved">return</span> <span class="literal">'P'</span>;
+			case 81:
+				<span class="reserved">return</span> <span class="literal">'Q'</span>;
+			case 82:
+				<span class="reserved">return</span> <span class="literal">'R'</span>;
+			case 83:
+				<span class="reserved">return</span> <span class="literal">'S'</span>;
+			case 84:
+				<span class="reserved">return</span> <span class="literal">'T'</span>;
+			case 85:
+				<span class="reserved">return</span> <span class="literal">'U'</span>;
+			case 86:
+				<span class="reserved">return</span> <span class="literal">'V'</span>;
+			case 87:
+				<span class="reserved">return</span> <span class="literal">'W'</span>;
+			case 88:
+				<span class="reserved">return</span> <span class="literal">'X'</span>;
+			case 89:
+				<span class="reserved">return</span> <span class="literal">'Y'</span>;
+			case 90:
+				<span class="reserved">return</span> <span class="literal">'Z'</span>;
+		}
+	}
+}</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ZoomOut.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ZoomOut.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ZoomOut.js.html	(revision 4307)
@@ -0,0 +1,229 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="ZoomOut.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>ZoomOut.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'ZoomOut.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="ZoomOut.html">ZoomOut</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: ZoomOut.js 3894 2008-02-29 18:37:09Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/ButtonBase.js"</span>);
+mapbuilder.loadScript(baseDir+<span class="literal">"/util/openlayers/OpenLayers.js"</span>);
+
+<span class="comment">/**
+ * Zoom Out button.
+ * <span class="attrib">@base</span> ButtonBase
+ * <span class="attrib">@author</span> Andreas Hocevar andreas.hocevarATgmail.com
+ * <span class="attrib">@param</span> widgetNode      The tool node from the Config XML file.
+ * <span class="attrib">@param</span> model  The ButtonBar widget.
+ */</span>
+<span class="reserved">function</span> ZoomOut(widgetNode, model) {
+   ButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+  <span class="reserved">this</span>.cursor = <span class="literal">'crosshair'</span>;
+
+  <span class="comment">/**
+   * Interactive ZoomOut control.
+   * <span class="attrib">@param</span> objRef reference to this object.
+   * <span class="attrib">@return</span> {OpenLayers.Control} class of the OL control.
+   */</span>
+  <span class="reserved">this</span>.createControl = <span class="reserved">function</span>(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      CLASS_NAME: <span class="literal">'mbControl.ZoomOut'</span>,
+      type: OpenLayers.Control.TYPE_TOOL,
+
+      draw: <span class="reserved">function</span>() {
+        <span class="reserved">this</span>.handler = new OpenLayers.Handler.Box( <span class="reserved">this</span>,
+          {done: <span class="reserved">this</span>.zoomBox}, {keyMask: <span class="reserved">this</span>.keyMask} );
+      },
+
+      zoomBox: <span class="reserved">function</span> (position) {
+        <span class="reserved">if</span> (position instanceof OpenLayers.Bounds) {
+          var minXY = new OpenLayers.Pixel(position.left, position.bottom);
+          var maxXY = new OpenLayers.Pixel(position.right, position.top);
+          var bounds = new OpenLayers.Bounds(minXY.x, minXY.y,
+            maxXY.x, maxXY.y);
+          var mapSize = (<span class="reserved">this</span>.map.getSize().w+<span class="reserved">this</span>.map.getSize().h)/2;
+          var boxSize = (Math.abs(bounds.getWidth())+Math.abs(bounds.getHeight()))/2;
+          var newScale = <span class="reserved">this</span>.map.getScale()*(mapSize/boxSize);
+          <span class="reserved">this</span>.map.setCenter(bounds.getCenterLonLat());
+          <span class="reserved">this</span>.map.zoomToScale(newScale);
+        } <span class="reserved">else</span> { // it's a pixel
+          <span class="reserved">this</span>.map.setCenter(<span class="reserved">this</span>.map.getLonLatFromPixel(position),
+            parseInt(<span class="reserved">this</span>.map.getZoom() - 1));
+        }
+      }
+    });
+    <span class="reserved">return</span> Control;
+  }
+}
+
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/SelectMapLayers.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/SelectMapLayers.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/SelectMapLayers.html	(revision 4307)
@@ -0,0 +1,330 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+SelectMapLayers
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="SelectMapLayers";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-SelectMapLayers.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="SelectFromAtomFeed.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="SelectTimeFrame.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SelectMapLayers.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class SelectMapLayers</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>SelectMapLayers</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>SelectMapLayers</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-SelectMapLayers.js.html'>SelectMapLayers.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="SelectMapLayers.html#SelectMapLayers()">SelectMapLayers</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Presents the list of Layers from a WMS capabilities doc.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="SelectMapLayers()"><!-- --></A><H3>
+SelectMapLayers</H3>
+<PRE><B>SelectMapLayers</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Presents the list of Layers from a WMS capabilities doc.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-SelectMapLayers.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="SelectFromAtomFeed.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="SelectTimeFrame.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SelectMapLayers.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Forward.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Forward.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Forward.html	(revision 4307)
@@ -0,0 +1,407 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Forward
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Forward";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Forward.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="FormBase.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="GeoRSS.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Forward.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Forward</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<b>Forward</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Forward</B>
+   
+      <DT>extends <a href='ButtonBase.html'>ButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Forward.js.html'>Forward.js</a></I><BR/><BR/><B>Author:</B> Steven Ottens AT Geodan.nl  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Forward.html#Forward()">Forward</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      When this button is pressed the map will reload with it's original extent
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#createControl">createControl</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Interactive ZoomOut control.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#doSelect">doSelect</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Forward()"><!-- --></A><H3>
+Forward</H3>
+<PRE><B>Forward</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   When this button is pressed the map will reload with it's original extent
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -       The widget node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -   The model for this widget
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Steven Ottens AT Geodan.nl  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="createControl"><!-- --></A>
+   <H3>createControl</H3>
+   <PRE>Object <B>createControl</B>(objRef)</PRE>
+   
+      <UL>Interactive ZoomOut control.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this object.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        {OpenLayers.Control} instance of the OL control. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Forward.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="FormBase.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="GeoRSS.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Forward.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-EditPolygon.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-EditPolygon.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-EditPolygon.js.html	(revision 4307)
@@ -0,0 +1,199 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="EditPolygon.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>EditPolygon.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'EditPolygon.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="EditPolygon.html">EditPolygon</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: EditPolygon.js 3807 2008-01-18 13:57:21Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/EditButtonBase.js"</span>);
+
+<span class="comment">/**
+ * When this button is selected, clicks on the MapPane will add a
+ * new point to a polygon.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> EditButtonBase
+ * <span class="attrib">@author</span> Simon Flannery simonDOTflanneryATbigpondDOTcom
+ * <span class="attrib">@sponser</span> VPAC
+ * <span class="attrib">@param</span> widgetNode The node from the Config XML file.
+ * <span class="attrib">@param</span> model The ButtonBar widget.
+ */</span>
+<span class="reserved">function</span> EditPolygon(widgetNode, model) {
+<span class="comment">  // Extend EditButtonBase</span>
+  EditButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+  <span class="reserved">this</span>.instantiateControl = <span class="reserved">function</span>(objRef, Control) {
+    <span class="reserved">return</span> new Control(objRef.featureLayer, OpenLayers.Handler.Polygon);
+  }
+
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Legend.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Legend.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Legend.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Legend.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Legend.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Legend.js.html" 
+                                        target="classFrame">Legend.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Legend.html" TARGET="classFrame">Legend</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Mapbuilder.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Mapbuilder.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Mapbuilder.html	(revision 4307)
@@ -0,0 +1,826 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Mapbuilder
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Mapbuilder";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Mapbuilder.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Logger.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="MapPaneOL.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Mapbuilder.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Mapbuilder</H2>
+<PRE>Object
+   |
+   +--<b>Mapbuilder</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Mapbuilder</B>
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Mapbuilder.js.html'>Mapbuilder.js</a></I><BR/><BR/><B>Requires:</B><UL>- <a href="Config.html#">Config</a><BR/>- <a href="Listener.html#">Listener</a><BR/>- <a href="ModelBase.html#">ModelBase</a><BR/>- <a href="Sarissa.html#">Sarissa</a><BR/>- Util    </UL><B>Author:</B> Cameron Shorter  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#loadingScripts">loadingScripts</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Array of objects that are loading.</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#loadOrdered">loadOrdered</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#loadState">loadState</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines which Mapbuilder scripts are loading.</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#orderedScripts">orderedScripts</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Array of scripts that have to be loaded ordered</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#scriptLoader">scriptLoader</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Timer to load ordered scripts</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#scriptsTimer">scriptsTimer</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Timer to periodically check if scripts have loaded.</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&lt;static&gt; &nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#Popup">Popup</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Derived from OpenLayers.Popup (svn r6430) and 
+ OpenLayers.Popup.Anchored (svn r5614), this class preserves the
+ functionality of OpenLayers.Popup.Anchored before the new style popups
+ of http://trac.openlayers.org/ticket/926 were introduced.</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Mapbuilder.html#Mapbuilder()">Mapbuilder</A> 
+	 </B>
+	 ()
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      This Object bootstraps the Mapbuilder libraries by loading the core
+ script files.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#checkScriptsLoaded">checkScriptsLoaded</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Called periodically and moves onto the next loadState when this round of
+ scripts have loaded.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#checkScriptState">checkScriptState</A></B>(script)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 readyState handler for scripts - IE only.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#doLoadScript">doLoadScript</A></B>(script)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 starts script loading by adding the script node to the dom tree - IE only.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#loadNextScript">loadNextScript</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 loads one script after another - only for IE.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#loadScript">loadScript</A></B>(url)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Dynamically load a script file if it has not already been loaded.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#loadScriptsFromXpath">loadScriptsFromXpath</A></B>(nodes,dir)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Internal function to load scripts for components that don't have <scriptfile>
+ specified in the config file.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setLoadState">setLoadState</A></B>(newState)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Move onto loading the next set of scripts.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getProperty">getProperty</A></B>(domNode, propertyName, defaultValue)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Convenience method that is used to parse dom nodes.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#parseBoolean">parseBoolean</A></B>(value)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Convenience method to parse a string or number as a boolean value
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="loadingScripts"><!-- --></A>
+   <H3>loadingScripts</H3>
+   <PRE>Object&nbsp;<B>loadingScripts</B></PRE>
+   <UL>
+   Array of objects that are loading.  Don't continue initialisation until
+ all objects have loaded.
+   
+   </UL>
+   <HR>
+   
+   <A NAME="loadOrdered"><!-- --></A>
+   <H3>loadOrdered</H3>
+   <PRE>Object&nbsp;<B>loadOrdered</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="loadState"><!-- --></A>
+   <H3>loadState</H3>
+   <PRE>Object&nbsp;<B>loadState</B></PRE>
+   <UL>
+   Determines which Mapbuilder scripts are loading.
+ TBD: Is it possible to use enumerated types in JS?
+   
+   </UL>
+   <HR>
+   
+   <A NAME="orderedScripts"><!-- --></A>
+   <H3>orderedScripts</H3>
+   <PRE>Object&nbsp;<B>orderedScripts</B></PRE>
+   <UL>
+   Array of scripts that have to be loaded ordered
+   
+   </UL>
+   <HR>
+   
+   <A NAME="scriptLoader"><!-- --></A>
+   <H3>scriptLoader</H3>
+   <PRE>Object&nbsp;<B>scriptLoader</B></PRE>
+   <UL>
+   Timer to load ordered scripts
+   
+   </UL>
+   <HR>
+   
+   <A NAME="scriptsTimer"><!-- --></A>
+   <H3>scriptsTimer</H3>
+   <PRE>Object&nbsp;<B>scriptsTimer</B></PRE>
+   <UL>
+   Timer to periodically check if scripts have loaded.
+   
+   </UL>
+   <HR>
+   
+   <A NAME="Popup"><!-- --></A>
+   <H3>Popup</H3>
+   <PRE>&lt;static&gt;&nbsp;Object&nbsp;<B>Popup</B></PRE>
+   <UL>
+   Derived from OpenLayers.Popup (svn r6430) and 
+ OpenLayers.Popup.Anchored (svn r5614), this class preserves the
+ functionality of OpenLayers.Popup.Anchored before the new style popups
+ of http://trac.openlayers.org/ticket/926 were introduced.
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Mapbuilder()"><!-- --></A><H3>
+Mapbuilder</H3>
+<PRE><B>Mapbuilder</B>()</PRE>
+
+
+<UL>
+   This Object bootstraps the Mapbuilder libraries by loading the core
+ script files.
+ When Config.js is loaded, the script files for objects described in the
+ Mapbuilder config file are loaded.
+ Objects which have dependencies will trigger the dependancies to load
+ when they are loaded.
+</UL>
+
+
+
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Requires:</B><UL>- <a href="Config.html#">Config</a><BR/>- <a href="Listener.html#">Listener</a><BR/>- <a href="ModelBase.html#">ModelBase</a><BR/>- <a href="Sarissa.html#">Sarissa</a><BR/>- Util    </UL><B>Author:</B> Cameron Shorter  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="checkScriptsLoaded"><!-- --></A>
+   <H3>checkScriptsLoaded</H3>
+   <PRE>void <B>checkScriptsLoaded</B>()</PRE>
+   
+      <UL>Called periodically and moves onto the next loadState when this round of
+ scripts have loaded.
+ For IE clients, object.readyState is used to check if scripts are loaded.
+ Mozilla works fine without this function - I think it is single threaded.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="checkScriptState"><!-- --></A>
+   <H3>checkScriptState</H3>
+   <PRE>void <B>checkScriptState</B>(script)</PRE>
+   
+      <UL>readyState handler for scripts - IE only. This will remove the script from
+ the array of scripts that have still to be loaded.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="doLoadScript"><!-- --></A>
+   <H3>doLoadScript</H3>
+   <PRE>void <B>doLoadScript</B>(script)</PRE>
+   
+      <UL>starts script loading by adding the script node to the dom tree - IE only.
+ This function adds a readyState handler to the script node.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="loadNextScript"><!-- --></A>
+   <H3>loadNextScript</H3>
+   <PRE>void <B>loadNextScript</B>()</PRE>
+   
+      <UL>loads one script after another - only for IE. This function is run in a
+ 50ms interval and clears its interval if there are no more scripts to
+ load. It actually loads the first script from the orderedScripts array.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="loadScript"><!-- --></A>
+   <H3>loadScript</H3>
+   <PRE>void <B>loadScript</B>(url)</PRE>
+   
+      <UL>Dynamically load a script file if it has not already been loaded.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>url</CODE> -  The url of the script.  that loadScript was called      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="loadScriptsFromXpath"><!-- --></A>
+   <H3>loadScriptsFromXpath</H3>
+   <PRE>void <B>loadScriptsFromXpath</B>(nodes,dir)</PRE>
+   
+      <UL>Internal function to load scripts for components that don't have <scriptfile>
+ specified in the config file.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>dir</CODE> -  The directory the script is located in.      
+      </UL> 
+   
+     <UL><CODE>xPath</CODE> -  Xpath match of components from the Config file.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setLoadState"><!-- --></A>
+   <H3>setLoadState</H3>
+   <PRE>void <B>setLoadState</B>(newState)</PRE>
+   
+      <UL>Move onto loading the next set of scripts.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>newState</CODE> -  The new loading state.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getProperty"><!-- --></A>
+   <H3>getProperty</H3>
+   <PRE>&lt;static&gt; Object <B>getProperty</B>(domNode, propertyName, defaultValue)</PRE>
+   
+      <UL>Convenience method that is used to parse dom nodes.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>domNode</CODE> -  node to find the property in  
+      </UL> 
+   
+     <UL><CODE>propertyName</CODE> -  string of the property name (including namespace prefix)  
+      </UL> 
+   
+     <UL><CODE>defaultValue</CODE> -  value to return if property is not found (null by default)  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the property value 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="parseBoolean"><!-- --></A>
+   <H3>parseBoolean</H3>
+   <PRE>&lt;static&gt; Object <B>parseBoolean</B>(value)</PRE>
+   
+      <UL>Convenience method to parse a string or number as a boolean value</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>value</CODE> -  string (true/false) or number (1/0)  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        boolean value, default false 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Mapbuilder.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Logger.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="MapPaneOL.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Mapbuilder.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Locations.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Locations.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Locations.html	(revision 4307)
@@ -0,0 +1,405 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Locations
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Locations";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Locations.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Loading2.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Logger.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Locations.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Locations</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>Locations</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Locations</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Locations.js.html'>Locations.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Locations.html#Locations()">Locations</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to display predefined locations (as per schema at lib/model/schemas/locations.xsd)
+ into a HTML select box.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setAoi">setAoi</A></B>(bbox, targetModel, srsName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Change the AOI coordinates from select box choice of prefined locations
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Locations()"><!-- --></A><H3>
+Locations</H3>
+<PRE><B>Locations</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to display predefined locations (as per schema at lib/model/schemas/locations.xsd)
+ into a HTML select box. Changing a location will set the AOI of the targetModel.
+ TBD: projection coordinate conversion still to be implemented.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  This widget's object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model that this widget is a view of.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="setAoi"><!-- --></A>
+   <H3>setAoi</H3>
+   <PRE>void <B>setAoi</B>(bbox, targetModel, srsName)</PRE>
+   
+      <UL>Change the AOI coordinates from select box choice of prefined locations</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>bbox</CODE> -  the bbox value of the location keyword chosen  
+      </UL> 
+   
+     <UL><CODE>targetModel</CODE> -  the model on which to set the AOI  
+      </UL> 
+   
+     <UL><CODE>srsName</CODE> -  srs of the bbox      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Locations.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Loading2.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Logger.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Locations.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-WidgetBase.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-WidgetBase.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-WidgetBase.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ WidgetBase.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" WidgetBase.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-WidgetBase.js.html" 
+                                        target="classFrame">WidgetBase.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WidgetBase.html" TARGET="classFrame">WidgetBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/FeatureCollection.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/FeatureCollection.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/FeatureCollection.html	(revision 4307)
@@ -0,0 +1,893 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+FeatureCollection
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="FeatureCollection";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-FeatureCollection.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Extent.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="FeatureInfo.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FeatureCollection.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class FeatureCollection</H2>
+<PRE>Object
+   |
+   +--<a href='Listener.html'>Listener</a>
+         |
+         +--<a href='ModelBase.html'>ModelBase</a>
+               |
+               +--<b>FeatureCollection</b>
+</PRE>
+
+   <DL>
+   <DT>
+      <B>Direct Known Subclasses:</B> 
+      <DD>
+                <a href="OwsCatResources.html">OwsCatResources</a>
+      </DD>
+   </DL>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>FeatureCollection</B>
+   
+      <DT>extends <a href='ModelBase.html'>ModelBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <B>Author:</B> Cameron Shorter  <BR/><I>Defined in <a href='overview-summary-FeatureCollection.js.html'>FeatureCollection.js</a></I><BR/><BR/><B>Requires:</B><UL>- <a href="Sarissa.html#">Sarissa</a></UL>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#coordSelectXpath">coordSelectXpath</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#coordsTagName">coordsTagName</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#featureTagName">featureTagName</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#hidden">hidden</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#nodeSelectXpath">nodeSelectXpath</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ModelBase.html">ModelBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ModelBase.html#async">async</a>, <a href="ModelBase.html#contentType">contentType</a>, <a href="ModelBase.html#modelNode">modelNode</a>, <a href="ModelBase.html#id">id</a>, <a href="ModelBase.html#title">title</a>, <a href="ModelBase.html#debug">debug</a>, <a href="ModelBase.html#url">url</a>, <a href="ModelBase.html#method">method</a>, <a href="ModelBase.html#namespace">namespace</a>, <a href="ModelBase.html#template">template</a>, <a href="ModelBase.html#nodeSelectXpath">nodeSelectXpath</a>, <a href="ModelBase.html#config">config</a>, <a href="ModelBase.html#parentModel">parentModel</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="Listener.html">Listener</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="Listener.html#listeners">listeners</a>, <a href="Listener.html#values">values</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="FeatureCollection.html#FeatureCollection()">FeatureCollection</A> 
+	 </B>
+	 (modelNode, parent)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Stores a GML Feature or FeatureCollection as defined by the
+ Open Geospatial Consortium (http://www.opengeospatial.org/).
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#convertCoords">convertCoords</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 convert coordinates in the GML document to the SRS of the map container, 
+ if required.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeatureGeometry">getFeatureGeometry</A></B>(featureNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a GML geometry for the feature
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeatureId">getFeatureId</A></B>(featureNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns an ID value for a node in the feature list
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeatureName">getFeatureName</A></B>(featureNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a label for a node in the feature list
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeatureNodes">getFeatureNodes</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the list of nodes selected by the nodeSelectpath.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeaturePoint">getFeaturePoint</A></B>(featureNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a point geometry for the feature
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getHidden">getHidden</A></B>(layerName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Geta feature's visibility.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#loadWfsRequests">loadWfsRequests</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Called when the OWSContext gets loaded
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setHidden">setHidden</A></B>(featureName, hidden)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Change a feature's visibility.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ModelBase.html">ModelBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ModelBase.html#getProperty">getProperty</a>, <a href="ModelBase.html#getXpathValue">getXpathValue</a>, <a href="ModelBase.html#setXpathValue">setXpathValue</a>, <a href="ModelBase.html#loadModelDoc">loadModelDoc</a>, <a href="ModelBase.html#setModel">setModel</a>, <a href="ModelBase.html#finishLoading">finishLoading</a>, <a href="ModelBase.html#newRequest">newRequest</a>, <a href="ModelBase.html#deleteTemplates">deleteTemplates</a>, <a href="ModelBase.html#saveModel">saveModel</a>, <a href="ModelBase.html#createObject">createObject</a>, <a href="ModelBase.html#loadObjects">loadObjects</a>, <a href="ModelBase.html#parseConfig">parseConfig</a>, <a href="ModelBase.html#refresh">refresh</a>, <a href="ModelBase.html#init">init</a>, <a href="ModelBase.html#clearModel">clearModel</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="Listener.html">Listener</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="Listener.html#addListener">addListener</a>, <a href="Listener.html#addFirstListener">addFirstListener</a>, <a href="Listener.html#removeListener">removeListener</a>, <a href="Listener.html#callListeners">callListeners</a>, <a href="Listener.html#setParam">setParam</a>, <a href="Listener.html#getParam">getParam</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="coordSelectXpath"><!-- --></A>
+   <H3>coordSelectXpath</H3>
+   <PRE>Object&nbsp;<B>coordSelectXpath</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="coordsTagName"><!-- --></A>
+   <H3>coordsTagName</H3>
+   <PRE>Object&nbsp;<B>coordsTagName</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="featureTagName"><!-- --></A>
+   <H3>featureTagName</H3>
+   <PRE>Object&nbsp;<B>featureTagName</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="hidden"><!-- --></A>
+   <H3>hidden</H3>
+   <PRE>Object&nbsp;<B>hidden</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="nodeSelectXpath"><!-- --></A>
+   <H3>nodeSelectXpath</H3>
+   <PRE>Object&nbsp;<B>nodeSelectXpath</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="FeatureCollection()"><!-- --></A><H3>
+FeatureCollection</H3>
+<PRE><B>FeatureCollection</B>(modelNode, parent)</PRE>
+
+
+<UL>
+   Stores a GML Feature or FeatureCollection as defined by the
+ Open Geospatial Consortium (http://www.opengeospatial.org/).
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>modelNode</CODE> -  The model's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>parent</CODE> -     The parent model for the object.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Cameron Shorter  <BR/><B>Requires:</B><UL>- <a href="Sarissa.html#">Sarissa</a></UL>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="convertCoords"><!-- --></A>
+   <H3>convertCoords</H3>
+   <PRE>void <B>convertCoords</B>(objRef)</PRE>
+   
+      <UL>convert coordinates in the GML document to the SRS of the map container, 
+ if required.  The coordinate values are replaced in the GML document.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getFeatureGeometry"><!-- --></A>
+   <H3>getFeatureGeometry</H3>
+   <PRE>Object <B>getFeatureGeometry</B>(featureNode)</PRE>
+   
+      <UL>Returns a GML geometry for the feature</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureNode</CODE> -  the feature node to select from  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the GML for the node 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getFeatureId"><!-- --></A>
+   <H3>getFeatureId</H3>
+   <PRE>Object <B>getFeatureId</B>(featureNode)</PRE>
+   
+      <UL>Returns an ID value for a node in the feature list</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureNode</CODE> -  the feature node to selectfrom  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        ID for this feature 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getFeatureName"><!-- --></A>
+   <H3>getFeatureName</H3>
+   <PRE>Object <B>getFeatureName</B>(featureNode)</PRE>
+   
+      <UL>Returns a label for a node in the feature list</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureNode</CODE> -  the feature node to selectfrom  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        a label for this feature 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getFeatureNodes"><!-- --></A>
+   <H3>getFeatureNodes</H3>
+   <PRE>Object <B>getFeatureNodes</B>()</PRE>
+   
+      <UL>Returns the list of nodes selected by the nodeSelectpath.  These nodes
+ will be the individual feature members from the collection.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        list of nodes selected 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getFeaturePoint"><!-- --></A>
+   <H3>getFeaturePoint</H3>
+   <PRE>Object <B>getFeaturePoint</B>(featureNode)</PRE>
+   
+      <UL>Returns a point geometry for the feature</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureNode</CODE> -  the feature node to select from  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the geometric point for the node 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getHidden"><!-- --></A>
+   <H3>getHidden</H3>
+   <PRE>Object <B>getHidden</B>(layerName)</PRE>
+   
+      <UL>Geta feature's visibility.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureName</CODE> -  The name of the feature to set the hidden value for  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        hidden value, true=hidden, false=not hidden. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="loadWfsRequests"><!-- --></A>
+   <H3>loadWfsRequests</H3>
+   <PRE>void <B>loadWfsRequests</B>(objRef)</PRE>
+   
+      <UL>Called when the OWSContext gets loaded</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setHidden"><!-- --></A>
+   <H3>setHidden</H3>
+   <PRE>void <B>setHidden</B>(featureName, hidden)</PRE>
+   
+      <UL>Change a feature's visibility.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureName</CODE> -  The name of the feature to set the hidden value for  
+      </UL> 
+   
+     <UL><CODE>hidden</CODE> - , 1=hidden, 0=not hidden.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-FeatureCollection.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Extent.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="FeatureInfo.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FeatureCollection.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ModelStatus.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ModelStatus.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ModelStatus.js.html	(revision 4307)
@@ -0,0 +1,205 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="ModelStatus.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>ModelStatus.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'ModelStatus.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="ModelStatus.html">ModelStatus</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: ModelStatus.js 1671 2005-09-20 02:37:54Z madair1 $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Widget to display the status of a model, repainted whenever the model status
+ * param is set.
+ * TBD: not yet completed
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode  This widget's object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model that this widget is a view of.
+ */</span>
+
+<span class="reserved">function</span> ModelStatus(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+
+  <span class="comment">/**
+   * initializes stylesheet parameters for the widget
+   * <span class="attrib">@param</span> objRef Pointer to this widget object.
+   */</span>
+  <span class="reserved">this</span>.prePaint = <span class="reserved">function</span>(objRef) {
+    objRef.stylesheet.setParameter(<span class="literal">"statusMessage"</span>, objRef.targetModel.getParam(<span class="literal">"modelStatus"</span>));
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"modelStatus"</span>,<span class="reserved">this</span>.paint,<span class="reserved">this</span>);
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-LayerControl.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-LayerControl.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-LayerControl.js.html	(revision 4307)
@@ -0,0 +1,294 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="LayerControl.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>LayerControl.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'LayerControl.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="LayerControl.html">LayerControl</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: GPL as per: http://www.gnu.org/copyleft/gpl.html
+$Id: LayerControl.js 3607 2007-11-16 05:06:51Z rdewit $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Widget to allow control of layer odering, visibility, deletion
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@author</span> adair
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> LayerControl(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+
+  <span class="comment">/**
+   * Override of widget prepaint to set some stylesheet parameters including 
+   * featureName (for OWS Context) and hidden attribute.
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.prePaint = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">if</span> (objRef.model.featureName) {
+    
+      objRef.stylesheet.setParameter(<span class="literal">"featureName"</span>, objRef.model.featureName );
+      objRef.stylesheet.setParameter(<span class="literal">"hidden"</span>, objRef.model.getHidden(objRef.model.featureName).toString() );
+    }
+  }
+
+  <span class="comment">/**
+   * Displays a layer in a preview pane when mouse is over the table row
+   * <span class="attrib">@param</span> layerId  the name of the layer to highlight
+   */</span>
+  <span class="reserved">this</span>.highlightLayer = <span class="reserved">function</span>(layerId) {
+    var layer = <span class="reserved">this</span>.model.map.mbMapPane.oLlayers[layerId].div;
+    var previewImage = document.getElementById(<span class="literal">"previewImage"</span>);
+    try {
+      <span class="reserved">if</span> (previewImage &amp;&amp; layer) previewImage.src = layer.firstChild.firstChild.src;
+    } catch(e) {}
+  }
+
+  <span class="comment">/**
+   * Listener method to paint this widget
+   * <span class="attrib">@param</span> layerName  the name of the layer to highlight
+   */</span>
+  <span class="reserved">this</span>.refresh = <span class="reserved">function</span>(objRef, layerName) {
+    objRef.paint(objRef, objRef.id);
+  }
+  
+  <span class="reserved">this</span>.foldUnfoldGroup = <span class="reserved">function</span>(groupName,id) {
+<span class="comment">    // context config stuff to maintain group folding over refresh</span>
+    var xpathExpression = <span class="literal">"//wmc:General/wmc:Extension/wmc:GroupList/wmc:Group[@name='"</span> + groupName + <span class="literal">"']"</span>;
+<span class="comment">    //var thisGroupsLayerNodes = model.doc.selectNodes(xpathExpression);</span>
+    var thisGroupsNode = model.doc.selectSingleNode(xpathExpression);
+    var thisGroupsFoldedState = thisGroupsNode.getAttribute(<span class="literal">'folded'</span>);
+    var e =document.getElementById(id);
+    <span class="reserved">if</span>(thisGroupsFoldedState == <span class="literal">"1"</span>) {
+		thisGroupsNode.setAttribute(<span class="literal">"folded"</span>, <span class="literal">"0"</span>);
+		e.value=<span class="literal">"-"</span>;
+		
+	} <span class="reserved">else</span> {
+		thisGroupsNode.setAttribute(<span class="literal">"folded"</span>, <span class="literal">"1"</span>);
+		e.value=<span class="literal">"+"</span>;
+	}
+	
+  }
+
+  <span class="comment">/**
+   * not working yet
+   * <span class="attrib">@param</span> layerId  the name of the layer to highlight
+   */</span>
+  <span class="reserved">this</span>.showLayerMetadata = <span class="reserved">function</span>(layerId) {
+    var metadataWidget = config.objects.layerMetadata;
+    <span class="reserved">if</span> (metadataWidget) {
+      metadataWidget.stylesheet.setParameter(<span class="literal">"featureName"</span>,layerId);
+      metadataWidget.node = document.getElementById(metadataWidget.htmlTagId);
+      metadataWidget.paint(metadataWidget);
+    }
+  }
+  
+  <span class="comment">/**
+   * Change image source from imageA to imageB
+   * <span class="attrib">@param</span> id  id of image tag where we want to change the source
+   * <span class="attrib">@param</span> imageA   url of imageA
+   * <span class="attrib">@param</span> imageB   url of imageB
+   */</span>
+  <span class="reserved">this</span>.ChangeImage= <span class="reserved">function</span> (id, imageA, imageB) {
+     var indexA=document.getElementById(id).src.indexOf(imageA);
+     var indexB=document.getElementById(id).src.indexOf(imageB);
+     <span class="reserved">if</span> (document.getElementById(id) != null) {
+        <span class="reserved">if</span> (indexA != -1) { <span class="comment">/* HACK for IE. */</span>
+            document.getElementById(id).src=document.getElementById(id).src.substring(0,indexA)+imageB;
+        } <span class="reserved">else</span> {
+           document.getElementById(id).src=document.getElementById(id).src.substring(0,indexB)+imageA;
+        }
+     }
+     <span class="reserved">return</span>;
+}
+
+<span class="comment">/**
+   * Display or fold  the layer's legend
+   * <span class="attrib">@param</span> id  id of legend div
+   */</span>
+	<span class="reserved">this</span>.switchVisibilityById = <span class="reserved">function</span> (id) {
+	e =document.getElementById(id);
+	
+		<span class="reserved">if</span> (e.style.display==<span class="literal">"none"</span>) {
+			e.style.display = <span class="literal">"block"</span>;
+		} <span class="reserved">else</span> {
+			e.style.display = <span class="literal">"none"</span>;
+		}
+		
+	
+     }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"deleteLayer"</span>,<span class="reserved">this</span>.refresh, <span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"moveLayerUp"</span>,<span class="reserved">this</span>.refresh, <span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"moveLayerDown"</span>,<span class="reserved">this</span>.refresh, <span class="reserved">this</span>);
+  <span class="reserved">if</span> (<span class="reserved">this</span>.autoRefresh) <span class="reserved">this</span>.model.addListener(<span class="literal">"addLayer"</span>,<span class="reserved">this</span>.refresh, <span class="reserved">this</span>);
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Reset.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Reset.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Reset.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Reset.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Reset.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Reset.js.html" 
+                                        target="classFrame">Reset.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Reset.html" TARGET="classFrame">Reset</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-FeatureSelectHandler.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-FeatureSelectHandler.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-FeatureSelectHandler.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ FeatureSelectHandler.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" FeatureSelectHandler.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-FeatureSelectHandler.js.html" 
+                                        target="classFrame">FeatureSelectHandler.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="FeatureSelectHandler.html" TARGET="classFrame">FeatureSelectHandler</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Caps2Context.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Caps2Context.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Caps2Context.html	(revision 4307)
@@ -0,0 +1,457 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Caps2Context
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Caps2Context";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Caps2Context.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="ButtonBase.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="CollectionList.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Caps2Context.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Caps2Context</H2>
+<PRE>Object
+   |
+   +--<a href='ToolBase.html'>ToolBase</a>
+         |
+         +--<b>Caps2Context</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Caps2Context</B>
+   
+      <DT>extends <a href='ToolBase.html'>ToolBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Caps2Context.js.html'>Caps2Context.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#stylesheet">stylesheet</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ToolBase.html">ToolBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ToolBase.html#model">model</a>, <a href="ToolBase.html#toolNode">toolNode</a>, <a href="ToolBase.html#enabled">enabled</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Caps2Context.html#Caps2Context()">Caps2Context</A> 
+	 </B>
+	 (toolNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Build a Web Map Context (WMC) from a Web Map Server getCapabilities response.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#mapAllLayers">mapAllLayers</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Listener function which does the transformation and loads the target model
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#mapSingleLayer">mapSingleLayer</A></B>(objRef, layerName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Listener function which does the transformation and loads the target model.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ToolBase.html">ToolBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ToolBase.html#initTargetModel">initTargetModel</a>, <a href="ToolBase.html#initMouseHandler">initMouseHandler</a>, <a href="ToolBase.html#getProperty">getProperty</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="stylesheet"><!-- --></A>
+   <H3>stylesheet</H3>
+   <PRE>Object&nbsp;<B>stylesheet</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Caps2Context()"><!-- --></A><H3>
+Caps2Context</H3>
+<PRE><B>Caps2Context</B>(toolNode, model)</PRE>
+
+
+<UL>
+   Build a Web Map Context (WMC) from a Web Map Server getCapabilities response.
+ This tool will replace the identified targetModel as opposed to editing
+ the target model which the EditContext tool will do.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>toolNode</CODE> -  The tools's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -     The model that this tool belongs to
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="mapAllLayers"><!-- --></A>
+   <H3>mapAllLayers</H3>
+   <PRE>void <B>mapAllLayers</B>(objRef)</PRE>
+   
+      <UL>Listener function which does the transformation and loads the target model</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>requestName</CODE> -  the name of the web service operation to execute  
+      </UL> 
+   
+     <UL><CODE>featureNodeId</CODE> -  the id of the node in the doc to be processed by the stylesheet       
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="mapSingleLayer"><!-- --></A>
+   <H3>mapSingleLayer</H3>
+   <PRE>void <B>mapSingleLayer</B>(objRef, layerName)</PRE>
+   
+      <UL>Listener function which does the transformation and loads the target model.
+ this wersion will convert a single layer from the Capabilities doc into a
+ context doc.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>requestName</CODE> -  the name of the web service operation to execute  
+      </UL> 
+   
+     <UL><CODE>featureNodeId</CODE> -  the id of the node in the doc to be processed by the stylesheet       
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Caps2Context.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="ButtonBase.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="CollectionList.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Caps2Context.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Timer.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Timer.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Timer.html	(revision 4307)
@@ -0,0 +1,537 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Timer
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Timer";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Timer.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TabbedContent.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Timestamp.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Timer.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Timer</H2>
+<PRE>Object
+   |
+   +--<a href='ToolBase.html'>ToolBase</a>
+         |
+         +--<b>Timer</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Timer</B>
+   
+      <DT>extends <a href='ToolBase.html'>ToolBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Timer.js.html'>Timer.js</a></I><BR/><BR/><B>Author:</B> Adair  , Ian Turton  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#autoStart">autoStart</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#delay">delay</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#eventName">eventName</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#eventValue">eventValue</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#interval">interval</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ToolBase.html">ToolBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ToolBase.html#model">model</a>, <a href="ToolBase.html#toolNode">toolNode</a>, <a href="ToolBase.html#enabled">enabled</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Timer.html#Timer()">Timer</A> 
+	 </B>
+	 (toolNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Timer to fire an event at the specified interval.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#play">play</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Starts the timer playing by using a JavaScript timer.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#startOnLoad">startOnLoad</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#stop">stop</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Stops the JavaScript timer.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ToolBase.html">ToolBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ToolBase.html#initTargetModel">initTargetModel</a>, <a href="ToolBase.html#initMouseHandler">initMouseHandler</a>, <a href="ToolBase.html#getProperty">getProperty</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="autoStart"><!-- --></A>
+   <H3>autoStart</H3>
+   <PRE>Object&nbsp;<B>autoStart</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="delay"><!-- --></A>
+   <H3>delay</H3>
+   <PRE>Object&nbsp;<B>delay</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="eventName"><!-- --></A>
+   <H3>eventName</H3>
+   <PRE>Object&nbsp;<B>eventName</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="eventValue"><!-- --></A>
+   <H3>eventValue</H3>
+   <PRE>Object&nbsp;<B>eventValue</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="interval"><!-- --></A>
+   <H3>interval</H3>
+   <PRE>Object&nbsp;<B>interval</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Timer()"><!-- --></A><H3>
+Timer</H3>
+<PRE><B>Timer</B>(toolNode, model)</PRE>
+
+
+<UL>
+   Timer to fire an event at the specified interval.  Any MapBuilder event name may be used,
+ and the eventValue may be a funtion call which returns the expected value for setParam().
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>toolNode</CODE> -  The tool node from the config document for this tool  
+     </UL>
+   
+     <UL><CODE>model</CODE> -   the model object that contains this tool
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Adair  , Ian Turton  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="play"><!-- --></A>
+   <H3>play</H3>
+   <PRE>void <B>play</B>()</PRE>
+   
+      <UL>Starts the timer playing by using a JavaScript timer.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="startOnLoad"><!-- --></A>
+   <H3>startOnLoad</H3>
+   <PRE>void <B>startOnLoad</B>(objRef)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="stop"><!-- --></A>
+   <H3>stop</H3>
+   <PRE>void <B>stop</B>()</PRE>
+   
+      <UL>Stops the JavaScript timer.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Timer.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TabbedContent.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Timestamp.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Timer.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-OverviewMap.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-OverviewMap.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-OverviewMap.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ OverviewMap.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" OverviewMap.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-OverviewMap.js.html" 
+                                        target="classFrame">OverviewMap.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="OverviewMap.html" TARGET="classFrame">OverviewMap</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/GmlRendererConfig.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/GmlRendererConfig.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/GmlRendererConfig.html	(revision 4307)
@@ -0,0 +1,376 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+GmlRendererConfig
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="GmlRendererConfig";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-GmlRendererConfig.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="GmlRendererBase.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="GmlRendererOL.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GmlRendererConfig.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class GmlRendererConfig</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='GmlRendererBase.html'>GmlRendererBase</a>
+               |
+               +--<b>GmlRendererConfig</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>GmlRendererConfig</B>
+   
+      <DT>extends <a href='GmlRendererBase.html'>GmlRendererBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-GmlRendererConfig.js.html'>GmlRendererConfig.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="GmlRendererBase.html">GmlRendererBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="GmlRendererBase.html#featureSRS">featureSRS</a>, <a href="GmlRendererBase.html#hoverCursorNode">hoverCursorNode</a>, <a href="GmlRendererBase.html#sldModelNode">sldModelNode</a>, <a href="GmlRendererBase.html#defaultStyleName">defaultStyleName</a>, <a href="GmlRendererBase.html#selectStyleName">selectStyleName</a>, <a href="GmlRendererBase.html#config">config</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="GmlRendererConfig.html#GmlRendererConfig()">GmlRendererConfig</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Configuration for GmlRendererOL.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#init">init</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="GmlRendererConfig()"><!-- --></A><H3>
+GmlRendererConfig</H3>
+<PRE><B>GmlRendererConfig</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Configuration for GmlRendererOL.
+ This widget is used in models that merge into a MergeModel to specify
+ a GmlRenderer configuration (sld, cursor style). The GmlRendererOL in
+ the MergeModel will check for configurations in source models and use
+ them.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="init"><!-- --></A>
+   <H3>init</H3>
+   <PRE>void <B>init</B>(objRef)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-GmlRendererConfig.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="GmlRendererBase.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="GmlRendererOL.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GmlRendererConfig.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/StyledLayerDescriptor.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/StyledLayerDescriptor.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/StyledLayerDescriptor.html	(revision 4307)
@@ -0,0 +1,508 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+StyledLayerDescriptor
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="StyledLayerDescriptor";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-StyledLayerDescriptor.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="ShowDistance.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TabbedContent.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="StyledLayerDescriptor.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class StyledLayerDescriptor</H2>
+<PRE>Object
+   |
+   +--<a href='Listener.html'>Listener</a>
+         |
+         +--<a href='ModelBase.html'>ModelBase</a>
+               |
+               +--<b>StyledLayerDescriptor</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>StyledLayerDescriptor</B>
+   
+      <DT>extends <a href='ModelBase.html'>ModelBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <B>Author:</B> Olivier Terral  <BR/><I>Defined in <a href='overview-summary-StyledLayerDescriptor.js.html'>StyledLayerDescriptor.js</a></I><BR/><BR/><B>Requires:</B><UL>- <a href="Sarissa.html#">Sarissa</a></UL>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#namespace">namespace</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#sld">sld</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#sldXPath">sldXPath</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ModelBase.html">ModelBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ModelBase.html#async">async</a>, <a href="ModelBase.html#contentType">contentType</a>, <a href="ModelBase.html#modelNode">modelNode</a>, <a href="ModelBase.html#id">id</a>, <a href="ModelBase.html#title">title</a>, <a href="ModelBase.html#debug">debug</a>, <a href="ModelBase.html#url">url</a>, <a href="ModelBase.html#method">method</a>, <a href="ModelBase.html#namespace">namespace</a>, <a href="ModelBase.html#template">template</a>, <a href="ModelBase.html#nodeSelectXpath">nodeSelectXpath</a>, <a href="ModelBase.html#config">config</a>, <a href="ModelBase.html#parentModel">parentModel</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="Listener.html">Listener</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="Listener.html#listeners">listeners</a>, <a href="Listener.html#values">values</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="StyledLayerDescriptor.html#StyledLayerDescriptor()">StyledLayerDescriptor</A> 
+	 </B>
+	 (modelNode, parent)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Stores a SLD file  as defined by the
+ Open Geospatial Consortium (http://www.opengeospatial.org/).
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getSldNode">getSldNode</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#loadSLD">loadSLD</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 loads the sld into an OpenLayers hash representing the sld.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ModelBase.html">ModelBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ModelBase.html#getProperty">getProperty</a>, <a href="ModelBase.html#getXpathValue">getXpathValue</a>, <a href="ModelBase.html#setXpathValue">setXpathValue</a>, <a href="ModelBase.html#loadModelDoc">loadModelDoc</a>, <a href="ModelBase.html#setModel">setModel</a>, <a href="ModelBase.html#finishLoading">finishLoading</a>, <a href="ModelBase.html#newRequest">newRequest</a>, <a href="ModelBase.html#deleteTemplates">deleteTemplates</a>, <a href="ModelBase.html#saveModel">saveModel</a>, <a href="ModelBase.html#createObject">createObject</a>, <a href="ModelBase.html#loadObjects">loadObjects</a>, <a href="ModelBase.html#parseConfig">parseConfig</a>, <a href="ModelBase.html#refresh">refresh</a>, <a href="ModelBase.html#init">init</a>, <a href="ModelBase.html#clearModel">clearModel</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="Listener.html">Listener</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="Listener.html#addListener">addListener</a>, <a href="Listener.html#addFirstListener">addFirstListener</a>, <a href="Listener.html#removeListener">removeListener</a>, <a href="Listener.html#callListeners">callListeners</a>, <a href="Listener.html#setParam">setParam</a>, <a href="Listener.html#getParam">getParam</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="namespace"><!-- --></A>
+   <H3>namespace</H3>
+   <PRE>Object&nbsp;<B>namespace</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="sld"><!-- --></A>
+   <H3>sld</H3>
+   <PRE>Object&nbsp;<B>sld</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="sldXPath"><!-- --></A>
+   <H3>sldXPath</H3>
+   <PRE>Object&nbsp;<B>sldXPath</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="StyledLayerDescriptor()"><!-- --></A><H3>
+StyledLayerDescriptor</H3>
+<PRE><B>StyledLayerDescriptor</B>(modelNode, parent)</PRE>
+
+
+<UL>
+   Stores a SLD file  as defined by the
+ Open Geospatial Consortium (http://www.opengeospatial.org/).
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>modelNode</CODE> -  The model's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>parent</CODE> -     The parent model for the object.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Olivier Terral  <BR/><B>Requires:</B><UL>- <a href="Sarissa.html#">Sarissa</a></UL>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="getSldNode"><!-- --></A>
+   <H3>getSldNode</H3>
+   <PRE>Object <B>getSldNode</B>()</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="loadSLD"><!-- --></A>
+   <H3>loadSLD</H3>
+   <PRE>void <B>loadSLD</B>(objRef)</PRE>
+   
+      <UL>loads the sld into an OpenLayers hash representing the sld.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this model.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-StyledLayerDescriptor.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="ShowDistance.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TabbedContent.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="StyledLayerDescriptor.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-CollectionList.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-CollectionList.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-CollectionList.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ CollectionList.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" CollectionList.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-CollectionList.js.html" 
+                                        target="classFrame">CollectionList.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="CollectionList.html" TARGET="classFrame">CollectionList</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-History.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-History.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-History.js.html	(revision 4307)
@@ -0,0 +1,304 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="History.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>History.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'History.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="History.html">History</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Steven Ottens AT geodan.nl
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: History.js 2956 2007-07-09 12:17:52Z steven $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/tool/ToolBase.js"</span>);
+
+
+<span class="comment">/**
+ * A tool designed to store the history of the extent during a session
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ToolBase
+ * <span class="attrib">@param</span> toolNode  The node for this tool from the configuration document.
+ * <span class="attrib">@param</span> model     The model object that contains this tool
+ */</span>
+<span class="reserved">function</span> History(toolNode, model) {
+  ToolBase.apply(<span class="reserved">this</span>, new Array(toolNode, model));
+
+  <span class="comment">/**
+   * Inititialising the history and setting start parameters
+   * <span class="attrib">@param</span> objRef  pointer to this object.
+   */</span>
+
+	<span class="reserved">this</span>.init = <span class="reserved">function</span>(objRef) {
+		objRef.model.active = -1;
+    objRef.model.historyList = new Array();
+    objRef.add(objRef);
+  }
+
+  <span class="comment">/**
+   * This adds the current extent to the historyList
+   * <span class="attrib">@param</span> objRef  pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.add = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">if</span> (objRef.model.active!=null) {
+      var place = objRef.model.active;
+      var list = objRef.model.historyList;
+      var center = objRef.targetModel.map.getExtent().getCenterLonLat();
+<span class="comment">      // take the current scale -1, otherwise we get troubles when</span>
+<span class="comment">      // fixed scales are defined</span>
+      var scale = objRef.targetModel.map.getScale()-1;
+      <span class="reserved">if</span> (place &gt; -1) {
+<span class="comment">        // check if current and previous history entry would result</span>
+<span class="comment">        // in same center point and zoom level. If this is the case,</span>
+<span class="comment">        // we do not want a new entry in the list</span>
+        <span class="reserved">if</span> (center.toString() == list[place].center.toString() &amp;&amp;
+            scale == list[place].scale) {
+          <span class="reserved">return</span>;
+        }
+      }
+      var newExtent = new Object({center:center, scale:scale});
+
+      <span class="reserved">if</span>( place==(list.length-1)) { //If we are already at the end of the list add a new item
+        list.push(newExtent); 
+        place = place+1; 
+      }
+      <span class="reserved">else</span> { //If we are somewhere in the middle of the list clear the rest of the list and add a new item
+        place = place+1;
+        list = list.slice(0,place);
+        list.push(newExtent);
+      }
+      objRef.model.active = place;
+      objRef.model.historyList = list;
+    }
+  }
+
+  <span class="comment">/**
+   * This returns the previous extent in the list
+   * <span class="attrib">@param</span> objRef  pointer to this object.
+   */</span>
+
+  <span class="reserved">this</span>.back = <span class="reserved">function</span>(objRef){
+    var place = objRef.model.active;
+    <span class="reserved">if</span>(place&lt;1) {
+      objRef.model.previousExtent = null;
+      alert(mbGetMessage(<span class="literal">"cantGoBack"</span>));
+    }
+    <span class="reserved">else</span> {
+      place = place -1;
+      objRef.model.active = place;
+      objRef.model.previousExtent = objRef.model.historyList[place];
+    }
+
+  }
+  <span class="comment">/**
+   * This returns the next extent in the list
+   * <span class="attrib">@param</span> objRef  pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.forward = <span class="reserved">function</span>(objRef) {
+    var place = objRef.model.active;
+    <span class="reserved">if</span>(place&lt;(objRef.model.historyList.length-1)) {
+      place = place +1;
+      objRef.model.active = place;
+      objRef.model.nextExtent = objRef.model.historyList[place];
+    }
+    <span class="reserved">else</span> {
+      objRef.model.nextExtent = null;
+      alert(mbGetMessage(<span class="literal">"cantGoForward"</span>));
+    }
+  }
+
+  <span class="comment">/**
+   * This stops the listener, to prevent the undo/redo steps to appear in the list
+   * <span class="attrib">@param</span> objRef  pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.stop = <span class="reserved">function</span>(objRef) {
+    objRef.model.removeListener(<span class="literal">"bbox"</span>,objRef.add, objRef);
+  }
+  
+  <span class="comment">/**
+   * This restarts the listener after undo/redo is done.
+   * <span class="attrib">@param</span> objRef  pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.start = <span class="reserved">function</span>(objRef) {
+    objRef.model.addListener(<span class="literal">"bbox"</span>,objRef.add, objRef);
+  }
+  <span class="comment">/**
+    * Set the loadModel listener in response to the init event
+    * <span class="attrib">@param</span> objRef pointer to this object.
+    */</span>
+  <span class="reserved">this</span>.initReset = <span class="reserved">function</span>(objRef) {
+    objRef.targetModel.addListener(<span class="literal">"bbox"</span>, objRef.add, objRef);
+    objRef.targetModel.addListener(<span class="literal">"loadModel"</span>, objRef.init, objRef);
+	}
+
+	<span class="reserved">this</span>.model.addListener(<span class="literal">"historyBack"</span>, <span class="reserved">this</span>.back, <span class="reserved">this</span>);
+	<span class="reserved">this</span>.model.addListener(<span class="literal">"historyForward"</span>, <span class="reserved">this</span>.forward, <span class="reserved">this</span>);
+	<span class="reserved">this</span>.model.addListener(<span class="literal">"historyStart"</span>, <span class="reserved">this</span>.start, <span class="reserved">this</span>);
+	<span class="reserved">this</span>.model.addListener(<span class="literal">"historyStop"</span>, <span class="reserved">this</span>.stop, <span class="reserved">this</span>);
+	<span class="reserved">this</span>.model.addListener(<span class="literal">"init"</span>, <span class="reserved">this</span>.initReset, <span class="reserved">this</span>);
+}</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-SelectFromAtomFeed.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-SelectFromAtomFeed.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-SelectFromAtomFeed.js.html	(revision 4307)
@@ -0,0 +1,203 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="SelectFromAtomFeed.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>SelectFromAtomFeed.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'SelectFromAtomFeed.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="SelectFromAtomFeed.html">SelectFromAtomFeed</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Cameron Shorter cameronAtshorter.net
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: SelectFromAtomFeed.js 3888 2008-02-27 18:25:45Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * A widget which displays a list of atom elements to select from. The
+ * selected element's URL is loaded as a model, usually a context model.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+
+<span class="reserved">function</span> SelectFromAtomFeed(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+
+  <span class="comment">/**
+   * Switch to another model (usually a map context).
+   * This function is called from SelectFromAtomFeed.xsl
+   * <span class="attrib">@param</span> objRef this widget
+   * <span class="attrib">@modelUrl</span> the URL of the XML we want to switch to.
+   */</span>
+  SelectFromAtomFeed.<span class="reserved">prototype</span>.switchModel=<span class="reserved">function</span>(objRef, modelUrl) {
+    config.loadModel( <span class="reserved">this</span>.targetModel.id, modelUrl );
+  }
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/FeatureSelectHandler.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/FeatureSelectHandler.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/FeatureSelectHandler.html	(revision 4307)
@@ -0,0 +1,895 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+FeatureSelectHandler
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="FeatureSelectHandler";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-FeatureSelectHandler.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="FeatureList.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="FilterAttributes.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FeatureSelectHandler.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class FeatureSelectHandler</H2>
+<PRE>Object
+   |
+   +--<a href='ToolBase.html'>ToolBase</a>
+         |
+         +--<b>FeatureSelectHandler</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>FeatureSelectHandler</B>
+   
+      <DT>extends <a href='ToolBase.html'>ToolBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-FeatureSelectHandler.js.html'>FeatureSelectHandler.js</a></I><BR/><BR/><B>Author:</B> Andreas Hocevar andreas.hocevarATgmail.com  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#map">map</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map for this FeatureSelectHandler.</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#mbFeatureSelectHandler">mbFeatureSelectHandler</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#selectStyle">selectStyle</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#sourceModels">sourceModels</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ToolBase.html">ToolBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ToolBase.html#model">model</a>, <a href="ToolBase.html#toolNode">toolNode</a>, <a href="ToolBase.html#enabled">enabled</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="FeatureSelectHandler.html#FeatureSelectHandler()">FeatureSelectHandler</A> 
+	 </B>
+	 (toolNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Manages mouseover and clicks on vector features in the map.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#clear">clear</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#configInit">configInit</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Tool Initialisation - Step 1 of 3.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#contextInit">contextInit</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Tool Initialisation - Step 2 of 3.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#dehighlight">dehighlight</A></B>(objRef, fid)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Dehighlights the specified feature.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#highlight">highlight</A></B>(objRef, fid)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Highlights the specified feature.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#init">init</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Tool Initialisation - Step 3 of 3.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#onClick">onClick</A></B>(evt)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 This method is triggered when a user clicks on a feature.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#onHover">onHover</A></B>(evt)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 This method is triggered when the mouse is over a feature.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#onSelect">onSelect</A></B>(feature)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 This method is triggered when the mouse is over a vector
+ feature.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#onUnselect">onUnselect</A></B>(feature)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 This method is triggered when the mouse is moving out
+ of a vector feature.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ToolBase.html">ToolBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ToolBase.html#initTargetModel">initTargetModel</a>, <a href="ToolBase.html#initMouseHandler">initMouseHandler</a>, <a href="ToolBase.html#getProperty">getProperty</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="map"><!-- --></A>
+   <H3>map</H3>
+   <PRE>Object&nbsp;<B>map</B></PRE>
+   <UL>
+   Map for this FeatureSelectHandler. We keep a reference
+ to the map we created the control for, to prevent ourselves
+ from removing the control from a map that does not exist
+ anymore.
+   
+   </UL>
+   <HR>
+   
+   <A NAME="mbFeatureSelectHandler"><!-- --></A>
+   <H3>mbFeatureSelectHandler</H3>
+   <PRE>Object&nbsp;<B>mbFeatureSelectHandler</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="selectStyle"><!-- --></A>
+   <H3>selectStyle</H3>
+   <PRE>Object&nbsp;<B>selectStyle</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="sourceModels"><!-- --></A>
+   <H3>sourceModels</H3>
+   <PRE>Object&nbsp;<B>sourceModels</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="FeatureSelectHandler()"><!-- --></A><H3>
+FeatureSelectHandler</H3>
+<PRE><B>FeatureSelectHandler</B>(toolNode, model)</PRE>
+
+
+<UL>
+   Manages mouseover and clicks on vector features in the map.
+ This tool works with models that are linked to a OL vector layer,
+ using eg. the GmlRendererOL widget. Models have to fire the
+ 'gmlRendererLayer' event, which will activate the tool for the
+ layer.
+ This tool also fires "mouseoverFeature" and "mouseoutFeature"
+ events, setting the fid of the feature below the mouse cursor
+ as param of the model.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>toolNode</CODE> -  The tool node from the config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model containing this tool.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Andreas Hocevar andreas.hocevarATgmail.com  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="clear"><!-- --></A>
+   <H3>clear</H3>
+   <PRE>void <B>clear</B>(objRef)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="configInit"><!-- --></A>
+   <H3>configInit</H3>
+   <PRE>void <B>configInit</B>(objRef)</PRE>
+   
+      <UL>Tool Initialisation - Step 1 of 3.
+ This is called when the config finished loading, so we know
+ our context (targetModel).</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  This object      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="contextInit"><!-- --></A>
+   <H3>contextInit</H3>
+   <PRE>void <B>contextInit</B>(objRef)</PRE>
+   
+      <UL>Tool Initialisation - Step 2 of 3.
+ This is called when the context model finished loading, so we
+ know that we have a map available.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  This object      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="dehighlight"><!-- --></A>
+   <H3>dehighlight</H3>
+   <PRE>void <B>dehighlight</B>(objRef, fid)</PRE>
+   
+      <UL>Dehighlights the specified feature. This method is usually
+ triggered by setting the 'dehighlightFeature' param to the
+ fid of a feature to be highlighted.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this tool object  
+      </UL> 
+   
+     <UL><CODE>fid</CODE> -  GML feature id of the feature to highlight. If  not specified, this is taken from the dehighlightFeature  model param.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="highlight"><!-- --></A>
+   <H3>highlight</H3>
+   <PRE>void <B>highlight</B>(objRef, fid)</PRE>
+   
+      <UL>Highlights the specified feature. This method is usually
+ triggered by setting the 'highlightFeature' param to the
+ fid of a feature to be highlighted.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this tool object  
+      </UL> 
+   
+     <UL><CODE>fid</CODE> -  GML feature id of the feature to highlight. If  not specified, this is taken from the highlightFeature  model param.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="init"><!-- --></A>
+   <H3>init</H3>
+   <PRE>Object <B>init</B>(objRef)</PRE>
+   
+      <UL>Tool Initialisation - Step 3 of 3.
+ Turns on feature select when the gmlRendererLayer event is fired.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this object.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        {OpenLayers.Control} class of the OL control. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="onClick"><!-- --></A>
+   <H3>onClick</H3>
+   <PRE>void <B>onClick</B>(evt)</PRE>
+   
+      <UL>This method is triggered when a user clicks on a feature.
+ It is called by OpenLayers event handling in the context
+ of a feature. This means that 'this' in this method refers
+ to an {OpenLayers.Feature}. Widgets listening to the
+ olFeatureSelect have access to the event, because setParam
+ is used to set the reference to the event.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>evt</CODE> -  OpenLayers event      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="onHover"><!-- --></A>
+   <H3>onHover</H3>
+   <PRE>void <B>onHover</B>(evt)</PRE>
+   
+      <UL>This method is triggered when the mouse is over a feature.
+ It is called by OpenLayers event handling in the context
+ of a feature. This means that 'this' in this method refers
+ to an {OpenLayers.Feature}. Widgets listening to the
+ olFeatureHover have access to the event, because setParam
+ is used to set the reference to the event.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>evt</CODE> -  OpenLayers event      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="onSelect"><!-- --></A>
+   <H3>onSelect</H3>
+   <PRE>void <B>onSelect</B>(feature)</PRE>
+   
+      <UL>This method is triggered when the mouse is over a vector
+ feature. It registers priority events mousedown and
+ mousemove, which will call this widget's onClick/onHover
+ method in the context of a feature. This way we address
+ two problems with the OpenLayers SelectFeature control:<pre>
+      - for the info popup, we need the screen coordinates
+        which we do not get from the handler directly.
+      - when the active tool changes, something in the
+        priority of OL event handlers changes, so the
+        click event on the feature gets lost. By registering
+        our priority handler and calling Event.stop() in
+        the target method, we make sure that our event is
+        handled and no other event handlers are triggered.
+ </pre></UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>feature</CODE> -  OpenLayers feature      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="onUnselect"><!-- --></A>
+   <H3>onUnselect</H3>
+   <PRE>void <B>onUnselect</B>(feature)</PRE>
+   
+      <UL>This method is triggered when the mouse is moving out
+ of a vector feature. It removes the event handler we
+ registered in this widget's onSelect method.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>feature</CODE> -  OpenLayers feature      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-FeatureSelectHandler.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="FeatureList.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="FilterAttributes.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FeatureSelectHandler.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/LegendGraphic.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/LegendGraphic.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/LegendGraphic.html	(revision 4307)
@@ -0,0 +1,403 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+LegendGraphic
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="LegendGraphic";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-LegendGraphic.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Legend.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Listener.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="LegendGraphic.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class LegendGraphic</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>LegendGraphic</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>LegendGraphic</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <B>Author:</B> Cameron Shorter cameronATshorter.net  <BR/><B>Deprecated</B> <I></I><BR/><BR/><I>Defined in <a href='overview-summary-LegendGraphic.js.html'>LegendGraphic.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="LegendGraphic.html#LegendGraphic()">LegendGraphic</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Functions to render and update a Legend from a Web Map Context.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#refresh">refresh</A></B>(objRef, layerName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Listener method to paint this widget
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="LegendGraphic()"><!-- --></A><H3>
+LegendGraphic</H3>
+<PRE><B>LegendGraphic</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Functions to render and update a Legend from a Web Map Context.
+ 
+ WARNING: In most cases you probably want either Legend.js or LayerControl.js they
+ both display the legend graphic per layer.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Cameron Shorter cameronATshorter.net  <BR/><B>Deprecated</B> <I></I><BR/><BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="refresh"><!-- --></A>
+   <H3>refresh</H3>
+   <PRE>void <B>refresh</B>(objRef, layerName)</PRE>
+   
+      <UL>Listener method to paint this widget</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerName</CODE> -   the name of the layer to highlight    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-LegendGraphic.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Legend.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Listener.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="LegendGraphic.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/HandsomeNumber.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/HandsomeNumber.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/HandsomeNumber.html	(revision 4307)
@@ -0,0 +1,414 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+HandsomeNumber
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="HandsomeNumber";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-MapScaleBar.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Graticule.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="History.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HandsomeNumber.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class HandsomeNumber</H2>
+<PRE>Object
+   |
+   +--<b>HandsomeNumber</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>HandsomeNumber</B>
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-MapScaleBar.js.html'>MapScaleBar.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#score">score</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#tieBreaker">tieBreaker</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#value">value</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="HandsomeNumber.html#HandsomeNumber()">HandsomeNumber</A> 
+	 </B>
+	 (smallUglyNumber, bigUglyNumber, sigFigs)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#toString">toString</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#valueOf">valueOf</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="score"><!-- --></A>
+   <H3>score</H3>
+   <PRE>Object&nbsp;<B>score</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="tieBreaker"><!-- --></A>
+   <H3>tieBreaker</H3>
+   <PRE>Object&nbsp;<B>tieBreaker</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="value"><!-- --></A>
+   <H3>value</H3>
+   <PRE>Object&nbsp;<B>value</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="HandsomeNumber()"><!-- --></A><H3>
+HandsomeNumber</H3>
+<PRE><B>HandsomeNumber</B>(smallUglyNumber, bigUglyNumber, sigFigs)</PRE>
+
+
+
+
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="toString"><!-- --></A>
+   <H3>toString</H3>
+   <PRE>Object <B>toString</B>()</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="valueOf"><!-- --></A>
+   <H3>valueOf</H3>
+   <PRE>Object <B>valueOf</B>()</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-MapScaleBar.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Graticule.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="History.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HandsomeNumber.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Button.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Button.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Button.html	(revision 4307)
@@ -0,0 +1,335 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Button
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Button";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Button.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Back.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ButtonBase.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Button.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Button</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<b>Button</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Button</B>
+   
+      <DT>extends <a href='ButtonBase.html'>ButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Button.js.html'>Button.js</a></I><BR/><BR/><B>Author:</B> Andreas Hocevar andreas.hocevarATgmail.com  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Button.html#Button()">Button</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Generic Button object.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#doSelect">doSelect</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Button()"><!-- --></A><H3>
+Button</H3>
+<PRE><B>Button</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Generic Button object. Set the <action> property in config for
+ the controller method to be called when selected
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -       The tool node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -   The ButtonBar widget.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Andreas Hocevar andreas.hocevarATgmail.com  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Button.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Back.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ButtonBase.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Button.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/CollectionList.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/CollectionList.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/CollectionList.html	(revision 4307)
@@ -0,0 +1,443 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+CollectionList
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="CollectionList";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-CollectionList.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Caps2Context.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Config.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="CollectionList.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class CollectionList</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>CollectionList</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>CollectionList</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-CollectionList.js.html'>CollectionList.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="CollectionList.html#CollectionList()">CollectionList</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      A widget to display a list of context docs to pick from.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setExtent">setExtent</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Sets the extent of the map that we just switched to.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#switchMap">switchMap</A></B>(objRef, modelUrl)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Switch to another map context, keeping the current extent.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="CollectionList()"><!-- --></A><H3>
+CollectionList</H3>
+<PRE><B>CollectionList</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   A widget to display a list of context docs to pick from.  This is a view of 
+ a Context Collection as specified in the OGC Context specification.
+ The default xsl stylesheet for this widget also uses the switchMap
+ function, which allows to switch to a different map context.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="setExtent"><!-- --></A>
+   <H3>setExtent</H3>
+   <PRE>void <B>setExtent</B>(objRef)</PRE>
+   
+      <UL>Sets the extent of the map that we just switched to.
+ Called when the map is reloaded with the new context.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  this widget      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="switchMap"><!-- --></A>
+   <H3>switchMap</H3>
+   <PRE>void <B>switchMap</B>(objRef, modelUrl)</PRE>
+   
+      <UL>Switch to another map context, keeping the current extent.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  this widget  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-CollectionList.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Caps2Context.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Config.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="CollectionList.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Mapbuilder.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Mapbuilder.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Mapbuilder.js.html	(revision 4307)
@@ -0,0 +1,571 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Mapbuilder.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Mapbuilder.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Mapbuilder.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Mapbuilder.html">Mapbuilder</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+	<a name="method_summary"><!-- --></a>
+	<table border="1" cellpadding="3" cellspacing="0" width="100%">
+		<tr bgcolor="#CCCCFF" class="TableHeadingColor">
+			<td colspan=2>
+				<font size="+2">
+					<b>Method Summary</b>
+				</font>
+			</td>
+		</tr>
+	
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;void</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#checkIESecurity">checkIESecurity</a></b>()
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 copied from sarissa, a function to check browser security setting in IE, 
+ opens a help page if ActiveX objects are disabled.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;void</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#mapbuilderInit">mapbuilderInit</a></b>()
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 Initialise Mapbuilder if script has been loaded, else wait to be called
+ again.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;void</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#mbDoLoad">mbDoLoad</a></b>(initFunction)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 Mapbuilder's main initialisation script.
+		      </td>
+		   </tr>
+		
+	
+	</table>
+    <p>
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Mapbuilder.js 3819 2008-02-01 00:31:29Z ahocevar $
+*/</span>
+
+<span class="comment">/** get a time stamp at start of the page load */</span>
+var mbTimerStart = new Date();
+
+<span class="comment">/** the global config object */</span>
+var config;
+
+<span class="reserved">if</span>( typeof baseDir == <span class="literal">"undefined"</span>) {
+<span class="comment">/** URL of Mapbuilder's lib/ directory. */</span>
+var baseDir;
+}
+
+<span class="comment">/** mapbuilder environement settings, defaults to a .xml extension but is 
+  auto-configured by the ant build script to .jsp for tomcat environment 
+  the URL to this file will be pre-pended with the baseDir value.
+*/</span>
+var mbServerConfig = <span class="literal">"mapbuilderConfig.xml"</span>;
+var mbNsUrl = <span class="literal">"http://mapbuilder.sourceforge.net/mapbuilder"</span>;
+<span class="comment">
+// LoadState Constants</span>
+var MB_UNLOADED=0;    // Scripts not loaded yet
+var MB_LOAD_CORE=1;   // Loading scripts loaded defined in Mapbuilder
+var MB_LOAD_CONFIG=2; // Loading scripts loaded defined in Config
+var MB_LOADED=3;      // All scripts loaded
+
+<span class="comment">/**
+ * This Object bootstraps the Mapbuilder libraries by loading the core
+ * script files.
+ * When Config.js is loaded, the script files for objects described in the
+ * Mapbuilder config file are loaded.
+ * Objects which have dependencies will trigger the dependancies to load
+ * when they are loaded.
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@author</span> Cameron Shorter
+ * <span class="attrib">@requires</span> Config
+ * <span class="attrib">@requires</span> Listener
+ * <span class="attrib">@requires</span> ModelBase
+ * <span class="attrib">@requires</span> Sarissa
+ * <span class="attrib">@requires</span> Util
+ */</span>
+<span class="reserved">function</span> Mapbuilder() {
+
+  <span class="comment">/**
+   * Determines which Mapbuilder scripts are loading.
+   * TBD: Is it possible to use enumerated types in JS?
+   */</span>
+  <span class="reserved">this</span>.loadState=MB_UNLOADED;
+
+  <span class="comment">/** Array of objects that are loading.  Don't continue initialisation until
+   * all objects have loaded. */</span>
+  <span class="reserved">this</span>.loadingScripts=new Array();
+  
+  <span class="comment">/** Array of scripts that have to be loaded ordered */</span>
+  <span class="reserved">this</span>.orderedScripts = new Array();
+  
+  <span class="comment">/** Timer to load ordered scripts */</span>
+  <span class="reserved">this</span>.scriptLoader = null;
+
+  <span class="comment">/** Timer to periodically check if scripts have loaded. */</span>
+  <span class="reserved">this</span>.scriptsTimer=null;
+
+  <span class="comment">/**
+   * Called periodically and moves onto the next loadState when this round of
+   * scripts have loaded.
+   * For IE clients, object.readyState is used to check if scripts are loaded.
+   * Mozilla works fine without this function - I think it is single threaded.
+   */</span>
+  <span class="reserved">this</span>.checkScriptsLoaded=<span class="reserved">function</span>() {
+    <span class="reserved">if</span> (document.readyState!=null){
+<span class="comment">      // IE client</span>
+<span class="comment">
+      // Scripts are removed from array when they have loaded</span>
+      <span class="reserved">while</span>(<span class="reserved">this</span>.loadingScripts.length&gt;0
+        &amp;&amp;(<span class="reserved">this</span>.loadingScripts[0].readyState==<span class="literal">"loaded"</span>
+          ||<span class="reserved">this</span>.loadingScripts[0].readyState==<span class="literal">"complete"</span>
+          ||<span class="reserved">this</span>.loadingScripts[0].readyState==null))
+      {
+        <span class="reserved">this</span>.loadingScripts.shift();
+      }
+      <span class="reserved">if</span> (<span class="reserved">this</span>.loadingScripts.length==0 &amp;&amp; <span class="reserved">this</span>.orderedScripts.length == 0){
+        <span class="reserved">this</span>.setLoadState(<span class="reserved">this</span>.loadState+1);
+      }
+    }
+    <span class="reserved">else</span>{
+<span class="comment">      // Mozilla client</span>
+      <span class="reserved">if</span>(<span class="reserved">this</span>.loadState==MB_LOAD_CORE &amp;&amp; config!=null){
+<span class="comment">        // Config has finished loading</span>
+        <span class="reserved">this</span>.setLoadState(MB_LOAD_CONFIG);
+      }
+    }
+  }
+
+  <span class="comment">/**
+   * Move onto loading the next set of scripts.
+   * <span class="attrib">@param</span> newState The new loading state.
+   */</span>
+  <span class="reserved">this</span>.setLoadState=<span class="reserved">function</span>(newState){
+    <span class="reserved">this</span>.loadState=newState;
+    switch (newState){
+      case MB_LOAD_CORE:
+<span class="comment">        // core scripts have to be loaded in the correct order (needed for IE)</span>
+        <span class="reserved">this</span>.loadOrdered = true;
+        <span class="reserved">this</span>.loadScript(baseDir+<span class="literal">"/util/openlayers/OpenLayers.js"</span>);
+        <span class="reserved">this</span>.loadScript(baseDir+<span class="literal">"/util/sarissa/Sarissa.js"</span>);
+        <span class="reserved">this</span>.loadScript(baseDir+<span class="literal">"/util/sarissa/javeline_xpath.js"</span>);
+        <span class="reserved">this</span>.loadScript(baseDir+<span class="literal">"/util/sarissa/javeline_xslt.js"</span>);
+        <span class="reserved">this</span>.loadScript(baseDir+<span class="literal">"/util/sarissa/sarissa_dhtml.js"</span>);
+        <span class="reserved">this</span>.loadScript(baseDir+<span class="literal">"/util/sarissa/sarissa_ieemu_xpath.js"</span>);
+<span class="comment">        //this.loadScript(baseDir+"/util/sarissa/sarissa_ieemu_xslt.js");//all deprecated</span>
+        <span class="reserved">this</span>.loadScript(baseDir+<span class="literal">"/util/proj4js/proj4js-compressed.js"</span>);
+        <span class="reserved">this</span>.loadScript(baseDir+<span class="literal">"/util/Util.js"</span>);
+        <span class="reserved">this</span>.loadScript(baseDir+<span class="literal">"/util/Listener.js"</span>);
+        <span class="reserved">this</span>.loadScript(baseDir+<span class="literal">"/model/ModelBase.js"</span>);
+        <span class="reserved">this</span>.loadScript(baseDir+<span class="literal">"/model/Config.js"</span>);
+<span class="comment">        // from now on, scripts can be loaded in any order</span>
+        <span class="reserved">this</span>.loadOrdered = false;
+        break;
+      case MB_LOAD_CONFIG:
+        <span class="reserved">if</span>(document.readyState){
+<span class="comment">          // IE</span>
+          config=new Config(mbConfigUrl);
+          config.loadConfigScripts();
+        }<span class="reserved">else</span>{
+<span class="comment">          // Mozilla</span>
+          <span class="reserved">this</span>.setLoadState(MB_LOADED);
+        }
+        break;
+      case MB_LOADED:
+        window.clearInterval(<span class="reserved">this</span>.scriptsTimer);
+        break;
+    }
+  }
+
+  <span class="comment">/**
+   * Dynamically load a script file if it has not already been loaded.
+   * <span class="attrib">@param</span> url The url of the script.
+   * that loadScript was called
+   */</span>
+  <span class="reserved">this</span>.loadScript=<span class="reserved">function</span>(url){
+<span class="comment">    // if we are working with a compressed build, load only scripts that</span>
+<span class="comment">    // are not part of the compressed build. This check is done by looking</span>
+<span class="comment">    // into the global namespace for a function that has the same name as</span>
+<span class="comment">    // the script file (without path and without .js). Because script files</span>
+<span class="comment">    // in the util dir do not follow that pattern, exclude them from the</span>
+<span class="comment">    // check separately.</span>
+    <span class="reserved">if</span>(typeof MapBuilder_Release == <span class="literal">"boolean"</span>) {
+      <span class="reserved">if</span> (url.indexOf(baseDir+<span class="literal">"/util/"</span>) != -1) {
+        <span class="reserved">return</span>;
+      }
+      var urlElements = url.split(<span class="literal">"/"</span>);
+      var scriptClass = urlElements[urlElements.length-1].replace(/.js$/, <span class="literal">""</span>);
+      <span class="reserved">if</span>(typeof window[scriptClass] == <span class="literal">"function"</span>) {
+        <span class="reserved">return</span>;
+      }
+    }
+
+    <span class="reserved">if</span>(!document.getElementById(url)){
+      var script = document.createElement(<span class="literal">'script'</span>);
+      script.src = url;
+      script.id = url;
+      script.defer = false;   //not sure of effect of <span class="reserved">this</span>?
+      script.type = <span class="literal">"text/javascript"</span>;
+      <span class="reserved">if</span> (document.readyState &amp;&amp; <span class="reserved">this</span>.loadOrdered == true) {
+<span class="comment">        // in IE, mark the script as ordered</span>
+        <span class="reserved">this</span>.orderedScripts.push(script);
+        <span class="reserved">if</span> (!<span class="reserved">this</span>.scriptLoader) {
+          <span class="reserved">this</span>.scriptLoader = window.setInterval(<span class="literal">'mapbuilder.loadNextScript()'</span>, 50);
+        }
+      } <span class="reserved">else</span> {
+<span class="comment">        // add to dom tree, except if we are using IE and want to load ordered</span>
+        document.getElementsByTagName(<span class="literal">'head'</span>)[0].appendChild(script);
+      }
+      <span class="reserved">if</span> (document.readyState) {
+<span class="comment">        // this is only needed for IE</span>
+        <span class="reserved">this</span>.loadingScripts.push(script);
+      }
+    }
+  }
+   
+  <span class="comment">/**
+   * loads one script after another - only for IE. This function is run in a
+   * 50ms interval and clears its interval if there are no more scripts to
+   * load. It actually loads the first script from the orderedScripts array.
+   */</span>
+  <span class="reserved">this</span>.loadNextScript = <span class="reserved">function</span>() {
+    <span class="reserved">if</span> (<span class="reserved">this</span>.orderedScripts.length == 0) {
+      window.clearInterval(<span class="reserved">this</span>.scriptLoader);
+      <span class="reserved">this</span>.scriptLoader = null;
+    } <span class="reserved">else</span> {
+      var script = <span class="reserved">this</span>.orderedScripts[0];
+      <span class="reserved">if</span> (!script.loading) {
+        script.loading = true;
+        <span class="reserved">this</span>.doLoadScript(script);
+      }
+    }
+  }
+  
+  <span class="comment">/**
+   * starts script loading by adding the script node to the dom tree - IE only.
+   * This function adds a readyState handler to the script node.
+   */</span>
+  <span class="reserved">this</span>.doLoadScript = <span class="reserved">function</span>(script) {
+    var objRef = <span class="reserved">this</span>;
+    script.onreadystatechange = <span class="reserved">function</span>(){objRef.checkScriptState(<span class="reserved">this</span>)};
+    document.getElementsByTagName(<span class="literal">'head'</span>)[0].appendChild(script);
+  }
+  
+  <span class="comment">/**
+   * readyState handler for scripts - IE only. This will remove the script from
+   * the array of scripts that have still to be loaded.
+   */</span>
+  <span class="reserved">this</span>.checkScriptState = <span class="reserved">function</span>(script) {
+    <span class="reserved">if</span> (script.readyState == <span class="literal">"loaded"</span> || script.readyState == <span class="literal">"complete"</span>) {
+      <span class="reserved">for</span> (var i=0; i&lt;<span class="reserved">this</span>.orderedScripts.length; i++) {
+        <span class="reserved">if</span> (script == <span class="reserved">this</span>.orderedScripts[i]) {
+          <span class="reserved">this</span>.orderedScripts.splice(i, 1);
+          break;
+        }
+      }
+    }
+  }
+
+  <span class="comment">/**
+   * Internal function to load scripts for components that don't have &lt;scriptfile&gt;
+   * specified in the config file.
+   * <span class="attrib">@param</span> xPath Xpath match of components from the Config file.
+   * <span class="attrib">@param</span> dir The directory the script is located in.
+   */</span>
+  <span class="reserved">this</span>.loadScriptsFromXpath=<span class="reserved">function</span>(nodes,dir) {
+<span class="comment">    //var nodes = this.doc.selectNodes(xPath);</span>
+    <span class="reserved">for</span> (var i=0; i&lt;nodes.length; i++) {
+      <span class="reserved">if</span> (nodes[i].selectSingleNode(<span class="literal">"mb:scriptFile"</span>)==null){
+        scriptFile = baseDir+<span class="literal">"/"</span>+dir+nodes[i].nodeName+<span class="literal">".js"</span>;
+        <span class="reserved">this</span>.loadScript(scriptFile);
+      }
+    }
+  }
+<span class="comment">
+  //derive the baseDir value by looking for the script tag that loaded this file</span>
+  <span class="reserved">if</span> (!baseDir) {
+    var head = document.getElementsByTagName(<span class="literal">'head'</span>)[0];
+    var nodes = head.childNodes;
+    <span class="reserved">for</span> (var i=0; i&lt;nodes.length; ++i ){
+      var src = nodes.item(i).src;
+      <span class="reserved">if</span> (src) {
+<span class="comment">        //var index = src.indexOf("/Mapbuilder.js");</span>
+<span class="comment">        // Modified so it will work with original or compressed file</span>
+        var index = src.indexOf(<span class="literal">"/Mapbuilder.js"</span>);
+        <span class="reserved">if</span> (index&gt;=0) {
+          baseDir = src.substring(0, index);
+        } <span class="reserved">else</span> {
+          index = src.indexOf(<span class="literal">"/MapbuilderCompressed.js"</span>);
+          <span class="reserved">if</span> (index&gt;=0) {
+            baseDir = src.substring(0, index);
+          }
+        }
+      }
+    }
+  }
+<span class="comment">
+  // Start loading core scripts.</span>
+  <span class="reserved">this</span>.setLoadState(MB_LOAD_CORE);
+<span class="comment">
+  // Start a timer which periodically calls checkScriptsLoaded().</span>
+  <span class="reserved">this</span>.scriptsTimer=window.setInterval(<span class="literal">'mapbuilder.checkScriptsLoaded()'</span>,100);
+}
+
+<span class="comment">/**
+ * copied from sarissa, a function to check browser security setting in IE, 
+ * opens a help page if ActiveX objects are disabled.
+ */</span>
+<span class="reserved">function</span> checkIESecurity()
+{
+  var testPrefixes = [<span class="literal">"Msxml2.DOMDocument.5.0"</span>, <span class="literal">"Msxml2.DOMDocument.4.0"</span>, <span class="literal">"Msxml2.DOMDocument.3.0"</span>, <span class="literal">"MSXML2.DOMDocument"</span>, <span class="literal">"MSXML.DOMDocument"</span>, <span class="literal">"Microsoft.XMLDOM"</span>];
+<span class="comment">  // found progID flag</span>
+  var bFound = false;
+  <span class="reserved">for</span>(var i=0; i &lt; testPrefixes.length &amp;&amp; !bFound; i++) {
+    try {
+      var oDoc = new ActiveXObject(testPrefixes[i]);
+      bFound = true;
+    }
+    catch (e) {
+<span class="comment">      //trap; try next progID</span>
+    }
+  }
+  <span class="reserved">if</span> (!bFound) window.open(<span class="literal">"/mapbuilder/docs/help/IESetup.html"</span>);  //TBD: set <span class="reserved">this</span> URL in config
+}
+
+<span class="reserved">if</span> (navigator.userAgent.toLowerCase().indexOf(<span class="literal">"msie"</span>) &gt; -1) checkIESecurity();
+var mapbuilder=new Mapbuilder();
+
+<span class="comment">/**
+ * Initialise Mapbuilder if script has been loaded, else wait to be called
+ * again.
+ */</span>
+<span class="reserved">function</span> mapbuilderInit(){
+  <span class="reserved">if</span>(mapbuilder &amp;&amp; mapbuilder.loadState==MB_LOADED){
+    window.clearInterval(mbTimerId);
+    config.parseConfig(config);
+    <span class="reserved">if</span> (Proj4js) {
+      Proj4js.libPath = baseDir+<span class="literal">"/util/proj4js/"</span>;
+      Proj4js.proxyScript = config.proxyUrl+<span class="literal">'?url='</span>;
+    }
+    config.callListeners(<span class="literal">"init"</span>);
+    var mbTimerStop = new Date();
+<span class="comment">    //alert("load time:"+(mbTimerStop.getTime()-mbTimerStart.getTime()) );</span>
+    <span class="reserved">if</span> (window.mbInit) window.mbInit();
+    config.callListeners(<span class="literal">"loadModel"</span>);
+  }
+}
+
+<span class="comment">/** Timer used when checking if scripts have loaded. */</span>
+var mbTimerId;
+
+<span class="comment">/**
+ * Mapbuilder's main initialisation script.
+ * This should be called from the main html file using:
+ *   &lt;body onload="mbDoLoad()"&gt;
+ * <span class="attrib">@param</span> initFunction Optional - A function reference that will be called after 
+ * config.init() has been called.  This is to give application code a chance to
+ * do initialization and be guaranteed that all objects exist (inlcuding config).
+ */</span>
+<span class="reserved">function</span> mbDoLoad(initFunction) {
+<span class="comment">  // See if scripts have been loaded every 100msecs, then call config.init().</span>
+  mbTimerId=window.setInterval(<span class="literal">'mapbuilderInit()'</span>,100);
+  <span class="reserved">if</span> (initFunction) window.mbInit = initFunction;
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-GmlRendererConfig.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-GmlRendererConfig.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-GmlRendererConfig.js.html	(revision 4307)
@@ -0,0 +1,207 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="GmlRendererConfig.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>GmlRendererConfig.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'GmlRendererConfig.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="GmlRendererConfig.html">GmlRendererConfig</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Andreas Hocevar andreas.hocevarATgmail.com
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: GmlRendererConfig.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/GmlRendererBase.js"</span>);
+
+<span class="comment">/**
+ * Configuration for GmlRendererOL.
+ * This widget is used in models that merge into a MergeModel to specify
+ * a GmlRenderer configuration (sld, cursor style). The GmlRendererOL in
+ * the MergeModel will check for configurations in source models and use
+ * them.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> GmlRendererBase
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> GmlRendererConfig(widgetNode, model) {
+  GmlRendererBase.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+  
+  var targetWidget = <span class="reserved">this</span>.getProperty(<span class="literal">'mb:targetWidget'</span>);
+  
+  <span class="reserved">this</span>.init = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">if</span> (targetWidget) {
+      <span class="reserved">if</span> (!model.config) {
+        model.config = {};
+      }
+      model.config[targetWidget] = objRef.config;
+    }
+  }
+  model.addListener(<span class="literal">'init'</span>, <span class="reserved">this</span>.init, <span class="reserved">this</span>);
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/WfsCapabilities.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/WfsCapabilities.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/WfsCapabilities.html	(revision 4307)
@@ -0,0 +1,592 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+WfsCapabilities
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="WfsCapabilities";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-WfsCapabilities.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="WebServiceRequest.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="WfsGetFeature.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="WfsCapabilities.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class WfsCapabilities</H2>
+<PRE>Object
+   |
+   +--<a href='Listener.html'>Listener</a>
+         |
+         +--<a href='ModelBase.html'>ModelBase</a>
+               |
+               +--<b>WfsCapabilities</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>WfsCapabilities</B>
+   
+      <DT>extends <a href='ModelBase.html'>ModelBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-WfsCapabilities.js.html'>WfsCapabilities.js</a></I><BR/><BR/><B>Author:</B> Mike Adair  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#namespace">namespace</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ModelBase.html">ModelBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ModelBase.html#async">async</a>, <a href="ModelBase.html#contentType">contentType</a>, <a href="ModelBase.html#modelNode">modelNode</a>, <a href="ModelBase.html#id">id</a>, <a href="ModelBase.html#title">title</a>, <a href="ModelBase.html#debug">debug</a>, <a href="ModelBase.html#url">url</a>, <a href="ModelBase.html#method">method</a>, <a href="ModelBase.html#namespace">namespace</a>, <a href="ModelBase.html#template">template</a>, <a href="ModelBase.html#nodeSelectXpath">nodeSelectXpath</a>, <a href="ModelBase.html#config">config</a>, <a href="ModelBase.html#parentModel">parentModel</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="Listener.html">Listener</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="Listener.html#listeners">listeners</a>, <a href="Listener.html#values">values</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="WfsCapabilities.html#WfsCapabilities()">WfsCapabilities</A> 
+	 </B>
+	 (modelNode, parent)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Stores a Web Feature (WFS) Capabilities document as defined by the 
+ Open Geospatial Consortium (http://www.opengeospatial.org/).
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeatureNode">getFeatureNode</A></B>(featureName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the featureType node with the specified name from the list of nodes
+ selected by the nodeSelectXpath from the capabilities doc.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getMethod">getMethod</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get HTTP method used to retreive this model
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getServerUrl">getServerUrl</A></B>(requestName, method, feature)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the serverUrl for the WFS request passed in with the specified
+ HTTP method from the capabilities doc.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getVersion">getVersion</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the version for the WFS
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ModelBase.html">ModelBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ModelBase.html#getProperty">getProperty</a>, <a href="ModelBase.html#getXpathValue">getXpathValue</a>, <a href="ModelBase.html#setXpathValue">setXpathValue</a>, <a href="ModelBase.html#loadModelDoc">loadModelDoc</a>, <a href="ModelBase.html#setModel">setModel</a>, <a href="ModelBase.html#finishLoading">finishLoading</a>, <a href="ModelBase.html#newRequest">newRequest</a>, <a href="ModelBase.html#deleteTemplates">deleteTemplates</a>, <a href="ModelBase.html#saveModel">saveModel</a>, <a href="ModelBase.html#createObject">createObject</a>, <a href="ModelBase.html#loadObjects">loadObjects</a>, <a href="ModelBase.html#parseConfig">parseConfig</a>, <a href="ModelBase.html#refresh">refresh</a>, <a href="ModelBase.html#init">init</a>, <a href="ModelBase.html#clearModel">clearModel</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="Listener.html">Listener</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="Listener.html#addListener">addListener</a>, <a href="Listener.html#addFirstListener">addFirstListener</a>, <a href="Listener.html#removeListener">removeListener</a>, <a href="Listener.html#callListeners">callListeners</a>, <a href="Listener.html#setParam">setParam</a>, <a href="Listener.html#getParam">getParam</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="namespace"><!-- --></A>
+   <H3>namespace</H3>
+   <PRE>Object&nbsp;<B>namespace</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="WfsCapabilities()"><!-- --></A><H3>
+WfsCapabilities</H3>
+<PRE><B>WfsCapabilities</B>(modelNode, parent)</PRE>
+
+
+<UL>
+   Stores a Web Feature (WFS) Capabilities document as defined by the 
+ Open Geospatial Consortium (http://www.opengeospatial.org/).
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>modelNode</CODE> -    The model's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>parent</CODE> -  The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Mike Adair  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="getFeatureNode"><!-- --></A>
+   <H3>getFeatureNode</H3>
+   <PRE>Object <B>getFeatureNode</B>(featureName)</PRE>
+   
+      <UL>Returns the featureType node with the specified name from the list of nodes
+ selected by the nodeSelectXpath from the capabilities doc.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureName</CODE> -  name of the featureType to look up  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the featureType node with the specified name. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getMethod"><!-- --></A>
+   <H3>getMethod</H3>
+   <PRE>Object <B>getMethod</B>()</PRE>
+   
+      <UL>Get HTTP method used to retreive this model</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the HTTP method 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getServerUrl"><!-- --></A>
+   <H3>getServerUrl</H3>
+   <PRE>Object <B>getServerUrl</B>(requestName, method, feature)</PRE>
+   
+      <UL>Returns the serverUrl for the WFS request passed in with the specified
+ HTTP method from the capabilities doc.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>requestName</CODE> -  the WFS request to get the URL for  
+      </UL> 
+   
+     <UL><CODE>method</CODE> -  http method for the request  
+      </UL> 
+   
+     <UL><CODE>feature</CODE> -  ignored for WFS docs  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        URL for the specified request with the specified method 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getVersion"><!-- --></A>
+   <H3>getVersion</H3>
+   <PRE>Object <B>getVersion</B>()</PRE>
+   
+      <UL>Returns the version for the WFS</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the WFS version 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-WfsCapabilities.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="WebServiceRequest.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="WfsGetFeature.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="WfsCapabilities.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-PanZoomBar.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-PanZoomBar.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-PanZoomBar.js.html	(revision 4307)
@@ -0,0 +1,202 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="PanZoomBar.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>PanZoomBar.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'PanZoomBar.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="PanZoomBar.html">PanZoomBar</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id$
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBase.js"</span>);
+
+<span class="comment">/**
+ * PanZoomBar  - drag, zoom, zoomBar wheelMouse and keyboard events 
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBase
+ * <span class="attrib">@author</span> Olivier Terral olivier.terralAtgeomatys.fr
+ * <span class="attrib">@param</span> widgetNode The widget node from the Config XML file.
+ * <span class="attrib">@param</span> model The model for this widget
+ */</span>
+<span class="reserved">function</span> PanZoomBar(widgetNode, model) {
+<span class="comment">  // Extend ButtonBase</span>
+  WidgetBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+  <span class="reserved">this</span>.cursor = <span class="literal">'crosshair'</span>;
+
+  <span class="reserved">this</span>.init = <span class="reserved">function</span>(objRef) {
+   objRef.model.map.addControl(new OpenLayers.Control.PanZoomBar());
+   objRef.model.map.addControl(new OpenLayers.Control.Navigation());
+   objRef.model.map.addControl(new OpenLayers.Control.KeyboardDefaults());
+  }
+  
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"refresh"</span>,<span class="reserved">this</span>.init, <span class="reserved">this</span>); 
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-AoiForm.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-AoiForm.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-AoiForm.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ AoiForm.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" AoiForm.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-AoiForm.js.html" 
+                                        target="classFrame">AoiForm.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="AoiForm.html" TARGET="classFrame">AoiForm</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Reset.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Reset.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Reset.html	(revision 4307)
@@ -0,0 +1,390 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Reset
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Reset";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Reset.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="PanZoomBar.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Sarissa.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Reset.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Reset</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<b>Reset</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Reset</B>
+   
+      <DT>extends <a href='ButtonBase.html'>ButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Reset.js.html'>Reset.js</a></I><BR/><BR/><B>Author:</B> Andreas Hocevar andreas.hocevarATgmail.com  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Reset.html#Reset()">Reset</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Reset button - resets the map to full extent.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#createControl">createControl</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#doSelect">doSelect</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Reset()"><!-- --></A><H3>
+Reset</H3>
+<PRE><B>Reset</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Reset button - resets the map to full extent.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  The widget node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model for this widget
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Andreas Hocevar andreas.hocevarATgmail.com  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="createControl"><!-- --></A>
+   <H3>createControl</H3>
+   <PRE>Object <B>createControl</B>()</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Reset.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="PanZoomBar.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Sarissa.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Reset.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-GetFeatureInfo.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-GetFeatureInfo.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-GetFeatureInfo.js.html	(revision 4307)
@@ -0,0 +1,297 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="GetFeatureInfo.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>GetFeatureInfo.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'GetFeatureInfo.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="GetFeatureInfo.html">GetFeatureInfo</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+Dependancies: Context
+$Id: GetFeatureInfo.js 3906 2008-03-05 10:27:30Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/ButtonBase.js"</span>);
+<span class="comment">/**
+ * Implements WMS GetFeatureInfo functionality, popping up a query result
+ * window when user clicks on map.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ButtonBase
+ * <span class="attrib">@author</span> Nedjo
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@param</span> toolNode The XML node in the Config file referencing this object.
+ * <span class="attrib">@param</span> model The widget object which this tool is associated with.
+ */</span>
+<span class="reserved">function</span> GetFeatureInfo(widgetNode, model) {
+<span class="comment">  // Extend ButtonBase</span>
+  ButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+  <span class="comment">/** Xsl to build a GetFeatureInfo URL */</span>
+  <span class="reserved">this</span>.xsl = new XslProcessor(
+      <span class="reserved">this</span>.getProperty(<span class="literal">"mb:stylesheet"</span>, baseDir+<span class="literal">"/tool/GetFeatureInfo.xsl"</span>));
+  
+  <span class="comment">/**
+   * Determine whether Query result is returned as text, HTML or GML
+   * This is usually text/plain, text/html or application/vnd.ogc.gml
+   */</span>
+  <span class="reserved">this</span>.infoFormat = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:infoFormat"</span>, <span class="literal">"application/vnd.ogc.gml"</span>);
+<span class="comment">
+  // Get the value for featureCount from the configfile</span>
+  <span class="reserved">this</span>.featureCount = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:featureCount"</span>, 1);
+
+  <span class="reserved">this</span>.cursor = <span class="literal">"pointer"</span>; 
+
+  <span class="comment">/**
+   * GetFeatureInfo control
+   * <span class="attrib">@param</span> objRef reference to this object.
+   * <span class="attrib">@return</span> {OpenLayers.Control} class of the OL control.
+   */</span>
+  <span class="reserved">this</span>.createControl = <span class="reserved">function</span>(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      CLASS_NAME: <span class="literal">'mbControl.GetFeatureInfo'</span>,
+      type: OpenLayers.Control.TYPE_TOOL,
+      draw: <span class="reserved">function</span>() {
+        <span class="reserved">this</span>.handler = new OpenLayers.Handler.Box( <span class="reserved">this</span>,
+          {done: <span class="reserved">this</span>.zoomBox}, {keyMask: <span class="reserved">this</span>.keyMask} );
+      },
+      zoomBox: <span class="reserved">function</span>(position) {
+        var objRef = <span class="reserved">this</span>.objRef
+        <span class="reserved">if</span> (objRef.enabled) {
+          var x,y;
+          <span class="reserved">if</span> (position instanceof OpenLayers.Bounds) {
+            x = position.left + (position.right - position.left) / 2;
+            y = position.top + (position.bottom - position.top) / 2;
+          } <span class="reserved">else</span> {
+            x = position.x;
+            y = position.y;
+          }
+          objRef.targetModel.deleteTemplates();
+          var selectedLayer=objRef.targetContext.getParam(<span class="literal">"selectedLayer"</span>);
+          <span class="reserved">if</span> (selectedLayer==null) {
+            var queryList=objRef.targetContext.getQueryableLayers();
+          	<span class="reserved">if</span> (queryList.length==0) {
+               alert(mbGetMessage(<span class="literal">"noQueryableLayers"</span>));
+               <span class="reserved">return</span>;
+          	}
+            <span class="reserved">else</span> {
+              <span class="reserved">for</span> (var i=0; i&lt;queryList.length; ++i) {
+                var layerNode = queryList[i];
+<span class="comment">                
+                // Get the name of the layer</span>
+                var layerName = Mapbuilder.getProperty(layerNode, <span class="literal">"wmc:Name"</span>, <span class="literal">""</span>);
+<span class="comment">
+                // Get the layerId. Fallback to layerName if non-existent</span>
+                var layerId = layerNode.getAttribute(<span class="literal">"id"</span>) || layerName;
+
+                var hidden = objRef.targetContext.getHidden(layerId);
+                <span class="reserved">if</span> (hidden == 0) { //query only visible layers
+                  objRef.xsl.setParameter(<span class="literal">"queryLayer"</span>, layerName);
+                  objRef.xsl.setParameter(<span class="literal">"layer"</span>,layerName);
+    				      objRef.xsl.setParameter(<span class="literal">"xCoord"</span>, x);
+                  objRef.xsl.setParameter(<span class="literal">"yCoord"</span>, y);
+                  objRef.xsl.setParameter(<span class="literal">"infoFormat"</span>, objRef.infoFormat);
+                  objRef.xsl.setParameter(<span class="literal">"featureCount"</span>, objRef.featureCount);
+    
+                  urlNode=objRef.xsl.transformNodeToObject(objRef.targetContext.doc);
+                  url=getNodeValue(urlNode.documentElement);
+                  httpPayload = new Object();
+      	          httpPayload.url = url;
+                  httpPayload.method=<span class="literal">"get"</span>;
+                  httpPayload.postData=null;
+                  objRef.targetModel.newRequest(objRef.targetModel,httpPayload);
+                }
+              }
+            }
+          }
+          <span class="reserved">else</span> {
+            objRef.xsl.setParameter(<span class="literal">"queryLayer"</span>, selectedLayer);
+            objRef.xsl.setParameter(<span class="literal">"layer"</span>, layerName);
+            objRef.xsl.setParameter(<span class="literal">"xCoord"</span>, x);
+            objRef.xsl.setParameter(<span class="literal">"yCoord"</span>, y);
+            objRef.xsl.setParameter(<span class="literal">"infoFormat"</span>, objRef.infoFormat);
+            objRef.xsl.setParameter(<span class="literal">"featureCount"</span>, objRef.featureCount);
+  
+            var urlNode=objRef.xsl.transformNodeToObject(objRef.targetContext.doc);
+            var url=getNodeValue(urlNode.documentElement);
+  
+            <span class="reserved">if</span> (objRef.infoFormat==<span class="literal">"text/html"</span>){
+              window.open(url,<span class="literal">'queryWin'</span>,<span class="literal">'height=200,width=300,scrollbars=yes'</span>);
+            } <span class="reserved">else</span> {
+              var httpPayload = new Object();
+              httpPayload.url = url;
+              httpPayload.method=<span class="literal">"get"</span>;
+              httpPayload.postData=null;
+              objRef.targetModel.newRequest(objRef.targetModel,httpPayload);
+            }
+          }
+        }
+      }
+    });
+    <span class="reserved">return</span> Control;
+  }
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-FormBase.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-FormBase.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-FormBase.js.html	(revision 4307)
@@ -0,0 +1,248 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="FormBase.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>FormBase.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'FormBase.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="FormBase.html">FormBase</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: OWSCatSearchForm.js 2076 2006-04-11 19:48:08Z madair $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Widget to display a form for input of parameters to generate a web service 
+ * request.  This JS object handles the form submit via HTTP Get by appending 
+ * a query string to the form's action URL.  The query string is created from
+ * all input elements and their values.
+ * The target model is then loaded from the URL created.
+ * A stylehseet must be specified as a property in config for this widget.  
+ * See widget/NtsForm.xsl for an example. 
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode This widget's object node from the configuration document.
+ * <span class="attrib">@param</span> model The model that this widget is a view of.
+ */</span>
+
+<span class="reserved">function</span> FormBase(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+<span class="comment">
+  //get bbox inforamtion from a map model</span>
+  <span class="reserved">this</span>.webServiceUrl = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:webServiceUrl"</span>);
+
+  <span class="comment">/**
+   * Refreshes the form onblur handlers when this widget is painted.
+   * <span class="attrib">@param</span> objRef Pointer to this CurorTrack object.
+   */</span>
+  <span class="reserved">this</span>.postPaint = <span class="reserved">function</span>(objRef) {
+    var searchForm = document.getElementById(objRef.formName);
+    searchForm.parentWidget = objRef;
+    searchForm.onkeypress = objRef.handleKeyPress;
+    searchForm.onsubmit = objRef.submitForm;
+  }
+<span class="comment">
+  //set some properties for the form output</span>
+  <span class="reserved">this</span>.formName = <span class="literal">"WebServiceForm_"</span> + mbIds.getId();
+  <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"formName"</span>, <span class="reserved">this</span>.formName);
+
+  <span class="comment">/**
+   * handles keypress events to filter out everything except "enter".  
+   * Pressing the "enter" key will trigger a form submit
+   * <span class="attrib">@param</span> event  the event object passed in for Mozilla; IE uses window.event
+   */</span>
+  <span class="reserved">this</span>.handleKeyPress = <span class="reserved">function</span>(event) {
+    var keycode;
+    var target;
+    <span class="reserved">if</span> (event){
+<span class="comment">      //Mozilla</span>
+      keycode=event.which;
+      target=event.currentTarget;
+    }<span class="reserved">else</span>{
+<span class="comment">      //IE</span>
+      keycode=window.event.keyCode;
+      target=window.event.srcElement.form;
+    }
+
+    <span class="reserved">if</span> (keycode == 13) {    //enter key
+      <span class="reserved">return</span> true;
+    }
+  }
+
+  <span class="comment">/**
+   *
+   * <span class="attrib">@param</span>
+   */</span>
+  <span class="reserved">this</span>.setValue = <span class="reserved">function</span>(xpath, value) {
+    <span class="reserved">this</span>.model.setXpathValue(<span class="reserved">this</span>.model,xpath,value,false);
+  }
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/Graticule.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Graticule.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Graticule.html	(revision 4307)
@@ -0,0 +1,680 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Graticule
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Graticule";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Graticule.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="GmlRendererOL.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="HandsomeNumber.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Graticule.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Graticule</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<b>Graticule</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Graticule</B>
+   
+      <DT>extends <a href='ButtonBase.html'>ButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Graticule.js.html'>Graticule.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#active">active</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#color">color</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#diffLat">diffLat</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#diffLon">diffLon</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#display">display</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#divs">divs</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#dLon">dLon</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#height">height</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#mapContainer">mapContainer</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#maxX">maxX</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#maxY">maxY</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#minX">minX</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#minY">minY</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#proj">proj</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#width">width</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Graticule.html#Graticule()">Graticule</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Render a Graticule.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#createControl">createControl</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Interactive ZoomOut control.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#doSelect">doSelect</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="active"><!-- --></A>
+   <H3>active</H3>
+   <PRE>Object&nbsp;<B>active</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="color"><!-- --></A>
+   <H3>color</H3>
+   <PRE>Object&nbsp;<B>color</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="diffLat"><!-- --></A>
+   <H3>diffLat</H3>
+   <PRE>Object&nbsp;<B>diffLat</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="diffLon"><!-- --></A>
+   <H3>diffLon</H3>
+   <PRE>Object&nbsp;<B>diffLon</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="display"><!-- --></A>
+   <H3>display</H3>
+   <PRE>Object&nbsp;<B>display</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="divs"><!-- --></A>
+   <H3>divs</H3>
+   <PRE>Object&nbsp;<B>divs</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="dLon"><!-- --></A>
+   <H3>dLon</H3>
+   <PRE>Object&nbsp;<B>dLon</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="height"><!-- --></A>
+   <H3>height</H3>
+   <PRE>Object&nbsp;<B>height</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="mapContainer"><!-- --></A>
+   <H3>mapContainer</H3>
+   <PRE>Object&nbsp;<B>mapContainer</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="maxX"><!-- --></A>
+   <H3>maxX</H3>
+   <PRE>Object&nbsp;<B>maxX</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="maxY"><!-- --></A>
+   <H3>maxY</H3>
+   <PRE>Object&nbsp;<B>maxY</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="minX"><!-- --></A>
+   <H3>minX</H3>
+   <PRE>Object&nbsp;<B>minX</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="minY"><!-- --></A>
+   <H3>minY</H3>
+   <PRE>Object&nbsp;<B>minY</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="proj"><!-- --></A>
+   <H3>proj</H3>
+   <PRE>Object&nbsp;<B>proj</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="width"><!-- --></A>
+   <H3>width</H3>
+   <PRE>Object&nbsp;<B>width</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Graticule()"><!-- --></A><H3>
+Graticule</H3>
+<PRE><B>Graticule</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Render a Graticule.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="createControl"><!-- --></A>
+   <H3>createControl</H3>
+   <PRE>Object <B>createControl</B>(objRef)</PRE>
+   
+      <UL>Interactive ZoomOut control.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this object.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        {OpenLayers.Control} class of the OL control. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Graticule.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="GmlRendererOL.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="HandsomeNumber.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Graticule.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-SelectFromAtomFeed.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-SelectFromAtomFeed.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-SelectFromAtomFeed.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ SelectFromAtomFeed.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" SelectFromAtomFeed.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-SelectFromAtomFeed.js.html" 
+                                        target="classFrame">SelectFromAtomFeed.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="SelectFromAtomFeed.html" TARGET="classFrame">SelectFromAtomFeed</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-OwsContext.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-OwsContext.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-OwsContext.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ OwsContext.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" OwsContext.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-OwsContext.js.html" 
+                                        target="classFrame">OwsContext.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="OwsContext.html" TARGET="classFrame">OwsContext</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/FormBase.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/FormBase.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/FormBase.html	(revision 4307)
@@ -0,0 +1,544 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+FormBase
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="FormBase";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-FormBase.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="FilterAttributes.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Forward.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FormBase.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class FormBase</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>FormBase</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>FormBase</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-FormBase.js.html'>FormBase.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#formName">formName</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#webServiceUrl">webServiceUrl</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="FormBase.html#FormBase()">FormBase</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to display a form for input of parameters to generate a web service 
+ request.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#handleKeyPress">handleKeyPress</A></B>(event)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 handles keypress events to filter out everything except "enter".
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#postPaint">postPaint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Refreshes the form onblur handlers when this widget is painted.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setValue">setValue</A></B>(xpath, value)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="formName"><!-- --></A>
+   <H3>formName</H3>
+   <PRE>Object&nbsp;<B>formName</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="webServiceUrl"><!-- --></A>
+   <H3>webServiceUrl</H3>
+   <PRE>Object&nbsp;<B>webServiceUrl</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="FormBase()"><!-- --></A><H3>
+FormBase</H3>
+<PRE><B>FormBase</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to display a form for input of parameters to generate a web service 
+ request.  This JS object handles the form submit via HTTP Get by appending 
+ a query string to the form's action URL.  The query string is created from
+ all input elements and their values.
+ The target model is then loaded from the URL created.
+ A stylehseet must be specified as a property in config for this widget.  
+ See widget/NtsForm.xsl for an example.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  This widget's object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model that this widget is a view of.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="handleKeyPress"><!-- --></A>
+   <H3>handleKeyPress</H3>
+   <PRE>Object <B>handleKeyPress</B>(event)</PRE>
+   
+      <UL>handles keypress events to filter out everything except "enter".  
+ Pressing the "enter" key will trigger a form submit</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>event</CODE> -   the event object passed in for Mozilla; IE uses window.event
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="postPaint"><!-- --></A>
+   <H3>postPaint</H3>
+   <PRE>void <B>postPaint</B>(objRef)</PRE>
+   
+      <UL>Refreshes the form onblur handlers when this widget is painted.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this CurorTrack object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setValue"><!-- --></A>
+   <H3>setValue</H3>
+   <PRE>void <B>setValue</B>(xpath, value)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE></CODE> - 
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-FormBase.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="FilterAttributes.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Forward.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FormBase.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/FeatureInfo.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/FeatureInfo.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/FeatureInfo.html	(revision 4307)
@@ -0,0 +1,406 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+FeatureInfo
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="FeatureInfo";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-FeatureInfo.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="FeatureCollection.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="FeatureList.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FeatureInfo.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class FeatureInfo</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>FeatureInfo</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>FeatureInfo</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-FeatureInfo.js.html'>FeatureInfo.js</a></I><BR/><BR/><B>Author:</B> Steven Ottens AT geodan nl  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="FeatureInfo.html#FeatureInfo()">FeatureInfo</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Functions to render and update a FeatureInfoResponse from GML.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setAttr">setAttr</A></B>(objRef,xpath,value)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set the value of an attribute from the FeatureInfoResponse.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="FeatureInfo()"><!-- --></A><H3>
+FeatureInfo</H3>
+<PRE><B>FeatureInfo</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Functions to render and update a FeatureInfoResponse from GML.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Steven Ottens AT geodan nl  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="setAttr"><!-- --></A>
+   <H3>setAttr</H3>
+   <PRE>void <B>setAttr</B>(objRef,xpath,value)</PRE>
+   
+      <UL>Set the value of an attribute from the FeatureInfoResponse.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Reference to this object.  
+      </UL> 
+   
+     <UL><CODE>xpath</CODE> -  Xpath reference to the attribute in the GML.  
+      </UL> 
+   
+     <UL><CODE>value</CODE> -  New attribute value.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-FeatureInfo.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="FeatureCollection.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="FeatureList.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FeatureInfo.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/MapPaneOL.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/MapPaneOL.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/MapPaneOL.html	(revision 4307)
@@ -0,0 +1,1387 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+MapPaneOL
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="MapPaneOL";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-MapPaneOL.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Mapbuilder.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="MapScaleBar.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="MapPaneOL.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class MapPaneOL</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<b>MapPaneOL</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>MapPaneOL</B>
+   
+      <DT>extends <a href='WidgetBase.html'>WidgetBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-MapPaneOL.js.html'>MapPaneOL.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#containerNodeId">containerNodeId</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#displayOutsideMaxExtent">displayOutsideMaxExtent</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Should layers also be rendered outside the map extent?</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#imageBuffer">imageBuffer</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for untiled wms layers: how many times should the map image be
+ larger than the visible map.</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#imageReproject">imageReproject</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For WMS on top of Google Maps you need to reproject the WMS image.</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#loadingLayers">loadingLayers</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number of layers that are currently being loaded</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#singleTile">singleTile</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For WMS layers: should they be regarded as normal WMS layers, 
+ with a single tile for the entire boundingbox or as a tiled
+ WMS layer</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#tileBuffer">tileBuffer</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For tiled wms layers: how many rows of tiles should be preloaded
+ outside the visible map?</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#tileGutter">tileGutter</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For tiled wms layers: Overlap of map tiles in pixels.</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#tileSize">tileSize</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For tiled wms layers: how many pixels should the size of one tile
+ be?</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="MapPaneOL.html#MapPaneOL()">MapPaneOL</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to render a map from an OGC context document.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addLayer">addLayer</A></B>(objRef, layerNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds a layer into the output
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#clear">clear</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 remove OpenLayers events and layers
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#decreaseLoadingLayers">decreaseLoadingLayers</A></B>(e)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Event handler to keep the modelStatus updated when an OpenLayers layer
+ finished loading.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#deleteAllLayers">deleteAllLayers</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Removes all layers from the output
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#deleteLayer">deleteLayer</A></B>(objRef, layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Removes a layer from the output
+/**
+ Removes a layer from the output
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getLayer">getLayer</A></B>(objRef,layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns OL layer node from LayerMgr
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getWebSafeStyle">getWebSafeStyle</A></B>(objRef, colorNumber)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 gets an OpenLayers vector style with web safe colors.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#hidden">hidden</A></B>(objRef, layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Hide/unhide a layer.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#increaseLoadingLayers">increaseLoadingLayers</A></B>(e)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Event handler to keep the modelStatus updated when an OpenLayers layer
+ starts loading.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#moveLayerDown">moveLayerDown</A></B>(objRef, layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Moves a layer up in the stack of map layers
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#moveLayerUp">moveLayerUp</A></B>(objRef, layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Moves a layer up in the stack of map layers
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#paint">paint</A></B>(objRef, refresh)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Render the widget.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#refreshLayer">refreshLayer</A></B>(objRef, layerId , newParams)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Called for refreshing one layer.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#refreshWmsLayers">refreshWmsLayers</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Called after a feature has been added to a WFS.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setOpacity">setOpacity</A></B>(objRef, layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Called when the context's opacity attribute changes.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#timestampListener">timestampListener</A></B>(objRef, timestampIndex)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Called when the map timestamp is changed so set the layer visiblity.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#updateContext">updateContext</A></B>(e)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Event handler to keep the Mapbuilder context updated.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#updateMouse">updateMouse</A></B>(e)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Restore the map cursor stored by buttons.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#zoomToBbox">zoomToBbox</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Zoom to the current Bounding Box.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="containerNodeId"><!-- --></A>
+   <H3>containerNodeId</H3>
+   <PRE>Object&nbsp;<B>containerNodeId</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="displayOutsideMaxExtent"><!-- --></A>
+   <H3>displayOutsideMaxExtent</H3>
+   <PRE>Object&nbsp;<B>displayOutsideMaxExtent</B></PRE>
+   <UL>
+   Should layers also be rendered outside the map extent? Default is false.
+   
+   </UL>
+   <HR>
+   
+   <A NAME="imageBuffer"><!-- --></A>
+   <H3>imageBuffer</H3>
+   <PRE>Object&nbsp;<B>imageBuffer</B></PRE>
+   <UL>
+   for untiled wms layers: how many times should the map image be
+ larger than the visible map. Large values mean slow loading, small
+ ones mean many reloads when panning. Recommended values: 1-3,
+ default is 2.
+   
+   </UL>
+   <HR>
+   
+   <A NAME="imageReproject"><!-- --></A>
+   <H3>imageReproject</H3>
+   <PRE>Object&nbsp;<B>imageReproject</B></PRE>
+   <UL>
+   For WMS on top of Google Maps you need to reproject the WMS image. This will stretch
+ the WMS images to fit the odd sized google tiles. Default is false
+   
+   </UL>
+   <HR>
+   
+   <A NAME="loadingLayers"><!-- --></A>
+   <H3>loadingLayers</H3>
+   <PRE>Object&nbsp;<B>loadingLayers</B></PRE>
+   <UL>
+   Number of layers that are currently being loaded
+   
+   </UL>
+   <HR>
+   
+   <A NAME="singleTile"><!-- --></A>
+   <H3>singleTile</H3>
+   <PRE>Object&nbsp;<B>singleTile</B></PRE>
+   <UL>
+   For WMS layers: should they be regarded as normal WMS layers, 
+ with a single tile for the entire boundingbox or as a tiled
+ WMS layer
+   
+   </UL>
+   <HR>
+   
+   <A NAME="tileBuffer"><!-- --></A>
+   <H3>tileBuffer</H3>
+   <PRE>Object&nbsp;<B>tileBuffer</B></PRE>
+   <UL>
+   For tiled wms layers: how many rows of tiles should be preloaded
+ outside the visible map? Large values mean slow loading, small
+ ones mean longer delays when panning. Recommended values: 1-3,
+ default is 2.
+   
+   </UL>
+   <HR>
+   
+   <A NAME="tileGutter"><!-- --></A>
+   <H3>tileGutter</H3>
+   <PRE>Object&nbsp;<B>tileGutter</B></PRE>
+   <UL>
+   For tiled wms layers: Overlap of map tiles in pixels. Useful for
+ preventing rendering artefacts at tile edges. Recommended values:
+ 0-15, default is 0 (no gutter at all).
+   
+   </UL>
+   <HR>
+   
+   <A NAME="tileSize"><!-- --></A>
+   <H3>tileSize</H3>
+   <PRE>Object&nbsp;<B>tileSize</B></PRE>
+   <UL>
+   For tiled wms layers: how many pixels should the size of one tile
+ be? Default is 256.
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="MapPaneOL()"><!-- --></A><H3>
+MapPaneOL</H3>
+<PRE><B>MapPaneOL</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to render a map from an OGC context document.  The layers are
+ rendered using http://openlayers.org .
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="addLayer"><!-- --></A>
+   <H3>addLayer</H3>
+   <PRE>void <B>addLayer</B>(objRef, layerNode)</PRE>
+   
+      <UL>Adds a layer into the output</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  This object.  
+      </UL> 
+   
+     <UL><CODE>layerNode</CODE> -   The node of the layer    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="clear"><!-- --></A>
+   <H3>clear</H3>
+   <PRE>void <B>clear</B>(objRef)</PRE>
+   
+      <UL>remove OpenLayers events and layers</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this widget    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="decreaseLoadingLayers"><!-- --></A>
+   <H3>decreaseLoadingLayers</H3>
+   <PRE>void <B>decreaseLoadingLayers</B>(e)</PRE>
+   
+      <UL>Event handler to keep the modelStatus updated when an OpenLayers layer
+ finished loading.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  OpenLayers event    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="deleteAllLayers"><!-- --></A>
+   <H3>deleteAllLayers</H3>
+   <PRE>void <B>deleteAllLayers</B>(objRef)</PRE>
+   
+      <UL>Removes all layers from the output</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.  
+      </UL> 
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="deleteLayer"><!-- --></A>
+   <H3>deleteLayer</H3>
+   <PRE>void <B>deleteLayer</B>(objRef, layerId)</PRE>
+   
+      <UL>Removes a layer from the output
+/**
+ Removes a layer from the output</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.  
+      </UL> 
+   
+     <UL><CODE>layerId</CODE> -  the WMS name for the layer to be removed    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getLayer"><!-- --></A>
+   <H3>getLayer</H3>
+   <PRE>Object <B>getLayer</B>(objRef,layerId)</PRE>
+   
+      <UL>Returns OL layer node from LayerMgr</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -  The layer Id (or layerName)
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getWebSafeStyle"><!-- --></A>
+   <H3>getWebSafeStyle</H3>
+   <PRE>Object <B>getWebSafeStyle</B>(objRef, colorNumber)</PRE>
+   
+      <UL>gets an OpenLayers vector style with web safe colors.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this object  
+      </UL> 
+   
+     <UL><CODE>colorNumber</CODE> -  number of a color from which to generate websafe color  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        {OpenLayers.Style} style for OpenLayers vector rendering 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="hidden"><!-- --></A>
+   <H3>hidden</H3>
+   <PRE>void <B>hidden</B>(objRef, layerId)</PRE>
+   
+      <UL>Hide/unhide a layer. Called by Context when the hidden attribute changes.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to widget object.  
+      </UL> 
+   
+     <UL><CODE>layerId</CODE> -  Id of the layer to hide/unhide.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="increaseLoadingLayers"><!-- --></A>
+   <H3>increaseLoadingLayers</H3>
+   <PRE>void <B>increaseLoadingLayers</B>(e)</PRE>
+   
+      <UL>Event handler to keep the modelStatus updated when an OpenLayers layer
+ starts loading.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  OpenLayers event    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="moveLayerDown"><!-- --></A>
+   <H3>moveLayerDown</H3>
+   <PRE>void <B>moveLayerDown</B>(objRef, layerId)</PRE>
+   
+      <UL>Moves a layer up in the stack of map layers</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.  
+      </UL> 
+   
+     <UL><CODE>layerId</CODE> -  the WMS name for the layer to be removed    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="moveLayerUp"><!-- --></A>
+   <H3>moveLayerUp</H3>
+   <PRE>void <B>moveLayerUp</B>(objRef, layerId)</PRE>
+   
+      <UL>Moves a layer up in the stack of map layers</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.  
+      </UL> 
+   
+     <UL><CODE>layerId</CODE> -  the WMS name for the layer to be removed    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="paint"><!-- --></A>
+   <H3>paint</H3>
+   <PRE>void <B>paint</B>(objRef, refresh)</PRE>
+   
+      <UL>Render the widget.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to widget object.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="refreshLayer"><!-- --></A>
+   <H3>refreshLayer</H3>
+   <PRE>void <B>refreshLayer</B>(objRef, layerId , newParams)</PRE>
+   
+      <UL>Called for refreshing one layer.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  This object.  
+      </UL> 
+   
+     <UL><CODE>layerId</CODE> -   The id of the layer that was toggled.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="refreshWmsLayers"><!-- --></A>
+   <H3>refreshWmsLayers</H3>
+   <PRE>void <B>refreshWmsLayers</B>(objRef)</PRE>
+   
+      <UL>Called after a feature has been added to a WFS.  This function triggers
+ the WMS basemaps to be redrawn.  A timestamp param is added to the URL
+ to ensure the basemap image is not cached.
+ This function is triggered by the refreshWmsLayers event. If this event
+ is fired with a <layerId> as param, only that layer will be refreshed.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this widget      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setOpacity"><!-- --></A>
+   <H3>setOpacity</H3>
+   <PRE>void <B>setOpacity</B>(objRef, layerId)</PRE>
+   
+      <UL>Called when the context's opacity attribute changes.
+/**
+ Called when the context's opacity attribute changes.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  This object.  
+      </UL> 
+   
+     <UL><CODE>layerId</CODE> -   The id of the layer that was toggled.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="timestampListener"><!-- --></A>
+   <H3>timestampListener</H3>
+   <PRE>void <B>timestampListener</B>(objRef, timestampIndex)</PRE>
+   
+      <UL>Called when the map timestamp is changed so set the layer visiblity.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  This object.  
+      </UL> 
+   
+     <UL><CODE>timestampIndex</CODE> -   The array index for the layer to be displayed.       
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="updateContext"><!-- --></A>
+   <H3>updateContext</H3>
+   <PRE>void <B>updateContext</B>(e)</PRE>
+   
+      <UL>Event handler to keep the Mapbuilder context updated. It also
+ sets the map cursor to the previously stored value.
+ This is called by OpenLayers.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  OpenLayers event    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="updateMouse"><!-- --></A>
+   <H3>updateMouse</H3>
+   <PRE>void <B>updateMouse</B>(e)</PRE>
+   
+      <UL>Restore the map cursor stored by buttons. This has to be done
+ in an OpenLayers mouseup event, because the mouseup event
+ in OpenLayers resets the cursor to default.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  OpenLayers event    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="zoomToBbox"><!-- --></A>
+   <H3>zoomToBbox</H3>
+   <PRE>void <B>zoomToBbox</B>(objRef)</PRE>
+   
+      <UL>Zoom to the current Bounding Box.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this widget    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-MapPaneOL.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Mapbuilder.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="MapScaleBar.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="MapPaneOL.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-SelectTimeFrame.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-SelectTimeFrame.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-SelectTimeFrame.js.html	(revision 4307)
@@ -0,0 +1,218 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="SelectTimeFrame.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>SelectTimeFrame.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'SelectTimeFrame.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="SelectTimeFrame.html">SelectTimeFrame</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: SelectTimeFrame.js 2511 2007-01-05 11:55:23Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Widget to specify the start and stop frames for a time series context
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode This widget's object node from the configuration document.
+ * <span class="attrib">@param</span> model The model that this widget is a view of.
+ */</span>
+
+<span class="reserved">function</span> SelectTimeFrame(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+
+  <span class="comment">/**
+   * Sets the frame index for the time series to start
+   * <span class="attrib">@param</span> index the array index for the first frame
+   */</span>
+  <span class="reserved">this</span>.setFirstFrame = <span class="reserved">function</span>(index) {
+    <span class="reserved">this</span>.model.setParam(<span class="literal">"stopLoop"</span>);
+    <span class="reserved">this</span>.model.setParam(<span class="literal">"firstFrame"</span>,index);
+  }
+
+  <span class="comment">/**
+   * Sets the frame index for the time series end
+   * <span class="attrib">@param</span> index the array index for the first frame
+   */</span>
+  <span class="reserved">this</span>.setLastFrame = <span class="reserved">function</span>(index) {
+    var timestampList = <span class="reserved">this</span>.model.timestampList;
+    <span class="reserved">if</span> (index &gt; timestampList.firstFrame) {
+      timestampList.lastFrame = index;
+    } <span class="reserved">else</span> {
+      alert(mbGetMessage(<span class="literal">"lastFrameAfterFirst"</span>));
+    }
+    <span class="reserved">this</span>.model.setParam(<span class="literal">"stopLoop"</span>);
+  }
+
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/OwsCatResources.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/OwsCatResources.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/OwsCatResources.html	(revision 4307)
@@ -0,0 +1,480 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+OwsCatResources
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="OwsCatResources";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-OwsCatResources.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="OverviewMap.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="OWSCatSearchForm.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="OwsCatResources.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class OwsCatResources</H2>
+<PRE>Object
+   |
+   +--<a href='Listener.html'>Listener</a>
+         |
+         +--<a href='ModelBase.html'>ModelBase</a>
+               |
+               +--<a href='FeatureCollection.html'>FeatureCollection</a>
+                     |
+                     +--<b>OwsCatResources</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>OwsCatResources</B>
+   
+      <DT>extends <a href='FeatureCollection.html'>FeatureCollection</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-OwsCatResources.js.html'>OwsCatResources.js</a></I><BR/><BR/><B>Author:</B> Mike Adair  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#namespace">namespace</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="FeatureCollection.html">FeatureCollection</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="FeatureCollection.html#featureTagName">featureTagName</a>, <a href="FeatureCollection.html#coordsTagName">coordsTagName</a>, <a href="FeatureCollection.html#nodeSelectXpath">nodeSelectXpath</a>, <a href="FeatureCollection.html#coordSelectXpath">coordSelectXpath</a>, <a href="FeatureCollection.html#hidden">hidden</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ModelBase.html">ModelBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ModelBase.html#async">async</a>, <a href="ModelBase.html#contentType">contentType</a>, <a href="ModelBase.html#modelNode">modelNode</a>, <a href="ModelBase.html#id">id</a>, <a href="ModelBase.html#title">title</a>, <a href="ModelBase.html#debug">debug</a>, <a href="ModelBase.html#url">url</a>, <a href="ModelBase.html#method">method</a>, <a href="ModelBase.html#namespace">namespace</a>, <a href="ModelBase.html#template">template</a>, <a href="ModelBase.html#nodeSelectXpath">nodeSelectXpath</a>, <a href="ModelBase.html#config">config</a>, <a href="ModelBase.html#parentModel">parentModel</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="Listener.html">Listener</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="Listener.html#listeners">listeners</a>, <a href="Listener.html#values">values</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="OwsCatResources.html#OwsCatResources()">OwsCatResources</A> 
+	 </B>
+	 (modelNode, parent)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Generic Model object for models where no specialization is required.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeatureNode">getFeatureNode</A></B>(featureName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the featureType node with the specified name from the list of nodes
+ selected by the nodeSelectXpath from the capabilities doc.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="FeatureCollection.html">FeatureCollection</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="FeatureCollection.html#convertCoords">convertCoords</a>, <a href="FeatureCollection.html#loadWfsRequests">loadWfsRequests</a>, <a href="FeatureCollection.html#setHidden">setHidden</a>, <a href="FeatureCollection.html#getHidden">getHidden</a>, <a href="FeatureCollection.html#getFeatureNodes">getFeatureNodes</a>, <a href="FeatureCollection.html#getFeatureName">getFeatureName</a>, <a href="FeatureCollection.html#getFeatureId">getFeatureId</a>, <a href="FeatureCollection.html#getFeaturePoint">getFeaturePoint</a>, <a href="FeatureCollection.html#getFeatureGeometry">getFeatureGeometry</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ModelBase.html">ModelBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ModelBase.html#getProperty">getProperty</a>, <a href="ModelBase.html#getXpathValue">getXpathValue</a>, <a href="ModelBase.html#setXpathValue">setXpathValue</a>, <a href="ModelBase.html#loadModelDoc">loadModelDoc</a>, <a href="ModelBase.html#setModel">setModel</a>, <a href="ModelBase.html#finishLoading">finishLoading</a>, <a href="ModelBase.html#newRequest">newRequest</a>, <a href="ModelBase.html#deleteTemplates">deleteTemplates</a>, <a href="ModelBase.html#saveModel">saveModel</a>, <a href="ModelBase.html#createObject">createObject</a>, <a href="ModelBase.html#loadObjects">loadObjects</a>, <a href="ModelBase.html#parseConfig">parseConfig</a>, <a href="ModelBase.html#refresh">refresh</a>, <a href="ModelBase.html#init">init</a>, <a href="ModelBase.html#clearModel">clearModel</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="Listener.html">Listener</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="Listener.html#addListener">addListener</a>, <a href="Listener.html#addFirstListener">addFirstListener</a>, <a href="Listener.html#removeListener">removeListener</a>, <a href="Listener.html#callListeners">callListeners</a>, <a href="Listener.html#setParam">setParam</a>, <a href="Listener.html#getParam">getParam</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="namespace"><!-- --></A>
+   <H3>namespace</H3>
+   <PRE>Object&nbsp;<B>namespace</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="OwsCatResources()"><!-- --></A><H3>
+OwsCatResources</H3>
+<PRE><B>OwsCatResources</B>(modelNode, parent)</PRE>
+
+
+<UL>
+   Generic Model object for models where no specialization is required.  This is
+ just an instance of a abstract ModelBase.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>modelNode</CODE> -  The model's XML object node from the configuration document  
+     </UL>
+   
+     <UL><CODE>parent</CODE> -  Parent of this model, set to null if there is no parent.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Mike Adair  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="getFeatureNode"><!-- --></A>
+   <H3>getFeatureNode</H3>
+   <PRE>Object <B>getFeatureNode</B>(featureName)</PRE>
+   
+      <UL>Returns the featureType node with the specified name from the list of nodes
+ selected by the nodeSelectXpath from the capabilities doc.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureName</CODE> -  name of the featureType to look up  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the featureType node with the specified name. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-OwsCatResources.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="OverviewMap.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="OWSCatSearchForm.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="OwsCatResources.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/CursorTrack.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/CursorTrack.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/CursorTrack.html	(revision 4307)
@@ -0,0 +1,795 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+CursorTrack
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="CursorTrack";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-CursorTrack.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Context.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="DeleteFeature.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="CursorTrack.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class CursorTrack</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>CursorTrack</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>CursorTrack</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-CursorTrack.js.html'>CursorTrack.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#formName">formName</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#MGRS">MGRS</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#precision">precision</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#showDM">showDM</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#showDMS">showDMS</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#showLatLong">showLatLong</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#showMGRS">showMGRS</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#showPx">showPx</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#showXY">showXY</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="CursorTrack.html#CursorTrack()">CursorTrack</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to display the mouse coordinates when it is over a MapContainer widget.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#clear">clear</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#convertDM">convertDM</A></B>(coordinate, type)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Decimal to DM (degrees plus decimal minutes) conversion
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#convertDMS">convertDMS</A></B>(coordinate, type)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Decimal to DMS conversion
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getHemi">getHemi</A></B>(coordinate, type)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Return the hemisphere abbreviation for this coordinate.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#init">init</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Add mouse event listeners to the map object in the model.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#mousemoveHandler">mousemoveHandler</A></B>(evt)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 OpenLayers mousemove event listener.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#mouseoutHandler">mouseoutHandler</A></B>(evt)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 OpenLayers mouseout event listener.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="formName"><!-- --></A>
+   <H3>formName</H3>
+   <PRE>Object&nbsp;<B>formName</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="MGRS"><!-- --></A>
+   <H3>MGRS</H3>
+   <PRE>Object&nbsp;<B>MGRS</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="precision"><!-- --></A>
+   <H3>precision</H3>
+   <PRE>Object&nbsp;<B>precision</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="showDM"><!-- --></A>
+   <H3>showDM</H3>
+   <PRE>Object&nbsp;<B>showDM</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="showDMS"><!-- --></A>
+   <H3>showDMS</H3>
+   <PRE>Object&nbsp;<B>showDMS</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="showLatLong"><!-- --></A>
+   <H3>showLatLong</H3>
+   <PRE>Object&nbsp;<B>showLatLong</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="showMGRS"><!-- --></A>
+   <H3>showMGRS</H3>
+   <PRE>Object&nbsp;<B>showMGRS</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="showPx"><!-- --></A>
+   <H3>showPx</H3>
+   <PRE>Object&nbsp;<B>showPx</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="showXY"><!-- --></A>
+   <H3>showXY</H3>
+   <PRE>Object&nbsp;<B>showXY</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="CursorTrack()"><!-- --></A><H3>
+CursorTrack</H3>
+<PRE><B>CursorTrack</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to display the mouse coordinates when it is over a MapContainer widget.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  This widget's object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model that this widget is a view of.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="clear"><!-- --></A>
+   <H3>clear</H3>
+   <PRE>void <B>clear</B>(objRef)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="convertDM"><!-- --></A>
+   <H3>convertDM</H3>
+   <PRE>Object <B>convertDM</B>(coordinate, type)</PRE>
+   
+      <UL>Decimal to DM (degrees plus decimal minutes) conversion</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="convertDMS"><!-- --></A>
+   <H3>convertDMS</H3>
+   <PRE>Object <B>convertDMS</B>(coordinate, type)</PRE>
+   
+      <UL>Decimal to DMS conversion</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getHemi"><!-- --></A>
+   <H3>getHemi</H3>
+   <PRE>Object <B>getHemi</B>(coordinate, type)</PRE>
+   
+      <UL>Return the hemisphere abbreviation for this coordinate.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="init"><!-- --></A>
+   <H3>init</H3>
+   <PRE>void <B>init</B>(objRef)</PRE>
+   
+      <UL>Add mouse event listeners to the map object in the model.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this CursorTrack object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="mousemoveHandler"><!-- --></A>
+   <H3>mousemoveHandler</H3>
+   <PRE>void <B>mousemoveHandler</B>(evt)</PRE>
+   
+      <UL>OpenLayers mousemove event listener.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>evt</CODE> -  OpenLayers mouse event      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="mouseoutHandler"><!-- --></A>
+   <H3>mouseoutHandler</H3>
+   <PRE>void <B>mouseoutHandler</B>(evt)</PRE>
+   
+      <UL>OpenLayers mouseout event listener.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>evt</CODE> -  OpenLayers mouse event      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-CursorTrack.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Context.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="DeleteFeature.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="CursorTrack.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-FeatureList.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-FeatureList.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-FeatureList.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ FeatureList.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" FeatureList.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-FeatureList.js.html" 
+                                        target="classFrame">FeatureList.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="FeatureList.html" TARGET="classFrame">FeatureList</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/DragPan.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/DragPan.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/DragPan.html	(revision 4307)
@@ -0,0 +1,429 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+DragPan
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="DragPan";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-DragPan.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="DOMParser.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="EditButtonBase.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DragPan.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class DragPan</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<b>DragPan</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>DragPan</B>
+   
+      <DT>extends <a href='ButtonBase.html'>ButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-DragPan.js.html'>DragPan.js</a></I><BR/><BR/><B>Author:</B> Andreas HocevarATgmail.com  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#cursor">cursor</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="DragPan.html#DragPan()">DragPan</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      When this button is selected, dragging in the map moves the map extent.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#createControl">createControl</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#doSelect">doSelect</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="cursor"><!-- --></A>
+   <H3>cursor</H3>
+   <PRE>Object&nbsp;<B>cursor</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="DragPan()"><!-- --></A><H3>
+DragPan</H3>
+<PRE><B>DragPan</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   When this button is selected, dragging in the map moves the map extent.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  The widget node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model for this widget
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Andreas HocevarATgmail.com  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="createControl"><!-- --></A>
+   <H3>createControl</H3>
+   <PRE>Object <B>createControl</B>(objRef)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-DragPan.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="DOMParser.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="EditButtonBase.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DragPan.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-FeatureCollection.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-FeatureCollection.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-FeatureCollection.js.html	(revision 4307)
@@ -0,0 +1,359 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="FeatureCollection.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>FeatureCollection.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'FeatureCollection.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="FeatureCollection.html">FeatureCollection</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: FeatureCollection.js 3882 2008-02-27 15:41:33Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/model/ModelBase.js"</span>);
+
+<span class="comment">/**
+ * Stores a GML Feature or FeatureCollection as defined by the
+ * Open Geospatial Consortium (http://www.opengeospatial.org/).
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ModelBase
+ * <span class="attrib">@author</span> Cameron Shorter
+ * <span class="attrib">@requires</span> Sarissa
+ * <span class="attrib">@param</span> modelNode The model's XML object node from the configuration document.
+ * <span class="attrib">@param</span> parent    The parent model for the object.
+  */</span>
+<span class="reserved">function</span> FeatureCollection(modelNode, parent) {
+<span class="comment">  // Inherit the ModelBase functions and parameters</span>
+  ModelBase.apply(<span class="reserved">this</span>, new Array(modelNode, parent));
+
+  <span class="reserved">this</span>.featureTagName = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:featureTagName"</span>, <span class="literal">"topp:CITY_NAME"</span>);
+  <span class="reserved">this</span>.coordsTagName = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:coordsTagName"</span>, <span class="literal">"//gml:coordinates"</span>);
+  <span class="reserved">this</span>.nodeSelectXpath = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:nodeSelectXpath"</span>);
+  <span class="reserved">this</span>.coordSelectXpath = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:coordSelectXpath"</span>, <span class="literal">"topp:the_geom/gml:MultiPoint/gml:pointMember/gml:Point/gml:coordinates"</span>);
+<span class="comment">
+  // Namespace to use when doing Xpath queries, usually set in config file.</span>
+<span class="comment">  //if (!this.namespace){</span>
+<span class="comment">  //  this.namespace = "xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs'";</span>
+<span class="comment">  //}</span>
+
+  <span class="comment">/**
+   * convert coordinates in the GML document to the SRS of the map container, 
+   * if required.  The coordinate values are replaced in the GML document.
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.convertCoords = <span class="reserved">function</span>(objRef) {
+  
+    <span class="reserved">if</span>( objRef.doc &amp;&amp; objRef.containerModel &amp;&amp; objRef.containerModel.doc ) {
+		  var coordNodes = objRef.doc.selectNodes( objRef.coordsTagName );
+		  <span class="reserved">if</span> (coordNodes.length&gt;0 &amp;&amp; objRef.containerModel) {
+		    var srsNode = coordNodes[0].selectSingleNode(<span class="literal">"ancestor-or-self::*/@srsName"</span>);
+		    <span class="reserved">if</span>( srsNode &amp;&amp; (srsNode.nodeValue.toUpperCase() != objRef.containerModel.getSRS().toUpperCase()) ) {
+		      var sourceProj = new OpenLayers.Projection(srsNode.nodeValue);
+		      objRef.setParam(<span class="literal">"modelStatus"</span>,mbGetMessage(<span class="literal">"convertingCoords"</span>));
+		      var containerProj = new OpenLayers.Projection(objRef.containerModel.getSRS());
+		      <span class="reserved">for</span> (var i=0; i&lt;coordNodes.length; ++i) {
+		        var coords = getNodeValue(coordNodes[i]);
+		        var coordsArray = coords.split(<span class="literal">' '</span>);
+		        var newCoords = <span class="literal">''</span>;
+		        <span class="reserved">for</span> (var j=0; j&lt;coordsArray.length; ++j) {
+		          var xy = coordsArray[j].split(<span class="literal">','</span>);
+		          <span class="reserved">if</span> (xy.length==2) {
+		            var pt=new OpenLayers.Geometry.Point(xy[0],xy[1]);
+                pt.transform(sourceProj,containerProj);
+		            newCoords += pt.x + <span class="literal">','</span> + pt.y + <span class="literal">' '</span>;
+		          }
+		        }
+		        coordNodes[i].firstChild.nodeValue=newCoords;
+		      }
+		    }
+      }
+    }
+  }
+  
+  <span class="comment">/**
+    * Called when the OWSContext gets loaded
+    */</span>
+  <span class="reserved">this</span>.loadWfsRequests = <span class="reserved">function</span>(objRef) {
+<span class="comment">    //alert( "FeatureCollection loadModel:"+(new XMLSerializer()).serializeToString(objRef.containerModel.doc))</span>
+<span class="comment">    // we need to retrieve all the features</span>
+    <span class="reserved">if</span>( objRef.containerModel.doc != null) {
+<span class="comment">      //alert( "FeatureCollection loadModel:"+(new XMLSerializer()).serializeToString(objRef.containerModel.doc))</span>
+      var featureTypes = objRef.containerModel.doc.selectNodes(<span class="literal">"/wmc:OWSContext/wmc:ResourceList/wmc:FeatureType"</span>);
+      <span class="reserved">if</span>( featureTypes.length &gt; 0 ) {
+        <span class="reserved">for</span>( var i=0; i&lt;featureTypes.length; i++) {
+          var httpPayload = new Object();        
+        
+          var wfsFeature = featureTypes[i]
+<span class="comment">          //alert( "feature:"+ (new XMLSerializer()).serializeToString(wfsFeature) )</span>
+          
+          var server = wfsFeature.selectSingleNode(<span class="literal">"wmc:Server"</span>)
+<span class="comment">          //alert( "server:"+ (new XMLSerializer()).serializeToString(server) )</span>
+          var onlineResource = server.selectSingleNode(<span class="literal">"wmc:OnlineResource"</span>)
+<span class="comment">          //alert( "onlineResource:"+ (new XMLSerializer()).serializeToString(onlineResource) )</span>
+          httpPayload.method = onlineResource.getAttribute(<span class="literal">"method"</span>)
+          httpPayload.url = onlineResource.getAttribute(<span class="literal">"xlink:href"</span>)
+<span class="comment">          //alert( "server:"+ httpPayload.method + " " + httpPayload.url )</span>
+          
+          var query = wfsFeature.selectSingleNode(<span class="literal">"wfs:GetFeature"</span>)
+<span class="comment">          //alert( "query2:"+ (new XMLSerializer()).serializeToString( query ))</span>
+          httpPayload.postData = (new XMLSerializer()).serializeToString( query )
+<span class="comment">          
+          // This does not work on IE for some reaso</span>
+<span class="comment">          // wfsFeature.model = objRef;</span>
+          objRef.wfsFeature = wfsFeature
+          objRef.newRequest(objRef,httpPayload);
+<span class="comment">
+          //objRef.containerModel.setParam('addLayer', wfsFeature);</span>
+<span class="comment">          //var sld = wfsFeature.selectSingleNode("wmc:StyleList")</span>
+        }
+      }
+    }
+  }
+  
+  <span class="reserved">this</span>.addFirstListener(<span class="literal">"loadModel"</span>,<span class="reserved">this</span>.convertCoords,<span class="reserved">this</span>);
+  
+  <span class="reserved">if</span>( <span class="reserved">this</span>.containerModel ) <span class="reserved">this</span>.containerModel.addListener(<span class="literal">"loadModel"</span>,<span class="reserved">this</span>.loadWfsRequests,<span class="reserved">this</span>);
+
+  <span class="comment">/**
+   * Change a feature's visibility.
+   * <span class="attrib">@param</span> featureName The name of the feature to set the hidden value for
+   * <span class="attrib">@param</span> hidden, 1=hidden, 0=not hidden.
+   */</span>
+  <span class="reserved">this</span>.setHidden=<span class="reserved">function</span>(featureName, hidden){
+    <span class="reserved">this</span>.hidden = hidden;
+    <span class="reserved">this</span>.callListeners(<span class="literal">"hidden"</span>, featureName);
+  }
+
+  <span class="comment">/**
+   * Geta feature's visibility.
+   * <span class="attrib">@param</span> featureName The name of the feature to set the hidden value for
+   * <span class="attrib">@return</span> hidden value, true=hidden, false=not hidden.
+   */</span>
+  <span class="reserved">this</span>.getHidden=<span class="reserved">function</span>(layerName){
+    <span class="reserved">return</span> <span class="reserved">this</span>.hidden;
+  }
+  <span class="reserved">this</span>.hidden = false;
+
+  <span class="comment">/**
+   * Returns the list of nodes selected by the nodeSelectpath.  These nodes
+   * will be the individual feature members from the collection.
+   * <span class="attrib">@return</span> list of nodes selected 
+   */</span>
+  <span class="reserved">this</span>.getFeatureNodes = <span class="reserved">function</span>() {
+    <span class="reserved">return</span> <span class="reserved">this</span>.doc.selectNodes(<span class="reserved">this</span>.nodeSelectXpath);
+  }
+
+  <span class="comment">/**
+   * Returns a label for a node in the feature list
+   * <span class="attrib">@param</span> featureNode the feature node to selectfrom
+   * <span class="attrib">@return</span> a label for this feature
+   */</span>
+  <span class="reserved">this</span>.getFeatureName = <span class="reserved">function</span>(featureNode) {
+    var labelNode = featureNode.selectSingleNode(<span class="reserved">this</span>.featureTagName);   //TBD: set <span class="reserved">this</span> dynamically
+    <span class="reserved">return</span> labelNode?getNodeValue(labelNode):mbGetMessage(<span class="literal">"noRssTitle"</span>);
+  }
+
+  <span class="comment">/**
+   * Returns an ID value for a node in the feature list
+   * <span class="attrib">@param</span> featureNode the feature node to selectfrom
+   * <span class="attrib">@return</span> ID for this feature
+   */</span>
+  <span class="reserved">this</span>.getFeatureId = <span class="reserved">function</span>(featureNode) {
+    <span class="reserved">return</span> featureNode.getAttribute(<span class="literal">"fid"</span>)?featureNode.getAttribute(<span class="literal">"fid"</span>):<span class="literal">"no_id"</span>;
+  }
+
+  <span class="comment">/**
+   * Returns a point geometry for the feature
+   * <span class="attrib">@param</span> featureNode the feature node to select from
+   * <span class="attrib">@return</span> the geometric point for the node
+   */</span>
+  <span class="reserved">this</span>.getFeaturePoint = <span class="reserved">function</span>(featureNode) {
+    var coords = featureNode.selectSingleNode(<span class="reserved">this</span>.coordSelectXpath);
+    <span class="reserved">if</span> (coords) {
+      var point = getNodeValue(coords).split(<span class="literal">','</span>);
+      <span class="reserved">return</span> point
+    } <span class="reserved">else</span> {
+      <span class="reserved">return</span> new Array(0,0);  //or some other error to <span class="reserved">return</span>?
+    }
+  }
+  
+ <span class="comment">/**
+   * Returns a GML geometry for the feature
+   * <span class="attrib">@param</span> featureNode the feature node to select from
+   * <span class="attrib">@return</span> the GML for the node
+   */</span>
+  <span class="reserved">this</span>.getFeatureGeometry = <span class="reserved">function</span>(featureNode) {
+    var geometryTag = featureNode.selectSingleNode(<span class="reserved">this</span>.coordsTagName);
+    <span class="reserved">if</span>( geometryTag != null )
+      <span class="reserved">return</span> geometryTag.firstChild;
+    <span class="reserved">else</span> {
+      alert(mbGetMessage(<span class="literal">"invalidGeom"</span>, (new XMLSerializer()).serializeToString(featureNode)));
+    }
+  }
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-SetAoi.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-SetAoi.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-SetAoi.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ SetAoi.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" SetAoi.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-SetAoi.js.html" 
+                                        target="classFrame">SetAoi.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="SetAoi.html" TARGET="classFrame">SetAoi</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Graticule.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Graticule.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Graticule.js.html	(revision 4307)
@@ -0,0 +1,715 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Graticule.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Graticule.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Graticule.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Graticule.html">Graticule</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Olivier Terral olivier.terralATgeomatys.fr
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: Graticule.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/</span>
+<span class="comment">// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/ButtonBase.js"</span>);
+
+
+<span class="comment">/**
+ * Render a Graticule.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ButtonBase
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> Graticule(widgetNode, model) {
+
+	ButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+	<span class="reserved">this</span>.display=false;
+	<span class="reserved">this</span>.color=<span class="reserved">this</span>.getProperty(<span class="literal">"mb:color"</span>);
+	
+	<span class="comment">/**
+   * Interactive ZoomOut control.
+   * <span class="attrib">@param</span> objRef reference to this object.
+   * <span class="attrib">@return</span> {OpenLayers.Control} class of the OL control.
+   */</span>
+  <span class="reserved">this</span>.createControl = <span class="reserved">function</span>(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      CLASS_NAME: <span class="literal">'mbControl.Graticule'</span>,
+      type: OpenLayers.Control.TYPE_TOGGLE,
+	  destroy : <span class="reserved">function</span>() {
+	    OpenLayers.Control.<span class="reserved">prototype</span>.destroy.apply(<span class="reserved">this</span>, arguments);
+	    <span class="reserved">if</span> (<span class="reserved">this</span>.divs) {
+	      <span class="reserved">for</span>(i = <span class="reserved">this</span>.divs.length; i &gt; 0; --i) {
+		<span class="reserved">this</span>.divs[i] = null;
+	      }
+	    }
+	    <span class="reserved">this</span>.div = null;
+	    <span class="reserved">this</span>.mapContainer = null;
+	  },
+<span class="comment">	    
+////////////////////////////ancien/////////////////////	</span>
+<span class="comment">/**
+   * Remove divs
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+	removeGraticules : <span class="reserved">function</span>() {
+	
+	  try{
+			  var i = 0;
+			  var div = <span class="reserved">this</span>.mapContainer;
+		
+		      <span class="reserved">if</span> (<span class="reserved">this</span>.divs) {
+		  	<span class="reserved">for</span>(i=0; i&lt; <span class="reserved">this</span>.divs.length; i++)
+		  	{
+				div.removeChild(<span class="reserved">this</span>.divs[i]);
+			}
+		      }
+	  }
+	  catch(e){
+	  }
+	
+	},
+
+	<span class="comment">/**
+   * Get bbox of MapPane with the right projection
+   * Return an object
+   * <span class="attrib">@param</span> this Pointer to this object.
+   */</span>
+	getBbox : <span class="reserved">function</span>() {
+	
+			var bbox=new Object();
+			bbox.ll=new Object();
+			bbox.ur=new Object();
+<span class="comment">			///CSCS</span>
+    		var ll=new OpenLayers.Geometry.Point(<span class="reserved">this</span>.bbox[0], <span class="reserved">this</span>.bbox[1]);
+    		var ur=new OpenLayers.Geometry.Point(<span class="reserved">this</span>.bbox[2], <span class="reserved">this</span>.bbox[3]);
+    		var wgs84 = new OpenLayers.Projection(<span class="literal">"EPSG:4326"</span>);
+    		
+    		ll.transform(<span class="reserved">this</span>.proj, wgs84);
+    		ur.transform(<span class="reserved">this</span>.proj, wgs84);
+		
+			
+			bbox.ll.lon=ll.x;		//minx
+			bbox.ll.lat=ll.y;		//miny
+			bbox.ur.lon=ur.x;		//maxx
+			bbox.ur.lat=ur.y;		//maxy
+		
+			<span class="reserved">return</span> bbox;
+		
+	},
+
+	<span class="comment">/**
+   * Calculate rounded graticule interval for supplied lat/lon span
+   * 
+   * <span class="attrib">@param</span> dDeg difference in degrees.
+   */</span>
+<span class="comment">	//</span>
+<span class="comment">	//return is in minutes</span>
+	gridIntervalMins : <span class="reserved">function</span>(dDeg) {  
+	
+	  var dDeg = dDeg/10;				//want around 10 lines in the graticule
+	  dDeg *= 6000;						//to minutes*100
+	  dDeg = Math.ceil(dDeg)/100;		//minutes and hundredths of mins
+	
+	  <span class="reserved">if</span>(dDeg &lt;= 0.06)
+		dDeg = 0.06;//0.001 degrees
+	  <span class="reserved">else</span> <span class="reserved">if</span>(dDeg &lt;= 0.12)
+		dDeg = 0.12;//0.002 degrees
+	  <span class="reserved">else</span> <span class="reserved">if</span>(dDeg &lt;= 0.3)
+		dDeg = 0.3;//0.005 degrees
+	  <span class="reserved">else</span> <span class="reserved">if</span>(dDeg &lt;= 0.6)
+		dDeg = 0.6;//0.01 degrees
+	  <span class="reserved">else</span> <span class="reserved">if</span> (dDeg &lt;=  1.2)
+		dDeg = 1.2;//0.02 degrees
+	  <span class="reserved">else</span> <span class="reserved">if</span>(dDeg &lt;= 3)
+		dDeg = 3;//0.05 degrees
+	  <span class="reserved">else</span> <span class="reserved">if</span>(dDeg &lt;= 6)
+		dDeg = 6;//0.1 degrees
+	  <span class="reserved">else</span> <span class="reserved">if</span> (dDeg &lt;=  12)
+		dDeg = 12;//0.2 degrees
+	  <span class="reserved">else</span> <span class="reserved">if</span> (dDeg &lt;=  30)
+		dDeg = 30;//0.5
+	  <span class="reserved">else</span> <span class="reserved">if</span> (dDeg &lt;=  60)
+		dDeg = 30;//1
+	  <span class="reserved">else</span> <span class="reserved">if</span> (dDeg &lt;=  (60*2))
+		dDeg = 60*2;
+	  <span class="reserved">else</span> <span class="reserved">if</span> (dDeg &lt;=  (60*5))
+		dDeg = 60*5;
+	  <span class="reserved">else</span> <span class="reserved">if</span> (dDeg &lt;=  (60*10))
+		dDeg = 60*10;
+	  <span class="reserved">else</span> <span class="reserved">if</span> (dDeg &lt;=  (60*20))
+		dDeg = 60*20;
+	  <span class="reserved">else</span> <span class="reserved">if</span> (dDeg &lt;=  (60*30))
+		dDeg = 60*30;
+	  <span class="reserved">else</span>
+		dDeg = 60*45;
+	  
+		
+	  <span class="reserved">return</span> dDeg;
+	
+},
+
+
+	
+	<span class="comment">/* Calculate grid label precision from grid interval in degrees
+	*
+	*<span class="attrib">@param</span> dDeg difference in degrees.
+	*/</span>
+	gridPrecision : <span class="reserved">function</span>(dDeg) {
+		<span class="reserved">if</span>(dDeg &lt; 0.01)
+			<span class="reserved">return</span> 3;
+		<span class="reserved">else</span> <span class="reserved">if</span>(dDeg &lt; 0.1)
+			<span class="reserved">return</span> 2;
+		<span class="reserved">else</span> <span class="reserved">if</span>(dDeg &lt; 1)
+			<span class="reserved">return</span> 1;
+		<span class="reserved">else</span> <span class="reserved">return</span> 0;
+	},
+
+	<span class="comment">/* Draw graticules
+	*
+	*<span class="attrib">@param</span> this pointer to this object.
+	*/</span>
+	addGraticules : <span class="reserved">function</span>(){
+<span class="comment">
+		//Delete old graticule</span>
+		<span class="reserved">this</span>.removeGraticules();
+		
+		var bbox=<span class="reserved">this</span>.getBbox();
+		
+		var l=bbox.ll.lon; //////ll:lower left coordinates 
+		var b=bbox.ll.lat;		//ll:lower left ,ll.long : latitude(y) de coin en bas a gauche
+		var r=bbox.ur.lon;			//ur:upper right ,ur.long : longitude de coin en haut a droite
+		var t=bbox.ur.lat;		
+<span class="comment">		
+		 //test if coords are valid</span>
+		  <span class="reserved">if</span> (b &lt; -90.0)
+			b = -90.0;
+		  <span class="reserved">if</span>(t &gt; 90.0)
+			t = 90.0;
+		  <span class="reserved">if</span>(l &lt; -180.0)
+		    l = -180.0;  
+		  <span class="reserved">if</span>(r &gt; 180.0)
+		    r = 180.0;
+		    
+		  <span class="reserved">if</span>(l == r){
+			l = -180.0;
+			r = 180.0;
+		  }
+		
+		  <span class="reserved">if</span>(t == b){
+			b = -90.0;
+			t = 90.0;
+		  }
+<span class="comment">		 
+		  
+		  
+		  //grid interval in minutes    </span>
+		  var dLat = <span class="reserved">this</span>.gridIntervalMins(t-b);
+		  var dLng; 
+		  <span class="reserved">if</span>(r&gt;l)
+			dLng = <span class="reserved">this</span>.gridIntervalMins(r-l);
+		  <span class="reserved">else</span>
+		    dLng = <span class="reserved">this</span>.gridIntervalMins((180-l)+(r+180));
+<span class="comment">		
+		  //round iteration limits to the computed grid interval</span>
+		  l = Math.floor(l*60/dLng)*dLng/60;
+		  b = Math.floor(b*60/dLat)*dLat/60;
+		  t = Math.ceil(t*60/dLat)*dLat/60;
+		  r = Math.ceil(r*60/dLng)*dLng/60;
+<span class="comment">		  
+		
+		
+		  //Tes if coords are valid</span>
+		  <span class="reserved">if</span> (b &lt;= -90.0)
+			b = -90;
+		  <span class="reserved">if</span>(t &gt;= 90.0)
+			t = 90;
+		  <span class="reserved">if</span>(l &lt; -180.0)
+		    l = -180.0;  
+		  <span class="reserved">if</span>(r &gt; 180.0)
+		    r = 180.0;
+<span class="comment">		    
+		  //to whole degrees</span>
+		  dLat /= 60;
+		  dLng /= 60;
+
+		  <span class="reserved">this</span>.dLat=dLat;
+		  <span class="reserved">this</span>.dLon=dLng;
+<span class="comment">		  
+		  //# digits after DP for labels</span>
+		  var latDecs = <span class="reserved">this</span>.gridPrecision(dLat);
+		  var lonDecs = <span class="reserved">this</span>.gridPrecision(dLng);
+<span class="comment">		 
+		  //array for divs used for lines and labels</span>
+		  <span class="reserved">this</span>.divs = new Array();
+		  var i=0;//count inserted divs
+<span class="comment">		
+		  //min and max x and y pixel values for graticule lines</span>
+		  var pbl = <span class="reserved">this</span>.fromLatLngToDivPixel(b,l);
+		  var ptr = <span class="reserved">this</span>.fromLatLngToDivPixel(t,r);
+		
+		  
+		  <span class="reserved">this</span>.maxX = ptr.x;
+		  <span class="reserved">this</span>.maxY = pbl.y;
+		  <span class="reserved">this</span>.minX = pbl.x;
+		  <span class="reserved">this</span>.minY = ptr.y;
+		  var x;//coord <span class="reserved">for</span> label
+<span class="comment">		  
+		  //labels on second column to avoid peripheral controls</span>
+		  var y = <span class="reserved">this</span>.fromLatLngToDivPixel(b+dLat+dLat,l).y + 2;//coord <span class="reserved">for</span> label
+<span class="comment">		  
+		  //pane/layer to write on</span>
+		  var mapDiv = <span class="reserved">this</span>.mapContainer;//<span class="reserved">this</span>.map_.getPane(G_MAP_MARKER_SHADOW_PANE);
+		  
+		  var lo = l;
+		  
+		  <span class="reserved">if</span>(r&lt;lo)
+		      r += 360.0;
+<span class="comment">		
+		  //vertical lines</span>
+		  <span class="reserved">while</span>(lo&lt;=r){
+				
+				 var p = <span class="reserved">this</span>.fromLatLngToDivPixel(b,lo);
+<span class="comment">				 //line</span>
+				 <span class="reserved">this</span>.divs[i] = <span class="reserved">this</span>.createVLine(p.x);
+				 <span class="reserved">this</span>.divs[i].style.zIndex = <span class="reserved">this</span>.div.style.zIndex;
+				 mapDiv.insertBefore(<span class="reserved">this</span>.divs[i],null);
+				 i++;
+<span class="comment">				  	
+				 //label	 </span>
+				 var d = document.createElement(<span class="literal">"DIV"</span>);
+				 x = p.x + 3;
+				 
+				 d.style.position = <span class="literal">"absolute"</span>;
+		         d.style.left = x.toString() + <span class="literal">"px"</span>;
+		         d.style.top = y.toString() + <span class="literal">"px"</span>;
+				 d.style.color = <span class="reserved">this</span>.color;
+				 d.style.fontFamily=<span class="literal">'Arial'</span>;
+				 d.style.fontSize=<span class="literal">'x-small'</span>;
+		         
+		         <span class="reserved">if</span> (lo==0)
+		         {
+		         	d.innerHTML = (Math.abs(lo)).toFixed(lonDecs);
+		         }
+			     <span class="reserved">else</span> <span class="reserved">if</span>(lo&lt;0)
+				{	d.title = mbGetMessage(<span class="literal">"westWgs84"</span>);
+					d.innerHTML = (Math.abs(lo)).toFixed(lonDecs)+<span class="literal">" W"</span>;
+				 }
+				 <span class="reserved">else</span> 
+				{	d.title = mbGetMessage(<span class="literal">"eastWgs84"</span>);
+					d.innerHTML = (Math.abs(lo)).toFixed(lonDecs)+<span class="literal">" E"</span>;
+				 }
+				 
+				d.style.zIndex = <span class="reserved">this</span>.div.style.zIndex;
+				 mapDiv.insertBefore(d,null);
+				 <span class="reserved">this</span>.divs[i] = d;
+			
+				 i++;
+				 lo += dLng;	
+				 <span class="reserved">if</span> (lo &gt; 180.0){
+					r -= 360.0;
+					lo -= 360.0;
+					}		 		
+  	}
+  
+
+
+	var j = 0;
+<span class="comment">	      
+	  //labels on second row to avoid controls</span>
+	  x = <span class="reserved">this</span>.fromLatLngToDivPixel(b,l+dLng+dLng).x + 3;
+<span class="comment">	  
+	  //horizontal lines</span>
+	  <span class="reserved">while</span>(b&lt;=t){
+
+			 var p = <span class="reserved">this</span>.fromLatLngToDivPixel(b,l);
+<span class="comment">			 
+			 //line</span>
+			 <span class="reserved">if</span>(r &lt; l){ //draw lines across the dateline
+				<span class="reserved">this</span>.divs[i] = <span class="reserved">this</span>.createHLine3(b);
+				<span class="reserved">this</span>.divs[i].style.zIndex = <span class="reserved">this</span>.div.style.zIndex;
+				mapDiv.insertBefore(<span class="reserved">this</span>.divs[i],null);
+				i++;
+			 }
+			 <span class="reserved">else</span> <span class="reserved">if</span> (r == l){ //draw lines <span class="reserved">for</span> world scale zooms
+			
+				<span class="reserved">this</span>.divs[i] = <span class="reserved">this</span>.createHLine3(b);
+				<span class="reserved">this</span>.divs[i].style.zIndex = <span class="reserved">this</span>.div.style.zIndex;
+				mapDiv.insertBefore(<span class="reserved">this</span>.divs[i],null);
+				i++;
+			 }
+			 <span class="reserved">else</span>{
+			 	
+				<span class="reserved">this</span>.divs[i] = <span class="reserved">this</span>.createHLine(p.y);
+				<span class="reserved">this</span>.divs[i].style.zIndex = <span class="reserved">this</span>.div.style.zIndex;
+				mapDiv.insertBefore(<span class="reserved">this</span>.divs[i],null);
+				i++;
+			 }
+<span class="comment">			 
+			 
+			 
+			 
+			 //label</span>
+			 var d = document.createElement(<span class="literal">"DIV"</span>);
+			 y = p.y + 2;
+			 d.style.position = <span class="literal">"absolute"</span>;
+			 d.style.left =x.toString() + <span class="literal">"px"</span>;
+			 d.style.top = y.toString()+ <span class="literal">"px"</span>;
+			 d.style.color = <span class="reserved">this</span>.color;
+			 d.style.fontFamily=<span class="literal">'Arial'</span>;
+			 d.style.fontSize=<span class="literal">'x-small'</span>;
+			 
+			 <span class="reserved">if</span> (b==0)
+	         {
+	         	d.innerHTML = (Math.abs(b)).toFixed(lonDecs);
+	         }
+			 <span class="reserved">else</span> <span class="reserved">if</span>(b&lt;0)
+			{	d.title = mbGetMessage(<span class="literal">"southWgs84"</span>);
+				d.innerHTML = (Math.abs(b)).toFixed(latDecs)+<span class="literal">" S"</span>;
+			}
+			 <span class="reserved">else</span> 
+			{	d.title = mbGetMessage(<span class="literal">"northWgs84"</span>);
+				d.innerHTML = (Math.abs(b)).toFixed(latDecs)+<span class="literal">" N"</span>;
+			}
+			 <span class="reserved">if</span>(j != 2)//dont put two labels in the same place
+			 {
+			 	 
+				 d.style.zIndex = <span class="reserved">this</span>.div.style.zIndex;
+				 mapDiv.insertBefore(d,null);
+				 <span class="reserved">this</span>.divs[i] = d;
+				 i++;
+			 }
+			 j++;
+			 b += dLat;
+	  }
+	 
+
+	},
+	
+	<span class="comment">/*Transform lat/lon coordinates in pixels coordinates
+	* Returns an object container pixel coordinates
+	*<span class="attrib">@param</span> this pointer to this object.
+	*<span class="attrib">@param</span> lat lon  coordiantes in degrees 
+	*/</span>
+	fromLatLngToDivPixel : <span class="reserved">function</span>(lat,lon){
+<span class="comment">		///CSCS</span>
+    var pt=new OpenLayers.Geometry.Point(lon, lat);
+    pt.transform(new OpenLayers.Projection(<span class="literal">"EPSG:4326"</span>),<span class="reserved">this</span>.proj);
+    var platlon=<span class="reserved">this</span>.map.getPixelFromLonLat(new OpenLayers.LonLat(pt.x,pt.y));
+		<span class="reserved">return</span> platlon;
+	},
+	
+	<span class="comment">/*Create a vertical line
+	* Returns a div that is a vertical single pixel line
+	*<span class="attrib">@param</span> this pointer to this object.
+	*<span class="attrib">@param</span> x left style property for div element 
+	*/</span>
+	
+	createVLine : <span class="reserved">function</span> (x) {
+
+		var div = document.createElement(<span class="literal">"DIV"</span>);
+		div.style.position = <span class="literal">"absolute"</span>;
+		div.style.overflow = <span class="literal">"hidden"</span>;
+		div.style.backgroundColor = <span class="reserved">this</span>.color;
+		div.style.left = x + <span class="literal">"px"</span>;
+		div.style.top = <span class="reserved">this</span>.minY + <span class="literal">"px"</span>;
+		div.style.width = <span class="literal">"1px"</span>;
+		div.style.height = (<span class="reserved">this</span>.maxY-<span class="reserved">this</span>.minY) +<span class="literal">"px"</span>;				
+	    <span class="reserved">return</span> div;
+	
+	},
+ 
+	<span class="comment">/*Create a horizontal line
+	* Returns a div that is a horizontal single pixel line
+	*<span class="attrib">@param</span> this pointer to this object.
+	*<span class="attrib">@param</span> y top style property for div element 
+	*/</span>  	  
+	createHLine : <span class="reserved">function</span>(y) {
+
+		var div = document.createElement(<span class="literal">"DIV"</span>);
+		div.style.position = <span class="literal">"absolute"</span>;
+		div.style.overflow = <span class="literal">"hidden"</span>;
+		div.style.backgroundColor = <span class="reserved">this</span>.color;
+		div.style.left = <span class="reserved">this</span>.minX + <span class="literal">"px"</span>;
+		div.style.top = y + <span class="literal">"px"</span>;
+		div.style.width = (<span class="reserved">this</span>.maxX-<span class="reserved">this</span>.minX) + <span class="literal">"px"</span>;
+		div.style.height = <span class="literal">"1px"</span>;
+	    <span class="reserved">return</span> div;
+	
+	},
+	<span class="comment">/*Create a horizontal line
+	* Returns a div that is a horizontal single pixel line, across the dateline  
+	* we find the start and width of a 180 degree line and draw the same amount
+	* to its left and right	
+	*<span class="attrib">@param</span> this pointer to this object.
+	*<span class="attrib">@param</span> lat latitude of  div element.
+	*/</span>  
+		createHLine3 : <span class="reserved">function</span>(lat) {
+		
+			var f = <span class="reserved">this</span>.fromLatLngToDivPixel(lat,0);
+			var t = <span class="reserved">this</span>.fromLatLngToDivPixel(lat,180);		
+		
+			var div = document.createElement(<span class="literal">"DIV"</span>);
+			div.style.position = <span class="literal">"absolute"</span>;
+			div.style.overflow = <span class="literal">"hidden"</span>;
+			div.style.backgroundColor = <span class="reserved">this</span>.color;
+			
+			var x1 = f.x;
+			var x2 = t.x;
+			
+			<span class="reserved">if</span>(x2 &lt; x1)
+			{
+				x2 = f.x;
+				x1 = t.x;
+			}
+			div.style.left = (x1-(x2-x1)) + <span class="literal">"px"</span>;
+			div.style.top = f.y + <span class="literal">"px"</span>;
+			div.style.width = ((x2-x1)*2) + <span class="literal">"px"</span>;
+			div.style.height = <span class="literal">"1px"</span>;
+			<span class="reserved">return</span> div;
+			
+			
+}  ,
+
+		<span class="comment">/*Initialize Graticule's property 
+		* 
+		*<span class="attrib">@param</span> this pointer to this object.
+		*/</span> 
+		update : <span class="reserved">function</span> (){
+		
+		
+			<span class="reserved">this</span>.width=parseInt(<span class="reserved">this</span>.objRef.targetModel.getWindowWidth());
+			<span class="reserved">this</span>.height=parseInt(<span class="reserved">this</span>.objRef.targetModel.getWindowHeight());
+			
+			<span class="reserved">this</span>.bbox=<span class="reserved">this</span>.objRef.targetModel.getBoundingBox();
+			<span class="reserved">this</span>.proj=new OpenLayers.Projection( <span class="reserved">this</span>.objRef.targetModel.getSRS());
+		
+			<span class="reserved">if</span> (<span class="reserved">this</span>.bbox[1]&lt;0)
+				<span class="reserved">if</span>(<span class="reserved">this</span>.bbox[3]&lt;0)
+					<span class="reserved">this</span>.diffLat=<span class="reserved">this</span>.bbox[1]-<span class="reserved">this</span>.bbox[3];
+				<span class="reserved">else</span>
+					<span class="reserved">this</span>.diffLat=<span class="reserved">this</span>.bbox[3]-<span class="reserved">this</span>.bbox[1];
+			<span class="reserved">else</span>
+				<span class="reserved">this</span>.diffLat=<span class="reserved">this</span>.bbox[3]+<span class="reserved">this</span>.bbox[1];
+				
+			<span class="reserved">if</span> (<span class="reserved">this</span>.bbox[0]&lt;0)
+				<span class="reserved">if</span>(<span class="reserved">this</span>.bbox[2]&lt;0)		
+					<span class="reserved">this</span>.diffLon=<span class="reserved">this</span>.bbox[0]-<span class="reserved">this</span>.bbox[2];
+				<span class="reserved">else</span>
+					<span class="reserved">this</span>.diffLon=<span class="reserved">this</span>.bbox[2]-<span class="reserved">this</span>.bbox[0];
+			<span class="reserved">else</span>
+				<span class="reserved">this</span>.diffLon=<span class="reserved">this</span>.bbox[2]+<span class="reserved">this</span>.bbox[0];
+		
+			
+		  	<span class="reserved">this</span>.addGraticules();
+
+},
+
+		<span class="comment">/*Display graticule when click on button
+		* 
+		*<span class="attrib">@param</span> this pointer to this object.
+		*<span class="attrib">@param</span> selected boolean true if button has been clicked , false if no
+		*/</span> 
+		activate: <span class="reserved">function</span>() {
+		
+		<span class="reserved">if</span>(OpenLayers.Control.<span class="reserved">prototype</span>.activate.apply(<span class="reserved">this</span>, arguments)){
+                <span class="reserved">this</span>.panel_div.style.backgroundImage = <span class="literal">"url(\"</span><span class="literal">"+objRef.enabledImage+"</span>\<span class="literal">")"</span>;
+<span class="comment">    	//this.map.div.style.cursor = objRef.cursor;</span>
+			<span class="reserved">this</span>.map.events.register(<span class="literal">'moveend'</span>, <span class="reserved">this</span>, <span class="reserved">this</span>.update);
+		 	<span class="reserved">this</span>.objRef.display=true;
+		 	<span class="reserved">this</span>.mapContainer = <span class="reserved">this</span>.div;
+		 	<span class="reserved">this</span>.color=<span class="literal">"black"</span>;
+			<span class="reserved">this</span>.update();
+		<span class="reserved">return</span> true;
+        } <span class="reserved">else</span> {
+            <span class="reserved">return</span> false;
+        }
+        },
+		deactivate: <span class="reserved">function</span>() {
+		<span class="reserved">if</span>(OpenLayers.Control.<span class="reserved">prototype</span>.deactivate.apply(<span class="reserved">this</span>, arguments)){
+		    <span class="reserved">this</span>.panel_div.style.backgroundImage = <span class="literal">"url(\"</span><span class="literal">"+objRef.disabledImage+"</span>\<span class="literal">")"</span>;
+			<span class="reserved">this</span>.map.events.unregister(<span class="literal">'moveend'</span>, <span class="reserved">this</span>, <span class="reserved">this</span>.update);
+			<span class="reserved">this</span>.objRef.display=false;
+			<span class="reserved">this</span>.removeGraticules(); 
+			objRef.enabled = false;
+      		objRef.doSelect(objRef, false); 
+       		<span class="reserved">this</span>.active=false;
+       		<span class="reserved">return</span> true;
+        } <span class="reserved">else</span> {
+            <span class="reserved">return</span> false;
+        }
+	}
+<span class="comment">/////////////////////////////////////////////////////////////</span>
+
+   });
+
+    <span class="reserved">return</span> Control;
+  }
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Widget.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Widget.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Widget.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Widget.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Widget.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Widget.js.html" 
+                                        target="classFrame">Widget.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Widget.html" TARGET="classFrame">Widget</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-SelectAllMapLayers.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-SelectAllMapLayers.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-SelectAllMapLayers.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ SelectAllMapLayers.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" SelectAllMapLayers.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-SelectAllMapLayers.js.html" 
+                                        target="classFrame">SelectAllMapLayers.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="SelectAllMapLayers.html" TARGET="classFrame">SelectAllMapLayers</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-OwsCatResources.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-OwsCatResources.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-OwsCatResources.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ OwsCatResources.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" OwsCatResources.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-OwsCatResources.js.html" 
+                                        target="classFrame">OwsCatResources.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="OwsCatResources.html" TARGET="classFrame">OwsCatResources</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-OverviewMap.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-OverviewMap.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-OverviewMap.js.html	(revision 4307)
@@ -0,0 +1,355 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="OverviewMap.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>OverviewMap.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'OverviewMap.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="OverviewMap.html">OverviewMap</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Gertjan van Oosten gertjan at west dot nl
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: OverviewMap.js 3887 2008-02-27 18:18:53Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/util/openlayers/OpenLayers.js"</span>);
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBase.js"</span>);
+
+<span class="comment">/**
+ * Widget to add an OL OverviewMap to a main map.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBase
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> OverviewMap(widgetNode, model) {
+  WidgetBase.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+
+  var width = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:width"</span>);
+  <span class="reserved">if</span> (width) {
+    <span class="reserved">this</span>.width = new Number(width);
+  }
+  var height = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:height"</span>);
+  <span class="reserved">if</span> (height) {
+    <span class="reserved">this</span>.height = new Number(height);
+  }
+  var minRatio = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:minRatio"</span>);
+  <span class="reserved">if</span> (minRatio) {
+    <span class="reserved">this</span>.minRatio = new Number(minRatio);
+  }
+  var maxRatio = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:maxRatio"</span>);
+  <span class="reserved">if</span> (maxRatio) {
+    <span class="reserved">this</span>.maxRatio = new Number(maxRatio);
+  }
+
+  var layersNode = widgetNode.selectSingleNode(<span class="literal">"mb:layers"</span>);
+  <span class="reserved">if</span> (layersNode) {
+    <span class="reserved">this</span>.layerNames = new Array();
+    var layers = layersNode.childNodes;
+    <span class="reserved">for</span> (var i = 0; i &lt; layers.length; i++) {
+      <span class="reserved">if</span> (layers[i].firstChild) {
+        <span class="reserved">this</span>.layerNames.push(getNodeValue(layers[i]));
+      }
+    }
+  }
+
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"refresh"</span>, <span class="reserved">this</span>.addOverviewMap, <span class="reserved">this</span>);
+}
+
+<span class="comment">/**
+ * Add an overview map to the map in this widget's model.
+ * If layers have been specified in the config, clone these layers for the
+ * overview map, otherwise just use the base layer from the main map.
+ * If any of the layers to use are WMS layers it uses an untiled version of them.
+ * <span class="attrib">@param</span> objRef Pointer to widget object.
+ */</span>
+OverviewMap.<span class="reserved">prototype</span>.addOverviewMap = <span class="reserved">function</span>(objRef) {
+  <span class="reserved">if</span> (objRef.model &amp;&amp; objRef.model.map) {
+    var map = objRef.model.map;
+    
+    <span class="comment">/** reference to the OpenLayers OverviewMap control */</span>
+    <span class="reserved">this</span>.control = null
+<span class="comment">
+    // Specify div and layers for overview map.</span>
+    var options = {
+      div: objRef.getNode(),
+      objRef: <span class="reserved">this</span>,
+      destroy: <span class="reserved">function</span>() {
+        OpenLayers.Control.OverviewMap.<span class="reserved">prototype</span>.destroy.apply(<span class="reserved">this</span>, arguments);
+        <span class="reserved">this</span>.div = null;
+        objRef.control = null;
+        objRef = null;
+      },
+      layers: new Array()
+    };
+    
+    <span class="reserved">if</span> (objRef.minRatio) options.minRatio = objRef.minRatio;
+    <span class="reserved">if</span> (objRef.maxRatio) options.maxRatio = objRef.maxRatio;
+<span class="comment">
+    // Clone the base layer. This is not really the OpenLayers base layer, but</span>
+<span class="comment">    // the lowest layer in the Mapbuilder layers stack.</span>
+    <span class="reserved">if</span> (!objRef.layerNames) {
+      <span class="reserved">for</span> (var i in map.mbMapPane.oLlayers) {
+        var oLlayer = map.mbMapPane.oLlayers[i];
+        <span class="reserved">if</span> (oLlayer) {
+          var baseLayer = objRef.getClonedLayer(oLlayer, true);
+          options.layers.push(baseLayer);
+          break;
+        } 
+      }
+    }
+<span class="comment">
+    // Check for specifically requested layers</span>
+    var isBaseLayer = true;
+    <span class="reserved">if</span> (objRef.layerNames) {
+      <span class="reserved">for</span> (var i = 0; i &lt; objRef.layerNames.length; i++) {
+        var oLlayer = map.mbMapPane.getLayer(map.mbMapPane, objRef.layerNames[i]);
+        <span class="reserved">if</span> (oLlayer) {
+          options.layers.push(objRef.getClonedLayer(oLlayer, isBaseLayer));
+          isBaseLayer = false;
+        }
+      }
+    }
+<span class="comment">    
+    // Determine size:</span>
+<span class="comment">    // - if width and height are both set, use these as the size;</span>
+<span class="comment">    // - if only width or height is set, take aspect ratio of main map into account;</span>
+<span class="comment">    // - otherwise, OL defaults to (180,90).</span>
+    var extent = map.getExtent();
+    <span class="reserved">if</span> (objRef.width &amp;&amp; objRef.height) {
+      options.size = new OpenLayers.Size(objRef.width, objRef.height);
+    }
+    <span class="reserved">else</span> <span class="reserved">if</span> (objRef.width) {
+      options.size = new OpenLayers.Size(
+        objRef.width,
+        objRef.width * extent.getHeight() / extent.getWidth());
+    }
+    <span class="reserved">else</span> <span class="reserved">if</span> (objRef.height) {
+      options.size = new OpenLayers.Size(
+        objRef.height * extent.getWidth() / extent.getHeight(),
+        objRef.height);
+    }
+<span class="comment">
+    // Add the overview to the main map</span>
+    <span class="reserved">if</span> (!objRef.control) {
+      objRef.control = new OpenLayers.Control.OverviewMap(options);
+      objRef.control.mapOptions = {theme: null};
+      map.addControl(objRef.control);
+    }
+<span class="comment">
+    // make all layers visible</span>
+    <span class="reserved">for</span> (var i=0; i&lt;options.layers.length; i++) {
+      options.layers[i].setVisibility(true);
+    }
+  }
+}
+
+<span class="comment">/**
+ * Clone a map layer (OpenLayers.Layer subclass).
+ * If the layer is a WMS layer it returns an untiled version of it.
+ * <span class="attrib">@param</span> layer Pointer to layer object.
+ * <span class="attrib">@param</span> isBaseLayer {Boolean} optional parameter: should the layer become
+ * baselayer on the overview map?
+ */</span>
+OverviewMap.<span class="reserved">prototype</span>.getClonedLayer = <span class="reserved">function</span>(layer, isBaseLayer) {
+  <span class="reserved">if</span> (layer == null) {
+    <span class="reserved">return</span> null;
+  }
+  
+  isBaseLayer = isBaseLayer ? true : false;
+
+  <span class="reserved">if</span> (layer instanceof OpenLayers.Layer.WMS) {
+<span class="comment">    // make an untiled wms layer, with ratio 1</span>
+    var layerOptions = {
+      units: layer.units,
+      projection: layer.projection,
+      maxExtent: layer.maxExtent,
+      maxResolution: <span class="literal">"auto"</span>,
+      ratio: 1,
+      singleTile: true,
+      isBaseLayer: isBaseLayer
+    };
+
+    <span class="reserved">return</span> new OpenLayers.Layer.WMS(layer.name,
+      layer.url, {
+        layers: layer.params.LAYERS,
+        format: layer.params.FORMAT,
+        transparent: layer.params.TRANSPARENT,
+        sld: layer.params.SLD,
+        sld_body: layer.params.SLD_BODY,
+        styles: layer.params.STYLES
+      }, layerOptions);
+  }
+  <span class="reserved">else</span> {
+<span class="comment">    // take the layer as-is and clone it</span>
+    var clonedLayer = layer.clone();
+    clonedLayer.setVisibility(true);
+    <span class="reserved">return</span> clonedLayer;
+  }
+}
+  
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/Model.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Model.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Model.html	(revision 4307)
@@ -0,0 +1,335 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Model
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Model";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Model.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="MergeModels.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ModelBase.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Model.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Model</H2>
+<PRE>Object
+   |
+   +--<a href='Listener.html'>Listener</a>
+         |
+         +--<a href='ModelBase.html'>ModelBase</a>
+               |
+               +--<b>Model</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Model</B>
+   
+      <DT>extends <a href='ModelBase.html'>ModelBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Model.js.html'>Model.js</a></I><BR/><BR/><B>Author:</B> Mike Adair  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ModelBase.html">ModelBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ModelBase.html#async">async</a>, <a href="ModelBase.html#contentType">contentType</a>, <a href="ModelBase.html#modelNode">modelNode</a>, <a href="ModelBase.html#id">id</a>, <a href="ModelBase.html#title">title</a>, <a href="ModelBase.html#debug">debug</a>, <a href="ModelBase.html#url">url</a>, <a href="ModelBase.html#method">method</a>, <a href="ModelBase.html#namespace">namespace</a>, <a href="ModelBase.html#template">template</a>, <a href="ModelBase.html#nodeSelectXpath">nodeSelectXpath</a>, <a href="ModelBase.html#config">config</a>, <a href="ModelBase.html#parentModel">parentModel</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="Listener.html">Listener</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="Listener.html#listeners">listeners</a>, <a href="Listener.html#values">values</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Model.html#Model()">Model</A> 
+	 </B>
+	 (modelNode, parent)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Generic Model object for models where no specialization is required.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ModelBase.html">ModelBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ModelBase.html#getProperty">getProperty</a>, <a href="ModelBase.html#getXpathValue">getXpathValue</a>, <a href="ModelBase.html#setXpathValue">setXpathValue</a>, <a href="ModelBase.html#loadModelDoc">loadModelDoc</a>, <a href="ModelBase.html#setModel">setModel</a>, <a href="ModelBase.html#finishLoading">finishLoading</a>, <a href="ModelBase.html#newRequest">newRequest</a>, <a href="ModelBase.html#deleteTemplates">deleteTemplates</a>, <a href="ModelBase.html#saveModel">saveModel</a>, <a href="ModelBase.html#createObject">createObject</a>, <a href="ModelBase.html#loadObjects">loadObjects</a>, <a href="ModelBase.html#parseConfig">parseConfig</a>, <a href="ModelBase.html#refresh">refresh</a>, <a href="ModelBase.html#init">init</a>, <a href="ModelBase.html#clearModel">clearModel</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="Listener.html">Listener</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="Listener.html#addListener">addListener</a>, <a href="Listener.html#addFirstListener">addFirstListener</a>, <a href="Listener.html#removeListener">removeListener</a>, <a href="Listener.html#callListeners">callListeners</a>, <a href="Listener.html#setParam">setParam</a>, <a href="Listener.html#getParam">getParam</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Model()"><!-- --></A><H3>
+Model</H3>
+<PRE><B>Model</B>(modelNode, parent)</PRE>
+
+
+<UL>
+   Generic Model object for models where no specialization is required.  This is
+ just an instance of a abstract ModelBase.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>modelNode</CODE> -  The model's XML object node from the configuration document  
+     </UL>
+   
+     <UL><CODE>parent</CODE> -  Parent of this model, set to null if there is no parent.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Mike Adair  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Model.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="MergeModels.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ModelBase.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Model.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/MapScaleBar.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/MapScaleBar.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/MapScaleBar.html	(revision 4307)
@@ -0,0 +1,776 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+MapScaleBar
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="MapScaleBar";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-MapScaleBar.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="MapPaneOL.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="MapScaleText.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="MapScaleBar.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class MapScaleBar</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<b>MapScaleBar</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>MapScaleBar</B>
+   
+      <DT>extends <a href='WidgetBase.html'>WidgetBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-MapScaleBar.js.html'>MapScaleBar.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#abbreviateLabel">abbreviateLabel</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#align">align</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#containerId">containerId</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#displaySystem">displaySystem</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#divisions">divisions</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#graphicsContainerId">graphicsContainerId</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#labelContainerId">labelContainerId</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#maxWidth">maxWidth</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#minWidth">minWidth</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#numbersContainerId">numbersContainerId</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#resolution">resolution</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#scaleDenominator">scaleDenominator</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#showMinorMeasures">showMinorMeasures</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#singleLine">singleLine</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#subdivisions">subdivisions</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="MapScaleBar.html#MapScaleBar()">MapScaleBar</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to display the scale of a map as a graphical bar.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getContainerNode">getContainerNode</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getGraphicsContainerNode">getGraphicsContainerNode</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getLabelContainerNode">getLabelContainerNode</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getNumbersContainerNode">getNumbersContainerNode</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#update">update</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Render the widget.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="abbreviateLabel"><!-- --></A>
+   <H3>abbreviateLabel</H3>
+   <PRE>Object&nbsp;<B>abbreviateLabel</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="align"><!-- --></A>
+   <H3>align</H3>
+   <PRE>Object&nbsp;<B>align</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="containerId"><!-- --></A>
+   <H3>containerId</H3>
+   <PRE>Object&nbsp;<B>containerId</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="displaySystem"><!-- --></A>
+   <H3>displaySystem</H3>
+   <PRE>Object&nbsp;<B>displaySystem</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="divisions"><!-- --></A>
+   <H3>divisions</H3>
+   <PRE>Object&nbsp;<B>divisions</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="graphicsContainerId"><!-- --></A>
+   <H3>graphicsContainerId</H3>
+   <PRE>Object&nbsp;<B>graphicsContainerId</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="labelContainerId"><!-- --></A>
+   <H3>labelContainerId</H3>
+   <PRE>Object&nbsp;<B>labelContainerId</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="maxWidth"><!-- --></A>
+   <H3>maxWidth</H3>
+   <PRE>Object&nbsp;<B>maxWidth</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="minWidth"><!-- --></A>
+   <H3>minWidth</H3>
+   <PRE>Object&nbsp;<B>minWidth</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="numbersContainerId"><!-- --></A>
+   <H3>numbersContainerId</H3>
+   <PRE>Object&nbsp;<B>numbersContainerId</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="resolution"><!-- --></A>
+   <H3>resolution</H3>
+   <PRE>Object&nbsp;<B>resolution</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="scaleDenominator"><!-- --></A>
+   <H3>scaleDenominator</H3>
+   <PRE>Object&nbsp;<B>scaleDenominator</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="showMinorMeasures"><!-- --></A>
+   <H3>showMinorMeasures</H3>
+   <PRE>Object&nbsp;<B>showMinorMeasures</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="singleLine"><!-- --></A>
+   <H3>singleLine</H3>
+   <PRE>Object&nbsp;<B>singleLine</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="subdivisions"><!-- --></A>
+   <H3>subdivisions</H3>
+   <PRE>Object&nbsp;<B>subdivisions</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="MapScaleBar()"><!-- --></A><H3>
+MapScaleBar</H3>
+<PRE><B>MapScaleBar</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to display the scale of a map as a graphical bar.  The model of this widget
+ must have an extent object associated with it which is the case when the 
+ model has a MapContanier widget.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   This widget's object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model that this widget is a view of.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="getContainerNode"><!-- --></A>
+   <H3>getContainerNode</H3>
+   <PRE>Object <B>getContainerNode</B>()</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getGraphicsContainerNode"><!-- --></A>
+   <H3>getGraphicsContainerNode</H3>
+   <PRE>Object <B>getGraphicsContainerNode</B>()</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getLabelContainerNode"><!-- --></A>
+   <H3>getLabelContainerNode</H3>
+   <PRE>Object <B>getLabelContainerNode</B>()</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getNumbersContainerNode"><!-- --></A>
+   <H3>getNumbersContainerNode</H3>
+   <PRE>Object <B>getNumbersContainerNode</B>()</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="update"><!-- --></A>
+   <H3>update</H3>
+   <PRE>void <B>update</B>(objRef)</PRE>
+   
+      <UL>Render the widget.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to widget object.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-MapScaleBar.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="MapPaneOL.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="MapScaleText.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="MapScaleBar.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/stylesheet.css
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/stylesheet.css	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/stylesheet.css	(revision 4307)
@@ -0,0 +1,39 @@
+/* JSDoc style sheet */
+
+/* Define colors, fonts and other style attributes here to override the defaults */
+
+/* Page background color */
+body { background-color: #FFFFFF }
+
+/* Table colors */
+.TableHeadingColor     { background: #CCCCFF } /* Dark mauve */
+.TableSubHeadingColor  { background: #EEEEFF } /* Light mauve */
+.TableRowColor         { background: #FFFFFF } /* White */
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont   { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
+.FrameHeadingFont { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
+.FrameItemFont    { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
+
+/* Example of smaller, sans-serif font in frames */
+/* .FrameItemFont  { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */
+
+/* Navigation bar fonts and colors */
+.NavBarCell1    { background-color:#EEEEFF;}/* Light mauve */
+.NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */
+.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
+
+.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+
+.jsdoc_ctime    { font-family: Arial, Helvetica, sans-serif; font-size: 9pt;
+                    text-align: right }
+
+/* Sourcecode view */
+.sourceview { background: #FFFFFF }
+.attrib { color: #DD7777 }
+.comment { color: #55AA55 }
+.reserved { color: #FF5555 }
+.literal { color: #5555FF }
+
Index: lib/spatial/mapbuilder/docs/jsdoc/Context.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Context.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Context.html	(revision 4307)
@@ -0,0 +1,1985 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Context
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Context";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Context.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Config.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="CursorTrack.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Context.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Context</H2>
+<PRE>Object
+   |
+   +--<a href='Listener.html'>Listener</a>
+         |
+         +--<a href='ModelBase.html'>ModelBase</a>
+               |
+               +--<b>Context</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Context</B>
+   
+      <DT>extends <a href='ModelBase.html'>ModelBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Context.js.html'>Context.js</a></I><BR/><BR/><B>Author:</B> Cameron Shorter  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#namespace">namespace</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ModelBase.html">ModelBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ModelBase.html#async">async</a>, <a href="ModelBase.html#contentType">contentType</a>, <a href="ModelBase.html#modelNode">modelNode</a>, <a href="ModelBase.html#id">id</a>, <a href="ModelBase.html#title">title</a>, <a href="ModelBase.html#debug">debug</a>, <a href="ModelBase.html#url">url</a>, <a href="ModelBase.html#method">method</a>, <a href="ModelBase.html#namespace">namespace</a>, <a href="ModelBase.html#template">template</a>, <a href="ModelBase.html#nodeSelectXpath">nodeSelectXpath</a>, <a href="ModelBase.html#config">config</a>, <a href="ModelBase.html#parentModel">parentModel</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="Listener.html">Listener</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="Listener.html#listeners">listeners</a>, <a href="Listener.html#values">values</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Context.html#Context()">Context</A> 
+	 </B>
+	 (modelNode, parent)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Stores a Web Map Context (WMC) document as defined by the Open Geospatial Consortium
+ (http://www.opengeospatial.org/) and extensions the the WMC.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addLayer">addLayer</A></B>(objRef, layerNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to add a Layer to the LayerList
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addSLD">addSLD</A></B>(objRef,sldNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to add a Sld tag to the StyleList
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#clearTimeExtent">clearTimeExtent</A></B>( objRef )
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 clear the time extent created by initTimeExtent
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#deleteLayer">deleteLayer</A></B>(objRef, layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to remove a Layer from the LayerList
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getAllLayers">getAllLayers</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to get a list of all layers in the context doc
+ TBD: merge this with above, passing queryable as an optional boolean param?
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getBoundingBox">getBoundingBox</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get the BoundingBox value from the Context document.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getCurrentTimestamp">getCurrentTimestamp</A></B>( layerId )
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the current timestamp value.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getExtension">getExtension</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the contents of the extension element
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeatureNode">getFeatureNode</A></B>(featureName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the Layer node with the specified name from the list of nodes
+ selected by the nodeSelectXpath from the capabilities doc.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getHidden">getHidden</A></B>(layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get the layer's visiblity attribute value.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getLayer">getLayer</A></B>(layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to get a layer with the specified name in the context doc
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getLayerIdByName">getLayerIdByName</A></B>(layerName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to get a layer id with the specified id/name in the context doc
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getMethod">getMethod</A></B>(feature)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get HTTP method for the specified feature
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getOpacity">getOpacity</A></B>(layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get the layer's opacity attribute value.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getQueryableLayers">getQueryableLayers</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to get a list of queryable layers
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getServerUrl">getServerUrl</A></B>(requestName, method, feature)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the serverUrl for the layer passed in as the feature argument.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getSRS">getSRS</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get the Spatial Reference System from the context document.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getVersion">getVersion</A></B>(feature)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the WMS version for the layer passed in as the feature argument
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getWindowHeight">getWindowHeight</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get the Window height.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getWindowSize">getWindowSize</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the width/height of the map window as an array
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getWindowWidth">getWindowWidth</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get the Window width.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#initAoi">initAoi</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set the aoi param and call the refresh listeners
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#initBbox">initBbox</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set the BoundingBox element and call the refresh listeners
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#initProj">initProj</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get the Projection object from the context document.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#initTimeExtent">initTimeExtent</A></B>( objRef )
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Parses a Dimension element from the Context document as a loadModel listener.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#moveLayerDown">moveLayerDown</A></B>(objRef, layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to move a Layer in the LayerList down
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#moveLayerUp">moveLayerUp</A></B>(objRef, layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Method to move a Layer in the LayerList up
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setBoundingBox">setBoundingBox</A></B>(boundingBox)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set the BoundingBox element and call the refresh listeners
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setExtension">setExtension</A></B>(extensionNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds a node to the Context document extension element.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setHidden">setHidden</A></B>(layerId, hidden)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Change a Layer's visibility.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setOpacity">setOpacity</A></B>(layerId, Opacity)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Change a Layer's opacity
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setSRS">setSRS</A></B>(srs)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set the Spatial Reference System for the context document.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setWindowHeight">setWindowHeight</A></B>(height)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set the Window height.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setWindowSize">setWindowSize</A></B>(size)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set the Window width and height in one function call to avoid a resize event in between
+ setting width and height, because that causes checkBbox to be triggered, which adjusts the
+ bbox then when it should not yet be adjusted.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setWindowWidth">setWindowWidth</A></B>(width)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set the Window width.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ModelBase.html">ModelBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ModelBase.html#getProperty">getProperty</a>, <a href="ModelBase.html#getXpathValue">getXpathValue</a>, <a href="ModelBase.html#setXpathValue">setXpathValue</a>, <a href="ModelBase.html#loadModelDoc">loadModelDoc</a>, <a href="ModelBase.html#setModel">setModel</a>, <a href="ModelBase.html#finishLoading">finishLoading</a>, <a href="ModelBase.html#newRequest">newRequest</a>, <a href="ModelBase.html#deleteTemplates">deleteTemplates</a>, <a href="ModelBase.html#saveModel">saveModel</a>, <a href="ModelBase.html#createObject">createObject</a>, <a href="ModelBase.html#loadObjects">loadObjects</a>, <a href="ModelBase.html#parseConfig">parseConfig</a>, <a href="ModelBase.html#refresh">refresh</a>, <a href="ModelBase.html#init">init</a>, <a href="ModelBase.html#clearModel">clearModel</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="Listener.html">Listener</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="Listener.html#addListener">addListener</a>, <a href="Listener.html#addFirstListener">addFirstListener</a>, <a href="Listener.html#removeListener">removeListener</a>, <a href="Listener.html#callListeners">callListeners</a>, <a href="Listener.html#setParam">setParam</a>, <a href="Listener.html#getParam">getParam</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="namespace"><!-- --></A>
+   <H3>namespace</H3>
+   <PRE>Object&nbsp;<B>namespace</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Context()"><!-- --></A><H3>
+Context</H3>
+<PRE><B>Context</B>(modelNode, parent)</PRE>
+
+
+<UL>
+   Stores a Web Map Context (WMC) document as defined by the Open Geospatial Consortium
+ (http://www.opengeospatial.org/) and extensions the the WMC.
+
+ Listeners supported by this model:
+ "refresh" called when window parameters (width/height, bbox) are changed
+ "hidden" called when visibilty of a layer is changed
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>modelNode</CODE> -  Pointer to the xml node for this model from the config file.  
+     </UL>
+   
+     <UL><CODE>parent</CODE> -     The parent model for the object.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Cameron Shorter  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="addLayer"><!-- --></A>
+   <H3>addLayer</H3>
+   <PRE>void <B>addLayer</B>(objRef, layerNode)</PRE>
+   
+      <UL>Method to add a Layer to the LayerList</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerNode</CODE> -  the Layer node from another context doc or capabiltiies doc      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="addSLD"><!-- --></A>
+   <H3>addSLD</H3>
+   <PRE>void <B>addSLD</B>(objRef,sldNode)</PRE>
+   
+      <UL>Method to add a Sld tag to the StyleList</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerName</CODE> -  the Layer name from another context doc or capabiltiies doc      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="clearTimeExtent"><!-- --></A>
+   <H3>clearTimeExtent</H3>
+   <PRE>void <B>clearTimeExtent</B>( objRef )</PRE>
+   
+      <UL>clear the time extent created by initTimeExtent</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this model      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="deleteLayer"><!-- --></A>
+   <H3>deleteLayer</H3>
+   <PRE>void <B>deleteLayer</B>(objRef, layerId)</PRE>
+   
+      <UL>Method to remove a Layer from the LayerList</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -  the Layer to be deleted      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getAllLayers"><!-- --></A>
+   <H3>getAllLayers</H3>
+   <PRE>Object <B>getAllLayers</B>()</PRE>
+   
+      <UL>Method to get a list of all layers in the context doc
+ TBD: merge this with above, passing queryable as an optional boolean param?</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the list with all layers 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getBoundingBox"><!-- --></A>
+   <H3>getBoundingBox</H3>
+   <PRE>Object <B>getBoundingBox</B>()</PRE>
+   
+      <UL>Get the BoundingBox value from the Context document.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        BoundingBox array with the sequence (xmin,ymin,xmax,ymax). 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getCurrentTimestamp"><!-- --></A>
+   <H3>getCurrentTimestamp</H3>
+   <PRE>Object <B>getCurrentTimestamp</B>( layerId )</PRE>
+   
+      <UL>Returns the current timestamp value.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -  the name of the Layer from which the timestamp list was generated  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the current timestamp value. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getExtension"><!-- --></A>
+   <H3>getExtension</H3>
+   <PRE>Object <B>getExtension</B>()</PRE>
+   
+      <UL>Returns the contents of the extension element</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the contents of the extension element 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getFeatureNode"><!-- --></A>
+   <H3>getFeatureNode</H3>
+   <PRE>Object <B>getFeatureNode</B>(featureName)</PRE>
+   
+      <UL>Returns the Layer node with the specified name from the list of nodes
+ selected by the nodeSelectXpath from the capabilities doc.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureName</CODE> -  name of the featureType to look up  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the Layer node with the specified name. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getHidden"><!-- --></A>
+   <H3>getHidden</H3>
+   <PRE>Object <B>getHidden</B>(layerId)</PRE>
+   
+      <UL>Get the layer's visiblity attribute value.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -   The name of the layer that is to be changed  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        hidden  String with the value; 1=hidden, 0=visible. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getLayer"><!-- --></A>
+   <H3>getLayer</H3>
+   <PRE>Object <B>getLayer</B>(layerId)</PRE>
+   
+      <UL>Method to get a layer with the specified name in the context doc</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -  the id of the layer to be returned  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the list with all layers 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getLayerIdByName"><!-- --></A>
+   <H3>getLayerIdByName</H3>
+   <PRE>Object <B>getLayerIdByName</B>(layerName)</PRE>
+   
+      <UL>Method to get a layer id with the specified id/name in the context doc</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerName</CODE> -  the name of the layer of which the id is to be returned  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the id of the layer || false 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getMethod"><!-- --></A>
+   <H3>getMethod</H3>
+   <PRE>Object <B>getMethod</B>(feature)</PRE>
+   
+      <UL>Get HTTP method for the specified feature</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>feature</CODE> -  the Layer node from the context doc  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the HTTP method to get the feature with 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getOpacity"><!-- --></A>
+   <H3>getOpacity</H3>
+   <PRE>Object <B>getOpacity</B>(layerId)</PRE>
+   
+      <UL>Get the layer's opacity attribute value.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -   The name of the layer that is to be changed  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        hidden  String with the value; 1=hidden, 0=visible. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getQueryableLayers"><!-- --></A>
+   <H3>getQueryableLayers</H3>
+   <PRE>Object <B>getQueryableLayers</B>()</PRE>
+   
+      <UL>Method to get a list of queryable layers</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the list with queryable layers 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getServerUrl"><!-- --></A>
+   <H3>getServerUrl</H3>
+   <PRE>Object <B>getServerUrl</B>(requestName, method, feature)</PRE>
+   
+      <UL>Returns the serverUrl for the layer passed in as the feature argument.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>requestName</CODE> -  ignored for context docs (only GetMap supported)  
+      </UL> 
+   
+     <UL><CODE>method</CODE> -  ignored for context docs (only GET supported)  
+      </UL> 
+   
+     <UL><CODE>feature</CODE> -  the Layer node from the context doc  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        URL for the GetMap request 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getSRS"><!-- --></A>
+   <H3>getSRS</H3>
+   <PRE>Object <B>getSRS</B>()</PRE>
+   
+      <UL>Get the Spatial Reference System from the context document.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        srs The Spatial Reference System. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getVersion"><!-- --></A>
+   <H3>getVersion</H3>
+   <PRE>Object <B>getVersion</B>(feature)</PRE>
+   
+      <UL>Returns the WMS version for the layer passed in as the feature argument</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>feature</CODE> -  the Layer node from the context doc  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the WMS GetMap version for the Layer. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getWindowHeight"><!-- --></A>
+   <H3>getWindowHeight</H3>
+   <PRE>Object <B>getWindowHeight</B>()</PRE>
+   
+      <UL>Get the Window height.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        height The height of map window from the context document. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getWindowSize"><!-- --></A>
+   <H3>getWindowSize</H3>
+   <PRE>Object <B>getWindowSize</B>()</PRE>
+   
+      <UL>Returns the width/height of the map window as an array</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getWindowWidth"><!-- --></A>
+   <H3>getWindowWidth</H3>
+   <PRE>Object <B>getWindowWidth</B>()</PRE>
+   
+      <UL>Get the Window width.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        width The width of map window from the context document 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="initAoi"><!-- --></A>
+   <H3>initAoi</H3>
+   <PRE>void <B>initAoi</B>(objRef)</PRE>
+   
+      <UL>Set the aoi param and call the refresh listeners</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>boundingBox</CODE> -  array in the sequence (xmin, ymin, xmax, ymax).      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="initBbox"><!-- --></A>
+   <H3>initBbox</H3>
+   <PRE>void <B>initBbox</B>(objRef)</PRE>
+   
+      <UL>Set the BoundingBox element and call the refresh listeners</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>boundingBox</CODE> -  array in the sequence (xmin, ymin, xmax, ymax).      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="initProj"><!-- --></A>
+   <H3>initProj</H3>
+   <PRE>Object <B>initProj</B>(objRef)</PRE>
+   
+      <UL>Get the Projection object from the context document.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Proj Object of  The Spatial Reference System. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="initTimeExtent"><!-- --></A>
+   <H3>initTimeExtent</H3>
+   <PRE>void <B>initTimeExtent</B>( objRef )</PRE>
+   
+      <UL>Parses a Dimension element from the Context document as a loadModel listener.
+ This results in an XML structure with one element for each GetMap time value
+ parameter and added to the Context extrension element.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  a pointer to this object      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="moveLayerDown"><!-- --></A>
+   <H3>moveLayerDown</H3>
+   <PRE>void <B>moveLayerDown</B>(objRef, layerId)</PRE>
+   
+      <UL>Method to move a Layer in the LayerList down</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -  the layer to be moved      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="moveLayerUp"><!-- --></A>
+   <H3>moveLayerUp</H3>
+   <PRE>void <B>moveLayerUp</B>(objRef, layerId)</PRE>
+   
+      <UL>Method to move a Layer in the LayerList up</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -  the layer to be moved      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setBoundingBox"><!-- --></A>
+   <H3>setBoundingBox</H3>
+   <PRE>void <B>setBoundingBox</B>(boundingBox)</PRE>
+   
+      <UL>Set the BoundingBox element and call the refresh listeners</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>boundingBox</CODE> -  array in the sequence (xmin, ymin, xmax, ymax).      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setExtension"><!-- --></A>
+   <H3>setExtension</H3>
+   <PRE>Object <B>setExtension</B>(extensionNode)</PRE>
+   
+      <UL>Adds a node to the Context document extension element.  The extension element
+ will be created if it doesn't already exist.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>extensionNode</CODE> -  the node to be appended in the extension element.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the ndoe added to the extension element 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setHidden"><!-- --></A>
+   <H3>setHidden</H3>
+   <PRE>void <B>setHidden</B>(layerId, hidden)</PRE>
+   
+      <UL>Change a Layer's visibility.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -   The name of the layer that is to be changed  
+      </UL> 
+   
+     <UL><CODE>hidden</CODE> -      String with the value to be set; 1=hidden, 0=visible.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setOpacity"><!-- --></A>
+   <H3>setOpacity</H3>
+   <PRE>void <B>setOpacity</B>(layerId, Opacity)</PRE>
+   
+      <UL>Change a Layer's opacity</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -   The name of the layer that is to be changed  
+      </UL> 
+   
+     <UL><CODE>Opacity</CODE> -      Value of the opacity      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setSRS"><!-- --></A>
+   <H3>setSRS</H3>
+   <PRE>void <B>setSRS</B>(srs)</PRE>
+   
+      <UL>Set the Spatial Reference System for the context document.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>srs</CODE> -  The Spatial Reference System.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setWindowHeight"><!-- --></A>
+   <H3>setWindowHeight</H3>
+   <PRE>void <B>setWindowHeight</B>(height)</PRE>
+   
+      <UL>Set the Window height.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>height</CODE> -  The height of map window to set in the context document      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setWindowSize"><!-- --></A>
+   <H3>setWindowSize</H3>
+   <PRE>void <B>setWindowSize</B>(size)</PRE>
+   
+      <UL>Set the Window width and height in one function call to avoid a resize event in between
+ setting width and height, because that causes checkBbox to be triggered, which adjusts the
+ bbox then when it should not yet be adjusted.
+ Added by VTS for dynamic map window resizing (AutoResize tool)</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>size</CODE> -  Size of the map window as (width, height) array      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setWindowWidth"><!-- --></A>
+   <H3>setWindowWidth</H3>
+   <PRE>void <B>setWindowWidth</B>(width)</PRE>
+   
+      <UL>Set the Window width.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>width</CODE> -  The width of map window to set in the context document      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Context.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Config.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="CursorTrack.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Context.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/TipWidgetOL.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/TipWidgetOL.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/TipWidgetOL.html	(revision 4307)
@@ -0,0 +1,337 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+TipWidgetOL
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="TipWidgetOL";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TipWidgetOL.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TipWidgetConfig.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ToolBase.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TipWidgetOL.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class TipWidgetOL</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<a href='TipWidgetBase.html'>TipWidgetBase</a>
+                     |
+                     +--<b>TipWidgetOL</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>TipWidgetOL</B>
+   
+      <DT>extends <a href='TipWidgetBase.html'>TipWidgetBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-TipWidgetOL.js.html'>TipWidgetOL.js</a></I><BR/><BR/><B>Author:</B> Andreas Hocevar andreas.hocevarATgmail.com  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="TipWidgetOL.html#TipWidgetOL()">TipWidgetOL</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Manages MapTips on the map.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="TipWidgetOL()"><!-- --></A><H3>
+TipWidgetOL</H3>
+<PRE><B>TipWidgetOL</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Manages MapTips on the map. This widget works with models that
+ have a FeatureSelectHandler tool.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -       The tool node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -   The ButtonBar widget.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Andreas Hocevar andreas.hocevarATgmail.com  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TipWidgetOL.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TipWidgetConfig.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ToolBase.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TipWidgetOL.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/GmlRendererOL.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/GmlRendererOL.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/GmlRendererOL.html	(revision 4307)
@@ -0,0 +1,812 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+GmlRendererOL
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="GmlRendererOL";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-GmlRendererOL.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="GmlRendererConfig.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Graticule.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GmlRendererOL.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class GmlRendererOL</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='GmlRendererBase.html'>GmlRendererBase</a>
+               |
+               +--<b>GmlRendererOL</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>GmlRendererOL</B>
+   
+      <DT>extends <a href='GmlRendererBase.html'>GmlRendererBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-GmlRendererOL.js.html'>GmlRendererOL.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#containerNodeId">containerNodeId</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#defaultStyle">defaultStyle</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Style object for default renderer styling of features.</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#hoverCursor">hoverCursor</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#loaded">loaded</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#mbWidget">mbWidget</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#olLayer">olLayer</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OpenLayers GML layer which renders the model doc</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#proj">proj</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#selectStyle">selectStyle</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Style object for default renderer styling of features.</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#stylesheet">stylesheet</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="GmlRendererBase.html">GmlRendererBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="GmlRendererBase.html#featureSRS">featureSRS</a>, <a href="GmlRendererBase.html#hoverCursorNode">hoverCursorNode</a>, <a href="GmlRendererBase.html#sldModelNode">sldModelNode</a>, <a href="GmlRendererBase.html#defaultStyleName">defaultStyleName</a>, <a href="GmlRendererBase.html#selectStyleName">selectStyleName</a>, <a href="GmlRendererBase.html#config">config</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="GmlRendererOL.html#GmlRendererOL()">GmlRendererOL</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Render GML into HTML.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#clearWidget">clearWidget</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Remove widget from display.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#hiddenListener">hiddenListener</A></B>(objRef, layerName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Called when the context's hidden attribute changes.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#hideFeature">hideFeature</A></B>(objRef, fid)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Hides the feature specified by its fid from the map
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#init">init</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Initializes this widget
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#paint">paint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#removeHiddenFeatures">removeHiddenFeatures</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#showFeature">showFeature</A></B>(objRef, fid)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Shows the feature specified by its fid in the map
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="containerNodeId"><!-- --></A>
+   <H3>containerNodeId</H3>
+   <PRE>Object&nbsp;<B>containerNodeId</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="defaultStyle"><!-- --></A>
+   <H3>defaultStyle</H3>
+   <PRE>Object&nbsp;<B>defaultStyle</B></PRE>
+   <UL>
+   Style object for default renderer styling of features.
+ This holds one style for each OpenLayers feature class
+   
+   </UL>
+   <HR>
+   
+   <A NAME="hoverCursor"><!-- --></A>
+   <H3>hoverCursor</H3>
+   <PRE>Object&nbsp;<B>hoverCursor</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="loaded"><!-- --></A>
+   <H3>loaded</H3>
+   <PRE>Object&nbsp;<B>loaded</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="mbWidget"><!-- --></A>
+   <H3>mbWidget</H3>
+   <PRE>Object&nbsp;<B>mbWidget</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="olLayer"><!-- --></A>
+   <H3>olLayer</H3>
+   <PRE>Object&nbsp;<B>olLayer</B></PRE>
+   <UL>
+   OpenLayers GML layer which renders the model doc
+   
+   </UL>
+   <HR>
+   
+   <A NAME="proj"><!-- --></A>
+   <H3>proj</H3>
+   <PRE>Object&nbsp;<B>proj</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="selectStyle"><!-- --></A>
+   <H3>selectStyle</H3>
+   <PRE>Object&nbsp;<B>selectStyle</B></PRE>
+   <UL>
+   Style object for default renderer styling of features.
+ This holds one style for each OpenLayers feature class
+   
+   </UL>
+   <HR>
+   
+   <A NAME="stylesheet"><!-- --></A>
+   <H3>stylesheet</H3>
+   <PRE>Object&nbsp;<B>stylesheet</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="GmlRendererOL()"><!-- --></A><H3>
+GmlRendererOL</H3>
+<PRE><B>GmlRendererOL</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Render GML into HTML.
+ this.targetModel references the context model for the map
+ where the content of this widget should be rendered to.
+ If the model doc is not wfs compliant, a stylesheet
+ property has to be set for this widget. The xsl file
+ referenced in this property transforms the model doc to
+ a wfs FeatureCollection.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="clearWidget"><!-- --></A>
+   <H3>clearWidget</H3>
+   <PRE>void <B>clearWidget</B>(objRef)</PRE>
+   
+      <UL>Remove widget from display.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="hiddenListener"><!-- --></A>
+   <H3>hiddenListener</H3>
+   <PRE>void <B>hiddenListener</B>(objRef, layerName)</PRE>
+   
+      <UL>Called when the context's hidden attribute changes.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  This object.  
+      </UL> 
+   
+     <UL><CODE>layerName</CODE> -   The name of the layer that was toggled.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="hideFeature"><!-- --></A>
+   <H3>hideFeature</H3>
+   <PRE>void <B>hideFeature</B>(objRef, fid)</PRE>
+   
+      <UL>Hides the feature specified by its fid from the map</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  this widget  
+      </UL> 
+   
+     <UL><CODE>fid</CODE> -  feature id of the feature to hide. If it is null,  the hideFeature param of the model will be used.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="init"><!-- --></A>
+   <H3>init</H3>
+   <PRE>void <B>init</B>(objRef)</PRE>
+   
+      <UL>Initializes this widget</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  This object      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="paint"><!-- --></A>
+   <H3>paint</H3>
+   <PRE>void <B>paint</B>(objRef)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="removeHiddenFeatures"><!-- --></A>
+   <H3>removeHiddenFeatures</H3>
+   <PRE>void <B>removeHiddenFeatures</B>(objRef)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="showFeature"><!-- --></A>
+   <H3>showFeature</H3>
+   <PRE>void <B>showFeature</B>(objRef, fid)</PRE>
+   
+      <UL>Shows the feature specified by its fid in the map</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  this widget  
+      </UL> 
+   
+     <UL><CODE>fid</CODE> -  feature id of the feature to show. If it is null,  the showFeature param of the model will be used.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-GmlRendererOL.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="GmlRendererConfig.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Graticule.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GmlRendererOL.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-AoiBoxOL.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-AoiBoxOL.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-AoiBoxOL.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ AoiBoxOL.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" AoiBoxOL.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-AoiBoxOL.js.html" 
+                                        target="classFrame">AoiBoxOL.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="AoiBoxOL.html" TARGET="classFrame">AoiBoxOL</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Listener.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Listener.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Listener.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Listener.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Listener.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Listener.js.html" 
+                                        target="classFrame">Listener.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Listener.html" TARGET="classFrame">Listener</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/ModelUrlInput.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/ModelUrlInput.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/ModelUrlInput.html	(revision 4307)
@@ -0,0 +1,576 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ModelUrlInput
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="ModelUrlInput";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ModelUrlInput.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="ModelStatus.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="MovieLoop.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ModelUrlInput.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class ModelUrlInput</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>ModelUrlInput</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>ModelUrlInput</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-ModelUrlInput.js.html'>ModelUrlInput.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#defaultUrl">defaultUrl</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#formName">formName</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="ModelUrlInput.html#ModelUrlInput()">ModelUrlInput</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to display the a form to input any model's URL and load the new URL 
+ as the model's document
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#handleKeyPress">handleKeyPress</A></B>(event)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 handles keypress events to filter out everything except "enter".
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#postPaint">postPaint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Refreshes the form and event handlers when this widget is painted.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#prePaint">prePaint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 initializes stylesheet parameters for the form
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#submitForm">submitForm</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Handles submission of the form (via javascript in an <a> tag)
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="defaultUrl"><!-- --></A>
+   <H3>defaultUrl</H3>
+   <PRE>Object&nbsp;<B>defaultUrl</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="formName"><!-- --></A>
+   <H3>formName</H3>
+   <PRE>Object&nbsp;<B>formName</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="ModelUrlInput()"><!-- --></A><H3>
+ModelUrlInput</H3>
+<PRE><B>ModelUrlInput</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to display the a form to input any model's URL and load the new URL 
+ as the model's document
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   This widget's object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model that this widget is a view of.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="handleKeyPress"><!-- --></A>
+   <H3>handleKeyPress</H3>
+   <PRE>Object <B>handleKeyPress</B>(event)</PRE>
+   
+      <UL>handles keypress events to filter out everything except "enter".  
+ Pressing the "enter" key will trigger a form submit</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>event</CODE> -   the event object passed in for Mozilla; IE uses window.event
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="postPaint"><!-- --></A>
+   <H3>postPaint</H3>
+   <PRE>void <B>postPaint</B>(objRef)</PRE>
+   
+      <UL>Refreshes the form and event handlers when this widget is painted.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this CurorTrack object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="prePaint"><!-- --></A>
+   <H3>prePaint</H3>
+   <PRE>void <B>prePaint</B>(objRef)</PRE>
+   
+      <UL>initializes stylesheet parameters for the form</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this widget object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="submitForm"><!-- --></A>
+   <H3>submitForm</H3>
+   <PRE>void <B>submitForm</B>()</PRE>
+   
+      <UL>Handles submission of the form (via javascript in an <a> tag)</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ModelUrlInput.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="ModelStatus.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="MovieLoop.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ModelUrlInput.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/ToolBase.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/ToolBase.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/ToolBase.html	(revision 4307)
@@ -0,0 +1,515 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ToolBase
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="ToolBase";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ToolBase.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TipWidgetOL.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Transaction.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ToolBase.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class ToolBase</H2>
+<PRE>Object
+   |
+   +--<b>ToolBase</b>
+</PRE>
+
+   <DL>
+   <DT>
+      <B>Direct Known Subclasses:</B> 
+      <DD>
+                <a href="MergeModels.html">MergeModels</a>, <a href="Timer.html">Timer</a>, <a href="ZoomToAoi.html">ZoomToAoi</a>, <a href="Caps2Context.html">Caps2Context</a>, <a href="EditContext.html">EditContext</a>, <a href="WebServiceRequest.html">WebServiceRequest</a>, <a href="MovieLoop.html">MovieLoop</a>, <a href="History.html">History</a>, <a href="FeatureSelectHandler.html">FeatureSelectHandler</a>
+      </DD>
+   </DL>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>ToolBase</B>
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-ToolBase.js.html'>ToolBase.js</a></I><BR/><BR/><B>Author:</B> Mike Adair mike.adairATccrs.nrcan.gc.ca  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#enabled">enabled</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#model">model</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#toolNode">toolNode</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="ToolBase.html#ToolBase()">ToolBase</A> 
+	 </B>
+	 (toolNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Base Tool object that all Tools extend.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getProperty">getProperty</A></B>(property, defaultValue)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Convenient access to Mapbuilder.getProperty
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#initMouseHandler">initMouseHandler</A></B>(toolRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Initialize the mouseHandler property to point to the object.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#initTargetModel">initTargetModel</A></B>(toolRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Initialize the targetModel property to point to the object.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="enabled"><!-- --></A>
+   <H3>enabled</H3>
+   <PRE>Object&nbsp;<B>enabled</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="model"><!-- --></A>
+   <H3>model</H3>
+   <PRE>Object&nbsp;<B>model</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="toolNode"><!-- --></A>
+   <H3>toolNode</H3>
+   <PRE>Object&nbsp;<B>toolNode</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="ToolBase()"><!-- --></A><H3>
+ToolBase</H3>
+<PRE><B>ToolBase</B>(toolNode, model)</PRE>
+
+
+<UL>
+   Base Tool object that all Tools extend.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>toolNode</CODE> -  The tool node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -     The widget object which created this tool.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Mike Adair mike.adairATccrs.nrcan.gc.ca  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="getProperty"><!-- --></A>
+   <H3>getProperty</H3>
+   <PRE>Object <B>getProperty</B>(property, defaultValue)</PRE>
+   
+      <UL>Convenient access to Mapbuilder.getProperty</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>property</CODE> -  property to get  
+      </UL> 
+   
+     <UL><CODE>default</CODE> -  value to use if property is not set  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the value for the property 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="initMouseHandler"><!-- --></A>
+   <H3>initMouseHandler</H3>
+   <PRE>void <B>initMouseHandler</B>(toolRef)</PRE>
+   
+      <UL>Initialize the mouseHandler property to point to the object.  This happens
+ as an init listener to ensure that the referenced model has been created.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>toolRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="initTargetModel"><!-- --></A>
+   <H3>initTargetModel</H3>
+   <PRE>void <B>initTargetModel</B>(toolRef)</PRE>
+   
+      <UL>Initialize the targetModel property to point to the object.  This happens
+ as an init listener to ensure that the referenced model has been created.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>toolRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ToolBase.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TipWidgetOL.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Transaction.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ToolBase.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-MapScaleBar.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-MapScaleBar.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-MapScaleBar.js.html	(revision 4307)
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ MapScaleBar.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" MapScaleBar.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-MapScaleBar.js.html" 
+                                        target="classFrame">MapScaleBar.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="HandsomeNumber.html" TARGET="classFrame">HandsomeNumber</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="MapScaleBar.html" TARGET="classFrame">MapScaleBar</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-LayerControl.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-LayerControl.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-LayerControl.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ LayerControl.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" LayerControl.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-LayerControl.js.html" 
+                                        target="classFrame">LayerControl.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="LayerControl.html" TARGET="classFrame">LayerControl</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-OwsCatResources.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-OwsCatResources.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-OwsCatResources.js.html	(revision 4307)
@@ -0,0 +1,205 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="OwsCatResources.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>OwsCatResources.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'OwsCatResources.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="OwsCatResources.html">OwsCatResources</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: OwsCatResources.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/model/FeatureCollection.js"</span>);
+
+<span class="comment">/**
+ * Generic Model object for models where no specialization is required.  This is
+ * just an instance of a abstract ModelBase.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> FeatureCollection
+ * <span class="attrib">@author</span> Mike Adair
+ * <span class="attrib">@param</span> modelNode The model's XML object node from the configuration document
+ * <span class="attrib">@param</span> parent Parent of this model, set to null if there is no parent.
+ */</span>
+<span class="reserved">function</span> OwsCatResources(modelNode, parent) {
+<span class="comment">  // Inherit the ModelBase functions and parameters</span>
+  FeatureCollection.apply(<span class="reserved">this</span>, new Array(modelNode, parent));
+
+  <span class="reserved">this</span>.namespace = <span class="literal">"xmlns:owscat='http://www.ec.gc.ca/owscat' xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs'"</span>;
+}
+
+<span class="comment">/**
+ * Returns the featureType node with the specified name from the list of nodes
+ * selected by the nodeSelectXpath from the capabilities doc.
+ * <span class="attrib">@param</span> featureName name of the featureType to look up
+ * <span class="attrib">@return</span> the featureType node with the specified name.
+ */</span>
+OwsCatResources.<span class="reserved">prototype</span>.getFeatureNode = <span class="reserved">function</span>(featureName) {
+    <span class="reserved">return</span> <span class="reserved">this</span>.doc.selectSingleNode(<span class="reserved">this</span>.nodeSelectXpath+<span class="literal">"[owscat:name='"</span>+featureName+<span class="literal">"']"</span>);
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-TipWidgetBase.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-TipWidgetBase.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-TipWidgetBase.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TipWidgetBase.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TipWidgetBase.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TipWidgetBase.js.html" 
+                                        target="classFrame">TipWidgetBase.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TipWidgetBase.html" TARGET="classFrame">TipWidgetBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Config.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Config.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Config.js.html	(revision 4307)
@@ -0,0 +1,439 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Config.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Config.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Config.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Config.html">Config</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Config.js 3893 2008-02-29 18:22:13Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/model/ModelBase.js"</span>);
+
+<span class="comment">/**
+ * The config object is the parent model of all mapbuilder objects.
+ * The application creates a global object called 'config' which represents
+ * the mapbuilder configuration xml file passed in as a parameter.
+ * Config is a model like any other model.  
+ * Any mapbuilder object can be de-referenced by using the 'config.objects' 
+ * property as in config.objects.idValueFromConfig.
+ * The schema for the config can be found at /mabuilder/lib/schemas/config.xsd
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ModelBase
+ * <span class="attrib">@author</span> adair
+ * <span class="attrib">@requires</span> Sarissa
+ * <span class="attrib">@param</span> url URL of the configuration file.
+ */</span>
+<span class="reserved">function</span> Config(url) {
+<span class="comment">/**
+ * open the application specific configuration document, passed in aas the url argument.
+ */</span>
+  <span class="reserved">this</span>.doc = Sarissa.getDomDocument();
+  <span class="reserved">this</span>.doc.async = false;
+  <span class="reserved">this</span>.doc.validateOnParse=false;  //IE6 SP2 parsing bug
+  <span class="reserved">if</span>(_SARISSA_IS_SAFARI)
+  {
+  var xmlhttp = new XMLHttpRequest();
+  xmlhttp.open(<span class="literal">"GET"</span>, url, false);
+  xmlhttp.send(null);
+  <span class="reserved">this</span>.doc = xmlhttp.responseXML;
+  }<span class="reserved">else</span>
+   {
+  <span class="reserved">this</span>.doc.load(url);
+  }
+  <span class="reserved">if</span> (Sarissa.getParseErrorText(<span class="reserved">this</span>.doc) != Sarissa.PARSED_OK){
+    alert(<span class="literal">"error loading config document: "</span> + url );//+ <span class="literal">" - "</span> + Sarissa.getParseErrorText(<span class="reserved">this</span>.doc) );
+  }
+  <span class="reserved">this</span>.url = url;
+  <span class="reserved">this</span>.namespace = <span class="literal">"xmlns:mb='"</span>+mbNsUrl+<span class="literal">"'"</span>;
+  <span class="reserved">if</span>(! _SARISSA_IS_SAFARI ){ 
+  <span class="reserved">this</span>.doc.setProperty(<span class="literal">"SelectionLanguage"</span>, <span class="literal">"XPath"</span>);
+  Sarissa.setXpathNamespaces(<span class="reserved">this</span>.doc, <span class="reserved">this</span>.namespace);}
+
+<span class="comment">/**
+ * Set the serializeUrl and proxyUrl values from a global configuration document
+ * Optional, these can also be set in individual config docs.
+ */</span>
+  var configDoc = Sarissa.getDomDocument();
+  configDoc.async = false;
+  configDoc.validateOnParse=false;  //IE6 SP2 parsing bug
+  <span class="reserved">if</span>(_SARISSA_IS_SAFARI){
+    var xmlhttp = new XMLHttpRequest();
+    xmlhttp.open(<span class="literal">"GET"</span>, baseDir+<span class="literal">"/"</span>+mbServerConfig, false);
+    xmlhttp.send(null);
+    configDoc = xmlhttp.responseXML;
+  }<span class="reserved">else</span>
+   {
+    configDoc.load(baseDir+<span class="literal">"/"</span>+mbServerConfig);
+   }
+  <span class="reserved">if</span> (Sarissa.getParseErrorText(configDoc) != Sarissa.PARSED_OK) {
+<span class="comment">    //alert("error loading server config document: " + baseDir+"/"+mbServerConfig );</span>
+  } <span class="reserved">else</span> {
+  <span class="reserved">if</span>(! _SARISSA_IS_SAFARI ){
+    configDoc.setProperty(<span class="literal">"SelectionLanguage"</span>, <span class="literal">"XPath"</span>);
+    Sarissa.setXpathNamespaces(configDoc, <span class="reserved">this</span>.namespace);
+    }
+    <span class="reserved">this</span>.proxyUrl = Mapbuilder.getProperty(configDoc, <span class="literal">"/mb:MapbuilderConfig/mb:proxyUrl"</span>, <span class="reserved">this</span>.proxyUrl);
+    <span class="reserved">this</span>.serializeUrl = Mapbuilder.getProperty(configDoc, <span class="literal">"/mb:MapbuilderConfig/mb:serializeUrl"</span>, <span class="reserved">this</span>.serializeUrl);
+  }
+  configDoc = null;
+
+  <span class="comment">/**
+   * Dynamic loading of the javascript files for objects defined in the Config file.
+   * <span class="attrib">@private</span>
+   */</span>
+  <span class="reserved">this</span>.loadConfigScripts=<span class="reserved">function</span>(){
+<span class="comment">    // load css stylesheets that were requested before skindir was known.</span>
+    <span class="reserved">if</span> (mapbuilder.cssToLoad) {
+      <span class="reserved">for</span> (var i=0; i&lt;mapbuilder.cssToLoad.length; i++) {
+        loadCss(mapbuilder.cssToLoad[i]);
+      }
+      mapbuilder.cssToLoad = null;
+    }
+<span class="comment">    
+    // Load script files for all components that don't have &lt;scriptfile&gt; specified</span>
+<span class="comment">    // in the config file.</span>
+    mapbuilder.loadScriptsFromXpath(<span class="reserved">this</span>.doc.selectNodes(<span class="literal">"//mb:models/*"</span>),<span class="literal">"model/"</span>);
+    mapbuilder.loadScriptsFromXpath(<span class="reserved">this</span>.doc.selectNodes(<span class="literal">"//mb:widgets/*"</span>),<span class="literal">"widget/"</span>);
+    mapbuilder.loadScriptsFromXpath(<span class="reserved">this</span>.doc.selectNodes(<span class="literal">"//mb:tools/*"</span>),<span class="literal">"tool/"</span>);
+<span class="comment">
+    //TBD: Deprecate the following block and move into loadScriptsFromXpath instead.</span>
+<span class="comment">    //load all scriptfiles called for in the config file.  There seems to be a </span>
+<span class="comment">    //problem if this is done anywhere except in the page &lt;HEAD&gt; element.</span>
+    var scriptFileNodes = <span class="reserved">this</span>.doc.selectNodes(<span class="literal">"//mb:scriptFile"</span>);
+    <span class="reserved">for</span> (var i=0; i&lt;scriptFileNodes.length; i++ ) {
+      scriptFile = getNodeValue(scriptFileNodes[i]);
+      mapbuilder.loadScript(scriptFile);
+    }
+  }
+
+  <span class="comment">/**
+  * multilingual support; defaults to english 
+  * Set via a "language" parameter in the URL, 
+  * or by setting a global "language" Javascript variable in the page &lt;HEAD&gt;.
+  * Retrieve the language value from the global conifg object as "config.lang"
+  */</span>
+  <span class="reserved">this</span>.defaultLang = <span class="literal">"en"</span>;
+  <span class="reserved">this</span>.lang = <span class="reserved">this</span>.defaultLang;
+  <span class="reserved">if</span> (window.cgiArgs[<span class="literal">"language"</span>]) {
+    <span class="reserved">this</span>.lang = window.cgiArgs[<span class="literal">"language"</span>];
+  } <span class="reserved">else</span> <span class="reserved">if</span> (window.language) {
+    <span class="reserved">this</span>.lang = window.language;
+  }
+<span class="comment">
+  //set some global application properties</span>
+  var modelNode = <span class="reserved">this</span>.doc.documentElement;
+  <span class="reserved">this</span>.skinDir = Mapbuilder.getProperty(modelNode, <span class="literal">"mb:skinDir"</span>);
+  <span class="reserved">this</span>.proxyUrl = Mapbuilder.getProperty(modelNode, <span class="literal">"mb:proxyUrl"</span>, <span class="reserved">this</span>.proxyUrl);
+  <span class="reserved">this</span>.serializeUrl = Mapbuilder.getProperty(modelNode, <span class="literal">"mb:serializeUrl"</span>, <span class="reserved">this</span>.serializeUrl);
+
+  <span class="comment">/**
+   * Convenience method to load widgetText from a dir.
+   * Has the possible side-effect of changing config.lang to config.defaultLang
+   * if the widgetText for the selected language is not found.
+   * <span class="attrib">@param</span> config the config object
+   * <span class="attrib">@param</span> dir    the base dir for the widget text
+   * <span class="attrib">@private</span>
+   */</span>
+  <span class="reserved">function</span> loadWidgetText(config, dir) {
+    var widgetFile = <span class="literal">"/widgetText.xml"</span>;
+    var widgetText;
+    var widgetTextUrl = dir + <span class="literal">"/"</span> + config.lang + widgetFile;
+    widgetText = Sarissa.getDomDocument();
+    widgetText.async = false;
+    widgetText.validateOnParse=false;  //IE6 SP2 parsing bug
+    
+    <span class="reserved">if</span> (typeof(inlineXSL)!=<span class="literal">"undefined"</span>) {
+      var xmlString = inlineXSL[widgetTextUrl];
+      xmlString = xmlString.replace(/DOUBLE_QUOTE/g,<span class="literal">"\"</span><span class="literal">");
+      widgetText = (new DOMParser()).parseFromString(xmlString, "</span>text/xml<span class="literal">");
+    }
+    else {
+      if (_SARISSA_IS_SAFARI) {
+        var xmlhttp = new XMLHttpRequest();
+        xmlhttp.open("</span>GET<span class="literal">", widgetTextUrl, false);
+        xmlhttp.send(null);
+        widgetText = xmlhttp.responseXML;
+      }
+      else {
+        try {
+          widgetText.load(widgetTextUrl);
+        }
+        catch (ignoredErr) {}
+      }
+    }      
+    if (Sarissa.getParseErrorText(widgetText) != Sarissa.PARSED_OK) {
+      var errMsg = "</span>Error loading widgetText document: <span class="literal">" + widgetTextUrl;
+      if (config.lang == config.defaultLang) {
+        alert(errMsg);
+      }
+      else {
+        // Try to fall back on default language
+        alert(errMsg + "</span>\nFalling back on default language=\<span class="literal">""</span> + config.defaultLang + <span class="literal">"\"</span><span class="literal">");
+        config.lang = config.defaultLang;
+        widgetTextUrl = dir + "</span>/<span class="literal">" + config.lang + widgetFile;
+        if(_SARISSA_IS_SAFARI) {
+          var xmlhttp = new XMLHttpRequest();
+          xmlhttp.open("</span>GET<span class="literal">", widgetTextUrl, false);
+          xmlhttp.send(null);
+          widgetText = xmlhttp.responseXML;
+        }
+        else {
+          widgetText.load(widgetTextUrl);
+        }
+        if (Sarissa.getParseErrorText(widgetText) != Sarissa.PARSED_OK) {
+          alert("</span>Falling back on default language failed!<span class="literal">");
+        }
+      }
+    }
+    if(! _SARISSA_IS_SAFARI) {
+      widgetText.setProperty("</span>SelectionLanguage<span class="literal">", "</span>XPath<span class="literal">");
+      Sarissa.setXpathNamespaces(widgetText, config.namespace);
+    }
+    return widgetText;
+  }
+  
+  // Load widgetText
+  this.widgetText = loadWidgetText(this, baseDir + "</span>/text<span class="literal">");
+  // Try to load userWidgetText
+  userWidgetTextDir = modelNode.selectSingleNode("</span>mb:userWidgetTextDir<span class="literal">");
+  if (userWidgetTextDir) {
+    var userWidgetText = loadWidgetText(this, getNodeValue(userWidgetTextDir));
+    if (userWidgetText) {
+      // User has specified userWidgetText, merge with widgetText
+      var userWidgets = userWidgetText.selectSingleNode("</span>/mb:WidgetText/mb:widgets<span class="literal">");
+      var configWidgets = this.widgetText.selectSingleNode("</span>/mb:WidgetText/mb:widgets<span class="literal">");
+      if (userWidgets &amp;&amp; configWidgets) {
+        // Merge &lt;widgets/&gt; texts
+        Sarissa.copyChildNodes(userWidgets, configWidgets, true);
+      }
+      var userMessages = userWidgetText.selectSingleNode("</span>/mb:WidgetText/mb:messages<span class="literal">");
+      var configMessages = this.widgetText.selectSingleNode("</span>/mb:WidgetText/mb:messages<span class="literal">");
+      if (userMessages &amp;&amp; configMessages) {
+        // Merge &lt;messages/&gt; texts
+        Sarissa.copyChildNodes(userMessages, configMessages, true);
+      }
+    }
+  }
+
+  /**
+  * the objects property holds a reference to every mapbuilder javascript object
+  * created.  Each object is added as a property of config.objects using the
+  * value of the object id from the configuration file
+  */
+  this.objects = new Object();
+
+  // Inherit the ModelBase functions and parameters
+  ModelBase.apply(this, new Array(modelNode));
+
+  /**
+   * Load a model and its child models, widgets and tools.
+   * This function can be called at any time to load a new model or replace an
+   * existing model object.
+   * @param modelId   the id of the model in config XML to be updated
+   * @param modelUrl  URL of the XML model document to be loaded
+   */
+  this.loadModel = function( modelId, modelUrl ) {
+    var model = this.objects[modelId];
+    if (model &amp;&amp; modelUrl) {
+      var httpPayload = new Object();
+      httpPayload.method = model.method;
+      httpPayload.url = modelUrl;
+      model.newRequest(model,httpPayload);
+    } else {
+      alert(mbGetMessage("</span>errorLoadingModel<span class="literal">", modelId, modelUrl));
+    }
+  }
+
+  /**
+   * Repaint the widget passed in.  
+   * This function can be called at any time to paint the widget.
+   * @param widget   a pointer to the widget object to be painted.
+   */
+  this.paintWidget = function( widget ) {
+    if (widget) {
+      widget.paint(widget, widget.id);
+    } else {
+      alert(mbGetMessage("</span>errorPaintingWidget"));
+    }
+  }
+}
+
+<span class="comment">/**
+* Initialise the global config object for Mozilla browsers.
+*/</span>
+<span class="reserved">if</span> (document.readyState==null){
+<span class="comment">  // Mozilla</span>
+  mapbuilder.setLoadState(MB_LOAD_CONFIG);
+  config=new Config(mbConfigUrl);
+  config[config.id] = config;
+  config.loadConfigScripts();
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/Listener.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Listener.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Listener.html	(revision 4307)
@@ -0,0 +1,644 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Listener
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Listener";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Listener.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="LegendGraphic.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Loading.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Listener.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Listener</H2>
+<PRE>Object
+   |
+   +--<b>Listener</b>
+</PRE>
+
+   <DL>
+   <DT>
+      <B>Direct Known Subclasses:</B> 
+      <DD>
+                <a href="ModelBase.html">ModelBase</a>
+      </DD>
+   </DL>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Listener</B>
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Listener.js.html'>Listener.js</a></I><BR/><BR/><B>Author:</B> Cameron Shorter<BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#listeners">listeners</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An array [params] of (listener, target).</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#values">values</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An array [params] of values.</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Listener.html#Listener()">Listener</A> 
+	 </B>
+	 ()
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Base Listener class that is instanciated by all objects which provide
+ event listeners.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addFirstListener">addFirstListener</A></B>(param, listener, target)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Add a listener function at the start of the list.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addListener">addListener</A></B>(param, listener, target)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Add a listener function which will be called when param is updated;  The
+ listener function should usually be: paint(target).
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#callListeners">callListeners</A></B>(param,value)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Call all the listeners that have registered interest in this parameter
+ using addListener.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getParam">getParam</A></B>(param)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Return the param value, or return null if it does not exist.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#removeListener">removeListener</A></B>(param,listener,target)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Remove a listener so that it is not called anymore when a param changes.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setParam">setParam</A></B>(param,value)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Update parameter and call all interested listeners.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="listeners"><!-- --></A>
+   <H3>listeners</H3>
+   <PRE>Object&nbsp;<B>listeners</B></PRE>
+   <UL>
+   An array [params] of (listener, target).
+   
+   </UL>
+   <HR>
+   
+   <A NAME="values"><!-- --></A>
+   <H3>values</H3>
+   <PRE>Object&nbsp;<B>values</B></PRE>
+   <UL>
+   An array [params] of values. These values might not be used if the set/get
+ functions are overwritten.
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Listener()"><!-- --></A><H3>
+Listener</H3>
+<PRE><B>Listener</B>()</PRE>
+
+
+<UL>
+   Base Listener class that is instanciated by all objects which provide
+ event listeners.
+</UL>
+
+
+
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Cameron Shorter<BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="addFirstListener"><!-- --></A>
+   <H3>addFirstListener</H3>
+   <PRE>void <B>addFirstListener</B>(param, listener, target)</PRE>
+   
+      <UL>Add a listener function at the start of the list.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>param</CODE> -  Parameter name; if this parameter changes then an event is  sent to all interested listeners.      
+      </UL> 
+   
+     <UL><CODE>listener</CODE> -  The function to call when the parameter changes.  
+      </UL> 
+   
+     <UL><CODE>target</CODE> -  The object which owns the listener function.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="addListener"><!-- --></A>
+   <H3>addListener</H3>
+   <PRE>void <B>addListener</B>(param, listener, target)</PRE>
+   
+      <UL>Add a listener function which will be called when param is updated;  The
+ listener function should usually be: paint(target).</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>param</CODE> -  Parameter name; if this parameter changes then an event is  sent to all interested listeners.      
+      </UL> 
+   
+     <UL><CODE>listener</CODE> -  The function to call when the parameter changes.  
+      </UL> 
+   
+     <UL><CODE>target</CODE> -  The object which owns the listener function.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="callListeners"><!-- --></A>
+   <H3>callListeners</H3>
+   <PRE>void <B>callListeners</B>(param,value)</PRE>
+   
+      <UL>Call all the listeners that have registered interest in this parameter
+ using addListener.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>param</CODE> -  The parameter that has changed.  
+      </UL> 
+   
+     <UL><CODE>value</CODE> -  The new parameter value.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getParam"><!-- --></A>
+   <H3>getParam</H3>
+   <PRE>Object <B>getParam</B>(param)</PRE>
+   
+      <UL>Return the param value, or return null if it does not exist.  This
+ function may be overloaded to store the param elsewhere (eg in
+ an XML document).</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>param</CODE> -  The parameter to get.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        The value of the param. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="removeListener"><!-- --></A>
+   <H3>removeListener</H3>
+   <PRE>void <B>removeListener</B>(param,listener,target)</PRE>
+   
+      <UL>Remove a listener so that it is not called anymore when a param changes.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>param</CODE> -  Parameter name; if this parameter changes then an event is  sent to all interested listeners.      
+      </UL> 
+   
+     <UL><CODE>listener</CODE> -  The function to call when the parameter changes.  
+      </UL> 
+   
+     <UL><CODE>target</CODE> -  The object which owns the listener function.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setParam"><!-- --></A>
+   <H3>setParam</H3>
+   <PRE>void <B>setParam</B>(param,value)</PRE>
+   
+      <UL>Update parameter and call all interested listeners.  This function may
+ be overloaded to store the parameter in a elsewhere (eg in an XML
+ document).</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>param</CODE> -  The parameter to change.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Listener.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="LegendGraphic.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Loading.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Listener.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-SelectAllMapLayers.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-SelectAllMapLayers.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-SelectAllMapLayers.js.html	(revision 4307)
@@ -0,0 +1,189 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="SelectAllMapLayers.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>SelectAllMapLayers.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'SelectAllMapLayers.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="SelectAllMapLayers.html">SelectAllMapLayers</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: SelectAllMapLayers.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Link to load the WMS Capabilities doc as a context document.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> SelectAllMapLayers(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-tree.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-tree.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-tree.html	(revision 4307)
@@ -0,0 +1,658 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+
+<!--NewPage-->
+
+<HTML>
+
+<HEAD>
+
+<TITLE>
+
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Class Hierarchy
+
+</TITLE>
+
+<LINK REL="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT>
+
+function asd()
+
+{
+
+parent.document.title="<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Class Hierarchy";
+
+}
+
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="asd();">
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+
+<A NAME="navbar_top"><!-- --></A>
+
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+
+<TR>
+
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+
+<A NAME="navbar_top_firstrow"><!-- --></A>
+
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+
+  <TR ALIGN="center" VALIGN="top">
+
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"><A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><b>Overview</b></A></FONT>&nbsp;</TD>
+
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
+
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1Rev">  &nbsp;<FONT CLASS="NavBarFont1Rev"><b>Tree</b></FONT>&nbsp;</TD>
+
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><b>Index</b></FONT></A>&nbsp;</TD>
+
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><b>Help</b></FONT></A>&nbsp;</TD>
+
+  </TR>
+
+</TABLE>
+
+</TD>
+
+<TD BGCOLOR="#FFFFFF" ALIGN="right" VALIGN="top"><EM>
+
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B></EM>
+
+</TD>
+
+</TR>
+
+
+
+<TR>
+
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+
+&nbsp;PREV&nbsp;
+
+&nbsp;NEXT</FONT></TD>
+
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+
+&nbsp;<A HREF="overview-summary.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+&nbsp;&nbsp;
+
+<SCRIPT>
+
+  <!--
+
+  if(window==top) {
+
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+
+  }
+
+  //-->
+
+</SCRIPT>
+
+<NOSCRIPT>
+
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+
+</NOSCRIPT>
+
+</FONT></TD>
+
+</TR>
+
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+
+
+<HR>
+
+<H2>Class Hierarchy</H2>
+
+
+
+<UL><LI TYPE="circle">Object</LI><UL>
+                <LI TYPE="circle">
+                    <A HREF="DOMParser.html">
+                <B>DOMParser</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Extent.html">
+                <B>Extent</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="HandsomeNumber.html">
+                <B>HandsomeNumber</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Listener.html">
+                <B>Listener</B></A></LI>
+            <UL>
+                <LI TYPE="circle">
+                    <A HREF="ModelBase.html">
+                <B>ModelBase</B></A></LI>
+            <UL>
+                <LI TYPE="circle">
+                    <A HREF="Config.html">
+                <B>Config</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Context.html">
+                <B>Context</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="FeatureCollection.html">
+                <B>FeatureCollection</B></A></LI>
+            <UL>
+                <LI TYPE="circle">
+                    <A HREF="OwsCatResources.html">
+                <B>OwsCatResources</B></A></LI>
+            </UL>
+                <LI TYPE="circle">
+                    <A HREF="GeoRSS.html">
+                <B>GeoRSS</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Logger.html">
+                <B>Logger</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Model.html">
+                <B>Model</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="OwsContext.html">
+                <B>OwsContext</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="StyledLayerDescriptor.html">
+                <B>StyledLayerDescriptor</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Transaction.html">
+                <B>Transaction</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="WfsCapabilities.html">
+                <B>WfsCapabilities</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="WmsCapabilities.html">
+                <B>WmsCapabilities</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="WpsCapabilities.html">
+                <B>WpsCapabilities</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="WpsDescribeProcess.html">
+                <B>WpsDescribeProcess</B></A></LI>
+            </UL></UL>
+                <LI TYPE="circle">
+                    <A HREF="Mapbuilder.html">
+                <B>Mapbuilder</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Sarissa.html">
+                <B>Sarissa</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="ToolBase.html">
+                <B>ToolBase</B></A></LI>
+            <UL>
+                <LI TYPE="circle">
+                    <A HREF="Caps2Context.html">
+                <B>Caps2Context</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="EditContext.html">
+                <B>EditContext</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="FeatureSelectHandler.html">
+                <B>FeatureSelectHandler</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="History.html">
+                <B>History</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="MergeModels.html">
+                <B>MergeModels</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="MovieLoop.html">
+                <B>MovieLoop</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Timer.html">
+                <B>Timer</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="WebServiceRequest.html">
+                <B>WebServiceRequest</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="ZoomToAoi.html">
+                <B>ZoomToAoi</B></A></LI>
+            </UL>
+                <LI TYPE="circle">
+                    <A HREF="WidgetBase.html">
+                <B>WidgetBase</B></A></LI>
+            <UL>
+                <LI TYPE="circle">
+                    <A HREF="AoiBoxOL.html">
+                <B>AoiBoxOL</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="ButtonBase.html">
+                <B>ButtonBase</B></A></LI>
+            <UL>
+                <LI TYPE="circle">
+                    <A HREF="Back.html">
+                <B>Back</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Button.html">
+                <B>Button</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="DeleteFeature.html">
+                <B>DeleteFeature</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="DragPan.html">
+                <B>DragPan</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="EditButtonBase.html">
+                <B>EditButtonBase</B></A></LI>
+            <UL>
+                <LI TYPE="circle">
+                    <A HREF="EditLine.html">
+                <B>EditLine</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="EditPoint.html">
+                <B>EditPoint</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="EditPolygon.html">
+                <B>EditPolygon</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Measurement.html">
+                <B>Measurement</B></A></LI>
+            </UL>
+                <LI TYPE="circle">
+                    <A HREF="Forward.html">
+                <B>Forward</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="GetFeatureInfo.html">
+                <B>GetFeatureInfo</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="GetFeatureInfoWSR.html">
+                <B>GetFeatureInfoWSR</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Graticule.html">
+                <B>Graticule</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="InsertFeature.html">
+                <B>InsertFeature</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Reset.html">
+                <B>Reset</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Save.html">
+                <B>Save</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="SetAoi.html">
+                <B>SetAoi</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="WfsGetFeature.html">
+                <B>WfsGetFeature</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="ZoomIn.html">
+                <B>ZoomIn</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="ZoomOut.html">
+                <B>ZoomOut</B></A></LI>
+            </UL>
+                <LI TYPE="circle">
+                    <A HREF="GmlRendererBase.html">
+                <B>GmlRendererBase</B></A></LI>
+            <UL>
+                <LI TYPE="circle">
+                    <A HREF="GmlRendererConfig.html">
+                <B>GmlRendererConfig</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="GmlRendererOL.html">
+                <B>GmlRendererOL</B></A></LI>
+            </UL>
+                <LI TYPE="circle">
+                    <A HREF="Loading.html">
+                <B>Loading</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Loading2.html">
+                <B>Loading2</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="MapPaneOL.html">
+                <B>MapPaneOL</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="MapScaleBar.html">
+                <B>MapScaleBar</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="OverviewMap.html">
+                <B>OverviewMap</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="PanZoomBar.html">
+                <B>PanZoomBar</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="WidgetBaseXSL.html">
+                <B>WidgetBaseXSL</B></A></LI>
+            <UL>
+                <LI TYPE="circle">
+                    <A HREF="Abstract.html">
+                <B>Abstract</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="AoiForm.html">
+                <B>AoiForm</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="CollectionList.html">
+                <B>CollectionList</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="CursorTrack.html">
+                <B>CursorTrack</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="EventLog.html">
+                <B>EventLog</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="FeatureInfo.html">
+                <B>FeatureInfo</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="FeatureList.html">
+                <B>FeatureList</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="FilterAttributes.html">
+                <B>FilterAttributes</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="FormBase.html">
+                <B>FormBase</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="LayerControl.html">
+                <B>LayerControl</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Legend.html">
+                <B>Legend</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="LegendGraphic.html">
+                <B>LegendGraphic</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Locations.html">
+                <B>Locations</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="MapScaleText.html">
+                <B>MapScaleText</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="MapTitle.html">
+                <B>MapTitle</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="ModelStatus.html">
+                <B>ModelStatus</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="ModelUrlInput.html">
+                <B>ModelUrlInput</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="OpenLSForm.html">
+                <B>OpenLSForm</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="OpenLSResponse.html">
+                <B>OpenLSResponse</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="OWSCatSearchForm.html">
+                <B>OWSCatSearchForm</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="SelectAllMapLayers.html">
+                <B>SelectAllMapLayers</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="SelectFeatureType.html">
+                <B>SelectFeatureType</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="SelectFromAtomFeed.html">
+                <B>SelectFromAtomFeed</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="SelectMapLayers.html">
+                <B>SelectMapLayers</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="SelectTimeFrame.html">
+                <B>SelectTimeFrame</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="ServiceRegistryList.html">
+                <B>ServiceRegistryList</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="ShowDistance.html">
+                <B>ShowDistance</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="TabbedContent.html">
+                <B>TabbedContent</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Timestamp.html">
+                <B>Timestamp</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="TipWidgetBase.html">
+                <B>TipWidgetBase</B></A></LI>
+            <UL>
+                <LI TYPE="circle">
+                    <A HREF="TipWidgetConfig.html">
+                <B>TipWidgetConfig</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="TipWidgetOL.html">
+                <B>TipWidgetOL</B></A></LI>
+            </UL>
+                <LI TYPE="circle">
+                    <A HREF="TransactionResponse.html">
+                <B>TransactionResponse</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Version.html">
+                <B>Version</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="WebServiceForm.html">
+                <B>WebServiceForm</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="Widget.html">
+                <B>Widget</B></A></LI>
+            </UL></UL>
+                <LI TYPE="circle">
+                    <A HREF="XMLHttpRequest.html">
+                <B>XMLHttpRequest</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="XMLSerializer.html">
+                <B>XMLSerializer</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="XslProcessor.html">
+                <B>XslProcessor</B></A></LI>
+            
+                <LI TYPE="circle">
+                    <A HREF="XSLTProcessor.html">
+                <B>XSLTProcessor</B></A></LI>
+            </UL></UL>
+
+
+
+<HR>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+
+<A NAME="navbar_top"><!-- --></A>
+
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+
+<TR>
+
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+
+<A NAME="navbar_top_firstrow"><!-- --></A>
+
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+
+  <TR ALIGN="center" VALIGN="top">
+
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"><A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><b>Overview</b></A></FONT>&nbsp;</TD>
+
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
+
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1Rev">  &nbsp;<FONT CLASS="NavBarFont1Rev"><b>Tree</b></FONT>&nbsp;</TD>
+
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><b>Index</b></FONT></A>&nbsp;</TD>
+
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><b>Help</b></FONT></A>&nbsp;</TD>
+
+  </TR>
+
+</TABLE>
+
+</TD>
+
+<TD BGCOLOR="#FFFFFF" ALIGN="right" VALIGN="top"><EM>
+
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B></EM>
+
+</TD>
+
+</TR>
+
+
+
+<TR>
+
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+
+&nbsp;PREV&nbsp;
+
+&nbsp;NEXT</FONT></TD>
+
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+
+&nbsp;<A HREF="overview-summary.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+&nbsp;&nbsp;
+
+<SCRIPT>
+
+  <!--
+
+  if(window==top) {
+
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+
+  }
+
+  //-->
+
+</SCRIPT>
+
+<NOSCRIPT>
+
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+
+</NOSCRIPT>
+
+</FONT></TD>
+
+</TR>
+
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+
+
+<hr>
+
+<FONT SIZE="-1">
+
+
+
+</FONT>
+
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" parent="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+
+</BODY>
+
+</HTML>
+
Index: lib/spatial/mapbuilder/docs/jsdoc/WpsDescribeProcess.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/WpsDescribeProcess.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/WpsDescribeProcess.html	(revision 4307)
@@ -0,0 +1,592 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+WpsDescribeProcess
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="WpsDescribeProcess";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-WpsDescribeProcess.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="WpsCapabilities.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="XMLHttpRequest.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="WpsDescribeProcess.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class WpsDescribeProcess</H2>
+<PRE>Object
+   |
+   +--<a href='Listener.html'>Listener</a>
+         |
+         +--<a href='ModelBase.html'>ModelBase</a>
+               |
+               +--<b>WpsDescribeProcess</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>WpsDescribeProcess</B>
+   
+      <DT>extends <a href='ModelBase.html'>ModelBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-WpsDescribeProcess.js.html'>WpsDescribeProcess.js</a></I><BR/><BR/><B>Author:</B> Mike Adair  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#namespace">namespace</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ModelBase.html">ModelBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ModelBase.html#async">async</a>, <a href="ModelBase.html#contentType">contentType</a>, <a href="ModelBase.html#modelNode">modelNode</a>, <a href="ModelBase.html#id">id</a>, <a href="ModelBase.html#title">title</a>, <a href="ModelBase.html#debug">debug</a>, <a href="ModelBase.html#url">url</a>, <a href="ModelBase.html#method">method</a>, <a href="ModelBase.html#namespace">namespace</a>, <a href="ModelBase.html#template">template</a>, <a href="ModelBase.html#nodeSelectXpath">nodeSelectXpath</a>, <a href="ModelBase.html#config">config</a>, <a href="ModelBase.html#parentModel">parentModel</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="Listener.html">Listener</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="Listener.html#listeners">listeners</a>, <a href="Listener.html#values">values</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="WpsDescribeProcess.html#WpsDescribeProcess()">WpsDescribeProcess</A> 
+	 </B>
+	 (modelNode, parent)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Stores a Web Processing service (WPS) Capabilities document as defined by the 
+ Open Geospatial Consortium (http://www.opengeospatial.org/).
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeatureNode">getFeatureNode</A></B>(featureName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the featureType node with the specified name from the list of nodes
+ selected by the nodeSelectXpath from the capabilities doc.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getMethod">getMethod</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get HTTP method used to retreive this model
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getServerUrl">getServerUrl</A></B>(requestName, method, feature)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the serverUrl for the WFS request passed in with the specified
+ HTTP method from the capabilities doc.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getVersion">getVersion</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the version for the wps
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ModelBase.html">ModelBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ModelBase.html#getProperty">getProperty</a>, <a href="ModelBase.html#getXpathValue">getXpathValue</a>, <a href="ModelBase.html#setXpathValue">setXpathValue</a>, <a href="ModelBase.html#loadModelDoc">loadModelDoc</a>, <a href="ModelBase.html#setModel">setModel</a>, <a href="ModelBase.html#finishLoading">finishLoading</a>, <a href="ModelBase.html#newRequest">newRequest</a>, <a href="ModelBase.html#deleteTemplates">deleteTemplates</a>, <a href="ModelBase.html#saveModel">saveModel</a>, <a href="ModelBase.html#createObject">createObject</a>, <a href="ModelBase.html#loadObjects">loadObjects</a>, <a href="ModelBase.html#parseConfig">parseConfig</a>, <a href="ModelBase.html#refresh">refresh</a>, <a href="ModelBase.html#init">init</a>, <a href="ModelBase.html#clearModel">clearModel</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="Listener.html">Listener</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="Listener.html#addListener">addListener</a>, <a href="Listener.html#addFirstListener">addFirstListener</a>, <a href="Listener.html#removeListener">removeListener</a>, <a href="Listener.html#callListeners">callListeners</a>, <a href="Listener.html#setParam">setParam</a>, <a href="Listener.html#getParam">getParam</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="namespace"><!-- --></A>
+   <H3>namespace</H3>
+   <PRE>Object&nbsp;<B>namespace</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="WpsDescribeProcess()"><!-- --></A><H3>
+WpsDescribeProcess</H3>
+<PRE><B>WpsDescribeProcess</B>(modelNode, parent)</PRE>
+
+
+<UL>
+   Stores a Web Processing service (WPS) Capabilities document as defined by the 
+ Open Geospatial Consortium (http://www.opengeospatial.org/).
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>modelNode</CODE> -    The model's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>parent</CODE> -  The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Mike Adair  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="getFeatureNode"><!-- --></A>
+   <H3>getFeatureNode</H3>
+   <PRE>Object <B>getFeatureNode</B>(featureName)</PRE>
+   
+      <UL>Returns the featureType node with the specified name from the list of nodes
+ selected by the nodeSelectXpath from the capabilities doc.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureName</CODE> -  name of the featureType to look up  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the featureType node with the specified name. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getMethod"><!-- --></A>
+   <H3>getMethod</H3>
+   <PRE>Object <B>getMethod</B>()</PRE>
+   
+      <UL>Get HTTP method used to retreive this model</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the HTTP method 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getServerUrl"><!-- --></A>
+   <H3>getServerUrl</H3>
+   <PRE>Object <B>getServerUrl</B>(requestName, method, feature)</PRE>
+   
+      <UL>Returns the serverUrl for the WFS request passed in with the specified
+ HTTP method from the capabilities doc.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>requestName</CODE> -  the WFS request to get the URL for  
+      </UL> 
+   
+     <UL><CODE>method</CODE> -  http method for the request  
+      </UL> 
+   
+     <UL><CODE>feature</CODE> -  ignored for WFS docs  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        URL for the specified request with the specified method 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getVersion"><!-- --></A>
+   <H3>getVersion</H3>
+   <PRE>Object <B>getVersion</B>()</PRE>
+   
+      <UL>Returns the version for the wps</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the wps version 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-WpsDescribeProcess.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="WpsCapabilities.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="XMLHttpRequest.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="WpsDescribeProcess.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Forward.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Forward.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Forward.js.html	(revision 4307)
@@ -0,0 +1,220 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Forward.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Forward.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Forward.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Forward.html">Forward</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Steven Ottens AT geodan.nl
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Forward.js 3587 2007-11-12 12:24:58Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/ButtonBase.js"</span>);
+
+<span class="comment">/**
+ * When this button is pressed the map will reload with it's original extent
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ButtonBase
+ * <span class="attrib">@author</span> Steven Ottens AT Geodan.nl
+ * <span class="attrib">@param</span> widgetNode      The widget node from the Config XML file.
+ * <span class="attrib">@param</span> model  The model for this widget
+ */</span>
+<span class="reserved">function</span> Forward(widgetNode, model) {
+  
+   ButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+  <span class="comment">/**
+   * Interactive ZoomOut control.
+   * <span class="attrib">@param</span> objRef reference to this object.
+   * <span class="attrib">@return</span> {OpenLayers.Control} instance of the OL control.
+   */</span>
+  <span class="reserved">this</span>.createControl = <span class="reserved">function</span>(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      type: OpenLayers.Control.TYPE_BUTTON,
+      
+      trigger: <span class="reserved">function</span>() {
+              var objRef = <span class="reserved">this</span>.objRef;
+              objRef.targetModel.setParam(<span class="literal">"historyForward"</span>);
+              var nextExtent = objRef.targetModel.nextExtent;
+              <span class="reserved">if</span>(nextExtent){
+                objRef.targetModel.setParam(<span class="literal">"historyStop"</span>);
+                <span class="reserved">this</span>.map.setCenter(nextExtent.center);
+                <span class="reserved">this</span>.map.zoomToScale(nextExtent.scale);
+                objRef.targetModel.setParam(<span class="literal">"historyStart"</span>);
+              }
+      },
+
+      CLASS_NAME: <span class="literal">'mbControl.Forward'</span>
+    });
+    <span class="reserved">return</span> Control;
+  }
+}
+
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-SelectTimeFrame.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-SelectTimeFrame.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-SelectTimeFrame.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ SelectTimeFrame.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" SelectTimeFrame.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-SelectTimeFrame.js.html" 
+                                        target="classFrame">SelectTimeFrame.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="SelectTimeFrame.html" TARGET="classFrame">SelectTimeFrame</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Version.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Version.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Version.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Version.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Version.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Version.js.html" 
+                                        target="classFrame">Version.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Version.html" TARGET="classFrame">Version</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ButtonBase.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ButtonBase.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ButtonBase.js.html	(revision 4307)
@@ -0,0 +1,489 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="ButtonBase.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>ButtonBase.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'ButtonBase.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="ButtonBase.html">ButtonBase</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: ButtonBase.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/util/Util.js"</span>);
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBase.js"</span>);
+
+<span class="comment">/**
+ * Abstract base button object that all Buttons extend.  
+ * A Button is a widget which renders an image and an optional second image 
+ * for the enabled state.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBase
+ * <span class="attrib">@author</span> Mike Adair mike.adairATccrs.nrcan.gc.ca
+ * <span class="attrib">@param</span> widgetNode The tool node from the Config XML file.
+ * <span class="attrib">@param</span> model The parent model object (optional).
+ */</span>
+<span class="reserved">function</span> ButtonBase(widgetNode, model) {
+  WidgetBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+  <span class="reserved">this</span>.htmlTagId = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:buttonBar"</span>);
+  <span class="reserved">if</span> (!<span class="reserved">this</span>.htmlTagId) {
+    <span class="reserved">this</span>.htmlTagId = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:htmlTagId"</span>);
+  }    
+  <span class="reserved">if</span> (!<span class="reserved">this</span>.htmlTagId) {
+    alert(mbGetMessage(<span class="literal">"buttonBarRequired"</span>, widgetNode.nodeName));
+  }
+<span class="comment">  // Set button text values as parameters</span>
+  <span class="reserved">if</span> (config.widgetText) {
+    var textNodeXpath = <span class="literal">"/mb:WidgetText/mb:widgets/mb:"</span> + widgetNode.nodeName;
+    var textParams = config.widgetText.selectNodes(textNodeXpath+<span class="literal">"/*"</span>);
+    <span class="reserved">for</span> (var j=0;j&lt;textParams.length;j++) {
+      <span class="reserved">this</span>[textParams[j].nodeName]=getNodeValue(textParams[j]);
+    }
+  }
+<span class="comment">  // html tag id of the div where OL places its panel code</span>
+  <span class="reserved">this</span>.panelHtmlTagId = <span class="reserved">this</span>.htmlTagId+<span class="literal">'_panel'</span>;
+<span class="comment">
+  // load controlPanel.css for button base styles</span>
+  loadCss(<span class="literal">'controlPanel.css'</span>);
+<span class="comment">
+  //set the button type</span>
+  <span class="reserved">this</span>.buttonType = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:class"</span>)
+  <span class="reserved">this</span>.buttonType = <span class="reserved">this</span>.buttonType ? <span class="reserved">this</span>.buttonType.toUpperCase() : null;
+  <span class="reserved">if</span> (<span class="reserved">this</span>.buttonType == <span class="literal">"RADIOBUTTON"</span>) <span class="reserved">this</span>.enabled = false;
+<span class="comment">  
+  // map between MB and OL button types</span>
+  <span class="reserved">this</span>.olButtonType = {
+      <span class="literal">"RADIOBUTTON"</span> : OpenLayers.Control.TYPE_TOOL,
+      <span class="literal">"TOOL"</span>        : OpenLayers.Control.TYPE_TOOL,
+      <span class="literal">"BUTTON"</span>      : OpenLayers.Control.TYPE_BUTTON,
+      <span class="literal">"TOGGLE"</span>      : OpenLayers.Control.TYPE_TOGGLE
+  }
+<span class="comment">
+  //set the button action</span>
+  <span class="reserved">this</span>.action = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:action"</span>);
+<span class="comment">  
+  // set the button tooltip</span>
+  var tooltip = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:tooltip"</span>);
+  <span class="reserved">if</span> (tooltip) {
+    <span class="reserved">this</span>.tooltip = tooltip;
+  }
+<span class="comment">
+  //pre-load the button bar images; add them to the config</span>
+  var disabledImage = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:disabledSrc"</span>);
+  <span class="reserved">if</span> (disabledImage) {
+    <span class="reserved">this</span>.disabledImage = config.skinDir + disabledImage;
+  }
+<span class="comment">
+  //optional second image to be displayed in the enabled state</span>
+  var enabledImage = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:enabledSrc"</span>);
+  <span class="reserved">if</span> (enabledImage) {
+    <span class="reserved">this</span>.enabledImage = config.skinDir + enabledImage;
+  }
+
+  <span class="reserved">this</span>.cursor = <span class="literal">'default'</span>;
+<span class="comment">
+  // Check for cursor override</span>
+  <span class="reserved">this</span>.cursor = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:cursor"</span>);
+<span class="comment">
+  //a button may be set as selected in the config file</span>
+  <span class="reserved">this</span>.selected = Mapbuilder.parseBoolean(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:selected"</span>, false));
+
+  <span class="comment">/**
+   * Gets the css classname for this button. We use this
+   * to define the button styles.
+   * <span class="attrib">@param</span> objRef Reference to this object.
+   * <span class="attrib">@param</span> state 'Active' or 'Inactive' (case sensitive!)
+   */</span>
+  <span class="reserved">this</span>.getButtonClass = <span class="reserved">function</span>(objRef, state) {
+    var cssName;
+    <span class="reserved">if</span> (objRef.control.displayClass) {
+      cssName = objRef.control.displayClass;
+    } <span class="reserved">else</span> {
+      cssName = objRef.control.CLASS_NAME;
+      cssName = cssName.replace(/OpenLayers/, <span class="literal">'ol'</span>).replace(/\./g, <span class="literal">''</span>);
+    }
+    cssName += <span class="literal">'Item'</span>;
+    <span class="reserved">return</span> <span class="literal">'.'</span> + cssName + state;
+  }
+
+  <span class="comment">/**
+   * OpenLayers control for this button.
+   * This will be filled with the instance of the control
+   * by the attachToOL method.
+   */</span>
+  <span class="reserved">this</span>.control = null;
+<span class="comment">
+  //TBD This is never called, but I think we can drop it</span>
+<span class="comment">  // if we get rid of MB mouse handlers</span>
+  <span class="comment">/**
+   * Override this in buttons which inherit from this object to carry out the action.
+   * This is the function that will be called either when the button is selected
+   * via the select() method or on a mouseup event if there is an associated 
+   * mouseHandler property in config.
+   */</span>
+  <span class="reserved">this</span>.doAction = <span class="reserved">function</span>() {}
+
+  <span class="comment">/**
+   * Select this button. Enables and disables associated tools,
+   * then the control.trigger()/activate() methods make OL call
+   * the doSelect method defined in derived classes.
+   */</span>
+  <span class="reserved">this</span>.select = <span class="reserved">function</span>() {
+    <span class="reserved">if</span> (<span class="reserved">this</span>.control.type == OpenLayers.Control.TYPE_BUTTON) {
+      <span class="reserved">this</span>.control.trigger();
+    } <span class="reserved">else</span> {
+      <span class="reserved">this</span>.panel.activateControl(<span class="reserved">this</span>.control);
+    }
+  }
+
+  <span class="comment">/**
+   * Method overriden by subclasses
+   * <span class="attrib">@param</span> objRef Reference to this object.
+   * <span class="attrib">@param</span> selected True when selected, false when deselected.
+   */</span>
+  <span class="reserved">this</span>.doSelect = <span class="reserved">function</span>(objRef, selected) {
+  }
+  
+  <span class="comment">/**
+   * Attaches the control for this button to OpenLayers
+   * and add it to the buttonBar. When this method is called,
+   * everything of the OL map is available.
+   * <span class="attrib">@param</span> {OpenLayers.Control} control to add.
+   * <span class="attrib">@param</span> objRef Reference to this object.
+   */</span>
+  <span class="reserved">this</span>.attachToOL = <span class="reserved">function</span>(objRef,refreshId) {
+    <span class="reserved">if</span> (objRef.control) {
+      <span class="reserved">return</span>;
+    }
+<span class="comment">  
+    //pass in a widget ID to refresh only that widget</span>
+    <span class="reserved">if</span> (refreshId &amp;&amp; (refreshId!=objRef.id)) <span class="reserved">return</span>;
+<span class="comment">    
+    // nothing to do here if subclass does not have a</span>
+<span class="comment">    // createControl method</span>
+    <span class="reserved">if</span> (!objRef.createControl) <span class="reserved">return</span>;
+<span class="comment">
+    // override the control from the subclass to add</span>
+<span class="comment">    // MB-stuff to the activate and deactivate methods</span>
+    var SubclassControl = objRef.createControl(objRef);
+    var type = objRef.olButtonType[objRef.buttonType] ||
+        SubclassControl.<span class="reserved">prototype</span>.type;
+        
+    var Control = OpenLayers.Class( SubclassControl, {
+      objRef: objRef,
+      type: type,
+      superclass: SubclassControl.<span class="reserved">prototype</span>,
+<span class="comment">      // call objRef.doSelect after OL activate from this control</span>
+      trigger: <span class="reserved">function</span>() {
+        <span class="reserved">if</span>(<span class="reserved">this</span>.superclass.trigger) {
+          <span class="reserved">this</span>.superclass.trigger.call(<span class="reserved">this</span>);
+        }
+        objRef.doSelect(objRef, true);
+      },
+      activate: <span class="reserved">function</span>() {
+        <span class="reserved">if</span> (<span class="reserved">this</span>.superclass.activate.call(<span class="reserved">this</span>)) {
+          <span class="reserved">this</span>.panel_div.style.backgroundImage = <span class="literal">"url(\"</span><span class="literal">"+objRef.enabledImage+"</span>\<span class="literal">")"</span>;
+      	  <span class="reserved">this</span>.map.div.style.cursor = objRef.cursor;
+<span class="comment">      	  // store the cursor with the map object; this will be applied</span>
+<span class="comment">      	  // to the map div again when setting the aoi on the</span>
+<span class="comment">      	  // OpenLayers moveend event</span>
+      	  <span class="reserved">this</span>.map.mbCursor = objRef.cursor;
+          objRef.enabled = true;
+          <span class="reserved">this</span>.active = true;
+          objRef.doSelect(objRef, true);
+        }
+      },
+<span class="comment">      // call objRef.doSelect after OL deactivate from this control</span>
+      deactivate: <span class="reserved">function</span>() {
+        <span class="reserved">if</span> (<span class="reserved">this</span>.superclass.deactivate.call(<span class="reserved">this</span>)) {
+          <span class="reserved">this</span>.panel_div.style.backgroundImage = <span class="literal">"url(\"</span><span class="literal">"+objRef.disabledImage+"</span>\<span class="literal">")"</span>;
+          objRef.enabled = false;
+          <span class="reserved">this</span>.active = false;
+          <span class="reserved">if</span> (map.getControlsBy(<span class="literal">"active"</span>, true).length == 0) {
+            <span class="reserved">this</span>.map.div.style.cursor = <span class="literal">""</span>;
+            <span class="reserved">this</span>.map.mbCursor = <span class="literal">""</span>;
+          }
+          objRef.doSelect(objRef, false)
+        }
+      },
+      destroy: <span class="reserved">function</span>() {
+        try {
+          <span class="reserved">this</span>.superclass.destroy.apply(<span class="reserved">this</span>, arguments);
+        } catch(e) {
+          OpenLayers.Control.<span class="reserved">prototype</span>.destroy.apply(<span class="reserved">this</span>, arguments);
+        }
+        <span class="reserved">this</span>.superclass = null;
+        OpenLayers.Event.stopObservingElement(<span class="reserved">this</span>.panel_div);
+        <span class="reserved">this</span>.objRef.panel.div.removeChild(<span class="reserved">this</span>.panel_div);
+        <span class="reserved">this</span>.objRef.control = null;
+        <span class="reserved">this</span>.objRef = null;
+        <span class="reserved">this</span>.panel_div = null;
+        <span class="reserved">this</span>.div = null;
+      }
+    });
+<span class="comment">
+    // if the subclass provides an instantiateControl() method,</span>
+<span class="comment">    // use it for instantiation. If not, instantiate directly</span>
+    <span class="reserved">if</span> (!objRef.control) {
+      objRef.control = objRef.instantiateControl ? objRef.instantiateControl(objRef, Control) : new Control();
+    }
+<span class="comment">    
+    // get the control from the createControl method of the subclass</span>
+<span class="comment">    //objRef.control = objRef.createControl(objRef);</span>
+    var map = objRef.targetContext.map;
+    objRef.panel = objRef.targetContext.buttonBars[objRef.htmlTagId];
+<span class="comment">    // create a panel, if we do not have one yet for this buttonBar</span>
+<span class="comment">    // or if the old map.panel was destroyed</span>
+    <span class="reserved">if</span> (!objRef.panel || objRef.panel.map == null) {
+<span class="comment">      // create a dom node for OL to use as panel</span>
+      <span class="reserved">if</span> (!document.getElementById(objRef.panelHtmlTagId)) {
+        var olPanelNode = document.createElement(<span class="literal">'div'</span>);
+        olPanelNode.setAttribute(<span class="literal">'id'</span>, objRef.panelHtmlTagId);
+        olPanelNode.setAttribute(<span class="literal">'class'</span>, <span class="literal">'olControlPanel'</span>);
+        var parentNode = objRef.getNode();
+        parentNode.appendChild(olPanelNode);
+        parentNode.innerHTML += <span class="literal">" "</span>;
+      }
+      var Panel = OpenLayers.Class( OpenLayers.Control.Panel, {
+        div: document.getElementById(objRef.panelHtmlTagId),
+        defaultControl: null,
+        destroy: <span class="reserved">function</span>() {
+          parentNode.removeChild(<span class="reserved">this</span>.div);
+          OpenLayers.Control.<span class="reserved">prototype</span>.destroy.apply(<span class="reserved">this</span>, arguments);
+          <span class="reserved">this</span>.div = null;
+          objRef.panel = null;
+        }
+      });
+      objRef.panel = new Panel();
+      objRef.targetContext.buttonBars[objRef.htmlTagId] = objRef.panel;
+      map.addControl(objRef.panel);
+    }
+<span class="comment">    
+    // add the control to the panel</span>
+    <span class="reserved">if</span> (OpenLayers.Util.indexOf(objRef.control, objRef.panel.controls) == -1) {
+<span class="comment">      // we do not want to stop event propagation. So we save the original</span>
+<span class="comment">      // Event.stop function...</span>
+      var originalStop = OpenLayers.Event.stop;
+<span class="comment">      // and overwrite it with a new one...</span>
+      OpenLayers.Event.stop = <span class="reserved">function</span>(){};
+<span class="comment">      // now, thanks to boxing, this one will be assigned in addControls...</span>
+      objRef.panel.addControls(objRef.control);
+<span class="comment">      // and we can switch back to the original one.</span>
+      OpenLayers.Event.stop = originalStop;
+    }
+<span class="comment">     
+    // set tooltip for the button</span>
+    <span class="reserved">if</span> (objRef.tooltip) {
+      objRef.control.panel_div.title=objRef.tooltip;
+    }
+<span class="comment">    
+    //set default css style properties</span>
+    objRef.control.panel_div.style.backgroundImage = <span class="literal">"url(\"</span><span class="literal">"+objRef.disabledImage+"</span>\<span class="literal">")"</span>;
+<span class="comment">          
+    // activate the control if it is defined as selected in config</span>
+    <span class="reserved">if</span>(objRef.selected == true) {
+      objRef.control.activate();      
+    }    
+  }
+
+  <span class="comment">/**
+   * Set the target context for the button, initialise the
+   * buttonBars array in the context document and add a
+   * listener to the target model for adding controls
+   * to the OL map as soon as the map is initialized.
+   * <span class="attrib">@param</span> objRef Reference to this object.
+   */</span>  
+  <span class="reserved">this</span>.buttonInit = <span class="reserved">function</span>(objRef) {
+<span class="comment">     //set the target context</span>
+    var targetContext = objRef.widgetNode.selectSingleNode(<span class="literal">"mb:targetContext"</span>);
+    <span class="reserved">if</span> (targetContext) {
+      objRef.targetContext = window.config.objects[getNodeValue(targetContext)];
+      <span class="reserved">if</span> ( !objRef.targetModel ) {
+        alert(mbGetMessage(<span class="literal">"noTargetContext"</span>, getNodeValue(targetContext), objRef.id));
+      }
+    } <span class="reserved">else</span> {
+      objRef.targetContext = objRef.targetModel;
+    }
+<span class="comment">    
+    // initialize button bars for the context</span>
+    <span class="reserved">if</span> (!objRef.targetContext.buttonBars) {
+<span class="comment">      // this array in the context will hold all</span>
+<span class="comment">      // buttonBars used by button widgets</span>
+      objRef.targetContext.buttonBars = new Array();
+    }
+<span class="comment">    
+    // add another event listener for the loaded context,</span>
+<span class="comment">    // because we need the map to add panel and buttons,</span>
+<span class="comment">    // and we do not have tha map yet</span>
+    objRef.targetContext.addListener(<span class="literal">"refresh"</span>, objRef.attachToOL, objRef);
+  }
+
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"init"</span>,<span class="reserved">this</span>.buttonInit,<span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.removeListener(<span class="literal">"newNodel"</span>, <span class="reserved">this</span>.clearWidget, <span class="reserved">this</span>);
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-EditButtonBase.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-EditButtonBase.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-EditButtonBase.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ EditButtonBase.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" EditButtonBase.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-EditButtonBase.js.html" 
+                                        target="classFrame">EditButtonBase.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="EditButtonBase.html" TARGET="classFrame">EditButtonBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/GmlRendererBase.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/GmlRendererBase.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/GmlRendererBase.html	(revision 4307)
@@ -0,0 +1,441 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+GmlRendererBase
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="GmlRendererBase";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-GmlRendererBase.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="GLOBALS.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="GmlRendererConfig.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GmlRendererBase.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class GmlRendererBase</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<b>GmlRendererBase</b>
+</PRE>
+
+   <DL>
+   <DT>
+      <B>Direct Known Subclasses:</B> 
+      <DD>
+                <a href="GmlRendererConfig.html">GmlRendererConfig</a>, <a href="GmlRendererOL.html">GmlRendererOL</a>
+      </DD>
+   </DL>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>GmlRendererBase</B>
+   
+      <DT>extends <a href='WidgetBase.html'>WidgetBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-GmlRendererBase.js.html'>GmlRendererBase.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#config">config</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;config object holding all configurations that might be different
+ among source models (if a MergeModel with multiple GmlRendererConfig
+ widgets is used).</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#defaultStyleName">defaultStyleName</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sld node within the sld model that is used for default styling</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#featureSRS">featureSRS</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRS of the features that this widget will render</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#hoverCursorNode">hoverCursorNode</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;css cursor when hovering over features</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#selectStyleName">selectStyleName</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sld node within the sld model that is used when a feature is hovered</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#sldModelNode">sldModelNode</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;model holding the sld for feature styles of this widget</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="GmlRendererBase.html#GmlRendererBase()">GmlRendererBase</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Render GML into HTML.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="config"><!-- --></A>
+   <H3>config</H3>
+   <PRE>Object&nbsp;<B>config</B></PRE>
+   <UL>
+   config object holding all configurations that might be different
+ among source models (if a MergeModel with multiple GmlRendererConfig
+ widgets is used).
+   
+   </UL>
+   <HR>
+   
+   <A NAME="defaultStyleName"><!-- --></A>
+   <H3>defaultStyleName</H3>
+   <PRE>Object&nbsp;<B>defaultStyleName</B></PRE>
+   <UL>
+   sld node within the sld model that is used for default styling
+   
+   </UL>
+   <HR>
+   
+   <A NAME="featureSRS"><!-- --></A>
+   <H3>featureSRS</H3>
+   <PRE>Object&nbsp;<B>featureSRS</B></PRE>
+   <UL>
+   SRS of the features that this widget will render
+   
+   </UL>
+   <HR>
+   
+   <A NAME="hoverCursorNode"><!-- --></A>
+   <H3>hoverCursorNode</H3>
+   <PRE>Object&nbsp;<B>hoverCursorNode</B></PRE>
+   <UL>
+   css cursor when hovering over features
+   
+   </UL>
+   <HR>
+   
+   <A NAME="selectStyleName"><!-- --></A>
+   <H3>selectStyleName</H3>
+   <PRE>Object&nbsp;<B>selectStyleName</B></PRE>
+   <UL>
+   sld node within the sld model that is used when a feature is hovered
+   
+   </UL>
+   <HR>
+   
+   <A NAME="sldModelNode"><!-- --></A>
+   <H3>sldModelNode</H3>
+   <PRE>Object&nbsp;<B>sldModelNode</B></PRE>
+   <UL>
+   model holding the sld for feature styles of this widget
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="GmlRendererBase()"><!-- --></A><H3>
+GmlRendererBase</H3>
+<PRE><B>GmlRendererBase</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Render GML into HTML.
+ this.targetModel references the context model for the map
+ where the content of this widget should be rendered to.
+ If the model doc is not wfs compliant, a stylesheet
+ property has to be set for this widget. The xsl file
+ referenced in this property transforms the model doc to
+ a wfs FeatureCollection.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-GmlRendererBase.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="GLOBALS.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="GmlRendererConfig.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GmlRendererBase.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Transaction.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Transaction.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Transaction.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Transaction.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Transaction.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Transaction.js.html" 
+                                        target="classFrame">Transaction.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Transaction.html" TARGET="classFrame">Transaction</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/ZoomToAoi.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/ZoomToAoi.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/ZoomToAoi.html	(revision 4307)
@@ -0,0 +1,567 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ZoomToAoi
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="ZoomToAoi";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ZoomToAoi.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="ZoomOut.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<B>NEXT CLASS</B></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ZoomToAoi.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class ZoomToAoi</H2>
+<PRE>Object
+   |
+   +--<a href='ToolBase.html'>ToolBase</a>
+         |
+         +--<b>ZoomToAoi</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>ZoomToAoi</B>
+   
+      <DT>extends <a href='ToolBase.html'>ToolBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <B>Author:</B> Adair  <BR/><B>Deprecated</B> <I></I><BR/><BR/><I>Defined in <a href='overview-summary-ZoomToAoi.js.html'>ZoomToAoi.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ToolBase.html">ToolBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ToolBase.html#model">model</a>, <a href="ToolBase.html#toolNode">toolNode</a>, <a href="ToolBase.html#enabled">enabled</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="ZoomToAoi.html#ZoomToAoi()">ZoomToAoi</A> 
+	 </B>
+	 (toolNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Controller for the locator map widget.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#clear">clear</A></B>(tool)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#firstInit">firstInit</A></B>(tool)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#initProj">initProj</A></B>( toolRef )
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Target model loadModel change listener.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#mouseUpHandler">mouseUpHandler</A></B>(e)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Process a mouse up action.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setListeners">setListeners</A></B>( toolRef )
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#showTargetAoi">showTargetAoi</A></B>( tool )
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Target model bbox change listener.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ToolBase.html">ToolBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ToolBase.html#initTargetModel">initTargetModel</a>, <a href="ToolBase.html#initMouseHandler">initMouseHandler</a>, <a href="ToolBase.html#getProperty">getProperty</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="ZoomToAoi()"><!-- --></A><H3>
+ZoomToAoi</H3>
+<PRE><B>ZoomToAoi</B>(toolNode, model)</PRE>
+
+
+<UL>
+   Controller for the locator map widget.  
+ Specify the context that this widget follows by setting the targetModel 
+ property in config.
+ This will display the AOI of the target model using the AoiBox tool. 
+ This will also process mouse events (click and dragbox) to recenter the 
+ target model and includes coordinate projection transformations if required.
+ Checking for extent limits is not yet implemented.
+ 
+ WARNING: it is recommended to use the OverviewMap widget. However since the behavior
+ is slightly different from this widget, this one is still available.
+ See also MAP-300
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>toolNode</CODE> -       The tool node from the config document for this tool  
+     </UL>
+   
+     <UL><CODE>model</CODE> -   Reference to the widget object that creates this tool
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Adair  <BR/><B>Deprecated</B> <I></I><BR/><BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="clear"><!-- --></A>
+   <H3>clear</H3>
+   <PRE>void <B>clear</B>(tool)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="firstInit"><!-- --></A>
+   <H3>firstInit</H3>
+   <PRE>void <B>firstInit</B>(tool)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="initProj"><!-- --></A>
+   <H3>initProj</H3>
+   <PRE>void <B>initProj</B>( toolRef )</PRE>
+   
+      <UL>Target model loadModel change listener.  This resets the projection objects
+ if the target model changes.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>tool</CODE> -         Pointer to this ZoomToAoi object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="mouseUpHandler"><!-- --></A>
+   <H3>mouseUpHandler</H3>
+   <PRE>void <B>mouseUpHandler</B>(e)</PRE>
+   
+      <UL>Process a mouse up action.  This will recenter the target model's bbox
+ to be equal to this model's AOI.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  OpenLayers event    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setListeners"><!-- --></A>
+   <H3>setListeners</H3>
+   <PRE>void <B>setListeners</B>( toolRef )</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="showTargetAoi"><!-- --></A>
+   <H3>showTargetAoi</H3>
+   <PRE>void <B>showTargetAoi</B>( tool )</PRE>
+   
+      <UL>Target model bbox change listener.  This sets this model's AOI to be the
+ same as the target model bounding box.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>tool</CODE> -         Pointer to this ZoomToAoi object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ZoomToAoi.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="ZoomOut.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<B>NEXT CLASS</B></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ZoomToAoi.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Util.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Util.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Util.js.html	(revision 4307)
@@ -0,0 +1,1487 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Util.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Util.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Util.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="XslProcessor.html">XslProcessor</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+	<a name="method_summary"><!-- --></a>
+	<table border="1" cellpadding="3" cellspacing="0" width="100%">
+		<tr bgcolor="#CCCCFF" class="TableHeadingColor">
+			<td colspan=2>
+				<font size="+2">
+					<b>Method Summary</b>
+				</font>
+			</td>
+		</tr>
+	
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;void</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#addEvent">addEvent</a></b>(elementObject, eventName, functionObject)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 attach an event to an element.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;void</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#debug">debug</a></b>(output)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 write debugging info to a textbox onscreen.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#getAbsPos">getAbsPos</a></b>(elt,which)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 TBD: Comment me.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#getAbsX">getAbsX</a></b>(elt)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#getAbsY">getAbsY</a></b>(elt)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 get the absolute position of HTML element NS4, IE4/5 & NS6, even if it's in a table.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#getArgs">getArgs</a></b>()
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 parse comma-separated name=value argument pairs from the query string of the URL; the function stores name=value pairs in properties of an object and returns that object.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#getGeoCoordX">getGeoCoordX</a></b>(context, xCooord)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 convert screen x coordinate to geographic coordinate.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#getGeoCoordY">getGeoCoordY</a></b>(yCoord)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 convert screen coordinate to screen coordinate.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#getNodeValue">getNodeValue</a></b>(sResult)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 getNodevalue return value of node
+ it as OpenLayers style
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#getPageX">getPageX</a></b>(e)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 get the absolute position of a user event (e.g., a mousedown).
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#getPageY">getPageY</a></b>(e)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 get the absolute position of a user event (e.g., a mousedown).
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#getProxyPlusUrl">getProxyPlusUrl</a></b>(url)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 If URL is local, then return URL unchanged,
+ else return URL of http://proxy?url=URL , or null if proxy not defined.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#getScreenX">getScreenX</a></b>(context, xCoord)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 convert geographic x coordinate to screen coordinate.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#getScreenY">getScreenY</a></b>(context, yCoord)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 convert geographic y coordinate to screen coordinate.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;void</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#handleEventWithObject">handleEventWithObject</a></b>(evt)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 handle event attached to an object.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;void</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#loadCss">loadCss</a></b>(cssFileName)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 Dynamically loads a stylesheet into the html page.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#makeElt">makeElt</a></b>(type)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 create an element and append it to the document body element.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;void</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#mbDebugMessage">mbDebugMessage</a></b>(object, message)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 Show a message if the debug property of the object has been set.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#mbFormatMessage">mbFormatMessage</a></b>(messageFormat)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 Format a message with the extra arguments.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#mbGetMessage">mbGetMessage</a></b>(messageKey)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 Get a message from the <code>widgetText</code> file and format it if extra
+ arguments are passed.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#openPopup">openPopup</a></b>(url, width, height)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 open a popup window, adapted from http://www.quirksmode.org/js/croswin.html
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#postGetLoad">postGetLoad</a></b>(sUri, docToSend, contentType , dir, fileName)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 A more flexible interface for loading docs that allows POST et GET param for save model
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#postLoad">postLoad</a></b>(sUri, docToSend, contentType )
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 A more flexible interface for loading docs that allows POST and async loading
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#returnTarget">returnTarget</a></b>(evt)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 determine and return the target element of an event.
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#sld2OlStyle">sld2OlStyle</a></b>(node)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 extract a style from a SLD node of an XML doc and return
+ it as OpenLayers style
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#sld2UrlParam">sld2UrlParam</a></b>(node)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 extract a style from a SLD node of an XML doc and return
+ it as url parameter for a WMS request
+		      </td>
+		   </tr>
+		
+	
+	</table>
+    <p>
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+Dependancies: Sarissa
+
+$Id: Util.js 3961 2008-04-01 12:45:02Z ahocevar $
+*/</span>
+<span class="comment">
+// some basic browser detection</span>
+var MB_IS_MOZ = (document.implementation &amp;&amp; document.implementation.createDocument)?true:false;
+
+<span class="comment">/**
+Transform an XML document using the provided XSL and use the results to build
+a web page.
+<span class="attrib">@constructor</span>
+<span class="attrib">@param</span> xslUrl The URL of an XSL stylesheet.
+<span class="attrib">@author</span> Cameron Shorter - Cameron AT Shorter.net
+*/</span>
+<span class="reserved">function</span> XslProcessor(xslUrl,docNSUri) {
+<span class="comment">  // override Sarissa configurations to prefer MSXML3, because</span>
+<span class="comment">  // MSXML6 does not work well with IE6SP2</span>
+  <span class="reserved">if</span> (!MB_IS_MOZ) {
+    _SARISSA_DOM_PROGID = Sarissa.pickRecentProgID([<span class="literal">"Msxml2.DOMDocument.3.0"</span>, <span class="literal">"Msxml2.DOMDocument.6.0"</span>], [[<span class="literal">"SELECT_NODES"</span>, 2],[<span class="literal">"TRANSFORM_NODE"</span>, 2]]);
+    _SARISSA_XMLHTTP_PROGID = Sarissa.pickRecentProgID([<span class="literal">"Msxml2.XMLHTTP.3.0"</span>, <span class="literal">"MSXML2.XMLHTTP.6.0"</span>], [[<span class="literal">"XMLHTTP"</span>, 4]]);
+    _SARISSA_THREADEDDOM_PROGID = Sarissa.pickRecentProgID([<span class="literal">"Msxml2.FreeThreadedDOMDocument.3.0"</span>, <span class="literal">"MSXML2.FreeThreadedDOMDocument.6.0"</span>]);
+    _SARISSA_XSLTEMPLATE_PROGID = Sarissa.pickRecentProgID([<span class="literal">"Msxml2.XSLTemplate.3.0"</span>, <span class="literal">"MSXML2.XSLTemplate.6.0"</span>], [[<span class="literal">"XSLTPROC"</span>, 2]]);
+  }
+<span class="comment">  // get the stylesheet document</span>
+  <span class="reserved">this</span>.xslUrl=xslUrl;
+  <span class="reserved">this</span>.xslDom = Sarissa.getDomDocument();
+  <span class="reserved">this</span>.xslDom.async = false;
+<span class="comment">  // fix some issues in IE</span>
+  <span class="reserved">if</span> (!MB_IS_MOZ) {
+    try {
+<span class="comment">      // IE6 SP2 parsing bug</span>
+      <span class="reserved">this</span>.xslDom.validateOnParse=false;
+<span class="comment">      // Prevent "Access denied" with external documents</span>
+      <span class="reserved">this</span>.xslDom.setProperty(<span class="literal">"AllowDocumentFunction"</span>, true);
+      <span class="reserved">this</span>.xslDom.resolveExternals = true;
+    }
+    catch (e) {
+<span class="comment">      // do nothing here, we won't get far anyway.</span>
+    }
+  }
+  <span class="reserved">if</span>(typeof(inlineXSL)!=<span class="literal">"undefined"</span>) {
+    xmlString = inlineXSL[_1];
+    xmlString = xmlString.replace(/DOUBLE_QUOTE/g,<span class="literal">"\"</span><span class="literal">");
+    this.xslDom = (new DOMParser()).parseFromString(xmlString, "</span>text/xml<span class="literal">");
+  }
+  else {
+    if(_SARISSA_IS_SAFARI){
+        var xmlhttp = new XMLHttpRequest();
+        xmlhttp.open("</span>GET<span class="literal">", xslUrl, false);
+        xmlhttp.send(null);
+        this.xslDom = xmlhttp.responseXML;
+    }else
+    {
+      this.xslDom.load(xslUrl);
+    }
+  }
+  if ( Sarissa.getParseErrorText(this.xslDom) != Sarissa.PARSED_OK )
+    alert(mbGetMessage("</span>errorLoadingStylesheet<span class="literal">", xslUrl));
+
+  this.processor = new XSLTProcessor();
+  this.processor.importStylesheet(this.xslDom);
+  
+  this.docNSUri = docNSUri;
+
+  /**
+   * Transforms XML in the provided xml node according to this XSL.
+   * @param xmlNode The XML node to be transformed.
+   * @return The transformed String.
+   */
+  this.transformNodeToString = function(xmlNode) {
+    try {
+      // transform and build a web page with result
+      //MAP-427 Quick hack to transform an XMLElement to XMLDocument in IE
+     
+      if (_SARISSA_IS_IE){
+	      var str = (new XMLSerializer()).serializeToString(xmlNode);
+	      var xmlNode = (new DOMParser()).parseFromString(str, "</span>text/xml<span class="literal">");
+	  }
+      var newDoc = this.transformNodeToObject(xmlNode);
+      var s = (new XMLSerializer()).serializeToString(newDoc);
+      if(_SARISSA_IS_OPERA)
+      	s =  s.replace(/.*\?\&gt;/,"</span><span class="literal">");//hack for opera to delete &lt;?xml ... ?&gt;
+      return s;
+    } catch(e){
+      alert(mbGetMessage("</span>exceptionTransformingDoc<span class="literal">", this.xslUrl));
+      alert("</span>XSL=<span class="literal">"+(new XMLSerializer()).serializeToString(this.xslDom));
+      alert("</span>XML=<span class="literal">"+(new XMLSerializer()).serializeToString(xmlNode));
+    }
+  }
+
+  /**
+   * Transforms XML in the provided xml node according to this XSL.
+   * @param xmlNode The XML node to be transformed.
+   * @return a DOM document object
+   */
+  this.transformNodeToObject=function(xmlNode) {
+    if(_SARISSA_IS_SAFARI){
+      var oResult = new DOMParser().parseFromString("</span>&lt;xsltresult&gt;&lt;/xsltresult&gt;<span class="literal">", "</span>text/xml<span class="literal">");
+      var newFragment = this.processor.transformToFragment(xmlNode, oResult);
+      var str = (new XMLSerializer()).serializeToString(newFragment);
+      str.replace(/\s/g,"</span><span class="literal">");
+    }else{
+       var newFragment = this.processor.transformToDocument(xmlNode);
+    }
+    return newFragment;
+  }
+
+  /**
+   * Set XSL parameter.
+   */
+  this.setParameter=function(paramName, paramValue, nsUri) {
+    //if ( typeof paramValue == "</span>string<span class="literal">" || typeof paramValue == "</span>number<span class="literal">") paramValue="</span><span class="literal">'"+paramValue+"'</span><span class="literal">";
+    if (!paramValue) {
+      //alert("</span>null value <span class="reserved">for</span> stylesheet param:<span class="literal">"+paramName+"</span>:<span class="literal">"+paramValue);
+      return;
+    }
+    this.processor.setParameter( null, paramName, paramValue);
+  }
+}
+
+/**
+ * A more flexible interface for loading docs that allows POST and async loading
+ */
+function postLoad(sUri, docToSend, contentType ) {
+   var xmlHttp = new XMLHttpRequest();
+   if ( sUri.indexOf("</span>http://<span class="literal">")==0 || sUri.indexOf("</span>https://<span class="literal">")==0 ) {
+     xmlHttp.open("</span>POST<span class="literal">", config.proxyUrl, false);
+     xmlHttp.setRequestHeader("</span>serverUrl<span class="literal">",sUri);//escape(sUri).replace(/\+/g, '%2C').replace(/\"</span>/g,<span class="literal">'%22'</span>).replace(/\<span class="literal">'/g, '</span>%27<span class="literal">'));
+   } else {
+     xmlHttp.open("POST", sUri, false);
+   }
+   xmlHttp.setRequestHeader("content-type","text/xml");
+   if (contentType) xmlHttp.setRequestHeader("content-type",contentType);
+   //alert("sending:"+docToSend.xml);
+   xmlHttp.send( docToSend );
+/*
+   if (_SARISSA_IS_IE) {
+alert("before");
+    xmlHttp.status = xmlHttp.Status;
+alert("after");
+    xmlHttp.statusText = xmlHttp.StatusText;
+    xmlHttp.responseText = xmlHttp.ResponseText;
+   }
+*/
+   if (xmlHttp.status &gt;= 400) {   //http errors status start at 400
+      alert(mbGetMessage("errorLoadingDocument", sUri, xmlHttp.statusText, xmlHttp.responseText));
+      var outDoc = Sarissa.getDomDocument();
+      outDoc.parseError = -1;
+      return outDoc;
+   } else {
+     //alert(xmlHttp.getResponseHeader("Content-Type"));
+     if ( null==xmlHttp.responseXML ) alert(mbGetMessage("nullXmlResponse", xmlHttp.responseText));
+     return xmlHttp.responseXML;
+   }
+}
+
+
+/**
+ * A more flexible interface for loading docs that allows POST et GET param for save model
+ */
+
+function postGetLoad(sUri, docToSend, contentType , dir, fileName) {
+
+   var xmlHttp = new XMLHttpRequest();
+   var appendChar = sUri.indexOf("?") == -1 ? "?" : "&amp;";
+   if(dir &amp;&amp; fileName)
+       	sUri=sUri+appendChar+"dir="+dir+"&amp;fileName="+fileName;
+   else if(dir)
+   		sUri=sUri+appendChar+"dir="+dir;
+   else if(fileName)
+   		sUri=sUri+appendChar+"fileName="+fileName;
+   		
+   if ( sUri.indexOf("http://")==0 || sUri.indexOf("https://")==0 )
+   {
+       xmlHttp.open("POST", config.proxyUrl, false);       
+       xmlHttp.setRequestHeader("serverUrl",sUri);
+   }
+   else
+   {
+       xmlHttp.open("POST", sUri, false);
+   }
+   xmlHttp.setRequestHeader("content-type","text/xml");
+   if (contentType) xmlHttp.setRequestHeader("content-type",contentType);
+   xmlHttp.send( docToSend );
+
+   if (xmlHttp.status &gt;= 400)
+   {   //http errors status start at 400
+        alert(mbGetMessage("errorLoadingDocument", sUri, xmlHttp.statusText, xmlHttp.responseText));
+        var outDoc = Sarissa.getDomDocument();
+        outDoc.parseError = -1;
+        return outDoc;
+   }
+   else
+   {
+       if ( null==xmlHttp.responseXML ) alert(mbGetMessage("nullXmlResponse", xmlHttp.responseText));
+       return xmlHttp.responseXML;
+   }
+}
+
+
+
+  /**
+   * If URL is local, then return URL unchanged,
+   * else return URL of http://proxy?url=URL , or null if proxy not defined.
+   * @param url Url of the file to access.
+   * @return Url of the proxy and service in the form http://host/proxy?url=service
+   */
+function getProxyPlusUrl(url) {
+  if ( url.indexOf("http://")==0 || url.indexOf("https://")==0 ) {
+    if ( config.proxyUrl ) {
+      url=config.proxyUrl+"?url="+escape(url).replace(/\+/g, '</span>%2C<span class="literal">').replace(/\"/g,'</span>%22<span class="literal">').replace(/\'</span>/g, <span class="literal">'%27'</span>);
+    } <span class="reserved">else</span> {
+      alert(mbGetMessage(<span class="literal">"unableToLoadDoc"</span>, url));
+      url=null;
+    }
+  }
+  <span class="reserved">return</span> url;
+}
+
+  <span class="comment">/**
+   * Browser independant version of createElementNS()
+   * <span class="attrib">@param</span> doc the owner document for the new element
+   * <span class="attrib">@param</span> name for the new element
+   * <span class="attrib">@param</span> ns the URL for the namespace (without a prefix)
+   * <span class="attrib">@return</span> element in the document with the specified namespace
+   */</span>
+<span class="reserved">function</span> createElementWithNS(doc,name,nsUri) {
+  <span class="reserved">if</span> (_SARISSA_IS_IE) {
+    <span class="reserved">return</span> doc.createNode(1, name, nsUri);
+  } <span class="reserved">else</span> {
+    <span class="reserved">return</span> doc.createElementNS(nsUri,name);
+  }
+}
+
+<span class="comment">/**
+ * Create a unique Id which can be used for classes to link themselves to HTML
+ * Ids.
+ * <span class="attrib">@constructor</span>
+ */</span>
+<span class="reserved">function</span> UniqueId(){
+  <span class="reserved">this</span>.lastId=0;
+
+  <span class="comment">/** Return a numeric unique Id. */</span>
+  <span class="reserved">this</span>.getId=<span class="reserved">function</span>() {
+    <span class="reserved">this</span>.lastId++;
+    <span class="reserved">return</span> <span class="reserved">this</span>.lastId;
+  }
+}
+<span class="comment">//use this global object to generate a unique ID via the getId function</span>
+var mbIds = new UniqueId();
+
+<span class="reserved">function</span> setISODate(isoDateStr) {
+  var parts = isoDateStr.match(/(\d{4})-?(\d{2})?-?(\d{2})?T?(\d{2})?:?(\d{2})?:?(\d{2})?\.?(\d{0,3})?(Z)?/);
+  var res = null;
+  <span class="reserved">for</span> (var i=1;i&lt;parts.length;++i){
+    <span class="reserved">if</span> (!parts[i]) {
+      parts[i] = (i==3)?1:0; //months start with day number 1, not 0
+      <span class="reserved">if</span> (!res) res = i;
+    }
+  }
+  var isoDate = new Date();
+  isoDate.setFullYear(parseInt(parts[1],10));
+  isoDate.setMonth(parseInt(parts[2],10)-1,parseInt(parts[3],10));
+  isoDate.setDate(parseInt(parts[3],10));
+  isoDate.setHours(parseInt(parts[4],10));
+  isoDate.setMinutes(parseInt(parts[5],10));
+  isoDate.setSeconds(parseFloat(parts[6],10));
+  <span class="reserved">if</span> (!res) res = 6;
+  isoDate.res = res;
+  <span class="reserved">return</span> isoDate;
+}
+
+<span class="reserved">function</span> getISODate(isoDate) {
+  var res = isoDate.res?isoDate.res:6;
+  var dateStr = <span class="literal">""</span>;
+  dateStr += res&gt;=1?isoDate.getFullYear():<span class="literal">""</span>;
+  dateStr += res&gt;=2?<span class="literal">"-"</span>+leadingZeros(isoDate.getMonth()+1,2):<span class="literal">""</span>;
+  dateStr += res&gt;=3?<span class="literal">"-"</span>+leadingZeros(isoDate.getDate(),2):<span class="literal">""</span>;
+  dateStr += res&gt;=4?<span class="literal">"T"</span>+leadingZeros(isoDate.getHours(),2):<span class="literal">""</span>;
+  dateStr += res&gt;=5?<span class="literal">":"</span>+leadingZeros(isoDate.getMinutes(),2):<span class="literal">""</span>;
+  dateStr += res&gt;=6?<span class="literal">":"</span>+leadingZeros(isoDate.getSeconds(),2):<span class="literal">""</span>;
+  <span class="reserved">return</span> dateStr;
+}
+
+<span class="reserved">function</span> leadingZeros(num,digits) {
+  var intNum = parseInt(num,10);
+  var base = Math.pow(10,digits);
+  <span class="reserved">if</span> (intNum&lt;base) intNum += base;
+  <span class="reserved">return</span> intNum.toString().substr(1);
+}
+<span class="comment">
+
+// Correctly handle PNG transparency in Win IE 5.5 or higher.</span>
+<span class="comment">// this method should be set as an IMG onload handler for PNG map layers</span>
+<span class="comment">// thanks to Caroklyn Cole for this fix.  For an explanation see:</span>
+<span class="comment">// http://homepage.ntlworld.com/bobosola. Updated 02-March-2004</span>
+<span class="comment">// modified to the images as visible after this has been called.</span>
+<span class="comment">// PL-BRGM</span>
+<span class="comment">// Add oldImage in parameter</span>
+<span class="reserved">function</span> fixPNG(myImage,myId,oldImage) {
+  <span class="reserved">if</span> (_SARISSA_IS_IE) {
+<span class="comment">    // PL - BRGM</span>
+<span class="comment">    //opacity of the image</span>
+    <span class="reserved">if</span>(oldImage) {
+      var valIEOpacity= oldImage.style.filter.substring(oldImage.style.filter.indexOf(<span class="literal">'opacity='</span>,0)+8,oldImage.style.filter.lastIndexOf(<span class="literal">')'</span>,0));
+      <span class="reserved">if</span>(oldImage.style.filter.indexOf(<span class="literal">'opacity='</span>,0) ==-1){
+        valIEOpacity = null;
+      }
+       var _opacity= (valIEOpacity)?valIEOpacity/100:-1;
+     }
+<span class="comment">  // END</span>
+    var imgID = <span class="literal">"id='"</span> + myId + <span class="literal">"' "</span>;
+    var imgClass = (myImage.className) ? <span class="literal">"class='"</span> + myImage.className + <span class="literal">"' "</span> : <span class="literal">""</span>
+    var imgTitle = (myImage.title) ? <span class="literal">"title='"</span> + myImage.title + <span class="literal">"' "</span> : <span class="literal">"title='"</span> + myImage.alt + <span class="literal">"' "</span>
+    var imgStyle = <span class="literal">"display:inline-block;"</span> + myImage.style.cssText
+    var strNewHTML = <span class="literal">"&lt;span "</span> + imgID + imgClass + imgTitle
+
+    strNewHTML += <span class="literal">" style=\"</span><span class="literal">" + "</span>width:<span class="literal">" + myImage.width + "</span>px; height:<span class="literal">" + myImage.height + "</span>px;<span class="literal">" + imgStyle + "</span>;<span class="literal">"
+    // store the opacity in the style even not used by IE
+    if (_opacity!=-1) strNewHTML += "</span>opacity=<span class="literal">" + _opacity + "</span>;<span class="literal">" ;
+    // Escape some chars (don't use encode() that would escape %xx previously used in XSL)
+    var src = myImage.src;
+    src = src.replace(/\(/g,'%28');
+    src = src.replace(/\)/g,'%29');
+    src = src.replace(/'/g,'%27');
+    // AlphaImageLoader converts '%23' in src to '#' and cuts URL on '#'
+    src = src.replace(/%23/g,'%2523');
+    strNewHTML += "</span>filter:progid:DXImageTransform.Microsoft.AlphaImageLoader<span class="literal">";
+    strNewHTML += "</span>(src=\<span class="literal">'" + src + "\'</span>, sizingMethod=<span class="literal">'scale'</span>)<span class="literal">";
+
+    // PL - BRGM
+    // add the opacity
+    if (oldImage &amp;&amp; _opacity!=-1) strNewHTML +=  "</span> alpha(opacity=<span class="literal">" + (_opacity * 100) + "</span>)<span class="literal">";
+    strNewHTML +="</span>; \<span class="literal">"&gt;&lt;/span&gt;"</span> ;
+<span class="comment">  // END PL - BRGM</span>
+<span class="comment">    //myImage.outerHTML = strNewHTML;</span>
+<span class="comment">    //alert(strNewHTML);</span>
+    <span class="reserved">return</span> strNewHTML;
+  }
+}
+
+
+
+<span class="comment">/**
+ * get the absolute position of HTML element NS4, IE4/5 &amp; NS6, even if it's in a table.
+ * <span class="attrib">@param</span> element The HTML element.
+ * <span class="attrib">@return</span> Top left X position.
+ */</span>
+<span class="reserved">function</span> getAbsX(elt) {
+        <span class="reserved">return</span> (elt.x) ? elt.x : getAbsPos(elt,<span class="literal">"Left"</span>) + 2;
+}
+
+<span class="comment">/**
+ * get the absolute position of HTML element NS4, IE4/5 &amp; NS6, even if it's in a table.
+ * <span class="attrib">@param</span> element The HTML element.
+ * <span class="attrib">@return</span> Top left Y position.
+ */</span>
+<span class="reserved">function</span> getAbsY(elt) {
+        <span class="reserved">return</span> (elt.y) ? elt.y : getAbsPos(elt,<span class="literal">"Top"</span>) + 2;
+}
+
+<span class="comment">/**
+ * TBD: Comment me.
+ * <span class="attrib">@param</span> elt TBD
+ * <span class="attrib">@param</span> which TBD
+ */</span>
+<span class="reserved">function</span> getAbsPos(elt,which) {
+ iPos = 0;
+ <span class="reserved">while</span> (elt != null) {
+        iPos += elt[<span class="literal">"offset"</span> + which];
+        elt = elt.offsetParent;
+ }
+ <span class="reserved">return</span> iPos;
+}
+
+<span class="comment">/**
+ * get the absolute position of a user event (e.g., a mousedown).
+ * <span class="attrib">@param</span> e The user event.
+ * <span class="attrib">@return</span> Left or top position.
+ */</span>
+<span class="reserved">function</span> getPageX(e){
+  var posx = 0;
+  <span class="reserved">if</span> (!e) var e = window.event;
+  <span class="reserved">if</span> (e.pageX) {
+    posx = e.pageX;
+  }
+  <span class="reserved">else</span> <span class="reserved">if</span> (e.clientX) {
+   posx = e.clientX;
+  }
+  <span class="reserved">if</span> (document.body &amp;&amp; document.body.scrollLeft){
+    posx += document.body.scrollLeft;
+  }
+  <span class="reserved">else</span> <span class="reserved">if</span> (document.documentElement &amp;&amp; document.documentElement.scrollLeft){
+    posx += document.documentElement.scrollLeft;
+  }
+  <span class="reserved">return</span> posx;
+}
+
+<span class="comment">/**
+ * get the absolute position of a user event (e.g., a mousedown).
+ * <span class="attrib">@param</span> e The user event.
+ * <span class="attrib">@return</span> Left or top position.
+ */</span>
+<span class="reserved">function</span> getPageY(e){
+  var posy = 0;
+  <span class="reserved">if</span> (!e) var e = window.event;
+  <span class="reserved">if</span> (e.pageY) {
+    posy = e.pageY;
+  }
+  <span class="reserved">else</span> <span class="reserved">if</span> (e.clientY) {
+    posy = e.clientY;
+  }
+  <span class="reserved">if</span> (document.body &amp;&amp; document.body.scrollTop){
+    posy += document.body.scrollTop;
+  }
+  <span class="reserved">else</span> <span class="reserved">if</span> (document.documentElement &amp;&amp; document.documentElement.scrollTop){
+    posy += document.documentElement.scrollTop;
+  }
+  <span class="reserved">return</span> posy;
+}
+
+<span class="comment">/**
+ * parse comma-separated name=value argument pairs from the query string of the URL; the function stores name=value pairs in properties of an object and returns that object.
+ * <span class="attrib">@return</span> args Array of arguments passed to page, in form args[argname] = value.
+ */</span>
+<span class="reserved">function</span> getArgs(){
+  var args = new Object();
+  var query = location.search.substring(1);
+  var pairs = query.split(<span class="literal">"&amp;"</span>);
+  <span class="reserved">for</span>(var i = 0; i &lt; pairs.length; i++) {
+    var pos = pairs[i].indexOf(<span class="literal">'='</span>);
+    <span class="reserved">if</span> (pos == -1) continue;
+    var argname = pairs[i].substring(0,pos);
+    var value = pairs[i].substring(pos+1);
+    args[argname] = unescape(value.replace(/\+/g, <span class="literal">" "</span>));
+  }
+  <span class="reserved">return</span> args;
+}
+<span class="comment">//initialize the array once</span>
+window.cgiArgs = getArgs();
+
+<span class="comment">/**
+ * convert geographic x coordinate to screen coordinate.
+ * <span class="attrib">@param</span> context The context object.
+ * <span class="attrib">@param</span> xCoord The geographic x coordinate to be converted.
+ * <span class="attrib">@return</span> x the converted x coordinate.
+ */</span>
+<span class="reserved">function</span> getScreenX(context, xCoord){
+  bbox=context.getBoundingBox();
+  width=context.getWindowWidth();
+  bbox[0]=parseFloat(bbox[0]);
+  bbox[2]=parseFloat(bbox[2]);
+  var xfac = (width/(bbox[2]-bbox[0]));
+  x=xfac*(xCoord-bbox[0]);
+  <span class="reserved">return</span> x;
+}
+
+<span class="comment">/**
+ * convert geographic y coordinate to screen coordinate.
+ * <span class="attrib">@param</span> context The context object.
+ * <span class="attrib">@param</span> yCoord The geographic x coordinate to be converted.
+ * <span class="attrib">@return</span> y the converted x coordinate.
+ */</span>
+<span class="reserved">function</span> getScreenY(context, yCoord){
+  var bbox=context.getBoundingBox();
+  var height=context.getWindowHeight();
+  bbox[1]=parseFloat(bbox[1]);
+  bbox[3]=parseFloat(bbox[3]);
+  var yfac = (heighteight/(bbox[3]-bbox[1]));
+  var y=height-(yfac*(pt.y-bbox[1]));
+  <span class="reserved">return</span> y;
+}
+
+<span class="comment">/**
+ * convert screen x coordinate to geographic coordinate.
+ * <span class="attrib">@param</span> context The context object.
+ * <span class="attrib">@param</span> xCoord The screen x coordinate to be converted.
+ * <span class="attrib">@return</span> x the converted x coordinate.
+ */</span>
+<span class="reserved">function</span> getGeoCoordX(context, xCooord) {
+  var bbox=context.getBoundingBox();
+  var width=context.getWindowWidth();
+  bbox[0]=parseFloat(bbox[0]);
+  bbox[2]=parseFloat(bbox[2]);
+  var xfac = ((bbox[2]-bbox[0]) / width);
+  var x=bbox[0] + xfac*(xCoord);
+  <span class="reserved">return</span> x;
+}
+
+<span class="comment">/**
+ * convert screen coordinate to screen coordinate.
+ * <span class="attrib">@param</span> context The context object.
+ * <span class="attrib">@param</span> yCoord The geographic y coordinate to be converted.
+ * <span class="attrib">@return</span> y the converted y coordinate.
+ */</span>
+<span class="reserved">function</span> getGeoCoordY(yCoord){
+  var bbox=context.getBoundingBox();
+  var height=context.getWindowHeight();
+  bbox[1]=parseFloat(bbox[1]);
+  bbox[3]=parseFloat(bbox[3]);
+  var yfac = ((bbox[3]-bbox[1]) / height);
+  var y=bbox[1] + yfac*(height-yCoord);
+  <span class="reserved">return</span> y;
+}
+
+<span class="comment">/**
+ * create an element and append it to the document body element.
+ * <span class="attrib">@param</span> type The type of element to be created.
+ * <span class="attrib">@return</span> node The node created and appended.
+ */</span>
+<span class="reserved">function</span> makeElt(type) {
+  var node=document.createElement(type);
+  document.getElementsByTagName(<span class="literal">"body"</span>).item(0).appendChild(node);
+  <span class="reserved">return</span> node;
+}
+<span class="comment">
+// variable needed to determine if a popup window is currently open</span>
+var newWindow = <span class="literal">''</span>;
+<span class="comment">/**
+ * open a popup window, adapted from http://www.quirksmode.org/js/croswin.html
+ * <span class="attrib">@param</span> url The url of the page to be opened.
+ * <span class="attrib">@param</span> width Width of the popup window, in pixels.
+ * <span class="attrib">@param</span> height Height of the popup window, in pixels.
+ */</span>
+<span class="reserved">function</span> openPopup(url, width, height) {
+  <span class="reserved">if</span>(width == null) {
+    width = 300;
+  }
+  <span class="reserved">if</span>(height == null) {
+    height = 200;
+  }
+  <span class="reserved">if</span> (!newWindow.closed &amp;&amp; newWindow.location) {
+    newWindow.location.href = url;
+  }
+  <span class="reserved">else</span> {
+    newWindow=window.open(url,<span class="literal">'name'</span>,<span class="literal">'height='</span> + height + <span class="literal">',width='</span> + width);
+    <span class="reserved">if</span> (!newWindow.opener) newwindow.opener = self;
+  }
+  <span class="reserved">if</span> (window.focus) {newWindow.focus()}
+  <span class="reserved">return</span> false;
+}
+
+<span class="comment">/**
+ * write debugging info to a textbox onscreen.
+ * <span class="attrib">@param</span> output String to be output.
+ */</span>
+<span class="reserved">function</span> debug(output){
+  tarea=makeElt(<span class="literal">"textarea"</span>);
+  tarea.setAttribute(<span class="literal">"rows"</span>,<span class="literal">"3"</span>);
+  tarea.setAttribute(<span class="literal">"cols"</span>,<span class="literal">"40"</span>);
+  tnode=document.createTextNode(output);
+  tarea.appendChild(tnode);
+}
+
+<span class="comment">/**
+ * determine and return the target element of an event.
+ * <span class="attrib">@param</span> evt The event.
+ * <span class="attrib">@return</span> elt The element.
+ */</span>
+<span class="reserved">function</span> returnTarget(evt){
+  evt = (evt) ? evt : ((window.event) ? window.event : <span class="literal">""</span>);
+  var elt=null;
+  <span class="reserved">if</span>(evt.target){
+    elt=evt.target;
+  }
+  <span class="reserved">else</span> <span class="reserved">if</span>(evt.srcElement){
+    elt=evt.srcElement;
+  }
+  <span class="reserved">return</span> elt;
+}
+
+<span class="comment">/**
+ * attach an event to an element.
+ * <span class="attrib">@param</span> elementObject The object.
+ * <span class="attrib">@param</span> eventName The name of the event.
+ * <span class="attrib">@param</span> functionObject The function to be called.
+ */</span>
+<span class="reserved">function</span> addEvent(elementObject, eventName, functionObject) {
+  <span class="reserved">if</span>(document.addEventListener) {
+    elementObject.addEventListener(eventName, functionObject, false);
+  }
+  <span class="reserved">else</span> <span class="reserved">if</span>(document.attachEvent) {
+    elementObject.attachEvent(<span class="literal">"on"</span> + eventName, functionObject);
+  }
+}
+
+<span class="comment">/**
+ * handle event attached to an object.
+ * <span class="attrib">@param</span> evt The event.
+ */</span>
+<span class="reserved">function</span> handleEventWithObject(evt){
+  var elt = returnTarget(evt);
+  var obj = elt.ownerObj;
+  <span class="reserved">if</span> (obj!=null) obj.handleEvent(evt);
+}
+
+<span class="comment">/**
+ * Show a message if the debug property of the object has been set.
+ * <span class="attrib">@param</span> object  the object that possibly has the debug property set
+ * <span class="attrib">@param</span> message the message to show
+ */</span>
+<span class="reserved">function</span> mbDebugMessage(object, message)
+{
+  <span class="reserved">if</span> (object &amp;&amp; object.debug) {
+    alert(message);
+  }
+}
+
+<span class="comment">/**
+ * Get a message from the &lt;code&gt;widgetText&lt;/code&gt; file and format it if extra
+ * arguments are passed.
+ * <span class="attrib">@param</span> messageKey       the message key within the message node
+ * <span class="attrib">@param</span> varArgs          optional extra parameters for formatting the message
+ * <span class="attrib">@return</span>                 &lt;code&gt;"NoMsgsFound"&lt;/code&gt; if the &lt;code&gt;widgetText&lt;/code&gt; file is not found,&lt;br/&gt;
+ *                         the &lt;code&gt;messageKey&lt;/code&gt; if the message key was not found within the message node,&lt;br/&gt;
+ *                         the (formatted) message if it was found
+ */</span>
+<span class="reserved">function</span> mbGetMessage(messageKey)
+{
+  var message = <span class="literal">"NoMsgsFound"</span>;
+  <span class="reserved">if</span> (config.widgetText) {
+    var msgKeyXpath = <span class="literal">"/mb:WidgetText/mb:messages/mb:"</span> + messageKey;
+    var msgKeyNodes = config.widgetText.selectNodes(msgKeyXpath);
+    <span class="reserved">if</span> (!msgKeyNodes || msgKeyNodes.length == 0) {
+<span class="comment">      // Message not found, fall back to message key</span>
+      message = messageKey;
+    }
+    <span class="reserved">else</span> {
+<span class="comment">      // Message found; pick last one so user can override messages</span>
+      message = getNodeValue(msgKeyNodes.item(msgKeyNodes.length-1));
+      <span class="reserved">if</span> (arguments[mbGetMessage.length]) {
+<span class="comment">        // Extra arguments, format message</span>
+        var varArgs = [].slice.call(arguments, mbGetMessage.length);
+        varArgs.unshift(message);
+        message = mbFormatMessage.apply(<span class="reserved">this</span>, varArgs);
+      }
+    }
+  }
+  <span class="reserved">return</span> message;
+}
+
+<span class="comment">/**
+ * Format a message with the extra arguments. &lt;br/&gt;
+ * E.g. if called as: &lt;code&gt;mbFormatMessage("{1} is {0} {2}, {1}", "a good", "this", "test")&lt;/code&gt;&lt;br/&gt;
+ * the formatted message returned is: &lt;code&gt;"this is a good test, this"&lt;/code&gt;
+ * <span class="attrib">@param</span> messageFormat the message format string
+ * <span class="attrib">@param</span> varArgs       optional extra parameters for formatting the message
+ * <span class="attrib">@return</span>              the formatted message
+ */</span>
+<span class="reserved">function</span> mbFormatMessage(messageFormat)
+{
+  var message = messageFormat;
+  var varArgs = [].slice.call(arguments, mbFormatMessage.length);
+  <span class="reserved">for</span> (var i=0; i&lt;varArgs.length; i++) {
+    var parm = new RegExp(<span class="literal">"\\{"</span> + i + <span class="literal">"\\}"</span>, <span class="literal">"g"</span>);
+    message = message.replace(parm, varArgs[i]);
+  }
+  <span class="reserved">return</span> message;
+}
+
+<span class="comment">/**
+ * extract a style from a SLD node of an XML doc and return
+ * it as url parameter for a WMS request
+ * <span class="attrib">@param</span> node XML node containing the styled layer descriptor
+ * <span class="attrib">@return</span> WMS-compliant SLD URL parameters as array
+ */</span>
+<span class="reserved">function</span> sld2UrlParam(node) {
+  var params=new Array();
+  <span class="reserved">if</span> (node) {
+    var sld = node.selectSingleNode(<span class="literal">"wmc:SLD"</span>);
+    var name = node.selectSingleNode(<span class="literal">"wmc:Name"</span>);
+    <span class="reserved">if</span>(sld) {
+      <span class="reserved">if</span>(sld.selectSingleNode(<span class="literal">"wmc:OnlineResource"</span>)) {	
+        params.sld=sld.selectSingleNode(<span class="literal">"wmc:OnlineResource"</span>).getAttribute(<span class="literal">"xlink:href"</span>);
+      } <span class="reserved">else</span> <span class="reserved">if</span>(sld.selectSingleNode(<span class="literal">"wmc:FeatureTypeStyle"</span>)) {
+        params.sld=(new XMLSerializer()).serializeToString(sld.selectSingleNode(<span class="literal">"wmc:FeatureTypeStyle"</span>));
+      } <span class="reserved">else</span> <span class="reserved">if</span>(sld.selectSingleNode(<span class="literal">"wmc:StyledLayerDescriptor"</span>)) { 
+        params.sld_body=(new XMLSerializer()).serializeToString(sld.selectSingleNode(<span class="literal">"wmc:StyledLayerDescriptor"</span>));    		
+      }
+    } <span class="reserved">else</span> <span class="reserved">if</span>(name) {
+      params.styles = getNodeValue(name) || <span class="literal">""</span>;	
+    }
+  }  
+  <span class="reserved">return</span> params;
+}
+
+<span class="comment">/**
+ * extract a style from a SLD node of an XML doc and return
+ * it as OpenLayers style
+ * <span class="attrib">@param</span> objRef reference to the map widget that will use the style
+ * <span class="attrib">@param</span> node XML node containing the styled layer descriptor
+ * <span class="attrib">@return</span> OpenLayers style object
+ */</span>
+<span class="reserved">function</span> sld2OlStyle(node) {
+<span class="comment">  // OpenLayers SLD parsing</span>
+  <span class="reserved">if</span> (node) {
+    var ruleNode = node.selectSingleNode(<span class="literal">"wmc:SLD/sld:FeatureTypeStyle"</span>);
+    <span class="reserved">if</span> (ruleNode) {
+      var sld = new XMLSerializer().serializeToString(ruleNode);
+      var search = /&lt;([^:]*:?)StyledLayerDescriptor/;
+      <span class="reserved">if</span> (!search.test(sld)) {
+      	sld = sld.replace(/&lt;([^:]*:?)FeatureTypeStyle([^&gt;]*)&gt;(.*)$/,
+            <span class="literal">"&lt;$1StyledLayerDescriptor$2&gt;&lt;$1NamedLayer&gt;&lt;$1Name&gt;sld&lt;/$1Name&gt;&lt;$1UserStyle&gt;&lt;$1FeatureTypeStyle&gt;$3&lt;/$1UserStyle&gt;&lt;/$1NamedLayer&gt;&lt;/$1StyledLayerDescriptor&gt;"</span>);
+      }
+    }
+    var styles = new OpenLayers.Format.SLD().read(sld);
+    <span class="reserved">if</span> (styles) {
+      <span class="reserved">return</span> styles.namedLayers[<span class="literal">"sld"</span>].userStyles[0];
+    }
+  }
+<span class="comment">  
+  // fallback to native SLD parsing for older OwsContext docs</span>
+<span class="comment">  
+  // sld-conform default style</span>
+  var defaultStyle = {
+            fillColor: <span class="literal">"#808080"</span>,
+            fillOpacity: 1,
+            strokeColor: <span class="literal">"#000000"</span>,
+            strokeOpacity: 1,
+            strokeWidth: 1,
+            pointRadius: 6};
+            
+  var style1=OpenLayers.Util.extend(defaultStyle,OpenLayers.Feature.Vector.style[<span class="literal">"default"</span>]);
+  var value;
+  var styleSet=false;
+
+  <span class="reserved">if</span> (node) {
+    value=node.selectSingleNode(<span class="literal">".//sld:ExternalGraphic/sld:OnlineResource/@xlink:href"</span>);
+    <span class="reserved">if</span>(value){
+      style1.externalGraphic=getNodeValue(value);
+      styleSet=true;
+    }
+    value=node.selectSingleNode(<span class="literal">".//sld:Fill/sld:CssParameter[@name='fill']"</span>);
+    <span class="reserved">if</span>(value){
+      style1.fillColor=getNodeValue(value);
+      styleSet=true;
+    }
+    value=node.selectSingleNode(<span class="literal">".//sld:Fill/sld:CssParameter[@name='fill-opacity']"</span>);
+    <span class="reserved">if</span>(value){
+      style1.fillOpacity=getNodeValue(value);
+      styleSet=true;
+    } <span class="reserved">else</span> {
+<span class="comment">      // opacity eg. for externalGraphic</span>
+      value=node.selectSingleNode(<span class="literal">".//sld:Opacity/sld:Literal"</span>);
+      <span class="reserved">if</span> (value){
+        style1.fillOpacity=getNodeValue(value);
+        styleSet=true;
+      }
+    }
+  
+    value=node.selectSingleNode(<span class="literal">".//sld:Stroke/sld:CssParameter[@name='stroke']"</span>);
+    <span class="reserved">if</span>(value){
+      style1.strokeColor=getNodeValue(value);
+      styleSet=true;
+    }
+    
+    value=node.selectSingleNode(<span class="literal">".//sld:Stroke/sld:CssParameter[@name='stroke-opacity']"</span>);
+    <span class="reserved">if</span>(value){
+      style1.strokeOpacity=getNodeValue(value);
+      styleSet=true;
+    }
+    
+    value=node.selectSingleNode(<span class="literal">".//sld:Stroke/sld:CssParameter[@name='stroke-width']"</span>);
+    <span class="reserved">if</span>(value){
+      style1.strokeWidth=getNodeValue(value);
+      styleSet=true;
+    }
+    
+    value=node.selectSingleNode(<span class="literal">".//sld:Size"</span>);
+    <span class="reserved">if</span>(value){
+      style1.pointRadius=getNodeValue(value);
+      styleSet=true;
+    }
+  }
+  
+  <span class="reserved">if</span>(!styleSet)style1=null;
+  <span class="reserved">return</span> style1;
+}
+
+<span class="comment">/**
+ * Dynamically loads a stylesheet into the html page.
+ * <span class="attrib">@param</span> cssFileName name of the file to load, relative to config.skinDir
+ */</span>
+<span class="reserved">function</span> loadCss(cssFileName) {
+<span class="comment">  // queue the request if we do not know the skinDir yet</span>
+  <span class="reserved">if</span> (typeof config == <span class="literal">"undefined"</span> || typeof config.skinDir != <span class="literal">"string"</span>) {
+    <span class="reserved">if</span> (!mapbuilder.cssToLoad) {
+      mapbuilder.cssToLoad = [];
+    }
+    mapbuilder.cssToLoad.push(cssFileName);
+    <span class="reserved">return</span>;
+  }
+  
+  var id = cssFileName.match(/[^\/]*$/).toString().replace(/./, <span class="literal">'_'</span>);
+  <span class="reserved">if</span> (!document.getElementById(id)) {
+    var cssNode = document.createElement(<span class="literal">'link'</span>);
+    cssNode.setAttribute(<span class="literal">'id'</span>, id);
+    cssNode.setAttribute(<span class="literal">'rel'</span>, <span class="literal">'stylesheet'</span>);
+    cssNode.setAttribute(<span class="literal">'type'</span>, <span class="literal">'text/css'</span>);
+    cssNode.setAttribute(<span class="literal">'href'</span>, config.skinDir+<span class="literal">'/'</span>+cssFileName);
+    document.getElementsByTagName(<span class="literal">'head'</span>)[0].appendChild(cssNode);
+  }
+}
+
+<span class="comment">/**
+ * getNodevalue return value of node
+ * it as OpenLayers style
+ * <span class="attrib">@param</span> node 
+ * <span class="attrib">@return</span> return node's value
+ */</span>
+<span class="reserved">function</span> getNodeValue(sResult){
+  <span class="reserved">if</span>(sResult.nodeType == 1) <span class="reserved">return</span> sResult.firstChild ? sResult.firstChild.nodeValue : <span class="literal">""</span>;
+  <span class="reserved">if</span>(sResult.nodeType &lt; 5) <span class="reserved">return</span> sResult.nodeValue;
+  <span class="reserved">return</span> sResult;
+}
+
+<span class="comment">/**
+ * Convenience method that is used to parse dom nodes.
+ * <span class="attrib">@param</span> domNode node to find the property in
+ * <span class="attrib">@param</span> propertyName string of the property name (including namespace prefix)
+ * <span class="attrib">@param</span> defaultValue value to return if property is not found (null by default)
+ * <span class="attrib">@return</span> the property value
+ */</span>
+Mapbuilder.getProperty = <span class="reserved">function</span>(domNode, propertyName, defaultValue) {
+  <span class="reserved">if</span> (typeof defaultValue == <span class="literal">"undefined"</span>) {
+    defaultValue = null;
+  }
+  var property = domNode.selectSingleNode(propertyName);
+  <span class="reserved">return</span> property ? getNodeValue(property) : defaultValue;
+}
+
+<span class="comment">/**
+ * Convenience method to parse a string or number as a boolean value
+ * <span class="attrib">@param</span> value string (true/false) or number (1/0)
+ * <span class="attrib">@return</span> boolean value, default false
+ */</span>
+Mapbuilder.parseBoolean = <span class="reserved">function</span>(value) {
+  var result = false;
+  <span class="reserved">if</span> (!value) {
+    result = false;
+  } <span class="reserved">else</span> <span class="reserved">if</span> (value == 0) {
+    result = false;
+  } <span class="reserved">else</span> <span class="reserved">if</span> (value == 1) {
+      result = true;
+  } <span class="reserved">else</span> <span class="reserved">if</span> (value.match(/true/i)) {
+    result = true;
+  } <span class="reserved">else</span> <span class="reserved">if</span> (value.match(/false/i)){
+    <span class="reserved">return</span> false;
+  }
+  <span class="reserved">return</span> result;
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-CatSearchForm.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-CatSearchForm.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-CatSearchForm.js.html	(revision 4307)
@@ -0,0 +1,359 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="CatSearchForm.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>CatSearchForm.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'CatSearchForm.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="OWSCatSearchForm.html">OWSCatSearchForm</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: CatSearchForm.js 3091 2007-08-09 12:21:54Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Widget to display a form for input of parameters to generate a web service 
+ * request.  This JS object handles the form submit via HTTP Get by appending 
+ * a query string to the form's action URL.  The query string is created from
+ * all input elements and their values.
+ * The target model is then loaded from the URL created.
+ * A stylehseet must be specified as a property in config for this widget.  
+ * See widget/NtsForm.xsl for an example. 
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode This widget's object node from the configuration document.
+ * <span class="attrib">@param</span> model The model that this widget is a view of.
+ */</span>
+
+<span class="reserved">function</span> OWSCatSearchForm(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+  <span class="comment">/**
+   * Refreshes the form onblur handlers when this widget is painted.
+   * <span class="attrib">@param</span> objRef Pointer to this CurorTrack object.
+   */</span>
+  <span class="reserved">this</span>.postPaint = <span class="reserved">function</span>(objRef) {
+    objRef.searchForm = document.getElementById(objRef.formName);
+    objRef.searchForm.parentWidget = objRef;
+
+    objRef.searchForm.westCoord.onblur = objRef.setAoi;
+    objRef.searchForm.northCoord.onblur = objRef.setAoi;
+    objRef.searchForm.eastCoord.onblur = objRef.setAoi;
+    objRef.searchForm.southCoord.onblur = objRef.setAoi;
+    objRef.searchForm.westCoord.model = objRef.model;
+    objRef.searchForm.northCoord.model = objRef.model;
+    objRef.searchForm.eastCoord.model = objRef.model;
+    objRef.searchForm.southCoord.model = objRef.model;
+
+
+
+    objRef.searchForm.onkeypress = objRef.handleKeyPress;
+    objRef.searchForm.onsubmit = objRef.submitForm;
+<span class="comment">    //objRef.searchForm.mapsheet.onblur = objRef.setMapsheet;</span>
+  }
+
+  <span class="comment">/**
+   * Output the AOI coordinates to the associated form input elements.  This
+   * method is registered as an AOI listener on the context doc.
+   * <span class="attrib">@param</span> objRef Pointer to this searchForm object.
+   */</span>
+  <span class="reserved">this</span>.displayAoiCoords = <span class="reserved">function</span>(objRef) {
+    objRef.searchForm = document.getElementById(objRef.formName);
+    var aoi = objRef.model.getParam(<span class="literal">"aoi"</span>);
+    objRef.searchForm.westCoord.value = aoi[0][0];
+    objRef.searchForm.northCoord.value = aoi[0][1];
+    objRef.searchForm.eastCoord.value = aoi[1][0];
+    objRef.searchForm.southCoord.value = aoi[1][1];
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">'aoi'</span>, <span class="reserved">this</span>.displayAoiCoords, <span class="reserved">this</span>);
+
+  <span class="comment">/**
+   * Handles user input from the form element.  This is an onblur handler for 
+   * the input elements.
+   */</span>
+  <span class="reserved">this</span>.setAoi = <span class="reserved">function</span>() {
+    var aoi = <span class="reserved">this</span>.model.getParam(<span class="literal">"aoi"</span>);
+    <span class="reserved">if</span> (aoi) {
+      var ul = aoi[0];
+      var lr = aoi[1];
+      switch(<span class="reserved">this</span>.name) {
+        case <span class="literal">'westCoord'</span>:
+          ul[0] = <span class="reserved">this</span>.value;
+          break;
+        case <span class="literal">'northCoord'</span>:
+          ul[1] = <span class="reserved">this</span>.value;
+          break;
+        case <span class="literal">'eastCoord'</span>:
+          lr[0] = <span class="reserved">this</span>.value;
+          break;
+        case <span class="literal">'southCoord'</span>:
+          lr[1] = <span class="reserved">this</span>.value;
+          break;
+      }
+      <span class="reserved">this</span>.model.setParam(<span class="literal">"aoi"</span>,new Array(ul,lr) );
+    }
+  }
+
+<span class="comment">/**
+ * Change the AOI coordinates from select box choice of prefined locations
+ * <span class="attrib">@param</span> bbox the bbox value of the location keyword chosen
+ */</span>
+  <span class="reserved">this</span>.setLocation = <span class="reserved">function</span>(bbox) {
+    var bboxArray = new Array();
+    bboxArray     = bbox.split(<span class="literal">","</span>);
+    var ul = new Array(parseFloat(bboxArray[0]),parseFloat(bboxArray[2]));
+    var lr = new Array(parseFloat(bboxArray[1]),parseFloat(bboxArray[3]));
+    <span class="reserved">this</span>.model.setParam(<span class="literal">"aoi"</span>,new Array(ul,lr));
+<span class="comment">
+    //convert this.model XY to latlong</span>
+<span class="comment">    //convert latlong to targetmodel XY</span>
+<span class="comment">    //extent.setAoi takes XY as input</span>
+<span class="comment">    //this.targetModel.setParam("aoi", new Array(ul,lr));</span>
+<span class="comment">    //this.targetModel.setParam("mouseup",this);</span>
+  }
+
+
+  <span class="comment">/**
+   * Handles submission of the form (via javascript in an &lt;a&gt; tag)
+   */</span>
+  <span class="reserved">this</span>.submitForm = <span class="reserved">function</span>() {
+    thisWidget = <span class="reserved">this</span>.parentWidget;
+    thisWidget.webServiceForm = document.getElementById(thisWidget.formName);
+<span class="comment">    //thisWidget.targetModel.setParam("filter",filter);</span>
+    thisWidget.targetModel.setParam(<span class="literal">"wfs_GetFeature"</span>,<span class="literal">"service_resources"</span>);
+    <span class="reserved">return</span> false;
+  }
+
+  <span class="comment">/**
+   * handles keypress events to filter out everything except "enter".  
+   * Pressing the "enter" key will trigger a form submit
+   * <span class="attrib">@param</span> event  the event object passed in for Mozilla; IE uses window.event
+   */</span>
+  <span class="reserved">this</span>.handleKeyPress = <span class="reserved">function</span>(event) {
+    var keycode;
+    var target;
+    <span class="reserved">if</span> (event){
+<span class="comment">      //Mozilla</span>
+      keycode=event.which;
+      target=event.currentTarget;
+    }<span class="reserved">else</span>{
+<span class="comment">      //IE</span>
+      keycode=window.event.keyCode;
+      target=window.event.srcElement.form;
+    }
+
+    <span class="reserved">if</span> (keycode == 13) {    //enter key
+      target.parentWidget.submitForm();
+      <span class="reserved">return</span> false;
+    }
+  }
+
+  var RUC_Window=null;
+  <span class="reserved">this</span>.openRucWindow = <span class="reserved">function</span>( rucType ) { 
+    <span class="reserved">if</span> ( RUC_Window == null || RUC_Window.closed ) { 
+      var baseUrl;
+      var params;
+      switch(rucType) {
+        case <span class="literal">"placename"</span>:
+          baseURL = <span class="literal">"/rucs/placeName.html?language="</span> + config.lang + <span class="literal">"&amp;formName="</span> + <span class="reserved">this</span>.formName;
+          params = <span class="literal">"width=290,height=480,scrollbars=0,toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=0"</span>;
+          break;
+        case <span class="literal">"postalCode"</span>:
+          baseURL = <span class="literal">"/rucs/postalCode.html?language="</span> + config.lang + <span class="literal">"&amp;formName="</span> + <span class="reserved">this</span>.formName;
+          params = <span class="literal">"width=280,height=180,scrollbars=0,toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=0"</span>;
+          break;
+        default:
+          alert(mbGetMessage(<span class="literal">"unknownRucType"</span>));
+          break;
+      }
+      RUC_Window = open( baseURL, <span class="literal">"RUCWindow"</span>, params );
+    }
+    RUC_Window.focus();
+    <span class="reserved">return</span> false;
+  } 
+  <span class="reserved">function</span> RUC_closeRUCWindow() { 
+    <span class="reserved">if</span> ( RUC_Window != null &amp;&amp; !RUC_Window.closed ) { 
+      RUC_Window.close();
+    } 
+  } 
+<span class="comment">
+  //set some properties for the form output</span>
+  <span class="reserved">this</span>.formName = <span class="literal">"WebServiceForm_"</span> + mbIds.getId();
+  <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"formName"</span>, <span class="reserved">this</span>.formName);
+}
+
+  <span class="comment">/**
+   */</span>
+  SetAoiCoords = <span class="reserved">function</span>(aoiBox) {
+    config.objects.mainMap.setParam(<span class="literal">"aoi"</span>,aoiBox );
+  }
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/MergeModels.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/MergeModels.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/MergeModels.html	(revision 4307)
@@ -0,0 +1,532 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+MergeModels
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="MergeModels";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-MergeModels.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Measurement.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Model.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="MergeModels.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class MergeModels</H2>
+<PRE>Object
+   |
+   +--<a href='ToolBase.html'>ToolBase</a>
+         |
+         +--<b>MergeModels</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>MergeModels</B>
+   
+      <DT>extends <a href='ToolBase.html'>ToolBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-MergeModels.js.html'>MergeModels.js</a></I><BR/><BR/><B>Author:</B> Andreas Hocevar andreas.hocevarATgmail.com  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#template">template</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ToolBase.html">ToolBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ToolBase.html#model">model</a>, <a href="ToolBase.html#toolNode">toolNode</a>, <a href="ToolBase.html#enabled">enabled</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="MergeModels.html#MergeModels()">MergeModels</A> 
+	 </B>
+	 (toolNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Model that allows to merge multiple models into one.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addModel">addModel</A></B>(objRef, model)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#buildModel">buildModel</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getTemplate">getTemplate</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#init">init</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#mergeModel">mergeModel</A></B>(objRef, modelToMerge)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ToolBase.html">ToolBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ToolBase.html#initTargetModel">initTargetModel</a>, <a href="ToolBase.html#initMouseHandler">initMouseHandler</a>, <a href="ToolBase.html#getProperty">getProperty</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="template"><!-- --></A>
+   <H3>template</H3>
+   <PRE>Object&nbsp;<B>template</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="MergeModels()"><!-- --></A><H3>
+MergeModels</H3>
+<PRE><B>MergeModels</B>(toolNode, model)</PRE>
+
+
+<UL>
+   Model that allows to merge multiple models into one. The first model
+ determines the root node, other models are appended within the same
+ root node.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>model</CODE> -  model this tool belongs to.
+     </UL>
+   
+     <UL><CODE>modelNode</CODE> -  The model's XML object node from the configuration document  
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Andreas Hocevar andreas.hocevarATgmail.com  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="addModel"><!-- --></A>
+   <H3>addModel</H3>
+   <PRE>void <B>addModel</B>(objRef, model)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="buildModel"><!-- --></A>
+   <H3>buildModel</H3>
+   <PRE>void <B>buildModel</B>(objRef)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getTemplate"><!-- --></A>
+   <H3>getTemplate</H3>
+   <PRE>void <B>getTemplate</B>(objRef)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="init"><!-- --></A>
+   <H3>init</H3>
+   <PRE>void <B>init</B>(objRef)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="mergeModel"><!-- --></A>
+   <H3>mergeModel</H3>
+   <PRE>void <B>mergeModel</B>(objRef, modelToMerge)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-MergeModels.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Measurement.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Model.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="MergeModels.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/index.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/index.html	(revision 4307)
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+<TITLE>
+Generated Javascript Documentation 
+</TITLE>
+</HEAD>
+<FRAMESET cols="20%,80%">
+
+<FRAMESET rows="40%,50%">
+<FRAME src="overview-frame.html" name="overviewFrame">
+
+<FRAME src="allclasses-frame.html" name="packageFrame">
+
+</FRAMESET>
+
+<FRAME src="overview-summary.html" name="classFrame">
+</FRAMESET>
+<NOFRAMES>
+<H2>
+Frame Alert</H2>
+
+<P>
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
+<BR>
+Link to <A HREF="allclasses-frame.html">Non-frame version.</A></NOFRAMES>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Version.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Version.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Version.html	(revision 4307)
@@ -0,0 +1,330 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Version
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Version";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Version.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TransactionResponse.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="WebServiceForm.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Version.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Version</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>Version</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Version</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Version.js.html'>Version.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Version.html#Version()">Version</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Displays the mapbuilder version.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Version()"><!-- --></A><H3>
+Version</H3>
+<PRE><B>Version</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Displays the mapbuilder version.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Version.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TransactionResponse.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="WebServiceForm.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Version.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/ModelBase.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/ModelBase.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/ModelBase.html	(revision 4307)
@@ -0,0 +1,1288 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ModelBase
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="ModelBase";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ModelBase.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Model.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ModelStatus.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ModelBase.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class ModelBase</H2>
+<PRE>Object
+   |
+   +--<a href='Listener.html'>Listener</a>
+         |
+         +--<b>ModelBase</b>
+</PRE>
+
+   <DL>
+   <DT>
+      <B>Direct Known Subclasses:</B> 
+      <DD>
+                <a href="GeoRSS.html">GeoRSS</a>, <a href="FeatureCollection.html">FeatureCollection</a>, <a href="Config.html">Config</a>, <a href="Model.html">Model</a>, <a href="Transaction.html">Transaction</a>, <a href="StyledLayerDescriptor.html">StyledLayerDescriptor</a>, <a href="WmsCapabilities.html">WmsCapabilities</a>, <a href="Context.html">Context</a>, <a href="OwsContext.html">OwsContext</a>, <a href="WpsCapabilities.html">WpsCapabilities</a>, <a href="Logger.html">Logger</a>, <a href="WpsDescribeProcess.html">WpsDescribeProcess</a>, <a href="WfsCapabilities.html">WfsCapabilities</a>
+      </DD>
+   </DL>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>ModelBase</B>
+   
+      <DT>extends <a href='Listener.html'>Listener</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-ModelBase.js.html'>ModelBase.js</a></I><BR/><BR/><B>Author:</B> Cameron Shorter  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#async">async</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#config">config</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Widgets can place configurations in a model.</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#contentType">contentType</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#debug">debug</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#id">id</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#method">method</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#modelNode">modelNode</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#namespace">namespace</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#nodeSelectXpath">nodeSelectXpath</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#parentModel">parentModel</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#template">template</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#title">title</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#url">url</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="Listener.html">Listener</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="Listener.html#listeners">listeners</a>, <a href="Listener.html#values">values</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="ModelBase.html#ModelBase()">ModelBase</A> 
+	 </B>
+	 (modelNode, parentModel)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Base Model class to be inherited by all Model objects and provdes methods
+ and properties common to all models.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#clearModel">clearModel</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Listener registered with the parent model to remove the doc and url 
+ of child models whenever the parent is reloaded.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#createObject">createObject</A></B>(configNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Creates all mapbuilder JavaScript objects based on the Object nodes defined
+ in the configuration file.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#deleteTemplates">deleteTemplates</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 deletes all template models and clears their widgets
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#finishLoading">finishLoading</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Common steps to be carried out after all manner of model loading
+ Called to set the namespace for XPath selections and call the loadModel
+ listeners.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getProperty">getProperty</A></B>(property, defaultValue)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Convenient access to Mapbuilder.getProperty
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getXpathValue">getXpathValue</A></B>(objRef,xpath)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get the value of a node as selected by an XPath expression.1
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#init">init</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Listener registered with the parent model to call init listeners when 
+ the parent model is init'ed
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#loadModelDoc">loadModelDoc</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Load a Model's document.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#loadObjects">loadObjects</A></B>(objectXpath)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Creates all the mapbuilder objects from the config file as selected by the
+ XPath value passed in.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#newRequest">newRequest</A></B>(objRef, httpPayload)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Load XML for a model from an httpPayload object.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#parseConfig">parseConfig</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Initialization of all javascript model, widget and tool objects for this model.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#refresh">refresh</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Listener registered with the parent model to call refresh listeners when 
+ the model document is loaded
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#saveModel">saveModel</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 save the model by posting it to the serializeUrl, which is defined as a 
+ property of config.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setModel">setModel</A></B>(objRef,newModel)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set the model's XML document using an XML object as a parameter.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setXpathValue">setXpathValue</A></B>(objRef,xpath,value,refresh)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Update the value of a node within this model's XML document.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="Listener.html">Listener</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="Listener.html#addListener">addListener</a>, <a href="Listener.html#addFirstListener">addFirstListener</a>, <a href="Listener.html#removeListener">removeListener</a>, <a href="Listener.html#callListeners">callListeners</a>, <a href="Listener.html#setParam">setParam</a>, <a href="Listener.html#getParam">getParam</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="async"><!-- --></A>
+   <H3>async</H3>
+   <PRE>Object&nbsp;<B>async</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="config"><!-- --></A>
+   <H3>config</H3>
+   <PRE>Object&nbsp;<B>config</B></PRE>
+   <UL>
+   Widgets can place configurations in a model. This is an associative
+ array with the widgetId of the widget that places its configuration
+ here as key.
+   
+   </UL>
+   <HR>
+   
+   <A NAME="contentType"><!-- --></A>
+   <H3>contentType</H3>
+   <PRE>Object&nbsp;<B>contentType</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="debug"><!-- --></A>
+   <H3>debug</H3>
+   <PRE>Object&nbsp;<B>debug</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="id"><!-- --></A>
+   <H3>id</H3>
+   <PRE>Object&nbsp;<B>id</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="method"><!-- --></A>
+   <H3>method</H3>
+   <PRE>Object&nbsp;<B>method</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="modelNode"><!-- --></A>
+   <H3>modelNode</H3>
+   <PRE>Object&nbsp;<B>modelNode</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="namespace"><!-- --></A>
+   <H3>namespace</H3>
+   <PRE>Object&nbsp;<B>namespace</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="nodeSelectXpath"><!-- --></A>
+   <H3>nodeSelectXpath</H3>
+   <PRE>Object&nbsp;<B>nodeSelectXpath</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="parentModel"><!-- --></A>
+   <H3>parentModel</H3>
+   <PRE>Object&nbsp;<B>parentModel</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="template"><!-- --></A>
+   <H3>template</H3>
+   <PRE>Object&nbsp;<B>template</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="title"><!-- --></A>
+   <H3>title</H3>
+   <PRE>Object&nbsp;<B>title</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="url"><!-- --></A>
+   <H3>url</H3>
+   <PRE>Object&nbsp;<B>url</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="ModelBase()"><!-- --></A><H3>
+ModelBase</H3>
+<PRE><B>ModelBase</B>(modelNode, parentModel)</PRE>
+
+
+<UL>
+   Base Model class to be inherited by all Model objects and provdes methods
+ and properties common to all models.
+ Stores the XML document as the .doc property of the model.
+ Inherits from the Listener class so all models are also listener objects that
+ can call registered listeners.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>modelNode</CODE> -    The model's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>parentModel</CODE> -  The model object that this model belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Cameron Shorter  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="clearModel"><!-- --></A>
+   <H3>clearModel</H3>
+   <PRE>void <B>clearModel</B>(objRef)</PRE>
+   
+      <UL>Listener registered with the parent model to remove the doc and url 
+ of child models whenever the parent is reloaded.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="createObject"><!-- --></A>
+   <H3>createObject</H3>
+   <PRE>Object <B>createObject</B>(configNode)</PRE>
+   
+      <UL>Creates all mapbuilder JavaScript objects based on the Object nodes defined
+ in the configuration file.
+ A reference to the created model is stored as a property of the config.objects
+ property using the model's ID; you can always get a reference to a mapbuilder
+ object as: "config.objects.objectId"</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>configNode</CODE> -  The node from config for the model to be created
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="deleteTemplates"><!-- --></A>
+   <H3>deleteTemplates</H3>
+   <PRE>void <B>deleteTemplates</B>()</PRE>
+   
+      <UL>deletes all template models and clears their widgets</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="finishLoading"><!-- --></A>
+   <H3>finishLoading</H3>
+   <PRE>void <B>finishLoading</B>()</PRE>
+   
+      <UL>Common steps to be carried out after all manner of model loading
+ Called to set the namespace for XPath selections and call the loadModel
+ listeners.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getProperty"><!-- --></A>
+   <H3>getProperty</H3>
+   <PRE>Object <B>getProperty</B>(property, defaultValue)</PRE>
+   
+      <UL>Convenient access to Mapbuilder.getProperty</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>property</CODE> -  property to get  
+      </UL> 
+   
+     <UL><CODE>default</CODE> -  value to use if property is not set  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the value for the property 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getXpathValue"><!-- --></A>
+   <H3>getXpathValue</H3>
+   <PRE>Object <B>getXpathValue</B>(objRef,xpath)</PRE>
+   
+      <UL>Get the value of a node as selected by an XPath expression.1</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Reference to this node.  
+      </UL> 
+   
+     <UL><CODE>xpath</CODE> -  XPath of the node to update.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        value of the node or null if XPath does not find a node. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="init"><!-- --></A>
+   <H3>init</H3>
+   <PRE>void <B>init</B>(objRef)</PRE>
+   
+      <UL>Listener registered with the parent model to call init listeners when 
+ the parent model is init'ed</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="loadModelDoc"><!-- --></A>
+   <H3>loadModelDoc</H3>
+   <PRE>void <B>loadModelDoc</B>(objRef)</PRE>
+   
+      <UL>Load a Model's document.  
+ This will only occur if the model.url property is set. 
+ Calling this method triggers several events:
+   modelStatus - to indicate that the model state is changing
+   newModel - to give widgets a chance to clear themselves before the doc is loaded
+   loadModel - to indicate that the document is loaded successfully</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to the model object being loaded.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="loadObjects"><!-- --></A>
+   <H3>loadObjects</H3>
+   <PRE>void <B>loadObjects</B>(objectXpath)</PRE>
+   
+      <UL>Creates all the mapbuilder objects from the config file as selected by the
+ XPath value passed in.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objectXpath</CODE> -  The XPath for the set of nodes being created      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="newRequest"><!-- --></A>
+   <H3>newRequest</H3>
+   <PRE>void <B>newRequest</B>(objRef, httpPayload)</PRE>
+   
+      <UL>Load XML for a model from an httpPayload object.  This will also handle
+ instantiating template models if they have the "template" attribute set.
+ To update model data, use:<br/>
+ httpPayload=new Object();<br/>
+ httpPayload.url="url" or null. If set to null, all dependant widgets
+   will be removed from the display.<br/>
+ httpPayload.httpMethod="post" or "get"<br/>
+ httpPayload.postData=XML or null<br/></UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -     Pointer to the model object being loaded.  
+      </UL> 
+   
+     <UL><CODE>httpPayload</CODE> -  an object to fully specify the request to be made      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="parseConfig"><!-- --></A>
+   <H3>parseConfig</H3>
+   <PRE>void <B>parseConfig</B>(objRef)</PRE>
+   
+      <UL>Initialization of all javascript model, widget and tool objects for this model. 
+ Calling this method triggers an init event for this model.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="refresh"><!-- --></A>
+   <H3>refresh</H3>
+   <PRE>void <B>refresh</B>(objRef)</PRE>
+   
+      <UL>Listener registered with the parent model to call refresh listeners when 
+ the model document is loaded</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="saveModel"><!-- --></A>
+   <H3>saveModel</H3>
+   <PRE>void <B>saveModel</B>(objRef)</PRE>
+   
+      <UL>save the model by posting it to the serializeUrl, which is defined as a 
+ property of config.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setModel"><!-- --></A>
+   <H3>setModel</H3>
+   <PRE>void <B>setModel</B>(objRef,newModel)</PRE>
+   
+      <UL>Set the model's XML document using an XML object as a parameter.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.  
+      </UL> 
+   
+     <UL><CODE>newModel</CODE> -  XML object to be inserted into the new model.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setXpathValue"><!-- --></A>
+   <H3>setXpathValue</H3>
+   <PRE>Object <B>setXpathValue</B>(objRef,xpath,value,refresh)</PRE>
+   
+      <UL>Update the value of a node within this model's XML document.
+ Triggers a refresh event from the model.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Reference to this node.  
+      </UL> 
+   
+     <UL><CODE>xpath</CODE> -  Xpath of the node to update.  
+      </UL> 
+   
+     <UL><CODE>value</CODE> -  Node's new value.  
+      </UL> 
+   
+     <UL><CODE>refresh</CODE> -  determines if the model should be refreshed (optional).  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Returns false if Xpath does not find a node. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ModelBase.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Model.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ModelStatus.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ModelBase.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-EventLog.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-EventLog.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-EventLog.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ EventLog.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" EventLog.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-EventLog.js.html" 
+                                        target="classFrame">EventLog.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="EventLog.html" TARGET="classFrame">EventLog</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/index-all.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/index-all.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/index-all.html	(revision 4307)
@@ -0,0 +1,5641 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Index ()
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Index ()";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_top"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD-->
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="index-all.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<!--
+ Listing of letters
+-->
+&nbsp;<A HREF="index-all.html#__A__">A</A>&nbsp;<A HREF="index-all.html#__B__">B</A>&nbsp;<A HREF="index-all.html#__C__">C</A>&nbsp;<A HREF="index-all.html#__D__">D</A>&nbsp;<A HREF="index-all.html#__E__">E</A>&nbsp;<A HREF="index-all.html#__F__">F</A>&nbsp;<A HREF="index-all.html#__G__">G</A>&nbsp;<A HREF="index-all.html#__H__">H</A>&nbsp;<A HREF="index-all.html#__I__">I</A>&nbsp;<A HREF="index-all.html#__L__">L</A>&nbsp;<A HREF="index-all.html#__M__">M</A>&nbsp;<A HREF="index-all.html#__N__">N</A>&nbsp;<A HREF="index-all.html#__O__">O</A>&nbsp;<A HREF="index-all.html#__P__">P</A>&nbsp;<A HREF="index-all.html#__R__">R</A>&nbsp;<A HREF="index-all.html#__S__">S</A>&nbsp;<A HREF="index-all.html#__T__">T</A>&nbsp;<A HREF="index-all.html#__U__">U</A>&nbsp;<A HREF="index-all.html#__V__">V</A>&nbsp;<A HREF="index-all.html#__W__">W</A>&nbsp;<A HREF="index-all.html#__X__">X</A>&nbsp;<A HREF="index-all.html#__Z__">Z</A>
+<HR>
+<!-- End letter listing -->
+
+<A NAME="__A__"><!-- --></A><H2>
+<B>A</B></H2>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#abbreviateLabel"><B>abbreviateLabel</B></A> - 
+Instance field in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Abstract.html#"><B>Abstract</B></A> - 
+ class <A HREF="Abstract.html">Abstract</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Abstract.html#constructor_detail"><B>Abstract(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="Abstract.html">Abstract</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#action"><B>action</B></A> - 
+Instance field in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#active"><B>active</B></A> - 
+Instance field in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Graticule.html#active"><B>active</B></A> - 
+Instance field in  class <A HREF="Graticule.html">Graticule</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="History.html#add"><B>add(objRef)</B></A> - 
+Instance method in  class <A HREF="History.html">History</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#addEvent"><B>addEvent(elementObject, eventName, functionObject)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Listener.html#addFirstListener"><B>addFirstListener(param, listener, target)</B></A> - 
+Instance method in  class <A HREF="Listener.html">Listener</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#addLayer"><B>addLayer(objRef, layerNode)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#addLayer"><B>addLayer(objRef, layerNode)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#addLayer"><B>addLayer(objRef, layerNode)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditContext.html#addLayerFromCat"><B>addLayerFromCat(featureName)</B></A> - 
+Instance method in  class <A HREF="EditContext.html">EditContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Listener.html#addListener"><B>addListener(param, listener, target)</B></A> - 
+Instance method in  class <A HREF="Listener.html">Listener</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MergeModels.html#addModel"><B>addModel(objRef, model)</B></A> - 
+Instance method in  class <A HREF="MergeModels.html">MergeModels</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditContext.html#addNodeToModel"><B>addNodeToModel(featureName)</B></A> - 
+Instance method in  class <A HREF="EditContext.html">EditContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OverviewMap.html#addOverviewMap"><B>addOverviewMap(objRef)</B></A> - 
+Instance method in  class <A HREF="OverviewMap.html">OverviewMap</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#addSLD"><B>addSLD(objRef,sldNode)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#addSLD"><B>addSLD(objRef,sldNode)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TabbedContent.html#addWidget"><B>addWidget(tabWidget,tabLabel)</B></A> - 
+Instance method in  class <A HREF="TabbedContent.html">TabbedContent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#align"><B>align</B></A> - 
+Instance field in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="AoiBoxOL.html#"><B>AoiBoxOL</B></A> - 
+ class <A HREF="AoiBoxOL.html">AoiBoxOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="AoiBoxOL.html#constructor_detail"><B>AoiBoxOL(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="AoiBoxOL.html">AoiBoxOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="AoiForm.html#"><B>AoiForm</B></A> - 
+ class <A HREF="AoiForm.html">AoiForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="AoiForm.html#constructor_detail"><B>AoiForm(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="AoiForm.html">AoiForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditButtonBase.html#appendOnEdit"><B>appendOnEdit</B></A> - 
+Instance field in  class <A HREF="EditButtonBase.html">EditButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#AsciiToNum"><B>AsciiToNum( ascii )</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#async"><B>async</B></A> - 
+Instance field in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#attachToOL"><B>attachToOL(objRef,refreshId)</B></A> - 
+Instance method in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBase.html#autoRefresh"><B>autoRefresh</B></A> - 
+Instance field in  class <A HREF="WidgetBase.html">WidgetBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Timer.html#autoStart"><B>autoStart</B></A> - 
+Instance field in  class <A HREF="Timer.html">Timer</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__B__"><!-- --></A><H2>
+<B>B</B></H2>
+
+<DL>
+<DT><A HREF="Back.html#"><B>Back</B></A> - 
+ class <A HREF="Back.html">Back</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="History.html#back"><B>back(objRef)</B></A> - 
+Instance method in  class <A HREF="History.html">History</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Back.html#constructor_detail"><B>Back(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="Back.html">Back</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MergeModels.html#buildModel"><B>buildModel(objRef)</B></A> - 
+Instance method in  class <A HREF="MergeModels.html">MergeModels</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Button.html#"><B>Button</B></A> - 
+ class <A HREF="Button.html">Button</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Button.html#constructor_detail"><B>Button(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="Button.html">Button</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#"><B>ButtonBase</B></A> - 
+ class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#constructor_detail"><B>ButtonBase(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#buttonInit"><B>buttonInit(objRef)</B></A> - 
+Instance method in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#buttonType"><B>buttonType</B></A> - 
+Instance field in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__C__"><!-- --></A><H2>
+<B>C</B></H2>
+
+<DL>
+<DT><A HREF="Listener.html#callListeners"><B>callListeners(param,value)</B></A> - 
+Instance method in  class <A HREF="Listener.html">Listener</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Caps2Context.html#"><B>Caps2Context</B></A> - 
+ class <A HREF="Caps2Context.html">Caps2Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Caps2Context.html#constructor_detail"><B>Caps2Context(toolNode, model)</B></A> - 
+Constructor in  class <A HREF="Caps2Context.html">Caps2Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#centerAt"><B>centerAt(center, newres, limitExtent)</B></A> - 
+Instance method in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="LayerControl.html#ChangeImage"><B>ChangeImage(id, imageA, imageB)</B></A> - 
+Instance method in  class <A HREF="LayerControl.html">LayerControl</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#checkBbox"><B>checkBbox()</B></A> - 
+Instance method in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#checkIESecurity"><B>checkIESecurity()</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Mapbuilder.html#checkScriptsLoaded"><B>checkScriptsLoaded()</B></A> - 
+Instance method in  class <A HREF="Mapbuilder.html">Mapbuilder</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Mapbuilder.html#checkScriptState"><B>checkScriptState(script)</B></A> - 
+Instance method in  class <A HREF="Mapbuilder.html">Mapbuilder</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CursorTrack.html#clear"><B>clear(objRef)</B></A> - 
+Instance method in  class <A HREF="CursorTrack.html">CursorTrack</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureSelectHandler.html#clear"><B>clear(objRef)</B></A> - 
+Instance method in  class <A HREF="FeatureSelectHandler.html">FeatureSelectHandler</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#clear"><B>clear(objRef)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceRequest.html#clear"><B>clear(objRef)</B></A> - 
+Instance method in  class <A HREF="WebServiceRequest.html">WebServiceRequest</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Loading2.html#clear"><B>clear(objRef, message)</B></A> - 
+Instance method in  class <A HREF="Loading2.html">Loading2</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ZoomToAoi.html#clear"><B>clear(tool)</B></A> - 
+Instance method in  class <A HREF="ZoomToAoi.html">ZoomToAoi</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="AoiBoxOL.html#clearAoiBox"><B>clearAoiBox(objRef)</B></A> - 
+Instance method in  class <A HREF="AoiBoxOL.html">AoiBoxOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Sarissa.html#clearChildNodes"><B>clearChildNodes(oNode)</B></A> - 
+Class method in  class <A HREF="Sarissa.html">Sarissa</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Logger.html#clearLog"><B>clearLog()</B></A> - 
+Instance method in  class <A HREF="Logger.html">Logger</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Measurement.html#clearMeasurementLine"><B>clearMeasurementLine(objRef)</B></A> - 
+Instance method in  class <A HREF="Measurement.html">Measurement</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#clearModel"><B>clearModel(objRef)</B></A> - 
+Instance method in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XSLTProcessor.html#clearParameters"><B>clearParameters()</B></A> - 
+Instance method in  class <A HREF="XSLTProcessor.html">XSLTProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#clearTimeExtent"><B>clearTimeExtent( objRef )</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#clearTimeExtent"><B>clearTimeExtent( objRef )</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererOL.html#clearWidget"><B>clearWidget(objRef)</B></A> - 
+Instance method in  class <A HREF="GmlRendererOL.html">GmlRendererOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBase.html#clearWidget"><B>clearWidget(objRef)</B></A> - 
+Instance method in  class <A HREF="WidgetBase.html">WidgetBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CollectionList.html#"><B>CollectionList</B></A> - 
+ class <A HREF="CollectionList.html">CollectionList</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CollectionList.html#constructor_detail"><B>CollectionList(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="CollectionList.html">CollectionList</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Graticule.html#color"><B>color</B></A> - 
+Instance field in  class <A HREF="Graticule.html">Graticule</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Config.html#"><B>Config</B></A> - 
+ class <A HREF="Config.html">Config</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererBase.html#config"><B>config</B></A> - 
+Instance field in  class <A HREF="GmlRendererBase.html">GmlRendererBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#config"><B>config</B></A> - 
+Instance field in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Config.html#constructor_detail"><B>Config(url)</B></A> - 
+Constructor in  class <A HREF="Config.html">Config</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureSelectHandler.html#configInit"><B>configInit(objRef)</B></A> - 
+Instance method in  class <A HREF="FeatureSelectHandler.html">FeatureSelectHandler</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#containerId"><B>containerId</B></A> - 
+Instance field in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererOL.html#containerNodeId"><B>containerNodeId</B></A> - 
+Instance field in  class <A HREF="GmlRendererOL.html">GmlRendererOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Loading2.html#containerNodeId"><B>containerNodeId</B></A> - 
+Instance field in  class <A HREF="Loading2.html">Loading2</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#containerNodeId"><B>containerNodeId</B></A> - 
+Instance field in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#contentType"><B>contentType</B></A> - 
+Instance field in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#"><B>Context</B></A> - 
+ class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#constructor_detail"><B>Context(modelNode, parent)</B></A> - 
+Constructor in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureSelectHandler.html#contextInit"><B>contextInit(objRef)</B></A> - 
+Instance method in  class <A HREF="FeatureSelectHandler.html">FeatureSelectHandler</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#control"><B>control</B></A> - 
+Instance field in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureCollection.html#convertCoords"><B>convertCoords(objRef)</B></A> - 
+Instance method in  class <A HREF="FeatureCollection.html">FeatureCollection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CursorTrack.html#convertDM"><B>convertDM(coordinate, type)</B></A> - 
+Instance method in  class <A HREF="CursorTrack.html">CursorTrack</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CursorTrack.html#convertDMS"><B>convertDMS(coordinate, type)</B></A> - 
+Instance method in  class <A HREF="CursorTrack.html">CursorTrack</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureCollection.html#coordSelectXpath"><B>coordSelectXpath</B></A> - 
+Instance field in  class <A HREF="FeatureCollection.html">FeatureCollection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureCollection.html#coordsTagName"><B>coordsTagName</B></A> - 
+Instance field in  class <A HREF="FeatureCollection.html">FeatureCollection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Sarissa.html#copyChildNodes"><B>copyChildNodes(nodeFrom, nodeTo, bPreserveExisting)</B></A> - 
+Class method in  class <A HREF="Sarissa.html">Sarissa</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Reset.html#createControl"><B>createControl()</B></A> - 
+Instance method in  class <A HREF="Reset.html">Reset</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ZoomIn.html#createControl"><B>createControl()</B></A> - 
+Instance method in  class <A HREF="ZoomIn.html">ZoomIn</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="AoiBoxOL.html#createControl"><B>createControl(objRef)</B></A> - 
+Instance method in  class <A HREF="AoiBoxOL.html">AoiBoxOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Back.html#createControl"><B>createControl(objRef)</B></A> - 
+Instance method in  class <A HREF="Back.html">Back</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="DeleteFeature.html#createControl"><B>createControl(objRef)</B></A> - 
+Instance method in  class <A HREF="DeleteFeature.html">DeleteFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="DragPan.html#createControl"><B>createControl(objRef)</B></A> - 
+Instance method in  class <A HREF="DragPan.html">DragPan</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditButtonBase.html#createControl"><B>createControl(objRef)</B></A> - 
+Instance method in  class <A HREF="EditButtonBase.html">EditButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Forward.html#createControl"><B>createControl(objRef)</B></A> - 
+Instance method in  class <A HREF="Forward.html">Forward</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GetFeatureInfo.html#createControl"><B>createControl(objRef)</B></A> - 
+Instance method in  class <A HREF="GetFeatureInfo.html">GetFeatureInfo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GetFeatureInfoWSR.html#createControl"><B>createControl(objRef)</B></A> - 
+Instance method in  class <A HREF="GetFeatureInfoWSR.html">GetFeatureInfoWSR</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Graticule.html#createControl"><B>createControl(objRef)</B></A> - 
+Instance method in  class <A HREF="Graticule.html">Graticule</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="InsertFeature.html#createControl"><B>createControl(objRef)</B></A> - 
+Instance method in  class <A HREF="InsertFeature.html">InsertFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Measurement.html#createControl"><B>createControl(objRef)</B></A> - 
+Instance method in  class <A HREF="Measurement.html">Measurement</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Save.html#createControl"><B>createControl(objRef)</B></A> - 
+Instance method in  class <A HREF="Save.html">Save</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WfsGetFeature.html#createControl"><B>createControl(objRef)</B></A> - 
+Instance method in  class <A HREF="WfsGetFeature.html">WfsGetFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceRequest.html#createHttpPayload"><B>createHttpPayload(feature)</B></A> - 
+Instance method in  class <A HREF="WebServiceRequest.html">WebServiceRequest</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#createObject"><B>createObject(configNode)</B></A> - 
+Instance method in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="AoiBoxOL.html#cursor"><B>cursor</B></A> - 
+Instance field in  class <A HREF="AoiBoxOL.html">AoiBoxOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#cursor"><B>cursor</B></A> - 
+Instance field in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="DeleteFeature.html#cursor"><B>cursor</B></A> - 
+Instance field in  class <A HREF="DeleteFeature.html">DeleteFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="DragPan.html#cursor"><B>cursor</B></A> - 
+Instance field in  class <A HREF="DragPan.html">DragPan</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditButtonBase.html#cursor"><B>cursor</B></A> - 
+Instance field in  class <A HREF="EditButtonBase.html">EditButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GetFeatureInfo.html#cursor"><B>cursor</B></A> - 
+Instance field in  class <A HREF="GetFeatureInfo.html">GetFeatureInfo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="InsertFeature.html#cursor"><B>cursor</B></A> - 
+Instance field in  class <A HREF="InsertFeature.html">InsertFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Measurement.html#cursor"><B>cursor</B></A> - 
+Instance field in  class <A HREF="Measurement.html">Measurement</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="PanZoomBar.html#cursor"><B>cursor</B></A> - 
+Instance field in  class <A HREF="PanZoomBar.html">PanZoomBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WfsGetFeature.html#cursor"><B>cursor</B></A> - 
+Instance field in  class <A HREF="WfsGetFeature.html">WfsGetFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ZoomIn.html#cursor"><B>cursor</B></A> - 
+Instance field in  class <A HREF="ZoomIn.html">ZoomIn</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CursorTrack.html#"><B>CursorTrack</B></A> - 
+ class <A HREF="CursorTrack.html">CursorTrack</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CursorTrack.html#constructor_detail"><B>CursorTrack(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="CursorTrack.html">CursorTrack</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__D__"><!-- --></A><H2>
+<B>D</B></H2>
+
+<DL>
+<DT><A HREF="ModelBase.html#debug"><B>debug</B></A> - 
+Instance field in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBase.html#debug"><B>debug</B></A> - 
+Instance field in  class <A HREF="WidgetBase.html">WidgetBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#debug"><B>debug(output)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#decreaseLoadingLayers"><B>decreaseLoadingLayers(e)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Config.html#defaultLang"><B>defaultLang</B></A> - 
+Instance field in  class <A HREF="Config.html">Config</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditButtonBase.html#defaultModelUrl"><B>defaultModelUrl</B></A> - 
+Instance field in  class <A HREF="EditButtonBase.html">EditButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OpenLSForm.html#defaultModelUrl"><B>defaultModelUrl</B></A> - 
+Instance field in  class <A HREF="OpenLSForm.html">OpenLSForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererOL.html#defaultStyle"><B>defaultStyle</B></A> - 
+Instance field in  class <A HREF="GmlRendererOL.html">GmlRendererOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererBase.html#defaultStyleName"><B>defaultStyleName</B></A> - 
+Instance field in  class <A HREF="GmlRendererBase.html">GmlRendererBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelUrlInput.html#defaultUrl"><B>defaultUrl</B></A> - 
+Instance field in  class <A HREF="ModelUrlInput.html">ModelUrlInput</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#degToRad"><B>degToRad(deg)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureSelectHandler.html#dehighlight"><B>dehighlight(objRef, fid)</B></A> - 
+Instance method in  class <A HREF="FeatureSelectHandler.html">FeatureSelectHandler</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#delay"><B>delay</B></A> - 
+Instance field in  class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Timer.html#delay"><B>delay</B></A> - 
+Instance field in  class <A HREF="Timer.html">Timer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#deleteAllLayers"><B>deleteAllLayers(objRef)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="DeleteFeature.html#"><B>DeleteFeature</B></A> - 
+ class <A HREF="DeleteFeature.html">DeleteFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="DeleteFeature.html#constructor_detail"><B>DeleteFeature(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="DeleteFeature.html">DeleteFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#deleteLayer"><B>deleteLayer(objRef, layerId)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#deleteLayer"><B>deleteLayer(objRef, layerId)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#deleteLayer"><B>deleteLayer(objRef, layerId)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditContext.html#deleteNode"><B>deleteNode(objRef, featureName)</B></A> - 
+Instance method in  class <A HREF="EditContext.html">EditContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#deleteTemplates"><B>deleteTemplates()</B></A> - 
+Instance method in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="DeleteFeature.html#deleteXsl"><B>deleteXsl</B></A> - 
+Instance field in  class <A HREF="DeleteFeature.html">DeleteFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Graticule.html#diffLat"><B>diffLat</B></A> - 
+Instance field in  class <A HREF="Graticule.html">Graticule</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Graticule.html#diffLon"><B>diffLon</B></A> - 
+Instance field in  class <A HREF="Graticule.html">Graticule</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Graticule.html#display"><B>display</B></A> - 
+Instance field in  class <A HREF="Graticule.html">Graticule</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OWSCatSearchForm.html#displayAoiCoords"><B>displayAoiCoords(objRef)</B></A> - 
+Instance method in  class <A HREF="OWSCatSearchForm.html">OWSCatSearchForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="AoiForm.html#displayAoiCoords"><B>displayAoiCoords(objRef, targetNode)</B></A> - 
+Instance method in  class <A HREF="AoiForm.html">AoiForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#displayOutsideMaxExtent"><B>displayOutsideMaxExtent</B></A> - 
+Instance field in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#displaySystem"><B>displaySystem</B></A> - 
+Instance field in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#div"><B>div</B></A> - 
+Instance field in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#divisions"><B>divisions</B></A> - 
+Instance field in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Graticule.html#divs"><B>divs</B></A> - 
+Instance field in  class <A HREF="Graticule.html">Graticule</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Graticule.html#dLon"><B>dLon</B></A> - 
+Instance field in  class <A HREF="Graticule.html">Graticule</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#doAction"><B>doAction()</B></A> - 
+Instance method in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Measurement.html#doAction"><B>doAction(objRef)</B></A> - 
+Instance method in  class <A HREF="Measurement.html">Measurement</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Config.html#doc"><B>doc</B></A> - 
+Instance field in  class <A HREF="Config.html">Config</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Logger.html#doc"><B>doc</B></A> - 
+Instance field in  class <A HREF="Logger.html">Logger</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XslProcessor.html#docNSUri"><B>docNSUri</B></A> - 
+Instance field in  class <A HREF="XslProcessor.html">XslProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Mapbuilder.html#doLoadScript"><B>doLoadScript(script)</B></A> - 
+Instance method in  class <A HREF="Mapbuilder.html">Mapbuilder</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="DOMParser.html#"><B>DOMParser</B></A> - 
+ class <A HREF="DOMParser.html">DOMParser</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GetFeatureInfoWSR.html#doOnClick"><B>doOnClick(e)</B></A> - 
+Instance method in  class <A HREF="GetFeatureInfoWSR.html">GetFeatureInfoWSR</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceRequest.html#doRequest"><B>doRequest(objRef, featureName)</B></A> - 
+Instance method in  class <A HREF="WebServiceRequest.html">WebServiceRequest</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#doSelect"><B>doSelect(objRef, selected)</B></A> - 
+Instance method in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="DeleteFeature.html#doSelect"><B>doSelect(objRef, selected)</B></A> - 
+Instance method in  class <A HREF="DeleteFeature.html">DeleteFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditButtonBase.html#doSelect"><B>doSelect(objRef, selected)</B></A> - 
+Instance method in  class <A HREF="EditButtonBase.html">EditButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GetFeatureInfoWSR.html#doSelect"><B>doSelect(objRef, selected)</B></A> - 
+Instance method in  class <A HREF="GetFeatureInfoWSR.html">GetFeatureInfoWSR</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="InsertFeature.html#doSelect"><B>doSelect(objRef, selected)</B></A> - 
+Instance method in  class <A HREF="InsertFeature.html">InsertFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="DragPan.html#"><B>DragPan</B></A> - 
+ class <A HREF="DragPan.html">DragPan</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="DragPan.html#constructor_detail"><B>DragPan(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="DragPan.html">DragPan</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="AoiBoxOL.html#drawAoiBox"><B>drawAoiBox(objRef)</B></A> - 
+Instance method in  class <A HREF="AoiBoxOL.html">AoiBoxOL</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__E__"><!-- --></A><H2>
+<B>E</B></H2>
+
+<DL>
+<DT><A HREF="EditButtonBase.html#"><B>EditButtonBase</B></A> - 
+ class <A HREF="EditButtonBase.html">EditButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditButtonBase.html#constructor_detail"><B>EditButtonBase(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="EditButtonBase.html">EditButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditContext.html#"><B>EditContext</B></A> - 
+ class <A HREF="EditContext.html">EditContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditContext.html#constructor_detail"><B>EditContext(toolNode, model)</B></A> - 
+Constructor in  class <A HREF="EditContext.html">EditContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditLine.html#"><B>EditLine</B></A> - 
+ class <A HREF="EditLine.html">EditLine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditLine.html#constructor_detail"><B>EditLine(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="EditLine.html">EditLine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditPoint.html#"><B>EditPoint</B></A> - 
+ class <A HREF="EditPoint.html">EditPoint</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditPoint.html#constructor_detail"><B>EditPoint(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="EditPoint.html">EditPoint</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditPolygon.html#"><B>EditPolygon</B></A> - 
+ class <A HREF="EditPolygon.html">EditPolygon</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditPolygon.html#constructor_detail"><B>EditPolygon(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="EditPolygon.html">EditPolygon</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ToolBase.html#enabled"><B>enabled</B></A> - 
+Instance field in  class <A HREF="ToolBase.html">ToolBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Sarissa.html#escape"><B>escape(sXml)</B></A> - 
+Class method in  class <A HREF="Sarissa.html">Sarissa</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EventLog.html#"><B>EventLog</B></A> - 
+ class <A HREF="EventLog.html">EventLog</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EventLog.html#constructor_detail"><B>EventLog(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="EventLog.html">EventLog</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Timer.html#eventName"><B>eventName</B></A> - 
+Instance field in  class <A HREF="Timer.html">Timer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Timer.html#eventValue"><B>eventValue</B></A> - 
+Instance field in  class <A HREF="Timer.html">Timer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#"><B>Extent</B></A> - 
+ class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#constructor_detail"><B>Extent( model, initialRes )</B></A> - 
+Constructor in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__F__"><!-- --></A><H2>
+<B>F</B></H2>
+
+<DL>
+<DT><A HREF="FeatureCollection.html#"><B>FeatureCollection</B></A> - 
+ class <A HREF="FeatureCollection.html">FeatureCollection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureCollection.html#constructor_detail"><B>FeatureCollection(modelNode, parent)</B></A> - 
+Constructor in  class <A HREF="FeatureCollection.html">FeatureCollection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GetFeatureInfo.html#featureCount"><B>featureCount</B></A> - 
+Instance field in  class <A HREF="GetFeatureInfo.html">GetFeatureInfo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureInfo.html#"><B>FeatureInfo</B></A> - 
+ class <A HREF="FeatureInfo.html">FeatureInfo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureInfo.html#constructor_detail"><B>FeatureInfo(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="FeatureInfo.html">FeatureInfo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureList.html#"><B>FeatureList</B></A> - 
+ class <A HREF="FeatureList.html">FeatureList</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureList.html#constructor_detail"><B>FeatureList(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="FeatureList.html">FeatureList</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureSelectHandler.html#"><B>FeatureSelectHandler</B></A> - 
+ class <A HREF="FeatureSelectHandler.html">FeatureSelectHandler</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureSelectHandler.html#constructor_detail"><B>FeatureSelectHandler(toolNode, model)</B></A> - 
+Constructor in  class <A HREF="FeatureSelectHandler.html">FeatureSelectHandler</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererBase.html#featureSRS"><B>featureSRS</B></A> - 
+Instance field in  class <A HREF="GmlRendererBase.html">GmlRendererBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureCollection.html#featureTagName"><B>featureTagName</B></A> - 
+Instance field in  class <A HREF="FeatureCollection.html">FeatureCollection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditButtonBase.html#featureXpath"><B>featureXpath</B></A> - 
+Instance field in  class <A HREF="EditButtonBase.html">EditButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FilterAttributes.html#"><B>FilterAttributes</B></A> - 
+ class <A HREF="FilterAttributes.html">FilterAttributes</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FilterAttributes.html#constructor_detail"><B>FilterAttributes(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="FilterAttributes.html">FilterAttributes</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#finishLoading"><B>finishLoading()</B></A> - 
+Instance method in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#firstInit"><B>firstInit(extent, initialRes)</B></A> - 
+Instance method in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ZoomToAoi.html#firstInit"><B>firstInit(tool)</B></A> - 
+Instance method in  class <A HREF="ZoomToAoi.html">ZoomToAoi</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#fixedScale"><B>fixedScale</B></A> - 
+Instance field in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="LayerControl.html#foldUnfoldGroup"><B>foldUnfoldGroup(groupName,id)</B></A> - 
+Instance method in  class <A HREF="LayerControl.html">LayerControl</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#formatMGRS"><B>formatMGRS()</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#formatNumber"><B>formatNumber(aNumber, numDecimals)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FormBase.html#"><B>FormBase</B></A> - 
+ class <A HREF="FormBase.html">FormBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FormBase.html#constructor_detail"><B>FormBase(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="FormBase.html">FormBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceForm.html#formElements"><B>formElements</B></A> - 
+Instance field in  class <A HREF="WebServiceForm.html">WebServiceForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="AoiForm.html#formName"><B>formName</B></A> - 
+Instance field in  class <A HREF="AoiForm.html">AoiForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CursorTrack.html#formName"><B>formName</B></A> - 
+Instance field in  class <A HREF="CursorTrack.html">CursorTrack</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FormBase.html#formName"><B>formName</B></A> - 
+Instance field in  class <A HREF="FormBase.html">FormBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleText.html#formName"><B>formName</B></A> - 
+Instance field in  class <A HREF="MapScaleText.html">MapScaleText</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelUrlInput.html#formName"><B>formName</B></A> - 
+Instance field in  class <A HREF="ModelUrlInput.html">ModelUrlInput</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OpenLSForm.html#formName"><B>formName</B></A> - 
+Instance field in  class <A HREF="OpenLSForm.html">OpenLSForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OWSCatSearchForm.html#formName"><B>formName</B></A> - 
+Instance field in  class <A HREF="OWSCatSearchForm.html">OWSCatSearchForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ServiceRegistryList.html#formName"><B>formName</B></A> - 
+Instance field in  class <A HREF="ServiceRegistryList.html">ServiceRegistryList</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ShowDistance.html#formName"><B>formName</B></A> - 
+Instance field in  class <A HREF="ShowDistance.html">ShowDistance</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Timestamp.html#formName"><B>formName</B></A> - 
+Instance field in  class <A HREF="Timestamp.html">Timestamp</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceForm.html#formName"><B>formName</B></A> - 
+Instance field in  class <A HREF="WebServiceForm.html">WebServiceForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Forward.html#"><B>Forward</B></A> - 
+ class <A HREF="Forward.html">Forward</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="History.html#forward"><B>forward(objRef)</B></A> - 
+Instance method in  class <A HREF="History.html">History</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Forward.html#constructor_detail"><B>Forward(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="Forward.html">Forward</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#frameIncrement"><B>frameIncrement</B></A> - 
+Instance field in  class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#frameIsLoading"><B>frameIsLoading</B></A> - 
+Instance field in  class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__G__"><!-- --></A><H2>
+<B>G</B></H2>
+
+<DL>
+<DT><A HREF="OpenLSForm.html#geocodeServerUrl"><B>geocodeServerUrl</B></A> - 
+Instance field in  class <A HREF="OpenLSForm.html">OpenLSForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GeoRSS.html#"><B>GeoRSS</B></A> - 
+ class <A HREF="GeoRSS.html">GeoRSS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GeoRSS.html#constructor_detail"><B>GeoRSS(modelNode, parent)</B></A> - 
+Constructor in  class <A HREF="GeoRSS.html">GeoRSS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#get100kID"><B>get100kID( easting, northing, zone_number)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#get100kSetForZone"><B>get100kSetForZone(i)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#getAbsPos"><B>getAbsPos(elt,which)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#getAbsX"><B>getAbsX(elt)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#getAbsY"><B>getAbsY(elt)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#getAllLayers"><B>getAllLayers()</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getAllLayers"><B>getAllLayers()</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#getArgs"><B>getArgs()</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getBaseLayer"><B>getBaseLayer()</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getBaseLayerService"><B>getBaseLayerService()</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#getBbox"><B>getBbox()</B></A> - 
+Instance method in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#getBoundingBox"><B>getBoundingBox()</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getBoundingBox"><B>getBoundingBox()</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#getButtonClass"><B>getButtonClass(objRef, state)</B></A> - 
+Instance method in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#getCenter"><B>getCenter()</B></A> - 
+Instance method in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OverviewMap.html#getClonedLayer"><B>getClonedLayer(layer, isBaseLayer)</B></A> - 
+Instance method in  class <A HREF="OverviewMap.html">OverviewMap</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#getContainerNode"><B>getContainerNode()</B></A> - 
+Instance method in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#getCurrentTimestamp"><B>getCurrentTimestamp( layerId )</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getCurrentTimestamp"><B>getCurrentTimestamp( layerName )</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Sarissa.html#getDomDocument"><B>getDomDocument(sUri, sName)</B></A> - 
+Class method in  class <A HREF="Sarissa.html">Sarissa</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#getExtension"><B>getExtension()</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getExtension"><B>getExtension()</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureCollection.html#getFeatureGeometry"><B>getFeatureGeometry(featureNode)</B></A> - 
+Instance method in  class <A HREF="FeatureCollection.html">FeatureCollection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GeoRSS.html#getFeatureGeometry"><B>getFeatureGeometry(featureNode)</B></A> - 
+Instance method in  class <A HREF="GeoRSS.html">GeoRSS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GeoRSS.html#getFeatureGml"><B>getFeatureGml(featureNode)</B></A> - 
+Instance method in  class <A HREF="GeoRSS.html">GeoRSS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GeoRSS.html#getFeatureIcon"><B>getFeatureIcon( featureNode )</B></A> - 
+Instance method in  class <A HREF="GeoRSS.html">GeoRSS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureCollection.html#getFeatureId"><B>getFeatureId(featureNode)</B></A> - 
+Instance method in  class <A HREF="FeatureCollection.html">FeatureCollection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GeoRSS.html#getFeatureId"><B>getFeatureId(featureNode)</B></A> - 
+Instance method in  class <A HREF="GeoRSS.html">GeoRSS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GetFeatureInfo.html#"><B>GetFeatureInfo</B></A> - 
+ class <A HREF="GetFeatureInfo.html">GetFeatureInfo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GetFeatureInfo.html#constructor_detail"><B>GetFeatureInfo(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="GetFeatureInfo.html">GetFeatureInfo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GetFeatureInfoWSR.html#"><B>GetFeatureInfoWSR</B></A> - 
+ class <A HREF="GetFeatureInfoWSR.html">GetFeatureInfoWSR</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GetFeatureInfoWSR.html#constructor_detail"><B>GetFeatureInfoWSR(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="GetFeatureInfoWSR.html">GetFeatureInfoWSR</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureCollection.html#getFeatureName"><B>getFeatureName(featureNode)</B></A> - 
+Instance method in  class <A HREF="FeatureCollection.html">FeatureCollection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GeoRSS.html#getFeatureName"><B>getFeatureName(featureNode)</B></A> - 
+Instance method in  class <A HREF="GeoRSS.html">GeoRSS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#getFeatureNode"><B>getFeatureNode(featureName)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsCatResources.html#getFeatureNode"><B>getFeatureNode(featureName)</B></A> - 
+Instance method in  class <A HREF="OwsCatResources.html">OwsCatResources</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WfsCapabilities.html#getFeatureNode"><B>getFeatureNode(featureName)</B></A> - 
+Instance method in  class <A HREF="WfsCapabilities.html">WfsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WmsCapabilities.html#getFeatureNode"><B>getFeatureNode(featureName)</B></A> - 
+Instance method in  class <A HREF="WmsCapabilities.html">WmsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WpsCapabilities.html#getFeatureNode"><B>getFeatureNode(featureName)</B></A> - 
+Instance method in  class <A HREF="WpsCapabilities.html">WpsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WpsDescribeProcess.html#getFeatureNode"><B>getFeatureNode(featureName)</B></A> - 
+Instance method in  class <A HREF="WpsDescribeProcess.html">WpsDescribeProcess</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getFeatureNode"><B>getFeatureNode(layerId)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureCollection.html#getFeatureNodes"><B>getFeatureNodes()</B></A> - 
+Instance method in  class <A HREF="FeatureCollection.html">FeatureCollection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GeoRSS.html#getFeatureNodes"><B>getFeatureNodes()</B></A> - 
+Instance method in  class <A HREF="GeoRSS.html">GeoRSS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureCollection.html#getFeaturePoint"><B>getFeaturePoint(featureNode)</B></A> - 
+Instance method in  class <A HREF="FeatureCollection.html">FeatureCollection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GeoRSS.html#getFeaturePoint"><B>getFeaturePoint(featureNode)</B></A> - 
+Instance method in  class <A HREF="GeoRSS.html">GeoRSS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#getFixedScale"><B>getFixedScale(res)</B></A> - 
+Instance method in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#getGeoCoordX"><B>getGeoCoordX(context, xCooord)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#getGeoCoordY"><B>getGeoCoordY(yCoord)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#getGraphicsContainerNode"><B>getGraphicsContainerNode()</B></A> - 
+Instance method in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CursorTrack.html#getHemi"><B>getHemi(coordinate, type)</B></A> - 
+Instance method in  class <A HREF="CursorTrack.html">CursorTrack</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#getHidden"><B>getHidden(layerId)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getHidden"><B>getHidden(layerId)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureCollection.html#getHidden"><B>getHidden(layerName)</B></A> - 
+Instance method in  class <A HREF="FeatureCollection.html">FeatureCollection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WmsCapabilities.html#getImageFormat"><B>getImageFormat()</B></A> - 
+Instance method in  class <A HREF="WmsCapabilities.html">WmsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#getLabelContainerNode"><B>getLabelContainerNode()</B></A> - 
+Instance method in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#getLayer"><B>getLayer(layerId)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getLayer"><B>getLayer(layerId)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#getLayer"><B>getLayer(objRef,layerId)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#getLayerIdByName"><B>getLayerIdByName(layerName)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getLayerIdByName"><B>getLayerIdByName(layerName)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#getLetter100kID"><B>getLetter100kID( column, row, parm)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#getLetterDesignator"><B>getLetterDesignator(lat)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WfsCapabilities.html#getMethod"><B>getMethod()</B></A> - 
+Instance method in  class <A HREF="WfsCapabilities.html">WfsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WpsCapabilities.html#getMethod"><B>getMethod()</B></A> - 
+Instance method in  class <A HREF="WpsCapabilities.html">WpsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WpsDescribeProcess.html#getMethod"><B>getMethod()</B></A> - 
+Instance method in  class <A HREF="WpsDescribeProcess.html">WpsDescribeProcess</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#getMethod"><B>getMethod(feature)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getMethod"><B>getMethod(feature)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBase.html#getNode"><B>getNode()</B></A> - 
+Instance method in  class <A HREF="WidgetBase.html">WidgetBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#getNodeValue"><B>getNodeValue(sResult)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#getNumbersContainerNode"><B>getNumbersContainerNode()</B></A> - 
+Instance method in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#getOpacity"><B>getOpacity(layerId)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getOpacity"><B>getOpacity(layerId)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#getPageX"><B>getPageX(e)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#getPageY"><B>getPageY(e)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Listener.html#getParam"><B>getParam(param)</B></A> - 
+Instance method in  class <A HREF="Listener.html">Listener</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XSLTProcessor.html#getParameter"><B>getParameter(nsURI, name)</B></A> - 
+Instance method in  class <A HREF="XSLTProcessor.html">XSLTProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Sarissa.html#getParseErrorText"><B>getParseErrorText(oDoc)</B></A> - 
+Class method in  class <A HREF="Sarissa.html">Sarissa</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#getPL"><B>getPL(xy)</B></A> - 
+Instance method in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Mapbuilder.html#getProperty"><B>getProperty(domNode, propertyName, defaultValue)</B></A> - 
+Class method in  class <A HREF="Mapbuilder.html">Mapbuilder</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#getProperty"><B>getProperty(property, defaultValue)</B></A> - 
+Instance method in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ToolBase.html#getProperty"><B>getProperty(property, defaultValue)</B></A> - 
+Instance method in  class <A HREF="ToolBase.html">ToolBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBase.html#getProperty"><B>getProperty(property, defaultValue)</B></A> - 
+Instance method in  class <A HREF="WidgetBase.html">WidgetBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#getProxyPlusUrl"><B>getProxyPlusUrl(url)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#getQueryableLayers"><B>getQueryableLayers()</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getQueryableLayers"><B>getQueryableLayers()</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#getScale"><B>getScale()</B></A> - 
+Instance method in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#getScreenX"><B>getScreenX(context, xCoord)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#getScreenY"><B>getScreenY(context, yCoord)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WmsCapabilities.html#getServerTitle"><B>getServerTitle()</B></A> - 
+Instance method in  class <A HREF="WmsCapabilities.html">WmsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#getServerUrl"><B>getServerUrl(requestName, method, feature)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getServerUrl"><B>getServerUrl(requestName, method, feature)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WfsCapabilities.html#getServerUrl"><B>getServerUrl(requestName, method, feature)</B></A> - 
+Instance method in  class <A HREF="WfsCapabilities.html">WfsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WmsCapabilities.html#getServerUrl"><B>getServerUrl(requestName, method, feature)</B></A> - 
+Instance method in  class <A HREF="WmsCapabilities.html">WmsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WpsCapabilities.html#getServerUrl"><B>getServerUrl(requestName, method, feature)</B></A> - 
+Instance method in  class <A HREF="WpsCapabilities.html">WpsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WpsDescribeProcess.html#getServerUrl"><B>getServerUrl(requestName, method, feature)</B></A> - 
+Instance method in  class <A HREF="WpsDescribeProcess.html">WpsDescribeProcess</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WmsCapabilities.html#getServiceName"><B>getServiceName()</B></A> - 
+Instance method in  class <A HREF="WmsCapabilities.html">WmsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#getSize"><B>getSize()</B></A> - 
+Instance method in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="StyledLayerDescriptor.html#getSldNode"><B>getSldNode()</B></A> - 
+Instance method in  class <A HREF="StyledLayerDescriptor.html">StyledLayerDescriptor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#getSRS"><B>getSRS()</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getSRS"><B>getSRS()</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MergeModels.html#getTemplate"><B>getTemplate(objRef)</B></A> - 
+Instance method in  class <A HREF="MergeModels.html">MergeModels</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Sarissa.html#getText"><B>getText(oNode, deep)</B></A> - 
+Class method in  class <A HREF="Sarissa.html">Sarissa</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WfsCapabilities.html#getVersion"><B>getVersion()</B></A> - 
+Instance method in  class <A HREF="WfsCapabilities.html">WfsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WmsCapabilities.html#getVersion"><B>getVersion()</B></A> - 
+Instance method in  class <A HREF="WmsCapabilities.html">WmsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WpsCapabilities.html#getVersion"><B>getVersion()</B></A> - 
+Instance method in  class <A HREF="WpsCapabilities.html">WpsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WpsDescribeProcess.html#getVersion"><B>getVersion()</B></A> - 
+Instance method in  class <A HREF="WpsDescribeProcess.html">WpsDescribeProcess</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#getVersion"><B>getVersion(feature)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getVersion"><B>getVersion(feature)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#getWebSafeStyle"><B>getWebSafeStyle(objRef, colorNumber)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#getWindowHeight"><B>getWindowHeight()</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getWindowHeight"><B>getWindowHeight()</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#getWindowSize"><B>getWindowSize()</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getWindowSize"><B>getWindowSize()</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#getWindowWidth"><B>getWindowWidth()</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#getWindowWidth"><B>getWindowWidth()</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#getXpathValue"><B>getXpathValue(objRef,xpath)</B></A> - 
+Instance method in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#getXY"><B>getXY(pl)</B></A> - 
+Instance method in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#"><B>GLOBALS</B></A> - 
+ class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererBase.html#"><B>GmlRendererBase</B></A> - 
+ class <A HREF="GmlRendererBase.html">GmlRendererBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererBase.html#constructor_detail"><B>GmlRendererBase(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="GmlRendererBase.html">GmlRendererBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererConfig.html#"><B>GmlRendererConfig</B></A> - 
+ class <A HREF="GmlRendererConfig.html">GmlRendererConfig</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererConfig.html#constructor_detail"><B>GmlRendererConfig(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="GmlRendererConfig.html">GmlRendererConfig</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererOL.html#"><B>GmlRendererOL</B></A> - 
+ class <A HREF="GmlRendererOL.html">GmlRendererOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererOL.html#constructor_detail"><B>GmlRendererOL(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="GmlRendererOL.html">GmlRendererOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#graphicsContainerId"><B>graphicsContainerId</B></A> - 
+Instance field in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Graticule.html#"><B>Graticule</B></A> - 
+ class <A HREF="Graticule.html">Graticule</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Graticule.html#constructor_detail"><B>Graticule(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="Graticule.html">Graticule</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__H__"><!-- --></A><H2>
+<B>H</B></H2>
+
+<DL>
+<DT><A HREF="GLOBALS.html#handleEventWithObject"><B>handleEventWithObject(evt)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditButtonBase.html#handleFeatureInsert"><B>handleFeatureInsert(feature)</B></A> - 
+Instance method in  class <A HREF="EditButtonBase.html">EditButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FormBase.html#handleKeyPress"><B>handleKeyPress(event)</B></A> - 
+Instance method in  class <A HREF="FormBase.html">FormBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleText.html#handleKeyPress"><B>handleKeyPress(event)</B></A> - 
+Instance method in  class <A HREF="MapScaleText.html">MapScaleText</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelUrlInput.html#handleKeyPress"><B>handleKeyPress(event)</B></A> - 
+Instance method in  class <A HREF="ModelUrlInput.html">ModelUrlInput</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OWSCatSearchForm.html#handleKeyPress"><B>handleKeyPress(event)</B></A> - 
+Instance method in  class <A HREF="OWSCatSearchForm.html">OWSCatSearchForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceForm.html#handleKeyPress"><B>handleKeyPress(event)</B></A> - 
+Instance method in  class <A HREF="WebServiceForm.html">WebServiceForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="AoiBoxOL.html#handler"><B>handler</B></A> - 
+Instance field in  class <A HREF="AoiBoxOL.html">AoiBoxOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GetFeatureInfo.html#handler"><B>handler</B></A> - 
+Instance field in  class <A HREF="GetFeatureInfo.html">GetFeatureInfo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WfsGetFeature.html#handler"><B>handler</B></A> - 
+Instance field in  class <A HREF="WfsGetFeature.html">WfsGetFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="DeleteFeature.html#handleResponse"><B>handleResponse(objRef)</B></A> - 
+Instance method in  class <A HREF="DeleteFeature.html">DeleteFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="InsertFeature.html#handleResponse"><B>handleResponse(objRef)</B></A> - 
+Instance method in  class <A HREF="InsertFeature.html">InsertFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="HandsomeNumber.html#"><B>HandsomeNumber</B></A> - 
+ class <A HREF="HandsomeNumber.html">HandsomeNumber</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="HandsomeNumber.html#constructor_detail"><B>HandsomeNumber(smallUglyNumber, bigUglyNumber, sigFigs)</B></A> - 
+Constructor in  class <A HREF="HandsomeNumber.html">HandsomeNumber</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#height"><B>height</B></A> - 
+Instance field in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Graticule.html#height"><B>height</B></A> - 
+Instance field in  class <A HREF="Graticule.html">Graticule</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureCollection.html#hidden"><B>hidden</B></A> - 
+Instance field in  class <A HREF="FeatureCollection.html">FeatureCollection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#hidden"><B>hidden(objRef, layerId)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererOL.html#hiddenListener"><B>hiddenListener(objRef, layerName)</B></A> - 
+Instance method in  class <A HREF="GmlRendererOL.html">GmlRendererOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererOL.html#hideFeature"><B>hideFeature(objRef, fid)</B></A> - 
+Instance method in  class <A HREF="GmlRendererOL.html">GmlRendererOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureSelectHandler.html#highlight"><B>highlight(objRef, fid)</B></A> - 
+Instance method in  class <A HREF="FeatureSelectHandler.html">FeatureSelectHandler</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="LayerControl.html#highlightLayer"><B>highlightLayer(layerId)</B></A> - 
+Instance method in  class <A HREF="LayerControl.html">LayerControl</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="History.html#"><B>History</B></A> - 
+ class <A HREF="History.html">History</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="History.html#constructor_detail"><B>History(toolNode, model)</B></A> - 
+Constructor in  class <A HREF="History.html">History</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererOL.html#hoverCursor"><B>hoverCursor</B></A> - 
+Instance field in  class <A HREF="GmlRendererOL.html">GmlRendererOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererBase.html#hoverCursorNode"><B>hoverCursorNode</B></A> - 
+Instance field in  class <A HREF="GmlRendererBase.html">GmlRendererBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#htmlTagId"><B>htmlTagId</B></A> - 
+Instance field in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Loading2.html#htmlTagId"><B>htmlTagId</B></A> - 
+Instance field in  class <A HREF="Loading2.html">Loading2</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBase.html#htmlTagId"><B>htmlTagId</B></A> - 
+Instance field in  class <A HREF="WidgetBase.html">WidgetBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="DeleteFeature.html#httpPayload"><B>httpPayload</B></A> - 
+Instance field in  class <A HREF="DeleteFeature.html">DeleteFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="InsertFeature.html#httpPayload"><B>httpPayload</B></A> - 
+Instance field in  class <A HREF="InsertFeature.html">InsertFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WfsGetFeature.html#httpPayload"><B>httpPayload</B></A> - 
+Instance field in  class <A HREF="WfsGetFeature.html">WfsGetFeature</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__I__"><!-- --></A><H2>
+<B>I</B></H2>
+
+<DL>
+<DT><A HREF="Extent.html#id"><B>id</B></A> - 
+Instance field in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#id"><B>id</B></A> - 
+Instance field in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBase.html#id"><B>id</B></A> - 
+Instance field in  class <A HREF="WidgetBase.html">WidgetBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#imageBuffer"><B>imageBuffer</B></A> - 
+Instance field in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#imageLoaded"><B>imageLoaded()</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#imageReproject"><B>imageReproject</B></A> - 
+Instance field in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Loading2.html#imageSrc"><B>imageSrc</B></A> - 
+Instance field in  class <A HREF="Loading2.html">Loading2</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XSLTProcessor.html#importStylesheet"><B>importStylesheet(xslDoc)</B></A> - 
+Instance method in  class <A HREF="XSLTProcessor.html">XSLTProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#increaseLoadingLayers"><B>increaseLoadingLayers(e)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GetFeatureInfo.html#infoFormat"><B>infoFormat</B></A> - 
+Instance field in  class <A HREF="GetFeatureInfo.html">GetFeatureInfo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#init"><B>init(extent, initialRes)</B></A> - 
+Instance method in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="AoiBoxOL.html#init"><B>init(objRef)</B></A> - 
+Instance method in  class <A HREF="AoiBoxOL.html">AoiBoxOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CursorTrack.html#init"><B>init(objRef)</B></A> - 
+Instance method in  class <A HREF="CursorTrack.html">CursorTrack</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureSelectHandler.html#init"><B>init(objRef)</B></A> - 
+Instance method in  class <A HREF="FeatureSelectHandler.html">FeatureSelectHandler</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererConfig.html#init"><B>init(objRef)</B></A> - 
+Instance method in  class <A HREF="GmlRendererConfig.html">GmlRendererConfig</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererOL.html#init"><B>init(objRef)</B></A> - 
+Instance method in  class <A HREF="GmlRendererOL.html">GmlRendererOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="History.html#init"><B>init(objRef)</B></A> - 
+Instance method in  class <A HREF="History.html">History</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MergeModels.html#init"><B>init(objRef)</B></A> - 
+Instance method in  class <A HREF="MergeModels.html">MergeModels</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#init"><B>init(objRef)</B></A> - 
+Instance method in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#init"><B>init(objRef)</B></A> - 
+Instance method in  class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="PanZoomBar.html#init"><B>init(objRef)</B></A> - 
+Instance method in  class <A HREF="PanZoomBar.html">PanZoomBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceForm.html#init"><B>init(objRef)</B></A> - 
+Instance method in  class <A HREF="WebServiceForm.html">WebServiceForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceRequest.html#init"><B>init(objRef)</B></A> - 
+Instance method in  class <A HREF="WebServiceRequest.html">WebServiceRequest</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#initAoi"><B>initAoi(objRef)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#initAoi"><B>initAoi(objRef)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#initBbox"><B>initBbox(objRef)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#initBbox"><B>initBbox(objRef)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditButtonBase.html#initButton"><B>initButton(objRef)</B></A> - 
+Instance method in  class <A HREF="EditButtonBase.html">EditButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GeoRSS.html#initItems"><B>initItems(objRef)</B></A> - 
+Instance method in  class <A HREF="GeoRSS.html">GeoRSS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ToolBase.html#initMouseHandler"><B>initMouseHandler(toolRef)</B></A> - 
+Instance method in  class <A HREF="ToolBase.html">ToolBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ZoomToAoi.html#initProj"><B>initProj( toolRef )</B></A> - 
+Instance method in  class <A HREF="ZoomToAoi.html">ZoomToAoi</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#initProj"><B>initProj(objRef)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#initProj"><B>initProj(objRef)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="History.html#initReset"><B>initReset(objRef)</B></A> - 
+Instance method in  class <A HREF="History.html">History</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TabbedContent.html#initTabs"><B>initTabs(objRef)</B></A> - 
+Instance method in  class <A HREF="TabbedContent.html">TabbedContent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBase.html#initTargetModel"><B>initTargetModel(objRef)</B></A> - 
+Instance method in  class <A HREF="WidgetBase.html">WidgetBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ToolBase.html#initTargetModel"><B>initTargetModel(toolRef)</B></A> - 
+Instance method in  class <A HREF="ToolBase.html">ToolBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#initTimeExtent"><B>initTimeExtent( objRef )</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#initTimeExtent"><B>initTimeExtent( objRef )</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="InsertFeature.html#"><B>InsertFeature</B></A> - 
+ class <A HREF="InsertFeature.html">InsertFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="InsertFeature.html#constructor_detail"><B>InsertFeature(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="InsertFeature.html">InsertFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="InsertFeature.html#insertXsl"><B>insertXsl</B></A> - 
+Instance field in  class <A HREF="InsertFeature.html">InsertFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditLine.html#instantiateControl"><B>instantiateControl(objRef, Control)</B></A> - 
+Instance method in  class <A HREF="EditLine.html">EditLine</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditPoint.html#instantiateControl"><B>instantiateControl(objRef, Control)</B></A> - 
+Instance method in  class <A HREF="EditPoint.html">EditPoint</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditPolygon.html#instantiateControl"><B>instantiateControl(objRef, Control)</B></A> - 
+Instance method in  class <A HREF="EditPolygon.html">EditPolygon</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Measurement.html#instantiateControl"><B>instantiateControl(objRef, Control)</B></A> - 
+Instance method in  class <A HREF="Measurement.html">Measurement</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Timer.html#interval"><B>interval</B></A> - 
+Instance field in  class <A HREF="Timer.html">Timer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#isRunning"><B>isRunning</B></A> - 
+Instance field in  class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__L__"><!-- --></A><H2>
+<B>L</B></H2>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#labelContainerId"><B>labelContainerId</B></A> - 
+Instance field in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Config.html#lang"><B>lang</B></A> - 
+Instance field in  class <A HREF="Config.html">Config</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="LayerControl.html#"><B>LayerControl</B></A> - 
+ class <A HREF="LayerControl.html">LayerControl</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="LayerControl.html#constructor_detail"><B>LayerControl(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="LayerControl.html">LayerControl</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OverviewMap.html#layerNames"><B>layerNames</B></A> - 
+Instance field in  class <A HREF="OverviewMap.html">OverviewMap</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Legend.html#"><B>Legend</B></A> - 
+ class <A HREF="Legend.html">Legend</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Legend.html#constructor_detail"><B>Legend(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="Legend.html">Legend</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="LegendGraphic.html#"><B>LegendGraphic</B></A> - 
+ class <A HREF="LegendGraphic.html">LegendGraphic</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="LegendGraphic.html#constructor_detail"><B>LegendGraphic(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="LegendGraphic.html">LegendGraphic</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Listener.html#"><B>Listener</B></A> - 
+ class <A HREF="Listener.html">Listener</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Listener.html#constructor_detail"><B>Listener()</B></A> - 
+Constructor in  class <A HREF="Listener.html">Listener</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Listener.html#listeners"><B>listeners</B></A> - 
+Instance field in  class <A HREF="Listener.html">Listener</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#LLtoUTM"><B>LLtoUTM()</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#loadCss"><B>loadCss(cssFileName)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererOL.html#loaded"><B>loaded</B></A> - 
+Instance field in  class <A HREF="GmlRendererOL.html">GmlRendererOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#loadFeatures"><B>loadFeatures(objRef)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Loading.html#"><B>Loading</B></A> - 
+ class <A HREF="Loading.html">Loading</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Loading.html#constructor_detail"><B>Loading(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="Loading.html">Loading</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Loading2.html#"><B>Loading2</B></A> - 
+ class <A HREF="Loading2.html">Loading2</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Loading2.html#constructor_detail"><B>Loading2(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="Loading2.html">Loading2</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#loadingLayers"><B>loadingLayers</B></A> - 
+Instance field in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Mapbuilder.html#loadingScripts"><B>loadingScripts</B></A> - 
+Instance field in  class <A HREF="Mapbuilder.html">Mapbuilder</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Config.html#loadModel"><B>loadModel( modelId, modelUrl )</B></A> - 
+Instance method in  class <A HREF="Config.html">Config</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#loadModelDoc"><B>loadModelDoc(objRef)</B></A> - 
+Instance method in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Mapbuilder.html#loadNextScript"><B>loadNextScript()</B></A> - 
+Instance method in  class <A HREF="Mapbuilder.html">Mapbuilder</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#loadObjects"><B>loadObjects(objectXpath)</B></A> - 
+Instance method in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Mapbuilder.html#loadOrdered"><B>loadOrdered</B></A> - 
+Instance field in  class <A HREF="Mapbuilder.html">Mapbuilder</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Mapbuilder.html#loadScript"><B>loadScript(url)</B></A> - 
+Instance method in  class <A HREF="Mapbuilder.html">Mapbuilder</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Mapbuilder.html#loadScriptsFromXpath"><B>loadScriptsFromXpath(nodes,dir)</B></A> - 
+Instance method in  class <A HREF="Mapbuilder.html">Mapbuilder</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="StyledLayerDescriptor.html#loadSLD"><B>loadSLD(objRef)</B></A> - 
+Instance method in  class <A HREF="StyledLayerDescriptor.html">StyledLayerDescriptor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Mapbuilder.html#loadState"><B>loadState</B></A> - 
+Instance field in  class <A HREF="Mapbuilder.html">Mapbuilder</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureCollection.html#loadWfsRequests"><B>loadWfsRequests(objRef)</B></A> - 
+Instance method in  class <A HREF="FeatureCollection.html">FeatureCollection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Locations.html#"><B>Locations</B></A> - 
+ class <A HREF="Locations.html">Locations</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Locations.html#constructor_detail"><B>Locations(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="Locations.html">Locations</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Logger.html#logEvent"><B>logEvent(eventType, listenerId, targetId, paramValue)</B></A> - 
+Instance method in  class <A HREF="Logger.html">Logger</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Logger.html#"><B>Logger</B></A> - 
+ class <A HREF="Logger.html">Logger</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Logger.html#constructor_detail"><B>Logger(modelNode, parent)</B></A> - 
+Constructor in  class <A HREF="Logger.html">Logger</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#lr"><B>lr</B></A> - 
+Instance field in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__M__"><!-- --></A><H2>
+<B>M</B></H2>
+
+<DL>
+<DT><A HREF="GLOBALS.html#makeElt"><B>makeElt(type)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureSelectHandler.html#map"><B>map</B></A> - 
+Instance field in  class <A HREF="FeatureSelectHandler.html">FeatureSelectHandler</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Caps2Context.html#mapAllLayers"><B>mapAllLayers(objRef)</B></A> - 
+Instance method in  class <A HREF="Caps2Context.html">Caps2Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Mapbuilder.html#"><B>Mapbuilder</B></A> - 
+ class <A HREF="Mapbuilder.html">Mapbuilder</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Mapbuilder.html#constructor_detail"><B>Mapbuilder()</B></A> - 
+Constructor in  class <A HREF="Mapbuilder.html">Mapbuilder</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#mapbuilderInit"><B>mapbuilderInit()</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Graticule.html#mapContainer"><B>mapContainer</B></A> - 
+Instance field in  class <A HREF="Graticule.html">Graticule</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Loading2.html#mapContainerNode"><B>mapContainerNode</B></A> - 
+Instance field in  class <A HREF="Loading2.html">Loading2</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceRequest.html#mapInit"><B>mapInit(objRef)</B></A> - 
+Instance method in  class <A HREF="WebServiceRequest.html">WebServiceRequest</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#"><B>MapPaneOL</B></A> - 
+ class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#constructor_detail"><B>MapPaneOL(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#"><B>MapScaleBar</B></A> - 
+ class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#constructor_detail"><B>MapScaleBar(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleText.html#"><B>MapScaleText</B></A> - 
+ class <A HREF="MapScaleText.html">MapScaleText</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleText.html#constructor_detail"><B>MapScaleText(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="MapScaleText.html">MapScaleText</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Caps2Context.html#mapSingleLayer"><B>mapSingleLayer(objRef, layerName)</B></A> - 
+Instance method in  class <A HREF="Caps2Context.html">Caps2Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapTitle.html#"><B>MapTitle</B></A> - 
+ class <A HREF="MapTitle.html">MapTitle</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapTitle.html#constructor_detail"><B>MapTitle(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="MapTitle.html">MapTitle</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WfsGetFeature.html#maxFeatures"><B>maxFeatures</B></A> - 
+Instance field in  class <A HREF="WfsGetFeature.html">WfsGetFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#maxFrames"><B>maxFrames</B></A> - 
+Instance field in  class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#maxWidth"><B>maxWidth</B></A> - 
+Instance field in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Graticule.html#maxX"><B>maxX</B></A> - 
+Instance field in  class <A HREF="Graticule.html">Graticule</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Graticule.html#maxY"><B>maxY</B></A> - 
+Instance field in  class <A HREF="Graticule.html">Graticule</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#mbDebugMessage"><B>mbDebugMessage(object, message)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#mbDoLoad"><B>mbDoLoad(initFunction)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureSelectHandler.html#mbFeatureSelectHandler"><B>mbFeatureSelectHandler</B></A> - 
+Instance field in  class <A HREF="FeatureSelectHandler.html">FeatureSelectHandler</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#mbFormatMessage"><B>mbFormatMessage(messageFormat)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#mbGetMessage"><B>mbGetMessage(messageKey)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererOL.html#mbWidget"><B>mbWidget</B></A> - 
+Instance field in  class <A HREF="GmlRendererOL.html">GmlRendererOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Measurement.html#"><B>Measurement</B></A> - 
+ class <A HREF="Measurement.html">Measurement</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Measurement.html#constructor_detail"><B>Measurement(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="Measurement.html">Measurement</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MergeModels.html#mergeModel"><B>mergeModel(objRef, modelToMerge)</B></A> - 
+Instance method in  class <A HREF="MergeModels.html">MergeModels</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MergeModels.html#"><B>MergeModels</B></A> - 
+ class <A HREF="MergeModels.html">MergeModels</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MergeModels.html#constructor_detail"><B>MergeModels(toolNode, model)</B></A> - 
+Constructor in  class <A HREF="MergeModels.html">MergeModels</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#method"><B>method</B></A> - 
+Instance field in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CursorTrack.html#MGRS"><B>MGRS</B></A> - 
+Instance field in  class <A HREF="CursorTrack.html">CursorTrack</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#MGRS"><B>MGRS()</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#minWidth"><B>minWidth</B></A> - 
+Instance field in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Graticule.html#minX"><B>minX</B></A> - 
+Instance field in  class <A HREF="Graticule.html">Graticule</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Graticule.html#minY"><B>minY</B></A> - 
+Instance field in  class <A HREF="Graticule.html">Graticule</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#model"><B>model</B></A> - 
+Instance field in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Model.html#"><B>Model</B></A> - 
+ class <A HREF="Model.html">Model</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ToolBase.html#model"><B>model</B></A> - 
+Instance field in  class <A HREF="ToolBase.html">ToolBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBase.html#model"><B>model</B></A> - 
+Instance field in  class <A HREF="WidgetBase.html">WidgetBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Model.html#constructor_detail"><B>Model(modelNode, parent)</B></A> - 
+Constructor in  class <A HREF="Model.html">Model</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#"><B>ModelBase</B></A> - 
+ class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#constructor_detail"><B>ModelBase(modelNode, parentModel)</B></A> - 
+Constructor in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#modelNode"><B>modelNode</B></A> - 
+Instance field in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelStatus.html#"><B>ModelStatus</B></A> - 
+ class <A HREF="ModelStatus.html">ModelStatus</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelStatus.html#constructor_detail"><B>ModelStatus(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="ModelStatus.html">ModelStatus</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelUrlInput.html#"><B>ModelUrlInput</B></A> - 
+ class <A HREF="ModelUrlInput.html">ModelUrlInput</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelUrlInput.html#constructor_detail"><B>ModelUrlInput(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="ModelUrlInput.html">ModelUrlInput</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CursorTrack.html#mousemoveHandler"><B>mousemoveHandler(evt)</B></A> - 
+Instance method in  class <A HREF="CursorTrack.html">CursorTrack</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CursorTrack.html#mouseoutHandler"><B>mouseoutHandler(evt)</B></A> - 
+Instance method in  class <A HREF="CursorTrack.html">CursorTrack</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ZoomToAoi.html#mouseUpHandler"><B>mouseUpHandler(e)</B></A> - 
+Instance method in  class <A HREF="ZoomToAoi.html">ZoomToAoi</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Sarissa.html#moveChildNodes"><B>moveChildNodes(nodeFrom, nodeTo, bPreserveExisting)</B></A> - 
+Class method in  class <A HREF="Sarissa.html">Sarissa</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#moveLayerDown"><B>moveLayerDown(objRef, layerId)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#moveLayerDown"><B>moveLayerDown(objRef, layerId)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#moveLayerDown"><B>moveLayerDown(objRef, layerId)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#moveLayerUp"><B>moveLayerUp(objRef, layerId)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#moveLayerUp"><B>moveLayerUp(objRef, layerId)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#moveLayerUp"><B>moveLayerUp(objRef, layerId)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditContext.html#moveNode"><B>moveNode(objRef, featureName)</B></A> - 
+Instance method in  class <A HREF="EditContext.html">EditContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#"><B>MovieLoop</B></A> - 
+ class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#constructor_detail"><B>MovieLoop(toolNode, model)</B></A> - 
+Constructor in  class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#movieTimer"><B>movieTimer</B></A> - 
+Instance field in  class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__N__"><!-- --></A><H2>
+<B>N</B></H2>
+
+<DL>
+<DT><A HREF="Config.html#namespace"><B>namespace</B></A> - 
+Instance field in  class <A HREF="Config.html">Config</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#namespace"><B>namespace</B></A> - 
+Instance field in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Logger.html#namespace"><B>namespace</B></A> - 
+Instance field in  class <A HREF="Logger.html">Logger</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#namespace"><B>namespace</B></A> - 
+Instance field in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsCatResources.html#namespace"><B>namespace</B></A> - 
+Instance field in  class <A HREF="OwsCatResources.html">OwsCatResources</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#namespace"><B>namespace</B></A> - 
+Instance field in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="StyledLayerDescriptor.html#namespace"><B>namespace</B></A> - 
+Instance field in  class <A HREF="StyledLayerDescriptor.html">StyledLayerDescriptor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Transaction.html#namespace"><B>namespace</B></A> - 
+Instance field in  class <A HREF="Transaction.html">Transaction</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceForm.html#namespace"><B>namespace</B></A> - 
+Instance field in  class <A HREF="WebServiceForm.html">WebServiceForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WfsCapabilities.html#namespace"><B>namespace</B></A> - 
+Instance field in  class <A HREF="WfsCapabilities.html">WfsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WmsCapabilities.html#namespace"><B>namespace</B></A> - 
+Instance field in  class <A HREF="WmsCapabilities.html">WmsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WpsCapabilities.html#namespace"><B>namespace</B></A> - 
+Instance field in  class <A HREF="WpsCapabilities.html">WpsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WpsDescribeProcess.html#namespace"><B>namespace</B></A> - 
+Instance field in  class <A HREF="WpsDescribeProcess.html">WpsDescribeProcess</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#newRequest"><B>newRequest(objRef, httpPayload)</B></A> - 
+Instance method in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditButtonBase.html#newSession"><B>newSession(objRef)</B></A> - 
+Instance method in  class <A HREF="EditButtonBase.html">EditButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#nextFrame"><B>nextFrame(step)</B></A> - 
+Instance method in  class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureCollection.html#nodeSelectXpath"><B>nodeSelectXpath</B></A> - 
+Instance field in  class <A HREF="FeatureCollection.html">FeatureCollection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#nodeSelectXpath"><B>nodeSelectXpath</B></A> - 
+Instance field in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#numbersContainerId"><B>numbersContainerId</B></A> - 
+Instance field in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#NumToAscii"><B>NumToAscii( num )</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__O__"><!-- --></A><H2>
+<B>O</B></H2>
+
+<DL>
+<DT><A HREF="Config.html#objects"><B>objects</B></A> - 
+Instance field in  class <A HREF="Config.html">Config</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#objRef"><B>objRef</B></A> - 
+Instance field in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#olButtonType"><B>olButtonType</B></A> - 
+Instance field in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererOL.html#olLayer"><B>olLayer</B></A> - 
+Instance field in  class <A HREF="GmlRendererOL.html">GmlRendererOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureSelectHandler.html#onClick"><B>onClick(evt)</B></A> - 
+Instance method in  class <A HREF="FeatureSelectHandler.html">FeatureSelectHandler</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureSelectHandler.html#onHover"><B>onHover(evt)</B></A> - 
+Instance method in  class <A HREF="FeatureSelectHandler.html">FeatureSelectHandler</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureSelectHandler.html#onSelect"><B>onSelect(feature)</B></A> - 
+Instance method in  class <A HREF="FeatureSelectHandler.html">FeatureSelectHandler</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureSelectHandler.html#onUnselect"><B>onUnselect(feature)</B></A> - 
+Instance method in  class <A HREF="FeatureSelectHandler.html">FeatureSelectHandler</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OpenLSForm.html#"><B>OpenLSForm</B></A> - 
+ class <A HREF="OpenLSForm.html">OpenLSForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OpenLSForm.html#constructor_detail"><B>OpenLSForm(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="OpenLSForm.html">OpenLSForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OpenLSResponse.html#"><B>OpenLSResponse</B></A> - 
+ class <A HREF="OpenLSResponse.html">OpenLSResponse</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OpenLSResponse.html#constructor_detail"><B>OpenLSResponse(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="OpenLSResponse.html">OpenLSResponse</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#openPopup"><B>openPopup(url, width, height)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OWSCatSearchForm.html#openRucWindow"><B>openRucWindow( rucType )</B></A> - 
+Instance method in  class <A HREF="OWSCatSearchForm.html">OWSCatSearchForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Mapbuilder.html#orderedScripts"><B>orderedScripts</B></A> - 
+Instance field in  class <A HREF="Mapbuilder.html">Mapbuilder</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBase.html#outputNodeId"><B>outputNodeId</B></A> - 
+Instance field in  class <A HREF="WidgetBase.html">WidgetBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OverviewMap.html#"><B>OverviewMap</B></A> - 
+ class <A HREF="OverviewMap.html">OverviewMap</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OverviewMap.html#constructor_detail"><B>OverviewMap(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="OverviewMap.html">OverviewMap</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsCatResources.html#"><B>OwsCatResources</B></A> - 
+ class <A HREF="OwsCatResources.html">OwsCatResources</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsCatResources.html#constructor_detail"><B>OwsCatResources(modelNode, parent)</B></A> - 
+Constructor in  class <A HREF="OwsCatResources.html">OwsCatResources</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OWSCatSearchForm.html#"><B>OWSCatSearchForm</B></A> - 
+ class <A HREF="OWSCatSearchForm.html">OWSCatSearchForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OWSCatSearchForm.html#constructor_detail"><B>OWSCatSearchForm(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="OWSCatSearchForm.html">OWSCatSearchForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#"><B>OwsContext</B></A> - 
+ class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#constructor_detail"><B>OwsContext(modelNode, parent)</B></A> - 
+Constructor in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__P__"><!-- --></A><H2>
+<B>P</B></H2>
+
+<DL>
+<DT><A HREF="GmlRendererOL.html#paint"><B>paint(objRef)</B></A> - 
+Instance method in  class <A HREF="GmlRendererOL.html">GmlRendererOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Loading.html#paint"><B>paint(objRef)</B></A> - 
+Instance method in  class <A HREF="Loading.html">Loading</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Loading2.html#paint"><B>paint(objRef)</B></A> - 
+Instance method in  class <A HREF="Loading2.html">Loading2</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#paint"><B>paint(objRef, refresh)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBaseXSL.html#paint"><B>paint(objRef, refreshId)</B></A> - 
+Instance method in  class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Config.html#paintWidget"><B>paintWidget( widget )</B></A> - 
+Instance method in  class <A HREF="Config.html">Config</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#panel_div"><B>panel_div</B></A> - 
+Instance field in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#panelHtmlTagId"><B>panelHtmlTagId</B></A> - 
+Instance field in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="PanZoomBar.html#"><B>PanZoomBar</B></A> - 
+ class <A HREF="PanZoomBar.html">PanZoomBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="PanZoomBar.html#constructor_detail"><B>PanZoomBar(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="PanZoomBar.html">PanZoomBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#parentModel"><B>parentModel</B></A> - 
+Instance field in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Mapbuilder.html#parseBoolean"><B>parseBoolean(value)</B></A> - 
+Class method in  class <A HREF="Mapbuilder.html">Mapbuilder</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#parseConfig"><B>parseConfig(objRef)</B></A> - 
+Instance method in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Sarissa.html#PARSED_EMPTY"><B>PARSED_EMPTY</B></A> - 
+Class field in  class <A HREF="Sarissa.html">Sarissa</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Sarissa.html#PARSED_OK"><B>PARSED_OK</B></A> - 
+Class field in  class <A HREF="Sarissa.html">Sarissa</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Sarissa.html#PARSED_UNKNOWN_ERROR"><B>PARSED_UNKNOWN_ERROR</B></A> - 
+Class field in  class <A HREF="Sarissa.html">Sarissa</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="DOMParser.html#parseFromString"><B>parseFromString(sXml, contentType)</B></A> - 
+Instance method in  class <A HREF="DOMParser.html">DOMParser</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBaseXSL.html#parseHTMLNodes"><B>parseHTMLNodes</B></A> - 
+Instance field in  class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#pause"><B>pause()</B></A> - 
+Instance method in  class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#play"><B>play()</B></A> - 
+Instance method in  class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Timer.html#play"><B>play()</B></A> - 
+Instance method in  class <A HREF="Timer.html">Timer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Mapbuilder.html#Popup"><B>Popup</B></A> - 
+Class field in  class <A HREF="Mapbuilder.html">Mapbuilder</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#postGetLoad"><B>postGetLoad(sUri, docToSend, contentType , dir, fileName)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#postLoad"><B>postLoad(sUri, docToSend, contentType )</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="AoiForm.html#postPaint"><B>postPaint(objRef)</B></A> - 
+Instance method in  class <A HREF="AoiForm.html">AoiForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FormBase.html#postPaint"><B>postPaint(objRef)</B></A> - 
+Instance method in  class <A HREF="FormBase.html">FormBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleText.html#postPaint"><B>postPaint(objRef)</B></A> - 
+Instance method in  class <A HREF="MapScaleText.html">MapScaleText</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelUrlInput.html#postPaint"><B>postPaint(objRef)</B></A> - 
+Instance method in  class <A HREF="ModelUrlInput.html">ModelUrlInput</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OWSCatSearchForm.html#postPaint"><B>postPaint(objRef)</B></A> - 
+Instance method in  class <A HREF="OWSCatSearchForm.html">OWSCatSearchForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ServiceRegistryList.html#postPaint"><B>postPaint(objRef)</B></A> - 
+Instance method in  class <A HREF="ServiceRegistryList.html">ServiceRegistryList</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceForm.html#postPaint"><B>postPaint(objRef)</B></A> - 
+Instance method in  class <A HREF="WebServiceForm.html">WebServiceForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBase.html#postPaint"><B>postPaint(objRef)</B></A> - 
+Instance method in  class <A HREF="WidgetBase.html">WidgetBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CursorTrack.html#precision"><B>precision</B></A> - 
+Instance field in  class <A HREF="CursorTrack.html">CursorTrack</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="LayerControl.html#prePaint"><B>prePaint(objRef)</B></A> - 
+Instance method in  class <A HREF="LayerControl.html">LayerControl</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Legend.html#prePaint"><B>prePaint(objRef)</B></A> - 
+Instance method in  class <A HREF="Legend.html">Legend</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleText.html#prePaint"><B>prePaint(objRef)</B></A> - 
+Instance method in  class <A HREF="MapScaleText.html">MapScaleText</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelStatus.html#prePaint"><B>prePaint(objRef)</B></A> - 
+Instance method in  class <A HREF="ModelStatus.html">ModelStatus</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelUrlInput.html#prePaint"><B>prePaint(objRef)</B></A> - 
+Instance method in  class <A HREF="ModelUrlInput.html">ModelUrlInput</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TabbedContent.html#prePaint"><B>prePaint(objRef)</B></A> - 
+Instance method in  class <A HREF="TabbedContent.html">TabbedContent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceForm.html#prePaint"><B>prePaint(objRef)</B></A> - 
+Instance method in  class <A HREF="WebServiceForm.html">WebServiceForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBase.html#prePaint"><B>prePaint(objRef)</B></A> - 
+Instance method in  class <A HREF="WidgetBase.html">WidgetBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XslProcessor.html#processor"><B>processor</B></A> - 
+Instance field in  class <A HREF="XslProcessor.html">XslProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XSLTProcessor.html#processor"><B>processor</B></A> - 
+Instance field in  class <A HREF="XSLTProcessor.html">XSLTProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererOL.html#proj"><B>proj</B></A> - 
+Instance field in  class <A HREF="GmlRendererOL.html">GmlRendererOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Graticule.html#proj"><B>proj</B></A> - 
+Instance field in  class <A HREF="Graticule.html">Graticule</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Config.html#proxyUrl"><B>proxyUrl</B></A> - 
+Instance field in  class <A HREF="Config.html">Config</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__R__"><!-- --></A><H2>
+<B>R</B></H2>
+
+<DL>
+<DT><A HREF="ModelBase.html#refresh"><B>refresh(objRef)</B></A> - 
+Instance method in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="LayerControl.html#refresh"><B>refresh(objRef, layerName)</B></A> - 
+Instance method in  class <A HREF="LayerControl.html">LayerControl</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Legend.html#refresh"><B>refresh(objRef, layerName)</B></A> - 
+Instance method in  class <A HREF="Legend.html">Legend</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="LegendGraphic.html#refresh"><B>refresh(objRef, layerName)</B></A> - 
+Instance method in  class <A HREF="LegendGraphic.html">LegendGraphic</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#refreshLayer"><B>refreshLayer(objRef, layerId , newParams)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Logger.html#refreshLog"><B>refreshLog(objRef)</B></A> - 
+Instance method in  class <A HREF="Logger.html">Logger</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#refreshWmsLayers"><B>refreshWmsLayers(objRef)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererOL.html#removeHiddenFeatures"><B>removeHiddenFeatures(objRef)</B></A> - 
+Instance method in  class <A HREF="GmlRendererOL.html">GmlRendererOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Listener.html#removeListener"><B>removeListener(param,listener,target)</B></A> - 
+Instance method in  class <A HREF="Listener.html">Listener</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceRequest.html#requestFilter"><B>requestFilter</B></A> - 
+Instance field in  class <A HREF="WebServiceRequest.html">WebServiceRequest</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceRequest.html#requestName"><B>requestName</B></A> - 
+Instance field in  class <A HREF="WebServiceRequest.html">WebServiceRequest</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceRequest.html#requestStylesheet"><B>requestStylesheet</B></A> - 
+Instance field in  class <A HREF="WebServiceRequest.html">WebServiceRequest</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Reset.html#"><B>Reset</B></A> - 
+ class <A HREF="Reset.html">Reset</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#reset"><B>reset(objRef)</B></A> - 
+Instance method in  class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Reset.html#constructor_detail"><B>Reset(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="Reset.html">Reset</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#resolution"><B>resolution</B></A> - 
+Instance field in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#returnTarget"><B>returnTarget(evt)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__S__"><!-- --></A><H2>
+<B>S</B></H2>
+
+<DL>
+<DT><A HREF="Sarissa.html#"><B>Sarissa</B></A> - 
+ class <A HREF="Sarissa.html">Sarissa</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Sarissa.html#constructor_detail"><B>Sarissa()</B></A> - 
+Constructor in  class <A HREF="Sarissa.html">Sarissa</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Save.html#"><B>Save</B></A> - 
+ class <A HREF="Save.html">Save</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Save.html#constructor_detail"><B>Save(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="Save.html">Save</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Logger.html#saveLog"><B>saveLog()</B></A> - 
+Instance method in  class <A HREF="Logger.html">Logger</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#saveModel"><B>saveModel(objRef)</B></A> - 
+Instance method in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#scaleDenominator"><B>scaleDenominator</B></A> - 
+Instance field in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="HandsomeNumber.html#score"><B>score</B></A> - 
+Instance field in  class <A HREF="HandsomeNumber.html">HandsomeNumber</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Mapbuilder.html#scriptLoader"><B>scriptLoader</B></A> - 
+Instance field in  class <A HREF="Mapbuilder.html">Mapbuilder</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Mapbuilder.html#scriptsTimer"><B>scriptsTimer</B></A> - 
+Instance field in  class <A HREF="Mapbuilder.html">Mapbuilder</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#select"><B>select()</B></A> - 
+Instance method in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="SelectAllMapLayers.html#"><B>SelectAllMapLayers</B></A> - 
+ class <A HREF="SelectAllMapLayers.html">SelectAllMapLayers</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="SelectAllMapLayers.html#constructor_detail"><B>SelectAllMapLayers(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="SelectAllMapLayers.html">SelectAllMapLayers</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#selected"><B>selected</B></A> - 
+Instance field in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TabbedContent.html#selectedTab"><B>selectedTab</B></A> - 
+Instance field in  class <A HREF="TabbedContent.html">TabbedContent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceRequest.html#selectFeature"><B>selectFeature(objRef, featureName)</B></A> - 
+Instance method in  class <A HREF="WebServiceRequest.html">WebServiceRequest</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="SelectFeatureType.html#"><B>SelectFeatureType</B></A> - 
+ class <A HREF="SelectFeatureType.html">SelectFeatureType</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="SelectFeatureType.html#constructor_detail"><B>SelectFeatureType(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="SelectFeatureType.html">SelectFeatureType</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="SelectFromAtomFeed.html#"><B>SelectFromAtomFeed</B></A> - 
+ class <A HREF="SelectFromAtomFeed.html">SelectFromAtomFeed</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="SelectFromAtomFeed.html#constructor_detail"><B>SelectFromAtomFeed(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="SelectFromAtomFeed.html">SelectFromAtomFeed</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Legend.html#selectLayer"><B>selectLayer(objRef,layer)</B></A> - 
+Instance method in  class <A HREF="Legend.html">Legend</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="SelectMapLayers.html#"><B>SelectMapLayers</B></A> - 
+ class <A HREF="SelectMapLayers.html">SelectMapLayers</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="SelectMapLayers.html#constructor_detail"><B>SelectMapLayers(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="SelectMapLayers.html">SelectMapLayers</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureSelectHandler.html#selectStyle"><B>selectStyle</B></A> - 
+Instance field in  class <A HREF="FeatureSelectHandler.html">FeatureSelectHandler</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererOL.html#selectStyle"><B>selectStyle</B></A> - 
+Instance field in  class <A HREF="GmlRendererOL.html">GmlRendererOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererBase.html#selectStyleName"><B>selectStyleName</B></A> - 
+Instance field in  class <A HREF="GmlRendererBase.html">GmlRendererBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TabbedContent.html#selectTab"><B>selectTab(tabWidget)</B></A> - 
+Instance method in  class <A HREF="TabbedContent.html">TabbedContent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="SelectTimeFrame.html#"><B>SelectTimeFrame</B></A> - 
+ class <A HREF="SelectTimeFrame.html">SelectTimeFrame</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="SelectTimeFrame.html#constructor_detail"><B>SelectTimeFrame(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="SelectTimeFrame.html">SelectTimeFrame</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XMLSerializer.html#serializeToString"><B>serializeToString(oNode)</B></A> - 
+Instance method in  class <A HREF="XMLSerializer.html">XMLSerializer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Config.html#serializeUrl"><B>serializeUrl</B></A> - 
+Instance field in  class <A HREF="Config.html">Config</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ServiceRegistryList.html#"><B>ServiceRegistryList</B></A> - 
+ class <A HREF="ServiceRegistryList.html">ServiceRegistryList</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ServiceRegistryList.html#constructor_detail"><B>ServiceRegistryList(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="ServiceRegistryList.html">ServiceRegistryList</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="SetAoi.html#"><B>SetAoi</B></A> - 
+ class <A HREF="SetAoi.html">SetAoi</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="AoiForm.html#setAoi"><B>setAoi()</B></A> - 
+Instance method in  class <A HREF="AoiForm.html">AoiForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OWSCatSearchForm.html#setAoi"><B>setAoi()</B></A> - 
+Instance method in  class <A HREF="OWSCatSearchForm.html">OWSCatSearchForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Locations.html#setAoi"><B>setAoi(bbox, targetModel, srsName)</B></A> - 
+Instance method in  class <A HREF="Locations.html">Locations</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="SetAoi.html#constructor_detail"><B>SetAoi(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="SetAoi.html">SetAoi</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceRequest.html#setAoiParameters"><B>setAoiParameters(objRef)</B></A> - 
+Instance method in  class <A HREF="WebServiceRequest.html">WebServiceRequest</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceForm.html#setAoiParameters"><B>setAoiParameters(objRef,bbox)</B></A> - 
+Instance method in  class <A HREF="WebServiceForm.html">WebServiceForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureInfo.html#setAttr"><B>setAttr(objRef,xpath,value)</B></A> - 
+Instance method in  class <A HREF="FeatureInfo.html">FeatureInfo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureList.html#setAttr"><B>setAttr(objRef,xpath,value)</B></A> - 
+Instance method in  class <A HREF="FeatureList.html">FeatureList</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#setBbox"><B>setBbox(bbox)</B></A> - 
+Instance method in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#setBoundingBox"><B>setBoundingBox(boundingBox)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#setBoundingBox"><B>setBoundingBox(boundingBox)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceRequest.html#setClickPosition"><B>setClickPosition(e)</B></A> - 
+Instance method in  class <A HREF="WebServiceRequest.html">WebServiceRequest</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditButtonBase.html#setEditingLayer"><B>setEditingLayer(objRef)</B></A> - 
+Instance method in  class <A HREF="EditButtonBase.html">EditButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#setExtension"><B>setExtension(extensionNode)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#setExtension"><B>setExtension(extensionNode)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CollectionList.html#setExtent"><B>setExtent(objRef)</B></A> - 
+Instance method in  class <A HREF="CollectionList.html">CollectionList</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditButtonBase.html#setFeature"><B>setFeature(objRef)</B></A> - 
+Instance method in  class <A HREF="EditButtonBase.html">EditButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Measurement.html#setFeature"><B>setFeature(objRef, feature)</B></A> - 
+Instance method in  class <A HREF="Measurement.html">Measurement</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="SelectTimeFrame.html#setFirstFrame"><B>setFirstFrame(index)</B></A> - 
+Instance method in  class <A HREF="SelectTimeFrame.html">SelectTimeFrame</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#setFrame"><B>setFrame(index)</B></A> - 
+Instance method in  class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#setFrameLimits"><B>setFrameLimits(objRef)</B></A> - 
+Instance method in  class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureCollection.html#setHidden"><B>setHidden(featureName, hidden)</B></A> - 
+Instance method in  class <A HREF="FeatureCollection.html">FeatureCollection</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#setHidden"><B>setHidden(layerId, hidden)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#setHidden"><B>setHidden(layerId, hidden)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="SelectTimeFrame.html#setLastFrame"><B>setLastFrame(index)</B></A> - 
+Instance method in  class <A HREF="SelectTimeFrame.html">SelectTimeFrame</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ZoomToAoi.html#setListeners"><B>setListeners( toolRef )</B></A> - 
+Instance method in  class <A HREF="ZoomToAoi.html">ZoomToAoi</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Mapbuilder.html#setLoadState"><B>setLoadState(newState)</B></A> - 
+Instance method in  class <A HREF="Mapbuilder.html">Mapbuilder</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OWSCatSearchForm.html#setLocation"><B>setLocation(bbox)</B></A> - 
+Instance method in  class <A HREF="OWSCatSearchForm.html">OWSCatSearchForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#setModel"><B>setModel(objRef,newModel)</B></A> - 
+Instance method in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#setOpacity"><B>setOpacity(layerId, Opacity)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#setOpacity"><B>setOpacity(layerId, Opacity)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#setOpacity"><B>setOpacity(objRef, layerId)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Listener.html#setParam"><B>setParam(param,value)</B></A> - 
+Instance method in  class <A HREF="Listener.html">Listener</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XSLTProcessor.html#setParameter"><B>setParameter(nsURI, name, value)</B></A> - 
+Instance method in  class <A HREF="XSLTProcessor.html">XSLTProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XslProcessor.html#setParameter"><B>setParameter(paramName, paramValue, nsUri)</B></A> - 
+Instance method in  class <A HREF="XslProcessor.html">XslProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#setRequestParameters"><B>setRequestParameters(featureName, requestStylesheet)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#setResolution"><B>setResolution(size)</B></A> - 
+Instance method in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#setScale"><B>setScale(scale)</B></A> - 
+Instance method in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#setSize"><B>setSize(size)</B></A> - 
+Instance method in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#setSRS"><B>setSRS(srs)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#setSRS"><B>setSRS(srs)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FormBase.html#setValue"><B>setValue(xpath, value)</B></A> - 
+Instance method in  class <A HREF="FormBase.html">FormBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#setWindowHeight"><B>setWindowHeight(height)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#setWindowHeight"><B>setWindowHeight(height)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#setWindowSize"><B>setWindowSize(size)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#setWindowSize"><B>setWindowSize(size)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Context.html#setWindowWidth"><B>setWindowWidth(width)</B></A> - 
+Instance method in  class <A HREF="Context.html">Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OwsContext.html#setWindowWidth"><B>setWindowWidth(width)</B></A> - 
+Instance method in  class <A HREF="OwsContext.html">OwsContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Sarissa.html#setXpathNamespaces"><B>setXpathNamespaces(oDoc, sNsSet)</B></A> - 
+Class method in  class <A HREF="Sarissa.html">Sarissa</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#setXpathValue"><B>setXpathValue(objRef,xpath,value,refresh)</B></A> - 
+Instance method in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#setZoomLevels"><B>setZoomLevels(enabled,zoomLevels)</B></A> - 
+Instance method in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ShowDistance.html#"><B>ShowDistance</B></A> - 
+ class <A HREF="ShowDistance.html">ShowDistance</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ShowDistance.html#showDistance"><B>showDistance(objRef)</B></A> - 
+Instance method in  class <A HREF="ShowDistance.html">ShowDistance</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ShowDistance.html#constructor_detail"><B>ShowDistance(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="ShowDistance.html">ShowDistance</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CursorTrack.html#showDM"><B>showDM</B></A> - 
+Instance field in  class <A HREF="CursorTrack.html">CursorTrack</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CursorTrack.html#showDMS"><B>showDMS</B></A> - 
+Instance field in  class <A HREF="CursorTrack.html">CursorTrack</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererOL.html#showFeature"><B>showFeature(objRef, fid)</B></A> - 
+Instance method in  class <A HREF="GmlRendererOL.html">GmlRendererOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CursorTrack.html#showLatLong"><B>showLatLong</B></A> - 
+Instance field in  class <A HREF="CursorTrack.html">CursorTrack</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="LayerControl.html#showLayerMetadata"><B>showLayerMetadata(layerId)</B></A> - 
+Instance method in  class <A HREF="LayerControl.html">LayerControl</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CursorTrack.html#showMGRS"><B>showMGRS</B></A> - 
+Instance field in  class <A HREF="CursorTrack.html">CursorTrack</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#showMinorMeasures"><B>showMinorMeasures</B></A> - 
+Instance field in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CursorTrack.html#showPx"><B>showPx</B></A> - 
+Instance field in  class <A HREF="CursorTrack.html">CursorTrack</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleText.html#showScale"><B>showScale(objRef)</B></A> - 
+Instance method in  class <A HREF="MapScaleText.html">MapScaleText</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ZoomToAoi.html#showTargetAoi"><B>showTargetAoi( tool )</B></A> - 
+Instance method in  class <A HREF="ZoomToAoi.html">ZoomToAoi</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CursorTrack.html#showXY"><B>showXY</B></A> - 
+Instance field in  class <A HREF="CursorTrack.html">CursorTrack</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#singleLine"><B>singleLine</B></A> - 
+Instance field in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#singleTile"><B>singleTile</B></A> - 
+Instance field in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#size"><B>size</B></A> - 
+Instance field in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Config.html#skinDir"><B>skinDir</B></A> - 
+Instance field in  class <A HREF="Config.html">Config</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="StyledLayerDescriptor.html#sld"><B>sld</B></A> - 
+Instance field in  class <A HREF="StyledLayerDescriptor.html">StyledLayerDescriptor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#sld2OlStyle"><B>sld2OlStyle(node)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#sld2UrlParam"><B>sld2UrlParam(node)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererBase.html#sldModelNode"><B>sldModelNode</B></A> - 
+Instance field in  class <A HREF="GmlRendererBase.html">GmlRendererBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="StyledLayerDescriptor.html#sldXPath"><B>sldXPath</B></A> - 
+Instance field in  class <A HREF="StyledLayerDescriptor.html">StyledLayerDescriptor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FeatureSelectHandler.html#sourceModels"><B>sourceModels</B></A> - 
+Instance field in  class <A HREF="FeatureSelectHandler.html">FeatureSelectHandler</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="History.html#start"><B>start(objRef)</B></A> - 
+Instance method in  class <A HREF="History.html">History</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Measurement.html#startAction"><B>startAction(pointGeometry)</B></A> - 
+Instance method in  class <A HREF="Measurement.html">Measurement</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Timer.html#startOnLoad"><B>startOnLoad(objRef)</B></A> - 
+Instance method in  class <A HREF="Timer.html">Timer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#stop"><B>stop()</B></A> - 
+Instance method in  class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Timer.html#stop"><B>stop()</B></A> - 
+Instance method in  class <A HREF="Timer.html">Timer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="History.html#stop"><B>stop(objRef)</B></A> - 
+Instance method in  class <A HREF="History.html">History</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#stopListener"><B>stopListener(objRef)</B></A> - 
+Instance method in  class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Sarissa.html#stripTags"><B>stripTags(s)</B></A> - 
+Class method in  class <A HREF="Sarissa.html">Sarissa</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="StyledLayerDescriptor.html#"><B>StyledLayerDescriptor</B></A> - 
+ class <A HREF="StyledLayerDescriptor.html">StyledLayerDescriptor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="StyledLayerDescriptor.html#constructor_detail"><B>StyledLayerDescriptor(modelNode, parent)</B></A> - 
+Constructor in  class <A HREF="StyledLayerDescriptor.html">StyledLayerDescriptor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Caps2Context.html#stylesheet"><B>stylesheet</B></A> - 
+Instance field in  class <A HREF="Caps2Context.html">Caps2Context</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditContext.html#stylesheet"><B>stylesheet</B></A> - 
+Instance field in  class <A HREF="EditContext.html">EditContext</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GmlRendererOL.html#stylesheet"><B>stylesheet</B></A> - 
+Instance field in  class <A HREF="GmlRendererOL.html">GmlRendererOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBaseXSL.html#stylesheet"><B>stylesheet</B></A> - 
+Instance field in  class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GLOBALS.html#styleValue"><B>styleValue(aSelector, styleKey)</B></A> - 
+Class method in  class <A HREF="GLOBALS.html">GLOBALS</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#subdivisions"><B>subdivisions</B></A> - 
+Instance field in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleText.html#submitForm"><B>submitForm()</B></A> - 
+Instance method in  class <A HREF="MapScaleText.html">MapScaleText</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelUrlInput.html#submitForm"><B>submitForm()</B></A> - 
+Instance method in  class <A HREF="ModelUrlInput.html">ModelUrlInput</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OWSCatSearchForm.html#submitForm"><B>submitForm()</B></A> - 
+Instance method in  class <A HREF="OWSCatSearchForm.html">OWSCatSearchForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ServiceRegistryList.html#submitForm"><B>submitForm()</B></A> - 
+Instance method in  class <A HREF="ServiceRegistryList.html">ServiceRegistryList</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceForm.html#submitForm"><B>submitForm()</B></A> - 
+Instance method in  class <A HREF="WebServiceForm.html">WebServiceForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OpenLSForm.html#submitForm"><B>submitForm(objRef)</B></A> - 
+Instance method in  class <A HREF="OpenLSForm.html">OpenLSForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ButtonBase.html#superclass"><B>superclass</B></A> - 
+Instance field in  class <A HREF="ButtonBase.html">ButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Legend.html#swapOpaqueLayer"><B>swapOpaqueLayer(layer)</B></A> - 
+Instance method in  class <A HREF="Legend.html">Legend</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="CollectionList.html#switchMap"><B>switchMap(objRef, modelUrl)</B></A> - 
+Instance method in  class <A HREF="CollectionList.html">CollectionList</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="SelectFromAtomFeed.html#switchModel"><B>switchModel(objRef, modelUrl)</B></A> - 
+Instance method in  class <A HREF="SelectFromAtomFeed.html">SelectFromAtomFeed</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="LayerControl.html#switchVisibilityById"><B>switchVisibilityById(id)</B></A> - 
+Instance method in  class <A HREF="LayerControl.html">LayerControl</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__T__"><!-- --></A><H2>
+<B>T</B></H2>
+
+<DL>
+<DT><A HREF="TabbedContent.html#tabAction"><B>tabAction</B></A> - 
+Instance field in  class <A HREF="TabbedContent.html">TabbedContent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TabbedContent.html#"><B>TabbedContent</B></A> - 
+ class <A HREF="TabbedContent.html">TabbedContent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TabbedContent.html#constructor_detail"><B>TabbedContent(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="TabbedContent.html">TabbedContent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TabbedContent.html#tabList"><B>tabList</B></A> - 
+Instance field in  class <A HREF="TabbedContent.html">TabbedContent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="DeleteFeature.html#tc"><B>tc</B></A> - 
+Instance field in  class <A HREF="DeleteFeature.html">DeleteFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="InsertFeature.html#tc"><B>tc</B></A> - 
+Instance field in  class <A HREF="InsertFeature.html">InsertFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MergeModels.html#template"><B>template</B></A> - 
+Instance field in  class <A HREF="MergeModels.html">MergeModels</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#template"><B>template</B></A> - 
+Instance field in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XSLTProcessor.html#template"><B>template</B></A> - 
+Instance field in  class <A HREF="XSLTProcessor.html">XSLTProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Loading2.html#textMessage"><B>textMessage</B></A> - 
+Instance field in  class <A HREF="Loading2.html">Loading2</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TabbedContent.html#textNodeXpath"><B>textNodeXpath</B></A> - 
+Instance field in  class <A HREF="TabbedContent.html">TabbedContent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="HandsomeNumber.html#tieBreaker"><B>tieBreaker</B></A> - 
+Instance field in  class <A HREF="HandsomeNumber.html">HandsomeNumber</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#tileBuffer"><B>tileBuffer</B></A> - 
+Instance field in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#tileGutter"><B>tileGutter</B></A> - 
+Instance field in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#tileSize"><B>tileSize</B></A> - 
+Instance field in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Timer.html#"><B>Timer</B></A> - 
+ class <A HREF="Timer.html">Timer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Timer.html#constructor_detail"><B>Timer(toolNode, model)</B></A> - 
+Constructor in  class <A HREF="Timer.html">Timer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Timestamp.html#"><B>Timestamp</B></A> - 
+ class <A HREF="Timestamp.html">Timestamp</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Timestamp.html#constructor_detail"><B>Timestamp(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="Timestamp.html">Timestamp</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#timestampIndex"><B>timestampIndex</B></A> - 
+Instance field in  class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#timestampListener"><B>timestampListener(objRef, timestampIndex)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TipWidgetBase.html#"><B>TipWidgetBase</B></A> - 
+ class <A HREF="TipWidgetBase.html">TipWidgetBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TipWidgetBase.html#constructor_detail"><B>TipWidgetBase(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="TipWidgetBase.html">TipWidgetBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TipWidgetConfig.html#"><B>TipWidgetConfig</B></A> - 
+ class <A HREF="TipWidgetConfig.html">TipWidgetConfig</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TipWidgetConfig.html#constructor_detail"><B>TipWidgetConfig(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="TipWidgetConfig.html">TipWidgetConfig</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TipWidgetOL.html#"><B>TipWidgetOL</B></A> - 
+ class <A HREF="TipWidgetOL.html">TipWidgetOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TipWidgetOL.html#constructor_detail"><B>TipWidgetOL(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="TipWidgetOL.html">TipWidgetOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#title"><B>title</B></A> - 
+Instance field in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="DeleteFeature.html#tm"><B>tm</B></A> - 
+Instance field in  class <A HREF="DeleteFeature.html">DeleteFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="InsertFeature.html#tm"><B>tm</B></A> - 
+Instance field in  class <A HREF="InsertFeature.html">InsertFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GetFeatureInfoWSR.html#tolerance"><B>tolerance</B></A> - 
+Instance field in  class <A HREF="GetFeatureInfoWSR.html">GetFeatureInfoWSR</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ToolBase.html#"><B>ToolBase</B></A> - 
+ class <A HREF="ToolBase.html">ToolBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ToolBase.html#constructor_detail"><B>ToolBase(toolNode, model)</B></A> - 
+Constructor in  class <A HREF="ToolBase.html">ToolBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ToolBase.html#toolNode"><B>toolNode</B></A> - 
+Instance field in  class <A HREF="ToolBase.html">ToolBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="HandsomeNumber.html#toString"><B>toString()</B></A> - 
+Instance method in  class <A HREF="HandsomeNumber.html">HandsomeNumber</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Transaction.html#"><B>Transaction</B></A> - 
+ class <A HREF="Transaction.html">Transaction</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Transaction.html#constructor_detail"><B>Transaction(modelNode, parent)</B></A> - 
+Constructor in  class <A HREF="Transaction.html">Transaction</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TransactionResponse.html#"><B>TransactionResponse</B></A> - 
+ class <A HREF="TransactionResponse.html">TransactionResponse</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="TransactionResponse.html#constructor_detail"><B>TransactionResponse(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="TransactionResponse.html">TransactionResponse</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XslProcessor.html#transformNodeToObject"><B>transformNodeToObject(xmlNode)</B></A> - 
+Instance method in  class <A HREF="XslProcessor.html">XslProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XslProcessor.html#transformNodeToString"><B>transformNodeToString(xmlNode)</B></A> - 
+Instance method in  class <A HREF="XslProcessor.html">XslProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XSLTProcessor.html#transformToDocument"><B>transformToDocument(sourceDoc)</B></A> - 
+Instance method in  class <A HREF="XSLTProcessor.html">XSLTProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XSLTProcessor.html#transformToFragment"><B>transformToFragment(sourceDoc, ownerDoc)</B></A> - 
+Instance method in  class <A HREF="XSLTProcessor.html">XSLTProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="DeleteFeature.html#trm"><B>trm</B></A> - 
+Instance field in  class <A HREF="DeleteFeature.html">DeleteFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="EditButtonBase.html#trm"><B>trm</B></A> - 
+Instance field in  class <A HREF="EditButtonBase.html">EditButtonBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="InsertFeature.html#trm"><B>trm</B></A> - 
+Instance field in  class <A HREF="InsertFeature.html">InsertFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WfsGetFeature.html#trm"><B>trm</B></A> - 
+Instance field in  class <A HREF="WfsGetFeature.html">WfsGetFeature</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__U__"><!-- --></A><H2>
+<B>U</B></H2>
+
+<DL>
+<DT><A HREF="Extent.html#ul"><B>ul</B></A> - 
+Instance field in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MovieLoop.html#uninit"><B>uninit(objRef)</B></A> - 
+Instance method in  class <A HREF="MovieLoop.html">MovieLoop</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapScaleBar.html#update"><B>update(objRef)</B></A> - 
+Instance method in  class <A HREF="MapScaleBar.html">MapScaleBar</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Loading2.html#update"><B>update(objRef, message)</B></A> - 
+Instance method in  class <A HREF="Loading2.html">Loading2</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#updateContext"><B>updateContext(e)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Loading2.html#updateMessage"><B>updateMessage</B></A> - 
+Instance field in  class <A HREF="Loading2.html">Loading2</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#updateMouse"><B>updateMouse(e)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Timestamp.html#updateTimestamp"><B>updateTimestamp(objRef, timestamp)</B></A> - 
+Instance method in  class <A HREF="Timestamp.html">Timestamp</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="InsertFeature.html#updateXsl"><B>updateXsl</B></A> - 
+Instance field in  class <A HREF="InsertFeature.html">InsertFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Config.html#url"><B>url</B></A> - 
+Instance field in  class <A HREF="Config.html">Config</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ModelBase.html#url"><B>url</B></A> - 
+Instance field in  class <A HREF="ModelBase.html">ModelBase</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__V__"><!-- --></A><H2>
+<B>V</B></H2>
+
+<DL>
+<DT><A HREF="HandsomeNumber.html#value"><B>value</B></A> - 
+Instance field in  class <A HREF="HandsomeNumber.html">HandsomeNumber</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="HandsomeNumber.html#valueOf"><B>valueOf()</B></A> - 
+Instance method in  class <A HREF="HandsomeNumber.html">HandsomeNumber</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Listener.html#values"><B>values</B></A> - 
+Instance field in  class <A HREF="Listener.html">Listener</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Version.html#"><B>Version</B></A> - 
+ class <A HREF="Version.html">Version</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Version.html#constructor_detail"><B>Version(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="Version.html">Version</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__W__"><!-- --></A><H2>
+<B>W</B></H2>
+
+<DL>
+<DT><A HREF="WebServiceForm.html#"><B>WebServiceForm</B></A> - 
+ class <A HREF="WebServiceForm.html">WebServiceForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceForm.html#webServiceForm"><B>webServiceForm</B></A> - 
+Instance field in  class <A HREF="WebServiceForm.html">WebServiceForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceForm.html#constructor_detail"><B>WebServiceForm(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="WebServiceForm.html">WebServiceForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceRequest.html#"><B>WebServiceRequest</B></A> - 
+ class <A HREF="WebServiceRequest.html">WebServiceRequest</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceRequest.html#constructor_detail"><B>WebServiceRequest(toolNode, model)</B></A> - 
+Constructor in  class <A HREF="WebServiceRequest.html">WebServiceRequest</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WfsGetFeature.html#webServiceSrs"><B>webServiceSrs</B></A> - 
+Instance field in  class <A HREF="WfsGetFeature.html">WfsGetFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="FormBase.html#webServiceUrl"><B>webServiceUrl</B></A> - 
+Instance field in  class <A HREF="FormBase.html">FormBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WebServiceForm.html#webServiceUrl"><B>webServiceUrl</B></A> - 
+Instance field in  class <A HREF="WebServiceForm.html">WebServiceForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WfsGetFeature.html#webServiceUrl"><B>webServiceUrl</B></A> - 
+Instance field in  class <A HREF="WfsGetFeature.html">WfsGetFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WfsCapabilities.html#"><B>WfsCapabilities</B></A> - 
+ class <A HREF="WfsCapabilities.html">WfsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WfsCapabilities.html#constructor_detail"><B>WfsCapabilities(modelNode, parent)</B></A> - 
+Constructor in  class <A HREF="WfsCapabilities.html">WfsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WfsGetFeature.html#"><B>WfsGetFeature</B></A> - 
+ class <A HREF="WfsGetFeature.html">WfsGetFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WfsGetFeature.html#constructor_detail"><B>WfsGetFeature(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="WfsGetFeature.html">WfsGetFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Widget.html#"><B>Widget</B></A> - 
+ class <A HREF="Widget.html">Widget</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Widget.html#constructor_detail"><B>Widget(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="Widget.html">Widget</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBase.html#"><B>WidgetBase</B></A> - 
+ class <A HREF="WidgetBase.html">WidgetBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBase.html#constructor_detail"><B>WidgetBase(widgetNode,model)</B></A> - 
+Constructor in  class <A HREF="WidgetBase.html">WidgetBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBaseXSL.html#"><B>WidgetBaseXSL</B></A> - 
+ class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBaseXSL.html#constructor_detail"><B>WidgetBaseXSL(widgetNode,model)</B></A> - 
+Constructor in  class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WfsGetFeature.html#widgetNode"><B>widgetNode</B></A> - 
+Instance field in  class <A HREF="WfsGetFeature.html">WfsGetFeature</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WidgetBase.html#widgetNode"><B>widgetNode</B></A> - 
+Instance field in  class <A HREF="WidgetBase.html">WidgetBase</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Config.html#widgetText"><B>widgetText</B></A> - 
+Instance field in  class <A HREF="Config.html">Config</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#width"><B>width</B></A> - 
+Instance field in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Graticule.html#width"><B>width</B></A> - 
+Instance field in  class <A HREF="Graticule.html">Graticule</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WmsCapabilities.html#"><B>WmsCapabilities</B></A> - 
+ class <A HREF="WmsCapabilities.html">WmsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WmsCapabilities.html#constructor_detail"><B>WmsCapabilities(modelNode, parent)</B></A> - 
+Constructor in  class <A HREF="WmsCapabilities.html">WmsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WpsCapabilities.html#"><B>WpsCapabilities</B></A> - 
+ class <A HREF="WpsCapabilities.html">WpsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WpsCapabilities.html#constructor_detail"><B>WpsCapabilities(modelNode, parent)</B></A> - 
+Constructor in  class <A HREF="WpsCapabilities.html">WpsCapabilities</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WpsDescribeProcess.html#"><B>WpsDescribeProcess</B></A> - 
+ class <A HREF="WpsDescribeProcess.html">WpsDescribeProcess</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="WpsDescribeProcess.html#constructor_detail"><B>WpsDescribeProcess(modelNode, parent)</B></A> - 
+Constructor in  class <A HREF="WpsDescribeProcess.html">WpsDescribeProcess</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__X__"><!-- --></A><H2>
+<B>X</B></H2>
+
+<DL>
+<DT><A HREF="XMLHttpRequest.html#"><B>XMLHttpRequest</B></A> - 
+ class <A HREF="XMLHttpRequest.html">XMLHttpRequest</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XMLHttpRequest.html#constructor_detail"><B>XMLHttpRequest()</B></A> - 
+Constructor in  class <A HREF="XMLHttpRequest.html">XMLHttpRequest</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Sarissa.html#xmlize"><B>xmlize(anyObject, objectName, indentSpace)</B></A> - 
+Class method in  class <A HREF="Sarissa.html">Sarissa</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XMLSerializer.html#"><B>XMLSerializer</B></A> - 
+ class <A HREF="XMLSerializer.html">XMLSerializer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XMLSerializer.html#constructor_detail"><B>XMLSerializer()</B></A> - 
+Constructor in  class <A HREF="XMLSerializer.html">XMLSerializer</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="GetFeatureInfo.html#xsl"><B>xsl</B></A> - 
+Instance field in  class <A HREF="GetFeatureInfo.html">GetFeatureInfo</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="OpenLSForm.html#xsl"><B>xsl</B></A> - 
+Instance field in  class <A HREF="OpenLSForm.html">OpenLSForm</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XslProcessor.html#xslDom"><B>xslDom</B></A> - 
+Instance field in  class <A HREF="XslProcessor.html">XslProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XslProcessor.html#"><B>XslProcessor</B></A> - 
+ class <A HREF="XslProcessor.html">XslProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XslProcessor.html#constructor_detail"><B>XslProcessor(xslUrl,docNSUri)</B></A> - 
+Constructor in  class <A HREF="XslProcessor.html">XslProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XSLTProcessor.html#"><B>XSLTProcessor</B></A> - 
+ class <A HREF="XSLTProcessor.html">XSLTProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XSLTProcessor.html#constructor_detail"><B>XSLTProcessor()</B></A> - 
+Constructor in  class <A HREF="XSLTProcessor.html">XSLTProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="XslProcessor.html#xslUrl"><B>xslUrl</B></A> - 
+Instance field in  class <A HREF="XslProcessor.html">XslProcessor</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<A NAME="__Z__"><!-- --></A><H2>
+<B>Z</B></H2>
+
+<DL>
+<DT><A HREF="Extent.html#zoomBy"><B>zoomBy</B></A> - 
+Instance field in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ZoomIn.html#"><B>ZoomIn</B></A> - 
+ class <A HREF="ZoomIn.html">ZoomIn</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ZoomIn.html#constructor_detail"><B>ZoomIn(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="ZoomIn.html">ZoomIn</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ZoomOut.html#"><B>ZoomOut</B></A> - 
+ class <A HREF="ZoomOut.html">ZoomOut</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ZoomOut.html#constructor_detail"><B>ZoomOut(widgetNode, model)</B></A> - 
+Constructor in  class <A HREF="ZoomOut.html">ZoomOut</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ZoomToAoi.html#"><B>ZoomToAoi</B></A> - 
+ class <A HREF="ZoomToAoi.html">ZoomToAoi</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="ZoomToAoi.html#constructor_detail"><B>ZoomToAoi(toolNode, model)</B></A> - 
+Constructor in  class <A HREF="ZoomToAoi.html">ZoomToAoi</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="MapPaneOL.html#zoomToBbox"><B>zoomToBbox(objRef)</B></A> - 
+Instance method in  class <A HREF="MapPaneOL.html">MapPaneOL</A>
+<DD>&nbsp;
+</DL>
+
+<DL>
+<DT><A HREF="Extent.html#zoomToBox"><B>zoomToBox(ul, lr)</B></A> - 
+Instance method in  class <A HREF="Extent.html">Extent</A>
+<DD>&nbsp;
+</DL>
+
+<HR>
+
+<!-- 
+   Listing of letters
+-->
+&nbsp;<A HREF="index-all.html#__A__">A</A>&nbsp;<A HREF="index-all.html#__B__">B</A>&nbsp;<A HREF="index-all.html#__C__">C</A>&nbsp;<A HREF="index-all.html#__D__">D</A>&nbsp;<A HREF="index-all.html#__E__">E</A>&nbsp;<A HREF="index-all.html#__F__">F</A>&nbsp;<A HREF="index-all.html#__G__">G</A>&nbsp;<A HREF="index-all.html#__H__">H</A>&nbsp;<A HREF="index-all.html#__I__">I</A>&nbsp;<A HREF="index-all.html#__L__">L</A>&nbsp;<A HREF="index-all.html#__M__">M</A>&nbsp;<A HREF="index-all.html#__N__">N</A>&nbsp;<A HREF="index-all.html#__O__">O</A>&nbsp;<A HREF="index-all.html#__P__">P</A>&nbsp;<A HREF="index-all.html#__R__">R</A>&nbsp;<A HREF="index-all.html#__S__">S</A>&nbsp;<A HREF="index-all.html#__T__">T</A>&nbsp;<A HREF="index-all.html#__U__">U</A>&nbsp;<A HREF="index-all.html#__V__">V</A>&nbsp;<A HREF="index-all.html#__W__">W</A>&nbsp;<A HREF="index-all.html#__X__">X</A>&nbsp;<A HREF="index-all.html#__Z__">Z</A>
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_top"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD-->
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="index-all.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-ModelUrlInput.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-ModelUrlInput.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-ModelUrlInput.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ ModelUrlInput.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" ModelUrlInput.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-ModelUrlInput.js.html" 
+                                        target="classFrame">ModelUrlInput.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ModelUrlInput.html" TARGET="classFrame">ModelUrlInput</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/TransactionResponse.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/TransactionResponse.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/TransactionResponse.html	(revision 4307)
@@ -0,0 +1,334 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+TransactionResponse
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="TransactionResponse";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TransactionResponse.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Transaction.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Version.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TransactionResponse.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class TransactionResponse</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>TransactionResponse</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>TransactionResponse</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-TransactionResponse.js.html'>TransactionResponse.js</a></I><BR/><BR/><B>Author:</B> Cameron Shorter  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="TransactionResponse.html#TransactionResponse()">TransactionResponse</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Render the response from a WFS request.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="TransactionResponse()"><!-- --></A><H3>
+TransactionResponse</H3>
+<PRE><B>TransactionResponse</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Render the response from a WFS request.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Cameron Shorter  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TransactionResponse.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Transaction.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Version.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TransactionResponse.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Logger.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Logger.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Logger.html	(revision 4307)
@@ -0,0 +1,570 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Logger
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Logger";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Logger.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Locations.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Mapbuilder.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Logger.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Logger</H2>
+<PRE>Object
+   |
+   +--<a href='Listener.html'>Listener</a>
+         |
+         +--<a href='ModelBase.html'>ModelBase</a>
+               |
+               +--<b>Logger</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Logger</B>
+   
+      <DT>extends <a href='ModelBase.html'>ModelBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Logger.js.html'>Logger.js</a></I><BR/><BR/><B>Author:</B> Mike Adair  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#doc">doc</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#namespace">namespace</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ModelBase.html">ModelBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ModelBase.html#async">async</a>, <a href="ModelBase.html#contentType">contentType</a>, <a href="ModelBase.html#modelNode">modelNode</a>, <a href="ModelBase.html#id">id</a>, <a href="ModelBase.html#title">title</a>, <a href="ModelBase.html#debug">debug</a>, <a href="ModelBase.html#url">url</a>, <a href="ModelBase.html#method">method</a>, <a href="ModelBase.html#namespace">namespace</a>, <a href="ModelBase.html#template">template</a>, <a href="ModelBase.html#nodeSelectXpath">nodeSelectXpath</a>, <a href="ModelBase.html#config">config</a>, <a href="ModelBase.html#parentModel">parentModel</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="Listener.html">Listener</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="Listener.html#listeners">listeners</a>, <a href="Listener.html#values">values</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Logger.html#Logger()">Logger</A> 
+	 </B>
+	 (modelNode, parent)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Records a log of events that occur over the course of mapbuilder execution
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#clearLog">clearLog</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 clears all entries in the log file
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#logEvent">logEvent</A></B>(eventType, listenerId, targetId, paramValue)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 appends a new entry in the log file
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#refreshLog">refreshLog</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 save the log by http post to the serializeUrl URL provided
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#saveLog">saveLog</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 save the log by http post to the serializeUrl URL provided
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ModelBase.html">ModelBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ModelBase.html#getProperty">getProperty</a>, <a href="ModelBase.html#getXpathValue">getXpathValue</a>, <a href="ModelBase.html#setXpathValue">setXpathValue</a>, <a href="ModelBase.html#loadModelDoc">loadModelDoc</a>, <a href="ModelBase.html#setModel">setModel</a>, <a href="ModelBase.html#finishLoading">finishLoading</a>, <a href="ModelBase.html#newRequest">newRequest</a>, <a href="ModelBase.html#deleteTemplates">deleteTemplates</a>, <a href="ModelBase.html#saveModel">saveModel</a>, <a href="ModelBase.html#createObject">createObject</a>, <a href="ModelBase.html#loadObjects">loadObjects</a>, <a href="ModelBase.html#parseConfig">parseConfig</a>, <a href="ModelBase.html#refresh">refresh</a>, <a href="ModelBase.html#init">init</a>, <a href="ModelBase.html#clearModel">clearModel</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="Listener.html">Listener</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="Listener.html#addListener">addListener</a>, <a href="Listener.html#addFirstListener">addFirstListener</a>, <a href="Listener.html#removeListener">removeListener</a>, <a href="Listener.html#callListeners">callListeners</a>, <a href="Listener.html#setParam">setParam</a>, <a href="Listener.html#getParam">getParam</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="doc"><!-- --></A>
+   <H3>doc</H3>
+   <PRE>Object&nbsp;<B>doc</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="namespace"><!-- --></A>
+   <H3>namespace</H3>
+   <PRE>Object&nbsp;<B>namespace</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Logger()"><!-- --></A><H3>
+Logger</H3>
+<PRE><B>Logger</B>(modelNode, parent)</PRE>
+
+
+<UL>
+   Records a log of events that occur over the course of mapbuilder execution
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>modelNode</CODE> -  Pointer to the xml node for this model from the config file.  
+     </UL>
+   
+     <UL><CODE>parent</CODE> -     The parent model for the object.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Mike Adair  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="clearLog"><!-- --></A>
+   <H3>clearLog</H3>
+   <PRE>void <B>clearLog</B>()</PRE>
+   
+      <UL>clears all entries in the log file</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="logEvent"><!-- --></A>
+   <H3>logEvent</H3>
+   <PRE>void <B>logEvent</B>(eventType, listenerId, targetId, paramValue)</PRE>
+   
+      <UL>appends a new entry in the log file</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>listenerId</CODE> -   the ID of the listener object  
+      </UL> 
+   
+     <UL><CODE>targetId</CODE> -     the ID of the object passed to the listener function  
+      </UL> 
+   
+     <UL><CODE>paramValue</CODE> -   any parameter info supplied to the listener function      
+      </UL> 
+   
+     <UL><CODE>evenType</CODE> -     the name of the event that occured  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="refreshLog"><!-- --></A>
+   <H3>refreshLog</H3>
+   <PRE>void <B>refreshLog</B>(objRef)</PRE>
+   
+      <UL>save the log by http post to the serializeUrl URL provided</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="saveLog"><!-- --></A>
+   <H3>saveLog</H3>
+   <PRE>void <B>saveLog</B>()</PRE>
+   
+      <UL>save the log by http post to the serializeUrl URL provided</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Logger.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Locations.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Mapbuilder.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Logger.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-AoiBoxOL.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-AoiBoxOL.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-AoiBoxOL.js.html	(revision 4307)
@@ -0,0 +1,279 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="AoiBoxOL.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>AoiBoxOL.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'AoiBoxOL.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="AoiBoxOL.html">AoiBoxOL</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: AoiBoxDHTML.js,v 1.2 2008/03/18 09:59:16 terral Exp $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBase.js"</span>);
+
+<span class="comment">/**
+ * Widget to draw an Area Of Interest box of a model.  The box can be drawn with
+ * the paint() method and is registered as a listener of the context AOI property.
+ * This object works entirely in pixel/line coordinate space and knows nothing
+ * about geography.  This widget uses DHTML methods to draw the box.  Since it
+ * does not support a targetModel property, it has to be defined as a child widget
+ * of the context of the map that the box should be drawn into.
+ * WARNING: This widget cannot be used in maps that use button controls.
+ * Button controls take care of aoi handling themselves.
+ * It is designed for use in locator map setups only.
+ * See also MAP-312
+ * <span class="attrib">@deprecated</span>
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBase
+ * <span class="attrib">@param</span> widgetNode The node for this object from the Config file.
+ * <span class="attrib">@param</span> model The model that contains this object.
+ */</span>
+<span class="reserved">function</span> AoiBoxOL(widgetNode, model) {
+  WidgetBase.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+
+  <span class="reserved">this</span>.cursor = <span class="literal">'crosshair'</span>;
+
+  <span class="comment">/**
+   * Interactive ZoomOut control.
+   * <span class="attrib">@param</span> objRef reference to this object.
+   * <span class="attrib">@return</span> {OpenLayers.Control} class of the OL control.
+   */</span>
+  <span class="reserved">this</span>.createControl = <span class="reserved">function</span>(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      CLASS_NAME: <span class="literal">'mbControl.AoiBoxOL'</span>,
+      type: OpenLayers.Control.TYPE_TOOL,
+
+      draw: <span class="reserved">function</span>() {
+        <span class="reserved">this</span>.handler = new OpenLayers.Handler.Box( <span class="reserved">this</span>,
+              {done: <span class="reserved">this</span>.aoiBox}, {keyMask: <span class="reserved">this</span>.keyMask} );
+		
+      },
+
+      aoiBox: <span class="reserved">function</span> (position) {
+        <span class="reserved">if</span> (position instanceof OpenLayers.Bounds) {
+          var minXY = <span class="reserved">this</span>.map.getLonLatFromPixel(
+               new OpenLayers.Pixel(position.left, position.bottom));
+          var maxXY = <span class="reserved">this</span>.map.getLonLatFromPixel(
+               new OpenLayers.Pixel(position.right, position.top));
+          var bounds = new OpenLayers.Bounds(minXY.lon, minXY.lat,
+               maxXY.lon, maxXY.lat);         
+        }
+        <span class="reserved">else</span>{
+          var XY = <span class="reserved">this</span>.map.getLonLatFromPixel(
+               new OpenLayers.Pixel(position.x, position.y));
+          var bounds = new OpenLayers.Bounds(XY.lon, XY.lat,
+               XY.lon,XY.lat);
+        }
+          var bboxOL = bounds.toBBOX().split(<span class="literal">','</span>);
+          var ul = new Array(bboxOL[0],bboxOL[3]);
+          var lr = new Array(bboxOL[2],bboxOL[1]);
+          objRef.model.setParam(<span class="literal">"aoi"</span>, new Array(ul, lr));
+      }
+    });
+ 
+    <span class="reserved">return</span> Control;
+  }
+ 
+ <span class="reserved">this</span>.init = <span class="reserved">function</span>(objRef) {
+	var Control = objRef.createControl(objRef);
+	var ct=new Control();
+   objRef.model.map.addControl(ct);
+	ct.activate();	
+  }
+  
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"loadModel"</span>,<span class="reserved">this</span>.init, <span class="reserved">this</span>); 
+  <span class="comment">/**
+   * Draws a bounding box around the current AOI.
+   * <span class="attrib">@param</span> objRef reference to this widget
+   */</span>
+  <span class="reserved">this</span>.drawAoiBox = <span class="reserved">function</span>(objRef) {
+	<span class="reserved">if</span>(objRef.model.map){
+		var ext = objRef.model.getParam(<span class="literal">'aoi'</span>);
+		var bounds = new OpenLayers.Bounds(ext[0][0], ext[1][1], ext[1][0], ext[0][1]);
+		objRef.model.aoiBoxLayer = new OpenLayers.Layer.Boxes(<span class="literal">'Boxes'</span>);
+		objRef.model.map.addLayer(objRef.model.aoiBoxLayer);
+		var box = new OpenLayers.Marker.Box(bounds);
+		objRef.model.aoiBoxLayer.addMarker(box);
+	}
+  } 
+  <span class="comment">/**
+   * Clears the AOI box.
+   * <span class="attrib">@param</span> objRef reference to this widget
+   */</span>
+  <span class="reserved">this</span>.clearAoiBox = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">if</span> (objRef.model.aoiBoxLayer) {
+      objRef.model.aoiBoxLayer.destroy();
+    }  
+  }
+<span class="comment">	
+    // adds a listener to the context to clear the AOI box when AOI changes</span>
+    <span class="reserved">this</span>.model.addListener(<span class="literal">'aoi'</span>, <span class="reserved">this</span>.clearAoiBox, <span class="reserved">this</span>);
+    <span class="reserved">this</span>.model.addListener(<span class="literal">'aoi'</span>, <span class="reserved">this</span>.drawAoiBox, <span class="reserved">this</span>);
+}</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-TabbedContent.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-TabbedContent.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-TabbedContent.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TabbedContent.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TabbedContent.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TabbedContent.js.html" 
+                                        target="classFrame">TabbedContent.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TabbedContent.html" TARGET="classFrame">TabbedContent</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-CollectionList.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-CollectionList.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-CollectionList.js.html	(revision 4307)
@@ -0,0 +1,236 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="CollectionList.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>CollectionList.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'CollectionList.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="CollectionList.html">CollectionList</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Cameron Shorter cameronAtshorter.net
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: CollectionList.js 3888 2008-02-27 18:25:45Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * A widget to display a list of context docs to pick from.  This is a view of 
+ * a Context Collection as specified in the OGC Context specification.
+ * The default xsl stylesheet for this widget also uses the switchMap
+ * function, which allows to switch to a different map context.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+
+<span class="reserved">function</span> CollectionList(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+
+  <span class="comment">/**
+   * Switch to another map context, keeping the current extent.
+   * <span class="attrib">@param</span> objRef this widget
+   * <span class="attrib">@modelUrl</span> the URL of the context we want to switch to.
+   */</span>
+  <span class="reserved">this</span>.switchMap = <span class="reserved">function</span>(objRef, modelUrl) {
+<span class="comment">    // save the current extent</span>
+    objRef.extent = objRef.targetModel.map.getExtent();
+    objRef.srs = objRef.targetModel.getSRS();
+    objRef.scale = objRef.targetModel.map.getScale();
+   
+    objRef.targetModel.addListener( <span class="literal">"loadModel"</span>, objRef.setExtent, objRef );
+    config.loadModel( objRef.targetModel.id, modelUrl );
+  }
+  
+  <span class="comment">/**
+   * Sets the extent of the map that we just switched to.
+   * Called when the map is reloaded with the new context.
+   * <span class="attrib">@param</span> objRef this widget
+   */</span>
+  <span class="reserved">this</span>.setExtent = <span class="reserved">function</span> (objRef) {
+    objRef.targetModel.removeListener( <span class="literal">"loadModel"</span>, objRef.setExtent, objRef );
+
+    var bbox = objRef.extent.toBBOX().split(/,/);  
+    <span class="reserved">if</span> (objRef.targetModel.getSRS().toUpperCase() != objRef.srs.toUpperCase()) {
+      var targetProj = new OpenLayers.Projection(objRef.targetModel.getSRS());
+      var srcProj = new OpenLayers.Projection(objRef.srs);
+    	var ptLL=new OpenLayers.Geometry.Point(bbox[0],bbox[1]);
+    	var ptUR=new OpenLayers.Geometry.Point(bbox[2],bbox[3]);
+  		ptLL.transform(srcProj, targetProj);
+	    ptUR.transform(srcProj, targetProj);
+      objRef.extent = new OpenLayers.Bounds(ptLL.x, ptLL.y, ptUR.x, ptUR.y);
+    }
+    <span class="reserved">if</span> (objRef.targetModel.map.getExtent().containsBounds(objRef.extent, false, false)) {
+      objRef.targetModel.map.zoomToExtent(objRef.extent);
+      <span class="reserved">if</span> (!objRef.targetModel.map.fractionalZoom &amp;&amp; objRef.targetModel.map.getScale() &gt; objRef.scale) {
+        objRef.targetModel.map.zoomIn();
+      }
+    }
+  }
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-ServiceRegistryList.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-ServiceRegistryList.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-ServiceRegistryList.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ ServiceRegistryList.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" ServiceRegistryList.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-ServiceRegistryList.js.html" 
+                                        target="classFrame">ServiceRegistryList.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ServiceRegistryList.html" TARGET="classFrame">ServiceRegistryList</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/WpsCapabilities.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/WpsCapabilities.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/WpsCapabilities.html	(revision 4307)
@@ -0,0 +1,592 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+WpsCapabilities
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="WpsCapabilities";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-WpsCapabilities.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="WmsCapabilities.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="WpsDescribeProcess.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="WpsCapabilities.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class WpsCapabilities</H2>
+<PRE>Object
+   |
+   +--<a href='Listener.html'>Listener</a>
+         |
+         +--<a href='ModelBase.html'>ModelBase</a>
+               |
+               +--<b>WpsCapabilities</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>WpsCapabilities</B>
+   
+      <DT>extends <a href='ModelBase.html'>ModelBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-WpsCapabilities.js.html'>WpsCapabilities.js</a></I><BR/><BR/><B>Author:</B> Mike Adair  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#namespace">namespace</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ModelBase.html">ModelBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ModelBase.html#async">async</a>, <a href="ModelBase.html#contentType">contentType</a>, <a href="ModelBase.html#modelNode">modelNode</a>, <a href="ModelBase.html#id">id</a>, <a href="ModelBase.html#title">title</a>, <a href="ModelBase.html#debug">debug</a>, <a href="ModelBase.html#url">url</a>, <a href="ModelBase.html#method">method</a>, <a href="ModelBase.html#namespace">namespace</a>, <a href="ModelBase.html#template">template</a>, <a href="ModelBase.html#nodeSelectXpath">nodeSelectXpath</a>, <a href="ModelBase.html#config">config</a>, <a href="ModelBase.html#parentModel">parentModel</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="Listener.html">Listener</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="Listener.html#listeners">listeners</a>, <a href="Listener.html#values">values</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="WpsCapabilities.html#WpsCapabilities()">WpsCapabilities</A> 
+	 </B>
+	 (modelNode, parent)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Stores a Web Processing service (WPS) Capabilities document as defined by the 
+ Open Geospatial Consortium (http://www.opengeospatial.org/).
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeatureNode">getFeatureNode</A></B>(featureName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the featureType node with the specified name from the list of nodes
+ selected by the nodeSelectXpath from the capabilities doc.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getMethod">getMethod</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get HTTP method used to retreive this model
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getServerUrl">getServerUrl</A></B>(requestName, method, feature)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the serverUrl for the WFS request passed in with the specified
+ HTTP method from the capabilities doc.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getVersion">getVersion</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the version for the wps
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ModelBase.html">ModelBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ModelBase.html#getProperty">getProperty</a>, <a href="ModelBase.html#getXpathValue">getXpathValue</a>, <a href="ModelBase.html#setXpathValue">setXpathValue</a>, <a href="ModelBase.html#loadModelDoc">loadModelDoc</a>, <a href="ModelBase.html#setModel">setModel</a>, <a href="ModelBase.html#finishLoading">finishLoading</a>, <a href="ModelBase.html#newRequest">newRequest</a>, <a href="ModelBase.html#deleteTemplates">deleteTemplates</a>, <a href="ModelBase.html#saveModel">saveModel</a>, <a href="ModelBase.html#createObject">createObject</a>, <a href="ModelBase.html#loadObjects">loadObjects</a>, <a href="ModelBase.html#parseConfig">parseConfig</a>, <a href="ModelBase.html#refresh">refresh</a>, <a href="ModelBase.html#init">init</a>, <a href="ModelBase.html#clearModel">clearModel</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="Listener.html">Listener</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="Listener.html#addListener">addListener</a>, <a href="Listener.html#addFirstListener">addFirstListener</a>, <a href="Listener.html#removeListener">removeListener</a>, <a href="Listener.html#callListeners">callListeners</a>, <a href="Listener.html#setParam">setParam</a>, <a href="Listener.html#getParam">getParam</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="namespace"><!-- --></A>
+   <H3>namespace</H3>
+   <PRE>Object&nbsp;<B>namespace</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="WpsCapabilities()"><!-- --></A><H3>
+WpsCapabilities</H3>
+<PRE><B>WpsCapabilities</B>(modelNode, parent)</PRE>
+
+
+<UL>
+   Stores a Web Processing service (WPS) Capabilities document as defined by the 
+ Open Geospatial Consortium (http://www.opengeospatial.org/).
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>modelNode</CODE> -    The model's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>parent</CODE> -  The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Mike Adair  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="getFeatureNode"><!-- --></A>
+   <H3>getFeatureNode</H3>
+   <PRE>Object <B>getFeatureNode</B>(featureName)</PRE>
+   
+      <UL>Returns the featureType node with the specified name from the list of nodes
+ selected by the nodeSelectXpath from the capabilities doc.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureName</CODE> -  name of the featureType to look up  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the featureType node with the specified name. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getMethod"><!-- --></A>
+   <H3>getMethod</H3>
+   <PRE>Object <B>getMethod</B>()</PRE>
+   
+      <UL>Get HTTP method used to retreive this model</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the HTTP method 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getServerUrl"><!-- --></A>
+   <H3>getServerUrl</H3>
+   <PRE>Object <B>getServerUrl</B>(requestName, method, feature)</PRE>
+   
+      <UL>Returns the serverUrl for the WFS request passed in with the specified
+ HTTP method from the capabilities doc.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>requestName</CODE> -  the WFS request to get the URL for  
+      </UL> 
+   
+     <UL><CODE>method</CODE> -  http method for the request  
+      </UL> 
+   
+     <UL><CODE>feature</CODE> -  ignored for WFS docs  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        URL for the specified request with the specified method 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getVersion"><!-- --></A>
+   <H3>getVersion</H3>
+   <PRE>Object <B>getVersion</B>()</PRE>
+   
+      <UL>Returns the version for the wps</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the wps version 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-WpsCapabilities.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="WmsCapabilities.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="WpsDescribeProcess.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="WpsCapabilities.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/help-doc.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/help-doc.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/help-doc.html	(revision 4307)
@@ -0,0 +1,160 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+<TITLE>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 API Help 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" API Help";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_top"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="help-doc.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<CENTER>
+<H1>
+How This API Document Is Organized</H1>
+</CENTER>
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3>
+Class</H3>
+<BLOCKQUOTE>
+
+<P>
+Each class has its own separate page. Each of these pages has three sections consisting of a class description, summary tables, and detailed member descriptions:<UL>
+<LI>Class inheritance diagram<LI>Direct Subclasses<LI>Class declaration<LI>Class description
+<P>
+<LI>Field Summary<LI>Constructor Summary<LI>Method Summary
+<P>
+<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL>
+Each summary entry contains the first sentence from the detailed description for that item. </BLOCKQUOTE>
+<!--H3>
+Tree (Class Hierarchy)</H3>
+<BLOCKQUOTE>
+There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all classes. The hierarchy page contains a list of classes. The classes are organized by inheritance structure starting with <code>Object</code>.<UL>
+</BLOCKQUOTE-->
+<!-- H3>
+Deprecated API</H3>
+<BLOCKQUOTE>
+The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE-->
+<H3>
+Index</H3>
+<BLOCKQUOTE>
+The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, constructors, methods, and fields.</BLOCKQUOTE>
+<H3>
+Prev/Next</H3>
+These links take you to the next or previous class, interface, package, or related page.<H3>
+Frames/No Frames</H3>
+These links show and hide the HTML frames.  All pages are available with or without frames.
+<P>
+<FONT SIZE="-1">
+<EM>
+This help file applies to API documentation generated using the standard doclet.</EM>
+</FONT>
+<BR>
+<HR>
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="help-doc.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-FeatureList.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-FeatureList.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-FeatureList.js.html	(revision 4307)
@@ -0,0 +1,200 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="FeatureList.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>FeatureList.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'FeatureList.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="FeatureList.html">FeatureList</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: FeatureList.js 3091 2007-08-09 12:21:54Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Functions to render and update a FeatureList from GML.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@author</span> Cameron Shorter
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> FeatureList(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+
+  <span class="comment">/**
+   * Set the value of an attribute from the FeatureList.
+   * <span class="attrib">@param</span> objRef Reference to this object.
+   * <span class="attrib">@param</span> xpath Xpath reference to the attribute in the GML.
+   * <span class="attrib">@param</span> value New attribute value.
+   */</span>
+  <span class="reserved">this</span>.setAttr=<span class="reserved">function</span>(objRef,xpath,value){
+    objRef.model.setXpathValue(objRef.model,xpath,value);
+  }
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-EditContext.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-EditContext.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-EditContext.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ EditContext.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" EditContext.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-EditContext.js.html" 
+                                        target="classFrame">EditContext.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="EditContext.html" TARGET="classFrame">EditContext</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/EditButtonBase.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/EditButtonBase.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/EditButtonBase.html	(revision 4307)
@@ -0,0 +1,793 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+EditButtonBase
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="EditButtonBase";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-EditButtonBase.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="DragPan.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="EditContext.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="EditButtonBase.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class EditButtonBase</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<b>EditButtonBase</b>
+</PRE>
+
+   <DL>
+   <DT>
+      <B>Direct Known Subclasses:</B> 
+      <DD>
+                <a href="EditPolygon.html">EditPolygon</a>, <a href="EditLine.html">EditLine</a>, <a href="EditPoint.html">EditPoint</a>, <a href="Measurement.html">Measurement</a>
+      </DD>
+   </DL>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>EditButtonBase</B>
+   
+      <DT>extends <a href='ButtonBase.html'>ButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-EditButtonBase.js.html'>EditButtonBase.js</a></I><BR/><BR/><B>Author:</B> Cameron Shorter cameronATshorter.net  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#appendOnEdit">appendOnEdit</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Should a new empty feature be appended after creating one?</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#cursor">cursor</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#defaultModelUrl">defaultModelUrl</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Empty GML to load when this tool is selected.</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#featureXpath">featureXpath</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reference to GML node to update when a feature is added.</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#trm">trm</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="EditButtonBase.html#EditButtonBase()">EditButtonBase</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Base class for tools which update GML by clicking on the mapPane.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#createControl">createControl</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 OpenLayers DrawFeature control.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#doSelect">doSelect</A></B>(objRef, selected)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 If tool is selected and the Edit Tool has changed (eg, changed from
+ LineEdit to PointEdit) then load new default feature.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#handleFeatureInsert">handleFeatureInsert</A></B>(feature)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 This is called by the OL onFeatureInsert handler.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#initButton">initButton</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Create the array that will hold all OL feature layers
+ for editing buttons.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#newSession">newSession</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 start a new editing session
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setEditingLayer">setEditingLayer</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set editing layer and register for editing events in OL,
+ called after model loads.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setFeature">setFeature</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Add a geometry to the enclosing GML model.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="appendOnEdit"><!-- --></A>
+   <H3>appendOnEdit</H3>
+   <PRE>Object&nbsp;<B>appendOnEdit</B></PRE>
+   <UL>
+   Should a new empty feature be appended after creating one?
+   
+   </UL>
+   <HR>
+   
+   <A NAME="cursor"><!-- --></A>
+   <H3>cursor</H3>
+   <PRE>Object&nbsp;<B>cursor</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="defaultModelUrl"><!-- --></A>
+   <H3>defaultModelUrl</H3>
+   <PRE>Object&nbsp;<B>defaultModelUrl</B></PRE>
+   <UL>
+   Empty GML to load when this tool is selected.
+   
+   </UL>
+   <HR>
+   
+   <A NAME="featureXpath"><!-- --></A>
+   <H3>featureXpath</H3>
+   <PRE>Object&nbsp;<B>featureXpath</B></PRE>
+   <UL>
+   Reference to GML node to update when a feature is added.
+   
+   </UL>
+   <HR>
+   
+   <A NAME="trm"><!-- --></A>
+   <H3>trm</H3>
+   <PRE>Object&nbsp;<B>trm</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="EditButtonBase()"><!-- --></A><H3>
+EditButtonBase</H3>
+<PRE><B>EditButtonBase</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Base class for tools which update GML by clicking on the mapPane.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  The node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -   The ButtonBar widget.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Cameron Shorter cameronATshorter.net  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="createControl"><!-- --></A>
+   <H3>createControl</H3>
+   <PRE>Object <B>createControl</B>(objRef)</PRE>
+   
+      <UL>OpenLayers DrawFeature control.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this object.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        {OpenLayers.Control} class of the OL control. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="doSelect"><!-- --></A>
+   <H3>doSelect</H3>
+   <PRE>void <B>doSelect</B>(objRef, selected)</PRE>
+   
+      <UL>If tool is selected and the Edit Tool has changed (eg, changed from
+ LineEdit to PointEdit) then load new default feature.
+ This function is called when a tool is selected or deselected.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.  
+      </UL> 
+   
+     <UL><CODE>selected</CODE> -  True when selected.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="handleFeatureInsert"><!-- --></A>
+   <H3>handleFeatureInsert</H3>
+   <PRE>void <B>handleFeatureInsert</B>(feature)</PRE>
+   
+      <UL>This is called by the OL onFeatureInsert handler. It will
+ call the superclass's setFeature() method to handle the
+ created feature.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>feature</CODE> -  OpenLayers feature      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="initButton"><!-- --></A>
+   <H3>initButton</H3>
+   <PRE>void <B>initButton</B>(objRef)</PRE>
+   
+      <UL>Create the array that will hold all OL feature layers
+ for editing buttons. Also register event handler to
+ create feature layers when the OL map is available.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="newSession"><!-- --></A>
+   <H3>newSession</H3>
+   <PRE>void <B>newSession</B>(objRef)</PRE>
+   
+      <UL>start a new editing session</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this widget      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setEditingLayer"><!-- --></A>
+   <H3>setEditingLayer</H3>
+   <PRE>void <B>setEditingLayer</B>(objRef)</PRE>
+   
+      <UL>Set editing layer and register for editing events in OL,
+ called after model loads.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setFeature"><!-- --></A>
+   <H3>setFeature</H3>
+   <PRE>void <B>setFeature</B>(objRef)</PRE>
+   
+      <UL>Add a geometry to the enclosing GML model.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -       Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-EditButtonBase.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="DragPan.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="EditContext.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="EditButtonBase.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Extent.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Extent.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Extent.js.html	(revision 4307)
@@ -0,0 +1,535 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Extent.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Extent.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Extent.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Extent.html">Extent</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Extent.js 3067 2007-08-03 09:25:59Z jseb.baklouti $
+*/</span>
+
+
+var Rearth = 6378137.0;                 // Radius of the earth (sphere); different from Proj value?
+var degToMeter = Rearth*2*Math.PI/360;
+<span class="comment">//var mbScaleFactor = 72 * 39.3701;   //PixelsPerInch*InchesPerMapUnit; magic numbers </span>
+<span class="comment">                                    //need to determine magic number for lat/lon</span>
+var mbScaleFactor = 3571.428;   //magic number, <span class="reserved">for</span> Geoserver SLD compatibility
+<span class="comment">                               // 1/0.00028 (0.28 mm "is a common actual size for</span>
+<span class="comment">                               // contemporary display" as written in the SLD specification ...</span>
+
+<span class="comment">/*
+ * FD 2005/03/04 : minScale et maxScale
+ * DGR : should be in config ?
+ */</span>
+var minScale = 1000;
+var maxScale = 200000;
+
+<span class="comment">/**
+ * A tool designed to handle geography calculations for widgets which render
+ * the model in 2D.
+ * Use of this tool requires that it's model implements get/setWindowHeight/Width
+ * methods.
+ * Encapsulates all geography and image size aspects of a geographic object 
+ * displayed in a rectangular area on the screen.
+ * All coordinates are handled as points which is a 2 element array, where x is 
+ * the first element and y is the second. Coordinates are either pixel and lixel
+ * (pl) relative to the top left of the extent or projection XY values (xy). 
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@param</span> model       the model document that this extent represents
+ * <span class="attrib">@param</span> initialRes  (optional) if supplied the extent resolution will be set to this value
+ */</span>
+<span class="reserved">function</span> Extent( model, initialRes ) {
+  <span class="reserved">this</span>.model = model;
+  <span class="reserved">this</span>.id = model.id + <span class="literal">"_MbExtent"</span> + mbIds.getId();
+  <span class="reserved">this</span>.size = new Array();
+  <span class="reserved">this</span>.res = new Array();
+  <span class="reserved">this</span>.zoomBy = 4;
+  
+  <span class="comment">/**
+   * Returns the bounding box as stored in the model
+   * <span class="attrib">@return</span> array with the bounding box
+   */</span>
+  <span class="reserved">this</span>.getBbox = <span class="reserved">function</span>() {
+    var bbox = <span class="reserved">this</span>.model.getBoundingBox();
+    <span class="reserved">return</span> bbox;
+  }
+  
+  <span class="comment">/**
+   * Recalculates a given bbox and stores a proper aspect one in the model
+   * <span class="attrib">@param</span> bbox  an array with a bounding box
+   */</span>
+  <span class="reserved">this</span>.setBbox = <span class="reserved">function</span>(bbox){
+    size = <span class="reserved">this</span>.getSize();
+    res = Math.max((bbox[2] - bbox[0])/size[0], (bbox[3] - bbox[1])/size[1]);
+    scale=<span class="reserved">this</span>.getFixedScale(res);
+    center = new Array((bbox[1]-bbox[3])/2,(bbox[0]-bbox[2])/2);//center=horizontal,vertical
+    half = new Array(size[0]/2,size[1]/2);
+    bbox = new Array(center[0]-half[0]*scale, center[1]-half[1]*scale, center[0]+half[0]*scale,center[1]+half[1]*scale);
+    <span class="reserved">this</span>.model.setBoundingBox(bbox);
+  }
+  
+   <span class="comment">/**
+   * Returns the window size as stored in the model
+   * <span class="attrib">@return</span> array with the window size
+   */</span>
+  <span class="reserved">this</span>.getSize = <span class="reserved">function</span>() {
+    size= new Array();
+    size[0] = <span class="reserved">this</span>.model.getWindowWidth();
+    size[1] = <span class="reserved">this</span>.model.getWindowHeight();
+    <span class="reserved">return</span> size;
+  }
+  
+   <span class="comment">/**
+   * Stores a given window size in the model.
+   * Can be used in the future for dynamic window resizing
+   * <span class="attrib">@param</span> size  an array with a window size
+   */</span>
+  <span class="reserved">this</span>.setSize = <span class="reserved">function</span>(size){
+    <span class="reserved">this</span>.model.setWindowWidth(size[0]);
+    <span class="reserved">this</span>.model.setWindowHeight(size[1]);
+  }
+  
+   <span class="comment">/**
+   * When given a res, it recalculates it to match the zoomlevels, when present and returns a fixed scale.
+   * When no res is given it returns the maximum resolution
+   * <span class="attrib">@param</span> res optional resolution to be checked
+   * <span class="attrib">@return</span> fixedScale the resolution to display the map with
+   */</span>
+  <span class="reserved">this</span>.getFixedScale = <span class="reserved">function</span>(res) {
+  <span class="reserved">if</span> (<span class="reserved">this</span>.zoomLevels){
+    <span class="reserved">if</span> (!res) {
+      <span class="reserved">this</span>.setResolution( new Array(<span class="reserved">this</span>.model.getWindowWidth(), <span class="reserved">this</span>.model.getWindowHeight() ) );
+      res = Math.max(<span class="reserved">this</span>.res[0],<span class="reserved">this</span>.res[1]);
+     
+    }
+    var sortstring = <span class="literal">"function sort(a,b){return b-a}"</span>;
+    var evalsort= eval(sortstring);
+    var zoomLevels = <span class="reserved">this</span>.zoomLevels.sort(evalsort);
+    var i=0;
+    <span class="reserved">while</span>(zoomLevels[i] &gt;= res){
+      i++;
+    }
+    <span class="reserved">if</span>(i==0) {
+    i=1;
+    }
+    <span class="reserved">this</span>.fixedScale = zoomLevels[i-1];
+    }
+    <span class="reserved">else</span> <span class="reserved">this</span>.fixedScale = Math.max(<span class="reserved">this</span>.res[0],<span class="reserved">this</span>.res[1]);
+    <span class="reserved">return</span> <span class="reserved">this</span>.fixedScale;
+    
+  }
+  
+  <span class="comment">/* 
+   * Sets the zoomLevels in the extent
+   * <span class="attrib">@param</span> enabled boolean to enable or disable zoomLevels support
+   * <span class="attrib">@param</span> zoomLevels an array containing a fixed set of zoomLevels
+   */</span>
+  <span class="reserved">this</span>.setZoomLevels = <span class="reserved">function</span>(enabled,zoomLevels){
+    <span class="reserved">if</span>(enabled) {
+      <span class="reserved">this</span>.zoomLevels = zoomLevels;
+    }
+    <span class="reserved">else</span> <span class="reserved">this</span>.zoomLevels = null;
+  }
+ 
+  <span class="comment">/*
+   * Recalculates the lr and ul to a proper aspect. It also takes into account zoomLevels when present.
+   */</span>
+  <span class="reserved">this</span>.checkBbox = <span class="reserved">function</span>() {
+    var center = <span class="reserved">this</span>.getCenter();
+    var half = new Array(<span class="reserved">this</span>.size[0]/2, <span class="reserved">this</span>.size[1]/2);
+    var res = <span class="reserved">this</span>.getFixedScale();
+    <span class="reserved">this</span>.lr = new Array(center[0]+half[0]*res, center[1]-half[1]*res);
+    <span class="reserved">this</span>.ul = new Array(center[0]-half[0]*res, center[1]+half[1]*res);
+  }
+  <span class="comment">/**
+   * Returns the XY center of this extent
+   * <span class="attrib">@return</span>  array of XY for th center of the extent
+   */</span>
+  <span class="reserved">this</span>.getCenter = <span class="reserved">function</span>() {
+    <span class="reserved">return</span> new Array((<span class="reserved">this</span>.ul[0]+<span class="reserved">this</span>.lr[0])/2, (<span class="reserved">this</span>.ul[1]+<span class="reserved">this</span>.lr[1])/2);
+  }
+
+  <span class="comment">/**
+   * Returns XY coordinates for given pixel line coords w.r.t. top left corner
+   * <span class="attrib">@param</span> pl   pixel line in extent to calculate
+   * <span class="attrib">@return</span>     point array of XY coordinates
+   */</span>
+  <span class="reserved">this</span>.getXY = <span class="reserved">function</span>(pl) {
+<span class="comment">    //switch(this.model.getSRS()) {</span>
+<span class="comment">    //  case "EPSG:GMAPS":       //<span class="attrib">@TODO</span> Cleanup this hack</span>
+<span class="comment">    //    gmap=this.model.getParam("gmap");</span>
+<span class="comment">    //    if(gmap){</span>
+<span class="comment">    //      p=new GPoint(pl[0],pl[1]);</span>
+<span class="comment">    //      latlng=gmap.fromDivPixelToLatLng(p);</span>
+<span class="comment">    //      latlng=new Array(latlng.lng(),latlng.lat());</span>
+<span class="comment">    //    }</span>
+<span class="comment">    //    else alert("Extent: gmap not defined");</span>
+<span class="comment">    //    break;</span>
+<span class="comment">    //  default:</span>
+<span class="comment">    //    latlng=new Array(this.ul[0]+pl[0]*this.res[0],this.ul[1]- pl[1]*this.res[1]);</span>
+<span class="comment">    //    break;</span>
+<span class="comment">    //}</span>
+    latlng=new Array(<span class="reserved">this</span>.ul[0]+pl[0]*<span class="reserved">this</span>.res[0],<span class="reserved">this</span>.ul[1]- pl[1]*<span class="reserved">this</span>.res[1]);
+    <span class="reserved">return</span> latlng;
+  }
+
+  <span class="comment">/**
+   * Returns pixel/line coordinates for given XY projection coords
+   * <span class="attrib">@param</span> xy   projection XY coordinate to calculate
+   * <span class="attrib">@return</span>     point array of pxiel/line coordinates w.r.t. top left corner
+   */</span>
+  <span class="reserved">this</span>.getPL = <span class="reserved">function</span>(xy) {
+<span class="comment">    //switch(this.model.getSRS()) {</span>
+<span class="comment">    //  case "EPSG:GMAPS":       //<span class="attrib">@TODO</span> Cleanup this hack</span>
+<span class="comment">    //    return xy;</span>
+<span class="comment">    //}</span>
+    
+    var p = Math.floor( (xy[0]-<span class="reserved">this</span>.ul[0])/<span class="reserved">this</span>.res[0] );
+    var l = Math.floor( (<span class="reserved">this</span>.ul[1]-xy[1])/<span class="reserved">this</span>.res[1] );
+    <span class="reserved">return</span> new Array(p,l);
+  }
+
+  <span class="comment">/**
+   * Adjust the extent so that it is centered at given XY coordinate with given
+   * resolution.  Extent width and height remain fixed.  Optionally check to 
+   * ensure that it doesn't go beyond available extent.
+   *
+   * <span class="attrib">@param</span> center      projection XY coordinate to center at
+   * <span class="attrib">@param</span> newres      resolution to display at
+   * <span class="attrib">@param</span> limitExtent ensure that the extent doesn't go beyond available bbox (TBD: not complete/tested)
+   * <span class="attrib">@return</span>            none
+   */</span>
+  <span class="reserved">this</span>.centerAt = <span class="reserved">function</span>(center, newres, limitExtent) {
+    var half = new Array(<span class="reserved">this</span>.size[0]/2, <span class="reserved">this</span>.size[1]/2);
+<span class="comment">/*
+ * FD 2005/03/04 : respect de minScale et maxScale
+ * DGR : scale constraints
+    var nRmin= minScale/mbScaleFactor;
+    var nRmax= maxScale/mbScaleFactor;
+    if (newres &lt; nRmin) {
+      newres= nRmin ;
+    }
+    if (newres &gt; nRmax) {
+      newres= nRmax ;
+    }
+ */</span>
+    <span class="reserved">if</span> (<span class="reserved">this</span>.zoomLevels) {
+      newres=<span class="reserved">this</span>.getFixedScale(newres);
+    }
+    <span class="reserved">this</span>.lr = new Array(center[0]+half[0]*newres, center[1]-half[1]*newres);
+    <span class="reserved">this</span>.ul = new Array(center[0]-half[0]*newres, center[1]+half[1]*newres);
+<span class="comment">
+    //make sure the request doesn't extend beyond the available model</span>
+<span class="comment">    //TBD this block not tested</span>
+    <span class="reserved">if</span> ( limitExtent ) {
+      var xShift = 0;
+      <span class="reserved">if</span> ( <span class="reserved">this</span>.lr[0] &gt; ContextExtent.lr[0] ) xShift = ContextExtent.lr[0] - <span class="reserved">this</span>.lr[0];
+      <span class="reserved">if</span> ( <span class="reserved">this</span>.ul[0] &lt; ContextExtent.ul[0] ) xShift = ContextExtent.ul[0] - <span class="reserved">this</span>.ul[0];
+      <span class="reserved">this</span>.lr[0] += xShift;
+      <span class="reserved">this</span>.ul[0] += xShift;
+
+      var yShift = 0;
+      <span class="reserved">if</span> ( <span class="reserved">this</span>.lr[1] &lt; ContextExtent.lr[1] ) yShift = ContextExtent.lr[1] - <span class="reserved">this</span>.lr[1];
+      <span class="reserved">if</span> ( <span class="reserved">this</span>.ul[1] &gt; ContextExtent.ul[1] ) yShift = ContextExtent.ul[1] - <span class="reserved">this</span>.ul[1];
+      <span class="reserved">this</span>.lr[1] += yShift;
+      <span class="reserved">this</span>.ul[1] += yShift;
+    }
+
+    <span class="reserved">this</span>.model.setBoundingBox( new Array(<span class="reserved">this</span>.ul[0], <span class="reserved">this</span>.lr[1], <span class="reserved">this</span>.lr[0], <span class="reserved">this</span>.ul[1]) );
+<span class="comment">    //this.setResolution(size);</span>
+    <span class="reserved">this</span>.setSize(newres);
+  }
+
+  <span class="comment">/**
+   * Adjust the extent to the given bbox.  Resolution is recalculated. 
+   * Extent width and height remain fixed.  
+   * <span class="attrib">@param</span> ul      upper left coordinate of bbox in XY projection coords
+   * <span class="attrib">@param</span> lr      lower right coordinate of bbox in XY projection coords
+   */</span>
+  <span class="reserved">this</span>.zoomToBox = <span class="reserved">function</span>(ul, lr) {    //pass in xy
+    var center = new Array((ul[0]+lr[0])/2, (ul[1]+lr[1])/2);
+    newres = Math.max((lr[0] - ul[0])/<span class="reserved">this</span>.size[0], (ul[1] - lr[1])/<span class="reserved">this</span>.size[1]);
+    <span class="reserved">this</span>.centerAt( center, newres );
+  } 
+
+<span class="comment">/**
+   * Adjust the width and height to that bbox is displayed at specified resolution
+   * <span class="attrib">@param</span> res   the resolution to be set
+   */</span>
+<span class="comment">  //TBD update the model doc</span>
+  <span class="reserved">this</span>.setSize = <span class="reserved">function</span>(res) {     //pass in a resolution and width, height are recalculated
+    <span class="reserved">this</span>.res[0] = <span class="reserved">this</span>.res[1] = res;
+    <span class="reserved">this</span>.size[0] = (<span class="reserved">this</span>.lr[0] - <span class="reserved">this</span>.ul[0])/<span class="reserved">this</span>.res[0];
+    <span class="reserved">this</span>.size[1] = (<span class="reserved">this</span>.ul[1] - <span class="reserved">this</span>.lr[1])/<span class="reserved">this</span>.res[1];
+    <span class="reserved">this</span>.width = Math.ceil(<span class="reserved">this</span>.size[0]);
+    <span class="reserved">this</span>.height = Math.ceil(<span class="reserved">this</span>.size[1]);
+  }
+
+  <span class="comment">/**
+   * Adjust the resolution so the bbox fits in the specified width and height
+   * <span class="attrib">@param</span> size   width, height array passed in
+   */</span>
+<span class="comment">  //TBD update the model doc</span>
+  <span class="reserved">this</span>.setResolution = <span class="reserved">function</span>(size) {    //pass in a width, height and res is recalculated
+    <span class="reserved">this</span>.size[0] = size[0];
+    <span class="reserved">this</span>.size[1] = size[1];
+    <span class="reserved">this</span>.res[0] = (<span class="reserved">this</span>.lr[0] - <span class="reserved">this</span>.ul[0])/<span class="reserved">this</span>.size[0];
+    <span class="reserved">this</span>.res[1] = (<span class="reserved">this</span>.ul[1] - <span class="reserved">this</span>.lr[1])/<span class="reserved">this</span>.size[1];
+    <span class="reserved">this</span>.width = Math.ceil(<span class="reserved">this</span>.size[0]);
+    <span class="reserved">this</span>.height = Math.ceil(<span class="reserved">this</span>.size[1]);
+  }
+
+  <span class="comment">/**
+   * Returns the map scale denominator for the current extent resolution
+   * <span class="attrib">@return</span> map scale denominator
+   */</span>
+  <span class="reserved">this</span>.getScale = <span class="reserved">function</span>() {
+    var pixRes = null;
+    switch(<span class="reserved">this</span>.model.getSRS()) {
+      case <span class="literal">"EPSG:GMAPS"</span>:
+        break;
+      case <span class="literal">"EPSG:4326"</span>:				//all projection codes in degrees
+      case <span class="literal">"EPSG:4269"</span>:				
+        pixRes = <span class="reserved">this</span>.res[0]*degToMeter;
+        break;
+      default:                //all projection codes in meters
+        pixRes = <span class="reserved">this</span>.res[0];
+        break;
+    }
+    <span class="reserved">return</span> mbScaleFactor*pixRes;
+  }
+
+  <span class="comment">/**
+   * Sets the model's resolution from mapScale input value.  The map center 
+   * remains fixed.
+   * <span class="attrib">@param</span> scale   map scale denominator value
+   */</span>
+  <span class="reserved">this</span>.setScale = <span class="reserved">function</span>(scale) {
+    var newRes = null;
+<span class="comment">/*
+ * FD 2005/03/04
+ * On contraint l'echelle min et max de l'application.
+ * A externaliser dans le fichier de config de l'application ;-)
+ * DGR : should be in the config
+    if (scale &lt; minScale) {
+      scale= minScale ;
+    }
+    if (scale &gt; maxScale) {
+      scale= maxScale ;
+    }
+ */</span>
+    switch(<span class="reserved">this</span>.model.getSRS()) {
+      case <span class="literal">"EPSG:4326"</span>:				//all projection codes in degrees
+      case <span class="literal">"EPSG:4269"</span>:				
+<span class="comment">        //convert to resolution in degrees</span>
+        newRes = scale/(mbScaleFactor*degToMeter);
+        break;
+      default:                //all projection codes in meters
+        newRes = scale/mbScaleFactor;
+        break;
+    }
+    <span class="reserved">this</span>.centerAt(<span class="reserved">this</span>.getCenter(), newRes );
+  }
+
+
+  <span class="comment">/**
+   * Initialization of the Extent tool, called as a loadModel event listener.
+   * <span class="attrib">@param</span> extent      the object being initialized
+   * <span class="attrib">@param</span> initialRes  (optional) if supplied the extent resolution will be set to this value
+   */</span>
+  <span class="reserved">this</span>.init = <span class="reserved">function</span>(extent, initialRes) {
+    var bbox = extent.model.getBoundingBox();
+    extent.ul = new Array(bbox[0],bbox[3]);
+    extent.lr = new Array(bbox[2],bbox[1]);
+<span class="comment">/*
+TBD: when called as a listener this gets a bbox array passed in, not initialRes value
+    if ( initialRes ) {
+      extent.setSize( initialRes );
+    } else {
+      extent.setResolution( new Array(extent.model.getWindowWidth(), extent.model.getWindowHeight() ) );
+    }
+*/</span>
+    extent.setResolution( new Array(extent.model.getWindowWidth(), extent.model.getWindowHeight() ) );
+    extent.checkBbox();
+  }
+  <span class="reserved">if</span> ( initialRes ) <span class="reserved">this</span>.init(<span class="reserved">this</span>, initialRes);
+
+
+  <span class="reserved">this</span>.firstInit = <span class="reserved">function</span>(extent, initialRes) {
+  	extent.init(extent, initialRes);
+<span class="comment">    //TBD: this causes 2 paint() calls on initial load, not sure why it's here - MA</span>
+<span class="comment">	  //extent.zoomToBox(extent.ul,extent.lr);</span>
+  }
+
+}
+
+  
+  
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MapScaleBar.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MapScaleBar.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MapScaleBar.js.html	(revision 4307)
@@ -0,0 +1,738 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="MapScaleBar.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>MapScaleBar.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'MapScaleBar.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="MapScaleBar.html">MapScaleBar</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="HandsomeNumber.html">HandsomeNumber</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+	<a name="method_summary"><!-- --></a>
+	<table border="1" cellpadding="3" cellspacing="0" width="100%">
+		<tr bgcolor="#CCCCFF" class="TableHeadingColor">
+			<td colspan=2>
+				<font size="+2">
+					<b>Method Summary</b>
+				</font>
+			</td>
+		</tr>
+	
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#formatNumber">formatNumber</a></b>(aNumber, numDecimals)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 
+		      </td>
+		   </tr>
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#styleValue">styleValue</a></b>(aSelector, styleKey)
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 
+		      </td>
+		   </tr>
+		
+	
+	</table>
+    <p>
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+JavaScript Scalebar for MapServer (scalebar.js)
+
+Copyright (c) 2005 Tim Schaub of CommEn Space (http://www.commenspace.org)
+
+This is free software; you can redistribute it and/or modify it under
+the terms of the GNU Lesser General Public License as published by the
+Free Software Foundation; either version 2.1 of the License, or (at
+your option) any later version.
+
+This software is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this software; if not, write to the Free Software Foundation,
+Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+v1.3 - scalebar is now centered on .sbWrapper div by default, more css control
+     - reduced likelihood of displaying very large numbers
+     - added condition to deal with <span class="attrib">@import</span> styles (thanks dokai)
+
+*/</span>
+<span class="comment">/*
+adapted from http://mapserver.commenspace.org/tools/scalebar/
+
+$Id: MapScaleBar.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBase.js"</span>);
+
+<span class="comment">/**
+ * Widget to display the scale of a map as a graphical bar.  The model of this widget
+ * must have an extent object associated with it which is the case when the 
+ * model has a MapContanier widget.
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBase
+ * <span class="attrib">@param</span> widgetNode  This widget's object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model that this widget is a view of.
+ */</span>
+
+<span class="reserved">function</span> MapScaleBar(widgetNode, model) {
+  WidgetBase.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+<span class="comment">
+  // default properties</span>
+<span class="comment">  // may be modified after construction</span>
+<span class="comment">  // if modified after ScaleBar.place(), use ScaleBar.update()</span>
+  <span class="reserved">this</span>.scaleDenominator = 1;    //<span class="reserved">this</span> will get updated on the first paint
+
+  <span class="reserved">this</span>.displaySystem = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:displaySystem"</span>, <span class="literal">"metric"</span>); // metric, english or nautical supported
+  <span class="reserved">this</span>.minWidth = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:minWidth"</span>, 100); // pixels
+  <span class="reserved">this</span>.maxWidth = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:maxWidth"</span>, 200); // pixels
+  <span class="reserved">this</span>.divisions = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:divisions"</span>, 2);
+  <span class="reserved">this</span>.subdivisions = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:subdivisions"</span>, 2);
+  <span class="reserved">this</span>.showMinorMeasures = Mapbuilder.parseBoolean(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:showMinorMeasures"</span>, false));
+  <span class="reserved">this</span>.abbreviateLabel = Mapbuilder.parseBoolean(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:abbreviateLabel"</span>, false));
+  <span class="reserved">this</span>.singleLine = Mapbuilder.parseBoolean(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:singleLine"</span>, false));
+  <span class="reserved">this</span>.align = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:align"</span>, <span class="literal">"center"</span>); // left, center, or right supported
+  <span class="reserved">this</span>.resolution = 72; // dpi
+<span class="comment">
+  // create scalebar elements</span>
+  <span class="reserved">this</span>.containerId = <span class="reserved">this</span>.outputNodeId;
+  <span class="reserved">this</span>.labelContainerId = <span class="reserved">this</span>.containerId + <span class="literal">"Label"</span>;
+  <span class="reserved">this</span>.graphicsContainerId = <span class="reserved">this</span>.containerId + <span class="literal">"Graphics"</span>;
+  <span class="reserved">this</span>.numbersContainerId = <span class="reserved">this</span>.containerId + <span class="literal">"Numbers"</span>;
+
+  <span class="comment">/**
+   * adds a bbox listener on the model 
+   */</span>
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"bbox"</span>, <span class="reserved">this</span>.update, <span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"refresh"</span>, <span class="reserved">this</span>.update, <span class="reserved">this</span>);
+}
+
+MapScaleBar.<span class="reserved">prototype</span>.getContainerNode = <span class="reserved">function</span>() {
+  var node = document.getElementById(<span class="reserved">this</span>.containerId);
+  <span class="reserved">if</span> (!node) {
+    var node = document.createElement(<span class="literal">'div'</span>);
+    node.className = <span class="literal">'sbWrapper'</span>;
+    node.style.position = <span class="literal">'relative'</span>;
+    node.setAttribute(<span class="literal">"id"</span>,<span class="reserved">this</span>.containerId);
+  }
+  <span class="reserved">return</span> node;
+}
+MapScaleBar.<span class="reserved">prototype</span>.getGraphicsContainerNode = <span class="reserved">function</span>() {
+  var node = document.getElementById(<span class="reserved">this</span>.graphicsContainerId);
+  <span class="reserved">if</span> (!node) {
+    var node = document.createElement(<span class="literal">'div'</span>);
+    node.style.position = <span class="literal">'absolute'</span>;
+    node.className = <span class="literal">'sbGraphicsContainer'</span>;
+    node.setAttribute(<span class="literal">"id"</span>,<span class="reserved">this</span>.graphicsContainerId);
+<span class="comment">
+    // put in some markers and bar pieces so style attributes can be grabbed</span>
+<span class="comment">    // this is a solution for Safari support</span>
+    var markerMajor = document.createElement(<span class="literal">'div'</span>);
+    markerMajor.className = <span class="literal">'sbMarkerMajor'</span>;
+    node.appendChild(markerMajor);
+    var markerMinor = document.createElement(<span class="literal">'div'</span>);
+    markerMinor.className = <span class="literal">'sbMarkerMinor'</span>;
+    node.appendChild(markerMinor);
+    var barPiece = document.createElement(<span class="literal">'div'</span>);
+    barPiece.className = <span class="literal">'sbBar'</span>;
+    node.appendChild(barPiece);
+    var barPieceAlt = document.createElement(<span class="literal">'div'</span>);
+    barPieceAlt.className = <span class="literal">'sbBarAlt'</span>;
+    node.appendChild(barPieceAlt);
+  }
+  <span class="reserved">return</span> node;
+}
+MapScaleBar.<span class="reserved">prototype</span>.getLabelContainerNode = <span class="reserved">function</span>() {
+  var node = document.getElementById(<span class="reserved">this</span>.labelContainerId);
+  <span class="reserved">if</span> (!node) {
+    var node = document.createElement(<span class="literal">'div'</span>);
+    node.className = <span class="literal">'sbUnitsContainer'</span>;
+    node.style.position = <span class="literal">'absolute'</span>;
+    node.setAttribute(<span class="literal">"id"</span>,<span class="reserved">this</span>.labelContainerId);
+  }
+  <span class="reserved">return</span> node;
+}
+MapScaleBar.<span class="reserved">prototype</span>.getNumbersContainerNode = <span class="reserved">function</span>() {
+  var node = document.getElementById(<span class="reserved">this</span>.numbersContainerId);
+  <span class="reserved">if</span> (!node) {
+    var node = document.createElement(<span class="literal">'div'</span>);
+    node.style.position = <span class="literal">'absolute'</span>;
+    node.className = <span class="literal">'sbNumbersContainer'</span>;
+    node.setAttribute(<span class="literal">"id"</span>,<span class="reserved">this</span>.numbersContainerId);
+  }
+  <span class="reserved">return</span> node;
+}
+
+<span class="comment">/**
+ * Render the widget.
+ * <span class="attrib">@param</span> objRef Pointer to widget object.
+ */</span>
+MapScaleBar.<span class="reserved">prototype</span>.update = <span class="reserved">function</span>(objRef) {
+<span class="comment">
+  //create the output node the first time this is called</span>
+  var outputNode = document.getElementById( objRef.outputNodeId );
+  <span class="reserved">if</span> (!outputNode) objRef.getNode().appendChild(objRef.getContainerNode());
+
+  var scaleDenominator = objRef.model.map.getScale();
+	<span class="reserved">if</span>(scaleDenominator != null) {
+		objRef.scaleDenominator = scaleDenominator;
+	}
+<span class="comment">	// local functions (and object constructors)</span>
+	<span class="reserved">function</span> HandsomeNumber(smallUglyNumber, bigUglyNumber, sigFigs) {
+		var sigFigs = (sigFigs == null) ? 10 : sigFigs;
+		var bestScore = Number.POSITIVE_INFINITY;
+		var bestTieBreaker = Number.POSITIVE_INFINITY;
+<span class="comment">		// if all else fails, return a small ugly number</span>
+		var handsomeValue = smallUglyNumber;
+		var handsomeNumDec = 3;
+<span class="comment">		// try the first three comely multiplicands (in order of comliness)</span>
+		<span class="reserved">for</span>(var halvingExp = 0; halvingExp &lt; 3; ++halvingExp) {
+			var comelyMultiplicand = Math.pow(2, (-1 * halvingExp));
+			var maxTensExp = Math.floor(Math.log(bigUglyNumber / comelyMultiplicand) / Math.LN10)
+			<span class="reserved">for</span>(var tensExp = maxTensExp; tensExp &gt; (maxTensExp - sigFigs + 1); --tensExp) {
+				var numDec = Math.max(halvingExp - tensExp, 0);
+				var testMultiplicand = comelyMultiplicand * Math.pow(10, tensExp);
+<span class="comment">				// check if there is an integer multiple of testMultiplicand between smallUglyNumber and bigUglyNumber</span>
+				<span class="reserved">if</span>((testMultiplicand * Math.floor(bigUglyNumber / testMultiplicand)) &gt;= smallUglyNumber) {
+<span class="comment">					// check if smallUglyNumber is an integer multiple of testMultiplicand</span>
+					<span class="reserved">if</span>(smallUglyNumber % testMultiplicand == 0) {
+						var testMultiplier = smallUglyNumber / testMultiplicand;
+					}
+<span class="comment">					// otherwise go for the smallest integer multiple between small and big</span>
+					<span class="reserved">else</span> {
+						var testMultiplier = Math.floor(smallUglyNumber / testMultiplicand) + 1;
+					}
+<span class="comment">					// test against the best (lower == better)</span>
+					var testScore = testMultiplier + (2 * halvingExp);
+					var testTieBreaker = (tensExp &lt; 0) ? (Math.abs(tensExp) + 1) : tensExp;
+					<span class="reserved">if</span>((testScore &lt; bestScore) || ((testScore == bestScore) &amp;&amp; (testTieBreaker &lt; bestTieBreaker))) {
+						bestScore = testScore;
+						bestTieBreaker = testTieBreaker;
+						handsomeValue = (testMultiplicand * testMultiplier).toFixed(numDec);
+						handsomeNumDec = numDec;
+					}
+				}
+			}
+		}
+		<span class="reserved">this</span>.value = handsomeValue;
+		<span class="reserved">this</span>.score = bestScore;
+		<span class="reserved">this</span>.tieBreaker = bestTieBreaker;
+		<span class="reserved">this</span>.numDec = handsomeNumDec;
+	}
+	HandsomeNumber.<span class="reserved">prototype</span>.toString = <span class="reserved">function</span>() {
+		<span class="reserved">return</span> <span class="reserved">this</span>.value.toString();
+	}
+	HandsomeNumber.<span class="reserved">prototype</span>.valueOf = <span class="reserved">function</span>() {
+		<span class="reserved">return</span> <span class="reserved">this</span>.value;
+	}
+	<span class="reserved">function</span> styleValue(aSelector, styleKey) {
+<span class="comment">		// returns an integer value associated with a particular selector and key</span>
+<span class="comment">		// given a stylesheet with .someSelector {border: 2px solid red}</span>
+<span class="comment">		// styleValue('.someSelector', 'borderWidth') returns 2</span>
+		var aValue = 0;
+		<span class="reserved">if</span>(document.styleSheets) {
+			<span class="reserved">for</span>(var sheetIndex = document.styleSheets.length - 1; sheetIndex &gt;= 0; --sheetIndex) {
+				var aSheet = document.styleSheets[sheetIndex];
+				<span class="reserved">if</span>(!aSheet.disabled) {
+					var allRules;
+					<span class="reserved">if</span>(typeof(aSheet.rules) == <span class="literal">'undefined'</span>) {
+						<span class="reserved">if</span>(typeof(aSheet.rules) == <span class="literal">'undefined'</span>) {
+<span class="comment">							// can't get rules, assume zero</span>
+							<span class="reserved">return</span> 0;
+						}
+						<span class="reserved">else</span> {
+							allRules = aSheet.rules;
+						}
+					}
+					<span class="reserved">else</span> {
+						allRules = aSheet.rules;
+					}
+					<span class="reserved">for</span>(var ruleIndex = 0; ruleIndex &lt; allRules.length; ++ruleIndex) {
+						var aRule = allRules[ruleIndex];
+						<span class="reserved">if</span>(aRule.selectorText &amp;&amp; (aRule.selectorText.toLowerCase() == aSelector.toLowerCase())) {
+							<span class="reserved">if</span>(aRule.style[styleKey] != <span class="literal">''</span>) {
+								aValue = parseInt(aRule.style[styleKey]);
+							}
+						}
+					}
+				}
+			}
+		}
+<span class="comment">		// if the styleKey was not found, the equivalent value is zero</span>
+		<span class="reserved">return</span> aValue ? aValue : 0;
+	}
+	<span class="reserved">function</span> formatNumber(aNumber, numDecimals) {
+		numDecimals = (numDecimals) ? numDecimals : 0;
+		var formattedInteger = <span class="literal">''</span> + Math.round(aNumber);
+		var thousandsPattern = /(-?[0-9]+)([0-9]{3})/;
+		<span class="reserved">while</span>(thousandsPattern.test(formattedInteger)) {
+			formattedInteger = formattedInteger.replace(thousandsPattern, <span class="literal">'$1,$2'</span>);
+		}
+		<span class="reserved">if</span>(numDecimals &gt; 0) {
+			var formattedDecimal = Math.floor(Math.pow(10, numDecimals) * (aNumber - Math.round(aNumber)));
+			<span class="reserved">if</span>(formattedDecimal == 0) {
+				<span class="reserved">return</span> formattedInteger;
+			}
+			<span class="reserved">else</span> {
+				<span class="reserved">return</span> formattedInteger + <span class="literal">'.'</span> + formattedDecimal;
+			}
+		}
+		<span class="reserved">else</span> {
+			<span class="reserved">return</span> formattedInteger;
+		}
+	}
+<span class="comment">	// update the container title (for displaying scale as a tooltip)</span>
+	var container = objRef.getContainerNode();
+	var graphicsContainer = objRef.getGraphicsContainerNode();
+	var labelContainer = objRef.getLabelContainerNode();
+	var numbersContainer = objRef.getNumbersContainerNode();
+	container.title = mbGetMessage(<span class="literal">"scale"</span>, formatNumber(objRef.scaleDenominator));
+<span class="comment">	// measurementProperties holds display units, abbreviations,</span>
+<span class="comment">	// and conversion to inches (since we're using dpi) - per measurement sytem</span>
+	var measurementProperties = new Object();
+	measurementProperties.english = {
+		units: [mbGetMessage(<span class="literal">"unitMiles"</span>), mbGetMessage(<span class="literal">"unitFeet"</span>), mbGetMessage(<span class="literal">"unitInches"</span>)],
+		abbr: [mbGetMessage(<span class="literal">"unitMilesAbbr"</span>), mbGetMessage(<span class="literal">"unitFeetAbbr"</span>), mbGetMessage(<span class="literal">"unitInchesAbbr"</span>)],
+		inches: [63360, 12, 1]
+	}
+	measurementProperties.nautical = {
+		units: [mbGetMessage(<span class="literal">"unitNauticalMiles"</span>), mbGetMessage(<span class="literal">"unitFeet"</span>), mbGetMessage(<span class="literal">"unitInches"</span>)],
+		abbr: [mbGetMessage(<span class="literal">"unitNauticalMilesAbbr"</span>), mbGetMessage(<span class="literal">"unitFeetAbbr"</span>), mbGetMessage(<span class="literal">"unitInchesAbbr"</span>)],
+		inches: [72913.3860, 12, 1]
+	}
+	measurementProperties.metric = {
+		units: [mbGetMessage(<span class="literal">"unitKilometers"</span>), mbGetMessage(<span class="literal">"unitMeters"</span>), mbGetMessage(<span class="literal">"unitCentimeters"</span>)],
+		abbr: [mbGetMessage(<span class="literal">"unitKilometersAbbr"</span>), mbGetMessage(<span class="literal">"unitMetersAbbr"</span>), mbGetMessage(<span class="literal">"unitCentimetersAbbr"</span>)],
+		inches: [39370.07874, 39.370079, 0.393701]
+	}
+<span class="comment">	// check each measurement unit in the display system</span>
+	var comparisonArray = new Array();
+	<span class="reserved">for</span>(var unitIndex = 0; unitIndex &lt; measurementProperties[objRef.displaySystem].units.length; ++unitIndex) {
+		comparisonArray[unitIndex] = new Object();
+		var pixelsPerDisplayUnit = objRef.resolution * measurementProperties[objRef.displaySystem].inches[unitIndex] / objRef.scaleDenominator;
+		var minSDDisplayLength = (objRef.minWidth / pixelsPerDisplayUnit) / (objRef.divisions * objRef.subdivisions);
+		var maxSDDisplayLength = (objRef.maxWidth / pixelsPerDisplayUnit) / (objRef.divisions * objRef.subdivisions);
+<span class="comment">		// add up scores for each marker (even if numbers aren't displayed)</span>
+		<span class="reserved">for</span>(var valueIndex = 0; valueIndex &lt; (objRef.divisions * objRef.subdivisions); ++valueIndex) {
+			var minNumber = minSDDisplayLength * (valueIndex + 1);
+			var maxNumber = maxSDDisplayLength * (valueIndex + 1);
+			var niceNumber = new HandsomeNumber(minNumber, maxNumber);
+			comparisonArray[unitIndex][valueIndex] = {value: (niceNumber.value / (valueIndex + 1)), score: 0, tieBreaker: 0, numDec: 0, displayed: 0};
+<span class="comment">			// now tally up scores for all values given this subdivision length</span>
+			<span class="reserved">for</span>(var valueIndex2 = 0; valueIndex2 &lt; (objRef.divisions * objRef.subdivisions); ++valueIndex2) {
+				displayedValuePosition = niceNumber.value * (valueIndex2 + 1) / (valueIndex + 1);
+				niceNumber2 = new HandsomeNumber(displayedValuePosition, displayedValuePosition);
+				var isMajorMeasurement = ((valueIndex2 + 1) % objRef.subdivisions == 0);
+				var isLastMeasurement = ((valueIndex2 + 1) == (objRef.divisions * objRef.subdivisions));
+				<span class="reserved">if</span>((objRef.singleLine &amp;&amp; isLastMeasurement) || (!objRef.singleLine &amp;&amp; (isMajorMeasurement || objRef.showMinorMeasures))) {
+<span class="comment">					// count scores for displayed marker measurements</span>
+					comparisonArray[unitIndex][valueIndex].score += niceNumber2.score;
+					comparisonArray[unitIndex][valueIndex].tieBreaker += niceNumber2.tieBreaker;
+					comparisonArray[unitIndex][valueIndex].numDec = Math.max(comparisonArray[unitIndex][valueIndex].numDec, niceNumber2.numDec);
+					comparisonArray[unitIndex][valueIndex].displayed += 1;
+				}
+				<span class="reserved">else</span> {
+<span class="comment">					// count scores for non-displayed marker measurements</span>
+					comparisonArray[unitIndex][valueIndex].score += niceNumber2.score / objRef.subdivisions;
+					comparisonArray[unitIndex][valueIndex].tieBreaker += niceNumber2.tieBreaker / objRef.subdivisions;
+				}
+			}
+<span class="comment">			// adjust scores so numbers closer to 1 are preferred for display</span>
+			var scoreAdjustment = (unitIndex + 1) * comparisonArray[unitIndex][valueIndex].tieBreaker / comparisonArray[unitIndex][valueIndex].displayed;
+			comparisonArray[unitIndex][valueIndex].score *= scoreAdjustment;
+		}
+	}
+<span class="comment">	// get the value (subdivision length) with the lowest cumulative score</span>
+	var subdivisionDisplayLength = null;
+	var displayUnits = null;
+	var displayUnitsAbbr = null;
+	var subdivisionPixelLength = null;
+	var bestScore = Number.POSITIVE_INFINITY;
+	var bestTieBreaker = Number.POSITIVE_INFINITY;
+	var numDec = 0;
+	<span class="reserved">for</span>(var unitIndex = 0; unitIndex &lt; comparisonArray.length; ++unitIndex) {
+		<span class="reserved">for</span>(valueIndex in comparisonArray[unitIndex]) {
+			<span class="reserved">if</span>((comparisonArray[unitIndex][valueIndex].score &lt; bestScore) || ((comparisonArray[unitIndex][valueIndex].score == bestScore) &amp;&amp; (comparisonArray[unitIndex][valueIndex].tieBreaker &lt; bestTieBreaker))) {
+				bestScore = comparisonArray[unitIndex][valueIndex].score;
+				bestTieBreaker = comparisonArray[unitIndex][valueIndex].tieBreaker;
+				subdivisionDisplayLength = comparisonArray[unitIndex][valueIndex].value;
+				numDec = comparisonArray[unitIndex][valueIndex].numDec;
+				displayUnits = measurementProperties[objRef.displaySystem].units[unitIndex];
+				displayUnitsAbbr = measurementProperties[objRef.displaySystem].abbr[unitIndex];
+				pixelsPerDisplayUnit = objRef.resolution * measurementProperties[objRef.displaySystem].inches[unitIndex] / objRef.scaleDenominator;
+				subdivisionPixelLength = pixelsPerDisplayUnit * subdivisionDisplayLength; // round before use in style
+			}
+		}
+	}
+<span class="comment">	// determine offsets for graphic elements</span>
+	var xOffsetMarkerMajor = (styleValue(<span class="literal">'.sbMarkerMajor'</span>, <span class="literal">'borderLeftWidth'</span>) + styleValue(<span class="literal">'.sbMarkerMajor'</span>, <span class="literal">'width'</span>) + styleValue(<span class="literal">'.sbMarkerMajor'</span>, <span class="literal">'borderRightWidth'</span>)) / 2;
+	var xOffsetMarkerMinor = (styleValue(<span class="literal">'.sbMarkerMinor'</span>, <span class="literal">'borderLeftWidth'</span>) + styleValue(<span class="literal">'.sbMarkerMinor'</span>, <span class="literal">'width'</span>) + styleValue(<span class="literal">'.sbMarkerMinor'</span>, <span class="literal">'borderRightWidth'</span>)) / 2;
+	var xOffsetBar = (styleValue(<span class="literal">'.sbBar'</span>, <span class="literal">'borderLeftWidth'</span>) + styleValue(<span class="literal">'.sbBar'</span>, <span class="literal">'border-right-width'</span>)) / 2;
+	var xOffsetBarAlt = (styleValue(<span class="literal">'.sbBarAlt'</span>, <span class="literal">'borderLeftWidth'</span>) + styleValue(<span class="literal">'.sbBarAlt'</span>, <span class="literal">'borderRightWidth'</span>)) / 2;
+<span class="comment">	// support for browsers without the Document.styleSheets property (Opera)</span>
+	<span class="reserved">if</span>(!document.styleSheets) {
+<span class="comment">		// this is a two part hack, one for the offsets here and one for the css below</span>
+		xOffsetMarkerMajor = 0.5;
+		xOffsetMarkerMinor = 0.5;
+	}
+<span class="comment">	// clean out any old content from containers</span>
+	<span class="reserved">while</span>(labelContainer.hasChildNodes()) {
+		labelContainer.removeChild(labelContainer.firstChild);
+	}
+	<span class="reserved">while</span>(graphicsContainer.hasChildNodes()) {
+		graphicsContainer.removeChild(graphicsContainer.firstChild);
+	}
+	<span class="reserved">while</span>(numbersContainer.hasChildNodes()) {
+		numbersContainer.removeChild(numbersContainer.firstChild);
+	}
+<span class="comment">	// create all divisions</span>
+	var aMarker, aBarPiece, numbersBox, xOffset;
+	var alignmentOffset = {
+		left: 0,
+		center: (-1 * objRef.divisions * objRef.subdivisions * subdivisionPixelLength / 2),
+		right: (-1 * objRef.divisions * objRef.subdivisions * subdivisionPixelLength)
+	}
+	var xPosition = 0 + alignmentOffset[objRef.align];
+	var markerMeasure = 0;
+	<span class="reserved">for</span>(var divisionIndex = 0; divisionIndex &lt; objRef.divisions; ++divisionIndex) {
+<span class="comment">		// set xPosition and markerMeasure to start of division</span>
+		xPosition = divisionIndex * objRef.subdivisions * subdivisionPixelLength;
+		xPosition += alignmentOffset[objRef.align];
+		markerMeasure = (divisionIndex == 0) ? 0 : ((divisionIndex * objRef.subdivisions) * subdivisionDisplayLength).toFixed(numDec);
+<span class="comment">		// add major marker</span>
+		aMarker = document.createElement(<span class="literal">'div'</span>);
+		aMarker.className = <span class="literal">'sbMarkerMajor'</span>;
+		aMarker.style.position = <span class="literal">'absolute'</span>;
+		aMarker.style.overflow = <span class="literal">'hidden'</span>;
+		aMarker.style.left = Math.round(xPosition - xOffsetMarkerMajor) + <span class="literal">'px'</span>;
+		aMarker.appendChild(document.createTextNode(<span class="literal">' '</span>));
+		graphicsContainer.appendChild(aMarker);
+<span class="comment">		// add initial measure</span>
+		<span class="reserved">if</span>(!objRef.singleLine) {
+			numbersBox = document.createElement(<span class="literal">'div'</span>);
+			numbersBox.className = <span class="literal">'sbNumbersBox'</span>;
+			numbersBox.style.position = <span class="literal">'absolute'</span>;
+			numbersBox.style.overflow = <span class="literal">'hidden'</span>;
+			numbersBox.style.textAlign = <span class="literal">'center'</span>;
+			<span class="reserved">if</span>(objRef.showMinorMeasures) {
+				numbersBox.style.width = Math.round(subdivisionPixelLength * 2) + <span class="literal">'px'</span>;
+				numbersBox.style.left = Math.round(xPosition - subdivisionPixelLength) + <span class="literal">'px'</span>;
+			}
+			<span class="reserved">else</span> {
+				numbersBox.style.width = Math.round(objRef.subdivisions * subdivisionPixelLength * 2) + <span class="literal">'px'</span>;
+				numbersBox.style.left = Math.round(xPosition - (objRef.subdivisions * subdivisionPixelLength)) + <span class="literal">'px'</span>;
+			}
+			numbersBox.appendChild(document.createTextNode(markerMeasure));
+			numbersContainer.appendChild(numbersBox);
+		}
+<span class="comment">		// create all subdivisions</span>
+		<span class="reserved">for</span>(var subdivisionIndex = 0; subdivisionIndex &lt; objRef.subdivisions; ++subdivisionIndex) {
+			aBarPiece = document.createElement(<span class="literal">'div'</span>);
+			aBarPiece.style.position = <span class="literal">'absolute'</span>;
+			aBarPiece.style.overflow = <span class="literal">'hidden'</span>;
+			aBarPiece.style.width = Math.round(subdivisionPixelLength) + <span class="literal">'px'</span>;
+			<span class="reserved">if</span>((subdivisionIndex % 2) == 0) {
+				aBarPiece.className = <span class="literal">'sbBar'</span>;
+				aBarPiece.style.left = Math.round(xPosition - xOffsetBar) + <span class="literal">'px'</span>;
+			}
+			<span class="reserved">else</span> {
+				aBarPiece.className = <span class="literal">'sbBarAlt'</span>;
+				aBarPiece.style.left = Math.round(xPosition - xOffsetBarAlt) + <span class="literal">'px'</span>;
+			}
+			aBarPiece.appendChild(document.createTextNode(<span class="literal">' '</span>));
+			graphicsContainer.appendChild(aBarPiece);
+<span class="comment">			// add minor marker if not the last subdivision</span>
+			<span class="reserved">if</span>(subdivisionIndex &lt; (objRef.subdivisions - 1)) {
+<span class="comment">				// set xPosition and markerMeasure to end of subdivision</span>
+				xPosition = ((divisionIndex * objRef.subdivisions) + (subdivisionIndex + 1)) * subdivisionPixelLength;
+				xPosition += alignmentOffset[objRef.align];
+				markerMeasure = (divisionIndex * objRef.subdivisions + subdivisionIndex + 1) * subdivisionDisplayLength;
+				aMarker = document.createElement(<span class="literal">'div'</span>);
+				aMarker.className = <span class="literal">'sbMarkerMinor'</span>;
+				aMarker.style.position = <span class="literal">'absolute'</span>;
+				aMarker.style.overflow = <span class="literal">'hidden'</span>;
+				aMarker.style.left = Math.round(xPosition - xOffsetMarkerMinor) + <span class="literal">'px'</span>;
+				aMarker.appendChild(document.createTextNode(<span class="literal">' '</span>));
+				graphicsContainer.appendChild(aMarker);
+				<span class="reserved">if</span>(objRef.showMinorMeasures &amp;&amp; !objRef.singleLine) {
+<span class="comment">					// add corresponding measure</span>
+					numbersBox = document.createElement(<span class="literal">'div'</span>);
+					numbersBox.className = <span class="literal">'sbNumbersBox'</span>;
+					numbersBox.style.position = <span class="literal">'absolute'</span>;
+					numbersBox.style.overflow = <span class="literal">'hidden'</span>;
+					numbersBox.style.textAlign = <span class="literal">'center'</span>;
+					numbersBox.style.width = Math.round(subdivisionPixelLength * 2) + <span class="literal">'px'</span>;
+					numbersBox.style.left = Math.round(xPosition - subdivisionPixelLength) + <span class="literal">'px'</span>;
+					numbersBox.appendChild(document.createTextNode(markerMeasure));
+					numbersContainer.appendChild(numbersBox);
+				}
+			}
+		}
+	}
+<span class="comment">	// set xPosition and markerMeasure to end of divisions</span>
+	xPosition = (objRef.divisions * objRef.subdivisions) * subdivisionPixelLength;
+	xPosition += alignmentOffset[objRef.align];
+	markerMeasure = ((objRef.divisions * objRef.subdivisions) * subdivisionDisplayLength).toFixed(numDec);
+<span class="comment">	// add the final major marker</span>
+	aMarker = document.createElement(<span class="literal">'div'</span>);
+	aMarker.className = <span class="literal">'sbMarkerMajor'</span>;
+	aMarker.style.position = <span class="literal">'absolute'</span>;
+	aMarker.style.overflow = <span class="literal">'hidden'</span>;
+	aMarker.style.left = Math.round(xPosition - xOffsetMarkerMajor) + <span class="literal">'px'</span>;
+	aMarker.appendChild(document.createTextNode(<span class="literal">' '</span>));
+	graphicsContainer.appendChild(aMarker);
+<span class="comment">	// add final measure</span>
+	<span class="reserved">if</span>(!objRef.singleLine) {
+		numbersBox = document.createElement(<span class="literal">'div'</span>);
+		numbersBox.className = <span class="literal">'sbNumbersBox'</span>;
+		numbersBox.style.position = <span class="literal">'absolute'</span>;
+		numbersBox.style.overflow = <span class="literal">'hidden'</span>;
+		numbersBox.style.textAlign = <span class="literal">'center'</span>;
+		<span class="reserved">if</span>(objRef.showMinorMeasures) {
+			numbersBox.style.width = Math.round(subdivisionPixelLength * 2) + <span class="literal">'px'</span>;
+			numbersBox.style.left = Math.round(xPosition - subdivisionPixelLength) + <span class="literal">'px'</span>;
+		}
+		<span class="reserved">else</span> {
+			numbersBox.style.width = Math.round(objRef.subdivisions * subdivisionPixelLength * 2) + <span class="literal">'px'</span>;
+			numbersBox.style.left = Math.round(xPosition - (objRef.subdivisions * subdivisionPixelLength)) + <span class="literal">'px'</span>;
+		}
+		numbersBox.appendChild(document.createTextNode(markerMeasure));
+		numbersContainer.appendChild(numbersBox);
+	}
+<span class="comment">	// add content to the label container</span>
+	var labelBox = document.createElement(<span class="literal">'div'</span>);
+	labelBox.style.position = <span class="literal">'absolute'</span>;
+	var labelText;
+	<span class="reserved">if</span>(objRef.singleLine) {
+		labelText = markerMeasure;
+		labelBox.className = <span class="literal">'sbLabelBoxSingleLine'</span>;
+		labelBox.style.top = <span class="literal">'-0.6em'</span>;
+		labelBox.style.left = (xPosition + 10) + <span class="literal">'px'</span>;
+	}
+	<span class="reserved">else</span> {
+		labelText = <span class="literal">''</span>;
+		labelBox.className = <span class="literal">'sbLabelBox'</span>;
+		labelBox.style.textAlign = <span class="literal">'center'</span>;
+		labelBox.style.width = Math.round(objRef.divisions * objRef.subdivisions * subdivisionPixelLength) + <span class="literal">'px'</span>
+		labelBox.style.left = Math.round(alignmentOffset[objRef.align]) + <span class="literal">'px'</span>;
+		labelBox.style.overflow = <span class="literal">'hidden'</span>;
+	}
+	<span class="reserved">if</span>(objRef.abbreviateLabel) {
+		labelText += <span class="literal">' '</span> + displayUnitsAbbr;
+	}
+	<span class="reserved">else</span> {
+		labelText += <span class="literal">' '</span> + displayUnits;
+	}
+	labelBox.appendChild(document.createTextNode(labelText));
+	labelContainer.appendChild(labelBox);
+<span class="comment">	// support for browsers without the Document.styleSheets property (Opera)</span>
+	<span class="reserved">if</span>(!document.styleSheets) {
+<span class="comment">		// override custom css with default</span>
+		var defaultStyle = document.createElement(<span class="literal">'style'</span>);
+		defaultStyle.type = <span class="literal">'text/css'</span>;
+		var styleText = <span class="literal">'.sbBar {top: 0px; background: #666666; height: 1px; border: 0;}'</span>;
+		styleText += <span class="literal">'.sbBarAlt {top: 0px; background: #666666; height: 1px; border: 0;}'</span>;
+		styleText += <span class="literal">'.sbMarkerMajor {height: 7px; width: 1px; background: #666666; border: 0;}'</span>;
+		styleText += <span class="literal">'.sbMarkerMinor {height: 5px; width: 1px; background: #666666; border: 0;}'</span>;
+		styleText += <span class="literal">'.sbLabelBox {top: -16px;}'</span>;
+		styleText += <span class="literal">'.sbNumbersBox {top: 7px;}'</span>;
+		defaultStyle.appendChild(document.createTextNode(styleText));
+		document.getElementsByTagName(<span class="literal">'head'</span>).item(0).appendChild(defaultStyle);
+	}
+<span class="comment">	// append the child containers to the parent container</span>
+	container.appendChild(graphicsContainer);
+	container.appendChild(labelContainer);
+	container.appendChild(numbersContainer);
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-SelectMapLayers.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-SelectMapLayers.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-SelectMapLayers.js.html	(revision 4307)
@@ -0,0 +1,189 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="SelectMapLayers.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>SelectMapLayers.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'SelectMapLayers.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="SelectMapLayers.html">SelectMapLayers</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: SelectMapLayers.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Presents the list of Layers from a WMS capabilities doc.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> SelectMapLayers(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/WfsGetFeature.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/WfsGetFeature.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/WfsGetFeature.html	(revision 4307)
@@ -0,0 +1,550 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+WfsGetFeature
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="WfsGetFeature";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-WfsGetFeature.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="WfsCapabilities.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Widget.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="WfsGetFeature.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class WfsGetFeature</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<b>WfsGetFeature</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>WfsGetFeature</B>
+   
+      <DT>extends <a href='ButtonBase.html'>ButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-WfsGetFeature.js.html'>WfsGetFeature.js</a></I><BR/><BR/><B>Author:</B> Cameron Shorter  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#cursor">cursor</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#handler">handler</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#httpPayload">httpPayload</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#maxFeatures">maxFeatures</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#trm">trm</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#webServiceSrs">webServiceSrs</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#webServiceUrl">webServiceUrl</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#widgetNode">widgetNode</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="WfsGetFeature.html#WfsGetFeature()">WfsGetFeature</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Builds then sends a WFS GetFeature GET request based on the WMC
+ coordinates and click point.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#createControl">createControl</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#doSelect">doSelect</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="cursor"><!-- --></A>
+   <H3>cursor</H3>
+   <PRE>Object&nbsp;<B>cursor</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="handler"><!-- --></A>
+   <H3>handler</H3>
+   <PRE>Object&nbsp;<B>handler</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="httpPayload"><!-- --></A>
+   <H3>httpPayload</H3>
+   <PRE>Object&nbsp;<B>httpPayload</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="maxFeatures"><!-- --></A>
+   <H3>maxFeatures</H3>
+   <PRE>Object&nbsp;<B>maxFeatures</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="trm"><!-- --></A>
+   <H3>trm</H3>
+   <PRE>Object&nbsp;<B>trm</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="webServiceSrs"><!-- --></A>
+   <H3>webServiceSrs</H3>
+   <PRE>Object&nbsp;<B>webServiceSrs</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="webServiceUrl"><!-- --></A>
+   <H3>webServiceUrl</H3>
+   <PRE>Object&nbsp;<B>webServiceUrl</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="widgetNode"><!-- --></A>
+   <H3>widgetNode</H3>
+   <PRE>Object&nbsp;<B>widgetNode</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="WfsGetFeature()"><!-- --></A><H3>
+WfsGetFeature</H3>
+<PRE><B>WfsGetFeature</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Builds then sends a WFS GetFeature GET request based on the WMC
+ coordinates and click point.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  The XML node in the Config file referencing this object.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The Context object which this tool is associated with.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Cameron Shorter  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="createControl"><!-- --></A>
+   <H3>createControl</H3>
+   <PRE>Object <B>createControl</B>(objRef)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-WfsGetFeature.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="WfsCapabilities.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Widget.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="WfsGetFeature.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WidgetBaseXSL.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WidgetBaseXSL.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WidgetBaseXSL.js.html	(revision 4307)
@@ -0,0 +1,286 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="WidgetBaseXSL.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>WidgetBaseXSL.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'WidgetBaseXSL.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="WidgetBaseXSL.html">WidgetBaseXSL</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: WidgetBaseXSL.js 3892 2008-02-29 18:21:12Z ahocevar $
+*/</span>
+
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBase.js"</span>);
+
+<span class="comment">/**
+ * Base Class for widgets.  Associates a node on the page with a stylesheet and
+ * model.  All widgets must extend this base class.
+ * Defines the default paint() method for all widgets which is where the 
+ * stylesheet is applied to the model XML document.
+ * To override widget.paint(), define it before calling this constructor.
+ * The stylesheet URL defaults to "widget/&lt;widgetName&gt;.xsl" if it is not defined
+ * in config file.  Set a stylesheet property containing an XSL URL in config
+ * to customize the stylesheet used.
+ * All stylesheets will have "modelId" and "widgetId" parameters set when called.
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBase
+ * <span class="attrib">@author</span> Mike Adair 
+ * <span class="attrib">@param</span> widget      Pointer to the widget instance being created
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> WidgetBaseXSL(widgetNode,model) {
+<span class="comment">  // Extend WidgetBase</span>
+  WidgetBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+<span class="comment">
+  // Set this.stylesheet</span>
+<span class="comment">  // Defaults to "widget/&lt;widgetName&gt;.xsl" if not defined in config file.</span>
+  <span class="reserved">if</span> ( !<span class="reserved">this</span>.stylesheet ) {
+    <span class="reserved">this</span>.stylesheet = new XslProcessor(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:stylesheet"</span>, baseDir+<span class="literal">"/widget/"</span>+widgetNode.nodeName+<span class="literal">".xsl"</span>, model.namespace));
+  }
+<span class="comment">
+  // Do we allow to parse HTML nodes?</span>
+  <span class="reserved">this</span>.parseHTMLNodes = Mapbuilder.parseBoolean(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:parseHTMLNodes"</span>, false));
+<span class="comment">
+  // Set widget text values as parameters </span>
+  <span class="reserved">if</span> (config.widgetText) {
+    var textNodeXpath = <span class="literal">"/mb:WidgetText/mb:widgets/mb:"</span> + widgetNode.nodeName;
+    var textParams = config.widgetText.selectNodes(textNodeXpath+<span class="literal">"/*"</span>);
+    <span class="reserved">for</span> (var j=0;j&lt;textParams.length;j++) {
+      <span class="reserved">this</span>.stylesheet.setParameter(textParams[j].nodeName,getNodeValue(textParams[j]));
+    }
+  }
+<span class="comment">
+  // Set stylesheet parameters for all the child nodes from the config file</span>
+  <span class="reserved">for</span> (var j=0;j&lt;widgetNode.childNodes.length;j++) {
+    <span class="reserved">if</span> (widgetNode.childNodes[j].firstChild)
+    {
+      <span class="reserved">this</span>.stylesheet.setParameter(
+        widgetNode.childNodes[j].nodeName, widgetNode.childNodes[j].firstChild.nodeValue);
+    }
+  }
+<span class="comment">
+  //all stylesheets will have these properties available</span>
+  <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"modelId"</span>, <span class="reserved">this</span>.model.id );
+  <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"modelTitle"</span>, <span class="reserved">this</span>.model.title );
+  <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"widgetId"</span>, <span class="reserved">this</span>.id );
+  <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"skinDir"</span>, config.skinDir );
+  <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"lang"</span>, config.lang );
+
+  <span class="comment">/**
+   * Render the widget.
+   * <span class="attrib">@param</span> objRef Pointer to widget object.
+   */</span>
+  <span class="reserved">this</span>.paint = <span class="reserved">function</span>(objRef, refreshId) {
+<span class="comment">
+    //pass in a widget ID to refresh only that widget</span>
+    <span class="reserved">if</span> (refreshId &amp;&amp; (refreshId!=objRef.id)) <span class="reserved">return</span>;
+
+    <span class="reserved">if</span> (objRef.model.doc &amp;&amp; objRef.getNode()) {
+      objRef.stylesheet.setParameter(<span class="literal">"modelUrl"</span>, objRef.model.url);
+      objRef.stylesheet.setParameter(<span class="literal">"targetModelId"</span>, objRef.targetModel.id );
+<span class="comment">
+      //if (objRef.debug) mbDebugMessage(objRef, "source:"+(new XMLSerializer()).serializeToString(objRef.model.doc));</span>
+      objRef.resultDoc = objRef.model.doc; // resultDoc sometimes modified by prePaint()
+      objRef.model.setParam(<span class="literal">"prePaint"</span>, objRef);
+      objRef.prePaint(objRef);
+<span class="comment">
+      //confirm inputs</span>
+      <span class="reserved">if</span> (objRef.debug) mbDebugMessage(objRef, <span class="literal">"prepaint:"</span>+(new XMLSerializer()).serializeToString(objRef.resultDoc));
+      <span class="reserved">if</span> (objRef.debug) mbDebugMessage(objRef, <span class="literal">"stylesheet:"</span>+(new XMLSerializer()).serializeToString(objRef.stylesheet.xslDom));
+<span class="comment">
+      //set to output to a temporary node</span>
+<span class="comment">      //hack to get by doc parsing problem in IE</span>
+<span class="comment">      //the firstChild of tempNode will be the root element output by the stylesheet</span>
+      var outputNode = document.getElementById( objRef.outputNodeId );
+      var tempNode = document.createElement(<span class="literal">"DIV"</span>);
+<span class="comment">
+      //process the doc with the stylesheet</span>
+      var s = objRef.stylesheet.transformNodeToString(objRef.resultDoc);
+      <span class="reserved">if</span> (config.serializeUrl &amp;&amp; objRef.debug) postLoad(config.serializeUrl, s);
+      <span class="reserved">if</span> (objRef.debug) mbDebugMessage(objRef, <span class="literal">"painting:"</span>+objRef.id+<span class="literal">":"</span>+s);
+      tempNode.innerHTML = objRef.parseHTMLNodes ? Sarissa.unescape(s) : s;
+      <span class="reserved">if</span>( tempNode.firstChild != null ) { //Could be null!
+        tempNode.firstChild.setAttribute(<span class="literal">"id"</span>, objRef.outputNodeId);
+<span class="comment">
+  	    //look for this widgets output and replace if found,</span>
+<span class="comment">  	    //otherwise append it</span>
+  	    <span class="reserved">if</span> (outputNode) {
+  	      objRef.getNode().replaceChild(tempNode.firstChild,outputNode);
+  	    } <span class="reserved">else</span> {
+  	      objRef.getNode().appendChild(tempNode.firstChild);
+  	    }
+      }
+      objRef.postPaint(objRef);
+      objRef.model.setParam(<span class="literal">"postPaint"</span>, objRef);
+    }
+  }
+<span class="comment">  // Call paint when model changes</span>
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"refresh"</span>,<span class="reserved">this</span>.paint, <span class="reserved">this</span>);
+
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/ServiceRegistryList.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/ServiceRegistryList.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/ServiceRegistryList.html	(revision 4307)
@@ -0,0 +1,471 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ServiceRegistryList
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="ServiceRegistryList";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ServiceRegistryList.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="SelectTimeFrame.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="SetAoi.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServiceRegistryList.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class ServiceRegistryList</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>ServiceRegistryList</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>ServiceRegistryList</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-ServiceRegistryList.js.html'>ServiceRegistryList.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#formName">formName</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="ServiceRegistryList.html#ServiceRegistryList()">ServiceRegistryList</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to display a list of web services from a registry.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#postPaint">postPaint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Refreshes the form onblur handlers when this widget is painted.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#submitForm">submitForm</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Handles submission of the form (via javascript in an <a> tag)
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="formName"><!-- --></A>
+   <H3>formName</H3>
+   <PRE>Object&nbsp;<B>formName</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="ServiceRegistryList()"><!-- --></A><H3>
+ServiceRegistryList</H3>
+<PRE><B>ServiceRegistryList</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to display a list of web services from a registry.
+ TBD: not compelted yet.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  This widget's object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model that this widget is a view of.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="postPaint"><!-- --></A>
+   <H3>postPaint</H3>
+   <PRE>void <B>postPaint</B>(objRef)</PRE>
+   
+      <UL>Refreshes the form onblur handlers when this widget is painted.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this CurorTrack object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="submitForm"><!-- --></A>
+   <H3>submitForm</H3>
+   <PRE>void <B>submitForm</B>()</PRE>
+   
+      <UL>Handles submission of the form (via javascript in an <a> tag)</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ServiceRegistryList.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="SelectTimeFrame.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="SetAoi.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServiceRegistryList.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-DragPan.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-DragPan.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-DragPan.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ DragPan.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" DragPan.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-DragPan.js.html" 
+                                        target="classFrame">DragPan.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="DragPan.html" TARGET="classFrame">DragPan</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Context.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Context.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Context.js.html	(revision 4307)
@@ -0,0 +1,685 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Context.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Context.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Context.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Context.html">Context</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Context.js 3887 2008-02-27 18:18:53Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/model/ModelBase.js"</span>);
+
+<span class="comment">/**
+ * Stores a Web Map Context (WMC) document as defined by the Open Geospatial Consortium
+ * (http://www.opengeospatial.org/) and extensions the the WMC.
+ *
+ * Listeners supported by this model:
+ * "refresh" called when window parameters (width/height, bbox) are changed
+ * "hidden" called when visibilty of a layer is changed
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ModelBase
+ * <span class="attrib">@author</span> Cameron Shorter
+ * <span class="attrib">@param</span> modelNode Pointer to the xml node for this model from the config file.
+ * <span class="attrib">@param</span> parent    The parent model for the object.
+  *
+ */</span>
+<span class="reserved">function</span> Context(modelNode, parent) {
+<span class="comment">  // Inherit the ModelBase functions and parameters</span>
+  ModelBase.apply(<span class="reserved">this</span>, new Array(modelNode, parent));
+
+  <span class="reserved">this</span>.namespace = <span class="literal">"xmlns:mb='http://mapbuilder.sourceforge.net/mapbuilder' xmlns:wmc='http://www.opengis.net/context' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'"</span>;
+
+  <span class="comment">/**
+   * Change a Layer's visibility.
+   * <span class="attrib">@param</span> layerId  The name of the layer that is to be changed
+   * <span class="attrib">@param</span> hidden     String with the value to be set; 1=hidden, 0=visible.
+   */</span>
+  <span class="reserved">this</span>.setHidden=<span class="reserved">function</span>(layerId, hidden){
+<span class="comment">    // Set the hidden attribute in the Context</span>
+    var hiddenValue = <span class="literal">"0"</span>;
+    <span class="reserved">if</span> (hidden) hiddenValue = <span class="literal">"1"</span>;
+
+    var layer = <span class="reserved">this</span>.getLayer(layerId);
+    <span class="reserved">if</span> (layer) layer.setAttribute(<span class="literal">"hidden"</span>, hiddenValue);
+<span class="comment">    // Call the listeners</span>
+    <span class="reserved">this</span>.callListeners(<span class="literal">"hidden"</span>, layerId);
+  }
+
+  <span class="comment">/**
+   * Get the layer's visiblity attribute value.
+   * <span class="attrib">@param</span> layerId  The name of the layer that is to be changed
+   * <span class="attrib">@return</span> hidden  String with the value; 1=hidden, 0=visible.
+   */</span>
+  <span class="reserved">this</span>.getHidden=<span class="reserved">function</span>(layerId){
+    var hidden=1;
+    var layer = <span class="reserved">this</span>.getLayer(layerId);
+    <span class="reserved">if</span> (layer) hidden = layer.getAttribute(<span class="literal">"hidden"</span>);
+    <span class="reserved">return</span> hidden;
+  }
+
+  <span class="comment">/**
+   * Get the BoundingBox value from the Context document.
+   * <span class="attrib">@return</span> BoundingBox array with the sequence (xmin,ymin,xmax,ymax).
+   */</span>
+  <span class="reserved">this</span>.getBoundingBox=<span class="reserved">function</span>() {
+    var bbox = new Array();
+<span class="comment">    // Extract BoundingBox from the context</span>
+    var boundingBox=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:ViewContext/wmc:General/wmc:BoundingBox"</span>);
+    bbox[0]=parseFloat(boundingBox.getAttribute(<span class="literal">"minx"</span>));
+    bbox[1]=parseFloat(boundingBox.getAttribute(<span class="literal">"miny"</span>));
+    bbox[2]=parseFloat(boundingBox.getAttribute(<span class="literal">"maxx"</span>));
+    bbox[3]=parseFloat(boundingBox.getAttribute(<span class="literal">"maxy"</span>));
+    <span class="reserved">return</span> bbox;
+  }
+
+  <span class="comment">/**
+   * Set the BoundingBox element and call the refresh listeners
+   * <span class="attrib">@param</span> boundingBox array in the sequence (xmin, ymin, xmax, ymax).
+   */</span>
+  <span class="reserved">this</span>.setBoundingBox=<span class="reserved">function</span>(boundingBox) {
+<span class="comment">    // Set BoundingBox in context</span>
+    var bbox=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:ViewContext/wmc:General/wmc:BoundingBox"</span>);
+    bbox.setAttribute(<span class="literal">"minx"</span>, boundingBox[0]);
+    bbox.setAttribute(<span class="literal">"miny"</span>, boundingBox[1]);
+    bbox.setAttribute(<span class="literal">"maxx"</span>, boundingBox[2]);
+    bbox.setAttribute(<span class="literal">"maxy"</span>, boundingBox[3]);
+<span class="comment">    // Call the listeners</span>
+    <span class="reserved">this</span>.callListeners(<span class="literal">"bbox"</span>, boundingBox);
+  }
+
+  <span class="comment">/**
+   * Set the BoundingBox element and call the refresh listeners
+   * <span class="attrib">@param</span> boundingBox array in the sequence (xmin, ymin, xmax, ymax).
+   */</span>
+  <span class="reserved">this</span>.initBbox=<span class="reserved">function</span>(objRef) {
+<span class="comment">    // Set BoundingBox in context from URL CGI params</span>
+    <span class="reserved">if</span> (window.cgiArgs[<span class="literal">"bbox"</span>]) {   //set as minx,miny,maxx,maxy
+      var bbox = window.cgiArgs[<span class="literal">"bbox"</span>].split(<span class="literal">','</span>);
+      objRef.setBoundingBox(bbox);
+    }
+  }
+  <span class="reserved">this</span>.addListener( <span class="literal">"loadModel"</span>, <span class="reserved">this</span>.initBbox, <span class="reserved">this</span> );
+<span class="comment">  //this.addListener( "contextLoaded", this.initBbox, this );</span>
+
+  <span class="comment">/**
+   * Set the aoi param and call the refresh listeners
+   * <span class="attrib">@param</span> boundingBox array in the sequence (xmin, ymin, xmax, ymax).
+   */</span>
+  <span class="reserved">this</span>.initAoi=<span class="reserved">function</span>(objRef) {
+<span class="comment">    // Set AOI of context from URL CGI params</span>
+    <span class="reserved">if</span> (window.cgiArgs[<span class="literal">"aoi"</span>]) {      //set as ul,lr point arrays
+      var aoi = window.cgiArgs[<span class="literal">"aoi"</span>].split(<span class="literal">','</span>);
+      objRef.setParam(<span class="literal">"aoi"</span>,new Array(new Array(aoi[0],aoi[3]),new Array(aoi[2],aoi[1])));
+    }
+  }
+  <span class="reserved">this</span>.addListener( <span class="literal">"loadModel"</span>, <span class="reserved">this</span>.initAoi, <span class="reserved">this</span> );
+<span class="comment">  //MA this.addListener( "contextLoaded", this.initAoi, this );</span>
+
+  <span class="comment">/**
+   * Set the Spatial Reference System for the context document.
+   * <span class="attrib">@param</span> srs The Spatial Reference System.
+   */</span>
+  <span class="reserved">this</span>.setSRS=<span class="reserved">function</span>(srs) {
+    var bbox=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:ViewContext/wmc:General/wmc:BoundingBox"</span>);
+    bbox.setAttribute(<span class="literal">"SRS"</span>,srs);
+    <span class="reserved">this</span>.callListeners(<span class="literal">"srs"</span>);
+  }
+
+  <span class="comment">/**
+   * Get the Spatial Reference System from the context document.
+   * <span class="attrib">@return</span> srs The Spatial Reference System.
+   */</span>
+  <span class="reserved">this</span>.getSRS=<span class="reserved">function</span>() {
+    var bbox=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:ViewContext/wmc:General/wmc:BoundingBox"</span>);
+    srs=bbox.getAttribute(<span class="literal">"SRS"</span>);
+    srs = srs ? srs : <span class="literal">'EPSG:4326'</span>;
+    <span class="reserved">return</span> srs;
+  }
+
+  <span class="comment">/**
+   * Get the Projection object from the context document.
+   * <span class="attrib">@return</span> Proj Object of  The Spatial Reference System.
+   */</span>
+  <span class="reserved">this</span>.initProj=<span class="reserved">function</span>(objRef) {
+    objRef.proj=new OpenLayers.Projection(objRef.getSRS());
+  }
+  <span class="reserved">this</span>.addFirstListener( <span class="literal">"loadModel"</span>, <span class="reserved">this</span>.initProj, <span class="reserved">this</span> );
+
+  <span class="comment">/**
+   * Get the Window width.
+   * <span class="attrib">@return</span> width The width of map window from the context document
+   */</span>
+  <span class="reserved">this</span>.getWindowWidth=<span class="reserved">function</span>() {
+    var win=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:ViewContext/wmc:General/wmc:Window"</span>);
+    <span class="reserved">return</span> win.getAttribute(<span class="literal">"width"</span>);
+  }
+
+  <span class="comment">/**
+   * Set the Window width.
+   * <span class="attrib">@param</span> width The width of map window to set in the context document
+   */</span>
+  <span class="reserved">this</span>.setWindowWidth=<span class="reserved">function</span>(width) {
+    var win=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:ViewContext/wmc:General/wmc:Window"</span>);
+    win.setAttribute(<span class="literal">"width"</span>, width);
+    <span class="reserved">this</span>.callListeners(<span class="literal">"resize"</span>);
+  }
+
+  <span class="comment">/**
+   * Get the Window height.
+   * <span class="attrib">@return</span> height The height of map window from the context document.
+   */</span>
+  <span class="reserved">this</span>.getWindowHeight=<span class="reserved">function</span>() {
+    var win=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:ViewContext/wmc:General/wmc:Window"</span>);
+    <span class="reserved">return</span> win.getAttribute(<span class="literal">"height"</span>);
+  }
+
+  <span class="comment">/**
+   * Set the Window height.
+   * <span class="attrib">@param</span> height The height of map window to set in the context document
+   */</span>
+  <span class="reserved">this</span>.setWindowHeight=<span class="reserved">function</span>(height) {
+    var win=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:ViewContext/wmc:General/wmc:Window"</span>);
+    win.setAttribute(<span class="literal">"height"</span>, height);
+    <span class="reserved">this</span>.callListeners(<span class="literal">"resize"</span>);
+  }
+
+  <span class="comment">/**
+   * Returns the width/height of the map window as an array
+   */</span>
+  <span class="reserved">this</span>.getWindowSize=<span class="reserved">function</span>() {
+    var win=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:ViewContext/wmc:General/wmc:Window"</span>);
+    <span class="reserved">return</span> new Array(win.getAttribute(<span class="literal">"width"</span>), win.getAttribute(<span class="literal">"height"</span>));
+  }
+
+  <span class="comment">/**
+   * Set the Window width and height in one function call to avoid a resize event in between
+   * setting width and height, because that causes checkBbox to be triggered, which adjusts the
+   * bbox then when it should not yet be adjusted.
+   * Added by VTS for dynamic map window resizing (AutoResize tool)
+   * <span class="attrib">@param</span> size Size of the map window as (width, height) array
+   */</span>
+  <span class="reserved">this</span>.setWindowSize=<span class="reserved">function</span>(size) {
+    var width = size[0];
+    var height = size[1];
+    var win=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:ViewContext/wmc:General/wmc:Window"</span>);
+    win.setAttribute(<span class="literal">"width"</span>, width);
+    win.setAttribute(<span class="literal">"height"</span>, height);
+    <span class="reserved">this</span>.callListeners(<span class="literal">"resize"</span>);
+  }
+
+  <span class="comment">/**
+   * Returns the Layer node with the specified name from the list of nodes
+   * selected by the nodeSelectXpath from the capabilities doc.
+   * <span class="attrib">@param</span> featureName name of the featureType to look up
+   * <span class="attrib">@return</span> the Layer node with the specified name.
+   */</span>
+  <span class="reserved">this</span>.getFeatureNode = <span class="reserved">function</span>(featureName) {
+    <span class="reserved">return</span> <span class="reserved">this</span>.doc.selectSingleNode(<span class="reserved">this</span>.nodeSelectXpath+<span class="literal">"[wmc:Name='"</span>+featureName+<span class="literal">"']"</span>);
+  }
+
+  <span class="comment">/**
+   * Returns the serverUrl for the layer passed in as the feature argument.
+   * <span class="attrib">@param</span> requestName ignored for context docs (only GetMap supported)
+   * <span class="attrib">@param</span> method ignored for context docs (only GET supported)
+   * <span class="attrib">@param</span> feature the Layer node from the context doc
+   * <span class="attrib">@return</span> URL for the GetMap request
+   */</span>
+  <span class="reserved">this</span>.getServerUrl = <span class="reserved">function</span>(requestName, method, feature) {
+    <span class="reserved">return</span> feature.selectSingleNode(<span class="literal">"wmc:Server/wmc:OnlineResource"</span>).getAttribute(<span class="literal">"xlink:href"</span>);
+  }
+
+  <span class="comment">/**
+   * Returns the WMS version for the layer passed in as the feature argument
+   * <span class="attrib">@param</span> feature the Layer node from the context doc
+   * <span class="attrib">@return</span> the WMS GetMap version for the Layer.
+   */</span>
+  <span class="reserved">this</span>.getVersion = <span class="reserved">function</span>(feature) {
+    <span class="reserved">return</span> feature.selectSingleNode(<span class="literal">"wmc:Server"</span>).getAttribute(<span class="literal">"version"</span>);
+  }
+
+  <span class="comment">/**
+   * Get HTTP method for the specified feature
+   * <span class="attrib">@param</span> feature the Layer node from the context doc
+   * <span class="attrib">@return</span> the HTTP method to get the feature with
+   */</span>
+  <span class="reserved">this</span>.getMethod = <span class="reserved">function</span>(feature) {
+    <span class="reserved">return</span> feature.selectSingleNode(<span class="literal">"wmc:Server/wmc:OnlineResource"</span>).getAttribute(<span class="literal">"wmc:method"</span>);
+  }
+
+  <span class="comment">/**
+   * Method to get a list of queryable layers
+   * <span class="attrib">@return</span> the list with queryable layers
+   */</span>
+  <span class="reserved">this</span>.getQueryableLayers = <span class="reserved">function</span>() {
+    var listNodeArray = <span class="reserved">this</span>.doc.selectNodes(<span class="literal">"/wmc:ViewContext/wmc:LayerList/wmc:Layer[attribute::queryable='1']"</span>);
+    <span class="reserved">return</span> listNodeArray;
+  }
+
+  <span class="comment">/**
+   * Method to get a list of all layers in the context doc
+   * TBD: merge this with above, passing queryable as an optional boolean param?
+   * <span class="attrib">@return</span> the list with all layers
+   */</span>
+  <span class="reserved">this</span>.getAllLayers = <span class="reserved">function</span>() {
+    var listNodeArray = <span class="reserved">this</span>.doc.selectNodes(<span class="literal">"/wmc:ViewContext/wmc:LayerList/wmc:Layer"</span>);
+    <span class="reserved">return</span> listNodeArray;
+  }
+
+  <span class="comment">/**
+   * Method to get a layer with the specified name in the context doc
+   * <span class="attrib">@param</span> layerId the id of the layer to be returned
+   * <span class="attrib">@return</span> the list with all layers
+   */</span>
+  <span class="reserved">this</span>.getLayer = <span class="reserved">function</span>(layerId) {
+    var layer = <span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:ViewContext/wmc:LayerList/wmc:Layer[@id='"</span>+layerId+<span class="literal">"']"</span>);
+    <span class="reserved">if</span> (layer == null) {
+      layer = <span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:ViewContext/wmc:LayerList/wmc:Layer[wmc:Name='"</span>+layerId+<span class="literal">"']"</span>);
+    }
+<span class="comment">    //TBD: add in time stamp</span>
+    <span class="reserved">return</span> layer;
+  }
+
+  <span class="comment">/**
+   * Method to get a layer id with the specified id/name in the context doc
+   * <span class="attrib">@param</span> layerName the name of the layer of which the id is to be returned
+   * <span class="attrib">@return</span> the id of the layer || false
+   */</span>
+  <span class="reserved">this</span>.getLayerIdByName = <span class="reserved">function</span>(layerName) {
+    var layer = <span class="reserved">this</span>.getLayer(layerName);
+    var id;
+    <span class="reserved">if</span> (layer) {
+      id = layer.getAttribute(<span class="literal">"id"</span>);
+    }
+
+    <span class="reserved">return</span> id || false;
+  }
+
+  <span class="comment">/**
+   * Method to add a Layer to the LayerList
+   * <span class="attrib">@param</span> layerNode the Layer node from another context doc or capabiltiies doc
+   */</span>
+  <span class="reserved">this</span>.addLayer = <span class="reserved">function</span>(objRef, layerNode) {
+
+    var parentNode = objRef.doc.selectSingleNode(<span class="literal">"/wmc:ViewContext/wmc:LayerList"</span>);
+    parentNode.appendChild(layerNode);
+<span class="comment">
+    // Generate layer id if layer doesn't have an id</span>
+    <span class="reserved">if</span> (!layerNode.getAttribute(<span class="literal">"id"</span>)) {
+      var randomNumber = Math.round(10000 * Math.random());
+      id = Mapbuilder.getProperty(layerNode, <span class="literal">"wmc:Name"</span>) + <span class="literal">"_"</span> + randomNumber; 
+      layerNode.setAttribute(<span class="literal">"id"</span>, id);
+    }
+
+    objRef.modified = true;
+<span class="comment">    //objRef.callListeners("refresh");</span>
+  }
+  <span class="reserved">this</span>.addFirstListener( <span class="literal">"addLayer"</span>, <span class="reserved">this</span>.addLayer, <span class="reserved">this</span> );
+
+ <span class="comment">/**
+   * Method to add a Sld tag to the StyleList
+   * <span class="attrib">@param</span> layerName the Layer name from another context doc or capabiltiies doc
+   */</span>
+  <span class="reserved">this</span>.addSLD = <span class="reserved">function</span>(objRef,sldNode) {
+<span class="comment">    // alert("context addSLD : "+objRef.id);</span>
+    var layerName=Mapbuilder.getProperty(sldNode, <span class="literal">"//Name"</span>);
+    var parentNode = objRef.doc.selectSingleNode(<span class="literal">"//wmc:Layer[wmc:Name='"</span>+layerName+<span class="literal">"']"</span>);
+    parentNode.appendChild(sldNode.cloneNode(true));
+    objRef.modified = true;
+    var attribs=[];
+    attribs[<span class="literal">"sld_body"</span>]=(new XMLSerializer()).serializeToString(objRef.doc.selectSingleNode(<span class="literal">"//wmc:Layer[wmc:Name='"</span>+layerName+<span class="literal">"']/wmc:StyleList/wmc:Style/wmc:SLD/wmc:StyledLayerDescriptor"</span>));
+	objRef.map.mbMapPane.refreshLayer(objRef.map.mbMapPane,layerName,attribs);
+	
+  }
+  <span class="reserved">this</span>.addFirstListener( <span class="literal">"addSLD"</span>, <span class="reserved">this</span>.addSLD, <span class="reserved">this</span> );
+
+  <span class="comment">/**
+   * Method to remove a Layer from the LayerList
+   * <span class="attrib">@param</span> layerId the Layer to be deleted
+   */</span>
+  <span class="reserved">this</span>.deleteLayer = <span class="reserved">function</span>(objRef, layerId) {
+    var deletedNode = objRef.getLayer(layerId);
+    <span class="reserved">if</span> (!deletedNode) {
+      alert(mbGetMessage(<span class="literal">"nodeNotFound"</span>, layerId));
+      <span class="reserved">return</span>;
+    }
+    deletedNode.parentNode.removeChild(deletedNode);
+    objRef.modified = true;
+  }
+  <span class="reserved">this</span>.addFirstListener( <span class="literal">"deleteLayer"</span>, <span class="reserved">this</span>.deleteLayer, <span class="reserved">this</span> );
+
+  <span class="comment">/**
+   * Method to move a Layer in the LayerList up
+   * <span class="attrib">@param</span> layerId the layer to be moved
+   */</span>
+  <span class="reserved">this</span>.moveLayerUp = <span class="reserved">function</span>(objRef, layerId) {
+    var movedNode = objRef.getLayer(layerId);
+    var sibNode = movedNode.selectSingleNode(<span class="literal">"following-sibling::*"</span>);
+    <span class="reserved">if</span> (!sibNode) {
+      alert(mbGetMessage(<span class="literal">"cantMoveUp"</span>, layerId));
+      <span class="reserved">return</span>;
+    }
+    movedNode.parentNode.insertBefore(sibNode,movedNode);
+    objRef.modified = true;
+  }
+  <span class="reserved">this</span>.addFirstListener( <span class="literal">"moveLayerUp"</span>, <span class="reserved">this</span>.moveLayerUp, <span class="reserved">this</span> );
+
+  <span class="comment">/**
+   * Method to move a Layer in the LayerList down
+   * <span class="attrib">@param</span> layerId the layer to be moved
+   */</span>
+  <span class="reserved">this</span>.moveLayerDown = <span class="reserved">function</span>(objRef, layerId) {
+    var movedNode = objRef.getLayer(layerId);
+    var listNodeArray = movedNode.selectNodes(<span class="literal">"preceding-sibling::*"</span>);  //preceding-sibling axis contains all previous siblings
+    var sibNode = listNodeArray[listNodeArray.length-1];
+    <span class="reserved">if</span> (!sibNode) {
+      alert(mbGetMessage(<span class="literal">"cantMoveDown"</span>, layerId));
+      <span class="reserved">return</span>;
+    }
+    movedNode.parentNode.insertBefore(movedNode,sibNode);
+    objRef.modified = true;
+  }
+  <span class="reserved">this</span>.addFirstListener( <span class="literal">"moveLayerDown"</span>, <span class="reserved">this</span>.moveLayerDown, <span class="reserved">this</span> );
+
+  <span class="comment">/**
+   * Adds a node to the Context document extension element.  The extension element
+   * will be created if it doesn't already exist.
+   * <span class="attrib">@param</span> extensionNode the node to be appended in the extension element.
+   * <span class="attrib">@return</span> the ndoe added to the extension element
+   */</span>
+  <span class="reserved">this</span>.setExtension = <span class="reserved">function</span>(extensionNode) {
+    var extension = <span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:ViewContext/wmc:General/wmc:Extension"</span>);
+    <span class="reserved">if</span> (!extension) {
+      var general = <span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:ViewContext/wmc:General"</span>);
+      var newChild = createElementWithNS(<span class="reserved">this</span>.doc,<span class="literal">"Extension"</span>,<span class="literal">'http://www.opengis.net/context'</span>);
+      extension = general.appendChild(newChild);
+    }
+    <span class="reserved">return</span> extension.appendChild(extensionNode);
+  }
+
+  <span class="comment">/**
+   * Returns the contents of the extension element
+   * <span class="attrib">@return</span> the contents of the extension element
+   */</span>
+  <span class="reserved">this</span>.getExtension = <span class="reserved">function</span>() {
+    <span class="reserved">return</span> <span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:ViewContext/wmc:General/wmc:Extension"</span>);
+  }
+
+  <span class="comment">/**
+   * Parses a Dimension element from the Context document as a loadModel listener.
+   * This results in an XML structure with one element for each GetMap time value
+   * parameter and added to the Context extrension element.
+   * <span class="attrib">@param</span> objRef a pointer to this object
+   */</span>
+  <span class="reserved">this</span>.initTimeExtent = <span class="reserved">function</span>( objRef ) {
+<span class="comment">    //only the first one selected is used as the timestamp source</span>
+<span class="comment">    //var extentNode = objRef.doc.selectSingleNode("//wmc:Layer/wmc:Dimension[<span class="attrib">@name</span>='time']");</span>
+<span class="comment">    //TBD: how to deal with multiple time dimensions in one context doc, or caps doc?</span>
+    var timeNodes = objRef.doc.selectNodes(<span class="literal">"//wmc:Dimension[@name='time']"</span>);
+    <span class="reserved">for</span> (var i=0; i&lt;timeNodes.length; ++i) {
+      var extentNode = timeNodes[i];
+      objRef.timestampList = createElementWithNS(objRef.doc,<span class="literal">"TimestampList"</span>,mbNsUrl);
+      var layerId;
+      var layerNode = extentNode.parentNode.parentNode;
+      <span class="reserved">if</span> (layerNode.selectSingleNode(<span class="literal">"@id"</span>)) {
+        layerId = Mapbuilder.getProperty(layerNode, <span class="literal">"@id"</span>);
+      } <span class="reserved">else</span> {
+        layerId = Mapbuilder.getProperty(layerNode, <span class="literal">"wmc:Name"</span>);
+      }
+      objRef.timestampList.setAttribute(<span class="literal">"layerId"</span>, layerId);
+<span class="comment">      //alert("found time dimension, extent:"+getNodeValue(extentNode));</span>
+      var times = getNodeValue(extentNode).split(<span class="literal">","</span>);   //comma separated list of arguments
+      <span class="reserved">for</span> (var j=0; j&lt;times.length; ++j) {
+        var params = times[j].split(<span class="literal">"/"</span>);     // parses start/end/period
+        <span class="reserved">if</span> (params.length==3) {
+          var start = setISODate(params[0]);
+          var stop = setISODate(params[1]);
+          var period = params[2];
+          var parts = period.match(/^P((\d*)Y)?((\d*)M)?((\d*)D)?T?((\d*)H)?((\d*)M)?((.*)S)?/);
+          <span class="reserved">for</span> (var i=1; i&lt;parts.length; ++i) {
+            <span class="reserved">if</span> (!parts[i]) parts[i]=0;
+          }
+<span class="comment">          //alert("start time:"+start.toString());</span>
+          do {
+            var timestamp = createElementWithNS(objRef.doc,<span class="literal">"Timestamp"</span>,mbNsUrl);
+            timestamp.appendChild(objRef.doc.createTextNode(getISODate(start)));
+            objRef.timestampList.appendChild(timestamp);
+
+            start.setFullYear(start.getFullYear()+parseInt(parts[2],10));
+            start.setMonth(start.getMonth()+parseInt(parts[4],10));
+            start.setDate(start.getDate()+parseInt(parts[6],10));
+            start.setHours(start.getHours()+parseInt(parts[8],10));
+            start.setMinutes(start.getMinutes()+parseInt(parts[10],10));
+            start.setSeconds(start.getSeconds()+parseFloat(parts[12]));
+<span class="comment">            //alert("time:"+start.toString());</span>
+          } <span class="reserved">while</span>(start.getTime() &lt;= stop.getTime());
+
+        } <span class="reserved">else</span> {
+<span class="comment">          //output single date value</span>
+          var timestamp = createElementWithNS(objRef.doc,<span class="literal">"Timestamp"</span>,mbNsUrl);
+          timestamp.appendChild(objRef.doc.createTextNode(times[j]));
+          objRef.timestampList.appendChild(timestamp);
+        }
+      }
+     objRef.setExtension(objRef.timestampList);
+    }
+  }
+  <span class="reserved">this</span>.addFirstListener( <span class="literal">"loadModel"</span>, <span class="reserved">this</span>.initTimeExtent, <span class="reserved">this</span> );
+  
+  <span class="comment">/**
+   * clear the time extent created by initTimeExtent
+   * <span class="attrib">@param</span> objRef reference to this model
+   */</span>
+  <span class="reserved">this</span>.clearTimeExtent = <span class="reserved">function</span>( objRef ) {
+    var tsList = objRef.timestampList;
+    <span class="reserved">if</span> (tsList) {
+      tsList.parentNode.removeChild(tsList);
+    }
+  }
+  <span class="reserved">this</span>.addListener(<span class="literal">"newModel"</span>, <span class="reserved">this</span>.clearTimeExtent, <span class="reserved">this</span>);
+
+  <span class="comment">/**
+   * Returns the current timestamp value.
+   * <span class="attrib">@param</span> layerId the name of the Layer from which the timestamp list was generated
+   * <span class="attrib">@return</span> the current timestamp value.
+   */</span>
+  <span class="reserved">this</span>.getCurrentTimestamp = <span class="reserved">function</span>( layerId ) {
+    var index = <span class="reserved">this</span>.getParam(<span class="literal">"timestamp"</span>);
+    <span class="reserved">return</span> getNodeValue(<span class="reserved">this</span>.timestampList.childNodes[index]);
+  }
+<span class="comment">
+  // PL -BRGM</span>
+  <span class="comment">/**
+   * Change a Layer's opacity
+   * <span class="attrib">@param</span> layerId  The name of the layer that is to be changed
+   * <span class="attrib">@param</span> Opacity     Value of the opacity
+   */</span>
+  <span class="reserved">this</span>.setOpacity=<span class="reserved">function</span>(layerId, Opacity){
+<span class="comment">    // Set the hidden attribute in the Context</span>
+    var layer = <span class="reserved">this</span>.getLayer(layerId);
+    <span class="reserved">if</span> (layer) layer.setAttribute(<span class="literal">"opacity"</span>, Opacity);
+<span class="comment">    // Call the listeners</span>
+    <span class="reserved">this</span>.callListeners(<span class="literal">"opacity"</span>, layerId);
+  }
+
+  <span class="comment">/**
+   * Get the layer's opacity attribute value.
+   * <span class="attrib">@param</span> layerId  The name of the layer that is to be changed
+   * <span class="attrib">@return</span> hidden  String with the value; 1=hidden, 0=visible.
+   */</span>
+  <span class="reserved">this</span>.getOpacity=<span class="reserved">function</span>(layerId){
+    var opacity=1;
+    var layer = <span class="reserved">this</span>.getLayer(layerId);
+    <span class="reserved">if</span> (layer) opacity = layer.getAttribute(<span class="literal">"opacity"</span>);
+    <span class="reserved">return</span> opacity;
+  }
+<span class="comment">  // PL -END</span>
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/WidgetBaseXSL.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/WidgetBaseXSL.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/WidgetBaseXSL.html	(revision 4307)
@@ -0,0 +1,444 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+WidgetBaseXSL
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="WidgetBaseXSL";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-WidgetBaseXSL.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="WidgetBase.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="WmsCapabilities.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="WidgetBaseXSL.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class WidgetBaseXSL</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<b>WidgetBaseXSL</b>
+</PRE>
+
+   <DL>
+   <DT>
+      <B>Direct Known Subclasses:</B> 
+      <DD>
+                <a href="WebServiceForm.html">WebServiceForm</a>, <a href="TipWidgetBase.html">TipWidgetBase</a>, <a href="ServiceRegistryList.html">ServiceRegistryList</a>, <a href="FeatureInfo.html">FeatureInfo</a>, <a href="SelectFromAtomFeed.html">SelectFromAtomFeed</a>, <a href="Widget.html">Widget</a>, <a href="SelectFeatureType.html">SelectFeatureType</a>, <a href="Version.html">Version</a>, <a href="Timestamp.html">Timestamp</a>, <a href="ShowDistance.html">ShowDistance</a>, <a href="SelectAllMapLayers.html">SelectAllMapLayers</a>, <a href="LayerControl.html">LayerControl</a>, <a href="FormBase.html">FormBase</a>, <a href="Locations.html">Locations</a>, <a href="MapTitle.html">MapTitle</a>, <a href="SelectMapLayers.html">SelectMapLayers</a>, <a href="AoiForm.html">AoiForm</a>, <a href="FeatureList.html">FeatureList</a>, <a href="CursorTrack.html">CursorTrack</a>, <a href="OpenLSForm.html">OpenLSForm</a>, <a href="ModelUrlInput.html">ModelUrlInput</a>, <a href="OpenLSResponse.html">OpenLSResponse</a>, <a href="MapScaleText.html">MapScaleText</a>, <a href="TabbedContent.html">TabbedContent</a>, <a href="OWSCatSearchForm.html">OWSCatSearchForm</a>, <a href="SelectTimeFrame.html">SelectTimeFrame</a>, <a href="ModelStatus.html">ModelStatus</a>, <a href="FilterAttributes.html">FilterAttributes</a>, <a href="EventLog.html">EventLog</a>, <a href="LegendGraphic.html">LegendGraphic</a>, <a href="Legend.html">Legend</a>, <a href="TransactionResponse.html">TransactionResponse</a>, <a href="CollectionList.html">CollectionList</a>, <a href="Abstract.html">Abstract</a>
+      </DD>
+   </DL>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>WidgetBaseXSL</B>
+   
+      <DT>extends <a href='WidgetBase.html'>WidgetBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-WidgetBaseXSL.js.html'>WidgetBaseXSL.js</a></I><BR/><BR/><B>Author:</B> Mike Adair   <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#parseHTMLNodes">parseHTMLNodes</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#stylesheet">stylesheet</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="WidgetBaseXSL.html#WidgetBaseXSL()">WidgetBaseXSL</A> 
+	 </B>
+	 (widgetNode,model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Base Class for widgets.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#paint">paint</A></B>(objRef, refreshId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Render the widget.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="parseHTMLNodes"><!-- --></A>
+   <H3>parseHTMLNodes</H3>
+   <PRE>Object&nbsp;<B>parseHTMLNodes</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="stylesheet"><!-- --></A>
+   <H3>stylesheet</H3>
+   <PRE>Object&nbsp;<B>stylesheet</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="WidgetBaseXSL()"><!-- --></A><H3>
+WidgetBaseXSL</H3>
+<PRE><B>WidgetBaseXSL</B>(widgetNode,model)</PRE>
+
+
+<UL>
+   Base Class for widgets.  Associates a node on the page with a stylesheet and
+ model.  All widgets must extend this base class.
+ Defines the default paint() method for all widgets which is where the 
+ stylesheet is applied to the model XML document.
+ To override widget.paint(), define it before calling this constructor.
+ The stylesheet URL defaults to "widget/<widgetName>.xsl" if it is not defined
+ in config file.  Set a stylesheet property containing an XSL URL in config
+ to customize the stylesheet used.
+ All stylesheets will have "modelId" and "widgetId" parameters set when called.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+     <UL><CODE>widget</CODE> -       Pointer to the widget instance being created  
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Mike Adair   <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="paint"><!-- --></A>
+   <H3>paint</H3>
+   <PRE>void <B>paint</B>(objRef, refreshId)</PRE>
+   
+      <UL>Render the widget.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to widget object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-WidgetBaseXSL.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="WidgetBase.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="WmsCapabilities.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="WidgetBaseXSL.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-SelectFeatureType.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-SelectFeatureType.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-SelectFeatureType.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ SelectFeatureType.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" SelectFeatureType.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-SelectFeatureType.js.html" 
+                                        target="classFrame">SelectFeatureType.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="SelectFeatureType.html" TARGET="classFrame">SelectFeatureType</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-LegendGraphic.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-LegendGraphic.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-LegendGraphic.js.html	(revision 4307)
@@ -0,0 +1,205 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="LegendGraphic.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>LegendGraphic.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'LegendGraphic.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="LegendGraphic.html">LegendGraphic</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: LegendGraphic.js 3010 2007-07-25 14:09:06Z steven $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Functions to render and update a Legend from a Web Map Context.
+ * 
+ * WARNING: In most cases you probably want either Legend.js or LayerControl.js they
+ * both display the legend graphic per layer.
+ * <span class="attrib">@deprecated</span>
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@author</span> Cameron Shorter cameronATshorter.net
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> LegendGraphic(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"hidden"</span>,<span class="reserved">this</span>.refresh, <span class="reserved">this</span>);
+}
+
+<span class="comment">/**
+ * Listener method to paint this widget
+ * <span class="attrib">@param</span> layerName  the name of the layer to highlight
+ */</span>
+LegendGraphic.<span class="reserved">prototype</span>.refresh = <span class="reserved">function</span>(objRef, layerName) {
+  objRef.paint(objRef, objRef.id);
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Back.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Back.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Back.js.html	(revision 4307)
@@ -0,0 +1,220 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Back.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Back.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Back.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Back.html">Back</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Steven Ottens AT geodan.nl
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Back.js 3587 2007-11-12 12:24:58Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/ButtonBase.js"</span>);
+
+<span class="comment">/**
+ * When this button is pressed the map will reload with it's original extent
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ButtonBase
+ * <span class="attrib">@author</span> Steven Ottens AT geodan.nl
+ * <span class="attrib">@param</span> widgetNode      The widget node from the Config XML file.
+ * <span class="attrib">@param</span> model  The model for this widget
+ */</span>
+<span class="reserved">function</span> Back(widgetNode, model) {
+ 
+   ButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+  <span class="comment">/**
+   * Interactive ZoomOut control.
+   * <span class="attrib">@param</span> objRef reference to this object.
+   * <span class="attrib">@return</span> {OpenLayers.Control} instance of the OL control.
+   */</span>
+  <span class="reserved">this</span>.createControl = <span class="reserved">function</span>(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      type: OpenLayers.Control.TYPE_BUTTON,
+      
+      trigger: <span class="reserved">function</span>() {
+              var objRef = <span class="reserved">this</span>.objRef;
+              objRef.targetModel.setParam(<span class="literal">"historyBack"</span>);
+              var previousExtent = objRef.targetModel.previousExtent;
+              <span class="reserved">if</span>(previousExtent){
+                objRef.targetModel.setParam(<span class="literal">"historyStop"</span>);
+                <span class="reserved">this</span>.map.setCenter(previousExtent.center);
+                <span class="reserved">this</span>.map.zoomToScale(previousExtent.scale);
+                objRef.targetModel.setParam(<span class="literal">"historyStart"</span>);
+              }
+      },
+      
+      CLASS_NAME: <span class="literal">'mbControl.Back'</span>
+    });
+    <span class="reserved">return</span> Control;
+  }
+}
+
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-EditLine.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-EditLine.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-EditLine.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ EditLine.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" EditLine.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-EditLine.js.html" 
+                                        target="classFrame">EditLine.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="EditLine.html" TARGET="classFrame">EditLine</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MovieLoop.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MovieLoop.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MovieLoop.js.html	(revision 4307)
@@ -0,0 +1,336 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="MovieLoop.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>MovieLoop.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'MovieLoop.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="MovieLoop.html">MovieLoop</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+Dependancies: Context
+$Id: MovieLoop.js 3881 2008-02-27 15:41:07Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/tool/ToolBase.js"</span>);
+
+<span class="comment">/**
+ * Controller for a movie loop.  Set framesPerSec to control the frame rate 
+ * and frameIncrement (+n/-n) to control the steps through the loop (n is number
+ * of frames to increment.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ToolBase
+ * <span class="attrib">@author</span> Adair
+ * <span class="attrib">@param</span> toolNode The tool node from the config document for this tool
+ * <span class="attrib">@param</span> model  the model object that contains this tool
+ */</span>
+<span class="reserved">function</span> MovieLoop(toolNode, model) {
+  ToolBase.apply(<span class="reserved">this</span>, new Array(toolNode, model));
+
+  <span class="reserved">this</span>.frameIncrement = 1;
+  <span class="reserved">this</span>.model.setParam(<span class="literal">"firstFrame"</span>, 0);
+  <span class="reserved">this</span>.timestampIndex = 0;
+  window.movieLoop = <span class="reserved">this</span>;
+  <span class="reserved">this</span>.isRunning = false;
+  <span class="reserved">this</span>.frameIsLoading = false;
+<span class="comment">
+  //delay in milliseconds</span>
+  <span class="reserved">this</span>.delay = 1000/<span class="reserved">this</span>.getProperty(<span class="literal">"mb:framesPerSecond"</span>, 10);
+<span class="comment">
+  //set a limit to the number of frames to be loaded</span>
+  <span class="reserved">this</span>.maxFrames = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:maxFrames"</span>, 30);
+
+  <span class="comment">/**
+   * Sets the frame to the specified index in the frame array
+   * <span class="attrib">@param</span> index the 0-based frame index in the frame array
+   */</span>
+  <span class="reserved">this</span>.setFrame = <span class="reserved">function</span>(index) {
+    var timestampList = <span class="reserved">this</span>.model.timestampList;
+    var ts;
+    <span class="reserved">if</span> (<span class="reserved">this</span>.timestampIndex!=null) {
+      var ts = timestampList.childNodes[<span class="reserved">this</span>.timestampIndex];
+      <span class="reserved">if</span> (ts) {
+        ts.setAttribute(<span class="literal">"current"</span>, <span class="literal">"0"</span>);
+        <span class="reserved">this</span>.model.setParam(<span class="literal">"timestamp"</span>, <span class="reserved">this</span>.timestampIndex);
+      }
+    }
+    var firstFrame = <span class="reserved">this</span>.model.getParam(<span class="literal">"firstFrame"</span>);
+    var lastFrame = <span class="reserved">this</span>.model.getParam(<span class="literal">"lastFrame"</span>);
+    <span class="reserved">if</span> (index &gt; lastFrame) index = firstFrame;
+    <span class="reserved">if</span> (index &lt; firstFrame) index = lastFrame;
+    <span class="reserved">this</span>.timestampIndex = index;
+    ts = timestampList.childNodes[<span class="reserved">this</span>.timestampIndex];
+    ts.setAttribute(<span class="literal">"current"</span>, <span class="literal">"1"</span>);
+    <span class="reserved">this</span>.model.setParam(<span class="literal">"timestamp"</span>, <span class="reserved">this</span>.timestampIndex);
+  }
+
+  <span class="comment">/**
+   * Advances the frame array by the frame increment. 
+   * 
+   * <span class="attrib">@param</span> step optional parameter to override default frame increment
+   */</span>
+  <span class="reserved">this</span>.nextFrame = <span class="reserved">function</span>(step) {
+    var objRef = window.movieLoop;
+    var increment = objRef.frameIncrement;
+    <span class="reserved">if</span> (step) increment = step;   //arg passed in overrides default
+    <span class="reserved">if</span> (!<span class="reserved">this</span>.frameIsLoading) {
+<span class="comment">        // play() will continue calling nextFrame, so that </span>
+<span class="comment">        // nextFrame() will continually be called at a regular interval, until the current frame is loaded        </span>
+<span class="comment">        // The 'bug' is that if the user clicks the next button rapidly, subsequent requests will be ignored</span>
+<span class="comment">        // while the initial frame is loading. This needs to be resolved.</span>
+	    objRef.setFrame(objRef.timestampIndex + increment);
+	}
+  }
+
+  <span class="comment">/**
+   * Listener fucntion to set the start and end frames based on the 
+   * firstFrame and maxFrames property values.
+   * <span class="attrib">@param</span> objRef pointer to this object
+   */</span>
+  <span class="reserved">this</span>.setFrameLimits = <span class="reserved">function</span>(objRef) {
+    var timestampList = objRef.model.timestampList;
+<span class="comment">    //timestampList.firstFrame = objRef.firstFrame;  //set these from a widget, or config</span>
+    var firstFrame = objRef.model.getParam(<span class="literal">"firstFrame"</span>);
+    var lastFrame = firstFrame+objRef.maxFrames;
+    <span class="reserved">if</span> (lastFrame &gt; timestampList.childNodes.length) lastFrame = timestampList.childNodes.length-1;
+    objRef.model.setParam(<span class="literal">"lastFrame"</span>,lastFrame);
+    timestampList.childNodes[firstFrame].setAttribute(<span class="literal">"current"</span>,<span class="literal">"1"</span>);
+  }
+  <span class="reserved">this</span>.model.addFirstListener(<span class="literal">"refresh"</span>,<span class="reserved">this</span>.setFrameLimits,<span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"firstFrame"</span>,<span class="reserved">this</span>.setFrameLimits,<span class="reserved">this</span>);
+
+  <span class="comment">/**
+   * Resets the frame index to the firstFrame property
+   * <span class="attrib">@param</span> objRef pointer to this object
+   */</span>
+  <span class="reserved">this</span>.reset = <span class="reserved">function</span>(objRef) {
+    objRef.pause();
+    objRef.setFrame(objRef.model.getParam(<span class="literal">"firstFrame"</span>));
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"loadModel"</span>,<span class="reserved">this</span>.reset,<span class="reserved">this</span>);
+  
+  <span class="comment">/**
+   * initialize the movie loop. This only happens at the first bbox event,
+   * which shows us that the map is loaded.
+   */</span>
+  <span class="reserved">this</span>.init = <span class="reserved">function</span>(objRef) {
+<span class="comment">    //TBD: this is an ugly workaround because we do not have an event that</span>
+<span class="comment">    // tells us when the OL map finished loading. </span>
+    <span class="reserved">if</span> (!objRef.initialized) {
+      objRef.initialized = true;
+      objRef.reset(objRef);
+    }
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"bbox"</span>, <span class="reserved">this</span>.init, <span class="reserved">this</span>);
+  
+  <span class="comment">/**
+   * set the initialized state of the movie loop to false
+   */</span>
+  <span class="reserved">this</span>.uninit = <span class="reserved">function</span>(objRef) {
+    objRef.initialized = false;
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"newModel"</span>, <span class="reserved">this</span>.uninit, <span class="reserved">this</span>);
+
+  <span class="comment">/**
+   * Starts the movie loop playing by using a JavaScript timer.
+   */</span>
+  <span class="reserved">this</span>.play = <span class="reserved">function</span>() {
+  	<span class="reserved">if</span> (!<span class="reserved">this</span>.isRunning) {
+	    <span class="reserved">this</span>.movieTimer = setInterval(<span class="literal">'window.movieLoop.nextFrame()'</span>,<span class="reserved">this</span>.delay);
+	    <span class="reserved">this</span>.isRunning = true;
+	}
+  }
+  
+  <span class="comment">/**
+   * Stops the JavaScript movie loop timer.
+   */</span>
+  <span class="reserved">this</span>.pause = <span class="reserved">function</span>() {
+    <span class="reserved">this</span>.isRunning = false;
+    clearInterval(<span class="reserved">this</span>.movieTimer);
+  }
+  
+  <span class="comment">/**
+   * Stops the JavaScript movie loop timer and sets the index back to the first 
+   * frame.
+   */</span>
+  <span class="reserved">this</span>.stop = <span class="reserved">function</span>() { 
+    <span class="reserved">this</span>.pause();
+    <span class="reserved">this</span>.reset(<span class="reserved">this</span>);
+  }
+
+  <span class="comment">/**
+   * A "stopLoop" event listener to call the stop method
+   * <span class="attrib">@param</span> objRef pointer to this object
+   */</span>
+  <span class="reserved">this</span>.stopListener = <span class="reserved">function</span>(objRef) {
+    objRef.stop();
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"stopLoop"</span>,<span class="reserved">this</span>.stopListener,<span class="reserved">this</span>);
+
+
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-FeatureInfo.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-FeatureInfo.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-FeatureInfo.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ FeatureInfo.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" FeatureInfo.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-FeatureInfo.js.html" 
+                                        target="classFrame">FeatureInfo.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="FeatureInfo.html" TARGET="classFrame">FeatureInfo</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/ShowDistance.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/ShowDistance.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/ShowDistance.html	(revision 4307)
@@ -0,0 +1,425 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ShowDistance
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="ShowDistance";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ShowDistance.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="SetAoi.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="StyledLayerDescriptor.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ShowDistance.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class ShowDistance</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>ShowDistance</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>ShowDistance</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-ShowDistance.js.html'>ShowDistance.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#formName">formName</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="ShowDistance.html#ShowDistance()">ShowDistance</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to display the measured distance when it measurement is enabled.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#showDistance">showDistance</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="formName"><!-- --></A>
+   <H3>formName</H3>
+   <PRE>Object&nbsp;<B>formName</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="ShowDistance()"><!-- --></A><H3>
+ShowDistance</H3>
+<PRE><B>ShowDistance</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to display the measured distance when it measurement is enabled.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  This widget's object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model that this widget is a view of.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="showDistance"><!-- --></A>
+   <H3>showDistance</H3>
+   <PRE>void <B>showDistance</B>(objRef)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ShowDistance.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="SetAoi.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="StyledLayerDescriptor.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ShowDistance.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Listener.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Listener.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Listener.js.html	(revision 4307)
@@ -0,0 +1,304 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Listener.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Listener.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Listener.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Listener.html">Listener</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Listener.js 3835 2008-02-13 02:20:23Z ahocevar $
+*/</span>
+
+<span class="comment">/**
+ * Base Listener class that is instanciated by all objects which provide
+ * event listeners.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@author</span> Cameron Shorter
+ */</span>
+<span class="reserved">function</span> Listener() {
+  <span class="comment">/** An array [params] of (listener, target). */</span>
+  <span class="reserved">this</span>.listeners=new Array();
+
+  <span class="comment">/**
+   * An array [params] of values. These values might not be used if the set/get
+   * functions are overwritten.
+   */</span>
+  <span class="reserved">this</span>.values=new Array();
+
+  <span class="comment">/**
+   * Add a listener function which will be called when param is updated;  The
+   * listener function should usually be: paint(target).
+   * <span class="attrib">@param</span> listener The function to call when the parameter changes.
+   * <span class="attrib">@param</span> target The object which owns the listener function.
+   * <span class="attrib">@param</span> param Parameter name; if this parameter changes then an event is
+   * sent to all interested listeners.
+   */</span>
+  <span class="reserved">this</span>.addListener=<span class="reserved">function</span>(param, listener, target) {
+    <span class="reserved">if</span> (window.logger) logger.logEvent(<span class="literal">"addListener: "</span>+param,<span class="reserved">this</span>.id,target.id);
+    <span class="reserved">if</span>(!<span class="reserved">this</span>.listeners[param]){
+      <span class="reserved">this</span>.listeners[param]=new Array();
+    }
+    <span class="reserved">this</span>.removeListener(param,listener,target);
+<span class="comment">    //for(var i=0;i&lt;this.listeners[param].length;i++){</span>
+<span class="comment">    //  if(this.listeners[param][i][0]==listener &amp;&amp; this.listeners[param][i][1]==target){</span>
+<span class="comment">    //    return;</span>
+<span class="comment">    //    alert("Listener.addListener again: target="+target.id);</span>
+<span class="comment">    //  }</span>
+<span class="comment">    //}</span>
+    <span class="reserved">this</span>.listeners[param].push(new Array(listener,target));
+    <span class="reserved">if</span>( !listener ) {
+       alert(mbGetMessage(<span class="literal">"undefinedListener"</span>, target.id));
+    }
+  }
+
+  <span class="comment">/**
+   * Add a listener function at the start of the list.  
+   * <span class="attrib">@param</span> listener The function to call when the parameter changes.
+   * <span class="attrib">@param</span> target The object which owns the listener function.
+   * <span class="attrib">@param</span> param Parameter name; if this parameter changes then an event is
+   * sent to all interested listeners.
+   */</span>
+  <span class="reserved">this</span>.addFirstListener=<span class="reserved">function</span>(param, listener, target) {
+    <span class="reserved">if</span> (window.logger) logger.logEvent(<span class="literal">"addFirstListener: "</span>+param,<span class="reserved">this</span>.id,target.id);
+    <span class="reserved">if</span>(!<span class="reserved">this</span>.listeners[param]){
+      <span class="reserved">this</span>.listeners[param]=new Array();
+    }
+    <span class="reserved">this</span>.removeListener(param,listener,target);
+    <span class="reserved">this</span>.listeners[param].unshift(new Array(listener,target));
+    <span class="reserved">if</span>( !listener ) {
+       alert(mbGetMessage(<span class="literal">"undefinedListener"</span>, target));
+    }
+  }
+
+  <span class="comment">/**
+   * Remove a listener so that it is not called anymore when a param changes.
+   * <span class="attrib">@param</span> listener The function to call when the parameter changes.
+   * <span class="attrib">@param</span> target The object which owns the listener function.
+   * <span class="attrib">@param</span> param Parameter name; if this parameter changes then an event is
+   * sent to all interested listeners.
+   */</span>
+  <span class="reserved">this</span>.removeListener=<span class="reserved">function</span>(param,listener,target){
+    <span class="reserved">if</span>(<span class="reserved">this</span>.listeners[param]){
+      <span class="reserved">for</span>(var i=0;i&lt;<span class="reserved">this</span>.listeners[param].length;i++){
+        <span class="reserved">if</span>(<span class="reserved">this</span>.listeners[param][i][0]==listener &amp;&amp; <span class="reserved">this</span>.listeners[param][i][1]==target){
+          <span class="reserved">for</span>(var j=i;j&lt;<span class="reserved">this</span>.listeners[param].length-1;j++){
+            <span class="reserved">this</span>.listeners[param][j]=<span class="reserved">this</span>.listeners[param][j+1];
+          }
+          <span class="reserved">this</span>.listeners[param].pop();
+          <span class="reserved">return</span>;
+        }
+      }
+    }
+  }
+
+  <span class="comment">/**
+   * Call all the listeners that have registered interest in this parameter
+   * using addListener.
+   * <span class="attrib">@param</span> param The parameter that has changed.
+   * <span class="attrib">@param</span> value The new parameter value.
+   */</span>
+  <span class="reserved">this</span>.callListeners=<span class="reserved">function</span>(param,value) {
+    <span class="reserved">if</span> (<span class="reserved">this</span>.listeners[param]){
+      var count = <span class="reserved">this</span>.listeners[param].length;
+      <span class="reserved">for</span>(var i=0;i&lt;count;i++){
+        <span class="reserved">if</span> (window.logger) logger.logEvent(param,<span class="reserved">this</span>.id,<span class="reserved">this</span>.listeners[param][i][1].id,value);
+<span class="comment">        //this is listenerFunction(target,value)</span>
+        <span class="reserved">if</span> (<span class="reserved">this</span>.listeners[param][i][0]) {
+          <span class="reserved">this</span>.listeners[param][i][0](<span class="reserved">this</span>.listeners[param][i][1],value);
+        } <span class="reserved">else</span> {
+          alert(mbGetMessage(<span class="literal">"listenerError"</span>, param, <span class="reserved">this</span>.listeners[param][i][1].id, <span class="reserved">this</span>.listeners[param][i][0]));
+        }
+      }
+    }
+  }
+
+  <span class="comment">/**
+   * Update parameter and call all interested listeners.  This function may
+   * be overloaded to store the parameter in a elsewhere (eg in an XML
+   * document).
+   * <span class="attrib">@param</span> param The parameter to change.
+   * <span class="attrib">@parma</span> value The new value of the param.
+   */</span>
+  <span class="reserved">this</span>.setParam=<span class="reserved">function</span>(param,value) {
+    <span class="reserved">this</span>.values[param] = value;
+<span class="comment">
+    // Call all the interested listeners</span>
+    <span class="reserved">this</span>.callListeners(param,value);
+  }
+
+  <span class="comment">/**
+   * Return the param value, or return null if it does not exist.  This
+   * function may be overloaded to store the param elsewhere (eg in
+   * an XML document).
+   * <span class="attrib">@param</span> param The parameter to get.
+   * <span class="attrib">@return</span> The value of the param.
+   */</span>
+  <span class="reserved">this</span>.getParam=<span class="reserved">function</span>(param) {
+    <span class="reserved">return</span> <span class="reserved">this</span>.values[param];
+  }
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Config.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Config.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Config.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Config.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Config.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Config.js.html" 
+                                        target="classFrame">Config.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Config.html" TARGET="classFrame">Config</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/XSLTProcessor.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/XSLTProcessor.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/XSLTProcessor.html	(revision 4307)
@@ -0,0 +1,623 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+XSLTProcessor
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="XSLTProcessor";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Sarissa.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="XslProcessor.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ZoomIn.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="XSLTProcessor.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class XSLTProcessor</H2>
+<PRE>Object
+   |
+   +--<b>XSLTProcessor</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>XSLTProcessor</B>
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Sarissa.js.html'>Sarissa.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#processor">processor</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#template">template</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="XSLTProcessor.html#XSLTProcessor()">XSLTProcessor</A> 
+	 </B>
+	 ()
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Basic implementation of Mozilla's XSLTProcessor for IE.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#clearParameters">clearParameters</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Clear parameters (set them to default values as defined in the stylesheet itself)
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getParameter">getParameter</A></B>(nsURI, name)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Gets a parameter if previously set by setParameter.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#importStylesheet">importStylesheet</A></B>(xslDoc)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Imports the given XSLT DOM and compiles it to a reusable transform
+ <b>Note:</b> If the stylesheet was loaded from a URL and contains xsl:import or xsl:include elements,it will be reloaded to resolve those
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setParameter">setParameter</A></B>(nsURI, name, value)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set global XSLT parameter of the imported stylesheet
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#transformToDocument">transformToDocument</A></B>(sourceDoc)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Transform the given XML DOM and return the transformation result as a new DOM document
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#transformToFragment">transformToFragment</A></B>(sourceDoc, ownerDoc)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Transform the given XML DOM and return the transformation result as a new DOM fragment.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="processor"><!-- --></A>
+   <H3>processor</H3>
+   <PRE>Object&nbsp;<B>processor</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="template"><!-- --></A>
+   <H3>template</H3>
+   <PRE>Object&nbsp;<B>template</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="XSLTProcessor()"><!-- --></A><H3>
+XSLTProcessor</H3>
+<PRE><B>XSLTProcessor</B>()</PRE>
+
+
+<UL>
+   Basic implementation of Mozilla's XSLTProcessor for IE. 
+ Reuses the same XSLT stylesheet for multiple transforms
+</UL>
+
+
+
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="clearParameters"><!-- --></A>
+   <H3>clearParameters</H3>
+   <PRE>void <B>clearParameters</B>()</PRE>
+   
+      <UL>Clear parameters (set them to default values as defined in the stylesheet itself)</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getParameter"><!-- --></A>
+   <H3>getParameter</H3>
+   <PRE>Object <B>getParameter</B>(nsURI, name)</PRE>
+   
+      <UL>Gets a parameter if previously set by setParameter. Returns null
+ otherwise</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>name</CODE> -  The parameter base name  
+      </UL> 
+   
+     <UL><CODE>value</CODE> -  The new parameter value  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        The parameter value if reviously set by setParameter, null otherwise 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="importStylesheet"><!-- --></A>
+   <H3>importStylesheet</H3>
+   <PRE>void <B>importStylesheet</B>(xslDoc)</PRE>
+   
+      <UL>Imports the given XSLT DOM and compiles it to a reusable transform
+ <b>Note:</b> If the stylesheet was loaded from a URL and contains xsl:import or xsl:include elements,it will be reloaded to resolve those</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>xslDoc</CODE> -  The XSLT DOMDocument to import        
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setParameter"><!-- --></A>
+   <H3>setParameter</H3>
+   <PRE>void <B>setParameter</B>(nsURI, name, value)</PRE>
+   
+      <UL>Set global XSLT parameter of the imported stylesheet</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>nsURI</CODE> -  The parameter namespace URI  
+      </UL> 
+   
+     <UL><CODE>name</CODE> -  The parameter base name  
+      </UL> 
+   
+     <UL><CODE>value</CODE> -  The new parameter value        
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="transformToDocument"><!-- --></A>
+   <H3>transformToDocument</H3>
+   <PRE>Object <B>transformToDocument</B>(sourceDoc)</PRE>
+   
+      <UL>Transform the given XML DOM and return the transformation result as a new DOM document</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>sourceDoc</CODE> -  The XML DOMDocument to transform  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        The transformation result as a DOM Document 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="transformToFragment"><!-- --></A>
+   <H3>transformToFragment</H3>
+   <PRE>Object <B>transformToFragment</B>(sourceDoc, ownerDoc)</PRE>
+   
+      <UL>Transform the given XML DOM and return the transformation result as a new DOM fragment.
+ <b>Note</b>: The xsl:output method must match the nature of the owner document (XML/HTML).</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>sourceDoc</CODE> -  The XML DOMDocument to transform  
+      </UL> 
+   
+     <UL><CODE>ownerDoc</CODE> -  The owner of the result fragment  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        The transformation result as a DOM Document 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Sarissa.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="XslProcessor.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ZoomIn.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="XSLTProcessor.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Loading.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Loading.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Loading.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Loading.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Loading.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Loading.js.html" 
+                                        target="classFrame">Loading.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Loading.html" TARGET="classFrame">Loading</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MapScaleText.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MapScaleText.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MapScaleText.js.html	(revision 4307)
@@ -0,0 +1,280 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="MapScaleText.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>MapScaleText.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'MapScaleText.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="MapScaleText.html">MapScaleText</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: MapScaleText.js 3242 2007-09-11 11:15:21Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Widget to display the scale of a map.  The model of this widget
+ * must have an extent object associated with it which is the case when the 
+ * model has a MapContanier widget.
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode  This widget's object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model that this widget is a view of.
+ */</span>
+
+<span class="reserved">function</span> MapScaleText(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+
+  <span class="comment">/**
+   * Handles submission of the form (via javascript in an &lt;a&gt; tag or onsubmit handler)
+   */</span>
+  <span class="reserved">this</span>.submitForm = <span class="reserved">function</span>() {
+    var mapScaleTextForm = document.getElementById(<span class="reserved">this</span>.formName);
+    var newScale = mapScaleTextForm.mapScale.value;
+    <span class="reserved">this</span>.model.map.zoomToScale(newScale.split(<span class="literal">","</span>).join(<span class="literal">""</span>));
+    <span class="reserved">return</span> false;   //prevent the form from actually being submitted
+  }
+
+  <span class="comment">/**
+   * handles keypress events to filter out everything except "enter".  
+   * Pressing the "enter" key will trigger a form submit
+   * <span class="attrib">@param</span> event  the event object passed in for Mozilla; IE uses window.event
+   */</span>
+  <span class="reserved">this</span>.handleKeyPress = <span class="reserved">function</span>(event) {
+    var keycode;
+    var target;
+    <span class="reserved">if</span> (event){
+<span class="comment">      //Mozilla</span>
+      keycode=event.which;
+      target=event.currentTarget;
+    }<span class="reserved">else</span>{
+<span class="comment">      //IE</span>
+      keycode=window.event.keyCode;
+      target=window.event.srcElement.form;
+    }
+
+    <span class="reserved">if</span> (keycode == 13) {    //enter key
+      target.parentWidget.submitForm();
+      <span class="reserved">return</span> false
+    }
+  }
+
+  <span class="comment">/**
+   * outputs the scale value to the form element
+   * <span class="attrib">@param</span> objRef Pointer to this widget object.
+   */</span>
+  <span class="reserved">this</span>.showScale = <span class="reserved">function</span>(objRef) {
+    var mapScaleTextForm = document.getElementById(objRef.formName);
+    <span class="reserved">if</span> (mapScaleTextForm) {
+      var newScale = Math.round(objRef.model.map.getScale());
+      var parts = new Array();
+      <span class="reserved">while</span> (newScale&gt;=1000.0) {
+        var newPart = newScale/1000.0;
+        newScale = Math.floor(newPart);
+        var strPart = leadingZeros(Math.round((newPart-newScale)*1000).toString(),3);
+        parts.unshift(strPart);
+      }
+      parts.unshift(newScale);
+      mapScaleTextForm.mapScale.value = parts.join(<span class="literal">","</span>);
+    }
+  }
+
+  <span class="comment">/**
+   * adds a bbox listener on the model 
+   */</span>
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"bbox"</span>, <span class="reserved">this</span>.showScale, <span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"refresh"</span>, <span class="reserved">this</span>.showScale, <span class="reserved">this</span>);
+
+  <span class="comment">/**
+   * Called just before paint to set the map scale as stylesheet param
+   * <span class="attrib">@param</span> objRef pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.prePaint = <span class="reserved">function</span>(objRef) {
+    var mapScale = objRef.model.extent.getScale();
+    <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"mapScale"</span>, mapScale );
+  }
+
+  <span class="comment">/**
+   * Refreshes the form and event handlers when this widget is painted.
+   * <span class="attrib">@param</span> objRef Pointer to this CurorTrack object.
+   */</span>
+  <span class="reserved">this</span>.postPaint = <span class="reserved">function</span>(objRef) {
+    var mapScaleTextForm = document.getElementById(objRef.formName);
+    mapScaleTextForm.parentWidget = objRef;
+    mapScaleTextForm.onkeypress = objRef.handleKeyPress;
+    objRef.showScale(objRef);
+  }
+<span class="comment">
+  //set some properties for the form output</span>
+  <span class="reserved">this</span>.formName = <span class="literal">"MapScaleText_"</span> + mbIds.getId();
+  <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"formName"</span>, <span class="reserved">this</span>.formName);
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/MovieLoop.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/MovieLoop.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/MovieLoop.html	(revision 4307)
@@ -0,0 +1,864 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+MovieLoop
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="MovieLoop";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-MovieLoop.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="ModelUrlInput.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="OpenLSForm.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="MovieLoop.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class MovieLoop</H2>
+<PRE>Object
+   |
+   +--<a href='ToolBase.html'>ToolBase</a>
+         |
+         +--<b>MovieLoop</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>MovieLoop</B>
+   
+      <DT>extends <a href='ToolBase.html'>ToolBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-MovieLoop.js.html'>MovieLoop.js</a></I><BR/><BR/><B>Author:</B> Adair  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#delay">delay</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#frameIncrement">frameIncrement</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#frameIsLoading">frameIsLoading</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#isRunning">isRunning</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#maxFrames">maxFrames</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#movieTimer">movieTimer</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#timestampIndex">timestampIndex</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ToolBase.html">ToolBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ToolBase.html#model">model</a>, <a href="ToolBase.html#toolNode">toolNode</a>, <a href="ToolBase.html#enabled">enabled</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="MovieLoop.html#MovieLoop()">MovieLoop</A> 
+	 </B>
+	 (toolNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Controller for a movie loop.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#init">init</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 initialize the movie loop.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#nextFrame">nextFrame</A></B>(step)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Advances the frame array by the frame increment.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#pause">pause</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Stops the JavaScript movie loop timer.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#play">play</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Starts the movie loop playing by using a JavaScript timer.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#reset">reset</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Resets the frame index to the firstFrame property
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setFrame">setFrame</A></B>(index)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Sets the frame to the specified index in the frame array
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setFrameLimits">setFrameLimits</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Listener fucntion to set the start and end frames based on the 
+ firstFrame and maxFrames property values.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#stop">stop</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Stops the JavaScript movie loop timer and sets the index back to the first 
+ frame.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#stopListener">stopListener</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 A "stopLoop" event listener to call the stop method
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#uninit">uninit</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 set the initialized state of the movie loop to false
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ToolBase.html">ToolBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ToolBase.html#initTargetModel">initTargetModel</a>, <a href="ToolBase.html#initMouseHandler">initMouseHandler</a>, <a href="ToolBase.html#getProperty">getProperty</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="delay"><!-- --></A>
+   <H3>delay</H3>
+   <PRE>Object&nbsp;<B>delay</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="frameIncrement"><!-- --></A>
+   <H3>frameIncrement</H3>
+   <PRE>Object&nbsp;<B>frameIncrement</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="frameIsLoading"><!-- --></A>
+   <H3>frameIsLoading</H3>
+   <PRE>Object&nbsp;<B>frameIsLoading</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="isRunning"><!-- --></A>
+   <H3>isRunning</H3>
+   <PRE>Object&nbsp;<B>isRunning</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="maxFrames"><!-- --></A>
+   <H3>maxFrames</H3>
+   <PRE>Object&nbsp;<B>maxFrames</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="movieTimer"><!-- --></A>
+   <H3>movieTimer</H3>
+   <PRE>Object&nbsp;<B>movieTimer</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="timestampIndex"><!-- --></A>
+   <H3>timestampIndex</H3>
+   <PRE>Object&nbsp;<B>timestampIndex</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="MovieLoop()"><!-- --></A><H3>
+MovieLoop</H3>
+<PRE><B>MovieLoop</B>(toolNode, model)</PRE>
+
+
+<UL>
+   Controller for a movie loop.  Set framesPerSec to control the frame rate 
+ and frameIncrement (+n/-n) to control the steps through the loop (n is number
+ of frames to increment.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>toolNode</CODE> -  The tool node from the config document for this tool  
+     </UL>
+   
+     <UL><CODE>model</CODE> -   the model object that contains this tool
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Adair  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="init"><!-- --></A>
+   <H3>init</H3>
+   <PRE>void <B>init</B>(objRef)</PRE>
+   
+      <UL>initialize the movie loop. This only happens at the first bbox event,
+ which shows us that the map is loaded.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="nextFrame"><!-- --></A>
+   <H3>nextFrame</H3>
+   <PRE>void <B>nextFrame</B>(step)</PRE>
+   
+      <UL>Advances the frame array by the frame increment.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>step</CODE> -  optional parameter to override default frame increment      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="pause"><!-- --></A>
+   <H3>pause</H3>
+   <PRE>void <B>pause</B>()</PRE>
+   
+      <UL>Stops the JavaScript movie loop timer.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="play"><!-- --></A>
+   <H3>play</H3>
+   <PRE>void <B>play</B>()</PRE>
+   
+      <UL>Starts the movie loop playing by using a JavaScript timer.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="reset"><!-- --></A>
+   <H3>reset</H3>
+   <PRE>void <B>reset</B>(objRef)</PRE>
+   
+      <UL>Resets the frame index to the firstFrame property</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  pointer to this object      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setFrame"><!-- --></A>
+   <H3>setFrame</H3>
+   <PRE>void <B>setFrame</B>(index)</PRE>
+   
+      <UL>Sets the frame to the specified index in the frame array</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>index</CODE> -  the 0-based frame index in the frame array      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setFrameLimits"><!-- --></A>
+   <H3>setFrameLimits</H3>
+   <PRE>void <B>setFrameLimits</B>(objRef)</PRE>
+   
+      <UL>Listener fucntion to set the start and end frames based on the 
+ firstFrame and maxFrames property values.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  pointer to this object      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="stop"><!-- --></A>
+   <H3>stop</H3>
+   <PRE>void <B>stop</B>()</PRE>
+   
+      <UL>Stops the JavaScript movie loop timer and sets the index back to the first 
+ frame.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="stopListener"><!-- --></A>
+   <H3>stopListener</H3>
+   <PRE>void <B>stopListener</B>(objRef)</PRE>
+   
+      <UL>A "stopLoop" event listener to call the stop method</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  pointer to this object      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="uninit"><!-- --></A>
+   <H3>uninit</H3>
+   <PRE>void <B>uninit</B>(objRef)</PRE>
+   
+      <UL>set the initialized state of the movie loop to false</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-MovieLoop.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="ModelUrlInput.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="OpenLSForm.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="MovieLoop.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/LayerControl.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/LayerControl.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/LayerControl.html	(revision 4307)
@@ -0,0 +1,656 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+LayerControl
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="LayerControl";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-LayerControl.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="InsertFeature.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Legend.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="LayerControl.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class LayerControl</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>LayerControl</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>LayerControl</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-LayerControl.js.html'>LayerControl.js</a></I><BR/><BR/><B>Author:</B> adair  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="LayerControl.html#LayerControl()">LayerControl</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to allow control of layer odering, visibility, deletion
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#ChangeImage">ChangeImage</A></B>(id, imageA, imageB)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Change image source from imageA to imageB
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#foldUnfoldGroup">foldUnfoldGroup</A></B>(groupName,id)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#highlightLayer">highlightLayer</A></B>(layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Displays a layer in a preview pane when mouse is over the table row
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#prePaint">prePaint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Override of widget prepaint to set some stylesheet parameters including 
+ featureName (for OWS Context) and hidden attribute.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#refresh">refresh</A></B>(objRef, layerName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Listener method to paint this widget
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#showLayerMetadata">showLayerMetadata</A></B>(layerId)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 not working yet
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#switchVisibilityById">switchVisibilityById</A></B>(id)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Display or fold  the layer's legend
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="LayerControl()"><!-- --></A><H3>
+LayerControl</H3>
+<PRE><B>LayerControl</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to allow control of layer odering, visibility, deletion
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> adair  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="ChangeImage"><!-- --></A>
+   <H3>ChangeImage</H3>
+   <PRE>void <B>ChangeImage</B>(id, imageA, imageB)</PRE>
+   
+      <UL>Change image source from imageA to imageB</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>id</CODE> -   id of image tag where we want to change the source  
+      </UL> 
+   
+     <UL><CODE>imageA</CODE> -    url of imageA  
+      </UL> 
+   
+     <UL><CODE>imageB</CODE> -    url of imageB      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="foldUnfoldGroup"><!-- --></A>
+   <H3>foldUnfoldGroup</H3>
+   <PRE>void <B>foldUnfoldGroup</B>(groupName,id)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="highlightLayer"><!-- --></A>
+   <H3>highlightLayer</H3>
+   <PRE>void <B>highlightLayer</B>(layerId)</PRE>
+   
+      <UL>Displays a layer in a preview pane when mouse is over the table row</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -   the name of the layer to highlight      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="prePaint"><!-- --></A>
+   <H3>prePaint</H3>
+   <PRE>void <B>prePaint</B>(objRef)</PRE>
+   
+      <UL>Override of widget prepaint to set some stylesheet parameters including 
+ featureName (for OWS Context) and hidden attribute.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="refresh"><!-- --></A>
+   <H3>refresh</H3>
+   <PRE>void <B>refresh</B>(objRef, layerName)</PRE>
+   
+      <UL>Listener method to paint this widget</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerName</CODE> -   the name of the layer to highlight      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="showLayerMetadata"><!-- --></A>
+   <H3>showLayerMetadata</H3>
+   <PRE>void <B>showLayerMetadata</B>(layerId)</PRE>
+   
+      <UL>not working yet</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerId</CODE> -   the name of the layer to highlight      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="switchVisibilityById"><!-- --></A>
+   <H3>switchVisibilityById</H3>
+   <PRE>void <B>switchVisibilityById</B>(id)</PRE>
+   
+      <UL>Display or fold  the layer's legend</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>id</CODE> -   id of legend div      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-LayerControl.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="InsertFeature.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Legend.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="LayerControl.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Transaction.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Transaction.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Transaction.html	(revision 4307)
@@ -0,0 +1,378 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Transaction
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Transaction";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Transaction.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="ToolBase.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TransactionResponse.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Transaction.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Transaction</H2>
+<PRE>Object
+   |
+   +--<a href='Listener.html'>Listener</a>
+         |
+         +--<a href='ModelBase.html'>ModelBase</a>
+               |
+               +--<b>Transaction</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Transaction</B>
+   
+      <DT>extends <a href='ModelBase.html'>ModelBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Transaction.js.html'>Transaction.js</a></I><BR/><BR/><B>Author:</B> Mike Adair  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#namespace">namespace</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ModelBase.html">ModelBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ModelBase.html#async">async</a>, <a href="ModelBase.html#contentType">contentType</a>, <a href="ModelBase.html#modelNode">modelNode</a>, <a href="ModelBase.html#id">id</a>, <a href="ModelBase.html#title">title</a>, <a href="ModelBase.html#debug">debug</a>, <a href="ModelBase.html#url">url</a>, <a href="ModelBase.html#method">method</a>, <a href="ModelBase.html#namespace">namespace</a>, <a href="ModelBase.html#template">template</a>, <a href="ModelBase.html#nodeSelectXpath">nodeSelectXpath</a>, <a href="ModelBase.html#config">config</a>, <a href="ModelBase.html#parentModel">parentModel</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="Listener.html">Listener</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="Listener.html#listeners">listeners</a>, <a href="Listener.html#values">values</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Transaction.html#Transaction()">Transaction</A> 
+	 </B>
+	 (modelNode, parent)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Stores a WFS Transaction reponse as defined by the Open Geospatial Consortium
+ (http://www.opengeospatial.org/) (WFS).
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ModelBase.html">ModelBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ModelBase.html#getProperty">getProperty</a>, <a href="ModelBase.html#getXpathValue">getXpathValue</a>, <a href="ModelBase.html#setXpathValue">setXpathValue</a>, <a href="ModelBase.html#loadModelDoc">loadModelDoc</a>, <a href="ModelBase.html#setModel">setModel</a>, <a href="ModelBase.html#finishLoading">finishLoading</a>, <a href="ModelBase.html#newRequest">newRequest</a>, <a href="ModelBase.html#deleteTemplates">deleteTemplates</a>, <a href="ModelBase.html#saveModel">saveModel</a>, <a href="ModelBase.html#createObject">createObject</a>, <a href="ModelBase.html#loadObjects">loadObjects</a>, <a href="ModelBase.html#parseConfig">parseConfig</a>, <a href="ModelBase.html#refresh">refresh</a>, <a href="ModelBase.html#init">init</a>, <a href="ModelBase.html#clearModel">clearModel</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="Listener.html">Listener</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="Listener.html#addListener">addListener</a>, <a href="Listener.html#addFirstListener">addFirstListener</a>, <a href="Listener.html#removeListener">removeListener</a>, <a href="Listener.html#callListeners">callListeners</a>, <a href="Listener.html#setParam">setParam</a>, <a href="Listener.html#getParam">getParam</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="namespace"><!-- --></A>
+   <H3>namespace</H3>
+   <PRE>Object&nbsp;<B>namespace</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Transaction()"><!-- --></A><H3>
+Transaction</H3>
+<PRE><B>Transaction</B>(modelNode, parent)</PRE>
+
+
+<UL>
+   Stores a WFS Transaction reponse as defined by the Open Geospatial Consortium
+ (http://www.opengeospatial.org/) (WFS).  
+ Extends ModelBase, which extends Listener.
+
+ Listeners implemented:
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>modelNode</CODE> -  Pointer to the xml node for this model from the config file.  
+     </UL>
+   
+     <UL><CODE>parent</CODE> -     The parent model for the object.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Mike Adair  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Transaction.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="ToolBase.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TransactionResponse.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Transaction.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/FilterAttributes.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/FilterAttributes.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/FilterAttributes.html	(revision 4307)
@@ -0,0 +1,332 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+FilterAttributes
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="FilterAttributes";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-FilterAttributes.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="FeatureSelectHandler.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="FormBase.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FilterAttributes.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class FilterAttributes</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>FilterAttributes</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>FilterAttributes</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-FilterAttributes.js.html'>FilterAttributes.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="FilterAttributes.html#FilterAttributes()">FilterAttributes</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Parses a WFS DescribeFeatureType response to and provides a form to specify
+ filter parameters.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="FilterAttributes()"><!-- --></A><H3>
+FilterAttributes</H3>
+<PRE><B>FilterAttributes</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Parses a WFS DescribeFeatureType response to and provides a form to specify
+ filter parameters.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-FilterAttributes.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="FeatureSelectHandler.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="FormBase.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FilterAttributes.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/jsdoc.xmi
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/jsdoc.xmi	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/jsdoc.xmi	(revision 4307)
@@ -0,0 +1,64411 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<XMI xmi.version="1.0">
+  <XMI.header>
+    <XMI.documentation>
+      <XMI.exporter>JSDoc XMI Export</XMI.exporter>
+      <XMI.exporterVersion>0.1</XMI.exporterVersion>
+    </XMI.documentation>
+    <XMI.metamodel xmi.name="UML" xmi.version="1.3"/>
+  </XMI.header>
+  <XMI.content>
+    <Model_Management.Model xmi.id="xmi.1" xmi.uuid="10-0-0-5-3605f878:101c2e18bff:-8000">
+      <Foundation.Core.ModelElement.name>JSDoc</Foundation.Core.ModelElement.name>
+      <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+      <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+      <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+      <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+      <Foundation.Core.Namespace.ownedElement>
+        
+        <!-- BEGIN PACKAGES -->
+              
+
+          
+
+            <!-- BEGIN CLASS DESCRIPTIONS -->
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.2" 
+                  xmi.uuid="WCEQ3CbFokO4ZwcuzeHj2Tqv6Z4C7dFA">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>WebServiceForm</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.134"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.107" 
+                      xmi.uuid="dGeUcIs6SVejBIwF6VKUUA3gSSOMytSN">
+                    <Foundation.Core.ModelElement.name>formElements</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.2"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.109" 
+                      xmi.uuid="zInkgCIk78aLJqRdwNJOpJDr7KLOnluq">
+                    <Foundation.Core.ModelElement.name>requestStylesheet</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.2"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.110" 
+                      xmi.uuid="vVuIxeYkyR3ApEU6NnwYtpyGlol39J5i">
+                    <Foundation.Core.ModelElement.name>webServiceUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.2"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.111" 
+                      xmi.uuid="DRXWW70ljNbo36WyjZ5DTeV8qDs4qX0I">
+                    <Foundation.Core.ModelElement.name>webServiceForm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.2"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.112" 
+                      xmi.uuid="zA24pBCN1HqmW1YFGDJOo7yHcXxHkqzr">
+                    <Foundation.Core.ModelElement.name>httpPayload</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.2"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.113" 
+                      xmi.uuid="SJ2B0m2gTvAMOQo0lilw8D3Lc0kYWf1m">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.2"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.114" 
+                      xmi.uuid="sS3lZr2JMOOZD8DJYlHlDrXaL8whxutG">
+                    <Foundation.Core.ModelElement.name>element</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.2"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.115" 
+                      xmi.uuid="HNxjH7D9tflLHy43W7pUC66rd7VC0ruT">
+                    <Foundation.Core.ModelElement.name>layer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.2"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.116" 
+                      xmi.uuid="UopGb14eHu5lBqQKkjKFH8E953y0YikD">
+                    <Foundation.Core.ModelElement.name>namespace</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.2"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.117" 
+                      xmi.uuid="ssT7EsFgEd1dE4kf5rXufW36FFZ3vcXy">
+                    <Foundation.Core.ModelElement.name>getFeature</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.2"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.118" 
+                      xmi.uuid="T7LwAIA1JQV2p3MrKuZOT4bNoRTqzJ6W">
+                    <Foundation.Core.ModelElement.name>formName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.2"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.119" 
+                      xmi.uuid="jCCmsYPUjjV7pEzhFJQXnsssaDhoAHdw">
+                    <Foundation.Core.ModelElement.name>featureSRS</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.2"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.120" 
+                      xmi.uuid="a95K9ZDY3zh4rQCBM81vm7GfW9DlrcPD">
+                    <Foundation.Core.ModelElement.name>containerSRS</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.2"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.121" 
+                      xmi.uuid="QOAZrZPeAveDUMvkXhLNxxq4ODk0wFt7">
+                          
+                      <Foundation.Core.ModelElement.name>submitForm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.122" 
+                          xmi.uuid="6Bl6RPk4OGoFbhvrGx5IHH89h0icYwul">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.124" 
+                      xmi.uuid="rxFmMiXPeT1mNCFlluRlnSUZ57oQ2cJS">
+                          
+                      <Foundation.Core.ModelElement.name>handleKeyPress</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.125" 
+                          xmi.uuid="ZzEFFYfdr2vicKcUsgJTos8n2Ns39aYG">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.126" 
+                      xmi.uuid="YzbW4v2pYckGf6yzejfJdjnV7DNnNvrf">
+                          
+                      <Foundation.Core.ModelElement.name>postPaint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.127" 
+                          xmi.uuid="s0hdtoHILu8aZKngndPy2LwePuyPcoG9">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.128" 
+                      xmi.uuid="HLZJe7rdwKG411Z1n7J15qgXa0ymp9Gp">
+                          
+                      <Foundation.Core.ModelElement.name>prePaint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.129" 
+                          xmi.uuid="QjBeh2Y0uIzPLL8PtaU8jP9U6XjfDwNv">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.130" 
+                      xmi.uuid="wMjtBRNLxSJ9MfBGorvivmhf4Rt5E4BP">
+                          
+                      <Foundation.Core.ModelElement.name>setAoiParameters</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.131" 
+                          xmi.uuid="eQ8BDXes0Xx3L3QQ9XaeFRUUFnktBqSJ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.132" 
+                      xmi.uuid="hUEO2iiZi27xm2DZnRTeGzx4fHFzgnaQ">
+                          
+                      <Foundation.Core.ModelElement.name>init</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.133" 
+                          xmi.uuid="m6TuibhitWMXBje7kjOOJAWLVMDidVEW">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.3" 
+                  xmi.uuid="LVHbzB0hFtrSoA9639dUv7OHQlGv7VHw">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>GeoRSS</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.168"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.135" 
+                      xmi.uuid="pZkelKmiCEUQR7WTIrILzPQa9jm9l5sr">
+                    <Foundation.Core.ModelElement.name>items</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.3"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.136" 
+                      xmi.uuid="uh5aVJ7ipSTdu2YTwSXS62AeoTmV4Vtk">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.3"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.137" 
+                      xmi.uuid="p1VBLgGRwnsDrW5MRYaz0N33AOhgCuRa">
+                    <Foundation.Core.ModelElement.name>item</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.3"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.138" 
+                      xmi.uuid="ZWnZH9XMSsXzBsRB7bYeA5S1iX5giaqI">
+                    <Foundation.Core.ModelElement.name>labelNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.3"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.139" 
+                      xmi.uuid="KZ8AtsG3bhwBfAf2jA0mFvJlmvIal2dv">
+                    <Foundation.Core.ModelElement.name>id</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.3"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.140" 
+                      xmi.uuid="hJux9hSMgKWXNXmExWSpuaIbNxwACStw">
+                    <Foundation.Core.ModelElement.name>pointX</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.3"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.141" 
+                      xmi.uuid="9KdOrqRrZFpKAo3wXjTxTHiv7hYSHqnR">
+                    <Foundation.Core.ModelElement.name>pointY</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.3"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.142" 
+                      xmi.uuid="JOol6ZGEecGq4MHxFvpDrbtApLp98cXN">
+                    <Foundation.Core.ModelElement.name>pos</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.3"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.143" 
+                      xmi.uuid="QQwDNA2yjCXddXwgWD8ZPsEGFV62qwBd">
+                    <Foundation.Core.ModelElement.name>coordstr</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.3"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.144" 
+                      xmi.uuid="gOZ9d15yH2kPD2VI4gdhywzTSjWDPN5J">
+                    <Foundation.Core.ModelElement.name>coords</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.3"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.145" 
+                      xmi.uuid="kaJJB35LUrEZMyZJ31WhvSNWLhKKCOMi">
+                    <Foundation.Core.ModelElement.name>posList</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.3"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.146" 
+                      xmi.uuid="8l2GJ5nFuOxNqu846OAHRSfzpnrYI7dV">
+                    <Foundation.Core.ModelElement.name>children</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.3"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.147" 
+                      xmi.uuid="kh1bqi1xnBor4Wgq7iA6cZWHAMnnP21j">
+                    <Foundation.Core.ModelElement.name>count</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.3"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.148" 
+                      xmi.uuid="HbAOZ34l0QEH1MUhuK8cvUGhqDpMcqRs">
+                    <Foundation.Core.ModelElement.name>text</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.3"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.149" 
+                      xmi.uuid="oqJXFwNMdIrRV3f2M2IuX4T2luu2kFyr">
+                    <Foundation.Core.ModelElement.name>where</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.3"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.150" 
+                      xmi.uuid="IiXFq8mqCJcJ5fO0jV15seWOxJlaQ0d1">
+                    <Foundation.Core.ModelElement.name>gml</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.3"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.151" 
+                      xmi.uuid="6OZVDsoMbAelGg1NK7shC5KTSqrZuoK2">
+                    <Foundation.Core.ModelElement.name>icon</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.3"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.152" 
+                      xmi.uuid="buCasSiIaZiZCsDSN4mlDs92t1wmfUzt">
+                          
+                      <Foundation.Core.ModelElement.name>initItems</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.153" 
+                          xmi.uuid="kSoZU9S3vbWIvw1N80mjq8Zy4kiqS42j">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.154" 
+                      xmi.uuid="hYn1FBRXF5Wkz35UPsg09cUQPvLPMy3l">
+                          
+                      <Foundation.Core.ModelElement.name>getFeatureNodes</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.155" 
+                          xmi.uuid="QcJUy7K1URVBR4d4BNQY1VMVLctcNMb2">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.156" 
+                      xmi.uuid="KOkDF3Ou0Wm1YnbBaROyPNP9Rkj9mOWO">
+                          
+                      <Foundation.Core.ModelElement.name>getFeatureName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.157" 
+                          xmi.uuid="1nap8V9oK19OeigoEYOhDs8ZgJnU7g63">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.158" 
+                      xmi.uuid="oay6x0MOUqN9jvT9ZyTbZUdkNyrj3msY">
+                          
+                      <Foundation.Core.ModelElement.name>getFeatureId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.159" 
+                          xmi.uuid="fTcZjFOiDuaoEcKEnkXnyCSaAOiihbNN">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.160" 
+                      xmi.uuid="g3ZWYA2KOA3qXUecnlrmh668il7iwGEh">
+                          
+                      <Foundation.Core.ModelElement.name>getFeaturePoint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.161" 
+                          xmi.uuid="27CgjRWidpvtjugYaVCn8t4Ne80H8RY0">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.162" 
+                      xmi.uuid="Ywz9rz2dzsRRwygwjrueHShEs2DosPQq">
+                          
+                      <Foundation.Core.ModelElement.name>getFeatureGeometry</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.163" 
+                          xmi.uuid="joiEXnVkrstIzIm6OYgXJ8I0LlVC7dmM">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.164" 
+                      xmi.uuid="GWISDot8wvFgmk78GqMQHLG0FxFFIkPw">
+                          
+                      <Foundation.Core.ModelElement.name>getFeatureGml</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.165" 
+                          xmi.uuid="7F3TS9cAQ0Xwinh48g5VjZVmU0B6vREh">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.166" 
+                      xmi.uuid="BEj8WPb9IRjx3sSmO3p9cwjTeY0U7Wr9">
+                          
+                      <Foundation.Core.ModelElement.name>getFeatureIcon</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.167" 
+                          xmi.uuid="JvnRKFRSkkVFJT4V71Dt793dHt11bsJZ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.4" 
+                  xmi.uuid="xwahb39NnZScP26FApRximcHlZVAbl2e">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>FeatureCollection</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.212"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.344"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.169" 
+                      xmi.uuid="NUgYZu6J07Fd2ehehbtp7GKYBiGSLq9m">
+                    <Foundation.Core.ModelElement.name>featureTagName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.170" 
+                      xmi.uuid="FWBGkfTyNYBamijysFbOUzkI6hmFKaua">
+                    <Foundation.Core.ModelElement.name>coordsTagName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.171" 
+                      xmi.uuid="sTEhJHskLugGJAUMyySzeB3UHOijDWNK">
+                    <Foundation.Core.ModelElement.name>nodeSelectXpath</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.172" 
+                      xmi.uuid="vfHiXFZzy2CGUmmCUuH9OrAX4urVZiUF">
+                    <Foundation.Core.ModelElement.name>coordSelectXpath</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.173" 
+                      xmi.uuid="bFmKqPrfE335O3dvvLYJobvK3tUT475s">
+                    <Foundation.Core.ModelElement.name>coordNodes</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.174" 
+                      xmi.uuid="RwZ1udxsWijgO8JnL7ExrUPLE99BkGUV">
+                    <Foundation.Core.ModelElement.name>srsNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.175" 
+                      xmi.uuid="X9d3M66b9R0z9K27hg12ndPFN4rXdh2F">
+                    <Foundation.Core.ModelElement.name>sourceProj</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.176" 
+                      xmi.uuid="P4YpXMERF8enRh0S1Ckfuytp1DsyJn9Y">
+                    <Foundation.Core.ModelElement.name>containerProj</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.177" 
+                      xmi.uuid="BxTGsxkcUnvRD92NBJH2AooDehVx2OFE">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.178" 
+                      xmi.uuid="XWZHLvzsEmWBIhX2d7Ul4SgWSsv6icNr">
+                    <Foundation.Core.ModelElement.name>coords</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.179" 
+                      xmi.uuid="yW6ASifeevY7K9EPkbmJQafoKgoMQmdk">
+                    <Foundation.Core.ModelElement.name>coordsArray</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.180" 
+                      xmi.uuid="hJ5ANB2B7OltQ22G8OcxToPJNLuwlI7L">
+                    <Foundation.Core.ModelElement.name>newCoords</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.181" 
+                      xmi.uuid="2lMwcp9uXCqyyzksQzjljvGFegbRqd07">
+                    <Foundation.Core.ModelElement.name>j</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.182" 
+                      xmi.uuid="K2MDo7hkAd6aH9wW9CB6HJScbrLW5Svs">
+                    <Foundation.Core.ModelElement.name>xy</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.183" 
+                      xmi.uuid="HnKI4EzgAF3RCHdV7CAEs9VkWl2pWiOe">
+                    <Foundation.Core.ModelElement.name>pt</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.184" 
+                      xmi.uuid="2CBkOgWDcoPtlr58mgjNJeXnidJZ2qqv">
+                    <Foundation.Core.ModelElement.name>featureTypes</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.185" 
+                      xmi.uuid="UNl4gThFVr4zigWFBj7pf70yoXl991RT">
+                    <Foundation.Core.ModelElement.name>httpPayload</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.186" 
+                      xmi.uuid="SivRs68b24W10hudrfCfuCFokx8fcZZX">
+                    <Foundation.Core.ModelElement.name>wfsFeature</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.187" 
+                      xmi.uuid="yZnMb34AmJ3rIDatHfFOHdNwnLMKdDBc">
+                    <Foundation.Core.ModelElement.name>server</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.188" 
+                      xmi.uuid="SoxVxFQeIdZiKK5RMR3D5X6AMeWirhkY">
+                    <Foundation.Core.ModelElement.name>onlineResource</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.189" 
+                      xmi.uuid="AlrYntvmhkD0MrhlOZQJB0ryqru71C4L">
+                    <Foundation.Core.ModelElement.name>query</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.190" 
+                      xmi.uuid="N15yHLuOTUSHRIIo5vgZxCm7AekaM1e4">
+                    <Foundation.Core.ModelElement.name>hidden</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.191" 
+                      xmi.uuid="ngsxiH8qGu2QnRrl7ntX2y82Qo30d86j">
+                    <Foundation.Core.ModelElement.name>labelNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.192" 
+                      xmi.uuid="nSUKoxN88AU0xzGtd2zgJgU2HyG403x6">
+                    <Foundation.Core.ModelElement.name>point</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.193" 
+                      xmi.uuid="w1mREqtdY6Se8krfJxTuxpOKJ00ATWTU">
+                    <Foundation.Core.ModelElement.name>geometryTag</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.4"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.194" 
+                      xmi.uuid="FShIO9nQwmTnAu7AVGGOXil4DnT67QxZ">
+                          
+                      <Foundation.Core.ModelElement.name>convertCoords</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.195" 
+                          xmi.uuid="hw3PpuG8yQdQqqFamf0d8ri01c4rwg93">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.196" 
+                      xmi.uuid="VJz1YuVWNUo2t4r5cbOzjiKAxwh8dIsU">
+                          
+                      <Foundation.Core.ModelElement.name>loadWfsRequests</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.197" 
+                          xmi.uuid="n7q376sUZCem0fTlTYB7SraHYkEwjNys">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.198" 
+                      xmi.uuid="qNqMcwUujz5jroEwyb8C8cP8HRbtmGSQ">
+                          
+                      <Foundation.Core.ModelElement.name>setHidden</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.199" 
+                          xmi.uuid="hs1mS83njfjH5tKbdUXwe9ofN88hzjq5">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.200" 
+                      xmi.uuid="eIuTzTAHTMjq6ii2XppIjt76MUYFlIsE">
+                          
+                      <Foundation.Core.ModelElement.name>getHidden</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.201" 
+                          xmi.uuid="megywrz273VU66asX4gARbUdbB9vkRGD">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.202" 
+                      xmi.uuid="PgwflZBVjAzzirv4VNEZ8gDFbbaUp7rx">
+                          
+                      <Foundation.Core.ModelElement.name>getFeatureNodes</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.203" 
+                          xmi.uuid="pcrudeJNlcfkw00M9Mnv75TFSKuDZ6zN">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.204" 
+                      xmi.uuid="ioAWXWZ62pADnI0kgnftkSydmwIfcf02">
+                          
+                      <Foundation.Core.ModelElement.name>getFeatureName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.205" 
+                          xmi.uuid="rgO3wtqaUIk82AQRFwQ7I4rM1RrXWz6U">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.206" 
+                      xmi.uuid="gitEUZDoQ98DlmciABOg9iWRH2DLdyOp">
+                          
+                      <Foundation.Core.ModelElement.name>getFeatureId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.207" 
+                          xmi.uuid="0bCRNsfoaFKm7lFHm4TSuXqqDfD2IqCy">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.208" 
+                      xmi.uuid="ZVFAhpPRfBxgjjqeJbF3hwAMngIW65XE">
+                          
+                      <Foundation.Core.ModelElement.name>getFeaturePoint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.209" 
+                          xmi.uuid="sTgTSrIXhvHKOk6yJDQnT7o8wS76b9uU">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.210" 
+                      xmi.uuid="gvIhgToxoJxuMTYkvfVETwEH53kowVMh">
+                          
+                      <Foundation.Core.ModelElement.name>getFeatureGeometry</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.211" 
+                          xmi.uuid="wMPrzKGrwEPhuBk9voteePi3co4hvUd3">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.5" 
+                  xmi.uuid="O6MPLEXwvctfhhvFcL3CNJsB85zu8ZiO">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>EditPolygon</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.215"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.213" 
+                      xmi.uuid="OH4nOevwO2I47rGfGELwwgXopoYtNDVL">
+                          
+                      <Foundation.Core.ModelElement.name>instantiateControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.214" 
+                          xmi.uuid="eiYIs3d4CNTMXDKNbEiaUFQORD2FELqf">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.6" 
+                  xmi.uuid="4KfWXoOkfpR8j7Ugo374hlHOOQxisNdK">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>TipWidgetBase</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.216"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.323"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1655"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.7" 
+                  xmi.uuid="VBeRF0d6B22NrwGWYktsnRmtdByv7gNn">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>ServiceRegistryList</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.225"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.217" 
+                      xmi.uuid="h8yxbar1piVfswgtTWgBT6tzUTmAasf3">
+                    <Foundation.Core.ModelElement.name>webServiceUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.7"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.218" 
+                      xmi.uuid="0F4sebWrGBWkU3iZnsUk0S45IElx8PLr">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.7"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.219" 
+                      xmi.uuid="RZChGl8aaa28PMU2NI8fQDjv7xvbYtPi">
+                    <Foundation.Core.ModelElement.name>element</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.7"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.220" 
+                      xmi.uuid="LsIbQ5riYujxDYjanzymiCjf4UHdJwb1">
+                    <Foundation.Core.ModelElement.name>formName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.7"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.221" 
+                      xmi.uuid="aewHGlMjgeDpX22ixSw1AK4ZtZXDfXt1">
+                          
+                      <Foundation.Core.ModelElement.name>submitForm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.222" 
+                          xmi.uuid="C9L03F87oRn7syCflxpNmebn0eYIt4Rv">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.223" 
+                      xmi.uuid="bgOZwU30V715e4RKDmzoiCxkwRkvmnck">
+                          
+                      <Foundation.Core.ModelElement.name>postPaint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.224" 
+                          xmi.uuid="MkfPYKTSowrOxIq8dX8qwuRZ9nOBDyQR">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.8" 
+                  xmi.uuid="MkkYLIRD37YiVBRRK9kynJHDACwMAcya">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Config</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.260"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.226" 
+                      xmi.uuid="dMBvzEXFoZ7UHGdsHxSrmOddKe6gfYTZ">
+                    <Foundation.Core.ModelElement.name>doc</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.227" 
+                      xmi.uuid="aOwIKSrc1ycqS0LCQNvMKC8WeE6GBR5B">
+                    <Foundation.Core.ModelElement.name>xmlhttp</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.228" 
+                      xmi.uuid="tZYbNuZMJuxgwoH1spy9mS7AKvXk2uMi">
+                    <Foundation.Core.ModelElement.name>url</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.229" 
+                      xmi.uuid="hVZ50bcRHbasAfBAh93UE9MyQCV0BlgX">
+                    <Foundation.Core.ModelElement.name>namespace</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.230" 
+                      xmi.uuid="Yrped9wnBSWocm1oeFsLk3cyBuNb1C95">
+                    <Foundation.Core.ModelElement.name>configDoc</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.231" 
+                      xmi.uuid="iX41WcybTHVkSkAJbIbeM3R1SpfNe7SV">
+                    <Foundation.Core.ModelElement.name>proxyUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.232" 
+                      xmi.uuid="50DB5SePpUNk0vfll908Rk5znVie3aDQ">
+                    <Foundation.Core.ModelElement.name>serializeUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.233" 
+                      xmi.uuid="YtAevhSfwcSPKGLGZHE4qWViluQgiCQf">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.234" 
+                      xmi.uuid="zV9wqHK3oBT0XAz1XweiT3StjGlgIeFw">
+                    <Foundation.Core.ModelElement.name>scriptFileNodes</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.235" 
+                      xmi.uuid="YfbwQeK8rg7bO5WtfuDZZIjdzcO3hIoQ">
+                    <Foundation.Core.ModelElement.name>defaultLang</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.236" 
+                      xmi.uuid="oUdRnQJyXvPYRz93rLoQQqV5LoxJ0qeW">
+                    <Foundation.Core.ModelElement.name>lang</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.237" 
+                      xmi.uuid="7X0YoTMwfYdsVXSymMIFvqrk2zc27yuI">
+                    <Foundation.Core.ModelElement.name>modelNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.238" 
+                      xmi.uuid="dllLYp5RMtu2rFbVsaSfHBCm8YCf1GDC">
+                    <Foundation.Core.ModelElement.name>skinDir</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.239" 
+                      xmi.uuid="pxAH8Ct4hzglXEIIoScYpJ6v8iWKqvPU">
+                    <Foundation.Core.ModelElement.name>widgetFile</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.240" 
+                      xmi.uuid="a0azrNuVquW5P45LwfD2zI0XHTQKaosr">
+                    <Foundation.Core.ModelElement.name>widgetTextUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.241" 
+                      xmi.uuid="cZQjjx4i6NuOVADsL51b2aBIuAzuUFnm">
+                    <Foundation.Core.ModelElement.name>xmlString</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.242" 
+                      xmi.uuid="lVAGAEiCGWYwtBvHn1GlOrhpWPNWLJtA">
+                    <Foundation.Core.ModelElement.name>errMsg</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.243" 
+                      xmi.uuid="KuNNJHPLy0R9y6LVNyWeYje9zgrL7jCY">
+                    <Foundation.Core.ModelElement.name>widgetText</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.244" 
+                      xmi.uuid="OorkNCFrOKPNHIfMzSQKQTH2IIbWiDFm">
+                    <Foundation.Core.ModelElement.name>userWidgetText</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.245" 
+                      xmi.uuid="MLogXeTKnSjgd91SQg6tVaV0d2VL5aJ7">
+                    <Foundation.Core.ModelElement.name>userWidgets</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.246" 
+                      xmi.uuid="8pxy1RSnYaxnwrjuY8ZONREZxzoOMG9p">
+                    <Foundation.Core.ModelElement.name>configWidgets</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.247" 
+                      xmi.uuid="mCvfdPzZ3MlE9d6cosfW4g2pkJpXLPeJ">
+                    <Foundation.Core.ModelElement.name>userMessages</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.248" 
+                      xmi.uuid="jDP4VR91s3Hb65cby2CzdmrLS2Nt3c1a">
+                    <Foundation.Core.ModelElement.name>configMessages</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.249" 
+                      xmi.uuid="UFiXKk7Y8KF2IAkdDnLxlKqb3pNciE0M">
+                    <Foundation.Core.ModelElement.name>objects</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.250" 
+                      xmi.uuid="tnybjBtXq0fpd66yMaPsVSBPBr7gd5VS">
+                    <Foundation.Core.ModelElement.name>model</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.251" 
+                      xmi.uuid="nNkk82sYWCL9E1GUVwwTz2FAaTjYe2Fs">
+                    <Foundation.Core.ModelElement.name>httpPayload</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.8"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.252" 
+                      xmi.uuid="PSSftbAW0fq2xVqurQxCOwgu2AKjOjv8">
+                          
+                      <Foundation.Core.ModelElement.name>loadConfigScripts</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.253" 
+                          xmi.uuid="2V28lQ06BTSOEmLHoBkql9mERDEG7MHG">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.254" 
+                      xmi.uuid="UBOFbGi38mRONz9fMffRBvhBic43WZo6">
+                          
+                      <Foundation.Core.ModelElement.name>loadWidgetText</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.255" 
+                          xmi.uuid="kjGQkfwnB2LfR3RAmvWVjj7ieqpKoFHF">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.256" 
+                      xmi.uuid="SMjk9MGxMLe7RS4xR81XqKkJRgkczgqI">
+                          
+                      <Foundation.Core.ModelElement.name>loadModel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.257" 
+                          xmi.uuid="isBxVA8Cf7RO2lUkAbjlQd8CT2H7TPAj">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.258" 
+                      xmi.uuid="YLyv7pJspsK1m7dKW47HMcLedpoWZUv5">
+                          
+                      <Foundation.Core.ModelElement.name>paintWidget</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.259" 
+                          xmi.uuid="g1PfWIU6uVWGZLnShS5Lo09ppfW6fbOr">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.9" 
+                  xmi.uuid="6EWvAtPdMZ6Tz3UpKwh2rDqq8ssS5IWW">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Model</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.261"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.10" 
+                  xmi.uuid="tXEGh0D3p0TKYPGQ0UGB0odJ3CNNeKtN">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>FeatureInfo</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.264"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.262" 
+                      xmi.uuid="qwAfCePtZzvSxtduXcdaxLk0ThxO02Je">
+                          
+                      <Foundation.Core.ModelElement.name>setAttr</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.263" 
+                          xmi.uuid="GFtjBap1Y8Q7LclS2kwSIkzDnaTUYkJB">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.11" 
+                  xmi.uuid="cXwNZ9Gy6shzJoSXlgTIR074W62UDN6O">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>SelectFromAtomFeed</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.267"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.265" 
+                      xmi.uuid="To13FoLSM99FDkpGdm1rSRcXHHLYmrZ7">
+                          
+                      <Foundation.Core.ModelElement.name>switchModel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.266" 
+                          xmi.uuid="8jDVkRnxAGOh5m9bi6MZBFHVFwpL4xnN">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.12" 
+                  xmi.uuid="bUJ9UBwSqAY7l2b4EPA6DjFTnQsSgqT8">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>MergeModels</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.284"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.268" 
+                      xmi.uuid="Ek0m68s6Kk8lo07Xb39QCenGsZnMezu9">
+                    <Foundation.Core.ModelElement.name>template</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.12"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.269" 
+                      xmi.uuid="mxQ7JabHIfcxVp0HzhXnzMaTMTxZWqrY">
+                    <Foundation.Core.ModelElement.name>models</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.12"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.270" 
+                      xmi.uuid="7MSYz4sOW9kzferFs3oT54guDTWTPx5i">
+                    <Foundation.Core.ModelElement.name>model</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.12"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.271" 
+                      xmi.uuid="FbHic0B6LGS0eQ9Z8EnLwr3aguROZkgi">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.12"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.272" 
+                      xmi.uuid="48oO3CFPJITD0s2F9L05elo2D876pj19">
+                    <Foundation.Core.ModelElement.name>docToMerge</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.12"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.273" 
+                      xmi.uuid="WuP4hjiztXf5L617RZNMHgwwRHDlZTdg">
+                    <Foundation.Core.ModelElement.name>nodes</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.12"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.274" 
+                      xmi.uuid="I6LxrtSUT8wt20i0LU3gnSi1sF8JZrYc">
+                          
+                      <Foundation.Core.ModelElement.name>init</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.275" 
+                          xmi.uuid="07edYXt6HNwHvaP76yw5eYiXhUh6OIlT">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.276" 
+                      xmi.uuid="2Uj3eH51i4M3s1wd9EzYh1SpF3VEh40X">
+                          
+                      <Foundation.Core.ModelElement.name>getTemplate</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.277" 
+                          xmi.uuid="eACOFLnDcMu2XY6YjUFH18bOcJSyzabH">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.278" 
+                      xmi.uuid="wjd1S2H5lY2JiHZlihvd5AtGr2tpJ2p0">
+                          
+                      <Foundation.Core.ModelElement.name>addModel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.279" 
+                          xmi.uuid="xtcPb12SWUEI3ZHFk5z7dvRjRA6tTeF5">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.280" 
+                      xmi.uuid="hvUGSFMLas4LLXHgbcmk1R4OFoCiDVSb">
+                          
+                      <Foundation.Core.ModelElement.name>mergeModel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.281" 
+                          xmi.uuid="HSTSEStGxAx666B4sEDdILibk6URfxyV">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.282" 
+                      xmi.uuid="vDbBTel6xLMTp7ujt54xfT0BpDJU4WRF">
+                          
+                      <Foundation.Core.ModelElement.name>buildModel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.283" 
+                          xmi.uuid="Fzt0esvdQM5IUy6UyZj7p8wcn98XdVxr">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.13" 
+                  xmi.uuid="FhP9p65eCVmYbPwxkK4GUYdRxpG2dzmS">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Widget</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.285"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.14" 
+                  xmi.uuid="aaYVoPhcNAVUjqUK5yryv2E4Ooo0iYAR">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>ToolBase</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.476"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.736"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1718"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.401"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.357"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.284"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1178"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.682"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1582"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.286" 
+                      xmi.uuid="hU81TDbzFpg3XeQzwtBSdJvyLULJKRYn">
+                    <Foundation.Core.ModelElement.name>model</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.14"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.287" 
+                      xmi.uuid="3Prnhto3pOzN1BRnljVi5c6BlnYNbRkE">
+                    <Foundation.Core.ModelElement.name>toolNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.14"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.288" 
+                      xmi.uuid="LxVYFLqXwWcWaluAvxcKYoU3XJnE26lX">
+                    <Foundation.Core.ModelElement.name>id</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.14"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.289" 
+                      xmi.uuid="jBQoN0CYFbaFDHHjd4LGwQcdm5jzppOa">
+                    <Foundation.Core.ModelElement.name>targetModel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.14"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.290" 
+                      xmi.uuid="8KtMSnUNVZK8PmlxwyA6th92qkWr5BUe">
+                    <Foundation.Core.ModelElement.name>targetModelName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.14"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.291" 
+                      xmi.uuid="Vrib9WagoJHdGgdAAvOUhOdRREUIQ68O">
+                    <Foundation.Core.ModelElement.name>mouseHandler</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.14"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.292" 
+                      xmi.uuid="4Vd0kDXVK6uaM7qbUaSzdozIP17sdOF2">
+                    <Foundation.Core.ModelElement.name>enabled</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.14"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.293" 
+                      xmi.uuid="mX2X1uLYhRgRmiRzorgyyRUwbpTMm1KO">
+                          
+                      <Foundation.Core.ModelElement.name>initTargetModel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.294" 
+                          xmi.uuid="V4WG9LgW20MEoU7zzdDAVsVSVmBGAlYv">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.295" 
+                      xmi.uuid="WcglM9QUm1K6wMW7DNM3kMj4uHcltdui">
+                          
+                      <Foundation.Core.ModelElement.name>initMouseHandler</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.296" 
+                          xmi.uuid="pdioOwzRliHUVhqmid1xaY6iD1pCGepZ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.297" 
+                      xmi.uuid="WIOvtpgyXCr7XP9apOp5fzH01tRdjQpo">
+                          
+                      <Foundation.Core.ModelElement.name>getProperty</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.298" 
+                          xmi.uuid="INk2UykrdNlON3qp2L4ABhnbA9VHh2WJ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.15" 
+                  xmi.uuid="pD48sQOzCNhnPi3FjyN1VYir57KvvmqN">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>WfsGetFeature</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.318"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.299" 
+                      xmi.uuid="Dqq5a4dEa2nXWh3rkcMn2o8qhT10h8Sd">
+                    <Foundation.Core.ModelElement.name>widgetNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.15"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.300" 
+                      xmi.uuid="WKhEbt1RAkvIvwYMeJq70IulU1I0gdUp">
+                    <Foundation.Core.ModelElement.name>trm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.15"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.301" 
+                      xmi.uuid="D2WIyE9YNPXAOQGGqZ5ucrRbCpoLV3Ri">
+                    <Foundation.Core.ModelElement.name>httpPayload</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.15"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.302" 
+                      xmi.uuid="kEX90UDrevImzE0jK0d4qPkEj9qVyKJn">
+                    <Foundation.Core.ModelElement.name>typeName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.15"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.303" 
+                      xmi.uuid="ygPiVlBCraCZIaHIQtDqqGJodSUo9w77">
+                    <Foundation.Core.ModelElement.name>maxFeatures</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.15"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.304" 
+                      xmi.uuid="tSYmgr5TX1e31TSx1W3Bs7NajT8LusOz">
+                    <Foundation.Core.ModelElement.name>webServiceUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.15"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.305" 
+                      xmi.uuid="1nG05Qx1YBue9NAUqWQZuBCuS9bXUE9i">
+                    <Foundation.Core.ModelElement.name>webServiceSrs</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.15"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.306" 
+                      xmi.uuid="AB9o5JnLdjUBPYZuJxfzh5PqFiP0SI0G">
+                    <Foundation.Core.ModelElement.name>cursor</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.15"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.307" 
+                      xmi.uuid="sTLTYzCiLczwQKkFETDMTxVmfhkoaDVv">
+                    <Foundation.Core.ModelElement.name>transactionResponseModel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.15"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.308" 
+                      xmi.uuid="GE41xQCyxtqa31qWE2DzK4XkbseCJIhv">
+                    <Foundation.Core.ModelElement.name>Control</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.15"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.309" 
+                      xmi.uuid="R1wSipTQbnRXPwWn5xFgzvipATmg5l56">
+                    <Foundation.Core.ModelElement.name>handler</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.15"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.310" 
+                      xmi.uuid="Q9bjztytV8KDDt1mWLVgMkO4fxSZ8DVN">
+                    <Foundation.Core.ModelElement.name>queryList</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.15"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.311" 
+                      xmi.uuid="cACxhvsePqcegldEEn3OQPsXKMLwCSdN">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.15"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.312" 
+                      xmi.uuid="gk3WuWrm3sX7hlj1Bmht3ub522GrrANs">
+                    <Foundation.Core.ModelElement.name>layerNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.15"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.313" 
+                      xmi.uuid="8dDOX1tH2GF7nZB14yp821H2qxkJconQ">
+                    <Foundation.Core.ModelElement.name>layerName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.15"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.314" 
+                      xmi.uuid="HgMDUcAcPWdB8BRUIOpDznAWWWi9WSze">
+                    <Foundation.Core.ModelElement.name>layerId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.15"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.315" 
+                      xmi.uuid="k0Lkw8a0rEcKNopXvYcyc3T2prtspqWq">
+                    <Foundation.Core.ModelElement.name>hidden</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.15"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.316" 
+                      xmi.uuid="VQ92AXWCiwB6cGey8HZtllxRsfKQzGkF">
+                          
+                      <Foundation.Core.ModelElement.name>createControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.317" 
+                          xmi.uuid="WkhuS9yvGE5KCRU4mkgJpOQ5AQekhpgV">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.16" 
+                  xmi.uuid="gTpCdUyr99FcXTHxMuAo0BcdkMQRJVv1">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>SelectFeatureType</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.319"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.17" 
+                  xmi.uuid="YS6IgtcMyolFnmWqAM83pPys4bJ5GPtH">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>ZoomOut</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.320"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.18" 
+                  xmi.uuid="Lk2Vrf9UtJk4jnOojYnkdVeBtAGjz3F6">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Transaction</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.322"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.321" 
+                      xmi.uuid="jWzcyCd2ZlYo9nvVRKn1CFa1v6S9ioe0">
+                    <Foundation.Core.ModelElement.name>namespace</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.18"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.19" 
+                  xmi.uuid="pGQNETsj8s39m64Lj2yxOhi9bXRylAbM">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>TipWidgetOL</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.323"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.20" 
+                  xmi.uuid="zru48TkPIPHNdbuh7eLZ3MGsRnvrmQig">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Version</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.324"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.21" 
+                  xmi.uuid="v5V52BtTcBsqheeXpmPuduEmYReVR41l">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Timestamp</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.329"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.325" 
+                      xmi.uuid="WyubcJjF0AEtI9l1ZTiZQHnntO8S9aiu">
+                    <Foundation.Core.ModelElement.name>formName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.21"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.326" 
+                      xmi.uuid="xVsBAhsbCzIhh45bcztMGHAfa0R87yvz">
+                    <Foundation.Core.ModelElement.name>form</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.21"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.327" 
+                      xmi.uuid="YHTXkR0XZRuQKDp63RgSvXAYoFdNQdyd">
+                          
+                      <Foundation.Core.ModelElement.name>updateTimestamp</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.328" 
+                          xmi.uuid="zTfD3fmzqZ7OKMfCTBda35EL3fUGa8cF">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.22" 
+                  xmi.uuid="8faRL0aaGgsekco1mLllc2JvldpW19i5">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Loading</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.333"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.330" 
+                      xmi.uuid="KEFmtmCheuZOtHw0Lum08B48HL090M0I">
+                    <Foundation.Core.ModelElement.name>node</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.22"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.331" 
+                      xmi.uuid="GHxBZtCLgk8qUkNxO0NgAU1jQ36eYXIw">
+                          
+                      <Foundation.Core.ModelElement.name>paint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.332" 
+                          xmi.uuid="GK7d2KLUM600xzuQkl5pmax6B3KTncbs">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.23" 
+                  xmi.uuid="GaiIwWi4dOUuVCv5gLA0CBEv0w05Iqvp">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>ShowDistance</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.339"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.334" 
+                      xmi.uuid="5lBDm6sY066dHpMeDb0DOOYSLbsBpzoB">
+                    <Foundation.Core.ModelElement.name>distForm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.23"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.335" 
+                      xmi.uuid="Rg5Yiji8XHKrLpehVneIx1P1kWtd5hW0">
+                    <Foundation.Core.ModelElement.name>totalDistance</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.23"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.336" 
+                      xmi.uuid="IM5NDJIUkhDGrSfwh4rTmq3zAgLWsmHl">
+                    <Foundation.Core.ModelElement.name>formName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.23"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.337" 
+                      xmi.uuid="urcsR3SCstYKrznauu9GBkGqqxboHimK">
+                          
+                      <Foundation.Core.ModelElement.name>showDistance</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.338" 
+                          xmi.uuid="AY0KW5Qa4isAMEg3VKTchpTxN31LD2pb">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.24" 
+                  xmi.uuid="jNKKj22UzysY8vJjeArRJTlMRoaE3yWS">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>SelectAllMapLayers</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.340"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.25" 
+                  xmi.uuid="PEXrMvAECTm1emp8F1lDWNE7gBaha3HO">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>OwsCatResources</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.344"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.341" 
+                      xmi.uuid="IXRYT4gV76BOoZW9rDF7jRGt6c9L1oPI">
+                    <Foundation.Core.ModelElement.name>namespace</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.25"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.342" 
+                      xmi.uuid="ExvpaWXfhTk3jpddGZtHNe1ynwrfNSl9">
+                          
+                      <Foundation.Core.ModelElement.name>getFeatureNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.343" 
+                          xmi.uuid="x23H1FVmfUMoTWJ3v8fQXz2XFp0Jvqhh">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.26" 
+                  xmi.uuid="ZNQrCvx3TQBZkMNb5dPfI3rOfe6LyFE4">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Timer</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.357"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.345" 
+                      xmi.uuid="qRJHnaL5m5CQSDJEk4HnOtvr8w2IkMRR">
+                    <Foundation.Core.ModelElement.name>delay</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.26"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.346" 
+                      xmi.uuid="Zw8KZkjZoOcjQwxDIqqapYRJpKMFXH7X">
+                    <Foundation.Core.ModelElement.name>eventName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.26"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.347" 
+                      xmi.uuid="21gMCTvh2xhRnTWh699eemMkrvKlzgkN">
+                    <Foundation.Core.ModelElement.name>eventValue</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.26"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.348" 
+                      xmi.uuid="Lomaqpp2qHZWfIBaaqPLiPgvHI6nntRX">
+                    <Foundation.Core.ModelElement.name>workString</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.26"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.349" 
+                      xmi.uuid="vrWkaOF7WnQgRA6bPZdDhyVhkqWJE9Wx">
+                    <Foundation.Core.ModelElement.name>interval</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.26"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.350" 
+                      xmi.uuid="yz1Pf1wXCZd2MD3f3S0QxzcqKpDAKrv9">
+                    <Foundation.Core.ModelElement.name>autoStart</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.26"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.351" 
+                      xmi.uuid="s3rhcnDo8pL7lGNKZx1mhRk6ukGVs1Eu">
+                          
+                      <Foundation.Core.ModelElement.name>play</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.352" 
+                          xmi.uuid="ksqi7DhVuErwWcacjHVj3wPhpJ5OvWYS">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.353" 
+                      xmi.uuid="yMZJrPbP3rhKHyFvF0O0O5O34r17Fo49">
+                          
+                      <Foundation.Core.ModelElement.name>stop</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.354" 
+                          xmi.uuid="gmIZylFrWzJFgucIUJF8WXlygO3bFDKZ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.355" 
+                      xmi.uuid="IzaecY71adMVdJZkFJkfGFe9kwAXqpI4">
+                          
+                      <Foundation.Core.ModelElement.name>startOnLoad</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.356" 
+                          xmi.uuid="C2KM4wzXZkvKQa50z2lHgMR0Zc2clwCx">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.27" 
+                  xmi.uuid="BdU4wwnu7N8UqjAIAXRVwPnnUyBUuztu">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>MapScaleBar</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.383"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.358" 
+                      xmi.uuid="E18J1qYIAJe8I6MV2cqYd76Gp7UnxFK5">
+                    <Foundation.Core.ModelElement.name>scaleDenominator</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.27"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.359" 
+                      xmi.uuid="vjNp3ZlETifCkCfPRkiRnLgSV1GxDpLW">
+                    <Foundation.Core.ModelElement.name>displaySystem</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.27"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.360" 
+                      xmi.uuid="MgTBFSAYvLkgqyzJCRiRWqRzlgX2fTbA">
+                    <Foundation.Core.ModelElement.name>minWidth</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.27"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.361" 
+                      xmi.uuid="a9rtpxxGMfEGkLzfQ2gtuCPWXP3L8mqF">
+                    <Foundation.Core.ModelElement.name>maxWidth</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.27"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.362" 
+                      xmi.uuid="QBPC5t7j9aNu56aDUnb23GTs20N8o4KH">
+                    <Foundation.Core.ModelElement.name>divisions</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.27"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.363" 
+                      xmi.uuid="8qS7fVQiF47qo0lzrPOV68H5t5jzrjbG">
+                    <Foundation.Core.ModelElement.name>subdivisions</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.27"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.364" 
+                      xmi.uuid="ArEMG4WjAKXW1O2zXuSlJP7DREyMIJIi">
+                    <Foundation.Core.ModelElement.name>showMinorMeasures</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.27"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.365" 
+                      xmi.uuid="q33UZLcKH50ohsDYZsB4O12AoKGl1rUr">
+                    <Foundation.Core.ModelElement.name>abbreviateLabel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.27"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.366" 
+                      xmi.uuid="FLipdVLc372MWcuTs9zWgU28rjvBBEvV">
+                    <Foundation.Core.ModelElement.name>singleLine</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.27"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.367" 
+                      xmi.uuid="sSqlS56le6i5RZBuNoQbdUJ85bw3TarG">
+                    <Foundation.Core.ModelElement.name>align</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.27"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.368" 
+                      xmi.uuid="Z5Rg4IhgTgxrQU6oQbtpB5kAQ5fS4knJ">
+                    <Foundation.Core.ModelElement.name>resolution</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.27"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.369" 
+                      xmi.uuid="CtJKjEQh3mDJ1lOOKdIpN9KPriByItjZ">
+                    <Foundation.Core.ModelElement.name>containerId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.27"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.370" 
+                      xmi.uuid="gwdsibMZtDAou3rxPhMWvTt34Sqer4QS">
+                    <Foundation.Core.ModelElement.name>labelContainerId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.27"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.371" 
+                      xmi.uuid="fzaI7PFBZQlfRl5n3cwo06oJkDXk6w6v">
+                    <Foundation.Core.ModelElement.name>graphicsContainerId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.27"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.372" 
+                      xmi.uuid="a9zUO2UswjEL6GqTLJqMvIun9y0RZSBG">
+                    <Foundation.Core.ModelElement.name>numbersContainerId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.27"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.373" 
+                      xmi.uuid="POynlFkGYWT2u8kCX0qp9jJJ851QdkX0">
+                          
+                      <Foundation.Core.ModelElement.name>getContainerNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.374" 
+                          xmi.uuid="hVs9Nfio4vSBtrdWMw3B6PkvVbWVYybe">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.375" 
+                      xmi.uuid="RvreUDKp1cxNKlB80PWZKfYOpYcsTH7e">
+                          
+                      <Foundation.Core.ModelElement.name>getGraphicsContainerNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.376" 
+                          xmi.uuid="7ptoDwLDTyIB6PL7oDDAV263bBfcunoy">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.377" 
+                      xmi.uuid="ZGd9QqNj7OOMz3q14QHam6AnqJ3q9lVy">
+                          
+                      <Foundation.Core.ModelElement.name>getLabelContainerNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.378" 
+                          xmi.uuid="7YPd54znEtt2ojbf1daKtCaj2c9wAaJ2">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.379" 
+                      xmi.uuid="Ud9CqAY7y0dDcNJiFTUnfFjqWvtWQAHM">
+                          
+                      <Foundation.Core.ModelElement.name>getNumbersContainerNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.380" 
+                          xmi.uuid="ukaJ5cAahszHvUjmLb9IPGROEUgaB6xV">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.381" 
+                      xmi.uuid="8yCbAT65bemqarEWdypZQ7pDtOlBm4a6">
+                          
+                      <Foundation.Core.ModelElement.name>update</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.382" 
+                          xmi.uuid="ZFZR5IVgC6xY6y7BVckQfsImRlwRJCAQ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.28" 
+                  xmi.uuid="K9PiO9XYKSqGMIBBjd1mQWeHAAt5Jc10">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>ZoomToAoi</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.401"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.384" 
+                      xmi.uuid="P6wLa0rJtdB8pHv4ClBx06ILtqgEqvR5">
+                    <Foundation.Core.ModelElement.name>bbox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.28"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.385" 
+                      xmi.uuid="hXBGazUHAUkAGO8Sn7dFnLbpkCwjfriL">
+                    <Foundation.Core.ModelElement.name>ul</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.28"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.386" 
+                      xmi.uuid="KFMxtEwvueidkf2ZnVpgylNCJtDofx87">
+                    <Foundation.Core.ModelElement.name>lr</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.28"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.387" 
+                      xmi.uuid="grBShXtJlBZqQJva8vILh3L08P0FQJf7">
+                    <Foundation.Core.ModelElement.name>ptUL</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.28"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.388" 
+                      xmi.uuid="hTX3fY2movy0K4DYSeNb68v1dE0l9KMi">
+                    <Foundation.Core.ModelElement.name>ptLR</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.28"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.389" 
+                      xmi.uuid="0FlIkrPZGowH5J5HsTy0YQvPPIv6agSS">
+                          
+                      <Foundation.Core.ModelElement.name>initProj</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.390" 
+                          xmi.uuid="GVRlZU1hDX0rf3WcUam4tlXSwFbCMDJM">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.391" 
+                      xmi.uuid="HSpB0SxiiSqVzlrqpVfmobGZkrl3NxzN">
+                          
+                      <Foundation.Core.ModelElement.name>setListeners</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.392" 
+                          xmi.uuid="QYiGBafvhnksbsyNolYxAh9djKqmUCgZ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.393" 
+                      xmi.uuid="oXxpgTmEUzaJAMaakdJIiIueHjfIKghd">
+                          
+                      <Foundation.Core.ModelElement.name>showTargetAoi</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.394" 
+                          xmi.uuid="jxPkGg8WwTeb5oWxqTHJTkNwJDB7SgRx">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.395" 
+                      xmi.uuid="pYcDh6OoBTx2td7OjIovZNuJBaswWTr4">
+                          
+                      <Foundation.Core.ModelElement.name>firstInit</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.396" 
+                          xmi.uuid="d2qeAYkk8ITSnnEmWqL2tC24YRRFtVsd">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.397" 
+                      xmi.uuid="mho4lOBxVgkixdkitrXd1X5s2mzgAtGv">
+                          
+                      <Foundation.Core.ModelElement.name>clear</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.398" 
+                          xmi.uuid="UPs7Xe1nebUyzGcZd1yy4g3NsAdVGsgi">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.399" 
+                      xmi.uuid="wYsPh1sqi3WU6xDcIvsDmNSpNGWlMNzf">
+                          
+                      <Foundation.Core.ModelElement.name>mouseUpHandler</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.400" 
+                          xmi.uuid="lILhIHvrvMjHZEQbKjRBTIUNQ9DZLYeC">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.29" 
+                  xmi.uuid="OgXK3fZRzcSCkuzFBz8bQa0Pbkf6Babp">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>GetFeatureInfoWSR</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.421"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.402" 
+                      xmi.uuid="bGhNmnPGcLeuUhVH0zcRs2vWZ7PkoGD1">
+                    <Foundation.Core.ModelElement.name>controller</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.29"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.403" 
+                      xmi.uuid="zPDCrLkrJThH22pQLKfebYWay1NowwUL">
+                    <Foundation.Core.ModelElement.name>tolerance</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.29"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.404" 
+                      xmi.uuid="VBzjHIB13bxiMD0qJ5h58JzKaBvZFJYO">
+                    <Foundation.Core.ModelElement.name>Control</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.29"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.405" 
+                      xmi.uuid="tueyn7pvSKnr0qdYq5GuP2vB1kapiRRr">
+                    <Foundation.Core.ModelElement.name>layerNameList</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.29"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.406" 
+                      xmi.uuid="MJ3QeLhZm9fCHhnNTsCyD0DZeereEbrM">
+                    <Foundation.Core.ModelElement.name>selectedLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.29"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.407" 
+                      xmi.uuid="2QdiP6e8HGN95kOlzgls0EfM8AprEcZW">
+                    <Foundation.Core.ModelElement.name>llPx</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.29"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.408" 
+                      xmi.uuid="grxyJ6ThYyWywd79qCHqRP9v47qcohgh">
+                    <Foundation.Core.ModelElement.name>urPx</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.29"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.409" 
+                      xmi.uuid="9y9YmaWgEyB6oKcJOMwNTxSFMTxcnuOx">
+                    <Foundation.Core.ModelElement.name>ll</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.29"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.410" 
+                      xmi.uuid="8WeaRdZpVFaU0KY4ki8l0mehgcSZAGos">
+                    <Foundation.Core.ModelElement.name>ur</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.29"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.411" 
+                      xmi.uuid="j0fgIWDrBwFEsplAZ7gD4GCsXzBCcBCO">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.29"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.412" 
+                      xmi.uuid="DXzYQROWTi08gaCQUnryktUxcGsYTmDW">
+                    <Foundation.Core.ModelElement.name>layerNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.29"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.413" 
+                      xmi.uuid="ZWfnlDVbM8PlFm70TnG3T7DKc0OnSTgB">
+                    <Foundation.Core.ModelElement.name>layerName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.29"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.414" 
+                      xmi.uuid="LmraWNh8gUCLeU21hqNu8u9gJwqO9PHr">
+                    <Foundation.Core.ModelElement.name>hidden</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.29"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.415" 
+                      xmi.uuid="EQYZfHiUim12m8qGXT4fWRiEFXgeE7lR">
+                          
+                      <Foundation.Core.ModelElement.name>createControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.416" 
+                          xmi.uuid="zGdZtartfzCD4bhItkkRZYyVbLllFAFg">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.417" 
+                      xmi.uuid="2ydbpmcgRWt5qMEYm3SC3KTKdZ9DFvl5">
+                          
+                      <Foundation.Core.ModelElement.name>doSelect</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.418" 
+                          xmi.uuid="JktbiyN3R7BE0BKvFedUtSRKKL7W4L4J">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.419" 
+                      xmi.uuid="5gSVCmfRggYZKxIKKAqx3dpVcOqbMqix">
+                          
+                      <Foundation.Core.ModelElement.name>doOnClick</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.420" 
+                          xmi.uuid="niK6gcgSplOD1xkcgv4h4qmVuLBFCCIz">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.30" 
+                  xmi.uuid="lJPAsvHacsjnvFaj1E8G3fqs0JBJbd0L">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>GmlRendererBase</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.428"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1188"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1626"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.422" 
+                      xmi.uuid="FYwMil8CCTBd1mw2DPUaLNk2REr2YoLR">
+                    <Foundation.Core.ModelElement.name>featureSRS</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.30"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.423" 
+                      xmi.uuid="BCVQYTZUlr2GXHBnNsJblCoGCUQ4u1Dd">
+                    <Foundation.Core.ModelElement.name>hoverCursorNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.30"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.424" 
+                      xmi.uuid="9yXDqiKgIVR4Mvi7QvuiNHpEpGwbqI1i">
+                    <Foundation.Core.ModelElement.name>sldModelNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.30"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.425" 
+                      xmi.uuid="FqTtxRB7Sby6423mkYL1wmtqz7R8DrHI">
+                    <Foundation.Core.ModelElement.name>defaultStyleName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.30"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.426" 
+                      xmi.uuid="3fK3UKVlUu6zEIacK0XJolROHPOZJDCE">
+                    <Foundation.Core.ModelElement.name>selectStyleName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.30"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.427" 
+                      xmi.uuid="bf11m6UPbe75N1aprOLqYBC4epkfinn3">
+                    <Foundation.Core.ModelElement.name>config</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.30"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.31" 
+                  xmi.uuid="MIy1sQUL331jC6zoRuQz2cau0r82WCsA">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>LayerControl</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.452"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.429" 
+                      xmi.uuid="93WWhbyrogfiUsNtKIrW9BqsLLqQSygN">
+                    <Foundation.Core.ModelElement.name>layer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.31"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.430" 
+                      xmi.uuid="IbhThkZ2vP6m9giZ3nZpA8fZDqsQdwNy">
+                    <Foundation.Core.ModelElement.name>previewImage</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.31"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.431" 
+                      xmi.uuid="YlgphynQYM5X8PJokMboWbX3eKji472A">
+                    <Foundation.Core.ModelElement.name>xpathExpression</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.31"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.432" 
+                      xmi.uuid="EujjAwo8YMeELdYboK5dNCa8KYJUnHnE">
+                    <Foundation.Core.ModelElement.name>thisGroupsNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.31"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.433" 
+                      xmi.uuid="DJj6iLqbmN6tRpplmREAZXCwOccZqpDk">
+                    <Foundation.Core.ModelElement.name>thisGroupsFoldedState</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.31"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.434" 
+                      xmi.uuid="6k606udu3WuYk8ExWIlQLh31NVVdldrk">
+                    <Foundation.Core.ModelElement.name>e</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.31"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.435" 
+                      xmi.uuid="HydCMIineuygtBVrd4YRQoyOmZ7B13Ey">
+                    <Foundation.Core.ModelElement.name>metadataWidget</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.31"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.436" 
+                      xmi.uuid="AnRdRPV4eCxdgYdmDjlJ0CBUo2aYtkmr">
+                    <Foundation.Core.ModelElement.name>indexA</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.31"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.437" 
+                      xmi.uuid="9gm53fFvb3uWd9q6kXvitsOskfLeLxLm">
+                    <Foundation.Core.ModelElement.name>indexB</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.31"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.438" 
+                      xmi.uuid="25FbwnyUH4pxhK9QS2jSehJqQ6cvGTa0">
+                          
+                      <Foundation.Core.ModelElement.name>prePaint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.439" 
+                          xmi.uuid="yPgNMP4IZlnArwKShGnY0fuvTYbppxxr">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.440" 
+                      xmi.uuid="uRMB5Bz9W6o9d1QZsYwO6v83YEoa73ac">
+                          
+                      <Foundation.Core.ModelElement.name>highlightLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.441" 
+                          xmi.uuid="bh7GWqYiYuE5cYjEORcK1yUqK16Yrvjc">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.442" 
+                      xmi.uuid="35awLhMVlt3jziFs2HpUGawTZtslVS66">
+                          
+                      <Foundation.Core.ModelElement.name>refresh</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.443" 
+                          xmi.uuid="eUQWK4tnQceJnJdpWt2vRshasX06OrrK">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.444" 
+                      xmi.uuid="Zggyb6aoZ0R6WcheQsmrt6KwZvlgE5QF">
+                          
+                      <Foundation.Core.ModelElement.name>foldUnfoldGroup</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.445" 
+                          xmi.uuid="x94u9gcgrptfGUHVE8CbVZnxFphrbXqe">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.446" 
+                      xmi.uuid="NNVKnapxNjfn8qgvpt9GaOs4PPTOzf9m">
+                          
+                      <Foundation.Core.ModelElement.name>showLayerMetadata</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.447" 
+                          xmi.uuid="5oRiIj7mkBs2RMZc4sPDlIH0lnOIbhDL">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.448" 
+                      xmi.uuid="TOWnzpBSK4bzycSgqEPS37MnncHnpRYA">
+                          
+                      <Foundation.Core.ModelElement.name>ChangeImage</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.449" 
+                          xmi.uuid="KszgZtawa6Z51PRv9T0ZxeXkifo3VBh8">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.450" 
+                      xmi.uuid="PZRoRKEbWuuFjZiQizniey49rKAvmZQj">
+                          
+                      <Foundation.Core.ModelElement.name>switchVisibilityById</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.451" 
+                          xmi.uuid="itQ27tCpN2F1voJKbvW6E7p0UNJUlcb0">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.32" 
+                  xmi.uuid="4NChB1o3LVoWLJbtMMxb5NIMrKQdolxz">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>InsertFeature</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.467"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.453" 
+                      xmi.uuid="SWPpSGQVZDtqV8zfEwzmPmUhuF6Md5Nb">
+                    <Foundation.Core.ModelElement.name>cursor</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.32"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.454" 
+                      xmi.uuid="d35Aa10S8AHOmNJ3kt12XJH45CaGxI79">
+                    <Foundation.Core.ModelElement.name>trm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.32"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.455" 
+                      xmi.uuid="WwJYrGlFNK3c7KduVJeGkIQ9otpf3EZ0">
+                    <Foundation.Core.ModelElement.name>tm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.32"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.456" 
+                      xmi.uuid="q3JyRjRZ7HMc9DbUN0mXmUCz8Jbol114">
+                    <Foundation.Core.ModelElement.name>tc</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.32"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.457" 
+                      xmi.uuid="YKG0t3amJheBlz8XhWoJjHiqvJMvaZpY">
+                    <Foundation.Core.ModelElement.name>httpPayload</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.32"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.458" 
+                      xmi.uuid="VjXx3CkNWRjo6fpl7jJjnjbaMBFCyviE">
+                    <Foundation.Core.ModelElement.name>insertXsl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.32"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.459" 
+                      xmi.uuid="xhVME9JUvaLy7ncDIdvQHggGtLncpvLB">
+                    <Foundation.Core.ModelElement.name>updateXsl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.32"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.460" 
+                      xmi.uuid="EHwDldSc0ybUPQ6JIhbFWbtCYtlqMh95">
+                    <Foundation.Core.ModelElement.name>Control</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.32"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.461" 
+                      xmi.uuid="HvxVn9lAsnv8kEFdmO2l5d5BgIknsNQo">
+                          
+                      <Foundation.Core.ModelElement.name>createControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.462" 
+                          xmi.uuid="QrOYbDtXHdnJn2fNzMdapIEKzwoR2kUg">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.463" 
+                      xmi.uuid="r7zdyermBV3yabIfScPKHPTy8qv788N3">
+                          
+                      <Foundation.Core.ModelElement.name>doSelect</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.464" 
+                          xmi.uuid="X8oJGGVr4W3b6reKYWdZojZBXDZ7lDTS">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.465" 
+                      xmi.uuid="e6Y9KSTbnLFVgERkhlLLHh3LoBsxOxdB">
+                          
+                      <Foundation.Core.ModelElement.name>handleResponse</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.466" 
+                          xmi.uuid="YozBIQN1DNi4aWu7S3XjIz1QEJBecYIK">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.33" 
+                  xmi.uuid="MGSeH1ZaJj6NBwJaMsMt07VE5Q2r4b5K">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Caps2Context</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.476"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.468" 
+                      xmi.uuid="mhPXaMze5xWnYWI6OunCbuQKu2S205T0">
+                    <Foundation.Core.ModelElement.name>styleUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.33"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.469" 
+                      xmi.uuid="qaxOH9fy1UmwXnJyTcYsCyG0WFzImgjw">
+                    <Foundation.Core.ModelElement.name>stylesheet</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.33"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.470" 
+                      xmi.uuid="moWt0WHJFqgYExz4TMLgX1CxCAiPjw9Z">
+                    <Foundation.Core.ModelElement.name>j</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.33"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.471" 
+                      xmi.uuid="jyXn8uP9Fefj04bxBiG83GzrPo5V8fUT">
+                    <Foundation.Core.ModelElement.name>newContext</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.33"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.472" 
+                      xmi.uuid="gq9YOBpVMIJEqoGRtRqkhbOmmWwxUFbM">
+                          
+                      <Foundation.Core.ModelElement.name>mapAllLayers</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.473" 
+                          xmi.uuid="Fp1KXsUlmWQzMSVDuWuqBwEVds7loCOM">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.474" 
+                      xmi.uuid="cnCgioUqKXveyAMpfnFMy91Ul9HLSYvx">
+                          
+                      <Foundation.Core.ModelElement.name>mapSingleLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.475" 
+                          xmi.uuid="Nltcsap5i6BXuayknt7DfON3kDRllarD">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.34" 
+                  xmi.uuid="WxZQce5dgCMUDqeolZUgEvhyUzdFHP1b">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>FormBase</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.486"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.477" 
+                      xmi.uuid="FmnkNBtaTb11hjQhRM9MUGvHKIEJqfNF">
+                    <Foundation.Core.ModelElement.name>webServiceUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.34"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.478" 
+                      xmi.uuid="55NTzUPVI2rbwI7uKjX6UuPfQTY7DNwi">
+                    <Foundation.Core.ModelElement.name>searchForm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.34"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.479" 
+                      xmi.uuid="hUPtPMPp4Hg90kpZiQTVBPtwa80KamL3">
+                    <Foundation.Core.ModelElement.name>formName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.34"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.480" 
+                      xmi.uuid="2oPg0mZUCrPWTe0vKTbUzud6SjTKZBEj">
+                          
+                      <Foundation.Core.ModelElement.name>postPaint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.481" 
+                          xmi.uuid="DhW7zdFadaVP3OuY5DiJeAXWARQwD4BU">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.482" 
+                      xmi.uuid="dJm8JuTCqmK8T5hMI4ikswchHh3QK3jD">
+                          
+                      <Foundation.Core.ModelElement.name>handleKeyPress</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.483" 
+                          xmi.uuid="zCKYkjXCDPms1hoCwLgdPrI7G3J0x5hs">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.484" 
+                      xmi.uuid="OHsITrbKNg7mQU1HQlNbrp4kAlsi7VdB">
+                          
+                      <Foundation.Core.ModelElement.name>setValue</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.485" 
+                          xmi.uuid="MsyfpF49ml2QFmoJL1sJtc2bxbzkcTiW">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.35" 
+                  xmi.uuid="44ZXcuzNOtdPdAVGq5fcFCsruUM5J8bc">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Locations</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.496"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.487" 
+                      xmi.uuid="MwPqNizxXZw1imS3vTzQ6HU7mKlhI6tN">
+                    <Foundation.Core.ModelElement.name>srsTokens</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.35"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.488" 
+                      xmi.uuid="z9gnTnYfoBIAE8DgFJRTESFL1ds1YqLP">
+                    <Foundation.Core.ModelElement.name>proj</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.35"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.489" 
+                      xmi.uuid="fVTL0fdINi9Oo5kP4StgXhvfdLhwXItx">
+                    <Foundation.Core.ModelElement.name>bboxArray</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.35"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.490" 
+                      xmi.uuid="QlbaWzcW1vo5ZJYGcDpYNK26ESE1JJKK">
+                    <Foundation.Core.ModelElement.name>ptUL</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.35"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.491" 
+                      xmi.uuid="dQ8HfAiJlTasHqpkQEi3HK94lujRWQje">
+                    <Foundation.Core.ModelElement.name>ptLR</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.35"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.492" 
+                      xmi.uuid="RsIETLcrGdw7qCYmK21dOLMgDBG1sWkP">
+                    <Foundation.Core.ModelElement.name>ul</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.35"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.493" 
+                      xmi.uuid="mL8zjTfHf0wbRcglRdDePpl7DBrsedN4">
+                    <Foundation.Core.ModelElement.name>lr</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.35"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.494" 
+                      xmi.uuid="rLTGvlAlKdhMujB7UnHyArJWVsoKVnnW">
+                          
+                      <Foundation.Core.ModelElement.name>setAoi</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.495" 
+                          xmi.uuid="HxlfG0LRvFImjREdRRQyfET3K6kROxcl">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.36" 
+                  xmi.uuid="TO2DKQLdRzYbPK8XQg9dy6DXjLodqv9C">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>MapTitle</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.497"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.37" 
+                  xmi.uuid="wbwBgUu5f0DPN2bKlyXDH3xBfTU6FWBG">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>SelectMapLayers</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.498"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.38" 
+                  xmi.uuid="cBmaE2AKPm90ALeCXs0u2aov8VkIZYhi">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>StyledLayerDescriptor</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.508"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.499" 
+                      xmi.uuid="G5ZAVUy0DEt7MElL90309xio2Qe33A6B">
+                    <Foundation.Core.ModelElement.name>sld</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.38"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.500" 
+                      xmi.uuid="psI0fPPd0W7AhYosNXlBHiv8BsKzLtVQ">
+                    <Foundation.Core.ModelElement.name>namespace</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.38"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.501" 
+                      xmi.uuid="qh0PS2v00geHljDXVs5FDLLRr3WNaBKj">
+                    <Foundation.Core.ModelElement.name>sldXPath</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.38"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.502" 
+                      xmi.uuid="ujCktHZ6fuALA5p2uzwxKiGJeLMQya7H">
+                    <Foundation.Core.ModelElement.name>format</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.38"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.503" 
+                      xmi.uuid="0VzMpaimvieO676Ikp6L7Xw9lIixHNbP">
+                    <Foundation.Core.ModelElement.name>sldNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.38"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.504" 
+                      xmi.uuid="8YaRJNBtNjQxRWr65Jr6mjWgiDuSouzn">
+                          
+                      <Foundation.Core.ModelElement.name>getSldNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.505" 
+                          xmi.uuid="cyc3xEd6pNukB2Wu5cfX1rrKQ8uhLLWt">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.506" 
+                      xmi.uuid="mNg3klLAn73LRBquhxDQhFgTZSmRTAFy">
+                          
+                      <Foundation.Core.ModelElement.name>loadSLD</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.507" 
+                          xmi.uuid="HhkB99T4KkRFxg3DOSjbqKdXcvrzz20O">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.39" 
+                  xmi.uuid="qPp4kNRQj26moogVNrkPRgetyE3hgOhj">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Graticule</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.554"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.509" 
+                      xmi.uuid="eYUQkGzomXqXuXZXs3smbGDie4lL2Wow">
+                    <Foundation.Core.ModelElement.name>display</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.510" 
+                      xmi.uuid="3Cc1QuDLgsZffOiEvbHIaH0TLh8QUE2R">
+                    <Foundation.Core.ModelElement.name>color</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.511" 
+                      xmi.uuid="5r22MESHbvuSNLHj510r1LNbrxkLd2PD">
+                    <Foundation.Core.ModelElement.name>Control</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.512" 
+                      xmi.uuid="94O8Nm0jsao5nEMstx1JDFBauynei4Ln">
+                    <Foundation.Core.ModelElement.name>div</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.513" 
+                      xmi.uuid="X5okYcfPobeXQK1f2REeSwUNT4dsMHBO">
+                    <Foundation.Core.ModelElement.name>mapContainer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.514" 
+                      xmi.uuid="HnvMpZHhHk6ZzM3GMc1FUAiEDVggXXpo">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.515" 
+                      xmi.uuid="cZfocOyTkAZ1igtpeoyc2TTfkPzWXxgT">
+                    <Foundation.Core.ModelElement.name>bbox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.516" 
+                      xmi.uuid="rWLa7UPI86T3d3Pz28wELau7oUuZU7oH">
+                    <Foundation.Core.ModelElement.name>ll</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.517" 
+                      xmi.uuid="0aYJcVjc9f0qmJtBS9MnzKuaG4TFhXKc">
+                    <Foundation.Core.ModelElement.name>ur</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.518" 
+                      xmi.uuid="WzK3PIe5VDo7XngTWH0jWwZxBjzwZ20C">
+                    <Foundation.Core.ModelElement.name>wgs84</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.519" 
+                      xmi.uuid="4eEqnxyrRU18YkAOXIqwPldJXIGMPLCv">
+                    <Foundation.Core.ModelElement.name>dDeg</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.520" 
+                      xmi.uuid="LtY8eGUDGVHY7IPCtPNsrcBy5b14iXui">
+                    <Foundation.Core.ModelElement.name>l</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.521" 
+                      xmi.uuid="k5SL4xF3CLDl1T89fZ6vyDLbqRxhOoCM">
+                    <Foundation.Core.ModelElement.name>b</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.522" 
+                      xmi.uuid="NeNJhb6eBQn4isLDVHXyjSCmrM4FR8gB">
+                    <Foundation.Core.ModelElement.name>r</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.523" 
+                      xmi.uuid="frD5vKnN0l4GEJAomfAPFmdrLXV5g2Qw">
+                    <Foundation.Core.ModelElement.name>t</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.524" 
+                      xmi.uuid="OFoKty9dOsyGB3cw337GvGaKFeoDkQyQ">
+                    <Foundation.Core.ModelElement.name>dLat</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.525" 
+                      xmi.uuid="SZJAQGwpQWNvYBKMgkkkvx7DLoaxHYjF">
+                    <Foundation.Core.ModelElement.name>dLon</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.526" 
+                      xmi.uuid="qThidJnQx1DyjQF9uTs0WnlGMJW5KuKP">
+                    <Foundation.Core.ModelElement.name>latDecs</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.527" 
+                      xmi.uuid="SnDzZDkAIZwB87QQwoxAblxy0f2MtOd4">
+                    <Foundation.Core.ModelElement.name>lonDecs</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.528" 
+                      xmi.uuid="AM7VQuxJs7zd7jgGbQxiGnZTpM8PuEY1">
+                    <Foundation.Core.ModelElement.name>divs</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.529" 
+                      xmi.uuid="Ze5Bs9t0G7aEbRLp2I77YpXI4pm71MRO">
+                    <Foundation.Core.ModelElement.name>pbl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.530" 
+                      xmi.uuid="Dn790kqo9sWBtFrqkeOh3UgsJGjO2UT7">
+                    <Foundation.Core.ModelElement.name>ptr</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.531" 
+                      xmi.uuid="KY6eDwq9ZvLv8FZ6uztyu2S63fjHBaXZ">
+                    <Foundation.Core.ModelElement.name>maxX</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.532" 
+                      xmi.uuid="3Wgqq2lAEnYw6MGN0kruc57SDWAZu20w">
+                    <Foundation.Core.ModelElement.name>maxY</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.533" 
+                      xmi.uuid="JM1up7BE3uzuaBzPY6jw6FfHUwAmXJ7q">
+                    <Foundation.Core.ModelElement.name>minX</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.534" 
+                      xmi.uuid="yIpsq445gvVu4QSGPNhpfmAadN0XYGIc">
+                    <Foundation.Core.ModelElement.name>minY</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.535" 
+                      xmi.uuid="na4jikMYR1hw3LxjxeQCNE04beBPcuxw">
+                    <Foundation.Core.ModelElement.name>y</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.536" 
+                      xmi.uuid="eIAQEISl3qqJZqh8xp9v3pOYcqc4HsG2">
+                    <Foundation.Core.ModelElement.name>mapDiv</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.537" 
+                      xmi.uuid="X0tyAgUBtH4ZWYdDK50Jn3rk5DZzPEWA">
+                    <Foundation.Core.ModelElement.name>lo</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.538" 
+                      xmi.uuid="kqWXpZX12raE7VsKQhp3IwzNX3hPJCKs">
+                    <Foundation.Core.ModelElement.name>p</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.539" 
+                      xmi.uuid="zSwde1ZNl7HzyrRoUBwtMV9ZEnopd4QS">
+                    <Foundation.Core.ModelElement.name>d</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.540" 
+                      xmi.uuid="aIsGTqWutSDlcHfdOvaHPwPpvipplyO1">
+                    <Foundation.Core.ModelElement.name>j</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.541" 
+                      xmi.uuid="cs2Eojq8b0eDTDwCb5OVIsVwG3LNHzvx">
+                    <Foundation.Core.ModelElement.name>pt</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.542" 
+                      xmi.uuid="BGZFitJK41o8Dv2PYzNxqZ6kMqRRi751">
+                    <Foundation.Core.ModelElement.name>platlon</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.543" 
+                      xmi.uuid="YcCOoeP3WEKKkRsu4kxopxmmvy7BPOuf">
+                    <Foundation.Core.ModelElement.name>f</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.544" 
+                      xmi.uuid="TznJlQk7AnKGOBphIRbvljgbgwxIj2G3">
+                    <Foundation.Core.ModelElement.name>x1</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.545" 
+                      xmi.uuid="P1fhygCTc3DGsYSiiVU0zKgGJ2O4EktN">
+                    <Foundation.Core.ModelElement.name>x2</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.546" 
+                      xmi.uuid="q5BYiN6E15BWL9kuWfd6bnEHW6DcRwjs">
+                    <Foundation.Core.ModelElement.name>width</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.547" 
+                      xmi.uuid="VDEmVE3onyGZI7tHF0FQlnnkxckdLBSx">
+                    <Foundation.Core.ModelElement.name>height</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.548" 
+                      xmi.uuid="pRrUxXtD7lDgYqVQfmSHlGs6wc7TYYFF">
+                    <Foundation.Core.ModelElement.name>proj</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.549" 
+                      xmi.uuid="87qegtAEpLvc13H1wEGWTHlsCfNpIFqh">
+                    <Foundation.Core.ModelElement.name>diffLat</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.550" 
+                      xmi.uuid="9OXXtJrzIufGf5Gl31o4feeARmZWv1lT">
+                    <Foundation.Core.ModelElement.name>diffLon</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.551" 
+                      xmi.uuid="EpPK3OeObGqs7aWJWwzwUfj4mVf0Oyp6">
+                    <Foundation.Core.ModelElement.name>active</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.39"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.552" 
+                      xmi.uuid="v92jwoHncpbvbYJiP6KI1aVrApZ244sE">
+                          
+                      <Foundation.Core.ModelElement.name>createControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.553" 
+                          xmi.uuid="F7od7pYebXsdRVknRHA2zD5Ac9t0i7mn">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.40" 
+                  xmi.uuid="EWxkdCTRWGRGtDyyi18RKHjiNHjLkPcf">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>WmsCapabilities</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.571"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.555" 
+                      xmi.uuid="GHJM63uPoBHqcZn6EdwOBwOKyVLiTm8k">
+                    <Foundation.Core.ModelElement.name>namespace</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.40"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.556" 
+                      xmi.uuid="kmY28DXmBnuqLspoD3WUc2UMARqGvRQe">
+                    <Foundation.Core.ModelElement.name>version</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.40"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.557" 
+                      xmi.uuid="OA2V3RBgbpBEHK3hChIriTdIlCacT8th">
+                    <Foundation.Core.ModelElement.name>xpath</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.40"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.558" 
+                      xmi.uuid="su3Lx4RUIe0Pm239n01tVGgvPCoyz7MW">
+                    <Foundation.Core.ModelElement.name>node</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.40"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.559" 
+                      xmi.uuid="KSry8kq07iNfY2T0PzcbDycg8MvrxTYw">
+                          
+                      <Foundation.Core.ModelElement.name>getServerUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.560" 
+                          xmi.uuid="tyzRpQCzoYUOHzEnVecvPWwUzxs629dh">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.561" 
+                      xmi.uuid="HHPPFONWigBqlsvrqHbcIUilKoKMcVDA">
+                          
+                      <Foundation.Core.ModelElement.name>getVersion</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.562" 
+                          xmi.uuid="Sqv30lUiE4MgQD70KXFA6u7xH4vxhPKy">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.563" 
+                      xmi.uuid="7yQBnqLKqYm4RTg6mbNGaOoKlTJGwvwk">
+                          
+                      <Foundation.Core.ModelElement.name>getServerTitle</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.564" 
+                          xmi.uuid="Q7Q7byLbuuna0uzBJxaITli5pCECxaNf">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.565" 
+                      xmi.uuid="dBLtrLm7xhZVWbITbKvIC9WtO1Ndh9L9">
+                          
+                      <Foundation.Core.ModelElement.name>getImageFormat</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.566" 
+                          xmi.uuid="mGEEOAGolnA8mvuwqB37UTnkLDLZJ6oJ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.567" 
+                      xmi.uuid="I65pMrs2us1PuCZnbUdwINf5DkOPnQUf">
+                          
+                      <Foundation.Core.ModelElement.name>getServiceName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.568" 
+                          xmi.uuid="s6gNigLkBKSWdoVOCx2uWe5Vv8DzHHFS">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.569" 
+                      xmi.uuid="154tpGqlPIXr5VuHEUHJ42uOGjWZD00L">
+                          
+                      <Foundation.Core.ModelElement.name>getFeatureNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.570" 
+                          xmi.uuid="zTQsgXxD8Brww9tZOFPooVFQTTfqynei">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.41" 
+                  xmi.uuid="NQff5l7tm3ldCdtIYs27nynxXF9bRqPE">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>DragPan</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.575"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.572" 
+                      xmi.uuid="2AOeaqOzahYTAGlJBGImITU6Ug1b5GH8">
+                    <Foundation.Core.ModelElement.name>cursor</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.41"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.573" 
+                      xmi.uuid="rQdlMeeZ3azEEG17tWxUFgwsTPF7vGnl">
+                          
+                      <Foundation.Core.ModelElement.name>createControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.574" 
+                          xmi.uuid="Z3tfgmyWCPsRhuxBQc2SV5Oxwz0Z1Dxk">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.42" 
+                  xmi.uuid="bgzPcDeHFavMVboBkzXDMJRYR5rus1aW">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>DOMParser</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.576" 
+                      xmi.uuid="0bBd5WHuBBeqxYyoavXayB2nZQw1KGZR">
+                          
+                      <Foundation.Core.ModelElement.name>parseFromString</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.577" 
+                          xmi.uuid="Dg7JBuR2n3dYOc4Q24d64vcOd0u0LflB">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.43" 
+                  xmi.uuid="8W41yhc9SHk9nZ3MdTfTb9HcK25PMSkx">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>AoiForm</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.589"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.578" 
+                      xmi.uuid="tZzjSragRhnwMYRwUnceWx1iABDDTyAi">
+                    <Foundation.Core.ModelElement.name>aoiForm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.43"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.579" 
+                      xmi.uuid="udsD2rwa4w1H4xFIzE4mZiJc2TP1C3wJ">
+                    <Foundation.Core.ModelElement.name>aoi</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.43"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.580" 
+                      xmi.uuid="nBqq7WKYES9W6aFqMQevL5WxMapm6p7m">
+                    <Foundation.Core.ModelElement.name>ul</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.43"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.581" 
+                      xmi.uuid="O9d4DKhjq1IpS8tRw78ZCicXRjPmrIaK">
+                    <Foundation.Core.ModelElement.name>lr</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.43"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.582" 
+                      xmi.uuid="hRsJJdDHjJFP7tWSKrRoQ8t3QzUHTCJZ">
+                    <Foundation.Core.ModelElement.name>formName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.43"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.583" 
+                      xmi.uuid="03YYaJEAHwocf1HD8RKZMHvCNBJHdhdT">
+                          
+                      <Foundation.Core.ModelElement.name>displayAoiCoords</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.584" 
+                          xmi.uuid="opRBNPyweUPXNnHehJ2HiMR6ACVtMSta">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.585" 
+                      xmi.uuid="3mgkdADni0kQhUX8OkahrDaEFsT4oPFu">
+                          
+                      <Foundation.Core.ModelElement.name>setAoi</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.586" 
+                          xmi.uuid="yCGsW0gQYfuYJI6Yq50AK1zNFLhkJwo0">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.587" 
+                      xmi.uuid="R9o4bzTMiiAzVpucneAvHbCHiy2Jbrss">
+                          
+                      <Foundation.Core.ModelElement.name>postPaint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.588" 
+                          xmi.uuid="vt5g1BA0vdWp6jxMtjk0414NNdlgEgW2">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.44" 
+                  xmi.uuid="iZnlLTz9icxEnj5x0Ea9yjN7igqWHiNF">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>AoiBoxOL</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.611"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.590" 
+                      xmi.uuid="1yOCSIeFPADy3sBYdREEu3PMzCl97Vjd">
+                    <Foundation.Core.ModelElement.name>cursor</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.44"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.591" 
+                      xmi.uuid="FQrZ6tB0zANoEHudlSwfJDrLc6dcb2dK">
+                    <Foundation.Core.ModelElement.name>Control</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.44"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.592" 
+                      xmi.uuid="4oZJLQa2Ny6MS1sFjemX0jbu2FvPAIaV">
+                    <Foundation.Core.ModelElement.name>handler</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.44"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.593" 
+                      xmi.uuid="mnKipYNXhyVogPLojuJYDLr4lcNJUeAz">
+                    <Foundation.Core.ModelElement.name>minXY</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.44"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.594" 
+                      xmi.uuid="RwCAwvu4hBg4SaMpArFcjC8w7Sey1W3E">
+                    <Foundation.Core.ModelElement.name>maxXY</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.44"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.595" 
+                      xmi.uuid="BLeAbDfbOI7ouQY5cpfVuld35O1bztDw">
+                    <Foundation.Core.ModelElement.name>bounds</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.44"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.596" 
+                      xmi.uuid="R0YdHzLLkqLyMj4rspMx8pUsnesIN4Rq">
+                    <Foundation.Core.ModelElement.name>XY</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.44"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.597" 
+                      xmi.uuid="NaS2K2r3biq5KrSWNJgswKJw98LcLQxM">
+                    <Foundation.Core.ModelElement.name>bboxOL</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.44"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.598" 
+                      xmi.uuid="z9Ymci64ho163QXEjuP5bEgzBfXheEOM">
+                    <Foundation.Core.ModelElement.name>ul</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.44"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.599" 
+                      xmi.uuid="gB7Mealln6S6GdHwnrCyRFypN76gTVwg">
+                    <Foundation.Core.ModelElement.name>lr</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.44"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.600" 
+                      xmi.uuid="PYfqpEjn3lFLncgXhd5wcZy8qYMaC2rt">
+                    <Foundation.Core.ModelElement.name>ct</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.44"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.601" 
+                      xmi.uuid="ElN3DBinRoVKAOZMP3YYaU04RSYbgJwj">
+                    <Foundation.Core.ModelElement.name>ext</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.44"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.602" 
+                      xmi.uuid="ZEMCPAKjOdGD9lTjJeaX20lhluwpTkan">
+                    <Foundation.Core.ModelElement.name>box</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.44"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.603" 
+                      xmi.uuid="llH64ROtVDA9I2MsNZPbULeK1gxGTfoy">
+                          
+                      <Foundation.Core.ModelElement.name>createControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.604" 
+                          xmi.uuid="K5cpQLqNT8f4HUazHk4sPUrgoZ1Vaif4">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.605" 
+                      xmi.uuid="acR4P7jH4JGEVfXZyTmP3QsrnQbSnwpA">
+                          
+                      <Foundation.Core.ModelElement.name>init</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.606" 
+                          xmi.uuid="2ElnujpORZxQKbYtVLD6dktEGVxqCLQ9">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.607" 
+                      xmi.uuid="tFOlUBJZFlltSdZp2eHoMgR4cVwrUA78">
+                          
+                      <Foundation.Core.ModelElement.name>drawAoiBox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.608" 
+                          xmi.uuid="XVUCOdDgLzceEK2mD07tpZ4CfvbNRTTo">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.609" 
+                      xmi.uuid="9eMIq8n3G7DvtvSsmYXl8qDHzAxRpYRs">
+                          
+                      <Foundation.Core.ModelElement.name>clearAoiBox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.610" 
+                          xmi.uuid="ALE9k8bl1WIlioNPQLT7UJ5AvmINGmCN">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.45" 
+                  xmi.uuid="xu8DiZiAyCkeHiqVwF53T4mrmft0Z39v">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Extent</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.612" 
+                      xmi.uuid="FmjFHnVQztIaRmOsb8smqdNZdJ9a0jFA">
+                    <Foundation.Core.ModelElement.name>model</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.613" 
+                      xmi.uuid="wMK0l0YDSq11bIT6xaIPwmGPEy6v4KRr">
+                    <Foundation.Core.ModelElement.name>id</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.614" 
+                      xmi.uuid="Zln53a7VpKI9YXQhcjVAZWW7fyY69VUF">
+                    <Foundation.Core.ModelElement.name>size</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.615" 
+                      xmi.uuid="5xjo4vuNtvgGb5tuelckjqQP5pHLiuqA">
+                    <Foundation.Core.ModelElement.name>res</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.616" 
+                      xmi.uuid="OjR7O893dcIJOFhDvbzBZY1S3b3dNK2J">
+                    <Foundation.Core.ModelElement.name>zoomBy</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.617" 
+                      xmi.uuid="B38QFB6ulUyZy3KYy26hGvww81lOXcwJ">
+                    <Foundation.Core.ModelElement.name>bbox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.618" 
+                      xmi.uuid="WN8jn6xgsQvbTKlIyEV7BPB92pHrq0hx">
+                    <Foundation.Core.ModelElement.name>sortstring</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.619" 
+                      xmi.uuid="dF8TvTvhFFR65Iur4gCOu85nuuKjDBP8">
+                    <Foundation.Core.ModelElement.name>evalsort</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.620" 
+                      xmi.uuid="dnRf1xzBLwnLiHOAvIEVZaNmOgJCmiX5">
+                    <Foundation.Core.ModelElement.name>zoomLevels</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.621" 
+                      xmi.uuid="KdQtVCetrIEEnu3jbHhW1tRjcC0SDEBH">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.622" 
+                      xmi.uuid="xenWIoOOTeK5vXcYZvtDKSUR4WBeD2nc">
+                    <Foundation.Core.ModelElement.name>fixedScale</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.623" 
+                      xmi.uuid="28Bg0ZHzK3H3Z2BZHDzZ9753OwF6AP0C">
+                    <Foundation.Core.ModelElement.name>center</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.624" 
+                      xmi.uuid="9qWd1kxFtTeBZpx6YQizNYbJ0De63HtU">
+                    <Foundation.Core.ModelElement.name>half</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.625" 
+                      xmi.uuid="pJloMq60oUyApIchjOdOdVuMkqOyam96">
+                    <Foundation.Core.ModelElement.name>lr</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.626" 
+                      xmi.uuid="MHHDVABD83sgfX41h2Uy8z0gEQHfQyvo">
+                    <Foundation.Core.ModelElement.name>ul</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.627" 
+                      xmi.uuid="mChXpzU1Hb1aWKn9UF2xIJ6eInHfmWPK">
+                    <Foundation.Core.ModelElement.name>p</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.628" 
+                      xmi.uuid="evUc6XksiNZS7VVvqA0kpHK6BPfQ4eBI">
+                    <Foundation.Core.ModelElement.name>l</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.629" 
+                      xmi.uuid="5VpjeSpp86V84fchNxVPT46bjaByyrJx">
+                    <Foundation.Core.ModelElement.name>xShift</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.630" 
+                      xmi.uuid="c6G0VI7lPdQa50l4eheMDK4kKo2KLy54">
+                    <Foundation.Core.ModelElement.name>yShift</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.631" 
+                      xmi.uuid="D4ll7Gsz8MEmNpE7xzULIse6y0xrn9ea">
+                    <Foundation.Core.ModelElement.name>width</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.632" 
+                      xmi.uuid="D3P7I7QXlFIvovYcrbHoSiG9yqzR4wEV">
+                    <Foundation.Core.ModelElement.name>height</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.633" 
+                      xmi.uuid="QUZKbJD3XgPXGhrgUn3MBf41k3RmvPCR">
+                    <Foundation.Core.ModelElement.name>pixRes</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.634" 
+                      xmi.uuid="xnjRqFgHsCN4aGSPhoPhBAR6NhXJyQmU">
+                    <Foundation.Core.ModelElement.name>newRes</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.45"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.635" 
+                      xmi.uuid="W8jlCu52ZiNM075yqqildsuMBVAKzrgh">
+                          
+                      <Foundation.Core.ModelElement.name>getBbox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.636" 
+                          xmi.uuid="E2gWKL65RjjRwtajYLV7xLro5BRj817s">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.637" 
+                      xmi.uuid="sGLSFjN9wAmRFh8pvoLhDOkStgExix33">
+                          
+                      <Foundation.Core.ModelElement.name>setBbox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.638" 
+                          xmi.uuid="tf6X3In113wd7TlawhhovoxNWcebp3fB">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.639" 
+                      xmi.uuid="cSVcPirovnuh5zggA7UMmZHW6TR6RS0Z">
+                          
+                      <Foundation.Core.ModelElement.name>getSize</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.640" 
+                          xmi.uuid="FBKC2TdBWU85tljygQaZaM2Pq0CBXq0W">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.641" 
+                      xmi.uuid="CJ6CoWnqLbIXQli2Mgsb5jfX7YkQeuaj">
+                          
+                      <Foundation.Core.ModelElement.name>setSize</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.642" 
+                          xmi.uuid="4VRntAOz5pBvS0mZI1Qw5SEw0P9UJJDq">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.643" 
+                      xmi.uuid="3OdAW2by5HXsYikFhr8bTg6D71vT1HNo">
+                          
+                      <Foundation.Core.ModelElement.name>getFixedScale</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.644" 
+                          xmi.uuid="z6yXoJBu1qD6ghTek2U3U2jh5aw0DhbO">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.645" 
+                      xmi.uuid="hMWuCByahwQK3AAW6kp0uicJ35TPWrWP">
+                          
+                      <Foundation.Core.ModelElement.name>setZoomLevels</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.646" 
+                          xmi.uuid="BFZBvN4G6FHneckCKTgsUVEOxvubBeNJ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.647" 
+                      xmi.uuid="uUSz635iL4HjuK2EocgAGfECs6j7oSQJ">
+                          
+                      <Foundation.Core.ModelElement.name>checkBbox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.648" 
+                          xmi.uuid="9YArudzJ7dL0HxDIrKSVDxcT1c2m6Uym">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.649" 
+                      xmi.uuid="EDB9HA8DtnZxnYvL8j8dkKEezrLW0nJW">
+                          
+                      <Foundation.Core.ModelElement.name>getCenter</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.650" 
+                          xmi.uuid="uqFDmWpfevaQRqhnBYtwTm04Ox20ylD2">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.651" 
+                      xmi.uuid="jDKTy56LNDiplw5GWE22o3ms08v7TCLg">
+                          
+                      <Foundation.Core.ModelElement.name>getXY</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.652" 
+                          xmi.uuid="L9QdxPvr4wia471Ah88t2Jn3B6cUa17w">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.653" 
+                      xmi.uuid="zUgrODmOaHEQ1FvqtVhz1giriPvo5TlX">
+                          
+                      <Foundation.Core.ModelElement.name>getPL</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.654" 
+                          xmi.uuid="n2IzeUdErArDhD5gURw0MuJc7s16Hsbe">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.655" 
+                      xmi.uuid="Mnenar5k3b2Z7whcEZ6WOehrDvoyc5Us">
+                          
+                      <Foundation.Core.ModelElement.name>centerAt</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.656" 
+                          xmi.uuid="19RML2E37wQuDSCkLqgGQAMoK1pZwHgX">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.657" 
+                      xmi.uuid="UNsHibU89k7WEZLJHuTStNUDVyVkPbjW">
+                          
+                      <Foundation.Core.ModelElement.name>zoomToBox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.658" 
+                          xmi.uuid="C4oCgo7oJgNvlWWeIeMaqTHWXUwqK4oT">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.659" 
+                      xmi.uuid="ysC3Rnq0TiH7qMlfkNxJCtXR4O0cJK5h">
+                          
+                      <Foundation.Core.ModelElement.name>setResolution</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.660" 
+                          xmi.uuid="OHEeXj7tMbiO3A1JF72oMk7hJBwsckXD">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.661" 
+                      xmi.uuid="TVu3eRQOYaMsW4BPUWhGijpRxKKEmEjc">
+                          
+                      <Foundation.Core.ModelElement.name>getScale</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.662" 
+                          xmi.uuid="7YH9LtESsQ8dqAMZwvTmNP4dgnZYEWG6">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.663" 
+                      xmi.uuid="rS69SF8pjXTZ56qW912Sq3x9uJdUO5uH">
+                          
+                      <Foundation.Core.ModelElement.name>setScale</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.664" 
+                          xmi.uuid="GTHGdhRTiX5obdLR6hyqtjDo2yWnnbU6">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.665" 
+                      xmi.uuid="meTAIv5ZJzfxvqxlwS2YR4UGvUhkSweb">
+                          
+                      <Foundation.Core.ModelElement.name>init</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.666" 
+                          xmi.uuid="AEiosLv8jKwnWOMsvxYObFUg5lV7Vl5t">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.667" 
+                      xmi.uuid="NY9zSpL8wBkqcHpSiHFSfcVJqBUXxioh">
+                          
+                      <Foundation.Core.ModelElement.name>firstInit</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.668" 
+                          xmi.uuid="1gi9bUNRokTKolHZkAHrMZpvKBXEf5wO">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.46" 
+                  xmi.uuid="HVx6lgw1KkPCpoKSE4gPx3SyRa9EfAJT">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>EditContext</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.682"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.669" 
+                      xmi.uuid="ShtqfDj69AbL4YO7wAxsjMipb9QzQ2pS">
+                    <Foundation.Core.ModelElement.name>styleUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.46"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.670" 
+                      xmi.uuid="s2qLUiAd4mYoJPZUm48FFREZZu8Fe3ZR">
+                    <Foundation.Core.ModelElement.name>stylesheet</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.46"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.671" 
+                      xmi.uuid="TeQSrD0apQMa6DpT8kxbxenxtgbdujWo">
+                    <Foundation.Core.ModelElement.name>j</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.46"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.672" 
+                      xmi.uuid="lZYmdy4brzswOwobwrauatWvbXcFtUGp">
+                    <Foundation.Core.ModelElement.name>feature</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.46"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.673" 
+                      xmi.uuid="VFOehIUXUE7YsQ1UeVLS0Gu9RF99RW8H">
+                    <Foundation.Core.ModelElement.name>newNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.46"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.674" 
+                      xmi.uuid="aOa1IrFEsDlJUldwhM3FkALMGf9jChMw">
+                          
+                      <Foundation.Core.ModelElement.name>addNodeToModel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.675" 
+                          xmi.uuid="oeIYXw6LTi1biiZs93Kz2gGa7M417gkD">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.676" 
+                      xmi.uuid="tmQbO0qEP4MSzbNof8X4Qev3SwZuPrIb">
+                          
+                      <Foundation.Core.ModelElement.name>addLayerFromCat</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.677" 
+                          xmi.uuid="8esMsP113DlGrUFKcGm40xsGydqAZbJD">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.678" 
+                      xmi.uuid="WVsofJpinxt8NepuipJOJPoWadCflKX9">
+                          
+                      <Foundation.Core.ModelElement.name>moveNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.679" 
+                          xmi.uuid="ULF7xodKvTYw7IIuYwCHZzMh6lD56wi3">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.680" 
+                      xmi.uuid="1QtXnGYOZEK5Xr7pmtOzma7SxmBybyDP">
+                          
+                      <Foundation.Core.ModelElement.name>deleteNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.681" 
+                          xmi.uuid="Or9tXff71tKktD3hJkrVB5kmh2AJqD7x">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.47" 
+                  xmi.uuid="PTPZtVR7rjA4SdwqteLAV3AmWoENIwE3">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>FeatureList</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.685"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.683" 
+                      xmi.uuid="8VX41TYua7AfPffguD5yXfpzTwL7Pdgy">
+                          
+                      <Foundation.Core.ModelElement.name>setAttr</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.684" 
+                          xmi.uuid="Apa4Eg5c3Qa8ydvwUVCoZIItpFTrOSPB">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.48" 
+                  xmi.uuid="SvNzlm6oMxAsBJBtrCyJAKZp84QSe3Ih">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Sarissa</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.686" 
+                      xmi.uuid="XKFE9WUQdQl0wtN20OpehZyIGler282A">
+                    <Foundation.Core.ModelElement.name>PARSED_OK</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.48"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.687" 
+                      xmi.uuid="QokjdHNdANFQkMrnSRFyK1lTKF17gMnG">
+                    <Foundation.Core.ModelElement.name>PARSED_EMPTY</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.48"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.688" 
+                      xmi.uuid="vAYIF3a8S9Szb98adZKmjB7JUSVfeDZh">
+                    <Foundation.Core.ModelElement.name>PARSED_UNKNOWN_ERROR</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.48"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.689" 
+                      xmi.uuid="WdAFrKqAgrT3f1ix6TMuBd3ggyhCDvGW">
+                          
+                      <Foundation.Core.ModelElement.name>pickRecentProgID</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.690" 
+                          xmi.uuid="jrzmtM0v3our7SoDQdtUTGeBBORqqPd7">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.691" 
+                      xmi.uuid="3g7i5ZpsT1WOjAHt3jvU9i8z92Cn3RiT">
+                          
+                      <Foundation.Core.ModelElement.name>getDomDocument</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.692" 
+                          xmi.uuid="JJUvrD5HI8t9X3BrbhgFcYMMyLTDcfI3">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.693" 
+                      xmi.uuid="jOr7i02jFRMHSPjFMtJbXVA9bS3svxq1">
+                          
+                      <Foundation.Core.ModelElement.name>getParseErrorText</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.694" 
+                          xmi.uuid="EOwPIGCvMJ4fnTsy5uE04Z03hnLmgST9">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.695" 
+                      xmi.uuid="avX5S0aJNiHQoG8A2VW9RAYmgaLZX9Ht">
+                          
+                      <Foundation.Core.ModelElement.name>setXpathNamespaces</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.696" 
+                          xmi.uuid="lUpKxLB7pCeE8qG4KDojP1aznKv6G4mF">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.697" 
+                      xmi.uuid="4xVzDx1Bjq2DDf1wTvJduIoFsUgYpuop">
+                          
+                      <Foundation.Core.ModelElement.name>__handleLoad__</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.698" 
+                          xmi.uuid="bYEPczC74o7dhXjRLKHBiMyX9yxrvOQd">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.699" 
+                      xmi.uuid="PgqJ3noSemRxjd9uAJd3HirwrhchW495">
+                          
+                      <Foundation.Core.ModelElement.name>__setReadyState__</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.700" 
+                          xmi.uuid="vAwXnIhvx0SxL1zE414xWkjvu9tfllTh">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.701" 
+                      xmi.uuid="FECBe3zkGGy8ZLeZc6D8rSSc7016xUd5">
+                          
+                      <Foundation.Core.ModelElement.name>getText</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.702" 
+                          xmi.uuid="a3zLf0hElQQ4pwpftWOi78Dpnc16q7Pf">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.703" 
+                      xmi.uuid="Y6rIm0xBywn9rFC1XYOgl0s4kf2C4LUR">
+                          
+                      <Foundation.Core.ModelElement.name>stripTags</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.704" 
+                          xmi.uuid="flGKIoJiEoAI7U0cQMno1hrCYh05qTkl">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.705" 
+                      xmi.uuid="f25yA7iqHf03YehYEgMF9qr7WlxDlb44">
+                          
+                      <Foundation.Core.ModelElement.name>clearChildNodes</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.706" 
+                          xmi.uuid="8VVx6uXU5J5XyyUHdHv0mPoDduQMzV7V">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.707" 
+                      xmi.uuid="j7dTaoFIl84qhNzaPKR4TCthKtdvOvZh">
+                          
+                      <Foundation.Core.ModelElement.name>copyChildNodes</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.708" 
+                          xmi.uuid="vTTCXrEocJtPqikH8YTV0zkhDfkNCZTH">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.709" 
+                      xmi.uuid="Hwce6H9WPfahwlukwWm9D0cMf3wSYbqa">
+                          
+                      <Foundation.Core.ModelElement.name>moveChildNodes</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.710" 
+                          xmi.uuid="99NFzcR9cM2pz8avhQTFWxvaLJTKYlZB">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.711" 
+                      xmi.uuid="7JYlnpVz5KCeCudLD9CkmGWrXnacDvWS">
+                          
+                      <Foundation.Core.ModelElement.name>xmlize</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.712" 
+                          xmi.uuid="d3dS5srLWNChm6yd6qpT26YiVRWRvPl6">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.713" 
+                      xmi.uuid="UxgZQD52OFsWh5FwRlKzYSwBXaAEseLg">
+                          
+                      <Foundation.Core.ModelElement.name>escape</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.714" 
+                          xmi.uuid="ZehY3ef7m7EyLXEqCX0Ql3NyCMxbsfu1">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.49" 
+                  xmi.uuid="LcXecMgSbDMwBYSGQlznNKCd9VOuEprl">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>WebServiceRequest</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.736"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.715" 
+                      xmi.uuid="cYMAU4RncrDrOGVtC84TWCVR4sp4uVdd">
+                    <Foundation.Core.ModelElement.name>requestName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.49"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.716" 
+                      xmi.uuid="5Nk59OoO0WtnOVhPRio26vCHN8justD0">
+                    <Foundation.Core.ModelElement.name>requestFilter</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.49"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.717" 
+                      xmi.uuid="7u9UDTaKlPmKN6NOGmyKznR6xMNglqt8">
+                    <Foundation.Core.ModelElement.name>styleUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.49"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.718" 
+                      xmi.uuid="LA8CUgaPQ3CqnEU5QxAvaqweah3NRqHX">
+                    <Foundation.Core.ModelElement.name>requestStylesheet</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.49"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.719" 
+                      xmi.uuid="X9yGagiVnJosnFrfFm0dAOWWUzR1DvaK">
+                    <Foundation.Core.ModelElement.name>j</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.49"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.720" 
+                      xmi.uuid="9Z0ihRoqyahbahqRUXEegifcZSmlnr3R">
+                          
+                      <Foundation.Core.ModelElement.name>createHttpPayload</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.721" 
+                          xmi.uuid="HpC2tgTROH9WpqVZrfYeCPNvkH64u4fw">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.722" 
+                      xmi.uuid="Ixj5TJUV5RyOsDEnTHMOnyvcvM9Xe5CF">
+                          
+                      <Foundation.Core.ModelElement.name>doRequest</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.723" 
+                          xmi.uuid="hufZ1IYG4tm5AruUsN9QK3tYDqZzXWJF">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.724" 
+                      xmi.uuid="wiY4PNMRpGXrFRVsz8oKOs83cxg5Ke1b">
+                          
+                      <Foundation.Core.ModelElement.name>setAoiParameters</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.725" 
+                          xmi.uuid="F5GbTNzD3cDc9AHakogwDR971SRCKaPn">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.726" 
+                      xmi.uuid="VngcgKq3O7kSOZGCZqV9umCunX5vmxTI">
+                          
+                      <Foundation.Core.ModelElement.name>init</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.727" 
+                          xmi.uuid="5YamW5fmR0yD8wUKQWxkQ2tfQHzhaAKb">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.728" 
+                      xmi.uuid="nbYvouCXsq2OAqQe2nGhybZoxXA8yFaO">
+                          
+                      <Foundation.Core.ModelElement.name>mapInit</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.729" 
+                          xmi.uuid="ktrwhQ1Cc5Yz0BBINkNfBA2cTQuZkIvP">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.730" 
+                      xmi.uuid="LwTnicsPKfRlmIxRL86qgcK2EBC4KN3g">
+                          
+                      <Foundation.Core.ModelElement.name>clear</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.731" 
+                          xmi.uuid="BG9WR7CErARMBeB8vdyuO0W2zhCsS8hH">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.732" 
+                      xmi.uuid="4RNF7eDO1xGuJexGL7udIRl4xNRGaq5S">
+                          
+                      <Foundation.Core.ModelElement.name>setClickPosition</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.733" 
+                          xmi.uuid="zpkJ4fC6KlVUavCrmihHuiNCqeIg06NQ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.734" 
+                      xmi.uuid="7yvL18IX0O61Qf1Z3mKl8I0Cbsvbm4aP">
+                          
+                      <Foundation.Core.ModelElement.name>selectFeature</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.735" 
+                          xmi.uuid="tR0P2eTn6nb56jnMsgvj1k4OKqZM4JaK">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.50" 
+                  xmi.uuid="1alFcW5bnG04KWfN6hpBhY2SlfTpc1Rp">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>ModelBase</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.798"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.260"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.212"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.322"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.571"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.261"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1201"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1804"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.508"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1637"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1406"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.168"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.905"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1067"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.737" 
+                      xmi.uuid="Ya5QHJcSh3MO5eUBSO6BIW6wxMt9VBty">
+                    <Foundation.Core.ModelElement.name>async</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.738" 
+                      xmi.uuid="0UDfIItaX3zt2ZG0NHA13RnnYeyBxsA7">
+                    <Foundation.Core.ModelElement.name>contentType</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.739" 
+                      xmi.uuid="TWL1zMVDfwOPKoBVI3vVRLpYLaZ2bSyY">
+                    <Foundation.Core.ModelElement.name>modelNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.740" 
+                      xmi.uuid="iNyM2vvh8InXrJzLywzhS4oXDSyLd9mO">
+                    <Foundation.Core.ModelElement.name>idAttr</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.741" 
+                      xmi.uuid="KlbXX6T5TNWR3AxSLkRokSVoVGZhVGDA">
+                    <Foundation.Core.ModelElement.name>id</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.742" 
+                      xmi.uuid="xyCzw5FNwemz4eD7NsfQGji1siQdVxuY">
+                    <Foundation.Core.ModelElement.name>title</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.743" 
+                      xmi.uuid="Qjy0igqHh4SpNfobVBe1SYh0HjpvraK0">
+                    <Foundation.Core.ModelElement.name>debug</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.744" 
+                      xmi.uuid="vsvI24ugNDCvzLwgvpTn5LMTkMhRiY7P">
+                    <Foundation.Core.ModelElement.name>url</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.745" 
+                      xmi.uuid="PejO6ijcRxcwq30jgjCdbEoA4Q0AguQd">
+                    <Foundation.Core.ModelElement.name>defaultModel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.746" 
+                      xmi.uuid="YYTKQUMv4Agy6ilkRGxf7EuIOKxvFAc9">
+                    <Foundation.Core.ModelElement.name>method</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.747" 
+                      xmi.uuid="LpW2q32MuuFPJWOp6WRiz3vNkjLFe8CY">
+                    <Foundation.Core.ModelElement.name>namespace</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.748" 
+                      xmi.uuid="6hO8XF2V6ZtwdhjeCiZOrBNOKPZvmv04">
+                    <Foundation.Core.ModelElement.name>templateAttr</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.749" 
+                      xmi.uuid="wzoNavl5Pfjg1y9Pu8dDTZuJwvpaPmU4">
+                    <Foundation.Core.ModelElement.name>template</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.750" 
+                      xmi.uuid="1jVWiiK2WSbYEypi6PWCucItvTyBbGUV">
+                    <Foundation.Core.ModelElement.name>nodeSelectXpath</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.751" 
+                      xmi.uuid="y0YtbCR0R8Ej0IeysBUXTjh0SXcMIJxL">
+                    <Foundation.Core.ModelElement.name>config</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.752" 
+                      xmi.uuid="8hAE79gf79oJyWPo87xoABh3Mmkl3RB2">
+                    <Foundation.Core.ModelElement.name>node</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.753" 
+                      xmi.uuid="7mAPNz1O6lV4hygobMuEiZwz3liCEw3l">
+                    <Foundation.Core.ModelElement.name>xmlHttp</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.754" 
+                      xmi.uuid="zEtGgRykUtKYZJ2N0IIOCUIR9jlkzGkw">
+                    <Foundation.Core.ModelElement.name>sUri</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.755" 
+                      xmi.uuid="vViSARnMnH10ivrzfkz6HymSILpsuNMQ">
+                    <Foundation.Core.ModelElement.name>errorMsg</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.756" 
+                      xmi.uuid="Rs9OV3GfGfMtqGXT8Srht2xJXdtCWDEv">
+                    <Foundation.Core.ModelElement.name>postData</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.757" 
+                      xmi.uuid="22L55qhr3eI73gJfLBISnwzwtYbTE8y6">
+                    <Foundation.Core.ModelElement.name>model</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.758" 
+                      xmi.uuid="XiQ9RBXwiHdqWXKBoloUKdOOWzdGDeE2">
+                    <Foundation.Core.ModelElement.name>parentNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.759" 
+                      xmi.uuid="jZzmAwspkLX2MdZWI5Jf4tE16PzdusID">
+                    <Foundation.Core.ModelElement.name>newConfigNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.760" 
+                      xmi.uuid="i4YnuDxbQeWe8xtHauD9tj9fooGhEREt">
+                    <Foundation.Core.ModelElement.name>response</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.761" 
+                      xmi.uuid="cbFfwSOnViNScipegTHtjKkQRKs9S41A">
+                    <Foundation.Core.ModelElement.name>onlineResource</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.762" 
+                      xmi.uuid="2cHiuTFnPVVUIkf73ERfjKoeDH5YxfB9">
+                    <Foundation.Core.ModelElement.name>fileUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.763" 
+                      xmi.uuid="g5h41zEUHk8JyDGST88BIh3Jfm5lLyM0">
+                    <Foundation.Core.ModelElement.name>objectType</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.764" 
+                      xmi.uuid="vk32R5JgM71kCX2li6nhKsRlFgv2kkRA">
+                    <Foundation.Core.ModelElement.name>newObject</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.765" 
+                      xmi.uuid="VtE792gxL22Oormyy8lhRX9nzMRGMgZB">
+                    <Foundation.Core.ModelElement.name>configObjects</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.766" 
+                      xmi.uuid="1xAR1E8R8RFjHYeL8VP4PbF2wWyo2eny">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.767" 
+                      xmi.uuid="kRnnLLjhOzqy8GvOgcaJVslmZ4EjMhac">
+                    <Foundation.Core.ModelElement.name>parentModel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.50"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.768" 
+                      xmi.uuid="DpxEXaukcQVUG70oUxNM6zezxwoKaUuU">
+                          
+                      <Foundation.Core.ModelElement.name>getProperty</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.769" 
+                          xmi.uuid="xhL8MPtByGkwDO5pKjCJEr1x9ruA8RB5">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.770" 
+                      xmi.uuid="AyVmI0VJgcdzNMCf9Z5pIXPrwLgZzGt0">
+                          
+                      <Foundation.Core.ModelElement.name>getXpathValue</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.771" 
+                          xmi.uuid="VIyePPGa7UQuLXrH9uSUoaCA6LsIaF2m">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.772" 
+                      xmi.uuid="mQKyNR1nU1iSqD1FcSvdHm5x2J0zZxBn">
+                          
+                      <Foundation.Core.ModelElement.name>setXpathValue</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.773" 
+                          xmi.uuid="ozQ83AinFHNq4LlyVKiO7Knuermb9ZL5">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.774" 
+                      xmi.uuid="96YDADkr275yYeD2nK57fWlPqmDgJmcA">
+                          
+                      <Foundation.Core.ModelElement.name>loadModelDoc</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.775" 
+                          xmi.uuid="xLmZUaTbMMZiQCBpejJtGqz9FlrfVHVk">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.776" 
+                      xmi.uuid="jfAPEPHYsFXR874LLOjZUO21QOlrGjub">
+                          
+                      <Foundation.Core.ModelElement.name>setModel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.777" 
+                          xmi.uuid="JdJNu6qEN6GbeoUGpJLuK15MNubhOR59">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.778" 
+                      xmi.uuid="babJNXuwEEpc7IBAMQO7bZ9VcBQTzO5G">
+                          
+                      <Foundation.Core.ModelElement.name>finishLoading</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.779" 
+                          xmi.uuid="a5oqIZG2pB6ox5Y9X1eWKpPpSSfOu88r">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.780" 
+                      xmi.uuid="9PYDwZIwC7JYR5aMOCYoIlYrmQnBOwXd">
+                          
+                      <Foundation.Core.ModelElement.name>newRequest</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.781" 
+                          xmi.uuid="4FvuHMbXlZRWgCL9645BaKOA8t5xpjbY">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.782" 
+                      xmi.uuid="vM4fP4LSJL2BBov0X2Z8GXT4Qr8cnTzX">
+                          
+                      <Foundation.Core.ModelElement.name>deleteTemplates</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.783" 
+                          xmi.uuid="7fu5Oaabvl2OdzsBVe3G9CsBfHZUJC6y">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.784" 
+                      xmi.uuid="n6pgGfLgJ3sDWh74vinZen1yT3KfCWxI">
+                          
+                      <Foundation.Core.ModelElement.name>saveModel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.785" 
+                          xmi.uuid="wuVgXmgv3BkijXPESuCrcEksgoHQpowP">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.786" 
+                      xmi.uuid="Ioi1whQnBf2F2d8HMauaTVIYWzHJpqID">
+                          
+                      <Foundation.Core.ModelElement.name>createObject</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.787" 
+                          xmi.uuid="XbEHae1rfxoWl0qJeDPo7Khj8ZgSI6I5">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.788" 
+                      xmi.uuid="DVglJH4kPklA55zHLwdiGltDS6KTvV8G">
+                          
+                      <Foundation.Core.ModelElement.name>loadObjects</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.789" 
+                          xmi.uuid="y0iTUBlGtq0BckRoLhA0YaMJXYkYYxiC">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.790" 
+                      xmi.uuid="WXmE8K9QW2LldP919bX1yyZaGJ6En6v2">
+                          
+                      <Foundation.Core.ModelElement.name>parseConfig</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.791" 
+                          xmi.uuid="tZSnKvUqcRP7YhhtDsxp9ef0OyHHy4uo">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.792" 
+                      xmi.uuid="SUR1xC1yurKa8FxOKqDk2SFK9RaG7Lpw">
+                          
+                      <Foundation.Core.ModelElement.name>refresh</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.793" 
+                          xmi.uuid="Fxn0qc7bveAnpvYMNk34FPK4xhhLOceK">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.794" 
+                      xmi.uuid="w87N9CrPlex5sIX7MSdBt9CQsuIYTqLj">
+                          
+                      <Foundation.Core.ModelElement.name>init</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.795" 
+                          xmi.uuid="HByT8ypZiSZzbUogf1XrCql08ApSLA7w">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.796" 
+                      xmi.uuid="8p3kEfPWPrx0NHnub9ntSaXVLcwI98A4">
+                          
+                      <Foundation.Core.ModelElement.name>clearModel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.797" 
+                          xmi.uuid="p3kyYhLnejTKwbp9GYWzmAB1mG9MNnJa">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.51" 
+                  xmi.uuid="NzOhU7nvrwRz9ClpU9Z2AGpYR4748zHd">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Context</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.905"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.799" 
+                      xmi.uuid="lqxayyWYGdqwGsPVRAhSZDpt7iA6maow">
+                    <Foundation.Core.ModelElement.name>namespace</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.800" 
+                      xmi.uuid="EyPvjgjSYmCRfj5xx6s601Cq9mPKWwMB">
+                    <Foundation.Core.ModelElement.name>hiddenValue</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.801" 
+                      xmi.uuid="iCV0Cp0tOwcXx20egZ2Bo2evPW5iVDkm">
+                    <Foundation.Core.ModelElement.name>layer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.802" 
+                      xmi.uuid="y4CgRornMF6hc5sH571kwrN7pxc4u3L9">
+                    <Foundation.Core.ModelElement.name>hidden</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.803" 
+                      xmi.uuid="AOYuh6MJnmpe7iAhxfs9Ms8M3mitKw7Y">
+                    <Foundation.Core.ModelElement.name>bbox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.804" 
+                      xmi.uuid="4qNJ2EQGw0tMNqkq5DN3Y0IyrNKmK1KD">
+                    <Foundation.Core.ModelElement.name>boundingBox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.805" 
+                      xmi.uuid="bh0lVSFn6fu8nY8CG03Z0CIqejc9Gg9B">
+                    <Foundation.Core.ModelElement.name>aoi</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.806" 
+                      xmi.uuid="AfE7T9B2Af6xiH76TwCnv3jYVWiYDOhL">
+                    <Foundation.Core.ModelElement.name>win</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.807" 
+                      xmi.uuid="627kSk1zxbJsGYtgUYWVu87GZxZ7EVAE">
+                    <Foundation.Core.ModelElement.name>width</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.808" 
+                      xmi.uuid="9ZzR5eWO24LkonlbV9nFmYGVuyXfgBPy">
+                    <Foundation.Core.ModelElement.name>height</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.809" 
+                      xmi.uuid="y0UycVSkOeOrfiEQPc4bR66mcz93xHT6">
+                    <Foundation.Core.ModelElement.name>listNodeArray</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.810" 
+                      xmi.uuid="YES2cRsOXrizTgcrqEvxrlS5W7S79YhQ">
+                    <Foundation.Core.ModelElement.name>parentNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.811" 
+                      xmi.uuid="pzEy2pnnUYQMpqDT3DJA7h2821hkCZgj">
+                    <Foundation.Core.ModelElement.name>randomNumber</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.812" 
+                      xmi.uuid="8LgfboKj5NX7c4oTVPNzadPdg0Xg20uf">
+                    <Foundation.Core.ModelElement.name>layerName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.813" 
+                      xmi.uuid="qbTPbSynJk2VRhsrESwMznCAixUT7m9N">
+                    <Foundation.Core.ModelElement.name>attribs</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.814" 
+                      xmi.uuid="o6EstkZpvjMaz91a3LsJt6MDQS42vVaG">
+                    <Foundation.Core.ModelElement.name>deletedNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.815" 
+                      xmi.uuid="ANy1L2DX2ZlwLH9CMKFqxzagah5Qxeif">
+                    <Foundation.Core.ModelElement.name>movedNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.816" 
+                      xmi.uuid="i7KBWT0C05AZBfxRz7ERSXiaYZaEh9sW">
+                    <Foundation.Core.ModelElement.name>sibNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.817" 
+                      xmi.uuid="lg5womiRMgtu9W0NVgsTk9WOSe2Bxohx">
+                    <Foundation.Core.ModelElement.name>extension</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.818" 
+                      xmi.uuid="bKWMk6B5xIq9pfCNWBfL0YDK4HALEu6z">
+                    <Foundation.Core.ModelElement.name>general</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.819" 
+                      xmi.uuid="Lv0znAjF9rbU73sfgTpOmOXLsVqXXnBx">
+                    <Foundation.Core.ModelElement.name>newChild</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.820" 
+                      xmi.uuid="URS4NYMHLlvl5QEqQrVdx2RFfGvQ7egB">
+                    <Foundation.Core.ModelElement.name>timeNodes</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.821" 
+                      xmi.uuid="gx6aI9o5MrE3FNOqTIhGT9OKPFzei9QR">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.822" 
+                      xmi.uuid="TPzfNpVGGRVgOhotEv1vNLQ8e8tkiSBT">
+                    <Foundation.Core.ModelElement.name>extentNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.823" 
+                      xmi.uuid="2nlbgMLc8i03g8Hsk3DplbTo6STDltdR">
+                    <Foundation.Core.ModelElement.name>layerNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.824" 
+                      xmi.uuid="uGQJgNMW4HY1QEOnhRZW2pjbwpw9Q8iM">
+                    <Foundation.Core.ModelElement.name>times</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.825" 
+                      xmi.uuid="uUAZCjIaI8i1BoUYq1ygtEIt8pP9850W">
+                    <Foundation.Core.ModelElement.name>j</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.826" 
+                      xmi.uuid="l7AMFptERhKnMS2sVuyLqebJVE8nG4Zs">
+                    <Foundation.Core.ModelElement.name>params</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.827" 
+                      xmi.uuid="7MbEbMGXwG0oAXgZi0QKMoObrvvMbtrM">
+                    <Foundation.Core.ModelElement.name>start</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.828" 
+                      xmi.uuid="DbVqOyt3cW6JIQSm8d91UgNLs6E5hC1I">
+                    <Foundation.Core.ModelElement.name>stop</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.829" 
+                      xmi.uuid="wOsEBUinLbX6f9tmfw9PETOV0DOlmcEb">
+                    <Foundation.Core.ModelElement.name>period</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.830" 
+                      xmi.uuid="XGfTNstHx18o39Fh4LyNHtIw5BYoZIV8">
+                    <Foundation.Core.ModelElement.name>parts</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.831" 
+                      xmi.uuid="gxy3usYi8Fl8ldTi0ZOIc5LU6KmgcAXu">
+                    <Foundation.Core.ModelElement.name>timestamp</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.832" 
+                      xmi.uuid="FU8ZEOLAhExK8yUBF1R0MkMLbeshVawJ">
+                    <Foundation.Core.ModelElement.name>tsList</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.833" 
+                      xmi.uuid="Og2ErPr6gMbkAfBLERkqVwJlDfJLVkbI">
+                    <Foundation.Core.ModelElement.name>index</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.834" 
+                      xmi.uuid="RTFXqqvazZlnuLZsm42F03d3pjrxNTNa">
+                    <Foundation.Core.ModelElement.name>opacity</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.51"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.835" 
+                      xmi.uuid="tgXt1pr4kpgc4Sk5F9CPfa9Aw1QkKjuk">
+                          
+                      <Foundation.Core.ModelElement.name>setHidden</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.836" 
+                          xmi.uuid="Rb0NDwJpDh8RBnAnmgLLLubDbdVLBZoL">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.837" 
+                      xmi.uuid="yzjP7sKuQJdhFtR5yqR91yhmaktftp1y">
+                          
+                      <Foundation.Core.ModelElement.name>getHidden</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.838" 
+                          xmi.uuid="dw5a81xmQW8Tp9cdfPylByyF5fwH14MQ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.839" 
+                      xmi.uuid="vBMPvZyODMe4Ur1kAyEa4r0ffwD1eWPY">
+                          
+                      <Foundation.Core.ModelElement.name>getBoundingBox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.840" 
+                          xmi.uuid="g7EDwSGBDcLor2ROX5bxByYpnbVGNAaS">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.841" 
+                      xmi.uuid="IPXxbpHEXvPs3uyTPGJKiPyuZ3LNYjPG">
+                          
+                      <Foundation.Core.ModelElement.name>setBoundingBox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.842" 
+                          xmi.uuid="kInEaO4PhmVObY9MouSDEWX41Rygix7E">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.843" 
+                      xmi.uuid="pR24WFWoG76bhzpgVzI6F89waYZpHiOa">
+                          
+                      <Foundation.Core.ModelElement.name>initBbox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.844" 
+                          xmi.uuid="FWW51e97nsANBKGBIpsq51stKB9bIPVQ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.845" 
+                      xmi.uuid="oFeN6B0Cj3qZeew4zQy8cwr652d1cEOb">
+                          
+                      <Foundation.Core.ModelElement.name>initAoi</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.846" 
+                          xmi.uuid="fHgckwEYjrcuIgfGD7EXG05hU5b36gMZ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.847" 
+                      xmi.uuid="TXt944eKoBEf1MNAvbnYuaWPyUDT8zh5">
+                          
+                      <Foundation.Core.ModelElement.name>setSRS</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.848" 
+                          xmi.uuid="gJK6aJ4mvFCs989QlK168c7NVxlRFgjC">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.849" 
+                      xmi.uuid="mo1UvzeYOfBMR8342LfFCJBaRkW87Fxm">
+                          
+                      <Foundation.Core.ModelElement.name>getSRS</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.850" 
+                          xmi.uuid="YctZprsLqZkBi79miMGGPNcNzu8DVoeQ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.851" 
+                      xmi.uuid="QR6pZWdKv87zpJFTvQutQeRRuNGDioM0">
+                          
+                      <Foundation.Core.ModelElement.name>initProj</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.852" 
+                          xmi.uuid="ip0TXex7RHHwCytuPm9wfALAkCtq0z3U">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.853" 
+                      xmi.uuid="4BZZLmpFReACblBsfBVCnfQJGbmEN77S">
+                          
+                      <Foundation.Core.ModelElement.name>getWindowWidth</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.854" 
+                          xmi.uuid="hiWT5vbQbp1Fl8dCuXtZKXvxYLdzQ4up">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.855" 
+                      xmi.uuid="smp99kaCdtujxB1Eg7gUDGEwGfQKXiFL">
+                          
+                      <Foundation.Core.ModelElement.name>setWindowWidth</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.856" 
+                          xmi.uuid="C1vb3XDNw0Y0XgEVRmrmiAmWOdQuACVE">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.857" 
+                      xmi.uuid="AzIEypGvIc8QUf1ag0aS4pPUMFKpSsWe">
+                          
+                      <Foundation.Core.ModelElement.name>getWindowHeight</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.858" 
+                          xmi.uuid="TWoTFhlXpVQ3p0w55wyIXdMTef7Dwl9J">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.859" 
+                      xmi.uuid="XeS8Xj4jwQyQ4cx855IBE8spZL94WZjn">
+                          
+                      <Foundation.Core.ModelElement.name>setWindowHeight</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.860" 
+                          xmi.uuid="wGj31pNhelgWbmShfBJAPSXckJokbK0C">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.861" 
+                      xmi.uuid="0DRbESVTkdFlyqnWTZ7SLVx8hEPUWZ9N">
+                          
+                      <Foundation.Core.ModelElement.name>getWindowSize</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.862" 
+                          xmi.uuid="8EHNtrF4O42SEFFy2w12pJOe2oin60AV">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.863" 
+                      xmi.uuid="YMekNgmneb22AtcJVN4FI6icslkqRuKI">
+                          
+                      <Foundation.Core.ModelElement.name>setWindowSize</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.864" 
+                          xmi.uuid="g4NfKblaMvymTf56OrRvJY95qF8Yst4V">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.865" 
+                      xmi.uuid="sxgGeIZZq4aRyboot7dZ1fYdEtisHVz4">
+                          
+                      <Foundation.Core.ModelElement.name>getFeatureNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.866" 
+                          xmi.uuid="qAtirTyXDXDHfzph4rS4jzMQn8njKz6b">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.867" 
+                      xmi.uuid="OFavkE9jJxL0s5WzmNlSVL2unOa4H7MS">
+                          
+                      <Foundation.Core.ModelElement.name>getServerUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.868" 
+                          xmi.uuid="ywOSMR9SIkX7FwXzOV87ysMYSLLcd7Q5">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.869" 
+                      xmi.uuid="QEEINXX9qIM8iiGqE88E2n0Cp1akKVcB">
+                          
+                      <Foundation.Core.ModelElement.name>getVersion</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.870" 
+                          xmi.uuid="WQFofEhA65fKU9g7thdVqB2T7E97oH9x">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.871" 
+                      xmi.uuid="mR4fRi6y7RqHwWst7af7hfpwEcFLdoc9">
+                          
+                      <Foundation.Core.ModelElement.name>getMethod</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.872" 
+                          xmi.uuid="45wnOlMC57VpRhmsjPJ7C6h9w4MMzCfH">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.873" 
+                      xmi.uuid="Rj1LVHH17X22Gnit55EuC75RFl71dHvf">
+                          
+                      <Foundation.Core.ModelElement.name>getQueryableLayers</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.874" 
+                          xmi.uuid="koeowoYNhzeREn9VQw5DIlNlGf8Ew6FY">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.875" 
+                      xmi.uuid="adi1TXcZnEJKYu6uxRi6ooJ6RVePB614">
+                          
+                      <Foundation.Core.ModelElement.name>getAllLayers</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.876" 
+                          xmi.uuid="rG2Kx32gcJ5IRmyxjC8aULA4CHFPxhvO">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.877" 
+                      xmi.uuid="pcscYk4KzdUurTvZELG8fxAxvLMkwclY">
+                          
+                      <Foundation.Core.ModelElement.name>getLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.878" 
+                          xmi.uuid="iSMem6nLMF9VyMcAqKfv5D35SmoUjaeZ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.879" 
+                      xmi.uuid="is57RMRgYVU9qfdXw8kuHjhVoaFB2mED">
+                          
+                      <Foundation.Core.ModelElement.name>getLayerIdByName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.880" 
+                          xmi.uuid="lWh3K9CFyomws3Akre9YUWp3U1NWqhX8">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.881" 
+                      xmi.uuid="UGdvndG8kn93LoOMcoYZHxxkyoRF4jaS">
+                          
+                      <Foundation.Core.ModelElement.name>addLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.882" 
+                          xmi.uuid="2lf8AVOV7VzSjyBtPfeEawGYnVAZA7du">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.883" 
+                      xmi.uuid="4OpDvRh6vEJPFFTQkGaaTsoTuf8oAkOS">
+                          
+                      <Foundation.Core.ModelElement.name>addSLD</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.884" 
+                          xmi.uuid="e05MpawLJ6YF1jrVdVTPNdcyTHcjh9fD">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.885" 
+                      xmi.uuid="H8KjjKwtQPCOZR0EBlU02P3p3tj1SS56">
+                          
+                      <Foundation.Core.ModelElement.name>deleteLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.886" 
+                          xmi.uuid="l49yOAi9Ul1QtjEZLWzbsZGA95BLdZCk">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.887" 
+                      xmi.uuid="NGuhvsbsju0IrMrw4jBv5Qj5DaFhlBh1">
+                          
+                      <Foundation.Core.ModelElement.name>moveLayerUp</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.888" 
+                          xmi.uuid="hgf3Il4vmNvuBcmqVBr1EznM0lNKcA0s">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.889" 
+                      xmi.uuid="oRL8SDa3roiVmzo4ogeNRUfjHj0qTett">
+                          
+                      <Foundation.Core.ModelElement.name>moveLayerDown</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.890" 
+                          xmi.uuid="FShpSLCqU9HbbyDgp8MT9B5L6s3zLYd1">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.891" 
+                      xmi.uuid="AKeCFu3jzOFkwIzdSVrKZeRiCzWWjs64">
+                          
+                      <Foundation.Core.ModelElement.name>setExtension</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.892" 
+                          xmi.uuid="MDLLVJm6QPDiDNTFodzcUVns3gtrHEMP">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.893" 
+                      xmi.uuid="T3Wy5yjYQ5mc3EYHDw4twbG29fdpsMBN">
+                          
+                      <Foundation.Core.ModelElement.name>getExtension</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.894" 
+                          xmi.uuid="0ZnGTex4Qj6PBXApq5PDAc9PnAIyknDz">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.895" 
+                      xmi.uuid="ds0TuDMfjhMKGAbrGLMxT7WY56zH2TyD">
+                          
+                      <Foundation.Core.ModelElement.name>initTimeExtent</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.896" 
+                          xmi.uuid="FgfwWOKc7FcgkrxYg1WwJ1lvgYKEEZOf">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.897" 
+                      xmi.uuid="G8Rm9pYJ7phfjRMFreKuLbDxP2eMAAOq">
+                          
+                      <Foundation.Core.ModelElement.name>clearTimeExtent</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.898" 
+                          xmi.uuid="hMar5JUjvHLTV6UF58rCdmxCrtz8uKrj">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.899" 
+                      xmi.uuid="ZRebXAoR3gOKVFeEZe6iw1o9tY2J7pg2">
+                          
+                      <Foundation.Core.ModelElement.name>getCurrentTimestamp</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.900" 
+                          xmi.uuid="2Lx58sbMP6P2mNMYqeGH2YC8ryshPMEc">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.901" 
+                      xmi.uuid="i4PszrfpHv8JhfTwsRe7B4Qlyw1E5Tqo">
+                          
+                      <Foundation.Core.ModelElement.name>setOpacity</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.902" 
+                          xmi.uuid="ys4DqRKak5UcSPWMsygoarmWNUpeunpl">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.903" 
+                      xmi.uuid="Ff7to6PAswNniA0CzCFH1S1wC7RLIBOc">
+                          
+                      <Foundation.Core.ModelElement.name>getOpacity</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.904" 
+                          xmi.uuid="KTRTHiuwV03GwxgShZNOXZksRN3rQ46u">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.52" 
+                  xmi.uuid="p9kMCFeghJDzx0lQvBDTAe4Pt2fbujMa">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>EditLine</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.908"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.906" 
+                      xmi.uuid="Q2I0dOexjfnzJZFM52FUpgCihaL5JmGS">
+                          
+                      <Foundation.Core.ModelElement.name>instantiateControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.907" 
+                          xmi.uuid="Kx1zqdVmyVQYeG2YjwwAAgOlAWcUBWZ8">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.53" 
+                  xmi.uuid="e6SSPCUA7hQ8waIU4VUdeJgr2qhn4g4I">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>CursorTrack</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.940"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.909" 
+                      xmi.uuid="wNt9zbk4JqnvvrXM9q8GZJA08Im4vl1m">
+                    <Foundation.Core.ModelElement.name>showPx</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.53"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.910" 
+                      xmi.uuid="RRPv5yy5gdX07Lub1GTmLxuCPu1TS00e">
+                    <Foundation.Core.ModelElement.name>showXY</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.53"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.911" 
+                      xmi.uuid="nLBsYuQbmgqEDtLxMmNgZONOMDjK6rkF">
+                    <Foundation.Core.ModelElement.name>showLatLong</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.53"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.912" 
+                      xmi.uuid="IpavvEJeOJvj3cjNCaszY0havsEyh0aJ">
+                    <Foundation.Core.ModelElement.name>showDMS</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.53"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.913" 
+                      xmi.uuid="dFZ2cDXKIxWAqG4Y4Dl8cZHPbpogp4io">
+                    <Foundation.Core.ModelElement.name>showDM</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.53"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.914" 
+                      xmi.uuid="C8wp0kqnJP2Q8QiJKt2KeXFyCvUG1i48">
+                    <Foundation.Core.ModelElement.name>showMGRS</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.53"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.915" 
+                      xmi.uuid="qFls8wArLnPJtZLUnN24a4J7k8usST8o">
+                    <Foundation.Core.ModelElement.name>precision</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.53"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.916" 
+                      xmi.uuid="EZmPabcHoHeVOwFsc5b2GEUvx9nMYzEf">
+                    <Foundation.Core.ModelElement.name>formName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.53"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.917" 
+                      xmi.uuid="fZwfoKbSqX1bG8NVTkk7vs9h1clx62rW">
+                    <Foundation.Core.ModelElement.name>MGRS</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.53"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.918" 
+                      xmi.uuid="SLqhgJOu63uOEjQwuCPvHjuApjgTHqUD">
+                    <Foundation.Core.ModelElement.name>coordForm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.53"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.919" 
+                      xmi.uuid="lHRkQn0EHxP86QzCBrnRC91DUVHgCBFG">
+                    <Foundation.Core.ModelElement.name>evXY</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.53"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.920" 
+                      xmi.uuid="2NZ6sIem5yVHQHaM5Ge2u6RdTLNSKvJt">
+                    <Foundation.Core.ModelElement.name>pt</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.53"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.921" 
+                      xmi.uuid="sAje9R7g9g23MZjtJGDftoMhmKHyTH2d">
+                    <Foundation.Core.ModelElement.name>evLonLat</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.53"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.922" 
+                      xmi.uuid="ZMjiPa5uGzCPIe5rpNBY8aeZvmxYaNoE">
+                    <Foundation.Core.ModelElement.name>longitude</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.53"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.923" 
+                      xmi.uuid="txZfKxFNZvrxeKMZmi7qKQXTydHo9heC">
+                    <Foundation.Core.ModelElement.name>latitude</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.53"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.924" 
+                      xmi.uuid="l9CuTkEB6aSHIVTGS7AwGeFwBtzGQoZl">
+                    <Foundation.Core.ModelElement.name>coords</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.53"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.925" 
+                      xmi.uuid="3jSVQbayFSeEN6TBemzj4N0cu4nHGteH">
+                    <Foundation.Core.ModelElement.name>coordinatehemi</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.53"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.926" 
+                      xmi.uuid="HD0Eq5LMYrWQdKdlDA2OtAo91hGZmcp4">
+                          
+                      <Foundation.Core.ModelElement.name>init</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.927" 
+                          xmi.uuid="UZLICakRXnex4JP8vTBJIEfobegtTpWy">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.928" 
+                      xmi.uuid="tWkQc7YTnraBJuSfbAWQ21ex7mpNQYnv">
+                          
+                      <Foundation.Core.ModelElement.name>clear</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.929" 
+                          xmi.uuid="tYWkAdSYygLm21W4ZJeeeLMPxDl6qiaZ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.930" 
+                      xmi.uuid="lX1rOEDSIEFsM1ZGAo4rSn7cMzJBYRHl">
+                          
+                      <Foundation.Core.ModelElement.name>mousemoveHandler</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.931" 
+                          xmi.uuid="dtujImgcmofH9kWurW1rEmkglJoA5pL5">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.932" 
+                      xmi.uuid="CYL1Vcf03vH8HTQsKFUvNo0KUHQ0WJWO">
+                          
+                      <Foundation.Core.ModelElement.name>mouseoutHandler</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.933" 
+                          xmi.uuid="sMOuxTmRskDNybA5zZkOpRSRs8hCyir7">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.934" 
+                      xmi.uuid="QHCSeYzeBRbcpHaPfgpgIOFtrvkcubNv">
+                          
+                      <Foundation.Core.ModelElement.name>convertDMS</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.935" 
+                          xmi.uuid="A0ag7s8dyA06AeD2jtiYSQGkkpjT0bas">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.936" 
+                      xmi.uuid="iYJpijG7d0RnyAJpGGTfDLxgcpnxqmc1">
+                          
+                      <Foundation.Core.ModelElement.name>convertDM</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.937" 
+                          xmi.uuid="83kXoQr13L9e4Sb3gswM8hpz01Q0I5IY">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.938" 
+                      xmi.uuid="oXFEo4t1GKs64HIDTAXqvjWizGGnW1bJ">
+                          
+                      <Foundation.Core.ModelElement.name>getHemi</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.939" 
+                          xmi.uuid="Y5yMqioOun6ZUzoEQ4YVtwRFbYJLn2Ku">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.54" 
+                  xmi.uuid="XrGpcYHc5GYLTBmkn0Xhit9DrhbjyO28">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>OwsContext</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1067"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.941" 
+                      xmi.uuid="UTdHhSvV8IuKujej8m9d0h8ksbCdfj74">
+                    <Foundation.Core.ModelElement.name>namespace</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.942" 
+                      xmi.uuid="bJIg0Vkyn2bH75oC3PDhFhW8f0mJA1FR">
+                    <Foundation.Core.ModelElement.name>hiddenValue</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.943" 
+                      xmi.uuid="q67anweKG5rxny5KShAvWn1i6pTxzIud">
+                    <Foundation.Core.ModelElement.name>layer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.944" 
+                      xmi.uuid="pZMpm1aJcWvXdIoZuugue3oBSpJWFiO1">
+                    <Foundation.Core.ModelElement.name>hidden</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.945" 
+                      xmi.uuid="AFgurSmV9JLABTRCSzkp2upMA0rscOjx">
+                    <Foundation.Core.ModelElement.name>bbox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.946" 
+                      xmi.uuid="RI2eocadCociSxQvS4qwydp0DFaS7fAy">
+                    <Foundation.Core.ModelElement.name>lowerLeft</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.947" 
+                      xmi.uuid="XkiliGT6dksYbHsrzRf8hTpJakHFS4dn">
+                    <Foundation.Core.ModelElement.name>upperRight</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.948" 
+                      xmi.uuid="iQMVMEaY17lkR4SZCpw4nxUVUeLGEceP">
+                    <Foundation.Core.ModelElement.name>strBbox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.949" 
+                      xmi.uuid="tU9GCXTaSkW56qzVF3fETrmzdV1HjzE5">
+                    <Foundation.Core.ModelElement.name>aoi</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.950" 
+                      xmi.uuid="qgqRaPOSslJaSdJTE8Xf5YYbCuWHZ0NN">
+                    <Foundation.Core.ModelElement.name>win</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.951" 
+                      xmi.uuid="U3A1Kmh4MWUrfMoVairediRWuv9tpqN3">
+                    <Foundation.Core.ModelElement.name>width</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.952" 
+                      xmi.uuid="5UqSVivndcOyTCOpfpXsOYbAlnFb4dl6">
+                    <Foundation.Core.ModelElement.name>height</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.953" 
+                      xmi.uuid="ef9QnJvlaSw6mQv9aDZoZYxmyIBB2wBW">
+                    <Foundation.Core.ModelElement.name>feature</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.954" 
+                      xmi.uuid="7t3juUdlFdjgkX52KjfRBQ96PX7c1NhO">
+                    <Foundation.Core.ModelElement.name>service</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.955" 
+                      xmi.uuid="oJq6cBvlRz5RJmviHTK8lmscMKxLtDFV">
+                    <Foundation.Core.ModelElement.name>url</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.956" 
+                      xmi.uuid="fyNEoh746fOpGidnh03yUxCslso2yEOO">
+                    <Foundation.Core.ModelElement.name>nodeSelectXpath</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.957" 
+                      xmi.uuid="hIocABbzGTZOcW6dq63D3e6TkFseSLB0">
+                    <Foundation.Core.ModelElement.name>featureList</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.958" 
+                      xmi.uuid="KNzewG2BWalVaBZT3o4FrXv6h4m4heUX">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.959" 
+                      xmi.uuid="rmAUH8eUUP56tOJAK2eT9nF9VzEr2BH8">
+                    <Foundation.Core.ModelElement.name>featureName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.960" 
+                      xmi.uuid="m3cLePEZTfkghNCoxBZxOeZWSNJqX2Si">
+                    <Foundation.Core.ModelElement.name>listNodeArray</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.961" 
+                      xmi.uuid="OnQLnZBpAt8MmPFyhbjqRlJsJluf9NZS">
+                    <Foundation.Core.ModelElement.name>parentNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.962" 
+                      xmi.uuid="5PAqtL9Kh2HHMLOkt39YDflAvdr6wZBj">
+                    <Foundation.Core.ModelElement.name>randomNumber</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.963" 
+                      xmi.uuid="zRnRASssYNErDhnKCmYqwyNZApHZcM2U">
+                    <Foundation.Core.ModelElement.name>id</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.964" 
+                      xmi.uuid="LZUJdJV7wfzaTphcGlsS3oskIGXADCr3">
+                    <Foundation.Core.ModelElement.name>str</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.965" 
+                      xmi.uuid="8EZKTIAo0ZBeYdiEubPqZnnQeUPz1S5a">
+                    <Foundation.Core.ModelElement.name>node</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.966" 
+                      xmi.uuid="XtTTOh5BSLHuuObVUX4OARoNrKu4cy4j">
+                    <Foundation.Core.ModelElement.name>baseLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.967" 
+                      xmi.uuid="crovcSoK8ihxt7a0V01eixTgIPNTMLK2">
+                    <Foundation.Core.ModelElement.name>layerName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.968" 
+                      xmi.uuid="irMf1U1lq5POQy5vWTW8SYrR6v43faBa">
+                    <Foundation.Core.ModelElement.name>attribs</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.969" 
+                      xmi.uuid="H5Ickkb7FyH8kHz2MlJBtAThN73LzdVL">
+                    <Foundation.Core.ModelElement.name>deletedNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.970" 
+                      xmi.uuid="H4IEt06i1f48yZPeUarKuZ3p3xpCa7ti">
+                    <Foundation.Core.ModelElement.name>movedNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.971" 
+                      xmi.uuid="1wmnwEUbzCEwoEvpqhSdt1pEqluSmvnq">
+                    <Foundation.Core.ModelElement.name>sibNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.972" 
+                      xmi.uuid="eYB25oQJYU7f3DEudB7h6HTIurLPD8D9">
+                    <Foundation.Core.ModelElement.name>extension</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.973" 
+                      xmi.uuid="15JYFHiyBt809GTCrI7du7cxZBEKXoHW">
+                    <Foundation.Core.ModelElement.name>general</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.974" 
+                      xmi.uuid="BMhP5vIO7hRTaGpmWWeUHA3CouudzwTo">
+                    <Foundation.Core.ModelElement.name>newChild</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.975" 
+                      xmi.uuid="Id2fluRL4MLeT7lqhHvsBQNLl7VMcPe3">
+                    <Foundation.Core.ModelElement.name>opacity</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.976" 
+                      xmi.uuid="CKe8XGRlKRJsnlfnPdK0JsWMzUuAF7jm">
+                    <Foundation.Core.ModelElement.name>timeNodes</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.977" 
+                      xmi.uuid="Kw4qCMVJgGqmqd464lEpdxZfjp7Vz0FD">
+                    <Foundation.Core.ModelElement.name>extentNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.978" 
+                      xmi.uuid="O8XtLLHjoVkFUHFq0TmeD0ZF2qAVlLPc">
+                    <Foundation.Core.ModelElement.name>layerNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.979" 
+                      xmi.uuid="Erj6TvNcUGOGSZNxQPBpycUEojD0DtGN">
+                    <Foundation.Core.ModelElement.name>times</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.980" 
+                      xmi.uuid="XeLnxEfzK9LHVr7KPHA0h4LTcvSBZN7E">
+                    <Foundation.Core.ModelElement.name>j</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.981" 
+                      xmi.uuid="p8xakzVDHytKjmsLUtsJuOK2davS1gEO">
+                    <Foundation.Core.ModelElement.name>params</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.982" 
+                      xmi.uuid="CSfF1jklVD8gVBCXB9wE6nANBWKxySli">
+                    <Foundation.Core.ModelElement.name>start</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.983" 
+                      xmi.uuid="G82VaMmPKGsMlS3a5jwNheVVWdhBsXog">
+                    <Foundation.Core.ModelElement.name>stop</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.984" 
+                      xmi.uuid="zfw29o98QPv1s7HJwz4oWeSx7k4Jsgya">
+                    <Foundation.Core.ModelElement.name>period</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.985" 
+                      xmi.uuid="hiVJPsMSsaTtpomEEFFXtoFYGB1jz1kT">
+                    <Foundation.Core.ModelElement.name>parts</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.986" 
+                      xmi.uuid="sx4g0KHdmugt1SvvtYMKDVx76Z66HxdE">
+                    <Foundation.Core.ModelElement.name>timestamp</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.987" 
+                      xmi.uuid="JSKFCAcBdpRsJvl3OlxmKHRs3OJkNq2U">
+                    <Foundation.Core.ModelElement.name>tsList</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.988" 
+                      xmi.uuid="rsG2b04C6FICnoQDuu5kCmDzfpNV6woe">
+                    <Foundation.Core.ModelElement.name>index</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.54"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.989" 
+                      xmi.uuid="b4QySmV5oAW9kmDJ39htQVgWjH4xOBaj">
+                          
+                      <Foundation.Core.ModelElement.name>setHidden</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.990" 
+                          xmi.uuid="kT17yWq8KJWtHu7xauwk9aEh1GIAHLrN">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.991" 
+                      xmi.uuid="m3GdNSzQEJ6EFinFZXBqgPddByJbIxnY">
+                          
+                      <Foundation.Core.ModelElement.name>getHidden</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.992" 
+                          xmi.uuid="MyXCs5PbTmInl50ZkC3NZITDD3ejuVkd">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.993" 
+                      xmi.uuid="bhs1Kkqth0yF2wktBLsmQzdYAHCqFaay">
+                          
+                      <Foundation.Core.ModelElement.name>getBoundingBox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.994" 
+                          xmi.uuid="uyEDw3X9pb3iuuVx9HR18H3ZPKxRyBhu">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.995" 
+                      xmi.uuid="LB11Xnj9igSHPSN3LT1prGS89QzkRtiJ">
+                          
+                      <Foundation.Core.ModelElement.name>setBoundingBox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.996" 
+                          xmi.uuid="XbXDyrZe4yboJIReKqfUOvDHT906yV4X">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.997" 
+                      xmi.uuid="12aO3RNyKUnmh7iaGquaKJRAc6ACVEBx">
+                          
+                      <Foundation.Core.ModelElement.name>initBbox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.998" 
+                          xmi.uuid="GE0OYJHJuF2JEcVDrTcTZu0xrfZI8ORl">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.999" 
+                      xmi.uuid="xqNiuV9PKOjNjxQwj7LWjjqNXjrKEuxU">
+                          
+                      <Foundation.Core.ModelElement.name>initAoi</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1000" 
+                          xmi.uuid="69e2ou47mQuFSHesnPjAleGKhSYpW1yp">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1001" 
+                      xmi.uuid="PAzbbNrHbmIrRsyrDhUnSGOFzzVzRu5z">
+                          
+                      <Foundation.Core.ModelElement.name>setSRS</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1002" 
+                          xmi.uuid="NgRvYeLQyfnhiLySIkLDJ9nL4EAKjb4V">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1003" 
+                      xmi.uuid="igy9qsftp5zQeP5U4xkHEd6XFYmcBilb">
+                          
+                      <Foundation.Core.ModelElement.name>getSRS</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1004" 
+                          xmi.uuid="RVAuZvAlo9y60dkScmJqRvrZhgXJbTCo">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1005" 
+                      xmi.uuid="OeNiOFT5Oi7BDtQXCk7tTjPdtDhJ6YyP">
+                          
+                      <Foundation.Core.ModelElement.name>initProj</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1006" 
+                          xmi.uuid="PAVpBf73D8NvOokSDcrEAJtzggUGKKzv">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1007" 
+                      xmi.uuid="ldKpLXNPTOKsRlUtoAe4nySTN375Cm9T">
+                          
+                      <Foundation.Core.ModelElement.name>getWindowWidth</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1008" 
+                          xmi.uuid="QuLT7vWrWLrV0yjnK3nGLyPmggX9dpdL">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1009" 
+                      xmi.uuid="bK5PZ9TcVTXxZCnJUTDYjwhaczJWfU9A">
+                          
+                      <Foundation.Core.ModelElement.name>setWindowWidth</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1010" 
+                          xmi.uuid="yiH3ZQk3PVe9EMLSTgoLDdGaCJC3TJXT">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1011" 
+                      xmi.uuid="Do8KOgqQqkxljwLVVPUToGjI6bvS5ZYn">
+                          
+                      <Foundation.Core.ModelElement.name>getWindowHeight</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1012" 
+                          xmi.uuid="QcYiSbugLD4cCH6AYF9at63rBJX9hu4C">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1013" 
+                      xmi.uuid="c0f0XwqTZOW32SELOfGXkjOOy58Aqi8L">
+                          
+                      <Foundation.Core.ModelElement.name>setWindowHeight</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1014" 
+                          xmi.uuid="4I1P7mk3tzWdYMgouIVFKWvcugxsAnmu">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1015" 
+                      xmi.uuid="3FIRLLean9QlsCcPidshzk2qcc3ervYd">
+                          
+                      <Foundation.Core.ModelElement.name>getWindowSize</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1016" 
+                          xmi.uuid="6oW12bm8jfinN5W7r33MQuOJz6CO0ijg">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1017" 
+                      xmi.uuid="mLxSFQyEunxxZHwj9L1nWrDsGlO7NAPc">
+                          
+                      <Foundation.Core.ModelElement.name>setWindowSize</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1018" 
+                          xmi.uuid="3hQeyhh5Sw6kTPbRITzdStg1nXfDBn7k">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1019" 
+                      xmi.uuid="0fA7Pi8GMuhBHIEroojgmkQG2MMuFGQz">
+                          
+                      <Foundation.Core.ModelElement.name>getFeatureNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1020" 
+                          xmi.uuid="NHQGGiyC1CdVmpV3hg1beg5q08uFGb4A">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1021" 
+                      xmi.uuid="CaMTijHwUkkpyRt4oQcT1GBs7SrTJ3zv">
+                          
+                      <Foundation.Core.ModelElement.name>getServerUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1022" 
+                          xmi.uuid="OCfUORryDel6DZfPEZI57OkeRSVrWNup">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1023" 
+                      xmi.uuid="WFfWyPx7fVO1uqbv2lQ4kuSVGeql3rrH">
+                          
+                      <Foundation.Core.ModelElement.name>getVersion</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1024" 
+                          xmi.uuid="LF2kqHOUNbbRY60oGeZmyXYtCm0P8fKb">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1025" 
+                      xmi.uuid="cMsSMXrjmmyWDDSzEXiyYNArTa1iV49q">
+                          
+                      <Foundation.Core.ModelElement.name>getMethod</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1026" 
+                          xmi.uuid="lPga9wt0Y7RSfohO09VDkjPqumEuoyAq">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1027" 
+                      xmi.uuid="bTU45hqYoHu0fdQuItyF2V1txjm8UAbw">
+                          
+                      <Foundation.Core.ModelElement.name>getBaseLayerService</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1028" 
+                          xmi.uuid="8AuIDNapfmRU4yB7RSOt0od3RStvZyB2">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1029" 
+                      xmi.uuid="IOLYOJDCkl7cwf2drqivBMcNPMGfzk2F">
+                          
+                      <Foundation.Core.ModelElement.name>loadFeatures</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1030" 
+                          xmi.uuid="l2Bgu1SO3pdrb5WIXfxeBwgweFEpkdDp">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1031" 
+                      xmi.uuid="krAQluCJlHZcmmHx52AOjfocOwuFk57t">
+                          
+                      <Foundation.Core.ModelElement.name>setRequestParameters</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1032" 
+                          xmi.uuid="rRWFv9UgLUBoRCw9gVWRrIAlWRDDJrUB">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1033" 
+                      xmi.uuid="xQalIko5dd9TosmGilsH6PEd6XyYMfKl">
+                          
+                      <Foundation.Core.ModelElement.name>getQueryableLayers</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1034" 
+                          xmi.uuid="yfyVjhvmLYibGmajJMO5zexnSrhXQGJn">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1035" 
+                      xmi.uuid="sjIcValyK2l5DAFZQAlSHj9IMdZoFDE5">
+                          
+                      <Foundation.Core.ModelElement.name>getAllLayers</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1036" 
+                          xmi.uuid="WGTY441mQBFsqZd4wmSYdXkjxg27DBrt">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1037" 
+                      xmi.uuid="eqVqBqohzAgFxH9lJmRJ62Y1kAizFnvJ">
+                          
+                      <Foundation.Core.ModelElement.name>getLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1038" 
+                          xmi.uuid="lYwvMTvq05yIeuZYFx6HrNfLLfpJn0M7">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1039" 
+                      xmi.uuid="A2fxeoFV0J9T4ad8mEbIrSUU9prw8Co5">
+                          
+                      <Foundation.Core.ModelElement.name>getLayerIdByName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1040" 
+                          xmi.uuid="sPZigEmcLlbQx9kZYgKuo4KSwVxveeNk">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1041" 
+                      xmi.uuid="iaMRCKhYUpCuKsf9WEsgwNefOTQ5eiYg">
+                          
+                      <Foundation.Core.ModelElement.name>addLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1042" 
+                          xmi.uuid="HNMtib9mY7nryPAOZR778mx6OUvx4RVB">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1043" 
+                      xmi.uuid="36TAlW5mssmf17ZRttlbtOBDK3oBdvNW">
+                          
+                      <Foundation.Core.ModelElement.name>getBaseLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1044" 
+                          xmi.uuid="Nw0s9cfxtKsaNZXMBm4pcntsERIQ03Ba">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1045" 
+                      xmi.uuid="dpk6vuwnsQ6H9cX6R5xNiPouuWWPPyU2">
+                          
+                      <Foundation.Core.ModelElement.name>addSLD</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1046" 
+                          xmi.uuid="H4vTFNupGsrc2SbDnuJc4zIilmZi7uos">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1047" 
+                      xmi.uuid="4QNK3kw7aNFShLiClLlyJ26Wm9XeVsqg">
+                          
+                      <Foundation.Core.ModelElement.name>deleteLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1048" 
+                          xmi.uuid="43ZrdOZQ3yaqzKelecZKSA5k61Ds0bAy">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1049" 
+                      xmi.uuid="xpxFpWclt3y5JZHXRiwqKG8rs445XI8O">
+                          
+                      <Foundation.Core.ModelElement.name>moveLayerUp</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1050" 
+                          xmi.uuid="4X0zOOop63GEgfMnbJb1KsAUYLqOrmx8">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1051" 
+                      xmi.uuid="lTi0ptTpAysV5fteV6fx4FH0V1MxPM30">
+                          
+                      <Foundation.Core.ModelElement.name>moveLayerDown</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1052" 
+                          xmi.uuid="Vqj9PByy1eC6Q3pBwTn5MUtHBWu687gn">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1053" 
+                      xmi.uuid="DgwIcd9a7jgyjHP5ufk0sXGwTLwjhujF">
+                          
+                      <Foundation.Core.ModelElement.name>setExtension</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1054" 
+                          xmi.uuid="OVksusQlgTgq9UrIhC4jMJkug6MMhhoQ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1055" 
+                      xmi.uuid="dPfDp40fzFsQvcjyKhF3WQZJbNzILpXe">
+                          
+                      <Foundation.Core.ModelElement.name>getExtension</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1056" 
+                          xmi.uuid="d4qyLLhR0nMjOmYe18zWJFKcPllU3R6l">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1057" 
+                      xmi.uuid="o6cagXsbvFXVs35hGU5E2YxRQo0aYn01">
+                          
+                      <Foundation.Core.ModelElement.name>setOpacity</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1058" 
+                          xmi.uuid="ODDsNtwE3xX2WN3npZAPoQWCnyWWuxBJ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1059" 
+                      xmi.uuid="yvPQfI4VewRnC2LxJbBnlqKg8aiP098y">
+                          
+                      <Foundation.Core.ModelElement.name>getOpacity</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1060" 
+                          xmi.uuid="jyGIHGT7CG2WBFfQnkqnhL0RutU20aWx">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1061" 
+                      xmi.uuid="yCxYUZi1OzQH1An3nQcQVboxruFUE1og">
+                          
+                      <Foundation.Core.ModelElement.name>initTimeExtent</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1062" 
+                          xmi.uuid="RJcyUjn2j27t6A7nXapzvyvpFXeS4fP1">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1063" 
+                      xmi.uuid="r1EgFrBhwiyBOUyPTqCi9u3W2RUkHqd6">
+                          
+                      <Foundation.Core.ModelElement.name>clearTimeExtent</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1064" 
+                          xmi.uuid="GzXsRddBd0foz96O0UZrjPrOu9GND6QM">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1065" 
+                      xmi.uuid="aH8axWvLAa2smDwFeI80MHr3FvsufwoB">
+                          
+                      <Foundation.Core.ModelElement.name>getCurrentTimestamp</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1066" 
+                          xmi.uuid="6XOSa3OgZnmyqG6lCRcjyW30ut6MQ71u">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.55" 
+                  xmi.uuid="0kjZ9YRmcwCB2RdjVx9PdT0t3t9KWTTU">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>XSLTProcessor</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1068" 
+                      xmi.uuid="pdZIojlNAsKTMTSi7Q9Wp3oghgxnKKLL">
+                    <Foundation.Core.ModelElement.name>template</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.55"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1069" 
+                      xmi.uuid="8bhCvkbuQrwuRMaAdFg1WkJfJic02Y61">
+                    <Foundation.Core.ModelElement.name>processor</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.55"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1070" 
+                      xmi.uuid="0ZPwxIfxaa4Rk0bft1wCbnHK7PU7J1Q2">
+                          
+                      <Foundation.Core.ModelElement.name>importStylesheet</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1071" 
+                          xmi.uuid="f2xG3x9rSVLU3YoVqcKZA5x1atWv6mJL">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1072" 
+                      xmi.uuid="5AizcgMNHSpvaihKGHROzANbQHDHkgTG">
+                          
+                      <Foundation.Core.ModelElement.name>transformToDocument</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1073" 
+                          xmi.uuid="eDjzVcSVjUo5Nd29DTi5507itVjdEkrq">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1074" 
+                      xmi.uuid="lk6PHsqN0rw1EuNWGo9KKvxAcVnLaoYf">
+                          
+                      <Foundation.Core.ModelElement.name>transformToFragment</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1075" 
+                          xmi.uuid="ZRaY6iZE3aIp835wRVR28Hkte6d1i5nJ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1076" 
+                      xmi.uuid="aUzDdmVR5nyE7DoQ7BJzJCK25BdY7wNx">
+                          
+                      <Foundation.Core.ModelElement.name>setParameter</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1077" 
+                          xmi.uuid="Wc0jWgSpxmWETEYRM5KUoBgdudGO6Z3q">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1078" 
+                      xmi.uuid="svbF5V1o1ym4dv2sSYjUqkyJPSXN0vVq">
+                          
+                      <Foundation.Core.ModelElement.name>getParameter</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1079" 
+                          xmi.uuid="nv0uPqVroOi4EtmSm5vlkpzknlmnnW8q">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1080" 
+                      xmi.uuid="lnGEejTuABd1yOS4mVtkERQ3Quv5eVbH">
+                          
+                      <Foundation.Core.ModelElement.name>clearParameters</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1081" 
+                          xmi.uuid="Vh8ItxO0FYLIZixkUpH9UpVqEO7c2X5Q">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.56" 
+                  xmi.uuid="e9yE2TpvqrkYUmgO3AQQW3XSfAwKe4Bs">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>XMLSerializer</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1082" 
+                      xmi.uuid="igbQJ1xwmzHHr7c9gMywS7jbvQpIzKns">
+                          
+                      <Foundation.Core.ModelElement.name>serializeToString</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1083" 
+                          xmi.uuid="mVH9txShWwxc63bekbc16HxKou69dhNd">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.57" 
+                  xmi.uuid="ZOlp4JdCmq6NlOJlMtIjJ9qLamIUFuOc">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>OpenLSForm</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1091"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1084" 
+                      xmi.uuid="7ZHdTt9nTwkA3CbMwPQMjvlhft38JU3t">
+                    <Foundation.Core.ModelElement.name>defaultModelUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.57"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1085" 
+                      xmi.uuid="rrnzvnpSZ4jda5SSIdnwMH5oKhBKT56E">
+                    <Foundation.Core.ModelElement.name>geocodeServerUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.57"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1086" 
+                      xmi.uuid="Suy7Nr9tQFR4sgDSmbSBTWUm8TZqk3DV">
+                    <Foundation.Core.ModelElement.name>xsl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.57"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1087" 
+                      xmi.uuid="mWddOcl2rhHouXahxh5bMMLDTG10Hy9j">
+                    <Foundation.Core.ModelElement.name>geoForm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.57"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1088" 
+                      xmi.uuid="r6oDi3gNhoiFdDqAChV3JzI8g8vXuJdM">
+                    <Foundation.Core.ModelElement.name>formName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.57"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1089" 
+                      xmi.uuid="sODATxWdKi8aPonXwNjOZevYS88YQ31F">
+                          
+                      <Foundation.Core.ModelElement.name>submitForm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1090" 
+                          xmi.uuid="A1WGM9SEPrE5PhtBoA2ZZfS5nTL6UZdz">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.58" 
+                  xmi.uuid="JXqLY6DFfwG9ziJqQdcuwvi94aqzHHwm">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>OverviewMap</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1104"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1092" 
+                      xmi.uuid="0JADXbg505iw1Tzz5vCjxe2NuJpCulIc">
+                    <Foundation.Core.ModelElement.name>width</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.58"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1093" 
+                      xmi.uuid="MjwKgldWYFvp9DYs4sNCgtTRvrrWPTeH">
+                    <Foundation.Core.ModelElement.name>height</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.58"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1094" 
+                      xmi.uuid="mKVih17e5u7A1lYWqKpacAt8T6Akc0lK">
+                    <Foundation.Core.ModelElement.name>minRatio</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.58"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1095" 
+                      xmi.uuid="DMwpwdu7F1PCXzD2zuBZ1nQ0AZuBY0M2">
+                    <Foundation.Core.ModelElement.name>maxRatio</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.58"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1096" 
+                      xmi.uuid="86VSXvYHN777uRf7sBvBbRn1JbHdgRrS">
+                    <Foundation.Core.ModelElement.name>layersNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.58"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1097" 
+                      xmi.uuid="qfYeEEbX3sBHrMiq7BlbAL2vOWgelk0C">
+                    <Foundation.Core.ModelElement.name>layerNames</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.58"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1098" 
+                      xmi.uuid="WdAkKaOp5gpcc02atDEgOh0eAjfXWC0Q">
+                    <Foundation.Core.ModelElement.name>layers</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.58"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1099" 
+                      xmi.uuid="Q67K8xx3PgG4zJtGnHdOcnFIynzHrAic">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.58"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1100" 
+                      xmi.uuid="6XbLWLZnLqlUGmLelbAosJsHbjJIzhFY">
+                          
+                      <Foundation.Core.ModelElement.name>addOverviewMap</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1101" 
+                          xmi.uuid="e6M99QNyrdiFHrvATiZAhLczQwAN2oax">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1102" 
+                      xmi.uuid="rlOea0gg1S4W7OnYqsrRSUsg2aY9dFiO">
+                          
+                      <Foundation.Core.ModelElement.name>getClonedLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1103" 
+                          xmi.uuid="ctJOB1H7bqfDBgT8trSyGn3lAXjrsvfy">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.59" 
+                  xmi.uuid="1f5t0URXmX3XnYuyn4cbRqnP7gZcJmA5">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Reset</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1107"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1105" 
+                      xmi.uuid="noViCk3W41EK8zAUJCBphQZXTyI1OO97">
+                          
+                      <Foundation.Core.ModelElement.name>createControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1106" 
+                          xmi.uuid="XL3sgrFwJBmpowY8O1XYgY97JfjGsur7">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.60" 
+                  xmi.uuid="BcQzAFJVqNyPeYFT6q0rI5NthQkYastO">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>XMLHttpRequest</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.61" 
+                  xmi.uuid="8CYkUS5ysZCgGXJEn3MESYvJiaU1JDiE">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>ModelUrlInput</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1119"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1108" 
+                      xmi.uuid="vGB9ICVoptTUf7TsYJvwceGyiDewzGCN">
+                    <Foundation.Core.ModelElement.name>defaultUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.61"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1109" 
+                      xmi.uuid="Jg234Pkf5LENp0y4vpbsc1aFBNRYyodh">
+                    <Foundation.Core.ModelElement.name>httpPayload</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.61"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1110" 
+                      xmi.uuid="zjSUTnaAdn9qAzLkvPaROb6RhGrygJjb">
+                    <Foundation.Core.ModelElement.name>formName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.61"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1111" 
+                      xmi.uuid="lPiDxEAbyCKCzVJxEQz0yDA5fPUxC47h">
+                          
+                      <Foundation.Core.ModelElement.name>submitForm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1112" 
+                          xmi.uuid="DLi9ve7xDBP9ytUPlZAHPukn1sWYOYn6">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1113" 
+                      xmi.uuid="zRQzrs3lChAtVbFnUjyTuNpJlSUiyk94">
+                          
+                      <Foundation.Core.ModelElement.name>handleKeyPress</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1114" 
+                          xmi.uuid="T2ejEqSHo7x6z3OjSLgAtB5yTo9nyWpF">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1115" 
+                      xmi.uuid="9pbNHqqcaOdHBW2X75lyJ5XSbm0u9CIF">
+                          
+                      <Foundation.Core.ModelElement.name>prePaint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1116" 
+                          xmi.uuid="GCoPVBM56iP6PZEe24U7u6O2nU5J038q">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1117" 
+                      xmi.uuid="EShhGimWy625ncroa9KcfkzxwcKZax5T">
+                          
+                      <Foundation.Core.ModelElement.name>postPaint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1118" 
+                          xmi.uuid="OSd1nthmZe7FQ1AvGx3MExtMJZAmn3rR">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.62" 
+                  xmi.uuid="O3fyYkMIBZZ7OAem0ypuVGuOQknTkXaG">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>OpenLSResponse</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1120"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.63" 
+                  xmi.uuid="0yacrJWq9vJd0HeCuGuCFZZowhbkSODt">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>PanZoomBar</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1124"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1121" 
+                      xmi.uuid="ZXpStuy9HE4bhC8JANGrwBNqIRHzYQL3">
+                    <Foundation.Core.ModelElement.name>cursor</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.63"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1122" 
+                      xmi.uuid="ooc942FuCiQo6gEBLnwRLULOPY8kQ23G">
+                          
+                      <Foundation.Core.ModelElement.name>init</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1123" 
+                          xmi.uuid="MXxYa1lfANyqus5OjcINfrdc8a1LLPND">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.64" 
+                  xmi.uuid="bcsTaFHwbigYuJMFIiuoIFIvj6UY1TVn">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>GetFeatureInfo</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1144"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1125" 
+                      xmi.uuid="CEWqJFnJIPU6euxiYDS01y1825c0B7gH">
+                    <Foundation.Core.ModelElement.name>xsl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.64"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1126" 
+                      xmi.uuid="zaYVuFilAUxqUdd8zRBq59HDr60kTO1L">
+                    <Foundation.Core.ModelElement.name>infoFormat</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.64"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1127" 
+                      xmi.uuid="dNJTFjUvkUCfAEcbU4QkRMB8rYNPSnkI">
+                    <Foundation.Core.ModelElement.name>featureCount</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.64"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1128" 
+                      xmi.uuid="PdFlSHQiIDtAhND3Mwinx1pHiwXZzbat">
+                    <Foundation.Core.ModelElement.name>cursor</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.64"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1129" 
+                      xmi.uuid="zbFiLaBfUMdIt5R9FsnFzuV3s8npbLRc">
+                    <Foundation.Core.ModelElement.name>Control</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.64"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1130" 
+                      xmi.uuid="JmE0bdEktiDwCYVphGN4cO9wQbfwHBFO">
+                    <Foundation.Core.ModelElement.name>handler</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.64"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1131" 
+                      xmi.uuid="I2Rsv652tPMn7AZbdfnCNtpldiKfEb9o">
+                    <Foundation.Core.ModelElement.name>objRef</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.64"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1132" 
+                      xmi.uuid="luFJpxVaUYLKtv4WQBMbkwTXfx3n8spr">
+                    <Foundation.Core.ModelElement.name>selectedLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.64"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1133" 
+                      xmi.uuid="I0WKUARLW17xy8W0wka2zVSPxIWoIv7v">
+                    <Foundation.Core.ModelElement.name>queryList</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.64"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1134" 
+                      xmi.uuid="7cSBClvEiaFFUTnA7G3kn0f6YJ8hMqsf">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.64"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1135" 
+                      xmi.uuid="xDAqrwpEBBNZfJv6dkSnLWHfNeBOnw3r">
+                    <Foundation.Core.ModelElement.name>layerNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.64"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1136" 
+                      xmi.uuid="2RY74NTgpbYXKOMjt6vH1a3YR91V1R0B">
+                    <Foundation.Core.ModelElement.name>layerName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.64"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1137" 
+                      xmi.uuid="xuzGNqxZ8H0v2jeTJ5dHhNJ5hE0cQa37">
+                    <Foundation.Core.ModelElement.name>layerId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.64"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1138" 
+                      xmi.uuid="iJHEyuhymOqYZ4qUtoreePUHE9edmVHY">
+                    <Foundation.Core.ModelElement.name>hidden</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.64"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1139" 
+                      xmi.uuid="dZWHbmPYjEEO7H2uvT3UwSMrpJJ4iQbk">
+                    <Foundation.Core.ModelElement.name>urlNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.64"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1140" 
+                      xmi.uuid="QA5JwZIJDqLrVVkR9hcYVIiwrWDCZh0n">
+                    <Foundation.Core.ModelElement.name>url</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.64"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1141" 
+                      xmi.uuid="6bbX6Ss64owFJDU55uVGjUxepN45FA5Y">
+                    <Foundation.Core.ModelElement.name>httpPayload</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.64"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1142" 
+                      xmi.uuid="Bx4ynJofzSgG8u58cOchhtuVwRqeYFk7">
+                          
+                      <Foundation.Core.ModelElement.name>createControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1143" 
+                          xmi.uuid="bVt2SFWO7A3rVtFPtd2BtQcoMlGSJSGZ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.65" 
+                  xmi.uuid="sjBB0ciSi4324XreUyxqeRWbjvRcGjTV">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>MovieLoop</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1178"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1145" 
+                      xmi.uuid="94ldg0foxnL2XkUCmgZk2NJoAbIOawFh">
+                    <Foundation.Core.ModelElement.name>frameIncrement</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.65"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1146" 
+                      xmi.uuid="NBfxWYbXomUSdohtiVb3PzPwSjwv4N9Z">
+                    <Foundation.Core.ModelElement.name>timestampIndex</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.65"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1147" 
+                      xmi.uuid="MzGwmKc0HUKh1VY4iNmjTt5syxveDVVk">
+                    <Foundation.Core.ModelElement.name>isRunning</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.65"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1148" 
+                      xmi.uuid="5EkH36nRUCYVBdq5vmxG4j5GdmctkQQZ">
+                    <Foundation.Core.ModelElement.name>frameIsLoading</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.65"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1149" 
+                      xmi.uuid="egVSUzsFElXgFgaagDEvJV5zY9B28rLZ">
+                    <Foundation.Core.ModelElement.name>delay</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.65"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1150" 
+                      xmi.uuid="i0bRTj4pIs9vm3GZMJb3bfPHsYqxVlbq">
+                    <Foundation.Core.ModelElement.name>maxFrames</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.65"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1151" 
+                      xmi.uuid="WHFnTdU3NPzuSIG6J1jxtOmv8Wj3aKQY">
+                    <Foundation.Core.ModelElement.name>timestampList</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.65"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1152" 
+                      xmi.uuid="G2TNVEfHg4ZPw36mGYGgrUI1ruxR4swG">
+                    <Foundation.Core.ModelElement.name>ts</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.65"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1153" 
+                      xmi.uuid="F2dQZhi42KtkJqsxoI2WOWMqqHLrwsgJ">
+                    <Foundation.Core.ModelElement.name>firstFrame</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.65"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1154" 
+                      xmi.uuid="EcCTkmbHvbwAsgOYNT7MqfuMTANdC058">
+                    <Foundation.Core.ModelElement.name>lastFrame</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.65"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1155" 
+                      xmi.uuid="hkLQOfw8mddebWdpCqcjjlVojbjRhNQc">
+                    <Foundation.Core.ModelElement.name>objRef</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.65"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1156" 
+                      xmi.uuid="AZsVnG7OJCidkQuaqAGmAvupMH66EapI">
+                    <Foundation.Core.ModelElement.name>increment</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.65"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1157" 
+                      xmi.uuid="VisX8SmfAy03GjEPibtogWIoh7a5nCgg">
+                    <Foundation.Core.ModelElement.name>movieTimer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.65"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1158" 
+                      xmi.uuid="M7lsjoZnUqdTJmRI9xWtrl5faRLD7r7P">
+                          
+                      <Foundation.Core.ModelElement.name>setFrame</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1159" 
+                          xmi.uuid="Qd5ff9UIs9fRamaISqXyIRRtyWp0DwrV">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1160" 
+                      xmi.uuid="u5Y2ngJ0CZirm75iXcMzORD4doM4UpFV">
+                          
+                      <Foundation.Core.ModelElement.name>nextFrame</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1161" 
+                          xmi.uuid="u42Ksvdfutskjsz6RQAcWOkbZSALeYZe">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1162" 
+                      xmi.uuid="tKjHNH3p5Mgvtn5sWnDvv12qYYlOAOQu">
+                          
+                      <Foundation.Core.ModelElement.name>setFrameLimits</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1163" 
+                          xmi.uuid="4q7WDGwb60R1OLIqcVAh5lncGgtLfXiB">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1164" 
+                      xmi.uuid="vPJfCVMhuQVYKSdFfsyfnrj5Z7l1moPF">
+                          
+                      <Foundation.Core.ModelElement.name>reset</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1165" 
+                          xmi.uuid="h0DtVOVRyfzFq7aeRPrNeyvlYSrkwXxs">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1166" 
+                      xmi.uuid="sZnDkLQ1vZKOHj6Whrk4J8NHbmyJhKbm">
+                          
+                      <Foundation.Core.ModelElement.name>init</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1167" 
+                          xmi.uuid="jjQ14x8di3PV9QsYUes0ACS38FtXq7Ed">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1168" 
+                      xmi.uuid="soJRyd40Z1S2HzQepgqxkmqdRMF5B5Cz">
+                          
+                      <Foundation.Core.ModelElement.name>uninit</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1169" 
+                          xmi.uuid="nlo111yeS9YLdpEjSQmAYS6DLWAq8ocF">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1170" 
+                      xmi.uuid="XS63I92dJHpdOWq7Ce1KddsamJraqKjS">
+                          
+                      <Foundation.Core.ModelElement.name>play</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1171" 
+                          xmi.uuid="9sUOqDV2noHNdP2pE8vAYjiK9079APYJ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1172" 
+                      xmi.uuid="VhCrj0WtqRUWSonPrE4yDnPZnwstGlnr">
+                          
+                      <Foundation.Core.ModelElement.name>pause</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1173" 
+                          xmi.uuid="kht7DBYod9cDSGYdRJfhubCl60Qj0S3R">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1174" 
+                      xmi.uuid="9dO6O5tCTXYJnF5nh2R9IFB9oztNxF3L">
+                          
+                      <Foundation.Core.ModelElement.name>stop</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1175" 
+                          xmi.uuid="cpO04Jo378FVdCjv5gbehznIo7II88Ri">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1176" 
+                      xmi.uuid="bOLo8znHoLD61rIOm3LjBnWEIMtcVlR7">
+                          
+                      <Foundation.Core.ModelElement.name>stopListener</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1177" 
+                          xmi.uuid="Y48HzgPmyKEQMnFgTcMO05UcO2208C9P">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.66" 
+                  xmi.uuid="yb9cb2JyaKAz9UXOw80Pv8Sf38OO0SgF">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Forward</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1184"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1179" 
+                      xmi.uuid="sz2SgBn2251BJUoRPeN6nggwSqlbkLsu">
+                    <Foundation.Core.ModelElement.name>Control</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.66"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1180" 
+                      xmi.uuid="s1ufKbZbtn8nx7GYZl5FxG31hvwzjA0k">
+                    <Foundation.Core.ModelElement.name>objRef</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.66"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1181" 
+                      xmi.uuid="fmANs3yHzrbzXDkucQ1Q4fDy3HXrEitw">
+                    <Foundation.Core.ModelElement.name>nextExtent</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.66"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1182" 
+                      xmi.uuid="9UlqEjVRXQm9ZUa2h0YTh8zeNJfs139v">
+                          
+                      <Foundation.Core.ModelElement.name>createControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1183" 
+                          xmi.uuid="1GFaMZnySi3AjzjuTm2QEla0ASZIqgj2">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.67" 
+                  xmi.uuid="sA2GJrpMjxlcNxXLEoaVhWNykdFLTTcw">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>GmlRendererConfig</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1188"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1185" 
+                      xmi.uuid="oDZxKteTAIERh0sTt88glZKT9jp5dvyC">
+                    <Foundation.Core.ModelElement.name>targetWidget</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.67"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1186" 
+                      xmi.uuid="bph0bzKvxA6J4ZuedSsEn9s1735iODAe">
+                          
+                      <Foundation.Core.ModelElement.name>init</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1187" 
+                          xmi.uuid="QwxTxQO5emjg7l5HV4sm3mlTgsjGYeQu">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.68" 
+                  xmi.uuid="ti22MwRY80nZ2R3HbJ9Xk40F1phbPrSf">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>WpsCapabilities</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1201"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1189" 
+                      xmi.uuid="x19OD5QTqJ8kUcWG8EpsYjzopTH8eFSF">
+                    <Foundation.Core.ModelElement.name>namespace</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.68"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1190" 
+                      xmi.uuid="yKcQXzu41BdywK9UDps6qKjZslMSQRCi">
+                    <Foundation.Core.ModelElement.name>requestParts</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.68"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1191" 
+                      xmi.uuid="bRLXw87GFYSXOURVSRsfE845JYIzgvbR">
+                    <Foundation.Core.ModelElement.name>xpath</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.68"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1192" 
+                      xmi.uuid="rfUtRavMumIecWYUFnJQ4oGfw43PlSGC">
+                    <Foundation.Core.ModelElement.name>urlNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.68"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1193" 
+                      xmi.uuid="Bp2tA4Vr8WuSuoFOw4wV76QCFUw3wtSX">
+                          
+                      <Foundation.Core.ModelElement.name>getServerUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1194" 
+                          xmi.uuid="UeaRkYHPSFkh9vZgdmi6EOEXYMaJbrDz">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1195" 
+                      xmi.uuid="A42Ujo6e6eq0TlozzcmsEMewpBXfCalJ">
+                          
+                      <Foundation.Core.ModelElement.name>getVersion</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1196" 
+                          xmi.uuid="HpSOcJzWtcmyEOFEQyvMcLvFau43gf3a">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1197" 
+                      xmi.uuid="c4qT1B5GpByfhoziUdBxjrPxWRcg2BlV">
+                          
+                      <Foundation.Core.ModelElement.name>getMethod</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1198" 
+                          xmi.uuid="sEAXFU1pNzu6nNglh40qcut5AAU97TDN">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1199" 
+                      xmi.uuid="iqBR9ZhDAjr1kKQCNoJbHPdwLZ9CTRtK">
+                          
+                      <Foundation.Core.ModelElement.name>getFeatureNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1200" 
+                          xmi.uuid="6fZgSjIziARiokORzZLeoGpjdbhXgRoG">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.69" 
+                  xmi.uuid="Imq3CusnL4e6khfQbMLSil00XO7UdjW4">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Listener</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.798"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1202" 
+                      xmi.uuid="G1dIjm0BBiovTtyBkJtbEZcuneWdBT2S">
+                    <Foundation.Core.ModelElement.name>listeners</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.69"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1203" 
+                      xmi.uuid="kGhspo9AUK05UQN9MbKPsugOJJIDsIB8">
+                    <Foundation.Core.ModelElement.name>values</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.69"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1204" 
+                      xmi.uuid="d4FZNm3Mn7F9T42DE5clqRf7I0De4X3Z">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.69"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1205" 
+                      xmi.uuid="8N6R77nhWDN6VfwWTtMCnRENyhKm2psA">
+                    <Foundation.Core.ModelElement.name>j</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.69"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1206" 
+                      xmi.uuid="9I6W0tvjYEX2g2SqWnJGMUShSA3ATUsw">
+                    <Foundation.Core.ModelElement.name>count</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.69"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1207" 
+                      xmi.uuid="X3NgcVEb2fRNDzEx6fwK6UnTIdu81Fgb">
+                          
+                      <Foundation.Core.ModelElement.name>addListener</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1208" 
+                          xmi.uuid="T8rYA3eUE0BlwsfPqXZKCHTB9ELwGocE">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1209" 
+                      xmi.uuid="kMfQeSgnffqdPHiKhraGaaeo5hQcZhdH">
+                          
+                      <Foundation.Core.ModelElement.name>addFirstListener</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1210" 
+                          xmi.uuid="CNf9O74mEUiUE7Rd8F4VlSAk3pVyXu1D">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1211" 
+                      xmi.uuid="301GwTzycL9i41hK8Win82qq0BhCIvqS">
+                          
+                      <Foundation.Core.ModelElement.name>removeListener</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1212" 
+                          xmi.uuid="OtoqJ5OyizIBy4l6pI2Ex2O47VUmHTBv">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1213" 
+                      xmi.uuid="SDghRVt2MI8PFkw69fokrK7FiU0tzity">
+                          
+                      <Foundation.Core.ModelElement.name>callListeners</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1214" 
+                          xmi.uuid="GWcP9lu71YcWgQ51wc1fzDvOGBV3E9Vt">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1215" 
+                      xmi.uuid="vieSJfHdnB9eMnLB7PnnXyF78lQSBoMj">
+                          
+                      <Foundation.Core.ModelElement.name>setParam</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1216" 
+                          xmi.uuid="EDkNPZ4hNewGm8cCNpwbH4KjMxpN7Qzn">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1217" 
+                      xmi.uuid="76Y2M8y4PZvqbGAWrIak8TMM8nHLtmmP">
+                          
+                      <Foundation.Core.ModelElement.name>getParam</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1218" 
+                          xmi.uuid="BaWkpWkbhCSciU8RRpFsqnzZQ64L3tiI">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.70" 
+                  xmi.uuid="DMeeaRUNq1XUnEA4uz4onYiNHA0qjVfN">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>GLOBALS</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1219" 
+                      xmi.uuid="rSiuZhiMnju6LUptlUWok6XW8LUpAVX3">
+                          
+                      <Foundation.Core.ModelElement.name>sld2UrlParam</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1220" 
+                          xmi.uuid="3hACwmJiiNb6EEGCw2BNule3yf9a6Xyv">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1221" 
+                      xmi.uuid="lsQvihSeoqOUWPXyCd94plKRTRkbbQ65">
+                          
+                      <Foundation.Core.ModelElement.name>mbDebugMessage</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1222" 
+                          xmi.uuid="TYskVrCxZRkH11HmO8Kra8mnpvfBs1ei">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1223" 
+                      xmi.uuid="0IIxsT90oxX5xj5EIKRaoZLglsi7am8N">
+                          
+                      <Foundation.Core.ModelElement.name>MGRS</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1224" 
+                          xmi.uuid="zww1ihpYDiO9UX2EUJxrBET4AISA4fVV">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1225" 
+                      xmi.uuid="fxz1FS1piDmCI85mjKizURFkpwlZxupf">
+                          
+                      <Foundation.Core.ModelElement.name>postGetLoad</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1226" 
+                          xmi.uuid="ZztH2xncFaetx6csMkRZHRY2v47Ew2L2">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1227" 
+                      xmi.uuid="EZoujqjaTmxvWvlfCpxzEqlxUz1ClmfY">
+                          
+                      <Foundation.Core.ModelElement.name>getScreenY</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1228" 
+                          xmi.uuid="sn3RhGaNnZbkjuviVRJTnOEUjn3bJAJL">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1229" 
+                      xmi.uuid="KKgSPCGKPDF6We9iRVXGoK9XIwAt9cNp">
+                          
+                      <Foundation.Core.ModelElement.name>getLetterDesignator</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1230" 
+                          xmi.uuid="ZN2Nn0AfZxj0FlWAUWTCKrKwHzgj0EW6">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1231" 
+                      xmi.uuid="mxO0GCuPwDBczuYWWi7RMWBzQ7JxerAz">
+                          
+                      <Foundation.Core.ModelElement.name>sld2OlStyle</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1232" 
+                          xmi.uuid="v5aWgETqAdhWh5bKnQzfsbmCry2JmfvO">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1233" 
+                      xmi.uuid="nHu47mWVRdzuUQClTy4NgE6YzA4ESIFC">
+                          
+                      <Foundation.Core.ModelElement.name>styleValue</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1234" 
+                          xmi.uuid="i6elSqMuW8GCc3QHAhrbelFuC6UOHTPd">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1235" 
+                      xmi.uuid="XoCOnR1mQaGbnVBc2jqlil00QS5KESWD">
+                          
+                      <Foundation.Core.ModelElement.name>getGeoCoordX</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1236" 
+                          xmi.uuid="NFgUn4osl5XzyBgnsjB3FHCXd6qoLg8q">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1237" 
+                      xmi.uuid="ki76enDRs0kiaWbdiNmmIfTnFWeGuLdp">
+                          
+                      <Foundation.Core.ModelElement.name>getGeoCoordY</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1238" 
+                          xmi.uuid="I4Dv77DJEdQvK0VBUuYN2iyWMkbwZCGx">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1239" 
+                      xmi.uuid="tyaABPoRzHUgDs2g9Q7FDUJE0paEvI8O">
+                          
+                      <Foundation.Core.ModelElement.name>getArgs</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1240" 
+                          xmi.uuid="U6gkmB7GiQPYLzLSp3fOmDOi5jSa4rfh">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1241" 
+                      xmi.uuid="Ho4D3scS4I72q0CHa4FpT2h6VrRhcB1g">
+                          
+                      <Foundation.Core.ModelElement.name>getPageX</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1242" 
+                          xmi.uuid="VUUylZ2OzbSYXtNj5uDmZoK3qtACbf8P">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1243" 
+                      xmi.uuid="fRENF6B9caV5onp1ntBdjgUSGLvgvmVv">
+                          
+                      <Foundation.Core.ModelElement.name>openPopup</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1244" 
+                          xmi.uuid="SgIxRCeDeCIZD80oJ70itslR2TWGkLkI">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1245" 
+                      xmi.uuid="vutaXxQdknatDAxR2sMtA1oeDmTKGUuC">
+                          
+                      <Foundation.Core.ModelElement.name>returnTarget</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1246" 
+                          xmi.uuid="SbfofICr4hsQjagA4JLp3vwyuvd2XARv">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1247" 
+                      xmi.uuid="3JG2CymCwQUYotEwPdc9PkvcjGGliDzw">
+                          
+                      <Foundation.Core.ModelElement.name>getScreenX</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1248" 
+                          xmi.uuid="Fulz5J7piq2O0Vy0NTeIqcrMyiWUExtq">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1249" 
+                      xmi.uuid="SEIuuZPLmnnh3mg8PtSMqmESmPK5RWOp">
+                          
+                      <Foundation.Core.ModelElement.name>debug</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1250" 
+                          xmi.uuid="0XX6k7u8fmYtAmohvWPKM0wY0UpSIPdb">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1251" 
+                      xmi.uuid="QPUGzDiyHBHGXwYJjHZZ6geENkyjM4Oo">
+                          
+                      <Foundation.Core.ModelElement.name>get100kID</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1252" 
+                          xmi.uuid="YVz1tUKeONMLcQ6OQFAiE31g1Uu7pbSu">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1253" 
+                      xmi.uuid="sghNt79q8PcRWRbDLEWcqEGxO9Q14JtV">
+                          
+                      <Foundation.Core.ModelElement.name>AsciiToNum</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1254" 
+                          xmi.uuid="e0hH1klmnlwICHUxQM3rtMZHfB7dzlv9">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1255" 
+                      xmi.uuid="LAT8nzBPVRayoAP6lLqElP00QfmxzLdi">
+                          
+                      <Foundation.Core.ModelElement.name>degToRad</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1256" 
+                          xmi.uuid="hhjYHmrERFAok0R35uIqLF5doBK9oOK1">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1257" 
+                      xmi.uuid="GfOnfAdgnPMcvq6whnFDqPtW2V6Kp4kG">
+                          
+                      <Foundation.Core.ModelElement.name>NumToAscii</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1258" 
+                          xmi.uuid="WCbdz9SBBLB3kHVbWuDrxwtVMOftJUoW">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1259" 
+                      xmi.uuid="QMnuNp7avn6yLVJxi683s5FLHLu0BiP7">
+                          
+                      <Foundation.Core.ModelElement.name>get100kSetForZone</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1260" 
+                          xmi.uuid="YziPQbgbo7eDNMuL87Dud5z2NOgkh5c9">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1261" 
+                      xmi.uuid="jniZBhuMdusLC0IPS7JiEdNxJpmTXMvh">
+                          
+                      <Foundation.Core.ModelElement.name>getProxyPlusUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1262" 
+                          xmi.uuid="BQoJ1lPwCnGdggJpIIJeBZMuP5Tmy5rL">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1263" 
+                      xmi.uuid="Dw5tRmrIDbe97vQcpG6bqLHsSMGgNwrO">
+                          
+                      <Foundation.Core.ModelElement.name>mbDoLoad</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1264" 
+                          xmi.uuid="O1rpZ2qsWbQ76xvQNRdY0TPo6bLKiGGE">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1265" 
+                      xmi.uuid="GjAjZRllMDkIIcmBd4StVst5N776bPdW">
+                          
+                      <Foundation.Core.ModelElement.name>handleEventWithObject</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1266" 
+                          xmi.uuid="c15NrqRVnnEeCJjroUNNvKb2yVY56YKX">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1267" 
+                      xmi.uuid="9hGbAloRJnN1tc8ZLra4NZGyVLb1E7BH">
+                          
+                      <Foundation.Core.ModelElement.name>loadCss</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1268" 
+                          xmi.uuid="rEKQT46hc4hCcq5kb9vmMfVVa6KaEdgl">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1269" 
+                      xmi.uuid="jvcya5NlMZUpZFAmAkdfi3FGqpD9LS17">
+                          
+                      <Foundation.Core.ModelElement.name>mbGetMessage</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1270" 
+                          xmi.uuid="63amsiSfI7FrJHXY13DDgkwqp6Atcfkk">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1271" 
+                      xmi.uuid="SCfhVr4hLetlTPmUNujMwDGLqicM8sNO">
+                          
+                      <Foundation.Core.ModelElement.name>imageLoaded</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1272" 
+                          xmi.uuid="qloFlubr1SQG4zpfT2M5tYUsZbOU5MUG">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1273" 
+                      xmi.uuid="eTPi0dxihybwBirDq6EAqESrhYiqTwn3">
+                          
+                      <Foundation.Core.ModelElement.name>mapbuilderInit</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1274" 
+                          xmi.uuid="570Rb203RWrBBBErjuYDT6AFOAtYgGf1">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1275" 
+                      xmi.uuid="zTC4dW8zVZPDDtDqrJB492wSjW9LUnmq">
+                          
+                      <Foundation.Core.ModelElement.name>checkIESecurity</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1276" 
+                          xmi.uuid="N8YsSFYkR0VNTS3sM9CQYtLMpCDJ5G5p">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1277" 
+                      xmi.uuid="ElZ4zdRyxvnJXIfUBr9jEwTrBwwlVosa">
+                          
+                      <Foundation.Core.ModelElement.name>mbFormatMessage</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1278" 
+                          xmi.uuid="B9jI462jBQ5kWRYORAGTHj5aZfom4UI9">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1279" 
+                      xmi.uuid="FmXqKyX1ypwxQqYNOXBZ9SCA99NxEYpj">
+                          
+                      <Foundation.Core.ModelElement.name>formatNumber</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1280" 
+                          xmi.uuid="Y7bJDYnyM1rk8po3OatFSeRd8zahMBNg">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1281" 
+                      xmi.uuid="COvwYT6T8EAQd3PCMD20vUnNkN9o7r7E">
+                          
+                      <Foundation.Core.ModelElement.name>getNodeValue</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1282" 
+                          xmi.uuid="xB0FF7XggmYw3ZFxHtN5QHHFf5gfb96O">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1283" 
+                      xmi.uuid="ASCRQMRooSQHiQncBUl02ioCgAsY7Jfc">
+                          
+                      <Foundation.Core.ModelElement.name>getAbsY</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1284" 
+                          xmi.uuid="RSwAtLZmnldv1MxGDIBYFFB83xWfkBLg">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1285" 
+                      xmi.uuid="jsG1xfDDajGRZ3d08hNtACA8snbJXtrH">
+                          
+                      <Foundation.Core.ModelElement.name>formatMGRS</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1286" 
+                          xmi.uuid="x65IQV8N9ljPtPf4xrOD01g7G74gWvZr">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1287" 
+                      xmi.uuid="6fmZB7QFtsrJRTST0CuKGH7jU6qvFvm8">
+                          
+                      <Foundation.Core.ModelElement.name>getLetter100kID</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1288" 
+                          xmi.uuid="0edZrU6hN5NgEMkayqJuWrhbwiQgGtnr">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1289" 
+                      xmi.uuid="KSVo28kpvCMNqkGBgpeeljB66Tiz3AgL">
+                          
+                      <Foundation.Core.ModelElement.name>addEvent</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1290" 
+                          xmi.uuid="VUNVd6oEle16wVTVYLM5F5HADUXkvii8">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1291" 
+                      xmi.uuid="k94IfE0YnoWv6pGlxfgL54doAAHGOHjT">
+                          
+                      <Foundation.Core.ModelElement.name>postLoad</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1292" 
+                          xmi.uuid="wlyGORH05KA7KNccFBAUIeWbqIHbRlzw">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1293" 
+                      xmi.uuid="nrrfkUy4vzW2o9EAZ1asTJysnmH4IVzp">
+                          
+                      <Foundation.Core.ModelElement.name>getAbsX</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1294" 
+                          xmi.uuid="hLb23ZXFaWwIIJFnYw03ynmxTijEBrtk">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1295" 
+                      xmi.uuid="x4E3GTNuiy4smWneXfRitin2d63FSXix">
+                          
+                      <Foundation.Core.ModelElement.name>makeElt</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1296" 
+                          xmi.uuid="gCgcAYJEI2kioYk0rRP5J994LwjonMDv">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1297" 
+                      xmi.uuid="35xqQHANQtm75CA3fJAZQ3rM91bBkijZ">
+                          
+                      <Foundation.Core.ModelElement.name>getPageY</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1298" 
+                          xmi.uuid="FtzERZuRV6GdfS8oeIye0uBA0vdzHQLk">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1299" 
+                      xmi.uuid="iiufvn2tLxjnTC7JRQu0ftTz5u75pPHW">
+                          
+                      <Foundation.Core.ModelElement.name>getAbsPos</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1300" 
+                          xmi.uuid="ESzfaPNobmiJRugwtldCWPopWqMCCbbY">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1301" 
+                      xmi.uuid="8D1WJKDOCvKBwy1Bz8u9YF1D76aZ5lyG">
+                          
+                      <Foundation.Core.ModelElement.name>LLtoUTM</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1302" 
+                          xmi.uuid="POMaS6rS4UEAl7aFjuuWVsY8jdeQJYuD">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.71" 
+                  xmi.uuid="2OROjSS7oqQBZFSKUVOlMXnlsghTnU0H">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>ButtonBase</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1343"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1107"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1654"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.575"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1184"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.467"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1462"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1463"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.421"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1144"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.320"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1368"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.554"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.318"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1490"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1434"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1461"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1303" 
+                      xmi.uuid="4ys8EyHSlug9kY7lUxbwQP27rzg9H7cr">
+                    <Foundation.Core.ModelElement.name>htmlTagId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1304" 
+                      xmi.uuid="082ot0JWx2eii3kaf6xVyc6NAT0wa8e2">
+                    <Foundation.Core.ModelElement.name>textNodeXpath</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1305" 
+                      xmi.uuid="uqNm9jF2RyaNlCtBjvebREbOOSmUoeem">
+                    <Foundation.Core.ModelElement.name>textParams</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1306" 
+                      xmi.uuid="s30xCSidZCyWFAuMaZvSLDdZQMMh1S30">
+                    <Foundation.Core.ModelElement.name>j</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1307" 
+                      xmi.uuid="8nARDz8pZKPwM2RQpQHEYFM78rTfrTqi">
+                    <Foundation.Core.ModelElement.name>panelHtmlTagId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1308" 
+                      xmi.uuid="YPtoIScP7zd9FguanoFxMZxgNlYda4A0">
+                    <Foundation.Core.ModelElement.name>buttonType</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1309" 
+                      xmi.uuid="pqZmMwYZIntAbhyaZsM0ykLAWymhDjXC">
+                    <Foundation.Core.ModelElement.name>olButtonType</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1310" 
+                      xmi.uuid="zFkbhhBYIfBDoqzZY5QZlJPB7TFcrQyl">
+                    <Foundation.Core.ModelElement.name>action</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1311" 
+                      xmi.uuid="dUjofFxxmIxqRaS34o3hoSyWHLmLIQXM">
+                    <Foundation.Core.ModelElement.name>tooltip</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1312" 
+                      xmi.uuid="RwYcmvsVs4ptDBPKPbiORZCGDd5aqt2l">
+                    <Foundation.Core.ModelElement.name>disabledImage</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1313" 
+                      xmi.uuid="VKel4LXfivYyVwus1Wi8tmnyFUKEDh5p">
+                    <Foundation.Core.ModelElement.name>enabledImage</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1314" 
+                      xmi.uuid="ulw4vK9arq4hCpM93CnbyNfXE0AlmDCK">
+                    <Foundation.Core.ModelElement.name>cursor</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1315" 
+                      xmi.uuid="zobC4nNq3FuX5QyT6uvmwIN2PKBOzJMw">
+                    <Foundation.Core.ModelElement.name>selected</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1316" 
+                      xmi.uuid="0sAO236bwuWPd97HKNNDJKwCSXgMwCbw">
+                    <Foundation.Core.ModelElement.name>control</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1317" 
+                      xmi.uuid="SMYHr2sc6u2jKphSfb1ixXa5ImAsCZ0C">
+                    <Foundation.Core.ModelElement.name>SubclassControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1318" 
+                      xmi.uuid="oTCeD2WV65zPJaUzYTD9vOjEp6pHraqn">
+                    <Foundation.Core.ModelElement.name>type</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1319" 
+                      xmi.uuid="nb8QgIJzmTPEj1YmeLbkqz0sZfrjhD1y">
+                    <Foundation.Core.ModelElement.name>Control</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1320" 
+                      xmi.uuid="DHHLf6DNZCs89lUm5IURu7QzBXwDjFch">
+                    <Foundation.Core.ModelElement.name>active</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1321" 
+                      xmi.uuid="Gwb8Jnqx7WzvuDpAmaRnLMe6quG8gotV">
+                    <Foundation.Core.ModelElement.name>superclass</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1322" 
+                      xmi.uuid="N7XH0GRhsClrToG09g9sc0P1fuv04aH4">
+                    <Foundation.Core.ModelElement.name>objRef</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1323" 
+                      xmi.uuid="dQD7zFYr3yQiYO4l1Nef65wOmqru0Hu0">
+                    <Foundation.Core.ModelElement.name>panel_div</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1324" 
+                      xmi.uuid="WzypZIjqPbCea2GXrenfN6f5Y2x6fByK">
+                    <Foundation.Core.ModelElement.name>div</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1325" 
+                      xmi.uuid="VjkZNSv1VgUed6zxDU2n52sSSzxBfdpD">
+                    <Foundation.Core.ModelElement.name>map</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1326" 
+                      xmi.uuid="p5cREYvltGtflhgpXYaZSubR6ILVkknQ">
+                    <Foundation.Core.ModelElement.name>olPanelNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1327" 
+                      xmi.uuid="1ULo2KSWZFqLvMRa5kiYFdWVto8Hf4j1">
+                    <Foundation.Core.ModelElement.name>parentNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1328" 
+                      xmi.uuid="nM0IJ3O1QMzbDA8DJcZ7SW7QpafjKIJh">
+                    <Foundation.Core.ModelElement.name>Panel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1329" 
+                      xmi.uuid="esb9p4XR692agxkHKg2XP0ixxz7y1D6U">
+                    <Foundation.Core.ModelElement.name>originalStop</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1330" 
+                      xmi.uuid="g9qKknaxaUgXWEWJrcABf0xFxfF8zUIz">
+                    <Foundation.Core.ModelElement.name>targetContext</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.71"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1331" 
+                      xmi.uuid="LLqvtcd5T2fAisFAANeIKY1IQjlu4iE1">
+                          
+                      <Foundation.Core.ModelElement.name>getButtonClass</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1332" 
+                          xmi.uuid="F4zObKpIpE6nDjKvZzrjx2J0BepWhNgs">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1333" 
+                      xmi.uuid="wliudKdgdLt4W17hvbwEAhwJMULEz0no">
+                          
+                      <Foundation.Core.ModelElement.name>doAction</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1334" 
+                          xmi.uuid="mIZmhXFl7rNLfQwyhxLrimb0XmMx4HtK">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1335" 
+                      xmi.uuid="ifzq3wXFL68opEOqzAck8sKUcn6dcKnZ">
+                          
+                      <Foundation.Core.ModelElement.name>select</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1336" 
+                          xmi.uuid="ItVvdnB7tCyC82Mm53b681ZKiQIlfvDX">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1337" 
+                      xmi.uuid="LqeLMjMck556HVIP3ZecJpAhmS3TU1XT">
+                          
+                      <Foundation.Core.ModelElement.name>doSelect</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1338" 
+                          xmi.uuid="6WBNwDaQB0LBAgAcsvYwiXfaQRxuoxdy">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1339" 
+                      xmi.uuid="w7Avn3Cs43ugTQlmUpLin3W4CxxB898K">
+                          
+                      <Foundation.Core.ModelElement.name>attachToOL</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1340" 
+                          xmi.uuid="URLyYFqRzFjyCNcQZGlb3ma1EZAWOUkf">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1341" 
+                      xmi.uuid="SN9OevjymRfR9xHk4bis9deEL4f3c826">
+                          
+                      <Foundation.Core.ModelElement.name>buttonInit</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1342" 
+                          xmi.uuid="kZKQTVoSzxHIPzAqQ4N3oh6kPLBk346t">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.72" 
+                  xmi.uuid="Kz4Ud2nVj5AqhNtdpaB20BbgNmf4IxvY">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>EditPoint</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1346"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1344" 
+                      xmi.uuid="P0Ysmn3DO8MVnI3Vt7WK2u8KF1skgrYu">
+                          
+                      <Foundation.Core.ModelElement.name>instantiateControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1345" 
+                          xmi.uuid="KDMaUwIvnRpVqWXkN7NivApW1RnCwJpD">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.73" 
+                  xmi.uuid="mg50nWLD8xDEbIIYVke3c5AaSt660376">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>MapScaleText</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1364"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1347" 
+                      xmi.uuid="h7lvjUNqXnt8hFbxD3LaYL9Jf9LjyGUd">
+                    <Foundation.Core.ModelElement.name>mapScaleTextForm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.73"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1348" 
+                      xmi.uuid="bJgDWAW4FFoTqspKwrQD5XhcsmNIUUtE">
+                    <Foundation.Core.ModelElement.name>newScale</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.73"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1349" 
+                      xmi.uuid="VZsumXneNu1ZvAfeTpoQ4b1GfRK21wvj">
+                    <Foundation.Core.ModelElement.name>parts</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.73"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1350" 
+                      xmi.uuid="AVz2NAPNVBsnDfwVG4fAbAD8WrrXcbL8">
+                    <Foundation.Core.ModelElement.name>newPart</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.73"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1351" 
+                      xmi.uuid="FbxhGsWMitsDHffoquyHisvgv70VidOd">
+                    <Foundation.Core.ModelElement.name>strPart</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.73"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1352" 
+                      xmi.uuid="SIux5zAePIGqB4xFaJZyEYAxgeMtDclP">
+                    <Foundation.Core.ModelElement.name>mapScale</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.73"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1353" 
+                      xmi.uuid="mrz1cRklcDBdH43SlNErkT7enTgej5PV">
+                    <Foundation.Core.ModelElement.name>formName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.73"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1354" 
+                      xmi.uuid="hjMGyPkXCbd6LgApnWIvUNJrWHuW7u0b">
+                          
+                      <Foundation.Core.ModelElement.name>submitForm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1355" 
+                          xmi.uuid="PZ3LrlvlR5xVF7TGplOAZbZt7eif6yAq">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1356" 
+                      xmi.uuid="7sANK6iKQ8Bt1syJcefE10Ocf4IIBgUW">
+                          
+                      <Foundation.Core.ModelElement.name>handleKeyPress</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1357" 
+                          xmi.uuid="FQo9jdCyz3tbUmURVF4U81B0aGq2im9s">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1358" 
+                      xmi.uuid="syKG8VFfQeqb8fObysCEhPrEFC5XJwSk">
+                          
+                      <Foundation.Core.ModelElement.name>showScale</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1359" 
+                          xmi.uuid="r0OXy66ZhnBJn7fu4uEQWBFrINhVAlxI">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1360" 
+                      xmi.uuid="NnMA3nNaOXWFKkdiWAJTpIzb5qhA0XRY">
+                          
+                      <Foundation.Core.ModelElement.name>prePaint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1361" 
+                          xmi.uuid="7IQ9vcMTFFRBDasgjT8RuO9HhZcElISB">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1362" 
+                      xmi.uuid="lT4ZYKbgP7q8Fx4IRvuPhSGDCPq0xjxu">
+                          
+                      <Foundation.Core.ModelElement.name>postPaint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1363" 
+                          xmi.uuid="KVL8LW5cFvvowWpSA5VOdNJvWQdHpN8F">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.74" 
+                  xmi.uuid="dJRQR6Xet0rwDmSOV346KStES0DG1ibr">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>ZoomIn</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1368"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1365" 
+                      xmi.uuid="d41aSiCcLV30fmsb7TmVdzQYG5lGFRiG">
+                    <Foundation.Core.ModelElement.name>cursor</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.74"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1366" 
+                      xmi.uuid="1ztdTezzHtFv7FIPRD3FTVenZILRKfB6">
+                          
+                      <Foundation.Core.ModelElement.name>createControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1367" 
+                          xmi.uuid="Z2V8Ld0bSg46vp6DMHsZ4HvKiDdJFNzn">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.75" 
+                  xmi.uuid="i2eiP5IzsUZQP0XTOEcTuW1ZMUoKilJm">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>TabbedContent</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1391"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1369" 
+                      xmi.uuid="0a7jSOAKLE4dxtYWtk0EAhdcl78EUp15">
+                    <Foundation.Core.ModelElement.name>selectedTab</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.75"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1370" 
+                      xmi.uuid="hSUq6Qhy2jzeWkUtnuTvtdRX7adOQl2Y">
+                    <Foundation.Core.ModelElement.name>tabList</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.75"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1371" 
+                      xmi.uuid="DmonRGmaJMADbTraNVmjSfmmaAYyHkNL">
+                    <Foundation.Core.ModelElement.name>textNodeXpath</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.75"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1372" 
+                      xmi.uuid="shd239GoYEzbXj2uS10xzhx4RyuE2Vu2">
+                    <Foundation.Core.ModelElement.name>tabs</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.75"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1373" 
+                      xmi.uuid="IkgYIQpjJH1bY308mkfp2EBTtPoKC9s9">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.75"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1374" 
+                      xmi.uuid="Apzc11nbM0YRud1mlWND5G1949nUYwBE">
+                    <Foundation.Core.ModelElement.name>tab</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.75"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1375" 
+                      xmi.uuid="krmcZnlaC4Y9q4NiMaYtLDgyZX2mqDMB">
+                    <Foundation.Core.ModelElement.name>tabWidgetId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.75"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1376" 
+                      xmi.uuid="dwZw3E9fMTWrfjxwN4gtYgb1FiZuvHLQ">
+                    <Foundation.Core.ModelElement.name>tabWidget</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.75"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1377" 
+                      xmi.uuid="LLEq2JUZEksObB46rddLuLwuWwJqsVr8">
+                    <Foundation.Core.ModelElement.name>tabLabel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.75"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1378" 
+                      xmi.uuid="4sBNbalqdb7vlBwdxiWLvUTu1i8XcLmI">
+                    <Foundation.Core.ModelElement.name>textNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.75"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1379" 
+                      xmi.uuid="J7WPVMQ2ubYvziTtquaLbqH7iBkLLXuy">
+                    <Foundation.Core.ModelElement.name>tabNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.75"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1380" 
+                      xmi.uuid="i6NV2BPuoMs4edmcBziiT0q79BcSbIqD">
+                    <Foundation.Core.ModelElement.name>tabBar</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.75"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1381" 
+                      xmi.uuid="el59qSwrul6XRMyUWztcv9yvZeiECbDL">
+                    <Foundation.Core.ModelElement.name>newAnchor</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.75"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1382" 
+                      xmi.uuid="CvecMEDLkXfH76XAD3L8NI9IsmJTXW3n">
+                    <Foundation.Core.ModelElement.name>tabAction</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.75"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1383" 
+                      xmi.uuid="kw4EMDyMU5eaBE9AXHXilwfRWNTS5jUJ">
+                          
+                      <Foundation.Core.ModelElement.name>initTabs</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1384" 
+                          xmi.uuid="uwrO41wHPa8gU55N5FxtuEA0IypB6qbl">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1385" 
+                      xmi.uuid="IpSsLVzLsEvcu1wSJimJAO5NvHq9R5aH">
+                          
+                      <Foundation.Core.ModelElement.name>addWidget</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1386" 
+                          xmi.uuid="NfvvSOTn3tCDsr5gbp80wuLUiFUNkq42">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1387" 
+                      xmi.uuid="M1NZvx3WAvXGqWIqKbQyWh1o0VL6gQoF">
+                          
+                      <Foundation.Core.ModelElement.name>selectTab</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1388" 
+                          xmi.uuid="5WoryAfMaFzhq8CZPuC1kGLlSZ2XYdQ0">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1389" 
+                      xmi.uuid="pWeI4cE3IfOIqJucui4x0mWTL7NQsrbB">
+                          
+                      <Foundation.Core.ModelElement.name>prePaint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1390" 
+                          xmi.uuid="Pwfy05HbHWr3EtQeEnCz0zxsjHVdThHB">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.76" 
+                  xmi.uuid="w6cE3sKUISQ92mI18jpT5LL8PxsUR2Mo">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Logger</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1406"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1392" 
+                      xmi.uuid="wtGommJEacplKStvVOGq2e6Tw2NFf3My">
+                    <Foundation.Core.ModelElement.name>namespace</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.76"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1393" 
+                      xmi.uuid="DpBXrjeoswaMPK7fzj9zY8fHNo19EIaW">
+                    <Foundation.Core.ModelElement.name>doc</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.76"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1394" 
+                      xmi.uuid="wUleYARMOm5i7ugGB00nK2Cb671oFkFo">
+                    <Foundation.Core.ModelElement.name>eventLog</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.76"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1395" 
+                      xmi.uuid="ZqBS88FpAl3btqi8qE0zZR30HoI7mDBZ">
+                    <Foundation.Core.ModelElement.name>tempDoc</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.76"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1396" 
+                      xmi.uuid="3wZn6zvtLww8ze3BhHHGKqkkXvLH7QOO">
+                    <Foundation.Core.ModelElement.name>onlineResource</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.76"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1397" 
+                      xmi.uuid="hTwhEpFmm5kiXQsu77Cm5qeGG6ihxWBY">
+                    <Foundation.Core.ModelElement.name>fileUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.76"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1398" 
+                      xmi.uuid="PkZyQdTMYSooYEsuQWHmNXA8vmgoDJIO">
+                          
+                      <Foundation.Core.ModelElement.name>logEvent</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1399" 
+                          xmi.uuid="eV1wU8aB1Vy80NwTCA5jTCeBGgVjdxT6">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1400" 
+                      xmi.uuid="i7Z5cEdpT8fiiVHY66iO5TqFPw0wvK39">
+                          
+                      <Foundation.Core.ModelElement.name>clearLog</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1401" 
+                          xmi.uuid="kjNorHm0U3STJS4kgZLcNy0rndijok2r">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1402" 
+                      xmi.uuid="veyBBvGA1OYc6xcjkGJ4kKWh8tHofY6r">
+                          
+                      <Foundation.Core.ModelElement.name>saveLog</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1403" 
+                          xmi.uuid="fmcpilBtqcaRpGqhjrCNxgN84SPPsyDd">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1404" 
+                      xmi.uuid="qGlfOVHY3iV9bJZFc6bZAfrDxp9ouq8q">
+                          
+                      <Foundation.Core.ModelElement.name>refreshLog</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1405" 
+                          xmi.uuid="tAbtu4KvnUnwS5xFo0mrAhLvIknH9WQs">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.77" 
+                  xmi.uuid="COem19i9zNc6FNgBblwTcsDwMSsLInR7">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>EditButtonBase</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1434"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1835"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1346"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.908"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.215"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1407" 
+                      xmi.uuid="DaGl8fZPOBPS8mQQbjf8QBrXL6wchytQ">
+                    <Foundation.Core.ModelElement.name>cursor</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.77"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1408" 
+                      xmi.uuid="sNUIIc08fPNoL8y4k0iQ9Gp1l2Ss4sII">
+                    <Foundation.Core.ModelElement.name>trm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.77"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1409" 
+                      xmi.uuid="jUdzT60xcYTfb4jhEEvoXSzNUGOhL1uO">
+                    <Foundation.Core.ModelElement.name>defaultModelUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.77"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1410" 
+                      xmi.uuid="PC6X8RRwZqF1n8pW4uqe5V2Mtd1Jkpma">
+                    <Foundation.Core.ModelElement.name>featureXpath</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.77"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1411" 
+                      xmi.uuid="qpBwDYct278MKxVhby6jmQorbSJA0u6Q">
+                    <Foundation.Core.ModelElement.name>appendOnEdit</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.77"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1412" 
+                      xmi.uuid="jN2WTY0jC6coi3FtbrcpmBzhXdaVzNj9">
+                    <Foundation.Core.ModelElement.name>objRef</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.77"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1413" 
+                      xmi.uuid="kERCySctwfzUoXD2DpfsLMgcPBkmDJ37">
+                    <Foundation.Core.ModelElement.name>previousFeatureNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.77"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1414" 
+                      xmi.uuid="99vX98N5hkmsJaFMjoc2dkMrWXq4t8yi">
+                    <Foundation.Core.ModelElement.name>gml</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.77"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1415" 
+                      xmi.uuid="yBh7yTClc3rbxqKX0RcUtuer7y8IuIEk">
+                    <Foundation.Core.ModelElement.name>gmlDoc</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.77"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1416" 
+                      xmi.uuid="duojgeA5nSK3vVXBiky3McUPvyQTGiqL">
+                    <Foundation.Core.ModelElement.name>insertPoint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.77"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1417" 
+                      xmi.uuid="HdBhbhIcmJnUvFVVVsOWZLB7Hc5iSezC">
+                    <Foundation.Core.ModelElement.name>insertXpath</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.77"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1418" 
+                      xmi.uuid="JtuCZBSSyFl1U2PCZUwuUYiJVyELMEtX">
+                    <Foundation.Core.ModelElement.name>insertNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.77"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1419" 
+                      xmi.uuid="nrKeK5rBS1Ez2lGUQOyI0777pXWh0R5D">
+                    <Foundation.Core.ModelElement.name>targetNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.77"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1420" 
+                      xmi.uuid="86V7hyd7mrLJ2Vzb2cafAMy5UWB2prtb">
+                          
+                      <Foundation.Core.ModelElement.name>createControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1421" 
+                          xmi.uuid="NNLmf99TyoUA0uf69iEMoXvxTRmCyk8m">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1422" 
+                      xmi.uuid="zVBI6IIrcYAbc5awxjnQ5fZ2SI2Oqs4C">
+                          
+                      <Foundation.Core.ModelElement.name>doSelect</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1423" 
+                          xmi.uuid="DP2WawRbEIWeUbSAqFfg9r4ZGDLWrmbs">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1424" 
+                      xmi.uuid="rOFooVaOW2XBL0QQl0Zeq7IrbfatVid6">
+                          
+                      <Foundation.Core.ModelElement.name>newSession</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1425" 
+                          xmi.uuid="jKsr1BvtC4tJiRJ8TnA6dVkLP5TOL5qS">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1426" 
+                      xmi.uuid="OBQ38KkXOhYgspYPOpVfOmoOD57vZSRR">
+                          
+                      <Foundation.Core.ModelElement.name>handleFeatureInsert</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1427" 
+                          xmi.uuid="hVKMmloIm9v6Y7RiPNDtVYw5P3KTS8SZ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1428" 
+                      xmi.uuid="aEmq6VpiMzu9q61BGtYQpj9fLS0JHP1s">
+                          
+                      <Foundation.Core.ModelElement.name>setEditingLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1429" 
+                          xmi.uuid="bNMYVSiumRHAiEKmxOEhyXT8NREzE80t">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1430" 
+                      xmi.uuid="n6w36XjiSG7CrAHxbN0cOwaGo2dDe8qE">
+                          
+                      <Foundation.Core.ModelElement.name>setFeature</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1431" 
+                          xmi.uuid="FiOV7lOuBfaGCBqQOvDmrSZtesDjS0jP">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1432" 
+                      xmi.uuid="0xYCwmScVejcYKv91RoqjTjkOOa5mXnM">
+                          
+                      <Foundation.Core.ModelElement.name>initButton</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1433" 
+                          xmi.uuid="fDBfIFWegPVM5TVW7QcHXxYMZRlDkinK">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.78" 
+                  xmi.uuid="KCvQvoh7IGz1v7XuI1yFRkpaKg45ZHrB">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Loading2</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1447"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1435" 
+                      xmi.uuid="EIJ0MswzVTqVU63D6YUz0zlCf3u6lnZL">
+                    <Foundation.Core.ModelElement.name>imageSrc</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.78"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1436" 
+                      xmi.uuid="jUyoNvVuyjiwzyxrUlOEmKN9xCWZeTB1">
+                    <Foundation.Core.ModelElement.name>textMessage</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.78"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1437" 
+                      xmi.uuid="z6eHLjyuNS8zlNCqVFrCHNonu3UvsCG3">
+                    <Foundation.Core.ModelElement.name>updateMessage</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.78"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1438" 
+                      xmi.uuid="1rUjL1QUfpI0b3a8BJtWifxxo9WyVaIB">
+                    <Foundation.Core.ModelElement.name>mapContainerNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.78"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1439" 
+                      xmi.uuid="MvCgH19RpZIg2qm9jCLs5zzkMFgyqDph">
+                    <Foundation.Core.ModelElement.name>containerNodeId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.78"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1440" 
+                      xmi.uuid="8BTfWcd9RUCUZLCd4lMSAKGIge2lwdam">
+                    <Foundation.Core.ModelElement.name>htmlTagId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.78"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1441" 
+                      xmi.uuid="ucBgnD0gjmeftWyaUN16hw2SyunYur13">
+                          
+                      <Foundation.Core.ModelElement.name>paint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1442" 
+                          xmi.uuid="cov6RFbAP1N011mYlQMTYJX2D2jukW0p">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1443" 
+                      xmi.uuid="XXK6xVIC3548NOr1Kvae631ChFHN7Pmg">
+                          
+                      <Foundation.Core.ModelElement.name>clear</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1444" 
+                          xmi.uuid="KZimxwlJCXGby2j9uppvWj1YXJhHbn8Z">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1445" 
+                      xmi.uuid="sUTVLTPdw7ZUF6GbGJlxMgc9s64Ep7rO">
+                          
+                      <Foundation.Core.ModelElement.name>update</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1446" 
+                          xmi.uuid="VqoBw6XaTeqtG0IjNw67yhvBG3KcCTN3">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.79" 
+                  xmi.uuid="p7KhK7wbu1tkQylrhepHFiZrhk4ySMhv">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>DeleteFeature</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1461"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1448" 
+                      xmi.uuid="y8jEBahB1XwfZEFwugBbHPPfiJUQlJSv">
+                    <Foundation.Core.ModelElement.name>cursor</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.79"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1449" 
+                      xmi.uuid="UNbhiydjRUc8hB2DgLb2BmIxD5yifpTt">
+                    <Foundation.Core.ModelElement.name>trm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.79"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1450" 
+                      xmi.uuid="dbCFfzllj1saqBlJweEevaxxNxwTd69a">
+                    <Foundation.Core.ModelElement.name>tm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.79"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1451" 
+                      xmi.uuid="HPHjUaV3l8HymKMSFwWaKoz2H3GBU7X1">
+                    <Foundation.Core.ModelElement.name>tc</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.79"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1452" 
+                      xmi.uuid="F76CxErw76HBrxgxa9I663yLa9zDFRGR">
+                    <Foundation.Core.ModelElement.name>httpPayload</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.79"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1453" 
+                      xmi.uuid="IZEbzEIfo1tqV3SnDG00xnhqyIXW0W0Y">
+                    <Foundation.Core.ModelElement.name>deleteXsl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.79"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1454" 
+                      xmi.uuid="PMhAwOixugF74Gsd1MMKqgYeZCNdEbwW">
+                    <Foundation.Core.ModelElement.name>Control</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.79"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1455" 
+                      xmi.uuid="vlxJ8m2UZbfsG4Wsym9KAktgAy1734d2">
+                          
+                      <Foundation.Core.ModelElement.name>createControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1456" 
+                          xmi.uuid="mH42lkuizUbinPw2zvZcETgpYUUMve2J">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1457" 
+                      xmi.uuid="jult40zTchzUoPWGpCYug058O2KsKnrA">
+                          
+                      <Foundation.Core.ModelElement.name>doSelect</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1458" 
+                          xmi.uuid="cokU07P2WIZeTj7EdbkbxzPmMokvvxyp">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1459" 
+                      xmi.uuid="asvUxxlupuc8Crm1JNS72jqvsWadcGI4">
+                          
+                      <Foundation.Core.ModelElement.name>handleResponse</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1460" 
+                          xmi.uuid="UikEATL5MOa0I9TVZM950vbLztFN7ofw">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.80" 
+                  xmi.uuid="2RRj4fm2RACZ2jkeuO6Dyfy5uGboPSDl">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>SetAoi</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1462"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.81" 
+                  xmi.uuid="IsfQNf29jJQT96LLAUT5k3efg7h1mJkv">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Button</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1463"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.82" 
+                  xmi.uuid="tdhG56pvMYw6vm1B2wSX17yTUjUOefVm">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>OWSCatSearchForm</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1486"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1464" 
+                      xmi.uuid="WbDSGaFb5lUvaWzh9E55AJah6cXZ1a6L">
+                    <Foundation.Core.ModelElement.name>aoi</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.82"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1465" 
+                      xmi.uuid="9GcgiOzafScHGVkb9xxsUHmM3GR7mukD">
+                    <Foundation.Core.ModelElement.name>ul</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.82"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1466" 
+                      xmi.uuid="gQqtIQhBIqT4HHXULRacLESznWROS8b7">
+                    <Foundation.Core.ModelElement.name>lr</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.82"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1467" 
+                      xmi.uuid="5mvZRDqIMqpn8Z5UESk9UfgLgOju2QZs">
+                    <Foundation.Core.ModelElement.name>bboxArray</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.82"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1468" 
+                      xmi.uuid="8xkf5HsN3YCZam7QmZUyIXqlvSs57b3p">
+                    <Foundation.Core.ModelElement.name>RUC_Window</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.82"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1469" 
+                      xmi.uuid="dHlriXnFSrMWcX1uTf0KNuWaLYzV3PHj">
+                    <Foundation.Core.ModelElement.name>formName</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.82"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1470" 
+                      xmi.uuid="46xa9z0HTQg9RlMx1zGIu1kDBL3KcZUG">
+                          
+                      <Foundation.Core.ModelElement.name>postPaint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1471" 
+                          xmi.uuid="0pVOBXiPCh3zGsTW9QZWOmDDZwpUX9jg">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1472" 
+                      xmi.uuid="gTt1v7MW5WWGOUzZgOdqEjf26Q7uZobM">
+                          
+                      <Foundation.Core.ModelElement.name>displayAoiCoords</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1473" 
+                          xmi.uuid="X0lpHpscddevmBU3tlrVZQOwCdWRQHRQ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1474" 
+                      xmi.uuid="m60vqPlStiSf2yrLEZzU2IsFRXV2GhYB">
+                          
+                      <Foundation.Core.ModelElement.name>setAoi</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1475" 
+                          xmi.uuid="ukmh4r6uNQ6C0dxo5kyGosQ3b55N5Hui">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1476" 
+                      xmi.uuid="QJh0sGMkr0Faak0d7SDaUa5BucfvbnsG">
+                          
+                      <Foundation.Core.ModelElement.name>setLocation</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1477" 
+                          xmi.uuid="MLxlMh6Ebp1uFjDjWg3wJoXYsgbPzJJm">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1478" 
+                      xmi.uuid="0wZDCZc2UOlqjW98yIftEbDsCVubEqnE">
+                          
+                      <Foundation.Core.ModelElement.name>submitForm</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1479" 
+                          xmi.uuid="TnfZxqD9PTMkbFHMNOz1EaMcWjgiKEH5">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1480" 
+                      xmi.uuid="SmpR8nfvmgKRkTNBJ9PwcaUX6wdxyugb">
+                          
+                      <Foundation.Core.ModelElement.name>handleKeyPress</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1481" 
+                          xmi.uuid="uKNNEYC7F0TfqX2ONtCiURaDITKjCv4E">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1482" 
+                      xmi.uuid="lExWNJhENrKEqS1BBhmWDRoM4se3Wolr">
+                          
+                      <Foundation.Core.ModelElement.name>openRucWindow</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1483" 
+                          xmi.uuid="dGsA3ERilHEjHuoDDFpb13w2EfsZsmwB">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1484" 
+                      xmi.uuid="fFiRRytUwO30lisRMA5TdJHbpvvkJjBo">
+                          
+                      <Foundation.Core.ModelElement.name>RUC_closeRUCWindow</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1485" 
+                          xmi.uuid="Dyt2l5KLo5bF5RCnIe6Y4JOi33NkIXgh">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.83" 
+                  xmi.uuid="kUIoJsJfp4mhhcbDabclQX6tSGTPkCB8">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Save</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1490"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1487" 
+                      xmi.uuid="WHvlVAv1iwI7it8ubswtrHaEiO42sHc5">
+                    <Foundation.Core.ModelElement.name>Control</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.83"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1488" 
+                      xmi.uuid="aokaUWB7zsAsIsQr9KvgSkbhWUU4ZDbD">
+                          
+                      <Foundation.Core.ModelElement.name>createControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1489" 
+                          xmi.uuid="UyIhsTqXq9mYdz6RvnunTRdXFYEkcnY6">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.84" 
+                  xmi.uuid="Jtjz55Wu6HnV7q2SgmKSLBYEa4mgYfcE">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>HandsomeNumber</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1491" 
+                      xmi.uuid="McTofUMnJ8UnLpn6GJGx2IwYut79I1HB">
+                    <Foundation.Core.ModelElement.name>sigFigs</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.84"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1492" 
+                      xmi.uuid="KBOoKwmB0b3yB6oWFNdxGUsNrjPgP2lU">
+                    <Foundation.Core.ModelElement.name>bestScore</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.84"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1493" 
+                      xmi.uuid="xaa3ylsQ66IObhqEXUMU11XIQzL67t6s">
+                    <Foundation.Core.ModelElement.name>bestTieBreaker</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.84"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1494" 
+                      xmi.uuid="I4aqIcvzNoFJoJA4ar9pwQI7GIesyF70">
+                    <Foundation.Core.ModelElement.name>handsomeValue</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.84"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1495" 
+                      xmi.uuid="NOKxXyVdFlGVsyu3VpJ4yXSIfPL3NOnb">
+                    <Foundation.Core.ModelElement.name>handsomeNumDec</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.84"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1496" 
+                      xmi.uuid="RMMYmjjFWTvhnOIomj0ew7Zzah4PbtqH">
+                    <Foundation.Core.ModelElement.name>halvingExp</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.84"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1497" 
+                      xmi.uuid="oHySJ21LQYXV5Owwy2oOKlTHS0DCgnaX">
+                    <Foundation.Core.ModelElement.name>comelyMultiplicand</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.84"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1498" 
+                      xmi.uuid="zsY8ZNDyfuRChm5kx1Yb6OluxF38sZtU">
+                    <Foundation.Core.ModelElement.name>maxTensExp</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.84"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1499" 
+                      xmi.uuid="hxh2EdxVkqhwaUo9BjMjb548dDjv2Hcr">
+                    <Foundation.Core.ModelElement.name>tensExp</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.84"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1500" 
+                      xmi.uuid="wUngphViHisqV4HrQIC6RPoEWBL8Sg0g">
+                    <Foundation.Core.ModelElement.name>numDec</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.84"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1501" 
+                      xmi.uuid="4fA1Oq0lgb6ZROzgYfWziAd1SjeWacYC">
+                    <Foundation.Core.ModelElement.name>testMultiplicand</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.84"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1502" 
+                      xmi.uuid="1CjdqgpPjR7kQsuCupNyzaO3WO2cLCxT">
+                    <Foundation.Core.ModelElement.name>testMultiplier</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.84"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1503" 
+                      xmi.uuid="FYKBI3hHVDiopkjSY6dghvtp8QA3HIPJ">
+                    <Foundation.Core.ModelElement.name>testScore</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.84"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1504" 
+                      xmi.uuid="2cOa0GkFFZAj3vy6CCndEf0hMThsDu1n">
+                    <Foundation.Core.ModelElement.name>testTieBreaker</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.84"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1505" 
+                      xmi.uuid="ZAScRJHreY0HpvHbyKhXYpfniSofvmf6">
+                    <Foundation.Core.ModelElement.name>value</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.84"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1506" 
+                      xmi.uuid="Fgv9tbgyyjm0hONjtwyhT9HbE3og8qm0">
+                    <Foundation.Core.ModelElement.name>score</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.84"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1507" 
+                      xmi.uuid="gEanAZrJcMCmMaSEEdPxNJoY8iSsZ3hi">
+                    <Foundation.Core.ModelElement.name>tieBreaker</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.84"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1508" 
+                      xmi.uuid="BUXErhmMU7HBzY4pTcyfhvYKgDPnSu0E">
+                          
+                      <Foundation.Core.ModelElement.name>toString</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1509" 
+                          xmi.uuid="mouviYm3ulmKTITFCOh6mfPAaTVNwPI7">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1510" 
+                      xmi.uuid="fahWdCmuKHhXjYWjdzP4X9mpfJzn0lyu">
+                          
+                      <Foundation.Core.ModelElement.name>valueOf</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1511" 
+                          xmi.uuid="IViZabIvPA9ZnbxU2OCvTwDc5EaxITai">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.85" 
+                  xmi.uuid="wIX8JSPt227X2dLeoYhfWLU1l3fBU5xe">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>MapPaneOL</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1562"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1512" 
+                      xmi.uuid="l5SS1vTRnLgSDDHBQWEcDGQTMtBbTW7M">
+                    <Foundation.Core.ModelElement.name>containerNodeId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.85"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1513" 
+                      xmi.uuid="LUbfZrqZCeDWdKID1Hb0eqEdZgddAuvK">
+                    <Foundation.Core.ModelElement.name>tileGutter</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.85"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1514" 
+                      xmi.uuid="uFyawyIxPjszyS4UxatHuJaqsBp580IT">
+                    <Foundation.Core.ModelElement.name>tileBuffer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.85"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1515" 
+                      xmi.uuid="rSiO5OUdsNAlVCM8uatE7O69WZlamIXL">
+                    <Foundation.Core.ModelElement.name>singleTile</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.85"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1516" 
+                      xmi.uuid="3e9azE6SG3qVo35UtQRp06mSDJFVNNtc">
+                    <Foundation.Core.ModelElement.name>tileSize</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.85"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1517" 
+                      xmi.uuid="I8FgFW10K8kgmdHL1bS2H1aCnwY4hHPH">
+                    <Foundation.Core.ModelElement.name>imageReproject</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.85"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1518" 
+                      xmi.uuid="kLiHm7CHF75vR4AG2Lw79xACgpxIT2z5">
+                    <Foundation.Core.ModelElement.name>imageBuffer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.85"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1519" 
+                      xmi.uuid="PUXn57blmPdOlw7DTfV30Be3UwFlN1bg">
+                    <Foundation.Core.ModelElement.name>displayOutsideMaxExtent</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.85"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1520" 
+                      xmi.uuid="a9GZa8mJnyORMAdKud6O3qah7k4Qvj1x">
+                    <Foundation.Core.ModelElement.name>loadingLayers</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.85"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1521" 
+                      xmi.uuid="RCYmYyURkb4NJiH2b34J7A3SBsJHwDL9">
+                    <Foundation.Core.ModelElement.name>layerId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.85"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1522" 
+                      xmi.uuid="PbcV6P4LW97Ok2lEEWSwbmeHy4Iqn0EC">
+                    <Foundation.Core.ModelElement.name>uniqueId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.85"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1523" 
+                      xmi.uuid="sdskqDjQFKdbWRfq9wl2Fixcan2lFj0h">
+                    <Foundation.Core.ModelElement.name>layers</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.85"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1524" 
+                      xmi.uuid="awQbVIhbMLdMkAdScFjwKfmBhHF5B5ED">
+                          
+                      <Foundation.Core.ModelElement.name>refreshWmsLayers</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1525" 
+                          xmi.uuid="P0rKEBCoeGOcSL4NYiohhtkaW9UftcMG">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1526" 
+                      xmi.uuid="jSrWqQMhkB3ZwnCbQSShzHosJMzI7pqU">
+                          
+                      <Foundation.Core.ModelElement.name>paint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1527" 
+                          xmi.uuid="Gn4NtXtHP2GEMVrPRRGIqC6k8wesl86b">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1528" 
+                      xmi.uuid="UzoqXniiELCW39Uk1mq0PUdqCulPS3FY">
+                          
+                      <Foundation.Core.ModelElement.name>clear</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1529" 
+                          xmi.uuid="ZP2wDVQMJTY7xBvDWYXob4NeNxpycIWM">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1530" 
+                      xmi.uuid="jlA8FGYYDtrqwwJ2ClwplqARIT6YM5ND">
+                          
+                      <Foundation.Core.ModelElement.name>increaseLoadingLayers</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1531" 
+                          xmi.uuid="DC8WAWowt0ss5RsMawA89K6ziDJo3RWL">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1532" 
+                      xmi.uuid="qUKPyG6WzqEQs3thqvz9mHZ6MI2jfYRy">
+                          
+                      <Foundation.Core.ModelElement.name>decreaseLoadingLayers</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1533" 
+                          xmi.uuid="oWlV40U21SBHVyOip7ly1Dt04tJIfCtB">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1534" 
+                      xmi.uuid="Rb5aIkoGy3cnwX44s85FY5eiXBkpoMul">
+                          
+                      <Foundation.Core.ModelElement.name>updateContext</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1535" 
+                          xmi.uuid="vFrqTRYepx9m5GzhRkKAGUUx5B5XSfl5">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1536" 
+                      xmi.uuid="AofS3K7mKFTmpsV3RGzwIIgLHcDjm7Ur">
+                          
+                      <Foundation.Core.ModelElement.name>updateMouse</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1537" 
+                          xmi.uuid="aSX7OiNAt9nG6ttpOMjH4l8wXjP5UkJx">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1538" 
+                      xmi.uuid="t04g4mgtfLZIoNGiK3NQY3E8QCKlSUc9">
+                          
+                      <Foundation.Core.ModelElement.name>zoomToBbox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1539" 
+                          xmi.uuid="2H2hmgEgdhH1q7CUTNUHQB4w6z7Vquql">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1540" 
+                      xmi.uuid="yBbCKjik49VavycDgA41YRTVRGCSABzV">
+                          
+                      <Foundation.Core.ModelElement.name>hidden</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1541" 
+                          xmi.uuid="hCwECxQtux31VmMseNhfEHT8F9BDn2x0">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1542" 
+                      xmi.uuid="zpgnDbgjR5OTWD5wuenPrWaV9ncORrUZ">
+                          
+                      <Foundation.Core.ModelElement.name>getLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1543" 
+                          xmi.uuid="VLaMl3Zx0w8PGOpPaUOhS9TPZ5iW9e2f">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1544" 
+                      xmi.uuid="YS0v7lAdyIq8xPmstUz4JUTaUcuS6QCd">
+                          
+                      <Foundation.Core.ModelElement.name>deleteLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1545" 
+                          xmi.uuid="HJleMb0miWoIcTx4SGxvknVC8bTz1E2B">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1546" 
+                      xmi.uuid="QRisI30rv1EoZ9tGOUxr1JlQaivDTevv">
+                          
+                      <Foundation.Core.ModelElement.name>deleteAllLayers</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1547" 
+                          xmi.uuid="Zzgt61fVnyOe59FJ2Yx08mtWG2VufzQr">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1548" 
+                      xmi.uuid="wz71sPjCgB74v5WVjNFxvNvACwNf3tcx">
+                          
+                      <Foundation.Core.ModelElement.name>moveLayerUp</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1549" 
+                          xmi.uuid="dm8UzI4FaXMgu1g0zo5g36fGSy2BgiRQ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1550" 
+                      xmi.uuid="YXMWFs9b2Bz5IplEnEH1HZqqAsJACBQL">
+                          
+                      <Foundation.Core.ModelElement.name>moveLayerDown</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1551" 
+                          xmi.uuid="d2xGu2a3vWhFJIUiPdR9cKhifJePTxbq">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1552" 
+                      xmi.uuid="nIc3bjJHfzEMPDwp82DchUQzN1wZCSff">
+                          
+                      <Foundation.Core.ModelElement.name>setOpacity</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1553" 
+                          xmi.uuid="DiiKqqwBISWel31EfN3U8ywPjVh6qSOM">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1554" 
+                      xmi.uuid="LzLzk0b8xXMWPkDyQZ6q7zadnAgkc9Hj">
+                          
+                      <Foundation.Core.ModelElement.name>addLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1555" 
+                          xmi.uuid="BMdNDp2YGXscdwwKQFaXqA7A35wKwoLw">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1556" 
+                      xmi.uuid="NxriE69I2FUR4PMVAXFFKvXQn3NAkyM0">
+                          
+                      <Foundation.Core.ModelElement.name>getWebSafeStyle</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1557" 
+                          xmi.uuid="VDp8kRtT3NrZzzfm1XOpzVSKeSVWRJ8k">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1558" 
+                      xmi.uuid="FT8DdoU01u4gIYpgdvtyYA63mGwwVv8I">
+                          
+                      <Foundation.Core.ModelElement.name>refreshLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1559" 
+                          xmi.uuid="dhg4Ga0eZwz6lezdv5m0xAqNGvzWxGEz">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1560" 
+                      xmi.uuid="KIww6TPlZho5u82UzbxCKpX01N2yOcwl">
+                          
+                      <Foundation.Core.ModelElement.name>timestampListener</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1561" 
+                          xmi.uuid="u5cNzunSPllk6J4hd2PByMAixwvrkEX3">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.86" 
+                  xmi.uuid="7Q3sIQAccczdVGwHoDMlepSMjMBMqoj4">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>History</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1582"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1563" 
+                      xmi.uuid="KPxAxMQJOQZzwhcMipCsgsnggfNOXpNk">
+                    <Foundation.Core.ModelElement.name>place</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.86"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1564" 
+                      xmi.uuid="gDvtJhrrU0qanqngiJF4Mb02OF29iAYr">
+                    <Foundation.Core.ModelElement.name>list</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.86"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1565" 
+                      xmi.uuid="deDzi3oX7EhSsuEY3QDyH4WtNiw3mZmx">
+                    <Foundation.Core.ModelElement.name>center</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.86"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1566" 
+                      xmi.uuid="AgRN8y0p6PJt4dGlIhfJo9OFQzsB8MXS">
+                    <Foundation.Core.ModelElement.name>scale</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.86"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1567" 
+                      xmi.uuid="ODQUIIsGxDlWGOA3Wqz0itcm6Bny23xS">
+                    <Foundation.Core.ModelElement.name>newExtent</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.86"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1568" 
+                      xmi.uuid="lzz17mYzUc5jrNePL1VljEV3ueRQXGto">
+                          
+                      <Foundation.Core.ModelElement.name>init</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1569" 
+                          xmi.uuid="fXvROv3g7JHxaLDzft0iGK8LWvEigO0v">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1570" 
+                      xmi.uuid="mLpwsuwOf6iTzOYuEhWXJzwRmmvFucMj">
+                          
+                      <Foundation.Core.ModelElement.name>add</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1571" 
+                          xmi.uuid="d4Evns9a6rTz5Kuas6RmC2VGf7EwjpyO">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1572" 
+                      xmi.uuid="1zY1MAVCYT8moAWxe0nShZDN64KDPhpJ">
+                          
+                      <Foundation.Core.ModelElement.name>back</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1573" 
+                          xmi.uuid="dRIm72EyLHSYZ5uEc49vuCNAnwO67izi">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1574" 
+                      xmi.uuid="SX3Y6G9bKSRwbUGfVQMBZF8FhGu15R6c">
+                          
+                      <Foundation.Core.ModelElement.name>forward</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1575" 
+                          xmi.uuid="RsuOmGzD82UjVgkh1r295jiBjh5d4dsQ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1576" 
+                      xmi.uuid="0VS0t3FqtpmZQYq66J0f0acbzG1byh8i">
+                          
+                      <Foundation.Core.ModelElement.name>stop</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1577" 
+                          xmi.uuid="iuNc7kF6jtgaUpeginNHFW5iG3wAkqmr">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1578" 
+                      xmi.uuid="lAV7XwkikubQzTEndiWnf2Z02aBgNkJm">
+                          
+                      <Foundation.Core.ModelElement.name>start</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1579" 
+                          xmi.uuid="lHVyuYhUoIi8hVpXpTkiWEKVqYN8CsES">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1580" 
+                      xmi.uuid="GX6Mwca2s29Yx2DhnWxHAf8Dx1GNNB5d">
+                          
+                      <Foundation.Core.ModelElement.name>initReset</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1581" 
+                          xmi.uuid="X8mB4Txv3C4XsmqMMutWf3FzbMdZXZLJ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.87" 
+                  xmi.uuid="BkANUyNaAQBeOeIKjqNqh69fSQ6BgpsO">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>GmlRendererOL</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1626"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1583" 
+                      xmi.uuid="uSmqZ4of9sGhLxHAh96gIwpkYOrCJ8L3">
+                    <Foundation.Core.ModelElement.name>OlLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1584" 
+                      xmi.uuid="BYcvXKFBsHvkUb67GZbbwto5g0G5e68Q">
+                    <Foundation.Core.ModelElement.name>gml</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1585" 
+                      xmi.uuid="7jvOczkyrIWxRuhURwbaRsXK1SXjEZGs">
+                    <Foundation.Core.ModelElement.name>proj</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1586" 
+                      xmi.uuid="29pxJpy5N8JyaUw6IJUiBxhNLc69YZjb">
+                    <Foundation.Core.ModelElement.name>loaded</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1587" 
+                      xmi.uuid="XtLMCalTSSc52em6SmNvFeqNPtBP3Owu">
+                    <Foundation.Core.ModelElement.name>features</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1588" 
+                      xmi.uuid="0F2wvDSYFQRpNyUoWSAKiMvv0Tz2AgYh">
+                    <Foundation.Core.ModelElement.name>featuresToRemove</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1589" 
+                      xmi.uuid="iU7oghH1M9vZVGm2B4Ba2a8p7GBqkXKl">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1590" 
+                      xmi.uuid="RNHTlhHjVIJQMl0NHbniUHduj2u5WpQ8">
+                    <Foundation.Core.ModelElement.name>sourceNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1591" 
+                      xmi.uuid="X9l5niWc5wo6htDsFhk2bpiUnR35wRqO">
+                    <Foundation.Core.ModelElement.name>sourceModel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1592" 
+                      xmi.uuid="ePO7yBglBkqBdsTuq6KevMhyr8DM0g7v">
+                    <Foundation.Core.ModelElement.name>widgetConfig</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1593" 
+                      xmi.uuid="nEnjrwzcMLFIQDlEAjJqbcFsnolvYbF9">
+                    <Foundation.Core.ModelElement.name>mbWidget</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1594" 
+                      xmi.uuid="5NOUNjc91vzhq0IDnyk8C7cDBMfFZdqp">
+                    <Foundation.Core.ModelElement.name>olLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1595" 
+                      xmi.uuid="uinnE6FJVHblxxSWURPMSxCEtsRRm4Y7">
+                    <Foundation.Core.ModelElement.name>defaultStyle</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1596" 
+                      xmi.uuid="dZwdWEFMckIsONzdl2LERmrLCnj0Niks">
+                    <Foundation.Core.ModelElement.name>selectStyle</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1597" 
+                      xmi.uuid="tTYBwEvZ8pmGyn326WovIWolDyFp8WIg">
+                    <Foundation.Core.ModelElement.name>hiddenFeatures</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1598" 
+                      xmi.uuid="ImJayNUgbgdFxcIBFFQHZEC3lo6mUVq3">
+                    <Foundation.Core.ModelElement.name>containerNodeId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1599" 
+                      xmi.uuid="geVWjjzq3AYJaPp8lYoyCj6LWKbV2L1P">
+                    <Foundation.Core.ModelElement.name>styleNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1600" 
+                      xmi.uuid="1vIDuozKBt6hD5RxvIBGzJSjrIVn1W8F">
+                    <Foundation.Core.ModelElement.name>stylesheet</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1601" 
+                      xmi.uuid="YLR0CcGUMmCqltPnsrjhkED9dKYJK2y2">
+                    <Foundation.Core.ModelElement.name>hoverCursor</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1602" 
+                      xmi.uuid="pkeMwdDo0YJFnGjl1YnTtJUOo0hjKhuP">
+                    <Foundation.Core.ModelElement.name>models</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1603" 
+                      xmi.uuid="tWQdGDG5wuHGsLxNfNikoOzm8zQCHwBt">
+                    <Foundation.Core.ModelElement.name>sldModel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1604" 
+                      xmi.uuid="F0Y7E2vZ4SqFZXK006mTYkMoUDoSdDS6">
+                    <Foundation.Core.ModelElement.name>sldNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1605" 
+                      xmi.uuid="CF1mqr4M1KogeedfLvdKSMpZNqjzl4bP">
+                    <Foundation.Core.ModelElement.name>namedLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1606" 
+                      xmi.uuid="pgYUlJhm5lwg47ItXBj9yKo10eo0lXo6">
+                    <Foundation.Core.ModelElement.name>j</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1607" 
+                      xmi.uuid="L4hms4m08BYQ7gF4nlRQM0k7dsOQbNhz">
+                    <Foundation.Core.ModelElement.name>feature</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1608" 
+                      xmi.uuid="7XVAt1vWwEZtFLxhdi5EmGyrTcNfEezS">
+                    <Foundation.Core.ModelElement.name>clickWidgetNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1609" 
+                      xmi.uuid="3jZ0Rns2HMdk8cECHIcLATk3fm5TH455">
+                    <Foundation.Core.ModelElement.name>clickWidget</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1610" 
+                      xmi.uuid="i1xjINu6YQVMS6KY6IJoPkL29OrVWfFa">
+                    <Foundation.Core.ModelElement.name>hoverWidgetNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1611" 
+                      xmi.uuid="f3HzE05DGnQvsUicazyYNiL9LatxvKbT">
+                    <Foundation.Core.ModelElement.name>hoverWidget</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.87"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1612" 
+                      xmi.uuid="fBiqt5JeqNwshb4EHAHROhwDlub1camo">
+                          
+                      <Foundation.Core.ModelElement.name>paint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1613" 
+                          xmi.uuid="5CEzHYNmRHbMl73rImacIPSadKJIKFTu">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1614" 
+                      xmi.uuid="54e0IAi31O7u4HOIqjr66qpR8aT5nLW2">
+                          
+                      <Foundation.Core.ModelElement.name>hiddenListener</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1615" 
+                          xmi.uuid="601dtCCVVRUEWAUfIO7aI3QTr9HcXutw">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1616" 
+                      xmi.uuid="2IlFJAaz79NGV5UZA4tjarjqvZe8h4If">
+                          
+                      <Foundation.Core.ModelElement.name>hideFeature</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1617" 
+                          xmi.uuid="pj8yqv3pmphBYVzYiEJSMRPf7Vh1Mtfw">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1618" 
+                      xmi.uuid="ekVLmgOIn1JsnzyhZpBpf08Zp3eccgBt">
+                          
+                      <Foundation.Core.ModelElement.name>showFeature</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1619" 
+                          xmi.uuid="UzuZoXFOWYvGZpXXpFgwoCwr1l3DPuGS">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1620" 
+                      xmi.uuid="TlM7ex1cJhF1mbm4AN0MQlKtsydf1d62">
+                          
+                      <Foundation.Core.ModelElement.name>removeHiddenFeatures</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1621" 
+                          xmi.uuid="Nsd77WtpZp7IOSWAVHdaLjkpdsJFDf3p">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1622" 
+                      xmi.uuid="6Lc1MtOGry2fnG9yh7fylx0i0su2KzhO">
+                          
+                      <Foundation.Core.ModelElement.name>init</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1623" 
+                          xmi.uuid="9S83f0BdJ2jH7WMngVcwIIszkY4cf7ky">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1624" 
+                      xmi.uuid="6lUyKFNH4ry5VCxxkANKJvrBv6kI1gT2">
+                          
+                      <Foundation.Core.ModelElement.name>clearWidget</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1625" 
+                          xmi.uuid="GOMZ6ByUpwRDQEW5CAeB8SyBHN1bcpCT">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.88" 
+                  xmi.uuid="3KPUn2wpkxzhn1FTBCSnY6ecDBQIt277">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>WpsDescribeProcess</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1637"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1627" 
+                      xmi.uuid="lwLpKpQiD4r2DXamrb9tEftn1QalucKu">
+                    <Foundation.Core.ModelElement.name>namespace</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.88"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1628" 
+                      xmi.uuid="yWb0yGVq0xDH2S2poUcMHgKkdQToad7J">
+                    <Foundation.Core.ModelElement.name>xpath</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.88"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1629" 
+                      xmi.uuid="I5RR9A91MWkvTxmjkSpztBYwb1oqSYQT">
+                          
+                      <Foundation.Core.ModelElement.name>getServerUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1630" 
+                          xmi.uuid="uArUGqgnRYcIZMQDNQdl7kT1iuFWOHfV">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1631" 
+                      xmi.uuid="JviAFsRTjrJmKgc9lC08aBw7ilYji1ch">
+                          
+                      <Foundation.Core.ModelElement.name>getVersion</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1632" 
+                          xmi.uuid="r7iEwq3tjU1URrnEf1HwVQ8NfZg7KLkj">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1633" 
+                      xmi.uuid="bUftNUkjcMpvRvm6Ts8CV8YwXmqqIDZg">
+                          
+                      <Foundation.Core.ModelElement.name>getMethod</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1634" 
+                          xmi.uuid="p0c0rrOOKxMqMuSQ0oMeoSe8MdMtNETO">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1635" 
+                      xmi.uuid="zX9sosWXSSQDeYLM61U4GTvCXHdgylXI">
+                          
+                      <Foundation.Core.ModelElement.name>getFeatureNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1636" 
+                          xmi.uuid="EIcPdm3Da32awxMCux9Nfut9nDoG5Hnj">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.89" 
+                  xmi.uuid="Omb8599TYTHClsEIv3FdxQPBKJddjeZn">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>SelectTimeFrame</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1643"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1638" 
+                      xmi.uuid="XZ9Ouhap0mmiCzG20f1XhEnGYHxpIgEW">
+                    <Foundation.Core.ModelElement.name>timestampList</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.89"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1639" 
+                      xmi.uuid="2MQJsgKvyWtfepnGnbh8REOCxlT1KPyh">
+                          
+                      <Foundation.Core.ModelElement.name>setFirstFrame</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1640" 
+                          xmi.uuid="783By6fJjzXUHhtlHkGpMUxxjl1THr5z">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1641" 
+                      xmi.uuid="xSlUDSUIdpiLhFp2tMiemPTONiCRoT8m">
+                          
+                      <Foundation.Core.ModelElement.name>setLastFrame</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1642" 
+                          xmi.uuid="MpwJVLCoKpiOP0eHSULt1tgG3xUtuyl6">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.90" 
+                  xmi.uuid="lHMT0cdYn50yKYics2cu2UBk5rnJZuOU">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>ModelStatus</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1646"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1644" 
+                      xmi.uuid="3zl1jKk1sFhCAkGRgq9HSV905COCKhPu">
+                          
+                      <Foundation.Core.ModelElement.name>prePaint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1645" 
+                          xmi.uuid="ZBnKdJJseEuUsVqD9b4GMshTCMFhPJOS">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.91" 
+                  xmi.uuid="0scnlSC8BtUQvfwAUhfXSIr8zjsufKmK">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>FilterAttributes</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1647"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.92" 
+                  xmi.uuid="M9wz0ivjFMnbiOJZQoN57w3SZqZM3uWO">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>EventLog</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1648"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.93" 
+                  xmi.uuid="v8mI3nbvLAjregdrxaveePNRErz85xI6">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Back</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1654"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1649" 
+                      xmi.uuid="LUaHfRD3f0tRbMpPWuzAURK8JfI6h6b4">
+                    <Foundation.Core.ModelElement.name>Control</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.93"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1650" 
+                      xmi.uuid="Xf6LLaL8UXxWoIc2CR0igeHTjNfx76Tv">
+                    <Foundation.Core.ModelElement.name>objRef</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.93"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1651" 
+                      xmi.uuid="pgV8I04lMW8fGytFRcHZD9NTWS9G5z0l">
+                    <Foundation.Core.ModelElement.name>previousExtent</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.93"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1652" 
+                      xmi.uuid="wdTKhrX0qBzjbMEEvrVmfDKjCB6EBUX0">
+                          
+                      <Foundation.Core.ModelElement.name>createControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1653" 
+                          xmi.uuid="9eT4PjWSuqDdI7EQgPVgdjWLAqscVOkl">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.94" 
+                  xmi.uuid="HnmopUhG0nkWV4z5WKB5gly4kCAOM4De">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>TipWidgetConfig</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1655"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.95" 
+                  xmi.uuid="v9ttIm0QoSywE5SIm04QsskzQaUOLy4A">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>WidgetBase</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.333"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1104"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1689"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.428"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1447"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.383"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1562"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1124"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1343"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.611"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1656" 
+                      xmi.uuid="X3nMcHa5ThAGz9srAxlRod4MgVLlUIxL">
+                    <Foundation.Core.ModelElement.name>model</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.95"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1657" 
+                      xmi.uuid="ZQLgCUuuiZ0Buu3p754tRizu1icYicB5">
+                    <Foundation.Core.ModelElement.name>widgetNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.95"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1658" 
+                      xmi.uuid="iGec4TPbN6QVPMruDG7qBMmQblctOhBq">
+                    <Foundation.Core.ModelElement.name>templatedWidget</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.95"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1659" 
+                      xmi.uuid="2CbzovLWmaSu60SK0J1zwNin1AERJCAr">
+                    <Foundation.Core.ModelElement.name>id</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.95"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1660" 
+                      xmi.uuid="CHKeGPAOZoR7ODkjzLdRNRnDmrrLVf1i">
+                    <Foundation.Core.ModelElement.name>outputNodeId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.95"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1661" 
+                      xmi.uuid="lopKyj63NsCvK0ZTzXpb5yjxoTTWhNLe">
+                    <Foundation.Core.ModelElement.name>htmlTagId</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.95"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1662" 
+                      xmi.uuid="MIVbiWJPtxai9yA0eCpd4LqGklKVZR2y">
+                    <Foundation.Core.ModelElement.name>node</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.95"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1663" 
+                      xmi.uuid="2exsX93Pud5m0oMZNK6p0dKnFruUbpeK">
+                    <Foundation.Core.ModelElement.name>autoRefresh</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.95"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1664" 
+                      xmi.uuid="TLaSyVf5f8eBMpx1NPHZwjMG4jSwlVS5">
+                    <Foundation.Core.ModelElement.name>debug</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.95"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1665" 
+                      xmi.uuid="NrSVhPVq5AdTl3t25idRhyaZBSpXifPV">
+                    <Foundation.Core.ModelElement.name>targetModel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.95"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1666" 
+                      xmi.uuid="k83CSlYeVi3g3RdKowggl4R5Xgsfx1W8">
+                    <Foundation.Core.ModelElement.name>outputNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.95"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1667" 
+                      xmi.uuid="KFDrMG7UCMpV5aNGgAAoqgvW7t3zS4Ns">
+                          
+                      <Foundation.Core.ModelElement.name>getProperty</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1668" 
+                          xmi.uuid="o616T4CnKVOesbGbmIIirE4uPrjwEf1J">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1669" 
+                      xmi.uuid="RSn0oor4qJG99QgXhoMomNy9Fzh2JFtm">
+                          
+                      <Foundation.Core.ModelElement.name>getNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1670" 
+                          xmi.uuid="Fk4OabLVfS3EXISpAsXlgeXf5hDBkfDb">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1671" 
+                      xmi.uuid="aQn0nXEqqPOtwm1LAy6AmpeicpQq6YQ4">
+                          
+                      <Foundation.Core.ModelElement.name>initTargetModel</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1672" 
+                          xmi.uuid="V6IzB2B98rGxdphc8cqnhVDhs1I8j8zi">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1673" 
+                      xmi.uuid="K4czYhtuLRFAbRosWtwxZGV7b3orktJ9">
+                          
+                      <Foundation.Core.ModelElement.name>prePaint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1674" 
+                          xmi.uuid="0fcjI4VuGdIVXNuwZqrFZEReANqLkU7L">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1675" 
+                      xmi.uuid="m9MHPrLdG6EU2PtoUjuR62EpeL5N8TjL">
+                          
+                      <Foundation.Core.ModelElement.name>postPaint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1676" 
+                          xmi.uuid="YKMcg53JVwvvcgEyiLluWIojflqoJNyY">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1677" 
+                      xmi.uuid="ZZ3xPizSugCXmgyMapX2WVdKBCtLMcwR">
+                          
+                      <Foundation.Core.ModelElement.name>clearWidget</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1678" 
+                          xmi.uuid="tm6RA7C8XzDyq44DBow9yEW16TzveeKZ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.96" 
+                  xmi.uuid="3f2VF8Qlu6pl4PGQY60bT7ZYuzcP10kV">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>WidgetBaseXSL</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1689"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.496"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1120"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1765"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1755"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.940"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.452"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1119"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.497"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1643"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.324"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.589"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1775"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1648"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.225"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1647"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.329"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.264"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.285"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1091"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1391"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.216"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.486"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.498"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.134"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.340"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1646"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.319"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.685"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1364"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.267"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.339"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1764"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1793"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <Foundation.Core.GeneralizableElement.specialization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1486"/>
+                </Foundation.Core.GeneralizableElement.specialization>
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1679" 
+                      xmi.uuid="czfd8zqUi9NjNcPt3RnGPpCE0GPijeVe">
+                    <Foundation.Core.ModelElement.name>stylesheet</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.96"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1680" 
+                      xmi.uuid="r0kpXZsEL1F8GEPFBxk3duNgBDgI13J2">
+                    <Foundation.Core.ModelElement.name>parseHTMLNodes</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.96"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1681" 
+                      xmi.uuid="J3WNUqYEwF5UbeOgNkz9ahncljjCYkhI">
+                    <Foundation.Core.ModelElement.name>textNodeXpath</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.96"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1682" 
+                      xmi.uuid="aGYRAV4GCLn4Pth6Q6D2M1PJn0FINX4F">
+                    <Foundation.Core.ModelElement.name>textParams</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.96"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1683" 
+                      xmi.uuid="tHItclwUeDxuRV3SplhEq1n722P9kAen">
+                    <Foundation.Core.ModelElement.name>j</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.96"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1684" 
+                      xmi.uuid="sN1w8ODkuyEl42UIgwl0sftbwxA7Vc1a">
+                    <Foundation.Core.ModelElement.name>outputNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.96"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1685" 
+                      xmi.uuid="EOa5loLc7tBLgTSXdLLbkWelLgBzJzTn">
+                    <Foundation.Core.ModelElement.name>tempNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.96"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1686" 
+                      xmi.uuid="Z3LlKdCzQi0eUOoVJx3XOBztL62vUu9g">
+                    <Foundation.Core.ModelElement.name>s</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.96"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1687" 
+                      xmi.uuid="3D5PZ6fFt6dUp3s4moPQ3oaRnlvxeUkM">
+                          
+                      <Foundation.Core.ModelElement.name>paint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1688" 
+                          xmi.uuid="HO27syG0BVt9u5OEWWSpgU9YsAjhuvFL">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.97" 
+                  xmi.uuid="zLqrzMaci1wF2MWcRpbcjlRhMLdevayA">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>FeatureSelectHandler</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1718"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1690" 
+                      xmi.uuid="3poCW0e0gsohDEnaNrqSoihu6Bykclru">
+                    <Foundation.Core.ModelElement.name>map</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.97"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1691" 
+                      xmi.uuid="5LrSFWwJSj6uLy96dUDiUPx114kZZl3r">
+                    <Foundation.Core.ModelElement.name>sourceModels</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.97"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1692" 
+                      xmi.uuid="UItfJ2d3zfxzjmoK6IbSBzeeNBIZ3xXq">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.97"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1693" 
+                      xmi.uuid="FvujEnJxP47PAnHvEil2FsBAW7gB2yGt">
+                    <Foundation.Core.ModelElement.name>layer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.97"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1694" 
+                      xmi.uuid="siNPcArBj08QOgC5glqbpjlJ0ECsVkHX">
+                    <Foundation.Core.ModelElement.name>selectStyle</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.97"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1695" 
+                      xmi.uuid="GaXb2jyTojy52MNL0ssBBeDt7Hb1v0JN">
+                    <Foundation.Core.ModelElement.name>featureSelectHandler</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.97"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1696" 
+                      xmi.uuid="kbtQGZnVFUNy2AYvfVysnuz6ikVtvOMN">
+                    <Foundation.Core.ModelElement.name>mbFeatureSelectHandler</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.97"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1697" 
+                      xmi.uuid="rOWUpl4JgatUXFS8FdQWm4BtfSRDC3kL">
+                    <Foundation.Core.ModelElement.name>objRef</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.97"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1698" 
+                      xmi.uuid="a3f705Xmxfi25NW597QL5gsxNy60iuF9">
+                          
+                      <Foundation.Core.ModelElement.name>configInit</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1699" 
+                          xmi.uuid="4zHfuquBkHqVastWH4qGDAMt2DG2pOXB">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1700" 
+                      xmi.uuid="svblE2q40iOpKDC0Cna7WOapynpS0uqW">
+                          
+                      <Foundation.Core.ModelElement.name>clear</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1701" 
+                          xmi.uuid="q0nn0Tiqp39ktRTCU3sW2XiBcjf1RYuK">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1702" 
+                      xmi.uuid="JCkAvLLqDT8l5SrXLkDf3XqBlkZX1q1w">
+                          
+                      <Foundation.Core.ModelElement.name>contextInit</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1703" 
+                          xmi.uuid="0VeqrlSCGqZBi8dsVsLj2kcBExjzUWXE">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1704" 
+                      xmi.uuid="Ii1hpk85CZmKW7obP2mJKJJsrGkmlOLf">
+                          
+                      <Foundation.Core.ModelElement.name>init</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1705" 
+                          xmi.uuid="ErL7610jndUzne6na6LLMjhQ8zvbVIrZ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1706" 
+                      xmi.uuid="i98SuTTrmx6wG0bnWWJ5O7ECqFzau519">
+                          
+                      <Foundation.Core.ModelElement.name>onSelect</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1707" 
+                          xmi.uuid="ZmpeFMY0VzMicuehNhahvbCjThRycihh">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1708" 
+                      xmi.uuid="s6nn71t2eaxLHbUUV5OihWA6lox20IBZ">
+                          
+                      <Foundation.Core.ModelElement.name>onUnselect</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1709" 
+                          xmi.uuid="ycOo5eGf9yUbuy9vkM3C5fIangieOQ7K">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1710" 
+                      xmi.uuid="qX61DEMFFKX0zA46NBMqOM6nMKaysKOf">
+                          
+                      <Foundation.Core.ModelElement.name>onClick</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1711" 
+                          xmi.uuid="Bwf3El5Qf9wIKOtp3CsgQevtsOGoqGYV">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1712" 
+                      xmi.uuid="qYJL6bu8wJ7tY7AaDYuir9rYVeREHsHr">
+                          
+                      <Foundation.Core.ModelElement.name>onHover</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1713" 
+                          xmi.uuid="sJz8wz1TwzocTZ6PaaSA0DcotXffjjBq">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1714" 
+                      xmi.uuid="4Ej6CrLqPEkVYZ8D8BknPeZjziQJsigW">
+                          
+                      <Foundation.Core.ModelElement.name>highlight</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1715" 
+                          xmi.uuid="2MwNCiQ5rPgn8ZmB9Dpegkpyghr96nTt">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1716" 
+                      xmi.uuid="hpuF7pEmKBS6qE8ZfbfvKra5OHf6LWmb">
+                          
+                      <Foundation.Core.ModelElement.name>dehighlight</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1717" 
+                          xmi.uuid="W59I2QhWacMki2iO7YLKkKKtOGht6vBv">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.98" 
+                  xmi.uuid="2E56gOHWEYYBaVwqIMlWA2VLKuf0n8ZQ">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Mapbuilder</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1719" 
+                      xmi.uuid="1QRR8oB25Epk2SsKXPU0r3ueGagN2QKr">
+                    <Foundation.Core.ModelElement.name>loadState</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.98"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1720" 
+                      xmi.uuid="7cxC8xj8fFGJhplKGjx9D9ZuyJkCUwhn">
+                    <Foundation.Core.ModelElement.name>loadingScripts</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.98"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1721" 
+                      xmi.uuid="631UaJGMrbSLEbnzcn1i9QNpmN7PaucS">
+                    <Foundation.Core.ModelElement.name>orderedScripts</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.98"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1722" 
+                      xmi.uuid="RNReUuFdeBW0PGWEdmkKIWC2gqgGiVOI">
+                    <Foundation.Core.ModelElement.name>scriptLoader</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.98"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1723" 
+                      xmi.uuid="eP9Y3kqC4MYP4KZxM7RebEicyIDlR95m">
+                    <Foundation.Core.ModelElement.name>scriptsTimer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.98"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1724" 
+                      xmi.uuid="tM5ZKUpgGx747PAbaYCTjeo23Gbw0Ygu">
+                    <Foundation.Core.ModelElement.name>loadOrdered</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.98"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1725" 
+                      xmi.uuid="P1ys0HsBjJ0YMRldXQULjWaL0xq915uv">
+                    <Foundation.Core.ModelElement.name>urlElements</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.98"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1726" 
+                      xmi.uuid="5CLhhqAcap26UPSg2YEIeOyr4lCDS2vo">
+                    <Foundation.Core.ModelElement.name>scriptClass</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.98"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1727" 
+                      xmi.uuid="w6SYNdOvFUGkk4kUr951Po133y6Qc6Yv">
+                    <Foundation.Core.ModelElement.name>script</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.98"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1728" 
+                      xmi.uuid="m5LWLM7fqv1CsOpOMX6EVKgubH5cYgWS">
+                    <Foundation.Core.ModelElement.name>objRef</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.98"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1729" 
+                      xmi.uuid="fIqhLVXOFUaDfyJnOsWJ4eMTMRWxYb8z">
+                    <Foundation.Core.ModelElement.name>i</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.98"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1730" 
+                      xmi.uuid="gdoP9FTSnkVwq2Z4VV8HlRv06wUpuWxu">
+                    <Foundation.Core.ModelElement.name>head</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.98"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1731" 
+                      xmi.uuid="KjAnOI0XZ5YWXRNVJWh61NUAaXHPpl0w">
+                    <Foundation.Core.ModelElement.name>nodes</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.98"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1732" 
+                      xmi.uuid="P7G4oJ2iQnak3OGZIsn31uapZv9QbuwR">
+                    <Foundation.Core.ModelElement.name>src</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.98"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1733" 
+                      xmi.uuid="WP3Eg1i8X2hzI77NjgtkA6HzPQiZteew">
+                    <Foundation.Core.ModelElement.name>index</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.98"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1734" 
+                      xmi.uuid="nqUKo4nHmaUEO4UPy4s0CJUKpSV0SbzL">
+                    <Foundation.Core.ModelElement.name>Popup</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.98"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1735" 
+                      xmi.uuid="bfoDaXgtVCYI6LDNxGaRpwJjMPBdgMnR">
+                          
+                      <Foundation.Core.ModelElement.name>checkScriptsLoaded</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1736" 
+                          xmi.uuid="Ht91d4XKDs76KUgP1B2y4zgat32ToH70">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1737" 
+                      xmi.uuid="q0lqYw7ndprMNYRJvJYuvdo2tM1dtkkK">
+                          
+                      <Foundation.Core.ModelElement.name>setLoadState</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1738" 
+                          xmi.uuid="lzoJCSZqh6t2TZPLF1Y00h7tk32cN6rE">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1739" 
+                      xmi.uuid="kCkP7NunuBzSu6SkrBJFKAtclLs4X23T">
+                          
+                      <Foundation.Core.ModelElement.name>loadScript</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1740" 
+                          xmi.uuid="Yj64XliPY5r1SVf30KJM3SQxJSPtQfTp">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1741" 
+                      xmi.uuid="jX13KoDZPPlcS5q6DtgAWrxbbTFrl0KN">
+                          
+                      <Foundation.Core.ModelElement.name>loadNextScript</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1742" 
+                          xmi.uuid="a08em1f6Hz4m6whftG6l7hzWdqsVFDSU">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1743" 
+                      xmi.uuid="vOGaCPLgtWKFRkP4rhmKTdSJkADatCM8">
+                          
+                      <Foundation.Core.ModelElement.name>doLoadScript</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1744" 
+                          xmi.uuid="0eGoL4Spma7afHn8RA3yVgJBMkSkkzFm">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1745" 
+                      xmi.uuid="M3wXepwxUrSzuplGW1y4nTr4LQZseTWd">
+                          
+                      <Foundation.Core.ModelElement.name>checkScriptState</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1746" 
+                          xmi.uuid="oOx0M7Bhhe3EWJYwDZRbj5bKU6zXOuHW">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1747" 
+                      xmi.uuid="JlobU1O3nazqlL68RXQD6CoTgZz8pnK1">
+                          
+                      <Foundation.Core.ModelElement.name>loadScriptsFromXpath</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1748" 
+                          xmi.uuid="x3zmRa8t9hOI00HE8Nh3QsYZE4ADRV9L">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1749" 
+                      xmi.uuid="u2p9n9QL7ZWZIYF0MXeLfVZkm7gRwINP">
+                          
+                      <Foundation.Core.ModelElement.name>getProperty</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1750" 
+                          xmi.uuid="UywWX8xVYxbdView2RdsjWTCO4ceF5Ba">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1751" 
+                      xmi.uuid="3A85Ukz12SRJqAzbeaO7KCpRGv5iOYMo">
+                          
+                      <Foundation.Core.ModelElement.name>parseBoolean</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="classifier"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1752" 
+                          xmi.uuid="9esSD3EvnZZ6pRgQSEyHhHc0fyNU175G">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.99" 
+                  xmi.uuid="T5Py8CUT8y7QouZamJlyagYMOZxIh7VM">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>LegendGraphic</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1755"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1753" 
+                      xmi.uuid="2jEo4mGCg3UdoSqCir4t7vkMUjUnjv1S">
+                          
+                      <Foundation.Core.ModelElement.name>refresh</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1754" 
+                          xmi.uuid="ASPL1Q7r4cPgw6YX0cd10mHlT1dP1JCl">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.100" 
+                  xmi.uuid="f85KPh2oX11QADYsEJwqVY0St5yqFckw">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Legend</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1764"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1756" 
+                      xmi.uuid="wqrLUsU2pMKZhmr1GzGAreThMXbK3Im0">
+                          
+                      <Foundation.Core.ModelElement.name>prePaint</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1757" 
+                          xmi.uuid="AWVzFJWi77YQaLmY10XyNjvvoax7kCEu">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1758" 
+                      xmi.uuid="OOQUWdZYFq2z5p3yP88d28MkOqEQvHhI">
+                          
+                      <Foundation.Core.ModelElement.name>refresh</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1759" 
+                          xmi.uuid="oxMvVSDTpIr8771GcPDRkvrXVw3iS1H6">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1760" 
+                      xmi.uuid="vc5sZwo8qe63aWrRbq9R7EmyRRpbdBtG">
+                          
+                      <Foundation.Core.ModelElement.name>selectLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1761" 
+                          xmi.uuid="lsAjPvtq1BtdlyWi08USu7RNGR7qVSaB">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1762" 
+                      xmi.uuid="AMhPZqXFkvxHRB3N37yVrpS0EOx5UJMR">
+                          
+                      <Foundation.Core.ModelElement.name>swapOpaqueLayer</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1763" 
+                          xmi.uuid="4CIoEHaRjsyhJOZO3A5MPda1Pn4g6nxD">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.101" 
+                  xmi.uuid="eFoVMCcu6Baw1DSnsVfdimPWw4xGxT5w">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>TransactionResponse</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1765"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.102" 
+                  xmi.uuid="rpSGEuxkWr2TS1JixI8pOLNAS94OzOmc">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>CollectionList</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1775"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1766" 
+                      xmi.uuid="X8hqCmKrURYfhLDDJla1p4gv6RhviD5S">
+                    <Foundation.Core.ModelElement.name>bbox</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.102"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1767" 
+                      xmi.uuid="vGOfrPgNhEJ6Czag8yiT12ZOfMyV29p7">
+                    <Foundation.Core.ModelElement.name>targetProj</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.102"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1768" 
+                      xmi.uuid="tvkXZoWwjUAMj2PEEjTt5QMEZMeisNpM">
+                    <Foundation.Core.ModelElement.name>srcProj</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.102"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1769" 
+                      xmi.uuid="RciQD2NUe95kOX8VFAacI14BgUxPH69A">
+                    <Foundation.Core.ModelElement.name>ptLL</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.102"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1770" 
+                      xmi.uuid="ygxOKdycyY2JWFpUgNsPbyfF0JAibxmI">
+                    <Foundation.Core.ModelElement.name>ptUR</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.102"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1771" 
+                      xmi.uuid="tiGEgfSaZbuucr2kWhFH13oKUbPByMNT">
+                          
+                      <Foundation.Core.ModelElement.name>switchMap</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1772" 
+                          xmi.uuid="ssmbyd8vu4iZ7Q0jvEjoEKT4MD0Ys1Nm">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1773" 
+                      xmi.uuid="RZQj1mXVHGqqJCOTJk5W8PpJjoAj4JEr">
+                          
+                      <Foundation.Core.ModelElement.name>setExtent</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1774" 
+                          xmi.uuid="NyCWDRtWJngXviYGb0Kpap3clg9QY41C">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.103" 
+                  xmi.uuid="J1pUOlsbSo8L4EDrtUzw9JZI3Wpyt0BJ">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>XslProcessor</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1776" 
+                      xmi.uuid="8C3nqOq4qBdugRgZ9PKM31ygaIlfcbX0">
+                    <Foundation.Core.ModelElement.name>xslUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.103"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1777" 
+                      xmi.uuid="ckOIwZDGzK1mKcbvVD3QzbWytwVU0mWN">
+                    <Foundation.Core.ModelElement.name>xslDom</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.103"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1778" 
+                      xmi.uuid="wgafnFZt2stmgq2CULELIRK2pLaKmpj9">
+                    <Foundation.Core.ModelElement.name>xmlhttp</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.103"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1779" 
+                      xmi.uuid="ILOXSUhee0qHAtFXkVaHwX01RvfMQFYd">
+                    <Foundation.Core.ModelElement.name>processor</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.103"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1780" 
+                      xmi.uuid="SfEdP4Nkbd9wJ2jvxCyxodBtehOCFmGr">
+                    <Foundation.Core.ModelElement.name>docNSUri</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.103"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1781" 
+                      xmi.uuid="QrzyJCEgzCOGQZ0h2jMOuyIbpuL84P6b">
+                    <Foundation.Core.ModelElement.name>str</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.103"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1782" 
+                      xmi.uuid="15lC7UAzzORekHc5XUozpMLVGynykZnU">
+                    <Foundation.Core.ModelElement.name>xmlNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.103"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1783" 
+                      xmi.uuid="dMqhc7yEVUTF3Ut3Sm8q1ku6bEVDJ8Dp">
+                    <Foundation.Core.ModelElement.name>newDoc</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.103"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1784" 
+                      xmi.uuid="nPX4A6Xu6YLMrLuJBlRVTBBB0sJfruKm">
+                    <Foundation.Core.ModelElement.name>s</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.103"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1785" 
+                      xmi.uuid="xxALox7g1GrilOEep6OhFJDHRglO2iE8">
+                    <Foundation.Core.ModelElement.name>oResult</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.103"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1786" 
+                      xmi.uuid="8h6SlDFPLfXzcPuLefNlAA1QdxbIVxmL">
+                    <Foundation.Core.ModelElement.name>newFragment</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.103"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1787" 
+                      xmi.uuid="jxpZCYrbLPGVpn6y1uLyZaGS9EEhjtwI">
+                          
+                      <Foundation.Core.ModelElement.name>transformNodeToString</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1788" 
+                          xmi.uuid="Cr0dMjojw9O8Ou6DKMcODtRK2M2rqJvJ">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1789" 
+                      xmi.uuid="tGlk1yjlEEkEB6zAUhFw7Ar9p4jPux6o">
+                          
+                      <Foundation.Core.ModelElement.name>transformNodeToObject</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1790" 
+                          xmi.uuid="nEppEOOiOV4rpmUbQ4Tkhm4Gv7TXAJUI">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1791" 
+                      xmi.uuid="S6p0Yk7MRfL4sxie5vljkbwrMt9OmBDy">
+                          
+                      <Foundation.Core.ModelElement.name>setParameter</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1792" 
+                          xmi.uuid="bNZKLDz2LWeSh01XS2kbgSUp1TI2MZTc">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.104" 
+                  xmi.uuid="HvXKgXzWBorjXpek97szm8439NCfCTRE">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Abstract</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1793"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.105" 
+                  xmi.uuid="RAAkNBpvW0icFGZCua41XhUyOXiOHoll">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>WfsCapabilities</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1804"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1794" 
+                      xmi.uuid="3aQ9UtvxnazkLr6pm0p12VNY34DEoMul">
+                    <Foundation.Core.ModelElement.name>namespace</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.105"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1795" 
+                      xmi.uuid="u5Ij3Bvv4SvpdwoA9WXbZIXUyEFogq44">
+                    <Foundation.Core.ModelElement.name>xpath</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.105"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1796" 
+                      xmi.uuid="ZnO0FKQ7cffu6z0UR4I057YzaGN7S09J">
+                          
+                      <Foundation.Core.ModelElement.name>getServerUrl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1797" 
+                          xmi.uuid="JkVikE843I6ubMejeffmyLObWLbxDszf">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1798" 
+                      xmi.uuid="8nPWdhODAlf6YJr6gH4ajREgSO6ftosD">
+                          
+                      <Foundation.Core.ModelElement.name>getVersion</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1799" 
+                          xmi.uuid="ihS3Jr7EH8T1YHiXNsMXtpCxa3aIf4Li">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1800" 
+                      xmi.uuid="SGUc9ivtU2SG2drcK5fZpbXeDUk8evzo">
+                          
+                      <Foundation.Core.ModelElement.name>getMethod</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1801" 
+                          xmi.uuid="PZXM5tshFN0hkYAXW1UJrHZlwRWocJqp">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1802" 
+                      xmi.uuid="UWr0rlKqtoHcKONVfeL3FKztCzRWDDjx">
+                          
+                      <Foundation.Core.ModelElement.name>getFeatureNode</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1803" 
+                          xmi.uuid="NGi5JML5W1HEkBl5PPL9Qq7D8Xg06Ixq">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+             
+              
+
+              <!-- BEGIN CLASS -->
+              <Foundation.Core.Class 
+                  xmi.id="xmi.106" 
+                  xmi.uuid="nxRrI0MrmaWBkge55KRcBzSzriJbVUFs">
+
+                <!-- CLASS NAME -->
+                <Foundation.Core.ModelElement.name>Measurement</Foundation.Core.ModelElement.name>
+                <Foundation.Core.ModelElement.visibility 
+                    xmi.value="public"/>
+                <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+                <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+                <Foundation.Core.Class.isActive xmi.value="false"/>
+                <Foundation.Core.ModelElement.namespace>
+                  <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+                </Foundation.Core.ModelElement.namespace>
+
+                <!-- BEGIN REFERENCE TO INHERITANCE -->
+                
+                <Foundation.Core.GeneralizableElement.generalization>
+                  <Foundation.Core.Generalization 
+                      xmi.idref="xmi.1835"/>
+                </Foundation.Core.GeneralizableElement.generalization>
+                
+
+                
+                <!-- END REFERENCE TO INHERITANCE -->
+
+                <Foundation.Core.Classifier.feature>
+
+                <!-- BEGIN ATTRIBUTES -->
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1805" 
+                      xmi.uuid="MXTRddHP8oOKCU8KePe52W8CILA1mkxe">
+                    <Foundation.Core.ModelElement.name>Control</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.106"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1806" 
+                      xmi.uuid="ziSrhip2qAHZUhc0rTpvc4eq7EuESnLE">
+                    <Foundation.Core.ModelElement.name>control</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.106"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1807" 
+                      xmi.uuid="otJK0zPRWXBymeOrgKaqAfaBLIp390LX">
+                    <Foundation.Core.ModelElement.name>cursor</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.106"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1808" 
+                      xmi.uuid="VaTKRmFFSCGvIFB0ANeU7nZk7Hlu0DNV">
+                    <Foundation.Core.ModelElement.name>totalDistance</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.106"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1809" 
+                      xmi.uuid="MV7teBrOQcjYSMpbKUGijnFMAtf95nUW">
+                    <Foundation.Core.ModelElement.name>distance</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.106"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1810" 
+                      xmi.uuid="ZFVnlcxvKqpCDfe1UTKgpvQhEbQeDecT">
+                    <Foundation.Core.ModelElement.name>state</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.106"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1811" 
+                      xmi.uuid="PeBwUUjdEv2Dxp7zocIjgWF8MeI2iIN8">
+                    <Foundation.Core.ModelElement.name>restart</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.106"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1812" 
+                      xmi.uuid="VfXbdAL0NkNfotHH6xs2lzexByYzj5eA">
+                    <Foundation.Core.ModelElement.name>objRef</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.106"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1813" 
+                      xmi.uuid="185shs4ySv1WT3RHtVf2wrinxAlMMOrN">
+                    <Foundation.Core.ModelElement.name>point</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.106"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1814" 
+                      xmi.uuid="7m8z5DPAwFveRoO0sOLkIdJkcPKIPx8o">
+                    <Foundation.Core.ModelElement.name>old</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.106"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1815" 
+                      xmi.uuid="1E9nSOyrbymKhFBGNoudVkkNbXZ8uFwr">
+                    <Foundation.Core.ModelElement.name>lineCoords</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.106"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1816" 
+                      xmi.uuid="ZOUDY3RM8qzXutN2PoZXtHdTko8NHqnH">
+                    <Foundation.Core.ModelElement.name>coordArray</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.106"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1817" 
+                      xmi.uuid="Mdvm9x084t1r0af7gBTAsmfrq4xNJ3OJ">
+                    <Foundation.Core.ModelElement.name>point_P</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.106"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1818" 
+                      xmi.uuid="HQU6cB8SXve2H1ExFsFYCuppLbSEgMib">
+                    <Foundation.Core.ModelElement.name>point_Q</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.106"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1819" 
+                      xmi.uuid="lo3XYDokYqlAxBEcugK9cANci8Q8P8fG">
+                    <Foundation.Core.ModelElement.name>P</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.106"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1820" 
+                      xmi.uuid="GJGixTrK4gtf4ZCFVQ6oELEWxq3AiJim">
+                    <Foundation.Core.ModelElement.name>Q</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.106"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1821" 
+                      xmi.uuid="baHFXn10VOMh2HVOuMrPK8C6eJbYwBx0">
+                    <Foundation.Core.ModelElement.name>deg2rad</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.106"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+
+                  <!-- BEGIN ATTRIBUTE -->
+                  <Foundation.Core.Attribute 
+                      xmi.id="xmi.1822" 
+                      xmi.uuid="WeoLYQ418MEUTohugBTYvWbxLVM8q9Dw">
+                    <Foundation.Core.ModelElement.name>centerOfEarth</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility xmi.value="private"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <!--Foundation.Core.StructuralFeature.multiplicity>
+                      <Foundation.Data_Types.Multiplicity xmi.id="xmi.5">
+                        <Foundation.Data_Types.Multiplicity.range>
+                          <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.6">
+                            <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower>
+                            <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper>
+                          </Foundation.Data_Types.MultiplicityRange>
+                        </Foundation.Data_Types.Multiplicity.range>
+                      </Foundation.Data_Types.Multiplicity>
+                    </Foundation.Core.StructuralFeature.multiplicity-->
+                    <Foundation.Core.StructuralFeature.changeability xmi.value="changeable"/>
+                    <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/>
+                    <Foundation.Core.Feature.owner>
+                    <Foundation.Core.Classifier 
+                        xmi.idref="xmi.106"/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.StructuralFeature.type>
+                      <Foundation.Core.Classifier 
+                          xmi.idref="xmi.108"/>
+                    </Foundation.Core.StructuralFeature.type>
+                    <!--Foundation.Core.ModelElement.taggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.8">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>transient</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                      <Foundation.Extension_Mechanisms.TaggedValue xmi.id="xmi.9">
+                        <Foundation.Extension_Mechanisms.TaggedValue.tag>volatile</Foundation.Extension_Mechanisms.TaggedValue.tag>
+                        <Foundation.Extension_Mechanisms.TaggedValue.value>false</Foundation.Extension_Mechanisms.TaggedValue.value>
+                        <Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                          <Foundation.Core.ModelElement xmi.idref="xmi.4"/>
+                        </Foundation.Extension_Mechanisms.TaggedValue.modelElement>
+                      </Foundation.Extension_Mechanisms.TaggedValue>
+                    </Foundation.Core.ModelElement.taggedValue-->
+                  </Foundation.Core.Attribute>
+                  <!-- END ATTRIBUTE -->
+
+                
+                <!-- END ATTRIBUTES -->
+
+                <!-- BEGIN METHODS -->
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1823" 
+                      xmi.uuid="0pscnlSqtpj8cpyim80fkHjfRnASsnam">
+                          
+                      <Foundation.Core.ModelElement.name>createControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1824" 
+                          xmi.uuid="sBzi6mDH4kZA5VTAfnyDvBgHGvAAuc5a">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1825" 
+                      xmi.uuid="Cg5FyFPTKnkeC5lIYvcT8Q5rj3DtvJcH">
+                          
+                      <Foundation.Core.ModelElement.name>instantiateControl</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1826" 
+                          xmi.uuid="uwgSmMgFlmF9gi4W51cHVi5lLfTMDd3F">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.108"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1827" 
+                      xmi.uuid="ChzF0SPED658uflS5x6MtaLoWijBNojI">
+                          
+                      <Foundation.Core.ModelElement.name>startAction</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1828" 
+                          xmi.uuid="FiDr723SYeRDPuVypFxgwKJHNUkozW2E">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1829" 
+                      xmi.uuid="dXd3aq2fMn5uBooWHTKJVEKpyjR44QJg">
+                          
+                      <Foundation.Core.ModelElement.name>doAction</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1830" 
+                          xmi.uuid="4g6nHCh5PskD2O8avGeKvPA7kcDy3Lyk">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1831" 
+                      xmi.uuid="sfEWAY5xjY1cnjLSXXiJcqQRbmp7krqd">
+                          
+                      <Foundation.Core.ModelElement.name>setFeature</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1832" 
+                          xmi.uuid="mOyxSDUSKs13dotDYDEnRAE39JeFiemG">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+
+                  <!-- BEGIN METHOD -->
+                  <Foundation.Core.Operation 
+                      xmi.id="xmi.1833" 
+                      xmi.uuid="PTqJs9zTVCbG5UBnOBbJUbuUZrOTcDUz">
+                          
+                      <Foundation.Core.ModelElement.name>clearMeasurementLine</Foundation.Core.ModelElement.name>
+                    <Foundation.Core.ModelElement.visibility 
+                        xmi.value="public"/>
+                    <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                    <Foundation.Core.Feature.ownerScope 
+                        xmi.value="instance"/>
+                    <Foundation.Core.BehavioralFeature.isQuery xmi.value="false"/>
+                    <Foundation.Core.Operation.concurrency xmi.value="sequential"/>
+                    <Foundation.Core.Operation.isRoot xmi.value="false"/>
+                    <Foundation.Core.Operation.isLeaf xmi.value="false"/>
+                    <Foundation.Core.Operation.isAbstract xmi.value="false"/>
+                    <Foundation.Core.Feature.owner>
+                      <Foundation.Core.Classifier 
+                          xmi.idref=""/>
+                    </Foundation.Core.Feature.owner>
+                    <Foundation.Core.BehavioralFeature.parameter>
+
+                      <!-- BEGIN RETURN TYPE -->
+                      <Foundation.Core.Parameter 
+                          xmi.id="xmi.1834" 
+                          xmi.uuid="6tiKYGnhydTzP4iXLp2RfWqbaaBjzLb1">
+                        <Foundation.Core.ModelElement.name>return</Foundation.Core.ModelElement.name>
+                        <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+                        <Foundation.Core.Parameter.kind xmi.value="return"/>
+                        <!--Foundation.Core.Parameter.behavioralFeature>
+                          <Foundation.Core.BehavioralFeature xmi.idref="xmi.10"/>
+                        </Foundation.Core.Parameter.behavioralFeature-->
+                        <Foundation.Core.Parameter.type>
+                          <Foundation.Core.Classifier 
+                              xmi.idref="xmi.123"/>
+                        </Foundation.Core.Parameter.type>
+                      </Foundation.Core.Parameter>
+                      <!-- END RETURN TYPE -->
+
+                    </Foundation.Core.BehavioralFeature.parameter>
+                  </Foundation.Core.Operation>
+                  <!-- END METHOD -->
+                
+                
+                <!-- END METHODS -->
+
+                </Foundation.Core.Classifier.feature>
+              </Foundation.Core.Class>
+              <!-- END CLASS --> 
+           
+              
+
+            
+            <!-- END CLASS DESCRIPTIONS -->
+
+            
+
+      
+      <!-- END PACKAGES -->
+
+      <!-- BEGIN DATATYPE DESCRIPTIONS -->
+      
+
+        <!-- BEGIN DATATYPE --> 
+        <Foundation.Core.DataType 
+            xmi.id="xmi.123" 
+            xmi.uuid="GCztCUqpXd13oOALxyZhGE0cVJVLxqJv">
+
+          <Foundation.Core.ModelElement.name>void</Foundation.Core.ModelElement.name>
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+          <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+          <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+        </Foundation.Core.DataType>
+        <!-- END DATATYPE --> 
+
+      
+
+        <!-- BEGIN DATATYPE --> 
+        <Foundation.Core.DataType 
+            xmi.id="xmi.108" 
+            xmi.uuid="uFK572H4md65vcHQeV5ENDPj1meFnNmg">
+
+          <Foundation.Core.ModelElement.name>Object</Foundation.Core.ModelElement.name>
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/>
+          <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/>
+          <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+        </Foundation.Core.DataType>
+        <!-- END DATATYPE --> 
+
+      
+      <!-- END DATATYPE DESCRIPTIONS -->
+
+
+      <!-- BEGIN GENERALIZATIONS -->
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1107" 
+            xmi.uuid="TxtewC9u26vsuiR1tLtXxGt3NPI8RWCX" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.71"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.59"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.333" 
+            xmi.uuid="HVspp8fwIlC0UzfvZb4XkSbLZpbM1qH3" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.95"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.22"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1654" 
+            xmi.uuid="mQrkcXMaXVYgxGRKYTTHERH1IOqmyM2Y" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.71"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.93"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.575" 
+            xmi.uuid="HubqqtRX5O1PwOymF3nF4ogK0QXI5scZ" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.71"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.41"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.344" 
+            xmi.uuid="vXx49HBmvBbTHOJPY09fKKV63AyUwsFC" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.4"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.25"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.496" 
+            xmi.uuid="KunYv1qBPn9zdRZHzCoT2G3ZXwA0G1QN" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.35"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1120" 
+            xmi.uuid="gTBoRrnhmMHcMi24F7N5bOSsF4E0xFQC" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.62"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1835" 
+            xmi.uuid="QVCUB1HHBCev35JsgH60VJTXICCLkEyG" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.77"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.106"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1765" 
+            xmi.uuid="LEHbbjC6WM6XFSQJZLj9vJxhr5Fubl7n" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.101"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1755" 
+            xmi.uuid="JzGN3gZlg8LftCzm6KJyaWxHVyNZwKW0" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.99"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1188" 
+            xmi.uuid="RcfaLw7in4Xi43D27VhQWgKqrQSHKWi7" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.30"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.67"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.940" 
+            xmi.uuid="pxqRHmMcd0E5FEAshJ1f6E6Xgcnx6pvh" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.53"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.452" 
+            xmi.uuid="kPW0nxz0AbI1zyb9P0fXwsFeGGxMZEmg" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.31"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1104" 
+            xmi.uuid="Uhu6GygnOtFq6CGrSPRo9bPDMtLm00YX" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.95"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.58"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.323" 
+            xmi.uuid="YmMqJgBA0IX5EpmjSF8MLAnEImilDVTJ" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.6"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.19"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.476" 
+            xmi.uuid="Tieeg0sIbiC21xpd8iGs4s71pCcX38Mj" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.14"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.33"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1119" 
+            xmi.uuid="7zfpmrZNeyWAVo1dbVHe16n9tQufIDM9" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.61"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.260" 
+            xmi.uuid="aWoYEEnZtV12Ec6vf7qoXr4PIxsHb5Dh" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.50"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.8"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.212" 
+            xmi.uuid="SIod2ZIEkIT4ZAkEakgk6BQVLUgTq9L3" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.50"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.4"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1689" 
+            xmi.uuid="mgDbnC73t1FgjIlDsJUsxgxjCCLQR3cZ" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.95"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1184" 
+            xmi.uuid="LBHOZ6mUzZfS47xMl3Ldfi1HMmzZ6vv5" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.71"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.66"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.497" 
+            xmi.uuid="g9cdhg46abiat66qNJBq3qngnajaaeRr" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.36"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.736" 
+            xmi.uuid="Uk8MPzz81ekKhxxjnxuFtwBnEklOuDfQ" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.14"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.49"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.322" 
+            xmi.uuid="WqmKIpF4kCXn3NCQmvPRtSbw1P4rPA9Q" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.50"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.18"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.467" 
+            xmi.uuid="6NduSNxUUCMjYRIILJDyeQ6aHiMkQ30O" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.71"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.32"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1643" 
+            xmi.uuid="BOkKoephnkNde7XU6iFuqhMAW7gBp66e" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.89"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1346" 
+            xmi.uuid="fhGkoWanX71peHq6EB1RFi5RbOBP1d8q" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.77"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.72"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.571" 
+            xmi.uuid="eDRXQeudmnquLmmMV8t08fE36uW4uzBv" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.50"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.40"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1462" 
+            xmi.uuid="pmrPYibvTEA7u8KIg90XQAWc3fbrO5Ke" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.71"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.80"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.798" 
+            xmi.uuid="cpUlapCQgGHBWCsJ9l77LI0sBbiXePgN" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.69"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.50"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1718" 
+            xmi.uuid="jV4vbEtJaLVv9ZyMsp4kdAoWPc8Q5kQc" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.14"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.97"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1463" 
+            xmi.uuid="KSFXYutWvYhT4oHwT7GeOjq4nrGH1JNk" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.71"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.81"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.324" 
+            xmi.uuid="VI4r3l0HMKfAXXMfnVlaWOpNsorY4YUV" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.20"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.421" 
+            xmi.uuid="giCEHengAw25IDYoXKKjdfBDVXB7GUuf" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.71"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.29"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.589" 
+            xmi.uuid="y2URTttSth0K7tjFIF6WjaOOnn2MjeuP" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.43"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1775" 
+            xmi.uuid="glPLShmcJ4amDlBOmPK6GIz9tKjiPRR3" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.102"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.908" 
+            xmi.uuid="hHb8k2wXSFhmjKKjN4YpvLCxcv3VzMYJ" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.77"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.52"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1648" 
+            xmi.uuid="zcRApRMlork80fa7uWzFvACU3iyR6ORu" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.92"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.401" 
+            xmi.uuid="AakIuMIGX27B2L3jkTI4yGrF3IZBiMIs" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.14"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.28"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.428" 
+            xmi.uuid="qeNcnEcS9a17hAPr5fZpdXNBV1WeeWq7" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.95"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.30"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.261" 
+            xmi.uuid="MK47PEIetcPK0lUGe8iRYMBzf6wTT2kb" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.50"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.9"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.357" 
+            xmi.uuid="8O8IEoOIhBB4H0AUPU0LupmUEwe4JcSq" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.14"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.26"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.225" 
+            xmi.uuid="RVQwWkJWxTN5NCyauy9gqftZS9svJCE5" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.7"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.215" 
+            xmi.uuid="od5rV3ahgsnhlAvrWTK17PVC13SUnkSn" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.77"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.5"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1647" 
+            xmi.uuid="n0bd7Vk9YjXfcz67GKv4a8IEvbLJ4z4e" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.91"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1201" 
+            xmi.uuid="UklZvssqRwvZnqRqcCCz9aty7qZi6PO4" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.50"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.68"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.329" 
+            xmi.uuid="F2jNXmGLi9T6xHLqtVagLlViEzjkh218" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.21"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.264" 
+            xmi.uuid="K93EBQah2t6hLgQqa5vfMuM4ymmjahB2" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.10"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1447" 
+            xmi.uuid="ZkyZojNbwJS5qJ1gGSPxwzg2gYHzzs3z" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.95"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.78"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.383" 
+            xmi.uuid="8CRCHXrQxlXNgH4KSASRYbGDQh9BB0ZZ" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.95"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.27"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.285" 
+            xmi.uuid="DBX784BeV4HqQATO7qAQMKfUQhhxSaHc" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.13"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1091" 
+            xmi.uuid="mCalWU01CfcLaowl4GrXZQ6rwXI11ceU" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.57"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1144" 
+            xmi.uuid="MUkrYoNA8IOTUSRUuD6pcCnySo9bUlHw" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.71"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.64"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1804" 
+            xmi.uuid="mk9jupA4UhfCr9vm3KtFjY4XL8tS9wnG" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.50"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.105"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.284" 
+            xmi.uuid="5KbHtNZkyo9QZZnVDaEK8AyYoFIzpeXC" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.14"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.12"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.508" 
+            xmi.uuid="CFsIgfGyryov60bXx2uFrydWURWBefny" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.50"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.38"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.320" 
+            xmi.uuid="vYQW1vi9ecYEGtSdf2m49E2G1fpWDXA8" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.71"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.17"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1562" 
+            xmi.uuid="hir5962FP0JsZNkLii0LMscpVvdjsM8W" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.95"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.85"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1178" 
+            xmi.uuid="aAkZCtyojNzYqVWKwt0waTJ6rT4YHRw9" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.14"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.65"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1391" 
+            xmi.uuid="1uAXkrX9LEwnWOAcKPLHeTKJ1AtF2Ee3" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.75"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1637" 
+            xmi.uuid="xQcisqhXN1LN92lR4oBdy0RNEgtFk3V4" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.50"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.88"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.216" 
+            xmi.uuid="YVeVPMkXDuqIdAkxmJq0i207rpfOyCRh" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.6"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.486" 
+            xmi.uuid="MNwJbWhUBtOYegFR3Mpwm2UGWrrXoqtp" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.34"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.498" 
+            xmi.uuid="9nz54mQxWBKQm6kXFI1z63dNlkrXBBsW" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.37"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.134" 
+            xmi.uuid="2SEiCBlSRnPXqdKubhGCrHGXvSiZrWDd" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.2"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1368" 
+            xmi.uuid="NNyhbZK3POGWyKMpXp9xxsk3bKt9Ab5f" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.71"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.74"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1406" 
+            xmi.uuid="uTWWHAQKRVuOpgjMGfIBIZviGIv8MhiG" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.50"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.76"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.168" 
+            xmi.uuid="jGBSl9X8jjRQcTTPi8ciVKnFbH2ZsBTw" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.50"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.3"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.340" 
+            xmi.uuid="WkZ1sh0nBWt0B02EgvG3LnkGtPga1lxd" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.24"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.554" 
+            xmi.uuid="REgmarA3LzLkyZo69TXNbqSS2Pxve3dM" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.71"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.39"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1124" 
+            xmi.uuid="PYIvQ0qOF14f3LO99VKihxHDuv3oG5Ke" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.95"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.63"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1646" 
+            xmi.uuid="9FA9z7DIci5bvN7RYohigeRP1qSF7xQE" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.90"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.318" 
+            xmi.uuid="RqVKzaugz0YkWHKPSXuG3edtgXJemQnJ" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.71"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.15"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.682" 
+            xmi.uuid="BOHLVtiNDWiNulpFYgcrsIRsYMV1aoPG" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.14"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.46"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.319" 
+            xmi.uuid="h6mwenPmtoeiCv5pyETqpa73VpkNcbrw" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.16"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.685" 
+            xmi.uuid="qv5dSP9S7fZxAUlYHKxEPQIqy7alYXM7" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.47"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1364" 
+            xmi.uuid="OagYGi03FrwR6ithqAYcCYz6cEPWANps" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.73"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1626" 
+            xmi.uuid="5R1UD456vv62HCHiL09aDkT2SVB4U3F1" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.30"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.87"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.267" 
+            xmi.uuid="9iFlN8t75WjblVj2gjw6KYagLsOzheIG" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.11"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1490" 
+            xmi.uuid="KcrNpg4YLeokoaTo2eJYpNnUsJahrcDk" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.71"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.83"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1655" 
+            xmi.uuid="TpbvRxU7FRVWYyGAJsJgv7hSd2CI3ss6" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.6"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.94"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.339" 
+            xmi.uuid="ds6rkslxz3SZLvoLimGDXDMUv5w5XH6r" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.23"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1582" 
+            xmi.uuid="ZyyPGj48ttv8JBwRn9pMx22BkUPDPiCa" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.14"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.86"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1764" 
+            xmi.uuid="1XUw2nM1RwYSgmu1WU41nplpPpS0Alt8" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.100"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1434" 
+            xmi.uuid="DGoziRty4ZoDDRWGqtGrk7DxDRZVex9j" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.71"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.77"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1343" 
+            xmi.uuid="91pec5EtSN5AOzYzKzXzmPa4su4W6ThF" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.95"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.71"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1793" 
+            xmi.uuid="88KfcgP9dUXvqOhLHjDn5Thp3PP2beL9" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.104"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1461" 
+            xmi.uuid="8W5vp4lGYuUwRr2Ds394N03PT987Pkrk" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.71"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.79"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.611" 
+            xmi.uuid="OC6a4qm5SHdXZQzHtMbMwmDWGeA4qas8" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.95"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.44"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.905" 
+            xmi.uuid="jiheJ8cgmoqJFih2G1BnD62QwGUE6TEI" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.50"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.51"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1486" 
+            xmi.uuid="Fz1EmnhdmYeQBBzDTWPw1xKaUWJsXvJ1" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.96"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.82"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+        <!-- BEGIN GENERALIZATION -->
+        <Foundation.Core.Generalization 
+            xmi.id="xmi.1067" 
+            xmi.uuid="fs743ZzDilPKtWjCao7DAIFO5Wisnnt2" >
+
+          <Foundation.Core.ModelElement.isSpecification xmi.value="false"/>
+          <Foundation.Core.ModelElement.namespace>
+            <Foundation.Core.Namespace xmi.idref="xmi.1"/>
+          </Foundation.Core.ModelElement.namespace>
+          <Foundation.Core.Generalization.child>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.50"/>
+          </Foundation.Core.Generalization.child>
+          <Foundation.Core.Generalization.parent>
+            <Foundation.Core.GeneralizableElement 
+                xmi.idref="xmi.54"/>
+          </Foundation.Core.Generalization.parent>
+        </Foundation.Core.Generalization>
+        <!-- END GENERALIZATION --> 
+      
+      <!-- END GENERALIZATIONS -->
+
+      </Foundation.Core.Namespace.ownedElement>
+    </Model_Management.Model>
+  </XMI.content>
+</XMI>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary.html	(revision 4307)
@@ -0,0 +1,668 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>Overview</b></font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1"> <font class="NavBarFont1">File</font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</h2>
+	
+</center>
+
+	
+		<p>
+			This document is the API Specification for 
+			<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008.
+		</p>
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+    	No summary generated for these documents.
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>File Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Abstract.js.html">Abstract.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-AoiBoxOL.js.html">AoiBoxOL.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-AoiForm.js.html">AoiForm.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Back.js.html">Back.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Button.js.html">Button.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-ButtonBase.js.html">ButtonBase.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Caps2Context.js.html">Caps2Context.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-CatSearchForm.js.html">CatSearchForm.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-CollectionList.js.html">CollectionList.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Config.js.html">Config.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Context.js.html">Context.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-CursorTrack.js.html">CursorTrack.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-DeleteFeature.js.html">DeleteFeature.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-DragPan.js.html">DragPan.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-EditButtonBase.js.html">EditButtonBase.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-EditContext.js.html">EditContext.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-EditLine.js.html">EditLine.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-EditPoint.js.html">EditPoint.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-EditPolygon.js.html">EditPolygon.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-EventLog.js.html">EventLog.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Extent.js.html">Extent.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-FeatureCollection.js.html">FeatureCollection.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-FeatureInfo.js.html">FeatureInfo.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-FeatureList.js.html">FeatureList.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-FeatureSelectHandler.js.html">FeatureSelectHandler.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-FilterAttributes.js.html">FilterAttributes.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-FormBase.js.html">FormBase.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Forward.js.html">Forward.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-GeoRSS.js.html">GeoRSS.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-GetFeatureInfo.js.html">GetFeatureInfo.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-GetFeatureInfoWSR.js.html">GetFeatureInfoWSR.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-GmlRendererBase.js.html">GmlRendererBase.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-GmlRendererConfig.js.html">GmlRendererConfig.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-GmlRendererOL.js.html">GmlRendererOL.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Graticule.js.html">Graticule.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-History.js.html">History.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-InsertFeature.js.html">InsertFeature.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-LayerControl.js.html">LayerControl.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Legend.js.html">Legend.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-LegendGraphic.js.html">LegendGraphic.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Listener.js.html">Listener.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Loading.js.html">Loading.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Loading2.js.html">Loading2.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Locations.js.html">Locations.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Logger.js.html">Logger.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Mapbuilder.js.html">Mapbuilder.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-MapPaneOL.js.html">MapPaneOL.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-MapScaleBar.js.html">MapScaleBar.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-MapScaleText.js.html">MapScaleText.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-MapTitle.js.html">MapTitle.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Measurement.js.html">Measurement.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-MergeModels.js.html">MergeModels.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-MGRS.js.html">MGRS.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Model.js.html">Model.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-ModelBase.js.html">ModelBase.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-ModelStatus.js.html">ModelStatus.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-ModelUrlInput.js.html">ModelUrlInput.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-MovieLoop.js.html">MovieLoop.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-OpenLSForm.js.html">OpenLSForm.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-OpenLSResponse.js.html">OpenLSResponse.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-OverviewMap.js.html">OverviewMap.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-OwsCatResources.js.html">OwsCatResources.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-OwsContext.js.html">OwsContext.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-PanZoomBar.js.html">PanZoomBar.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Reset.js.html">Reset.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Sarissa.js.html">Sarissa.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Save.js.html">Save.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-SelectAllMapLayers.js.html">SelectAllMapLayers.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-SelectFeatureType.js.html">SelectFeatureType.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-SelectFromAtomFeed.js.html">SelectFromAtomFeed.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-SelectMapLayers.js.html">SelectMapLayers.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-SelectTimeFrame.js.html">SelectTimeFrame.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-ServiceRegistryList.js.html">ServiceRegistryList.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-SetAoi.js.html">SetAoi.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-ShowDistance.js.html">ShowDistance.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-StyledLayerDescriptor.js.html">StyledLayerDescriptor.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TabbedContent.js.html">TabbedContent.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Timer.js.html">Timer.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Timestamp.js.html">Timestamp.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TipWidgetBase.js.html">TipWidgetBase.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TipWidgetConfig.js.html">TipWidgetConfig.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TipWidgetOL.js.html">TipWidgetOL.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-ToolBase.js.html">ToolBase.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Transaction.js.html">Transaction.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-TransactionResponse.js.html">TransactionResponse.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Util.js.html">Util.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Version.js.html">Version.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-WebServiceForm.js.html">WebServiceForm.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-WebServiceRequest.js.html">WebServiceRequest.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-WfsCapabilities.js.html">WfsCapabilities.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-WfsGetFeature.js.html">WfsGetFeature.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-Widget.js.html">Widget.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-WidgetBase.js.html">WidgetBase.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-WidgetBaseXSL.js.html">WidgetBaseXSL.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-WmsCapabilities.js.html">WmsCapabilities.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-WpsCapabilities.js.html">WpsCapabilities.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-WpsDescribeProcess.js.html">WpsDescribeProcess.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-ZoomIn.js.html">ZoomIn.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-ZoomOut.js.html">ZoomOut.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="overview-summary-ZoomToAoi.js.html">ZoomToAoi.js</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>Overview</b></font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1"> <font class="NavBarFont1">File</font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/OverviewMap.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/OverviewMap.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/OverviewMap.html	(revision 4307)
@@ -0,0 +1,454 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+OverviewMap
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="OverviewMap";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-OverviewMap.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="OpenLSResponse.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="OwsCatResources.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="OverviewMap.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class OverviewMap</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<b>OverviewMap</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>OverviewMap</B>
+   
+      <DT>extends <a href='WidgetBase.html'>WidgetBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-OverviewMap.js.html'>OverviewMap.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#layerNames">layerNames</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="OverviewMap.html#OverviewMap()">OverviewMap</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to add an OL OverviewMap to a main map.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addOverviewMap">addOverviewMap</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Add an overview map to the map in this widget's model.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getClonedLayer">getClonedLayer</A></B>(layer, isBaseLayer)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Clone a map layer (OpenLayers.Layer subclass).
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="layerNames"><!-- --></A>
+   <H3>layerNames</H3>
+   <PRE>Object&nbsp;<B>layerNames</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="OverviewMap()"><!-- --></A><H3>
+OverviewMap</H3>
+<PRE><B>OverviewMap</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to add an OL OverviewMap to a main map.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="addOverviewMap"><!-- --></A>
+   <H3>addOverviewMap</H3>
+   <PRE>void <B>addOverviewMap</B>(objRef)</PRE>
+   
+      <UL>Add an overview map to the map in this widget's model.
+ If layers have been specified in the config, clone these layers for the
+ overview map, otherwise just use the base layer from the main map.
+ If any of the layers to use are WMS layers it uses an untiled version of them.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to widget object.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getClonedLayer"><!-- --></A>
+   <H3>getClonedLayer</H3>
+   <PRE>Object <B>getClonedLayer</B>(layer, isBaseLayer)</PRE>
+   
+      <UL>Clone a map layer (OpenLayers.Layer subclass).
+ If the layer is a WMS layer it returns an untiled version of it.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layer</CODE> -  Pointer to layer object.  
+      </UL> 
+   
+     <UL><CODE>isBaseLayer</CODE> -  {Boolean} optional parameter: should the layer become  baselayer on the overview map?
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-OverviewMap.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="OpenLSResponse.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="OwsCatResources.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="OverviewMap.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-TipWidgetOL.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-TipWidgetOL.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-TipWidgetOL.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TipWidgetOL.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TipWidgetOL.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TipWidgetOL.js.html" 
+                                        target="classFrame">TipWidgetOL.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TipWidgetOL.html" TARGET="classFrame">TipWidgetOL</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/SelectAllMapLayers.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/SelectAllMapLayers.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/SelectAllMapLayers.html	(revision 4307)
@@ -0,0 +1,330 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+SelectAllMapLayers
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="SelectAllMapLayers";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-SelectAllMapLayers.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Save.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="SelectFeatureType.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SelectAllMapLayers.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class SelectAllMapLayers</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>SelectAllMapLayers</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>SelectAllMapLayers</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-SelectAllMapLayers.js.html'>SelectAllMapLayers.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="SelectAllMapLayers.html#SelectAllMapLayers()">SelectAllMapLayers</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Link to load the WMS Capabilities doc as a context document.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="SelectAllMapLayers()"><!-- --></A><H3>
+SelectAllMapLayers</H3>
+<PRE><B>SelectAllMapLayers</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Link to load the WMS Capabilities doc as a context document.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-SelectAllMapLayers.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Save.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="SelectFeatureType.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SelectAllMapLayers.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Graticule.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Graticule.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Graticule.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Graticule.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Graticule.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Graticule.js.html" 
+                                        target="classFrame">Graticule.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Graticule.html" TARGET="classFrame">Graticule</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-FeatureSelectHandler.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-FeatureSelectHandler.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-FeatureSelectHandler.js.html	(revision 4307)
@@ -0,0 +1,455 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="FeatureSelectHandler.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>FeatureSelectHandler.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'FeatureSelectHandler.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="FeatureSelectHandler.html">FeatureSelectHandler</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: FeatureSelectHandler.js 3842 2008-02-13 17:22:04Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/tool/ToolBase.js"</span>);
+mapbuilder.loadScript(baseDir+<span class="literal">"/util/openlayers/OpenLayers.js"</span>);
+
+<span class="comment">/**
+ * Manages mouseover and clicks on vector features in the map.
+ * This tool works with models that are linked to a OL vector layer,
+ * using eg. the GmlRendererOL widget. Models have to fire the
+ * 'gmlRendererLayer' event, which will activate the tool for the
+ * layer.
+ * This tool also fires "mouseoverFeature" and "mouseoutFeature"
+ * events, setting the fid of the feature below the mouse cursor
+ * as param of the model.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ToolBase
+ * <span class="attrib">@author</span> Andreas Hocevar andreas.hocevarATgmail.com
+ * <span class="attrib">@param</span> toolNode The tool node from the config XML file.
+ * <span class="attrib">@param</span> model The model containing this tool.
+ */</span>
+<span class="reserved">function</span> FeatureSelectHandler(toolNode, model) {
+  ToolBase.apply(<span class="reserved">this</span>, new Array(toolNode, model));
+   
+  <span class="comment">/**
+   * Map for this FeatureSelectHandler. We keep a reference
+   * to the map we created the control for, to prevent ourselves
+   * from removing the control from a map that does not exist
+   * anymore.
+   */</span>
+  <span class="reserved">this</span>.map = null;
+  
+  <span class="reserved">this</span>.sourceModels = new Array();
+  
+  <span class="comment">/**
+   * Tool Initialisation - Step 1 of 3.
+   * This is called when the config finished loading, so we know
+   * our context (targetModel).
+   * <span class="attrib">@param</span> objRef This object
+   */</span>
+  <span class="reserved">this</span>.configInit = <span class="reserved">function</span>(objRef) {
+    objRef.targetModel.addListener(<span class="literal">'loadModel'</span>, objRef.contextInit, objRef);
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">'init'</span>, <span class="reserved">this</span>.configInit, <span class="reserved">this</span>)
+  
+  <span class="reserved">this</span>.clear = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">if</span> (objRef.control) {
+      objRef.map = null;
+      objRef.control.destroy();
+      objRef.control = null;
+    }
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"newModel"</span>, <span class="reserved">this</span>.clear, <span class="reserved">this</span>);
+
+  <span class="comment">/**
+   * Tool Initialisation - Step 2 of 3.
+   * This is called when the context model finished loading, so we
+   * know that we have a map available.
+   * <span class="attrib">@param</span> objRef This object
+   */</span>
+  <span class="reserved">this</span>.contextInit = <span class="reserved">function</span>(objRef) {
+    objRef.targetModel.addListener(<span class="literal">"newModel"</span>, objRef.clear, objRef);
+    objRef.model.addListener(<span class="literal">'gmlRendererLayer'</span>, objRef.init, objRef);
+<span class="comment">    // Check carefully if we have to init manually. This is the case when</span>
+<span class="comment">    // the gmlRendererLayer is rendered, but does not know about the</span>
+<span class="comment">    // FeatureSelectHandler yet.</span>
+    <span class="reserved">if</span> (objRef.targetModel.map &amp;&amp; objRef.model.getParam(<span class="literal">'gmlRendererLayer'</span>) &amp;&amp; !objRef.control) {
+      objRef.init(objRef);
+    }
+  }
+  
+  <span class="comment">/**
+   * Tool Initialisation - Step 3 of 3.
+   * Turns on feature select when the gmlRendererLayer event is fired.
+   * <span class="attrib">@param</span> objRef reference to this object.
+   * <span class="attrib">@return</span> {OpenLayers.Control} class of the OL control.
+   */</span>
+  <span class="reserved">this</span>.init = <span class="reserved">function</span>(objRef) {
+<span class="comment">    // get the source models</span>
+    var sourceModel;
+<span class="comment">    // if we have mergeModels, take sourceModels from there</span>
+    <span class="reserved">if</span> (objRef.model.mergeModels) {
+      objRef.sourceModels = objRef.model.mergeModels;
+    } <span class="reserved">else</span> {
+<span class="comment">      // if we hava a plain model, just use it</span>
+      objRef.sourceModels.push(objRef.model);
+    } 
+    <span class="reserved">for</span> (var i=0; i&lt;objRef.sourceModels.length; i++) {
+      objRef.sourceModels[i].addListener(<span class="literal">'highlightFeature'</span>, objRef.highlight, objRef);
+      objRef.sourceModels[i].addListener(<span class="literal">'dehighlightFeature'</span>, objRef.dehighlight, objRef);
+    }
+<span class="comment">    
+    // init the control</span>
+    var layer = objRef.model.getParam(<span class="literal">'gmlRendererLayer'</span>);
+    <span class="reserved">if</span> (objRef.map == objRef.targetModel.map &amp;&amp;
+        objRef.control &amp;&amp; !layer) {
+<span class="comment">      //objRef.control.deactivate();</span>
+      objRef.map.removeControl(objRef.control);
+      objRef.control.destroy();
+      objRef.control = null;
+    } <span class="reserved">else</span> <span class="reserved">if</span> (layer) {
+      <span class="reserved">if</span> (!objRef.control) {
+        objRef.control = new OpenLayers.Control.SelectFeature(layer, {
+          hover: true,
+          onSelect: objRef.onSelect,
+          onUnselect: objRef.onUnselect,
+          mbFeatureSelectHandler: objRef,
+          select: <span class="reserved">function</span>(feature) {
+            feature.mbFeatureSelectHandler = <span class="reserved">this</span>.mbFeatureSelectHandler;
+            <span class="reserved">if</span> (feature.mbSelectStyle) {
+              <span class="reserved">this</span>.selectStyle = feature.mbSelectStyle.createSymbolizer ?
+                  feature.mbSelectStyle.createSymbolizer(feature) :
+                  feature.mbSelectStyle;
+            }
+            OpenLayers.Control.SelectFeature.<span class="reserved">prototype</span>.select.apply(<span class="reserved">this</span>, arguments);
+          }
+        });
+        objRef.map = objRef.targetModel.map;
+        objRef.map.addControl(objRef.control);
+      }
+      objRef.control.activate();
+    }
+  }
+  
+  <span class="comment">/**
+   * extension for the OpenLayers.Feature.Vector.destroy method.
+   * Will be applied to features touched by this tool.
+   */</span>
+  var destroyFeature = <span class="reserved">function</span>() {
+    var featureSelectHandler = <span class="reserved">this</span>.mbFeatureSelectHandler;
+    <span class="reserved">if</span> (<span class="reserved">this</span>.layer.events &amp;&amp; featureSelectHandler) {
+      <span class="reserved">this</span>.layer.events.unregister(<span class="literal">'mousedown'</span>, <span class="reserved">this</span>, featureSelectHandler.onClick);
+      <span class="reserved">this</span>.layer.events.unregister(<span class="literal">'mousemove'</span>, <span class="reserved">this</span>, featureSelectHandler.onHover);
+    }
+    <span class="reserved">this</span>.mbFeatureSelectHandler = null;
+    OpenLayers.Feature.Vector.<span class="reserved">prototype</span>.destroy.apply(<span class="reserved">this</span>, arguments);
+  }
+
+  <span class="comment">/**
+   * This method is triggered when the mouse is over a vector
+   * feature. It registers priority events mousedown and
+   * mousemove, which will call this widget's onClick/onHover
+   * method in the context of a feature. This way we address
+   * two problems with the OpenLayers SelectFeature control:&lt;pre&gt;
+   *      - for the info popup, we need the screen coordinates
+   *        which we do not get from the handler directly.
+   *      - when the active tool changes, something in the
+   *        priority of OL event handlers changes, so the
+   *        click event on the feature gets lost. By registering
+   *        our priority handler and calling Event.stop() in
+   *        the target method, we make sure that our event is
+   *        handled and no other event handlers are triggered.
+   * &lt;/pre&gt;
+   * <span class="attrib">@param</span> feature OpenLayers feature
+   */</span>
+  <span class="reserved">this</span>.onSelect = <span class="reserved">function</span>(feature) {
+    <span class="reserved">if</span> (!feature) <span class="reserved">return</span>;
+    var objRef = <span class="reserved">this</span>.mbFeatureSelectHandler;
+    <span class="reserved">for</span> (var i=0; i&lt;objRef.sourceModels.length; i++) {
+      objRef.sourceModels[i].setParam(<span class="literal">"mouseoverFeature"</span>, feature.fid);
+    }
+<span class="comment">    // check if onSelect was triggered by a mouse event. If not, do not register for</span>
+<span class="comment">    // mousedown and mousemove events. This is the case when selection was externally</span>
+<span class="comment">    // triggered by the highlightFeature event</span>
+    <span class="reserved">if</span> (feature.layer.events &amp;&amp; !feature.mbNoMouseEvent) {
+      feature.destroy = destroyFeature;
+      feature.layer.events.registerPriority(<span class="literal">'mousedown'</span>, feature, objRef.onClick);
+      feature.layer.events.registerPriority(<span class="literal">'mousemove'</span>, feature, objRef.onHover);
+    } <span class="reserved">else</span> {
+      feature.mbNoMouseEvent = null;
+    }
+  }
+  
+  <span class="comment">/**
+   * This method is triggered when the mouse is moving out
+   * of a vector feature. It removes the event handler we
+   * registered in this widget's onSelect method.
+   * <span class="attrib">@param</span> feature OpenLayers feature
+   */</span>
+  <span class="reserved">this</span>.onUnselect = <span class="reserved">function</span>(feature) {
+    <span class="reserved">if</span> (!feature) <span class="reserved">return</span>;
+    var objRef = <span class="reserved">this</span>.mbFeatureSelectHandler || feature.mbFeatureSelectHandler;
+    <span class="reserved">for</span> (var i=0; i&lt;objRef.sourceModels.length; i++) {
+      objRef.sourceModels[i].setParam(<span class="literal">"mouseoutFeature"</span>, feature.fid);
+    }
+    objRef.model.setParam(<span class="literal">"olFeatureOut"</span>, feature);
+    <span class="reserved">if</span> (feature.layer.events) {
+      feature.layer.events.unregister(<span class="literal">'mousedown'</span>, feature, objRef.onClick);
+    }
+  }
+  
+  <span class="comment">/**
+   * This method is triggered when a user clicks on a feature.
+   * It is called by OpenLayers event handling in the context
+   * of a feature. This means that 'this' in this method refers
+   * to an {OpenLayers.Feature}. Widgets listening to the
+   * olFeatureSelect have access to the event, because setParam
+   * is used to set the reference to the event.
+   * <span class="attrib">@param</span> evt OpenLayers event
+   */</span>
+  <span class="reserved">this</span>.onClick = <span class="reserved">function</span>(evt) {
+<span class="comment">    // pass the feature to the event object</span>
+    evt.feature = <span class="reserved">this</span>;
+    var objRef = <span class="reserved">this</span>.mbFeatureSelectHandler;
+    objRef.model.setParam(<span class="literal">"olFeatureSelect"</span>, evt);
+    OpenLayers.Event.stop(evt);
+  }
+  
+  <span class="comment">/**
+   * This method is triggered when the mouse is over a feature.
+   * It is called by OpenLayers event handling in the context
+   * of a feature. This means that 'this' in this method refers
+   * to an {OpenLayers.Feature}. Widgets listening to the
+   * olFeatureHover have access to the event, because setParam
+   * is used to set the reference to the event.
+   * <span class="attrib">@param</span> evt OpenLayers event
+   */</span>
+  <span class="reserved">this</span>.onHover = <span class="reserved">function</span>(evt) {
+    var objRef = <span class="reserved">this</span>.mbFeatureSelectHandler;
+    <span class="reserved">if</span> (<span class="reserved">this</span>.layer &amp;&amp; <span class="reserved">this</span>.layer.events) {
+<span class="comment">      // unregister the mousemove event, because we already know that</span>
+<span class="comment">      // the mouse moved and we can then proceed to our hover popup.</span>
+      <span class="reserved">this</span>.layer.events.unregister(<span class="literal">'mousemove'</span>, <span class="reserved">this</span>, objRef.onHover);
+    }
+    evt.feature = <span class="reserved">this</span>;
+    objRef.model.setParam(<span class="literal">"olFeatureHover"</span>, evt);
+  }
+
+  <span class="comment">/**
+   * Highlights the specified feature. This method is usually
+   * triggered by setting the 'highlightFeature' param to the
+   * fid of a feature to be highlighted.
+   * <span class="attrib">@param</span> objRef reference to this tool object
+   * <span class="attrib">@param</span> fid GML feature id of the feature to highlight. If
+   * not specified, this is taken from the highlightFeature
+   * model param.
+   */</span>
+  <span class="reserved">this</span>.highlight = <span class="reserved">function</span>(objRef, fid) {
+    var model, feature;
+    var layer = objRef.model.getParam(<span class="literal">'gmlRendererLayer'</span>);
+    <span class="reserved">for</span> (var i=0; i&lt;objRef.sourceModels.length; i++) {
+      model = objRef.sourceModels[i]
+      <span class="reserved">if</span> (!layer) <span class="reserved">return</span>;
+      <span class="reserved">if</span> (!fid) {
+        fid = model.getParam(<span class="literal">'highlightFeature'</span>);
+      }
+      feature = layer.getFeatureByFid(fid);
+      <span class="reserved">if</span> (feature &amp;&amp; !feature.mbHidden) {
+<span class="comment">        // add a tag to the feature to indicate that it was not selected by mouse action</span>
+        feature.mbNoMouseEvent = true;
+        objRef.control.select(feature);
+      }
+    }
+  }
+  
+  <span class="comment">/**
+   * Dehighlights the specified feature. This method is usually
+   * triggered by setting the 'dehighlightFeature' param to the
+   * fid of a feature to be highlighted.
+   * <span class="attrib">@param</span> objRef reference to this tool object
+   * <span class="attrib">@param</span> fid GML feature id of the feature to highlight. If
+   * not specified, this is taken from the dehighlightFeature
+   * model param.
+   */</span>
+  <span class="reserved">this</span>.dehighlight = <span class="reserved">function</span>(objRef, fid) {
+    var model, feature;
+    var layer = objRef.model.getParam(<span class="literal">'gmlRendererLayer'</span>);
+    <span class="reserved">for</span> (var i=0; i&lt;objRef.sourceModels.length; i++) {
+      model = objRef.sourceModels[i];
+      <span class="reserved">if</span> (!layer) <span class="reserved">return</span>;
+      <span class="reserved">if</span> (!fid) {
+        fid = objRef.model.getParam(<span class="literal">'dehighlightFeature'</span>);
+      }
+      feature = layer.getFeatureByFid(fid);
+      <span class="reserved">if</span> (feature &amp;&amp; !feature.mbHidden) {
+        objRef.control.unselect(feature);
+      }
+    }
+  }
+  
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/PanZoomBar.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/PanZoomBar.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/PanZoomBar.html	(revision 4307)
@@ -0,0 +1,398 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+PanZoomBar
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="PanZoomBar";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-PanZoomBar.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="OwsContext.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Reset.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="PanZoomBar.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class PanZoomBar</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<b>PanZoomBar</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>PanZoomBar</B>
+   
+      <DT>extends <a href='WidgetBase.html'>WidgetBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-PanZoomBar.js.html'>PanZoomBar.js</a></I><BR/><BR/><B>Author:</B> Olivier Terral olivier.terralAtgeomatys.fr  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#cursor">cursor</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="PanZoomBar.html#PanZoomBar()">PanZoomBar</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      PanZoomBar  - drag, zoom, zoomBar wheelMouse and keyboard events
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#init">init</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="cursor"><!-- --></A>
+   <H3>cursor</H3>
+   <PRE>Object&nbsp;<B>cursor</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="PanZoomBar()"><!-- --></A><H3>
+PanZoomBar</H3>
+<PRE><B>PanZoomBar</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   PanZoomBar  - drag, zoom, zoomBar wheelMouse and keyboard events
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  The widget node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model for this widget
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Olivier Terral olivier.terralAtgeomatys.fr  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="init"><!-- --></A>
+   <H3>init</H3>
+   <PRE>void <B>init</B>(objRef)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-PanZoomBar.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="OwsContext.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Reset.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="PanZoomBar.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/ZoomOut.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/ZoomOut.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/ZoomOut.html	(revision 4307)
@@ -0,0 +1,334 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ZoomOut
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="ZoomOut";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ZoomOut.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="ZoomIn.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ZoomToAoi.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ZoomOut.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class ZoomOut</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<b>ZoomOut</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>ZoomOut</B>
+   
+      <DT>extends <a href='ButtonBase.html'>ButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-ZoomOut.js.html'>ZoomOut.js</a></I><BR/><BR/><B>Author:</B> Andreas Hocevar andreas.hocevarATgmail.com  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="ZoomOut.html#ZoomOut()">ZoomOut</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Zoom Out button.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#doSelect">doSelect</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="ZoomOut()"><!-- --></A><H3>
+ZoomOut</H3>
+<PRE><B>ZoomOut</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Zoom Out button.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -       The tool node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -   The ButtonBar widget.    
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Andreas Hocevar andreas.hocevarATgmail.com  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-ZoomOut.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="ZoomIn.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ZoomToAoi.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ZoomOut.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/InsertFeature.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/InsertFeature.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/InsertFeature.html	(revision 4307)
@@ -0,0 +1,622 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+InsertFeature
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="InsertFeature";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-InsertFeature.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="History.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="LayerControl.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="InsertFeature.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class InsertFeature</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<b>InsertFeature</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>InsertFeature</B>
+   
+      <DT>extends <a href='ButtonBase.html'>ButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-InsertFeature.js.html'>InsertFeature.js</a></I><BR/><BR/><B>Author:</B> Cameron Shorter  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#cursor">cursor</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#httpPayload">httpPayload</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#insertXsl">insertXsl</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xsl to convert Feature into a WFS Transaction Insert.</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#tc">tc</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#tm">tm</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#trm">trm</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#updateXsl">updateXsl</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xsl to convert Feature into a WFS Transaction Update.</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="InsertFeature.html#InsertFeature()">InsertFeature</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      When this button is pressed a WFS-T InsertFeature transaction will be started.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#createControl">createControl</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 creates the OL control for this button
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#doSelect">doSelect</A></B>(objRef, selected)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Start a WFS-T InsertFeature transaction.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#handleResponse">handleResponse</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 If transaction was sucessful, refresh the map and remove contents of
+ FeatureList.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="cursor"><!-- --></A>
+   <H3>cursor</H3>
+   <PRE>Object&nbsp;<B>cursor</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="httpPayload"><!-- --></A>
+   <H3>httpPayload</H3>
+   <PRE>Object&nbsp;<B>httpPayload</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="insertXsl"><!-- --></A>
+   <H3>insertXsl</H3>
+   <PRE>Object&nbsp;<B>insertXsl</B></PRE>
+   <UL>
+   Xsl to convert Feature into a WFS Transaction Insert.
+   
+   </UL>
+   <HR>
+   
+   <A NAME="tc"><!-- --></A>
+   <H3>tc</H3>
+   <PRE>Object&nbsp;<B>tc</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="tm"><!-- --></A>
+   <H3>tm</H3>
+   <PRE>Object&nbsp;<B>tm</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="trm"><!-- --></A>
+   <H3>trm</H3>
+   <PRE>Object&nbsp;<B>trm</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="updateXsl"><!-- --></A>
+   <H3>updateXsl</H3>
+   <PRE>Object&nbsp;<B>updateXsl</B></PRE>
+   <UL>
+   Xsl to convert Feature into a WFS Transaction Update.
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="InsertFeature()"><!-- --></A><H3>
+InsertFeature</H3>
+<PRE><B>InsertFeature</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   When this button is pressed a WFS-T InsertFeature transaction will be started.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  The widget node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model for this widget
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Cameron Shorter  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="createControl"><!-- --></A>
+   <H3>createControl</H3>
+   <PRE>Object <B>createControl</B>(objRef)</PRE>
+   
+      <UL>creates the OL control for this button</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="doSelect"><!-- --></A>
+   <H3>doSelect</H3>
+   <PRE>void <B>doSelect</B>(objRef, selected)</PRE>
+   
+      <UL>Start a WFS-T InsertFeature transaction.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="handleResponse"><!-- --></A>
+   <H3>handleResponse</H3>
+   <PRE>void <B>handleResponse</B>(objRef)</PRE>
+   
+      <UL>If transaction was sucessful, refresh the map and remove contents of
+ FeatureList.  This function is called after the TransactionResponseModel
+ has been updated.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-InsertFeature.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="History.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="LayerControl.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="InsertFeature.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ZoomIn.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ZoomIn.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ZoomIn.js.html	(revision 4307)
@@ -0,0 +1,199 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="ZoomIn.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>ZoomIn.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'ZoomIn.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="ZoomIn.html">ZoomIn</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: ZoomIn.js 2956 2007-07-09 12:17:52Z steven $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/ButtonBase.js"</span>);
+mapbuilder.loadScript(baseDir+<span class="literal">"/util/openlayers/OpenLayers.js"</span>);
+
+<span class="comment">/**
+ * ZoomIn button - zooms in on click or box drag in the map.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ButtonBase
+ * <span class="attrib">@author</span> Andreas HOcevar andreas.hocevarATgmail.com
+ * <span class="attrib">@param</span> widgetNode The widget node from the Config XML file.
+ * <span class="attrib">@param</span> model The model for this widget
+ */</span>
+<span class="reserved">function</span> ZoomIn(widgetNode, model) {
+<span class="comment">  // Extend ButtonBase</span>
+  ButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+  <span class="reserved">this</span>.cursor = <span class="literal">'crosshair'</span>;
+
+  <span class="reserved">this</span>.createControl = <span class="reserved">function</span>() {
+    <span class="reserved">return</span> OpenLayers.Control.ZoomBox;
+  }
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/History.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/History.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/History.html	(revision 4307)
@@ -0,0 +1,623 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+History
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="History";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-History.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="HandsomeNumber.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="InsertFeature.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="History.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class History</H2>
+<PRE>Object
+   |
+   +--<a href='ToolBase.html'>ToolBase</a>
+         |
+         +--<b>History</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>History</B>
+   
+      <DT>extends <a href='ToolBase.html'>ToolBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-History.js.html'>History.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ToolBase.html">ToolBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ToolBase.html#model">model</a>, <a href="ToolBase.html#toolNode">toolNode</a>, <a href="ToolBase.html#enabled">enabled</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="History.html#History()">History</A> 
+	 </B>
+	 (toolNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      A tool designed to store the history of the extent during a session
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#add">add</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 This adds the current extent to the historyList
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#back">back</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 This returns the previous extent in the list
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#forward">forward</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 This returns the next extent in the list
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#init">init</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Inititialising the history and setting start parameters
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#initReset">initReset</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set the loadModel listener in response to the init event
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#start">start</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 This restarts the listener after undo/redo is done.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#stop">stop</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 This stops the listener, to prevent the undo/redo steps to appear in the list
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ToolBase.html">ToolBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ToolBase.html#initTargetModel">initTargetModel</a>, <a href="ToolBase.html#initMouseHandler">initMouseHandler</a>, <a href="ToolBase.html#getProperty">getProperty</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="History()"><!-- --></A><H3>
+History</H3>
+<PRE><B>History</B>(toolNode, model)</PRE>
+
+
+<UL>
+   A tool designed to store the history of the extent during a session
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>toolNode</CODE> -   The node for this tool from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -      The model object that contains this tool
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="add"><!-- --></A>
+   <H3>add</H3>
+   <PRE>void <B>add</B>(objRef)</PRE>
+   
+      <UL>This adds the current extent to the historyList</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -   pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="back"><!-- --></A>
+   <H3>back</H3>
+   <PRE>void <B>back</B>(objRef)</PRE>
+   
+      <UL>This returns the previous extent in the list</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -   pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="forward"><!-- --></A>
+   <H3>forward</H3>
+   <PRE>void <B>forward</B>(objRef)</PRE>
+   
+      <UL>This returns the next extent in the list</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -   pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="init"><!-- --></A>
+   <H3>init</H3>
+   <PRE>void <B>init</B>(objRef)</PRE>
+   
+      <UL>Inititialising the history and setting start parameters</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -   pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="initReset"><!-- --></A>
+   <H3>initReset</H3>
+   <PRE>void <B>initReset</B>(objRef)</PRE>
+   
+      <UL>Set the loadModel listener in response to the init event</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  pointer to this object.       
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="start"><!-- --></A>
+   <H3>start</H3>
+   <PRE>void <B>start</B>(objRef)</PRE>
+   
+      <UL>This restarts the listener after undo/redo is done.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -   pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="stop"><!-- --></A>
+   <H3>stop</H3>
+   <PRE>void <B>stop</B>(objRef)</PRE>
+   
+      <UL>This stops the listener, to prevent the undo/redo steps to appear in the list</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -   pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-History.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="HandsomeNumber.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="InsertFeature.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="History.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-GmlRendererOL.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-GmlRendererOL.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-GmlRendererOL.js.html	(revision 4307)
@@ -0,0 +1,542 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="GmlRendererOL.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>GmlRendererOL.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'GmlRendererOL.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="GmlRendererOL.html">GmlRendererOL</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Andreas Hocevar andreas.hocevarATgmail.com
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: GmlRendererOL.js 3962 2008-04-01 13:21:42Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/GmlRendererBase.js"</span>);
+
+<span class="comment">/**
+ * Render GML into HTML.
+ * this.targetModel references the context model for the map
+ * where the content of this widget should be rendered to.
+ * If the model doc is not wfs compliant, a stylesheet
+ * property has to be set for this widget. The xsl file
+ * referenced in this property transforms the model doc to
+ * a wfs FeatureCollection.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> GmlRendererBase
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> GmlRendererOL(widgetNode, model) {
+  GmlRendererBase.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+<span class="comment">  
+  // create modified OpenLayers GML layer class, which</span>
+<span class="comment">  // uses a gml doc directly instead of loading it from</span>
+<span class="comment">  // an URL</span>
+  var OlLayer = OpenLayers.Class(OpenLayers.Layer.GML, {
+  
+    loadGML: <span class="reserved">function</span>() {
+      <span class="reserved">if</span> (!<span class="reserved">this</span>.loaded) {
+        var gml = new OpenLayers.Format.GML();
+        try {
+          <span class="reserved">this</span>.proj = <span class="reserved">this</span>.projection;
+          <span class="reserved">this</span>.addFeatures(gml.read(<span class="reserved">this</span>.mbWidget.renderDoc));
+          <span class="reserved">this</span>.loaded = true;
+        } catch (e) {
+          alert(mbGetMessage(<span class="literal">"documentParseError"</span>),
+              new XMLSerializer().serializeToString(<span class="reserved">this</span>.mbWidget.renderDoc));
+        }
+      }
+    },
+<span class="comment">    
+    // let the layer always be visible, independent of the resolution</span>
+    calculateInRange: <span class="reserved">function</span>() {
+      <span class="reserved">return</span> true;
+    },
+<span class="comment">    
+    // make destroyFeatures bullet-proof to work with undefined geometries</span>
+    destroyFeatures: <span class="reserved">function</span>() {
+      var features = <span class="reserved">this</span>.features;
+      var featuresToRemove = [];
+      var feature;
+      <span class="reserved">for</span> (var i=0; i&lt;features.length; i++) {
+        feature = features[i];
+        feature.mbWidgetConfig = null;
+        <span class="reserved">if</span> (!feature.geometry) {
+          featuresToRemove.push(feature);
+        }
+      }
+      <span class="reserved">this</span>.removeFeatures(featuresToRemove);
+      <span class="reserved">for</span> (var i=0; i&lt;featuresToRemove.length; i++) {
+        featuresToRemove[i].destroy();
+      }
+      OpenLayers.Layer.GML.<span class="reserved">prototype</span>.destroyFeatures.apply(<span class="reserved">this</span>, arguments);
+    },
+  
+    preFeatureInsert: <span class="reserved">function</span>(feature) {
+      <span class="reserved">if</span> (feature.geometry) {
+<span class="comment">        // check if there is a source model linked with this feature</span>
+        var sourceNode = <span class="reserved">this</span>.mbWidget.model.doc.selectSingleNode(<span class="literal">"//*[@fid='"</span>+feature.fid+<span class="literal">"']"</span>);
+        var sourceModel = null;
+        <span class="reserved">if</span> (sourceNode) {
+          sourceModel = sourceNode.getAttribute(<span class="literal">'sourceModel'</span>);
+        }
+<span class="comment">        // if so, use the config from the source model</span>
+        var widgetConfig = null;
+        <span class="reserved">if</span> (sourceModel &amp;&amp; config.objects[sourceModel].config &amp;&amp; config.objects[sourceModel].config[<span class="reserved">this</span>.mbWidget.id]) {
+          widgetConfig = config.objects[sourceModel].config[<span class="reserved">this</span>.mbWidget.id];
+        } <span class="reserved">else</span> {
+          widgetConfig = <span class="reserved">this</span>.mbWidget.config;
+        }
+        feature.mbWidgetConfig = widgetConfig;
+        <span class="reserved">if</span> (!widgetConfig.sourceSRS) {
+          <span class="reserved">if</span> (widgetConfig.featureSRS) {
+            widgetConfig.sourceSRS = new OpenLayers.Projection(widgetConfig.featureSRS);
+          } <span class="reserved">else</span> {
+            widgetConfig.sourceSRS = null;
+          }
+        }
+<span class="comment">        //in the future this will be handled internally to OpenLayers</span>
+        <span class="reserved">if</span> (widgetConfig.sourceSRS) {
+          <span class="reserved">this</span>.convertPoints(feature.geometry, widgetConfig.sourceSRS);
+        }  
+      }
+    },
+    
+    drawFeature: <span class="reserved">function</span>(feature, style) {
+<span class="comment">      // set styles before rendering the feature</span>
+      var widgetConfig = feature.mbWidgetConfig;
+      <span class="reserved">if</span> (widgetConfig) {
+        feature.style = null;
+        <span class="reserved">if</span> (widgetConfig.defaultStyle &amp;&amp; style != <span class="literal">"select"</span>) {
+          feature.style = widgetConfig.defaultStyle.createSymbolizer ?
+              widgetConfig.defaultStyle.createSymbolizer(feature) :
+              widgetConfig.defaultStyle;
+        }
+<span class="comment">        // set select styles</span>
+        <span class="reserved">if</span> (widgetConfig &amp;&amp; widgetConfig.selectStyle) {
+          feature.mbSelectStyle = widgetConfig.selectStyle;
+        }
+      }
+      OpenLayers.Layer.GML.<span class="reserved">prototype</span>.drawFeature.apply(<span class="reserved">this</span>, arguments);
+    },
+    
+    convertPoints: <span class="reserved">function</span>(component, sourceSRS) {
+      <span class="reserved">if</span> (component.CLASS_NAME == <span class="literal">'OpenLayers.Geometry.Point'</span>) {
+        component.transform(sourceSRS, <span class="reserved">this</span>.proj);
+      } <span class="reserved">else</span> {
+        <span class="reserved">for</span> (var i=0; i&lt;component.components.length; ++i) {
+          <span class="reserved">this</span>.convertPoints(component.components[i], sourceSRS);
+        }
+      }
+    },
+    
+    <span class="comment">/**
+     * gets a feature from the gmlRendererLayer by GML feature id.
+     * <span class="attrib">@param</span> fid GML feature id of the feature
+     * <span class="attrib">@return</span> feature OpenLayers feature matching fid
+     */</span>
+    getFeatureByFid: <span class="reserved">function</span>(fid) {
+      <span class="reserved">if</span> (!<span class="reserved">this</span>.features) {
+        <span class="reserved">return</span> null;
+      }
+      <span class="reserved">for</span> (var i = 0; i &lt; <span class="reserved">this</span>.features.length; ++i) {
+        <span class="reserved">if</span> (<span class="reserved">this</span>.features[i].fid == fid) {
+          <span class="reserved">return</span> <span class="reserved">this</span>.features[i];
+        }
+      }
+    },
+    
+    destroy: <span class="reserved">function</span>() {
+      <span class="reserved">this</span>.mbWidget = null;
+      OpenLayers.Layer.Vector.<span class="reserved">prototype</span>.destroy.apply(<span class="reserved">this</span>, arguments);
+    }
+  });
+
+  <span class="comment">/** OpenLayers GML layer which renders the model doc */</span>
+  <span class="reserved">this</span>.olLayer = null;
+  
+  <span class="comment">/**
+   * Style object for default renderer styling of features.
+   * This holds one style for each OpenLayers feature class
+   */</span>
+  <span class="reserved">this</span>.defaultStyle = null;
+
+  <span class="comment">/**
+   * Style object for default renderer styling of features.
+   * This holds one style for each OpenLayers feature class
+   */</span>
+  <span class="reserved">this</span>.selectStyle = null;
+    
+  <span class="comment">/**
+   * Features that shall not be drawn
+   */</span>
+  <span class="reserved">this</span>.hiddenFeatures = new Array();
+<span class="comment">  
+  // replacement for deprecated MapContainerBase</span>
+  <span class="reserved">this</span>.containerNodeId = <span class="reserved">this</span>.htmlTagId;
+  model.containerModel = <span class="reserved">this</span>.targetModel;
+<span class="comment">  
+  // Set this.stylesheet. This is taken from WidgetBaseXSL.js</span>
+  <span class="reserved">if</span> ( !<span class="reserved">this</span>.stylesheet ) {
+    var styleNode = widgetNode.selectSingleNode(<span class="literal">"mb:stylesheet"</span>);
+    <span class="reserved">if</span> (styleNode) {
+      <span class="reserved">this</span>.stylesheet = new XslProcessor(getNodeValue(styleNode), model.namespace);
+      <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"proxyUrl"</span>, config.proxyUrl);
+    }
+  }
+<span class="comment">
+  // set the hover cursor.</span>
+  <span class="reserved">this</span>.hoverCursor = <span class="reserved">this</span>.getProperty(<span class="literal">'mb:hoverCursor'</span>, <span class="literal">'pointer'</span>);
+
+  <span class="reserved">this</span>.paint = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">if</span> (objRef.targetModel.map) {
+<span class="comment">      // remove features from layer</span>
+      <span class="reserved">if</span> (objRef.olLayer) {
+        objRef.model.setParam(<span class="literal">'gmlRendererLayer'</span>, null);
+      }
+<span class="comment">      // transform the model using the xsl stylesheet if there is one,</span>
+<span class="comment">      // otherwise just take the model doc.</span>
+      objRef.renderDoc = objRef.stylesheet ? objRef.stylesheet.transformNodeToObject(objRef.model.doc) : objRef.model.doc;
+<span class="comment">      // nothing to do here if there is no model doc</span>
+      <span class="reserved">if</span> (!objRef.renderDoc) {
+        <span class="reserved">return</span>;
+      }
+<span class="comment">
+      // keep a reference to the map we created the layer for</span>
+      objRef.map = objRef.targetModel.map;
+<span class="comment">      
+      // add own model to array of configurations</span>
+      var models = [objRef.model];
+<span class="comment">      // get configurations from source models, if any</span>
+      <span class="reserved">if</span> (objRef.model.mergeModels) {
+        <span class="reserved">for</span> (var i=0; i&lt;objRef.model.mergeModels.length; i++) {
+          models.push(objRef.model.mergeModels[i]);
+        }
+      }
+<span class="comment">      // store configurations for each source model</span>
+      <span class="reserved">for</span> (var i = 0; i &lt; models.length; i++) {
+        var widgetConfig = config.objects[models[i].id].config ? config.objects[models[i].id].config[objRef.id] : null;
+        <span class="reserved">if</span> (!widgetConfig) {
+          widgetConfig = objRef.config;
+        }
+        <span class="reserved">if</span> (widgetConfig.sldModelNode) {
+          var sldModel = config.objects[getNodeValue(widgetConfig.sldModelNode)];
+          <span class="reserved">if</span> (sldModel) {
+            sldModel.addListener(<span class="literal">"loadModel"</span>, objRef.paint, objRef);
+            <span class="reserved">if</span> (!sldModel.doc) {
+              <span class="reserved">return</span>;
+            }
+            var sldNode = sldModel.getSldNode();
+            <span class="reserved">if</span> (sldModel.sld) {
+              var namedLayer = sldModel.sld.namedLayers[objRef.id].userStyles;
+              <span class="reserved">for</span> (var j=0; j&lt;namedLayer.length; ++j) {
+              	namedLayer[j].propertyStyles = namedLayer[j].findPropertyStyles();
+              	<span class="reserved">if</span> (namedLayer[j].name == widgetConfig.defaultStyleName) {
+              	  widgetConfig.defaultStyle = namedLayer[j];
+              	}
+              	<span class="reserved">if</span> (namedLayer[j].name == widgetConfig.selectStyleName) {
+              	  widgetConfig.selectStyle = namedLayer[j];
+              	}
+              }
+              <span class="reserved">if</span> (widgetConfig.selectStyle) {
+                widgetConfig.selectStyle.defaultStyle.cursor = objRef.hoverCursor;
+              }
+            } <span class="reserved">else</span> <span class="reserved">if</span> (sldNode) {
+              widgetConfig.defaultStyle =
+                  sld2OlStyle(sldNode.selectSingleNode(<span class="literal">"//*[wmc:Name='"</span>+widgetConfig.defaultStyleName+<span class="literal">"']"</span>));
+              widgetConfig.selectStyle =
+                  sld2OlStyle(sldNode.selectSingleNode(<span class="literal">"//*[wmc:Name='"</span>+widgetConfig.selectStyleName+<span class="literal">"']"</span>));
+              <span class="reserved">if</span> (widgetConfig.selectStyle) {
+                widgetConfig.selectStyle.cursor = objRef.hoverCursor;
+              }
+            }
+          }
+        }
+      }
+      
+      <span class="reserved">if</span> (!objRef.olLayer || !objRef.olLayer.mbWidget) {
+        objRef.olLayer = new OlLayer(objRef.id, null, {mbWidget: objRef});
+        objRef.targetModel.map.addLayer(objRef.olLayer);
+      } <span class="reserved">else</span> {
+        objRef.olLayer.loaded = false;
+        objRef.olLayer.destroyFeatures();
+        objRef.olLayer.loadGML();
+      }
+      objRef.removeHiddenFeatures(objRef);
+      
+      objRef.model.setParam(<span class="literal">'gmlRendererLayer'</span>, objRef.olLayer);
+    }
+<span class="comment">    // We add a refresh listener to the targetModel. This way we</span>
+<span class="comment">    // can be sure that the gml renderer is reloaded when the</span>
+<span class="comment">    // map is refreshed, and also if the map did not exist yet</span>
+<span class="comment">    // when paint was called for the first time.</span>
+    objRef.targetModel.addListener(<span class="literal">'refresh'</span>, objRef.paint, objRef);
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"refresh"</span>,<span class="reserved">this</span>.paint, <span class="reserved">this</span>);
+  
+  <span class="comment">/**
+   * Called when the context's hidden attribute changes.
+   * <span class="attrib">@param</span> objRef This object.
+   * <span class="attrib">@param</span> layerName  The name of the layer that was toggled.
+   */</span>
+  <span class="reserved">this</span>.hiddenListener=<span class="reserved">function</span>(objRef, layerName){
+<span class="comment">    //TBD not yet implemented</span>
+    alert(<span class="literal">'hide/unhide '</span>+layerName);
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"hidden"</span>,<span class="reserved">this</span>.hiddenListener,<span class="reserved">this</span>);
+  
+  <span class="comment">/**
+   * Hides the feature specified by its fid from the map
+   * <span class="attrib">@param</span> objRef this widget
+   * <span class="attrib">@param</span> fid feature id of the feature to hide. If it is null,
+   * the hideFeature param of the model will be used.
+   */</span>
+  <span class="reserved">this</span>.hideFeature = <span class="reserved">function</span>(objRef, fid) {
+    <span class="reserved">if</span> (!fid) {
+      fid = objRef.model.getParam(<span class="literal">'hideFeature'</span>);
+    }
+    var feature = objRef.olLayer.getFeatureByFid(fid);
+    <span class="reserved">if</span> (feature) {
+      objRef.hiddenFeatures.push(fid);
+<span class="comment">      // mark the feature as hidden - this will be checked by other widgets</span>
+      feature.mbHidden = true;
+      objRef.olLayer.renderer.eraseGeometry(feature.geometry);      
+    }
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"hideFeature"</span>, <span class="reserved">this</span>.hideFeature, <span class="reserved">this</span>);
+  
+  <span class="comment">/**
+   * Shows the feature specified by its fid in the map
+   * <span class="attrib">@param</span> objRef this widget
+   * <span class="attrib">@param</span> fid feature id of the feature to show. If it is null,
+   * the showFeature param of the model will be used.
+   */</span>
+  <span class="reserved">this</span>.showFeature = <span class="reserved">function</span>(objRef, fid) {
+    <span class="reserved">if</span> (!fid) {
+      fid = objRef.model.getParam(<span class="literal">'showFeature'</span>);
+    }
+    var feature = objRef.olLayer.getFeatureByFid(fid);
+    <span class="reserved">if</span> (feature) {
+      OpenLayers.Util.removeItem(objRef.hiddenFeatures, fid);
+<span class="comment">      // mark the feature as visible - this will be checked by other widgets</span>
+      feature.mbHidden = false;
+      objRef.olLayer.drawFeature(feature);
+    }
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"showFeature"</span>, <span class="reserved">this</span>.showFeature, <span class="reserved">this</span>);
+  
+  <span class="reserved">this</span>.removeHiddenFeatures = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">if</span> (objRef.olLayer) {
+<span class="comment">      // remove hidden features</span>
+      var hiddenFeatures = objRef.hiddenFeatures.toString().split(/,/);
+      objRef.hiddenFeatures = new Array();
+      <span class="reserved">for</span> (var i=0; i&lt;hiddenFeatures.length; i++) {
+        <span class="reserved">if</span> (hiddenFeatures[i]) {
+          objRef.hideFeature(objRef, hiddenFeatures[i]);
+        }
+      }
+    }
+  }
+  
+  
+  <span class="comment">/**
+   * Initializes this widget
+   * <span class="attrib">@param</span> objRef This object
+   */</span>
+  <span class="reserved">this</span>.init = <span class="reserved">function</span>(objRef) {
+    var clickWidgetNode =  widgetNode.selectSingleNode(<span class="literal">"mb:featureOnClick"</span>);
+    <span class="reserved">if</span> (clickWidgetNode) {
+      var clickWidget = config.objects[getNodeValue(clickWidgetNode)];
+      objRef.model.addListener(<span class="literal">"olFeatureSelect"</span>, clickWidget.onClick, clickWidget);
+    }
+    var hoverWidgetNode =  widgetNode.selectSingleNode(<span class="literal">"mb:featureOnHover"</span>);
+    <span class="reserved">if</span> (hoverWidgetNode) {
+      var hoverWidget = config.objects[getNodeValue(hoverWidgetNode)];
+      objRef.model.addListener(<span class="literal">"olFeatureHover"</span>, hoverWidget.onMouseover, hoverWidget);
+      objRef.model.addListener(<span class="literal">"olFeatureOut"</span>, hoverWidget.onMouseout, hoverWidget);
+    }
+    objRef.targetModel.addListener(<span class="literal">"aoi"</span>, objRef.removeHiddenFeatures, objRef);
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"init"</span>, <span class="reserved">this</span>.init, <span class="reserved">this</span>);
+  
+  <span class="reserved">this</span>.model.removeListener(<span class="literal">"newModel"</span>, <span class="reserved">this</span>.clearWidget, <span class="reserved">this</span>);
+  <span class="reserved">this</span>.clearWidget = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">if</span> (objRef.olLayer) {
+      objRef.olLayer.loaded = false;
+      <span class="reserved">for</span> (var i=0; i&lt;objRef.olLayer.map.controls.length; i++) {
+        <span class="reserved">if</span> (objRef.olLayer.map.controls[i].layer == objRef.olLayer) {
+          objRef.olLayer.map.controls[i].destroy();
+        }
+      }
+      objRef.olLayer.destroy();
+      objRef.olLayer = null;
+    }
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"newModel"</span>, <span class="reserved">this</span>.clearWidget, <span class="reserved">this</span>);
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Abstract.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Abstract.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Abstract.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Abstract.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Abstract.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Abstract.js.html" 
+                                        target="classFrame">Abstract.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Abstract.html" TARGET="classFrame">Abstract</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ZoomToAoi.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ZoomToAoi.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ZoomToAoi.js.html	(revision 4307)
@@ -0,0 +1,285 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="ZoomToAoi.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>ZoomToAoi.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'ZoomToAoi.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="ZoomToAoi.html">ZoomToAoi</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+Dependancies: Context
+$Id: ZoomToAoi.js 3821 2008-02-01 13:58:30Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/tool/ToolBase.js"</span>);
+
+<span class="comment">/**
+ * Controller for the locator map widget.  
+ * Specify the context that this widget follows by setting the targetModel 
+ * property in config.
+ * This will display the AOI of the target model using the AoiBox tool. 
+ * This will also process mouse events (click and dragbox) to recenter the 
+ * target model and includes coordinate projection transformations if required.
+ * Checking for extent limits is not yet implemented.
+ * 
+ * WARNING: it is recommended to use the OverviewMap widget. However since the behavior
+ * is slightly different from this widget, this one is still available.
+ * See also MAP-300
+ * <span class="attrib">@deprecated</span>
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ToolBase
+ * <span class="attrib">@author</span> Adair
+ * <span class="attrib">@param</span> toolNode      The tool node from the config document for this tool
+ * <span class="attrib">@param</span> model  Reference to the widget object that creates this tool
+ */</span>
+<span class="reserved">function</span> ZoomToAoi(toolNode, model) {
+  ToolBase.apply(<span class="reserved">this</span>, new Array(toolNode, model));
+
+  <span class="comment">/**
+   * Target model loadModel change listener.  This resets the projection objects
+   * if the target model changes.
+   * <span class="attrib">@param</span> tool        Pointer to this ZoomToAoi object.
+   */</span>
+  <span class="reserved">this</span>.initProj = <span class="reserved">function</span>( toolRef ) {
+    <span class="reserved">if</span>( toolRef.model.doc &amp;&amp; toolRef.targetModel.doc ) {
+      <span class="reserved">if</span> ( toolRef.model.getSRS() != toolRef.targetModel.getSRS() ) {
+          toolRef.model.proj = new OpenLayers.Projection( toolRef.model.getSRS() );
+          toolRef.targetModel.proj = new OpenLayers.Projection( toolRef.targetModel.getSRS() );
+      }
+    }
+  }
+  <span class="reserved">this</span>.setListeners = <span class="reserved">function</span>( toolRef ) {
+    toolRef.model.addListener( <span class="literal">"loadModel"</span>, toolRef.initProj, toolRef );
+    toolRef.targetModel.addListener( <span class="literal">"loadModel"</span>, toolRef.initProj, toolRef );
+    toolRef.initProj( toolRef );
+  }
+  <span class="reserved">this</span>.model.addListener( <span class="literal">"loadModel"</span>, <span class="reserved">this</span>.setListeners, <span class="reserved">this</span>);
+
+  <span class="comment">/**
+   * Target model bbox change listener.  This sets this model's AOI to be the
+   * same as the target model bounding box.
+   * <span class="attrib">@param</span> tool        Pointer to this ZoomToAoi object.
+   */</span>
+  <span class="reserved">this</span>.showTargetAoi = <span class="reserved">function</span>( tool ) {
+    <span class="reserved">if</span>( tool.targetModel.doc ) {
+      var bbox = tool.targetModel.getBoundingBox();  
+      var ul = new Array(bbox[0],bbox[3]);
+      var lr = new Array(bbox[2],bbox[1]);
+      <span class="reserved">if</span> ( tool.model.getSRS() != tool.targetModel.getSRS() ) {
+        var ptUL=new OpenLayers.Geometry.Point(ul[0],ul[1]);
+        var ptLR=new OpenLayers.Geometry.Point(lr[0],lr[1]);
+        ptUL.transform(tool.targetModel.proj,tool.model.proj);
+        ptLR.transform(tool.targetModel.proj,tool.model.proj);
+        ul = new Array(ptUL.x,ptUL.y);
+        lr = new Array(ptLR.x,ptLR.y);      
+        
+      }
+      tool.model.setParam(<span class="literal">"aoi"</span>, new Array(ul, lr) );
+    }
+  }
+  
+  <span class="reserved">this</span>.firstInit = <span class="reserved">function</span>(tool) {
+    tool.model.map.events.register(<span class="literal">'mouseup'</span>,tool, tool.mouseUpHandler);
+    tool.targetModel.addListener( <span class="literal">"loadModel"</span>, tool.showTargetAoi, tool );
+    tool.targetModel.addListener( <span class="literal">"bbox"</span>, tool.showTargetAoi, tool );
+    tool.showTargetAoi(tool);
+  }
+  <span class="reserved">this</span>.model.addListener( <span class="literal">"loadModel"</span>, <span class="reserved">this</span>.firstInit, <span class="reserved">this</span> );
+  
+  <span class="reserved">this</span>.clear = <span class="reserved">function</span>(tool) {
+    <span class="reserved">if</span> (tool.model.map &amp;&amp; tool.model.map.events) {
+      tool.model.map.events.unregister(<span class="literal">'mouseup'</span>,tool, tool.mouseUpHandler);
+    }
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"clearModel"</span>, <span class="reserved">this</span>.clear, <span class="reserved">this</span>);
+}
+
+<span class="comment">/**
+ * Process a mouse up action.  This will recenter the target model's bbox
+ * to be equal to this model's AOI.
+ * <span class="attrib">@param</span> e OpenLayers event
+ */</span>
+ZoomToAoi.<span class="reserved">prototype</span>.mouseUpHandler = <span class="reserved">function</span>(e) {
+  var bbox = <span class="reserved">this</span>.model.getParam(<span class="literal">"aoi"</span>);
+  var ul = bbox[0];
+  var lr = bbox[1];
+  <span class="reserved">if</span> ( <span class="reserved">this</span>.model.getSRS() != <span class="reserved">this</span>.targetModel.getSRS() ) {
+<span class="comment">    //TBD: convert XY to lat/long first</span>
+      var ptUL=new OpenLayers.Geometry.Point(ul[0],ul[1]);
+      var ptLR=new OpenLayers.Geometry.Point(lr[0],lr[1]);
+      ptUL.transform(<span class="reserved">this</span>.model.proj,<span class="reserved">this</span>.targetModel.proj);
+      ptLR.transform(<span class="reserved">this</span>.model.proj,<span class="reserved">this</span>.targetModel.proj);
+      ul = new Array(ptUL.x,ptUL.y);
+      lr = new Array(ptLR.x,ptLR.y);    
+  }
+  <span class="reserved">if</span> ( ( ul[0]==lr[0] ) &amp;&amp; ( ul[1]==lr[1] ) ) {
+    <span class="reserved">this</span>.targetModel.map.setCenter(new OpenLayers.LonLat(ul[0],ul[1]));
+  } <span class="reserved">else</span> {
+    <span class="reserved">this</span>.targetModel.map.zoomToExtent(new OpenLayers.Bounds(ul[0], lr[1], lr[0], ul[1]));
+  }
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/SelectFeatureType.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/SelectFeatureType.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/SelectFeatureType.html	(revision 4307)
@@ -0,0 +1,330 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+SelectFeatureType
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="SelectFeatureType";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-SelectFeatureType.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="SelectAllMapLayers.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="SelectFromAtomFeed.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SelectFeatureType.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class SelectFeatureType</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>SelectFeatureType</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>SelectFeatureType</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-SelectFeatureType.js.html'>SelectFeatureType.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="SelectFeatureType.html#SelectFeatureType()">SelectFeatureType</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Presents the list of FeatureTypes from a WFS capabilities doc.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="SelectFeatureType()"><!-- --></A><H3>
+SelectFeatureType</H3>
+<PRE><B>SelectFeatureType</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Presents the list of FeatureTypes from a WFS capabilities doc.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-SelectFeatureType.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="SelectAllMapLayers.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="SelectFromAtomFeed.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SelectFeatureType.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Sarissa.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Sarissa.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Sarissa.js.html	(revision 4307)
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Sarissa.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Sarissa.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Sarissa.js.html" 
+                                        target="classFrame">Sarissa.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Sarissa.html" TARGET="classFrame">Sarissa</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="XMLHttpRequest.html" TARGET="classFrame">XMLHttpRequest</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="XMLSerializer.html" TARGET="classFrame">XMLSerializer</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="XSLTProcessor.html" TARGET="classFrame">XSLTProcessor</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/XMLSerializer.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/XMLSerializer.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/XMLSerializer.html	(revision 4307)
@@ -0,0 +1,322 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+XMLSerializer
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="XMLSerializer";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Sarissa.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="XMLHttpRequest.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="XslProcessor.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="XMLSerializer.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class XMLSerializer</H2>
+<PRE>Object
+   |
+   +--<b>XMLSerializer</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>XMLSerializer</B>
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Sarissa.js.html'>Sarissa.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="XMLSerializer.html#XMLSerializer()">XMLSerializer</A> 
+	 </B>
+	 ()
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Utility class to serialize DOM Node objects to XML strings
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#serializeToString">serializeToString</A></B>(oNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Serialize the given DOM Node to an XML string
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="XMLSerializer()"><!-- --></A><H3>
+XMLSerializer</H3>
+<PRE><B>XMLSerializer</B>()</PRE>
+
+
+<UL>
+   Utility class to serialize DOM Node objects to XML strings
+</UL>
+
+
+
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="serializeToString"><!-- --></A>
+   <H3>serializeToString</H3>
+   <PRE>Object <B>serializeToString</B>(oNode)</PRE>
+   
+      <UL>Serialize the given DOM Node to an XML string</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>oNode</CODE> -  the DOM Node to serialize
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Sarissa.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="XMLHttpRequest.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="XslProcessor.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="XMLSerializer.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-EventLog.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-EventLog.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-EventLog.js.html	(revision 4307)
@@ -0,0 +1,189 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="EventLog.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>EventLog.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'EventLog.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="EventLog.html">EventLog</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: EventLog.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Show an event log, used for debugging.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> EventLog(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-TipWidgetOL.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-TipWidgetOL.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-TipWidgetOL.js.html	(revision 4307)
@@ -0,0 +1,328 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TipWidgetOL.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TipWidgetOL.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TipWidgetOL.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="TipWidgetOL.html">TipWidgetOL</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: TipWidgetOL.js 3955 2008-03-31 13:00:49Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/TipWidgetBase.js"</span>);
+mapbuilder.loadScript(baseDir+<span class="literal">"/util/openlayers/OpenLayers.js"</span>);
+
+<span class="comment">/**
+ * Manages MapTips on the map. This widget works with models that
+ * have a FeatureSelectHandler tool.
+ * <span class="attrib">@base</span> TipWidgetBase
+ * <span class="attrib">@author</span> Andreas Hocevar andreas.hocevarATgmail.com
+ * <span class="attrib">@param</span> widgetNode      The tool node from the Config XML file.
+ * <span class="attrib">@param</span> model  The ButtonBar widget.
+ */</span>
+<span class="reserved">function</span> TipWidgetOL(widgetNode, model) {
+  TipWidgetBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+  <span class="comment">/**
+   * This method is triggered when a user clicks on a feature.
+   * <span class="attrib">@param</span> objRef reference to this widget
+   */</span>
+  <span class="reserved">this</span>.onClick = <span class="reserved">function</span>(objRef) {
+    var evt = objRef.model.getParam(<span class="literal">"olFeatureSelect"</span>);
+    var popup = objRef.createPopup(objRef, evt, false);
+    evt.feature.layer.mbClickPopup = popup;
+  }
+
+  <span class="comment">/**
+   * This method is triggered when the mouse is over a feature.
+   * <span class="attrib">@param</span> objRef reference to this widget
+   */</span>
+  <span class="reserved">this</span>.onMouseover = <span class="reserved">function</span>(objRef) {
+    var evt = objRef.model.getParam(<span class="literal">"olFeatureHover"</span>);
+<span class="comment">    // only create popup if there is no visible click popup</span>
+    <span class="reserved">if</span> (evt.feature &amp;&amp; !evt.feature.layer.mbClickPopup || !evt.feature.layer.mbClickPopup.visible()) {
+      var popup = objRef.createPopup(objRef, evt, true);
+      evt.feature.layer.mbHoverPopup = popup;
+<span class="comment">      // if the olFeatureOut event gets lost (eg during drag operation),</span>
+<span class="comment">      // registering this additional event will help to get rid of the</span>
+<span class="comment">      // popup quickly</span>
+      popup.events.register(<span class="literal">'mouseover'</span>, popup, popup.hide);
+    }
+  }
+  
+  <span class="comment">/**
+   * This method is triggered when the mouse moves out of a feature.
+   * <span class="attrib">@param</span> objRef reference to this widget
+   */</span>
+  <span class="reserved">this</span>.onMouseout = <span class="reserved">function</span>(objRef) {
+    var feature = objRef.model.getParam(<span class="literal">"olFeatureOut"</span>);
+    <span class="reserved">if</span> (feature &amp;&amp; feature.layer &amp;&amp; feature.layer.mbHoverPopup) {
+      feature.layer.mbHoverPopup.destroy();
+      feature.layer.mbHoverPopup = null;
+    }
+  }
+
+  <span class="comment">/**
+   * Creates a popup.
+   * <span class="attrib">@param</span> objRef reference to this widget
+   * <span class="attrib">@param</span> evt OpenLayers.Event that triggered the popup action
+   * <span class="attrib">@param</span> hover true if the popup should be styled as a hover popup,
+   * false if it is a click popup.
+   * <span class="attrib">@return</span> reference to the created popup
+   */</span>
+  <span class="reserved">this</span>.createPopup = <span class="reserved">function</span>(objRef, evt, hover) {
+    var feature = evt.feature;
+<span class="comment">    // check if there is a source model linked with this feature</span>
+    var sourceNode = objRef.model.doc.selectSingleNode(<span class="literal">"//*[@fid='"</span>+feature.fid+<span class="literal">"']"</span>);
+    var sourceModel = null;
+    <span class="reserved">if</span> (sourceNode) {
+      sourceModel = sourceNode.getAttribute(<span class="literal">'sourceModel'</span>);
+    }
+<span class="comment">    // if so, use the config from the source model</span>
+    var widgetConfig = null;
+    <span class="reserved">if</span> (sourceModel &amp;&amp; config.objects[sourceModel].config &amp;&amp; config.objects[sourceModel].config[objRef.id]) {
+      widgetConfig = config.objects[sourceModel].config[objRef.id];
+    } <span class="reserved">else</span> {
+      widgetConfig = objRef.config;
+    }
+    widgetConfig.stylesheet.setParameter(<span class="literal">'fid'</span>, feature.fid);
+    var lonlat = feature.layer.map.getLonLatFromPixel(evt.xy);
+    var popup = new Mapbuilder.Popup(null, lonlat, new OpenLayers.Size(widgetConfig.width, widgetConfig.height),
+        new XMLSerializer().serializeToString(widgetConfig.stylesheet.transformNodeToObject(widgetConfig.model.doc)).replace(/&amp;lt;/g,<span class="literal">"&lt;"</span>).replace(/&amp;gt;/g,<span class="literal">"&gt;"</span>).replace(/&amp;amp;/g,<span class="literal">"&amp;"</span>),
+        null, hover == false);
+    popup.setOpacity(widgetConfig.opacity);
+    popup.setBackgroundColor(widgetConfig.backgroundColor);
+    popup.setBorder(widgetConfig.border);
+    var quadrant = feature.layer.map.getExtent().determineQuadrant(lonlat);
+    var lonOffset = quadrant.charAt(1) == <span class="literal">'r'</span> ? -5 : 5;
+    var latOffset = quadrant.charAt(0) == <span class="literal">'t'</span> ? 5 : -5;
+    popup.anchor = { size: new OpenLayers.Size(0,0), offset: new OpenLayers.Pixel(lonOffset, latOffset)};    
+ 
+    feature.layer.map.addPopup(popup, true);
+    <span class="reserved">return</span> popup;
+  }
+  
+}
+
+<span class="comment">/**
+ * Derived from OpenLayers.Popup (svn r6430) and 
+ * OpenLayers.Popup.Anchored (svn r5614), this class preserves the
+ * functionality of OpenLayers.Popup.Anchored before the new style popups
+ * of http://trac.openlayers.org/ticket/926 were introduced.
+ */</span>
+Mapbuilder.Popup = OpenLayers.Class(OpenLayers.Popup.Anchored, {
+
+  initialize: <span class="reserved">function</span>(id, lonlat, size, contentHTML, anchor, closeBox,
+            closeBoxCallback) {
+    OpenLayers.Popup.Anchored.<span class="reserved">prototype</span>.initialize.apply(<span class="reserved">this</span>, arguments);
+    <span class="reserved">this</span>.contentDiv.style.overflow = <span class="literal">"hidden"</span>;
+  },
+  
+  setSize:<span class="reserved">function</span>(size) { 
+    <span class="reserved">if</span> (size != undefined) {
+      <span class="reserved">this</span>.size = size; 
+    }
+    
+    <span class="reserved">if</span> (<span class="reserved">this</span>.div != null) {
+      <span class="reserved">this</span>.div.style.width = <span class="reserved">this</span>.size.w + <span class="literal">"px"</span>;
+      <span class="reserved">this</span>.div.style.height = <span class="reserved">this</span>.size.h + <span class="literal">"px"</span>;
+    }
+    <span class="reserved">if</span> (<span class="reserved">this</span>.contentDiv != null){
+      <span class="reserved">this</span>.contentDiv.style.width = <span class="reserved">this</span>.size.w + <span class="literal">"px"</span>;
+      <span class="reserved">this</span>.contentDiv.style.height = <span class="reserved">this</span>.size.h + <span class="literal">"px"</span>;
+    }
+
+    <span class="reserved">if</span> ((<span class="reserved">this</span>.lonlat) &amp;&amp; (<span class="reserved">this</span>.map)) {
+      var px = <span class="reserved">this</span>.map.getLayerPxFromLonLat(<span class="reserved">this</span>.lonlat);
+      <span class="reserved">this</span>.moveTo(px);
+    }
+  },  
+  
+  addCloseBox:<span class="reserved">function</span>(closeBoxCallback) {
+<span class="comment">     // close icon</span>
+    var closeSize = new OpenLayers.Size(17,17);
+    var img = config.skinDir + <span class="literal">"/openlayers/img/close.gif"</span>;
+    <span class="reserved">this</span>.closeDiv = OpenLayers.Util.createAlphaImageDiv(
+      <span class="reserved">this</span>.id + <span class="literal">"_close"</span>, null, closeSize, img
+    );
+    <span class="reserved">this</span>.closeDiv.style.right = <span class="reserved">this</span>.padding + <span class="literal">"px"</span>;
+    <span class="reserved">this</span>.closeDiv.style.top = <span class="reserved">this</span>.padding + <span class="literal">"px"</span>;
+    <span class="reserved">this</span>.groupDiv.appendChild(<span class="reserved">this</span>.closeDiv);
+
+    var closePopup = closeBoxCallback || <span class="reserved">function</span>(e) {
+      <span class="reserved">this</span>.hide();
+      OpenLayers.Event.stop(e);
+    };
+    OpenLayers.Event.observe(<span class="reserved">this</span>.closeDiv, <span class="literal">"click"</span>, 
+        OpenLayers.Function.bindAsEventListener(closePopup, <span class="reserved">this</span>));
+  },
+  
+  CLASS_NAME: <span class="literal">"Mapbuilder.Popup"</span>
+});
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-GmlRendererBase.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-GmlRendererBase.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-GmlRendererBase.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ GmlRendererBase.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" GmlRendererBase.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-GmlRendererBase.js.html" 
+                                        target="classFrame">GmlRendererBase.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GmlRendererBase.html" TARGET="classFrame">GmlRendererBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Caps2Context.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Caps2Context.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Caps2Context.js.html	(revision 4307)
@@ -0,0 +1,291 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Caps2Context.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Caps2Context.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Caps2Context.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Caps2Context.html">Caps2Context</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:   
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: Caps2Context.js 3881 2008-02-27 15:41:07Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/tool/ToolBase.js"</span>);
+
+<span class="comment">/**
+
+ * Build a Web Map Context (WMC) from a Web Map Server getCapabilities response.
+
+ * This tool will replace the identified targetModel as opposed to editing
+
+ * the target model which the EditContext tool will do. 
+
+ * <span class="attrib">@constructor</span>
+
+ * <span class="attrib">@base</span> ToolBase
+
+ * <span class="attrib">@param</span> toolNode The tools's XML object node from the configuration document.
+
+ * <span class="attrib">@param</span> model    The model that this tool belongs to
+
+ */</span>
+
+<span class="reserved">function</span> Caps2Context(toolNode, model) {
+
+  ToolBase.apply(<span class="reserved">this</span>, new Array(toolNode, model));
+
+  
+
+  var styleUrl = baseDir+<span class="literal">"/tool/xsl/Caps2Context.xsl"</span>;
+
+  <span class="reserved">this</span>.stylesheet = new XslProcessor(styleUrl,model.namespace);
+<span class="comment">
+
+
+  // Set stylesheet parameters for all the child nodes from the config file</span>
+
+  <span class="reserved">for</span> (var j=0;j&lt;toolNode.childNodes.length;j++) {
+
+    <span class="reserved">if</span> (getNodeValue(toolNode.childNodes[j])) {
+
+      <span class="reserved">this</span>.stylesheet.setParameter(toolNode.childNodes[j].nodeName,getNodeValue(toolNode.childNodes[j]));
+
+    }
+
+  }
+
+
+
+  <span class="comment">/**
+
+   * Listener function which does the transformation and loads the target model
+
+   * <span class="attrib">@param</span> requestName the name of the web service operation to execute
+
+   * <span class="attrib">@param</span> featureNodeId the id of the node in the doc to be processed by the stylesheet
+
+   */</span>
+
+  <span class="reserved">this</span>.mapAllLayers = <span class="reserved">function</span>(objRef) {
+
+    objRef.stylesheet.setParameter(<span class="literal">"selectedLayer"</span>,<span class="literal">''</span>);
+
+    var newContext = objRef.stylesheet.transformNodeToObject(objRef.model.doc);
+
+    objRef.targetModel.setParam(<span class="literal">"newModel"</span>, null);
+
+    objRef.targetModel.url = <span class="literal">''</span>;
+
+    objRef.targetModel.doc = newContext;
+
+    objRef.targetModel.finishLoading();
+
+  }
+
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"mapAllLayers"</span>, <span class="reserved">this</span>.mapAllLayers, <span class="reserved">this</span>);
+
+
+
+  <span class="comment">/**
+
+   * Listener function which does the transformation and loads the target model.
+
+   * this wersion will convert a single layer from the Capabilities doc into a
+
+   * context doc.
+
+   * <span class="attrib">@param</span> requestName the name of the web service operation to execute
+
+   * <span class="attrib">@param</span> featureNodeId the id of the node in the doc to be processed by the stylesheet
+
+   */</span>
+
+  <span class="reserved">this</span>.mapSingleLayer = <span class="reserved">function</span>(objRef, layerName) {
+
+    objRef.stylesheet.setParameter(<span class="literal">"selectedLayer"</span>,layerName);
+
+    var newContext = objRef.stylesheet.transformNodeToObject(objRef.model.doc);
+
+    objRef.targetModel.setParam(<span class="literal">"newModel"</span>, null);
+
+    objRef.targetModel.url = <span class="literal">''</span>;
+
+    objRef.targetModel.doc = newContext;
+
+    objRef.targetModel.finishLoading();
+
+  }
+
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"mapLayer"</span>, <span class="reserved">this</span>.mapSingleLayer, <span class="reserved">this</span>);
+
+
+
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/EditContext.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/EditContext.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/EditContext.html	(revision 4307)
@@ -0,0 +1,533 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+EditContext
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="EditContext";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-EditContext.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="EditButtonBase.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="EditLine.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="EditContext.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class EditContext</H2>
+<PRE>Object
+   |
+   +--<a href='ToolBase.html'>ToolBase</a>
+         |
+         +--<b>EditContext</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>EditContext</B>
+   
+      <DT>extends <a href='ToolBase.html'>ToolBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-EditContext.js.html'>EditContext.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#stylesheet">stylesheet</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ToolBase.html">ToolBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ToolBase.html#model">model</a>, <a href="ToolBase.html#toolNode">toolNode</a>, <a href="ToolBase.html#enabled">enabled</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="EditContext.html#EditContext()">EditContext</A> 
+	 </B>
+	 (toolNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Tool which manipulates the Layer list of a Web Map Context document.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addLayerFromCat">addLayerFromCat</A></B>(featureName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds a new layer to the end of the context document
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addNodeToModel">addNodeToModel</A></B>(featureName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds a new layer to the end of the context document
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#deleteNode">deleteNode</A></B>(objRef, featureName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Deletes layers from a context doc
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#moveNode">moveNode</A></B>(objRef, featureName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Reorders layers in the context document
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ToolBase.html">ToolBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ToolBase.html#initTargetModel">initTargetModel</a>, <a href="ToolBase.html#initMouseHandler">initMouseHandler</a>, <a href="ToolBase.html#getProperty">getProperty</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="stylesheet"><!-- --></A>
+   <H3>stylesheet</H3>
+   <PRE>Object&nbsp;<B>stylesheet</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="EditContext()"><!-- --></A><H3>
+EditContext</H3>
+<PRE><B>EditContext</B>(toolNode, model)</PRE>
+
+
+<UL>
+   Tool which manipulates the Layer list of a Web Map Context document.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>toolNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="addLayerFromCat"><!-- --></A>
+   <H3>addLayerFromCat</H3>
+   <PRE>void <B>addLayerFromCat</B>(featureName)</PRE>
+   
+      <UL>Adds a new layer to the end of the context document</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureName</CODE> -  the name of the feature to be added      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="addNodeToModel"><!-- --></A>
+   <H3>addNodeToModel</H3>
+   <PRE>void <B>addNodeToModel</B>(featureName)</PRE>
+   
+      <UL>Adds a new layer to the end of the context document</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureName</CODE> -  the name of the feature to be added      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="deleteNode"><!-- --></A>
+   <H3>deleteNode</H3>
+   <PRE>void <B>deleteNode</B>(objRef, featureName)</PRE>
+   
+      <UL>Deletes layers from a context doc</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="moveNode"><!-- --></A>
+   <H3>moveNode</H3>
+   <PRE>void <B>moveNode</B>(objRef, featureName)</PRE>
+   
+      <UL>Reorders layers in the context document</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-EditContext.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="EditButtonBase.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="EditLine.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="EditContext.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Transaction.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Transaction.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Transaction.js.html	(revision 4307)
@@ -0,0 +1,199 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Transaction.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Transaction.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Transaction.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Transaction.html">Transaction</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Transaction.js 3657 2007-11-29 09:04:26Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/model/ModelBase.js"</span>);
+
+<span class="comment">/**
+ * Stores a WFS Transaction reponse as defined by the Open Geospatial Consortium
+ * (http://www.opengeospatial.org/) (WFS).  
+ * Extends ModelBase, which extends Listener.
+ *
+ * Listeners implemented:
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ModelBase
+ * <span class="attrib">@author</span> Mike Adair
+ * <span class="attrib">@param</span> modelNode Pointer to the xml node for this model from the config file.
+ * <span class="attrib">@param</span> parent    The parent model for the object.
+ */</span>
+<span class="reserved">function</span> Transaction(modelNode, parent) {
+<span class="comment">  // Inherit the ModelBase functions and parameters</span>
+  ModelBase.apply(<span class="reserved">this</span>, new Array(modelNode, parent));
+  <span class="reserved">this</span>.namespace = <span class="literal">"xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs'"</span>;
+
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Measurement.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Measurement.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Measurement.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Measurement.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Measurement.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Measurement.js.html" 
+                                        target="classFrame">Measurement.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Measurement.html" TARGET="classFrame">Measurement</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-AoiForm.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-AoiForm.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-AoiForm.js.html	(revision 4307)
@@ -0,0 +1,260 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="AoiForm.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>AoiForm.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'AoiForm.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="AoiForm.html">AoiForm</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: AoiForm.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Widget to display the AOI box coordinates in a form.
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode This widget's object node from the configuration document.
+ * <span class="attrib">@param</span> model The model that this widget is a view of.
+ */</span>
+
+<span class="reserved">function</span> AoiForm(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+
+  <span class="comment">/**
+   * Output the AOI coordinates to the associated form input elements.  This
+   * method is registered as an AOI listener on the context doc.
+   * <span class="attrib">@param</span> objRef Pointer to this AoiForm object.
+   * <span class="attrib">@param</span> targetNode The node for the enclosing HTML tag for this widget.
+   */</span>
+  <span class="reserved">this</span>.displayAoiCoords = <span class="reserved">function</span>(objRef, targetNode) {
+    var aoiForm = document.getElementById(objRef.formName);
+    var aoi = objRef.model.getParam(<span class="literal">"aoi"</span>);
+    <span class="reserved">if</span> (aoi &amp;&amp; aoiForm) {
+      aoiForm.westCoord.value = aoi[0][0];
+      aoiForm.northCoord.value = aoi[0][1];
+      aoiForm.eastCoord.value = aoi[1][0];
+      aoiForm.southCoord.value = aoi[1][1];
+    }
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">'aoi'</span>, <span class="reserved">this</span>.displayAoiCoords, <span class="reserved">this</span>);
+
+  <span class="comment">/**
+   * Handles user input from the form element.  This is an onblur handler for 
+   * the input elements.
+   */</span>
+  <span class="reserved">this</span>.setAoi = <span class="reserved">function</span>() {
+    var aoi = <span class="reserved">this</span>.model.getParam(<span class="literal">"aoi"</span>);
+    <span class="reserved">if</span> (aoi) {
+      var ul = aoi[0];
+      var lr = aoi[1];
+      switch(<span class="reserved">this</span>.name) {
+        case <span class="literal">'westCoord'</span>:
+          ul[0] = <span class="reserved">this</span>.value;
+          break;
+        case <span class="literal">'northCoord'</span>:
+          ul[1] = <span class="reserved">this</span>.value;
+          break;
+        case <span class="literal">'eastCoord'</span>:
+          lr[0] = <span class="reserved">this</span>.value;
+          break;
+        case <span class="literal">'southCoord'</span>:
+          lr[1] = <span class="reserved">this</span>.value;
+          break;
+      }
+      <span class="reserved">this</span>.model.setParam(<span class="literal">"aoi"</span>,new Array(ul,lr) );
+    }
+  }
+
+  <span class="comment">/**
+   * Refreshes the form onblur handlers when this widget is painted.
+   * <span class="attrib">@param</span> objRef Pointer to this AoiForm object.
+   */</span>
+  <span class="reserved">this</span>.postPaint = <span class="reserved">function</span>(objRef) {
+    var aoiForm = document.getElementById(objRef.formName);
+    aoiForm.westCoord.onblur = objRef.setAoi;
+    aoiForm.northCoord.onblur = objRef.setAoi;
+    aoiForm.eastCoord.onblur = objRef.setAoi;
+    aoiForm.southCoord.onblur = objRef.setAoi;
+    aoiForm.westCoord.model = objRef.model;
+    aoiForm.northCoord.model = objRef.model;
+    aoiForm.eastCoord.model = objRef.model;
+    aoiForm.southCoord.model = objRef.model;
+  }
+<span class="comment">
+  //set some properties for the form output</span>
+<span class="comment">  //allow it to have a different form name</span>
+  <span class="reserved">this</span>.formName = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:formName"</span>, <span class="literal">"AoiForm_"</span> + mbIds.getId());
+  <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"formName"</span>, <span class="reserved">this</span>.formName);
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-StyledLayerDescriptor.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-StyledLayerDescriptor.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-StyledLayerDescriptor.js.html	(revision 4307)
@@ -0,0 +1,214 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="StyledLayerDescriptor.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>StyledLayerDescriptor.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'StyledLayerDescriptor.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="StyledLayerDescriptor.html">StyledLayerDescriptor</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"> <span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: StyledLayerDescriptor.js 3947 2008-03-27 18:13:25Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/model/ModelBase.js"</span>);
+
+<span class="comment">/**
+ * Stores a SLD file  as defined by the
+ * Open Geospatial Consortium (http://www.opengeospatial.org/).
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ModelBase
+ * <span class="attrib">@author</span> Olivier Terral
+ * <span class="attrib">@requires</span> Sarissa
+ * <span class="attrib">@param</span> modelNode The model's XML object node from the configuration document.
+ * <span class="attrib">@param</span> parent    The parent model for the object.
+ */</span>
+<span class="reserved">function</span> StyledLayerDescriptor(modelNode, parent) {
+<span class="comment">  // Inherit the ModelBase functions and parameters</span>
+  ModelBase.apply(<span class="reserved">this</span>, new Array(modelNode, parent));
+  
+  <span class="reserved">this</span>.sld = null;
+  <span class="reserved">this</span>.namespace = <span class="literal">"xmlns:sld='http://www.opengis.net/sld' xmlns:mb='http://mapbuilder.sourceforge.net/mapbuilder' xmlns:wmc='http://www.opengis.net/context' xmlns:wms='http://www.opengis.net/wms' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:ogc='http://www.opengis.net/ogc' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:wfs='http://www.opengis.net/wfs'"</span>;
+  <span class="reserved">this</span>.sldXPath = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:sldXPath"</span>, <span class="literal">"/sld:StyledLayerDescriptor"</span>);
+
+  <span class="reserved">this</span>.getSldNode=<span class="reserved">function</span>() {
+  	<span class="reserved">return</span> <span class="reserved">this</span>.doc.selectSingleNode(<span class="reserved">this</span>.sldXPath);
+  }
+  
+  <span class="comment">/**
+   * loads the sld into an OpenLayers hash representing the sld.
+   * <span class="attrib">@param</span> objRef reference to this model.
+   */</span>
+  <span class="reserved">this</span>.loadSLD = <span class="reserved">function</span>(objRef) {
+    var format = new OpenLayers.Format.SLD();
+    var sldNode = objRef.doc.selectSingleNode(objRef.sldXPath);
+    objRef.sld = format.read(new XMLSerializer().serializeToString(sldNode));
+  }
+  <span class="reserved">this</span>.addFirstListener(<span class="literal">"loadModel"</span>, <span class="reserved">this</span>.loadSLD, <span class="reserved">this</span>);
+
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-FeatureInfo.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-FeatureInfo.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-FeatureInfo.js.html	(revision 4307)
@@ -0,0 +1,200 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="FeatureInfo.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>FeatureInfo.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'FeatureInfo.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="FeatureInfo.html">FeatureInfo</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: FeatureInfo.js 3091 2007-08-09 12:21:54Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Functions to render and update a FeatureInfoResponse from GML.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@author</span> Steven Ottens AT geodan nl
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> FeatureInfo(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+  <span class="comment">/**
+   * Set the value of an attribute from the FeatureInfoResponse.
+   * <span class="attrib">@param</span> objRef Reference to this object.
+   * <span class="attrib">@param</span> xpath Xpath reference to the attribute in the GML.
+   * <span class="attrib">@param</span> value New attribute value.
+   */</span>
+  <span class="reserved">this</span>.setAttr=<span class="reserved">function</span>(objRef,xpath,value){
+    objRef.model.setXpathValue(objRef.model,xpath,value);
+  }
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/XslProcessor.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/XslProcessor.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/XslProcessor.html	(revision 4307)
@@ -0,0 +1,517 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+XslProcessor
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="XslProcessor";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Util.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="XMLSerializer.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="XSLTProcessor.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="XslProcessor.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class XslProcessor</H2>
+<PRE>Object
+   |
+   +--<b>XslProcessor</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>XslProcessor</B>
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Util.js.html'>Util.js</a></I><BR/><BR/><B>Author:</B> Cameron Shorter - Cameron AT Shorter.net<BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#docNSUri">docNSUri</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#processor">processor</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#xslDom">xslDom</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#xslUrl">xslUrl</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="XslProcessor.html#XslProcessor()">XslProcessor</A> 
+	 </B>
+	 (xslUrl,docNSUri)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Transform an XML document using the provided XSL and use the results to build
+a web page.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setParameter">setParameter</A></B>(paramName, paramValue, nsUri)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Set XSL parameter.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#transformNodeToObject">transformNodeToObject</A></B>(xmlNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Transforms XML in the provided xml node according to this XSL.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#transformNodeToString">transformNodeToString</A></B>(xmlNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Transforms XML in the provided xml node according to this XSL.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="docNSUri"><!-- --></A>
+   <H3>docNSUri</H3>
+   <PRE>Object&nbsp;<B>docNSUri</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="processor"><!-- --></A>
+   <H3>processor</H3>
+   <PRE>Object&nbsp;<B>processor</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="xslDom"><!-- --></A>
+   <H3>xslDom</H3>
+   <PRE>Object&nbsp;<B>xslDom</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="xslUrl"><!-- --></A>
+   <H3>xslUrl</H3>
+   <PRE>Object&nbsp;<B>xslUrl</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="XslProcessor()"><!-- --></A><H3>
+XslProcessor</H3>
+<PRE><B>XslProcessor</B>(xslUrl,docNSUri)</PRE>
+
+
+<UL>
+   Transform an XML document using the provided XSL and use the results to build
+a web page.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>xslUrl</CODE> -  The URL of an XSL stylesheet. 
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Cameron Shorter - Cameron AT Shorter.net<BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="setParameter"><!-- --></A>
+   <H3>setParameter</H3>
+   <PRE>void <B>setParameter</B>(paramName, paramValue, nsUri)</PRE>
+   
+      <UL>Set XSL parameter.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="transformNodeToObject"><!-- --></A>
+   <H3>transformNodeToObject</H3>
+   <PRE>Object <B>transformNodeToObject</B>(xmlNode)</PRE>
+   
+      <UL>Transforms XML in the provided xml node according to this XSL.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>xmlNode</CODE> -  The XML node to be transformed.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        a DOM document object 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="transformNodeToString"><!-- --></A>
+   <H3>transformNodeToString</H3>
+   <PRE>Object <B>transformNodeToString</B>(xmlNode)</PRE>
+   
+      <UL>Transforms XML in the provided xml node according to this XSL.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>xmlNode</CODE> -  The XML node to be transformed.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        The transformed String. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Util.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="XMLSerializer.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="XSLTProcessor.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="XslProcessor.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-SelectMapLayers.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-SelectMapLayers.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-SelectMapLayers.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ SelectMapLayers.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" SelectMapLayers.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-SelectMapLayers.js.html" 
+                                        target="classFrame">SelectMapLayers.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="SelectMapLayers.html" TARGET="classFrame">SelectMapLayers</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-TipWidgetConfig.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-TipWidgetConfig.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-TipWidgetConfig.js.html	(revision 4307)
@@ -0,0 +1,201 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TipWidgetConfig.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TipWidgetConfig.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TipWidgetConfig.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="TipWidgetConfig.html">TipWidgetConfig</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: TipWidgetConfig.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/TipWidgetBase.js"</span>);
+
+<span class="comment">/**
+ * Configuration for TipWidgetOL and similar widgets.
+ * <span class="attrib">@base</span> TipWidgetBase
+ * <span class="attrib">@author</span> Andreas Hocevar andreas.hocevarATgmail.com
+ * <span class="attrib">@param</span> widgetNode      The widget node from the Config XML file.
+ * <span class="attrib">@param</span> model  The FeatureCollection model.
+ */</span>
+<span class="reserved">function</span> TipWidgetConfig(widgetNode, model) {
+  TipWidgetBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+  
+  var targetWidget = <span class="reserved">this</span>.getProperty(<span class="literal">'mb:targetWidget'</span>);
+  
+  <span class="reserved">this</span>.init = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">if</span> (targetWidget) {
+      <span class="reserved">if</span> (!model.config) {
+        model.config = new Array();
+      }
+      model.config[targetWidget] = objRef.config;
+    }
+  }
+  model.addListener(<span class="literal">'init'</span>, <span class="reserved">this</span>.init, <span class="reserved">this</span>);
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WfsGetFeature.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WfsGetFeature.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WfsGetFeature.js.html	(revision 4307)
@@ -0,0 +1,299 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="WfsGetFeature.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>WfsGetFeature.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'WfsGetFeature.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="WfsGetFeature.html">WfsGetFeature</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+Dependancies: Context
+$Id: WfsGetFeature.js 3899 2008-03-03 10:33:30Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/ButtonBase.js"</span>);
+mapbuilder.loadScript(baseDir+<span class="literal">"/util/openlayers/OpenLayers.js"</span>);
+<span class="comment">/**
+ * Builds then sends a WFS GetFeature GET request based on the WMC
+ * coordinates and click point.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ButtonBase
+ * <span class="attrib">@author</span> Cameron Shorter
+ * <span class="attrib">@param</span> widgetNode The XML node in the Config file referencing this object.
+ * <span class="attrib">@param</span> model The Context object which this tool is associated with.
+ */</span>
+<span class="reserved">function</span> WfsGetFeature(widgetNode, model) {
+<span class="comment">  // Extend ButtonBase</span>
+  ButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+  <span class="reserved">this</span>.widgetNode = widgetNode;
+<span class="comment">  // id of the transactionResponseModel</span>
+  <span class="reserved">this</span>.trm = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:transactionResponseModel"</span>);
+  <span class="reserved">this</span>.httpPayload = new Object({
+    method: <span class="literal">"get"</span>,
+    postData: null
+  });
+  <span class="reserved">this</span>.typeName = <span class="reserved">this</span>.getProperty(<span class="literal">'mb:typeName'</span>);
+  <span class="reserved">this</span>.maxFeatures = <span class="reserved">this</span>.getProperty(<span class="literal">'mb:maxFeatures'</span>, 1);
+  <span class="reserved">this</span>.webServiceUrl= <span class="reserved">this</span>.getProperty(<span class="literal">'mb:webServiceUrl'</span>);
+  <span class="reserved">this</span>.webServiceUrl += <span class="reserved">this</span>.webServiceUrl.indexOf(<span class="literal">"?"</span>) &gt; -1 ? <span class="literal">'&amp;'</span> : <span class="literal">'?'</span>;
+  <span class="reserved">this</span>.webServiceSrs= new OpenLayers.Projection(<span class="reserved">this</span>.getProperty(<span class="literal">'mb:webServiceSrs'</span>, <span class="literal">"EPSG:4326"</span>));
+<span class="comment">  
+  // override default cursor by user</span>
+<span class="comment">  // cursor can be changed by spefying a new cursor in config file</span>
+  <span class="reserved">this</span>.cursor = <span class="literal">"pointer"</span>; 
+
+  <span class="reserved">this</span>.createControl = <span class="reserved">function</span>(objRef) {
+  	var transactionResponseModel = config.objects[objRef.trm];
+  	
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      CLASS_NAME: <span class="literal">'mbControl.WfsGetFeature'</span>,
+      type: OpenLayers.Control.TYPE_TOOL, // constant from OpenLayers.Control
+  	  tolerance: new Number(objRef.getProperty(<span class="literal">'mb:tolerance'</span>)),
+  	  httpPayload: objRef.httpPayload,
+  	  maxFeatures: objRef.maxFeatures,
+  	  webServiceUrl: objRef.webServiceUrl,
+  	  transactionResponseModel: transactionResponseModel,
+  	  
+      draw: <span class="reserved">function</span>() {
+        <span class="reserved">this</span>.handler = new OpenLayers.Handler.Box( <span class="reserved">this</span>,
+          {done: <span class="reserved">this</span>.selectBox}, {keyMask: <span class="reserved">this</span>.keyMask} );
+      },
+      
+      selectBox: <span class="reserved">function</span> (position) {
+        var bounds, minXY, maxXY;
+        <span class="reserved">if</span> (position instanceof OpenLayers.Bounds) {
+<span class="comment">        // it's a box</span>
+          minXY = <span class="reserved">this</span>.map.getLonLatFromPixel(
+            new OpenLayers.Pixel(position.left, position.bottom));
+          maxXY = <span class="reserved">this</span>.map.getLonLatFromPixel(
+            new OpenLayers.Pixel(position.right, position.top));
+        } <span class="reserved">else</span> {
+<span class="comment">        // it's a pixel</span>
+          minXY = <span class="reserved">this</span>.map.getLonLatFromPixel(
+            new OpenLayers.Pixel(position.x-<span class="reserved">this</span>.tolerance, position.y+<span class="reserved">this</span>.tolerance));
+          maxXY = <span class="reserved">this</span>.map.getLonLatFromPixel(
+            new OpenLayers.Pixel(position.x+<span class="reserved">this</span>.tolerance, position.y-<span class="reserved">this</span>.tolerance));
+        }
+        
+        bounds = new OpenLayers.Bounds(minXY.lon, minXY.lat, maxXY.lon, maxXY.lat);
+        <span class="reserved">if</span> (<span class="reserved">this</span>.map.projection.projCode != <span class="reserved">this</span>.objRef.webServiceSrs.projCode) {
+          bounds.transform(<span class="reserved">this</span>.map.projection, <span class="reserved">this</span>.objRef.webServiceSrs);
+        }
+
+      var typeName = objRef.typeName;
+
+      <span class="reserved">if</span> (!typeName) {
+        var queryList=objRef.targetModel.getQueryableLayers();
+        <span class="reserved">if</span> (queryList.length==0) {
+          alert(mbGetMessage(<span class="literal">"noQueryableLayers"</span>));
+          <span class="reserved">return</span>;
+        }
+        <span class="reserved">else</span> {
+          typeName = <span class="literal">""</span>;
+          <span class="reserved">for</span> (var i=0; i&lt;queryList.length; ++i) {
+            var layerNode = queryList[i];
+<span class="comment">            
+            // Get the name of the layer</span>
+            var layerName = layerNode.selectSingleNode(<span class="literal">"wmc:Name"</span>);
+            layerName=(layerName)?getNodeValue(layerName):<span class="literal">""</span>;
+<span class="comment">
+            // Get the layerId. Fallback to layerName if non-existent</span>
+            var layerId = layerNode.getAttribute(<span class="literal">"id"</span>) || layerName;
+
+            var hidden = objRef.targetModel.getHidden(layerId);
+            <span class="reserved">if</span> (hidden == 0) { //query only visible layers
+              <span class="reserved">if</span> (typeName != <span class="literal">""</span>) {
+                typeName += <span class="literal">","</span>;
+              }
+              typeName += layerName;
+            }
+          }
+        }
+      }
+
+      <span class="reserved">if</span> (typeName==<span class="literal">""</span>) {
+        alert(mbGetMessage(<span class="literal">"noQueryableLayersVisible"</span>));
+        <span class="reserved">return</span>;
+      }
+<span class="comment">
+        // now create request url</span>
+        <span class="reserved">this</span>.httpPayload.url = <span class="reserved">this</span>.webServiceUrl+OpenLayers.Util.getParameterString({
+          SERVICE: <span class="literal">"WFS"</span>,
+          VERSION: <span class="literal">"1.0.0"</span>,
+          REQUEST: <span class="literal">"GetFeature"</span>,
+          TYPENAME: typeName,
+          MAXFEATURES: <span class="reserved">this</span>.maxFeatures,
+          BBOX: bounds.toBBOX()
+        });
+        <span class="reserved">this</span>.transactionResponseModel.newRequest(<span class="reserved">this</span>.transactionResponseModel, <span class="reserved">this</span>.httpPayload);
+      }
+    });
+    <span class="reserved">return</span> Control;
+  }
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-WebServiceRequest.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-WebServiceRequest.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-WebServiceRequest.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ WebServiceRequest.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" WebServiceRequest.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-WebServiceRequest.js.html" 
+                                        target="classFrame">WebServiceRequest.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WebServiceRequest.html" TARGET="classFrame">WebServiceRequest</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WidgetBase.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WidgetBase.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WidgetBase.js.html	(revision 4307)
@@ -0,0 +1,288 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="WidgetBase.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>WidgetBase.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'WidgetBase.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="WidgetBase.html">WidgetBase</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: WidgetBase.js 3880 2008-02-27 15:37:08Z gjvoosten $
+*/</span>
+
+<span class="comment">/**
+ * Base Class for widgets. All widgets must extend this base class.
+ * Defines the default prePaint() and postPaint() methods for all widgets.
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@author</span> Mike Adair 
+ * <span class="attrib">@param</span> widget      Pointer to the widget instance being created
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> WidgetBase(widgetNode,model) {
+  <span class="reserved">this</span>.model = model;
+  <span class="reserved">this</span>.widgetNode = widgetNode;
+<span class="comment">//alert(widgetNode.nodeName);</span>
+	var templatedWidget = false;
+	<span class="reserved">if</span>(model.modelNode.attributes.getNamedItem(<span class="literal">"createByTemplate"</span>) &amp;&amp; model.modelNode.attributes.getNamedItem(<span class="literal">"createByTemplate"</span>).nodeValue==<span class="literal">'true'</span>){
+		widgetNode.setAttribute(<span class="literal">"id"</span>,<span class="literal">"MbWidget_"</span> + mbIds.getId());
+	  templatedWidget = true;
+  }
+
+  <span class="comment">/** Widget's Id defined in the Config (required) */</span>
+  <span class="reserved">if</span> (widgetNode.attributes.getNamedItem(<span class="literal">"id"</span>)) {
+    <span class="reserved">this</span>.id = widgetNode.attributes.getNamedItem(<span class="literal">"id"</span>).nodeValue;
+  } <span class="reserved">else</span> {
+    alert(mbGetMessage(<span class="literal">"idRequired"</span>, widgetNode.nodeName));
+  }
+  
+  <span class="comment">/**
+   * Convenient access to Mapbuilder.getProperty
+   * <span class="attrib">@param</span> property property to get
+   * <span class="attrib">@param</span> default value to use if property is not set
+   * <span class="attrib">@return</span> the value for the property
+   */</span>
+  <span class="reserved">this</span>.getProperty = <span class="reserved">function</span>(property, defaultValue) {
+    <span class="reserved">return</span> Mapbuilder.getProperty(widgetNode, property, defaultValue);
+  }
+<span class="comment">
+  //allow the widget output to be replaced on each paint call</span>
+  <span class="reserved">if</span>(templatedWidget){
+    <span class="reserved">this</span>.outputNodeId = <span class="reserved">this</span>.id;
+  }<span class="reserved">else</span> {
+    <span class="reserved">this</span>.outputNodeId = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:outputNodeId"</span>, <span class="literal">"MbWidget_"</span> + mbIds.getId());
+  }
+<span class="comment">
+  //until htmlTagNode becomes required allow setting of it by widget id</span>
+  <span class="reserved">if</span> (!<span class="reserved">this</span>.htmlTagId) {
+    <span class="reserved">this</span>.htmlTagId = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:htmlTagId"</span>, <span class="reserved">this</span>.id);
+  }
+
+  <span class="reserved">this</span>.getNode = <span class="reserved">function</span>() {
+<span class="comment">    // Node in main HTML to attach widget to.</span>
+    var node = document.getElementById(<span class="reserved">this</span>.htmlTagId);
+    <span class="reserved">if</span>(!node) {
+<span class="comment">      //alert("htmlTagId: "+this.htmlTagId+" for widget "+widgetNode.nodeName+" not found in config");</span>
+    }
+    <span class="reserved">return</span> node;
+  }
+<span class="comment">
+  //allow widgets to not automatically update themseleves in certain circumstances (see layerControl for example)</span>
+  <span class="reserved">this</span>.autoRefresh = Mapbuilder.parseBoolean(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:autoRefresh"</span>, true));
+<span class="comment">
+  //set a debug property in config to see inputs and outputs of stylehseet</span>
+  <span class="reserved">this</span>.debug = Mapbuilder.parseBoolean(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:debug"</span>, false));
+
+  <span class="comment">/**
+   * Initialize dynamic properties.set the target model
+   * <span class="attrib">@param</span> toolRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.initTargetModel = <span class="reserved">function</span>(objRef) {
+<span class="comment">    //set the target model</span>
+    var targetModel = objRef.getProperty(<span class="literal">"mb:targetModel"</span>);
+    <span class="reserved">if</span> (targetModel) {
+      objRef.targetModel = window.config.objects[targetModel];
+      <span class="reserved">if</span> ( !objRef.targetModel ) {
+        alert(mbGetMessage(<span class="literal">"noTargetModelWidget"</span>, targetModel, objRef.id));
+      }
+    } <span class="reserved">else</span> {
+      objRef.targetModel = objRef.model;
+    }
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"init"</span>, <span class="reserved">this</span>.initTargetModel, <span class="reserved">this</span>);
+
+  <span class="comment">/**
+   * Called before paint(), can be used to set up a widget's paint parameters,
+   * or modify model using this.resultDoc().
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.prePaint = <span class="reserved">function</span>(objRef) {
+<span class="comment">    //no-op by default</span>
+  }
+
+  <span class="comment">/**
+   * Called after paint(), can be used to initialize things that depend on the
+   * the widget output being presetn, eg. form and form elements
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.postPaint = <span class="reserved">function</span>(objRef) {
+<span class="comment">    //no-op by default</span>
+  }
+
+  <span class="comment">/**
+   * Remove widget from display.
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span> 
+  <span class="reserved">this</span>.clearWidget = <span class="reserved">function</span>(objRef) {
+<span class="comment">    //with node remove child</span>
+    var outputNode = document.getElementById( objRef.outputNodeId );
+    var node = objRef.getNode();
+    <span class="reserved">if</span> (node &amp;&amp; outputNode) node.removeChild(outputNode);
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"newModel"</span>,<span class="reserved">this</span>.clearWidget, <span class="reserved">this</span>);
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-InsertFeature.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-InsertFeature.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-InsertFeature.js.html	(revision 4307)
@@ -0,0 +1,271 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="InsertFeature.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>InsertFeature.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'InsertFeature.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="InsertFeature.html">InsertFeature</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: InsertFeature.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/ButtonBase.js"</span>);
+
+<span class="comment">/**
+ * When this button is pressed a WFS-T InsertFeature transaction will be started.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ButtonBase
+ * <span class="attrib">@author</span> Cameron Shorter
+ * <span class="attrib">@param</span> widgetNode The widget node from the Config XML file.
+ * <span class="attrib">@param</span> model The model for this widget
+ */</span>
+<span class="reserved">function</span> InsertFeature(widgetNode, model) {
+<span class="comment">
+  // override default cursor by user</span>
+<span class="comment">  // cursor can be changed by spefying a new cursor in config file</span>
+  <span class="reserved">this</span>.cursor = <span class="literal">"default"</span>; 
+<span class="comment">
+  // Extend ButtonBase</span>
+  ButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+  <span class="reserved">this</span>.trm=<span class="reserved">this</span>.getProperty(<span class="literal">"mb:transactionResponseModel"</span>);
+  <span class="reserved">this</span>.tm=<span class="reserved">this</span>.getProperty(<span class="literal">"mb:targetModel"</span>);
+  <span class="reserved">this</span>.tc=<span class="reserved">this</span>.getProperty(<span class="literal">"mb:targetContext"</span>);
+
+  <span class="reserved">this</span>.httpPayload=new Object();
+  <span class="reserved">this</span>.httpPayload.url=<span class="reserved">this</span>.getProperty(<span class="literal">"mb:webServiceUrl"</span>);
+  <span class="reserved">this</span>.httpPayload.method=<span class="literal">"post"</span>;
+
+  <span class="comment">/** Xsl to convert Feature into a WFS Transaction Insert. */</span>
+  <span class="reserved">this</span>.insertXsl=new XslProcessor(baseDir+<span class="literal">"/tool/xsl/wfs_Insert.xsl"</span>);
+
+  <span class="comment">/** Xsl to convert Feature into a WFS Transaction Update. */</span>
+  <span class="reserved">this</span>.updateXsl=new XslProcessor(baseDir+<span class="literal">"/tool/xsl/wfs_Update.xsl"</span>);
+
+  <span class="comment">/** creates the OL control for this button */</span>
+  <span class="reserved">this</span>.createControl = <span class="reserved">function</span>(objRef) {
+    var Control = OpenLayers.Class(OpenLayers.Control, {
+      CLASS_NAME: <span class="literal">'mbInsertFeature'</span>,
+      type: OpenLayers.Control.TYPE_BUTTON
+    });
+    <span class="reserved">return</span> Control;
+  }
+
+  <span class="comment">/**
+   * Start a WFS-T InsertFeature transaction.
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.doSelect = <span class="reserved">function</span>(objRef, selected) {
+    <span class="reserved">if</span> (selected){
+<span class="comment">      // Model that will be populated with the WFS response.</span>
+      <span class="reserved">if</span> (!objRef.transactionResponseModel){
+        objRef.transactionResponseModel=window.config.objects[objRef.trm];
+        objRef.transactionResponseModel.addListener(<span class="literal">"loadModel"</span>,objRef.handleResponse, objRef);
+      }
+      <span class="reserved">if</span> (!objRef.targetModel){
+        objRef.targetModel=window.config.objects[objRef.tm];
+      }
+      <span class="reserved">if</span> (!objRef.targetContext){
+        objRef.targetContext=window.config.objects[objRef.tc];
+      }
+      fid=objRef.targetModel.getXpathValue(objRef.targetModel,<span class="literal">"//@fid"</span>);
+      <span class="reserved">if</span> (objRef.targetModel.doc){
+<span class="comment">        //if fid exists, then we are modifying an existing feature,</span>
+<span class="comment">        // otherwise we are adding a new feature</span>
+        <span class="reserved">if</span>(fid){
+          s=objRef.updateXsl.transformNodeToObject(objRef.targetModel.doc);
+        }<span class="reserved">else</span>{
+          s=objRef.insertXsl.transformNodeToObject(objRef.targetModel.doc);
+        }
+        objRef.httpPayload.postData=s;
+        objRef.transactionResponseModel.transactionType=<span class="literal">"insert"</span>;
+        objRef.transactionResponseModel.newRequest(objRef.transactionResponseModel,objRef.httpPayload);
+      }<span class="reserved">else</span> alert(mbGetMessage(<span class="literal">"noFeatureToInsert"</span>));
+    }
+  }
+
+  <span class="comment">/**
+   * If transaction was sucessful, refresh the map and remove contents of
+   * FeatureList.  This function is called after the TransactionResponseModel
+   * has been updated.
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.handleResponse=<span class="reserved">function</span>(objRef){
+    <span class="reserved">if</span> (objRef.transactionResponseModel.transactionType==<span class="literal">"insert"</span>) {
+      success=objRef.transactionResponseModel.doc.selectSingleNode(<span class="literal">"//wfs:TransactionResult/wfs:Status/wfs:SUCCESS"</span>);
+      <span class="reserved">if</span> (success){
+<span class="comment">        // Remove FeatureList</span>
+        config.loadModel(objRef.targetModel.id, objRef.targetModel.url);
+<span class="comment">
+        // Repaint the WMS layers</span>
+        objRef.targetContext.callListeners(<span class="literal">"refreshWmsLayers"</span>);
+      }
+    }
+  }
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-OpenLSResponse.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-OpenLSResponse.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-OpenLSResponse.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ OpenLSResponse.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" OpenLSResponse.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-OpenLSResponse.js.html" 
+                                        target="classFrame">OpenLSResponse.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="OpenLSResponse.html" TARGET="classFrame">OpenLSResponse</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Locations.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Locations.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Locations.js.html	(revision 4307)
@@ -0,0 +1,223 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Locations.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Locations.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Locations.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Locations.html">Locations</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Tom Kralidis
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: Locations.js 3821 2008-02-01 13:58:30Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Widget to display predefined locations (as per schema at lib/model/schemas/locations.xsd)
+ * into a HTML select box. Changing a location will set the AOI of the targetModel.
+ * TBD: projection coordinate conversion still to be implemented.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode This widget's object node from the configuration document.
+ * <span class="attrib">@param</span> model The model that this widget is a view of.
+ */</span>
+
+
+<span class="reserved">function</span> Locations(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+
+  <span class="comment">/**
+   * Change the AOI coordinates from select box choice of prefined locations
+   * <span class="attrib">@param</span> bbox the bbox value of the location keyword chosen
+   * <span class="attrib">@param</span> targetModel the model on which to set the AOI
+   * <span class="attrib">@param</span> srsName srs of the bbox
+   */</span>
+  <span class="reserved">this</span>.setAoi = <span class="reserved">function</span>(bbox, targetModel, srsName) {
+    var srsTokens = srsName.split(/[:#]/);
+    srsName = <span class="literal">'EPSG:'</span>+srsTokens[srsTokens.length-1];
+    <span class="reserved">if</span> (!srsName) {
+      srsName = <span class="literal">'EPSG:4326'</span>;
+    }
+    var proj = new OpenLayers.Projection(srsName);
+    var bboxArray = new Array();
+    bboxArray     = bbox.split(<span class="literal">","</span>);
+    var ptUL=new OpenLayers.Geometry.Point(parseFloat(bboxArray[0]),parseFloat(bboxArray[3]));
+    var ptLR=new OpenLayers.Geometry.Point(parseFloat(bboxArray[2]),parseFloat(bboxArray[1]));
+    ptUL.transform(proj,<span class="reserved">this</span>.targetModel.proj);
+    ptLR.transform(proj,<span class="reserved">this</span>.targetModel.proj);
+    var ul = new Array(ptUL.x,ptUL.y);
+    var lr = new Array(ptLR.x,ptLR.y);   
+    <span class="reserved">this</span>.targetModel.setParam(<span class="literal">"aoi"</span>,new Array(ul,lr));
+<span class="comment">
+    //convert this.model XY to latlong</span>
+<span class="comment">    //convert latlong to targetmodel XY</span>
+    <span class="reserved">this</span>.targetModel.map.zoomToExtent(new OpenLayers.Bounds(ul[0],lr[1],lr[0],ul[1]));
+  }
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-ZoomOut.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-ZoomOut.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-ZoomOut.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ ZoomOut.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" ZoomOut.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-ZoomOut.js.html" 
+                                        target="classFrame">ZoomOut.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ZoomOut.html" TARGET="classFrame">ZoomOut</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-TipWidgetConfig.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-TipWidgetConfig.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-TipWidgetConfig.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ TipWidgetConfig.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" TipWidgetConfig.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-TipWidgetConfig.js.html" 
+                                        target="classFrame">TipWidgetConfig.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TipWidgetConfig.html" TARGET="classFrame">TipWidgetConfig</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-GmlRendererBase.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-GmlRendererBase.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-GmlRendererBase.js.html	(revision 4307)
@@ -0,0 +1,230 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="GmlRendererBase.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>GmlRendererBase.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'GmlRendererBase.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="GmlRendererBase.html">GmlRendererBase</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Andreas Hocevar andreas.hocevarATgmail.com
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: GmlRendererBase.js 3887 2008-02-27 18:18:53Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBase.js"</span>);
+
+<span class="comment">/**
+ * Render GML into HTML.
+ * this.targetModel references the context model for the map
+ * where the content of this widget should be rendered to.
+ * If the model doc is not wfs compliant, a stylesheet
+ * property has to be set for this widget. The xsl file
+ * referenced in this property transforms the model doc to
+ * a wfs FeatureCollection.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBase
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> GmlRendererBase(widgetNode, model) {
+  WidgetBase.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+<span class="comment">  
+  // set the feature srs.</span>
+  <span class="comment">/** SRS of the features that this widget will render */</span>
+  <span class="reserved">this</span>.featureSRS = <span class="reserved">this</span>.getProperty(<span class="literal">'mb:featureSRS'</span>);
+<span class="comment">  
+  // set the hover cursor.</span>
+  <span class="comment">/** css cursor when hovering over features */</span>
+  <span class="reserved">this</span>.hoverCursorNode = <span class="reserved">this</span>.getProperty(<span class="literal">'mb:hoverCursor'</span>, <span class="literal">'pointer'</span>);
+
+  <span class="comment">/** model holding the sld for feature styles of this widget */</span>
+  <span class="reserved">this</span>.sldModelNode = widgetNode.selectSingleNode(<span class="literal">'mb:sldModel'</span>);
+<span class="comment">
+  // set the default style.</span>
+  <span class="comment">/** sld node within the sld model that is used for default styling */</span>
+  <span class="reserved">this</span>.defaultStyleName = <span class="reserved">this</span>.getProperty(<span class="literal">'mb:defaultStyleName'</span>, <span class="literal">'default'</span>);
+<span class="comment">  
+  // set the select style</span>
+  <span class="comment">/** sld node within the sld model that is used when a feature is hovered */</span>
+  <span class="reserved">this</span>.selectStyleName = <span class="reserved">this</span>.getProperty(<span class="literal">'mb:selectStyleName'</span>, <span class="literal">'selected'</span>);
+
+  <span class="comment">/**
+   * config object holding all configurations that might be different
+   * among source models (if a MergeModel with multiple GmlRendererConfig
+   * widgets is used).
+   */</span>
+  <span class="reserved">this</span>.config = new Object({
+        model: model,
+        hoverCursor: <span class="reserved">this</span>.hoverCursor,
+        sldModelNode: <span class="reserved">this</span>.sldModelNode,
+        defaultStyleName: <span class="reserved">this</span>.defaultStyleName,
+        selectStyleName: <span class="reserved">this</span>.selectStyleName,
+        featureSRS: <span class="reserved">this</span>.featureSRS
+  });
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Save.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Save.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Save.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Save.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Save.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Save.js.html" 
+                                        target="classFrame">Save.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Save.html" TARGET="classFrame">Save</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-DeleteFeature.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-DeleteFeature.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-DeleteFeature.js.html	(revision 4307)
@@ -0,0 +1,265 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="DeleteFeature.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>DeleteFeature.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'DeleteFeature.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="DeleteFeature.html">DeleteFeature</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: DeleteFeature.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/ButtonBase.js"</span>);
+
+<span class="comment">/**
+ * When this button is pressed a WFS-T DeleteFeature transaction will be started.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ButtonBase
+ * <span class="attrib">@author</span> Cameron Shorter
+ * <span class="attrib">@param</span> widgetNode The widget node from the Config XML file.
+ * <span class="attrib">@param</span> model The model for this widget
+ */</span>
+<span class="reserved">function</span> DeleteFeature(widgetNode, model) {
+<span class="comment">  // Extend ButtonBase</span>
+  ButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+<span class="comment">  
+  // override default cursor by user</span>
+<span class="comment">  // cursor can be changed by spefying a new cursor in config file</span>
+  <span class="reserved">this</span>.cursor = <span class="literal">"default"</span>; 
+
+  <span class="reserved">this</span>.trm=<span class="reserved">this</span>.getProperty(<span class="literal">"mb:transactionResponseModel"</span>);
+  <span class="reserved">this</span>.tm=<span class="reserved">this</span>.getProperty(<span class="literal">"mb:targetModel"</span>);
+  <span class="reserved">this</span>.tc=<span class="reserved">this</span>.getProperty(<span class="literal">"mb:targetContext"</span>);
+
+  <span class="reserved">this</span>.httpPayload=new Object();
+  <span class="reserved">this</span>.httpPayload.url=<span class="reserved">this</span>.getProperty(<span class="literal">"mb:webServiceUrl"</span>);
+  <span class="reserved">this</span>.httpPayload.method=<span class="literal">"post"</span>;
+
+  <span class="comment">/** Xsl to convert Feature into a WFS Transaction Delete. */</span>
+  <span class="reserved">this</span>.deleteXsl=new XslProcessor(baseDir+<span class="literal">"/tool/xsl/wfs_Delete.xsl"</span>);
+
+  <span class="comment">/** creates the OL control for this button */</span>
+  <span class="reserved">this</span>.createControl = <span class="reserved">function</span>(objRef) {
+    var Control = OpenLayers.Class(OpenLayers.Control, {
+      CLASS_NAME: <span class="literal">'mbDeleteFeature'</span>,
+      type: OpenLayers.Control.TYPE_BUTTON
+    });
+    <span class="reserved">return</span> Control;
+  }
+
+  <span class="comment">/**
+   * Start a WFS-T DeleteFeature transaction.
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.doSelect = <span class="reserved">function</span>(objRef, selected) {
+    <span class="reserved">if</span> (selected){
+<span class="comment">      // Model that will be populated with the WFS response.</span>
+      <span class="reserved">if</span> (!objRef.transactionResponseModel){
+        objRef.transactionResponseModel=window.config.objects[objRef.trm];
+        objRef.transactionResponseModel.addListener(<span class="literal">"loadModel"</span>,objRef.handleResponse, objRef);
+      }
+      <span class="reserved">if</span> (!objRef.targetModel){
+        objRef.targetModel=window.config.objects[objRef.tm];
+      }
+      <span class="reserved">if</span> (!objRef.targetContext){
+        objRef.targetContext=window.config.objects[objRef.tc];
+      }
+      fid=objRef.targetModel.getXpathValue(objRef.targetModel,<span class="literal">"//@fid"</span>);
+<span class="comment">      //if fid exists, then we are deleting an existing feature.</span>
+      <span class="reserved">if</span> (objRef.targetModel.doc &amp;&amp; fid){
+        s=objRef.deleteXsl.transformNodeToObject(objRef.targetModel.doc);
+        objRef.httpPayload.postData=s;
+        objRef.transactionResponseModel.transactionType=<span class="literal">"delete"</span>;
+        objRef.transactionResponseModel.newRequest(objRef.transactionResponseModel,objRef.httpPayload);
+      }<span class="reserved">else</span> alert(mbGetMessage(<span class="literal">"noFeatureToDelete"</span>));
+    }
+  }
+
+  <span class="comment">/**
+   * If transaction was sucessful, refresh the map and remove contents of
+   * FeatureList.  This function is called after the TransactionResponseModel
+   * has been updated.
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.handleResponse=<span class="reserved">function</span>(objRef){
+    <span class="reserved">if</span> (objRef.transactionResponseModel.transactionType==<span class="literal">"delete"</span>) {
+      success=objRef.transactionResponseModel.doc.selectSingleNode(<span class="literal">"//wfs:TransactionResult/wfs:Status/wfs:SUCCESS"</span>);
+      <span class="reserved">if</span> (success){
+<span class="comment">        // Remove FeatureList if feature entry was successful.</span>
+        objRef.targetModel.setModel(objRef.targetModel,null);
+<span class="comment">
+        // Repaint GmlRenderers</span>
+        objRef.targetModel.callListeners(<span class="literal">"refreshGmlRenderers"</span>);
+<span class="comment">
+        // Repaint the WMS layers</span>
+        objRef.targetContext.callListeners(<span class="literal">"refreshWmsLayers"</span>);
+      }
+    }
+  }
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Abstract.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Abstract.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Abstract.js.html	(revision 4307)
@@ -0,0 +1,189 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Abstract.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Abstract.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Abstract.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Abstract.html">Abstract</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Abstract.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Output the context title and abstract.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> Abstract(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/EditPolygon.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/EditPolygon.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/EditPolygon.html	(revision 4307)
@@ -0,0 +1,423 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+EditPolygon
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="EditPolygon";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-EditPolygon.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="EditPoint.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="EventLog.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="EditPolygon.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class EditPolygon</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<a href='EditButtonBase.html'>EditButtonBase</a>
+                     |
+                     +--<b>EditPolygon</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>EditPolygon</B>
+   
+      <DT>extends <a href='EditButtonBase.html'>EditButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <B>Author:</B> Simon Flannery simonDOTflanneryATbigpondDOTcom  <BR/><I>Defined in <a href='overview-summary-EditPolygon.js.html'>EditPolygon.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="EditButtonBase.html">EditButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="EditButtonBase.html#cursor">cursor</a>, <a href="EditButtonBase.html#trm">trm</a>, <a href="EditButtonBase.html#defaultModelUrl">defaultModelUrl</a>, <a href="EditButtonBase.html#featureXpath">featureXpath</a>, <a href="EditButtonBase.html#appendOnEdit">appendOnEdit</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="EditPolygon.html#EditPolygon()">EditPolygon</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      When this button is selected, clicks on the MapPane will add a
+ new point to a polygon.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#instantiateControl">instantiateControl</A></B>(objRef, Control)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="EditButtonBase.html">EditButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="EditButtonBase.html#createControl">createControl</a>, <a href="EditButtonBase.html#doSelect">doSelect</a>, <a href="EditButtonBase.html#newSession">newSession</a>, <a href="EditButtonBase.html#handleFeatureInsert">handleFeatureInsert</a>, <a href="EditButtonBase.html#setEditingLayer">setEditingLayer</a>, <a href="EditButtonBase.html#setFeature">setFeature</a>, <a href="EditButtonBase.html#initButton">initButton</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="EditPolygon()"><!-- --></A><H3>
+EditPolygon</H3>
+<PRE><B>EditPolygon</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   When this button is selected, clicks on the MapPane will add a
+ new point to a polygon.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  The node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The ButtonBar widget.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Simon Flannery simonDOTflanneryATbigpondDOTcom  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="instantiateControl"><!-- --></A>
+   <H3>instantiateControl</H3>
+   <PRE>Object <B>instantiateControl</B>(objRef, Control)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-EditPolygon.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="EditPoint.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="EventLog.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="EditPolygon.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-OpenLSForm.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-OpenLSForm.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-OpenLSForm.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ OpenLSForm.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" OpenLSForm.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-OpenLSForm.js.html" 
+                                        target="classFrame">OpenLSForm.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="OpenLSForm.html" TARGET="classFrame">OpenLSForm</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-StyledLayerDescriptor.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-StyledLayerDescriptor.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-StyledLayerDescriptor.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ StyledLayerDescriptor.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" StyledLayerDescriptor.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-StyledLayerDescriptor.js.html" 
+                                        target="classFrame">StyledLayerDescriptor.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="StyledLayerDescriptor.html" TARGET="classFrame">StyledLayerDescriptor</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ShowDistance.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ShowDistance.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ShowDistance.js.html	(revision 4307)
@@ -0,0 +1,221 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="ShowDistance.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>ShowDistance.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'ShowDistance.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="ShowDistance.html">ShowDistance</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author: imke doerge AT geodan.nl
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: ShowDistance.js 3242 2007-09-11 11:15:21Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Widget to display the measured distance when it measurement is enabled.
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode This widget's object node from the configuration document.
+ * <span class="attrib">@param</span> model The model that this widget is a view of.
+ */</span>
+
+<span class="reserved">function</span> ShowDistance(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+<span class="comment">   
+	// outputs the totalDistance value to the form element</span>
+	<span class="reserved">this</span>.showDistance = <span class="reserved">function</span>(objRef) {
+		var distForm = document.getElementById(objRef.formName);   
+		var totalDistance = objRef.model.values.showDistance;
+		<span class="reserved">if</span> (totalDistance == null) {
+<span class="comment">		  // hide result form</span>
+		  objRef.getNode().style.display = <span class="literal">'none'</span>;
+		} <span class="reserved">else</span> {
+		  objRef.getNode().style.display = <span class="literal">''</span>;
+<span class="comment">		  // fill new distance value into form</span>
+  		<span class="reserved">if</span> (totalDistance &gt; 1000.000) { // &gt;1000m = 1.000km
+        <span class="reserved">if</span> (totalDistance &gt; 1000000.000) outputDistance = Math.round(totalDistance/1000)+<span class="literal">"  km"</span>; // &gt;1000km
+        <span class="reserved">else</span> outputDistance = Math.round(totalDistance/100)/10+<span class="literal">"  km"</span>;
+      }
+      <span class="reserved">else</span> <span class="reserved">if</span> (totalDistance &gt; 0) { outputDistance = Math.round(totalDistance)+<span class="literal">"  m"</span>; }
+      <span class="reserved">else</span> outputDistance = <span class="literal">''</span>;
+      <span class="reserved">if</span> (distForm) {
+        distForm.distance.value = outputDistance;
+      }
+		}
+	}
+<span class="comment">
+	//add a showDistance Listener to the modal</span>
+	<span class="reserved">this</span>.model.addListener(<span class="literal">"showDistance"</span>, <span class="reserved">this</span>.showDistance, <span class="reserved">this</span>);
+<span class="comment">
+  //set some properties for the form output</span>
+	<span class="reserved">this</span>.formName = <span class="literal">"ShowDistance_"</span> + mbIds.getId();
+	<span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"formName"</span>, <span class="reserved">this</span>.formName);  
+}    
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/SelectTimeFrame.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/SelectTimeFrame.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/SelectTimeFrame.html	(revision 4307)
@@ -0,0 +1,439 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+SelectTimeFrame
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="SelectTimeFrame";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-SelectTimeFrame.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="SelectMapLayers.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ServiceRegistryList.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SelectTimeFrame.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class SelectTimeFrame</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>SelectTimeFrame</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>SelectTimeFrame</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-SelectTimeFrame.js.html'>SelectTimeFrame.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="SelectTimeFrame.html#SelectTimeFrame()">SelectTimeFrame</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to specify the start and stop frames for a time series context
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setFirstFrame">setFirstFrame</A></B>(index)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Sets the frame index for the time series to start
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setLastFrame">setLastFrame</A></B>(index)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Sets the frame index for the time series end
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="SelectTimeFrame()"><!-- --></A><H3>
+SelectTimeFrame</H3>
+<PRE><B>SelectTimeFrame</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to specify the start and stop frames for a time series context
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  This widget's object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model that this widget is a view of.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="setFirstFrame"><!-- --></A>
+   <H3>setFirstFrame</H3>
+   <PRE>void <B>setFirstFrame</B>(index)</PRE>
+   
+      <UL>Sets the frame index for the time series to start</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>index</CODE> -  the array index for the first frame      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setLastFrame"><!-- --></A>
+   <H3>setLastFrame</H3>
+   <PRE>void <B>setLastFrame</B>(index)</PRE>
+   
+      <UL>Sets the frame index for the time series end</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>index</CODE> -  the array index for the first frame      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-SelectTimeFrame.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="SelectMapLayers.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ServiceRegistryList.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SelectTimeFrame.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/MapScaleText.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/MapScaleText.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/MapScaleText.html	(revision 4307)
@@ -0,0 +1,602 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+MapScaleText
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="MapScaleText";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-MapScaleText.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="MapScaleBar.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="MapTitle.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="MapScaleText.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class MapScaleText</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>MapScaleText</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>MapScaleText</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-MapScaleText.js.html'>MapScaleText.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#formName">formName</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="MapScaleText.html#MapScaleText()">MapScaleText</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to display the scale of a map.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#handleKeyPress">handleKeyPress</A></B>(event)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 handles keypress events to filter out everything except "enter".
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#postPaint">postPaint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Refreshes the form and event handlers when this widget is painted.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#prePaint">prePaint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Called just before paint to set the map scale as stylesheet param
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#showScale">showScale</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 outputs the scale value to the form element
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#submitForm">submitForm</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Handles submission of the form (via javascript in an <a> tag or onsubmit handler)
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="formName"><!-- --></A>
+   <H3>formName</H3>
+   <PRE>Object&nbsp;<B>formName</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="MapScaleText()"><!-- --></A><H3>
+MapScaleText</H3>
+<PRE><B>MapScaleText</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to display the scale of a map.  The model of this widget
+ must have an extent object associated with it which is the case when the 
+ model has a MapContanier widget.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   This widget's object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model that this widget is a view of.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="handleKeyPress"><!-- --></A>
+   <H3>handleKeyPress</H3>
+   <PRE>Object <B>handleKeyPress</B>(event)</PRE>
+   
+      <UL>handles keypress events to filter out everything except "enter".  
+ Pressing the "enter" key will trigger a form submit</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>event</CODE> -   the event object passed in for Mozilla; IE uses window.event
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="postPaint"><!-- --></A>
+   <H3>postPaint</H3>
+   <PRE>void <B>postPaint</B>(objRef)</PRE>
+   
+      <UL>Refreshes the form and event handlers when this widget is painted.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this CurorTrack object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="prePaint"><!-- --></A>
+   <H3>prePaint</H3>
+   <PRE>void <B>prePaint</B>(objRef)</PRE>
+   
+      <UL>Called just before paint to set the map scale as stylesheet param</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="showScale"><!-- --></A>
+   <H3>showScale</H3>
+   <PRE>void <B>showScale</B>(objRef)</PRE>
+   
+      <UL>outputs the scale value to the form element</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this widget object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="submitForm"><!-- --></A>
+   <H3>submitForm</H3>
+   <PRE>Object <B>submitForm</B>()</PRE>
+   
+      <UL>Handles submission of the form (via javascript in an <a> tag or onsubmit handler)</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-MapScaleText.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="MapScaleBar.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="MapTitle.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="MapScaleText.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Timer.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Timer.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Timer.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Timer.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Timer.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Timer.js.html" 
+                                        target="classFrame">Timer.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Timer.html" TARGET="classFrame">Timer</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-EditLine.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-EditLine.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-EditLine.js.html	(revision 4307)
@@ -0,0 +1,196 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="EditLine.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>EditLine.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'EditLine.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="EditLine.html">EditLine</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: EditLine.js 3807 2008-01-18 13:57:21Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/EditButtonBase.js"</span>);
+
+<span class="comment">/**
+ * When this button is selected, clicks on the MapPane will add a
+ * new point to a line.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> EditButtonBase
+ * <span class="attrib">@author</span> Cameron Shorter cameronATshorter.net
+ * <span class="attrib">@param</span> widgetNode The from the Config XML file.
+ * <span class="attrib">@param</span> model  The ButtonBar widget.
+ */</span>
+<span class="reserved">function</span> EditLine(widgetNode, model) {
+<span class="comment">  // Extend EditButtonBase</span>
+  EditButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+  
+  <span class="reserved">this</span>.instantiateControl = <span class="reserved">function</span>(objRef, Control) {
+    <span class="reserved">return</span> new Control(objRef.featureLayer, OpenLayers.Handler.Path);
+  }
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-CursorTrack.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-CursorTrack.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-CursorTrack.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ CursorTrack.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" CursorTrack.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-CursorTrack.js.html" 
+                                        target="classFrame">CursorTrack.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="CursorTrack.html" TARGET="classFrame">CursorTrack</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Logger.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Logger.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Logger.js.html	(revision 4307)
@@ -0,0 +1,252 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Logger.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Logger.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Logger.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Logger.html">Logger</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Logger.js 3091 2007-08-09 12:21:54Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/model/ModelBase.js"</span>);
+
+<span class="comment">/**
+ * Records a log of events that occur over the course of mapbuilder execution
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ModelBase
+ * <span class="attrib">@author</span> Mike Adair
+ * <span class="attrib">@param</span> modelNode Pointer to the xml node for this model from the config file.
+ * <span class="attrib">@param</span> parent    The parent model for the object.
+ */</span>
+<span class="reserved">function</span> Logger(modelNode, parent) {
+<span class="comment">  // Inherit the ModelBase functions and parameters</span>
+  ModelBase.apply(<span class="reserved">this</span>, new Array(modelNode, parent));
+  <span class="reserved">this</span>.namespace = <span class="literal">"xmlns:mb='http://mapbuilder.sourceforge.net/mapbuilder'"</span>;
+<span class="comment">
+  //create a new document</span>
+  <span class="reserved">this</span>.doc = Sarissa.getDomDocument(<span class="literal">"http://mapbuilder.sourceforge.net/mapbuilder"</span>,<span class="literal">"mb:Logger"</span>);//!no prefix on the URL
+  Sarissa.setXpathNamespaces(<span class="reserved">this</span>.doc, <span class="reserved">this</span>.namespace);
+  <span class="reserved">this</span>.doc.async = false;
+  <span class="reserved">this</span>.doc.validateOnParse=false;  //IE6 SP2 parsing bug
+
+  <span class="comment">/**
+   * appends a new entry in the log file
+   * <span class="attrib">@param</span> evenType    the name of the event that occured
+   * <span class="attrib">@param</span> listenerId  the ID of the listener object
+   * <span class="attrib">@param</span> targetId    the ID of the object passed to the listener function
+   * <span class="attrib">@param</span> paramValue  any parameter info supplied to the listener function
+   */</span>
+  <span class="reserved">this</span>.logEvent = <span class="reserved">function</span>(eventType, listenerId, targetId, paramValue) {
+    var eventLog = <span class="reserved">this</span>.doc.createElement(<span class="literal">"event"</span>);
+    eventLog.setAttribute(<span class="literal">"time"</span>, new Date().getTime());
+    eventLog.setAttribute(<span class="literal">"listener"</span>, listenerId);
+    eventLog.setAttribute(<span class="literal">"target"</span>, targetId);
+    <span class="reserved">if</span> (paramValue) eventLog.setAttribute(<span class="literal">"param"</span>, paramValue);
+    eventLog.appendChild(<span class="reserved">this</span>.doc.createTextNode(eventType));
+    <span class="reserved">this</span>.doc.documentElement.appendChild(eventLog);
+  }
+
+  <span class="comment">/**
+   * clears all entries in the log file
+   */</span>
+  <span class="reserved">this</span>.clearLog = <span class="reserved">function</span>() {
+    <span class="reserved">while</span> (<span class="reserved">this</span>.doc.documentElement.hasChildNodes() ) {
+      <span class="reserved">this</span>.doc.documentElement.removeChild(<span class="reserved">this</span>.doc.documentElement.firstChild);
+    }
+    <span class="reserved">this</span>.callListeners(<span class="literal">"refresh"</span>);
+  }
+
+  <span class="comment">/**
+   * save the log by http post to the serializeUrl URL provided
+   */</span>
+  <span class="reserved">this</span>.saveLog = <span class="reserved">function</span>() {
+    <span class="reserved">if</span> (config.serializeUrl) {
+      var tempDoc = postLoad(config.serializeUrl,logger.doc);
+      tempDoc.setProperty(<span class="literal">"SelectionLanguage"</span>, <span class="literal">"XPath"</span>);
+      Sarissa.setXpathNamespaces(tempDoc, <span class="literal">"xmlns:xlink='http://www.w3.org/1999/xlink'"</span>);
+      var onlineResource = tempDoc.selectSingleNode(<span class="literal">"//OnlineResource"</span>);
+      var fileUrl = onlineResource.attributes.getNamedItem(<span class="literal">"xlink:href"</span>).nodeValue;
+      alert(mbGetMessage(<span class="literal">"eventLogSaved"</span>, fileUrl));
+    } <span class="reserved">else</span> {
+      alert(mbGetMessage(<span class="literal">"unableToSaveLog"</span>));
+    }
+  }
+
+  <span class="comment">/**
+   * save the log by http post to the serializeUrl URL provided
+   */</span>
+  <span class="reserved">this</span>.refreshLog = <span class="reserved">function</span>(objRef) {
+    objRef.callListeners(<span class="literal">"refresh"</span>);
+  }
+
+  <span class="reserved">if</span> (parent) parent.addListener(<span class="literal">"refresh"</span>,<span class="reserved">this</span>.refreshLog, <span class="reserved">this</span>);
+  window.onunload = <span class="reserved">this</span>.saveLog;   //automatically save the log when the page unloads
+  window.logger = <span class="reserved">this</span>;             //global reference to the logger model
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/TipWidgetConfig.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/TipWidgetConfig.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/TipWidgetConfig.html	(revision 4307)
@@ -0,0 +1,336 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+TipWidgetConfig
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="TipWidgetConfig";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TipWidgetConfig.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TipWidgetBase.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TipWidgetOL.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TipWidgetConfig.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class TipWidgetConfig</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<a href='TipWidgetBase.html'>TipWidgetBase</a>
+                     |
+                     +--<b>TipWidgetConfig</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>TipWidgetConfig</B>
+   
+      <DT>extends <a href='TipWidgetBase.html'>TipWidgetBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-TipWidgetConfig.js.html'>TipWidgetConfig.js</a></I><BR/><BR/><B>Author:</B> Andreas Hocevar andreas.hocevarATgmail.com  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="TipWidgetConfig.html#TipWidgetConfig()">TipWidgetConfig</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Configuration for TipWidgetOL and similar widgets.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="TipWidgetConfig()"><!-- --></A><H3>
+TipWidgetConfig</H3>
+<PRE><B>TipWidgetConfig</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Configuration for TipWidgetOL and similar widgets.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -       The widget node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -   The FeatureCollection model.    
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Andreas Hocevar andreas.hocevarATgmail.com  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TipWidgetConfig.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="TipWidgetBase.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TipWidgetOL.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TipWidgetConfig.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Timer.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Timer.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Timer.js.html	(revision 4307)
@@ -0,0 +1,232 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Timer.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Timer.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Timer.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Timer.html">Timer</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+Dependancies: Context
+$Id: Timer.js 3881 2008-02-27 15:41:07Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/tool/ToolBase.js"</span>);
+
+<span class="comment">/**
+ * Timer to fire an event at the specified interval.  Any MapBuilder event name may be used,
+ * and the eventValue may be a funtion call which returns the expected value for setParam().
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ToolBase
+ * <span class="attrib">@author</span> Adair
+ * <span class="attrib">@author</span> Ian Turton
+ * <span class="attrib">@param</span> toolNode The tool node from the config document for this tool
+ * <span class="attrib">@param</span> model  the model object that contains this tool
+ */</span>
+<span class="reserved">function</span> Timer(toolNode, model) {
+  ToolBase.apply(<span class="reserved">this</span>, new Array(toolNode, model));
+<span class="comment">
+  //delay in milliseconds - defaults to every half hour</span>
+  <span class="reserved">this</span>.delay = 1000*<span class="reserved">this</span>.getProperty(<span class="literal">"mb:every"</span>, 30);
+<span class="comment">  
+  //set the event to be fired, default event is to reload the model</span>
+  <span class="reserved">this</span>.eventName = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:eventName"</span>, <span class="literal">"reloadModel"</span>);
+<span class="comment">  
+  //set the value to be passed with the event, default eventValue is null</span>
+  <span class="reserved">this</span>.eventValue = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:eventValue"</span>);
+  
+  <span class="comment">/**
+   * Starts the timer playing by using a JavaScript timer.
+   */</span>
+  <span class="reserved">this</span>.play = <span class="reserved">function</span>() {
+    clearInterval(<span class="reserved">this</span>.interval);
+    var workString = <span class="literal">"config.objects."</span>+<span class="reserved">this</span>.targetModel.id+<span class="literal">".setParam('"</span>+<span class="reserved">this</span>.eventName+<span class="literal">"'"</span>;
+    <span class="reserved">if</span> (<span class="reserved">this</span>.eventValue) workString += <span class="literal">","</span>+<span class="reserved">this</span>.eventValue;
+    workString += <span class="literal">")"</span>;
+<span class="comment">  	//alert("about to set timer for "+this.delay+" millisecs: "+workString); </span>
+    <span class="reserved">this</span>.interval = setInterval(workString,<span class="reserved">this</span>.delay);
+  }
+
+  <span class="comment">/**
+   * Stops the JavaScript timer.
+   */</span>
+  <span class="reserved">this</span>.stop = <span class="reserved">function</span>() {
+    clearInterval(<span class="reserved">this</span>.interval);
+  }
+<span class="comment">
+  //the timer can start automatically or not, in which case there should be a call to timer.start() somewhere</span>
+  <span class="reserved">this</span>.autoStart = Mapbuilder.parseBoolean(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:autoStart"</span>, true));
+  <span class="reserved">this</span>.startOnLoad = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">if</span> (objRef.autoStart) objRef.play();
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"init"</span>,<span class="reserved">this</span>.startOnLoad, <span class="reserved">this</span>);
+  
+}
+
+
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-frame.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-frame.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-frame.html	(revision 4307)
@@ -0,0 +1,241 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+<TITLE>
+Overview ()
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Overview ()";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+   <IMG SRC="Icon.gif"/>
+
+<H3 class="FrameHeadingFont"><B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B></H3>
+<TABLE BORDER="0" WIDTH="100%">
+<TR>
+<B></B></FONT></TD>
+</TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="100%">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="allclasses-frame.html" TARGET="packageFrame">All Classes</A></FONT>
+<P>
+<FONT size="+1" CLASS="FrameHeadingFont">
+Files</FONT>
+<BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Abstract.js.html" TARGET="packageFrame">Abstract.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-AoiBoxOL.js.html" TARGET="packageFrame">AoiBoxOL.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-AoiForm.js.html" TARGET="packageFrame">AoiForm.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Back.js.html" TARGET="packageFrame">Back.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Button.js.html" TARGET="packageFrame">Button.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-ButtonBase.js.html" TARGET="packageFrame">ButtonBase.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Caps2Context.js.html" TARGET="packageFrame">Caps2Context.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-CatSearchForm.js.html" TARGET="packageFrame">CatSearchForm.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-CollectionList.js.html" TARGET="packageFrame">CollectionList.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Config.js.html" TARGET="packageFrame">Config.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Context.js.html" TARGET="packageFrame">Context.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-CursorTrack.js.html" TARGET="packageFrame">CursorTrack.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-DeleteFeature.js.html" TARGET="packageFrame">DeleteFeature.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-DragPan.js.html" TARGET="packageFrame">DragPan.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-EditButtonBase.js.html" TARGET="packageFrame">EditButtonBase.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-EditContext.js.html" TARGET="packageFrame">EditContext.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-EditLine.js.html" TARGET="packageFrame">EditLine.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-EditPoint.js.html" TARGET="packageFrame">EditPoint.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-EditPolygon.js.html" TARGET="packageFrame">EditPolygon.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-EventLog.js.html" TARGET="packageFrame">EventLog.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Extent.js.html" TARGET="packageFrame">Extent.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-FeatureCollection.js.html" TARGET="packageFrame">FeatureCollection.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-FeatureInfo.js.html" TARGET="packageFrame">FeatureInfo.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-FeatureList.js.html" TARGET="packageFrame">FeatureList.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-FeatureSelectHandler.js.html" TARGET="packageFrame">FeatureSelectHandler.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-FilterAttributes.js.html" TARGET="packageFrame">FilterAttributes.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-FormBase.js.html" TARGET="packageFrame">FormBase.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Forward.js.html" TARGET="packageFrame">Forward.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-GeoRSS.js.html" TARGET="packageFrame">GeoRSS.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-GetFeatureInfo.js.html" TARGET="packageFrame">GetFeatureInfo.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-GetFeatureInfoWSR.js.html" TARGET="packageFrame">GetFeatureInfoWSR.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-GmlRendererBase.js.html" TARGET="packageFrame">GmlRendererBase.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-GmlRendererConfig.js.html" TARGET="packageFrame">GmlRendererConfig.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-GmlRendererOL.js.html" TARGET="packageFrame">GmlRendererOL.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Graticule.js.html" TARGET="packageFrame">Graticule.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-History.js.html" TARGET="packageFrame">History.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-InsertFeature.js.html" TARGET="packageFrame">InsertFeature.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-LayerControl.js.html" TARGET="packageFrame">LayerControl.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Legend.js.html" TARGET="packageFrame">Legend.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-LegendGraphic.js.html" TARGET="packageFrame">LegendGraphic.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Listener.js.html" TARGET="packageFrame">Listener.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Loading.js.html" TARGET="packageFrame">Loading.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Loading2.js.html" TARGET="packageFrame">Loading2.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Locations.js.html" TARGET="packageFrame">Locations.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Logger.js.html" TARGET="packageFrame">Logger.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Mapbuilder.js.html" TARGET="packageFrame">Mapbuilder.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-MapPaneOL.js.html" TARGET="packageFrame">MapPaneOL.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-MapScaleBar.js.html" TARGET="packageFrame">MapScaleBar.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-MapScaleText.js.html" TARGET="packageFrame">MapScaleText.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-MapTitle.js.html" TARGET="packageFrame">MapTitle.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Measurement.js.html" TARGET="packageFrame">Measurement.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-MergeModels.js.html" TARGET="packageFrame">MergeModels.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-MGRS.js.html" TARGET="packageFrame">MGRS.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Model.js.html" TARGET="packageFrame">Model.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-ModelBase.js.html" TARGET="packageFrame">ModelBase.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-ModelStatus.js.html" TARGET="packageFrame">ModelStatus.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-ModelUrlInput.js.html" TARGET="packageFrame">ModelUrlInput.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-MovieLoop.js.html" TARGET="packageFrame">MovieLoop.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-OpenLSForm.js.html" TARGET="packageFrame">OpenLSForm.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-OpenLSResponse.js.html" TARGET="packageFrame">OpenLSResponse.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-OverviewMap.js.html" TARGET="packageFrame">OverviewMap.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-OwsCatResources.js.html" TARGET="packageFrame">OwsCatResources.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-OwsContext.js.html" TARGET="packageFrame">OwsContext.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-PanZoomBar.js.html" TARGET="packageFrame">PanZoomBar.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Reset.js.html" TARGET="packageFrame">Reset.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Sarissa.js.html" TARGET="packageFrame">Sarissa.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Save.js.html" TARGET="packageFrame">Save.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-SelectAllMapLayers.js.html" TARGET="packageFrame">SelectAllMapLayers.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-SelectFeatureType.js.html" TARGET="packageFrame">SelectFeatureType.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-SelectFromAtomFeed.js.html" TARGET="packageFrame">SelectFromAtomFeed.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-SelectMapLayers.js.html" TARGET="packageFrame">SelectMapLayers.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-SelectTimeFrame.js.html" TARGET="packageFrame">SelectTimeFrame.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-ServiceRegistryList.js.html" TARGET="packageFrame">ServiceRegistryList.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-SetAoi.js.html" TARGET="packageFrame">SetAoi.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-ShowDistance.js.html" TARGET="packageFrame">ShowDistance.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-StyledLayerDescriptor.js.html" TARGET="packageFrame">StyledLayerDescriptor.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TabbedContent.js.html" TARGET="packageFrame">TabbedContent.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Timer.js.html" TARGET="packageFrame">Timer.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Timestamp.js.html" TARGET="packageFrame">Timestamp.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TipWidgetBase.js.html" TARGET="packageFrame">TipWidgetBase.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TipWidgetConfig.js.html" TARGET="packageFrame">TipWidgetConfig.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TipWidgetOL.js.html" TARGET="packageFrame">TipWidgetOL.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-ToolBase.js.html" TARGET="packageFrame">ToolBase.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Transaction.js.html" TARGET="packageFrame">Transaction.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-TransactionResponse.js.html" TARGET="packageFrame">TransactionResponse.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Util.js.html" TARGET="packageFrame">Util.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Version.js.html" TARGET="packageFrame">Version.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-WebServiceForm.js.html" TARGET="packageFrame">WebServiceForm.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-WebServiceRequest.js.html" TARGET="packageFrame">WebServiceRequest.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-WfsCapabilities.js.html" TARGET="packageFrame">WfsCapabilities.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-WfsGetFeature.js.html" TARGET="packageFrame">WfsGetFeature.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-Widget.js.html" TARGET="packageFrame">Widget.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-WidgetBase.js.html" TARGET="packageFrame">WidgetBase.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-WidgetBaseXSL.js.html" TARGET="packageFrame">WidgetBaseXSL.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-WmsCapabilities.js.html" TARGET="packageFrame">WmsCapabilities.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-WpsCapabilities.js.html" TARGET="packageFrame">WpsCapabilities.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-WpsDescribeProcess.js.html" TARGET="packageFrame">WpsDescribeProcess.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-ZoomIn.js.html" TARGET="packageFrame">ZoomIn.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-ZoomOut.js.html" TARGET="packageFrame">ZoomOut.js</A></FONT><BR>
+
+<FONT CLASS="FrameItemFont"><A HREF="overview-ZoomToAoi.js.html" TARGET="packageFrame">ZoomToAoi.js</A></FONT><BR>
+
+</TD>
+</TR>
+</TABLE>
+
+<P>
+&nbsp;
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Mapbuilder.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Mapbuilder.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Mapbuilder.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Mapbuilder.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Mapbuilder.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Mapbuilder.js.html" 
+                                        target="classFrame">Mapbuilder.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Mapbuilder.html" TARGET="classFrame">Mapbuilder</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Sarissa.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Sarissa.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Sarissa.html	(revision 4307)
@@ -0,0 +1,807 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Sarissa
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Sarissa";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Sarissa.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Reset.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Save.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Sarissa.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Sarissa</H2>
+<PRE>Object
+   |
+   +--<b>Sarissa</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Sarissa</B>
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Sarissa.js.html'>Sarissa.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&lt;static&gt; &nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#PARSED_EMPTY">PARSED_EMPTY</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&lt;static&gt; &nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#PARSED_OK">PARSED_OK</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&lt;static&gt; &nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#PARSED_UNKNOWN_ERROR">PARSED_UNKNOWN_ERROR</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Sarissa.html#Sarissa()">Sarissa</A> 
+	 </B>
+	 ()
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      <p>Sarissa is a utility class.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#clearChildNodes">clearChildNodes</A></B>(oNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 <p>Deletes all child nodes of the given node</p>
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#copyChildNodes">copyChildNodes</A></B>(nodeFrom, nodeTo, bPreserveExisting)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 <p> Copies the childNodes of nodeFrom to nodeTo</p>
+ <p> <b>Note:</b> The second object's original content is deleted before 
+ the copy operation, unless you supply a true third parameter</p>
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#escape">escape</A></B>(sXml)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Escape the given string chacters that correspond to the five predefined XML entities
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getDomDocument">getDomDocument</A></B>(sUri, sName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 <p>Factory method to obtain a new DOM Document object</p>
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getParseErrorText">getParseErrorText</A></B>(oDoc)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 <p>Returns a human readable description of the parsing error.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getText">getText</A></B>(oNode, deep)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#moveChildNodes">moveChildNodes</A></B>(nodeFrom, nodeTo, bPreserveExisting)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 <p> Moves the childNodes of nodeFrom to nodeTo</p>
+ <p> <b>Note:</b> The second object's original content is deleted before 
+ the move operation, unless you supply a true third parameter</p>
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setXpathNamespaces">setXpathNamespaces</A></B>(oDoc, sNsSet)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#stripTags">stripTags</A></B>(s)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 strips tags from a markup string
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#xmlize">xmlize</A></B>(anyObject, objectName, indentSpace)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 <p>Serialize any object to an XML string.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="PARSED_EMPTY"><!-- --></A>
+   <H3>PARSED_EMPTY</H3>
+   <PRE>&lt;static&gt;&nbsp;Object&nbsp;<B>PARSED_EMPTY</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="PARSED_OK"><!-- --></A>
+   <H3>PARSED_OK</H3>
+   <PRE>&lt;static&gt;&nbsp;Object&nbsp;<B>PARSED_OK</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="PARSED_UNKNOWN_ERROR"><!-- --></A>
+   <H3>PARSED_UNKNOWN_ERROR</H3>
+   <PRE>&lt;static&gt;&nbsp;Object&nbsp;<B>PARSED_UNKNOWN_ERROR</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Sarissa()"><!-- --></A><H3>
+Sarissa</H3>
+<PRE><B>Sarissa</B>()</PRE>
+
+
+<UL>
+   <p>Sarissa is a utility class. Provides "static" methods for DOMDocument, 
+ DOM Node serialization to XML strings and other utility goodies.</p>
+</UL>
+
+
+
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="clearChildNodes"><!-- --></A>
+   <H3>clearChildNodes</H3>
+   <PRE>&lt;static&gt; void <B>clearChildNodes</B>(oNode)</PRE>
+   
+      <UL><p>Deletes all child nodes of the given node</p></UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>oNode</CODE> -  the Node to empty    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="copyChildNodes"><!-- --></A>
+   <H3>copyChildNodes</H3>
+   <PRE>&lt;static&gt; void <B>copyChildNodes</B>(nodeFrom, nodeTo, bPreserveExisting)</PRE>
+   
+      <UL><p> Copies the childNodes of nodeFrom to nodeTo</p>
+ <p> <b>Note:</b> The second object's original content is deleted before 
+ the copy operation, unless you supply a true third parameter</p></UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>nodeFrom</CODE> -  the Node to copy the childNodes from  
+      </UL> 
+   
+     <UL><CODE>nodeTo</CODE> -  the Node to copy the childNodes to  
+      </UL> 
+   
+     <UL><CODE>bPreserveExisting</CODE> -  whether to preserve the original content of nodeTo, default is false    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="escape"><!-- --></A>
+   <H3>escape</H3>
+   <PRE>&lt;static&gt; Object <B>escape</B>(sXml)</PRE>
+   
+      <UL>Escape the given string chacters that correspond to the five predefined XML entities</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>sXml</CODE> -  the string to escape
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getDomDocument"><!-- --></A>
+   <H3>getDomDocument</H3>
+   <PRE>&lt;static&gt; Object <B>getDomDocument</B>(sUri, sName)</PRE>
+   
+      <UL><p>Factory method to obtain a new DOM Document object</p></UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>sUri</CODE> -  the namespace of the root node (if any)  
+      </UL> 
+   
+     <UL><CODE>sUri</CODE> -  the local name of the root node (if any)  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        a new DOM Document 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getParseErrorText"><!-- --></A>
+   <H3>getParseErrorText</H3>
+   <PRE>&lt;static&gt; Object <B>getParseErrorText</B>(oDoc)</PRE>
+   
+      <UL><p>Returns a human readable description of the parsing error. Usefull
+ for debugging. Tip: append the returned error string in a &lt;pre&gt;
+ element if you want to render it.</p>
+ <p>Many thanks to Christian Stocker for the initial patch.</p></UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>oDoc</CODE> -  The target DOM document  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        The parsing error description of the target Document in           human readable form (preformated text) 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getText"><!-- --></A>
+   <H3>getText</H3>
+   <PRE>&lt;static&gt; Object <B>getText</B>(oNode, deep)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="moveChildNodes"><!-- --></A>
+   <H3>moveChildNodes</H3>
+   <PRE>&lt;static&gt; void <B>moveChildNodes</B>(nodeFrom, nodeTo, bPreserveExisting)</PRE>
+   
+      <UL><p> Moves the childNodes of nodeFrom to nodeTo</p>
+ <p> <b>Note:</b> The second object's original content is deleted before 
+ the move operation, unless you supply a true third parameter</p></UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>nodeFrom</CODE> -  the Node to copy the childNodes from  
+      </UL> 
+   
+     <UL><CODE>nodeTo</CODE> -  the Node to copy the childNodes to  
+      </UL> 
+   
+     <UL><CODE>bPreserveExisting</CODE> -  whether to preserve the original content of nodeTo, default is    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setXpathNamespaces"><!-- --></A>
+   <H3>setXpathNamespaces</H3>
+   <PRE>&lt;static&gt; void <B>setXpathNamespaces</B>(oDoc, sNsSet)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="stripTags"><!-- --></A>
+   <H3>stripTags</H3>
+   <PRE>&lt;static&gt; Object <B>stripTags</B>(s)</PRE>
+   
+      <UL>strips tags from a markup string</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="xmlize"><!-- --></A>
+   <H3>xmlize</H3>
+   <PRE>&lt;static&gt; Object <B>xmlize</B>(anyObject, objectName, indentSpace)</PRE>
+   
+      <UL><p>Serialize any object to an XML string. All properties are serialized using the property name
+ as the XML element name. Array elements are rendered as <code>array-item</code> elements, 
+ using their index/key as the value of the <code>key</code> attribute.</p></UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>anyObject</CODE> -  the object to serialize  
+      </UL> 
+   
+     <UL><CODE>objectName</CODE> -  a name for that object  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the XML serializationj of the given object as a string 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Sarissa.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Reset.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Save.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Sarissa.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-MapScaleText.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-MapScaleText.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-MapScaleText.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ MapScaleText.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" MapScaleText.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-MapScaleText.js.html" 
+                                        target="classFrame">MapScaleText.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="MapScaleText.html" TARGET="classFrame">MapScaleText</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/MapTitle.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/MapTitle.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/MapTitle.html	(revision 4307)
@@ -0,0 +1,330 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+MapTitle
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="MapTitle";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-MapTitle.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="MapScaleText.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Measurement.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="MapTitle.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class MapTitle</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>MapTitle</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>MapTitle</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-MapTitle.js.html'>MapTitle.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="MapTitle.html#MapTitle()">MapTitle</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Displays the Title value from a Web Map Context document.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="MapTitle()"><!-- --></A><H3>
+MapTitle</H3>
+<PRE><B>MapTitle</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Displays the Title value from a Web Map Context document.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-MapTitle.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="MapScaleText.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Measurement.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="MapTitle.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Measurement.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Measurement.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Measurement.html	(revision 4307)
@@ -0,0 +1,671 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Measurement
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Measurement";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Measurement.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="MapTitle.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="MergeModels.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Measurement.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Measurement</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<a href='EditButtonBase.html'>EditButtonBase</a>
+                     |
+                     +--<b>Measurement</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Measurement</B>
+   
+      <DT>extends <a href='EditButtonBase.html'>EditButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Measurement.js.html'>Measurement.js</a></I><BR/><BR/><B>Author:</B> Imke Doerge AT geodan.nl  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#cursor">cursor</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="EditButtonBase.html">EditButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="EditButtonBase.html#cursor">cursor</a>, <a href="EditButtonBase.html#trm">trm</a>, <a href="EditButtonBase.html#defaultModelUrl">defaultModelUrl</a>, <a href="EditButtonBase.html#featureXpath">featureXpath</a>, <a href="EditButtonBase.html#appendOnEdit">appendOnEdit</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Measurement.html#Measurement()">Measurement</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      When this button is selected, clicks on the MapPane will add a
+ new point to a line and the total distance of the line will be calculated
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#clearMeasurementLine">clearMeasurementLine</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#createControl">createControl</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Interactive EditLine control.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#doAction">doAction</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Append a point to a line and calculate the distance between all
+ points on the line.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#instantiateControl">instantiateControl</A></B>(objRef, Control)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setFeature">setFeature</A></B>(objRef, feature)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 This will be called as defined in EditButtonBase.js.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#startAction">startAction</A></B>(pointGeometry)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="EditButtonBase.html">EditButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="EditButtonBase.html#doSelect">doSelect</a>, <a href="EditButtonBase.html#newSession">newSession</a>, <a href="EditButtonBase.html#handleFeatureInsert">handleFeatureInsert</a>, <a href="EditButtonBase.html#setEditingLayer">setEditingLayer</a>, <a href="EditButtonBase.html#initButton">initButton</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="cursor"><!-- --></A>
+   <H3>cursor</H3>
+   <PRE>Object&nbsp;<B>cursor</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Measurement()"><!-- --></A><H3>
+Measurement</H3>
+<PRE><B>Measurement</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   When this button is selected, clicks on the MapPane will add a
+ new point to a line and the total distance of the line will be calculated
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  The widget from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -   The parent model for this  widget.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Imke Doerge AT geodan.nl  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="clearMeasurementLine"><!-- --></A>
+   <H3>clearMeasurementLine</H3>
+   <PRE>void <B>clearMeasurementLine</B>(objRef)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="createControl"><!-- --></A>
+   <H3>createControl</H3>
+   <PRE>Object <B>createControl</B>(objRef)</PRE>
+   
+      <UL>Interactive EditLine control.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this object.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        {OpenLayers.Control} class of the OL control. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="doAction"><!-- --></A>
+   <H3>doAction</H3>
+   <PRE>void <B>doAction</B>(objRef)</PRE>
+   
+      <UL>Append a point to a line and calculate the distance between all
+ points on the line. This will be called by the OpenLayers control
+ for this widget in the context of the control.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>pointGeometry</CODE> -  OpenLayers Geometry of the point to add      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="instantiateControl"><!-- --></A>
+   <H3>instantiateControl</H3>
+   <PRE>Object <B>instantiateControl</B>(objRef, Control)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setFeature"><!-- --></A>
+   <H3>setFeature</H3>
+   <PRE>void <B>setFeature</B>(objRef, feature)</PRE>
+   
+      <UL>This will be called as defined in EditButtonBase.js. It is called
+ when measurement is finished (ie. when user double-clicks on the map)</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this widget  
+      </UL> 
+   
+     <UL><CODE>feature</CODE> -  complete measurement path - currently unused.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="startAction"><!-- --></A>
+   <H3>startAction</H3>
+   <PRE>void <B>startAction</B>(pointGeometry)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Measurement.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="MapTitle.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="MergeModels.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Measurement.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-OpenLSResponse.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-OpenLSResponse.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-OpenLSResponse.js.html	(revision 4307)
@@ -0,0 +1,192 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="OpenLSResponse.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>OpenLSResponse.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'OpenLSResponse.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="OpenLSResponse.html">OpenLSResponse</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Description: Display the OpenLS Geocoder response as html
+Author:      Steven Ottens AT geodan.nl
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: OpenLSResponse.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Render the response froma Geocoding request
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@author</span> Steven Ottens AT geodan nl
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> OpenLSResponse(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/DOMParser.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/DOMParser.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/DOMParser.html	(revision 4307)
@@ -0,0 +1,285 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+DOMParser
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="DOMParser";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="DeleteFeature.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="DragPan.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DOMParser.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class DOMParser</H2>
+<PRE>Object
+   |
+   +--<b>DOMParser</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>DOMParser</B>
+   
+
+</DL>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#parseFromString">parseFromString</A></B>(sXml, contentType)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Construct a new DOM Document from the given XMLstring
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="parseFromString"><!-- --></A>
+   <H3>parseFromString</H3>
+   <PRE>Object <B>parseFromString</B>(sXml, contentType)</PRE>
+   
+      <UL>Construct a new DOM Document from the given XMLstring</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>sXml</CODE> -  the given XML string  
+      </UL> 
+   
+     <UL><CODE>contentType</CODE> -  the content type of the document the given string represents (one of text/xml, application/xml, application/xhtml+xml).   
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        a new DOM Document from the given XML string 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="DeleteFeature.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="DragPan.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DOMParser.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/EditPoint.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/EditPoint.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/EditPoint.html	(revision 4307)
@@ -0,0 +1,424 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+EditPoint
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="EditPoint";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-EditPoint.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="EditLine.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="EditPolygon.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="EditPoint.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class EditPoint</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<a href='EditButtonBase.html'>EditButtonBase</a>
+                     |
+                     +--<b>EditPoint</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>EditPoint</B>
+   
+      <DT>extends <a href='EditButtonBase.html'>EditButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-EditPoint.js.html'>EditPoint.js</a></I><BR/><BR/><B>Author:</B> Cameron Shorter cameronATshorter.net  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="EditButtonBase.html">EditButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="EditButtonBase.html#cursor">cursor</a>, <a href="EditButtonBase.html#trm">trm</a>, <a href="EditButtonBase.html#defaultModelUrl">defaultModelUrl</a>, <a href="EditButtonBase.html#featureXpath">featureXpath</a>, <a href="EditButtonBase.html#appendOnEdit">appendOnEdit</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="EditPoint.html#EditPoint()">EditPoint</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      When this button is selected, clicks on the MapPane will add a
+ new point to a model.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#instantiateControl">instantiateControl</A></B>(objRef, Control)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="EditButtonBase.html">EditButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="EditButtonBase.html#createControl">createControl</a>, <a href="EditButtonBase.html#doSelect">doSelect</a>, <a href="EditButtonBase.html#newSession">newSession</a>, <a href="EditButtonBase.html#handleFeatureInsert">handleFeatureInsert</a>, <a href="EditButtonBase.html#setEditingLayer">setEditingLayer</a>, <a href="EditButtonBase.html#setFeature">setFeature</a>, <a href="EditButtonBase.html#initButton">initButton</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="EditPoint()"><!-- --></A><H3>
+EditPoint</H3>
+<PRE><B>EditPoint</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   When this button is selected, clicks on the MapPane will add a
+ new point to a model.
+ Requires an enclosing GML model.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  The node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -   The ButtonBar widget.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Cameron Shorter cameronATshorter.net  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="instantiateControl"><!-- --></A>
+   <H3>instantiateControl</H3>
+   <PRE>Object <B>instantiateControl</B>(objRef, Control)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-EditPoint.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="EditLine.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="EditPolygon.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="EditPoint.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Version.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Version.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Version.js.html	(revision 4307)
@@ -0,0 +1,189 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Version.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Version.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Version.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Version.html">Version</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Version.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Displays the mapbuilder version.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> Version(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-TipWidgetBase.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-TipWidgetBase.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-TipWidgetBase.js.html	(revision 4307)
@@ -0,0 +1,207 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TipWidgetBase.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TipWidgetBase.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TipWidgetBase.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="TipWidgetBase.html">TipWidgetBase</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: TipWidgetBase.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Base class for TipWidgetOL and similar widgets.
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@author</span> Andreas Hocevar andreas.hocevarATgmail.com
+ * <span class="attrib">@param</span> widgetNode      The widget node from the Config XML file.
+ * <span class="attrib">@param</span> model  The FeatureCollection model.
+ */</span>
+<span class="reserved">function</span> TipWidgetBase(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+  <span class="reserved">this</span>.width = <span class="reserved">this</span>.getProperty(<span class="literal">'mb:width'</span>, 200);
+  <span class="reserved">this</span>.height = <span class="reserved">this</span>.getProperty(<span class="literal">'mb:height'</span>, 150);
+  <span class="reserved">this</span>.opacity = <span class="reserved">this</span>.getProperty(<span class="literal">'mb:opacity'</span>, 1);
+  <span class="reserved">this</span>.backgroundColor = <span class="reserved">this</span>.getProperty(<span class="literal">'mb:backgroundColor'</span>, <span class="literal">'D0D0D0'</span>);
+  <span class="reserved">this</span>.border = <span class="reserved">this</span>.getProperty(<span class="literal">'mb:border'</span>, <span class="literal">'0px'</span>);
+<span class="comment">  
+  // store all relevant config properties in an object for handling</span>
+<span class="comment">  // different widget configurations in a MergeModel</span>
+  <span class="reserved">this</span>.config = new Object({
+        model: model,
+        stylesheet: <span class="reserved">this</span>.stylesheet,
+        width: <span class="reserved">this</span>.width,
+        height: <span class="reserved">this</span>.height,
+        opacity: <span class="reserved">this</span>.opacity,
+        backgroundColor: <span class="reserved">this</span>.backgroundColor,
+        border: <span class="reserved">this</span>.border
+  });
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-GeoRSS.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-GeoRSS.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-GeoRSS.js.html	(revision 4307)
@@ -0,0 +1,345 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="GeoRSS.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>GeoRSS.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'GeoRSS.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="GeoRSS.html">GeoRSS</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: GeoRSS.js 3882 2008-02-27 15:41:33Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/model/ModelBase.js"</span>);
+
+<span class="comment">/**
+ * Stores a GML Feature or FeatureCollection as defined by the
+ * Open Geospatial Consortium (http://www.opengeospatial.org/).
+ *
+ * WARNING: This model is only to be used if you do not want to embed the GeoRSS feed
+ * in the context doc. See also MAP-271
+ * <span class="attrib">@deprecated</span>
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ModelBase
+ * <span class="attrib">@author</span> Cameron Shorter
+ * <span class="attrib">@requires</span> Sarissa
+ * <span class="attrib">@param</span> modelNode The model's XML object node from the configuration document.
+ * <span class="attrib">@param</span> parent    The parent model for the object.
+  */</span>
+<span class="reserved">function</span> GeoRSS(modelNode, parent) {
+<span class="comment">  // Inherit the ModelBase functions and parameters</span>
+  ModelBase.apply(<span class="reserved">this</span>, new Array(modelNode, parent));
+
+  <span class="comment">/** init
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.initItems = <span class="reserved">function</span>(objRef) {
+    var items = objRef.doc.selectNodes(<span class="literal">"rdf:RDF/rss:item"</span>);
+    <span class="reserved">if</span>( items.length == 0 ) {
+      items = objRef.doc.selectNodes(<span class="literal">"atom:feed/atom:entry"</span>);
+     }
+   
+    <span class="reserved">for</span> (var i=0; i&lt;items.length; ++i) {
+      var item = items[i];
+      item.setAttribute(<span class="literal">"divid"</span>, <span class="literal">"RSS_Item_"</span>+mbIds.getId());
+    }
+  }
+<span class="comment">  // OBE this.addFirstListener("loadModel",this.initItems,this);</span>
+
+  <span class="comment">/**
+   * Returns the list of nodes selected by the nodeSelectpath
+   * <span class="attrib">@return</span> list of nodes selected 
+   */</span>
+  <span class="reserved">this</span>.getFeatureNodes = <span class="reserved">function</span>() {
+    <span class="reserved">return</span> <span class="reserved">this</span>.doc.selectNodes(<span class="reserved">this</span>.nodeSelectXpath);
+  }
+
+  <span class="comment">/**
+   * Returns a label for a node in the feature list
+   * <span class="attrib">@param</span> featureNode the feature node to selectfrom
+   * <span class="attrib">@return</span> a label for this feature
+   */</span>
+  <span class="reserved">this</span>.getFeatureName = <span class="reserved">function</span>(featureNode) {
+    var labelNode = featureNode.selectSingleNode(<span class="literal">"rss:title"</span>);
+    <span class="reserved">if</span>( labelNode == null )
+      labelNode = featureNode.selectSingleNode(<span class="literal">"atom:title"</span>);
+    <span class="reserved">return</span> labelNode?getNodeValue(labelNode):mbGetMessage(<span class="literal">"noRssTitle"</span>);
+  }
+
+  <span class="comment">/**
+   * Returns an ID value for a node in the feature list
+   * <span class="attrib">@param</span> featureNode the feature node to selectfrom
+   * <span class="attrib">@return</span> ID for this feature
+   */</span>
+  <span class="reserved">this</span>.getFeatureId = <span class="reserved">function</span>(featureNode) {
+    var id = featureNode.getAttribute(<span class="literal">"divid"</span>)
+    <span class="reserved">if</span>( id )
+      <span class="reserved">return</span> id;
+      
+    <span class="reserved">return</span> <span class="literal">"no_id"</span>;
+  }
+
+  <span class="comment">/**
+   * Returns a point geometry for the feature
+   * <span class="attrib">@param</span> featureNode the feature node to select from
+   * <span class="attrib">@return</span> the geometric point for the node
+   */</span>
+  <span class="reserved">this</span>.getFeaturePoint = <span class="reserved">function</span>(featureNode) {
+    <span class="reserved">if</span> (featureNode.selectSingleNode(<span class="literal">"geo:long"</span>)) {
+      var pointX = getNodeValue(featureNode.selectSingleNode(<span class="literal">"geo:long"</span>));
+      var pointY = getNodeValue(featureNode.selectSingleNode(<span class="literal">"geo:lat"</span>));
+      <span class="reserved">return</span> new Array(pointX, pointY);
+    } <span class="reserved">else</span> {
+       var pos = featureNode.selectSingleNode(<span class="literal">"georss:where/gml:Point/gml:pos"</span>)
+       <span class="reserved">if</span>( pos != null ) {
+       var coordstr = getNodeValue(pos);
+<span class="comment">       //alert("coords:"+coordstr );</span>
+       var coords = coordstr.split(<span class="literal">" "</span>)
+       var pointX = coords[0]
+       var pointY = coords[1]
+       <span class="reserved">return</span> new Array(pointX, pointY);
+       } <span class="reserved">else</span> {
+         <span class="reserved">return</span> new Array(0,0);  //or some other error to <span class="reserved">return</span>?
+       }
+    }
+  }
+ 
+ <span class="comment">/**
+   * Returns the geometry for the feature
+   * <span class="attrib">@param</span> featureNode the feature node to select from
+   * <span class="attrib">@return</span> the geometric point for the node
+   */</span>
+  <span class="reserved">this</span>.getFeatureGeometry = <span class="reserved">function</span>(featureNode) {
+    <span class="reserved">if</span> (featureNode.selectSingleNode(<span class="literal">"geo:long"</span>)) {
+      var pointX = getNodeValue(featureNode.selectSingleNode(<span class="literal">"geo:long"</span>));
+      var pointY = getNodeValue(featureNode.selectSingleNode(<span class="literal">"geo:lat"</span>));
+      <span class="reserved">return</span> <span class="literal">"POINT "</span> + pointX + <span class="literal">","</span> + pointY;
+    } 
+      
+    var pos = featureNode.selectSingleNode(<span class="literal">"georss:where/gml:Point/gml:pos"</span>)
+    <span class="reserved">if</span>( pos != null ) {
+      var coordstr = getNodeValue(pos);
+      <span class="reserved">return</span> <span class="literal">"POINT "</span> + coordstr;
+    } 
+    
+    var posList = featureNode.selectSingleNode(<span class="literal">"georss:where/gml:LineString/gml:posList"</span>)
+    <span class="reserved">if</span>( posList != null ) { //WARNING: could overflow so get all nodes
+      var children = posList.childNodes;       
+      var count = children.length;
+      var text=<span class="literal">""</span>;     
+      <span class="reserved">for</span>( var i=0; i&lt;count; i++ ) {
+        text += children[i].nodeValue;
+      }
+<span class="comment">      //alert("count:"+ count + " length:"+text.length)</span>
+      
+      <span class="reserved">return</span> <span class="literal">"LINESTRING "</span> + text;
+    }
+ 
+    var posList = featureNode.selectSingleNode(<span class="literal">"georss:where/gml:Polygon/gml:exterior/gml:LinearRing"</span>)
+    <span class="reserved">if</span>( posList != null ) {
+      var coordstr = getNodeValue(posList);
+      <span class="reserved">return</span> <span class="literal">"POLYGON "</span> + coordstr;
+    } 
+    
+    alert(mbGetMessage(<span class="literal">"invalidGmlGeom"</span>));
+    <span class="reserved">return</span> null
+  }
+  
+  <span class="comment">/**
+    * Get the GML Node out of the RSS feed
+    */</span>
+  <span class="reserved">this</span>.getFeatureGml = <span class="reserved">function</span>(featureNode) {
+    var where = featureNode.selectSingleNode(<span class="literal">"georss:where"</span>)
+    <span class="reserved">if</span>( where != null ) {
+      var gml = where.firstChild; 
+      <span class="reserved">return</span> gml;
+    } <span class="reserved">else</span> {
+      <span class="reserved">return</span> null;
+    }
+  }
+  
+  
+  <span class="comment">/**
+  * Returns a specific icon for that entry
+  * <span class="attrib">@param</span> featureNode the feature node to select from
+  * <span class="attrib">@return</span> the geometric point for the node
+  */</span>
+  <span class="reserved">this</span>.getFeatureIcon = <span class="reserved">function</span>( featureNode ) {
+    <span class="reserved">if</span>( featureNode == null )
+      <span class="reserved">return</span> null;
+<span class="comment">      
+    // look for an icon tag</span>
+    var icon = featureNode.selectSingleNode(<span class="literal">"atom:icon"</span>);
+    <span class="reserved">if</span> (icon != undefined) {
+      <span class="reserved">return</span> getNodeValue(icon);
+    } <span class="reserved">else</span> {
+      <span class="reserved">return</span> null;
+    }
+  }
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/EventLog.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/EventLog.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/EventLog.html	(revision 4307)
@@ -0,0 +1,330 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+EventLog
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="EventLog";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-EventLog.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="EditPolygon.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Extent.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="EventLog.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class EventLog</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>EventLog</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>EventLog</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-EventLog.js.html'>EventLog.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="EventLog.html#EventLog()">EventLog</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Show an event log, used for debugging.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="EventLog()"><!-- --></A><H3>
+EventLog</H3>
+<PRE><B>EventLog</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Show an event log, used for debugging.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-EventLog.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="EditPolygon.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Extent.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="EventLog.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-PanZoomBar.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-PanZoomBar.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-PanZoomBar.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ PanZoomBar.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" PanZoomBar.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-PanZoomBar.js.html" 
+                                        target="classFrame">PanZoomBar.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="PanZoomBar.html" TARGET="classFrame">PanZoomBar</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Icon.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/docs/jsdoc/Icon.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/docs/jsdoc/Loading2.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Loading2.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Loading2.html	(revision 4307)
@@ -0,0 +1,588 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Loading2
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Loading2";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Loading2.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Loading.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Locations.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Loading2.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Loading2</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<b>Loading2</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Loading2</B>
+   
+      <DT>extends <a href='WidgetBase.html'>WidgetBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Loading2.js.html'>Loading2.js</a></I><BR/><BR/><B>Author:</B> Mike Adair  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#containerNodeId">containerNodeId</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#htmlTagId">htmlTagId</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#imageSrc">imageSrc</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#mapContainerNode">mapContainerNode</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#textMessage">textMessage</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#updateMessage">updateMessage</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Loading2.html#Loading2()">Loading2</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      This widget is used to display ModelStatus messages.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#clear">clear</A></B>(objRef, message)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Remove the contents of the HTML tag for this widget.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#paint">paint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Render the widget.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#update">update</A></B>(objRef, message)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Updates the loading indicator with a new message as a "updateStatus" listener.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="containerNodeId"><!-- --></A>
+   <H3>containerNodeId</H3>
+   <PRE>Object&nbsp;<B>containerNodeId</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="htmlTagId"><!-- --></A>
+   <H3>htmlTagId</H3>
+   <PRE>Object&nbsp;<B>htmlTagId</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="imageSrc"><!-- --></A>
+   <H3>imageSrc</H3>
+   <PRE>Object&nbsp;<B>imageSrc</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="mapContainerNode"><!-- --></A>
+   <H3>mapContainerNode</H3>
+   <PRE>Object&nbsp;<B>mapContainerNode</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="textMessage"><!-- --></A>
+   <H3>textMessage</H3>
+   <PRE>Object&nbsp;<B>textMessage</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="updateMessage"><!-- --></A>
+   <H3>updateMessage</H3>
+   <PRE>Object&nbsp;<B>updateMessage</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Loading2()"><!-- --></A><H3>
+Loading2</H3>
+<PRE><B>Loading2</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   This widget is used to display ModelStatus messages.  This widget is used
+ like any other except that it is clreaed on the loadModel event and painted
+ on the "newModel" and "modelStatus" events.
+ Optional config parameters are an image source (usually an animated GIF) in 
+ the imageSource property, an optional static text message to be displayed as 
+ the textMessage property and if the widget is to be displayed over top of a 
+ map you can also specify the mapContainerId property.
+ Dynamic message can be displayed by listening on the "modelStatus" event which
+ sends a message as the parameter.  Send a null message param to clear the widget.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Mike Adair  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="clear"><!-- --></A>
+   <H3>clear</H3>
+   <PRE>void <B>clear</B>(objRef, message)</PRE>
+   
+      <UL>Remove the contents of the HTML tag for this widget.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Reference to this object.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="paint"><!-- --></A>
+   <H3>paint</H3>
+   <PRE>void <B>paint</B>(objRef)</PRE>
+   
+      <UL>Render the widget.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to widget object.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="update"><!-- --></A>
+   <H3>update</H3>
+   <PRE>void <B>update</B>(objRef, message)</PRE>
+   
+      <UL>Updates the loading indicator with a new message as a "updateStatus" listener.
+ Send an null message to clear the loading indicator.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Reference to this object.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Loading2.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Loading.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Locations.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Loading2.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Locations.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Locations.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Locations.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Locations.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Locations.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Locations.js.html" 
+                                        target="classFrame">Locations.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Locations.html" TARGET="classFrame">Locations</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-TransactionResponse.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-TransactionResponse.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-TransactionResponse.js.html	(revision 4307)
@@ -0,0 +1,192 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="TransactionResponse.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>TransactionResponse.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'TransactionResponse.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="TransactionResponse.html">TransactionResponse</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Cameron Shorter
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: TransactionResponse.js 1671 2005-09-20 02:37:54Z madair1 $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Render the response from a WFS request.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@author</span> Cameron Shorter
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> TransactionResponse(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Model.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Model.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Model.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Model.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Model.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Model.js.html" 
+                                        target="classFrame">Model.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Model.html" TARGET="classFrame">Model</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/EditLine.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/EditLine.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/EditLine.html	(revision 4307)
@@ -0,0 +1,423 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+EditLine
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="EditLine";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-EditLine.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="EditContext.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="EditPoint.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="EditLine.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class EditLine</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<a href='EditButtonBase.html'>EditButtonBase</a>
+                     |
+                     +--<b>EditLine</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>EditLine</B>
+   
+      <DT>extends <a href='EditButtonBase.html'>EditButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-EditLine.js.html'>EditLine.js</a></I><BR/><BR/><B>Author:</B> Cameron Shorter cameronATshorter.net  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="EditButtonBase.html">EditButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="EditButtonBase.html#cursor">cursor</a>, <a href="EditButtonBase.html#trm">trm</a>, <a href="EditButtonBase.html#defaultModelUrl">defaultModelUrl</a>, <a href="EditButtonBase.html#featureXpath">featureXpath</a>, <a href="EditButtonBase.html#appendOnEdit">appendOnEdit</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="EditLine.html#EditLine()">EditLine</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      When this button is selected, clicks on the MapPane will add a
+ new point to a line.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#instantiateControl">instantiateControl</A></B>(objRef, Control)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="EditButtonBase.html">EditButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="EditButtonBase.html#createControl">createControl</a>, <a href="EditButtonBase.html#doSelect">doSelect</a>, <a href="EditButtonBase.html#newSession">newSession</a>, <a href="EditButtonBase.html#handleFeatureInsert">handleFeatureInsert</a>, <a href="EditButtonBase.html#setEditingLayer">setEditingLayer</a>, <a href="EditButtonBase.html#setFeature">setFeature</a>, <a href="EditButtonBase.html#initButton">initButton</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="EditLine()"><!-- --></A><H3>
+EditLine</H3>
+<PRE><B>EditLine</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   When this button is selected, clicks on the MapPane will add a
+ new point to a line.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  The from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -   The ButtonBar widget.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Cameron Shorter cameronATshorter.net  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="instantiateControl"><!-- --></A>
+   <H3>instantiateControl</H3>
+   <PRE>Object <B>instantiateControl</B>(objRef, Control)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-EditLine.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="EditContext.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="EditPoint.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="EditLine.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/TabbedContent.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/TabbedContent.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/TabbedContent.html	(revision 4307)
@@ -0,0 +1,620 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+TabbedContent
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="TabbedContent";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TabbedContent.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="StyledLayerDescriptor.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Timer.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TabbedContent.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class TabbedContent</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>TabbedContent</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>TabbedContent</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-TabbedContent.js.html'>TabbedContent.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#selectedTab">selectedTab</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#tabAction">tabAction</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#tabList">tabList</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#textNodeXpath">textNodeXpath</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="TabbedContent.html#TabbedContent()">TabbedContent</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to display various other widgets by selecting a tab in a tab bar.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addWidget">addWidget</A></B>(tabWidget,tabLabel)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adds a widget to the list of tabs (TBD: not yet working/tested)
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#initTabs">initTabs</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Initializes the tab list and sets the label for each tab
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#prePaint">prePaint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 sett the doc to be styled to the TabbedContent node from config
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#selectTab">selectTab</A></B>(tabWidget)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Selects a tab, which has the effect of displaying that widget in the 
+ workspace
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="selectedTab"><!-- --></A>
+   <H3>selectedTab</H3>
+   <PRE>Object&nbsp;<B>selectedTab</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="tabAction"><!-- --></A>
+   <H3>tabAction</H3>
+   <PRE>Object&nbsp;<B>tabAction</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="tabList"><!-- --></A>
+   <H3>tabList</H3>
+   <PRE>Object&nbsp;<B>tabList</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="textNodeXpath"><!-- --></A>
+   <H3>textNodeXpath</H3>
+   <PRE>Object&nbsp;<B>textNodeXpath</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="TabbedContent()"><!-- --></A><H3>
+TabbedContent</H3>
+<PRE><B>TabbedContent</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to display various other widgets by selecting a tab in a tab bar.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  This widget's object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model that this widget is a view of.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="addWidget"><!-- --></A>
+   <H3>addWidget</H3>
+   <PRE>void <B>addWidget</B>(tabWidget,tabLabel)</PRE>
+   
+      <UL>Adds a widget to the list of tabs (TBD: not yet working/tested)</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widget</CODE> -  the widget to be added to the list of tabs  
+      </UL> 
+   
+     <UL><CODE>order</CODE> -   the order within the tabs      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="initTabs"><!-- --></A>
+   <H3>initTabs</H3>
+   <PRE>void <B>initTabs</B>(objRef)</PRE>
+   
+      <UL>Initializes the tab list and sets the label for each tab</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  a pointer to this object      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="prePaint"><!-- --></A>
+   <H3>prePaint</H3>
+   <PRE>void <B>prePaint</B>(objRef)</PRE>
+   
+      <UL>sett the doc to be styled to the TabbedContent node from config</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  a pointer to this object      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="selectTab"><!-- --></A>
+   <H3>selectTab</H3>
+   <PRE>void <B>selectTab</B>(tabWidget)</PRE>
+   
+      <UL>Selects a tab, which has the effect of displaying that widget in the 
+ workspace</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>tabWidget</CODE> -  the widget to be selected      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TabbedContent.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="StyledLayerDescriptor.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Timer.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TabbedContent.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WpsDescribeProcess.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WpsDescribeProcess.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WpsDescribeProcess.js.html	(revision 4307)
@@ -0,0 +1,236 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="WpsDescribeProcess.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>WpsDescribeProcess.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'WpsDescribeProcess.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="WpsDescribeProcess.html">WpsDescribeProcess</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: WpsDescribeProcess.js 3657 2007-11-29 09:04:26Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/model/ModelBase.js"</span>);
+
+<span class="comment">/**
+ * Stores a Web Processing service (WPS) Capabilities document as defined by the 
+ * Open Geospatial Consortium (http://www.opengeospatial.org/).
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ModelBase
+ * <span class="attrib">@author</span> Mike Adair
+ * <span class="attrib">@param</span> modelNode   The model's XML object node from the configuration document.
+ * <span class="attrib">@param</span> parent The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> WpsDescribeProcess(modelNode, parent) {
+<span class="comment">  // Inherit the ModelBase functions and parameters</span>
+  ModelBase.apply(<span class="reserved">this</span>, new Array(modelNode, parent));
+
+  <span class="reserved">this</span>.namespace = <span class="literal">"xmlns:wps='http://www.opengis.net/wps' xmlns:ows='http://www.opengis.net/ows' xmlns:xlink='http://www.w3.org/1999/xlink'"</span>;
+
+  <span class="comment">/**
+   * Returns the serverUrl for the WFS request passed in with the specified
+   * HTTP method from the capabilities doc.
+   * <span class="attrib">@param</span> requestName the WFS request to get the URL for
+   * <span class="attrib">@param</span> method http method for the request
+   * <span class="attrib">@param</span> feature ignored for WFS docs
+   * <span class="attrib">@return</span> URL for the specified request with the specified method
+   */</span>
+  <span class="reserved">this</span>.getServerUrl = <span class="reserved">function</span>(requestName, method, feature) {
+    <span class="reserved">return</span> <span class="reserved">this</span>.parentModel.getServerUrl(requestName, method, feature);
+  }
+
+  <span class="comment">/**
+   * Returns the version for the wps
+   * <span class="attrib">@return</span> the wps version
+   */</span>
+  <span class="reserved">this</span>.getVersion = <span class="reserved">function</span>() {
+    var xpath = <span class="literal">"/wps:ProcessDescription"</span>;
+    <span class="reserved">return</span> <span class="reserved">this</span>.doc.selectSingleNode(xpath).getAttribute(<span class="literal">"version"</span>);
+  }
+
+  <span class="comment">/**
+   * Get HTTP method used to retreive this model
+   * <span class="attrib">@return</span> the HTTP method 
+   */</span>
+  <span class="reserved">this</span>.getMethod = <span class="reserved">function</span>() {
+    <span class="reserved">return</span> <span class="reserved">this</span>.method;
+  }
+
+  <span class="comment">/**
+   * Returns the featureType node with the specified name from the list of nodes
+   * selected by the nodeSelectXpath from the capabilities doc.
+   * <span class="attrib">@param</span> featureName name of the featureType to look up
+   * <span class="attrib">@return</span> the featureType node with the specified name.
+   */</span>
+  <span class="reserved">this</span>.getFeatureNode = <span class="reserved">function</span>(featureName) {
+    <span class="reserved">return</span> <span class="reserved">this</span>.doc.selectSingleNode(<span class="reserved">this</span>.nodeSelectXpath+<span class="literal">"[wps:Name='"</span>+featureName+<span class="literal">"']"</span>);
+  }
+
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-OwsContext.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-OwsContext.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-OwsContext.js.html	(revision 4307)
@@ -0,0 +1,793 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="OwsContext.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>OwsContext.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'OwsContext.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="OwsContext.html">OwsContext</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: OwsContext.js 3887 2008-02-27 18:18:53Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/model/ModelBase.js"</span>);
+
+<span class="comment">/**
+ * Stores an OWS Context document as defined by the OGC interoperability
+ * experiment. This model should be eventually merged with the standard OGC
+ * context doc.
+ * Listeners supported by this model:
+ * "refresh" called when window parameters (width/height, bbox) are changed
+ * "hidden" called when visibilty of a layer is changed
+ * "wfs_getFeature" called when feature resources are loaded
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ModelBase
+ * <span class="attrib">@author</span> Mike Adair
+ * <span class="attrib">@requires</span> Sarissa
+ *
+ */</span>
+<span class="reserved">function</span> OwsContext(modelNode, parent) {
+<span class="comment">  // Inherit the ModelBase functions and parameters</span>
+  ModelBase.apply(<span class="reserved">this</span>, new Array(modelNode, parent));
+<span class="comment">
+  // MAP-186</span>
+  <span class="reserved">this</span>.namespace = <span class="reserved">this</span>.namespace ? <span class="reserved">this</span>.namespace.replace(/\<span class="literal">"/g, "</span><span class="literal">'")+" " : '</span><span class="literal">';
+  this.namespace = this.namespace + "xmlns:wmc='</span>http://www.opengis.net/context<span class="literal">' xmlns:ows='</span>http://www.opengis.net/ows<span class="literal">' xmlns:ogc='</span>http://www.opengis.net/ogc<span class="literal">' xmlns:xsl='</span>http://www.w3.org/1999/XSL/Transform<span class="literal">' xmlns:xlink='</span>http://www.w3.org/1999/xlink<span class="literal">' xmlns:gml='</span>http://www.opengis.net/gml<span class="literal">' xmlns:wfs='</span>http://www.opengis.net/wfs<span class="literal">' xmlns:sld='</span>http://www.opengis.net/sld<span class="literal">'";
+
+  /**
+   * Change a Layer'</span>s visibility.
+   * @param layerId  The name of the layer that is to be changed
+   * @param hidden     String with the value to be set; 1=hidden, 0=visible.
+   */
+  <span class="reserved">this</span>.setHidden=<span class="reserved">function</span>(layerId, hidden){
+<span class="comment">    // Set the hidden attribute in the Context</span>
+    var hiddenValue = <span class="literal">"0"</span>;
+    <span class="reserved">if</span> (hidden) hiddenValue = <span class="literal">"1"</span>;
+
+    var layer=<span class="reserved">this</span>.getLayer(layerId);
+    <span class="reserved">if</span> (layer) layer.setAttribute(<span class="literal">"hidden"</span>, hiddenValue);
+<span class="comment">    // Call the listeners</span>
+    <span class="reserved">this</span>.callListeners(<span class="literal">"hidden"</span>, layerId);
+  }
+
+  <span class="comment">/**
+   * Get the layer's visiblity attribute value.
+   * <span class="attrib">@param</span> layerId  The name of the layer that is to be changed
+   * <span class="attrib">@return</span> hidden  String with the value; 1=hidden, 0=visible.
+   */</span>
+  <span class="reserved">this</span>.getHidden=<span class="reserved">function</span>(layerId){
+    var hidden=1;
+    var layer=<span class="reserved">this</span>.getFeatureNode(layerId)
+    <span class="reserved">if</span> (layer) hidden = layer.getAttribute(<span class="literal">"hidden"</span>);
+    <span class="reserved">return</span> hidden;
+  }
+
+  <span class="comment">/**
+   * Get the BoundingBox value from the Context document.
+   * <span class="attrib">@return</span> BoundingBox array with the sequence (xmin,ymin,xmax,ymax).
+   */</span>
+  <span class="reserved">this</span>.getBoundingBox=<span class="reserved">function</span>() {
+    var bbox = new Array();
+<span class="comment">    // Extract BoundingBox from the context</span>
+    var lowerLeft=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:General/ows:BoundingBox/ows:LowerCorner"</span>);
+    var upperRight=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:General/ows:BoundingBox/ows:UpperCorner"</span>);
+    var strBbox = new String(getNodeValue(lowerLeft) + <span class="literal">" "</span> + getNodeValue(upperRight)).split(<span class="literal">" "</span>);
+    <span class="reserved">for</span> (i=0; i&lt;strBbox.length; ++i) {
+      bbox[i] = parseFloat(strBbox[i]);
+    }
+    <span class="reserved">return</span> bbox;
+  }
+
+  <span class="comment">/**
+   * Set the BoundingBox element and call the refresh listeners
+   * <span class="attrib">@param</span> boundingBox array in the sequence (xmin, ymin, xmax, ymax).
+   */</span>
+  <span class="reserved">this</span>.setBoundingBox=<span class="reserved">function</span>(boundingBox) {
+<span class="comment">    // Set BoundingBox in context</span>
+    var lowerLeft=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:General/ows:BoundingBox/ows:LowerCorner"</span>);
+    lowerLeft.firstChild.nodeValue = boundingBox[0] + <span class="literal">" "</span> + boundingBox[1];
+    var upperRight=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:General/ows:BoundingBox/ows:UpperCorner"</span>);
+    upperRight.firstChild.nodeValue = boundingBox[2] + <span class="literal">" "</span> + boundingBox[3];
+<span class="comment">    // Call the listeners</span>
+    <span class="reserved">this</span>.callListeners(<span class="literal">"bbox"</span>, boundingBox);
+  }
+
+  <span class="comment">/**
+   * Set the BoundingBox element and call the refresh listeners
+   * <span class="attrib">@param</span> boundingBox array in the sequence (xmin, ymin, xmax, ymax).
+   */</span>
+  <span class="reserved">this</span>.initBbox=<span class="reserved">function</span>(objRef) {
+<span class="comment">    // Set BoundingBox in context from URL CGI params</span>
+    <span class="reserved">if</span> (window.cgiArgs[<span class="literal">"bbox"</span>]) {   //set as minx,miny,maxx,maxy
+      var bbox = window.cgiArgs[<span class="literal">"bbox"</span>].split(<span class="literal">','</span>);
+      objRef.setBoundingBox(bbox);
+    }
+  }
+  <span class="reserved">this</span>.addListener( <span class="literal">"loadModel"</span>, <span class="reserved">this</span>.initBbox, <span class="reserved">this</span> );
+<span class="comment">  //this.addListener( "contextLoaded", this.initBbox, this );</span>
+
+  <span class="comment">/**
+   * Set the aoi param and call the refresh listeners
+   * <span class="attrib">@param</span> boundingBox array in the sequence (xmin, ymin, xmax, ymax).
+   */</span>
+  <span class="reserved">this</span>.initAoi=<span class="reserved">function</span>(objRef) {
+<span class="comment">    // Set AOI of context from URL CGI params</span>
+    <span class="reserved">if</span> (window.cgiArgs[<span class="literal">"aoi"</span>]) {      //set as ul,lr point arrays
+      var aoi = window.cgiArgs[<span class="literal">"aoi"</span>].split(<span class="literal">','</span>);
+      objRef.setParam(<span class="literal">"aoi"</span>,new Array(new Array(aoi[0],aoi[3]),new Array(aoi[2],aoi[1])));
+    }
+  }
+  <span class="reserved">this</span>.addListener( <span class="literal">"loadModel"</span>, <span class="reserved">this</span>.initAoi, <span class="reserved">this</span> );
+<span class="comment">  //MA this.addListener( "contextLoaded", this.initAoi, this );</span>
+
+  <span class="comment">/**
+   * Set the Spatial Reference System for the context document.
+   * <span class="attrib">@param</span> srs The Spatial Reference System.
+   */</span>
+  <span class="reserved">this</span>.setSRS=<span class="reserved">function</span>(srs) {
+    var bbox=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:General/ows:BoundingBox"</span>);
+    bbox.setAttribute(<span class="literal">"crs"</span>,srs);
+    <span class="reserved">this</span>.callListeners(<span class="literal">"srs"</span>);
+  }
+
+  <span class="comment">/**
+   * Get the Spatial Reference System from the context document.
+   * <span class="attrib">@return</span> srs The Spatial Reference System.
+   */</span>
+  <span class="reserved">this</span>.getSRS=<span class="reserved">function</span>() {
+    var bbox=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:General/ows:BoundingBox"</span>);
+    srs=bbox.getAttribute(<span class="literal">"crs"</span>);
+    srs = srs ? srs : <span class="literal">'EPSG:4326'</span>;
+    <span class="reserved">return</span> srs;
+  }
+
+  <span class="comment">/**
+   * Get the Projection object from the context document.
+   * <span class="attrib">@return</span> Proj Object of  The Spatial Reference System.
+   */</span>
+  <span class="reserved">this</span>.initProj=<span class="reserved">function</span>(objRef) {
+    objRef.proj=new OpenLayers.Projection(objRef.getSRS());
+  }
+  <span class="reserved">this</span>.addFirstListener( <span class="literal">"loadModel"</span>, <span class="reserved">this</span>.initProj, <span class="reserved">this</span> );
+
+  <span class="comment">/**
+   * Get the Window width.
+   * <span class="attrib">@return</span> width The width of map window from the context document
+   */</span>
+  <span class="reserved">this</span>.getWindowWidth=<span class="reserved">function</span>() {
+    var win=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:General/wmc:Window"</span>);
+    <span class="reserved">return</span> win.getAttribute(<span class="literal">"width"</span>);
+  }
+
+  <span class="comment">/**
+   * Set the Window width.
+   * <span class="attrib">@param</span> width The width of map window to set in the context document
+   */</span>
+  <span class="reserved">this</span>.setWindowWidth=<span class="reserved">function</span>(width) {
+    var win=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:General/wmc:Window"</span>);
+    win.setAttribute(<span class="literal">"width"</span>, width);
+    <span class="reserved">this</span>.callListeners(<span class="literal">"resize"</span>);
+  }
+
+  <span class="comment">/**
+   * Get the Window height.
+   * <span class="attrib">@return</span> height The height of map window from the context document.
+   */</span>
+  <span class="reserved">this</span>.getWindowHeight=<span class="reserved">function</span>() {
+    var win=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:General/wmc:Window"</span>);
+    <span class="reserved">return</span> win.getAttribute(<span class="literal">"height"</span>);
+  }
+
+  <span class="comment">/**
+   * Set the Window height.
+   * <span class="attrib">@param</span> height The height of map window to set in the context document
+   */</span>
+  <span class="reserved">this</span>.setWindowHeight=<span class="reserved">function</span>(height) {
+    var win=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:General/wmc:Window"</span>);
+    win.setAttribute(<span class="literal">"height"</span>, height);
+    <span class="reserved">this</span>.callListeners(<span class="literal">"resize"</span>);
+  }
+
+  <span class="comment">/**
+   * Returns the width/height of the map window as an array
+   * Added by Andreas Hocevar for compatibility with Context.js
+   */</span>
+  <span class="reserved">this</span>.getWindowSize=<span class="reserved">function</span>() {
+    var win=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:General/wmc:Window"</span>);
+    <span class="reserved">return</span> new Array(win.getAttribute(<span class="literal">"width"</span>), win.getAttribute(<span class="literal">"height"</span>));
+  }
+
+  <span class="comment">/**
+   * Set the Window width and height in one function call to avoid a resize event in between
+   * setting width and height, because that causes checkBbox to be triggered, which adjusts the
+   * bbox then when it should not yet be adjusted.
+   * Based on setWindowSize by VTS in Context.js
+   * Added by Andreas Hocevar for compatibility with Context.js
+   * <span class="attrib">@param</span> size Size of the map window as (width, height) array
+   */</span>
+  <span class="reserved">this</span>.setWindowSize=<span class="reserved">function</span>(size) {
+    var win=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:General/wmc:Window"</span>);
+    var width = size[0];
+    var height = size[1];
+    win.setAttribute(<span class="literal">"width"</span>, width);
+    win.setAttribute(<span class="literal">"height"</span>, height);
+    <span class="reserved">this</span>.callListeners(<span class="literal">"resize"</span>);
+  }
+
+  <span class="comment">/**
+   * returns a node that has the specified feature name in the context doc
+   * <span class="attrib">@param</span> featureName Name element value to return
+   * <span class="attrib">@return</span> the node from the context doc with the specified feature name
+   */</span>
+  <span class="reserved">this</span>.getFeatureNode = <span class="reserved">function</span>(layerId) {
+    <span class="reserved">if</span>( <span class="reserved">this</span>.doc ) {
+<span class="comment">
+      // Find feature by id</span>
+      var feature = <span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"//wmc:ResourceList/*[@id='"</span>+layerId+<span class="literal">"']"</span>);
+<span class="comment">
+      // Fallback: find feature by name</span>
+      <span class="reserved">if</span> (feature == null) {
+        feature = <span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"//wmc:ResourceList/*[wmc:Name='"</span>+layerId+<span class="literal">"']"</span>);
+      }
+
+      <span class="reserved">if</span>(feature == null ) {
+        alert(mbGetMessage(<span class="literal">"featureNotFoundOwsContext"</span>));
+      }
+
+      <span class="reserved">return</span> feature;
+    }
+  }
+
+  <span class="comment">/**
+   * Returns the serverUrl for the layer passed in as the feature argument.
+   * <span class="attrib">@param</span> requestName ignored for context docs (only GetMap supported)
+   * <span class="attrib">@param</span> method ignored for context docs (only GET supported)
+   * <span class="attrib">@param</span> feature the node for the feature from the context doc
+   * <span class="attrib">@return</span> height String URL for the GetMap request
+   */</span>
+  <span class="reserved">this</span>.getServerUrl = <span class="reserved">function</span>(requestName, method, feature) {
+    var service = requestName.split(<span class="literal">":"</span>);
+    <span class="reserved">if</span> (service.length &gt; 0) {
+      service = service[0].toUpperCase();
+    }
+    var url = feature.selectSingleNode(<span class="literal">"wmc:Server[@service='OGC:"</span>+service+<span class="literal">"']/wmc:OnlineResource"</span>).getAttribute(<span class="literal">"xlink:href"</span>);
+    <span class="reserved">if</span> (!url) {
+<span class="comment">      // fallback to default service</span>
+      url = feature.selectSingleNode(<span class="literal">"wmc:Server/wmc:OnlineResource"</span>).getAttribute(<span class="literal">"xlink:href"</span>);
+    }
+    <span class="reserved">return</span> url;
+  }
+
+  <span class="comment">/**
+   * Returns the WMS version for the layer passed in as the feature argument
+   * <span class="attrib">@param</span> feature the node for the feature from the context doc
+   * <span class="attrib">@return</span> the WMS GetMap version for the Layer.
+   */</span>
+  <span class="reserved">this</span>.getVersion = <span class="reserved">function</span>(feature) {
+    <span class="reserved">return</span> feature.selectSingleNode(<span class="literal">"wmc:Server"</span>).getAttribute(<span class="literal">"version"</span>);
+  }
+
+  <span class="comment">/**
+   * Get HTTP method for the specified feature
+   * <span class="attrib">@param</span> feature the Layer node from the context doc
+   * <span class="attrib">@return</span> the HTTP method to get the feature with
+   */</span>
+  <span class="reserved">this</span>.getMethod = <span class="reserved">function</span>(feature) {
+    <span class="reserved">return</span> feature.selectSingleNode(<span class="literal">"wmc:Server/wmc:OnlineResource"</span>).getAttribute(<span class="literal">"wmc:method"</span>);
+  }
+
+  <span class="comment">/**
+   * Return the service type of the bottom layer in the layer list.
+   * This is used to match navigation tools with the basemap.
+   */</span>
+  <span class="reserved">this</span>.getBaseLayerService=<span class="reserved">function</span>(){
+<span class="comment">    //x=this.doc.selectSingleNode("/wmc:OWSContext/wmc:ResourceList/wmc:Layer[last()]/wmc:Server/<span class="attrib">@service</span>");</span>
+    x=<span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:ResourceList/wmc:Layer[last()]/wmc:Server"</span>);
+    s=x.getAttribute(<span class="literal">"service"</span>);
+<span class="comment">    //alert("OwsContext.getBaseLayerService: s="+s);</span>
+    <span class="reserved">return</span> s;
+  }
+
+  <span class="comment">/**
+   * listener method which loads WFS features from the context doc, after WMS
+   * layers are loaded.
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.loadFeatures = <span class="reserved">function</span>(objRef) {
+    var nodeSelectXpath = objRef.nodeSelectXpath + <span class="literal">"/wmc:FeatureType[wmc:Server/@service='OGC:WFS']/wmc:Name"</span>;
+    var featureList = objRef.doc.selectNodes(nodeSelectXpath);
+    <span class="reserved">for</span> (var i=0; i&lt;featureList.length; i++) {
+      var featureName = getNodeValue(featureList[i]);
+      objRef.setParam(<span class="literal">'wfs_GetFeature'</span>,featureName);
+    }
+<span class="comment">
+    //this.callListeners("contextLoaded");  //PGC</span>
+  }
+  <span class="reserved">this</span>.addListener(<span class="literal">"loadModel"</span>, <span class="reserved">this</span>.loadFeatures, <span class="reserved">this</span>);
+
+  <span class="comment">/**
+   * Listener function which sets stylesheet params for WebServiceRequests
+   * <span class="attrib">@param</span> objRef pointer to this object
+   * <span class="attrib">@param</span> featureNodeId the id of the node in the doc to be processed by the stylesheet
+   */</span>
+  <span class="reserved">this</span>.setRequestParameters = <span class="reserved">function</span>(featureName, requestStylesheet) {
+    var feature = <span class="reserved">this</span>.getFeatureNode(featureName);
+    <span class="reserved">if</span> (feature.selectSingleNode(<span class="literal">"ogc:Filter"</span>)) {
+      requestStylesheet.setParameter(<span class="literal">"filter"</span>, escape((new XMLSerializer()).serializeToString(feature.selectSingleNode(<span class="literal">"ogc:Filter"</span>))) );
+    }
+  }
+<span class="comment">  //this.addFirstListener("wfs_GetFeature", this.setRequestParameters, this);</span>
+
+  <span class="comment">/**
+   * Method to get a list of queryable layers
+   * <span class="attrib">@return</span> the list with queryable layers
+   */</span>
+  <span class="reserved">this</span>.getQueryableLayers = <span class="reserved">function</span>() {
+    var listNodeArray = <span class="reserved">this</span>.doc.selectNodes(<span class="literal">"/wmc:OWSContext/wmc:ResourceList/wmc:Layer[@queryable='1']|/wmc:OWSContext/wmc:ResourceList/wmc:FeatureType[@queryable='1']"</span>);
+    <span class="reserved">if</span> (listNodeArray == null) {
+      listNodeArray = <span class="reserved">this</span>.doc.selectNodes(<span class="literal">"/wmc:OWSContext/wmc:ResourceList/wmc:Layer|/wmc:OWSContext/wmc:ResourceList/wmc:Layer"</span>);
+    }
+    <span class="reserved">return</span> listNodeArray;
+  }
+
+  <span class="comment">/**
+   * Method to get a list of all layers in the context doc
+   * TBD: merge this with above, passing queryable as an optional boolean param?
+   * <span class="attrib">@TODO</span> Add the other layers
+   * <span class="attrib">@return</span> the list with all layers
+   */</span>
+  <span class="reserved">this</span>.getAllLayers = <span class="reserved">function</span>() {
+    var listNodeArray = <span class="reserved">this</span>.doc.selectNodes(<span class="literal">"//wmc:Layer|//wmc:FeatureType"</span>);
+    <span class="reserved">return</span> listNodeArray;
+  }
+
+  <span class="comment">/**
+   * Method to get a layer with the specified id/name in the context doc
+   * <span class="attrib">@param</span> layerId/layerName the layer to be returned
+   * <span class="attrib">@return</span> the list with all layers
+   * <span class="attrib">@TODO</span> check other layers
+   */</span>
+  <span class="reserved">this</span>.getLayer = <span class="reserved">function</span>(layerId) {
+    var layer = <span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:ResourceList/wmc:FeatureType[@id='"</span>+layerId+<span class="literal">"']"</span>);
+    <span class="reserved">if</span> (layer == null) {
+      layer = <span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:ResourceList/wmc:Layer[@id='"</span>+layerId+<span class="literal">"']"</span>);
+    }
+    <span class="reserved">if</span> (layer == null) {
+      layer = <span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:ResourceList/wmc:Layer[wmc:Name='"</span>+layerId+<span class="literal">"']"</span>);
+    }
+    <span class="reserved">if</span> (layer == null) {
+      layer = <span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:ResourceList/wmc:FeatureType[wmc:Name='"</span>+layerId+<span class="literal">"']"</span>);
+    }
+    <span class="reserved">if</span>( layer == null ) {
+      layer = <span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:ResourceList/wmc:RssLayer[@id='"</span>+layerId+<span class="literal">"']"</span>);
+    }
+<span class="comment">    //TBD: add in time stamp</span>
+    <span class="reserved">return</span> layer;
+  }
+
+  <span class="comment">/**
+   * Method to get a layer id with the specified id/name in the context doc
+   * <span class="attrib">@param</span> layerName the name of the layer of which the id is to be returned
+   * <span class="attrib">@return</span> the id of the layer || false
+   */</span>
+  <span class="reserved">this</span>.getLayerIdByName = <span class="reserved">function</span>(layerName) {
+    var layer = <span class="reserved">this</span>.getLayer(layerName);
+    var id;
+    <span class="reserved">if</span> (layer) {
+      id = layer.getAttribute(<span class="literal">"id"</span>);
+    }
+
+    <span class="reserved">return</span> id || false;
+  }
+
+
+  <span class="comment">/**
+   * Method to add a Layer to the LayerList
+   * <span class="attrib">@param</span> layerNode the Layer node from another context doc or capabiltiies doc
+   */</span>
+  <span class="reserved">this</span>.addLayer = <span class="reserved">function</span>(objRef, layerNode) {
+    <span class="reserved">if</span>( objRef.doc != null ) {
+      var parentNode = objRef.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:ResourceList"</span>);
+<span class="comment">
+      // Generate layer id if layer doesn't have an id</span>
+      var randomNumber = Math.round(10000 * Math.random());
+      id = Mapbuilder.getProperty(layerNode, <span class="literal">"wmc:Name"</span>) + <span class="literal">"_"</span> + randomNumber; 
+      layerNode.setAttribute(<span class="literal">"id"</span>, id);
+<span class="comment">      
+      // check if that node does not alreayd exist, replace it (query may have changed)</span>
+      var id = layerNode.getAttribute(<span class="literal">"id"</span>);
+      var str = <span class="literal">"/wmc:OWSContext/wmc:ResourceList/"</span>+layerNode.nodeName+<span class="literal">"[@id='"</span>+id+<span class="literal">"']"</span>;
+      var node = objRef.doc.selectSingleNode(str);
+      <span class="reserved">if</span>( node != null ) {
+        parentNode.removeChild(node);
+      }
+
+      parentNode.appendChild(layerNode);
+      objRef.modified = true;
+      <span class="reserved">if</span> (<span class="reserved">this</span>.debug) {
+         mbDebugMessage( <span class="literal">"Adding layer:"</span>+(new XMLSerializer()).serializeToString( layerNode ) );
+      }
+    } <span class="reserved">else</span> {
+      alert(mbGetMessage(<span class="literal">"nullOwsContext"</span>));
+    }
+<span class="comment">    //objRef.callListeners("refresh");</span>
+  }
+  <span class="reserved">this</span>.addFirstListener( <span class="literal">"addLayer"</span>, <span class="reserved">this</span>.addLayer, <span class="reserved">this</span> );
+
+  <span class="comment">/**
+   * Method to get the baselayer 
+   * <span class="attrib">@return</span> the baseLayer
+   * <span class="attrib">@TODO</span> check for other baselayers
+   */</span>
+   <span class="reserved">this</span>.getBaseLayer = <span class="reserved">function</span>() {
+      var baseLayer = <span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:ResourceList/ows:BaseLayer"</span>);
+      <span class="reserved">return</span> baseLayer;
+   }
+   
+ <span class="comment">/**
+   * Method to add a Sld to the StyleList
+   * <span class="attrib">@param</span> layerName the Layer name from another context doc or capabiltiies doc
+   * TBD: make sure this will work again using layerId instead of layerName
+   */</span>
+  <span class="reserved">this</span>.addSLD = <span class="reserved">function</span>(objRef,sldNode) {
+<span class="comment">    // alert("context addSLD : "+objRef.id);</span>
+    var layerName=Mapbuilder.getProperty(sldNode, <span class="literal">"//Name"</span>);
+    var parentNode = objRef.doc.selectSingleNode(<span class="literal">"//wmc:Layer[wmc:Name='"</span>+layerName+<span class="literal">"']"</span>);
+    parentNode.appendChild(sldNode.cloneNode(true));
+
+    objRef.modified = true;
+      var attribs=[];
+    attribs[<span class="literal">"sld_body"</span>]=(new XMLSerializer()).serializeToString(objRef.doc.selectSingleNode(<span class="literal">"//wmc:Layer[wmc:Name='"</span>+layerName+<span class="literal">"']/wmc:StyleList/wmc:Style/wmc:SLD/wmc:StyledLayerDescriptor"</span>));
+    objRef.map.mbMapPane.refreshLayer(objRef.map.mbMapPane,layerName,attribs);
+  }
+  <span class="reserved">this</span>.addFirstListener( <span class="literal">"addSLD"</span>, <span class="reserved">this</span>.addSLD, <span class="reserved">this</span> );
+
+  <span class="comment">/**
+   * Method to remove a Layer from the LayerList
+   * <span class="attrib">@param</span> layerId the Layer to be deleted
+   */</span>
+  <span class="reserved">this</span>.deleteLayer = <span class="reserved">function</span>(objRef, layerId) {
+    var deletedNode = objRef.getLayer(layerId);
+    <span class="reserved">if</span> (!deletedNode) {
+      alert(mbGetMessage(<span class="literal">"nodeNotFound"</span>, layerId));
+      <span class="reserved">return</span>;
+    }
+    deletedNode.parentNode.removeChild(deletedNode);
+    objRef.modified = true;
+  }
+  <span class="reserved">this</span>.addFirstListener( <span class="literal">"deleteLayer"</span>, <span class="reserved">this</span>.deleteLayer, <span class="reserved">this</span> );
+
+  <span class="comment">/**
+   * Method to move a Layer in the LayerList up
+   * <span class="attrib">@param</span> layerId the layer to be moved
+   */</span>
+  <span class="reserved">this</span>.moveLayerUp = <span class="reserved">function</span>(objRef, layerId) {
+    var movedNode = objRef.getLayer(layerId);
+    var sibNode = movedNode.selectSingleNode(<span class="literal">"following-sibling::*"</span>);
+    <span class="reserved">if</span> (!sibNode) {
+      alert(mbGetMessage(<span class="literal">"cantMoveUp"</span>, layerId));
+      <span class="reserved">return</span>;
+    }
+    movedNode.parentNode.insertBefore(sibNode,movedNode);
+    objRef.modified = true;
+  }
+  <span class="reserved">this</span>.addFirstListener( <span class="literal">"moveLayerUp"</span>, <span class="reserved">this</span>.moveLayerUp, <span class="reserved">this</span> );
+
+  <span class="comment">/**
+   * Method to move a Layer in the LayerList down
+   * <span class="attrib">@param</span> layerId the layer to be moved
+   */</span>
+  <span class="reserved">this</span>.moveLayerDown = <span class="reserved">function</span>(objRef, layerId) {
+    var movedNode = objRef.getLayer(layerId);
+    var listNodeArray = movedNode.selectNodes(<span class="literal">"preceding-sibling::*"</span>);  //preceding-sibling axis contains all previous siblings
+    var sibNode = listNodeArray[listNodeArray.length-1];
+    <span class="reserved">if</span> (!sibNode) {
+      alert(mbGetMessage(<span class="literal">"cantMoveDown"</span>, layerId));
+      <span class="reserved">return</span>;
+    }
+    movedNode.parentNode.insertBefore(movedNode,sibNode);
+    objRef.modified = true;
+  }
+  <span class="reserved">this</span>.addFirstListener( <span class="literal">"moveLayerDown"</span>, <span class="reserved">this</span>.moveLayerDown, <span class="reserved">this</span> );
+
+  <span class="comment">/**
+   * Adds a node to the Context document extension element.  The extension element
+   * will be created if it doesn't already exist.
+   * <span class="attrib">@param</span> extensionNode the node to be appended in the extension element.
+   * <span class="attrib">@return</span> the ndoe added to the extension element
+   */</span>
+  <span class="reserved">this</span>.setExtension = <span class="reserved">function</span>(extensionNode) {
+    var extension = <span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:General/wmc:Extension"</span>);
+    <span class="reserved">if</span> (!extension) {
+      var general = <span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:General"</span>);
+      var newChild = createElementWithNS(<span class="reserved">this</span>.doc,<span class="literal">"Extension"</span>,<span class="literal">'http://www.opengis.net/context'</span>);
+      extension = general.appendChild(newChild);
+    }
+    <span class="reserved">return</span> extension.appendChild(extensionNode);
+  }
+
+  <span class="comment">/**
+   * Returns the contents of the extension element
+   * <span class="attrib">@return</span> the contents of the extension element
+   */</span>
+  <span class="reserved">this</span>.getExtension = <span class="reserved">function</span>() {
+    <span class="reserved">return</span> <span class="reserved">this</span>.doc.selectSingleNode(<span class="literal">"/wmc:OWSContext/wmc:General/wmc:Extension"</span>);
+  }
+<span class="comment">
+  // PL -BRGM</span>
+  <span class="comment">/**
+   * Change a Layer's opacity
+   * <span class="attrib">@param</span> layerId  The name of the layer that is to be changed
+   * <span class="attrib">@param</span> Opacity     Value of the opacity
+   */</span>
+  <span class="reserved">this</span>.setOpacity=<span class="reserved">function</span>(layerId, Opacity){
+<span class="comment">    // Set the hidden attribute in the Context</span>
+    var layer = <span class="reserved">this</span>.getLayer(layerId);
+    <span class="reserved">if</span> (layer) layer.setAttribute(<span class="literal">"opacity"</span>, Opacity);
+<span class="comment">    // Call the listeners</span>
+    <span class="reserved">this</span>.callListeners(<span class="literal">"opacity"</span>, layerId);
+  }
+
+  <span class="comment">/**
+   * Get the layer's opacity attribute value.
+   * <span class="attrib">@param</span> layerId  The name of the layer that is to be changed
+   * <span class="attrib">@return</span> hidden  String with the value; 1=hidden, 0=visible.
+   */</span>
+  <span class="reserved">this</span>.getOpacity=<span class="reserved">function</span>(layerId){
+    var opacity=1;
+    var layer = <span class="reserved">this</span>.getLayer(layerId);
+    <span class="reserved">if</span> (layer) opacity = layer.getAttribute(<span class="literal">"opacity"</span>);
+    <span class="reserved">return</span> opacity;
+  }
+<span class="comment">  // PL -END</span>
+  
+  <span class="comment">/**
+   * Parses a Dimension element from the Context document as a loadModel listener.
+   * This results in an XML structure with one element for each GetMap time value
+   * parameter and added to the Context extrension element.
+   * <span class="attrib">@param</span> objRef a pointer to this object
+   */</span>
+  <span class="reserved">this</span>.initTimeExtent = <span class="reserved">function</span>( objRef ) {
+<span class="comment">    //only the first one selected is used as the timestamp source</span>
+<span class="comment">    //var extentNode = objRef.doc.selectSingleNode("//wmc:Layer/wmc:Dimension[<span class="attrib">@name</span>='time']");</span>
+<span class="comment">    //TBD: how to deal with multiple time dimensions in one context doc, or caps doc?</span>
+    var timeNodes = objRef.doc.selectNodes(<span class="literal">"//wmc:Dimension[@name='time']"</span>);
+    <span class="reserved">for</span> (var i=0; i&lt;timeNodes.length; ++i) {
+      var extentNode = timeNodes[i];
+      objRef.timestampList = createElementWithNS(objRef.doc,<span class="literal">"TimestampList"</span>,mbNsUrl);
+      var layerId;
+      var layerNode = extentNode.parentNode.parentNode;
+      <span class="reserved">if</span> (layerNode.selectSingleNode(<span class="literal">"@id"</span>)) {
+        layerId = Mapbuilder.getProperty(layerNode, <span class="literal">"@id"</span>);
+      } <span class="reserved">else</span> {
+        layerId =Mapbuilder.getProperty(layerNode, <span class="literal">"wmc:Name"</span>);
+      }
+      objRef.timestampList.setAttribute(<span class="literal">"layerId"</span>, layerId);
+<span class="comment">      //alert("found time dimension, extent:"+getNodeValue(extentNode));</span>
+      var times = getNodeValue(extentNode).split(<span class="literal">","</span>);   //comma separated list of arguments
+      <span class="reserved">for</span> (var j=0; j&lt;times.length; ++j) {
+        var params = times[j].split(<span class="literal">"/"</span>);     // parses start/end/period
+        <span class="reserved">if</span> (params.length==3) {
+          var start = setISODate(params[0]);
+          var stop = setISODate(params[1]);
+          var period = params[2];
+          var parts = period.match(/^P((\d*)Y)?((\d*)M)?((\d*)D)?T?((\d*)H)?((\d*)M)?((.*)S)?/);
+          <span class="reserved">for</span> (var i=1; i&lt;parts.length; ++i) {
+            <span class="reserved">if</span> (!parts[i]) parts[i]=0;
+          }
+<span class="comment">          //alert("start time:"+start.toString());</span>
+          do {
+            var timestamp = createElementWithNS(objRef.doc,<span class="literal">"Timestamp"</span>,mbNsUrl);
+            timestamp.appendChild(objRef.doc.createTextNode(getISODate(start)));
+            objRef.timestampList.appendChild(timestamp);
+
+            start.setFullYear(start.getFullYear()+parseInt(parts[2],10));
+            start.setMonth(start.getMonth()+parseInt(parts[4],10));
+            start.setDate(start.getDate()+parseInt(parts[6],10));
+            start.setHours(start.getHours()+parseInt(parts[8],10));
+            start.setMinutes(start.getMinutes()+parseInt(parts[10],10));
+            start.setSeconds(start.getSeconds()+parseFloat(parts[12]));
+<span class="comment">            //alert("time:"+start.toString());</span>
+          } <span class="reserved">while</span>(start.getTime() &lt;= stop.getTime());
+
+        } <span class="reserved">else</span> {
+<span class="comment">          //output single date value</span>
+          var timestamp = createElementWithNS(objRef.doc,<span class="literal">"Timestamp"</span>,mbNsUrl);
+          timestamp.appendChild(objRef.doc.createTextNode(times[j]));
+          objRef.timestampList.appendChild(timestamp);
+        }
+      }
+     objRef.setExtension(objRef.timestampList);
+    }
+  }
+  <span class="reserved">this</span>.addFirstListener( <span class="literal">"loadModel"</span>, <span class="reserved">this</span>.initTimeExtent, <span class="reserved">this</span> );
+
+  <span class="comment">/**
+   * clear the time extent created by initTimeExtent
+   * <span class="attrib">@param</span> objRef reference to this model
+   */</span>
+  <span class="reserved">this</span>.clearTimeExtent = <span class="reserved">function</span>( objRef ) {
+    var tsList = objRef.timestampList;
+    <span class="reserved">if</span> (tsList) {
+      tsList.parentNode.removeChild(tsList);
+    }
+  }
+  <span class="reserved">this</span>.addListener(<span class="literal">"newModel"</span>, <span class="reserved">this</span>.clearTimeExtent, <span class="reserved">this</span>);
+
+  <span class="comment">/**
+   * Returns the current timestamp value.
+   * <span class="attrib">@param</span> layerName the name of the Layer from which the timestamp list was generated
+   * <span class="attrib">@return</span> the current timestamp value.
+   */</span>
+  <span class="reserved">this</span>.getCurrentTimestamp = <span class="reserved">function</span>( layerName ) {
+    var index = <span class="reserved">this</span>.getParam(<span class="literal">"timestamp"</span>);
+    <span class="reserved">return</span> getNodeValue(<span class="reserved">this</span>.timestampList.childNodes[index]);
+  }
+
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-WpsDescribeProcess.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-WpsDescribeProcess.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-WpsDescribeProcess.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ WpsDescribeProcess.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" WpsDescribeProcess.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-WpsDescribeProcess.js.html" 
+                                        target="classFrame">WpsDescribeProcess.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WpsDescribeProcess.html" TARGET="classFrame">WpsDescribeProcess</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-EditContext.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-EditContext.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-EditContext.js.html	(revision 4307)
@@ -0,0 +1,249 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="EditContext.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>EditContext.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'EditContext.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="EditContext.html">EditContext</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Mike Adair  mike.adairATccrs.nrcan.gc.ca
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: EditContext.js 3881 2008-02-27 15:41:07Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/tool/ToolBase.js"</span>);
+
+<span class="comment">/**
+ * Tool which manipulates the Layer list of a Web Map Context document.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ToolBase
+ * <span class="attrib">@param</span> toolNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> EditContext(toolNode, model) {
+  ToolBase.apply(<span class="reserved">this</span>, new Array(toolNode, model));
+
+  var styleUrl = baseDir+<span class="literal">"/tool/xsl/wmc_AddResource.xsl"</span>;   //TBD figure out a way to set <span class="reserved">this</span> <span class="reserved">for</span> other operations
+  <span class="reserved">this</span>.stylesheet = new XslProcessor(styleUrl);
+<span class="comment">
+  // Set stylesheet parameters for all the child nodes from the config file</span>
+  <span class="reserved">for</span> (var j=0;j&lt;toolNode.childNodes.length;j++) {
+    <span class="reserved">if</span> (getNodeValue(toolNode.childNodes[j])) {
+      <span class="reserved">this</span>.stylesheet.setParameter(toolNode.childNodes[j].nodeName,getNodeValue(toolNode.childNodes[j]));
+    }
+  }
+
+  <span class="comment">/**
+   * Adds a new layer to the end of the context document
+   * <span class="attrib">@param</span> featureName the name of the feature to be added
+   */</span>
+  <span class="reserved">this</span>.addNodeToModel = <span class="reserved">function</span>(featureName) {
+    var feature = <span class="reserved">this</span>.model.getFeatureNode(featureName);
+    <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"version"</span>, <span class="reserved">this</span>.model.getVersion() );
+    <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"serverUrl"</span>, <span class="reserved">this</span>.model.getServerUrl(<span class="literal">"GetMap"</span>,<span class="literal">"get"</span>) );
+    <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"serverTitle"</span>, <span class="reserved">this</span>.model.getServerTitle() );
+    <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"serviceName"</span>, <span class="literal">"wms"</span>);//<span class="reserved">this</span>.model.getServiceName() );
+    <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"format"</span>, <span class="reserved">this</span>.model.getImageFormat() );
+    var newNode = <span class="reserved">this</span>.stylesheet.transformNodeToObject(feature);
+    Sarissa.setXpathNamespaces(newNode, <span class="reserved">this</span>.targetModel.namespace);
+    mbDebugMessage(<span class="reserved">this</span>, newNode.xml);
+    <span class="reserved">this</span>.targetModel.setParam(<span class="literal">'addLayer'</span>,newNode.documentElement);
+  }
+
+  <span class="comment">/**
+   * Adds a new layer to the end of the context document
+   * <span class="attrib">@param</span> featureName the name of the feature to be added
+   */</span>
+  <span class="reserved">this</span>.addLayerFromCat = <span class="reserved">function</span>(featureName) {
+    var feature = <span class="reserved">this</span>.model.getFeatureNode(featureName);
+    var newNode = <span class="reserved">this</span>.stylesheet.transformNodeToObject(feature);
+    Sarissa.setXpathNamespaces(newNode, <span class="reserved">this</span>.targetModel.namespace);
+    mbDebugMessage(<span class="reserved">this</span>, newNode.xml);
+    <span class="reserved">this</span>.targetModel.setParam(<span class="literal">'addLayer'</span>,newNode.documentElement);
+  }
+
+  <span class="comment">/**
+   * Reorders layers in the context document
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.moveNode = <span class="reserved">function</span>(objRef, featureName) {
+<span class="comment">    //TBD</span>
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"MoveNode"</span>, <span class="reserved">this</span>.addNodeToModel, <span class="reserved">this</span>);
+
+  <span class="comment">/**
+   * Deletes layers from a context doc
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.deleteNode = <span class="reserved">function</span>(objRef, featureName) {
+<span class="comment">    //TBD</span>
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"DeleteNode"</span>, <span class="reserved">this</span>.addNodeToModel, <span class="reserved">this</span>);
+
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-FilterAttributes.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-FilterAttributes.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-FilterAttributes.js.html	(revision 4307)
@@ -0,0 +1,190 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="FilterAttributes.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>FilterAttributes.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'FilterAttributes.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="FilterAttributes.html">FilterAttributes</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: FilterAttributes.js 2527 2007-01-18 16:30:04Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Parses a WFS DescribeFeatureType response to and provides a form to specify
+ * filter parameters.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> FilterAttributes(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/allclasses-noframe.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/allclasses-noframe.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/allclasses-noframe.html	(revision 4307)
@@ -0,0 +1,660 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+<TITLE>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 All Classes
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 All Classes";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+   <IMG SRC="Icon.gif"/>
+
+<H3 CLASS="FrameHeadingFont"><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary.html">All Classes</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Abstract.html" >Abstract</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="AoiBoxOL.html" >AoiBoxOL</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="AoiForm.html" >AoiForm</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Back.html" >Back</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Button.html" >Button</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ButtonBase.html" >ButtonBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Caps2Context.html" >Caps2Context</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="CollectionList.html" >CollectionList</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Config.html" >Config</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Context.html" >Context</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="CursorTrack.html" >CursorTrack</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="DeleteFeature.html" >DeleteFeature</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="DOMParser.html" >DOMParser</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="DragPan.html" >DragPan</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="EditButtonBase.html" >EditButtonBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="EditContext.html" >EditContext</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="EditLine.html" >EditLine</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="EditPoint.html" >EditPoint</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="EditPolygon.html" >EditPolygon</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="EventLog.html" >EventLog</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Extent.html" >Extent</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="FeatureCollection.html" >FeatureCollection</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="FeatureInfo.html" >FeatureInfo</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="FeatureList.html" >FeatureList</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="FeatureSelectHandler.html" >FeatureSelectHandler</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="FilterAttributes.html" >FilterAttributes</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="FormBase.html" >FormBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Forward.html" >Forward</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GeoRSS.html" >GeoRSS</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GetFeatureInfo.html" >GetFeatureInfo</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GetFeatureInfoWSR.html" >GetFeatureInfoWSR</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GLOBALS.html" >GLOBALS</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GmlRendererBase.html" >GmlRendererBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GmlRendererConfig.html" >GmlRendererConfig</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GmlRendererOL.html" >GmlRendererOL</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Graticule.html" >Graticule</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="HandsomeNumber.html" >HandsomeNumber</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="History.html" >History</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="InsertFeature.html" >InsertFeature</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="LayerControl.html" >LayerControl</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Legend.html" >Legend</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="LegendGraphic.html" >LegendGraphic</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Listener.html" >Listener</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Loading.html" >Loading</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Loading2.html" >Loading2</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Locations.html" >Locations</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Logger.html" >Logger</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Mapbuilder.html" >Mapbuilder</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="MapPaneOL.html" >MapPaneOL</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="MapScaleBar.html" >MapScaleBar</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="MapScaleText.html" >MapScaleText</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="MapTitle.html" >MapTitle</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Measurement.html" >Measurement</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="MergeModels.html" >MergeModels</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Model.html" >Model</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ModelBase.html" >ModelBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ModelStatus.html" >ModelStatus</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ModelUrlInput.html" >ModelUrlInput</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="MovieLoop.html" >MovieLoop</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="OpenLSForm.html" >OpenLSForm</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="OpenLSResponse.html" >OpenLSResponse</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="OverviewMap.html" >OverviewMap</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="OwsCatResources.html" >OwsCatResources</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="OWSCatSearchForm.html" >OWSCatSearchForm</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="OwsContext.html" >OwsContext</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="PanZoomBar.html" >PanZoomBar</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Reset.html" >Reset</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Sarissa.html" >Sarissa</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Save.html" >Save</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="SelectAllMapLayers.html" >SelectAllMapLayers</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="SelectFeatureType.html" >SelectFeatureType</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="SelectFromAtomFeed.html" >SelectFromAtomFeed</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="SelectMapLayers.html" >SelectMapLayers</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="SelectTimeFrame.html" >SelectTimeFrame</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ServiceRegistryList.html" >ServiceRegistryList</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="SetAoi.html" >SetAoi</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ShowDistance.html" >ShowDistance</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="StyledLayerDescriptor.html" >StyledLayerDescriptor</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TabbedContent.html" >TabbedContent</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Timer.html" >Timer</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Timestamp.html" >Timestamp</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TipWidgetBase.html" >TipWidgetBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TipWidgetConfig.html" >TipWidgetConfig</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TipWidgetOL.html" >TipWidgetOL</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ToolBase.html" >ToolBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Transaction.html" >Transaction</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TransactionResponse.html" >TransactionResponse</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Version.html" >Version</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WebServiceForm.html" >WebServiceForm</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WebServiceRequest.html" >WebServiceRequest</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WfsCapabilities.html" >WfsCapabilities</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WfsGetFeature.html" >WfsGetFeature</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Widget.html" >Widget</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WidgetBase.html" >WidgetBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WidgetBaseXSL.html" >WidgetBaseXSL</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WmsCapabilities.html" >WmsCapabilities</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WpsCapabilities.html" >WpsCapabilities</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WpsDescribeProcess.html" >WpsDescribeProcess</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="XMLHttpRequest.html" >XMLHttpRequest</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="XMLSerializer.html" >XMLSerializer</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="XslProcessor.html" >XslProcessor</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="XSLTProcessor.html" >XSLTProcessor</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ZoomIn.html" >ZoomIn</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ZoomOut.html" >ZoomOut</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ZoomToAoi.html" >ZoomToAoi</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/WebServiceForm.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/WebServiceForm.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/WebServiceForm.html	(revision 4307)
@@ -0,0 +1,700 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+WebServiceForm
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="WebServiceForm";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-WebServiceForm.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Version.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="WebServiceRequest.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="WebServiceForm.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class WebServiceForm</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>WebServiceForm</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>WebServiceForm</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-WebServiceForm.js.html'>WebServiceForm.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#formElements">formElements</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#formName">formName</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#namespace">namespace</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#webServiceForm">webServiceForm</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#webServiceUrl">webServiceUrl</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="WebServiceForm.html#WebServiceForm()">WebServiceForm</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to display a form for input of parameters to generate a web service 
+ request.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#handleKeyPress">handleKeyPress</A></B>(event)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 handles keypress events to filter out everything except "enter".
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#init">init</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#postPaint">postPaint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Refreshes the form onblur handlers when this widget is painted.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#prePaint">prePaint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Sets value for form elements
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setAoiParameters">setAoiParameters</A></B>(objRef,bbox)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Setup the listener for AOI changes to be used in filter if necessary
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#submitForm">submitForm</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Handles submission of the form (via javascript in an <a> tag)
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="formElements"><!-- --></A>
+   <H3>formElements</H3>
+   <PRE>Object&nbsp;<B>formElements</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="formName"><!-- --></A>
+   <H3>formName</H3>
+   <PRE>Object&nbsp;<B>formName</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="namespace"><!-- --></A>
+   <H3>namespace</H3>
+   <PRE>Object&nbsp;<B>namespace</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="webServiceForm"><!-- --></A>
+   <H3>webServiceForm</H3>
+   <PRE>Object&nbsp;<B>webServiceForm</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="webServiceUrl"><!-- --></A>
+   <H3>webServiceUrl</H3>
+   <PRE>Object&nbsp;<B>webServiceUrl</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="WebServiceForm()"><!-- --></A><H3>
+WebServiceForm</H3>
+<PRE><B>WebServiceForm</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to display a form for input of parameters to generate a web service 
+ request.  This JS object handles the form submit via HTTP Get by appending 
+ a query string to the form's action URL.  The query string is created from
+ all input elements and their values.
+ The target model is then loaded from the URL created.
+ A stylehseet must be specified as a property in config for this widget.  
+ See widget/NtsForm.xsl for an example.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  This widget's object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model that this widget is a view of.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="handleKeyPress"><!-- --></A>
+   <H3>handleKeyPress</H3>
+   <PRE>Object <B>handleKeyPress</B>(event)</PRE>
+   
+      <UL>handles keypress events to filter out everything except "enter".  
+ Pressing the "enter" key will trigger a form submit</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>event</CODE> -   the event object passed in for Mozilla; IE uses window.event
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="init"><!-- --></A>
+   <H3>init</H3>
+   <PRE>void <B>init</B>(objRef)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="postPaint"><!-- --></A>
+   <H3>postPaint</H3>
+   <PRE>void <B>postPaint</B>(objRef)</PRE>
+   
+      <UL>Refreshes the form onblur handlers when this widget is painted.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="prePaint"><!-- --></A>
+   <H3>prePaint</H3>
+   <PRE>void <B>prePaint</B>(objRef)</PRE>
+   
+      <UL>Sets value for form elements</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setAoiParameters"><!-- --></A>
+   <H3>setAoiParameters</H3>
+   <PRE>void <B>setAoiParameters</B>(objRef,bbox)</PRE>
+   
+      <UL>Setup the listener for AOI changes to be used in filter if necessary</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="submitForm"><!-- --></A>
+   <H3>submitForm</H3>
+   <PRE>void <B>submitForm</B>()</PRE>
+   
+      <UL>Handles submission of the form (via javascript in an <a> tag)</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-WebServiceForm.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Version.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="WebServiceRequest.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="WebServiceForm.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-CatSearchForm.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-CatSearchForm.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-CatSearchForm.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ CatSearchForm.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" CatSearchForm.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-CatSearchForm.js.html" 
+                                        target="classFrame">CatSearchForm.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="OWSCatSearchForm.html" TARGET="classFrame">OWSCatSearchForm</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Button.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Button.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Button.js.html	(revision 4307)
@@ -0,0 +1,241 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Button.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Button.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Button.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Button.html">Button</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Button.js 3052 2007-08-01 21:25:21Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/ButtonBase.js"</span>);
+
+<span class="comment">/**
+ * Generic Button object. Set the &lt;action&gt; property in config for
+ * the controller method to be called when selected
+ * <span class="attrib">@base</span> ButtonBase
+ * <span class="attrib">@author</span> Andreas Hocevar andreas.hocevarATgmail.com
+ * <span class="attrib">@param</span> widgetNode      The tool node from the Config XML file.
+ * <span class="attrib">@param</span> model  The ButtonBar widget.
+ */</span>
+<span class="reserved">function</span> Button(widgetNode, model) {
+  ButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+  <span class="comment">/**
+   * default css cursor to use when the button is selected
+   */</span>
+  <span class="reserved">this</span>.cursor = <span class="literal">'default'</span>;
+
+  <span class="comment">/**
+   * Creates the OpenLayers control for this button.
+   * This method will be called by ButtonBase when
+   * MapPaneOL is ready to have buttons added.
+   * The control should be defined in this method.
+   * <span class="attrib">@type</span> function
+   * <span class="attrib">@param</span> objRef reference to this object.
+   * <span class="attrib">@return</span> class (not instance!) of the OL control.
+   */</span>
+  <span class="reserved">this</span>.createControl = <span class="reserved">function</span>(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+      CLASS_NAME: <span class="literal">'mbControl.'</span>+objRef.id,
+      type: (objRef.buttonType == <span class="literal">'RadioButton'</span>) ? OpenLayers.Control.TYPE_TOOL : OpenLayers.Control.TYPE_BUTTON,
+<span class="comment">      // for button type      </span>
+      trigger: <span class="reserved">function</span>() {
+        eval(<span class="literal">'config.objects.'</span>+objRef.action);
+      },
+<span class="comment">      // for tool type (RadioButton)</span>
+      activate: <span class="reserved">function</span>() {
+        eval(<span class="literal">'config.objects.'</span>+objRef.action);
+        <span class="reserved">this</span>.active = true;
+        <span class="reserved">return</span> true;
+      }
+    });
+    <span class="reserved">return</span> Control;
+  }
+  
+  <span class="comment">/**
+   * Optional method to instantiate the control. If a
+   * subclass provides this method, it will be used instead
+   * of just callint new Control() in the superclass.
+   * This is needed when a control has to be instantiated
+   * with parameters.
+   * <span class="attrib">@type</span> OpenLayers.Control
+   * <span class="attrib">@param</span> objRef reference to this object.
+   * <span class="attrib">@param</span> {OpenLayers.Control} Control to instantiate
+   * <span class="attrib">@return</span> instance of the OL control
+   */</span>
+  <span class="reserved">this</span>.instantiateControl = <span class="reserved">function</span>(objRef, Control) {
+<span class="comment">    // return OpenLayers.Control instance</span>
+    <span class="reserved">return</span> new Control();
+    
+  }
+}
+
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-MGRS.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-MGRS.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-MGRS.js.html	(revision 4307)
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ MGRS.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" MGRS.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-MGRS.js.html" 
+                                        target="classFrame">MGRS.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-MapTitle.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-MapTitle.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-MapTitle.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ MapTitle.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" MapTitle.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-MapTitle.js.html" 
+                                        target="classFrame">MapTitle.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="MapTitle.html" TARGET="classFrame">MapTitle</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ModelBase.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ModelBase.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ModelBase.js.html	(revision 4307)
@@ -0,0 +1,634 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="ModelBase.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>ModelBase.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'ModelBase.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="ModelBase.html">ModelBase</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: ModelBase.js 3953 2008-03-31 10:25:24Z oterral $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/util/Listener.js"</span>);
+
+<span class="comment">/**
+ * Base Model class to be inherited by all Model objects and provdes methods
+ * and properties common to all models.
+ * Stores the XML document as the .doc property of the model.
+ * Inherits from the Listener class so all models are also listener objects that
+ * can call registered listeners.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> Listener
+ * <span class="attrib">@author</span> Cameron Shorter
+ * <span class="attrib">@param</span> modelNode   The model's XML object node from the configuration document.
+ * <span class="attrib">@param</span> parentModel The model object that this model belongs to.
+ */</span>
+<span class="reserved">function</span> ModelBase(modelNode, parentModel) {
+<span class="comment">  // Inherit the Listener functions and parameters</span>
+  Listener.apply(<span class="reserved">this</span>);
+<span class="comment">
+  //models are loaded asynchronously by default; </span>
+  <span class="reserved">this</span>.async = true;   //change to false <span class="reserved">for</span> sync loading
+  <span class="reserved">this</span>.contentType = <span class="literal">"text/xml"</span>;
+
+  <span class="reserved">this</span>.modelNode = modelNode;
+  var idAttr = modelNode.attributes.getNamedItem(<span class="literal">"id"</span>);
+  <span class="reserved">if</span> (idAttr) {
+    <span class="reserved">this</span>.id = idAttr.nodeValue;
+  } <span class="reserved">else</span> {
+<span class="comment">    //auto generated unique ID assigned to this model</span>
+    <span class="reserved">this</span>.id = <span class="literal">"MbModel_"</span> + mbIds.getId();
+  }
+
+  <span class="comment">/**
+   * Convenient access to Mapbuilder.getProperty
+   * <span class="attrib">@param</span> property property to get
+   * <span class="attrib">@param</span> default value to use if property is not set
+   * <span class="attrib">@return</span> the value for the property
+   */</span>
+  <span class="reserved">this</span>.getProperty = <span class="reserved">function</span>(property, defaultValue) {
+    <span class="reserved">return</span> Mapbuilder.getProperty(modelNode, property, defaultValue);
+  }
+<span class="comment">
+  //get the human readable title for the model</span>
+  <span class="reserved">this</span>.title = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:title"</span>, <span class="reserved">this</span>.id);
+<span class="comment">
+  //set a debug property in config to see alerts for a particular model</span>
+  <span class="reserved">this</span>.debug = Mapbuilder.parseBoolean(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:debug"</span>, false));
+
+  <span class="comment">/**
+  * set the initial model URL in config.
+  * the URL can also be passed in as a URL parameter by using the model ID 
+  * as the parameter name (which takes precendence over the config file)
+  **/</span>
+  <span class="reserved">if</span> (window.cgiArgs[<span class="reserved">this</span>.id]) {  
+    <span class="reserved">this</span>.url = window.cgiArgs[<span class="reserved">this</span>.id];
+  } <span class="reserved">else</span> <span class="reserved">if</span> (window[<span class="reserved">this</span>.id] &amp;&amp; typeof window[<span class="reserved">this</span>.id] == <span class="literal">"string"</span>) {  
+    <span class="reserved">this</span>.url = window[<span class="reserved">this</span>.id];
+  } <span class="reserved">else</span> <span class="reserved">if</span> (modelNode.url) {  
+    <span class="reserved">this</span>.url = modelNode.url;
+  } <span class="reserved">else</span> {
+    var defaultModel = modelNode.selectSingleNode(<span class="literal">"mb:defaultModelUrl"</span>);
+    <span class="reserved">if</span> (defaultModel) <span class="reserved">this</span>.url = getNodeValue(defaultModel);
+  }
+<span class="comment">
+  //set the method property</span>
+  <span class="reserved">this</span>.method = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:method"</span>, <span class="literal">"get"</span>);
+<span class="comment">
+  //set the namespace property</span>
+  <span class="reserved">this</span>.namespace = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:namespace"</span>);
+
+  var templateAttr = modelNode.attributes.getNamedItem(<span class="literal">"template"</span>);
+  <span class="reserved">if</span> (templateAttr) {
+    <span class="reserved">this</span>.template = Mapbuilder.parseBoolean(templateAttr.nodeValue);
+    <span class="reserved">this</span>.modelNode.removeAttribute(<span class="literal">"template"</span>);
+  }
+<span class="comment">
+  //get the xpath to select nodes from the parent doc</span>
+  <span class="reserved">this</span>.nodeSelectXpath = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:nodeSelectXpath"</span>);
+  
+  <span class="comment">/**
+   * Widgets can place configurations in a model. This is an associative
+   * array with the widgetId of the widget that places its configuration
+   * here as key.
+   */</span>
+  <span class="reserved">this</span>.config = new Array();
+  
+  <span class="comment">/**
+   * Get the value of a node as selected by an XPath expression.1
+   * <span class="attrib">@param</span> objRef Reference to this node.
+   * <span class="attrib">@param</span> xpath XPath of the node to update.
+   * <span class="attrib">@return</span> value of the node or null if XPath does not find a node.
+   */</span>
+  <span class="reserved">this</span>.getXpathValue=<span class="reserved">function</span>(objRef,xpath){
+    <span class="reserved">if</span> (!objRef.doc) <span class="reserved">return</span> null; 
+    node=objRef.doc.selectSingleNode(xpath);
+    <span class="reserved">if</span>(node &amp;&amp; node.firstChild){
+      <span class="reserved">return</span> getNodeValue(node);
+    }<span class="reserved">else</span>{
+      <span class="reserved">return</span> null;
+    }
+  }
+
+  <span class="comment">/**
+   * Update the value of a node within this model's XML document.
+   * Triggers a refresh event from the model.
+   * <span class="attrib">@param</span> objRef Reference to this node.
+   * <span class="attrib">@param</span> xpath Xpath of the node to update.
+   * <span class="attrib">@param</span> value Node's new value.
+   * <span class="attrib">@param</span> refresh determines if the model should be refreshed (optional).
+   * <span class="attrib">@return</span> Returns false if Xpath does not find a node.
+   */</span>
+  <span class="reserved">this</span>.setXpathValue=<span class="reserved">function</span>(objRef,xpath,value,refresh){
+    <span class="reserved">if</span> (refresh==null) refresh=true;
+    var node=objRef.doc.selectSingleNode(xpath);
+    <span class="reserved">if</span>(node){
+      <span class="reserved">if</span>(node.firstChild){
+        node.firstChild.nodeValue=value;
+      }<span class="reserved">else</span>{
+        dom=Sarissa.getDomDocument();
+        v=dom.createTextNode(value);
+        node.appendChild(v);
+      }
+      <span class="reserved">if</span> (refresh) objRef.setParam(<span class="literal">"refresh"</span>);
+      <span class="reserved">return</span> true;
+    }<span class="reserved">else</span>{
+      <span class="reserved">return</span> false;
+    }
+  }
+
+  <span class="comment">/**
+   * Load a Model's document.  
+   * This will only occur if the model.url property is set. 
+   * Calling this method triggers several events:
+   *   modelStatus - to indicate that the model state is changing
+   *   newModel - to give widgets a chance to clear themselves before the doc is loaded
+   *   loadModel - to indicate that the document is loaded successfully
+   *
+   * <span class="attrib">@param</span> objRef Pointer to the model object being loaded.
+   */</span>
+  <span class="reserved">this</span>.loadModelDoc = <span class="reserved">function</span>(objRef){
+<span class="comment">    //alert("loading:"+objRef.url);</span>
+
+    <span class="reserved">if</span> (objRef.url) {
+      objRef.callListeners( <span class="literal">"newModel"</span> );
+      objRef.setParam(<span class="literal">"modelStatus"</span>,<span class="literal">"loading"</span>);
+
+      <span class="reserved">if</span> (objRef.contentType == <span class="literal">"image"</span>) {
+<span class="comment">        //image models are set as a DOM image object</span>
+        objRef.doc = new Image();
+        objRef.doc.src = objRef.url;
+<span class="comment">        //objRef.doc.onload = callback //TBD: for when image is loaded</span>
+
+      } <span class="reserved">else</span> {
+<span class="comment">        //XML content type</span>
+        var xmlHttp = new XMLHttpRequest();
+        
+        var sUri = objRef.url;
+        <span class="reserved">if</span> ( sUri.indexOf(<span class="literal">"http://"</span>)==0 || sUri.indexOf(<span class="literal">"https://"</span>)==0) {
+          <span class="reserved">if</span> (objRef.method.toLowerCase() == <span class="literal">"get"</span>) {
+            sUri = getProxyPlusUrl(sUri);
+          } <span class="reserved">else</span> {
+            sUri = config.proxyUrl;
+          }
+        }
+<span class="comment">        //alert( "ModelBase:"+objRef.method + " to:"+ sUri+ " " + objRef.url)</span>
+        
+        xmlHttp.open(objRef.method, sUri, objRef.async);
+        <span class="reserved">if</span> (objRef.method.toLowerCase() == <span class="literal">"post"</span>) {
+          xmlHttp.setRequestHeader(<span class="literal">"content-type"</span>,objRef.contentType);
+          xmlHttp.setRequestHeader(<span class="literal">"serverUrl"</span>,objRef.url);
+        }
+        
+         xmlHttp.onreadystatechange = <span class="reserved">function</span>() {
+          objRef.setParam(<span class="literal">"modelStatus"</span>,httpStatusMsg[xmlHttp.readyState]);
+          <span class="reserved">if</span> (xmlHttp.readyState==4) {
+            <span class="reserved">if</span> (xmlHttp.status &gt;= 400) {   //http errors status start at 400
+              var errorMsg = mbGetMessage(<span class="literal">"errorLoadingDocument"</span>, sUri, xmlHttp.statusText, xmlHttp.responseText);
+              alert(errorMsg);
+              objRef.setParam(<span class="literal">"modelStatus"</span>,errorMsg);
+              <span class="reserved">return</span>;
+            } <span class="reserved">else</span> {
+<span class="comment">              //alert(xmlHttp.getResponseHeader("Content-Type"));</span>
+<span class="comment">              //if ( null==xmlHttp.responseXML ) {</span>
+<span class="comment">              //  alert( "null XML response:" + xmlHttp.responseText );</span>
+<span class="comment">              //} else {</span>
+<span class="comment">                // Problem with IE is that sometimes the XML files do not get loaded as XML for some reason (especially from disk)</span>
+<span class="comment">                // So we need to deal with it here</span>
+
+                <span class="reserved">if</span>( (xmlHttp.responseXML != null) &amp;&amp; (xmlHttp.responseXML.root != null) &amp;&amp; (xmlHttp.responseXML.root.children.length&gt;0) ) {
+                  objRef.doc = xmlHttp.responseXML;
+                  <span class="reserved">if</span>( Sarissa.getParseErrorText(objRef.doc) == Sarissa.PARSED_OK ) {
+                    objRef.finishLoading();      
+                  } <span class="reserved">else</span> {
+                    alert(mbGetMessage(<span class="literal">"parseError"</span>, Sarissa.getParseErrorText(objRef.doc)));
+                  }
+                  <span class="reserved">return</span>;
+                } 
+
+                <span class="reserved">if</span>( xmlHttp.responseText != null ) {
+<span class="comment">                  // if that's the case, the xml file is in the responseText</span>
+<span class="comment">                  // we have to load it manually </span>
+                  objRef.doc = Sarissa.getDomDocument();
+                  objRef.doc.async = false;
+                  objRef.doc = (new DOMParser()).parseFromString( xmlHttp.responseText.replace(/&gt;\s+&lt;/g, <span class="literal">"&gt;&lt;"</span>), <span class="literal">"text/xml"</span>)
+                  <span class="reserved">if</span>( objRef.doc == null ) {
+                    alert(mbGetMessage(<span class="literal">"documentParseError"</span>, Sarissa.getParseErrorText(objRef.doc)));
+<span class="comment">                    // debugger;</span>
+                  } <span class="reserved">else</span> {
+                    <span class="reserved">if</span>( Sarissa.getParseErrorText(objRef.doc) == Sarissa.PARSED_OK ) {
+                      objRef.finishLoading();      
+                    } <span class="reserved">else</span> {
+                      alert(mbGetMessage(<span class="literal">"parseError"</span>, Sarissa.getParseErrorText(objRef.doc)));
+                    }
+                  }
+                  <span class="reserved">return</span>;
+                }
+<span class="comment">                //if (objRef.doc.documentElement.nodeName.search(/exception/i)&gt;=0) {</span>
+<span class="comment">                //  objRef.setParam("modelStatus",-1);</span>
+<span class="comment">                //  alert("Exception:"+(new XMLSerializer()).serializeToString(xmlHttp.responseText));</span>
+<span class="comment">                //}</span>
+<span class="comment">              //}</span>
+<span class="comment">              //objRef.finishLoading();</span>
+            }
+          }
+        }
+        
+        var postData = objRef.postData || <span class="literal">""</span>;
+        <span class="reserved">if</span> (typeof postData == <span class="literal">"object"</span>) {
+          postData = new XMLSerializer().serializeToString(postData);
+        }
+        xmlHttp.send(postData);
+
+        <span class="reserved">if</span> (!objRef.async) {
+          <span class="reserved">if</span> (xmlHttp.status &gt;= 400) {   //http errors status start at 400
+            var errorMsg = mbGetMessage(<span class="literal">"errorLoadingDocument"</span>, sUri, xmlHttp.statusText, xmlHttp.responseText);
+            alert(errorMsg);
+            <span class="reserved">this</span>.objRef.setParam(<span class="literal">"modelStatus"</span>,errorMsg);
+            <span class="reserved">return</span>;
+          } <span class="reserved">else</span> {
+<span class="comment">            //alert(xmlHttp.getResponseHeader("Content-Type"));</span>
+            <span class="reserved">if</span> ( null==xmlHttp.responseXML ) alert(mbGetMessage(<span class="literal">"nullXmlResponse"</span>, xmlHttp.responseText));
+            objRef.doc = xmlHttp.responseXML;
+            objRef.finishLoading();
+          }
+        }
+<span class="comment">
+        //objRef.doc.validateOnParse=false;  //IE6 SP2 parsing bug</span>
+      }
+    }
+  }
+  <span class="reserved">this</span>.addListener(<span class="literal">"reloadModel"</span>,<span class="reserved">this</span>.loadModelDoc, <span class="reserved">this</span>);
+
+  <span class="comment">/**
+   * Set the model's XML document using an XML object as a parameter.
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   * <span class="attrib">@param</span> newModel XML object to be inserted into the new model.
+   */</span>
+  <span class="reserved">this</span>.setModel=<span class="reserved">function</span>(objRef,newModel){
+    objRef.callListeners(<span class="literal">"newModel"</span>);
+    objRef.doc=newModel;
+    <span class="reserved">if</span> ((newModel == null) &amp;&amp; objRef.url) {
+      objRef.url = null;
+    }
+    objRef.finishLoading();
+  }
+
+  <span class="comment">/**
+   * Common steps to be carried out after all manner of model loading
+   * Called to set the namespace for XPath selections and call the loadModel
+   * listeners.
+   */</span>
+  <span class="reserved">this</span>.finishLoading = <span class="reserved">function</span>() {
+<span class="comment">    // the following two lines are needed for IE; set the namespace for selection</span>
+    <span class="reserved">if</span>(<span class="reserved">this</span>.doc){
+     <span class="reserved">if</span>(! _SARISSA_IS_SAFARI){
+      <span class="reserved">this</span>.doc.setProperty(<span class="literal">"SelectionLanguage"</span>, <span class="literal">"XPath"</span>);
+      <span class="reserved">if</span>(<span class="reserved">this</span>.namespace) Sarissa.setXpathNamespaces(<span class="reserved">this</span>.doc, <span class="reserved">this</span>.namespace);
+		}
+<span class="comment">
+      // Show the newly loaded XML document</span>
+      <span class="reserved">if</span>(<span class="reserved">this</span>.debug) mbDebugMessage(<span class="reserved">this</span>, <span class="literal">"Loading Model:"</span>+<span class="reserved">this</span>.id+<span class="literal">" "</span>+(new XMLSerializer()).serializeToString(<span class="reserved">this</span>.doc));
+      
+      <span class="reserved">this</span>.callListeners(<span class="literal">"loadModel"</span>);
+    }
+  }
+
+  <span class="comment">/**
+   * Load XML for a model from an httpPayload object.  This will also handle
+   * instantiating template models if they have the "template" attribute set.
+   * To update model data, use:&lt;br/&gt;
+   * httpPayload=new Object();&lt;br/&gt;
+   * httpPayload.url="url" or null. If set to null, all dependant widgets
+   *   will be removed from the display.&lt;br/&gt;
+   * httpPayload.httpMethod="post" or "get"&lt;br/&gt;
+   * httpPayload.postData=XML or null&lt;br/&gt;
+   * <span class="attrib">@param</span> objRef    Pointer to the model object being loaded.
+   * <span class="attrib">@param</span> httpPayload an object to fully specify the request to be made
+   */</span>
+  <span class="reserved">this</span>.newRequest = <span class="reserved">function</span>(objRef, httpPayload){
+    var model = objRef;
+<span class="comment">    // if the targetModel is a template model, then create new model object and</span>
+<span class="comment">    // assign it an id</span>
+    <span class="reserved">if</span> (objRef.template) {
+      var parentNode = objRef.modelNode.parentNode;
+      <span class="reserved">if</span>(_SARISSA_IS_IE) {
+        var newConfigNode = parentNode.appendChild(modelNode.cloneNode(true));
+      }
+      <span class="reserved">else</span> {
+        var newConfigNode = parentNode.appendChild(objRef.modelNode.ownerDocument.importNode(objRef.modelNode,true));
+      }
+      newConfigNode.removeAttribute(<span class="literal">"id"</span>);  //<span class="reserved">this</span> will get created automatically
+      newConfigNode.setAttribute(<span class="literal">"createByTemplate"</span>,<span class="literal">"true"</span>);
+<span class="comment">      //set defaultModelUrl config properties</span>
+      model = objRef.createObject(newConfigNode);
+      model.callListeners(<span class="literal">"init"</span>);
+      <span class="reserved">if</span> (!objRef.templates) objRef.templates = new Array();
+      objRef.templates.push(model);
+    }
+<span class="comment">
+    //set the payload in the model and issue the request</span>
+    model.url = httpPayload.url;
+    <span class="reserved">if</span> (!model.url) model.doc=null;
+    model.method = httpPayload.method;
+    model.postData = httpPayload.postData;
+    model.loadModelDoc(model);
+  }
+ 
+ <span class="comment">/**
+   * deletes all template models and clears their widgets
+   */</span>
+  <span class="reserved">this</span>.deleteTemplates = <span class="reserved">function</span>() {
+    <span class="reserved">if</span> (<span class="reserved">this</span>.templates) {
+      var model;
+      <span class="reserved">while</span>( model=<span class="reserved">this</span>.templates.pop() ) {
+        model.setParam(<span class="literal">"newModel"</span>);
+        var parentNode = <span class="reserved">this</span>.modelNode.parentNode;
+        parentNode.removeChild(model.modelNode);
+      }
+    }
+  }
+<span class="comment">/**
+   * save the model by posting it to the serializeUrl, which is defined as a 
+   * property of config.
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.saveModel = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">if</span> (config.serializeUrl) {
+      var response = postGetLoad(config.serializeUrl, objRef.doc ,<span class="literal">"text/xml"</span>,<span class="literal">""</span>,<span class="literal">""</span>);
+       <span class="reserved">if</span>(! _SARISSA_IS_SAFARI){
+      response.setProperty(<span class="literal">"SelectionLanguage"</span>, <span class="literal">"XPath"</span>);
+      Sarissa.setXpathNamespaces(response, <span class="literal">"xmlns:xlink='http://www.w3.org/1999/xlink'"</span>);
+      }
+      var onlineResource = response.selectSingleNode(<span class="literal">"//OnlineResource"</span>);
+      var fileUrl = onlineResource.attributes.getNamedItem(<span class="literal">"xlink:href"</span>).nodeValue;
+      objRef.setParam(<span class="literal">"modelSaved"</span>, fileUrl);
+    } <span class="reserved">else</span> {
+      alert(mbGetMessage(<span class="literal">"noSerializeUrl"</span>));
+    }
+  }
+
+  <span class="comment">/**
+   * Creates all mapbuilder JavaScript objects based on the Object nodes defined
+   * in the configuration file.
+   * A reference to the created model is stored as a property of the config.objects
+   * property using the model's ID; you can always get a reference to a mapbuilder
+   * object as: "config.objects.objectId"
+   * <span class="attrib">@param</span> configNode The node from config for the model to be created
+   */</span>
+  <span class="reserved">this</span>.createObject = <span class="reserved">function</span>(configNode) {
+    var objectType = configNode.nodeName;
+<span class="comment">    //var evalStr = "new " + objectType + "(configNode,this);";</span>
+<span class="comment">    //var newObject = eval( evalStr );</span>
+<span class="comment">    //hint from Alex Russel alex<span class="attrib">@dojotoolkit</span>.org so we can compress it</span>
+<span class="comment">
+    // If model/tool/widget doesn't exist, exit</span>
+    <span class="reserved">if</span> (!window[objectType]) {
+      alert(mbGetMessage(<span class="literal">"errorCreatingObject"</span>, objectType));
+      <span class="reserved">return</span> false;
+    }
+
+    var newObject = new window[objectType](configNode, <span class="reserved">this</span>);
+    <span class="reserved">if</span> (newObject) {
+      config.objects[newObject.id] = newObject;
+      <span class="reserved">return</span> newObject;
+    } <span class="reserved">else</span> {
+      alert(mbGetMessage(<span class="literal">"errorCreatingObject"</span>, objectType));
+    }
+  }
+
+  <span class="comment">/**
+   * Creates all the mapbuilder objects from the config file as selected by the
+   * XPath value passed in.
+   * <span class="attrib">@param</span> objectXpath The XPath for the set of nodes being created
+   */</span>
+  <span class="reserved">this</span>.loadObjects = <span class="reserved">function</span>(objectXpath) {
+<span class="comment">    //loop through all nodes selected from config</span>
+    var configObjects = <span class="reserved">this</span>.modelNode.selectNodes( objectXpath );
+    <span class="reserved">for</span> (var i=0; i&lt;configObjects.length; i++ ) {
+    <span class="reserved">if</span>(configObjects[i].nodeName != <span class="literal">"#text"</span> &amp;&amp; configObjects[i].nodeName != <span class="literal">"#comment"</span> )
+        {
+      <span class="reserved">this</span>.createObject( configObjects[i]);
+      }
+    }
+  }
+
+  <span class="comment">/**
+   * Initialization of all javascript model, widget and tool objects for this model. 
+   * Calling this method triggers an init event for this model.
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.parseConfig = <span class="reserved">function</span>(objRef) {
+    objRef.loadObjects(<span class="literal">"mb:widgets/*"</span>);
+    objRef.loadObjects(<span class="literal">"mb:tools/*"</span>);
+    objRef.loadObjects(<span class="literal">"mb:models/*"</span>);
+  }
+
+  <span class="comment">/**
+   * Listener registered with the parent model to call refresh listeners when 
+   * the model document is loaded
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.refresh = <span class="reserved">function</span>(objRef) {
+    objRef.setParam(<span class="literal">"refresh"</span>);
+  }
+  <span class="reserved">this</span>.addListener(<span class="literal">"loadModel"</span>,<span class="reserved">this</span>.refresh, <span class="reserved">this</span>);
+
+  <span class="comment">/**
+   * Listener registered with the parent model to call init listeners when 
+   * the parent model is init'ed
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.init = <span class="reserved">function</span>(objRef) {
+    objRef.callListeners(<span class="literal">"init"</span>);
+  }
+
+  <span class="comment">/**
+   * Listener registered with the parent model to remove the doc and url 
+   * of child models whenever the parent is reloaded.
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.clearModel = <span class="reserved">function</span>(objRef) {
+    objRef.doc=null;
+<span class="comment">    //objRef.url=null;</span>
+  }
+<span class="comment">
+  //don't load in models and widgets if this is the config doc, </span>
+<span class="comment">  //defer that to an explcit config.init() call in mapbuilder.js</span>
+  <span class="reserved">if</span> (parentModel) {
+    <span class="reserved">this</span>.parentModel = parentModel;
+    <span class="reserved">this</span>.parentModel.addListener(<span class="literal">"init"</span>,<span class="reserved">this</span>.init, <span class="reserved">this</span>);
+    <span class="reserved">this</span>.parentModel.addListener(<span class="literal">"loadModel"</span>,<span class="reserved">this</span>.loadModelDoc, <span class="reserved">this</span>);
+    <span class="reserved">this</span>.parentModel.addListener(<span class="literal">"newModel"</span>, <span class="reserved">this</span>.clearModel, <span class="reserved">this</span>);
+    <span class="reserved">this</span>.parseConfig(<span class="reserved">this</span>);
+  }
+}
+<span class="comment">
+//ModelBase.prototype.httpStatusMsg = ['uninitialized','loading','loaded','interactive','completed'];</span>
+var httpStatusMsg = [<span class="literal">'uninitialized'</span>,<span class="literal">'loading'</span>,<span class="literal">'loaded'</span>,<span class="literal">'interactive'</span>,<span class="literal">'completed'</span>];
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/AoiBoxOL.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/AoiBoxOL.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/AoiBoxOL.html	(revision 4307)
@@ -0,0 +1,560 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+AoiBoxOL
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="AoiBoxOL";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-AoiBoxOL.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Abstract.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="AoiForm.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AoiBoxOL.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class AoiBoxOL</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<b>AoiBoxOL</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>AoiBoxOL</B>
+   
+      <DT>extends <a href='WidgetBase.html'>WidgetBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <B>Deprecated</B> <I></I><BR/><BR/><I>Defined in <a href='overview-summary-AoiBoxOL.js.html'>AoiBoxOL.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#cursor">cursor</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#handler">handler</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="AoiBoxOL.html#AoiBoxOL()">AoiBoxOL</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Widget to draw an Area Of Interest box of a model.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#clearAoiBox">clearAoiBox</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Clears the AOI box.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#createControl">createControl</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Interactive ZoomOut control.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#drawAoiBox">drawAoiBox</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Draws a bounding box around the current AOI.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#init">init</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="cursor"><!-- --></A>
+   <H3>cursor</H3>
+   <PRE>Object&nbsp;<B>cursor</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="handler"><!-- --></A>
+   <H3>handler</H3>
+   <PRE>Object&nbsp;<B>handler</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="AoiBoxOL()"><!-- --></A><H3>
+AoiBoxOL</H3>
+<PRE><B>AoiBoxOL</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Widget to draw an Area Of Interest box of a model.  The box can be drawn with
+ the paint() method and is registered as a listener of the context AOI property.
+ This object works entirely in pixel/line coordinate space and knows nothing
+ about geography.  This widget uses DHTML methods to draw the box.  Since it
+ does not support a targetModel property, it has to be defined as a child widget
+ of the context of the map that the box should be drawn into.
+ WARNING: This widget cannot be used in maps that use button controls.
+ Button controls take care of aoi handling themselves.
+ It is designed for use in locator map setups only.
+ See also MAP-312
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  The node for this object from the Config file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The model that contains this object.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Deprecated</B> <I></I><BR/><BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="clearAoiBox"><!-- --></A>
+   <H3>clearAoiBox</H3>
+   <PRE>void <B>clearAoiBox</B>(objRef)</PRE>
+   
+      <UL>Clears the AOI box.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this widget      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="createControl"><!-- --></A>
+   <H3>createControl</H3>
+   <PRE>Object <B>createControl</B>(objRef)</PRE>
+   
+      <UL>Interactive ZoomOut control.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this object.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        {OpenLayers.Control} class of the OL control. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="drawAoiBox"><!-- --></A>
+   <H3>drawAoiBox</H3>
+   <PRE>void <B>drawAoiBox</B>(objRef)</PRE>
+   
+      <UL>Draws a bounding box around the current AOI.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this widget      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="init"><!-- --></A>
+   <H3>init</H3>
+   <PRE>void <B>init</B>(objRef)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-AoiBoxOL.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Abstract.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="AoiForm.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AoiBoxOL.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-WfsCapabilities.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-WfsCapabilities.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-WfsCapabilities.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ WfsCapabilities.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" WfsCapabilities.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-WfsCapabilities.js.html" 
+                                        target="classFrame">WfsCapabilities.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WfsCapabilities.html" TARGET="classFrame">WfsCapabilities</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Measurement.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Measurement.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Measurement.js.html	(revision 4307)
@@ -0,0 +1,361 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Measurement.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Measurement.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Measurement.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Measurement.html">Measurement</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author: imke doerge AT geodan.nl
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Measurement.js 3821 2008-02-01 13:58:30Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependencies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/EditButtonBase.js"</span>);
+
+
+<span class="comment">/**
+ * When this button is selected, clicks on the MapPane will add a
+ * new point to a line and the total distance of the line will be calculated
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> EditButtonBase
+ * <span class="attrib">@author</span> Imke Doerge AT geodan.nl
+ * <span class="attrib">@param</span> widgetNode The widget from the Config XML file.
+ * <span class="attrib">@param</span> model  The parent model for this  widget.
+ */</span>
+<span class="reserved">function</span> Measurement(widgetNode, model) {
+  EditButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+  <span class="comment">/**
+   * Interactive EditLine control.
+   * <span class="attrib">@param</span> objRef reference to this object.
+   * <span class="attrib">@return</span> {OpenLayers.Control} class of the OL control.
+   */</span>
+  <span class="reserved">this</span>.createControl = <span class="reserved">function</span>(objRef) {
+    var Control = OpenLayers.Class(OpenLayers.Control.DrawFeature, {
+<span class="comment">      // this is needed because all editing tools are of type</span>
+<span class="comment">      // OpenLayers.Control.DrawFeature</span>
+      CLASS_NAME: <span class="literal">'mbMeasurement'</span>
+    });
+    <span class="reserved">return</span> Control;
+  }
+  
+  <span class="reserved">this</span>.instantiateControl = <span class="reserved">function</span>(objRef, Control) {
+     var control = new Control(objRef.featureLayer, OpenLayers.Handler.Path,
+          {callbacks: {point: objRef.startAction}});
+    control.objRef = objRef;
+    control.activate = <span class="reserved">function</span>() {
+      Control.<span class="reserved">prototype</span>.activate.apply(<span class="reserved">this</span>, arguments);
+      objRef.targetModel.setParam(<span class="literal">'showDistance'</span>, 0);
+    }
+    control.deactivate = <span class="reserved">function</span>() {
+      Control.<span class="reserved">prototype</span>.deactivate.apply(<span class="reserved">this</span>, arguments);
+      objRef.targetModel.setParam(<span class="literal">'showDistance'</span>, null);
+    }
+    <span class="reserved">return</span> control;
+  }
+<span class="comment">  
+  // override default cursor by user</span>
+<span class="comment">  // cursor can be changed by specifying a new cursor in config file</span>
+  <span class="reserved">this</span>.cursor = <span class="literal">"crosshair"</span>;	
+        
+  var totalDistance=0;
+  var distance = 0;
+  var state = false;
+  var restart = false;
+  
+  <span class="reserved">this</span>.startAction = <span class="reserved">function</span>(pointGeometry) {
+    var objRef = <span class="reserved">this</span>.objRef;
+    objRef.pointGeometry = pointGeometry;
+    <span class="reserved">if</span> (!objRef.targetModel.doc) {
+      objRef.targetModel.addListener(<span class="literal">"loadModel"</span>, objRef.doAction, objRef);
+      config.loadModel(objRef.targetModel.id, objRef.defaultModelUrl);
+    } <span class="reserved">else</span> {
+      objRef.doAction(objRef);
+    }
+  }
+  <span class="comment">/**
+   * Append a point to a line and calculate the distance between all
+   * points on the line. This will be called by the OpenLayers control
+   * for this widget in the context of the control.
+   * <span class="attrib">@param</span> pointGeometry OpenLayers Geometry of the point to add
+   */</span>
+  <span class="reserved">this</span>.doAction = <span class="reserved">function</span>(objRef) {
+    pointGeometry = objRef.pointGeometry;
+    objRef.targetModel.removeListener(<span class="literal">"loadModel"</span>, objRef.doAction, objRef);
+    <span class="reserved">if</span> (objRef.enabled) {
+		  <span class="reserved">if</span>(objRef.restart) {
+        objRef.model.setParam(<span class="literal">"clearMeasurementLine"</span>);
+			  objRef.restart= false;
+			}
+      var point=[pointGeometry.x, pointGeometry.y];
+      var old=objRef.targetModel.getXpathValue(objRef.targetModel,objRef.featureXpath);
+      <span class="reserved">if</span>(!old) old=<span class="literal">""</span>;
+        sucess=objRef.targetModel.setXpathValue(objRef.targetModel,objRef.featureXpath,old+<span class="literal">" "</span>+point[0]+<span class="literal">","</span>+point[1]);
+      <span class="reserved">if</span>(!sucess) {
+        alert(mbGetMessage(<span class="literal">"invalidFeatureXpathMeasurement"</span>, objRef.featureXpath));
+      }
+			
+      var lineCoords = objRef.targetModel.getXpathValue(objRef.targetModel, objRef.featureXpath);
+      var coordArray = lineCoords.split(<span class="literal">" "</span>);
+      <span class="reserved">if</span> (coordArray.length &gt;= 3) {
+        var point_P = coordArray[coordArray.length-2];
+        var point_Q = coordArray[coordArray.length-1];
+<span class="comment">            
+        //Split point in x and y coordinate</span>
+        var P =point_P.split(<span class="literal">","</span>);
+        var Q =point_Q.split(<span class="literal">","</span>);
+<span class="comment">              
+        //transform coordinates from lat/lon to x/y in meter </span>
+        objRef.srs = srs.toUpperCase();
+        objRef.proj = new OpenLayers.Projection(objRef.srs);
+        
+        <span class="reserved">if</span> (!P || !Q  ){
+          alert(mbGetMessage(<span class="literal">"projectionNotSupported"</span>));
+        }
+        <span class="reserved">else</span> {
+<span class="comment">          //If projection is in meters use simple pythagoras</span>
+          <span class="reserved">if</span>(objRef.proj.getUnits() == <span class="literal">"meters"</span> || objRef.proj.getUnits() == <span class="literal">"m"</span>) {
+            Xp=parseFloat(P[0]);
+            Yp=parseFloat(P[1]);
+            Xq=parseFloat(Q[0]);
+            Yq=parseFloat(Q[1]);
+<span class="comment">            // calculate the distance between these two points via Pythagoras' theorem  </span>
+            distance=Math.sqrt(((Xp-Xq)*(Xp-Xq))+((Yp-Yq)*(Yp-Yq)))
+			      <span class="reserved">if</span>(distance==0) {
+              objRef.restart = true;
+              objRef.model.setParam(<span class="literal">"clearMouseLine"</span>);objRef.targetModel.setParam(<span class="literal">"mouseRenderer"</span>, false);
+		    		<span class="reserved">return</span>;
+				  	}
+            totalDistance = Math.round(totalDistance + distance);
+          }
+<span class="comment">          //If projection is in degrees use great circle formulae </span>
+<span class="comment">          //http://williams.best.vwh.net/avform.htm#GCF</span>
+          <span class="reserved">else</span> <span class="reserved">if</span>(objRef.proj.getUnits() == <span class="literal">"degrees"</span> || objRef.proj.getUnits() == null) {
+            var deg2rad = Math.PI / 180.0
+            var centerOfEarth=new Array(0,0);
+            LonpRad=parseFloat(P[0]) * deg2rad;
+            LatpRad=parseFloat(P[1]) * deg2rad;
+            LonqRad=parseFloat(Q[0]) * deg2rad;
+            LatqRad=parseFloat(Q[1]) * deg2rad;
+            
+            <span class="reserved">if</span>((LonpRad&gt;0 &amp;&amp; LonqRad&lt;0) || (LonpRad&lt;0 &amp;&amp; LonqRad&gt;0)){
+	            <span class="reserved">if</span>(LonpRad&lt;0){
+	           	 	radDistance=Math.acos(Math.sin(LatpRad)*Math.sin(LatqRad)+Math.cos(LatpRad)*Math.cos(LatqRad)*Math.cos(LonpRad));
+	            	radDistance+=Math.acos(Math.sin(LatpRad)*Math.sin(LatqRad)+Math.cos(LatpRad)*Math.cos(LatqRad)*Math.cos(LonqRad));
+	            }
+	            <span class="reserved">if</span>(LonqRad&lt;0){
+	            	radDistance=Math.acos(Math.sin(LatpRad)*Math.sin(LatqRad)+Math.cos(LatpRad)*Math.cos(LatqRad)*Math.cos(LonqRad));
+	            	radDistance+=Math.acos(Math.sin(LatpRad)*Math.sin(LatqRad)+Math.cos(LatpRad)*Math.cos(LatqRad)*Math.cos(LonpRad));
+	            }
+             }
+             <span class="reserved">else</span>{
+             
+            	radDistance=Math.acos(Math.sin(LatpRad)*Math.sin(LatqRad)+Math.cos(LatpRad)*Math.cos(LatqRad)*Math.cos(LonpRad-LonqRad));
+            
+            }
+<span class="comment">            //radDistance=Math.acos(Math.sin(Latp)*Math.sin(Latq)+Math.cos(Latp)*Math.cos(Latq)*Math.cos(Lonp-Lonq));</span>
+            distance =radDistance * 6378137;
+            <span class="reserved">if</span>(distance==0) {
+              objRef.restart = true;
+              objRef.model.setParam(<span class="literal">"clearMouseLine"</span>);objRef.targetModel.setParam(<span class="literal">"mouseRenderer"</span>, false);
+            <span class="reserved">return</span>;
+            }
+            totalDistance = Math.round(totalDistance + distance);
+          }
+          <span class="reserved">else</span> alert(mbGetMessage(<span class="literal">"cantCalculateDistance"</span>));
+        }
+      }    
+      objRef.targetModel.setParam(<span class="literal">"showDistance"</span>, totalDistance); // set parameter <span class="reserved">for</span> the distance output
+    }
+  }
+  
+  <span class="comment">/**
+   * This will be called as defined in EditButtonBase.js. It is called
+   * when measurement is finished (ie. when user double-clicks on the map)
+   * <span class="attrib">@param</span> objRef reference to this widget
+   * <span class="attrib">@param</span> feature complete measurement path - currently unused.
+   */</span>
+  <span class="reserved">this</span>.setFeature = <span class="reserved">function</span>(objRef, feature) {
+    objRef.restart = true;
+  }
+    
+  <span class="reserved">this</span>.clearMeasurementLine = <span class="reserved">function</span>(objRef){
+    <span class="reserved">if</span> (totalDistance !=0) {
+      totalDistance=0;
+      sucess=objRef.targetModel.setXpathValue(objRef.targetModel,objRef.featureXpath,<span class="literal">""</span>);
+      <span class="reserved">if</span>(!sucess){
+        alert(mbGetMessage(<span class="literal">"invalidFeatureXpathMeasurement"</span>, objRef.featureXpath));
+      }
+      objRef.targetModel.setParam(<span class="literal">"refresh"</span>);
+    }
+  }
+<span class="comment">  //add a Listener to the model</span>
+	<span class="reserved">this</span>.model.addListener(<span class="literal">"clearMeasurementLine"</span>, <span class="reserved">this</span>.clearMeasurementLine, <span class="reserved">this</span>);
+
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/Config.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Config.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Config.html	(revision 4307)
@@ -0,0 +1,652 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Config
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Config";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Config.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="CollectionList.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Context.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Config.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Config</H2>
+<PRE>Object
+   |
+   +--<a href='Listener.html'>Listener</a>
+         |
+         +--<a href='ModelBase.html'>ModelBase</a>
+               |
+               +--<b>Config</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Config</B>
+   
+      <DT>extends <a href='ModelBase.html'>ModelBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <B>Author:</B> adair  <BR/><I>Defined in <a href='overview-summary-Config.js.html'>Config.js</a></I><BR/><BR/><B>Requires:</B><UL>- <a href="Sarissa.html#">Sarissa</a></UL>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#defaultLang">defaultLang</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;multilingual support; defaults to english 
+ Set via a "language" parameter in the URL, 
+ or by setting a global "language" Javascript variable in the page <HEAD>.</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#doc">doc</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;open the application specific configuration document, passed in aas the url argument.</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#lang">lang</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#namespace">namespace</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#objects">objects</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the objects property holds a reference to every mapbuilder javascript object
+ created.</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#proxyUrl">proxyUrl</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#serializeUrl">serializeUrl</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#skinDir">skinDir</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#url">url</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#widgetText">widgetText</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ModelBase.html">ModelBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ModelBase.html#async">async</a>, <a href="ModelBase.html#contentType">contentType</a>, <a href="ModelBase.html#modelNode">modelNode</a>, <a href="ModelBase.html#id">id</a>, <a href="ModelBase.html#title">title</a>, <a href="ModelBase.html#debug">debug</a>, <a href="ModelBase.html#url">url</a>, <a href="ModelBase.html#method">method</a>, <a href="ModelBase.html#namespace">namespace</a>, <a href="ModelBase.html#template">template</a>, <a href="ModelBase.html#nodeSelectXpath">nodeSelectXpath</a>, <a href="ModelBase.html#config">config</a>, <a href="ModelBase.html#parentModel">parentModel</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="Listener.html">Listener</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="Listener.html#listeners">listeners</a>, <a href="Listener.html#values">values</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Config.html#Config()">Config</A> 
+	 </B>
+	 (url)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      The config object is the parent model of all mapbuilder objects.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#loadModel">loadModel</A></B>( modelId, modelUrl )
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Load a model and its child models, widgets and tools.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#paintWidget">paintWidget</A></B>( widget )
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Repaint the widget passed in.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ModelBase.html">ModelBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ModelBase.html#getProperty">getProperty</a>, <a href="ModelBase.html#getXpathValue">getXpathValue</a>, <a href="ModelBase.html#setXpathValue">setXpathValue</a>, <a href="ModelBase.html#loadModelDoc">loadModelDoc</a>, <a href="ModelBase.html#setModel">setModel</a>, <a href="ModelBase.html#finishLoading">finishLoading</a>, <a href="ModelBase.html#newRequest">newRequest</a>, <a href="ModelBase.html#deleteTemplates">deleteTemplates</a>, <a href="ModelBase.html#saveModel">saveModel</a>, <a href="ModelBase.html#createObject">createObject</a>, <a href="ModelBase.html#loadObjects">loadObjects</a>, <a href="ModelBase.html#parseConfig">parseConfig</a>, <a href="ModelBase.html#refresh">refresh</a>, <a href="ModelBase.html#init">init</a>, <a href="ModelBase.html#clearModel">clearModel</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="Listener.html">Listener</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="Listener.html#addListener">addListener</a>, <a href="Listener.html#addFirstListener">addFirstListener</a>, <a href="Listener.html#removeListener">removeListener</a>, <a href="Listener.html#callListeners">callListeners</a>, <a href="Listener.html#setParam">setParam</a>, <a href="Listener.html#getParam">getParam</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="defaultLang"><!-- --></A>
+   <H3>defaultLang</H3>
+   <PRE>Object&nbsp;<B>defaultLang</B></PRE>
+   <UL>
+   multilingual support; defaults to english 
+ Set via a "language" parameter in the URL, 
+ or by setting a global "language" Javascript variable in the page <HEAD>.
+ Retrieve the language value from the global conifg object as "config.lang"
+   
+   </UL>
+   <HR>
+   
+   <A NAME="doc"><!-- --></A>
+   <H3>doc</H3>
+   <PRE>Object&nbsp;<B>doc</B></PRE>
+   <UL>
+   open the application specific configuration document, passed in aas the url argument.
+   
+   </UL>
+   <HR>
+   
+   <A NAME="lang"><!-- --></A>
+   <H3>lang</H3>
+   <PRE>Object&nbsp;<B>lang</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="namespace"><!-- --></A>
+   <H3>namespace</H3>
+   <PRE>Object&nbsp;<B>namespace</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="objects"><!-- --></A>
+   <H3>objects</H3>
+   <PRE>Object&nbsp;<B>objects</B></PRE>
+   <UL>
+   the objects property holds a reference to every mapbuilder javascript object
+ created.  Each object is added as a property of config.objects using the
+ value of the object id from the configuration file
+   
+   </UL>
+   <HR>
+   
+   <A NAME="proxyUrl"><!-- --></A>
+   <H3>proxyUrl</H3>
+   <PRE>Object&nbsp;<B>proxyUrl</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="serializeUrl"><!-- --></A>
+   <H3>serializeUrl</H3>
+   <PRE>Object&nbsp;<B>serializeUrl</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="skinDir"><!-- --></A>
+   <H3>skinDir</H3>
+   <PRE>Object&nbsp;<B>skinDir</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="url"><!-- --></A>
+   <H3>url</H3>
+   <PRE>Object&nbsp;<B>url</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="widgetText"><!-- --></A>
+   <H3>widgetText</H3>
+   <PRE>Object&nbsp;<B>widgetText</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Config()"><!-- --></A><H3>
+Config</H3>
+<PRE><B>Config</B>(url)</PRE>
+
+
+<UL>
+   The config object is the parent model of all mapbuilder objects.
+ The application creates a global object called 'config' which represents
+ the mapbuilder configuration xml file passed in as a parameter.
+ Config is a model like any other model.  
+ Any mapbuilder object can be de-referenced by using the 'config.objects' 
+ property as in config.objects.idValueFromConfig.
+ The schema for the config can be found at /mabuilder/lib/schemas/config.xsd
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>url</CODE> -  URL of the configuration file.    
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> adair  <BR/><B>Requires:</B><UL>- <a href="Sarissa.html#">Sarissa</a></UL>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="loadModel"><!-- --></A>
+   <H3>loadModel</H3>
+   <PRE>void <B>loadModel</B>( modelId, modelUrl )</PRE>
+   
+      <UL>Load a model and its child models, widgets and tools.
+ This function can be called at any time to load a new model or replace an
+ existing model object.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>modelId</CODE> -    the id of the model in config XML to be updated  
+      </UL> 
+   
+     <UL><CODE>modelUrl</CODE> -   URL of the XML model document to be loaded      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="paintWidget"><!-- --></A>
+   <H3>paintWidget</H3>
+   <PRE>void <B>paintWidget</B>( widget )</PRE>
+   
+      <UL>Repaint the widget passed in.  
+ This function can be called at any time to paint the widget.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widget</CODE> -    a pointer to the widget object to be painted.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Config.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="CollectionList.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Context.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Config.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-SelectFeatureType.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-SelectFeatureType.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-SelectFeatureType.js.html	(revision 4307)
@@ -0,0 +1,189 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="SelectFeatureType.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>SelectFeatureType.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'SelectFeatureType.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="SelectFeatureType.html">SelectFeatureType</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: SelectFeatureType.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Presents the list of FeatureTypes from a WFS capabilities doc.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> SelectFeatureType(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ModelUrlInput.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ModelUrlInput.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-ModelUrlInput.js.html	(revision 4307)
@@ -0,0 +1,272 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="ModelUrlInput.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>ModelUrlInput.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'ModelUrlInput.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="ModelUrlInput.html">ModelUrlInput</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: ModelUrlInput.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Widget to display the a form to input any model's URL and load the new URL 
+ * as the model's document
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode  This widget's object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model that this widget is a view of.
+ */</span>
+
+<span class="reserved">function</span> ModelUrlInput(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+<span class="comment">
+  //a default value to be used in the form</span>
+  <span class="reserved">this</span>.defaultUrl = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:defaultUrl"</span>);
+
+  <span class="comment">/**
+   * Handles submission of the form (via javascript in an &lt;a&gt; tag)
+   */</span>
+  <span class="reserved">this</span>.submitForm = <span class="reserved">function</span>() {
+    var httpPayload = new Object();
+    httpPayload.url = <span class="reserved">this</span>.urlInputForm.defaultUrl.value;
+    httpPayload.method = <span class="reserved">this</span>.targetModel.method;
+<span class="comment">/*
+    for (var i=0; i&lt;httpMethod.length; ++i) {   //loop through radio buttons
+      if (httpMethod[i].checked) {
+        httpPayload.method = httpMethod[i].value;
+        if (httpPayload.method.toLowerCase() == "post") {
+          httpPayload.postData = null; //TBD get this from somewhere? or not allow post?
+          mbDebugMessage(this, "postData:"+httpPayload.postData.xml);
+        } else {
+          httpPayload.postData = null;
+        }
+        break;
+      }
+    }
+*/</span>    
+    <span class="reserved">this</span>.targetModel.newRequest(<span class="reserved">this</span>.targetModel,httpPayload);
+  }
+
+  <span class="comment">/**
+   * handles keypress events to filter out everything except "enter".  
+   * Pressing the "enter" key will trigger a form submit
+   * <span class="attrib">@param</span> event  the event object passed in for Mozilla; IE uses window.event
+   */</span>
+  <span class="reserved">this</span>.handleKeyPress = <span class="reserved">function</span>(event) {
+    var keycode;
+    var target;
+    <span class="reserved">if</span> (event){
+<span class="comment">      //Mozilla</span>
+      keycode=event.which;
+      target=event.currentTarget;
+    }<span class="reserved">else</span>{
+<span class="comment">      //IE</span>
+      keycode=window.event.keyCode;
+      target=window.event.srcElement.form;
+    }
+
+    <span class="reserved">if</span> (keycode == 13) {    //enter key
+      target.parentWidget.submitForm();
+    <span class="reserved">return</span> false;   //prevent the form from actually being submitted
+    }
+  }
+
+  <span class="comment">/**
+   * initializes stylesheet parameters for the form
+   * <span class="attrib">@param</span> objRef Pointer to this widget object.
+   */</span>
+  <span class="reserved">this</span>.prePaint = <span class="reserved">function</span>(objRef) {
+    objRef.stylesheet.setParameter(<span class="literal">"modelTitle"</span>, objRef.targetModel.title);
+    <span class="reserved">if</span> (!objRef.defaultUrl) objRef.defaultUrl = objRef.targetModel.url;
+    objRef.stylesheet.setParameter(<span class="literal">"defaultUrl"</span>, objRef.defaultUrl);
+  }
+
+  <span class="comment">/**
+   * Refreshes the form and event handlers when this widget is painted.
+   * <span class="attrib">@param</span> objRef Pointer to this CurorTrack object.
+   */</span>
+  <span class="reserved">this</span>.postPaint = <span class="reserved">function</span>(objRef) {
+    objRef.urlInputForm = document.getElementById(objRef.formName);
+    objRef.urlInputForm.parentWidget = objRef;
+    objRef.urlInputForm.onkeypress = objRef.handleKeyPress;
+<span class="comment">    //objRef.WebServiceForm.onsubmit = objRef.submitForm;</span>
+<span class="comment">    //objRef.WebServiceForm.mapsheet.onblur = objRef.setMapsheet;</span>
+  }
+<span class="comment">
+  //set some properties for the form output</span>
+  <span class="reserved">this</span>.formName = <span class="literal">"urlInputForm_"</span> + mbIds.getId();
+  <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"formName"</span>, <span class="reserved">this</span>.formName);
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/SetAoi.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/SetAoi.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/SetAoi.html	(revision 4307)
@@ -0,0 +1,334 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+SetAoi
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="SetAoi";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-SetAoi.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="ServiceRegistryList.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ShowDistance.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SetAoi.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class SetAoi</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<b>SetAoi</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>SetAoi</B>
+   
+      <DT>extends <a href='ButtonBase.html'>ButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-SetAoi.js.html'>SetAoi.js</a></I><BR/><BR/><B>Author:</B> Andreas Hocevar andreas.hocevarATgmail.com  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="SetAoi.html#SetAoi()">SetAoi</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Set AOI button.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#doSelect">doSelect</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="SetAoi()"><!-- --></A><H3>
+SetAoi</H3>
+<PRE><B>SetAoi</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Set AOI button.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -       The tool node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -   The ButtonBar widget.    
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Andreas Hocevar andreas.hocevarATgmail.com  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-SetAoi.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="ServiceRegistryList.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="ShowDistance.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SetAoi.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Back.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Back.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Back.html	(revision 4307)
@@ -0,0 +1,407 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Back
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Back";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Back.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="AoiForm.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Button.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Back.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Back</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<b>Back</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Back</B>
+   
+      <DT>extends <a href='ButtonBase.html'>ButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Back.js.html'>Back.js</a></I><BR/><BR/><B>Author:</B> Steven Ottens AT geodan.nl  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Back.html#Back()">Back</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      When this button is pressed the map will reload with it's original extent
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#createControl">createControl</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Interactive ZoomOut control.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#doSelect">doSelect</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Back()"><!-- --></A><H3>
+Back</H3>
+<PRE><B>Back</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   When this button is pressed the map will reload with it's original extent
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -       The widget node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -   The model for this widget
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Steven Ottens AT geodan.nl  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="createControl"><!-- --></A>
+   <H3>createControl</H3>
+   <PRE>Object <B>createControl</B>(objRef)</PRE>
+   
+      <UL>Interactive ZoomOut control.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this object.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        {OpenLayers.Control} instance of the OL control. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Back.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="AoiForm.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="Button.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Back.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Save.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Save.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Save.html	(revision 4307)
@@ -0,0 +1,410 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Save
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Save";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Save.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Sarissa.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="SelectAllMapLayers.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Save.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Save</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<b>Save</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Save</B>
+   
+      <DT>extends <a href='ButtonBase.html'>ButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Save.js.html'>Save.js</a></I><BR/><BR/><B>Author:</B> Mike Adair mike.adairATccrs.nrcan.gc.ca  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Save.html#Save()">Save</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      When this button is pressed the targetModel is posted to the serializeUrl.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#createControl">createControl</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Save model control.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#doSelect">doSelect</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Save()"><!-- --></A><H3>
+Save</H3>
+<PRE><B>Save</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   When this button is pressed the targetModel is posted to the serializeUrl.
+ Also defines a listener function for the "modelSaved" event which opens 
+ the serialized document in a new browser window but only
+ if the a popupWindowName property is defined for the button in config.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -   The model for this widget
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Mike Adair mike.adairATccrs.nrcan.gc.ca  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="createControl"><!-- --></A>
+   <H3>createControl</H3>
+   <PRE>Object <B>createControl</B>(objRef)</PRE>
+   
+      <UL>Save model control.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this object.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        {OpenLayers.Control} instance of the OL control. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Save.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Sarissa.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="SelectAllMapLayers.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Save.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-EditPoint.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-EditPoint.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-EditPoint.js.html	(revision 4307)
@@ -0,0 +1,197 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="EditPoint.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>EditPoint.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'EditPoint.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="EditPoint.html">EditPoint</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: EditPoint.js 3807 2008-01-18 13:57:21Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/EditButtonBase.js"</span>);
+
+<span class="comment">/**
+ * When this button is selected, clicks on the MapPane will add a
+ * new point to a model.
+ * Requires an enclosing GML model.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> EditButtonBase
+ * <span class="attrib">@author</span> Cameron Shorter cameronATshorter.net
+ * <span class="attrib">@param</span> widgetNode The node from the Config XML file.
+ * <span class="attrib">@param</span> model  The ButtonBar widget.
+ */</span>
+<span class="reserved">function</span> EditPoint(widgetNode, model) {
+<span class="comment">  // Extend EditButtonBase</span>
+  EditButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+  
+  <span class="reserved">this</span>.instantiateControl = <span class="reserved">function</span>(objRef, Control) {
+    <span class="reserved">return</span> new Control(objRef.featureLayer, OpenLayers.Handler.Point);
+  }
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/allclasses-frame.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/allclasses-frame.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/allclasses-frame.html	(revision 4307)
@@ -0,0 +1,659 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ All Classes 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" All Classes";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary.html" target="classFrame">All Classes</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Abstract.html" TARGET="classFrame">Abstract</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="AoiBoxOL.html" TARGET="classFrame">AoiBoxOL</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="AoiForm.html" TARGET="classFrame">AoiForm</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Back.html" TARGET="classFrame">Back</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Button.html" TARGET="classFrame">Button</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ButtonBase.html" TARGET="classFrame">ButtonBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Caps2Context.html" TARGET="classFrame">Caps2Context</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="CollectionList.html" TARGET="classFrame">CollectionList</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Config.html" TARGET="classFrame">Config</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Context.html" TARGET="classFrame">Context</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="CursorTrack.html" TARGET="classFrame">CursorTrack</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="DeleteFeature.html" TARGET="classFrame">DeleteFeature</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="DOMParser.html" TARGET="classFrame">DOMParser</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="DragPan.html" TARGET="classFrame">DragPan</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="EditButtonBase.html" TARGET="classFrame">EditButtonBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="EditContext.html" TARGET="classFrame">EditContext</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="EditLine.html" TARGET="classFrame">EditLine</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="EditPoint.html" TARGET="classFrame">EditPoint</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="EditPolygon.html" TARGET="classFrame">EditPolygon</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="EventLog.html" TARGET="classFrame">EventLog</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Extent.html" TARGET="classFrame">Extent</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="FeatureCollection.html" TARGET="classFrame">FeatureCollection</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="FeatureInfo.html" TARGET="classFrame">FeatureInfo</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="FeatureList.html" TARGET="classFrame">FeatureList</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="FeatureSelectHandler.html" TARGET="classFrame">FeatureSelectHandler</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="FilterAttributes.html" TARGET="classFrame">FilterAttributes</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="FormBase.html" TARGET="classFrame">FormBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Forward.html" TARGET="classFrame">Forward</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GeoRSS.html" TARGET="classFrame">GeoRSS</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GetFeatureInfo.html" TARGET="classFrame">GetFeatureInfo</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GetFeatureInfoWSR.html" TARGET="classFrame">GetFeatureInfoWSR</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GLOBALS.html" TARGET="classFrame">GLOBALS</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GmlRendererBase.html" TARGET="classFrame">GmlRendererBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GmlRendererConfig.html" TARGET="classFrame">GmlRendererConfig</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GmlRendererOL.html" TARGET="classFrame">GmlRendererOL</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Graticule.html" TARGET="classFrame">Graticule</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="HandsomeNumber.html" TARGET="classFrame">HandsomeNumber</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="History.html" TARGET="classFrame">History</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="InsertFeature.html" TARGET="classFrame">InsertFeature</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="LayerControl.html" TARGET="classFrame">LayerControl</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Legend.html" TARGET="classFrame">Legend</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="LegendGraphic.html" TARGET="classFrame">LegendGraphic</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Listener.html" TARGET="classFrame">Listener</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Loading.html" TARGET="classFrame">Loading</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Loading2.html" TARGET="classFrame">Loading2</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Locations.html" TARGET="classFrame">Locations</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Logger.html" TARGET="classFrame">Logger</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Mapbuilder.html" TARGET="classFrame">Mapbuilder</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="MapPaneOL.html" TARGET="classFrame">MapPaneOL</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="MapScaleBar.html" TARGET="classFrame">MapScaleBar</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="MapScaleText.html" TARGET="classFrame">MapScaleText</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="MapTitle.html" TARGET="classFrame">MapTitle</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Measurement.html" TARGET="classFrame">Measurement</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="MergeModels.html" TARGET="classFrame">MergeModels</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Model.html" TARGET="classFrame">Model</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ModelBase.html" TARGET="classFrame">ModelBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ModelStatus.html" TARGET="classFrame">ModelStatus</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ModelUrlInput.html" TARGET="classFrame">ModelUrlInput</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="MovieLoop.html" TARGET="classFrame">MovieLoop</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="OpenLSForm.html" TARGET="classFrame">OpenLSForm</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="OpenLSResponse.html" TARGET="classFrame">OpenLSResponse</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="OverviewMap.html" TARGET="classFrame">OverviewMap</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="OwsCatResources.html" TARGET="classFrame">OwsCatResources</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="OWSCatSearchForm.html" TARGET="classFrame">OWSCatSearchForm</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="OwsContext.html" TARGET="classFrame">OwsContext</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="PanZoomBar.html" TARGET="classFrame">PanZoomBar</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Reset.html" TARGET="classFrame">Reset</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Sarissa.html" TARGET="classFrame">Sarissa</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Save.html" TARGET="classFrame">Save</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="SelectAllMapLayers.html" TARGET="classFrame">SelectAllMapLayers</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="SelectFeatureType.html" TARGET="classFrame">SelectFeatureType</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="SelectFromAtomFeed.html" TARGET="classFrame">SelectFromAtomFeed</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="SelectMapLayers.html" TARGET="classFrame">SelectMapLayers</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="SelectTimeFrame.html" TARGET="classFrame">SelectTimeFrame</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ServiceRegistryList.html" TARGET="classFrame">ServiceRegistryList</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="SetAoi.html" TARGET="classFrame">SetAoi</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ShowDistance.html" TARGET="classFrame">ShowDistance</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="StyledLayerDescriptor.html" TARGET="classFrame">StyledLayerDescriptor</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TabbedContent.html" TARGET="classFrame">TabbedContent</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Timer.html" TARGET="classFrame">Timer</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Timestamp.html" TARGET="classFrame">Timestamp</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TipWidgetBase.html" TARGET="classFrame">TipWidgetBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TipWidgetConfig.html" TARGET="classFrame">TipWidgetConfig</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TipWidgetOL.html" TARGET="classFrame">TipWidgetOL</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ToolBase.html" TARGET="classFrame">ToolBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Transaction.html" TARGET="classFrame">Transaction</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TransactionResponse.html" TARGET="classFrame">TransactionResponse</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Version.html" TARGET="classFrame">Version</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WebServiceForm.html" TARGET="classFrame">WebServiceForm</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WebServiceRequest.html" TARGET="classFrame">WebServiceRequest</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WfsCapabilities.html" TARGET="classFrame">WfsCapabilities</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WfsGetFeature.html" TARGET="classFrame">WfsGetFeature</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Widget.html" TARGET="classFrame">Widget</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WidgetBase.html" TARGET="classFrame">WidgetBase</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WidgetBaseXSL.html" TARGET="classFrame">WidgetBaseXSL</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WmsCapabilities.html" TARGET="classFrame">WmsCapabilities</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WpsCapabilities.html" TARGET="classFrame">WpsCapabilities</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WpsDescribeProcess.html" TARGET="classFrame">WpsDescribeProcess</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="XMLHttpRequest.html" TARGET="classFrame">XMLHttpRequest</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="XMLSerializer.html" TARGET="classFrame">XMLSerializer</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="XslProcessor.html" TARGET="classFrame">XslProcessor</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="XSLTProcessor.html" TARGET="classFrame">XSLTProcessor</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ZoomIn.html" TARGET="classFrame">ZoomIn</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ZoomOut.html" TARGET="classFrame">ZoomOut</A>
+<BR>
+</FONT></TD>
+</TR>
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ZoomToAoi.html" TARGET="classFrame">ZoomToAoi</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-EditButtonBase.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-EditButtonBase.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-EditButtonBase.js.html	(revision 4307)
@@ -0,0 +1,353 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="EditButtonBase.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>EditButtonBase.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'EditButtonBase.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="EditButtonBase.html">EditButtonBase</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: EditButtonBase.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/ButtonBase.js"</span>);
+
+<span class="comment">/**
+ * Base class for tools which update GML by clicking on the mapPane.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ButtonBase
+ * <span class="attrib">@author</span> Cameron Shorter cameronATshorter.net
+ * <span class="attrib">@param</span> widgetNode The node from the Config XML file.
+ * <span class="attrib">@param</span> model  The ButtonBar widget.
+ */</span>
+<span class="reserved">function</span> EditButtonBase(widgetNode, model) {
+<span class="comment">  // Extend ButtonBase</span>
+  ButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+<span class="comment">
+  // override default cursor by user</span>
+<span class="comment">  // cursor can be changed by specifying a new cursor in config file</span>
+  <span class="reserved">this</span>.cursor = <span class="literal">"crosshair"</span>; 
+
+  <span class="reserved">this</span>.trm=<span class="reserved">this</span>.getProperty(<span class="literal">"mb:transactionResponseModel"</span>);
+
+  <span class="comment">/** Empty GML to load when this tool is selected. */</span>
+  <span class="reserved">this</span>.defaultModelUrl=<span class="reserved">this</span>.getProperty(<span class="literal">"mb:defaultModelUrl"</span>);
+
+  <span class="comment">/** Reference to GML node to update when a feature is added. */</span>
+  <span class="reserved">this</span>.featureXpath=<span class="reserved">this</span>.getProperty(<span class="literal">"mb:featureXpath"</span>);
+
+  <span class="comment">/** Should a new empty feature be appended after creating one? */</span>
+  <span class="reserved">this</span>.appendOnEdit = Mapbuilder.parseBoolean(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:appendOnEdit"</span>, true));
+
+  <span class="comment">/**
+   * OpenLayers DrawFeature control.
+   * <span class="attrib">@param</span> objRef reference to this object.
+   * <span class="attrib">@return</span> {OpenLayers.Control} class of the OL control.
+   */</span>
+  <span class="reserved">this</span>.createControl = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">return</span> OpenLayers.Control.DrawFeature;
+  }
+  
+  <span class="comment">/**
+   * If tool is selected and the Edit Tool has changed (eg, changed from
+   * LineEdit to PointEdit) then load new default feature.
+   * This function is called when a tool is selected or deselected.
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   * <span class="attrib">@param</span> selected True when selected.
+   */</span>
+  <span class="reserved">this</span>.doSelect = <span class="reserved">function</span>(objRef, selected) {
+    <span class="reserved">if</span> (objRef.control.active) {
+<span class="comment">      // Model that will be populated with the WFS response.</span>
+      <span class="reserved">if</span> (objRef.trm &amp;&amp; !objRef.transactionResponseModel){
+        objRef.transactionResponseModel=window.config.objects[objRef.trm];
+      }
+<span class="comment">      // Remove the transactionResponseModel (and result of last transaction)</span>
+<span class="comment">      // when a transaction button is deselected</span>
+      <span class="reserved">if</span>(!selected &amp;&amp; objRef.transactionResponseModel){
+        objRef.transactionResponseModel.setModel(objRef.transactionResponseModel,null);
+      }
+      
+      config.loadModel(objRef.targetModel.id, objRef.defaultModelUrl);
+    }
+  }
+  
+  <span class="comment">/**
+   * start a new editing session
+   * <span class="attrib">@param</span> objRef reference to this widget
+   */</span>
+  <span class="reserved">this</span>.newSession = <span class="reserved">function</span>(objRef) {
+    objRef.modified = false;
+  }
+
+  <span class="comment">/**
+   * This is called by the OL onFeatureInsert handler. It will
+   * call the superclass's setFeature() method to handle the
+   * created feature.
+   * <span class="attrib">@param</span> feature OpenLayers feature
+   */</span>
+  <span class="reserved">this</span>.handleFeatureInsert = <span class="reserved">function</span>(feature) {
+<span class="comment">    // use the objRef reference stored by setEditingLayer()</span>
+    var objRef = feature.layer.mbButton;
+    objRef.feature = OpenLayers.Util.extend({}, feature);
+    objRef.geometry = OpenLayers.Util.extend({}, feature.geometry);
+    
+    var previousFeatureNode = objRef.targetModel.doc.selectSingleNode(<span class="literal">"/*/*"</span>).cloneNode(true);
+<span class="comment">
+    // add a new empty node if this is not the first feature</span>
+    <span class="reserved">if</span> (objRef.modified &amp;&amp; objRef.appendOnEdit) {
+      objRef.targetModel.doc.selectSingleNode(<span class="literal">"/*"</span>).appendChild(previousFeatureNode);
+    }
+
+    objRef.setFeature(objRef);
+    objRef.modified = true;
+<span class="comment">    
+    // destroy the feature in OL, because we do not use</span>
+<span class="comment">    // the OL vector layer for displaying the feature</span>
+    feature.mbSelectStyle = null;
+    feature.destroy();
+  }
+
+  <span class="comment">/**
+   * Set editing layer and register for editing events in OL,
+   * called after model loads.
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.setEditingLayer = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">if</span> (!objRef.targetContext.featureLayers[objRef.id]) {
+      objRef.featureLayer = new OpenLayers.Layer.Vector(objRef.id);
+<span class="comment">      // layer should always be visible, independent of the resolution</span>
+      objRef.featureLayer.calculateInRange = <span class="reserved">function</span>() {<span class="reserved">return</span> true;};
+<span class="comment">      // set objRef as mbButton attribute of the OL featureLayer,</span>
+<span class="comment">      // because we otherwise don't have it available in</span>
+<span class="comment">      // handleFeatureInsert()</span>
+      objRef.featureLayer.mbButton = objRef;
+      objRef.targetContext.featureLayers[objRef.id] = objRef.featureLayer;
+<span class="comment">      // register OL event handler</span>
+      objRef.featureLayer.onFeatureInsert = objRef.handleFeatureInsert;
+    }
+  }
+
+  <span class="comment">/**
+   * Add a geometry to the enclosing GML model.
+   * <span class="attrib">@param</span> objRef      Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.setFeature = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">if</span> (!objRef.enabled) {
+      <span class="reserved">return</span>;
+    }
+
+    var gml = new OpenLayers.Format.GML().write([objRef.feature]);
+    var gmlDoc = Sarissa.getDomDocument();
+    gmlDoc = (new DOMParser()).parseFromString(gml, <span class="literal">"text/xml"</span>);
+    <span class="reserved">if</span> (objRef.targetModel.namespace) {
+      Sarissa.setXpathNamespaces(gmlDoc, objRef.targetModel.namespace);
+    }
+    var insertPoint = objRef.featureXpath.lastIndexOf(<span class="literal">"/"</span>)+1;
+    var insertXpath = objRef.featureXpath.substring(insertPoint);
+    var insertNode = gmlDoc.selectSingleNode(<span class="literal">"//"</span>+insertXpath);
+    <span class="reserved">if</span> (!insertNode) {
+      insertNode = gmlDoc.selectSingleNode(<span class="literal">"//gml:featureMember/*/*"</span>);
+    }
+    var targetNode = objRef.targetModel.doc.selectSingleNode(objRef.featureXpath);
+    <span class="reserved">if</span> (targetNode.childNodes.length &gt; 0) {
+      targetNode.removeChild(targetNode.firstChild);
+    }
+
+    try {
+      Sarissa.copyChildNodes(insertNode, targetNode);
+    } catch(e) {
+      alert(mbGetMessage(<span class="literal">"invalidFeatureXpathEditLine"</span>, objRef.featureXpath));      
+    }
+    objRef.targetModel.setParam(<span class="literal">"refresh"</span>);
+  }
+
+  <span class="comment">/**
+   * Create the array that will hold all OL feature layers
+   * for editing buttons. Also register event handler to
+   * create feature layers when the OL map is available.
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.initButton = <span class="reserved">function</span>(objRef) {
+<span class="comment">    // initialize feature layers for the context.</span>
+<span class="comment">    // each editing button gets its own feature layer,</span>
+<span class="comment">    // which is not used for displaying the features,</span>
+<span class="comment">    // because the transaction response model has its</span>
+<span class="comment">    // own feature renderer.</span>
+    <span class="reserved">if</span> (!objRef.targetContext.featureLayers) {
+<span class="comment">    	// this array in the context will hold all</span>
+<span class="comment">    	// featureLayers used by editButton widgets</span>
+    	objRef.targetContext.featureLayers = new Array();
+    }
+<span class="comment">    
+    // feature layers will be created when the OL map is available</span>
+    objRef.targetContext.addFirstListener(<span class="literal">"refresh"</span>,objRef.setEditingLayer, objRef);
+
+    objRef.targetModel.addListener(<span class="literal">"loadModel"</span>, objRef.newSession, objRef);
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"init"</span>,<span class="reserved">this</span>.initButton, <span class="reserved">this</span>);
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-MovieLoop.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-MovieLoop.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-MovieLoop.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ MovieLoop.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" MovieLoop.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-MovieLoop.js.html" 
+                                        target="classFrame">MovieLoop.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="MovieLoop.html" TARGET="classFrame">MovieLoop</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/TipWidgetBase.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/TipWidgetBase.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/TipWidgetBase.html	(revision 4307)
@@ -0,0 +1,342 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+TipWidgetBase
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="TipWidgetBase";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TipWidgetBase.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Timestamp.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TipWidgetConfig.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TipWidgetBase.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class TipWidgetBase</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>TipWidgetBase</b>
+</PRE>
+
+   <DL>
+   <DT>
+      <B>Direct Known Subclasses:</B> 
+      <DD>
+                <a href="TipWidgetOL.html">TipWidgetOL</a>, <a href="TipWidgetConfig.html">TipWidgetConfig</a>
+      </DD>
+   </DL>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>TipWidgetBase</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-TipWidgetBase.js.html'>TipWidgetBase.js</a></I><BR/><BR/><B>Author:</B> Andreas Hocevar andreas.hocevarATgmail.com  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="TipWidgetBase.html#TipWidgetBase()">TipWidgetBase</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Base class for TipWidgetOL and similar widgets.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="TipWidgetBase()"><!-- --></A><H3>
+TipWidgetBase</H3>
+<PRE><B>TipWidgetBase</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Base class for TipWidgetOL and similar widgets.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -       The widget node from the Config XML file.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -   The FeatureCollection model.    
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Andreas Hocevar andreas.hocevarATgmail.com  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-TipWidgetBase.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Timestamp.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="TipWidgetConfig.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TipWidgetBase.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Extent.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Extent.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Extent.html	(revision 4307)
@@ -0,0 +1,1217 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Extent
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Extent";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Extent.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="EventLog.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="FeatureCollection.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Extent.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Extent</H2>
+<PRE>Object
+   |
+   +--<b>Extent</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Extent</B>
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Extent.js.html'>Extent.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#fixedScale">fixedScale</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#height">height</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#id">id</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#lr">lr</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#model">model</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#size">size</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#ul">ul</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#width">width</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#zoomBy">zoomBy</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Extent.html#Extent()">Extent</A> 
+	 </B>
+	 ( model, initialRes )
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      A tool designed to handle geography calculations for widgets which render
+ the model in 2D.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#centerAt">centerAt</A></B>(center, newres, limitExtent)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adjust the extent so that it is centered at given XY coordinate with given
+ resolution.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#checkBbox">checkBbox</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#firstInit">firstInit</A></B>(extent, initialRes)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getBbox">getBbox</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the bounding box as stored in the model
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getCenter">getCenter</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the XY center of this extent
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFixedScale">getFixedScale</A></B>(res)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 When given a res, it recalculates it to match the zoomlevels, when present and returns a fixed scale.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getPL">getPL</A></B>(xy)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns pixel/line coordinates for given XY projection coords
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getScale">getScale</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the map scale denominator for the current extent resolution
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getSize">getSize</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the window size as stored in the model
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getXY">getXY</A></B>(pl)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns XY coordinates for given pixel line coords w.r.t.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#init">init</A></B>(extent, initialRes)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Initialization of the Extent tool, called as a loadModel event listener.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setBbox">setBbox</A></B>(bbox)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Recalculates a given bbox and stores a proper aspect one in the model
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setResolution">setResolution</A></B>(size)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adjust the resolution so the bbox fits in the specified width and height
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setScale">setScale</A></B>(scale)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Sets the model's resolution from mapScale input value.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setSize">setSize</A></B>(size)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Stores a given window size in the model.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setZoomLevels">setZoomLevels</A></B>(enabled,zoomLevels)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#zoomToBox">zoomToBox</A></B>(ul, lr)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Adjust the extent to the given bbox.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="fixedScale"><!-- --></A>
+   <H3>fixedScale</H3>
+   <PRE>Object&nbsp;<B>fixedScale</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="height"><!-- --></A>
+   <H3>height</H3>
+   <PRE>Object&nbsp;<B>height</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="id"><!-- --></A>
+   <H3>id</H3>
+   <PRE>Object&nbsp;<B>id</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="lr"><!-- --></A>
+   <H3>lr</H3>
+   <PRE>Object&nbsp;<B>lr</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="model"><!-- --></A>
+   <H3>model</H3>
+   <PRE>Object&nbsp;<B>model</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="size"><!-- --></A>
+   <H3>size</H3>
+   <PRE>Object&nbsp;<B>size</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="ul"><!-- --></A>
+   <H3>ul</H3>
+   <PRE>Object&nbsp;<B>ul</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="width"><!-- --></A>
+   <H3>width</H3>
+   <PRE>Object&nbsp;<B>width</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="zoomBy"><!-- --></A>
+   <H3>zoomBy</H3>
+   <PRE>Object&nbsp;<B>zoomBy</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Extent()"><!-- --></A><H3>
+Extent</H3>
+<PRE><B>Extent</B>( model, initialRes )</PRE>
+
+
+<UL>
+   A tool designed to handle geography calculations for widgets which render
+ the model in 2D.
+ Use of this tool requires that it's model implements get/setWindowHeight/Width
+ methods.
+ Encapsulates all geography and image size aspects of a geographic object 
+ displayed in a rectangular area on the screen.
+ All coordinates are handled as points which is a 2 element array, where x is 
+ the first element and y is the second. Coordinates are either pixel and lixel
+ (pl) relative to the top left of the extent or projection XY values (xy).
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>model</CODE> -        the model document that this extent represents  
+     </UL>
+   
+     <UL><CODE>initialRes</CODE> -   (optional) if supplied the extent resolution will be set to this value
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="centerAt"><!-- --></A>
+   <H3>centerAt</H3>
+   <PRE>Object <B>centerAt</B>(center, newres, limitExtent)</PRE>
+   
+      <UL>Adjust the extent so that it is centered at given XY coordinate with given
+ resolution.  Extent width and height remain fixed.  Optionally check to 
+ ensure that it doesn't go beyond available extent.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>center</CODE> -       projection XY coordinate to center at  
+      </UL> 
+   
+     <UL><CODE>newres</CODE> -       resolution to display at  
+      </UL> 
+   
+     <UL><CODE>limitExtent</CODE> -  ensure that the extent doesn't go beyond available bbox (TBD: not complete/tested)  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        none 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="checkBbox"><!-- --></A>
+   <H3>checkBbox</H3>
+   <PRE>void <B>checkBbox</B>()</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="firstInit"><!-- --></A>
+   <H3>firstInit</H3>
+   <PRE>void <B>firstInit</B>(extent, initialRes)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getBbox"><!-- --></A>
+   <H3>getBbox</H3>
+   <PRE>Object <B>getBbox</B>()</PRE>
+   
+      <UL>Returns the bounding box as stored in the model</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        array with the bounding box 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getCenter"><!-- --></A>
+   <H3>getCenter</H3>
+   <PRE>Object <B>getCenter</B>()</PRE>
+   
+      <UL>Returns the XY center of this extent</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        array of XY for th center of the extent 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getFixedScale"><!-- --></A>
+   <H3>getFixedScale</H3>
+   <PRE>Object <B>getFixedScale</B>(res)</PRE>
+   
+      <UL>When given a res, it recalculates it to match the zoomlevels, when present and returns a fixed scale.
+ When no res is given it returns the maximum resolution</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>res</CODE> -  optional resolution to be checked  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        fixedScale the resolution to display the map with 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getPL"><!-- --></A>
+   <H3>getPL</H3>
+   <PRE>Object <B>getPL</B>(xy)</PRE>
+   
+      <UL>Returns pixel/line coordinates for given XY projection coords</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>xy</CODE> -    projection XY coordinate to calculate  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        point array of pxiel/line coordinates w.r.t. top left corner 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getScale"><!-- --></A>
+   <H3>getScale</H3>
+   <PRE>Object <B>getScale</B>()</PRE>
+   
+      <UL>Returns the map scale denominator for the current extent resolution</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        map scale denominator 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getSize"><!-- --></A>
+   <H3>getSize</H3>
+   <PRE>Object <B>getSize</B>()</PRE>
+   
+      <UL>Returns the window size as stored in the model</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        array with the window size 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getXY"><!-- --></A>
+   <H3>getXY</H3>
+   <PRE>Object <B>getXY</B>(pl)</PRE>
+   
+      <UL>Returns XY coordinates for given pixel line coords w.r.t. top left corner</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>pl</CODE> -    pixel line in extent to calculate  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        point array of XY coordinates 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="init"><!-- --></A>
+   <H3>init</H3>
+   <PRE>void <B>init</B>(extent, initialRes)</PRE>
+   
+      <UL>Initialization of the Extent tool, called as a loadModel event listener.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>extent</CODE> -       the object being initialized  
+      </UL> 
+   
+     <UL><CODE>initialRes</CODE> -   (optional) if supplied the extent resolution will be set to this value      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setBbox"><!-- --></A>
+   <H3>setBbox</H3>
+   <PRE>void <B>setBbox</B>(bbox)</PRE>
+   
+      <UL>Recalculates a given bbox and stores a proper aspect one in the model</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>bbox</CODE> -   an array with a bounding box      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setResolution"><!-- --></A>
+   <H3>setResolution</H3>
+   <PRE>void <B>setResolution</B>(size)</PRE>
+   
+      <UL>Adjust the resolution so the bbox fits in the specified width and height</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>size</CODE> -    width, height array passed in      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setScale"><!-- --></A>
+   <H3>setScale</H3>
+   <PRE>void <B>setScale</B>(scale)</PRE>
+   
+      <UL>Sets the model's resolution from mapScale input value.  The map center 
+ remains fixed.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>scale</CODE> -    map scale denominator value      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setSize"><!-- --></A>
+   <H3>setSize</H3>
+   <PRE>void <B>setSize</B>(size)</PRE>
+   
+      <UL>Stores a given window size in the model.
+ Can be used in the future for dynamic window resizing</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>size</CODE> -   an array with a window size      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setZoomLevels"><!-- --></A>
+   <H3>setZoomLevels</H3>
+   <PRE>void <B>setZoomLevels</B>(enabled,zoomLevels)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="zoomToBox"><!-- --></A>
+   <H3>zoomToBox</H3>
+   <PRE>void <B>zoomToBox</B>(ul, lr)</PRE>
+   
+      <UL>Adjust the extent to the given bbox.  Resolution is recalculated. 
+ Extent width and height remain fixed.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>ul</CODE> -       upper left coordinate of bbox in XY projection coords  
+      </UL> 
+   
+     <UL><CODE>lr</CODE> -       lower right coordinate of bbox in XY projection coords      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Extent.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="EventLog.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="FeatureCollection.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Extent.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Loading2.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Loading2.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Loading2.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Loading2.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Loading2.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Loading2.js.html" 
+                                        target="classFrame">Loading2.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Loading2.html" TARGET="classFrame">Loading2</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-History.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-History.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-History.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ History.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" History.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-History.js.html" 
+                                        target="classFrame">History.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="History.html" TARGET="classFrame">History</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Extent.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Extent.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Extent.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Extent.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Extent.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Extent.js.html" 
+                                        target="classFrame">Extent.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Extent.html" TARGET="classFrame">Extent</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-ZoomIn.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-ZoomIn.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-ZoomIn.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ ZoomIn.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" ZoomIn.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-ZoomIn.js.html" 
+                                        target="classFrame">ZoomIn.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ZoomIn.html" TARGET="classFrame">ZoomIn</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-WebServiceForm.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-WebServiceForm.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-WebServiceForm.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ WebServiceForm.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" WebServiceForm.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-WebServiceForm.js.html" 
+                                        target="classFrame">WebServiceForm.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="WebServiceForm.html" TARGET="classFrame">WebServiceForm</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-ShowDistance.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-ShowDistance.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-ShowDistance.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ ShowDistance.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" ShowDistance.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-ShowDistance.js.html" 
+                                        target="classFrame">ShowDistance.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ShowDistance.html" TARGET="classFrame">ShowDistance</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-GetFeatureInfoWSR.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-GetFeatureInfoWSR.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-GetFeatureInfoWSR.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ GetFeatureInfoWSR.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" GetFeatureInfoWSR.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-GetFeatureInfoWSR.js.html" 
+                                        target="classFrame">GetFeatureInfoWSR.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GetFeatureInfoWSR.html" TARGET="classFrame">GetFeatureInfoWSR</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-LegendGraphic.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-LegendGraphic.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-LegendGraphic.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ LegendGraphic.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" LegendGraphic.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-LegendGraphic.js.html" 
+                                        target="classFrame">LegendGraphic.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="LegendGraphic.html" TARGET="classFrame">LegendGraphic</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-GmlRendererConfig.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-GmlRendererConfig.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-GmlRendererConfig.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ GmlRendererConfig.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" GmlRendererConfig.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-GmlRendererConfig.js.html" 
+                                        target="classFrame">GmlRendererConfig.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GmlRendererConfig.html" TARGET="classFrame">GmlRendererConfig</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Forward.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Forward.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Forward.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Forward.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Forward.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Forward.js.html" 
+                                        target="classFrame">Forward.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Forward.html" TARGET="classFrame">Forward</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Logger.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Logger.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Logger.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Logger.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Logger.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Logger.js.html" 
+                                        target="classFrame">Logger.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Logger.html" TARGET="classFrame">Logger</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Save.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Save.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Save.js.html	(revision 4307)
@@ -0,0 +1,217 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Save.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Save.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Save.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Save.html">Save</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Save.js 3052 2007-08-01 21:25:21Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/ButtonBase.js"</span>);
+
+<span class="comment">/**
+ * When this button is pressed the targetModel is posted to the serializeUrl.
+ * Also defines a listener function for the "modelSaved" event which opens 
+ * the serialized document in a new browser window but only
+ * if the a popupWindowName property is defined for the button in config.
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ButtonBase
+ * <span class="attrib">@author</span> Mike Adair mike.adairATccrs.nrcan.gc.ca
+ * <span class="attrib">@param</span> widgetNode  The widget node from the Config XML file.
+ * <span class="attrib">@param</span> model  The model for this widget
+ */</span>
+<span class="reserved">function</span> Save(widgetNode, model) {
+  ButtonBase.apply(<span class="reserved">this</span>, new Array(widgetNode, model));
+
+ <span class="comment">/**
+   * Save model control.
+   * <span class="attrib">@param</span> objRef reference to this object.
+   * <span class="attrib">@return</span> {OpenLayers.Control} instance of the OL control.
+   */</span>
+  <span class="reserved">this</span>.createControl = <span class="reserved">function</span>(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+    
+      type: OpenLayers.Control.TYPE_BUTTON,
+      
+      trigger: <span class="reserved">function</span> () {
+       		<span class="reserved">this</span>.map.mbMapPane.targetModel.saveModel(<span class="reserved">this</span>.map.mbMapPane.targetModel);  
+                 
+            
+       },
+       CLASS_NAME: <span class="literal">'mbControl.Save'</span>
+  });
+  <span class="reserved">return</span> Control;
+  }
+
+}
+
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WfsCapabilities.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WfsCapabilities.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WfsCapabilities.js.html	(revision 4307)
@@ -0,0 +1,242 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="WfsCapabilities.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>WfsCapabilities.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'WfsCapabilities.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="WfsCapabilities.html">WfsCapabilities</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: WfsCapabilities.js 3657 2007-11-29 09:04:26Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/model/ModelBase.js"</span>);
+
+<span class="comment">/**
+ * Stores a Web Feature (WFS) Capabilities document as defined by the 
+ * Open Geospatial Consortium (http://www.opengeospatial.org/).
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ModelBase
+ * <span class="attrib">@author</span> Mike Adair
+ * <span class="attrib">@param</span> modelNode   The model's XML object node from the configuration document.
+ * <span class="attrib">@param</span> parent The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> WfsCapabilities(modelNode, parent) {
+<span class="comment">  // Inherit the ModelBase functions and parameters</span>
+  ModelBase.apply(<span class="reserved">this</span>, new Array(modelNode, parent));
+
+  <span class="reserved">this</span>.namespace = <span class="literal">"xmlns:wfs='http://www.opengis.net/wfs'"</span>;
+
+  <span class="comment">/**
+   * Returns the serverUrl for the WFS request passed in with the specified
+   * HTTP method from the capabilities doc.
+   * <span class="attrib">@param</span> requestName the WFS request to get the URL for
+   * <span class="attrib">@param</span> method http method for the request
+   * <span class="attrib">@param</span> feature ignored for WFS docs
+   * <span class="attrib">@return</span> URL for the specified request with the specified method
+   */</span>
+  <span class="reserved">this</span>.getServerUrl = <span class="reserved">function</span>(requestName, method, feature) {
+    var xpath = <span class="literal">"/wfs:WFS_Capabilities/wfs:Capability/wfs:Request/"</span>+requestName;
+    <span class="reserved">if</span> (method.toLowerCase() == <span class="literal">"post"</span>) {
+      xpath += <span class="literal">"/wfs:DCPType/wfs:HTTP/wfs:Post"</span>;
+    } <span class="reserved">else</span> {
+      xpath += <span class="literal">"/wfs:DCPType/wfs:HTTP/wfs:Get"</span>;
+    }
+    <span class="reserved">return</span> <span class="reserved">this</span>.doc.selectSingleNode(xpath).getAttribute(<span class="literal">"onlineResource"</span>);
+  }
+
+  <span class="comment">/**
+   * Returns the version for the WFS
+   * <span class="attrib">@return</span> the WFS version
+   */</span>
+  <span class="reserved">this</span>.getVersion = <span class="reserved">function</span>() {
+    var xpath = <span class="literal">"/wfs:WFS_Capabilities"</span>;
+    <span class="reserved">return</span> <span class="reserved">this</span>.doc.selectSingleNode(xpath).getAttribute(<span class="literal">"version"</span>);
+  }
+
+  <span class="comment">/**
+   * Get HTTP method used to retreive this model
+   * <span class="attrib">@return</span> the HTTP method 
+   */</span>
+  <span class="reserved">this</span>.getMethod = <span class="reserved">function</span>() {
+    <span class="reserved">return</span> <span class="reserved">this</span>.method;
+  }
+
+  <span class="comment">/**
+   * Returns the featureType node with the specified name from the list of nodes
+   * selected by the nodeSelectXpath from the capabilities doc.
+   * <span class="attrib">@param</span> featureName name of the featureType to look up
+   * <span class="attrib">@return</span> the featureType node with the specified name.
+   */</span>
+  <span class="reserved">this</span>.getFeatureNode = <span class="reserved">function</span>(featureName) {
+    <span class="reserved">return</span> <span class="reserved">this</span>.doc.selectSingleNode(<span class="reserved">this</span>.nodeSelectXpath+<span class="literal">"[wfs:Name='"</span>+featureName+<span class="literal">"']"</span>);
+  }
+
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MapPaneOL.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MapPaneOL.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MapPaneOL.js.html	(revision 4307)
@@ -0,0 +1,1214 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="MapPaneOL.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>MapPaneOL.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'MapPaneOL.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="MapPaneOL.html">MapPaneOL</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+	<a name="method_summary"><!-- --></a>
+	<table border="1" cellpadding="3" cellspacing="0" width="100%">
+		<tr bgcolor="#CCCCFF" class="TableHeadingColor">
+			<td colspan=2>
+				<font size="+2">
+					<b>Method Summary</b>
+				</font>
+			</td>
+		</tr>
+	
+		
+		   <tr bgcolor="white" class="TableRowColor">
+		      <td align="right" valign="top" width="1%">
+			 <font size="-1">
+			    <code>static&nbsp;Object</code>
+			 </font>
+		      </td>
+		      <td>
+			 <code>
+			    <b>
+			       <a href="GLOBALS.html#imageLoaded">imageLoaded</a></b>()
+			 </code>
+			 <br>
+			 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			 
+		      </td>
+		   </tr>
+		
+	
+	</table>
+    <p>
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Cameron Shorter cameronAtshorter.net
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: MapPaneOL.js 3935 2008-03-25 13:58:02Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+loadCss(<span class="literal">"openlayers/style.css"</span>);
+mapbuilder.loadScript(baseDir+<span class="literal">"/util/openlayers/OpenLayers.js"</span>);
+mapbuilder.loadScript(baseDir+<span class="literal">"/util/Util.js"</span>);
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBase.js"</span>);
+mapbuilder.loadScript(baseDir+<span class="literal">"/tool/Extent.js"</span>);
+<span class="comment">/**
+ * Widget to render a map from an OGC context document.  The layers are
+ * rendered using http://openlayers.org .
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBase
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> MapPaneOL(widgetNode, model) {
+  WidgetBase.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+
+  OpenLayers.ImgPath = config.skinDir + <span class="literal">'/images/openlayers/'</span>;
+  OpenLayers.ProxyHost = config.proxyUrl+<span class="literal">"/?url="</span>;
+<span class="comment">  
+
+  // replacement for deprecated MapContainerBase</span>
+  <span class="reserved">this</span>.containerNodeId = <span class="reserved">this</span>.htmlTagId;
+  model.containerModel = <span class="reserved">this</span>.model;
+<span class="comment">
+  //Make sure the Extent is attached to the context and initialized</span>
+  <span class="reserved">if</span>(!<span class="reserved">this</span>.model.extent){
+    <span class="reserved">this</span>.model.extent = new Extent (<span class="reserved">this</span>.model);
+    <span class="reserved">this</span>.model.addFirstListener( <span class="literal">"loadModel"</span>, <span class="reserved">this</span>.model.extent.firstInit, <span class="reserved">this</span>.model.extent );
+  }
+
+  <span class="comment">/**
+   * For tiled wms layers: Overlap of map tiles in pixels. Useful for
+   * preventing rendering artefacts at tile edges. Recommended values:
+   * 0-15, default is 0 (no gutter at all).
+   */</span>
+  <span class="reserved">this</span>.tileGutter = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:tileGutter"</span>, 0);
+  
+  <span class="comment">/**
+   * For tiled wms layers: how many rows of tiles should be preloaded
+   * outside the visible map? Large values mean slow loading, small
+   * ones mean longer delays when panning. Recommended values: 1-3,
+   * default is 2.
+   */</span>
+  <span class="reserved">this</span>.tileBuffer = parseInt(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:tileBuffer"</span>, 2));
+  
+   <span class="comment">/**
+    * For WMS layers: should they be regarded as normal WMS layers, 
+    * with a single tile for the entire boundingbox or as a tiled
+    * WMS layer
+   */</span>
+  <span class="reserved">this</span>.singleTile = Mapbuilder.parseBoolean(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:singleTile"</span>, true));
+  
+  <span class="comment">/**
+   * For tiled wms layers: how many pixels should the size of one tile
+   * be? Default is 256.
+   */</span>
+  <span class="reserved">this</span>.tileSize = parseInt(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:tileSize"</span>, 256));
+  
+  <span class="comment">/**
+   * For WMS on top of Google Maps you need to reproject the WMS image. This will stretch
+   * the WMS images to fit the odd sized google tiles. Default is false
+   */</span>
+  <span class="reserved">this</span>.imageReproject = Mapbuilder.parseBoolean(
+      <span class="reserved">this</span>.getProperty(<span class="literal">"mb:imageReproject"</span>, false));
+  
+  <span class="comment">/**
+   * for untiled wms layers: how many times should the map image be
+   * larger than the visible map. Large values mean slow loading, small
+   * ones mean many reloads when panning. Recommended values: 1-3,
+   * default is 2.
+   */</span>
+  <span class="reserved">this</span>.imageBuffer = parseInt(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:imageBuffer"</span>, 2));
+  
+  <span class="comment">/**
+   * Should layers also be rendered outside the map extent? Default is false.
+   */</span>
+  <span class="reserved">this</span>.displayOutsideMaxExtent = Mapbuilder.parseBoolean(
+      <span class="reserved">this</span>.getProperty(<span class="literal">"mb:displayOutsideMaxExtent"</span>, false));
+  
+  <span class="comment">/**
+   * Number of layers that are currently being loaded
+   */</span>
+  <span class="reserved">this</span>.loadingLayers = 0;
+
+  <span class="comment">/**
+   * Called after a feature has been added to a WFS.  This function triggers
+   * the WMS basemaps to be redrawn.  A timestamp param is added to the URL
+   * to ensure the basemap image is not cached.
+   * This function is triggered by the refreshWmsLayers event. If this event
+   * is fired with a &lt;layerId&gt; as param, only that layer will be refreshed.
+   * <span class="attrib">@param</span> objRef reference to this widget
+   */</span>
+  <span class="reserved">this</span>.refreshWmsLayers = <span class="reserved">function</span>(objRef) {
+    var layerId = objRef.model.getParam(<span class="literal">"refreshWmsLayers"</span>);
+    var uniqueId = (new Date()).getTime();
+    var layers = layerId ?
+        [objRef.getLayer(objRef, layerId)] :
+        objRef.model.map.layers;
+    <span class="reserved">for</span> (var i in layers) {
+      <span class="reserved">if</span> (layers[i].CLASS_NAME.indexOf(<span class="literal">'OpenLayers.Layer.WMS'</span>) == 0) {
+        layers[i].mergeNewParams({uniqueId: uniqueId});
+      }
+    }
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"refreshWmsLayers"</span>,<span class="reserved">this</span>.refreshWmsLayers,<span class="reserved">this</span>);
+
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"refresh"</span>,<span class="reserved">this</span>.paint, <span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addFirstListener(<span class="literal">"newModel"</span>, <span class="reserved">this</span>.clear, <span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"hidden"</span>,<span class="reserved">this</span>.hidden, <span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"addLayer"</span>,<span class="reserved">this</span>.addLayer, <span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"deleteLayer"</span>,<span class="reserved">this</span>.deleteLayer, <span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"moveLayerUp"</span>,<span class="reserved">this</span>.moveLayerUp, <span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"moveLayerDown"</span>,<span class="reserved">this</span>.moveLayerDown, <span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"opacity"</span>,<span class="reserved">this</span>.setOpacity,<span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"bbox"</span>, <span class="reserved">this</span>.zoomToBbox, <span class="reserved">this</span>);
+<span class="comment">  //this.model.addListener( "zoomOut", this.zoomOut, this );</span>
+<span class="comment">  //this.model.addListener( "zoomIn", this.zoomIn, this );</span>
+<span class="comment">  // this.model.addListener( "zoomToMaxExtent", this.zoomToMaxExtent, this );</span>
+<span class="comment"> //this.model.addFirstListener("loadModel",this.paint,this);</span>
+
+}
+
+<span class="comment">/**
+ * Render the widget.
+ * <span class="attrib">@param</span> objRef Pointer to widget object.
+ */</span>
+MapPaneOL.<span class="reserved">prototype</span>.paint = <span class="reserved">function</span>(objRef, refresh) {
+<span class="comment">  
+  // Create an OpenLayers map</span>
+<span class="comment">
+  //Test if context exist</span>
+  <span class="reserved">if</span>(objRef.model.doc.selectSingleNode(<span class="literal">"//wmc:OWSContext"</span>))
+    objRef.context=<span class="literal">"OWS"</span>;
+  <span class="reserved">else</span> <span class="reserved">if</span>(objRef.model.doc.selectSingleNode(<span class="literal">"//wmc:ViewContext"</span>))
+    objRef.context=<span class="literal">"View"</span>;
+  <span class="reserved">else</span>
+    alert(mbGetMessage(<span class="literal">"noContextDefined"</span>));
+
+  var proj=objRef.model.proj;
+<span class="comment">
+  //maxExtent</span>
+  var maxExtent=null;
+  maxExtent=objRef.getProperty(<span class="literal">"mb:maxExtent"</span>);
+  maxExtent=(maxExtent)?maxExtent.split(<span class="literal">" "</span>):null;
+<span class="comment">  // If the maxExtentis not specified in the config</span>
+<span class="comment">  // calculate it from the BBox  in the Context.</span>
+  <span class="reserved">if</span>(!maxExtent){
+    maxExtent=objRef.model.getBoundingBox();
+  }
+  maxExtent=(maxExtent)?new OpenLayers.Bounds(maxExtent[0],maxExtent[1],maxExtent[2],maxExtent[3]):null;
+  <span class="reserved">if</span>(maxExtent==null)alert(mbGetMessage(<span class="literal">"noBboxInContext"</span>));
+<span class="comment">
+  //maxResolution</span>
+  var maxResolution=null;
+  maxResolution=objRef.getProperty(<span class="literal">"mb:maxResolution"</span>);
+  maxResolution=(maxResolution) ? parseFloat(maxResolution) : <span class="literal">"auto"</span>;
+<span class="comment">
+  //minResolution</span>
+  var minResolution=null;
+  minResolution=objRef.getProperty(<span class="literal">"mb:minResolution"</span>);
+  minResolution=(minResolution) ? parseFloat(minResolution) : undefined;
+<span class="comment">  
+  //transitionEffect</span>
+  objRef.transitionEffect = objRef.getProperty(<span class="literal">"mb:transitionEffect"</span>, undefined);
+<span class="comment">  
+  //units</span>
+  var units = proj.getUnits() == <span class="literal">'meters'</span> ? <span class="literal">'m'</span> : proj.getUnits();
+<span class="comment">  
+  //resolutions</span>
+<span class="comment">  //TBD: if resolutions is both set here and for the baselayer and they are different weird things may happen</span>
+<span class="comment">  //     this needs to be solved</span>
+  var resolutions=objRef.getProperty(<span class="literal">"mb:resolutions"</span>);
+  resolutions = resolutions ? resolutions.split(<span class="literal">","</span>) : null;
+  <span class="reserved">if</span> (resolutions) {
+    <span class="reserved">for</span> (var r=0; r&lt;resolutions.length; r++) {
+      resolutions[r] = parseFloat(resolutions[r]);
+    }
+  }
+<span class="comment">
+  //fixed scales - overrides resolutions</span>
+  var scales = objRef.getProperty(<span class="literal">"mb:scales"</span>);
+  <span class="reserved">if</span>(scales){
+    scales = scales.split(<span class="literal">","</span>);
+    resolutions = new Array();
+    <span class="reserved">for</span> (var s=0; s&lt;scales.length; s++) {
+      resolutions.push(OpenLayers.Util.getResolutionFromScale(scales[s], units));
+    }
+  }
+  <span class="reserved">if</span>(resolutions){
+    objRef.model.extent.setZoomLevels(true,resolutions);
+  }
+  <span class="reserved">else</span> objRef.model.extent.setZoomLevels(false);
+<span class="comment">
+  //get the output DIV and set it to context-size</span>
+  var node = document.getElementById(objRef.containerNodeId);
+  var fixedSize = Mapbuilder.parseBoolean(objRef.getProperty(<span class="literal">"mb:fixedSize"</span>, false));
+  <span class="reserved">if</span>(fixedSize){
+    node.style.width = objRef.model.getWindowWidth()+<span class="literal">"px"</span>;
+    node.style.height = objRef.model.getWindowHeight()+<span class="literal">"px"</span>;
+  }
+<span class="comment">  
+  //default map options</span>
+  var mapOptions = {
+        controls:[],
+        projection: proj,
+        units: units,
+        fractionalZoom: true,
+        maxExtent: maxExtent,
+        maxResolution: maxResolution,
+        minResolution: minResolution,
+        resolutions: resolutions,
+        theme: null, // we have the theme loaded by Mapbuilder
+        destroy: <span class="reserved">function</span>(destroy){
+                   <span class="reserved">if</span> (destroy != true) {
+                     <span class="reserved">this</span>.mbMapPane.model.setParam(<span class="literal">"newModel"</span>, true);
+                   } <span class="reserved">else</span> {
+                     <span class="reserved">this</span>.mbMapPane = null;
+                     <span class="reserved">this</span>.mbCursor = null;
+                     OpenLayers.Map.<span class="reserved">prototype</span>.destroy.apply(<span class="reserved">this</span>, arguments);
+                     <span class="reserved">this</span>.layerContainerDiv = null;
+                     <span class="reserved">this</span>.baseLayer = null;
+                   }}
+      };
+
+  <span class="reserved">if</span> (!objRef.model.map) {
+    objRef.model.map = new OpenLayers.Map(node, mapOptions);
+<span class="comment">
+    // Increase hight of Control layers to allow for lots of layers.</span>
+    objRef.model.map.Z_INDEX_BASE.Control=10000;
+    var baseLayer = null;
+<span class="comment">    
+    //If we have an OWSContext and we have a BaseLayer we need to use this layer</span>
+<span class="comment">    //for more information have a look at http://docs.codehaus.org/display/MAP/Using+Google-layers</span>
+    <span class="reserved">if</span>(objRef.context==<span class="literal">"OWS"</span>&amp;&amp;objRef.model.getBaseLayer()){
+      var baseLayerNode = objRef.model.getBaseLayer();
+<span class="comment">     
+      //overrule the SRS in the Context with the one from the BaseLayer</span>
+      var baseSrs = baseLayerNode.selectSingleNode(<span class="literal">"ows:TileSet/ows:SRS"</span>);
+      <span class="reserved">if</span>(baseSrs) objRef.model.setSRS(getNodeValue(baseSrs));
+<span class="comment">      //overrule the units in the Context with the updated SRS units</span>
+      units = proj.getUnits() == <span class="literal">'meters'</span> ? <span class="literal">'m'</span> : proj.getUnits();
+<span class="comment">      //overrule the boundingbox in the Context with the maxExtent from the BaseLayer</span>
+      var maxExtentNode = baseLayerNode.selectSingleNode(<span class="literal">"ows:TileSet/ows:BoundingBox"</span>);
+      <span class="reserved">if</span>(maxExtentNode) maxExtent = new OpenLayers.Bounds(maxExtentNode.selectSingleNode(<span class="literal">'@minx'</span>).nodeValue,maxExtentNode.selectSingleNode(<span class="literal">'@miny'</span>).nodeValue,maxExtentNode.selectSingleNode(<span class="literal">'@maxx'</span>).nodeValue,maxExtentNode.selectSingleNode(<span class="literal">'@maxy'</span>).nodeValue);
+<span class="comment">      //overrule resolutions in the Context with the one from BaseLayer</span>
+<span class="comment">      //<span class="attrib">@TODO</span>: check if the firstChild is really needed</span>
+      var resolutions =baseLayerNode.selectSingleNode(<span class="literal">"ows:TileSet/ows:Resolutions"</span>);
+      resolutions = resolutions ? getNodeValue(resolutions).split(<span class="literal">","</span>) : null;
+      <span class="reserved">if</span> (resolutions) {
+        <span class="reserved">for</span> (var r=0; r&lt;resolutions.length; r++) {
+           resolutions[r] = parseFloat(resolutions[r]);
+        }
+      }
+<span class="comment">      //overrule tileSize in the Context with the one from the BaseLayer</span>
+<span class="comment">      //right now we only support square tiles which are defined by their width:		  </span>
+      var tileSize =baseLayerNode.selectSingleNode(<span class="literal">"ows:TileSet/ows:Width"</span>);
+      <span class="reserved">if</span>(tileSize) objRef.tileSize = parseInt(tileSize.nodeValue);
+<span class="comment">      //check if there's a format defined for the BaseLayer</span>
+      var format = baseLayerNode.selectSingleNode(<span class="literal">"ows:TileSet/ows:Format"</span>);
+      <span class="reserved">if</span>(format) format = format.nodeValue;
+<span class="comment">      
+      //Initialising the baseLayer</span>
+<span class="comment">      // Test service of the baseLayer</span>
+      var service=baseLayerNode.selectSingleNode(<span class="literal">"wmc:Server/@service"</span>);
+      service=(service)?service.nodeValue:<span class="literal">""</span>;
+<span class="comment">      // Test title of the baseLayer</span>
+      var title=Mapbuilder.getProperty(baseLayerNode, <span class="literal">"wmc:Title"</span>, <span class="literal">""</span>);
+<span class="comment">      // Get the name of the baseLayer</span>
+      var baseLayerName = Mapbuilder.getProperty(baseLayerNode, <span class="literal">"wmc:Name"</span>, <span class="literal">""</span>);
+<span class="comment">      // get the layer-type of the BaseLayer (this allows specifying if is is a arial,road or hybrid map)</span>
+      var baseLayerType = Mapbuilder.getProperty(baseLayerNode, <span class="literal">"ows:TileSet/ows:Layers"</span>, <span class="literal">"hybrid"</span>);
+<span class="comment">      // it might be that the baseLayer is a WMS so we need to fetch the url</span>
+      var href=Mapbuilder.getProperty(baseLayerNode, <span class="literal">"wmc:Server/wmc:OnlineResource/@xlink:href"</span>, <span class="literal">""</span>);
+      
+      var baseLayerOptions = {
+              units: units,
+              projection: proj,
+              maxExtent: maxExtent,
+             
+              alpha: false,            //option <span class="reserved">for</span> png transparency with ie6
+              isBaseLayer: true,
+              displayOutsideMaxExtent: objRef.displayOutsideMaxExtent,
+              ratio: 1
+              
+         };
+         
+      switch(service){
+<span class="comment">        // WMS Layer (Untiled)</span>
+        case <span class="literal">"OGC"</span>:
+        case <span class="literal">"WMS"</span>:
+        case <span class="literal">"wms"</span>:
+        case <span class="literal">"OGC:WMS"</span>:
+          
+          baseLayerOptions.ratio = objRef.imageBuffer;
+    
+          var params = new Array();
+
+         
+         baseLayer= new OpenLayers.Layer.WMS(title,href,{
+              layers: baseLayerName,
+              format: format
+              },
+            baseLayerOptions
+          );
+        break;
+<span class="comment">    
+        // WMS-C Layer (Tiled)</span>
+        case <span class="literal">"WMS-C"</span>:
+        case <span class="literal">"OGC:WMS-C"</span>:
+          baseLayerOptions.gutter = objRef.tileGutter;
+          baseLayerOptions.buffer = objRef.tileBuffer;
+          baseLayerOptions.tileSize = new OpenLayers.Size(objRef.tileSize, objRef.tileSize);
+          
+          baseLayer= new OpenLayers.Layer.WMS(title,href,{
+              layers: baseLayerName,
+              format: format
+            },
+            baseLayerOptions
+          );
+          objRef.model.map.fractionalZoom = false;
+        break;
+    
+        case <span class="literal">"GMAP"</span>:
+        case <span class="literal">"Google"</span>:       
+          <span class="reserved">if</span>(maxExtent) baseLayerOptions.maxExtent=maxExtent;
+<span class="comment">          //check if we have spherical projection</span>
+          var sphericalMercator = (objRef.model.getSRS()==<span class="literal">'EPSG:900913'</span>)?true:false;
+<span class="comment">          //check if we have a layertype</span>
+          switch(baseLayerType){
+            case <span class="literal">"aerial"</span>:
+            case <span class="literal">"satellite"</span>:            
+              baseLayerType=G_SATELLITE_MAP;
+            break;
+            case <span class="literal">"road"</span>:
+            case <span class="literal">"normal"</span>:            
+              baseLayerType=G_NORMAL_MAP;
+            break;
+            default:
+              baseLayerType=G_HYBRID_MAP;
+          }
+          baseLayer = new OpenLayers.Layer.Google( baseLayerName , {type: baseLayerType, minZoomLevel: 0, maxZoomLevel:19, sphericalMercator: sphericalMercator, maxResolution: 156543.0339 }, baseLayerOptions );
+          objRef.model.map.numZoomLevels = 20;
+          objRef.model.map.fractionalZoom = false;
+        break;
+    
+        case <span class="literal">"YMAP"</span>:
+        case <span class="literal">"Yahoo"</span>:
+<span class="comment">          //Yahoo-layer doesn't support layerTypes</span>
+          <span class="reserved">if</span>(maxExtent) baseLayerOptions.maxExtent=maxExtent;
+<span class="comment">          //check if we have spherical projection</span>
+          var sphericalMercator = (objRef.model.getSRS()==<span class="literal">'EPSG:900913'</span>)?true:false;          
+          baseLayer = new OpenLayers.Layer.Yahoo(  baseLayerName , { maxZoomLevel:21, sphericalMercator: sphericalMercator }, baseLayerOptions );
+          objRef.model.map.fractionalZoom = false;
+        break;
+    
+        case <span class="literal">"VE"</span>:
+        case <span class="literal">"Microsoft"</span>:
+          <span class="reserved">if</span>(maxExtent) baseLayerOptions.maxExtent=maxExtent;
+<span class="comment">          //check if we have spherical projection</span>
+          var sphericalMercator = (objRef.model.getSRS()==<span class="literal">'EPSG:900913'</span>)?true:false;
+<span class="comment">          //check if we have a layertype</span>
+          switch(baseLayerType){
+            case <span class="literal">"aerial"</span>:
+            case <span class="literal">"satellite"</span>:
+              baseLayerType=VEMapStyle.Aerial;
+            break;
+            case <span class="literal">"road"</span>:
+            case <span class="literal">"normal"</span>:
+              baseLayerType=VEMapStyle.Road;
+            break;
+            default:
+              baseLayerType=VEMapStyle.Hybrid;
+          }
+          baseLayer = new OpenLayers.Layer.VirtualEarth( baseLayerName,{minZoomLevel: 0, maxZoomLevel: 21,type: baseLayerType});
+          objRef.model.map.fractionalZoom = false;
+        break;
+    
+        case <span class="literal">"MultiMap"</span>:
+           <span class="reserved">if</span>(maxExtent) baseLayerOptions.maxExtent=maxExtent;
+<span class="comment">           //check if we have spherical projection</span>
+          var sphericalMercator = (objRef.model.getSRS()==<span class="literal">'EPSG:900913'</span>)?true:false;          
+          baseLayer = new OpenLayers.Layer.MultiMap( baseLayerName , { maxZoomLevel:21, sphericalMercator: sphericalMercator }, baseLayerOptions );
+          objRef.model.map.fractionalZoom = false;
+        break;
+        default:
+          alert(mbGetMessage(<span class="literal">"layerTypeNotSupported"</span>, service));
+        }
+    }
+<span class="comment">    //Otherwise we will just use a bogus WMS layer as BaseLayer</span>
+    <span class="reserved">else</span> {
+      var baseLayerOptions = {
+              units: units,
+              projection: proj.srsCode,
+              maxExtent: maxExtent,
+              maxResolution: maxResolution,  //<span class="literal">"auto"</span> <span class="reserved">if</span> not defined in the context
+              minResolution: minResolution,
+              resolutions: resolutions,
+              alpha: false,            //option <span class="reserved">for</span> png transparency with ie6
+              isBaseLayer: true,
+              displayOutsideMaxExtent: objRef.displayOutsideMaxExtent,
+              ratio: 1,
+              singleTile: true,
+              transitionEffect: objRef.transitionEffect,
+              visibility: false,
+              moveTo: <span class="reserved">function</span>(){<span class="reserved">return</span> true}
+         };
+      baseLayer = new OpenLayers.Layer.WMS(<span class="literal">"baselayer"</span>,
+              config.skinDir+<span class="literal">"/images/openlayers/blank.gif"</span>, null, baseLayerOptions);
+      
+    }
+    objRef.model.map.addLayer(baseLayer); 
+  }
+  <span class="reserved">else</span> {
+    objRef.deleteAllLayers(objRef);
+  }
+    
+  var layers = objRef.model.getAllLayers();
+  <span class="reserved">if</span> (!objRef.oLlayers){
+    objRef.oLlayers = {};
+  }
+
+  <span class="reserved">for</span> (var i=0;i&lt;=layers.length-1;i++){
+    objRef.addLayer(objRef,layers[i]);
+  }
+  var bbox=objRef.model.getBoundingBox();
+<span class="comment">
+  // set objRef as attribute of the OL map, so we have a reference</span>
+<span class="comment">  // to MapPaneOL available when handling OpenLayers events.</span>
+  objRef.model.map.mbMapPane = objRef;
+<span class="comment">
+  // register OpenLayers event to keep the context updated</span>
+  objRef.model.map.events.register(<span class="literal">'moveend'</span>, objRef.model.map, objRef.updateContext);
+<span class="comment">  // register OpenLayers event to do updates onmouseup</span>
+  objRef.model.map.events.register(<span class="literal">'mouseup'</span>, objRef.model.map, objRef.updateMouse);
+  
+  objRef.model.callListeners(<span class="literal">"bbox"</span>);
+  
+}
+
+<span class="comment">/**
+ * remove OpenLayers events and layers
+ * <span class="attrib">@param</span> objRef reference to this widget
+ */</span>
+MapPaneOL.<span class="reserved">prototype</span>.clear = <span class="reserved">function</span>(objRef) {
+  <span class="reserved">if</span> (objRef.model.map) {
+    OpenLayers.Event.stopObservingElement(window);
+    objRef.model.map.destroy(true);
+    objRef.model.map = null;
+    objRef.oLlayers = {};
+  }
+}
+
+<span class="comment">/**
+ * Event handler to keep the modelStatus updated when an OpenLayers layer
+ * starts loading.
+ * <span class="attrib">@param</span> e OpenLayers event
+ */</span>
+MapPaneOL.<span class="reserved">prototype</span>.increaseLoadingLayers = <span class="reserved">function</span>(e) {
+  ++<span class="reserved">this</span>.loadingLayers;
+  var message = mbGetMessage((<span class="reserved">this</span>.loadingLayers&gt;1) ? <span class="literal">"loadingLayers"</span> : <span class="literal">"loadingLayer"</span>,
+    <span class="reserved">this</span>.loadingLayers);
+  <span class="reserved">this</span>.model.setParam(<span class="literal">"modelStatus"</span>, message);
+}
+
+<span class="comment">/**
+ * Event handler to keep the modelStatus updated when an OpenLayers layer
+ * finished loading.
+ * <span class="attrib">@param</span> e OpenLayers event
+ */</span>
+MapPaneOL.<span class="reserved">prototype</span>.decreaseLoadingLayers = <span class="reserved">function</span>(e) {
+  --<span class="reserved">this</span>.loadingLayers;
+  var message = <span class="reserved">this</span>.loadingLayers &gt; 0 ?
+          mbGetMessage((<span class="reserved">this</span>.loadingLayers&gt;1) ? <span class="literal">"loadingLayers"</span> : <span class="literal">"loadingLayer"</span>,
+                  <span class="reserved">this</span>.loadingLayers) :
+          null;
+  <span class="reserved">this</span>.model.setParam(<span class="literal">"modelStatus"</span>, message);
+}
+
+<span class="comment">/**
+ * Event handler to keep the Mapbuilder context updated. It also
+ * sets the map cursor to the previously stored value.
+ * This is called by OpenLayers.
+ * <span class="attrib">@param</span> e OpenLayers event
+ */</span>
+MapPaneOL.<span class="reserved">prototype</span>.updateContext = <span class="reserved">function</span>(e) {
+<span class="comment">  // get objRef from the event originator object (e.object),</span>
+<span class="comment">  // where it was stored as mbPane property by paint().</span>
+  var objRef = e.object.mbMapPane;
+
+  var bboxOL = objRef.model.map.getExtent().toBBOX().split(<span class="literal">','</span>);
+  var ul = new Array(bboxOL[0],bboxOL[3]);
+  var lr = new Array(bboxOL[2],bboxOL[1]);
+
+  <span class="reserved">if</span>(objRef.model.getWindowWidth()!=e.element.offsetWidth)
+    objRef.model.setWindowWidth(e.element.offsetWidth);
+  <span class="reserved">if</span>(objRef.model.getWindowHeight()!=e.element.offsetHeight)
+    objRef.model.setWindowHeight(e.element.offsetHeight);	
+
+  var currentAoi = objRef.model.getParam(<span class="literal">'aoi'</span>);
+  var newAoi = new Array(ul, lr);
+  <span class="reserved">if</span> (!currentAoi || currentAoi.toString() != newAoi.toString()) {
+    objRef.model.setBoundingBox( new Array(ul[0], lr[1], lr[0], ul[1]) );
+    objRef.model.extent.setSize(objRef.model.map.getResolution());
+    objRef.model.setParam(<span class="literal">"aoi"</span>, newAoi);
+  }
+}
+
+<span class="comment">/**
+ * Restore the map cursor stored by buttons. This has to be done
+ * in an OpenLayers mouseup event, because the mouseup event
+ * in OpenLayers resets the cursor to default.
+ * <span class="attrib">@param</span> e OpenLayers event
+ */</span>
+MapPaneOL.<span class="reserved">prototype</span>.updateMouse = <span class="reserved">function</span>(e) {
+<span class="comment">  // get objRef from the event originator object (e.object),</span>
+<span class="comment">  // where it was stored as mbPane property by paint().</span>
+  var objRef = e.object.mbMapPane;
+<span class="comment">
+  // update map pane cursor</span>
+  <span class="reserved">if</span> (objRef.model.map.mbCursor) {
+    objRef.model.map.div.style.cursor = objRef.model.map.mbCursor;
+  }
+}
+
+<span class="comment">/**
+ * Zoom to the current Bounding Box.
+ * <span class="attrib">@param</span> objRef reference to this widget
+ */</span>
+MapPaneOL.<span class="reserved">prototype</span>.zoomToBbox = <span class="reserved">function</span>(objRef) {
+  <span class="reserved">if</span> (objRef.model.map) {
+    var bbox = objRef.model.getBoundingBox();
+    var displayBbox = [];
+    var extent = objRef.model.map.getExtent();
+    <span class="reserved">if</span> (extent) {
+      displayBbox = extent.toBBOX();
+    }
+<span class="comment">    // only perform zoom operation if not already at bbox</span>
+    <span class="reserved">if</span> (bbox.toString() != displayBbox.toString()) {
+      objRef.model.map.zoomToExtent(new OpenLayers.Bounds(bbox[0],bbox[1],bbox[2],bbox[3]));
+    }
+  }
+}
+
+<span class="comment">/**
+ * Hide/unhide a layer. Called by Context when the hidden attribute changes.
+ * <span class="attrib">@param</span> objRef Pointer to widget object.
+ * <span class="attrib">@param</span> layerId Id of the layer to hide/unhide.
+ */</span>
+MapPaneOL.<span class="reserved">prototype</span>.hidden = <span class="reserved">function</span>(objRef, layerId) {
+  var vis=objRef.model.getHidden(layerId);
+  <span class="reserved">if</span>(vis==<span class="literal">"1"</span>){ var hidden=false; }
+  <span class="reserved">else</span> {var hidden=true; }
+  var  tmpLayer=objRef.getLayer(objRef,layerId)
+  <span class="reserved">if</span>(tmpLayer)tmpLayer.setVisibility(hidden);
+}
+
+<span class="comment">/**
+  * Returns OL layer node from LayerMgr
+  * <span class="attrib">@param</span> layerId The layer Id (or layerName)
+  */</span>
+MapPaneOL.<span class="reserved">prototype</span>.getLayer = <span class="reserved">function</span>(objRef,layerId) {
+<span class="comment">
+  // If layer cannot be found then layerId might actually be layerName</span>
+<span class="comment">  // We then try to fetch the <span class="attrib">@id</span> of the layer from the model</span>
+  <span class="reserved">if</span> (!objRef.oLlayers[layerId]) {
+    layerId = objRef.model.getLayerIdByName(layerId) || layerId;
+  }
+
+  <span class="reserved">if</span>(objRef.oLlayers[layerId] &amp;&amp; objRef.oLlayers[layerId].id) {
+    <span class="reserved">return</span> objRef.model.map.getLayer(objRef.oLlayers[layerId].id);
+  } <span class="reserved">else</span> {
+    <span class="reserved">return</span> false;
+  }
+}
+<span class="comment">
+
+//####################################################</span>
+<span class="comment">/**
+ * Removes a layer from the output
+/**
+ * Removes a layer from the output
+ * <span class="attrib">@param</span> objRef Pointer to this object.
+ * <span class="attrib">@param</span> layerId the WMS name for the layer to be removed
+ */</span>
+MapPaneOL.<span class="reserved">prototype</span>.deleteLayer = <span class="reserved">function</span>(objRef, layerId) {
+  <span class="reserved">if</span>(objRef.oLlayers[layerId])objRef.model.map.removeLayer(objRef.oLlayers[layerId]);
+}
+<span class="comment">/**
+ * Removes all layers from the output
+ * <span class="attrib">@param</span> objRef Pointer to this object.
+ * <span class="attrib">@param</span> objRef Pointer to this object.
+ */</span>
+MapPaneOL.<span class="reserved">prototype</span>.deleteAllLayers = <span class="reserved">function</span>(objRef) {
+  <span class="reserved">for</span> (var i in objRef.oLlayers) {
+    var layer = objRef.oLlayers[i];
+    layer.destroy();
+  }
+  objRef.oLlayers = {};
+}
+<span class="comment">
+//#############################################TDO</span>
+<span class="comment">/**
+ * Moves a layer up in the stack of map layers
+ * <span class="attrib">@param</span> objRef Pointer to this object.
+ * <span class="attrib">@param</span> layerId the WMS name for the layer to be removed
+ */</span>
+MapPaneOL.<span class="reserved">prototype</span>.moveLayerUp = <span class="reserved">function</span>(objRef, layerId) {
+  var map=objRef.model.map;
+  map.raiseLayer(map.getLayer(objRef.oLlayers[layerId].id), 1);
+}
+
+<span class="comment">/**
+ * Moves a layer up in the stack of map layers
+ * <span class="attrib">@param</span> objRef Pointer to this object.
+ * <span class="attrib">@param</span> layerId the WMS name for the layer to be removed
+ */</span>
+MapPaneOL.<span class="reserved">prototype</span>.moveLayerDown = <span class="reserved">function</span>(objRef, layerId) {
+  objRef.model.map.raiseLayer(objRef.getLayer(objRef,layerId), -1);
+}
+<span class="comment">//###############################################</span>
+<span class="comment">/**
+   * Called when the context's opacity attribute changes.
+/**
+   * Called when the context's opacity attribute changes.
+   * <span class="attrib">@param</span> objRef This object.
+   * <span class="attrib">@param</span> layerId  The id of the layer that was toggled.
+   */</span>
+MapPaneOL.<span class="reserved">prototype</span>.setOpacity=<span class="reserved">function</span>(objRef, layerId){
+  var _opacity=<span class="literal">"1"</span>;
+  _opacity=objRef.model.getOpacity(layerId);
+  objRef.getLayer(objRef,layerId).setOpacity(_opacity);
+}
+<span class="comment">/**
+ * Adds a layer into the output
+   * <span class="attrib">@param</span> objRef This object.
+   * <span class="attrib">@param</span> layerNode  The node of the layer
+ */</span>
+MapPaneOL.<span class="reserved">prototype</span>.addLayer = <span class="reserved">function</span>(objRef, layerNode) {
+<span class="comment">  // OpenLayers doesn't contain information about projection, so if the</span>
+<span class="comment">  // baseLayer projection is not standard lat/long, it needs to know</span>
+<span class="comment">  // maxExtent and maxResolution to calculate the zoomLevels.</span>
+  var layer = layerNode;
+<span class="comment">
+  // Test service of the layer</span>
+  var service=layer.selectSingleNode(<span class="literal">"wmc:Server/@service"</span>);service=(service)?service.nodeValue:<span class="literal">""</span>;
+<span class="comment">
+  // Test title of the layer</span>
+  var title=Mapbuilder.getProperty(layer, <span class="literal">"wmc:Title"</span>, <span class="literal">""</span>);
+<span class="comment">
+  // Get the name of the layer</span>
+  layerName = Mapbuilder.getProperty(layer, <span class="literal">"wmc:Name"</span>, <span class="literal">""</span>);
+<span class="comment">
+  // Get the layerId. Fallback to layerName if non-existent</span>
+  var layerId;
+  <span class="reserved">if</span> (layer.selectSingleNode(<span class="literal">"@id"</span>) &amp;&amp; layer.selectSingleNode(<span class="literal">"@id"</span>).nodeValue) {
+    layerId = layer.selectSingleNode(<span class="literal">"@id"</span>).nodeValue;
+  } <span class="reserved">else</span> {
+    layerId = layerName;
+  }
+
+  <span class="reserved">if</span> (objRef.context==<span class="literal">"OWS"</span>){
+    var href=Mapbuilder.getProperty(layer, <span class="literal">"wmc:Server/wmc:OnlineResource/@xlink:href"</span>, <span class="literal">""</span>);
+  }
+  <span class="reserved">else</span> {
+     <span class="reserved">if</span>(_SARISSA_IS_SAFARI){
+     var nodehref=layer.selectSingleNode(<span class="literal">"wmc:Server/wmc:OnlineResource"</span>);
+     var href=nodehref.attributes[1].nodeValue;
+     }
+   <span class="reserved">else</span>{
+     <span class="reserved">if</span>(_SARISSA_IS_OPERA){
+       var href=layer.selectSingleNode(<span class="literal">"wmc:Server/wmc:OnlineResource"</span>).getAttributeNS (<span class="literal">"http://www.w3.org/1999/xlink"</span>,<span class="literal">"href"</span>);// <span class="reserved">for</span> opera
+     }<span class="reserved">else</span>{
+       var href=layer.selectSingleNode(<span class="literal">"wmc:Server/wmc:OnlineResource"</span>).getAttribute(<span class="literal">"xlink:href"</span>);
+     }
+    }
+  }
+<span class="comment">
+  // Test format of the layer</span>
+  var format=layer.selectSingleNode(<span class="literal">"wmc:FormatList/wmc:Format[@current='1']"</span>);
+  <span class="reserved">if</span> (!format) {
+    format = layer.selectSingleNode(<span class="literal">"wmc:FormatList/wmc:Format"</span>);
+  }
+  format = format ? getNodeValue(format) : <span class="literal">"image/gif"</span>;
+<span class="comment">
+  // Test visibility of the layer</span>
+  var vis=layer.selectSingleNode(<span class="literal">"@hidden"</span>);
+  <span class="reserved">if</span> (vis) {
+    <span class="reserved">if</span>(vis.nodeValue==<span class="literal">"1"</span>)
+      vis=false;
+    <span class="reserved">else</span>
+      vis=true;
+  }
+<span class="comment">  // Test if layer is queryable</span>
+  var query=layer.selectSingleNode(<span class="literal">"@queryable"</span>);
+  <span class="reserved">if</span> (query){
+    <span class="reserved">if</span>(query.nodeValue==<span class="literal">"1"</span>)
+      query=true;
+    <span class="reserved">else</span>
+      query=false;
+  }
+<span class="comment">
+  // Test if opacity is specified</span>
+  var opacity=layer.selectSingleNode(<span class="literal">"@opacity"</span>);
+  <span class="reserved">if</span> (opacity)
+    opacity=opacity.nodeValue;
+  <span class="reserved">else</span>
+    opacity=false;
+<span class="comment">  
+  // Get current style node of the layer</span>
+  var currentStyle = layer.selectSingleNode(<span class="literal">'wmc:StyleList/wmc:Style[@current=1]'</span>);
+<span class="comment">
+  // will be true for IE6, false for later versions of IE</span>
+  objRef.IE6 = false <span class="comment">/*<span class="attrib">@cc_on</span> || <span class="attrib">@_jscript_version</span> &lt; 5.7 @*/</span>;
+<span class="comment">  
+  //default option value for a layer</span>
+  var layerOptions = {
+          visibility: vis,
+          projection: objRef.model.map.baseLayer.projection,
+          queryable: query,
+          maxExtent: objRef.model.map.baseLayer.maxExtent,
+          maxResolution: objRef.model.map.baseLayer.maxResolution,  //<span class="literal">"auto"</span> <span class="reserved">if</span> not defined in the context
+          minResolution: objRef.model.map.baseLayer.minResolution,  //<span class="literal">"auto"</span> <span class="reserved">if</span> not defined in the context
+          alpha: format.indexOf(<span class="literal">"png"</span>) != -1 ? objRef.IE6 : false,         //option <span class="reserved">for</span> png transparency with ie6
+          isBaseLayer: false,
+          displayOutsideMaxExtent: objRef.displayOutsideMaxExtent
+     };
+     
+  switch(service){
+<span class="comment">    // WMS Layer (Untiled)</span>
+    case <span class="literal">"OGC"</span>:
+    case <span class="literal">"WMS"</span>:
+    case <span class="literal">"wms"</span>:
+    case <span class="literal">"OGC:WMS"</span>:
+      <span class="reserved">if</span>(!objRef.model.map.baseLayer){
+        layerOptions.isBaseLayer=true;
+      }
+      <span class="reserved">else</span> {
+<span class="comment">        //TBD what if we have layers with different projections in the context?</span>
+        layerOptions.reproject=objRef.imageReproject;
+        layerOptions.isBaseLayer=false;
+      }
+
+      layerOptions.ratio = objRef.imageBuffer;
+      layerOptions.singleTile = objRef.singleTile;
+      <span class="reserved">if</span> (objRef.singleTile == true) {
+        layerOptions.transitionEffect = objRef.transitionEffect;
+      }
+
+      var params = new Array();
+      params = sld2UrlParam(currentStyle);
+      <span class="reserved">if</span> (objRef.model.timestampList &amp;&amp; objRef.model.timestampList.getAttribute(<span class="literal">"layerId"</span>) == layerId) { 
+        var ts = objRef.model.timestampList.childNodes[0];
+
+        objRef.oLlayers[layerId]= new OpenLayers.Layer.WMS(title,href,{
+            layers: layerName,
+<span class="comment">            // "TRUE" in upper case else the context doc boston.xml</span>
+<span class="comment">            // (i.c. the IONIC WMS/WFS) doesn't work.</span>
+<span class="comment">            // Note that this is in line with the WMS standard (OGC 01-068r2),</span>
+<span class="comment">            // section 6.4.1 Parameter Ordering and Case:</span>
+<span class="comment">            // "Parameter names shall not be case sensitive,</span>
+<span class="comment">            //  but parameter values shall be case sensitive."</span>
+            transparent: format.indexOf(<span class="literal">"jpeg"</span>) == -1 ? <span class="literal">"TRUE"</span> : <span class="literal">"FALSE"</span>,
+            <span class="literal">"TIME"</span>: getNodeValue(ts),	          
+            format: format,
+            sld:params.sld,
+            sld_body:params.sld_body,
+            styles:params.styles
+          },
+          layerOptions
+        );      
+<span class="comment">        // Turn on timestamp listenet</span>
+          <span class="reserved">this</span>.model.addListener(<span class="literal">"timestamp"</span>,<span class="reserved">this</span>.timestampListener,<span class="reserved">this</span>);	      
+      }
+      <span class="reserved">else</span> {
+        objRef.oLlayers[layerId]= new OpenLayers.Layer.WMS(title,href,{
+            layers: layerName,
+<span class="comment">            // "TRUE" in upper case else the context doc boston.xml</span>
+<span class="comment">            // (i.c. the IONIC WMS/WFS) doesn't work.</span>
+<span class="comment">            // Note that this is in line with the WMS standard (OGC 01-068r2),</span>
+<span class="comment">            // section 6.4.1 Parameter Ordering and Case:</span>
+<span class="comment">            // "Parameter names shall not be case sensitive,</span>
+<span class="comment">            //  but parameter values shall be case sensitive."</span>
+            transparent: format.indexOf(<span class="literal">"jpeg"</span>) == -1 ? <span class="literal">"TRUE"</span> : <span class="literal">"FALSE"</span>,
+            format: format,
+            sld:params.sld,
+            sld_body:params.sld_body,
+            styles:params.styles
+          },
+          layerOptions
+        );
+      }
+    break;
+<span class="comment">
+    // WMS-C Layer (Tiled)</span>
+    case <span class="literal">"WMS-C"</span>:
+    case <span class="literal">"OGC:WMS-C"</span>:
+      <span class="reserved">if</span>(!objRef.model.map.baseLayer){
+        layerOptions.isBaseLayer=true;
+      }
+      <span class="reserved">else</span> {
+<span class="comment">        //TBD what if we have layers with different projections in the context?</span>
+        layerOptions.reproject=objRef.imageReproject;
+        layerOptions.isBaseLayer=false;
+      }
+
+      layerOptions.gutter = objRef.tileGutter;
+      layerOptions.buffer = objRef.tileBuffer;
+      layerOptions.tileSize = new OpenLayers.Size(objRef.tileSize, objRef.tileSize);
+      
+      var params = new Array();
+      params = sld2UrlParam(currentStyle);
+      objRef.oLlayers[layerId]= new OpenLayers.Layer.WMS(title,href,{
+          layers: layerName,
+          transparent: format.indexOf(<span class="literal">"jpeg"</span>) == -1 ? <span class="literal">"TRUE"</span> : <span class="literal">"FALSE"</span>,
+          format: format,
+          sld:params.sld,
+          sld_body:params.sld_body,
+          styles:params.styles
+        },
+        layerOptions
+      );
+      objRef.model.map.fractionalZoom = false;
+    break;
+<span class="comment">
+    // WFS Layer</span>
+    case <span class="literal">"WFS"</span>:
+    case <span class="literal">"wfs"</span>:
+    case <span class="literal">"OGC:WFS"</span>:
+      style = sld2OlStyle(currentStyle);
+      <span class="reserved">if</span>(style){
+        layerOptions.styleMap=new OpenLayers.StyleMap(style);
+      }
+      <span class="reserved">else</span>{
+        layerOptions.style=objRef.getWebSafeStyle(objRef, 2*i+1);
+      }
+      layerOptions.featureClass=OpenLayers.Feature.WFS;
+
+      objRef.oLlayers[layerId]= new OpenLayers.Layer.WFS(
+        title,
+        href,{
+          typename: layerId,
+          maxfeatures: 1000},
+          layerOptions
+        );
+    break;
+<span class="comment">
+    // GML Layer</span>
+    case <span class="literal">"gml"</span>:
+    case <span class="literal">"OGC:GML"</span>:
+      style = sld2OlStyle(currentStyle);
+      <span class="reserved">if</span>(style){
+        layerOptions.styleMap=new OpenLayers.StyleMap(style);
+      }
+      <span class="reserved">else</span>{
+        layerOptions.style=objRef.getWebSafeStyle(objRef, 2*i+1);
+      }
+      objRef.oLlayers[layerId] = new OpenLayers.Layer.GML(title,href,layerOptions);
+
+    break;
+<span class="comment">
+     // KML Layer</span>
+    case <span class="literal">"KML"</span>:
+    case <span class="literal">"kml"</span>:
+      objRef.oLlayers[layerId]= new OpenLayers.Layer.GML(
+        title,
+        href,{
+          format: OpenLayers.Format.KML
+          }
+        );
+    break;
+<span class="comment">    
+  // Currently the following layertypes are only supported in a OwsContext doc as a BaseLayer</span>
+<span class="comment">  // for more information see http://docs.codehaus.org/display/MAP/Using+Google-layers</span>
+   <span class="comment">/* case "GMAP":
+    case "Google":
+      //the empty baseLayer has to be destroyed when you want to use google
+      objRef.model.map.baseLayer.destroy();
+      layerOptions.maxExtent=new OpenLayers.Bounds("-20037508", "-20037508", "20037508", "20037508.34");
+       objRef.oLlayers[layerId] = new OpenLayers.Layer.Google( "Google Satellite" , {type: G_HYBRID_MAP, maxZoomLevel:18, sphericalMercator: true }, layerOptions );
+    break;
+
+    case "YMAP":
+    case "Yahoo":
+      // &lt;script src="http://api.maps.yahoo.com/ajaxymap?v=3.0&amp;appid=euzuro-openlayers"&gt;&lt;/script&gt;
+      layerOptions.isBaseLayer=true;
+      objRef.oLlayers[layerId] = new OpenLayers.Layer.Yahoo( "Yahoo");
+    break;
+
+    case "VE":
+    case "Microsoft":
+      //&lt;script src='http://dev.virtualearth.net/mapcontrol/v3/mapcontrol.js'&gt;&lt;/script&gt;
+      layerOptions.isBaseLayer=true;
+      objRef.oLlayers[layerId] = new OpenLayers.Layer.VirtualEarth( "VE",{minZoomLevel: 0, maxZoomLevel: 18,type: VEMapStyle.Hybrid});
+    break;
+
+    case "MultiMap":
+      //&lt;script type="text/javascript" src="http://clients.multimap.com/API/maps/1.1/metacarta_04"&gt;&lt;/script&gt;
+      layerOptions.isBaseLayer=true;
+      objRef.oLlayers[layerId] = new OpenLayers.Layer.MultiMap( "MultiMap");
+    break;*/</span>
+    default:
+      alert(mbGetMessage(<span class="literal">"layerTypeNotSupported"</span>, service));
+  }
+  <span class="reserved">if</span>(opacity &amp;&amp; objRef.oLlayers[layerId]){
+    objRef.oLlayers[layerId].setOpacity(opacity);
+  }
+  
+  objRef.oLlayers[layerId].events.register(<span class="literal">'loadstart'</span>, objRef, objRef.increaseLoadingLayers);
+  objRef.oLlayers[layerId].events.register(<span class="literal">'loadend'</span>, objRef, objRef.decreaseLoadingLayers);
+<span class="comment">  
+  // Here the OL layer gets added to the OL map</span>
+  objRef.model.map.addLayer(objRef.oLlayers[layerId]);
+}
+
+<span class="comment">/**
+ * gets an OpenLayers vector style with web safe colors.
+ * <span class="attrib">@param</span> objRef reference to this object
+ * <span class="attrib">@param</span> colorNumber number of a color from which to generate websafe color
+ * <span class="attrib">@return</span> {OpenLayers.Style} style for OpenLayers vector rendering
+ */</span>
+MapPaneOL.<span class="reserved">prototype</span>.getWebSafeStyle = <span class="reserved">function</span>(objRef, colorNumber) {
+  colors=new Array(<span class="literal">"00"</span>,<span class="literal">"33"</span>,<span class="literal">"66"</span>,<span class="literal">"99"</span>,<span class="literal">"CC"</span>,<span class="literal">"FF"</span>);
+  colorNumber=(colorNumber)?colorNumber:0;
+  colorNumber=(colorNumber&lt;0)?0:colorNumber;
+  colorNumber=(colorNumber&gt;215)?215:colorNumber;
+  i=parseInt(colorNumber/36);
+  j=parseInt((colorNumber-i*36)/6);
+  k=parseInt((colorNumber-i*36-j*6));
+  var color=<span class="literal">"#"</span>+colors[i]+colors[j]+colors[k];
+  var defaultStyle = {
+            fillColor: <span class="literal">"#808080"</span>,
+            fillOpacity: 1,
+            strokeColor: <span class="literal">"#000000"</span>,
+            strokeOpacity: 1,
+            strokeWidth: 1,
+            pointRadius: 6};
+  var style=OpenLayers.Util.extend(defaultStyle,OpenLayers.Feature.Vector.style[<span class="literal">"default"</span>]);
+  style.fillColor = color;
+  style.strokeColor = color;
+  style.map = objRef.model.map;
+  <span class="reserved">return</span> style;
+}
+
+<span class="comment">/**
+   * Called for refreshing one layer.
+   * <span class="attrib">@param</span> objRef This object.
+   * <span class="attrib">@param</span> layerId  The id of the layer that was toggled.
+   */</span>
+MapPaneOL.<span class="reserved">prototype</span>.refreshLayer = <span class="reserved">function</span>(objRef, layerId , newParams){
+  newParams[<span class="literal">'version'</span>] = Math.random(); //necessary <span class="reserved">for</span> see change in certain case
+  objRef.getLayer(objRef,layerId).mergeNewParams(newParams);
+}
+  
+  <span class="comment">/**
+   * Called when the map timestamp is changed so set the layer visiblity.
+   * <span class="attrib">@param</span> objRef This object.
+   * <span class="attrib">@param</span> timestampIndex  The array index for the layer to be displayed. 
+   */</span>
+MapPaneOL.<span class="reserved">prototype</span>.timestampListener=<span class="reserved">function</span>(objRef, timestampIndex){
+  <span class="reserved">if</span> (window.movieLoop.frameIsLoading == true) {
+    <span class="reserved">return</span>;
+  }
+  var layerId = objRef.model.timestampList.getAttribute(<span class="literal">"layerId"</span>);
+  var ts = objRef.model.timestampList.childNodes[timestampIndex];
+
+  <span class="reserved">if</span> (layerId &amp;&amp; ts) {				
+    var curLayer = objRef.oLlayers[layerId]; //TBD: please check <span class="reserved">if</span> <span class="reserved">this</span> still works now we<span class="literal">'ve moved to layerId
+    if (!curLayer.grid) {
+      return;
+    }
+    div = curLayer.grid[0][0].imgDiv;
+    // Perform URL substitution via regexps
+    var oldImageUrl = div.src || div.firstChild.src;
+    var newImageUrl = oldImageUrl.replace(/TIME\=.*?\&amp;/,'</span>TIME=<span class="literal">' + getNodeValue(ts) + '</span>&amp;<span class="literal">');
+    if (oldImageUrl == newImageUrl) {
+      return;
+    }
+
+    function imageLoaded() {
+      window.movieLoop.frameIsLoading = false;
+      if(element.removeEventListener) { // Standard
+        element.removeEventListener("load", imageLoaded, false);
+      } else if(element.detachEvent) { // IE
+        element.detachEvent('</span>onload<span class="literal">', imageLoaded);
+      }
+    }
+
+    window.movieLoop.frameIsLoading = true;
+    var element = div.nodeName.toUpperCase() == "IMG" ? div : div.firstChild;
+    if(element.addEventListener) { // Standard
+      element.addEventListener("load", imageLoaded, false);
+    } else if(element.attachEvent) { // IE
+      element.attachEvent('</span>onload', imageLoaded);
+    }
+    <span class="reserved">if</span> (objRef.IE6) {
+      OpenLayers.Util.modifyAlphaImageDiv(div,
+            null, null, null, newImageUrl);
+    } <span class="reserved">else</span> {
+      element.src = newImageUrl;
+    }
+  }
+      
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-Caps2Context.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-Caps2Context.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-Caps2Context.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ Caps2Context.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" Caps2Context.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-Caps2Context.js.html" 
+                                        target="classFrame">Caps2Context.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="Caps2Context.html" TARGET="classFrame">Caps2Context</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/GetFeatureInfoWSR.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/GetFeatureInfoWSR.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/GetFeatureInfoWSR.html	(revision 4307)
@@ -0,0 +1,545 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+GetFeatureInfoWSR
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="GetFeatureInfoWSR";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-GetFeatureInfoWSR.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="GetFeatureInfo.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="GLOBALS.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GetFeatureInfoWSR.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class GetFeatureInfoWSR</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='ButtonBase.html'>ButtonBase</a>
+               |
+               +--<b>GetFeatureInfoWSR</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>GetFeatureInfoWSR</B>
+   
+      <DT>extends <a href='ButtonBase.html'>ButtonBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-GetFeatureInfoWSR.js.html'>GetFeatureInfoWSR.js</a></I><BR/><BR/><B>Author:</B> adair  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#tolerance">tolerance</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tolerance in pixels around the click point for WFS:GetFeature
+ default is 3</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ButtonBase.html">ButtonBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ButtonBase.html#htmlTagId">htmlTagId</a>, <a href="ButtonBase.html#panelHtmlTagId">panelHtmlTagId</a>, <a href="ButtonBase.html#buttonType">buttonType</a>, <a href="ButtonBase.html#olButtonType">olButtonType</a>, <a href="ButtonBase.html#action">action</a>, <a href="ButtonBase.html#cursor">cursor</a>, <a href="ButtonBase.html#selected">selected</a>, <a href="ButtonBase.html#control">control</a>, <a href="ButtonBase.html#active">active</a>, <a href="ButtonBase.html#superclass">superclass</a>, <a href="ButtonBase.html#objRef">objRef</a>, <a href="ButtonBase.html#panel_div">panel_div</a>, <a href="ButtonBase.html#div">div</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="GetFeatureInfoWSR.html#GetFeatureInfoWSR()">GetFeatureInfoWSR</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Implements GetFeatureInfo functionality, using the WebServiceRequest
+ tool.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#createControl">createControl</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 GetFeatureInfoWSR control
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#doOnClick">doOnClick</A></B>(e)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 For GetFeatureInfo, we want to check for queryable layers and only use
+ those.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#doSelect">doSelect</A></B>(objRef, selected)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Register click event when button is selected, unregister it when
+ unselected
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ButtonBase.html">ButtonBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ButtonBase.html#getButtonClass">getButtonClass</a>, <a href="ButtonBase.html#doAction">doAction</a>, <a href="ButtonBase.html#select">select</a>, <a href="ButtonBase.html#attachToOL">attachToOL</a>, <a href="ButtonBase.html#buttonInit">buttonInit</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="tolerance"><!-- --></A>
+   <H3>tolerance</H3>
+   <PRE>Object&nbsp;<B>tolerance</B></PRE>
+   <UL>
+   tolerance in pixels around the click point for WFS:GetFeature
+ default is 3
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="GetFeatureInfoWSR()"><!-- --></A><H3>
+GetFeatureInfoWSR</H3>
+<PRE><B>GetFeatureInfoWSR</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Implements GetFeatureInfo functionality, using the WebServiceRequest
+ tool. This will work with the WMS:GetFeatureInfo request as well as
+ with WFS:GetFeature. This widget can be used as an example on how to
+ write widgets that use the WebServiceRequest functionality.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -  The XML node in the Config file referencing this object.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -  The widget object which this widget is associated with.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> adair  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="createControl"><!-- --></A>
+   <H3>createControl</H3>
+   <PRE>Object <B>createControl</B>(objRef)</PRE>
+   
+      <UL>GetFeatureInfoWSR control</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this object.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        {OpenLayers.Control} class of the OL control. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="doOnClick"><!-- --></A>
+   <H3>doOnClick</H3>
+   <PRE>void <B>doOnClick</B>(e)</PRE>
+   
+      <UL>For GetFeatureInfo, we want to check for queryable layers and only use
+ those.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  OpenLayers click event      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="doSelect"><!-- --></A>
+   <H3>doSelect</H3>
+   <PRE>void <B>doSelect</B>(objRef, selected)</PRE>
+   
+      <UL>Register click event when button is selected, unregister it when
+ unselected</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this widget  
+      </UL> 
+   
+     <UL><CODE>selected</CODE> -  true if button is selected, false otherwise      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-GetFeatureInfoWSR.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="GetFeatureInfo.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="GLOBALS.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GetFeatureInfoWSR.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-CursorTrack.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-CursorTrack.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-CursorTrack.js.html	(revision 4307)
@@ -0,0 +1,472 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="CursorTrack.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>CursorTrack.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'CursorTrack.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="CursorTrack.html">CursorTrack</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: CursorTrack.js 3889 2008-02-27 18:29:43Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Widget to display the mouse coordinates when it is over a MapContainer widget.
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode This widget's object node from the configuration document.
+ * <span class="attrib">@param</span> model The model that this widget is a view of.
+ */</span>
+<span class="reserved">function</span> CursorTrack(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+<span class="comment">
+  //by default, display coords in latlon; if false show map XY</span>
+  <span class="reserved">this</span>.showPx = Mapbuilder.parseBoolean(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:showPx"</span>, false)); // pixel coordinates
+  <span class="reserved">this</span>.showXY = Mapbuilder.parseBoolean(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:showXY"</span>, false)); // XY Coordinates
+  <span class="reserved">this</span>.showLatLong = Mapbuilder.parseBoolean(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:showLatLong"</span>, true)); // Standard lat long
+  <span class="reserved">this</span>.showDMS = Mapbuilder.parseBoolean(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:showDMS"</span>, false)); // Lat/long in DD MM SS.S format
+  <span class="reserved">this</span>.showDM = Mapbuilder.parseBoolean(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:showDM"</span>, false)); // Lat/long in DD MM.MMMM format
+  <span class="reserved">this</span>.showMGRS = Mapbuilder.parseBoolean(<span class="reserved">this</span>.getProperty(<span class="literal">"mb:showMGRS"</span>, false)); // Military Grid Reference System
+  <span class="reserved">if</span>( <span class="reserved">this</span>.showMGRS ) {
+<span class="comment">    // load this here so it is not required for everyone</span>
+    mapbuilder.loadScript(baseDir+<span class="literal">"/util/MGRS.js"</span>);
+  }
+
+  <span class="reserved">this</span>.precision = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:precision"</span>, 2);
+<span class="comment">
+  //set some properties for the form output</span>
+  <span class="reserved">this</span>.formName = <span class="literal">"CursorTrackForm_"</span> + mbIds.getId();
+  <span class="reserved">this</span>.stylesheet.setParameter(<span class="literal">"formName"</span>, <span class="reserved">this</span>.formName);
+
+
+  <span class="comment">/**
+   * Add mouse event listeners to the map object in the model.
+   * <span class="attrib">@param</span> objRef Pointer to this CursorTrack object.
+   */</span>
+  <span class="reserved">this</span>.init = <span class="reserved">function</span>(objRef) {
+    objRef.proj = new OpenLayers.Projection( objRef.model.getSRS() );
+
+    objRef.model.map.events.register(<span class="literal">'mousemove'</span>, objRef, objRef.mousemoveHandler);
+    objRef.model.map.events.register(<span class="literal">'mouseout'</span>,  objRef, objRef.mouseoutHandler);
+
+    <span class="reserved">if</span>( <span class="reserved">this</span>.showMGRS )
+      <span class="reserved">this</span>.MGRS = new MGRS();
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"loadModel"</span>, <span class="reserved">this</span>.init, <span class="reserved">this</span> );
+  
+  <span class="reserved">this</span>.clear = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">if</span> (objRef.model.map &amp;&amp; objRef.model.map.events) {
+      objRef.model.map.events.unregister(<span class="literal">'mousemove'</span>, objRef, objRef.mousemoveHandler);
+      objRef.model.map.events.unregister(<span class="literal">'mouseout'</span>,  objRef, objRef.mouseoutHandler);
+    }
+  }
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"newModel"</span>, <span class="reserved">this</span>.clear, <span class="reserved">this</span>);
+
+  <span class="comment">/**
+   * OpenLayers mousemove event listener.
+   * <span class="attrib">@param</span> evt OpenLayers mouse event
+   */</span>
+  <span class="reserved">this</span>.mousemoveHandler = <span class="reserved">function</span>(evt) {
+    var coordForm = document.getElementById(<span class="reserved">this</span>.formName);
+    <span class="reserved">if</span> (!evt) <span class="reserved">return</span>;
+<span class="comment">
+    // capture XY coordinates</span>
+    var evXY = <span class="reserved">this</span>.model.map.getLonLatFromPixel(evt.xy);
+<span class="comment">
+    ///CSCS</span>
+    var pt=new OpenLayers.Geometry.Point(evXY.lon, evXY.lat)
+    pt.transform(<span class="reserved">this</span>.proj, new OpenLayers.Projection(<span class="literal">"EPSG:4326"</span>));
+    var evLonLat = new OpenLayers.LonLat(pt.x,pt.y);
+
+
+    <span class="reserved">if</span>( <span class="reserved">this</span>.showPx ) {
+      <span class="reserved">if</span>( coordForm.px )
+        coordForm.px.value = evt.xy.x;
+      <span class="reserved">if</span>( coordForm.py )
+        coordForm.py.value = evt.xy.y;
+    }
+
+    <span class="reserved">if</span>( <span class="reserved">this</span>.showXY ) {
+      <span class="reserved">if</span>( coordForm.x )
+        coordForm.x.value = evXY.lon.toFixed(<span class="reserved">this</span>.precision);;
+      <span class="reserved">if</span>( coordForm.y )
+        coordForm.y.value = evXY.lat.toFixed(<span class="reserved">this</span>.precision);;
+    }
+
+    <span class="reserved">if</span>( <span class="reserved">this</span>.showLatLong ) {
+      <span class="reserved">if</span>( coordForm.longitude )
+        coordForm.longitude.value = evLonLat.lon.toFixed(<span class="reserved">this</span>.precision);
+      <span class="reserved">if</span>( coordForm.latitude )
+        coordForm.latitude.value = evLonLat.lat.toFixed(<span class="reserved">this</span>.precision);
+    }
+
+    <span class="reserved">if</span>( <span class="reserved">this</span>.showDMS ) {
+      var longitude = <span class="reserved">this</span>.convertDMS(evLonLat.lon, <span class="literal">'LON'</span>);
+      <span class="reserved">if</span>( coordForm.longdeg )
+        coordForm.longdeg.value = longitude[0];
+      <span class="reserved">if</span>( coordForm.longmin )
+        coordForm.longmin.value = longitude[1];
+      <span class="reserved">if</span>( coordForm.longsec )
+        coordForm.longsec.value = longitude[2];
+     <span class="reserved">if</span>( coordForm.longH )
+        coordForm.longH.value = longitude[3];
+
+      var latitude = <span class="reserved">this</span>.convertDMS(evLonLat.lat, <span class="literal">'LAT'</span>);
+      <span class="reserved">if</span>( coordForm.latdeg )
+        coordForm.latdeg.value = latitude[0];
+      <span class="reserved">if</span>( coordForm.latmin )
+        coordForm.latmin.value = latitude[1];
+      <span class="reserved">if</span>( coordForm.latsec )
+        coordForm.latsec.value = latitude[2];
+      <span class="reserved">if</span>( coordForm.latH )
+        coordForm.latH.value = latitude[3];
+    }
+
+    <span class="reserved">if</span>( <span class="reserved">this</span>.showDM ) {
+      var longitude = <span class="reserved">this</span>.convertDM(evLonLat.lon, <span class="literal">'LON'</span>);
+      <span class="reserved">if</span>( coordForm.longDMdeg )
+        coordForm.longDMdeg.value = longitude[0];
+      <span class="reserved">if</span>( coordForm.longDMmin )
+        coordForm.longDMmin.value = longitude[1];
+      <span class="reserved">if</span>( coordForm.longDMH )
+        coordForm.longDMH.value = longitude[2];
+
+      var latitude = <span class="reserved">this</span>.convertDM(evLonLat.lat, <span class="literal">'LAT'</span>);
+      <span class="reserved">if</span>( coordForm.latDMdeg )
+        coordForm.latDMdeg.value = latitude[0];
+      <span class="reserved">if</span>( coordForm.latDMmin )
+        coordForm.latDMmin.value = latitude[1];
+      <span class="reserved">if</span>( coordForm.latDMH )
+        coordForm.latDMH.value = latitude[2];
+    }
+
+    <span class="reserved">if</span>( <span class="reserved">this</span>.showMGRS ) {
+      <span class="reserved">if</span>( !<span class="reserved">this</span>.MGRS )
+        <span class="reserved">this</span>.MGRS = new MGRS();
+      coordForm.mgrs.value = <span class="reserved">this</span>.MGRS.convert(evLonLat.lat,evLonLat.lon) ;
+    }
+  }
+
+  <span class="comment">/**
+   * OpenLayers mouseout event listener.
+   * <span class="attrib">@param</span> evt OpenLayers mouse event
+   */</span>
+  <span class="reserved">this</span>.mouseoutHandler = <span class="reserved">function</span>(evt) {
+    var coordForm = document.getElementById(<span class="reserved">this</span>.formName);
+
+    <span class="reserved">if</span>( <span class="reserved">this</span>.showPx ) {
+      <span class="reserved">if</span>( coordForm.px)
+        coordForm.px.value = <span class="literal">""</span>;
+      <span class="reserved">if</span>( coordForm.py)
+        coordForm.py.value = <span class="literal">""</span>;
+    }
+
+    <span class="reserved">if</span>( <span class="reserved">this</span>.showXY ) {
+      <span class="reserved">if</span>( coordForm.x)
+        coordForm.x.value = <span class="literal">""</span>;
+      <span class="reserved">if</span>( coordForm.y)
+        coordForm.y.value = <span class="literal">""</span>;
+    }
+
+    <span class="reserved">if</span>( <span class="reserved">this</span>.showLatLong ) {
+      <span class="reserved">if</span>( coordForm.longitude )
+        coordForm.longitude.value = <span class="literal">""</span>;
+      <span class="reserved">if</span>( coordForm.latitude )
+        coordForm.latitude.value = <span class="literal">""</span>;
+    }
+
+    <span class="reserved">if</span>( <span class="reserved">this</span>.showDMS ) {
+      <span class="reserved">if</span>( coordForm.longdeg )
+        coordForm.longdeg.value = <span class="literal">""</span>;
+      <span class="reserved">if</span>( coordForm.longmin )
+        coordForm.longmin.value = <span class="literal">""</span>;
+      <span class="reserved">if</span>( coordForm.longsec )
+        coordForm.longsec.value = <span class="literal">""</span>;
+      <span class="reserved">if</span>( coordForm.longH )
+        coordForm.longH.value = <span class="literal">""</span>;
+
+      <span class="reserved">if</span>( coordForm.latdeg )
+        coordForm.latdeg.value = <span class="literal">""</span>;
+      <span class="reserved">if</span>( coordForm.latmin )
+        coordForm.latmin.value = <span class="literal">""</span>;
+      <span class="reserved">if</span>( coordForm.latsec )
+        coordForm.latsec.value = <span class="literal">""</span>;
+      <span class="reserved">if</span>( coordForm.latH )
+        coordForm.latH.value = <span class="literal">""</span>;
+    }
+
+    <span class="reserved">if</span>( <span class="reserved">this</span>.showDM ) {
+      <span class="reserved">if</span>( coordForm.longDMdeg )
+        coordForm.longDMdeg.value = <span class="literal">""</span>;
+      <span class="reserved">if</span>( coordForm.longDMmin )
+        coordForm.longDMmin.value = <span class="literal">""</span>;
+      <span class="reserved">if</span>( coordForm.longDMH )
+        coordForm.longDMH.value = <span class="literal">""</span>;
+
+      <span class="reserved">if</span>( coordForm.latDMdeg )
+        coordForm.latDMdeg.value = <span class="literal">""</span>;
+      <span class="reserved">if</span>( coordForm.latDMmin )
+        coordForm.latDMmin.value = <span class="literal">""</span>;
+      <span class="reserved">if</span>( coordForm.latDMH )
+        coordForm.latDMH.value = <span class="literal">""</span>;
+    }
+
+    <span class="reserved">if</span>( <span class="reserved">this</span>.showMGRS ) {
+      <span class="reserved">if</span>( coordForm.mgrs )
+        coordForm.mgrs.value = <span class="literal">""</span>;
+    }
+  }
+
+  <span class="comment">/**
+   * Decimal to DMS conversion
+   */</span>
+  <span class="reserved">this</span>.convertDMS = <span class="reserved">function</span>(coordinate, type) {
+    var coords = new Array();
+
+    abscoordinate = Math.abs(coordinate)
+    coordinatedegrees = Math.floor(abscoordinate);
+
+    coordinateminutes = (abscoordinate - coordinatedegrees)/(1/60);
+    tempcoordinateminutes = coordinateminutes;
+    coordinateminutes = Math.floor(coordinateminutes);
+    coordinateseconds = (tempcoordinateminutes - coordinateminutes)/(1/60);
+    coordinateseconds =  Math.round(coordinateseconds*10);
+    coordinateseconds /= 10;
+
+    <span class="reserved">if</span>( coordinatedegrees &lt; 10 )
+      coordinatedegrees = <span class="literal">"0"</span> + coordinatedegrees;
+
+    <span class="reserved">if</span>( coordinateminutes &lt; 10 )
+      coordinateminutes = <span class="literal">"0"</span> + coordinateminutes;
+
+    <span class="reserved">if</span>( coordinateseconds &lt; 10 )
+      coordinateseconds = <span class="literal">"0"</span> + coordinateseconds;
+
+    coords[0] = coordinatedegrees;
+    coords[1] = coordinateminutes;
+    coords[2] = coordinateseconds;
+    coords[3] = <span class="reserved">this</span>.getHemi(coordinate, type);
+
+    <span class="reserved">return</span> coords;
+  }
+
+  <span class="comment">/**
+   * Decimal to DM (degrees plus decimal minutes) conversion
+   */</span>
+  <span class="reserved">this</span>.convertDM = <span class="reserved">function</span>(coordinate, type) {
+    var coords = new Array();
+
+    abscoordinate = Math.abs(coordinate)
+    coordinatedegrees = Math.floor(abscoordinate);
+
+    coordinateminutes = (abscoordinate - coordinatedegrees)*60;
+    coordinateminutes = Math.round(coordinateminutes*1000);
+    coordinateminutes /= 1000;
+
+    <span class="reserved">if</span>( coordinatedegrees &lt; 10 )
+      coordinatedegrees = <span class="literal">"0"</span> + coordinatedegrees;
+
+    <span class="reserved">if</span>( coordinateminutes &lt; 10 )
+      coordinateminutes = <span class="literal">"0"</span> + coordinateminutes;
+
+    coords[0] = coordinatedegrees;
+    coords[1] = coordinateminutes;
+    coords[2] = <span class="reserved">this</span>.getHemi(coordinate, type);
+
+    <span class="reserved">return</span> coords;
+  }
+
+  <span class="comment">/**
+   * Return the hemisphere abbreviation for this coordinate.
+   */</span>
+  <span class="reserved">this</span>.getHemi = <span class="reserved">function</span>(coordinate, type) {
+    var coordinatehemi = <span class="literal">""</span>;
+    <span class="reserved">if</span> (type == <span class="literal">'LAT'</span>) {
+      <span class="reserved">if</span> (coordinate &gt;= 0) {
+        coordinatehemi = <span class="literal">"N"</span>;
+      }
+      <span class="reserved">else</span> {
+        coordinatehemi = <span class="literal">"S"</span>;
+      }
+    }
+    <span class="reserved">else</span> <span class="reserved">if</span> (type == <span class="literal">'LON'</span>) {
+      <span class="reserved">if</span> (coordinate &gt;= 0) {
+        coordinatehemi = <span class="literal">"E"</span>;
+      } <span class="reserved">else</span> {
+        coordinatehemi = <span class="literal">"W"</span>;
+      }
+    }
+
+    <span class="reserved">return</span> coordinatehemi;
+  }
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/GLOBALS.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/GLOBALS.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/GLOBALS.html	(revision 4307)
@@ -0,0 +1,2083 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+GLOBALS
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="GLOBALS";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="GetFeatureInfoWSR.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="GmlRendererBase.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GLOBALS.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class GLOBALS</H2>
+<PRE>Object
+   |
+   +--<b>GLOBALS</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>GLOBALS</B>
+   
+
+</DL>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#addEvent">addEvent</A></B>(elementObject, eventName, functionObject)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 attach an event to an element.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#AsciiToNum">AsciiToNum</A></B>( ascii )
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#checkIESecurity">checkIESecurity</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 copied from sarissa, a function to check browser security setting in IE, 
+ opens a help page if ActiveX objects are disabled.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#debug">debug</A></B>(output)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 write debugging info to a textbox onscreen.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#degToRad">degToRad</A></B>(deg)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#formatMGRS">formatMGRS</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#formatNumber">formatNumber</A></B>(aNumber, numDecimals)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#get100kID">get100kID</A></B>( easting, northing, zone_number)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get the two letter 100k designator for a given UTM easting,
+ northing and zone number value.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#get100kSetForZone">get100kSetForZone</A></B>(i)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Given a UTM zone number, figure out the MGRS 100K set it is in.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getAbsPos">getAbsPos</A></B>(elt,which)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 TBD: Comment me.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getAbsX">getAbsX</A></B>(elt)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getAbsY">getAbsY</A></B>(elt)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 get the absolute position of HTML element NS4, IE4/5 & NS6, even if it's in a table.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getArgs">getArgs</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 parse comma-separated name=value argument pairs from the query string of the URL; the function stores name=value pairs in properties of an object and returns that object.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getGeoCoordX">getGeoCoordX</A></B>(context, xCooord)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 convert screen x coordinate to geographic coordinate.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getGeoCoordY">getGeoCoordY</A></B>(yCoord)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 convert screen coordinate to screen coordinate.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getLetter100kID">getLetter100kID</A></B>( column, row, parm)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get the two-letter MGRS 100k designator given information
+ translated from the UTM northing, easting and zone number.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getLetterDesignator">getLetterDesignator</A></B>(lat)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getNodeValue">getNodeValue</A></B>(sResult)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 getNodevalue return value of node
+ it as OpenLayers style
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getPageX">getPageX</A></B>(e)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 get the absolute position of a user event (e.g., a mousedown).
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getPageY">getPageY</A></B>(e)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 get the absolute position of a user event (e.g., a mousedown).
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getProxyPlusUrl">getProxyPlusUrl</A></B>(url)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 If URL is local, then return URL unchanged,
+ else return URL of http://proxy?url=URL , or null if proxy not defined.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getScreenX">getScreenX</A></B>(context, xCoord)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 convert geographic x coordinate to screen coordinate.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getScreenY">getScreenY</A></B>(context, yCoord)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 convert geographic y coordinate to screen coordinate.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#handleEventWithObject">handleEventWithObject</A></B>(evt)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 handle event attached to an object.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#imageLoaded">imageLoaded</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#LLtoUTM">LLtoUTM</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Converts a set of Longitude and Latitude co-ordinates to UTM
+ given an ellipsoid
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#loadCss">loadCss</A></B>(cssFileName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Dynamically loads a stylesheet into the html page.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#makeElt">makeElt</A></B>(type)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 create an element and append it to the document body element.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#mapbuilderInit">mapbuilderInit</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Initialise Mapbuilder if script has been loaded, else wait to be called
+ again.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#mbDebugMessage">mbDebugMessage</A></B>(object, message)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Show a message if the debug property of the object has been set.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#mbDoLoad">mbDoLoad</A></B>(initFunction)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Mapbuilder's main initialisation script.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#mbFormatMessage">mbFormatMessage</A></B>(messageFormat)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Format a message with the extra arguments.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#mbGetMessage">mbGetMessage</A></B>(messageKey)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get a message from the <code>widgetText</code> file and format it if extra
+ arguments are passed.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#MGRS">MGRS</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#NumToAscii">NumToAscii</A></B>( num )
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#openPopup">openPopup</A></B>(url, width, height)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 open a popup window, adapted from http://www.quirksmode.org/js/croswin.html
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#postGetLoad">postGetLoad</A></B>(sUri, docToSend, contentType , dir, fileName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 A more flexible interface for loading docs that allows POST et GET param for save model
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#postLoad">postLoad</A></B>(sUri, docToSend, contentType )
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 A more flexible interface for loading docs that allows POST and async loading
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#returnTarget">returnTarget</A></B>(evt)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 determine and return the target element of an event.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#sld2OlStyle">sld2OlStyle</A></B>(node)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 extract a style from a SLD node of an XML doc and return
+ it as OpenLayers style
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#sld2UrlParam">sld2UrlParam</A></B>(node)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 extract a style from a SLD node of an XML doc and return
+ it as url parameter for a WMS request
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&lt;static&gt;&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#styleValue">styleValue</A></B>(aSelector, styleKey)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="addEvent"><!-- --></A>
+   <H3>addEvent</H3>
+   <PRE>&lt;static&gt; void <B>addEvent</B>(elementObject, eventName, functionObject)</PRE>
+   
+      <UL>attach an event to an element.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>elementObject</CODE> -  The object.  
+      </UL> 
+   
+     <UL><CODE>eventName</CODE> -  The name of the event.  
+      </UL> 
+   
+     <UL><CODE>functionObject</CODE> -  The function to be called.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="AsciiToNum"><!-- --></A>
+   <H3>AsciiToNum</H3>
+   <PRE>&lt;static&gt; Object <B>AsciiToNum</B>( ascii )</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="checkIESecurity"><!-- --></A>
+   <H3>checkIESecurity</H3>
+   <PRE>&lt;static&gt; void <B>checkIESecurity</B>()</PRE>
+   
+      <UL>copied from sarissa, a function to check browser security setting in IE, 
+ opens a help page if ActiveX objects are disabled.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="debug"><!-- --></A>
+   <H3>debug</H3>
+   <PRE>&lt;static&gt; void <B>debug</B>(output)</PRE>
+   
+      <UL>write debugging info to a textbox onscreen.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>output</CODE> -  String to be output.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="degToRad"><!-- --></A>
+   <H3>degToRad</H3>
+   <PRE>&lt;static&gt; Object <B>degToRad</B>(deg)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="formatMGRS"><!-- --></A>
+   <H3>formatMGRS</H3>
+   <PRE>&lt;static&gt; Object <B>formatMGRS</B>()</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="formatNumber"><!-- --></A>
+   <H3>formatNumber</H3>
+   <PRE>&lt;static&gt; Object <B>formatNumber</B>(aNumber, numDecimals)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="get100kID"><!-- --></A>
+   <H3>get100kID</H3>
+   <PRE>&lt;static&gt; Object <B>get100kID</B>( easting, northing, zone_number)</PRE>
+   
+      <UL>Get the two letter 100k designator for a given UTM easting,
+ northing and zone number value.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="get100kSetForZone"><!-- --></A>
+   <H3>get100kSetForZone</H3>
+   <PRE>&lt;static&gt; Object <B>get100kSetForZone</B>(i)</PRE>
+   
+      <UL>Given a UTM zone number, figure out the MGRS 100K set it is in.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getAbsPos"><!-- --></A>
+   <H3>getAbsPos</H3>
+   <PRE>&lt;static&gt; Object <B>getAbsPos</B>(elt,which)</PRE>
+   
+      <UL>TBD: Comment me.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>elt</CODE> -  TBD  
+      </UL> 
+   
+     <UL><CODE>which</CODE> -  TBD
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getAbsX"><!-- --></A>
+   <H3>getAbsX</H3>
+   <PRE>&lt;static&gt; Object <B>getAbsX</B>(elt)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getAbsY"><!-- --></A>
+   <H3>getAbsY</H3>
+   <PRE>&lt;static&gt; Object <B>getAbsY</B>(elt)</PRE>
+   
+      <UL>get the absolute position of HTML element NS4, IE4/5 & NS6, even if it's in a table.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>element</CODE> -  The HTML element.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Top left Y position. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getArgs"><!-- --></A>
+   <H3>getArgs</H3>
+   <PRE>&lt;static&gt; Object <B>getArgs</B>()</PRE>
+   
+      <UL>parse comma-separated name=value argument pairs from the query string of the URL; the function stores name=value pairs in properties of an object and returns that object.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        args Array of arguments passed to page, in form args[argname] = value. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getGeoCoordX"><!-- --></A>
+   <H3>getGeoCoordX</H3>
+   <PRE>&lt;static&gt; Object <B>getGeoCoordX</B>(context, xCooord)</PRE>
+   
+      <UL>convert screen x coordinate to geographic coordinate.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>context</CODE> -  The context object.  
+      </UL> 
+   
+     <UL><CODE>xCoord</CODE> -  The screen x coordinate to be converted.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        x the converted x coordinate. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getGeoCoordY"><!-- --></A>
+   <H3>getGeoCoordY</H3>
+   <PRE>&lt;static&gt; Object <B>getGeoCoordY</B>(yCoord)</PRE>
+   
+      <UL>convert screen coordinate to screen coordinate.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>yCoord</CODE> -  The geographic y coordinate to be converted.  
+      </UL> 
+   
+     <UL><CODE>context</CODE> -  The context object.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        y the converted y coordinate. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getLetter100kID"><!-- --></A>
+   <H3>getLetter100kID</H3>
+   <PRE>&lt;static&gt; Object <B>getLetter100kID</B>( column, row, parm)</PRE>
+   
+      <UL>Get the two-letter MGRS 100k designator given information
+ translated from the UTM northing, easting and zone number.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>setColumn</CODE> -  the column index as it relates to the MGRS         100k set spreadsheet, created from the UTM easting.         Values are 1-8.  
+      </UL> 
+   
+     <UL><CODE>setRow</CODE> -  the row index as it relates to the MGRS 100k set         spreadsheet, created from the UTM northing value. Values         are from 0-19.  
+      </UL> 
+   
+     <UL><CODE>setParm</CODE> -  the set block, as it relates to the MGRS 100k set         spreadsheet, created from the UTM zone. Values are from         1-60.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        two letter MGRS 100k code. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getLetterDesignator"><!-- --></A>
+   <H3>getLetterDesignator</H3>
+   <PRE>&lt;static&gt; Object <B>getLetterDesignator</B>(lat)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getNodeValue"><!-- --></A>
+   <H3>getNodeValue</H3>
+   <PRE>&lt;static&gt; Object <B>getNodeValue</B>(sResult)</PRE>
+   
+      <UL>getNodevalue return value of node
+ it as OpenLayers style</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>node</CODE> -    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        return node's value 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getPageX"><!-- --></A>
+   <H3>getPageX</H3>
+   <PRE>&lt;static&gt; Object <B>getPageX</B>(e)</PRE>
+   
+      <UL>get the absolute position of a user event (e.g., a mousedown).</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  The user event.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Left or top position. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getPageY"><!-- --></A>
+   <H3>getPageY</H3>
+   <PRE>&lt;static&gt; Object <B>getPageY</B>(e)</PRE>
+   
+      <UL>get the absolute position of a user event (e.g., a mousedown).</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  The user event.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Left or top position. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getProxyPlusUrl"><!-- --></A>
+   <H3>getProxyPlusUrl</H3>
+   <PRE>&lt;static&gt; Object <B>getProxyPlusUrl</B>(url)</PRE>
+   
+      <UL>If URL is local, then return URL unchanged,
+ else return URL of http://proxy?url=URL , or null if proxy not defined.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>url</CODE> -  Url of the file to access.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        Url of the proxy and service in the form http://host/proxy?url=service 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getScreenX"><!-- --></A>
+   <H3>getScreenX</H3>
+   <PRE>&lt;static&gt; Object <B>getScreenX</B>(context, xCoord)</PRE>
+   
+      <UL>convert geographic x coordinate to screen coordinate.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>context</CODE> -  The context object.  
+      </UL> 
+   
+     <UL><CODE>xCoord</CODE> -  The geographic x coordinate to be converted.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        x the converted x coordinate. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getScreenY"><!-- --></A>
+   <H3>getScreenY</H3>
+   <PRE>&lt;static&gt; Object <B>getScreenY</B>(context, yCoord)</PRE>
+   
+      <UL>convert geographic y coordinate to screen coordinate.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>context</CODE> -  The context object.  
+      </UL> 
+   
+     <UL><CODE>yCoord</CODE> -  The geographic x coordinate to be converted.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        y the converted x coordinate. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="handleEventWithObject"><!-- --></A>
+   <H3>handleEventWithObject</H3>
+   <PRE>&lt;static&gt; void <B>handleEventWithObject</B>(evt)</PRE>
+   
+      <UL>handle event attached to an object.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>evt</CODE> -  The event.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="imageLoaded"><!-- --></A>
+   <H3>imageLoaded</H3>
+   <PRE>&lt;static&gt; Object <B>imageLoaded</B>()</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="LLtoUTM"><!-- --></A>
+   <H3>LLtoUTM</H3>
+   <PRE>&lt;static&gt; Object <B>LLtoUTM</B>()</PRE>
+   
+      <UL>Converts a set of Longitude and Latitude co-ordinates to UTM
+ given an ellipsoid</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>ellip</CODE> -  an ellipsoid definition.  
+      </UL> 
+   
+     <UL><CODE>llpoint</CODE> -  the coordinate to be converted  
+      </UL> 
+   
+     <UL><CODE>utmpoint</CODE> -  A UTMPoint instance to put the results in. If         null, a new UTMPoint will be allocated.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        A UTM class instance containing the value of          <code>null</code> if conversion failed. If you pass          in a UTMPoint, it will be returned as well if          successful. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="loadCss"><!-- --></A>
+   <H3>loadCss</H3>
+   <PRE>&lt;static&gt; void <B>loadCss</B>(cssFileName)</PRE>
+   
+      <UL>Dynamically loads a stylesheet into the html page.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>cssFileName</CODE> -  name of the file to load, relative to config.skinDir    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="makeElt"><!-- --></A>
+   <H3>makeElt</H3>
+   <PRE>&lt;static&gt; Object <B>makeElt</B>(type)</PRE>
+   
+      <UL>create an element and append it to the document body element.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>type</CODE> -  The type of element to be created.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        node The node created and appended. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="mapbuilderInit"><!-- --></A>
+   <H3>mapbuilderInit</H3>
+   <PRE>&lt;static&gt; void <B>mapbuilderInit</B>()</PRE>
+   
+      <UL>Initialise Mapbuilder if script has been loaded, else wait to be called
+ again.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="mbDebugMessage"><!-- --></A>
+   <H3>mbDebugMessage</H3>
+   <PRE>&lt;static&gt; void <B>mbDebugMessage</B>(object, message)</PRE>
+   
+      <UL>Show a message if the debug property of the object has been set.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>object</CODE> -   the object that possibly has the debug property set  
+      </UL> 
+   
+     <UL><CODE>message</CODE> -  the message to show    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="mbDoLoad"><!-- --></A>
+   <H3>mbDoLoad</H3>
+   <PRE>&lt;static&gt; void <B>mbDoLoad</B>(initFunction)</PRE>
+   
+      <UL>Mapbuilder's main initialisation script.
+ This should be called from the main html file using:
+   <body onload="mbDoLoad()"></UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>initFunction</CODE> -  Optional - A function reference that will be called after   config.init() has been called.  This is to give application code a chance to  do initialization and be guaranteed that all objects exist (inlcuding config).    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="mbFormatMessage"><!-- --></A>
+   <H3>mbFormatMessage</H3>
+   <PRE>&lt;static&gt; Object <B>mbFormatMessage</B>(messageFormat)</PRE>
+   
+      <UL>Format a message with the extra arguments. <br/>
+ E.g. if called as: <code>mbFormatMessage("{1} is {0} {2}, {1}", "a good", "this", "test")</code><br/>
+ the formatted message returned is: <code>"this is a good test, this"</code></UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>messageFormat</CODE> -  the message format string  
+      </UL> 
+   
+     <UL><CODE>varArgs</CODE> -        optional extra parameters for formatting the message  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the formatted message 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="mbGetMessage"><!-- --></A>
+   <H3>mbGetMessage</H3>
+   <PRE>&lt;static&gt; Object <B>mbGetMessage</B>(messageKey)</PRE>
+   
+      <UL>Get a message from the <code>widgetText</code> file and format it if extra
+ arguments are passed.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>messageKey</CODE> -        the message key within the message node  
+      </UL> 
+   
+     <UL><CODE>varArgs</CODE> -           optional extra parameters for formatting the message  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        <code>"NoMsgsFound"</code> if the <code>widgetText</code> file is not found,<br/>                          the <code>messageKey</code> if the message key was not found within the message node,<br/>                          the (formatted) message if it was found 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="MGRS"><!-- --></A>
+   <H3>MGRS</H3>
+   <PRE>&lt;static&gt; Object <B>MGRS</B>()</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="NumToAscii"><!-- --></A>
+   <H3>NumToAscii</H3>
+   <PRE>&lt;static&gt; Object <B>NumToAscii</B>( num )</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="openPopup"><!-- --></A>
+   <H3>openPopup</H3>
+   <PRE>&lt;static&gt; Object <B>openPopup</B>(url, width, height)</PRE>
+   
+      <UL>open a popup window, adapted from http://www.quirksmode.org/js/croswin.html</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>url</CODE> -  The url of the page to be opened.  
+      </UL> 
+   
+     <UL><CODE>width</CODE> -  Width of the popup window, in pixels.  
+      </UL> 
+   
+     <UL><CODE>height</CODE> -  Height of the popup window, in pixels.
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="postGetLoad"><!-- --></A>
+   <H3>postGetLoad</H3>
+   <PRE>&lt;static&gt; Object <B>postGetLoad</B>(sUri, docToSend, contentType , dir, fileName)</PRE>
+   
+      <UL>A more flexible interface for loading docs that allows POST et GET param for save model</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="postLoad"><!-- --></A>
+   <H3>postLoad</H3>
+   <PRE>&lt;static&gt; Object <B>postLoad</B>(sUri, docToSend, contentType )</PRE>
+   
+      <UL>A more flexible interface for loading docs that allows POST and async loading</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="returnTarget"><!-- --></A>
+   <H3>returnTarget</H3>
+   <PRE>&lt;static&gt; Object <B>returnTarget</B>(evt)</PRE>
+   
+      <UL>determine and return the target element of an event.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>evt</CODE> -  The event.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        elt The element. 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="sld2OlStyle"><!-- --></A>
+   <H3>sld2OlStyle</H3>
+   <PRE>&lt;static&gt; Object <B>sld2OlStyle</B>(node)</PRE>
+   
+      <UL>extract a style from a SLD node of an XML doc and return
+ it as OpenLayers style</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>node</CODE> -  XML node containing the styled layer descriptor  
+      </UL> 
+   
+     <UL><CODE>objRef</CODE> -  reference to the map widget that will use the style  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        OpenLayers style object 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="sld2UrlParam"><!-- --></A>
+   <H3>sld2UrlParam</H3>
+   <PRE>&lt;static&gt; Object <B>sld2UrlParam</B>(node)</PRE>
+   
+      <UL>extract a style from a SLD node of an XML doc and return
+ it as url parameter for a WMS request</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>node</CODE> -  XML node containing the styled layer descriptor  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        WMS-compliant SLD URL parameters as array 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="styleValue"><!-- --></A>
+   <H3>styleValue</H3>
+   <PRE>&lt;static&gt; Object <B>styleValue</B>(aSelector, styleKey)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="GetFeatureInfoWSR.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="GmlRendererBase.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GLOBALS.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-ZoomToAoi.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-ZoomToAoi.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-ZoomToAoi.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ ZoomToAoi.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" ZoomToAoi.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-ZoomToAoi.js.html" 
+                                        target="classFrame">ZoomToAoi.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ZoomToAoi.html" TARGET="classFrame">ZoomToAoi</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/Abstract.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Abstract.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Abstract.html	(revision 4307)
@@ -0,0 +1,330 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Abstract
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Abstract";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Abstract.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<B>PREV CLASS</B><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="AoiBoxOL.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Abstract.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Abstract</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>Abstract</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Abstract</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Abstract.js.html'>Abstract.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Abstract.html#Abstract()">Abstract</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Output the context title and abstract.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#prePaint">prePaint</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Abstract()"><!-- --></A><H3>
+Abstract</H3>
+<PRE><B>Abstract</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Output the context title and abstract.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Abstract.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<B>PREV CLASS</B><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="AoiBoxOL.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Abstract.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Model.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Model.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Model.js.html	(revision 4307)
@@ -0,0 +1,193 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Model.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Model.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Model.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Model.html">Model</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Model.js 3091 2007-08-09 12:21:54Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/model/ModelBase.js"</span>);
+
+<span class="comment">/**
+ * Generic Model object for models where no specialization is required.  This is
+ * just an instance of a abstract ModelBase.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ModelBase
+ * <span class="attrib">@author</span> Mike Adair
+ * <span class="attrib">@param</span> modelNode The model's XML object node from the configuration document
+ * <span class="attrib">@param</span> parent Parent of this model, set to null if there is no parent.
+ */</span>
+<span class="reserved">function</span> Model(modelNode, parent) {
+<span class="comment">  // Inherit the ModelBase functions and parameters</span>
+  ModelBase.apply(<span class="reserved">this</span>, new Array(modelNode, parent));
+
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-ModelStatus.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-ModelStatus.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-ModelStatus.js.html	(revision 4307)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+ ModelStatus.js 
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title=" ModelStatus.js";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<H3 class="FrameHeadingFont"><B></B></H3>
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B><a href="overview-summary-ModelStatus.js.html" 
+                                        target="classFrame">ModelStatus.js</a></B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%">
+
+
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="ModelStatus.html" TARGET="classFrame">ModelStatus</A>
+<BR>
+</FONT></TD>
+</TR>
+
+</TABLE>
+
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WpsCapabilities.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WpsCapabilities.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-WpsCapabilities.js.html	(revision 4307)
@@ -0,0 +1,248 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="WpsCapabilities.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>WpsCapabilities.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'WpsCapabilities.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="WpsCapabilities.html">WpsCapabilities</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: WpsCapabilities.js 3657 2007-11-29 09:04:26Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/model/ModelBase.js"</span>);
+
+<span class="comment">/**
+ * Stores a Web Processing service (WPS) Capabilities document as defined by the 
+ * Open Geospatial Consortium (http://www.opengeospatial.org/).
+ *
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> ModelBase
+ * <span class="attrib">@author</span> Mike Adair
+ * <span class="attrib">@param</span> modelNode   The model's XML object node from the configuration document.
+ * <span class="attrib">@param</span> parent The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> WpsCapabilities(modelNode, parent) {
+<span class="comment">  // Inherit the ModelBase functions and parameters</span>
+  ModelBase.apply(<span class="reserved">this</span>, new Array(modelNode, parent));
+
+  <span class="reserved">this</span>.namespace = <span class="literal">"xmlns:wps='http://www.opengis.net/wps' xmlns:ows='http://www.opengis.net/ows' xmlns:xlink='http://www.w3.org/1999/xlink'"</span>;
+
+  <span class="comment">/**
+   * Returns the serverUrl for the WFS request passed in with the specified
+   * HTTP method from the capabilities doc.
+   * <span class="attrib">@param</span> requestName the WFS request to get the URL for
+   * <span class="attrib">@param</span> method http method for the request
+   * <span class="attrib">@param</span> feature ignored for WFS docs
+   * <span class="attrib">@return</span> URL for the specified request with the specified method
+   */</span>
+  <span class="reserved">this</span>.getServerUrl = <span class="reserved">function</span>(requestName, method, feature) {
+    var requestParts = requestName.split(<span class="literal">':'</span>);
+    var xpath = <span class="literal">"/wps:Capabilities/ows:OperationsMetadata/ows:Operation[@name='"</span>+requestParts[1]+<span class="literal">"']"</span>;
+    <span class="reserved">if</span> (method.toLowerCase() == <span class="literal">"post"</span>) {
+      xpath += <span class="literal">"/ows:DCP/ows:HTTP/ows:Post"</span>;
+    } <span class="reserved">else</span> {
+      xpath += <span class="literal">"/ows:DCP/ows:HTTP/ows:Get"</span>;
+    }
+    var urlNode = <span class="reserved">this</span>.doc.selectSingleNode(xpath);
+    <span class="reserved">if</span> (urlNode) {
+      <span class="reserved">return</span> urlNode.getAttribute(<span class="literal">"xlink:href"</span>);
+    } <span class="reserved">else</span> {
+      <span class="reserved">return</span> null;
+    }
+  }
+
+  <span class="comment">/**
+   * Returns the version for the wps
+   * <span class="attrib">@return</span> the wps version
+   */</span>
+  <span class="reserved">this</span>.getVersion = <span class="reserved">function</span>() {
+    var xpath = <span class="literal">"/wps:Capabilities"</span>;
+    <span class="reserved">return</span> <span class="reserved">this</span>.doc.selectSingleNode(xpath).getAttribute(<span class="literal">"version"</span>);
+  }
+
+  <span class="comment">/**
+   * Get HTTP method used to retreive this model
+   * <span class="attrib">@return</span> the HTTP method 
+   */</span>
+  <span class="reserved">this</span>.getMethod = <span class="reserved">function</span>() {
+    <span class="reserved">return</span> <span class="reserved">this</span>.method;
+  }
+
+  <span class="comment">/**
+   * Returns the featureType node with the specified name from the list of nodes
+   * selected by the nodeSelectXpath from the capabilities doc.
+   * <span class="attrib">@param</span> featureName name of the featureType to look up
+   * <span class="attrib">@return</span> the featureType node with the specified name.
+   */</span>
+  <span class="reserved">this</span>.getFeatureNode = <span class="reserved">function</span>(featureName) {
+    <span class="reserved">return</span> <span class="reserved">this</span>.doc.selectSingleNode(<span class="reserved">this</span>.nodeSelectXpath+<span class="literal">"[wps:Name='"</span>+featureName+<span class="literal">"']"</span>);
+  }
+
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Legend.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Legend.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Legend.js.html	(revision 4307)
@@ -0,0 +1,238 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Legend.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Legend.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Legend.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Legend.html">Legend</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Legend.js 3887 2008-02-27 18:18:53Z ahocevar $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Functions to render and update a Legend from a Web Map Context.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@author</span> Cameron Shorter cameronATshorter.net
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> Legend(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"deleteLayer"</span>,<span class="reserved">this</span>.refresh, <span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"moveLayerUp"</span>,<span class="reserved">this</span>.refresh, <span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"moveLayerDown"</span>,<span class="reserved">this</span>.refresh, <span class="reserved">this</span>);
+  <span class="reserved">if</span> (<span class="reserved">this</span>.autoRefresh) <span class="reserved">this</span>.model.addListener(<span class="literal">"addLayer"</span>,<span class="reserved">this</span>.refresh, <span class="reserved">this</span>);
+
+  <span class="comment">/**
+   * Override of widget prepaint to set some stylesheet parameters including 
+   * featureName (for OWS Context) and hidden attribute.
+   * <span class="attrib">@param</span> objRef Pointer to this object.
+   */</span>
+  <span class="reserved">this</span>.prePaint = <span class="reserved">function</span>(objRef) {
+    <span class="reserved">if</span> (objRef.model.featureName) {
+      objRef.stylesheet.setParameter(<span class="literal">"featureName"</span>, objRef.model.featureName );
+      objRef.stylesheet.setParameter(<span class="literal">"hidden"</span>, objRef.model.getHidden(objRef.model.featureName).toString() );
+    }
+    objRef.visibleLayer = Mapbuilder.getProperty(objRef.model.doc, objRef.model.nodeSelectXpath+<span class="literal">"[@hidden='0' and @opaque='1']/wmc:Name"</span>);
+  }
+
+}
+
+<span class="comment">/**
+ * Listener method to paint this widget
+ * <span class="attrib">@param</span> layerName  the name of the layer to highlight
+ */</span>
+Legend.<span class="reserved">prototype</span>.refresh = <span class="reserved">function</span>(objRef, layerName) {
+  objRef.paint(objRef, objRef.id);
+}
+
+<span class="comment">/**
+ * Controller method to select a layer
+ * <span class="attrib">@param</span> objRef Pointer to this object.
+ * <span class="attrib">@param</span> layer The selected layer.
+ */</span>
+Legend.<span class="reserved">prototype</span>.selectLayer = <span class="reserved">function</span>(objRef,layer) {
+  objRef.model.setParam(<span class="literal">'selectedLayer'</span>,layer);
+}
+
+<span class="comment">/**
+ * Controller method to select a layer
+ * <span class="attrib">@param</span> objRef Pointer to this object.
+ * <span class="attrib">@param</span> layer The selected layer.
+ */</span>
+Legend.<span class="reserved">prototype</span>.swapOpaqueLayer = <span class="reserved">function</span>(layer) {
+  <span class="reserved">this</span>.model.setHidden(<span class="reserved">this</span>.visibleLayer, true);
+  <span class="reserved">this</span>.model.setHidden(layer, false);
+  <span class="reserved">this</span>.visibleLayer = layer;
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/Legend.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/Legend.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/Legend.html	(revision 4307)
@@ -0,0 +1,537 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Legend
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Legend";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Legend.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="LayerControl.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="LegendGraphic.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Legend.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class Legend</H2>
+<PRE>Object
+   |
+   +--<a href='WidgetBase.html'>WidgetBase</a>
+         |
+         +--<a href='WidgetBaseXSL.html'>WidgetBaseXSL</a>
+               |
+               +--<b>Legend</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>Legend</B>
+   
+      <DT>extends <a href='WidgetBaseXSL.html'>WidgetBaseXSL</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-Legend.js.html'>Legend.js</a></I><BR/><BR/><B>Author:</B> Cameron Shorter cameronATshorter.net  <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBaseXSL.html">WidgetBaseXSL</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBaseXSL.html#stylesheet">stylesheet</a>, <a href="WidgetBaseXSL.html#parseHTMLNodes">parseHTMLNodes</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="WidgetBase.html">WidgetBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="WidgetBase.html#model">model</a>, <a href="WidgetBase.html#widgetNode">widgetNode</a>, <a href="WidgetBase.html#id">id</a>, <a href="WidgetBase.html#outputNodeId">outputNodeId</a>, <a href="WidgetBase.html#htmlTagId">htmlTagId</a>, <a href="WidgetBase.html#autoRefresh">autoRefresh</a>, <a href="WidgetBase.html#debug">debug</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="Legend.html#Legend()">Legend</A> 
+	 </B>
+	 (widgetNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Functions to render and update a Legend from a Web Map Context.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#prePaint">prePaint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Override of widget prepaint to set some stylesheet parameters including 
+ featureName (for OWS Context) and hidden attribute.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#refresh">refresh</A></B>(objRef, layerName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Listener method to paint this widget
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#selectLayer">selectLayer</A></B>(objRef,layer)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Controller method to select a layer
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#swapOpaqueLayer">swapOpaqueLayer</A></B>(layer)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Controller method to select a layer
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBaseXSL.html">WidgetBaseXSL</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBaseXSL.html#paint">paint</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="WidgetBase.html">WidgetBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="WidgetBase.html#getProperty">getProperty</a>, <a href="WidgetBase.html#getNode">getNode</a>, <a href="WidgetBase.html#initTargetModel">initTargetModel</a>, <a href="WidgetBase.html#postPaint">postPaint</a>, <a href="WidgetBase.html#clearWidget">clearWidget</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="Legend()"><!-- --></A><H3>
+Legend</H3>
+<PRE><B>Legend</B>(widgetNode, model)</PRE>
+
+
+<UL>
+   Functions to render and update a Legend from a Web Map Context.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Cameron Shorter cameronATshorter.net  <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="prePaint"><!-- --></A>
+   <H3>prePaint</H3>
+   <PRE>void <B>prePaint</B>(objRef)</PRE>
+   
+      <UL>Override of widget prepaint to set some stylesheet parameters including 
+ featureName (for OWS Context) and hidden attribute.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="refresh"><!-- --></A>
+   <H3>refresh</H3>
+   <PRE>void <B>refresh</B>(objRef, layerName)</PRE>
+   
+      <UL>Listener method to paint this widget</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layerName</CODE> -   the name of the layer to highlight    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="selectLayer"><!-- --></A>
+   <H3>selectLayer</H3>
+   <PRE>void <B>selectLayer</B>(objRef,layer)</PRE>
+   
+      <UL>Controller method to select a layer</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.  
+      </UL> 
+   
+     <UL><CODE>layer</CODE> -  The selected layer.    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="swapOpaqueLayer"><!-- --></A>
+   <H3>swapOpaqueLayer</H3>
+   <PRE>void <B>swapOpaqueLayer</B>(layer)</PRE>
+   
+      <UL>Controller method to select a layer</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>layer</CODE> -  The selected layer.    
+      </UL> 
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-Legend.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="LayerControl.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="LegendGraphic.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Legend.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/GeoRSS.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/GeoRSS.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/GeoRSS.html	(revision 4307)
@@ -0,0 +1,732 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+GeoRSS
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="GeoRSS";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-GeoRSS.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Forward.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="GetFeatureInfo.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GeoRSS.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class GeoRSS</H2>
+<PRE>Object
+   |
+   +--<a href='Listener.html'>Listener</a>
+         |
+         +--<a href='ModelBase.html'>ModelBase</a>
+               |
+               +--<b>GeoRSS</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>GeoRSS</B>
+   
+      <DT>extends <a href='ModelBase.html'>ModelBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <B>Author:</B> Cameron Shorter  <BR/><B>Deprecated</B> <I></I><BR/><BR/><I>Defined in <a href='overview-summary-GeoRSS.js.html'>GeoRSS.js</a></I><BR/><BR/><B>Requires:</B><UL>- <a href="Sarissa.html#">Sarissa</a></UL>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ModelBase.html">ModelBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ModelBase.html#async">async</a>, <a href="ModelBase.html#contentType">contentType</a>, <a href="ModelBase.html#modelNode">modelNode</a>, <a href="ModelBase.html#id">id</a>, <a href="ModelBase.html#title">title</a>, <a href="ModelBase.html#debug">debug</a>, <a href="ModelBase.html#url">url</a>, <a href="ModelBase.html#method">method</a>, <a href="ModelBase.html#namespace">namespace</a>, <a href="ModelBase.html#template">template</a>, <a href="ModelBase.html#nodeSelectXpath">nodeSelectXpath</a>, <a href="ModelBase.html#config">config</a>, <a href="ModelBase.html#parentModel">parentModel</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="Listener.html">Listener</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="Listener.html#listeners">listeners</a>, <a href="Listener.html#values">values</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="GeoRSS.html#GeoRSS()">GeoRSS</A> 
+	 </B>
+	 (modelNode, parent)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Stores a GML Feature or FeatureCollection as defined by the
+ Open Geospatial Consortium (http://www.opengeospatial.org/).
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeatureGeometry">getFeatureGeometry</A></B>(featureNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the geometry for the feature
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeatureGml">getFeatureGml</A></B>(featureNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Get the GML Node out of the RSS feed
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeatureIcon">getFeatureIcon</A></B>( featureNode )
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a specific icon for that entry
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeatureId">getFeatureId</A></B>(featureNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns an ID value for a node in the feature list
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeatureName">getFeatureName</A></B>(featureNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a label for a node in the feature list
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeatureNodes">getFeatureNodes</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns the list of nodes selected by the nodeSelectpath
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getFeaturePoint">getFeaturePoint</A></B>(featureNode)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Returns a point geometry for the feature
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#initItems">initItems</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 init
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ModelBase.html">ModelBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ModelBase.html#getProperty">getProperty</a>, <a href="ModelBase.html#getXpathValue">getXpathValue</a>, <a href="ModelBase.html#setXpathValue">setXpathValue</a>, <a href="ModelBase.html#loadModelDoc">loadModelDoc</a>, <a href="ModelBase.html#setModel">setModel</a>, <a href="ModelBase.html#finishLoading">finishLoading</a>, <a href="ModelBase.html#newRequest">newRequest</a>, <a href="ModelBase.html#deleteTemplates">deleteTemplates</a>, <a href="ModelBase.html#saveModel">saveModel</a>, <a href="ModelBase.html#createObject">createObject</a>, <a href="ModelBase.html#loadObjects">loadObjects</a>, <a href="ModelBase.html#parseConfig">parseConfig</a>, <a href="ModelBase.html#refresh">refresh</a>, <a href="ModelBase.html#init">init</a>, <a href="ModelBase.html#clearModel">clearModel</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="Listener.html">Listener</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="Listener.html#addListener">addListener</a>, <a href="Listener.html#addFirstListener">addFirstListener</a>, <a href="Listener.html#removeListener">removeListener</a>, <a href="Listener.html#callListeners">callListeners</a>, <a href="Listener.html#setParam">setParam</a>, <a href="Listener.html#getParam">getParam</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="GeoRSS()"><!-- --></A><H3>
+GeoRSS</H3>
+<PRE><B>GeoRSS</B>(modelNode, parent)</PRE>
+
+
+<UL>
+   Stores a GML Feature or FeatureCollection as defined by the
+ Open Geospatial Consortium (http://www.opengeospatial.org/).
+
+ WARNING: This model is only to be used if you do not want to embed the GeoRSS feed
+ in the context doc. See also MAP-271
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>modelNode</CODE> -  The model's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>parent</CODE> -     The parent model for the object.
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Cameron Shorter  <BR/><B>Deprecated</B> <I></I><BR/><BR/><B>Requires:</B><UL>- <a href="Sarissa.html#">Sarissa</a></UL>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="getFeatureGeometry"><!-- --></A>
+   <H3>getFeatureGeometry</H3>
+   <PRE>Object <B>getFeatureGeometry</B>(featureNode)</PRE>
+   
+      <UL>Returns the geometry for the feature</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureNode</CODE> -  the feature node to select from  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the geometric point for the node 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getFeatureGml"><!-- --></A>
+   <H3>getFeatureGml</H3>
+   <PRE>Object <B>getFeatureGml</B>(featureNode)</PRE>
+   
+      <UL>Get the GML Node out of the RSS feed</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getFeatureIcon"><!-- --></A>
+   <H3>getFeatureIcon</H3>
+   <PRE>Object <B>getFeatureIcon</B>( featureNode )</PRE>
+   
+      <UL>Returns a specific icon for that entry</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureNode</CODE> -  the feature node to select from  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the geometric point for the node 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getFeatureId"><!-- --></A>
+   <H3>getFeatureId</H3>
+   <PRE>Object <B>getFeatureId</B>(featureNode)</PRE>
+   
+      <UL>Returns an ID value for a node in the feature list</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureNode</CODE> -  the feature node to selectfrom  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        ID for this feature 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getFeatureName"><!-- --></A>
+   <H3>getFeatureName</H3>
+   <PRE>Object <B>getFeatureName</B>(featureNode)</PRE>
+   
+      <UL>Returns a label for a node in the feature list</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureNode</CODE> -  the feature node to selectfrom  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        a label for this feature 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getFeatureNodes"><!-- --></A>
+   <H3>getFeatureNodes</H3>
+   <PRE>Object <B>getFeatureNodes</B>()</PRE>
+   
+      <UL>Returns the list of nodes selected by the nodeSelectpath</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        list of nodes selected 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getFeaturePoint"><!-- --></A>
+   <H3>getFeaturePoint</H3>
+   <PRE>Object <B>getFeaturePoint</B>(featureNode)</PRE>
+   
+      <UL>Returns a point geometry for the feature</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>featureNode</CODE> -  the feature node to select from  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the geometric point for the node 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="initItems"><!-- --></A>
+   <H3>initItems</H3>
+   <PRE>void <B>initItems</B>(objRef)</PRE>
+   
+      <UL>init</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-GeoRSS.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Forward.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="GetFeatureInfo.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GeoRSS.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Loading2.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Loading2.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-Loading2.js.html	(revision 4307)
@@ -0,0 +1,294 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="Loading2.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>Loading2.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'Loading2.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="Loading2.html">Loading2</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Loading2.js 3879 2008-02-27 14:20:29Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBase.js"</span>);
+
+<span class="comment">/**
+ * This widget is used to display ModelStatus messages.  This widget is used
+ * like any other except that it is clreaed on the loadModel event and painted
+ * on the "newModel" and "modelStatus" events.
+ * Optional config parameters are an image source (usually an animated GIF) in 
+ * the imageSource property, an optional static text message to be displayed as 
+ * the textMessage property and if the widget is to be displayed over top of a 
+ * map you can also specify the mapContainerId property.
+ * Dynamic message can be displayed by listening on the "modelStatus" event which
+ * sends a message as the parameter.  Send a null message param to clear the widget.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBase
+ * <span class="attrib">@author</span> Mike Adair
+ * <span class="attrib">@param</span> widgetNode The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> Loading2(widgetNode, model) {
+  WidgetBase.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+<span class="comment">
+  //loading img to be displayed  while models load</span>
+  <span class="reserved">this</span>.imageSrc = config.skinDir + <span class="reserved">this</span>.getProperty(<span class="literal">"mb:imageSrc"</span>, <span class="literal">"/images/Loading.gif"</span>);
+<span class="comment">
+  //a text message to be displayed while models load</span>
+  <span class="reserved">this</span>.textMessage = <span class="reserved">this</span>.getProperty(<span class="literal">"mb:textMessage"</span>, mbGetMessage(<span class="literal">"docLoading"</span>));
+  <span class="reserved">this</span>.updateMessage = <span class="reserved">this</span>.textMessage;
+<span class="comment">
+  //check to see if this is to be put over a map if there isa mapContainerID supplied</span>
+  <span class="reserved">this</span>.mapContainerNode = widgetNode.selectSingleNode(<span class="literal">"mb:mapContainerId"</span>);
+  <span class="reserved">if</span> (!<span class="reserved">this</span>.mapContainerNode) {
+    <span class="reserved">this</span>.mapContainerNode = widgetNode.selectSingleNode(<span class="literal">"mb:targetModel"</span>);
+  }
+  <span class="reserved">if</span> (<span class="reserved">this</span>.mapContainerNode) {
+    <span class="reserved">this</span>.containerNodeId = getNodeValue(<span class="reserved">this</span>.mapContainerNode);
+    <span class="reserved">this</span>.htmlTagId = <span class="reserved">this</span>.containerNodeId;
+  }
+<span class="comment">
+  //paint it on the "newModel" event, clear it on "loadModel" event</span>
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"newModel"</span>,<span class="reserved">this</span>.paint, <span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"loadModel"</span>,<span class="reserved">this</span>.clear, <span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"refresh"</span>,<span class="reserved">this</span>.paint, <span class="reserved">this</span>);
+  <span class="reserved">this</span>.model.addListener(<span class="literal">"modelStatus"</span>,<span class="reserved">this</span>.update, <span class="reserved">this</span>);
+}
+
+<span class="comment">/**
+ * Render the widget.
+ * <span class="attrib">@param</span> objRef Pointer to widget object.
+ */</span>
+Loading2.<span class="reserved">prototype</span>.paint = <span class="reserved">function</span>(objRef) {
+  var node = objRef.getNode();
+  <span class="reserved">if</span> (node) {
+<span class="comment">    //if it is a template model, no loader should be shown in the output div</span>
+    <span class="reserved">if</span> (objRef.model.template) <span class="reserved">return</span>;
+<span class="comment">    //if there's no url, there will never be an update on the ModelStatus, so the image stays while nothing is happening.</span>
+    <span class="reserved">if</span> (!objRef.model.url &amp;&amp; !objRef.mapContainerNode) <span class="reserved">return</span>;
+<span class="comment">    //create the output node the first time this is called</span>
+    var outputNode = document.getElementById( objRef.outputNodeId+<span class="literal">"_loading"</span> );
+    <span class="reserved">if</span> (!outputNode) {
+      outputNode = document.createElement(<span class="literal">"div"</span>);
+      outputNode.setAttribute(<span class="literal">"id"</span>,objRef.outputNodeId+<span class="literal">"_loading"</span>);
+      node.appendChild(outputNode);
+    }
+    outputNode.className = <span class="literal">"loadingIndicator"</span>;
+    outputNode.style.zIndex = 10001;
+<span class="comment">    //In a mapcontainer you want the loader in the left top, in other widgets embedded in the output area</span>
+    <span class="reserved">if</span> (objRef.mapContainerNode){
+      outputNode.style.position=<span class="literal">"absolute"</span>;
+      outputNode.style.left=<span class="literal">'0px'</span>;
+      outputNode.style.top=<span class="literal">'0px'</span>;
+    }
+    <span class="reserved">if</span> (objRef.imageSrc) {
+      var imageNode = document.getElementById( objRef.outputNodeId+<span class="literal">"_imageNode"</span> );
+      <span class="reserved">if</span> (!imageNode) {
+        imageNode = document.createElement(<span class="literal">"img"</span>);
+        imageNode.setAttribute(<span class="literal">"id"</span>,objRef.outputNodeId+<span class="literal">"_imageNode"</span>);
+        outputNode.appendChild(imageNode);
+        imageNode.style.zIndex = 10001;
+      }
+      imageNode.src = objRef.imageSrc;
+    }
+    <span class="reserved">if</span> (objRef.updateMessage) {
+      var messageNode = document.getElementById( objRef.outputNodeId+<span class="literal">"_messageNode"</span> );
+      <span class="reserved">if</span> (!messageNode) {
+        messageNode = document.createElement(<span class="literal">"p"</span>);
+        messageNode.setAttribute(<span class="literal">"id"</span>,objRef.outputNodeId+<span class="literal">"_messageNode"</span>);
+        outputNode.appendChild(messageNode);
+      }
+      messageNode.innerHTML = objRef.updateMessage;
+    }
+  }
+}
+
+<span class="comment">/**
+ * Remove the contents of the HTML tag for this widget.
+ * <span class="attrib">@param</span> objRef Reference to this object.
+ */</span>
+Loading2.<span class="reserved">prototype</span>.clear= <span class="reserved">function</span>(objRef, message) {
+  var outputNode = document.getElementById( objRef.outputNodeId+<span class="literal">"_loading"</span> );
+  var node = objRef.getNode();
+  <span class="reserved">if</span> (node &amp;&amp; outputNode) node.removeChild(outputNode);
+}
+
+<span class="comment">/**
+ * Updates the loading indicator with a new message as a "updateStatus" listener.
+ * Send an null message to clear the loading indicator.
+ * <span class="attrib">@param</span> objRef Reference to this object.
+ */</span>
+Loading2.<span class="reserved">prototype</span>.update= <span class="reserved">function</span>(objRef, message) {
+  objRef.updateMessage = message || null;
+  <span class="reserved">if</span> (message) {
+    objRef.paint(objRef);
+  } <span class="reserved">else</span> {
+    objRef.clear(objRef);
+  }
+}
+
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/WidgetBase.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/WidgetBase.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/WidgetBase.html	(revision 4307)
@@ -0,0 +1,708 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+WidgetBase
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="WidgetBase";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-WidgetBase.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Widget.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="WidgetBaseXSL.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="WidgetBase.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class WidgetBase</H2>
+<PRE>Object
+   |
+   +--<b>WidgetBase</b>
+</PRE>
+
+   <DL>
+   <DT>
+      <B>Direct Known Subclasses:</B> 
+      <DD>
+                <a href="Loading.html">Loading</a>, <a href="MapScaleBar.html">MapScaleBar</a>, <a href="GmlRendererBase.html">GmlRendererBase</a>, <a href="AoiBoxOL.html">AoiBoxOL</a>, <a href="OverviewMap.html">OverviewMap</a>, <a href="PanZoomBar.html">PanZoomBar</a>, <a href="ButtonBase.html">ButtonBase</a>, <a href="Loading2.html">Loading2</a>, <a href="MapPaneOL.html">MapPaneOL</a>, <a href="WidgetBaseXSL.html">WidgetBaseXSL</a>
+      </DD>
+   </DL>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>WidgetBase</B>
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-WidgetBase.js.html'>WidgetBase.js</a></I><BR/><BR/><B>Author:</B> Mike Adair   <BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#autoRefresh">autoRefresh</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#debug">debug</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#htmlTagId">htmlTagId</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#id">id</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#model">model</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#outputNodeId">outputNodeId</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#widgetNode">widgetNode</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="WidgetBase.html#WidgetBase()">WidgetBase</A> 
+	 </B>
+	 (widgetNode,model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      Base Class for widgets.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#clearWidget">clearWidget</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Remove widget from display.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getNode">getNode</A></B>()
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#getProperty">getProperty</A></B>(property, defaultValue)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Convenient access to Mapbuilder.getProperty
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#initTargetModel">initTargetModel</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Initialize dynamic properties.set the target model
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#postPaint">postPaint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Called after paint(), can be used to initialize things that depend on the
+ the widget output being presetn, eg.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#prePaint">prePaint</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Called before paint(), can be used to set up a widget's paint parameters,
+ or modify model using this.resultDoc().
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="autoRefresh"><!-- --></A>
+   <H3>autoRefresh</H3>
+   <PRE>Object&nbsp;<B>autoRefresh</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="debug"><!-- --></A>
+   <H3>debug</H3>
+   <PRE>Object&nbsp;<B>debug</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="htmlTagId"><!-- --></A>
+   <H3>htmlTagId</H3>
+   <PRE>Object&nbsp;<B>htmlTagId</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="id"><!-- --></A>
+   <H3>id</H3>
+   <PRE>Object&nbsp;<B>id</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="model"><!-- --></A>
+   <H3>model</H3>
+   <PRE>Object&nbsp;<B>model</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="outputNodeId"><!-- --></A>
+   <H3>outputNodeId</H3>
+   <PRE>Object&nbsp;<B>outputNodeId</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="widgetNode"><!-- --></A>
+   <H3>widgetNode</H3>
+   <PRE>Object&nbsp;<B>widgetNode</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="WidgetBase()"><!-- --></A><H3>
+WidgetBase</H3>
+<PRE><B>WidgetBase</B>(widgetNode,model)</PRE>
+
+
+<UL>
+   Base Class for widgets. All widgets must extend this base class.
+ Defines the default prePaint() and postPaint() methods for all widgets.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>widgetNode</CODE> -   The widget's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -        The model object that this widget belongs to.
+     </UL>
+   
+     <UL><CODE>widget</CODE> -       Pointer to the widget instance being created  
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<UL>   
+<B>Author:</B> Mike Adair   <BR/>
+</UL>
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="clearWidget"><!-- --></A>
+   <H3>clearWidget</H3>
+   <PRE>void <B>clearWidget</B>(objRef)</PRE>
+   
+      <UL>Remove widget from display.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getNode"><!-- --></A>
+   <H3>getNode</H3>
+   <PRE>Object <B>getNode</B>()</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="getProperty"><!-- --></A>
+   <H3>getProperty</H3>
+   <PRE>Object <B>getProperty</B>(property, defaultValue)</PRE>
+   
+      <UL>Convenient access to Mapbuilder.getProperty</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>property</CODE> -  property to get  
+      </UL> 
+   
+     <UL><CODE>default</CODE> -  value to use if property is not set  
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+   <UL>
+   <B>Returns:</B>
+        <UL>
+        the value for the property 
+        </UL>
+   </UL>
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="initTargetModel"><!-- --></A>
+   <H3>initTargetModel</H3>
+   <PRE>void <B>initTargetModel</B>(objRef)</PRE>
+   
+      <UL>Initialize dynamic properties.set the target model</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>toolRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="postPaint"><!-- --></A>
+   <H3>postPaint</H3>
+   <PRE>void <B>postPaint</B>(objRef)</PRE>
+   
+      <UL>Called after paint(), can be used to initialize things that depend on the
+ the widget output being presetn, eg. form and form elements</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="prePaint"><!-- --></A>
+   <H3>prePaint</H3>
+   <PRE>void <B>prePaint</B>(objRef)</PRE>
+   
+      <UL>Called before paint(), can be used to set up a widget's paint parameters,
+ or modify model using this.resultDoc().</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  Pointer to this object.      
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-WidgetBase.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="Widget.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="WidgetBaseXSL.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="WidgetBase.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MapTitle.js.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MapTitle.js.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/overview-summary-MapTitle.js.html	(revision 4307)
@@ -0,0 +1,189 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<html>
+<head>
+<title>
+<a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008 Overview
+</title>
+<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script>
+function asd() {
+	
+		parent.document.title="MapTitle.js Overview";
+	
+}
+</script>
+</head>
+<body bgcolor="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> 	<font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top">
+<em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<center>
+	
+	   <h2>MapTitle.js</h2>
+	
+</center>
+
+	
+
+
+<h4>Summary</h4>
+<p>
+	
+		No overview generated for 'MapTitle.js'<BR/><BR/>
+	
+</p>
+
+<hr>
+
+
+    <table border="1" cellpadding="3" cellspacing="0" width="100%">
+    <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+    <td colspan=2><font size="+2">
+    
+        <b>Class Summary</b>
+    
+    </font></td>
+    </tr>
+    
+    <tr bgcolor="white" class="TableRowColor">
+    <td width="15%"><b><a href="MapTitle.html">MapTitle</a></b></td>
+    <td>&nbsp;</td>
+    </tr>
+    
+    </table>
+    <hr/> 
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+        <pre class="sourceview"><span class="comment">/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: MapTitle.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/</span>
+<span class="comment">
+// Ensure this object's dependancies are loaded.</span>
+mapbuilder.loadScript(baseDir+<span class="literal">"/widget/WidgetBaseXSL.js"</span>);
+
+<span class="comment">/**
+ * Displays the Title value from a Web Map Context document.
+ * <span class="attrib">@constructor</span>
+ * <span class="attrib">@base</span> WidgetBaseXSL
+ * <span class="attrib">@param</span> widgetNode  The widget's XML object node from the configuration document.
+ * <span class="attrib">@param</span> model       The model object that this widget belongs to.
+ */</span>
+<span class="reserved">function</span> MapTitle(widgetNode, model) {
+  WidgetBaseXSL.apply(<span class="reserved">this</span>,new Array(widgetNode, model));
+}
+</pre>
+	<hr>
+
+
+
+<!-- ========== START OF NAVBAR ========== -->
+<a name="navbar_top"><!-- --></a>
+<table border="0" width="100%" cellpadding="1" cellspacing="0">
+<tr>
+<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
+<a name="navbar_top_firstrow"><!-- --></a>
+<table border="0" cellpadding="0" cellspacing="3">
+  <tr align="center" valign="top">
+  
+  
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
+  <td bgcolor="#FFFFFF" class="NavBarCell1Rev">	&nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
+  
+
+  <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
+  <td bgcolor="#EEEEFF" class="NavBarCell1">    <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
+  </tr>
+</table>
+</td>
+<td bgcolor="#EEEEFF" align="right" valign="top"><em>
+<b><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</b></em>
+</td>
+</tr>
+
+<tr>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</font></td>
+<td bgcolor="white" class="NavBarCell2"><font size="-2">
+  <a href="index.html" target="_top"><b>FRAMES</b></a>  &nbsp;
+&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
+&nbsp;&nbsp;
+<script>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</script>
+<noscript>
+<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
+</noscript>
+</font></td>
+</tr>
+</table>
+<!-- =========== END OF NAVBAR =========== -->
+
+<hr>
+<font size="-1">
+
+</font>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</body>
+</html>
Index: lib/spatial/mapbuilder/docs/jsdoc/WebServiceRequest.html
===================================================================
--- lib/spatial/mapbuilder/docs/jsdoc/WebServiceRequest.html	(nonexistent)
+++ lib/spatial/mapbuilder/docs/jsdoc/WebServiceRequest.html	(revision 4307)
@@ -0,0 +1,736 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+WebServiceRequest
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="WebServiceRequest";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-WebServiceRequest.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="WebServiceForm.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="WfsCapabilities.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="WebServiceRequest.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+<HR>
+
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>Class WebServiceRequest</H2>
+<PRE>Object
+   |
+   +--<a href='ToolBase.html'>ToolBase</a>
+         |
+         +--<b>WebServiceRequest</b>
+</PRE>
+
+
+<HR>
+<DL>
+   <!-- Class definition -->
+   <DT>class 
+   <B>WebServiceRequest</B>
+   
+      <DT>extends <a href='ToolBase.html'>ToolBase</a> 
+   
+
+</DL>
+   
+   <P>
+   <I>Defined in <a href='overview-summary-WebServiceRequest.js.html'>WebServiceRequest.js</a></I><BR/><BR/>
+   </P>
+   
+   <HR>
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<!-- ======== END NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+   <A NAME="field_summary"><!-- --></A>
+      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+            <TD COLSPAN=2><FONT SIZE="+2">
+               <B>Field Summary</B></FONT></TD>
+         </TR>
+
+   <!-- This is one instance field summary -->
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#requestFilter">requestFilter</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#requestName">requestName</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+   <CODE>&nbsp;Object</CODE></FONT></TD>
+   <TD><CODE><B><A HREF="#requestStylesheet">requestStylesheet</A></B></CODE>
+   <BR>
+   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+   </TR>
+   
+
+   </TABLE>
+   &nbsp;
+   
+
+   
+   
+   &nbsp;<A NAME=""><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+   <TD><B>Fields inherited from class <A HREF="ToolBase.html">ToolBase</A></B></TD>
+   </TR>
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD><CODE>
+   <a href="ToolBase.html#model">model</a>, <a href="ToolBase.html#toolNode">toolNode</a>, <a href="ToolBase.html#enabled">enabled</a>
+   </CODE></TD>
+   </TR>
+</TABLE>
+&nbsp;
+
+
+
+<!-- =========== END FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+   <TD>
+      <CODE>
+	 <B>
+	    <A HREF="WebServiceRequest.html#WebServiceRequest()">WebServiceRequest</A> 
+	 </B>
+	 (toolNode, model)
+      </CODE>
+      <BR>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      A controller issuing OGC web service requests.
+      </TD>
+</TR>
+</TABLE>
+
+<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
+
+&nbsp;
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#clear">clear</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 remove map events for this tool
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;Object</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#createHttpPayload">createHttpPayload</A></B>(feature)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Function which create the HTTP payload for a request
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#doRequest">doRequest</A></B>(objRef, featureName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Listener function which will actually issue the request.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#init">init</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#mapInit">mapInit</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 set map events needed for this tool
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#selectFeature">selectFeature</A></B>(objRef, featureName)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Listener function which will actually issue the request.
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setAoiParameters">setAoiParameters</A></B>(objRef)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 
+      </TD>
+   </TR>
+
+   <TR BGCOLOR="white" CLASS="TableRowColor">
+      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
+	 <FONT SIZE="-1">
+	    <CODE>&nbsp;void</CODE>
+	 </FONT>
+      </TD>
+      <TD>
+	 <CODE>
+	    <B>
+	       <A HREF="#setClickPosition">setClickPosition</A></B>(e)
+	 </CODE>
+	 <BR>
+	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 Listener function that will clear the templates and set the mouse
+ positions when the user clicks on the map.
+      </TD>
+   </TR>
+
+
+</TABLE>
+
+
+
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class <a href="ToolBase.html">ToolBase</a></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>
+<!-- Inherited methods -->
+<a href="ToolBase.html#initTargetModel">initTargetModel</a>, <a href="ToolBase.html#initMouseHandler">initMouseHandler</a>, <a href="ToolBase.html#getProperty">getProperty</a>
+</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<!-- ========== END METHOD SUMMARY =========== -->
+
+
+<!-- ============ FIELD DETAIL START =========== -->
+
+   <A NAME="field_detail"><!-- --></A>
+   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
+      </TR>
+   </TABLE>
+
+   
+   <A NAME="requestFilter"><!-- --></A>
+   <H3>requestFilter</H3>
+   <PRE>Object&nbsp;<B>requestFilter</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="requestName"><!-- --></A>
+   <H3>requestName</H3>
+   <PRE>Object&nbsp;<B>requestName</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+   <A NAME="requestStylesheet"><!-- --></A>
+   <H3>requestStylesheet</H3>
+   <PRE>Object&nbsp;<B>requestStylesheet</B></PRE>
+   <UL>
+   
+   
+   </UL>
+   <HR>
+   
+
+
+<!-- ============ FIELD DETAIL END =========== -->
+
+    <!-- ========= CONSTRUCTOR DETAIL START ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1>
+      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<A NAME="WebServiceRequest()"><!-- --></A><H3>
+WebServiceRequest</H3>
+<PRE><B>WebServiceRequest</B>(toolNode, model)</PRE>
+
+
+<UL>
+   A controller issuing OGC web service requests.  The request is generated
+ by applying a stylesheet to a Layer/FeatureType/Coverage node from a 
+ capabilities document as a listener function.  The listener event name is 
+ a combination of the service type and the request name (e.g. wfs_GetFeature)
+ and the parameter passed to the listener is the featureName (Layer/FeatureType/Coverage).
+ The response from the request is stored in the targetModel.  If the 
+ targetModel is a template model (attribute template="true") the a new model 
+ is created and appended to the parentModel's <models> list.
+</UL>
+
+
+
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>toolNode</CODE> -  The tools's XML object node from the configuration document.  
+     </UL>
+   
+     <UL><CODE>model</CODE> -     The model that this tool belongs to
+     </UL>
+   
+   
+   </UL>
+
+
+<!-- Constructor return value(s) -->
+
+<!-- End constructor return value(s) -->
+
+<!-- ADDITIONAL ATTRIBUTES -->
+
+<HR/>
+<!-- END ADDITIONAL ATTRIBUTES  -->
+
+<!-- ========= CONSTRUCTOR DETAIL END ======== -->
+
+
+<!-- ============ METHOD DETAIL START ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+      <TD COLSPAN=1><FONT SIZE="+2">
+         <B>Method Detail</B></FONT>
+      </TD>
+   </TR>
+</TABLE>
+
+<!-- One single method detail entry -->
+
+   <A NAME="clear"><!-- --></A>
+   <H3>clear</H3>
+   <PRE>void <B>clear</B>(objRef)</PRE>
+   
+      <UL>remove map events for this tool</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this tool    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="createHttpPayload"><!-- --></A>
+   <H3>createHttpPayload</H3>
+   <PRE>Object <B>createHttpPayload</B>(feature)</PRE>
+   
+      <UL>Function which create the HTTP payload for a request</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>feature</CODE> -  the feature object
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="doRequest"><!-- --></A>
+   <H3>doRequest</H3>
+   <PRE>void <B>doRequest</B>(objRef, featureName)</PRE>
+   
+      <UL>Listener function which will actually issue the request.  This method
+ will prepare the HTTP payload for a particular featureName.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>requestName</CODE> -  the name of the web service operation to execute  
+      </UL> 
+   
+     <UL><CODE>featureNodeId</CODE> -  the id of the node in the doc to be processed by the stylesheet    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="init"><!-- --></A>
+   <H3>init</H3>
+   <PRE>void <B>init</B>(objRef)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="mapInit"><!-- --></A>
+   <H3>mapInit</H3>
+   <PRE>void <B>mapInit</B>(objRef)</PRE>
+   
+      <UL>set map events needed for this tool</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>objRef</CODE> -  reference to this tool    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="selectFeature"><!-- --></A>
+   <H3>selectFeature</H3>
+   <PRE>void <B>selectFeature</B>(objRef, featureName)</PRE>
+   
+      <UL>Listener function which will actually issue the request.  This method
+ will prepare the HTTP payload for a particular featureName.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>requestName</CODE> -  the name of the web service operation to execute  
+      </UL> 
+   
+     <UL><CODE>featureNodeId</CODE> -  the id of the node in the doc to be processed by the stylesheet    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setAoiParameters"><!-- --></A>
+   <H3>setAoiParameters</H3>
+   <PRE>void <B>setAoiParameters</B>(objRef)</PRE>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+   <A NAME="setClickPosition"><!-- --></A>
+   <H3>setClickPosition</H3>
+   <PRE>void <B>setClickPosition</B>(e)</PRE>
+   
+      <UL>Listener function that will clear the templates and set the mouse
+ positions when the user clicks on the map.</UL>
+   
+
+   <!-- METHOD PARAMETERS START -->
+   
+   <UL>
+   <B>Parameters:</B>
+   
+     <UL><CODE>e</CODE> -  OpenLayers event    
+      </UL> 
+   
+   </UL>
+   
+   <!-- METHOD PARAMETERS END -->
+
+   
+
+   <!-- ADDITIONAL ATTRIBUTES START -->
+   
+   <!-- ADDITIONAL ATTRIBUTES  END -->
+<HR>
+
+
+
+<!-- ============ METHOD DETAIL END ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-WebServiceRequest.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
+  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B><a href='http://mapbuilder.sourceforge.net'>Community Map Builder</a> 27 Apr 2008</B>
+</EM>
+</TD
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="WebServiceForm.html"><B>PREV CLASS</B></A><!-- 
+   NEXT CLASS 
+-->
+&nbsp;<A HREF="WfsCapabilities.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="WebServiceRequest.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<FONT SIZE="-1">
+
+</FONT>
+<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sun Apr 27 20:30:54 2008</div>
+</BODY>
+</HTML>
Index: lib/spatial/mapbuilder/docs/samples/demoCollection.xml
===================================================================
--- lib/spatial/mapbuilder/docs/samples/demoCollection.xml	(revision 4306)
+++ lib/spatial/mapbuilder/docs/samples/demoCollection.xml	(revision 4307)
@@ -7,37 +7,37 @@
 	<ViewContextReference version="1.0.0" id="atlas">
 		<Title>Atlas World base map</Title>
 		<ContextURL>
-			<OnlineResource xlink:type="simple" xlink:href="/mapbuilder/demo/data/context/atlasWorld.xml"/>
+			<OnlineResource xlink:type="simple" xlink:href="/mapbuilder/examples/data/context/atlasWorld.xml"/>
 		</ContextURL>
 	</ViewContextReference>
 	<ViewContextReference version="1.0.0" id="cded">
     <Title>Canadian Digital Elevation Data (GeoBase)</Title>
 		<ContextURL>
-			<OnlineResource xlink:type="simple" xlink:href="/mapbuilder/demo/data/context/cded.xml"/>
+			<OnlineResource xlink:type="simple" xlink:href="/mapbuilder/examples/data/context/cded.xml"/>
 		</ContextURL>
 	</ViewContextReference>
 	<ViewContextReference version="1.0.0" id="lsat7Ortho">
 		<Title>Landsat Orthorectified Imagery over Canada</Title>
 		<ContextURL>
-			<OnlineResource xlink:type="simple" xlink:href="/mapbuilder/demo/data/context/lsat7Ortho.xml"/>
+			<OnlineResource xlink:type="simple" xlink:href="/mapbuilder/examples/data/context/lsat7Ortho.xml"/>
 		</ContextURL>
 	</ViewContextReference>
 	<ViewContextReference version="1.0.0" id="mars">
 		<Title>Mars landings</Title>
 		<ContextURL>
-			<OnlineResource xlink:type="simple" xlink:href="/mapbuilder/demo/data/context/mars.xml"/>
+			<OnlineResource xlink:type="simple" xlink:href="/mapbuilder/examples/data/context/mars.xml"/>
 		</ContextURL>
 	</ViewContextReference>
 	<ViewContextReference version="1.0.0" id="modisWorldMosaic">
     <Title>MODIS world mosaic</Title>
 		<ContextURL>
-			<OnlineResource xlink:type="simple" xlink:href="/mapbuilder/demo/data/context/modisWorld.xml"/>
+			<OnlineResource xlink:type="simple" xlink:href="/mapbuilder/examples/data/context/modisWorld.xml"/>
 		</ContextURL>
 	</ViewContextReference>
 	<ViewContextReference version="1.0.0" id="radarsatMosaicCanada">
     <Title>Radarsat Mosaic of Canada</Title>
 		<ContextURL>
-			<OnlineResource xlink:type="simple" xlink:href="/mapbuilder/demo/data/context/radarsatMosaic.xml"/>
+			<OnlineResource xlink:type="simple" xlink:href="/mapbuilder/examples/data/context/radarsatMosaic.xml"/>
 		</ContextURL>
 	</ViewContextReference>
   
Index: lib/spatial/mapbuilder/docs/samples/tutorial3.xml
===================================================================
--- lib/spatial/mapbuilder/docs/samples/tutorial3.xml	(revision 4306)
+++ lib/spatial/mapbuilder/docs/samples/tutorial3.xml	(revision 4307)
@@ -2,14 +2,13 @@
 <MapbuilderConfig
     xmlns="http://mapbuilder.sourceforge.net/mapbuilder" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-    xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder /mapbuilder/lib/schemas/config.xsd"
-     version="0.2.0" id="tutorial3" >
-  <skinDir>/mapbuilder/lib/skin/default</skinDir>
+    xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd"
+     version="0.2.1" id="tutorial3" >
 
   <models>
 
     <Context id="mainMap">
-      <defaultModelUrl>/mapbuilder/demo/data/context/cded.xml</defaultModelUrl>
+      <defaultModelUrl>/mapbuilder/examples/data/context/cded.xml</defaultModelUrl>
       
       <widgets>
         <MapPane id="mainMapWidget">
@@ -19,10 +18,10 @@
         <AoiBoxWZ id="aoiBoxMain">
           <htmlTagId>mainMapPane</htmlTagId>
           <stylesheet>/mapbuilder/lib/widget/GmlRenderer.xsl</stylesheet>
+          <mapContainerId>mainMapContainer</mapContainerId>
           <lineColor>#FF0000</lineColor>
           <lineWidth>1</lineWidth>
           <crossSize>15</crossSize>
-          <mapContainerId>mainMapContainer</mapContainerId>
         </AoiBoxWZ>
         
         <Legend id="defaultLegend"/>
@@ -76,7 +75,4 @@
     </Reset>
   </widgets>
   <skinDir>/mapbuilder/lib/skin/default</skinDir>
-  <languages>en,fr</languages>
-  <widgetTextUrl>widgetText.xml</widgetTextUrl> <!-- relative to the skinDir + language subdir -->
-      
 </MapbuilderConfig>
Index: lib/spatial/mapbuilder/docs/samples/tutorial1.xml
===================================================================
--- lib/spatial/mapbuilder/docs/samples/tutorial1.xml	(revision 4306)
+++ lib/spatial/mapbuilder/docs/samples/tutorial1.xml	(revision 4307)
@@ -3,20 +3,20 @@
     xmlns="http://mapbuilder.sourceforge.net/mapbuilder" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd"
-     version="0.2.0" id="tutorial1" >
-  <skinDir>/mapbuilder/lib/skin/default</skinDir>
+     version="0.2.1" id="tutorial1" >
 
   <models>
     <Context id="mainMap">
-      <defaultModelUrl>/mapbuilder/demo/data/context/locatorMap.xml</defaultModelUrl>
+      <defaultModelUrl>/mapbuilder/examples/data/context/locatorMap.xml</defaultModelUrl>
       <widgets>
         <MapPane id="mainMapWidget">
-          <fixedWidth>250</fixedWidth>
           <htmlTagId>mainMapPane</htmlTagId>
           <mapContainerId>mainMapContainer</mapContainerId>
+          <fixedWidth>250</fixedWidth>
         </MapPane>
       </widgets>
     </Context>
   </models>
+  <skinDir>/mapbuilder/lib/skin/default</skinDir>
 
 </MapbuilderConfig>
Index: lib/spatial/mapbuilder/docs/config/skins.html
===================================================================
--- lib/spatial/mapbuilder/docs/config/skins.html	(revision 4306)
+++ lib/spatial/mapbuilder/docs/config/skins.html	(revision 4307)
@@ -42,11 +42,13 @@
 </p>
 
 <p>
-To support multiple languages, you can set a &lt;widgetTextUrl&gt; property
-on the config model.
-This property is a partial path to a file containing language dependant text.
-The full path to the file is created from the skinDir value plus language code
-value plus the partial path to the text file.
+Multiple languages are supported. The standard widget texts are available in English,
+French, Dutch and Italian; those reside under the lib/text/ directory.
+You can also set a &lt;userWidgetTextDir&gt; property on the config model to add
+or override widget texts.
+This property is a partial path to a directory containing language dependant texts.
+The full path to the file is created from the userWidgetTextDir value plus language code
+value plus the file name widgetText.xml.
 </p>
 
 <p>
Index: lib/spatial/mapbuilder/README
===================================================================
--- lib/spatial/mapbuilder/README	(revision 4306)
+++ lib/spatial/mapbuilder/README	(revision 4307)
@@ -1,11 +1,6 @@
 mapbuilder-lib
 ==============
-$Id$
 
-Version
-=======
-mapbuilder-lib-1.0-rc2
-
 Installation
 ============
 Download the latest mapbuilder-lib file from
@@ -16,18 +11,16 @@
 Run
 ===
 You can view an index of demonstration applications by viewing the
-following file in a recent web browser:  mapbuilder\demo\index.html
+following file in a recent web browser:  mapbuilder\example\examples.html
 
 Some demonstrations require mapbuilder to be installed in a web server
 which supports PHP (like Apache), or a Servlet Container (like Tomcat).
 
-For more information, refer to the documentation.
-
 Browser Support
 ===============
 Internet Explorer 6+, Netscape 6+, Mozilla 1.3+ are supported.
+(Applications using vector rendering via SVG require Mozilla 1.5+)
 
 Documentation
 =============
-More detailed documentation is available in the mapbuilder/docs directory
-and at http://mapbuilder.sourceforge.net
+More detailed documentation is available at http://communitymapbuilder.org
Index: lib/spatial/mapbuilder/examples/projDemo/Proj4jsMapExamples.xml
===================================================================
--- lib/spatial/mapbuilder/examples/projDemo/Proj4jsMapExamples.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/projDemo/Proj4jsMapExamples.xml	(revision 4307)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<ViewContextCollection version="1.0.0" xmlns="http://www.opengis.net/context" 
+    xmlns:xlink="http://www.w3.org/1999/xlink" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.opengis.net http://schemas.opengis.net/context/1.0.0/collection.xsd">
+	<!-- List of context XML URLs -->
+  <ViewContextReference version="1.0.0" id="WorldMap">
+    <Title>EPSG:4326 - World</Title>
+    <ContextURL>
+      <OnlineResource xlink:type="simple" xlink:href="../data/context/demisWorldMap.xml"/>
+    </ContextURL>
+  </ViewContextReference>
+  <ViewContextReference version="1.0.0" id="cded">
+    <Title>EPSG:42304 - Canadian Digital Elevation Data (GeoBase)</Title>
+    <ContextURL>
+      <OnlineResource xlink:type="simple" xlink:href="../data/context/cded.xml"/>
+    </ContextURL>
+  </ViewContextReference>
+</ViewContextCollection>
Index: lib/spatial/mapbuilder/docs/samples/tutorial2.xml
===================================================================
--- lib/spatial/mapbuilder/docs/samples/tutorial2.xml	(revision 4306)
+++ lib/spatial/mapbuilder/docs/samples/tutorial2.xml	(revision 4307)
@@ -3,13 +3,11 @@
     xmlns="http://mapbuilder.sourceforge.net/mapbuilder" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd"
-    version="0.2.0" id="tutorial2" >
-  <skinDir>/mapbuilder/lib/skin/default</skinDir>
+    version="0.2.1" id="tutorial2" >
 
   <models>
-
     <Context id="firstMap">
-      <defaultModelUrl>/mapbuilder/demo/data/context/locatorMap.xml</defaultModelUrl>
+      <defaultModelUrl>/mapbuilder/examples/data/context/locatorMap.xml</defaultModelUrl>
       <widgets>
         <MapPane id="mainMapWidget">
           <htmlTagId>firstMapPane</htmlTagId>
@@ -17,10 +15,10 @@
         </MapPane>
         <AoiBoxDHTML id="firstAoiBox">
           <htmlTagId>firstMapPane</htmlTagId>
+          <mapContainerId>firstMapContainer</mapContainerId>
           <lineColor>#FF0077</lineColor>
           <lineWidth>3</lineWidth>
           <crossSize>15</crossSize>
-          <mapContainerId>firstMapContainer</mapContainerId>
         </AoiBoxDHTML>
       </widgets>
     </Context>
@@ -34,10 +32,10 @@
         </MapPane>
         <AoiBoxDHTML id="secondAoiBox">
           <htmlTagId>secondMapPane</htmlTagId>
+          <mapContainerId>secondMapContainer</mapContainerId>
           <lineColor>#FF0000</lineColor>
           <lineWidth>1</lineWidth>
           <crossSize>15</crossSize>
-          <mapContainerId>secondMapContainer</mapContainerId>
         </AoiBoxDHTML>
       </widgets>
       <tools>
@@ -50,7 +48,4 @@
     
   </models>
   <skinDir>/mapbuilder/lib/skin/default</skinDir>
-  <languages>en,fr</languages>
-  <widgetTextUrl>widgetText.xml</widgetTextUrl> <!-- relative to the skinDir + language subdir -->
-
 </MapbuilderConfig>
Index: lib/spatial/mapbuilder/docs/licenseAudit/licenseAudit.txt
===================================================================
--- lib/spatial/mapbuilder/docs/licenseAudit/licenseAudit.txt	(nonexistent)
+++ lib/spatial/mapbuilder/docs/licenseAudit/licenseAudit.txt	(revision 4307)
@@ -0,0 +1,4 @@
+Community Mapbuilder Code Provenance Review
+===========================================
+The results of the Community Mapbuilder Code Provenance Review are stored at:
+http://wiki.osgeo.org/index.php/Community_Mapbuilder_Provenance_Review
Index: lib/spatial/mapbuilder/examples/projDemo/config.xml
===================================================================
--- lib/spatial/mapbuilder/examples/projDemo/config.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/projDemo/config.xml	(revision 4307)
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="simpleTemplate" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+  <models>
+    <Context id="mainMap">
+      <defaultModelUrl>../data/context/cded.xml</defaultModelUrl>
+      <widgets>
+        <MapPaneOL id="mainMapWidget">
+          <htmlTagId>mainMapPane</htmlTagId>
+          <fixedSize>true</fixedSize>
+        </MapPaneOL>
+        <CursorTrack id="cursorTrack">
+          <showPx>true</showPx>
+          <showXY>true</showXY>
+          <showLatLong>true</showLatLong>
+          <showDMS>false</showDMS>
+          <showMGRS>false</showMGRS>
+          <precision>2</precision>
+          <stylesheet>./CursorTrack.xsl</stylesheet>
+        </CursorTrack>
+        <MapScaleText id="scaleText"/>
+        <!--Loading2 id="loading2">
+          <mapContainerId>mainMapContainer</mapContainerId>
+        </Loading2-->
+      </widgets>
+      <tools>
+        <History id="extentHistory"/>
+      </tools>
+    </Context>
+    <Model id="proj4jsMapExamples">
+      <defaultModelUrl>Proj4jsMapExamples.xml</defaultModelUrl>
+      <widgets>
+        <CollectionList id="maps">
+          <targetModel>mainMap</targetModel>
+          <preserveExtent>false</preserveExtent>
+        </CollectionList>
+      </widgets>
+    </Model>
+    <FeatureCollection id="gml2FeatureTemplate">
+      <widgets>
+         <GmlRendererOL id="vectorGraphicsRenderer">
+          <targetModel>mainMap</targetModel>
+          <featureSRS>EPSG:4326</featureSRS>
+          <sldModel>sld</sldModel>
+          <defaultStyleName>Normal</defaultStyleName>
+          <selectStyleName>Highlite</selectStyleName>
+          <featureOnClick>featurePopup</featureOnClick>
+        </GmlRendererOL>
+        <TipWidgetOL id="featurePopup">
+          <width>275</width>
+          <height>137</height>
+          <opacity>0.8</opacity>
+          <backgroundColor>#D0D0D0</backgroundColor>
+          <border>1px solid black</border>
+        </TipWidgetOL>
+        <!--Legend id="wfsLegend">
+          <htmlTagId>legend</htmlTagId>
+        </Legend-->
+      </widgets>
+      <tools>
+        <FeatureSelectHandler id="featureHighlighter">
+          <targetModel>mainMap</targetModel>
+        </FeatureSelectHandler>
+      </tools>
+      <namespace>xmlns:gml="http://www.opengis.net/gml" xmlns:eo1="http://eo1.gsfc.nasa.gov/" xmlns:wfs="http://www.opengis.net/wfs"</namespace>
+      <nodeSelectXpath>//gml:featureMember</nodeSelectXpath>
+      <featureTagName>eo1:name</featureTagName>
+      <coordsTagName>eo1:location</coordsTagName>
+      <coordSelectXpath>//eo1:location/gml:Point/gml:pos</coordSelectXpath>
+    </FeatureCollection>
+    
+  </models>
+  <widgets>
+    <Back id="back">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/UndoDisable.png</disabledSrc>
+    </Back>
+    <Forward id="forward">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/RedoDisable.png</disabledSrc>
+    </Forward>
+    <ZoomIn id="zoomIn">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <selected>true</selected>
+      <enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+    </ZoomIn>
+    <ZoomOut id="zoomOut">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+    </ZoomOut>
+    <DragPan id="dragPan">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/PanEnable.png</enabledSrc>
+      <disabledSrc>/images/PanDisable.png</disabledSrc>
+    </DragPan>
+    <Reset id="reset">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+    </Reset>
+    <ExampleList id="exampleList"><!-- this is the widget that draws the example menu -->
+		<scriptFile>../ExampleList.js</scriptFile>
+		<stylesheet>../ExampleList.xsl</stylesheet>
+    </ExampleList>
+  </widgets>
+  <skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/docs/samples/tutorial4.xml
===================================================================
--- lib/spatial/mapbuilder/docs/samples/tutorial4.xml	(revision 4306)
+++ lib/spatial/mapbuilder/docs/samples/tutorial4.xml	(revision 4307)
@@ -2,14 +2,12 @@
 <MapbuilderConfig
     xmlns="http://mapbuilder.sourceforge.net/mapbuilder" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-    xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder /mapbuilder/lib/schemas/config.xsd"
-     version="0.2.0" id="tutorial4" >
-  <skinDir>/mapbuilder/lib/skin/default</skinDir>
+    xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd"
+     version="0.2.1" id="tutorial4" >
 
   <models>
-
     <Context id="mainMap">
-      <defaultModelUrl>/mapbuilder/demo/data/context/locatorMap.xml</defaultModelUrl>
+      <defaultModelUrl>/mapbuilder/examples/data/context/locatorMap.xml</defaultModelUrl>
       
       <widgets>
 
@@ -20,10 +18,10 @@
         <AoiBoxWZ id="aoiBoxMain">
           <htmlTagId>mainMapPane</htmlTagId>
           <stylesheet>/mapbuilder/lib/widget/GmlRenderer.xsl</stylesheet>
+          <mapContainerId>mainMapContainer</mapContainerId>
           <lineColor>#FF0000</lineColor>
           <lineWidth>1</lineWidth>
           <crossSize>15</crossSize>
-          <mapContainerId>mainMapContainer</mapContainerId>
         </AoiBoxWZ>
         
       </widgets>
@@ -88,7 +86,5 @@
     </Reset>
   </widgets>
   <skinDir>/mapbuilder/lib/skin/default</skinDir>
-  <languages>en,fr</languages>
-  <widgetTextUrl>widgetText.xml</widgetTextUrl> <!-- relative to the skinDir + language subdir -->
   <proxyUrl>/mapbuilder/proxy</proxyUrl>
 </MapbuilderConfig>
Index: lib/spatial/mapbuilder/index.html
===================================================================
--- lib/spatial/mapbuilder/index.html	(revision 4306)
+++ lib/spatial/mapbuilder/index.html	(revision 4307)
@@ -1,74 +1,93 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+      
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Welcome at your Mapbuilder installation</title>
+    <link rel='StyleSheet' type='text/css' href='lib/skin/default/button.css'/>
+     <link rel='StyleSheet' type='text/css' href='lib/skin/default/demoStyles.css'/>
+    <script>
+    // URL of Mapbuilder configuration file.
+    var mbConfigUrl='config.xml';
+    </script>
+    <script type="text/javascript" src="lib/Mapbuilder.js"></script>
+  </head>
+  <!-- This onload event starts mapbuilder -->
+ 	<body onload="mbDoLoad()" >
+	  <div id="header">  	<!-- The header of the page -->
+                          <h1>Welcome at your <a href="http://communitymapbuilder.org">Mapbuilder</a>
+      <!-- Version tag will be inserted below by build.xml process -->
+      <!--Version-->1.5-rc2<!--VersionEnd--> installation</h1>
 
-<HTML>
-  <HEAD>
-    <TITLE>Community Mapbuilder - developer's home page</TITLE>
-    <link rel='StyleSheet' type='text/css' href='/mapbuilder/lib/skin/default/docsStyle.css'>
-  </HEAD>
-  <BODY>
-  <h1>Community Mapbuilder</h1>
-  <h3>Documentation</h3>
-    <DL>
-    <DT>
-        <A href="demo">Demo pages</A>
-    </DT>
-    <DD>
-        A collection of pages showing various configurations that are possible.
-    </DD>
-    <DT>
-        <A href="http://docs.codehaus.org/display/MAP/Home/">Wiki</A>
-    </DT>
-    <DD>
-        Both user and developer documentation are being maintained on the Codehaus wiki.
-    </DD>
-    <DT>
-        <A href="userGuide">Tutorial</A>
-    </DT>
-    <DD>
-      A short tutorial to introduce the concepts in mapbuilder.  
-      This is now being maintained on the <a href="http://docs.codehaus.org/display/MAP/User+Guide">wiki.</a>
-      (Only avaliable in a JSP install)
-    </DD>
-    <DT>
-    <A href="docs/design/index.html">Software Design Description</A>
-    </DT>
-    <DD>
-      High level design of mapbuilder-lib.
-    </DD>
-    <DT>
-    <A href="docs/jsdoc/index.html">Jsdoc - Class description</A>
-    </DT>
-    <DD>
-      Description of javascript classes in a javadoc format.
-    </DD>
-    <DT>
-        <A href="docs/register/">Component register</A>
-    </DT>
-    <DD>
-      For help with selecting components to be included in your configuration.  
-      This will become a wizard type of thing eventually.
-    </DD>
-
-    <h3>Credits</h3>
+	  </div><!-- /header -->
+  	<div id="middle"><!-- The center piece of the page with left menubar and right mainbody -->
+	    <div id="menubar"><!-- left side of the middle div-->
+  			<h2>Documentation</h2>
+				<ul>
+					<li><a href="examples/examples.html" title="Examples">Examples</a></li>
+					<li><a href="docs/jsdoc/index.html" title="class description">Class Description</a></li>
+					<li><a href="docs/register" title="component register">Component Register</a></li>
+				</ul>
+				<h2>Useful sites</h2>
+				<ul>
+					<li><a href="http://communitymapbuilder.org/" title="Wiki">Official site</a></li>
+					<li><a href="http://demo.communitymapbuilder.org/" title="Wiki">Official demo site</a></li>
+					<li><a href="http://nightly.communitymapbuilder.org/mapbuilder" title="Wiki">Nightly builds</a></li>
+					<li><a href="http://docs.codehaus.org/display/MAP/User+Guide" title="tutorial">User guide</a></li>
+				</ul>
+		  </div><!-- /menubar -->
+			<div id="mainbody"><!-- right side of the middle div, is also divided into two areas -->
+    <h3>Congratulations!</h3>
+			<p>If you see this page, you most likely succeeded in installing mapbuilder. Mapbuilder will run from anything
+			that serves files, even the local file system. There are however a few situations where you need to
+			either have a PHP or JSP enabled webserver. See the <a href="http://docs.codehaus.org/display/MAP/Installing+MapBuilder">
+			tutorial</a> for more information.</p>
+			<div class="left">
+			<h3>Credits</h3>
     <p>This software is built using:</p>
     <dt><a href="http://mapbuilder.sourceforge.net">Mapbuilder-lib</a></dt>
-    <dd>mapbuilder-lib is an open source library of browser based mapping widgets.</dd>
+    <dd>mapbuilder-lib is an open source library of browser based mapping widgets.<br/>
+    License: <a href="http://www.gnu.org/licenses/lgpl.html">LGPL</a>.</dd>
+
+    <dt><a href="http://openlayers.org">OpenLayers</a><dt>
+    <dd>OpenLayers provides a common interface to a number of different map
+    layers (like Google, Yahoo, MSN, WMS, etc). It is used by all of the Map
+    rendering widgets, and some of the other widgets as well.<br/>
+    License: <a href="http://www.opensource.org/licenses/bsd-license.php"/>BSD</a>.</dd>
+
     <dt><a href="http://sarissa.sourceforge.net">Sarissa</a></dt>
-    <dd>Sarissa is an ECMAScript library acting as a cross-browser wrapper for native XML APIs. It offers various XML related goodies like Document instantiation, XML loading from URLs or strings, XSLT transformations, XPath queries etc and comes especially handy for people doing what is lately known as "AJAX" development.</dd>
-    <dt><a href="http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm">Walter Zorn's JS Graphics</a></dt>
-    <dd>This JavaScript VectorGraphics library provides graphics capabilities for JavaScript</dd>
+    <dd>Sarissa is an ECMAScript library acting as a cross-browser wrapper for native XML APIs. It offers various XML related goodies like Document instantiation, XML loading from URLs or strings, XSLT transformations, XPath queries etc and comes especially handy for people doing what is lately known as "AJAX" development. <br/>
+    License: <a href="http://www.gnu.org/licenses/lgpl.html">LGPL</a>.</dd>
+
+    <dt><a href="http://web.archive.org/web/*/http://mapserver.commenspace.org/tools/scalebar/">Scalebar</a>.</dt>
+    <dd>Adapted from Tim Schaub's scalebar tool.<br/>
+    License: <a href="http://www.gnu.org/licenses/lgpl.html">LGPL</a>.</dd>
+		
+		<dt><a href="http://www.dojotoolkit.org/docs/shrinksafe">Single file compression</a></dt>
+		<dd>The compression routine to build a single MapbuilderCompressed.js file is based on the dojo compressor system.<br/>
+		License <a href="http://opensource-definition.org/licenses/afl-2.1.html">Academic Free License v.2.1</a>
     <dt>Javascript Compression</dt>
-    <dd>Our Javascript Compression is derived from Eric Hammond's <a href="http://www.anvilon.com/software/jsjam">JS JAM</a></dd>
-    <dt><a href="http://mapserver.commenspace.org/tools/scalebar/">Scalebar</a></dt>
-    <dd>Adapted from Tim Schaub's scalebar tool <a href="http://www.commenspace.org/">CommEn Space</a></dd>
+    <dd>Our old Javascript Compression is derived from Eric Hammond's <a href="http://www.anvilon.com/software/jsjam">JS JAM</a>.<br/>
+    License: <a href="http://www.anvilon.com/software">Public Domain</a>.</dd>
     </DL>
-
-    <table class="footer">
-      <tr>
-        <td><a href="http://mapbuilder.sourceforge.net">Community Map Builder</a></td>
-        <td width="60"><img src="lib/skin/default/images/Icon.gif"/></td>
-      </tr>
-    </table>
-
-  </BODY>
-</HTML>
+			</div>
+			<div class="right">
+			 <h3>If you have a working internet connection you are supposed to see a nice colored map below.</h3>
+			 <div id="mainMapPane"><!-- This is the container where the map will be drawn -->
+    		    <noscript>
+        	    this page requires Javascript to be enabled
+        		</noscript>
+				  </div><!-- /mainMapPane -->
+			    <table><tr><td><div id="mainButtonBar" style="width:200px"></div></td>
+			    			    <td><div id="cursorTrack" ></div></td></tr></table>
+			</div>
+			</div><!-- /mainbody -->
+		</div><!-- /middle -->
+  	<div id="footer"><!-- The footer of the page -->
+	  	<div class="right">
+				<a href="http://communitymapbuilder.org/" title="powered by community mapbuilder"><img src="lib/skin/default/images/Icon.gif"/></a>	  	
+				<a href="https://www.osgeo.org/" title="member of OSgeo"><img src="lib/skin/default/images/Osgeo.png"/></a>
+      </div><!-- /right -->
+	  </div><!-- /footer -->
+	</body>
+</html>
Index: lib/spatial/mapbuilder/examples/projDemo/CursorTrack.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/projDemo/CursorTrack.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/projDemo/CursorTrack.xsl	(revision 4307)
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!--
+Description: Output a form for display of the cursor coordinates
+Author:      Mike Adair
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: CursorTrack.xsl 2576 2007-02-19 09:14:01Z gjvoosten $
+-->
+
+  <xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
+
+  <!-- The common params set for all widgets -->
+  <xsl:param name="lang">en</xsl:param>
+  
+  <!-- text value params -->
+  <xsl:param name="longitude">lon:</xsl:param>
+  <xsl:param name="latitude">lat:</xsl:param>
+  <xsl:param name="xcoord">x:</xsl:param>
+  <xsl:param name="ycoord">y:</xsl:param>
+  <xsl:param name="pixel">pixel:</xsl:param>
+  <xsl:param name="line">line:</xsl:param>
+  <xsl:param name="showXY">false</xsl:param>
+  <xsl:param name="showDMS">false</xsl:param>
+  <xsl:param name="showDM">false</xsl:param>
+  <xsl:param name="showMGRS">false</xsl:param>
+  <xsl:param name="showPx">false</xsl:param>
+  <xsl:param name="showLatLong">true</xsl:param>
+  
+  <!-- The name of the form for coordinate output -->
+  <xsl:param name="formName"/>
+
+  <!-- Main html -->
+  <xsl:template match="/">
+    <div>
+    <form name="{$formName}" id="{$formName}">
+      <ul>
+      
+        <xsl:if test="$showPx='true'">
+          <li>
+            <span class="cursorTrackLeft">
+              <xsl:value-of select="$pixel"/> <input name="px" type="text" size="8" readonly="readonly"/>
+            </span>
+            <span class="cursorTrackRight">
+              <xsl:value-of select="$line"/> <input name="py" type="text" size="8" readonly="readonly"/>
+            </span>
+          </li>
+        </xsl:if>
+        
+        <xsl:if test="$showXY='true'">
+          <li>
+            <span class="cursorTrackLeft">
+              <xsl:value-of select="$xcoord"/> <input name="x" type="text" size="8" readonly="readonly"/>
+            </span>
+            <span class="cursorTrackRight">
+              <xsl:value-of select="$ycoord"/> <input name="y" type="text" size="8" readonly="readonly"/>
+            </span>
+          </li>
+        </xsl:if>
+        
+        <xsl:if test="$showDMS='true'">
+          <li>
+            <span class="cursorTrackLeft">
+              <xsl:value-of select="$longitude"/> 
+              <input name="longdeg" type="text" size="3" readonly="readonly"/>&#176;
+              <input name="longmin" type="text" size="2" readonly="readonly"/>&apos;
+              <input name="longsec" type="text" size="2" readonly="readonly"/>&quot;
+              <input name="longH" type="text" size="1" readonly="readonly"/>&#8195;
+            </span>
+            <span class="cursorTrackRight">
+              <xsl:value-of select="$latitude"/> 
+              <input name="latdeg" type="text" size="2" readonly="readonly"/>&#176;
+              <input name="latmin" type="text" size="2" readonly="readonly"/>&apos;
+              <input name="latsec" type="text" size="2" readonly="readonly"/>&quot;
+              <input name="latH" type="text" size="1" readonly="readonly"/>
+            </span>
+          </li>
+        </xsl:if>
+        
+        <xsl:if test="$showDM='true'">
+          <li>
+            <span class="cursorTrackLeft">
+              <xsl:value-of select="$longitude"/> 
+              <input name="longDMdeg" type="text" size="3" readonly="readonly"/>&#176;
+              <input name="longDMmin" type="text" size="6" readonly="readonly"/>&apos;
+              <input name="longDMH" type="text" size="1" readonly="readonly"/>&#8195;
+            </span>
+            <span class="cursorTrackRight">
+              <xsl:value-of select="$latitude"/> 
+              <input name="latDMdeg" type="text" size="2" readonly="readonly"/>&#176;
+              <input name="latDMmin" type="text" size="6" readonly="readonly"/>&apos;
+              <input name="latDMH" type="text" size="1" readonly="readonly"/>
+            </span>
+          </li>
+        </xsl:if>
+
+        <xsl:if test="$showLatLong='true'">
+          <li>
+            <span class="cursorTrackLeft">
+              <xsl:value-of select="$longitude"/> <input name="longitude" type="text" size="8" readonly="readonly"/>
+            </span>
+            <span class="cursorTrackRight">
+              <xsl:value-of select="$latitude"/> <input name="latitude" type="text" size="8" readonly="readonly"/>
+            </span>
+          </li>
+        </xsl:if>
+ 
+        <xsl:if test="$showMGRS='true'">
+          <li>
+          MGRS: <input name="mgrs" type="text" size="14" readonly="readonly"/>
+          </li>
+        </xsl:if>
+     
+      </ul>
+      </form>
+    </div>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/docs/licenseAudit/licenseAudit.xls
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/docs/licenseAudit/licenseAudit.xls
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/examples/projDemo/bsc_ows_small.xml
===================================================================
--- lib/spatial/mapbuilder/examples/projDemo/bsc_ows_small.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/projDemo/bsc_ows_small.xml	(revision 4307)
@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<wfs:FeatureCollection xmlns:bsc="http://www.bsc-eoc.org/bsc" xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengeospatial.net//wfs/1.0.0/WFS-basic.xsd                         http://www.bsc-eoc.org/bsc http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=DescribeFeatureType&amp;TYPENAME=IBA&amp;OUTPUTFORMAT=XMLSCHEMA">
+      <gml:boundedBy>
+      	<gml:Box srsName="EPSG:4326">
+      		<gml:coordinates>-141.237629,41.671768 -52.666977,78.105913</gml:coordinates>
+      	</gml:Box>
+      </gml:boundedBy>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-77.768674,62.405510 -76.865336,62.580432</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-77.730316,62.444783 -77.768674,62.463976 -77.763471,62.481493 -77.742587,62.495028 -77.651652,62.524109 -77.579393,62.550166 -77.524814,62.562756 -77.441443,62.580432 -77.380500,62.578855 -77.277540,62.565803 -77.205524,62.556275 -77.143260,62.549974 -77.033839,62.542262 -76.971316,62.539786 -76.932795,62.544958 -76.894162,62.536783 -76.875762,62.513570 -76.865336,62.504755 -76.866047,62.485112 -76.881553,62.472410 -76.920695,62.456001 -76.964582,62.450585 -76.992677,62.449935 -77.102773,62.450917 -77.182819,62.452243 -77.245887,62.448314 -77.318906,62.443704 -77.327750,62.441426 -77.374623,62.434317 -77.412908,62.425574 -77.466576,62.412444 -77.496264,62.405510 -77.551665,62.406850 -77.633496,62.425863 -77.671911,62.434286 -77.730316,62.444783 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-62.590780,67.183106 -62.385504,67.257191</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-62.421951,67.253520 -62.421951,67.253520 -62.400747,67.246483 -62.388125,67.236840 -62.385685,67.231462 -62.385504,67.230535 -62.385817,67.225133 -62.389349,67.219261 -62.391253,67.217162 -62.396397,67.212759 -62.403568,67.208706 -62.411951,67.204767 -62.422926,67.200611 -62.424245,67.200352 -62.425133,67.199965 -62.443211,67.194879 -62.453467,67.191869 -62.460535,67.188849 -62.485367,67.183949 -62.513136,67.183106 -62.539627,67.186447 -62.560818,67.193466 -62.565793,67.196245 -62.580864,67.205864 -62.588564,67.212715 -62.590780,67.223492 -62.582181,67.233777 -62.564066,67.242003 -62.539192,67.246915 -62.522212,67.247915 -62.514313,67.249948 -62.513733,67.250051 -62.511971,67.250525 -62.501532,67.252989 -62.483669,67.256000 -62.475319,67.256704 -62.469460,67.257057 -62.449958,67.257191 -62.423402,67.253835 -62.423402,67.253835 -62.421951,67.253520 -62.421951,67.253520 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.998088,73.452108 -79.665941,73.798621</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.686151,73.708832 -79.665941,73.452108 -80.967492,73.467289 -80.963724,73.480878 -80.951174,73.487980 -80.915014,73.501475 -80.903644,73.509968 -80.910424,73.518964 -80.935881,73.527833 -80.971654,73.541304 -80.975734,73.556706 -80.957173,73.571328 -80.961333,73.574884 -80.967173,73.585129 -80.995435,73.599425 -80.998088,73.610782 -80.990135,73.620810 -80.971061,73.630135 -80.958410,73.637233 -80.905602,73.653634 -80.901372,73.655999 -80.886951,73.662325 -80.882933,73.667336 -80.878626,73.675620 -80.880714,73.687602 -80.875898,73.696511 -80.879568,73.700693 -80.890654,73.707319 -80.888859,73.712471 -80.909833,73.724327 -80.941559,73.731592 -80.958346,73.745807 -80.946289,73.760840 -80.906827,73.774805 -80.851694,73.781855 -80.825739,73.784820 -80.784091,73.786787 -80.731549,73.784761 -80.690214,73.783438 -80.665956,73.787154 -80.635331,73.795727 -80.557450,73.798621 -80.461471,73.797680 -80.343370,73.789316 -80.290085,73.782521 -80.239481,73.772589 -80.194227,73.756400 -80.161902,73.741716 -80.138546,73.741480 -80.110080,73.752779 -80.060959,73.763355 -79.996968,73.763683 -79.937127,73.753708 -79.891727,73.740728 -79.838574,73.725885 -79.751729,73.714662 -79.686151,73.708832 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-90.420540,73.941636 -89.726205,74.113665</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-89.912836,73.950241 -89.933936,73.946118 -89.956962,73.942954 -89.980557,73.941636 -90.004728,73.942163 -90.028901,73.942689 -90.061182,73.945833 -90.087809,73.949464 -90.108948,73.952975 -90.136442,73.957536 -90.155821,73.959475 -90.171903,73.961343 -90.193657,73.962717 -90.224300,73.963968 -90.248344,73.965078 -90.276712,73.966580 -90.302232,73.970467 -90.333965,73.976007 -90.346293,73.979620 -90.361206,73.986037 -90.373466,73.989953 -90.380921,73.995301 -90.387758,73.998801 -90.396404,74.003866 -90.405214,74.008323 -90.410479,74.013625 -90.417795,74.019579 -90.420540,74.026054 -90.419413,74.034591 -90.418058,74.039761 -90.416541,74.045539 -90.411946,74.050338 -90.406547,74.058179 -90.395465,74.062237 -90.391181,74.065820 -90.382224,74.070226 -90.367644,74.074825 -90.352192,74.078489 -90.342355,74.081959 -90.334030,74.083931 -90.322132,74.086748 -90.309287,74.088933 -90.294139,74.091377 -90.278904,74.094123 -90.259395,74.096170 -90.244234,74.098610 -90.229235,74.100442 -90.209964,74.101572 -90.190522,74.103309 -90.179094,74.104295 -90.162119,74.105164 -90.142923,74.105985 -90.112121,74.108394 -90.088653,74.108509 -90.083107,74.108392 -90.065186,74.108622 -90.056225,74.108737 -90.041371,74.109948 -90.032236,74.110670 -90.010809,74.111432 -89.990140,74.113433 -89.986724,74.113665 -89.978957,74.113496 -89.967950,74.112952 -89.963512,74.112856 -89.950288,74.112262 -89.933824,74.111291 -89.911906,74.109893 -89.900240,74.107802 -89.890794,74.105759 -89.863971,74.102108 -89.854712,74.099456 -89.844258,74.097082 -89.828718,74.093066 -89.800619,74.086319 -89.786297,74.082020 -89.759613,74.074382 -89.748347,74.067396 -89.733682,74.060638 -89.728609,74.055322 -89.726208,74.048536 -89.726205,74.044865 -89.727949,74.039092 -89.729875,74.032711 -89.730883,74.029369 -89.735660,74.024582 -89.739330,74.019771 -89.747502,74.014756 -89.752817,74.008145 -89.761718,74.004370 -89.764741,74.001685 -89.773441,73.994846 -89.783432,73.991095 -89.792950,73.985191 -89.799629,73.981364 -89.812999,73.977382 -89.821512,73.974820 -89.831392,73.971371 -89.837520,73.969367 -89.850604,73.966295 -89.858750,73.964947 -89.862673,73.962893 -89.873638,73.959466 -89.880768,73.957790 -89.891460,73.955274 -89.898763,73.952989 -89.904877,73.950982 -89.912836,73.950241 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-68.459705,60.184329 -67.806667,60.606716</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-68.259718,60.585969 -68.255479,60.588910 -68.249274,60.590829 -68.249068,60.590846 -68.248899,60.590897 -68.197235,60.599974 -68.196934,60.599998 -68.194152,60.600374 -68.121526,60.606584 -68.117754,60.606716 -68.110608,60.605907 -68.080502,60.599244 -68.080064,60.599090 -68.079612,60.599033 -68.055590,60.592942 -68.023540,60.592643 -68.005691,60.593667 -68.002921,60.593725 -67.995780,60.592909 -67.989819,60.590812 -67.985943,60.587752 -67.978624,60.578203 -67.962947,60.559297 -67.942183,60.542152 -67.920720,60.535061 -67.917476,60.533702 -67.913871,60.530958 -67.903210,60.518407 -67.889921,60.512065 -67.867627,60.505424 -67.866645,60.505031 -67.865434,60.504659 -67.848820,60.497932 -67.833397,60.495894 -67.830489,60.495379 -67.824557,60.493274 -67.820710,60.490209 -67.816635,60.484835 -67.815841,60.483481 -67.809606,60.468703 -67.809498,60.468081 -67.809280,60.467604 -67.806723,60.452760 -67.806667,60.451655 -67.808339,60.448146 -67.808810,60.447823 -67.808983,60.447513 -67.827567,60.430866 -67.828189,60.424283 -67.828445,60.423760 -67.829445,60.421359 -67.840186,60.407728 -67.840459,60.407529 -67.840589,60.407256 -67.860278,60.385835 -67.860711,60.385536 -67.860871,60.385245 -67.871859,60.375239 -67.875512,60.372901 -67.881697,60.371000 -67.888879,60.370416 -67.888994,60.370429 -67.889106,60.370421 -67.892696,60.370502 -67.895870,60.369641 -67.901482,60.360711 -67.902306,60.359638 -67.913133,60.347815 -67.913444,60.347600 -67.913561,60.347378 -67.927898,60.333672 -67.931706,60.331180 -67.931722,60.331175 -67.931734,60.331167 -67.940257,60.327226 -67.937435,60.316780 -67.937368,60.316112 -67.937284,60.315906 -67.936447,60.305028 -67.936563,60.304734 -67.936443,60.304373 -67.937366,60.302702 -67.938093,60.300863 -67.938561,60.300539 -67.938732,60.300229 -67.948647,60.291267 -67.957116,60.281981 -67.961342,60.279051 -67.967503,60.277147 -67.974663,60.276558 -67.981731,60.277374 -67.983234,60.277754 -67.998877,60.282153 -68.013473,60.286183 -68.023411,60.287170 -68.025118,60.286480 -68.030283,60.285004 -68.037443,60.284412 -68.042040,60.284772 -68.051285,60.286101 -68.056772,60.286306 -68.058089,60.285172 -68.065237,60.273663 -68.066054,60.272589 -68.070268,60.269655 -68.076421,60.267746 -68.083577,60.267151 -68.087291,60.267419 -68.107967,60.257664 -68.108002,60.257653 -68.108026,60.257636 -68.114175,60.255725 -68.121326,60.255128 -68.123071,60.255195 -68.142619,60.256405 -68.151107,60.255791 -68.151932,60.254877 -68.157524,60.246799 -68.158144,60.246021 -68.166832,60.236398 -68.169573,60.234229 -68.184875,60.225193 -68.186333,60.224426 -68.192470,60.222511 -68.193260,60.222444 -68.193820,60.222284 -68.202890,60.220951 -68.214585,60.214036 -68.216041,60.213268 -68.222175,60.211352 -68.229314,60.210749 -68.229355,60.210753 -68.229396,60.210750 -68.261054,60.211259 -68.312639,60.189763 -68.317916,60.188218 -68.320955,60.187782 -68.354208,60.184503 -68.358301,60.184329 -68.365358,60.185124 -68.366861,60.185499 -68.398003,60.194156 -68.423860,60.200751 -68.428847,60.202607 -68.432718,60.205653 -68.432780,60.205832 -68.432953,60.205974 -68.453196,60.235293 -68.453299,60.235624 -68.454031,60.237034 -68.459536,60.256886 -68.459705,60.258374 -68.459618,60.258566 -68.459672,60.258741 -68.457548,60.275136 -68.456999,60.276245 -68.456382,60.277811 -68.446373,60.290939 -68.436265,60.311942 -68.426030,60.335331 -68.425602,60.335980 -68.425483,60.336314 -68.409819,60.359394 -68.410328,60.364917 -68.410216,60.365212 -68.410341,60.365572 -68.409410,60.368229 -68.399096,60.383719 -68.398426,60.384578 -68.380216,60.404845 -68.372203,60.417591 -68.371432,60.418603 -68.371180,60.418780 -68.371086,60.418966 -68.354956,60.434970 -68.344811,60.451812 -68.340795,60.461999 -68.339521,60.463993 -68.323459,60.481782 -68.316658,60.489307 -68.314924,60.498031 -68.314594,60.498646 -68.314225,60.499782 -68.299447,60.524080 -68.299263,60.524323 -68.299231,60.524411 -68.293351,60.532894 -68.292729,60.533673 -68.286770,60.540249 -68.283470,60.547429 -68.283086,60.547997 -68.282979,60.548298 -68.273631,60.562167 -68.274122,60.567720 -68.274008,60.568015 -68.274132,60.568376 -68.272506,60.571891 -68.267123,60.577819 -68.259718,60.585969 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-94.268932,68.107470 -92.420393,69.171107</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-93.726505,68.970256 -93.236335,69.171107 -93.202050,69.165825 -93.146784,69.162790 -93.104982,69.164822 -93.098671,69.157344 -93.135155,69.135496 -93.143898,69.113353 -93.172762,69.098829 -93.173357,69.091423 -93.152825,69.088741 -93.139005,69.088597 -93.132704,69.081119 -92.922874,69.031845 -92.911354,69.006998 -92.857903,68.989062 -92.640867,68.956644 -92.554754,68.925811 -92.480878,68.848131 -92.446183,68.790761 -92.420393,68.716195 -92.427817,68.649528 -92.434381,68.590262 -92.423145,68.508462 -92.430495,68.441773 -92.434831,68.402251 -92.503604,68.324081 -92.660234,68.229783 -92.717315,68.190960 -92.793424,68.159790 -92.970046,68.114966 -93.182849,68.107470 -93.493763,68.117924 -93.538776,68.117943 -93.592894,68.123719 -93.731733,68.132229 -93.942335,68.170768 -94.041294,68.188665 -94.232278,68.246510 -94.268932,68.263042 -94.224637,68.276151 -94.191013,68.283415 -94.210129,68.310705 -94.222598,68.337962 -94.221779,68.362685 -94.213921,68.397264 -94.166699,68.404460 -94.146208,68.414250 -94.138949,68.429049 -94.091352,68.443639 -94.036867,68.460651 -93.982088,68.482588 -93.907337,68.496967 -93.839604,68.503943 -93.805405,68.513600 -93.764304,68.525674 -93.716684,68.532745 -93.675221,68.549740 -93.627379,68.559258 -93.599768,68.568926 -93.571527,68.588474 -93.570311,68.608242 -93.596786,68.618345 -93.623871,68.618561 -93.698496,68.616662 -93.766338,68.614684 -93.779100,68.629605 -93.758378,68.636874 -93.757319,68.656641 -93.749069,68.683771 -93.725840,68.735506 -93.745318,68.752947 -93.737831,68.765250 -93.689146,68.782193 -93.647649,68.791763 -93.646487,68.811524 -93.631803,68.828709 -93.596129,68.853140 -93.615608,68.870591 -93.649109,68.883206 -93.661511,68.905539 -93.679517,68.950147 -93.671930,68.962444 -93.733791,68.962897 -93.726505,68.970256 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-105.500801,66.332710 -97.119186,68.489296</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-105.486069,68.453590 -105.494347,68.459167 -105.483406,68.465965 -105.474495,68.459305 -105.462555,68.459267 -105.449844,68.463150 -105.426277,68.480286 -105.419701,68.472885 -105.410400,68.475227 -105.400345,68.479004 -105.390411,68.479408 -105.390633,68.489273 -105.380379,68.489052 -105.370735,68.486610 -105.360504,68.489296 -105.351028,68.488907 -105.343079,68.483780 -105.334373,68.480255 -105.325356,68.477402 -105.316803,68.472733 -105.308861,68.464417 -105.300011,68.461342 -105.290085,68.460320 -105.277206,68.459579 -104.001961,68.248901 -103.433472,68.165489 -103.381783,68.158211 -102.000793,68.083633 -100.622681,68.000694 -99.998604,67.956985 -98.377411,67.830147 -98.138405,67.830154 -97.434715,67.726135 -97.340584,67.711929 -97.145500,67.682259 -97.152550,67.672592 -97.159851,67.664070 -97.159874,67.653519 -97.150742,67.648346 -97.156990,67.639877 -97.164490,67.634491 -97.177208,67.629761 -97.188179,67.628319 -97.198242,67.627113 -97.208054,67.624245 -97.219200,67.621605 -97.228836,67.619423 -97.238754,67.617867 -97.251244,67.615234 -97.261299,67.613899 -97.273468,67.611946 -97.287445,67.609207 -97.298119,67.607079 -97.307594,67.604660 -97.317825,67.602013 -97.332260,67.598465 -97.343071,67.596390 -97.353889,67.593803 -97.364243,67.592125 -97.374886,67.590561 -97.386276,67.588890 -97.396545,67.583557 -97.406456,67.580963 -97.416420,67.575630 -97.409737,67.566200 -97.401222,67.558762 -97.394485,67.552643 -97.386528,67.547714 -97.374550,67.542656 -97.364914,67.540001 -97.355270,67.537575 -97.345787,67.534981 -97.332603,67.531059 -97.323280,67.528061 -97.314713,67.524895 -97.301712,67.520004 -97.292892,67.515297 -97.284813,67.510651 -97.275406,67.505653 -97.266449,67.500656 -97.256386,67.498169 -97.244987,67.495956 -97.234299,67.494720 -97.223633,67.492851 -97.214165,67.490700 -97.201927,67.486656 -97.188530,67.481865 -97.180496,67.476585 -97.170914,67.468849 -97.160828,67.462982 -97.149063,67.458710 -97.138962,67.458664 -97.129150,67.458679 -97.119186,67.454239 -97.119820,67.443581 -97.131744,67.437477 -97.142860,67.438156 -97.153656,67.434608 -97.163734,67.435165 -97.174561,67.435669 -97.183113,67.427269 -97.194077,67.422806 -97.205948,67.422974 -97.218140,67.422165 -97.226891,67.416557 -97.230576,67.406418 -97.233673,67.395996 -97.234398,67.385612 -97.234497,67.376205 -97.239899,67.368126 -97.250153,67.366631 -97.256721,67.358780 -97.265358,67.350716 -97.276756,67.350365 -97.288361,67.347778 -97.297600,67.345131 -97.307487,67.339691 -97.312988,67.332184 -97.323029,67.332504 -97.328819,67.324997 -97.332558,67.316620 -97.343269,67.313240 -97.349915,67.306358 -97.359322,67.301651 -97.368927,67.301117 -97.377266,67.304672 -97.387177,67.304138 -97.394279,67.295944 -97.406616,67.291534 -97.415817,67.288475 -97.421486,67.277657 -97.422417,67.267113 -97.421593,67.255989 -97.430382,67.250877 -97.439690,67.249191 -97.448799,67.250702 -97.447731,67.261131 -97.459869,67.266983 -97.469177,67.265526 -97.476227,67.258469 -97.481544,67.266861 -97.486717,67.274918 -97.496857,67.277565 -97.501701,67.269249 -97.512794,67.266769 -97.524200,67.263023 -97.531967,67.255859 -97.544662,67.254341 -97.549049,67.245972 -97.559715,67.241028 -97.572739,67.236320 -97.582626,67.234566 -97.594261,67.233681 -97.612427,67.228951 -97.602409,67.216125 -97.599571,67.207054 -97.607590,67.199936 -97.616302,67.196304 -97.621231,67.188324 -97.633308,67.185547 -97.646667,67.187218 -97.654518,67.179817 -97.661919,67.173553 -97.666832,67.165573 -97.669853,67.155655 -97.660484,67.152565 -97.650063,67.153008 -97.639542,67.148087 -97.633621,67.138840 -97.648453,67.125977 -97.644821,67.117294 -97.641380,67.108505 -97.635902,67.099663 -97.644318,67.091972 -97.655632,67.087372 -97.666023,67.086868 -97.676834,67.089165 -97.687088,67.088547 -97.688179,67.079483 -97.695824,67.074303 -97.706795,67.073288 -97.716309,67.072327 -97.727142,67.071022 -97.736214,67.069550 -97.742691,67.061684 -97.750183,67.053650 -97.757370,67.047890 -97.762672,67.038544 -97.772461,67.037636 -97.784729,67.036102 -97.795410,67.030632 -97.803894,67.024818 -97.812515,67.018661 -97.825073,67.013306 -97.836174,67.008461 -97.845802,67.000420 -97.856918,66.998070 -97.859726,66.989052 -97.869637,66.987946 -97.879738,66.990891 -97.888565,66.984993 -97.886841,66.975746 -97.883080,66.966965 -97.888336,66.956848 -97.897957,66.956772 -97.906357,66.953331 -97.913857,66.947662 -97.919716,66.939713 -97.915932,66.930008 -97.919441,66.921097 -97.929604,66.919647 -97.940285,66.913971 -97.942917,66.905052 -97.954948,66.902916 -97.964821,66.902145 -97.968018,66.893173 -97.978104,66.888069 -97.987595,66.882278 -97.984375,66.872177 -97.988701,66.862175 -97.978668,66.860947 -97.972717,66.852394 -97.966194,66.843788 -97.958115,66.837471 -97.958694,66.828339 -97.964516,66.820900 -97.972107,66.815453 -97.982735,66.810005 -97.994949,66.804436 -98.004684,66.798622 -98.009468,66.788437 -98.011368,66.778206 -98.019768,66.770752 -98.025963,66.762245 -98.026001,66.751755 -98.013184,66.748642 -98.004372,66.745941 -97.993774,66.745056 -97.984467,66.741768 -97.975716,66.736420 -97.967506,66.729134 -97.964043,66.720406 -97.967621,66.709663 -97.971947,66.700859 -97.976395,66.690567 -97.982849,66.680161 -97.990067,66.672890 -97.991173,66.661522 -97.997070,66.653061 -98.006500,66.644676 -98.009888,66.633842 -98.009918,66.623466 -98.009392,66.613029 -98.009811,66.603058 -98.001968,66.596947 -98.009857,66.588295 -98.019417,66.588730 -98.028778,66.594009 -98.038536,66.599747 -98.048119,66.598473 -98.055031,66.592361 -98.060310,66.577965 -98.069984,66.575722 -98.079727,66.571259 -98.088219,66.566368 -98.095810,66.558960 -98.098022,66.547821 -98.088005,66.544930 -98.079903,66.550285 -98.074059,66.558914 -98.065849,66.566711 -98.055664,66.566895 -98.054054,66.551193 -98.061600,66.545776 -98.059891,66.535439 -98.058914,66.524986 -98.044632,66.524826 -98.037041,66.519173 -98.041458,66.510635 -98.038795,66.498451 -98.039131,66.487801 -98.047668,66.479324 -98.058762,66.482628 -98.069710,66.478638 -98.078407,66.474274 -98.087463,66.475098 -98.097176,66.467552 -98.094528,66.446075 -98.099586,66.437889 -98.111969,66.433517 -98.110580,66.424202 -98.113701,66.415298 -98.119461,66.405586 -98.123764,66.396240 -98.125641,66.377243 -98.113297,66.380638 -98.111626,66.390755 -98.102707,66.393356 -98.089996,66.390991 -98.078545,66.390305 -98.079910,66.380577 -98.078857,66.369331 -98.086380,66.362038 -98.097504,66.361526 -98.107910,66.358093 -98.112556,66.349556 -98.113701,66.339027 -98.123741,66.337814 -98.134918,66.339691 -99.064590,66.333565 -99.998375,66.334229 -100.998322,66.333740 -102.001381,66.332710 -103.000191,66.333351 -104.001205,66.334633 -104.985023,66.334488 -104.975403,66.343758 -104.971352,66.354202 -104.964302,66.362770 -104.954941,66.365746 -104.944138,66.367126 -104.932777,66.369476 -104.922974,66.371941 -104.909760,66.375259 -104.897675,66.376122 -104.888145,66.376076 -104.876053,66.376312 -104.864532,66.376831 -104.860291,66.387558 -104.852905,66.393951 -104.842796,66.395615 -104.826996,66.395447 -104.817741,66.396645 -104.808922,66.402351 -104.808212,66.411995 -104.798523,66.412285 -104.789833,66.419586 -104.780144,66.420387 -104.774147,66.430374 -104.763306,66.435677 -104.754890,66.439217 -104.743187,66.442978 -104.734192,66.446625 -104.726044,66.450844 -104.722740,66.460144 -104.716576,66.467674 -104.703430,66.471146 -104.692413,66.475761 -104.684250,66.480782 -104.675087,66.484657 -104.662071,66.487785 -104.662437,66.498512 -104.656387,66.506554 -104.647774,66.512085 -104.647720,66.521385 -104.644081,66.531479 -104.638878,66.539352 -104.638100,66.549622 -104.634163,66.560005 -104.626366,66.568672 -104.617867,66.573914 -104.613647,66.582237 -104.621193,66.590752 -104.621124,66.599884 -104.617325,66.609581 -104.614090,66.620018 -104.606705,66.627541 -104.614563,66.633545 -104.611328,66.643127 -104.604797,66.650826 -104.599396,66.660919 -104.590736,66.664162 -104.586205,66.672318 -104.578346,66.681831 -104.569405,66.683586 -104.557556,66.687225 -104.550720,66.693832 -104.546158,66.703018 -104.540604,66.710655 -104.529167,66.715141 -104.519455,66.719406 -104.512589,66.727325 -104.516243,66.735664 -104.528313,66.740364 -104.537376,66.743347 -104.546860,66.747871 -104.546181,66.758026 -104.554474,66.766090 -104.560890,66.775452 -104.569954,66.780487 -104.580032,66.784843 -104.589920,66.788551 -104.606178,66.793999 -104.620628,66.797600 -104.628281,66.803520 -104.646248,66.806992 -104.659019,66.810310 -104.672127,66.814995 -104.685127,66.820396 -104.699402,66.825111 -104.715080,66.828506 -104.724564,66.830826 -104.739197,66.833511 -104.751877,66.834076 -104.762230,66.834816 -104.779114,66.838005 -104.789436,66.842163 -104.801277,66.851151 -104.810799,66.860085 -104.817047,66.867783 -104.825203,66.878044 -104.831528,66.885292 -104.840881,66.891922 -104.850708,66.899261 -104.861076,66.910271 -104.863487,66.920151 -104.871323,66.925598 -104.885963,66.928719 -104.896187,66.930344 -104.906448,66.931763 -104.921707,66.934669 -104.931831,66.936989 -104.940788,66.939278 -104.949783,66.941330 -104.963547,66.942825 -104.976540,66.945435 -104.989960,66.948975 -105.002197,66.952705 -105.023262,66.955971 -105.033623,66.956932 -105.046783,66.958618 -105.057854,66.962318 -105.072029,66.964958 -105.086357,66.966682 -105.101387,66.977043 -105.113762,66.976433 -105.123154,66.979858 -105.131813,66.984177 -105.139717,66.989616 -105.147812,66.993919 -105.147949,67.004196 -105.154457,67.012825 -105.171417,67.022331 -105.185287,67.027229 -105.194321,67.033150 -105.202782,67.042709 -105.207649,67.052856 -105.217430,67.054008 -105.226807,67.054001 -105.228867,67.063400 -105.244698,67.067200 -105.254318,67.069481 -105.271942,67.073090 -105.282463,67.073334 -105.300880,67.079468 -105.312401,67.084755 -105.322441,67.095932 -105.335701,67.105362 -105.344650,67.108307 -105.354462,67.109444 -105.369057,67.110001 -105.364517,67.128609 -105.376831,67.136642 -105.391281,67.138336 -105.411850,67.146332 -105.421997,67.149300 -105.433159,67.153419 -105.442886,67.155235 -105.454514,67.156174 -105.456146,67.165108 -105.469162,67.164711 -105.479027,67.161514 -105.486847,67.168526 -105.498856,67.178802 -105.500099,68.001366 -105.500801,68.440575 -105.486069,68.453590 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.117589,75.709518 -78.414574,76.210549</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-78.698259,75.951160 -78.685057,75.948375 -78.643967,75.938467 -78.585091,75.919943 -78.567628,75.911690 -78.549547,75.901928 -78.536260,75.895693 -78.498043,75.866184 -78.507099,75.831086 -78.534741,75.813341 -78.551686,75.805156 -78.576519,75.795442 -78.579706,75.793770 -78.592612,75.789301 -78.597081,75.788297 -78.599986,75.786836 -78.707129,75.763513 -78.842184,75.751980 -78.850832,75.752103 -78.858161,75.751518 -78.888508,75.750804 -78.949818,75.751991 -78.961613,75.750974 -79.003337,75.750112 -79.022290,75.749986 -79.077653,75.751514 -79.094086,75.744842 -79.200204,75.721310 -79.334529,75.709518 -79.476881,75.711235 -79.486342,75.712336 -79.495391,75.712501 -79.542679,75.716061 -79.653289,75.729744 -79.682723,75.737680 -79.747682,75.744185 -79.771121,75.747576 -79.802094,75.752587 -79.898910,75.778484 -79.908977,75.785224 -79.960102,75.791032 -80.057419,75.816864 -80.065160,75.819955 -80.115052,75.852936 -80.113416,75.863541 -80.117589,75.866922 -80.112161,75.902058 -80.107280,75.907045 -80.046924,75.938986 -79.971156,75.957780 -79.941777,75.963184 -79.941434,75.965241 -79.888747,75.992829 -79.887682,75.993481 -79.886684,75.993907 -79.880507,75.997134 -79.877613,75.997779 -79.868670,76.001593 -79.845572,76.010242 -79.772025,76.026569 -79.760633,76.032269 -79.756943,76.033086 -79.754909,76.034105 -79.738931,76.039096 -79.708051,76.045748 -79.692193,76.053938 -79.624461,76.070423 -79.614456,76.078101 -79.606773,76.082920 -79.558669,76.104045 -79.471410,76.124424 -79.468833,76.124854 -79.454413,76.140131 -79.452729,76.141011 -79.452524,76.142034 -79.389866,76.173783 -79.280883,76.197338 -79.142202,76.209073 -79.099224,76.209955 -79.079698,76.210086 -79.065309,76.209703 -79.042579,76.209895 -78.990176,76.209001 -78.971663,76.210549 -78.824694,76.208556 -78.730492,76.199305 -78.687207,76.193292 -78.649074,76.187214 -78.595236,76.172671 -78.568828,76.169586 -78.471808,76.143249 -78.448441,76.131784 -78.438462,76.125847 -78.414574,76.104074 -78.416358,76.077508 -78.429887,76.057834 -78.437472,76.049346 -78.458948,76.038797 -78.462046,76.027067 -78.526014,75.995516 -78.588123,75.982236 -78.606269,75.975820 -78.612684,75.974374 -78.617074,75.972193 -78.646560,75.963887 -78.695161,75.951750 -78.698259,75.951160 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-77.404736,67.169656 -73.222846,68.777647</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-75.425674,67.302577 -75.443322,67.287785 -75.460457,67.277356 -75.496834,67.266099 -75.545403,67.256336 -75.590100,67.251295 -75.636378,67.253245 -75.648271,67.254691 -75.675835,67.250369 -75.684624,67.244142 -75.713946,67.234350 -75.764011,67.222480 -75.767486,67.222034 -75.770908,67.220963 -75.783873,67.218697 -75.875658,67.205116 -75.907250,67.202261 -75.924820,67.202133 -75.975253,67.203201 -76.020502,67.198874 -76.037824,67.197733 -76.073802,67.199154 -76.109172,67.195033 -76.113859,67.195216 -76.117600,67.194835 -76.152462,67.194495 -76.153165,67.194532 -76.156068,67.194480 -76.213634,67.194578 -76.247820,67.196573 -76.257812,67.198646 -76.263340,67.196887 -76.267546,67.196392 -76.270448,67.195529 -76.323845,67.186156 -76.330808,67.185431 -76.344862,67.183345 -76.450447,67.173345 -76.466727,67.172255 -76.512922,67.173959 -76.538616,67.179239 -76.580184,67.174262 -76.600853,67.174131 -76.627375,67.174857 -76.649299,67.171926 -76.675660,67.169656 -76.721864,67.171301 -76.761820,67.179325 -76.769005,67.181522 -76.773038,67.181315 -76.774528,67.181360 -76.776053,67.181175 -76.807869,67.181518 -76.895593,67.187047 -76.898523,67.187304 -76.899539,67.187321 -76.959295,67.191863 -76.969777,67.192851 -76.986767,67.195330 -77.052546,67.207196 -77.076792,67.213021 -77.106750,67.226800 -77.136946,67.247991 -77.143653,67.253529 -77.186735,67.296171 -77.189181,67.299987 -77.192084,67.302944 -77.206827,67.328457 -77.242019,67.381884 -77.264053,67.401569 -77.310073,67.425500 -77.318507,67.430531 -77.332869,67.447681 -77.333651,67.452344 -77.334832,67.485359 -77.335414,67.485759 -77.349821,67.502907 -77.346006,67.520861 -77.337056,67.532877 -77.340337,67.545035 -77.350983,67.566644 -77.350769,67.568429 -77.352430,67.570441 -77.361426,67.603613 -77.371681,67.628601 -77.390583,67.649364 -77.396469,67.659155 -77.397270,67.663816 -77.398067,67.684389 -77.404736,67.712307 -77.404375,67.713774 -77.404243,67.722360 -77.389700,67.765246 -77.386055,67.771971 -77.340848,67.832039 -77.330374,67.867007 -77.326457,67.874475 -77.313826,67.885481 -77.269659,67.913291 -77.240705,67.932959 -77.205326,67.979270 -77.172242,68.022406 -77.150179,68.038399 -77.147779,68.039158 -77.146450,68.040067 -77.117257,68.052503 -77.113900,68.067268 -77.109086,68.072358 -77.071067,68.106070 -77.060434,68.112737 -77.056995,68.115350 -77.017417,68.135543 -77.015461,68.136184 -77.014112,68.137152 -76.993325,68.144771 -76.959582,68.154500 -76.959507,68.159737 -76.954557,68.172400 -76.945439,68.180834 -76.931877,68.190491 -76.918636,68.198018 -76.910630,68.201373 -76.863953,68.219090 -76.854882,68.230578 -76.849623,68.235967 -76.831121,68.251766 -76.813889,68.262323 -76.806322,68.265491 -76.720000,68.298385 -76.705361,68.302489 -76.696546,68.305370 -76.578327,68.332501 -76.575082,68.332910 -76.571984,68.333859 -76.550676,68.335985 -76.525446,68.339159 -76.520528,68.338987 -76.516611,68.339377 -76.496022,68.339613 -76.490490,68.342692 -76.452926,68.354152 -76.406321,68.359419 -76.394574,68.359650 -76.390373,68.359659 -76.382401,68.364161 -76.344751,68.375597 -76.298079,68.380834 -76.249525,68.379073 -76.216276,68.375346 -76.173291,68.366846 -76.142431,68.352918 -76.138521,68.348124 -76.136323,68.347998 -76.119069,68.346534 -76.107412,68.345217 -76.103029,68.347490 -76.099978,68.348478 -76.097637,68.350085 -76.086027,68.354617 -76.026907,68.374735 -76.000712,68.381568 -75.981743,68.384558 -75.934443,68.390354 -75.906641,68.392500 -75.858093,68.390629 -75.822225,68.384043 -75.808954,68.380524 -75.788669,68.378195 -75.715205,68.377056 -75.683203,68.374991 -75.663043,68.371924 -75.574384,68.354915 -75.564732,68.352534 -75.559865,68.351641 -75.425956,68.316486 -75.365217,68.303415 -75.306111,68.302353 -75.304166,68.302222 -75.300898,68.302217 -75.194901,68.298603 -75.168263,68.296582 -75.140648,68.291838 -75.093103,68.280859 -75.080249,68.279317 -75.037855,68.270535 -75.007797,68.256403 -74.996558,68.244307 -74.991352,68.234399 -74.977069,68.228072 -74.966146,68.221934 -74.934817,68.215402 -74.904891,68.201251 -74.898065,68.195224 -74.870373,68.164874 -74.864169,68.153568 -74.865054,68.143537 -74.879031,68.107017 -74.883925,68.099180 -74.895568,68.089688 -74.914499,68.077962 -74.911762,68.065038 -74.911778,68.064990 -74.911742,68.064942 -74.914491,68.051099 -74.928561,68.028088 -74.931541,68.024058 -74.953053,68.009266 -74.990515,67.991969 -75.020284,67.962264 -75.022162,67.931103 -74.997789,67.889967 -74.965006,67.868088 -74.940496,67.855550 -74.929909,67.849070 -74.917031,67.831733 -74.916975,67.824922 -74.928401,67.763863 -74.934162,67.719565 -74.903564,67.622772 -74.903807,67.621832 -74.903058,67.620813 -74.908693,67.602930 -74.912569,67.599017 -74.934861,67.579243 -74.951664,67.559570 -74.975866,67.511604 -74.979611,67.506049 -74.982053,67.504381 -74.982681,67.502845 -75.039840,67.449250 -75.040812,67.448637 -75.043185,67.446388 -75.095101,67.405637 -75.111558,67.395977 -75.148271,67.384798 -75.161935,67.382505 -75.200403,67.377108 -75.209666,67.373984 -75.228361,67.361030 -75.245139,67.354763 -75.258573,67.350642 -75.286748,67.331719 -75.299213,67.324864 -75.335734,67.313643 -75.345582,67.311894 -75.385664,67.305603 -75.420644,67.302360 -75.425674,67.302577 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-74.821653,68.108636 -74.783668,68.119731 -74.737169,68.124547 -74.697736,68.123266 -74.661690,68.119859 -74.658111,68.119163 -74.657700,68.119144 -74.652147,68.120185 -74.605620,68.124965 -74.557733,68.122727 -74.536008,68.120027 -74.529967,68.120287 -74.519454,68.129867 -74.498390,68.142622 -74.498186,68.142680 -74.497148,68.145733 -74.494732,68.148428 -74.494234,68.157951 -74.487872,68.171666 -74.469573,68.183586 -74.464296,68.194780 -74.440261,68.210403 -74.401933,68.221412 -74.355157,68.226123 -74.350282,68.225889 -74.346350,68.226229 -74.321105,68.226200 -74.281847,68.223779 -74.246683,68.216866 -74.206464,68.205545 -74.204656,68.204732 -74.201497,68.204070 -74.157385,68.190248 -74.145653,68.187435 -74.131047,68.183332 -74.101644,68.169042 -74.095033,68.162982 -74.078609,68.144191 -74.074174,68.135556 -74.073030,68.134031 -74.070705,68.124338 -74.070891,68.123763 -74.070464,68.123164 -74.076198,68.107131 -74.032105,68.105383 -74.005196,68.103156 -73.963521,68.094107 -73.962750,68.093730 -73.961712,68.093499 -73.958121,68.092266 -73.948551,68.091721 -73.931000,68.088882 -73.859856,68.074813 -73.830486,68.070121 -73.797138,68.062216 -73.782052,68.056223 -73.774962,68.052847 -73.772967,68.053449 -73.749390,68.059038 -73.702807,68.063571 -73.661658,68.061855 -73.633039,68.058775 -73.623829,68.058799 -73.590525,68.061377 -73.572471,68.062259 -73.524814,68.059731 -73.497810,68.054722 -73.446349,68.042012 -73.412330,68.034645 -73.406590,68.033083 -73.402699,68.032327 -73.355735,68.019817 -73.344751,68.016517 -73.336257,68.013356 -73.306033,68.000949 -73.285828,67.989678 -73.274073,67.972224 -73.274113,67.972121 -73.274046,67.972022 -73.271125,67.948554 -73.278081,67.930942 -73.286828,67.923721 -73.287916,67.922995 -73.258954,67.900067 -73.247261,67.882610 -73.247639,67.881639 -73.247112,67.880778 -73.246719,67.867305 -73.234502,67.861112 -73.222846,67.843652 -73.224884,67.832627 -73.229546,67.823454 -73.231647,67.798053 -73.238659,67.784006 -73.247828,67.776479 -73.276911,67.757312 -73.292106,67.749376 -73.293663,67.748936 -73.294606,67.748357 -73.334159,67.732697 -73.334364,67.732641 -73.334477,67.732571 -73.356332,67.723971 -73.391533,67.714337 -73.437500,67.709887 -73.484457,67.712440 -73.491250,67.713967 -73.525501,67.715819 -73.526449,67.715992 -73.528676,67.715775 -73.557735,67.716489 -73.591419,67.718871 -73.609342,67.720681 -73.641013,67.724879 -73.648736,67.725223 -73.664773,67.725646 -73.697779,67.724298 -73.708878,67.723062 -73.736089,67.721269 -73.769398,67.722271 -73.812960,67.725904 -73.819624,67.726616 -73.820875,67.726669 -73.870995,67.732190 -73.873520,67.732718 -73.876789,67.732887 -73.911918,67.737478 -73.939829,67.738394 -73.947639,67.739021 -73.954345,67.739205 -74.010029,67.743619 -74.129988,67.732726 -74.179755,67.727975 -74.260634,67.719768 -74.284028,67.718294 -74.331086,67.720610 -74.387890,67.727861 -74.486759,67.740424 -74.509353,67.744294 -74.576177,67.758985 -74.576550,67.759086 -74.576921,67.759150 -74.641349,67.773502 -74.659319,67.778378 -74.685543,67.790441 -74.720425,67.813540 -74.721311,67.814636 -74.723462,67.815677 -74.764446,67.846384 -74.797716,67.869808 -74.849879,67.901239 -74.855339,67.904881 -74.864893,67.914523 -74.885275,67.945114 -74.885312,67.945201 -74.885373,67.945262 -74.903256,67.972417 -74.906496,67.979966 -74.906751,67.985431 -74.903429,68.015238 -74.906283,68.027224 -74.906198,68.027504 -74.906407,68.027785 -74.900670,68.045657 -74.884243,68.064443 -74.876912,68.071040 -74.837983,68.099551 -74.821653,68.108636 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-75.314256,68.772691 -75.266552,68.777647 -75.217248,68.775596 -75.173891,68.766854 -75.152761,68.757967 -75.141191,68.755629 -75.120842,68.747669 -75.120016,68.747257 -75.110202,68.744594 -75.098370,68.739163 -75.096480,68.739167 -75.074705,68.738628 -75.044240,68.736490 -75.026519,68.733850 -74.953193,68.720471 -74.943593,68.718151 -74.937159,68.716979 -74.917564,68.711960 -74.908140,68.709294 -74.879021,68.696146 -74.854845,68.679786 -74.854418,68.679255 -74.853417,68.678790 -74.841132,68.664717 -74.833089,68.644881 -74.833439,68.643389 -74.832095,68.641632 -74.832130,68.634500 -74.835336,68.619769 -74.824777,68.614024 -74.811554,68.596697 -74.813613,68.590513 -74.748068,68.556329 -74.726389,68.545371 -74.709595,68.541889 -74.679386,68.527706 -74.661621,68.514755 -74.652732,68.506273 -74.644393,68.495136 -74.640242,68.486276 -74.646286,68.468423 -74.650947,68.463256 -74.653167,68.458423 -74.657780,68.451599 -74.662862,68.446854 -74.663416,68.446410 -74.664685,68.444333 -74.645217,68.435143 -74.632228,68.417799 -74.632326,68.417510 -74.632127,68.417238 -74.631562,68.413793 -74.637696,68.396500 -74.661790,68.380853 -74.665693,68.379731 -74.667822,68.378455 -74.676045,68.375409 -74.680735,68.374156 -74.673186,68.364074 -74.679174,68.346217 -74.681899,68.343175 -74.688275,68.339020 -74.689536,68.336684 -74.692227,68.334702 -74.692207,68.334675 -74.694233,68.322359 -74.696938,68.317291 -74.700877,68.311748 -74.724842,68.296090 -74.763140,68.285010 -74.768319,68.284477 -74.771832,68.283538 -74.786583,68.281288 -74.824695,68.277935 -74.872922,68.280097 -74.915271,68.288921 -74.916276,68.289394 -74.922329,68.290126 -74.931450,68.292024 -74.948552,68.290246 -74.968660,68.290270 -74.998784,68.291205 -75.026943,68.293304 -75.069374,68.302089 -75.079672,68.305733 -75.091836,68.310558 -75.111702,68.321032 -75.124991,68.338342 -75.125202,68.344580 -75.123545,68.355667 -75.123700,68.361840 -75.125720,68.362855 -75.128466,68.363487 -75.143356,68.367502 -75.156417,68.373589 -75.165054,68.373985 -75.187995,68.375855 -75.230635,68.384600 -75.258893,68.397716 -75.271688,68.399227 -75.314401,68.407950 -75.322649,68.410763 -75.351637,68.421571 -75.364787,68.428237 -75.375179,68.430563 -75.405683,68.444626 -75.415531,68.454015 -75.416261,68.455028 -75.445752,68.461006 -75.465961,68.468932 -75.479717,68.475789 -75.506430,68.488855 -75.517467,68.495292 -75.528192,68.505849 -75.537656,68.520383 -75.540626,68.527100 -75.539149,68.539178 -75.532030,68.553806 -75.528128,68.559608 -75.523492,68.564134 -75.523330,68.564269 -75.524007,68.565488 -75.518611,68.583366 -75.518109,68.583805 -75.518656,68.585825 -75.518058,68.587920 -75.519254,68.589650 -75.520284,68.613955 -75.519472,68.615979 -75.519141,68.620897 -75.512155,68.639573 -75.507426,68.647243 -75.499470,68.656402 -75.475657,68.672158 -75.466242,68.675505 -75.461526,68.680915 -75.454650,68.686508 -75.451569,68.696565 -75.438656,68.706803 -75.430738,68.711470 -75.426495,68.725254 -75.402562,68.740998 -75.388356,68.745366 -75.377859,68.752258 -75.373928,68.753395 -75.371803,68.754679 -75.346999,68.763910 -75.314256,68.772691 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.499590,72.713647 -78.080904,73.313876</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.499590,73.231705 -80.441615,73.269478 -80.355281,73.299385 -80.246744,73.313876 -80.115923,73.304956 -80.012927,73.295885 -79.924222,73.269864 -79.882716,73.237150 -79.869114,73.212338 -79.891348,73.194010 -79.904124,73.186951 -79.898372,73.152743 -79.734378,73.111314 -79.484202,73.067456 -79.176051,73.004956 -78.995625,72.969499 -78.882731,72.942979 -78.774590,72.926733 -78.661624,72.916045 -78.490783,72.916788 -78.287668,72.922862 -78.167469,72.905307 -78.080904,72.866303 -78.135565,72.858656 -78.228868,72.868108 -78.351948,72.859834 -78.452942,72.845760 -78.537764,72.834390 -78.614823,72.816386 -78.713729,72.804059 -78.722009,72.794698 -78.795173,72.788351 -78.830341,72.779062 -78.883029,72.765117 -78.948274,72.752125 -79.006940,72.746612 -79.081578,72.730311 -79.140137,72.724761 -79.219201,72.718746 -79.310841,72.713647 -79.475078,72.717891 -79.607848,72.727674 -79.693564,72.753870 -79.774720,72.777691 -79.812805,72.780441 -79.864169,72.808034 -79.921626,72.820110 -79.991653,72.825098 -80.073494,72.848800 -80.098064,72.868434 -80.106852,72.890931 -80.114135,72.915308 -80.148292,72.931617 -80.173050,72.951238 -80.205803,72.969418 -80.231368,73.004976 -80.243426,73.023693 -80.276376,73.041858 -80.272549,73.063447 -80.260362,73.078502 -80.234749,73.118458 -80.248774,73.143256 -80.245251,73.172805 -80.210395,73.190279 -80.227170,73.203344 -80.230951,73.215517 -80.287633,73.213425 -80.365358,73.210761 -80.418971,73.212398 -80.436991,73.215597 -80.499590,73.231705 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+</wfs:FeatureCollection>
\ No newline at end of file
Index: lib/spatial/mapbuilder/examples/projDemo/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/projDemo/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/projDemo/index.html	(revision 4307)
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+      
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Mapbuilder Proj4js demo</title>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+    <style>
+      .cursorTrackLeft {
+        width: 100px;
+      }
+      .cursorTrackRight {
+        width: 100px;
+      }
+    </style>
+    <script>
+      // URL of Mapbuilder configuration file.
+      var mbConfigUrl='config.xml';
+    </script>
+    <!-- This points to the core mapbuilder library, replaces this with MapbuilderCompressed.js when you want to use the compressed version -->
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+    
+  </head>
+  <!-- This onload event starts mapbuilder -->
+  <body onload="mbDoLoad()" >
+  <!-- DIY cut here 1 -->
+    <div id="header">  	<!-- The header of the page -->
+      <h1><a href="http://communitymapbuilder.org">MapBuilder</a> <!--Version-->1.5-rc2<!--VersionEnd--> Proj4js demo</h1>
+      <!-- The version tag will be inserted into the comment tags above
+      during the build process. -->
+    </div><!-- /header -->
+    
+    <div id="middle"><!-- The center piece of the page with left menubar and right mainbody -->
+      	    <div id="exampleList"></div><!-- this is the container where the menubar will be drawn -->
+      <div id="mainbody"><!-- right side of the middle div, is also divided into two areas -->
+
+        <div class="left">
+          <h3>Explanation</h3>
+          <p>
+            This demo shows the Proj4js library in action. 
+            All coordinate conversions shown here are being carried out on the client side
+            in JavaScript.
+          </p>
+          <p>
+            The cursor is tracked in Longitude and Latitude as well as in map projected X-Y coordinates.
+            <div id="cursorTrack"><!-- This is where the cursor tracker will be drawn --></div>
+          </p>
+          <p>
+            A GML document may be loaded and its feature coordinates will be converted to the map
+            projection prior to being rendered over the map.<br/>
+            <a href="javascript:config.loadModel('gml2FeatureTemplate','bsc_ows_small.xml')">load GML</a>
+          </p>
+        </div><!-- /left -->
+        
+        <!-- DIY end cut 1-->
+        <div class="right">
+          <div id="mainMapPane"><!-- This is the container where the map will be drawn -->
+            <noscript>this page requires Javascript to be enabled</noscript>
+          </div><!-- /mainMapPane -->
+          <div>
+            <div style="float: left; width: 30%;" id="mainButtonBar"><!-- This is the container where the buttons will be drawn --></div>
+            <div id="scaleText"><!-- This is where the scale text will be drawn --></div>
+          </div>
+          <div>
+            <h2>Examples of maps in different projections</h2>
+            <div id="maps"></div>
+          </div>
+        </div><!-- /right -->
+        <!-- DIY cut here 2 -->
+
+      </div><!-- /mainbody -->
+    </div><!-- /middle -->
+
+    <div id="footer"><!-- The footer of the page -->
+      <div class="right">
+        <a href="http://communitymapbuilder.org/" title="powered by community mapbuilder"><img src="../../lib/skin/default/images/Icon.gif"/></a>	  	
+        <a href="https://www.osgeo.org/" title="member of OSgeo"><img src="../../lib/skin/default/images/Osgeo.png"/></a>
+      </div><!-- /right -->
+    </div><!-- /footer -->  
+    <!-- DIY end cut 2 -->
+  </body>
+</html>
Index: lib/spatial/mapbuilder/examples/i18n/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/i18n/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/i18n/index.html	(revision 4307)
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Mapbuilder I18N Map Viewer</title>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/mapStyle.css'>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/scalebar-fat.css'>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+    <style>
+      /* styles for abbr (abbr is unsupported in MSIE, so use span) */
+      abbr, acronym, span.abbr {
+        cursor: help;
+        border-bottom: 1px dotted gray;
+      }
+    </style>
+    <script>
+    // URL of Mapbuilder configuration file.
+    var mbConfigUrl='config.xml';
+    </script>
+    <!-- This points to the core mapbuilder library, replaces this with MapbuilderCompressed.js when you want to use the compressed version -->
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+    <script type="text/javascript" src="LanguageUtils.js"></script>
+    <script type="text/javascript">
+      setLanguage();
+    </script>
+  </head>
+  <!-- This onload event starts mapbuilder -->
+  <body onload="mbDoLoad()" >
+  <!-- DIY cut here 1 -->
+    <div id="header">   <!-- The header of the page -->
+      <h1><a href="http://communitymapbuilder.org">MapBuilder</a> <!--Version-->1.5-rc2<!--VersionEnd--> I18N Map Viewer</h1>
+      <!-- The version tag will be inserted into the comment tags above
+      during the build process. -->
+    </div><!-- /header -->
+    <div id="middle"><!-- The center piece of the page with left menubar and right mainbody -->
+      	    <div id="exampleList"></div><!-- this is the container where the menubar will be drawn -->
+      <div id="mainbody"><!-- right side of the middle div, is also divided into two areas -->
+        <div class="left">
+          <h3>Explanation&nbsp;
+            <script type="text/javascript">
+              writeOutLanguages("flags");
+            </script>
+          </h3>
+          This demo shows the <abbr title="Internationalization"><span class="abbr" title="Internationalization">I18N</span></abbr> aspects of MapBuilder.
+          It also shows the fall back on the default language if an
+          unsupported language is selected.
+          The tooltips and map widgets all display in the chosen language.
+          Click on one of the flags above to change the language for MapBuilder.
+          <br />
+          <br />
+          <div align="right" id="locatorMap"><!-- This is where the locator map will be drawn --></div>
+          <div align="right" id="cursorTrack"><!-- This is where the cursor tracker will be drawn --></div>
+        </div><!-- /left -->
+        <!-- DIY end cut 1-->
+        <div class="right">
+          <div id="mainMapPane" style="height:80%"><!-- This is the container where the map will be drawn -->
+            <noscript>
+              This page requires JavaScript to be enabled.
+            </noscript>
+          </div><!-- /mainMapPane -->
+          <br />
+          <div>
+          <table>
+            <tr>
+              <td align="left"  width="600" id="mainButtonBar"><!-- This is where the buttons will be drawn --></td>
+              <td align="right" width="200" id="scalebar"><!-- This is where the scale bar will be drawn --></td>
+
+            </tr>
+            <tr>
+              <td align="right" width="400" id="contextLegend"><!-- This is where the legend will be drawn --></td>
+            </tr>
+          </table>
+          </div>
+        </div><!-- /right -->
+        <!-- DIY cut here 2 -->
+      </div><!-- /mainbody -->
+    </div><!-- /middle -->
+    <div id="footer"><!-- The footer of the page -->
+      <div class="right">
+        <a href="http://communitymapbuilder.org/" title="powered by community mapbuilder"><img src="../../lib/skin/default/images/Icon.gif"/></a>
+        <a href="https://www.osgeo.org/" title="member of OSgeo"><img src="../../lib/skin/default/images/Osgeo.png"/></a>
+      </div><!-- /right -->
+    </div><!-- /footer -->
+    <!-- DIY end cut 2 -->
+  </body>
+</html>
Index: lib/spatial/mapbuilder/examples/i18n/flags/es.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/examples/i18n/flags/es.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/examples/openlayers/config.xml
===================================================================
--- lib/spatial/mapbuilder/examples/openlayers/config.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/openlayers/config.xml	(revision 4307)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="simpleTemplate" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+  <models>
+    <OwsContext id="mainMap">
+      <defaultModelUrl>../data/tasmania/TasmaniaContext.xml</defaultModelUrl>
+      <widgets>
+        <MapPaneOL id="mainMapWidget">
+          <htmlTagId>mainMapPane</htmlTagId>
+          <displayOutsideMaxExtent>true</displayOutsideMaxExtent>
+        </MapPaneOL>
+        <CursorTrack id="cursorTrack"/>
+        <Legend id="contextLegend">
+          <htmlTagId>legend</htmlTagId>
+          <stylesheet>./Legend2.xsl</stylesheet>
+        </Legend>
+      </widgets>
+    </OwsContext>
+  </models>
+  <widgets>
+    <ZoomIn id="zoomIn">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <selected>true</selected>
+      <enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+    </ZoomIn>
+    <ZoomOut id="zoomOut">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+    </ZoomOut>
+    <DragPan id="dragPan">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/PanEnable.png</enabledSrc>
+      <disabledSrc>/images/PanDisable.png</disabledSrc>
+    </DragPan>
+    <Reset id="reset">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+    </Reset>
+    <ExampleList id="exampleList"><!-- this is the widget that draws the example menu -->
+		<scriptFile>../ExampleList.js</scriptFile>
+		<stylesheet>../ExampleList.xsl</stylesheet>
+    </ExampleList>
+  </widgets>
+  <skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/openlayers/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/openlayers/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/openlayers/index.html	(revision 4307)
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+  xmlns:vml="urn:schemas-microsoft-com:vml"
+  xmlns:svg="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <head>
+    <title>Mapbuilder OpenLayers Integration</title>
+       <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+     <script>
+      // URL of Mapbuilder configuration file.
+      var mbConfigUrl='config.xml';
+
+    </script>
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+  </head>
+  <body onload="mbDoLoad()" >
+  <div id="header">
+    <h1><a href="http://communitymapbuilder.org">MapBuilder</a> <!--Version-->1.5-rc2<!--VersionEnd--> OpenLayers Integration</h1>
+    <!-- The version tag will be inserted into the comment tags above
+    during the build process. -->
+<!--This is for more complex pages <a href="" class="help">how to use this page</a></div>-->
+  </div>
+  <div id="middle">
+  	    <div id="exampleList"></div><!-- this is the container where the menubar will be drawn -->
+  <div id="mainbody">
+    <div class="left">
+            <h3>Explanation</h3>
+            <p>
+            This demonstrates rendering of Geographic Markup Language (GML) layers using browser based vector
+            rendering - SVG and VML. The map context uses the OGC OWS Context format (specification pending)
+            and uses Style Layer Descriptor (SLD) format to describe vector colors.
+            </p>
+            <p>
+      This is a result of the integration of <a href="http://openlayers.org/">OpenLayers</a> with Mapbuilder.
+      In September 2006 during <a href="http://www.foss4g2006.org/">Foss4G</a> several webmapping projects
+      got together and decided upon a single library to render maps. Mapbuilder developers joined
+      the OpenLayers development, and Mapbuilder now uses OpenLayers for all of map rendering.</p>
+      As a consequence, we have replaced
+      MapPane.js and MapPane2.js by MapPaneOL.js.<p/>
+            <p>
+      As you can see MapPaneOL supports the new <a href="http://wiki.osgeo.org/index.php/WMS_Tiling_Client_Recommendation">WMS Tiling Client Recommendation</a>.
+            If you want to use this, you have to use the service type "WMS-C" instead of "WMS" in your Context document. Other supported layer types are GML and WFS layers, and as baselayer you can also use Google Maps, Yahoo Maps, and Microsoft Virtual Earth.</p>
+            
+
+    </div>
+    <div class="right">
+      <div id="mainMapPane" style="height:80%">
+        <noscript>
+          this page requires Javascript to be enabled
+        </noscript>
+      </div>
+      <div id="mainButtonBar"></div>
+    <div id="cursorTrack"></div>
+    <div id="legend"></div>
+    </div>
+  </div>
+  </div>
+  <div id="footer">
+
+    <div class="right">
+<a href="http://communitymapbuilder.org/" title="powered by community mapbuilder"><img src="../../lib/skin/default/images/Icon.gif"/></a>
+<a href="https://www.osgeo.org/" title="member of OSgeo"><img src="../../lib/skin/default/images/Osgeo.png"/></a>
+         </div>
+  </div>
+  </body>
+</html>
Index: lib/spatial/mapbuilder/examples/memory-leak/config2.xml
===================================================================
--- lib/spatial/mapbuilder/examples/memory-leak/config2.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/memory-leak/config2.xml	(revision 4307)
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="simpleTemplate" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+  <models>
+    <Context id="mainMap">
+      <defaultModelUrl>../data/context/metacartaWorldMap.xml</defaultModelUrl>
+      <widgets>
+        <MapPaneOL id="mainMapWidget">
+          <htmlTagId>mainMapPane</htmlTagId>
+          <fixedSize>true</fixedSize>
+        </MapPaneOL>
+        <CursorTrack id="cursorTrack">
+          <precision>5</precision>
+        </CursorTrack>
+        <MapScaleText id="scaleText"/>
+        <!--Loading2 id="loading2">
+          <mapContainerId>mainMapContainer</mapContainerId>
+        </Loading2-->
+      </widgets>
+      <tools>
+        <History id="extentHistory"/>
+      </tools>
+    </Context>
+  </models>
+  <widgets>
+      <Back id="back">
+            <buttonBar>mainButtonBar</buttonBar>
+           <targetModel>mainMap</targetModel>
+           <class>Button</class>
+           <disabledSrc>/images/UndoDisable.png</disabledSrc>
+        </Back>
+        <Forward id="forward">
+           <buttonBar>mainButtonBar</buttonBar>
+           <targetModel>mainMap</targetModel>
+           <class>Button</class>
+           <disabledSrc>/images/RedoDisable.png</disabledSrc>
+        </Forward>
+    <ZoomIn id="zoomIn">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <selected>true</selected>
+      <enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+    </ZoomIn>
+    <ZoomOut id="zoomOut">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+    </ZoomOut>
+    <DragPan id="dragPan">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/PanEnable.png</enabledSrc>
+      <disabledSrc>/images/PanDisable.png</disabledSrc>
+    </DragPan>
+    <Reset id="reset">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+    </Reset>
+  </widgets>
+  <skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/GeoBliki/wfs_GetFeature.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/GeoBliki/wfs_GetFeature.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/GeoBliki/wfs_GetFeature.xsl	(revision 4307)
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+Description: transforms a WFS FeatureType node to a GetFeatureType request
+Author:      adair
+Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
+$Id: wfs_GetFeature.xsl 2546 2007-01-23 12:07:39Z gjvoosten $
+$Name$
+-->
+
+<xsl:stylesheet version="1.0" 
+    xmlns:wfs="http://www.opengis.net/wfs"
+    xmlns:sld="http://www.opengis.net/sld"
+    xmlns:wmc="http://www.opengis.net/context" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+    xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" 
+		xmlns:ogc="http://www.opengis.net/ogc"
+		xmlns:gml="http://www.opengis.net/gml"
+    xmlns:xlink="http://www.w3.org/1999/xlink">
+
+  <xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="no"/>
+  <xsl:preserve-space elements="gml:coordinates"/>
+  <xsl:param name="cs" select="','"/>
+  <xsl:param name="ts" select="' '"/>
+  <xsl:param name="bBoxMinX"/>
+  <xsl:param name="bBoxMinY"/>
+  <xsl:param name="bBoxMaxX"/>
+  <xsl:param name="bBoxMaxY"/>
+  <xsl:param name="srs"/>
+  <xsl:param name="version"/>
+  <xsl:param name="httpMethod" />
+  <xsl:param name="filter"/>
+  <xsl:param name="maxFeatures">100</xsl:param>
+  <xsl:param name="geometry">location</xsl:param>
+  <xsl:param name="resourceName" />
+  <xsl:param name="featureSrs" />
+  <xsl:param name="fromDateField" />
+  <xsl:param name="toDateField" />
+ 
+  <!-- template rule matching source root element -->
+
+  <xsl:template match="/">
+  
+    <wmc:FeatureType hidden="0" id="B58B8C7B-6592-4D67-9CD5-5D43CB46BF83">
+	  	<wmc:Server service="OGC:WFS" version="1.0.0" title="EO1 GeoBliki">
+        <wmc:OnlineResource method="post" xlink:type="simple" xlink:href="http://test.geobliki.com/wfs"/>
+      </wmc:Server>
+      <wmc:Name>EO1 Query</wmc:Name>
+      <wmc:Title>EO1 Query</wmc:Title>
+
+      <wfs:GetFeature version="1.0.0" service="WFS" maxFeatures="{$maxFeatures}">
+        <wfs:Query typeName="{$resourceName}">
+         <ogc:Filter>
+            <ogc:And>
+              <xsl:if test="$bBoxMinX">
+                <ogc:BBOX>
+                  <ogc:PropertyName><xsl:value-of select="$geometry"/></ogc:PropertyName>
+                  <gml:Box srsName="{$srs}"><gml:coordinates>
+            				<xsl:value-of select="$bBoxMinX"/><xsl:value-of select="$cs"/>
+            				<xsl:value-of select="$bBoxMinY"/><xsl:value-of select="$ts"/>
+            				<xsl:value-of select="$bBoxMaxX"/><xsl:value-of select="$cs"/>
+            				<xsl:value-of select="$bBoxMaxY"/>
+                  </gml:coordinates></gml:Box>
+                </ogc:BBOX>
+              </xsl:if> 
+              
+              <xsl:if test="$fromDateField">
+               <ogc:PropertyIsBetween>
+   		  				 <ogc:PropertyName>created_at</ogc:PropertyName>
+			  					 <ogc:LowerBoundary>
+    								 <DateTime><xsl:value-of select="$fromDateField"/></DateTime>
+  		  					 </ogc:LowerBoundary>
+			  					 <ogc:UpperBoundary>
+    								 <DateTime><xsl:value-of select="$toDateField"/></DateTime>
+  		  					</ogc:UpperBoundary>
+  						 </ogc:PropertyIsBetween>  
+              </xsl:if>
+              
+            </ogc:And>
+          </ogc:Filter>
+        </wfs:Query>
+      </wfs:GetFeature>
+      <wmc:StyleList>
+			  <wmc:Style>
+				  <wmc:Name>Highlite</wmc:Name>
+				  <sld:PointSymbolizer>
+					  <sld:Graphic>
+						  <sld:Mark>
+							  <sld:WellKnownName>circle</sld:WellKnownName>
+							  <sld:Fill>
+								  <sld:CssParameter name="fill">#ff0000</sld:CssParameter>
+							  </sld:Fill>
+						  </sld:Mark>
+						  <sld:Size>4.0</sld:Size>
+					  </sld:Graphic>
+					  <sld:Stroke>
+						  <sld:CssParameter name="stroke">#ffff00</sld:CssParameter>
+						  <sld:CssParameter name="stroke-width">1</sld:CssParameter>
+					  </sld:Stroke>
+				  </sld:PointSymbolizer>
+			  </wmc:Style>
+			  <wmc:Style>
+				  <wmc:Name>Normal</wmc:Name>
+				  <sld:PointSymbolizer>
+					  <sld:Graphic>
+						  <sld:Mark>
+							  <sld:WellKnownName>circle</sld:WellKnownName>
+							  <sld:Fill>
+								  <sld:CssParameter name="fill">#ff0000</sld:CssParameter>
+							  </sld:Fill>
+						  </sld:Mark>
+						  <sld:Size>4.0</sld:Size>
+					  </sld:Graphic>
+				  </sld:PointSymbolizer>
+			  </wmc:Style>
+		  </wmc:StyleList>
+    </wmc:FeatureType>
+  </xsl:template>
+</xsl:stylesheet>
+
Index: lib/spatial/mapbuilder/examples/GeoBliki/DemisWorldMap.xml
===================================================================
--- lib/spatial/mapbuilder/examples/GeoBliki/DemisWorldMap.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/GeoBliki/DemisWorldMap.xml	(revision 4307)
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<OWSContext version="0.0.13" id="ows-context-tie"
+	xmlns="http://www.opengis.net/context"
+	xmlns:wmc="http://www.opengis.net/context"
+	xmlns:xlink="http://www.w3.org/1999/xlink"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:sld="http://www.opengis.net/sld"
+	xmlns:ogc="http://www.opengis.net/ogc"
+	xmlns:ows="http://www.opengis.net/ows"
+	xmlns:param="http;//www.opengis.net/param"
+	xmlns:wfs="http://www.opengis.net/wfs"
+	xmlns:gml="http://www.opengis.net/gml"
+	xsi:schemaLocation="http://www.opengis.net/oc oc_0_0_13.xsd">
+
+	<General>
+		<Window width="550" height="275" />
+		<!-- BoundingBox SRS="EPSG:4326" minx="-130" miny="10" maxx="-50" maxy="50"/ -->
+		<ows:BoundingBox crs="EPSG:4326">
+			<ows:LowerCorner>-180 -75</ows:LowerCorner>
+			<ows:UpperCorner>+180 75</ows:UpperCorner>
+		</ows:BoundingBox>
+
+		<Title xml:lang="en">GeoBliki EO1 Feature</Title>
+		<KeywordList>
+			<Keyword>world</Keyword>
+			<Keyword>atlas</Keyword>
+			<Keyword>georss</Keyword>
+		</KeywordList>
+
+		<Abstract>World Base Map.</Abstract>
+
+		<LogoURL width="140" height="65" format="image/gif">
+			<OnlineResource xlink:type="simple"
+				xlink:href="http://www.opengeospatial.org/img/ogc_header_top_left.gif" />
+		</LogoURL>
+
+		<DescriptionURL format="text/html">
+			<OnlineResource xlink:type="simple"
+				xlink:href="http://www.opengeospatial.org/press/?page=pressrelease&amp;view=20040525_ContextIE_PR" />
+		</DescriptionURL>
+
+		<ows:ServiceProvider>
+			<ows:ProviderName>Vightel Corporation</ows:ProviderName>
+			<ows:ProviderSite xlink:type="simple"
+				xlink:href="http://www.ec.gc.ca/" />
+			<ows:ServiceContact>
+				<ows:IndividualName>
+					Patrice G Cappelaere
+				</ows:IndividualName>
+				<ows:PositionName>Senior Architect</ows:PositionName>
+				<ows:ContactInfo>
+					<ows:Phone>
+						<ows:Voice>410-340-4868</ows:Voice>
+						<ows:Facsimile>443-283-0370</ows:Facsimile>
+					</ows:Phone>
+					<ows:Address>
+						<ows:DeliveryPoint>
+							8303 Winter Wind Ct
+						</ows:DeliveryPoint>
+						<ows:City>Ellicott City</ows:City>
+						<ows:AdministrativeArea>
+							Maryland
+						</ows:AdministrativeArea>
+						<ows:PostalCode>21043</ows:PostalCode>
+						<ows:Country>USA</ows:Country>
+						<ows:ElectronicMailAddress>
+							pat@cappelaere.com
+						</ows:ElectronicMailAddress>
+					</ows:Address>
+					<ows:OnlineResource xlink:type="simple"
+						xlink:href="http://www.vightel.com/" />
+					<ows:HoursOfService>
+						0700h - 1500h (EST), Monday - Friday
+					</ows:HoursOfService>
+					<ows:ContactInstructions>
+						Just call or email
+					</ows:ContactInstructions>
+				</ows:ContactInfo>
+				<ows:Role>Systems Scientist</ows:Role>
+			</ows:ServiceContact>
+		</ows:ServiceProvider>
+	</General>
+
+	<ResourceList>
+
+		<Layer queryable="1" hidden="0">
+			<Server service="OGC:WMS" version="1.0.0" title="OGC:WMS">
+				<OnlineResource xlink:type="simple"
+					xlink:href="http://www2.demis.nl/WMS/wms.asp?wms=WorldMap" />
+				
+			</Server>
+			<Name>Bathymetry,Countries,Topography,Hillshading,Builtup+areas,Coastlines,Waterbodies,Inundated,Rivers,Streams,Railroads,Highways,Roads,Trails,Borders,Cities,Settlements,Spot+elevations,Airports,Ocean+features</Name>
+			<Title>World Map</Title>
+			<SRS>EPSG:4326</SRS>
+			<FormatList>
+				<Format current="1">image/gif</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+				</Style>
+			</StyleList>
+		</Layer>
+
+	</ResourceList>
+</OWSContext>
Index: lib/spatial/mapbuilder/examples/simple/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/simple/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/simple/index.html	(revision 4307)
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+      
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Mapbuilder Simple Map Viewer</title>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+    <script>
+    // URL of Mapbuilder configuration file.
+    var mbConfigUrl='config.xml';
+    </script>
+    <!-- This points to the core mapbuilder library, replaces this with MapbuilderCompressed.js when you want to use the compressed version -->
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+  </head>
+  <!-- This onload event starts mapbuilder -->
+  <body onload="mbDoLoad()" >
+	<!--
+
+############################# cut here 1 #############################
+
+	-->
+	  <div id="all">
+		  <div id="header">  	<!-- The header of the page -->
+                    <h1><a href="http://communitymapbuilder.org">MapBuilder</a> <!--Version-->1.5-rc2<!--VersionEnd--> Simple Map Viewer</h1>
+                    <!-- The version tag will be inserted into the comment tags above
+                    during the build process. -->
+		  </div><!-- /header -->
+	  	<div id="middle"><!-- The center piece of the page with left menubar and right mainbody -->
+		   	    <div id="exampleList"></div><!-- this is the container where the menubar will be drawn -->
+				<div id="mainbody"><!-- right side of the middle div, is also divided into two areas -->
+				  <div class="left">
+				  	<h3>Explanation</h3>
+				    In it's most basic configuration, Mapbuilder can be used to simply put a map
+	    		  in a web page.<br/>
+			      The configuration for this page consists of a single 
+			      model (a Web Map Context document) and one widget (a MapPane).
+			      See the <a href="../basic/index.html">Interactive Map Viewer</a> to for an example of an interactive map, 
+			      as well as some of the more common ways to work with MapBuilder.
+			      <br />
+			      Have a look at <a href="http://communitymapbuilder.org/display/MAP/Modifying+the+Basic+Examples">this guide</a> if you want to modify this example.
+			    </div><!-- /left -->
+			  	<div class="right">
+			  	<!--
+	
+############################# end cut 1 #############################
+	
+					-->
+			  	  <div id="mainMapPane"><!-- This is the container where the map will be drawn -->
+			    		<noscript>
+					      this page requires Javascript to be enabled
+			    		</noscript>
+					  </div><!-- /mainMapPane -->
+					  <!--
+	
+############################# cut here 2 #############################
+	
+						-->
+					</div><!-- /right -->
+				</div><!-- /mainbody -->
+			</div><!-- /middle -->
+	  	<div id="footer"><!-- The footer of the page -->
+		  	<div class="right">
+					<a href="http://communitymapbuilder.org/" title="powered by community mapbuilder"><img src="../../lib/skin/default/images/Icon.gif"/></a>	  	
+					<a href="https://www.osgeo.org/" title="member of OSgeo"><img src="../../lib/skin/default/images/Osgeo.png"/></a>
+	      </div><!-- /right -->
+		  </div><!-- /footer -->
+	  </div><!-- all -->
+	  <!--
+
+############################# end cut 2 #############################
+
+-->
+	</body>
+</html>
+
+
Index: lib/spatial/mapbuilder/examples/i18n/LanguageUtils.js
===================================================================
--- lib/spatial/mapbuilder/examples/i18n/LanguageUtils.js	(nonexistent)
+++ lib/spatial/mapbuilder/examples/i18n/LanguageUtils.js	(revision 4307)
@@ -0,0 +1,69 @@
+/*
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: LanguageUtils.js 3874 2008-02-27 11:03:22Z gjvoosten $
+*/
+
+// Supported languages
+var supportedLanguages = new Object();
+{
+  supportedLanguages["en"] = "English";
+  supportedLanguages["nl"] = "Nederlands";
+  supportedLanguages["fr"] = "Fran\u00E7ais";
+  supportedLanguages["it"] = "Italiano";
+  supportedLanguages["de"] = "Deutsch";
+  supportedLanguages["es"] = "Espa\u00F1ol";
+  // Also add as an example an unsupported language to show the fallback
+  supportedLanguages["nonesuch"] = "unsupported language";
+}
+var language = "en"; // Default to English
+
+/**
+ * Set the language for a page by getting it from the page parameters
+ */
+function setLanguage()
+{
+  var parms = getParameters();
+  if (parms["language"] && supportedLanguages[parms["language"]]) {
+    language = parms["language"];
+  }
+}
+
+/**
+ * Write out the HTML with hrefs for changing the language of the page
+ * @param flagsDirUrl the (relative) url of the directory containing the flag images
+ */
+function writeOutLanguages(flagsDirUrl)
+{
+  for (var i in supportedLanguages) {
+    document.write("&nbsp;");
+    if (language != i) {
+      document.write('<a href="?language=' + i + '">');
+    }
+    document.write('<img src="' + flagsDirUrl + '/' + i +
+      '.png" title="' + supportedLanguages[i] + '"/>');
+    if (language != i) {
+      document.write('</a>');
+    }
+  }
+}
+
+/**
+ * Get the page parameters
+ * @return an object with the parameter names as fields and the parameter values
+ *         as the corresponding values
+ */
+function getParameters()
+{
+  var args = new Object();
+  var query = location.search.substring(1);
+  var pairs = query.split("&");
+  for (var i in pairs) {
+    var pos = pairs[i].indexOf('=');
+    if (pos == -1) continue;
+    var argname = pairs[i].substring(0, pos);
+    var value = pairs[i].substring(pos + 1);
+    args[argname] = unescape(value.replace(/\+/g, " "));
+  }
+  return args;
+}
Index: lib/spatial/mapbuilder/examples/i18n/flags/en.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/examples/i18n/flags/en.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/examples/i18n/flags/de.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/examples/i18n/flags/de.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/examples/openlayers/context2.xml
===================================================================
--- lib/spatial/mapbuilder/examples/openlayers/context2.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/openlayers/context2.xml	(revision 4307)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<OWSContext version="0.0.13" id="ows-context-tie" 
+  xmlns="http://www.opengis.net/context" 
+  xmlns:xlink="http://www.w3.org/1999/xlink" 
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+  xmlns:sld="http://www.opengis.net/sld"
+  xmlns:ogc="http://www.opengis.net/ogc" 
+  xmlns:ows="http://www.opengis.net/ows" 
+  xmlns:param="http;//www.opengis.net/param" 
+  xsi:schemaLocation="http://www.opengis.net/oc oc_0_0_13.xsd">
+    
+  <General>
+    <Window width="740" height="400"/>
+    
+    <ows:BoundingBox crs="EPSG:28992">
+      <ows:LowerCorner>0 400000</ows:LowerCorner>
+      <ows:UpperCorner>189440 502400</ows:UpperCorner>
+    </ows:BoundingBox>
+    
+    <Title xml:lang="en">Dutch statistical map</Title>
+    <KeywordList>
+      <Keyword>netherlands</Keyword>
+		</KeywordList>
+    
+    <Abstract>Dutch statistical map</Abstract>
+    
+    <LogoURL width="140" height="65" format="image/gif">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.opengeospatial.org/img/ogc_header_top_left.gif" />
+    </LogoURL>
+
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.opengeospatial.org/press/?page=pressrelease&amp;view=20040525_ContextIE_PR" />
+    </DescriptionURL>
+    
+  </General>  
+  <ResourceList>
+    <Layer queryable="1" hidden="0">
+     <Server service="wms" version="1.1.0" title="wms">
+       <OnlineResource xlink:type="simple" xlink:href="http://mapserver.geodan.nl/cgi-bin/mapserv.cgi?map=maps/geodan/base.map"/>
+     </Server>
+     <Name>gemeenten</Name>
+     <Title>Huishoudens per wijk</Title>
+     <SRS>EPSG:28992</SRS>
+     <FormatList>
+       <Format current="1">image/png</Format>
+     </FormatList>
+  </Layer> 
+  </ResourceList>
+</OWSContext>
Index: lib/spatial/mapbuilder/examples/examples.html
===================================================================
--- lib/spatial/mapbuilder/examples/examples.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/examples.html	(revision 4307)
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+      
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Mapbuilder Examples</title>
+    <link rel='StyleSheet' type='text/css' href='../lib/skin/default/demoStyles.css'/>
+  </head>
+  <!-- This onload event starts mapbuilder -->
+  <body>
+	  <div id="header">  	<!-- The header of the page -->
+			<h1><a href="http://communitymapbuilder.org">MapBuilder</a> Examples</h1>
+	  </div><!-- /header -->
+  	<div id="middle"><!-- The center piece of the page with left menubar and right mainbody -->
+	    <div id="menubar"><!-- left side of the middle div-->
+  			<h2>Documentation</h2>
+				<ul>
+					<li><a href="../examples/examples.html" title="Examples">Examples</a></li>
+					<li><a href="../docs/jsdoc/index.html" title="class description">Class Description</a></li>
+					<li><a href="../docs/register" title="component register">Component Register</a></li>
+				</ul>
+				<h2>Useful sites</h2>
+				<ul>
+					<li><a href="http://communitymapbuilder.org/" title="Wiki">Official site</a></li>
+					<li><a href="http://docs.codehaus.org/display/MAP/User+Guide" title="tutorial">User guide</a></li>
+					<li><a href="http://demo.communitymapbuilder.org/" title="Wiki">Official demo site</a></li>
+					<li><a href="http://nightly.communitymapbuilder.org/mapbuilder" title="Wiki">Nightly builds</a></li>
+				</ul>
+				<h2 onclick="javascript: history.go(-1)" style="color:black;cursor:pointer;">Back</h2>
+		  </div><!-- /menubar -->
+			<div id="mainbody"><!-- right side of the middle div, is also divided into two areas -->
+    <h3>Basic map viewers with different functionality</h3>
+			<dl>
+				<dt><a href="simple/index.html" title="simple map demo">Simple Map Viewer</a></dt>
+				<dd>A very simple example showing a non-interactive map on a webpage</dd>
+				
+				<dt><a href="interactive/index.html" title="interactive map demo">Interactive Map Viewer</a></dt>
+				<dd>A simple example showing a map an interactive map with pan and zoom buttons. This is a good example to use as a basis for your own application.</dd>
+
+				<dt><a href="mapViewer/index.html" title="enhanced map demo">Enhanced Map Viewer</a></dt>
+				<dd>A more complex example showing different widgets combined with an interactive map. This is a good example to use as a basis for more complex map viewers.</dd>
+			</dl>
+		<h3>Examples of the more complex functionality of Mapbuilder</h3>
+			<dl>
+				
+				<dt><a href="Demis/index.html" title="Demis map viewer">Different maps connected</a></dt>
+				<dd>An example showing the possibility of connecting different maps in a google maps style.</dd>
+				
+				<dt><a href="timeSeries/index.html" title="Time series viewer">Time series viewer</a></dt>
+				<dd>An example showing maps as time series, with the possibility to zoom, pan, go forward/backward in time and pause.</dd>
+				
+				<dt><a href="wfs-t/index.html" title="Feature entry">Feature entry</a></dt>
+				<dd>Shows editing and updating of GML features and uploading to a Transactional Web Feature Service (WFS-T). This demo accesses data from a Geoserver  installation installed in the same Java Servlet Webapps directory as Mapbuilder.</dd>
+
+        <dt><a href="OWSExplorer/index.html" title="OWS explorer">Open Web Services explorer</a></dt>
+        <dd>This demo will show all layers available from a particular WMS and WFS instance.</dd>
+			</dl>
+
+		<h3>Examples of the shiny new features of Mapbuilder 1.5</h3>
+			<dl>
+        <dt><a href="catalog/index.html"
+          title="Catalog Client"> Catalog Client</a></dt>
+        <dd>Search a Catalog Service (CS/W), then copy returned layers into a Context and Map.</dd>
+				<dt><a href="mergeModels/index.html" title="Complex Vector Rendering with GmlRendererOL and MergeModels">Complex Vector Rendering</a></dt>
+				<dd>This demo shows some advanced features of non-context based vector rendering.</dd>
+				
+				<dt><a href="flickr/index.html" title="GeoRSS feed example">Live flickr feed viewer</a></dt>
+				<dd>An example showing the photos of the communitymapbuilder flickr feed on a map. This example uses custom XSL transformations and popups.</dd>
+				
+				<dt><a href="shipTracks/index.html" title="GeoRSS Ship Tracks">GeoRSS Ship Tracks</a></dt>
+				<dd>A GeoRSS feed with lines and images rendered using SVG/VML.</dd>
+				
+        <dt><a href="GeoBliki/index.html">WFS query, Popup Feature information</a></dt>
+        <dd>An example showing how to use a form to submit to WFS and display Popup information about the returned features</dd>
+        <dt><a href="Google/index.html">Google Map Viewer</a></dt>
+        <dd>Accessing a Google Maps layer.</dd>
+        <dt><a href="projDemo/index.html">Projections</a></dt>
+        <dd>Reprojecting vector data on the fly.</dd>
+				
+
+				<dt><a href="openlayers/index.html" title="Webmap.js integration">OpenLayers integration</a></dt>
+				<dd>A simple demo of the integration of OpenLayers with Mapbuilder. It shows a tiled WMS map and WFS overlay layers.</dd>
+
+				<dt><a href="i18n/index.html" title="I18N map demo">I18N Map Viewer</a></dt>
+				<dd>This demo shows the Internationalization aspects of MapBuilder.</dd>
+		</dl>
+		<h2>Note</h2>
+    <ul>
+      <li>Browsers supported are Internet Explorer 6 or later, Firefox 1.5 or later, Netscape 6 or later.</li>
+      <li>Some functionality requires the server proxy and serialize 
+      scripts in the configuration file.  Implementations of these 
+      are available for PHP enabled servers and Java Servlet Container 
+      (like Tomcat).
+      </li>
+    </ul>
+			</div><!-- /mainbody -->
+		</div><!-- /middle -->
+  	<div id="footer"><!-- The footer of the page -->
+	  	<div class="right">
+				<a href="http://communitymapbuilder.org/" title="powered by community mapbuilder"><img src="../lib/skin/default/images/Icon.gif"/></a>	  	
+				<a href="https://www.osgeo.org/" title="member of OSgeo"><img src="../lib/skin/default/images/Osgeo.png"/></a>
+      </div><!-- /right -->
+	  </div><!-- /footer -->
+	</body>
+</html>
Index: lib/spatial/mapbuilder/examples/memory-leak/index2.html
===================================================================
--- lib/spatial/mapbuilder/examples/memory-leak/index2.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/memory-leak/index2.html	(revision 4307)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+      
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Mapbuilder memory leak test 2</title>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+    <style>
+      /* remove border from mainMapPane (work-around for Selenium tests under MSIE) */
+      #mainMapPane {
+        border: none;
+      }
+    </style>
+    <script>
+    // URL of Mapbuilder configuration file.
+    var mbConfigUrl='config.xml';
+    </script>
+    <!-- This points to the core mapbuilder library, replaces this with MapbuilderCompressed.js when you want to use the compressed version -->
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+    
+  </head>
+  <!-- This onload event starts mapbuilder -->
+  <body onload="mbDoLoad()" >
+  			<div class="header">
+  				<a href="index.html">other instance, same context</a><p>
+  				This is a IE only memory leak, keep switching between the 'other instances' and note the memory usage going up.
+  			</div>
+  			<div class="right">
+		  	  <div id="mainMapPane"><!-- This is the container where the map will be drawn -->
+    		    <noscript>
+        	    this page requires Javascript to be enabled
+        		</noscript>
+				  </div><!-- /mainMapPane -->
+          <div>
+            <div style="float: left; width: 30%;" id="mainButtonBar"><!-- This is the container where the buttons will be drawn --></div>
+            <div style="float: right; width: 30%" id="cursorTrack"><!-- This is where the cursor tracker will be drawn --></div>
+            <div id="scaleText"><!-- This is where the scale text will be drawn --></div>
+          </div>
+				</div><!-- /right -->
+	</body>
+</html>
Index: lib/spatial/mapbuilder/examples/GeoBliki/datapopup.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/GeoBliki/datapopup.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/GeoBliki/datapopup.xsl	(revision 4307)
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" xmlns:wfs="http://www.opengis.net/wfs" xmlns:eo1="http://eo1.gsfc.nasa.gov/" version="1.0">
+
+  <!--
+    Description: Convert a GeoBliki WFS response into a OL popup text.
+    Author:      Andreas Hocevar
+    $Id: datapopup.xsl 3907 2008-03-06 10:27:06Z steven $
+  -->
+
+  <xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
+
+  <!-- Common params for all widgets -->
+  <xsl:param name="modelId" />
+  <xsl:param name="widgetId" />
+
+  <!-- params for this widget -->
+  <xsl:param name="fid" />
+
+  <!-- Main html - It matches only non-empty results -->
+  <xsl:template match="/">
+    <div class="PopupContainer">
+      <div class="PopupHeader">Info</div>
+      <div class="PopupContent">
+        <xsl:apply-templates />
+      </div>
+    </div>
+  </xsl:template>
+
+  <!-- featureInfo -->
+  <xsl:template match="wfs:FeatureCollection/gml:featureMember/eo1:ali|wfs:FeatureCollection/gml:featureMember/eo1:hyperion">
+    <xsl:if test="@fid=$fid">
+      <table cellspacing="0" border="0">
+        <tr>
+          <td>
+            <xsl:element name="img">
+              <xsl:attribute name="height">200</xsl:attribute>
+              <xsl:attribute name="src">
+                <xsl:value-of select="eo1:lowres_href" />
+              </xsl:attribute>
+            </xsl:element>
+          </td>
+          <td>
+            <b>Id:</b>
+            <xsl:value-of select="eo1:id" />
+            <br />
+            <b>Name:</b>
+            <xsl:value-of select="eo1:name" />
+            <br />
+            <b>Scene:</b>
+            <xsl:value-of select="eo1:scene" />
+            <br />
+            <b>Rights:</b>
+            <xsl:value-of select="eo1:rights" />
+            <br />
+            <b>Goal Id:</b>
+            <xsl:value-of select="eo1:goal_id" />
+            <br />
+            <b>Lat:</b>
+            <xsl:value-of select="eo1:latitude" />
+            <br />
+            <b>Lon:</b>
+            <xsl:value-of select="eo1:longitude" />
+            <br />
+            <b>Link:</b>
+            <xsl:element name="a">
+              <xsl:attribute name="href">
+                <xsl:value-of select="eo1:article_href" />
+              </xsl:attribute>
+              here
+            </xsl:element>
+            <br />
+          </td>
+        </tr>
+      </table>
+    </xsl:if>
+  </xsl:template>
+
+  <!-- Remove documentation, text, comments -->
+  <xsl:template match="comment()|text()|processing-instruction()"></xsl:template>
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/GeoBliki/geobliki2wfs.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/GeoBliki/geobliki2wfs.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/GeoBliki/geobliki2wfs.xsl	(revision 4307)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gml="http://www.opengis.net/gml" xmlns:eo1="http://eo1.gsfc.nasa.gov/" xmlns:wfs="http://www.opengis.net/wfs"> 
+<!--
+Description: A stylesheet to convert strange geobliki wfs to standards-compliant wfs.
+Author:      Andreas Hocevar andreas.hocevarATgmail.com
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: geobliki2wfs.xsl 2957 2007-07-09 12:21:10Z steven $
+-->
+  <xsl:template match="gml:featureMember">
+    <wfs:FeatureCollection>
+      <xsl:for-each select="eo1:ali">
+        <xsl:call-template name="featureMember"/>
+      </xsl:for-each>
+      <xsl:for-each select="eo1:hyperion">
+        <xsl:call-template name="featureMember"/>
+      </xsl:for-each>
+    </wfs:FeatureCollection>
+  </xsl:template>
+
+  <xsl:template name="featureMember">
+    <gml:featureMember>
+      <xsl:copy-of select="current()"/>
+    </gml:featureMember>
+  </xsl:template>
+</xsl:stylesheet>
+
Index: lib/spatial/mapbuilder/examples/OWSExplorer/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/OWSExplorer/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/OWSExplorer/index.html	(revision 4307)
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+      
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Mapbuilder OWS Explorer</title>
+       <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+       <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/button.css'>
+       
+       <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/mapStyle.css'/>
+    <script>
+      // URL of Mapbuilder configuration file.
+      var mbConfigUrl='config.xml';
+      
+      function mbOnload() {
+        config.objects.mainMap.addListener("loadModel",initWorkspace,null);
+        window.onresize = initWorkspace;
+      }
+      
+      function initWorkspace() {
+        var pageBody = document.getElementsByTagName("body")[0];
+        var workDiv = document.getElementById("workspace");
+        var footerDiv = document.getElementById("footer");
+        if (_SARISSA_IS_IE) {
+          workDiv.style.height = pageBody.offsetHeight - workDiv.offsetTop - footerDiv.offsetHeight - 30;  //20 is a fudge factor
+        } else {
+          workDiv.style.height = window.innerHeight - workDiv.offsetTop - footerDiv.offsetHeight - 20;  //20 is a fudge factor
+        }
+      }
+    </script>
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+  </head>
+  <body onload="mbDoLoad(mbOnload)" >
+  <div id="header">
+    <h1><a href="http://communitymapbuilder.org">MapBuilder</a> <!--Version-->1.5-rc2<!--VersionEnd--> Open Web Services Explorer</h1>
+    <!-- The version tag will be inserted into the comment tags above
+    during the build process. -->
+<!--This is for more complex pages <a href="" class="help">how to use this page</a></div>-->
+  </div>
+  <div id="middle">
+  	    <div id="exampleList"></div><!-- this is the container where the menubar will be drawn -->
+	<div id="mainbody">
+	  <div class="left">
+	  
+           <div id="locatorMap" style="position:relative">
+          </div>
+          <div id="mapList"></div>
+          <hr/>
+          <a href="javascript:config.objects.wmsCapTemplate.setParam('refresh', 'layerList')">
+          WMS Layers</a><br/>
+          <a href="javascript:config.objects.wfsCapTemplate.setParam('refresh', 'featureTypes')">
+          WFS Feature Types</a><br/>
+          <a href="javascript:config.objects.mainMap.setParam('refresh', 'contextLegend')">
+          Map layer control</a><br/>
+          <a href="javascript:config.objects.wmsCapTemplate.setParam('refresh', 'wmsUrlInput')">
+          Set WMS URL</a><br/>
+          <a href="javascript:config.objects.wfsCapTemplate.setParam('refresh', 'wfsUrlInput')">
+          Set WFS URL</a><br/>
+          <h3>Explanation</h3>
+            <p>This demo will show all layers available from a particular WMS and WFS instance (the default is a 
+          localhost GeoServer install) and allows adding layers and feature types to a base map.
+          To change the service instance, enter a GetCapabilities URL in the "Set WMS URL" or "Set WFS URL" input box.
+          </p>
+    </div>
+  	<div class="right">
+  	   <table>
+                  <tr>
+                    <td colspan="2">
+                      <div id="mainMapPane"/>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td align="left">
+                      <div id="mainButtonBar" style="width:144px"/>
+                    </td>
+                    <td align="right" id="cursorTrack" />
+                  </tr>
+                </table>
+                 <div id="workspace"></div>
+		</div>
+	</div>
+	</div>
+  <div id="footer">
+	  
+    <div class="right">
+<a href="http://communitymapbuilder.org/" title="powered by community mapbuilder"><img src="../../lib/skin/default/images/Icon.gif"/></a>	  	
+<a href="https://www.osgeo.org/" title="member of OSgeo"><img src="../../lib/skin/default/images/Osgeo.png"/></a>
+         </div>
+  </div>  
+  </body>
+</html>
Index: lib/spatial/mapbuilder/examples/contextEditor/contextEditor.css
===================================================================
--- lib/spatial/mapbuilder/examples/contextEditor/contextEditor.css	(nonexistent)
+++ lib/spatial/mapbuilder/examples/contextEditor/contextEditor.css	(revision 4307)
@@ -0,0 +1,61 @@
+IMG { border-style: none; }
+
+#cursorTrack, #cursorTrack INPUT
+{
+  border: 0px blue none;
+  font: 8pt Verdana, geneva, arial, sans-serif;
+  color: #000000;
+  background-color: transparent;
+}
+
+#mapScaleText, #mapScaleText INPUT
+{
+  font: 8pt Verdana, geneva, arial, sans-serif;
+  color: #000000;
+}
+
+#timestamp, #timestamp INPUT
+{
+  font: 8pt Verdana, geneva, arial, sans-serif;
+  color: #000000;
+  background-color: transparent;
+  border: 0px blue none;
+}
+
+#mainMapContainer {
+  border: 1px solid olive;
+  cursor: crosshair;
+}
+
+/* elements for the layerCOntrol widget */
+.layerControl TD {
+  padding: 2px;
+  font: 70% Verdana, geneva, arial, sans-serif;
+}
+
+.altRow_1 {
+  background-color: #D1E2EC;
+}
+
+.altRow_0 {
+  background-color: #FFFFFF;
+}
+
+.dataSource {
+  font-size: 80%; 
+  font-weight: bold; 
+  float: right;
+}
+
+H4 {
+  margin-bottom: 0;
+}
+
+
+/*
+#legend {
+	font-size: 70%; 
+  font-family: cursive;
+  background-color: silver;
+}
+*/
\ No newline at end of file
Index: lib/spatial/mapbuilder/examples/contextEditor/OWSCatResultList.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/contextEditor/OWSCatResultList.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/contextEditor/OWSCatResultList.xsl	(revision 4307)
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+Description: presents the list of FeatureTypes from a WFS capabilities doc.
+            Links provided to filter and load the selected FeatureType.
+Author:      adair
+Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
+
+$Id: OWSCatResultList.xsl 3907 2008-03-06 10:27:06Z steven $
+$Name:  $
+-->
+
+<xsl:stylesheet version="1.0" 
+    xmlns:wfs="http://www.opengis.net/wfs"
+    xmlns:owscat="http://www.ec.gc.ca/owscat"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+		xmlns:ogc="http://www.opengis.net/ogc"
+		xmlns:gml="http://www.opengis.net/gml"
+    xmlns:xlink="http://www.w3.org/1999/xlink">
+
+  <xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/>
+
+  <!-- The coordinates of the DHTML Layer on the HTML page -->
+  <xsl:param name="modelId"/>
+  <xsl:param name="widgetId"/>
+  <xsl:param name="skinDir"/>
+
+  <xsl:param name="tooltip">click to add the layer to the map</xsl:param>
+  
+  <!-- template rule matching source root element -->
+  <xsl:template match="/wfs:FeatureCollection">
+    <table>
+      <tr>
+        <th>
+          Search results:
+        </th>
+      </tr>
+      <xsl:apply-templates select="gml:featureMember/owscat:service_resources"/>
+    </table>
+  </xsl:template>
+
+  <!-- template rule matching source root element -->
+  <xsl:template match="owscat:service_resources">
+    <xsl:variable name="rowClass">altRow_<xsl:value-of select="position() mod 2"/></xsl:variable>
+    <xsl:variable name="abstract" select="owscat:abstract"/>
+    <xsl:variable name="name" select="owscat:name"/>
+    <tr class="{$rowClass}">
+      <td>
+        <h4>
+        <a href="javascript:config.objects.addLayer.addLayerFromCat('{$name}')" class="mbButton">
+          <img src="{$skinDir}/images/LayerAddDisable.png" title="{$tooltip}" border="0"/>
+        </a>
+        <xsl:value-of select="owscat:title"/></h4>
+        <xsl:value-of select="concat(substring($abstract, 0, 200),'...')"/>
+        <span class="dataSource">provided by: <xsl:value-of select="owscat:organization"/></span>
+      </td>
+    </tr>
+  </xsl:template>
+  
+  <!-- template rule matching Service Exception in the response -->
+  <xsl:template match="/ogc:ServiceExceptionReport">
+    <table>
+      <tr>
+        <th align="left">
+          Error executing your request:
+        </th>
+      </tr>
+      <tr>
+        <td>
+          <xsl:value-of select="ogc:ServiceException"/>
+        </td>
+      </tr>
+    </table>
+  </xsl:template>
+
+  <xsl:template match="text()|@*"/>
+
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/contextEditor/OWSCatSearchForm.js
===================================================================
--- lib/spatial/mapbuilder/examples/contextEditor/OWSCatSearchForm.js	(nonexistent)
+++ lib/spatial/mapbuilder/examples/contextEditor/OWSCatSearchForm.js	(revision 4307)
@@ -0,0 +1,182 @@
+/*
+Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: OWSCatSearchForm.js 2097 2006-04-26 17:33:19Z madair $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Widget to display a form for input of parameters to generate a web service 
+ * request.  This JS object handles the form submit via HTTP Get by appending 
+ * a query string to the form's action URL.  The query string is created from
+ * all input elements and their values.
+ * The target model is then loaded from the URL created.
+ * A stylehseet must be specified as a property in config for this widget.  
+ * See widget/NtsForm.xsl for an example. 
+ *
+ * @constructor
+ * @base WidgetBase
+ * @param widgetNode This widget's object node from the configuration document.
+ * @param model The model that this widget is a view of.
+ */
+
+function OWSCatSearchForm(widgetNode, model) {
+  WidgetBaseXSL.apply(this, new Array(widgetNode, model));
+
+  //get bbox inforamtion from a map model
+  var mapModel = widgetNode.selectSingleNode("mb:mapModel");
+  if ( mapModel ) {
+    this.mapModel = mapModel.firstChild.nodeValue;
+  } else {
+    this.mapModel = model.id;
+  }
+
+
+  /**
+   * Refreshes the form onblur handlers when this widget is painted.
+   * @param objRef Pointer to this CurorTrack object.
+   */
+  this.postPaint = function(objRef) {
+    config.objects[objRef.mapModel].addListener('aoi', this.displayAoiCoords, this);
+
+    objRef.searchForm = document.getElementById(objRef.formName);
+    objRef.searchForm.parentWidget = objRef;
+
+    objRef.searchForm.westCoord.onblur = objRef.setAoi;
+    objRef.searchForm.northCoord.onblur = objRef.setAoi;
+    objRef.searchForm.eastCoord.onblur = objRef.setAoi;
+    objRef.searchForm.southCoord.onblur = objRef.setAoi;
+    objRef.searchForm.westCoord.model = objRef.model;
+    objRef.searchForm.northCoord.model = objRef.model;
+    objRef.searchForm.eastCoord.model = objRef.model;
+    objRef.searchForm.southCoord.model = objRef.model;
+
+    objRef.searchForm.onkeypress = objRef.handleKeyPress;
+    objRef.searchForm.onsubmit = objRef.submitForm;
+    //objRef.searchForm.mapsheet.onblur = objRef.setMapsheet;
+  }
+
+  /**
+   * Output the AOI coordinates to the associated form input elements.  This
+   * method is registered as an AOI listener on the context doc.
+   * @param objRef Pointer to this searchForm object.
+   */
+  this.displayAoiCoords = function(objRef) {
+    //objRef.searchForm = document.getElementById(objRef.formName);
+    var aoi = config.objects[objRef.mapModel].getParam("aoi");
+    objRef.searchForm.westCoord.value = aoi[0][0];
+    objRef.searchForm.northCoord.value = aoi[0][1];
+    objRef.searchForm.eastCoord.value = aoi[1][0];
+    objRef.searchForm.southCoord.value = aoi[1][1];
+  }
+
+  /**
+   * Handles user input from the form element.  This is an onblur handler for 
+   * the input elements.
+   */
+  this.setAoi = function() {
+    var aoi = config.objects[objRef.mapModel].getParam("aoi");
+    if (aoi) {
+      var ul = aoi[0];
+      var lr = aoi[1];
+      switch(this.name) {
+        case 'westCoord':
+          ul[0] = this.value;
+          break;
+        case 'northCoord':
+          ul[1] = this.value;
+          break;
+        case 'eastCoord':
+          lr[0] = this.value;
+          break;
+        case 'southCoord':
+          lr[1] = this.value;
+          break;
+      }
+      config.objects[objRef.mapModel].setParam("aoi",new Array(ul,lr) );
+    }
+  }
+
+/**
+ * Change the AOI coordinates from select box choice of prefined locations
+ * @param bbox the bbox value of the location keyword chosen
+ */
+  this.setLocation = function(bbox) {
+    var bboxArray = new Array();
+    bboxArray     = bbox.split(",");
+    var ul = new Array(parseFloat(bboxArray[0]),parseFloat(bboxArray[2]));
+    var lr = new Array(parseFloat(bboxArray[1]),parseFloat(bboxArray[3]));
+    config.objects[this.mapModel].setParam("aoi",new Array(ul,lr));
+
+    //convert this.model XY to latlong
+    //convert latlong to targetmodel XY
+    //extent.setAoi takes XY as input
+    //this.targetModel.setParam("aoi", new Array(ul,lr));
+    //this.targetModel.setParam("mouseup",this);
+  }
+
+
+  /**
+   * Handles submission of the form (via javascript in an <a> tag)
+   */
+  this.submitForm = function() {
+    var thisWidget = this.parentWidget;
+    thisWidget.createFilter(thisWidget);
+    thisWidget.targetModel.setParam("wfs_GetFeature","service_resources");
+    return false;
+  }
+
+  /**
+   * creates the filter expression
+   */
+  this.createFilter = function(objRef) {
+    objRef.searchForm = document.getElementById(objRef.formName);
+
+    var aoi = config.objects[objRef.mapModel].getParam("aoi");
+    var bboxStr = "";
+    if (aoi) {
+      bboxStr = aoi[0][0]+","+aoi[1][1]+" "+aoi[1][0]+","+aoi[0][1];
+    } else {
+      var bbox = config.objects[objRef.mapModel].getBoundingBox();
+      bboxStr = bbox[0]+","+bbox[1]+" "+bbox[2]+","+bbox[3];
+    }
+    objRef.model.setXpathValue(objRef.model,"/Filter/And/BBOX/Box/coordinates",bboxStr,false);
+    var keywords = "*"+objRef.searchForm.keywords.value+"*";
+    objRef.model.setXpathValue(objRef.model,"/Filter/And/Or/Or/PropertyIsLike[PropertyName='title']/Literal",keywords,false);
+    objRef.model.setXpathValue(objRef.model,"/Filter/And/Or/Or/PropertyIsLike[PropertyName='abstract']/Literal",keywords,false);
+    objRef.model.setXpathValue(objRef.model,"/Filter/And/Or/PropertyIsLike[PropertyName='keywords']/Literal",keywords,false);
+
+    objRef.model.setXpathValue(objRef.model,"/Filter/And/PropertyIsEqualTo[PropertyName='service_type']/Literal",objRef.searchForm.serviceType.value,false);
+  }
+
+
+  /**
+   * handles keypress events to filter out everything except "enter".  
+   * Pressing the "enter" key will trigger a form submit
+   * @param event  the event object passed in for Mozilla; IE uses window.event
+   */
+  this.handleKeyPress = function(event) {
+    var keycode;
+    var target;
+    if (event){
+      //Mozilla
+      keycode=event.which;
+      target=event.currentTarget;
+    }else{
+      //IE
+      keycode=window.event.keyCode;
+      target=window.event.srcElement.form;
+    }
+
+    if (keycode == 13) {    //enter key
+      return true;
+    }
+  }
+
+  //set some properties for the form output
+  this.formName = "WebServiceForm_" + mbIds.getId();
+  this.stylesheet.setParameter("formName", this.formName);
+}
Index: lib/spatial/mapbuilder/examples/contextEditor/contextEditor_1.xml
===================================================================
--- lib/spatial/mapbuilder/examples/contextEditor/contextEditor_1.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/contextEditor/contextEditor_1.xml	(revision 4307)
@@ -0,0 +1,286 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="WFSDemoConfig" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+  <!--
+    Description: This configuration file determines what components from the
+                 Mapbuilder library are to be included in a Main Mapbuilder web
+                 page.
+    Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html 
+
+    $Id: contextEditor_1.xml 3691 2007-12-06 11:19:58Z ahocevar $
+  -->
+  <models>
+    <Context id="mainMap">
+      <defaultModelUrl>../data/context/DM_Canada.xml</defaultModelUrl>
+      <widgets>
+        <!--GetMapRequest id="mainMapWidget">
+          <htmlTagId>mainMapPane</htmlTagId>
+          <targetModel>mainMap</targetModel>
+          <mapContainerId>mainMapContainer</mapContainerId>
+          <tools>
+            <AoiMouseHandler/>
+            <AoiBox>
+              <lineColor>#FF0000</lineColor>
+              <lineWidth>2</lineWidth>
+              <crossSize>1</crossSize>
+            </AoiBox>
+            <DragPanHandler>
+              <enabled>false</enabled>
+            </DragPanHandler>
+          </tools>
+        </GetMapRequest-->
+        <MapPane id="mainMapWidget">
+          <htmlTagId>mainMapPane</htmlTagId>
+          <mapContainerId>mainMapContainer</mapContainerId>
+        </MapPane>
+        <Loading id="loading">
+        </Loading>
+        <CursorTrack id="cursorTrack">
+          <mouseHandler>mainMap</mouseHandler>
+        </CursorTrack>
+        <MapTitle id="mapTitle"/>
+        <Legend id="legend">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <autoRefresh>false</autoRefresh>
+        </Legend>
+        <AoiBoxWZ id="aoiBox2">
+          <htmlTagId>mainMapPane</htmlTagId>
+          <stylesheet>../../lib/widget/GmlRenderer.xsl</stylesheet>
+          <mapContainerId>mainMapContainer</mapContainerId>
+          <lineColor>#FF0000</lineColor>
+          <lineWidth>1</lineWidth>
+          <crossSize>15</crossSize>
+        </AoiBoxWZ>
+      </widgets>
+      <tools>
+        <AoiMouseHandler id="mainAoi"/>
+        <DragPanHandler id="mainDragPan">
+          <enabled>false</enabled>
+        </DragPanHandler>
+        <MouseClickHandler id="mainMouseClick"/>
+      </tools>
+    </Context>
+    <Context id="locator">
+      <defaultModelUrl>../data/context/locatorMap.xml</defaultModelUrl>
+      <widgets>
+        <MapPane id="locatorWidget">
+          <htmlTagId>locatorMap</htmlTagId>
+          <targetModel>mainMap</targetModel>
+          <mapContainerId>locatorContainer</mapContainerId>
+          <fixedWidth>180</fixedWidth>
+        </MapPane>
+        <AoiBoxWZ id="aoiBox2">
+          <htmlTagId>locatorMap</htmlTagId>
+          <stylesheet>../../lib/widget/GmlRenderer.xsl</stylesheet>
+          <mapContainerId>locatorContainer</mapContainerId>
+          <lineColor>#FF0000</lineColor>
+          <lineWidth>1</lineWidth>
+          <crossSize>15</crossSize>
+        </AoiBoxWZ>
+      </widgets>
+      <tools>
+        <AoiMouseHandler id="locatorAoi"/>
+        <ZoomToAoi id="locatorZoomToAoi">
+          <targetModel>mainMap</targetModel>
+        </ZoomToAoi>
+      </tools>
+    </Context>
+    <Model id="myMapCollection">
+      <!--defaultModelUrl>../data/context/demoCollection.xml</defaultModelUrl-->
+      <widgets>
+        <CollectionList id="collectionList">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <targetModel>mainMap</targetModel>
+        </CollectionList>
+      </widgets>
+    </Model>
+    <!-- use this with a WFS capabilities model -->
+    <WfsCapabilities id="wfsCapTemplate">
+      <defaultModelUrl>http://localhost:8080/geoserver/wfs?version=1.0.0&amp;service=WFS&amp;request=GetCapabilities</defaultModelUrl>
+      <models>
+        <Model id="featureTypeTemplate">
+          <widgets>
+            <FilterAttributes id="attributeFilter">
+              <htmlTagId>workspace</htmlTagId>
+              <outputNodeId>workspaceCanvas</outputNodeId>
+            </FilterAttributes>
+          </widgets>
+        </Model>
+        <FeatureCollection id="getFeatureTemplate">
+          <method>get</method>
+          <featureXpath>/gml:featureMember/points/_SHAPE_/gml:MultiPoint/gml:pointMember/gml:Point/gml:coordinates</featureXpath>
+          <widgets>
+            <GmlRendererWZ id="testGmlRenderer">
+              <htmlTagId>mainMapPane</htmlTagId>
+              <targetModel>mainMap</targetModel>
+              <mapContainerId>mainMapContainer</mapContainerId>
+              <lineColor>#FF00FF</lineColor>
+              <lineWidth>1</lineWidth>
+              <pointDiameter>10</pointDiameter>
+            </GmlRendererWZ>
+          </widgets>
+        </FeatureCollection>
+        <Transaction id="transactionTemplate" template="true">
+          <method>post</method>
+          <widgets>
+            <TransactionResponse id="transResponse"/>
+          </widgets>
+        </Transaction>
+      </models>
+      <widgets>
+        <SelectFeatureType id="featureTypes">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <toolId>wfsController</toolId>
+        </SelectFeatureType>
+      </widgets>
+      <tools>
+        <WebServiceRequest id="wfsGetFeature">
+          <targetModel>getFeatureTemplate</targetModel>
+          <requestName>wfs:GetFeature</requestName>
+          <maxFeatures>20</maxFeatures>
+        </WebServiceRequest>
+        <WebServiceRequest id="wfsDescribeFeature">
+          <targetModel>featureTypeTemplate</targetModel>
+          <requestName>wfs:DescribeFeatureType</requestName>
+        </WebServiceRequest>
+        <WebServiceRequest id="wfsTransaction">
+          <targetModel>transactionTemplate</targetModel>
+          <requestName>wfs:Transaction</requestName>
+        </WebServiceRequest>
+      </tools>
+      <nodeSelectXpath>/wfs:WFS_Capabilities/wfs:FeatureTypeList/wfs:FeatureType[wfs:Name='topp:tasmania_cities']</nodeSelectXpath>
+    </WfsCapabilities>
+    <WmsCapabilities id="wmsCapTemplate">
+      <!--defaultModelUrl>http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?version=1.1.1&amp;service=WMS&amp;request=GetCapabilities</defaultModelUrl-->
+      <title>OGC Web Map Server (WMS)</title>
+      <models>
+        <!--GetFeatureInfo id="featureTypeTemplate" template="true">
+          <widgets>
+            <FilterAttributes id="attributeFilter">
+              <outputNodeId>filterForm</outputNodeId>
+            </FilterAttributes>
+          </widgets>
+        </GetFeatureInfo-->
+        <GetMap id="getMapTemplate" template="true">
+          <widgets>
+            <MapImage id="renderMap">
+              <htmlTagId>mainMapPane</htmlTagId>
+              <targetModel>mainMap</targetModel>
+              <mapContainerId>mainMapContainer</mapContainerId>
+            </MapImage>
+          </widgets>
+        </GetMap>
+      </models>
+      <widgets>
+        <SelectMapLayers id="layerList">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+        </SelectMapLayers>
+        <CopyNode id="copyNodeToContext">
+          <targetModel>mainMap</targetModel>
+        </CopyNode>
+      </widgets>
+      <tools>
+        <WebServiceRequest id="wmsController">
+          <targetModel>getMapTemplate</targetModel>
+          <requestName>GetMap</requestName>
+        </WebServiceRequest>
+        <!--WebServiceRequest id="wmsController">
+          <targetModel>getFeatureInfoTemplate</targetModel>
+          <requestName>wms:GetFeatureInfo</requestName>
+        </WebServiceRequest-->
+      </tools>
+      <nodeSelectXpath>//Layer</nodeSelectXpath>
+    </WmsCapabilities>
+    <Model id="wmsServers">
+      <title>Web Map Servers</title>
+      <widgets>
+        <WebServiceForm id="wmsServerList">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <stylesheet>../../lib/widget/ServiceRegistryList.xsl</stylesheet>
+          <targetModel2>wmsCapTemplate</targetModel2>
+        </WebServiceForm>
+      </widgets>
+    </Model>
+    <Model id="wfsServers">
+      <title>Web Feature Servers</title>
+      <widgets>
+        <WebServiceForm id="wfsServerList">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <stylesheet>../../lib/widget/ServiceRegistryList.xsl</stylesheet>
+          <targetModel2>wfsCapTemplate</targetModel2>
+        </WebServiceForm>
+      </widgets>
+    </Model>
+  </models>
+  <widgets>
+    <ModelUrlInput id="urlInput">
+      <htmlTagId>workspace</htmlTagId>
+      <outputNodeId>workspaceCanvas</outputNodeId>
+      <targetModel>wmsCapTemplate</targetModel>
+    </ModelUrlInput>
+    <ZoomIn id="zoomIn">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <mouseHandler>mainAoi</mouseHandler>
+      <class>RadioButton</class>
+      <selected>true</selected>
+      <enabledSrc>/images/ZoomInEnable.gif</enabledSrc>
+      <disabledSrc>/images/ZoomInDisable.gif</disabledSrc>
+    </ZoomIn>
+    <ZoomOut id="zoomOut">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <mouseHandler>mainAoi</mouseHandler>
+      <class>RadioButton</class>
+      <enabledSrc>/images/ZoomOutEnable.gif</enabledSrc>
+      <disabledSrc>/images/ZoomOutDisable.gif</disabledSrc>
+    </ZoomOut>
+    <DragPan id="dragPan">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <mouseHandler>mainDragPan</mouseHandler>
+      <class>RadioButton</class>
+      <enabledSrc>/images/PanEnable.gif</enabledSrc>
+      <disabledSrc>/images/PanDisable.gif</disabledSrc>
+    </DragPan>
+    <SetAoi id="setAoi">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <mouseHandler>mainAoi</mouseHandler>
+      <class>RadioButton</class>
+      <enabledSrc>/images/SetAoiEnable.gif</enabledSrc>
+      <disabledSrc>/images/SetAoiDisable.gif</disabledSrc>
+    </SetAoi>
+    <Reset id="reset">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/ResetExtentDisable.gif</disabledSrc>
+    </Reset>
+    <Save id="save">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/SaveDisable.gif</disabledSrc>
+      <popupWindowName>modelXML</popupWindowName>
+    </Save>
+    <EditPoint id="editPoint">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>getFeatureTemplate</targetModel>
+      <mouseHandler>mainMouseClick</mouseHandler>
+      <class>RadioButton</class>
+      <enabledSrc>/images/EditPointEnable.gif</enabledSrc>
+      <disabledSrc>/images/EditPointDisable.gif</disabledSrc>
+    </EditPoint>
+  </widgets>
+  <!--
+    All static images should be relative to this URL.
+    This dir is relative the dir of the main html file.
+  -->
+  <skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/contextEditor/OWSCatResourceFilter.xml
===================================================================
--- lib/spatial/mapbuilder/examples/contextEditor/OWSCatResourceFilter.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/contextEditor/OWSCatResourceFilter.xml	(revision 4307)
@@ -0,0 +1,30 @@
+<Filter>
+	<And>
+		<BBOX>
+			<PropertyName>NAME</PropertyName>
+			<Box>
+				<coordinates/>
+			</Box>
+		</BBOX>
+		<PropertyIsEqualTo>
+			<PropertyName>service_type</PropertyName>
+  		<Literal/>
+		</PropertyIsEqualTo>
+		<Or>
+			<Or>
+				<PropertyIsLike wildCard="*" singleChar="." escape="!">
+					<PropertyName>title</PropertyName>
+					<Literal/>
+				</PropertyIsLike>
+				<PropertyIsLike wildCard="*" singleChar="." escape="!">
+					<PropertyName>abstract</PropertyName>
+					<Literal/>
+				</PropertyIsLike>
+			</Or>
+			<PropertyIsLike wildCard="*" singleChar="." escape="!">
+  			<PropertyName>keywords</PropertyName>
+				<Literal/>
+			</PropertyIsLike>
+		</Or>
+	</And>
+</Filter>
Index: lib/spatial/mapbuilder/examples/mapViewer/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/mapViewer/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/mapViewer/index.html	(revision 4307)
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+      
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Mapbuilder Enhanced Map Viewer</title>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/mapStyle.css'/>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/scalebar-fat.css'/><!-- This style sheet is needed for the scalebar -->
+    <script>
+    // URL of Mapbuilder configuration file.
+    var mbConfigUrl='config.xml';
+    </script>
+    <!-- This points to the core mapbuilder library, replaces this with MapbuilderCompressed.js when you want to use the compressed version -->
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+  </head>
+  <!-- This onload event starts mapbuilder -->
+  <body onload="mbDoLoad()" >
+  <!--
+
+############################# cut here 1 #############################
+
+	-->
+	  <div id="header">  	<!-- The header of the page -->
+            <h1><a href="http://communitymapbuilder.org">MapBuilder</a> <!--Version-->1.5-rc2<!--VersionEnd--> Enhanced Map Viewer</h1>
+            <!-- The version tag will be inserted into the comment tags above
+            during the build process. -->
+			<a href="#help" class="help">Explanation</a>
+	  </div><!-- /header -->
+  	<div id="middle"><!-- The center piece of the page with left menubar and right mainbody -->
+	    	    <div id="exampleList"></div><!-- this is the container where the menubar will be drawn -->
+			<!-- 
+			
+############################# end cut 1 #############################
+
+			-->
+			<div id="mainbody"><!-- right side of the middle div, is also divided into two areas -->
+
+	  		<div class="left">  
+
+	  			<div id="locatorMap"></div><!-- This is the container where the small locator map will be drawn -->
+				  <div id="legend"></div><!-- This is the container where the legend will be drawn -->
+				  <!-- 
+				  
+############################# cut here 2 #############################
+
+					-->
+				  <p>
+					  <a name="help"></a><h3>Explanation</h3>
+						This is an enhanced mapviewer. It has some extra functions when compared with the basic map viewer.<br/>
+						It adds an <i>extent history</i>, so you can go back to previous viewed extents.<br/>
+						It uses the new <i>GetFeatureInfoWSR</i> widget, which uses the WebServiceRequest tool to talk to a WMS server,
+            issuing a GetFeatureInfo request. With that you can get more information of an area on the map. <b>Note</b> that the result 
+						is shown outside the visible area, scroll down to see it. The FeatureInfo widget is used to render the result.<br/>
+						A <i>graticule</i> widget which toggles a grid on top of the map.<br/>
+						A <i>legend</i> widget which shows the map layers it displays the legend graphic on the other side of the 
+						map in the <i>legendGraphic</i> container. This is a modification on the stock legend widget.<br/>
+						An <i>overview map</i> which shows the current extent on a world map.<br/>
+						A <i>scalebar</i> which style is defined by the scalebar stylesheet loaded with the page.<br/>
+						An <i>abstract</i> this is only a XSL document which filters the abstract out of a WMC.<br/>
+						A <i>maptitle</i> which is also only a XSL document.<p>
+						The customisation of the legend is done by using a different XSL document and point the widget to that
+						XSL in de config file (using the &lt;stylesheet&gt;&lt; parameter).<br/>
+						Customisation of widgets is also possible using a different javascript file
+            specified in the config file (with the &lt;scriptfile&gt; parameter). This is used in the <a href="../flickr/index.html">flickr</a> example, for the custom <i>FlickrRest2Wfs</i> widget.
+									      <br />
+			      Have a look at <a href="http://communitymapbuilder.org/display/MAP/Modifying+the+Basic+Examples">this guide</a> if you want to modify this example.
+			  	</p>
+			  	
+			  	  <!-- 
+			  	  
+############################# end cut 2 #############################
+
+						-->
+		    </div><!-- /left -->
+		  	<div class="right">
+ 	 				<h2 id="mapTitle"><!-- This is the container where the maptitle will be drawn, note that it is not a DIV but a H2 element, which works as well --></h2>
+		  	  <table cellspacing="0">
+			      <tr>
+							<td align="center" valign="top">  <!-- right side of page -->
+			          <table>
+       				    <tr>
+			              <td id="mainMapPane" valign="top" align="left"><!-- This is the container where the map will be drawn, this time it is a TD element -->
+       				      <td id="legendGraphic" valign="top" align="right"><!-- This is the container where the seperate legend graphic will be drawn -->
+			            </tr>
+       				    <tr>
+              			<td valign="top">
+ 				              <table style=" margin:0; padding:0">
+         				        <tr>
+                 				  <td id="mainButtonBar" style="width: 192px" align="left"/><!-- This is the container where the buttons will be drawn -->
+			                    <td id="cursorTrack" align="right"/><!-- This is the container where the coordinates below the mouse will be written -->
+       				          </tr>
+               				  <tr>
+			                    <td/>
+       				            <td id="scalebar"/><!-- This is the container where the scalebar will be drawn -->
+               				  </tr>
+			                </table>
+       				      </td>
+			            </tr>
+			            <tr>
+       				      <td id="workspace" valign="top" colspan="2"/><!-- This is the container where the abstract will be drawn, note that in the config a htmlTagId property is set, which points to this element, also getFeatureInfo will plot its results here -->
+			            </tr>
+       				  </table>
+			        </td>
+			      </tr>
+			    </table>
+ 	 			</div><!-- /right -->
+
+			</div><!-- /mainbody -->
+			<!--
+			
+################### cut here 3 ############################
+			 
+			 -->
+		</div><!-- /middle -->
+	  <div id="footer">
+      <div class="right">
+				<a href="http://communitymapbuilder.org/" title="powered by community mapbuilder"><img src="../../lib/skin/default/images/Icon.gif"/></a>	  	
+				<a href="https://www.osgeo.org/" title="member of OSgeo"><img src="../../lib/skin/default/images/Osgeo.png"/></a>
+      </div><!-- /right -->
+ 		</div><!-- /footer -->
+ 		  <!-- 
+ 		  
+############################# end cut 3 #############################
+ 		  
+ 		  -->
+  </body>
+</html>
Index: lib/spatial/mapbuilder/examples/wfs-t/template_waterbodies.xml
===================================================================
--- lib/spatial/mapbuilder/examples/wfs-t/template_waterbodies.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/wfs-t/template_waterbodies.xml	(revision 4307)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!-- $Id: template_waterbodies.xml 3923 2008-03-17 23:39:28Z camerons $ -->
+<gml:FeatureCollection xmlns:topp="http://www.openplans.org/topp" xmlns:gml="http://www.opengis.net/gml">
+  <gml:featureMember>
+    <topp:tasmania_water_bodies>
+      <topp:the_geom>
+        <gml:MultiPolygon srsName="epsg:4326">
+          <gml:polygonMember>
+            <gml:Polygon>
+              <gml:outerBoundaryIs>
+                <gml:LinearRing>
+                  <gml:coordinates decimal="." cs="," ts=" "></gml:coordinates>
+                </gml:LinearRing>
+              </gml:outerBoundaryIs>
+            </gml:Polygon>
+          </gml:polygonMember>
+        </gml:MultiPolygon>
+      </topp:the_geom>
+      <topp:AREA>0</topp:AREA>
+      <topp:PERIMETER>0</topp:PERIMETER>
+      <topp:WATER_TYPE>Lake</topp:WATER_TYPE>
+      <topp:CNTRY_NAME>Australia</topp:CNTRY_NAME>
+      <topp:CONTINENT>Australia</topp:CONTINENT>
+    </topp:tasmania_water_bodies>
+  </gml:featureMember>
+</gml:FeatureCollection>
Index: lib/spatial/mapbuilder/examples/wfs-t/template_cities.xml
===================================================================
--- lib/spatial/mapbuilder/examples/wfs-t/template_cities.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/wfs-t/template_cities.xml	(revision 4307)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!-- $Id: template_cities.xml 3263 2007-09-17 15:58:09Z ahocevar $ -->
+<gml:FeatureCollection xmlns:topp="http://www.openplans.org/topp" xmlns:gml="http://www.opengis.net/gml">
+  <gml:featureMember>
+    <topp:tasmania_cities>
+      <topp:the_geom>
+        <gml:MultiPoint srsName="epsg:4326">
+          <gml:pointMember>
+            <gml:Point>
+              <gml:coordinates decimal="." cs="," ts=" "></gml:coordinates>
+            </gml:Point>
+          </gml:pointMember>
+        </gml:MultiPoint>
+      </topp:the_geom>
+      <topp:CITY_NAME></topp:CITY_NAME>
+      <topp:ADMIN_NAME>Tasmania</topp:ADMIN_NAME>
+      <topp:CNTRY_NAME>Australia</topp:CNTRY_NAME>
+      <topp:STATUS>Provincial capital</topp:STATUS>
+      <topp:POP_CLASS></topp:POP_CLASS>
+    </topp:tasmania_cities>
+  </gml:featureMember>
+</gml:FeatureCollection>
Index: lib/spatial/mapbuilder/examples/contextEditor/CatSearchForm_ebRim.js
===================================================================
--- lib/spatial/mapbuilder/examples/contextEditor/CatSearchForm_ebRim.js	(nonexistent)
+++ lib/spatial/mapbuilder/examples/contextEditor/CatSearchForm_ebRim.js	(revision 4307)
@@ -0,0 +1,182 @@
+/*
+Author:       Mike Adair mike.adairATccrs.nrcan.gc.ca
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: CatSearchForm_ebRim.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Widget to display a form for input of parameters to generate a web service 
+ * request.  This JS object handles the form submit via HTTP Get by appending 
+ * a query string to the form's action URL.  The query string is created from
+ * all input elements and their values.
+ * The target model is then loaded from the URL created.
+ * A stylehseet must be specified as a property in config for this widget.  
+ * See widget/NtsForm.xsl for an example. 
+ *
+ * @constructor
+ * @base WidgetBase
+ * @param widgetNode This widget's object node from the configuration document.
+ * @param model The model that this widget is a view of.
+ */
+
+function OWSCatSearchForm(widgetNode, model) {
+  WidgetBaseXSL.apply(this, new Array(widgetNode, model));
+
+  //get bbox inforamtion from a map model
+  var mapModel = widgetNode.selectSingleNode("mb:mapModel");
+  if ( mapModel ) {
+    this.mapModel = mapModel.firstChild.nodeValue;
+  } else {
+    this.mapModel = model.id;
+  }
+
+
+  /**
+   * Refreshes the form onblur handlers when this widget is painted.
+   * @param objRef Pointer to this CurorTrack object.
+   */
+  this.postPaint = function(objRef) {
+    config.objects[objRef.mapModel].addListener('aoi', this.displayAoiCoords, this);
+
+    objRef.searchForm = document.getElementById(objRef.formName);
+    objRef.searchForm.parentWidget = objRef;
+
+    objRef.searchForm.westCoord.onblur = objRef.setAoi;
+    objRef.searchForm.northCoord.onblur = objRef.setAoi;
+    objRef.searchForm.eastCoord.onblur = objRef.setAoi;
+    objRef.searchForm.southCoord.onblur = objRef.setAoi;
+    objRef.searchForm.westCoord.model = objRef.model;
+    objRef.searchForm.northCoord.model = objRef.model;
+    objRef.searchForm.eastCoord.model = objRef.model;
+    objRef.searchForm.southCoord.model = objRef.model;
+
+    objRef.searchForm.onkeypress = objRef.handleKeyPress;
+    objRef.searchForm.onsubmit = objRef.submitForm;
+    //objRef.searchForm.mapsheet.onblur = objRef.setMapsheet;
+  }
+
+  /**
+   * Output the AOI coordinates to the associated form input elements.  This
+   * method is registered as an AOI listener on the context doc.
+   * @param objRef Pointer to this searchForm object.
+   */
+  this.displayAoiCoords = function(objRef) {
+    //objRef.searchForm = document.getElementById(objRef.formName);
+    var aoi = config.objects[objRef.mapModel].getParam("aoi");
+    objRef.searchForm.westCoord.value = aoi[0][0];
+    objRef.searchForm.northCoord.value = aoi[0][1];
+    objRef.searchForm.eastCoord.value = aoi[1][0];
+    objRef.searchForm.southCoord.value = aoi[1][1];
+  }
+
+  /**
+   * Handles user input from the form element.  This is an onblur handler for 
+   * the input elements.
+   */
+  this.setAoi = function() {
+    var aoi = config.objects[objRef.mapModel].getParam("aoi");
+    if (aoi) {
+      var ul = aoi[0];
+      var lr = aoi[1];
+      switch(this.name) {
+        case 'westCoord':
+          ul[0] = this.value;
+          break;
+        case 'northCoord':
+          ul[1] = this.value;
+          break;
+        case 'eastCoord':
+          lr[0] = this.value;
+          break;
+        case 'southCoord':
+          lr[1] = this.value;
+          break;
+      }
+      config.objects[objRef.mapModel].setParam("aoi",new Array(ul,lr) );
+    }
+  }
+
+/**
+ * Change the AOI coordinates from select box choice of prefined locations
+ * @param bbox the bbox value of the location keyword chosen
+ */
+  this.setLocation = function(bbox) {
+    var bboxArray = new Array();
+    bboxArray     = bbox.split(",");
+    var ul = new Array(parseFloat(bboxArray[0]),parseFloat(bboxArray[2]));
+    var lr = new Array(parseFloat(bboxArray[1]),parseFloat(bboxArray[3]));
+    config.objects[this.mapModel].setParam("aoi",new Array(ul,lr));
+
+    //convert this.model XY to latlong
+    //convert latlong to targetmodel XY
+    //extent.setAoi takes XY as input
+    //this.targetModel.setParam("aoi", new Array(ul,lr));
+    //this.targetModel.setParam("mouseup",this);
+  }
+
+
+  /**
+   * Handles submission of the form (via javascript in an <a> tag)
+   */
+  this.submitForm = function() {
+    var thisWidget = this.parentWidget;
+    thisWidget.createFilter(thisWidget);
+    thisWidget.targetModel.setParam("csw_GetRecords","GetRecords");
+    return false;
+  }
+
+  /**
+   * creates the filter expression
+   */
+  this.createFilter = function(objRef) {
+    objRef.searchForm = document.getElementById(objRef.formName);
+
+    var aoi = config.objects[objRef.mapModel].getParam("aoi");
+    var bboxStr = "";
+    if (aoi) {
+      bboxStr = aoi[0][0]+","+aoi[1][1]+" "+aoi[1][0]+","+aoi[0][1];
+    } else {
+      var bbox = config.objects[objRef.mapModel].getBoundingBox();
+      bboxStr = bbox[0]+","+bbox[1]+" "+bbox[2]+","+bbox[3];
+    }
+    objRef.model.setXpathValue(objRef.model,"/Filter/And/BBOX/Box/coordinates",bboxStr,false);
+    var keywords = "*"+objRef.searchForm.keywords.value+"*";
+    objRef.model.setXpathValue(objRef.model,"/Filter/And/Or/Or/PropertyIsLike[PropertyName='title']/Literal",keywords,false);
+    objRef.model.setXpathValue(objRef.model,"/Filter/And/Or/Or/PropertyIsLike[PropertyName='abstract']/Literal",keywords,false);
+    objRef.model.setXpathValue(objRef.model,"/Filter/And/Or/PropertyIsLike[PropertyName='keywords']/Literal",keywords,false);
+
+    objRef.model.setXpathValue(objRef.model,"/Filter/And/PropertyIsEqualTo[PropertyName='service_type']/Literal",objRef.searchForm.serviceType.value,false);
+  }
+
+
+  /**
+   * handles keypress events to filter out everything except "enter".  
+   * Pressing the "enter" key will trigger a form submit
+   * @param event  the event object passed in for Mozilla; IE uses window.event
+   */
+  this.handleKeyPress = function(event) {
+    var keycode;
+    var target;
+    if (event){
+      //Mozilla
+      keycode=event.which;
+      target=event.currentTarget;
+    }else{
+      //IE
+      keycode=window.event.keyCode;
+      target=window.event.srcElement.form;
+    }
+
+    if (keycode == 13) {    //enter key
+      return true;
+    }
+  }
+
+  //set some properties for the form output
+  this.formName = "WebServiceForm_" + mbIds.getId();
+  this.stylesheet.setParameter("formName", this.formName);
+}
Index: lib/spatial/mapbuilder/examples/Demis/USAMap.xml
===================================================================
--- lib/spatial/mapbuilder/examples/Demis/USAMap.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/Demis/USAMap.xml	(revision 4307)
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+
+<ViewContext version="1.0.0" id="atlas_world" xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+
+	<General>
+
+		<Window width="600" height="300"/>
+
+    <BoundingBox SRS="EPSG:4326" minx="-180" miny="-90" maxx="180" maxy="90"/>
+
+		<Title xml:lang="en">World Base Map</Title>
+
+		<KeywordList>
+
+			<Keyword>world</Keyword>
+
+			<Keyword>atlas</Keyword>
+
+		</KeywordList>
+
+		<Abstract xml:lang="en">World Base Map.</Abstract>
+
+	</General>
+
+	<LayerList>
+
+		<Layer queryable="1" hidden="0">
+
+			<Server service="OGC:WMS" version="1.1.0" title="OGC:WMS">
+
+      <OnlineResource xlink:type="simple" xlink:href="http://www2.demis.nl/wms/wms.asp?WMS=USATiger"/> 
+
+			</Server>
+
+		  <Name>Land,Topography,Urban+area,Hillshading,Park+or+Forest,Waterbodies,Rivers,Streams,State+line,Roads,Main+Roads,Highways,Cities,State+Capital</Name>  
+
+			<Title>WMS 1.1</Title>
+
+			<SRS>EPSG:4326</SRS>
+
+			<FormatList>
+
+				<Format current="1">image/gif</Format>
+
+			</FormatList>
+
+			<StyleList>
+
+				<Style current="1">
+
+					<Name>default</Name>
+
+					<Title>default</Title>
+
+				</Style>
+
+			</StyleList>
+
+		</Layer>
+
+	</LayerList>
+
+</ViewContext>
+
Index: lib/spatial/mapbuilder/examples/Demis/Dot.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/examples/Demis/Dot.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/examples/contextEditor/searchConfig.xml
===================================================================
--- lib/spatial/mapbuilder/examples/contextEditor/searchConfig.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/contextEditor/searchConfig.xml	(revision 4307)
@@ -0,0 +1,404 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
+<!--==========================================================================
+Filename      : HMI_Locations.xsl
+Project       : CEONet
+Module        : stylesheet
+Document Type : XML
+Purpose       : Locations and corresponding wens.
+
+(c) COPYRIGHT MacDonald Dettwiler, 2003 All Rights Reserved
+
+Author        Date          Issue       Changes
+C.Therriault  09-Mar-2002   207         Initial Release
+M.Robson      21-Feb-2003   844         Put 'order' attributes for the provinces
+M.Adair       30-May-2003   250         adjusted wens for Nfld; removed nfld query 
+                                        fragment from new Bruinswick entry
+M.Adair       19-Sep-2003   1018        adjusted wens for NWT to -102
+J.Barney      20-Jan-2004   1114        adjusted wens for NovaScotia to -59.5
+
+===========================================================================-->
+<searchConfig entryType="productCollection">
+   <locations>
+      <location id="world">
+         <title lang="en">World</title>
+         <title lang="fr">Monde</title>
+         <wens>-180 180 90 -90</wens>
+         <queryFragment>BBOX-INTERSECT( -180, 180, 90, -90 )</queryFragment>
+         <location id="africa">
+            <title lang="en">Africa</title>
+            <title lang="fr">Afrique</title>
+            <wens>-18 52 38 -35</wens>
+            <queryFragment>
+	      OR
+                (placekey:africa
+	         placekey:afrique
+                 title:africa
+                 title:afrique)
+            </queryFragment>
+         </location>
+         <location id="asia">
+            <title lang="en">Asia</title>
+            <title lang="fr">Asie</title>
+            <wens>23 179 82 -13</wens>
+            <queryFragment/>
+         </location>
+         <location id="australia">
+            <title lang="en">Australia</title>
+            <title lang="fr">Australie</title>
+            <wens>112 154 -10 -45</wens>
+            <queryFragment/>
+         </location>
+         <location id="europe">
+            <title lang="en">Europe</title>
+            <title lang="fr">Europe</title>
+            <wens>-11 32 72 35</wens>
+            <queryFragment/>
+         </location>
+         <location id="northAmerica">
+            <title lang="en">North America</title>
+            <title lang="fr">Am�rique du Nord</title>
+            <wens>-160 54 75 29</wens>
+            <queryFragment>
+              OR
+                ( placekey:northAmerica 
+                  title:PHRASE( north america )
+                  title:PHRASE( am*rique du nord )
+                )
+            </queryFragment>
+            <location id="canada">
+               <title lang="en">Canada</title>
+               <title lang="fr">Canada</title>
+               <wens>-141 -43 84 41.5</wens>
+               <queryFragment>
+                  OR
+                    ( placekey:northAmerica/canada 
+                      title:canada
+                    )
+               </queryFragment>
+               <location id="alberta">
+                  <title lang="en" order="1">Alberta</title>
+                  <title lang="fr" order="1">Alberta</title>
+                  <wens>-120 -110 60 49</wens>
+                  <queryFragment/>
+               </location>
+               <location id="britishColumbia">
+                  <title lang="en" order="2">British Columbia</title>
+                  <title lang="fr" order="2">Colombie-Britannique</title>
+                  <wens>-139 -114 60 48</wens>
+                  <queryFragment/>
+               </location>
+               <location id="manitoba">
+                  <title lang="en" order="3">Manitoba</title>
+                  <title lang="fr" order="4">Manitoba</title>
+                  <wens>-102 -89 60 49</wens>
+                  <queryFragment/>
+               </location>
+               <location id="newBrunswick">
+                  <title lang="en" order="4">New Brunswick</title>
+                  <title lang="fr" order="5">Nouveau-Brunswick</title>
+                  <wens>-69 -64 48 45</wens>
+                  <queryFragment/>
+               </location>
+               <location id="newfoundlandAndLabrador">
+                  <title lang="en" order="5">Newfoundland and Labrador</title>
+                  <title lang="fr" order="b">Terre-Neuve-et-Labrador</title>
+                  <wens>-67.7 -52 60.3 46.6</wens>
+                  <queryFragment>
+                    OR
+                      ( placekey:northAmerica/canada/newfoundland
+                        placekey:northAmerica/canada/labrador 
+                        title:newfoundland
+		        title:labrador
+		        title:PHRASE( newfoundland and labrador )
+                        title:PHRASE( terre-neuve et labrador )
+                      )
+                  </queryFragment>
+               </location>
+               <location id="northwestTerritories">
+                  <title lang="en" order="6">Northwest Territories</title>
+                  <title lang="fr" order="d">Territoires du Nord-Ouest</title>
+                  <wens>-136.5 -102 79 60</wens>
+                  <queryFragment/>
+               </location>
+               <location id="novaScotia">
+                  <title lang="en" order="7">Nova Scotia</title>
+                  <title lang="fr" order="6">Nouvelle-�cosse</title>
+                  <wens>-66.3 -59.5 47 43</wens>
+                  <queryFragment>
+                    OR
+                      ( placekey:northAmerica/canada/nova_scotia 
+                        title:nova_scotia
+		        title:PHRASE( nova scotia )
+                        title:PHRASE( nouvelle-*cosse )
+                      )
+                  </queryFragment>
+               </location>
+               <location id="nunavut">
+                  <title lang="en" order="8">Nunavut</title>
+                  <title lang="fr" order="7">Nunavut</title>
+                  <wens>-121 -61 84 52</wens>
+                  <queryFragment/>
+               </location>
+               <location id="ontario">
+                  <title lang="en" order="9">Ontario</title>
+                  <title lang="fr" order="8">Ontario</title>
+                  <wens>-95 -74 57 41.5</wens>
+                  <queryFragment>
+                    OR
+                      ( placekey:northAmerica/canada/ontario 
+                        title:ontario
+                      )
+                  </queryFragment>
+               </location>
+               <location id="princeEdwardIsland">
+                  <title lang="en" order="a">Prince Edward Island</title>
+                  <title lang="fr" order="3">�le-du-Prince-�douard</title>
+                  <wens>-64.5 -62 47 45.9</wens>
+                  <queryFragment/>
+               </location>
+               <location id="quebec">
+                  <title lang="en" order="b">Quebec</title>
+                  <title lang="fr" order="9">Qu�bec</title>
+                  <wens>-79.5 -57 63 45</wens>
+                  <queryFragment/>
+               </location>
+               <location id="saskatchewan">
+                  <title lang="en" order="c">Saskatchewan</title>
+                  <title lang="fr" order="a">Saskatchewan</title>
+                  <wens>-110 -101.5 60 49</wens>
+                  <queryFragment/>
+               </location>
+               <location id="yukonTerritory">
+                  <title lang="en" order="d">Yukon Territory</title>
+                  <title lang="fr" order="c">Territoire du Yukon</title>
+                  <wens>-141 -123.8 69.6 60</wens>
+                  <queryFragment/>
+               </location>
+            </location>
+            <location id="unitedStatesOfAmerica">
+               <title lang="en" >United States of America</title>
+               <title lang="fr" >�tats-Unis d'Am�rique</title>
+               <wens>-130 -64 50 24</wens>
+               <queryFragment/>
+            </location>
+            <location id="southAmerica">
+               <title lang="en" >South America</title>
+               <title lang="fr" >Am�rique du Sud</title>
+               <wens>-94 -34 25 -57</wens>
+               <queryFragment/>
+            </location>
+         </location>
+      </location>
+   </locations>
+   <subjects>
+      <subject id="allSubjects">
+         <title lang="en">All subjects</title>
+         <title lang="fr">Tous les sujets</title>
+         <queryFragment/>
+      </subject>
+      <subject id="atmosphereWeather">
+         <title lang="en">Atmosphere / Weather</title>
+         <title lang="fr">Atmosph�re et conditions m�t�orologiques</title>
+         <queryFragment/>
+         <subject id="currentWeather">
+            <title lang="en">Current weather and forecasts</title>
+            <title lang="fr">Conditions et pr�visions m�t�orologiques</title>
+            <queryFragment/>
+         </subject>
+         <subject id="generalClimat">
+            <title lang="en">General climate data</title>
+            <title lang="fr">Donn�es climatiques g�n�rales</title>
+            <queryFragment/>
+         </subject>
+         <subject id="weatherDisasters">
+            <title lang="en">Weather disasters</title>
+            <title lang="fr">D�sastres climatiques</title>
+            <queryFragment/>
+         </subject>
+         <subject id="winds">
+            <title lang="en">Winds</title>
+            <title lang="fr">Vents</title>
+            <queryFragment/>
+         </subject>
+      </subject>
+      <subject id="geology">
+         <title lang="en">Geology</title>
+         <title lang="fr">G�ologie</title>
+         <queryFragment/>
+         <subject id="earthquakes">
+            <title lang="en">Earthquakes</title>
+            <title lang="fr">S�ismes</title>
+            <queryFragment/>
+         </subject>
+      </subject>
+      <subject id="landSurface">
+         <title lang="en">Land Surface</title>
+         <title lang="fr">Surface de la Terre</title>
+         <queryFragment>
+        OR
+          ( themekey:landUse
+            themekey:PHRASE( land use )
+            themekey:forest*
+            themekey:agric*
+            themekey:vegetation
+            themekey:topography
+            themekey:soil
+            title:elevation
+            themekey:ice
+          )
+      </queryFragment>
+         <subject id="agriculture">
+            <title lang="en">Agriculture</title>
+            <title lang="fr">Agriculture</title>
+            <queryFragment/>
+         </subject>
+         <subject id="forestry">
+            <title lang="en">Forestry</title>
+            <title lang="fr">Foresterie</title>
+            <queryFragment/>
+         </subject>
+         <subject id="landUse">
+            <title lang="en">Land use</title>
+            <title lang="fr">Utilisation du sol</title>
+            <queryFragment/>
+         </subject>
+         <subject id="snow">
+            <title lang="en">Snow</title>
+            <title lang="fr">Neige</title>
+            <queryFragment/>
+         </subject>
+         <subject id="soil">
+            <title lang="en">Soil</title>
+            <title lang="fr">Sol</title>
+            <queryFragment/>
+         </subject>
+         <subject id="topography">
+            <title lang="en">Topography</title>
+            <title lang="fr">Topographie</title>
+            <queryFragment/>
+         </subject>
+         <subject id="vegetation">
+            <title lang="en">Vegetation</title>
+            <title lang="fr">V�g�tation</title>
+            <queryFragment/>
+         </subject>
+      </subject>
+      <subject id="socialHumanTopics">
+         <title lang="en">Social and human topics</title>
+         <title lang="fr">Aspects sociaux et humains</title>
+         <queryFragment/>
+         <subject id="educationalResources">
+            <title lang="en">Educational Resources</title>
+            <title lang="fr">Ressources �ducatives</title>
+            <queryFragment/>
+         </subject>
+         <subject id="humanEnvironmentalEffects">
+            <title lang="en">Human environmental effects</title>
+            <title lang="fr">Incidences anthropiques sur l'environnement</title>
+            <queryFragment/>
+         </subject>
+      </subject>
+      <subject id="water">
+         <title lang="en">Water</title>
+         <title lang="fr">Eau</title>
+         <queryFragment/>
+         <subject id="freshwater">
+            <title lang="en">Freshwater</title>
+            <title lang="fr">Eau douce</title>
+            <queryFragment/>
+         </subject>
+         <subject id="lakeIce">
+            <title lang="en">Lake ice</title>
+            <title lang="fr">Glaces de lacs</title>
+            <queryFragment/>
+         </subject>
+         <subject id="oceans">
+            <title lang="en">Oceans</title>
+            <title lang="fr">Oc�ans</title>
+            <queryFragment/>
+         </subject>
+         <subject id="seaIce">
+            <title lang="en">Sea ice</title>
+            <title lang="fr">Glaces de mer</title>
+            <queryFragment/>
+         </subject>
+      </subject>
+   </subjects>
+   <productTypes>
+      <productType id="allProductTypes">
+         <title lang="en">All product types</title>
+         <title lang="fr">Tous les types de produits</title>
+         <queryFragment/>
+      </productType>
+      <productType id="airborneProducts">
+         <title lang="en">Airborne products</title>
+         <title lang="fr">Produits a�riens</title>
+         <queryFragment/>
+         <productType id="airborneImagery">
+            <title lang="en">Airborne imagery</title>
+            <title lang="fr">Imagerie a�rienne</title>
+            <queryFragment/>
+         </productType>
+         <productType id="airPhotos">
+            <title lang="en">Air photos</title>
+            <title lang="fr">Photos a�riennes</title>
+            <queryFragment/>
+         </productType>
+      </productType>
+      <productType id="mapsCharts">
+         <title lang="en">Maps and Charts</title>
+         <title lang="fr">Cartes terrestres et marines</title>
+         <queryFragment/>
+         <productType id="aeronautical">
+            <title lang="en">Aeronautical</title>
+            <title lang="fr">A�ronautique</title>
+            <queryFragment/>
+         </productType>
+         <productType id="digitalElevationModel">
+            <title lang="en">Digital elevation model</title>
+            <title lang="fr">Mod�le altim�trique num�rique</title>
+            <queryFragment/>
+         </productType>
+         <productType id="geopolitical">
+            <title lang="en">Geopolitical</title>
+            <title lang="fr">G�opolitique</title>
+            <queryFragment/>
+         </productType>
+         <productType id="nautical">
+            <title lang="en">Nautical</title>
+            <title lang="fr">Nautique</title>
+            <queryFragment/>
+         </productType>
+         <productType id="thematic">
+            <title lang="en">Thematical</title>
+            <title lang="fr">Th�matique</title>
+            <queryFragment/>
+         </productType>
+         <productType id="topographic">
+            <title lang="en">Topographic</title>
+            <title lang="fr">Topographique</title>
+            <queryFragment/>
+         </productType>
+      </productType>
+      <productType id="satelliteProducts">
+         <title lang="en">Satellite products</title>
+         <title lang="fr">Produits satellitaires</title>
+         <queryFragment/>
+         <productType id="satelliteImagery">
+            <title lang="en">Satellite imagery</title>
+            <title lang="fr">Images-satellites</title>
+            <queryFragment/>
+         </productType>
+      </productType>
+      <productType id="onsiteMeasurements">
+         <title lang="en">On-site measurements</title>
+         <title lang="fr">Mesures sur place</title>
+         <queryFragment/>
+      </productType>
+      <productType id="studies">
+         <title lang="en">Studies</title>
+         <title lang="fr">�tudes</title>
+         <queryFragment/>
+      </productType>
+   </productTypes>
+</searchConfig>
Index: lib/spatial/mapbuilder/examples/mapViewer/bejingWind.xml
===================================================================
--- lib/spatial/mapbuilder/examples/mapViewer/bejingWind.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/mapViewer/bejingWind.xml	(revision 4307)
@@ -0,0 +1,312 @@
+<ViewContext version="1.1.0" id="bejingWindDemo" xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.1.0/context.xsd">
+	<General>
+		<Window width="400" height="378"/>
+		<BoundingBox SRS="EPSG:4326" minx="106.440" miny="15.638" maxx="113.640" maxy="22.4420"/>
+		<Title>Wind Energy Atlas for Hainan&lt;br/&gt;Environment Canada </Title>
+		<KeywordList>
+			<Keyword>Canadian wind energy atlas</Keyword>
+			<Keyword>canada wind maps</Keyword>
+			<Keyword>wind roses and wind speed histograms.wind</Keyword>
+			<Keyword>maps</Keyword>
+			<Keyword>map</Keyword>
+			<Keyword>Canada</Keyword>
+			<Keyword>Canada map</Keyword>
+			<Keyword>power</Keyword>
+			<Keyword>energy</Keyword>
+			<Keyword>Environment Canada</Keyword>
+			<Keyword>RPN</Keyword>
+			<Keyword>WEST</Keyword>
+			<Keyword>inVisu</Keyword>
+			<Keyword>wind power</Keyword>
+			<Keyword>turbine</Keyword>
+			<Keyword>formula</Keyword>
+			<Keyword>wind rose</Keyword>
+			<Keyword>wind speed</Keyword>
+			<Keyword>wind energy</Keyword>
+			<Keyword>scattergram</Keyword>
+			<Keyword>roughness length</Keyword>
+			<Keyword>topography</Keyword>
+			<Keyword>land/water mask</Keyword>
+		</KeywordList>
+		<Abstract>A wind mapping software by Environment Canada (EC), &lt;a href='http://www.anemoscope.ca/'&gt;AnemoScope&lt;/a&gt;, 
+    was applied to Hainan Dao (China) in support to the upcoming Open Geospatial Consortium (OGC) Web Services 
+    Demonstration for the Global Earth Observing System of Systems (GEOSS) Service Network Workshop in Beijing. 
+    The current web site was designed by Environment Canada in collaboration with Natural Resources Canada. 
+    The images shown are mean wind speed, wind energy potential, surface properties, etc. 
+    It is in the Departmental plan to make the existing &lt;a href='http://www.windatlas.ca/'&gt;Canadian Wind Energy Atlas&lt;/a&gt; web site 
+    Web Map Service (WMS) compliant.  
+    Environment Canada has developed a wind mapping software, Wind Energy Simulation Toolkit (WEST). 
+    WEST was used to create the &lt;a href='http://www.windatlas.ca/'&gt;Canadian Wind Energy Atlas&lt;/a&gt;, and will be 
+    used for the Chinese Wind Energy Atlas in collaboration with Chinese Meteorological Administration. 
+    WEST has also been ported to Windows operating system with user-friendly interface under the name of AnemoScope. 
+    AnemoScope was specially designed for use by wind energy industries not having sophisticated computer facilities.  
+    </Abstract>
+		<LogoURL width="85" height="47" format="image/gif">
+			<OnlineResource xlink:type="simple" xlink:href="http://www.windatlas.ca/theme/icon1.gif"/>
+		</LogoURL>
+		<DescriptionURL format="text/html">
+			<OnlineResource xlink:type="simple" xlink:href="http://www.windatlas.ca/methodologyHainan.doc"/>
+		</DescriptionURL>
+		<ContactInformation>
+			<ContactPersonPrimary>
+				<ContactPerson>Wei Yu</ContactPerson>
+				<ContactOrganization>Environment Canada</ContactOrganization>
+			</ContactPersonPrimary>
+			<ContactPosition>Numeric Modelling Specialist</ContactPosition>
+			<ContactAddress>
+				<AddressType>postal</AddressType>
+				<Address>2121 Trans Canada Highway</Address>
+				<City>Dorval</City>
+				<StateOrProvince>Quebec</StateOrProvince>
+				<PostCode>H9P-1J3</PostCode>
+				<Country>Canada</Country>
+			</ContactAddress>
+			<ContactVoiceTelephone>+01-514-421-4773</ContactVoiceTelephone>
+			<ContactFacsimileTelephone>+01-514-421-2106</ContactFacsimileTelephone>
+			<ContactElectronicMailAddress>wei.yu@ec.gc.ca</ContactElectronicMailAddress>
+		</ContactInformation>
+	</General>
+	<LayerList>
+		<Layer queryable="1" hidden="0" opaque="1">
+			<Server service="OGC:WMS" version="1.1.1" title="Environment Canada Wind Energy Atlas">
+				<OnlineResource xlink:type="simple" xlink:href="http://devgeo.cciw.ca/cgi-bin/mapserv/windatlas?STYLES=&amp;" />
+        <!-- addes STYLES parameter to OnlineResource beause of buggy WMS (resolves #MAP-448) -->
+			</Server>
+			<Name>roughnesslength</Name>
+			<Title>Roughness Length</Title>
+			<Abstract>Roughness Length</Abstract>
+			<FormatList>
+				<Format current="1">image/png</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+					<LegendURL format="image/gif">
+						<OnlineResource xlink:type="simple" xlink:href="http://devgeo.cciw.ca/cgi-bin/mapserv/windatlas?SERVICE=WMS&amp;VERSION=1.1.1&amp;REQUEST=GetLegendGraphic&amp;LAYER=roughnesslength&amp;FORMAT=image%2Fgif"/>
+					</LegendURL>
+				</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="1" hidden="1" opaque="1">
+			<Server service="OGC:WMS" version="1.1.1" title="Environment Canada Wind Energy Atlas">
+				<OnlineResource xlink:type="simple" xlink:href="http://devgeo.cciw.ca/cgi-bin/mapserv/windatlas?STYLES=&amp;" />
+			</Server>
+			<Name>meanwindenergy</Name>
+			<Title>Mean Wind Energy at 50 m AGL</Title>
+			<Abstract>Mean Wind Energy at 50 m AGL</Abstract>
+			<FormatList>
+				<Format current="1">image/png</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+					<LegendURL format="image/gif">
+						<OnlineResource xlink:type="simple" xlink:href="http://devgeo.cciw.ca/cgi-bin/mapserv/windatlas?SERVICE=WMS&amp;VERSION=1.1.1&amp;REQUEST=GetLegendGraphic&amp;LAYER=meanwindenergy&amp;FORMAT=image%2Fgif"/>
+					</LegendURL>
+				</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="1" hidden="1" opaque="1">
+			<Server service="OGC:WMS" version="1.1.1" title="Environment Canada Wind Energy Atlas">
+				<OnlineResource xlink:type="simple" xlink:href="http://devgeo.cciw.ca/cgi-bin/mapserv/windatlas?STYLES=&amp;" />
+			</Server>
+			<Name>meanwindspeed</Name>
+			<Title>Mean Wind Speed at 50 m AGL</Title>
+			<Abstract>Mean Wind Speed at 50 m AGL</Abstract>
+			<FormatList>
+				<Format current="1">image/png</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+					<LegendURL format="image/gif">
+						<OnlineResource xlink:type="simple" xlink:href="http://devgeo.cciw.ca/cgi-bin/mapserv/windatlas?SERVICE=WMS&amp;VERSION=1.1.1&amp;REQUEST=GetLegendGraphic&amp;LAYER=meanwindenergy&amp;FORMAT=image%2Fgif"/>
+					</LegendURL>
+				</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="1" hidden="1" opaque="1">
+			<Server service="OGC:WMS" version="1.1.1" title="Environment Canada Wind Energy Atlas">
+				<OnlineResource xlink:type="simple" xlink:href="http://devgeo.cciw.ca/cgi-bin/mapserv/windatlas?STYLES=&amp;" />
+			</Server>
+			<Name>orography_01</Name>
+			<Title>Orography</Title>
+			<Abstract>Orography</Abstract>
+			<FormatList>
+				<Format current="1">image/png</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+					<LegendURL format="image/gif">
+						<OnlineResource xlink:type="simple" xlink:href="http://devgeo.cciw.ca/cgi-bin/mapserv/windatlas?SERVICE=WMS&amp;VERSION=1.1.1&amp;REQUEST=GetLegendGraphic&amp;LAYER=meanwindenergy&amp;FORMAT=image%2Fgif"/>
+					</LegendURL>
+				</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="1" hidden="1" opaque="1">
+			<Server service="OGC:WMS" version="1.1.1" title="Environment Canada Wind Energy Atlas">
+				<OnlineResource xlink:type="simple" xlink:href="http://devgeo.cciw.ca/cgi-bin/mapserv/windatlas?STYLES=&amp;" />
+        <!-- addes STYLES parameter to OnlineResource beause of buggy WMS (resolves #MAP-448) -->
+			</Server>
+			<Name>meanwindenergyfine</Name>
+			<Title>Mean Wind Energy at 50 m AGL (fine)</Title>
+			<Abstract>Mean Wind Energy at 50 m AGL (fine)</Abstract>
+			<FormatList>
+				<Format current="1">image/png</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+					<LegendURL format="image/gif">
+						<OnlineResource xlink:type="simple" xlink:href="http://devgeo.cciw.ca/cgi-bin/mapserv/windatlas?SERVICE=WMS&amp;VERSION=1.1.1&amp;REQUEST=GetLegendGraphic&amp;LAYER=meanwindenergy&amp;FORMAT=image%2Fgif"/>
+					</LegendURL>
+				</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="1" hidden="1" opaque="1">
+			<Server service="OGC:WMS" version="1.1.1" title="Environment Canada Wind Energy Atlas">
+				<OnlineResource xlink:type="simple" xlink:href="http://devgeo.cciw.ca/cgi-bin/mapserv/windatlas?STYLES=&amp;" />
+        <!-- addes STYLES parameter to OnlineResource beause of buggy WMS (resolves #MAP-448) -->
+			</Server>
+			<Name>meanwindspeedfine</Name>
+			<Title>Mean Wind Speed at 50 m AGL (fine)</Title>
+			<Abstract>Mean Wind Speed at 50 m AGL (fine)</Abstract>
+			<FormatList>
+				<Format current="1">image/png</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+					<LegendURL format="image/gif">
+						<OnlineResource xlink:type="simple" xlink:href="http://devgeo.cciw.ca/cgi-bin/mapserv/windatlas?SERVICE=WMS&amp;VERSION=1.1.1&amp;REQUEST=GetLegendGraphic&amp;LAYER=meanwindenergy&amp;FORMAT=image%2Fgif"/>
+					</LegendURL>
+				</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="1" hidden="1" opaque="1">
+			<Server service="OGC:WMS" version="1.1.1" title="Environment Canada Wind Energy Atlas">
+				<OnlineResource xlink:type="simple" xlink:href="http://devgeo.cciw.ca/cgi-bin/mapserv/windatlas?STYLES=&amp;" />
+        <!-- addes STYLES parameter to OnlineResource beause of buggy WMS (resolves #MAP-448) -->
+			</Server>
+			<Name>orography_02</Name>
+			<Title>Orography (fine)</Title>
+			<Abstract>Orography (fine)</Abstract>
+			<FormatList>
+				<Format current="1">image/png</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+					<LegendURL format="image/gif">
+						<OnlineResource xlink:type="simple" xlink:href="http://devgeo.cciw.ca/cgi-bin/mapserv/windatlas?SERVICE=WMS&amp;VERSION=1.1.1&amp;REQUEST=GetLegendGraphic&amp;LAYER=meanwindenergy&amp;FORMAT=image%2Fgif"/>
+					</LegendURL>
+				</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="1" hidden="1" opaque="1">
+			<Server service="OGC:WMS" version="1.1.1" title="Environment Canada Wind Energy Atlas">
+				<OnlineResource xlink:type="simple" xlink:href="http://devgeo.cciw.ca/cgi-bin/mapserv/windatlas?STYLES=&amp;" />
+        <!-- addes STYLES parameter to OnlineResource beause of buggy WMS (resolves #MAP-448) -->
+			</Server>
+			<Name>roughnesslengthfine</Name>
+			<Title>Roughness Length (fine)</Title>
+			<Abstract>Roughness Length (fine)</Abstract>
+			<FormatList>
+				<Format current="1">image/png</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+					<LegendURL format="image/gif">
+						<OnlineResource xlink:type="simple" xlink:href="http://devgeo.cciw.ca/cgi-bin/mapserv/windatlas?SERVICE=WMS&amp;VERSION=1.1.1&amp;REQUEST=GetLegendGraphic&amp;LAYER=meanwindenergy&amp;FORMAT=image%2Fgif"/>
+					</LegendURL>
+				</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="0" hidden="0">
+			<Server service="OGC:WMS" version="1.1.1" title="CCRS Web Map Service">
+				<OnlineResource xlink:type="simple" xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi"/>
+			</Server>
+			<Name>UTILL_UTIL_1M:Foundation</Name>
+			<Title>Power lines</Title>
+			<Abstract>Power lines</Abstract>
+			<FormatList>
+				<Format current="1">image/png</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+					<!--LegendURL format="image/png">
+						<OnlineResource xlink:type="simple" xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi?SERVICE=WMS&amp;VERSION=1.1.1&amp;REQUEST=GetLegend&amp;LAYERS=UTILL_UTIL_1M%3AFoundation&amp;STYLES=&amp;FORMAT=image%2Fpng%3B+PhotometricInterpretation%3DRGB&amp;BGCOLOR=0xFFFFFF&amp;TRANSPARENT=TRUE"/>
+					</LegendURL-->
+				</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="0" hidden="0">
+			<Server service="OGC:WMS" version="1.1.1" title="CCRS Web Map Service">
+				<OnlineResource xlink:type="simple" xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi"/>
+			</Server>
+			<Name>ROADL_TRANS_1M:Foundation</Name>
+			<Title>Roads</Title>
+			<Abstract>Roads</Abstract>
+			<FormatList>
+				<Format current="1">image/png</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+					<!--LegendURL format="image/png">
+						<OnlineResource xlink:type="simple" xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi?SERVICE=WMS&amp;VERSION=1.1.1&amp;REQUEST=GetLegend&amp;LAYERS=ROADL_TRANS_1M:Foundation&amp;STYLES=&amp;FORMAT=image%2Fpng%3B+PhotometricInterpretation%3DRGB&amp;BGCOLOR=0xFFFFFF&amp;TRANSPARENT=TRUE"/>
+					</LegendURL-->
+				</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="0" hidden="0" opaque="0">
+			<Server service="OGC:WMS" version="1.1.1" title="My GeoServer WMS">
+				<OnlineResource xlink:type="simple"  xlink:href="http://sigma.openplans.org/geoserver/wms?"/>
+			</Server>
+			<Name>topp:countries</Name>
+			<Title>Countries</Title>
+			<Abstract>Generated from vmap0</Abstract>
+			<SRS>EPSG:4326</SRS>
+			<FormatList>
+				<Format current="1">image/png</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>world_countries</Name>
+					<Title>Default Styler</Title>
+				</Style>
+			</StyleList>			
+		</Layer>
+		<Layer queryable="0" hidden="0">
+			<Server service="OGC:WMS" version="1.1.1" title="My GeoServer WMS">
+				<OnlineResource xlink:type="simple"  xlink:href="http://sigma.openplans.org/geoserver/wms?"/>
+			</Server>
+			<Name>topp:gnis_pop</Name>
+			<Title>Cities</Title>
+			<Abstract>Generated from postgis_gnis</Abstract>
+			<SRS>EPSG:4326</SRS>
+			<FormatList>
+				<Format current="1">image/png</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name></Name>
+					<Title>Default Styler</Title>
+				</Style>
+			</StyleList>						
+		</Layer>
+	</LayerList>
+</ViewContext>
\ No newline at end of file
Index: lib/spatial/mapbuilder/examples/wfs-t/tasmaniaSld.xml
===================================================================
--- lib/spatial/mapbuilder/examples/wfs-t/tasmaniaSld.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/wfs-t/tasmaniaSld.xml	(revision 4307)
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<ViewContext version="1.0.0" id="atlas_world" xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="600" height="300"/>
+    <BoundingBox SRS="EPSG:4326" minx="141.57875" miny="-44.26625" maxx="151.03125" maxy="-39.56375"/>
+    <Title>Tasmania, Austalia</Title>
+    <KeywordList>
+      <Keyword>Tasmania</Keyword>
+      <Keyword>Australia</Keyword>
+    </KeywordList>
+    <Abstract>Low resolution map of Tasmania, Australia derived from the Digital Chart of the World.</Abstract>
+  </General>
+  <LayerList>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Local">
+        <OnlineResource xlink:type="simple" xlink:href="../../../geoserver/wms"/>
+      </Server>
+      <Name>topp:tasmania_state_boundaries</Name>
+      <Title>Tasmania State Boundaries</Title>
+      <Abstract>Tasmania State Boundaries based on the Digital Chart of the World.</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      
+      <StyleList>
+        <Style current="1">
+          <SLD>
+            <StyledLayerDescriptor version="1.0.0">
+              <NamedLayer>
+                <Name>topp:tasmania_state_boundaries</Name>
+                <UserStyle>
+                  <Title>state title</Title>
+                  <Abstract>state abstract</Abstract>
+                  <FeatureTypeStyle>
+                  <Rule>
+                    <MinScaleDenominator>0</MinScaleDenominator>
+                    <MaxScaleDenominator>1000000000</MaxScaleDenominator>
+                    <PolygonSymbolizer>
+                      <Fill>
+                        <CssParameter name="fill">#FFFF00</CssParameter>
+                        <CssParameter name="fill-opacity">1</CssParameter>
+                      </Fill>
+                      <Stroke>
+                        <CssParameter name="stroke">#FF0066</CssParameter>
+                        <CssParameter name="stroke-opacity">1</CssParameter>
+                        <CssParameter name="stroke-width">2</CssParameter>
+                      </Stroke>
+                    </PolygonSymbolizer>
+                </Rule>
+              </FeatureTypeStyle>
+            </UserStyle>
+          </NamedLayer>
+        </StyledLayerDescriptor>
+      </SLD>
+    </Style>
+</StyleList>
+</Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <!--OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/web/mapdata/english/pb_world.map"/-->
+      <OnlineResource xlink:type="simple" xlink:href="http://www2.demis.nl/WMS/wms.asp?wms=WorldMap"/>
+      </Server>
+      <Name>Coastlines,Borders</Name>
+      <Title>coastline</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Local">
+        <OnlineResource xlink:type="simple" xlink:href="../../../geoserver/wms"/>
+      </Server>
+      <Name>topp:tasmania_water_bodies</Name>
+      <Title>Tasmania Water Bodies</Title>
+      <Abstract>Tasmania Water Bodies based on the Digital Chart of the World.</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>cite_lakes</Name>
+          <Title>Default Styler</Title>
+          <Abstract/>
+          <!--LegendURL width="20" height="20">
+            <Format>image/gif</Format>
+            <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="../../../geoserver/wms/GetLegendGraphic?VERSION=1.0.0&amp;FORMAT=image/gif&amp;WIDTH=20&amp;HEIGHT=20&amp;LAYER=topp:tasmania_water_bodies"/>
+          </LegendURL-->
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Local">
+        <OnlineResource xlink:type="simple" xlink:href="../../../geoserver/wms"/>
+      </Server>
+      <Name>topp:tasmania_roads</Name>
+      <Title>Tasmania Roads</Title>
+      <Abstract>Tasmania Roads based on the Digital Chart of the World.</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>simple_roads</Name>
+          <Title>Default Styler for simple road segments</Title>
+          <Abstract/>
+          <!--LegendURL width="20" height="20">
+            <Format>image/gif</Format>
+            <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="../../../geoserver/wms/GetLegendGraphic?VERSION=1.0.0&amp;FORMAT=image/gif&amp;WIDTH=20&amp;HEIGHT=20&amp;LAYER=topp:tasmania_roads"/>
+          </LegendURL-->
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Local">
+        <OnlineResource xlink:type="simple" xlink:href="../../../geoserver/wms"/>
+      </Server>
+      <Name>topp:tasmania_cities</Name>
+      <Title>Tasmania Major Cities</Title>
+      <Abstract>Tasmania Major based on the Digital Chart of the World.</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>capitals</Name>
+          <Title>Default Styler</Title>
+          <Abstract/>
+          <!--LegendURL width="20" height="20">
+            <Format>image/gif</Format>
+            <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="../../../geoserver/wms/GetLegendGraphic?VERSION=1.0.0&amp;FORMAT=image/gif&amp;WIDTH=20&amp;HEIGHT=20&amp;LAYER=topp:tasmania_cities"/>
+          </LegendURL-->
+        </Style>
+      </StyleList>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/wfs-t/install.html
===================================================================
--- lib/spatial/mapbuilder/examples/wfs-t/install.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/wfs-t/install.html	(revision 4307)
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: install.html 1608 2005-08-03 19:07:09Z mattdiez $
+$Name$
+-->
+
+<html>
+  <head>
+    <title>WFS-T Client Installation Instructions</title>
+    <link rel='StyleSheet' type='text/css' href='/mapbuilder/lib/skin/default/docsStyle.css'>
+  </head>
+
+  <body>
+    <h1><a href="http://mapbuilder.sourceforge.net">Map Builder</a> WFS-T Demo Installation Instructions</h1>
+    <p>The Feature entry demo is configured to work with a default installation
+    of <a href="http://geoserver.sourceforge.net">Geoserver</a>.  Geoserver
+    needs be installed on a server which supports Java Servlets (which is
+    why this demo doesn't work on the
+    <a href="http://mapbuilder.sf.net"/>Sourceforge</a> website).</p>
+    <h2>Installation instructions</h2>
+    <ol>
+      <li>Download and install <a href="http://java.sun.com/j2se/corejava/index.jsp"/>Java</a>.</li>
+      <li>Download and install <a href="http://java.sun.com/products/java-media/jai/current.html"/>Java Advanced Imaging (JAI)</a>.</li>
+      <li>Download, install and start <a href="http://jakarta.apache.org/tomcat/">Tomcat</a>, (or another a Java Servlet Container).</li>
+      <li>Download and install <a href="http://geoserver.sourceforge.net">Geoserver</a> version 1.3.0-beta or later.  Installation is as simple as copying the geoserver.war file into the tomcat/webapps/ directory.</li>
+      <li>Copy the mapbuilder.war file into the tomcat/webapps/ directory.</li>
+      <li>Access the WFS-T demo URL.  This will probably be <a href="http://localhost:8080/mapbuilder/demo/wfs-t/">http://localhost:8080/mapbuilder/demo/wfs-t/</a>.
+    </ol>
+
+    <table class="footer">
+      <tr>
+        <td><a href="http://mapbuilder.sourceforge.net">Community Map Builder</a><br/>$Name$</td>
+        <td width="60"><img src="/mapbuilder/lib/skin/default/images/Icon.gif"/></td>
+      </tr>
+    </table>
+  </body>
+</html>
Index: lib/spatial/mapbuilder/examples/Demis/AoiForm.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/Demis/AoiForm.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/Demis/AoiForm.xsl	(revision 4307)
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8" standalone="no" ?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!--
+Description: Output a form for display of the context doc AOI
+Author:      Mike Adair
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+AoiForm.xsl,v 1.2 2004/06/25 17:59:38 madair1 Exp
+-->
+
+  <xsl:output method="xml" encoding="utf-8"/>
+
+  <!-- The common params set for all widgets -->
+  <xsl:param name="modelId"/>
+  <xsl:param name="widgetId"/>
+
+  <!-- The name of the form for coordinate output -->
+  <xsl:param name="formName">AOIForm</xsl:param>
+
+  <!-- Text params for this widget -->
+  <xsl:param name="title"/>
+  <xsl:param name="north"/>
+  <xsl:param name="south"/>
+  <xsl:param name="east"/>
+  <xsl:param name="west"/>
+  
+  <!-- Main html -->
+  <xsl:template match="/">
+    <div>
+    <form name="{$formName}" id="{$formName}">
+      <table>
+        <tr>
+          <th align="left" colspan="3">
+          </th>
+        </tr>
+        <tr>
+          <td>
+          </td>
+          <td>
+            <input name="northCoord" type="hidden" size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/>
+          </td>
+          <td>
+          </td>
+        </tr>
+        <tr>
+          <td>
+            <input name="westCoord" type="hidden" size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/>
+          </td>
+          <td>
+          </td>
+          <td>
+            <input name="eastCoord" type="hidden" size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/>
+          </td>
+        </tr>
+        <tr>
+          <td>
+          </td>
+          <td>
+            <input name="southCoord" type="hidden" size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/>
+          </td>
+          <td>
+          </td>
+        </tr>
+      </table>
+    </form>
+    </div>
+  </xsl:template>
+  
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/Demis/mapCollection.xml
===================================================================
--- lib/spatial/mapbuilder/examples/Demis/mapCollection.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/Demis/mapCollection.xml	(revision 4307)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<ViewContextCollection version="1.0.0" xmlns="http://www.opengis.net/context" 
+    xmlns:xlink="http://www.w3.org/1999/xlink" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.opengis.net http://schemas.opengis.net/context/1.0.0/collection.xsd">
+	<!-- List of context XML URLs -->
+  <ViewContextReference version="1.0.0" id="WorldMap">
+    <Title>World</Title>
+    <ContextURL>
+      <OnlineResource xlink:type="simple" xlink:href="DemisWorldMap.xml"/>
+    </ContextURL>
+  </ViewContextReference>
+	<ViewContextReference version="1.0.0" id="USAMap">
+    <Title>USA Streets</Title>
+		<ContextURL>
+			<OnlineResource xlink:type="simple" xlink:href="USAMap.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+	<ViewContextReference version="1.0.0" id="BlueMarble">
+		<Title>Satellite</Title>
+		<ContextURL>
+			<OnlineResource xlink:type="simple" xlink:href="BlueMarble.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+</ViewContextCollection>
Index: lib/spatial/mapbuilder/examples/Demis/atlasWorld.xml
===================================================================
--- lib/spatial/mapbuilder/examples/Demis/atlasWorld.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/Demis/atlasWorld.xml	(revision 4307)
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<ViewContext version="1.0.0" id="atlas_world" xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="600" height="300"/>
+    <BoundingBox SRS="EPSG:4326" minx="-180" miny="-90" maxx="180" maxy="90"/>
+    <Title xml:lang="en">World Base Map</Title>
+    <Title xml:lang="fr">Carte mondiale de base</Title>
+    <KeywordList>
+      <Keyword>world</Keyword>
+      <Keyword>atlas</Keyword>
+    </KeywordList>
+    <Abstract xml:lang="en">Atlas of Canada, World Base Map. Small scale vector based map served by Mapserver WMS.</Abstract>
+    <Abstract xml:lang="fr">L`atlas du Canada, Carte mondiale de base. Une carte de petite �chelle servis par Mapserver WMS.</Abstract>
+    <LogoURL width="34" height="35" format="image/jpg">
+      <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/site/english/atlas_identifier.jpg"/>
+    </LogoURL>
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/"/>
+    </DescriptionURL>
+    <ContactInformation>
+      <ContactPersonPrimary>
+        <ContactPerson>Michael Adair</ContactPerson>
+        <ContactOrganization>Canada Centre for Remote Sensing</ContactOrganization>
+      </ContactPersonPrimary>
+      <ContactPosition>Systems Scientist</ContactPosition>
+      <ContactAddress>
+        <AddressType>postal</AddressType>
+        <Address>615 Booth Street, room 650</Address>
+        <City>Ottawa</City>
+        <StateOrProvince>Ontario</StateOrProvince>
+        <PostCode>K1A 0E9</PostCode>
+        <Country>Canada</Country>
+      </ContactAddress>
+      <ContactVoiceTelephone>+1 613 947 1342</ContactVoiceTelephone>
+      <ContactFacsimileTelephone>+1 613 947 2410</ContactFacsimileTelephone>
+      <ContactElectronicMailAddress>mike.adair@ccrs.nrcan.gc.ca</ContactElectronicMailAddress>
+    </ContactInformation>
+  </General>
+  <LayerList>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>ocean</Name>
+      <Title>ocean area</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>land</Name>
+      <Title>land area</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>lake_fill</Name>
+      <Title>lakes</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>lake_outline</Name>
+      <Title>lake outlines</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>coast</Name>
+      <Title>coastline</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>rivers</Name>
+      <Title>rivers</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>boundaries</Name>
+      <Title>boundaries</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="1">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>capital</Name>
+      <Title>capitals</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>country_names</Name>
+      <Title>country names</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="1">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>capital_names</Name>
+      <Title>capital names</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/ExampleList.js
===================================================================
--- lib/spatial/mapbuilder/examples/ExampleList.js	(nonexistent)
+++ lib/spatial/mapbuilder/examples/ExampleList.js	(revision 4307)
@@ -0,0 +1,20 @@
+/*
+Author:       Steven M. Ottens
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: ExampleList.js 1671 2005-09-20 02:37:54Z madair1 $
+*/
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Render a list of the examples
+ * @constructor
+ * @base WidgetBaseXSL
+ * @author Steven M. Ottens
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function ExampleList(widgetNode, model) {
+  WidgetBaseXSL.apply(this,new Array(widgetNode, model));
+}
Index: lib/spatial/mapbuilder/examples/mergeModels/TipWidgetOL.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/mergeModels/TipWidgetOL.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/mergeModels/TipWidgetOL.xsl	(revision 4307)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pmb="http://nsuri.notld/poweredByMapbuilder" xmlns:gml="http://www.opengis.net/gml" xmlns:wfs="http://www.opengis.net/wfs" xmlns:topp="http://www.openplans.org/topp" version="1.0">
+
+<!--
+Description: Convert a GML FeatureInfoResponse or FeatureCollection into a OL popup text.
+Author:      Andreas Hocevar
+$Id: TipWidgetOL.xsl 3907 2008-03-06 10:27:06Z steven $
+-->
+
+  <xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
+
+  <!-- Common params for all widgets -->
+  <xsl:param name="modelId"/>
+  <xsl:param name="widgetId"/>
+  
+  <!-- params for this widget -->
+  <xsl:param name="fid"/>
+
+  <!-- Main html - It matches only non-empty results -->
+  <xsl:template match="/">
+  	<div class="PopupContainer">
+      <xsl:apply-templates/>
+    </div>
+  </xsl:template>
+
+  <!-- featureInfo -->
+  <xsl:template match="wfs:FeatureCollection/gml:featureMember">
+  	<xsl:if test="*[@fid=$fid]">
+      <xsl:value-of select="*[@fid=$fid]//pmb:name"/>
+ 	  </xsl:if>
+  </xsl:template>
+
+  <!-- Remove documentation, text, comments -->
+  <xsl:template match="comment()|text()|processing-instruction()">
+  </xsl:template>
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/mergeModels/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/mergeModels/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/mergeModels/index.html	(revision 4307)
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+      
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Mapbuilder Complex Vector Rendering</title>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+    <style type="text/css">
+      #lists {
+        clear:both;
+      }
+      #lists td,th {
+        padding-left:3px;
+        padding-right:3px;
+        vertical-align:top;
+      }
+      .listitem_active {
+        background-color: FFFF88;
+      }
+    </style>
+    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAxGX044DdXsG8m7HSU-fLXBSOAhXNDhVV0MuxMid11BbPkLvZnhT_y_tZjo_qcjveh8wcvbkT0azpXg"
+     type="text/javascript"></script>
+    <script>
+    // URL of Mapbuilder configuration file.
+    var mbConfigUrl='config.xml';
+    </script>
+    <!-- This points to the core mapbuilder library, replaces this with MapbuilderCompressed.js when you want to use the compressed version -->
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+  </head>
+  <!-- This onload event starts mapbuilder -->
+  <body onload="mbDoLoad()" >
+  <!--
+
+############################# cut here 1 #############################
+
+  -->
+    <div id="all">
+      <div id="header">  	<!-- The header of the page -->
+        <h1><a href="http://communitymapbuilder.org">MapBuilder</a> <!--Version-->1.5-rc2<!--VersionEnd--> Complex Vector Rendering</h1>
+        <!-- The version tag will be inserted into the comment tags above
+        during the build process. -->
+      </div><!-- /header -->
+      <div id="middle"><!-- The center piece of the page with left menubar and right mainbody -->
+        	    <div id="exampleList"></div><!-- this is the container where the menubar will be drawn -->
+        <div id="mainbody"><!-- right side of the middle div, is also divided into two areas -->
+          <div class="left">
+            <h3>Explanation</h3>
+            Using <i>GmlRendererOL</i> allows you to build mapping applications with complex user interaction. This example shows how two FeatureCollections (News and Scenario) are displayed on a map.<br/>
+            Just displaying them would be possible by just adding two GML layers to the OWSContext, but we want to do more.<br/>
+            First, we also want to display the data in a list. Then, we want to see the features highlighted in the list when we hover on them on the map and vice versa. Furthermore, we want to style the features differntly, depending on what FeatureCollection they come from. We also want the hover tooltips to look different for both. And finally, because our data is in a different projection, we need to reproject it.<br/>
+            To achieve all of the above, we use three models for the FeatureCollections: one for the News, one for the Scenario, and a third puts them together using the <i>MergeModels</i> tool. The News and Scenario models have <i>GmlRendererConfig</i> and <i>TipWidgetConfig</i> widgets with different settings. The combined model knows the source model for each feature and displays it according to the settings in the config widgets. The source models could even be in separate coordinate systems, <i>GmlRendererOL</i> will take care of reprojecting the features to the map srs, using the settings from <i>GmlRendererConfig</i>.
+          </div><!-- /left -->
+          <div class="right">
+          <!--
+  
+############################# end cut 1 #############################
+  
+          -->
+            <div id="mainMapPane"><!-- This is the container where the map will be drawn -->
+              <noscript>
+                this page requires Javascript to be enabled
+              </noscript>
+            </div><!-- /mainMapPane -->
+            <div id="mainButtonBar">
+            </div>
+            <table id="lists" cellspacing="0" cellpadding="0">
+              <tr>
+                <td id="featureListNews"></td>
+                <td id="featureListScenario"></td>
+              </tr>
+            </table>
+            <!--
+  
+############################# cut here 2 #############################
+  
+            -->
+          </div><!-- /right -->
+        </div><!-- /mainbody -->
+      </div><!-- /middle -->
+      <div id="footer"><!-- The footer of the page -->
+        <div class="right">
+          <a href="http://communitymapbuilder.org/" title="powered by community mapbuilder"><img src="../../lib/skin/default/images/Icon.gif"/></a>	  	
+          <a href="https://www.osgeo.org/" title="member of OSgeo"><img src="../../lib/skin/default/images/Osgeo.png"/></a>
+        </div><!-- /right -->
+      </div><!-- /footer -->
+    </div><!-- all -->
+    <!--
+
+############################# end cut 2 #############################
+
+-->
+  </body>
+</html>
+
+
Index: lib/spatial/mapbuilder/examples/mergeModels/empty.xml
===================================================================
--- lib/spatial/mapbuilder/examples/mergeModels/empty.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/mergeModels/empty.xml	(revision 4307)
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:pmb="http://nsuri.notld/poweredByMapbuilder">
+</wfs:FeatureCollection>
Index: lib/spatial/mapbuilder/examples/mergeModels/scenario.xml
===================================================================
--- lib/spatial/mapbuilder/examples/mergeModels/scenario.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/mergeModels/scenario.xml	(revision 4307)
@@ -0,0 +1,253 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:pmb="http://nsuri.notld/poweredByMapbuilder">
+<gml:name>Scenario</gml:name>
+<gml:boundedBy>
+	<gml:Envelope srsName="_"> _ </gml:Envelope>
+ </gml:boundedBy>
+
+  <gml:featureMember>
+    <pmb:MyFeature fid="SITUATION_13">
+      <pmb:geom>
+<gml:Point srsName='31295'>
+  <gml:coordinates>
+436431.5081606553,5298782.971195584 
+  </gml:coordinates>
+</gml:Point>
+      </pmb:geom>
+      <pmb:name><![CDATA[Accident on L220 between B158 and Weilmannschwand Road]]></pmb:name>
+      <pmb:date>2006-08-17 11:15:00</pmb:date>
+    </pmb:MyFeature>
+  </gml:featureMember>
+  <gml:featureMember>
+    <pmb:MyFeature fid="SITUATION_14">
+      <pmb:geom>
+<gml:Point srsName='31295'>
+  <gml:coordinates>
+440175.351962,5297879.35864 
+  </gml:coordinates>
+</gml:Point>
+      </pmb:geom>
+      <pmb:name><![CDATA[Heavy traffic on B158 near Hof roundabout, heading towards Hof]]></pmb:name>
+      <pmb:date>2006-08-17 11:20:00</pmb:date>
+    </pmb:MyFeature>
+  </gml:featureMember>
+  <gml:featureMember>
+    <pmb:MyFeature fid="SITUATION_15">
+      <pmb:geom>
+<gml:Point srsName='31295'>
+  <gml:coordinates>
+437295.64,5297635.16 
+  </gml:coordinates>
+</gml:Point>
+      </pmb:geom>
+      <pmb:name><![CDATA[Heavy traffic leaving Parking Area 1, situation not under control]]></pmb:name>
+      <pmb:date>2006-08-17 11:30:00</pmb:date>
+    </pmb:MyFeature>
+  </gml:featureMember>
+  <gml:featureMember>
+    <pmb:MyFeature fid="SITUATION_16">
+      <pmb:geom>
+<gml:Point srsName='31295'>
+  <gml:coordinates>
+440175.351962,5297879.35864 
+  </gml:coordinates>
+</gml:Point>
+      </pmb:geom>
+      <pmb:name><![CDATA[Very heavy traffic near Hof roundabout, heading towards Hof]]></pmb:name>
+      <pmb:date>2006-08-17 11:50:00</pmb:date>
+    </pmb:MyFeature>
+  </gml:featureMember>
+  <gml:featureMember>
+    <pmb:MyFeature fid="SITUATION_17">
+      <pmb:geom>
+<gml:Point srsName='31295'>
+  <gml:coordinates>
+436431.5081606553,5298782.971195584 
+  </gml:coordinates>
+</gml:Point>
+      </pmb:geom>
+      <pmb:name><![CDATA[Cleanup after accident on L220 completed]]></pmb:name>
+      <pmb:date>2006-08-17 12:00:00</pmb:date>
+    </pmb:MyFeature>
+  </gml:featureMember>
+  <gml:featureMember>
+    <pmb:MyFeature fid="SITUATION_18">
+      <pmb:geom>
+<gml:Point srsName='31295'>
+  <gml:coordinates>
+440175.351962,5297879.35864 
+  </gml:coordinates>
+</gml:Point>
+      </pmb:geom>
+      <pmb:name><![CDATA[Normal flow of traffic after accident on B158]]></pmb:name>
+      <pmb:date>2006-08-17 12:10:00</pmb:date>
+    </pmb:MyFeature>
+  </gml:featureMember>
+  <gml:featureMember>
+    <pmb:MyFeature fid="TRAFFICRECORD_3764">
+      <pmb:geom>
+<gml:MultiLineString srsName='31295'>
+  <gml:lineStringMember>
+    <gml:LineString srsName='0'>
+      <gml:coordinates>
+437271.7423408375,5297667.461570464 437490.06608003186,5297507.977135234 
+        437547.6463699011,5297468.934645358 437724.0594574159,5297316.222614317 
+        437777.91773474414,5297286.085520133 437846.77203812054,5297263.699886822 
+        437950.8743716674,5297263.477540903 437971.1051319644,5297267.88205645 
+        438048.2925734024,5297289.956213502 438066.27870767115,5297295.477674768 
+        438227.3988140173,5297342.951152228 438293.3205116325,5297350.597604487 
+        438357.68472671683,5297329.339211108 438389.0827296247,5297301.4778017765 
+        438421.2072261679,5297262.496311931 438447.3565004141,5297231.3103333805 
+        438482.5182950676,5297212.33676979 438557.4059655769,5297208.849226848 
+        438579.1343351381,5297213.252836943 438609.870136784,5297227.64527752 
+        438631.62967230665,5297247.615292447 438658.68956827815,5297296.483551712 
+        438664.7701449358,5297340.946429715 438647.11718587135,5297501.092085411 
+        438653.17757419584,5297535.5481126085 438683.26713073376,5297602.200460506 
+        438714.0361090499,5297634.383421753 438763.53571574896,5297670.976811678 
+        438845.2102176166,5297694.164538189 438859.4411617471,5297695.248359618 
+        438905.1273043383,5297697.382281895 438914.1160605021,5297698.476526977 
+        439011.5008759589,5297713.8526735455 439147.17613489,5297780.3031348875 
+        439255.859638401,5297831.241763409 439346.4973432766,5297844.412618362 
+        439474.51133252593,5297821.935033951 439514.18879350054,5297815.189946453 
+        439646.7360322566,5297813.833416939 439661.7153914473,5297814.917836032 
+        439729.8743375251,5297821.464648098 439752.3443297722,5297823.647550383 
+        439896.15824559634,5297841.178183544 440049.710386809,5297860.91894589 
+        440102.14424900233,5297868.609786517 440183.0442556188,5297881.810834043 
+        440195.0046941238,5297869.5593718635 440209.9915275499,5297875.092701988 
+        440213.75512505125,5297886.204931412 440197.3073527018,5297901.799788098 
+        440157.9850040387,5298112.013038208 440148.3649092851,5298177.630593167 
+      </gml:coordinates>
+    </gml:LineString>
+  </gml:lineStringMember>
+  <gml:lineStringMember>
+    <gml:LineString srsName='0'>
+      <gml:coordinates>
+440137.9650982462,5298225.459499757 440096.9698732543,5298333.383478662 
+        440034.9787629058,5298423.554803185 440020.7793596709,5298439.146207054 
+        439963.9666801548,5298492.617181339 439874.2510335739,5298569.497140708 
+        439783.7849846967,5298644.156110126 439726.22775648907,5298697.630796983 
+        439689.64864076045,5298757.738960242 439673.2882013164,5298818.922199474 
+        439675.69311364065,5298905.644332036 439694.5148218061,5298962.315736174 
+        439748.62052104145,5299071.181280957 439861.33588501887,5299298.912737159 
+        439868.09792661906,5299312.24313381 439925.23347920796,5299444.454393653 
+        439940.333571852,5299515.587718858 439941.1834061922,5299572.292065313 
+        439941.3619759123,5299672.360928962 439952.6726217109,5299717.927833255 
+        439972.9605232622,5299760.143144138 440011.2265669687,5299808.997914665 
+        440188.14403095416,5299949.895809034 440333.55369873036,5300056.384836879 
+        440597.35348030704,5300236.062542596 440767.46480574156,5300351.416287884 
+        440889.611621606,5300434.608048146 441194.58641756076,5300640.931528676 
+        441320.48577435187,5300738.580957117 441414.19305926695,5300834.058547627 
+        441546.2130292353,5301025.101558203 441561.21885587164,5301049.540342039 
+        441611.48795283574,5301131.744121007 441665.50602251873,5301219.502174884 
+        441722.5210407734,5301310.5919577 441847.0539193738,5301513.883691438 
+        441864.30721186165,5301541.655648052 
+      </gml:coordinates>
+    </gml:LineString>
+  </gml:lineStringMember>
+</gml:MultiLineString>
+      </pmb:geom>
+      <pmb:name><![CDATA[Only route from Parking Area 1 via Hof roundabout to A1]]></pmb:name>
+      <pmb:comment><![CDATA[]]></pmb:comment>
+      <pmb:date>2006-08-17 11:15:00</pmb:date>
+      <pmb:status>21</pmb:status>
+      <pmb:category>35</pmb:category>
+      <pmb:importance>3</pmb:importance>
+      <pmb:source></pmb:source>
+      <pmb:reliability></pmb:reliability>
+      <pmb:method></pmb:method>
+    </pmb:MyFeature>
+  </gml:featureMember>
+  <gml:featureMember>
+    <pmb:MyFeature fid="TRAFFICRECORD_3765">
+      <pmb:geom>
+<gml:MultiLineString srsName='31295'>
+  <gml:lineStringMember>
+    <gml:LineString srsName='0'>
+      <gml:coordinates>
+437271.7423408375,5297667.461570464 437216.37242591346,5297688.71179545 
+        437077.89495500433,5297717.934416943 437009.81569665857,5297748.110617264 
+        436714.5201262102,5297966.722571436 436654.65680912207,5297985.764959909 
+        436567.1209301376,5298019.32781843 436547.6774325597,5298030.492655677 
+        436520.7667564763,5298050.570319827 436490.9032649283,5298088.445209485 
+        436499.9421217204,5298110.661300215 436514.27023264684,5298152.87867233 
+        436502.3736620861,5298188.487097328 436426.8519936951,5298234.254229502 
+        436370.84052318335,5298296.653689901 436350.02903676545,5298361.1927325055 
+        436354.6260291944,5298404.545011595 436396.8007350347,5298505.624914039 
+        436403.69684347976,5298571.209341305 436397.91715607763,5298659.061753864 
+        436397.9837590516,5298686.858611794 436416.11349434947,5298753.528046252 
+        436449.2095871657,5298816.826151176 436466.47826009017,5298836.798807644 
+      </gml:coordinates>
+    </gml:LineString>
+  </gml:lineStringMember>
+  <gml:lineStringMember>
+    <gml:LineString srsName='0'>
+      <gml:coordinates>
+436495.0042493235,5298867.863528306 436693.77245716756,5299018.609790806 
+        436763.45445878373,5299040.684411832 436802.4157323508,5299052.82433028 
+        436881.09677626524,5299081.550722339 437006.28808985616,5299150.199143308 
+        437102.9176485145,5299171.104280327 437188.28853734455,5299179.805770338 
+        437242.9754338227,5299194.136894549 437316.44141670974,5299236.223504265 
+        437371.97771720873,5299296.141064404 437385.5107883059,5299321.68418903 
+        437408.88512951875,5299396.128240425 437421.94804136053,5299547.315084759 
+        437440.053479548,5299609.540284675 437462.61584456346,5299656.189339417 
+        437519.66101055924,5299723.888167049 437605.12042218767,5299777.070848819 
+        437700.97181207186,5299790.2044730205 437731.6552232111,5299785.690392254 
+        437760.0832322271,5299776.733822753 437883.4401238662,5299699.748685831 
+        437955.9808118815,5299664.013694466 438145.26469398796,5299606.908143965 
+        438267.90241749876,5299539.939689847 438375.6270596116,5299500.8014934 
+        438396.57780444727,5299495.199075715 438484.879889082,5299476.116644784 
+        438713.8273544037,5299405.606567542 438737.02475069143,5299400.000900748 
+        438859.0521329017,5299397.535295947 438950.3975252109,5299401.803463907 
+        439063.45177349565,5299404.919123504 439115.14362681593,5299422.609356898 
+        439180.3770041022,5299474.742372113 439217.1713263751,5299532.489759029 
+        439245.82309628406,5299639.175615642 439246.7136061535,5299713.669902399 
+        439234.1015424045,5299773.735481576 439187.81955455814,5299842.760513184 
+        439170.63152057753,5299858.359780106 439082.3953826045,5299909.67618778 
+        439015.89798213873,5299975.406089992 438783.12246859894,5300370.581365688 
+        438760.07710304233,5300450.682658752 438760.15451048716,5300489.598376756 
+        438769.23398935643,5300538.503137388 438803.7912156862,5300601.811841136 
+        438855.52803511854,5300647.296721604 438898.2340399476,5300668.338395672 
+        439159.5769265168,5300728.984188268 439231.45945757587,5300743.301073784 
+        439363.27285852266,5300785.302624922 439469.6942561104,5300858.487221078 
+        439542.45481044805,5300943.966794508 439650.647530503,5301169.479347183 
+        439685.94588662626,5301236.127625776 439711.453161135,5301269.437500169 
+        439855.33778418985,5301373.6936691655 440012.6744738385,5301470.146368759 
+        440103.2788858275,5301497.78349716 440296.37678497296,5301505.2305312175 
+        440375.74019306153,5301525.1081353575 440417.67252624326,5301538.379160414 
+        440595.13812895265,5301597.009420031 440733.66660630883,5301644.590351136 
+        440784.5740221785,5301655.625478923 440865.374364343,5301641.039072106 
+        440924.4848782217,5301634.271975726 440965.6274347497,5301623.086825972 
+        441089.01546756004,5301563.959900886 441109.2023785097,5301551.697189995 
+        441163.03339223337,5301518.255720693 441253.49805843696,5301460.296131989 
+        441459.0456568383,5301288.749589359 441515.85294913064,5301240.852435357 
+        441532.29809218337,5301227.484994378 441573.4079397505,5301191.842839887 
+        441622.15225484036,5301149.069404849 
+      </gml:coordinates>
+    </gml:LineString>
+  </gml:lineStringMember>
+  <gml:lineStringMember>
+    <gml:LineString srsName='0'>
+      <gml:coordinates>
+441622.15225484036,5301149.069404849 441611.48795283574,5301131.744121007 
+        441595.71244005876,5301092.851899763 441603.90865865326,5301068.378226208 
+        441645.821565495,5301068.315599637 441657.05982332904,5301076.082028576 
+        441660.09330924775,5301102.762667219 441640.6786372201,5301132.812390842 
+        441622.15225484036,5301149.069404849 
+      </gml:coordinates>
+    </gml:LineString>
+  </gml:lineStringMember>
+  <gml:lineStringMember>
+    <gml:LineString srsName='0'>
+      <gml:coordinates>
+441622.15225484036,5301149.069404849 441665.50602251873,5301219.502174884 
+        441722.5210407734,5301310.5919577 441847.0539193738,5301513.883691438 
+      </gml:coordinates>
+    </gml:LineString>
+  </gml:lineStringMember>
+</gml:MultiLineString>
+      </pmb:geom>
+      <pmb:name><![CDATA[Recommended route from Parking Area 1 via L220 to A1]]></pmb:name>
+      <pmb:date>2006-08-17 12:00:00</pmb:date>
+    </pmb:MyFeature>
+  </gml:featureMember>
+</wfs:FeatureCollection>
Index: lib/spatial/mapbuilder/examples/mergeModels/news.xml
===================================================================
--- lib/spatial/mapbuilder/examples/mergeModels/news.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/mergeModels/news.xml	(revision 4307)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:pmb="http://nsuri.notld/poweredByMapbuilder">
+<gml:name>News</gml:name>
+<gml:boundedBy>
+	<gml:Envelope srsName="_"> _ </gml:Envelope>
+ </gml:boundedBy>
+
+  <gml:featureMember>
+    <pmb:MyFeature fid="SITUATION_88255">
+      <pmb:geom>
+<gml:LineString srsName='31295'>
+  <gml:coordinates>
+438126.7349846448,5295045.919461318 437101.27043910965,5288871.729724393 
+    435045.49550640513,5285741.304577469 433135.6128824574,5283183.785924661 
+  </gml:coordinates>
+</gml:LineString>
+      </pmb:geom>
+      <pmb:name><![CDATA[L107 Wiestal Road: Road construction, delays]]></pmb:name>
+      <pmb:date>2007-12-04 17:23:00</pmb:date>
+    </pmb:MyFeature>
+  </gml:featureMember>
+  <gml:featureMember>
+    <pmb:MyFeature fid="SITUATION_88268">
+      <pmb:geom>
+<gml:Point srsName='31295'>
+  <gml:coordinates>
+432617.71511229005,5295560.424833654 
+  </gml:coordinates>
+</gml:Point>
+      </pmb:geom>
+      <pmb:name><![CDATA[L108 Gaisberg Road: Drive carefully, snow on road]]></pmb:name>
+      <pmb:date>2007-12-12 04:37:00</pmb:date>
+    </pmb:MyFeature>
+  </gml:featureMember>
+  <gml:featureMember>
+    <pmb:MyFeature fid="TRAFFICRECORD_84800">
+      <pmb:geom>
+<gml:Point srsName='31295'>
+  <gml:coordinates>
+440188.2300648418,5297903.630898789 
+  </gml:coordinates>
+</gml:Point>
+      </pmb:geom>
+      <pmb:name><![CDATA[Message from mobile observer: No delays.]]></pmb:name>
+      <pmb:date>2007-08-18 11:59:51</pmb:date>
+    </pmb:MyFeature>
+  </gml:featureMember>
+</wfs:FeatureCollection>
Index: lib/spatial/mapbuilder/examples/projDemo/bsc_ows.xml
===================================================================
--- lib/spatial/mapbuilder/examples/projDemo/bsc_ows.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/projDemo/bsc_ows.xml	(revision 4307)
@@ -0,0 +1,2110 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<wfs:FeatureCollection xmlns:bsc="http://www.bsc-eoc.org/bsc" xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengeospatial.net//wfs/1.0.0/WFS-basic.xsd                         http://www.bsc-eoc.org/bsc http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=DescribeFeatureType&amp;TYPENAME=IBA&amp;OUTPUTFORMAT=XMLSCHEMA">
+      <gml:boundedBy>
+      	<gml:Box srsName="EPSG:4326">
+      		<gml:coordinates>-141.237629,41.671768 -52.666977,78.105913</gml:coordinates>
+      	</gml:Box>
+      </gml:boundedBy>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-77.768674,62.405510 -76.865336,62.580432</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-77.730316,62.444783 -77.768674,62.463976 -77.763471,62.481493 -77.742587,62.495028 -77.651652,62.524109 -77.579393,62.550166 -77.524814,62.562756 -77.441443,62.580432 -77.380500,62.578855 -77.277540,62.565803 -77.205524,62.556275 -77.143260,62.549974 -77.033839,62.542262 -76.971316,62.539786 -76.932795,62.544958 -76.894162,62.536783 -76.875762,62.513570 -76.865336,62.504755 -76.866047,62.485112 -76.881553,62.472410 -76.920695,62.456001 -76.964582,62.450585 -76.992677,62.449935 -77.102773,62.450917 -77.182819,62.452243 -77.245887,62.448314 -77.318906,62.443704 -77.327750,62.441426 -77.374623,62.434317 -77.412908,62.425574 -77.466576,62.412444 -77.496264,62.405510 -77.551665,62.406850 -77.633496,62.425863 -77.671911,62.434286 -77.730316,62.444783 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-62.590780,67.183106 -62.385504,67.257191</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-62.421951,67.253520 -62.421951,67.253520 -62.400747,67.246483 -62.388125,67.236840 -62.385685,67.231462 -62.385504,67.230535 -62.385817,67.225133 -62.389349,67.219261 -62.391253,67.217162 -62.396397,67.212759 -62.403568,67.208706 -62.411951,67.204767 -62.422926,67.200611 -62.424245,67.200352 -62.425133,67.199965 -62.443211,67.194879 -62.453467,67.191869 -62.460535,67.188849 -62.485367,67.183949 -62.513136,67.183106 -62.539627,67.186447 -62.560818,67.193466 -62.565793,67.196245 -62.580864,67.205864 -62.588564,67.212715 -62.590780,67.223492 -62.582181,67.233777 -62.564066,67.242003 -62.539192,67.246915 -62.522212,67.247915 -62.514313,67.249948 -62.513733,67.250051 -62.511971,67.250525 -62.501532,67.252989 -62.483669,67.256000 -62.475319,67.256704 -62.469460,67.257057 -62.449958,67.257191 -62.423402,67.253835 -62.423402,67.253835 -62.421951,67.253520 -62.421951,67.253520 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.998088,73.452108 -79.665941,73.798621</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.686151,73.708832 -79.665941,73.452108 -80.967492,73.467289 -80.963724,73.480878 -80.951174,73.487980 -80.915014,73.501475 -80.903644,73.509968 -80.910424,73.518964 -80.935881,73.527833 -80.971654,73.541304 -80.975734,73.556706 -80.957173,73.571328 -80.961333,73.574884 -80.967173,73.585129 -80.995435,73.599425 -80.998088,73.610782 -80.990135,73.620810 -80.971061,73.630135 -80.958410,73.637233 -80.905602,73.653634 -80.901372,73.655999 -80.886951,73.662325 -80.882933,73.667336 -80.878626,73.675620 -80.880714,73.687602 -80.875898,73.696511 -80.879568,73.700693 -80.890654,73.707319 -80.888859,73.712471 -80.909833,73.724327 -80.941559,73.731592 -80.958346,73.745807 -80.946289,73.760840 -80.906827,73.774805 -80.851694,73.781855 -80.825739,73.784820 -80.784091,73.786787 -80.731549,73.784761 -80.690214,73.783438 -80.665956,73.787154 -80.635331,73.795727 -80.557450,73.798621 -80.461471,73.797680 -80.343370,73.789316 -80.290085,73.782521 -80.239481,73.772589 -80.194227,73.756400 -80.161902,73.741716 -80.138546,73.741480 -80.110080,73.752779 -80.060959,73.763355 -79.996968,73.763683 -79.937127,73.753708 -79.891727,73.740728 -79.838574,73.725885 -79.751729,73.714662 -79.686151,73.708832 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-90.420540,73.941636 -89.726205,74.113665</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-89.912836,73.950241 -89.933936,73.946118 -89.956962,73.942954 -89.980557,73.941636 -90.004728,73.942163 -90.028901,73.942689 -90.061182,73.945833 -90.087809,73.949464 -90.108948,73.952975 -90.136442,73.957536 -90.155821,73.959475 -90.171903,73.961343 -90.193657,73.962717 -90.224300,73.963968 -90.248344,73.965078 -90.276712,73.966580 -90.302232,73.970467 -90.333965,73.976007 -90.346293,73.979620 -90.361206,73.986037 -90.373466,73.989953 -90.380921,73.995301 -90.387758,73.998801 -90.396404,74.003866 -90.405214,74.008323 -90.410479,74.013625 -90.417795,74.019579 -90.420540,74.026054 -90.419413,74.034591 -90.418058,74.039761 -90.416541,74.045539 -90.411946,74.050338 -90.406547,74.058179 -90.395465,74.062237 -90.391181,74.065820 -90.382224,74.070226 -90.367644,74.074825 -90.352192,74.078489 -90.342355,74.081959 -90.334030,74.083931 -90.322132,74.086748 -90.309287,74.088933 -90.294139,74.091377 -90.278904,74.094123 -90.259395,74.096170 -90.244234,74.098610 -90.229235,74.100442 -90.209964,74.101572 -90.190522,74.103309 -90.179094,74.104295 -90.162119,74.105164 -90.142923,74.105985 -90.112121,74.108394 -90.088653,74.108509 -90.083107,74.108392 -90.065186,74.108622 -90.056225,74.108737 -90.041371,74.109948 -90.032236,74.110670 -90.010809,74.111432 -89.990140,74.113433 -89.986724,74.113665 -89.978957,74.113496 -89.967950,74.112952 -89.963512,74.112856 -89.950288,74.112262 -89.933824,74.111291 -89.911906,74.109893 -89.900240,74.107802 -89.890794,74.105759 -89.863971,74.102108 -89.854712,74.099456 -89.844258,74.097082 -89.828718,74.093066 -89.800619,74.086319 -89.786297,74.082020 -89.759613,74.074382 -89.748347,74.067396 -89.733682,74.060638 -89.728609,74.055322 -89.726208,74.048536 -89.726205,74.044865 -89.727949,74.039092 -89.729875,74.032711 -89.730883,74.029369 -89.735660,74.024582 -89.739330,74.019771 -89.747502,74.014756 -89.752817,74.008145 -89.761718,74.004370 -89.764741,74.001685 -89.773441,73.994846 -89.783432,73.991095 -89.792950,73.985191 -89.799629,73.981364 -89.812999,73.977382 -89.821512,73.974820 -89.831392,73.971371 -89.837520,73.969367 -89.850604,73.966295 -89.858750,73.964947 -89.862673,73.962893 -89.873638,73.959466 -89.880768,73.957790 -89.891460,73.955274 -89.898763,73.952989 -89.904877,73.950982 -89.912836,73.950241 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-68.459705,60.184329 -67.806667,60.606716</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-68.259718,60.585969 -68.255479,60.588910 -68.249274,60.590829 -68.249068,60.590846 -68.248899,60.590897 -68.197235,60.599974 -68.196934,60.599998 -68.194152,60.600374 -68.121526,60.606584 -68.117754,60.606716 -68.110608,60.605907 -68.080502,60.599244 -68.080064,60.599090 -68.079612,60.599033 -68.055590,60.592942 -68.023540,60.592643 -68.005691,60.593667 -68.002921,60.593725 -67.995780,60.592909 -67.989819,60.590812 -67.985943,60.587752 -67.978624,60.578203 -67.962947,60.559297 -67.942183,60.542152 -67.920720,60.535061 -67.917476,60.533702 -67.913871,60.530958 -67.903210,60.518407 -67.889921,60.512065 -67.867627,60.505424 -67.866645,60.505031 -67.865434,60.504659 -67.848820,60.497932 -67.833397,60.495894 -67.830489,60.495379 -67.824557,60.493274 -67.820710,60.490209 -67.816635,60.484835 -67.815841,60.483481 -67.809606,60.468703 -67.809498,60.468081 -67.809280,60.467604 -67.806723,60.452760 -67.806667,60.451655 -67.808339,60.448146 -67.808810,60.447823 -67.808983,60.447513 -67.827567,60.430866 -67.828189,60.424283 -67.828445,60.423760 -67.829445,60.421359 -67.840186,60.407728 -67.840459,60.407529 -67.840589,60.407256 -67.860278,60.385835 -67.860711,60.385536 -67.860871,60.385245 -67.871859,60.375239 -67.875512,60.372901 -67.881697,60.371000 -67.888879,60.370416 -67.888994,60.370429 -67.889106,60.370421 -67.892696,60.370502 -67.895870,60.369641 -67.901482,60.360711 -67.902306,60.359638 -67.913133,60.347815 -67.913444,60.347600 -67.913561,60.347378 -67.927898,60.333672 -67.931706,60.331180 -67.931722,60.331175 -67.931734,60.331167 -67.940257,60.327226 -67.937435,60.316780 -67.937368,60.316112 -67.937284,60.315906 -67.936447,60.305028 -67.936563,60.304734 -67.936443,60.304373 -67.937366,60.302702 -67.938093,60.300863 -67.938561,60.300539 -67.938732,60.300229 -67.948647,60.291267 -67.957116,60.281981 -67.961342,60.279051 -67.967503,60.277147 -67.974663,60.276558 -67.981731,60.277374 -67.983234,60.277754 -67.998877,60.282153 -68.013473,60.286183 -68.023411,60.287170 -68.025118,60.286480 -68.030283,60.285004 -68.037443,60.284412 -68.042040,60.284772 -68.051285,60.286101 -68.056772,60.286306 -68.058089,60.285172 -68.065237,60.273663 -68.066054,60.272589 -68.070268,60.269655 -68.076421,60.267746 -68.083577,60.267151 -68.087291,60.267419 -68.107967,60.257664 -68.108002,60.257653 -68.108026,60.257636 -68.114175,60.255725 -68.121326,60.255128 -68.123071,60.255195 -68.142619,60.256405 -68.151107,60.255791 -68.151932,60.254877 -68.157524,60.246799 -68.158144,60.246021 -68.166832,60.236398 -68.169573,60.234229 -68.184875,60.225193 -68.186333,60.224426 -68.192470,60.222511 -68.193260,60.222444 -68.193820,60.222284 -68.202890,60.220951 -68.214585,60.214036 -68.216041,60.213268 -68.222175,60.211352 -68.229314,60.210749 -68.229355,60.210753 -68.229396,60.210750 -68.261054,60.211259 -68.312639,60.189763 -68.317916,60.188218 -68.320955,60.187782 -68.354208,60.184503 -68.358301,60.184329 -68.365358,60.185124 -68.366861,60.185499 -68.398003,60.194156 -68.423860,60.200751 -68.428847,60.202607 -68.432718,60.205653 -68.432780,60.205832 -68.432953,60.205974 -68.453196,60.235293 -68.453299,60.235624 -68.454031,60.237034 -68.459536,60.256886 -68.459705,60.258374 -68.459618,60.258566 -68.459672,60.258741 -68.457548,60.275136 -68.456999,60.276245 -68.456382,60.277811 -68.446373,60.290939 -68.436265,60.311942 -68.426030,60.335331 -68.425602,60.335980 -68.425483,60.336314 -68.409819,60.359394 -68.410328,60.364917 -68.410216,60.365212 -68.410341,60.365572 -68.409410,60.368229 -68.399096,60.383719 -68.398426,60.384578 -68.380216,60.404845 -68.372203,60.417591 -68.371432,60.418603 -68.371180,60.418780 -68.371086,60.418966 -68.354956,60.434970 -68.344811,60.451812 -68.340795,60.461999 -68.339521,60.463993 -68.323459,60.481782 -68.316658,60.489307 -68.314924,60.498031 -68.314594,60.498646 -68.314225,60.499782 -68.299447,60.524080 -68.299263,60.524323 -68.299231,60.524411 -68.293351,60.532894 -68.292729,60.533673 -68.286770,60.540249 -68.283470,60.547429 -68.283086,60.547997 -68.282979,60.548298 -68.273631,60.562167 -68.274122,60.567720 -68.274008,60.568015 -68.274132,60.568376 -68.272506,60.571891 -68.267123,60.577819 -68.259718,60.585969 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-94.268932,68.107470 -92.420393,69.171107</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-93.726505,68.970256 -93.236335,69.171107 -93.202050,69.165825 -93.146784,69.162790 -93.104982,69.164822 -93.098671,69.157344 -93.135155,69.135496 -93.143898,69.113353 -93.172762,69.098829 -93.173357,69.091423 -93.152825,69.088741 -93.139005,69.088597 -93.132704,69.081119 -92.922874,69.031845 -92.911354,69.006998 -92.857903,68.989062 -92.640867,68.956644 -92.554754,68.925811 -92.480878,68.848131 -92.446183,68.790761 -92.420393,68.716195 -92.427817,68.649528 -92.434381,68.590262 -92.423145,68.508462 -92.430495,68.441773 -92.434831,68.402251 -92.503604,68.324081 -92.660234,68.229783 -92.717315,68.190960 -92.793424,68.159790 -92.970046,68.114966 -93.182849,68.107470 -93.493763,68.117924 -93.538776,68.117943 -93.592894,68.123719 -93.731733,68.132229 -93.942335,68.170768 -94.041294,68.188665 -94.232278,68.246510 -94.268932,68.263042 -94.224637,68.276151 -94.191013,68.283415 -94.210129,68.310705 -94.222598,68.337962 -94.221779,68.362685 -94.213921,68.397264 -94.166699,68.404460 -94.146208,68.414250 -94.138949,68.429049 -94.091352,68.443639 -94.036867,68.460651 -93.982088,68.482588 -93.907337,68.496967 -93.839604,68.503943 -93.805405,68.513600 -93.764304,68.525674 -93.716684,68.532745 -93.675221,68.549740 -93.627379,68.559258 -93.599768,68.568926 -93.571527,68.588474 -93.570311,68.608242 -93.596786,68.618345 -93.623871,68.618561 -93.698496,68.616662 -93.766338,68.614684 -93.779100,68.629605 -93.758378,68.636874 -93.757319,68.656641 -93.749069,68.683771 -93.725840,68.735506 -93.745318,68.752947 -93.737831,68.765250 -93.689146,68.782193 -93.647649,68.791763 -93.646487,68.811524 -93.631803,68.828709 -93.596129,68.853140 -93.615608,68.870591 -93.649109,68.883206 -93.661511,68.905539 -93.679517,68.950147 -93.671930,68.962444 -93.733791,68.962897 -93.726505,68.970256 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-105.500801,66.332710 -97.119186,68.489296</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-105.486069,68.453590 -105.494347,68.459167 -105.483406,68.465965 -105.474495,68.459305 -105.462555,68.459267 -105.449844,68.463150 -105.426277,68.480286 -105.419701,68.472885 -105.410400,68.475227 -105.400345,68.479004 -105.390411,68.479408 -105.390633,68.489273 -105.380379,68.489052 -105.370735,68.486610 -105.360504,68.489296 -105.351028,68.488907 -105.343079,68.483780 -105.334373,68.480255 -105.325356,68.477402 -105.316803,68.472733 -105.308861,68.464417 -105.300011,68.461342 -105.290085,68.460320 -105.277206,68.459579 -104.001961,68.248901 -103.433472,68.165489 -103.381783,68.158211 -102.000793,68.083633 -100.622681,68.000694 -99.998604,67.956985 -98.377411,67.830147 -98.138405,67.830154 -97.434715,67.726135 -97.340584,67.711929 -97.145500,67.682259 -97.152550,67.672592 -97.159851,67.664070 -97.159874,67.653519 -97.150742,67.648346 -97.156990,67.639877 -97.164490,67.634491 -97.177208,67.629761 -97.188179,67.628319 -97.198242,67.627113 -97.208054,67.624245 -97.219200,67.621605 -97.228836,67.619423 -97.238754,67.617867 -97.251244,67.615234 -97.261299,67.613899 -97.273468,67.611946 -97.287445,67.609207 -97.298119,67.607079 -97.307594,67.604660 -97.317825,67.602013 -97.332260,67.598465 -97.343071,67.596390 -97.353889,67.593803 -97.364243,67.592125 -97.374886,67.590561 -97.386276,67.588890 -97.396545,67.583557 -97.406456,67.580963 -97.416420,67.575630 -97.409737,67.566200 -97.401222,67.558762 -97.394485,67.552643 -97.386528,67.547714 -97.374550,67.542656 -97.364914,67.540001 -97.355270,67.537575 -97.345787,67.534981 -97.332603,67.531059 -97.323280,67.528061 -97.314713,67.524895 -97.301712,67.520004 -97.292892,67.515297 -97.284813,67.510651 -97.275406,67.505653 -97.266449,67.500656 -97.256386,67.498169 -97.244987,67.495956 -97.234299,67.494720 -97.223633,67.492851 -97.214165,67.490700 -97.201927,67.486656 -97.188530,67.481865 -97.180496,67.476585 -97.170914,67.468849 -97.160828,67.462982 -97.149063,67.458710 -97.138962,67.458664 -97.129150,67.458679 -97.119186,67.454239 -97.119820,67.443581 -97.131744,67.437477 -97.142860,67.438156 -97.153656,67.434608 -97.163734,67.435165 -97.174561,67.435669 -97.183113,67.427269 -97.194077,67.422806 -97.205948,67.422974 -97.218140,67.422165 -97.226891,67.416557 -97.230576,67.406418 -97.233673,67.395996 -97.234398,67.385612 -97.234497,67.376205 -97.239899,67.368126 -97.250153,67.366631 -97.256721,67.358780 -97.265358,67.350716 -97.276756,67.350365 -97.288361,67.347778 -97.297600,67.345131 -97.307487,67.339691 -97.312988,67.332184 -97.323029,67.332504 -97.328819,67.324997 -97.332558,67.316620 -97.343269,67.313240 -97.349915,67.306358 -97.359322,67.301651 -97.368927,67.301117 -97.377266,67.304672 -97.387177,67.304138 -97.394279,67.295944 -97.406616,67.291534 -97.415817,67.288475 -97.421486,67.277657 -97.422417,67.267113 -97.421593,67.255989 -97.430382,67.250877 -97.439690,67.249191 -97.448799,67.250702 -97.447731,67.261131 -97.459869,67.266983 -97.469177,67.265526 -97.476227,67.258469 -97.481544,67.266861 -97.486717,67.274918 -97.496857,67.277565 -97.501701,67.269249 -97.512794,67.266769 -97.524200,67.263023 -97.531967,67.255859 -97.544662,67.254341 -97.549049,67.245972 -97.559715,67.241028 -97.572739,67.236320 -97.582626,67.234566 -97.594261,67.233681 -97.612427,67.228951 -97.602409,67.216125 -97.599571,67.207054 -97.607590,67.199936 -97.616302,67.196304 -97.621231,67.188324 -97.633308,67.185547 -97.646667,67.187218 -97.654518,67.179817 -97.661919,67.173553 -97.666832,67.165573 -97.669853,67.155655 -97.660484,67.152565 -97.650063,67.153008 -97.639542,67.148087 -97.633621,67.138840 -97.648453,67.125977 -97.644821,67.117294 -97.641380,67.108505 -97.635902,67.099663 -97.644318,67.091972 -97.655632,67.087372 -97.666023,67.086868 -97.676834,67.089165 -97.687088,67.088547 -97.688179,67.079483 -97.695824,67.074303 -97.706795,67.073288 -97.716309,67.072327 -97.727142,67.071022 -97.736214,67.069550 -97.742691,67.061684 -97.750183,67.053650 -97.757370,67.047890 -97.762672,67.038544 -97.772461,67.037636 -97.784729,67.036102 -97.795410,67.030632 -97.803894,67.024818 -97.812515,67.018661 -97.825073,67.013306 -97.836174,67.008461 -97.845802,67.000420 -97.856918,66.998070 -97.859726,66.989052 -97.869637,66.987946 -97.879738,66.990891 -97.888565,66.984993 -97.886841,66.975746 -97.883080,66.966965 -97.888336,66.956848 -97.897957,66.956772 -97.906357,66.953331 -97.913857,66.947662 -97.919716,66.939713 -97.915932,66.930008 -97.919441,66.921097 -97.929604,66.919647 -97.940285,66.913971 -97.942917,66.905052 -97.954948,66.902916 -97.964821,66.902145 -97.968018,66.893173 -97.978104,66.888069 -97.987595,66.882278 -97.984375,66.872177 -97.988701,66.862175 -97.978668,66.860947 -97.972717,66.852394 -97.966194,66.843788 -97.958115,66.837471 -97.958694,66.828339 -97.964516,66.820900 -97.972107,66.815453 -97.982735,66.810005 -97.994949,66.804436 -98.004684,66.798622 -98.009468,66.788437 -98.011368,66.778206 -98.019768,66.770752 -98.025963,66.762245 -98.026001,66.751755 -98.013184,66.748642 -98.004372,66.745941 -97.993774,66.745056 -97.984467,66.741768 -97.975716,66.736420 -97.967506,66.729134 -97.964043,66.720406 -97.967621,66.709663 -97.971947,66.700859 -97.976395,66.690567 -97.982849,66.680161 -97.990067,66.672890 -97.991173,66.661522 -97.997070,66.653061 -98.006500,66.644676 -98.009888,66.633842 -98.009918,66.623466 -98.009392,66.613029 -98.009811,66.603058 -98.001968,66.596947 -98.009857,66.588295 -98.019417,66.588730 -98.028778,66.594009 -98.038536,66.599747 -98.048119,66.598473 -98.055031,66.592361 -98.060310,66.577965 -98.069984,66.575722 -98.079727,66.571259 -98.088219,66.566368 -98.095810,66.558960 -98.098022,66.547821 -98.088005,66.544930 -98.079903,66.550285 -98.074059,66.558914 -98.065849,66.566711 -98.055664,66.566895 -98.054054,66.551193 -98.061600,66.545776 -98.059891,66.535439 -98.058914,66.524986 -98.044632,66.524826 -98.037041,66.519173 -98.041458,66.510635 -98.038795,66.498451 -98.039131,66.487801 -98.047668,66.479324 -98.058762,66.482628 -98.069710,66.478638 -98.078407,66.474274 -98.087463,66.475098 -98.097176,66.467552 -98.094528,66.446075 -98.099586,66.437889 -98.111969,66.433517 -98.110580,66.424202 -98.113701,66.415298 -98.119461,66.405586 -98.123764,66.396240 -98.125641,66.377243 -98.113297,66.380638 -98.111626,66.390755 -98.102707,66.393356 -98.089996,66.390991 -98.078545,66.390305 -98.079910,66.380577 -98.078857,66.369331 -98.086380,66.362038 -98.097504,66.361526 -98.107910,66.358093 -98.112556,66.349556 -98.113701,66.339027 -98.123741,66.337814 -98.134918,66.339691 -99.064590,66.333565 -99.998375,66.334229 -100.998322,66.333740 -102.001381,66.332710 -103.000191,66.333351 -104.001205,66.334633 -104.985023,66.334488 -104.975403,66.343758 -104.971352,66.354202 -104.964302,66.362770 -104.954941,66.365746 -104.944138,66.367126 -104.932777,66.369476 -104.922974,66.371941 -104.909760,66.375259 -104.897675,66.376122 -104.888145,66.376076 -104.876053,66.376312 -104.864532,66.376831 -104.860291,66.387558 -104.852905,66.393951 -104.842796,66.395615 -104.826996,66.395447 -104.817741,66.396645 -104.808922,66.402351 -104.808212,66.411995 -104.798523,66.412285 -104.789833,66.419586 -104.780144,66.420387 -104.774147,66.430374 -104.763306,66.435677 -104.754890,66.439217 -104.743187,66.442978 -104.734192,66.446625 -104.726044,66.450844 -104.722740,66.460144 -104.716576,66.467674 -104.703430,66.471146 -104.692413,66.475761 -104.684250,66.480782 -104.675087,66.484657 -104.662071,66.487785 -104.662437,66.498512 -104.656387,66.506554 -104.647774,66.512085 -104.647720,66.521385 -104.644081,66.531479 -104.638878,66.539352 -104.638100,66.549622 -104.634163,66.560005 -104.626366,66.568672 -104.617867,66.573914 -104.613647,66.582237 -104.621193,66.590752 -104.621124,66.599884 -104.617325,66.609581 -104.614090,66.620018 -104.606705,66.627541 -104.614563,66.633545 -104.611328,66.643127 -104.604797,66.650826 -104.599396,66.660919 -104.590736,66.664162 -104.586205,66.672318 -104.578346,66.681831 -104.569405,66.683586 -104.557556,66.687225 -104.550720,66.693832 -104.546158,66.703018 -104.540604,66.710655 -104.529167,66.715141 -104.519455,66.719406 -104.512589,66.727325 -104.516243,66.735664 -104.528313,66.740364 -104.537376,66.743347 -104.546860,66.747871 -104.546181,66.758026 -104.554474,66.766090 -104.560890,66.775452 -104.569954,66.780487 -104.580032,66.784843 -104.589920,66.788551 -104.606178,66.793999 -104.620628,66.797600 -104.628281,66.803520 -104.646248,66.806992 -104.659019,66.810310 -104.672127,66.814995 -104.685127,66.820396 -104.699402,66.825111 -104.715080,66.828506 -104.724564,66.830826 -104.739197,66.833511 -104.751877,66.834076 -104.762230,66.834816 -104.779114,66.838005 -104.789436,66.842163 -104.801277,66.851151 -104.810799,66.860085 -104.817047,66.867783 -104.825203,66.878044 -104.831528,66.885292 -104.840881,66.891922 -104.850708,66.899261 -104.861076,66.910271 -104.863487,66.920151 -104.871323,66.925598 -104.885963,66.928719 -104.896187,66.930344 -104.906448,66.931763 -104.921707,66.934669 -104.931831,66.936989 -104.940788,66.939278 -104.949783,66.941330 -104.963547,66.942825 -104.976540,66.945435 -104.989960,66.948975 -105.002197,66.952705 -105.023262,66.955971 -105.033623,66.956932 -105.046783,66.958618 -105.057854,66.962318 -105.072029,66.964958 -105.086357,66.966682 -105.101387,66.977043 -105.113762,66.976433 -105.123154,66.979858 -105.131813,66.984177 -105.139717,66.989616 -105.147812,66.993919 -105.147949,67.004196 -105.154457,67.012825 -105.171417,67.022331 -105.185287,67.027229 -105.194321,67.033150 -105.202782,67.042709 -105.207649,67.052856 -105.217430,67.054008 -105.226807,67.054001 -105.228867,67.063400 -105.244698,67.067200 -105.254318,67.069481 -105.271942,67.073090 -105.282463,67.073334 -105.300880,67.079468 -105.312401,67.084755 -105.322441,67.095932 -105.335701,67.105362 -105.344650,67.108307 -105.354462,67.109444 -105.369057,67.110001 -105.364517,67.128609 -105.376831,67.136642 -105.391281,67.138336 -105.411850,67.146332 -105.421997,67.149300 -105.433159,67.153419 -105.442886,67.155235 -105.454514,67.156174 -105.456146,67.165108 -105.469162,67.164711 -105.479027,67.161514 -105.486847,67.168526 -105.498856,67.178802 -105.500099,68.001366 -105.500801,68.440575 -105.486069,68.453590 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.117589,75.709518 -78.414574,76.210549</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-78.698259,75.951160 -78.685057,75.948375 -78.643967,75.938467 -78.585091,75.919943 -78.567628,75.911690 -78.549547,75.901928 -78.536260,75.895693 -78.498043,75.866184 -78.507099,75.831086 -78.534741,75.813341 -78.551686,75.805156 -78.576519,75.795442 -78.579706,75.793770 -78.592612,75.789301 -78.597081,75.788297 -78.599986,75.786836 -78.707129,75.763513 -78.842184,75.751980 -78.850832,75.752103 -78.858161,75.751518 -78.888508,75.750804 -78.949818,75.751991 -78.961613,75.750974 -79.003337,75.750112 -79.022290,75.749986 -79.077653,75.751514 -79.094086,75.744842 -79.200204,75.721310 -79.334529,75.709518 -79.476881,75.711235 -79.486342,75.712336 -79.495391,75.712501 -79.542679,75.716061 -79.653289,75.729744 -79.682723,75.737680 -79.747682,75.744185 -79.771121,75.747576 -79.802094,75.752587 -79.898910,75.778484 -79.908977,75.785224 -79.960102,75.791032 -80.057419,75.816864 -80.065160,75.819955 -80.115052,75.852936 -80.113416,75.863541 -80.117589,75.866922 -80.112161,75.902058 -80.107280,75.907045 -80.046924,75.938986 -79.971156,75.957780 -79.941777,75.963184 -79.941434,75.965241 -79.888747,75.992829 -79.887682,75.993481 -79.886684,75.993907 -79.880507,75.997134 -79.877613,75.997779 -79.868670,76.001593 -79.845572,76.010242 -79.772025,76.026569 -79.760633,76.032269 -79.756943,76.033086 -79.754909,76.034105 -79.738931,76.039096 -79.708051,76.045748 -79.692193,76.053938 -79.624461,76.070423 -79.614456,76.078101 -79.606773,76.082920 -79.558669,76.104045 -79.471410,76.124424 -79.468833,76.124854 -79.454413,76.140131 -79.452729,76.141011 -79.452524,76.142034 -79.389866,76.173783 -79.280883,76.197338 -79.142202,76.209073 -79.099224,76.209955 -79.079698,76.210086 -79.065309,76.209703 -79.042579,76.209895 -78.990176,76.209001 -78.971663,76.210549 -78.824694,76.208556 -78.730492,76.199305 -78.687207,76.193292 -78.649074,76.187214 -78.595236,76.172671 -78.568828,76.169586 -78.471808,76.143249 -78.448441,76.131784 -78.438462,76.125847 -78.414574,76.104074 -78.416358,76.077508 -78.429887,76.057834 -78.437472,76.049346 -78.458948,76.038797 -78.462046,76.027067 -78.526014,75.995516 -78.588123,75.982236 -78.606269,75.975820 -78.612684,75.974374 -78.617074,75.972193 -78.646560,75.963887 -78.695161,75.951750 -78.698259,75.951160 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-77.404736,67.169656 -73.222846,68.777647</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-75.425674,67.302577 -75.443322,67.287785 -75.460457,67.277356 -75.496834,67.266099 -75.545403,67.256336 -75.590100,67.251295 -75.636378,67.253245 -75.648271,67.254691 -75.675835,67.250369 -75.684624,67.244142 -75.713946,67.234350 -75.764011,67.222480 -75.767486,67.222034 -75.770908,67.220963 -75.783873,67.218697 -75.875658,67.205116 -75.907250,67.202261 -75.924820,67.202133 -75.975253,67.203201 -76.020502,67.198874 -76.037824,67.197733 -76.073802,67.199154 -76.109172,67.195033 -76.113859,67.195216 -76.117600,67.194835 -76.152462,67.194495 -76.153165,67.194532 -76.156068,67.194480 -76.213634,67.194578 -76.247820,67.196573 -76.257812,67.198646 -76.263340,67.196887 -76.267546,67.196392 -76.270448,67.195529 -76.323845,67.186156 -76.330808,67.185431 -76.344862,67.183345 -76.450447,67.173345 -76.466727,67.172255 -76.512922,67.173959 -76.538616,67.179239 -76.580184,67.174262 -76.600853,67.174131 -76.627375,67.174857 -76.649299,67.171926 -76.675660,67.169656 -76.721864,67.171301 -76.761820,67.179325 -76.769005,67.181522 -76.773038,67.181315 -76.774528,67.181360 -76.776053,67.181175 -76.807869,67.181518 -76.895593,67.187047 -76.898523,67.187304 -76.899539,67.187321 -76.959295,67.191863 -76.969777,67.192851 -76.986767,67.195330 -77.052546,67.207196 -77.076792,67.213021 -77.106750,67.226800 -77.136946,67.247991 -77.143653,67.253529 -77.186735,67.296171 -77.189181,67.299987 -77.192084,67.302944 -77.206827,67.328457 -77.242019,67.381884 -77.264053,67.401569 -77.310073,67.425500 -77.318507,67.430531 -77.332869,67.447681 -77.333651,67.452344 -77.334832,67.485359 -77.335414,67.485759 -77.349821,67.502907 -77.346006,67.520861 -77.337056,67.532877 -77.340337,67.545035 -77.350983,67.566644 -77.350769,67.568429 -77.352430,67.570441 -77.361426,67.603613 -77.371681,67.628601 -77.390583,67.649364 -77.396469,67.659155 -77.397270,67.663816 -77.398067,67.684389 -77.404736,67.712307 -77.404375,67.713774 -77.404243,67.722360 -77.389700,67.765246 -77.386055,67.771971 -77.340848,67.832039 -77.330374,67.867007 -77.326457,67.874475 -77.313826,67.885481 -77.269659,67.913291 -77.240705,67.932959 -77.205326,67.979270 -77.172242,68.022406 -77.150179,68.038399 -77.147779,68.039158 -77.146450,68.040067 -77.117257,68.052503 -77.113900,68.067268 -77.109086,68.072358 -77.071067,68.106070 -77.060434,68.112737 -77.056995,68.115350 -77.017417,68.135543 -77.015461,68.136184 -77.014112,68.137152 -76.993325,68.144771 -76.959582,68.154500 -76.959507,68.159737 -76.954557,68.172400 -76.945439,68.180834 -76.931877,68.190491 -76.918636,68.198018 -76.910630,68.201373 -76.863953,68.219090 -76.854882,68.230578 -76.849623,68.235967 -76.831121,68.251766 -76.813889,68.262323 -76.806322,68.265491 -76.720000,68.298385 -76.705361,68.302489 -76.696546,68.305370 -76.578327,68.332501 -76.575082,68.332910 -76.571984,68.333859 -76.550676,68.335985 -76.525446,68.339159 -76.520528,68.338987 -76.516611,68.339377 -76.496022,68.339613 -76.490490,68.342692 -76.452926,68.354152 -76.406321,68.359419 -76.394574,68.359650 -76.390373,68.359659 -76.382401,68.364161 -76.344751,68.375597 -76.298079,68.380834 -76.249525,68.379073 -76.216276,68.375346 -76.173291,68.366846 -76.142431,68.352918 -76.138521,68.348124 -76.136323,68.347998 -76.119069,68.346534 -76.107412,68.345217 -76.103029,68.347490 -76.099978,68.348478 -76.097637,68.350085 -76.086027,68.354617 -76.026907,68.374735 -76.000712,68.381568 -75.981743,68.384558 -75.934443,68.390354 -75.906641,68.392500 -75.858093,68.390629 -75.822225,68.384043 -75.808954,68.380524 -75.788669,68.378195 -75.715205,68.377056 -75.683203,68.374991 -75.663043,68.371924 -75.574384,68.354915 -75.564732,68.352534 -75.559865,68.351641 -75.425956,68.316486 -75.365217,68.303415 -75.306111,68.302353 -75.304166,68.302222 -75.300898,68.302217 -75.194901,68.298603 -75.168263,68.296582 -75.140648,68.291838 -75.093103,68.280859 -75.080249,68.279317 -75.037855,68.270535 -75.007797,68.256403 -74.996558,68.244307 -74.991352,68.234399 -74.977069,68.228072 -74.966146,68.221934 -74.934817,68.215402 -74.904891,68.201251 -74.898065,68.195224 -74.870373,68.164874 -74.864169,68.153568 -74.865054,68.143537 -74.879031,68.107017 -74.883925,68.099180 -74.895568,68.089688 -74.914499,68.077962 -74.911762,68.065038 -74.911778,68.064990 -74.911742,68.064942 -74.914491,68.051099 -74.928561,68.028088 -74.931541,68.024058 -74.953053,68.009266 -74.990515,67.991969 -75.020284,67.962264 -75.022162,67.931103 -74.997789,67.889967 -74.965006,67.868088 -74.940496,67.855550 -74.929909,67.849070 -74.917031,67.831733 -74.916975,67.824922 -74.928401,67.763863 -74.934162,67.719565 -74.903564,67.622772 -74.903807,67.621832 -74.903058,67.620813 -74.908693,67.602930 -74.912569,67.599017 -74.934861,67.579243 -74.951664,67.559570 -74.975866,67.511604 -74.979611,67.506049 -74.982053,67.504381 -74.982681,67.502845 -75.039840,67.449250 -75.040812,67.448637 -75.043185,67.446388 -75.095101,67.405637 -75.111558,67.395977 -75.148271,67.384798 -75.161935,67.382505 -75.200403,67.377108 -75.209666,67.373984 -75.228361,67.361030 -75.245139,67.354763 -75.258573,67.350642 -75.286748,67.331719 -75.299213,67.324864 -75.335734,67.313643 -75.345582,67.311894 -75.385664,67.305603 -75.420644,67.302360 -75.425674,67.302577 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-74.821653,68.108636 -74.783668,68.119731 -74.737169,68.124547 -74.697736,68.123266 -74.661690,68.119859 -74.658111,68.119163 -74.657700,68.119144 -74.652147,68.120185 -74.605620,68.124965 -74.557733,68.122727 -74.536008,68.120027 -74.529967,68.120287 -74.519454,68.129867 -74.498390,68.142622 -74.498186,68.142680 -74.497148,68.145733 -74.494732,68.148428 -74.494234,68.157951 -74.487872,68.171666 -74.469573,68.183586 -74.464296,68.194780 -74.440261,68.210403 -74.401933,68.221412 -74.355157,68.226123 -74.350282,68.225889 -74.346350,68.226229 -74.321105,68.226200 -74.281847,68.223779 -74.246683,68.216866 -74.206464,68.205545 -74.204656,68.204732 -74.201497,68.204070 -74.157385,68.190248 -74.145653,68.187435 -74.131047,68.183332 -74.101644,68.169042 -74.095033,68.162982 -74.078609,68.144191 -74.074174,68.135556 -74.073030,68.134031 -74.070705,68.124338 -74.070891,68.123763 -74.070464,68.123164 -74.076198,68.107131 -74.032105,68.105383 -74.005196,68.103156 -73.963521,68.094107 -73.962750,68.093730 -73.961712,68.093499 -73.958121,68.092266 -73.948551,68.091721 -73.931000,68.088882 -73.859856,68.074813 -73.830486,68.070121 -73.797138,68.062216 -73.782052,68.056223 -73.774962,68.052847 -73.772967,68.053449 -73.749390,68.059038 -73.702807,68.063571 -73.661658,68.061855 -73.633039,68.058775 -73.623829,68.058799 -73.590525,68.061377 -73.572471,68.062259 -73.524814,68.059731 -73.497810,68.054722 -73.446349,68.042012 -73.412330,68.034645 -73.406590,68.033083 -73.402699,68.032327 -73.355735,68.019817 -73.344751,68.016517 -73.336257,68.013356 -73.306033,68.000949 -73.285828,67.989678 -73.274073,67.972224 -73.274113,67.972121 -73.274046,67.972022 -73.271125,67.948554 -73.278081,67.930942 -73.286828,67.923721 -73.287916,67.922995 -73.258954,67.900067 -73.247261,67.882610 -73.247639,67.881639 -73.247112,67.880778 -73.246719,67.867305 -73.234502,67.861112 -73.222846,67.843652 -73.224884,67.832627 -73.229546,67.823454 -73.231647,67.798053 -73.238659,67.784006 -73.247828,67.776479 -73.276911,67.757312 -73.292106,67.749376 -73.293663,67.748936 -73.294606,67.748357 -73.334159,67.732697 -73.334364,67.732641 -73.334477,67.732571 -73.356332,67.723971 -73.391533,67.714337 -73.437500,67.709887 -73.484457,67.712440 -73.491250,67.713967 -73.525501,67.715819 -73.526449,67.715992 -73.528676,67.715775 -73.557735,67.716489 -73.591419,67.718871 -73.609342,67.720681 -73.641013,67.724879 -73.648736,67.725223 -73.664773,67.725646 -73.697779,67.724298 -73.708878,67.723062 -73.736089,67.721269 -73.769398,67.722271 -73.812960,67.725904 -73.819624,67.726616 -73.820875,67.726669 -73.870995,67.732190 -73.873520,67.732718 -73.876789,67.732887 -73.911918,67.737478 -73.939829,67.738394 -73.947639,67.739021 -73.954345,67.739205 -74.010029,67.743619 -74.129988,67.732726 -74.179755,67.727975 -74.260634,67.719768 -74.284028,67.718294 -74.331086,67.720610 -74.387890,67.727861 -74.486759,67.740424 -74.509353,67.744294 -74.576177,67.758985 -74.576550,67.759086 -74.576921,67.759150 -74.641349,67.773502 -74.659319,67.778378 -74.685543,67.790441 -74.720425,67.813540 -74.721311,67.814636 -74.723462,67.815677 -74.764446,67.846384 -74.797716,67.869808 -74.849879,67.901239 -74.855339,67.904881 -74.864893,67.914523 -74.885275,67.945114 -74.885312,67.945201 -74.885373,67.945262 -74.903256,67.972417 -74.906496,67.979966 -74.906751,67.985431 -74.903429,68.015238 -74.906283,68.027224 -74.906198,68.027504 -74.906407,68.027785 -74.900670,68.045657 -74.884243,68.064443 -74.876912,68.071040 -74.837983,68.099551 -74.821653,68.108636 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-75.314256,68.772691 -75.266552,68.777647 -75.217248,68.775596 -75.173891,68.766854 -75.152761,68.757967 -75.141191,68.755629 -75.120842,68.747669 -75.120016,68.747257 -75.110202,68.744594 -75.098370,68.739163 -75.096480,68.739167 -75.074705,68.738628 -75.044240,68.736490 -75.026519,68.733850 -74.953193,68.720471 -74.943593,68.718151 -74.937159,68.716979 -74.917564,68.711960 -74.908140,68.709294 -74.879021,68.696146 -74.854845,68.679786 -74.854418,68.679255 -74.853417,68.678790 -74.841132,68.664717 -74.833089,68.644881 -74.833439,68.643389 -74.832095,68.641632 -74.832130,68.634500 -74.835336,68.619769 -74.824777,68.614024 -74.811554,68.596697 -74.813613,68.590513 -74.748068,68.556329 -74.726389,68.545371 -74.709595,68.541889 -74.679386,68.527706 -74.661621,68.514755 -74.652732,68.506273 -74.644393,68.495136 -74.640242,68.486276 -74.646286,68.468423 -74.650947,68.463256 -74.653167,68.458423 -74.657780,68.451599 -74.662862,68.446854 -74.663416,68.446410 -74.664685,68.444333 -74.645217,68.435143 -74.632228,68.417799 -74.632326,68.417510 -74.632127,68.417238 -74.631562,68.413793 -74.637696,68.396500 -74.661790,68.380853 -74.665693,68.379731 -74.667822,68.378455 -74.676045,68.375409 -74.680735,68.374156 -74.673186,68.364074 -74.679174,68.346217 -74.681899,68.343175 -74.688275,68.339020 -74.689536,68.336684 -74.692227,68.334702 -74.692207,68.334675 -74.694233,68.322359 -74.696938,68.317291 -74.700877,68.311748 -74.724842,68.296090 -74.763140,68.285010 -74.768319,68.284477 -74.771832,68.283538 -74.786583,68.281288 -74.824695,68.277935 -74.872922,68.280097 -74.915271,68.288921 -74.916276,68.289394 -74.922329,68.290126 -74.931450,68.292024 -74.948552,68.290246 -74.968660,68.290270 -74.998784,68.291205 -75.026943,68.293304 -75.069374,68.302089 -75.079672,68.305733 -75.091836,68.310558 -75.111702,68.321032 -75.124991,68.338342 -75.125202,68.344580 -75.123545,68.355667 -75.123700,68.361840 -75.125720,68.362855 -75.128466,68.363487 -75.143356,68.367502 -75.156417,68.373589 -75.165054,68.373985 -75.187995,68.375855 -75.230635,68.384600 -75.258893,68.397716 -75.271688,68.399227 -75.314401,68.407950 -75.322649,68.410763 -75.351637,68.421571 -75.364787,68.428237 -75.375179,68.430563 -75.405683,68.444626 -75.415531,68.454015 -75.416261,68.455028 -75.445752,68.461006 -75.465961,68.468932 -75.479717,68.475789 -75.506430,68.488855 -75.517467,68.495292 -75.528192,68.505849 -75.537656,68.520383 -75.540626,68.527100 -75.539149,68.539178 -75.532030,68.553806 -75.528128,68.559608 -75.523492,68.564134 -75.523330,68.564269 -75.524007,68.565488 -75.518611,68.583366 -75.518109,68.583805 -75.518656,68.585825 -75.518058,68.587920 -75.519254,68.589650 -75.520284,68.613955 -75.519472,68.615979 -75.519141,68.620897 -75.512155,68.639573 -75.507426,68.647243 -75.499470,68.656402 -75.475657,68.672158 -75.466242,68.675505 -75.461526,68.680915 -75.454650,68.686508 -75.451569,68.696565 -75.438656,68.706803 -75.430738,68.711470 -75.426495,68.725254 -75.402562,68.740998 -75.388356,68.745366 -75.377859,68.752258 -75.373928,68.753395 -75.371803,68.754679 -75.346999,68.763910 -75.314256,68.772691 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.499590,72.713647 -78.080904,73.313876</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.499590,73.231705 -80.441615,73.269478 -80.355281,73.299385 -80.246744,73.313876 -80.115923,73.304956 -80.012927,73.295885 -79.924222,73.269864 -79.882716,73.237150 -79.869114,73.212338 -79.891348,73.194010 -79.904124,73.186951 -79.898372,73.152743 -79.734378,73.111314 -79.484202,73.067456 -79.176051,73.004956 -78.995625,72.969499 -78.882731,72.942979 -78.774590,72.926733 -78.661624,72.916045 -78.490783,72.916788 -78.287668,72.922862 -78.167469,72.905307 -78.080904,72.866303 -78.135565,72.858656 -78.228868,72.868108 -78.351948,72.859834 -78.452942,72.845760 -78.537764,72.834390 -78.614823,72.816386 -78.713729,72.804059 -78.722009,72.794698 -78.795173,72.788351 -78.830341,72.779062 -78.883029,72.765117 -78.948274,72.752125 -79.006940,72.746612 -79.081578,72.730311 -79.140137,72.724761 -79.219201,72.718746 -79.310841,72.713647 -79.475078,72.717891 -79.607848,72.727674 -79.693564,72.753870 -79.774720,72.777691 -79.812805,72.780441 -79.864169,72.808034 -79.921626,72.820110 -79.991653,72.825098 -80.073494,72.848800 -80.098064,72.868434 -80.106852,72.890931 -80.114135,72.915308 -80.148292,72.931617 -80.173050,72.951238 -80.205803,72.969418 -80.231368,73.004976 -80.243426,73.023693 -80.276376,73.041858 -80.272549,73.063447 -80.260362,73.078502 -80.234749,73.118458 -80.248774,73.143256 -80.245251,73.172805 -80.210395,73.190279 -80.227170,73.203344 -80.230951,73.215517 -80.287633,73.213425 -80.365358,73.210761 -80.418971,73.212398 -80.436991,73.215597 -80.499590,73.231705 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-95.028319,60.438154 -93.511466,61.685183</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-94.612158,60.438154 -95.002834,60.492542 -95.017489,60.502659 -95.028305,60.518639 -95.028319,60.534620 -95.006702,60.566587 -95.001291,60.598551 -94.979578,60.667809 -94.974093,60.734408 -94.930220,60.888918 -94.913579,60.974173 -94.907985,61.011474 -94.907834,61.062104 -94.896676,61.110063 -94.874506,61.144687 -94.867553,61.196721 -94.832001,61.254974 -94.760408,61.352946 -94.737802,61.399814 -94.700976,61.427059 -94.679625,61.433805 -94.666174,61.442302 -94.625854,61.461386 -94.594402,61.480486 -94.549493,61.501667 -94.477655,61.526996 -94.419106,61.552345 -94.392074,61.562888 -94.351513,61.577626 -94.265898,61.602775 -94.126126,61.636059 -94.013246,61.660869 -93.986262,61.662801 -93.891594,61.674848 -93.792532,61.682523 -93.753529,61.685183 -93.630859,61.683101 -93.523561,61.673427 -93.519805,61.658452 -93.511466,61.645560 -93.538671,61.639461 -93.588865,61.620801 -93.629949,61.604164 -93.644142,61.587244 -93.680493,61.574809 -93.699297,61.553664 -93.700210,61.532343 -93.683178,61.512979 -93.683917,61.495922 -93.684286,61.487394 -93.702488,61.479041 -93.698942,61.457678 -93.673234,61.433962 -93.669620,61.414730 -93.701580,61.395851 -93.724346,61.383276 -93.725859,61.347034 -93.727103,61.317188 -93.745717,61.296040 -93.764133,61.279152 -93.782274,61.268658 -93.804663,61.262465 -93.884660,61.254635 -93.920368,61.246402 -93.934309,61.227324 -93.890707,61.209905 -93.842656,61.194565 -93.808230,61.170802 -93.795824,61.149365 -93.796158,61.140839 -93.814289,61.128210 -93.818779,61.126118 -93.863404,61.111585 -93.881645,61.094684 -93.891218,61.073443 -93.922465,61.060911 -93.971272,61.048510 -94.041880,61.040516 -94.077936,61.010927 -94.109964,60.966378 -94.132846,60.932422 -94.159936,60.902754 -94.160571,60.879310 -94.165288,60.866550 -94.187589,60.849637 -94.201134,60.832668 -94.201846,60.804962 -94.219883,60.781625 -94.237737,60.764679 -94.268283,60.762723 -94.294759,60.747949 -94.295097,60.733031 -94.308485,60.718183 -94.365688,60.686506 -94.387918,60.661038 -94.401313,60.641920 -94.406017,60.622761 -94.406382,60.603582 -94.410997,60.588686 -94.441550,60.576035 -94.493585,60.571987 -94.494205,60.533632 -94.490296,60.508046 -94.516321,60.501753 -94.559793,60.482732 -94.598788,60.472205 -94.612000,60.450938 -94.612158,60.438154 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-87.359312,63.068105 -83.727509,64.512242</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-85.010379,64.450302 -84.987279,64.445122 -84.982187,64.424976 -85.085715,64.334888 -85.134823,64.302245 -85.156795,64.264159 -85.141143,64.227117 -85.160794,64.206865 -85.172722,64.173496 -85.171568,64.153630 -85.173810,64.135794 -85.230832,64.091098 -85.275027,64.047325 -85.307703,64.024351 -85.322126,63.971374 -85.310396,63.911240 -85.290754,63.873943 -85.276069,63.822589 -85.296557,63.775426 -85.326119,63.725285 -85.363158,63.664864 -85.368925,63.659860 -85.408535,63.603210 -85.461960,63.552884 -85.491164,63.526089 -85.558848,63.480300 -85.569648,63.472036 -85.617138,63.450042 -85.644636,63.451869 -85.639830,63.478503 -85.647844,63.514971 -85.659074,63.517510 -85.692070,63.539448 -85.685094,63.560550 -85.678108,63.581651 -85.693190,63.597015 -85.716191,63.612895 -85.765835,63.621523 -85.809325,63.624345 -85.821188,63.625113 -85.877126,63.626921 -85.948895,63.629717 -86.018408,63.626948 -86.117211,63.608030 -86.187112,63.590850 -86.259239,63.579161 -86.320694,63.575757 -86.364707,63.576649 -86.474864,63.585104 -86.557662,63.577500 -86.637508,63.566090 -86.670388,63.550096 -86.687232,63.547499 -86.764534,63.530500 -86.845181,63.515449 -86.977995,63.514072 -87.102902,63.526462 -87.191359,63.540316 -87.221048,63.549111 -87.304821,63.580537 -87.354933,63.647696 -87.359312,63.690900 -87.328831,63.728654 -87.290295,63.765973 -87.244574,63.784990 -87.201364,63.823832 -87.151523,63.856932 -87.010877,63.936954 -86.924496,63.967967 -86.822380,63.996255 -86.735788,64.012825 -86.593116,64.038642 -86.540045,64.051679 -86.482589,64.078789 -86.470101,64.119304 -86.465104,64.162055 -86.461729,64.199521 -86.464032,64.231941 -86.488235,64.260263 -86.499538,64.277065 -86.502678,64.320290 -86.484484,64.338956 -86.422655,64.351475 -86.369456,64.362688 -86.318448,64.366838 -86.246784,64.396649 -86.229612,64.424330 -86.212864,64.437680 -86.192590,64.449023 -86.141395,64.453112 -86.095929,64.439583 -86.076135,64.436581 -86.044769,64.456206 -85.986561,64.481358 -85.929418,64.502968 -85.876315,64.512242 -85.851819,64.510716 -85.823314,64.496362 -85.843834,64.472503 -85.877127,64.447644 -85.927852,64.395135 -85.987664,64.352159 -86.027020,64.307910 -86.053605,64.289800 -86.080679,64.257356 -86.089810,64.229196 -86.091519,64.223916 -86.086754,64.187723 -86.063595,64.157575 -86.035343,64.143261 -85.989854,64.118890 -85.919183,64.083940 -85.830752,64.078349 -85.767543,64.083301 -85.659965,64.097939 -85.622435,64.111678 -85.552494,64.135876 -85.515256,64.160398 -85.492256,64.191243 -85.477278,64.222614 -85.479263,64.240720 -85.497986,64.294073 -85.515771,64.338371 -85.514553,64.341887 -85.514534,64.377832 -85.486452,64.422737 -85.438164,64.453738 -85.423485,64.459968 -85.408180,64.467954 -85.365945,64.481359 -85.266020,64.469350 -85.238158,64.465694 -85.194385,64.448375 -85.186700,64.411885 -85.172719,64.392956 -85.157380,64.400915 -85.142920,64.417928 -85.098957,64.447336 -85.049111,64.458344 -85.010379,64.450302 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-85.446042,63.136550 -85.394716,63.147408 -85.342755,63.160004 -85.273112,63.165958 -85.224953,63.178782 -85.124378,63.193293 -85.081219,63.202830 -84.989072,63.226852 -84.895523,63.254324 -84.819273,63.277604 -84.792739,63.284675 -84.735825,63.309329 -84.707331,63.321647 -84.686053,63.347099 -84.642460,63.345690 -84.600280,63.373195 -84.567162,63.408573 -84.552897,63.447152 -84.531387,63.472581 -84.513762,63.498299 -84.491523,63.525476 -84.453501,63.562289 -84.437047,63.595303 -84.431766,63.609327 -84.422511,63.633869 -84.416553,63.649645 -84.396758,63.669796 -84.328945,63.677331 -84.278312,63.671711 -84.222406,63.669277 -84.184875,63.671831 -84.153320,63.669421 -84.117827,63.666702 -84.094169,63.664884 -84.077395,63.687045 -84.034331,63.703570 -83.993978,63.713078 -83.962677,63.730498 -83.932727,63.744411 -83.898793,63.758009 -83.874834,63.766966 -83.855062,63.765418 -83.824133,63.761186 -83.772597,63.737265 -83.736932,63.714578 -83.727509,63.697579 -83.767505,63.679084 -83.819965,63.659762 -83.867024,63.643611 -83.912867,63.620135 -83.930897,63.605304 -83.986740,63.566355 -84.035600,63.544897 -84.063927,63.534466 -84.116307,63.534907 -84.143783,63.537023 -84.181575,63.554352 -84.218172,63.564363 -84.243097,63.562656 -84.285905,63.535257 -84.299910,63.498458 -84.348528,63.455269 -84.366324,63.418760 -84.361955,63.376970 -84.373765,63.356234 -84.412894,63.326749 -84.468167,63.307485 -84.527261,63.288491 -84.550594,63.268614 -84.585599,63.260414 -84.641322,63.250140 -84.691059,63.223197 -84.744682,63.207334 -84.786481,63.179786 -84.832832,63.161566 -84.943677,63.140803 -85.038852,63.118844 -85.122255,63.095996 -85.140179,63.090071 -85.228165,63.076489 -85.365828,63.068105 -85.445078,63.068175 -85.444492,63.069933 -85.492535,63.080412 -85.511134,63.096059 -85.490735,63.121629 -85.467808,63.130849 -85.446042,63.136550 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-83.233993,63.578850 -81.353181,64.267480</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-81.582364,64.135929 -81.353181,64.077912 -81.354755,64.058051 -81.383892,64.024449 -81.400934,64.015160 -81.440859,64.009863 -81.486980,64.008781 -81.542718,64.004955 -81.608901,63.996636 -81.645061,63.981849 -81.759324,63.950711 -81.800963,63.932775 -81.825485,63.898718 -81.834606,63.879584 -81.848044,63.842687 -81.851923,63.808540 -81.863657,63.775121 -81.861936,63.744088 -81.854271,63.734296 -81.842251,63.707752 -81.798910,63.678280 -81.770880,63.668390 -81.763268,63.658593 -81.761445,63.636621 -81.792749,63.605044 -81.816596,63.589115 -81.848032,63.582975 -81.862202,63.578850 -81.925336,63.591992 -81.972077,63.605401 -82.002405,63.619093 -82.048420,63.634218 -82.075017,63.638472 -82.103123,63.648303 -82.144709,63.646653 -82.180770,63.648118 -82.198043,63.646057 -82.204358,63.641188 -82.209225,63.621675 -82.214011,63.611225 -82.229803,63.594517 -82.283830,63.592148 -82.371462,63.605466 -82.412173,63.614544 -82.467801,63.626746 -82.503853,63.628130 -82.535990,63.629159 -82.565023,63.637155 -82.575277,63.650741 -82.568327,63.675498 -82.577862,63.699891 -82.594457,63.717652 -82.617392,63.739588 -82.611180,63.753539 -82.593142,63.766457 -82.575867,63.777629 -82.557016,63.792286 -82.552327,63.802747 -82.532635,63.810081 -82.515287,63.812182 -82.494006,63.822997 -82.457708,63.830674 -82.426129,63.836948 -82.404004,63.849493 -82.420577,63.867275 -82.450615,63.882615 -82.477520,63.895858 -82.512345,63.900726 -82.579726,63.924732 -82.623312,63.928519 -82.666910,63.932293 -82.720000,63.933247 -82.763515,63.927929 -82.780916,63.925798 -82.817369,63.927102 -82.850758,63.935379 -82.876231,63.942974 -82.907978,63.945665 -82.942616,63.932303 -83.010465,63.918109 -83.028596,63.914202 -83.064292,63.917191 -83.107931,63.920831 -83.149565,63.938762 -83.179331,63.955696 -83.214601,63.969457 -83.223550,63.977428 -83.233993,63.981903 -83.220076,63.995226 -83.183008,64.004832 -83.146142,64.023492 -83.132163,64.036806 -83.081957,64.067015 -83.044182,64.087395 -82.996078,64.112336 -82.987682,64.131541 -83.010137,64.137033 -83.024031,64.152666 -83.016405,64.170126 -82.998466,64.192157 -82.967708,64.214929 -82.940747,64.228967 -82.917771,64.243335 -82.850629,64.253995 -82.753000,64.267480 -82.748987,64.267140 -82.687151,64.256449 -82.651059,64.253367 -82.618136,64.243301 -82.586030,64.231484 -82.557124,64.212686 -82.521079,64.200509 -82.513851,64.189009 -82.481839,64.168106 -82.415553,64.140569 -82.401193,64.135685 -81.582364,64.135929 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.501838,60.750227 -69.194611,60.930796</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.398570,60.930202 -69.208301,60.930796 -69.194611,60.750893 -69.501838,60.750227 -69.501814,60.768522 -69.497306,60.770403 -69.492651,60.775773 -69.488512,60.780546 -69.479453,60.779371 -69.471615,60.778449 -69.461856,60.776423 -69.459116,60.782895 -69.455489,60.787070 -69.442067,60.784283 -69.427457,60.786176 -69.426967,60.791708 -69.435692,60.794929 -69.435752,60.804800 -69.429188,60.814000 -69.421552,60.819457 -69.413213,60.824063 -69.401883,60.823822 -69.393493,60.818555 -69.384925,60.811842 -69.381443,60.812527 -69.377123,60.820785 -69.390939,60.831408 -69.399877,60.841014 -69.400809,60.853182 -69.402940,60.860668 -69.402081,60.863307 -69.400726,60.871479 -69.404784,60.880069 -69.409184,60.886616 -69.409756,60.895892 -69.402958,60.898708 -69.395455,60.900675 -69.391806,60.904849 -69.390083,60.910127 -69.399019,60.914798 -69.399043,60.919734 -69.400814,60.924327 -69.406941,60.925596 -69.398570,60.930202 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-70.002029,59.766532 -69.302936,60.366488</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-70.002029,59.964433 -69.998956,60.020828 -69.586716,60.109596 -69.479988,60.073036 -69.482846,59.883087 -69.484339,59.883207 -69.484321,59.766532 -69.621625,59.769657 -69.720524,59.847761 -69.999863,59.959736 -69.998651,59.963311 -70.002029,59.964433 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-69.800951,60.323141 -69.653059,60.366488 -69.302936,60.184232 -69.429328,60.116833 -69.586367,60.169991 -69.800951,60.323141 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.119319,59.000109 -68.849570,59.185414</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.118868,59.000318 -69.119319,59.185414 -68.849570,59.184758 -68.855808,59.000109 -69.118868,59.000318 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-65.777769,59.352540 -65.069858,60.014533</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-65.557427,59.724177 -65.464419,59.722711 -65.461678,59.611158 -65.513811,59.602360 -65.579372,59.657821 -65.557427,59.724177 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-65.432274,59.553024 -65.380239,59.551514 -65.389074,59.352540 -65.687423,59.370665 -65.777769,59.379600 -65.576254,59.553617 -65.432274,59.553024 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-65.236430,59.857260 -65.324564,59.884213 -65.265597,59.955689 -65.156623,60.014533 -65.069858,59.978655 -65.236430,59.857260 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.018373,56.691038 -79.547359,56.968351</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-80.018118,56.807556 -80.017891,56.808075 -80.017267,56.809502 -80.015630,56.810384 -80.014286,56.811168 -80.011703,56.811925 -80.008752,56.811811 -79.996567,56.809931 -79.970783,56.805979 -79.957478,56.803809 -79.955350,56.803528 -79.953043,56.803086 -79.950010,56.801449 -79.949162,56.799965 -79.945007,56.778692 -79.945161,56.777203 -79.946203,56.775969 -79.947368,56.775025 -79.949175,56.773755 -79.952229,56.773061 -80.003944,56.767958 -80.008177,56.767418 -80.011125,56.767533 -80.014196,56.767938 -80.016568,56.768799 -80.017711,56.770184 -80.018335,56.772187 -80.018373,56.791537 -80.018118,56.807556 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-79.881061,56.743439 -79.895048,56.694108 -79.896496,56.692516 -79.897838,56.691734 -79.899772,56.691306 -79.901885,56.691038 -79.903827,56.691159 -79.938051,56.695572 -79.943236,56.696260 -79.945431,56.697512 -79.946626,56.698768 -79.948473,56.704227 -79.963568,56.755762 -79.963170,56.756670 -79.962365,56.757936 -79.961031,56.759269 -79.958744,56.759927 -79.956864,56.760227 -79.953973,56.759981 -79.951612,56.759668 -79.884802,56.750250 -79.882964,56.749320 -79.881419,56.748290 -79.880461,56.747065 -79.880625,56.746126 -79.880847,56.745057 -79.881061,56.743439 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-79.672785,56.830496 -79.682099,56.842484 -79.682002,56.844886 -79.681208,56.846657 -79.677416,56.848562 -79.664402,56.851371 -79.679116,56.875357 -79.678905,56.878012 -79.676724,56.879597 -79.673496,56.880237 -79.668078,56.881386 -79.615229,56.886608 -79.605523,56.885297 -79.602978,56.884416 -79.585795,56.864911 -79.584160,56.860931 -79.584845,56.859413 -79.587487,56.856818 -79.613271,56.825682 -79.606189,56.816403 -79.547359,56.738626 -79.547465,56.736225 -79.548838,56.734265 -79.551016,56.732682 -79.581439,56.723670 -79.592464,56.721948 -79.595457,56.722891 -79.597990,56.723772 -79.599603,56.724528 -79.600415,56.725980 -79.610847,56.741887 -79.646018,56.792000 -79.672785,56.830496 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-79.726051,56.955556 -79.726848,56.958428 -79.725529,56.960041 -79.724205,56.961003 -79.722175,56.961545 -79.719515,56.962165 -79.707181,56.963767 -79.663717,56.968351 -79.660554,56.967438 -79.658514,56.966676 -79.657100,56.965184 -79.612715,56.907134 -79.611863,56.905066 -79.611991,56.902805 -79.614015,56.901613 -79.615689,56.900538 -79.618209,56.900227 -79.625136,56.899372 -79.684612,56.893388 -79.689442,56.893223 -79.692600,56.894135 -79.694779,56.895241 -79.696477,56.897422 -79.697476,56.899833 -79.726051,56.955556 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-78.765419,58.850906 -77.547200,59.467265</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-77.765715,59.466835 -77.743051,59.464187 -77.728643,59.460472 -77.711921,59.456986 -77.700569,59.453701 -77.681207,59.447044 -77.630276,59.428072 -77.607737,59.419272 -77.568243,59.407480 -77.548718,59.391282 -77.547200,59.382132 -77.555091,59.373776 -77.562376,59.362542 -77.578806,59.356527 -77.601593,59.350864 -77.620198,59.346832 -77.632314,59.344660 -77.652938,59.340912 -77.673437,59.339376 -77.683969,59.338089 -77.689152,59.336597 -77.696478,59.333179 -77.718845,59.320189 -77.745357,59.305557 -77.764255,59.294860 -77.780048,59.279818 -77.804648,59.266583 -77.833164,59.256132 -77.859572,59.241476 -77.880522,59.228834 -77.893756,59.212314 -77.909624,59.198954 -77.931966,59.193750 -77.950163,59.190187 -77.964397,59.189964 -77.997360,59.191258 -78.027768,59.181047 -78.028855,59.181198 -78.038490,59.169992 -78.038927,59.159640 -78.025337,59.137556 -78.024388,59.125057 -78.023670,59.100225 -78.034612,59.072479 -78.056539,59.050185 -78.081749,59.033558 -78.123059,59.019837 -78.150242,59.004131 -78.158004,58.994161 -78.158381,58.976655 -78.162988,58.948686 -78.173128,58.922145 -78.185495,58.898519 -78.194708,58.888107 -78.203282,58.878905 -78.229680,58.864396 -78.271705,58.855967 -78.300670,58.850906 -78.378674,58.855244 -78.442187,58.863377 -78.553762,58.878065 -78.645441,58.892528 -78.710878,58.899467 -78.748630,58.909117 -78.759294,58.920287 -78.765419,58.937978 -78.759181,58.955299 -78.749664,58.974125 -78.728314,58.993951 -78.710077,59.005114 -78.663635,59.009863 -78.616748,59.008045 -78.560591,58.999750 -78.513101,58.999106 -78.492602,59.014484 -78.475376,59.028361 -78.465749,59.044579 -78.460425,59.054892 -78.454470,59.066417 -78.446788,59.086152 -78.437604,59.106332 -78.409600,59.140826 -78.380767,59.162213 -78.337169,59.180267 -78.302061,59.191683 -78.265747,59.202925 -78.239792,59.210895 -78.235705,59.216696 -78.218786,59.234388 -78.195011,59.244452 -78.182611,59.249412 -78.164047,59.255742 -78.138113,59.261603 -78.113643,59.268778 -78.099472,59.272929 -78.044044,59.283017 -78.010880,59.290075 -77.993453,59.298218 -77.978208,59.314466 -77.958255,59.327269 -77.943737,59.338047 -77.939835,59.345301 -77.943390,59.356945 -77.953617,59.362279 -77.968088,59.369879 -77.997257,59.374517 -78.017752,59.379050 -78.044439,59.388342 -78.049421,59.403518 -78.040907,59.417373 -78.034704,59.424865 -78.016741,59.437962 -78.013592,59.439752 -77.984694,59.450765 -77.966535,59.456031 -77.951804,59.458988 -77.938088,59.462086 -77.921138,59.463057 -77.903449,59.463366 -77.883444,59.463904 -77.868246,59.465672 -77.836481,59.465665 -77.815173,59.466567 -77.788494,59.467265 -77.765715,59.466835 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-77.893800,56.320422 -77.414145,56.444967</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-77.576991,56.395270 -77.576694,56.395594 -77.571785,56.397924 -77.565642,56.399034 -77.559200,56.398755 -77.559126,56.398734 -77.559045,56.398731 -77.447660,56.380644 -77.442064,56.379038 -77.437876,56.376311 -77.437656,56.375934 -77.437299,56.375683 -77.415553,56.349525 -77.414145,56.346744 -77.414661,56.343172 -77.416434,56.340913 -77.433992,56.324842 -77.435155,56.323911 -77.440063,56.321588 -77.446197,56.320484 -77.448185,56.320422 -77.498387,56.320517 -77.502827,56.320862 -77.508003,56.322251 -77.601317,56.359555 -77.601544,56.359696 -77.601886,56.359792 -77.606085,56.362514 -77.608089,56.365920 -77.607592,56.369492 -77.605361,56.372161 -77.577388,56.395068 -77.576991,56.395270 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-77.887541,56.398686 -77.891766,56.401397 -77.893800,56.404798 -77.893331,56.408372 -77.890431,56.411574 -77.888159,56.412896 -77.825262,56.442823 -77.822638,56.443843 -77.816495,56.444967 -77.810042,56.444702 -77.808197,56.444353 -77.692574,56.418107 -77.688648,56.416840 -77.684436,56.414121 -77.682422,56.410716 -77.682912,56.407143 -77.685831,56.403946 -77.686918,56.403252 -77.734729,56.375608 -77.738539,56.373966 -77.744673,56.372847 -77.751112,56.373115 -77.751505,56.373225 -77.751890,56.373246 -77.882545,56.397208 -77.887541,56.398686 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.223427,52.999481 -79.656090,53.467007</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.000412,53.466423 -79.988876,53.467007 -79.978943,53.465717 -79.967491,53.462940 -79.957375,53.460850 -79.947830,53.458759 -79.938477,53.457016 -79.928940,53.454868 -79.917671,53.453228 -79.906784,53.452156 -79.895729,53.449146 -79.886589,53.445683 -79.874969,53.441410 -79.865082,53.437199 -79.855965,53.431908 -79.847504,53.428619 -79.839233,53.424641 -79.829277,53.418659 -79.819511,53.412846 -79.810791,53.407383 -79.801872,53.402657 -79.793716,53.398449 -79.786728,53.392422 -79.780235,53.385422 -79.779045,53.374794 -79.778221,53.364685 -79.778152,53.355434 -79.780197,53.345108 -79.784332,53.335194 -79.789330,53.325222 -79.795731,53.316402 -79.799385,53.306198 -79.800934,53.297184 -79.803444,53.286690 -79.804436,53.276474 -79.804878,53.264084 -79.805061,53.249466 -79.797997,53.243778 -79.787071,53.242756 -79.776047,53.241901 -79.765701,53.239853 -79.753288,53.236534 -79.744499,53.232662 -79.734108,53.227699 -79.725143,53.222569 -79.716476,53.216927 -79.708771,53.210888 -79.700798,53.203819 -79.694931,53.195793 -79.690399,53.187885 -79.685799,53.177982 -79.683090,53.168770 -79.679245,53.159271 -79.678162,53.149841 -79.675087,53.139889 -79.669739,53.130207 -79.666489,53.119450 -79.666351,53.109856 -79.660225,53.101826 -79.656090,53.093464 -79.656105,53.080502 -79.657494,53.070629 -79.662094,53.061405 -79.669289,53.055737 -79.676765,53.050129 -79.685478,53.044125 -79.694550,53.039093 -79.703804,53.034348 -79.713043,53.030460 -79.723312,53.027145 -79.733948,53.024574 -79.744583,53.022118 -79.755409,53.019375 -79.766052,53.016518 -79.777237,53.014858 -79.787956,53.012856 -79.799072,53.009541 -79.809227,53.007244 -79.819458,53.005695 -79.828934,53.004707 -79.838226,53.003036 -79.849602,53.000744 -79.999840,52.999481 -80.012413,53.000000 -80.022247,53.000412 -80.031540,53.000183 -80.041512,52.999741 -80.045280,53.009533 -80.044571,53.019756 -80.044220,53.030388 -80.044121,53.041656 -80.043900,53.059151 -80.044327,53.069454 -80.044029,53.082775 -80.043686,53.093292 -80.043526,53.103985 -80.041573,53.114246 -80.040466,53.124805 -80.040245,53.134869 -80.039413,53.147320 -80.049950,53.153290 -80.060280,53.155823 -80.069855,53.158230 -80.079437,53.160519 -80.090256,53.162941 -80.105164,53.167156 -80.114670,53.169212 -80.124298,53.170582 -80.133759,53.173553 -80.141739,53.177811 -80.149483,53.182808 -80.157318,53.187977 -80.165154,53.193256 -80.173943,53.200443 -80.181656,53.206352 -80.189301,53.211746 -80.197617,53.218979 -80.203934,53.226349 -80.207970,53.235683 -80.208549,53.245644 -80.209343,53.255093 -80.208466,53.265659 -80.206573,53.275406 -80.205566,53.286655 -80.206429,53.296562 -80.210297,53.305664 -80.213852,53.315220 -80.215523,53.324226 -80.217522,53.334496 -80.219719,53.344654 -80.223427,53.355125 -80.223022,53.365814 -80.218513,53.374260 -80.211266,53.382030 -80.203835,53.389568 -80.196869,53.395454 -80.189171,53.402355 -80.181862,53.409325 -80.172989,53.414833 -80.163361,53.420044 -80.154808,53.424759 -80.144936,53.429104 -80.134232,53.432751 -80.121506,53.438530 -80.110931,53.443321 -80.102219,53.447113 -80.093338,53.450500 -80.083504,53.453812 -80.074722,53.457031 -80.064537,53.461536 -80.054031,53.464836 -80.043465,53.465385 -80.031509,53.465111 -80.021156,53.465263 -80.010994,53.465534 -80.000412,53.466423 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-101.430949,76.771465 -101.100076,76.845916</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-101.200205,76.844889 -101.188184,76.843377 -101.162176,76.840717 -101.138516,76.836871 -101.132705,76.834896 -101.123470,76.831539 -101.118342,76.831167 -101.106623,76.825276 -101.101469,76.818107 -101.100076,76.813121 -101.103870,76.808669 -101.114531,76.800343 -101.133145,76.794106 -101.144687,76.791261 -101.152853,76.788814 -101.160948,76.786206 -101.184396,76.783094 -101.193526,76.781272 -101.224968,76.775387 -101.256089,76.772096 -101.305325,76.771465 -101.341392,76.773070 -101.368083,76.775858 -101.383856,76.779543 -101.398370,76.781961 -101.414938,76.787407 -101.426619,76.794585 -101.430949,76.802743 -101.426991,76.809797 -101.420842,76.815120 -101.412856,76.819513 -101.398412,76.826969 -101.370237,76.833929 -101.362220,76.835084 -101.355610,76.836206 -101.332957,76.839636 -101.300230,76.842806 -101.277492,76.844453 -101.262005,76.844801 -101.258059,76.845537 -101.241163,76.845916 -101.222650,76.845845 -101.200205,76.844889 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-97.616589,76.269653 -97.361101,76.378358</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-97.610800,76.283752 -97.611961,76.284665 -97.616185,76.291215 -97.616589,76.292205 -97.616088,76.294078 -97.607380,76.306245 -97.607174,76.306429 -97.607127,76.306563 -97.591626,76.324286 -97.591572,76.324331 -97.591562,76.324358 -97.572009,76.345777 -97.572005,76.345781 -97.572004,76.345783 -97.562856,76.355753 -97.561378,76.356952 -97.558345,76.358452 -97.536533,76.367077 -97.531806,76.368568 -97.528381,76.369340 -97.501335,76.374716 -97.492722,76.376006 -97.486202,76.376551 -97.464671,76.377847 -97.456716,76.378119 -97.430349,76.378358 -97.415649,76.377805 -97.414362,76.377619 -97.413146,76.377562 -97.387864,76.374860 -97.377691,76.373265 -97.368968,76.370423 -97.365791,76.367788 -97.361367,76.359409 -97.361101,76.358633 -97.363445,76.355178 -97.388716,76.339048 -97.396597,76.324962 -97.396878,76.324694 -97.396965,76.324428 -97.415079,76.302302 -97.416036,76.301491 -97.416139,76.301310 -97.436801,76.285746 -97.437250,76.285563 -97.437411,76.285324 -97.444631,76.282469 -97.480115,76.272989 -97.480423,76.272935 -97.480634,76.272853 -97.492594,76.270791 -97.506966,76.269972 -97.540841,76.269653 -97.552887,76.270000 -97.576296,76.271607 -97.577368,76.271750 -97.578849,76.271805 -97.591464,76.273635 -97.600172,76.276471 -97.601462,76.277218 -97.610176,76.282992 -97.610800,76.283752 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-90.641733,76.431606 -89.333978,76.850698</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-89.744150,76.666233 -89.757422,76.664534 -89.766714,76.664125 -89.791054,76.663750 -89.788025,76.657722 -89.787896,76.655954 -89.788846,76.654588 -89.820731,76.623937 -89.834915,76.606677 -89.811224,76.581768 -89.797801,76.575457 -89.795660,76.574228 -89.793862,76.571004 -89.798562,76.550500 -89.736848,76.535441 -89.671870,76.522699 -89.641606,76.517325 -89.635517,76.515975 -89.628254,76.512907 -89.626577,76.509424 -89.630738,76.506057 -89.640101,76.503317 -89.665916,76.498225 -89.710241,76.489469 -89.713198,76.485730 -89.716826,76.483248 -89.726159,76.480505 -89.739267,76.478805 -89.745468,76.478470 -89.824202,76.475784 -89.832889,76.475719 -89.847300,76.476679 -89.859047,76.478856 -89.861615,76.479647 -89.862299,76.479884 -89.893836,76.475300 -89.906956,76.468901 -89.907251,76.468812 -89.907391,76.468696 -89.916680,76.465946 -89.929753,76.464237 -89.937062,76.463862 -89.967232,76.463025 -89.974793,76.462990 -89.985908,76.463594 -90.061285,76.470575 -90.062623,76.470716 -90.062860,76.470730 -90.103319,76.474962 -90.104044,76.475089 -90.105041,76.475154 -90.116824,76.477319 -90.123533,76.479954 -90.144690,76.492863 -90.179897,76.506192 -90.210866,76.509959 -90.222274,76.512069 -90.229660,76.515121 -90.230591,76.515898 -90.239261,76.524611 -90.258689,76.528825 -90.261645,76.529541 -90.269047,76.532591 -90.270983,76.535472 -90.270705,76.543786 -90.282220,76.549113 -90.284399,76.550337 -90.286235,76.553815 -90.285444,76.555075 -90.279468,76.561405 -90.312229,76.575211 -90.312759,76.575492 -90.313213,76.575653 -90.362880,76.599566 -90.364764,76.600645 -90.366625,76.604121 -90.363065,76.615419 -90.384309,76.619382 -90.389319,76.620502 -90.433914,76.632428 -90.484171,76.645835 -90.491678,76.648878 -90.493575,76.652352 -90.490506,76.662334 -90.515442,76.668453 -90.515827,76.668601 -90.516485,76.668719 -90.524011,76.671760 -90.525919,76.675234 -90.524628,76.679457 -90.531719,76.681070 -90.532435,76.681335 -90.533764,76.681572 -90.540658,76.684204 -90.581167,76.708148 -90.620321,76.716559 -90.623116,76.717224 -90.630688,76.720261 -90.632517,76.722204 -90.641621,76.742595 -90.641733,76.744124 -90.637738,76.747502 -90.631738,76.749522 -90.607556,76.755656 -90.613185,76.765646 -90.613415,76.767413 -90.611528,76.773666 -90.607517,76.777043 -90.600353,76.779340 -90.564742,76.787605 -90.521866,76.805337 -90.513243,76.807769 -90.499930,76.809503 -90.491777,76.809910 -90.441044,76.811173 -90.427574,76.815314 -90.421740,76.816749 -90.408407,76.818478 -90.393188,76.818911 -90.378401,76.817981 -90.378206,76.817947 -90.377975,76.817932 -90.371793,76.817202 -90.371647,76.817212 -90.362523,76.817458 -90.359603,76.818872 -90.359304,76.818962 -90.359164,76.819078 -90.349734,76.821838 -90.336388,76.823563 -90.332822,76.823790 -90.317500,76.824590 -90.312095,76.831199 -90.308559,76.833588 -90.299109,76.836345 -90.285744,76.838068 -90.279569,76.838409 -90.226843,76.840303 -90.217774,76.840387 -90.202977,76.839448 -90.190887,76.837291 -90.187252,76.836159 -90.184960,76.835313 -90.073750,76.849013 -90.067250,76.849647 -90.057573,76.850070 -90.014404,76.850698 -90.008819,76.850688 -89.994025,76.849739 -89.992801,76.849519 -89.991582,76.849430 -89.962303,76.845411 -89.952685,76.843553 -89.947583,76.841814 -89.937115,76.837146 -89.911764,76.837045 -89.910656,76.836982 -89.909311,76.837018 -89.894537,76.836063 -89.884259,76.834333 -89.839001,76.823720 -89.838379,76.823484 -89.837242,76.823278 -89.831401,76.821178 -89.805460,76.808121 -89.804535,76.807573 -89.804350,76.807501 -89.777625,76.790802 -89.744808,76.783835 -89.741575,76.783061 -89.734304,76.780104 -89.720865,76.770885 -89.693899,76.760076 -89.662055,76.748430 -89.657939,76.746394 -89.656091,76.743661 -89.656155,76.726886 -89.656292,76.726141 -89.657986,76.724178 -89.673046,76.713274 -89.653617,76.706485 -89.649041,76.704279 -89.647337,76.700800 -89.651548,76.697436 -89.654558,76.696307 -89.675185,76.689715 -89.675329,76.689679 -89.675504,76.689615 -89.718111,76.676364 -89.734740,76.668957 -89.744150,76.666233 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-89.592877,76.484907 -89.583517,76.487645 -89.570384,76.489337 -89.570143,76.489344 -89.569936,76.489370 -89.554559,76.490462 -89.540099,76.490816 -89.522258,76.490457 -89.507854,76.489480 -89.503694,76.488894 -89.483917,76.485692 -89.476377,76.484086 -89.474261,76.483439 -89.447928,76.474583 -89.434939,76.470427 -89.415852,76.468168 -89.371051,76.463844 -89.367929,76.463503 -89.356266,76.461305 -89.342755,76.457522 -89.335580,76.454445 -89.333978,76.450959 -89.336360,76.444706 -89.340569,76.441341 -89.349944,76.438611 -89.353339,76.438016 -89.385062,76.433073 -89.394775,76.431985 -89.409627,76.431606 -89.410679,76.431678 -89.411627,76.431660 -89.467639,76.433512 -89.467901,76.433532 -89.469418,76.433581 -89.498782,76.434880 -89.502480,76.435180 -89.506076,76.435382 -89.538232,76.438436 -89.571016,76.439096 -89.598596,76.439648 -89.613787,76.437821 -89.619656,76.437253 -89.634507,76.436862 -89.648868,76.437833 -89.658573,76.439509 -89.677829,76.444089 -89.678519,76.444357 -89.679812,76.444598 -89.687053,76.447666 -89.688737,76.451149 -89.688046,76.452254 -89.683091,76.457757 -89.679648,76.460022 -89.670319,76.462764 -89.664091,76.463768 -89.645277,76.466197 -89.644711,76.466254 -89.644280,76.466321 -89.620322,76.469199 -89.609355,76.470723 -89.605387,76.472677 -89.596339,76.482644 -89.592877,76.484907 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-90.083065,76.134896 -89.070451,76.386800</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-90.070267,76.361108 -90.070733,76.362030 -90.058661,76.372160 -90.031039,76.380427 -89.992064,76.385569 -89.947689,76.386800 -89.904701,76.383931 -89.881039,76.380131 -89.847762,76.373195 -89.836409,76.370465 -89.827246,76.367522 -89.810543,76.367365 -89.808329,76.367228 -89.805789,76.367297 -89.762885,76.364405 -89.727966,76.357857 -89.722548,76.355732 -89.681468,76.354309 -89.668295,76.353309 -89.653036,76.352409 -89.627118,76.349779 -89.598454,76.349205 -89.595479,76.349002 -89.592782,76.349057 -89.534125,76.347170 -89.497000,76.344385 -89.476004,76.340409 -89.412303,76.339091 -89.393233,76.338305 -89.291836,76.331963 -89.268182,76.329786 -89.264669,76.329116 -89.261153,76.328838 -89.216253,76.322266 -89.188690,76.316596 -89.167470,76.307347 -89.163062,76.299505 -89.140746,76.295219 -89.125026,76.289321 -89.080732,76.266604 -89.075311,76.263247 -89.070451,76.253702 -89.075450,76.233471 -89.075960,76.233036 -89.075746,76.232544 -89.082682,76.225444 -89.102168,76.213249 -89.107841,76.210257 -89.135654,76.202077 -89.165718,76.198185 -89.164102,76.194511 -89.176629,76.184413 -89.204357,76.176226 -89.207557,76.175810 -89.209578,76.175247 -89.266182,76.165252 -89.299626,76.161190 -89.313473,76.160379 -89.314153,76.160350 -89.325183,76.157942 -89.327220,76.157662 -89.328874,76.157170 -89.367486,76.152118 -89.411223,76.150981 -89.430060,76.151378 -89.485803,76.148718 -89.517639,76.148295 -89.526933,76.148581 -89.527374,76.148599 -89.538223,76.145436 -89.576735,76.140353 -89.581167,76.140235 -89.584433,76.139838 -89.602360,76.138802 -89.638346,76.138143 -89.649703,76.138927 -89.674801,76.136638 -89.677679,76.136541 -89.680629,76.136149 -89.720136,76.134896 -89.797938,76.135743 -89.852503,76.136120 -89.855213,76.136286 -89.858416,76.136197 -89.893285,76.136872 -89.935574,76.139746 -89.954888,76.143401 -89.979092,76.142719 -90.021413,76.145579 -90.055971,76.152096 -90.077512,76.161282 -90.083065,76.170058 -90.071063,76.360348 -90.070267,76.361108 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-83.384977,74.769473 -79.281408,75.856064</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-83.372879,75.770634 -83.337441,75.770759 -83.217461,75.770475 -83.093243,75.766459 -83.007429,75.767665 -82.945254,75.783883 -82.813467,75.807231 -82.681285,75.830508 -82.521251,75.843673 -82.347244,75.856064 -82.174665,75.849241 -82.006487,75.837284 -81.861584,75.831638 -81.610095,75.825590 -81.412414,75.815159 -81.295807,75.801932 -81.180899,75.786983 -81.125819,75.792742 -81.062418,75.784031 -81.050393,75.765862 -81.071525,75.742503 -81.105377,75.728597 -81.154190,75.713755 -81.200622,75.693526 -81.238705,75.674589 -81.183947,75.664599 -81.055914,75.657565 -80.994601,75.647161 -80.902596,75.647296 -80.673210,75.665945 -80.556249,75.669808 -80.470366,75.663123 -80.398687,75.641421 -80.315404,75.647119 -80.248289,75.643197 -80.140328,75.622782 -80.059398,75.603913 -80.021674,75.577035 -79.994459,75.561329 -79.917900,75.560246 -79.880725,75.540396 -79.890397,75.530418 -79.956468,75.520325 -80.067123,75.507614 -80.155760,75.488277 -80.142155,75.480429 -80.028293,75.489446 -79.849526,75.492719 -79.673720,75.478428 -79.557846,75.474782 -79.518078,75.465253 -79.565845,75.445301 -79.575586,75.428272 -79.519362,75.407123 -79.438620,75.396760 -79.420505,75.372673 -79.440186,75.338612 -79.484382,75.314925 -79.479405,75.298723 -79.387775,75.292912 -79.381264,75.278369 -79.420486,75.252608 -79.477462,75.215612 -79.537456,75.182337 -79.675223,75.161030 -79.799812,75.145902 -79.896223,75.116629 -79.924422,75.086630 -80.002927,75.068572 -80.191179,75.057239 -80.285595,75.043613 -80.289038,75.017391 -80.197166,75.013539 -80.101379,74.991772 -79.986718,75.019940 -79.868338,75.044313 -79.752477,75.051153 -79.620165,75.039235 -79.515405,75.027235 -79.459009,75.000625 -79.457338,74.973997 -79.438060,74.951529 -79.399630,74.934884 -79.324487,74.921133 -79.281408,74.909459 -79.310411,74.872427 -79.399715,74.857047 -79.522276,74.842038 -79.635114,74.829889 -79.774651,74.810570 -79.861838,74.803764 -79.960375,74.806479 -80.016405,74.818839 -80.062266,74.812892 -80.058129,74.787917 -80.101793,74.769473 -80.476364,74.778537 -80.902822,74.812952 -81.067574,74.871860 -81.118320,74.946873 -81.218996,75.091399 -81.168307,75.221942 -81.402967,75.341987 -81.752833,75.444950 -82.253498,75.565308 -82.548437,75.607967 -82.913223,75.625674 -83.155587,75.638869 -83.359680,75.684844 -83.384977,75.745111 -83.372879,75.770634 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-81.593040,73.717632 -77.723612,74.577012</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.789909,74.552151 -80.667365,74.549804 -80.441578,74.552887 -80.397199,74.567126 -80.156012,74.568996 -79.684887,74.577012 -78.972729,74.550653 -78.456516,74.488898 -78.168473,74.425297 -77.780564,74.259141 -77.723612,74.160206 -77.785239,74.053026 -77.988342,73.896390 -78.198662,73.791903 -78.821225,73.717862 -79.478159,73.717632 -79.622058,73.744735 -79.896257,73.780570 -80.156367,73.797996 -80.460469,73.817950 -80.607113,73.815643 -80.806887,73.861407 -80.874496,73.891186 -81.049463,73.940334 -81.222179,73.993390 -81.450502,74.075010 -81.593040,74.189400 -81.537640,74.279401 -81.443114,74.358635 -81.235636,74.439696 -80.950567,74.516025 -80.789909,74.552151 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-87.097360,74.430787 -86.497222,74.500375</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-86.546935,74.494639 -86.517157,74.487622 -86.499706,74.478088 -86.497222,74.467491 -86.500564,74.463330 -86.504784,74.459543 -86.514273,74.453659 -86.540444,74.445692 -86.555854,74.443085 -86.566633,74.441605 -86.586744,74.439533 -86.596382,74.438976 -86.614543,74.438172 -86.620264,74.438148 -86.629076,74.437814 -86.653153,74.437685 -86.656659,74.437241 -86.673643,74.435572 -86.713112,74.434874 -86.745908,74.436026 -86.767862,74.436008 -86.774762,74.435336 -86.782942,74.434643 -86.810006,74.433703 -86.860705,74.433780 -86.899119,74.432690 -86.944153,74.430874 -86.972045,74.430787 -86.996523,74.432472 -87.031064,74.436128 -87.044104,74.437804 -87.074011,74.444757 -87.091748,74.454249 -87.094534,74.457955 -87.097293,74.463638 -87.097360,74.470523 -87.084861,74.480598 -87.069083,74.486194 -87.054886,74.490066 -87.044692,74.492495 -87.016079,74.496668 -87.003114,74.497887 -86.999826,74.497980 -86.996224,74.498461 -86.956619,74.499206 -86.926146,74.496478 -86.902321,74.497228 -86.862209,74.496887 -86.852491,74.496678 -86.841017,74.496283 -86.832585,74.496706 -86.802952,74.499048 -86.801781,74.499073 -86.800664,74.499221 -86.788457,74.499355 -86.761049,74.499933 -86.758289,74.499684 -86.755763,74.499711 -86.733716,74.498624 -86.680562,74.497925 -86.656513,74.498395 -86.652670,74.498791 -86.642356,74.499689 -86.602734,74.500375 -86.572630,74.497998 -86.554406,74.495690 -86.546935,74.494639 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-74.840099,71.700240 -74.050057,71.935255</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-74.840099,71.734681 -74.835985,71.745322 -74.819184,71.754658 -74.810862,71.757305 -74.794616,71.761815 -74.775990,71.765773 -74.755956,71.767515 -74.745242,71.773970 -74.737539,71.777206 -74.731893,71.780568 -74.729806,71.781528 -74.728388,71.782467 -74.721495,71.785878 -74.713778,71.789135 -74.686755,71.795727 -74.683482,71.796242 -74.675994,71.799076 -74.675672,71.799156 -74.675453,71.799279 -74.664587,71.803309 -74.664165,71.803413 -74.663891,71.803564 -74.645296,71.808091 -74.648566,71.811794 -74.647746,71.818025 -74.644806,71.823907 -74.641391,71.828310 -74.624428,71.837627 -74.606770,71.842491 -74.601045,71.843684 -74.590069,71.847483 -74.585842,71.848487 -74.570003,71.852638 -74.557595,71.854960 -74.554670,71.855248 -74.551666,71.855975 -74.518500,71.858805 -74.499787,71.858596 -74.482408,71.857819 -74.467006,71.856681 -74.455094,71.855439 -74.425251,71.850119 -74.404231,71.841641 -74.398696,71.835285 -74.396194,71.835601 -74.369202,71.837542 -74.359640,71.837157 -74.350275,71.837757 -74.336849,71.840448 -74.328377,71.841946 -74.320425,71.843176 -74.313120,71.844179 -74.290259,71.846938 -74.289078,71.847020 -74.285588,71.851550 -74.269141,71.860584 -74.263260,71.862730 -74.259767,71.865325 -74.255849,71.867740 -74.255903,71.867802 -74.255940,71.871272 -74.254867,71.876841 -74.252585,71.880475 -74.267112,71.884795 -74.285257,71.892471 -74.294230,71.902815 -74.289787,71.913439 -74.272586,71.922725 -74.249347,71.928583 -74.230858,71.931805 -74.228752,71.931999 -74.226744,71.932478 -74.193402,71.935255 -74.159176,71.933855 -74.129295,71.928493 -74.122554,71.926447 -74.109197,71.921933 -74.108247,71.921502 -74.105769,71.920703 -74.088102,71.913967 -74.072462,71.908457 -74.059425,71.902398 -74.050575,71.892044 -74.050852,71.891400 -74.050415,71.890839 -74.050057,71.885114 -74.054783,71.875699 -74.062234,71.868910 -74.063374,71.867496 -74.063590,71.858411 -74.068317,71.849737 -74.076476,71.844311 -74.082287,71.841340 -74.085480,71.837088 -74.100762,71.828525 -74.107636,71.825912 -74.113108,71.820899 -74.126848,71.812929 -74.159300,71.799838 -74.161251,71.799340 -74.162743,71.798533 -74.189943,71.792010 -74.223045,71.789233 -74.230625,71.789226 -74.236689,71.786739 -74.263848,71.780206 -74.296920,71.777416 -74.297469,71.777439 -74.297988,71.777396 -74.309019,71.777205 -74.331531,71.775871 -74.333313,71.775799 -74.341567,71.773949 -74.359156,71.771916 -74.409613,71.767930 -74.425069,71.767157 -74.451715,71.767856 -74.466277,71.768953 -74.470548,71.768022 -74.476258,71.766422 -74.487113,71.764073 -74.507439,71.759128 -74.522062,71.756243 -74.524239,71.756056 -74.525837,71.755687 -74.543443,71.753250 -74.547941,71.751863 -74.563252,71.747841 -74.565621,71.747098 -74.568724,71.745201 -74.573209,71.743119 -74.575589,71.738732 -74.578826,71.734667 -74.582386,71.731842 -74.594205,71.723790 -74.607532,71.717298 -74.618759,71.713893 -74.638944,71.708775 -74.654653,71.705596 -74.671899,71.703556 -74.702428,71.701056 -74.718072,71.700240 -74.751936,71.701548 -74.770644,71.704870 -74.776120,71.705080 -74.805839,71.710351 -74.826891,71.718790 -74.834142,71.725106 -74.838173,71.730672 -74.840099,71.734681 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-75.583379,65.123673 -71.180608,67.140774</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-72.997040,66.168610 -73.009341,65.705702 -72.990796,65.335176 -73.003034,65.304654 -73.146427,65.341354 -73.146950,65.337176 -73.201707,65.307980 -73.283183,65.273422 -73.308095,65.261566 -73.348513,65.248900 -73.415272,65.240131 -73.539057,65.242849 -73.669171,65.255706 -73.768360,65.270152 -73.852598,65.266844 -73.854883,65.264071 -74.045412,65.257385 -74.174087,65.235485 -74.265163,65.195791 -74.336007,65.171785 -74.433231,65.132925 -74.477313,65.123673 -74.622672,65.125514 -74.721880,65.139336 -74.761514,65.135572 -74.840747,65.128012 -75.050085,65.132080 -75.254977,65.132170 -75.433934,65.146980 -75.495846,65.152165 -75.564789,65.167481 -75.583379,65.191472 -75.582736,65.231364 -75.571561,65.285243 -75.563129,65.296431 -75.476592,65.294209 -75.385519,65.288253 -75.309966,65.281237 -75.227786,65.273287 -75.170383,65.280958 -75.148659,65.299598 -75.137890,65.313553 -75.149301,65.327420 -75.158570,65.344077 -75.170227,65.367216 -75.181904,65.390354 -75.160098,65.408995 -75.144538,65.409985 -75.037582,65.404810 -74.952920,65.399501 -74.888475,65.406156 -74.841767,65.409039 -74.815211,65.423929 -74.766504,65.457398 -74.712994,65.459324 -74.692905,65.456564 -74.612590,65.445497 -74.536801,65.447372 -74.483223,65.486314 -74.445204,65.505771 -74.402629,65.530779 -74.326287,65.569644 -74.256634,65.590862 -74.157854,65.601780 -74.144428,65.599892 -74.110870,65.595166 -74.061786,65.582040 -73.976958,65.566918 -73.869848,65.551653 -73.812529,65.547222 -73.815442,65.603030 -73.846615,65.625054 -73.875434,65.658439 -73.887252,65.695249 -73.903483,65.726824 -73.969080,65.741956 -74.058217,65.754509 -74.145010,65.787132 -74.193447,65.831878 -74.312471,65.895100 -74.457783,65.970493 -74.567314,66.020384 -74.625622,66.089484 -74.660345,66.134957 -74.623837,66.197100 -74.556751,66.243491 -74.426410,66.287197 -74.262927,66.335116 -74.083393,66.392442 -73.922459,66.461009 -73.840296,66.505283 -73.765202,66.524182 -73.636642,66.561998 -73.596007,66.591504 -73.554597,66.638489 -73.529216,66.667196 -73.394125,66.727518 -73.147597,66.786808 -73.145789,66.786553 -73.118980,66.801542 -73.067545,66.858020 -73.044108,66.922450 -73.005603,66.958861 -72.966611,67.001187 -72.952951,67.049089 -72.941525,67.061431 -72.896489,67.098936 -72.801499,67.129384 -72.674690,67.133327 -72.600929,67.140774 -72.483862,67.117997 -72.395749,67.097294 -72.361109,67.058282 -72.276481,66.985946 -72.214182,66.938794 -72.161593,66.919047 -71.953610,66.854153 -71.744069,66.812684 -71.506218,66.774555 -71.235498,66.728857 -71.253564,66.705475 -71.269104,66.689759 -71.288070,66.670549 -71.302605,66.650653 -71.311962,66.635996 -71.310589,66.611622 -71.326999,66.600076 -71.404673,66.587958 -71.400773,66.571255 -71.320054,66.560743 -71.270479,66.528855 -71.249935,66.503489 -71.225833,66.471512 -71.220355,66.456549 -71.181693,66.434355 -71.180608,66.420077 -71.207380,66.408167 -71.297047,66.414180 -71.558036,66.388412 -71.926671,66.374719 -72.195351,66.349234 -72.414381,66.327984 -72.649716,66.309752 -72.663959,66.166750 -72.997040,66.168610 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-102.416330,68.539799 -101.592431,68.862064</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-102.002852,68.593445 -102.023793,68.591443 -102.038074,68.591892 -102.051738,68.590308 -102.063730,68.590170 -102.097589,68.590756 -102.115030,68.591810 -102.141276,68.596765 -102.160346,68.605008 -102.169123,68.614665 -102.171922,68.622158 -102.181322,68.621947 -102.182671,68.622000 -102.189006,68.621916 -102.224247,68.622422 -102.242173,68.623470 -102.268481,68.628405 -102.282447,68.633693 -102.327311,68.655933 -102.332498,68.658873 -102.339109,68.666347 -102.342813,68.667824 -102.362922,68.670594 -102.383204,68.674777 -102.402425,68.682993 -102.411074,68.692016 -102.415851,68.702646 -102.415756,68.703245 -102.416330,68.703890 -102.413964,68.714646 -102.400444,68.724253 -102.380429,68.730693 -102.363969,68.734343 -102.362591,68.734516 -102.361357,68.734897 -102.336084,68.738058 -102.334596,68.738143 -102.312973,68.744808 -102.306052,68.746043 -102.280194,68.750077 -102.277426,68.750344 -102.272607,68.751090 -102.253200,68.753264 -102.248893,68.755231 -102.226191,68.762204 -102.213057,68.763729 -102.212074,68.764113 -102.211980,68.764139 -102.211668,68.764270 -102.172875,68.779155 -102.167074,68.780784 -102.160786,68.782911 -102.131885,68.790136 -102.122669,68.793619 -102.121652,68.793902 -102.122177,68.794900 -102.121428,68.802925 -102.118909,68.807948 -102.117144,68.810673 -102.108701,68.817558 -102.097433,68.824140 -102.084006,68.833356 -102.083574,68.834705 -102.081074,68.839197 -102.067341,68.848776 -102.044492,68.855725 -102.016006,68.858984 -101.976961,68.860541 -101.947189,68.859604 -101.947087,68.859585 -101.940014,68.860038 -101.923523,68.859516 -101.901109,68.862064 -101.871338,68.861115 -101.844849,68.856122 -101.842729,68.855206 -101.840416,68.854728 -101.827469,68.850332 -101.812156,68.846806 -101.802622,68.845645 -101.779063,68.840972 -101.776631,68.839919 -101.766876,68.839602 -101.740434,68.834593 -101.721324,68.826306 -101.720424,68.825262 -101.719027,68.824610 -101.714607,68.824928 -101.707754,68.825304 -101.678039,68.824323 -101.651635,68.819300 -101.632569,68.811004 -101.623742,68.800699 -101.623181,68.798754 -101.625924,68.788011 -101.629966,68.785232 -101.623620,68.779224 -101.618687,68.771719 -101.611664,68.766999 -101.602939,68.756743 -101.603031,68.750709 -101.605879,68.741751 -101.608533,68.737042 -101.609072,68.736671 -101.609187,68.736284 -101.618235,68.726285 -101.618010,68.724327 -101.616020,68.717403 -101.616071,68.713903 -101.614015,68.712937 -101.607309,68.709196 -101.601547,68.704227 -101.595443,68.697083 -101.592431,68.691744 -101.593824,68.682899 -101.600259,68.672328 -101.601429,68.671446 -101.601737,68.670275 -101.609779,68.660626 -101.610580,68.660077 -101.610752,68.659540 -101.612493,68.657724 -101.612227,68.657063 -101.612873,68.649596 -101.617039,68.640585 -101.619124,68.637307 -101.632916,68.627760 -101.634165,68.627381 -101.634872,68.626915 -101.650529,68.620414 -101.671312,68.614359 -101.699546,68.611155 -101.728594,68.612120 -101.729357,68.606467 -101.732361,68.600000 -101.734896,68.597612 -101.730826,68.594546 -101.723669,68.585402 -101.723260,68.581968 -101.723863,68.570138 -101.726943,68.562824 -101.740647,68.553267 -101.747954,68.550399 -101.757735,68.547065 -101.773068,68.543020 -101.801201,68.539799 -101.830558,68.540760 -101.856686,68.545758 -101.863064,68.547866 -101.898587,68.561013 -101.914692,68.561531 -101.926940,68.563274 -101.958229,68.568909 -101.972157,68.572149 -101.991147,68.580412 -101.998043,68.586734 -102.002852,68.593445 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.008646,51.760942 -78.786068,51.932998</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.008646,51.780363 -78.992168,51.791144 -78.978710,51.796075 -78.973879,51.799029 -78.970916,51.798928 -78.928178,51.865499 -78.906964,51.899002 -78.899612,51.909380 -78.885663,51.915348 -78.877316,51.915130 -78.875161,51.917394 -78.868947,51.916398 -78.867065,51.919452 -78.868425,51.923398 -78.875624,51.924924 -78.874745,51.927020 -78.877006,51.927382 -78.879725,51.925208 -78.880982,51.926528 -78.879392,51.928883 -78.873574,51.929815 -78.869577,51.932157 -78.863193,51.932998 -78.842204,51.925530 -78.828339,51.915474 -78.820692,51.906414 -78.817451,51.905520 -78.808905,51.900043 -78.801512,51.893260 -78.797432,51.882908 -78.791296,51.877445 -78.786068,51.868399 -78.786720,51.845387 -78.788918,51.831574 -78.801109,51.819748 -78.815860,51.806098 -78.843909,51.789372 -78.861657,51.781421 -78.880397,51.772509 -78.901613,51.767719 -78.927219,51.761021 -78.947662,51.760942 -78.971142,51.766558 -78.983528,51.768536 -78.995192,51.772259 -79.008646,51.780363 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.034474,55.700048 -79.847777,55.900818</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.034474,55.900818 -79.847777,55.898763 -79.855285,55.702115 -80.032750,55.700048 -80.034474,55.900818 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-72.313339,63.406048 -71.178801,63.749302</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-72.114388,63.438446 -72.313339,63.576627 -72.272763,63.616373 -72.231505,63.636548 -72.177915,63.648175 -72.128019,63.658242 -72.095992,63.661546 -72.055703,63.660213 -72.020775,63.655436 -72.020254,63.653183 -71.989603,63.649115 -71.977912,63.642816 -71.966160,63.645170 -71.955146,63.655230 -71.948015,63.646446 -71.930162,63.644519 -71.912527,63.648043 -71.909968,63.636776 -71.880068,63.640392 -71.902601,63.653952 -71.883846,63.661620 -71.869948,63.663606 -71.880721,63.679515 -71.859400,63.675912 -71.855540,63.663337 -71.840723,63.674921 -71.849960,63.684071 -71.864282,63.692995 -71.858088,63.697367 -71.869265,63.701423 -71.848132,63.703272 -71.846404,63.713819 -71.833291,63.714855 -71.834306,63.719363 -71.817624,63.727383 -71.779703,63.723133 -71.770161,63.717178 -71.763574,63.710639 -71.743877,63.705127 -71.733895,63.711024 -71.705676,63.704057 -71.692736,63.710534 -71.681922,63.717373 -71.694397,63.722751 -71.701965,63.733802 -71.688019,63.735770 -71.671936,63.737374 -71.659140,63.749302 -71.643377,63.747703 -71.634186,63.738539 -71.630578,63.731412 -71.663065,63.725013 -71.657154,63.712069 -71.671403,63.692796 -71.667299,63.683415 -71.692516,63.676864 -71.678750,63.670178 -71.656644,63.667491 -71.659106,63.678762 -71.646330,63.676581 -71.641418,63.668145 -71.626031,63.663345 -71.632582,63.655782 -71.614919,63.645162 -71.594810,63.637375 -71.589559,63.646245 -71.576803,63.644058 -71.581692,63.652496 -71.604246,63.671557 -71.614399,63.671124 -71.647313,63.681090 -71.653540,63.690834 -71.638135,63.700143 -71.636657,63.707488 -71.614842,63.715702 -71.587441,63.721875 -71.555955,63.718659 -71.543848,63.710070 -71.576515,63.695036 -71.554738,63.689133 -71.540947,63.696541 -71.522206,63.709616 -71.502486,63.718179 -71.468536,63.717778 -71.458237,63.712747 -71.467322,63.702359 -71.482306,63.690814 -71.484169,63.680272 -71.522530,63.672747 -71.523554,63.663148 -71.536227,63.645778 -71.506134,63.643861 -71.494762,63.628869 -71.468678,63.616768 -71.510243,63.605468 -71.507506,63.597394 -71.526999,63.583376 -71.516877,63.583804 -71.472964,63.583830 -71.445535,63.584521 -71.444138,63.597318 -71.429890,63.602461 -71.395370,63.608441 -71.382759,63.611690 -71.383098,63.628053 -71.370229,63.639956 -71.338393,63.634437 -71.313762,63.629073 -71.310880,63.610086 -71.314357,63.592204 -71.326764,63.578052 -71.353150,63.567418 -71.329865,63.563369 -71.302452,63.564033 -71.306782,63.570224 -71.313794,63.584494 -71.289685,63.606398 -71.255961,63.611401 -71.234857,63.613160 -71.207690,63.605153 -71.178801,63.593571 -71.204427,63.583907 -71.236925,63.583059 -71.222027,63.575016 -71.233270,63.565013 -71.209095,63.556433 -71.226676,63.547540 -71.241762,63.541475 -71.243333,63.534135 -71.271364,63.521630 -71.296989,63.517404 -71.331882,63.513704 -71.326990,63.499803 -71.320454,63.487790 -71.346506,63.485810 -71.368332,63.483091 -71.376088,63.471398 -71.402473,63.466210 -71.458523,63.471603 -71.477481,63.455337 -71.484024,63.447782 -71.517790,63.453634 -71.517174,63.445925 -71.504379,63.438277 -71.513496,63.433341 -71.551518,63.425808 -71.551374,63.420354 -71.557889,63.412795 -71.582229,63.412663 -71.587921,63.406048 -71.634966,63.407659 -71.709127,63.417171 -71.793093,63.429399 -71.818252,63.428279 -71.864745,63.436215 -71.916084,63.438453 -71.928850,63.431956 -71.961151,63.430943 -72.007173,63.436578 -72.010940,63.426387 -72.037684,63.423334 -72.051933,63.432239 -72.076287,63.432022 -72.114388,63.438446 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.972243,57.228808 -79.535647,57.659765</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.932096,57.505534 -79.936176,57.511509 -79.934825,57.529448 -79.932824,57.532010 -79.931873,57.544609 -79.929675,57.549506 -79.915646,57.565800 -79.915249,57.565997 -79.915026,57.566252 -79.906246,57.572560 -79.903511,57.576987 -79.898473,57.582246 -79.894827,57.586898 -79.879085,57.600400 -79.877104,57.601451 -79.875677,57.603104 -79.868750,57.607575 -79.867526,57.608270 -79.866530,57.621114 -79.852443,57.637403 -79.827790,57.649556 -79.820968,57.651561 -79.807788,57.655027 -79.783142,57.659181 -79.770509,57.659720 -79.755007,57.659765 -79.734169,57.658449 -79.703812,57.650855 -79.681204,57.637608 -79.669785,57.620728 -79.669164,57.609541 -79.670083,57.604202 -79.663210,57.596459 -79.662195,57.594686 -79.655746,57.590617 -79.643185,57.593061 -79.609781,57.592247 -79.584528,57.586465 -79.574503,57.583058 -79.572556,57.581989 -79.569486,57.581215 -79.546977,57.567944 -79.535647,57.551053 -79.537208,57.533119 -79.543968,57.518452 -79.558153,57.502204 -79.582795,57.490109 -79.608190,57.484610 -79.620429,57.483124 -79.623205,57.483139 -79.626383,57.482519 -79.659681,57.483328 -79.668553,57.485563 -79.676683,57.475380 -79.686313,57.466313 -79.705416,57.456138 -79.719420,57.450728 -79.722170,57.450124 -79.724886,57.448782 -79.730772,57.447628 -79.731012,57.442393 -79.731244,57.441455 -79.731169,57.440524 -79.733274,57.423173 -79.735536,57.415241 -79.738540,57.409995 -79.755055,57.386254 -79.766090,57.375230 -79.778711,57.368975 -79.778591,57.368725 -79.776845,57.364166 -79.778272,57.346235 -79.792275,57.329963 -79.816712,57.317823 -79.816811,57.317804 -79.814703,57.316562 -79.792346,57.327668 -79.785586,57.329670 -79.772525,57.333130 -79.748107,57.337275 -79.714948,57.336491 -79.684880,57.328896 -79.662490,57.315653 -79.654457,57.306194 -79.648981,57.297168 -79.645713,57.289755 -79.647205,57.271827 -79.661240,57.255573 -79.685670,57.243462 -79.716777,57.237334 -79.749840,57.238117 -79.770812,57.242563 -79.789340,57.248123 -79.798375,57.251252 -79.802738,57.253827 -79.808495,57.247116 -79.832867,57.234975 -79.863940,57.228808 -79.896998,57.229550 -79.927027,57.237088 -79.927389,57.237302 -79.927859,57.237421 -79.939188,57.242012 -79.960803,57.254868 -79.972243,57.271709 -79.970920,57.289640 -79.968532,57.294036 -79.962367,57.303590 -79.954231,57.311993 -79.950411,57.316465 -79.942276,57.320525 -79.951995,57.326225 -79.963454,57.343069 -79.963382,57.344046 -79.963914,57.344878 -79.968304,57.365131 -79.966516,57.381256 -79.952574,57.397551 -79.932768,57.407411 -79.932795,57.407450 -79.933288,57.419755 -79.931141,57.430006 -79.932614,57.435501 -79.944695,57.445426 -79.945178,57.446100 -79.946168,57.446679 -79.957665,57.463527 -79.956327,57.481464 -79.942948,57.497304 -79.932096,57.505534 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-89.211735,70.530720 -80.934134,72.435151</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-84.665091,71.343282 -84.669273,71.331456 -84.661924,71.289566 -84.618337,71.264645 -84.603828,71.252632 -84.603642,71.250818 -84.601881,71.249440 -84.597137,71.239875 -84.597259,71.225187 -84.606064,71.215206 -84.646707,71.183309 -84.665825,71.128692 -84.666926,71.127665 -84.666795,71.126422 -84.690159,71.080170 -84.684836,71.053479 -84.646854,71.027800 -84.636658,71.018386 -84.633610,71.003525 -84.647127,70.957892 -84.655607,70.925722 -84.621457,70.879150 -84.498511,70.816682 -84.327308,70.776860 -84.247090,70.776159 -84.083033,70.781615 -84.076766,70.781540 -84.068314,70.781840 -83.869271,70.781297 -83.687373,70.805068 -83.515879,70.833969 -83.481737,70.837961 -83.427341,70.838226 -83.409082,70.844409 -83.388043,70.850248 -83.337926,70.857321 -83.315906,70.858263 -83.196166,70.860194 -83.171885,70.876105 -83.163911,70.880654 -83.125660,70.893440 -83.075350,70.900445 -83.020716,70.900596 -83.011315,70.906705 -83.003295,70.911247 -82.964889,70.924000 -82.914451,70.930962 -82.911132,70.930969 -82.908387,70.931325 -82.799987,70.936964 -82.751283,70.936680 -82.693341,70.932978 -82.584272,70.934136 -82.552614,70.933285 -82.548149,70.932681 -82.544080,70.932641 -82.427802,70.922560 -82.299274,70.929347 -82.249210,70.929009 -82.222787,70.926342 -82.203886,70.923740 -82.166986,70.931713 -82.116266,70.938468 -82.112180,70.938459 -82.108869,70.938866 -81.941286,70.946321 -81.939567,70.946301 -81.931079,70.946647 -81.882353,70.947609 -81.833378,70.965631 -81.808001,70.982675 -81.797569,70.988529 -81.758286,71.001039 -81.707264,71.007686 -81.652309,71.007452 -81.569492,71.001688 -81.536984,70.998014 -81.507302,70.993260 -81.421813,70.997595 -81.370433,70.997088 -81.352894,70.995449 -81.147773,70.971346 -81.115058,70.965799 -81.101184,70.962179 -80.989308,70.928903 -80.965371,70.919572 -80.945679,70.902869 -80.943761,70.897105 -80.934134,70.827260 -80.937391,70.815124 -80.957438,70.799719 -81.029299,70.764164 -81.030548,70.763761 -81.031304,70.763197 -81.044318,70.757956 -81.118922,70.732012 -81.145119,70.724873 -81.195629,70.718369 -81.239328,70.718108 -81.359196,70.723634 -81.363701,70.724216 -81.369697,70.724251 -81.419425,70.731395 -81.457135,70.744271 -81.465140,70.748950 -81.564438,70.815591 -81.576479,70.827561 -81.576419,70.828897 -81.577630,70.829983 -81.597262,70.879878 -81.629488,70.880696 -81.637276,70.881795 -81.684666,70.861334 -81.719875,70.850589 -81.770509,70.843936 -81.787631,70.843240 -82.024256,70.838314 -82.104048,70.817424 -82.114283,70.814980 -82.164704,70.808224 -82.219139,70.808313 -82.256032,70.810782 -82.382226,70.808236 -82.418398,70.809044 -82.555556,70.818035 -82.597471,70.823162 -82.639078,70.830926 -82.750432,70.829039 -82.771423,70.814281 -82.781495,70.808373 -82.819799,70.795653 -82.869943,70.788713 -82.896973,70.787779 -82.919804,70.787724 -82.930988,70.782432 -82.967163,70.770651 -82.995071,70.765826 -83.076855,70.755351 -83.098962,70.753187 -83.141808,70.752464 -83.202465,70.754528 -83.279706,70.737070 -83.329557,70.730010 -83.332063,70.729999 -83.334185,70.729712 -83.475247,70.721403 -83.726500,70.686287 -83.742751,70.684571 -83.745737,70.684116 -83.855030,70.674631 -83.995770,70.646674 -84.036896,70.641214 -84.057104,70.640224 -84.193844,70.636861 -84.225796,70.625650 -84.246377,70.619718 -84.250249,70.619144 -84.239227,70.610944 -84.235929,70.598708 -84.239263,70.573998 -84.241094,70.568324 -84.260314,70.551588 -84.297257,70.538570 -84.346295,70.531244 -84.399997,70.530720 -84.490737,70.535788 -84.541014,70.542120 -84.580239,70.554376 -84.599884,70.567553 -84.616248,70.585142 -84.661346,70.603345 -84.663229,70.604609 -84.666956,70.605766 -84.686703,70.618933 -84.719210,70.653586 -84.720509,70.654350 -84.854582,70.676837 -85.042445,70.686748 -85.153732,70.686859 -85.159967,70.687022 -85.162325,70.686953 -85.264490,70.689093 -85.276990,70.689540 -85.327866,70.695663 -85.367832,70.707751 -85.390809,70.723974 -85.393265,70.741866 -85.388922,70.748215 -85.369921,70.768975 -85.355751,70.779464 -85.319046,70.792678 -85.316551,70.793061 -85.314830,70.793658 -85.188314,70.821834 -85.145703,70.841520 -85.130836,70.860981 -85.129199,70.884704 -85.206625,70.914345 -85.208850,70.915767 -85.213308,70.917106 -85.236325,70.933246 -85.257500,70.961335 -85.308978,70.980900 -85.493353,70.983558 -85.556530,70.978700 -85.608760,70.969998 -85.666913,70.958425 -85.679708,70.956673 -85.692829,70.954380 -85.810729,70.940559 -85.908072,70.906108 -86.008576,70.865594 -86.033192,70.857814 -86.082352,70.850051 -86.136808,70.849038 -86.169808,70.851938 -86.241263,70.861393 -86.259794,70.864377 -86.263933,70.865584 -86.268172,70.866122 -86.300413,70.873366 -86.429449,70.872651 -86.482837,70.846934 -86.513619,70.836259 -86.562548,70.828373 -86.616923,70.827226 -86.655933,70.830874 -86.744840,70.843984 -86.747878,70.844493 -86.748677,70.844571 -86.861212,70.862441 -87.237554,70.877949 -87.249034,70.878570 -87.438894,70.891409 -87.563610,70.881370 -87.566381,70.881314 -87.583561,70.880250 -87.801227,70.873150 -88.000165,70.865142 -88.032789,70.865066 -88.035531,70.865350 -88.038122,70.865293 -88.278799,70.876899 -88.301307,70.879352 -88.321403,70.881279 -88.392921,70.892983 -88.394724,70.893457 -88.397138,70.893702 -88.412141,70.896780 -88.498124,70.916960 -88.622061,70.916813 -88.765195,70.909934 -88.799443,70.909656 -88.985942,70.915534 -89.038372,70.920662 -89.058856,70.924988 -89.155511,70.949474 -89.177569,70.956428 -89.203753,70.972157 -89.210097,70.985391 -89.211735,71.046992 -89.211156,71.051558 -89.195533,71.068720 -89.160837,71.082629 -89.142773,71.086769 -89.032231,71.108049 -89.001740,71.112421 -88.970138,71.114330 -88.855325,71.116917 -88.831968,71.116809 -88.795472,71.113235 -88.782455,71.114814 -88.759515,71.116412 -88.634305,71.121618 -88.602254,71.121754 -88.549422,71.116511 -88.545102,71.115355 -88.540754,71.114867 -88.503190,71.107144 -88.383156,71.095089 -88.357745,71.091612 -88.320742,71.082212 -88.244226,71.054926 -88.242325,71.053827 -88.238829,71.052880 -88.214967,71.038763 -88.195930,71.020419 -88.101768,71.012123 -87.923655,71.003366 -87.834086,71.019057 -87.806349,71.022728 -87.751536,71.024209 -87.724382,71.022299 -87.702501,71.020002 -87.692999,71.021590 -87.638181,71.023039 -87.590065,71.018272 -87.555447,71.012468 -87.487252,71.014617 -87.487183,71.014727 -87.530614,71.024017 -87.531289,71.024219 -87.534434,71.024863 -87.745082,71.072929 -87.749691,71.074336 -87.758177,71.076292 -87.905086,71.118688 -87.921714,71.124360 -87.933110,71.129715 -88.004647,71.168925 -88.065996,71.162894 -88.066860,71.162868 -88.067655,71.162734 -88.122814,71.161166 -88.156577,71.163724 -88.253520,71.175218 -88.433483,71.184131 -88.543436,71.187777 -88.704038,71.192989 -88.808000,71.196291 -88.861103,71.201463 -88.904071,71.212785 -88.930372,71.228540 -88.930463,71.228828 -88.930871,71.229076 -88.974193,71.276558 -88.979345,71.293817 -88.963342,71.310950 -88.949427,71.317803 -88.850931,71.357839 -88.829503,71.364834 -88.780192,71.373275 -88.766111,71.374397 -88.573306,71.386368 -88.499301,71.392186 -88.494248,71.395090 -88.459358,71.408372 -88.409788,71.416721 -88.353957,71.418369 -88.300417,71.413064 -88.298935,71.412670 -88.297218,71.412492 -88.267865,71.407083 -88.226723,71.410777 -88.172578,71.412220 -88.119102,71.406865 -88.090003,71.400144 -88.074995,71.395661 -88.042801,71.391611 -87.912841,71.402669 -87.825965,71.411429 -87.824169,71.411485 -87.822454,71.411767 -87.766592,71.413250 -87.754794,71.412661 -87.528260,71.398096 -87.486772,71.393175 -87.450373,71.383886 -87.389949,71.362427 -87.328618,71.346601 -87.305876,71.339212 -87.280695,71.323250 -87.276518,71.305416 -87.278445,71.301656 -87.289520,71.284513 -87.245303,71.285577 -87.213885,71.283155 -87.094396,71.269138 -87.072951,71.265942 -87.030903,71.254228 -87.009053,71.241332 -86.984167,71.218521 -86.878959,71.183477 -86.868683,71.179641 -86.850993,71.170001 -86.799831,71.132142 -86.781484,71.127756 -86.750157,71.126436 -86.769727,71.149742 -86.769737,71.149791 -86.769804,71.149835 -86.773510,71.167687 -86.760488,71.181762 -86.721170,71.207911 -86.718250,71.209066 -86.716444,71.210785 -86.692819,71.219474 -86.692384,71.226057 -86.674530,71.242997 -86.637852,71.256443 -86.589605,71.264191 -86.519694,71.270461 -86.518823,71.270480 -86.518015,71.270607 -86.462456,71.271726 -86.409815,71.265913 -86.368150,71.254059 -86.355957,71.248896 -86.329391,71.258536 -86.305435,71.263260 -86.243574,71.272883 -86.217460,71.275969 -86.161870,71.277003 -86.101307,71.274273 -86.011481,71.276310 -85.947954,71.287500 -85.800971,71.367125 -85.746824,71.447539 -85.724836,71.510146 -85.790054,71.528783 -86.039421,71.578754 -86.044593,71.580260 -86.067037,71.585895 -86.229278,71.639417 -86.240314,71.643495 -86.265065,71.659573 -86.267668,71.663361 -86.305931,71.732959 -86.306009,71.734360 -86.307739,71.737687 -86.325557,71.820153 -86.420995,71.888368 -86.422034,71.889296 -86.422829,71.889733 -86.519431,71.964733 -86.523265,71.968314 -86.523882,71.968690 -86.585896,72.032926 -86.586532,72.035403 -86.589457,72.037417 -86.630899,72.103850 -86.631411,72.109219 -86.633359,72.115000 -86.627075,72.150162 -86.656758,72.211592 -86.656931,72.218215 -86.657983,72.221603 -86.645635,72.273481 -86.644423,72.274681 -86.644738,72.276152 -86.640461,72.282501 -86.582846,72.344869 -86.568181,72.355399 -86.529317,72.368782 -86.514976,72.371722 -86.193591,72.429295 -86.154889,72.434139 -86.095950,72.435151 -86.080293,72.434228 -85.245027,72.369088 -85.205327,72.363961 -85.205078,72.363891 -85.204764,72.363856 -84.917125,72.309912 -84.874699,72.297888 -84.867009,72.292780 -84.658486,72.276119 -84.482167,72.208392 -84.302074,72.149539 -84.251536,72.131403 -84.128482,72.062898 -84.060043,71.987895 -84.085733,71.924119 -84.126570,71.904593 -84.225703,71.869560 -84.329552,71.806827 -84.334754,71.760571 -84.227715,71.720730 -84.040677,71.701284 -83.861889,71.685211 -83.670188,71.640252 -83.684684,71.597548 -83.849129,71.585061 -84.087982,71.579650 -84.087085,71.545434 -83.796228,71.504374 -83.627946,71.473015 -83.596920,71.458785 -83.586573,71.442631 -83.596858,71.424557 -83.731610,71.410521 -84.031317,71.414967 -84.239500,71.426416 -84.361151,71.417475 -84.203790,71.384085 -83.865660,71.362159 -83.611268,71.347597 -83.256746,71.304915 -82.838537,71.273151 -82.375041,71.221870 -82.097787,71.184929 -81.793720,71.145704 -81.774242,71.116193 -81.784500,71.085578 -81.851606,71.071368 -81.958670,71.084885 -82.152789,71.113514 -82.256785,71.101623 -82.338401,71.094472 -82.581284,71.107073 -82.759927,71.146527 -82.857488,71.193213 -83.044522,71.220369 -83.398136,71.244812 -83.629748,71.245962 -83.788065,71.239542 -83.964542,71.252684 -84.225539,71.288964 -84.419900,71.324377 -84.542468,71.330931 -84.665091,71.343282 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-82.701927,62.539732 -81.773592,63.044061</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-82.699820,62.950428 -82.695240,62.957377 -82.692226,62.960716 -82.684752,62.967124 -82.674672,62.972744 -82.669076,62.975303 -82.656774,62.979919 -82.642725,62.983353 -82.635399,62.984741 -82.620144,62.986860 -82.604272,62.987583 -82.596335,62.987588 -82.580458,62.986886 -82.565190,62.984786 -82.558890,62.983602 -82.556556,62.983481 -82.547364,62.983072 -82.546597,62.982967 -82.546127,62.982942 -82.545326,62.982792 -82.542811,62.982445 -82.541180,62.982422 -82.503729,62.977916 -82.491289,62.978520 -82.488909,62.982085 -82.485869,62.985420 -82.478343,62.991816 -82.468214,62.997422 -82.462595,62.999973 -82.450249,63.004570 -82.439685,63.007772 -82.429565,63.010383 -82.427149,63.010906 -82.425201,63.012211 -82.424874,63.012358 -82.415151,63.017709 -82.409590,63.020214 -82.397396,63.024731 -82.390492,63.026601 -82.386947,63.027457 -82.384396,63.027868 -82.379670,63.029009 -82.359135,63.032836 -82.344123,63.036232 -82.339136,63.037002 -82.334036,63.038141 -82.328874,63.038937 -82.318313,63.040215 -82.306099,63.040871 -82.299972,63.040988 -82.297734,63.040908 -82.295944,63.041307 -82.290781,63.042102 -82.280217,63.043377 -82.264306,63.044061 -82.256353,63.044047 -82.240454,63.043306 -82.225181,63.041170 -82.217849,63.039773 -82.214038,63.038838 -82.210431,63.038997 -82.210307,63.038997 -82.210256,63.038994 -82.209691,63.039018 -82.201739,63.039001 -82.185845,63.038254 -82.178738,63.037442 -82.175233,63.036965 -82.173260,63.036540 -82.168317,63.035866 -82.149668,63.032466 -82.144848,63.031304 -82.141807,63.030807 -82.137985,63.029884 -82.130558,63.027854 -82.124975,63.025975 -82.122277,63.024983 -82.120977,63.024332 -82.117067,63.022895 -82.111630,63.020519 -82.109876,63.020216 -82.104283,63.018895 -82.103974,63.018876 -82.103105,63.018710 -82.101112,63.018704 -82.085862,63.016552 -82.078542,63.015148 -82.077476,63.014885 -82.077395,63.014873 -82.077161,63.014827 -82.071982,63.013528 -82.064514,63.011684 -82.064294,63.011601 -82.064088,63.011549 -82.063770,63.011403 -82.063113,63.011154 -82.062383,63.011009 -82.048006,63.006327 -82.047221,63.005956 -82.042807,63.005743 -82.027569,63.003585 -82.020255,63.002178 -82.006240,62.998708 -82.004957,62.998238 -82.003073,62.998331 -82.002440,62.998338 -81.998778,62.998489 -81.990838,62.998460 -81.974971,62.997689 -81.969065,62.996849 -81.967555,62.996923 -81.961045,62.997003 -81.952020,62.996637 -81.947998,62.996686 -81.935722,62.995934 -81.931528,62.996156 -81.927521,62.996075 -81.918456,62.996369 -81.911944,62.996236 -81.898966,62.995492 -81.883744,62.993319 -81.876440,62.991904 -81.873216,62.991101 -81.872643,62.990979 -81.870701,62.990475 -81.862448,62.988420 -81.861728,62.988145 -81.861286,62.988031 -81.860640,62.987731 -81.858236,62.986815 -81.856638,62.986474 -81.847206,62.983072 -81.844504,62.981725 -81.837649,62.979014 -81.833259,62.976824 -81.825258,62.972121 -81.817896,62.965686 -81.814942,62.962336 -81.810947,62.956096 -81.807539,62.954132 -81.805667,62.952946 -81.805321,62.952792 -81.804247,62.952112 -81.804096,62.951951 -81.803240,62.951409 -81.802970,62.951103 -81.802165,62.950728 -81.789708,62.942026 -81.782361,62.935589 -81.779414,62.932238 -81.774969,62.925272 -81.773592,62.918044 -81.773684,62.914435 -81.775427,62.907224 -81.780219,62.900306 -81.783331,62.896987 -81.785095,62.895522 -81.785363,62.895261 -81.786470,62.894379 -81.790985,62.890628 -81.791587,62.890301 -81.791839,62.890100 -81.792496,62.889807 -81.794506,62.888714 -81.795255,62.887988 -81.805201,62.882271 -81.806947,62.881546 -81.809280,62.880188 -81.810945,62.879339 -81.812755,62.878629 -81.813493,62.878242 -81.815498,62.875339 -81.818603,62.872019 -81.819417,62.871342 -81.824144,62.864493 -81.826279,62.862209 -81.827365,62.858002 -81.827869,62.857462 -81.827878,62.857111 -81.828277,62.856417 -81.828293,62.856208 -81.828806,62.855316 -81.829050,62.855071 -81.829928,62.853545 -81.835347,62.845725 -81.836234,62.844893 -81.837553,62.842870 -81.838258,62.842044 -81.837214,62.838041 -81.836934,62.835569 -81.837372,62.832997 -81.837103,62.830608 -81.838290,62.824051 -81.838879,62.822200 -81.838860,62.821765 -81.839223,62.820627 -81.839475,62.820332 -81.839740,62.819500 -81.840084,62.819130 -81.840102,62.818362 -81.844864,62.811442 -81.847959,62.808122 -81.851464,62.805195 -81.854378,62.802067 -81.854424,62.802029 -81.854427,62.802024 -81.854435,62.802015 -81.858165,62.798903 -81.861992,62.795704 -81.862006,62.795697 -81.862016,62.795688 -81.862046,62.795675 -81.862083,62.795654 -81.862111,62.795625 -81.863679,62.794579 -81.861936,62.791848 -81.861957,62.790895 -81.861602,62.790491 -81.861371,62.789556 -81.861048,62.789145 -81.860714,62.787789 -81.860780,62.787154 -81.860265,62.785064 -81.859568,62.776751 -81.854838,62.758007 -81.854851,62.757879 -81.854761,62.757532 -81.854812,62.757009 -81.854300,62.755037 -81.852530,62.739023 -81.852946,62.736586 -81.852855,62.735815 -81.851922,62.734184 -81.850536,62.726957 -81.850617,62.723347 -81.852330,62.716136 -81.857072,62.709216 -81.860155,62.705895 -81.861904,62.704429 -81.862170,62.704168 -81.863267,62.703286 -81.867742,62.699532 -81.868340,62.699205 -81.868590,62.699004 -81.869242,62.698710 -81.869978,62.698307 -81.873419,62.693278 -81.876498,62.689957 -81.878245,62.688491 -81.878511,62.688230 -81.879607,62.687348 -81.884078,62.683594 -81.884675,62.683266 -81.884924,62.683065 -81.885576,62.682772 -81.887569,62.681678 -81.888309,62.680951 -81.921125,62.661889 -81.945262,62.646190 -81.946185,62.645780 -81.955073,62.640928 -81.960467,62.638530 -81.972233,62.634201 -81.986192,62.630835 -81.993460,62.629481 -81.999287,62.628691 -82.000123,62.628229 -82.025713,62.616604 -82.033487,62.607344 -82.035775,62.605333 -82.036104,62.604842 -82.036218,62.604716 -82.036539,62.604442 -82.037260,62.603512 -82.039125,62.601872 -82.043140,62.598782 -82.043385,62.598510 -82.064411,62.583845 -82.064691,62.583717 -82.064866,62.583568 -82.064956,62.583470 -82.065030,62.583429 -82.065092,62.583377 -82.070279,62.580503 -82.074672,62.578054 -82.074758,62.578014 -82.074798,62.577999 -82.075155,62.577801 -82.080726,62.575266 -82.092949,62.570702 -82.094286,62.570451 -82.094866,62.570187 -82.096317,62.569797 -82.096721,62.569623 -82.098638,62.569109 -82.099322,62.568990 -82.100776,62.568600 -82.103387,62.567151 -82.108954,62.564615 -82.121168,62.560048 -82.135075,62.556667 -82.142318,62.555305 -82.157383,62.553239 -82.173030,62.552567 -82.180850,62.552586 -82.196482,62.553334 -82.207650,62.554925 -82.208146,62.554899 -82.209033,62.554777 -82.215606,62.554318 -82.218908,62.554152 -82.220693,62.554190 -82.223098,62.554068 -82.228187,62.552054 -82.231420,62.550926 -82.232068,62.550611 -82.234056,62.549918 -82.234683,62.549789 -82.236136,62.549282 -82.236942,62.549130 -82.238123,62.548589 -82.252011,62.545197 -82.259245,62.543829 -82.262714,62.543350 -82.263299,62.543250 -82.265419,62.542976 -82.274296,62.541750 -82.275217,62.541709 -82.275700,62.541647 -82.276608,62.541648 -82.279684,62.541514 -82.281314,62.541236 -82.303501,62.539980 -82.307448,62.540051 -82.316367,62.539732 -82.321179,62.539817 -82.328297,62.540210 -82.332432,62.540394 -82.333768,62.540390 -82.619140,62.564171 -82.619677,62.564270 -82.620249,62.564296 -82.620581,62.564295 -82.620745,62.564318 -82.620942,62.564327 -82.628817,62.565422 -82.634955,62.566261 -82.635125,62.566292 -82.635185,62.566307 -82.635995,62.566419 -82.643229,62.567794 -82.657113,62.571200 -82.669293,62.575788 -82.674841,62.578334 -82.684853,62.583929 -82.692309,62.590317 -82.695326,62.593648 -82.699939,62.600584 -82.701132,62.604235 -82.701529,62.606070 -82.701401,62.607331 -82.701927,62.609757 -82.701713,62.941553 -82.701201,62.943954 -82.701332,62.945120 -82.700954,62.946895 -82.699820,62.950428 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-136.578917,68.591665 -134.277470,69.581713</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-134.976323,69.320381 -135.059704,69.332880 -135.058001,69.336714 -135.073697,69.332673 -135.121596,69.318623 -135.167986,69.301535 -135.195151,69.277496 -135.295086,69.251528 -135.458854,69.230899 -135.548735,69.220958 -135.568864,69.219078 -135.628616,69.201622 -135.720867,69.165246 -135.734259,69.132594 -135.698409,69.099333 -135.607467,69.060205 -135.507724,69.016614 -135.417284,68.984248 -135.309076,68.968523 -135.190118,68.959003 -135.133528,68.938160 -135.130336,68.920295 -135.188280,68.874406 -135.231683,68.849315 -135.244972,68.837281 -135.220687,68.811365 -135.164660,68.783660 -135.143700,68.775601 -135.081161,68.744541 -135.031577,68.715172 -135.029859,68.681644 -135.068373,68.661232 -135.135024,68.631599 -135.235280,68.604825 -135.316151,68.591665 -135.373987,68.594882 -135.469834,68.616869 -135.598075,68.652329 -135.757542,68.705033 -135.926069,68.757038 -136.187456,68.830190 -136.262177,68.847643 -136.340286,68.877965 -136.317721,68.894494 -136.275222,68.906117 -136.236457,68.914977 -136.157077,68.909054 -136.048687,68.886915 -135.926048,68.860040 -135.789244,68.835264 -135.652900,68.796648 -135.595505,68.777869 -135.504293,68.749378 -135.433808,68.717051 -135.382710,68.703437 -135.353884,68.707740 -135.352909,68.716528 -135.457014,68.765464 -135.620406,68.843013 -135.665771,68.865059 -135.704467,68.876923 -135.783662,68.876182 -135.892521,68.889697 -135.981708,68.911938 -136.150579,68.946960 -136.308629,68.990080 -136.466156,69.050631 -136.533747,69.082264 -136.541836,69.097337 -136.578917,69.130426 -136.547657,69.170068 -136.484910,69.190587 -136.415904,69.212747 -136.335924,69.234356 -136.165047,69.240699 -136.065326,69.255348 -135.980235,69.288326 -135.939150,69.307818 -135.898772,69.325378 -135.863792,69.336346 -135.793853,69.337678 -135.709121,69.341162 -135.674823,69.350172 -135.631751,69.373430 -135.630856,69.382210 -135.644348,69.423115 -135.624566,69.443661 -135.606367,69.460365 -135.573843,69.491032 -135.498774,69.529275 -135.463957,69.545100 -135.393009,69.559992 -135.300009,69.573683 -135.258423,69.572437 -135.190485,69.560927 -135.100096,69.543254 -134.971246,69.530274 -134.875038,69.525899 -134.810461,69.532097 -134.723213,69.550744 -134.697750,69.557158 -134.608019,69.574635 -134.544131,69.578824 -134.492090,69.581713 -134.414042,69.562422 -134.368023,69.546941 -134.352101,69.539121 -134.315752,69.521239 -134.290461,69.492198 -134.277470,69.466832 -134.293481,69.451060 -134.380734,69.420815 -134.493113,69.395945 -134.588132,69.383777 -134.680009,69.384163 -134.737883,69.379615 -134.753666,69.375602 -134.811313,69.359227 -134.851187,69.338887 -134.901518,69.326007 -134.936086,69.317144 -134.976323,69.320381 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-126.042394,71.642243 -121.475340,73.607720</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-122.528376,71.998899 -122.553668,71.962259 -122.554830,71.961013 -122.556882,71.959644 -122.638743,71.914940 -122.642683,71.913260 -122.648310,71.911782 -122.758228,71.889520 -122.781959,71.880211 -122.782709,71.880026 -122.783312,71.879717 -122.792563,71.877603 -122.803706,71.876752 -122.815048,71.877292 -122.824864,71.879142 -122.824974,71.879188 -122.825127,71.879217 -122.894015,71.899271 -122.959770,71.902339 -122.993892,71.845777 -122.995121,71.844366 -123.001026,71.841306 -123.010235,71.839182 -123.021347,71.838319 -123.027063,71.838408 -123.054393,71.839671 -123.176000,71.827197 -123.180385,71.809250 -123.182000,71.806873 -123.187865,71.803806 -123.197037,71.801674 -123.335161,71.781109 -123.343125,71.780332 -123.508491,71.771935 -123.603877,71.763225 -123.613221,71.754834 -123.579932,71.727015 -123.578122,71.724319 -123.579708,71.720781 -123.585486,71.717703 -123.594575,71.715552 -123.643855,71.708078 -123.665361,71.703300 -123.648759,71.695926 -123.646317,71.694625 -123.643460,71.691166 -123.645032,71.687627 -123.650790,71.684546 -123.659857,71.682393 -123.916163,71.643156 -123.927126,71.642243 -123.938364,71.642721 -123.948167,71.644518 -123.948279,71.644564 -123.948432,71.644592 -124.099761,71.687563 -124.239021,71.722387 -124.239678,71.722642 -124.240632,71.722820 -124.333859,71.749686 -124.506478,71.767775 -124.629668,71.778361 -124.630309,71.778468 -124.631141,71.778500 -124.640801,71.780190 -125.145144,71.911546 -125.145257,71.911589 -125.145419,71.911617 -125.152560,71.914416 -125.155712,71.917850 -125.154393,71.921397 -125.148802,71.924518 -125.143918,71.925938 -125.103314,71.935297 -125.078291,71.953501 -125.056116,71.993314 -125.130289,72.032265 -125.195818,72.044330 -125.262517,72.045234 -125.389455,72.036633 -125.458694,71.975618 -125.463968,71.972753 -125.472966,71.970521 -125.532872,71.960869 -125.540439,71.960030 -125.785241,71.943929 -125.788730,71.943764 -125.789892,71.943802 -125.790820,71.943728 -125.876980,71.943163 -125.886341,71.943570 -125.891244,71.944194 -126.026556,71.965951 -126.031792,71.967022 -126.039079,71.969789 -126.042394,71.973209 -126.041231,71.976761 -126.040266,71.977591 -125.876664,72.098632 -125.609895,72.360095 -125.302714,72.693559 -125.302698,72.693569 -125.302694,72.693581 -124.899539,73.109128 -124.899292,73.109261 -124.899224,73.109425 -124.893231,73.112527 -124.883609,73.114726 -124.876400,73.115484 -124.815967,73.119489 -124.800773,73.162271 -124.799373,73.164176 -124.793345,73.167274 -124.793013,73.167350 -124.792814,73.167449 -124.699804,73.197178 -124.651451,73.226615 -124.647440,73.228391 -124.647089,73.228573 -124.559229,73.258633 -124.605480,73.285177 -124.608765,73.288604 -124.607242,73.292133 -124.606620,73.292448 -124.606456,73.292741 -124.527924,73.347320 -124.527862,73.347348 -124.527683,73.347482 -124.432083,73.409992 -124.413712,73.464393 -124.412206,73.466409 -124.407439,73.468991 -124.337148,73.495549 -124.336348,73.495738 -124.335717,73.496050 -124.325823,73.498221 -124.247541,73.509253 -124.185969,73.530288 -124.185653,73.530359 -124.185438,73.530465 -124.175507,73.532629 -124.163411,73.533550 -124.163210,73.533543 -124.163020,73.533557 -124.115357,73.534277 -124.122109,73.570401 -124.120444,73.573811 -124.114869,73.576651 -124.034280,73.604415 -124.033864,73.604508 -124.033572,73.604651 -124.023582,73.606807 -124.011428,73.607720 -123.998963,73.607249 -123.989444,73.605785 -123.766552,73.555920 -123.497960,73.538068 -123.264766,73.523635 -123.263500,73.523532 -123.263146,73.523521 -122.770119,73.484364 -122.768842,73.484161 -122.767186,73.484083 -122.490189,73.453004 -122.318254,73.450104 -122.309051,73.449550 -122.308351,73.449427 -122.307640,73.449389 -122.187357,73.434702 -122.173250,73.439680 -122.172429,73.439861 -122.171764,73.440167 -122.161647,73.442242 -122.149515,73.443054 -122.137217,73.442480 -122.128336,73.441031 -122.064170,73.426193 -122.028233,73.425799 -122.027867,73.425778 -122.026467,73.425765 -121.942842,73.423493 -121.934593,73.422945 -121.925738,73.421488 -121.853578,73.404670 -121.852948,73.404435 -121.851879,73.404244 -121.847574,73.402816 -121.751092,73.363036 -121.748202,73.361568 -121.745838,73.359299 -121.720242,73.313703 -121.719852,73.312506 -121.720862,73.309961 -121.727680,73.302432 -121.697487,73.302052 -121.687546,73.301458 -121.677084,73.299563 -121.669944,73.296661 -121.668319,73.295352 -121.632541,73.257595 -121.632426,73.257371 -121.632131,73.257109 -121.590236,73.200604 -121.590196,73.200507 -121.590115,73.200432 -121.566063,73.164433 -121.498870,73.146807 -121.498639,73.146714 -121.498283,73.146649 -121.491230,73.143739 -121.488553,73.140268 -121.490658,73.136763 -121.497221,73.133759 -121.500135,73.132977 -121.578995,73.114321 -121.578180,73.096050 -121.578219,73.095986 -121.578177,73.095928 -121.578214,73.066602 -121.580304,73.063329 -121.585356,73.060806 -121.613721,73.050763 -121.597451,73.044053 -121.594408,73.042490 -121.592183,73.040358 -121.577710,73.016166 -121.577255,73.014827 -121.579329,73.011320 -121.580049,73.010988 -121.580275,73.010677 -121.614969,72.989341 -121.572218,72.955188 -121.497462,72.948609 -121.496526,72.948449 -121.495204,72.948382 -121.484960,72.946475 -121.477985,72.943563 -121.475340,72.940089 -121.475704,72.938465 -121.501725,72.889474 -121.501885,72.889297 -121.501937,72.889120 -121.525717,72.853429 -121.527214,72.851899 -121.533671,72.848891 -121.543537,72.846841 -121.547140,72.846447 -121.613102,72.840562 -121.625850,72.833814 -121.617156,72.822390 -121.616415,72.820624 -121.618460,72.817114 -121.624891,72.814103 -121.634729,72.812049 -121.675457,72.806684 -121.689568,72.786162 -121.690988,72.784717 -121.755524,72.734672 -121.763069,72.711970 -121.764939,72.709611 -121.771310,72.706594 -121.781076,72.704532 -121.785851,72.704032 -121.827124,72.700814 -121.849274,72.673757 -121.857132,72.646227 -121.844009,72.637505 -121.843065,72.636800 -121.803161,72.602929 -121.802445,72.601774 -121.801583,72.600806 -121.789068,72.563266 -121.789199,72.562972 -121.788930,72.562620 -121.790916,72.559106 -121.835155,72.524231 -121.856469,72.495761 -121.857709,72.494520 -121.859265,72.493486 -121.910050,72.464602 -121.925843,72.440737 -121.927221,72.439288 -121.932063,72.436752 -121.965597,72.424315 -121.943406,72.375875 -121.943136,72.374904 -121.944152,72.372253 -121.980349,72.331278 -121.981268,72.330411 -121.987480,72.327384 -121.987922,72.327289 -121.988192,72.327162 -122.154171,72.276776 -122.134010,72.252394 -122.107761,72.245909 -122.107166,72.245673 -122.106158,72.245483 -122.099342,72.242584 -122.096991,72.240151 -122.086521,72.218651 -122.086212,72.217609 -122.088109,72.214089 -122.112388,72.194323 -122.118537,72.191291 -122.128007,72.189210 -122.263577,72.170292 -122.307115,72.153728 -122.306171,72.127596 -122.306304,72.127361 -122.306186,72.127180 -122.310466,72.088855 -122.276756,72.059359 -122.275095,72.056655 -122.275197,72.055499 -122.289257,72.007521 -122.290997,72.005152 -122.297059,72.002114 -122.306419,72.000023 -122.317652,71.999199 -122.318179,71.999225 -122.318656,71.999192 -122.528376,71.998899 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-128.260491,69.968223 -126.872711,70.358447</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-126.879712,70.015779 -126.872711,70.004525 -126.882461,70.001440 -126.934542,69.990404 -126.990940,69.979788 -127.078833,69.968223 -127.169702,69.969892 -127.228714,69.981365 -127.262154,69.995176 -127.309099,70.012724 -127.328839,70.020317 -127.369013,70.040421 -127.436869,70.061560 -127.518950,70.079978 -127.529677,70.084244 -127.574562,70.104722 -127.596419,70.115707 -127.628192,70.134910 -127.661614,70.155066 -127.696098,70.162372 -127.738338,70.163124 -127.801561,70.158562 -127.840213,70.154914 -127.843033,70.154370 -127.895762,70.147990 -127.931563,70.144867 -127.952486,70.139546 -127.923623,70.122313 -127.859515,70.101769 -127.786344,70.077909 -127.756104,70.059690 -127.750225,70.049430 -127.782801,70.035532 -127.806836,70.032144 -127.869218,70.033982 -127.939985,70.043048 -128.004002,70.054683 -128.048857,70.063703 -128.056471,70.066025 -128.126681,70.087867 -128.182937,70.103545 -128.243788,70.128493 -128.260491,70.149381 -128.259068,70.166192 -128.207674,70.180052 -128.126374,70.189544 -128.063538,70.196675 -127.965192,70.200497 -127.894623,70.205246 -127.891798,70.205790 -127.809504,70.210225 -127.794983,70.210481 -127.752648,70.209742 -127.729266,70.209161 -127.709452,70.212955 -127.704524,70.218959 -127.721021,70.222129 -127.745532,70.230091 -127.756270,70.243224 -127.718798,70.265574 -127.662013,70.276405 -127.653490,70.278028 -127.596639,70.288838 -127.549519,70.296513 -127.510563,70.300101 -127.470682,70.307639 -127.461560,70.315673 -127.449919,70.326703 -127.446250,70.342539 -127.435168,70.347149 -127.396769,70.355633 -127.341459,70.358447 -127.300739,70.349690 -127.274347,70.338249 -127.234975,70.316641 -127.204557,70.295882 -127.151731,70.270505 -127.119882,70.248766 -127.091244,70.228950 -127.063347,70.202709 -127.031688,70.180952 -127.012448,70.153105 -126.981056,70.119993 -126.941423,70.077120 -126.904318,70.042588 -126.879712,70.015779 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-120.130490,73.565981 -119.415453,74.231300</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-119.415453,74.231300 -119.437578,74.210129 -119.450651,74.203483 -119.446518,74.190402 -119.454261,74.180176 -119.479633,74.163833 -119.504339,74.149639 -119.533604,74.135972 -119.587632,74.118496 -119.635756,74.104783 -119.644681,74.095441 -119.658187,74.086628 -119.627740,74.071262 -119.602530,74.054268 -119.601452,74.035616 -119.608194,74.017128 -119.590288,74.002449 -119.571807,73.989921 -119.580484,73.970172 -119.573182,73.962648 -119.578609,73.943260 -119.593832,73.927982 -119.631748,73.915353 -119.650257,73.904909 -119.620007,73.884326 -119.635609,73.861682 -119.673940,73.846887 -119.691327,73.845953 -119.701113,73.827083 -119.734215,73.813903 -119.759295,73.813125 -119.772361,73.799088 -119.809875,73.786423 -119.800491,73.774957 -119.804084,73.767226 -119.770862,73.752228 -119.764550,73.735183 -119.769866,73.720982 -119.776649,73.712883 -119.758910,73.698200 -119.771727,73.678949 -119.781674,73.670482 -119.817784,73.662123 -119.840031,73.659546 -119.842275,73.650917 -119.860580,73.645655 -119.862812,73.637025 -119.868965,73.631079 -119.857760,73.620871 -119.864639,73.600188 -119.884349,73.583239 -119.925252,73.573228 -119.996065,73.565981 -120.049443,73.567044 -120.092302,73.573528 -120.127304,73.587223 -120.130490,73.612007 -120.129453,73.628901 -120.129465,73.641477 -120.126049,73.661792 -120.097485,73.677715 -120.075227,73.692891 -120.051610,73.707171 -120.059796,73.717737 -120.043829,73.732165 -120.054423,73.739309 -120.076963,73.754488 -120.082788,73.768473 -120.075586,73.778736 -120.084614,73.792348 -120.070723,73.810715 -120.055763,73.820826 -120.025004,73.837994 -120.000135,73.844006 -119.970611,73.862059 -119.948129,73.864646 -119.933268,73.879951 -119.914952,73.890419 -119.911592,73.903352 -119.911659,73.921119 -119.877557,73.943833 -119.857811,73.953400 -119.841276,73.962598 -119.848884,73.975316 -119.864879,73.986036 -119.874617,74.002693 -119.875984,74.021346 -119.862069,74.032328 -119.870862,74.040734 -119.894199,74.053760 -119.918135,74.064628 -119.934255,74.075339 -119.929746,74.092571 -119.901074,74.111489 -119.878865,74.129666 -119.846233,74.151096 -119.796219,74.166110 -119.753682,74.170876 -119.736293,74.182210 -119.711289,74.203778 -119.696822,74.227290 -119.415453,74.231300 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-121.536778,75.756841 -117.503510,76.870231</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-121.479486,75.888494 -121.520973,75.902873 -121.536778,75.920025 -121.536343,75.924404 -121.524435,75.964047 -121.512464,75.976983 -121.487980,75.987708 -121.381662,76.022054 -121.367240,76.026161 -121.307629,76.036231 -121.238561,76.043537 -121.253630,76.060061 -121.259871,76.133370 -121.259865,76.133379 -121.259872,76.133387 -121.252224,76.147033 -121.183367,76.202659 -121.178128,76.206295 -121.138368,76.221067 -121.088499,76.229876 -120.948385,76.246876 -120.943060,76.247189 -120.937702,76.248069 -120.865537,76.251742 -120.792968,76.248549 -120.664138,76.236275 -120.602431,76.226676 -120.599563,76.225675 -120.595900,76.225072 -120.497229,76.199549 -120.462406,76.186638 -120.455020,76.181677 -120.408407,76.143286 -120.400980,76.131052 -120.414772,76.113807 -120.428893,76.108655 -120.430774,76.102889 -120.455998,76.066058 -120.411715,76.064015 -120.374602,76.059134 -120.299864,76.046436 -120.276165,76.041643 -120.252949,76.034885 -120.170180,76.005251 -120.152783,75.997439 -120.138442,75.980214 -120.143955,75.972309 -120.125143,75.971414 -120.106611,75.969266 -120.052511,75.962065 -120.010781,75.954468 -119.970572,75.939857 -119.969238,75.938226 -119.966236,75.937050 -119.942172,75.919723 -119.935770,75.920512 -119.930657,75.937837 -119.916961,75.951879 -119.817352,76.009870 -119.792419,76.020192 -119.744452,76.035052 -119.728806,76.039307 -119.727942,76.039445 -119.744795,76.046660 -119.821906,76.062883 -119.856888,76.065529 -119.872802,76.066925 -119.933403,76.076700 -119.973936,76.091307 -119.988195,76.108531 -119.973926,76.125754 -119.947545,76.141012 -119.906769,76.155603 -119.903948,76.156053 -119.902179,76.156663 -119.892377,76.158849 -119.886736,76.171292 -119.873396,76.183715 -119.832434,76.198291 -119.811682,76.202046 -119.810768,76.205005 -119.810379,76.205393 -119.809988,76.206951 -119.803920,76.219249 -119.852461,76.247334 -119.866729,76.264551 -119.852174,76.281753 -119.844856,76.285440 -119.829868,76.292174 -119.827060,76.322311 -119.812451,76.338619 -119.771007,76.353174 -119.718720,76.361854 -119.557510,76.379877 -119.552650,76.380130 -119.547817,76.380880 -119.474690,76.384174 -119.446620,76.383631 -119.389572,76.381511 -119.344764,76.378478 -119.283331,76.368583 -119.242723,76.353893 -119.229209,76.338884 -119.223658,76.304218 -119.224042,76.303728 -119.223540,76.303133 -119.222374,76.282885 -119.187086,76.269092 -119.173143,76.262453 -119.166145,76.257460 -119.123818,76.219973 -119.129625,76.229817 -119.128695,76.230857 -119.129332,76.231791 -119.120017,76.270370 -119.104903,76.285556 -119.062925,76.300005 -119.032521,76.305694 -118.854404,76.332389 -118.822515,76.336207 -118.754853,76.339078 -118.748710,76.341953 -118.749866,76.342487 -118.757655,76.346570 -118.770760,76.363833 -118.765464,76.373533 -118.752016,76.386637 -118.799839,76.412726 -118.856130,76.416102 -118.917475,76.426091 -118.951236,76.438381 -118.997703,76.443098 -119.059254,76.453053 -119.077425,76.458136 -119.125408,76.473742 -119.147988,76.483365 -119.161667,76.500596 -119.146065,76.517737 -119.143257,76.518690 -119.142249,76.519680 -119.077016,76.550822 -119.038099,76.563305 -118.974785,76.572814 -118.900584,76.575950 -118.872173,76.575348 -118.699116,76.568593 -118.658091,76.565741 -118.628025,76.575735 -118.576233,76.583974 -118.511056,76.591033 -118.507899,76.625861 -118.542263,76.632197 -118.561648,76.636291 -118.595233,76.647341 -118.644915,76.670372 -118.652060,76.674090 -118.665333,76.691327 -118.648948,76.708422 -118.621445,76.717465 -118.618544,76.729511 -118.602317,76.745078 -118.558521,76.759412 -118.494044,76.768799 -118.492275,76.768870 -118.492528,76.769202 -118.490839,76.770934 -118.491711,76.772377 -118.485280,76.787923 -118.469397,76.801822 -118.425299,76.816130 -118.360484,76.825483 -118.284862,76.828448 -118.218671,76.825394 -118.081104,76.813084 -118.072523,76.819081 -118.068845,76.820259 -118.067478,76.821450 -118.010478,76.846280 -117.970866,76.858144 -117.905571,76.867390 -117.829639,76.870231 -117.754727,76.866231 -117.702060,76.860768 -117.639724,76.850530 -117.635635,76.849020 -117.630585,76.848125 -117.569860,76.830919 -117.538809,76.818422 -117.530109,76.811298 -117.506840,76.783486 -117.503510,76.773332 -117.521309,76.756314 -117.566108,76.742146 -117.631058,76.732974 -117.716578,76.725661 -117.791781,76.722848 -117.796132,76.723083 -117.839042,76.715101 -117.893273,76.707955 -117.965973,76.705081 -118.038224,76.705394 -118.044756,76.698881 -118.052730,76.695253 -118.091509,76.679408 -118.118145,76.671557 -118.101822,76.665547 -118.089607,76.652697 -118.065835,76.572546 -118.065470,76.568128 -118.067744,76.562479 -118.080324,76.543918 -118.094927,76.532492 -118.138499,76.518214 -118.202112,76.508897 -118.244602,76.505106 -118.246812,76.502242 -118.271998,76.485010 -118.278361,76.481221 -118.321607,76.466910 -118.384886,76.457547 -118.411018,76.455698 -118.389767,76.442775 -118.380220,76.434870 -118.330369,76.371902 -118.327375,76.362971 -118.313605,76.357196 -118.301031,76.339910 -118.317411,76.322802 -118.319422,76.322129 -118.320177,76.321398 -118.408552,76.278331 -118.409483,76.278029 -118.415342,76.275309 -118.478676,76.249478 -118.511586,76.239550 -118.573795,76.230132 -118.632973,76.227125 -118.678257,76.226583 -118.677976,76.221630 -118.635326,76.178168 -118.630428,76.166974 -118.646251,76.149831 -118.683691,76.136513 -118.710798,76.129832 -118.709954,76.121397 -118.710716,76.120468 -118.709937,76.119421 -118.725622,76.102269 -118.767376,76.087858 -118.793242,76.083868 -118.809845,76.069387 -118.818682,76.063370 -118.860243,76.048942 -118.921464,76.039433 -118.993483,76.032557 -119.065037,76.029387 -119.136184,76.033051 -119.236861,76.043473 -119.270507,76.048853 -119.264818,76.043815 -119.239539,76.003457 -119.237463,75.996205 -119.242743,75.986060 -119.281964,75.946979 -119.291612,75.939927 -119.332399,75.925416 -119.378343,75.918103 -119.389452,75.905137 -119.410067,75.896264 -119.463212,75.878410 -119.483159,75.872749 -119.494331,75.870956 -119.495629,75.866929 -119.509630,75.852903 -119.549985,75.838352 -119.597701,75.830026 -119.948674,75.787107 -119.954626,75.786761 -119.960862,75.785738 -120.031079,75.782302 -120.080845,75.784718 -120.127023,75.776502 -120.246265,75.761706 -120.252079,75.761361 -120.258124,75.760358 -120.328161,75.756841 -120.398351,75.760168 -120.413436,75.761876 -120.545598,75.778610 -120.590366,75.786548 -120.615154,75.793941 -120.673861,75.815779 -120.689514,75.822908 -120.704320,75.840116 -120.703766,75.844160 -120.675149,75.932746 -120.711230,75.938466 -120.732518,75.928318 -120.764988,75.917304 -120.824492,75.907351 -120.947871,75.894390 -121.018352,75.890689 -121.087900,75.893765 -121.126107,75.879266 -121.185232,75.869229 -121.255542,75.865463 -121.326413,75.868536 -121.332155,75.869431 -121.337701,75.869717 -121.429966,75.880244 -121.479486,75.888494 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-119.120895,76.215669 -119.120838,76.215560 -119.117268,76.212151 -119.103342,76.182025 -119.090998,76.188873 -119.088291,76.189812 -119.120895,76.215669 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-132.803447,66.180257 -128.495482,67.533863</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-132.602928,67.186239 -132.606027,67.185031 -132.648867,67.178093 -132.695279,67.178035 -132.738234,67.184865 -132.771218,67.197549 -132.785728,67.209058 -132.799713,67.225647 -132.803201,67.230751 -132.803447,67.248770 -132.785851,67.265452 -132.764827,67.274754 -132.689479,67.300166 -132.684890,67.301527 -132.683941,67.301921 -132.531002,67.347318 -132.527748,67.347888 -132.524733,67.349052 -132.495656,67.354525 -132.395556,67.367211 -132.344654,67.377840 -132.315920,67.381819 -132.312130,67.382430 -132.219652,67.389844 -132.155058,67.397706 -132.106693,67.409994 -132.063295,67.416788 -132.058541,67.416776 -132.054876,67.417292 -132.001110,67.419752 -131.933568,67.423531 -131.867097,67.444392 -131.856925,67.447251 -131.829386,67.452379 -131.720593,67.466352 -131.700254,67.475572 -131.674018,67.484439 -131.590087,67.505320 -131.546375,67.511978 -131.544201,67.511966 -131.542340,67.512235 -131.467523,67.516485 -131.466465,67.516471 -131.457875,67.516879 -131.329232,67.520088 -131.295867,67.519124 -131.273257,67.516317 -131.225686,67.508338 -131.199773,67.510372 -131.171174,67.517372 -131.140750,67.522703 -131.053345,67.532653 -131.039913,67.533863 -130.997977,67.533846 -130.897599,67.526986 -130.895280,67.526615 -130.892460,67.526589 -130.849439,67.519280 -130.835694,67.514951 -130.798385,67.501298 -130.779750,67.492563 -130.778265,67.491079 -130.775941,67.490079 -130.727941,67.456357 -130.727066,67.455389 -130.722592,67.452083 -130.693292,67.425187 -130.685697,67.415118 -130.687008,67.397109 -130.692757,67.392165 -130.647584,67.387313 -130.585041,67.386089 -130.579984,67.385818 -130.577390,67.385843 -130.498190,67.382290 -130.485120,67.381416 -130.445825,67.374890 -130.383246,67.358840 -130.383098,67.358782 -130.382870,67.358743 -130.269780,67.329386 -130.268557,67.328895 -130.266819,67.328590 -130.234978,67.315414 -130.221363,67.303345 -130.207061,67.283186 -130.176495,67.277774 -130.156375,67.273240 -130.124665,67.260042 -130.108451,67.243152 -130.110175,67.225145 -130.125921,67.199453 -130.124449,67.193026 -130.097328,67.168808 -130.088983,67.157719 -130.087564,67.148730 -130.090487,67.117457 -130.074863,67.059936 -130.075274,67.057449 -130.074708,67.050834 -130.080976,67.024309 -130.050052,66.986074 -130.046045,66.979440 -130.046629,66.973426 -130.028613,66.955299 -130.022058,66.945815 -130.020747,66.940918 -130.017225,66.913965 -130.006029,66.890243 -129.968445,66.859685 -129.886784,66.828094 -129.803070,66.809617 -129.791277,66.806629 -129.790371,66.806240 -129.789230,66.806025 -129.724837,66.786579 -129.599498,66.783932 -129.577878,66.782659 -129.536524,66.775006 -129.534229,66.774012 -129.531594,66.773489 -129.451065,66.747278 -129.394894,66.731988 -129.393575,66.731433 -129.391669,66.731077 -129.361046,66.717725 -129.300499,66.677703 -129.255273,66.666256 -129.252721,66.665213 -129.248666,66.664452 -129.185527,66.645880 -129.185444,66.645843 -129.185332,66.645822 -129.154921,66.632430 -129.148652,66.627628 -129.112317,66.595251 -129.085765,66.581655 -129.033509,66.576348 -128.992659,66.568554 -128.969576,66.559373 -128.904105,66.524637 -128.896993,66.520385 -128.891632,66.516307 -128.840986,66.472536 -128.838727,66.469465 -128.834579,66.465562 -128.814313,66.436408 -128.740584,66.436131 -128.712613,66.434637 -128.673215,66.427098 -128.599879,66.405362 -128.599408,66.405151 -128.598754,66.405024 -128.568940,66.391518 -128.541839,66.372862 -128.530368,66.361931 -128.499121,66.316498 -128.496007,66.310372 -128.495482,66.299879 -128.505059,66.258781 -128.508371,66.251274 -128.528015,66.235072 -128.531414,66.233861 -128.533166,66.232536 -128.558007,66.221144 -128.561352,66.220033 -128.569089,66.216708 -128.642189,66.191138 -128.659396,66.186155 -128.701558,66.180257 -128.746093,66.181318 -128.794836,66.186443 -128.835019,66.194290 -128.864743,66.207747 -128.879480,66.224774 -128.876959,66.242780 -128.857530,66.259026 -128.840878,66.266195 -128.814453,66.275376 -128.795434,66.298444 -128.797258,66.301146 -128.839445,66.320609 -128.882214,66.336303 -128.905780,66.340876 -128.956872,66.342465 -128.976675,66.343782 -129.017162,66.351581 -129.047165,66.365003 -129.108246,66.406261 -129.119583,66.416601 -129.152629,66.460641 -129.190690,66.492753 -129.231450,66.495862 -129.234362,66.496373 -129.238090,66.496449 -129.269154,66.501584 -129.345404,66.519717 -129.355164,66.522309 -129.385548,66.535665 -129.396128,66.544826 -129.418256,66.571217 -129.440338,66.576799 -129.441080,66.577101 -129.442410,66.577335 -129.548046,66.605227 -129.549942,66.606014 -129.552778,66.606542 -129.583368,66.619859 -129.624139,66.646619 -129.685881,66.679196 -129.714143,66.688695 -129.806590,66.687096 -129.811130,66.687270 -129.818563,66.687128 -129.914133,66.689303 -129.934860,66.690514 -129.946386,66.691864 -130.064187,66.708267 -130.094045,66.714446 -130.106590,66.718596 -130.246707,66.771782 -130.265258,66.780827 -130.281278,66.797710 -130.281193,66.798692 -130.281937,66.799526 -130.292573,66.833606 -130.292537,66.833865 -130.293130,66.835835 -130.304235,66.894694 -130.321645,66.926425 -130.321614,66.927798 -130.322956,66.929227 -130.324110,66.932208 -130.325210,66.932670 -130.331162,66.936913 -130.382122,66.978143 -130.392370,66.990771 -130.393937,66.998989 -130.392416,67.038890 -130.392301,67.039254 -130.392370,67.039659 -130.389162,67.079262 -130.398441,67.108257 -130.410987,67.133721 -130.428469,67.147932 -130.438513,67.160314 -130.440061,67.169300 -130.438584,67.187894 -130.454017,67.195056 -130.480181,67.211329 -130.491775,67.220765 -130.514218,67.246034 -130.529750,67.255656 -130.616833,67.269932 -130.690486,67.272301 -130.707218,67.273300 -130.749766,67.280648 -130.759267,67.283537 -130.785370,67.292331 -130.815879,67.294999 -130.858497,67.302318 -130.874375,67.307496 -130.914755,67.323160 -130.931057,67.331033 -130.937852,67.335759 -130.983987,67.372732 -130.991816,67.382114 -130.993587,67.383819 -131.014247,67.424019 -131.014714,67.424417 -131.039456,67.421523 -131.064673,67.412232 -131.083282,67.406611 -131.126930,67.400074 -131.154131,67.399428 -131.207086,67.400476 -131.282506,67.401663 -131.303277,67.402687 -131.343688,67.409220 -131.353152,67.411610 -131.471724,67.401895 -131.476936,67.400600 -131.530090,67.382422 -131.579598,67.364497 -131.596534,67.359378 -131.612578,67.356007 -131.687131,67.343051 -131.689973,67.342707 -131.693188,67.342072 -131.805657,67.325231 -131.806582,67.325129 -131.807288,67.324991 -131.992070,67.298296 -132.011677,67.296164 -132.056178,67.296281 -132.094067,67.285416 -132.096920,67.284931 -132.099497,67.283946 -132.142138,67.277181 -132.280172,67.266542 -132.343937,67.258685 -132.417639,67.239677 -132.426105,67.237682 -132.477499,67.226658 -132.515851,67.212262 -132.523852,67.209755 -132.526051,67.208842 -132.599602,67.186828 -132.602928,67.186239 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-128.025041,64.169697 -124.319921,65.608559</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-128.011236,65.530272 -128.025041,65.547384 -128.022001,65.565383 -128.002546,65.581529 -127.969618,65.593357 -127.929282,65.602866 -127.887875,65.608559 -127.849512,65.607789 -127.765338,65.599932 -127.763049,65.599483 -127.760179,65.599395 -127.741910,65.596569 -127.678014,65.583935 -127.668080,65.581384 -127.663765,65.580559 -127.588578,65.559525 -127.586121,65.558419 -127.582181,65.557591 -127.553851,65.543889 -127.515888,65.515843 -127.481711,65.493872 -127.395175,65.472517 -127.390762,65.471255 -127.389437,65.470998 -127.357427,65.461929 -127.354989,65.460820 -127.351071,65.459986 -127.322965,65.446240 -127.294911,65.425266 -127.282821,65.411332 -127.280791,65.406833 -127.241307,65.396294 -127.145044,65.375566 -127.093035,65.369317 -127.074997,65.366412 -126.895826,65.329602 -126.714208,65.309000 -126.713212,65.308787 -126.712037,65.308742 -126.691845,65.305313 -126.563798,65.277036 -126.554014,65.274327 -126.550918,65.273690 -126.391000,65.225291 -126.387732,65.223724 -126.383080,65.222644 -126.309560,65.195617 -126.304101,65.192733 -126.289772,65.186005 -126.274286,65.175962 -126.258747,65.173986 -126.220886,65.165483 -126.206680,65.159595 -126.153973,65.133332 -126.147302,65.129185 -126.144522,65.127845 -126.055383,65.067014 -126.004955,65.040961 -125.993023,65.033367 -125.982234,65.020389 -125.968588,64.990125 -125.967324,64.988179 -125.917021,64.975102 -125.900859,64.976451 -125.889920,64.977121 -125.865125,64.976900 -125.768490,64.971309 -125.750908,64.969650 -125.738228,64.967602 -125.683236,64.957002 -125.625076,64.947974 -125.600401,64.948488 -125.599246,64.948425 -125.591306,64.948516 -125.396154,64.945525 -125.390526,64.945109 -125.383435,64.945004 -125.279391,64.938070 -125.263208,64.936440 -125.235956,64.930870 -125.210895,64.923774 -125.132547,64.920966 -125.108365,64.918902 -125.071229,64.910112 -125.059791,64.905314 -125.013838,64.882931 -124.998948,64.873565 -124.987416,64.856196 -124.987921,64.854378 -124.987082,64.852918 -124.986266,64.808323 -124.972599,64.774052 -124.963118,64.757822 -124.947761,64.751628 -124.907357,64.748054 -124.895781,64.746739 -124.864955,64.739942 -124.804411,64.720752 -124.802146,64.719603 -124.798416,64.718704 -124.772387,64.704496 -124.764105,64.695043 -124.751353,64.673589 -124.748325,64.665654 -124.753422,64.647736 -124.766619,64.636219 -124.768909,64.634769 -124.760705,64.624361 -124.755334,64.613021 -124.755850,64.611204 -124.755031,64.609742 -124.754772,64.582895 -124.760152,64.568256 -124.765106,64.562917 -124.780782,64.548655 -124.777595,64.521212 -124.765162,64.508596 -124.727807,64.498161 -124.716191,64.494408 -124.690418,64.480185 -124.686442,64.476360 -124.663883,64.451688 -124.661741,64.447640 -124.658149,64.443009 -124.646150,64.414532 -124.600450,64.393388 -124.598028,64.391883 -124.593155,64.389626 -124.555883,64.368169 -124.545783,64.361104 -124.539431,64.351085 -124.534437,64.350453 -124.532758,64.350057 -124.530665,64.349943 -124.494482,64.341009 -124.482729,64.335834 -124.391267,64.288547 -124.388000,64.286380 -124.384666,64.284744 -124.337865,64.254632 -124.330774,64.249337 -124.319921,64.231914 -124.325215,64.214010 -124.345821,64.198350 -124.369369,64.189568 -124.416210,64.176712 -124.425420,64.174452 -124.465339,64.169697 -124.506393,64.171956 -124.542360,64.180887 -124.567779,64.195136 -124.594971,64.218747 -124.605177,64.232886 -124.606614,64.237208 -124.617554,64.236141 -124.633073,64.235141 -124.674237,64.237353 -124.694462,64.241318 -124.808326,64.270112 -124.824243,64.275025 -124.849894,64.289225 -124.861103,64.306607 -124.856139,64.324529 -124.849839,64.332886 -124.863208,64.340049 -124.866203,64.342052 -124.868714,64.343273 -124.874503,64.346989 -124.904507,64.354294 -124.930272,64.368479 -124.941565,64.385855 -124.936639,64.403780 -124.934708,64.405270 -124.934211,64.406674 -124.918464,64.423649 -124.943841,64.425785 -124.980281,64.434608 -125.003229,64.446463 -125.101823,64.519117 -125.102688,64.520297 -125.104772,64.521431 -125.112338,64.533473 -125.116238,64.538794 -125.116072,64.539411 -125.116424,64.539972 -125.118582,64.556749 -125.143959,64.586697 -125.149315,64.597212 -125.150004,64.598226 -125.155631,64.623975 -125.155560,64.624256 -125.155746,64.624537 -125.154559,64.636098 -125.152339,64.641664 -125.176986,64.647541 -125.203171,64.661678 -125.212279,64.672287 -125.228105,64.701206 -125.230591,64.707950 -125.230877,64.713577 -125.225805,64.768811 -125.242055,64.790439 -125.303753,64.813244 -125.338712,64.822221 -125.342587,64.822061 -125.369072,64.816227 -125.409766,64.811214 -125.451865,64.813207 -125.454089,64.813728 -125.456330,64.813855 -125.533061,64.825765 -125.561328,64.827747 -125.563603,64.827592 -125.588493,64.819070 -125.629151,64.813998 -125.650320,64.814076 -125.731150,64.817722 -125.752108,64.819564 -125.789338,64.828185 -125.811038,64.838594 -125.836969,64.855613 -125.846459,64.859204 -125.884682,64.865097 -125.906894,64.864538 -125.916015,64.862489 -125.956676,64.857327 -125.998885,64.859165 -126.010171,64.860935 -126.076546,64.873136 -126.102651,64.879914 -126.120643,64.887929 -126.165186,64.913217 -126.166279,64.913947 -126.166999,64.914276 -126.184182,64.924611 -126.249399,64.946419 -126.250084,64.946765 -126.251075,64.946990 -126.278110,64.960934 -126.285605,64.968352 -126.316166,65.007729 -126.321097,65.017575 -126.321338,65.025614 -126.318204,65.043400 -126.339812,65.060403 -126.426549,65.087256 -126.431154,65.089486 -126.436889,65.090881 -126.444258,65.093803 -126.542924,65.106227 -126.578202,65.113787 -126.673093,65.144208 -126.735965,65.160217 -126.744448,65.162718 -126.745535,65.162949 -126.797724,65.179574 -126.812157,65.177378 -126.837828,65.174878 -126.880595,65.176467 -126.892961,65.178328 -126.986559,65.195079 -127.012317,65.201540 -127.024228,65.206185 -127.039493,65.213084 -127.058372,65.213048 -127.110038,65.211174 -127.150080,65.212804 -127.188301,65.221073 -127.190329,65.222079 -127.192718,65.222629 -127.406475,65.301590 -127.475140,65.321113 -127.477571,65.322220 -127.481472,65.323051 -127.509530,65.336769 -127.522743,65.353367 -127.523904,65.357053 -127.568793,65.368455 -127.569650,65.368703 -127.570023,65.368772 -127.660481,65.392356 -127.679528,65.391596 -127.719877,65.393075 -127.758533,65.401200 -127.786816,65.414865 -127.824050,65.442206 -127.930835,65.493404 -127.994935,65.521217 -128.011236,65.530272 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-126.071158,64.955710 -124.589559,65.407997</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-125.487910,64.955710 -125.701638,65.219050 -125.735772,65.232253 -125.778097,65.240691 -125.787991,65.242951 -125.899923,65.244883 -125.994970,65.244556 -126.040158,65.252307 -126.043089,65.254622 -126.051888,65.261565 -126.070019,65.284236 -126.071158,65.327010 -126.049695,65.343642 -125.959668,65.365050 -125.837601,65.394894 -125.744029,65.407997 -125.655295,65.405184 -125.587181,65.390453 -125.482939,65.346632 -125.424763,65.328248 -125.373574,65.306872 -125.355250,65.303461 -125.279912,65.313833 -125.249688,65.335081 -125.186967,65.350030 -125.112657,65.352695 -125.074524,65.341713 -124.860494,65.183004 -124.816932,65.155563 -124.733220,65.141071 -124.730441,65.141662 -124.655140,65.122425 -124.613295,65.099026 -124.589559,65.070330 -124.618599,65.045110 -124.644933,65.040984 -124.700323,65.029197 -124.738959,65.009214 -124.781698,64.989799 -124.853639,64.986126 -124.897835,64.979567 -124.924298,64.990041 -124.979993,65.007451 -125.057655,65.011280 -125.189195,65.007797 -125.262461,65.002164 -125.349543,64.996418 -125.421218,64.986614 -125.487910,64.955710 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-118.543020,61.287009 -117.899021,61.626836</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-118.536526,61.347182 -118.543020,61.364947 -118.534855,61.382553 -118.513251,61.397317 -118.497016,61.403305 -118.495811,61.403659 -118.496244,61.405318 -118.496534,61.408070 -118.496880,61.408853 -118.498737,61.427502 -118.508152,61.460497 -118.508286,61.461630 -118.508573,61.462205 -118.514874,61.492638 -118.515320,61.498260 -118.507102,61.515865 -118.503549,61.519313 -118.480834,61.539203 -118.474505,61.549932 -118.469852,61.556100 -118.448093,61.570855 -118.416130,61.580509 -118.401633,61.583174 -118.365047,61.595426 -118.344117,61.600740 -118.324167,61.604391 -118.303043,61.611769 -118.280413,61.617646 -118.262830,61.619978 -118.190450,61.626139 -118.170676,61.626836 -118.139004,61.623849 -118.100292,61.616846 -118.098073,61.616140 -118.095021,61.615806 -118.064165,61.605341 -118.044089,61.590045 -118.040847,61.585171 -118.033107,61.570813 -118.030510,61.559642 -118.023828,61.553236 -117.992717,61.555713 -117.955883,61.551638 -117.925140,61.541141 -117.905176,61.525826 -117.899021,61.508029 -117.907588,61.490461 -117.910018,61.488839 -117.910907,61.487288 -117.926090,61.474056 -117.933431,61.469528 -117.932556,61.467002 -117.933310,61.465453 -117.932938,61.464124 -117.949794,61.378850 -117.957917,61.364160 -117.979765,61.349487 -118.011625,61.339939 -118.048656,61.336963 -118.085244,61.341012 -118.115841,61.351471 -118.135796,61.366753 -118.141421,61.377722 -118.141562,61.378287 -118.145618,61.377759 -118.156351,61.376893 -118.202348,61.370017 -118.203316,61.369953 -118.207417,61.369331 -118.231766,61.366372 -118.238991,61.359819 -118.248253,61.343323 -118.253296,61.336510 -118.274982,61.321789 -118.284311,61.318046 -118.346903,61.295971 -118.369283,61.290084 -118.406219,61.287009 -118.442794,61.290959 -118.473462,61.301334 -118.483642,61.307423 -118.526583,61.338046 -118.536526,61.347182 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-118.403841,61.333219 -118.403841,61.333219 -118.403841,61.333219 -118.403841,61.333219 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-117.585827,60.967713 -116.365658,61.300656</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-117.577746,61.226284 -117.579913,61.227983 -117.585827,61.245791 -117.577144,61.263335 -117.555165,61.277940 -117.541074,61.283144 -117.506507,61.293609 -117.488651,61.297838 -117.451614,61.300656 -117.415160,61.296433 -117.399953,61.292199 -117.366636,61.280836 -117.352423,61.274814 -117.351935,61.274644 -117.330101,61.263355 -117.309077,61.256618 -117.285570,61.249914 -117.280094,61.247776 -117.272559,61.245458 -117.261499,61.240954 -117.237105,61.237279 -117.225260,61.235067 -117.207720,61.229963 -117.179921,61.219763 -117.167900,61.214468 -117.154959,61.212937 -117.146911,61.210893 -117.094173,61.195897 -117.083879,61.193152 -117.058433,61.189163 -117.033823,61.202048 -117.027926,61.204877 -117.021314,61.207531 -116.993291,61.217782 -116.967867,61.224432 -116.932309,61.230594 -116.923607,61.231879 -116.888983,61.236131 -116.850742,61.244515 -116.843352,61.245958 -116.819615,61.250045 -116.816736,61.250249 -116.814553,61.250840 -116.778228,61.256007 -116.746244,61.257834 -116.713743,61.254240 -116.709358,61.253346 -116.694268,61.256418 -116.691671,61.256638 -116.689012,61.257401 -116.651954,61.259996 -116.615661,61.255552 -116.606352,61.253097 -116.583509,61.246251 -116.562849,61.237901 -116.547387,61.226650 -116.538434,61.217441 -116.534817,61.213180 -116.529520,61.195327 -116.530460,61.193555 -116.530129,61.192062 -116.533054,61.180836 -116.541702,61.166630 -116.564080,61.152197 -116.589346,61.144301 -116.614308,61.138965 -116.617580,61.138674 -116.621127,61.137655 -116.645530,61.136185 -116.658040,61.135069 -116.660010,61.135311 -116.661826,61.135202 -116.687683,61.136350 -116.708180,61.136426 -116.710140,61.136644 -116.712378,61.136486 -116.724378,61.137153 -116.755390,61.139840 -116.765663,61.138741 -116.784954,61.135816 -116.784051,61.135699 -116.767942,61.132828 -116.755290,61.129328 -116.726153,61.119765 -116.714768,61.123050 -116.703352,61.124632 -116.686879,61.126387 -116.661398,61.127402 -116.651267,61.126883 -116.636856,61.125765 -116.607471,61.126942 -116.594545,61.127033 -116.590905,61.126584 -116.590223,61.127878 -116.567875,61.142315 -116.546724,61.149271 -116.531619,61.152915 -116.520673,61.155155 -116.505407,61.157083 -116.492857,61.158142 -116.471173,61.158758 -116.435026,61.154266 -116.409904,61.145790 -116.396471,61.139485 -116.394799,61.138219 -116.391777,61.137119 -116.372844,61.121583 -116.367598,61.108402 -116.365658,61.087294 -116.365717,61.082617 -116.368579,61.073712 -116.377964,61.056047 -116.384416,61.047493 -116.390745,61.043103 -116.391767,61.042183 -116.425238,61.015062 -116.443474,61.004338 -116.461653,60.998130 -116.508028,60.985929 -116.508136,60.985906 -116.508200,60.985884 -116.543449,60.976638 -116.557050,60.973709 -116.561112,60.973426 -116.564021,60.972659 -116.590235,60.969236 -116.619982,60.967713 -116.646728,60.970301 -116.675565,60.975258 -116.686744,60.974468 -116.697552,60.975042 -116.739840,60.978477 -116.765012,60.982317 -116.794800,60.993076 -116.795858,60.993769 -116.811223,60.993612 -116.814043,60.993905 -116.817556,60.993649 -116.867026,60.994729 -116.867231,60.994754 -116.867442,60.994739 -116.903464,60.999112 -116.931791,61.005601 -116.931937,61.005570 -116.968666,61.002897 -116.984305,61.003891 -116.999102,61.005444 -117.009369,61.006033 -117.009746,61.005956 -117.046469,61.003261 -117.047710,61.003410 -117.048894,61.003331 -117.089840,61.004750 -117.113762,61.007769 -117.122486,61.007123 -117.141285,61.009367 -117.171277,61.007137 -117.207356,61.011426 -117.235241,61.021343 -117.268836,61.025319 -117.282490,61.029092 -117.297298,61.034007 -117.313654,61.040876 -117.315273,61.042165 -117.338659,61.050445 -117.347274,61.057293 -117.358517,61.062004 -117.377908,61.077396 -117.381147,61.087405 -117.395337,61.100456 -117.413058,61.110814 -117.414188,61.111765 -117.419855,61.115311 -117.451152,61.138854 -117.456354,61.143900 -117.456608,61.143934 -117.475428,61.148130 -117.505624,61.158727 -117.512880,61.163003 -117.544808,61.184274 -117.557097,61.195367 -117.559846,61.199549 -117.569096,61.216335 -117.577093,61.224706 -117.577746,61.226284 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-115.938886,61.936801 -112.707304,62.746589</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-115.838270,62.730404 -115.706775,62.746589 -115.685860,62.730730 -115.650998,62.695817 -115.655022,62.676104 -115.594082,62.655831 -115.476609,62.652712 -115.360605,62.632330 -115.247541,62.609313 -115.167796,62.581193 -115.123877,62.564563 -115.050039,62.524947 -114.955736,62.488395 -114.855809,62.469553 -114.709874,62.430050 -114.647815,62.392823 -114.523652,62.377405 -114.456298,62.385190 -114.396711,62.404446 -114.403375,62.447729 -114.405067,62.476987 -114.378797,62.518742 -114.315539,62.553196 -114.264098,62.564838 -114.196245,62.572495 -114.152895,62.555558 -114.135829,62.536956 -114.138841,62.500743 -114.154725,62.483728 -114.181004,62.448372 -114.177971,62.423547 -114.164098,62.396078 -114.117470,62.367017 -114.063275,62.326417 -113.980034,62.296292 -113.863050,62.262543 -113.790048,62.226695 -113.714852,62.207946 -113.642237,62.193005 -113.619553,62.185705 -113.606752,62.172813 -113.595559,62.134508 -113.574973,62.116419 -113.509221,62.104678 -113.426650,62.101555 -113.364651,62.095522 -113.279974,62.103088 -113.251447,62.121704 -113.251515,62.157319 -113.209096,62.196689 -113.145456,62.209611 -113.100318,62.194842 -113.081012,62.163975 -113.072906,62.129487 -113.070829,62.104646 -113.074254,62.095802 -113.053498,62.083986 -112.996398,62.085503 -112.951232,62.106299 -112.948012,62.144404 -112.954654,62.162337 -112.960897,62.201253 -112.905612,62.242208 -112.789594,62.243161 -112.725649,62.226622 -112.707304,62.203985 -112.720287,62.166712 -112.773892,62.115620 -112.789119,62.082206 -112.798400,62.039133 -112.805393,62.021460 -112.845798,61.992989 -112.967731,61.974308 -113.152365,61.963604 -113.206334,61.964517 -113.296402,61.952004 -113.395350,61.946563 -113.464852,61.936801 -113.563315,61.937589 -113.631575,61.946799 -113.707674,61.961162 -113.781530,61.992619 -113.822457,62.035082 -113.885580,62.070163 -113.953276,62.098272 -114.062710,62.107712 -114.146780,62.139704 -114.172832,62.165383 -114.190713,62.192252 -114.263085,62.219610 -114.388808,62.245454 -114.642574,62.285996 -114.734996,62.301778 -114.849269,62.322682 -114.968938,62.357494 -115.080488,62.406163 -115.167791,62.445792 -115.238772,62.494238 -115.326609,62.521053 -115.442140,62.554177 -115.548243,62.573860 -115.646221,62.594745 -115.749871,62.616820 -115.833000,62.642052 -115.909504,62.676792 -115.938886,62.697674 -115.901794,62.716232 -115.838270,62.730404 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-113.877342,61.120192 -112.538136,61.538864</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-112.905700,61.494597 -112.823345,61.496010 -112.823345,61.496010 -112.638781,61.500448 -112.622923,61.500195 -112.622923,61.500195 -112.587007,61.494653 -112.587007,61.494653 -112.558282,61.482957 -112.558282,61.482957 -112.541126,61.466894 -112.541126,61.466894 -112.538136,61.448913 -112.538136,61.448913 -112.549743,61.431753 -112.549743,61.431753 -112.574162,61.418024 -112.574162,61.418024 -112.577561,61.417191 -112.577561,61.417191 -112.579677,61.416082 -112.579677,61.416082 -112.625685,61.401045 -112.625685,61.401045 -112.632666,61.397475 -112.632666,61.397475 -112.641814,61.374201 -112.641814,61.374201 -112.643272,61.358443 -112.643272,61.358443 -112.644126,61.356998 -112.644126,61.356998 -112.643817,61.355175 -112.643817,61.355175 -112.655330,61.338007 -112.655330,61.338007 -112.679626,61.324259 -112.679626,61.324259 -112.713002,61.316017 -112.713002,61.316017 -112.750392,61.314532 -112.750392,61.314532 -112.786127,61.320029 -112.786127,61.320029 -112.800040,61.324536 -112.800040,61.324536 -112.839728,61.339953 -112.839728,61.339953 -112.854490,61.347087 -112.854490,61.347087 -112.862465,61.354495 -112.864860,61.353826 -112.864860,61.353826 -112.942905,61.338806 -112.942905,61.338806 -112.951968,61.337305 -112.951968,61.337305 -112.989372,61.335752 -112.989372,61.335752 -113.017347,61.339337 -113.017347,61.339337 -113.047290,61.345609 -113.047290,61.345609 -113.055121,61.347455 -113.055121,61.347455 -113.083908,61.359042 -113.083908,61.359042 -113.085670,61.360664 -113.085670,61.360664 -113.087995,61.361669 -113.087995,61.361669 -113.103080,61.372110 -113.103080,61.372110 -113.116384,61.385474 -113.116384,61.385474 -113.119708,61.403440 -113.119708,61.403440 -113.114479,61.411422 -113.138813,61.410956 -113.153041,61.411184 -113.153041,61.411184 -113.171457,61.413018 -113.171457,61.413018 -113.178577,61.414082 -113.189461,61.413232 -113.189461,61.413232 -113.215259,61.412890 -113.251192,61.418262 -113.251192,61.418262 -113.257173,61.419821 -113.297173,61.409389 -113.297173,61.409389 -113.297053,61.403281 -113.297053,61.403281 -113.297581,61.398001 -113.297581,61.398001 -113.308741,61.380777 -113.308741,61.380777 -113.332775,61.366909 -113.332775,61.366909 -113.360316,61.359410 -113.360316,61.359410 -113.423289,61.348320 -113.423289,61.348320 -113.426060,61.348153 -113.426060,61.348153 -113.428989,61.347410 -113.428989,61.347410 -113.449636,61.346479 -113.449636,61.346479 -113.448660,61.338730 -113.448660,61.338730 -113.459714,61.321494 -113.459714,61.321494 -113.479499,61.310002 -113.479499,61.310002 -113.465446,61.297466 -113.465446,61.297466 -113.457965,61.288767 -113.457965,61.288767 -113.454195,61.278844 -113.454195,61.278844 -113.451449,61.260371 -113.451449,61.260371 -113.451709,61.252338 -113.451709,61.252338 -113.462730,61.235103 -113.462730,61.235103 -113.481463,61.223367 -113.481463,61.223367 -113.498907,61.215462 -113.498907,61.215462 -113.499820,61.212941 -113.499820,61.212941 -113.501702,61.210322 -113.501702,61.210322 -113.504289,61.204924 -113.504289,61.204924 -113.525837,61.176645 -113.525837,61.176645 -113.531409,61.170670 -113.531409,61.170670 -113.555179,61.156764 -113.555179,61.156764 -113.583596,61.149023 -113.583596,61.149023 -113.661966,61.135506 -113.661966,61.135506 -113.664215,61.135372 -113.664215,61.135372 -113.666501,61.134783 -113.666501,61.134783 -113.753952,61.121971 -113.753952,61.121971 -113.791050,61.120192 -113.826740,61.125406 -113.826740,61.125406 -113.855608,61.136823 -113.855608,61.136823 -113.873263,61.152710 -113.873263,61.152710 -113.877342,61.168363 -113.877342,61.168363 -113.871615,61.228023 -113.871615,61.228023 -113.871018,61.229073 -113.871018,61.229073 -113.871277,61.230313 -113.871277,61.230313 -113.866427,61.241022 -113.866427,61.241022 -113.803692,61.327942 -113.803692,61.327942 -113.797722,61.334499 -113.797722,61.334499 -113.781128,61.345302 -113.781128,61.345302 -113.737594,61.366348 -113.737594,61.366348 -113.732150,61.368724 -113.732150,61.368724 -113.731837,61.368910 -113.731837,61.368910 -113.622375,61.413671 -113.622375,61.413671 -113.501234,61.468302 -113.501234,61.468302 -113.498513,61.469052 -113.498513,61.469052 -113.496076,61.470462 -113.496076,61.470462 -113.477996,61.476028 -113.477996,61.476028 -113.344206,61.507652 -113.344206,61.507652 -113.341325,61.508191 -113.341325,61.508191 -113.339891,61.508607 -113.339891,61.508607 -113.211513,61.535104 -113.211513,61.535104 -113.200531,61.536996 -113.200531,61.536996 -113.171280,61.538864 -113.087424,61.538029 -113.087424,61.538029 -113.079036,61.537769 -113.079036,61.537769 -113.044979,61.532856 -113.044979,61.532856 -112.931453,61.504674 -112.931453,61.504674 -112.930595,61.504337 -112.930595,61.504337 -112.929470,61.504166 -112.929470,61.504166 -112.905700,61.494597 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-132.707389,60.134025 -132.392419,60.329091</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-132.394219,60.173282 -132.408090,60.156643 -132.408090,60.156643 -132.433664,60.143912 -132.433664,60.143912 -132.435523,60.143293 -132.435523,60.143293 -132.435523,60.143293 -132.435523,60.143293 -132.468904,60.136402 -132.468904,60.136402 -132.476857,60.136307 -132.476857,60.136307 -132.480240,60.135537 -132.480240,60.135537 -132.485694,60.134791 -132.485694,60.134791 -132.488700,60.134737 -132.488700,60.134737 -132.492084,60.134037 -132.492084,60.134037 -132.528205,60.134025 -132.528205,60.134025 -132.554529,60.138772 -132.554529,60.138772 -132.660540,60.167482 -132.660540,60.167482 -132.667621,60.169604 -132.667621,60.169604 -132.693282,60.182302 -132.693282,60.182302 -132.707252,60.198923 -132.707252,60.198923 -132.707389,60.216942 -132.707389,60.216942 -132.703727,60.223594 -132.703727,60.223594 -132.660086,60.284429 -132.660086,60.284429 -132.649975,60.294447 -132.649975,60.294447 -132.624368,60.307223 -132.624368,60.307223 -132.618046,60.308531 -132.618046,60.308531 -132.606711,60.314180 -132.606711,60.314180 -132.604839,60.314567 -132.604839,60.314567 -132.604272,60.314869 -132.604272,60.314869 -132.598923,60.316919 -132.598923,60.316919 -132.596321,60.317508 -132.596321,60.317508 -132.593895,60.318716 -132.593895,60.318716 -132.560348,60.325641 -132.560348,60.325641 -132.551021,60.325857 -132.551021,60.325857 -132.537283,60.328204 -132.537283,60.328204 -132.532418,60.328206 -132.532418,60.328206 -132.528180,60.329079 -132.528180,60.329079 -132.491835,60.329091 -132.458259,60.322197 -132.458259,60.322197 -132.432579,60.309450 -132.432579,60.309450 -132.418705,60.292797 -132.418705,60.292797 -132.416934,60.283466 -132.416934,60.283466 -132.416955,60.282171 -132.416955,60.282171 -132.408883,60.278156 -132.408883,60.278156 -132.395035,60.261500 -132.395035,60.261500 -132.393272,60.252823 -132.393272,60.252823 -132.392419,60.182624 -132.392419,60.182624 -132.394219,60.173282 -132.394219,60.173282 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-140.012637,69.336464 -138.714962,69.685588</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-138.936618,69.522342 -138.936970,69.521930 -138.938146,69.521262 -138.938458,69.520930 -138.940548,69.519716 -138.941652,69.519267 -138.945867,69.516870 -138.948485,69.515576 -138.951647,69.513743 -138.953070,69.512647 -138.955318,69.511618 -138.956568,69.510154 -138.959133,69.508664 -138.943117,69.496610 -138.905831,69.470349 -138.880326,69.454348 -138.829655,69.432750 -138.794163,69.419619 -138.792013,69.418321 -138.787984,69.417161 -138.763883,69.401329 -138.760084,69.395668 -138.757377,69.390073 -138.756141,69.377860 -138.770888,69.360666 -138.803133,69.346767 -138.847961,69.338271 -138.898569,69.336464 -138.916797,69.337543 -138.936176,69.339194 -138.966682,69.343269 -138.991115,69.349176 -139.009456,69.354783 -139.020626,69.358811 -139.022160,69.359238 -139.069577,69.378294 -139.070446,69.378841 -139.071932,69.379266 -139.083717,69.385150 -139.139710,69.418272 -139.174827,69.435295 -139.215947,69.444588 -139.235131,69.450539 -139.240310,69.450614 -139.282642,69.451949 -139.331710,69.457001 -139.371575,69.468254 -139.393952,69.477620 -139.413953,69.485181 -139.419148,69.484181 -139.453324,69.482082 -139.509057,69.481271 -139.525772,69.481399 -139.542298,69.483076 -139.549362,69.482478 -139.591275,69.481356 -139.615234,69.483777 -139.620606,69.483721 -139.669819,69.488682 -139.709911,69.499860 -139.723843,69.506840 -139.740034,69.516794 -139.742585,69.518825 -139.744920,69.520100 -139.754626,69.527369 -139.755209,69.527889 -139.764621,69.530201 -139.767520,69.531126 -139.771948,69.532137 -139.813084,69.543805 -139.863264,69.553178 -139.888985,69.557638 -139.891726,69.558385 -139.894830,69.558715 -139.945434,69.568603 -139.981391,69.578896 -140.006547,69.594557 -140.012637,69.612386 -139.998689,69.629670 -139.983374,69.637862 -139.969101,69.643959 -139.952505,69.649869 -139.907477,69.658634 -139.861499,69.660833 -139.825746,69.660330 -139.823282,69.660105 -139.820468,69.660218 -139.802763,69.658227 -139.770840,69.655300 -139.766740,69.654169 -139.762653,69.653708 -139.724401,69.645626 -139.723577,69.645381 -139.719882,69.644626 -139.648245,69.628028 -139.579335,69.616180 -139.520931,69.606288 -139.489697,69.603622 -139.452356,69.604160 -139.435549,69.604026 -139.422528,69.603401 -139.388215,69.601137 -139.382641,69.603985 -139.381963,69.604717 -139.371354,69.610925 -139.362969,69.614357 -139.356553,69.617692 -139.354727,69.618446 -139.354668,69.618510 -139.354025,69.618891 -139.353640,69.619350 -139.350940,69.620964 -139.349380,69.622155 -139.349116,69.622491 -139.346087,69.624695 -139.344733,69.625303 -139.344054,69.626112 -139.336260,69.630221 -139.334258,69.631407 -139.330094,69.633610 -139.329007,69.634035 -139.326045,69.635292 -139.325999,69.635308 -139.323797,69.636509 -139.321233,69.637668 -139.316255,69.639473 -139.313295,69.640931 -139.303363,69.644647 -139.302123,69.645057 -139.287058,69.650697 -139.286684,69.650768 -139.286419,69.650881 -139.284019,69.651570 -139.283344,69.651810 -139.273806,69.654872 -139.273308,69.654967 -139.272958,69.655117 -139.270536,69.655809 -139.257823,69.660212 -139.257324,69.660307 -139.249437,69.663036 -139.248850,69.663291 -139.240179,69.665860 -139.239601,69.665971 -139.239177,69.666154 -139.231968,69.668072 -139.231711,69.668155 -139.231130,69.668413 -139.220193,69.671791 -139.218735,69.672077 -139.217584,69.672576 -139.215097,69.673304 -139.214809,69.673359 -139.214601,69.673448 -139.188628,69.679332 -139.181057,69.680635 -139.161663,69.683333 -139.134618,69.685209 -139.122889,69.685587 -139.098553,69.685588 -139.088177,69.685110 -139.075801,69.684366 -139.067561,69.683390 -139.053026,69.682254 -139.046443,69.681418 -139.030077,69.678891 -139.029547,69.678742 -139.028910,69.678674 -139.024849,69.677911 -139.024644,69.677880 -139.009324,69.676947 -138.997706,69.675900 -138.989126,69.674743 -138.982756,69.674216 -138.982541,69.674187 -138.980631,69.674237 -138.978192,69.674110 -138.969358,69.673099 -138.950062,69.671514 -138.944458,69.670759 -138.930345,69.668516 -138.915015,69.665110 -138.907000,69.664024 -138.905696,69.663654 -138.904674,69.663547 -138.903108,69.663165 -138.901861,69.663024 -138.899535,69.662547 -138.894660,69.661100 -138.890126,69.659991 -138.882242,69.658294 -138.878936,69.657290 -138.875257,69.656438 -138.870568,69.655421 -138.869637,69.655138 -138.868149,69.654793 -138.867196,69.654522 -138.861482,69.653263 -138.857638,69.652265 -138.853597,69.650925 -138.848920,69.649794 -138.838521,69.646580 -138.828093,69.642813 -138.826837,69.642488 -138.825515,69.642025 -138.823637,69.641593 -138.820000,69.640568 -138.819134,69.640347 -138.818746,69.640214 -138.814948,69.639144 -138.808606,69.636953 -138.804880,69.635995 -138.799135,69.634003 -138.790336,69.630633 -138.788880,69.629687 -138.786794,69.629065 -138.780048,69.625941 -138.775786,69.624111 -138.774014,69.622949 -138.771622,69.622225 -138.762526,69.617875 -138.760407,69.616394 -138.756514,69.614340 -138.755800,69.614001 -138.755571,69.613842 -138.752931,69.612450 -138.750179,69.611114 -138.742744,69.606963 -138.740769,69.605448 -138.739276,69.604699 -138.735961,69.602718 -138.734906,69.601875 -138.734746,69.601785 -138.733317,69.600700 -138.732639,69.600076 -138.729366,69.598226 -138.725996,69.595581 -138.720313,69.590255 -138.715389,69.581814 -138.715083,69.580823 -138.714962,69.571395 -138.715589,69.570673 -138.715470,69.570252 -138.715977,69.569293 -138.715887,69.568845 -138.716394,69.567703 -138.717341,69.566712 -138.719509,69.562610 -138.720490,69.561358 -138.729215,69.553696 -138.731572,69.550976 -138.746554,69.543194 -138.749748,69.541852 -138.767311,69.535747 -138.780146,69.532487 -138.783112,69.531825 -138.791122,69.530533 -138.799295,69.528747 -138.802422,69.528248 -138.818623,69.526101 -138.843909,69.524323 -138.855252,69.523924 -138.862132,69.523919 -138.872094,69.523043 -138.879092,69.522859 -138.890100,69.522192 -138.892238,69.522024 -138.895097,69.521878 -138.895304,69.521876 -138.898140,69.521704 -138.905172,69.521591 -138.916688,69.521690 -138.919951,69.521662 -138.923591,69.521518 -138.927605,69.521619 -138.929010,69.521761 -138.930552,69.521706 -138.936618,69.522342 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.690858,76.808530 -77.782555,78.105913</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-78.354506,77.901885 -78.275810,77.872482 -78.063965,77.852425 -77.985481,77.828987 -77.938286,77.763000 -77.988419,77.687164 -77.782555,77.613190 -78.009117,77.477829 -78.276421,77.427650 -78.486092,77.335472 -78.659157,77.309792 -78.849991,77.304390 -78.907516,77.326630 -78.887016,77.345146 -78.955009,77.358131 -79.058701,77.338676 -79.138130,77.303459 -79.236137,77.288574 -79.324020,77.282936 -79.597054,77.295464 -79.796814,77.280167 -79.913918,77.285378 -79.963043,77.297264 -80.149787,77.301921 -78.834344,78.105913 -78.495506,78.082472 -78.165289,77.982468 -78.084513,77.972805 -78.297501,77.945162 -78.354506,77.901885 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-80.414476,77.086434 -80.364067,77.077072 -80.201965,77.099098 -80.021469,77.159058 -79.964684,77.195374 -79.887619,77.211365 -79.712975,77.203514 -79.528824,77.224289 -79.354202,77.216225 -79.252747,77.196892 -79.033501,77.098885 -79.073181,77.061852 -79.266354,76.981077 -79.598414,76.808530 -80.690858,76.871880 -80.413042,77.084735 -80.414476,77.086434 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-80.420892,77.095249 -80.421620,77.094890 -80.421830,77.095139 -80.420892,77.095249 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.348457,62.101552 -79.205455,62.173123</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.319998,62.116139 -79.319998,62.116139 -79.321492,62.118102 -79.321492,62.118102 -79.325049,62.118892 -79.325049,62.118892 -79.340561,62.126921 -79.340561,62.126921 -79.347576,62.135181 -79.347576,62.135181 -79.347695,62.135434 -79.347695,62.135434 -79.347671,62.136243 -79.347671,62.136243 -79.348337,62.137117 -79.348337,62.137117 -79.348328,62.137202 -79.348328,62.137202 -79.348457,62.137370 -79.348457,62.137370 -79.347307,62.148183 -79.347307,62.148183 -79.337396,62.157967 -79.337396,62.157967 -79.327124,62.162977 -79.327124,62.162977 -79.326162,62.163342 -79.326162,62.163342 -79.319265,62.165595 -79.319265,62.165595 -79.301394,62.168573 -79.301394,62.168573 -79.299586,62.169250 -79.299586,62.169250 -79.277770,62.172881 -79.276569,62.172853 -79.276569,62.172853 -79.275846,62.172973 -79.275599,62.172967 -79.275599,62.172967 -79.275182,62.173032 -79.275182,62.173032 -79.273259,62.173123 -79.252717,62.172421 -79.252717,62.172421 -79.231806,62.167769 -79.231806,62.167769 -79.218173,62.161103 -79.218173,62.161103 -79.217057,62.160334 -79.217057,62.160334 -79.216745,62.159958 -79.216745,62.159958 -79.216302,62.159728 -79.216302,62.159728 -79.216064,62.159414 -79.216064,62.159414 -79.215186,62.158959 -79.215186,62.158959 -79.209398,62.152834 -79.209398,62.152834 -79.208051,62.150762 -79.208051,62.150762 -79.206103,62.146683 -79.206103,62.146683 -79.206197,62.145842 -79.206197,62.145842 -79.205912,62.145465 -79.205912,62.145465 -79.205916,62.145127 -79.205916,62.145127 -79.205646,62.144726 -79.205646,62.144726 -79.205455,62.143509 -79.205455,62.143509 -79.205969,62.140762 -79.205969,62.140762 -79.206009,62.137464 -79.206009,62.137464 -79.205852,62.136591 -79.205852,62.136591 -79.205729,62.134200 -79.205729,62.134200 -79.205464,62.131631 -79.205464,62.131631 -79.206140,62.128474 -79.206140,62.128474 -79.206201,62.125731 -79.206201,62.125731 -79.206528,62.124814 -79.206528,62.124814 -79.207539,62.122556 -79.207539,62.122556 -79.217480,62.112782 -79.217480,62.112782 -79.221519,62.110509 -79.221519,62.110509 -79.222221,62.110154 -79.222221,62.110154 -79.235345,62.105177 -79.235345,62.105177 -79.257117,62.101552 -79.280192,62.102104 -79.280192,62.102104 -79.290230,62.103752 -79.290230,62.103752 -79.291068,62.103931 -79.291068,62.103931 -79.301903,62.106927 -79.301903,62.106927 -79.307855,62.109302 -79.307855,62.109302 -79.310449,62.110484 -79.310449,62.110484 -79.319998,62.116139 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-83.083804,66.388138 -82.845196,66.448835</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-82.994511,66.448144 -82.985939,66.448317 -82.978126,66.447992 -82.973535,66.447948 -82.962165,66.447462 -82.961410,66.447339 -82.958760,66.447277 -82.957796,66.447440 -82.954314,66.447449 -82.954297,66.447451 -82.948264,66.448063 -82.934933,66.448099 -82.932739,66.448349 -82.905691,66.448418 -82.880642,66.444338 -82.875464,66.442620 -82.875040,66.442551 -82.873919,66.442107 -82.869033,66.440486 -82.866467,66.439426 -82.863723,66.438073 -82.855815,66.434943 -82.845338,66.424969 -82.845196,66.414150 -82.855398,66.404131 -82.874382,66.396438 -82.897924,66.392354 -82.903061,66.391888 -82.903738,66.391884 -82.904394,66.391773 -82.912954,66.391752 -82.917687,66.390952 -82.923477,66.390854 -82.934270,66.389028 -82.955184,66.388971 -82.955500,66.388937 -82.961209,66.388921 -82.965362,66.388217 -82.992346,66.388138 -83.000671,66.388993 -83.002985,66.389294 -83.018608,66.392296 -83.024342,66.393133 -83.028541,66.393368 -83.053563,66.397425 -83.072819,66.405009 -83.082205,66.413058 -83.082390,66.413318 -83.082479,66.414122 -83.083377,66.414968 -83.083379,66.415056 -83.083561,66.415228 -83.083804,66.426048 -83.073683,66.436080 -83.054731,66.443797 -83.034607,66.447553 -83.032006,66.447847 -83.030721,66.447870 -83.029831,66.448021 -83.028947,66.448024 -83.027229,66.448315 -83.008728,66.448835 -83.003865,66.448710 -82.995318,66.448275 -82.994511,66.448144 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-78.620415,63.414576 -78.352478,63.544701</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-78.561246,63.415741 -78.582963,63.420497 -78.594180,63.426184 -78.596374,63.426664 -78.612391,63.434778 -78.620264,63.445019 -78.620415,63.451963 -78.619967,63.453691 -78.618335,63.457558 -78.607718,63.467292 -78.598176,63.471065 -78.595530,63.473489 -78.594450,63.473916 -78.593630,63.474667 -78.595600,63.477230 -78.594109,63.488040 -78.585502,63.496509 -78.583761,63.497660 -78.583668,63.498007 -78.573024,63.507739 -78.568346,63.509584 -78.566229,63.511518 -78.555175,63.515877 -78.551286,63.519427 -78.544840,63.522522 -78.535136,63.527820 -78.526206,63.533109 -78.526069,63.533163 -78.525987,63.533238 -78.507780,63.540401 -78.493797,63.543064 -78.487616,63.543860 -78.478628,63.544701 -78.467026,63.544372 -78.466191,63.544499 -78.441961,63.543809 -78.436631,63.543176 -78.414845,63.538397 -78.414586,63.538266 -78.414246,63.538190 -78.410942,63.537032 -78.395524,63.529103 -78.393041,63.525845 -78.390702,63.525332 -78.374697,63.517192 -78.366893,63.506937 -78.368432,63.496398 -78.365044,63.491941 -78.366050,63.485050 -78.362706,63.482781 -78.362110,63.482067 -78.360790,63.481394 -78.353001,63.471138 -78.352478,63.467048 -78.352668,63.461976 -78.354772,63.455258 -78.358328,63.449315 -78.369023,63.439600 -78.387200,63.432455 -78.398325,63.430196 -78.411456,63.428201 -78.414936,63.427837 -78.416730,63.427514 -78.420062,63.427151 -78.420264,63.427118 -78.430786,63.424852 -78.443402,63.422025 -78.447403,63.420777 -78.451747,63.419538 -78.473874,63.416085 -78.486288,63.415272 -78.487056,63.415291 -78.487785,63.415182 -78.496592,63.414702 -78.506012,63.414994 -78.507162,63.414818 -78.516563,63.414576 -78.546524,63.414823 -78.561246,63.415741 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-65.072782,61.893907 -64.942557,61.954885</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.942721,61.923323 -64.942557,61.922662 -64.942557,61.922662 -64.942694,61.922434 -64.942694,61.922434 -64.942627,61.920281 -64.942627,61.920281 -64.948888,61.909865 -64.948888,61.909865 -64.963118,61.901371 -64.963118,61.901371 -64.969508,61.899135 -64.969508,61.899135 -64.970178,61.898933 -64.970178,61.898933 -64.983819,61.895887 -64.983819,61.895887 -64.985740,61.895780 -64.985740,61.895780 -64.986103,61.895678 -64.986103,61.895678 -64.988473,61.895547 -64.988473,61.895547 -64.990208,61.895127 -64.990208,61.895127 -64.994546,61.894624 -64.994546,61.894624 -65.013228,61.893907 -65.013228,61.893907 -65.025036,61.894926 -65.025036,61.894926 -65.027387,61.895249 -65.027387,61.895249 -65.035198,61.896708 -65.035198,61.896708 -65.038688,61.897172 -65.038688,61.897172 -65.056716,61.903871 -65.056716,61.903871 -65.060216,61.906004 -65.060216,61.906004 -65.061333,61.906757 -65.061333,61.906757 -65.066832,61.911959 -65.066832,61.911959 -65.068548,61.913357 -65.068548,61.913357 -65.069554,61.914689 -65.069554,61.914689 -65.069656,61.915054 -65.069656,61.915054 -65.070066,61.915399 -65.070066,61.915399 -65.072782,61.926149 -65.072782,61.926149 -65.070877,61.929341 -65.070877,61.929341 -65.069664,61.932434 -65.069664,61.932434 -65.069218,61.933145 -65.069218,61.933145 -65.067133,61.935612 -65.067133,61.935612 -65.066561,61.936570 -65.066561,61.936570 -65.065874,61.937102 -65.065874,61.937102 -65.065234,61.937859 -65.065234,61.937859 -65.063459,61.938970 -65.063459,61.938970 -65.061890,61.940184 -65.061890,61.940184 -65.061009,61.940761 -65.061009,61.940761 -65.060162,61.941195 -65.060162,61.941195 -65.053005,61.945932 -65.053005,61.945932 -65.052048,61.946400 -65.052048,61.946400 -65.047881,61.948251 -65.047881,61.948251 -65.027826,61.953542 -65.027826,61.953542 -65.007768,61.954885 -65.006690,61.954869 -65.006690,61.954869 -65.005838,61.954766 -65.005838,61.954766 -65.004994,61.954813 -65.004591,61.954759 -65.004591,61.954759 -65.003917,61.954797 -65.000257,61.954310 -65.000257,61.954310 -64.993445,61.953782 -64.993445,61.953782 -64.990192,61.953395 -64.990192,61.953395 -64.982782,61.952082 -64.982782,61.952082 -64.980506,61.951808 -64.980506,61.951808 -64.978409,61.951364 -64.978409,61.951364 -64.978085,61.951250 -64.978085,61.951250 -64.977852,61.951209 -64.977852,61.951209 -64.977164,61.950953 -64.977164,61.950953 -64.975755,61.950765 -64.975755,61.950765 -64.957718,61.944055 -64.957718,61.944055 -64.950066,61.938653 -64.950066,61.938653 -64.948780,61.937463 -64.948780,61.937463 -64.945227,61.933414 -64.945227,61.933414 -64.944482,61.930416 -64.944482,61.930416 -64.944215,61.929873 -64.944215,61.929873 -64.944055,61.928848 -64.944055,61.928848 -64.943049,61.926633 -64.943049,61.926633 -64.942788,61.925508 -64.942788,61.925508 -64.942721,61.923323 -64.942721,61.923323 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-94.517041,75.725710 -94.162409,75.806596</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-94.341667,75.800593 -94.341667,75.800593 -94.313487,75.804653 -94.313487,75.804653 -94.271205,75.806596 -94.229116,75.804416 -94.229116,75.804416 -94.193657,75.798444 -94.193657,75.798444 -94.170237,75.789595 -94.170237,75.789595 -94.162409,75.779218 -94.162409,75.779218 -94.164443,75.774385 -94.164443,75.774385 -94.165883,75.772573 -94.165883,75.772573 -94.168807,75.766793 -94.168807,75.766793 -94.170263,75.765471 -94.170263,75.765471 -94.171299,75.763522 -94.171299,75.763522 -94.176631,75.758312 -94.176631,75.758312 -94.177238,75.757871 -94.177238,75.757871 -94.177391,75.757610 -94.177391,75.757610 -94.181631,75.753889 -94.181631,75.753889 -94.186460,75.750522 -94.186460,75.750522 -94.201558,75.744312 -94.201558,75.744312 -94.208743,75.742094 -94.208743,75.742094 -94.217899,75.739601 -94.217899,75.739601 -94.253793,75.733842 -94.253793,75.733842 -94.281044,75.732108 -94.281044,75.732108 -94.291635,75.731782 -94.291635,75.731782 -94.302853,75.730810 -94.302853,75.730810 -94.304272,75.730753 -94.304272,75.730753 -94.312304,75.730108 -94.312304,75.730108 -94.346719,75.727957 -94.346719,75.727957 -94.350400,75.727848 -94.350400,75.727848 -94.355186,75.727513 -94.355186,75.727513 -94.388551,75.726101 -94.388551,75.726101 -94.408189,75.725710 -94.408189,75.725710 -94.450091,75.727863 -94.450091,75.727863 -94.485488,75.733801 -94.485488,75.733801 -94.509002,75.742624 -94.509002,75.742624 -94.517041,75.752993 -94.517041,75.752993 -94.508353,75.763329 -94.508353,75.763329 -94.484229,75.772058 -94.484229,75.772058 -94.476429,75.773773 -94.476429,75.773773 -94.341667,75.800593 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-89.591194,75.468054 -88.076547,75.877226</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-88.197609,75.480900 -88.199713,75.480904 -88.213369,75.479039 -88.213369,75.479039 -88.213369,75.479039 -88.217534,75.478606 -88.217534,75.478606 -88.217534,75.478606 -88.220503,75.478147 -88.220503,75.478147 -88.220503,75.478147 -88.242448,75.475654 -88.242448,75.475654 -88.242448,75.475654 -88.246134,75.475310 -88.246134,75.475310 -88.246134,75.475310 -88.247073,75.475176 -88.247073,75.475176 -88.247073,75.475176 -88.251758,75.474738 -88.251758,75.474738 -88.251758,75.474738 -88.253509,75.474683 -88.253509,75.474683 -88.253509,75.474683 -88.255105,75.474526 -88.255105,75.474526 -88.255105,75.474526 -88.256504,75.474342 -88.256504,75.474342 -88.256504,75.474342 -88.257422,75.474298 -88.257422,75.474298 -88.257422,75.474298 -88.258030,75.474238 -88.258030,75.474238 -88.258030,75.474238 -88.258030,75.474238 -88.258030,75.474238 -88.259253,75.474210 -88.259253,75.474210 -88.259253,75.474210 -88.259880,75.474180 -88.259880,75.474180 -88.259880,75.474180 -88.261081,75.474031 -88.261081,75.474031 -88.261081,75.474031 -88.263747,75.473865 -88.263747,75.473865 -88.263747,75.473865 -88.274993,75.472010 -88.274993,75.472010 -88.274993,75.472010 -88.287423,75.470373 -88.287423,75.470373 -88.287423,75.470373 -88.300493,75.469042 -88.300493,75.469042 -88.300493,75.469042 -88.300493,75.469042 -88.300493,75.469042 -88.300493,75.469042 -88.314345,75.468375 -88.314345,75.468375 -88.314345,75.468375 -88.328323,75.468054 -88.342426,75.468077 -88.342426,75.468077 -88.356241,75.468790 -88.356241,75.468790 -88.356241,75.468790 -88.369648,75.469834 -88.369648,75.469834 -88.369648,75.469834 -88.382648,75.471208 -88.382648,75.471208 -88.382648,75.471208 -88.382648,75.471208 -88.382648,75.471208 -88.382648,75.471208 -88.394333,75.473192 -88.394333,75.473192 -88.394333,75.473192 -88.405137,75.475442 -88.405137,75.475442 -88.405137,75.475442 -88.415061,75.477959 -88.415061,75.477959 -88.415061,75.477959 -88.415061,75.477959 -88.415061,75.477959 -88.415061,75.477959 -88.422840,75.480913 -88.422840,75.480913 -88.422840,75.480913 -88.429398,75.484029 -88.429398,75.484029 -88.429398,75.484029 -88.434734,75.487306 -88.434734,75.487306 -88.434734,75.487306 -88.435111,75.487954 -88.435111,75.487954 -88.435111,75.487954 -88.435797,75.488304 -88.435797,75.488304 -88.435797,75.488304 -88.436745,75.489309 -88.436745,75.489309 -88.436745,75.489309 -88.436791,75.489485 -88.436791,75.489485 -88.436791,75.489485 -88.437579,75.490320 -88.437579,75.490320 -88.437579,75.490320 -88.439130,75.492517 -88.439130,75.492517 -88.439130,75.492517 -88.439293,75.493651 -88.439293,75.493651 -88.439293,75.493651 -88.440186,75.495013 -88.440186,75.495013 -88.440186,75.495013 -88.440546,75.497516 -88.440546,75.497516 -88.440546,75.497516 -88.440485,75.497966 -88.440485,75.497966 -88.440485,75.497966 -88.440592,75.498149 -88.440592,75.498149 -88.440592,75.498149 -88.440592,75.498149 -88.440209,75.500026 -88.440209,75.500026 -88.440209,75.500026 -88.437383,75.503494 -88.437383,75.503494 -88.437383,75.503494 -88.433232,75.506860 -88.433232,75.506860 -88.433232,75.506860 -88.427754,75.510123 -88.427754,75.510123 -88.427754,75.510123 -88.427754,75.510123 -88.427754,75.510123 -88.427754,75.510123 -88.419836,75.513056 -88.419836,75.513056 -88.419836,75.513056 -88.410847,75.515767 -88.410847,75.515767 -88.410847,75.515767 -88.400789,75.518256 -88.400789,75.518256 -88.400789,75.518256 -88.400789,75.518256 -88.400789,75.518256 -88.400789,75.518256 -88.399405,75.518439 -88.399405,75.518439 -88.399405,75.518439 -88.398485,75.518705 -88.398485,75.518705 -88.398485,75.518705 -88.396146,75.519141 -88.396146,75.519141 -88.396146,75.519141 -88.395845,75.519179 -88.395845,75.519179 -88.395845,75.519179 -88.393772,75.519566 -88.393772,75.519566 -88.393772,75.519566 -88.367243,75.524110 -88.367243,75.524110 -88.367243,75.524110 -88.363767,75.524523 -88.363767,75.524523 -88.363767,75.524523 -88.357497,75.525512 -88.357497,75.525512 -88.357497,75.525512 -88.348227,75.526615 -88.348227,75.526615 -88.348227,75.526615 -88.340893,75.527318 -88.340893,75.527318 -88.340893,75.527318 -88.338206,75.527592 -88.338206,75.527592 -88.338206,75.527592 -88.338044,75.527652 -88.338044,75.527652 -88.338044,75.527652 -88.339111,75.527895 -88.339111,75.527895 -88.339111,75.527895 -88.342931,75.528532 -88.342931,75.528532 -88.342931,75.528532 -88.361160,75.532208 -88.361160,75.532208 -88.361160,75.532208 -88.380594,75.535921 -88.380594,75.535921 -88.380594,75.535921 -88.381952,75.536251 -88.381952,75.536251 -88.381952,75.536251 -88.383939,75.536586 -88.383939,75.536586 -88.383939,75.536586 -88.404366,75.540814 -88.404366,75.540814 -88.404366,75.540814 -88.407706,75.541657 -88.407706,75.541657 -88.407706,75.541657 -88.408734,75.541849 -88.408734,75.541849 -88.408734,75.541849 -88.410275,75.542130 -88.410275,75.542130 -88.410275,75.542130 -88.430464,75.546966 -88.430464,75.546966 -88.430464,75.546966 -88.432940,75.547637 -88.432940,75.547637 -88.432940,75.547637 -88.433610,75.547767 -88.433610,75.547767 -88.433610,75.547767 -88.436654,75.548592 -88.436654,75.548592 -88.436654,75.548592 -88.437430,75.548933 -88.437430,75.548933 -88.437430,75.548933 -88.438636,75.549242 -88.438636,75.549242 -88.438636,75.549242 -88.439596,75.549441 -88.439596,75.549441 -88.439596,75.549441 -88.439596,75.549441 -88.439596,75.549441 -88.439596,75.549441 -88.439988,75.549589 -88.439988,75.549589 -88.439988,75.549589 -88.440365,75.549686 -88.440365,75.549686 -88.440365,75.549686 -88.440845,75.549913 -88.440845,75.549913 -88.440845,75.549913 -88.441065,75.549996 -88.441065,75.549996 -88.441065,75.549996 -88.441903,75.550175 -88.441903,75.550175 -88.441903,75.550175 -88.454843,75.554442 -88.454843,75.554442 -88.454843,75.554442 -88.465372,75.557456 -88.465372,75.557456 -88.465372,75.557456 -88.484478,75.561929 -88.484478,75.561929 -88.484478,75.561929 -88.509864,75.567695 -88.509864,75.567695 -88.509864,75.567695 -88.512706,75.568444 -88.512706,75.568444 -88.512706,75.568444 -88.513711,75.568636 -88.513711,75.568636 -88.513711,75.568636 -88.517412,75.569611 -88.517412,75.569611 -88.517412,75.569611 -88.518641,75.570140 -88.518641,75.570140 -88.518641,75.570140 -88.520969,75.570620 -88.520969,75.570620 -88.520969,75.570620 -88.520969,75.570620 -88.520969,75.570620 -88.552812,75.580358 -88.552812,75.580358 -88.552812,75.580358 -88.552812,75.580358 -88.554047,75.580938 -88.554047,75.580938 -88.554047,75.580938 -88.555695,75.581300 -88.555695,75.581300 -88.555695,75.581300 -88.558451,75.582265 -88.558451,75.582265 -88.558451,75.582265 -88.558873,75.582480 -88.558873,75.582480 -88.558873,75.582480 -88.561081,75.583253 -88.561081,75.583253 -88.561081,75.583253 -88.584231,75.592591 -88.584231,75.592591 -88.584231,75.592591 -88.605486,75.600356 -88.605486,75.600356 -88.605486,75.600356 -88.606104,75.600679 -88.606104,75.600679 -88.606104,75.600679 -88.606503,75.600813 -88.606503,75.600813 -88.606503,75.600813 -88.608043,75.601390 -88.608043,75.601390 -88.608043,75.601390 -88.609068,75.601933 -88.609068,75.601933 -88.609068,75.601933 -88.611704,75.602920 -88.611704,75.602920 -88.611704,75.602920 -88.635412,75.614032 -88.635412,75.614032 -88.635412,75.614032 -88.655235,75.622294 -88.655235,75.622294 -88.655235,75.622294 -88.656520,75.623017 -88.656520,75.623017 -88.656520,75.623017 -88.658643,75.623823 -88.658643,75.623823 -88.658643,75.623823 -88.679386,75.633877 -88.679386,75.633877 -88.679386,75.633877 -88.680172,75.634361 -88.680172,75.634361 -88.680172,75.634361 -88.680953,75.634668 -88.680953,75.634668 -88.680953,75.634668 -88.693280,75.641146 -88.693280,75.641146 -88.693280,75.641146 -88.707608,75.646672 -88.710188,75.646408 -88.710188,75.646408 -88.710188,75.646408 -88.710188,75.646408 -88.724179,75.645720 -88.724179,75.645720 -88.724179,75.645720 -88.738305,75.645376 -88.752567,75.645377 -88.752567,75.645377 -88.752567,75.645377 -88.764852,75.645677 -88.764852,75.645677 -88.764852,75.645677 -88.764852,75.645677 -88.764852,75.645677 -88.764852,75.645677 -88.778842,75.646366 -88.778842,75.646366 -88.778842,75.646366 -88.792427,75.647386 -88.792427,75.647386 -88.792427,75.647386 -88.805610,75.648738 -88.805610,75.648738 -88.805610,75.648738 -88.805610,75.648738 -88.805610,75.648738 -88.805610,75.648738 -88.817478,75.650700 -88.817478,75.650700 -88.817478,75.650700 -88.828464,75.652931 -88.828464,75.652931 -88.828464,75.652931 -88.838567,75.655429 -88.838567,75.655429 -88.838567,75.655429 -88.838567,75.655429 -88.838567,75.655429 -88.838567,75.655429 -88.846513,75.658367 -88.846513,75.658367 -88.846513,75.658367 -88.848553,75.659310 -88.848553,75.659310 -88.848553,75.659310 -88.858436,75.661751 -88.858436,75.661751 -88.858436,75.661751 -88.858436,75.661751 -88.858436,75.661751 -88.858436,75.661751 -88.866388,75.664688 -88.866388,75.664688 -88.866388,75.664688 -88.873110,75.667790 -88.873110,75.667790 -88.873110,75.667790 -88.878602,75.671055 -88.878602,75.671055 -88.878602,75.671055 -88.878901,75.671550 -88.878901,75.671550 -88.878901,75.671550 -88.879487,75.671835 -88.879487,75.671835 -88.879487,75.671835 -88.880301,75.672619 -88.880301,75.672619 -88.880301,75.672619 -88.880334,75.672724 -88.880334,75.672724 -88.880334,75.672724 -88.881045,75.673408 -88.881045,75.673408 -88.881045,75.673408 -88.885300,75.678431 -88.885300,75.678431 -88.885300,75.678431 -88.885528,75.679448 -88.885528,75.679448 -88.885528,75.679448 -88.886742,75.681137 -88.886742,75.681137 -88.886742,75.681137 -88.887350,75.683855 -88.887350,75.683855 -88.887350,75.683855 -88.887291,75.684574 -88.887291,75.684574 -88.887291,75.684574 -88.887462,75.684857 -88.887462,75.684857 -88.887462,75.684857 -88.887462,75.684857 -88.887462,75.684857 -88.887462,75.684857 -88.887125,75.686584 -88.887125,75.686584 -88.887125,75.686584 -88.884364,75.690054 -88.884364,75.690054 -88.884364,75.690054 -88.880259,75.693424 -88.880259,75.693424 -88.880259,75.693424 -88.874809,75.696694 -88.874809,75.696694 -88.874809,75.696694 -88.874809,75.696694 -88.874809,75.696694 -88.874809,75.696694 -88.871586,75.698046 -88.871586,75.698046 -88.871586,75.698046 -88.868130,75.699360 -88.868130,75.699360 -88.868130,75.699360 -88.866921,75.699695 -88.866921,75.699695 -88.866921,75.699695 -88.864441,75.700638 -88.864441,75.700638 -88.864441,75.700638 -88.854495,75.703783 -88.854495,75.703783 -88.854495,75.703783 -88.851067,75.704652 -88.851067,75.704652 -88.851067,75.704652 -88.849245,75.705267 -88.849245,75.705267 -88.849245,75.705267 -88.843681,75.706677 -88.843681,75.706677 -88.843681,75.706677 -88.837804,75.708011 -88.837804,75.708011 -88.837804,75.708011 -88.837804,75.708011 -88.825907,75.709979 -88.825907,75.709979 -88.825907,75.709979 -88.813344,75.711641 -88.813344,75.711641 -88.813344,75.711641 -88.800116,75.712997 -88.800116,75.712997 -88.800116,75.712997 -88.800116,75.712997 -88.800116,75.712997 -88.800116,75.712997 -88.788854,75.713607 -88.788854,75.713607 -88.788854,75.713607 -88.777468,75.713995 -88.777468,75.713995 -88.777468,75.713995 -88.769700,75.714032 -88.769700,75.714032 -88.769700,75.714032 -88.765956,75.714159 -88.765956,75.714159 -88.765956,75.714159 -88.749794,75.714074 -88.749794,75.714074 -88.749794,75.714074 -88.747874,75.713950 -88.747874,75.713950 -88.747874,75.713950 -88.745897,75.713950 -88.745897,75.713950 -88.745897,75.713950 -88.744195,75.713991 -88.743260,75.713950 -88.743260,75.713950 -88.743260,75.713950 -88.741396,75.713950 -88.741396,75.713950 -88.741396,75.713950 -88.741396,75.713950 -88.722889,75.713498 -88.722889,75.713498 -88.722889,75.713498 -88.722889,75.713498 -88.692045,75.712742 -88.692045,75.712742 -88.692045,75.712742 -88.692045,75.712742 -88.692045,75.712742 -88.692045,75.712742 -88.692045,75.712742 -88.684426,75.712454 -88.684426,75.712454 -88.684426,75.712454 -88.676889,75.712067 -88.676889,75.712067 -88.676889,75.712067 -88.674219,75.711828 -88.674219,75.711828 -88.674219,75.711828 -88.669436,75.711582 -88.669436,75.711582 -88.669436,75.711582 -88.652537,75.710242 -88.652537,75.710242 -88.652537,75.710242 -88.648262,75.709794 -88.648262,75.709794 -88.648262,75.709794 -88.646323,75.709671 -88.646323,75.709671 -88.646323,75.709671 -88.640227,75.709031 -88.640227,75.709031 -88.640227,75.709031 -88.634248,75.708323 -88.634248,75.708323 -88.634248,75.708323 -88.631917,75.707848 -88.631917,75.707848 -88.631917,75.707848 -88.629594,75.707650 -88.629594,75.707650 -88.629594,75.707650 -88.625047,75.706935 -88.625047,75.706935 -88.625047,75.706935 -88.624109,75.706729 -88.624109,75.706729 -88.624109,75.706729 -88.620607,75.706179 -88.620607,75.706179 -88.620607,75.706179 -88.597442,75.701910 -88.597442,75.701910 -88.597442,75.701910 -88.595342,75.701413 -88.595342,75.701413 -88.595342,75.701413 -88.592327,75.700907 -88.592327,75.700907 -88.592327,75.700907 -88.570534,75.696362 -88.570534,75.696362 -88.570534,75.696362 -88.567252,75.695537 -88.567252,75.695537 -88.567252,75.695537 -88.565576,75.695226 -88.565576,75.695226 -88.565576,75.695226 -88.560841,75.694035 -88.560841,75.694035 -88.560841,75.694035 -88.556330,75.692791 -88.556330,75.692791 -88.556330,75.692791 -88.556330,75.692791 -88.556330,75.692791 -88.556330,75.692791 -88.553141,75.691823 -88.553141,75.691823 -88.553141,75.691823 -88.544573,75.689698 -88.544573,75.689698 -88.544573,75.689698 -88.542490,75.689126 -88.542490,75.689126 -88.542490,75.689126 -88.542072,75.689045 -88.542072,75.689045 -88.542072,75.689045 -88.539639,75.688378 -88.539639,75.688378 -88.539639,75.688378 -88.538793,75.688006 -88.538793,75.688006 -88.538793,75.688006 -88.537273,75.687695 -88.537273,75.687695 -88.537273,75.687695 -88.537273,75.687695 -88.537273,75.687695 -88.537273,75.687695 -88.533297,75.686369 -88.533297,75.686369 -88.533297,75.686369 -88.529575,75.685000 -88.529575,75.685000 -88.529575,75.685000 -88.528704,75.684545 -88.528704,75.684545 -88.528704,75.684545 -88.526107,75.683589 -88.526107,75.683589 -88.526107,75.683589 -88.516634,75.679304 -88.516634,75.679304 -88.516634,75.679304 -88.500702,75.673265 -88.500702,75.673265 -88.500702,75.673265 -88.500425,75.673117 -88.500425,75.673117 -88.500425,75.673117 -88.500308,75.673075 -88.500308,75.673075 -88.500308,75.673075 -88.499579,75.672696 -88.499579,75.672696 -88.499579,75.672696 -88.497055,75.671780 -88.497055,75.671780 -88.497055,75.671780 -88.479181,75.663939 -88.479181,75.663939 -88.479181,75.663939 -88.477260,75.662819 -88.477260,75.662819 -88.477260,75.662819 -88.475584,75.662130 -88.475584,75.662130 -88.475584,75.662130 -88.474934,75.661752 -88.474934,75.661752 -88.474934,75.661752 -88.474126,75.661422 -88.474126,75.661422 -88.474126,75.661422 -88.467946,75.657897 -88.467946,75.657897 -88.467946,75.657897 -88.465277,75.656795 -88.465277,75.656795 -88.465277,75.656795 -88.463319,75.655695 -88.463319,75.655695 -88.463319,75.655695 -88.461080,75.654788 -88.461080,75.654788 -88.461080,75.654788 -88.457407,75.652723 -88.457407,75.652723 -88.457407,75.652723 -88.454258,75.650600 -88.454258,75.650600 -88.454258,75.650600 -88.454258,75.650600 -88.454258,75.650600 -88.454258,75.650600 -88.453514,75.649753 -88.453514,75.649753 -88.453514,75.649753 -88.449339,75.648565 -88.449339,75.648565 -88.449339,75.648565 -88.448803,75.648323 -88.448803,75.648323 -88.448803,75.648323 -88.448521,75.648253 -88.448521,75.648253 -88.448521,75.648253 -88.447724,75.648089 -88.447724,75.648089 -88.447724,75.648089 -88.447724,75.648089 -88.447724,75.648089 -88.447724,75.648089 -88.447421,75.647977 -88.447421,75.647977 -88.447421,75.647977 -88.446917,75.647851 -88.446917,75.647851 -88.446917,75.647851 -88.446917,75.647851 -88.446917,75.647851 -88.446917,75.647851 -88.441566,75.645988 -88.441566,75.645988 -88.441566,75.645988 -88.436714,75.644049 -88.436714,75.644049 -88.436714,75.644049 -88.434906,75.643051 -88.434906,75.643051 -88.434906,75.643051 -88.432359,75.642033 -88.432359,75.642033 -88.432359,75.642033 -88.423260,75.637089 -88.423260,75.637089 -88.423260,75.637089 -88.410967,75.631125 -88.410967,75.631125 -88.410967,75.631125 -88.409240,75.630054 -88.409240,75.630054 -88.409240,75.630054 -88.408204,75.629617 -88.408204,75.629617 -88.408204,75.629617 -88.407066,75.628911 -88.407066,75.628911 -88.407066,75.628911 -88.406704,75.628653 -88.406704,75.628653 -88.406704,75.628653 -88.405461,75.628314 -88.405461,75.628314 -88.405461,75.628314 -88.405461,75.628314 -88.405461,75.628314 -88.405461,75.628314 -88.397821,75.625459 -88.397821,75.625459 -88.397821,75.625459 -88.391339,75.622450 -88.391339,75.622450 -88.391339,75.622450 -88.390866,75.622163 -88.390866,75.622163 -88.390866,75.622163 -88.390367,75.622068 -88.390367,75.622068 -88.390367,75.622068 -88.386560,75.621069 -88.386560,75.621069 -88.386560,75.621069 -88.385534,75.620627 -88.385534,75.620627 -88.385534,75.620627 -88.384548,75.620372 -88.384548,75.620372 -88.384548,75.620372 -88.382907,75.620033 -88.382907,75.620033 -88.382907,75.620033 -88.382907,75.620033 -88.382907,75.620033 -88.382907,75.620033 -88.382174,75.619757 -88.382174,75.619757 -88.382174,75.619757 -88.381612,75.619612 -88.381612,75.619612 -88.381612,75.619612 -88.380914,75.619283 -88.380914,75.619283 -88.380914,75.619283 -88.380283,75.619045 -88.380283,75.619045 -88.380283,75.619045 -88.379023,75.618769 -88.379023,75.618769 -88.379023,75.618769 -88.361723,75.612777 -88.361723,75.612777 -88.361723,75.612777 -88.361558,75.612693 -88.361558,75.612693 -88.361558,75.612693 -88.360548,75.612343 -88.360548,75.612343 -88.360548,75.612343 -88.360218,75.612176 -88.360218,75.612176 -88.360218,75.612176 -88.358172,75.611467 -88.358172,75.611467 -88.358172,75.611467 -88.347041,75.607090 -88.347041,75.607090 -88.347041,75.607090 -88.333028,75.603182 -88.333028,75.603182 -88.333028,75.603182 -88.302849,75.596567 -88.302849,75.596567 -88.302849,75.596567 -88.301631,75.596250 -88.301631,75.596250 -88.301631,75.596250 -88.300727,75.596089 -88.300727,75.596089 -88.300727,75.596089 -88.287208,75.592961 -88.287208,75.592961 -88.287208,75.592961 -88.284468,75.592230 -88.284468,75.592230 -88.284468,75.592230 -88.283568,75.592056 -88.283568,75.592056 -88.283568,75.592056 -88.280062,75.591121 -88.280062,75.591121 -88.280062,75.591121 -88.278894,75.590611 -88.278894,75.590611 -88.278894,75.590611 -88.276689,75.590154 -88.276689,75.590154 -88.276689,75.590154 -88.276689,75.590154 -88.276689,75.590154 -88.276689,75.590154 -88.271013,75.588138 -88.271013,75.588138 -88.271013,75.588138 -88.265916,75.586035 -88.265916,75.586035 -88.265916,75.586035 -88.265618,75.585867 -88.265618,75.585867 -88.265618,75.585867 -88.227934,75.578909 -88.227934,75.578909 -88.227934,75.578909 -88.225785,75.578395 -88.225785,75.578395 -88.225785,75.578395 -88.222445,75.577824 -88.222445,75.577824 -88.222445,75.577824 -88.190719,75.571123 -88.190719,75.571123 -88.190719,75.571123 -88.188859,75.570648 -88.188859,75.570648 -88.188859,75.570648 -88.187293,75.570368 -88.187293,75.570368 -88.187293,75.570368 -88.152462,75.562346 -88.152462,75.562346 -88.152462,75.562346 -88.149662,75.561598 -88.149662,75.561598 -88.149662,75.561598 -88.148689,75.561410 -88.148689,75.561410 -88.148689,75.561410 -88.146068,75.560709 -88.146068,75.560709 -88.146068,75.560709 -88.145648,75.560526 -88.145648,75.560526 -88.145648,75.560526 -88.145204,75.560407 -88.145204,75.560407 -88.145204,75.560407 -88.145087,75.560351 -88.145087,75.560351 -88.145087,75.560351 -88.144940,75.560314 -88.144940,75.560314 -88.144940,75.560314 -88.143553,75.560033 -88.143553,75.560033 -88.143553,75.560033 -88.123833,75.554262 -88.123833,75.554262 -88.123833,75.554262 -88.123387,75.554056 -88.123387,75.554056 -88.123387,75.554056 -88.123192,75.554006 -88.123192,75.554006 -88.123192,75.554006 -88.122515,75.553865 -88.122515,75.553865 -88.122515,75.553865 -88.122515,75.553865 -88.122515,75.553865 -88.122515,75.553865 -88.122261,75.553769 -88.122261,75.553769 -88.122261,75.553769 -88.121857,75.553666 -88.121857,75.553666 -88.121857,75.553666 -88.121857,75.553666 -88.121857,75.553666 -88.121857,75.553666 -88.117181,75.552038 -88.117181,75.552038 -88.117181,75.552038 -88.112883,75.550349 -88.112883,75.550349 -88.112883,75.550349 -88.111574,75.549628 -88.111574,75.549628 -88.111574,75.549628 -88.108961,75.548601 -88.108961,75.548601 -88.108961,75.548601 -88.096849,75.542417 -88.096849,75.542417 -88.096849,75.542417 -88.095238,75.541378 -88.095238,75.541378 -88.095238,75.541378 -88.094380,75.541006 -88.094380,75.541006 -88.094380,75.541006 -88.092157,75.539572 -88.092157,75.539572 -88.092157,75.539572 -88.090179,75.538114 -88.090179,75.538114 -88.090179,75.538114 -88.090179,75.538114 -88.090179,75.538114 -88.090179,75.538114 -88.090136,75.538057 -88.090136,75.538057 -88.090136,75.538057 -88.090058,75.538008 -88.090058,75.538008 -88.090058,75.538008 -88.089984,75.537878 -88.089984,75.537878 -88.089984,75.537878 -88.089816,75.537796 -88.089816,75.537796 -88.089816,75.537796 -88.084498,75.533029 -88.084498,75.533029 -88.084498,75.533029 -88.084431,75.532822 -88.084431,75.532822 -88.084431,75.532822 -88.082087,75.529652 -88.082087,75.529652 -88.082087,75.529652 -88.081691,75.528438 -88.081691,75.528438 -88.081691,75.528438 -88.081394,75.528295 -88.081394,75.528295 -88.081394,75.528295 -88.081394,75.528295 -88.081394,75.528295 -88.081394,75.528295 -88.081291,75.528165 -88.081291,75.528165 -88.081291,75.528165 -88.081031,75.528003 -88.081031,75.528003 -88.081031,75.528003 -88.081031,75.528003 -88.081031,75.528003 -88.081031,75.528003 -88.078948,75.525639 -88.078948,75.525639 -88.078948,75.525639 -88.077507,75.523251 -88.077507,75.523251 -88.077507,75.523251 -88.077405,75.521992 -88.077405,75.521992 -88.077405,75.521992 -88.076709,75.520838 -88.076709,75.520838 -88.076709,75.520838 -88.076556,75.518368 -88.076556,75.518368 -88.076556,75.518368 -88.076596,75.518152 -88.076596,75.518152 -88.076596,75.518152 -88.076547,75.518066 -88.076547,75.518066 -88.076547,75.518066 -88.076547,75.518066 -88.076547,75.518066 -88.076547,75.518066 -88.076695,75.517392 -88.076695,75.517392 -88.076695,75.517392 -88.076626,75.517246 -88.076626,75.517246 -88.076626,75.517246 -88.076835,75.516125 -88.076835,75.516125 -88.076835,75.516125 -88.076962,75.516012 -88.076962,75.516012 -88.076962,75.516012 -88.077183,75.515006 -88.077183,75.515006 -88.077183,75.515006 -88.080090,75.511542 -88.080090,75.511542 -88.080090,75.511542 -88.084317,75.508182 -88.084317,75.508182 -88.084317,75.508182 -88.088656,75.505636 -88.088656,75.505636 -88.088656,75.505636 -88.089153,75.504884 -88.089153,75.504884 -88.089153,75.504884 -88.090137,75.504171 -88.090137,75.504171 -88.090137,75.504171 -88.092139,75.501937 -88.092139,75.501937 -88.092139,75.501937 -88.096089,75.499073 -88.096089,75.499073 -88.096089,75.499073 -88.101004,75.496292 -88.101004,75.496292 -88.101004,75.496292 -88.101004,75.496292 -88.101004,75.496292 -88.102919,75.495720 -88.102919,75.495720 -88.102919,75.495720 -88.103732,75.495147 -88.103732,75.495147 -88.103732,75.495147 -88.106624,75.494029 -88.106624,75.494029 -88.106624,75.494029 -88.107453,75.493799 -88.107453,75.493799 -88.107453,75.493799 -88.109680,75.492937 -88.109680,75.492937 -88.109680,75.492937 -88.113987,75.491514 -88.113987,75.491514 -88.113987,75.491514 -88.117355,75.490645 -88.117355,75.490645 -88.117355,75.490645 -88.119735,75.489837 -88.119735,75.489837 -88.119735,75.489837 -88.125869,75.488255 -88.125869,75.488255 -88.125869,75.488255 -88.132389,75.486766 -88.132389,75.486766 -88.132389,75.486766 -88.132389,75.486766 -88.132389,75.486766 -88.132389,75.486766 -88.144204,75.484828 -88.144204,75.484828 -88.144204,75.484828 -88.156657,75.483197 -88.156657,75.483197 -88.156657,75.483197 -88.169749,75.481873 -88.169749,75.481873 -88.169749,75.481873 -88.169749,75.481873 -88.169749,75.481873 -88.169749,75.481873 -88.183618,75.481214 -88.183618,75.481214 -88.183618,75.481214 -88.197609,75.480900 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-89.449381,75.877013 -89.449381,75.877013 -89.449381,75.877013 -89.435154,75.876361 -89.435154,75.876361 -89.435154,75.876361 -89.421327,75.875376 -89.421327,75.875376 -89.421327,75.875376 -89.407900,75.874058 -89.407900,75.874058 -89.407900,75.874058 -89.407900,75.874058 -89.407900,75.874058 -89.407900,75.874058 -89.399981,75.872890 -89.399981,75.872890 -89.399981,75.872890 -89.392394,75.871605 -89.392394,75.871605 -89.392394,75.871605 -89.389181,75.870889 -89.389181,75.870889 -89.389181,75.870889 -89.385138,75.870204 -89.385138,75.870204 -89.385138,75.870204 -89.366508,75.866116 -89.366508,75.866116 -89.366508,75.866116 -89.365335,75.865819 -89.365335,75.865819 -89.365335,75.865819 -89.364677,75.865705 -89.364677,75.865705 -89.364677,75.865705 -89.348441,75.861975 -89.348441,75.861975 -89.348441,75.861975 -89.345957,75.861331 -89.345957,75.861331 -89.345957,75.861331 -89.345324,75.861214 -89.345324,75.861214 -89.345324,75.861214 -89.342304,75.860432 -89.342304,75.860432 -89.342304,75.860432 -89.341265,75.859998 -89.341265,75.859998 -89.341265,75.859998 -89.339380,75.859627 -89.339380,75.859627 -89.339380,75.859627 -89.339380,75.859627 -89.339380,75.859627 -89.339380,75.859627 -89.333282,75.857565 -89.333282,75.857565 -89.333282,75.857565 -89.327811,75.855407 -89.327811,75.855407 -89.327811,75.855407 -89.325373,75.854105 -89.325373,75.854105 -89.325373,75.854105 -89.322966,75.853155 -89.322966,75.853155 -89.322966,75.853155 -89.311494,75.846762 -89.311494,75.846762 -89.311494,75.846762 -89.311312,75.846643 -89.311312,75.846643 -89.311312,75.846643 -89.311211,75.846603 -89.311211,75.846603 -89.311211,75.846603 -89.303102,75.842000 -89.303102,75.842000 -89.303102,75.842000 -89.299143,75.840731 -89.299143,75.840731 -89.299143,75.840731 -89.282581,75.835461 -89.282581,75.835461 -89.282581,75.835461 -89.260105,75.831595 -89.260105,75.831595 -89.260105,75.831595 -89.233544,75.827570 -89.233544,75.827570 -89.233544,75.827570 -89.209365,75.825606 -89.209365,75.825606 -89.209365,75.825606 -89.205278,75.825181 -89.205278,75.825181 -89.205278,75.825181 -89.203740,75.825086 -89.203740,75.825086 -89.203740,75.825086 -89.198211,75.824510 -89.198211,75.824510 -89.198211,75.824510 -89.192779,75.823878 -89.192779,75.823878 -89.192779,75.823878 -89.190986,75.823523 -89.190986,75.823523 -89.190986,75.823523 -89.189111,75.823372 -89.189111,75.823372 -89.189111,75.823372 -89.185506,75.822841 -89.185506,75.822841 -89.185506,75.822841 -89.184959,75.822726 -89.184959,75.822726 -89.184959,75.822726 -89.181963,75.822285 -89.181963,75.822285 -89.181963,75.822285 -89.150116,75.816959 -89.150116,75.816959 -89.150116,75.816959 -89.149355,75.816789 -89.149355,75.816789 -89.149355,75.816789 -89.148752,75.816692 -89.148752,75.816692 -89.148752,75.816692 -89.146976,75.816302 -89.146976,75.816302 -89.146976,75.816302 -89.142956,75.815653 -89.142956,75.815653 -89.142956,75.815653 -89.121971,75.811491 -89.121971,75.811491 -89.121971,75.811491 -89.118535,75.810659 -89.118535,75.810659 -89.118535,75.810659 -89.116564,75.810305 -89.116564,75.810305 -89.116564,75.810305 -89.111410,75.809056 -89.111410,75.809056 -89.111410,75.809056 -89.106509,75.807745 -89.106509,75.807745 -89.106509,75.807745 -89.106509,75.807745 -89.106509,75.807745 -89.106509,75.807745 -89.100953,75.805870 -89.100953,75.805870 -89.100953,75.805870 -89.095912,75.803914 -89.095912,75.803914 -89.095912,75.803914 -89.093981,75.802886 -89.093981,75.802886 -89.093981,75.802886 -89.091386,75.801879 -89.091386,75.801879 -89.091386,75.801879 -89.076789,75.794170 -89.076789,75.794170 -89.076789,75.794170 -89.075373,75.793267 -89.075373,75.793267 -89.075373,75.793267 -89.074848,75.793047 -89.074848,75.793047 -89.074848,75.793047 -89.073065,75.791909 -89.073065,75.791909 -89.073065,75.791909 -89.072752,75.791352 -89.072752,75.791352 -89.072752,75.791352 -89.071439,75.790756 -89.071439,75.790756 -89.071439,75.790756 -89.071439,75.790756 -89.071439,75.790756 -89.071439,75.790756 -89.068561,75.787292 -89.068561,75.787292 -89.068561,75.787292 -89.067087,75.783793 -89.067087,75.783793 -89.067087,75.783793 -89.067062,75.782513 -89.067062,75.782513 -89.067062,75.782513 -89.066698,75.781918 -89.066698,75.781918 -89.066698,75.781918 -89.066698,75.781918 -89.066698,75.781918 -89.066698,75.781918 -89.067017,75.780258 -89.067017,75.780258 -89.067017,75.780258 -89.068176,75.777211 -89.068176,75.777211 -89.068176,75.777211 -89.070912,75.773741 -89.070912,75.773741 -89.070912,75.773741 -89.074997,75.770369 -89.074997,75.770369 -89.074997,75.770369 -89.080431,75.767096 -89.080431,75.767096 -89.080431,75.767096 -89.080431,75.767096 -89.080431,75.767096 -89.088353,75.764147 -89.088353,75.764147 -89.088353,75.764147 -89.097366,75.761415 -89.097366,75.761415 -89.097366,75.761415 -89.107470,75.758902 -89.107470,75.758902 -89.107470,75.758902 -89.107470,75.758902 -89.107470,75.758902 -89.119368,75.756921 -89.119368,75.756921 -89.119368,75.756921 -89.131935,75.755244 -89.131935,75.755244 -89.131935,75.755244 -89.145170,75.753872 -89.145170,75.753872 -89.145170,75.753872 -89.145170,75.753872 -89.145170,75.753872 -89.145170,75.753872 -89.159237,75.753160 -89.159237,75.753160 -89.159237,75.753160 -89.173450,75.752793 -89.173450,75.752793 -89.173450,75.752793 -89.187809,75.752769 -89.193803,75.752966 -89.193803,75.752966 -89.193803,75.752966 -89.199754,75.753223 -89.199754,75.753223 -89.199754,75.753223 -89.201284,75.753352 -89.201284,75.753352 -89.201284,75.753352 -89.205662,75.753541 -89.205662,75.753541 -89.205662,75.753541 -89.220291,75.754484 -89.220291,75.754484 -89.220291,75.754484 -89.224900,75.754924 -89.224900,75.754924 -89.224900,75.754924 -89.228218,75.755115 -89.228218,75.755115 -89.228218,75.755115 -89.235974,75.755855 -89.235974,75.755855 -89.235974,75.755855 -89.243560,75.756703 -89.243560,75.756703 -89.243560,75.756703 -89.243560,75.756703 -89.243560,75.756703 -89.243560,75.756703 -89.255565,75.758644 -89.255565,75.758644 -89.255565,75.758644 -89.266688,75.760855 -89.266688,75.760855 -89.266688,75.760855 -89.276931,75.763334 -89.276931,75.763334 -89.276931,75.763334 -89.276931,75.763334 -89.276931,75.763334 -89.276931,75.763334 -89.277336,75.763481 -89.277336,75.763481 -89.277336,75.763481 -89.277723,75.763576 -89.277723,75.763576 -89.277723,75.763576 -89.278222,75.763801 -89.278222,75.763801 -89.278222,75.763801 -89.278449,75.763884 -89.278449,75.763884 -89.278449,75.763884 -89.279308,75.764060 -89.279308,75.764060 -89.279308,75.764060 -89.286567,75.766356 -89.286567,75.766356 -89.286567,75.766356 -89.326176,75.772273 -89.326176,75.772273 -89.326176,75.772273 -89.346284,75.773587 -89.346284,75.773587 -89.346284,75.773587 -89.350890,75.774027 -89.350890,75.774027 -89.350890,75.774027 -89.354020,75.774207 -89.354020,75.774207 -89.354020,75.774207 -89.361593,75.774930 -89.361593,75.774930 -89.361593,75.774930 -89.369004,75.775756 -89.369004,75.775756 -89.369004,75.775756 -89.370692,75.776090 -89.370692,75.776090 -89.370692,75.776090 -89.372474,75.776231 -89.372474,75.776231 -89.372474,75.776231 -89.375890,75.776729 -89.375890,75.776729 -89.375890,75.776729 -89.376376,75.776831 -89.376376,75.776831 -89.376376,75.776831 -89.379251,75.777250 -89.379251,75.777250 -89.379251,75.777250 -89.428831,75.785389 -89.428831,75.785389 -89.428831,75.785389 -89.432196,75.786130 -89.432196,75.786130 -89.432196,75.786130 -89.437073,75.786959 -89.437073,75.786959 -89.437073,75.786959 -89.444821,75.788664 -89.444821,75.788664 -89.444821,75.788664 -89.452077,75.790505 -89.452077,75.790505 -89.452077,75.790505 -89.452077,75.790505 -89.452077,75.790505 -89.452077,75.790505 -89.453135,75.790885 -89.453135,75.790885 -89.453135,75.790885 -89.453805,75.791052 -89.453805,75.791052 -89.453805,75.791052 -89.454631,75.791422 -89.454631,75.791422 -89.454631,75.791422 -89.455753,75.791824 -89.455753,75.791824 -89.455753,75.791824 -89.457260,75.792145 -89.457260,75.792145 -89.457260,75.792145 -89.484031,75.801317 -89.484031,75.801317 -89.484031,75.801317 -89.484196,75.801398 -89.484196,75.801398 -89.484196,75.801398 -89.485066,75.801677 -89.485066,75.801677 -89.485066,75.801677 -89.521632,75.814622 -89.521632,75.814622 -89.521632,75.814622 -89.547828,75.823122 -89.547828,75.823122 -89.547828,75.823122 -89.563001,75.827259 -89.563001,75.827259 -89.563001,75.827259 -89.563529,75.827484 -89.563529,75.827484 -89.563529,75.827484 -89.563784,75.827545 -89.563784,75.827545 -89.563784,75.827545 -89.564559,75.827697 -89.564559,75.827697 -89.564559,75.827697 -89.564559,75.827697 -89.564559,75.827697 -89.564559,75.827697 -89.564857,75.827801 -89.564857,75.827801 -89.564857,75.827801 -89.565338,75.827916 -89.565338,75.827916 -89.565338,75.827916 -89.565338,75.827916 -89.565338,75.827916 -89.565338,75.827916 -89.573508,75.830830 -89.573508,75.830830 -89.573508,75.830830 -89.580442,75.833910 -89.580442,75.833910 -89.580442,75.833910 -89.586140,75.837157 -89.586140,75.837157 -89.586140,75.837157 -89.586140,75.837157 -89.586140,75.837157 -89.586140,75.837157 -89.589142,75.840614 -89.589142,75.840614 -89.589142,75.840614 -89.590738,75.844109 -89.590738,75.844109 -89.590738,75.844109 -89.590813,75.845492 -89.590813,75.845492 -89.590813,75.845492 -89.591194,75.846093 -89.591194,75.846093 -89.591194,75.846093 -89.591194,75.846093 -89.591194,75.846093 -89.591194,75.846093 -89.590928,75.847642 -89.590928,75.847642 -89.590928,75.847642 -89.590459,75.848039 -89.590459,75.848039 -89.590459,75.848039 -89.590395,75.848415 -89.590395,75.848415 -89.590395,75.848415 -89.590469,75.848633 -89.590469,75.848633 -89.590469,75.848633 -89.589899,75.849620 -89.589899,75.849620 -89.589899,75.849620 -89.589695,75.849777 -89.589695,75.849777 -89.589695,75.849777 -89.589217,75.850604 -89.589217,75.850604 -89.589217,75.850604 -89.587014,75.853321 -89.587014,75.853321 -89.587014,75.853321 -89.585501,75.854377 -89.585501,75.854377 -89.585501,75.854377 -89.584280,75.855771 -89.584280,75.855771 -89.584280,75.855771 -89.580854,75.858162 -89.580854,75.858162 -89.580854,75.858162 -89.576736,75.860494 -89.576736,75.860494 -89.576736,75.860494 -89.576736,75.860494 -89.576736,75.860494 -89.576736,75.860494 -89.570359,75.862982 -89.570359,75.862982 -89.570359,75.862982 -89.563195,75.865328 -89.563195,75.865328 -89.563195,75.865328 -89.557333,75.866846 -89.557333,75.866846 -89.557333,75.866846 -89.555244,75.867529 -89.555244,75.867529 -89.555244,75.867529 -89.545653,75.869784 -89.545653,75.869784 -89.545653,75.869784 -89.544063,75.870015 -89.544063,75.870015 -89.544063,75.870015 -89.543018,75.870277 -89.543018,75.870277 -89.543018,75.870277 -89.542002,75.870587 -89.542002,75.870587 -89.542002,75.870587 -89.541276,75.870713 -89.541276,75.870713 -89.541276,75.870713 -89.540177,75.870988 -89.540177,75.870988 -89.540177,75.870988 -89.540177,75.870988 -89.540177,75.870988 -89.528245,75.872987 -89.528245,75.872987 -89.528245,75.872987 -89.515626,75.874682 -89.515626,75.874682 -89.515626,75.874682 -89.502321,75.876072 -89.502321,75.876072 -89.502321,75.876072 -89.502321,75.876072 -89.502321,75.876072 -89.502321,75.876072 -89.488158,75.876802 -89.488158,75.876802 -89.488158,75.876802 -89.473840,75.877186 -89.473840,75.877186 -89.473840,75.877186 -89.459366,75.877226 -89.459366,75.877226 -89.459366,75.877226 -89.459366,75.877226 -89.449381,75.877013 -89.449381,75.877013 -89.449381,75.877013 -89.449381,75.877013 -89.449381,75.877013 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-89.449381,75.877013 -89.449381,75.877013 -89.449381,75.877013 -89.449381,75.877013 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-88.722889,75.713498 -88.722889,75.713498 -88.722889,75.713498 -88.722889,75.713498 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-88.692045,75.712742 -88.692045,75.712742 -88.692045,75.712742 -88.692045,75.712742 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-89.449381,75.877013 -89.449381,75.877013 -89.449381,75.877013 -89.449381,75.877013 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-85.200097,76.361104 -84.950631,76.418832</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-85.191153,76.402404 -85.191153,76.402404 -85.183442,76.405946 -85.183442,76.405946 -85.153146,76.413689 -85.153146,76.413689 -85.112524,76.418111 -85.112524,76.418111 -85.099614,76.418663 -85.099614,76.418663 -85.093766,76.418832 -85.061934,76.418707 -85.061934,76.418707 -85.056337,76.418499 -85.056337,76.418499 -85.043927,76.417873 -85.043927,76.417873 -85.036859,76.417418 -85.036859,76.417418 -85.007257,76.414407 -85.007257,76.414407 -84.974400,76.407264 -84.974400,76.407264 -84.971042,76.406176 -84.971042,76.406176 -84.952346,76.396619 -84.952346,76.396619 -84.950631,76.386106 -84.950631,76.386106 -84.955131,76.381785 -84.955131,76.381785 -84.956690,76.380688 -84.956690,76.380688 -84.967682,76.375140 -84.967682,76.375140 -84.987035,76.369551 -84.987035,76.369551 -84.993750,76.368069 -84.993750,76.368069 -85.004709,76.365934 -85.004709,76.365934 -85.045222,76.361527 -85.045222,76.361527 -85.089794,76.361104 -85.131675,76.364730 -85.131675,76.364730 -85.152166,76.368491 -85.152166,76.368491 -85.167042,76.371926 -85.167042,76.371926 -85.179395,76.375289 -85.179395,76.375289 -85.198209,76.384832 -85.198209,76.384832 -85.200097,76.395343 -85.200097,76.395343 -85.192448,76.401681 -85.192448,76.401681 -85.191153,76.402404 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-91.366454,74.596817 -91.004286,74.673978</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-91.019595,74.650420 -91.019135,74.650115 -91.019135,74.650115 -91.018725,74.649307 -91.018725,74.649307 -91.016245,74.648139 -91.016245,74.648139 -91.008702,74.641708 -91.008702,74.641708 -91.004286,74.631935 -91.004286,74.631935 -91.005350,74.627449 -91.005350,74.627449 -91.015596,74.617193 -91.015596,74.617193 -91.028685,74.611812 -91.028685,74.611812 -91.038471,74.608671 -91.038471,74.608671 -91.049615,74.605614 -91.049615,74.605614 -91.084138,74.600276 -91.084138,74.600276 -91.084778,74.600253 -91.084778,74.600253 -91.085321,74.600170 -91.085321,74.600170 -91.108391,74.598144 -91.108391,74.598144 -91.146777,74.596817 -91.169293,74.597179 -91.169293,74.597179 -91.199690,74.597664 -91.199690,74.597664 -91.202693,74.597873 -91.205348,74.597796 -91.245748,74.599034 -91.245748,74.599034 -91.249629,74.599334 -91.249629,74.599334 -91.262112,74.599897 -91.262112,74.599897 -91.292123,74.602166 -91.292123,74.602166 -91.308753,74.603848 -91.308753,74.603848 -91.340638,74.610243 -91.340638,74.610243 -91.360905,74.619389 -91.360905,74.619389 -91.366454,74.629897 -91.366454,74.629897 -91.356414,74.640167 -91.356414,74.640167 -91.332290,74.648635 -91.332290,74.648635 -91.320762,74.650989 -91.320762,74.650989 -91.301900,74.654301 -91.301900,74.654301 -91.278878,74.657319 -91.278878,74.657319 -91.277335,74.657375 -91.277335,74.657375 -91.276078,74.657564 -91.276078,74.657564 -91.263619,74.658604 -91.263619,74.658604 -91.244948,74.661598 -91.244948,74.661598 -91.231625,74.664306 -91.231625,74.664306 -91.229593,74.664596 -91.229593,74.664596 -91.223712,74.665763 -91.223712,74.665763 -91.198959,74.669875 -91.198959,74.669875 -91.177907,74.672541 -91.177907,74.672541 -91.138162,74.673978 -91.126868,74.673630 -91.126868,74.673630 -91.106651,74.672703 -91.106651,74.672703 -91.079159,74.670349 -91.079159,74.670349 -91.047259,74.663921 -91.047259,74.663921 -91.030803,74.657206 -91.030803,74.657206 -91.022826,74.652571 -91.022826,74.652571 -91.022019,74.652034 -91.022019,74.652034 -91.021739,74.651916 -91.021739,74.651916 -91.019764,74.650682 -91.019764,74.650682 -91.019595,74.650420 -91.019595,74.650420 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-94.401829,72.408827 -92.172232,72.934740</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-92.230927,72.736834 -92.207624,72.735141 -92.188286,72.730926 -92.175860,72.724833 -92.172232,72.717790 -92.177946,72.710871 -92.192123,72.705128 -92.195897,72.704181 -93.397640,72.418520 -93.404343,72.417350 -93.409976,72.416187 -93.449626,72.410559 -93.451548,72.410436 -93.453568,72.410049 -93.476802,72.408827 -93.525750,72.409176 -93.548769,72.410728 -93.568078,72.414823 -93.580743,72.420840 -93.584831,72.427863 -93.583097,72.431818 -93.581721,72.433508 -93.575905,72.440653 -93.572514,72.443661 -93.563866,72.447900 -93.539144,72.456960 -93.536305,72.469067 -93.555105,72.493164 -93.555410,72.494041 -93.556205,72.494979 -93.561798,72.507849 -93.562018,72.509080 -93.562252,72.509415 -93.563917,72.520788 -93.583984,72.534382 -93.607657,72.549416 -93.631680,72.561716 -93.635895,72.564327 -93.638229,72.566527 -93.644508,72.574057 -93.653676,72.577886 -93.691656,72.588834 -93.692308,72.589127 -93.693380,72.589351 -93.706200,72.595357 -93.708153,72.597111 -93.711484,72.600696 -93.714888,72.601405 -93.751669,72.604787 -93.758216,72.605513 -93.760196,72.605926 -93.762116,72.606074 -93.780579,72.608969 -93.780587,72.608970 -93.780593,72.608971 -93.788257,72.610173 -93.792286,72.611077 -93.798955,72.612307 -93.815201,72.616344 -93.820152,72.617719 -93.821001,72.618115 -93.822119,72.618359 -93.854460,72.629388 -93.865388,72.634744 -93.867167,72.636295 -93.882752,72.652161 -93.883001,72.652712 -93.909877,72.656582 -93.970239,72.663221 -94.033422,72.668246 -94.034011,72.668307 -94.034345,72.668321 -94.131372,72.676480 -94.177142,72.679397 -94.247978,72.682541 -94.253246,72.682985 -94.257287,72.683176 -94.290287,72.686247 -94.296110,72.686886 -94.305501,72.688380 -94.306212,72.688518 -94.329124,72.689951 -94.348885,72.693971 -94.361700,72.699729 -94.371413,72.706661 -94.371642,72.707011 -94.372263,72.707302 -94.388426,72.720169 -94.388605,72.720472 -94.391069,72.722905 -94.400586,72.736738 -94.401829,72.740567 -94.401454,72.752398 -94.399133,72.757196 -94.389387,72.767408 -94.382848,72.776632 -94.380614,72.779783 -94.380084,72.795878 -94.382833,72.805906 -94.382838,72.805944 -94.382846,72.805955 -94.391761,72.839498 -94.391948,72.841103 -94.387014,72.848074 -94.386794,72.848169 -94.386714,72.848278 -94.366207,72.862018 -94.352885,72.867695 -94.346801,72.869237 -94.302963,72.878957 -94.288807,72.881306 -94.269797,72.882578 -94.226254,72.883412 -94.224129,72.883305 -94.221500,72.883449 -94.211323,72.883164 -94.171254,72.881042 -94.157781,72.879849 -94.145311,72.877734 -94.085720,72.864676 -94.078285,72.862754 -94.065163,72.856776 -94.060803,72.849772 -94.061314,72.839543 -94.045159,72.809923 -94.030709,72.800472 -94.029072,72.800769 -93.985692,72.805127 -93.942011,72.811326 -93.940052,72.811452 -93.937998,72.811843 -93.914297,72.813115 -93.857625,72.812821 -93.840711,72.812028 -93.838739,72.811850 -93.805478,72.815937 -93.804884,72.815970 -93.804349,72.816072 -93.794806,72.816923 -93.737859,72.820540 -93.723683,72.820942 -93.700339,72.820802 -93.687645,72.820334 -93.634996,72.816714 -93.621837,72.822890 -93.620544,72.840502 -93.620343,72.840771 -93.620481,72.841023 -93.614597,72.875491 -93.614380,72.875762 -93.614491,72.875982 -93.609830,72.893696 -93.606999,72.897015 -93.605577,72.899065 -93.594939,72.906883 -93.594366,72.907132 -93.594123,72.907453 -93.580227,72.913284 -93.563838,72.916595 -93.482437,72.927868 -93.480462,72.927990 -93.478386,72.928377 -93.466335,72.929349 -93.361848,72.934498 -93.350015,72.934740 -93.340588,72.934456 -93.210328,72.927504 -93.203480,72.926880 -93.200204,72.926695 -93.090664,72.914912 -93.088981,72.914585 -93.086587,72.914423 -93.073029,72.911971 -92.991286,72.892494 -92.985139,72.890810 -92.972348,72.884767 -92.970434,72.883009 -92.943575,72.853170 -92.943351,72.852590 -92.942351,72.851493 -92.933960,72.836619 -92.933703,72.835471 -92.933270,72.834885 -92.923839,72.794612 -92.914260,72.792943 -92.876675,72.790171 -92.872920,72.789783 -92.871254,72.789691 -92.818575,72.784230 -92.815698,72.783888 -92.815358,72.783866 -92.789089,72.780638 -92.788254,72.780466 -92.787172,72.780390 -92.780937,72.779418 -92.762739,72.776171 -92.669051,72.772638 -92.648570,72.772415 -92.625187,72.770766 -92.623212,72.770343 -92.621282,72.770185 -92.577229,72.763027 -92.507069,72.758728 -92.493794,72.757431 -92.476407,72.753866 -92.441628,72.743702 -92.433201,72.741329 -92.396553,72.740886 -92.389390,72.740674 -92.333254,72.738008 -92.331940,72.737889 -92.329466,72.737791 -92.298659,72.735726 -92.276107,72.735440 -92.241062,72.736717 -92.230927,72.736834 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-88.869184,73.147204 -86.337687,73.783831</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-88.830772,73.204959 -88.857838,73.223326 -88.869184,73.255653 -88.840237,73.275649 -88.780965,73.302790 -88.731407,73.317391 -88.618776,73.352577 -88.577773,73.373797 -88.470443,73.423476 -88.346423,73.471014 -88.237659,73.506152 -88.112336,73.539136 -87.993380,73.569057 -87.816051,73.616275 -87.656584,73.659155 -87.481482,73.696615 -87.279682,73.741057 -87.097335,73.765197 -86.877151,73.783043 -86.721870,73.783831 -86.571088,73.775057 -86.446798,73.759159 -86.386906,73.740836 -86.337687,73.689192 -86.364225,73.658106 -86.435096,73.617478 -86.566605,73.567893 -86.761440,73.514181 -86.949475,73.472921 -87.112435,73.435450 -87.227107,73.404210 -87.343388,73.368165 -87.465767,73.316240 -87.623334,73.271861 -87.801443,73.229666 -88.022515,73.188721 -88.186394,73.165036 -88.328867,73.153405 -88.441585,73.147204 -88.512630,73.149325 -88.589158,73.151583 -88.684310,73.163961 -88.742342,73.172033 -88.808704,73.188329 -88.830772,73.204959 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-84.978066,73.342821 -84.050694,73.512992</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-84.054209,73.473396 -84.067689,73.463452 -84.093488,73.455731 -84.127678,73.451405 -84.153226,73.450764 -84.169814,73.450982 -84.185390,73.448790 -84.185739,73.448684 -84.185955,73.448523 -84.211683,73.440788 -84.230456,73.437837 -84.289545,73.430862 -84.331892,73.423771 -84.332308,73.423724 -84.333552,73.423500 -84.392761,73.414011 -84.393562,73.413923 -84.395312,73.413616 -84.457817,73.404272 -84.460457,73.403992 -84.463784,73.403452 -84.503125,73.398515 -84.517344,73.394176 -84.515514,73.391787 -84.791450,73.350111 -84.792096,73.351209 -84.795145,73.350662 -84.827168,73.345734 -84.850280,73.343216 -84.887436,73.342821 -84.900591,73.343704 -84.912059,73.344723 -84.933772,73.347547 -84.961063,73.354792 -84.976622,73.364479 -84.978066,73.375133 -84.972833,73.380693 -84.964050,73.387195 -84.956362,73.391636 -84.939226,73.397552 -84.915014,73.403842 -84.906805,73.405747 -84.903597,73.406168 -84.901529,73.406764 -84.870831,73.412260 -84.869813,73.412381 -84.866064,73.413059 -84.834274,73.418036 -84.792343,73.425467 -84.782844,73.426593 -84.771703,73.428211 -84.721873,73.432862 -84.673073,73.438482 -84.672043,73.438575 -84.671506,73.438657 -84.655933,73.440357 -84.627134,73.444971 -84.601015,73.449930 -84.600015,73.450054 -84.599407,73.450229 -84.543279,73.460410 -84.540199,73.460779 -84.530343,73.462375 -84.490683,73.467324 -84.406203,73.480079 -84.363896,73.487095 -84.313286,73.496509 -84.312418,73.496614 -84.306719,73.497626 -84.243525,73.507404 -84.226042,73.509277 -84.221711,73.509848 -84.185326,73.512521 -84.183909,73.512538 -84.182507,73.512715 -84.144989,73.512992 -84.118443,73.510522 -84.102435,73.508255 -84.093958,73.506897 -84.066788,73.499549 -84.051601,73.489805 -84.050694,73.479150 -84.054209,73.473396 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-76.510246,72.803121 -75.888223,72.993925</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-76.319371,72.977470 -76.272412,72.988766 -76.214225,72.993925 -76.166257,72.993113 -76.131173,72.990889 -76.118642,72.989933 -76.110572,72.988769 -76.107233,72.988930 -76.046757,72.987133 -75.993273,72.978684 -75.971892,72.972370 -75.944779,72.962613 -75.927867,72.955115 -75.911427,72.940192 -75.907972,72.932978 -75.905471,72.932073 -75.888223,72.915011 -75.894510,72.897308 -75.920152,72.883376 -75.919699,72.883122 -75.902484,72.866059 -75.908741,72.848352 -75.937457,72.832696 -75.984227,72.821467 -76.002508,72.819854 -76.042198,72.810299 -76.057696,72.808186 -76.075268,72.806127 -76.117428,72.803121 -76.177320,72.804900 -76.180041,72.805331 -76.182818,72.805429 -76.406369,72.828179 -76.454093,72.836009 -76.492509,72.849734 -76.510246,72.866751 -76.504551,72.884474 -76.489338,72.894683 -76.332579,72.971962 -76.319371,72.977470 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-71.396409,70.955579 -70.762991,71.181950</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-70.771406,71.089726 -70.772775,71.089809 -70.796049,71.084806 -70.807072,71.083822 -70.818345,71.078463 -70.819901,71.077847 -70.820608,71.077439 -70.858947,71.060871 -70.863719,71.056984 -70.881710,71.047977 -70.908924,71.041889 -70.915863,71.041230 -70.929030,71.036661 -70.929663,71.036516 -70.930103,71.036295 -70.939444,71.033599 -70.988326,71.021446 -71.006150,71.018043 -71.036736,71.015797 -71.068652,71.015423 -71.098419,71.009924 -71.112730,71.006479 -71.119130,71.002427 -71.121215,70.999090 -71.124275,70.989987 -71.126188,70.978361 -71.126348,70.978123 -71.126464,70.977169 -71.130227,70.964552 -71.129942,70.959782 -71.129958,70.959753 -71.129939,70.959724 -71.131613,70.956701 -71.142734,70.955579 -71.156873,70.956562 -71.182941,70.958242 -71.249329,70.966745 -71.300263,70.973248 -71.344202,70.981343 -71.372392,70.994086 -71.388891,71.014497 -71.396409,71.029602 -71.396278,71.040408 -71.377462,71.064668 -71.355013,71.087638 -71.321469,71.113371 -71.293852,71.129863 -71.264441,71.147795 -71.202818,71.162478 -71.153493,71.171215 -71.128577,71.174715 -71.049260,71.180449 -70.995741,71.181950 -70.927472,71.180711 -70.914079,71.178991 -70.852935,71.167784 -70.816368,71.159726 -70.791860,71.148205 -70.783402,71.140427 -70.766506,71.124870 -70.763860,71.110322 -70.762991,71.098511 -70.771406,71.089726 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.871231,66.828316 -61.646539,66.963697</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.674676,66.892057 -61.662875,66.882644 -61.661090,66.871851 -61.669942,66.861612 -61.686865,66.853855 -61.690743,66.852631 -61.691368,66.851978 -61.698715,66.847662 -61.714352,66.841095 -61.724162,66.838609 -61.727435,66.837923 -61.727813,66.837753 -61.737831,66.834058 -61.762451,66.829266 -61.781823,66.828316 -61.790856,66.828370 -61.798882,66.828598 -61.824901,66.832056 -61.845591,66.839170 -61.857804,66.848858 -61.859672,66.859649 -61.859140,66.860270 -61.859208,66.860853 -61.858129,66.863293 -61.869356,66.872187 -61.871231,66.882977 -61.866337,66.890140 -61.852634,66.902990 -61.848747,66.906078 -61.830630,66.914225 -61.813626,66.917533 -61.806532,66.923522 -61.811203,66.927222 -61.813057,66.938012 -61.804236,66.948259 -61.786074,66.956401 -61.772925,66.959537 -61.763173,66.961324 -61.751579,66.962983 -61.724032,66.963697 -61.697889,66.960223 -61.696447,66.959728 -61.694873,66.959501 -61.680039,66.955745 -61.662313,66.949334 -61.650127,66.939632 -61.647833,66.933962 -61.646539,66.924486 -61.647049,66.919364 -61.651540,66.912658 -61.663150,66.901321 -61.665177,66.899686 -61.665506,66.899265 -61.674676,66.892057 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-102.436326,65.591964 -99.155526,66.174209</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-99.681177,65.817939 -99.681260,65.817879 -99.681589,65.817542 -99.685572,65.814086 -99.687102,65.813076 -99.687446,65.812959 -99.687643,65.812820 -99.692274,65.810783 -99.694920,65.809950 -99.698668,65.809571 -99.702409,65.809959 -99.702496,65.809989 -99.703025,65.809183 -99.703195,65.809042 -99.703274,65.808843 -99.705412,65.807210 -99.707232,65.806476 -99.709742,65.805690 -99.711107,65.805335 -99.714855,65.804955 -99.718596,65.805343 -99.720557,65.805935 -99.720425,65.804705 -99.720503,65.804471 -99.720418,65.804221 -99.720763,65.799879 -99.720800,65.799794 -99.720893,65.799240 -99.721344,65.797874 -99.721969,65.796766 -99.724104,65.795133 -99.724131,65.795124 -99.724148,65.795111 -99.726185,65.794081 -99.729325,65.793014 -99.729664,65.792979 -99.729911,65.792901 -99.738454,65.791410 -99.745363,65.789832 -99.745489,65.789819 -99.745604,65.789779 -99.747024,65.789541 -99.753580,65.788722 -99.756277,65.788029 -99.756590,65.787992 -99.756916,65.787880 -99.760662,65.787500 -99.761733,65.787531 -99.762470,65.787574 -99.765862,65.787032 -99.766029,65.787019 -99.766454,65.786947 -99.774083,65.785994 -99.774311,65.785980 -99.774582,65.785938 -99.782142,65.785206 -99.782677,65.785181 -99.782944,65.785146 -99.788870,65.784830 -99.790302,65.784696 -99.794743,65.781424 -99.795201,65.781143 -99.795338,65.781029 -99.798146,65.779343 -99.798427,65.779238 -99.798669,65.779053 -99.800137,65.778549 -99.799041,65.778149 -99.797989,65.777503 -99.796631,65.776511 -99.795576,65.775520 -99.794845,65.773590 -99.794890,65.773476 -99.794856,65.773373 -99.795063,65.771084 -99.795241,65.770676 -99.795317,65.770423 -99.792882,65.769444 -99.791962,65.769024 -99.789856,65.767386 -99.789572,65.766980 -99.788123,65.764592 -99.787677,65.763068 -99.788435,65.761140 -99.790043,65.759795 -99.792648,65.758232 -99.794023,65.757290 -99.793952,65.756289 -99.793568,65.752403 -99.793611,65.752276 -99.793555,65.752128 -99.794013,65.750621 -99.796478,65.746608 -99.796778,65.746187 -99.798383,65.744843 -99.801885,65.742738 -99.802408,65.742447 -99.805582,65.741357 -99.809321,65.740977 -99.811218,65.741074 -99.812620,65.741219 -99.812175,65.740044 -99.812314,65.739213 -99.813284,65.736276 -99.813900,65.735178 -99.814015,65.735090 -99.814056,65.734996 -99.815834,65.733021 -99.816041,65.732868 -99.816770,65.732195 -99.818250,65.731135 -99.819285,65.730508 -99.821112,65.729769 -99.825649,65.728347 -99.826131,65.727999 -99.827174,65.724845 -99.827789,65.723750 -99.828255,65.723251 -99.829881,65.721733 -99.831538,65.720598 -99.834710,65.719508 -99.837324,65.719159 -99.841329,65.718923 -99.842450,65.718890 -99.844453,65.718999 -99.848786,65.719472 -99.849062,65.719516 -99.849251,65.719529 -99.856899,65.720568 -99.864814,65.720806 -99.865091,65.720839 -99.866099,65.720889 -99.870988,65.721377 -99.872880,65.721671 -99.876040,65.722765 -99.878148,65.724402 -99.878883,65.726331 -99.878315,65.728015 -99.877240,65.729572 -99.877075,65.729706 -99.877006,65.729878 -99.875852,65.731256 -99.875760,65.732132 -99.876218,65.733119 -99.878065,65.735339 -99.880705,65.737674 -99.881822,65.738574 -99.882019,65.738577 -99.892121,65.737864 -99.893451,65.737818 -99.896606,65.738090 -99.898393,65.738406 -99.900561,65.737643 -99.900841,65.737615 -99.901050,65.737547 -99.904369,65.736944 -99.907616,65.736658 -99.911351,65.737043 -99.913912,65.737851 -99.916582,65.739018 -99.917185,65.739305 -99.919296,65.740941 -99.920034,65.742870 -99.919893,65.743717 -99.919499,65.744899 -99.919474,65.746158 -99.919743,65.748510 -99.920112,65.751448 -99.920483,65.751948 -99.921956,65.751651 -99.922465,65.751602 -99.924655,65.751326 -99.929217,65.751120 -99.930073,65.751101 -99.931551,65.751253 -99.931695,65.750199 -99.932001,65.749531 -99.932201,65.748914 -99.934414,65.745588 -99.934566,65.745463 -99.934632,65.745292 -99.936752,65.743657 -99.939433,65.742677 -99.942484,65.741922 -99.942730,65.741893 -99.942973,65.741810 -99.945274,65.741481 -99.950453,65.741085 -99.951744,65.741035 -99.951795,65.741030 -99.958704,65.740997 -99.967655,65.740030 -99.969656,65.739924 -99.973391,65.740308 -99.976557,65.741401 -99.978672,65.743036 -99.979032,65.743567 -99.980093,65.745467 -99.980475,65.746865 -99.980421,65.747007 -99.980462,65.747130 -99.980203,65.749648 -99.980157,65.749752 -99.980083,65.750212 -99.979350,65.752477 -99.979374,65.753473 -99.979526,65.754449 -99.983859,65.754971 -99.984725,65.755115 -99.984921,65.755132 -99.990223,65.756109 -99.990418,65.756173 -99.990679,65.756199 -99.993847,65.757292 -99.995964,65.758928 -99.996432,65.759667 -99.997096,65.761078 -99.997372,65.762268 -99.996628,65.764198 -99.995715,65.765077 -99.993472,65.766802 -99.992267,65.767557 -99.989096,65.768650 -99.985729,65.769030 -99.984258,65.769059 -99.985593,65.770090 -99.986336,65.772019 -99.985591,65.773948 -99.985546,65.773983 -99.985530,65.774022 -99.984815,65.774874 -99.984139,65.775992 -99.985160,65.776930 -99.986226,65.777705 -99.987289,65.778696 -99.988032,65.780625 -99.987287,65.782554 -99.986574,65.783273 -99.984487,65.785016 -99.984252,65.785745 -99.984478,65.787728 -99.984364,65.788077 -99.984466,65.788408 -99.983994,65.791597 -99.983277,65.793144 -99.983062,65.793310 -99.982989,65.793470 -99.980449,65.796087 -99.978616,65.797397 -99.975441,65.798490 -99.973647,65.798772 -99.970732,65.799077 -99.968783,65.799178 -99.967777,65.799151 -99.963351,65.798915 -99.960614,65.798557 -99.957442,65.797464 -99.956566,65.796945 -99.954727,65.795694 -99.953486,65.794576 -99.952841,65.793356 -99.952622,65.792561 -99.950524,65.795522 -99.950516,65.795528 -99.950513,65.795536 -99.948454,65.798413 -99.948352,65.798495 -99.948311,65.798601 -99.947085,65.799705 -99.944009,65.801805 -99.944418,65.801978 -99.946535,65.803615 -99.947263,65.805272 -99.947669,65.809201 -99.947626,65.809327 -99.947682,65.809473 -99.946934,65.811403 -99.944809,65.813038 -99.942352,65.813959 -99.938041,65.815096 -99.937321,65.815268 -99.934759,65.815614 -99.930730,65.815865 -99.929546,65.815902 -99.925801,65.815517 -99.924168,65.815070 -99.920124,65.813697 -99.918585,65.813050 -99.917314,65.812241 -99.914179,65.809762 -99.913988,65.809575 -99.913844,65.809477 -99.910606,65.806503 -99.906347,65.803310 -99.903076,65.801558 -99.901851,65.801063 -99.894695,65.800668 -99.888075,65.800310 -99.887736,65.800266 -99.888482,65.801707 -99.890250,65.804105 -99.890341,65.804363 -99.890832,65.805357 -99.891622,65.809148 -99.893150,65.812080 -99.893172,65.812169 -99.893259,65.812312 -99.893984,65.814021 -99.898571,65.812061 -99.901086,65.811281 -99.904315,65.810905 -99.907153,65.810829 -99.907393,65.810850 -99.907670,65.810822 -99.911414,65.811207 -99.914585,65.812302 -99.916145,65.813353 -99.918320,65.815306 -99.918877,65.815891 -99.919440,65.816859 -99.920936,65.820857 -99.921065,65.821555 -99.921109,65.821662 -99.921362,65.826049 -99.921335,65.826124 -99.921367,65.826206 -99.921229,65.827042 -99.920040,65.830651 -99.919562,65.831503 -99.919516,65.831630 -99.916730,65.835332 -99.915402,65.838002 -99.914941,65.840662 -99.915148,65.841418 -99.915930,65.842513 -99.919561,65.845311 -99.923658,65.847979 -99.929816,65.851264 -99.936968,65.854599 -99.947570,65.858486 -99.948818,65.859030 -99.949391,65.859352 -99.955960,65.863380 -99.956355,65.863715 -99.956994,65.864149 -99.960474,65.867330 -99.960989,65.867876 -99.961467,65.868635 -99.961642,65.869014 -99.964081,65.870658 -99.965347,65.871790 -99.965871,65.872656 -99.967452,65.876432 -99.967456,65.876450 -99.967468,65.876470 -99.969387,65.881234 -99.973042,65.885014 -99.973203,65.885366 -99.973570,65.885672 -99.975481,65.888635 -99.976184,65.889008 -99.979697,65.889398 -99.986169,65.888898 -99.992221,65.888142 -99.994538,65.887999 -99.995565,65.888027 -100.003323,65.888447 -100.006051,65.888803 -100.009235,65.889896 -100.009285,65.889935 -100.009357,65.889960 -100.014171,65.892523 -100.014560,65.892828 -100.015938,65.893822 -100.018456,65.896485 -100.018517,65.896621 -100.018696,65.896758 -100.019123,65.897412 -100.021391,65.901858 -100.021476,65.901970 -100.024771,65.902033 -100.027937,65.902388 -100.029515,65.901173 -100.029594,65.901146 -100.029646,65.901107 -100.033003,65.899444 -100.033085,65.899416 -100.034035,65.898999 -100.036317,65.898145 -100.039776,65.896058 -100.040303,65.895764 -100.041096,65.895398 -100.045010,65.893781 -100.047399,65.893053 -100.051154,65.892668 -100.054910,65.893052 -100.057124,65.893811 -100.058926,65.892723 -100.059451,65.892431 -100.062633,65.891337 -100.066387,65.890952 -100.070143,65.891335 -100.073330,65.892427 -100.073397,65.892479 -100.073492,65.892512 -100.075407,65.893542 -100.077377,65.895093 -100.077651,65.895475 -100.079147,65.897847 -100.079625,65.899396 -100.079494,65.900226 -100.079128,65.901361 -100.080404,65.902479 -100.080509,65.902586 -100.080565,65.902625 -100.081855,65.903846 -100.081933,65.903930 -100.082798,65.902999 -100.084707,65.901610 -100.087888,65.900515 -100.088213,65.900482 -100.088450,65.900405 -100.089483,65.900222 -100.089302,65.899841 -100.089100,65.898983 -100.089028,65.898813 -100.088747,65.894426 -100.088774,65.894350 -100.088742,65.894268 -100.088875,65.893431 -100.090411,65.888694 -100.091018,65.887600 -100.093140,65.885962 -100.096319,65.884868 -100.096428,65.884857 -100.096515,65.884827 -100.105562,65.883012 -100.109119,65.882666 -100.112875,65.883049 -100.116062,65.884141 -100.118132,65.885699 -100.119032,65.886760 -100.119504,65.886451 -100.122682,65.885356 -100.126435,65.884971 -100.126514,65.884978 -100.126589,65.884971 -100.131527,65.885008 -100.135033,65.884988 -100.141778,65.884718 -100.146612,65.884342 -100.150375,65.884039 -100.155212,65.882848 -100.155449,65.882820 -100.155682,65.882740 -100.157300,65.882476 -100.165501,65.881530 -100.167634,65.881408 -100.169745,65.881524 -100.173544,65.881951 -100.175190,65.882216 -100.177296,65.882828 -100.180577,65.884078 -100.180712,65.883612 -100.181918,65.881606 -100.182216,65.881179 -100.184332,65.879541 -100.184665,65.879426 -100.184856,65.879290 -100.189456,65.877238 -100.189472,65.877232 -100.189530,65.877205 -100.192376,65.875961 -100.194186,65.874960 -100.195907,65.872808 -100.195913,65.872788 -100.194448,65.871367 -100.194063,65.870948 -100.193304,65.869019 -100.193349,65.868517 -100.194159,65.864199 -100.194847,65.862770 -100.195838,65.861828 -100.201012,65.857960 -100.202135,65.857264 -100.205307,65.856168 -100.209055,65.855781 -100.212808,65.856162 -100.212844,65.856174 -100.212885,65.856178 -100.217103,65.857094 -100.220215,65.858168 -100.221162,65.858729 -100.224405,65.860964 -100.225595,65.862037 -100.225635,65.862137 -100.225732,65.862214 -100.226770,65.863638 -100.230055,65.861503 -100.230786,65.861080 -100.230841,65.861061 -100.230877,65.861033 -100.236248,65.858325 -100.236694,65.858173 -100.238771,65.857405 -100.244631,65.855920 -100.242694,65.854440 -100.242623,65.854262 -100.242466,65.854133 -100.240552,65.851272 -100.240018,65.849650 -100.240748,65.847719 -100.240791,65.847686 -100.240805,65.847648 -100.242637,65.845443 -100.244689,65.843876 -100.247858,65.842780 -100.248063,65.842758 -100.248220,65.842706 -100.254811,65.841447 -100.255572,65.841377 -100.257300,65.841155 -100.258287,65.841107 -100.262370,65.838787 -100.262545,65.838724 -100.262678,65.838620 -100.265846,65.837523 -100.269591,65.837135 -100.273343,65.837515 -100.276531,65.838605 -100.278429,65.839965 -100.280970,65.842627 -100.281032,65.842764 -100.281212,65.842901 -100.281752,65.843782 -100.282897,65.846489 -100.285110,65.849577 -100.286795,65.851079 -100.289625,65.853409 -100.294966,65.856014 -100.295368,65.854946 -100.295937,65.854347 -100.299073,65.851532 -100.300612,65.850492 -100.303780,65.849395 -100.307526,65.849006 -100.307596,65.849014 -100.307665,65.849007 -100.312722,65.849037 -100.312837,65.849049 -100.314467,65.849129 -100.319380,65.849617 -100.321250,65.849904 -100.322529,65.850232 -100.326130,65.851331 -100.328042,65.852092 -100.328265,65.852262 -100.328529,65.852359 -100.332810,65.854884 -100.332816,65.854889 -100.332851,65.854909 -100.336643,65.857175 -100.336862,65.857356 -100.337448,65.857728 -100.339945,65.859712 -100.340179,65.859350 -100.342284,65.857711 -100.345451,65.856613 -100.348664,65.856232 -100.354347,65.856064 -100.354595,65.856086 -100.354881,65.856056 -100.357190,65.856194 -100.363383,65.856956 -100.369308,65.857471 -100.372235,65.857620 -100.377983,65.856501 -100.377905,65.856448 -100.376593,65.855243 -100.376110,65.854735 -100.375339,65.852806 -100.376060,65.850875 -100.377344,65.849720 -100.380197,65.847797 -100.381017,65.847313 -100.382383,65.846722 -100.387441,65.844914 -100.389239,65.844407 -100.389658,65.844363 -100.389951,65.844270 -100.393816,65.843614 -100.392507,65.842087 -100.392490,65.842046 -100.392442,65.842010 -100.391670,65.840081 -100.392390,65.838150 -100.394491,65.836510 -100.397654,65.835412 -100.397894,65.835387 -100.398076,65.835327 -100.402867,65.834427 -100.402932,65.834421 -100.403330,65.834346 -100.403498,65.834320 -100.401384,65.832578 -100.400663,65.831863 -100.399891,65.829934 -100.399938,65.829402 -100.400855,65.824633 -100.401526,65.823235 -100.403626,65.821595 -100.406787,65.820497 -100.407563,65.820349 -100.412730,65.819492 -100.411038,65.817775 -100.410963,65.817616 -100.410746,65.817451 -100.410005,65.815888 -100.409603,65.813296 -100.406239,65.811989 -100.404005,65.811380 -100.399479,65.810265 -100.396801,65.809294 -100.396594,65.809136 -100.396344,65.809045 -100.391591,65.806267 -100.389905,65.804885 -100.389137,65.803031 -100.389069,65.801422 -100.389082,65.801385 -100.389067,65.801346 -100.389644,65.799606 -100.391101,65.797521 -100.391105,65.797307 -100.388132,65.796351 -100.386420,65.795652 -100.386376,65.795619 -100.386313,65.795597 -100.383414,65.794071 -100.381379,65.792494 -100.380609,65.790566 -100.380732,65.789734 -100.381435,65.787475 -100.382031,65.786377 -100.384129,65.784738 -100.384338,65.784665 -100.384465,65.784571 -100.389722,65.782084 -100.391018,65.781656 -100.392156,65.781241 -100.397626,65.779914 -100.397824,65.779891 -100.398012,65.779825 -100.400506,65.779580 -100.401748,65.779436 -100.401857,65.779447 -100.401960,65.779436 -100.407559,65.779490 -100.407616,65.779496 -100.408378,65.779515 -100.411710,65.779692 -100.412024,65.779592 -100.416658,65.777575 -100.419173,65.776782 -100.419265,65.776772 -100.419340,65.776747 -100.426526,65.775274 -100.427216,65.775205 -100.429492,65.774930 -100.437441,65.774663 -100.437717,65.774686 -100.438042,65.774652 -100.441109,65.774900 -100.446968,65.775885 -100.447249,65.775973 -100.447647,65.776013 -100.448523,65.776225 -100.453718,65.777644 -100.454770,65.778042 -100.455539,65.778285 -100.459732,65.780150 -100.462841,65.779825 -100.463848,65.779850 -100.469928,65.780162 -100.472668,65.780514 -100.475857,65.781601 -100.476933,65.782250 -100.481069,65.785218 -100.481408,65.785529 -100.481676,65.785711 -100.483869,65.787743 -100.485277,65.788017 -100.485386,65.788053 -100.485522,65.788067 -100.487352,65.788575 -100.490565,65.789708 -100.492787,65.788879 -100.494846,65.787757 -100.494932,65.787726 -100.494993,65.787678 -100.498146,65.786579 -100.501881,65.786187 -100.505630,65.786563 -100.508251,65.787382 -100.511234,65.788679 -100.511804,65.788947 -100.513398,65.790006 -100.515561,65.791922 -100.519530,65.795302 -100.520061,65.795837 -100.520106,65.795871 -100.523044,65.799281 -100.526177,65.801599 -100.527162,65.802517 -100.527942,65.804445 -100.527232,65.806376 -100.526713,65.806936 -100.524363,65.809111 -100.522791,65.810191 -100.519636,65.811291 -100.517042,65.811646 -100.513116,65.811893 -100.505725,65.812421 -100.504421,65.812469 -100.504243,65.812451 -100.504080,65.812466 -100.497748,65.812366 -100.493556,65.812468 -100.493870,65.814231 -100.493911,65.814647 -100.493848,65.814817 -100.494127,65.814840 -100.497865,65.815489 -100.498111,65.815567 -100.498448,65.815600 -100.501642,65.816687 -100.502298,65.817055 -100.505118,65.818803 -100.507946,65.820544 -100.508251,65.820801 -100.508807,65.821163 -100.513525,65.825156 -100.516516,65.827285 -100.518376,65.827974 -100.522171,65.828286 -100.529367,65.828080 -100.537693,65.827606 -100.538725,65.827576 -100.539724,65.827600 -100.543622,65.827797 -100.553249,65.827181 -100.558026,65.826146 -100.558028,65.826146 -100.558030,65.826145 -100.560614,65.825791 -100.567304,65.825365 -100.572079,65.824330 -100.572080,65.824330 -100.572081,65.824330 -100.575820,65.823937 -100.579574,65.824312 -100.582773,65.825397 -100.583489,65.825802 -100.585063,65.826794 -100.587569,65.827738 -100.588670,65.828220 -100.590826,65.829851 -100.591188,65.830365 -100.592303,65.832257 -100.592725,65.833671 -100.592019,65.835602 -100.590081,65.837163 -100.587388,65.838635 -100.587299,65.838667 -100.587236,65.838716 -100.585789,65.839338 -100.579487,65.841551 -100.578692,65.841774 -100.578419,65.841877 -100.572035,65.843549 -100.571465,65.843791 -100.571959,65.844455 -100.572611,65.846214 -100.572601,65.846240 -100.572611,65.846265 -100.572612,65.849935 -100.571904,65.851816 -100.570633,65.852969 -100.567833,65.854868 -100.563627,65.857815 -100.560063,65.860366 -100.559093,65.860957 -100.558847,65.861058 -100.558885,65.861341 -100.560848,65.862198 -100.561046,65.862336 -100.561391,65.862453 -100.563548,65.864085 -100.563830,65.864468 -100.565364,65.866840 -100.565866,65.868386 -100.565753,65.869203 -100.565634,65.869598 -100.570843,65.868710 -100.575978,65.867658 -100.579550,65.867301 -100.579744,65.867321 -100.579920,65.867304 -100.585693,65.867402 -100.588000,65.867209 -100.590702,65.866919 -100.592655,65.866813 -100.595200,65.866979 -100.597908,65.867345 -100.599123,65.867554 -100.602327,65.868640 -100.602375,65.868676 -100.602442,65.868699 -100.604875,65.869972 -100.610984,65.873167 -100.612496,65.873869 -100.615988,65.872300 -100.618614,65.871456 -100.622359,65.871063 -100.625447,65.871310 -100.631336,65.872294 -100.631371,65.872306 -100.631429,65.872310 -100.634368,65.872818 -100.634622,65.871979 -100.634406,65.870805 -100.633569,65.869412 -100.633131,65.867976 -100.633249,65.867138 -100.634151,65.864186 -100.634274,65.863956 -100.634318,65.863758 -100.635233,65.861857 -100.634787,65.860956 -100.634485,65.859767 -100.634524,65.859659 -100.634488,65.859562 -100.634619,65.857273 -100.634655,65.857183 -100.634632,65.857116 -100.635331,65.851189 -100.635043,65.846819 -100.635062,65.846764 -100.635038,65.846705 -100.635314,65.845461 -100.636547,65.842847 -100.636177,65.839995 -100.634740,65.836082 -100.634720,65.835983 -100.634685,65.835920 -100.633936,65.833439 -100.632937,65.831664 -100.628633,65.827537 -100.628249,65.827126 -100.628171,65.826935 -100.628004,65.826799 -100.625616,65.823252 -100.623014,65.821018 -100.622399,65.820396 -100.621613,65.818468 -100.621636,65.818059 -100.622103,65.814641 -100.622151,65.814534 -100.622194,65.814224 -100.622704,65.812528 -100.622220,65.811973 -100.622199,65.811925 -100.622142,65.811882 -100.621471,65.810672 -100.620633,65.807888 -100.620518,65.807169 -100.621221,65.805238 -100.622924,65.803898 -100.621404,65.803411 -100.619693,65.802716 -100.617910,65.801487 -100.616163,65.799801 -100.615790,65.799400 -100.615005,65.797472 -100.615122,65.796638 -100.615787,65.794447 -100.615683,65.793467 -100.613539,65.791649 -100.609011,65.789278 -100.608966,65.789243 -100.608145,65.788758 -100.604887,65.786515 -100.603709,65.785460 -100.603689,65.785412 -100.603639,65.785373 -100.601206,65.782268 -100.600492,65.780427 -100.600531,65.780321 -100.600496,65.780226 -100.600626,65.777937 -100.601327,65.776207 -100.603411,65.774567 -100.604381,65.774123 -100.612033,65.771063 -100.612656,65.770876 -100.613168,65.770672 -100.620880,65.768403 -100.619309,65.766873 -100.619170,65.766722 -100.619141,65.766701 -100.615754,65.763077 -100.615704,65.762968 -100.615565,65.762862 -100.614781,65.760935 -100.615484,65.759004 -100.616282,65.758199 -100.619990,65.755170 -100.621275,65.754334 -100.622580,65.753761 -100.626773,65.752229 -100.627754,65.751824 -100.628021,65.750107 -100.628692,65.748636 -100.630774,65.746995 -100.631102,65.746880 -100.631289,65.746744 -100.635836,65.744684 -100.638465,65.743834 -100.638713,65.743794 -100.638224,65.742595 -100.638837,65.740782 -100.640760,65.738119 -100.640825,65.738067 -100.640849,65.738001 -100.642793,65.736433 -100.645486,65.734961 -100.645566,65.734932 -100.645622,65.734888 -100.648764,65.733787 -100.648956,65.733764 -100.649941,65.732760 -100.651672,65.731516 -100.652968,65.730946 -100.657268,65.729369 -100.660319,65.728182 -100.660389,65.728161 -100.660482,65.728120 -100.664273,65.726709 -100.666172,65.726158 -100.668020,65.725864 -100.677807,65.724841 -100.679684,65.724742 -100.683427,65.725115 -100.686618,65.726199 -100.688772,65.727828 -100.689561,65.729755 -100.689459,65.730544 -100.688781,65.732940 -100.688773,65.732954 -100.688770,65.732975 -100.688031,65.735462 -100.687760,65.735976 -100.687691,65.736215 -100.685502,65.739786 -100.685297,65.739962 -100.685207,65.740203 -100.682665,65.743349 -100.679698,65.747864 -100.679507,65.748024 -100.679429,65.748226 -100.675192,65.753334 -100.672720,65.757096 -100.672592,65.760174 -100.673623,65.763185 -100.673772,65.764004 -100.673073,65.765935 -100.671855,65.767056 -100.666904,65.770490 -100.666041,65.771010 -100.665925,65.771050 -100.665852,65.771106 -100.662161,65.772939 -100.659812,65.774968 -100.658404,65.775908 -100.658390,65.775913 -100.658380,65.775920 -100.657712,65.776269 -100.656663,65.777575 -100.656532,65.777676 -100.655325,65.778753 -100.650490,65.781921 -100.651297,65.783096 -100.651308,65.783127 -100.651406,65.783263 -100.652758,65.785475 -100.653546,65.785997 -100.654834,65.787124 -100.655121,65.787514 -100.658905,65.793376 -100.660922,65.796209 -100.664826,65.799636 -100.669938,65.803778 -100.674634,65.806948 -100.678051,65.808973 -100.683651,65.811905 -100.683672,65.811922 -100.684147,65.812185 -100.687008,65.813924 -100.687159,65.814051 -100.687576,65.814305 -100.690415,65.816403 -100.692317,65.817171 -100.698501,65.818143 -100.704648,65.818649 -100.709868,65.818901 -100.711222,65.819071 -100.712084,65.819143 -100.715829,65.819791 -100.716022,65.819852 -100.716292,65.819878 -100.725308,65.821701 -100.725358,65.821717 -100.725417,65.821723 -100.728620,65.822807 -100.729345,65.823215 -100.731421,65.824521 -100.734908,65.826343 -100.735790,65.826386 -100.738546,65.826736 -100.741383,65.827695 -100.741548,65.827460 -100.741830,65.827229 -100.741934,65.826986 -100.743575,65.825232 -100.745388,65.823902 -100.748536,65.822799 -100.750318,65.822511 -100.753201,65.822199 -100.755156,65.822091 -100.758912,65.822463 -100.760359,65.822839 -100.762945,65.823656 -100.764703,65.824362 -100.764746,65.824395 -100.764807,65.824415 -100.768210,65.826185 -100.768622,65.826500 -100.770068,65.827532 -100.772425,65.830015 -100.773316,65.829370 -100.774291,65.828770 -100.774863,65.828493 -100.781356,65.825594 -100.781792,65.825454 -100.782572,65.825131 -100.787530,65.823537 -100.788889,65.823173 -100.792625,65.822777 -100.796382,65.823149 -100.799588,65.824232 -100.801403,65.825481 -100.803150,65.827175 -100.803503,65.827554 -100.804302,65.829481 -100.803970,65.830857 -100.802681,65.833329 -100.802321,65.833886 -100.800567,65.835350 -100.795829,65.838097 -100.795774,65.838117 -100.795730,65.838153 -100.792350,65.840053 -100.792224,65.840099 -100.792131,65.840172 -100.786142,65.843324 -100.786139,65.843325 -100.786137,65.843326 -100.783926,65.844194 -100.777768,65.845957 -100.777416,65.846045 -100.782463,65.849312 -100.782618,65.849445 -100.782915,65.849628 -100.785994,65.851970 -100.789116,65.854102 -100.790306,65.855158 -100.790333,65.855222 -100.790399,65.855273 -100.792437,65.857889 -100.792517,65.858095 -100.793054,65.859091 -100.793856,65.862120 -100.793945,65.862731 -100.793524,65.864264 -100.791825,65.867137 -100.792244,65.869735 -100.793042,65.872669 -100.793829,65.873431 -100.796543,65.875707 -100.798729,65.876426 -100.799097,65.876577 -100.799378,65.876659 -100.807457,65.879810 -100.807828,65.879975 -100.807932,65.880007 -100.811433,65.881556 -100.811609,65.881679 -100.811906,65.881779 -100.814079,65.883408 -100.814880,65.885336 -100.814769,65.886169 -100.814030,65.888656 -100.813448,65.889756 -100.812349,65.890624 -100.816155,65.892593 -100.816959,65.893205 -100.818153,65.894081 -100.819386,65.895478 -100.824078,65.895143 -100.825364,65.895095 -100.825545,65.895113 -100.825710,65.895097 -100.832453,65.895196 -100.832790,65.895232 -100.834359,65.895320 -100.837617,65.895702 -100.839132,65.895947 -100.842347,65.897029 -100.842771,65.897346 -100.842727,65.896493 -100.842737,65.896464 -100.842724,65.896435 -100.843415,65.894502 -100.843764,65.894103 -100.846977,65.890823 -100.848067,65.890038 -100.848470,65.889706 -100.848934,65.889445 -100.848916,65.889352 -100.848869,65.888927 -100.849203,65.887545 -100.850493,65.885081 -100.850849,65.884530 -100.852393,65.883192 -100.857200,65.880209 -100.857734,65.879904 -100.860396,65.878914 -100.865457,65.877637 -100.865662,65.877551 -100.867589,65.876250 -100.868985,65.874295 -100.869053,65.874240 -100.869078,65.874170 -100.871154,65.872527 -100.873905,65.871514 -100.879367,65.870172 -100.879571,65.870147 -100.879765,65.870079 -100.883505,65.869682 -100.887270,65.870052 -100.890485,65.871134 -100.891364,65.871639 -100.893043,65.872742 -100.896329,65.874616 -100.900341,65.875607 -100.900385,65.875623 -100.900609,65.875676 -100.904436,65.876696 -100.909547,65.877799 -100.913588,65.877988 -100.914256,65.878071 -100.915170,65.878129 -100.923301,65.879212 -100.923492,65.879245 -100.923571,65.879250 -100.932748,65.880616 -100.933704,65.880786 -100.936921,65.881867 -100.938526,65.882963 -100.939775,65.882746 -100.945504,65.879478 -100.945655,65.879423 -100.945767,65.879334 -100.946936,65.878953 -100.948913,65.878229 -100.949280,65.878189 -100.949541,65.878104 -100.956673,65.876838 -100.959786,65.876564 -100.963552,65.876933 -100.964859,65.877263 -100.966098,65.877637 -100.969448,65.875558 -100.975621,65.871544 -100.976282,65.871156 -100.977171,65.870743 -100.982478,65.868562 -100.981676,65.868203 -100.980504,65.867498 -100.976774,65.864789 -100.975765,65.863867 -100.974954,65.861940 -100.975635,65.860007 -100.976542,65.859107 -100.978740,65.857383 -100.979902,65.856638 -100.981243,65.856049 -100.986255,65.854226 -100.988056,65.853709 -100.990829,65.853338 -100.995399,65.853086 -100.996363,65.853058 -100.997367,65.853080 -101.002371,65.853324 -101.005130,65.853671 -101.008348,65.854751 -101.010529,65.856378 -101.010548,65.856423 -101.010596,65.856459 -101.012455,65.858773 -101.015749,65.858795 -101.019304,65.859163 -101.019414,65.859200 -101.019534,65.859213 -101.022173,65.859800 -101.025162,65.860831 -101.026018,65.861318 -101.029685,65.863699 -101.031317,65.864664 -101.033566,65.865125 -101.038132,65.864374 -101.041025,65.864136 -101.043714,65.864317 -101.048574,65.865003 -101.049650,65.865190 -101.052870,65.866270 -101.052909,65.866298 -101.052964,65.866317 -101.055760,65.867755 -101.056730,65.867006 -101.056616,65.866879 -101.056594,65.866829 -101.056534,65.866784 -101.055973,65.865912 -101.054651,65.862995 -101.052879,65.859829 -101.050922,65.858259 -101.050174,65.857537 -101.049485,65.856334 -101.048297,65.852603 -101.048169,65.851879 -101.048845,65.849946 -101.048977,65.849841 -101.049020,65.849732 -101.051523,65.846864 -101.053338,65.845489 -101.053401,65.845439 -101.057368,65.843333 -101.057375,65.843331 -101.057380,65.843327 -101.060518,65.842220 -101.063848,65.841826 -101.070068,65.841666 -101.070630,65.841651 -101.070868,65.840818 -101.070221,65.839080 -101.070074,65.838357 -101.070051,65.838305 -101.069869,65.835649 -101.068349,65.832670 -101.068027,65.831479 -101.068056,65.831396 -101.068026,65.831319 -101.068128,65.827217 -101.067583,65.824022 -101.066722,65.821694 -101.066551,65.820844 -101.066573,65.820779 -101.066549,65.820719 -101.066568,65.819047 -101.065555,65.815465 -101.065454,65.814832 -101.066128,65.812899 -101.068190,65.811254 -101.068386,65.811185 -101.068504,65.811095 -101.071631,65.809584 -101.072704,65.808773 -101.072171,65.808172 -101.072150,65.808125 -101.072094,65.808084 -101.071329,65.806583 -101.070628,65.803104 -101.070578,65.802678 -101.070877,65.801342 -101.072206,65.798657 -101.072278,65.798542 -101.072288,65.798500 -101.073774,65.795856 -101.072707,65.795063 -101.071016,65.793965 -101.069688,65.792825 -101.068873,65.790898 -101.069546,65.788966 -101.069573,65.788944 -101.069582,65.788919 -101.070452,65.787813 -101.070458,65.787808 -101.070460,65.787803 -101.073093,65.784476 -101.073113,65.784461 -101.073325,65.784222 -101.071958,65.782509 -101.071925,65.782427 -101.071850,65.782368 -101.069716,65.779450 -101.066770,65.776867 -101.063296,65.774346 -101.062458,65.773581 -101.062359,65.773508 -101.060503,65.771411 -101.055851,65.767554 -101.055320,65.767033 -101.055262,65.766990 -101.053126,65.764595 -101.053074,65.764477 -101.052945,65.764378 -101.051348,65.762343 -101.048328,65.760218 -101.046423,65.759233 -101.043232,65.757996 -101.037895,65.756217 -101.037211,65.755936 -101.036913,65.755844 -101.030924,65.753257 -101.030720,65.753117 -101.030369,65.752998 -101.028558,65.751759 -101.025041,65.748387 -101.024678,65.748000 -101.023946,65.746633 -101.023486,65.744801 -101.020794,65.744443 -101.019575,65.744235 -101.016369,65.743156 -101.014196,65.741530 -101.013797,65.740966 -101.012287,65.738364 -101.011876,65.737002 -101.011907,65.736914 -101.011876,65.736833 -101.011978,65.733436 -101.011846,65.733255 -101.009280,65.731312 -101.008378,65.730467 -101.008085,65.730075 -101.006530,65.727702 -101.006427,65.727397 -101.006137,65.726885 -101.005138,65.723697 -101.003890,65.722052 -101.003861,65.721975 -101.003797,65.721925 -101.002228,65.719681 -101.000708,65.718525 -100.995907,65.718297 -100.991034,65.718462 -100.990774,65.718440 -100.990474,65.718472 -100.986728,65.718104 -100.985141,65.717683 -100.981036,65.716340 -100.979422,65.715681 -100.977253,65.714055 -100.976446,65.712129 -100.976548,65.711309 -100.977129,65.709272 -100.977704,65.708160 -100.979763,65.706517 -100.980462,65.706181 -100.984292,65.704518 -100.986719,65.703748 -100.986801,65.703740 -100.986867,65.703717 -100.989511,65.703162 -100.989696,65.702520 -100.988405,65.699440 -100.988289,65.698923 -100.988213,65.698765 -100.987825,65.696217 -100.987866,65.696075 -100.987796,65.695909 -100.988473,65.693978 -100.990530,65.692334 -100.992336,65.691583 -100.996036,65.690393 -100.997355,65.690039 -101.001071,65.689640 -101.004813,65.690008 -101.008013,65.691087 -101.008055,65.691119 -101.008114,65.691139 -101.011997,65.693153 -101.012140,65.693262 -101.012309,65.693323 -101.017612,65.696336 -101.018825,65.697307 -101.019283,65.697641 -101.020557,65.699076 -101.020580,65.699128 -101.020643,65.699175 -101.021423,65.700793 -101.021813,65.703333 -101.021772,65.703475 -101.021842,65.703641 -101.021491,65.705075 -101.021189,65.705637 -101.022646,65.707435 -101.024984,65.709842 -101.026822,65.710944 -101.032018,65.712962 -101.032978,65.713387 -101.033020,65.713418 -101.033079,65.713439 -101.039915,65.716978 -101.040256,65.717238 -101.041739,65.718280 -101.044333,65.720927 -101.044399,65.721064 -101.044581,65.721200 -101.045375,65.722899 -101.045880,65.727005 -101.046398,65.730062 -101.048482,65.733335 -101.050759,65.735523 -101.053897,65.736966 -101.054066,65.737086 -101.054327,65.737175 -101.058324,65.739245 -101.066493,65.741733 -101.068561,65.742193 -101.069669,65.742576 -101.071295,65.743102 -101.076735,65.745650 -101.076832,65.745720 -101.076986,65.745772 -101.079164,65.747398 -101.079660,65.748139 -101.081021,65.750822 -101.082332,65.752893 -101.083130,65.753417 -101.084430,65.754539 -101.084929,65.755284 -101.085280,65.755978 -101.086813,65.757294 -101.086892,65.757374 -101.086936,65.757403 -101.089607,65.759829 -101.089740,65.759967 -101.089783,65.759997 -101.091974,65.762171 -101.092026,65.762276 -101.092181,65.762390 -101.093685,65.764074 -101.097022,65.767006 -101.097441,65.767430 -101.097481,65.767460 -101.099936,65.770215 -101.101982,65.769330 -101.104390,65.768568 -101.108115,65.768168 -101.111869,65.768534 -101.115081,65.769613 -101.117262,65.771238 -101.117620,65.771731 -101.118781,65.773615 -101.119240,65.775048 -101.119139,65.775877 -101.118398,65.778487 -101.118652,65.780184 -101.119872,65.780911 -101.120236,65.781208 -101.120878,65.781626 -101.123136,65.783563 -101.123727,65.784154 -101.124371,65.785226 -101.125334,65.787804 -101.125508,65.788659 -101.125146,65.790120 -101.123546,65.793048 -101.123949,65.793841 -101.124034,65.794156 -101.124168,65.794399 -101.125016,65.797420 -101.125115,65.798043 -101.124445,65.799976 -101.123285,65.801070 -101.121671,65.802221 -101.122011,65.802278 -101.125227,65.803357 -101.127411,65.804982 -101.128231,65.806908 -101.127739,65.808588 -101.126732,65.810152 -101.126669,65.810205 -101.126645,65.810281 -101.126220,65.810885 -101.127908,65.810862 -101.127991,65.810870 -101.128077,65.810861 -101.128943,65.810959 -101.131837,65.811227 -101.132096,65.811314 -101.132354,65.811343 -101.137084,65.812488 -101.137873,65.812769 -101.139138,65.813153 -101.144661,65.815472 -101.145308,65.815769 -101.147494,65.817395 -101.147534,65.817490 -101.147630,65.817563 -101.149271,65.819707 -101.149956,65.821464 -101.149702,65.822713 -101.148268,65.825864 -101.148079,65.826177 -101.148056,65.826258 -101.144982,65.831164 -101.144846,65.831281 -101.144790,65.831442 -101.142113,65.834982 -101.142106,65.834988 -101.142104,65.834994 -101.140860,65.836147 -101.139682,65.836962 -101.140932,65.837444 -101.141903,65.837871 -101.143597,65.838993 -101.145932,65.841083 -101.146172,65.841239 -101.149155,65.842112 -101.151173,65.842891 -101.151209,65.842917 -101.151260,65.842935 -101.154701,65.844697 -101.156802,65.846279 -101.157625,65.848205 -101.157619,65.848224 -101.157627,65.848243 -101.157673,65.850090 -101.157003,65.851985 -101.154944,65.853631 -101.152539,65.854559 -101.152441,65.854586 -101.153338,65.854683 -101.156561,65.855761 -101.158751,65.857387 -101.159575,65.859313 -101.158906,65.861247 -101.158884,65.861264 -101.158877,65.861284 -101.158745,65.861453 -101.161152,65.862088 -101.163543,65.862971 -101.164797,65.863732 -101.165937,65.864580 -101.168688,65.864006 -101.169004,65.863974 -101.171062,65.863683 -101.175082,65.863409 -101.176278,65.863365 -101.179995,65.863721 -101.180769,65.863878 -101.181518,65.861202 -101.182088,65.860091 -101.184146,65.858445 -101.187281,65.857336 -101.190888,65.856935 -101.194832,65.856889 -101.194895,65.856895 -101.194960,65.856888 -101.198113,65.857139 -101.201881,65.857772 -101.202140,65.857852 -101.202494,65.857887 -101.205338,65.858783 -101.209328,65.860576 -101.209473,65.860678 -101.209710,65.860757 -101.211903,65.862382 -101.212697,65.863990 -101.213014,65.865907 -101.213208,65.866197 -101.215796,65.866314 -101.218606,65.866660 -101.220133,65.867067 -101.221817,65.865648 -101.225837,65.863306 -101.226010,65.863242 -101.226139,65.863138 -101.229273,65.862029 -101.233008,65.861626 -101.234042,65.861649 -101.236516,65.861771 -101.240557,65.861838 -101.242049,65.860527 -101.242186,65.860434 -101.242311,65.860310 -101.245905,65.857494 -101.247035,65.856768 -101.250168,65.855659 -101.253902,65.855255 -101.255714,65.855333 -101.260657,65.855783 -101.262612,65.856070 -101.265839,65.857147 -101.267281,65.858050 -101.269120,65.859515 -101.269874,65.860236 -101.270652,65.861740 -101.271134,65.864059 -101.271139,65.864101 -101.271144,65.864111 -101.271593,65.866508 -101.276603,65.867452 -101.276725,65.867491 -101.276878,65.867506 -101.278350,65.867885 -101.280936,65.868693 -101.282693,65.869391 -101.284805,65.870918 -101.285105,65.871250 -101.287091,65.869795 -101.288050,65.869197 -101.290874,65.868158 -101.293270,65.867579 -101.293430,65.867560 -101.293578,65.867507 -101.297313,65.867104 -101.301082,65.867468 -101.303086,65.868024 -101.308205,65.869863 -101.309431,65.870382 -101.310516,65.871019 -101.314708,65.873931 -101.316082,65.874846 -101.316938,65.874990 -101.317197,65.875070 -101.317552,65.875104 -101.318420,65.875308 -101.321555,65.876139 -101.323919,65.877012 -101.326120,65.878636 -101.326855,65.880331 -101.328700,65.878849 -101.329426,65.878501 -101.331349,65.877669 -101.333754,65.876907 -101.337490,65.876503 -101.341261,65.876866 -101.342556,65.877190 -101.346195,65.878273 -101.348132,65.879025 -101.348921,65.879466 -101.352077,65.881447 -101.358805,65.883425 -101.359039,65.883515 -101.359376,65.883606 -101.368542,65.886736 -101.372565,65.888038 -101.373545,65.888433 -101.373829,65.888522 -101.378353,65.890559 -101.378489,65.890654 -101.378710,65.890728 -101.379518,65.891179 -101.383655,65.893789 -101.386845,65.895580 -101.394187,65.897135 -101.398657,65.897978 -101.401342,65.897942 -101.483505,65.922487 -101.483314,65.922538 -101.483969,65.923261 -101.483990,65.923306 -101.484044,65.923346 -101.484460,65.924228 -101.487937,65.923850 -101.491716,65.924211 -101.493271,65.924612 -101.497436,65.925932 -101.499125,65.926605 -101.500740,65.927639 -101.503037,65.929577 -101.503637,65.930166 -101.504396,65.931532 -101.505201,65.934514 -101.505568,65.934786 -101.507591,65.935264 -101.513207,65.936392 -101.513231,65.936400 -101.513260,65.936402 -101.514378,65.936777 -101.516506,65.937476 -101.516537,65.937499 -101.516583,65.937514 -101.520062,65.939269 -101.522201,65.940854 -101.522495,65.941234 -101.522751,65.941608 -101.523030,65.941567 -101.528789,65.941124 -101.529947,65.941076 -101.530001,65.941070 -101.537919,65.940971 -101.537978,65.940977 -101.538038,65.940970 -101.541517,65.941271 -101.544736,65.941866 -101.544870,65.941909 -101.545039,65.941925 -101.545866,65.942117 -101.550092,65.943215 -101.550257,65.943275 -101.550709,65.943390 -101.553168,65.944145 -101.554343,65.944477 -101.554140,65.943418 -101.554183,65.943257 -101.554097,65.943064 -101.554741,65.941128 -101.556784,65.939478 -101.557337,65.939205 -101.563753,65.936284 -101.566329,65.935443 -101.567698,65.935200 -101.574121,65.934330 -101.576491,65.934165 -101.580273,65.934525 -101.582531,65.935169 -101.584583,65.935947 -101.585573,65.936375 -101.586798,65.937103 -101.589171,65.938812 -101.590167,65.939707 -101.590553,65.940227 -101.591729,65.942112 -101.591767,65.942227 -101.591912,65.942443 -101.593032,65.944770 -101.594559,65.946110 -101.596620,65.947311 -101.600980,65.948959 -101.607771,65.950459 -101.612116,65.950786 -101.619371,65.950142 -101.621392,65.949022 -101.622612,65.947521 -101.622734,65.946404 -101.622727,65.946399 -101.622105,65.946163 -101.621119,65.945736 -101.618896,65.944114 -101.618236,65.943058 -101.617214,65.940495 -101.617018,65.939625 -101.617658,65.937690 -101.619547,65.936121 -101.622315,65.934571 -101.620786,65.933266 -101.620219,65.932708 -101.619363,65.930783 -101.620003,65.928848 -101.621504,65.927510 -101.623533,65.926221 -101.624070,65.925908 -101.626417,65.924988 -101.630682,65.923798 -101.630912,65.923740 -101.630951,65.923725 -101.634251,65.922872 -101.635069,65.922073 -101.636557,65.921013 -101.636606,65.920972 -101.638582,65.919904 -101.638600,65.919898 -101.638611,65.919889 -101.641736,65.918774 -101.645344,65.918366 -101.653261,65.918259 -101.653325,65.918265 -101.653390,65.918258 -101.655432,65.918354 -101.659269,65.918743 -101.659733,65.918813 -101.659984,65.918830 -101.662640,65.919205 -101.663714,65.918475 -101.664442,65.918036 -101.665143,65.917696 -101.668973,65.916017 -101.671394,65.915242 -101.673832,65.914886 -101.679568,65.914451 -101.680866,65.914398 -101.682524,65.914458 -101.688596,65.914947 -101.690719,65.915244 -101.693497,65.916097 -101.695953,65.917161 -101.697042,65.916682 -101.703878,65.914225 -101.705569,65.913740 -101.709304,65.913330 -101.713084,65.913687 -101.716335,65.914758 -101.716375,65.914787 -101.716431,65.914806 -101.720406,65.916812 -101.722536,65.918386 -101.723399,65.920311 -101.723357,65.920438 -101.723402,65.920551 -101.723390,65.920923 -101.728031,65.921918 -101.731106,65.922952 -101.733333,65.924573 -101.733352,65.924614 -101.733397,65.924648 -101.735977,65.927738 -101.736777,65.929587 -101.736145,65.931523 -101.735385,65.932322 -101.731777,65.935381 -101.730505,65.936234 -101.729632,65.936648 -101.722681,65.939555 -101.720431,65.940257 -101.718237,65.940593 -101.711316,65.941211 -101.709771,65.941285 -101.705987,65.940927 -101.705149,65.940734 -101.697747,65.938811 -101.695333,65.937933 -101.693107,65.936312 -101.693079,65.936249 -101.693012,65.936200 -101.692003,65.934962 -101.690377,65.934376 -101.688567,65.935612 -101.688075,65.937489 -101.686597,65.943163 -101.686043,65.944281 -101.685059,65.945260 -101.680833,65.948510 -101.679782,65.949183 -101.677322,65.950134 -101.674525,65.950890 -101.677656,65.951142 -101.681360,65.951300 -101.686600,65.951308 -101.686704,65.951318 -101.686795,65.951309 -101.694110,65.951393 -101.694178,65.951400 -101.694743,65.951410 -101.697178,65.951519 -101.697912,65.951209 -101.701196,65.950128 -101.703006,65.949384 -101.709037,65.946436 -101.714128,65.943749 -101.714320,65.943681 -101.716403,65.942862 -101.720630,65.941675 -101.724505,65.940563 -101.727863,65.939001 -101.734821,65.935109 -101.734900,65.935080 -101.734955,65.935036 -101.736753,65.934403 -101.738077,65.933920 -101.738152,65.933912 -101.738212,65.933890 -101.743575,65.932746 -101.743797,65.932723 -101.745815,65.932423 -101.753063,65.931847 -101.755387,65.931602 -101.758060,65.930594 -101.759925,65.930045 -101.762103,65.929709 -101.775671,65.928483 -101.781613,65.927762 -101.787691,65.926465 -101.795080,65.924530 -101.798554,65.922755 -101.798576,65.922748 -101.798588,65.922738 -101.805389,65.919298 -101.811777,65.915399 -101.811905,65.915351 -101.812009,65.915263 -101.817274,65.912280 -101.817371,65.912244 -101.817440,65.912189 -101.818024,65.911899 -101.823113,65.909588 -101.823351,65.909510 -101.823882,65.909273 -101.829481,65.907213 -101.831244,65.906700 -101.831246,65.906700 -101.831249,65.906699 -101.836810,65.905459 -101.834903,65.904075 -101.834034,65.902151 -101.834658,65.900215 -101.835071,65.899735 -101.836589,65.898194 -101.838201,65.897022 -101.841315,65.895905 -101.844073,65.895525 -101.850923,65.895121 -101.851896,65.895088 -101.852845,65.895105 -101.859676,65.895393 -101.868881,65.895386 -101.879410,65.894159 -101.888097,65.893145 -101.888101,65.893145 -101.888105,65.893144 -101.902591,65.891458 -101.904598,65.891335 -101.904660,65.891341 -101.904720,65.891334 -101.915415,65.891319 -101.915497,65.891327 -101.916969,65.891380 -101.922076,65.891792 -101.928174,65.891665 -101.933463,65.891392 -101.937211,65.890407 -101.941349,65.888860 -101.950091,65.885189 -101.955053,65.882482 -101.958635,65.879857 -101.962358,65.876742 -101.962822,65.874860 -101.962824,65.874855 -101.962825,65.874848 -101.963566,65.871896 -101.963567,65.871894 -101.963567,65.871891 -101.964548,65.868010 -101.964873,65.864565 -101.965483,65.863050 -101.966235,65.862251 -101.969806,65.859192 -101.971068,65.858338 -101.972227,65.857805 -101.979696,65.854898 -101.981641,65.854313 -101.982393,65.854163 -101.987345,65.853297 -101.991968,65.852293 -101.994469,65.851607 -101.996928,65.850619 -101.997014,65.850593 -101.997127,65.850541 -102.001304,65.848951 -102.003641,65.847975 -102.003743,65.847943 -102.003904,65.847869 -102.007635,65.846419 -102.009569,65.845837 -102.011752,65.845498 -102.015192,65.845186 -102.015711,65.845160 -102.015896,65.845135 -102.023295,65.844746 -102.023369,65.844744 -102.023387,65.844741 -102.028096,65.844517 -102.033385,65.844031 -102.040310,65.842409 -102.046590,65.840649 -102.051601,65.838005 -102.055952,65.835011 -102.056534,65.834655 -102.056561,65.834633 -102.060997,65.832145 -102.065502,65.829396 -102.068937,65.826123 -102.070642,65.823060 -102.070842,65.822880 -102.070923,65.822631 -102.073434,65.819305 -102.075397,65.817708 -102.075577,65.817643 -102.075685,65.817558 -102.082063,65.814377 -102.084871,65.813407 -102.085237,65.813366 -102.085495,65.813279 -102.089606,65.812524 -102.092700,65.812236 -102.093647,65.812251 -102.098086,65.812434 -102.100912,65.812770 -102.102526,65.813299 -102.102684,65.813237 -102.102868,65.813085 -102.105413,65.812100 -102.111409,65.810506 -102.111848,65.810449 -102.112254,65.810307 -102.118659,65.808992 -102.124124,65.807799 -102.123974,65.807709 -102.119695,65.804558 -102.118782,65.803735 -102.117897,65.801812 -102.118316,65.800157 -102.120186,65.797021 -102.120321,65.796902 -102.120371,65.796742 -102.120998,65.796048 -102.126759,65.790784 -102.127336,65.790380 -102.127599,65.790141 -102.131119,65.787859 -102.131657,65.787367 -102.131420,65.787075 -102.128730,65.785603 -102.124177,65.784639 -102.117407,65.784359 -102.116661,65.784270 -102.115717,65.784212 -102.105957,65.782908 -102.104828,65.782719 -102.104647,65.782660 -102.104460,65.782640 -102.097028,65.780962 -102.094146,65.779975 -102.093234,65.779465 -102.086168,65.774945 -102.082444,65.772844 -102.082405,65.772814 -102.082214,65.772710 -102.077331,65.769757 -102.076818,65.769341 -102.076274,65.768985 -102.073613,65.766607 -102.069953,65.764559 -102.069761,65.764410 -102.069128,65.764032 -102.065911,65.761678 -102.061716,65.758841 -102.061716,65.758841 -102.061716,65.758841 -102.056701,65.755449 -102.052098,65.753563 -102.051430,65.753263 -102.051393,65.753236 -102.051341,65.753219 -102.045375,65.750224 -102.041399,65.748236 -102.039242,65.746656 -102.039193,65.746549 -102.039085,65.746467 -102.036103,65.742675 -102.036012,65.742456 -102.035540,65.741682 -102.034589,65.739029 -102.033939,65.737633 -102.032797,65.736692 -102.031252,65.735709 -102.031107,65.735588 -102.030845,65.735432 -102.027519,65.732998 -102.026758,65.732311 -102.026666,65.732246 -102.025346,65.730819 -102.025322,65.730769 -102.025261,65.730725 -102.024385,65.728803 -102.024678,65.727388 -102.025785,65.725145 -102.026100,65.724626 -102.028102,65.722973 -102.031190,65.721855 -102.034896,65.721440 -102.036619,65.721504 -102.038361,65.721650 -102.037940,65.720463 -102.037785,65.719732 -102.038300,65.717932 -102.040078,65.715254 -102.040148,65.715194 -102.040171,65.715120 -102.041138,65.714140 -102.043915,65.711966 -102.044485,65.711595 -102.044599,65.711494 -102.049185,65.708702 -102.049424,65.708610 -102.049604,65.708463 -102.051438,65.707485 -102.050663,65.706710 -102.047198,65.704791 -102.042206,65.702743 -102.041537,65.702442 -102.041503,65.702418 -102.041457,65.702403 -102.036986,65.700159 -102.036887,65.700087 -102.035507,65.699221 -102.033845,65.697869 -102.027904,65.696477 -102.023544,65.695928 -102.017144,65.695218 -102.015605,65.694978 -102.015605,65.694978 -102.015605,65.694978 -102.011355,65.694115 -102.011115,65.694037 -102.010876,65.694011 -102.008000,65.693336 -102.006921,65.692634 -102.006033,65.685568 -102.009195,65.678884 -102.020358,65.668554 -102.020376,65.668554 -102.029412,65.657953 -102.031512,65.651536 -102.032803,65.646816 -102.032846,65.646728 -102.032859,65.646635 -102.035173,65.639951 -102.035635,65.639082 -102.036097,65.638544 -102.040423,65.634230 -102.040781,65.631194 -102.041033,65.623229 -102.041073,65.623119 -102.041118,65.622644 -102.043177,65.614700 -102.039581,65.597442 -102.040136,65.595148 -102.042128,65.593497 -102.045203,65.592379 -102.048892,65.591964 -102.052635,65.592316 -102.055863,65.593381 -102.058082,65.594997 -102.058907,65.596557 -102.062640,65.614422 -102.062601,65.614585 -102.062691,65.614782 -102.062612,65.615631 -102.060478,65.623887 -102.060236,65.631670 -102.060224,65.631703 -102.060220,65.631894 -102.059727,65.636095 -102.059134,65.637541 -102.058671,65.638079 -102.054082,65.642658 -102.052060,65.648510 -102.050779,65.653207 -102.050747,65.653270 -102.050738,65.653341 -102.048422,65.660433 -102.047944,65.661350 -102.047791,65.661477 -102.047744,65.661605 -102.036983,65.674238 -102.035187,65.675635 -102.032307,65.676679 -102.032013,65.677859 -102.031753,65.678398 -102.031695,65.678636 -102.030631,65.680492 -102.036224,65.681362 -102.037609,65.681419 -102.039404,65.681222 -102.042237,65.680413 -102.048721,65.678429 -102.048749,65.678421 -102.048760,65.678417 -102.053996,65.676832 -102.060824,65.673765 -102.061848,65.673431 -102.062599,65.673136 -102.069136,65.671343 -102.069453,65.671301 -102.069781,65.671182 -102.070615,65.671017 -102.076984,65.669930 -102.081403,65.668436 -102.088044,65.666187 -102.089439,65.665796 -102.091568,65.665460 -102.094978,65.665140 -102.096547,65.665060 -102.099780,65.665315 -102.104001,65.666032 -102.105406,65.666091 -102.105419,65.666089 -102.106873,65.665132 -102.107437,65.664795 -102.110516,65.663676 -102.110568,65.663670 -102.110610,65.663655 -102.117651,65.662106 -102.121255,65.661711 -102.122201,65.661727 -102.124124,65.661806 -102.127510,65.660780 -102.133511,65.658957 -102.133584,65.658938 -102.133609,65.658928 -102.138384,65.657517 -102.139283,65.657283 -102.142980,65.656867 -102.146732,65.657217 -102.148177,65.657581 -102.148508,65.657683 -102.149275,65.657532 -102.150956,65.656294 -102.151420,65.654342 -102.151499,65.654176 -102.151525,65.654000 -102.152927,65.650268 -102.153357,65.646268 -102.153394,65.646176 -102.153413,65.645940 -102.154643,65.640714 -102.154645,65.640710 -102.154646,65.640703 -102.155570,65.636850 -102.155652,65.636678 -102.155678,65.636502 -102.157137,65.632664 -102.157507,65.631986 -102.157518,65.631948 -102.159220,65.629491 -102.159232,65.629482 -102.159235,65.629470 -102.161565,65.626154 -102.162520,65.624159 -102.162621,65.623989 -102.162632,65.623945 -102.164547,65.620588 -102.164716,65.620437 -102.164781,65.620230 -102.167239,65.616889 -102.169202,65.615267 -102.170881,65.614539 -102.175100,65.613105 -102.176492,65.612713 -102.176549,65.612707 -102.176596,65.612690 -102.181867,65.611531 -102.182597,65.611451 -102.185069,65.611144 -102.185855,65.611121 -102.190348,65.609596 -102.195168,65.607951 -102.196571,65.607556 -102.199830,65.607148 -102.209061,65.606852 -102.217596,65.606331 -102.222927,65.605883 -102.227524,65.604452 -102.232384,65.601905 -102.235300,65.600866 -102.235346,65.600861 -102.235384,65.600847 -102.238893,65.600069 -102.238956,65.600062 -102.240377,65.599812 -102.247235,65.598943 -102.249355,65.598801 -102.250284,65.598815 -102.255776,65.599036 -102.258593,65.599371 -102.258836,65.599450 -102.259077,65.599476 -102.263555,65.600525 -102.270431,65.601910 -102.275477,65.602115 -102.281518,65.601936 -102.281978,65.601974 -102.282413,65.601931 -102.292209,65.602109 -102.303301,65.601470 -102.303536,65.601463 -102.303583,65.601456 -102.308562,65.601246 -102.317055,65.600306 -102.318892,65.600197 -102.318997,65.600207 -102.319095,65.600196 -102.324522,65.600203 -102.330056,65.599808 -102.330731,65.599781 -102.330823,65.599769 -102.340378,65.599486 -102.345438,65.599070 -102.353382,65.598307 -102.360620,65.597249 -102.362698,65.596685 -102.362813,65.596670 -102.362938,65.596623 -102.367089,65.595573 -102.370174,65.594514 -102.371578,65.594117 -102.371760,65.594096 -102.371898,65.594047 -102.376559,65.593086 -102.377767,65.592960 -102.379437,65.592747 -102.385585,65.592526 -102.385815,65.592544 -102.386073,65.592515 -102.388346,65.592631 -102.391223,65.592957 -102.396736,65.593361 -102.402163,65.593368 -102.402210,65.593373 -102.402864,65.593382 -102.412743,65.593764 -102.415581,65.594097 -102.415712,65.594140 -102.415853,65.594154 -102.422192,65.595542 -102.422498,65.595646 -102.424055,65.596078 -102.429345,65.598006 -102.430657,65.598405 -102.432462,65.599105 -102.434703,65.600717 -102.435597,65.602577 -102.436320,65.609393 -102.436311,65.609423 -102.436326,65.609453 -102.435746,65.611388 -102.433775,65.613042 -102.430713,65.614165 -102.427026,65.614586 -102.423276,65.614240 -102.421459,65.613758 -102.417580,65.612458 -102.409607,65.610307 -102.404506,65.609945 -102.395357,65.609585 -102.387903,65.609651 -102.383309,65.610473 -102.377382,65.611786 -102.371488,65.613807 -102.370084,65.614204 -102.367793,65.614465 -102.367692,65.614800 -102.367677,65.614813 -102.367673,65.614827 -102.366865,65.615941 -102.364909,65.617568 -102.361844,65.618691 -102.361670,65.618710 -102.361537,65.618757 -102.356890,65.619719 -102.353508,65.620072 -102.351285,65.619961 -102.348035,65.619602 -102.346963,65.619436 -102.346806,65.619423 -102.340412,65.618256 -102.340279,65.618214 -102.340113,65.618198 -102.338926,65.617911 -102.336131,65.617116 -102.332026,65.616959 -102.326269,65.616952 -102.326224,65.616948 -102.326185,65.616952 -102.320179,65.616917 -102.316534,65.617146 -102.307754,65.617907 -102.295921,65.619036 -102.295795,65.619043 -102.295719,65.619054 -102.288363,65.619672 -102.287899,65.619694 -102.287757,65.619713 -102.277646,65.620224 -102.276888,65.620247 -102.276887,65.620247 -102.267432,65.620339 -102.267229,65.620320 -102.267047,65.620338 -102.259302,65.620255 -102.259226,65.620247 -102.259166,65.620253 -102.248658,65.620062 -102.248603,65.620056 -102.248283,65.620051 -102.245177,65.619933 -102.235183,65.620933 -102.226759,65.621878 -102.218251,65.623423 -102.212050,65.624728 -102.211919,65.624742 -102.210847,65.624934 -102.201675,65.626162 -102.200897,65.626217 -102.200412,65.626286 -102.193652,65.626705 -102.192668,65.626740 -102.190454,65.626629 -102.189606,65.626535 -102.189844,65.628294 -102.189797,65.628463 -102.189868,65.628629 -102.189884,65.630933 -102.189848,65.631039 -102.189879,65.631118 -102.189674,65.634322 -102.189436,65.634947 -102.189289,65.635563 -102.187383,65.638920 -102.187346,65.638953 -102.187332,65.639006 -102.185247,65.642446 -102.185829,65.644829 -102.185899,65.645268 -102.185833,65.646077 -102.184912,65.649933 -102.184274,65.652652 -102.184082,65.653060 -102.184027,65.653319 -102.181968,65.657362 -102.181868,65.657526 -102.181859,65.657559 -102.179991,65.660695 -102.179783,65.660880 -102.179706,65.661108 -102.176548,65.665106 -102.174667,65.666617 -102.173845,65.667016 -102.167040,65.669946 -102.164783,65.670667 -102.164570,65.670691 -102.164409,65.670747 -102.156817,65.672273 -102.156817,65.672273 -102.149225,65.673799 -102.149135,65.673808 -102.148565,65.673917 -102.146125,65.674304 -102.136873,65.677050 -102.136500,65.677148 -102.136435,65.677173 -102.131102,65.678569 -102.130859,65.678600 -102.130622,65.678686 -102.128804,65.678990 -102.121365,65.679821 -102.119483,65.679934 -102.119412,65.679927 -102.119345,65.679934 -102.114395,65.679941 -102.104917,65.680567 -102.099850,65.681281 -102.093390,65.682694 -102.093321,65.682701 -102.093269,65.682720 -102.086399,65.684164 -102.082557,65.685792 -102.080345,65.686492 -102.078831,65.686759 -102.075951,65.687131 -102.070418,65.688649 -102.070367,65.688656 -102.070307,65.688679 -102.065530,65.689949 -102.064267,65.690556 -102.064961,65.690861 -102.064961,65.690861 -102.064961,65.690861 -102.068989,65.692631 -102.069185,65.692765 -102.069492,65.692868 -102.073963,65.695118 -102.074136,65.695245 -102.074334,65.695315 -102.078752,65.697787 -102.080516,65.699159 -102.080591,65.699324 -102.080746,65.699444 -102.082853,65.702282 -102.083054,65.702789 -102.083435,65.703489 -102.084260,65.706960 -102.084327,65.707390 -102.084041,65.708798 -102.082943,65.711048 -102.082624,65.711576 -102.081861,65.712391 -102.079054,65.714794 -102.078740,65.715007 -102.078573,65.715166 -102.075100,65.717605 -102.072474,65.720484 -102.072428,65.720519 -102.072315,65.720650 -102.071223,65.721739 -102.071252,65.722531 -102.071245,65.722552 -102.071253,65.722570 -102.071300,65.724638 -102.071250,65.724785 -102.071293,65.724897 -102.071027,65.728323 -102.070929,65.728575 -102.070846,65.729106 -102.069509,65.732547 -102.069416,65.733990 -102.070450,65.735014 -102.072065,65.735719 -102.077299,65.737075 -102.079707,65.737948 -102.079750,65.737979 -102.079810,65.737999 -102.083777,65.739998 -102.085907,65.741563 -102.086788,65.743485 -102.086376,65.745125 -102.085454,65.746689 -102.085313,65.746814 -102.085260,65.746984 -102.084163,65.748064 -102.083996,65.748188 -102.084050,65.748697 -102.084848,65.749558 -102.088548,65.751811 -102.092347,65.753708 -102.097024,65.754745 -102.097819,65.755015 -102.099481,65.755521 -102.103020,65.757039 -102.103204,65.757164 -102.103512,65.757264 -102.105747,65.758881 -102.106169,65.759446 -102.107764,65.762024 -102.107912,65.762459 -102.108130,65.762842 -102.109006,65.765949 -102.109195,65.766425 -102.111591,65.766520 -102.112856,65.766670 -102.113798,65.766741 -102.120573,65.767840 -102.125761,65.768237 -102.126602,65.768246 -102.125509,65.767507 -102.120002,65.765377 -102.119116,65.764991 -102.116879,65.763375 -102.115995,65.761453 -102.116060,65.760658 -102.116434,65.759071 -102.116973,65.757931 -102.118923,65.756304 -102.120222,65.755585 -102.119736,65.753563 -102.119668,65.753129 -102.120271,65.751195 -102.122268,65.749541 -102.123283,65.749063 -102.126358,65.747812 -102.128430,65.747170 -102.132138,65.746754 -102.135903,65.747105 -102.136729,65.747294 -102.139895,65.748111 -102.141218,65.748589 -102.141956,65.748818 -102.146496,65.750832 -102.146634,65.750927 -102.146855,65.751000 -102.147504,65.751347 -102.150433,65.753071 -102.150618,65.753219 -102.151074,65.753490 -102.154401,65.755908 -102.155349,65.756758 -102.155412,65.756895 -102.155546,65.756996 -102.158095,65.760315 -102.158101,65.760329 -102.158113,65.760338 -102.161517,65.764832 -102.161541,65.764891 -102.161742,65.765162 -102.163732,65.768429 -102.166545,65.772863 -102.166605,65.773033 -102.166785,65.773306 -102.168866,65.777966 -102.171167,65.781488 -102.171251,65.781723 -102.171481,65.782085 -102.172886,65.785587 -102.173083,65.786420 -102.172825,65.787777 -102.170530,65.792721 -102.170188,65.793299 -102.168190,65.794953 -102.167865,65.795071 -102.167683,65.795209 -102.161388,65.798162 -102.159593,65.798762 -102.159019,65.798976 -102.153579,65.800288 -102.152870,65.800587 -102.152854,65.800847 -102.154457,65.804193 -102.156114,65.805761 -102.156131,65.805792 -102.156185,65.805829 -102.159359,65.808941 -102.159427,65.809072 -102.159607,65.809202 -102.160495,65.811124 -102.159894,65.813060 -102.158211,65.814532 -102.154298,65.816890 -102.154117,65.816959 -102.153981,65.817071 -102.152718,65.817646 -102.147797,65.819516 -102.146117,65.820016 -102.146040,65.820044 -102.140308,65.821368 -102.135378,65.822635 -102.132627,65.823456 -102.131698,65.824388 -102.131381,65.824618 -102.131052,65.824943 -102.129007,65.826461 -102.128101,65.827036 -102.127300,65.827424 -102.122928,65.829309 -102.120658,65.830033 -102.120641,65.830039 -102.111712,65.832057 -102.105551,65.833929 -102.105501,65.833942 -102.105483,65.833950 -102.101073,65.835265 -102.096878,65.837359 -102.090714,65.840532 -102.088657,65.842278 -102.084383,65.846538 -102.082836,65.847660 -102.082663,65.847722 -102.082560,65.847804 -102.077519,65.850324 -102.071814,65.853272 -102.071203,65.853486 -102.069498,65.854151 -102.063302,65.855827 -102.057000,65.857949 -102.055705,65.858309 -102.055664,65.858324 -102.049720,65.859690 -102.049682,65.859694 -102.049650,65.859706 -102.046839,65.860091 -102.036956,65.860652 -102.031954,65.861423 -102.031497,65.861459 -102.030900,65.861552 -102.030445,65.861595 -102.054913,65.876130 -102.211963,65.874757 -102.243163,65.848863 -102.244328,65.848084 -102.247421,65.846962 -102.248576,65.846745 -102.297606,65.839325 -102.300169,65.839123 -102.303947,65.839471 -102.307211,65.840534 -102.308496,65.841290 -102.337218,65.861908 -102.338188,65.862766 -102.339090,65.864688 -102.338500,65.866624 -102.336507,65.868280 -102.333415,65.869403 -102.329694,65.869823 -102.325911,65.869475 -102.322643,65.868413 -102.321357,65.867656 -102.296796,65.850022 -102.257989,65.855895 -102.225972,65.882473 -102.224805,65.883253 -102.221707,65.884375 -102.217983,65.884792 -102.050981,65.886253 -102.047199,65.885901 -102.047199,65.885901 -102.043940,65.884834 -102.043940,65.884834 -102.043258,65.884467 -102.043258,65.884467 -102.009447,65.864380 -102.008709,65.864627 -102.006922,65.865690 -102.005984,65.867226 -102.005702,65.870244 -102.005466,65.870833 -102.005333,65.871389 -102.003320,65.874975 -102.003150,65.875127 -102.003081,65.875345 -102.002108,65.876326 -101.997989,65.879530 -101.993814,65.882969 -101.993814,65.882970 -101.993808,65.882975 -101.993755,65.883019 -101.993725,65.883043 -101.993391,65.883318 -101.993116,65.883545 -101.992044,65.884428 -101.991109,65.885198 -101.989573,65.886464 -101.989348,65.886613 -101.989092,65.886783 -101.988927,65.886933 -101.981557,65.891663 -101.981028,65.891975 -101.979922,65.892487 -101.973337,65.895086 -101.968718,65.897181 -101.973245,65.897371 -101.975877,65.897685 -101.976022,65.897698 -101.986198,65.899720 -101.986221,65.899727 -101.986247,65.899730 -101.989506,65.900797 -101.991303,65.901970 -101.994523,65.904846 -101.994967,65.905292 -101.995848,65.907215 -101.995233,65.909151 -101.993218,65.910804 -101.990108,65.911924 -101.986377,65.912338 -101.984715,65.912279 -101.979025,65.911828 -101.971786,65.911537 -101.964020,65.911843 -101.963744,65.911822 -101.963424,65.911857 -101.962485,65.911842 -101.952459,65.911430 -101.952142,65.911392 -101.952025,65.911387 -101.951921,65.911439 -101.951009,65.912646 -101.950934,65.912706 -101.949929,65.913686 -101.947861,65.915204 -101.946957,65.915773 -101.943844,65.916891 -101.940112,65.917305 -101.936328,65.916951 -101.935517,65.916765 -101.930221,65.915407 -101.927774,65.914525 -101.925536,65.912905 -101.925510,65.912847 -101.925447,65.912801 -101.923289,65.910192 -101.922502,65.908372 -101.922621,65.907987 -101.919351,65.907952 -101.912024,65.908560 -101.900814,65.910773 -101.894519,65.912269 -101.894414,65.912281 -101.894321,65.912314 -101.893228,65.912519 -101.886208,65.913595 -101.883568,65.913803 -101.883456,65.913792 -101.883350,65.913803 -101.878058,65.913784 -101.871418,65.914388 -101.865239,65.915767 -101.858888,65.917683 -101.851853,65.920411 -101.851783,65.920432 -101.851703,65.920468 -101.841738,65.924176 -101.841501,65.924246 -101.841313,65.924326 -101.836749,65.925839 -101.832444,65.928164 -101.830856,65.929591 -101.829693,65.932469 -101.829100,65.934788 -101.828552,65.935906 -101.826525,65.937558 -101.823406,65.938676 -101.821965,65.938930 -101.816715,65.939624 -101.816423,65.939644 -101.816111,65.939694 -101.811164,65.940178 -101.809271,65.942291 -101.808469,65.942897 -101.807863,65.943424 -101.802537,65.946636 -101.802331,65.946714 -101.802172,65.946844 -101.799050,65.947961 -101.795312,65.948373 -101.794366,65.948356 -101.790247,65.948183 -101.783122,65.950380 -101.781996,65.950678 -101.778835,65.951076 -101.775988,65.951183 -101.775720,65.951162 -101.775411,65.951196 -101.771625,65.950839 -101.769614,65.950289 -101.766889,65.949325 -101.763197,65.949269 -101.758136,65.950174 -101.754198,65.951757 -101.748113,65.954921 -101.747989,65.954964 -101.747919,65.955019 -101.742964,65.957452 -101.738540,65.959895 -101.738484,65.959915 -101.738446,65.959946 -101.736701,65.960684 -101.734475,65.961419 -101.732078,65.963077 -101.731305,65.963547 -101.728450,65.964601 -101.726046,65.965181 -101.725654,65.965227 -101.725337,65.965334 -101.721190,65.966135 -101.719414,65.967058 -101.719263,65.967111 -101.717772,65.967742 -101.714295,65.968889 -101.714427,65.968970 -101.716304,65.970419 -101.717106,65.971166 -101.717970,65.973091 -101.717336,65.975027 -101.715300,65.976678 -101.712172,65.977794 -101.711085,65.977997 -101.704034,65.979073 -101.701378,65.979280 -101.699296,65.979181 -101.695443,65.978785 -101.693736,65.978526 -101.691906,65.978038 -101.687252,65.976466 -101.686412,65.976122 -101.686191,65.976054 -101.683937,65.975051 -101.682284,65.976974 -101.680430,65.978396 -101.677301,65.979511 -101.673557,65.979921 -101.672600,65.979904 -101.665328,65.979591 -101.665111,65.979565 -101.662847,65.980382 -101.661124,65.980877 -101.657380,65.981287 -101.656438,65.981270 -101.651094,65.981044 -101.644377,65.980935 -101.638077,65.981810 -101.634971,65.982669 -101.634909,65.986444 -101.634266,65.988191 -101.634111,65.988316 -101.634063,65.988442 -101.630012,65.993080 -101.628174,65.994480 -101.628077,65.994515 -101.628017,65.994563 -101.623454,65.996890 -101.620478,65.997922 -101.616731,65.998331 -101.613210,65.998025 -101.609975,65.997422 -101.609855,65.997384 -101.609705,65.997369 -101.606449,65.996297 -101.604406,65.994873 -101.599965,65.990298 -101.597609,65.988735 -101.592984,65.987922 -101.583667,65.987516 -101.576550,65.988086 -101.568540,65.989595 -101.565292,65.989901 -101.564336,65.989883 -101.558186,65.989616 -101.555353,65.989274 -101.553180,65.988663 -101.547534,65.986572 -101.547423,65.986524 -101.547363,65.986507 -101.542300,65.984547 -101.533950,65.983440 -101.522546,65.982031 -101.521927,65.981930 -101.521769,65.981918 -101.512582,65.980369 -101.512332,65.980291 -101.511995,65.980259 -101.504801,65.978785 -101.500119,65.978575 -101.499637,65.978517 -101.498835,65.978474 -101.488969,65.977352 -101.487442,65.977111 -101.484463,65.976166 -101.478939,65.973633 -101.478834,65.973559 -101.478669,65.973504 -101.476693,65.972139 -101.473824,65.969262 -101.472541,65.968256 -101.471307,65.967863 -101.464911,65.966805 -101.464647,65.966724 -101.464284,65.966689 -101.461037,65.965615 -101.460386,65.965261 -101.457472,65.963522 -101.457283,65.963368 -101.456826,65.963093 -101.454852,65.961626 -101.448656,65.959832 -101.441458,65.957932 -101.439086,65.957061 -101.438462,65.956723 -101.435540,65.954991 -101.434674,65.954290 -101.434159,65.953931 -101.430289,65.949972 -101.426735,65.946747 -101.426324,65.947077 -101.423189,65.948189 -101.419445,65.948595 -101.418507,65.948577 -101.415305,65.948439 -101.411373,65.948549 -101.404857,65.949923 -101.396954,65.952684 -101.395330,65.953141 -101.392297,65.953529 -101.387154,65.953750 -101.386831,65.953725 -101.386442,65.953767 -101.382661,65.953405 -101.379418,65.952329 -101.378236,65.951628 -101.375459,65.949643 -101.373155,65.951576 -101.372779,65.952353 -101.373304,65.953511 -101.373558,65.954535 -101.373492,65.954728 -101.373550,65.954888 -101.373284,65.957871 -101.372635,65.959453 -101.370581,65.961101 -101.367441,65.962213 -101.365850,65.962483 -101.361775,65.962979 -101.359621,65.963114 -101.355838,65.962751 -101.354086,65.962169 -101.352057,65.963024 -101.345122,65.967718 -101.344372,65.968167 -101.342892,65.968809 -101.335392,65.971449 -101.333731,65.971918 -101.331095,65.972284 -101.324777,65.972689 -101.323665,65.972727 -101.322688,65.972707 -101.320167,65.972593 -101.313332,65.972873 -101.306400,65.973409 -101.298038,65.974265 -101.290302,65.975700 -101.282887,65.977571 -101.276201,65.979895 -101.270980,65.982762 -101.270120,65.983991 -101.268866,65.988470 -101.268044,65.991421 -101.267923,65.991655 -101.267882,65.991861 -101.266441,65.994996 -101.266034,65.995666 -101.263971,65.997314 -101.260824,65.998424 -101.257072,65.998828 -101.253286,65.998463 -101.252113,65.998176 -101.247413,65.996825 -101.245343,65.996035 -101.245300,65.996004 -101.245240,65.995983 -101.238827,65.992707 -101.233270,65.991147 -101.225425,65.988961 -101.223240,65.988138 -101.223086,65.988025 -101.222892,65.987957 -101.216034,65.984195 -101.215884,65.984078 -101.215164,65.983647 -101.212815,65.981938 -101.211828,65.981041 -101.210998,65.979114 -101.211095,65.978292 -101.211538,65.976705 -101.212109,65.975592 -101.214173,65.973945 -101.217320,65.972835 -101.221069,65.972433 -101.223336,65.972556 -101.229075,65.973219 -101.229889,65.972708 -101.230430,65.972397 -101.230630,65.972326 -101.230750,65.972235 -101.235968,65.969718 -101.238793,65.968769 -101.239602,65.968613 -101.244213,65.967842 -101.253031,65.965537 -101.261629,65.962948 -101.270051,65.959821 -101.270714,65.959629 -101.270954,65.959535 -101.270025,65.958397 -101.269256,65.956548 -101.269920,65.954614 -101.270696,65.953814 -101.274359,65.950762 -101.275642,65.949915 -101.278783,65.948804 -101.278802,65.948802 -101.278817,65.948797 -101.286083,65.947216 -101.289990,65.946055 -101.290469,65.945420 -101.289402,65.945482 -101.285623,65.945118 -101.282385,65.944041 -101.280394,65.942648 -101.276885,65.939047 -101.276828,65.938929 -101.276673,65.938814 -101.275839,65.936888 -101.276164,65.935485 -101.278599,65.930778 -101.278937,65.930246 -101.279085,65.930128 -101.279132,65.930008 -101.282421,65.926262 -101.282459,65.926234 -101.282618,65.926052 -101.286533,65.922100 -101.288198,65.920901 -101.288505,65.920792 -101.288680,65.920662 -101.292588,65.918856 -101.299552,65.914310 -101.301336,65.913075 -101.299535,65.912341 -101.289322,65.909529 -101.288887,65.909366 -101.288249,65.909187 -101.281477,65.906711 -101.278481,65.905821 -101.274410,65.906533 -101.274217,65.906550 -101.273644,65.906649 -101.268379,65.907328 -101.266098,65.907479 -101.262324,65.907115 -101.260054,65.906460 -101.260022,65.906447 -101.259391,65.908286 -101.257334,65.909933 -101.254196,65.911043 -101.250455,65.911446 -101.247623,65.911248 -101.241966,65.910410 -101.234263,65.910963 -101.233003,65.911012 -101.231103,65.910926 -101.221771,65.910034 -101.219897,65.909754 -101.218541,65.909411 -101.213077,65.907754 -101.211714,65.907497 -101.209689,65.908069 -101.208919,65.909902 -101.208470,65.910668 -101.206410,65.912315 -101.205459,65.912756 -101.202919,65.913786 -101.200729,65.914455 -101.196986,65.914857 -101.194716,65.914732 -101.191435,65.914351 -101.189931,65.914110 -101.188318,65.913686 -101.186959,65.913245 -101.179395,65.913538 -101.179099,65.913515 -101.178749,65.913552 -101.175258,65.913242 -101.167231,65.911732 -101.167105,65.911691 -101.166948,65.911676 -101.163718,65.910597 -101.161524,65.908971 -101.160699,65.907045 -101.160707,65.907021 -101.160697,65.906999 -101.160615,65.903314 -101.160634,65.903259 -101.160755,65.902583 -101.157505,65.902932 -101.155170,65.902799 -101.146181,65.901719 -101.141357,65.901290 -101.134522,65.900966 -101.122865,65.900424 -101.122862,65.900424 -101.122855,65.900424 -101.115361,65.900072 -101.110434,65.899994 -101.109016,65.900291 -101.109382,65.900455 -101.109418,65.900482 -101.109470,65.900499 -101.114895,65.903276 -101.116998,65.904858 -101.117820,65.906785 -101.117720,65.907609 -101.116310,65.912591 -101.115737,65.913701 -101.115196,65.914291 -101.113764,65.915620 -101.114573,65.916263 -101.118890,65.918071 -101.119540,65.918368 -101.119723,65.918504 -101.119948,65.918584 -101.125304,65.921590 -101.127089,65.923000 -101.127379,65.923384 -101.129753,65.926940 -101.129784,65.927030 -101.129958,65.927286 -101.130599,65.928528 -101.134183,65.930052 -101.134769,65.930323 -101.134987,65.930484 -101.135246,65.930577 -101.139617,65.933080 -101.141335,65.934452 -101.141832,65.935183 -101.143290,65.938006 -101.143618,65.939201 -101.143596,65.939653 -101.143174,65.942769 -101.143681,65.943878 -101.146952,65.945869 -101.150376,65.947405 -101.150523,65.947507 -101.150762,65.947587 -101.152718,65.948952 -101.155801,65.952080 -101.155865,65.952211 -101.156042,65.952342 -101.156868,65.954269 -101.156197,65.956203 -101.154130,65.957850 -101.150983,65.958959 -101.147283,65.959360 -101.141370,65.959402 -101.143409,65.962441 -101.143703,65.963285 -101.143928,65.963759 -101.144075,65.964905 -101.147192,65.964162 -101.147337,65.964146 -101.147470,65.964099 -101.151219,65.963697 -101.154999,65.964063 -101.155047,65.964079 -101.155101,65.964085 -101.162028,65.965557 -101.165161,65.966614 -101.167126,65.967985 -101.170202,65.971113 -101.170264,65.971242 -101.170436,65.971369 -101.171263,65.973296 -101.170602,65.975219 -101.168068,65.978557 -101.166995,65.980462 -101.167208,65.980678 -101.171381,65.982202 -101.180424,65.984057 -101.180429,65.984059 -101.180434,65.984059 -101.183672,65.985138 -101.184953,65.985915 -101.188227,65.988356 -101.189147,65.989205 -101.189215,65.989362 -101.189361,65.989477 -101.192620,65.993986 -101.192722,65.994260 -101.193105,65.994922 -101.194312,65.998652 -101.194443,65.999372 -101.194428,65.999777 -101.194065,66.002916 -101.194502,66.007001 -101.194476,66.007082 -101.194514,66.007170 -101.194137,66.008662 -101.193008,66.010676 -101.192716,66.011118 -101.190647,66.012766 -101.187496,66.013875 -101.185750,66.014162 -101.182828,66.014490 -101.180818,66.014606 -101.179227,66.014548 -101.172039,66.013983 -101.169843,66.013675 -101.168788,66.013421 -101.160906,66.011223 -101.160138,66.010934 -101.159450,66.010728 -101.157490,66.009927 -101.157214,66.010624 -101.155149,66.012268 -101.153143,66.013329 -101.153139,66.013330 -101.153137,66.013332 -101.149984,66.014441 -101.146228,66.014842 -101.142441,66.014476 -101.142343,66.014443 -101.142235,66.014432 -101.136909,66.013265 -101.136674,66.013184 -101.135022,66.012721 -101.133825,66.012282 -101.125505,66.012067 -101.125097,66.012021 -101.123909,66.011958 -101.116752,66.011165 -101.115147,66.010913 -101.113981,66.010626 -101.103535,66.007620 -101.102106,66.007073 -101.101710,66.006946 -101.096216,66.004390 -101.096120,66.004321 -101.095969,66.004271 -101.095177,66.003827 -101.090859,66.001103 -101.089454,65.999919 -101.089024,65.999309 -101.087148,65.996006 -101.086755,65.994688 -101.087288,65.992954 -101.087323,65.992902 -101.085960,65.992139 -101.085718,65.991948 -101.084934,65.991458 -101.083080,65.989985 -101.082316,65.989253 -101.081494,65.987326 -101.082170,65.985391 -101.082555,65.984954 -101.084943,65.982551 -101.085156,65.982399 -101.085485,65.982073 -101.085890,65.981757 -101.085142,65.981049 -101.084768,65.980655 -101.084686,65.980464 -101.084516,65.980329 -101.081717,65.976292 -101.081573,65.975887 -101.081229,65.975250 -101.080442,65.972167 -101.076548,65.968973 -101.075860,65.968302 -101.075316,65.967472 -101.073204,65.963009 -101.073068,65.962472 -101.072964,65.962261 -101.072324,65.958561 -101.072369,65.958402 -101.072287,65.958211 -101.072390,65.957382 -101.073299,65.954216 -101.073517,65.953796 -101.073580,65.953553 -101.075847,65.949532 -101.076140,65.949091 -101.076684,65.948499 -101.078763,65.946575 -101.078374,65.946420 -101.077525,65.946042 -101.075333,65.944415 -101.075322,65.944388 -101.075292,65.944366 -101.071944,65.940299 -101.071165,65.938421 -101.071236,65.938218 -101.071177,65.938052 -101.071422,65.935738 -101.071214,65.935380 -101.070456,65.935036 -101.065006,65.934158 -101.060153,65.933727 -101.059414,65.933620 -101.059017,65.933591 -101.052523,65.932599 -101.051647,65.932442 -101.048807,65.931546 -101.044817,65.929753 -101.044670,65.929650 -101.044429,65.929569 -101.042240,65.927941 -101.041422,65.926014 -101.042100,65.924080 -101.043103,65.923107 -101.044537,65.922023 -101.045605,65.921352 -101.048752,65.920244 -101.052497,65.919844 -101.054887,65.919985 -101.059800,65.920592 -101.062356,65.920609 -101.062371,65.920606 -101.062589,65.920112 -101.060916,65.914866 -101.059368,65.912146 -101.056541,65.911572 -101.056241,65.911473 -101.055940,65.911438 -101.051202,65.910286 -101.048516,65.909328 -101.048315,65.909179 -101.048073,65.909092 -101.043228,65.906337 -101.042503,65.905759 -101.041743,65.905229 -101.039122,65.902585 -101.036494,65.899940 -101.036424,65.899796 -101.036228,65.899651 -101.035412,65.897724 -101.035742,65.896784 -101.033764,65.897144 -101.030583,65.897431 -101.029639,65.897412 -101.024084,65.897160 -101.024063,65.897157 -101.023999,65.897156 -101.020548,65.896984 -101.012378,65.897427 -101.012334,65.897428 -101.012321,65.897430 -101.005453,65.897781 -101.004562,65.897805 -101.004417,65.897791 -101.004284,65.897804 -100.991922,65.897674 -100.991814,65.897663 -100.990840,65.897632 -100.981027,65.896969 -100.972266,65.897526 -100.961709,65.898564 -100.954847,65.899349 -100.954484,65.899370 -100.954205,65.899410 -100.941517,65.900410 -100.929261,65.901376 -100.924407,65.901987 -100.924159,65.902003 -100.923893,65.902044 -100.918536,65.902563 -100.911673,65.904050 -100.911662,65.904051 -100.910566,65.904250 -100.899959,65.905806 -100.897343,65.905999 -100.895822,65.905944 -100.887558,65.905311 -100.887510,65.905304 -100.887438,65.905301 -100.882318,65.904876 -100.882306,65.904901 -100.881893,65.906303 -100.882766,65.907816 -100.883107,65.908960 -100.883168,65.909100 -100.883306,65.911432 -100.884238,65.912627 -100.886421,65.914161 -100.890432,65.915304 -100.895420,65.916128 -100.895703,65.916216 -100.896101,65.916255 -100.897939,65.916757 -100.902554,65.918359 -100.903937,65.918939 -100.905356,65.919833 -100.908103,65.922030 -100.908865,65.922764 -100.909673,65.924692 -100.908986,65.926625 -100.906908,65.928270 -100.903754,65.929375 -100.900006,65.929773 -100.899014,65.929751 -100.889544,65.929293 -100.888879,65.929210 -100.887996,65.929154 -100.879846,65.928070 -100.878971,65.927922 -100.878873,65.927913 -100.869259,65.926074 -100.869144,65.926037 -100.869001,65.926023 -100.866337,65.925199 -100.865221,65.924718 -100.864544,65.927019 -100.863963,65.928122 -100.861882,65.929766 -100.860914,65.930211 -100.858342,65.931241 -100.856155,65.931901 -100.852406,65.932298 -100.848634,65.931928 -100.847477,65.931641 -100.844540,65.930789 -100.844518,65.930794 -100.843279,65.931621 -100.842230,65.932097 -100.836485,65.934348 -100.834378,65.934976 -100.831151,65.935364 -100.825451,65.935540 -100.825207,65.935519 -100.824927,65.935549 -100.821156,65.935177 -100.817936,65.934094 -100.817140,65.933643 -100.812867,65.930912 -100.812636,65.930714 -100.812248,65.930469 -100.809310,65.928114 -100.805738,65.926454 -100.803526,65.925631 -100.800556,65.924989 -100.797732,65.925298 -100.795747,65.925409 -100.794185,65.925350 -100.787066,65.924786 -100.781877,65.924699 -100.776955,65.925413 -100.772558,65.927205 -100.768105,65.930514 -100.763405,65.935940 -100.761664,65.938210 -100.760079,65.940428 -100.760072,65.940434 -100.760069,65.940441 -100.758826,65.942166 -100.758760,65.942219 -100.758736,65.942287 -100.757818,65.943187 -100.755598,65.944911 -100.754662,65.945505 -100.754575,65.945575 -100.751882,65.947048 -100.751796,65.947079 -100.751734,65.947127 -100.748573,65.948230 -100.744820,65.948626 -100.743875,65.948605 -100.741082,65.948476 -100.738255,65.948123 -100.735475,65.947247 -100.731988,65.945691 -100.731825,65.945575 -100.731550,65.945483 -100.730273,65.944695 -100.727054,65.942246 -100.726159,65.941403 -100.725436,65.940033 -100.724423,65.935852 -100.724383,65.935552 -100.724363,65.935508 -100.723914,65.931350 -100.723946,65.931249 -100.723900,65.931136 -100.724305,65.929638 -100.726002,65.926708 -100.725469,65.926596 -100.722277,65.925516 -100.722055,65.925350 -100.721792,65.925254 -100.717459,65.922736 -100.715773,65.921368 -100.714977,65.919440 -100.715037,65.919276 -100.714988,65.919136 -100.715100,65.917919 -100.713818,65.917552 -100.713056,65.917781 -100.709961,65.918107 -100.710078,65.918388 -100.710186,65.921837 -100.710183,65.921846 -100.710187,65.921854 -100.709486,65.923787 -100.707519,65.925365 -100.704803,65.926837 -100.704731,65.926863 -100.704681,65.926902 -100.701520,65.928005 -100.697769,65.928400 -100.694000,65.928027 -100.693123,65.927817 -100.685828,65.925849 -100.683492,65.924973 -100.682705,65.924526 -100.679071,65.922199 -100.675431,65.920649 -100.672146,65.919916 -100.672080,65.919907 -100.666507,65.920309 -100.665193,65.920358 -100.663546,65.920292 -100.656946,65.919735 -100.655338,65.919502 -100.655073,65.919477 -100.651225,65.918734 -100.651099,65.918889 -100.649054,65.920472 -100.646408,65.921453 -100.643356,65.922224 -100.643097,65.922255 -100.642840,65.922345 -100.640401,65.922580 -100.639089,65.922739 -100.638928,65.922723 -100.638779,65.922737 -100.633498,65.922665 -100.627218,65.923179 -100.618164,65.925527 -100.617862,65.925564 -100.617552,65.925672 -100.614489,65.926051 -100.609354,65.926250 -100.609041,65.926224 -100.608665,65.926264 -100.607668,65.926240 -100.597100,65.925714 -100.596947,65.925694 -100.596582,65.925681 -100.588310,65.925040 -100.588261,65.925033 -100.588187,65.925030 -100.581580,65.924474 -100.574439,65.923879 -100.572292,65.923569 -100.569083,65.922483 -100.567800,65.921686 -100.564726,65.919323 -100.560317,65.920021 -100.555025,65.920890 -100.552083,65.921129 -100.548814,65.920850 -100.543457,65.919896 -100.543447,65.919893 -100.543431,65.919891 -100.538082,65.918930 -100.537917,65.918877 -100.537694,65.918855 -100.530262,65.917337 -100.530224,65.917324 -100.530179,65.917320 -100.526973,65.916233 -100.525380,65.915181 -100.521351,65.911641 -100.516433,65.908617 -100.511849,65.906224 -100.511687,65.906099 -100.511496,65.906029 -100.507050,65.903452 -100.502175,65.901141 -100.496880,65.898872 -100.496787,65.898829 -100.496764,65.898822 -100.490891,65.896225 -100.489331,65.895728 -100.487208,65.896398 -100.485874,65.896750 -100.483834,65.897061 -100.477439,65.897656 -100.475730,65.897737 -100.474717,65.897712 -100.472433,65.897595 -100.469716,65.898648 -100.467614,65.899268 -100.465106,65.899616 -100.459345,65.900006 -100.458103,65.900049 -100.455407,65.899860 -100.450546,65.899158 -100.449480,65.898970 -100.446278,65.897882 -100.444126,65.896249 -100.443462,65.895044 -100.443043,65.893639 -100.442953,65.893668 -100.441593,65.894027 -100.439652,65.894328 -100.434997,65.894786 -100.433219,65.894874 -100.433132,65.895021 -100.433309,65.896746 -100.434220,65.900775 -100.434265,65.901152 -100.434280,65.901186 -100.434480,65.904184 -100.434469,65.904216 -100.434483,65.904251 -100.434614,65.907471 -100.434602,65.907504 -100.434616,65.907537 -100.433897,65.909469 -100.432623,65.910618 -100.429778,65.912541 -100.428948,65.913032 -100.425778,65.914131 -100.422025,65.914522 -100.420304,65.914447 -100.419194,65.914347 -100.421457,65.916508 -100.421858,65.916938 -100.422149,65.917338 -100.422905,65.918529 -100.423390,65.920058 -100.422670,65.921989 -100.420564,65.923630 -100.418760,65.924368 -100.417784,65.924678 -100.416111,65.926873 -100.416077,65.926901 -100.416064,65.926934 -100.415670,65.927371 -100.413221,65.929774 -100.412994,65.929934 -100.412648,65.930267 -100.409035,65.932999 -100.408682,65.933283 -100.408970,65.933519 -100.413308,65.937064 -100.418678,65.940884 -100.418789,65.940985 -100.418943,65.941082 -100.423686,65.944816 -100.427152,65.947064 -100.430340,65.948567 -100.431722,65.948888 -100.432277,65.948794 -100.435295,65.948545 -100.436324,65.948571 -100.441885,65.948861 -100.444625,65.949212 -100.446631,65.949781 -100.451704,65.951642 -100.452905,65.952161 -100.455063,65.953794 -100.455076,65.953828 -100.455113,65.953856 -100.457967,65.957449 -100.457967,65.957450 -100.457967,65.957450 -100.460086,65.960117 -100.463099,65.961692 -100.463349,65.961884 -100.464801,65.962890 -100.466526,65.964576 -100.466876,65.964956 -100.467656,65.966885 -100.467537,65.967712 -100.466561,65.970886 -100.465963,65.971991 -100.465001,65.972917 -100.461309,65.975717 -100.461301,65.975721 -100.461297,65.975726 -100.458828,65.977590 -100.458014,65.980231 -100.457864,65.983419 -100.459242,65.985704 -100.459266,65.985783 -100.459384,65.985964 -100.460430,65.988092 -100.460729,65.989285 -100.460609,65.990110 -100.459916,65.992369 -100.459316,65.993476 -100.458029,65.994633 -100.455168,65.996556 -100.454347,65.997040 -100.451824,65.997938 -100.449479,65.999928 -100.448060,66.000863 -100.447830,66.000942 -100.447692,66.001044 -100.445045,66.002280 -100.444236,66.002544 -100.442983,66.003018 -100.442431,66.003166 -100.442241,66.003521 -100.441870,66.004082 -100.439760,66.005723 -100.437928,66.006468 -100.435410,66.007262 -100.435403,66.007263 -100.435400,66.007265 -100.433434,66.007883 -100.436516,66.009313 -100.436636,66.009399 -100.436831,66.009465 -100.438368,66.010470 -100.441505,66.013155 -100.442128,66.013784 -100.442908,66.015714 -100.442866,66.015825 -100.442902,66.015925 -100.442751,66.018221 -100.442035,66.019943 -100.442001,66.019970 -100.441990,66.020000 -100.441082,66.021106 -100.439016,66.022691 -100.435834,66.023791 -100.433820,66.024098 -100.433600,66.024119 -100.434212,66.024641 -100.434499,66.025033 -100.436026,66.027413 -100.436089,66.027610 -100.436340,66.028033 -100.436959,66.029673 -100.437137,66.030592 -100.436668,66.032169 -100.435555,66.033946 -100.435381,66.034093 -100.435303,66.034302 -100.433190,66.035944 -100.431848,66.036523 -100.427361,66.038133 -100.425520,66.038653 -100.425401,66.038665 -100.425307,66.038697 -100.421690,66.039422 -100.418134,66.039769 -100.414353,66.039391 -100.411138,66.038302 -100.411101,66.038274 -100.411048,66.038256 -100.409094,66.037241 -100.408315,66.036644 -100.407292,66.035886 -100.407984,66.036864 -100.408456,66.038209 -100.408574,66.038494 -100.408690,66.041714 -100.408680,66.041742 -100.408691,66.041770 -100.408571,66.042593 -100.407820,66.045027 -100.407631,66.047258 -100.406917,66.048937 -100.405564,66.050134 -100.401994,66.052476 -100.401230,66.052920 -100.399381,66.053670 -100.396214,66.054662 -100.394877,66.055011 -100.393734,66.055215 -100.388995,66.055894 -100.388281,66.055945 -100.387582,66.056041 -100.377730,66.056681 -100.376516,66.056722 -100.376485,66.056719 -100.376454,66.056722 -100.372703,66.056715 -100.368780,66.057032 -100.363976,66.058792 -100.361244,66.060440 -100.360966,66.060544 -100.360730,66.060726 -100.358121,66.061690 -100.351331,66.063414 -100.351031,66.063450 -100.350728,66.063554 -100.347153,66.064313 -100.345120,66.065709 -100.344573,66.066371 -100.344644,66.068350 -100.344958,66.070148 -100.346693,66.074020 -100.349230,66.077823 -100.349317,66.078086 -100.349633,66.078650 -100.351624,66.084949 -100.352814,66.088626 -100.354735,66.090602 -100.354801,66.090745 -100.354992,66.090889 -100.355637,66.092030 -100.357073,66.096478 -100.357204,66.097268 -100.357142,66.097434 -100.357190,66.097575 -100.356705,66.102113 -100.358915,66.105556 -100.363307,66.109838 -100.367440,66.112456 -100.367639,66.112626 -100.368030,66.112871 -100.372628,66.116475 -100.377432,66.119214 -100.377521,66.119286 -100.377971,66.119549 -100.381252,66.121777 -100.381403,66.121912 -100.381638,66.122058 -100.386658,66.125995 -100.386975,66.126299 -100.387132,66.126408 -100.390627,66.129810 -100.390983,66.130194 -100.391728,66.131737 -100.391919,66.132897 -100.391867,66.133071 -100.391953,66.133285 -100.391227,66.135219 -100.389103,66.136860 -100.387483,66.137418 -100.394740,66.137023 -100.395758,66.136994 -100.399551,66.137373 -100.402441,66.138300 -100.406920,66.140360 -100.407047,66.140451 -100.407256,66.140522 -100.409425,66.142156 -100.410201,66.143947 -100.410408,66.146945 -100.410384,66.147013 -100.410414,66.147086 -100.410289,66.147923 -100.409375,66.150822 -100.410024,66.152329 -100.411737,66.154092 -100.414781,66.156311 -100.416569,66.157405 -100.418726,66.158194 -100.419443,66.157914 -100.419570,66.157876 -100.419750,66.157799 -100.424235,66.156181 -100.426117,66.155650 -100.429901,66.155259 -100.429935,66.155262 -100.429968,66.155259 -100.434530,66.155266 -100.434589,66.155272 -100.436375,66.155358 -100.441341,66.155846 -100.443225,66.156132 -100.444695,66.156514 -100.449890,66.158155 -100.451650,66.158861 -100.453063,66.159755 -100.455795,66.161952 -100.456540,66.162677 -100.456548,66.162683 -100.457815,66.164202 -100.457817,66.164207 -100.457822,66.164211 -100.458608,66.166142 -100.457884,66.168076 -100.455763,66.169719 -100.452565,66.170820 -100.451250,66.171047 -100.442902,66.172161 -100.440431,66.172325 -100.440278,66.172310 -100.440136,66.172323 -100.434783,66.172251 -100.427614,66.172825 -100.421711,66.173761 -100.420669,66.173842 -100.419697,66.173966 -100.415065,66.174187 -100.414174,66.174209 -100.410376,66.173831 -100.407145,66.172742 -100.407101,66.172708 -100.407037,66.172687 -100.404184,66.171203 -100.398449,66.169073 -100.395381,66.168327 -100.385558,66.167035 -100.378162,66.166659 -100.371655,66.166502 -100.366874,66.167252 -100.361831,66.168153 -100.355038,66.170080 -100.354046,66.170325 -100.350259,66.170715 -100.346462,66.170336 -100.343234,66.169246 -100.342632,66.168913 -100.336422,66.165159 -100.336221,66.164992 -100.335719,66.164679 -100.329530,66.159889 -100.325587,66.158573 -100.324031,66.157931 -100.323987,66.157897 -100.323925,66.157876 -100.318538,66.155068 -100.316480,66.153487 -100.316195,66.153098 -100.314670,66.150717 -100.314554,66.150351 -100.314264,66.149806 -100.313586,66.147176 -100.310972,66.145418 -100.306141,66.143721 -100.304776,66.143144 -100.303354,66.142237 -100.299746,66.139299 -100.299005,66.138571 -100.298231,66.136639 -100.298271,66.136158 -100.298494,66.134900 -100.296275,66.134948 -100.295873,66.135023 -100.292133,66.137844 -100.291362,66.138705 -100.290493,66.142676 -100.292488,66.146745 -100.292490,66.146752 -100.292497,66.146763 -100.293863,66.149593 -100.294151,66.150776 -100.294025,66.151605 -100.293598,66.152956 -100.292990,66.154060 -100.290860,66.155701 -100.287658,66.156799 -100.283871,66.157188 -100.280077,66.156808 -100.278602,66.156422 -100.276007,66.155598 -100.274637,66.155045 -100.274429,66.154976 -100.269953,66.152815 -100.269426,66.153222 -100.266223,66.154320 -100.265330,66.154484 -100.261574,66.155075 -100.260842,66.157377 -100.260611,66.161393 -100.260602,66.161415 -100.260609,66.161433 -100.260442,66.163722 -100.259712,66.165444 -100.257579,66.167085 -100.256806,66.167441 -100.254838,66.168258 -100.252406,66.168999 -100.248617,66.169388 -100.245301,66.169100 -100.239906,66.168131 -100.239701,66.168065 -100.239427,66.168038 -100.237079,66.167340 -100.228487,66.163907 -100.227613,66.163513 -100.226740,66.163007 -100.223095,66.160589 -100.220355,66.158909 -100.220097,66.158691 -100.219567,66.158353 -100.217076,66.156317 -100.214055,66.154248 -100.212858,66.153178 -100.212090,66.151246 -100.212829,66.149313 -100.214964,66.147673 -100.218167,66.146575 -100.218563,66.146535 -100.218843,66.146446 -100.224967,66.145405 -100.224910,66.145021 -100.225279,66.143635 -100.226638,66.141170 -100.227007,66.140624 -100.229139,66.138983 -100.232342,66.137886 -100.233880,66.137632 -100.236391,66.137330 -100.236442,66.135631 -100.237178,66.133796 -100.239310,66.132156 -100.242511,66.131058 -100.243245,66.130919 -100.247456,66.130217 -100.248331,66.130145 -100.248448,66.129777 -100.249058,66.128669 -100.251188,66.127029 -100.253699,66.126094 -100.259298,66.124635 -100.262203,66.122206 -100.263721,66.120511 -100.263821,66.120437 -100.263851,66.120372 -100.266565,66.117570 -100.261337,66.116152 -100.261333,66.116150 -100.261321,66.116147 -100.256086,66.114720 -100.255127,66.114358 -100.254335,66.114112 -100.248338,66.111510 -100.248132,66.111366 -100.247770,66.111243 -100.247078,66.110854 -100.244172,66.109037 -100.242235,66.108855 -100.241478,66.108741 -100.241097,66.108712 -100.232421,66.107338 -100.231583,66.107184 -100.228367,66.106093 -100.228321,66.106058 -100.228255,66.106035 -100.222899,66.103228 -100.220856,66.101649 -100.220849,66.101632 -100.220830,66.101618 -100.217169,66.097063 -100.216428,66.095163 -100.217165,66.093230 -100.219295,66.091590 -100.220569,66.091038 -100.224429,66.089635 -100.226352,66.089089 -100.230131,66.088701 -100.232557,66.088853 -100.244572,66.090394 -100.245930,66.090623 -100.246811,66.090835 -100.253257,66.092586 -100.260017,66.092779 -100.263945,66.092399 -100.260675,66.091645 -100.257763,66.090621 -100.255606,66.088985 -100.255244,66.088465 -100.253225,66.084980 -100.252128,66.083704 -100.251462,66.083554 -100.246175,66.084612 -100.245067,66.084719 -100.242999,66.084954 -100.236712,66.085092 -100.236521,66.085074 -100.236309,66.085096 -100.234564,66.084899 -100.232525,66.084715 -100.232314,66.084644 -100.232097,66.084619 -100.224696,66.082849 -100.223704,66.082495 -100.222357,66.082067 -100.216942,66.079636 -100.211953,66.078809 -100.200237,66.078401 -100.200174,66.078393 -100.199907,66.078387 -100.190979,66.077921 -100.188215,66.077566 -100.187101,66.077289 -100.180341,66.075328 -100.178243,66.074513 -100.176092,66.072877 -100.175329,66.070945 -100.175457,66.070120 -100.176175,66.067862 -100.176786,66.066755 -100.178917,66.065115 -100.182113,66.064019 -100.183258,66.063816 -100.189208,66.062970 -100.191838,66.062785 -100.193544,66.062859 -100.204158,66.063802 -100.211944,66.062777 -100.217056,66.060161 -100.219074,66.058076 -100.219423,66.056988 -100.218525,66.054588 -100.218349,66.053659 -100.219086,66.051727 -100.220163,66.050725 -100.223124,66.048588 -100.223529,66.048342 -100.223643,66.048246 -100.226445,66.046554 -100.227292,66.044952 -100.227686,66.044357 -100.228700,66.043401 -100.233911,66.039548 -100.234752,66.039031 -100.234840,66.038961 -100.239510,66.036425 -100.240023,66.035618 -100.239666,66.035134 -100.239032,66.033373 -100.239158,66.032548 -100.240089,66.029593 -100.240431,66.027171 -100.239590,66.024260 -100.236691,66.022186 -100.232864,66.021064 -100.230807,66.020261 -100.228657,66.018626 -100.228641,66.018587 -100.228600,66.018555 -100.225786,66.014962 -100.225575,66.014409 -100.225083,66.013260 -100.224816,66.009396 -100.224031,66.007766 -100.220714,66.008803 -100.219374,66.009153 -100.216498,66.009519 -100.211269,66.009767 -100.206937,66.010792 -100.204516,66.012338 -100.203519,66.013893 -100.203598,66.014166 -100.204850,66.016148 -100.205329,66.017684 -100.204593,66.019617 -100.203889,66.020328 -100.201570,66.022274 -100.200148,66.023201 -100.196957,66.024298 -100.196111,66.024456 -100.190724,66.025318 -100.187800,66.025547 -100.187672,66.025534 -100.187551,66.025546 -100.181905,66.025477 -100.178378,66.025097 -100.176546,66.024589 -100.170434,66.022437 -100.169061,66.021854 -100.166915,66.020218 -100.166876,66.020119 -100.166780,66.020043 -100.165201,66.017884 -100.164575,66.016128 -100.164873,66.014882 -100.166522,66.011525 -100.166963,66.010839 -100.168095,66.009799 -100.172621,66.006598 -100.174850,66.004017 -100.174606,66.001847 -100.173560,65.999927 -100.172518,65.998432 -100.171944,65.996749 -100.172380,65.995249 -100.173586,65.993243 -100.173888,65.992811 -100.174952,65.991819 -100.176425,65.990751 -100.177485,65.990104 -100.180673,65.989008 -100.184439,65.988621 -100.185446,65.988647 -100.188161,65.988788 -100.186291,65.986593 -100.186275,65.986554 -100.186229,65.986519 -100.185838,65.985945 -100.184588,65.983676 -100.183623,65.982543 -100.183606,65.982503 -100.183560,65.982468 -100.182799,65.980537 -100.183536,65.978606 -100.185659,65.976967 -100.188845,65.975871 -100.191944,65.975496 -100.197101,65.975313 -100.197403,65.975338 -100.197765,65.975301 -100.200311,65.975470 -100.200479,65.975493 -100.199738,65.973618 -100.199793,65.973474 -100.199750,65.973349 -100.199995,65.970831 -100.200719,65.969169 -100.201424,65.968455 -100.204514,65.965861 -100.205930,65.964936 -100.207762,65.964194 -100.210770,65.963249 -100.212007,65.962208 -100.214000,65.959000 -100.214121,65.958830 -100.214129,65.958807 -100.216022,65.956138 -100.216821,65.954585 -100.215709,65.951744 -100.215703,65.951715 -100.215688,65.951690 -100.214476,65.948409 -100.214430,65.948162 -100.214366,65.948036 -100.213576,65.944450 -100.211702,65.944303 -100.210629,65.944149 -100.210112,65.944107 -100.204206,65.943108 -100.203929,65.943020 -100.203539,65.942981 -100.200342,65.941890 -100.198200,65.940255 -100.198155,65.940140 -100.198045,65.940053 -100.195464,65.936456 -100.192495,65.933258 -100.187860,65.929315 -100.187748,65.929268 -100.186659,65.930062 -100.185590,65.930717 -100.182409,65.931813 -100.179555,65.932178 -100.174961,65.932399 -100.174057,65.932421 -100.170294,65.932039 -100.167099,65.930948 -100.165932,65.930229 -100.161496,65.926915 -100.161379,65.928873 -100.160647,65.930636 -100.159820,65.931449 -100.156036,65.934463 -100.154742,65.935288 -100.154185,65.935485 -100.154388,65.935640 -100.155146,65.937570 -100.155073,65.937763 -100.155124,65.937922 -100.154736,65.940890 -100.154020,65.942469 -100.151898,65.944108 -100.151669,65.944186 -100.151532,65.944286 -100.148920,65.945500 -100.145596,65.948938 -100.142989,65.951917 -100.140989,65.953408 -100.139157,65.954150 -100.135388,65.955332 -100.134034,65.955686 -100.130272,65.956073 -100.129268,65.956047 -100.127446,65.955952 -100.127225,65.959481 -100.127203,65.959534 -100.127217,65.959577 -100.126966,65.962094 -100.126239,65.963757 -100.125844,65.964188 -100.123381,65.966584 -100.121649,65.967790 -100.118461,65.968886 -100.114698,65.969272 -100.110930,65.968889 -100.109101,65.968380 -100.106057,65.967304 -100.104690,65.966721 -100.103155,65.965706 -100.102413,65.965058 -100.101530,65.965150 -100.099581,65.965251 -100.095815,65.964868 -100.092619,65.963776 -100.090482,65.962140 -100.089736,65.960418 -100.089386,65.956260 -100.089420,65.956161 -100.089377,65.956051 -100.090080,65.954170 -100.093733,65.949483 -100.093137,65.948222 -100.092989,65.947591 -100.092879,65.947349 -100.092846,65.947081 -100.092177,65.947291 -100.090821,65.947646 -100.087059,65.948031 -100.084498,65.947858 -100.076371,65.946736 -100.075169,65.946527 -100.071976,65.945434 -100.069841,65.943798 -100.069288,65.942873 -100.067413,65.938174 -100.067357,65.937893 -100.066939,65.938978 -100.064889,65.940576 -100.060128,65.943078 -100.060083,65.943094 -100.060051,65.943118 -100.056864,65.944213 -100.053102,65.944598 -100.052907,65.944578 -100.052731,65.944594 -100.045977,65.944464 -100.045758,65.944440 -100.044536,65.944382 -100.039057,65.943855 -100.037107,65.943558 -100.034968,65.942933 -100.033818,65.942490 -100.032565,65.942670 -100.023866,65.943356 -100.022373,65.943415 -100.020567,65.943329 -100.015073,65.942803 -100.013117,65.942505 -100.009927,65.941411 -100.009877,65.941373 -100.009805,65.941347 -100.008300,65.940547 -100.008279,65.940564 -100.007367,65.940977 -100.002804,65.942801 -100.002682,65.942837 -100.002484,65.942924 -100.000357,65.943704 -99.999743,65.944247 -100.000029,65.946414 -99.999911,65.946783 -100.000022,65.947143 -99.999587,65.950035 -99.999786,65.952514 -99.999752,65.952612 -99.999794,65.952721 -99.999045,65.954652 -99.998203,65.955472 -99.994381,65.958486 -99.994245,65.958572 -99.994150,65.958660 -99.990307,65.961429 -99.988112,65.964036 -99.988223,65.964436 -99.990944,65.966781 -99.993879,65.968825 -99.995046,65.969886 -99.995400,65.970402 -99.997561,65.974194 -99.997810,65.975089 -99.997948,65.975410 -99.998055,65.976806 -99.998022,65.976901 -99.998063,65.977005 -99.997313,65.978936 -99.995684,65.980295 -99.992869,65.981973 -99.992595,65.982075 -99.992364,65.982252 -99.989170,65.983346 -99.986024,65.983720 -99.979322,65.983937 -99.976715,65.984394 -99.973803,65.985879 -99.971246,65.989653 -99.970896,65.989940 -99.970749,65.990257 -99.966485,65.994621 -99.966261,65.994781 -99.965790,65.995224 -99.963275,65.997095 -99.963247,65.997181 -99.963332,65.997714 -99.963346,65.997898 -99.963356,65.997922 -99.963401,65.998508 -99.963820,65.999086 -99.966023,66.000430 -99.967585,66.001747 -99.968332,66.003679 -99.967603,66.005582 -99.966278,66.007247 -99.966050,66.009150 -99.965931,66.009414 -99.965773,66.010067 -99.964019,66.013653 -99.963599,66.014304 -99.963591,66.014325 -99.961661,66.016759 -99.961640,66.016776 -99.961633,66.016795 -99.959494,66.018432 -99.956481,66.019485 -99.954032,66.020034 -99.953933,66.020045 -99.953845,66.020075 -99.950072,66.020458 -99.946301,66.020073 -99.944456,66.019557 -99.939886,66.017932 -99.938535,66.017353 -99.936402,66.015716 -99.936324,66.015514 -99.936152,66.015371 -99.932774,66.010130 -99.932621,66.009642 -99.932321,66.009019 -99.932002,66.007276 -99.930850,66.007579 -99.930112,66.007754 -99.926341,66.008137 -99.926171,66.008119 -99.926016,66.008134 -99.919812,66.008027 -99.919656,66.008010 -99.918548,66.007963 -99.917999,66.007917 -99.918698,66.009731 -99.917942,66.011662 -99.917724,66.011829 -99.917650,66.011989 -99.915190,66.014499 -99.915093,66.015891 -99.916009,66.016484 -99.921703,66.017780 -99.922430,66.018036 -99.924244,66.018618 -99.931156,66.021761 -99.931316,66.021876 -99.931586,66.021969 -99.933719,66.023607 -99.934193,66.024355 -99.936186,66.028604 -99.936458,66.029788 -99.935703,66.031719 -99.935660,66.031753 -99.935644,66.031790 -99.933783,66.033988 -99.931701,66.035554 -99.928498,66.036647 -99.926209,66.036973 -99.917464,66.037652 -99.915978,66.037709 -99.912205,66.037323 -99.911000,66.037016 -99.900676,66.033919 -99.900216,66.033736 -99.899707,66.033587 -99.887144,66.028710 -99.879937,66.026598 -99.879889,66.026579 -99.879783,66.026552 -99.872322,66.024272 -99.864849,66.022858 -99.858821,66.021881 -99.856521,66.021564 -99.849075,66.020710 -99.847446,66.020446 -99.844254,66.019350 -99.842460,66.018083 -99.840759,66.016374 -99.840425,66.016002 -99.839752,66.014672 -99.839059,66.011643 -99.839001,66.011116 -99.834140,66.011142 -99.834083,66.011137 -99.834024,66.011143 -99.830255,66.010756 -99.827431,66.009839 -99.823502,66.008015 -99.823364,66.007915 -99.823136,66.007836 -99.821010,66.006197 -99.820272,66.004265 -99.820413,66.003431 -99.820940,66.001852 -99.821561,66.000755 -99.823706,65.999120 -99.823790,65.999091 -99.823027,65.998492 -99.822289,65.996560 -99.823050,65.994629 -99.823426,65.994220 -99.825592,65.992114 -99.823036,65.990748 -99.821038,65.989176 -99.821011,65.989104 -99.820938,65.989046 -99.818993,65.986414 -99.818356,65.984612 -99.819118,65.982681 -99.821262,65.981046 -99.822590,65.980478 -99.827083,65.978876 -99.828955,65.978352 -99.832724,65.977971 -99.836489,65.978357 -99.836705,65.978432 -99.836927,65.978457 -99.843412,65.980035 -99.846711,65.980469 -99.852993,65.980101 -99.854121,65.980069 -99.857886,65.980455 -99.857903,65.980461 -99.857922,65.980463 -99.867976,65.982629 -99.868019,65.982644 -99.869907,65.983184 -99.876880,65.985754 -99.877840,65.985934 -99.878310,65.984518 -99.878928,65.983424 -99.881069,65.981788 -99.881227,65.981734 -99.881326,65.981661 -99.884544,65.980131 -99.884683,65.979148 -99.885414,65.977572 -99.887554,65.975936 -99.890752,65.974844 -99.891512,65.974701 -99.895700,65.974015 -99.898290,65.973808 -99.898607,65.973775 -99.905955,65.973740 -99.908738,65.973554 -99.908949,65.972497 -99.909653,65.971073 -99.909870,65.970907 -99.909944,65.970747 -99.911661,65.968993 -99.913508,65.967682 -99.916704,65.966589 -99.920470,65.966206 -99.924234,65.966592 -99.924556,65.966702 -99.924865,65.966740 -99.930602,65.968212 -99.931002,65.968360 -99.931971,65.968638 -99.933382,65.969162 -99.934197,65.968758 -99.934277,65.968731 -99.935351,65.968266 -99.936609,65.967809 -99.936344,65.967390 -99.934011,65.962439 -99.933736,65.961248 -99.933874,65.960412 -99.935141,65.956567 -99.935538,65.955862 -99.935602,65.955675 -99.938762,65.951242 -99.938941,65.951099 -99.939014,65.950924 -99.940532,65.949172 -99.937797,65.949592 -99.934952,65.950287 -99.932578,65.952262 -99.931154,65.953185 -99.927961,65.954278 -99.926383,65.954536 -99.917502,65.955571 -99.912186,65.956525 -99.909572,65.957790 -99.905035,65.960824 -99.899938,65.964401 -99.898942,65.964997 -99.895746,65.966089 -99.894582,65.966293 -99.888645,65.967125 -99.886043,65.967303 -99.882279,65.966917 -99.879092,65.965822 -99.876966,65.964184 -99.876225,65.962253 -99.876366,65.961414 -99.877398,65.958312 -99.877112,65.954654 -99.872732,65.955099 -99.870812,65.955195 -99.867050,65.954809 -99.864885,65.954171 -99.861562,65.952878 -99.858172,65.952696 -99.855421,65.952337 -99.852236,65.951241 -99.850113,65.949603 -99.850073,65.949499 -99.849973,65.949419 -99.848433,65.947259 -99.847834,65.945513 -99.847860,65.945214 -99.844997,65.945434 -99.838501,65.946828 -99.840434,65.947939 -99.842187,65.949377 -99.842559,65.949930 -99.845025,65.954431 -99.845391,65.955809 -99.844632,65.957740 -99.842491,65.959375 -99.841588,65.959784 -99.837017,65.961607 -99.834723,65.962291 -99.830956,65.962672 -99.827194,65.962285 -99.824009,65.961189 -99.823955,65.961148 -99.823879,65.961121 -99.817117,65.957501 -99.810375,65.955442 -99.806020,65.954339 -99.803409,65.953376 -99.802495,65.952832 -99.801775,65.952336 -99.800762,65.953972 -99.800462,65.954392 -99.798318,65.956027 -99.795120,65.957118 -99.792668,65.957455 -99.784746,65.957996 -99.776817,65.959749 -99.776739,65.959758 -99.776669,65.959781 -99.772902,65.960162 -99.771193,65.960084 -99.764608,65.959481 -99.762555,65.959172 -99.759373,65.958075 -99.757255,65.956436 -99.757223,65.956351 -99.757140,65.956285 -99.753662,65.951493 -99.753528,65.951106 -99.753075,65.950128 -99.753031,65.949840 -99.749409,65.949467 -99.746561,65.948533 -99.740215,65.945550 -99.738950,65.945411 -99.730871,65.944967 -99.723863,65.944798 -99.720543,65.944415 -99.718630,65.943755 -99.718231,65.944759 -99.716084,65.946393 -99.715864,65.946468 -99.715731,65.946565 -99.713053,65.947801 -99.710205,65.948720 -99.706438,65.949099 -99.704738,65.949021 -99.698671,65.948466 -99.688361,65.948108 -99.680784,65.948122 -99.680718,65.948116 -99.680651,65.948122 -99.676133,65.948099 -99.672447,65.947711 -99.669270,65.946613 -99.667157,65.944973 -99.666687,65.944215 -99.666039,65.942788 -99.665783,65.941614 -99.666554,65.939685 -99.668703,65.938051 -99.670584,65.937301 -99.674963,65.935955 -99.673879,65.935973 -99.673577,65.935945 -99.673267,65.935974 -99.667643,65.935890 -99.667462,65.935870 -99.667317,65.935882 -99.657801,65.935577 -99.656338,65.935402 -99.655091,65.935290 -99.649765,65.934305 -99.649446,65.934201 -99.649053,65.934157 -99.644247,65.933043 -99.643183,65.933174 -99.642390,65.933693 -99.641571,65.934165 -99.638369,65.935254 -99.634603,65.935633 -99.634568,65.935629 -99.634534,65.935633 -99.630017,65.935610 -99.626329,65.935220 -99.624626,65.934748 -99.619064,65.932817 -99.617593,65.932191 -99.616200,65.931278 -99.612683,65.928326 -99.611968,65.927598 -99.611246,65.925667 -99.611525,65.924696 -99.605704,65.924364 -99.603004,65.924004 -99.602883,65.923963 -99.602750,65.923948 -99.596316,65.922453 -99.587868,65.921976 -99.585156,65.921616 -99.581985,65.920517 -99.581927,65.920472 -99.581846,65.920444 -99.577078,65.917865 -99.575111,65.916298 -99.575057,65.916153 -99.574926,65.916045 -99.573435,65.913822 -99.572533,65.914213 -99.566887,65.917387 -99.560555,65.921484 -99.559763,65.921938 -99.559746,65.921943 -99.559735,65.921952 -99.553571,65.925057 -99.550394,65.926131 -99.550284,65.926142 -99.550194,65.926171 -99.544738,65.927247 -99.541172,65.927584 -99.537418,65.927193 -99.534248,65.926093 -99.532513,65.924864 -99.529569,65.921927 -99.529355,65.921687 -99.528547,65.922236 -99.525342,65.923324 -99.523922,65.923559 -99.516617,65.924464 -99.522182,65.926906 -99.522785,65.927194 -99.524349,65.928260 -99.528652,65.932189 -99.528766,65.932310 -99.528819,65.932347 -99.531764,65.935277 -99.532138,65.935694 -99.532658,65.936581 -99.533872,65.939648 -99.534069,65.940693 -99.533289,65.942622 -99.531945,65.943788 -99.529023,65.945688 -99.528210,65.946155 -99.528068,65.946203 -99.527978,65.946268 -99.525947,65.947233 -99.525664,65.948596 -99.526252,65.949884 -99.526346,65.950313 -99.526472,65.950581 -99.526994,65.953550 -99.528407,65.957035 -99.528612,65.958103 -99.527843,65.960019 -99.525913,65.962377 -99.525905,65.962383 -99.525902,65.962390 -99.523742,65.964023 -99.520533,65.965111 -99.516761,65.965487 -99.513003,65.965096 -99.509829,65.963996 -99.509626,65.963837 -99.509377,65.963744 -99.503914,65.960489 -99.503790,65.960736 -99.502133,65.962094 -99.497860,65.964604 -99.497588,65.964704 -99.497357,65.964878 -99.494146,65.965966 -99.491239,65.966324 -99.488008,65.966463 -99.487818,65.966563 -99.487738,65.966591 -99.487682,65.966633 -99.484471,65.967720 -99.480698,65.968097 -99.479617,65.968064 -99.477691,65.967950 -99.470615,65.968997 -99.467840,65.969195 -99.464728,65.968929 -99.459419,65.968005 -99.451163,65.967123 -99.449712,65.967038 -99.449534,65.967548 -99.448903,65.968634 -99.448679,65.968803 -99.448601,65.968965 -99.444245,65.973321 -99.442855,65.974293 -99.442514,65.974555 -99.441329,65.975177 -99.440119,65.977034 -99.440195,65.980793 -99.440120,65.980988 -99.440176,65.981166 -99.439552,65.986201 -99.438784,65.987861 -99.436618,65.989493 -99.433599,65.990537 -99.426213,65.992177 -99.426109,65.992188 -99.426015,65.992220 -99.422239,65.992595 -99.418478,65.992202 -99.416834,65.991748 -99.412782,65.990360 -99.411254,65.989712 -99.410097,65.988984 -99.406520,65.986245 -99.405576,65.985330 -99.404866,65.983398 -99.404942,65.983214 -99.404895,65.983060 -99.405664,65.977984 -99.404990,65.975994 -99.403121,65.976625 -99.402115,65.976804 -99.395423,65.977788 -99.388992,65.980857 -99.385976,65.981844 -99.382201,65.982219 -99.381170,65.982189 -99.376721,65.981937 -99.373993,65.981573 -99.372408,65.981139 -99.370691,65.980559 -99.370683,65.980583 -99.371719,65.984218 -99.371822,65.985003 -99.371030,65.986932 -99.370802,65.987104 -99.370723,65.987267 -99.368099,65.989877 -99.366236,65.991173 -99.363017,65.992259 -99.359240,65.992633 -99.355480,65.992239 -99.355145,65.992123 -99.354824,65.992083 -99.348071,65.990313 -99.345557,65.989367 -99.343460,65.987724 -99.343444,65.987679 -99.343398,65.987643 -99.340936,65.984335 -99.335294,65.978996 -99.334818,65.978477 -99.334194,65.977250 -99.333527,65.974605 -99.330915,65.974864 -99.329892,65.974834 -99.324887,65.974551 -99.322152,65.974187 -99.318985,65.973084 -99.317026,65.971607 -99.312198,65.966022 -99.312164,65.965937 -99.312062,65.965857 -99.311603,65.965101 -99.310816,65.963326 -99.309549,65.962474 -99.307224,65.961968 -99.300416,65.961403 -99.295910,65.961690 -99.294857,65.961953 -99.294854,65.961970 -99.296621,65.964808 -99.299332,65.968122 -99.302573,65.969882 -99.312266,65.973174 -99.313838,65.973838 -99.315782,65.975299 -99.319819,65.979923 -99.319857,65.980016 -99.319969,65.980104 -99.320673,65.982037 -99.320388,65.983185 -99.318730,65.986639 -99.319358,65.988514 -99.321378,65.991653 -99.322790,65.992417 -99.326772,65.994097 -99.327260,65.994326 -99.327318,65.994346 -99.332635,65.996955 -99.332716,65.997016 -99.332846,65.997061 -99.334943,65.998704 -99.335603,66.000091 -99.336001,66.002189 -99.336046,66.002735 -99.335502,66.004333 -99.333604,66.007138 -99.336115,66.008704 -99.337223,66.009663 -99.250325,65.996888 -99.251432,65.993935 -99.251370,65.993493 -99.251286,65.993201 -99.247901,65.990194 -99.247385,65.989649 -99.247347,65.989619 -99.245548,65.987409 -99.241963,65.983924 -99.241812,65.983756 -99.241769,65.983724 -99.239970,65.981769 -99.236999,65.980149 -99.235405,65.979741 -99.232449,65.979565 -99.226748,65.979423 -99.221228,65.979702 -99.213797,65.980167 -99.212539,65.980205 -99.210907,65.980129 -99.203765,65.979488 -99.201641,65.979167 -99.198478,65.978063 -99.198250,65.977884 -99.197979,65.977781 -99.193791,65.975225 -99.192202,65.973863 -99.192149,65.973715 -99.192016,65.973604 -99.190181,65.970806 -99.186358,65.967648 -99.181707,65.964863 -99.180058,65.963464 -99.180015,65.963342 -99.179903,65.963250 -99.177310,65.959412 -99.176772,65.957693 -99.177576,65.955764 -99.179754,65.954135 -99.180392,65.953841 -99.183733,65.952429 -99.186317,65.951640 -99.188644,65.951319 -99.193884,65.950937 -99.195331,65.950887 -99.197662,65.951039 -99.203071,65.951738 -99.210389,65.951806 -99.210091,65.951204 -99.207620,65.949360 -99.203737,65.947461 -99.199168,65.945476 -99.194473,65.943556 -99.189176,65.942475 -99.188404,65.942894 -99.188250,65.942948 -99.188132,65.943036 -99.184912,65.944119 -99.181139,65.944491 -99.180055,65.944456 -99.177277,65.944288 -99.174610,65.943926 -99.171800,65.942995 -99.167924,65.941156 -99.167735,65.941015 -99.167437,65.940908 -99.163180,65.938581 -99.162620,65.938129 -99.161399,65.937209 -99.157784,65.933074 -99.157743,65.932973 -99.157621,65.932876 -99.157345,65.932470 -99.155942,65.930082 -99.155526,65.928555 -99.155690,65.927711 -99.156583,65.925232 -99.157224,65.924148 -99.158671,65.922927 -99.163051,65.920188 -99.163781,65.919780 -99.165283,65.919159 -99.171080,65.917206 -99.172796,65.916744 -99.174929,65.916438 -99.181352,65.915904 -99.182989,65.915839 -99.185324,65.915992 -99.188558,65.916411 -99.189971,65.916655 -99.193127,65.917759 -99.193172,65.917795 -99.193239,65.917818 -99.194776,65.918652 -99.196824,65.919545 -99.197086,65.919670 -99.197134,65.919686 -99.201002,65.921525 -99.201130,65.921621 -99.201343,65.921695 -99.202742,65.922626 -99.203569,65.923337 -99.204167,65.923582 -99.204743,65.923849 -99.204822,65.923875 -99.209644,65.926240 -99.209787,65.926349 -99.210005,65.926427 -99.214644,65.928955 -99.219630,65.930367 -99.224481,65.931137 -99.228256,65.931240 -99.231059,65.930619 -99.231135,65.930611 -99.231205,65.930588 -99.235492,65.929680 -99.235638,65.929665 -99.235759,65.929626 -99.237333,65.929319 -99.238539,65.928679 -99.237517,65.927527 -99.236710,65.927008 -99.231206,65.925450 -99.228959,65.924573 -99.226873,65.922930 -99.226807,65.922747 -99.226651,65.922614 -99.224843,65.919745 -99.224370,65.918128 -99.225169,65.916200 -99.227226,65.914630 -99.230010,65.913181 -99.230078,65.913157 -99.230127,65.913121 -99.233342,65.912038 -99.237110,65.911665 -99.238193,65.911700 -99.242625,65.911967 -99.243652,65.912106 -99.244484,65.912174 -99.250892,65.913235 -99.251697,65.913388 -99.254208,65.914182 -99.255105,65.914574 -99.259210,65.912525 -99.261254,65.911496 -99.264465,65.910413 -99.268232,65.910040 -99.271809,65.910399 -99.276561,65.911376 -99.276638,65.911402 -99.276733,65.911412 -99.279891,65.912515 -99.281444,65.913581 -99.282256,65.914329 -99.284075,65.913858 -99.284809,65.913686 -99.288112,65.913318 -99.290965,65.913257 -99.291182,65.913277 -99.291429,65.913252 -99.295178,65.913647 -99.297037,65.914180 -99.300043,65.915278 -99.301343,65.915848 -99.302900,65.916916 -99.305036,65.918885 -99.305232,65.919095 -99.305299,65.919144 -99.307352,65.921326 -99.307500,65.921668 -99.307851,65.921966 -99.309660,65.924842 -99.309676,65.924897 -99.309809,65.925102 -99.310926,65.927272 -99.312733,65.929247 -99.315477,65.931454 -99.315731,65.931707 -99.319178,65.930745 -99.320178,65.930502 -99.321354,65.930299 -99.324916,65.929811 -99.327510,65.929640 -99.327643,65.929654 -99.327769,65.929642 -99.332846,65.929725 -99.336033,65.929592 -99.340000,65.929064 -99.345846,65.927447 -99.346809,65.927214 -99.347070,65.927188 -99.347269,65.927125 -99.352105,65.926255 -99.355414,65.925970 -99.357603,65.926103 -99.361402,65.926561 -99.361596,65.926593 -99.361617,65.926533 -99.360496,65.923693 -99.360301,65.922635 -99.361092,65.920707 -99.361827,65.919987 -99.364200,65.918057 -99.365630,65.917146 -99.368221,65.916203 -99.371951,65.915264 -99.372255,65.915229 -99.372571,65.915122 -99.376337,65.914748 -99.380087,65.915141 -99.382379,65.915840 -99.384355,65.916648 -99.385226,65.917051 -99.385806,65.917382 -99.386538,65.917839 -99.387355,65.917280 -99.391721,65.914032 -99.393830,65.912314 -99.393567,65.912299 -99.388031,65.911971 -99.385357,65.911611 -99.382195,65.910509 -99.382152,65.910476 -99.382091,65.910454 -99.380191,65.909432 -99.378202,65.907845 -99.377496,65.905912 -99.378285,65.903984 -99.379355,65.903008 -99.380851,65.901940 -99.381943,65.901285 -99.385151,65.900199 -99.388077,65.899841 -99.392669,65.899650 -99.393074,65.899643 -99.393125,65.899637 -99.402225,65.899477 -99.402409,65.899494 -99.402613,65.899474 -99.410977,65.899496 -99.416973,65.899443 -99.423787,65.898880 -99.425323,65.898292 -99.426820,65.896882 -99.428562,65.895694 -99.430455,65.894943 -99.435343,65.893452 -99.437277,65.892569 -99.439041,65.890800 -99.440899,65.889499 -99.440919,65.889492 -99.440933,65.889482 -99.442985,65.888452 -99.446155,65.887383 -99.449917,65.887008 -99.453665,65.887400 -99.456633,65.888402 -99.456837,65.888503 -99.460364,65.886424 -99.463104,65.884181 -99.463772,65.883754 -99.464034,65.883539 -99.467469,65.881520 -99.471312,65.879085 -99.473843,65.877012 -99.475410,65.875314 -99.475648,65.875141 -99.476400,65.874466 -99.481604,65.870857 -99.482600,65.870267 -99.485801,65.869180 -99.485921,65.869168 -99.486018,65.869136 -99.491465,65.868068 -99.495007,65.867736 -99.496063,65.867768 -99.501575,65.868087 -99.504939,65.868272 -99.505699,65.868230 -99.509128,65.865421 -99.510552,65.864508 -99.513751,65.863421 -99.517510,65.863044 -99.520063,65.863224 -99.522764,65.863605 -99.523955,65.863817 -99.525273,65.864164 -99.528836,65.865285 -99.528901,65.865312 -99.529009,65.865341 -99.534075,65.867012 -99.535181,65.867473 -99.535462,65.867566 -99.539192,65.869356 -99.540114,65.868552 -99.543029,65.866645 -99.543850,65.866172 -99.547048,65.865084 -99.550806,65.864707 -99.553570,65.864917 -99.558391,65.865657 -99.559373,65.865838 -99.561861,65.866617 -99.564325,65.867677 -99.565002,65.867998 -99.565060,65.868043 -99.565143,65.868073 -99.568477,65.869881 -99.568545,65.869935 -99.569399,65.870462 -99.572100,65.872453 -99.572158,65.872508 -99.572159,65.872508 -99.573017,65.872351 -99.583757,65.870665 -99.586658,65.870445 -99.590405,65.870835 -99.592477,65.871444 -99.595971,65.872786 -99.597065,65.873276 -99.599169,65.874916 -99.599889,65.876847 -99.599488,65.878239 -99.598085,65.880688 -99.597921,65.880925 -99.598775,65.880375 -99.599542,65.879937 -99.602740,65.878848 -99.603073,65.878815 -99.603317,65.878737 -99.609320,65.877692 -99.612502,65.877425 -99.616250,65.877815 -99.618699,65.878664 -99.618647,65.878525 -99.618692,65.878076 -99.619372,65.874437 -99.619512,65.874152 -99.619635,65.873666 -99.621421,65.870080 -99.621886,65.869371 -99.622906,65.868424 -99.628163,65.864579 -99.629289,65.863893 -99.631874,65.862946 -99.635582,65.862007 -99.635881,65.861972 -99.636191,65.861866 -99.639948,65.861488 -99.641946,65.861597 -99.644391,65.861863 -99.644893,65.861533 -99.645718,65.860083 -99.647384,65.856798 -99.647734,65.856266 -99.647753,65.856216 -99.650798,65.852249 -99.650858,65.852203 -99.650881,65.852145 -99.653025,65.850512 -99.653690,65.850202 -99.658954,65.847967 -99.661481,65.847188 -99.665235,65.846809 -99.666252,65.846838 -99.672339,65.847174 -99.675067,65.847534 -99.678234,65.848631 -99.679116,65.849158 -99.680948,65.850416 -99.682171,65.851529 -99.682896,65.853460 -99.682749,65.854302 -99.681903,65.856789 -99.681783,65.856999 -99.681736,65.857186 -99.680043,65.860544 -99.680014,65.860588 -99.680007,65.860613 -99.678584,65.863278 -99.677811,65.865567 -99.677244,65.868481 -99.678365,65.871199 -99.679357,65.872733 -99.679998,65.873080 -99.680348,65.872767 -99.680348,65.872767 -99.681905,65.871377 -99.682523,65.869550 -99.682524,65.869549 -99.682524,65.869549 -99.683363,65.867071 -99.684511,65.863668 -99.684994,65.860701 -99.685048,65.860589 -99.685106,65.860256 -99.686614,65.855801 -99.686872,65.853561 -99.686919,65.853456 -99.686997,65.853002 -99.687638,65.851088 -99.687746,65.849384 -99.687777,65.849310 -99.687758,65.849250 -99.687992,65.847220 -99.687580,65.845678 -99.685686,65.843604 -99.684033,65.842388 -99.679916,65.840391 -99.679772,65.840283 -99.679554,65.840206 -99.676693,65.838665 -99.676345,65.838388 -99.674985,65.837404 -99.672910,65.835222 -99.672842,65.835068 -99.672639,65.834910 -99.672371,65.834005 -99.671916,65.832980 -99.672002,65.832763 -99.671950,65.832588 -99.672470,65.829391 -99.672716,65.828875 -99.672901,65.828275 -99.675382,65.824277 -99.675683,65.823856 -99.675829,65.823745 -99.675881,65.823630 -99.678529,65.820785 -99.678529,65.820784 -99.678529,65.820784 -99.681177,65.817939 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-99.267123,65.927473 -99.268406,65.929636 -99.268411,65.929654 -99.268450,65.929713 -99.269321,65.931269 -99.270070,65.931574 -99.273694,65.932524 -99.277811,65.932938 -99.277983,65.932965 -99.278145,65.932975 -99.279093,65.933088 -99.277394,65.931863 -99.273744,65.930105 -99.273740,65.930102 -99.273733,65.930099 -99.270202,65.928393 -99.267123,65.927473 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-99.593116,65.884490 -99.592711,65.884751 -99.591939,65.885193 -99.591155,65.885551 -99.585248,65.887976 -99.584262,65.889190 -99.584251,65.889197 -99.584248,65.889206 -99.583364,65.890015 -99.587329,65.890124 -99.587652,65.889906 -99.590698,65.886827 -99.590719,65.886812 -99.590784,65.886743 -99.593116,65.884490 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-99.798329,65.829342 -99.797372,65.829963 -99.797343,65.829980 -99.797334,65.829988 -99.794665,65.831699 -99.794910,65.831992 -99.796491,65.832400 -99.797866,65.832582 -99.797693,65.831440 -99.797664,65.831032 -99.798329,65.829342 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-99.826836,65.784024 -99.828328,65.787242 -99.828596,65.788429 -99.828178,65.789871 -99.826874,65.792099 -99.826536,65.792585 -99.826074,65.793079 -99.822817,65.796123 -99.821149,65.797264 -99.821018,65.797309 -99.820935,65.797370 -99.816243,65.799636 -99.816204,65.799649 -99.815854,65.799814 -99.812566,65.801241 -99.809987,65.802047 -99.806241,65.802428 -99.804115,65.802306 -99.797059,65.801490 -99.796483,65.801457 -99.794647,65.802030 -99.793816,65.803658 -99.793480,65.804168 -99.793463,65.804215 -99.792119,65.805982 -99.792111,65.807238 -99.793621,65.808724 -99.796336,65.810640 -99.799958,65.813109 -99.799987,65.813135 -99.800054,65.813176 -99.803243,65.815427 -99.804390,65.816483 -99.804539,65.816752 -99.807699,65.814849 -99.808234,65.814552 -99.811416,65.813461 -99.815164,65.813080 -99.815206,65.813085 -99.815247,65.813081 -99.819747,65.813103 -99.820754,65.813210 -99.820969,65.811535 -99.821123,65.811198 -99.821305,65.810518 -99.822748,65.807840 -99.823147,65.807245 -99.825278,65.805611 -99.825286,65.805608 -99.825291,65.805604 -99.829365,65.803522 -99.829599,65.803442 -99.832337,65.802480 -99.834771,65.801931 -99.834874,65.801920 -99.834966,65.801888 -99.837847,65.801526 -99.842416,65.801320 -99.843281,65.801301 -99.846007,65.801502 -99.849976,65.802099 -99.849476,65.799463 -99.849046,65.797387 -99.849025,65.797181 -99.849007,65.797139 -99.848823,65.795479 -99.847930,65.794409 -99.845396,65.792627 -99.844242,65.791566 -99.843731,65.790722 -99.841841,65.786244 -99.841617,65.785158 -99.842372,65.783229 -99.844371,65.781693 -99.843808,65.780214 -99.843852,65.780102 -99.843818,65.780002 -99.843977,65.778177 -99.843406,65.778335 -99.842529,65.778548 -99.839055,65.778928 -99.838711,65.778932 -99.835216,65.781718 -99.833903,65.782554 -99.830725,65.783645 -99.826981,65.784026 -99.826900,65.784017 -99.826836,65.784024 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-99.826274,65.745778 -99.827103,65.746422 -99.827576,65.747184 -99.828225,65.748611 -99.828484,65.749778 -99.828343,65.750615 -99.827581,65.752911 -99.826931,65.756385 -99.826869,65.758899 -99.829868,65.757890 -99.832744,65.757528 -99.837306,65.757322 -99.838170,65.757303 -99.841470,65.757602 -99.846757,65.758586 -99.847068,65.758688 -99.847449,65.758731 -99.852674,65.759943 -99.852759,65.759974 -99.853591,65.760187 -99.855653,65.760808 -99.855589,65.760244 -99.855636,65.760102 -99.855572,65.759936 -99.855826,65.758807 -99.857948,65.754092 -99.858163,65.753748 -99.858199,65.753634 -99.858700,65.752861 -99.857288,65.752211 -99.851593,65.749918 -99.850682,65.749502 -99.850631,65.749462 -99.850559,65.749436 -99.846997,65.747522 -99.843414,65.746280 -99.839813,65.745659 -99.837212,65.745510 -99.832515,65.745631 -99.828135,65.745828 -99.827271,65.745847 -99.826274,65.745778 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-99.891191,65.823775 -99.890907,65.824102 -99.888882,65.825613 -99.888286,65.825895 -99.882946,65.828218 -99.884972,65.828749 -99.885852,65.829079 -99.886167,65.828790 -99.887467,65.827909 -99.887657,65.827760 -99.889352,65.826856 -99.891492,65.824663 -99.891191,65.823775 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-101.326108,65.882712 -101.325886,65.882966 -101.325584,65.883268 -101.325716,65.884283 -101.326245,65.885574 -101.326454,65.886498 -101.326246,65.887282 -101.327915,65.887791 -101.328950,65.888197 -101.329352,65.888322 -101.329910,65.888570 -101.330583,65.888518 -101.330475,65.888443 -101.329358,65.887455 -101.329340,65.887412 -101.329293,65.887377 -101.326761,65.884280 -101.326108,65.882712 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-100.451826,65.886749 -100.451954,65.886708 -100.453821,65.885948 -100.453718,65.885786 -100.453232,65.884258 -100.453554,65.882936 -100.454928,65.880250 -100.455256,65.879745 -100.453721,65.879378 -100.452919,65.880219 -100.452846,65.880272 -100.452641,65.880489 -100.450923,65.882045 -100.451027,65.883094 -100.451774,65.885658 -100.451882,65.886365 -100.451826,65.886749 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-100.379165,66.139304 -100.375471,66.140002 -100.373381,66.141093 -100.375254,66.142277 -100.376101,66.141291 -100.378123,66.139774 -100.378908,66.139410 -100.379165,66.139304 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-104.797867,63.243118 -98.859513,64.741799</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-100.081798,64.709228 -100.080819,64.709412 -100.076187,64.710153 -100.074191,64.710343 -100.071456,64.710781 -100.068991,64.711042 -100.066142,64.711795 -100.063092,64.712530 -100.062148,64.712644 -100.061449,64.712870 -100.059790,64.713196 -100.059576,64.713219 -100.058115,64.713506 -100.056754,64.713744 -100.056190,64.713801 -100.056093,64.713820 -100.054781,64.714047 -100.053720,64.714154 -100.051212,64.714588 -100.045026,64.715398 -100.044078,64.715475 -100.042441,64.716001 -100.040547,64.716367 -100.040264,64.716398 -100.038631,64.716713 -100.037087,64.716973 -100.036329,64.717048 -100.036226,64.717068 -100.034836,64.717300 -100.033406,64.717441 -100.030751,64.717884 -100.022893,64.718823 -100.020113,64.719034 -100.018811,64.719221 -100.016582,64.719390 -100.015203,64.719466 -100.014306,64.719586 -100.012240,64.719708 -100.011889,64.719695 -100.011796,64.719702 -100.011214,64.719673 -100.010584,64.719721 -100.009729,64.719824 -100.009248,64.719823 -100.008474,64.719882 -100.001532,64.719878 -99.994637,64.719635 -99.989923,64.719231 -99.987786,64.719156 -99.984176,64.718773 -99.983169,64.718552 -99.982177,64.718459 -99.981199,64.718409 -99.980697,64.718320 -99.979711,64.718227 -99.975246,64.717487 -99.972427,64.716941 -99.971339,64.717126 -99.970626,64.717197 -99.970519,64.717217 -99.969140,64.717449 -99.967801,64.717580 -99.965173,64.718021 -99.956191,64.719113 -99.953386,64.719329 -99.951996,64.719528 -99.949768,64.719699 -99.948412,64.719773 -99.947452,64.719902 -99.945346,64.720028 -99.944953,64.720014 -99.944812,64.720025 -99.944238,64.719996 -99.943585,64.720046 -99.942706,64.720151 -99.942208,64.720150 -99.941386,64.720213 -99.934452,64.720205 -99.927565,64.719961 -99.922868,64.719555 -99.920724,64.719479 -99.917114,64.719096 -99.916105,64.718874 -99.915102,64.718779 -99.914122,64.718729 -99.913619,64.718639 -99.912626,64.718545 -99.905118,64.717149 -99.897985,64.715462 -99.891712,64.713600 -99.891228,64.713485 -99.888172,64.712396 -99.887994,64.712300 -99.887960,64.712290 -99.887719,64.712232 -99.887621,64.712189 -99.887493,64.712150 -99.883817,64.710633 -99.880364,64.709028 -99.879108,64.708254 -99.878893,64.708154 -99.878635,64.708045 -99.878417,64.707939 -99.878384,64.707917 -99.877133,64.707336 -99.876485,64.706952 -99.875353,64.706159 -99.874699,64.705839 -99.869517,64.702434 -99.868665,64.702477 -99.861746,64.702466 -99.854873,64.702219 -99.850198,64.701813 -99.848047,64.701736 -99.844440,64.701352 -99.843429,64.701128 -99.842414,64.701032 -99.841432,64.700981 -99.840928,64.700891 -99.839928,64.700796 -99.834702,64.699898 -99.829634,64.698858 -99.828358,64.698502 -99.826342,64.698508 -99.825980,64.698498 -99.825913,64.698493 -99.824674,64.698491 -99.821913,64.698391 -99.820427,64.698352 -99.819677,64.698290 -99.819097,64.698289 -99.817807,64.698243 -99.815577,64.698048 -99.814537,64.698021 -99.814224,64.697994 -99.812685,64.697820 -99.810987,64.697759 -99.807381,64.697374 -99.806369,64.697150 -99.805348,64.697052 -99.804365,64.697001 -99.803860,64.696911 -99.802857,64.696815 -99.795895,64.695538 -99.789247,64.694010 -99.784201,64.692528 -99.782913,64.692232 -99.780214,64.691320 -99.779723,64.691063 -99.779438,64.690977 -99.778818,64.690827 -99.778554,64.690711 -99.778120,64.690581 -99.777562,64.690276 -99.776851,64.689964 -99.775971,64.689734 -99.773891,64.688857 -99.773532,64.688646 -99.771881,64.687950 -99.768609,64.686370 -99.767006,64.685359 -99.765195,64.684490 -99.763275,64.683279 -99.762614,64.682798 -99.761339,64.681949 -99.761330,64.681944 -99.761099,64.681893 -99.758603,64.681099 -99.758001,64.680793 -99.757546,64.680654 -99.757007,64.680532 -99.756748,64.680445 -99.756607,64.680372 -99.756173,64.680267 -99.755953,64.680168 -99.755742,64.680104 -99.755470,64.679955 -99.755077,64.679860 -99.754902,64.679784 -99.754882,64.679778 -99.754672,64.679697 -99.754242,64.679567 -99.754003,64.679437 -99.753863,64.679383 -99.753435,64.679141 -99.753229,64.679051 -99.752325,64.678817 -99.750463,64.678042 -99.750183,64.677880 -99.748655,64.677244 -99.743025,64.674602 -99.741457,64.673628 -99.739365,64.672630 -99.738016,64.671792 -99.737785,64.671669 -99.735296,64.670014 -99.734648,64.669678 -99.734481,64.669553 -99.734372,64.669400 -99.734102,64.669220 -99.733436,64.668866 -99.731748,64.667528 -99.731688,64.667576 -99.730044,64.668597 -99.729267,64.669267 -99.726641,64.670898 -99.723811,64.672468 -99.722701,64.672840 -99.722080,64.673279 -99.720295,64.674067 -99.719925,64.674183 -99.718454,64.674832 -99.716210,64.675711 -99.714540,64.676204 -99.714119,64.676386 -99.712848,64.676864 -99.712197,64.677052 -99.711583,64.677288 -99.710143,64.677713 -99.709572,64.677858 -99.708076,64.678421 -99.703328,64.679757 -99.701546,64.680198 -99.701217,64.680314 -99.700518,64.680487 -99.700358,64.680545 -99.699535,64.680750 -99.699305,64.680780 -99.699237,64.680804 -99.699071,64.680845 -99.698724,64.680891 -99.698045,64.681082 -99.697722,64.681120 -99.697223,64.681287 -99.696925,64.681338 -99.696889,64.681350 -99.696719,64.681378 -99.696066,64.681555 -99.691571,64.682391 -99.686979,64.683116 -99.685027,64.683297 -99.682291,64.683728 -99.678680,64.684105 -99.676084,64.684281 -99.675169,64.684407 -99.671635,64.684645 -99.668077,64.684821 -99.666366,64.684730 -99.664991,64.684871 -99.661904,64.684873 -99.661222,64.684826 -99.658817,64.684828 -99.657812,64.684798 -99.655964,64.684642 -99.653547,64.684610 -99.645596,64.684144 -99.642906,64.683877 -99.642271,64.683856 -99.642089,64.683851 -99.642044,64.683848 -99.641695,64.683836 -99.639959,64.683664 -99.638902,64.683537 -99.638333,64.683515 -99.637175,64.683389 -99.637144,64.683382 -99.637094,64.683381 -99.635359,64.683192 -99.634889,64.683087 -99.634568,64.683070 -99.634514,64.683063 -99.634418,64.683040 -99.634202,64.683019 -99.633879,64.682941 -99.633022,64.682856 -99.632412,64.682823 -99.632099,64.682764 -99.631833,64.682737 -99.631376,64.682626 -99.631226,64.682597 -99.630673,64.682565 -99.619794,64.680873 -99.618721,64.680757 -99.618303,64.680664 -99.617640,64.680637 -99.609307,64.679683 -99.608259,64.679445 -99.606877,64.679371 -99.605808,64.679176 -99.604608,64.679052 -99.604453,64.679015 -99.602200,64.678931 -99.601006,64.678825 -99.599299,64.678916 -99.599106,64.678908 -99.597133,64.679004 -99.597085,64.679009 -99.595608,64.679005 -99.595197,64.679049 -99.593371,64.679073 -99.593152,64.679059 -99.591544,64.679079 -99.587236,64.679057 -99.584906,64.678889 -99.580612,64.678802 -99.579484,64.678721 -99.578830,64.678696 -99.574065,64.678271 -99.571964,64.678190 -99.568427,64.677802 -99.568375,64.677790 -99.567830,64.677879 -99.564546,64.678252 -99.561799,64.678448 -99.560587,64.678617 -99.556597,64.678903 -99.552575,64.679108 -99.552175,64.679103 -99.551870,64.679124 -99.551286,64.679093 -99.551070,64.679090 -99.550459,64.679158 -99.544486,64.679257 -99.543302,64.679185 -99.539750,64.679132 -99.537798,64.679125 -99.537713,64.679122 -99.536711,64.679183 -99.536247,64.679165 -99.535727,64.679197 -99.535691,64.679195 -99.534847,64.679300 -99.533203,64.679374 -99.532571,64.679344 -99.532356,64.679360 -99.531784,64.679427 -99.531473,64.679425 -99.531074,64.679454 -99.526784,64.679493 -99.522500,64.679442 -99.521064,64.679333 -99.518222,64.679299 -99.516369,64.679197 -99.513619,64.678928 -99.512244,64.678882 -99.510364,64.678698 -99.509538,64.678599 -99.508628,64.678564 -99.503938,64.678052 -99.502693,64.677773 -99.502624,64.677766 -99.500940,64.677675 -99.499914,64.677488 -99.498527,64.677346 -99.497618,64.677124 -99.496699,64.677065 -99.494952,64.676778 -99.493628,64.676437 -99.492515,64.676218 -99.490750,64.675915 -99.487709,64.675300 -99.485840,64.674778 -99.483208,64.674246 -99.478742,64.673047 -99.477670,64.672707 -99.477066,64.672588 -99.475533,64.672164 -99.472894,64.671643 -99.472011,64.671416 -99.470001,64.670791 -99.468823,64.670540 -99.464884,64.669387 -99.463246,64.668845 -99.462864,64.668758 -99.460887,64.668104 -99.460285,64.667791 -99.459692,64.667607 -99.458955,64.667426 -99.458616,64.667273 -99.458325,64.667182 -99.457909,64.666952 -99.457698,64.666856 -99.457066,64.666695 -99.454913,64.665827 -99.454084,64.665350 -99.449843,64.663389 -99.447584,64.662087 -99.446365,64.661429 -99.442566,64.658869 -99.442012,64.658570 -99.441144,64.657866 -99.438112,64.657496 -99.437861,64.657483 -99.435287,64.657124 -99.435124,64.657085 -99.435106,64.657083 -99.434925,64.657073 -99.434840,64.657057 -99.434744,64.657047 -99.428731,64.655962 -99.422943,64.654688 -99.419554,64.653705 -99.417382,64.653226 -99.415312,64.652585 -99.413983,64.652133 -99.413761,64.652081 -99.412237,64.651563 -99.411664,64.651260 -99.411609,64.651243 -99.410740,64.651030 -99.410330,64.650844 -99.410000,64.650741 -99.409532,64.650481 -99.409240,64.650348 -99.408521,64.650163 -99.405202,64.648803 -99.404897,64.648626 -99.404703,64.648575 -99.403775,64.648186 -99.403516,64.648033 -99.402030,64.647410 -99.401067,64.646956 -99.399600,64.646037 -99.398938,64.645750 -99.397799,64.645177 -99.397686,64.645103 -99.397374,64.644953 -99.396162,64.644194 -99.395593,64.643778 -99.394430,64.643943 -99.388385,64.645086 -99.387764,64.645152 -99.387670,64.645182 -99.386720,64.645358 -99.386379,64.645394 -99.384619,64.645721 -99.383549,64.645892 -99.382562,64.645983 -99.382409,64.646012 -99.380952,64.646241 -99.379148,64.646405 -99.378981,64.646431 -99.376402,64.646836 -99.370819,64.647424 -99.368175,64.647601 -99.367177,64.647737 -99.365038,64.647880 -99.363682,64.647945 -99.363005,64.648031 -99.361130,64.648127 -99.360889,64.648116 -99.360881,64.648117 -99.360793,64.648112 -99.360713,64.648108 -99.360672,64.648111 -99.360196,64.648092 -99.359777,64.648122 -99.359007,64.648212 -99.358579,64.648209 -99.357945,64.648254 -99.355425,64.648243 -99.354937,64.648293 -99.352291,64.648301 -99.351806,64.648267 -99.349645,64.648274 -99.343748,64.648136 -99.342480,64.648032 -99.342120,64.648026 -99.340502,64.647899 -99.339854,64.647882 -99.337513,64.647843 -99.336318,64.647767 -99.335802,64.647966 -99.333683,64.648606 -99.331532,64.649155 -99.330920,64.649374 -99.328092,64.650096 -99.326665,64.650287 -99.325199,64.650772 -99.320739,64.651590 -99.316186,64.652298 -99.314276,64.652471 -99.311540,64.652897 -99.307928,64.653268 -99.305316,64.653439 -99.304374,64.653567 -99.300798,64.653801 -99.297198,64.653971 -99.295501,64.653876 -99.294133,64.654013 -99.291068,64.654008 -99.290397,64.653960 -99.288003,64.653957 -99.286980,64.653924 -99.285101,64.653761 -99.282635,64.653721 -99.274180,64.653202 -99.271500,64.652928 -99.270299,64.652885 -99.266824,64.652530 -99.263537,64.652125 -99.263262,64.652110 -99.260691,64.651750 -99.260512,64.651706 -99.260490,64.651704 -99.260292,64.651693 -99.260199,64.651675 -99.260093,64.651665 -99.252694,64.650249 -99.251331,64.649919 -99.251132,64.649936 -99.249998,64.650000 -99.248329,64.650228 -99.245852,64.650396 -99.244162,64.650477 -99.243917,64.650508 -99.241977,64.650602 -99.241049,64.650559 -99.240032,64.650676 -99.238320,64.650694 -99.234729,64.651267 -99.233187,64.651409 -99.230499,64.651838 -99.227179,64.652207 -99.224434,64.652397 -99.223227,64.652562 -99.219245,64.652838 -99.218647,64.652867 -99.217438,64.653311 -99.217069,64.653412 -99.216338,64.653687 -99.209750,64.655581 -99.207781,64.656070 -99.207335,64.656227 -99.206615,64.656405 -99.206400,64.656482 -99.205462,64.656717 -99.205157,64.656757 -99.205060,64.656791 -99.204873,64.656837 -99.204481,64.656889 -99.203709,64.657103 -99.203366,64.657142 -99.202771,64.657338 -99.202401,64.657401 -99.202364,64.657413 -99.202221,64.657436 -99.201426,64.657649 -99.197684,64.658349 -99.193872,64.658971 -99.192602,64.659090 -99.189992,64.659516 -99.186922,64.659879 -99.184100,64.660084 -99.182634,64.660287 -99.178309,64.660600 -99.173947,64.660819 -99.173926,64.660819 -99.173905,64.660820 -99.173864,64.660818 -99.173862,64.660818 -99.173821,64.660823 -99.163463,64.661105 -99.163380,64.661100 -99.163251,64.661099 -99.163046,64.661108 -99.159893,64.661090 -99.157385,64.661084 -99.157233,64.661080 -99.157166,64.661074 -99.156227,64.661068 -99.153459,64.660958 -99.151501,64.660895 -99.150875,64.660840 -99.150437,64.660837 -99.149457,64.660798 -99.146881,64.660563 -99.145505,64.660518 -99.145254,64.660495 -99.144045,64.660350 -99.142738,64.660298 -99.139145,64.659903 -99.138110,64.659669 -99.136980,64.659556 -99.135979,64.659499 -99.135464,64.659404 -99.134397,64.659297 -99.127012,64.657878 -99.120002,64.656175 -99.119588,64.656049 -99.117230,64.656158 -99.110418,64.656116 -99.103656,64.655845 -99.099168,64.655433 -99.096945,64.655344 -99.093353,64.654948 -99.092316,64.654713 -99.091178,64.654599 -99.090177,64.654542 -99.089661,64.654446 -99.088589,64.654339 -99.082401,64.653197 -99.076458,64.651855 -99.072788,64.650771 -99.070761,64.650314 -99.068544,64.649604 -99.067351,64.649190 -99.067177,64.649148 -99.065832,64.648681 -99.065312,64.648401 -99.064509,64.648202 -99.063879,64.647913 -99.063461,64.647779 -99.062883,64.647455 -99.062282,64.647179 -99.061364,64.646933 -99.057610,64.645315 -99.057462,64.645226 -99.056854,64.644965 -99.056551,64.644784 -99.054994,64.644118 -99.054190,64.643727 -99.053006,64.642969 -99.052930,64.642923 -99.052891,64.642895 -99.052634,64.642730 -99.050678,64.641773 -99.048245,64.640214 -99.046545,64.638950 -99.045896,64.638507 -99.045323,64.638193 -99.043334,64.636557 -99.043204,64.636356 -99.043139,64.636312 -99.042859,64.636155 -99.042774,64.636059 -99.042622,64.635954 -99.042344,64.635654 -99.041924,64.635245 -99.041869,64.635214 -99.041343,64.635083 -99.040937,64.634890 -99.040443,64.634757 -99.039143,64.634192 -99.038931,64.634064 -99.038661,64.633953 -99.037322,64.633359 -99.036803,64.633042 -99.035504,64.632465 -99.035266,64.632420 -99.029030,64.630979 -99.024802,64.629716 -99.023073,64.629316 -99.020625,64.628502 -99.019967,64.628156 -99.019335,64.627960 -99.018538,64.627762 -99.018189,64.627606 -99.017494,64.627392 -99.016786,64.626994 -99.015916,64.626764 -99.014376,64.626121 -99.014191,64.626012 -99.012873,64.625461 -99.008227,64.623315 -99.007786,64.623040 -99.006416,64.622443 -99.005847,64.622157 -99.004684,64.621396 -99.004281,64.621202 -99.004134,64.621110 -99.003922,64.620954 -99.002603,64.620302 -99.000438,64.618886 -98.998760,64.617624 -98.998505,64.617450 -98.997829,64.617081 -98.995882,64.615495 -98.995726,64.615257 -98.995634,64.615193 -98.995306,64.615009 -98.995205,64.614896 -98.995018,64.614766 -98.994855,64.614502 -98.994343,64.613927 -98.993800,64.613598 -98.992678,64.612414 -98.992536,64.612146 -98.991651,64.611213 -98.991301,64.610755 -98.990971,64.610509 -98.990600,64.610321 -98.988421,64.608832 -98.988102,64.608694 -98.987852,64.608627 -98.984106,64.607008 -98.983960,64.606920 -98.983332,64.606650 -98.983033,64.606471 -98.981486,64.605806 -98.980681,64.605414 -98.979490,64.604649 -98.979425,64.604610 -98.979392,64.604586 -98.979131,64.604418 -98.977168,64.603454 -98.974747,64.601898 -98.973069,64.600645 -98.972403,64.600189 -98.971824,64.599871 -98.969842,64.598235 -98.969710,64.598031 -98.969644,64.597986 -98.969362,64.597827 -98.969276,64.597730 -98.969122,64.597622 -98.966658,64.594953 -98.964690,64.592217 -98.963901,64.590365 -98.963547,64.589873 -98.961536,64.588976 -98.957166,64.586684 -98.954548,64.584931 -98.953215,64.584232 -98.951616,64.583044 -98.951216,64.582476 -98.950199,64.581902 -98.949696,64.581352 -98.948940,64.580807 -98.948563,64.580194 -98.947840,64.579759 -98.945472,64.577301 -98.945438,64.577237 -98.945298,64.577096 -98.945218,64.576949 -98.944468,64.576192 -98.944088,64.575743 -98.943612,64.574763 -98.943305,64.574392 -98.943268,64.574323 -98.943246,64.574257 -98.942922,64.573852 -98.942890,64.573817 -98.942851,64.573762 -98.942392,64.573186 -98.941884,64.572141 -98.941880,64.572127 -98.941695,64.572023 -98.941600,64.571913 -98.941482,64.571830 -98.941370,64.571648 -98.941332,64.571603 -98.941056,64.571444 -98.936417,64.567113 -98.931485,64.566610 -98.923814,64.565101 -98.916560,64.563284 -98.909723,64.561160 -98.909240,64.560936 -98.908876,64.560819 -98.908366,64.560531 -98.907976,64.560351 -98.907180,64.560139 -98.899233,64.556771 -98.898205,64.556156 -98.894499,64.554393 -98.890532,64.552019 -98.888185,64.550329 -98.886701,64.549294 -98.886622,64.549249 -98.871508,64.536013 -98.871491,64.535986 -98.871490,64.535984 -98.871450,64.535962 -98.871439,64.535949 -98.871421,64.535936 -98.869683,64.534176 -98.868161,64.532381 -98.867836,64.531710 -98.866855,64.530553 -98.861454,64.521313 -98.861031,64.520139 -98.860660,64.519629 -98.860050,64.517932 -98.859624,64.516222 -98.859665,64.515752 -98.859587,64.515513 -98.859723,64.515085 -98.859766,64.514586 -98.859513,64.514095 -98.860847,64.478130 -98.860847,64.478130 -98.860847,64.478130 -98.860847,64.478130 -98.862046,64.445679 -98.862309,64.445034 -98.862306,64.444432 -98.862438,64.443442 -98.862664,64.442947 -98.862687,64.442771 -98.862882,64.442292 -98.862893,64.442274 -98.863027,64.441271 -98.871111,64.421576 -98.871743,64.420522 -98.871823,64.420163 -98.872662,64.418764 -98.873373,64.418186 -98.873627,64.417379 -98.877124,64.414081 -98.881331,64.410963 -98.886247,64.408024 -98.892393,64.405555 -98.899035,64.403369 -98.906175,64.401466 -98.906822,64.401362 -98.907204,64.401264 -98.908003,64.401172 -98.908517,64.401090 -98.909262,64.400858 -98.921229,64.398660 -98.933612,64.388989 -98.935269,64.387973 -98.936084,64.387283 -98.936325,64.387135 -98.936672,64.386835 -98.937871,64.386071 -98.938589,64.385671 -98.941524,64.383199 -98.942136,64.382811 -98.942300,64.382666 -98.943374,64.381971 -98.944241,64.381223 -98.944469,64.381078 -98.944945,64.380658 -98.946323,64.379749 -98.947765,64.378931 -98.948086,64.378671 -98.949935,64.377623 -98.951014,64.377239 -98.951870,64.376602 -98.954350,64.375484 -98.956933,64.374413 -98.957733,64.374171 -98.959620,64.373388 -98.962683,64.372316 -98.965113,64.371645 -98.966584,64.371100 -98.970630,64.369982 -98.974821,64.368964 -98.975276,64.368890 -98.975579,64.368811 -98.976047,64.368757 -98.976305,64.368672 -98.976827,64.368590 -98.977094,64.368505 -98.977821,64.368366 -98.978042,64.368343 -98.978114,64.368320 -98.978952,64.368162 -98.979180,64.368138 -98.980678,64.367855 -98.984649,64.367191 -98.986828,64.366985 -98.988293,64.366727 -98.990473,64.366415 -98.990882,64.366381 -98.990890,64.366380 -98.992539,64.366224 -98.993366,64.366173 -98.993552,64.366158 -98.996137,64.365789 -98.998992,64.365561 -99.001064,64.365451 -99.001500,64.365395 -99.004017,64.365261 -99.005196,64.365314 -99.006543,64.365159 -99.013260,64.365205 -99.019927,64.365478 -99.024327,64.365888 -99.026545,64.365978 -99.030102,64.366374 -99.031135,64.366611 -99.032293,64.366729 -99.033289,64.366787 -99.033802,64.366883 -99.034882,64.366993 -99.040400,64.368002 -99.045727,64.369172 -99.048488,64.369982 -99.050866,64.370505 -99.052654,64.371045 -99.054227,64.371580 -99.054579,64.371663 -99.056462,64.372303 -99.056894,64.372534 -99.058164,64.372931 -99.058304,64.372966 -99.058361,64.372993 -99.058425,64.373013 -99.058519,64.373066 -99.058529,64.373071 -99.058667,64.373106 -99.061504,64.374203 -99.061692,64.374311 -99.062324,64.374605 -99.062805,64.374732 -99.064135,64.375291 -99.064306,64.375392 -99.065581,64.375927 -99.066786,64.376484 -99.068208,64.377375 -99.070757,64.378616 -99.073353,64.380241 -99.074466,64.381062 -99.076216,64.382267 -99.076807,64.382593 -99.078782,64.384226 -99.078918,64.384435 -99.078987,64.384484 -99.079275,64.384646 -99.079363,64.384746 -99.079521,64.384857 -99.081975,64.387522 -99.083939,64.390254 -99.084729,64.392100 -99.085413,64.393051 -99.086068,64.394972 -99.086231,64.395641 -99.086289,64.395727 -99.086474,64.396484 -99.086379,64.396847 -99.086623,64.397242 -99.086637,64.398393 -99.086694,64.398497 -99.086714,64.399534 -99.086650,64.399705 -99.086666,64.400571 -99.086413,64.402860 -99.086300,64.403117 -99.087171,64.403513 -99.088020,64.403745 -99.090317,64.404765 -99.090783,64.405050 -99.092524,64.405822 -99.097072,64.408178 -99.097821,64.408676 -99.098176,64.408853 -99.099080,64.409441 -99.100104,64.409953 -99.100777,64.410401 -99.100884,64.410454 -99.102557,64.410666 -99.103144,64.410696 -99.109797,64.411580 -99.110346,64.411712 -99.111020,64.411751 -99.112080,64.411955 -99.112915,64.412046 -99.113791,64.412265 -99.114305,64.412294 -99.114944,64.412425 -99.115482,64.412463 -99.116871,64.412712 -99.118548,64.413163 -99.123120,64.414099 -99.126734,64.415070 -99.127249,64.415196 -99.133187,64.417020 -99.133811,64.417173 -99.136812,64.418270 -99.137041,64.418397 -99.137099,64.418415 -99.137408,64.418492 -99.137534,64.418550 -99.137706,64.418603 -99.143044,64.421031 -99.147831,64.423648 -99.151383,64.426076 -99.152070,64.426452 -99.154013,64.428033 -99.154172,64.428275 -99.154269,64.428342 -99.154602,64.428530 -99.154704,64.428645 -99.154896,64.428778 -99.155063,64.429048 -99.155563,64.429610 -99.156107,64.429939 -99.157224,64.431116 -99.157365,64.431380 -99.158247,64.432309 -99.160849,64.435695 -99.161320,64.436737 -99.161477,64.436906 -99.161896,64.437481 -99.161922,64.437541 -99.161937,64.437557 -99.161979,64.437615 -99.162012,64.437691 -99.162235,64.437977 -99.162660,64.438916 -99.162831,64.439483 -99.163380,64.440237 -99.163390,64.440264 -99.163409,64.440339 -99.163463,64.440415 -99.164124,64.442335 -99.164289,64.443002 -99.164346,64.443088 -99.164533,64.443842 -99.164440,64.444205 -99.164684,64.444599 -99.164692,64.445118 -99.165111,64.445148 -99.167476,64.445153 -99.168490,64.445187 -99.170335,64.445349 -99.172791,64.445390 -99.178560,64.445748 -99.181226,64.446024 -99.182436,64.446068 -99.185865,64.446422 -99.187868,64.446672 -99.188135,64.446684 -99.189735,64.446875 -99.189888,64.446910 -99.190035,64.446931 -99.191064,64.447184 -99.191600,64.447309 -99.193785,64.447453 -99.195478,64.447736 -99.195666,64.447785 -99.197156,64.448034 -99.199797,64.448532 -99.201726,64.448191 -99.206231,64.447551 -99.208456,64.447364 -99.208714,64.447319 -99.210004,64.447142 -99.210502,64.447101 -99.211448,64.446963 -99.213514,64.446789 -99.214640,64.446726 -99.216298,64.446499 -99.218760,64.446331 -99.220438,64.446249 -99.220681,64.446218 -99.222607,64.446125 -99.222817,64.446135 -99.224476,64.446058 -99.224539,64.446051 -99.226038,64.446059 -99.226444,64.446016 -99.228267,64.445997 -99.228488,64.446011 -99.230091,64.445995 -99.238641,64.446063 -99.240957,64.446237 -99.245194,64.446334 -99.246266,64.446415 -99.246891,64.446440 -99.251570,64.446871 -99.253672,64.446956 -99.257157,64.447349 -99.258143,64.447574 -99.259105,64.447670 -99.260069,64.447724 -99.260561,64.447816 -99.261524,64.447912 -99.265866,64.448661 -99.270101,64.449511 -99.271615,64.449936 -99.274229,64.450460 -99.275130,64.450695 -99.277186,64.451344 -99.278378,64.451602 -99.282267,64.452761 -99.283872,64.453300 -99.284240,64.453385 -99.286170,64.454033 -99.286761,64.454345 -99.287330,64.454524 -99.288057,64.454705 -99.288391,64.454858 -99.288678,64.454948 -99.289088,64.455178 -99.289296,64.455273 -99.289919,64.455435 -99.292028,64.456295 -99.292691,64.456682 -99.293277,64.456930 -99.294444,64.456971 -99.297889,64.457324 -99.301131,64.457724 -99.301442,64.457741 -99.304010,64.458101 -99.304210,64.458150 -99.304238,64.458153 -99.304459,64.458165 -99.304563,64.458185 -99.304683,64.458197 -99.312022,64.459607 -99.318992,64.461300 -99.324041,64.462840 -99.325357,64.462913 -99.326401,64.463108 -99.327572,64.463231 -99.328534,64.463470 -99.329184,64.463506 -99.329336,64.463537 -99.329634,64.463556 -99.331246,64.463831 -99.332480,64.464155 -99.334739,64.464549 -99.337447,64.465104 -99.339291,64.465625 -99.341901,64.466160 -99.343067,64.466476 -99.345085,64.467124 -99.345818,64.467289 -99.346824,64.467612 -99.347190,64.467695 -99.352513,64.469402 -99.353482,64.469902 -99.355111,64.470305 -99.356022,64.470706 -99.357300,64.471111 -99.358110,64.471563 -99.359080,64.471819 -99.360927,64.472597 -99.361363,64.472856 -99.361511,64.472846 -99.362437,64.472719 -99.365976,64.472485 -99.369537,64.472315 -99.371229,64.472409 -99.372591,64.472271 -99.375645,64.472275 -99.376317,64.472322 -99.378699,64.472325 -99.379718,64.472357 -99.381590,64.472520 -99.384035,64.472558 -99.388760,64.472848 -99.391420,64.473119 -99.392607,64.473161 -99.396060,64.473514 -99.399333,64.473917 -99.399598,64.473931 -99.402154,64.474289 -99.402327,64.474331 -99.402348,64.474333 -99.402540,64.474344 -99.402630,64.474361 -99.402733,64.474371 -99.410090,64.475779 -99.415762,64.477152 -99.415791,64.477154 -99.418207,64.477190 -99.422413,64.477441 -99.425093,64.477712 -99.426323,64.477755 -99.429788,64.478106 -99.433053,64.478506 -99.433359,64.478522 -99.435938,64.478881 -99.436135,64.478929 -99.436161,64.478931 -99.436377,64.478943 -99.436479,64.478963 -99.436597,64.478974 -99.443960,64.480381 -99.450954,64.482071 -99.457006,64.483907 -99.457580,64.484046 -99.460599,64.485140 -99.460810,64.485255 -99.460859,64.485270 -99.461144,64.485340 -99.461260,64.485393 -99.461416,64.485441 -99.466131,64.487508 -99.470444,64.489721 -99.472633,64.491159 -99.473587,64.491366 -99.475411,64.491912 -99.476952,64.492428 -99.477280,64.492504 -99.479110,64.493118 -99.479482,64.493314 -99.482393,64.494046 -99.483536,64.494400 -99.484269,64.494549 -99.484975,64.494740 -99.485719,64.494978 -99.485750,64.494984 -99.486251,64.495139 -99.486652,64.495276 -99.486990,64.495383 -99.487711,64.495545 -99.488731,64.495871 -99.488740,64.495875 -99.489119,64.495961 -99.494457,64.497668 -99.495413,64.498160 -99.497015,64.498553 -99.497937,64.498958 -99.499202,64.499356 -99.500030,64.499816 -99.501017,64.500075 -99.502865,64.500851 -99.503950,64.501490 -99.505347,64.502145 -99.506384,64.502593 -99.508467,64.503630 -99.510412,64.504886 -99.512135,64.505743 -99.513365,64.506569 -99.514325,64.507296 -99.514557,64.507418 -99.515552,64.508172 -99.515633,64.508287 -99.515640,64.508292 -99.515673,64.508343 -99.515729,64.508423 -99.516231,64.508765 -99.516485,64.508904 -99.516995,64.509333 -99.517676,64.509632 -99.517716,64.509644 -99.518093,64.509757 -99.518120,64.509772 -99.518870,64.510008 -99.519032,64.510098 -99.519324,64.510187 -99.519961,64.510541 -99.520009,64.510562 -99.520770,64.510762 -99.521154,64.510924 -99.521186,64.510943 -99.521297,64.510972 -99.523212,64.511783 -99.523512,64.511961 -99.525067,64.512620 -99.531103,64.515517 -99.531910,64.516027 -99.534745,64.516694 -99.537111,64.517402 -99.538663,64.517736 -99.542178,64.518787 -99.545494,64.519896 -99.545733,64.519954 -99.548611,64.521013 -99.548704,64.521064 -99.548714,64.521067 -99.548842,64.521099 -99.548893,64.521122 -99.548957,64.521141 -99.552084,64.522488 -99.552611,64.522420 -99.554461,64.522325 -99.555302,64.522362 -99.555732,64.522330 -99.556473,64.522242 -99.556884,64.522245 -99.557480,64.522201 -99.564311,64.522224 -99.571095,64.522480 -99.575660,64.522887 -99.577831,64.522968 -99.581413,64.523356 -99.581718,64.523425 -99.582008,64.523436 -99.582072,64.523443 -99.582805,64.523609 -99.583066,64.523633 -99.584245,64.523562 -99.584806,64.523487 -99.586803,64.523367 -99.587220,64.523383 -99.587653,64.523357 -99.587771,64.523363 -99.588628,64.523256 -99.590210,64.523187 -99.590771,64.523214 -99.590938,64.523201 -99.591449,64.523141 -99.591726,64.523143 -99.592069,64.523117 -99.598904,64.523139 -99.601639,64.523242 -99.603387,64.522752 -99.604822,64.522213 -99.608829,64.521091 -99.612981,64.520065 -99.614426,64.519893 -99.615443,64.519574 -99.617938,64.519117 -99.618446,64.519064 -99.620467,64.518693 -99.622497,64.518385 -99.623978,64.518252 -99.624111,64.518228 -99.625516,64.518018 -99.626794,64.517904 -99.628004,64.517722 -99.629416,64.517595 -99.629503,64.517590 -99.630949,64.517373 -99.638685,64.516688 -99.640906,64.516555 -99.641439,64.516483 -99.643423,64.516364 -99.643822,64.516380 -99.644218,64.516356 -99.644372,64.516365 -99.645239,64.516256 -99.646800,64.516188 -99.647330,64.516214 -99.647478,64.516203 -99.647963,64.516145 -99.648225,64.516147 -99.648545,64.516123 -99.652495,64.516077 -99.656442,64.516109 -99.657639,64.516197 -99.660386,64.516219 -99.661244,64.516260 -99.664783,64.515599 -99.669356,64.514875 -99.671303,64.514693 -99.674023,64.514262 -99.677613,64.513886 -99.680190,64.513711 -99.681095,64.513585 -99.684599,64.513347 -99.688126,64.513172 -99.691515,64.513181 -99.691994,64.513132 -99.695285,64.513136 -99.696077,64.513191 -99.698575,64.513194 -99.708131,64.513522 -99.709945,64.513680 -99.712153,64.513709 -99.722151,64.514296 -99.722226,64.514303 -99.722292,64.514304 -99.731772,64.514868 -99.733377,64.515028 -99.734490,64.515052 -99.747583,64.516051 -99.749901,64.516302 -99.750585,64.516328 -99.753560,64.516650 -99.753582,64.516655 -99.755986,64.516949 -99.756366,64.516967 -99.762539,64.517791 -99.762871,64.517870 -99.763264,64.517890 -99.764358,64.518096 -99.765078,64.518171 -99.765950,64.518383 -99.766414,64.518408 -99.767315,64.518587 -99.767981,64.518633 -99.769318,64.518869 -99.770292,64.519127 -99.771370,64.519307 -99.773324,64.519686 -99.774666,64.520054 -99.775452,64.520211 -99.775472,64.520216 -99.775610,64.520243 -99.775625,64.520246 -99.775650,64.520251 -99.777357,64.520582 -99.778121,64.520775 -99.779771,64.521281 -99.780900,64.521516 -99.792231,64.524709 -99.794029,64.525292 -99.794527,64.525404 -99.796769,64.526129 -99.797124,64.526312 -99.797375,64.526440 -99.798347,64.526739 -99.798956,64.526887 -99.799185,64.526990 -99.799288,64.527015 -99.799390,64.527060 -99.799479,64.527087 -99.799576,64.527140 -99.799668,64.527180 -99.800493,64.527430 -99.800783,64.527589 -99.801157,64.527737 -99.801250,64.527790 -99.801772,64.527922 -99.803028,64.528426 -99.803146,64.528493 -99.804261,64.528940 -99.810387,64.531601 -99.810532,64.531688 -99.810769,64.531788 -99.811115,64.531992 -99.812743,64.532680 -99.813476,64.533034 -99.814613,64.533752 -99.814728,64.533807 -99.814887,64.533901 -99.815011,64.533989 -99.815333,64.534128 -99.816283,64.534606 -99.816400,64.534681 -99.816905,64.534925 -99.818188,64.535735 -99.818919,64.536268 -99.820173,64.536899 -99.821630,64.537913 -99.822420,64.538519 -99.822563,64.538594 -99.823462,64.539284 -99.823678,64.539592 -99.823924,64.539761 -99.824327,64.539982 -99.824460,64.540129 -99.824613,64.540235 -99.824761,64.540464 -99.824828,64.540538 -99.825185,64.540740 -99.828929,64.544179 -99.829019,64.544326 -99.829104,64.544407 -99.829225,64.544477 -99.829706,64.544936 -99.829769,64.545042 -99.830463,64.545705 -99.831031,64.546320 -99.831560,64.547303 -99.831580,64.547327 -99.831582,64.547330 -99.835154,64.549714 -99.835700,64.550007 -99.837726,64.551635 -99.837853,64.551823 -99.837911,64.551862 -99.838178,64.552008 -99.838260,64.552098 -99.838404,64.552195 -99.840958,64.554863 -99.843015,64.557599 -99.843871,64.559469 -99.844575,64.560405 -99.845281,64.562325 -99.845459,64.562981 -99.845517,64.563063 -99.845718,64.563803 -99.845635,64.564161 -99.845885,64.564545 -99.845994,64.566448 -99.845876,64.568348 -99.845607,64.569016 -99.845530,64.570246 -99.845058,64.571805 -99.844445,64.572967 -99.844352,64.573507 -99.843868,64.574424 -99.843517,64.574969 -99.843439,64.575337 -99.841242,64.578894 -99.841035,64.579063 -99.841036,64.579074 -99.840938,64.579384 -99.840977,64.581078 -99.840942,64.581347 -99.840885,64.582169 -99.840734,64.582538 -99.840742,64.582880 -99.840671,64.583421 -99.840531,64.583741 -99.840504,64.584128 -99.840460,64.584266 -99.840095,64.584945 -99.840082,64.585050 -99.840046,64.585561 -99.839993,64.585724 -99.839977,64.585848 -99.839894,64.586036 -99.839795,64.586346 -99.839182,64.587489 -99.839095,64.587985 -99.838225,64.589606 -99.837184,64.591211 -99.836924,64.591506 -99.836921,64.591518 -99.836870,64.591568 -99.836487,64.592004 -99.836443,64.592082 -99.836366,64.592141 -99.835824,64.592757 -99.835627,64.592953 -99.835564,64.592997 -99.835487,64.593210 -99.835405,64.593298 -99.838027,64.594684 -99.838051,64.594700 -99.838086,64.594716 -99.841012,64.596266 -99.841509,64.596072 -99.842276,64.595839 -99.843607,64.595316 -99.845742,64.594660 -99.847874,64.594104 -99.848477,64.593885 -99.849866,64.593523 -99.850457,64.593266 -99.850985,64.593100 -99.852643,64.592379 -99.855195,64.591413 -99.857566,64.590723 -99.857762,64.590648 -99.858033,64.590532 -99.858586,64.590332 -99.859501,64.589981 -99.861649,64.589355 -99.863274,64.588944 -99.864671,64.588438 -99.867598,64.587683 -99.868050,64.587621 -99.870051,64.587123 -99.870279,64.587047 -99.870556,64.586998 -99.871421,64.586783 -99.871619,64.586728 -99.871707,64.586711 -99.872120,64.586609 -99.876624,64.585763 -99.881224,64.585029 -99.883198,64.584843 -99.885922,64.584409 -99.889518,64.584029 -99.892091,64.583851 -99.892984,64.583727 -99.896473,64.583486 -99.899985,64.583307 -99.906876,64.583316 -99.913722,64.583561 -99.918383,64.583965 -99.920523,64.584041 -99.924116,64.584424 -99.925123,64.584647 -99.926130,64.584742 -99.927107,64.584793 -99.927609,64.584883 -99.928602,64.584977 -99.929539,64.585152 -99.929499,64.585069 -99.929360,64.584924 -99.929034,64.584492 -99.928540,64.583422 -99.928100,64.582869 -99.928026,64.582702 -99.927881,64.582236 -99.927464,64.581684 -99.926754,64.579764 -99.926574,64.579110 -99.926517,64.579029 -99.926315,64.578293 -99.926569,64.577193 -99.926019,64.576216 -99.926003,64.574877 -99.926112,64.574577 -99.926100,64.573538 -99.926229,64.572717 -99.926593,64.571908 -99.926661,64.570879 -99.927369,64.568621 -99.927978,64.567474 -99.928064,64.566971 -99.928381,64.566374 -99.928406,64.566335 -99.928452,64.566070 -99.929043,64.564972 -99.929486,64.564287 -99.929509,64.564185 -99.930015,64.563402 -99.930441,64.563059 -99.930562,64.562624 -99.930914,64.562279 -99.931032,64.562066 -99.931487,64.561717 -99.931523,64.561681 -99.931581,64.561473 -99.931888,64.561184 -99.931972,64.560949 -99.932521,64.560356 -99.932644,64.560269 -99.932962,64.559923 -99.933211,64.559745 -99.933998,64.558887 -99.937766,64.555417 -99.938375,64.555011 -99.938474,64.554919 -99.938562,64.554860 -99.938697,64.554712 -99.938934,64.554493 -99.938944,64.554486 -99.938946,64.554485 -99.939107,64.554344 -99.939961,64.553786 -99.940580,64.553226 -99.940768,64.553100 -99.940810,64.553063 -99.940838,64.553045 -99.941380,64.552543 -99.942001,64.552112 -99.943149,64.551436 -99.943876,64.550799 -99.946172,64.549351 -99.946152,64.548896 -99.946361,64.546706 -99.946753,64.545767 -99.946871,64.544522 -99.947589,64.542603 -99.948181,64.541549 -99.948247,64.541195 -99.949031,64.539800 -99.950321,64.538713 -99.950763,64.537427 -99.951651,64.536447 -99.951865,64.536293 -99.952603,64.535478 -99.953736,64.534410 -99.954251,64.534063 -99.954807,64.533536 -99.955832,64.532843 -99.955909,64.532773 -99.957042,64.531701 -99.961181,64.528720 -99.962720,64.527797 -99.963169,64.527416 -99.963397,64.527279 -99.963587,64.527115 -99.964489,64.526556 -99.965610,64.525930 -99.965757,64.525811 -99.967067,64.525080 -99.968635,64.524521 -99.969687,64.523753 -99.970985,64.523154 -99.971179,64.523091 -99.972314,64.522568 -99.974036,64.521842 -99.974892,64.521577 -99.975289,64.521397 -99.976585,64.520869 -99.977967,64.520450 -99.980056,64.519599 -99.986622,64.517441 -99.988297,64.516988 -99.984848,64.514201 -99.984735,64.514035 -99.984475,64.513893 -99.984067,64.513449 -99.983682,64.513181 -99.983552,64.512982 -99.983474,64.512927 -99.983379,64.512875 -99.983347,64.512838 -99.983170,64.512715 -99.982953,64.512382 -99.982893,64.512313 -99.982470,64.512065 -99.982167,64.511759 -99.982111,64.511661 -99.981894,64.511534 -99.977828,64.507397 -99.977794,64.507338 -99.977772,64.507316 -99.977677,64.507154 -99.976877,64.506373 -99.976512,64.505956 -99.976274,64.505496 -99.975413,64.504595 -99.971997,64.500016 -99.971977,64.499972 -99.971920,64.499911 -99.968915,64.495836 -99.968636,64.495220 -99.968027,64.494541 -99.965146,64.490008 -99.964936,64.489489 -99.964598,64.489096 -99.963736,64.487574 -99.963330,64.486479 -99.963052,64.486110 -99.962505,64.484637 -99.962096,64.483155 -99.962266,64.479528 -99.963254,64.475943 -99.965060,64.472400 -99.968432,64.469077 -99.972522,64.465928 -99.977330,64.462953 -99.983390,64.460439 -99.989958,64.458205 -99.997035,64.456249 -99.997101,64.456238 -99.997157,64.456222 -99.997285,64.456207 -99.997295,64.456205 -99.997402,64.456169 -100.024291,64.450343 -100.024546,64.450312 -100.031999,64.449056 -100.039921,64.448101 -100.048057,64.447476 -100.056455,64.447544 -100.064758,64.447965 -100.072964,64.448738 -100.080665,64.450188 -100.087965,64.451948 -100.094864,64.454017 -100.100697,64.456628 -100.105886,64.459459 -100.110429,64.462511 -100.112887,64.465026 -100.114904,64.467606 -100.115674,64.469220 -100.116479,64.470250 -100.116758,64.470919 -100.116989,64.471687 -100.117077,64.471809 -100.117314,64.472596 -100.117293,64.472696 -100.117296,64.472705 -100.117273,64.472787 -100.117262,64.472841 -100.117413,64.473197 -100.117515,64.473350 -100.117688,64.474180 -100.117643,64.474354 -100.117786,64.474572 -100.117778,64.474773 -100.119494,64.476569 -100.121824,64.478516 -100.121845,64.478548 -100.121893,64.478574 -100.122046,64.478741 -100.122148,64.478796 -100.122314,64.478978 -100.122494,64.479102 -100.122588,64.479244 -100.123049,64.479464 -100.123776,64.479916 -100.124944,64.480757 -100.125322,64.480949 -100.125934,64.481390 -100.125970,64.481404 -100.126807,64.481879 -100.127158,64.482040 -100.129274,64.482922 -100.131696,64.484071 -100.133209,64.485013 -100.135121,64.485919 -100.136009,64.486467 -100.136390,64.486739 -100.136923,64.487077 -100.137647,64.487421 -100.138313,64.487835 -100.139155,64.488240 -100.139914,64.488721 -100.140201,64.488857 -100.140215,64.488862 -100.143657,64.490357 -100.146973,64.491710 -100.151591,64.493446 -100.151904,64.493619 -100.152304,64.493798 -100.152555,64.493859 -100.152632,64.493890 -100.152847,64.493945 -100.154173,64.494483 -100.154367,64.494594 -100.155716,64.495141 -100.156946,64.495693 -100.157803,64.496211 -100.158267,64.496403 -100.159502,64.496980 -100.160265,64.497452 -100.160937,64.497767 -100.161568,64.498148 -100.162801,64.498725 -100.163538,64.499167 -100.164819,64.500070 -100.165310,64.500318 -100.165358,64.500352 -100.165546,64.500445 -100.169991,64.503449 -100.170857,64.504100 -100.171032,64.504191 -100.172032,64.504942 -100.172265,64.505265 -100.172581,64.505480 -100.172991,64.505704 -100.173128,64.505853 -100.173284,64.505959 -100.173437,64.506190 -100.173507,64.506266 -100.173869,64.506470 -100.175173,64.507653 -100.175435,64.508074 -100.176732,64.509335 -100.177985,64.510766 -100.178420,64.511600 -100.179442,64.512768 -100.179958,64.513649 -100.180221,64.514332 -100.180274,64.514359 -100.181277,64.515113 -100.181510,64.515436 -100.181830,64.515653 -100.182240,64.515876 -100.182376,64.516025 -100.182532,64.516131 -100.182684,64.516361 -100.182754,64.516437 -100.183048,64.516602 -100.187008,64.515919 -100.188604,64.515757 -100.190729,64.515368 -100.191696,64.515226 -100.192632,64.515142 -100.192755,64.515123 -100.193068,64.515095 -100.193135,64.515084 -100.194061,64.514990 -100.195033,64.514849 -100.195733,64.514787 -100.196819,64.514621 -100.197759,64.514537 -100.198108,64.514515 -100.198567,64.514447 -100.199146,64.514398 -100.199971,64.514348 -100.201232,64.514165 -100.211657,64.513365 -100.213396,64.513267 -100.213662,64.513232 -100.215469,64.513131 -100.215825,64.513145 -100.216731,64.513096 -100.216914,64.513082 -100.217211,64.513045 -100.218501,64.512995 -100.218573,64.512998 -100.218790,64.512987 -100.218820,64.512983 -100.218855,64.512983 -100.218989,64.512976 -100.220102,64.512984 -100.220657,64.512945 -100.221660,64.512995 -100.222854,64.513003 -100.223995,64.512883 -100.232042,64.512868 -100.232384,64.512890 -100.233288,64.512887 -100.233991,64.512933 -100.236407,64.512923 -100.237392,64.512949 -100.239230,64.513099 -100.241572,64.513122 -100.254214,64.513823 -100.256884,64.514079 -100.258067,64.514114 -100.258546,64.514160 -100.259197,64.514176 -100.266521,64.514809 -100.268466,64.515026 -100.268867,64.515041 -100.271196,64.515301 -100.271936,64.515466 -100.272926,64.515561 -100.273509,64.515589 -100.273808,64.515645 -100.274065,64.515670 -100.274507,64.515775 -100.274646,64.515801 -100.275178,64.515831 -100.277254,64.516144 -100.278140,64.516362 -100.284382,64.517546 -100.288442,64.518546 -100.290188,64.518957 -100.296479,64.520814 -100.296936,64.520921 -100.299988,64.522004 -100.300157,64.522094 -100.300188,64.522103 -100.300415,64.522158 -100.300508,64.522198 -100.300629,64.522234 -100.306206,64.524682 -100.311212,64.527330 -100.315123,64.529902 -100.315647,64.530179 -100.316338,64.530727 -100.319852,64.531503 -100.321581,64.531999 -100.322075,64.532105 -100.322741,64.532294 -100.324069,64.532569 -100.325815,64.533070 -100.326578,64.533317 -100.327743,64.533568 -100.329798,64.534195 -100.331020,64.534602 -100.332547,64.534774 -100.332908,64.534855 -100.332940,64.534856 -100.332954,64.534858 -100.333272,64.534929 -100.333733,64.534946 -100.334222,64.535002 -100.334339,64.535028 -100.334732,64.535047 -100.335072,64.535110 -100.335355,64.535137 -100.335719,64.535224 -100.337939,64.534798 -100.342576,64.534045 -100.344601,64.533847 -100.346585,64.533525 -100.348236,64.532753 -100.350866,64.531626 -100.351717,64.531359 -100.353610,64.530548 -100.356639,64.529457 -100.359048,64.528767 -100.360420,64.528240 -100.364344,64.527116 -100.368412,64.526085 -100.369718,64.525923 -100.370647,64.525622 -100.372912,64.525187 -100.373328,64.525141 -100.375206,64.524780 -100.376998,64.524489 -100.378107,64.524380 -100.378180,64.524366 -100.379579,64.524140 -100.381241,64.523979 -100.382696,64.523750 -100.383073,64.523713 -100.384424,64.523494 -100.386367,64.523288 -100.387282,64.523126 -100.387341,64.523090 -100.387760,64.522946 -100.387883,64.522894 -100.388166,64.522681 -100.388961,64.522298 -100.389221,64.522212 -100.389370,64.522142 -100.389465,64.522072 -100.390237,64.521710 -100.390425,64.521649 -100.391539,64.521128 -100.395826,64.519291 -100.396993,64.518924 -100.397669,64.518617 -100.399158,64.518016 -100.400242,64.517686 -100.400810,64.517458 -100.401549,64.517226 -100.403034,64.516626 -100.405265,64.515918 -100.407423,64.515339 -100.408069,64.515098 -100.410943,64.514328 -100.413888,64.513606 -100.417769,64.512843 -100.421728,64.512164 -100.423139,64.512021 -100.425766,64.511571 -100.428838,64.511191 -100.431596,64.510972 -100.432891,64.510780 -100.436981,64.510455 -100.441107,64.510216 -100.441266,64.510217 -100.441406,64.510206 -100.441684,64.510219 -100.441727,64.510219 -100.442005,64.510185 -100.444718,64.510101 -100.445121,64.510122 -100.451264,64.510109 -100.453895,64.510195 -100.456250,64.510256 -100.456890,64.510307 -100.457270,64.510306 -100.458159,64.510335 -100.461001,64.510573 -100.462426,64.510609 -100.462662,64.510630 -100.463848,64.510764 -100.465011,64.510802 -100.468602,64.511176 -100.469586,64.511391 -100.470510,64.511475 -100.471468,64.511521 -100.471959,64.511607 -100.472901,64.511693 -100.473023,64.511714 -100.474888,64.511696 -100.481282,64.511811 -100.484036,64.512019 -100.486937,64.512074 -100.490319,64.512330 -100.492778,64.512589 -100.493601,64.512660 -100.495173,64.512719 -100.496783,64.512903 -100.496802,64.512908 -100.497546,64.512995 -100.497749,64.513003 -100.499439,64.513200 -100.501667,64.513703 -100.503951,64.513846 -100.506745,64.514322 -100.507307,64.514466 -100.509500,64.514839 -100.512534,64.515464 -100.513551,64.515747 -100.514654,64.516043 -100.517299,64.516546 -100.518149,64.516759 -100.520083,64.517345 -100.521211,64.517576 -100.527150,64.519260 -100.528808,64.519792 -100.529196,64.519878 -100.531199,64.520520 -100.531818,64.520834 -100.532393,64.521007 -100.533158,64.521188 -100.533514,64.521345 -100.533814,64.521435 -100.534247,64.521668 -100.534475,64.521768 -100.535127,64.521930 -100.537336,64.522797 -100.538082,64.523214 -100.540114,64.524039 -100.542350,64.525058 -100.543425,64.525708 -100.543825,64.525874 -100.544032,64.525972 -100.544214,64.526084 -100.545532,64.526685 -100.546091,64.527006 -100.547025,64.527646 -100.547647,64.527941 -100.549877,64.529341 -100.552236,64.530634 -100.557099,64.533127 -100.558492,64.533764 -100.558603,64.533832 -100.558917,64.533961 -100.564614,64.536612 -100.569386,64.538756 -100.569701,64.538945 -100.569903,64.539032 -100.570058,64.539122 -100.571129,64.539571 -100.571516,64.539760 -100.571785,64.539928 -100.572357,64.540172 -100.573355,64.540677 -100.573688,64.540785 -100.573910,64.540897 -100.574300,64.540989 -100.574825,64.541215 -100.575301,64.541356 -100.575487,64.541399 -100.575564,64.541433 -100.575648,64.541458 -100.575774,64.541526 -100.575790,64.541533 -100.575971,64.541576 -100.580153,64.543115 -100.584072,64.544396 -100.589067,64.545999 -100.591246,64.546621 -100.596592,64.548031 -100.596747,64.548079 -100.596848,64.548099 -100.603321,64.549822 -100.604668,64.550240 -100.604906,64.550289 -100.605918,64.550096 -100.607859,64.549787 -100.609220,64.549655 -100.609282,64.549643 -100.610651,64.549427 -100.612048,64.549292 -100.613346,64.549088 -100.614586,64.548968 -100.615954,64.548751 -100.622028,64.548157 -100.624308,64.548002 -100.624885,64.547920 -100.626971,64.547779 -100.627401,64.547793 -100.627772,64.547768 -100.627958,64.547776 -100.628920,64.547649 -100.629538,64.547618 -100.629680,64.547624 -100.630073,64.547572 -100.639309,64.547130 -100.639779,64.547150 -100.640258,64.547090 -100.640841,64.547091 -100.641378,64.547049 -100.641840,64.547070 -100.642168,64.547029 -100.642474,64.547031 -100.642670,64.547008 -100.643459,64.546988 -100.644562,64.547046 -100.647511,64.547068 -100.649679,64.547053 -100.653988,64.547158 -100.657606,64.547441 -100.659802,64.547494 -100.663136,64.546641 -100.664741,64.546439 -100.665843,64.546083 -100.668592,64.545566 -100.669224,64.545497 -100.671383,64.545091 -100.673522,64.544763 -100.675269,64.544598 -100.675332,64.544586 -100.676614,64.544391 -100.677592,64.544299 -100.678749,64.544118 -100.680459,64.543957 -100.681005,64.543921 -100.682500,64.543693 -100.687446,64.543266 -100.689387,64.543146 -100.689745,64.543096 -100.691684,64.542975 -100.691969,64.542985 -100.692061,64.542979 -100.692343,64.542992 -100.693020,64.542936 -100.693526,64.542870 -100.694968,64.542806 -100.695240,64.542818 -100.695277,64.542815 -100.695530,64.542783 -100.695664,64.542783 -100.695811,64.542771 -100.702788,64.542746 -100.706074,64.542849 -100.709226,64.541358 -100.709392,64.541247 -100.709860,64.540753 -100.715498,64.535987 -100.717095,64.534946 -100.717925,64.534193 -100.718237,64.533989 -100.718603,64.533650 -100.719826,64.532825 -100.721133,64.532056 -100.721373,64.531851 -100.722990,64.530900 -100.723245,64.530805 -100.724575,64.530051 -100.724678,64.529970 -100.724920,64.529856 -100.725093,64.529758 -100.725397,64.529629 -100.725582,64.529514 -100.725813,64.529434 -100.726371,64.529170 -100.726559,64.529027 -100.736479,64.524255 -100.737125,64.524038 -100.738158,64.523549 -100.738319,64.523432 -100.739047,64.523106 -100.739574,64.522936 -100.739932,64.522766 -100.741095,64.522261 -100.741939,64.521993 -100.743818,64.521177 -100.750980,64.518562 -100.753126,64.517939 -100.753145,64.517931 -100.753525,64.517786 -100.753773,64.517713 -100.754746,64.517334 -100.755840,64.517016 -100.756518,64.516752 -100.757219,64.516547 -100.758161,64.516304 -100.758721,64.516091 -100.760321,64.515647 -100.762232,64.514887 -100.763341,64.514550 -100.764338,64.514152 -100.765542,64.513786 -100.766611,64.513360 -100.767616,64.513055 -100.768642,64.512646 -100.770571,64.512055 -100.772524,64.511539 -100.772976,64.511370 -100.775431,64.510721 -100.776692,64.510540 -100.777936,64.510107 -100.782506,64.509215 -100.787181,64.508442 -100.789256,64.508233 -100.791960,64.507785 -100.795536,64.507392 -100.798050,64.507205 -100.798872,64.507085 -100.802232,64.506836 -100.805614,64.506643 -100.811411,64.506584 -100.817190,64.506693 -100.820193,64.506918 -100.822952,64.506970 -100.825746,64.507188 -100.827831,64.507408 -100.828318,64.507423 -100.830870,64.507692 -100.831896,64.507915 -100.832126,64.507937 -100.833403,64.507995 -100.834143,64.508129 -100.834616,64.508174 -100.835402,64.508358 -100.836049,64.508476 -100.837044,64.508534 -100.843187,64.509532 -100.843360,64.509575 -100.844110,64.509696 -100.844201,64.509719 -100.844460,64.509679 -100.855415,64.508779 -100.863679,64.507984 -100.865862,64.507836 -100.866367,64.507764 -100.868429,64.507624 -100.868794,64.507635 -100.868922,64.507617 -100.869442,64.507576 -100.870048,64.507540 -100.870365,64.507498 -100.871584,64.507438 -100.871707,64.507443 -100.873140,64.507358 -100.873829,64.507360 -100.874268,64.507326 -100.875091,64.507363 -100.875636,64.507364 -100.876524,64.507262 -100.885354,64.507110 -100.894789,64.506791 -100.895355,64.506818 -100.895367,64.506818 -100.898727,64.506746 -100.902397,64.506734 -100.903413,64.506799 -100.906068,64.506791 -100.917689,64.507183 -100.926226,64.507250 -100.926954,64.507300 -100.928597,64.507285 -100.929762,64.507311 -100.931990,64.507127 -100.932762,64.507080 -100.932998,64.507043 -100.933014,64.507042 -100.933778,64.506993 -100.934342,64.506913 -100.935093,64.506865 -100.935546,64.506880 -100.935743,64.506867 -100.936710,64.506734 -100.943226,64.506369 -100.943853,64.506392 -100.944140,64.506375 -100.944769,64.506294 -100.945385,64.506293 -100.946055,64.506239 -100.946550,64.506261 -100.946924,64.506213 -100.946998,64.506213 -100.947083,64.506203 -100.947952,64.506177 -100.948200,64.506189 -100.948565,64.506180 -100.948721,64.506162 -100.949865,64.506136 -100.950061,64.506146 -100.951591,64.506111 -100.951598,64.506111 -100.953286,64.505936 -100.953357,64.505928 -100.955184,64.505528 -100.955556,64.505482 -100.955834,64.505406 -100.956530,64.505316 -100.957688,64.505090 -100.958320,64.504883 -100.964876,64.503614 -100.975555,64.501219 -100.975824,64.501185 -100.977298,64.500926 -100.977818,64.500755 -100.980051,64.500320 -100.980540,64.500264 -100.982520,64.499879 -100.984303,64.499587 -100.985562,64.499461 -100.985593,64.499455 -100.986949,64.499235 -100.988443,64.499085 -100.989806,64.498866 -100.990754,64.498771 -100.992102,64.498551 -101.002558,64.497469 -101.004897,64.497301 -101.005531,64.497209 -101.007670,64.497055 -101.007916,64.497062 -101.007991,64.497051 -101.008743,64.496989 -101.009427,64.496947 -101.009687,64.496912 -101.010676,64.496859 -101.010791,64.496863 -101.010846,64.496860 -101.010914,64.496854 -101.010931,64.496855 -101.012752,64.496743 -101.013002,64.496743 -101.013210,64.496726 -101.013618,64.496744 -101.013714,64.496744 -101.014128,64.496693 -101.024192,64.496375 -101.041882,64.495542 -101.042080,64.495550 -101.042328,64.495535 -101.042473,64.495516 -101.042631,64.495516 -101.042979,64.495495 -101.043139,64.495495 -101.043280,64.495483 -101.043560,64.495495 -101.043603,64.495495 -101.043883,64.495460 -101.057379,64.494988 -101.057939,64.495014 -101.058300,64.495015 -101.058909,64.494941 -101.064946,64.494785 -101.075652,64.494105 -101.088883,64.493201 -101.089729,64.493227 -101.090769,64.493083 -101.099996,64.492560 -101.100570,64.492365 -101.101427,64.492124 -101.101963,64.491903 -101.113677,64.488114 -101.115795,64.487534 -101.116408,64.487300 -101.117467,64.487010 -101.117468,64.487010 -101.117775,64.486892 -101.118239,64.486765 -101.118267,64.486761 -101.118428,64.486700 -101.130529,64.483392 -101.131477,64.483251 -101.131793,64.483129 -101.132331,64.482975 -101.133022,64.482799 -101.133345,64.482685 -101.133798,64.482600 -101.133980,64.482553 -101.134753,64.482331 -101.135205,64.482239 -101.135792,64.482089 -101.136601,64.481945 -101.137027,64.481827 -101.137599,64.481752 -101.138520,64.481565 -101.138918,64.481494 -101.139497,64.481303 -101.153584,64.478551 -101.153885,64.478517 -101.154568,64.478374 -101.155139,64.478267 -101.155547,64.478221 -101.156686,64.478007 -101.157503,64.477916 -101.159821,64.477480 -101.174852,64.475239 -101.176000,64.475131 -101.176222,64.475090 -101.176774,64.475010 -101.177940,64.474902 -101.178210,64.474862 -101.178611,64.474825 -101.179716,64.474649 -101.180700,64.474557 -101.180923,64.474541 -101.181452,64.474458 -101.182629,64.474350 -101.183858,64.474268 -101.184773,64.474132 -101.185498,64.474077 -101.186030,64.474091 -101.187371,64.473898 -101.196857,64.473263 -101.203746,64.472588 -101.205907,64.472437 -101.206398,64.472365 -101.208474,64.472220 -101.208850,64.472231 -101.209076,64.472215 -101.209305,64.472225 -101.209686,64.472192 -101.210437,64.472090 -101.212030,64.472008 -101.212439,64.472024 -101.212524,64.472017 -101.212898,64.471968 -101.213100,64.471967 -101.213333,64.471947 -101.218023,64.471860 -101.222711,64.471884 -101.224510,64.472004 -101.227395,64.472019 -101.229396,64.472124 -101.232010,64.472362 -101.233068,64.472387 -101.235379,64.472597 -101.237007,64.472777 -101.237694,64.472800 -101.244957,64.473608 -101.245734,64.473778 -101.246703,64.473819 -101.247864,64.474021 -101.248874,64.474114 -101.249884,64.474347 -101.250469,64.474372 -101.250966,64.474465 -101.251469,64.474493 -101.253064,64.474751 -101.254775,64.475177 -101.259435,64.476047 -101.261873,64.476652 -101.262963,64.476892 -101.268207,64.478372 -101.269400,64.478635 -101.272105,64.479519 -101.272565,64.479752 -101.272802,64.479820 -101.273381,64.479954 -101.273628,64.480058 -101.274019,64.480171 -101.274534,64.480441 -101.275361,64.480791 -101.276223,64.481006 -101.278358,64.481873 -101.278737,64.482086 -101.280425,64.482772 -101.286609,64.485650 -101.287830,64.485552 -101.289400,64.485456 -101.289605,64.485427 -101.291384,64.485319 -101.292246,64.485347 -101.293169,64.485226 -101.295346,64.485210 -101.295844,64.485151 -101.298306,64.485107 -101.298727,64.485130 -101.300771,64.485094 -101.311965,64.485170 -101.313094,64.485246 -101.313966,64.485249 -101.315685,64.485361 -101.318563,64.485371 -101.320092,64.485448 -101.322739,64.485685 -101.323859,64.485710 -101.326010,64.485902 -101.327357,64.486050 -101.328114,64.486073 -101.335918,64.486904 -101.336847,64.487104 -101.338035,64.487154 -101.339187,64.487351 -101.340310,64.487455 -101.341349,64.487693 -101.341979,64.487720 -101.342318,64.487782 -101.342745,64.487806 -101.344413,64.488071 -101.345396,64.488313 -101.346693,64.488512 -101.348853,64.488897 -101.350068,64.489209 -101.352670,64.489672 -101.365010,64.492507 -101.373818,64.494488 -101.374312,64.494629 -101.374858,64.494727 -101.385939,64.497317 -101.385940,64.497318 -101.386074,64.497349 -101.386074,64.497349 -101.386074,64.497349 -101.386173,64.497372 -101.386173,64.497372 -101.386173,64.497372 -101.386323,64.497407 -101.386323,64.497407 -101.386323,64.497407 -101.386643,64.497482 -101.386643,64.497482 -101.386643,64.497482 -101.386820,64.497523 -101.386820,64.497523 -101.386820,64.497523 -101.387581,64.497701 -101.387582,64.497701 -101.387583,64.497702 -101.397031,64.499909 -101.397727,64.500110 -101.398244,64.500206 -101.398774,64.500335 -101.400133,64.500737 -101.400488,64.500809 -101.400779,64.500893 -101.401055,64.500981 -101.401856,64.501141 -101.404584,64.501900 -101.407643,64.499767 -101.408949,64.498978 -101.409197,64.498760 -101.409405,64.498634 -101.409510,64.498540 -101.409857,64.498325 -101.410059,64.498247 -101.410276,64.498055 -101.413437,64.496134 -101.413900,64.495957 -101.414936,64.495349 -101.415198,64.495136 -101.415561,64.494973 -101.415728,64.494865 -101.415914,64.494712 -101.417179,64.494026 -101.422814,64.490420 -101.426955,64.487662 -101.428117,64.486975 -101.428287,64.486827 -101.428424,64.486746 -101.428493,64.486685 -101.428877,64.486452 -101.429181,64.486336 -101.429318,64.486217 -101.429350,64.486198 -101.429487,64.486146 -101.429722,64.485944 -101.436056,64.482267 -101.436609,64.481860 -101.439691,64.478665 -101.439778,64.478602 -101.439936,64.478414 -101.444263,64.474029 -101.444552,64.473822 -101.444648,64.473718 -101.445151,64.473347 -101.446118,64.472290 -101.451620,64.467501 -101.452849,64.466677 -101.453226,64.466413 -101.453986,64.465701 -101.454332,64.465469 -101.454691,64.465126 -101.454808,64.465046 -101.454973,64.464886 -101.460174,64.461234 -101.461488,64.460435 -101.461743,64.460209 -101.461963,64.460076 -101.462072,64.459978 -101.462608,64.459643 -101.463510,64.459125 -101.463595,64.459052 -101.463936,64.458856 -101.464008,64.458795 -101.470260,64.455181 -101.470556,64.455070 -101.471269,64.454650 -101.471373,64.454564 -101.471534,64.454493 -101.471883,64.454287 -101.471930,64.454256 -101.471958,64.454243 -101.472053,64.454187 -101.472129,64.454160 -101.473944,64.453276 -101.474033,64.453210 -101.476089,64.452264 -101.476609,64.452091 -101.478222,64.451349 -101.480606,64.450396 -101.482810,64.449715 -101.483135,64.449568 -101.484128,64.449185 -101.484196,64.449164 -101.484794,64.448921 -101.486768,64.448312 -101.488159,64.447937 -101.489505,64.447417 -101.498693,64.444864 -101.499226,64.444783 -101.499254,64.444772 -101.499630,64.444660 -101.501333,64.444211 -101.501532,64.444140 -101.501787,64.444091 -101.502732,64.443842 -101.502952,64.443778 -101.503056,64.443756 -101.503549,64.443626 -101.503933,64.443575 -101.504760,64.443404 -101.505144,64.443272 -101.506755,64.442933 -101.506962,64.442908 -101.508383,64.442609 -101.509575,64.442384 -101.510027,64.442333 -101.511142,64.442122 -101.512051,64.442019 -101.514430,64.441569 -101.520142,64.440723 -101.526103,64.439515 -101.528159,64.438803 -101.530422,64.438154 -101.531277,64.437819 -101.532421,64.437491 -101.532443,64.437486 -101.532878,64.437315 -101.533513,64.437133 -101.534366,64.436912 -101.534726,64.436774 -101.546179,64.433634 -101.546625,64.433567 -101.546691,64.433547 -101.548541,64.433058 -101.548763,64.432979 -101.549043,64.432925 -101.549811,64.432722 -101.550055,64.432651 -101.550170,64.432627 -101.550603,64.432513 -101.551230,64.432399 -101.551381,64.432355 -101.551434,64.432348 -101.551686,64.432277 -101.552198,64.432208 -101.552236,64.432200 -101.552464,64.432119 -101.553198,64.431991 -101.553474,64.431897 -101.553659,64.431860 -101.553704,64.431854 -101.553852,64.431804 -101.554630,64.431646 -101.554813,64.431624 -101.555594,64.431465 -101.555962,64.431421 -101.557742,64.431058 -101.563259,64.430088 -101.574494,64.427815 -101.574975,64.427757 -101.575755,64.427598 -101.576151,64.427551 -101.577980,64.427179 -101.578990,64.427004 -101.579926,64.426903 -101.581215,64.426678 -101.583038,64.426483 -101.583577,64.426392 -101.585772,64.426009 -101.594010,64.425019 -101.596584,64.424807 -101.597506,64.424666 -101.599778,64.424479 -101.601411,64.424376 -101.602011,64.424290 -101.603930,64.424169 -101.604673,64.424192 -101.604988,64.424164 -101.605644,64.424077 -101.606007,64.424074 -101.606501,64.424031 -101.609351,64.424004 -101.609871,64.423943 -101.612857,64.423899 -101.613501,64.423935 -101.615846,64.423900 -101.623268,64.424014 -101.626077,64.424213 -101.628654,64.424245 -101.632232,64.424498 -101.634330,64.424706 -101.634982,64.424328 -101.635070,64.424252 -101.636094,64.423659 -101.637824,64.423012 -101.638882,64.422205 -101.640678,64.421360 -101.641072,64.421227 -101.642534,64.420539 -101.644646,64.419661 -101.646247,64.419155 -101.646562,64.419009 -101.647726,64.418540 -101.648382,64.418336 -101.649044,64.418064 -101.650461,64.417616 -101.651015,64.417464 -101.652388,64.416911 -101.661600,64.414129 -101.662640,64.413851 -101.662932,64.413736 -101.669810,64.411754 -101.670543,64.411563 -101.671667,64.410499 -101.674342,64.407731 -101.674754,64.406946 -101.676772,64.402880 -101.676985,64.402688 -101.677204,64.402305 -101.677256,64.401967 -101.679149,64.398611 -101.679300,64.398478 -101.679371,64.398336 -101.679593,64.398135 -101.679617,64.398082 -101.679688,64.397746 -101.679841,64.397577 -101.679958,64.397313 -101.680440,64.396917 -101.680645,64.396689 -101.680791,64.396145 -101.681453,64.395321 -101.681587,64.395217 -101.682160,64.394504 -101.682946,64.393658 -101.683227,64.393451 -101.683618,64.393024 -101.684191,64.392600 -101.685186,64.391512 -101.689243,64.388027 -101.690754,64.387015 -101.690927,64.386856 -101.690956,64.386836 -101.691511,64.386314 -101.691772,64.386138 -101.691779,64.386132 -101.691886,64.386058 -101.692193,64.385763 -101.692784,64.385356 -101.693799,64.384741 -101.694192,64.384381 -101.699231,64.381163 -101.700176,64.380611 -101.700274,64.380527 -101.701347,64.379900 -101.701530,64.379831 -101.702845,64.379047 -101.703291,64.378851 -101.703528,64.378699 -101.704135,64.378480 -101.704273,64.378420 -101.704512,64.378222 -101.704736,64.378126 -101.704894,64.378003 -101.705878,64.377527 -101.706309,64.377379 -101.706422,64.377293 -101.707324,64.376866 -101.707711,64.376735 -101.709160,64.376050 -101.713674,64.374163 -101.714325,64.373860 -101.714814,64.371889 -101.715344,64.370739 -101.715397,64.370241 -101.715681,64.369624 -101.715721,64.369554 -101.715751,64.369281 -101.716128,64.368484 -101.716397,64.368017 -101.716399,64.368006 -101.716527,64.367737 -101.716531,64.367716 -101.716779,64.367286 -101.716799,64.367268 -101.717191,64.366591 -101.717220,64.366443 -101.717904,64.365378 -101.718602,64.363643 -101.719064,64.362786 -101.719090,64.362604 -101.719349,64.362126 -101.719395,64.362085 -101.719417,64.361934 -101.719783,64.361273 -101.719934,64.361140 -101.719988,64.361009 -101.720240,64.360801 -101.720275,64.360723 -101.720353,64.360349 -101.720526,64.360157 -101.720636,64.359910 -101.720646,64.359863 -101.720667,64.359840 -101.720677,64.359817 -101.720727,64.359776 -101.720730,64.359773 -101.720740,64.359726 -101.723212,64.356164 -101.723282,64.356107 -101.723353,64.356018 -101.723359,64.355987 -101.723483,64.355855 -101.723730,64.355545 -101.723787,64.355426 -101.723897,64.355335 -101.724133,64.355039 -101.724778,64.353194 -101.725278,64.352218 -101.725313,64.351952 -101.725587,64.351416 -101.725630,64.351378 -101.725657,64.351184 -101.726106,64.350330 -101.726293,64.350163 -101.726335,64.350058 -101.726661,64.349789 -101.726784,64.349205 -101.727358,64.348563 -101.727646,64.347970 -101.728189,64.347521 -101.728236,64.347298 -101.728602,64.346927 -101.728693,64.346625 -101.729282,64.345953 -101.729446,64.345830 -101.729745,64.345484 -101.730081,64.345228 -101.730483,64.344763 -101.731730,64.342905 -101.731767,64.342874 -101.731768,64.342873 -101.731775,64.342838 -101.731790,64.342822 -101.731798,64.342805 -101.731855,64.342732 -101.731859,64.342717 -101.733150,64.341098 -101.734611,64.339510 -101.735228,64.339053 -101.736241,64.337950 -101.738171,64.336311 -101.739719,64.335277 -101.740385,64.334648 -101.742792,64.333040 -101.745391,64.331486 -101.745626,64.331382 -101.745513,64.330280 -101.745526,64.330232 -101.745525,64.330227 -101.745551,64.330128 -101.745449,64.329428 -101.745324,64.326646 -101.744817,64.323595 -101.744900,64.323261 -101.744777,64.323070 -101.744669,64.322098 -101.744721,64.321912 -101.744622,64.321023 -101.744632,64.320598 -101.744738,64.320291 -101.744692,64.319645 -101.745063,64.316036 -101.745236,64.313350 -101.745467,64.312717 -101.745505,64.312121 -101.745710,64.311559 -101.745745,64.310967 -101.745976,64.310334 -101.746004,64.310281 -101.746044,64.309657 -101.746645,64.308058 -101.747126,64.307142 -101.747155,64.306923 -101.747747,64.305796 -101.748195,64.305395 -101.748331,64.305103 -101.748420,64.304676 -101.748641,64.304440 -101.748721,64.304269 -101.748977,64.304057 -101.749008,64.303908 -101.749198,64.303711 -101.749225,64.303606 -101.749227,64.303604 -101.749297,64.303549 -101.749322,64.303453 -101.749609,64.303093 -101.749653,64.303059 -101.749776,64.302901 -101.749871,64.302826 -101.750359,64.302201 -101.755437,64.296466 -101.756061,64.295996 -101.756397,64.295585 -101.757188,64.294766 -101.757953,64.294210 -101.758297,64.293861 -101.758474,64.293728 -101.759250,64.292925 -101.760889,64.291645 -101.762362,64.290697 -101.762797,64.290296 -101.764835,64.288983 -101.767001,64.287709 -101.767245,64.287602 -101.767398,64.287502 -101.767803,64.287355 -101.767883,64.287320 -101.768082,64.287155 -101.768136,64.287131 -101.768190,64.287088 -101.768874,64.286741 -101.769095,64.286663 -101.769187,64.286618 -101.769265,64.286556 -101.769932,64.286225 -101.770087,64.286171 -101.771094,64.285672 -101.777030,64.282958 -101.777307,64.282865 -101.777717,64.282672 -101.778168,64.282520 -101.779691,64.281802 -101.784445,64.279839 -101.788343,64.277928 -101.789189,64.277636 -101.789487,64.277407 -101.790073,64.277133 -101.790511,64.276984 -101.790800,64.276841 -101.791859,64.276356 -101.792574,64.276118 -101.794336,64.275311 -101.800156,64.273047 -101.801274,64.272704 -101.801364,64.272667 -101.802693,64.272250 -101.803993,64.271719 -101.805178,64.271356 -101.805198,64.271350 -101.805952,64.271043 -101.807661,64.270519 -101.809378,64.270054 -101.809691,64.269934 -101.810741,64.269649 -101.810579,64.269019 -101.810587,64.268982 -101.810586,64.268980 -101.810561,64.268945 -101.810560,64.268926 -101.810551,64.268908 -101.810476,64.268207 -101.810393,64.268082 -101.810275,64.267283 -101.810301,64.267184 -101.810198,64.266483 -101.810024,64.262805 -101.810087,64.262601 -101.810016,64.261969 -101.810024,64.261578 -101.810130,64.261269 -101.810083,64.260622 -101.810474,64.256739 -101.810718,64.256101 -101.810738,64.255818 -101.810964,64.255204 -101.811009,64.254515 -101.811257,64.253866 -101.811288,64.253807 -101.811327,64.253275 -101.811914,64.251780 -101.812376,64.250913 -101.812402,64.250725 -101.812959,64.249678 -101.813286,64.249386 -101.813559,64.248772 -101.813586,64.248638 -101.813590,64.248633 -101.813590,64.248632 -101.813594,64.248629 -101.813659,64.248546 -101.813675,64.248509 -101.813713,64.248478 -101.813831,64.248329 -101.813845,64.248264 -101.816210,64.244931 -101.816468,64.244720 -101.816711,64.244461 -101.816735,64.244343 -101.816771,64.244299 -101.816804,64.244176 -101.817447,64.243385 -101.817630,64.243243 -101.818278,64.242445 -101.819199,64.241481 -101.819601,64.241187 -101.820035,64.240728 -101.820853,64.240126 -101.821930,64.238984 -101.826506,64.235286 -101.828010,64.234300 -101.828518,64.233825 -101.828877,64.233590 -101.829106,64.233372 -101.830091,64.232709 -101.831191,64.232047 -101.831340,64.231914 -101.832635,64.231134 -101.833420,64.230833 -101.833977,64.230369 -101.834673,64.230061 -101.834973,64.229868 -101.835716,64.229598 -101.836024,64.229461 -101.836255,64.229269 -101.836675,64.229089 -101.836966,64.228867 -101.838248,64.228267 -101.838719,64.228108 -101.839003,64.227967 -101.840078,64.227476 -101.840853,64.227218 -101.842650,64.226397 -101.849034,64.223935 -101.850786,64.223399 -101.851436,64.223194 -101.852777,64.222647 -101.853966,64.222283 -101.853995,64.222275 -101.854707,64.221985 -101.856373,64.221476 -101.858051,64.221022 -101.858344,64.220909 -101.860349,64.220367 -101.862365,64.220064 -101.864083,64.219466 -101.865797,64.219100 -101.866035,64.219070 -101.867530,64.218751 -101.868763,64.218517 -101.869271,64.218458 -101.870338,64.218254 -101.871365,64.218135 -101.873794,64.217671 -101.879792,64.216787 -101.882086,64.216566 -101.882510,64.216501 -101.882955,64.216457 -101.884256,64.216245 -101.886569,64.216022 -101.888071,64.215915 -101.889237,64.215737 -101.891532,64.215562 -101.891867,64.215570 -101.892459,64.215523 -101.892588,64.215526 -101.892764,64.215499 -101.892806,64.215496 -101.893415,64.215510 -101.894271,64.215392 -101.894777,64.215387 -101.895641,64.215308 -101.897637,64.215285 -101.898126,64.215225 -101.900464,64.215170 -101.900846,64.215190 -101.902806,64.215144 -101.913353,64.215152 -101.914281,64.215210 -101.915188,64.215208 -101.916732,64.215302 -101.919557,64.215295 -101.921025,64.215357 -101.923710,64.215582 -101.924950,64.215605 -101.926721,64.215753 -101.927427,64.215828 -101.928235,64.215846 -101.935982,64.216570 -101.942199,64.217027 -101.944192,64.217226 -101.944624,64.217237 -101.947032,64.217478 -101.947154,64.217503 -101.948788,64.217680 -101.949129,64.217692 -101.955287,64.218424 -101.955300,64.218427 -101.955315,64.218427 -101.957419,64.218677 -101.963019,64.216806 -101.965081,64.216219 -101.965662,64.215990 -101.966238,64.215826 -101.966588,64.215686 -101.976768,64.212690 -101.978214,64.212305 -101.978409,64.212231 -101.979194,64.212022 -101.979257,64.212012 -101.979417,64.211951 -101.980139,64.211760 -101.980484,64.211709 -101.980980,64.211558 -101.981187,64.211529 -101.981456,64.211457 -101.981703,64.211367 -101.982022,64.211306 -101.982107,64.211283 -101.982484,64.211170 -101.982673,64.211132 -101.982755,64.211110 -101.983009,64.211062 -101.983332,64.210996 -101.983595,64.210919 -101.983922,64.210874 -101.984878,64.210677 -101.985276,64.210538 -101.991781,64.209141 -101.997829,64.207592 -102.006173,64.205444 -102.006528,64.205393 -102.007109,64.205236 -102.007311,64.205162 -102.007554,64.205115 -102.007638,64.205092 -102.007880,64.205020 -102.007991,64.204997 -102.008162,64.204951 -102.008625,64.204864 -102.008929,64.204801 -102.009000,64.204780 -102.009072,64.204770 -102.009381,64.204680 -102.009742,64.204631 -102.010082,64.204559 -102.010219,64.204509 -102.010920,64.204384 -102.011030,64.204361 -102.011307,64.204266 -102.011539,64.204218 -102.011622,64.204208 -102.011821,64.204139 -102.012659,64.203968 -102.012885,64.203941 -102.013648,64.203783 -102.014108,64.203726 -102.016022,64.203332 -102.027547,64.201320 -102.028159,64.201253 -102.028294,64.201227 -102.029064,64.201138 -102.033584,64.199439 -102.037521,64.197751 -102.041391,64.195642 -102.041394,64.195640 -102.041394,64.195640 -102.041396,64.195639 -102.041397,64.195638 -102.041398,64.195637 -102.042714,64.194987 -102.042771,64.194942 -102.043682,64.194484 -102.043827,64.194432 -102.044798,64.193944 -102.045908,64.193428 -102.046463,64.193240 -102.046736,64.193104 -102.047842,64.192602 -102.048765,64.192294 -102.050635,64.191445 -102.057325,64.188915 -102.060871,64.187234 -102.066634,64.184331 -102.072006,64.181477 -102.072301,64.181370 -102.072408,64.181300 -102.072560,64.181244 -102.073112,64.180972 -102.073149,64.180941 -102.073368,64.180846 -102.073835,64.180615 -102.074017,64.180473 -102.074757,64.180114 -102.075237,64.179948 -102.075338,64.179870 -102.076289,64.179419 -102.076798,64.179245 -102.078375,64.178498 -102.085928,64.175388 -102.087078,64.175021 -102.087816,64.174714 -102.088965,64.174345 -102.090047,64.173894 -102.091202,64.173526 -102.091231,64.173518 -102.092166,64.173127 -102.093466,64.172715 -102.095284,64.172210 -102.095660,64.172063 -102.097118,64.171658 -102.097465,64.171604 -102.097910,64.171481 -102.098696,64.171182 -102.107075,64.169010 -102.107610,64.168932 -102.107761,64.168886 -102.108182,64.168728 -102.110471,64.168159 -102.112959,64.167152 -102.114112,64.166788 -102.114574,64.166596 -102.115761,64.166216 -102.115870,64.166165 -102.116347,64.165971 -102.116377,64.165961 -102.116947,64.165724 -102.117339,64.165601 -102.117434,64.165561 -102.117971,64.165388 -102.118213,64.165320 -102.119017,64.164986 -102.119697,64.164772 -102.120562,64.164533 -102.121225,64.164264 -102.128569,64.162061 -102.130080,64.161653 -102.130301,64.161568 -102.131126,64.161345 -102.131196,64.161335 -102.131377,64.161265 -102.132145,64.161060 -102.132508,64.161005 -102.133022,64.160847 -102.133361,64.160800 -102.133790,64.160641 -102.134148,64.160572 -102.134613,64.160432 -102.135520,64.160306 -102.135853,64.160242 -102.136586,64.159985 -102.138584,64.159562 -102.138915,64.159520 -102.140608,64.159160 -102.142037,64.158897 -102.142757,64.158814 -102.143873,64.158606 -102.145333,64.158438 -102.147917,64.157957 -102.158237,64.156555 -102.160830,64.156317 -102.162394,64.156049 -102.171540,64.155066 -102.173703,64.154897 -102.174210,64.154819 -102.176352,64.154651 -102.176740,64.154660 -102.176911,64.154646 -102.176920,64.154647 -102.177088,64.154620 -102.177561,64.154579 -102.178127,64.154541 -102.178409,64.154500 -102.179685,64.154426 -102.179773,64.154429 -102.181015,64.154345 -102.181841,64.154340 -102.182322,64.154298 -102.183218,64.154331 -102.183961,64.154326 -102.184936,64.154204 -102.195506,64.153968 -102.195747,64.153980 -102.196590,64.153959 -102.196969,64.153977 -102.198920,64.153927 -102.207457,64.153915 -102.215519,64.153707 -102.216454,64.153752 -102.216837,64.153705 -102.218831,64.153673 -102.219612,64.153715 -102.222072,64.153675 -102.222984,64.153691 -102.224746,64.153814 -102.226834,64.153808 -102.231010,64.153991 -102.233641,64.154211 -102.234765,64.154230 -102.238468,64.154540 -102.242131,64.154921 -102.242146,64.154922 -102.244806,64.155253 -102.244815,64.155255 -102.244816,64.155255 -102.244826,64.155256 -102.244832,64.155257 -102.244837,64.155257 -102.245363,64.155348 -102.246362,64.155496 -102.246582,64.155436 -102.246829,64.155344 -102.247144,64.155282 -102.247546,64.155173 -102.247875,64.155074 -102.248036,64.155039 -102.248400,64.154940 -102.248557,64.154910 -102.248683,64.154873 -102.248966,64.154833 -102.249011,64.154824 -102.249248,64.154738 -102.257925,64.152710 -102.262781,64.151460 -102.263135,64.151409 -102.263495,64.151311 -102.263734,64.151222 -102.263961,64.151178 -102.264211,64.151103 -102.264428,64.151057 -102.264634,64.151001 -102.264989,64.150934 -102.265237,64.150860 -102.265598,64.150810 -102.266088,64.150706 -102.266444,64.150579 -102.274189,64.148841 -102.274851,64.148754 -102.274904,64.148744 -102.274982,64.148715 -102.275006,64.148710 -102.275222,64.148634 -102.275417,64.148593 -102.275520,64.148579 -102.275700,64.148516 -102.276217,64.148408 -102.276386,64.148386 -102.277007,64.148255 -102.277357,64.148210 -102.279085,64.147842 -102.286197,64.146531 -102.286805,64.146462 -102.287336,64.146351 -102.288004,64.146233 -102.289052,64.146116 -102.290197,64.145911 -102.291320,64.145785 -102.291908,64.145682 -102.292347,64.145632 -102.292466,64.145622 -102.293446,64.145452 -102.293749,64.145418 -102.294964,64.145201 -102.301976,64.144355 -102.302710,64.144292 -102.303115,64.144222 -102.309052,64.143551 -102.309342,64.143527 -102.309485,64.143503 -102.317030,64.142672 -102.319228,64.142496 -102.319762,64.142413 -102.321930,64.142239 -102.322336,64.142248 -102.322528,64.142232 -102.322746,64.142240 -102.322914,64.142224 -102.323295,64.142163 -102.323672,64.142131 -102.323677,64.142131 -102.324017,64.142082 -102.325574,64.141989 -102.325993,64.142002 -102.326415,64.141943 -102.327994,64.141928 -102.328662,64.141841 -102.330442,64.141784 -102.330657,64.141793 -102.332225,64.141743 -102.340646,64.141629 -102.340680,64.141631 -102.340804,64.141627 -102.348878,64.141525 -102.358439,64.141361 -102.367851,64.141004 -102.375255,64.140671 -102.375727,64.140689 -102.376138,64.140634 -102.384619,64.140299 -102.385573,64.140338 -102.386207,64.140334 -102.386923,64.140246 -102.389887,64.140194 -102.390649,64.140233 -102.393091,64.140190 -102.393962,64.140203 -102.395614,64.140317 -102.397641,64.140306 -102.401275,64.140454 -102.401873,64.140436 -102.402922,64.140484 -102.403411,64.140424 -102.405599,64.140385 -102.406363,64.140424 -102.408807,64.140381 -102.409679,64.140394 -102.411334,64.140507 -102.413361,64.140497 -102.418919,64.140723 -102.427620,64.140888 -102.428844,64.140974 -102.429928,64.140964 -102.430740,64.140992 -102.432163,64.141102 -102.432521,64.141106 -102.433119,64.141148 -102.433751,64.141209 -102.434925,64.141224 -102.436282,64.141329 -102.437000,64.141339 -102.443188,64.141819 -102.444953,64.141996 -102.445262,64.142003 -102.445997,64.142077 -102.446194,64.142081 -102.453811,64.142820 -102.454171,64.142506 -102.455679,64.141469 -102.456306,64.140857 -102.458628,64.139260 -102.461137,64.137715 -102.461414,64.137575 -102.461555,64.137490 -102.461840,64.137360 -102.461994,64.137283 -102.462176,64.137162 -102.462399,64.137079 -102.463225,64.136662 -102.463418,64.136506 -102.469302,64.133540 -102.470188,64.133225 -102.471716,64.132468 -102.473744,64.131567 -102.475169,64.131092 -102.477166,64.130205 -102.479666,64.129314 -102.481849,64.128665 -102.482619,64.128352 -102.485661,64.127448 -102.488794,64.126601 -102.489120,64.126533 -102.489202,64.126510 -102.489458,64.126461 -102.490169,64.126312 -102.490458,64.126227 -102.490808,64.126177 -102.492519,64.125816 -102.492970,64.125659 -102.493983,64.125449 -102.495599,64.125065 -102.496092,64.124997 -102.496940,64.124836 -102.497140,64.124762 -102.497194,64.124750 -102.497451,64.124660 -102.499358,64.124256 -102.499786,64.124201 -102.501642,64.123808 -102.503202,64.123526 -102.503238,64.123521 -102.505839,64.122968 -102.510346,64.122147 -102.512324,64.121920 -102.514961,64.121439 -102.518265,64.121024 -102.520754,64.120805 -102.521588,64.120670 -102.524937,64.120374 -102.528314,64.120138 -102.529216,64.120130 -102.529717,64.120086 -102.530646,64.120118 -102.530675,64.120117 -102.530729,64.120109 -102.532351,64.120003 -102.532522,64.119981 -102.532764,64.119976 -102.535738,64.119781 -102.536370,64.119798 -102.537023,64.119705 -102.537688,64.119697 -102.538333,64.119637 -102.538882,64.119656 -102.539261,64.119602 -102.539492,64.119601 -102.539666,64.119577 -102.540595,64.119542 -102.541731,64.119588 -102.545574,64.119567 -102.547026,64.119540 -102.548060,64.119554 -102.548228,64.119553 -102.548345,64.119558 -102.551245,64.119597 -102.555117,64.119857 -102.557548,64.119890 -102.560609,64.120135 -102.562272,64.120303 -102.562537,64.120309 -102.564455,64.120503 -102.566402,64.120911 -102.568509,64.121007 -102.570636,64.121322 -102.570947,64.121395 -102.572745,64.121662 -102.577814,64.122546 -102.578271,64.122661 -102.578619,64.122718 -102.579467,64.122926 -102.581898,64.123323 -102.587432,64.124466 -102.589861,64.125123 -102.591608,64.125458 -102.591633,64.125464 -102.592340,64.125595 -102.593572,64.125909 -102.595475,64.126475 -102.596041,64.126590 -102.597176,64.126927 -102.597307,64.126989 -102.597833,64.127097 -102.601295,64.128149 -102.602072,64.128523 -102.603279,64.128790 -102.604342,64.129222 -102.605419,64.129534 -102.606510,64.130091 -102.607045,64.130220 -102.607279,64.130272 -102.607303,64.130282 -102.607715,64.130382 -102.609576,64.131119 -102.609784,64.131233 -102.612187,64.131880 -102.613826,64.132379 -102.614193,64.132455 -102.616161,64.133055 -102.616813,64.133369 -102.617239,64.133490 -102.618090,64.133679 -102.618499,64.133850 -102.618827,64.133943 -102.619305,64.134187 -102.619428,64.134239 -102.620101,64.134426 -102.620300,64.134472 -102.621637,64.134975 -102.621733,64.135026 -102.621793,64.135049 -102.621899,64.135073 -102.621987,64.135106 -102.622079,64.135156 -102.622956,64.135484 -102.623173,64.135572 -102.623193,64.135584 -102.623283,64.135617 -102.625598,64.136561 -102.626222,64.136908 -102.628136,64.137688 -102.634347,64.140692 -102.634372,64.140707 -102.634412,64.140723 -102.639283,64.143084 -102.642619,64.144481 -102.649430,64.146938 -102.653769,64.148459 -102.656473,64.149240 -102.664466,64.151396 -102.665503,64.151711 -102.665867,64.151783 -102.671569,64.153400 -102.674701,64.154123 -102.675824,64.154440 -102.676511,64.154565 -102.677194,64.154735 -102.677947,64.154955 -102.677968,64.154959 -102.678438,64.155092 -102.678786,64.155201 -102.679196,64.155321 -102.679858,64.155454 -102.680642,64.155683 -102.680966,64.155748 -102.686433,64.157333 -102.687453,64.157812 -102.689119,64.158180 -102.690131,64.158586 -102.691467,64.158969 -102.691790,64.159133 -102.692187,64.159244 -102.692529,64.159417 -102.692746,64.159465 -102.693071,64.159605 -102.693479,64.159702 -102.694169,64.159969 -102.694394,64.160091 -102.694625,64.160146 -102.694646,64.160154 -102.694661,64.160158 -102.695088,64.160328 -102.695161,64.160368 -102.695231,64.160385 -102.697052,64.161112 -102.697542,64.161381 -102.699359,64.162106 -102.703670,64.164111 -102.704569,64.164645 -102.705124,64.164895 -102.705973,64.165391 -102.706918,64.165816 -102.707842,64.166364 -102.707853,64.166372 -102.708864,64.166827 -102.709920,64.167455 -102.711047,64.168216 -102.711353,64.168363 -102.712122,64.168882 -102.712233,64.169016 -102.712664,64.169226 -102.716803,64.172131 -102.717088,64.172484 -102.717714,64.172801 -102.718185,64.173253 -102.718742,64.173610 -102.718857,64.173763 -102.719064,64.173891 -102.719348,64.174268 -102.719888,64.174559 -102.720176,64.174814 -102.720190,64.174822 -102.721255,64.175766 -102.721373,64.175938 -102.722259,64.176724 -102.725730,64.180301 -102.726064,64.180846 -102.726753,64.181541 -102.727187,64.182237 -102.728314,64.183373 -102.731184,64.187377 -102.731752,64.188527 -102.732164,64.189000 -102.732651,64.189984 -102.732716,64.190151 -102.732825,64.190274 -102.733023,64.190648 -102.733140,64.190938 -102.733171,64.190977 -102.733303,64.191313 -102.733300,64.191336 -102.733350,64.191459 -102.733467,64.191601 -102.733853,64.192559 -102.733816,64.192897 -102.734017,64.193303 -102.734182,64.193521 -102.734189,64.193648 -102.734240,64.193749 -102.734205,64.193949 -102.734208,64.194004 -102.734354,64.194206 -102.735180,64.197913 -102.735099,64.198317 -102.735102,64.198379 -102.735292,64.198657 -102.735448,64.199725 -102.735404,64.199909 -102.735534,64.200794 -102.735539,64.201192 -102.735452,64.201477 -102.735518,64.202085 -102.735299,64.205731 -102.735288,64.205763 -102.735294,64.205816 -102.735070,64.209209 -102.735076,64.211543 -102.735676,64.213541 -102.735663,64.213620 -102.735722,64.213698 -102.735733,64.213892 -102.735797,64.213976 -102.735803,64.214073 -102.735827,64.214122 -102.735824,64.214138 -102.735853,64.214195 -102.735820,64.214389 -102.735822,64.214439 -102.735964,64.214634 -102.736797,64.218334 -102.736767,64.218486 -102.736803,64.218563 -102.736757,64.218829 -102.736866,64.219521 -102.737054,64.219801 -102.737257,64.221418 -102.737248,64.221454 -102.737264,64.221479 -102.737459,64.223089 -102.737296,64.223738 -102.737400,64.224461 -102.737409,64.225532 -102.737389,64.225599 -102.737397,64.225660 -102.737397,64.225785 -102.737124,64.226653 -102.737134,64.227708 -102.737122,64.227752 -102.737077,64.227853 -102.737077,64.228041 -102.736654,64.229533 -102.736604,64.229721 -102.736529,64.229889 -102.736529,64.229972 -102.736527,64.229981 -102.736118,64.230873 -102.736095,64.231157 -102.736064,64.231226 -102.736032,64.231256 -102.736025,64.231335 -102.735589,64.232285 -102.735456,64.232582 -102.735417,64.232620 -102.735413,64.232671 -102.735409,64.232679 -102.735248,64.232831 -102.734617,64.234430 -102.734216,64.235208 -102.734201,64.235346 -102.733968,64.235797 -102.733912,64.235849 -102.733895,64.235990 -102.733701,64.236355 -102.733556,64.236487 -102.733517,64.236559 -102.733437,64.236773 -102.733432,64.236777 -102.733412,64.236917 -102.730958,64.241175 -102.730739,64.241369 -102.730717,64.241425 -102.730682,64.241629 -102.730595,64.241729 -102.730544,64.241857 -102.730414,64.242031 -102.730406,64.242077 -102.730348,64.242143 -102.730322,64.242205 -102.730260,64.242258 -102.730162,64.243835 -102.729903,64.244588 -102.729927,64.244792 -102.729926,64.244817 -102.729848,64.245051 -102.729874,64.245515 -102.729818,64.245846 -102.729810,64.245867 -102.729811,64.245889 -102.729777,64.246090 -102.729441,64.246928 -102.729425,64.247360 -102.729419,64.247378 -102.729275,64.247667 -102.729261,64.247904 -102.728972,64.248626 -102.728867,64.248830 -102.728838,64.249207 -102.727860,64.251459 -102.727501,64.252128 -102.727489,64.252222 -102.727276,64.252619 -102.727218,64.252672 -102.727202,64.252791 -102.726894,64.253349 -102.726833,64.253403 -102.726826,64.253421 -102.726604,64.253613 -102.726564,64.253712 -102.726518,64.253979 -102.726404,64.254111 -102.726330,64.254295 -102.725992,64.254585 -102.725517,64.255133 -102.725409,64.255558 -102.724385,64.256805 -102.724056,64.257065 -102.723258,64.258037 -102.721969,64.259310 -102.721145,64.259909 -102.720700,64.260354 -102.720081,64.260806 -102.719534,64.261359 -102.718709,64.261959 -102.718527,64.262074 -102.717962,64.262639 -102.717681,64.262838 -102.719107,64.263809 -102.719317,64.264064 -102.719438,64.264121 -102.719761,64.264339 -102.719845,64.264441 -102.720294,64.264668 -102.720638,64.264994 -102.720705,64.265034 -102.720766,64.265115 -102.720807,64.265141 -102.721028,64.265253 -102.721037,64.265262 -102.721393,64.265267 -102.724060,64.265493 -102.726383,64.265732 -102.726751,64.265742 -102.732947,64.266436 -102.733293,64.266510 -102.733368,64.266516 -102.733736,64.266528 -102.733913,64.266557 -102.734130,64.266574 -102.734320,64.266615 -102.734520,64.266622 -102.734879,64.266682 -102.735172,64.266706 -102.735473,64.266772 -102.735736,64.266782 -102.736001,64.266820 -102.736106,64.266844 -102.736203,64.266848 -102.736347,64.266868 -102.736475,64.266873 -102.740812,64.267462 -102.740835,64.267458 -102.743904,64.267194 -102.745331,64.267218 -102.746997,64.266979 -102.752379,64.266843 -102.757760,64.266854 -102.760311,64.267008 -102.763139,64.267013 -102.765513,64.267150 -102.767794,64.267352 -102.768434,64.267363 -102.771335,64.267620 -102.772090,64.267771 -102.772300,64.267787 -102.772409,64.267785 -102.779527,64.267928 -102.784823,64.268295 -102.786618,64.268330 -102.790209,64.268670 -102.791074,64.268846 -102.791683,64.268892 -102.792536,64.268919 -102.792970,64.268989 -102.793700,64.269044 -102.801427,64.270337 -102.807585,64.271679 -102.808222,64.271576 -102.808291,64.271570 -102.808950,64.271461 -102.815938,64.270813 -102.817543,64.270696 -102.817763,64.270662 -102.819595,64.270528 -102.820147,64.270540 -102.821351,64.270423 -102.821433,64.270411 -102.821477,64.270411 -102.821518,64.270407 -102.821602,64.270410 -102.821608,64.270410 -102.821689,64.270398 -102.823053,64.270327 -102.823221,64.270333 -102.823309,64.270332 -102.828156,64.268565 -102.830382,64.267894 -102.831233,64.267544 -102.832415,64.267187 -102.832537,64.267154 -102.832999,64.266965 -102.834382,64.266551 -102.835753,64.266178 -102.835923,64.266111 -102.837485,64.265686 -102.839456,64.265382 -102.841032,64.264821 -102.843021,64.264388 -102.843350,64.264345 -102.845037,64.263978 -102.846408,64.263718 -102.847089,64.263637 -102.848102,64.263442 -102.849496,64.263275 -102.852060,64.262781 -102.855856,64.262240 -102.858564,64.261977 -102.859821,64.261766 -102.862215,64.261533 -102.863912,64.261405 -102.864758,64.261273 -102.866908,64.261109 -102.867777,64.261127 -102.868243,64.261081 -102.868991,64.260974 -102.869413,64.260967 -102.870033,64.260906 -102.877189,64.260783 -102.884319,64.260921 -102.889640,64.261286 -102.891421,64.261321 -102.895013,64.261658 -102.895468,64.261751 -102.895848,64.261759 -102.895939,64.261768 -102.896442,64.261872 -102.896564,64.261880 -102.897316,64.261904 -102.897636,64.261956 -102.897650,64.261956 -102.897670,64.261961 -102.897689,64.261964 -102.897741,64.261965 -102.897824,64.261979 -102.898467,64.262027 -102.898982,64.262113 -102.902636,64.262636 -102.906557,64.263292 -102.907793,64.263595 -102.910403,64.264032 -102.912829,64.264562 -102.916731,64.265249 -102.917813,64.265520 -102.919289,64.265775 -102.920764,64.266142 -102.921792,64.266329 -102.923544,64.266631 -102.926336,64.267276 -102.930651,64.268219 -102.933007,64.268865 -102.934270,64.269107 -102.936733,64.269783 -102.937794,64.270107 -102.938353,64.270219 -102.940188,64.270764 -102.940430,64.270879 -102.940450,64.270884 -102.940587,64.270953 -102.940872,64.271087 -102.941484,64.271255 -102.942285,64.271429 -102.942644,64.271572 -102.943334,64.271761 -102.943984,64.272087 -102.944766,64.272267 -102.946172,64.272786 -102.946318,64.272863 -102.947552,64.273318 -102.951946,64.275086 -102.952113,64.275178 -102.952283,64.275244 -102.952406,64.275310 -102.952449,64.275321 -102.952609,64.275383 -102.952950,64.275566 -102.954454,64.276153 -102.954592,64.276215 -102.954751,64.276277 -102.960019,64.278633 -102.960697,64.278775 -102.961662,64.279034 -102.962713,64.279213 -102.965027,64.279737 -102.968236,64.280266 -102.970398,64.280794 -102.973964,64.281429 -102.976109,64.281953 -102.976251,64.281982 -102.976473,64.282041 -102.977359,64.282257 -102.977478,64.282292 -102.978196,64.282447 -102.982058,64.283502 -102.982732,64.283641 -102.982991,64.283722 -102.983159,64.283803 -102.985141,64.284344 -102.985228,64.284363 -102.988349,64.285410 -102.988382,64.285426 -102.988384,64.285426 -102.988428,64.285436 -102.988446,64.285443 -102.988467,64.285449 -102.992431,64.286965 -102.996165,64.288582 -102.996315,64.288667 -102.997133,64.288912 -102.997501,64.288986 -102.997992,64.289133 -102.998004,64.289135 -102.999556,64.289597 -102.999781,64.289703 -103.000037,64.289779 -103.000188,64.289855 -103.000192,64.289856 -103.000963,64.290019 -103.007367,64.292077 -103.013770,64.294127 -103.014087,64.294282 -103.014187,64.294309 -103.014592,64.294397 -103.014763,64.294466 -103.015003,64.294532 -103.015340,64.294701 -103.015841,64.294904 -103.016463,64.295046 -103.017897,64.295575 -103.018050,64.295655 -103.019305,64.296117 -103.020942,64.296776 -103.021641,64.297158 -103.022052,64.297312 -103.023345,64.297850 -103.024350,64.298410 -103.026405,64.299264 -103.030739,64.301491 -103.032298,64.302458 -103.033117,64.302831 -103.035169,64.304105 -103.037019,64.305372 -103.037124,64.305425 -103.037775,64.305114 -103.042931,64.303010 -103.044098,64.302635 -103.044363,64.302523 -103.045574,64.302127 -103.046778,64.301616 -103.047986,64.301228 -103.048080,64.301201 -103.048893,64.300857 -103.050650,64.300297 -103.052342,64.299820 -103.052647,64.299698 -103.054681,64.299124 -103.055062,64.299063 -103.056518,64.298664 -103.056753,64.298575 -103.057151,64.298490 -103.057222,64.298470 -103.057446,64.298427 -103.058408,64.298221 -103.058686,64.298139 -103.059018,64.298091 -103.061171,64.297630 -103.061613,64.297476 -103.068214,64.296120 -103.070341,64.295850 -103.070977,64.295732 -103.072389,64.295436 -103.074766,64.295025 -103.078006,64.294662 -103.080470,64.294235 -103.083523,64.293913 -103.085474,64.293756 -103.085844,64.293697 -103.088178,64.293510 -103.091116,64.293562 -103.093766,64.293225 -103.097015,64.293153 -103.097800,64.293190 -103.100270,64.293135 -103.101106,64.293144 -103.102533,64.293235 -103.103468,64.293183 -103.103494,64.293183 -103.103518,64.293180 -103.104083,64.293173 -103.104279,64.293153 -103.104360,64.293151 -103.104561,64.293132 -103.104875,64.293142 -103.105086,64.293138 -103.105298,64.293107 -103.106152,64.293101 -103.106599,64.293041 -103.107336,64.293015 -103.107883,64.293037 -103.108083,64.293011 -103.109469,64.292970 -103.109918,64.292989 -103.111993,64.292927 -103.118017,64.292904 -103.118779,64.292829 -103.119131,64.292840 -103.119453,64.292794 -103.120668,64.292735 -103.121293,64.292756 -103.122596,64.292741 -103.123230,64.292659 -103.125909,64.292592 -103.126553,64.292621 -103.128886,64.292562 -103.136255,64.292600 -103.136686,64.292626 -103.137256,64.292614 -103.137742,64.292620 -103.139403,64.292725 -103.141371,64.292706 -103.144518,64.292821 -103.144524,64.292821 -103.144529,64.292821 -103.146413,64.292890 -103.152526,64.292939 -103.155307,64.293112 -103.155754,64.293114 -103.155783,64.293116 -103.157744,64.293121 -103.160533,64.293294 -103.160839,64.293321 -103.161697,64.293326 -103.163377,64.293437 -103.165333,64.293617 -103.165736,64.293624 -103.168081,64.293838 -103.169103,64.294043 -103.170412,64.294082 -103.171239,64.294218 -103.171739,64.294258 -103.172570,64.294438 -103.173344,64.294565 -103.174393,64.294611 -103.178411,64.295207 -103.178802,64.295265 -103.185684,64.294729 -103.187750,64.294549 -103.187998,64.294422 -103.188001,64.294421 -103.188027,64.294412 -103.188097,64.294376 -103.190689,64.293166 -103.190755,64.293144 -103.190790,64.293127 -103.191687,64.292818 -103.193515,64.291965 -103.193519,64.291963 -103.193569,64.291947 -103.193616,64.291925 -103.196428,64.290836 -103.198728,64.290115 -103.199863,64.289637 -103.203432,64.288518 -103.207134,64.287479 -103.207315,64.287441 -103.207383,64.287422 -103.207605,64.287378 -103.208016,64.287290 -103.208281,64.287210 -103.208619,64.287160 -103.209662,64.286936 -103.210078,64.286785 -103.214492,64.285802 -103.216021,64.285596 -103.216817,64.285445 -103.219008,64.284978 -103.222122,64.284424 -103.224940,64.284100 -103.227499,64.283644 -103.230769,64.283273 -103.232907,64.283092 -103.233392,64.283013 -103.236031,64.282789 -103.237279,64.282809 -103.238686,64.282602 -103.242736,64.282458 -103.246791,64.282397 -103.248091,64.282462 -103.250854,64.282421 -103.252248,64.282458 -103.255027,64.282656 -103.256518,64.282666 -103.257379,64.282727 -103.258085,64.282731 -103.263655,64.283104 -103.264389,64.283046 -103.264509,64.283049 -103.266839,64.282865 -103.267177,64.282814 -103.271986,64.282517 -103.272227,64.282524 -103.272462,64.282489 -103.272776,64.282484 -103.273226,64.282450 -103.273455,64.282447 -103.273622,64.282431 -103.273919,64.282440 -103.274099,64.282413 -103.274312,64.282411 -103.274480,64.282395 -103.274855,64.282406 -103.275021,64.282405 -103.275465,64.282344 -103.275943,64.282326 -103.276517,64.282348 -103.276987,64.282286 -103.283891,64.282072 -103.284943,64.282116 -103.286557,64.282061 -103.289338,64.282031 -103.290886,64.282111 -103.290985,64.282110 -103.291068,64.282113 -103.293804,64.282083 -103.295481,64.282141 -103.298158,64.282342 -103.299342,64.282352 -103.301062,64.282481 -103.301693,64.282541 -103.302453,64.282551 -103.307117,64.282940 -103.308065,64.283125 -103.308425,64.283129 -103.308684,64.283151 -103.308976,64.283208 -103.310131,64.283241 -103.311302,64.283422 -103.311330,64.283424 -103.311478,64.283433 -103.311494,64.283437 -103.311721,64.283454 -103.311737,64.283455 -103.311748,64.283457 -103.312747,64.283534 -103.312995,64.283588 -103.313264,64.283607 -103.313789,64.283719 -103.314113,64.283729 -103.314558,64.283804 -103.314964,64.283821 -103.315472,64.283893 -103.315552,64.283911 -103.315621,64.283914 -103.316330,64.284015 -103.316732,64.284107 -103.317007,64.284119 -103.318888,64.284400 -103.319450,64.284532 -103.321650,64.284860 -103.326246,64.285706 -103.327567,64.286041 -103.328502,64.286205 -103.328931,64.286312 -103.329601,64.286292 -103.330134,64.286315 -103.332331,64.286251 -103.338656,64.286244 -103.339315,64.286281 -103.340391,64.286256 -103.340966,64.286262 -103.342594,64.286363 -103.344528,64.286341 -103.349895,64.286527 -103.352343,64.286521 -103.356245,64.286471 -103.356365,64.286477 -103.356698,64.286465 -103.361979,64.286412 -103.362989,64.286465 -103.365120,64.286416 -103.365906,64.286424 -103.367631,64.286532 -103.369602,64.286512 -103.371997,64.286599 -103.372630,64.286324 -103.374114,64.285828 -103.374790,64.285632 -103.376080,64.285086 -103.379992,64.283851 -103.381566,64.283406 -103.381815,64.283306 -103.382722,64.283050 -103.382843,64.283031 -103.383089,64.282932 -103.383936,64.282697 -103.384280,64.282642 -103.384733,64.282497 -103.385108,64.282442 -103.385580,64.282261 -103.385938,64.282189 -103.386402,64.282044 -103.389875,64.281261 -103.393423,64.280549 -103.394575,64.280404 -103.397046,64.279907 -103.399565,64.279519 -103.402327,64.279230 -103.403827,64.278969 -103.406869,64.278650 -103.409492,64.278438 -103.410344,64.278304 -103.414619,64.277992 -103.415329,64.278006 -103.416066,64.277897 -103.416773,64.277884 -103.417475,64.277815 -103.418068,64.277832 -103.418472,64.277772 -103.418677,64.277769 -103.418846,64.277745 -103.419843,64.277702 -103.421010,64.277743 -103.427504,64.277669 -103.429085,64.277724 -103.432215,64.277775 -103.435459,64.277986 -103.435584,64.277815 -103.436230,64.277047 -103.436451,64.276872 -103.436742,64.276518 -103.437201,64.276151 -103.438075,64.275088 -103.440621,64.272656 -103.442096,64.271585 -103.442854,64.270805 -103.443287,64.270491 -103.443640,64.270123 -103.444830,64.269239 -103.446021,64.268468 -103.446223,64.268274 -103.447683,64.267328 -103.449350,64.266649 -103.450451,64.265729 -103.451729,64.265068 -103.451935,64.264993 -103.453042,64.264421 -103.454519,64.263726 -103.455240,64.263474 -103.455457,64.263363 -103.456567,64.262852 -103.457812,64.262423 -103.459756,64.261526 -103.463135,64.260261 -103.465359,64.259573 -103.466237,64.259204 -103.467443,64.258830 -103.467607,64.258785 -103.468095,64.258581 -103.469158,64.258256 -103.470521,64.257876 -103.470691,64.257809 -103.471868,64.257481 -103.472041,64.257453 -103.472266,64.257391 -103.472444,64.257364 -103.472543,64.257333 -103.473029,64.257144 -103.476894,64.256130 -103.477207,64.256082 -103.477243,64.256072 -103.477262,64.256066 -103.477506,64.255973 -103.477657,64.255942 -103.477812,64.255894 -103.478115,64.255827 -103.478299,64.255776 -103.478824,64.255672 -103.478916,64.255652 -103.479251,64.255549 -103.479653,64.255489 -103.480716,64.255256 -103.481154,64.255097 -103.485992,64.254014 -103.486180,64.253942 -103.486477,64.253882 -103.486648,64.253833 -103.486962,64.253735 -103.487115,64.253701 -103.487380,64.253626 -103.488083,64.253486 -103.488226,64.253455 -103.488285,64.253436 -103.488359,64.253425 -103.488459,64.253403 -103.488830,64.253291 -103.489234,64.253231 -103.489622,64.253145 -103.489735,64.253102 -103.490286,64.252998 -103.490661,64.252915 -103.490913,64.252825 -103.491257,64.252752 -103.491432,64.252728 -103.491731,64.252622 -103.492636,64.252433 -103.492931,64.252394 -103.493587,64.252254 -103.494209,64.252172 -103.496307,64.251724 -103.500659,64.250954 -103.502802,64.250707 -103.504144,64.250436 -103.504947,64.250312 -103.505559,64.250247 -103.505750,64.250213 -103.507149,64.250051 -103.507913,64.249985 -103.509181,64.249763 -103.509931,64.249684 -103.510793,64.249614 -103.511044,64.249571 -103.511110,64.249560 -103.511117,64.249559 -103.511305,64.249528 -103.512119,64.249451 -103.512137,64.249452 -103.512251,64.249440 -103.514922,64.249221 -103.515741,64.249093 -103.524277,64.248468 -103.524955,64.248481 -103.525656,64.248377 -103.526366,64.248363 -103.527054,64.248295 -103.527645,64.248311 -103.528044,64.248251 -103.528285,64.248249 -103.528471,64.248222 -103.529461,64.248179 -103.530544,64.248216 -103.530608,64.248207 -103.531106,64.248194 -103.531626,64.248126 -103.533874,64.248070 -103.534675,64.248106 -103.537155,64.248044 -103.537971,64.248051 -103.539537,64.248147 -103.541424,64.248122 -103.542743,64.248165 -103.543139,64.248018 -103.545212,64.247537 -103.546775,64.246954 -103.548980,64.246272 -103.549818,64.245919 -103.551021,64.245547 -103.551194,64.245498 -103.551663,64.245302 -103.552307,64.245106 -103.553418,64.244509 -103.553979,64.244300 -103.554153,64.244210 -103.554255,64.244125 -103.555061,64.243707 -103.555276,64.243628 -103.556400,64.243046 -103.557341,64.242603 -103.557984,64.242378 -103.558213,64.242261 -103.558253,64.242243 -103.558363,64.242205 -103.558369,64.242202 -103.559410,64.241722 -103.560632,64.241300 -103.561528,64.240887 -103.561615,64.240855 -103.562656,64.240375 -103.567108,64.238713 -103.573825,64.236197 -103.576035,64.235512 -103.576888,64.235152 -103.578093,64.234778 -103.578268,64.234729 -103.578746,64.234529 -103.580150,64.234099 -103.581492,64.233724 -103.581655,64.233659 -103.583181,64.233233 -103.585007,64.232940 -103.586476,64.232401 -103.588246,64.232000 -103.588505,64.231964 -103.590037,64.231616 -103.591180,64.231385 -103.591662,64.231324 -103.592466,64.231159 -103.593472,64.231029 -103.595865,64.230537 -103.602915,64.229402 -103.604840,64.229192 -103.605799,64.229081 -103.607364,64.228803 -103.609066,64.228618 -103.610193,64.228418 -103.611595,64.228263 -103.610564,64.225339 -103.610582,64.225183 -103.610460,64.225028 -103.610436,64.224773 -103.610322,64.224558 -103.610364,64.224264 -103.610208,64.224067 -103.610204,64.224000 -103.610151,64.223929 -103.610036,64.223439 -103.610132,64.222908 -103.610129,64.222869 -103.609834,64.222449 -103.609338,64.219222 -103.609386,64.219006 -103.609360,64.218969 -103.609265,64.218299 -103.609336,64.217985 -103.609187,64.216938 -103.609208,64.216174 -103.609446,64.215409 -103.609378,64.214449 -103.609959,64.211039 -103.610407,64.209874 -103.610425,64.209356 -103.610431,64.209339 -103.610431,64.209338 -103.610592,64.208884 -103.610625,64.208816 -103.610631,64.208450 -103.611661,64.205505 -103.612047,64.204693 -103.612059,64.204539 -103.612287,64.204061 -103.612349,64.204001 -103.612363,64.203840 -103.612542,64.203479 -103.612686,64.203342 -103.612735,64.203246 -103.612756,64.203184 -103.612779,64.202968 -103.613540,64.201538 -103.614205,64.199435 -103.614522,64.198744 -103.614530,64.198504 -103.615482,64.196009 -103.615839,64.195284 -103.615849,64.195170 -103.616063,64.194734 -103.616090,64.194708 -103.616101,64.194580 -103.617539,64.191612 -103.617728,64.191167 -103.617579,64.190870 -103.617272,64.190526 -103.617037,64.190057 -103.616885,64.189886 -103.615708,64.187559 -103.615439,64.186901 -103.615370,64.186819 -103.615067,64.186077 -103.615087,64.185854 -103.614813,64.185350 -103.614798,64.185331 -103.614797,64.185321 -103.614792,64.185312 -103.614795,64.185292 -103.614795,64.185291 -103.614780,64.185272 -103.614466,64.184251 -103.614471,64.184212 -103.614468,64.184174 -103.614268,64.182999 -103.614188,64.182886 -103.613995,64.181716 -103.614043,64.181490 -103.613886,64.180544 -103.613832,64.177797 -103.614027,64.177118 -103.614015,64.177040 -103.614011,64.176396 -103.614165,64.175872 -103.614158,64.175343 -103.614342,64.174702 -103.614363,64.174654 -103.614338,64.174181 -103.614374,64.174006 -103.614373,64.173939 -103.614417,64.173796 -103.614444,64.173662 -103.614497,64.173531 -103.614532,64.173412 -103.614640,64.173174 -103.614892,64.172544 -103.614911,64.172118 -103.615377,64.170955 -103.615865,64.169982 -103.615889,64.169762 -103.618195,64.165491 -103.618410,64.165292 -103.618431,64.165234 -103.618460,64.165027 -103.618545,64.164925 -103.618593,64.164795 -103.619237,64.163883 -103.619262,64.163754 -103.619832,64.162957 -103.619946,64.162860 -103.620443,64.162165 -103.621072,64.161408 -103.621286,64.161236 -103.621563,64.160894 -103.622010,64.160533 -103.622869,64.159473 -103.623774,64.158594 -103.625248,64.156648 -103.625612,64.156346 -103.625656,64.156156 -103.625924,64.155820 -103.626070,64.155701 -103.626291,64.155417 -103.626599,64.155164 -103.627352,64.154197 -103.627382,64.154166 -103.627617,64.153618 -103.628024,64.153216 -103.628150,64.152856 -103.628198,64.152407 -103.628467,64.151903 -103.628697,64.151690 -103.628722,64.151622 -103.628753,64.151401 -103.628843,64.151292 -103.628896,64.151149 -103.629155,64.150917 -103.629341,64.150693 -103.629400,64.150379 -103.629943,64.149614 -103.630048,64.149525 -103.630524,64.148854 -103.631114,64.148133 -103.631305,64.147980 -103.631565,64.147655 -103.631964,64.147330 -103.632791,64.146297 -103.635124,64.143983 -103.635995,64.142833 -103.637618,64.140180 -103.637664,64.140138 -103.637727,64.140065 -103.637972,64.139722 -103.638022,64.139599 -103.638128,64.139504 -103.638453,64.139050 -103.638454,64.139043 -103.638474,64.139021 -103.638817,64.138542 -103.638844,64.138510 -103.638877,64.138357 -103.639309,64.137801 -103.639417,64.137712 -103.639596,64.137475 -103.639827,64.137284 -103.640497,64.136397 -103.643591,64.133022 -103.645368,64.130344 -103.645576,64.130164 -103.645618,64.130061 -103.645804,64.129894 -103.646523,64.128900 -103.646529,64.128892 -103.646576,64.128687 -103.649238,64.125339 -103.649296,64.125292 -103.649440,64.125089 -103.650520,64.123763 -103.651203,64.122688 -103.651501,64.122048 -103.651854,64.121707 -103.651968,64.121384 -103.652006,64.121053 -103.652234,64.120641 -103.652403,64.120485 -103.652416,64.120451 -103.652438,64.120286 -103.652505,64.120207 -103.652541,64.120109 -103.652724,64.119944 -103.653273,64.119286 -103.653352,64.118921 -103.654253,64.117747 -103.654527,64.117521 -103.655244,64.116586 -103.656342,64.115420 -103.656976,64.114936 -103.657375,64.114505 -103.658155,64.113905 -103.658748,64.113271 -103.659238,64.112898 -103.659725,64.112372 -103.660032,64.111939 -103.660063,64.111863 -103.660127,64.111806 -103.660620,64.111112 -103.660672,64.111048 -103.660717,64.111012 -103.660812,64.110878 -103.660979,64.110676 -103.661022,64.110485 -103.661524,64.109854 -103.661666,64.109738 -103.661881,64.109460 -103.662182,64.109212 -103.662926,64.108251 -103.665471,64.105590 -103.666084,64.105124 -103.666367,64.104819 -103.666420,64.104779 -103.666449,64.104746 -103.667261,64.104113 -103.667844,64.103492 -103.667909,64.103443 -103.668023,64.103320 -103.668074,64.103281 -103.668523,64.102779 -103.673367,64.098814 -103.674720,64.097890 -103.675061,64.097549 -103.675473,64.097268 -103.675633,64.097107 -103.676009,64.096845 -103.676298,64.096663 -103.676426,64.096535 -103.684138,64.091289 -103.684533,64.091124 -103.684634,64.091059 -103.684693,64.090998 -103.684937,64.090823 -103.685948,64.090175 -103.686014,64.090116 -103.686127,64.090060 -103.686919,64.089552 -103.686952,64.089529 -103.686961,64.089525 -103.687333,64.089286 -103.687824,64.089054 -103.688067,64.088886 -103.688697,64.088642 -103.688759,64.088613 -103.688973,64.088420 -103.689338,64.088252 -103.689535,64.088086 -103.690440,64.087620 -103.690794,64.087490 -103.690862,64.087434 -103.691680,64.087019 -103.692079,64.086873 -103.693497,64.086155 -103.699715,64.083380 -103.700684,64.083049 -103.702110,64.082359 -103.708232,64.079866 -103.713319,64.077601 -103.713517,64.077534 -103.713840,64.077372 -103.716871,64.076050 -103.717719,64.075386 -103.718450,64.074896 -103.718679,64.074657 -103.721461,64.072605 -103.721568,64.072405 -103.721769,64.072218 -103.721788,64.072167 -103.721814,64.071972 -103.721893,64.071876 -103.721937,64.071755 -103.723148,64.070063 -103.724541,64.068399 -103.725170,64.067895 -103.726116,64.066765 -103.727926,64.065112 -103.729379,64.064069 -103.729951,64.063479 -103.732158,64.061894 -103.734547,64.060358 -103.734795,64.060228 -103.734915,64.060152 -103.735170,64.060031 -103.735336,64.059944 -103.735506,64.059826 -103.735721,64.059742 -103.736500,64.059333 -103.736688,64.059173 -103.742411,64.056154 -103.742622,64.056076 -103.742678,64.056028 -103.743037,64.055840 -103.743338,64.055729 -103.743404,64.055673 -103.744157,64.055286 -103.744472,64.055170 -103.745770,64.054502 -103.746640,64.054102 -103.746782,64.053954 -103.748952,64.052360 -103.749251,64.052024 -103.749523,64.051811 -103.749908,64.051309 -103.751161,64.049992 -103.753552,64.046685 -103.753719,64.046544 -103.753738,64.046447 -103.753911,64.046215 -103.753978,64.046158 -103.754097,64.045994 -103.754246,64.045868 -103.754800,64.045100 -103.755081,64.044770 -103.755081,64.044710 -103.755810,64.042443 -103.756265,64.039705 -103.756703,64.038542 -103.756719,64.038029 -103.756963,64.037382 -103.757016,64.037273 -103.757027,64.036981 -103.757385,64.036075 -103.757648,64.035543 -103.757649,64.035523 -103.757719,64.035350 -103.757722,64.035316 -103.757784,64.035190 -103.757814,64.035118 -103.757826,64.035106 -103.757948,64.034859 -103.758019,64.034791 -103.758131,64.034564 -103.758246,64.034460 -103.758493,64.033772 -103.758499,64.033730 -103.759954,64.031258 -103.759976,64.031239 -103.759976,64.031238 -103.759979,64.031217 -103.759987,64.031207 -103.759991,64.031196 -103.760057,64.031103 -103.760059,64.031085 -103.760123,64.031009 -103.760506,64.030468 -103.760534,64.030397 -103.760593,64.030343 -103.761122,64.029594 -103.761166,64.029541 -103.761203,64.029511 -103.761279,64.029403 -103.761444,64.029202 -103.761485,64.029019 -103.761978,64.028394 -103.762118,64.028279 -103.762325,64.028008 -103.762621,64.027763 -103.763356,64.026804 -103.765879,64.024143 -103.766492,64.023674 -103.766784,64.023356 -103.767607,64.022719 -103.768240,64.022038 -103.768666,64.021713 -103.769119,64.021219 -103.770432,64.020192 -103.771679,64.019357 -103.771925,64.019113 -103.773500,64.018057 -103.774445,64.017661 -103.774476,64.017640 -103.775157,64.017024 -103.775854,64.016693 -103.776144,64.016493 -103.776871,64.016209 -103.777087,64.016107 -103.777294,64.015920 -103.777818,64.015680 -103.778118,64.015432 -103.779268,64.014858 -103.779683,64.014708 -103.779863,64.014612 -103.780826,64.014140 -103.781541,64.013883 -103.783245,64.013047 -103.789401,64.010486 -103.789624,64.010412 -103.789230,64.010010 -103.788672,64.009163 -103.788184,64.008156 -103.787940,64.007880 -103.787609,64.007196 -103.787617,64.007039 -103.787327,64.006702 -103.785802,64.003218 -103.785834,64.002783 -103.785802,64.002725 -103.785446,64.002275 -103.785413,64.002001 -103.785221,64.001645 -103.785243,64.001480 -103.785128,64.001330 -103.784895,64.000488 -103.784924,64.000292 -103.784648,63.998972 -103.784500,63.997534 -103.784627,63.997003 -103.784505,63.995815 -103.784637,63.994593 -103.785060,63.993375 -103.785070,63.992688 -103.785262,63.992135 -103.785266,63.991794 -103.786273,63.988850 -103.786650,63.988041 -103.786661,63.987888 -103.786886,63.987406 -103.786951,63.987342 -103.786965,63.987176 -103.787305,63.986476 -103.787389,63.986396 -103.787395,63.986379 -103.787603,63.986190 -103.787634,63.986161 -103.787693,63.985996 -103.787735,63.985679 -103.787864,63.985520 -103.787950,63.985280 -103.788357,63.984911 -103.788465,63.984778 -103.788541,63.984377 -103.789184,63.983481 -103.789331,63.983356 -103.789879,63.982592 -103.790604,63.981735 -103.790891,63.981506 -103.791198,63.981134 -103.791794,63.980653 -103.792721,63.979531 -103.797016,63.975547 -103.798465,63.974496 -103.799059,63.973878 -103.799527,63.973538 -103.799807,63.973243 -103.800884,63.972447 -103.801973,63.971735 -103.802132,63.971580 -103.803433,63.970729 -103.803617,63.970653 -103.804771,63.969909 -103.804788,63.969894 -103.804827,63.969873 -103.804870,63.969845 -103.804874,63.969843 -103.804877,63.969841 -103.804884,63.969838 -103.804885,63.969838 -103.804889,63.969834 -103.810751,63.966428 -103.816111,63.963167 -103.818580,63.960373 -103.818892,63.960127 -103.818981,63.960007 -103.819271,63.959685 -103.819595,63.959431 -103.819804,63.959199 -103.819945,63.959088 -103.820117,63.958893 -103.820752,63.958392 -103.821052,63.958062 -103.821328,63.957845 -103.821336,63.957840 -103.821570,63.957584 -103.822128,63.956951 -103.826352,63.953424 -103.826998,63.952977 -103.827264,63.952686 -103.832030,63.948942 -103.832190,63.948834 -103.832246,63.948774 -103.837486,63.944713 -103.840447,63.942193 -103.841825,63.941229 -103.842215,63.940832 -103.842304,63.940770 -103.842506,63.940557 -103.846637,63.937484 -103.847733,63.936764 -103.847895,63.936606 -103.848210,63.936399 -103.848286,63.936324 -103.848539,63.936155 -103.848556,63.936148 -103.848602,63.936103 -103.851628,63.934089 -103.854816,63.931362 -103.859332,63.927274 -103.860128,63.926702 -103.860564,63.926209 -103.863672,63.923638 -103.865434,63.921765 -103.865617,63.921623 -103.865824,63.921358 -103.870161,63.916915 -103.873418,63.913130 -103.873582,63.912999 -103.873785,63.912761 -103.874109,63.912502 -103.874427,63.912120 -103.875099,63.911577 -103.876051,63.910436 -103.880919,63.906009 -103.882351,63.904976 -103.882880,63.904427 -103.883352,63.904086 -103.883602,63.903824 -103.884421,63.903223 -103.885467,63.902539 -103.885608,63.902400 -103.886360,63.901909 -103.886552,63.901830 -103.886671,63.901752 -103.886943,63.901492 -103.890213,63.899438 -103.895814,63.895849 -103.896196,63.895692 -103.896682,63.895376 -103.896876,63.895199 -103.897129,63.895075 -103.897218,63.895011 -103.897311,63.894925 -103.901258,63.892575 -103.907977,63.888547 -103.910772,63.886856 -103.910907,63.886801 -103.911122,63.886662 -103.911168,63.886620 -103.911240,63.886585 -103.911351,63.886513 -103.911366,63.886502 -103.911375,63.886497 -103.911388,63.886489 -103.911419,63.886474 -103.911661,63.886345 -103.911744,63.886286 -103.911853,63.886243 -103.912179,63.886070 -103.912246,63.886008 -103.912387,63.885942 -103.912455,63.885881 -103.912958,63.885604 -103.913315,63.885467 -103.913904,63.885154 -103.913916,63.885148 -103.913927,63.885144 -103.913957,63.885128 -103.914199,63.885011 -103.914311,63.884971 -103.914588,63.884739 -103.919100,63.882441 -103.924231,63.879699 -103.924440,63.879620 -103.924539,63.879535 -103.931911,63.875647 -103.932315,63.875496 -103.932750,63.875265 -103.932967,63.875183 -103.934081,63.874592 -103.934835,63.874229 -103.935599,63.873956 -103.935929,63.873784 -103.936060,63.873723 -103.936785,63.873380 -103.938043,63.872934 -103.939953,63.872029 -103.944860,63.870147 -103.949865,63.868054 -103.951029,63.867667 -103.951076,63.867646 -103.952261,63.867243 -103.953473,63.866707 -103.953669,63.866642 -103.956840,63.864898 -103.959957,63.863032 -103.960098,63.862976 -103.960111,63.862967 -103.960112,63.862967 -103.960194,63.862891 -103.960259,63.862860 -103.960313,63.862821 -103.960453,63.862746 -103.960542,63.862689 -103.960743,63.862592 -103.960767,63.862580 -103.960899,63.862486 -103.961074,63.862416 -103.961465,63.862209 -103.961611,63.862079 -103.967869,63.858610 -103.968415,63.858401 -103.968693,63.858251 -103.968704,63.858241 -103.968759,63.858215 -103.969826,63.857641 -103.969959,63.857529 -103.970709,63.857152 -103.971128,63.856999 -103.971289,63.856912 -103.972240,63.856441 -103.972971,63.856176 -103.974673,63.855333 -103.980783,63.852771 -103.981950,63.852383 -103.982011,63.852356 -103.982074,63.852334 -103.982088,63.852327 -103.982262,63.852255 -103.983246,63.851928 -103.984395,63.851420 -103.985590,63.851022 -103.985802,63.850959 -103.986566,63.850623 -103.987694,63.850253 -103.989254,63.849795 -103.989506,63.849690 -103.990748,63.849325 -103.990996,63.849284 -103.991383,63.849170 -103.991420,63.849164 -103.992042,63.848912 -103.997576,63.847378 -103.999396,63.846858 -104.004545,63.843594 -104.004877,63.843459 -104.005243,63.843223 -104.005419,63.843061 -104.005634,63.842956 -104.005855,63.842795 -104.006172,63.842625 -104.006385,63.842488 -104.006801,63.842287 -104.006826,63.842274 -104.007044,63.842120 -104.007308,63.842015 -104.008160,63.841558 -104.008361,63.841384 -104.015127,63.837798 -104.017780,63.836318 -104.019026,63.835278 -104.023488,63.831364 -104.024506,63.830638 -104.024956,63.830141 -104.029676,63.826401 -104.029827,63.826298 -104.029879,63.826241 -104.036356,63.821174 -104.037547,63.820368 -104.037763,63.820151 -104.038146,63.819893 -104.038248,63.819789 -104.038890,63.819349 -104.039136,63.819244 -104.039200,63.819180 -104.039244,63.819150 -104.039424,63.819074 -104.039747,63.818862 -104.039948,63.818709 -104.040028,63.818678 -104.040439,63.818408 -104.040590,63.818269 -104.040712,63.818208 -104.040846,63.818082 -104.046578,63.814587 -104.046717,63.814531 -104.046934,63.814389 -104.046981,63.814345 -104.047055,63.814309 -104.047163,63.814239 -104.047182,63.814225 -104.047194,63.814218 -104.047211,63.814207 -104.047252,63.814187 -104.048023,63.813775 -104.048114,63.813711 -104.048224,63.813668 -104.049712,63.812872 -104.049727,63.812864 -104.049742,63.812859 -104.049776,63.812841 -104.049919,63.812720 -104.050956,63.812189 -104.051388,63.812029 -104.051445,63.811981 -104.052335,63.811532 -104.052921,63.811316 -104.054514,63.810512 -104.063386,63.806662 -104.064904,63.806146 -104.066473,63.805399 -104.072409,63.803107 -104.081709,63.799333 -104.082366,63.799117 -104.082920,63.798852 -104.089502,63.796298 -104.091672,63.795602 -104.092521,63.795232 -104.092858,63.795124 -104.093327,63.794915 -104.102066,63.791968 -104.103138,63.791648 -104.103444,63.791515 -104.113235,63.788375 -104.114626,63.787970 -104.114811,63.787893 -104.115680,63.787641 -104.115855,63.787611 -104.116115,63.787504 -104.116899,63.787281 -104.117124,63.787244 -104.117395,63.787154 -104.117762,63.787096 -104.118179,63.786931 -104.118471,63.786869 -104.118819,63.786755 -104.119529,63.786644 -104.120526,63.786433 -104.121249,63.786164 -104.123720,63.785609 -104.124260,63.785534 -104.126233,63.785090 -104.127857,63.784783 -104.128950,63.784648 -104.129014,63.784635 -104.131761,63.782684 -104.132643,63.782113 -104.132732,63.782026 -104.133733,63.781378 -104.133902,63.781307 -104.135200,63.780454 -104.136349,63.779997 -104.136769,63.779642 -104.136808,63.779623 -104.136994,63.779465 -104.138861,63.778504 -104.139327,63.778331 -104.140803,63.777571 -104.142798,63.776677 -104.144421,63.776115 -104.144598,63.776025 -104.145573,63.775596 -104.146089,63.775419 -104.146785,63.775104 -104.148290,63.774583 -104.149027,63.774359 -104.150239,63.773826 -104.157308,63.771521 -104.158781,63.771088 -104.158997,63.770998 -104.159907,63.770730 -104.160081,63.770701 -104.160359,63.770585 -104.161193,63.770346 -104.161450,63.770303 -104.161758,63.770200 -104.162141,63.770140 -104.162592,63.769961 -104.162906,63.769894 -104.163291,63.769768 -104.164068,63.769646 -104.164717,63.769508 -104.165419,63.769244 -104.167580,63.768748 -104.167985,63.768690 -104.169773,63.768280 -104.171154,63.768007 -104.171919,63.767909 -104.172699,63.767750 -104.174313,63.767539 -104.176862,63.767022 -104.178914,63.766718 -104.180780,63.765821 -104.182660,63.765085 -104.182740,63.765053 -104.182755,63.765048 -104.182891,63.764994 -104.184606,63.764440 -104.184961,63.764324 -104.185997,63.763866 -104.189381,63.762756 -104.192892,63.761720 -104.193053,63.761687 -104.193179,63.761646 -104.193468,63.761601 -104.193516,63.761590 -104.193754,63.761497 -104.198596,63.760266 -104.199016,63.760202 -104.201968,63.759509 -104.205255,63.758829 -104.206633,63.758646 -104.209131,63.758129 -104.211753,63.757722 -104.214395,63.757435 -104.215604,63.757215 -104.219212,63.756822 -104.222754,63.756516 -104.222974,63.756481 -104.232371,63.755841 -104.232531,63.755844 -104.232685,63.755820 -104.233371,63.755805 -104.233655,63.755775 -104.233668,63.755774 -104.233669,63.755774 -104.233848,63.755755 -104.234133,63.755762 -104.234463,63.755753 -104.234675,63.755720 -104.235442,63.755708 -104.235861,63.755647 -104.236688,63.755611 -104.238084,63.755658 -104.240841,63.755586 -104.240889,63.755586 -104.241375,63.755616 -104.243871,63.755577 -104.245935,63.755646 -104.247998,63.755671 -104.253557,63.756010 -104.255137,63.756029 -104.258686,63.756345 -104.259454,63.756496 -104.259898,63.756526 -104.260660,63.756543 -104.261046,63.756602 -104.261647,63.756642 -104.267718,63.757544 -104.268942,63.757773 -104.270334,63.756596 -104.271647,63.755671 -104.271973,63.755334 -104.272430,63.755011 -104.272585,63.754849 -104.273416,63.754255 -104.274294,63.753684 -104.274382,63.753596 -104.275380,63.752946 -104.277238,63.752170 -104.278315,63.751254 -104.280305,63.750233 -104.280839,63.750035 -104.282379,63.749245 -104.284485,63.748312 -104.286375,63.747660 -104.286548,63.747572 -104.287432,63.747188 -104.287672,63.747106 -104.288346,63.746800 -104.290108,63.746192 -104.291242,63.745848 -104.292421,63.745336 -104.298392,63.743449 -104.299643,63.743087 -104.299785,63.743028 -104.300596,63.742793 -104.300745,63.742768 -104.300827,63.742744 -104.301032,63.742659 -104.301746,63.742457 -104.301908,63.742430 -104.302095,63.742368 -104.302440,63.742313 -104.302809,63.742166 -104.303058,63.742113 -104.303340,63.742020 -104.308097,63.740937 -104.312990,63.739992 -104.315485,63.739676 -104.318019,63.739186 -104.321405,63.738750 -104.322446,63.738004 -104.322829,63.737603 -104.323308,63.737260 -104.323491,63.737066 -104.324385,63.736416 -104.325312,63.735807 -104.325414,63.735705 -104.326479,63.735006 -104.326667,63.734927 -104.327549,63.734345 -104.327580,63.734316 -104.327651,63.734278 -104.327712,63.734238 -104.327801,63.734194 -104.327863,63.734149 -104.327969,63.734106 -104.328085,63.734043 -104.328163,63.733972 -104.330015,63.732894 -104.330014,63.732853 -104.330189,63.732314 -104.330187,63.731977 -104.331125,63.729028 -104.331483,63.728215 -104.331491,63.728062 -104.331709,63.727568 -104.331781,63.727496 -104.331792,63.727319 -104.332122,63.726606 -104.332437,63.726294 -104.332490,63.726136 -104.332525,63.725823 -104.332648,63.725665 -104.332727,63.725431 -104.333115,63.725068 -104.333367,63.724745 -104.333447,63.724310 -104.334246,63.723201 -104.334476,63.723002 -104.335123,63.722102 -104.336059,63.721039 -104.336552,63.720644 -104.336893,63.720247 -104.337772,63.719535 -104.338373,63.718860 -104.338395,63.718813 -104.338400,63.718516 -104.338638,63.717877 -104.338761,63.717615 -104.338861,63.717342 -104.338951,63.717147 -104.338953,63.717127 -104.339076,63.716864 -104.339089,63.716851 -104.339282,63.716437 -104.339301,63.716194 -104.340750,63.713265 -104.340984,63.713037 -104.341010,63.712960 -104.341036,63.712725 -104.341127,63.712609 -104.341179,63.712456 -104.341378,63.712157 -104.341385,63.712095 -104.341530,63.711916 -104.341580,63.711775 -104.341722,63.711642 -104.341943,63.711311 -104.341970,63.711135 -104.345824,63.705226 -104.348272,63.701328 -104.348273,63.699793 -104.348161,63.698960 -104.348213,63.698712 -104.348209,63.698695 -104.348132,63.698105 -104.348233,63.697627 -104.348080,63.696464 -104.348155,63.695369 -104.348540,63.694139 -104.348532,63.693384 -104.348598,63.693175 -104.348589,63.692842 -104.349651,63.688986 -104.349978,63.688205 -104.349980,63.687931 -104.350848,63.685437 -104.351179,63.684709 -104.351186,63.684595 -104.351392,63.684142 -104.351467,63.684067 -104.351478,63.683909 -104.351782,63.683275 -104.352056,63.683005 -104.352094,63.682892 -104.352125,63.682617 -104.352232,63.682480 -104.352296,63.682288 -104.353477,63.680560 -104.354844,63.678862 -104.355480,63.678333 -104.356398,63.677193 -104.358156,63.675538 -104.359562,63.674496 -104.360092,63.673927 -104.362202,63.672362 -104.364486,63.670843 -104.364729,63.670711 -104.364834,63.670643 -104.365064,63.670530 -104.365279,63.670414 -104.365441,63.670297 -104.365650,63.670213 -104.366469,63.669769 -104.366655,63.669605 -104.369456,63.668084 -104.369626,63.668018 -104.369667,63.667982 -104.370000,63.667803 -104.370250,63.667707 -104.370296,63.667667 -104.370994,63.667295 -104.371293,63.667181 -104.372543,63.666514 -104.380257,63.662839 -104.381118,63.662530 -104.381613,63.662271 -104.382141,63.662028 -104.382615,63.661861 -104.382782,63.661784 -104.382996,63.661399 -104.383022,63.661374 -104.383023,63.661373 -104.383026,63.661346 -104.383036,63.661334 -104.383040,63.661320 -104.383604,63.660483 -104.383622,63.660372 -104.384171,63.659558 -104.384285,63.659457 -104.384763,63.658749 -104.385343,63.658013 -104.385545,63.657844 -104.385774,63.657544 -104.386201,63.657182 -104.387015,63.656119 -104.389415,63.653667 -104.390673,63.652700 -104.390834,63.652571 -104.391547,63.651788 -104.392046,63.651405 -104.392393,63.651020 -104.393567,63.650102 -104.394692,63.649334 -104.394875,63.649147 -104.396247,63.648211 -104.397092,63.647849 -104.397683,63.647293 -104.398292,63.646994 -104.398560,63.646802 -104.399244,63.646526 -104.399340,63.646479 -104.399541,63.646290 -104.399822,63.646157 -104.398100,63.645576 -104.397801,63.645428 -104.397216,63.645191 -104.396959,63.645137 -104.396920,63.645123 -104.396681,63.645069 -104.395211,63.644529 -104.394982,63.644410 -104.393538,63.643879 -104.392146,63.643309 -104.391300,63.642847 -104.390970,63.642724 -104.389772,63.642219 -104.388896,63.641734 -104.388071,63.641383 -104.387525,63.641085 -104.386334,63.640583 -104.385723,63.640255 -104.384647,63.639578 -104.384058,63.639319 -104.381206,63.637643 -104.380787,63.637367 -104.380678,63.637303 -104.380109,63.636929 -104.379903,63.636833 -104.379484,63.636558 -104.379464,63.636534 -104.379368,63.636490 -104.378475,63.635902 -104.378376,63.635788 -104.378160,63.635646 -104.378122,63.635599 -104.377713,63.635404 -104.373971,63.632778 -104.373793,63.632566 -104.373429,63.632387 -104.372933,63.631928 -104.372475,63.631643 -104.372036,63.631098 -104.371890,63.630963 -104.371439,63.630742 -104.371393,63.630697 -104.371108,63.630547 -104.370073,63.629646 -104.369742,63.629186 -104.369160,63.628698 -104.368254,63.627832 -104.367812,63.627177 -104.367568,63.626936 -104.366629,63.626039 -104.366187,63.625467 -104.365726,63.624625 -104.365232,63.624120 -104.363126,63.620861 -104.362659,63.619903 -104.362452,63.619670 -104.362004,63.618750 -104.362010,63.618571 -104.361957,63.618462 -104.361967,63.618371 -104.361879,63.618220 -104.361591,63.617874 -104.361101,63.616598 -104.361118,63.616403 -104.361099,63.616371 -104.360954,63.616190 -104.360942,63.616092 -104.360865,63.615954 -104.360894,63.615695 -104.360866,63.615474 -104.360644,63.615177 -104.360460,63.614399 -104.360475,63.614304 -104.360312,63.613618 -104.359795,63.609941 -104.359907,63.609399 -104.359827,63.609013 -104.359758,63.608137 -104.359912,63.607485 -104.359888,63.607093 -104.359922,63.606929 -104.359854,63.606069 -104.360137,63.604423 -104.360546,63.603301 -104.360553,63.602871 -104.360965,63.601742 -104.361388,63.600828 -104.361407,63.600589 -104.362855,63.597652 -104.363084,63.597428 -104.363109,63.597355 -104.363134,63.597124 -104.363223,63.597011 -104.363273,63.596860 -104.364131,63.595569 -104.364154,63.595446 -104.364963,63.594319 -104.365201,63.594112 -104.365854,63.593203 -104.366801,63.592126 -104.367311,63.591716 -104.367648,63.591324 -104.368506,63.590628 -104.369140,63.589912 -104.369273,63.589805 -104.369703,63.589303 -104.374944,63.584877 -104.375054,63.584799 -104.375100,63.584746 -104.380232,63.580456 -104.384867,63.576179 -104.389335,63.571099 -104.389935,63.570617 -104.390394,63.570092 -104.391129,63.569499 -104.391668,63.568888 -104.392117,63.568528 -104.392602,63.567972 -104.393187,63.567492 -104.394412,63.566636 -104.394662,63.566377 -104.394819,63.566268 -104.395216,63.565847 -104.397160,63.564443 -104.399315,63.562269 -104.399928,63.561799 -104.400382,63.561240 -104.405559,63.556469 -104.408745,63.553471 -104.412612,63.549687 -104.416072,63.545862 -104.418349,63.542877 -104.421039,63.538355 -104.421200,63.538205 -104.421252,63.538068 -104.421387,63.537940 -104.421652,63.537547 -104.421655,63.537520 -104.421729,63.537433 -104.422063,63.536939 -104.422096,63.536763 -104.422500,63.536216 -104.422605,63.536125 -104.422747,63.535927 -104.422978,63.535725 -104.423623,63.534820 -104.427749,63.530092 -104.432499,63.524452 -104.433242,63.523843 -104.433689,63.523237 -104.434051,63.522847 -104.434705,63.522330 -104.434889,63.522119 -104.435050,63.521987 -104.435160,63.521866 -104.435384,63.521688 -104.435851,63.521146 -104.436295,63.520775 -104.437123,63.520190 -104.437721,63.519531 -104.441158,63.516885 -104.442218,63.516164 -104.442371,63.516008 -104.442743,63.515755 -104.442817,63.515679 -104.443404,63.515276 -104.443586,63.515197 -104.443632,63.515150 -104.443638,63.515146 -104.443880,63.515043 -104.444245,63.514760 -104.444527,63.514646 -104.444832,63.514357 -104.445673,63.513929 -104.446337,63.513450 -104.447015,63.513175 -104.447221,63.512980 -104.447687,63.512756 -104.447917,63.512555 -104.448802,63.512084 -104.449118,63.511964 -104.449160,63.511927 -104.449942,63.511515 -104.450377,63.511350 -104.451804,63.510600 -104.458380,63.507573 -104.459580,63.507148 -104.459617,63.507128 -104.460566,63.506693 -104.461485,63.506368 -104.462355,63.505966 -104.463531,63.505549 -104.463728,63.505488 -104.464754,63.505017 -104.466664,63.504352 -104.468357,63.503832 -104.468687,63.503690 -104.470752,63.503056 -104.470980,63.503015 -104.472817,63.502467 -104.472860,63.502450 -104.472927,63.502434 -104.472955,63.502426 -104.473054,63.502405 -104.473416,63.502321 -104.473623,63.502254 -104.473903,63.502209 -104.474615,63.502044 -104.474960,63.501909 -104.479656,63.500751 -104.480822,63.499630 -104.482219,63.498578 -104.482766,63.497983 -104.483177,63.497674 -104.483188,63.497661 -104.483241,63.497620 -104.483290,63.497587 -104.483549,63.497302 -104.484177,63.496824 -104.485203,63.496128 -104.485343,63.495986 -104.485732,63.495722 -104.485928,63.495521 -104.492693,63.490897 -104.492964,63.490780 -104.493951,63.490117 -104.494045,63.490027 -104.494206,63.489945 -104.494635,63.489657 -104.494721,63.489593 -104.494777,63.489562 -104.495007,63.489407 -104.495189,63.489333 -104.495931,63.488922 -104.496085,63.488783 -104.497193,63.488169 -104.497356,63.488106 -104.498330,63.487566 -104.499527,63.486957 -104.500014,63.486775 -104.500134,63.486710 -104.501085,63.486232 -104.501965,63.485905 -104.503718,63.485024 -104.512941,63.481163 -104.515147,63.480417 -104.516270,63.479909 -104.517517,63.479488 -104.517769,63.479411 -104.518420,63.479120 -104.520013,63.478592 -104.521429,63.478168 -104.521628,63.478083 -104.523268,63.477592 -104.523500,63.477551 -104.524898,63.477133 -104.524934,63.477118 -104.524991,63.477105 -104.525015,63.477098 -104.525102,63.477079 -104.525455,63.476997 -104.525654,63.476932 -104.525923,63.476889 -104.526597,63.476733 -104.526930,63.476602 -104.532124,63.475312 -104.534353,63.474731 -104.533833,63.473685 -104.533846,63.473191 -104.533674,63.472884 -104.533312,63.472435 -104.533270,63.472163 -104.533023,63.471723 -104.533033,63.471631 -104.532966,63.471547 -104.532700,63.470705 -104.532701,63.470691 -104.532692,63.470679 -104.532675,63.470627 -104.532695,63.470459 -104.532676,63.470292 -104.532529,63.470095 -104.532523,63.470073 -104.532529,63.470038 -104.532508,63.470011 -104.532340,63.469312 -104.532354,63.469216 -104.532189,63.468527 -104.531656,63.464850 -104.531688,63.464691 -104.531572,63.464160 -104.531140,63.459803 -104.531220,63.459444 -104.531191,63.459227 -104.531297,63.458715 -104.531143,63.457537 -104.531210,63.456617 -104.531590,63.455393 -104.531580,63.454681 -104.531701,63.454292 -104.531693,63.453954 -104.533601,63.447375 -104.533962,63.446515 -104.533970,63.446336 -104.534189,63.445813 -104.534264,63.445736 -104.534274,63.445539 -104.534499,63.445032 -104.534574,63.444955 -104.534917,63.444209 -104.534919,63.444188 -104.534938,63.444163 -104.534985,63.444060 -104.534995,63.443960 -104.537738,63.438774 -104.537825,63.438689 -104.537828,63.438679 -104.537838,63.438589 -104.537872,63.438546 -104.537888,63.438496 -104.537983,63.438352 -104.537986,63.438322 -104.538085,63.438197 -104.538365,63.437774 -104.538402,63.437673 -104.538482,63.437596 -104.538941,63.436902 -104.539005,63.436820 -104.539061,63.436772 -104.539062,63.436770 -104.539079,63.436668 -104.539084,63.436662 -104.539199,63.436560 -104.539234,63.436374 -104.539626,63.435837 -104.539727,63.435749 -104.539858,63.435562 -104.540083,63.435365 -104.540715,63.434467 -104.542827,63.432014 -104.543734,63.430100 -104.543868,63.429967 -104.544032,63.429609 -104.544044,63.429497 -104.544111,63.429410 -104.544118,63.429335 -104.546861,63.424148 -104.546946,63.424066 -104.546949,63.424056 -104.546958,63.423968 -104.546991,63.423926 -104.547007,63.423878 -104.547105,63.423730 -104.547108,63.423700 -104.547193,63.423593 -104.547225,63.423498 -104.547314,63.423413 -104.547443,63.423218 -104.547459,63.423094 -104.550736,63.417686 -104.550997,63.417445 -104.551089,63.417307 -104.551097,63.417227 -104.551320,63.416960 -104.551344,63.416817 -104.551371,63.416778 -104.551486,63.416676 -104.551516,63.416504 -104.551850,63.416036 -104.551928,63.415968 -104.552030,63.415819 -104.552207,63.415662 -104.552779,63.414830 -104.557039,63.409686 -104.557622,63.409202 -104.557977,63.408709 -104.558328,63.408316 -104.558960,63.407808 -104.559291,63.407430 -104.559692,63.407104 -104.559842,63.406979 -104.560392,63.406334 -104.560746,63.406035 -104.561126,63.405764 -104.561587,63.405237 -104.567308,63.400589 -104.568474,63.399773 -104.568688,63.399550 -104.569126,63.399243 -104.569230,63.399134 -104.569921,63.398646 -104.570374,63.398447 -104.570856,63.398068 -104.571171,63.397940 -104.571548,63.397579 -104.571884,63.397406 -104.572361,63.397046 -104.573187,63.396708 -104.573624,63.396316 -104.574927,63.395601 -104.575154,63.395512 -104.576269,63.394900 -104.577650,63.394215 -104.578336,63.393961 -104.578454,63.393897 -104.579460,63.393403 -104.580711,63.392943 -104.582574,63.392030 -104.587425,63.390105 -104.589002,63.389585 -104.589869,63.389178 -104.595765,63.387044 -104.597579,63.386473 -104.597998,63.386290 -104.599097,63.385944 -104.599285,63.385910 -104.599697,63.385732 -104.600794,63.385395 -104.601201,63.385323 -104.601651,63.385168 -104.601861,63.385133 -104.602399,63.384974 -104.602748,63.384831 -104.603150,63.384742 -104.603725,63.384549 -104.604227,63.384432 -104.604242,63.384428 -104.604255,63.384425 -104.605740,63.384079 -104.606009,63.383975 -104.607800,63.383541 -104.607941,63.383520 -104.607969,63.383488 -104.610784,63.381218 -104.611643,63.379886 -104.612052,63.379513 -104.612281,63.379173 -104.612335,63.378872 -104.616712,63.372808 -104.616815,63.372718 -104.616927,63.372544 -104.617134,63.372264 -104.617261,63.372154 -104.617417,63.371937 -104.617696,63.371692 -104.618382,63.370732 -104.621107,63.367669 -104.620228,63.366280 -104.619230,63.365227 -104.618375,63.363790 -104.617988,63.362957 -104.617853,63.362804 -104.617391,63.361811 -104.617403,63.361501 -104.617084,63.360930 -104.616990,63.360814 -104.616982,63.360748 -104.616950,63.360691 -104.616962,63.360576 -104.616960,63.360559 -104.616871,63.360446 -104.615447,63.355837 -104.615454,63.355775 -104.615435,63.355740 -104.615461,63.355487 -104.615455,63.355436 -104.615333,63.355285 -104.615307,63.354990 -104.615174,63.354811 -104.615160,63.354750 -104.615129,63.354712 -104.615028,63.354616 -104.614605,63.354401 -104.613128,63.353211 -104.612736,63.352698 -104.610132,63.350193 -104.609867,63.349846 -104.608804,63.348662 -104.607601,63.346687 -104.606834,63.345834 -104.605878,63.343942 -104.605889,63.343456 -104.605647,63.343029 -104.605327,63.342632 -104.605290,63.342399 -104.605051,63.341977 -104.605118,63.341312 -104.605095,63.341167 -104.604705,63.340620 -104.604471,63.339258 -104.604529,63.338942 -104.604348,63.337893 -104.604343,63.337162 -104.604540,63.336422 -104.604443,63.335491 -104.604511,63.334958 -104.604479,63.332592 -104.604659,63.331912 -104.604647,63.331479 -104.604788,63.330931 -104.604765,63.330306 -104.604850,63.329981 -104.604825,63.329708 -104.604877,63.329355 -104.604916,63.329244 -104.604914,63.328898 -104.605119,63.328134 -104.605023,63.327194 -104.605505,63.323547 -104.605898,63.322382 -104.605897,63.321870 -104.606122,63.321203 -104.606184,63.321062 -104.606188,63.320762 -104.606610,63.319589 -104.606906,63.318935 -104.606910,63.318848 -104.607245,63.318110 -104.607571,63.317779 -104.607612,63.317376 -104.608778,63.315625 -104.610133,63.313905 -104.610775,63.313360 -104.611677,63.312214 -104.613404,63.310561 -104.614781,63.309521 -104.615285,63.308967 -104.617334,63.307418 -104.619551,63.305913 -104.620037,63.305714 -104.620673,63.304683 -104.623767,63.299187 -104.623878,63.299080 -104.624266,63.298589 -104.624311,63.298308 -104.624963,63.297346 -104.625125,63.297201 -104.625673,63.296392 -104.626386,63.295513 -104.626692,63.295256 -104.626957,63.294919 -104.627602,63.294371 -104.628505,63.293224 -104.631990,63.289888 -104.632345,63.289619 -104.632557,63.289358 -104.632813,63.289123 -104.631856,63.288609 -104.630466,63.287734 -104.629927,63.287488 -104.628096,63.286335 -104.627558,63.285740 -104.626363,63.285151 -104.622888,63.281878 -104.620157,63.278484 -104.618168,63.274968 -104.617741,63.271346 -104.618103,63.267739 -104.619253,63.264149 -104.621935,63.260728 -104.625332,63.257458 -104.629442,63.254339 -104.634823,63.251641 -104.640735,63.249205 -104.647179,63.247031 -104.654438,63.245466 -104.661966,63.244234 -104.669763,63.243336 -104.675922,63.243122 -104.682081,63.243118 -104.685903,63.243325 -104.688241,63.243323 -104.745218,63.247165 -104.746819,63.247307 -104.747068,63.247309 -104.748909,63.247472 -104.749730,63.247634 -104.750742,63.247654 -104.758336,63.248855 -104.765598,63.250378 -104.772528,63.252224 -104.778527,63.254642 -104.783946,63.257302 -104.788785,63.260201 -104.792276,63.263470 -104.795027,63.266861 -104.797036,63.270374 -104.796983,63.270935 -104.797323,63.271393 -104.797548,63.272414 -104.797521,63.272584 -104.797709,63.273439 -104.797867,63.275087 -104.797706,63.275825 -104.797756,63.276076 -104.797795,63.276829 -104.797683,63.277295 -104.797708,63.277691 -104.797571,63.278321 -104.797530,63.278428 -104.797573,63.279238 -104.797396,63.279980 -104.797317,63.280389 -104.796932,63.281443 -104.796929,63.281779 -104.796424,63.283161 -104.796125,63.283482 -104.795809,63.284476 -104.795803,63.284534 -104.795782,63.284562 -104.795773,63.284590 -104.795721,63.284640 -104.795717,63.284644 -104.795712,63.284701 -104.793082,63.289436 -104.793037,63.289480 -104.793013,63.289552 -104.792901,63.289660 -104.792807,63.289805 -104.792790,63.289946 -104.790346,63.294068 -104.788673,63.298183 -104.788495,63.298369 -104.788347,63.298703 -104.788332,63.298967 -104.786245,63.303488 -104.785993,63.303743 -104.785962,63.303842 -104.785937,63.304102 -104.785839,63.304231 -104.785783,63.304409 -104.785213,63.305298 -104.785193,63.305443 -104.784734,63.306163 -104.784649,63.306240 -104.784243,63.306878 -104.783795,63.307486 -104.783664,63.307601 -104.783509,63.307819 -104.783221,63.308073 -104.782531,63.309045 -104.779562,63.312391 -104.779263,63.312634 -104.779086,63.312836 -104.778786,63.313080 -104.778673,63.313212 -104.778373,63.313459 -104.778171,63.313694 -104.777709,63.314075 -104.777343,63.314497 -104.777067,63.314721 -104.776848,63.314973 -104.776634,63.315148 -104.776420,63.315396 -104.776179,63.315595 -104.775957,63.315854 -104.771415,63.319625 -104.770234,63.320465 -104.770006,63.320706 -104.769859,63.320811 -104.769735,63.320945 -104.765547,63.324064 -104.763371,63.325869 -104.760174,63.329208 -104.759761,63.329655 -104.760446,63.330940 -104.762607,63.333667 -104.762796,63.334003 -104.762967,63.334169 -104.763235,63.334524 -104.763596,63.335188 -104.763735,63.335337 -104.763837,63.335517 -104.763933,63.335729 -104.764340,63.336156 -104.765604,63.338250 -104.766002,63.339092 -104.766142,63.339250 -104.766552,63.340119 -104.766548,63.340248 -104.766555,63.340263 -104.766544,63.340382 -104.766543,63.340388 -104.766766,63.340772 -104.766919,63.340958 -104.767363,63.342157 -104.767355,63.342259 -104.767362,63.342271 -104.767437,63.342364 -104.767444,63.342414 -104.767474,63.342468 -104.767684,63.343496 -104.767777,63.343621 -104.768001,63.344639 -104.767974,63.344807 -104.768161,63.345660 -104.768380,63.347948 -104.768294,63.348343 -104.768422,63.349069 -104.768423,63.349132 -104.768502,63.349196 -104.768568,63.349283 -104.769301,63.349879 -104.771127,63.351523 -104.771292,63.351756 -104.772120,63.352460 -104.772509,63.352846 -104.773139,63.353795 -104.773521,63.354172 -104.773528,63.354181 -104.773567,63.354216 -104.774188,63.354880 -104.774251,63.354980 -104.774469,63.355201 -104.775057,63.356087 -104.775335,63.356641 -104.776136,63.357499 -104.777050,63.359121 -104.777384,63.359859 -104.777481,63.359969 -104.777867,63.360822 -104.777851,63.361210 -104.777899,63.361297 -104.778209,63.361679 -104.778239,63.361919 -104.778328,63.362082 -104.778298,63.362398 -104.778319,63.362562 -104.778566,63.362889 -104.779244,63.365650 -104.779184,63.366067 -104.779427,63.367198 -104.779579,63.368947 -104.779382,63.369826 -104.779490,63.371073 -104.779200,63.372778 -104.778811,63.373879 -104.778809,63.374274 -104.778370,63.375512 -104.777875,63.376618 -104.777863,63.376773 -104.775820,63.380837 -104.775681,63.380974 -104.775673,63.381001 -104.775659,63.381145 -104.775605,63.381215 -104.775579,63.381299 -104.774890,63.382361 -104.774871,63.382485 -104.774222,63.383447 -104.774061,63.383593 -104.773516,63.384402 -104.772803,63.385283 -104.772497,63.385541 -104.772232,63.385880 -104.771587,63.386429 -104.770687,63.387577 -104.767204,63.390918 -104.762779,63.395167 -104.760070,63.397860 -104.759820,63.398053 -104.759646,63.398275 -104.758862,63.399026 -104.757955,63.400527 -104.757669,63.400793 -104.757596,63.400903 -104.757589,63.400977 -104.757377,63.401233 -104.757345,63.401282 -104.757322,63.401424 -104.757291,63.401468 -104.757174,63.401572 -104.757142,63.401755 -104.756791,63.402245 -104.756700,63.402326 -104.756583,63.402495 -104.756376,63.402679 -104.755771,63.403557 -104.752757,63.407140 -104.752342,63.407483 -104.752128,63.407756 -104.751490,63.408299 -104.750591,63.409445 -104.747738,63.412186 -104.744771,63.415364 -104.744173,63.415839 -104.744112,63.415909 -104.743286,63.416581 -104.742630,63.417324 -104.742119,63.417729 -104.741748,63.418154 -104.741106,63.418670 -104.739980,63.419457 -104.739789,63.419656 -104.739381,63.419942 -104.739086,63.420252 -104.733468,63.424222 -104.733171,63.424352 -104.732998,63.424483 -104.731984,63.425171 -104.731903,63.425249 -104.731761,63.425323 -104.731194,63.425707 -104.731121,63.425763 -104.731071,63.425791 -104.730774,63.425992 -104.730486,63.426136 -104.730320,63.426260 -104.730007,63.426388 -104.729912,63.426441 -104.729787,63.426561 -104.729524,63.426691 -104.729411,63.426795 -104.728878,63.427097 -104.728739,63.427152 -104.728706,63.427182 -104.728196,63.427469 -104.728052,63.427525 -104.727133,63.428042 -104.721664,63.430874 -104.720453,63.431333 -104.720178,63.431481 -104.720161,63.431496 -104.719963,63.431599 -104.719946,63.431606 -104.719605,63.431789 -104.718885,63.432132 -104.718697,63.432201 -104.718354,63.432385 -104.718103,63.432505 -104.718008,63.432539 -104.717834,63.432630 -104.717501,63.432780 -104.717353,63.432832 -104.717160,63.432933 -104.717080,63.432969 -104.715651,63.433471 -104.714432,63.434052 -104.714341,63.434086 -104.714095,63.434165 -104.713968,63.434225 -104.713607,63.434359 -104.713428,63.434417 -104.713360,63.434448 -104.713067,63.434551 -104.712635,63.434685 -104.712473,63.434760 -104.711494,63.435104 -104.710183,63.435511 -104.709082,63.435996 -104.705252,63.437213 -104.705704,63.437696 -104.705727,63.437733 -104.705839,63.437845 -104.706004,63.438090 -104.706241,63.438351 -104.707049,63.439664 -104.707649,63.440306 -104.707721,63.440433 -104.707889,63.440804 -104.708228,63.441179 -104.709193,63.443071 -104.709185,63.443556 -104.709429,63.443983 -104.709751,63.444379 -104.709789,63.444612 -104.710030,63.445034 -104.710494,63.447322 -104.710640,63.449614 -104.710389,63.450674 -104.710467,63.451911 -104.710055,63.453831 -104.709668,63.454852 -104.709663,63.455153 -104.709165,63.456468 -104.708633,63.457030 -104.708561,63.457774 -104.707487,63.459407 -104.706249,63.461014 -104.705707,63.461477 -104.704844,63.462596 -104.703278,63.464148 -104.701887,63.465213 -104.701300,63.465863 -104.699784,63.467024 -104.698388,63.467975 -104.698026,63.468340 -104.693001,63.471641 -104.692756,63.471746 -104.692245,63.472091 -104.692157,63.472176 -104.692010,63.472250 -104.691815,63.472382 -104.691734,63.472443 -104.691682,63.472472 -104.691571,63.472547 -104.691331,63.472667 -104.690686,63.473025 -104.690562,63.473114 -104.690419,63.473173 -104.689378,63.473750 -104.689301,63.473789 -104.689218,63.473820 -104.688992,63.473946 -104.688753,63.474067 -104.688543,63.474248 -104.687453,63.474814 -104.687056,63.474964 -104.686947,63.475025 -104.686811,63.475095 -104.686903,63.475209 -104.686937,63.475422 -104.687137,63.475772 -104.687080,63.476343 -104.687125,63.476628 -104.687489,63.477134 -104.687729,63.478501 -104.687671,63.478821 -104.687855,63.479872 -104.687861,63.480613 -104.687661,63.481367 -104.687761,63.482305 -104.687267,63.486177 -104.686875,63.487346 -104.686877,63.487865 -104.686654,63.488531 -104.686595,63.488666 -104.686593,63.488968 -104.686172,63.490147 -104.685874,63.490807 -104.685869,63.490896 -104.685532,63.491642 -104.684591,63.492594 -104.684424,63.493559 -104.683601,63.494722 -104.683350,63.494942 -104.682692,63.495873 -104.681728,63.496976 -104.681186,63.497416 -104.680859,63.497799 -104.680045,63.498467 -104.679440,63.499160 -104.679182,63.499370 -104.678748,63.499879 -104.672424,63.505207 -104.671183,63.506090 -104.670914,63.506374 -104.670449,63.506704 -104.670319,63.506843 -104.669692,63.507294 -104.669445,63.507403 -104.669397,63.507453 -104.669311,63.507515 -104.669146,63.507587 -104.668694,63.507894 -104.668516,63.508034 -104.668444,63.508063 -104.668162,63.508254 -104.667874,63.508539 -104.661714,63.512494 -104.661471,63.512595 -104.661214,63.512768 -104.661098,63.512878 -104.660939,63.512958 -104.660790,63.513070 -104.660624,63.513162 -104.660476,63.513261 -104.660268,63.513365 -104.660138,63.513461 -104.659925,63.513548 -104.659614,63.513720 -104.659460,63.513862 -104.653374,63.517358 -104.652771,63.517598 -104.651860,63.518094 -104.651554,63.518362 -104.646994,63.520774 -104.645889,63.521379 -104.645772,63.521524 -104.645120,63.522070 -104.645014,63.522165 -104.644261,63.523099 -104.644175,63.523211 -104.644153,63.523234 -104.644094,63.523306 -104.643915,63.523472 -104.643476,63.523911 -104.642105,63.524964 -104.642006,63.525065 -104.641452,63.525677 -104.640078,63.526733 -104.638911,63.527527 -104.638475,63.527970 -104.635832,63.529746 -104.631847,63.532833 -104.630793,63.533553 -104.630641,63.533709 -104.630266,63.533965 -104.630193,63.534041 -104.629607,63.534445 -104.629428,63.534523 -104.629384,63.534568 -104.629381,63.534570 -104.629140,63.534674 -104.628776,63.534958 -104.628639,63.535013 -104.628367,63.535193 -104.628190,63.535362 -104.627881,63.535520 -104.627482,63.535820 -104.627115,63.536021 -104.627023,63.536082 -104.626824,63.536181 -104.626305,63.536465 -104.626159,63.536571 -104.625978,63.536645 -104.624916,63.537227 -104.624645,63.537362 -104.624431,63.537549 -104.621128,63.539293 -104.620005,63.539721 -104.618917,63.540305 -104.617241,63.541104 -104.616441,63.541393 -104.616374,63.541425 -104.615569,63.541732 -104.615436,63.541775 -104.613683,63.542610 -104.611349,63.543487 -104.609367,63.544120 -104.608794,63.544373 -104.606165,63.545213 -104.605999,63.545244 -104.603509,63.545989 -104.603463,63.546008 -104.603389,63.546025 -104.603359,63.546034 -104.603253,63.546056 -104.602876,63.546144 -104.602662,63.546214 -104.602374,63.546260 -104.601624,63.546434 -104.601269,63.546573 -104.595428,63.548013 -104.594177,63.548202 -104.593223,63.548400 -104.591264,63.548852 -104.587417,63.550800 -104.586177,63.551262 -104.585449,63.551651 -104.584025,63.552321 -104.583223,63.552609 -104.582885,63.552769 -104.581929,63.553125 -104.581777,63.553174 -104.580276,63.553881 -104.578068,63.554691 -104.576162,63.555293 -104.575670,63.555508 -104.573209,63.556285 -104.572945,63.556332 -104.570859,63.556951 -104.570684,63.557022 -104.570388,63.557090 -104.570339,63.557105 -104.570169,63.557141 -104.569292,63.557344 -104.569016,63.557432 -104.568667,63.557488 -104.568134,63.557612 -104.565493,63.561043 -104.565251,63.561248 -104.565039,63.561561 -104.564747,63.561923 -104.564473,63.562151 -104.564209,63.562487 -104.563634,63.562974 -104.562749,63.564101 -104.559092,63.567651 -104.555938,63.570977 -104.555909,63.570999 -104.555882,63.571036 -104.552897,63.574166 -104.552254,63.574667 -104.551725,63.575331 -104.547939,63.578907 -104.546311,63.580707 -104.545933,63.581009 -104.545535,63.581533 -104.543592,63.583524 -104.543010,63.584173 -104.541248,63.586530 -104.541740,63.586650 -104.542954,63.586860 -104.543821,63.587071 -104.545266,63.587317 -104.550747,63.588609 -104.551126,63.588715 -104.551364,63.588756 -104.558820,63.590555 -104.559046,63.590619 -104.559106,63.590633 -104.560783,63.591105 -104.561305,63.591205 -104.561534,63.591270 -104.561547,63.591275 -104.561660,63.591297 -104.562418,63.591510 -104.562713,63.591566 -104.568165,63.593087 -104.568542,63.593258 -104.569034,63.593353 -104.570557,63.593799 -104.570680,63.593856 -104.570757,63.593872 -104.571260,63.594066 -104.571893,63.594233 -104.572177,63.594292 -104.575268,63.595289 -104.581238,63.596907 -104.582569,63.597304 -104.582782,63.597346 -104.583949,63.597694 -104.584059,63.597745 -104.584387,63.597811 -104.587010,63.598608 -104.588567,63.599005 -104.590220,63.599485 -104.590592,63.599557 -104.591785,63.599903 -104.591895,63.599954 -104.592073,63.600006 -104.592318,63.600054 -104.593944,63.600536 -104.594403,63.600750 -104.595208,63.600965 -104.595544,63.601036 -104.595692,63.601095 -104.595841,63.601135 -104.596069,63.601246 -104.596118,63.601265 -104.596435,63.601333 -104.599371,63.602332 -104.599824,63.602557 -104.600016,63.602634 -104.600244,63.602682 -104.600404,63.602740 -104.600658,63.602797 -104.602048,63.603308 -104.602293,63.603434 -104.603772,63.603977 -104.605121,63.604530 -104.605627,63.604805 -104.606382,63.605111 -104.607359,63.605640 -104.609407,63.606468 -104.611337,63.607429 -104.612925,63.608384 -104.613181,63.608498 -104.614014,63.608858 -104.614939,63.609384 -104.616100,63.610134 -104.616414,63.610278 -104.617136,63.610744 -104.617217,63.610835 -104.617572,63.611000 -104.619962,63.612582 -104.620306,63.612975 -104.621033,63.613329 -104.621535,63.613782 -104.622151,63.614160 -104.622592,63.614701 -104.623316,63.615074 -104.624510,63.616077 -104.625065,63.616824 -104.627248,63.618933 -104.627585,63.619386 -104.628229,63.620096 -104.629446,63.622070 -104.630221,63.622924 -104.631188,63.624818 -104.631179,63.625304 -104.631423,63.625731 -104.631747,63.626128 -104.631784,63.626361 -104.632026,63.626783 -104.632474,63.628894 -104.632649,63.631009 -104.632448,63.631881 -104.632552,63.633129 -104.632252,63.634837 -104.631853,63.635939 -104.631849,63.636338 -104.631404,63.637570 -104.630904,63.638663 -104.630891,63.638826 -104.630154,63.640268 -104.630007,63.640411 -104.629997,63.640441 -104.629982,63.640592 -104.629925,63.640665 -104.629896,63.640753 -104.629202,63.641805 -104.629183,63.641928 -104.628530,63.642882 -104.628370,63.643025 -104.627820,63.643828 -104.627094,63.644714 -104.626785,63.644971 -104.626504,63.645324 -104.625856,63.645868 -104.624943,63.647014 -104.623770,63.648124 -104.623723,63.648160 -104.623693,63.648198 -104.622512,63.649308 -104.621123,63.650343 -104.620626,63.650881 -104.620116,63.651261 -104.619877,63.651522 -104.618873,63.652281 -104.617873,63.652954 -104.617744,63.653085 -104.616571,63.653877 -104.616332,63.653978 -104.615442,63.654567 -104.615351,63.654654 -104.615124,63.654778 -104.615024,63.654845 -104.614799,63.654956 -104.614607,63.655060 -104.614448,63.655176 -104.614241,63.655260 -104.613481,63.655675 -104.613298,63.655839 -104.610522,63.657366 -104.609786,63.657651 -104.609456,63.657938 -104.606130,63.659683 -104.605559,63.659899 -104.604605,63.660420 -104.603976,63.660730 -104.603289,63.660982 -104.603156,63.661055 -104.602134,63.661552 -104.600893,63.662005 -104.599017,63.662918 -104.591958,63.665701 -104.589821,63.666400 -104.589006,63.666762 -104.587780,63.667163 -104.587508,63.667244 -104.587027,63.667456 -104.585999,63.667785 -104.584925,63.668100 -104.584705,63.668531 -104.584610,63.668623 -104.584533,63.668791 -104.584525,63.668875 -104.582474,63.672706 -104.582400,63.672777 -104.582398,63.672784 -104.582390,63.672860 -104.582361,63.672896 -104.582348,63.672937 -104.581419,63.674335 -104.581403,63.674419 -104.580440,63.675725 -104.580107,63.676012 -104.579367,63.677016 -104.578195,63.678279 -104.577405,63.678902 -104.577066,63.679275 -104.576493,63.679731 -104.575976,63.680309 -104.575182,63.680935 -104.574978,63.681075 -104.574475,63.681628 -104.571015,63.684277 -104.569966,63.684988 -104.569818,63.685138 -104.569462,63.685379 -104.569391,63.685452 -104.568817,63.685845 -104.568632,63.685924 -104.568583,63.685974 -104.568568,63.685985 -104.568331,63.686086 -104.567974,63.686361 -104.567697,63.686473 -104.567400,63.686754 -104.567090,63.686912 -104.566692,63.687209 -104.564124,63.688607 -104.561408,63.689947 -104.560370,63.690328 -104.558545,63.691228 -104.555739,63.692367 -104.553544,63.693094 -104.552565,63.693532 -104.549269,63.694625 -104.545851,63.695645 -104.544828,63.695809 -104.544107,63.696087 -104.542340,63.696510 -104.542072,63.696549 -104.540550,63.696914 -104.539502,63.697136 -104.539066,63.697195 -104.538487,63.697322 -104.537539,63.697454 -104.535228,63.697958 -104.528363,63.699146 -104.526161,63.699406 -104.525405,63.699564 -104.524759,63.699665 -104.524371,63.699708 -104.523966,63.699784 -104.522421,63.699967 -104.521720,63.700032 -104.521007,63.700163 -104.520370,63.700233 -104.519319,63.700326 -104.519007,63.700383 -104.518761,63.700410 -104.518595,63.700439 -104.517941,63.700501 -104.517233,63.700579 -104.514554,63.700815 -104.513833,63.701514 -104.512981,63.702545 -104.512356,63.703059 -104.512245,63.703217 -104.511667,63.703889 -104.510981,63.704446 -104.510551,63.704941 -104.510161,63.705262 -104.509588,63.705929 -104.508166,63.707125 -104.506890,63.708027 -104.506597,63.708332 -104.504927,63.709512 -104.503908,63.709955 -104.503157,63.710663 -104.500778,63.711965 -104.498271,63.713215 -104.497397,63.713537 -104.496749,63.713861 -104.495037,63.718938 -104.494997,63.719027 -104.494997,63.719055 -104.492606,63.725975 -104.491721,63.729271 -104.491340,63.730195 -104.491332,63.730415 -104.491106,63.730961 -104.491038,63.731031 -104.491028,63.731243 -104.490807,63.731753 -104.490725,63.731836 -104.490348,63.732649 -104.490334,63.732812 -104.488230,63.736876 -104.488081,63.737019 -104.488071,63.737048 -104.488055,63.737199 -104.487997,63.737273 -104.487968,63.737361 -104.487798,63.737616 -104.487793,63.737660 -104.487646,63.737844 -104.487645,63.737845 -104.487595,63.737989 -104.487473,63.738103 -104.487222,63.738480 -104.487197,63.738645 -104.484567,63.742694 -104.484271,63.742959 -104.484132,63.743123 -104.484103,63.743286 -104.484031,63.743387 -104.483922,63.743482 -104.483889,63.743656 -104.483575,63.744081 -104.483474,63.744169 -104.483330,63.744370 -104.483106,63.744565 -104.482469,63.745458 -104.479005,63.749434 -104.476487,63.752949 -104.476371,63.753049 -104.476362,63.753101 -104.476192,63.753334 -104.476106,63.753409 -104.475980,63.753587 -104.475788,63.753755 -104.475189,63.754606 -104.472715,63.757514 -104.472455,63.757726 -104.472090,63.758224 -104.470134,63.760371 -104.469088,63.761840 -104.468934,63.761974 -104.468920,63.762052 -104.468741,63.762298 -104.468653,63.762374 -104.468525,63.762555 -104.468330,63.762725 -104.467728,63.763579 -104.465254,63.766479 -104.464979,63.766703 -104.464930,63.766767 -104.464432,63.767185 -104.463577,63.768283 -104.459982,63.771843 -104.459033,63.772563 -104.459029,63.772567 -104.458512,63.772976 -104.457916,63.773624 -104.457419,63.774001 -104.457108,63.774342 -104.456741,63.774625 -104.456637,63.774696 -104.456448,63.774903 -104.455699,63.775474 -104.454845,63.776518 -104.454217,63.777036 -104.454071,63.777241 -104.453469,63.777941 -104.452787,63.778493 -104.452382,63.778958 -104.452345,63.778988 -104.452125,63.779272 -104.452048,63.779348 -104.451731,63.779589 -104.451414,63.779958 -104.450923,63.780372 -104.450768,63.780481 -104.450701,63.780559 -104.450601,63.780643 -104.450122,63.780981 -104.449960,63.781157 -104.449816,63.781267 -104.449618,63.781400 -104.449565,63.781458 -104.448670,63.782138 -104.447652,63.782823 -104.447165,63.783315 -104.442606,63.786391 -104.442329,63.786509 -104.441346,63.787163 -104.441250,63.787252 -104.441087,63.787334 -104.440654,63.787622 -104.440572,63.787683 -104.440518,63.787712 -104.440296,63.787860 -104.440119,63.787931 -104.439380,63.788335 -104.439228,63.788471 -104.438132,63.789072 -104.437974,63.789133 -104.437007,63.789663 -104.435795,63.790273 -104.435306,63.790454 -104.435164,63.790531 -104.434193,63.791013 -104.433322,63.791333 -104.431556,63.792210 -104.422758,63.795856 -104.420523,63.796602 -104.419365,63.797119 -104.418119,63.797535 -104.417894,63.797602 -104.417233,63.797895 -104.415626,63.798422 -104.414169,63.798852 -104.413959,63.798941 -104.412266,63.799442 -104.411987,63.799489 -104.410644,63.799884 -104.410544,63.799924 -104.410382,63.799961 -104.410332,63.799976 -104.410156,63.800013 -104.409647,63.800129 -104.409385,63.800213 -104.409042,63.800267 -104.408256,63.800446 -104.408228,63.800510 -104.408118,63.800621 -104.408111,63.800643 -104.407899,63.800841 -104.407890,63.801045 -104.407850,63.801141 -104.407779,63.801212 -104.407753,63.801456 -104.407613,63.801637 -104.407515,63.801928 -104.407317,63.802218 -104.407317,63.802220 -104.407310,63.802228 -104.406905,63.802822 -104.406881,63.802885 -104.406827,63.802935 -104.406337,63.803651 -104.406180,63.803847 -104.406113,63.803902 -104.406052,63.803992 -104.406008,63.804215 -104.402813,63.808481 -104.402638,63.808630 -104.402432,63.808937 -104.402165,63.809276 -104.401978,63.809433 -104.401752,63.809730 -104.401354,63.810066 -104.400558,63.811111 -104.397535,63.814229 -104.396944,63.814684 -104.396936,63.814693 -104.396635,63.814931 -104.396496,63.815086 -104.395904,63.815557 -104.395358,63.816156 -104.395269,63.816225 -104.395218,63.816281 -104.394857,63.816565 -104.394816,63.816594 -104.394510,63.816932 -104.394311,63.817088 -104.394129,63.817291 -104.387958,63.822177 -104.384677,63.824859 -104.383428,63.825726 -104.383166,63.825995 -104.382741,63.826290 -104.382617,63.826420 -104.381866,63.826947 -104.381345,63.827173 -104.380789,63.827601 -104.380469,63.827730 -104.380459,63.827737 -104.380039,63.828129 -104.379680,63.828311 -104.379125,63.828720 -104.378305,63.829048 -104.377869,63.829431 -104.376574,63.830129 -104.376354,63.830213 -104.375240,63.830812 -104.373824,63.831504 -104.373122,63.831758 -104.372970,63.831840 -104.371926,63.832341 -104.370673,63.832792 -104.368778,63.833702 -104.359445,63.837333 -104.357289,63.838029 -104.356466,63.838389 -104.355246,63.838783 -104.354999,63.838855 -104.354724,63.838975 -104.354341,63.839143 -104.344555,63.842296 -104.343173,63.842701 -104.342990,63.842777 -104.342119,63.843032 -104.341938,63.843062 -104.341674,63.843172 -104.340889,63.843396 -104.340673,63.843432 -104.340417,63.843517 -104.340048,63.843575 -104.339633,63.843742 -104.339345,63.843803 -104.339004,63.843914 -104.338307,63.844024 -104.337901,63.844111 -104.337292,63.844343 -104.335557,63.844754 -104.335302,63.844791 -104.333801,63.845147 -104.332756,63.845367 -104.332331,63.845424 -104.331715,63.845557 -104.330799,63.845683 -104.328495,63.846181 -104.322890,63.847145 -104.315565,63.848680 -104.314663,63.848801 -104.314511,63.848834 -104.313692,63.848947 -104.311454,63.849435 -104.310403,63.849620 -104.308578,63.849837 -104.307904,63.849959 -104.307035,63.850064 -104.305769,63.850301 -104.304675,63.850430 -104.304211,63.850473 -104.304026,63.850507 -104.303932,63.850519 -104.303891,63.850522 -104.303814,63.850536 -104.303378,63.850584 -104.302986,63.850619 -104.301886,63.850817 -104.295043,63.851546 -104.293416,63.851686 -104.293182,63.851725 -104.291314,63.851885 -104.291069,63.851882 -104.289526,63.852012 -104.289437,63.852026 -104.289363,63.852028 -104.289295,63.852035 -104.289261,63.852034 -104.288503,63.852098 -104.288065,63.852107 -104.287746,63.852141 -104.287126,63.852127 -104.286869,63.852133 -104.286234,63.852227 -104.277343,63.852658 -104.276441,63.852631 -104.273519,63.852745 -104.269456,63.852799 -104.267447,63.852703 -104.264618,63.852741 -104.262735,63.852670 -104.260253,63.852486 -104.259370,63.852482 -104.257160,63.852318 -104.255570,63.852171 -104.255009,63.852163 -104.247853,63.851491 -104.247159,63.851353 -104.246319,63.851334 -104.245045,63.851137 -104.244078,63.851065 -104.242967,63.850832 -104.242401,63.850819 -104.241746,63.850709 -104.241130,63.850685 -104.239453,63.850440 -104.237584,63.850010 -104.233292,63.849288 -104.232631,63.849136 -104.231710,63.848963 -104.227987,63.848018 -104.225926,63.847630 -104.223963,63.847088 -104.222718,63.846712 -104.222538,63.846676 -104.221133,63.846252 -104.220574,63.845989 -104.220566,63.845987 -104.219748,63.845815 -104.219353,63.845657 -104.219033,63.845569 -104.218559,63.845338 -104.218293,63.845231 -104.217604,63.845078 -104.217141,63.844911 -104.216015,63.844668 -104.215160,63.844438 -104.214989,63.844494 -104.212592,63.845036 -104.212319,63.845139 -104.210261,63.845614 -104.209896,63.845666 -104.208173,63.846064 -104.201225,63.847458 -104.200632,63.847535 -104.199376,63.847815 -104.198320,63.848011 -104.195680,63.848771 -104.191412,63.850160 -104.188867,63.851061 -104.187077,63.851841 -104.185879,63.852250 -104.185379,63.852473 -104.184770,63.852683 -104.184394,63.852850 -104.183966,63.852997 -104.183259,63.853315 -104.183033,63.853392 -104.182979,63.853416 -104.182250,63.853670 -104.181839,63.853795 -104.180988,63.854174 -104.180452,63.854354 -104.180359,63.854382 -104.179945,63.854565 -104.176685,63.855654 -104.175901,63.856024 -104.175449,63.856185 -104.175400,63.856210 -104.174931,63.856431 -104.174047,63.856745 -104.173732,63.856908 -104.173098,63.857196 -104.172966,63.857242 -104.172687,63.857371 -104.171906,63.857646 -104.171566,63.857801 -104.171165,63.857944 -104.170621,63.858192 -104.170029,63.858402 -104.168962,63.858895 -104.166599,63.859751 -104.165753,63.860360 -104.165397,63.860592 -104.165330,63.860661 -104.161267,63.863516 -104.160591,63.863950 -104.157637,63.866545 -104.156254,63.867532 -104.155836,63.867967 -104.155604,63.868133 -104.155363,63.868392 -104.150097,63.872357 -104.149014,63.873077 -104.148856,63.873234 -104.148527,63.873453 -104.148453,63.873527 -104.147870,63.873920 -104.147659,63.874009 -104.147597,63.874071 -104.147561,63.874095 -104.147424,63.874152 -104.147073,63.874382 -104.146958,63.874469 -104.146912,63.874487 -104.146461,63.874783 -104.146375,63.874862 -104.146226,63.874936 -104.145696,63.875283 -104.145627,63.875333 -104.145606,63.875345 -104.145601,63.875349 -104.139333,63.879056 -104.139317,63.879062 -104.139317,63.879062 -104.139308,63.879070 -104.139301,63.879074 -104.139295,63.879078 -104.139080,63.879192 -104.139002,63.879243 -104.138824,63.879329 -104.138553,63.879473 -104.138404,63.879580 -104.138209,63.879657 -104.137390,63.880093 -104.137207,63.880253 -104.131547,63.883288 -104.131114,63.883451 -104.130966,63.883578 -104.130540,63.883801 -104.130205,63.883927 -104.130149,63.883975 -104.129349,63.884388 -104.128938,63.884540 -104.127520,63.885272 -104.120397,63.888501 -104.119999,63.888719 -104.115797,63.891339 -104.111317,63.894357 -104.110940,63.894516 -104.110931,63.894525 -104.110648,63.894728 -104.109926,63.895196 -104.109802,63.895310 -104.109577,63.895422 -104.109289,63.895609 -104.109045,63.895787 -104.108863,63.895885 -104.108504,63.896118 -104.108295,63.896219 -104.108164,63.896313 -104.107825,63.896447 -104.107686,63.896523 -104.107483,63.896703 -104.101237,63.900184 -104.100670,63.900403 -104.100308,63.900598 -104.100297,63.900608 -104.100240,63.900635 -104.099160,63.901217 -104.099020,63.901335 -104.098240,63.901726 -104.097800,63.901887 -104.097639,63.901974 -104.096676,63.902450 -104.095906,63.902730 -104.094180,63.903583 -104.087519,63.906358 -104.085425,63.907054 -104.083797,63.907805 -104.073883,63.911398 -104.071884,63.912015 -104.071322,63.912255 -104.071089,63.912327 -104.070794,63.912456 -104.064816,63.914391 -104.064613,63.914462 -104.063985,63.914784 -104.063748,63.914871 -104.063129,63.915193 -104.062783,63.915322 -104.061449,63.916015 -104.055849,63.918596 -104.055513,63.918713 -104.054917,63.919017 -104.047669,63.922236 -104.047187,63.922401 -104.046507,63.922740 -104.044997,63.923380 -104.043992,63.924083 -104.043134,63.924632 -104.043052,63.924712 -104.042298,63.925194 -104.042213,63.925229 -104.042092,63.925345 -104.036900,63.928624 -104.036639,63.928731 -104.036464,63.928896 -104.032329,63.931450 -104.028730,63.933778 -104.028669,63.933804 -104.028625,63.933846 -104.023097,63.937401 -104.018715,63.940295 -104.018687,63.940307 -104.018666,63.940328 -104.015827,63.942197 -104.013818,63.943811 -104.012552,63.944675 -104.012284,63.944944 -104.011883,63.945218 -104.011757,63.945346 -104.011599,63.945456 -104.011543,63.945513 -104.008932,63.947337 -104.006672,63.949214 -104.005275,63.950601 -104.004694,63.951037 -104.004233,63.951591 -103.998444,63.956858 -103.994693,63.960435 -103.990408,63.965177 -103.990070,63.965442 -103.990034,63.965485 -103.989419,63.965986 -103.988490,63.967116 -103.983056,63.972157 -103.975771,63.978976 -103.975549,63.979138 -103.975395,63.979322 -103.970528,63.983742 -103.969096,63.984773 -103.968873,63.985006 -103.969492,63.985296 -103.971368,63.986553 -103.971655,63.986889 -103.971898,63.987034 -103.972395,63.987278 -103.972566,63.987435 -103.972908,63.987640 -103.973230,63.988043 -103.973294,63.988101 -103.973880,63.988403 -103.974811,63.989175 -103.974895,63.989290 -103.975700,63.989958 -103.977977,63.992085 -103.978676,63.993112 -103.978830,63.993267 -103.979393,63.993764 -103.980206,63.994635 -103.980268,63.994735 -103.980446,63.994996 -103.980549,63.995089 -103.980910,63.995493 -103.981592,63.996629 -103.982105,63.997179 -103.982197,63.997340 -103.982407,63.997812 -103.982861,63.998320 -103.983804,64.000219 -103.983783,64.000709 -103.984028,64.001150 -103.984349,64.001551 -103.984381,64.001786 -103.984621,64.002216 -103.985030,64.004390 -103.985145,64.006567 -103.984902,64.007500 -103.984968,64.008747 -103.984577,64.010556 -103.984149,64.011631 -103.984136,64.011994 -103.983583,64.013382 -103.983279,64.013689 -103.982919,64.014718 -103.982913,64.014767 -103.981476,64.017248 -103.981452,64.017270 -103.981451,64.017272 -103.981448,64.017296 -103.981438,64.017308 -103.981434,64.017321 -103.981367,64.017416 -103.981365,64.017435 -103.981299,64.017514 -103.981001,64.017942 -103.980965,64.018033 -103.980888,64.018103 -103.980316,64.018924 -103.980271,64.018979 -103.980233,64.019010 -103.980201,64.019056 -103.980166,64.019229 -103.979777,64.019746 -103.979684,64.019823 -103.979534,64.020030 -103.979333,64.020200 -103.978709,64.021053 -103.976159,64.023946 -103.975913,64.024140 -103.975568,64.024596 -103.973063,64.027267 -103.972502,64.027700 -103.972334,64.027894 -103.971438,64.028607 -103.970429,64.029773 -103.970000,64.030139 -103.969908,64.030236 -103.969694,64.030401 -103.969220,64.030806 -103.969180,64.030833 -103.969041,64.030986 -103.968215,64.031629 -103.967575,64.032322 -103.967143,64.032654 -103.966702,64.033136 -103.965406,64.034154 -103.964172,64.034985 -103.963933,64.035224 -103.962379,64.036270 -103.960644,64.036999 -103.959486,64.037992 -103.958189,64.038677 -103.957972,64.038758 -103.956855,64.039348 -103.955400,64.040046 -103.954677,64.040303 -103.954494,64.040399 -103.953417,64.040905 -103.952146,64.041353 -103.950223,64.042258 -103.944111,64.044587 -103.941929,64.045276 -103.941095,64.045634 -103.940904,64.045694 -103.940472,64.045884 -103.937911,64.046739 -103.935784,64.047548 -103.933603,64.048237 -103.932772,64.048593 -103.932026,64.048828 -103.931504,64.049056 -103.927657,64.050308 -103.926082,64.050766 -103.925827,64.050871 -103.925787,64.050883 -103.925670,64.050932 -103.920635,64.052457 -103.915793,64.054292 -103.913619,64.054976 -103.912807,64.055324 -103.911601,64.055703 -103.911394,64.055762 -103.910931,64.055959 -103.909930,64.056269 -103.908635,64.056636 -103.908484,64.056698 -103.907642,64.056936 -103.907358,64.057154 -103.906935,64.057685 -103.904858,64.059728 -103.903598,64.061062 -103.902219,64.063096 -103.900639,64.065626 -103.898686,64.069177 -103.898598,64.069258 -103.898539,64.069377 -103.898530,64.069455 -103.896341,64.073286 -103.896272,64.073350 -103.896269,64.073356 -103.896260,64.073425 -103.896233,64.073458 -103.896220,64.073494 -103.896139,64.073611 -103.896136,64.073635 -103.896051,64.073735 -103.895874,64.073989 -103.895867,64.074007 -103.895865,64.074009 -103.895828,64.074104 -103.895732,64.074191 -103.895566,64.074428 -103.895560,64.074476 -103.895421,64.074636 -103.895379,64.074696 -103.895362,64.074792 -103.895333,64.074833 -103.895238,64.074915 -103.895213,64.075043 -103.894945,64.075415 -103.894898,64.075455 -103.894816,64.075572 -103.894709,64.075664 -103.894232,64.076347 -103.890982,64.080354 -103.890791,64.080509 -103.890620,64.080734 -103.890321,64.080982 -103.889586,64.081944 -103.885795,64.085951 -103.885184,64.086419 -103.884901,64.086727 -103.884076,64.087367 -103.883440,64.088052 -103.883017,64.088376 -103.882568,64.088867 -103.881259,64.089891 -103.880014,64.090727 -103.879768,64.090971 -103.878195,64.092026 -103.877991,64.092112 -103.876620,64.092987 -103.876540,64.093059 -103.876348,64.093160 -103.876235,64.093232 -103.875990,64.093348 -103.875932,64.093379 -103.875775,64.093489 -103.875570,64.093569 -103.875025,64.093856 -103.874854,64.094004 -103.866831,64.098333 -103.866539,64.098443 -103.866396,64.098566 -103.860668,64.101597 -103.860441,64.101681 -103.859685,64.102402 -103.858533,64.103624 -103.856851,64.106071 -103.856446,64.106421 -103.855739,64.107405 -103.854734,64.108591 -103.854239,64.108987 -103.853638,64.109745 -103.852858,64.110522 -103.851789,64.111320 -103.851434,64.111678 -103.851112,64.111919 -103.850622,64.112438 -103.849551,64.113237 -103.848919,64.113651 -103.848356,64.114219 -103.844239,64.117059 -103.843370,64.117608 -103.843286,64.117688 -103.842303,64.118308 -103.842129,64.118379 -103.840886,64.119180 -103.840674,64.119281 -103.840540,64.119375 -103.840184,64.119514 -103.840026,64.119657 -103.839910,64.119711 -103.839849,64.119764 -103.839335,64.120046 -103.838591,64.120328 -103.838114,64.120551 -103.837668,64.120922 -103.833261,64.123144 -103.831385,64.124151 -103.828046,64.126184 -103.827850,64.126263 -103.827509,64.126482 -103.827441,64.126544 -103.827332,64.126596 -103.827174,64.126697 -103.827138,64.126724 -103.827115,64.126735 -103.827074,64.126762 -103.826983,64.126805 -103.826109,64.127265 -103.826028,64.127320 -103.825936,64.127356 -103.824651,64.128033 -103.824620,64.128048 -103.824588,64.128059 -103.824502,64.128104 -103.824118,64.128289 -103.823936,64.128438 -103.822719,64.129038 -103.822250,64.129207 -103.822062,64.129307 -103.821062,64.129791 -103.820252,64.130080 -103.818487,64.130936 -103.813599,64.132927 -103.813351,64.133102 -103.810139,64.135986 -103.805233,64.140400 -103.805222,64.140407 -103.805215,64.140416 -103.801490,64.143761 -103.798337,64.147207 -103.795391,64.150646 -103.795237,64.150768 -103.794976,64.151120 -103.791779,64.154684 -103.791097,64.155215 -103.790231,64.156284 -103.786000,64.160355 -103.782992,64.163318 -103.781902,64.164126 -103.781509,64.164427 -103.780761,64.165213 -103.780712,64.165249 -103.780300,64.165705 -103.780067,64.165891 -103.779098,64.167075 -103.778068,64.168447 -103.777702,64.168753 -103.777658,64.168945 -103.777391,64.169282 -103.777246,64.169401 -103.777027,64.169684 -103.776721,64.169937 -103.775974,64.170904 -103.775074,64.171844 -103.774697,64.172267 -103.773977,64.173572 -103.773402,64.174803 -103.773167,64.175030 -103.773161,64.175151 -103.773106,64.175282 -103.772957,64.175431 -103.772951,64.175446 -103.772916,64.175755 -103.772709,64.176130 -103.772544,64.176282 -103.772520,64.176459 -103.772433,64.176563 -103.772425,64.176627 -103.772369,64.176693 -103.772346,64.176755 -103.772223,64.176866 -103.772208,64.176884 -103.772189,64.177011 -103.770775,64.179247 -103.770525,64.179467 -103.770338,64.179687 -103.770321,64.179812 -103.770295,64.179848 -103.770272,64.179965 -103.769697,64.180753 -103.769536,64.180889 -103.768972,64.181663 -103.769100,64.181898 -103.769454,64.182343 -103.769489,64.182610 -103.769726,64.183045 -103.769715,64.183129 -103.769776,64.183207 -103.770056,64.184148 -103.770033,64.184304 -103.770100,64.185081 -103.770315,64.185386 -103.770497,64.186620 -103.770428,64.186934 -103.770583,64.187982 -103.770566,64.188746 -103.770333,64.189512 -103.770405,64.190471 -103.770251,64.191408 -103.770221,64.193722 -103.770181,64.193857 -103.770190,64.193921 -103.770183,64.194234 -103.769949,64.195002 -103.770022,64.195962 -103.769934,64.196496 -103.770131,64.198428 -103.770096,64.198573 -103.770099,64.198592 -103.770030,64.198906 -103.770184,64.199954 -103.770169,64.200642 -103.769936,64.201409 -103.770008,64.202369 -103.769558,64.205101 -103.769549,64.205122 -103.769551,64.205141 -103.769093,64.207873 -103.768924,64.208317 -103.768912,64.208397 -103.768650,64.209100 -103.768636,64.209543 -103.768467,64.209990 -103.768461,64.210001 -103.768458,64.210122 -103.768408,64.210257 -103.768337,64.210403 -103.768331,64.210578 -103.768165,64.210994 -103.767940,64.211448 -103.767922,64.211746 -103.766238,64.215585 -103.765852,64.215963 -103.765778,64.216175 -103.765765,64.216409 -103.765724,64.216506 -103.765711,64.216519 -103.765691,64.216705 -103.765571,64.216928 -103.765701,64.217176 -103.765726,64.217203 -103.765853,64.217431 -103.765945,64.217643 -103.766021,64.217787 -103.766525,64.218322 -103.768571,64.221831 -103.768949,64.222673 -103.769086,64.222831 -103.769387,64.223500 -103.769501,64.223631 -103.770652,64.226178 -103.770620,64.226630 -103.770689,64.226756 -103.771047,64.227205 -103.771081,64.227477 -103.771285,64.227854 -103.771266,64.227995 -103.771367,64.228123 -103.771614,64.228994 -103.771576,64.229245 -103.771619,64.229770 -103.771798,64.230019 -103.771996,64.231174 -103.771950,64.231398 -103.772112,64.232343 -103.772256,64.237836 -103.772024,64.238661 -103.772128,64.239627 -103.772055,64.240334 -103.771631,64.241556 -103.771621,64.242268 -103.771467,64.242711 -103.771465,64.243055 -103.770413,64.246230 -103.770021,64.247075 -103.770009,64.247246 -103.769780,64.247740 -103.769722,64.247796 -103.769718,64.247806 -103.769705,64.247969 -103.769508,64.248378 -103.769380,64.248500 -103.769288,64.248686 -103.769239,64.248832 -103.769203,64.248864 -103.769181,64.249073 -103.766887,64.253346 -103.766675,64.253543 -103.766655,64.253599 -103.766627,64.253804 -103.766544,64.253904 -103.766497,64.254033 -103.766135,64.254548 -103.766130,64.254588 -103.765994,64.254749 -103.765695,64.255173 -103.765655,64.255271 -103.765576,64.255342 -103.765451,64.255520 -103.765189,64.255843 -103.765064,64.255945 -103.764780,64.256348 -103.764767,64.256364 -103.764705,64.256638 -103.762042,64.259996 -103.761603,64.260354 -103.761041,64.261113 -103.760616,64.261592 -103.760347,64.261802 -103.760323,64.261829 -103.760196,64.261929 -103.759855,64.262321 -103.759041,64.262962 -103.758988,64.263022 -103.758030,64.264124 -103.754960,64.266765 -103.753534,64.267759 -103.753083,64.268214 -103.752653,64.268513 -103.752442,64.268728 -103.751492,64.269404 -103.750477,64.270051 -103.750351,64.270171 -103.749167,64.270926 -103.748438,64.271222 -103.747940,64.271668 -103.745746,64.272827 -103.743448,64.273945 -103.742750,64.274194 -103.741045,64.275023 -103.738563,64.276049 -103.736267,64.276800 -103.734821,64.277427 -103.732230,64.278275 -103.729906,64.278947 -103.729017,64.279304 -103.722384,64.281152 -103.721782,64.281249 -103.721419,64.281350 -103.720923,64.281541 -103.720597,64.281608 -103.720193,64.281736 -103.719410,64.281911 -103.719158,64.281981 -103.718965,64.282010 -103.717548,64.282326 -103.717229,64.282443 -103.715272,64.282883 -103.714952,64.282928 -103.713290,64.283302 -103.711231,64.283708 -103.710996,64.283770 -103.707751,64.284883 -103.705832,64.285452 -103.705372,64.285642 -103.704292,64.285962 -103.704173,64.285982 -103.703810,64.286131 -103.702712,64.286452 -103.702201,64.286536 -103.701565,64.286743 -103.701128,64.286809 -103.700467,64.287064 -103.700022,64.287157 -103.699344,64.287370 -103.698365,64.287517 -103.697665,64.287775 -103.695965,64.288164 -103.695727,64.288197 -103.694245,64.288536 -103.693160,64.288757 -103.692727,64.288813 -103.691965,64.288971 -103.691058,64.289089 -103.688722,64.289575 -103.683291,64.290473 -103.678252,64.291514 -103.677372,64.291628 -103.675755,64.291982 -103.674912,64.292139 -103.673922,64.292259 -103.672965,64.292440 -103.671167,64.292660 -103.669513,64.292964 -103.669418,64.292975 -103.668286,64.293190 -103.666421,64.293436 -103.666150,64.293576 -103.665992,64.293705 -103.665135,64.294129 -103.664738,64.294272 -103.664534,64.294379 -103.663564,64.294851 -103.662890,64.295090 -103.661200,64.295912 -103.656095,64.298027 -103.654919,64.298412 -103.654694,64.298509 -103.653505,64.298905 -103.652310,64.299422 -103.651088,64.299821 -103.650957,64.299859 -103.650153,64.300205 -103.648404,64.300770 -103.646750,64.301245 -103.646462,64.301362 -103.644483,64.301931 -103.644122,64.301990 -103.642675,64.302395 -103.642468,64.302475 -103.642117,64.302551 -103.642049,64.302570 -103.641831,64.302614 -103.640951,64.302806 -103.640668,64.302892 -103.640320,64.302944 -103.638360,64.303371 -103.637904,64.303534 -103.631322,64.304932 -103.631078,64.304964 -103.630154,64.305174 -103.624174,64.306386 -103.617352,64.308934 -103.615140,64.309619 -103.614295,64.309975 -103.613091,64.310347 -103.612921,64.310395 -103.612448,64.310592 -103.611048,64.311020 -103.609706,64.311394 -103.609544,64.311459 -103.608018,64.311884 -103.607716,64.311932 -103.606594,64.312248 -103.606471,64.312295 -103.606273,64.312338 -103.606206,64.312357 -103.605985,64.312401 -103.605504,64.312506 -103.605231,64.312589 -103.604881,64.312641 -103.603713,64.312896 -103.603280,64.313054 -103.596141,64.314650 -103.594515,64.314872 -103.594195,64.314934 -103.592813,64.315246 -103.591079,64.315592 -103.590169,64.315707 -103.589435,64.315848 -103.589079,64.315897 -103.587262,64.316259 -103.585485,64.316527 -103.582965,64.316789 -103.580143,64.319134 -103.578737,64.320095 -103.578338,64.320491 -103.577931,64.320769 -103.577746,64.320955 -103.577115,64.321394 -103.576133,64.322013 -103.576019,64.322120 -103.575537,64.322423 -103.575411,64.322542 -103.571263,64.325153 -103.570927,64.325288 -103.570247,64.325714 -103.570082,64.325860 -103.569808,64.325992 -103.569492,64.326214 -103.569228,64.326352 -103.568950,64.326525 -103.568620,64.326679 -103.568432,64.326809 -103.568131,64.326924 -103.567605,64.327199 -103.567396,64.327376 -103.560425,64.331041 -103.559864,64.331247 -103.559788,64.331311 -103.559109,64.331661 -103.558894,64.331740 -103.557767,64.332322 -103.556906,64.332726 -103.556225,64.332963 -103.555947,64.333104 -103.555797,64.333173 -103.555707,64.333204 -103.554813,64.333614 -103.553508,64.334063 -103.551549,64.334963 -103.543635,64.337903 -103.541424,64.338584 -103.540588,64.338935 -103.539388,64.339304 -103.539223,64.339350 -103.538757,64.339545 -103.537366,64.339968 -103.536025,64.340340 -103.535863,64.340405 -103.534339,64.340827 -103.532323,64.341148 -103.530734,64.341723 -103.528643,64.342186 -103.528276,64.342236 -103.526523,64.342623 -103.525121,64.342892 -103.524382,64.342983 -103.523439,64.343167 -103.521911,64.343356 -103.519320,64.343862 -103.513134,64.344749 -103.505847,64.345826 -103.504912,64.345921 -103.504156,64.346065 -103.500229,64.346599 -103.499818,64.346663 -103.499792,64.346671 -103.499395,64.346730 -103.498864,64.346933 -103.498473,64.347013 -103.497939,64.347180 -103.496913,64.347332 -103.496359,64.347446 -103.495528,64.347743 -103.493078,64.348272 -103.492564,64.348340 -103.490588,64.348767 -103.488908,64.349073 -103.487797,64.349204 -103.486800,64.349389 -103.485124,64.349589 -103.483575,64.349869 -103.483072,64.349928 -103.481882,64.350149 -103.477551,64.350691 -103.475714,64.350858 -103.474929,64.350996 -103.468468,64.351691 -103.466533,64.351851 -103.466172,64.351909 -103.464281,64.352065 -103.463990,64.352061 -103.463853,64.352072 -103.463826,64.352071 -103.463224,64.352166 -103.456793,64.352639 -103.456062,64.352625 -103.455303,64.352737 -103.454593,64.352751 -103.453880,64.352821 -103.453282,64.352804 -103.452872,64.352865 -103.452685,64.352867 -103.452639,64.352873 -103.452218,64.353055 -103.452067,64.353105 -103.451605,64.353305 -103.450736,64.353591 -103.448930,64.354113 -103.448558,64.354265 -103.448260,64.354351 -103.447640,64.354606 -103.444854,64.355430 -103.444326,64.355518 -103.444294,64.355532 -103.443904,64.355654 -103.442391,64.356081 -103.442188,64.356158 -103.441920,64.356214 -103.441134,64.356435 -103.440856,64.356522 -103.440716,64.356553 -103.440223,64.356692 -103.437046,64.357415 -103.433804,64.358078 -103.432864,64.358198 -103.430499,64.358683 -103.428210,64.359053 -103.425863,64.359307 -103.425159,64.359422 -103.424826,64.359458 -103.423631,64.359668 -103.421280,64.359923 -103.419719,64.360052 -103.418470,64.360257 -103.410939,64.360913 -103.409783,64.360898 -103.409272,64.360949 -103.408143,64.361116 -103.407448,64.361131 -103.406402,64.361235 -103.406042,64.361225 -103.405713,64.361272 -103.404477,64.361335 -103.403840,64.361315 -103.402420,64.361333 -103.402262,64.361354 -103.402235,64.361358 -103.402231,64.361358 -103.401712,64.361425 -103.398969,64.361491 -103.398172,64.361455 -103.395688,64.361514 -103.394865,64.361507 -103.393292,64.361410 -103.391385,64.361433 -103.385610,64.361242 -103.382913,64.361043 -103.382312,64.361038 -103.381943,64.361039 -103.381867,64.361035 -103.381698,64.361033 -103.381298,64.361004 -103.380996,64.360988 -103.380449,64.360941 -103.380153,64.360919 -103.379833,64.360889 -103.378734,64.360796 -103.378118,64.360788 -103.375260,64.360546 -103.374497,64.360397 -103.372791,64.360273 -103.372420,64.360262 -103.372233,64.360232 -103.372062,64.360219 -103.371758,64.360155 -103.371698,64.360145 -103.371346,64.360134 -103.366168,64.359492 -103.365560,64.359360 -103.365502,64.359350 -103.365240,64.359343 -103.365015,64.359311 -103.364780,64.359302 -103.363223,64.359086 -103.362955,64.359025 -103.361238,64.358786 -103.359997,64.358584 -103.359260,64.358407 -103.359233,64.358403 -103.357835,64.358175 -103.356575,64.357871 -103.353945,64.357441 -103.353270,64.357296 -103.352035,64.357315 -103.350586,64.357275 -103.349408,64.357191 -103.347869,64.357227 -103.347055,64.357190 -103.344558,64.357248 -103.343709,64.357239 -103.342064,64.357137 -103.340120,64.357159 -103.337485,64.357067 -103.334809,64.356867 -103.333641,64.356857 -103.332878,64.356800 -103.332185,64.356796 -103.330416,64.356677 -103.330319,64.356676 -103.329915,64.356687 -103.328222,64.356823 -103.327172,64.356805 -103.327158,64.356807 -103.326017,64.356974 -103.325310,64.356989 -103.324425,64.357076 -103.323910,64.357061 -103.323447,64.357126 -103.322319,64.357179 -103.321511,64.357152 -103.317997,64.357266 -103.314217,64.357296 -103.312305,64.357195 -103.309425,64.357218 -103.307524,64.357140 -103.304950,64.356939 -103.303971,64.356929 -103.301783,64.356758 -103.300310,64.356616 -103.299663,64.356603 -103.296012,64.356252 -103.295202,64.356088 -103.294200,64.356059 -103.292947,64.355861 -103.291896,64.355778 -103.290790,64.355541 -103.290190,64.355524 -103.289655,64.355432 -103.289102,64.355408 -103.287396,64.355154 -103.285644,64.354746 -103.283627,64.354449 -103.281119,64.353997 -103.279435,64.353575 -103.277589,64.354257 -103.275922,64.354766 -103.274981,64.355176 -103.268211,64.357451 -103.266292,64.358009 -103.265839,64.358193 -103.264780,64.358501 -103.264681,64.358518 -103.264344,64.358654 -103.263267,64.358963 -103.262741,64.359048 -103.262067,64.359264 -103.261641,64.359326 -103.260990,64.359573 -103.260540,64.359665 -103.259852,64.359878 -103.256365,64.360658 -103.252802,64.361367 -103.251646,64.361511 -103.249164,64.362005 -103.246618,64.362393 -103.243846,64.362680 -103.242340,64.362939 -103.239248,64.363258 -103.236559,64.363472 -103.235722,64.363602 -103.231422,64.363907 -103.230734,64.363892 -103.230022,64.363996 -103.229323,64.364008 -103.228635,64.364075 -103.228052,64.364058 -103.227653,64.364116 -103.227434,64.364118 -103.227260,64.364142 -103.226278,64.364184 -103.225175,64.364144 -103.225085,64.364157 -103.224613,64.364168 -103.224099,64.364234 -103.221836,64.364285 -103.221049,64.364249 -103.218574,64.364306 -103.217748,64.364298 -103.216178,64.364199 -103.214256,64.364221 -103.207962,64.364007 -103.207525,64.363974 -103.207374,64.363969 -103.207206,64.363957 -103.205068,64.364063 -103.203080,64.364276 -103.201093,64.364438 -103.200705,64.364500 -103.198554,64.364675 -103.198319,64.364671 -103.196608,64.364804 -103.196442,64.364829 -103.195916,64.364860 -103.195895,64.364860 -103.195670,64.364877 -103.195486,64.364905 -103.185854,64.365470 -103.185727,64.365466 -103.185605,64.365484 -103.184966,64.365493 -103.184704,64.365519 -103.184689,64.365519 -103.184506,64.365536 -103.184018,64.365522 -103.183729,64.365564 -103.182967,64.365570 -103.182556,64.365626 -103.181779,64.365653 -103.181483,64.365642 -103.181442,64.365647 -103.181354,64.365649 -103.180594,64.365614 -103.180098,64.365677 -103.178173,64.365721 -103.177379,64.365684 -103.174898,64.365740 -103.174059,64.365731 -103.172454,64.365630 -103.170512,64.365650 -103.162637,64.365375 -103.159946,64.365172 -103.158742,64.365160 -103.154879,64.364869 -103.151048,64.364500 -103.151047,64.364500 -103.151047,64.364500 -103.151046,64.364500 -103.151046,64.364500 -103.151046,64.364500 -103.151046,64.364500 -103.149221,64.364286 -103.149221,64.364286 -103.149220,64.364286 -103.149140,64.364273 -103.148562,64.364230 -103.147516,64.364005 -103.146881,64.363901 -103.145707,64.363848 -103.142886,64.363423 -103.142314,64.363289 -103.140099,64.362956 -103.138412,64.362643 -103.136686,64.362678 -103.135800,64.362636 -103.133735,64.362679 -103.133561,64.362761 -103.131027,64.363789 -103.128709,64.364531 -103.127225,64.365160 -103.124589,64.366004 -103.122217,64.366675 -103.121308,64.367032 -103.114621,64.368849 -103.114211,64.368913 -103.113384,64.369143 -103.113154,64.369230 -103.112867,64.369288 -103.112716,64.369330 -103.112420,64.369421 -103.112279,64.369452 -103.112039,64.369519 -103.111399,64.369643 -103.111180,64.369691 -103.111126,64.369707 -103.111057,64.369717 -103.110984,64.369733 -103.110625,64.369840 -103.110233,64.369897 -103.109827,64.369985 -103.109711,64.370029 -103.109146,64.370133 -103.108777,64.370213 -103.108523,64.370303 -103.108216,64.370367 -103.108072,64.370386 -103.107797,64.370482 -103.106883,64.370671 -103.106593,64.370708 -103.105876,64.370858 -103.105273,64.370936 -103.103185,64.371374 -103.097702,64.372329 -103.095143,64.372617 -103.094693,64.372709 -103.094053,64.372815 -103.094038,64.372817 -103.094017,64.372821 -103.093409,64.372921 -103.093273,64.372936 -103.092533,64.373067 -103.091824,64.373147 -103.091696,64.373171 -103.091679,64.373173 -103.091094,64.373229 -103.090255,64.373324 -103.088986,64.373430 -103.088696,64.373457 -103.087013,64.373735 -103.085610,64.373863 -103.085279,64.373887 -103.083580,64.374049 -103.079821,64.374331 -103.079467,64.374335 -103.079194,64.374362 -103.078658,64.374345 -103.078483,64.374348 -103.077938,64.374423 -103.067759,64.374853 -103.062352,64.375186 -103.062049,64.375177 -103.061751,64.375221 -103.061089,64.375230 -103.060571,64.375279 -103.060079,64.375264 -103.059772,64.375308 -103.059158,64.375313 -103.058814,64.375360 -103.058015,64.375389 -103.057761,64.375379 -103.057663,64.375393 -103.057079,64.375413 -103.056810,64.375460 -103.055172,64.375641 -103.054736,64.375677 -103.053402,64.375906 -103.052311,64.376019 -103.051711,64.376098 -103.049136,64.376338 -103.048194,64.376494 -103.045815,64.376715 -103.044583,64.376806 -103.044418,64.376834 -103.043610,64.376911 -103.043423,64.376939 -103.042300,64.377020 -103.042237,64.377018 -103.039590,64.377217 -103.039262,64.377221 -103.039005,64.377245 -103.038500,64.377230 -103.038347,64.377232 -103.037835,64.377303 -103.031962,64.377555 -103.030942,64.377518 -103.029977,64.377526 -103.028969,64.377656 -103.021514,64.377839 -103.020424,64.377789 -103.019193,64.377829 -103.016768,64.377850 -103.015159,64.377764 -103.014752,64.377766 -103.012274,64.377788 -103.010560,64.377725 -103.007880,64.377519 -103.006700,64.377507 -103.004923,64.377370 -103.004201,64.377300 -103.003430,64.377288 -102.998748,64.376883 -102.997503,64.376637 -102.997326,64.376631 -102.996820,64.376623 -102.996697,64.376612 -102.995845,64.376586 -102.994673,64.376402 -102.993269,64.376290 -102.992286,64.376077 -102.991665,64.376058 -102.991388,64.376010 -102.991023,64.375995 -102.989418,64.375763 -102.989046,64.375677 -102.988221,64.375564 -102.986278,64.375261 -102.985537,64.375084 -102.983163,64.374714 -102.974504,64.373018 -102.973534,64.372765 -102.973464,64.372752 -102.971785,64.372328 -102.970055,64.372007 -102.969496,64.371861 -102.968486,64.371677 -102.967197,64.371351 -102.965328,64.370805 -102.964807,64.370701 -102.964485,64.370607 -102.962306,64.370334 -102.961816,64.370226 -102.961493,64.370172 -102.961215,64.370163 -102.961069,64.370143 -102.960846,64.370134 -102.959258,64.369909 -102.959006,64.369851 -102.957331,64.369614 -102.956082,64.369409 -102.954079,64.368922 -102.952797,64.368727 -102.950845,64.368362 -102.950498,64.368274 -102.950339,64.368245 -102.948784,64.367867 -102.947945,64.367625 -102.945560,64.367180 -102.944001,64.366769 -102.942334,64.366272 -102.941958,64.366196 -102.940302,64.365701 -102.940091,64.365602 -102.939993,64.365573 -102.939816,64.365484 -102.939271,64.365337 -102.938744,64.365224 -102.934767,64.363926 -102.934566,64.363827 -102.934526,64.363816 -102.934264,64.363759 -102.934155,64.363715 -102.934012,64.363676 -102.933805,64.363572 -102.933055,64.363267 -102.932476,64.363134 -102.930970,64.362576 -102.930800,64.362487 -102.929494,64.362003 -102.927926,64.361366 -102.926409,64.360532 -102.923600,64.359323 -102.920701,64.357728 -102.919514,64.356963 -102.917442,64.355709 -102.916847,64.355418 -102.914756,64.353910 -102.914603,64.353718 -102.914537,64.353677 -102.914246,64.353531 -102.914151,64.353440 -102.913991,64.353342 -102.913831,64.353134 -102.913175,64.352505 -102.912617,64.352206 -102.911898,64.351557 -102.908405,64.350140 -102.904788,64.348784 -102.900165,64.347137 -102.899890,64.347056 -102.899738,64.347025 -102.897690,64.346484 -102.897224,64.346365 -102.895452,64.346033 -102.894707,64.345836 -102.893783,64.345666 -102.892369,64.345300 -102.890590,64.344774 -102.890138,64.344683 -102.888725,64.344264 -102.888478,64.344148 -102.888128,64.344044 -102.887545,64.343923 -102.882568,64.342357 -102.882448,64.342299 -102.882418,64.342293 -102.882213,64.342231 -102.881922,64.342092 -102.881416,64.341982 -102.881187,64.341889 -102.880840,64.341794 -102.880702,64.341725 -102.880492,64.341679 -102.880395,64.341640 -102.880293,64.341611 -102.880137,64.341533 -102.880114,64.341524 -102.879895,64.341475 -102.873957,64.339421 -102.873647,64.339264 -102.873092,64.339034 -102.872566,64.338912 -102.871560,64.338534 -102.870842,64.338651 -102.868521,64.338856 -102.868159,64.338851 -102.867838,64.338905 -102.866944,64.338990 -102.866412,64.339030 -102.866241,64.339055 -102.865288,64.339120 -102.865224,64.339118 -102.863028,64.339282 -102.862857,64.339284 -102.862708,64.339298 -102.862411,64.339289 -102.862362,64.339289 -102.862067,64.339330 -102.856728,64.339582 -102.856133,64.339562 -102.854849,64.339574 -102.854176,64.339660 -102.851491,64.339731 -102.850977,64.339707 -102.848802,64.339764 -102.843964,64.339758 -102.842703,64.340023 -102.842156,64.340093 -102.840129,64.340517 -102.838335,64.340831 -102.837082,64.340972 -102.835995,64.341165 -102.834483,64.341336 -102.833054,64.341587 -102.832067,64.341698 -102.830827,64.341918 -102.824870,64.342605 -102.822602,64.342796 -102.822019,64.342889 -102.819777,64.343077 -102.819339,64.343070 -102.819131,64.343087 -102.818928,64.343081 -102.818865,64.343087 -102.817701,64.343264 -102.811270,64.343707 -102.810551,64.343689 -102.809802,64.343796 -102.809119,64.343806 -102.808425,64.343871 -102.807852,64.343853 -102.807450,64.343911 -102.807284,64.343912 -102.807138,64.343932 -102.806163,64.343971 -102.805058,64.343928 -102.803786,64.343938 -102.800767,64.344011 -102.796698,64.343991 -102.793770,64.343811 -102.791007,64.343797 -102.788420,64.343633 -102.786300,64.343440 -102.785793,64.343430 -102.783184,64.343192 -102.782278,64.343009 -102.781509,64.342947 -102.780592,64.342918 -102.780087,64.342833 -102.779711,64.342803 -102.779070,64.342663 -102.778730,64.342606 -102.777950,64.342574 -102.775202,64.342187 -102.772119,64.342556 -102.769749,64.342759 -102.769071,64.342868 -102.766791,64.343064 -102.766389,64.343058 -102.766085,64.343108 -102.765326,64.343178 -102.764775,64.343218 -102.764574,64.343248 -102.763509,64.343317 -102.763442,64.343315 -102.761577,64.343451 -102.761189,64.343455 -102.760896,64.343483 -102.760324,64.343464 -102.760119,64.343467 -102.759534,64.343546 -102.753668,64.343775 -102.752509,64.343729 -102.752070,64.343732 -102.748173,64.343816 -102.742972,64.343766 -102.739443,64.343540 -102.736855,64.343515 -102.733960,64.343304 -102.732114,64.343126 -102.731770,64.343119 -102.729593,64.342909 -102.727787,64.342539 -102.725735,64.342453 -102.724052,64.342218 -102.723867,64.342175 -102.722381,64.341967 -102.716760,64.341065 -102.716591,64.341024 -102.716587,64.341024 -102.716111,64.340911 -102.714020,64.340595 -102.713316,64.340465 -102.712170,64.340173 -102.710899,64.339940 -102.709623,64.339614 -102.708291,64.339369 -102.707292,64.339113 -102.706003,64.338877 -102.704754,64.338561 -102.702853,64.338002 -102.702300,64.337891 -102.701139,64.337549 -102.700990,64.337479 -102.700439,64.337366 -102.693462,64.335258 -102.692708,64.334899 -102.691543,64.334643 -102.691366,64.334572 -102.688444,64.334304 -102.681795,64.333880 -102.679666,64.333684 -102.679151,64.333675 -102.678276,64.333594 -102.677949,64.333588 -102.668593,64.332764 -102.668173,64.332679 -102.668038,64.332677 -102.666117,64.332503 -102.665921,64.332463 -102.665627,64.332454 -102.664493,64.332273 -102.663997,64.332233 -102.663372,64.332213 -102.663045,64.332158 -102.662771,64.332136 -102.662295,64.332031 -102.662134,64.332004 -102.661568,64.331982 -102.654382,64.331012 -102.653791,64.330877 -102.653368,64.330859 -102.652676,64.330758 -102.652410,64.330696 -102.652058,64.330679 -102.645902,64.329748 -102.645707,64.329701 -102.644944,64.329587 -102.644543,64.329492 -102.642568,64.329197 -102.641717,64.329045 -102.639892,64.328582 -102.639489,64.328511 -102.639292,64.328465 -102.639011,64.328384 -102.636492,64.327921 -102.634193,64.327339 -102.632623,64.326876 -102.632336,64.326800 -102.630400,64.326412 -102.628229,64.325777 -102.627898,64.325622 -102.627897,64.325622 -102.627891,64.325618 -102.627270,64.325327 -102.625726,64.324987 -102.624673,64.324565 -102.623400,64.324201 -102.622388,64.323689 -102.621252,64.323418 -102.617329,64.321891 -102.617154,64.321796 -102.616334,64.321477 -102.615983,64.321287 -102.614317,64.320639 -102.613376,64.320221 -102.612752,64.319860 -102.612206,64.319623 -102.611054,64.318964 -102.610772,64.318839 -102.610590,64.318767 -102.610386,64.318675 -102.610335,64.318645 -102.609747,64.318384 -102.609651,64.318329 -102.608827,64.317971 -102.608216,64.317634 -102.607152,64.316943 -102.606541,64.316666 -102.600456,64.312986 -102.599753,64.312507 -102.599691,64.312479 -102.599520,64.312374 -102.599281,64.312210 -102.599139,64.312142 -102.598568,64.311753 -102.598512,64.311685 -102.598308,64.311587 -102.597294,64.310889 -102.597209,64.310786 -102.597191,64.310773 -102.597100,64.310653 -102.597098,64.310650 -102.596614,64.310352 -102.596346,64.310217 -102.593138,64.307797 -102.593069,64.307708 -102.592924,64.307634 -102.592504,64.307222 -102.592463,64.307182 -102.592101,64.306948 -102.591821,64.306576 -102.591551,64.306439 -102.591175,64.306049 -102.591039,64.305980 -102.590929,64.305882 -102.590668,64.305739 -102.590134,64.305245 -102.589900,64.305038 -102.589780,64.304862 -102.588888,64.304069 -102.586790,64.301896 -102.586726,64.301858 -102.585886,64.301502 -102.583506,64.300258 -102.581972,64.299290 -102.581180,64.298923 -102.579164,64.297650 -102.577965,64.296814 -102.577777,64.296723 -102.576595,64.295895 -102.576335,64.295573 -102.576125,64.295442 -102.575657,64.295205 -102.575500,64.295054 -102.575188,64.294860 -102.574902,64.294479 -102.574746,64.294330 -102.574165,64.294019 -102.573192,64.293167 -102.573097,64.293029 -102.572270,64.292304 -102.571009,64.291041 -102.568118,64.288731 -102.567952,64.288504 -102.567902,64.288453 -102.567726,64.288364 -102.567643,64.288293 -102.567530,64.288233 -102.566873,64.287670 -102.566809,64.287578 -102.566088,64.286961 -102.565845,64.286728 -102.565826,64.286711 -102.565823,64.286707 -102.565656,64.286547 -102.565575,64.286421 -102.564831,64.285761 -102.561359,64.282182 -102.561144,64.281830 -102.560652,64.281336 -102.560249,64.280689 -102.559125,64.279562 -102.558715,64.279001 -102.558315,64.278196 -102.557835,64.277680 -102.556270,64.275093 -102.555836,64.274103 -102.555619,64.273845 -102.555218,64.272928 -102.555238,64.272735 -102.555170,64.272580 -102.555183,64.272503 -102.555168,64.272474 -102.554846,64.272063 -102.554392,64.270716 -102.554425,64.270489 -102.554394,64.270427 -102.554241,64.270223 -102.554234,64.270111 -102.554165,64.269976 -102.554060,64.269191 -102.553973,64.269065 -102.553830,64.268209 -102.553857,64.268095 -102.553733,64.267353 -102.553499,64.263446 -102.553543,64.263293 -102.553539,64.263260 -102.553622,64.262947 -102.553513,64.261898 -102.553559,64.261200 -102.553768,64.260605 -102.553153,64.259887 -102.553134,64.259846 -102.553092,64.259732 -102.553000,64.259624 -102.552137,64.257716 -102.552183,64.257218 -102.551943,64.256746 -102.551637,64.256337 -102.551615,64.256098 -102.551387,64.255647 -102.551106,64.253998 -102.550994,64.252346 -102.551131,64.251860 -102.551053,64.250692 -102.551215,64.249520 -102.551689,64.248297 -102.551730,64.247555 -102.551866,64.247205 -102.551881,64.246858 -102.553110,64.243471 -102.553259,64.243173 -102.553266,64.243057 -102.553289,64.242999 -102.552748,64.241766 -102.552785,64.241398 -102.552605,64.241178 -102.552555,64.241053 -102.552576,64.240867 -102.552295,64.240492 -102.552275,64.240262 -102.552069,64.239855 -102.551889,64.238507 -102.551825,64.238412 -102.551677,64.237239 -102.551734,64.237012 -102.551613,64.236063 -102.551666,64.233317 -102.551883,64.232652 -102.551875,64.232584 -102.551896,64.231943 -102.552074,64.231408 -102.552088,64.230868 -102.552294,64.230236 -102.552325,64.230172 -102.552346,64.229499 -102.552906,64.227847 -102.553363,64.226915 -102.553387,64.226686 -102.553952,64.225533 -102.554421,64.225097 -102.554511,64.224892 -102.554601,64.224387 -102.554861,64.224097 -102.554947,64.223903 -102.555251,64.223643 -102.555280,64.223477 -102.555569,64.223168 -102.555577,64.223122 -102.555598,64.223094 -102.555637,64.222936 -102.555971,64.222510 -102.556032,64.222460 -102.556172,64.222278 -102.556306,64.222170 -102.556860,64.221446 -102.558236,64.219898 -102.558873,64.219411 -102.559078,64.219152 -102.559526,64.218676 -102.559309,64.217385 -102.559225,64.216058 -102.559172,64.215994 -102.558715,64.215761 -102.558655,64.215704 -102.558508,64.215631 -102.553951,64.212241 -102.553827,64.212081 -102.553563,64.211947 -102.553127,64.211519 -102.552621,64.211196 -102.552338,64.210818 -102.551817,64.210542 -102.548131,64.207391 -102.546877,64.206534 -102.546500,64.206075 -102.545653,64.205643 -102.545190,64.205200 -102.544844,64.204978 -102.538811,64.206539 -102.538365,64.206605 -102.538305,64.206621 -102.538252,64.206638 -102.537903,64.206768 -102.537686,64.206810 -102.537449,64.206882 -102.536957,64.206987 -102.536737,64.207046 -102.536160,64.207156 -102.535703,64.207254 -102.535355,64.207356 -102.534965,64.207411 -102.533142,64.207799 -102.533046,64.207817 -102.532590,64.207974 -102.530565,64.208387 -102.521354,64.211003 -102.520845,64.211084 -102.520549,64.211174 -102.519194,64.211544 -102.518930,64.211642 -102.518578,64.211713 -102.518187,64.211820 -102.517718,64.211962 -102.517470,64.212016 -102.516987,64.212148 -102.516608,64.212220 -102.516348,64.212297 -102.515813,64.212373 -102.515512,64.212438 -102.515070,64.212597 -102.507328,64.214338 -102.506922,64.214392 -102.506784,64.214442 -102.505905,64.214635 -102.505686,64.214664 -102.504245,64.214980 -102.503362,64.215154 -102.502924,64.215207 -102.501999,64.215391 -102.501104,64.215500 -102.498764,64.215966 -102.490593,64.217249 -102.488263,64.217488 -102.487419,64.217622 -102.487099,64.217655 -102.485948,64.217850 -102.483617,64.218089 -102.482083,64.218207 -102.480783,64.218413 -102.478392,64.218609 -102.477947,64.218600 -102.477906,64.218605 -102.477846,64.218603 -102.477761,64.218616 -102.477164,64.218664 -102.476884,64.218658 -102.476521,64.218715 -102.476450,64.218721 -102.476127,64.218714 -102.475514,64.218801 -102.474993,64.218809 -102.474075,64.218897 -102.471424,64.218936 -102.470898,64.219002 -102.468030,64.219064 -102.467434,64.219034 -102.465157,64.219084 -102.458321,64.219030 -102.455544,64.218852 -102.452873,64.218834 -102.449277,64.218603 -102.446411,64.218335 -102.445801,64.218290 -102.444474,64.218255 -102.443142,64.218115 -102.443117,64.218112 -102.443113,64.218111 -102.442548,64.218052 -102.441756,64.217884 -102.441297,64.217848 -102.440364,64.217816 -102.439882,64.217738 -102.438987,64.217668 -102.437724,64.217387 -102.437098,64.217285 -102.435825,64.217219 -102.432707,64.216717 -102.431982,64.216540 -102.429635,64.216162 -102.421053,64.214436 -102.419725,64.214081 -102.419173,64.213974 -102.418005,64.213667 -102.416634,64.213405 -102.415274,64.213041 -102.415078,64.212982 -102.413876,64.212750 -102.412233,64.212302 -102.410629,64.211810 -102.410283,64.211738 -102.410047,64.211666 -102.404624,64.211587 -102.404535,64.211581 -102.404353,64.211578 -102.402846,64.211477 -102.400886,64.211490 -102.400401,64.211471 -102.398323,64.211474 -102.397173,64.211405 -102.394811,64.211442 -102.383849,64.211221 -102.375006,64.211047 -102.365556,64.211047 -102.365321,64.211033 -102.364778,64.211045 -102.358207,64.211014 -102.351943,64.212897 -102.350454,64.213300 -102.350242,64.213383 -102.349421,64.213605 -102.349345,64.213616 -102.349162,64.213687 -102.348401,64.213891 -102.348052,64.213944 -102.347561,64.214096 -102.347322,64.214129 -102.347095,64.214191 -102.346800,64.214300 -102.346450,64.214368 -102.346000,64.214504 -102.345705,64.214566 -102.345618,64.214589 -102.345351,64.214640 -102.344749,64.214766 -102.344457,64.214851 -102.344104,64.214900 -102.342584,64.215218 -102.342136,64.215374 -102.334312,64.217005 -102.318744,64.220367 -102.318452,64.220405 -102.318270,64.220469 -102.308321,64.222576 -102.307931,64.222626 -102.307740,64.222692 -102.307322,64.222778 -102.307108,64.222805 -102.306403,64.222953 -102.305963,64.223008 -102.304082,64.223401 -102.293651,64.225257 -102.292258,64.225413 -102.291035,64.225657 -102.290213,64.225789 -102.289011,64.225914 -102.288764,64.225954 -102.288606,64.225970 -102.288144,64.226051 -102.287320,64.226142 -102.287250,64.226154 -102.286542,64.226228 -102.285368,64.226426 -102.284163,64.226551 -102.283318,64.226616 -102.282636,64.226726 -102.282092,64.226776 -102.281904,64.226789 -102.281043,64.226928 -102.274055,64.227555 -102.272430,64.227668 -102.272203,64.227702 -102.270344,64.227831 -102.269803,64.227817 -102.268512,64.227938 -102.268479,64.227943 -102.268461,64.227943 -102.268444,64.227945 -102.268409,64.227943 -102.268408,64.227943 -102.268374,64.227948 -102.267024,64.228015 -102.266954,64.228012 -102.265683,64.228021 -102.263967,64.228044 -102.263376,64.228116 -102.260090,64.228168 -102.259285,64.228126 -102.256799,64.228165 -102.247358,64.227997 -102.246471,64.227935 -102.245606,64.227944 -102.244897,64.227923 -102.243060,64.227784 -102.242332,64.227777 -102.241894,64.227746 -102.241445,64.227702 -102.240415,64.227689 -102.240078,64.227664 -102.239365,64.227657 -102.230535,64.227062 -102.229969,64.227007 -102.229721,64.227005 -102.221946,64.226440 -102.219986,64.226247 -102.219576,64.226237 -102.218441,64.226125 -102.218166,64.226119 -102.210505,64.225375 -102.208269,64.225175 -102.207371,64.225364 -102.202514,64.226252 -102.194213,64.228071 -102.193255,64.228196 -102.192657,64.228402 -102.187407,64.229484 -102.185838,64.229890 -102.182027,64.231181 -102.176187,64.233797 -102.175605,64.233990 -102.174318,64.234604 -102.169582,64.236578 -102.164824,64.238925 -102.157277,64.242933 -102.156948,64.243052 -102.156713,64.243168 -102.156629,64.243239 -102.156195,64.243429 -102.156021,64.243568 -102.155476,64.243841 -102.155132,64.243963 -102.155031,64.244042 -102.154240,64.244430 -102.153960,64.244527 -102.152689,64.245150 -102.145256,64.248421 -102.138379,64.251486 -102.137647,64.251728 -102.136100,64.252458 -102.127966,64.255779 -102.126814,64.256144 -102.126188,64.256404 -102.125010,64.256781 -102.123887,64.257248 -102.122724,64.257616 -102.122698,64.257623 -102.121794,64.257999 -102.119953,64.258580 -102.118147,64.259080 -102.117781,64.259223 -102.115565,64.259835 -102.115305,64.259875 -102.113328,64.260410 -102.113305,64.260418 -102.113271,64.260425 -102.113247,64.260432 -102.113169,64.260446 -102.113062,64.260469 -102.112949,64.260502 -102.112801,64.260523 -102.112530,64.260579 -102.112353,64.260643 -102.103993,64.262575 -102.103395,64.262655 -102.103224,64.262687 -102.102824,64.262827 -102.101240,64.263171 -102.101037,64.263197 -102.099639,64.263500 -102.099262,64.263574 -102.098892,64.263694 -102.096939,64.264243 -102.096465,64.264430 -102.095504,64.264700 -102.095185,64.264826 -102.084309,64.267929 -102.073431,64.271255 -102.068370,64.272875 -102.066490,64.273398 -102.066074,64.273561 -102.065081,64.273837 -102.065075,64.273838 -102.064785,64.273952 -102.053494,64.277129 -102.052613,64.277265 -102.051669,64.277626 -102.042676,64.279993 -102.042260,64.280054 -102.041388,64.280290 -102.041158,64.280374 -102.040878,64.280428 -102.040668,64.280485 -102.040399,64.280565 -102.040275,64.280591 -102.040044,64.280653 -102.039849,64.280680 -102.038436,64.280976 -102.038118,64.281087 -102.036168,64.281498 -102.035856,64.281537 -102.034194,64.281888 -102.032787,64.282148 -102.032103,64.282226 -102.030966,64.282437 -102.029582,64.282595 -102.027007,64.283074 -102.016626,64.284492 -102.011084,64.285334 -102.002183,64.286892 -102.001079,64.287013 -101.999111,64.287395 -101.990886,64.288647 -101.989610,64.288773 -101.988240,64.289025 -101.977884,64.290407 -101.975190,64.290649 -101.973998,64.290840 -101.971673,64.291049 -101.970735,64.291113 -101.970466,64.291157 -101.969761,64.291222 -101.969536,64.291238 -101.969264,64.291279 -101.968411,64.291338 -101.968196,64.291333 -101.966345,64.291463 -101.965860,64.291531 -101.961928,64.291747 -101.961835,64.291913 -101.961821,64.292008 -101.961682,64.292256 -101.961646,64.292502 -101.959800,64.295859 -101.959439,64.296180 -101.959421,64.296323 -101.959304,64.296550 -101.959267,64.296734 -101.959116,64.296904 -101.959000,64.297171 -101.958647,64.297466 -101.958584,64.297778 -101.958274,64.298114 -101.958176,64.298324 -101.957979,64.298488 -101.957972,64.298512 -101.957716,64.298808 -101.957474,64.298992 -101.957359,64.299415 -101.953691,64.303841 -101.953445,64.304032 -101.953330,64.304175 -101.953167,64.304303 -101.952549,64.305072 -101.952065,64.305588 -101.951764,64.305810 -101.951742,64.305838 -101.951718,64.305863 -101.951657,64.305909 -101.951297,64.306296 -101.950578,64.306830 -101.949533,64.307959 -101.945601,64.311226 -101.944076,64.312239 -101.943502,64.312780 -101.943137,64.313023 -101.942878,64.313271 -101.942078,64.313817 -101.940936,64.314509 -101.940769,64.314658 -101.940095,64.315067 -101.939977,64.315112 -101.939720,64.315339 -101.935412,64.317904 -101.935110,64.318019 -101.934313,64.318499 -101.934207,64.318587 -101.934041,64.318663 -101.933661,64.318892 -101.933604,64.318929 -101.933570,64.318946 -101.933443,64.319023 -101.933300,64.319086 -101.933201,64.319151 -101.933038,64.319210 -101.932838,64.319309 -101.932719,64.319407 -101.932195,64.319680 -101.931829,64.319811 -101.931266,64.320090 -101.931196,64.320122 -101.930905,64.320219 -101.930523,64.320517 -101.923962,64.323670 -101.923528,64.323819 -101.923453,64.323856 -101.923251,64.323926 -101.922129,64.324478 -101.921430,64.324793 -101.920668,64.325045 -101.920236,64.325253 -101.919813,64.325436 -101.919766,64.325451 -101.919168,64.325712 -101.917859,64.326140 -101.915852,64.327017 -101.907777,64.329873 -101.906958,64.330112 -101.907063,64.330561 -101.907035,64.330695 -101.907051,64.331500 -101.907246,64.331807 -101.907348,64.333048 -101.907260,64.333355 -101.907345,64.334398 -101.907277,64.335189 -101.906983,64.335975 -101.906991,64.336970 -101.905656,64.342647 -101.905134,64.343804 -101.905084,64.344316 -101.905033,64.344429 -101.905014,64.344730 -101.903635,64.348347 -101.903167,64.349237 -101.903140,64.349439 -101.902879,64.349934 -101.902834,64.349975 -101.902811,64.350137 -101.902532,64.350654 -101.902426,64.350748 -101.902224,64.351102 -101.902220,64.351113 -101.902216,64.351116 -101.901951,64.351580 -101.901941,64.351630 -101.901940,64.351631 -101.901919,64.351743 -101.900574,64.353873 -101.900494,64.354849 -101.900452,64.354961 -101.900454,64.354983 -101.900428,64.355286 -101.900139,64.356059 -101.900149,64.357048 -101.899515,64.359772 -101.898993,64.360933 -101.898942,64.361454 -101.898662,64.362076 -101.898623,64.362147 -101.898594,64.362432 -101.898224,64.363232 -101.897957,64.363702 -101.897956,64.363718 -101.897824,64.363998 -101.897821,64.364016 -101.897587,64.364429 -101.897572,64.364442 -101.897170,64.365146 -101.897141,64.365303 -101.896759,64.365907 -101.896750,64.365926 -101.896700,64.366437 -101.896419,64.367057 -101.896380,64.367128 -101.896351,64.367407 -101.895991,64.368183 -101.895739,64.368627 -101.895738,64.368638 -101.895605,64.368919 -101.895593,64.368940 -101.895590,64.368960 -101.895361,64.369364 -101.895341,64.369381 -101.894980,64.370013 -101.894949,64.370185 -101.894105,64.371528 -101.893934,64.371674 -101.893920,64.371705 -101.893888,64.371861 -101.893820,64.371936 -101.893780,64.372027 -101.893469,64.372424 -101.893461,64.372465 -101.893315,64.372622 -101.893109,64.372886 -101.893050,64.373011 -101.892940,64.373102 -101.892879,64.373180 -101.892850,64.373603 -101.892599,64.374252 -101.892568,64.374310 -101.892532,64.374810 -101.891950,64.376269 -101.891495,64.377119 -101.891471,64.377297 -101.890924,64.378319 -101.889952,64.379184 -101.889698,64.380167 -101.889040,64.380994 -101.888906,64.381100 -101.888337,64.381815 -101.887558,64.382661 -101.887279,64.382868 -101.886894,64.383292 -101.886323,64.383718 -101.885335,64.384808 -101.883355,64.386522 -101.881488,64.388144 -101.878889,64.390442 -101.878097,64.390980 -101.877499,64.391610 -101.874230,64.394228 -101.873016,64.395019 -101.872452,64.395575 -101.868341,64.398524 -101.864232,64.401612 -101.862444,64.403078 -101.863157,64.403697 -101.863182,64.403734 -101.863228,64.403759 -101.863392,64.403901 -101.863528,64.404102 -101.863741,64.404220 -101.863800,64.404275 -101.863871,64.404386 -101.863986,64.404450 -101.864983,64.405388 -101.865154,64.405656 -101.866131,64.406574 -101.868218,64.408961 -101.868804,64.410020 -101.868977,64.410185 -101.869441,64.410742 -101.869488,64.410831 -101.869512,64.410854 -101.869582,64.410939 -101.869591,64.410955 -101.869812,64.411203 -101.870341,64.412158 -101.870581,64.412758 -101.871196,64.413495 -101.871214,64.413536 -101.871253,64.413649 -101.871343,64.413757 -101.872170,64.415669 -101.872112,64.416171 -101.872350,64.416663 -101.872650,64.417076 -101.872666,64.417317 -101.872890,64.417779 -101.872745,64.418488 -101.872750,64.418560 -101.873114,64.419133 -101.873223,64.420489 -101.873132,64.420800 -101.873216,64.421847 -101.873145,64.422650 -101.872841,64.423453 -101.872846,64.424455 -101.872242,64.426957 -101.871718,64.428110 -101.871668,64.428611 -101.871499,64.428981 -101.871491,64.429070 -101.871420,64.429231 -101.871339,64.429376 -101.871318,64.429572 -101.871129,64.429976 -101.870909,64.430363 -101.870874,64.430641 -101.868840,64.434677 -101.868840,64.434677 -101.868840,64.434677 -101.868840,64.434677 -101.868840,64.434678 -101.867039,64.438251 -101.866304,64.439935 -101.866198,64.440230 -101.867899,64.440351 -101.870032,64.440349 -101.882682,64.440913 -101.884427,64.441061 -101.885614,64.441070 -101.897685,64.441824 -101.899990,64.442041 -101.900649,64.442056 -101.903591,64.442332 -101.903608,64.442335 -101.904384,64.442406 -101.905075,64.442548 -101.906235,64.442642 -101.906510,64.442652 -101.906638,64.442674 -101.907407,64.442737 -101.907473,64.442739 -101.912371,64.443353 -101.918808,64.444158 -101.918852,64.444168 -101.918854,64.444168 -101.918902,64.444170 -101.918925,64.444174 -101.918949,64.444176 -101.918992,64.444185 -101.920158,64.444387 -101.920689,64.444412 -101.922416,64.444665 -101.922612,64.444711 -101.924131,64.444934 -101.925454,64.445155 -101.927228,64.445596 -101.928339,64.445768 -101.930474,64.446163 -101.931108,64.446328 -101.931393,64.446380 -101.932845,64.446742 -101.932924,64.446765 -101.935114,64.447170 -101.946177,64.449945 -101.948206,64.450546 -101.948896,64.450687 -101.949021,64.450724 -101.949091,64.450738 -101.949410,64.450832 -101.949737,64.450897 -101.950303,64.451059 -101.950351,64.451061 -101.951790,64.451296 -101.952356,64.451436 -101.952665,64.451481 -101.954106,64.451723 -101.955039,64.451955 -101.957535,64.452374 -101.965661,64.454104 -101.968091,64.454772 -101.969727,64.455092 -101.973495,64.456128 -101.977095,64.457240 -101.977245,64.457274 -101.980318,64.458328 -101.980374,64.458357 -101.980379,64.458358 -101.980456,64.458375 -101.980487,64.458389 -101.980525,64.458399 -101.984844,64.460116 -101.988872,64.461952 -101.990731,64.463052 -101.992608,64.463907 -101.993681,64.464554 -101.994796,64.465318 -101.995098,64.465465 -101.995885,64.466004 -101.995995,64.466141 -101.996041,64.466172 -101.996465,64.466381 -101.999192,64.468333 -101.999455,64.468669 -102.000042,64.468970 -102.000503,64.469423 -102.001041,64.469772 -102.001457,64.470339 -102.002186,64.470737 -102.003247,64.471698 -102.003527,64.472123 -102.004041,64.472574 -102.004936,64.473458 -102.005241,64.473951 -102.006334,64.475030 -102.007979,64.477166 -102.008473,64.478138 -102.008517,64.478192 -102.008644,64.478434 -102.009176,64.479044 -102.009681,64.480038 -102.009924,64.480677 -102.010303,64.481142 -102.011014,64.482898 -102.010958,64.483344 -102.011118,64.483671 -102.011395,64.484048 -102.011409,64.484264 -102.011585,64.484623 -102.011843,64.486851 -102.011790,64.489077 -102.011454,64.490057 -102.011424,64.491302 -102.010837,64.493226 -102.010328,64.494271 -102.010290,64.494607 -102.009624,64.495978 -102.008436,64.497063 -102.008099,64.498327 -102.007299,64.499307 -102.007102,64.499459 -102.006434,64.500277 -102.005451,64.501294 -102.005008,64.501616 -102.004555,64.502090 -102.003655,64.502747 -102.002557,64.503896 -101.999265,64.506499 -101.997772,64.507466 -101.997309,64.507896 -101.996973,64.508113 -101.996766,64.508308 -101.995824,64.508935 -101.994746,64.509579 -101.994606,64.509702 -101.993344,64.510455 -101.992578,64.510747 -101.992038,64.511195 -101.989811,64.512300 -101.987486,64.513366 -101.986806,64.513593 -101.985063,64.514391 -101.982435,64.515419 -101.980076,64.516144 -101.978515,64.516780 -101.975811,64.517610 -101.973367,64.518272 -101.972411,64.518632 -101.967854,64.519816 -101.967437,64.519877 -101.966584,64.520105 -101.966354,64.520188 -101.966075,64.520241 -101.965865,64.520297 -101.965604,64.520374 -101.965484,64.520399 -101.965262,64.520458 -101.965074,64.520484 -101.962543,64.521008 -101.962251,64.521105 -101.959185,64.521701 -101.958373,64.521797 -101.956066,64.522245 -101.953788,64.522598 -101.951642,64.522812 -101.950602,64.522973 -101.950072,64.523026 -101.948927,64.523214 -101.946781,64.523428 -101.945557,64.523517 -101.944145,64.523736 -101.938699,64.524187 -101.937180,64.524285 -101.936991,64.524313 -101.935277,64.524424 -101.934749,64.524409 -101.933651,64.524508 -101.933558,64.524520 -101.933508,64.524520 -101.933461,64.524525 -101.933365,64.524521 -101.933359,64.524521 -101.933266,64.524534 -101.931980,64.524592 -101.931790,64.524584 -101.929611,64.524593 -101.928878,64.524680 -101.925791,64.524724 -101.925020,64.524682 -101.922544,64.524718 -101.921622,64.524701 -101.919855,64.524576 -101.917715,64.524578 -101.917417,64.524565 -101.914899,64.524842 -101.912567,64.525024 -101.911939,64.525120 -101.909734,64.525291 -101.909270,64.525281 -101.909033,64.525299 -101.908736,64.525346 -101.908100,64.525399 -101.907897,64.525413 -101.907624,64.525451 -101.906329,64.525527 -101.906212,64.525523 -101.904491,64.525636 -101.903770,64.525639 -101.903322,64.525677 -101.902477,64.525645 -101.901890,64.525648 -101.900982,64.525759 -101.890770,64.525996 -101.889802,64.525947 -101.889137,64.526026 -101.884315,64.526090 -101.876448,64.526498 -101.870715,64.526856 -101.863566,64.527488 -101.862715,64.527575 -101.862225,64.527850 -101.859032,64.529863 -101.858619,64.530024 -101.858573,64.530051 -101.858514,64.530107 -101.858282,64.530261 -101.857097,64.530968 -101.857024,64.531028 -101.856906,64.531082 -101.856030,64.531604 -101.856021,64.531610 -101.856018,64.531611 -101.855664,64.531822 -101.855473,64.531906 -101.855348,64.531987 -101.855012,64.532108 -101.854935,64.532142 -101.854717,64.532317 -101.854099,64.532632 -101.853416,64.532873 -101.852606,64.533224 -101.852108,64.533602 -101.848492,64.535281 -101.847835,64.535502 -101.847775,64.535531 -101.847473,64.535633 -101.846150,64.536266 -101.845427,64.536576 -101.844997,64.536715 -101.844900,64.536761 -101.844640,64.536871 -101.843841,64.537127 -101.843605,64.537238 -101.842687,64.537620 -101.841860,64.537882 -101.840948,64.538269 -101.840398,64.538454 -101.839771,64.538632 -101.838603,64.539118 -101.830481,64.541737 -101.828469,64.542294 -101.827959,64.542491 -101.826923,64.542778 -101.826893,64.542783 -101.826603,64.542895 -101.825517,64.543194 -101.824910,64.543286 -101.824793,64.543332 -101.824630,64.543380 -101.824353,64.543452 -101.824025,64.543552 -101.823915,64.543567 -101.823235,64.543745 -101.822938,64.543851 -101.822524,64.543931 -101.822291,64.543992 -101.821649,64.544180 -101.821308,64.544249 -101.821210,64.544275 -101.820915,64.544329 -101.820267,64.544460 -101.819968,64.544545 -101.819614,64.544592 -101.817936,64.544932 -101.817486,64.545084 -101.809048,64.546772 -101.807875,64.546912 -101.807424,64.547008 -101.806130,64.547258 -101.805306,64.547354 -101.802986,64.547800 -101.801638,64.548007 -101.799435,64.548223 -101.798389,64.548384 -101.797920,64.548430 -101.796786,64.548615 -101.794583,64.548831 -101.793275,64.548925 -101.791864,64.549141 -101.777138,64.550325 -101.776455,64.550310 -101.776134,64.550336 -101.774801,64.550421 -101.774475,64.550471 -101.774392,64.550478 -101.774105,64.550496 -101.773817,64.550535 -101.773420,64.550539 -101.772740,64.550583 -101.772042,64.550644 -101.771923,64.550640 -101.771812,64.550655 -101.771138,64.550684 -101.770994,64.550693 -101.770923,64.550694 -101.770847,64.550697 -101.770785,64.550694 -101.770726,64.550702 -101.770693,64.550704 -101.770481,64.550695 -101.769907,64.550697 -101.769359,64.550741 -101.768359,64.550703 -101.767212,64.550707 -101.766088,64.550838 -101.755370,64.550976 -101.743542,64.551284 -101.743208,64.551267 -101.742958,64.551298 -101.732738,64.551527 -101.731846,64.551482 -101.731480,64.551525 -101.729528,64.551551 -101.728777,64.551509 -101.726318,64.551542 -101.725405,64.551525 -101.723682,64.551401 -101.721538,64.551402 -101.711486,64.550952 -101.709692,64.550799 -101.708459,64.550788 -101.695811,64.549986 -101.693494,64.549766 -101.692829,64.549750 -101.689870,64.549470 -101.689101,64.549310 -101.688423,64.549253 -101.686827,64.549728 -101.685556,64.550235 -101.681773,64.551361 -101.677849,64.552399 -101.673729,64.553243 -101.669516,64.553991 -101.667873,64.554170 -101.665211,64.554643 -101.662045,64.555042 -101.659369,64.555269 -101.658278,64.555439 -101.654476,64.555761 -101.650640,64.556010 -101.650212,64.556012 -101.649894,64.556038 -101.649280,64.556014 -101.649038,64.556015 -101.648402,64.556094 -101.639236,64.556369 -101.637988,64.556310 -101.633173,64.556305 -101.632239,64.556314 -101.631849,64.556304 -101.631550,64.556303 -101.631254,64.556289 -101.628440,64.556232 -101.627868,64.556190 -101.627598,64.556192 -101.626922,64.556175 -101.623529,64.555917 -101.621959,64.555885 -101.621767,64.555868 -101.620770,64.555761 -101.619901,64.555738 -101.616290,64.555381 -101.615358,64.555185 -101.614602,64.555123 -101.613689,64.555086 -101.613223,64.555008 -101.612389,64.554939 -101.607150,64.554107 -101.602059,64.553132 -101.599700,64.552509 -101.597116,64.552014 -101.595757,64.551657 -101.593896,64.551091 -101.593371,64.550981 -101.592060,64.550583 -101.591797,64.550455 -101.591071,64.550299 -101.582644,64.547619 -101.582034,64.547317 -101.581106,64.547106 -101.580034,64.546660 -101.579105,64.546385 -101.578029,64.545826 -101.577365,64.545675 -101.577154,64.545582 -101.576643,64.545455 -101.574903,64.544746 -101.573556,64.543990 -101.571518,64.543089 -101.571308,64.543003 -101.571067,64.542889 -101.570352,64.542573 -101.570100,64.542431 -101.569535,64.542164 -101.568579,64.541583 -101.568087,64.541573 -101.567447,64.541518 -101.567277,64.541500 -101.566993,64.541494 -101.564970,64.541318 -101.563850,64.541198 -101.563058,64.541176 -101.558392,64.540703 -101.558710,64.540938 -101.562664,64.543420 -101.563663,64.544123 -101.563895,64.544237 -101.564405,64.544596 -101.564574,64.544679 -101.567774,64.546898 -101.567918,64.547080 -101.567928,64.547084 -101.568256,64.547308 -101.568428,64.547523 -101.569057,64.547849 -101.569337,64.548125 -101.569365,64.548142 -101.569390,64.548177 -101.569459,64.548244 -101.569693,64.548366 -101.569835,64.548505 -101.570174,64.548727 -101.570341,64.548959 -101.570560,64.549072 -101.570654,64.549173 -101.571006,64.549404 -101.571077,64.549503 -101.571127,64.549530 -101.571413,64.549787 -101.571566,64.549886 -101.573326,64.551143 -101.573513,64.551239 -101.575513,64.552791 -101.575578,64.552879 -101.575592,64.552888 -101.575725,64.552957 -101.575766,64.552999 -101.575830,64.553040 -101.578246,64.555315 -101.580295,64.557651 -101.581000,64.558933 -101.581976,64.560046 -101.582705,64.561411 -101.583056,64.562322 -101.583214,64.562519 -101.583609,64.563542 -101.583567,64.563830 -101.583859,64.564439 -101.583946,64.564558 -101.584486,64.566648 -101.584472,64.566714 -101.584518,64.566778 -101.584522,64.567008 -101.584602,64.567185 -101.584531,64.567516 -101.584687,64.567734 -101.584686,64.567794 -101.584738,64.567871 -101.584823,64.568419 -101.584710,64.568851 -101.584844,64.569999 -101.584832,64.571357 -101.584577,64.572098 -101.584566,64.573339 -101.584143,64.574968 -101.583603,64.576111 -101.583549,64.576594 -101.583061,64.577628 -101.582628,64.578373 -101.582576,64.578684 -101.581657,64.580249 -101.581311,64.580545 -101.581245,64.580691 -101.581179,64.580995 -101.581041,64.581145 -101.580941,64.581368 -101.580784,64.581495 -101.580748,64.581662 -101.580477,64.581948 -101.580384,64.582141 -101.580040,64.582421 -101.580001,64.582601 -101.579712,64.582893 -101.579655,64.583097 -101.579272,64.583557 -101.579201,64.583611 -101.579008,64.583846 -101.578860,64.583960 -101.578256,64.584697 -101.576109,64.586956 -101.575470,64.587420 -101.575292,64.587632 -101.574597,64.588330 -101.573782,64.588910 -101.573291,64.589393 -101.573073,64.589551 -101.572394,64.590232 -101.570825,64.591412 -101.569358,64.592332 -101.568961,64.592689 -101.566980,64.593932 -101.564880,64.595140 -101.562340,64.596367 -101.559678,64.597544 -101.558784,64.597835 -101.556893,64.598670 -101.553900,64.599777 -101.551519,64.600481 -101.550232,64.600992 -101.546422,64.602119 -101.542472,64.603158 -101.537833,64.604086 -101.533081,64.604893 -101.530918,64.605120 -101.528218,64.605578 -101.524640,64.605983 -101.522158,64.606177 -101.521380,64.606294 -101.518097,64.606551 -101.516587,64.606515 -101.514790,64.606753 -101.507699,64.606814 -101.500644,64.606624 -101.495591,64.606237 -101.493625,64.606184 -101.490010,64.605825 -101.489071,64.605627 -101.488298,64.605563 -101.487379,64.605525 -101.486909,64.605446 -101.486063,64.605375 -101.480849,64.604545 -101.475782,64.603573 -101.473456,64.602958 -101.470861,64.602460 -101.469518,64.602107 -101.467640,64.601536 -101.467101,64.601423 -101.465815,64.601032 -101.465575,64.600915 -101.464876,64.600765 -101.460373,64.599337 -101.459731,64.599019 -101.458746,64.598795 -101.457678,64.598350 -101.456721,64.598066 -101.455642,64.597505 -101.454964,64.597351 -101.454790,64.597274 -101.454300,64.597152 -101.452543,64.596436 -101.451209,64.595687 -101.451173,64.595671 -101.449714,64.595085 -101.447929,64.594264 -101.446126,64.593185 -101.444241,64.592318 -101.443196,64.591682 -101.442070,64.590901 -101.441754,64.590747 -101.441434,64.590525 -101.437747,64.588387 -101.436457,64.587515 -101.435994,64.587291 -101.434335,64.586168 -101.434071,64.585841 -101.432890,64.585082 -101.432770,64.585020 -101.432733,64.584981 -101.432682,64.584949 -101.432630,64.584875 -101.432622,64.584868 -101.432506,64.584807 -101.431394,64.583900 -101.431366,64.583886 -101.431272,64.583791 -101.431110,64.583687 -101.430992,64.583521 -101.429415,64.582801 -101.427070,64.582243 -101.424602,64.582183 -101.421742,64.581967 -101.419570,64.581933 -101.419383,64.581919 -101.418997,64.581916 -101.417733,64.581842 -101.415266,64.581611 -101.414438,64.581591 -101.411439,64.581311 -101.410751,64.581168 -101.408758,64.581002 -101.408427,64.580989 -101.399599,64.579881 -101.399448,64.579847 -101.399432,64.579846 -101.399266,64.579839 -101.399188,64.579825 -101.399100,64.579818 -101.398947,64.579783 -101.397991,64.579615 -101.397437,64.579587 -101.395786,64.579342 -101.395609,64.579299 -101.394146,64.579082 -101.392796,64.578855 -101.391771,64.578597 -101.391108,64.578495 -101.389291,64.578170 -101.387964,64.577829 -101.385328,64.577357 -101.380770,64.576296 -101.373521,64.575312 -101.373048,64.575202 -101.372766,64.575152 -101.372486,64.575140 -101.372339,64.575118 -101.372133,64.575107 -101.370612,64.574877 -101.370384,64.574822 -101.368768,64.574578 -101.367583,64.574372 -101.366520,64.574101 -101.365884,64.574002 -101.364178,64.573688 -101.362827,64.573335 -101.361780,64.573138 -101.361508,64.573068 -101.359848,64.572762 -101.358993,64.572553 -101.357020,64.571971 -101.355932,64.571755 -101.346932,64.569258 -101.345300,64.568747 -101.344936,64.568669 -101.344086,64.568403 -101.342832,64.568013 -101.342403,64.567803 -101.341941,64.567671 -101.341294,64.567527 -101.333425,64.564862 -101.333181,64.564737 -101.333120,64.564719 -101.332800,64.564646 -101.332667,64.564589 -101.332487,64.564538 -101.332273,64.564426 -101.332014,64.564367 -101.331609,64.564193 -101.331281,64.564097 -101.331163,64.564035 -101.331041,64.564006 -101.330743,64.563891 -101.330648,64.563839 -101.329810,64.563659 -101.328422,64.563365 -101.326539,64.563083 -101.317298,64.561776 -101.316907,64.561683 -101.316850,64.561681 -101.316452,64.561620 -101.316222,64.561608 -101.314869,64.561401 -101.314612,64.561338 -101.312921,64.561079 -101.311826,64.560886 -101.310799,64.560622 -101.310320,64.560547 -101.308708,64.560248 -101.307313,64.559883 -101.306143,64.559661 -101.305922,64.559605 -101.304366,64.559316 -101.303492,64.559102 -101.301463,64.558501 -101.300369,64.558282 -101.296252,64.557132 -101.289477,64.558036 -101.288701,64.558103 -101.288006,64.558225 -101.278597,64.559385 -101.275917,64.559606 -101.274820,64.559773 -101.272535,64.559961 -101.270977,64.560058 -101.270239,64.560163 -101.269516,64.560208 -101.269091,64.560195 -101.268203,64.560318 -101.259503,64.560815 -101.258806,64.560790 -101.258074,64.560886 -101.257449,64.560888 -101.256797,64.560942 -101.256278,64.560920 -101.255895,64.560970 -101.255781,64.560969 -101.255672,64.560983 -101.254769,64.561011 -101.253787,64.560964 -101.253397,64.560963 -101.253219,64.560986 -101.253108,64.560988 -101.252699,64.561035 -101.250344,64.561066 -101.249755,64.561033 -101.247464,64.561064 -101.240513,64.560957 -101.237716,64.560756 -101.234978,64.560717 -101.232159,64.560514 -101.231872,64.560485 -101.230849,64.560468 -101.229131,64.560338 -101.227078,64.560126 -101.226616,64.560112 -101.224118,64.559855 -101.223067,64.559631 -101.222986,64.559623 -101.221638,64.559566 -101.220846,64.559424 -101.220355,64.559379 -101.219543,64.559192 -101.218822,64.559063 -101.217789,64.559005 -101.211619,64.558012 -101.211440,64.557968 -101.210780,64.557864 -101.210407,64.557772 -101.208474,64.557465 -101.207677,64.557316 -101.205814,64.556826 -101.205211,64.556713 -101.205029,64.556668 -101.204782,64.556595 -101.202393,64.556133 -101.198481,64.555103 -101.195791,64.554279 -101.194348,64.553868 -101.193591,64.553699 -101.190678,64.552714 -101.190392,64.552567 -101.190307,64.552543 -101.190293,64.552540 -101.189491,64.552757 -101.189259,64.552791 -101.189235,64.552798 -101.188939,64.552841 -101.188861,64.552872 -101.188725,64.552911 -101.188089,64.553074 -101.187883,64.553136 -101.187817,64.553144 -101.187044,64.553343 -101.186795,64.553431 -101.186459,64.553494 -101.185910,64.553635 -101.185447,64.553767 -101.185216,64.553813 -101.185113,64.553840 -101.184809,64.553894 -101.184495,64.553956 -101.184213,64.554035 -101.183873,64.554079 -101.182826,64.554286 -101.182413,64.554425 -101.173357,64.556273 -101.172597,64.556363 -101.172130,64.556517 -101.163638,64.558167 -101.162498,64.558298 -101.162386,64.558334 -101.161238,64.558553 -101.160535,64.558632 -101.158310,64.559055 -101.157056,64.559248 -101.155149,64.559431 -101.155117,64.559437 -101.153912,64.559621 -101.153115,64.559698 -101.151973,64.559880 -101.150087,64.560061 -101.149269,64.560117 -101.147782,64.560344 -101.135729,64.561360 -101.134881,64.561413 -101.134656,64.561447 -101.123710,64.562295 -101.122285,64.562379 -101.122028,64.562416 -101.113683,64.562975 -101.101417,64.564019 -101.099605,64.564133 -101.099309,64.564175 -101.097399,64.564295 -101.097153,64.564287 -101.095708,64.564377 -101.095546,64.564399 -101.094919,64.564426 -101.094216,64.564470 -101.094058,64.564470 -101.093919,64.564482 -101.093644,64.564470 -101.093602,64.564470 -101.093326,64.564504 -101.082546,64.564885 -101.075144,64.565149 -101.064969,64.565595 -101.059445,64.566094 -101.055338,64.566676 -101.044711,64.568243 -101.041004,64.568884 -101.037110,64.569600 -101.032205,64.570757 -101.031941,64.570791 -101.031883,64.570806 -101.031673,64.570880 -101.031540,64.570903 -101.031407,64.570942 -101.031182,64.570986 -101.031025,64.571026 -101.030600,64.571101 -101.030313,64.571181 -101.029970,64.571225 -101.029265,64.571365 -101.028890,64.571491 -101.023317,64.572650 -101.017141,64.574001 -101.016512,64.574079 -101.016183,64.574137 -101.015635,64.574321 -101.009382,64.575612 -101.008591,64.575706 -101.008576,64.575709 -101.008340,64.575787 -101.007161,64.576020 -101.006781,64.576064 -101.004966,64.576424 -101.003782,64.576625 -101.002835,64.576722 -101.002809,64.576727 -101.001443,64.576959 -100.999621,64.577146 -100.999189,64.577216 -100.996875,64.577608 -100.991338,64.578249 -100.988735,64.578451 -100.987788,64.578592 -100.985547,64.578766 -100.983990,64.578858 -100.983363,64.578945 -100.981451,64.579058 -100.981213,64.579050 -100.979721,64.579136 -100.979613,64.579150 -100.979473,64.579150 -100.978712,64.579194 -100.978694,64.579196 -100.977269,64.579203 -100.976848,64.579253 -100.975009,64.579293 -100.974784,64.579281 -100.973168,64.579317 -100.964575,64.579348 -100.964162,64.579322 -100.962789,64.579344 -100.957442,64.579306 -100.956781,64.579261 -100.956556,64.579261 -100.955359,64.579184 -100.952607,64.579186 -100.951410,64.579140 -100.948592,64.578901 -100.946958,64.578865 -100.945904,64.578776 -100.945111,64.578760 -100.937763,64.578156 -100.935830,64.577950 -100.935440,64.577937 -100.934807,64.577869 -100.934570,64.577862 -100.933769,64.577780 -100.932396,64.577776 -100.932193,64.577763 -100.931607,64.577773 -100.923543,64.577715 -100.916965,64.577874 -100.915905,64.577818 -100.915825,64.577828 -100.915599,64.577830 -100.915107,64.577884 -100.912653,64.577905 -100.911921,64.577860 -100.909475,64.577880 -100.908514,64.577858 -100.907061,64.577746 -100.906124,64.577808 -100.905726,64.577795 -100.903831,64.577911 -100.903585,64.577942 -100.903297,64.577943 -100.902057,64.578019 -100.902055,64.578019 -100.902055,64.578019 -100.901760,64.578037 -100.901599,64.578036 -100.901457,64.578048 -100.901248,64.578039 -100.901142,64.578052 -100.901071,64.578054 -100.901004,64.578051 -100.900850,64.578070 -100.892723,64.578345 -100.892433,64.578332 -100.892162,64.578352 -100.891332,64.578315 -100.890741,64.578313 -100.889828,64.578418 -100.885581,64.578488 -100.884439,64.578589 -100.878509,64.579210 -100.872388,64.579984 -100.869627,64.580212 -100.868329,64.580407 -100.866053,64.580595 -100.864683,64.580678 -100.864284,64.580738 -100.864073,64.580756 -100.863691,64.580810 -100.862618,64.580879 -100.862550,64.580876 -100.858613,64.581118 -100.858584,64.581118 -100.858557,64.581120 -100.858501,64.581118 -100.858498,64.581118 -100.858443,64.581125 -100.848276,64.581516 -100.844650,64.581662 -100.844126,64.582051 -100.843067,64.583047 -100.842640,64.584199 -100.842575,64.586113 -100.842423,64.586523 -100.842457,64.587288 -100.842384,64.587860 -100.842051,64.588657 -100.842044,64.588748 -100.842042,64.588754 -100.842011,64.589693 -100.841308,64.592188 -100.840748,64.593314 -100.840682,64.593999 -100.839021,64.598043 -100.838502,64.598963 -100.838464,64.599187 -100.838185,64.599683 -100.838151,64.599712 -100.838123,64.599869 -100.837676,64.600646 -100.837494,64.600801 -100.837441,64.600922 -100.837123,64.601174 -100.836994,64.601699 -100.836507,64.602217 -100.836229,64.602755 -100.835804,64.603092 -100.835754,64.603295 -100.835453,64.603589 -100.835382,64.603814 -100.834907,64.604353 -100.834807,64.604426 -100.834547,64.604726 -100.834343,64.604877 -100.833636,64.605690 -100.832611,64.606693 -100.831983,64.607465 -100.831648,64.607719 -100.831563,64.607802 -100.831515,64.607957 -100.831449,64.608033 -100.831395,64.608072 -100.831361,64.608180 -100.831036,64.608549 -100.830934,64.608624 -100.830670,64.608927 -100.830461,64.609081 -100.829747,64.609901 -100.827516,64.612076 -100.827226,64.612278 -100.827200,64.612307 -100.826895,64.612604 -100.826541,64.612849 -100.826497,64.612899 -100.826223,64.613163 -100.826071,64.613268 -100.825874,64.613461 -100.825095,64.614002 -100.824717,64.614359 -100.824540,64.614481 -100.823701,64.615304 -100.821673,64.616808 -100.820156,64.617741 -100.819714,64.618129 -100.819452,64.618290 -100.819261,64.618460 -100.818439,64.618982 -100.817340,64.619610 -100.817199,64.619728 -100.816461,64.620149 -100.816277,64.620217 -100.816224,64.620247 -100.815993,64.620437 -100.814079,64.621498 -100.813804,64.621597 -100.813224,64.621931 -100.813128,64.622007 -100.812984,64.622069 -100.812677,64.622245 -100.812652,64.622261 -100.812637,64.622268 -100.812594,64.622293 -100.812559,64.622305 -100.811392,64.622858 -100.811287,64.622936 -100.809946,64.623566 -100.809735,64.623636 -100.808571,64.624183 -100.806847,64.624921 -100.806729,64.624959 -100.805792,64.626071 -100.804302,64.627618 -100.803694,64.628050 -100.802647,64.629136 -100.800650,64.630771 -100.799049,64.631800 -100.798323,64.632452 -100.795796,64.634077 -100.793067,64.635644 -100.791673,64.636128 -100.790929,64.636666 -100.788706,64.637652 -100.788107,64.637845 -100.786397,64.638603 -100.783786,64.639601 -100.781406,64.640308 -100.779647,64.640998 -100.777218,64.641719 -100.775184,64.642247 -100.773966,64.642694 -100.771369,64.643361 -100.770587,64.643718 -100.762080,64.647185 -100.760919,64.647541 -100.760729,64.647627 -100.759559,64.648095 -100.758406,64.648446 -100.757482,64.648814 -100.756552,64.649099 -100.755384,64.649566 -100.754300,64.649902 -100.752265,64.650442 -100.751751,64.650633 -100.750768,64.650894 -100.750741,64.650898 -100.749958,64.651189 -100.741232,64.653495 -100.740784,64.653559 -100.738853,64.654052 -100.738625,64.654131 -100.738342,64.654183 -100.737543,64.654387 -100.737321,64.654449 -100.737220,64.654470 -100.736806,64.654575 -100.732345,64.655443 -100.727784,64.656200 -100.725839,64.656395 -100.723122,64.656845 -100.719619,64.657237 -100.717033,64.657431 -100.716125,64.657563 -100.712606,64.657826 -100.709062,64.658027 -100.708068,64.658023 -100.707537,64.658062 -100.706564,64.658017 -100.705574,64.658014 -100.704487,64.658133 -100.696932,64.658194 -100.695644,64.658115 -100.694233,64.658136 -100.691793,64.658113 -100.690411,64.658015 -100.690003,64.658011 -100.689417,64.657975 -100.686990,64.657952 -100.684871,64.657829 -100.682278,64.657583 -100.681271,64.657555 -100.678709,64.657311 -100.676671,64.657077 -100.676095,64.657055 -100.670115,64.656338 -100.668815,64.656590 -100.661469,64.657805 -100.659038,64.658047 -100.658153,64.658211 -100.656445,64.658467 -100.656150,64.658494 -100.655751,64.658557 -100.653135,64.659284 -100.649646,64.660156 -100.645074,64.661039 -100.640396,64.661806 -100.638337,64.662009 -100.635615,64.662455 -100.632019,64.662847 -100.629478,64.663032 -100.628634,64.663154 -100.625226,64.663402 -100.624251,64.663456 -100.623836,64.663619 -100.622046,64.664150 -100.620173,64.664635 -100.619785,64.664777 -100.617480,64.665374 -100.616290,64.665540 -100.615132,64.665939 -100.610562,64.666821 -100.605887,64.667585 -100.603831,64.667788 -100.601108,64.668234 -100.597511,64.668625 -100.594967,64.668810 -100.594121,64.668932 -100.590707,64.669180 -100.587271,64.669369 -100.585563,64.669374 -100.585112,64.669426 -100.583052,64.669461 -100.582768,64.669445 -100.580991,64.669475 -100.571840,64.669445 -100.571652,64.669432 -100.567240,64.670323 -100.566433,64.670416 -100.566200,64.670492 -100.565034,64.670718 -100.564656,64.670760 -100.562839,64.671113 -100.561656,64.671309 -100.560669,64.671408 -100.560604,64.671420 -100.559206,64.671651 -100.557409,64.671829 -100.556306,64.672004 -100.554582,64.672288 -100.549210,64.672888 -100.543274,64.673785 -100.533235,64.675490 -100.532760,64.675538 -100.532478,64.675593 -100.531841,64.675699 -100.530856,64.675797 -100.530788,64.675810 -100.529389,64.676040 -100.527992,64.676179 -100.527255,64.676296 -100.526867,64.676335 -100.526839,64.676337 -100.526568,64.676380 -100.524769,64.676676 -100.516413,64.677608 -100.513806,64.677801 -100.513645,64.677824 -100.512528,64.677993 -100.505896,64.678567 -100.497522,64.679468 -100.494985,64.679650 -100.494148,64.679770 -100.491964,64.679927 -100.491006,64.679979 -100.490998,64.679979 -100.490763,64.680013 -100.490752,64.680014 -100.490168,64.680046 -100.489888,64.680083 -100.489128,64.680124 -100.488890,64.680115 -100.488432,64.680140 -100.488184,64.680161 -100.488111,64.680157 -100.488031,64.680162 -100.487502,64.680230 -100.480443,64.680549 -100.477714,64.680746 -100.473396,64.681393 -100.472756,64.681452 -100.471794,64.681624 -100.463363,64.682792 -100.461636,64.682942 -100.459880,64.683234 -100.452196,64.684119 -100.444401,64.685203 -100.443317,64.685297 -100.443259,64.685307 -100.442902,64.685356 -100.441755,64.685455 -100.441409,64.685504 -100.440881,64.685550 -100.439633,64.685739 -100.438594,64.685829 -100.438504,64.685834 -100.438183,64.685882 -100.437025,64.685982 -100.435839,64.686055 -100.435382,64.686123 -100.435337,64.686127 -100.435215,64.686135 -100.434743,64.686202 -100.433967,64.686255 -100.433489,64.686240 -100.433077,64.686265 -100.431843,64.686433 -100.423625,64.686914 -100.422638,64.686878 -100.422478,64.686890 -100.421452,64.687017 -100.420844,64.687017 -100.420039,64.687080 -100.419701,64.687064 -100.419387,64.687102 -100.418389,64.687132 -100.417995,64.687111 -100.414886,64.687164 -100.411536,64.687156 -100.410369,64.687078 -100.407622,64.687071 -100.406105,64.687008 -100.403273,64.686760 -100.401591,64.686717 -100.400536,64.686625 -100.399720,64.686605 -100.398546,64.686506 -100.397756,64.686664 -100.395855,64.687004 -100.394969,64.687098 -100.392575,64.687527 -100.390813,64.687773 -100.388117,64.688007 -100.388021,64.688024 -100.387068,64.688155 -100.387058,64.688156 -100.385993,64.688317 -100.383370,64.688544 -100.381444,64.688663 -100.380084,64.688850 -100.378062,64.688976 -100.377019,64.689146 -100.376409,64.689206 -100.375143,64.689439 -100.369280,64.690315 -100.361295,64.692011 -100.360982,64.692048 -100.360862,64.692080 -100.360312,64.692148 -100.360201,64.692169 -100.359985,64.692243 -100.358942,64.692412 -100.358580,64.692527 -100.358387,64.692563 -100.358210,64.692619 -100.357332,64.692782 -100.357100,64.692807 -100.357082,64.692845 -100.356883,64.692999 -100.356869,64.693026 -100.356812,64.693246 -100.356707,64.693353 -100.356637,64.693493 -100.355292,64.695053 -100.353787,64.696583 -100.353183,64.697005 -100.352121,64.698085 -100.350096,64.699716 -100.348473,64.700742 -100.347723,64.701403 -100.345147,64.703032 -100.342368,64.704602 -100.339924,64.705740 -100.337373,64.706833 -100.336582,64.707080 -100.334715,64.707879 -100.331745,64.708954 -100.329319,64.709647 -100.327849,64.710209 -100.324320,64.711218 -100.320781,64.712111 -100.320364,64.712255 -100.316310,64.713179 -100.316128,64.713202 -100.315901,64.713259 -100.315800,64.713293 -100.315687,64.713313 -100.315626,64.713328 -100.315544,64.713350 -100.315510,64.713357 -100.315466,64.713368 -100.315340,64.713390 -100.314383,64.713572 -100.314144,64.713636 -100.313879,64.713668 -100.313145,64.713809 -100.313066,64.713835 -100.312667,64.713900 -100.311886,64.714049 -100.311501,64.714171 -100.310423,64.714371 -100.310050,64.714411 -100.310019,64.714421 -100.308890,64.714629 -100.308255,64.714697 -100.306078,64.715097 -100.299289,64.716113 -100.299248,64.716117 -100.299178,64.716130 -100.293841,64.716924 -100.289345,64.717833 -100.288846,64.717891 -100.288511,64.717999 -100.283907,64.718900 -100.283001,64.719002 -100.282797,64.719067 -100.281619,64.719289 -100.281164,64.719339 -100.279216,64.719707 -100.277994,64.719901 -100.277068,64.719989 -100.276479,64.720382 -100.275897,64.720915 -100.275065,64.721469 -100.274428,64.722048 -100.273852,64.722432 -100.273254,64.722979 -100.267171,64.727087 -100.265776,64.727898 -100.265485,64.728142 -100.265336,64.728229 -100.265219,64.728329 -100.264504,64.728758 -100.263520,64.729300 -100.263417,64.729383 -100.262299,64.729998 -100.261626,64.730237 -100.261151,64.730603 -100.258634,64.731767 -100.256005,64.732884 -100.255164,64.733145 -100.253264,64.733953 -100.250210,64.735044 -100.247781,64.735733 -100.246373,64.736268 -100.242389,64.737397 -100.238259,64.738432 -100.233710,64.739294 -100.229061,64.740042 -100.227046,64.740236 -100.224311,64.740675 -100.220700,64.741061 -100.218127,64.741242 -100.217249,64.741366 -100.213775,64.741611 -100.210277,64.741795 -100.203304,64.741799 -100.196376,64.741563 -100.191609,64.741160 -100.189492,64.741088 -100.185877,64.740709 -100.184878,64.740491 -100.183917,64.740402 -100.182945,64.740354 -100.182447,64.740266 -100.181479,64.740177 -100.173928,64.738788 -100.166752,64.737107 -100.160397,64.735238 -100.159953,64.735134 -100.159501,64.734974 -100.159186,64.734905 -100.157846,64.734776 -100.157156,64.734742 -100.156796,64.734675 -100.156499,64.734646 -100.155992,64.734526 -100.155801,64.734490 -100.155185,64.734455 -100.150542,64.733745 -100.150177,64.733655 -100.149969,64.733621 -100.149734,64.733607 -100.148531,64.733413 -100.148270,64.733348 -100.146567,64.733073 -100.145576,64.732889 -100.143677,64.732384 -100.143468,64.732344 -100.143346,64.732314 -100.143211,64.732273 -100.139930,64.731622 -100.137350,64.730935 -100.134919,64.730680 -100.133918,64.730461 -100.132949,64.730371 -100.131976,64.730323 -100.131477,64.730234 -100.130505,64.730144 -100.125241,64.729252 -100.120137,64.728217 -100.117755,64.727558 -100.115192,64.727038 -100.113724,64.726633 -100.111902,64.726053 -100.111396,64.725942 -100.109927,64.725475 -100.109663,64.725341 -100.109316,64.725231 -100.108665,64.725082 -100.106231,64.724257 -100.105806,64.724036 -100.105603,64.723976 -100.105059,64.723846 -100.104829,64.723746 -100.104473,64.723640 -100.104002,64.723386 -100.103852,64.723321 -100.103196,64.723157 -100.101943,64.722663 -100.101827,64.722598 -100.100712,64.722159 -100.099115,64.721478 -100.097776,64.720692 -100.094701,64.719274 -100.092412,64.717931 -100.092249,64.717845 -100.092117,64.717758 -100.091774,64.717557 -100.091122,64.717104 -100.088325,64.715262 -100.087806,64.714988 -100.085757,64.713360 -100.085635,64.713184 -100.085584,64.713149 -100.085329,64.713012 -100.085250,64.712928 -100.085115,64.712838 -100.082516,64.710167 -100.081798,64.709228 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-100.106989,64.584208 -100.110827,64.581957 -100.110827,64.581957 -100.110827,64.581957 -100.108293,64.580975 -100.108293,64.580975 -100.108293,64.580975 -100.107748,64.580930 -100.107748,64.580930 -100.107748,64.580930 -100.107571,64.582821 -100.107571,64.582821 -100.107571,64.582821 -100.106989,64.584208 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-99.970976,64.652234 -99.970976,64.652234 -99.970423,64.651925 -99.970423,64.651925 -99.970423,64.651925 -99.967208,64.651254 -99.967208,64.651254 -99.967208,64.651254 -99.961357,64.650730 -99.961357,64.650730 -99.961357,64.650730 -99.959810,64.650493 -99.959810,64.650493 -99.960313,64.650807 -99.960313,64.650807 -99.960313,64.650807 -99.963772,64.651876 -99.963772,64.651876 -99.963772,64.651876 -99.969815,64.652369 -99.970978,64.652243 -99.970978,64.652243 -99.970978,64.652243 -99.970976,64.652234 -99.970976,64.652234 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-100.050087,64.623584 -100.050087,64.623584 -100.049735,64.623459 -100.049735,64.623459 -100.049735,64.623459 -100.049402,64.623416 -100.049402,64.623416 -100.049402,64.623416 -100.048922,64.623287 -100.048922,64.623287 -100.048691,64.624026 -100.048691,64.624026 -100.048691,64.624026 -100.048634,64.624133 -100.050892,64.623760 -100.050892,64.623760 -100.050892,64.623760 -100.050087,64.623584 -100.050087,64.623584 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-99.894834,64.651478 -99.890798,64.650019 -99.890798,64.650019 -99.890798,64.650019 -99.890268,64.649785 -99.890268,64.649785 -99.890268,64.649785 -99.886746,64.650940 -99.886746,64.650940 -99.886746,64.650940 -99.885405,64.651304 -99.885405,64.651304 -99.885405,64.651304 -99.881801,64.651684 -99.878339,64.651331 -99.878339,64.651331 -99.878339,64.651331 -99.875310,64.650690 -99.875310,64.650690 -99.875310,64.650690 -99.875247,64.650668 -99.875247,64.650668 -99.875247,64.650668 -99.875171,64.650660 -99.875171,64.650660 -99.875171,64.650660 -99.872596,64.649807 -99.872596,64.649807 -99.872596,64.649807 -99.866983,64.647194 -99.866983,64.647194 -99.866983,64.647194 -99.865566,64.646544 -99.865959,64.647251 -99.865959,64.647251 -99.865959,64.647251 -99.865972,64.647300 -99.865972,64.647300 -99.865972,64.647300 -99.866045,64.647416 -99.866045,64.647416 -99.866045,64.647416 -99.867932,64.651290 -99.867932,64.651290 -99.867932,64.651290 -99.869178,64.653314 -99.869178,64.653314 -99.869178,64.653314 -99.869195,64.653319 -99.869195,64.653319 -99.869195,64.653319 -99.871188,64.653430 -99.871188,64.653430 -99.871188,64.653430 -99.874940,64.653483 -99.879864,64.652851 -99.879864,64.652851 -99.879864,64.652851 -99.888266,64.651727 -99.888266,64.651727 -99.888266,64.651727 -99.889750,64.651630 -99.889750,64.651630 -99.889750,64.651630 -99.890171,64.651581 -99.890171,64.651581 -99.890171,64.651581 -99.894834,64.651478 -99.894834,64.651478 -99.894834,64.651478 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-131.663727,68.870713 -130.186099,69.716742</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-130.394545,69.585550 -130.273036,69.531864 -130.273036,69.531864 -130.267885,69.529293 -130.267885,69.529293 -130.231217,69.508544 -130.231217,69.508544 -130.225315,69.504485 -130.225315,69.504485 -130.198591,69.481590 -130.198591,69.481590 -130.193748,69.475554 -130.193748,69.475554 -130.193859,69.474462 -130.193859,69.474462 -130.193051,69.473611 -130.193051,69.473611 -130.186099,69.446437 -130.186099,69.446437 -130.187893,69.437611 -130.187893,69.437611 -130.192198,69.433037 -130.192198,69.433037 -130.220105,69.410236 -130.220105,69.410236 -130.228519,69.405006 -130.228519,69.405006 -130.228881,69.404887 -130.228881,69.404887 -130.229082,69.404734 -130.229082,69.404734 -130.264095,69.388038 -130.264095,69.388038 -130.269159,69.385145 -130.269159,69.385145 -130.270959,69.384510 -130.270959,69.384510 -130.272244,69.383515 -130.272244,69.383515 -130.289608,69.377346 -130.289608,69.377346 -130.410873,69.345989 -130.410873,69.345989 -130.413382,69.345616 -130.413382,69.345616 -130.415846,69.344801 -130.415846,69.344801 -130.421505,69.343669 -130.421505,69.343669 -130.483207,69.332484 -130.483207,69.332484 -130.484099,69.332380 -130.484099,69.332380 -130.486686,69.331890 -130.486686,69.331890 -130.566013,69.319171 -130.566013,69.319171 -130.566914,69.319074 -130.566914,69.319074 -130.568349,69.318812 -130.568349,69.318812 -130.598931,69.314314 -130.598931,69.314314 -130.655697,69.304790 -130.655697,69.304790 -130.702804,69.252926 -130.702804,69.252926 -130.703126,69.252698 -130.703126,69.252698 -130.703753,69.251943 -130.703753,69.251943 -130.783429,69.173880 -130.783429,69.173880 -130.763605,69.153364 -130.763605,69.153364 -130.723753,69.133656 -130.723753,69.133656 -130.703918,69.128367 -130.703918,69.128367 -130.693077,69.119571 -130.693077,69.119571 -130.639562,69.078171 -130.639562,69.078171 -130.621282,69.051274 -130.621282,69.051274 -130.625908,69.020961 -130.625908,69.020961 -130.650783,68.991251 -130.650783,68.991251 -130.666556,68.961854 -130.666556,68.961854 -130.708976,68.936759 -130.708976,68.936759 -130.741143,68.927753 -130.741143,68.927753 -130.762373,68.925245 -130.762373,68.925245 -130.815019,68.941272 -130.815019,68.941272 -130.833776,68.941593 -130.876319,68.931919 -130.876319,68.931919 -130.946772,68.894522 -130.946772,68.894522 -130.983514,68.874613 -130.983514,68.874613 -130.991942,68.874063 -130.991942,68.874063 -131.029178,68.870713 -131.057099,68.872952 -131.057099,68.872952 -131.124197,68.897336 -131.124197,68.897336 -131.154429,68.919816 -131.154429,68.919816 -131.146814,68.956193 -131.146814,68.956193 -131.126901,68.979282 -131.126901,68.979282 -131.155360,68.985396 -131.192075,68.973507 -131.192075,68.973507 -131.232979,68.945044 -131.232979,68.945044 -131.322491,68.908778 -131.322491,68.908778 -131.440667,68.877887 -131.560569,68.882951 -131.560569,68.882951 -131.628584,68.896619 -131.628584,68.896619 -131.663727,68.921460 -131.663727,68.921460 -131.621014,68.954060 -131.621014,68.954060 -131.581779,68.980594 -131.581779,68.980594 -131.569144,68.987011 -131.569144,68.987011 -131.523159,69.009857 -131.523159,69.009857 -131.433793,69.040959 -131.433793,69.040959 -131.359135,69.066841 -131.359135,69.066841 -131.288975,69.089887 -131.288975,69.089887 -131.213027,69.112463 -131.213027,69.112463 -131.149287,69.123549 -131.149287,69.123549 -131.148552,69.136883 -131.148552,69.136883 -131.175879,69.152123 -131.175879,69.152123 -131.186897,69.162166 -131.186897,69.162166 -131.186287,69.172945 -131.186287,69.172945 -131.183853,69.176023 -131.183853,69.176023 -131.131361,69.230006 -131.131361,69.230006 -131.134070,69.256430 -131.134070,69.256430 -131.171000,69.274193 -131.171000,69.274193 -131.171945,69.274972 -131.171945,69.274972 -131.173940,69.275708 -131.173940,69.275708 -131.185018,69.285749 -131.185018,69.285749 -131.186212,69.291119 -131.186212,69.291119 -131.183437,69.342448 -131.183437,69.342448 -131.182840,69.344226 -131.182840,69.344226 -131.182917,69.345141 -131.182917,69.345141 -131.173357,69.373851 -131.173357,69.373851 -131.172060,69.376565 -131.172060,69.376565 -131.147455,69.415889 -131.147455,69.415889 -131.129827,69.443974 -131.129827,69.443974 -131.126989,69.447412 -131.126989,69.447412 -131.100806,69.472810 -131.100806,69.472810 -131.105316,69.487973 -131.105316,69.487973 -131.122158,69.519121 -131.122158,69.519121 -131.122150,69.519289 -131.122150,69.519289 -131.122331,69.519452 -131.122331,69.519452 -131.121680,69.530224 -131.121680,69.530224 -131.110429,69.539506 -131.110429,69.539506 -131.048125,69.572365 -131.048125,69.572365 -131.022247,69.587419 -131.022247,69.587419 -131.018281,69.588839 -131.018281,69.588839 -131.015805,69.590623 -131.015805,69.590623 -130.969431,69.610499 -130.969431,69.610499 -130.963042,69.620462 -130.963042,69.620462 -130.963648,69.628914 -130.963648,69.628914 -130.961763,69.635629 -130.961763,69.635629 -130.959961,69.638435 -130.959961,69.638435 -130.949629,69.647145 -130.949629,69.647145 -130.883966,69.683268 -130.883966,69.683268 -130.882642,69.683729 -130.882642,69.683729 -130.881774,69.684408 -130.881774,69.684408 -130.870041,69.688105 -130.870041,69.688105 -130.859307,69.691831 -130.859307,69.691831 -130.857398,69.692086 -130.857398,69.692086 -130.856064,69.692506 -130.856064,69.692506 -130.748956,69.713565 -130.748956,69.713565 -130.723215,69.716742 -130.692183,69.716444 -130.692183,69.716444 -130.668564,69.713120 -130.668564,69.713120 -130.612639,69.701303 -130.612639,69.701303 -130.610801,69.700673 -130.610801,69.700673 -130.607930,69.700226 -130.607930,69.700226 -130.594878,69.696181 -130.594878,69.696181 -130.503718,69.660854 -130.503718,69.660854 -130.495522,69.657057 -130.495522,69.657057 -130.494310,69.655943 -130.494310,69.655943 -130.492498,69.655218 -130.492498,69.655218 -130.457277,69.631720 -130.457277,69.631720 -130.457068,69.631503 -130.457068,69.631503 -130.455932,69.630778 -130.455932,69.630778 -130.394545,69.585550 -130.394545,69.585550 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-129.196875,69.357116 -127.804179,70.013246</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-128.844465,69.685688 -128.835084,69.684863 -128.826680,69.684200 -128.826568,69.684184 -128.826049,69.684147 -128.821641,69.683757 -128.812633,69.683407 -128.812157,69.683350 -128.811655,69.683362 -128.807208,69.682970 -128.796400,69.681650 -128.794851,69.681397 -128.793877,69.681292 -128.781619,69.679316 -128.778920,69.678822 -128.776255,69.678213 -128.767234,69.675931 -128.767085,69.675884 -128.766718,69.675798 -128.756084,69.673002 -128.737904,69.668572 -128.737526,69.668454 -128.736461,69.668201 -128.721825,69.664225 -128.717430,69.662778 -128.717028,69.662662 -128.707033,69.658786 -128.706923,69.658727 -128.706769,69.658682 -128.704105,69.657503 -128.693745,69.652365 -128.680763,69.646616 -128.671690,69.642639 -128.660338,69.637860 -128.652643,69.635810 -128.643798,69.633718 -128.638243,69.631997 -128.637140,69.631678 -128.627176,69.627802 -128.627062,69.627741 -128.626902,69.627694 -128.620594,69.624280 -128.612817,69.618283 -128.612816,69.618282 -128.612815,69.618281 -128.610068,69.615187 -128.607845,69.610662 -128.607877,69.610359 -128.607568,69.609972 -128.607394,69.609088 -128.606988,69.603824 -128.607301,69.602875 -128.607325,69.602563 -128.600722,69.601108 -128.600372,69.601003 -128.597711,69.600361 -128.589682,69.598134 -128.584729,69.596820 -128.575296,69.594416 -128.567686,69.593386 -128.553272,69.591513 -128.548789,69.590958 -128.547265,69.590707 -128.546294,69.590601 -128.540204,69.589609 -128.537495,69.589108 -128.533178,69.588041 -128.518588,69.583813 -128.514304,69.582352 -128.510780,69.580710 -128.498332,69.573911 -128.495581,69.572135 -128.495469,69.571993 -128.495253,69.571872 -128.488266,69.566116 -128.480561,69.559863 -128.468515,69.553807 -128.456960,69.548878 -128.447028,69.545669 -128.444178,69.544642 -128.443926,69.544504 -128.443610,69.544409 -128.434194,69.540452 -128.424640,69.537535 -128.421014,69.536263 -128.420931,69.536218 -128.420822,69.536185 -128.411333,69.532313 -128.399990,69.528451 -128.397985,69.527709 -128.397938,69.527695 -128.390873,69.524879 -128.390823,69.524852 -128.390754,69.524832 -128.386060,69.522490 -128.379595,69.518426 -128.370712,69.513104 -128.361048,69.507893 -128.360353,69.507446 -128.359784,69.507163 -128.349457,69.500761 -128.349087,69.500504 -128.348933,69.500425 -128.339248,69.494008 -128.338104,69.493185 -128.337888,69.492907 -128.337505,69.492687 -128.327486,69.483873 -128.319103,69.476845 -128.318947,69.476635 -128.317553,69.475272 -128.312432,69.468741 -128.312412,69.468703 -128.312374,69.468666 -128.306354,69.460791 -128.305371,69.458937 -128.305417,69.458725 -128.305271,69.458523 -128.304376,69.453724 -128.305245,69.450563 -128.306864,69.449122 -128.313229,69.444850 -128.315478,69.443720 -128.315678,69.443587 -128.323336,69.440505 -128.333251,69.435213 -128.340752,69.429897 -128.341302,69.429613 -128.341664,69.429321 -128.347921,69.425788 -128.350282,69.423080 -128.350213,69.419699 -128.346797,69.417512 -128.343411,69.416258 -128.338772,69.417061 -128.336708,69.417353 -128.336643,69.417368 -128.319486,69.419375 -128.319371,69.419378 -128.319276,69.419399 -128.314948,69.419684 -128.294021,69.420172 -128.280407,69.420688 -128.266469,69.422417 -128.265494,69.422443 -128.264759,69.422595 -128.238550,69.424816 -128.237076,69.424831 -128.233750,69.424996 -128.210334,69.424844 -128.207236,69.424744 -128.207012,69.424714 -128.206806,69.424718 -128.193678,69.423871 -128.193566,69.423856 -128.193469,69.423857 -128.175716,69.422652 -128.175483,69.422620 -128.175295,69.422622 -128.158839,69.421394 -128.150382,69.420194 -128.145422,69.418908 -128.133747,69.415276 -128.130222,69.414019 -128.129774,69.413769 -128.129246,69.413604 -128.119389,69.409247 -128.114208,69.406234 -128.112869,69.405007 -128.108067,69.399849 -128.106509,69.397286 -128.107058,69.394050 -128.111184,69.387993 -128.111392,69.387851 -128.111436,69.387654 -128.115812,69.384838 -128.117489,69.384280 -128.128581,69.381061 -128.131043,69.380591 -128.132657,69.380190 -128.147179,69.378017 -128.147945,69.377989 -128.148707,69.377818 -128.154923,69.377526 -128.175696,69.377748 -128.177454,69.377808 -128.177679,69.377802 -128.201839,69.378855 -128.202579,69.378949 -128.203311,69.378937 -128.222810,69.380247 -128.237155,69.380826 -128.239286,69.380387 -128.244331,69.378080 -128.248207,69.374154 -128.249092,69.369257 -128.247176,69.364224 -128.243007,69.357612 -128.242666,69.357116 -128.312798,69.360817 -128.314893,69.363427 -128.315992,69.365431 -128.316001,69.365442 -128.317747,69.371362 -128.317745,69.371367 -128.317750,69.371373 -128.317831,69.373225 -128.316783,69.378055 -128.316080,69.379472 -128.316053,69.379616 -128.312944,69.383820 -128.312841,69.383889 -128.312821,69.383980 -128.312113,69.384721 -128.307920,69.388463 -128.319548,69.387911 -128.323121,69.387934 -128.324383,69.387893 -128.339391,69.388458 -128.339970,69.388529 -128.340600,69.388516 -128.350115,69.389779 -128.351993,69.390207 -128.362198,69.392709 -128.368821,69.394815 -128.370632,69.395607 -128.379880,69.399971 -128.380564,69.400381 -128.381938,69.401042 -128.389615,69.405471 -128.398662,69.410323 -128.401679,69.412263 -128.403154,69.413617 -128.409706,69.420796 -128.411181,69.423227 -128.411338,69.424058 -128.411786,69.429779 -128.411434,69.430839 -128.411331,69.431841 -128.408924,69.436251 -128.408467,69.436934 -128.407742,69.437693 -128.402176,69.442637 -128.401875,69.442808 -128.401374,69.443262 -128.394480,69.448008 -128.393395,69.448560 -128.392957,69.448885 -128.384017,69.453227 -128.382717,69.453787 -128.382110,69.453923 -128.381784,69.454118 -128.372858,69.457045 -128.366233,69.459914 -128.365288,69.460515 -128.366835,69.462456 -128.370874,69.466098 -128.370980,69.466249 -128.371624,69.466838 -128.377027,69.472730 -128.381582,69.476805 -128.388216,69.481680 -128.396822,69.487417 -128.397913,69.488204 -128.398180,69.488544 -128.398632,69.488806 -128.402010,69.491842 -128.407295,69.494786 -128.416366,69.498059 -128.417470,69.498631 -128.418944,69.499089 -128.433196,69.505398 -128.438272,69.508326 -128.438332,69.508403 -128.438453,69.508470 -128.442300,69.511575 -128.442383,69.511683 -128.443935,69.513163 -128.447782,69.517832 -128.451495,69.521261 -128.454330,69.522872 -128.458083,69.524356 -128.464010,69.526329 -128.467459,69.527276 -128.476754,69.529083 -128.477796,69.529382 -128.478884,69.529537 -128.490246,69.532169 -128.497717,69.533828 -128.505580,69.534910 -128.513232,69.535422 -128.516277,69.535837 -128.521064,69.536423 -128.528523,69.537842 -128.528996,69.537977 -128.529585,69.538054 -128.537389,69.540280 -128.545793,69.543446 -128.549985,69.544312 -128.559552,69.545528 -128.560586,69.545701 -128.561334,69.545779 -128.572218,69.547466 -128.583038,69.548942 -128.585207,69.549314 -128.585881,69.549394 -128.594697,69.550996 -128.595365,69.551182 -128.596244,69.551297 -128.604839,69.553822 -128.607251,69.554888 -128.613050,69.557726 -128.616921,69.560075 -128.619546,69.562952 -128.620963,69.565552 -128.622415,69.566784 -128.626938,69.569468 -128.628892,69.570785 -128.631597,69.573806 -128.633041,69.576643 -128.634753,69.578009 -128.638120,69.580358 -128.638327,69.580597 -128.638788,69.580847 -128.640296,69.582204 -128.643007,69.585110 -128.643399,69.585414 -128.646726,69.585971 -128.649130,69.586420 -128.656210,69.588367 -128.660436,69.589862 -128.661022,69.590160 -128.661973,69.590439 -128.668276,69.593852 -128.669627,69.595539 -128.986379,69.633921 -129.052459,69.653058 -129.106322,69.674138 -129.106501,69.674163 -129.110402,69.674833 -129.118281,69.677025 -129.129669,69.681203 -129.144447,69.685989 -129.146956,69.686882 -129.153367,69.690282 -129.153650,69.690623 -129.154118,69.690885 -129.158596,69.694733 -129.159508,69.694743 -129.162144,69.694827 -129.170599,69.695816 -129.177341,69.697044 -129.177892,69.697196 -129.178587,69.697284 -129.187312,69.699788 -129.193734,69.703187 -129.196875,69.706963 -129.196254,69.710541 -129.192251,69.713264 -129.189352,69.714447 -129.189175,69.714488 -129.189065,69.714561 -129.183734,69.715949 -129.180728,69.716445 -129.180644,69.716456 -129.180623,69.716462 -129.173508,69.717615 -129.171615,69.717926 -129.171806,69.723682 -129.171785,69.723743 -129.171807,69.723877 -129.171691,69.729149 -129.170850,69.731395 -129.168169,69.733504 -129.161701,69.736907 -129.160087,69.737635 -129.159268,69.737821 -129.158851,69.738068 -129.149611,69.740985 -129.149280,69.741490 -129.149460,69.746403 -129.152262,69.752159 -129.157897,69.757541 -129.157935,69.757596 -129.158084,69.757723 -129.163215,69.762857 -129.164922,69.765398 -129.165041,69.767486 -129.162990,69.775802 -129.162900,69.775982 -129.162902,69.776101 -129.160421,69.783362 -129.161934,69.792321 -129.164168,69.795824 -129.166154,69.798925 -129.172575,69.805711 -129.172949,69.806289 -129.173438,69.806778 -129.179490,69.815788 -129.180132,69.817046 -129.180094,69.817267 -129.180256,69.817474 -129.181896,69.824539 -129.181896,69.824540 -129.181897,69.824541 -129.182955,69.829103 -129.182810,69.829722 -129.182779,69.831293 -129.181358,69.834702 -129.184748,69.834708 -129.056004,69.891396 -129.010676,69.896552 -128.995428,69.893678 -128.995662,69.893413 -128.994974,69.893358 -128.993581,69.893239 -128.992641,69.893153 -128.992186,69.893111 -128.990791,69.892973 -128.989396,69.892827 -128.988002,69.892671 -128.986608,69.892507 -128.985215,69.892333 -128.983825,69.892150 -128.982437,69.891959 -128.981051,69.891759 -128.979668,69.891550 -128.978288,69.891333 -128.976913,69.891107 -128.975541,69.890872 -128.974175,69.890629 -128.972813,69.890378 -128.971457,69.890118 -128.970107,69.889850 -128.968763,69.889574 -128.967426,69.889290 -128.966096,69.888998 -128.964774,69.888698 -128.963460,69.888390 -128.962154,69.888074 -128.960857,69.887751 -128.959569,69.887421 -128.958290,69.887083 -128.957022,69.886738 -128.955764,69.886385 -128.954516,69.886026 -128.953889,69.885840 -128.887616,69.873306 -128.840236,69.855275 -128.782842,69.799431 -128.774777,69.754410 -128.775163,69.754193 -128.775808,69.753642 -128.788661,69.745739 -128.791025,69.744595 -128.791571,69.744472 -128.791866,69.744294 -128.806025,69.739565 -128.812521,69.738214 -128.814358,69.738043 -128.837604,69.736332 -128.854951,69.734486 -128.871499,69.731143 -128.884547,69.727220 -128.888350,69.726475 -128.889644,69.726169 -128.905035,69.724155 -128.905419,69.724143 -128.905755,69.724068 -128.914967,69.723842 -128.924440,69.725052 -128.927773,69.724213 -128.939080,69.721211 -128.945797,69.718809 -128.947668,69.716977 -128.948418,69.713840 -128.946353,69.710438 -128.941316,69.707158 -128.935014,69.703806 -128.925588,69.699616 -128.918846,69.697161 -128.907426,69.694071 -128.903543,69.693288 -128.895645,69.691701 -128.884634,69.689969 -128.871877,69.688982 -128.871289,69.688900 -128.869171,69.688717 -128.860135,69.687647 -128.851816,69.686769 -128.849870,69.686469 -128.848248,69.686295 -128.844465,69.685688 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-128.435479,69.945144 -128.334897,70.013246 -127.884695,69.884826 -127.824597,69.850535 -127.804179,69.811941 -127.894022,69.770212 -127.969580,69.765495 -128.007726,69.782611 -128.026828,69.807145 -128.077971,69.856589 -128.135197,69.878731 -128.226042,69.891832 -128.388071,69.918373 -128.435479,69.945144 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-124.851699,70.147857 -124.423622,70.233087</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-124.846490,70.177563 -124.848700,70.179677 -124.849884,70.181537 -124.851477,70.185248 -124.851699,70.187916 -124.851649,70.188758 -124.851308,70.189440 -124.851253,70.190976 -124.850636,70.193044 -124.849562,70.194766 -124.849353,70.195871 -124.848770,70.196823 -124.846436,70.199793 -124.839118,70.205268 -124.836688,70.206659 -124.828435,70.210560 -124.808168,70.216323 -124.804309,70.217097 -124.803514,70.217182 -124.803444,70.217200 -124.802542,70.217286 -124.801936,70.217350 -124.799585,70.217974 -124.782098,70.219467 -124.768985,70.220864 -124.766771,70.220773 -124.764883,70.220934 -124.760185,70.220973 -124.732751,70.219601 -124.730090,70.219260 -124.718781,70.222466 -124.714918,70.223239 -124.714097,70.223326 -124.714022,70.223348 -124.712955,70.223448 -124.712530,70.223493 -124.710159,70.224120 -124.682239,70.226709 -124.679538,70.226995 -124.679267,70.226984 -124.679008,70.227008 -124.675190,70.227095 -124.674690,70.227074 -124.659637,70.226946 -124.649528,70.226518 -124.634072,70.225337 -124.634036,70.225330 -124.633192,70.225287 -124.626521,70.224429 -124.621706,70.223725 -124.619412,70.223238 -124.618413,70.223559 -124.616576,70.224041 -124.609517,70.225549 -124.607555,70.226099 -124.594033,70.228757 -124.590291,70.229147 -124.587667,70.229839 -124.585938,70.230028 -124.584732,70.230324 -124.582703,70.230613 -124.574425,70.231284 -124.564005,70.232420 -124.561976,70.232530 -124.554992,70.232803 -124.554015,70.232762 -124.553117,70.232842 -124.538302,70.233087 -124.537375,70.233044 -124.527683,70.233027 -124.525013,70.232952 -124.505967,70.231634 -124.505349,70.231515 -124.504675,70.231484 -124.501561,70.231113 -124.501018,70.231006 -124.492307,70.229788 -124.480164,70.227741 -124.478249,70.227309 -124.475457,70.226881 -124.473759,70.226546 -124.461406,70.223551 -124.460284,70.223061 -124.458879,70.222776 -124.454691,70.221437 -124.447893,70.218335 -124.439596,70.214883 -124.436668,70.213114 -124.436133,70.212508 -124.434831,70.211939 -124.428985,70.206689 -124.427939,70.205350 -124.426904,70.203235 -124.426149,70.202427 -124.424518,70.198781 -124.424116,70.197549 -124.424015,70.197430 -124.423838,70.196841 -124.423862,70.196769 -124.423798,70.196574 -124.423893,70.196321 -124.423622,70.195984 -124.424062,70.190609 -124.424729,70.188815 -124.428289,70.183517 -124.435674,70.178074 -124.438125,70.176688 -124.446465,70.172786 -124.466712,70.167077 -124.470573,70.166308 -124.471412,70.166220 -124.471514,70.166193 -124.472813,70.166072 -124.472978,70.166055 -124.475373,70.165424 -124.494151,70.163825 -124.505935,70.162582 -124.507792,70.162661 -124.509411,70.162523 -124.513963,70.162479 -124.518440,70.162704 -124.531897,70.162983 -124.573918,70.165771 -124.580875,70.166391 -124.600395,70.160865 -124.604251,70.160094 -124.605063,70.160008 -124.605146,70.159986 -124.606213,70.159886 -124.606634,70.159842 -124.609001,70.159215 -124.629289,70.156831 -124.630541,70.156745 -124.635172,70.156528 -124.636143,70.156426 -124.666022,70.155089 -124.668200,70.155159 -124.670667,70.154927 -124.680069,70.154876 -124.683500,70.154925 -124.690336,70.155348 -124.698834,70.152883 -124.698984,70.152851 -124.699892,70.152678 -124.700549,70.152492 -124.704400,70.151720 -124.705191,70.151635 -124.705258,70.151617 -124.706136,70.151535 -124.706765,70.151468 -124.709109,70.150845 -124.726540,70.149360 -124.739619,70.147965 -124.741825,70.148056 -124.743707,70.147896 -124.748389,70.147857 -124.775733,70.149227 -124.782408,70.150084 -124.787212,70.150784 -124.808124,70.155211 -124.809262,70.155704 -124.810680,70.155989 -124.814877,70.157322 -124.821759,70.160435 -124.830032,70.163845 -124.832984,70.165608 -124.833074,70.165708 -124.833209,70.165764 -124.833259,70.165795 -124.833695,70.166283 -124.834828,70.166773 -124.834893,70.166835 -124.834901,70.166839 -124.838488,70.169608 -124.845336,70.175796 -124.846490,70.177563 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-138.873777,69.018728 -137.622085,69.333006</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-137.698650,69.018728 -137.703715,69.018756 -137.703715,69.018756 -137.703715,69.018756 -137.713268,69.019853 -137.713268,69.019853 -137.713268,69.019853 -137.717573,69.020929 -137.717573,69.020929 -137.717573,69.020929 -137.751247,69.031313 -137.751247,69.031313 -137.751247,69.031313 -137.806748,69.041660 -137.806748,69.041660 -137.806748,69.041660 -137.806998,69.041733 -137.806998,69.041733 -137.806998,69.041733 -137.807327,69.041771 -137.807327,69.041771 -137.807327,69.041771 -137.809123,69.042162 -137.809123,69.042162 -137.809123,69.042162 -137.863498,69.055088 -137.863498,69.055088 -137.863498,69.055088 -137.863524,69.055097 -137.863524,69.055097 -137.863524,69.055097 -137.863637,69.055121 -137.863637,69.055121 -137.863637,69.055121 -137.930082,69.071097 -137.930082,69.071097 -137.930082,69.071097 -137.979642,69.080341 -137.979642,69.080341 -137.979642,69.080341 -138.004128,69.082299 -138.004128,69.082299 -138.004128,69.082299 -138.010908,69.083214 -138.010908,69.083214 -138.010908,69.083214 -138.018614,69.085524 -138.018614,69.085524 -138.018614,69.085524 -138.022872,69.088276 -138.022872,69.088276 -138.022872,69.088276 -138.031604,69.097281 -138.031604,69.097281 -138.031604,69.097281 -138.071201,69.110504 -138.071201,69.110504 -138.071201,69.110504 -138.146235,69.127710 -138.146235,69.127710 -138.146235,69.127710 -138.147267,69.128040 -138.147267,69.128040 -138.147267,69.128040 -138.149695,69.128658 -138.149695,69.128658 -138.149695,69.128658 -138.182568,69.139345 -138.191470,69.138853 -138.191470,69.138853 -138.226607,69.137927 -138.226607,69.137927 -138.276668,69.134733 -138.314601,69.135024 -138.314601,69.135024 -138.332338,69.137326 -138.332503,69.137299 -138.332503,69.137299 -138.332503,69.137299 -138.342544,69.136968 -138.352176,69.138031 -138.352176,69.138031 -138.352176,69.138031 -138.352963,69.138264 -138.352963,69.138264 -138.352963,69.138264 -138.353756,69.138363 -138.353756,69.138363 -138.353756,69.138363 -138.377530,69.143761 -138.377530,69.143761 -138.377530,69.143761 -138.383713,69.145724 -138.383713,69.145724 -138.383713,69.145724 -138.388075,69.148517 -138.388075,69.148517 -138.388075,69.148517 -138.396617,69.157301 -138.396617,69.157301 -138.396617,69.157301 -138.396679,69.157493 -138.396679,69.157493 -138.396679,69.157493 -138.396965,69.157686 -138.396965,69.157686 -138.396965,69.157686 -138.398041,69.160247 -138.398041,69.160247 -138.398041,69.160247 -138.398189,69.167186 -138.398189,69.167186 -138.398189,69.167186 -138.412894,69.173626 -138.412894,69.173626 -138.412894,69.173626 -138.424795,69.178030 -138.424795,69.178030 -138.424795,69.178030 -138.442808,69.179073 -138.442808,69.179073 -138.442808,69.179073 -138.445121,69.179353 -138.445121,69.179353 -138.445121,69.179353 -138.448815,69.179692 -138.448815,69.179692 -138.448815,69.179692 -138.492916,69.186377 -138.492916,69.186377 -138.492916,69.186377 -138.495057,69.186744 -138.495057,69.186744 -138.495057,69.186744 -138.501057,69.188329 -138.501057,69.188329 -138.501057,69.188329 -138.547053,69.204615 -138.547053,69.204615 -138.547053,69.204615 -138.580987,69.216222 -138.580987,69.216222 -138.580987,69.216222 -138.603527,69.217026 -138.603527,69.217026 -138.603527,69.217026 -138.613206,69.218074 -138.613206,69.218074 -138.613206,69.218074 -138.613251,69.218088 -138.613251,69.218088 -138.613251,69.218088 -138.613306,69.218094 -138.613306,69.218094 -138.613306,69.218094 -138.660052,69.227084 -138.660052,69.227084 -138.660052,69.227084 -138.667773,69.229346 -138.667773,69.229346 -138.667773,69.229346 -138.672314,69.232265 -138.672314,69.232265 -138.672314,69.232265 -138.681077,69.241563 -138.682663,69.241456 -138.682663,69.241456 -138.682663,69.241456 -138.707801,69.236860 -138.707801,69.236860 -138.707801,69.236860 -138.708282,69.236791 -138.708282,69.236791 -138.708282,69.236791 -138.708589,69.236722 -138.708589,69.236722 -138.708589,69.236722 -138.733605,69.232517 -138.733605,69.232517 -138.733605,69.232517 -138.737177,69.232027 -138.737177,69.232027 -138.737177,69.232027 -138.743195,69.231645 -138.743195,69.231645 -138.743195,69.231645 -138.773574,69.231006 -138.777633,69.231033 -138.777633,69.231033 -138.777633,69.231033 -138.785672,69.231786 -138.785672,69.231786 -138.785672,69.231786 -138.813103,69.236116 -138.813103,69.236116 -138.813103,69.236116 -138.813774,69.236297 -138.813774,69.236297 -138.813774,69.236297 -138.814758,69.236402 -138.814758,69.236402 -138.814758,69.236402 -138.816764,69.236823 -138.816764,69.236823 -138.816764,69.236823 -138.848175,69.244105 -138.848175,69.244105 -138.848175,69.244105 -138.854013,69.245958 -138.854013,69.245958 -138.854013,69.245958 -138.855427,69.246625 -138.855427,69.246625 -138.855427,69.246625 -138.869371,69.253869 -138.869371,69.253869 -138.869371,69.253869 -138.872757,69.256366 -138.872757,69.256366 -138.872757,69.256366 -138.873777,69.259942 -138.873777,69.259942 -138.873777,69.259942 -138.871664,69.262795 -138.871664,69.262795 -138.871664,69.262795 -138.861505,69.270910 -138.861505,69.270910 -138.861505,69.270910 -138.860995,69.271149 -138.860995,69.271149 -138.860995,69.271149 -138.860698,69.271498 -138.860698,69.271498 -138.860698,69.271498 -138.854281,69.274280 -138.854281,69.274280 -138.854281,69.274280 -138.850904,69.275117 -138.850904,69.275117 -138.850904,69.275117 -138.801931,69.285286 -138.801931,69.285286 -138.801931,69.285286 -138.796367,69.286149 -138.796367,69.286149 -138.796367,69.286149 -138.792032,69.286477 -138.792032,69.286477 -138.792032,69.286477 -138.747469,69.288456 -138.747469,69.288456 -138.747469,69.288456 -138.700843,69.298354 -138.700843,69.298354 -138.700843,69.298354 -138.658856,69.309529 -138.658856,69.309529 -138.658856,69.309529 -138.658022,69.309679 -138.658022,69.309679 -138.658022,69.309679 -138.654835,69.310408 -138.654835,69.310408 -138.654835,69.310408 -138.564115,69.326381 -138.564115,69.326381 -138.564115,69.326381 -138.560019,69.326954 -138.560019,69.326954 -138.560019,69.326954 -138.557905,69.327145 -138.557905,69.327145 -138.557905,69.327145 -138.481192,69.332857 -138.481192,69.332857 -138.481192,69.332857 -138.473182,69.333006 -138.472540,69.332937 -138.471951,69.332951 -138.405881,69.329423 -138.405881,69.329423 -138.405881,69.329423 -138.397394,69.328419 -138.397394,69.328419 -138.397394,69.328419 -138.393612,69.327538 -138.393612,69.327538 -138.393612,69.327538 -138.328706,69.309346 -138.328706,69.309346 -138.328706,69.309346 -138.324667,69.307932 -138.324667,69.307932 -138.324667,69.307932 -138.324453,69.307788 -138.324453,69.307788 -138.324453,69.307788 -138.324132,69.307691 -138.324132,69.307691 -138.324132,69.307691 -138.283501,69.288682 -138.283501,69.288682 -138.283501,69.288682 -138.279311,69.285743 -138.279311,69.285743 -138.279311,69.285743 -138.279306,69.285726 -138.279306,69.285726 -138.279306,69.285726 -138.279283,69.285710 -138.279283,69.285710 -138.279283,69.285710 -138.250496,69.250737 -138.250496,69.250737 -138.250496,69.250737 -138.207915,69.215952 -138.207915,69.215952 -138.207915,69.215952 -138.187268,69.200983 -138.187268,69.200983 -138.187268,69.200983 -138.139414,69.179882 -138.139414,69.179882 -138.139414,69.179882 -138.077462,69.157368 -138.077462,69.157368 -138.077462,69.157368 -137.996419,69.136157 -137.996419,69.136157 -137.996419,69.136157 -137.930574,69.121873 -137.930574,69.121873 -137.930574,69.121873 -137.929895,69.121660 -137.929895,69.121660 -137.929895,69.121660 -137.926957,69.120924 -137.926957,69.120924 -137.926957,69.120924 -137.870976,69.103344 -137.870976,69.103344 -137.870976,69.103344 -137.768116,69.080956 -137.768116,69.080956 -137.768116,69.080956 -137.664552,69.059819 -137.664552,69.059819 -137.664552,69.059819 -137.663992,69.059647 -137.663992,69.059647 -137.663992,69.059647 -137.658950,69.058272 -137.658950,69.058272 -137.658950,69.058272 -137.629264,69.047434 -137.629264,69.047434 -137.629264,69.047434 -137.627480,69.046710 -137.627480,69.046710 -137.627480,69.046710 -137.622898,69.043511 -137.622898,69.043511 -137.622898,69.043511 -137.622085,69.039928 -137.622085,69.039928 -137.622085,69.039928 -137.625163,69.036507 -137.625163,69.036507 -137.625163,69.036507 -137.625268,69.036462 -137.625268,69.036462 -137.625268,69.036462 -137.625317,69.036409 -137.625317,69.036409 -137.625317,69.036409 -137.637188,69.028984 -137.637188,69.028984 -137.637188,69.028984 -137.643530,69.026342 -137.643530,69.026342 -137.643530,69.026342 -137.660900,69.021406 -137.660900,69.021406 -137.660900,69.021406 -137.669824,69.019764 -137.669824,69.019764 -137.669824,69.019764 -137.674756,69.019441 -137.674756,69.019441 -137.674756,69.019441 -137.698650,69.018728 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-137.512382,68.772255 -136.404770,69.012149</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-137.503705,69.007150 -137.503391,69.007497 -137.496884,69.010232 -137.487951,69.011865 -137.477954,69.012149 -137.477471,69.012092 -137.477012,69.012102 -137.359798,69.005513 -137.351211,69.004443 -137.343600,69.002104 -137.341373,69.000904 -137.325494,68.990695 -137.203969,68.965961 -137.119673,68.962231 -137.040631,68.966303 -137.033822,68.966324 -137.028295,68.965847 -136.984637,68.960174 -136.980670,68.959515 -136.976469,68.958440 -136.927455,68.942985 -136.925620,68.942283 -136.925033,68.942110 -136.880477,68.923680 -136.837478,68.914972 -136.775154,68.911124 -136.733839,68.911317 -136.709288,68.917474 -136.708553,68.917921 -136.707679,68.919090 -136.701266,68.924612 -136.699832,68.925656 -136.693252,68.928361 -136.686486,68.929704 -136.654026,68.933997 -136.651834,68.934247 -136.645174,68.934562 -136.611333,68.934547 -136.608020,68.934468 -136.605735,68.934321 -136.558583,68.930486 -136.551410,68.929474 -136.549382,68.929004 -136.526537,68.923144 -136.521065,68.921239 -136.511787,68.916870 -136.475294,68.911997 -136.473543,68.911700 -136.472951,68.911635 -136.439839,68.905795 -136.439197,68.905605 -136.438239,68.905486 -136.430755,68.903107 -136.429313,68.902351 -136.418463,68.895997 -136.415522,68.893524 -136.414697,68.890767 -136.420202,68.845217 -136.404770,68.801796 -136.404793,68.799387 -136.408019,68.795986 -136.410144,68.794864 -136.447095,68.778128 -136.451540,68.776553 -136.460453,68.774971 -136.470359,68.774745 -136.535205,68.777887 -136.562652,68.775978 -136.563008,68.775975 -136.564270,68.775885 -136.620752,68.773296 -136.621632,68.773297 -136.622772,68.773233 -136.680113,68.772255 -136.684621,68.772322 -136.685579,68.772440 -136.686409,68.772431 -136.726261,68.775373 -136.733876,68.776416 -136.737760,68.777411 -136.772058,68.788067 -136.819147,68.793628 -136.823925,68.794396 -136.827896,68.795414 -136.905633,68.819651 -136.909160,68.820995 -136.910549,68.821711 -136.933287,68.834701 -136.967838,68.851917 -137.034501,68.869305 -137.088034,68.879971 -137.088787,68.880203 -137.089604,68.880310 -137.136554,68.891291 -137.188047,68.901941 -137.188078,68.901951 -137.189904,68.902365 -137.241337,68.915206 -137.242051,68.915449 -137.243666,68.915862 -137.268877,68.923840 -137.270613,68.924501 -137.271170,68.924663 -137.294427,68.934137 -137.294763,68.934359 -137.295390,68.934553 -137.310980,68.941703 -137.331891,68.944174 -137.353107,68.946677 -137.357681,68.947401 -137.357725,68.947414 -137.357779,68.947421 -137.400466,68.956129 -137.400538,68.956151 -137.404270,68.957077 -137.432720,68.965624 -137.468918,68.972083 -137.469388,68.972220 -137.470045,68.972296 -137.472885,68.972959 -137.498581,68.979861 -137.503359,68.981532 -137.507912,68.984734 -137.508706,68.986169 -137.512382,68.997421 -137.512381,68.999570 -137.510123,69.002409 -137.504224,69.006916 -137.503705,69.007150 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-135.205646,60.857257 -134.948792,61.006688</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-135.035494,60.861000 -135.053432,60.859923 -135.073605,60.858401 -135.090723,60.857257 -135.105694,60.857581 -135.121408,60.860819 -135.134982,60.865526 -135.144342,60.870321 -135.154599,60.881513 -135.156057,60.888772 -135.153951,60.898007 -135.156066,60.907153 -135.156015,60.913888 -135.154397,60.917646 -135.155673,60.922849 -135.157205,60.927253 -135.164107,60.927979 -135.171540,60.930991 -135.180360,60.934923 -135.192994,60.941389 -135.197119,60.945579 -135.202599,60.952118 -135.203318,60.956460 -135.205646,60.962353 -135.204631,60.965544 -135.201434,60.971635 -135.196154,60.976343 -135.189011,60.980299 -135.184964,60.982446 -135.176557,60.985081 -135.173493,60.985462 -135.170230,60.989097 -135.161402,60.994355 -135.155107,60.996944 -135.139356,61.001474 -135.123419,61.003945 -135.112831,61.004165 -135.103539,61.004278 -135.093720,61.002103 -135.086457,61.001143 -135.079590,61.002869 -135.067883,61.005247 -135.054918,61.006303 -135.035856,61.006688 -135.027168,61.006229 -135.015107,61.004489 -135.002356,61.002287 -134.987966,60.996076 -134.981098,60.990032 -134.973802,60.982728 -134.971647,60.976432 -134.972084,60.969927 -134.977140,60.962143 -134.978608,60.960213 -134.975027,60.958303 -134.969376,60.955007 -134.963467,60.952509 -134.954460,60.944050 -134.950888,60.938257 -134.949430,60.932423 -134.948792,60.926653 -134.950006,60.921638 -134.951046,60.918449 -134.956138,60.913121 -134.955669,60.909407 -134.958948,60.905778 -134.962660,60.899526 -134.969555,60.896380 -134.977828,60.890275 -134.983514,60.884380 -134.996172,60.876365 -135.001681,60.872294 -135.014374,60.866733 -135.023708,60.863772 -135.030548,60.862050 -135.035494,60.861000 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-134.742073,60.494623 -134.360080,60.606926</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-134.427736,60.500103 -134.429061,60.499407 -134.449046,60.494961 -134.470957,60.494623 -134.491467,60.498443 -134.500649,60.501964 -134.506092,60.504537 -134.506952,60.504749 -134.511571,60.506023 -134.526545,60.512944 -134.534194,60.514536 -134.534659,60.514655 -134.534963,60.514699 -134.549157,60.517776 -134.556227,60.519613 -134.556778,60.519867 -134.557436,60.519994 -134.568938,60.523721 -134.574247,60.526234 -134.586325,60.525611 -134.593736,60.525688 -134.601676,60.526049 -134.606305,60.526905 -134.627359,60.526555 -134.645050,60.529533 -134.656254,60.532520 -134.663394,60.533589 -134.674272,60.536034 -134.680541,60.537686 -134.687260,60.540089 -134.698159,60.544628 -134.699993,60.545604 -134.702115,60.546442 -134.705692,60.548247 -134.705742,60.548256 -134.721810,60.555629 -134.725538,60.558828 -134.732160,60.561864 -134.741287,60.571702 -134.742073,60.582510 -134.740738,60.585505 -134.739888,60.587007 -134.733539,60.594146 -134.718549,60.602060 -134.698534,60.606549 -134.676547,60.606926 -134.665810,60.605520 -134.657448,60.603976 -134.653697,60.603069 -134.651919,60.602785 -134.650161,60.602350 -134.640748,60.604182 -134.630506,60.604885 -134.606895,60.605425 -134.595151,60.605088 -134.578396,60.601993 -134.574866,60.602051 -134.567594,60.601216 -134.549471,60.598498 -134.538655,60.597329 -134.520985,60.593792 -134.520243,60.593450 -134.519379,60.593282 -134.506068,60.588891 -134.502557,60.589672 -134.480580,60.590016 -134.472811,60.589098 -134.468090,60.588363 -134.461164,60.586791 -134.454776,60.588209 -134.432799,60.588545 -134.428655,60.588205 -134.408094,60.584375 -134.397684,60.580254 -134.391525,60.577156 -134.387077,60.575840 -134.386719,60.575677 -134.386241,60.575588 -134.370241,60.568174 -134.361232,60.558310 -134.360080,60.549328 -134.360605,60.546752 -134.361165,60.545947 -134.361103,60.544924 -134.365570,60.537832 -134.376115,60.526655 -134.379437,60.523636 -134.386597,60.519113 -134.408899,60.507684 -134.412921,60.505971 -134.413981,60.505379 -134.426272,60.500456 -134.427736,60.500103 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-134.378502,60.183650 -134.148767,60.404554</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-134.332845,60.184151 -134.332845,60.184151 -134.353138,60.187992 -134.353138,60.187992 -134.368941,60.195405 -134.368941,60.195405 -134.377849,60.205265 -134.377849,60.205265 -134.378502,60.216072 -134.378502,60.216072 -134.377547,60.218325 -134.377547,60.218325 -134.370121,60.232819 -134.370121,60.232819 -134.368822,60.239264 -134.368822,60.239264 -134.370630,60.241601 -134.370630,60.241601 -134.371281,60.252408 -134.371281,60.252408 -134.365538,60.260813 -134.365538,60.260813 -134.350749,60.274641 -134.350749,60.274641 -134.349553,60.275318 -134.349553,60.275318 -134.348769,60.276343 -134.348769,60.276343 -134.333833,60.284211 -134.333833,60.284211 -134.318479,60.287632 -134.318479,60.287632 -134.320189,60.297257 -134.320189,60.297257 -134.324845,60.300031 -134.324845,60.300031 -134.333770,60.309895 -134.333770,60.309895 -134.333792,60.310267 -134.333792,60.310267 -134.334071,60.310586 -134.334071,60.310586 -134.336046,60.315414 -134.336046,60.315414 -134.336385,60.325531 -134.336385,60.325531 -134.335960,60.326085 -134.335960,60.326085 -134.335970,60.326619 -134.335970,60.326619 -134.334645,60.329747 -134.334645,60.329747 -134.336729,60.334963 -134.336729,60.334963 -134.337018,60.344953 -134.337018,60.344953 -134.336334,60.345845 -134.336334,60.345845 -134.336331,60.346649 -134.336331,60.346649 -134.332428,60.354929 -134.332428,60.354929 -134.335713,60.359082 -134.335713,60.359082 -134.338150,60.362990 -134.338150,60.362990 -134.338792,60.373798 -134.338792,60.373798 -134.331030,60.383905 -134.331030,60.383905 -134.316039,60.391771 -134.316039,60.391771 -134.298796,60.395856 -134.298796,60.395856 -134.240919,60.403916 -134.240919,60.403916 -134.239601,60.403950 -134.239601,60.403950 -134.238223,60.404255 -134.238223,60.404255 -134.216372,60.404554 -134.195957,60.400691 -134.195957,60.400691 -134.180092,60.393254 -134.180092,60.393254 -134.168414,60.385087 -134.168414,60.385087 -134.159520,60.375211 -134.159520,60.375211 -134.158137,60.369364 -134.158137,60.369364 -134.158122,60.368617 -134.158122,60.368617 -134.155241,60.366102 -134.155241,60.366102 -134.149344,60.358556 -134.149344,60.358556 -134.148767,60.347747 -134.148767,60.347747 -134.150658,60.343932 -134.150658,60.343932 -134.155301,60.336790 -134.155301,60.336790 -134.161219,60.330509 -134.161219,60.330509 -134.176220,60.322662 -134.176220,60.322662 -134.188442,60.319958 -134.188442,60.319958 -134.190176,60.317895 -134.190176,60.317895 -134.190418,60.317768 -134.190418,60.317768 -134.190542,60.317610 -134.190542,60.317610 -134.199565,60.310689 -134.199565,60.310689 -134.199017,60.300696 -134.199017,60.300696 -134.201177,60.297894 -134.201177,60.297894 -134.199932,60.293876 -134.199932,60.293876 -134.196849,60.283926 -134.196849,60.283926 -134.196997,60.275049 -134.196997,60.275049 -134.202251,60.267163 -134.202251,60.267163 -134.210546,60.259048 -134.210546,60.259048 -134.209959,60.254623 -134.209959,60.254623 -134.212211,60.242513 -134.212211,60.242513 -134.211480,60.229765 -134.211480,60.229765 -134.211837,60.227243 -134.211837,60.227243 -134.210347,60.225584 -134.210347,60.225584 -134.209752,60.214777 -134.209752,60.214777 -134.217511,60.204679 -134.217511,60.204679 -134.217948,60.204449 -134.217948,60.204449 -134.218169,60.204171 -134.218169,60.204171 -134.228856,60.196108 -134.228856,60.196108 -134.243119,60.188762 -134.243119,60.188762 -134.262934,60.184346 -134.262934,60.184346 -134.275623,60.183650 -134.323836,60.183765 -134.323836,60.183765 -134.332845,60.184151 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-134.815566,60.122000 -134.562903,60.211047</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-134.803334,60.139237 -134.811236,60.148663 -134.814759,60.154706 -134.814304,60.158005 -134.814752,60.166984 -134.815566,60.177661 -134.814903,60.184429 -134.810657,60.189092 -134.808229,60.192839 -134.803521,60.196100 -134.791133,60.202384 -134.773282,60.206711 -134.764586,60.207225 -134.750676,60.210654 -134.729219,60.211047 -134.716887,60.208686 -134.703369,60.206228 -134.683103,60.206709 -134.672460,60.204784 -134.658299,60.201511 -134.641078,60.198290 -134.636719,60.196721 -134.620839,60.194061 -134.609115,60.191739 -134.600846,60.188181 -134.592579,60.184622 -134.580785,60.176072 -134.571871,60.169880 -134.567357,60.164200 -134.563091,60.158693 -134.562903,60.147301 -134.571357,60.138288 -134.581492,60.131536 -134.591931,60.127539 -134.612421,60.122545 -134.633571,60.122000 -134.639147,60.122607 -134.656919,60.125877 -134.666460,60.129232 -134.678207,60.130491 -134.690106,60.132216 -134.701070,60.134016 -134.715296,60.130469 -134.733185,60.128733 -134.755465,60.127501 -134.768839,60.128428 -134.788310,60.132118 -134.803334,60.139237 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-82.032832,52.595441 -80.548740,53.290101</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-81.554286,52.893166 -81.503558,52.887793 -81.484212,52.885270 -81.405758,52.872550 -81.327600,52.864705 -81.291311,52.858678 -81.222398,52.842168 -81.174117,52.824691 -81.117095,52.803560 -81.063988,52.782920 -80.999994,52.775485 -80.936890,52.765676 -80.828087,52.748326 -80.792338,52.751994 -80.773537,52.775173 -80.769147,52.813844 -80.771501,52.839945 -80.800781,52.880799 -80.851882,52.912351 -80.921340,52.943912 -81.026436,52.961821 -81.150555,52.972344 -81.166049,52.974413 -81.301634,52.981372 -81.422107,53.002104 -81.466158,53.015206 -81.516336,53.033980 -81.583086,53.063439 -81.608229,53.072803 -81.713285,53.086268 -81.770663,53.085005 -81.814921,53.074707 -81.849710,53.044842 -81.876670,53.013987 -81.888544,52.973891 -81.925604,52.966330 -81.946557,52.970189 -81.956919,52.981274 -81.986389,52.989861 -82.000322,52.996496 -82.027467,53.006001 -82.032832,53.014007 -82.022103,53.033459 -81.996671,53.042514 -81.975854,53.055812 -81.949755,53.084351 -81.928816,53.103749 -81.905820,53.129006 -81.898022,53.128026 -81.855990,53.143542 -81.813513,53.160214 -81.783835,53.180945 -81.762650,53.206424 -81.738468,53.222951 -81.705621,53.240823 -81.652908,53.251254 -81.578393,53.271119 -81.501725,53.279633 -81.458571,53.280181 -81.403101,53.286468 -81.374042,53.287589 -81.299434,53.290101 -81.254503,53.284200 -81.211073,53.268660 -81.178322,53.263103 -81.130204,53.271450 -81.052156,53.261052 -81.001116,53.211242 -80.949212,53.196890 -80.925949,53.171645 -80.893132,53.161063 -80.863408,53.142292 -80.842432,53.111191 -80.823716,53.101271 -80.796275,53.076644 -80.740242,53.046853 -80.714387,53.023641 -80.683925,52.991185 -80.659631,52.969399 -80.628015,52.897449 -80.603952,52.864620 -80.590303,52.841834 -80.556531,52.818688 -80.550631,52.781011 -80.555971,52.751054 -80.548740,52.732845 -80.563378,52.694374 -80.602154,52.634740 -80.664408,52.598035 -80.733892,52.595441 -80.792575,52.610935 -80.850186,52.634828 -80.974432,52.664106 -81.036316,52.671294 -81.102708,52.682727 -81.156548,52.701005 -81.209134,52.711731 -81.250480,52.736854 -81.295072,52.758712 -81.385079,52.777969 -81.463751,52.789532 -81.517374,52.797766 -81.560810,52.811990 -81.592828,52.835730 -81.599051,52.852448 -81.588013,52.877950 -81.571429,52.890492 -81.554286,52.893166 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-141.237629,67.559750 -138.455604,68.477779</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-141.237200,68.111622 -141.237261,68.112375 -141.236620,68.113293 -141.236892,68.114143 -141.215291,68.196745 -141.214229,68.198149 -141.211235,68.204764 -141.199373,68.220410 -141.191566,68.228037 -141.189998,68.228986 -141.189233,68.229731 -141.187572,68.230545 -141.186900,68.231425 -141.094741,68.294870 -141.092153,68.296078 -141.087410,68.298866 -141.086146,68.299693 -141.075352,68.305843 -141.070831,68.307783 -141.066275,68.310377 -140.879305,68.392314 -140.874324,68.394186 -140.873079,68.394834 -140.860136,68.399697 -140.852762,68.401406 -140.847095,68.403955 -140.834119,68.407628 -140.832670,68.407914 -140.827467,68.409386 -140.632064,68.457327 -140.624681,68.458657 -140.617826,68.460330 -140.588396,68.465623 -140.573204,68.467913 -140.558911,68.469336 -140.529965,68.471550 -140.523597,68.471709 -140.515312,68.472341 -140.348930,68.477577 -140.341535,68.477593 -140.339110,68.477739 -140.319467,68.477779 -140.315140,68.477407 -140.309644,68.477657 -140.296999,68.477079 -140.271938,68.475452 -140.267709,68.474936 -140.259522,68.474403 -139.970023,68.443907 -139.966962,68.443462 -139.964321,68.443273 -139.633905,68.404601 -139.626872,68.403525 -139.624161,68.403282 -139.605008,68.400351 -139.595599,68.398738 -139.586891,68.396913 -139.569905,68.393012 -139.567958,68.392390 -139.561625,68.390935 -139.370126,68.338410 -139.368549,68.337860 -139.366129,68.337286 -139.115535,68.264892 -139.109561,68.262740 -139.105586,68.261670 -139.091722,68.256674 -139.087219,68.254868 -139.085206,68.254141 -139.082651,68.253396 -138.559905,68.031053 -138.559018,68.030450 -138.557483,68.029976 -138.556553,68.029461 -138.555060,68.028899 -138.541696,68.021366 -138.519172,68.005466 -138.510010,67.997099 -138.509593,67.995459 -138.507975,67.994220 -138.504407,67.988418 -138.504309,67.987831 -138.502873,67.985496 -138.458288,67.882754 -138.458051,67.879742 -138.456750,67.876705 -138.456275,67.870650 -138.456141,67.870207 -138.456041,67.863495 -138.455604,67.862046 -138.469580,67.779184 -138.470203,67.778360 -138.469967,67.777416 -138.470344,67.776676 -138.470354,67.775648 -138.488323,67.708974 -138.493053,67.700106 -138.506962,67.682890 -138.516140,67.674541 -138.524797,67.669301 -138.543866,67.659307 -138.549674,67.656967 -138.554277,67.654553 -138.653111,67.615019 -138.657596,67.613431 -138.658465,67.613001 -138.669488,67.609097 -138.672522,67.608432 -138.675157,67.607209 -138.691631,67.602874 -138.726212,67.595293 -138.739607,67.593081 -138.744319,67.592047 -138.931678,67.565276 -138.935112,67.565101 -138.938722,67.564358 -138.941442,67.564130 -138.945766,67.563439 -138.970802,67.561573 -138.999524,67.560612 -139.012179,67.559962 -139.020857,67.559896 -139.021335,67.559879 -139.022746,67.559881 -139.039559,67.559750 -139.041580,67.559899 -139.043197,67.559901 -139.045054,67.560112 -139.046836,67.560051 -139.457759,67.578971 -139.460760,67.579323 -139.479172,67.580689 -139.520848,67.585563 -139.541113,67.588718 -139.544074,67.589621 -139.547163,67.589999 -139.559063,67.592689 -139.559968,67.592981 -139.564914,67.594099 -139.708098,67.630707 -139.712164,67.632089 -139.718621,67.633727 -139.720910,67.634504 -139.721418,67.634637 -139.723168,67.635232 -139.729523,67.636843 -140.003951,67.724315 -140.173475,67.753182 -140.362164,67.781944 -140.366269,67.782644 -140.366864,67.782700 -140.376176,67.784287 -140.377953,67.784788 -140.378739,67.784903 -140.380788,67.785116 -140.381753,67.785347 -140.382680,67.785483 -140.383554,67.785740 -140.384572,67.785850 -140.545809,67.817651 -140.837665,67.843963 -140.845425,67.845014 -140.850869,67.845441 -140.876761,67.848945 -140.889447,67.850971 -140.909828,67.855736 -140.947759,67.866666 -140.965311,67.872833 -140.967226,67.874076 -140.969766,67.874851 -140.978366,67.878978 -140.978933,67.879370 -140.982512,67.881087 -141.103506,67.946229 -141.107006,67.948808 -141.112323,67.951739 -141.127843,67.963165 -141.134547,67.969081 -141.134949,67.969714 -141.135533,67.970199 -141.135757,67.970813 -141.136519,67.971317 -141.226379,68.077183 -141.226724,68.078209 -141.231248,68.085443 -141.236874,68.102155 -141.237629,68.110607 -141.237200,68.111622 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-114.494709,59.567937 -112.361903,60.507659</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-113.091418,60.507659 -112.999480,60.500671 -112.877028,60.411437 -112.799834,60.338816 -112.693886,60.255879 -112.594636,60.163353 -112.505817,60.078004 -112.411023,59.950352 -112.376959,59.868849 -112.361903,59.790439 -112.376064,59.733796 -112.463959,59.666666 -112.576116,59.633356 -112.644517,59.603359 -112.725544,59.585875 -112.828970,59.567937 -113.056847,59.569020 -113.201588,59.573470 -113.343264,59.572445 -113.538247,59.574718 -113.607256,59.575760 -113.677364,59.588167 -113.840514,59.641188 -113.933320,59.690530 -113.990109,59.736757 -114.085538,59.817552 -114.151854,59.897102 -114.250466,60.009351 -114.455662,60.270508 -114.485943,60.318066 -114.494101,60.340037 -114.494709,60.377727 -114.465502,60.405549 -114.357991,60.439727 -114.261636,60.454640 -114.069042,60.475487 -113.881566,60.495235 -113.662575,60.502003 -113.488181,60.504708 -113.272843,60.507364 -113.091418,60.507659 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-54.343682,46.722334 -54.057066,46.914179</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-54.194985,46.885032 -54.127072,46.896862 -54.090859,46.822655 -54.070486,46.810183 -54.064816,46.806766 -54.060535,46.802079 -54.057066,46.797311 -54.057877,46.791273 -54.061926,46.786904 -54.066669,46.779914 -54.074531,46.770063 -54.079386,46.763628 -54.087590,46.757431 -54.092905,46.753220 -54.096486,46.750598 -54.111616,46.742014 -54.120277,46.738038 -54.135172,46.732310 -54.146371,46.728648 -54.161034,46.725775 -54.174658,46.723854 -54.184240,46.722334 -54.192556,46.722641 -54.201680,46.722867 -54.213692,46.723087 -54.226747,46.724336 -54.237723,46.725508 -54.254029,46.730402 -54.262819,46.732925 -54.278558,46.739007 -54.288751,46.744226 -54.303248,46.754119 -54.319153,46.766708 -54.328810,46.777088 -54.333950,46.785653 -54.338175,46.795730 -54.340784,46.805972 -54.343036,46.814546 -54.343682,46.825270 -54.341327,46.837435 -54.338839,46.847057 -54.333227,46.857563 -54.327494,46.867512 -54.318514,46.877789 -54.310904,46.884803 -54.299354,46.892780 -54.284792,46.902194 -54.275767,46.906506 -54.266968,46.909943 -54.255852,46.914179 -54.194985,46.885032 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-52.852971,47.162914 -52.741044,47.286096</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-52.809297,47.162940 -52.809782,47.162918 -52.810640,47.162914 -52.810922,47.162939 -52.811459,47.162927 -52.812304,47.162959 -52.812597,47.162991 -52.812885,47.162989 -52.813744,47.163048 -52.814165,47.163101 -52.814399,47.163103 -52.815233,47.163189 -52.815656,47.163251 -52.815781,47.163254 -52.816630,47.163366 -52.816901,47.163451 -52.817297,47.163467 -52.818120,47.163607 -52.818509,47.163736 -52.818925,47.163763 -52.819736,47.163939 -52.819930,47.164009 -52.820096,47.164021 -52.820908,47.164215 -52.821071,47.164276 -52.821744,47.164437 -52.822531,47.164668 -52.822678,47.164727 -52.822942,47.164794 -52.823716,47.165043 -52.824120,47.165212 -52.824518,47.165324 -52.825266,47.165609 -52.825584,47.165753 -52.825747,47.165801 -52.826470,47.166104 -52.826881,47.166300 -52.826986,47.166333 -52.827696,47.166663 -52.827909,47.166821 -52.828256,47.166938 -52.828928,47.167288 -52.829133,47.167448 -52.829393,47.167541 -52.830053,47.167918 -52.830098,47.167955 -52.830584,47.168238 -52.831204,47.168633 -52.831320,47.168733 -52.831712,47.168974 -52.832307,47.169396 -52.832411,47.169491 -52.832604,47.169614 -52.833173,47.170046 -52.833441,47.170300 -52.833722,47.170491 -52.834252,47.170950 -52.834358,47.171058 -52.834430,47.171107 -52.849745,47.184989 -52.849920,47.185171 -52.850001,47.185229 -52.850083,47.185309 -52.850370,47.185618 -52.850429,47.185663 -52.850511,47.185751 -52.850511,47.185751 -52.850511,47.185751 -52.850594,47.185840 -52.850617,47.185885 -52.850757,47.186036 -52.850821,47.186168 -52.850991,47.186302 -52.851060,47.186402 -52.851098,47.186433 -52.851167,47.186521 -52.851213,47.186621 -52.851794,47.187453 -52.851850,47.187551 -52.851850,47.187551 -52.851850,47.187551 -52.851906,47.187649 -52.851985,47.187862 -52.852159,47.188131 -52.852202,47.188220 -52.852241,47.188341 -52.852301,47.188435 -52.852344,47.188534 -52.852554,47.189217 -52.852657,47.189410 -52.852688,47.189518 -52.852686,47.189550 -52.852697,47.189586 -52.852869,47.190298 -52.852963,47.191179 -52.852967,47.191287 -52.852967,47.191287 -52.852971,47.191386 -52.852923,47.191650 -52.852945,47.192195 -52.852935,47.192294 -52.852935,47.192294 -52.852926,47.192394 -52.852828,47.192785 -52.852824,47.193055 -52.852802,47.193163 -52.852774,47.193253 -52.852773,47.193293 -52.852750,47.193392 -52.852532,47.194079 -52.852526,47.194148 -52.852490,47.194248 -52.852470,47.194277 -52.852435,47.194385 -52.852360,47.194487 -52.852350,47.194585 -52.852194,47.194912 -52.852187,47.194955 -52.852138,47.195055 -52.852108,47.195093 -52.852091,47.195129 -52.852088,47.195146 -52.852039,47.195246 -52.852030,47.195257 -52.851999,47.195322 -52.851949,47.195413 -52.851815,47.195577 -52.851478,47.196197 -52.851415,47.196288 -52.851131,47.196603 -52.850952,47.196896 -52.850876,47.196987 -52.850628,47.197240 -52.850555,47.197352 -52.850479,47.197434 -52.849972,47.197925 -52.849938,47.197972 -52.849849,47.198054 -52.849849,47.198054 -52.849759,47.198136 -52.849759,47.198136 -52.849670,47.198219 -52.849547,47.198293 -52.849469,47.198399 -52.848621,47.199068 -52.848518,47.199142 -52.848518,47.199142 -52.848415,47.199215 -52.847940,47.199468 -52.847221,47.199969 -52.847104,47.200034 -52.847104,47.200034 -52.846987,47.200099 -52.846435,47.200357 -52.846225,47.200493 -52.846108,47.200548 -52.845655,47.200744 -52.845589,47.200784 -52.845459,47.200840 -52.845459,47.200840 -52.845329,47.200896 -52.845263,47.200912 -52.845042,47.201008 -52.844848,47.201051 -52.844651,47.201167 -52.844504,47.201215 -52.844459,47.201240 -52.844329,47.201287 -52.844183,47.201318 -52.843884,47.201415 -52.843202,47.201645 -52.843072,47.201684 -52.843037,47.201690 -52.842961,47.201714 -52.842818,47.201753 -52.842334,47.201836 -52.841665,47.202030 -52.841520,47.202060 -52.841520,47.202060 -52.841376,47.202089 -52.840560,47.202205 -52.840279,47.202277 -52.840134,47.202298 -52.839977,47.202315 -52.839945,47.202323 -52.839788,47.202344 -52.839736,47.202342 -52.839089,47.202415 -52.838980,47.202409 -52.838823,47.202444 -52.838678,47.202455 -52.838678,47.202455 -52.838533,47.202467 -52.838501,47.202465 -52.837349,47.202522 -52.837190,47.202525 -52.836928,47.202503 -52.804420,47.243611 -52.804287,47.264660 -52.804269,47.264749 -52.804280,47.264917 -52.804249,47.265557 -52.804212,47.265721 -52.804220,47.265931 -52.804149,47.266571 -52.804072,47.266870 -52.804070,47.267083 -52.803946,47.267714 -52.803867,47.267979 -52.803863,47.268081 -52.803700,47.268713 -52.803541,47.269192 -52.803536,47.269250 -52.803319,47.269865 -52.803165,47.270082 -52.803134,47.270332 -52.802864,47.270948 -52.802761,47.271085 -52.802742,47.271213 -52.802445,47.271821 -52.802371,47.271915 -52.802097,47.272453 -52.801733,47.273044 -52.801660,47.273129 -52.801568,47.273301 -52.801178,47.273883 -52.800973,47.274113 -52.800812,47.274386 -52.800369,47.274951 -52.800196,47.275132 -52.800121,47.275253 -52.799651,47.275800 -52.799287,47.276164 -52.799213,47.276275 -52.798688,47.276805 -52.798471,47.276942 -52.798304,47.277173 -52.797739,47.277686 -52.797541,47.277805 -52.797420,47.277965 -52.796828,47.278460 -52.796794,47.278480 -52.796315,47.278865 -52.795683,47.279333 -52.795565,47.279397 -52.795230,47.279653 -52.794558,47.280104 -52.794360,47.280206 -52.794078,47.280411 -52.793378,47.280836 -52.793095,47.280974 -52.792870,47.281129 -52.792143,47.281527 -52.791799,47.281686 -52.791648,47.281785 -52.790881,47.282166 -52.790386,47.282383 -52.790290,47.282443 -52.789508,47.282789 -52.789292,47.282842 -52.789077,47.282971 -52.788268,47.283298 -52.787861,47.283393 -52.787546,47.283570 -52.786710,47.283862 -52.786622,47.283880 -52.786030,47.284083 -52.785179,47.284339 -52.785052,47.284363 -52.784737,47.284466 -52.783859,47.284705 -52.783564,47.284756 -52.783149,47.284881 -52.782257,47.285084 -52.781830,47.285150 -52.781528,47.285234 -52.780621,47.285401 -52.780378,47.285434 -52.780272,47.285462 -52.779364,47.285611 -52.778530,47.285714 -52.778411,47.285743 -52.777475,47.285847 -52.777222,47.285838 -52.776952,47.285898 -52.776029,47.285975 -52.775618,47.285955 -52.775278,47.286023 -52.774341,47.286065 -52.774251,47.286059 -52.773787,47.286082 -52.772848,47.286096 -52.772632,47.286078 -52.772110,47.286093 -52.771170,47.286072 -52.770928,47.286047 -52.770620,47.286051 -52.769679,47.286003 -52.769240,47.285951 -52.768927,47.285949 -52.767999,47.285865 -52.767462,47.285790 -52.767283,47.285786 -52.766354,47.285665 -52.765806,47.285578 -52.765742,47.285575 -52.764838,47.285427 -52.764519,47.285323 -52.764152,47.285302 -52.763246,47.285117 -52.762920,47.285003 -52.762632,47.284981 -52.761752,47.284770 -52.761665,47.284737 -52.761272,47.284647 -52.760391,47.284409 -52.760187,47.284329 -52.759715,47.284211 -52.758873,47.283945 -52.758564,47.283816 -52.758208,47.283719 -52.757378,47.283416 -52.757019,47.283257 -52.756800,47.283193 -52.755996,47.282863 -52.755561,47.282659 -52.755434,47.282620 -52.754655,47.282263 -52.754454,47.282115 -52.754114,47.282001 -52.753360,47.281616 -52.753186,47.281481 -52.752951,47.281398 -52.752224,47.280996 -52.752195,47.280972 -52.751630,47.280646 -52.750941,47.280216 -52.750848,47.280135 -52.750472,47.279907 -52.749809,47.279449 -52.749660,47.279315 -52.749359,47.279123 -52.748735,47.278646 -52.748532,47.278453 -52.748305,47.278301 -52.747720,47.277806 -52.747420,47.277505 -52.747252,47.277385 -52.746706,47.276862 -52.746531,47.276674 -52.746474,47.276633 -52.745954,47.276101 -52.745810,47.275836 -52.745475,47.275571 -52.745007,47.275011 -52.744910,47.274813 -52.744733,47.274667 -52.744305,47.274097 -52.744278,47.274038 -52.743981,47.273635 -52.743605,47.273056 -52.743570,47.272969 -52.743419,47.272755 -52.743069,47.272157 -52.742994,47.271956 -52.742809,47.271674 -52.742512,47.271067 -52.742416,47.270776 -52.742292,47.270571 -52.742047,47.269954 -52.741973,47.269695 -52.741917,47.269595 -52.741711,47.268977 -52.741593,47.268512 -52.741560,47.268449 -52.741407,47.267812 -52.741421,47.267640 -52.741332,47.267457 -52.741219,47.266828 -52.741250,47.266549 -52.741149,47.266318 -52.741089,47.265680 -52.741098,47.265619 -52.741064,47.265303 -52.741044,47.264664 -52.741071,47.264517 -52.741048,47.264162 -52.741080,47.263522 -52.741131,47.263294 -52.741125,47.263024 -52.741210,47.262384 -52.741272,47.262151 -52.741274,47.261996 -52.741399,47.261364 -52.741516,47.260976 -52.741522,47.260851 -52.741700,47.260228 -52.741810,47.259910 -52.741814,47.259869 -52.742031,47.259245 -52.742143,47.259087 -52.742165,47.258894 -52.752738,47.233213 -52.752954,47.232923 -52.752997,47.232655 -52.781944,47.176634 -52.781973,47.176597 -52.782058,47.176422 -52.782357,47.175887 -52.782458,47.175765 -52.782640,47.175418 -52.782992,47.174882 -52.783111,47.174747 -52.783223,47.174548 -52.783602,47.174029 -52.783788,47.173828 -52.783895,47.173650 -52.784314,47.173140 -52.784599,47.172847 -52.784686,47.172714 -52.785144,47.172221 -52.785418,47.171956 -52.785456,47.171901 -52.785942,47.171425 -52.786196,47.171268 -52.786375,47.171025 -52.786901,47.170567 -52.787200,47.170391 -52.787361,47.170188 -52.787927,47.169747 -52.787998,47.169708 -52.788311,47.169461 -52.788904,47.169037 -52.789071,47.168949 -52.789414,47.168693 -52.790034,47.168296 -52.790238,47.168194 -52.790460,47.168035 -52.791107,47.167656 -52.791526,47.167456 -52.791768,47.167294 -52.792455,47.166941 -52.792728,47.166819 -52.792816,47.166763 -52.793517,47.166428 -52.794057,47.166195 -52.794123,47.166155 -52.794852,47.165847 -52.795140,47.165777 -52.795394,47.165629 -52.796136,47.165348 -52.796519,47.165263 -52.796778,47.165120 -52.797548,47.164865 -52.797660,47.164842 -52.798128,47.164685 -52.798912,47.164456 -52.799113,47.164419 -52.799507,47.164295 -52.800305,47.164093 -52.800597,47.164045 -52.800912,47.163951 -52.801724,47.163777 -52.802137,47.163715 -52.802383,47.163648 -52.803222,47.163499 -52.803798,47.163425 -52.803954,47.163385 -52.804781,47.163273 -52.804981,47.163279 -52.805236,47.163218 -52.806090,47.163123 -52.806477,47.163138 -52.806864,47.163054 -52.807706,47.162995 -52.808057,47.163016 -52.808322,47.162963 -52.809179,47.162931 -52.809297,47.162940 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-52.838461,48.087171 -52.762652,48.178309</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-52.805220,48.087220 -52.805719,48.087195 -52.807249,48.087171 -52.807452,48.087188 -52.807952,48.087173 -52.809484,48.087202 -52.809740,48.087228 -52.810078,48.087223 -52.811598,48.087298 -52.812085,48.087355 -52.812427,48.087356 -52.813935,48.087494 -52.815105,48.087656 -52.815320,48.087664 -52.816077,48.087787 -52.816212,48.087831 -52.816380,48.087839 -52.817164,48.087979 -52.817535,48.088104 -52.817906,48.088128 -52.818664,48.088296 -52.818742,48.088324 -52.819252,48.088437 -52.820011,48.088631 -52.820208,48.088706 -52.820739,48.088835 -52.821472,48.089058 -52.821743,48.089167 -52.822097,48.089260 -52.822818,48.089510 -52.823124,48.089641 -52.823352,48.089705 -52.824046,48.089973 -52.824465,48.090162 -52.824629,48.090211 -52.825310,48.090506 -52.825753,48.090717 -52.825823,48.090740 -52.826479,48.091053 -52.826681,48.091204 -52.826981,48.091305 -52.827611,48.091637 -52.827899,48.091862 -52.828223,48.091980 -52.828827,48.092339 -52.828899,48.092400 -52.829287,48.092627 -52.829865,48.093004 -52.829988,48.093111 -52.830304,48.093306 -52.830855,48.093702 -52.831079,48.093906 -52.831382,48.094104 -52.831894,48.094518 -52.832065,48.094685 -52.832201,48.094777 -52.832686,48.095201 -52.832997,48.095516 -52.833123,48.095606 -52.833582,48.096057 -52.833849,48.096344 -52.833893,48.096377 -52.834312,48.096829 -52.834463,48.097116 -52.834766,48.097358 -52.835145,48.097838 -52.835230,48.098019 -52.835369,48.098134 -52.835723,48.098623 -52.835755,48.098697 -52.835978,48.098999 -52.836291,48.099489 -52.836359,48.099658 -52.836579,48.099979 -52.836853,48.100487 -52.836907,48.100640 -52.837010,48.100798 -52.837257,48.101316 -52.837381,48.101697 -52.837505,48.101905 -52.837698,48.102432 -52.837758,48.102651 -52.837795,48.102717 -52.837962,48.103245 -52.838099,48.103796 -52.838116,48.103829 -52.838229,48.104358 -52.838206,48.104596 -52.838309,48.104817 -52.838382,48.105355 -52.838359,48.105526 -52.838415,48.105653 -52.838461,48.106192 -52.837998,48.109096 -52.837129,48.110632 -52.836486,48.111516 -52.836020,48.112223 -52.835617,48.112925 -52.835239,48.113677 -52.834911,48.114425 -52.834637,48.115169 -52.834414,48.115919 -52.834236,48.116680 -52.834111,48.117444 -52.834028,48.118245 -52.833993,48.119022 -52.834011,48.119764 -52.834083,48.120534 -52.834200,48.121307 -52.834370,48.122062 -52.834584,48.122816 -52.834797,48.123410 -52.835286,48.124635 -52.835639,48.125852 -52.835514,48.128585 -52.825683,48.163967 -52.825422,48.164722 -52.825296,48.164890 -52.825272,48.165058 -52.825047,48.165529 -52.825005,48.165583 -52.824792,48.166014 -52.824526,48.166477 -52.824452,48.166565 -52.824321,48.166814 -52.824028,48.167268 -52.823869,48.167447 -52.823707,48.167729 -52.823373,48.168175 -52.823173,48.168387 -52.823062,48.168567 -52.822701,48.168995 -52.822401,48.169296 -52.822316,48.169423 -52.821914,48.169843 -52.821572,48.170166 -52.821535,48.170218 -52.821105,48.170621 -52.820917,48.170735 -52.820788,48.170906 -52.820331,48.171301 -52.819980,48.171504 -52.819791,48.171738 -52.819306,48.172105 -52.819237,48.172142 -52.818953,48.172362 -52.818441,48.172721 -52.818284,48.172803 -52.817955,48.173045 -52.817416,48.173387 -52.817174,48.173506 -52.816908,48.173692 -52.816341,48.174016 -52.815902,48.174222 -52.815660,48.174380 -52.815065,48.174677 -52.814724,48.174827 -52.814627,48.174888 -52.814018,48.175167 -52.813512,48.175378 -52.813458,48.175411 -52.812821,48.175673 -52.812468,48.175755 -52.812168,48.175925 -52.811517,48.176160 -52.811225,48.176222 -52.811033,48.176327 -52.810368,48.176544 -52.810235,48.176570 -52.809667,48.176757 -52.808988,48.176947 -52.808725,48.176994 -52.808266,48.177134 -52.807572,48.177298 -52.807311,48.177339 -52.807061,48.177411 -52.806353,48.177557 -52.805871,48.177626 -52.805616,48.177694 -52.804893,48.177813 -52.804289,48.177887 -52.804154,48.177920 -52.803417,48.178013 -52.803218,48.178007 -52.802977,48.178063 -52.802254,48.178138 -52.801873,48.178122 -52.801505,48.178200 -52.800766,48.178248 -52.800711,48.178244 -52.800039,48.178281 -52.799300,48.178302 -52.799126,48.178288 -52.798569,48.178309 -52.797829,48.178302 -52.797541,48.178275 -52.797102,48.178283 -52.796361,48.178249 -52.796108,48.178221 -52.795881,48.178222 -52.795139,48.178171 -52.794639,48.178107 -52.794388,48.178104 -52.793659,48.178026 -52.793081,48.177941 -52.792959,48.177937 -52.792229,48.177832 -52.791906,48.177730 -52.791488,48.177710 -52.790771,48.177577 -52.790514,48.177491 -52.790256,48.177474 -52.789551,48.177323 -52.789472,48.177295 -52.788826,48.177152 -52.788134,48.176974 -52.787976,48.176914 -52.787536,48.176809 -52.786870,48.176613 -52.786632,48.176517 -52.786277,48.176426 -52.785610,48.176202 -52.785293,48.176068 -52.785025,48.175994 -52.784384,48.175752 -52.783935,48.175551 -52.783745,48.175494 -52.783116,48.175225 -52.782634,48.174996 -52.782556,48.174971 -52.781954,48.174684 -52.781785,48.174557 -52.781528,48.174471 -52.780939,48.174165 -52.780583,48.173890 -52.780350,48.173812 -52.780279,48.173771 -52.780153,48.173724 -52.779603,48.173391 -52.779560,48.173355 -52.779352,48.173234 -52.778815,48.172892 -52.778654,48.172753 -52.778207,48.172477 -52.777710,48.172116 -52.777574,48.171991 -52.777378,48.171865 -52.776894,48.171486 -52.776587,48.171192 -52.776350,48.171030 -52.775906,48.170632 -52.775684,48.170404 -52.775592,48.170339 -52.775175,48.169931 -52.774740,48.169465 -52.774703,48.169436 -52.774325,48.169010 -52.774236,48.168835 -52.774057,48.168693 -52.773705,48.168258 -52.773612,48.168063 -52.773457,48.167934 -52.773132,48.167489 -52.773087,48.167388 -52.772781,48.166966 -52.772496,48.166503 -52.772432,48.166341 -52.772251,48.166074 -52.772007,48.165610 -52.771945,48.165435 -52.771838,48.165268 -52.771620,48.164795 -52.771517,48.164472 -52.771416,48.164301 -52.771238,48.163818 -52.771133,48.163438 -52.771085,48.163349 -52.770947,48.162866 -52.770952,48.162779 -52.770947,48.162759 -52.770961,48.162635 -52.770826,48.162366 -52.770729,48.161872 -52.770746,48.161705 -52.770674,48.161551 -52.770603,48.161057 -52.770608,48.161020 -52.770553,48.160571 -52.770523,48.160077 -52.770543,48.159961 -52.770513,48.159588 -52.770523,48.159093 -52.770564,48.158900 -52.770552,48.158607 -52.770602,48.158111 -52.770670,48.157845 -52.770670,48.157631 -52.770761,48.157135 -52.770830,48.156901 -52.770831,48.156887 -52.770371,48.156690 -52.767165,48.154271 -52.766732,48.153792 -52.766604,48.153545 -52.766352,48.153343 -52.765959,48.152845 -52.765846,48.152604 -52.765782,48.152555 -52.765766,48.152532 -52.765659,48.152442 -52.765305,48.151934 -52.765257,48.151821 -52.765005,48.151470 -52.764692,48.150944 -52.764633,48.150791 -52.764479,48.150563 -52.764206,48.150037 -52.764152,48.149880 -52.764058,48.149735 -52.763811,48.149199 -52.763689,48.148816 -52.763578,48.148627 -52.763385,48.148081 -52.763288,48.147718 -52.763246,48.147642 -52.763093,48.147086 -52.763106,48.146892 -52.762992,48.146666 -52.762879,48.146110 -52.762902,48.145886 -52.762808,48.145683 -52.762735,48.145126 -52.762741,48.145083 -52.762694,48.144694 -52.762662,48.144137 -52.762679,48.144034 -52.762652,48.143708 -52.762659,48.143141 -52.762708,48.142912 -52.762695,48.142561 -52.762757,48.142002 -52.762796,48.141850 -52.762795,48.141718 -52.762883,48.141159 -52.762998,48.140755 -52.763005,48.140574 -52.763147,48.140023 -52.763222,48.139800 -52.763226,48.139747 -52.763395,48.139195 -52.763578,48.138931 -52.763617,48.138581 -52.763841,48.138047 -52.763991,48.137848 -52.764020,48.137654 -52.764284,48.137119 -52.764314,48.137081 -52.764442,48.136818 -52.764733,48.136292 -52.764813,48.136195 -52.764983,48.135872 -52.765315,48.135354 -52.765518,48.135124 -52.765723,48.134776 -52.766109,48.134275 -52.766296,48.134080 -52.766389,48.133930 -52.766803,48.133446 -52.766990,48.133260 -52.767049,48.133170 -52.767490,48.132696 -52.767869,48.132333 -52.767918,48.132262 -52.767990,48.132194 -52.768065,48.132024 -52.768182,48.131693 -52.768266,48.131392 -52.768316,48.131131 -52.768349,48.130819 -52.768360,48.130512 -52.768343,48.130196 -52.768305,48.129880 -52.768242,48.129579 -52.768157,48.129276 -52.768066,48.129030 -52.767915,48.128708 -52.767786,48.128464 -52.767377,48.127851 -52.767331,48.127739 -52.767133,48.127460 -52.766576,48.126506 -52.766517,48.126348 -52.766372,48.126131 -52.765882,48.125167 -52.765768,48.124835 -52.765624,48.124597 -52.765227,48.123605 -52.765165,48.123392 -52.765116,48.123307 -52.764773,48.122313 -52.764644,48.121823 -52.764607,48.121754 -52.764358,48.120741 -52.764373,48.120553 -52.764275,48.120354 -52.764093,48.119340 -52.764117,48.119127 -52.764035,48.118947 -52.763920,48.117933 -52.763931,48.117857 -52.763883,48.117379 -52.763861,48.116354 -52.763884,48.116234 -52.763865,48.115961 -52.763911,48.114935 -52.763959,48.114724 -52.763951,48.114459 -52.764077,48.113440 -52.764154,48.113155 -52.764156,48.112963 -52.764363,48.111952 -52.764469,48.111608 -52.764475,48.111495 -52.764763,48.110483 -52.764890,48.110118 -52.764894,48.110074 -52.765250,48.109078 -52.765384,48.108891 -52.765411,48.108669 -52.765834,48.107691 -52.766026,48.107441 -52.766062,48.107215 -52.766567,48.106253 -52.766621,48.106187 -52.766774,48.105884 -52.767346,48.104930 -52.767477,48.104778 -52.767661,48.104448 -52.768314,48.103520 -52.768462,48.103358 -52.768573,48.103171 -52.769281,48.102270 -52.769555,48.101986 -52.769669,48.101810 -52.770458,48.100934 -52.770719,48.100680 -52.770773,48.100601 -52.771617,48.099751 -52.771836,48.099615 -52.772009,48.099377 -52.772921,48.098553 -52.773173,48.098404 -52.773329,48.098204 -52.774295,48.097415 -52.774336,48.097392 -52.774789,48.097035 -52.775824,48.096281 -52.775946,48.096216 -52.776286,48.095961 -52.777376,48.095242 -52.777550,48.095154 -52.777803,48.094973 -52.778934,48.094290 -52.779251,48.094137 -52.779509,48.093962 -52.780696,48.093323 -52.781060,48.093157 -52.781217,48.093056 -52.782459,48.092451 -52.782928,48.092249 -52.783021,48.092192 -52.784305,48.091633 -52.784573,48.091567 -52.784838,48.091412 -52.786149,48.090897 -52.786516,48.090813 -52.786796,48.090658 -52.788163,48.090187 -52.788239,48.090171 -52.788786,48.089986 -52.790168,48.089569 -52.790311,48.089542 -52.790691,48.089420 -52.792114,48.089038 -52.792435,48.088982 -52.792883,48.088849 -52.794322,48.088530 -52.794620,48.088485 -52.794846,48.088422 -52.796327,48.088138 -52.796884,48.088062 -52.797103,48.088005 -52.798586,48.087784 -52.799108,48.087724 -52.799194,48.087703 -52.800705,48.087527 -52.800978,48.087536 -52.801281,48.087468 -52.802794,48.087336 -52.803238,48.087357 -52.803613,48.087282 -52.805128,48.087213 -52.805220,48.087220 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-53.267978,49.700161 -53.085833,49.818111</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-53.173170,49.700208 -53.175703,49.700161 -53.176679,49.700206 -53.177816,49.700184 -53.178281,49.700220 -53.179200,49.700203 -53.180176,49.700248 -53.181312,49.700226 -53.181723,49.700258 -53.182572,49.700240 -53.184406,49.700313 -53.185378,49.700417 -53.185879,49.700423 -53.186820,49.700527 -53.187912,49.700571 -53.188884,49.700674 -53.189386,49.700681 -53.190938,49.700852 -53.192656,49.701021 -53.194161,49.701227 -53.194174,49.701227 -53.195219,49.701409 -53.196247,49.701522 -53.197514,49.701703 -53.197524,49.701703 -53.199032,49.701966 -53.200706,49.702228 -53.200860,49.702276 -53.201045,49.702284 -53.202723,49.702576 -53.202737,49.702581 -53.202754,49.702581 -53.203902,49.702818 -53.205003,49.703080 -53.206083,49.703268 -53.206097,49.703272 -53.206114,49.703273 -53.207263,49.703510 -53.208945,49.703910 -53.209058,49.703950 -53.209434,49.704032 -53.210950,49.704435 -53.211147,49.704509 -53.211529,49.704599 -53.212692,49.704949 -53.213831,49.705219 -53.214335,49.705400 -53.215441,49.705679 -53.216962,49.706189 -53.216962,49.706189 -53.216963,49.706189 -53.218216,49.706610 -53.219629,49.707035 -53.220566,49.707403 -53.221148,49.707568 -53.222197,49.707993 -53.223219,49.708336 -53.223870,49.708605 -53.224196,49.708697 -53.225723,49.709315 -53.226276,49.709565 -53.226365,49.709592 -53.227725,49.710214 -53.227802,49.710268 -53.227924,49.710306 -53.229356,49.710985 -53.230617,49.711561 -53.230693,49.711615 -53.230815,49.711653 -53.232347,49.712379 -53.232622,49.712579 -53.232981,49.712699 -53.234346,49.713428 -53.234346,49.713428 -53.234346,49.713428 -53.235712,49.714157 -53.235771,49.714203 -53.236406,49.714554 -53.237268,49.715081 -53.238276,49.715619 -53.238336,49.715665 -53.238971,49.716016 -53.240341,49.716853 -53.240341,49.716853 -53.240341,49.716853 -53.241540,49.717585 -53.241715,49.717729 -53.242192,49.718011 -53.243396,49.718851 -53.243396,49.718851 -53.243396,49.718851 -53.244601,49.719691 -53.244837,49.719899 -53.245130,49.720083 -53.246340,49.721031 -53.246423,49.721109 -53.246493,49.721154 -53.247205,49.721732 -53.248052,49.722323 -53.248736,49.722924 -53.249200,49.723237 -53.250243,49.724188 -53.250243,49.724188 -53.250243,49.724188 -53.251286,49.725139 -53.251864,49.725723 -53.251901,49.725750 -53.252489,49.726391 -53.253206,49.727045 -53.253784,49.727629 -53.253821,49.727656 -53.254698,49.728610 -53.254698,49.728610 -53.254698,49.728610 -53.255574,49.729565 -53.255677,49.729756 -53.255872,49.729906 -53.256611,49.730795 -53.257333,49.731582 -53.257436,49.731773 -53.257631,49.731922 -53.258513,49.732985 -53.258546,49.733050 -53.259019,49.733659 -53.259630,49.734568 -53.260227,49.735373 -53.260258,49.735441 -53.260445,49.735682 -53.261161,49.736747 -53.261282,49.737032 -53.261604,49.737497 -53.261958,49.738184 -53.262426,49.738882 -53.262596,49.739279 -53.262976,49.739847 -53.263479,49.740915 -53.263974,49.741876 -53.264170,49.742432 -53.264328,49.742692 -53.264564,49.743351 -53.264906,49.744017 -53.265154,49.744716 -53.265314,49.744987 -53.265677,49.746090 -53.266032,49.747085 -53.266275,49.747957 -53.266271,49.747996 -53.266290,49.748032 -53.266422,49.748737 -53.266637,49.749340 -53.266880,49.750212 -53.266876,49.750251 -53.266895,49.750287 -53.267109,49.751430 -53.267318,49.752465 -53.267313,49.752506 -53.267333,49.752545 -53.267555,49.753728 -53.267553,49.753751 -53.267651,49.754543 -53.267685,49.755280 -53.267812,49.755909 -53.267812,49.755912 -53.267813,49.755915 -53.267923,49.756805 -53.267978,49.757991 -53.267924,49.758294 -53.267951,49.758889 -53.267883,49.759522 -53.267918,49.760259 -53.267869,49.760526 -53.267899,49.761076 -53.267787,49.762266 -53.267777,49.762306 -53.267779,49.762347 -53.267668,49.763388 -53.267560,49.764537 -53.267401,49.765168 -53.267392,49.765493 -53.267233,49.766103 -53.267167,49.766812 -53.267007,49.767443 -53.266998,49.767768 -53.266736,49.768775 -53.266476,49.769889 -53.266160,49.770866 -53.266159,49.770874 -53.265879,49.771552 -53.265706,49.772219 -53.265428,49.773041 -53.265428,49.773047 -53.265024,49.774026 -53.264620,49.775111 -53.264540,49.775221 -53.264526,49.775351 -53.264161,49.776097 -53.263758,49.776811 -53.263469,49.777511 -53.263462,49.777520 -53.263461,49.777531 -53.262906,49.778594 -53.262385,49.779420 -53.261859,49.780352 -53.261859,49.780352 -53.261243,49.781444 -53.261086,49.781628 -53.260801,49.782136 -53.260018,49.783231 -53.259865,49.783395 -53.259752,49.783583 -53.259104,49.784396 -53.258448,49.785313 -53.258295,49.785476 -53.258182,49.785665 -53.257394,49.786651 -53.257394,49.786651 -53.256607,49.787638 -53.256192,49.788060 -53.256049,49.788272 -53.255393,49.788953 -53.254864,49.789615 -53.254450,49.790037 -53.254307,49.790249 -53.253353,49.791239 -53.252967,49.791598 -53.252925,49.791656 -53.251966,49.792539 -53.251882,49.792588 -53.251824,49.792667 -53.250775,49.793597 -53.249885,49.794414 -53.249801,49.794464 -53.249743,49.794543 -53.248622,49.795536 -53.248314,49.795714 -53.248128,49.795948 -53.247002,49.796833 -53.246931,49.796872 -53.246389,49.797283 -53.245576,49.797842 -53.244744,49.798496 -53.244674,49.798535 -53.244131,49.798946 -53.242838,49.799835 -53.242616,49.799948 -53.242180,49.800258 -53.241222,49.800834 -53.240409,49.801393 -53.240187,49.801507 -53.239751,49.801816 -53.238453,49.802597 -53.238453,49.802597 -53.237154,49.803378 -53.236833,49.803531 -53.236549,49.803721 -53.235084,49.804505 -53.234964,49.804559 -53.234894,49.804605 -53.233687,49.805228 -53.232316,49.805962 -53.232196,49.806016 -53.232126,49.806062 -53.230823,49.806734 -53.229346,49.807384 -53.229260,49.807434 -53.228270,49.807815 -53.227260,49.808280 -53.227260,49.808280 -53.225790,49.808955 -53.224659,49.809424 -53.224464,49.809466 -53.224318,49.809547 -53.222943,49.810025 -53.221728,49.810493 -53.221728,49.810493 -53.220253,49.811061 -53.220151,49.811084 -53.220067,49.811131 -53.218684,49.811581 -53.217568,49.811895 -53.216437,49.812288 -53.216089,49.812361 -53.215873,49.812474 -53.214392,49.812934 -53.214288,49.812954 -53.213914,49.813076 -53.212267,49.813539 -53.211828,49.813617 -53.211109,49.813826 -53.210046,49.814054 -53.208968,49.814357 -53.208529,49.814436 -53.207809,49.814644 -53.206157,49.815000 -53.205970,49.815027 -53.205823,49.815069 -53.204172,49.815394 -53.202687,49.815713 -53.201829,49.815840 -53.201425,49.815943 -53.200407,49.816095 -53.199377,49.816316 -53.198297,49.816476 -53.197877,49.816579 -53.196173,49.816814 -53.194635,49.817043 -53.193284,49.817200 -53.193225,49.817197 -53.193170,49.817209 -53.191404,49.817347 -53.190358,49.817434 -53.189082,49.817610 -53.187969,49.817732 -53.186596,49.817802 -53.185457,49.817824 -53.184484,49.817905 -53.184479,49.817905 -53.184473,49.817906 -53.183100,49.817976 -53.181601,49.818004 -53.180200,49.818074 -53.179974,49.818060 -53.178875,49.818099 -53.177437,49.818082 -53.175932,49.818111 -53.175466,49.818075 -53.174544,49.818092 -53.173566,49.818047 -53.172427,49.818069 -53.171045,49.817963 -53.169687,49.817945 -53.168744,49.817841 -53.167649,49.817797 -53.167588,49.817791 -53.167524,49.817792 -53.165852,49.817715 -53.165151,49.817638 -53.164742,49.817635 -53.162898,49.817454 -53.162720,49.817429 -53.162657,49.817428 -53.160980,49.817244 -53.160123,49.817122 -53.160041,49.817119 -53.158659,49.816902 -53.157456,49.816770 -53.156186,49.816589 -53.156176,49.816588 -53.154494,49.816296 -53.154494,49.816296 -53.152813,49.816003 -53.152813,49.816003 -53.151132,49.815711 -53.150742,49.815585 -53.150367,49.815562 -53.148693,49.815203 -53.147359,49.814942 -53.147298,49.814922 -53.146582,49.814774 -53.144896,49.814374 -53.144896,49.814374 -53.143210,49.813973 -53.142926,49.813871 -53.142141,49.813686 -53.140737,49.813264 -53.139511,49.812938 -53.139314,49.812864 -53.138931,49.812774 -53.137240,49.812265 -53.136988,49.812166 -53.136697,49.812092 -53.135173,49.811581 -53.135173,49.811581 -53.133649,49.811069 -53.133416,49.810973 -53.133241,49.810926 -53.131546,49.810310 -53.131150,49.810140 -53.130976,49.810091 -53.129621,49.809541 -53.128441,49.809094 -53.128193,49.808985 -53.128090,49.808956 -53.126562,49.808337 -53.125794,49.807990 -53.125720,49.807967 -53.124285,49.807286 -53.123024,49.806709 -53.122671,49.806458 -53.122190,49.806296 -53.120824,49.805566 -53.120824,49.805566 -53.119458,49.804835 -53.119458,49.804835 -53.118091,49.804104 -53.118091,49.804104 -53.116725,49.803374 -53.116725,49.803374 -53.115359,49.802643 -53.115211,49.802529 -53.114012,49.801819 -53.113123,49.801198 -53.112090,49.800565 -53.112090,49.800565 -53.110891,49.799832 -53.110716,49.799688 -53.110238,49.799405 -53.109034,49.798563 -53.108353,49.797963 -53.107887,49.797648 -53.107372,49.797177 -53.106789,49.796769 -53.106107,49.796168 -53.105641,49.795854 -53.104823,49.795105 -53.104026,49.794456 -53.103716,49.794160 -53.103562,49.794056 -53.102521,49.793104 -53.102521,49.793104 -53.101479,49.792151 -53.101479,49.792151 -53.100437,49.791198 -53.099862,49.790614 -53.099824,49.790586 -53.098949,49.789631 -53.098949,49.789631 -53.098074,49.788675 -53.097973,49.788484 -53.097777,49.788334 -53.097041,49.787443 -53.096320,49.786656 -53.096285,49.786589 -53.096210,49.786533 -53.095519,49.785640 -53.095037,49.784917 -53.094431,49.784184 -53.094399,49.784120 -53.093927,49.783510 -53.093214,49.782443 -53.093142,49.782273 -53.092912,49.781951 -53.092510,49.781238 -53.091960,49.780415 -53.091840,49.780131 -53.091519,49.779665 -53.090973,49.778595 -53.090931,49.778474 -53.090867,49.778378 -53.090367,49.777310 -53.089876,49.776348 -53.089876,49.776348 -53.089330,49.775278 -53.089136,49.774724 -53.088978,49.774462 -53.088706,49.773692 -53.088294,49.772811 -53.088155,49.772389 -53.088048,49.772212 -53.087669,49.771139 -53.087428,49.770263 -53.087432,49.770226 -53.087415,49.770191 -53.087285,49.769486 -53.087072,49.768883 -53.086832,49.768007 -53.086836,49.767970 -53.086818,49.767935 -53.086608,49.766792 -53.086403,49.765757 -53.086408,49.765715 -53.086388,49.765676 -53.086170,49.764492 -53.086173,49.764471 -53.086078,49.763677 -53.086027,49.762491 -53.086027,49.762491 -53.086027,49.762491 -53.085981,49.761412 -53.085981,49.761412 -53.085981,49.761412 -53.085930,49.760226 -53.085930,49.760226 -53.085930,49.760226 -53.085884,49.759147 -53.085884,49.759147 -53.085884,49.759147 -53.085833,49.757961 -53.085882,49.757695 -53.085855,49.757144 -53.085971,49.755954 -53.085981,49.755915 -53.085979,49.755873 -53.086095,49.754832 -53.086207,49.753683 -53.086368,49.753054 -53.086379,49.752728 -53.086540,49.752118 -53.086609,49.751409 -53.086771,49.750780 -53.086781,49.750454 -53.087068,49.749369 -53.087258,49.748815 -53.087262,49.748761 -53.087598,49.747867 -53.087803,49.747089 -53.088084,49.746268 -53.088085,49.746261 -53.088538,49.745173 -53.088538,49.745173 -53.088538,49.745173 -53.088945,49.744195 -53.089352,49.743110 -53.089426,49.743010 -53.089439,49.742890 -53.089892,49.741803 -53.089900,49.741792 -53.089901,49.741780 -53.090268,49.741038 -53.090673,49.740324 -53.090965,49.739624 -53.090973,49.739614 -53.090974,49.739602 -53.091531,49.738543 -53.092155,49.737560 -53.092268,49.737433 -53.092408,49.737185 -53.092950,49.736431 -53.093369,49.735693 -53.093647,49.735367 -53.094080,49.734649 -53.094731,49.733837 -53.095389,49.732921 -53.095543,49.732758 -53.095656,49.732570 -53.096447,49.731584 -53.096447,49.731584 -53.096447,49.731584 -53.097237,49.730598 -53.097652,49.730177 -53.097795,49.729965 -53.098752,49.728976 -53.098752,49.728976 -53.098752,49.728976 -53.099708,49.727988 -53.099708,49.727988 -53.099708,49.727988 -53.100665,49.726999 -53.100665,49.726999 -53.100665,49.726999 -53.101621,49.726010 -53.102007,49.725652 -53.102049,49.725594 -53.103010,49.724713 -53.103398,49.724484 -53.103647,49.724173 -53.104194,49.723744 -53.104666,49.723256 -53.105451,49.722527 -53.105630,49.722426 -53.105730,49.722300 -53.106858,49.721416 -53.106858,49.721416 -53.106858,49.721416 -53.107985,49.720532 -53.108161,49.720436 -53.109256,49.719661 -53.109874,49.719290 -53.110410,49.718869 -53.110586,49.718773 -53.111681,49.717997 -53.112979,49.717218 -53.112979,49.717218 -53.112979,49.717218 -53.114277,49.716439 -53.114277,49.716439 -53.114277,49.716439 -53.115575,49.715659 -53.115575,49.715659 -53.115575,49.715659 -53.116873,49.714880 -53.116873,49.714880 -53.116873,49.714880 -53.118171,49.714101 -53.118612,49.713891 -53.118966,49.713659 -53.120173,49.713036 -53.121543,49.712304 -53.122127,49.712042 -53.122349,49.711904 -53.123503,49.711374 -53.124504,49.710858 -53.125977,49.710211 -53.126064,49.710161 -53.127338,49.709671 -53.128778,49.709074 -53.128980,49.709026 -53.129172,49.708917 -53.130645,49.708350 -53.130645,49.708350 -53.130645,49.708350 -53.132119,49.707783 -53.132414,49.707717 -53.132645,49.707590 -53.134284,49.707020 -53.134631,49.706948 -53.134847,49.706835 -53.136040,49.706465 -53.137402,49.705991 -53.137501,49.705971 -53.138442,49.705665 -53.140086,49.705203 -53.140086,49.705203 -53.140086,49.705203 -53.141730,49.704741 -53.141993,49.704694 -53.142488,49.704545 -53.143795,49.704235 -53.145430,49.703815 -53.145760,49.703760 -53.146179,49.703638 -53.147828,49.703284 -53.147828,49.703284 -53.147828,49.703284 -53.149476,49.702929 -53.149476,49.702929 -53.149476,49.702929 -53.151125,49.702575 -53.151981,49.702449 -53.152384,49.702346 -53.153571,49.702169 -53.154927,49.701902 -53.155580,49.701811 -53.155852,49.701742 -53.157505,49.701495 -53.157694,49.701473 -53.157744,49.701461 -53.159563,49.701211 -53.160659,49.701091 -53.160662,49.701090 -53.161767,49.700998 -53.163041,49.700823 -53.164137,49.700702 -53.164139,49.700701 -53.165797,49.700562 -53.165803,49.700563 -53.165809,49.700562 -53.167178,49.700492 -53.168314,49.700471 -53.169285,49.700389 -53.169290,49.700389 -53.169296,49.700388 -53.170665,49.700319 -53.171864,49.700296 -53.173063,49.700203 -53.173170,49.700208 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-55.713464,50.653828 -55.423941,50.833884</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-55.472690,50.724364 -55.474752,50.723871 -55.483152,50.718873 -55.483255,50.716836 -55.490130,50.707189 -55.496206,50.702861 -55.496516,50.702683 -55.500681,50.697825 -55.505592,50.694191 -55.514173,50.688871 -55.521417,50.685260 -55.521878,50.685149 -55.522455,50.684742 -55.526670,50.682378 -55.532345,50.679690 -55.536238,50.678756 -55.536416,50.678505 -55.548561,50.671256 -55.564143,50.667511 -55.568844,50.667012 -55.575612,50.667144 -55.593083,50.658853 -55.596006,50.657581 -55.611578,50.653828 -55.628224,50.654147 -55.643414,50.658488 -55.654838,50.666193 -55.659842,50.673449 -55.665993,50.687758 -55.667935,50.688311 -55.668377,50.688609 -55.668919,50.688770 -55.669573,50.689084 -55.672002,50.689108 -55.680874,50.689792 -55.696082,50.694126 -55.707527,50.701825 -55.713464,50.711720 -55.712987,50.722305 -55.711626,50.725285 -55.705545,50.736216 -55.705512,50.736667 -55.704479,50.741465 -55.697650,50.751128 -55.694023,50.753300 -55.694496,50.754089 -55.694097,50.763183 -55.696406,50.767246 -55.698342,50.771924 -55.697860,50.782511 -55.695758,50.786719 -55.688039,50.798688 -55.683301,50.804143 -55.678401,50.808509 -55.666238,50.815777 -55.650608,50.819540 -55.639618,50.819805 -55.633767,50.819468 -55.628043,50.818888 -55.612794,50.814542 -55.607166,50.810754 -55.604287,50.810465 -55.589045,50.806115 -55.585215,50.803972 -55.585083,50.804201 -55.581205,50.809029 -55.577899,50.812482 -55.565717,50.819737 -55.565114,50.819941 -55.556771,50.824908 -55.550655,50.826373 -55.545266,50.829579 -55.529619,50.833324 -55.524308,50.833884 -55.507588,50.833548 -55.501502,50.831805 -55.501049,50.831913 -55.484331,50.831574 -55.482280,50.830986 -55.476514,50.830665 -55.461277,50.826296 -55.456724,50.823217 -55.442759,50.819209 -55.431332,50.811477 -55.425762,50.802629 -55.424253,50.797987 -55.424264,50.797465 -55.423941,50.796920 -55.424495,50.786334 -55.426811,50.781851 -55.432927,50.772766 -55.437509,50.767604 -55.443014,50.764335 -55.441919,50.761258 -55.442468,50.750673 -55.449358,50.741028 -55.449730,50.740807 -55.449933,50.740530 -55.461091,50.731108 -55.472690,50.724364 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-55.691856,50.854685 -55.502193,51.015043</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-55.643989,50.873057 -55.645202,50.873315 -55.650293,50.874763 -55.655159,50.876527 -55.659388,50.878858 -55.663217,50.881428 -55.666647,50.884236 -55.669146,50.887413 -55.671130,50.890714 -55.672264,50.893354 -55.674079,50.894596 -55.675197,50.895520 -55.675796,50.895886 -55.677414,50.897224 -55.678934,50.898609 -55.681124,50.901293 -55.682946,50.904072 -55.683924,50.906220 -55.684401,50.906948 -55.685462,50.909865 -55.685462,50.910283 -55.685581,50.910559 -55.685790,50.910908 -55.685817,50.911109 -55.685955,50.911429 -55.686343,50.914970 -55.686181,50.918500 -55.685468,50.922021 -55.683683,50.925386 -55.682692,50.926782 -55.685933,50.931612 -55.686475,50.932785 -55.687057,50.933604 -55.687994,50.935631 -55.688743,50.937692 -55.688724,50.938110 -55.688922,50.938462 -55.689075,50.939234 -55.689067,50.939330 -55.689201,50.940009 -55.691836,50.960407 -55.691722,50.961403 -55.691856,50.963181 -55.691542,50.965940 -55.690891,50.968684 -55.690179,50.970298 -55.689350,50.971889 -55.688979,50.972352 -55.688404,50.973455 -55.685352,50.977881 -55.684412,50.978931 -55.684025,50.979562 -55.682563,50.981194 -55.680967,50.982779 -55.677274,50.985456 -55.673203,50.987881 -55.668752,50.990051 -55.663716,50.991632 -55.658483,50.992888 -55.653055,50.993817 -55.648644,50.994067 -55.644230,50.994101 -55.641984,50.993949 -55.635612,50.998215 -55.626290,51.004832 -55.624943,51.005550 -55.623364,51.006632 -55.620250,51.008292 -55.616947,51.009812 -55.611907,51.011390 -55.606670,51.012643 -55.601237,51.013570 -55.600207,51.013550 -55.599392,51.013726 -55.597541,51.013845 -55.597172,51.013830 -55.595684,51.013925 -55.589223,51.014073 -55.587355,51.013960 -55.585453,51.014002 -55.581705,51.013776 -55.581519,51.013757 -55.580074,51.014037 -55.576357,51.014592 -55.575222,51.014570 -55.574338,51.014758 -55.572312,51.014880 -55.571862,51.014861 -55.570279,51.014955 -55.564368,51.015043 -55.562464,51.014920 -55.560773,51.014954 -55.557200,51.014724 -55.553651,51.014351 -55.548319,51.013216 -55.543214,51.011762 -55.538336,51.009991 -55.534811,51.008115 -55.531546,51.006072 -55.529548,51.004491 -55.528543,51.003863 -55.525820,51.001498 -55.524989,51.001174 -55.524367,51.000782 -55.523406,51.000508 -55.519172,50.998171 -55.515341,50.995595 -55.511912,50.992780 -55.511558,50.992189 -55.511002,50.991790 -55.510142,50.990783 -55.510029,50.990574 -55.509333,50.989758 -55.508007,50.987937 -55.507460,50.986813 -55.506647,50.985686 -55.505531,50.983388 -55.504657,50.981043 -55.504285,50.977501 -55.504463,50.973970 -55.504540,50.973597 -55.504152,50.972854 -55.503751,50.971828 -55.503540,50.971512 -55.503011,50.970156 -55.503004,50.969524 -55.502565,50.968788 -55.502193,50.965246 -55.502371,50.961716 -55.503100,50.958196 -55.503749,50.956720 -55.504494,50.955264 -55.504795,50.954887 -55.505337,50.953828 -55.508774,50.948657 -55.509716,50.947591 -55.510176,50.946839 -55.511733,50.945076 -55.513447,50.943368 -55.515912,50.941475 -55.517309,50.940539 -55.517701,50.939855 -55.519679,50.937375 -55.521960,50.934990 -55.522497,50.934672 -55.522777,50.934303 -55.523620,50.933629 -55.523760,50.933549 -55.524487,50.932967 -55.529931,50.929009 -55.531196,50.928327 -55.532957,50.927114 -55.533465,50.926840 -55.533605,50.926750 -55.533996,50.926553 -55.534370,50.926352 -55.534685,50.926206 -55.536105,50.925489 -55.537100,50.924856 -55.543779,50.921787 -55.546630,50.920418 -55.546487,50.920237 -55.544541,50.917043 -55.543197,50.913928 -55.543077,50.913732 -55.539104,50.899718 -55.539108,50.899610 -55.539102,50.899596 -55.539044,50.899498 -55.539038,50.899445 -55.539014,50.899388 -55.538639,50.895847 -55.538814,50.892317 -55.539539,50.888798 -55.539824,50.888398 -55.539857,50.888010 -55.540203,50.887228 -55.540275,50.887132 -55.540576,50.886450 -55.544688,50.878534 -55.545418,50.877622 -55.546346,50.876004 -55.548296,50.873567 -55.550539,50.871225 -55.554229,50.868553 -55.558296,50.866135 -55.562739,50.863970 -55.563331,50.863784 -55.563618,50.863649 -55.564224,50.863504 -55.564816,50.863319 -55.565376,50.863008 -55.579341,50.858325 -55.580676,50.858039 -55.583561,50.857173 -55.584409,50.856992 -55.585128,50.856802 -55.588310,50.856221 -55.589558,50.855892 -55.593620,50.855283 -55.594337,50.855282 -55.594897,50.855186 -55.595486,50.855045 -55.595830,50.855026 -55.596418,50.854926 -55.602011,50.854685 -55.607588,50.854792 -55.613147,50.855247 -55.618460,50.856379 -55.623548,50.857827 -55.628411,50.859593 -55.632637,50.861925 -55.636463,50.864496 -55.639890,50.867305 -55.641720,50.869468 -55.643310,50.871700 -55.643907,50.872942 -55.643989,50.873057 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-55.738960,51.131625 -55.624238,51.214136</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-55.737895,51.181978 -55.736102,51.185347 -55.733804,51.188573 -55.730999,51.191658 -55.727290,51.194339 -55.725122,51.195625 -55.721492,51.198249 -55.717401,51.200676 -55.712930,51.202850 -55.707868,51.204435 -55.703035,51.205591 -55.699066,51.207945 -55.694593,51.210118 -55.689530,51.211701 -55.684269,51.212959 -55.678811,51.213891 -55.673168,51.214136 -55.667542,51.214032 -55.661931,51.213580 -55.657550,51.212712 -55.653307,51.211632 -55.650553,51.210682 -55.649201,51.210338 -55.644861,51.208686 -55.644314,51.208348 -55.643687,51.208121 -55.643080,51.207950 -55.642797,51.207801 -55.642189,51.207582 -55.637926,51.205248 -55.634067,51.202674 -55.630612,51.199862 -55.628097,51.196681 -55.626101,51.193376 -55.624623,51.189947 -55.624238,51.186403 -55.624406,51.182869 -55.625129,51.179346 -55.625592,51.178700 -55.625652,51.178117 -55.626243,51.176901 -55.626439,51.176652 -55.626902,51.175698 -55.630415,51.169950 -55.630299,51.168883 -55.630467,51.165350 -55.631188,51.161827 -55.631513,51.161372 -55.631551,51.160939 -55.631950,51.160057 -55.632044,51.159934 -55.632384,51.159181 -55.633641,51.156854 -55.634426,51.155889 -55.635276,51.154424 -55.637182,51.152082 -55.639360,51.149828 -55.643071,51.147151 -55.647160,51.144726 -55.651629,51.142556 -55.656685,51.140975 -55.661061,51.139928 -55.664629,51.137812 -55.669096,51.135640 -55.674150,51.134059 -55.679401,51.132802 -55.684848,51.131870 -55.690479,51.131625 -55.696094,51.131727 -55.701693,51.132177 -55.707046,51.133305 -55.712172,51.134751 -55.717072,51.136514 -55.720736,51.138458 -55.724117,51.140580 -55.726323,51.142319 -55.727218,51.142880 -55.730210,51.145515 -55.730467,51.145905 -55.730753,51.146137 -55.731163,51.146410 -55.731312,51.146591 -55.731639,51.146857 -55.734159,51.150036 -55.736163,51.153338 -55.737649,51.156765 -55.737618,51.157455 -55.737912,51.157996 -55.738109,51.159230 -55.738082,51.159493 -55.738238,51.160469 -55.738960,51.175081 -55.738776,51.176276 -55.738839,51.177395 -55.738484,51.179694 -55.737895,51.181978 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-53.960501,49.498281 -53.714401,49.626699</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-53.878105,49.595252 -53.837230,49.609394 -53.809106,49.620420 -53.809026,49.620438 -53.808960,49.620476 -53.806227,49.621274 -53.782566,49.626263 -53.780186,49.626617 -53.777901,49.626699 -53.757501,49.626327 -53.754382,49.626038 -53.752268,49.625557 -53.744694,49.623375 -53.742760,49.622634 -53.742325,49.622502 -53.731075,49.617348 -53.730918,49.617237 -53.730690,49.617164 -53.728430,49.615476 -53.727098,49.614534 -53.727052,49.614446 -53.726963,49.614380 -53.718884,49.604982 -53.718417,49.604076 -53.717342,49.602183 -53.714491,49.591879 -53.714502,49.591699 -53.714401,49.591508 -53.714561,49.588452 -53.716802,49.581434 -53.716942,49.581233 -53.716965,49.580980 -53.718377,49.578751 -53.726031,49.570150 -53.726984,49.569217 -53.728652,49.568025 -53.809730,49.519515 -53.816199,49.513495 -53.816381,49.513386 -53.816500,49.513225 -53.818659,49.511749 -53.828343,49.506474 -53.830217,49.505614 -53.830267,49.505603 -53.830307,49.505580 -53.841874,49.501233 -53.842052,49.501193 -53.845088,49.500355 -53.854841,49.498590 -53.856635,49.498347 -53.859459,49.498281 -53.877524,49.499057 -53.880088,49.499326 -53.880438,49.499436 -53.880776,49.499455 -53.895616,49.502502 -53.899788,49.503901 -53.899883,49.503970 -53.900003,49.504009 -53.918986,49.513714 -53.919091,49.513793 -53.920474,49.514596 -53.932136,49.522586 -53.946722,49.531634 -53.948976,49.533481 -53.949068,49.533548 -53.954826,49.539840 -53.954836,49.539859 -53.954857,49.539874 -53.956202,49.541883 -53.960062,49.550330 -53.960501,49.551640 -53.960494,49.554188 -53.958097,49.564970 -53.957800,49.565932 -53.957145,49.567192 -53.952577,49.574212 -53.950886,49.576120 -53.949898,49.576882 -53.941064,49.582972 -53.938890,49.584100 -53.938359,49.584418 -53.929340,49.588104 -53.929157,49.588147 -53.929000,49.588238 -53.925959,49.589103 -53.917515,49.590754 -53.915450,49.591049 -53.913578,49.591136 -53.898692,49.591173 -53.895164,49.590885 -53.895151,49.590881 -53.885794,49.593233 -53.878105,49.595252 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-53.629806,46.593119 -53.495906,46.664439</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-53.515849,46.640184 -53.506787,46.637124 -53.500117,46.631907 -53.500064,46.631800 -53.499961,46.631718 -53.499012,46.630559 -53.495906,46.624170 -53.496546,46.617233 -53.496788,46.616893 -53.496829,46.616553 -53.498344,46.613173 -53.502503,46.607612 -53.509320,46.603330 -53.511155,46.602538 -53.511556,46.602438 -53.511906,46.602226 -53.514018,46.601728 -53.518997,46.598704 -53.522866,46.597439 -53.525104,46.596858 -53.530775,46.595873 -53.531248,46.595894 -53.531659,46.595802 -53.536834,46.595448 -53.538111,46.595518 -53.542809,46.595517 -53.545125,46.595730 -53.547007,46.595108 -53.550617,46.594150 -53.556455,46.593119 -53.566518,46.593553 -53.567436,46.593863 -53.568272,46.593919 -53.572063,46.594813 -53.573287,46.595264 -53.573947,46.595445 -53.575626,46.595367 -53.583978,46.595918 -53.584397,46.596059 -53.584822,46.596082 -53.588969,46.596942 -53.591834,46.597949 -53.596138,46.599309 -53.600324,46.601287 -53.600741,46.601596 -53.601371,46.601808 -53.602913,46.602618 -53.608922,46.604493 -53.612505,46.606153 -53.612990,46.606510 -53.613739,46.606762 -53.620259,46.611783 -53.621662,46.613397 -53.621714,46.613500 -53.621822,46.613584 -53.625103,46.620157 -53.624626,46.625501 -53.625194,46.626111 -53.628134,46.631337 -53.629117,46.634487 -53.629096,46.635107 -53.629459,46.635834 -53.629678,46.637602 -53.629806,46.640084 -53.629090,46.644501 -53.629046,46.645044 -53.628576,46.646335 -53.628508,46.646433 -53.628498,46.646545 -53.626742,46.649802 -53.625610,46.651404 -53.622936,46.654395 -53.620834,46.656070 -53.619402,46.657076 -53.617220,46.658247 -53.615830,46.659170 -53.611697,46.661176 -53.609807,46.662012 -53.600256,46.664271 -53.596836,46.664432 -53.591404,46.664439 -53.584745,46.663848 -53.584195,46.663663 -53.583653,46.663631 -53.580817,46.663022 -53.580383,46.662868 -53.577969,46.662281 -53.573922,46.661036 -53.568791,46.658939 -53.566240,46.657409 -53.559341,46.652687 -53.555212,46.649005 -53.555187,46.648954 -53.555137,46.648915 -53.553608,46.647079 -53.549934,46.645934 -53.541808,46.644757 -53.528790,46.643352 -53.526165,46.642972 -53.520576,46.641453 -53.517764,46.640414 -53.515849,46.640184 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-54.230604,48.377904 -53.653362,48.667164</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-53.813900,48.632788 -53.777384,48.615712 -53.671418,48.641338 -53.668617,48.641797 -53.663340,48.641584 -53.658587,48.640049 -53.655084,48.637425 -53.653362,48.634112 -53.653684,48.630615 -53.654317,48.629389 -53.734931,48.503231 -53.736607,48.501308 -53.740548,48.498984 -53.742300,48.498411 -53.864054,48.465546 -53.968573,48.430772 -53.972728,48.429909 -53.977981,48.430105 -53.982721,48.431623 -53.986204,48.434206 -53.993816,48.442716 -53.996632,48.445860 -53.997110,48.445391 -53.995996,48.426855 -53.996168,48.425781 -53.996189,48.424944 -53.996277,48.424609 -53.996381,48.424450 -53.996411,48.424259 -53.996479,48.424165 -53.996500,48.423924 -53.998779,48.420769 -53.999657,48.420069 -53.999690,48.420045 -53.999884,48.419744 -54.001502,48.417882 -54.002721,48.416989 -54.003560,48.415885 -54.003881,48.415694 -54.004050,48.415476 -54.004902,48.414806 -54.008332,48.412880 -54.011687,48.411941 -54.011981,48.411888 -54.013068,48.411740 -54.014543,48.411395 -54.015111,48.410988 -54.015736,48.410122 -54.015942,48.410000 -54.015995,48.409927 -54.016235,48.409783 -54.016393,48.409585 -54.016652,48.409389 -54.019912,48.407592 -54.024873,48.406433 -54.026230,48.406402 -54.026343,48.406376 -54.029050,48.406303 -54.029185,48.406308 -54.031728,48.406574 -54.034216,48.407370 -54.035973,48.406959 -54.039444,48.406931 -54.039702,48.406951 -54.041480,48.407171 -54.042122,48.407376 -54.045401,48.407652 -54.045873,48.407803 -54.046562,48.407803 -54.046861,48.407831 -54.047167,48.407871 -54.047263,48.407849 -54.047359,48.407804 -54.047767,48.407708 -54.047804,48.407696 -54.047970,48.407660 -54.052319,48.406643 -54.053560,48.406601 -54.053762,48.406482 -54.054110,48.406313 -54.054435,48.405925 -54.056215,48.404632 -54.056593,48.404406 -54.058728,48.403363 -54.063688,48.402202 -54.063975,48.402212 -54.064105,48.402181 -54.064353,48.402190 -54.064619,48.402135 -54.065037,48.402115 -54.069355,48.402372 -54.074095,48.403886 -54.075454,48.404755 -54.076244,48.405007 -54.077282,48.405606 -54.077419,48.405659 -54.079055,48.406637 -54.081248,48.406123 -54.082054,48.406074 -54.082802,48.405901 -54.083162,48.405914 -54.083315,48.405879 -54.083529,48.405890 -54.083815,48.405831 -54.083964,48.405824 -54.085972,48.405351 -54.086482,48.405302 -54.086503,48.405302 -54.086523,48.405298 -54.091773,48.405487 -54.096514,48.407000 -54.099042,48.408647 -54.099298,48.408865 -54.099466,48.409028 -54.099633,48.409039 -54.101693,48.409278 -54.106435,48.410790 -54.109142,48.412592 -54.109299,48.412732 -54.110105,48.413535 -54.110265,48.413779 -54.110655,48.414132 -54.111107,48.414925 -54.113287,48.415688 -54.113346,48.415707 -54.113746,48.415906 -54.114356,48.416100 -54.114966,48.416438 -54.115433,48.416339 -54.115622,48.416283 -54.116609,48.415536 -54.117623,48.414878 -54.117684,48.414847 -54.118681,48.413460 -54.119699,48.412744 -54.119708,48.412732 -54.119889,48.412593 -54.120013,48.412523 -54.120810,48.411963 -54.121267,48.411707 -54.122410,48.411168 -54.122676,48.410961 -54.123947,48.410089 -54.124501,48.409799 -54.124606,48.409699 -54.124736,48.409619 -54.124818,48.409505 -54.126182,48.408469 -54.126974,48.407953 -54.127228,48.407823 -54.127566,48.407546 -54.127676,48.407394 -54.128808,48.406556 -54.128902,48.406461 -54.129947,48.405718 -54.131276,48.403967 -54.132015,48.403403 -54.132201,48.403186 -54.134011,48.401872 -54.134318,48.401689 -54.134350,48.401652 -54.135493,48.400762 -54.135960,48.400444 -54.136492,48.400165 -54.136933,48.399710 -54.137616,48.399198 -54.137636,48.399159 -54.138643,48.397876 -54.138910,48.397479 -54.139080,48.397312 -54.139450,48.396780 -54.140294,48.395993 -54.140407,48.395923 -54.140477,48.395825 -54.140899,48.395573 -54.141088,48.395359 -54.141911,48.394535 -54.143519,48.393343 -54.143974,48.393061 -54.144648,48.392724 -54.144748,48.392655 -54.145222,48.392396 -54.145258,48.392362 -54.145613,48.391856 -54.145684,48.391790 -54.145911,48.391474 -54.146758,48.390874 -54.146913,48.390657 -54.147255,48.390123 -54.147435,48.389930 -54.147574,48.389737 -54.147918,48.389456 -54.148125,48.389254 -54.148274,48.389165 -54.148281,48.389159 -54.148617,48.388907 -54.149477,48.388434 -54.149559,48.388362 -54.153374,48.386104 -54.154200,48.385808 -54.154926,48.385413 -54.155877,48.384797 -54.156468,48.384520 -54.156664,48.384468 -54.156755,48.384418 -54.157091,48.384339 -54.157206,48.384265 -54.157929,48.383930 -54.158093,48.383887 -54.158186,48.383835 -54.158861,48.383610 -54.159056,48.383569 -54.159141,48.383521 -54.159418,48.383355 -54.159453,48.383347 -54.159583,48.383275 -54.160258,48.383049 -54.161994,48.382686 -54.162566,48.382304 -54.162736,48.382218 -54.163974,48.381664 -54.168928,48.380498 -54.171587,48.380419 -54.172291,48.380445 -54.174879,48.380708 -54.175254,48.380789 -54.176084,48.380824 -54.177044,48.380924 -54.177085,48.380927 -54.177768,48.380956 -54.180079,48.380965 -54.180487,48.381008 -54.181482,48.381144 -54.182093,48.381166 -54.183057,48.381472 -54.183527,48.381576 -54.183706,48.381625 -54.184595,48.381961 -54.184884,48.382053 -54.185254,48.381538 -54.186861,48.380344 -54.186952,48.380288 -54.189250,48.379139 -54.194204,48.377972 -54.197149,48.377904 -54.197609,48.377928 -54.199911,48.378178 -54.204528,48.379623 -54.205071,48.379887 -54.205124,48.379926 -54.205197,48.379949 -54.205287,48.380011 -54.206043,48.380113 -54.210786,48.381619 -54.212616,48.382717 -54.212704,48.382780 -54.214285,48.382841 -54.215172,48.382854 -54.215249,48.382879 -54.215333,48.382882 -54.215770,48.382960 -54.220352,48.384438 -54.223870,48.387039 -54.225626,48.390338 -54.225625,48.390355 -54.225633,48.390371 -54.229849,48.410192 -54.229848,48.410203 -54.229970,48.411072 -54.230604,48.421060 -54.230203,48.423644 -54.227940,48.426804 -54.224032,48.429148 -54.220261,48.430166 -54.186996,48.435436 -54.167711,48.445240 -54.164248,48.487348 -54.163850,48.489072 -54.161579,48.492232 -54.159145,48.493895 -54.142572,48.502610 -54.141088,48.503288 -54.136119,48.504454 -54.134688,48.504539 -54.062776,48.506258 -54.066580,48.569550 -54.066167,48.572136 -54.063885,48.575295 -54.063841,48.575321 -54.063816,48.575355 -53.973967,48.653288 -53.970092,48.655563 -53.968781,48.656014 -53.939827,48.664666 -53.939197,48.664787 -53.938099,48.665437 -53.935324,48.666175 -53.935250,48.666216 -53.935077,48.666274 -53.934491,48.666396 -53.934322,48.666441 -53.934140,48.666470 -53.930815,48.667164 -53.925939,48.667030 -53.925322,48.666938 -53.925137,48.666881 -53.924917,48.666873 -53.921639,48.665996 -53.920987,48.665752 -53.919499,48.665106 -53.915977,48.662492 -53.915949,48.662437 -53.915905,48.662441 -53.913448,48.662339 -53.913091,48.662362 -53.911761,48.662293 -53.909924,48.662718 -53.907805,48.662804 -53.907561,48.662801 -53.904398,48.662515 -53.899635,48.660992 -53.897105,48.659342 -53.896848,48.659124 -53.896542,48.658825 -53.896244,48.658994 -53.893154,48.659877 -53.893100,48.659887 -53.892172,48.660019 -53.892035,48.660054 -53.891482,48.660131 -53.891392,48.660130 -53.891196,48.660158 -53.890820,48.660180 -53.890575,48.660236 -53.888208,48.660317 -53.887106,48.660291 -53.884193,48.660009 -53.882912,48.659743 -53.882718,48.659696 -53.881987,48.659668 -53.881452,48.659497 -53.880977,48.659467 -53.880124,48.659272 -53.878381,48.658658 -53.877198,48.658307 -53.876038,48.658242 -53.875885,48.658193 -53.875378,48.658209 -53.874752,48.658188 -53.873261,48.658037 -53.872789,48.658028 -53.871461,48.657855 -53.871445,48.657850 -53.870071,48.658167 -53.864790,48.657965 -53.860029,48.656440 -53.859976,48.656400 -53.859906,48.656378 -53.813900,48.632788 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-55.509722,47.767194 -54.345848,48.436646</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-54.393732,48.386552 -54.393728,48.386551 -54.388978,48.385054 -54.385450,48.382459 -54.385437,48.382435 -54.385412,48.382417 -54.378198,48.374289 -54.376469,48.371036 -54.376730,48.367540 -54.378510,48.364824 -54.476677,48.264235 -54.477362,48.263794 -54.477780,48.263255 -54.503190,48.243623 -54.502635,48.243293 -54.502557,48.243237 -54.500849,48.241727 -54.499232,48.238997 -54.499208,48.238925 -54.499208,48.238919 -54.498922,48.238811 -54.498217,48.238607 -54.498085,48.238550 -54.497915,48.238433 -54.497830,48.238401 -54.497736,48.238373 -54.497621,48.238322 -54.497514,48.238282 -54.497490,48.238265 -54.497393,48.238222 -54.497151,48.238053 -54.496866,48.237957 -54.496754,48.237896 -54.496618,48.237852 -54.496105,48.237589 -54.495988,48.237501 -54.494489,48.236610 -54.494432,48.236569 -54.494272,48.236559 -54.493503,48.236325 -54.492765,48.236265 -54.491351,48.235973 -54.491032,48.235894 -54.489197,48.235231 -54.488286,48.234964 -54.488115,48.234888 -54.488032,48.234831 -54.487896,48.234789 -54.487527,48.234619 -54.487380,48.234515 -54.487168,48.234448 -54.487143,48.234435 -54.486267,48.234159 -54.486221,48.234125 -54.486055,48.234073 -54.485783,48.233872 -54.485616,48.233816 -54.485432,48.233713 -54.483363,48.232093 -54.482535,48.231484 -54.481302,48.229190 -54.480040,48.228262 -54.478271,48.224969 -54.478522,48.221475 -54.478714,48.221202 -54.478726,48.221047 -54.478612,48.220808 -54.478594,48.220637 -54.478801,48.219030 -54.478015,48.217567 -54.477876,48.216544 -54.477869,48.216409 -54.478112,48.214875 -54.478114,48.214579 -54.478248,48.214013 -54.478260,48.213938 -54.478285,48.213892 -54.478483,48.213241 -54.478744,48.212770 -54.478767,48.212707 -54.478779,48.212690 -54.478780,48.212672 -54.478866,48.212550 -54.479449,48.211498 -54.479196,48.211418 -54.477384,48.210339 -54.477293,48.210274 -54.476657,48.209712 -54.476218,48.209426 -54.476154,48.209370 -54.475237,48.208477 -54.475052,48.208134 -54.474425,48.208229 -54.472951,48.208182 -54.469895,48.209890 -54.469874,48.209895 -54.469871,48.209900 -54.468505,48.210951 -54.468241,48.211125 -54.468146,48.211174 -54.468135,48.211328 -54.467810,48.211789 -54.467624,48.212675 -54.465391,48.215839 -54.461515,48.218190 -54.459650,48.218813 -54.459527,48.218846 -54.458744,48.218989 -54.456685,48.220027 -54.451757,48.221208 -54.446529,48.221038 -54.446508,48.221032 -54.446485,48.221031 -54.445939,48.220938 -54.444745,48.220900 -54.442463,48.220180 -54.442320,48.220151 -54.441505,48.219879 -54.439395,48.219306 -54.439051,48.219172 -54.437815,48.218628 -54.437616,48.218481 -54.436842,48.218456 -54.436767,48.218433 -54.436688,48.218430 -54.436394,48.218378 -54.436339,48.218360 -54.435018,48.218082 -54.434742,48.218148 -54.433753,48.218149 -54.433569,48.218408 -54.429692,48.220759 -54.424763,48.221938 -54.419535,48.221767 -54.414802,48.220272 -54.411287,48.217680 -54.410369,48.216453 -54.346689,48.111708 -54.345848,48.109642 -54.346110,48.106150 -54.347941,48.103378 -54.383652,48.067333 -54.383893,48.067179 -54.384058,48.066946 -54.387924,48.064599 -54.392835,48.063422 -54.395460,48.063337 -54.495578,48.066638 -54.493584,47.947230 -54.493979,47.944965 -54.496196,47.941804 -54.500044,47.939454 -54.504938,47.938272 -54.506403,47.938179 -54.709492,47.932730 -54.709538,47.932705 -54.710304,47.931729 -54.711440,47.930866 -54.711967,47.930022 -54.712037,47.929494 -54.712092,47.929414 -54.712097,47.929351 -54.712144,47.929284 -54.712152,47.929200 -54.712212,47.929057 -54.714297,47.926186 -54.714372,47.926139 -54.714414,47.926080 -54.714930,47.925622 -54.715067,47.925539 -54.716282,47.924637 -54.716759,47.924253 -54.716980,47.924095 -54.717164,47.923995 -54.717248,47.922741 -54.717900,47.921803 -54.718023,47.921254 -54.718222,47.920915 -54.718197,47.919785 -54.718268,47.919399 -54.718286,47.919333 -54.718273,47.919238 -54.718251,47.918823 -54.718461,47.917448 -54.718450,47.917424 -54.718454,47.917370 -54.718338,47.917174 -54.718233,47.916839 -54.718235,47.916744 -54.718202,47.916673 -54.718219,47.916420 -54.718096,47.916182 -54.718053,47.916103 -54.718053,47.916100 -54.718043,47.916080 -54.718000,47.915845 -54.718283,47.912612 -54.720482,47.909447 -54.724316,47.907088 -54.729199,47.905894 -54.731393,47.905791 -54.852819,47.906778 -54.853302,47.906818 -54.853762,47.906807 -55.019061,47.915798 -55.021117,47.916018 -55.025836,47.917481 -55.029364,47.920048 -55.031163,47.923326 -55.031091,47.924561 -55.031091,47.924564 -55.031285,47.924843 -55.032380,47.927243 -55.032390,47.927342 -55.033442,47.929258 -55.033601,47.930416 -55.033615,47.930758 -55.033454,47.931788 -55.033505,47.932083 -55.033621,47.932403 -55.035221,47.935317 -55.035216,47.936266 -55.036018,47.936996 -55.036806,47.937997 -55.037136,47.938488 -55.037858,47.940114 -55.038015,47.940374 -55.038688,47.942001 -55.040293,47.943068 -55.140181,47.949862 -55.141803,47.947488 -55.145616,47.945112 -55.150492,47.943896 -55.151619,47.943864 -55.151770,47.943838 -55.152897,47.943683 -55.156030,47.943762 -55.156245,47.943755 -55.156647,47.943770 -55.156748,47.943780 -55.158094,47.943814 -55.158731,47.943975 -55.158971,47.943999 -55.161517,47.944594 -55.161729,47.944661 -55.163023,47.945172 -55.166319,47.946143 -55.166356,47.946159 -55.167199,47.946357 -55.167498,47.946451 -55.167872,47.946446 -55.171237,47.946687 -55.171389,47.946734 -55.171546,47.946739 -55.172105,47.946838 -55.176524,47.948242 -55.180063,47.950803 -55.180087,47.950846 -55.211537,47.951256 -55.224092,47.951202 -55.224189,47.949405 -55.225784,47.947061 -55.225853,47.945795 -55.228016,47.942618 -55.228849,47.941919 -55.229000,47.941804 -55.229841,47.941329 -55.229865,47.941277 -55.229993,47.941054 -55.231620,47.939038 -55.235428,47.936658 -55.237395,47.936166 -55.237724,47.936054 -55.238196,47.935927 -55.238802,47.935814 -55.240300,47.935438 -55.240751,47.935449 -55.241038,47.935396 -55.243469,47.935283 -55.243791,47.935288 -55.246556,47.935526 -55.251285,47.936979 -55.253435,47.938281 -55.253618,47.938419 -55.254695,47.939389 -55.256059,47.940374 -55.256152,47.940542 -55.256224,47.940287 -55.256920,47.939265 -55.257159,47.938376 -55.257368,47.938059 -55.257389,47.937929 -55.257678,47.937503 -55.239753,47.906458 -55.239023,47.904648 -55.239026,47.904588 -55.239000,47.904540 -55.239001,47.904516 -55.238987,47.904489 -55.238963,47.904381 -55.239187,47.901049 -55.239767,47.899810 -55.239909,47.899569 -55.240603,47.898718 -55.240742,47.896232 -55.240886,47.896019 -55.240905,47.895814 -55.241326,47.894831 -55.242452,47.893275 -55.242640,47.892917 -55.242799,47.892694 -55.243001,47.892400 -55.244285,47.890925 -55.244678,47.890603 -55.244809,47.890437 -55.244889,47.890298 -55.244863,47.890251 -55.244964,47.888366 -55.244960,47.888325 -55.244985,47.887587 -55.245014,47.887435 -55.245050,47.886760 -55.245185,47.886539 -55.245339,47.885730 -55.246281,47.884043 -55.245760,47.883103 -55.245774,47.882851 -55.245719,47.882751 -55.245724,47.882650 -55.245688,47.882586 -55.245446,47.881978 -55.245345,47.881800 -55.245287,47.881579 -55.244994,47.880842 -55.245111,47.878653 -55.245110,47.878632 -55.245114,47.878606 -55.245126,47.878382 -55.244672,47.878054 -55.243120,47.875614 -55.243095,47.875550 -55.242834,47.874717 -55.243021,47.871226 -55.243333,47.870767 -55.242361,47.870064 -55.240705,47.867334 -55.240571,47.866936 -55.240572,47.866833 -55.240549,47.866791 -55.240556,47.866648 -55.240415,47.866393 -55.240417,47.866352 -55.239093,47.863961 -55.239095,47.863931 -55.238956,47.863680 -55.239143,47.860189 -55.239524,47.859309 -55.239667,47.859032 -55.241444,47.856735 -55.241583,47.856625 -55.241077,47.856260 -55.239265,47.852986 -55.239285,47.850049 -55.239424,47.849502 -55.239574,47.849260 -55.239591,47.848949 -55.240491,47.847623 -55.240781,47.844999 -55.241621,47.843347 -55.241748,47.843160 -55.243064,47.841635 -55.243285,47.841497 -55.244225,47.840123 -55.244373,47.840030 -55.244453,47.839916 -55.244715,47.839686 -55.248285,47.837514 -55.248460,47.837470 -55.248542,47.837419 -55.248711,47.837379 -55.248871,47.837284 -55.249128,47.837189 -55.253403,47.836199 -55.253693,47.836206 -55.253872,47.836161 -55.253887,47.836161 -55.253946,47.836147 -55.254415,47.836109 -55.257552,47.836229 -55.258838,47.836252 -55.259928,47.836413 -55.259948,47.836419 -55.260039,47.834712 -55.261132,47.832706 -55.261313,47.832466 -55.262376,47.831294 -55.262677,47.831073 -55.262738,47.831006 -55.262873,47.830807 -55.263208,47.830520 -55.263397,47.830329 -55.263530,47.830245 -55.263576,47.830206 -55.263722,47.830091 -55.263790,47.829992 -55.263253,47.829604 -55.262083,47.827984 -55.261945,47.827730 -55.261302,47.826077 -55.261487,47.822586 -55.261742,47.822211 -55.261743,47.822205 -55.261783,47.821914 -55.261781,47.821840 -55.261786,47.821806 -55.261779,47.821746 -55.261775,47.821467 -55.261858,47.820965 -55.261837,47.820513 -55.261924,47.819911 -55.262195,47.818809 -55.262142,47.818286 -55.262152,47.817980 -55.262382,47.816770 -55.262388,47.816490 -55.262554,47.815908 -55.262660,47.815742 -55.262671,47.815541 -55.264478,47.812905 -55.264825,47.812364 -55.264867,47.812337 -55.264891,47.812303 -55.265277,47.811949 -55.269005,47.809630 -55.271643,47.808786 -55.271899,47.808726 -55.271948,47.808703 -55.272882,47.808461 -55.273162,47.808263 -55.273407,47.808132 -55.274698,47.807520 -55.275096,47.807388 -55.276076,47.806708 -55.276320,47.806515 -55.277372,47.805811 -55.279752,47.804546 -55.280287,47.804411 -55.280636,47.804208 -55.281974,47.803743 -55.282499,47.803626 -55.282637,47.803331 -55.282677,47.803138 -55.282905,47.802313 -55.284088,47.800189 -55.284436,47.799744 -55.285406,47.798691 -55.286508,47.797999 -55.287489,47.796671 -55.287839,47.796387 -55.289249,47.794304 -55.290844,47.793068 -55.291090,47.792910 -55.293286,47.791765 -55.293313,47.791755 -55.293487,47.791628 -55.294062,47.791304 -55.294362,47.791115 -55.294475,47.791087 -55.295242,47.790713 -55.295686,47.790341 -55.295798,47.790274 -55.295846,47.790210 -55.295901,47.790165 -55.297515,47.789223 -55.297604,47.789102 -55.298026,47.788766 -55.298335,47.788411 -55.299930,47.787175 -55.300748,47.786647 -55.302943,47.785502 -55.303130,47.785441 -55.303228,47.785386 -55.304733,47.784656 -55.306190,47.784289 -55.307538,47.783837 -55.308911,47.783479 -55.310411,47.783205 -55.310842,47.783087 -55.311338,47.783014 -55.311454,47.783014 -55.311563,47.782994 -55.311750,47.782999 -55.312060,47.782920 -55.316170,47.782904 -55.316325,47.782919 -55.316745,47.782802 -55.333772,47.780090 -55.334201,47.780090 -55.334689,47.779967 -55.336601,47.779977 -55.337334,47.779934 -55.338844,47.779199 -55.341042,47.778558 -55.342397,47.777864 -55.344778,47.777231 -55.344984,47.777101 -55.347221,47.776353 -55.348176,47.776106 -55.350753,47.775636 -55.352241,47.775231 -55.352387,47.775210 -55.352415,47.775199 -55.353266,47.775002 -55.353301,47.774980 -55.353470,47.774937 -55.353694,47.774797 -55.357467,47.773722 -55.358205,47.773597 -55.359283,47.773447 -55.359457,47.773438 -55.360704,47.773209 -55.361423,47.772843 -55.362998,47.771778 -55.363554,47.771507 -55.363731,47.771458 -55.363784,47.771423 -55.363993,47.771370 -55.364339,47.771152 -55.366832,47.770340 -55.367182,47.770255 -55.368802,47.769971 -55.369381,47.769756 -55.369934,47.769575 -55.373589,47.768792 -55.373899,47.768786 -55.374365,47.768515 -55.376447,47.767807 -55.376797,47.767713 -55.379565,47.767194 -55.383918,47.767201 -55.384370,47.767252 -55.384571,47.767309 -55.384741,47.767313 -55.384886,47.767357 -55.385193,47.767364 -55.386727,47.767858 -55.387485,47.767909 -55.390545,47.768846 -55.447768,47.772209 -55.449637,47.772409 -55.454355,47.773850 -55.456752,47.775340 -55.506568,47.814921 -55.507715,47.815980 -55.509546,47.819248 -55.509722,47.820933 -55.507392,47.885038 -55.507051,47.886845 -55.506891,47.887083 -55.506871,47.887309 -55.497247,47.909659 -55.497315,47.909838 -55.497378,47.909946 -55.497438,47.910163 -55.497435,47.910259 -55.497488,47.910354 -55.497322,47.913846 -55.496860,47.914890 -55.496535,47.915489 -55.496040,47.916119 -55.495413,47.917291 -55.495288,47.917460 -55.494266,47.918603 -55.494190,47.918925 -55.492048,47.922108 -55.492045,47.922110 -55.492043,47.922113 -55.491892,47.922255 -55.488105,47.924640 -55.487966,47.924680 -55.487822,47.924788 -55.487481,47.925099 -55.487448,47.925120 -55.486836,47.925642 -55.486418,47.925968 -55.486007,47.926393 -55.485663,47.926610 -55.485499,47.926818 -55.482457,47.928735 -55.481982,47.929065 -55.481846,47.929135 -55.481752,47.929179 -55.481706,47.929208 -55.481662,47.929221 -55.480770,47.929636 -55.480160,47.929810 -55.477586,47.931376 -55.477075,47.931561 -55.476007,47.932277 -55.475532,47.932505 -55.475388,47.932545 -55.475315,47.932588 -55.475124,47.932636 -55.474839,47.932815 -55.469974,47.934047 -55.466950,47.934149 -55.466170,47.934115 -55.465796,47.934350 -55.460930,47.935582 -55.460926,47.935582 -55.460922,47.935583 -55.460560,47.935623 -55.457948,47.935565 -55.457818,47.935607 -55.457792,47.935622 -55.457537,47.935712 -55.452346,47.944785 -55.452893,47.951824 -55.454390,47.952279 -55.457946,47.954829 -55.459779,47.958100 -55.459931,47.958994 -55.459962,47.959319 -55.459899,47.959824 -55.459990,47.960010 -55.460166,47.961649 -55.460160,47.961865 -55.459815,47.963719 -55.457668,47.966902 -55.456877,47.967399 -55.454925,47.968838 -55.454502,47.969085 -55.453242,47.969709 -55.452921,47.970186 -55.452271,47.970746 -55.451626,47.971259 -55.449028,47.972768 -55.448912,47.972939 -55.448000,47.973603 -55.447848,47.973736 -55.447708,47.973822 -55.447642,47.973913 -55.447133,47.974335 -55.446825,47.974626 -55.446816,47.974631 -55.446811,47.974638 -55.443012,47.977027 -55.439219,47.978107 -55.438923,47.978157 -55.437844,47.978307 -55.437768,47.978306 -55.437624,47.978416 -55.435602,47.979567 -55.434990,47.979964 -55.434678,47.980104 -55.434646,47.980112 -55.434132,47.980424 -55.432813,47.980908 -55.432651,47.980960 -55.432449,47.981002 -55.432180,47.981163 -55.431913,47.981230 -55.431723,47.981345 -55.431397,47.981469 -55.430601,47.981960 -55.429135,47.982489 -55.428689,47.982627 -55.427034,47.982967 -55.426330,47.983410 -55.426946,47.993444 -55.426607,47.995850 -55.424456,47.999033 -55.420654,48.001421 -55.415779,48.002650 -55.413107,48.002763 -55.412228,48.002740 -55.408527,48.005425 -55.407728,48.012544 -55.407741,48.012556 -55.407824,48.012705 -55.407895,48.012756 -55.408120,48.013056 -55.408248,48.013155 -55.408403,48.013355 -55.408515,48.013582 -55.408962,48.014176 -55.409064,48.014349 -55.409639,48.015739 -55.410178,48.016653 -55.410202,48.016734 -55.410199,48.016845 -55.410262,48.016962 -55.410260,48.016997 -55.410286,48.017044 -55.410213,48.017995 -55.410135,48.019565 -55.410126,48.019954 -55.410204,48.020165 -55.410202,48.020191 -55.410228,48.020237 -55.410372,48.021063 -55.410393,48.021262 -55.410339,48.021713 -55.410349,48.021847 -55.410521,48.022161 -55.410530,48.022168 -55.410534,48.022175 -55.410673,48.022296 -55.410827,48.022570 -55.410926,48.022646 -55.410996,48.022696 -55.411001,48.022703 -55.411073,48.022757 -55.411396,48.023158 -55.411577,48.023513 -55.412267,48.024484 -55.412394,48.024729 -55.412736,48.025633 -55.412843,48.025811 -55.412928,48.026082 -55.412927,48.026139 -55.412955,48.026213 -55.412948,48.026354 -55.413056,48.026549 -55.413211,48.027208 -55.413208,48.027253 -55.413269,48.027462 -55.413268,48.027483 -55.413301,48.027654 -55.413338,48.027721 -55.413393,48.028018 -55.413605,48.028642 -55.413457,48.031620 -55.414141,48.032162 -55.414550,48.032306 -55.415500,48.032572 -55.415765,48.032683 -55.415917,48.032786 -55.416180,48.032878 -55.416255,48.032932 -55.416445,48.032990 -55.417527,48.033570 -55.417883,48.033782 -55.420362,48.035754 -55.420402,48.035808 -55.420453,48.035845 -55.420457,48.035854 -55.420467,48.035861 -55.420610,48.036016 -55.420612,48.036021 -55.420773,48.036213 -55.420816,48.036255 -55.421124,48.036634 -55.421184,48.036706 -55.421575,48.036809 -55.421721,48.036865 -55.422672,48.037275 -55.422721,48.037290 -55.422880,48.037364 -55.422943,48.037409 -55.423030,48.037435 -55.423238,48.037556 -55.424267,48.037199 -55.424546,48.037121 -55.424814,48.037038 -55.426854,48.036618 -55.427610,48.036414 -55.427839,48.036381 -55.428003,48.036382 -55.428233,48.036335 -55.428323,48.036337 -55.428462,48.036302 -55.430636,48.036329 -55.431807,48.036150 -55.431949,48.036153 -55.432022,48.036135 -55.432187,48.036130 -55.434292,48.035590 -55.434422,48.035593 -55.434494,48.035575 -55.434789,48.035569 -55.434968,48.035527 -55.435170,48.035512 -55.435449,48.035523 -55.435556,48.035499 -55.435582,48.035500 -55.435606,48.035494 -55.435754,48.035478 -55.435808,48.035479 -55.436482,48.035099 -55.436591,48.035072 -55.436658,48.035030 -55.436735,48.035003 -55.436765,48.034985 -55.436941,48.034915 -55.437087,48.034880 -55.438430,48.034409 -55.438579,48.034366 -55.438835,48.034316 -55.439150,48.034212 -55.439353,48.034161 -55.441888,48.033705 -55.442269,48.033713 -55.442581,48.033641 -55.443294,48.033587 -55.443928,48.033612 -55.445785,48.033558 -55.446267,48.033582 -55.447574,48.033717 -55.448868,48.033826 -55.449791,48.034106 -55.450199,48.034192 -55.450305,48.034221 -55.450975,48.034466 -55.453615,48.035268 -55.455618,48.036702 -55.455846,48.036803 -55.458163,48.037507 -55.459216,48.038118 -55.462395,48.039084 -55.465960,48.041635 -55.467797,48.044906 -55.467858,48.047558 -55.459659,48.088549 -55.459429,48.089391 -55.459323,48.089549 -55.459311,48.089705 -55.374286,48.298525 -55.372235,48.301396 -55.368402,48.303784 -55.367850,48.303923 -55.367118,48.304297 -55.364828,48.304908 -55.364174,48.305119 -55.363358,48.305314 -55.363207,48.305340 -55.362778,48.305454 -55.362602,48.305479 -55.362600,48.305479 -55.362151,48.305568 -55.361966,48.305839 -55.360975,48.306653 -55.360879,48.306723 -55.358702,48.307928 -55.358028,48.308873 -55.357788,48.309241 -55.357705,48.309324 -55.356923,48.310418 -55.356819,48.310484 -55.356785,48.310533 -55.356698,48.310586 -55.356631,48.312869 -55.356540,48.313165 -55.356463,48.313283 -55.356456,48.313421 -55.356205,48.313868 -55.356198,48.314034 -55.356168,48.314124 -55.356163,48.314131 -55.356163,48.314137 -55.356136,48.314177 -55.356133,48.314227 -55.355940,48.314571 -55.355909,48.315330 -55.355882,48.315370 -55.355880,48.315402 -55.355879,48.315411 -55.355879,48.315411 -55.355879,48.315413 -55.355850,48.315493 -55.355608,48.315843 -55.354857,48.317041 -55.354856,48.317256 -55.354548,48.319015 -55.354586,48.320683 -55.354570,48.320764 -55.354331,48.321633 -55.354165,48.321957 -55.354218,48.323031 -55.354184,48.323273 -55.353889,48.324469 -55.351716,48.327655 -55.351638,48.327703 -55.351604,48.327752 -55.351540,48.327792 -55.351500,48.327849 -55.351389,48.327946 -55.350412,48.328538 -55.350319,48.328917 -55.349975,48.329617 -55.349995,48.329868 -55.350025,48.329928 -55.350047,48.330090 -55.350028,48.330268 -55.350082,48.330929 -55.350059,48.331208 -55.349833,48.332260 -55.351288,48.334849 -55.351900,48.335414 -55.351942,48.335488 -55.351978,48.335514 -55.352112,48.335783 -55.352411,48.336013 -55.352489,48.336114 -55.352580,48.336297 -55.352598,48.336308 -55.355061,48.338266 -55.356903,48.341543 -55.356899,48.341613 -55.356926,48.341661 -55.356931,48.341757 -55.356963,48.341817 -55.356986,48.341935 -55.356959,48.342302 -55.356973,48.342562 -55.357749,48.343675 -55.357837,48.343856 -55.358324,48.345190 -55.358180,48.348584 -55.358150,48.348674 -55.358145,48.348682 -55.358145,48.348687 -55.358117,48.348727 -55.358115,48.348777 -55.356499,48.351145 -55.356476,48.352378 -55.356446,48.352486 -55.356363,48.352614 -55.356353,48.352764 -55.356327,48.352804 -55.356323,48.352872 -55.355013,48.354792 -55.355007,48.354802 -55.354909,48.354944 -55.354149,48.356058 -55.353675,48.356353 -55.353624,48.356410 -55.353406,48.356546 -55.353151,48.356762 -55.353027,48.356859 -55.351491,48.357738 -55.349786,48.358799 -55.344867,48.360026 -55.340145,48.359981 -55.245888,48.347800 -55.202580,48.405400 -55.201456,48.406633 -55.199694,48.407959 -55.156847,48.434372 -55.154756,48.435428 -55.149823,48.436646 -55.144565,48.436515 -55.144163,48.436392 -55.143787,48.436375 -55.095876,48.426720 -55.041981,48.418691 -55.041890,48.418663 -55.041785,48.418661 -55.038044,48.417507 -55.037009,48.417195 -55.036990,48.417181 -55.036965,48.417173 -54.993733,48.396066 -54.993391,48.395818 -54.993024,48.395695 -54.903504,48.345383 -54.900699,48.343202 -54.898893,48.339916 -54.899110,48.336419 -54.901318,48.333244 -54.902772,48.332247 -54.903160,48.331766 -54.903457,48.331583 -54.903551,48.331449 -54.903587,48.331423 -54.903638,48.331355 -54.904029,48.331038 -54.904478,48.330778 -54.905622,48.329950 -54.906258,48.329583 -54.908047,48.328713 -54.909678,48.328147 -54.910115,48.328020 -54.913411,48.327381 -54.914880,48.327318 -54.916192,48.326512 -54.917569,48.326060 -54.918335,48.325258 -54.919021,48.324685 -54.919055,48.324519 -54.921260,48.321343 -54.921439,48.321233 -54.921497,48.321150 -54.921623,48.321073 -54.921711,48.320954 -54.921949,48.320760 -54.925356,48.318779 -54.928057,48.317937 -54.928316,48.317879 -54.930134,48.317581 -54.930693,48.317238 -54.932739,48.316577 -54.934900,48.315110 -54.935244,48.314936 -54.936351,48.314433 -54.940573,48.313313 -54.940913,48.313265 -54.941111,48.313267 -54.941275,48.313227 -54.941405,48.313231 -54.941614,48.313179 -54.941809,48.313178 -54.943191,48.312388 -54.944997,48.311945 -54.945514,48.311638 -54.946003,48.311518 -54.947251,48.309719 -54.948023,48.309076 -54.948510,48.308707 -54.949341,48.308241 -54.949905,48.307427 -54.951298,48.306344 -54.951589,48.306152 -54.954053,48.304862 -54.954437,48.304768 -54.955564,48.304178 -54.960487,48.302971 -54.960977,48.302972 -54.962821,48.302460 -54.963120,48.302411 -54.964223,48.302264 -54.965728,48.302265 -54.967531,48.301770 -54.967992,48.301697 -54.968294,48.301698 -54.968536,48.301638 -54.968685,48.301642 -54.968998,48.301565 -54.969688,48.301529 -54.971416,48.300609 -54.972205,48.300367 -54.972581,48.300112 -54.972674,48.298567 -54.973035,48.297743 -54.973123,48.297574 -54.974962,48.295221 -54.978816,48.292849 -54.978948,48.292816 -54.979021,48.292771 -54.979127,48.292745 -54.979219,48.292690 -54.979425,48.292613 -54.979708,48.292547 -54.981024,48.291898 -54.981758,48.291709 -54.982020,48.291591 -54.982628,48.291442 -54.982623,48.291434 -54.982501,48.291090 -54.982502,48.290955 -54.982429,48.290776 -54.982430,48.290768 -54.982384,48.290630 -54.982387,48.290370 -54.982228,48.290080 -54.982229,48.289830 -54.982186,48.289741 -54.982166,48.289569 -54.982235,48.288983 -54.982247,48.287208 -54.982360,48.286760 -54.982437,48.286636 -54.982438,48.286584 -54.982531,48.286449 -54.982550,48.286136 -54.983252,48.284842 -54.980739,48.283943 -54.979182,48.283290 -54.978939,48.283114 -54.978657,48.283022 -54.977997,48.282667 -54.977812,48.282820 -54.977576,48.282996 -54.976577,48.283551 -54.975685,48.284158 -54.975410,48.284297 -54.974305,48.284799 -54.973363,48.285031 -54.972416,48.285751 -54.972333,48.285803 -54.970095,48.286948 -54.968047,48.287450 -54.967369,48.287978 -54.967078,48.288170 -54.964616,48.289460 -54.961863,48.290315 -54.961564,48.290381 -54.961252,48.290432 -54.959975,48.290711 -54.956584,48.291584 -54.956162,48.291573 -54.955976,48.291618 -54.955837,48.291615 -54.955626,48.291661 -54.955018,48.291695 -54.952256,48.291554 -54.952166,48.291617 -54.951335,48.292302 -54.951098,48.292478 -54.948198,48.294089 -54.947478,48.294840 -54.946643,48.295354 -54.946506,48.295552 -54.946493,48.295560 -54.946486,48.295570 -54.946360,48.295685 -54.945237,48.296374 -54.944465,48.296960 -54.944285,48.297074 -54.943337,48.297558 -54.942941,48.297890 -54.942496,48.298233 -54.942390,48.298293 -54.942110,48.298518 -54.941874,48.298685 -54.941275,48.299008 -54.940678,48.299433 -54.940568,48.299494 -54.938997,48.300242 -54.938503,48.300363 -54.938174,48.300551 -54.937135,48.300911 -54.935384,48.301294 -54.935242,48.301381 -54.934880,48.301513 -54.934403,48.301806 -54.933083,48.302279 -54.932728,48.302389 -54.930682,48.302806 -54.929787,48.303042 -54.929272,48.303114 -54.929173,48.303113 -54.929124,48.303123 -54.928810,48.303114 -54.928563,48.303177 -54.928305,48.303208 -54.928139,48.303205 -54.927973,48.303246 -54.927756,48.303240 -54.927599,48.303274 -54.927220,48.303294 -54.925631,48.303211 -54.925177,48.303322 -54.923863,48.304129 -54.923354,48.304863 -54.922906,48.305138 -54.921573,48.306149 -54.921476,48.306210 -54.920573,48.306671 -54.920194,48.306925 -54.920071,48.306986 -54.919349,48.307309 -54.919312,48.307332 -54.918640,48.307616 -54.918542,48.307641 -54.917984,48.307926 -54.917829,48.307964 -54.917751,48.308012 -54.917606,48.308047 -54.917481,48.308121 -54.917248,48.308207 -54.917095,48.308242 -54.916638,48.308522 -54.916528,48.308549 -54.916474,48.308582 -54.916260,48.308635 -54.916092,48.308733 -54.915927,48.308793 -54.911549,48.309787 -54.910690,48.309764 -54.909324,48.310098 -54.905359,48.310006 -54.904756,48.310179 -54.903818,48.310351 -54.902896,48.310483 -54.901605,48.310836 -54.901347,48.310876 -54.900981,48.310875 -54.900616,48.310965 -54.900532,48.310962 -54.900358,48.311005 -54.899673,48.310971 -54.899304,48.311040 -54.898101,48.311007 -54.897155,48.311036 -54.896778,48.311020 -54.896101,48.310951 -54.894063,48.310895 -54.893950,48.310860 -54.893524,48.310862 -54.893175,48.310828 -54.892220,48.310706 -54.891133,48.310971 -54.889554,48.310927 -54.886852,48.312586 -54.886508,48.312696 -54.886486,48.312708 -54.886107,48.312962 -54.885983,48.313022 -54.885022,48.313452 -54.884274,48.313635 -54.884187,48.313672 -54.884166,48.313677 -54.884163,48.313679 -54.884056,48.313705 -54.884032,48.313711 -54.883902,48.313791 -54.878975,48.314995 -54.877812,48.314962 -54.876195,48.315357 -54.876075,48.315354 -54.875967,48.315379 -54.875561,48.315417 -54.874297,48.315374 -54.873596,48.315404 -54.873179,48.315427 -54.873051,48.315427 -54.873012,48.315429 -54.872947,48.315428 -54.872788,48.315428 -54.872725,48.315424 -54.872715,48.315423 -54.872665,48.315419 -54.869525,48.315175 -54.869449,48.315152 -54.868725,48.315273 -54.863483,48.315126 -54.862019,48.314764 -54.567042,48.313721 -54.447524,48.383678 -54.445577,48.384624 -54.440630,48.385805 -54.440437,48.385799 -54.439498,48.386023 -54.439052,48.386008 -54.438862,48.386053 -54.438715,48.386050 -54.438493,48.386097 -54.437856,48.386127 -54.435898,48.386015 -54.435043,48.386468 -54.434124,48.386724 -54.432520,48.387340 -54.431500,48.387577 -54.428461,48.388362 -54.427658,48.388470 -54.427362,48.388466 -54.427251,48.388483 -54.426970,48.388550 -54.426722,48.388568 -54.425078,48.388832 -54.423743,48.388906 -54.423703,48.388916 -54.422738,48.389029 -54.422559,48.389025 -54.422377,48.389068 -54.420438,48.389166 -54.419330,48.389168 -54.416020,48.388899 -54.412158,48.387683 -54.411018,48.387836 -54.410688,48.387831 -54.410331,48.387916 -54.407141,48.387776 -54.405234,48.387746 -54.405200,48.387747 -54.405119,48.387745 -54.405082,48.387744 -54.405080,48.387743 -54.404486,48.387722 -54.401922,48.387466 -54.401484,48.387328 -54.401081,48.387306 -54.400974,48.387283 -54.399334,48.387143 -54.398689,48.387134 -54.396619,48.386870 -54.396383,48.386859 -54.394117,48.386615 -54.394111,48.386615 -54.393735,48.386553 -54.393732,48.386552 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-52.986337,48.113244 -52.835250,48.208375</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-52.986337,48.154197 -52.982636,48.159809 -52.984159,48.162658 -52.981516,48.171519 -52.977877,48.177943 -52.975761,48.183879 -52.971589,48.187469 -52.966026,48.192254 -52.958539,48.195400 -52.954232,48.198280 -52.948136,48.200229 -52.938061,48.203949 -52.929378,48.206473 -52.919501,48.208375 -52.904853,48.207792 -52.894317,48.206147 -52.883913,48.205210 -52.873247,48.202853 -52.863380,48.198990 -52.855375,48.193533 -52.848634,48.186172 -52.841824,48.181336 -52.837933,48.174819 -52.836294,48.168837 -52.835250,48.163166 -52.836138,48.153377 -52.838679,48.143813 -52.841945,48.135269 -52.853547,48.125316 -52.861101,48.119655 -52.867156,48.117238 -52.873350,48.113244 -52.884457,48.115202 -52.888883,48.118792 -52.895812,48.130090 -52.901431,48.134301 -52.898170,48.148606 -52.920338,48.155039 -52.931256,48.164565 -52.939203,48.161023 -52.952113,48.163904 -52.950788,48.168333 -52.955159,48.168688 -52.965950,48.160226 -52.973430,48.157080 -52.976407,48.152871 -52.986337,48.154197 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-52.851887,47.766851 -52.716232,47.855611</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-52.767033,47.766851 -52.767265,47.774016 -52.769136,47.781406 -52.775670,47.788053 -52.785155,47.796253 -52.791051,47.799360 -52.799253,47.800479 -52.802609,47.798406 -52.807292,47.791911 -52.809818,47.782361 -52.810169,47.775506 -52.811570,47.768565 -52.817078,47.769546 -52.824281,47.773979 -52.832665,47.779032 -52.839540,47.784569 -52.846474,47.793335 -52.851641,47.801170 -52.851887,47.808336 -52.850491,47.815279 -52.848505,47.821913 -52.847439,47.827751 -52.841707,47.834336 -52.836636,47.838709 -52.831564,47.843082 -52.825180,47.846127 -52.814846,47.850934 -52.806227,47.853443 -52.796888,47.854932 -52.791037,47.855055 -52.779925,47.855611 -52.769147,47.855059 -52.753519,47.851311 -52.740795,47.845886 -52.733923,47.840340 -52.728232,47.835416 -52.723387,47.832219 -52.720725,47.826329 -52.718574,47.823271 -52.716837,47.816587 -52.716662,47.812650 -52.716232,47.807296 -52.718493,47.802082 -52.719830,47.797662 -52.722218,47.793156 -52.726913,47.786666 -52.732450,47.781902 -52.739037,47.777052 -52.746800,47.772823 -52.756789,47.769130 -52.767033,47.766851 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-52.713282,47.568672 -52.666977,47.593417</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-52.704018,47.587904 -52.701984,47.588914 -52.700042,47.589482 -52.699454,47.589776 -52.698084,47.590376 -52.695934,47.591032 -52.694499,47.591370 -52.691747,47.591800 -52.691539,47.591789 -52.688600,47.592592 -52.686268,47.593002 -52.685942,47.593044 -52.685822,47.593075 -52.684556,47.593267 -52.683258,47.593417 -52.679419,47.593351 -52.678091,47.593195 -52.676786,47.592996 -52.672185,47.591418 -52.668907,47.588864 -52.668660,47.588576 -52.668635,47.588525 -52.668581,47.588482 -52.666977,47.585165 -52.667371,47.581686 -52.669702,47.578574 -52.670416,47.578009 -52.671164,47.577464 -52.672044,47.576995 -52.672551,47.576319 -52.672551,47.576319 -52.672832,47.576076 -52.672832,47.576076 -52.672832,47.576076 -52.676746,47.573804 -52.677199,47.573704 -52.679154,47.572728 -52.680213,47.572366 -52.682185,47.571765 -52.683866,47.571448 -52.684941,47.571119 -52.687498,47.570515 -52.688826,47.570306 -52.689196,47.570214 -52.690221,47.569865 -52.691824,47.569382 -52.695612,47.568674 -52.698757,47.568672 -52.701197,47.568868 -52.703192,47.569135 -52.707792,47.570711 -52.711151,47.573358 -52.711314,47.573694 -52.711582,47.573921 -52.712106,47.574670 -52.713282,47.577422 -52.713005,47.580608 -52.712745,47.581333 -52.712649,47.581466 -52.712631,47.581627 -52.710303,47.584740 -52.709965,47.585032 -52.706052,47.587305 -52.704018,47.587904 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-53.316595,46.581435 -53.071108,46.674942</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-53.100179,46.646103 -53.099259,46.644963 -53.071108,46.602453 -53.090558,46.597970 -53.091883,46.597479 -53.114344,46.592514 -53.115724,46.592580 -53.116912,46.592324 -53.119085,46.592193 -53.128848,46.586961 -53.152741,46.581435 -53.177880,46.582628 -53.186482,46.585332 -53.186582,46.585342 -53.188743,46.585926 -53.206724,46.586614 -53.209065,46.587007 -53.209797,46.587249 -53.210662,46.587290 -53.214803,46.588706 -53.215819,46.588754 -53.218215,46.589573 -53.221231,46.589715 -53.223467,46.590479 -53.226107,46.590603 -53.229619,46.591804 -53.233517,46.591986 -53.256103,46.599701 -53.257893,46.600826 -53.259935,46.601523 -53.263037,46.603169 -53.279633,46.616251 -53.284661,46.626503 -53.285897,46.627918 -53.288488,46.630640 -53.289098,46.631774 -53.290451,46.632839 -53.294043,46.637844 -53.298528,46.641375 -53.300183,46.644053 -53.308894,46.650907 -53.316595,46.666574 -53.252154,46.674231 -53.250289,46.674554 -53.250289,46.674554 -53.250289,46.674554 -53.248435,46.674942 -53.243188,46.674842 -53.240978,46.673334 -53.240487,46.670726 -53.241943,46.669476 -53.241943,46.669476 -53.241897,46.666432 -53.241897,46.666432 -53.241129,46.665365 -53.239530,46.664182 -53.238321,46.663309 -53.238321,46.663309 -53.234706,46.661391 -53.232960,46.660464 -53.232903,46.658304 -53.231710,46.656607 -53.228788,46.653139 -53.227406,46.650575 -53.226989,46.650148 -53.224168,46.648375 -53.224419,46.648477 -53.224419,46.648477 -53.224168,46.648375 -53.221017,46.647096 -53.219764,46.646005 -53.219739,46.645672 -53.218086,46.643744 -53.219194,46.642320 -53.219464,46.642021 -53.219464,46.642021 -53.219464,46.642021 -53.219414,46.641346 -53.221103,46.640113 -53.162581,46.632439 -53.153405,46.640344 -53.153244,46.640353 -53.152181,46.641253 -53.146092,46.641033 -53.145997,46.640763 -53.145803,46.640774 -53.144934,46.639532 -53.143642,46.639871 -53.143642,46.639871 -53.141100,46.640828 -53.140069,46.640809 -53.137908,46.641376 -53.135917,46.640731 -53.135917,46.640731 -53.135917,46.640731 -53.135917,46.640731 -53.134279,46.640701 -53.133371,46.641510 -53.133371,46.641510 -53.133436,46.641864 -53.133090,46.641759 -53.123410,46.638835 -53.122340,46.638512 -53.120066,46.639936 -53.119212,46.640471 -53.116277,46.642532 -53.112629,46.643574 -53.110213,46.644188 -53.107818,46.645159 -53.104004,46.647494 -53.104004,46.647494 -53.104004,46.647494 -53.104004,46.647494 -53.102873,46.648398 -53.100267,46.646583 -53.100179,46.646103 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-53.679919,49.009872 -53.374074,49.318440</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-53.514700,49.282470 -53.512386,49.290400 -53.509940,49.290463 -53.515178,49.296338 -53.515911,49.307608 -53.509877,49.312774 -53.505183,49.316791 -53.498306,49.316646 -53.498895,49.317771 -53.472446,49.318440 -53.460230,49.317550 -53.448700,49.314243 -53.427187,49.305292 -53.424252,49.303950 -53.415617,49.298076 -53.394294,49.278287 -53.392298,49.276245 -53.390556,49.274045 -53.380636,49.259967 -53.377200,49.252190 -53.377239,49.251807 -53.377070,49.251466 -53.374074,49.232672 -53.375256,49.222884 -53.376617,49.220148 -53.390673,49.196278 -53.390755,49.196183 -53.390889,49.195920 -53.416888,49.153509 -53.417624,49.152662 -53.418424,49.151295 -53.442581,49.120237 -53.459737,49.092921 -53.462750,49.089481 -53.463792,49.087988 -53.486733,49.065904 -53.487498,49.065436 -53.488031,49.064723 -53.491563,49.062066 -53.521199,49.042501 -53.551473,49.022354 -53.560047,49.017986 -53.560088,49.017976 -53.560121,49.017957 -53.572462,49.013260 -53.587523,49.009872 -53.600656,49.010101 -53.607884,49.011001 -53.609101,49.011358 -53.610721,49.011423 -53.621730,49.014523 -53.631122,49.018317 -53.634494,49.019836 -53.645098,49.027721 -53.650311,49.037674 -53.650218,49.038668 -53.650589,49.039461 -53.651390,49.047112 -53.650482,49.053425 -53.652854,49.054185 -53.645215,49.061814 -53.625236,49.077500 -53.631881,49.076908 -53.626104,49.083087 -53.622530,49.088555 -53.609338,49.089215 -53.608593,49.097004 -53.625209,49.105309 -53.619883,49.109903 -53.619388,49.115097 -53.635668,49.114161 -53.637702,49.108829 -53.632035,49.104185 -53.642607,49.102212 -53.646735,49.106993 -53.655311,49.106741 -53.667422,49.104627 -53.679919,49.108142 -53.662521,49.111246 -53.628137,49.119467 -53.639020,49.130341 -53.652014,49.128666 -53.664307,49.131172 -53.650328,49.143238 -53.641152,49.136846 -53.631485,49.135649 -53.607688,49.119227 -53.598194,49.122646 -53.582575,49.123002 -53.584283,49.127485 -53.583324,49.134264 -53.592614,49.129836 -53.585490,49.137162 -53.564236,49.148313 -53.555398,49.151154 -53.554731,49.151728 -53.557519,49.157661 -53.553218,49.167310 -53.558337,49.180764 -53.560504,49.183663 -53.561335,49.187709 -53.552029,49.192136 -53.545141,49.196864 -53.519880,49.207841 -53.517619,49.212160 -53.524259,49.210032 -53.535807,49.220348 -53.516966,49.228184 -53.507075,49.225961 -53.495127,49.229068 -53.476634,49.227080 -53.481631,49.232309 -53.477407,49.234738 -53.484157,49.240844 -53.476583,49.246141 -53.469523,49.246242 -53.472254,49.255790 -53.475553,49.256532 -53.481119,49.252956 -53.485294,49.254136 -53.493438,49.255484 -53.498441,49.260713 -53.505406,49.267830 -53.508292,49.266547 -53.514700,49.282470 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-54.566825,46.903138 -53.844999,47.382065</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-54.001615,47.312384 -53.996272,47.307901 -53.998348,47.296706 -54.003303,47.285233 -54.004141,47.275157 -54.001692,47.263400 -53.985263,47.254991 -53.970856,47.263373 -53.950686,47.272306 -53.918606,47.273379 -53.868843,47.274125 -53.844999,47.272392 -53.848753,47.262045 -53.868104,47.256211 -53.887822,47.259330 -53.920321,47.253231 -53.943325,47.258022 -53.954857,47.249921 -53.943366,47.244029 -53.932687,47.242055 -53.943407,47.230037 -53.915496,47.222719 -53.914285,47.216840 -53.923340,47.210979 -53.936887,47.212678 -53.950009,47.219411 -53.966858,47.215794 -53.979971,47.229519 -53.980771,47.240434 -53.993106,47.236247 -54.016527,47.235983 -54.045313,47.191223 -54.046140,47.181151 -54.065429,47.161290 -54.062150,47.145624 -54.065841,47.135274 -54.083459,47.107581 -54.076904,47.104225 -54.083047,47.098630 -54.092868,47.082687 -54.099412,47.072057 -54.116579,47.049399 -54.117797,47.041289 -54.136178,47.024501 -54.137392,47.016391 -54.163907,46.989808 -54.166291,46.959615 -54.183811,46.945898 -54.172353,46.933054 -54.171907,46.917124 -54.182068,46.903138 -54.566825,46.996074 -54.379848,47.307135 -54.321018,47.382065 -54.001615,47.312384 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-55.225361,46.952746 -55.195192,46.977702</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-55.224781,46.965485 -55.224768,46.965584 -55.224781,46.965623 -55.224945,46.967221 -55.224937,46.967504 -55.224918,46.967608 -55.224921,46.967731 -55.224572,46.969950 -55.222765,46.972809 -55.222419,46.973168 -55.222417,46.973169 -55.221999,46.973794 -55.221999,46.973794 -55.221922,46.973866 -55.221922,46.973866 -55.221922,46.973866 -55.219420,46.975652 -55.219121,46.975813 -55.217899,46.976397 -55.215038,46.977126 -55.214500,46.977299 -55.214287,46.977348 -55.213927,46.977409 -55.213133,46.977611 -55.212734,46.977611 -55.212199,46.977702 -55.208243,46.977603 -55.207715,46.977606 -55.207494,46.977584 -55.207117,46.977574 -55.206968,46.977528 -55.205952,46.977395 -55.201328,46.975947 -55.197866,46.973397 -55.197625,46.972952 -55.197448,46.972815 -55.195676,46.969552 -55.195687,46.969353 -55.195601,46.969185 -55.195497,46.968581 -55.195603,46.967317 -55.195498,46.967125 -55.195421,46.966529 -55.195311,46.966325 -55.195192,46.964147 -55.195266,46.963555 -55.195292,46.962996 -55.195340,46.962749 -55.195494,46.959888 -55.195886,46.958976 -55.196041,46.958677 -55.197765,46.956425 -55.201488,46.954055 -55.204940,46.953035 -55.205460,46.952939 -55.206772,46.952746 -55.211292,46.952791 -55.211717,46.952847 -55.211802,46.952872 -55.211852,46.952873 -55.212136,46.952963 -55.212552,46.952976 -55.213041,46.953063 -55.213436,46.953191 -55.214418,46.953282 -55.219040,46.954730 -55.219040,46.954730 -55.219210,46.954814 -55.219210,46.954814 -55.219210,46.954814 -55.219341,46.954889 -55.220006,46.955097 -55.223468,46.957646 -55.224354,46.958815 -55.224474,46.959006 -55.225361,46.961100 -55.225177,46.964578 -55.225104,46.964687 -55.225096,46.964799 -55.225003,46.965040 -55.224946,46.965122 -55.224781,46.965485 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-55.631173,46.858719 -55.601209,46.879901</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-55.629185,46.864720 -55.629373,46.864857 -55.631173,46.868110 -55.631022,46.871588 -55.628941,46.874761 -55.628684,46.874927 -55.628551,46.875117 -55.628329,46.875309 -55.628003,46.875601 -55.627543,46.875888 -55.625977,46.877042 -55.625708,46.877194 -55.624316,46.877883 -55.624049,46.877982 -55.622806,46.878620 -55.618062,46.879854 -55.618062,46.879854 -55.617874,46.879876 -55.617874,46.879876 -55.616827,46.879854 -55.616747,46.879874 -55.616415,46.879901 -55.613039,46.879776 -55.612802,46.879771 -55.612787,46.879767 -55.611955,46.879736 -55.607328,46.878308 -55.605211,46.877012 -55.605073,46.876906 -55.603712,46.875669 -55.602347,46.873644 -55.602313,46.873571 -55.601881,46.872346 -55.601621,46.871875 -55.601604,46.871701 -55.601385,46.871305 -55.601209,46.869659 -55.601219,46.869305 -55.601549,46.867473 -55.601966,46.866495 -55.602130,46.866178 -55.603796,46.863984 -55.604095,46.863791 -55.604406,46.863318 -55.605424,46.862457 -55.605791,46.862183 -55.606165,46.861970 -55.606625,46.861615 -55.607562,46.861032 -55.609403,46.860076 -55.614146,46.858843 -55.616282,46.858720 -55.616862,46.858719 -55.619794,46.858947 -55.624420,46.860374 -55.625753,46.861122 -55.626001,46.861281 -55.628146,46.863066 -55.628151,46.863075 -55.628160,46.863082 -55.628469,46.863422 -55.629185,46.864720 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-56.109430,46.865930 -56.072544,46.889438</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-56.106994,46.871156 -56.107589,46.871582 -56.109425,46.874826 -56.109430,46.877892 -56.109359,46.878174 -56.109313,46.878250 -56.109311,46.878304 -56.109246,46.878406 -56.109240,46.878586 -56.108306,46.880097 -56.108043,46.880652 -56.107600,46.881351 -56.106322,46.882915 -56.105097,46.883941 -56.104787,46.884164 -56.102344,46.885542 -56.100169,46.886304 -56.099379,46.886520 -56.098961,46.886601 -56.098113,46.887157 -56.096775,46.887667 -56.096201,46.887857 -56.095303,46.888055 -56.094623,46.888272 -56.094610,46.888275 -56.093167,46.888749 -56.091811,46.889066 -56.089869,46.889407 -56.088067,46.889379 -56.086724,46.889438 -56.086145,46.889420 -56.085201,46.889334 -56.084795,46.889328 -56.084565,46.889276 -56.083904,46.889216 -56.082767,46.888872 -56.082384,46.888786 -56.082073,46.888692 -56.081715,46.888554 -56.079261,46.887812 -56.078478,46.887269 -56.078276,46.887208 -56.075785,46.885641 -56.075564,46.885460 -56.074549,46.884510 -56.073924,46.883757 -56.073753,46.883526 -56.072544,46.881035 -56.072661,46.877557 -56.072709,46.877483 -56.072712,46.877405 -56.072793,46.877176 -56.072856,46.876842 -56.073059,46.876054 -56.075107,46.872871 -56.075943,46.872309 -56.076029,46.872243 -56.076106,46.872160 -56.077187,46.871240 -56.077415,46.871070 -56.080003,46.869587 -56.081016,46.869318 -56.081579,46.868949 -56.084203,46.868100 -56.085086,46.867679 -56.085321,46.867613 -56.085526,46.867479 -56.089280,46.866365 -56.089875,46.866260 -56.090125,46.866257 -56.090255,46.866221 -56.090447,46.866224 -56.090851,46.866116 -56.091171,46.866107 -56.091452,46.866033 -56.094784,46.865930 -56.095092,46.865948 -56.096831,46.866129 -56.096975,46.866173 -56.097294,46.866209 -56.097311,46.866209 -56.097331,46.866213 -56.097427,46.866224 -56.097493,46.866242 -56.097904,46.866316 -56.098156,46.866320 -56.102797,46.867723 -56.106262,46.870194 -56.106613,46.870568 -56.106627,46.870592 -56.106654,46.870612 -56.106994,46.871156 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+</wfs:FeatureCollection>
\ No newline at end of file
Index: lib/spatial/mapbuilder/examples/i18n/flags/it.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/examples/i18n/flags/it.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/examples/i18n/flags/fr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/examples/i18n/flags/fr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/examples/openlayers/Legend2.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/openlayers/Legend2.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/openlayers/Legend2.xsl	(revision 4307)
@@ -0,0 +1,198 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet 
+    xmlns:wmc="http://www.opengis.net/context" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+    xmlns:gml='http://www.opengis.net/gml' 
+    xmlns:wfs='http://www.opengis.net/wfs'
+    xmlns:sld='http://www.opengis.net/sld'
+    xmlns:xlink='http://www.w3.org/1999/xlink'
+    version="1.0">
+<!--
+Description: Convert an OWS Context into a HTML Legend
+Author:      Cameron Shorter cameron ATshorter.net
+Author:      Patrice C.
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: Legend2.xsl 3907 2008-03-06 10:27:06Z steven $
+$Name$
+-->
+  <xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
+  
+  <!-- The common params set for all widgets -->
+  <xsl:param name="lang">en</xsl:param>
+  <xsl:param name="modelId"/>
+  <xsl:param name="widgetId"/>
+
+  <xsl:param name="skinDir"/>
+  
+  <!-- Text params for this widget -->
+  <xsl:param name="title"/>
+  
+<!-- The name of the javascript context object to call -->
+  <xsl:param name="featureName"/>
+  <xsl:param name="hidden"/>
+  <xsl:param name="context">config.objects.<xsl:value-of select="$modelId"/></xsl:param>
+
+<!-- Main html -->
+  <xsl:template match="/wmc:ViewContext">
+    <table border="0" cellpadding="1" cellspacing="0">
+      <tr>
+        <th colspan="3">Layer List</th>
+      </tr>
+     
+      <xsl:apply-templates select="wmc:LayerList/wmc:Layer">
+        <xsl:sort select="position()" order="descending" data-type="number"/>
+      </xsl:apply-templates>
+      
+    </table>
+  </xsl:template>
+  
+  <xsl:template match="/wmc:OWSContext">
+    <table border="0" cellpadding="1" cellspacing="0">
+      <tr>
+        <th colspan="3">Layer List</th>
+      </tr>
+     
+      <xsl:apply-templates select="wmc:ResourceList/wmc:Layer|wmc:ResourceList/wmc:FeatureType">
+        <xsl:sort select="position()" order="descending" data-type="number"/>
+      </xsl:apply-templates>
+      
+     <xsl:apply-templates select="wmc:ResourceList/wmc:RssLayer">
+        <xsl:sort select="position()" order="descending" data-type="number"/>
+      </xsl:apply-templates>
+    </table>
+  </xsl:template>
+  
+  <xsl:template match="/wfs:FeatureCollection">
+    <table border="0" cellpadding="1" cellspacing="0">
+      <tr>
+        <th colspan="3">WFS Features</th>
+      </tr>
+      <tr>
+        <!-- Visiblity -->
+        <td>
+          <xsl:if test="$hidden='false'">
+            <input type="checkbox" checked="true" id="legend_{$featureName}" onclick="{$context}.setHidden('{$featureName}',!document.getElementById('legend_{$featureName}').checked)"/>
+          </xsl:if>
+          <xsl:if test="$hidden='true'">
+            <input type="checkbox" id="legend_{$featureName}" onclick="{$context}.setHidden('{$featureName}',! document.getElementById('legend_{$featureName}').checked)"/>
+          </xsl:if>
+        </td>
+        <!-- No query capability yet -->
+        <td>
+        </td>
+        <td>
+          <xsl:value-of select="$featureName"/>
+        </td>
+      </tr>
+    </table>
+  </xsl:template>
+  
+  <!-- Layer -->
+  <xsl:template match="wmc:Layer|wmc:FeatureType">
+    <tr>
+      <!-- Visiblity -->
+      <td>
+        <xsl:if test="@hidden='0'">
+          <input type="checkbox" checked="true" id="legend_{wmc:Name}" onclick="{$context}.setHidden('{wmc:Name}',!document.getElementById('legend_{wmc:Name}').checked)"/>
+        </xsl:if>
+        <xsl:if test="@hidden='1'">
+          <input type="checkbox" id="legend_{wmc:Name}" onclick="{$context}.setHidden('{wmc:Name}',! document.getElementById('legend_{wmc:Name}').checked)"/>
+        </xsl:if>
+      </td>
+      <!-- Query Image -->
+      <td>
+        <xsl:if test="@queryable='1'">
+          <img
+            id="query_{wmc:Name}"
+            title="Click to set {wmc:Title} as the query layer"
+            onclick="config.objects.{$widgetId}.selectLayer(config.objects.{$widgetId},'{wmc:Name}')"
+            src="{$skinDir}/images/id.gif" />
+        </xsl:if>
+      </td>
+	  
+	  <!-- Color icon -->
+	  <td width="12" height="12">
+	    <div style="width:10;height:10;background-color:{.//sld:CssParameter[@name='fill']};border:1px solid {.//sld:CssParameter[@name='stroke']}"/>
+	  </td>
+	  
+      <!-- Title -->
+      <td>
+        <xsl:choose>
+          <xsl:when test="wmc:Title/@xml:lang">              
+            <xsl:value-of select="wmc:Title[@xml:lang=$lang]"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="wmc:Title"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </td>
+    </tr>
+    <!-- StyleList -->
+    <tr>
+      <td></td>
+      <td></td>
+      <td>
+      <xsl:if test="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL"> 
+          <xsl:element name="IMG">
+              <xsl:attribute name="SRC">
+                <xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL/wmc:OnlineResource/@xlink:href"/> 
+              </xsl:attribute>
+          </xsl:element>
+         </xsl:if>
+      </td>
+    </tr>
+  </xsl:template>
+  
+   <xsl:template match="wmc:RssLayer">
+    <tr>
+      <!-- Visiblity -->
+      <td>
+        <xsl:if test="@hidden='0'">
+          <input type="checkbox" checked="true" id="legend_{wmc:Title}" onclick="{$context}.setHidden('{@id}',!document.getElementById('legend_{wmc:Title}').checked)"/>
+        </xsl:if>
+        <xsl:if test="@hidden='1'">
+          <input type="checkbox" id="legend_{wmc:Title}" onclick="{$context}.setHidden('{@id}',! document.getElementById('legend_{wmc:Title}').checked)"/>
+        </xsl:if>
+      </td>
+      <!-- Query Image -->
+      <td>
+        <xsl:if test="@queryable='1'">
+          <img
+            id="query_{wmc:Name}"
+            title="Click to set {wmc:Title} as the query layer"
+            onclick="config.objects.{$widgetId}.selectLayer(config.objects.{$widgetId},'{wmc:Name}')"
+            src="{$skinDir}/images/id.gif" />
+        </xsl:if>
+      </td>
+      <!-- Title -->
+      <td>
+        <xsl:choose>
+          <xsl:when test="wmc:Title/@xml:lang">              
+            <xsl:value-of select="wmc:Title[@xml:lang=$lang]"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="wmc:Title"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </td>
+    </tr>
+    <!-- StyleList -->
+    <tr>
+      <td></td>
+      <td></td>
+      <td>
+      <xsl:if test="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL"> 
+          <xsl:element name="IMG">
+              <xsl:attribute name="SRC">
+                <xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL/wmc:OnlineResource/@xlink:href"/> 
+              </xsl:attribute>
+          </xsl:element>
+         </xsl:if>
+      </td>
+    </tr>
+  </xsl:template>
+  
+  <xsl:template match="text()|@*"/>
+  
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/openlayers/index2.html
===================================================================
--- lib/spatial/mapbuilder/examples/openlayers/index2.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/openlayers/index2.html	(revision 4307)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html 
+  xmlns:vml="urn:schemas-microsoft-com:vml" 
+  xmlns:svg="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  >
+     
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+  	<style> vml\:* { behavior: url(#default#VML); position:absolute }</style >
+    <title>Mapbuilder using OpenLayers Demo</title>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/docsStyle.css'>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/mapStyle.css'>
+    <script>
+      // URL of Mapbuilder configuration file.
+      var mbConfigUrl='config2.xml';
+
+    </script>
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+    <!--script src="http://openlayers.org/dev/lib/OpenLayers.js"></script-->
+    <script src="http://openlayers.org/api/2/OpenLayers.js"></script>
+  </head>
+  <body onload="mbDoLoad()">
+    <h1>Mapbuilder using <a href="http://openlayers.org">OpenLayers</a> for rendering, using non-default projection.</h1>
+    <div id="mainMapPane">
+      <noscript>
+        this page requires Javascript to be enabled
+      </noscript>
+    </div>
+    <div id="mainButtonBar"></div>
+    <div id="cursorTrack"></div>
+    <div id="legend"></div>
+  </body>
+</html>
+
+
Index: lib/spatial/mapbuilder/examples/memory-leak/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/memory-leak/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/memory-leak/index.html	(revision 4307)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+      
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Mapbuilder memory leak test</title>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+    <style>
+      /* remove border from mainMapPane (work-around for Selenium tests under MSIE) */
+      #mainMapPane {
+        border: none;
+      }
+    </style>
+    <script>
+    // URL of Mapbuilder configuration file.
+    var mbConfigUrl='config.xml';
+    </script>
+    <!-- This points to the core mapbuilder library, replaces this with MapbuilderCompressed.js when you want to use the compressed version -->
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+    
+  </head>
+  <!-- This onload event starts mapbuilder -->
+  <body onload="mbDoLoad()" >
+  			<div class="header">
+  				<a href="index2.html">other instance, same context</a><p>
+  				  				This is a IE only memory leak, keep switching between the 'other instances' and note the memory usage going up.
+  				  				</p>
+  				<a href="index3.html">other instance, different context</a><p>
+  				
+  			</div>
+  			<div class="right">
+		  	  <div id="mainMapPane"><!-- This is the container where the map will be drawn -->
+    		    <noscript>
+        	    this page requires Javascript to be enabled
+        		</noscript>
+				  </div><!-- /mainMapPane -->
+          <div>
+            <div style="float: left; width: 30%;" id="mainButtonBar"><!-- This is the container where the buttons will be drawn --></div>
+            <div style="float: right; width: 30%" id="cursorTrack"><!-- This is where the cursor tracker will be drawn --></div>
+            <div id="scaleText"><!-- This is where the scale text will be drawn --></div>
+          </div>
+				</div><!-- /right -->
+				<div id="footer">
+					If you keep switching between instances the memory usage increases. If you do it before the page has finished loading it goes up faster even
+				</div>
+	</body>
+</html>
Index: lib/spatial/mapbuilder/examples/GeoBliki/AoiForm.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/GeoBliki/AoiForm.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/GeoBliki/AoiForm.xsl	(revision 4307)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8" standalone="no" ?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!--
+Description: Output a form for display of the context doc AOI
+Author:      Mike Adair
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+AoiForm.xsl,v 1.2 2004/06/25 17:59:38 madair1 Exp
+-->
+
+  <xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
+
+  <!-- The common params set for all widgets -->
+  <xsl:param name="modelId"/>
+  <xsl:param name="widgetId"/>
+
+  <!-- The name of the form for coordinate output -->
+  <xsl:param name="formName">AOIForm</xsl:param>
+
+  <!-- Text params for this widget -->
+  <xsl:param name="title"/>
+  <xsl:param name="north"/>
+  <xsl:param name="south"/>
+  <xsl:param name="east"/>
+  <xsl:param name="west"/>
+  
+  <!-- Main html -->
+  <xsl:template match="/">
+    <div>
+    <form name="{$formName}" id="{$formName}">
+      <table>
+        <tr>
+          
+          <td>
+            <input name="northCoord" type='hidden' size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/>
+          </td>
+          
+          <td>
+            <input name="westCoord" type='hidden' size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/>
+          </td>
+          
+          <td>
+            <input name="eastCoord" type='hidden' size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/>
+          </td>
+        
+          <td>
+            <input name="southCoord" type='hidden' size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/>
+          </td>       
+        </tr>
+      </table>
+    </form>
+    </div>
+  </xsl:template>
+  
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/GeoBliki/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/GeoBliki/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/GeoBliki/index.html	(revision 4307)
@@ -0,0 +1,102 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html xmlns:vml="urn:schemas-microsoft-com:vml"
+	xmlns:svg="http://www.w3.org/2000/svg"
+	xmlns:xlink="http://www.w3.org/1999/xlink">
+	<head>
+		<script>
+    // URL of Mapbuilder configuration file.
+    var mbConfigUrl='config.xml';
+  </script>
+	<!-- 
+  link rel='StyleSheet' type='text/css' href='../../lib/skin/default/docsStyle.css'>
+  -->
+  <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+		<link rel='StyleSheet' type='text/css' href='../../lib/skin/default/mapStyle.css'/>
+		<script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+
+	</head>
+
+	<body onload="mbDoLoad()">
+  <!-- DIY cut here 1 -->
+	  <div id="header">  	<!-- The header of the page -->
+            <h1><a href="http://communitymapbuilder.org">MapBuilder</a> <!--Version-->1.5-rc2<!--VersionEnd--> WFS query, Popup Feature</h1>
+            <!-- The version tag will be inserted into the comment tags above
+            during the build process. -->
+	  </div><!-- /header -->
+  	<div id="middle"><!-- The center piece of the page with left menubar and right mainbody -->
+	    	    <div id="exampleList"></div><!-- this is the container where the menubar will be drawn -->
+			<div id="mainbody"><!-- right side of the middle div, is also divided into two areas -->
+	  		<div class="left">
+	  			<h3>Explanation</h3>
+	  			<p>1) Select the date span (leaving the default is fine) </p>
+	  			<p>2) Select which feature to query </p>
+	  			<p>3) Use the BBox tool (the dotted square) to select the area </p>
+	  			<p>4) Press Retrieve features </p>
+	  			<p>The map then will display red dots where features were found.</p>
+	  			<p>Press one of the red dots and a popup will be displayed showing information about the selected feature</p>
+	  			<br/>
+	  			<p>This application uses a stylesheet wfs_GetFeature.xsl applied to the form data which generates a wmc:FeatureType document containing a WFS GetFeature Query.  Another style sheet datapopup.xsl is used on the returned FeatureCollection to display different information in the popup for each of the feature types. </p>
+	  			<br/> This demo accesses data from the <a href="http://eo1.geobliki.com">GeoBliki EO-1 SWE data node</a>
+		    </div><!-- /left -->
+		    <!-- DIY end cut 1-->
+		      			<div class="right">	
+
+<div id='webServiceForm'>
+<form id='webServiceForm_form'>
+
+<h2>GeoSpatio-Temporal Search</h2>
+<table>
+    <tr>
+    <td>from:<input id='fromDateField' name="fromDateField" type="text" size="10" value="1/1/2005" /></td>
+	<td>to:<input id='toDateField' name="toDateField" type="text" size="10" value="1/1/2008" /></td>    
+    <td>
+    Features: 
+      <select name='feature' id='feature'>
+        <option value="ali">ali</option>
+        <option value="hyperion">hyperion</option>
+       </select>
+    </td>
+    </tr>
+    <tr>
+    <td>
+    <!-- Keyword: --><input type="hidden" name="keywords" id='keywords'  size="20" value="not implemented yet"/>
+    </td>
+    </tr>
+    <tr><td colspan="3">[Use BBOX tool to specify an area of interest]</td></tr>
+    <tr>
+    <td colspan="3">
+      <a href="javascript:config.objects.webServiceForm.submitForm();">Retrieve Features [calls webServiceForm.submitForm()]</a>
+    </td> 
+    </tr>
+  </table>
+</form>
+</div>
+
+
+        <div id="mainMapPane" style="border:1px solid olive">
+        <noscript>
+            this page requires Javascript to be enabled
+        </noscript>
+        </div>
+   <table>     
+      <tr>
+        <td align='left' width="192" id="mainButtonBar"></td>
+        <td align="center" id="mapScaleText"/>
+        <td align="center" id="mapScaleBar"/>
+        <td align="right" id="cursorTrack" />
+        <td id="aoiForm" />
+      </tr>
+    </table>
+    				</div><!-- /right -->
+				<!-- DIY cut here 2 -->
+			</div><!-- /mainbody -->
+		</div><!-- /middle -->
+		<div id="footer"><!-- The footer of the page -->
+	    <div class="right">
+				<a href="http://communitymapbuilder.org/" title="powered by community mapbuilder"><img src="../../lib/skin/default/images/Icon.gif"/></a>	  	
+				<a href="https://www.osgeo.org/" title="member of OSgeo"><img src="../../lib/skin/default/images/Osgeo.png"/></a>
+      </div><!-- /right -->
+	 	</div><!-- /footer -->  
+	 	<!-- DIY end cut 2 -->
+    	</body>
+</html>
Index: lib/spatial/mapbuilder/examples/OWSExplorer/config.xml
===================================================================
--- lib/spatial/mapbuilder/examples/OWSExplorer/config.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/OWSExplorer/config.xml	(revision 4307)
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="contextEditorDemoConfig" 
+      xmlns="http://mapbuilder.sourceforge.net/mapbuilder" 
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+      xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+  <!--
+    Description: This configuration file determines what components from the
+                 Mapbuilder library are to be included in a Main Mapbuilder web
+                 page.
+    Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html 
+
+    $Id: config.xml 3980 2008-04-17 09:03:57Z steven $
+  -->
+  <models>
+    <Context id="mainMap">
+      <defaultModelUrl>../data/context/demisWorldMap.xml</defaultModelUrl>
+      <widgets>
+        <MapPaneOL id="mainMapWidget">
+          <htmlTagId>mainMapPane</htmlTagId>
+      <fixedSize>true</fixedSize>
+        </MapPaneOL>
+        <CursorTrack id="cursorTrack"/>
+        <LayerControl id="contextLegend">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <legendImageEnable>/images/LegendEnable.png</legendImageEnable>
+          <legendImageDisable>/images/LegendDisable.png</legendImageDisable> 
+          <moveUpImage>/images/LayerMoveUpDisable.png</moveUpImage>
+          <moveDownImage>/images/LayerMoveDownDisable.png</moveDownImage>
+          <deleteImage>/images/LayerRemoveDisable.png</deleteImage>
+        </LayerControl>
+        <Loading2 id="loading2">
+        </Loading2>
+      </widgets>
+      <tools>
+        <WebServiceRequest id="featureInfoController">
+          <targetModel>featureInfoResponse</targetModel>
+          <requestName>wms:GetFeatureInfo</requestName>
+          <infoFormat>application/vnd.ogc.gml</infoFormat>
+          <featureCount>1</featureCount>
+        </WebServiceRequest>
+      </tools>
+      <nodeSelectXpath>/wmc:ViewContext/wmc:LayerList/wmc:Layer</nodeSelectXpath>
+    </Context>
+    <Context id="locator">
+      <defaultModelUrl>../data/context/locatorMap.xml</defaultModelUrl>
+      <widgets>
+        <MapPaneOL id="locatorWidget">
+          <htmlTagId>locatorMap</htmlTagId>
+          <targetModel>mainMap</targetModel>
+          <fixedSize>true</fixedSize>
+          <imageBuffer>1</imageBuffer>
+        </MapPaneOL>
+        <AoiBoxOL id="aoiBoxLocator">
+          <htmlTagId>locatorMap</htmlTagId>
+          <lineColor>#FF0000</lineColor>
+          <lineWidth>1</lineWidth>
+          <crossSize>15</crossSize>
+        </AoiBoxOL>
+      </widgets>
+      <tools>
+        <ZoomToAoi id="locatorZoomToAoi">
+          <targetModel>mainMap</targetModel>
+        </ZoomToAoi>
+      </tools>
+    </Context>
+    <Model id="myMapCollection">
+      <defaultModelUrl>../data/context/worldMapsCollection.xml</defaultModelUrl>
+      <widgets>
+        <CollectionList id="mapList">
+          <targetModel>mainMap</targetModel>
+        </CollectionList>
+      </widgets>
+    </Model>
+    <!-- use this with a WFS capabilities model -->
+    <WfsCapabilities id="wfsCapTemplate">
+      <defaultModelUrl>/geoserver/wfs?version=1.0.0&amp;service=WFS&amp;request=GetCapabilities</defaultModelUrl>
+      <models>
+        <Model id="featureTypeTemplate" template="true">
+          <widgets>
+            <FilterAttributes id="attributeFilter">
+              <htmlTagId>workspace</htmlTagId>
+              <outputNodeId>workspaceCanvas</outputNodeId>
+            </FilterAttributes>
+          </widgets>
+        </Model>
+        <FeatureCollection id="getFeatureTemplate" template="true">
+          <method>get</method>
+          <widgets>
+           
+            <GmlRendererOL id="testGmlRenderer">
+              <targetModel>mainMap</targetModel>
+            </GmlRendererOL>
+            <Legend id="wfsLegend">
+              <htmlTagId>workspace</htmlTagId>
+              <outputNodeId>workspaceCanvas</outputNodeId>
+            </Legend>
+          </widgets>
+        </FeatureCollection>
+        <!--Transaction id="transactionTemplate" template="true">
+          <method>post</method>
+          <widgets>
+            <TransactionResponse id="transResponse"/>
+          </widgets>
+        </Transaction-->
+      </models>
+      <widgets>
+        <SelectFeatureType id="featureTypes">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <toolId>wfsController</toolId>
+        </SelectFeatureType>
+        <ModelUrlInput id="wfsUrlInput">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <title>Enter a WFS GetCapabilities URL:</title>
+        </ModelUrlInput>
+      </widgets>
+      <tools>
+        <WebServiceRequest id="wfsGetFeature">
+          <targetModel>getFeatureTemplate</targetModel>
+          <requestName>wfs:GetFeature</requestName>
+          <maxFeatures>20</maxFeatures>
+        </WebServiceRequest>
+        <WebServiceRequest id="wfsDescribeFeature">
+          <targetModel>featureTypeTemplate</targetModel>
+          <requestName>wfs:DescribeFeatureType</requestName>
+        </WebServiceRequest>
+        <!--WebServiceRequest id="wfsTransaction">
+          <targetModel>transactionTemplate</targetModel>
+          <requestName>wfs:Transaction</requestName>
+        </WebServiceRequest-->
+      </tools>
+      <nodeSelectXpath>/wfs:WFS_Capabilities/wfs:FeatureTypeList/wfs:FeatureType</nodeSelectXpath>
+    </WfsCapabilities>
+    <WmsCapabilities id="wmsCapTemplate">
+      <title>OGC Web Map Server (WMS)</title>
+      <defaultModelUrl>/geoserver/wms?request=GetCapabilities&amp;service=WMS</defaultModelUrl>
+      <models>
+        <Model id="featureInfoResponse" template="true">
+          <widgets>
+            <FeatureInfo id="features">
+              <htmlTagId>workspace</htmlTagId>
+              <outputNodeId>workspaceCanvas</outputNodeId>
+            </FeatureInfo>
+          </widgets>
+          <namespace>xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs' xmlns:topp='http://www.openplans.org/topp'</namespace>
+        </Model>
+      </models>
+      <widgets>
+        <SelectMapLayers id="layerList">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+        </SelectMapLayers>
+        <ModelUrlInput id="wmsUrlInput">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <title>Enter a WMS GetCapabilities URL:</title>
+        </ModelUrlInput>
+      </widgets>
+      <tools>
+        <WebServiceRequest id="wmsController">
+          <targetModel>featureInfoResponse</targetModel>
+          <requestName>wms:GetFeatureInfo</requestName>
+        </WebServiceRequest>
+        <EditContext id="editContext">
+          <targetModel>mainMap</targetModel>
+        </EditContext>
+      </tools>
+      <nodeSelectXpath>//Layer</nodeSelectXpath>
+    </WmsCapabilities>
+  </models>
+  <widgets>
+    <ZoomIn id="zoomIn">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <selected>true</selected>
+      <enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+    </ZoomIn>
+    <ZoomOut id="zoomOut">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+    </ZoomOut>
+    <DragPan id="dragPan">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/PanEnable.png</enabledSrc>
+      <disabledSrc>/images/PanDisable.png</disabledSrc>
+    </DragPan>
+    <GetFeatureInfoWSR id="getFeatureInfo">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/QueryEnable.png</enabledSrc>
+      <disabledSrc>/images/QueryDisable.png</disabledSrc>
+      <controller>featureInfoController</controller>
+    </GetFeatureInfoWSR>
+    <Reset id="reset">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+    </Reset>
+    <Save id="save">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/SaveDisable.png</disabledSrc>
+      <popupWindowName>modelXML</popupWindowName>
+    </Save>
+    <ExampleList id="exampleList"><!-- this is the widget that draws the example menu -->
+    <scriptFile>../ExampleList.js</scriptFile>
+    <stylesheet>../ExampleList.xsl</stylesheet>
+    </ExampleList>
+  </widgets>
+  <!--
+    All static images should be relative to this URL.
+    This dir is relative the dir of the main html file.
+  -->
+  <skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/contextEditor/config_ebRim.xml
===================================================================
--- lib/spatial/mapbuilder/examples/contextEditor/config_ebRim.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/contextEditor/config_ebRim.xml	(revision 4307)
@@ -0,0 +1,353 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="contextEditorDemoConfig" 
+      xmlns="http://mapbuilder.sourceforge.net/mapbuilder" 
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+      xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+  <!--
+    Description: This configuration file determines what components from the
+                 Mapbuilder library are to be included in a Main Mapbuilder web
+                 page.
+    Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html 
+
+    $Id: config_ebRim.xml 3691 2007-12-06 11:19:58Z ahocevar $
+  -->
+  <models>
+    <Context id="mainMap">
+      <defaultModelUrl>../data/context/DM_Canada.xml</defaultModelUrl>
+      <!--defaultModelUrl>../data/context/atlasWorld.xml</defaultModelUrl-->
+      <widgets>
+        <MapPane id="mainMapWidget">
+          <htmlTagId>mainMapPane</htmlTagId>
+					<stylesheet>../../lib/widget/MapPane.xsl</stylesheet>
+          <mapContainerId>mainMapContainer</mapContainerId>
+        </MapPane>
+        <Loading2 id="loading2">
+          <mapContainerId>mainMapContainer</mapContainerId>
+        </Loading2>
+        <CursorTrack id="cursorTrack">
+          <mouseHandler>mainMap</mouseHandler>
+        </CursorTrack>
+        <MapTitle id="mapTitle"/>
+        <LayerControl id="contextLegend">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <autoRefresh>false</autoRefresh>
+          <moveUpImage>/images/LayerMoveUpDisable.png</moveUpImage>
+          <moveDownImage>/images/LayerMoveDownDisable.png</moveDownImage>
+          <deleteImage>/images/LayerRemoveDisable.png</deleteImage>
+        </LayerControl>
+        <AoiBoxDHTML id="aoiBox2">
+          <htmlTagId>mainMapPane</htmlTagId>
+          <mapContainerId>mainMapContainer</mapContainerId>
+          <lineColor>#FF0000</lineColor>
+          <lineWidth>1</lineWidth>
+          <crossSize>15</crossSize>
+        </AoiBoxDHTML>
+      </widgets>
+      <tools>
+        <AoiMouseHandler id="mainAoi"/>
+        <DragPanHandler id="mainDragPan">
+          <enabled>false</enabled>
+        </DragPanHandler>
+      </tools>
+    </Context>
+    <Context id="locator">
+      <defaultModelUrl>../data/context/locatorMap.xml</defaultModelUrl>
+      <widgets>
+        <MapPane id="locatorWidget">
+          <htmlTagId>locatorMap</htmlTagId>
+          <targetModel>mainMap</targetModel>
+					<stylesheet>../../lib/widget/MapPane.xsl</stylesheet>
+          <mapContainerId>locatorContainer</mapContainerId>
+          <fixedWidth>180</fixedWidth>
+        </MapPane>
+        <AoiBoxDHTML id="aoiBox2">
+          <htmlTagId>locatorMap</htmlTagId>
+          <mapContainerId>locatorContainer</mapContainerId>
+          <lineColor>#FF0000</lineColor>
+          <lineWidth>1</lineWidth>
+          <crossSize>15</crossSize>
+        </AoiBoxDHTML>
+      </widgets>
+      <tools>
+        <AoiMouseHandler id="locatorAoi"/>
+        <ZoomToAoi id="locatorZoomToAoi">
+          <targetModel>mainMap</targetModel>
+        </ZoomToAoi>
+      </tools>
+    </Context>
+    <Model id="myMapCollection">
+      <!--defaultModelUrl>../data/context/demoCollection.xml</defaultModelUrl-->
+      <widgets>
+        <CollectionList id="collectionList">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <targetModel>mainMap</targetModel>
+          <title>Select a map as your base map</title>
+        </CollectionList>
+      </widgets>
+    </Model>
+    <!-- use this with a WFS capabilities model -->
+    <WfsCapabilities id="wfsCapTemplate">
+      <!--defaultModelUrl>http://webservices.ionicsoft.com/ionicweb/wfs/BOSTON_ORA?version=1.0.0&amp;service=WFS&amp;request=GetCapabilities</defaultModelUrl-->
+      <models>
+        <Model id="featureTypeTemplate" template="true">
+          <widgets>
+            <FilterAttributes id="attributeFilter">
+              <htmlTagId>workspace</htmlTagId>
+              <outputNodeId>workspaceCanvas</outputNodeId>
+            </FilterAttributes>
+          </widgets>
+        </Model>
+        <FeatureCollection id="getFeatureTemplate" template="true">
+          <method>get</method>
+          <widgets>
+            <GmlRendererWZ id="testGmlRenderer">
+              <htmlTagId>mainMapPane</htmlTagId>
+              <targetModel>mainMap</targetModel>
+              <mapContainerId>mainMapContainer</mapContainerId>
+              <lineColor>#FF00FF</lineColor>
+              <lineWidth>1</lineWidth>
+              <pointDiameter>10</pointDiameter>
+            </GmlRendererWZ>
+            <Legend id="wfsLegend">
+              <htmlTagId>workspace</htmlTagId>
+              <outputNodeId>workspaceCanvas</outputNodeId>
+            </Legend>
+          </widgets>
+        </FeatureCollection>
+        <!--Transaction id="transactionTemplate" template="true">
+          <method>post</method>
+          <widgets>
+            <TransactionResponse id="transResponse"/>
+          </widgets>
+        </Transaction-->
+      </models>
+      <widgets>
+        <SelectFeatureType id="featureTypes">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <toolId>wfsController</toolId>
+        </SelectFeatureType>
+      </widgets>
+      <tools>
+        <WebServiceRequest id="wfsGetFeature">
+          <targetModel>getFeatureTemplate</targetModel>
+          <requestName>wfs:GetFeature</requestName>
+          <maxFeatures>20</maxFeatures>
+        </WebServiceRequest>
+        <WebServiceRequest id="wfsDescribeFeature">
+          <targetModel>featureTypeTemplate</targetModel>
+          <requestName>wfs:DescribeFeatureType</requestName>
+        </WebServiceRequest>
+        <!--WebServiceRequest id="wfsTransaction">
+          <targetModel>transactionTemplate</targetModel>
+          <requestName>wfs:Transaction</requestName>
+        </WebServiceRequest-->
+      </tools>
+      <nodeSelectXpath>/wfs:WFS_Capabilities/wfs:FeatureTypeList/wfs:FeatureType</nodeSelectXpath>
+    </WfsCapabilities>
+    <WmsCapabilities id="wmsCapTemplate">
+      <!--defaultModelUrl>http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?version=1.1.1&amp;service=WMS&amp;request=GetCapabilities</defaultModelUrl-->
+      <title>OGC Web Map Server (WMS)</title>
+      <models>
+        <!--GetFeatureInfo id="featureTypeTemplate" template="true">
+          <widgets>
+            <FilterAttributes id="attributeFilter">
+              <outputNodeId>filterForm</outputNodeId>
+            </FilterAttributes>
+          </widgets>
+        </GetFeatureInfo-->
+        <!--GetMap id="getMapTemplate" template="true">
+          <widgets>
+            <MapImage id="renderMap">
+              <targetModel>mainMap</targetModel>
+              <htmlTagId>mainMapPane</htmlTagId>
+              <mapContainerId>mainMapContainer</mapContainerId>
+            </MapImage>
+          </widgets>
+        </GetMap-->
+      </models>
+      <widgets>
+        <SelectMapLayers id="layerList">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+        </SelectMapLayers>
+        <Loading2 id="loading3">
+					<htmlTagId>workspace</htmlTagId>
+					<outputNodeId>workspaceCanvas</outputNodeId>
+        </Loading2>
+      </widgets>
+      <tools>
+        <!--WebServiceRequest id="wmsController">
+          <targetModel>getMapTemplate</targetModel>
+          <requestName>GetMap</requestName>
+        </WebServiceRequest-->
+        <!--WebServiceRequest id="wmsController">
+          <targetModel>getFeatureInfoTemplate</targetModel>
+          <requestName>wms:GetFeatureInfo</requestName>
+        </WebServiceRequest-->
+        <EditContext id="editContext">
+          <targetModel>mainMap</targetModel>
+        </EditContext>
+      </tools>
+      <nodeSelectXpath>//Layer</nodeSelectXpath>
+    </WmsCapabilities>
+    <Model id="wmsServers">
+      <title>Web Map Servers</title>
+      <widgets>
+        <WebServiceForm id="wmsServerList">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <stylesheet>../../lib/widget/ServiceRegistryList.xsl</stylesheet>
+          <capabilitiesModel>wmsCapTemplate</capabilitiesModel>
+          <serviceType>CgdiMapServices</serviceType>
+        </WebServiceForm>
+        <Loading2 id="loading1">
+					<htmlTagId>workspace</htmlTagId>
+					<outputNodeId>workspaceCanvas</outputNodeId>
+        </Loading2>
+      </widgets>
+    </Model>
+    <Model id="wfsServers">
+      <title>Web Feature Servers</title>
+      <widgets>
+        <WebServiceForm id="wfsServerList">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <stylesheet>../../lib/widget/ServiceRegistryList.xsl</stylesheet>
+          <capabilitiesModel>wfsCapTemplate</capabilitiesModel>
+          <serviceType>CgdiFeatureServices</serviceType>
+        </WebServiceForm>
+        <Loading2 id="loading4">
+					<htmlTagId>workspace</htmlTagId>
+					<outputNodeId>workspaceCanvas</outputNodeId>
+        </Loading2>
+      </widgets>
+    </Model>
+    <CswCapabilities id="ebRimSearch">
+      <!--defaultModelUrl>http://demo.cubewerx.com/ows4/cwwrs/cwwrs.cgi?request=GetCapabilities</defaultModelUrl-->
+      <defaultModelUrl>cwwrs.xml</defaultModelUrl>
+      <nodeSelectXpath>/csw:Capabilities/ows:OperationsMetadata/ows:Operation</nodeSelectXpath>
+      <models>
+        <Model id="catResults">
+          <nodeSelectXpath>/wfs:FeatureCollection/gml:featureMember/owscat:service_resources</nodeSelectXpath>
+          <method>post</method>
+          <widgets>
+            <Widget id="resultList">
+              <stylesheet>../../lib/widget/XmlIdentity.xsl</stylesheet>
+              <htmlTagId>workspace</htmlTagId>
+              <outputNodeId>workspaceCanvas</outputNodeId>
+            </Widget>
+          </widgets>
+          <tools>
+            <EditContext id="addLayer">
+              <targetModel>mainMap</targetModel>
+            </EditContext>
+          </tools>
+        </Model>
+        <Model id="filterExpression">
+          <defaultModelUrl>queryFeatureTypes.xml</defaultModelUrl>
+          <widgets>
+            <OWSCatSearchForm id="owsCatSearchForm">
+              <htmlTagId>workspace</htmlTagId>
+              <outputNodeId>workspaceCanvas</outputNodeId>
+              <stylesheet>owsCatSearchForm.xsl</stylesheet>
+              <scriptFile>CatSearchForm_ebRim.js</scriptFile>
+              <targetModel>ebRimSearch</targetModel>
+              <mapModel>mainMap</mapModel>
+            </OWSCatSearchForm>
+          </widgets>
+        </Model>
+      </models>
+      <widgets>
+      </widgets>
+      <tools>
+        <WebServiceRequest id="catGetFeatureTypes">
+          <targetModel>catResults</targetModel>
+          <requestName>csw:GetRecords</requestName>
+          <requestFilter>filterExpression</requestFilter>
+          <maxFeatures>20</maxFeatures>
+          <debug/>
+        </WebServiceRequest>
+      </tools>
+    </CswCapabilities>
+  </models>
+  <widgets>
+    <TabbedContent id="tabBar">
+      <tab>wmsServerList</tab>
+      <tab>layerList</tab>
+      <tab>wfsServerList</tab>
+      <tab>featureTypes</tab>
+      <tab>resultList</tab>
+    </TabbedContent>
+    <ModelUrlInput id="urlInput">
+      <htmlTagId>workspace</htmlTagId>
+      <outputNodeId>workspaceCanvas</outputNodeId>
+      <targetModel>wmsCapTemplate</targetModel>
+    </ModelUrlInput>
+    <ZoomIn id="zoomIn">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <mouseHandler>mainAoi</mouseHandler>
+      <class>RadioButton</class>
+      <selected>true</selected>
+      <enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+    </ZoomIn>
+    <ZoomOut id="zoomOut">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <mouseHandler>mainAoi</mouseHandler>
+      <class>RadioButton</class>
+      <enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+    </ZoomOut>
+    <DragPan id="dragPan">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <mouseHandler>mainDragPan</mouseHandler>
+      <class>RadioButton</class>
+      <enabledSrc>/images/PanEnable.png</enabledSrc>
+      <disabledSrc>/images/PanDisable.png</disabledSrc>
+    </DragPan>
+    <SetAoi id="setAoi">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <mouseHandler>mainAoi</mouseHandler>
+      <class>RadioButton</class>
+      <enabledSrc>/images/SetAoiEnable.png</enabledSrc>
+      <disabledSrc>/images/SetAoiDisable.png</disabledSrc>
+    </SetAoi>
+    <Reset id="reset">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+    </Reset>
+    <Save id="save">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/SaveDisable.png</disabledSrc>
+      <popupWindowName>modelXML</popupWindowName>
+    </Save>
+    <Save id="save">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>catResults</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/SaveDisable.png</disabledSrc>
+      <popupWindowName>modelXML</popupWindowName>
+    </Save>
+    <Widget id="help">
+      <htmlTagId>workspace</htmlTagId>
+      <outputNodeId>workspaceCanvas</outputNodeId>
+      <stylesheet>Help.xsl</stylesheet>
+    </Widget>
+  </widgets>
+  <!--
+    All static images should be relative to this URL.
+    This dir is relative the dir of the main html file.
+  -->
+	<skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/contextEditor/queryFeatureTypes.xml
===================================================================
--- lib/spatial/mapbuilder/examples/contextEditor/queryFeatureTypes.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/contextEditor/queryFeatureTypes.xml	(revision 4307)
@@ -0,0 +1,32 @@
+<ogc:Filter xmlns:ebxml="urn:oasis:names:tc:ebxml-regrep:rim:xsd:2.5"
+      xmlns:gml="http://www.opengis.net/gml"
+      xmlns:ogc="http://www.opengis.net/ogc">
+  <ogc:And>
+    <ogc:PropertyIsEqualTo>
+      <ogc:PropertyName>/ExtrinsicObject/@objectType</ogc:PropertyName>
+      <ogc:Literal>FeatureType</ogc:Literal>
+    </ogc:PropertyIsEqualTo>
+    <ogc:Or>
+      <ogc:PropertyIsLike escape="\" singleChar="_" wildCard="%">
+        <ogc:PropertyName>
+          /ExtrinsicObject/Name/LocalizedString/@value
+        </ogc:PropertyName>
+        <ogc:Literal>%water%</ogc:Literal>
+      </ogc:PropertyIsLike>
+      <ogc:PropertyIsLike escape="\" singleChar="_" wildCard="%">
+        <ogc:PropertyName>
+          /ExtrinsicObject/Description/LocalizedString/@value
+        </ogc:PropertyName>
+        <ogc:Literal>%water%</ogc:Literal>
+      </ogc:PropertyIsLike>
+    </ogc:Or>
+    <ogc:Contains>
+      <ogc:PropertyName>
+        /ExtrinsicObject/Slot[@name='FootPrint']/ValueList/Value[1]
+      </ogc:PropertyName>
+      <gml:Box srsName="EPSG:4326">
+        <gml:coordinates>-80,30 -70,40</gml:coordinates>
+      </gml:Box>
+    </ogc:Contains>
+  </ogc:And>
+</ogc:Filter>
Index: lib/spatial/mapbuilder/examples/contextEditor/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/contextEditor/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/contextEditor/index.html	(revision 4307)
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+      
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Mapbuilder Webmapping Context Editor</title>
+       <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+       
+       <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/mapStyle.css'/>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/button.css'>
+    <link rel="stylesheet" type="text/css" href="../../lib/skin/default/tabList.css">
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/mapStyle.css'>
+     <style type="text/css">
+      #workspace {
+        overflow: auto;
+        position: relative;
+        border: 0;
+      }
+    </style>
+    <script>
+      // URL of Mapbuilder configuration file.
+      var mbConfigUrl='contextEditor.xml';
+
+      function initWorkspace() {
+        var pageBody = document.getElementsByTagName("body")[0];
+        var workDiv = document.getElementById("workspace");
+        var footerDiv = document.getElementById("footer");
+        var height = 200;
+        if (_SARISSA_IS_IE) {
+          height = pageBody.offsetHeight - workDiv.offsetTop - footerDiv.offsetHeight - 80;  //20 is a fudge factor
+        } else {
+          height = window.innerHeight - workDiv.offsetTop - footerDiv.offsetHeight - 70;  //20 is a fudge factor
+        }
+        if (height < 200) height = 200;
+        workDiv.style.height = height +"px";
+      }
+
+      function loadFunc() {
+        config.objects.mainMap.addListener("loadModel",initWorkspace,null);
+        window.onresize = initWorkspace;
+      }
+
+    </script>
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+  </head>
+  <body onload="mbDoLoad(loadFunc)" >
+  <div id="header">
+    <h1><a href="http://communitymapbuilder.org">MapBuilder</a> <!--Version-->1.5-rc2<!--VersionEnd--> Webmapping Context Editor</h1>
+    <!-- The version tag will be inserted into the comment tags above
+    during the build process. -->
+
+<a href="javascript:config.setParam('refresh', 'help')" class="help">how to use this page</a></div>
+  </div>
+  <div id="middle">
+  <div id="menubar">
+  <h2>Basic</h2>
+			<ul>
+				<li><a href="../simple/index.html" title="simple map demo">Simple Map Viewer</a></li>
+				<li><a href="../basic/index.html" title="interactive map demo">Interactive Map Viewer</a></li>
+				<li><a href="../mapViewer/index.html" title="enhanced map demo">Enhanced Map Viewer</a></li>
+			</ul>
+		<h2>Complex</h2>
+			<ul>
+				<li><a href="../Demis/index.html" title="Demis map viewer">Different maps connected</a></li>
+				<li><a href="../timeSeries/index.html" title="Time series viewer">Time series viewer</a></li>
+				<li><a href="../wfs-t/index.html" title="Feature entry">Feature entry</a></li>
+				<li><a href="../OWSExplorer/index.html" title="OWS Explorer">Open Web Services Explorer</a></li>
+			</ul>
+
+		<h2>New</h2>
+			<ul>
+				<li><a href="../mergeModels/index.html" title="Complex Vector Rendering with GmlRendererOL and MergeModels">Complex Vector Rendering</a></li>			
+				<li><a href="../flickr/index.html" title="GeoRSS feed example">Live flickr feed viewer</a></li>
+                <li><a href="../shipTracks/index.html" title="GeoRSS Ship tracks">GeoRSS Shiptracks</a></li>
+                <li><a href="../GeoBliki/index.html" title="GeoBliki example">WFS query, Popup Feature information</a></li>					
+				<li><a href="../Google/index.html" title="Google Map Viewer">Google Map Viewer</a></li><li><a href="../projDemo/index.html" title="Reprojecting vector data on the fly">Projections</a></li>
+				<li><a href="../openlayers/index.html" title="Webmap.js integration">OpenLayers integration</a></li>
+				<li><a href="../i18n/index.html" title="I18N map demo">I18N Map Viewer</a></li>
+		</ul>
+		<h2 onclick="javascript: history.go(-1)" style="color:black;cursor:pointer;">Back</h2>
+  </div>
+	<div id="mainbody">
+	  <div class="left">
+	  <h3>Explanation</h3>
+  	This demo allows you to dynamically build a WMC document by adding map layers to the map. In the end you can save the WMC to 
+  	reuse it in your own application. A more detailed explanation how to use it is available <a href="javascript:config.setParam('refresh', 'help')">here</a>
+	    <h2 id="mapTitle"></h2>
+            <div id="locatorMap">
+          </div>
+            <a href="javascript:config.loadModel('myMapCollection','../data/context/demoCollection.xml')">
+            Map collection</a><br/>
+            <a href="javascript:config.loadModel('wmsServers','http://geodiscover.cgdi.ca/ceonetWeb/biz?request=searchForService&language=en&levelOfDetail=brief&serviceType=CgdiMapServices&numResultsPerPage=10&page=1')">
+            Browse WMS servers</a><br/>
+            <a href="javascript:config.loadModel('wfsServers','http://geodiscover.cgdi.ca/ceonetWeb/biz?request=searchForService&language=en&levelOfDetail=brief&serviceType=CgdiFeatureServices&numResultsPerPage=10&page=1')">
+            Browse WFS servers</a><br/>
+            <a href="javascript:config.objects.mainMap.setParam('refresh', 'contextLegend')">
+            Map layer control</a><br/>
+            <a href="javascript:config.objects.filterExpression.setParam('refresh', 'owsCatSearchForm')">
+            Search form</a><br/>
+    </div>
+  	<div class="right">
+  	  <table >
+            
+            <tr>
+              <td align="center">
+                <table>
+                  <tr>
+                    <td colspan="2">
+                      <div id="mainMapPane"/>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td align="left">
+                      <div id="mainButtonBar"/>
+                    </td>
+                    <td align="right" id="cursorTrack" />
+                  </tr>
+                </table>
+              </td>
+            </tr>
+            <tr>
+              <td align="left" id="tabBar">
+              </td>
+            </tr>
+            <tr>
+              <td align="left">
+                <div id="workspace"></div>
+              </td>
+            </tr>
+          </table>
+
+		</div>
+	</div>
+	</div>
+  <div id="footer">
+	  
+    <div class="right">
+<a href="http://communitymapbuilder.org/" title="powered by community mapbuilder"><img src="../../lib/skin/default/images/Icon.gif"/></a>	  	
+<a href="https://www.osgeo.org/" title="member of OSgeo"><img src="../../lib/skin/default/images/Osgeo.png"/></a>
+         </div>
+  </div>  
+  </body>
+</html>
Index: lib/spatial/mapbuilder/examples/ExampleList.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/ExampleList.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/ExampleList.xsl	(revision 4307)
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0"
+	xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+	<!--
+		Description: Displays the mapbuilder version.
+		The $Version: $ tag is changed during the ant build process to
+		the current version.
+		Author:      Cameron Shorter
+		Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+		
+		$Id: Version.xsl 2175 2006-08-16 10:34:37Z camerons $
+		$Name$
+	-->
+
+	<xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
+	<!-- Main html -->
+	<xsl:template match="/">
+		<div id="menubar"><!-- left side of the middle div-->
+			<h2>Basic</h2>
+			<ul>
+				<li>
+					<a href="../simple/index.html"
+						title="simple map demo">
+						Simple Map Viewer
+					</a>
+				</li>
+				<li>
+					<a href="../interactive/index.html"
+						title="interactive map demo">
+						Interactive Map Viewer
+					</a>
+				</li>
+
+				<li>
+					<a href="../mapViewer/index.html"
+						title="enhanced map demo">
+						Enhanced Map Viewer
+					</a>
+				</li>
+			</ul>
+			<h2>Complex</h2>
+			<ul>
+				<li>
+					<a href="../Demis/index.html"
+						title="Demis map viewer">
+						Different maps connected
+					</a>
+				</li>
+				<li>
+					<a href="../timeSeries/index.html"
+						title="Time series viewer">
+						Time series viewer
+					</a>
+				</li>
+				<li>
+					<a href="../wfs-t/index.html"
+						title="Feature entry">
+						Feature entry
+					</a>
+				</li>
+
+				<li>
+					<a href="../OWSExplorer/index.html"
+						title="OWS Explorer">
+						Open Web Services Explorer
+					</a>
+				</li>
+			</ul>
+			<h2>New</h2>
+			<ul>
+				<li>
+					<a href="../catalog/index.html"
+						title="Catalog Client">
+						Catalog Client
+					</a>
+				</li>
+				<li>
+					<a href="../mergeModels/index.html"
+						title="Complex Vector Rendering with GmlRendererOL and MergeModels">
+						Complex Vector Rendering
+					</a>
+				</li>
+				<li>
+					<a href="../flickr/index.html"
+						title="GeoRSS feed example">
+						Live flickr feed viewer
+					</a>
+				</li>
+				<li>
+					<a href="../shipTracks/index.html"
+						title="GeoRSS Ship tracks">
+						GeoRSS Shiptracks
+					</a>
+				</li>
+
+				<li>
+					<a href="../GeoBliki/index.html"
+						title="GeoBliki example">
+						WFS query, Popup Feature information
+					</a>
+				</li>
+				<li>
+					<a href="../Google/index.html"
+						title="Google Map Viewer">
+						Google Map Viewer
+					</a>
+				</li>
+				<li>
+					<a href="../projDemo/index.html"
+						title="Reprojecting vector data on the fly">
+						Projections
+					</a>
+				</li>
+				<li>
+					<a href="../openlayers/index.html"
+						title="Webmap.js integration">
+						OpenLayers integration
+					</a>
+				</li>
+				<li>
+					<a href="../i18n/index.html"
+						title="I18N map demo">
+						I18N Map Viewer
+					</a>
+				</li>
+			</ul>
+			<h2><a href="../" style="color:black">
+				All examples</a>
+			</h2>
+			
+
+		</div><!-- /menubar -->
+	</xsl:template>
+
+	<xsl:template match="text()|@*" />
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/mapViewer/LegendOpaque.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/mapViewer/LegendOpaque.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/mapViewer/LegendOpaque.xsl	(revision 4307)
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet 
+    xmlns:wmc="http://www.opengis.net/context" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+    xmlns:gml='http://www.opengis.net/gml' 
+    xmlns:wfs='http://www.opengis.net/wfs'
+    xmlns:xlink='http://www.w3.org/1999/xlink'
+    version="1.0">
+<!--
+Description: Convert a Web Map Context into a HTML Legend
+Author:      Cameron Shorter cameron ATshorter.net
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: LegendOpaque.xsl 3907 2008-03-06 10:27:06Z steven $
+$Name$
+-->
+  <xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
+  
+  <!-- The common params set for all widgets -->
+  <xsl:param name="lang">en</xsl:param>
+  <xsl:param name="modelId"/>
+  <xsl:param name="widgetId"/>
+
+  <xsl:param name="skinDir"/>
+  <xsl:param name="selectIcon">/images/id.gif</xsl:param>
+  
+  <!-- Text params for this widget -->
+  <xsl:param name="title"/>
+  
+<!-- The name of the javascript context object to call -->
+  <xsl:param name="featureName"/>
+  <xsl:param name="hidden"/>
+  <xsl:param name="context">config.objects.<xsl:value-of select="$modelId"/></xsl:param>
+
+  <!-- Main html -->
+  <xsl:template match="/wmc:ViewContext">
+    <table>
+      <tr>
+        <th align="left" ><xsl:value-of select="$title"/></th>
+      </tr>
+      <xsl:choose>
+        <xsl:when test="$featureName">
+          <xsl:apply-templates select="wmc:ResourceList[wmc:Name='$featureName'] | wmc:LayerList[wmc:Name='$featureName']"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:apply-templates select="wmc:ResourceList/* | wmc:LayerList/*">
+            <xsl:sort select="position()" order="descending" data-type="number"/>
+          </xsl:apply-templates>
+        </xsl:otherwise>
+      </xsl:choose>
+    </table>
+  </xsl:template>
+  
+  <!-- Layer -->
+  <xsl:template match="wmc:Layer">
+    <tr>
+      <!-- Visiblity -->
+      <td>
+        <input id="legend_{wmc:name}">
+          <xsl:choose>
+            <xsl:when test="@opaque='1'">
+              <xsl:attribute name="type">radio</xsl:attribute>
+              <xsl:attribute name="name">legendGroup</xsl:attribute>
+              <xsl:attribute name="onclick">config.objects.<xsl:value-of select="$widgetId"/>.swapOpaqueLayer('<xsl:value-of select="wmc:Name"/>',!this.checked)</xsl:attribute>
+            </xsl:when>
+            <xsl:otherwise>
+              <xsl:attribute name="type">checkbox</xsl:attribute>
+              <xsl:attribute name="onclick"><xsl:value-of select="$context"/>.setHidden('<xsl:value-of select="wmc:Name"/>',!this.checked)</xsl:attribute>
+            </xsl:otherwise>
+          </xsl:choose>
+          <xsl:if test="@hidden='0'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if>
+        </input>
+        <xsl:choose>
+          <xsl:when test="wmc:Title/@xml:lang">              
+            <xsl:value-of select="wmc:Title[@xml:lang=$lang]"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="wmc:Title"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </td>
+    </tr>
+    <!-- StyleList
+    <tr>
+      <td></td>
+      <td></td>
+      <td>
+      <xsl:if test="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL"> 
+          <xsl:element name="img">
+              <xsl:attribute name="src">
+                <xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL/wmc:OnlineResource/@xlink:href"/> 
+              </xsl:attribute>
+          </xsl:element>
+         </xsl:if>
+      </td>
+    </tr> -->
+  </xsl:template>
+  
+  <xsl:template match="text()|@*"/>
+  
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/wfs-t/config.xml
===================================================================
--- lib/spatial/mapbuilder/examples/wfs-t/config.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/wfs-t/config.xml	(revision 4307)
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="referenceTemplate" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+  <!--
+    Description: This configuration file determines what components from the
+    Mapbuilder library are to be included in a Main Mapbuilder web
+    page.
+    Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html 
+    
+    $Id: config.xml 3875 2008-02-27 11:10:55Z steven $
+  -->
+  <!--
+    All static images should be relative to this URL.
+    This dir is relative the dir of the main html file. 
+  -->
+  <models>
+    <Context id="mainMap">
+      <defaultModelUrl>tasmania.xml</defaultModelUrl>
+      <widgets>
+        <MapPaneOL id="mainMapWidget">
+          <htmlTagId>mainMapPane</htmlTagId>
+          <fixedSize>true</fixedSize>
+        </MapPaneOL>
+        <!--Loading id="loading" /-->
+        <CursorTrack id="cursorTrack"/>
+        <Legend id="legend" />
+        <Version id="version" />
+        <OverviewMap id="locatorWidget">
+          <htmlTagId>locatorMap</htmlTagId>
+          <width>180</width>
+          <layers>
+            <layerName>basic</layerName>
+            <layerName>topp:tasmania_water_bodies</layerName>
+            <layerName>topp:tasmania_roads</layerName>
+            <layerName>topp:tasmania_cities</layerName>
+          </layers>
+        </OverviewMap>
+      </widgets>
+    </Context>
+    <Transaction id="transaction">
+      <widgets>
+        <TransactionResponse id="transactionResponse"></TransactionResponse>
+      </widgets>
+    </Transaction>
+    <FeatureCollection id="featureCollection">
+      <widgets>
+        <TipWidgetOL id="featurePopup">
+          <width>200</width>
+          <height>150</height>
+          <opacity>0.8</opacity>
+          <backgroundColor>#D0D0D0</backgroundColor>
+          <border>1px solid black</border>
+        </TipWidgetOL>
+        <GmlRendererOL id="testGmlRenderer">
+          <targetModel>mainMap</targetModel>
+          <sldModel>sld</sldModel>
+          <featureOnClick>featurePopup</featureOnClick>
+        </GmlRendererOL>
+        <FeatureList id="featureList"></FeatureList>
+      </widgets>
+      <tools>
+        <FeatureSelectHandler id="featureHighlighter">
+          <targetModel>mainMap</targetModel>
+        </FeatureSelectHandler>
+      </tools>
+      <namespace>xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs' xmlns:topp='http://www.openplans.org/topp'</namespace>
+    </FeatureCollection>
+    <StyledLayerDescriptor id="sld">
+      <defaultModelUrl>../data/features.sld</defaultModelUrl>
+    </StyledLayerDescriptor>
+  </models>
+  <widgets>
+    <ZoomIn id="zoomIn">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <selected>true</selected>
+      <enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+    </ZoomIn>
+    <ZoomOut id="zoomOut">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+    </ZoomOut>
+    <DragPan id="dragPan">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/PanEnable.png</enabledSrc>
+      <disabledSrc>/images/PanDisable.png</disabledSrc>
+    </DragPan>
+    <Reset id="reset">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+    </Reset>
+    <EditPoint id="editPoint">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>featureCollection</targetModel>
+      <targetContext>mainMap</targetContext>
+      <class>RadioButton</class>
+      <enabledSrc>/images/EditPointEnable.png</enabledSrc>
+      <disabledSrc>/images/EditPointDisable.png</disabledSrc>
+      <transactionResponseModel>transaction</transactionResponseModel>
+      <featureXpath>/gml:FeatureCollection/gml:featureMember/topp:tasmania_cities/topp:the_geom/gml:MultiPoint/gml:pointMember/gml:Point/gml:coordinates</featureXpath>
+      <defaultModelUrl>template_cities.xml</defaultModelUrl>
+    </EditPoint>
+    <EditLine id="editLine">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>featureCollection</targetModel>
+      <targetContext>mainMap</targetContext>
+      <class>RadioButton</class>
+      <enabledSrc>/images/EditLineEnable.png</enabledSrc>
+      <disabledSrc>/images/EditLineDisable.png</disabledSrc>
+      <transactionResponseModel>transaction</transactionResponseModel>
+      <featureXpath>//gml:coordinates</featureXpath>
+      <defaultModelUrl>template_road.xml</defaultModelUrl>
+    </EditLine>
+    <EditPolygon id="editPolygon">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>featureCollection</targetModel>
+      <targetContext>mainMap</targetContext>
+      <class>RadioButton</class>
+      <enabledSrc>/images/EditPolygonEnable.png</enabledSrc>
+      <disabledSrc>/images/EditPolygonDisable.png</disabledSrc>
+      <transactionResponseModel>transaction</transactionResponseModel>
+      <featureXpath>//gml:coordinates</featureXpath>
+      <defaultModelUrl>template_waterbodies.xml</defaultModelUrl>
+    </EditPolygon>
+    <InsertFeature id="insertFeature">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>featureCollection</targetModel>
+      <targetContext>mainMap</targetContext>
+      <class>Button</class>
+      <disabledSrc>/images/SaveDisable.png</disabledSrc>
+      <transactionResponseModel>transaction</transactionResponseModel>
+      <webServiceUrl>../../../geoserver/wfs</webServiceUrl>
+    </InsertFeature>
+    <DeleteFeature id="deleteFeature">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>featureCollection</targetModel>
+      <targetContext>mainMap</targetContext>
+      <class>Button</class>
+      <disabledSrc>/images/DeleteDisable.png</disabledSrc>
+      <transactionResponseModel>transaction</transactionResponseModel>
+      <webServiceUrl>../../../geoserver/wfs</webServiceUrl>
+    </DeleteFeature>
+    <WfsGetFeature id="wfsGetFeature">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/QueryEnable.png</enabledSrc>
+      <disabledSrc>/images/QueryDisable.png</disabledSrc>
+      <transactionResponseModel>featureCollection</transactionResponseModel>
+      <webServiceUrl>../../../geoserver/wfs</webServiceUrl>
+      <typeName>topp:tasmania_cities,topp:tasmania_roads,topp:tasmania_water_bodies</typeName>
+      <tolerance>5</tolerance>
+      <maxFeatures>100</maxFeatures>
+    </WfsGetFeature>
+    <ExampleList id="exampleList"><!-- this is the widget that draws the example menu -->
+		<scriptFile>../ExampleList.js</scriptFile>
+		<stylesheet>../ExampleList.xsl</stylesheet>
+    </ExampleList>
+  </widgets>
+  <skinDir>../../lib/skin/default</skinDir>
+  <!-- Url of LOCAL redirection script, required to access external URLs -->
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/wfs-t/tasmania.xml
===================================================================
--- lib/spatial/mapbuilder/examples/wfs-t/tasmania.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/wfs-t/tasmania.xml	(revision 4307)
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<ViewContext version="1.0.0" id="atlas_world" xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="400" height="300"/>
+    <BoundingBox SRS="EPSG:4326" minx="143.08" miny="-44.28" maxx="150.1" maxy="-39.02"/>
+    <Title>Tasmania, Austalia</Title>
+    <KeywordList>
+      <Keyword>Tasmania</Keyword>
+      <Keyword>Australia</Keyword>
+    </KeywordList>
+    <Abstract>Low resolution map of Tasmania, Australia derived from the Digital Chart of the World.</Abstract>
+  </General>
+  <LayerList>
+    <Layer queryable="0" hidden="0">
+      <Server service="OGC:WMS-C" version="1.0.0" title="OGC:WMS-C">
+        <OnlineResource xlink:type="simple" xlink:href="http://labs.metacarta.com/wms/vmap0"/>
+      </Server>
+      <Name>basic</Name>
+      <Title>basic</Title>
+      <SRS>EPSG:4326 EPSG:4269</SRS>
+      <FormatList>
+        <Format>image/jpeg</Format>
+        <Format>image/png</Format>
+        <Format>image/gif</Format>
+        <Format current="1">image/png; mode=24bit</Format>
+        <Format>image/wbmp</Format>
+        <Format>image/tiff</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Local">
+        <OnlineResource xlink:type="simple" xlink:href="../../../geoserver/wms"/>
+      </Server>
+      <Name>topp:tasmania_state_boundaries</Name>
+      <Title>Tasmania State Boundaries</Title>
+      <Abstract>Tasmania State Boundaries based on the Digital Chart of the World.</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>green</Name>
+          <Title>Default Styler</Title>
+          <Abstract/>
+          <!--LegendURL width="20" height="20">
+            <Format>image/gif</Format>
+            <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="../../../geoserver/wms/GetLegendGraphic?VERSION=1.0.0&amp;FORMAT=image/gif&amp;WIDTH=20&amp;HEIGHT=20&amp;LAYER=topp:tasmania_state_boundaries"/>
+          </LegendURL-->
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Local">
+        <OnlineResource xlink:type="simple" xlink:href="../../../geoserver/wms"/>
+      </Server>
+      <Name>topp:tasmania_water_bodies</Name>
+      <Title>Tasmania Water Bodies</Title>
+      <Abstract>Tasmania Water Bodies based on the Digital Chart of the World.</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>cite_lakes</Name>
+          <Title>Default Styler</Title>
+          <Abstract/>
+          <!--LegendURL width="20" height="20">
+            <Format>image/gif</Format>
+            <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="../../../geoserver/wms/GetLegendGraphic?VERSION=1.0.0&amp;FORMAT=image/gif&amp;WIDTH=20&amp;HEIGHT=20&amp;LAYER=topp:tasmania_water_bodies"/>
+          </LegendURL-->
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Local">
+        <OnlineResource xlink:type="simple" xlink:href="../../../geoserver/wms"/>
+      </Server>
+      <Name>topp:tasmania_roads</Name>
+      <Title>Tasmania Roads</Title>
+      <Abstract>Tasmania Roads based on the Digital Chart of the World.</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>simple_roads</Name>
+          <Title>Default Styler for simple road segments</Title>
+          <Abstract/>
+          <!--LegendURL width="20" height="20">
+            <Format>image/gif</Format>
+            <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="../../../geoserver/wms/GetLegendGraphic?VERSION=1.0.0&amp;FORMAT=image/gif&amp;WIDTH=20&amp;HEIGHT=20&amp;LAYER=topp:tasmania_roads"/>
+          </LegendURL-->
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Local">
+        <OnlineResource xlink:type="simple" xlink:href="../../../geoserver/wms"/>
+      </Server>
+      <Name>topp:tasmania_cities</Name>
+      <Title>Tasmania Major Cities</Title>
+      <Abstract>Tasmania Major based on the Digital Chart of the World.</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>capitals</Name>
+          <Title>Default Styler</Title>
+          <Abstract/>
+          <!--LegendURL width="20" height="20">
+            <Format>image/gif</Format>
+            <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="../../../geoserver/wms/GetLegendGraphic?VERSION=1.0.0&amp;FORMAT=image/gif&amp;WIDTH=20&amp;HEIGHT=20&amp;LAYER=topp:tasmania_cities"/>
+          </LegendURL-->
+        </Style>
+      </StyleList>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/Demis/DemisWorldMap.xml
===================================================================
--- lib/spatial/mapbuilder/examples/Demis/DemisWorldMap.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/Demis/DemisWorldMap.xml	(revision 4307)
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+
+<ViewContext version="1.0.0" id="atlas_world" xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+
+	<General>
+
+		<Window width="600" height="300"/>
+
+		<BoundingBox SRS="EPSG:4326" minx="-180" miny="-90" maxx="180" maxy="90"/>
+
+		<Title xml:lang="en">World Base Map</Title>
+
+		<KeywordList>
+
+			<Keyword>world</Keyword>
+
+			<Keyword>atlas</Keyword>
+
+		</KeywordList>
+
+		<Abstract xml:lang="en">World Base Map.</Abstract>
+
+	</General>
+
+	<LayerList>
+
+		<Layer queryable="1" hidden="0">
+
+			<Server service="OGC:WMS" version="1.0.0" title="OGC:WMS">
+
+      <OnlineResource xlink:type="simple" xlink:href="http://www2.demis.nl/WMS/wms.asp?wms=WorldMap"/>
+
+			</Server>
+
+			<Name>Bathymetry,Countries,Topography,Hillshading,Builtup+areas,Coastlines,Waterbodies,Inundated,Rivers,Streams,Railroads,Highways,Roads,Trails,Borders,Cities,Settlements,Spot+elevations,Airports,Ocean+features</Name>
+
+			<Title>WMS 1.0</Title>
+
+			<SRS>EPSG:4326</SRS>
+
+			<FormatList>
+
+				<Format current="1">image/gif</Format>
+
+			</FormatList>
+
+			<StyleList>
+
+				<Style current="1">
+
+					<Name>default</Name>
+
+					<Title>default</Title>
+
+				</Style>
+
+			</StyleList>
+
+		</Layer>
+
+	</LayerList>
+
+</ViewContext>
+
Index: lib/spatial/mapbuilder/examples/Demis/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/Demis/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/Demis/index.html	(revision 4307)
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+     
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Mapbuilder Different maps connected</title>
+       <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+     <script>
+      // URL of Mapbuilder configuration file.
+      var mbConfigUrl='config.xml';
+    </script>
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+  </head>
+  <body onload="mbDoLoad()" >
+  <div id="header">
+    <h1><a href="http://communitymapbuilder.org">MapBuilder</a> <!--Version-->1.5-rc2<!--VersionEnd--> Different maps connected</h1>
+    <!-- The version tag will be inserted into the comment tags above
+    during the build process. -->
+<!--This is for more complex pages <a href="" class="help">how to use this page</a></div>-->
+  </div>
+  <div id="middle">
+	  	    <div id="exampleList"></div><!-- this is the container where the menubar will be drawn -->
+		<div id="mainbody">
+		  <div class="left">
+		    <h3>Explanation</h3>
+		    This demo shows how to combine different (opaque) map layers, in a google maps style.
+		    To do this you need to have a collection list with the WMCs you want to use. Note that 
+		    the WMCs in the list can contain multiple layers.<br/>
+		    When you click on one of the three buttons on top of the map it will load the WMC 
+		    corresponding with that particular button and it will use the current extent. This
+		    way you can easily switch between a map and satellite view for instance.
+	    </div>
+	  	<div class="right">
+	  		<table>
+	  			<tr>
+	  				<td>
+							<div id="collectionList"></div>
+						</td>
+						<td align='left' id="mainButtonBar" style="width:168px"></td>
+					</tr>
+				</table>
+	  	  <div id="mainMapPane">
+	        <noscript>
+	            this page requires Javascript to be enabled
+	        </noscript>
+	      </div>
+	      <table>     
+	      	<tr>
+	        	<td align="center" id="mapScaleText"/>
+		        <td align="center" id="mapScaleBar"/>
+	  	      <td align="right" id="cursorTrack" />
+	    	    <td id="aoiForm" />
+	      	</tr>
+		    </table>      
+		    <div id="loading">
+		    </div>
+			</div>
+		</div>
+	</div>
+  <div id="footer">
+	  <div class="right">
+			<a href="http://communitymapbuilder.org/" title="powered by community mapbuilder"><img src="../../lib/skin/default/images/Icon.gif"/></a>	  	
+			<a href="https://www.osgeo.org/" title="member of OSgeo"><img src="../../lib/skin/default/images/Osgeo.png"/></a>
+    </div>
+  </div>  
+  </body>
+</html>
Index: lib/spatial/mapbuilder/examples/mergeModels/features.sld
===================================================================
--- lib/spatial/mapbuilder/examples/mergeModels/features.sld	(nonexistent)
+++ lib/spatial/mapbuilder/examples/mergeModels/features.sld	(revision 4307)
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="utf-8" standalone="no" ?>
+<StyledLayerDescriptor version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<!--
+    $Id: features.sld 3821 2008-02-01 13:58:30Z ahocevar $
+  -->
+	<NamedLayer>
+		<Name>gmlRenderer</Name>
+		<UserStyle>
+			<Name>defaultScenario</Name>
+			<IsDefault>true</IsDefault>
+			<FeatureTypeStyle>
+				<Rule>
+					<PointSymbolizer>
+						<Graphic>
+							<Mark>
+								<Fill>
+									<CssParameter name="fill">#AA0000</CssParameter>
+									<CssParameter name="fill-opacity">0.5</CssParameter>
+								</Fill>
+								<Stroke>
+									<CssParameter name="stroke">black</CssParameter>
+									<CssParameter name="stroke-opacity">1</CssParameter>
+									<CssParameter name="stroke-width">2</CssParameter>
+								</Stroke>
+							</Mark>
+							<Size>7</Size>
+						</Graphic>
+					</PointSymbolizer>
+					<LineSymbolizer>
+						<Stroke>
+							<CssParameter name="stroke">#AA0000</CssParameter>
+							<CssParameter name="stroke-opacity">0.5</CssParameter>
+							<CssParameter name="stroke-width">6</CssParameter>
+						</Stroke>
+					</LineSymbolizer>
+					<PolygonSymbolizer>
+						<Fill>
+							<CssParameter name="fill">#AA0000</CssParameter>
+							<CssParameter name="fill-opacity">0.5</CssParameter>
+						</Fill>
+						<Stroke>
+							<CssParameter name="stroke">black</CssParameter>
+							<CssParameter name="stroke-opacity">1</CssParameter>
+							<CssParameter name="stroke-width">3</CssParameter>
+						</Stroke>
+					</PolygonSymbolizer>
+				</Rule>
+			</FeatureTypeStyle>
+		</UserStyle>
+		<UserStyle>
+			<Name>selectedScenario</Name>
+			<FeatureTypeStyle>
+				<Rule>
+					<PointSymbolizer>
+						<Graphic>
+							<Mark>
+								<Fill>
+									<CssParameter name="fill">#FF2200</CssParameter>
+									<CssParameter name="fill-opacity">0.8</CssParameter>
+								</Fill>
+								<Stroke>
+									<CssParameter name="stroke">#FF4400</CssParameter>
+									<CssParameter name="stroke-opacity">0.8</CssParameter>
+									<CssParameter name="stroke-width">3</CssParameter>
+								</Stroke>
+							</Mark>
+							<Size>7</Size>
+						</Graphic>
+					</PointSymbolizer>
+					<LineSymbolizer>
+						<Stroke>
+							<CssParameter name="stroke">#FF2200</CssParameter>
+							<CssParameter name="stroke-opacity">0.8</CssParameter>
+							<CssParameter name="stroke-width">7</CssParameter>
+						</Stroke>
+					</LineSymbolizer>
+					<PolygonSymbolizer>
+						<Fill>
+							<CssParameter name="fill">#FF2200</CssParameter>
+							<CssParameter name="fill-opacity">0.8</CssParameter>
+						</Fill>
+						<Stroke>
+							<CssParameter name="stroke">#FF2200</CssParameter>
+							<CssParameter name="stroke-opacity">0.8</CssParameter>
+							<CssParameter name="stroke-width">7</CssParameter>
+						</Stroke>
+					</PolygonSymbolizer>
+				</Rule>
+			</FeatureTypeStyle>
+		</UserStyle>
+		<UserStyle>
+			<Name>defaultNews</Name>
+			<FeatureTypeStyle>
+				<Rule>
+					<PointSymbolizer>
+						<Graphic>
+							<Mark>
+								<Fill>
+									<CssParameter name="fill">#0000AA</CssParameter>
+									<CssParameter name="fill-opacity">0.5</CssParameter>
+								</Fill>
+								<Stroke>
+									<CssParameter name="stroke">red</CssParameter>
+									<CssParameter name="stroke-opacity">1</CssParameter>
+									<CssParameter name="stroke-width">2</CssParameter>
+								</Stroke>
+							</Mark>
+							<Size>7</Size>
+						</Graphic>
+					</PointSymbolizer>
+					<LineSymbolizer>
+						<Stroke>
+							<CssParameter name="stroke">#0000AA</CssParameter>
+							<CssParameter name="stroke-opacity">0.5</CssParameter>
+							<CssParameter name="stroke-width">6</CssParameter>
+						</Stroke>
+					</LineSymbolizer>
+					<PolygonSymbolizer>
+						<Fill>
+							<CssParameter name="fill">#0000AA</CssParameter>
+							<CssParameter name="fill-opacity">0.5</CssParameter>
+						</Fill>
+						<Stroke>
+							<CssParameter name="stroke">red</CssParameter>
+							<CssParameter name="stroke-opacity">1</CssParameter>
+							<CssParameter name="stroke-width">3</CssParameter>
+						</Stroke>
+					</PolygonSymbolizer>
+				</Rule>
+			</FeatureTypeStyle>
+		</UserStyle>
+		<UserStyle>
+			<Name>selectedNews</Name>
+			<FeatureTypeStyle>
+				<Rule>
+					<PointSymbolizer>
+						<Graphic>
+							<Mark>
+								<Fill>
+									<CssParameter name="fill">#FF2200</CssParameter>
+									<CssParameter name="fill-opacity">0.8</CssParameter>
+								</Fill>
+								<Stroke>
+									<CssParameter name="stroke">#FF2200</CssParameter>
+									<CssParameter name="stroke-opacity">0.8</CssParameter>
+									<CssParameter name="stroke-width">3</CssParameter>
+								</Stroke>
+							</Mark>
+							<Size>7</Size>
+						</Graphic>
+					</PointSymbolizer>
+					<LineSymbolizer>
+						<Stroke>
+							<CssParameter name="stroke">#FF2200</CssParameter>
+							<CssParameter name="stroke-opacity">0.8</CssParameter>
+							<CssParameter name="stroke-width">7</CssParameter>
+						</Stroke>
+					</LineSymbolizer>
+					<PolygonSymbolizer>
+						<Fill>
+							<CssParameter name="fill">#FF2200</CssParameter>
+							<CssParameter name="fill-opacity">0.8</CssParameter>
+						</Fill>
+						<Stroke>
+							<CssParameter name="stroke">#FF2200</CssParameter>
+							<CssParameter name="stroke-opacity">0.8</CssParameter>
+							<CssParameter name="stroke-width">7</CssParameter>
+						</Stroke>
+					</PolygonSymbolizer>
+				</Rule>
+			</FeatureTypeStyle>
+		</UserStyle>
+	</NamedLayer>
+</StyledLayerDescriptor>
Index: lib/spatial/mapbuilder/examples/mergeModels/config.xml
===================================================================
--- lib/spatial/mapbuilder/examples/mergeModels/config.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/mergeModels/config.xml	(revision 4307)
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="simpleTemplate"
+  xmlns="http://mapbuilder.sourceforge.net/mapbuilder"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+  <models>
+    <OwsContext id="mainMap">
+      <defaultModelUrl>google.xml</defaultModelUrl>
+      <widgets>
+        <MapPaneOL id="mainMapWidget">
+          <htmlTagId>mainMapPane</htmlTagId>
+          <fixedSize>true</fixedSize>
+        </MapPaneOL>
+       <PanZoomBar id="panZoomBar"/>
+      </widgets>
+      <tools>
+        <History id="extentHistory"/>
+      </tools>
+      <nodeSelectXpath>/wmc:ViewContext/wmc:LayerList/wmc:Layer</nodeSelectXpath>
+    </OwsContext>
+
+    <StyledLayerDescriptor id="sld">
+      <defaultModelUrl>features.sld</defaultModelUrl>
+    </StyledLayerDescriptor>
+
+    <Model id="news">
+      <defaultModelUrl>news.xml</defaultModelUrl>
+      <widgets>
+        <FeatureList id="featureListNews">
+          <scriptFile>FeatureList.js</scriptFile>
+          <stylesheet>FeatureList.xsl</stylesheet>
+        </FeatureList>
+        <GmlRendererConfig id="rendererConfigNews">
+          <featureSRS>EPSG:31285</featureSRS>
+          <sldModel>sld</sldModel>
+          <defaultStyleName>defaultNews</defaultStyleName>
+          <selectStyleName>selectedNews</selectStyleName>
+          <hoverCursor>pointer</hoverCursor>
+          <targetWidget>gmlRenderer</targetWidget>
+        </GmlRendererConfig>
+        <TipWidgetConfig id="featurePopupNews">
+          <stylesheet>TipWidgetOL.xsl</stylesheet>
+          <width>200</width>
+          <height>40</height>
+          <opacity>0.8</opacity>
+          <backgroundColor>#D0D000</backgroundColor>
+          <border>1px solid black</border>
+          <targetWidget>featurePopup</targetWidget>
+        </TipWidgetConfig>
+      </widgets>
+      <namespace>xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:pmb="http://nsuri.notld/poweredByMapbuilder"</namespace>
+    </Model>
+    
+    <Model id="scenario">
+      <defaultModelUrl>scenario.xml</defaultModelUrl>
+      <widgets>
+        <FeatureList id="featureListScenario">
+          <scriptFile>FeatureList.js</scriptFile>
+          <stylesheet>FeatureList.xsl</stylesheet>
+        </FeatureList>
+        <GmlRendererConfig id="rendererConfigScenario">
+          <featureSRS>EPSG:31285</featureSRS>
+          <sldModel>sld</sldModel>
+          <defaultStyleName>defaultScenario</defaultStyleName>
+          <selectStyleName>selectedScenario</selectStyleName>
+          <hoverCursor>pointer</hoverCursor>
+          <targetWidget>gmlRenderer</targetWidget>
+        </GmlRendererConfig>
+        <TipWidgetConfig id="featurePopupScenario">
+          <stylesheet>TipWidgetOL.xsl</stylesheet>
+          <width>200</width>
+          <height>40</height>
+          <opacity>0.8</opacity>
+          <backgroundColor>#D0D0D0</backgroundColor>
+          <border>1px solid black</border>
+          <targetWidget>featurePopup</targetWidget>
+        </TipWidgetConfig>
+      </widgets>
+      <namespace>xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:pmb="http://nsuri.notld/poweredByMapbuilder"</namespace>
+    </Model>
+    
+    <Model id="gml">
+      <defaultModelUrl>empty.xml</defaultModelUrl>
+      <widgets>
+        <GmlRendererOL id="gmlRenderer">
+          <targetModel>mainMap</targetModel>
+          <featureOnHover>featurePopup</featureOnHover>
+        </GmlRendererOL>
+        <TipWidgetOL id="featurePopup">
+          <targetModel>mainMap</targetModel>
+        </TipWidgetOL>
+      </widgets>
+      <tools>
+        <FeatureSelectHandler id="featureHighlighter">
+          <targetModel>mainMap</targetModel>
+        </FeatureSelectHandler>
+        <MergeModels>
+          <merges>
+            <merge>scenario</merge>
+            <merge>news</merge>
+          </merges>
+        </MergeModels>
+      </tools>
+      <namespace>xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:pmb="http://nsuri.notld/poweredByMapbuilder"</namespace>
+    </Model>
+
+  </models>
+
+  <widgets>
+    <Back id="back">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/UndoDisable.png</disabledSrc>
+    </Back>
+    <Forward id="forward">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/RedoDisable.png</disabledSrc>
+    </Forward>
+    <Reset id="reset">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+    </Reset>
+    <ExampleList id="exampleList"><!-- this is the widget that draws the example menu -->
+		<scriptFile>../ExampleList.js</scriptFile>
+		<stylesheet>../ExampleList.xsl</stylesheet>
+    </ExampleList>
+  </widgets>
+  <skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/mergeModels/FeatureList.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/mergeModels/FeatureList.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/mergeModels/FeatureList.xsl	(revision 4307)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" xmlns:pmb="http://nsuri.notld/poweredByMapbuilder" version="1.0">
+
+<!--
+$Id: FeatureList.xsl 3907 2008-03-06 10:27:06Z steven $
+-->
+
+  <xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
+
+  <!-- Common params for all widgets -->
+  <!--xsl:param name="targetModelId"/-->
+  <xsl:param name="modelId"/>
+  <xsl:param name="widgetId"/>
+  <xsl:param name="this">config.objects.<xsl:value-of select="$widgetId"/></xsl:param>
+
+  <!-- Main html -->
+  <xsl:template match="/">
+    <div>
+      <h3><xsl:value-of select="*/gml:name"/></h3>
+      <xsl:apply-templates/>
+    </div>
+  </xsl:template>
+
+  <xsl:template name="featureMember" match="gml:featureMember">
+    <xsl:param name="fid" select="*/@fid"/>
+    <div id="{$widgetId}_{$fid}" class="listitem" onmouseover="{$this}.highlight(this, '{$fid}')" onmouseout="{$this}.dehighlight(this, '{$fid}')">
+      <xsl:value-of select="*/pmb:date"/><br/>
+      <b><xsl:value-of select="*/pmb:name"/></b>
+    </div>
+  </xsl:template>
+
+  <!-- Remove documentation, text, comments -->
+  <xsl:template match="comment()|text()|processing-instruction()">
+  </xsl:template>
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/complete/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/complete/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/complete/index.html	(revision 4307)
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--
+Description: A Browser based Web Map Server Client based on javascript and XSL
+             libraries from http://mapbuilder.sourceforge.net .
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: index.html 3971 2008-04-12 22:17:21Z camerons $
+$Name$
+-->
+
+<html>
+  <head>
+    <title>Mapbuilder Demo</title>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/docsStyle.css'>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/mapStyle.css'>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/button.css'>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/scalebar-fat.css'>
+
+
+    <script>
+    // URL of Mapbuilder configuration file. Required.
+    var mbConfigUrl='completeConfig.xml';
+    
+    //you can set the language value here; or as a param in the GET URL
+    //var language="fr";
+
+    //example of user initialization function;  all mapbuilder objects are
+    //guaranteed to exist when this is called; 
+    //pass a reference to it in the onload method
+    function difnumInit() {
+      config.loadModel('mainMap','../data/context/modisWorld.xml');
+    }
+    function aoiInit() {
+      //example of setting AOI or bbox when the page loads
+      //window.cgiArgs['bbox'] = "0,0,50,50";
+      //window.cgiArgs['aoi'] = "0,0,50,50";
+      //or else set these as URL params for the same effect
+    }
+    </script>
+    
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+  </head>
+
+  <!--body onload="mbDoLoad(bboxInit)"-->
+  <body onload="mbDoLoad(aoiInit)">
+    <!-- Layout mapbuilder widgets and HTML -->
+    <h1><a href="http://mapbuilder.sourceforge.net">MapBuilder</a> <!--Version-->1.5-rc2<!--VersionEnd--> Demo</h1>
+    <!-- The version tag will be inserted into the comment tags above
+    during the build process. -->
+    <p style="text-align:right; font-size: 70%; margin-top: 0;">
+      <a href="?language=en">English</a>
+      <a href="?language=fr">francais</a>
+    </p>
+    <table>
+      <tr>
+        <td valign="top" style="padding:6px;width:180">
+        <div id="locatorMap" ></div>
+        </td>
+        <td>
+          <h2 id="mapTitle"></h2>
+          <div id="mainMapPane" style="position:relative"></div>
+        </td>
+      </tr>
+      <tr>
+        <td/>
+        <td valign="top">
+          <table width="100%">
+            <tr>
+              <td align="left">
+                <div id="mainButtonBar" style="width: 240px"></div>
+              </td>
+              <td align="center" id="mapScaleText"/>
+              <td align="center" id="showDistance"/>
+              <td align="right" id="cursorTrack" />
+            </tr>
+            <tr>
+              <td colspan="3" id="scalebar" style="height:3em"></td>
+            </tr>
+          </table>
+        </td>
+      </tr>
+      <tr>
+        <td id="legend"/>
+        <td>
+          <div id="collectionList" style="float:left"></div>
+          <div id="featureInfo" style="float:right"></div>
+        </td>
+      </tr>
+      <tr>
+        <td><img id="previewImage" src="../../lib/skin/default/images/Spacer.gif" width="180"/>
+        </td>
+        <td id="layerControl"/>
+      </tr>
+      <tr>
+        <td id="locationsSelect"/>
+        <td id="ntsLookupForm"/>
+      </tr>
+      <tr>
+        <td id="urlInput"/>
+        <td id="aoiForm"/>
+      </tr>
+      <tr>
+        <td id="saveModel"/>
+        <td id="abstract"/>
+      </tr>
+      <tr>
+        <td id="featureList"/>
+        <td id="transactionResponse"/>
+      </tr>
+      <tr>
+        <td/>
+        <td>
+          Specify a WMS capabilities doc to show as a map:
+          <div id="wmsCapsUrlInput"></div>
+          <div id="loadAllLayers"></div>
+        </td>
+      </tr>
+      <tr>
+        <td/>
+        <td>
+          <div id="layerList"></div>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="2">
+          <div id="eventLog"></div>
+        </td>
+      </tr>
+    </table>
+    <br/>
+    <p align="right"><a href="http://communitymapbuilder.org">Community Map Builder</a><br/>$Name$</p>
+
+  </body>
+</html>
Index: lib/spatial/mapbuilder/examples/data/gml/states.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/gml/states.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/gml/states.xml	(revision 4307)
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<gml:featureMember
+  schemaLocation="http://www.openplans.org/topp http://localhost:8080/geoserver/wfs/DescribeFeatureType?typeName=topp:states http://www.opengis.net/wfs http://localhost:8080/geoserver/data/capabilities/wfs/1.0.0/WFS-basic.xsd"
+  xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns:gml="http://www.opengis.net/gml"
+  topp="http://www.openplans.org/topp"
+  wfs="http://www.opengis.net/wfs">
+  <topp:states fid="states.2">
+    <ttopp:he_geom>
+      <gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <!--gml:coordinates ts=" " cs="," decimal=".">-77.008232,38.966557
+-76.911209,38.889988 -77.045448,38.78812 -77.035248,38.813915
+-77.045189,38.829365 -77.040405,38.838413 -77.039078,38.862431
+-77.067886,38.886101 -77.078949,38.9156 -77.122627,38.93206
+-77.042389,38.993431 </gml:coordinates-->
+                <gml:coordinates ts=" " cs="," decimal=".">-177.008232,38.966557
+-76.911209,38.889988 -77.045448,-38.78812
+</gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+      </gml:MultiPolygon>
+    </ttopp:he_geom>
+    <topp:STATE_NAME>District of Columbia</topp:STATE_NAME>
+    <topp:STATE_FIPS>11</topp:STATE_FIPS>
+    <topp:SUB_REGION>S Atl</topp:SUB_REGION>
+    <topp:STATE_ABBR>DC</topp:STATE_ABBR>
+    <topp:LAND_KM>159.055</topp:LAND_KM>
+    <topp:WATER_KM>17.991</topp:WATER_KM>
+    <topp:PERSONS>606900.0</topp:PERSONS>
+    <topp:FAMILIES>122087.0</topp:FAMILIES>
+    <topp:HOUSHOLD>249634.0</topp:HOUSHOLD>
+    <topp:MALE>282970.0</topp:MALE>
+    <topp:FEMALE>323930.0</topp:FEMALE>
+    <topp:WORKERS>229975.0</topp:WORKERS>
+    <topp:DRVALONE>106694.0</topp:DRVALONE>
+    <topp:CARPOOL>36621.0</topp:CARPOOL>
+    <topp:PUBTRANS>111422.0</topp:PUBTRANS>
+    <topp:EMPLOYED>303994.0</topp:EMPLOYED>
+    <topp:UNEMPLOY>23442.0</topp:UNEMPLOY>
+    <topp:SERVICE>65498.0</topp:SERVICE>
+    <topp:MANUAL>22407.0</topp:MANUAL>
+    <topp:P_MALE>0.466</topp:P_MALE>
+    <topp:P_FEMALE>0.534</topp:P_FEMALE>
+    <topp:SAMP_POP>72696.0</topp:SAMP_POP>
+  </topp:states>
+</gml:featureMember>
Index: lib/spatial/mapbuilder/examples/data/gml/roads.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/gml/roads.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/gml/roads.xml	(revision 4307)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gml:featureMember xmlns:topp="http://www.openplans.org/topp" xmlns:gml="http://www.opengis.net/gml">
+  <topp:bc_roads fid="bc_roads.1">
+    <topp:the_geom>
+      <gml:MultiLineString srsName="http://www.opengis.net/gml/srs/epsg.xml#27354">
+        <gml:lineStringMember>
+          <gml:LineString>
+            <gml:coordinates decimal="." cs="," ts=" "></gml:coordinates>
+          </gml:LineString>
+        </gml:lineStringMember>
+      </gml:MultiLineString>
+    </topp:the_geom>
+    <topp:LENGTH>0</topp:LENGTH>
+  </topp:bc_roads>
+</gml:featureMember>
Index: lib/spatial/mapbuilder/examples/data/context/OwcDemisWorldMap.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/OwcDemisWorldMap.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/OwcDemisWorldMap.xml	(revision 4307)
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<OWSContext version="0.0.13" id="ows-context-tie"
+  xmlns="http://www.opengis.net/context"
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  xmlns:ows="http://www.opengis.net/ows">
+  <General>
+    <Window width="400" height="200" />
+    <ows:BoundingBox crs="EPSG:4326">
+      <ows:LowerCorner>-180 -90</ows:LowerCorner>
+      <ows:UpperCorner>180 90</ows:UpperCorner>
+    </ows:BoundingBox>
+
+    <Title xml:lang="en">GeoBliki EO1 Feature</Title>
+    <KeywordList>
+      <Keyword>world</Keyword>
+      <Keyword>atlas</Keyword>
+      <Keyword>georss</Keyword>
+    </KeywordList>
+
+    <Abstract>World Base Map.</Abstract>
+
+    <LogoURL width="140" height="65" format="image/gif">
+      <OnlineResource xlink:type="simple"
+        xlink:href="http://www.opengeospatial.org/img/ogc_header_top_left.gif" />
+    </LogoURL>
+
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple"
+        xlink:href="http://www.opengeospatial.org/press/?page=pressrelease&amp;view=20040525_ContextIE_PR" />
+    </DescriptionURL>
+
+    <ows:ServiceProvider>
+      <ows:ProviderName>Vightel Corporation</ows:ProviderName>
+      <ows:ProviderSite xlink:type="simple"
+        xlink:href="http://www.ec.gc.ca/" />
+      <ows:ServiceContact>
+        <ows:IndividualName>
+          Patrice G Cappelaere
+        </ows:IndividualName>
+        <ows:PositionName>Senior Architect</ows:PositionName>
+        <ows:ContactInfo>
+          <ows:Phone>
+            <ows:Voice>410-340-4868</ows:Voice>
+            <ows:Facsimile>443-283-0370</ows:Facsimile>
+          </ows:Phone>
+          <ows:Address>
+            <ows:DeliveryPoint>
+              8303 Winter Wind Ct
+            </ows:DeliveryPoint>
+            <ows:City>Ellicott City</ows:City>
+            <ows:AdministrativeArea>
+              Maryland
+            </ows:AdministrativeArea>
+            <ows:PostalCode>21043</ows:PostalCode>
+            <ows:Country>USA</ows:Country>
+            <ows:ElectronicMailAddress>
+              pat@cappelaere.com
+            </ows:ElectronicMailAddress>
+          </ows:Address>
+          <ows:OnlineResource xlink:type="simple"
+            xlink:href="http://www.vightel.com/" />
+          <ows:HoursOfService>
+            0700h - 1500h (EST), Monday - Friday
+          </ows:HoursOfService>
+          <ows:ContactInstructions>
+            Just call or email
+          </ows:ContactInstructions>
+        </ows:ContactInfo>
+        <ows:Role>Systems Scientist</ows:Role>
+      </ows:ServiceContact>
+    </ows:ServiceProvider>
+  </General>
+
+  <ResourceList>
+
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.0.0" title="OGC:WMS">
+        <OnlineResource xlink:type="simple"
+          xlink:href="http://www2.demis.nl/WMS/wms.asp?wms=WorldMap" />
+        
+      </Server>
+      <Name>Bathymetry,Countries,Topography,Hillshading,Builtup+areas,Coastlines,Waterbodies,Inundated,Rivers,Streams,Railroads,Highways,Roads,Trails,Borders,Cities,Settlements,Spot+elevations,Airports,Ocean+features</Name>
+      <Title>World Map</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+    </Layer>
+
+  </ResourceList>
+</OWSContext>
Index: lib/spatial/mapbuilder/examples/complete/completeConfig.xml
===================================================================
--- lib/spatial/mapbuilder/examples/complete/completeConfig.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/complete/completeConfig.xml	(revision 4307)
@@ -0,0 +1,318 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="referenceTemplate" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+  <!--
+    Description: This configuration file determines what components from the
+    Mapbuilder library are to be included in a Main Mapbuilder web
+    page.
+    Licence:     LGPL as per: hhttp://www.gnu.org/copyleft/lesser.html
+    
+    $Id: completeConfig.xml 3929 2008-03-20 15:38:32Z ahocevar $
+  -->
+  <!--
+    All static images should be relative to this URL.
+    This dir is relative the dir of the main html file.
+  -->
+  <models>
+    <!--Logger id="eventLogDoc">
+      
+      <widgets>
+      <EventLog id="eventLog"/>
+      </widgets>
+      </Logger-->
+    <Context id="mainMap">
+      <defaultModelUrl>../data/context/demisWorldMap.xml</defaultModelUrl>
+      <widgets>
+        <MapPaneOL id="mainMapWidget">
+          <htmlTagId>mainMapPane</htmlTagId>
+          <fixedSize>true</fixedSize>
+          <imageBuffer>1</imageBuffer>
+        </MapPaneOL>
+        <MapScaleBar id="scalebar">
+          <!--all of these properties are optional-->
+          <!--displaySystem>english</displaySystem-->
+          <displaySystem>metric</displaySystem>
+          <minWidth>100</minWidth>
+          <maxWidth>300</maxWidth>
+          <divisions>4</divisions>
+          <subdivisions>2</subdivisions>
+          <showMinorMeasures>false</showMinorMeasures>
+          <abbreviateLabel>true</abbreviateLabel>
+          <singleLine>false</singleLine>
+          <align>left</align><!-- left, center, or right -->
+        </MapScaleBar>
+        <Loading2 id="loading2">
+          <mapContainerId>mainMapPane</mapContainerId>
+        </Loading2>
+        <CursorTrack id="cursorTrack">
+          <showXY>false</showXY>
+        </CursorTrack>
+        <Legend id="legend" />
+        <Abstract id="abstract"/>
+        <MapTitle id="mapTitle"/>
+        <!--AoiForm id="aoiForm"/-->
+        <MapScaleText id="mapScaleText" />
+        <Save id="saveModelWidget">
+          <htmlTagId>saveModel</htmlTagId>
+        </Save>
+        <LayerControl id="layerControl">
+          <opacity>true</opacity>
+          <legendImageEnable>/images/LegendEnable.png</legendImageEnable>
+	        <legendImageDisable>/images/LegendDisable.png</legendImageDisable> 
+          <moveUpImage>/images/LayerMoveUpDisable.png</moveUpImage>
+          <moveDownImage>/images/LayerMoveDownDisable.png</moveDownImage>
+          <deleteImage>/images/LayerRemoveDisable.png</deleteImage>
+        </LayerControl>
+        <!--
+          <SearchForm id="searchForm">
+          </SearchForm>
+        -->
+      </widgets>
+      <tools>
+        <History id="extentHistory">
+          <targetModel>mainMap</targetModel>
+        </History>
+      </tools>
+    </Context>
+    <Context id="locator">
+      <defaultModelUrl>../data/context/locatorMap.xml</defaultModelUrl>
+      <widgets>
+        <MapPaneOL id="locatorWidget">
+          <htmlTagId>locatorMap</htmlTagId>
+			    <fixedSize>true</fixedSize>
+          <imageBuffer>1</imageBuffer>
+        </MapPaneOL>
+        <AoiBoxDHTML id="aoiBoxLocator">
+          <htmlTagId>locatorMap</htmlTagId>
+          <lineColor>#FF0000</lineColor>
+          <lineWidth>1</lineWidth>
+          <crossSize>15</crossSize>
+        </AoiBoxDHTML>
+        <ModelUrlInput id="urlInput">
+          <defaultUrl>../data/context/modisWorld.xml</defaultUrl>
+        </ModelUrlInput>
+      </widgets>
+      <tools>
+        <AoiMouseHandler id="locatorAoi" />
+        <ZoomToAoi id="locatorZoomToAoi">
+          <targetModel>mainMap</targetModel>
+        </ZoomToAoi>
+      </tools>
+    </Context>
+    <Model id="collectionGroup">
+      <defaultModelUrl>../data/context/demoCollection.xml</defaultModelUrl>
+      <widgets>
+        <CollectionList id="collectionList">
+          <targetModel>mainMap</targetModel>
+        </CollectionList>
+      </widgets>
+    </Model>
+    <Model id="locations">
+      <defaultModelUrl>../data/locations/Global.xml</defaultModelUrl>
+      <widgets>
+        <Locations id="locationsSelect">
+          <targetModel>mainMap</targetModel>
+        </Locations>
+      </widgets>
+    </Model>
+    <Transaction id="transaction">
+      <widgets>
+        <TransactionResponse id="transactionResponse"></TransactionResponse>
+      </widgets>
+    </Transaction>
+    <Model id="featureInfoResponse" template="true">
+      <widgets>
+        <FeatureInfo id="features">
+          <htmlTagId>featureInfo</htmlTagId>
+        </FeatureInfo>
+      </widgets>
+      <namespace>xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs' xmlns:topp='http://www.openplans.org/topp'</namespace>
+    </Model>
+    <FeatureCollection id="featureCollection">
+      <widgets>
+            <GmlRendererOL id="testGmlRenderer">
+          <targetModel>mainMap</targetModel>
+         </GmlRendererOL>
+
+      </widgets>
+      <namespace>xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs' xmlns:topp='http://www.openplans.org/topp'</namespace>
+    </FeatureCollection>
+    <FeatureCollection id="ntsGml" template="true">
+      <!--defaultModelUrl>gml/NTSLookup.xml</defaultModelUrl-->
+      <widgets>
+            <GmlRendererOL id="testNTSRenderer">
+          <targetModel>mainMap</targetModel>
+         </GmlRendererOL>
+      </widgets>
+    </FeatureCollection>
+    <FeatureCollection id="watershedGml">
+      <!--defaultModelUrl>gml/NTSLookup.xml</defaultModelUrl-->
+      <widgets>
+        <GmlRendererOL id="watershedRenderer">
+          <targetModel>mainMap</targetModel>
+         </GmlRendererOL>
+      </widgets>
+    </FeatureCollection>
+    <FeatureCollection id="featureCollection2">
+      <widgets>
+        <ShowDistance id='showDistance'>
+          
+        </ShowDistance>
+      </widgets>
+      <namespace>xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs' xmlns:topp='http://www.openplans.org/topp'</namespace>
+    </FeatureCollection>
+    <!-- example of the point feature renderer
+      <FeatureCollection id="pointFeatures">
+      <defaultModelUrl>../data/gml/topp_cities.xml</defaultModelUrl>
+      <namespace>xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs' xmlns:topp='http://www.openplans.org/topp'</namespace>
+      <nodeSelectXpath>/wfs:FeatureCollection/gml:featureMember/topp:tasmania_cities</nodeSelectXpath>
+      <widgets>
+      <GmlPointRenderer id="pointRenderer">
+      <htmlTagId>mainMapPane</htmlTagId>
+      <mapContainerId>mainMapContainer</mapContainerId>
+      <normalImage>/images/MarkerA.gif</normalImage>
+      <highlightImage>/images/MarkerB.gif</highlightImage>
+      </GmlPointRenderer>
+      </widgets>
+      </FeatureCollection>
+    -->
+    <WmsCapabilities id="wmsCapTemplate">
+      <widgets>
+        <SelectAllMapLayers id="loadAllLayers"/>
+        <ModelStatus id="wmsLoadStatus">
+          <htmlTagId>layerList</htmlTagId>
+          <outputNodeId>layerListCanvas</outputNodeId>
+        </ModelStatus>
+        <SelectMapLayers id="layerListWidget">
+          <htmlTagId>layerList</htmlTagId>
+          <outputNodeId>layerListCanvas</outputNodeId>
+        </SelectMapLayers>
+      </widgets>
+      <tools>
+        <Caps2Context id="convertCaps">
+          <targetModel>mainMap</targetModel>
+        </Caps2Context>
+        <EditContext id="editContext">
+          <targetModel>mainMap</targetModel>
+        </EditContext>
+      </tools>
+      <nodeSelectXpath>//Layer</nodeSelectXpath>
+    </WmsCapabilities>
+  </models>
+  <widgets>
+    <ModelUrlInput id="wmsCapsUrlInput">
+      <targetModel>wmsCapTemplate</targetModel>
+      <defaultUrl>http://localhost:8080/geoserver/wms/GetCapabilities</defaultUrl>
+    </ModelUrlInput>
+    <WebServiceForm id="ntsLookupForm">
+      <targetModel>ntsGml</targetModel>
+      <stylesheet>../../lib/widget/NtsForm.xsl</stylesheet>
+      <webServiceUrl>http://geoservices.cgdi.ca/NTS/NTSLookup</webServiceUrl>
+    </WebServiceForm>
+    <WebServiceForm id="watershedLookupForm">
+      <htmlTagId>ntsLookupForm</htmlTagId>
+      <targetModel>watershedGml</targetModel>
+      <stylesheet>../../lib/widget/CdnWatershedForm.xsl</stylesheet>
+      <webServiceUrl>http://devgeo.cciw.ca:8080/WatershedLookupServlet/WatershedLookupServlet</webServiceUrl>
+    </WebServiceForm>
+    <Back id="back">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/UndoDisable.png</disabledSrc>
+    </Back>
+    <Forward id="forward">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/RedoDisable.png</disabledSrc>
+    </Forward>
+    <ZoomIn id="zoomIn">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <selected>true</selected>
+      <enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+    </ZoomIn>
+    <ZoomOut id="zoomOut">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+    </ZoomOut>
+    <DragPan id="dragPan">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/PanEnable.png</enabledSrc>
+      <disabledSrc>/images/PanDisable.png</disabledSrc>
+    </DragPan>
+    <SetAoi id="setAoi">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/SetAoiEnable.png</enabledSrc>
+      <disabledSrc>/images/SetAoiDisable.png</disabledSrc>
+    </SetAoi>
+    <Reset id="reset">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+    </Reset>
+    <GetFeatureInfo id="getFeatureInfo">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>featureInfoResponse</targetModel>
+      <targetContext>mainMap</targetContext>
+      <class>RadioButton</class>
+      <enabledSrc>/images/QueryEnable.png</enabledSrc>
+      <disabledSrc>/images/QueryDisable.png</disabledSrc>
+    </GetFeatureInfo>
+    <!--EditPoint id="editPoint">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>featureCollection</targetModel>
+      <mouseHandler>mainMouseClick</mouseHandler>
+      <class>RadioButton</class>
+      <enabledSrc>/images/EditPointEnable.png</enabledSrc>
+      <disabledSrc>/images/EditPointDisable.png</disabledSrc>
+      <transactionResponseModel>transaction</transactionResponseModel>
+      <webServiceUrl>http://localhost:8080/geoserver/wfs</webServiceUrl>
+      <featureXpath>/gml:featureMember/points/_SHAPE_/gml:MultiPoint/gml:pointMember/gml:Point/gml:coordinates</featureXpath>
+      <defaultModelUrl>../data/gml/defaultAddPoint.xml</defaultModelUrl>
+      <targetContext>mainMap</targetContext>
+      </EditPoint-->
+    <!--EditLine id="editLine">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>featureCollection</targetModel>
+      <mouseHandler>mainMouseClick</mouseHandler>
+      <class>RadioButton</class>
+      <enabledSrc>/images/EditLineEnable.png</enabledSrc>
+      <disabledSrc>/images/EditLineDisable.png</disabledSrc>
+      <transactionResponseModel>transaction</transactionResponseModel>
+      <webServiceUrl>http://localhost:8080/geoserver/wfs</webServiceUrl>
+      <featureXpath>/gml:featureMember/topp:bc_roads/topp:the_geom/gml:MultiLineString/gml:lineStringMember/gml:LineString/gml:coordinates</featureXpath>
+      <defaultModelUrl>../data/gml/roads.xml</defaultModelUrl>
+      <targetContext>mainMap</targetContext>
+      </EditLine-->
+    <Measurement id="measurement">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>featureCollection2</targetModel>
+      <targetContext>mainMap</targetContext>
+      <class>RadioButton</class>
+      <enabledSrc>/images/MeasureEnable.png</enabledSrc>
+      <disabledSrc>/images/MeasureDisable.png</disabledSrc>
+      <featureXpath>/gml:featureMember/topp:bc_roads/topp:the_geom/gml:MultiLineString/gml:lineStringMember/gml:LineString/gml:coordinates</featureXpath>
+      <defaultModelUrl>../data/gml/measurement.xml</defaultModelUrl>
+    </Measurement>
+    <Save id="save">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/SaveDisable.png</disabledSrc>
+      <popupWindowName>modelXML</popupWindowName>
+    </Save>
+  </widgets>
+  <skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/data/gml/defaultAddLine.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/gml/defaultAddLine.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/gml/defaultAddLine.xml	(revision 4307)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!-- $Id: defaultAddLine.xml 1333 2005-03-12 14:29:07Z madair1 $ -->
+<gml:featureMember version="1.0.0"  xmlns:gml="http://www.opengis.net/gml">
+  <lines>
+    <FID>0</FID>
+    <FNODE_>33424</FNODE_>
+    <TNODE_>33425</TNODE_>
+    <LPOLY_>0</LPOLY_>
+    <RPOLY_>0</RPOLY_>
+    <LENGTH>15.003275603900001</LENGTH>
+    <MINTRANS_>30758</MINTRANS_>
+    <MINTRANS_I>35207</MINTRANS_I>
+    <FCODE>30</FCODE>
+    <_SHAPE_>
+      <gml:MultiLineString srsName="epsg:4326">
+        <gml:lineStringMember>
+          <gml:LineString>
+            <gml:coordinates>-171.086204892704458,42.362313967208152 -71.086038515172532,62.362299983553427 -71.086038683883103,42.362289091480335 </gml:coordinates>
+          </gml:LineString>
+        </gml:lineStringMember>
+      </gml:MultiLineString>
+    </_SHAPE_>
+  </lines>
+</gml:featureMember>
Index: lib/spatial/mapbuilder/examples/data/gml/NTSLookup.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/gml/NTSLookup.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/gml/NTSLookup.xml	(revision 4307)
@@ -0,0 +1,31 @@
+<ntslookup xmlns:xlink="http://www.w3.org/TR/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://geoservices.cgdi.ca/schemas/cgdi/nts/nts-1.1.1.xsd" xmlns:gml="http://www.opengis.net/gml" version="1.1.2">
+  <!-- a chunk of GML data generated by the NTS Lookup service described at: http://geoservices.cgdi.ca/NTS/index.jsp -->
+  <gml:boundedBy>
+    <gml:Box srsName="EPSG:4326">
+      <gml:coordinates>-76.0,45.0 -74.0,46.0</gml:coordinates>
+    </gml:Box>
+  </gml:boundedBy>
+  <ntsResultSet scale="250000">
+    <nts>
+      <gml:name>031G</gml:name>
+      <ntsQuadrangle>
+        <gml:Polygon>
+          <gml:outerBoundaryIs>
+            <gml:LinearRing srsName="EPSG:4326">
+              <gml:coordinates>-74.0,45.0 -76.0,45.0 -76.0,46.0 -74.0,46.0 -74.0,45.0</gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+      </ntsQuadrangle>
+      <ntsNeatline>
+        <gml:Polygon>
+          <gml:outerBoundaryIs>
+            <gml:LinearRing srsName="EPSG:4326">
+              <gml:coordinates>-74.0,45.0 -74.25,45.0 -74.5,45.0 -74.75,45.0 -75.0,45.0 -75.25,45.0 -75.5,45.0 -75.75,45.0 -76.0,45.0 -76.0,45.25 -76.0,45.5 -76.0,45.75 -76.0,46.0 -75.75,46.0 -75.5,46.0 -75.25,46.0 -75.0,46.0 -74.75,46.0 -74.5,46.0 -74.25,46.0 -74.0,46.0 -74.0,45.75 -74.0,45.5 -74.0,45.25 -74.0,45.0 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+      </ntsNeatline>
+    </nts>
+  </ntsResultSet>
+</ntslookup>
\ No newline at end of file
Index: lib/spatial/mapbuilder/examples/data/context/cite.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/cite.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/cite.xml	(revision 4307)
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<ViewContext version="1.0.0" id="atlas_world" xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="500" height="285"/>
+    <BoundingBox SRS="EPSG:4326" minx="-0.0042" miny="-0.0024" maxx="0.0042" maxy="0.0024"/>
+    <Title>Blue Lake Cite Map</Title>
+    <KeywordList>
+      <Keyword>CITE</Keyword>
+    </KeywordList>
+    <Abstract></Abstract>
+  </General>
+  <LayerList>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Cite Forests">
+        <OnlineResource xlink:type="simple" xlink:href="/geoserver/wms"/>
+      </Server>
+      <Name>cite:Forests</Name>
+      <Title>Forests</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList><Format current="1">image/png</Format></FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Cite Forests">
+        <OnlineResource xlink:type="simple" xlink:href="/geoserver/wms"/>
+      </Server>
+      <Name>cite:Ponds</Name>
+      <Title>Ponds</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList><Format current="1">image/png</Format></FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Cite Forests">
+        <OnlineResource xlink:type="simple" xlink:href="/geoserver/wms"/>
+      </Server>
+      <Name>cite:Lakes</Name>
+      <Title>Lakes</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList><Format current="1">image/png</Format></FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Cite Forests">
+        <OnlineResource xlink:type="simple" xlink:href="/geoserver/wms"/>
+      </Server>
+      <Name>cite:Streams</Name>
+      <Title>Streams</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList><Format current="1">image/png</Format></FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Cite Forests">
+        <OnlineResource xlink:type="simple" xlink:href="/geoserver/wms"/>
+      </Server>
+      <Name>cite:NamedPlaces</Name>
+      <Title>Named Places</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList><Format current="1">image/png</Format></FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Cite Forests">
+        <OnlineResource xlink:type="simple" xlink:href="/geoserver/wms"/>
+      </Server>
+      <Name>cite:Buildings</Name>
+      <Title>Buildings</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList><Format current="1">image/png</Format></FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Cite Forests">
+        <OnlineResource xlink:type="simple" xlink:href="/geoserver/wms"/>
+      </Server>
+      <Name>cite:DividedRoutes</Name>
+      <Title>Divided Routes</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList><Format current="1">image/png</Format></FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Cite Forests">
+        <OnlineResource xlink:type="simple" xlink:href="/geoserver/wms"/>
+      </Server>
+      <Name>cite:RoadSegments</Name>
+      <Title>Road Segments</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList><Format current="1">image/png</Format></FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Cite Forests">
+        <OnlineResource xlink:type="simple" xlink:href="/geoserver/wms"/>
+      </Server>
+      <Name>cite:Bridges</Name>
+      <Title>Bridges</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList><Format current="1">image/png</Format></FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Cite Forests">
+        <OnlineResource xlink:type="simple" xlink:href="/geoserver/wms"/>
+      </Server>
+      <Name>cite:MapNeatline</Name>
+      <Title>Map Neatline</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList><Format current="1">image/png</Format></FormatList>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/context/DM_Canada.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/DM_Canada.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/DM_Canada.xml	(revision 4307)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<ViewContext version="1.0.0" id="atlas_l7o" xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="400" height="200"/>
+    <BoundingBox SRS="EPSG:4326" minx="-142" miny="40" maxx="-52" maxy="85"/>
+    <!--BoundingBox SRS="EPSG:42304" minx="-2600000" miny="-1000000" maxx="3100000" maxy="3800000"/-->
+    <Title>Canada Map</Title>
+    <KeywordList>
+      <Keyword>Canada</Keyword>
+    </KeywordList>
+    <Abstract>A UMN MapServer installation at DM Solutions.</Abstract>
+    <ContactInformation>
+      <ContactPersonPrimary> 
+        <ContactPerson>Michael Adair</ContactPerson>
+        <ContactOrganization>Canada Centre for Remote Sensing</ContactOrganization>
+      </ContactPersonPrimary>
+      <ContactPosition>Systems Scientist</ContactPosition>
+      <ContactAddress>
+        <AddressType>postal</AddressType>
+        <Address>615 Booth Street, room 650</Address>
+        <City>Ottawa</City>
+        <StateOrProvince>Ontario</StateOrProvince>
+        <PostCode>K1A 0E9</PostCode>
+         <Country>Canada</Country>
+      </ContactAddress>
+      <ContactVoiceTelephone>+01 613 947 1342</ContactVoiceTelephone>
+      <ContactFacsimileTelephone>+01 613 947 2410</ContactFacsimileTelephone>
+      <ContactElectronicMailAddress>mike.adair@ccrs.nrcan.gc.ca</ContactElectronicMailAddress>
+    </ContactInformation>
+  </General>
+  <LayerList>
+  <Layer queryable="0" hidden="0"><Server service="wms" version="1.1.0" title="GMap WMS Demo Server">
+  <OnlineResource xlink:type="simple" xlink:href="http://dev1.dmsolutions.ca/cgi-bin/mswms_gmap?"/></Server>
+  <Name>bathymetry</Name><Title>Elevation/Bathymetry</Title><SRS>EPSG:4326</SRS></Layer>
+  <Layer queryable="0" hidden="0"><Server service="wms" version="1.1.0" title="GMap WMS Demo Server">
+  <OnlineResource xlink:type="simple" xlink:href="http://dev1.dmsolutions.ca/cgi-bin/mswms_gmap?"/></Server>
+  <Name>land_fn</Name><Title>Foreign Lands</Title><SRS>EPSG:4326</SRS></Layer>
+  <Layer queryable="0" hidden="0"><Server service="wms" version="1.1.0" title="GMap WMS Demo Server">
+  <OnlineResource xlink:type="simple" xlink:href="http://dev1.dmsolutions.ca/cgi-bin/mswms_gmap?"/></Server>
+  <Name>prov_bound</Name><Title>Province</Title><SRS>EPSG:4326</SRS></Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/context/modisWorld.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/modisWorld.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/modisWorld.xml	(revision 4307)
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
+<ViewContext  version="1.0.0" 
+              id="GDP-SearchMapContext-Modis" 
+              xmlns="http://www.opengis.net/context" 
+              xmlns:xlink="http://www.w3.org/1999/xlink" 
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+              xmlns:gdp="http://geodiscover.cgdi.ca"
+              xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="500" height="250"/>
+    <BoundingBox SRS="EPSG:4326" minx="-180" miny="-90" maxx="180" maxy="90"/>
+    <Title>MODIS composite</Title>
+    <KeywordList>
+      <Keyword>MODIS</Keyword>
+    </KeywordList>
+    <Abstract>background map for use in search map widget</Abstract>
+    <LogoURL width="34" height="35" format="image/gif">
+      <OnlineResource xlink:type="simple" xlink:href="http://geodiscover.cgdi.ca/gdp/hmi/common/images/ml/ES.gif"/>
+    </LogoURL>
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://geodiscover.cgdi.ca/gdp/about/en/9.1.4.html"/>
+    </DescriptionURL>
+    <ContactInformation>
+      <ContactPersonPrimary>
+      <ContactPerson>Michael Adair</ContactPerson>
+      <ContactOrganization>Canada Centre for Remote Sensing</ContactOrganization>
+      </ContactPersonPrimary>
+      <ContactPosition>Systems Scientist</ContactPosition>
+      <ContactAddress>
+        <AddressType>postal</AddressType>
+        <Address>615 Booth Street, room 650</Address>
+        <City>Ottawa</City>
+        <StateOrProvince>Ontario</StateOrProvince>
+        <PostCode>K1A 0E9</PostCode>
+        <Country>Canada</Country>
+      </ContactAddress>
+      <ContactVoiceTelephone>+1 613 947 1342</ContactVoiceTelephone>
+      <ContactFacsimileTelephone>+1 613 947 2410</ContactFacsimileTelephone>
+      <ContactElectronicMailAddress>mike.adair@ccrs.nrcan.gc.ca</ContactElectronicMailAddress>
+    </ContactInformation>
+  </General>
+
+  <LayerList>
+      <Layer hidden="0" queryable="0">
+      <Server version="1.1.0" service="OGC">
+        <OnlineResource xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi" xlink:type="simple"/>
+      </Server>
+      <Name>COASTL_BND_1M:Foundation</Name> 
+      <Title>Coastlines</Title> 
+      <Abstract>info</Abstract>
+      <DataURL>
+        <OnlineResource xlink:href="http://www.cits.rncan.gc.ca/" xlink:type="simple"/>
+      </DataURL>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+      <Extension>
+        <LatLongBoundingBox xmlns="gdp" SRS="EPSG:4326" minx="-180" miny="-90" maxx="180" maxy="90"/>
+      </Extension>
+    </Layer>
+
+    <Layer hidden="1" queryable="0">
+      <Server version="1.1.0" service="OGC">
+        <OnlineResource xlink:href="http://mapserv2.esrin.esa.it/cubestor/cubeserv/cubeserv.cgi" xlink:type="simple"/>
+      </Server>
+      <Name>WORLD_MODIS_1KM:MapAdmin</Name>
+      <Title>Modis world composite</Title>
+      <Abstract>info</Abstract>
+      <DataURL>
+        <OnlineResource xlink:href="http://www.cits.rncan.gc.ca/" xlink:type="simple"/>
+      </DataURL>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/jpg</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+      <Extension>
+        <LatLongBoundingBox xmlns="gdp" SRS="EPSG:4326" minx="-180" miny="-90" maxx="180" maxy="90"/>
+      </Extension>
+    </Layer>
+
+    <Layer hidden="0" queryable="0">
+      <Server version="1.1.0" service="OGC">
+        <OnlineResource xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi" xlink:type="simple"/>
+      </Server>
+      <Name>POLBNDL_BND_1M:Foundation</Name>
+      <Title>Political Boundaries</Title>
+      <Abstract>info</Abstract>
+      <DataURL>
+        <OnlineResource xlink:href="http://www.cits.rncan.gc.ca/" xlink:type="simple"/>
+      </DataURL>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+      <Extension>
+        <LatLongBoundingBox xmlns="gdp" SRS="EPSG:4326" minx="-180" miny="-90" maxx="180" maxy="90"/>
+      </Extension>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/context/referenceWmc1_1_0.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/referenceWmc1_1_0.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/referenceWmc1_1_0.xml	(revision 4307)
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!--
+  Example WMC from the 1.1.0 WMC spec from:
+  http://www.opengeospatial.org/standards/wmc
+-->
+<ViewContext xmlns="http://www.opengeospatial.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1.0" id="eos_data_gateways" xsi:schemaLocation="http://www.opengeospatial.net/context context.xsd">
+  <General>
+    <Window width="500" height="300"/>
+    <BoundingBox SRS="EPSG:4326" minx="-180.000000" miny="-90.000000" maxx="180.000000" maxy="90.000000"/>
+    <Title>EOS Data Gateways</Title>
+    <KeywordList>
+      <Keyword>EOS</Keyword>
+      <Keyword>EOSDIS</Keyword>
+      <Keyword>NASA</Keyword>
+      <Keyword>CCRS</Keyword>
+      <Keyword>CEOS</Keyword>
+      <Keyword>OGC</Keyword>
+    </KeywordList>
+    <Abstract>Map View of EOSDIS partners locations</Abstract>
+    <LogoURL width="130" height="74" format="image/gif">
+      <OnlineResource xlink:type="simple" xlink:href="http://redhook.gsfc.nasa.gov/~imswww/pub/icons/logo.gif"/>
+    </LogoURL>
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://eos.nasa.gov/imswelcome"/>
+    </DescriptionURL>
+    <ContactInformation>
+      <ContactPersonPrimary>
+        <ContactPerson>Tom Kralidis</ContactPerson>
+        <ContactOrganization>Canada Centre for Remote Sensing</ContactOrganization>
+      </ContactPersonPrimary>
+      <ContactPosition>Systems Scientist</ContactPosition>
+      <ContactAddress>
+        <AddressType>postal</AddressType>
+        <Address>615 Booth Street, room 650</Address>
+        <City>Ottawa</City>
+        <StateOrProvince>Ontario</StateOrProvince>
+        <PostCode>K1A 0E9</PostCode>
+        <Country>Canada</Country>
+      </ContactAddress>
+      <ContactVoiceTelephone>+01 613 947 1828</ContactVoiceTelephone>
+      <ContactFacsimileTelephone>+01 613 947 2410</ContactFacsimileTelephone>
+      <ContactElectronicMailAddress>tom.kralidis@ccrs.nrcan.gc.ca</ContactElectronicMailAddress>
+    </ContactInformation>
+  </General>
+  <LayerList>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.0" title="ESA CubeSERV">
+        <OnlineResource xlink:type="simple" xlink:href="http://mapserv2.esrin.esa.it/cubestor/cubeserv/cubeserv.cgi"/>
+      </Server>
+      <Name>WORLD_MODIS_1KM:MapAdmin</Name>
+      <Title>WORLD_MODIS_1KM</Title>
+      <Abstract>Global maps derived from various Earth Observation sensors / WORLD_MODIS_1KM:MapAdmin</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+          <LegendURL width="16" height="16" format="image/gif">
+            <OnlineResource xlink:type="simple" xlink:href="http://mapserv2.esrin.esa.it/cubestor/cubeserv/cubeserv.cgi?VERSION=1.1.0&amp;REQUEST=GetLegendIcon&amp;LAYER=WORLD_MODIS_1KM:MapAdmin&amp;SPATIAL_TYPE=RASTER&amp;STYLE=default&amp;FORMAT=image/gif"/>
+          </LegendURL>
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="OGC:WMS" version="1.0.7" title="The GLOBE Program Visualization Server">
+        <OnlineResource xlink:type="simple" xlink:href="http://globe.digitalearth.gov/viz-bin/wmt.cgi"/>
+      </Server>
+      <Name>COASTLINES</Name>
+      <Title>Coastlines</Title>
+      <Abstract>Context layer: Coastlines</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">GIF</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>Default</Title>
+          <LegendURL width="180" format="image/gif" height="50">
+            <OnlineResource xlink:type="simple" xlink:href="http://globe.digitalearth.gov/globe/en/icons/colorbars/COASTLINES.gif"/>
+          </LegendURL>
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.0.7" title="The GLOBE Program Visualization Server">
+        <OnlineResource xlink:type="simple" xlink:href="http://globe.digitalearth.gov/viz-bin/wmt.cgi"/>
+      </Server>
+      <Name>NATIONAL</Name>
+      <Title>National Boundaries</Title>
+      <Abstract>Context layer: National Boundaries</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">GIF</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>Default</Title>
+          <LegendURL width="180" format="image/gif" height="50">
+            <OnlineResource xlink:type="simple" xlink:href="http://globe.digitalearth.gov/globe/en/icons/colorbars/NATIONAL.gif"/>
+          </LegendURL>
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.0" title="CCRS Spatial Data Warehouse">
+        <OnlineResource xlink:type="simple" xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi"/>
+      </Server>
+      <Name>EOS_DATA_GATEWAYS:CEOWARE2</Name>
+      <Title>EOS Data Gateways</Title>
+      <Abstract>Locations of EOS Data Gateway Locations. The same services and data are available through each gateway location.</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+          <LegendURL width="16" height="16" format="image/gif">
+            <OnlineResource xlink:type="simple" xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi?VERSION=1.1.0&amp;REQUEST=GetLegendIcon&amp;LAYER=EOS_DATA_GATEWAYS:CEOWARE2&amp;SPATIAL_TYPE=POINT&amp;STYLE=default&amp;FORMAT=image/gif"/>
+          </LegendURL>
+        </Style>
+      </StyleList>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/context/atlasWorldgroup.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/atlasWorldgroup.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/atlasWorldgroup.xml	(revision 4307)
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<ViewContext version="1.0.0" id="atlas_world" xmlns="http://www.opengis.net/context" xmlns:wmc="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="400" height="200"/>
+    <BoundingBox SRS="EPSG:4326" minx="-180" miny="-90" maxx="180" maxy="90"/>
+    <Title xml:lang="en">World Base Map</Title>
+    <Title xml:lang="fr">Carte mondiale de base</Title>
+    <KeywordList>
+      <Keyword>world</Keyword>
+      <Keyword>atlas</Keyword>
+    </KeywordList>
+    <Abstract xml:lang="en">Atlas of Canada, World Base Map. Small scale vector based map served by Mapserver WMS.</Abstract>
+    <Abstract xml:lang="fr">L`atlas du Canada, Carte mondiale de base. Une carte de petite �chelle servis par Mapserver WMS.</Abstract>
+    <LogoURL width="34" height="35" format="image/jpg">
+      <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/site/english/atlas_identifier.jpg"/>
+    </LogoURL>
+    <DescriptionURL format="text/html" xml:lang="en">
+      <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/site/english/index.html"/>
+    </DescriptionURL>
+    <DescriptionURL format="text/html" xml:lang="fr">
+      <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/site/francais/index.html"/>
+    </DescriptionURL>
+    <ContactInformation>
+      <ContactPersonPrimary>
+        <ContactPerson>Michael Adair</ContactPerson>
+        <ContactOrganization>Canada Centre for Remote Sensing</ContactOrganization>
+      </ContactPersonPrimary>
+      <ContactPosition>Systems Scientist</ContactPosition>
+      <ContactAddress>
+        <AddressType>postal</AddressType>
+        <Address>615 Booth Street, room 650</Address>
+        <City>Ottawa</City>
+        <StateOrProvince>Ontario</StateOrProvince>
+        <PostCode>K1A 0E9</PostCode>
+        <Country>Canada</Country>
+      </ContactAddress>
+      <ContactVoiceTelephone>+1 613 947 1342</ContactVoiceTelephone>
+      <ContactFacsimileTelephone>+1 613 947 2410</ContactFacsimileTelephone>
+      <ContactElectronicMailAddress>mike.adair@ccrs.nrcan.gc.ca</ContactElectronicMailAddress>
+    </ContactInformation>
+	<Extension>
+		<GroupList>
+			<Group name="Groupe 1" folded="1"/>
+			<Group name="Groupe 2" folded="0"/>
+			<Group name="Groupe 3" folded="1"/>
+		</GroupList>
+    </Extension>
+  </General>
+  <LayerList>
+   <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>ocean</Name>
+      <Title xml:lang="en">ocean area</Title>
+      <Title xml:lang="fr">aires oc�anique</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+       <Extension>
+				<Group name="Groupe 3"/>
+	  </Extension>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>land</Name>
+      <Title xml:lang="en">land area</Title>
+      <Title xml:lang="fr">aire terrestielle</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+       <Extension>
+				<Group name="Groupe 3"/>
+	  </Extension>
+    </Layer>
+    <Layer queryable="0" hidden="1">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>lake_fill</Name>
+      <Title xml:lang="en">lakes</Title>
+      <Title xml:lang="fr">lacs</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+       <Extension>
+				<Group name="Groupe 3"/>
+	  </Extension>
+    </Layer>
+    <Layer queryable="0" hidden="1">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>lake_outline</Name>
+      <Title xml:lang="en">lake outlines</Title>
+      <Title xml:lang="fr">lacs (polygones)</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <Extension>
+				<Group name="Groupe 1"/>
+			</Extension>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>coast</Name>
+      <Title xml:lang="en">coastline</Title>
+      <Title xml:lang="fr">littoral</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <Extension>
+				<Group name="Groupe 2"/>
+			</Extension>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>rivers</Name>
+      <Title xml:lang="en">rivers</Title>
+      <Title xml:lang="fr">rivi�res</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <Extension>
+				<Group name="Groupe 1"/>
+			</Extension>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>boundaries</Name>
+      <Title xml:lang="en">boundaries</Title>
+      <Title xml:lang="fr">limites internationale</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <Extension>
+				<Group name="Groupe 1"/>
+			</Extension>
+    </Layer>
+    <Layer queryable="0" hidden="1">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>capital</Name>
+      <Title xml:lang="en">capitals</Title>
+      <Title xml:lang="fr">capitaux (points)</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <Extension>
+				<Group name="Groupe 2"/>
+			</Extension>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>country_names</Name>
+      <Title xml:lang="en">country names</Title>
+      <Title xml:lang="fr">nom des pays</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <Extension>
+				<Group name="Groupe 1"/>
+			</Extension>
+    </Layer>
+    <Layer queryable="0" hidden="1">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>capital_names</Name>
+      <Title xml:lang="en">capital names</Title>
+      <Title xml:lang="fr">capitaux (nom)</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <Extension>
+				<Group name="Groupe 1"/>
+			</Extension>
+    </Layer>
+   
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/context/radarsatMosaic.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/radarsatMosaic.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/radarsatMosaic.xml	(revision 4307)
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
+<ViewContext version="1.0.0" 
+      id="GDPContextServer-uniqueID" 
+      xmlns="http://www.opengis.net/context" 
+      xmlns:xlink="http://www.w3.org/1999/xlink" 
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+      xmlns:gdp="http://geodiscover.cgdi.ca" 
+      xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="400" height="337"/>
+    <BoundingBox SRS="EPSG:42101" minx="-2600000" miny="-2300000" maxx="3100000" maxy="2500000"/>
+    <Title>Radarsat Mosaic of Canada</Title>
+    <KeywordList>
+      <Keyword>Radarsat</Keyword>
+    </KeywordList>
+    <Abstract>The Canada Centre for Remote Sensing (CCRS), and the Canadian 
+Space Agency (CSA) have collaborated with contributions from RADARSAT 
+International (RSI), to create an ortho-rectified RADARSAT-1 mosaic of Canada.
+        
+Using CSA's RADARSAT data archive, ScanSAR Narrow B descending mode data were 
+selected. The majority of the data, south of 60 degrees was acquired during the 
+growing seasons of 1998 and 1999. The remaining data were collected during the 
+winters of 1998 and 1999.
+        
+A digital national mosaic has been produced at a 250m pixel spacing, in a 
+Lambert Conformal Conic (LCC) projection. 
+    </Abstract>
+    <LogoURL width="228" height="200" format="image/gif">
+      <OnlineResource xlink:type="simple" xlink:href="http://geodiscover.cgdi.ca/gdp/contexts/radarsatMosaic.gif"/>
+    </LogoURL>
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://geodiscover.cgdi.ca/gdp/search?action=fullMetadata&amp;entryId=9090&amp;entryType=productCollection"/>
+    </DescriptionURL>
+    <ContactInformation>
+      <ContactPersonPrimary>
+        <ContactPerson>Michael Adair</ContactPerson>
+        <ContactOrganization>Canada Centre for Remote Sensing</ContactOrganization>
+      </ContactPersonPrimary>
+      <ContactPosition>Systems Scientist</ContactPosition>
+      <ContactAddress>
+        <AddressType>postal</AddressType>
+        <Address>615 Booth Street, room 650</Address>
+        <City>Ottawa</City>
+        <StateOrProvince>Ontario</StateOrProvince>
+        <PostCode>K1A 0E9</PostCode>
+        <Country>Canada</Country>
+      </ContactAddress>
+      <ContactVoiceTelephone>+1 613 947 1342</ContactVoiceTelephone>
+      <ContactFacsimileTelephone>+1 613 947 2410</ContactFacsimileTelephone>
+      <ContactElectronicMailAddress>mike.adair@ccrs.nrcan.gc.ca</ContactElectronicMailAddress>
+    </ContactInformation>
+  </General>
+  <LayerList>
+    <Layer hidden="0" queryable="0">
+      <Server version="1.1.0" service="OGC">
+        <OnlineResource xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi?" xlink:type="simple"/>
+      </Server>
+      <Name>RSAT_MOSAIC:CEOWARE2</Name>
+      <Title>Radarsat Mosaic of Canada</Title>
+      <Abstract>info</Abstract>
+      <DataURL>
+        <OnlineResource xlink:href="http://geodiscover.cgdi.ca/gdp/search?action=fullMetadata&amp;entryId=9090&amp;entryType=productCollection" xlink:type="simple"/>
+      </DataURL>
+      <SRS>EPSG:42101</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+      <Extension>
+        <LatLongBoundingBox xmlns="gdp" SRS="EPSG:4326" minx="-180" maxx="180" miny="90" maxy="-90"/>
+      </Extension>
+    </Layer>
+    <Layer hidden="0" queryable="0">
+      <Server version="1.1.0" service="OGC">
+        <OnlineResource xlink:href="http://cgns.nrcan.gc.ca/wms/cubeserv.cgi?" xlink:type="simple"/>
+      </Server>
+      <Name>GEONAMES:cgns</Name>
+      <Title>Canadian Geographical Names</Title>
+      <Abstract>info</Abstract>
+      <DataURL>
+        <OnlineResource xlink:href="http://cgns.nrcan.gc.ca" xlink:type="simple"/>
+      </DataURL>
+      <SRS>EPSG:42101</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+      <Extension>
+        <LatLongBoundingBox xmlns="gdp" SRS="EPSG:4326" minx="-141.000000001" maxx=".000000003" miny="83.119999999" maxy=".000000003"/>
+      </Extension>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/features.sld
===================================================================
--- lib/spatial/mapbuilder/examples/data/features.sld	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/features.sld	(revision 4307)
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8" standalone="no" ?>
+<StyledLayerDescriptor version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<!--
+    $Id: features.sld 3821 2008-02-01 13:58:30Z ahocevar $
+  -->
+	<NamedLayer>
+		<Name>testGmlRenderer</Name>
+		<UserStyle>
+			<Name>default</Name>
+			<IsDefault>true</IsDefault>
+			<FeatureTypeStyle>
+				<Rule>
+					<PointSymbolizer>
+						<Graphic>
+							<Mark>
+								<Fill>
+									<CssParameter name="fill">#FF00FF</CssParameter>
+									<CssParameter name="fill-opacity">0.8</CssParameter>
+								</Fill>
+								<Stroke>
+									<CssParameter name="stroke">black</CssParameter>
+									<CssParameter name="stroke-opacity">1</CssParameter>
+									<CssParameter name="stroke-width">2</CssParameter>
+								</Stroke>
+							</Mark>
+							<Size>4</Size>
+						</Graphic>
+					</PointSymbolizer>
+					<LineSymbolizer>
+						<Stroke>
+							<CssParameter name="stroke">#FF0000</CssParameter>
+							<CssParameter name="stroke-opacity">1</CssParameter>
+							<CssParameter name="stroke-width">3</CssParameter>
+						</Stroke>
+					</LineSymbolizer>
+					<PolygonSymbolizer>
+						<Fill>
+							<CssParameter name="fill">blue</CssParameter>
+							<CssParameter name="fill-opacity">0.6</CssParameter>
+						</Fill>
+						<Stroke>
+							<CssParameter name="stroke">blue</CssParameter>
+							<CssParameter name="stroke-opacity">1</CssParameter>
+							<CssParameter name="stroke-width">1</CssParameter>
+						</Stroke>
+					</PolygonSymbolizer>
+				</Rule>
+			</FeatureTypeStyle>
+		</UserStyle>
+		<UserStyle>
+			<Name>selected</Name>
+			<FeatureTypeStyle>
+				<Rule>
+					<PointSymbolizer>
+						<Graphic>
+							<Mark>
+								<Fill>
+									<CssParameter name="fill">yellow</CssParameter>
+									<CssParameter name="fill-opacity">0.9</CssParameter>
+								</Fill>
+								<Stroke>
+									<CssParameter name="stroke">red</CssParameter>
+									<CssParameter name="stroke-opacity">1</CssParameter>
+									<CssParameter name="stroke-width">2</CssParameter>
+								</Stroke>
+							</Mark>
+							<Size>4</Size>
+						</Graphic>
+					</PointSymbolizer>
+					<LineSymbolizer>
+						<Stroke>
+							<CssParameter name="stroke">yellow</CssParameter>
+							<CssParameter name="stroke-opacity">1</CssParameter>
+							<CssParameter name="stroke-width">3</CssParameter>
+						</Stroke>
+					</LineSymbolizer>
+					<PolygonSymbolizer>
+						<Fill>
+							<CssParameter name="fill">#FFFF00</CssParameter>
+							<CssParameter name="fill-opacity">0.9</CssParameter>
+						</Fill>
+						<Stroke>
+							<CssParameter name="stroke">#FF0066</CssParameter>
+							<CssParameter name="stroke-opacity">1</CssParameter>
+							<CssParameter name="stroke-width">2</CssParameter>
+						</Stroke>
+					</PolygonSymbolizer>
+				</Rule>
+			</FeatureTypeStyle>
+		</UserStyle>
+	</NamedLayer>
+</StyledLayerDescriptor>
Index: lib/spatial/mapbuilder/examples/data/gml/measurement.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/gml/measurement.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/gml/measurement.xml	(revision 4307)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gml:featureMember xmlns:topp="http://www.openplans.org/topp" xmlns:gml="http://www.opengis.net/gml">
+  <topp:bc_roads fid="bc_roads.1">
+    <topp:the_geom>
+      <gml:MultiLineString srsName="EPSG:4326">
+        <gml:lineStringMember>
+          <gml:LineString>
+            <gml:coordinates decimal="." cs="," ts=" "></gml:coordinates>
+          </gml:LineString>
+        </gml:lineStringMember>
+      </gml:MultiLineString>
+    </topp:the_geom>
+    <topp:LENGTH>0</topp:LENGTH>
+  </topp:bc_roads>
+</gml:featureMember>
Index: lib/spatial/mapbuilder/examples/data/gml/Test.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/gml/Test.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/gml/Test.xml	(revision 4307)
@@ -0,0 +1,303 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!-- $Id: Test.xml 1333 2005-03-12 14:29:07Z madair1 $ -->
+<QuickviewPresetResultSet version="1.0.0"  xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/locations.xsd">
+
+  <!-- Envelope examples -->
+	<gml:description>This is the CMB preset zoom document</gml:description>
+	<gml:name>CMB:QuickViewPreset</gml:name>
+	<gml:boundedBy>
+		<gml:Null>missing</gml:Null>
+	</gml:boundedBy>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Asia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>40,-10 180,83.5</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Australia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>111.22,-45.73 155.72,-8.88</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Canada</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-145.27,37.3 -48.11,87.61</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Central America</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-94.1,21.8 -75.8,6.61</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Europe</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-25.1,71.3 35,34.9</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>North America</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-168.5,18 -50.4,85.7</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>North America</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-168.5,18 -50.4,85.7</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+
+  <!-- Point examples -->
+  <gml:featureMember>
+    <points>
+      <FID>0</FID>
+      <AREA>0.0</AREA>
+      <PERIMETER>0.0</PERIMETER>
+      <DTM_>202240</DTM_>
+      <DTM_ID>202273</DTM_ID>
+      <DTM_CODE>1</DTM_CODE>
+      <DTM_ELEV>8.3000001907299996</DTM_ELEV>
+      <POLYGONID>0</POLYGONID>
+      <SCALE>1.0</SCALE>
+      <ANGLE>0</ANGLE>
+      <_SHAPE_>
+        <gml:MultiPoint srsName="epsg:4326">
+          <gml:pointMember>
+            <gml:Point>
+              <gml:coordinates>-71.08641266665947,42.363115828688542 </gml:coordinates>
+            </gml:Point>
+          </gml:pointMember>
+        </gml:MultiPoint>
+      </_SHAPE_>
+    </points>
+  </gml:featureMember>
+  <gml:featureMember>
+    <points>
+      <FID>1</FID>
+      <AREA>0.0</AREA>
+      <PERIMETER>0.0</PERIMETER>
+      <DTM_>202241</DTM_>
+      <DTM_ID>202274</DTM_ID>
+      <DTM_CODE>1</DTM_CODE>
+      <DTM_ELEV>8.3000001907299996</DTM_ELEV>
+      <POLYGONID>0</POLYGONID>
+      <SCALE>1.0</SCALE>
+      <ANGLE>0</ANGLE>
+      <_SHAPE_>
+        <gml:MultiPoint srsName="epsg:4326">
+          <gml:pointMember>
+            <gml:Point>
+              <gml:coordinates>-31.086417145399238,-31.362900543962461 </gml:coordinates>
+            </gml:Point>
+          </gml:pointMember>
+        </gml:MultiPoint>
+      </_SHAPE_>
+    </points>
+  </gml:featureMember>
+  <gml:featureMember>
+    <points>
+      <FID>2</FID>
+      <AREA>0.0</AREA>
+      <PERIMETER>0.0</PERIMETER>
+      <DTM_>202242</DTM_>
+      <DTM_ID>202275</DTM_ID>
+      <DTM_CODE>1</DTM_CODE>
+      <DTM_ELEV>8.3000001907299996</DTM_ELEV>
+      <POLYGONID>0</POLYGONID>
+      <SCALE>1.0</SCALE>
+      <ANGLE>0</ANGLE>
+      <_SHAPE_>
+        <gml:MultiPoint srsName="epsg:4326">
+          <gml:pointMember>
+            <gml:Point>
+              <gml:coordinates>32.086420091556604,10.36269894669509 </gml:coordinates>
+            </gml:Point>
+          </gml:pointMember>
+        </gml:MultiPoint>
+      </_SHAPE_>
+    </points>
+  </gml:featureMember>
+  <gml:featureMember>
+    <points>
+      <FID>3</FID>
+      <AREA>0.0</AREA>
+      <PERIMETER>0.0</PERIMETER>
+      <DTM_>202245</DTM_>
+      <DTM_ID>202278</DTM_ID>
+      <DTM_CODE>1</DTM_CODE>
+      <DTM_ELEV>8.3000001907299996</DTM_ELEV>
+      <POLYGONID>0</POLYGONID>
+      <SCALE>1.0</SCALE>
+      <ANGLE>0</ANGLE>
+      <_SHAPE_>
+        <gml:MultiPoint srsName="epsg:4326">
+          <gml:pointMember>
+            <gml:Point>
+              <gml:coordinates>-71.08664032020333,42.362727975037302 </gml:coordinates>
+            </gml:Point>
+          </gml:pointMember>
+        </gml:MultiPoint>
+      </_SHAPE_>
+    </points>
+  </gml:featureMember>
+  <gml:featureMember>
+    <points>
+      <FID>4</FID>
+      <AREA>0.0</AREA>
+      <PERIMETER>0.0</PERIMETER>
+      <DTM_>202246</DTM_>
+      <DTM_ID>202279</DTM_ID>
+      <DTM_CODE>1</DTM_CODE>
+      <DTM_ELEV>8.3000001907299996</DTM_ELEV>
+      <POLYGONID>0</POLYGONID>
+      <SCALE>1.0</SCALE>
+      <ANGLE>0</ANGLE>
+      <_SHAPE_>
+        <gml:MultiPoint srsName="epsg:4326">
+          <gml:pointMember>
+            <gml:Point>
+              <gml:coordinates>150.086612484065697,12.362888184383699 </gml:coordinates>
+            </gml:Point>
+          </gml:pointMember>
+        </gml:MultiPoint>
+      </_SHAPE_>
+    </points>
+  </gml:featureMember>
+  <gml:featureMember>
+    <points>
+      <FID>5</FID>
+      <AREA>0.0</AREA>
+      <PERIMETER>0.0</PERIMETER>
+      <DTM_>202247</DTM_>
+      <DTM_ID>202280</DTM_ID>
+      <DTM_CODE>1</DTM_CODE>
+      <DTM_ELEV>8.3000001907299996</DTM_ELEV>
+      <POLYGONID>0</POLYGONID>
+      <SCALE>1.0</SCALE>
+      <ANGLE>0</ANGLE>
+      <_SHAPE_>
+        <gml:MultiPoint srsName="epsg:4326">
+          <gml:pointMember>
+            <gml:Point>
+              <gml:coordinates>-171.086600653096667,12.363056573735747 </gml:coordinates>
+            </gml:Point>
+          </gml:pointMember>
+        </gml:MultiPoint>
+      </_SHAPE_>
+    </points>
+  </gml:featureMember>
+
+  <!-- Lines -->
+  <gml:featureMember>
+    <lines>
+      <FID>0</FID>
+      <FNODE_>33424</FNODE_>
+      <TNODE_>33425</TNODE_>
+      <LPOLY_>0</LPOLY_>
+      <RPOLY_>0</RPOLY_>
+      <LENGTH>15.003275603900001</LENGTH>
+      <MINTRANS_>30758</MINTRANS_>
+      <MINTRANS_I>35207</MINTRANS_I>
+      <FCODE>30</FCODE>
+      <_SHAPE_>
+        <gml:MultiLineString srsName="epsg:4326">
+          <gml:lineStringMember>
+            <gml:LineString>
+              <gml:coordinates>-171.086204892704458,42.362313967208152 -71.086038515172532,62.362299983553427 -71.086038683883103,42.362289091480335 </gml:coordinates>
+            </gml:LineString>
+          </gml:lineStringMember>
+        </gml:MultiLineString>
+      </_SHAPE_>
+    </lines>
+  </gml:featureMember>
+  <gml:featureMember>
+    <lines>
+      <FID>1</FID>
+      <FNODE_>33415</FNODE_>
+      <TNODE_>33411</TNODE_>
+      <LPOLY_>0</LPOLY_>
+      <RPOLY_>0</RPOLY_>
+      <LENGTH>41.2014103996</LENGTH>
+      <MINTRANS_>30759</MINTRANS_>
+      <MINTRANS_I>35208</MINTRANS_I>
+      <FCODE>30</FCODE>
+      <_SHAPE_>
+        <gml:MultiLineString srsName="epsg:4326">
+          <gml:lineStringMember>
+            <gml:LineString>
+              <gml:coordinates>10.0,12.36 -10.0860,-12.36 32.08,9.36</gml:coordinates>
+            </gml:LineString>
+          </gml:lineStringMember>
+        </gml:MultiLineString>
+      </_SHAPE_>
+    </lines>
+  </gml:featureMember>
+  <gml:featureMember>
+    <lines>
+      <FID>2</FID>
+      <FNODE_>47628</FNODE_>
+      <TNODE_>47570</TNODE_>
+      <LPOLY_>0</LPOLY_>
+      <RPOLY_>0</RPOLY_>
+      <LENGTH>104.45658785099999</LENGTH>
+      <MINTRANS_>44082</MINTRANS_>
+      <MINTRANS_I>49344</MINTRANS_I>
+      <FCODE>30</FCODE>
+      <_SHAPE_>
+        <gml:MultiLineString srsName="epsg:4326">
+          <gml:lineStringMember>
+            <gml:LineString>
+              <gml:coordinates>171.0881,82.36 141.08,62.36 121.08,82.36</gml:coordinates>
+            </gml:LineString>
+          </gml:lineStringMember>
+        </gml:MultiLineString>
+      </_SHAPE_>
+    </lines>
+  </gml:featureMember>
+</QuickviewPresetResultSet>
Index: lib/spatial/mapbuilder/examples/data/context/worldMapsCollection.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/worldMapsCollection.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/worldMapsCollection.xml	(revision 4307)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<ViewContextCollection version="1.0.0" xmlns="http://www.opengis.net/context" 
+    xmlns:xlink="http://www.w3.org/1999/xlink" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.opengis.net http://schemas.opengis.net/context/1.0.0/collection.xsd">
+	<!-- List of context XML URLs -->
+	<ViewContextReference version="1.0.0" id="atlas">
+		<Title>Atlas World base map</Title>
+		<ContextURL>
+			<OnlineResource xlink:type="simple" xlink:href="../data/context/atlasWorld.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+	<ViewContextReference version="1.0.0" id="demis">
+		<Title>Demis World map</Title>
+		<ContextURL>
+			<OnlineResource xlink:type="simple" xlink:href="../data/context/demisWorldMap.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+	<ViewContextReference version="1.0.0" id="mars">
+		<Title>Mars landings</Title>
+		<ContextURL>
+			<OnlineResource xlink:type="simple" xlink:href="../data/context/mars.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+  <ViewContextReference version="1.0.0" id="metacarta">
+    <Title>Metacarta World map</Title>
+    <ContextURL>
+      <OnlineResource xlink:type="simple" xlink:href="../data/context/metacartaWorldMap.xml"/>
+    </ContextURL>
+  </ViewContextReference>
+	<ViewContextReference version="1.0.0" id="modisWorldMosaic">
+    <Title>MODIS world mosaic</Title>
+		<ContextURL>
+			<OnlineResource xlink:type="simple" xlink:href="../data/context/modisWorld.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+  <ViewContextReference version="1.0.0" id="local">
+    <Title>Tasmania on local GeoServer</Title>
+		<ContextURL>
+      <OnlineResource xlink:type="simple" xlink:href="../data/context/local.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+</ViewContextCollection>
Index: lib/spatial/mapbuilder/examples/data/context/cded.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/cded.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/cded.xml	(revision 4307)
@@ -0,0 +1,256 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<ViewContext version="1.0.0" id="atlas_l7o" 
+    xmlns="http://www.opengis.net/context" 
+    xmlns:xlink="http://www.w3.org/1999/xlink" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="400" height="337"/>
+    <BoundingBox SRS="EPSG:42304" minx="-2600000" miny="-1000000" maxx="3100000" maxy="3800000"/>
+    <!--		<BoundingBox SRS="EPSG:42304" minx="-3546709.473205" miny="-869773.355764" maxx="4444893.074820" maxy="3923457.184829" />-->
+    <Title>Canadian Digital Elevation Data (GeoBase)</Title>
+    <KeywordList>
+      <Keyword>Atlas</Keyword>
+      <Keyword>Canada</Keyword>
+      <Keyword>CITS</Keyword>
+      <Keyword>CDED</Keyword>
+      <Keyword>DNEC</Keyword>
+      <Keyword>elevation</Keyword>
+      <Keyword>geobase</Keyword>
+    </KeywordList>
+    <Abstract>The &lt;b&gt;Canada Digital Elevation Data&lt;/b&gt; (CDED) consist of an ordered array of ground elevations at regularly spaced intervals. These CDED are derived from the National Topographic Data Base (NTDB) digital files at the 1:50 000 and 1:250 000 scales, according to the National Topographic System (NTS).</Abstract>
+    <LogoURL width="273" height="22" format="image/gif">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.nrcan-rncan.gc.ca/inter/images/nrcan.gif"/>
+    </LogoURL>
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://geodiscover.cgdi.ca/gdp/search?action=fullMetadata&amp;entryId=5156&amp;entryType=productCollection"/>
+    </DescriptionURL>
+    <ContactInformation>
+      <ContactPersonPrimary>
+        <ContactPerson>Tom Kralidis</ContactPerson>
+        <ContactOrganization>Canada Centre for Remote Sensing</ContactOrganization>
+      </ContactPersonPrimary>
+      <ContactPosition>Systems Scientist</ContactPosition>
+      <ContactAddress>
+        <AddressType>postal</AddressType>
+        <Address>615 Booth Street, room 650</Address>
+        <City>Ottawa</City>
+        <StateOrProvince>Ontario</StateOrProvince>
+        <PostCode>K1A 0E9</PostCode>
+        <Country>Canada</Country>
+      </ContactAddress>
+      <ContactVoiceTelephone>+01 613 947 1828</ContactVoiceTelephone>
+      <ContactFacsimileTelephone>+01 613 947 2410</ContactFacsimileTelephone>
+      <ContactElectronicMailAddress>tom.kralidis@ccrs.nrcan.gc.ca</ContactElectronicMailAddress>
+    </ContactInformation>
+  </General>
+  <LayerList>
+  
+  
+  
+    <Layer queryable="0" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Centre d'information topographique, RNCan / Centre for Topographic Information, NRCan">
+        <OnlineResource xlink:type="simple" xlink:href="http://wms.cits.rncan.gc.ca/wms-bin/wms.cgi?"/>
+      </Server>
+            <Name>DNEC_250K:ELEVATION/ELEVATION</Name>
+            <Title>Canadian Digital elevation data (CDED) 1:250k</Title>
+        <Abstract>Les &lt;b&gt;données numériques d'élévation du Canada&lt;/b&gt; (DNEC) sont constituées de quadrillages d'élévation de terrain à intervalles réguliers. Ces DNEC sont dérivées des fichiers numériques de la Base nationale de données topographiques (BNDT) aux échelles de 1/50 000 et de 1/250 000, selon le Système national de référence cartographique (SNRC).&lt;br&gt;&lt;br&gt;The &lt;b&gt;Canada Digital Elevation Data&lt;/b&gt; (CDED) consist of an ordered array of ground elevations at regularly spaced intervals. These CDED are derived from the National Topographic Data Base (NTDB) digital files at the 1:50 000 and 1:250 000 scales, according to the National Topographic System (NTS).</Abstract>
+      <DataURL format="text/html">
+        <OnlineResource xlink:type="simple" xlink:href="http://geobase.ca/"/>
+      </DataURL>
+      <MetadataURL format="text/html">
+        <OnlineResource xlink:type="simple" xlink:href="http://geodiscover.cgdi.ca/gdp/search?action=fullMetadata&amp;entryType=productCollection&amp;entryId=5156&amp;entryLang=en"/>
+      </MetadataURL>
+      <SRS>EPSG:42304</SRS>
+      <FormatList>
+        <Format current="1">image/png</Format>
+        <Format>image/gif</Format>
+        <Format>image/tiff</Format>
+        <Format>image/jpeg</Format>
+        <Format>image/ppm</Format>
+        <Format>application/x-cubestor-wkb</Format>
+        <Format>application/x-cubestor-gml.1</Format>
+        <Format>application/x-cubestor-gml.2</Format>
+      </FormatList>
+      <StyleList>
+            <Style current="1">
+              <Name>Dnec_CITS</Name>
+              <Title>Dnec_CITS</Title>
+              <LegendURL format="image/gif">
+                <OnlineResource xlink:type="simple" xlink:href="http://wms.cits.rncan.gc.ca/wms-bin/wms.cgi?SERVICE=WMS&amp;VERSION=1.1.3&amp;REQUEST=GetLegendGraphic&amp;LAYER=DNEC_250K%3AELEVATION%2FELEVATION&amp;STYLE=Dnec_CITS&amp;FORMAT=image%2Fgif"/>
+              </LegendURL>
+            </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="0" hidden="1">
+      <Server service="OGC:WMS" version="1.1.1" title="Centre d'information topographique, RNCan / Centre for Topographic Information, NRCan">
+        <OnlineResource xlink:type="simple" xlink:href="http://wms.cits.rncan.gc.ca/wms-bin/wms.cgi?"/>
+      </Server>
+            <Name>DNEC_50K:ELEVATION/ELEVATION</Name>
+            <Title>Canadian Digital elevation data (CDED) 1:50k</Title>
+        <Abstract>Les &lt;b&gt;données numériques d'élévation du Canada&lt;/b&gt; (DNEC) sont constituées de quadrillages d'élévation de terrain à intervalles réguliers. Ces DNEC sont dérivées des fichiers numériques de la Base nationale de données topographiques (BNDT) aux échelles de 1/50 000 et de 1/250 000, selon le Système national de référence cartographique (SNRC).&lt;br&gt;&lt;br&gt;The &lt;b&gt;Canada Digital Elevation Data&lt;/b&gt; (CDED) consist of an ordered array of ground elevations at regularly spaced intervals. These CDED are derived from the National Topographic Data Base (NTDB) digital files at the 1:50 000 and 1:250 000 scales, according to the National Topographic System (NTS).</Abstract>
+      <DataURL format="text/html">
+        <OnlineResource xlink:type="simple" xlink:href="http://geobase.ca/"/>
+      </DataURL>
+      <MetadataURL format="text/html">
+        <OnlineResource xlink:type="simple" xlink:href="http://geodiscover.cgdi.ca/gdp/search?action=fullMetadata&amp;entryType=productCollection&amp;entryId=5156&amp;entryLang=en"/>
+      </MetadataURL>
+      <SRS>EPSG:42304</SRS>
+      <FormatList>
+        <Format current="1">image/png</Format>
+        <Format>image/gif</Format>
+        <Format>image/tiff</Format>
+        <Format>image/jpeg</Format>
+        <Format>image/ppm</Format>
+        <Format>application/x-cubestor-wkb</Format>
+        <Format>application/x-cubestor-gml.1</Format>
+        <Format>application/x-cubestor-gml.2</Format>
+      </FormatList>
+      <StyleList>
+            <Style current="1">
+              <Name>Dnec_CITS</Name>
+              <Title>Dnec_CITS</Title>
+              <LegendURL format="image/gif">
+                <OnlineResource xlink:type="simple" xlink:href="http://wms.cits.rncan.gc.ca/wms-bin/wms.cgi?SERVICE=WMS&amp;VERSION=1.1.3&amp;REQUEST=GetLegendGraphic&amp;LAYER=DNEC_50K%3AELEVATION%2FELEVATION&amp;STYLE=Dnec_CITS&amp;FORMAT=image%2Fgif"/>
+              </LegendURL>
+            </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="OGC:WMS" version="1.1.0" title="Atlas of Canada WMS">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/atlaswms_en"/>
+      </Server>
+      <Name>drain_15m</Name>
+      <Title>Drainage (1:15 000 000)</Title>
+      <Abstract>Coastline, rivers and lake shorelines intended for display at a scale of 1:60 000 000.</Abstract>
+      <DataURL format="text/html">
+        <OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/nationalatlas/e_intro_g.html"/>
+      </DataURL>
+      <MetadataURL format="text/html">
+        <OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/clf/en?action=entrySummary&amp;entryId=138&amp;entryType=productCollection&amp;context=/contexts/atlas_l7o.xml&amp;keymap=outlineCanada"/>
+      </MetadataURL>
+      <SRS>EPSG:42101 EPSG:42304 EPSG:4269 EPSG:4326 EPSG:2294 EPSG:2295 EPSG:26922 EPSG:26921 EPSG:26920 EPSG:26919 EPSG:26918 EPSG:26917 EPSG:26916 EPSG:26915 EPSG:26914 EPSG:26913 EPSG:26912 EPSG:26911 EPSG:26910 EPSG:26909 EPSG:26908 EPSG:26907 EPSG:26722 EPSG:26721 EPSG:26720 EPSG:26719 EPSG:26718 EPSG:26717 EPSG:26716 EPSG:26715 EPSG:26714 EPSG:26713 EPSG:26712 EPSG:26711 EPSG:26710 EPSG:26709 EPSG:26708 EPSG:26707 EPSG:2295 EPSG:2294</SRS>
+      <FormatList>
+        <Format current="1">image/png</Format>
+        <Format>image/gif</Format>
+        <Format>image/jpeg</Format>
+        <Format>image/wbmp</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="0" hidden="1">
+      <Server service="OGC:WMS" version="1.1.0" title="Atlas of Canada WMS">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/atlaswms_en"/>
+      </Server>
+      <Name>roads_15m</Name>
+      <Title>Road network (1:15 000 000)</Title>
+      <Abstract>Road network and ferry routes intended for display at the scale of 1:15 000 000.</Abstract>
+      <DataURL format="text/html">
+        <OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/nationalatlas/e_intro_g.html"/>
+      </DataURL>
+      <MetadataURL format="text/html">
+        <OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/clf/en?action=entrySummary&amp;entryId=138&amp;entryType=productCollection&amp;context=/contexts/atlas_l7o.xml&amp;keymap=outlineCanada"/>
+      </MetadataURL>
+      <SRS>EPSG:42101 EPSG:42304 EPSG:4269 EPSG:4326 EPSG:2294 EPSG:2295 EPSG:26922 EPSG:26921 EPSG:26920 EPSG:26919 EPSG:26918 EPSG:26917 EPSG:26916 EPSG:26915 EPSG:26914 EPSG:26913 EPSG:26912 EPSG:26911 EPSG:26910 EPSG:26909 EPSG:26908 EPSG:26907 EPSG:26722 EPSG:26721 EPSG:26720 EPSG:26719 EPSG:26718 EPSG:26717 EPSG:26716 EPSG:26715 EPSG:26714 EPSG:26713 EPSG:26712 EPSG:26711 EPSG:26710 EPSG:26709 EPSG:26708 EPSG:26707 EPSG:2295 EPSG:2294</SRS>
+      <FormatList>
+        <Format current="1">image/png</Format>
+        <Format>image/gif</Format>
+        <Format>image/jpeg</Format>
+        <Format>image/wbmp</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="OGC:WMS" version="1.1.0" title="Atlas of Canada WMS">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/atlaswms_en"/>
+      </Server>
+      <Name>can_7.5m</Name>
+      <Title>Landmass outline (1:7 500 000)</Title>
+      <Abstract>The outline of the landmass of Canada</Abstract>
+      <DataURL format="text/html">
+        <OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/nationalatlas/e_intro_g.html"/>
+      </DataURL>
+      <MetadataURL format="text/html">
+        <OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/clf/en?action=entrySummary&amp;entryId=138&amp;entryType=productCollection&amp;context=/contexts/atlas_l7o.xml&amp;keymap=outlineCanada"/>
+      </MetadataURL>
+      <SRS>EPSG:42101 EPSG:42304 EPSG:4269 EPSG:4326 EPSG:2294 EPSG:2295 EPSG:26922 EPSG:26921 EPSG:26920 EPSG:26919 EPSG:26918 EPSG:26917 EPSG:26916 EPSG:26915 EPSG:26914 EPSG:26913 EPSG:26912 EPSG:26911 EPSG:26910 EPSG:26909 EPSG:26908 EPSG:26907 EPSG:26722 EPSG:26721 EPSG:26720 EPSG:26719 EPSG:26718 EPSG:26717 EPSG:26716 EPSG:26715 EPSG:26714 EPSG:26713 EPSG:26712 EPSG:26711 EPSG:26710 EPSG:26709 EPSG:26708 EPSG:26707 EPSG:2295 EPSG:2294</SRS>
+      <FormatList>
+        <Format current="1">image/png</Format>
+        <Format>image/gif</Format>
+        <Format>image/jpeg</Format>
+        <Format>image/wbmp</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="OGC:WMS" version="1.1.0" title="Atlas of Canada WMS">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/atlaswms_en"/>
+      </Server>
+      <Name>nat_bounds</Name>
+      <Title>Provincial and Territorial Boundaries</Title>
+      <Abstract>Provincial and territorial boundaries</Abstract>
+      <DataURL format="text/html">
+        <OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/nationalatlas/e_intro_g.html"/>
+      </DataURL>
+      <MetadataURL format="text/html">
+        <OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/clf/en?action=entrySummary&amp;entryId=138&amp;entryType=productCollection&amp;context=/contexts/atlas_l7o.xml&amp;keymap=outlineCanada"/>
+      </MetadataURL>
+      <SRS>EPSG:42101 EPSG:42304 EPSG:4269 EPSG:4326 EPSG:2294 EPSG:2295 EPSG:26922 EPSG:26921 EPSG:26920 EPSG:26919 EPSG:26918 EPSG:26917 EPSG:26916 EPSG:26915 EPSG:26914 EPSG:26913 EPSG:26912 EPSG:26911 EPSG:26910 EPSG:26909 EPSG:26908 EPSG:26907 EPSG:26722 EPSG:26721 EPSG:26720 EPSG:26719 EPSG:26718 EPSG:26717 EPSG:26716 EPSG:26715 EPSG:26714 EPSG:26713 EPSG:26712 EPSG:26711 EPSG:26710 EPSG:26709 EPSG:26708 EPSG:26707 EPSG:2295 EPSG:2294</SRS>
+      <FormatList>
+        <Format current="1">image/png</Format>
+        <Format>image/gif</Format>
+        <Format>image/jpeg</Format>
+        <Format>image/wbmp</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="1" hidden="1"><!-- this layer/server appears to be  down -->
+      <Server service="OGC:WMS" version="1.1.1" title="Canada Centre for Remote Sensing Web Map Service">
+        <OnlineResource xlink:type="simple" xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi"/>
+      </Server>
+      <Name>POPPLACE_PT:CEOWARE2</Name>
+      <Title>Populated Places 1M</Title>
+      <Abstract>Atlas of Canada National Frameworks data are standardized national coverages of commonly used geospatial datasets at the 1:1 000 000 scale. A variety of framework layers (e.g. hydrology, roads, railways, populated places) have been integrated so that their relative positions are correct. Hydrology (which includes coastline) is the base layer to which all others are fitted. In addition, the Atlas of Canada National Frameworks collection forms a base to which an increasing number of national-scale thematic frameworks from other Federal Government agencies are integrated (e.g. ecological regions, census subdivisions). National Scale Frameworks Populated Places, Canada is a selection of named populated places suitable for use at a scale of 1:1 000 000. The points have been fitted to other 1:1 000 000 National Scale Frameworks layers. Therefore, points represent the approximate locations of places relative to these other layers. A subset of data from the Canadian Geographical Names Data Base (CGNDB) were used. The CGNDB is maintained by the Names Section of the Centre for Topographic Information (Government of Canada, Natural Resources Canada). The selection of features was based on population size, historical significance and noteworthiness. Cartographic considerations were also taken into account.</Abstract>
+      <DataURL format="text/html">
+        <OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/download/frameworkdata/popplace/"/>
+      </DataURL>
+      <MetadataURL format="text/html">
+        <OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/clf/en?action=entrySummary&amp;entryId=13778&amp;entryType=productCollection&amp;keymap=outlineCanada"/>
+      </MetadataURL>
+      <SRS>EPSG:4326 AUTO:42001 AUTO:42002 AUTO:42003 AUTO:42004 EPSG:4267 EPSG:4269 EPSG:26703 EPSG:26704 EPSG:26705 EPSG:26706 EPSG:26707 EPSG:26708 EPSG:26709 EPSG:26710 EPSG:26711 EPSG:26712 EPSG:26713 EPSG:26714 EPSG:26715 EPSG:26716 EPSG:26717 EPSG:26718 EPSG:26719 EPSG:26720 EPSG:26721 EPSG:26722 EPSG:26903 EPSG:26904 EPSG:26905 EPSG:26906 EPSG:26907 EPSG:26908 EPSG:26909 EPSG:26910 EPSG:26911 EPSG:26912 EPSG:26913 EPSG:26914 EPSG:26915 EPSG:26916 EPSG:26917 EPSG:26918 EPSG:26919 EPSG:26920 EPSG:26921 EPSG:26922 EPSG:26923 EPSG:26930 EPSG:26986 EPSG:26987 EPSG:27582 EPSG:27700 EPSG:32118 EPSG:32128 EPSG:32129 EPSG:32601 EPSG:32602 EPSG:32603 EPSG:32604 EPSG:32605 EPSG:32606 EPSG:32607 EPSG:32608 EPSG:32609 EPSG:32610 EPSG:32611 EPSG:32612 EPSG:32613 EPSG:32614 EPSG:32615 EPSG:32616 EPSG:32617 EPSG:32618 EPSG:32619 EPSG:32620 EPSG:32621 EPSG:32622 EPSG:32623 EPSG:32624 EPSG:32625 EPSG:32626 EPSG:32627 EPSG:32628 EPSG:32629 EPSG:32630 EPSG:32631 EPSG:32632 EPSG:32633 EPSG:32634 EPSG:32635 EPSG:32636 EPSG:32637 EPSG:32638 EPSG:32639 EPSG:32640 EPSG:32641 EPSG:32642 EPSG:32643 EPSG:32644 EPSG:32645 EPSG:32646 EPSG:32647 EPSG:32648 EPSG:32649 EPSG:32650 EPSG:32651 EPSG:32652 EPSG:32653 EPSG:32654 EPSG:32655 EPSG:32656 EPSG:32657 EPSG:32658 EPSG:32659 EPSG:32660 EPSG:32701 EPSG:32702 EPSG:32703 EPSG:32704 EPSG:32705 EPSG:32706 EPSG:32707 EPSG:32708 EPSG:32709 EPSG:32710 EPSG:32711 EPSG:32712 EPSG:32713 EPSG:32714 EPSG:32715 EPSG:32716 EPSG:32717 EPSG:32718 EPSG:32719 EPSG:32720 EPSG:32721 EPSG:32722 EPSG:32723 EPSG:32724 EPSG:32725 EPSG:32726 EPSG:32727 EPSG:32728 EPSG:32729 EPSG:32730 EPSG:32731 EPSG:32732 EPSG:32733 EPSG:32734 EPSG:32735 EPSG:32736 EPSG:32737 EPSG:32738 EPSG:32739 EPSG:32740 EPSG:32741 EPSG:32742 EPSG:32743 EPSG:32744 EPSG:32745 EPSG:32746 EPSG:32747 EPSG:32748 EPSG:32749 EPSG:32750 EPSG:32751 EPSG:32752 EPSG:32753 EPSG:32754 EPSG:32755 EPSG:32756 EPSG:32757 EPSG:32758 EPSG:32759 EPSG:32760 EPSG:41001 EPSG:41002 EPSG:42101 EPSG:42102 EPSG:42103 EPSG:42104 EPSG:42105 EPSG:42106 EPSG:42200 EPSG:42201 EPSG:42202 EPSG:42203 EPSG:42204 EPSG:42205 EPSG:42206 EPSG:42207 EPSG:42208 EPSG:100001 EPSG:42301 EPSG:42302 EPSG:42303 EPSG:42304 EPSG:42305 EPSG:42306 EPSG:42307 EPSG:42308 EPSG:42309 EPSG:42310</SRS>
+      <FormatList>
+        <Format current="1">image/png</Format>
+        <Format>image/gif</Format>
+     </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+          <!--LegendURL width="16" height="16" format="image/gif">
+            <OnlineResource xlink:type="simple" xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi?VERSION=1.1.1&amp;REQUEST=GetLegendGraphic&amp;LAYER=POPPLACE_PT%3ACEOWARE2&amp;FORMAT=image%2Fgif"/>
+          </LegendURL-->
+        </Style>
+      </StyleList>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/context/locatorMap.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/locatorMap.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/locatorMap.xml	(revision 4307)
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<ViewContext version="1.0.0" id="mb_atlasLocatorMap" xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gdp="http://geodiscover.cgdi.ca" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="180" height="90"/>
+    <BoundingBox SRS="EPSG:4326" minx="-180" miny="-90" maxx="180" maxy="90"/>
+    <Title>GDP Atlas of Canada search map</Title>
+    <KeywordList>
+      <Keyword>atlas</Keyword>
+    </KeywordList>
+    <Abstract>background map for use in search map widget</Abstract>
+    <LogoURL width="34" height="35" format="image/gif">
+      <OnlineResource xlink:type="simple" xlink:href="http://geodiscover.cgdi.ca/gdp/hmi/common/images/ml/ES.gif"/>
+    </LogoURL>
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://geodiscover.cgdi.ca/gdp/about/en/9.1.4.html"/>
+    </DescriptionURL>
+    <ContactInformation>
+      <ContactPersonPrimary>
+        <ContactPerson>Michael Adair</ContactPerson>
+        <ContactOrganization>Canada Centre for Remote Sensing</ContactOrganization>
+      </ContactPersonPrimary>
+      <ContactPosition>Systems Scientist</ContactPosition>
+      <ContactAddress>
+        <AddressType>postal</AddressType>
+        <Address>615 Booth Street, room 650</Address>
+        <City>Ottawa</City>
+        <StateOrProvince>Ontario</StateOrProvince>
+        <PostCode>K1A 0E9</PostCode>
+        <Country>Canada</Country>
+      </ContactAddress>
+      <ContactVoiceTelephone>+1 613 947 1342</ContactVoiceTelephone>
+      <ContactFacsimileTelephone>+1 613 947 2410</ContactFacsimileTelephone>
+      <ContactElectronicMailAddress>mike.adair@ccrs.nrcan.gc.ca</ContactElectronicMailAddress>
+    </ContactInformation>
+  </General>
+  <LayerList>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>ocean</Name>
+      <Title>ocean area</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>land</Name>
+      <Title>land area</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>coast</Name>
+      <Title>coastline</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/context/lsat7Ortho.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/lsat7Ortho.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/lsat7Ortho.xml	(revision 4307)
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="utf-8" standalone="no" ?>
+<ViewContext version="1.0.0"
+             id="atlas_l7o"
+             xmlns="http://www.opengis.net/context"
+             xmlns:xlink="http://www.w3.org/1999/xlink"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+	<General>
+    <Window width="400" height="337"/>
+    <BoundingBox SRS="EPSG:42304" minx="-2600000" miny="-1000000" maxx="3100000" maxy="3800000"/>
+<!--		<BoundingBox SRS="EPSG:42304" minx="-3546709.473205" miny="-869773.355764" maxx="4444893.074820" maxy="3923457.184829" />-->
+		<Title>Landsat Orthorectified Imagery over Canada</Title>
+		<KeywordList>
+			<Keyword>Atlas</Keyword>
+			<Keyword>Canada</Keyword>
+			<Keyword>CITS</Keyword>
+			<Keyword>Landsat</Keyword>
+			<Keyword>Orthorectified</Keyword>
+			<Keyword>CCRS</Keyword>
+			<Keyword>NRCan</Keyword>
+		</KeywordList>
+		<Abstract>View showcasing the Landsat Orthorectified Imagery of Canada with overlays from the Atlas of Canada, by Natural Resources Canada</Abstract>
+		<LogoURL width="273" height="22" format="image/gif">
+			<OnlineResource xlink:type="simple" xlink:href="http://www.nrcan-rncan.gc.ca/inter/images/nrcan.gif"/>
+		</LogoURL>
+		<DescriptionURL format="text/html">
+			<OnlineResource xlink:type="simple" xlink:href="http://geodiscover.cgdi.ca/gdp/search?action=fullMetadata&amp;entryId=1583&amp;entryType=productCollection"/>
+		</DescriptionURL>
+		<ContactInformation>
+			<ContactPersonPrimary>
+				<ContactPerson>Tom Kralidis</ContactPerson>
+				<ContactOrganization>Canada Centre for Remote Sensing</ContactOrganization>
+			</ContactPersonPrimary>
+			<ContactPosition>Systems Scientist</ContactPosition>
+			<ContactAddress>
+				<AddressType>postal</AddressType>
+				<Address>615 Booth Street, room 650</Address>
+				<City>Ottawa</City>
+				<StateOrProvince>Ontario</StateOrProvince>
+				<PostCode>K1A 0E9</PostCode>
+				<Country>Canada</Country>
+			</ContactAddress>
+			<ContactVoiceTelephone>+01 613 947 1828</ContactVoiceTelephone>
+			<ContactFacsimileTelephone>+01 613 947 2410</ContactFacsimileTelephone>
+			<ContactElectronicMailAddress>tom.kralidis@ccrs.nrcan.gc.ca</ContactElectronicMailAddress>
+		</ContactInformation>
+	</General>
+	<LayerList>
+		<Layer queryable="1" hidden="0">
+			<Server service="OGC:WMS" version="1.1.1" title="Canada Centre for Remote Sensing Web Map Service">
+				<OnlineResource xlink:type="simple" xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi"/>
+			</Server>
+			<Name>L7O_B743:CEOWARE2</Name>
+			<Title>Landsat 7 Orthorectified Imagery over Canada - band 743</Title>
+			<Abstract>The orthoimage data set is created with the most accurate control data available at the time of creation. The imagery has been corrected with either provincial and aerial triangulation data or, if not available, the most accurate NTDB data. The objective is to obtain accuracy of 30 metres or better in the South and 50 metres or better in the North for a 90% level of confidence. The accuracy is evaluated for each orthoimage dataset. The control data, which has been extracted from sources as mentioned above, can consist of road intersection vector data or lake/island centroids. In some cases the intersection of the centre line of surficial river may have been used. The control points are distributed homogeneously within the image in specific sectors. Sectors are located in the surround of the image, in the lowest and highest elevation area of the image, and in all other areas in which overlapping image base sectors are located.</Abstract>
+			<DataURL format="text/html">
+				<OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/download/landsat_7/ortho/"/>
+			</DataURL>
+			<MetadataURL format="text/html">
+				<OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/clf/en?action=entrySummary&amp;entryId=1583&amp;entryType=productCollection&amp;context=&amp;keymap=outlineCanada"/>
+			</MetadataURL>
+			<SRS>EPSG:4326 AUTO:42001 AUTO:42002 AUTO:42003 AUTO:42004 EPSG:2263 EPSG:2283 EPSG:4267 EPSG:4269 EPSG:26703 EPSG:26704 EPSG:26705 EPSG:26706 EPSG:26707 EPSG:26708 EPSG:26709 EPSG:26710 EPSG:26711 EPSG:26712 EPSG:26713 EPSG:26714 EPSG:26715 EPSG:26716 EPSG:26717 EPSG:26718 EPSG:26719 EPSG:26720 EPSG:26721 EPSG:26722 EPSG:26903 EPSG:26904 EPSG:26905 EPSG:26906 EPSG:26907 EPSG:26908 EPSG:26909 EPSG:26910 EPSG:26911 EPSG:26912 EPSG:26913 EPSG:26914 EPSG:26915 EPSG:26916 EPSG:26917 EPSG:26918 EPSG:26919 EPSG:26920 EPSG:26921 EPSG:26922 EPSG:26923 EPSG:26930 EPSG:26985 EPSG:26986 EPSG:26987 EPSG:27582 EPSG:27700 EPSG:32118 EPSG:32128 EPSG:32129 EPSG:32601 EPSG:32602 EPSG:32603 EPSG:32604 EPSG:32605 EPSG:32606 EPSG:32607 EPSG:32608 EPSG:32609 EPSG:32610 EPSG:32611 EPSG:32612 EPSG:32613 EPSG:32614 EPSG:32615 EPSG:32616 EPSG:32617 EPSG:32618 EPSG:32619 EPSG:32620 EPSG:32621 EPSG:32622 EPSG:32623 EPSG:32624 EPSG:32625 EPSG:32626 EPSG:32627 EPSG:32628 EPSG:32629 EPSG:32630 EPSG:32631 EPSG:32632 EPSG:32633 EPSG:32634 EPSG:32635 EPSG:32636 EPSG:32637 EPSG:32638 EPSG:32639 EPSG:32640 EPSG:32641 EPSG:32642 EPSG:32643 EPSG:32644 EPSG:32645 EPSG:32646 EPSG:32647 EPSG:32648 EPSG:32649 EPSG:32650 EPSG:32651 EPSG:32652 EPSG:32653 EPSG:32654 EPSG:32655 EPSG:32656 EPSG:32657 EPSG:32658 EPSG:32659 EPSG:32660 EPSG:32701 EPSG:32702 EPSG:32703 EPSG:32704 EPSG:32705 EPSG:32706 EPSG:32707 EPSG:32708 EPSG:32709 EPSG:32710 EPSG:32711 EPSG:32712 EPSG:32713 EPSG:32714 EPSG:32715 EPSG:32716 EPSG:32717 EPSG:32718 EPSG:32719 EPSG:32720 EPSG:32721 EPSG:32722 EPSG:32723 EPSG:32724 EPSG:32725 EPSG:32726 EPSG:32727 EPSG:32728 EPSG:32729 EPSG:32730 EPSG:32731 EPSG:32732 EPSG:32733 EPSG:32734 EPSG:32735 EPSG:32736 EPSG:32737 EPSG:32738 EPSG:32739 EPSG:32740 EPSG:32741 EPSG:32742 EPSG:32743 EPSG:32744 EPSG:32745 EPSG:32746 EPSG:32747 EPSG:32748 EPSG:32749 EPSG:32750 EPSG:32751 EPSG:32752 EPSG:32753 EPSG:32754 EPSG:32755 EPSG:32756 EPSG:32757 EPSG:32758 EPSG:32759 EPSG:32760 EPSG:41001 EPSG:42101 EPSG:42102 EPSG:42103 EPSG:42104 EPSG:42105 EPSG:42106 EPSG:42301 EPSG:42302 EPSG:42303 EPSG:42304 EPSG:42305 EPSG:42306 EPSG:42307 EPSG:42308 EPSG:42309 EPSG:42310 EPSG:100001</SRS>
+			<FormatList>
+				<Format current="1">image/gif</Format>
+				<Format>image/png</Format>
+				<Format>image/tiff</Format>
+				<Format>image/jpeg</Format>
+				<Format>image/ppm</Format>
+				<Format>application/x-cubestor-wkb</Format>
+				<Format>application/x-cubestor-gml.1</Format>
+				<Format>application/x-cubestor-gml.2</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+					<LegendURL width="16" height="16" format="image/gif">
+						<OnlineResource xlink:type="simple" xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi?VERSION=1.1.1&amp;REQUEST=GetLegendGraphic&amp;LAYER=L7O_B743%3ACEOWARE2&amp;FORMAT=image%2Fgif"/>
+					</LegendURL>    
+				</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="0" hidden="1">
+			<Server service="OGC:WMS" version="1.1.0" title="Atlas of Canada WMS">
+				<OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/atlaswms_en"/>
+			</Server>
+			<Name>drain_60m</Name>
+			<Title>Drainage (1:60 000 000)</Title>
+			<Abstract>Coastline, rivers and lake shorelines intended for display at a scale of 1:60 000 000.</Abstract>
+			<DataURL format="text/html">
+				<OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/nationalatlas/e_intro_g.html"/>
+			</DataURL>
+			<MetadataURL format="text/html">
+				<OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/clf/en?action=entrySummary&amp;entryId=138&amp;entryType=productCollection&amp;context=/contexts/atlas_l7o.xml&amp;keymap=outlineCanada"/>
+			</MetadataURL>
+			<SRS>EPSG:42101 EPSG:42304 EPSG:4269 EPSG:4326 EPSG:2294 EPSG:2295 EPSG:26922 EPSG:26921 EPSG:26920 EPSG:26919 EPSG:26918 EPSG:26917 EPSG:26916 EPSG:26915 EPSG:26914 EPSG:26913 EPSG:26912 EPSG:26911 EPSG:26910 EPSG:26909 EPSG:26908 EPSG:26907 EPSG:26722 EPSG:26721 EPSG:26720 EPSG:26719 EPSG:26718 EPSG:26717 EPSG:26716 EPSG:26715 EPSG:26714 EPSG:26713 EPSG:26712 EPSG:26711 EPSG:26710 EPSG:26709 EPSG:26708 EPSG:26707 EPSG:2295 EPSG:2294</SRS>
+			<FormatList>
+				<Format current="1">image/gif</Format>
+				<Format>image/png</Format>
+				<Format>image/jpeg</Format>
+				<Format>image/wbmp</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+				</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="0" hidden="1">
+			<Server service="OGC:WMS" version="1.1.0" title="Atlas of Canada WMS">
+				<OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/atlaswms_en"/>
+			</Server>
+			<Name>roads_15m</Name>
+			<Title>Road network (1:15 000 000)</Title>
+			<Abstract>Road network and ferry routes intended for display at the scale of 1:15 000 000.</Abstract>
+			<DataURL format="text/html">
+				<OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/nationalatlas/e_intro_g.html"/>
+			</DataURL>
+			<MetadataURL format="text/html">
+				<OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/clf/en?action=entrySummary&amp;entryId=138&amp;entryType=productCollection&amp;context=/contexts/atlas_l7o.xml&amp;keymap=outlineCanada"/>
+			</MetadataURL>			
+			<SRS>EPSG:42101 EPSG:42304 EPSG:4269 EPSG:4326 EPSG:2294 EPSG:2295 EPSG:26922 EPSG:26921 EPSG:26920 EPSG:26919 EPSG:26918 EPSG:26917 EPSG:26916 EPSG:26915 EPSG:26914 EPSG:26913 EPSG:26912 EPSG:26911 EPSG:26910 EPSG:26909 EPSG:26908 EPSG:26907 EPSG:26722 EPSG:26721 EPSG:26720 EPSG:26719 EPSG:26718 EPSG:26717 EPSG:26716 EPSG:26715 EPSG:26714 EPSG:26713 EPSG:26712 EPSG:26711 EPSG:26710 EPSG:26709 EPSG:26708 EPSG:26707 EPSG:2295 EPSG:2294</SRS>
+			<FormatList>
+				<Format current="1">image/gif</Format>
+				<Format>image/png</Format>
+				<Format>image/jpeg</Format>
+				<Format>image/wbmp</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+				</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="0" hidden="0">
+			<Server service="OGC:WMS" version="1.1.0" title="Atlas of Canada WMS">
+				<OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/atlaswms_en"/>
+			</Server>
+			<Name>can_7.5m</Name>
+			<Title>Landmass outline (1:7 500 000)</Title>
+			<Abstract>The outline of the landmass of Canada</Abstract>
+			<DataURL format="text/html">
+				<OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/nationalatlas/e_intro_g.html"/>
+			</DataURL>
+			<MetadataURL format="text/html">
+				<OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/clf/en?action=entrySummary&amp;entryId=138&amp;entryType=productCollection&amp;context=/contexts/atlas_l7o.xml&amp;keymap=outlineCanada"/>
+			</MetadataURL>			
+			<SRS>EPSG:42101 EPSG:42304 EPSG:4269 EPSG:4326 EPSG:2294 EPSG:2295 EPSG:26922 EPSG:26921 EPSG:26920 EPSG:26919 EPSG:26918 EPSG:26917 EPSG:26916 EPSG:26915 EPSG:26914 EPSG:26913 EPSG:26912 EPSG:26911 EPSG:26910 EPSG:26909 EPSG:26908 EPSG:26907 EPSG:26722 EPSG:26721 EPSG:26720 EPSG:26719 EPSG:26718 EPSG:26717 EPSG:26716 EPSG:26715 EPSG:26714 EPSG:26713 EPSG:26712 EPSG:26711 EPSG:26710 EPSG:26709 EPSG:26708 EPSG:26707 EPSG:2295 EPSG:2294</SRS>
+			<FormatList>
+				<Format current="1">image/gif</Format>
+				<Format>image/png</Format>
+				<Format>image/jpeg</Format>
+				<Format>image/wbmp</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+				</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="0" hidden="0">
+			<Server service="OGC:WMS" version="1.1.0" title="Atlas of Canada WMS">
+				<OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/atlaswms_en"/>
+			</Server>
+			<Name>nat_bounds</Name>
+			<Title>Provincial and Territorial Boundaries</Title>
+			<Abstract>Provincial and territorial boundaries</Abstract>
+			<DataURL format="text/html">
+				<OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/nationalatlas/e_intro_g.html"/>
+			</DataURL>
+			<MetadataURL format="text/html">
+				<OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/clf/en?action=entrySummary&amp;entryId=138&amp;entryType=productCollection&amp;context=/contexts/atlas_l7o.xml&amp;keymap=outlineCanada"/>
+			</MetadataURL>			
+			<SRS>EPSG:42101 EPSG:42304 EPSG:4269 EPSG:4326 EPSG:2294 EPSG:2295 EPSG:26922 EPSG:26921 EPSG:26920 EPSG:26919 EPSG:26918 EPSG:26917 EPSG:26916 EPSG:26915 EPSG:26914 EPSG:26913 EPSG:26912 EPSG:26911 EPSG:26910 EPSG:26909 EPSG:26908 EPSG:26907 EPSG:26722 EPSG:26721 EPSG:26720 EPSG:26719 EPSG:26718 EPSG:26717 EPSG:26716 EPSG:26715 EPSG:26714 EPSG:26713 EPSG:26712 EPSG:26711 EPSG:26710 EPSG:26709 EPSG:26708 EPSG:26707 EPSG:2295 EPSG:2294</SRS>
+			<FormatList>
+				<Format current="1">image/gif</Format>
+				<Format>image/png</Format>
+				<Format>image/jpeg</Format>
+				<Format>image/wbmp</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+				</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="1" hidden="1">
+			<Server service="OGC:WMS" version="1.1.0" title="Atlas of Canada WMS">
+				<OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/atlaswms_en"/>
+			</Server>
+			<Name>places_labels_2m</Name>
+			<Title>Populated Places (labels 1:2M)</Title>
+			<Abstract>Selection of Canadian populated places in four classes based on 1991 Census data. It is intended for display at 1:2 000 000.</Abstract>
+			<DataURL format="text/html">
+				<OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/nationalatlas/e_intro_g.html"/>
+			</DataURL>
+			<MetadataURL format="text/html">
+				<OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/clf/en?action=entrySummary&amp;entryId=138&amp;entryType=productCollection&amp;context=/contexts/atlas_l7o.xml&amp;keymap=outlineCanada"/>
+			</MetadataURL>			
+			<SRS>EPSG:42101 EPSG:42304 EPSG:4269 EPSG:4326 EPSG:2294 EPSG:2295 EPSG:26922 EPSG:26921 EPSG:26920 EPSG:26919 EPSG:26918 EPSG:26917 EPSG:26916 EPSG:26915 EPSG:26914 EPSG:26913 EPSG:26912 EPSG:26911 EPSG:26910 EPSG:26909 EPSG:26908 EPSG:26907 EPSG:26722 EPSG:26721 EPSG:26720 EPSG:26719 EPSG:26718 EPSG:26717 EPSG:26716 EPSG:26715 EPSG:26714 EPSG:26713 EPSG:26712 EPSG:26711 EPSG:26710 EPSG:26709 EPSG:26708 EPSG:26707 EPSG:2295 EPSG:2294</SRS>
+			<FormatList>
+				<Format current="1">image/gif</Format>
+				<Format>image/png</Format>
+				<Format>image/jpeg</Format>
+				<Format>image/wbmp</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+				</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="1" hidden="1">
+			<Server service="OGC:WMS" version="1.1.0" title="Atlas of Canada WMS">
+				<OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/atlaswms_en"/>
+			</Server>
+			<Name>cap_labels</Name>
+			<Title>Capitals (Canada)</Title>
+			<Abstract>National, provincial and territorial capital name labels.</Abstract>
+			<DataURL format="text/html">
+				<OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/nationalatlas/e_intro_g.html"/>
+			</DataURL>
+			<MetadataURL format="text/html">
+				<OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/clf/en?action=entrySummary&amp;entryId=138&amp;entryType=productCollection&amp;context=/contexts/atlas_l7o.xml&amp;keymap=outlineCanada"/>
+			</MetadataURL>			
+			<SRS>EPSG:42101 EPSG:42304 EPSG:4269 EPSG:4326 EPSG:2294 EPSG:2295 EPSG:26922 EPSG:26921 EPSG:26920 EPSG:26919 EPSG:26918 EPSG:26917 EPSG:26916 EPSG:26915 EPSG:26914 EPSG:26913 EPSG:26912 EPSG:26911 EPSG:26910 EPSG:26909 EPSG:26908 EPSG:26907 EPSG:26722 EPSG:26721 EPSG:26720 EPSG:26719 EPSG:26718 EPSG:26717 EPSG:26716 EPSG:26715 EPSG:26714 EPSG:26713 EPSG:26712 EPSG:26711 EPSG:26710 EPSG:26709 EPSG:26708 EPSG:26707 EPSG:2295 EPSG:2294</SRS>
+			<FormatList>
+				<Format current="1">image/gif</Format>
+				<Format>image/png</Format>
+				<Format>image/jpeg</Format>
+				<Format>image/wbmp</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+				</Style>
+			</StyleList>
+		</Layer>
+	</LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/context/locatorDemis.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/locatorDemis.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/locatorDemis.xml	(revision 4307)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<ViewContext version="1.0.0" id="atlas_world" xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+	<General>
+		<Window width="180" height="90"/>
+		<BoundingBox SRS="EPSG:4326" minx="-180" miny="-90" maxx="180" maxy="90"/>
+		<Title>Demis World Map (WMS)</Title>
+    <KeywordList>
+      <Keyword>OGC WMS</Keyword>
+      <Keyword>Web Map Service</Keyword>
+      <Keyword>VMap0</Keyword>
+      <Keyword>DCW</Keyword>
+      <Keyword>SRTM</Keyword>
+      <Keyword>ETOPO2</Keyword>
+    </KeywordList>
+    <Abstract>Digital chart of the World, 1:1000,000 scale basemap from various public domain data sources</Abstract>
+    <LogoURL width="198" height="83" format="image/jpg">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.demis.nl/home/images/OGCCompliant.gif"/>
+    </LogoURL>
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.demis.nl/home/pages/wms/demiswms.htm"/>
+    </DescriptionURL>
+    <ContactInformation>
+      <ContactPersonPrimary>
+        <ContactPerson>Bart Adriaanse</ContactPerson>
+        <ContactOrganization>Demis bv. The Netherlands</ContactOrganization>
+      </ContactPersonPrimary>
+      <ContactPosition>GIS &amp; Software Engineer</ContactPosition>
+      <ContactAddress>
+        <AddressType>postal</AddressType>
+        <Address>Rotterdamseweg 183C</Address>
+        <City>Delft</City>
+        <StateOrProvince>ZH</StateOrProvince>
+        <PostCode>2629HD</PostCode>
+        <Country>Netherlands</Country>
+      </ContactAddress>
+      <ContactVoiceTelephone>+31152682510</ContactVoiceTelephone>
+      <ContactFacsimileTelephone>+31152682507</ContactFacsimileTelephone>
+      <ContactElectronicMailAddress>contact@demis.nl</ContactElectronicMailAddress>
+    </ContactInformation>
+	</General>
+	<LayerList>
+		<Layer queryable="1" hidden="0">
+			<Server service="OGC:WMS" version="1.0.0" title="OGC:WMS">
+      <OnlineResource xlink:type="simple" xlink:href="http://www2.demis.nl/WMS/wms.asp?wms=WorldMap"/>
+			</Server>
+			<Name>Bathymetry,Countries,Topography,Hillshading,Coastlines,Waterbodies,Inundated,Rivers,Streams</Name>
+			<Title>Topography</Title>
+			<SRS>EPSG:4326</SRS>
+			<FormatList>
+				<Format current="1">image/gif</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+				</Style>
+			</StyleList>
+		</Layer>
+	</LayerList>
+</ViewContext>
+
Index: lib/spatial/mapbuilder/examples/data/context/local.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/local.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/local.xml	(revision 4307)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8" standalone="no" ?>
+<ViewContext version="1.0.0"
+			    id="eos_data_gateways"
+			    xmlns="http://www.opengis.net/context"
+			    xmlns:xlink="http://www.w3.org/1999/xlink"
+			    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+			    xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+	<General>
+		<Window width="500" height="300" />
+    <BoundingBox SRS="EPSG:4326" minx="141.57875" miny="-44.26625" maxx="151.03125" maxy="-39.56375"/>
+		<!--BoundingBox SRS="EPSG:4326" minx="-180.000000" miny="-90.000000" maxx="180.000000" maxy="90.000000"/-->
+		<Title>Tasmania on local GeoServer</Title>
+		<KeywordList>
+			<Keyword>EOS</Keyword>
+			<Keyword>EOSDIS</Keyword>
+			<Keyword>NASA</Keyword>
+			<Keyword>CCRS</Keyword>
+			<Keyword>CEOS</Keyword>
+			<Keyword>OGC</Keyword>
+		</KeywordList>
+    <Abstract>Users default Geoserver http://geoserver.sf.net WMS/WFS</Abstract>
+	</General>
+	<LayerList>
+		<Layer queryable="1" hidden="0">
+			<Server service="OGC:WMS" version="1.1.1" title="Local">
+				<OnlineResource xlink:type="simple" xlink:href="/geoserver/wms"/>
+			</Server>
+			<Name>topp:tasmania_state_boundaries</Name>
+			<Title>Tasmania State Boundaries</Title>
+      <Abstract>Tasmania State Boundaries.</Abstract>
+			<SRS>EPSG:4326</SRS>
+			<FormatList>
+				<Format current="1">image/png</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>green</Name>
+					<Title>green</Title>
+				</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="1" hidden="0">
+			<Server service="OGC:WMS" version="1.1.1" title="Local">
+				<OnlineResource xlink:type="simple" xlink:href="/geoserver/wms"/>
+			</Server>
+			<Name>topp:tasmania_roads</Name>
+			<Title>Tasmania Roads</Title>
+			<Abstract>Some roads in Tasmania</Abstract>
+			<SRS>EPSG:4326</SRS>
+			<FormatList>
+				<Format current="1">image/png</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>simple_roads</Name>
+					<Title>default</Title>
+				</Style>
+			</StyleList>
+		</Layer>
+	</LayerList>
+</ViewContext> 
Index: lib/spatial/mapbuilder/examples/data/context/dutchCbs.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/dutchCbs.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/dutchCbs.xml	(revision 4307)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<ViewContext version="1.0.0" id="cbs_holland" xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="600" height="300"/>
+    <BoundingBox SRS="EPSG:28992" minx="0" miny="300000" maxx="300000" maxy="620000"/>
+    <!-- This is a tilecache server which only works with this bbox as maxExtent 
+    		 and resolutions: 650,364.5,121.5,40.5,13.5,4.5,1.5
+    		 The main purpose is to have a projected tilecache server to test against.
+    -->
+    <Title>CBS data</Title>
+  </General>
+  <LayerList>
+    <Layer queryable="0" hidden="0">
+      <Server service="OGC:WMS" version="1.0.0" title="OGC:WMS">
+        <OnlineResource xlink:type="simple" xlink:href="http://tilecache.minst.net/tilecache.py"/>
+      </Server>
+      <Name>cbs</Name>
+      <Title>cbs</Title>
+      <SRS>EPSG:28992</SRS>
+      <SRS>EPSG:28992</SRS>
+      <FormatList>
+        <Format>image/png</Format>
+        <Format current="1">image/png; mode=24bit</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/context/cite_deegree.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/cite_deegree.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/cite_deegree.xml	(revision 4307)
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ViewContext xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wmc="http://www.opengis.net/context" version="1.0.0" id="eos_data_gateways" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="400" height="200"/>
+    <BoundingBox SRS="EPSG:4326" minx="-18" miny="-9" maxx="18" maxy="9"/>
+    <Title>deegree wms</Title>
+  </General>
+  <LayerList>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="deegree wms">
+        <OnlineResource type="simple" xlink:href="http://ogc-ri.deegree.org/deegree/wms?"/>
+      </Server>
+      <Name>cite:BasicPolygons</Name>
+      <Title>cite:BasicPolygons</Title>
+      <Abstract/>
+      <SRS/>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="deegree wms">
+        <OnlineResource type="simple" xlink:href="http://ogc-ri.deegree.org/deegree/wms?"/>
+      </Server>
+      <Name>cite:Bridges</Name>
+      <Title>cite:Bridges</Title>
+      <Abstract/>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="deegree wms">
+        <OnlineResource type="simple" xlink:href="http://ogc-ri.deegree.org/deegree/wms?"/>
+      </Server>
+      <Name>cite:BuildingCenters</Name>
+      <Title>cite:BuildingCenters</Title>
+      <Abstract/>
+      <SRS/>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="deegree wms">
+        <OnlineResource type="simple" xlink:href="http://ogc-ri.deegree.org/deegree/wms?"/>
+      </Server>
+      <Name>cite:Buildings</Name>
+      <Title>cite:Buildings</Title>
+      <Abstract/>
+      <SRS/>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="deegree wms">
+        <OnlineResource type="simple" xlink:href="http://ogc-ri.deegree.org/deegree/wms?"/>
+      </Server>
+      <Name>cite:DividedRoutes</Name>
+      <Title>cite:DividedRoutes</Title>
+      <Abstract/>
+      <SRS/>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="deegree wms">
+        <OnlineResource type="simple" xlink:href="http://ogc-ri.deegree.org/deegree/wms?"/>
+      </Server>
+      <Name>cite:Forests</Name>
+      <Title>cite:Forests</Title>
+      <Abstract/>
+      <SRS/>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="deegree wms">
+        <OnlineResource type="simple" xlink:href="http://ogc-ri.deegree.org/deegree/wms?"/>
+      </Server>
+      <Name>cite:Lakes</Name>
+      <Title>cite:Lakes</Title>
+      <Abstract/>
+      <SRS/>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="deegree wms">
+        <OnlineResource type="simple" xlink:href="http://ogc-ri.deegree.org/deegree/wms?"/>
+      </Server>
+      <Name>cite:MapNeatline</Name>
+      <Title>cite:MapNeatline</Title>
+      <Abstract/>
+      <SRS/>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="deegree wms">
+        <OnlineResource type="simple" xlink:href="http://ogc-ri.deegree.org/deegree/wms?"/>
+      </Server>
+      <Name>cite:NamedPlaces</Name>
+      <Title>cite:NamedPlaces</Title>
+      <Abstract/>
+      <SRS/>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="deegree wms">
+        <OnlineResource type="simple" xlink:href="http://ogc-ri.deegree.org/deegree/wms?"/>
+      </Server>
+      <Name>cite:Ponds</Name>
+      <Title>cite:Ponds</Title>
+      <Abstract/>
+      <SRS/>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="deegree wms">
+        <OnlineResource type="simple" xlink:href="http://ogc-ri.deegree.org/deegree/wms?"/>
+      </Server>
+      <Name>cite:RoadSegments</Name>
+      <Title>cite:RoadSegments</Title>
+      <Abstract/>
+      <SRS/>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="deegree wms">
+        <OnlineResource type="simple" xlink:href="http://ogc-ri.deegree.org/deegree/wms?"/>
+      </Server>
+      <Name>cite:Streams</Name>
+      <Title>cite:Streams</Title>
+      <Abstract/>
+      <SRS/>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/context/mars.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/mars.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/mars.xml	(revision 4307)
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<ViewContext version="1.0.0"
+             id="mars"
+             xmlns="http://www.opengis.net/context"
+             xmlns:xlink="http://www.w3.org/1999/xlink"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+	<General>
+		<Window width="500" height="250"/>
+		<BoundingBox SRS="EPSG:4326" minx="-180" miny="-90" maxx="180" maxy="90"/>
+		<Title>Mars</Title>
+		<Abstract>This data product is a topographic map of Mars at a resolution of 0.00781 (1/128) by 0.00781 degrees, based on altimetry data acquired by the Mars Global Surveyor MOLA instrument and accumulated over the course of the primary and extended mission. The MOLA Precision Experiment Data Records (PEDRs) are the source for this data set. The map is in the form of a binary table with one row for each 0.00781-degree latitude. Map coordinates use the IAU2000 reference system, and areoid defined by the Goddard Mars potential model GMM3 (mgm1025) evaluated to degree and order 50. The binned data include all MOLA nadir observations from the Mapping Phase through the Primary and Extended missions, from the end of aerobraking in February 1999 through June 2001. Additionally, off-nadir observations of the north pole are included from 87 N latitude and northward, taken during the spring of 1998, and of both poles taken during Mapping from 87 N and S to the poles. Data are adjusted using a first-order crossover solution for radial, along-track, and across-track position. Parts of orbits are excluded where solutions for these orbits are deemed to be poor. (Note: subtract 10000 from a MOLA mapping phase orbit number to determine the equivalent MGS Project orbit number.) Also excluded are shots more than 1.2 degree off-nadir (except as noted above), channel 4 returns, and any returns not classified as ground returns, e.g. clouds or noise, according to the SHOT_CLASSIFICATION_CODE. A total of nearly 600,000,000 observations are represented.</Abstract>
+	</General> 
+	<LayerList>
+		<Layer queryable="1" hidden="0">
+			<Server service="OGC:WMS" version="1.1.1" title="OGC:WMS">
+				<OnlineResource xlink:type="simple" xlink:href="http://demo.cubewerx.com/demo/cubeserv/cubeserv.cgi?CONFIG=mars"/>
+			</Server>
+			<Name>MOLA128:MARS_DATA</Name>
+			<Title>Mars Topography</Title>
+			<SRS>EPSG:4326</SRS>
+			<FormatList>
+				<Format current="1">image/png</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>Land%20Shade</Name>
+					<Title>Land Shade</Title>
+					<LegendURL width="16" height="16" format="image/gif">
+						<OnlineResource xlink:type="simple" xlink:href="http://demo.cubewerx.com/demo/cubeserv/cubeserv.cgi?CONFIG=mars&amp;VERSION=1.1.1&amp;REQUEST=GetLegendGraphic&amp;LAYER=MOLA128%3AMARS_DATA&amp;STYLE=Land Shade&amp;FORMAT=image%2Fgif"/>
+					</LegendURL>
+				</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="1" hidden="1">
+			<Server service="OGC:WMS" version="1.1.1" title="OGC:WMS">
+				<OnlineResource xlink:type="simple" xlink:href="http://demo.cubewerx.com/demo/cubeserv/cubeserv.cgi?CONFIG=mars"/>
+			</Server>
+						<Name>SHADEDRED:MARS_DATA</Name>
+						<Title>Shaded Red</Title>
+						<Abstract>The Red Mars map is a 24bit colour image in Plate Carée Equirectangular projection, representing the surface of Mars, as viewable from space.  The new Mars colour was built using a mass of procedural textures for a seamless and distortion free pleasing look, and the remaining details were derived from  Nasa/Jpl* imagery.</Abstract>
+			<SRS>EPSG:4326</SRS>
+			<FormatList>
+				<Format current="1">image/png</Format>
+			</FormatList>
+			<StyleList>
+						<Style current="1">
+							<Name>default</Name>
+							<Title>default</Title>
+							<LegendURL width="16" height="16">
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://demo.cubewerx.com/demo/cubeserv/cubeserv.cgi?CONFIG=mars&amp;SERVICE=WMS&amp;VERSION=1.1.1&amp;REQUEST=GetLegendGraphic&amp;LAYER=SHADEDRED%3AMARS_DATA&amp;FORMAT=image%2Fpng&amp;SIMPLE=TRUE"/>
+							</LegendURL>
+						</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="1" hidden="1">
+			<Server service="OGC:WMS" version="1.1.1" title="OGC:WMS">
+				<OnlineResource xlink:type="simple" xlink:href="http://demo.cubewerx.com/demo/cubeserv/cubeserv.cgi?CONFIG=mars"/>
+			</Server>
+						<Name>MDIM21:MARS_DATA</Name>
+						<Title>Mars Global Digital Image Mosaic</Title>
+						<Abstract> This layer is a global image map of Mars with a resolution of 256 pixels/degree (scale approximately 231 m/pixel at the equator). The black-and-white mosaic is processed to emphasize local topographic features. This mosaic, known as Mars Digital Image Model (MDIM) 2.1, replaces two earlier mosaics produced by the USGS from the same set of approximately 4600 Viking Orbiter images. The positional accuracy of features in MDIM 2.1 is estimated to be roughly one pixel (200 m), compared to 3 km for MDIM 2.0 released in 2001 and &gt;6 km for MDIM 1.0 released in 1991. In addition to relatively imprecise geodetic control, the previous mosaics were affected by changing definitions of cartographic parameters (such as the definition of zero longitude), resulting in an overall longitude shift of as much as 0.2° between the early MDIMs and other datasets. The new mosaic uses the most recent coordinate system definitions for Mars. These definitions have been widely adopted by NASA missions and other users of planetary data and are likely to remain in use for a decade or more. As a result, MDIM 2.1 not only registers precisely with data from current missions such as MGS and 2001 Mars Odyssey but will serve as an accurate basemap on which data from future missions can be plotted.</Abstract>
+			<SRS>EPSG:4326</SRS>
+			<FormatList>
+				<Format current="1">image/png</Format>
+			</FormatList>
+			<StyleList>
+						<Style current="1">
+							<Name>default</Name>
+							<Title>default</Title>
+							<LegendURL width="16" height="16">
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://demo.cubewerx.com/demo/cubeserv/cubeserv.cgi?CONFIG=mars&amp;SERVICE=WMS&amp;VERSION=1.1.1&amp;REQUEST=GetLegendGraphic&amp;LAYER=OCEANIC%3AMARS_DATA&amp;FORMAT=image%2Fpng&amp;SIMPLE=TRUE"/>
+							</LegendURL>
+						</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="1" hidden="1">
+			<Server service="OGC:WMS" version="1.1.1" title="OGC:WMS">
+				<OnlineResource xlink:type="simple" xlink:href="http://demo.cubewerx.com/demo/cubeserv/cubeserv.cgi?CONFIG=mars"/>
+			</Server>
+						<Name>OCEANIC:MARS_DATA</Name>
+						<Title>Oceanic</Title>
+						<Abstract>The Blue Mars map is a 24bit colour image in Plate Carée Equirectangular projection, representing the surface of Mars in one possible aspect from billions of years ago, when parts of the surface where probably filled with water. A situation similar to the Earth with oceans.  BLUE MARS was completely done using Terragen and the Waterworks plugin. Topography and surface details matched with the "ieg0031t" MOLA dataset.</Abstract>
+			<SRS>EPSG:4326</SRS>
+			<FormatList>
+				<Format current="1">image/png</Format>
+			</FormatList>
+			<StyleList>
+						<Style current="1">
+							<Name>default</Name>
+							<Title>default</Title>
+							<LegendURL width="16" height="16">
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://demo.cubewerx.com/demo/cubeserv/cubeserv.cgi?CONFIG=mars&amp;SERVICE=WMS&amp;VERSION=1.1.1&amp;REQUEST=GetLegendGraphic&amp;LAYER=OCEANIC%3AMARS_DATA&amp;FORMAT=image%2Fpng&amp;SIMPLE=TRUE"/>
+							</LegendURL>
+						</Style>
+			</StyleList>
+		</Layer>
+		<Layer queryable="1" hidden="0">
+			<Server service="OGC:WMS" version="1.1.1" title="OGC:WMS">
+				<OnlineResource xlink:type="simple" xlink:href="http://demo.cubewerx.com/demo/cubeserv/cubeserv.cgi?CONFIG=mars"/>
+			</Server>
+			<Name>MARS_LANDINGS:MARS_DATA</Name>
+			<Title>Mars Landings</Title>
+			<SRS>EPSG:4326</SRS>
+			<FormatList>
+				<Format current="1">image/gif</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+					<LegendURL width="16" height="16" format="image/gif">
+						<OnlineResource xlink:type="simple" xlink:href="http://demo.cubewerx.com/demo/cubeserv/cubeserv.cgi?CONFIG=mars&amp;VERSION=1.1.1&amp;REQUEST=GetLegendGraphic&amp;LAYER=MARS_LANDINGS%3AMARS_DATA&amp;STYLE=icons&amp;FORMAT=image%2Fgif"/>
+					</LegendURL>
+				</Style>
+			</StyleList>
+		</Layer>
+	</LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/context/demisWorldMap.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/demisWorldMap.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/demisWorldMap.xml	(revision 4307)
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<ViewContext version="1.0.0" id="atlas_world" xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="600" height="300"/>
+    <BoundingBox SRS="EPSG:4326" minx="-180" miny="-90" maxx="180" maxy="90"/>
+    <Title>Demis World Map (WMS)</Title>
+    <KeywordList>
+      <Keyword>OGC WMS</Keyword>
+      <Keyword>Web Map Service</Keyword>
+      <Keyword>VMap0</Keyword>
+      <Keyword>DCW</Keyword>
+      <Keyword>SRTM</Keyword>
+      <Keyword>ETOPO2</Keyword>
+    </KeywordList>
+    <Abstract>Digital chart of the World, 1:1000,000 scale basemap from various public domain data sources</Abstract>
+    <LogoURL width="198" height="83" format="image/jpg">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.demis.nl/home/images/OGCCompliant.gif"/>
+    </LogoURL>
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.demis.nl/home/pages/wms/demiswms.htm"/>
+    </DescriptionURL>
+    <ContactInformation>
+      <ContactPersonPrimary>
+        <ContactPerson>Bart Adriaanse</ContactPerson>
+        <ContactOrganization>Demis bv. The Netherlands</ContactOrganization>
+      </ContactPersonPrimary>
+      <ContactPosition>GIS &amp; Software Engineer</ContactPosition>
+      <ContactAddress>
+        <AddressType>postal</AddressType>
+        <Address>Rotterdamseweg 183C</Address>
+        <City>Delft</City>
+        <StateOrProvince>ZH</StateOrProvince>
+        <PostCode>2629HD</PostCode>
+        <Country>Netherlands</Country>
+      </ContactAddress>
+      <ContactVoiceTelephone>+31152682510</ContactVoiceTelephone>
+      <ContactFacsimileTelephone>+31152682507</ContactFacsimileTelephone>
+      <ContactElectronicMailAddress>contact@demis.nl</ContactElectronicMailAddress>
+    </ContactInformation>
+  </General>
+  <LayerList>
+    <Layer queryable="1" hidden="0" opacity="0.5">
+      <Server service="OGC:WMS" version="1.0.0" title="OGC:WMS">
+      <OnlineResource xlink:type="simple" xlink:href="http://www2.demis.nl/WMS/wms.asp?wms=WorldMap"/>
+      </Server>
+      <Name>Bathymetry,Countries,Topography,Hillshading</Name>
+      <Title>Topography</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.0.0" title="OGC:WMS">
+      <OnlineResource xlink:type="simple" xlink:href="http://www2.demis.nl/WMS/wms.asp?wms=WorldMap"/>
+      </Server>
+      <Name>Coastlines,Waterbodies,Inundated,Rivers,Streams</Name>
+      <Title>Land features</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.0.0" title="OGC:WMS">
+      <OnlineResource xlink:type="simple" xlink:href="http://www2.demis.nl/WMS/wms.asp?wms=WorldMap"/>
+      </Server>
+      <Name>Builtup%20areas,Railroads,Highways,Roads,Trails,Borders,Cities,Settlements,Airports</Name>
+      <Title>Man-made features</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="OGC:WMS" version="1.0.0" title="OGC:WMS">
+      <OnlineResource xlink:type="simple" xlink:href="http://www2.demis.nl/WMS/wms.asp?wms=WorldMap"/>
+      </Server>
+      <Name>Spot+elevations,Ocean+features</Name>
+      <Title>Misc. features</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+    </Layer>
+  </LayerList>
+</ViewContext>
+
Index: lib/spatial/mapbuilder/examples/data/context/worldMapsAtomFeed.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/worldMapsAtomFeed.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/worldMapsAtomFeed.xml	(revision 4307)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+  <title>Maps of the world</title>
+  <updated>2008-03-01T18:30:02Z</updated>
+  <author>
+    <name>Cameron Shorter</name>
+  </author>
+  <id>urn:mapbuilder-1.5example1</id>
+  <entry>
+    <title>Atlas World base map</title>
+    <id>atlas</id>
+    <updated>2008-03-01T18:30:02Z</updated>
+    <author>
+      <name>anonymous</name>
+    </author>
+    <content src="../data/context/OwcAtlasWorld.xml">fred</content>
+  </entry>
+  <entry>
+    <title>Demis World map</title>
+    <id>demis</id>
+    <updated>2008-03-01T18:30:02Z</updated>
+    <author>
+      <name>anonymous</name>
+    </author>
+    <content src="../data/context/OwcDemisWorldMap.xml"/>
+  </entry>
+  <entry>
+    <title>Canada - Natural Resources</title>
+    <id>nrCanada</id>
+    <updated>2008-03-01T18:30:02Z</updated>
+    <author>
+      <name>anonymous</name>
+    </author>
+    <content src="../data/context/OwcCanada.xml"/>
+  </entry>
+</feed>
Index: lib/spatial/mapbuilder/examples/data/context/atlasWorld.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/atlasWorld.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/atlasWorld.xml	(revision 4307)
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<ViewContext version="1.0.0" id="atlas_world" xmlns="http://www.opengis.net/context" xmlns:wmc="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="400" height="200"/>
+    <BoundingBox SRS="EPSG:4326" minx="-180" miny="-90" maxx="180" maxy="90"/>
+    <Title xml:lang="en">World Base Map</Title>
+    <Title xml:lang="fr">Carte mondiale de base</Title>
+    <KeywordList>
+      <Keyword>world</Keyword>
+      <Keyword>atlas</Keyword>
+    </KeywordList>
+    <Abstract xml:lang="en">Atlas of Canada, World Base Map. Small scale vector based map served by Mapserver WMS.</Abstract>
+    <Abstract xml:lang="fr">L`atlas du Canada, Carte mondiale de base. Une carte de petite �chelle servis par Mapserver WMS.</Abstract>
+    <LogoURL width="34" height="35" format="image/jpg">
+      <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/site/english/atlas_identifier.jpg"/>
+    </LogoURL>
+    <DescriptionURL format="text/html" xml:lang="en">
+      <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/site/english/index.html"/>
+    </DescriptionURL>
+    <DescriptionURL format="text/html" xml:lang="fr">
+      <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/site/francais/index.html"/>
+    </DescriptionURL>
+    <ContactInformation>
+      <ContactPersonPrimary>
+        <ContactPerson>Michael Adair</ContactPerson>
+        <ContactOrganization>Canada Centre for Remote Sensing</ContactOrganization>
+      </ContactPersonPrimary>
+      <ContactPosition>Systems Scientist</ContactPosition>
+      <ContactAddress>
+        <AddressType>postal</AddressType>
+        <Address>615 Booth Street, room 650</Address>
+        <City>Ottawa</City>
+        <StateOrProvince>Ontario</StateOrProvince>
+        <PostCode>K1A 0E9</PostCode>
+        <Country>Canada</Country>
+      </ContactAddress>
+      <ContactVoiceTelephone>+1 613 947 1342</ContactVoiceTelephone>
+      <ContactFacsimileTelephone>+1 613 947 2410</ContactFacsimileTelephone>
+      <ContactElectronicMailAddress>mike.adair@ccrs.nrcan.gc.ca</ContactElectronicMailAddress>
+    </ContactInformation>
+  </General>
+  <LayerList>
+    <Layer queryable="0" hidden="0" opacity="0.2">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>ocean</Name>
+      <Title xml:lang="en">ocean area</Title>
+      <Title xml:lang="fr">aires oc�anique</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>land</Name>
+      <Title xml:lang="en">land area</Title>
+      <Title xml:lang="fr">aire terrestielle</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>lake_fill</Name>
+      <Title xml:lang="en">lakes</Title>
+      <Title xml:lang="fr">lacs</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>lake_outline</Name>
+      <Title xml:lang="en">lake outlines</Title>
+      <Title xml:lang="fr">lacs (polygones)</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>coast</Name>
+      <Title xml:lang="en">coastline</Title>
+      <Title xml:lang="fr">littoral</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>rivers</Name>
+      <Title xml:lang="en">rivers</Title>
+      <Title xml:lang="fr">rivi�res</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>boundaries</Name>
+      <Title xml:lang="en">boundaries</Title>
+      <Title xml:lang="fr">limites internationale</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="1">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>capital</Name>
+      <Title xml:lang="en">capitals</Title>
+      <Title xml:lang="fr">capitaux (points)</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>country_names</Name>
+      <Title xml:lang="en">country names</Title>
+      <Title xml:lang="fr">nom des pays</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="1">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>capital_names</Name>
+      <Title xml:lang="en">capital names</Title>
+      <Title xml:lang="fr">capitaux (nom)</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/locations/Canada-42304.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/locations/Canada-42304.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/locations/Canada-42304.xml	(revision 4307)
@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!-- $Id: Canada-42304.xml 2546 2007-01-23 12:07:39Z gjvoosten $ -->
+<QuickviewPresetResultSet version="1.0.0"  xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../../lib/schemas/locations.xsd">
+	<gml:description>Canadian locations</gml:description>
+	<gml:name>CMB:Locations</gml:name>
+	<gml:boundedBy>
+		<gml:Null>missing</gml:Null>
+	</gml:boundedBy>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-------Canada</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#42304">
+						<gml:coordinates>-2200000,-712631 3072800,3840000</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Alberta</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#42304">
+						<gml:coordinates>-1617000,131540 -731000,1506340</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------British Columbia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#42304">
+						<gml:coordinates>-2430000,222000 -1280000,2031000</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Manitoba</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#42304">
+						<gml:coordinates>-555000,-207000 456400,1291278</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------New Brunswick</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#42304">
+						<gml:coordinates>1876700,35800 2366000,404700</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Newfoundland and Labrador</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#42304">
+						<gml:coordinates>1533000,586000 3041900,1597000</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Northwest Territories</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#42304">
+						<gml:coordinates>-2423500,1223700 1450000,3830000</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Nova Scotia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#42304">
+						<gml:coordinates>2218000,-73300 2610396,327400</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Nunavut</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#42304">
+						<gml:coordinates>-474700,1109000 431500,2292700</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Ontario</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#42304">
+						<gml:coordinates>-201000,-779000 1766000,941000</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Prince Edward Island</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#42304">
+						<gml:coordinates>2261000,262700 2456000,379200</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Quebec</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#42304">
+						<gml:coordinates>727689,-204354 2000229,1688524</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Saskatchewan</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#42304">
+						<gml:coordinates>-1245000,16751 -323000,1295000</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Yukon</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#42304">
+						<gml:coordinates>-2392000,1542700 -1356000,2857000</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+</QuickviewPresetResultSet>
Index: lib/spatial/mapbuilder/examples/data/context/metacartaWorldMap.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/metacartaWorldMap.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/metacartaWorldMap.xml	(revision 4307)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<ViewContext version="1.0.0" id="metacarta_world" xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/context ../../../lib/schemas/context.xsd">
+  <General>
+    <Window width="600" height="300"/>
+    <BoundingBox SRS="EPSG:4326" minx="-180" miny="-90" maxx="180" maxy="90"/>
+    <Title>Metacarta World Map VMaplv0 (WMS)</Title>
+  </General>
+  <LayerList>
+    <Layer queryable="0" hidden="0">
+      <Server service="OGC:WMS-C" version="1.0.0" title="OGC:WMS-C">
+        <OnlineResource xlink:type="simple" xlink:href="http://labs.metacarta.com/wms/vmap0"/>
+      </Server>
+      <Name>basic</Name>
+      <Title>basic</Title>
+      <SRS>EPSG:4326 EPSG:4269</SRS>
+      <FormatList>
+        <Format>image/jpeg</Format>
+        <Format>image/png</Format>
+        <Format>image/gif</Format>
+        <Format current="1">image/png; mode=24bit</Format>
+        <Format>image/wbmp</Format>
+        <Format>image/tiff</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/context/SLDParamExample.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/SLDParamExample.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/SLDParamExample.xml	(revision 4307)
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8" standalone="no" ?>
+<ViewContext version="1.0.0"
+             id="owsview_generated_context"
+             xmlns="http://www.opengis.net/context"
+             xmlns:xlink="http://www.w3.org/1999/xlink"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+ <General>
+  <Window width="500" height="300" />
+  <BoundingBox SRS="EPSG:4326" minx="-160.212693" miny="20.096000" maxx="-53.787307" maxy="83.904000" />
+  <Title>owsview Viewer Client Generator automatically generated context</Title>
+  <KeywordList>
+   <Keyword>owsview</Keyword>
+   <Keyword>CGDI</Keyword>
+   <Keyword>GeoConnections</Keyword>
+   <Keyword>NRCan</Keyword>
+   <Keyword>OGC</Keyword>
+  </KeywordList>
+  <Abstract>This is a generated context, automatically generated by owsview Viewer Client Generator (http://cgdi-dev.geoconnections.org/prototypes/owsview) on Wed Nov 10 09:34:23 2004 from IP 199.212.18.131</Abstract> 
+  <LogoURL width="150" height="75" format="image/gif">
+   <OnlineResource xlink:type="simple" xlink:href="http://cgdi-dev.geoconnections.org/prototypes/owsview/graphics/cgdi.png"/>
+  </LogoURL>
+  <DescriptionURL format="text/html">
+   <OnlineResource xlink:type="simple" xlink:href="http://cgdi.gc.ca/"/>
+  </DescriptionURL>
+  <ContactInformation>
+   <ContactPersonPrimary>
+    <ContactPerson>Tom Kralidis</ContactPerson>
+    <ContactOrganization>Environment Canada</ContactOrganization>
+   </ContactPersonPrimary>
+   <ContactPosition>Systems Scientist</ContactPosition>
+    <ContactAddress>
+    <AddressType>postal</AddressType>
+    <Address>867 Lakeshore Road</Address>
+    <City>Burlington</City>
+    <StateOrProvince>Ontario</StateOrProvince>
+    <PostCode>L7R 4A6</PostCode>
+    <Country>Canada</Country>
+   </ContactAddress>
+   <ContactVoiceTelephone>+01-905-336-4409</ContactVoiceTelephone>
+   <ContactFacsimileTelephone>+01-905-336-4499</ContactFacsimileTelephone>
+   <ContactElectronicMailAddress>tom.kralidis@ec.gc.ca</ContactElectronicMailAddress>
+  </ContactInformation>
+ </General> 
+ <LayerList>
+  <Layer queryable="0" hidden="0">
+   <Server service="OGC:WMS" version="1.1.1" title="OGC:WMS">
+    <OnlineResource xlink:type="simple" xlink:href="http://mapserv2.esrin.esa.it/ionicweb/map/GAEL_WORLD_MARCH"/>
+   </Server>
+   <Name>GAEL_WORLD_MARCH</Name>
+   <Title>Mosaic of MERIS_RR products</Title>
+   <SRS>EPSG:4326</SRS>
+   <FormatList>
+    <Format current="1">image/png</Format>
+   </FormatList>
+   <StyleList>
+   <Style current="1">
+    <Name>default</Name>
+    <Title>default</Title>
+   </Style>
+   </StyleList>
+  </Layer>
+  <Layer queryable="1" hidden="0">
+   <Server service="OGC:WMS" version="1.1.1" title="OGC:WMS">
+    <OnlineResource xlink:type="simple" xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi"/>
+   </Server>
+   <Name>COASTL_BND_1M:Foundation</Name>
+   <Title>Coastlines</Title>
+   <SRS>EPSG:4326</SRS>
+   <FormatList>
+    <Format current="1">image/gif</Format>
+   </FormatList>
+   <StyleList>
+   <Style current="1">
+    <Name>default</Name>
+    <Title>default</Title>
+    <LegendURL>
+     <OnlineResource xlink:type="simple" xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi?VERSION=1.1.1&amp;REQUEST=GetLegendGraphic&amp;LAYER=COASTL_BND_1M:Foundation&amp;FORMAT=image/gif"/>
+    </LegendURL>    
+   </Style>
+   </StyleList>
+  </Layer>
+  <Layer queryable="1" hidden="0">
+   <Server service="OGC:WMS" version="1.1.1" title="OGC:WMS">
+    <OnlineResource xlink:type="simple" xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi"/>
+   </Server>
+   <Name>POLBNDL_BND_1M:Foundation</Name>
+   <Title>Political Boundaries</Title>
+   <SRS>EPSG:4326</SRS>
+   <FormatList>
+    <Format current="1">image/gif</Format>
+   </FormatList>
+   <StyleList>
+   <Style current="1">
+    <SLD>
+     <OnlineResource xlink:type="simple" xlink:href="http://cgdi-dev.geoconnections.org/prototypes/owsview/cache/110009719722986sld_1_0_0.xml" />
+    </SLD>
+    <LegendURL>
+     <OnlineResource xlink:type="simple" xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi?VERSION=1.1.1&amp;REQUEST=GetLegendGraphic&amp;LAYER=POLBNDL_BND_1M:Foundation&amp;FORMAT=image/gif"/>
+    </LegendURL>    
+   </Style>
+   </StyleList>
+  </Layer>
+  <Layer queryable="1" hidden="0">
+   <Server service="OGC:WMS" version="1.1.0" title="OGC:WMS">
+    <OnlineResource xlink:type="simple" xlink:href="http://geo.compusult.net/scripts/mapman.dll?Name=weather"/>
+   </Server>
+   <Name>WEATHER</Name>
+   <Title>North American Hourly METAR Weather Reports</Title>
+   <SRS>EPSG:4326</SRS>
+   <FormatList>
+    <Format current="1">image/gif</Format>
+   </FormatList>
+   <StyleList>
+   <Style current="1">
+    <Name>DEFAULT</Name>
+    <Title>DEFAULT</Title>
+    <LegendURL>
+     <OnlineResource xlink:type="simple" xlink:href="http://geo.compusult.net/legends/weather.gif"/>
+    </LegendURL>    
+   </Style>
+   </StyleList>
+  </Layer>
+  <Layer queryable="1" hidden="0">
+   <Server service="OGC:WMS" version="1.1.0" title="OGC:WMS">
+    <OnlineResource xlink:type="simple" xlink:href="http://www2.demis.nl/mapserver/request.asp"/>
+   </Server>
+   <Name>Cities</Name>
+   <Title>Cities</Title>
+   <SRS>EPSG:4326</SRS>
+   <FormatList>
+    <Format current="1">image/gif</Format>
+   </FormatList>
+   <StyleList>
+   <Style current="1">
+    <Name>default</Name>
+    <Title>default</Title>
+   </Style>
+   </StyleList>
+  </Layer>
+ </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/locations/Canada.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/locations/Canada.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/locations/Canada.xml	(revision 4307)
@@ -0,0 +1,225 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!-- $Id: Canada.xml 1854 2006-01-15 02:42:17Z tomkralidis $ -->
+<QuickviewPresetResultSet version="1.0.0"  xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../../lib/schemas/locations.xsd">
+	<gml:description>Canadian locations</gml:description>
+	<gml:name>CMB:Locations</gml:name>
+	<gml:boundedBy>
+		<gml:Null>missing</gml:Null>
+	</gml:boundedBy>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-------Canada</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-141,42 -52,84</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Alberta</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-120,49 -110,60</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------British Columbia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-139,48 -114,60</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>---------------Vancouver</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-123.224241434698,49.1981566626439 -123.022966859531,49.3168483739754</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Manitoba</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-102,49 -89,60</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------New Brunswick</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-69,45 -64,48</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Newfoundland and Labrador</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-67.7,47 -52,60</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Northwest Territories</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-136.5,60 -101.5,79</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Nova Scotia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-66.3,43 -59.9,47</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Nunavut</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-121,52 -61,84</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Ontario</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-95,42 -74,57</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>---------------Ottawa</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-75.8177,45.31929 -75.5897,45.46888</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>---------------Toronto</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-79.4881,43.61042 -79.2786,43.73698</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Prince Edward Island</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-64.5,45.9 -62,47</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Quebec</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-79.5,45 -57,63</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>---------------Montreal</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-73.6193886688066,45.6127246118815 -73.4754304860602,45.7130175713401</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Saskatchewan</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-110,49 -101.5,60</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>-----------Yukon</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-141,60 -123.8,69.6</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+</QuickviewPresetResultSet>
Index: lib/spatial/mapbuilder/examples/data/tasmania/TasmaniaWaterBodies.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/tasmania/TasmaniaWaterBodies.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/tasmania/TasmaniaWaterBodies.xml	(revision 4307)
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs" xmlns:topp="http://www.openplans.org/topp" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openplans.org/topp http://192.168.0.100:8080/geoserver-1.4.0-RC3/wfs/DescribeFeatureType?typeName=topp:tasmania_water_bodies http://www.opengis.net/wfs http://192.168.0.100:8080/geoserver-1.4.0-RC3/schemas/wfs/1.0.0/WFS-basic.xsd">
+  <gml:boundedBy>
+    <gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+      <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">145.971619,-43.031944 147.219696,-41.775558</gml:coordinates>
+    </gml:Box>
+  </gml:boundedBy>
+  <gml:featureMember>
+    <topp:tasmania_water_bodies fid="tasmania_water_bodies.1">
+      <topp:the_geom>
+        <gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:polygonMember>
+            <gml:Polygon>
+              <gml:outerBoundaryIs>
+                <gml:LinearRing>
+                  <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">146.232727,-42.157501 146.238007,-42.16111 146.24411,-42.169724 146.257202,-42.193329 146.272217,-42.209442 146.274689,-42.214165 146.27832,-42.21833 146.282471,-42.228882 146.282745,-42.241943 146.291351,-42.255836 146.290253,-42.261948 146.288025,-42.267502 146.282471,-42.269997 146.274994,-42.271111 146.266663,-42.270279 146.251373,-42.262505 146.246918,-42.258057 146.241333,-42.256111 146.23468,-42.257782 146.221344,-42.269165 146.210785,-42.274445 146.20163,-42.27417 146.196075,-42.271385 146.186646,-42.258057 146.188568,-42.252785 146.193298,-42.249443 146.200806,-42.248055 146.209137,-42.249168 146.217468,-42.248611 146.222473,-42.245277 146.22525,-42.240555 146.224121,-42.22805 146.224396,-42.221382 146.228302,-42.217216 146.231354,-42.212502 146.231628,-42.205559 146.219421,-42.186943 146.21637,-42.17028 146.216644,-42.16333 146.219696,-42.158607 146.225525,-42.156105 146.232727,-42.157501</gml:coordinates>
+                </gml:LinearRing>
+              </gml:outerBoundaryIs>
+            </gml:Polygon>
+          </gml:polygonMember>
+        </gml:MultiPolygon>
+      </topp:the_geom>
+      <topp:AREA>1064866676</topp:AREA>
+      <topp:PERIMETER>1071221047</topp:PERIMETER>
+      <topp:WATER_TYPE>Lake</topp:WATER_TYPE>
+      <topp:CNTRY_NAME>Australia</topp:CNTRY_NAME>
+      <topp:CONTINENT>Australia</topp:CONTINENT>
+    </topp:tasmania_water_bodies>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_water_bodies fid="tasmania_water_bodies.2">
+      <topp:the_geom>
+        <gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:polygonMember>
+            <gml:Polygon>
+              <gml:outerBoundaryIs>
+                <gml:LinearRing>
+                  <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">146.284424,-43.031944 146.265808,-43.029442 146.257751,-43.021667 146.252197,-43.01889 146.243561,-43.017776 146.23053,-43.021667 146.21524,-43.02417 146.209686,-43.021942 146.209961,-43.015007 146.21579,-42.991112 146.21524,-42.985001 146.213593,-42.979439 146.21109,-42.974716 146.207458,-42.970276 146.193024,-42.959724 146.181915,-42.95472 146.166931,-42.951393 146.1586,-42.950554 146.123016,-42.951111 146.116364,-42.948883 146.112732,-42.944717 146.110229,-42.93972 146.101349,-42.932777 146.094971,-42.929726 146.084961,-42.922775 146.054138,-42.897781 146.041656,-42.886665 146.038025,-42.882217 146.035522,-42.877495 146.035248,-42.86528 146.036652,-42.852226 146.034424,-42.840279 146.030823,-42.836113 146.026367,-42.832504 146.018036,-42.831673 146.010529,-42.832779 146.003876,-42.834724 145.995514,-42.835274 145.990784,-42.831673 145.990234,-42.825562 145.996338,-42.815277 146.000549,-42.805275 145.997192,-42.800278 145.984406,-42.789726 145.981079,-42.785561 145.976898,-42.775002 145.97995,-42.770279 145.985504,-42.767776 145.994965,-42.768059 146.002472,-42.769447 146.008881,-42.772499 146.025818,-42.786667 146.032196,-42.788895 146.040802,-42.788338 146.061646,-42.783333 146.068848,-42.785004 146.074402,-42.787781 146.086914,-42.799995 146.109131,-42.825279 146.117188,-42.832222 146.122742,-42.834442 146.131073,-42.835274 146.139709,-42.834999 146.147217,-42.833061 146.163025,-42.83139 146.170532,-42.833611 146.174988,-42.837219 146.176636,-42.841942 146.17746,-42.848053 146.173309,-42.852226 146.165802,-42.853333 146.155243,-42.859169 146.141937,-42.86306 146.12912,-42.858612 146.118011,-42.852783 146.110779,-42.851395 146.102173,-42.852501 146.098297,-42.855003 146.097198,-42.861389 146.102173,-42.871666 146.111359,-42.878883 146.121338,-42.884445 146.132446,-42.889442 146.146942,-42.899445 146.154968,-42.907219 146.164978,-42.914444 146.174988,-42.92028 146.181366,-42.923058 146.195251,-42.926109 146.204681,-42.926392 146.220795,-42.924721 146.227448,-42.922775 146.233032,-42.92028 146.241913,-42.913612 146.247742,-42.904167 146.260529,-42.891945 146.265533,-42.888611 146.272217,-42.886948 146.281372,-42.886948 146.289703,-42.888054 146.300812,-42.893616 146.308014,-42.902779 146.308594,-42.908333 146.302185,-42.925278 146.301086,-42.931389 146.301636,-42.9375 146.303314,-42.943054 146.307739,-42.946663 146.320801,-42.951111 146.330261,-42.951393 146.352753,-42.947777 146.360229,-42.949165 146.361908,-42.95472 146.358002,-42.959442 146.347473,-42.965553 146.335785,-42.969994 146.331085,-42.973328 146.328033,-42.97805 146.329681,-42.983612 146.33609,-42.985832 146.36496,-42.9925 146.371338,-42.99472 146.383331,-43.000557 146.389984,-43.002785 146.39444,-43.006393 146.391357,-43.011116 146.383881,-43.012222 146.368561,-43.020836 146.355225,-43.024719 146.339142,-43.02639 146.332458,-43.028336 146.323853,-43.02861 146.313019,-43.023056 146.306366,-43.020836 146.298859,-43.022774 146.290253,-43.029442 146.284424,-43.031944</gml:coordinates>
+                </gml:LinearRing>
+              </gml:outerBoundaryIs>
+            </gml:Polygon>
+          </gml:polygonMember>
+        </gml:MultiPolygon>
+      </topp:the_geom>
+      <topp:AREA>1067509088</topp:AREA>
+      <topp:PERIMETER>1073140989</topp:PERIMETER>
+      <topp:WATER_TYPE>Lake</topp:WATER_TYPE>
+      <topp:CNTRY_NAME>Australia</topp:CNTRY_NAME>
+      <topp:CONTINENT>Australia</topp:CONTINENT>
+    </topp:tasmania_water_bodies>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_water_bodies fid="tasmania_water_bodies.3">
+      <topp:the_geom>
+        <gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:polygonMember>
+            <gml:Polygon>
+              <gml:outerBoundaryIs>
+                <gml:LinearRing>
+                  <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">146.191925,-42.116112 146.184692,-42.114449 146.174988,-42.107506 146.171356,-42.103333 146.167755,-42.101944 146.167206,-42.095001 146.170532,-42.077225 146.169128,-42.071671 146.163879,-42.061943 146.159698,-42.057777 146.140808,-42.044167 146.09024,-42.014168 146.08609,-42.010559 146.083313,-42.005005 146.084686,-41.999443 146.089417,-41.996109 146.097748,-41.99778 146.109406,-42.002228 146.129395,-42.008057 146.146637,-42.016113 146.153046,-42.018333 146.169128,-42.026947 146.179138,-42.033615 146.182739,-42.036949 146.203583,-42.062775 146.20636,-42.06778 146.207733,-42.073334 146.206635,-42.079445 146.207184,-42.085556 146.208862,-42.09111 146.214417,-42.094162 146.21579,-42.099724 146.209961,-42.109169 146.205231,-42.11306 146.200256,-42.115555 146.191925,-42.116112</gml:coordinates>
+                </gml:LinearRing>
+              </gml:outerBoundaryIs>
+            </gml:Polygon>
+          </gml:polygonMember>
+        </gml:MultiPolygon>
+      </topp:the_geom>
+      <topp:AREA>1064598241</topp:AREA>
+      <topp:PERIMETER>1071187492</topp:PERIMETER>
+      <topp:WATER_TYPE>Lake</topp:WATER_TYPE>
+      <topp:CNTRY_NAME>Australia</topp:CNTRY_NAME>
+      <topp:CONTINENT>Australia</topp:CONTINENT>
+    </topp:tasmania_water_bodies>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_water_bodies fid="tasmania_water_bodies.4">
+      <topp:the_geom>
+        <gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:polygonMember>
+            <gml:Polygon>
+              <gml:outerBoundaryIs>
+                <gml:LinearRing>
+                  <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">146.697205,-41.988892 146.688873,-41.988052 146.682465,-41.985832 146.67746,-41.976105 146.673859,-41.973328 146.674133,-41.966393 146.673309,-41.960281 146.674408,-41.95417 146.680817,-41.937218 146.696625,-41.907219 146.69693,-41.900551 146.694122,-41.895554 146.693573,-41.889442 146.695526,-41.883888 146.702179,-41.875275 146.703583,-41.869164 146.700256,-41.858055 146.697754,-41.853058 146.684418,-41.834999 146.680817,-41.83139 146.675812,-41.821671 146.674988,-41.815552 146.680267,-41.797783 146.683319,-41.792503 146.684418,-41.786949 146.691071,-41.778336 146.69693,-41.775558 146.704132,-41.776947 146.708588,-41.781387 146.714691,-41.789726 146.722748,-41.797226 146.728027,-41.800835 146.733582,-41.803055 146.75,-41.804718 146.761658,-41.816666 146.766663,-41.826393 146.772217,-41.828613 146.780548,-41.828613 146.808319,-41.821671 146.815796,-41.820557 146.823029,-41.822777 146.825531,-41.833061 146.824677,-41.853615 146.822754,-41.858894 146.816925,-41.868607 146.80304,-41.871666 146.786377,-41.872772 146.777191,-41.872498 146.764984,-41.876389 146.761108,-41.880554 146.759979,-41.886665 146.762207,-41.898338 146.767487,-41.908607 146.774414,-41.917221 146.779694,-41.927498 146.777771,-41.93222 146.765259,-41.943611 146.754425,-41.963333 146.749695,-41.96666 146.732727,-41.974716 146.728027,-41.97805 146.703857,-41.987778 146.697205,-41.988892</gml:coordinates>
+                </gml:LinearRing>
+              </gml:outerBoundaryIs>
+            </gml:Polygon>
+          </gml:polygonMember>
+        </gml:MultiPolygon>
+      </topp:the_geom>
+      <topp:AREA>1066494066</topp:AREA>
+      <topp:PERIMETER>1071999090</topp:PERIMETER>
+      <topp:WATER_TYPE>Lake</topp:WATER_TYPE>
+      <topp:CNTRY_NAME>Australia</topp:CNTRY_NAME>
+      <topp:CONTINENT>Australia</topp:CONTINENT>
+    </topp:tasmania_water_bodies>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_water_bodies fid="tasmania_water_bodies.5">
+      <topp:the_geom>
+        <gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:polygonMember>
+            <gml:Polygon>
+              <gml:outerBoundaryIs>
+                <gml:LinearRing>
+                  <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">146.899719,-42.032776 146.892487,-42.030556 146.886932,-42.027779 146.882446,-42.02417 146.87912,-42.018608 146.878571,-42.006111 146.876892,-42 146.871338,-41.99778 146.864136,-41.996391 146.859406,-41.993614 146.855225,-41.983055 146.856354,-41.976944 146.866913,-41.963615 146.871613,-41.959999 146.883881,-41.955559 146.88858,-41.951668 146.891663,-41.947495 146.893585,-41.941383 146.88858,-41.92556 146.887756,-41.919167 146.888031,-41.912498 146.891937,-41.907776 146.896637,-41.904999 146.90387,-41.906387 146.907471,-41.910828 146.911652,-41.922501 146.914429,-41.926666 146.919708,-41.929443 146.926361,-41.931671 146.953033,-41.931389 146.961365,-41.93222 146.968567,-41.933884 146.973846,-41.936661 146.983032,-41.943611 146.985504,-41.948334 146.987183,-41.953888 146.982178,-41.965004 146.972748,-41.978333 146.971619,-41.983887 146.966644,-41.99472 146.963593,-41.999443 146.958862,-42.003616 146.956085,-42.007782 146.946625,-42.015007 146.940796,-42.016945 146.932739,-42.016113 146.926086,-42.018059 146.921356,-42.022224 146.914703,-42.030281 146.90802,-42.032219 146.899719,-42.032776</gml:coordinates>
+                </gml:LinearRing>
+              </gml:outerBoundaryIs>
+            </gml:Polygon>
+          </gml:polygonMember>
+        </gml:MultiPolygon>
+      </topp:the_geom>
+      <topp:AREA>1065512599</topp:AREA>
+      <topp:PERIMETER>1071304933</topp:PERIMETER>
+      <topp:WATER_TYPE>Lake</topp:WATER_TYPE>
+      <topp:CNTRY_NAME>Australia</topp:CNTRY_NAME>
+      <topp:CONTINENT>Australia</topp:CONTINENT>
+    </topp:tasmania_water_bodies>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_water_bodies fid="tasmania_water_bodies.6">
+      <topp:the_geom>
+        <gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:polygonMember>
+            <gml:Polygon>
+              <gml:outerBoundaryIs>
+                <gml:LinearRing>
+                  <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">147.149719,-42.203056 147.142212,-42.201668 147.131348,-42.195831 147.127747,-42.191666 147.125244,-42.186111 147.12439,-42.180832 147.126343,-42.175278 147.132172,-42.165833 147.136108,-42.16111 147.137207,-42.155556 147.135529,-42.149994 147.12912,-42.14167 147.126617,-42.136948 147.128845,-42.124443 147.12912,-42.117775 147.122742,-42.115555 147.11441,-42.116112 147.101349,-42.120552 147.093842,-42.119164 147.092194,-42.114449 147.093292,-42.108337 147.097198,-42.097221 147.103302,-42.080833 147.108307,-42.07 147.112183,-42.066666 147.117737,-42.063889 147.124115,-42.061943 147.131622,-42.060829 147.138031,-42.063614 147.140808,-42.06778 147.145264,-42.071945 147.150818,-42.074173 147.159973,-42.074173 147.16748,-42.073059 147.180542,-42.069725 147.188873,-42.069168 147.19693,-42.07 147.209686,-42.075005 147.216919,-42.082779 147.219696,-42.087502 147.219421,-42.094444 147.216644,-42.099167 147.211914,-42.103333 147.190521,-42.106949 147.185791,-42.110283 147.182739,-42.115005 147.180542,-42.127495 147.180267,-42.134445 147.18219,-42.140556 147.182739,-42.146111 147.187744,-42.16861 147.188568,-42.175003 147.187195,-42.187775 147.184143,-42.192772 147.180542,-42.196663 147.169128,-42.201942 147.149719,-42.203056</gml:coordinates>
+                </gml:LinearRing>
+              </gml:outerBoundaryIs>
+            </gml:Polygon>
+          </gml:polygonMember>
+        </gml:MultiPolygon>
+      </topp:the_geom>
+      <topp:AREA>1065646817</topp:AREA>
+      <topp:PERIMETER>1071606923</topp:PERIMETER>
+      <topp:WATER_TYPE>Lake</topp:WATER_TYPE>
+      <topp:CNTRY_NAME>Australia</topp:CNTRY_NAME>
+      <topp:CONTINENT>Australia</topp:CONTINENT>
+    </topp:tasmania_water_bodies>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_water_bodies fid="tasmania_water_bodies.7">
+      <topp:the_geom>
+        <gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:polygonMember>
+            <gml:Polygon>
+              <gml:outerBoundaryIs>
+                <gml:LinearRing>
+                  <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">146.240784,-42.851112 146.231628,-42.850838 146.228027,-42.846664 146.218842,-42.83889 146.214691,-42.831116 146.206635,-42.823334 146.195801,-42.810829 146.173859,-42.77861 146.171356,-42.773888 146.169708,-42.768333 146.166382,-42.762779 146.160522,-42.748886 146.155243,-42.739166 146.151642,-42.735001 146.142761,-42.727776 146.127747,-42.725555 146.118561,-42.72583 146.111908,-42.726944 146.096344,-42.736389 146.09079,-42.738892 146.082184,-42.739998 146.077759,-42.737221 146.074127,-42.733055 146.060791,-42.722221 146.053314,-42.720833 146.041077,-42.725273 146.031372,-42.731941 146.01886,-42.736946 146.011383,-42.738335 145.994415,-42.739166 145.979675,-42.736115 145.974121,-42.733055 145.971619,-42.728333 145.973022,-42.721382 145.976074,-42.71666 145.985504,-42.709999 146.001923,-42.701668 146.011658,-42.695 146.01944,-42.686943 146.022491,-42.681671 146.02359,-42.676109 146.023041,-42.669724 146.01886,-42.65889 146.018311,-42.653328 146.014984,-42.642227 146.014435,-42.636116 146.016937,-42.623611 146.020813,-42.61972 146.025543,-42.616394 146.032196,-42.614449 146.03775,-42.6175 146.041351,-42.621666 146.043854,-42.626389 146.046936,-42.637505 146.048309,-42.649994 146.048035,-42.656662 146.049133,-42.669167 146.05246,-42.680832 146.054962,-42.684998 146.060516,-42.688049 146.068848,-42.6875 146.073853,-42.683609 146.075806,-42.678886 146.078308,-42.666389 146.079407,-42.645836 146.084412,-42.61528 146.088867,-42.604172 146.095795,-42.595001 146.099701,-42.590836 146.104401,-42.587502 146.111908,-42.589165 146.115234,-42.59333 146.116058,-42.599442 146.113586,-42.612503 146.113281,-42.619446 146.113861,-42.626106 146.113281,-42.639168 146.11441,-42.652222 146.116058,-42.657219 146.11969,-42.661385 146.126068,-42.664162 146.13443,-42.665276 146.161377,-42.665276 146.16803,-42.662498 146.171082,-42.658607 146.172211,-42.652496 146.173035,-42.638611 146.172211,-42.6325 146.173309,-42.611946 146.17746,-42.600281 146.183594,-42.590836 146.195801,-42.586388 146.203308,-42.585274 146.210785,-42.586662 146.21524,-42.590279 146.221344,-42.599998 146.221893,-42.60556 146.2258,-42.622223 146.228577,-42.626945 146.235779,-42.628609 146.247192,-42.623329 146.253876,-42.621384 146.261383,-42.623055 146.265808,-42.62722 146.267487,-42.631943 146.268036,-42.638893 146.264435,-42.656662 146.261658,-42.661385 146.254974,-42.66333 146.246613,-42.662498 146.240784,-42.665001 146.236084,-42.668335 146.233032,-42.673058 146.232727,-42.68 146.236084,-42.684723 146.241638,-42.686943 146.257477,-42.688889 146.265808,-42.688889 146.279694,-42.692772 146.283325,-42.696945 146.288574,-42.706665 146.291931,-42.710831 146.296356,-42.714447 146.307465,-42.720833 146.311096,-42.724442 146.308868,-42.730553 146.304962,-42.734444 146.293579,-42.739166 146.293304,-42.745834 146.29776,-42.749443 146.303314,-42.752502 146.306915,-42.756393 146.309418,-42.761391 146.315521,-42.769722 146.323578,-42.777496 146.334412,-42.790001 146.338867,-42.793617 146.346069,-42.801941 146.348572,-42.806946 146.349121,-42.813057 146.345245,-42.817223 146.340515,-42.820557 146.333862,-42.822227 146.324402,-42.822227 146.3172,-42.820557 146.306091,-42.815002 146.295532,-42.802223 146.28775,-42.787781 146.282196,-42.784729 146.273865,-42.785278 146.268036,-42.787781 146.263306,-42.791115 146.256378,-42.799995 146.254974,-42.806664 146.25415,-42.826668 146.251648,-42.83889 146.249695,-42.844444 146.246613,-42.849167 146.240784,-42.851112</gml:coordinates>
+                </gml:LinearRing>
+              </gml:outerBoundaryIs>
+            </gml:Polygon>
+          </gml:polygonMember>
+        </gml:MultiPolygon>
+      </topp:the_geom>
+      <topp:AREA>1067743969</topp:AREA>
+      <topp:PERIMETER>1073212293</topp:PERIMETER>
+      <topp:WATER_TYPE>Lake</topp:WATER_TYPE>
+      <topp:CNTRY_NAME>Australia</topp:CNTRY_NAME>
+      <topp:CONTINENT>Australia</topp:CONTINENT>
+    </topp:tasmania_water_bodies>
+  </gml:featureMember>
+</wfs:FeatureCollection>
Index: lib/spatial/mapbuilder/examples/timeSeries/tsEstPrecip10Day.xml
===================================================================
--- lib/spatial/mapbuilder/examples/timeSeries/tsEstPrecip10Day.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/timeSeries/tsEstPrecip10Day.xml	(revision 4307)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<ViewContext version="1.0.0" id="timeSeriesDemo" 
+    xmlns="http://www.opengis.net/context" 
+    xmlns:xlink="http://www.w3.org/1999/xlink" 
+    xmlns:xsi="http://www.w3.org01/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="320" height="300"/>
+    <BoundingBox SRS="EPSG:4326" minx="-20." miny="-40." maxx="55." maxy="40." resx="0.1" resy="0.1" />
+    <Title>Estimated Precipitation 10 Day (Africa)</Title>
+    <Abstract>Map Server maintained by International Research Institute for Climate Prediction, Columbia University, USA</Abstract>
+    <KeywordList>
+      <Keyword>precipitation</Keyword>
+    </KeywordList>
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://iridl.ldeo.columbia.edu/" />
+    </DescriptionURL>
+    <ContactInformation>
+      <ContactPersonPrimary>
+        <ContactPerson></ContactPerson>
+        <ContactOrganization>IRI, Columbia U.</ContactOrganization>
+      </ContactPersonPrimary>
+      <ContactElectronicMailAddress>help@iri.columbia.edu</ContactElectronicMailAddress>
+    </ContactInformation>
+  </General>
+  <LayerList>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.3.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://iridl.ldeo.columbia.edu/SOURCES/.NOAA/.NCEP/.CPC/.FEWS/.Africa/.TEN-DAY/.RFEv2/wmsmap?"/>
+      </Server>
+      <Name>est_prcp</Name>
+      <Title>Estimated Precipitation</Title>
+      <Abstract>Estimated Precipitation. original title was: NOAA NCEP CPC FEWS Africa TEN-DAY RFEv2</Abstract>
+      <DimensionList>
+        <!--Dimension name="time" units="ISO8601" nearestValue="1">1999-12-1/10,1999-12-11/20,1999-12-21/31,2000-01-1/10,2000-01-11/20,2000-01-21/31,2000-02-1/10,2000-02-11/20,2000-02-21/29,2000-03-1/10,2000-03-11/20,2000-03-21/31,2000-04-1/10,2000-04-11/20,2000-04-21/30,2000-05-1/10,2000-05-11/20,2000-05-21/31,2000-06-1/10,2000-06-11/20,2000-06-21/30,2000-07-1/10,2000-07-11/20,2000-07-21/31,2000-08-1/10,2000-08-11/20,2000-08-21/31,2000-09-1/10,2000-09-11/20,2000-09-21/30,2000-10-1/10,2000-10-11/20,2000-10-21/31,2000-11-1/10,2000-11-11/20,2000-11-21/30,2000-12-1/10,2000-12-11/20,2000-12-21/31,2001-01-1/10,2001-01-11/20,2001-01-21/31,2001-02-1/10,2001-02-11/20,2001-02-21/28,2001-03-1/10,2001-03-11/20,2001-03-21/31,2001-04-1/10,2001-04-11/20,2001-04-21/30,2001-05-1/10,2001-05-11/20,2001-05-21/31,2001-06-1/10,2001-06-11/20,2001-06-21/30,2001-07-1/10,2001-07-11/20,2001-07-21/31,2001-08-1/10,2001-08-11/20,2001-08-21/31,2001-09-1/10,2001-09-11/20,2001-09-21/30,2001-10-1/10,2001-10-11/20,2001-10-21/31,2001-11-1/10,2001-11-11/20,2001-11-21/30,2001-12-1/10,2001-12-11/20,2001-12-21/31,2002-01-1/10,2002-01-11/20,2002-01-21/31,2002-02-1/10,2002-02-11/20,2002-02-21/28,2002-03-1/10,2002-03-11/20,2002-03-21/31,2002-04-1/10,2002-04-11/20,2002-04-21/30,2002-05-1/10,2002-05-11/20,2002-05-21/31,2002-06-1/10,2002-06-11/20,2002-06-21/30,2002-07-1/10,2002-07-11/20,2002-07-21/31,2002-08-1/10,2002-08-11/20,2002-08-21/31,2002-09-1/10,2002-09-11/20,2002-09-21/30,2002-10-1/10,2002-10-11/20,2002-10-21/31,2002-11-1/10,2002-11-11/20,2002-11-21/30,2002-12-1/10,2002-12-11/20,2002-12-21/31,2003-01-1/10,2003-01-11/20,2003-01-21/31,2003-02-1/10,2003-02-11/20,2003-02-21/28,2003-03-1/10,2003-03-11/20,2003-03-21/31,2003-04-1/10,2003-04-11/20,2003-04-21/30,2003-05-1/10,2003-05-11/20,2003-05-21/31,2003-06-1/10,2003-06-11/20,2003-06-21/30,2003-07-1/10,2003-07-11/20,2003-07-21/31,2003-08-1/10,2003-08-11/20,2003-08-21/31,2003-09-1/10,2003-09-11/20,2003-09-21/30,2003-10-1/10,2003-10-11/20,2003-10-21/31,2003-11-1/10,2003-11-11/20,2003-11-21/30,2003-12-1/10,2003-12-11/20,2003-12-21/31,2004-01-1/10,2004-01-11/20,2004-01-21/31,2004-02-1/10,2004-02-11/20,2004-02-21/29,2004-03-1/10,2004-03-11/20,2004-03-21/31,2004-04-1/10,2004-04-11/20,2004-04-21/30,2004-05-1/10,2004-05-11/20,2004-05-21/31,2004-06-1/10,2004-06-11/20,2004-06-21/30,2004-07-1/10,2004-07-11/20,2004-07-21/31,2004-08-1/10,2004-08-11/20,2004-08-21/31,2004-09-1/10,2004-09-11/20,2004-09-21/30,2004-10-1/10,2004-10-11/20,2004-10-21/31,2004-11-1/10,2004-11-11/20,2004-11-21/30,2004-12-1/10,2004-12-11/20,2004-12-21/31,2005-01-1/10,2005-01-11/20,2005-01-21/31,2005-02-1/10,2005-02-11/20,2005-02-21/28,2005-03-1/10,2005-03-11/20</Dimension-->
+        <Dimension name="time" units="ISO8601" nearestValue="1">2004-01-1,2004-01-11,2004-01-21,2004-02-1,2004-02-11,2004-02-21,2004-03-1,2004-03-11,2004-03-21,2004-04-1,2004-04-11,2004-04-21,2004-05-1,2004-05-11,2004-05-21,2004-06-1,2004-06-11,2004-06-21,2004-07-1,2004-07-11,2004-07-21,2004-08-1,2004-08-11,2004-08-21,2004-09-1,2004-09-11,2004-09-21,2004-10-1,2004-10-11,2004-10-21,2004-11-1,2004-11-11,2004-11-21,2004-12-1,2004-12-11,2004-12-21,2005-01-1,2005-01-11,2005-01-21,2005-02-1,2005-02-11,2005-02-21/28,2005-03-1,2005-03-11</Dimension>
+      </DimensionList>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>coast</Name>
+      <Title>coastline</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/tasmania/TasmaniaRoads.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/tasmania/TasmaniaRoads.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/tasmania/TasmaniaRoads.xml	(revision 4307)
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs" xmlns:topp="http://www.openplans.org/topp" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openplans.org/topp http://192.168.0.100:8080/geoserver-1.4.0-RC3/wfs/DescribeFeatureType?typeName=topp:tasmania_roads http://www.opengis.net/wfs http://192.168.0.100:8080/geoserver-1.4.0-RC3/schemas/wfs/1.0.0/WFS-basic.xsd">
+  <gml:boundedBy>
+    <gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+      <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">145.19754,-43.423512 148.27298,-40.852802</gml:coordinates>
+    </gml:Box>
+  </gml:boundedBy>
+  <gml:featureMember>
+    <topp:tasmania_roads fid="tasmania_roads.1">
+      <topp:the_geom>
+        <gml:MultiLineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:lineStringMember>
+            <gml:LineString>
+              <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">146.468582,-41.241478 146.574768,-41.251186 146.640411,-41.255154 146.766129,-41.332348 146.794189,-41.34417 146.822174,-41.362988 146.863434,-41.380234 146.899521,-41.379452 146.929504,-41.378227 147.008041,-41.356079 147.098343,-41.362919</gml:coordinates>
+            </gml:LineString>
+          </gml:lineStringMember>
+        </gml:MultiLineString>
+      </topp:the_geom>
+      <topp:TYPE>alley</topp:TYPE>
+    </topp:tasmania_roads>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_roads fid="tasmania_roads.2">
+      <topp:the_geom>
+        <gml:MultiLineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:lineStringMember>
+            <gml:LineString>
+              <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">147.098343,-41.362919 147.17305,-41.452778 147.213867,-41.503773 147.234894,-41.546661 147.251129,-41.573826 147.264664,-41.602474 147.284485,-41.617554 147.300583,-41.637878</gml:coordinates>
+            </gml:LineString>
+          </gml:lineStringMember>
+        </gml:MultiLineString>
+      </topp:the_geom>
+      <topp:TYPE>highway</topp:TYPE>
+    </topp:tasmania_roads>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_roads fid="tasmania_roads.3">
+      <topp:the_geom>
+        <gml:MultiLineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:lineStringMember>
+            <gml:LineString>
+              <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">147.300583,-41.637878 147.225815,-41.626938 147.183319,-41.619236 147.082367,-41.577755 147.031326,-41.565205 146.961487,-41.564186 146.924545,-41.568565 146.876328,-41.569614 146.783722,-41.56073 146.684937,-41.536232 146.614258,-41.478153 146.619995,-41.423958 146.582581,-41.365482 146.52478,-41.29541 146.477493,-41.277622 146.468582,-41.241478</gml:coordinates>
+            </gml:LineString>
+          </gml:lineStringMember>
+        </gml:MultiLineString>
+      </topp:the_geom>
+      <topp:TYPE>lane</topp:TYPE>
+    </topp:tasmania_roads>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_roads fid="tasmania_roads.4">
+      <topp:the_geom>
+        <gml:MultiLineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:lineStringMember>
+            <gml:LineString>
+              <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">147.522247,-41.859921 147.551865,-41.927834 147.597321,-42.017418 147.578644,-42.113216 147.541656,-42.217743 147.468674,-42.22662</gml:coordinates>
+            </gml:LineString>
+          </gml:lineStringMember>
+        </gml:MultiLineString>
+      </topp:the_geom>
+      <topp:TYPE>highway</topp:TYPE>
+    </topp:tasmania_roads>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_roads fid="tasmania_roads.5">
+      <topp:the_geom>
+        <gml:MultiLineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:lineStringMember>
+            <gml:LineString>
+              <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">146.103699,-41.171677 146.303619,-41.237202 146.362228,-41.236279 146.39418,-41.245384 146.443726,-41.244308 146.468582,-41.241478</gml:coordinates>
+            </gml:LineString>
+          </gml:lineStringMember>
+        </gml:MultiLineString>
+      </topp:the_geom>
+      <topp:TYPE>gravel</topp:TYPE>
+    </topp:tasmania_roads>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_roads fid="tasmania_roads.6">
+      <topp:the_geom>
+        <gml:MultiLineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:lineStringMember>
+            <gml:LineString>
+              <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">145.856018,-41.08007 145.944839,-41.119896 146.037994,-41.150059 146.103699,-41.171677</gml:coordinates>
+            </gml:LineString>
+          </gml:lineStringMember>
+        </gml:MultiLineString>
+      </topp:the_geom>
+      <topp:TYPE>road</topp:TYPE>
+    </topp:tasmania_roads>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_roads fid="tasmania_roads.7">
+      <topp:the_geom>
+        <gml:MultiLineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:lineStringMember>
+            <gml:LineString>
+              <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">147.468674,-42.22662 147.474945,-42.292259 147.467697,-42.301292 147.451828,-42.341656 147.424545,-42.378723 147.366013,-42.412552 147.345779,-42.432449 147.289322,-42.476475 147.264511,-42.503899 147.259918,-42.547539 147.249405,-42.614006 147.278351,-42.693249 147.284271,-42.757759 147.256744,-42.778393</gml:coordinates>
+            </gml:LineString>
+          </gml:lineStringMember>
+        </gml:MultiLineString>
+      </topp:the_geom>
+      <topp:TYPE>highway</topp:TYPE>
+    </topp:tasmania_roads>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_roads fid="tasmania_roads.8">
+      <topp:the_geom>
+        <gml:MultiLineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:lineStringMember>
+            <gml:LineString>
+              <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">148.249252,-41.860851 148.234436,-41.901783 148.192123,-41.93721 148.155762,-41.953667 148.127731,-41.994537 148.053131,-42.100563</gml:coordinates>
+            </gml:LineString>
+          </gml:lineStringMember>
+        </gml:MultiLineString>
+      </topp:the_geom>
+      <topp:TYPE>road</topp:TYPE>
+    </topp:tasmania_roads>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_roads fid="tasmania_roads.9">
+      <topp:the_geom>
+        <gml:MultiLineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:lineStringMember>
+            <gml:LineString>
+              <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">145.19754,-40.878323 145.246674,-40.86021 145.293289,-40.852802 145.465225,-40.897865 145.538498,-40.936264 145.554062,-40.939201 145.602112,-40.962936 145.646362,-40.98243 145.683838,-40.989883 145.710587,-40.996201 145.744293,-41.007545 145.801956,-41.041782 145.856018,-41.08007</gml:coordinates>
+            </gml:LineString>
+          </gml:lineStringMember>
+        </gml:MultiLineString>
+      </topp:the_geom>
+      <topp:TYPE>logging</topp:TYPE>
+    </topp:tasmania_roads>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_roads fid="tasmania_roads.10">
+      <topp:the_geom>
+        <gml:MultiLineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:lineStringMember>
+            <gml:LineString>
+              <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">147.360001,-42.91993 147.348816,-42.93726 147.285049,-42.979027 147.220886,-42.995876 147.164429,-43.027004 147.068237,-43.06319 146.96463,-43.116447 146.949554,-43.17004 146.95369,-43.209591 146.964127,-43.224545 146.975723,-43.250484 146.980759,-43.2701 146.982605,-43.287716 146.970871,-43.31691 146.940521,-43.33812 146.943054,-43.362263 146.952194,-43.39278 146.955429,-43.423512</gml:coordinates>
+            </gml:LineString>
+          </gml:lineStringMember>
+        </gml:MultiLineString>
+      </topp:the_geom>
+      <topp:TYPE>road</topp:TYPE>
+    </topp:tasmania_roads>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_roads fid="tasmania_roads.11">
+      <topp:the_geom>
+        <gml:MultiLineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:lineStringMember>
+            <gml:LineString>
+              <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">147.300583,-41.637878 147.372009,-41.695503 147.402588,-41.725574 147.444061,-41.749676 147.490433,-41.782482 147.506866,-41.795624 147.522919,-41.835609 147.522247,-41.859921</gml:coordinates>
+            </gml:LineString>
+          </gml:lineStringMember>
+        </gml:MultiLineString>
+      </topp:the_geom>
+      <topp:TYPE>highway</topp:TYPE>
+    </topp:tasmania_roads>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_roads fid="tasmania_roads.12">
+      <topp:the_geom>
+        <gml:MultiLineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:lineStringMember>
+            <gml:LineString>
+              <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">148.053131,-42.100563 148.028229,-42.188286 148.002258,-42.2295 147.969955,-42.254417 147.960297,-42.284897 147.942719,-42.398819 147.926407,-42.486034 147.875092,-42.538582 147.832001,-42.587299 147.744217,-42.631607 147.693298,-42.656067 147.618195,-42.691135 147.575317,-42.743092 147.578293,-42.769539 147.547852,-42.814312 147.506699,-42.842907 147.488312,-42.877041 147.449692,-42.901054 147.416809,-42.902828</gml:coordinates>
+            </gml:LineString>
+          </gml:lineStringMember>
+        </gml:MultiLineString>
+      </topp:the_geom>
+      <topp:TYPE>road</topp:TYPE>
+    </topp:tasmania_roads>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_roads fid="tasmania_roads.13">
+      <topp:the_geom>
+        <gml:MultiLineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:lineStringMember>
+            <gml:LineString>
+              <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">147.098343,-41.362919 147.065445,-41.311977 147.024078,-41.257534 146.981445,-41.211391 146.948227,-41.181595 146.926773,-41.172501 146.905029,-41.147144 146.940765,-41.085857 146.962662,-41.075096 147.021088,-41.080925 147.099228,-41.123959 147.187607,-41.150597 147.282028,-41.104244 147.295715,-41.075798 147.306595,-41.062832 147.325745,-41.053524 147.362991,-41.080441 147.419022,-41.081764 147.465881,-41.06089 147.519302,-41.092793 147.528595,-41.137089 147.552521,-41.193565 147.594223,-41.233875 147.734406,-41.239891 147.829376,-41.196636 147.882614,-41.163197 147.91127,-41.163109 147.985168,-41.226128 148.022156,-41.292599 148.075119,-41.313915 148.200104,-41.323097 148.236191,-41.339245 148.27298,-41.383488 148.25,-41.45713 148.254395,-41.53941 148.262436,-41.585217 148.249252,-41.860851</gml:coordinates>
+            </gml:LineString>
+          </gml:lineStringMember>
+        </gml:MultiLineString>
+      </topp:the_geom>
+      <topp:TYPE>road</topp:TYPE>
+    </topp:tasmania_roads>
+  </gml:featureMember>
+  <gml:featureMember>
+    <topp:tasmania_roads fid="tasmania_roads.14">
+      <topp:the_geom>
+        <gml:MultiLineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:lineStringMember>
+            <gml:LineString>
+              <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">147.256744,-42.778393 147.220184,-42.824776 147.179596,-42.82143 147.111328,-42.795731 147.057098,-42.741581 147.003479,-42.704803 146.919098,-42.622734 146.910538,-42.610928 146.889984,-42.585396 146.83844,-42.572792 146.78569,-42.539352 146.724335,-42.485966 146.695023,-42.469582 146.649872,-42.450371 146.604965,-42.432274 146.578781,-42.408531 146.539307,-42.364208 146.525055,-42.30883 146.558044,-42.275948 146.576248,-42.23777 146.581467,-42.203426 146.490005,-42.180222 146.3797,-42.146332 146.334061,-42.138741 146.270966,-42.165703 146.197296,-42.224072 146.167908,-42.244835 146.164932,-42.245171 146.111023,-42.265202 146.037476,-42.239738 145.981628,-42.187851 145.853912,-42.133492 145.819611,-42.129154 145.72052,-42.104084 145.618576,-42.056023 145.541718,-42.027241 145.486282,-41.983326 145.452744,-41.926544 145.494034,-41.896477 145.591736,-41.860214 145.64212,-41.838398 145.669449,-41.830734 145.680923,-41.795753 145.682968,-41.743221 145.675156,-41.710377 145.680115,-41.688908 145.701065,-41.648228 145.714798,-41.609509 145.629196,-41.462051 145.648895,-41.470337 145.633423,-41.420902 145.631866,-41.36528 145.640854,-41.301533 145.700424,-41.242611 145.77243,-41.193897 145.802338,-41.161488 145.856018,-41.08007</gml:coordinates>
+            </gml:LineString>
+          </gml:lineStringMember>
+        </gml:MultiLineString>
+      </topp:the_geom>
+      <topp:TYPE>road</topp:TYPE>
+    </topp:tasmania_roads>
+  </gml:featureMember>
+</wfs:FeatureCollection>
Index: lib/spatial/mapbuilder/examples/timeSeries/tsGeocomp.xml
===================================================================
--- lib/spatial/mapbuilder/examples/timeSeries/tsGeocomp.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/timeSeries/tsGeocomp.xml	(revision 4307)
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<ViewContext version="1.0.0" id="tsGeocomp" 
+    xmlns="http://www.opengis.net/context" 
+    xmlns:xlink="http://www.w3.org/1999/xlink" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+<!--
+http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/test_cubeserv/cubeserv.cgi?SERVICE=WMS&VERSION=1.1.3&REQUEST=GetMap&
+SRS=EPSG%3A4269&BBOX=-145.0,40.0,-50.0,80.0&WIDTH=560&HEIGHT=350&
+LAYERS=abc3_19930411%3ACEOWARE2&STYLES=&FORMAT=image%2Fpng&BGCOLOR=0xFFFFFF&TRANSPARENT=F&TIME=1993-05-01
+
+1993-04-11,           1993-05-01,1993-05-11,1993-05-21,1993-06-01,1993-06-11,1993-06-21,1993-07-01,1993-07-11,1993-07-21,1993-08-01,1993-08-11,1993-08-21,1993-09-01,1993-09-11,1993-09-21,1993-10-01,1993-10-11,1993-10-21,
+1994-04-11,1994-04-21,1994-05-01,1994-05-11,1994-05-21,1994-06-01,1994-06-11,1994-06-21,1994-07-01,1994-07-11,1994-07-21,1994-08-01,1994-08-11,1994-08-21,1994-09-01,1994-09-11,1994-09-21,1994-10-01,1994-10-11,1994-10-21,
+1995-04-11,1995-04-21,1995-05-01,1995-05-11,1995-05-21,1995-06-01,1995-06-11,1995-06-21,1995-07-01,1995-07-11,1995-07-21,1995-08-01,1995-08-11,1995-08-21,1995-09-01,1995-09-11,1995-09-21,1995-10-01,1995-10-11,1995-10-21,
+1996-04-11,1996-04-21,1996-05-01,1996-05-11,1996-05-21,1996-06-01,1996-06-11,1996-06-21,1996-07-01,1996-07-11,1996-07-21,1996-08-01,1996-08-11,1996-08-21,1996-09-01,1996-09-11,1996-09-21,1996-10-01,1996-10-11,1996-10-21,
+1997-04-11,1997-04-21,1997-05-01,1997-05-11,1997-05-21,1997-06-01,1997-06-11,1997-06-21,1997-07-01,1997-07-11,1997-07-21,1997-08-01,1997-08-11,1997-08-21,1997-09-01,1997-09-11,1997-09-21,1997-10-01,1997-10-11,1997-10-21,
+1998-04-11,1998-04-21,1998-05-01,1998-05-11,1998-05-21,1998-06-01,1998-06-11,1998-06-21,1998-07-01,1998-07-11,1998-07-21,1998-08-01,1998-08-11,1998-08-21,1998-09-01,1998-09-11,1998-09-21,1998-10-01,1998-10-11,1998-10-21
+-->  
+    <Window width="400" height="337"/>
+    <BoundingBox SRS="EPSG:42304" minx="442694.0261391697" miny="-148274.61719307187" maxx="2814302.8832287025" maxy="1849805.8449048596"/>
+<!--   
+    <Window width="400" height="200"/>
+    <BoundingBox SRS="EPSG:4326" minx="-142" miny="40" maxx="-52" maxy="85"/>
+-->
+    <Title>Canada-wide 1-km AVHRR Composite Maps based on GEOCOMP Data enhanced with ABC3v2 Software</Title>
+    <Abstract>The ABC3 Canada-wide 1-km resolution AVHRR composite maps (Version 2) were produced as part of the CCRS Northern Biosphere Observation and Modelling Experiment (NBIOME). NBIOME co-ordinated the participation of a Canadian research team in the international Earth Observing System (EOS) to develop methods for post-processing of AVHRR seasonal composite maps to produce derived products with national coverage. The ABC3v2 output product layers are used at CCRS in land cover and climate change studies; and are used to generate various non-remote sensing products such as Leaf Area Index (LAI) and Net Primary Productivity (NPP). These data layers can be used directly by resource managers to study large scale changes in land cover types and land use practices. Natural disturbances such as forest fires can alter the land cover. Anthropogenic changes caused by clear cutting of forests or industrial and residential development are significant in the long-term. The composite products can be used to evaluate seasonal behaviours of land cover types. These data layers and derived products can be used in radiation budget and climate studies.</Abstract>
+    <KeywordList>
+      <Keyword>Earth Science > Land Surface > Land Temperature > Land Surface Temperature</Keyword>
+      <Keyword>Earth Science > Land Surface > Land Use/Land Cover > Land Cover</Keyword>
+      <Keyword>Earth Science > Land Surface > Surface Radiative Properties > Reflectance</Keyword>
+      <Keyword>Bidirectional Reflectance</Keyword>
+      <Keyword>CLIMATE CHANGE</Keyword>
+      <Keyword>ENVIRONMENTAL CHANGE</Keyword>
+      <Keyword>Radiant Temperature</Keyword>
+    </KeywordList>
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://geogratis.cgdi.gc.ca/clf/en?action=entrySummary&amp;entryId=8544&amp;entryType=productCollection&amp;keymap=outlineCanada" />
+    </DescriptionURL>
+    <ContactInformation>
+        <ContactElectronicMailAddress>info@GeoGratis.cgdi.gc.ca</ContactElectronicMailAddress>
+        <ContactPersonPrimary>
+            <ContactPerson>Steve Smith</ContactPerson>
+            <ContactOrganization>GeoGratis, NRCan</ContactOrganization>
+        </ContactPersonPrimary>
+        <ContactAddress>
+            <AddressType>postal</AddressType>
+            <Address>650-615 Booth St.</Address>
+            <City>Ottawa</City>
+            <StateOrProvince>Ont</StateOrProvince>
+            <PostCode>K1A 0E9</PostCode>
+            <Country>Canada</Country>
+        </ContactAddress>
+        <ContactVoiceTelephone/>
+        <ContactElectronicMailAddress>info@GeoGratis.cgdi.gc.ca</ContactElectronicMailAddress>
+    </ContactInformation>
+  </General>
+  <LayerList>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.3" title="Ceoware">
+        <!--OnlineResource xlink:type="simple" xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/test_cubeserv/cubeserv.cgi?"/-->
+        <OnlineResource xlink:type="simple" xlink:href="http://test-dw.ccrs.nrcan.gc.ca:9090/cubewerx/cubeserv/cubeserv.cgi?"/>
+      </Server>
+      <Name>abc3_19930411:CEOWARE2</Name>
+      <Title>AVHRR Composite</Title>
+      <Abstract>The ABC3 Canada-wide 1-km resolution AVHRR composite maps (Version 2) were produced as part of the CCRS Northern Biosphere Observation and Modelling Experiment (NBIOME). NBIOME co-ordinated the participation of a Canadian research team in the international Earth Observing System (EOS) to develop methods for post-processing of AVHRR seasonal composite maps to produce derived products with national coverage. The ABC3v2 output product layers are used at CCRS in land cover and climate change studies; and are used to generate various non-remote sensing products such as Leaf Area Index (LAI) and Net Primary Productivity (NPP). These data layers can be used directly by resource managers to study large scale changes in land cover types and land use practices. Natural disturbances such as forest fires can alter the land cover. Anthropogenic changes caused by clear cutting of forests or industrial and residential development are significant in the long-term. The composite products can be used to evaluate seasonal behaviours of land cover types. These data layers and derived products can be used in radiation budget and climate studies.</Abstract>
+      <DimensionList>
+        <!--Dimension name="time" units="ISO8601" nearestValue="1">
+1993-04-11,           1993-05-01,1993-05-11,1993-05-21,1993-06-01,1993-06-11,1993-06-21,1993-07-01,1993-07-11,1993-07-21,1993-08-01,1993-08-11,1993-08-21,1993-09-01,1993-09-11,1993-09-21,1993-10-01,1993-10-11,1993-10-21,
+1994-04-11,1994-04-21,1994-05-01,1994-05-11,1994-05-21,1994-06-01,1994-06-11,1994-06-21,1994-07-01,1994-07-11,1994-07-21,1994-08-01,1994-08-11,1994-08-21,1994-09-01,1994-09-11,1994-09-21,1994-10-01,1994-10-11,1994-10-21,
+1995-04-11,1995-04-21,1995-05-01,1995-05-11,1995-05-21,1995-06-01,1995-06-11,1995-06-21,1995-07-01,1995-07-11,1995-07-21,1995-08-01,1995-08-11,1995-08-21,1995-09-01,1995-09-11,1995-09-21,1995-10-01,1995-10-11,1995-10-21,
+1996-04-11,1996-04-21,1996-05-01,1996-05-11,1996-05-21,1996-06-01,1996-06-11,1996-06-21,1996-07-01,1996-07-11,1996-07-21,1996-08-01,1996-08-11,1996-08-21,1996-09-01,1996-09-11,1996-09-21,1996-10-01,1996-10-11,1996-10-21,
+1997-04-11,1997-04-21,1997-05-01,1997-05-11,1997-05-21,1997-06-01,1997-06-11,1997-06-21,1997-07-01,1997-07-11,1997-07-21,1997-08-01,1997-08-11,1997-08-21,1997-09-01,1997-09-11,1997-09-21,1997-10-01,1997-10-11,1997-10-21,
+1998-04-11,1998-04-21,1998-05-01,1998-05-11,1998-05-21,1998-06-01,1998-06-11,1998-06-21,1998-07-01,1998-07-11,1998-07-21,1998-08-01,1998-08-11,1998-08-21,1998-09-01,1998-09-11,1998-09-21,1998-10-01,1998-10-11,1998-10-21
+        </Dimension-->
+        <Dimension name="time" units="ISO8601" nearestValue="1">1998-04-11,1998-04-21,1998-05-01,1998-05-11,1998-05-21,1998-06-01,1998-06-11,1998-06-21,1998-07-01,1998-07-11,1998-07-21,1998-08-01,1998-08-11,1998-08-21,1998-09-01,1998-09-11,1998-09-21,1998-10-01,1998-10-11,1998-10-21</Dimension>
+      </DimensionList>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <!--Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>coast</Name>
+      <Title>coastline</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer-->
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/tasmania/TasmaniaSld.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/tasmania/TasmaniaSld.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/tasmania/TasmaniaSld.xml	(revision 4307)
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<ViewContext version="1.0.0" id="atlas_world" xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="600" height="300"/>
+    <BoundingBox SRS="EPSG:4326" minx="141.57875" miny="-44.26625" maxx="151.03125" maxy="-39.56375"/>
+    <Title>Tasmania, Austalia</Title>
+    <KeywordList>
+      <Keyword>Tasmania</Keyword>
+      <Keyword>Australia</Keyword>
+    </KeywordList>
+    <Abstract>Low resolution map of Tasmania, Australia derived from the Digital Chart of the World.</Abstract>
+  </General>
+  <LayerList>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Local">
+        <OnlineResource xlink:type="simple" xlink:href="../../../geoserver/wms"/>
+      </Server>
+      <Name>topp:tasmania_state_boundaries</Name>
+      <Title>Tasmania State Boundaries</Title>
+      <Abstract>Tasmania State Boundaries based on the Digital Chart of the World.</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      
+      <StyleList>
+        <Style current="1">
+          <SLD>
+            <StyledLayerDescriptor version="1.0.0">
+              <NamedLayer>
+                <Name>topp:tasmania_state_boundaries</Name>
+                <UserStyle>
+                  <Title>state title</Title>
+                  <Abstract>state abstract</Abstract>
+                  <FeatureTypeStyle>
+                    <Rule>
+                      <MinScaleDenominator>0</MinScaleDenominator>
+                      <MaxScaleDenominator>1000000000</MaxScaleDenominator>
+                      <PolygonSymbolizer>
+                        <Fill>
+                          <CssParameter name="fill">#FFFF00</CssParameter>
+                          <CssParameter name="fill-opacity">1</CssParameter>
+                        </Fill>
+                        <Stroke>
+                          <CssParameter name="stroke">#FF0066</CssParameter>
+                          <CssParameter name="stroke-opacity">1</CssParameter>
+                          <CssParameter name="stroke-width">2</CssParameter>
+                        </Stroke>
+                      </PolygonSymbolizer>
+                    </Rule>
+                  </FeatureTypeStyle>
+                </UserStyle>
+              </NamedLayer>
+            </StyledLayerDescriptor>
+          </SLD>
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <!--OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/web/mapdata/english/pb_world.map"/-->
+      <OnlineResource xlink:type="simple" xlink:href="http://www2.demis.nl/WMS/wms.asp?wms=WorldMap"/>
+      </Server>
+      <Name>Coastlines,Borders</Name>
+      <Title>coastline</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Local">
+        <OnlineResource xlink:type="simple" xlink:href="../../../geoserver/wms"/>
+      </Server>
+      <Name>topp:tasmania_water_bodies</Name>
+      <Title>Tasmania Water Bodies</Title>
+      <Abstract>Tasmania Water Bodies based on the Digital Chart of the World.</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>cite_lakes</Name>
+          <Title>Default Styler</Title>
+          <Abstract/>
+          <!--LegendURL width="20" height="20">
+            <Format>image/gif</Format>
+            <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="../../../geoserver/wms/GetLegendGraphic?VERSION=1.0.0&amp;FORMAT=image/gif&amp;WIDTH=20&amp;HEIGHT=20&amp;LAYER=topp:tasmania_water_bodies"/>
+          </LegendURL-->
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Local">
+        <OnlineResource xlink:type="simple" xlink:href="../../../geoserver/wms"/>
+      </Server>
+      <Name>topp:tasmania_roads</Name>
+      <Title>Tasmania Roads</Title>
+      <Abstract>Tasmania Roads based on the Digital Chart of the World.</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>simple_roads</Name>
+          <Title>Default Styler for simple road segments</Title>
+          <Abstract/>
+          <!--LegendURL width="20" height="20">
+            <Format>image/gif</Format>
+            <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="../../../geoserver/wms/GetLegendGraphic?VERSION=1.0.0&amp;FORMAT=image/gif&amp;WIDTH=20&amp;HEIGHT=20&amp;LAYER=topp:tasmania_roads"/>
+          </LegendURL-->
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.1" title="Local">
+        <OnlineResource xlink:type="simple" xlink:href="../../../geoserver/wms"/>
+      </Server>
+      <Name>topp:tasmania_cities</Name>
+      <Title>Tasmania Major Cities</Title>
+      <Abstract>Tasmania Major based on the Digital Chart of the World.</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>capitals</Name>
+          <Title>Default Styler</Title>
+          <Abstract/>
+          <!--LegendURL width="20" height="20">
+            <Format>image/gif</Format>
+            <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="../../../geoserver/wms/GetLegendGraphic?VERSION=1.0.0&amp;FORMAT=image/gif&amp;WIDTH=20&amp;HEIGHT=20&amp;LAYER=topp:tasmania_cities"/>
+          </LegendURL-->
+        </Style>
+      </StyleList>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/tasmania/TasmaniaStateBoundaries.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/tasmania/TasmaniaStateBoundaries.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/tasmania/TasmaniaStateBoundaries.xml	(revision 4307)
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs" xmlns:topp="http://www.openplans.org/topp" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openplans.org/topp http://192.168.0.100:8080/geoserver-1.4.0-RC3/wfs/DescribeFeatureType?typeName=topp:tasmania_state_boundaries http://www.opengis.net/wfs http://192.168.0.100:8080/geoserver-1.4.0-RC3/schemas/wfs/1.0.0/WFS-basic.xsd">
+  <gml:boundedBy>
+    <gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+      <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">143.834824,-43.648056 148.479141,-39.573891</gml:coordinates>
+    </gml:Box>
+  </gml:boundedBy>
+  <gml:featureMember>
+    <topp:tasmania_state_boundaries fid="tasmania_state_boundaries.1">
+      <topp:the_geom>
+        <gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:polygonMember>
+            <gml:Polygon>
+              <gml:outerBoundaryIs>
+                <gml:LinearRing>
+                  <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">148.01416,-42.753059 148.009979,-42.73111 148.011108,-42.652222 148.012634,-42.628613 148.018738,-42.61972 148.076492,-42.586945 148.128006,-42.590275 148.172897,-42.655277 148.168167,-42.665554 148.154984,-42.668888 148.097748,-42.666107 148.041656,-42.732216 148.01416,-42.753059</gml:coordinates>
+                </gml:LinearRing>
+              </gml:outerBoundaryIs>
+            </gml:Polygon>
+          </gml:polygonMember>
+          <gml:polygonMember>
+            <gml:Polygon>
+              <gml:outerBoundaryIs>
+                <gml:LinearRing>
+                  <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">147.361633,-43.263062 147.29303,-43.157082 147.329132,-43.102638 147.357178,-43.075005 147.396515,-43.11972 147.431641,-43.213886 147.432739,-43.241943 147.429688,-43.253616 147.361633,-43.263062</gml:coordinates>
+                </gml:LinearRing>
+              </gml:outerBoundaryIs>
+            </gml:Polygon>
+          </gml:polygonMember>
+          <gml:polygonMember>
+            <gml:Polygon>
+              <gml:outerBoundaryIs>
+                <gml:LinearRing>
+                  <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">148.128845,-40.274445 148.115234,-40.271667 148.101074,-40.26722 148.064423,-40.253891 148.049133,-40.245552 148.038589,-40.236248 148.013184,-40.161388 148.018311,-40.140209 147.90387,-39.975555 147.809616,-39.913815 147.773865,-39.894722 147.760742,-39.877983 147.783875,-39.850281 147.881897,-39.754173 147.925812,-39.737503 147.967743,-39.725555 147.971069,-39.736389 147.978302,-39.74472 148.069427,-39.83889 148.165527,-39.929443 148.174408,-39.936111 148.186783,-39.944443 148.202759,-39.950279 148.243851,-39.962082 148.279419,-39.965836 148.288025,-39.99472 148.335236,-40.192223 148.33136,-40.219166 148.32135,-40.231941 148.303314,-40.239025 148.17746,-40.25695 148.128845,-40.274445</gml:coordinates>
+                </gml:LinearRing>
+              </gml:outerBoundaryIs>
+            </gml:Polygon>
+          </gml:polygonMember>
+          <gml:polygonMember>
+            <gml:Polygon>
+              <gml:outerBoundaryIs>
+                <gml:LinearRing>
+                  <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">148.339142,-40.503334 148.339691,-40.466942 148.33609,-40.45472 148.329971,-40.442917 148.318298,-40.435272 148.292206,-40.434441 148.129944,-40.44722 148.114685,-40.448883 148.103851,-40.454445 148.086639,-40.458057 148.068573,-40.45472 147.99704,-40.428196 147.993561,-40.417084 147.995514,-40.40139 147.998566,-40.389725 148.008041,-40.379162 148.065247,-40.348194 148.083588,-40.344719 148.099121,-40.34333 148.116913,-40.343613 148.133026,-40.345001 148.148315,-40.347221 148.187744,-40.362503 148.202606,-40.361252 148.288025,-40.324722 148.308868,-40.314163 148.329132,-40.305138 148.343018,-40.306664 148.354675,-40.315552 148.479141,-40.430695 148.477188,-40.441387 148.463226,-40.442081 148.407608,-40.461945 148.358307,-40.490555 148.339142,-40.503334</gml:coordinates>
+                </gml:LinearRing>
+              </gml:outerBoundaryIs>
+            </gml:Polygon>
+          </gml:polygonMember>
+          <gml:polygonMember>
+            <gml:Polygon>
+              <gml:outerBoundaryIs>
+                <gml:LinearRing>
+                  <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">147.302765,-43.513336 147.239136,-43.491669 147.175537,-43.501671 147.123016,-43.421944 147.190247,-43.354446 147.289566,-43.26403 147.300262,-43.262779 147.307739,-43.270279 147.362457,-43.374168 147.36496,-43.385834 147.362732,-43.398056 147.320663,-43.502918 147.310516,-43.511948 147.302765,-43.513336</gml:coordinates>
+                </gml:LinearRing>
+              </gml:outerBoundaryIs>
+            </gml:Polygon>
+          </gml:polygonMember>
+          <gml:polygonMember>
+            <gml:Polygon>
+              <gml:outerBoundaryIs>
+                <gml:LinearRing>
+                  <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">144.888885,-40.729439 144.878571,-40.726246 144.870941,-40.71944 144.865936,-40.671116 144.926224,-40.617222 144.993286,-40.666664 145.016083,-40.695549 144.926361,-40.722496 144.888885,-40.729439</gml:coordinates>
+                </gml:LinearRing>
+              </gml:outerBoundaryIs>
+            </gml:Polygon>
+          </gml:polygonMember>
+          <gml:polygonMember>
+            <gml:Polygon>
+              <gml:outerBoundaryIs>
+                <gml:LinearRing>
+                  <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">146.916702,-43.617844 146.863281,-43.636391 146.833588,-43.648056 146.81517,-43.617912 146.770401,-43.610695 146.686371,-43.603333 146.599548,-43.55611 146.514435,-43.542778 146.296082,-43.534729 146.275177,-43.52375 146.260269,-43.49514 146.231476,-43.488888 146.110367,-43.515423 146.0383,-43.498055 145.932678,-43.376316 145.991913,-43.345833 146.1026,-43.357918 146.156647,-43.379723 146.232529,-43.390972 146.234543,-43.325142 146.163239,-43.28236 146.139709,-43.31472 146.12468,-43.333332 145.858856,-43.30875 145.836914,-43.297226 145.758881,-43.184441 145.726898,-43.133331 145.595245,-42.979164 145.573776,-42.963818 145.54747,-42.961391 145.511581,-42.965656 145.459686,-42.904442 145.423157,-42.846664 145.397766,-42.775558 145.353851,-42.658535 145.310516,-42.623611 145.259979,-42.612431 145.231354,-42.45639 145.197617,-42.313473 145.205231,-42.25695 145.223846,-42.239166 145.250107,-42.27486 145.323029,-42.32 145.378021,-42.349167 145.426361,-42.37458 145.439758,-42.398746 145.445663,-42.457359 145.459061,-42.505627 145.469421,-42.523056 145.47525,-42.520279 145.552048,-42.351109 145.49968,-42.323475 145.458313,-42.326393 145.280273,-42.181114 145.260681,-42.139999 145.265121,-42.111389 145.262772,-42.080002 145.247879,-42.034863 145.184555,-41.938332 145.054962,-41.846664 144.954956,-41.713333 144.858582,-41.544449 144.781647,-41.390556 144.731628,-41.306107 144.685791,-41.216595 144.695389,-41.18111 144.667755,-41.075211 144.653595,-41.046951 144.637207,-41.031944 144.618713,-40.93111 144.648865,-40.901245 144.680664,-40.896114 144.699692,-40.875484 144.708588,-40.825562 144.701355,-40.759171 144.762207,-40.72805 144.985992,-40.74868 145.036102,-40.779167 145.080383,-40.810276 145.116348,-40.822365 145.274994,-40.80278 145.335663,-40.842079 145.539154,-40.892776 145.751373,-40.987778 145.872192,-41.042778 146.169434,-41.149994 146.193176,-41.15694 146.229126,-41.160553 146.36969,-41.170837 146.405411,-41.171669 146.450378,-41.16486 146.499146,-41.150139 146.564697,-41.175278 146.58609,-41.186661 146.581909,-41.151527 146.660385,-41.088749 146.731491,-41.069725 146.76416,-41.073059 146.784409,-41.082291 146.801086,-41.107506 146.806458,-41.148365 146.859131,-41.168335 146.94281,-41.166874 146.912964,-41.134789 146.879837,-41.126804 146.843018,-41.123055 146.823013,-41.108124 146.818726,-41.059792 146.86377,-41.028404 147.017059,-40.976109 147.08609,-40.991943 147.105804,-40.99778 147.124664,-41.005005 147.147354,-41.008892 147.171783,-41.008892 147.199127,-41.002228 147.356079,-40.976387 147.416504,-41.017776 147.461914,-41.001396 147.488373,-40.984997 147.517487,-40.953331 147.541656,-40.924171 147.573166,-40.879028 147.589127,-40.853058 147.611618,-40.842358 147.674835,-40.830837 147.698792,-40.857361 147.803162,-40.89278 147.838165,-40.891251 147.876083,-40.878746 147.901779,-40.863194 147.921631,-40.840836 147.933594,-40.822086 147.944138,-40.795277 147.951157,-40.761322 147.971832,-40.744789 148.01416,-40.745972 148.079407,-40.76889 148.221069,-40.84903 148.273315,-40.901108 148.307419,-40.957478 148.318863,-40.972359 148.328308,-40.995419 148.302185,-41.075562 148.290253,-41.10778 148.279846,-41.130833 148.264343,-41.167221 148.272003,-41.218468 148.313568,-41.259308 148.316925,-41.334724 148.287476,-41.423889 148.273804,-41.454166 148.280396,-41.539234 148.296356,-41.565834 148.312195,-41.591248 148.314285,-41.612919 148.292206,-41.728882 148.270966,-41.782642 148.264709,-41.814587 148.298035,-42.035004 148.311493,-42.063473 148.333984,-42.087639 148.358719,-42.108681 148.363846,-42.222427 148.346619,-42.249168 148.324554,-42.270695 148.311096,-42.277779 148.302765,-42.27639 148.275269,-42.255562 148.270813,-42.231667 148.29776,-42.206249 148.309692,-42.140556 148.238846,-41.998196 148.195267,-41.94545 148.079117,-42.117218 148.004013,-42.522499 147.958725,-42.556389 147.943848,-42.613892 147.955521,-42.666527 147.954956,-42.717499 147.924835,-42.741108 147.898865,-42.756535 147.883179,-42.772221 147.84288,-42.872917 147.856415,-42.888889 147.899796,-42.886631 147.881836,-42.857224 147.910873,-42.840832 147.974197,-42.869511 147.999695,-42.907078 148.004776,-42.976868 147.96701,-42.995449 147.951492,-43.082291 147.979126,-43.126663 148.0047,-43.170837 147.995529,-43.227589 147.970795,-43.229092 147.899414,-43.183434 147.827179,-43.206108 147.789703,-43.246948 147.697205,-43.163612 147.631622,-43.065552 147.618973,-43.017708 147.67392,-42.945133 147.706497,-42.938328 147.730789,-42.95472 147.735794,-42.978886 147.719894,-43.002499 147.759979,-43.039864 147.781784,-43.051109 147.808868,-43.054722 147.867874,-43.046528 147.899414,-43.026875 147.825806,-42.931946 147.591629,-42.826736 147.557465,-42.830559 147.502121,-42.860764 147.521362,-42.928886 147.53595,-42.949024 147.55275,-42.978954 147.525604,-43.018333 147.476624,-43.034172 147.427124,-43.04174 147.403732,-43.000072 147.423019,-42.991112 147.40802,-42.889725 147.351624,-42.861389 147.317474,-42.846664 147.348572,-42.904716 147.34079,-42.951111 147.32608,-43.008614 147.292755,-43.028053 147.268188,-43.060432 147.241913,-43.133614 147.240311,-43.155487 147.262482,-43.203888 147.263321,-43.224861 147.247452,-43.269169 147.213287,-43.285625 147.178162,-43.282223 147.098297,-43.244446 147.041351,-43.199722 147.025742,-43.181873 147.022766,-43.138332 147.01207,-43.118752 146.991287,-43.112431 146.970093,-43.137085 146.964417,-43.164162 146.964142,-43.184307 146.969269,-43.204304 146.993988,-43.223747 147.01944,-43.237778 147.061096,-43.258339 147.095337,-43.288715 147.054962,-43.362503 147.002213,-43.422638 146.952179,-43.528053 146.937469,-43.600624 146.916702,-43.617844</gml:coordinates>
+                </gml:LinearRing>
+              </gml:outerBoundaryIs>
+            </gml:Polygon>
+          </gml:polygonMember>
+          <gml:polygonMember>
+            <gml:Polygon>
+              <gml:outerBoundaryIs>
+                <gml:LinearRing>
+                  <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">143.921631,-40.136391 143.913879,-40.134727 143.886307,-40.116734 143.873566,-40.065002 143.892349,-40.054302 143.891937,-39.984722 143.885544,-39.970139 143.870514,-39.956947 143.851624,-39.945274 143.840378,-39.936802 143.834824,-39.927502 143.837738,-39.873055 143.85524,-39.711945 143.871063,-39.700279 143.899719,-39.688606 143.916656,-39.680557 143.925812,-39.674171 143.933594,-39.666946 143.941635,-39.655693 143.945526,-39.640839 143.943848,-39.628883 143.935516,-39.608612 143.931915,-39.598335 143.935455,-39.583054 143.977463,-39.573891 143.987732,-39.57695 144.066788,-39.616112 144.108582,-39.662498 144.112183,-39.673058 144.122192,-39.812218 144.122192,-39.825005 144.146454,-39.92944 144.136917,-39.984306 144.106064,-40.036392 144.008881,-40.087776 143.957733,-40.110001 143.921631,-40.136391</gml:coordinates>
+                </gml:LinearRing>
+              </gml:outerBoundaryIs>
+            </gml:Polygon>
+          </gml:polygonMember>
+        </gml:MultiPolygon>
+      </topp:the_geom>
+      <topp:STATE>Tasmania</topp:STATE>
+      <topp:COUNTRY>Australia</topp:COUNTRY>
+      <topp:CURR_TYPE>Australia Dollar</topp:CURR_TYPE>
+      <topp:CURR_CODE>AUD</topp:CURR_CODE>
+    </topp:tasmania_state_boundaries>
+  </gml:featureMember>
+</wfs:FeatureCollection>
Index: lib/spatial/mapbuilder/examples/timeSeries/tsWorldTemp.xml
===================================================================
--- lib/spatial/mapbuilder/examples/timeSeries/tsWorldTemp.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/timeSeries/tsWorldTemp.xml	(revision 4307)
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<ViewContext version="1.0.0" id="timeSeriesDemo" 
+    xmlns="http://www.opengis.net/context" 
+    xmlns:xlink="http://www.w3.org/1999/xlink" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="400" height="200"/>
+    <BoundingBox SRS="EPSG:4326" minx="-180" miny="-90" maxx="180" maxy="90"/>
+    <Title>Maximum Temperature from world weather stations</Title>
+    <Abstract>Maximum Temperature from world weather stations.</Abstract>
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://globe.digitalearth.gov/" />
+    </DescriptionURL>
+    <KeywordList>
+      <Keyword>Temperature</Keyword>
+    </KeywordList>
+    <ContactInformation>
+      <ContactPersonPrimary>
+        <ContactPerson></ContactPerson>
+        <ContactOrganization>NASA</ContactOrganization>
+      </ContactPersonPrimary>
+      <ContactElectronicMailAddress></ContactElectronicMailAddress>
+    </ContactInformation>
+  </General>
+  <LayerList>
+		<Layer queryable="1" hidden="0">
+			<Server service="OGC:WMS" version="1.0.0" title="OGC:WMS">
+      <OnlineResource xlink:type="simple" xlink:href="http://www2.demis.nl/WMS/wms.asp?wms=BlueMarble"/>
+			</Server>
+			<Name>Countries,Earth+Image,Coastlines,Waterbodies</Name>
+			<Title>Demis Blue Marble</Title>
+			<SRS>EPSG:4326</SRS>
+			<FormatList>
+				<Format current="1">image/gif</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+				</Style>
+			</StyleList>
+		</Layer>
+    <Layer level="2" hidden="0">
+      <Server service="wms" title="The GLOBE Program Visualization Server" wmtver="1.1.1">
+        <OnlineResource xlink:type="simple" xlink:href="http://globe.digitalearth.gov/viz-bin/wmt.cgi"/>
+      </Server>
+      <Name>NTMAX</Name>
+      <Title>Maximum Temperature</Title>
+      <Abstract>Maximum Temperature from world weather stations. Units: deg C.</Abstract>
+      <DimensionList>
+      <!-- too many dates!! Dimension units="ISO8601" name="time" current="2005-02-01" default="2004-04-07">1998-06-01/2004-04-07/P1D</Dimension-->
+      <Dimension units="ISO8601" name="time" current="2005-02-01" default="2004-04-07">2004-03-01/2004-04-07/P1D</Dimension>
+      </DimensionList>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>    
+    <!--Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>coast</Name>
+      <Title>coastline</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer-->
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/timeSeries/tsEstPrecip.xml
===================================================================
--- lib/spatial/mapbuilder/examples/timeSeries/tsEstPrecip.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/timeSeries/tsEstPrecip.xml	(revision 4307)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<ViewContext version="1.0.0" id="timeSeriesDemo" 
+    xmlns="http://www.opengis.net/context" 
+    xmlns:xlink="http://www.w3.org/1999/xlink" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="320" height="300"/>
+    <BoundingBox SRS="EPSG:4326" minx="-20." miny="-40." maxx="55." maxy="40." resx="0.1" resy="0.1" />
+    <Title>Estimated Precipitation (Africa)</Title>
+    <Abstract>Map Server maintained by International Research Institute for Climate Prediction, Columbia University, USA</Abstract>
+    <KeywordList>
+      <Keyword>precipitation</Keyword>
+    </KeywordList>
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://iridl.ldeo.columbia.edu/" />
+    </DescriptionURL>
+    <ContactInformation>
+      <ContactPersonPrimary>
+        <ContactPerson></ContactPerson>
+        <ContactOrganization>IRI, Columbia U.</ContactOrganization>
+      </ContactPersonPrimary>
+      <ContactElectronicMailAddress>help@iri.columbia.edu</ContactElectronicMailAddress>
+    </ContactInformation>
+  </General>
+  <LayerList>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.3.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://iridl.ldeo.columbia.edu/SOURCES/.NOAA/.NCEP/.CPC/.FEWS/.Africa/.DAILY/.RFEv2/wmsmap?"/>
+      </Server>
+      <Name>est_prcp</Name>
+      <Title>Estimated Precipitation</Title>
+      <Abstract>Estimated Precipitation. original title was: NOAA NCEP CPC FEWS Africa DAILY RFEv2</Abstract>
+      <DimensionList>
+        <!--Dimension name="time" units="ISO8601" nearestValue="1">2000-10-31/2005-03-29/P1D</Dimension-->
+        <Dimension name="time" units="ISO8601" nearestValue="1">2005-02-01/2005-03-29/P1D</Dimension>
+      </DimensionList>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>coast</Name>
+      <Title>coastline</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/timeSeries/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/timeSeries/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/timeSeries/index.html	(revision 4307)
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Mapbuilder Time Series Viewer</title>
+<link rel='StyleSheet' type='text/css'
+	href='../../lib/skin/default/demoStyles.css' />
+<style type="text/css">
+      #workspace {
+      height: 300px;
+      overflow: auto;
+      position: relative;
+      /* border: 1px solid blue;*/
+      background-color: rgb(240,240,240);
+      display: none;
+      }
+      #abstract {
+      margin: 0px;
+      }
+    </style>
+    <script>
+      // URL of Mapbuilder configuration file.
+      var mbConfigUrl='tsConfig.xml';
+    </script>
+<script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+</head>
+<body onload="mbDoLoad()">
+<div id="header">
+  <h1><a href="http://communitymapbuilder.org">MapBuilder</a> <!--Version-->1.5-rc2<!--VersionEnd--> Time Series
+    <!-- The version tag will be inserted into the comment tags above
+    during the build process. -->
+Viewer</h1>
+<!--This is for more complex pages <a href="" class="help">how to use this page</a></div>-->
+</div>
+<div id="middle">
+        	    <div id="exampleList"></div><!-- this is the container where the menubar will be drawn -->
+<div id="mainbody">
+<div class="left">
+<h3>Explanation</h3>
+This demo shows how to combine images with different timestamps to
+create a movie. Since the images are all normal WMS servers you can pan
+and zoom, just like any normal map. It includes movie buttons to fast
+forward/backward, pause and stop the movie at any time.</div>
+<div class="right">
+					<div id="timestampValue"/>	
+	<table>
+		<tr>
+			<td valign="top">
+				<table>
+					<tr>
+						<td width="40%" id="tsButtonBar" align="left">
+						</td>
+						<td id="timestamp" align="right"></td>
+					</tr>
+					<tr>
+						<td colspan="2" valign="top">
+							<div id="mainMapPane"><noscript>this page requires Javascript to be enabled</noscript></div>
+						</td>						 
+					</tr>
+					<tr>
+						<td id="mainButtonBar" valign="top" align="left"></td>
+						<td width="60%" id="cursorTrack" align="right"></td>
+					</tr>
+					<tr>
+						<td id="timeRangeSelect" colspan="2" valign="top" align="left"></td>
+					</tr>
+					<tr>
+						<td id="legend" colspan="2" valign="top" align="left"/>
+					</tr>
+				</table>
+			</td>
+			<td>
+				<table>
+					<!-- table for left side of page - single column -->
+					<tr>
+						<td align="left">
+							<h2 id="mapTitle">Map Title</h2>
+						</td>
+					</tr>
+					<tr>
+						<td align="left" valign="top" id="abstract"></td>
+					</tr>
+					<tr>
+						<td valign="top" align="left">Other examples
+						<div id="collectionList" />
+						</td>
+					</tr>
+					<!-- Commented out for now; see MAP-492
+					<tr>
+						<td valign="top" align="left"><a
+							href="javascript:document.getElementById('workspace').style.display='block';config.loadModel('wmsCapTemplate','NASAwms.xml');">NASA
+						SVS Image Server</a> - a large collection of earth observation data.
+						Images are in fixed size so map zoom/pan functions are not allowed.
+						</td>
+					</tr>
+					-->
+					<tr>
+						<td valign="top" align="left">
+							<p id="wmsCapsUrlInput" />
+						</td>
+					</tr>
+					<tr>
+						<td valign="top" align="left">
+						<p id="workspace"></p>
+						</td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+	</table>
+</div>
+</div>
+</div>
+<div id="footer">
+
+</html>
Index: lib/spatial/mapbuilder/examples/flickr/atom.xml
===================================================================
--- lib/spatial/mapbuilder/examples/flickr/atom.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/flickr/atom.xml	(revision 4307)
@@ -0,0 +1,544 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<feed xmlns="http://www.w3.org/2005/Atom"
+      xmlns:dc="http://purl.org/dc/elements/1.1/" >
+
+	<title>Fotos von communitymapbuilder</title>
+	<link rel="self" href="http://api.flickr.com/services/feeds/photos_public.gne?georss=1&amp;id=15435549%40N00" />
+	<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/"/>
+	<id>tag:flickr.com,2005:/photos/public/2450396</id>
+	<icon>http://www.flickr.com/images/buddyicon.jpg?15435549@N00</icon>
+	<subtitle></subtitle>
+	<updated>2007-04-02T18:30:11Z</updated>
+	<generator uri="http://www.flickr.com/">Flickr</generator>
+
+	<entry>
+		<title>DIS-ALP</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/443869506/"/>
+		<id>tag:flickr.com,2005:/photo/443869506</id>
+		<published>2007-04-02T18:30:11Z</published>
+		<updated>2007-04-02T18:30:11Z</updated>
+                <dc:date.Taken>2007-04-02T11:30:11-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/443869506/&quot; title=&quot;DIS-ALP&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/233/443869506_bf19ba765d_m.jpg&quot; width=&quot;240&quot; height=&quot;168&quot; alt=&quot;DIS-ALP&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Disaster Information System of Alpine Region&lt;br /&gt;
+From Andreas Hocevar, &lt;a href=&quot;http://www.prisma-solutions.at&quot;&gt;www.prisma-solutions.at&lt;/a&gt;&lt;br /&gt;
+&lt;br /&gt;
+An application for natural disaster research, and combines a geodatabase of recent and historic disasters with a knowledge base. Information about the project can be found at &lt;a href=&quot;http://www.dis-alp.org/&quot;&gt;www.dis-alp.org/&lt;/a&gt;&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/233/443869506_4daea3408a_o.png" />
+                
+
+	</entry>
+	<entry>
+		<title>Andreas Hocevar</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/443869456/"/>
+		<id>tag:flickr.com,2005:/photo/443869456</id>
+		<published>2007-04-02T18:30:08Z</published>
+		<updated>2007-04-02T18:30:08Z</updated>
+                <dc:date.Taken>2007-04-02T11:30:08-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/443869456/&quot; title=&quot;Andreas Hocevar&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/251/443869456_9bfd104775_m.jpg&quot; width=&quot;240&quot; height=&quot;180&quot; alt=&quot;Andreas Hocevar&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Andreas is a software developer with a degree in urban and regional planning and works for &lt;a href=&quot;http://www.prisma-solutions.at&quot;&gt;www.prisma-solutions.at&lt;/a&gt;&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/251/443869456_c27e0ad96f_o.jpg" />
+		<category term="roledeveloper" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geo:lat=4811" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geo:long=1619" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+	<entry>
+		<title>Gertjan van Oosten</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/443494150/"/>
+		<id>tag:flickr.com,2005:/photo/443494150</id>
+		<published>2007-04-02T12:33:38Z</published>
+		<updated>2007-04-02T12:33:38Z</updated>
+                <dc:date.Taken>2007-04-02T05:33:38-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/443494150/&quot; title=&quot;Gertjan van Oosten&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/204/443494150_89930e1892_m.jpg&quot; width=&quot;159&quot; height=&quot;240&quot; alt=&quot;Gertjan van Oosten&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;West Consulting B.V.  &lt;br /&gt;
+&lt;a href=&quot;http://www.west.nl/&quot;&gt;www.west.nl/&lt;/a&gt;&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/204/443494150_dcc5e2b7e1_o.jpg" />
+		<category term="communitymapbuilder" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="roledeveloper" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geo:lat=5199710" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geo:long=438160" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+	<entry>
+		<title>DSC_3451</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/247391902/"/>
+		<id>tag:flickr.com,2005:/photo/247391902</id>
+		<published>2006-09-19T12:18:57Z</published>
+		<updated>2006-09-19T12:18:57Z</updated>
+                <dc:date.Taken>2006-09-15T09:47:47-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/247391902/&quot; title=&quot;DSC_3451&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/88/247391902_42cc3ec9ac_m.jpg&quot; width=&quot;240&quot; height=&quot;160&quot; alt=&quot;DSC_3451&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Steven, Pat and Mike&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/88/247391902_42cc3ec9ac_o.jpg" />
+		<category term="communitymapbuilder" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="foss4g" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+	<entry>
+		<title>DSC_3444</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/247391900/"/>
+		<id>tag:flickr.com,2005:/photo/247391900</id>
+		<published>2006-09-19T12:18:57Z</published>
+		<updated>2006-09-19T12:18:57Z</updated>
+                <dc:date.Taken>2006-09-15T09:21:01-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/247391900/&quot; title=&quot;DSC_3444&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/87/247391900_56c4ab98f2_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;DSC_3444&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Mike Adair&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/87/247391900_56c4ab98f2_o.jpg" />
+		<category term="communitymapbuilder" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="foss4g" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+	<entry>
+		<title>DSC_3443</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/247391898/"/>
+		<id>tag:flickr.com,2005:/photo/247391898</id>
+		<published>2006-09-19T12:18:57Z</published>
+		<updated>2006-09-19T12:18:57Z</updated>
+                <dc:date.Taken>2006-09-15T09:20:47-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/247391898/&quot; title=&quot;DSC_3443&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/48/247391898_909884ab9f_m.jpg&quot; width=&quot;240&quot; height=&quot;160&quot; alt=&quot;DSC_3443&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;The FOSS4G Cruise boat on Lac Leman.&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/48/247391898_909884ab9f_o.jpg" />
+		<category term="communitymapbuilder" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="foss4g" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+	<entry>
+		<title>DSC_3445</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/247391897/"/>
+		<id>tag:flickr.com,2005:/photo/247391897</id>
+		<published>2006-09-19T12:18:57Z</published>
+		<updated>2006-09-19T12:18:57Z</updated>
+                <dc:date.Taken>2006-09-15T09:24:38-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/247391897/&quot; title=&quot;DSC_3445&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/71/247391897_f609226911_m.jpg&quot; width=&quot;240&quot; height=&quot;160&quot; alt=&quot;DSC_3445&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;FOSS4G In Lausanne, Switzerland&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/71/247391897_f609226911_o.jpg" />
+		<category term="communitymapbuilder" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="foss4g" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+	<entry>
+		<title>Just Van Den Broecke, Amstelveen, Netherlands</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/116022996/"/>
+		<id>tag:flickr.com,2005:/photo/116022996</id>
+		<published>2006-03-21T21:52:16Z</published>
+		<updated>2006-03-21T21:52:16Z</updated>
+                <dc:date.Taken>2005-08-02T20:36:04-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/116022996/&quot; title=&quot;Just Van Den Broecke, Amstelveen, Netherlands&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/41/116022996_271bbdbe2c_m.jpg&quot; width=&quot;240&quot; height=&quot;160&quot; alt=&quot;Just Van Den Broecke, Amstelveen, Netherlands&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Developer, &lt;a href=&quot;http://www.geoskating.com&quot;&gt;GeoSkating&lt;/a&gt; &lt;a href=&quot;http://www.geotracing.com&quot;&gt; GeoTracing&lt;/a&gt;. Other geo-stuff on my blog: &lt;br /&gt;
+&lt;a href=&quot;http://www.justobjects.org/blog/&quot;&gt;www.justobjects.org/blog/&lt;/a&gt;&lt;br /&gt;
+For the MB-Ionic-Oracle: &amp;quot;Goal was to get the &amp;quot;tasmania&amp;quot; WFS-T &lt;br /&gt;
+MapBuilder/GeoServer demo working end-to-end from MapBuilder through &lt;br /&gt;
+RedSpider Web WFS(-T) to Oracle. The basis was a Fedora Core 4 Linux &lt;br /&gt;
+with Oracle Enterprise 10g (its install took most of the effort!), Ionic &lt;br /&gt;
+Red Spider Web 3.3, GDAL with OCI, Tomcat, Java 1.5, GeoServer, &lt;br /&gt;
+MapBuilder, Eclipse and FireFox with Venkman JS-debugger (can't do &lt;br /&gt;
+without him). Everything was driven from Ant assembling WFS and &lt;br /&gt;
+MapBuilder into a single .war file.&lt;br /&gt;
+First step was to import the relevant shape files from GeoServer with &lt;br /&gt;
+GDAL (ogr2ogr). Ionic was setup with the Oracle connector and a GML type &lt;br /&gt;
+XSD and SQL-mapping XML. For MapBuilder I had to tweak only all the XML &lt;br /&gt;
+files (config.xml, the template XML and in particular the viewcontext &lt;br /&gt;
+XML). Queries went ok soon (with default styling), WFS-T some hours &lt;br /&gt;
+mainly by me overlooking a typo in the featureXPath, but thanks to the &lt;br /&gt;
+instant response of Steven Ottens on the MapBuilder-user mailing list &lt;br /&gt;
+this was fixed in a few minutes.&amp;quot;&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/41/116022996_271bbdbe2c_o.jpg" />
+		<category term="communitymapbuilder" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+	<entry>
+		<title>Bert Revenaz, Montreal, Quebec, Canada</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/115275254/"/>
+		<id>tag:flickr.com,2005:/photo/115275254</id>
+		<published>2006-03-20T13:59:34Z</published>
+		<updated>2006-03-20T13:59:34Z</updated>
+                <dc:date.Taken>2005-12-31T10:28:49-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/115275254/&quot; title=&quot;Bert Revenaz, Montreal, Quebec, Canada&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/51/115275254_075884dca0_m.jpg&quot; width=&quot;240&quot; height=&quot;202&quot; alt=&quot;Bert Revenaz, Montreal, Quebec, Canada&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Developer.&lt;br /&gt;
+Bert works for the World Bank developing &lt;br /&gt;
+&lt;a href=&quot;http://biodiv.climaterisk.org&quot;&gt;geospatial applications using MapBuilder&lt;/a&gt;&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/51/115275254_075884dca0_o.jpg" />
+		<category term="geotagged" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="communitymapbuilder" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolat455112264" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolong735733203" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+	<entry>
+		<title>Scott Pezanowski, State College, PA, USA</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/114816361/"/>
+		<id>tag:flickr.com,2005:/photo/114816361</id>
+		<published>2006-03-19T20:25:02Z</published>
+		<updated>2006-03-19T20:25:02Z</updated>
+                <dc:date.Taken>2006-03-19T12:25:02-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/114816361/&quot; title=&quot;Scott Pezanowski, State College, PA, USA&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/49/114816361_1fbcc89137_m.jpg&quot; width=&quot;110&quot; height=&quot;110&quot; alt=&quot;Scott Pezanowski, State College, PA, USA&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Developer&lt;br /&gt;
+Working with Ian Turton on a GeoCollaborative Web Portal for crisis management.&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/49/114816361_1fbcc89137_o.jpg" />
+		<category term="geotagged" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="communitymapbuilder" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="roledeveloper" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolat407940" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolong778664" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+	<entry>
+		<title>A Collaborative Web Portal System</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/113770031/"/>
+		<id>tag:flickr.com,2005:/photo/113770031</id>
+		<published>2006-03-17T17:03:28Z</published>
+		<updated>2006-03-17T17:03:28Z</updated>
+                <dc:date.Taken>2006-03-17T09:03:28-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/113770031/&quot; title=&quot;A Collaborative Web Portal System&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/19/113770031_14312f7ad1_m.jpg&quot; width=&quot;180&quot; height=&quot;240&quot; alt=&quot;A Collaborative Web Portal System&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Collaborative Mapping from Ian Turton&lt;br /&gt;
+&lt;a href=&quot;http://pennspace.blogspot.com/2006/03/more-on-collaborative-mapping.html&quot;&gt;pennspace.blogspot.com/2006/03/more-on-collaborative-mapp...&lt;/a&gt;&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/19/113770031_14312f7ad1_o.jpg" />
+		<category term="geotagged" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="communitymapbuilder" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="roleapplication" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolat408" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolong779" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+	<entry>
+		<title>Ian Turton, State College, PA, USA</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/113770030/"/>
+		<id>tag:flickr.com,2005:/photo/113770030</id>
+		<published>2006-03-17T17:03:28Z</published>
+		<updated>2006-03-17T17:03:28Z</updated>
+                <dc:date.Taken>2006-03-17T09:03:28-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/113770030/&quot; title=&quot;Ian Turton, State College, PA, USA&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/40/113770030_6b78b6d2af_m.jpg&quot; width=&quot;150&quot; height=&quot;150&quot; alt=&quot;Ian Turton, State College, PA, USA&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Developer&lt;br /&gt;
+&lt;a href=&quot;http://www.blogger.com/profile/18385836&quot;&gt;www.blogger.com/profile/18385836&lt;/a&gt;&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/40/113770030_6b78b6d2af_o.jpg" />
+		<category term="geotagged" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolat4079" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="communitymapbuilder" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="roledeveloper" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolong7786" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+	<entry>
+		<title>Peter Miller, Ipswich, UK</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/113268311/"/>
+		<id>tag:flickr.com,2005:/photo/113268311</id>
+		<published>2006-03-16T12:19:05Z</published>
+		<updated>2006-03-16T12:19:05Z</updated>
+                <dc:date.Taken>2003-01-13T10:05:16-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/113268311/&quot; title=&quot;Peter Miller, Ipswich, UK&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/39/113268311_74e504fac7_m.jpg&quot; width=&quot;240&quot; height=&quot;240&quot; alt=&quot;Peter Miller, Ipswich, UK&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Peter is our Marketing and Documentation lead (with Steve Ottens), representing the larger community of users (and not just developers).  Peter is also readying a major upcoming Mapbuilder application soon to be announced.&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/39/113268311_74e504fac7_o.jpg" />
+		<category term="geotagged" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="communitymapbuilder" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="roledeveloper" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolat52040877" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolong1171074" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+	<entry>
+		<title>CommunityMapBuilder Community</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/113114065/"/>
+		<id>tag:flickr.com,2005:/photo/113114065</id>
+		<published>2006-03-16T02:09:07Z</published>
+		<updated>2006-03-16T02:09:07Z</updated>
+                <dc:date.Taken>2006-03-15T18:09:07-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/113114065/&quot; title=&quot;CommunityMapBuilder Community&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/53/113114065_0247f6d1d7_m.jpg&quot; width=&quot;220&quot; height=&quot;240&quot; alt=&quot;CommunityMapBuilder Community&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Demo demonstrating some upcoming version 1.1 features:&lt;br /&gt;
+- GeoRSS/Atom Processing&lt;br /&gt;
+- SLD Client-side Processing&lt;br /&gt;
+- SVG/VML vector graphics&lt;br /&gt;
+- popups with html contents&lt;br /&gt;
+- WMS,RSS Layers...&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/53/113114065_0247f6d1d7_o.jpg" />
+		<category term="geotagged" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolong161" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="communitymapbuilder" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="roleapplication" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolat5086" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+	<entry>
+		<title>Malibu IWIMS Geo-Explorer</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/113028742/"/>
+		<id>tag:flickr.com,2005:/photo/113028742</id>
+		<published>2006-03-15T21:54:21Z</published>
+		<updated>2006-03-15T21:54:21Z</updated>
+                <dc:date.Taken>2006-03-15T13:54:21-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/113028742/&quot; title=&quot;Malibu IWIMS Geo-Explorer&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/36/113028742_ff2c00506d_m.jpg&quot; width=&quot;240&quot; height=&quot;154&quot; alt=&quot;Malibu IWIMS Geo-Explorer&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;IWIMS - Integrated Wastewater Information Management System from Nick Floersch.&lt;br /&gt;
+The Geo-Explorer component of &lt;a href=&quot;http://www.stone-env.com&quot;&gt;Stone Environmental Incorporated&lt;/a&gt;'s on-site wastewater management system, IWIMS (Integrated Wastewater Information Management System), use the Community MapBuilder library to create an interactive data viewer. Communities can keep track of their on-site wastewater data in IWIMS, and then query and explore that data visually with the MapBuilder-based data viewer.&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/36/113028742_ff2c00506d_o.png" />
+		<category term="geotagged" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="communitymapbuilder" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="roleapplication" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolat442" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolong725" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+	<entry>
+		<title>Nick Floersch, Vermont, USA</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/113028741/"/>
+		<id>tag:flickr.com,2005:/photo/113028741</id>
+		<published>2006-03-15T21:54:21Z</published>
+		<updated>2006-03-15T21:54:21Z</updated>
+                <dc:date.Taken>2006-03-15T13:54:21-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/113028741/&quot; title=&quot;Nick Floersch, Vermont, USA&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/42/113028741_7583d748cd_m.jpg&quot; width=&quot;240&quot; height=&quot;180&quot; alt=&quot;Nick Floersch, Vermont, USA&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Developer from Montpelier, Vermont USA&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/42/113028741_7583d748cd_o.jpg" />
+		<category term="geotagged" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="communitymapbuilder" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="roledeveloper" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolat44258611" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolong72566389" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+	<entry>
+		<title>Pirmin Kalberer, Switzerland</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/112414973/"/>
+		<id>tag:flickr.com,2005:/photo/112414973</id>
+		<published>2006-03-14T13:26:12Z</published>
+		<updated>2006-03-14T13:26:12Z</updated>
+                <dc:date.Taken>2006-03-14T05:26:12-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/112414973/&quot; title=&quot;Pirmin Kalberer, Switzerland&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/34/112414973_ebcb5a549c_m.jpg&quot; width=&quot;127&quot; height=&quot;127&quot; alt=&quot;Pirmin Kalberer, Switzerland&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Developer. Leading the efforts of MapBuilder on Rails.&lt;br /&gt;
+&lt;a href=&quot;http://www.sourcepole.com&quot;&gt;www.sourcepole.com&lt;/a&gt;&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/34/112414973_ebcb5a549c_o.jpg" />
+		<category term="geotagged" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="communitymapbuilder" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="roledeveloper" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolat470125" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolong95051" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+	<entry>
+		<title>MapBuilder on Rails</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/112399872/"/>
+		<id>tag:flickr.com,2005:/photo/112399872</id>
+		<published>2006-03-14T12:32:19Z</published>
+		<updated>2006-03-14T12:32:19Z</updated>
+                <dc:date.Taken>2006-03-14T04:32:19-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/112399872/&quot; title=&quot;MapBuilder on Rails&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/34/112399872_ab8b47b23c_m.jpg&quot; width=&quot;240&quot; height=&quot;148&quot; alt=&quot;MapBuilder on Rails&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;A real estate platform integrating MapBuilder and Ruby on Rails.&lt;br /&gt;
+Pirmin Kalberer. &lt;a href=&quot;http://www.sourcepole.ch&quot;&gt;SourcePole&lt;/a&gt;&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/34/112399872_ab8b47b23c_o.png" />
+		<category term="geotagged" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="communitymapbuilder" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="roleapplication" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolat470125" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolong95051" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+	<entry>
+		<title>Saul Farber</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/112180614/"/>
+		<id>tag:flickr.com,2005:/photo/112180614</id>
+		<published>2006-03-14T00:24:09Z</published>
+		<updated>2006-03-14T00:24:09Z</updated>
+                <dc:date.Taken>2006-03-13T16:24:09-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/112180614/&quot; title=&quot;Saul Farber&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/36/112180614_dfa5abb83b_m.jpg&quot; width=&quot;170&quot; height=&quot;218&quot; alt=&quot;Saul Farber&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;You can be a MapBuilder developer and have a sense of humor!&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/36/112180614_dfa5abb83b_o.jpg" />
+		<category term="geotagged" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="communitymapbuilder" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="roledeveloper" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolat42" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolong71" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+	<entry>
+		<title>Raj and Safia Singh</title>
+		<link rel="alternate" type="text/html" href="http://www.flickr.com/photos/15435549@N00/111590378/"/>
+		<id>tag:flickr.com,2005:/photo/111590378</id>
+		<published>2006-03-12T23:00:41Z</published>
+		<updated>2006-03-12T23:00:41Z</updated>
+                <dc:date.Taken>2006-03-12T15:00:41-08:00</dc:date.Taken>
+		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; hat ein Foto gepostet:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/111590378/&quot; title=&quot;Raj and Safia Singh&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/45/111590378_fdeb4017ba_m.jpg&quot; width=&quot;180&quot; height=&quot;240&quot; alt=&quot;Raj and Safia Singh&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Developer: Safia at 8 months old on Lake Winnipesaukee, NH (with &lt;a href=&quot;http://web.mit.edu/rajsingh/www/&quot;&gt;Raj&lt;/a&gt;)&lt;/p&gt;</content>
+		<author>
+			<name>communitymapbuilder</name>
+			<uri>http://www.flickr.com/people/15435549@N00/</uri>
+		</author>
+		<link rel="license" type="text/html" href="deed.de" />
+        <link rel="enclosure" type="image/jpeg" href="http://farm1.static.flickr.com/45/111590378_fdeb4017ba_o.jpg" />
+		<category term="geotagged" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="communitymapbuilder" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="roledeveloper" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolat4239688" scheme="http://www.flickr.com/photos/tags/" />
+		<category term="geolong71131085" scheme="http://www.flickr.com/photos/tags/" />
+                
+
+	</entry>
+
+</feed>
\ No newline at end of file
Index: lib/spatial/mapbuilder/examples/timeSeries/NEOwms.xml
===================================================================
--- lib/spatial/mapbuilder/examples/timeSeries/NEOwms.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/timeSeries/NEOwms.xml	(revision 4307)
@@ -0,0 +1,1124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<WMS_Capabilities version="1.3.0" xsi:schemaLocation="http://www.opengis.net/wms http://schemas.opengeospatial.net/wms/1.3.0/capabilities_1_3_0.xsd" xmlns="http://www.opengis.net/wms" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <Service>
+    <Name>WMS</Name>
+    <Title>NASA Earth Observations (NEO) WMS</Title>
+    <Abstract><![CDATA[Remote sensing imagery from NASA Earth Observations (NEO).]]></Abstract>
+    <KeywordList>
+      <Keyword>nasa</Keyword>
+      <Keyword>earth science</Keyword>
+      <Keyword>picture</Keyword>
+    </KeywordList>
+    <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/"/>
+    <ContactInformation>
+      <ContactPersonPrimary>
+        <ContactPerson>Kevin Ward</ContactPerson>
+        <ContactOrganization>Science Systems and Applications, Inc./NASA</ContactOrganization>
+      </ContactPersonPrimary>
+      <ContactPosition>NEO Architect and Developer</ContactPosition>
+      <ContactAddress>
+        <AddressType>postal</AddressType>
+        <Address>9025 SW 50th Ave.</Address>
+        <City>Portland</City>
+        <StateOrProvince>Oregon</StateOrProvince>
+        <PostCode>97219</PostCode>
+        <Country>United States</Country>
+      </ContactAddress>
+      <ContactVoiceTelephone>+01-503-977-2970</ContactVoiceTelephone>
+      <ContactElectronicMailAddress>kevin_ward@ssaihq.com</ContactElectronicMailAddress>
+    </ContactInformation>
+    <Fees>none</Fees>
+    <AccessConstraints>none</AccessConstraints>
+    <LayerLimit>1</LayerLimit>
+  </Service>
+  <Capability>
+    <Request>
+      <GetCapabilities>
+        <Format>application/vnd.ogc.wms_xml</Format>
+        <DCPType>
+          <HTTP>
+            <Get>
+              <OnlineResource xlink:type="simple" xlink:href="http://neowms.sci.gsfc.nasa.gov/wms/wms"/>
+            </Get>
+          </HTTP>
+        </DCPType>
+      </GetCapabilities>
+      <GetMap>
+        <Format>image/png</Format>
+        <Format>image/jpeg</Format>
+        <DCPType>
+          <HTTP>
+            <Get>
+              <OnlineResource xlink:type="simple" xlink:href="http://neowms.sci.gsfc.nasa.gov/wms/wms"/>
+            </Get>
+          </HTTP>
+        </DCPType>
+      </GetMap>
+    </Request>
+    <Exception>
+      <Format>application/vnd.ogc.se_xml</Format>
+    </Exception>
+    <Layer>
+      <Title>NASA Earth Observations (NEO) WMS</Title>
+      <CRS>CRS:84</CRS>
+      <EX_GeographicBoundingBox>
+        <westBoundLongitude>-180.0</westBoundLongitude>
+        <eastBoundLongitude>180.0</eastBoundLongitude>
+        <southBoundLatitude>-90.0</southBoundLatitude>
+        <northBoundLatitude>90.0</northBoundLatitude>
+      </EX_GeographicBoundingBox>
+      <BoundingBox miny="-90.0" minx="-180.0" maxy="90.0" maxx="180.0" CRS="CRS:84"/>
+      <Layer>
+        <Title>Aerosol Optical Thickness (MODIS)</Title>
+        <Abstract><![CDATA[<p>Tiny solid and liquid particles suspended in the atmosphere are called aerosols. Examples of aerosols include windblown dust, sea salts, volcanic ash, smoke from fires, and pollution from factories. These particles are important to scientists because they can affect climate, weather, and people's health. Aerosols affect climate by scattering sunlight back into space and cooling the surface.  Aerosols also help cool Earth in another way -- they act like "seeds" to help form clouds.  The particles give water droplets something to cling to as the droplets form and gather in the air to make clouds.  Clouds give shade to the surface by reflecting sunlight back into space. People's health is affected when they breathe in smoke or pollution particles.  Such aerosols in our lungs can cause asthma or cancer of other serious health problems.  But scientists do not fully understand all of the ways that aerosols affect Earth's environment.  To help them in their studies, scientists use satellites to map where there were large amounts of aerosol on a given day, or over a span of days.</p>]]></Abstract>
+        <Layer>
+          <Name>MODAL2_M_AER_OD</Name>
+          <Title>Aerosol Optical Thickness (1 month - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-02-01">2005-01-01/2007-02-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_M_AER_OD"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_M_AER_OD"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_M_AER_OD</Name>
+          <Title>Aerosol Optical Thickness (1 month - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-02-01">2002-07-01/2007-02-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_M_AER_OD"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_M_AER_OD"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MODAL2_E_AER_OD</Name>
+          <Title>Aerosol Optical Thickness (8 day - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-06">2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-03-06/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_E_AER_OD"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_E_AER_OD"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_E_AER_OD</Name>
+          <Title>Aerosol Optical Thickness (8 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-06">2002-07-04/2002-12-27/P8D,2003-01-01/2003-12-27/P8D,2004-01-01/2004-02-26/P8D,2004-03-06/2004-12-27/P8D,2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-03-06/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_E_AER_OD"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_E_AER_OD"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MODAL2_D_AER_OD</Name>
+          <Title>Aerosol Optical Thickness (1 day - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-13">2005-01-01,2005-01-01/2005-01-07/P1D,2005-01-09/2007-03-13/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_D_AER_OD"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_D_AER_OD"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_D_AER_OD</Name>
+          <Title>Aerosol Optical Thickness (1 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-13">2002-07-04/2002-07-29/P1D,2002-08-06/2004-02-28/P1D,2004-03-01/2007-01-30/P1D,2007-02-01/2007-03-13/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_D_AER_OD"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_D_AER_OD"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Aerosol Particle Radius (MODIS)</Title>
+        <Abstract><![CDATA[<p>Tiny solid and liquid particles suspended in the atmosphere are called <em>aerosols</em>.  These particles are important to scientists because they can affect climate, weather, and people's health.  Some aerosols come from natural sources, such as dust, volcanic eruptions, and sea salts.  Some aerosols are produced by humans, such as pollution from industries or automobiles, or smoke from fires.  Using satellites scientists can tell whether a given plume of aerosols came from a natural source, or if is pollution produced by people.  Two important clues about aerosols' sources are particle size and location of the plume.  Natural aerosols (such as dust and sea salts) tend to be larger particles than man-made aerosols (such as smoke and industrial pollution).  In these maps, red areas show aerosol plumes made up of smaller particles.  These red-colored plumes are over regions where we know humans produce pollution.  Green areas show aerosol plumes made up of larger particles.  These green-colored plumes are over regions where we know aerosols occur naturally.  Brown areas show plumes in which large and small aerosol particles are intermingling.  Black shows where the satellite could not measure aerosols.</p>]]></Abstract>
+        <Layer>
+          <Name>MODAL2_M_AER_RA</Name>
+          <Title>Aerosol Particle Radius (1 month - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-02-01">2005-01-01/2007-02-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_M_AER_RA"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_M_AER_RA"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_M_AER_RA</Name>
+          <Title>Aerosol Particle Radius (1 month - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-02-01">2002-07-01/2007-02-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_M_AER_RA"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_M_AER_RA"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MODAL2_E_AER_RA</Name>
+          <Title>Aerosol Particle Radius (8 day - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-06">2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-03-06/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_E_AER_RA"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_E_AER_RA"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_E_AER_RA</Name>
+          <Title>Aerosol Particle Radius (8 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-06">2002-07-04/2002-12-27/P8D,2003-01-01/2003-12-27/P8D,2004-01-01/2004-02-26/P8D,2004-03-06/2004-12-27/P8D,2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-03-06/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_E_AER_RA"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_E_AER_RA"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MODAL2_D_AER_RA</Name>
+          <Title>Aerosol Particle Radius (1 day - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-13">2005-01-01/2006-02-26/P1D,2006-03-03/2007-03-13/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_D_AER_RA"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_D_AER_RA"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_D_AER_RA</Name>
+          <Title>Aerosol Particle Radius (1 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-13">2002-07-04/2002-07-29/P1D,2002-08-06/2004-02-28/P1D,2004-03-01/2007-01-30/P1D,2007-02-01/2007-03-13/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_D_AER_RA"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_D_AER_RA"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Average Sea Surface Temperature 1985-1997 (AVHRR)</Title>
+        <Abstract><![CDATA[<p>Sea surface temperature is the temperature of the top millimeter of the ocean's surface. The average sea surface temperatures over a long period of time are called a sea surface temperature "climatology." An area's climatology acts a baseline for deciding whether and how much the climate is changing. To make a climatology data set, you average measurements collected over a long period of time. These data were collected between 1985 and 1997 by a series of National Oceanic and Atmospheric Administration (NOAA) satellites. The observations are grouped into five-day periods.</p>]]></Abstract>
+        <Layer>
+          <Name>AVHRR_CLIM_M</Name>
+          <Title>Average Sea Surface Temperature 1985-1997 (1 month - AVHRR)</Title>
+          <Dimension units="ISO8601" name="time" default="1985-12-01">1985-01-01/1985-12-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=AVHRR_CLIM_M"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=AVHRR_CLIM_M"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>AVHRR_CLIM_W</Name>
+          <Title>Average Sea Surface Temperature 1985-1997 (8 day - AVHRR)</Title>
+          <Dimension units="ISO8601" name="time" default="1985-12-27">1985-01-01/1985-12-27/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=AVHRR_CLIM_W"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=AVHRR_CLIM_W"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Blue Marble: Next Generation</Title>
+        <Abstract><![CDATA[<p>NASA's Blue Marble: Next Generation images show Earth in true color.  The images show how the surface would look to a human in space if our world had no clouds and no atmosphere.  NASA's Terra satellite collected these images.  There is one Blue Marble image for each month of the year 2004.  These images allow us to explore changes on Earth's lands over time.  Notice how the patterns of green (trees and plants), brown (exposed land surface), and white (snow) change from winter through spring, summer, and fall.</p>]]></Abstract>
+        <Layer>
+          <Name>BlueMarbleNG</Name>
+          <Title>Blue Marble: Next Generation (Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2004-12-01">2004-01-01/2004-12-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=BlueMarbleNG"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=BlueMarbleNG"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>BlueMarbleNG-TB</Name>
+          <Title>Blue Marble: Next Generation +Topo+Bathy (Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2004-12-01">2004-01-01/2004-12-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=BlueMarbleNG-TB"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=BlueMarbleNG-TB"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Carbon Monoxide (MOPITT)</Title>
+        <Abstract><![CDATA[<p>Colorless, odorless, and poisonous, carbon monoxide is a gas that comes from burning fossil fuels, like the gas in cars, and burning vegetation. Carbon monoxide is not one of the gases that is causing global warming, but it is one of the air pollutants that leads to smog. These data sets show monthly averages of carbon monoxide across the Earth measured by the MOPITT sensor (short for "Measurements Of Pollution In The Troposphere") on NASA's Terra satellite. Different colors show different amounts of the gas in the troposphere, the layer of the atmosphere closet to the Earth's surface, at an altitude of about 12,000 feet.</p>]]></Abstract>
+        <Layer>
+          <Name>MOP_CO_M</Name>
+          <Title>Carbon Monoxide (1 month - Terra/MOPITT)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-02-01">2000-03-01/2001-05-01/P1M,2001-08-01/2007-02-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MOP_CO_M"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MOP_CO_M"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Chlorophyll Concentration (MODIS)</Title>
+        <Abstract><![CDATA[<p>This map shows where tiny, floating plants live in the ocean.  These plants, called <em>phytoplankton</em>, are an important part of the ocean's food chain because many animals (such as small fish and whales) feed on them.  Scientists can learn a lot about the ocean by observing where and when phytoplankton grow in large numbers.  Scientists use satellites to measure how much phytoplankton are growing in the ocean by observing the color of the light reflected from the surface of the water.  A green pigment in their skin, called <em>chlorophyll</em>, gives phytoplankton their green color.  When phytoplankton grow in large numbers they make the ocean appear greenish.  These maps made from satellite observations show where and how much phytoplankton were growing on a given day, or over a span of days.  The black areas show where the satellite could not measure phytoplankton.</p>]]></Abstract>
+        <Layer>
+          <Name>MY1DMM_CHLORA</Name>
+          <Title>Chlorophyll Concentration (1 month - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-01">2002-07-01/2007-01-01/P1M,2007-03-01</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MY1DMM_CHLORA"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MY1DMM_CHLORA"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MY1DMW_CHLORA</Name>
+          <Title>Chlorophyll Concentration (8 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-30">2002-07-04/2002-12-27/P8D,2003-01-01/2003-12-27/P8D,2004-01-01/2004-12-26/P8D,2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-02-02/P8D,2007-02-18/2007-03-30/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MY1DMW_CHLORA"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MY1DMW_CHLORA"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MY1DMD_CHLORA</Name>
+          <Title>Chlorophyll Concentration (1 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-04-14">2002-07-04/2002-07-29/P1D,2002-08-06/2006-01-21/P1D,2006-01-23/2006-01-26/P1D,2006-01-28/2006-08-05/P1D,2006-08-08/2006-08-14/P1D,2006-08-16/2007-02-12/P1D,2007-02-15/2007-04-14/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MY1DMD_CHLORA"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MY1DMD_CHLORA"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Cirrus Reflectance (MODIS)</Title>
+        <Abstract><![CDATA[<p>Cirrus clouds are thin, wispy clouds floating high up in the sky.  They can be hard to see and, in fact, some cirrus clouds are invisible.  Scientists are interested in cirrus clouds because they allow most of the sun's light to pass through them, but they help to catch heat rising from Earth's surface.  So cirrus clouds help to warm our world.  As Earth continues to warm this century, will more cirrus clouds form?  Airplane contrails in the sky help to form more cirrus clouds than nature would on its own.  How does this extra man-made cirrus affect our world?  Scientists use satellites to make global maps of cirrus clouds like the ones in NEO to help them answer such questions.  The bright white pixels in these images are regions completely covered by cirrus clouds.  Greyish-white pixels show partial cirrus cover, and dark pixels indicate little or no cirrus.</p>]]></Abstract>
+        <Layer>
+          <Name>MODAL2_M_CLD_CI</Name>
+          <Title>Cirrus Reflectance (1 month - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-02-01">2005-01-01/2007-02-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_M_CLD_CI"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_M_CLD_CI"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_M_CLD_CI</Name>
+          <Title>Cirrus Reflectance (1 month - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-02-01">2002-07-01/2007-02-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_M_CLD_CI"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_M_CLD_CI"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MODAL2_E_CLD_CI</Name>
+          <Title>Cirrus Reflectance (8 day - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-06">2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-03-06/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_E_CLD_CI"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_E_CLD_CI"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_E_CLD_CI</Name>
+          <Title>Cirrus Reflectance (8 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-06">2002-07-04/2002-12-27/P8D,2003-01-01/2003-12-27/P8D,2004-01-01/2004-02-26/P8D,2004-03-06/2004-12-27/P8D,2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-03-06/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_E_CLD_CI"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_E_CLD_CI"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MODAL2_D_CLD_CI</Name>
+          <Title>Cirrus Reflectance (1 day - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-13">2005-01-01/2007-03-13/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_D_CLD_CI"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_D_CLD_CI"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_D_CLD_CI</Name>
+          <Title>Cirrus Reflectance (1 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-13">2002-07-04/2002-07-29/P1D,2002-08-06/2003-05-29/P1D,2003-06-18/2004-02-28/P1D,2004-03-01/2007-01-30/P1D,2007-02-01/2007-03-13/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_D_CLD_CI"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_D_CLD_CI"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Cloud Fraction (MODIS)</Title>
+        <Abstract><![CDATA[<p>Looking at Earth from outer space, clouds are easy to spot. Clouds are draped all around Earth like bright white decorations.  Clouds are important to scientists because they reflect the Sun's light back to space and give shade to the surface.  They also bring rain, which is important because all plants and animals need freshwater to live.  These maps made from NASA satellite observations show how much of Earth's surface is covered by clouds for a given day, or over a span of days.</p>]]></Abstract>
+        <Layer>
+          <Name>MODAL2_M_CLD_FR</Name>
+          <Title>Cloud Fraction (1 month - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-02-01">2005-01-01/2007-02-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_M_CLD_FR"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_M_CLD_FR"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_M_CLD_FR</Name>
+          <Title>Cloud Fraction (1 month - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-02-01">2002-07-01/2007-02-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_M_CLD_FR"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_M_CLD_FR"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MODAL2_E_CLD_FR</Name>
+          <Title>Cloud Fraction (8 day - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-06">2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-03-06/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_E_CLD_FR"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_E_CLD_FR"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_E_CLD_FR</Name>
+          <Title>Cloud Fraction (8 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-06">2002-07-04/2002-12-27/P8D,2003-01-01/2003-12-27/P8D,2004-01-01/2004-02-26/P8D,2004-03-06/2004-12-27/P8D,2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-03-06/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_E_CLD_FR"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_E_CLD_FR"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MODAL2_D_CLD_FR</Name>
+          <Title>Cloud Fraction (1 day - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-13">2005-01-01/2007-03-13/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_D_CLD_FR"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_D_CLD_FR"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_D_CLD_FR</Name>
+          <Title>Cloud Fraction (1 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-13">2002-07-04/2002-07-29/P1D,2002-08-06/2003-05-29/P1D,2003-06-18/2004-02-28/P1D,2004-03-01/2007-01-30/P1D,2007-02-01/2007-03-13/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_D_CLD_FR"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_D_CLD_FR"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Cloud Optical Thickness (MODIS)</Title>
+        <Abstract><![CDATA[<p>More than just the idle stuff of daydreams, clouds help control the flow of light and heat around our world.  Because there are so many clouds spread over such large areas of Earth, they are a very important part of our world's climate system.  Clouds have the ability to cool our planet, or they can help to warm it. Because there are so many different kinds of clouds, and because they move and change so fast, they are hard to understand and even harder to predict.  Scientists want to know how much sunlight clouds reflect and how much sunlight passes through clouds to reach Earth's surface.  By measuring how much sunlight gets scattered by clouds back up into space, scientists can better understand how much clouds influence Earth's climate.</p>]]></Abstract>
+        <Layer>
+          <Name>MODAL2_M_CLD_OT</Name>
+          <Title>Cloud Optical Thickness (1 month - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-02-01">2005-01-01/2007-02-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_M_CLD_OT"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_M_CLD_OT"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_M_CLD_OT</Name>
+          <Title>Cloud Optical Thickness (1 month - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-02-01">2002-07-01/2007-02-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_M_CLD_OT"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_M_CLD_OT"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MODAL2_E_CLD_OT</Name>
+          <Title>Cloud Optical Thickness (8 day - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-06">2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-03-06/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_E_CLD_OT"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_E_CLD_OT"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_E_CLD_OT</Name>
+          <Title>Cloud Optical Thickness (8 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-06">2002-07-04/2002-12-27/P8D,2003-01-01/2003-12-27/P8D,2004-01-01/2004-02-26/P8D,2004-03-06/2004-12-27/P8D,2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-03-06/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_E_CLD_OT"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_E_CLD_OT"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MODAL2_D_CLD_OT</Name>
+          <Title>Cloud Optical Thickness (1 day - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-13">2005-01-01/2007-03-13/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_D_CLD_OT"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_D_CLD_OT"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_D_CLD_OT</Name>
+          <Title>Cloud Optical Thickness (1 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-13">2002-07-04/2002-07-29/P1D,2002-08-06/2004-02-28/P1D,2004-03-01/2007-01-30/P1D,2007-02-01/2007-03-13/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_D_CLD_OT"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_D_CLD_OT"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Cloud Particle Radius (MODIS)</Title>
+        <Abstract><![CDATA[<p>More than just the idle stuff of daydreams, clouds help control the flow of light and heat around our world.  Because there are so many clouds spread over such large areas of Earth, they are a very important part of our world's climate system.  Clouds have the ability to cool our planet, or they can help to warm it. Because there are so many different kinds of clouds, and because they move and change so fast, they are hard to understand and even harder to predict.  Scientists want to know how big the particles are that make up clouds.  Clouds with smaller particles tend to reflect more sunlight and, therefore, cool the Earth.  If that sounds like a good way to combat global warming, consider this: when cloud particles are small, they are less likely to collide with one another often enough to produce raindrops.  So clouds with smaller particles can contribute to drought.  By measuring how much non-visible light (called <em>shortwave infrared</em>) is absorbed by a cloud, scientists can determine how large its particles are.</p>]]></Abstract>
+        <Layer>
+          <Name>MODAL2_M_CLD_RD</Name>
+          <Title>Cloud Particle Radius (1 month - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-02-01">2005-01-01/2007-02-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_M_CLD_RD"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_M_CLD_RD"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_M_CLD_RD</Name>
+          <Title>Cloud Particle Radius (1 month - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-02-01">2002-07-01/2007-02-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_M_CLD_RD"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_M_CLD_RD"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MODAL2_E_CLD_RD</Name>
+          <Title>Cloud Particle Radius (8 day - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-06">2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-03-06/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_E_CLD_RD"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_E_CLD_RD"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_E_CLD_RD</Name>
+          <Title>Cloud Particle Radius (8 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-06">2002-07-04/2002-12-27/P8D,2003-01-01/2003-12-27/P8D,2004-01-01/2004-02-26/P8D,2004-03-06/2004-12-27/P8D,2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-03-06/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_E_CLD_RD"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_E_CLD_RD"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MODAL2_D_CLD_RD</Name>
+          <Title>Cloud Particle Radius (1 day - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-13">2005-01-01/2007-03-13/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_D_CLD_RD"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_D_CLD_RD"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_D_CLD_RD</Name>
+          <Title>Cloud Particle Radius (1 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-13">2002-07-04/2002-07-29/P1D,2002-08-06/2003-05-29/P1D,2003-06-18/2004-02-28/P1D,2004-03-01/2007-01-30/P1D,2007-02-01/2007-03-13/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_D_CLD_RD"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_D_CLD_RD"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>False Color (MODIS)</Title>
+        <Abstract><![CDATA[<p>These images show Earth's surface and clouds in false colors. The images might look a little funny, sort of like a TV picture that needs to be fixed. That's because the images include more than just the red, green, and blue light that our eyes can see, but also infrared light. Infrared light is invisible to our eyes, but not to satellites.  NASA uses satellites in space to gather images like these over the entire planet every day. Scientists use satellite sensors to measure how much infrared light Earth reflects back up into space.  By assigning colors (red, green, or blue) to measurements of infrared light, we can see and understand the resulting pictures -- called "false-color images." In the false-color images available in NEO, areas with plants look bright green while deserts look tan.  Cold things appear blue: the colder something is, the brighter blue it will look. Ice and snow on the ground show up as bright turquoise.  Depending upon how high they are and how cold they are, clouds' colors range from white, to baby blue, to bright turquoise.  Notice how water and clouds in false-color images look very different than they do in true-color images.  Water is very dark, almost black, which makes it much easier to see lakes or flooded lands.</p>]]></Abstract>
+        <Layer>
+          <Name>MOD_721D_RR</Name>
+          <Title>False Color (1 day - Terra/MODIS Rapid Response)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-04-23">2006-09-01/2006-09-14/P1D,2006-09-17/2006-10-10/P1D,2006-10-12/2006-11-18/P1D,2006-11-21/2007-03-01/P1D,2007-03-03/2007-04-23/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MOD_721D_RR"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MOD_721D_RR"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYD_721D_RR</Name>
+          <Title>False Color (1 day - Aqua/MODIS Rapid Response)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-04-23">2006-09-01/2006-09-12/P1D,2006-09-14,2006-09-17/2006-10-10/P1D,2006-10-12/2006-11-13/P1D,2006-11-15/2006-11-18/P1D,2006-11-22/2006-11-26/P1D,2006-11-28/2007-03-05/P1D,2007-03-07/2007-04-23/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYD_721D_RR"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYD_721D_RR"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Global Bathymetry (GEBCO)</Title>
+        <Abstract><![CDATA[<p>Beneath the waters of the world's ocean, the Earth's surface isn't flat like the bottom of a glass or large bowl. There are giant mountain ranges and huge cracks where the ocean floor is ripping apart. Underwater volcanoes are slowly building up into mountains that may one day rise above the sea surface as islands. Because of these features, the depth of the water isn't the same everywhere in the ocean. Bathymetry is the measurement of how deep the water is at various places and the shape of the land underwater. In these maps, different shades of color represent different water depths. The data come from the General Bathymetric Chart of the Oceans, produced by the International Hydrographic Organization (IHO) and the United Nations' (UNESCO) Intergovernmental Oceanographic Commission (IOC).</p>]]></Abstract>
+        <Layer>
+          <Name>GEBCO_BATHY</Name>
+          <Title>Global Bathymetry (GEBCO)</Title>
+          <Dimension units="ISO8601" name="time" default="2002-01-01">2002-01-01</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=GEBCO_BATHY"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=GEBCO_BATHY"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Global Topography (SRTM/RAMP2)</Title>
+        <Abstract><![CDATA[<p>Land topography allows us to make maps of the features of the surface of the Earth. Topographic maps show the location, height, and shape of features like mountains and valleys, rivers, even the craters on volcanoes. Another way to think of topographic maps is that they are a picture of the three-dimensional (3-D) structure of the surface of the Earth. Flat maps can create a 3-D effect by making some parts of the map dark and other parts light. This is called "shading" because it makes features on the surface look like they are casting shadows. This topographic map is made from data collected from three sources: NASA's Space Shuttle, Canada's Radarsat satellite, and topographic maps made by the U.S. Geological Survey.</p>]]></Abstract>
+        <Layer>
+          <Name>SRTM_RAMP2_TOPO</Name>
+          <Title>Global Topography (SRTM/RAMP2)</Title>
+          <Dimension units="ISO8601" name="time" default="2000-02-11">2000-02-11</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=SRTM_RAMP2_TOPO"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=SRTM_RAMP2_TOPO"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Land Cover Classification (MODIS)</Title>
+        <Abstract><![CDATA[<p>Maps help us understand where things are.  Scientists use satellites to make maps of many different things on Earth to help them understand our world and how our world is changing.  Judging by what the land surface looks like, scientists organized Earth into 17 different categories.  Some examples of different types of land surface are cities, farm lands, forests, deserts, and so forth.  Using satellite observations, scientists mapped where on Earth each of these 17 land surface categories can be found.  The different colors on this map show the locations of each type of land surface.  Scientists are monitoring how these land cover types change over time.</p>
+<p><a href="http://earthobservatory.nasa.gov/Newsroom/LCC/Images/lcc_key.jpg" target="_blank" class="external_link">View photo representations of the different classifications</a></p>]]></Abstract>
+        <Layer>
+          <Name>MOD12Q1_T1</Name>
+          <Title>Land Cover Classification (1 year - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2003-01-01">2001-01-01/2003-01-01/P1Y</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MOD12Q1_T1"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MOD12Q1_T1"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Sea Surface Temperature (AMSR-E)</Title>
+        <Abstract><![CDATA[<p>Sea surface temperature is the temperature of the top millimeter of the ocean's surface. Sea surface temperatures influence weather, including hurricanes, as well as plant and animal life in the ocean. Like Earth's land surface, sea surface temperatures are warmer near the equator and colder near the poles. Currents like giant rivers move warm and cold water around the world's oceans. Some of these currents flow on the surface, and they are obvious in sea surface temperature images. Special microwave technology allows the AMSR-E sensor on NASA's Aqua satellite to measure sea surface temperatures through clouds, something no satellite sensor before it was able to do across the whole globe.</p>]]></Abstract>
+        <Layer>
+          <Name>AMSRE_SST_M</Name>
+          <Title>Sea Surface Temperature (1 month - Aqua/AMSR-E)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-01">2002-06-01/2007-03-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=AMSRE_SST_M"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=AMSRE_SST_M"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>AMSRE_SST_W</Name>
+          <Title>Sea Surface Temperature (8 day - Aqua/AMSR-E)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-04-15">2002-06-02/2002-12-27/P8D,2003-01-01/2003-12-27/P8D,2004-01-01/2004-12-26/P8D,2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-04-15/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=AMSRE_SST_W"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=AMSRE_SST_W"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>AMSRE_SST_D</Name>
+          <Title>Sea Surface Temperature (1 day - Aqua/AMSR-E)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-04-23">2002-06-01/2007-03-23/P1D,2007-03-25/2007-04-23/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=AMSRE_SST_D"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=AMSRE_SST_D"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Sea Surface Temperature (MODIS)</Title>
+        <Abstract><![CDATA[<p>The Sun's rays warm the sea's surface.  But in some parts of the ocean, cold water from deep below the surface flows upward and cools the sea's surface.  Just like when water in a pot on a stove starts to move around more as it becomes hotter, different temperatures in different parts of the ocean cause movements of seawater, called <em>currents</em>.  And just like a pot of boiling water on a stove releases heat and water into the air above it, warm ocean waters release heat and moisture into the atmosphere.  Warm ocean waters help form clouds and affect weather patterns.  The sea's surface temperature also affects life in the ocean by influencing where and when tiny ocean plants (called <em>phytoplankton</em>) will grow.  For all of these reasons scientists monitor the sea's surface temperature.  These maps show satellite measurements of the sea's surface temperature for a given day, or for a span of days.  The black areas show where the satellite could not measure sea surface temperature.</p>]]></Abstract>
+        <Layer>
+          <Name>MYD28M</Name>
+          <Title>Sea Surface Temperature (1 month - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-01">2002-07-01/2007-01-01/P1M,2007-03-01</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYD28M"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYD28M"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYD28W</Name>
+          <Title>Sea Surface Temperature (8 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-22">2002-07-04/2002-12-27/P8D,2003-01-01/2003-12-27/P8D,2004-01-01/2004-12-26/P8D,2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-01-25/P8D,2007-02-18/2007-03-22/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYD28W"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYD28W"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYD28D</Name>
+          <Title>Sea Surface Temperature (1 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-04-14">2002-07-04/2002-07-29/P1D,2002-08-06/2003-04-11/P1D,2003-04-13/2003-05-09/P1D,2003-05-11/2003-05-20/P1D,2003-05-22/2003-06-11/P1D,2003-06-13/2007-04-01/P1D,2007-04-03/2007-04-14/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYD28D"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYD28D"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Sea Surface Temperature Anomaly (AMSR-E)</Title>
+        <Abstract><![CDATA[<p>Sea surface temperature is the temperature of the top millimeter of the ocean's surface. An <em>anomaly</em> is when something is different from normal, or average. A sea surface temperature anomaly is how different the ocean temperature at a particular location at a particular time is from the normal temperatures for that place. For example, a global map of sea surface temperature anomaly for May 2006 would show where the temperatures in May 2006 were warmer, cooler, or the same as other Mays in previous years. Sea surface temperature anomalies can happen as part of normal ocean cycles or they can be a sign of long-term climate change, such as global warming.</p>]]></Abstract>
+        <Layer>
+          <Name>AMSRE_SSTAn_M</Name>
+          <Title>Sea Surface Temperature Anomaly (1 month - Aqua/AMSR-E)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-01">2002-06-01/2007-03-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=AMSRE_SSTAn_M"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=AMSRE_SSTAn_M"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>AMSRE_SSTAn_W</Name>
+          <Title>Sea Surface Temperature Anomaly (8 day - Aqua/AMSR-E)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-04-15">2002-06-02/2002-12-27/P8D,2003-01-01/2003-12-27/P8D,2004-01-01/2004-12-26/P8D,2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-04-15/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=AMSRE_SSTAn_W"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=AMSRE_SSTAn_W"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>AMSRE_SSTAn_D</Name>
+          <Title>Sea Surface Temperature Anomaly (1 day - Aqua/AMSR-E)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-04-23">2002-06-01/2007-03-23/P1D,2007-03-25/2007-04-23/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=AMSRE_SSTAn_D"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=AMSRE_SSTAn_D"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Snow Cover (MODIS)</Title>
+        <Abstract><![CDATA[<p>When air temperature falls below freezing (0&deg;Celsius), the water droplets in clouds harden into ice crystals.  Such crystals may grow into large, lacey snowflakes; or they may stick together to form odd-shaped clusters of ice crystals.  When they grow heavy enough, the ice crystals fall to the ground as snow.  If the ground temperature is also below freezing, the snow can build up into a bright white blanket covering the surface.  Snow cover is an important part of Earth's environment.  Because it reflects most of the sunlight that hits it, snow helps to cool Earth's surface.  Many areas of the world rely on snowmelt for drinking water and water for their crops.  So scientists monitor where and how much of Earth's landscape is covered by snow.  In the NASA satellite images shown here, the white areas show lands that were completely snow-covered on the dates shown.  The light green shades show regions in which there was only partial snow cover.  The dark green shows land areas with no snow cover.</p>]]></Abstract>
+        <Layer>
+          <Name>MOD10C1_M_SNOW</Name>
+          <Title>Snow Cover (1 month - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-01">2000-03-01/2007-03-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MOD10C1_M_SNOW"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MOD10C1_M_SNOW"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MOD10C1_E_SNOW</Name>
+          <Title>Snow Cover (8 day - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-04-07">2000-02-18/2000-02-26/P8D,2000-03-06/2000-12-27/P8D,2001-01-01/2001-12-27/P8D,2002-01-01/2002-12-27/P8D,2003-01-01/2003-12-27/P8D,2004-01-01/2004-02-26/P8D,2004-03-06/2004-12-27/P8D,2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-04-07/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MOD10C1_E_SNOW"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MOD10C1_E_SNOW"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MOD10C1_D_SNOW</Name>
+          <Title>Snow Cover (1 day - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-04-14">2000-02-24/2000-02-28/P1D,2000-03-01/2000-08-06/P1D,2000-08-19/2001-04-20/P1D,2001-04-22/2001-06-15/P1D,2001-07-02/2002-03-19/P1D,2002-03-28/2002-04-08/P1D,2002-04-10/2002-04-14/P1D,2002-04-16/2003-05-02/P1D,2003-05-04/2003-11-19/P1D,2003-11-21/2003-12-16/P1D,2003-12-25/2004-02-28/P1D,2004-03-01/2004-08-06/P1D,2004-08-08/2004-12-14/P1D,2004-12-16/2005-05-22/P1D,2005-05-24/2005-08-14/P1D,2005-08-16/2005-08-24/P1D,2005-08-28/2005-09-01/P1D,2005-09-03/2005-09-22/P1D,2005-09-24/2005-12-05/P1D,2005-12-07/2005-12-30/P1D,2006-01-02/2006-01-17/P1D,2006-01-19/2006-11-19/P1D,2006-11-21/2006-11-27/P1D,2006-11-29/2007-04-14/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MOD10C1_D_SNOW"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MOD10C1_D_SNOW"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Total Rainfall (TRMM)</Title>
+        <Abstract><![CDATA[<p>Rainfall is essential for life on Earth.  Rain is a main source of fresh water for plants and animals.  These maps show where and how much rain fell around the world on the dates shown.  Red areas show where there was a lot of rain.  Yellow and green areas show medium values, and white areas show where there was little or no rainfall.  Notice that most rain falls near the equator.  Notice also that more rain falls on the ocean than on land.  The NASA instrument that made these rainfall measurements flies on a satellite orbiting our world near the equator, so it only measures rainfall near the equator and not at high latitudes, nor in Earth's polar regions.</p>]]></Abstract>
+        <Layer>
+          <Name>TRMM_3B43M</Name>
+          <Title>Total Rainfall (1 month - TRMM)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-01">1998-01-01/2007-03-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=TRMM_3B43M"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=TRMM_3B43M"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>TRMM_3B43D</Name>
+          <Title>Total Rainfall (1 day - TRMM)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-30">1997-12-31/2004-02-27/P1D,2004-02-29/2007-03-30/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=TRMM_3B43D"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=TRMM_3B43D"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>True Color (MODIS)</Title>
+        <Abstract><![CDATA[<p>These images show Earth's surface and clouds in true color, like a photograph.  Earth is a beautiful and fascinating place.  It's fun to explore our home planet.  NASA is a world leader in Earth exploration.  NASA uses satellites in space to gather images like these over the whole world every day.  Scientists use these images to track changes on Earth's surface.  Notice the shapes and patterns of the colors across the lands.  Dark green areas show where there are many plants.  Brown areas are where the satellite sensor sees more of the bare land surface because there are few plants.  White areas are either snow or clouds.  Where on Earth would you like to explore?</p>]]></Abstract>
+        <Layer>
+          <Name>MOD_143D_RR</Name>
+          <Title>True Color (1 day - Terra/MODIS Rapid Response)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-04-23">2006-09-01/2006-09-14/P1D,2006-09-17/2006-10-10/P1D,2006-10-12/2006-11-18/P1D,2006-11-21/2007-03-01/P1D,2007-03-03/2007-04-23/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MOD_143D_RR"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MOD_143D_RR"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYD_143D_RR</Name>
+          <Title>True Color (1 day - Aqua/MODIS Rapid Response)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-04-23">2006-09-01/2006-09-12/P1D,2006-09-14,2006-09-17/2006-10-10/P1D,2006-10-12/2006-11-13/P1D,2006-11-15/2006-11-18/P1D,2006-11-22/2007-03-05/P1D,2007-03-07/2007-04-23/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYD_143D_RR"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYD_143D_RR"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Water Leaving Radiance (MODIS)</Title>
+        <Abstract><![CDATA[<p>Earth absorbs some of the Sun's light and reflects the rest back to space.  Scientists can learn a lot about objects on Earth by observing how much sunlight the object reflects, and by observing the color of the light the object reflects.  Scientists use satellites to observe the color of the light reflected by the ocean to help them understand what is in the surface waters.  This measure is called <em>water-leaving radiance</em>.  Things like tiny plants (called phytoplankton) and sediments (like mud or sand) change the color of the ocean.  Judging by the amount and color of the light it reflects, scientists can learn a lot about what is in the ocean.  These maps made from a NASA satellite's measurements show how much light the ocean reflects, as well as the color, for a given day or span of days.  Black areas show where the satellite could not measure the reflected light.</p>]]></Abstract>
+        <Layer>
+          <Name>MY1DMM_NLW_551</Name>
+          <Title>Water Leaving Radiance (1 month - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-01">2002-07-01/2007-01-01/P1M,2007-03-01</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MY1DMM_NLW_551"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MY1DMM_NLW_551"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MY1DMW_NLW_551</Name>
+          <Title>Water Leaving Radiance (8 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-30">2002-07-04/2002-12-27/P8D,2003-01-01/2003-12-27/P8D,2004-01-01/2004-12-26/P8D,2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-02-02/P8D,2007-02-18/2007-03-30/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MY1DMW_NLW_551"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MY1DMW_NLW_551"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MY1DMD_NLW_551</Name>
+          <Title>Water Leaving Radiance (1 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-04-14">2002-07-04/2002-07-29/P1D,2002-08-06/2006-08-05/P1D,2006-08-08/2006-08-10/P1D,2006-08-12/2006-08-14/P1D,2006-08-16/2007-02-12/P1D,2007-02-15/2007-04-14/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MY1DMD_NLW_551"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MY1DMD_NLW_551"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+      <Layer>
+        <Title>Water Vapor (MODIS)</Title>
+        <Abstract><![CDATA[<p>Depending upon its temperature, water comes in three different forms: solid (ice), liquid (rain drops), and gas (invisible to human eyes).  As water grows hotter it eventually changes from a liquid into a gas.  This gas is called <em>water vapor</em>.  Water vapor is a very important part of Earth's atmosphere because it traps heat near the surface and keeps our planet warm.  Water vapor is also important because as it rises into the atmosphere it cools and turns back into water droplets.  As more water droplets appear, they eventually form a cloud.  Some clouds produce rain and snow, bringing fresh water back to the surface.  So scientists monitor water vapor because it influences Earth's weather patterns, and because it is a very important part of our world's climate system.  These maps show satellite measurements of water vapor for a given day, or over a span of days.</p>]]></Abstract>
+        <Layer>
+          <Name>MODAL2_M_SKY_WV</Name>
+          <Title>Water Vapor (1 month - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-02-01">2005-01-01/2007-02-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_M_SKY_WV"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_M_SKY_WV"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_M_SKY_WV</Name>
+          <Title>Water Vapor (1 month - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-02-01">2002-07-01/2007-02-01/P1M</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_M_SKY_WV"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_M_SKY_WV"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MODAL2_E_SKY_WV</Name>
+          <Title>Water Vapor (8 day - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-06">2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-03-06/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_E_SKY_WV"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_E_SKY_WV"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_E_SKY_WV</Name>
+          <Title>Water Vapor (8 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-06">2002-07-04/2002-12-27/P8D,2003-01-01/2003-12-27/P8D,2004-01-01/2004-02-26/P8D,2004-03-06/2004-12-27/P8D,2005-01-01/2005-12-27/P8D,2006-01-01/2006-12-27/P8D,2007-01-01/2007-03-06/P8D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_E_SKY_WV"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_E_SKY_WV"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MODAL2_D_SKY_WV</Name>
+          <Title>Water Vapor (1 day - Terra/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-13">2005-01-01/2007-03-13/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MODAL2_D_SKY_WV"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MODAL2_D_SKY_WV"/>
+          </DataURL>
+        </Layer>
+        <Layer>
+          <Name>MYDAL2_D_SKY_WV</Name>
+          <Title>Water Vapor (1 day - Aqua/MODIS)</Title>
+          <Dimension units="ISO8601" name="time" default="2007-03-13">2002-07-04/2002-07-29/P1D,2002-08-06/2003-05-29/P1D,2003-06-18/2004-02-28/P1D,2004-03-01/2007-01-30/P1D,2007-02-01/2007-03-13/P1D</Dimension>
+          <MetadataURL type="FGDC">
+            <Format>text/xml</Format>
+            <OnlineResource xlink:href="http://neo.sci.gsfc.nasa.gov/FGDCMetadata?datasetId=MYDAL2_D_SKY_WV"/>
+          </MetadataURL>
+          <DataURL>
+            <Format>text/html</Format>
+            <OnlineResource xlink:type="simple" xlink:href="http://neo.sci.gsfc.nasa.gov/Search.html?datasetId=MYDAL2_D_SKY_WV"/>
+          </DataURL>
+        </Layer>
+      </Layer>
+    </Layer>
+  </Capability>
+</WMS_Capabilities>
\ No newline at end of file
Index: lib/spatial/mapbuilder/examples/timeSeries/tsIFGITemp.xml
===================================================================
--- lib/spatial/mapbuilder/examples/timeSeries/tsIFGITemp.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/timeSeries/tsIFGITemp.xml	(revision 4307)
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<ViewContext version="1.0.0" id="timeSeriesDemo" 
+    xmlns="http://www.opengis.net/context" 
+    xmlns:xlink="http://www.w3.org/1999/xlink" 
+    xmlns:xsi="http://www.w3.org01/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="440" height="240"/>
+    <BoundingBox SRS="EPSG:4326" miny="55" maxy="85" maxx="60" minx="5"/>
+    <Title>Monthly Mean Temperature</Title>
+    <Abstract>Web Map Server maintained for BALANCE Project by Institute for Geoinformatics, University of Muenster.  Contact: tegtmeyer@uni-muenster.de.</Abstract>
+        <KeywordList>
+            <Keyword>Barents Sea</Keyword>
+            <Keyword>arctic</Keyword>
+            <Keyword>climate</Keyword>
+            <Keyword>BALANCE</Keyword>
+        </KeywordList>
+    <DescriptionURL format="text/html">
+        <OnlineResource xlink:href="http://www.balance-eu.info" xlink:type="simple"/>
+    </DescriptionURL>
+        <ContactInformation>
+            <ContactPersonPrimary>
+                <ContactPerson>Sascha Tegtmeyer</ContactPerson>
+                <ContactOrganization>IFGI</ContactOrganization>
+            </ContactPersonPrimary>
+            <ContactPosition>Student</ContactPosition>
+            <ContactAddress>
+                <AddressType>postal</AddressType>
+                <Address>Robert-Koch-Str. 26-28 </Address>
+                <City>Muenster</City>
+                <StateOrProvince>NRW</StateOrProvince>
+                <PostCode>48145</PostCode>
+                <Country>Germany</Country>
+            </ContactAddress>
+            <ContactVoiceTelephone/>
+            <ContactElectronicMailAddress>tegtmeyer@uni-muenster.de</ContactElectronicMailAddress>
+        </ContactInformation>
+  </General>
+  <LayerList>
+    <Layer queryable="1" hidden="0">
+      <Server service="wms" version="1.1.1" title="BALANCE Visualization Server">
+        <OnlineResource xlink:type="simple" xlink:href="http://triangulum.uni-muenster.de:8080/cdd/wms"/>
+      </Server>
+                    <Name>TEMPERATURE</Name>
+                    <Title>Monthly Mean Temperature</Title>
+                    <Abstract>Monthly Mean Temperature from REMO</Abstract>
+      <DimensionList>
+                    <!--Extent nearestValue="0" default="2005-04" name="time">1962-01/2098-12/P1M</Extent-->
+        <Dimension name="time" units="ISO8601" nearestValue="1">1962-01/2005-12/P1M</Dimension>
+      </DimensionList>
+      <MetadataURL format="text/xml">
+        <OnlineResource xlink:type="simple" xlink:href="http://geo-hermes.uni-muenster.de:8080/balance/servlet/de.ifgi.wmsclient.balance.util.LegendServlet?HEIGHT=25&amp;WIDTH=95&amp;MIN=%3C%3D+-30&amp;MAX=%3E+30&amp;FONTSIZE=12&amp;FONTWEIGHT=BOLD&amp;COLORS=%23000033,%234169E1,%230FDDAF,%23FFFF00,%23FFA500,%23FF0000,%23CD0000,%23660000"/>
+      </MetadataURL>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+      <StyleList>
+                    <Style>
+                        <Name>default</Name>
+                        <Title>default</Title>
+                        <LegendURL width="75" height="20">
+                            <Format>image/png</Format>
+                            <OnlineResource ns5:href="http://geo-hermes.uni-muenster.de:8080/balance/servlet/de.ifgi.wmsclient.balance.util.LegendServlet?HEIGHT=25&amp;WIDTH=95&amp;MIN=%3C%3D+-30&amp;MAX=%3E+30&amp;FONTSIZE=12&amp;FONTWEIGHT=BOLD&amp;COLORS=%23000033,%234169E1,%230FDDAF,%23FFFF00,%23FFA500,%23FF0000,%23CD0000,%23660000" ns5:type="simple" xmlns:ns5="http://www.w3.org/1999/xlink"/>
+                        </LegendURL>
+                    </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>coast</Name>
+      <Title>coastline</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/flickr/flickrconfig.xml
===================================================================
--- lib/spatial/mapbuilder/examples/flickr/flickrconfig.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/flickr/flickrconfig.xml	(revision 4307)
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="VMAP" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" 
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+  xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+	<models>
+
+	<StyledLayerDescriptor id="sld">
+		<defaultModelUrl>sld.xml</defaultModelUrl>
+	</StyledLayerDescriptor>
+
+		<OwsContext id="mainMap">
+			<defaultModelUrl>DemisWorldMap.xml</defaultModelUrl>
+			<widgets>
+				<MapPaneOL id="mainMapWidget">
+					<htmlTagId>mainMapPane</htmlTagId>
+			<fixedSize>true</fixedSize>
+				</MapPaneOL>
+				<!--Loading id="loading"/-->
+				<CursorTrack id="cursorTrack">
+					 <showPx>true</showPx>
+           <showLatLong>true</showLatLong>
+					 <showMGRS>false</showMGRS>
+				</CursorTrack>
+			</widgets>
+    </OwsContext>
+	
+    <FeatureCollection id="geoRSS">
+      <widgets>
+        <TipWidgetOL id="featurePopup">
+          <stylesheet>popup.xsl</stylesheet>
+          <width>275</width>
+          <height>137</height>
+          <opacity>0.8</opacity>
+          <backgroundColor>#D0D0D0</backgroundColor>
+          <border>1px solid black</border>
+        </TipWidgetOL>
+        <GmlRendererOL id="testGmlRenderer">
+          <targetModel>mainMap</targetModel>
+          <sldModel>sld</sldModel>
+          <defaultStyleName>default</defaultStyleName>
+          <selectStyleName>selected</selectStyleName>
+          <hoverCursor>pointer</hoverCursor>
+          <featureOnClick>featurePopup</featureOnClick>
+        </GmlRendererOL>
+        <Widget id="eventsListing">
+           <stylesheet>WfsListing.xsl</stylesheet>
+           <parseHTMLNodes>true</parseHTMLNodes>
+        </Widget>
+      </widgets>
+      <tools>
+        <FlickrRest2Wfs id="flickrrest2wfs">
+          <scriptFile>FlickrRest2Wfs.js</scriptFile>
+          <url>http://www.flickr.com/services/rest?method=flickr.photos.search&amp;api_key=afbacfb4d14cd681c04a06d69b24d847&amp;user_id=15435549%40N00</url>
+          <stylesheet>FlickrRest2Wfs.xsl</stylesheet>
+        </FlickrRest2Wfs>
+        <FeatureSelectHandler id="featureHighlighter">
+          <targetModel>mainMap</targetModel>
+        </FeatureSelectHandler>
+      </tools>
+      <namespace>xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs' xmlns:topp='http://www.openplans.org/topp'</namespace>
+    </FeatureCollection>
+
+<!--    <GeoRSS id="geoRSS"> -->
+<!--      <defaultModelUrl>http://www.flickr.com/services/rest?method=flickr.photos.search&amp;api_key=afbacfb4d14cd681c04a06d69b24d847&amp;user_id=15435549%40N00</defaultModelUrl>-->
+<!--      <widgets>-->
+<!--        -->
+<!--        <TipWidget id="rssRendererTip"> -->
+<!--          <leftOffset>-40</leftOffset>-->
+<!--          <topOffset>-80</topOffset>-->
+<!--          <command>overlib(text, STICKY, BUBBLE, BUBBLETYPE,'square', RELX, x, RELY, y, WRAP)</command>-->
+<!--        </TipWidget> -->
+<!-- -->
+<!--        <GeoRssParser id="geoRssParser">-->
+<!--          <htmlTagId>mainMapPane</htmlTagId>-->
+<!--          <targetModel>mainMap</targetModel>-->
+<!--          <stylesheet>rss2ows.xsl</stylesheet>-->
+<!--          <mapContainerId>mainMapContainer</mapContainerId>-->
+<!--          <tipWidget>rssRendererTip</tipWidget>-->
+<!--         </GeoRssParser>-->
+<!--        -->
+<!--      </widgets>-->
+<!--      <namespace>xmlns:media='http://search.yahoo.com/mrss' xmlns:atom='http://www.w3.org/2005/Atom' xmlns:georss='http://www.georss.org/rss' xmlns:gml='http://www.opengis.net/gml/3.1.1' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:rss='http://purl.org/rss/1.0/' xmlns:taxo='http://purl.org/rss/1.0/modules/taxonomy/' xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:syn='http://purl.org/rss/1.0/modules/syndication/' xmlns:geo='http://www.w3.org/2003/01/geo/wgs84_pos#' xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink"</namespace>-->
+<!--      <nodeSelectXpath>/rsp/photos/photo</nodeSelectXpath>-->
+<!--    </GeoRSS>-->
+		
+	</models>
+	<widgets>
+		<ZoomIn id="zoomIn">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>RadioButton</class>
+			<selected>true</selected>
+			<enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+			<disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+		</ZoomIn>
+		<ZoomOut id="zoomOut">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>RadioButton</class>
+			<enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+			<disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+		</ZoomOut>
+		<DragPan id="dragPan">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>RadioButton</class>
+			<enabledSrc>/images/PanEnable.png</enabledSrc>
+			<disabledSrc>/images/PanDisable.png</disabledSrc>
+		</DragPan>
+		<SetAoi id="setAoi">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>RadioButton</class>
+			<enabledSrc>/images/SetAoiEnable.png</enabledSrc>
+			<disabledSrc>/images/SetAoiDisable.png</disabledSrc>
+		</SetAoi>
+		<Reset id="reset">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>Button</class>
+			<disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+		</Reset>
+     <ExampleList id="exampleList"><!-- this is the widget that draws the example menu -->
+		<scriptFile>../ExampleList.js</scriptFile>
+		<stylesheet>../ExampleList.xsl</stylesheet>
+    </ExampleList>
+    
+	</widgets>
+	<skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/timeSeries/NASAwms.xml
===================================================================
--- lib/spatial/mapbuilder/examples/timeSeries/NASAwms.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/timeSeries/NASAwms.xml	(revision 4307)
@@ -0,0 +1,24386 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSPY v5 U (http://www.xmlspy.com) by Tom Kralidis (NRCAN CCRs) -->
+<WMS_Capabilities version="1.3.0" updateSequence="20061113-012702" xmlns="http://www.opengis.net/wms" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wms http://svs.gsfc.nasa.gov/capabilities_1_3_0.xsd">
+	<Service>
+		<Name>WMS</Name>
+		<Title>NASA SVS Image Server</Title>
+		<Abstract>Web Map Server maintained by the Scientific Visualization Studio at NASA's Goddard Space Flight Center</Abstract>
+		<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/"/>
+		<ContactInformation>
+			<ContactPersonPrimary>
+				<ContactPerson>Horace Mitchell</ContactPerson>
+				<ContactOrganization>NASA</ContactOrganization>
+			</ContactPersonPrimary>
+			<ContactPosition>Scientific Visualization Studio Director</ContactPosition>
+			<ContactAddress>
+				<AddressType>postal</AddressType>
+				<Address>NASA Goddard Space Flight Center, Code 930</Address>
+				<City>Greenbelt</City>
+				<StateOrProvince>MD</StateOrProvince>
+				<PostCode>20771</PostCode>
+				<Country>USA</Country>
+			</ContactAddress>
+			<ContactVoiceTelephone>+1 301 286-4030</ContactVoiceTelephone>
+			<ContactElectronicMailAddress/>
+		</ContactInformation>
+		<Fees>none</Fees>
+		<AccessConstraints>none</AccessConstraints>
+		<LayerLimit>1</LayerLimit>
+	</Service>
+	<Capability>
+		<Request>
+			<GetCapabilities>
+				<Format>text/xml</Format>
+				<DCPType>
+					<HTTP>
+						<Get>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/cgi-bin/wms?"/>
+						</Get>
+					</HTTP>
+				</DCPType>
+			</GetCapabilities>
+			<GetMap>
+				<Format>image/png</Format>
+				<DCPType>
+					<HTTP>
+						<Get>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/cgi-bin/wms?"/>
+						</Get>
+					</HTTP>
+				</DCPType>
+			</GetMap>
+		</Request>
+		<Exception>
+			<Format>XML</Format>
+		</Exception>
+		<Layer>
+			<Title>NASA SVS Image Server</Title>
+			<Attribution>
+				<Title>NASA Goddard Space Flight Center Scientific Visualization Studio</Title>
+				<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/"/>
+			</Attribution>
+			<Layer>
+				<Title>Agriculture</Title>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Wildfire Growth around Yellowstone National Park in 1988</Title>
+					<Abstract>During the summer of 1988, wildfires burned about 1.4 million acres in and around Yellowstone National Park.  Spurred by the driest summer in park history, the fires started in early July and lasted until early October.  The worst day was August 20, when tremendous winds pushed the fires to burn over 150,000 acres.  Although the scars from these fires are still visible in Landsat imagery from space over ten years later, the patchwork nature of the fire footprint left many unburned areas from which plant species have regenerated very successfully.  This animation shows how the fires progressed in the period from June 30 though October 2, 1988, by which time the fall rain and snow had stopped the fire growth.  These maps are based on daily ground observations by fire lookouts in the park and by infrared imaging cameras flown over the park at night.  These observations are considered accurate to within about 100 meters.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="DLESE">Physical geography</Keyword>
+						<Keyword vocabulary="SVS">Yellowstone National Park</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Agriculture:Forest Science:Forest Fire Science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Ecological Dynamics:Fire Occurrence</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Fires</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002909/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002909/a002909.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://sagemap.wr.usgs.gov/ftp/wyoming/NPS/yell_fire88perim.htm"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2909_17518</Name>
+						<Title>Wildfire Growth around Yellowstone National Park in 1988 (1024x1024 Animation)</Title>
+						<Abstract>During the summer of 1988, wildfires burned about 1.4 million acres in and around Yellowstone National Park.  Spurred by the driest summer in park history, the fires started in early July and lasted until early October.  The worst day was August 20, when tremendous winds pushed the fires to burn over 150,000 acres.  Although the scars from these fires are still visible in Landsat imagery from space over ten years later, the patchwork nature of the fire footprint left many unburned areas from which plant species have regenerated very successfully.  This animation shows how the fires progressed in the period from June 30 though October 2, 1988, by which time the fall rain and snow had stopped the fire growth.  These maps are based on daily ground observations by fire lookouts in the park and by infrared imaging cameras flown over the park at night.  These observations are considered accurate to within about 100 meters.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Yellowstone National Park</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Agriculture:Forest Science:Forest Fire Science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Ecological Dynamics:Fire Occurrence</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Fires</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-111.4</westBoundLongitude>
+							<eastBoundLongitude>-109.4</eastBoundLongitude>
+							<southBoundLatitude>43.868</southBoundLatitude>
+							<northBoundLatitude>45.4</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-111.4" miny="43.868" maxx="-109.4" maxy="45.4"/>
+						<Dimension name="time" units="ISO8601" default="1988-10-02">1988-06-30/1988-10-02/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002909/a002909.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://sagemap.wr.usgs.gov/ftp/wyoming/NPS/yell_fire88perim.htm"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the progression of the fires in and around Yellowstone National Park during the summer of 1988, overlayed on a false-color image from Landsat 7..  Independent fires are shown in different colors, and the most recently burned areas are shown in a brighter color.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="100">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002909/firelegend.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the progression of the fires in and around Yellowstone National Park during the summer of 1988, overlayed on a false-color image from Landsat 7..  Independent fires are shown in different colors, and the most recently burned areas are shown in a brighter color.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="100">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002909/firelegend.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2909_17518_bg</Name>
+						<Title>Background Image for Wildfire Growth around Yellowstone National Park in 1988 (WMS)</Title>
+						<Abstract>During the summer of 1988, wildfires burned about 1.4 million acres in and around Yellowstone National Park.  Spurred by the driest summer in park history, the fires started in early July and lasted until early October.  The worst day was August 20, when tremendous winds pushed the fires to burn over 150,000 acres.  Although the scars from these fires are still visible in Landsat imagery from space over ten years later, the patchwork nature of the fire footprint left many unburned areas from which plant species have regenerated very successfully.  This animation shows how the fires progressed in the period from June 30 though October 2, 1988, by which time the fall rain and snow had stopped the fire growth.  These maps are based on daily ground observations by fire lookouts in the park and by infrared imaging cameras flown over the park at night.  These observations are considered accurate to within about 100 meters.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Yellowstone National Park</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Agriculture:Forest Science:Forest Fire Science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Ecological Dynamics:Fire Occurrence</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Fires</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-111.4</westBoundLongitude>
+							<eastBoundLongitude>-109.4</eastBoundLongitude>
+							<southBoundLatitude>43.868</southBoundLatitude>
+							<northBoundLatitude>45.4</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-111.4" miny="43.868" maxx="-109.4" maxy="45.4"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002909/a002909.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://sagemap.wr.usgs.gov/ftp/wyoming/NPS/yell_fire88perim.htm"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>African Fires during 2002</Title>
+					<Abstract>This animation shows fire activity in Africa from January 1, 2002 to December 31, 2002.  The fires are shown as tiny particles with each particle depicting the geographic region in which fire was detected.  The color of a particle represents the number of days since a sizable amount of fire was detected in that region, with red representing less than 20 days, orange representing 20 to 40 days, yellow representing 40 to 60 days, and gray to black representing more than 60 days.  This data was measured by the MODIS instrument on the Terra satellite.  MODIS detects fires by measuring the brightness temperature of a region in several frequency bands and looking for hot spots where this temperature is greater than the surrounding region.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Forestry</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Agriculture:Forest Science:Forest Fire Science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Ecological Dynamics:Fire Occurrence</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Fires</Keyword>
+						<Keyword vocabulary="GCMD">Location:Africa</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002890/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002890/a002890.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://rapidfire.sci.gsfc.nasa.gov/"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2890_17402</Name>
+						<Title>African Fires during 2002 (1024x1024 Animation)</Title>
+						<Abstract>This animation shows fire activity in Africa from January 1, 2002 to December 31, 2002.  The fires are shown as tiny particles with each particle depicting the geographic region in which fire was detected.  The color of a particle represents the number of days since a sizable amount of fire was detected in that region, with red representing less than 20 days, orange representing 20 to 40 days, yellow representing 40 to 60 days, and gray to black representing more than 60 days.  This data was measured by the MODIS instrument on the Terra satellite.  MODIS detects fires by measuring the brightness temperature of a region in several frequency bands and looking for hot spots where this temperature is greater than the surrounding region.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Forestry</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Agriculture:Forest Science:Forest Fire Science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Ecological Dynamics:Fire Occurrence</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Fires</Keyword>
+							<Keyword vocabulary="GCMD">Location:Africa</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-22</westBoundLongitude>
+							<eastBoundLongitude>58</eastBoundLongitude>
+							<southBoundLatitude>-39</southBoundLatitude>
+							<northBoundLatitude>41</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-22" miny="-39" maxx="58" maxy="41"/>
+						<Dimension name="time" units="ISO8601" default="2002-12-31">2002-01-01/2002-12-31/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002890/a002890.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://rapidfire.sci.gsfc.nasa.gov/"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows fire activity in Africa during 2002.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002890/firebar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows fire activity in Africa during 2002.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002890/firebar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2890_17402_bg</Name>
+						<Title>Background Image for African Fires during 2002 (WMS)</Title>
+						<Abstract>This animation shows fire activity in Africa from January 1, 2002 to December 31, 2002.  The fires are shown as tiny particles with each particle depicting the geographic region in which fire was detected.  The color of a particle represents the number of days since a sizable amount of fire was detected in that region, with red representing less than 20 days, orange representing 20 to 40 days, yellow representing 40 to 60 days, and gray to black representing more than 60 days.  This data was measured by the MODIS instrument on the Terra satellite.  MODIS detects fires by measuring the brightness temperature of a region in several frequency bands and looking for hot spots where this temperature is greater than the surrounding region.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Forestry</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Agriculture:Forest Science:Forest Fire Science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Ecological Dynamics:Fire Occurrence</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Fires</Keyword>
+							<Keyword vocabulary="GCMD">Location:Africa</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-22</westBoundLongitude>
+							<eastBoundLongitude>58</eastBoundLongitude>
+							<southBoundLatitude>-39</southBoundLatitude>
+							<northBoundLatitude>41</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-22" miny="-39" maxx="58" maxy="41"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002890/a002890.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://rapidfire.sci.gsfc.nasa.gov/"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+			</Layer>
+			<Layer>
+				<Title>Atmosphere</Title>
+				<Layer opaque="1" noSubsets="1" fixedWidth="644" fixedHeight="289">
+					<Name>3338_24550</Name>
+					<Title>Tropospheric Ozone Impacts Global Climate Warming (644x289 Animation)</Title>
+					<Abstract>In the first global assessment of the impact of ozone on climate warming, scientists at the NASA Goddard Institute for Space Studies (GISS), New York, evaluated how ozone in the lowest part of the atmosphere (the troposphere)  changed temperatures over the past 100 years. Using the best available estimates of global emissions of gases that create ozone, the GISS computer model study reveals how much this single air pollutant and greenhouse gas has contributed to warming in specific regions of the world.
+
+Ozone was responsible for one-third to half of the observed warming trend in the Arctic during winter and spring, according to the new research. Ozone is transported from the industrialized countries in the Northern Hemisphere to the Arctic quite efficiently during these seasons. The findings will be published soon in the American Geophysical Union's Journal of Geophysical Research-Atmospheres.
+
+The impact of ozone air pollution on climate warming is difficult to pinpoint because, unlike other greenhouse gases such as carbon dioxide, ozone does not last long enough in the lower atmosphere to spread uniformly around the globe. Its warming impact is much more closely tied to the region it originated from. To capture this complex picture, the GISS scientists used a suite of three-dimensional computer models that starts with data on ozone sources and then tracks how ozone chemically evolved and moved around the world over the past century.
+
+The research was supported by NASA's Atmospheric Chemistry Modeling and Analysis Program.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Air Temperature Indices</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Oxygen Compounds:Ozone</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="1994-">1884-/1994-/P1Y</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003338/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003338/a003338.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows anomalous global temperature averages from December through May in the years 1880 through 2000.  </Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003338/temperature_colortable.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3306_24146</Name>
+					<Title>2005 Hurricanes: Clouds and Sea Surface Temperature (1024x512 Animation)</Title>
+					<Abstract>This visualization shows sea surface temperatures during most of the 2005 hurricane season.  Overlaid are infrared cloud data, storm track data, and storm name labels.  Warm ocean waters provide the heat energy that fuels hurricanes.  Notice the correspondence between the storm tracks and the sea surface temperature response; this is particulary noticeable for hurricanes Dennis, Emily, and Katrina, where the hurricanes churn up the ocean so that cooler water rises to the surface.  This version shows the entire Atlantic hurricane region and depicts all of the 2005 hurricanes except Zeta, which appeared at the very end of the year.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-100</westBoundLongitude>
+						<eastBoundLongitude>0</eastBoundLongitude>
+						<southBoundLatitude>0</southBoundLatitude>
+						<northBoundLatitude>50</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-100" miny="0" maxx="0" maxy="50"/>
+					<Dimension name="time" units="ISO8601" default="2005-12-12T18Z">2005-06-01T00Z/2005-12-12T18Z/PT6H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003306/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003306/a003306.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>The 2005 hurricane season showing sea surface temperatures, clouds, and named storm tracks.  Cloud data comes from GOES-12 and sea surface temperature comes from AMSR-E.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003306/sst2005_cbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3255_22652</Name>
+					<Title>Aqua MODIS Imagery of Hurricane Katrina (1024x1024 Animation)</Title>
+					<Abstract>Low earth-orbiting satellites, such as Aqua, usually see any place on Earth no more than once a day.  This daily sequence of color images from the MODIS instrument on Aqua shows the Gulf of Mexico during the period of Hurricane Katrina, from August 23 to August 30, 2005.  The gaps in the MODIS imagery occur between successive orbits, about 90 minutes apart, and are filled in in this animation using high-resolution visible imagery from GOES-12.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-100</westBoundLongitude>
+						<eastBoundLongitude>-70</eastBoundLongitude>
+						<southBoundLatitude>10</southBoundLatitude>
+						<northBoundLatitude>40</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-70" maxy="40"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T17:45Z">2005-08-23T17:45Z/2005-08-30T17:45Z/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003255/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003255/a003255.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Imagery of Hurricane Katrina from August 23, 2005 to August 30, 2005 from the MODIS Instrument on the Aqua satellite.  Gaps in the MODIS imagery have been filled in with visible imagery from GOES-12.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3254_22657</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Visible Close-up (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  The Imager takes a pattern of pictures of parts of the Earth in several wavelengths all day, measurements that are vital in weather forecasting.  This animation shows a daily sequence of GOES-12 images in the visible wavelengths, from 0.52 to 0.72 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  At one kilometer resolution, the visible band measurement is the highest resolution data from the Imager, which accounts for the very high level of detail in these images.  For this animation, the cloud data was extracted from GOES image and laid over a background color image of the southeast United States.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-100</westBoundLongitude>
+						<eastBoundLongitude>-70</eastBoundLongitude>
+						<southBoundLatitude>10</southBoundLatitude>
+						<northBoundLatitude>40</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-70" maxy="40"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T17:45Z">2005-08-23T17:45Z/2005-08-30T17:45Z/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003254/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003254/a003254.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Imagery of Hurricane Katrina from August 23, 2005 to August 30, 2005 from the Imager instrument on GOES-12.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>TRMM Microwave Measurements during Hurricane Katrina: Horizontal Polarization</Title>
+					<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows eight days of global TMI 85 GHz measurements in the Gulf of Mexico during Hurricane Katrina.  The hurricane Katrina rainbands clearly show up in these images.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003250/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003250/a003250.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3250_22668</Name>
+						<Title>TRMM Microwave Measurements during Hurricane Katrina: Horizontal Polarization (512x512 Animation)</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows eight days of global TMI 85 GHz measurements in the Gulf of Mexico during Hurricane Katrina.  The hurricane Katrina rainbands clearly show up in these images.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-100</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>10</southBoundLatitude>
+							<northBoundLatitude>40</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-70" maxy="40"/>
+						<Dimension name="time" units="ISO8601" default="2005-08-30T22Z">2005-08-22T24Z,2005-08-23T05Z,2005-08-23T23Z,2005-08-24T06Z,2005-08-24T22Z,2005-08-25T05Z,2005-08-25T23Z,2005-08-26T04Z,2005-08-26T22Z,2005-08-27T04Z,2005-08-27T21Z,2005-08-28T04Z,2005-08-28T22Z,2005-08-29T03Z,2005-08-29T22Z,2005-08-30T02Z,2005-08-30T22Z</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003250/a003250.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Horizontally polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 22, 2005 through August 30, 2005, during Hurricane Katrina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003250/tmi_85_bar2.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Horizontally polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 22, 2005 through August 30, 2005, during Hurricane Katrina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003250/tmi_85_bar2.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3250_22668_bg</Name>
+						<Title>Background Image for TRMM Microwave Measurements during Hurricane Katrina: Horizontal Polarization</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows eight days of global TMI 85 GHz measurements in the Gulf of Mexico during Hurricane Katrina.  The hurricane Katrina rainbands clearly show up in these images.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-100</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>10</southBoundLatitude>
+							<northBoundLatitude>40</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-70" maxy="40"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003250/a003250.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>TRMM Microwave Measurements during Hurricane Katrina: Vertical Polarization</Title>
+					<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows eight days of global TMI 85 GHz measurements in the Gulf of Mexico during Hurricane Katrina.  The hurricane Katrina rainbands clearly show up in these images.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003249/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003249/a003249.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3249_22662</Name>
+						<Title>TRMM Microwave Measurements during Hurricane Katrina: Vertical Polarization (512x512 Animation)</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows eight days of global TMI 85 GHz measurements in the Gulf of Mexico during Hurricane Katrina.  The hurricane Katrina rainbands clearly show up in these images.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-100</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>10</southBoundLatitude>
+							<northBoundLatitude>40</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-70" maxy="40"/>
+						<Dimension name="time" units="ISO8601" default="2005-08-30T22Z">2005-08-22T24Z,2005-08-23T05Z,2005-08-23T23Z,2005-08-24T06Z,2005-08-24T22Z,2005-08-25T05Z,2005-08-25T23Z,2005-08-26T04Z,2005-08-26T22Z,2005-08-27T04Z,2005-08-27T21Z,2005-08-28T04Z,2005-08-28T22Z,2005-08-29T03Z,2005-08-29T22Z,2005-08-30T02Z,2005-08-30T22Z</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003249/a003249.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Vertically polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 22, 2005 through August 30, 2005, during Hurricane Katrina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003249/tmi_85_bar2.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Vertically polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 22, 2005 through August 30, 2005, during Hurricane Katrina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003249/tmi_85_bar2.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3249_22662_bg</Name>
+						<Title>Background Image for TRMM Microwave Measurements during Hurricane Katrina: Vertical Polarization</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows eight days of global TMI 85 GHz measurements in the Gulf of Mexico during Hurricane Katrina.  The hurricane Katrina rainbands clearly show up in these images.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-100</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>10</southBoundLatitude>
+							<northBoundLatitude>40</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-70" maxy="40"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003249/a003249.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>TRMM Microwave Brightness Temperature Progression during Hurricane Katrina: Horizontal Polarization</Title>
+					<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation builds up four days of global TMI 85 GHz measurements.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003248/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003248/a003248.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3248_22701</Name>
+						<Title>TRMM Microwave Brightness Temperature Progression during Hurricane Katrina: Horizontal Polarization (1024x256 Animation)</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation builds up four days of global TMI 85 GHz measurements.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<Dimension name="time" units="ISO8601" default="2005-08-30T22:45Z">2005-08-26T22:45Z/2005-08-30T22:45Z/PT5M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003248/a003248.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Global horizontally polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="640" height="27">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003248/hw_a003248.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Global horizontally polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="640" height="27">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003248/hw_a003248.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3248_22701_bg</Name>
+						<Title>Background Image for TRMM Microwave Brightness Temperature Progression during Hurricane Katrina: Horizontal Polarization</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation builds up four days of global TMI 85 GHz measurements.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003248/a003248.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>TRMM Microwave Brightness Temperature Progression during Hurricane Katrina: Vertical Polarization</Title>
+					<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation builds up four days of global TMI 85 GHz measurements.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003247/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003247/a003247.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3247_22695</Name>
+						<Title>TRMM Microwave Brightness Temperature Progression during Hurricane Katrina: Vertical Polarization (1024x256 Animation)</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation builds up four days of global TMI 85 GHz measurements.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<Dimension name="time" units="ISO8601" default="2005-08-30T22:45Z">2005-08-26T22:45Z/2005-08-30T22:45Z/PT5M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003247/a003247.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Global vertically polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003247/tmi_85_bar1.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Global vertically polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003247/tmi_85_bar1.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3247_22695_bg</Name>
+						<Title>Background Image for TRMM Microwave Brightness Temperature Progression during Hurricane Katrina: Vertical Polarization</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation builds up four days of global TMI 85 GHz measurements.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003247/a003247.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>TRMM Microwave Brightness Temperature Swath during Hurricane Katrina: Horizontal Polarization</Title>
+					<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows four days of TMI 85 GHz measurements, one orbit at a time.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003243/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003243/a003243.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3243_22680</Name>
+						<Title>TRMM Microwave Brightness Temperature Swath during Hurricane Katrina: Horizontal Polarization (1024x256 Animation)</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows four days of TMI 85 GHz measurements, one orbit at a time.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<Dimension name="time" units="ISO8601" default="2005-08-30T22:45Z">2005-08-26T22:45Z/2005-08-30T22:45Z/PT5M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003243/a003243.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Global horizontally polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="640" height="27">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003243/hw_a003243.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Global horizontally polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="640" height="27">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003243/hw_a003243.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3243_22680_bg</Name>
+						<Title>Background Image for TRMM Microwave Brightness Temperature Swath during Hurricane Katrina: Horizontal Polarization</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows four days of TMI 85 GHz measurements, one orbit at a time.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003243/a003243.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>TRMM Microwave Brightness Temperature Swath during Hurricane Katrina: Vertical Polarization</Title>
+					<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows four days of TMI 85 GHz measurements, one orbit at a time.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003242/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003242/a003242.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3242_22674</Name>
+						<Title>TRMM Microwave Brightness Temperature Swath during Hurricane Katrina: Vertical Polarization (1024x256 Animation)</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows four days of TMI 85 GHz measurements, one orbit at a time.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<Dimension name="time" units="ISO8601" default="2005-08-30T22:45Z">2005-08-26T22:45Z/2005-08-30T22:45Z/PT5M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003242/a003242.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Global vertically polarized 85GHz microwave brightness temperatures  measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003242/tmi_85_bar1.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Global vertically polarized 85GHz microwave brightness temperatures  measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003242/tmi_85_bar1.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3242_22674_bg</Name>
+						<Title>Background Image for TRMM Microwave Brightness Temperature Swath during Hurricane Katrina: Vertical Polarization</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows four days of TMI 85 GHz measurements, one orbit at a time.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003242/a003242.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3240_24673</Name>
+					<Title>Hurricane Katrina Sea Surface Temperature (1024x1024 Animation)</Title>
+					<Abstract>This visualization shows the cold water trail left by Hurricane Katrina. The data is from August 23 through 30, 2005.  The colors on the ocean represent the sea surface temperatures, and satellite images of the hurricane clouds are laid over the temperatures to clearly show the hurricane positions. Orange and red depict regions that are 82 degrees F and higher, where the ocean is warm enough for hurricanes to form. Hurricane winds are sustained by the heat energy of the ocean, so the ocean is cooled as the hurricane passes and the energy is extracted to power the winds.  The sea surface temperatures are 3-day moving averages based on the AMSR-E instrument on the Aqua satellite, while the cloud images were taken by the Imager on the GOES-12 satellite.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Hydrological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-100</westBoundLongitude>
+						<eastBoundLongitude>-60</eastBoundLongitude>
+						<southBoundLatitude>10</southBoundLatitude>
+						<northBoundLatitude>50</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-60" maxy="50"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T08:45Z">2005-08-23T08:45Z/2005-08-30T08:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003240/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003240/a003240.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 infrared imagery over AMSR-E sea surface temperature for Hurricane Katrina, from August 23, 2005 to August 30, 2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003240/sst2005_cbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3239_24672</Name>
+					<Title>Hurricane Katrina Rain Accumulation (1024x1024 Animation)</Title>
+					<Abstract>This animation shows rain accumulation from Hurricane Katrina from August 23 through 30, 2005 based on data from the Tropical Rainfall Measuring Mission (TRMM) Multisatellite Precipitation Analysis.  Satellite cloud data from NOAA/GOES is overlaid for context. The accumulation is shown in colors ranging from green (less than 30 mm of rain) through red (80 mm or more). The TRMM satellite, using the world's only spaceborne rain radar and other microwave instruments, measures rainfall over the ocean.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="SVS">Rainfall</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-100</westBoundLongitude>
+						<eastBoundLongitude>-60</eastBoundLongitude>
+						<southBoundLatitude>10</southBoundLatitude>
+						<northBoundLatitude>50</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-60" maxy="50"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T08:45Z">2005-08-23T08:45Z/2005-08-30T08:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003239/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003239/a003239.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 infrared imagery over TRMM rainfall accumulation for Hurricane Katrina, from August 23, 2005 to August 30, 2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003239/rain_accum2005_cbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Progression of Hurricane Katrina, 2005</Title>
+					<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3238_23161</Name>
+						<Title>Hurricane Katrina Overview (1024x1024 Image)</Title>
+						<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-101.0542</westBoundLongitude>
+							<eastBoundLongitude>-63.5523</eastBoundLongitude>
+							<southBoundLatitude>14.362</southBoundLatitude>
+							<northBoundLatitude>55.5656</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-101.0542" miny="14.362" maxx="-63.5523" maxy="55.5656"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Images of Hurricane Katrina aquired by the MODIS instruments on Terra and Aqua from August 24 to August 31, 2005. To get the individual images, follow the 'Sequence' link below. To get the geographical registration information, follow the 'DEPC metadata' link near the bottom of the page.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3238_23161</Name>
+						<Title>Hurricane Katrina (Sequence)</Title>
+						<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-101.0542</westBoundLongitude>
+							<eastBoundLongitude>-63.5523</eastBoundLongitude>
+							<southBoundLatitude>14.362</southBoundLatitude>
+							<northBoundLatitude>55.5656</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-101.0542" miny="14.362" maxx="-63.5523" maxy="55.5656"/>
+						<Dimension name="sequence" units="" default="TIME(2005-08-31T15:50Z)XMIN(-86.4449)YMIN(34.4307)XMAX(-63.5523)YMAX(55.5656)WIDTH(1024)HEIGHT(1024)">TIME(2005-08-24T15:50Z)XMIN(-81.9448)YMIN(19.0534)XMAX(-68.0533)YMAX(28.9458)WIDTH(1024)HEIGHT(1024),TIME(2005-08-25T16:30Z)XMIN(-90.293)YMIN(19.3493)XMAX(-73.7076)YMAX(32.6478)WIDTH(1024)HEIGHT(1024),TIME(2005-08-26T18:45Z)XMIN(-89.9448)YMIN(14.905)XMAX(-76.0534)YMAX(31.0929)WIDTH(1024)HEIGHT(1024),TIME(2005-08-27T16:20Z)XMIN(-90.9448)YMIN(16.906)XMAX(-77.0534)YMAX(33.0939)WIDTH(1024)HEIGHT(1024),TIME(2005-08-28T17:00Z)XMIN(-101.0542)YMIN(14.362)XMAX(-80.5445)YMAX(35.6374)WIDTH(1024)HEIGHT(1024),TIME(2005-08-29T19:15Z)XMIN(-98.6447)YMIN(20.4322)XMAX(-79.9538)YMAX(41.5655)WIDTH(1024)HEIGHT(1024),TIME(2005-08-30T16:45Z)XMIN(-98.6447)YMIN(20.4322)XMAX(-79.9538)YMAX(41.5655)WIDTH(1024)HEIGHT(1024),TIME(2005-08-31T15:50Z)XMIN(-86.4449)YMIN(34.4307)XMAX(-63.5523)YMAX(55.5656)WIDTH(1024)HEIGHT(1024)</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Images of Hurricane Katrina aquired by the MODIS instruments on Terra and Aqua from August 24 to August 31, 2005. To get the individual images, follow the 'Sequence' link below. To get the geographical registration information, follow the 'DEPC metadata' link near the bottom of the page.</Abstract>
+						</Style>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3238_22718_705010</Name>
+							<Title>2005-08-24 15:50</Title>
+							<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-81.9448</westBoundLongitude>
+								<eastBoundLongitude>-68.0533</eastBoundLongitude>
+								<southBoundLatitude>19.0534</southBoundLatitude>
+								<northBoundLatitude>28.9458</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-81.9448" miny="19.0534" maxx="-68.0533" maxy="28.9458"/>
+							<Dimension name="time" units="ISO8601" default="2005-08-24T15:50Z">2005-08-24T15:50Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-08-24T15:50Z)XMIN(-81.9448)YMIN(19.0534)XMAX(-68.0533)YMAX(28.9458)WIDTH(1024)HEIGHT(1024)">TIME(2005-08-24T15:50Z)XMIN(-81.9448)YMIN(19.0534)XMAX(-68.0533)YMAX(28.9458)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3238_22718_705011</Name>
+							<Title>2005-08-25 16:30</Title>
+							<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-90.293</westBoundLongitude>
+								<eastBoundLongitude>-73.7076</eastBoundLongitude>
+								<southBoundLatitude>19.3493</southBoundLatitude>
+								<northBoundLatitude>32.6478</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-90.293" miny="19.3493" maxx="-73.7076" maxy="32.6478"/>
+							<Dimension name="time" units="ISO8601" default="2005-08-25T16:30Z">2005-08-25T16:30Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-08-25T16:30Z)XMIN(-90.293)YMIN(19.3493)XMAX(-73.7076)YMAX(32.6478)WIDTH(1024)HEIGHT(1024)">TIME(2005-08-25T16:30Z)XMIN(-90.293)YMIN(19.3493)XMAX(-73.7076)YMAX(32.6478)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3238_22718_705012</Name>
+							<Title>2005-08-26 18:45</Title>
+							<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-89.9448</westBoundLongitude>
+								<eastBoundLongitude>-76.0534</eastBoundLongitude>
+								<southBoundLatitude>14.905</southBoundLatitude>
+								<northBoundLatitude>31.0929</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-89.9448" miny="14.905" maxx="-76.0534" maxy="31.0929"/>
+							<Dimension name="time" units="ISO8601" default="2005-08-26T18:45Z">2005-08-26T18:45Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-08-26T18:45Z)XMIN(-89.9448)YMIN(14.905)XMAX(-76.0534)YMAX(31.0929)WIDTH(1024)HEIGHT(1024)">TIME(2005-08-26T18:45Z)XMIN(-89.9448)YMIN(14.905)XMAX(-76.0534)YMAX(31.0929)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3238_22718_705013</Name>
+							<Title>2005-08-27 16:20</Title>
+							<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-90.9448</westBoundLongitude>
+								<eastBoundLongitude>-77.0534</eastBoundLongitude>
+								<southBoundLatitude>16.906</southBoundLatitude>
+								<northBoundLatitude>33.0939</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-90.9448" miny="16.906" maxx="-77.0534" maxy="33.0939"/>
+							<Dimension name="time" units="ISO8601" default="2005-08-27T16:20Z">2005-08-27T16:20Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-08-27T16:20Z)XMIN(-90.9448)YMIN(16.906)XMAX(-77.0534)YMAX(33.0939)WIDTH(1024)HEIGHT(1024)">TIME(2005-08-27T16:20Z)XMIN(-90.9448)YMIN(16.906)XMAX(-77.0534)YMAX(33.0939)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3238_22718_705014</Name>
+							<Title>2005-08-28 17:00</Title>
+							<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-101.0542</westBoundLongitude>
+								<eastBoundLongitude>-80.5445</eastBoundLongitude>
+								<southBoundLatitude>14.362</southBoundLatitude>
+								<northBoundLatitude>35.6374</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-101.0542" miny="14.362" maxx="-80.5445" maxy="35.6374"/>
+							<Dimension name="time" units="ISO8601" default="2005-08-28T17:00Z">2005-08-28T17:00Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-08-28T17:00Z)XMIN(-101.0542)YMIN(14.362)XMAX(-80.5445)YMAX(35.6374)WIDTH(1024)HEIGHT(1024)">TIME(2005-08-28T17:00Z)XMIN(-101.0542)YMIN(14.362)XMAX(-80.5445)YMAX(35.6374)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3238_22718_705015</Name>
+							<Title>2005-08-29 19:15</Title>
+							<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-98.6447</westBoundLongitude>
+								<eastBoundLongitude>-79.9538</eastBoundLongitude>
+								<southBoundLatitude>20.4322</southBoundLatitude>
+								<northBoundLatitude>41.5655</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-98.6447" miny="20.4322" maxx="-79.9538" maxy="41.5655"/>
+							<Dimension name="time" units="ISO8601" default="2005-08-29T19:15Z">2005-08-29T19:15Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-08-29T19:15Z)XMIN(-98.6447)YMIN(20.4322)XMAX(-79.9538)YMAX(41.5655)WIDTH(1024)HEIGHT(1024)">TIME(2005-08-29T19:15Z)XMIN(-98.6447)YMIN(20.4322)XMAX(-79.9538)YMAX(41.5655)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3238_22718_705016</Name>
+							<Title>2005-08-30 16:45</Title>
+							<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-98.6447</westBoundLongitude>
+								<eastBoundLongitude>-79.9538</eastBoundLongitude>
+								<southBoundLatitude>20.4322</southBoundLatitude>
+								<northBoundLatitude>41.5655</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-98.6447" miny="20.4322" maxx="-79.9538" maxy="41.5655"/>
+							<Dimension name="time" units="ISO8601" default="2005-08-30T16:45Z">2005-08-30T16:45Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-08-30T16:45Z)XMIN(-98.6447)YMIN(20.4322)XMAX(-79.9538)YMAX(41.5655)WIDTH(1024)HEIGHT(1024)">TIME(2005-08-30T16:45Z)XMIN(-98.6447)YMIN(20.4322)XMAX(-79.9538)YMAX(41.5655)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3238_22718_705017</Name>
+							<Title>2005-08-31 15:50</Title>
+							<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-86.4449</westBoundLongitude>
+								<eastBoundLongitude>-63.5523</eastBoundLongitude>
+								<southBoundLatitude>34.4307</southBoundLatitude>
+								<northBoundLatitude>55.5656</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-86.4449" miny="34.4307" maxx="-63.5523" maxy="55.5656"/>
+							<Dimension name="time" units="ISO8601" default="2005-08-31T15:50Z">2005-08-31T15:50Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-08-31T15:50Z)XMIN(-86.4449)YMIN(34.4307)XMAX(-63.5523)YMAX(55.5656)WIDTH(1024)HEIGHT(1024)">TIME(2005-08-31T15:50Z)XMIN(-86.4449)YMIN(34.4307)XMAX(-63.5523)YMAX(55.5656)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+							</MetadataURL>
+						</Layer>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+					<Name>3237_22569</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Longwave Infrared Progression (512x512 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  The Imager takes a pattern of pictures of parts of the Earth in several wavelengths all day, measurements that are vital in weather forcasting.  This animation shows a four-day sequence of GOES-12 images in the longwave infrared wavelengths, from 10.2 to 11.2 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is the most common one for observing cloud motions and severe storms throughout the day and night.  Note that most of the images are taken over the United States (about every 5 minutes) with full disk images every 3 hours and several specific images over South America every day.  In this animation, new images are placed over old images rather than replacing them, so different parts of the image update at different times as measurements are taken.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-152.56</westBoundLongitude>
+						<eastBoundLongitude>2.56</eastBoundLongitude>
+						<southBoundLatitude>-77.55</southBoundLatitude>
+						<northBoundLatitude>77.25</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-152.56" miny="-77.55" maxx="2.56" maxy="77.25"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T23:45Z">2005-08-26T23:45Z/2005-08-30T23:45Z/PT5M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003237/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003237/a003237.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>All GOES-12 longwave infrared imagery from August 26, 2005 through August 30, 2005, during Hurricane Katrina.  The illusion of continuous data is given by laying newer imagery over older imagery.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+					<Name>3236_22547</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Longwave Infrared Overview (512x512 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  The Imager takes a pattern of pictures of parts of the Earth in several wavelengths all day, measurements that are vital in weather forecasting.  This animation shows a four-day sequence of GOES-12 images in the longwave infrared wavelengths, from 10.2 to 11.2 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is the most common one for observing cloud motions and severe storms throughout the day and night.  Note that most of the images are taken over the United States (about every 5 minutes) with full disk images every 3 hours and several specific images over South America every day.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-152.56</westBoundLongitude>
+						<eastBoundLongitude>2.56</eastBoundLongitude>
+						<southBoundLatitude>-77.55</southBoundLatitude>
+						<northBoundLatitude>77.25</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-152.56" miny="-77.55" maxx="2.56" maxy="77.25"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T23:45Z">2005-08-26T23:45Z/2005-08-30T23:45Z/PT5M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003236/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003236/a003236.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>All GOES-12 longwave infrared imagery from August 26, 2005 through August 30, 2005, during Hurricane Katrina.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3235_22556</Name>
+					<Title>GOES-10 Imagery of Hurricane Katrina: Full Disk Longwave Infrared (1024x1024 Animation)</Title>
+					<Abstract>The GOES-10 satellite sits at 135 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for the Pacific Ocean, a primary measurement used in weather forecasting.  Every three hours the Imager takes a picture of the full disk of the Earth.  This animation shows a sequence of these full disk images in the longwave infrared wavelengths, from 10.2 to 11.2 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is the most common one for observing cloud motions and severe storms throughout the day and night.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>145.81</westBoundLongitude>
+						<eastBoundLongitude>-55.81</eastBoundLongitude>
+						<southBoundLatitude>-79.22</southBoundLatitude>
+						<northBoundLatitude>79.13</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="145.81" miny="-79.22" maxx="-55.81" maxy="79.13"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-31T06:00Z">2005-08-23T21:00Z/2005-08-24T06:00Z/PT3H,2005-08-24T12:00Z/2005-08-25T06:00Z/PT3H,2005-08-25T12:00Z/2005-08-26T06:00Z/PT3H,2005-08-26T12:00Z/2005-08-27T06:00Z/PT3H,2005-08-27T12:00Z/2005-08-28T06:00Z/PT3H,2005-08-28T12:00Z/2005-08-29T06:00Z/PT3H,2005-08-29T12:00Z/2005-08-30T06:00Z/PT3H,2005-08-30T12:00Z/2005-08-31T06:00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003235/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003235/a003235.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-10 full-disk longwave infrared imagery of Hurricane Katrina from August 23, 2005 to August 31, 2005.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3234_22542</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Full Disk Lower Level Temperature (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  Every three hours the Imager takes a picture of the full disk of the Earth.  This animation shows a sequence of these full disk images in the wavelength band from 12.9 to 13.8 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is useful for determining cloud characteristics such as cloud top pressure.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-154.19</westBoundLongitude>
+						<eastBoundLongitude>4.18</eastBoundLongitude>
+						<southBoundLatitude>-79.12</southBoundLatitude>
+						<northBoundLatitude>79.22</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-154.19" miny="-79.12" maxx="4.18" maxy="79.22"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-31T02:45Z">2005-08-23T08:45Z/2005-08-24T02:45Z/PT3H,2005-08-24T08:45Z/2005-08-25T02:45Z/PT3H,2005-08-25T08:45Z/2005-08-26T02:45Z/PT3H,2005-08-26T08:45Z/2005-08-27T02:45Z/PT3H,2005-08-27T08:45Z/2005-08-28T02:45Z/PT3H,2005-08-28T08:45Z/2005-08-29T02:45Z/PT3H,2005-08-29T08:45Z/2005-08-30T02:45Z/PT3H,2005-08-30T08:45Z/2005-08-31T02:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003234/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003234/a003234.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 full-disk lower level temperature imagery of Hurricane Katrina from August 23, 2005 to August 31, 2005.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3233_22537</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Full Disk Longwave Infrared (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  Every three hours the Imager takes a picture of the full disk of the Earth.  This animation shows a sequence of these full disk images in the longwave infrared wavelengths, from 10.2 to 11.2 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is the most common one for observing cloud motions and severe storms throughout the day and night.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-154.19</westBoundLongitude>
+						<eastBoundLongitude>4.18</eastBoundLongitude>
+						<southBoundLatitude>-79.12</southBoundLatitude>
+						<northBoundLatitude>79.22</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-154.19" miny="-79.12" maxx="4.18" maxy="79.22"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-31T02:45Z">2005-08-23T08:45Z/2005-08-24T02:45Z/PT3H,2005-08-24T08:45Z/2005-08-25T02:45Z/PT3H,2005-08-25T08:45Z/2005-08-26T02:45Z/PT3H,2005-08-26T08:45Z/2005-08-27T02:45Z/PT3H,2005-08-27T08:45Z/2005-08-28T02:45Z/PT3H,2005-08-28T08:45Z/2005-08-29T02:45Z/PT3H,2005-08-29T08:45Z/2005-08-30T02:45Z/PT3H,2005-08-30T08:45Z/2005-08-31T02:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003233/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003233/a003233.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 full-disk longwave infrared imagery of Hurricane Katrina from August 23, 2005 to August 31, 2005.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3232_22532</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Full Disk Water Vapor (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  Every three hours the Imager takes a picture of the full disk of the Earth.  This animation shows a sequence of these full disk images in the 6.47 to 7.02 micron wavelength band, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is useful for estimating mid-level water vapor content and for observing atmospheric motion in that level.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-154.19</westBoundLongitude>
+						<eastBoundLongitude>4.18</eastBoundLongitude>
+						<southBoundLatitude>-79.12</southBoundLatitude>
+						<northBoundLatitude>79.22</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-154.19" miny="-79.12" maxx="4.18" maxy="79.22"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-31T02:45Z">2005-08-23T08:45Z/2005-08-24T02:45Z/PT3H,2005-08-24T08:45Z/2005-08-25T02:45Z/PT3H,2005-08-25T08:45Z/2005-08-26T02:45Z/PT3H,2005-08-26T08:45Z/2005-08-27T02:45Z/PT3H,2005-08-27T08:45Z/2005-08-28T02:45Z/PT3H,2005-08-28T08:45Z/2005-08-29T02:45Z/PT3H,2005-08-29T08:45Z/2005-08-30T02:45Z/PT3H,2005-08-30T08:45Z/2005-08-31T02:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003232/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003232/a003232.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 full-disk upper level water vapor imagery of Hurricane Katrina from August 23, 2005 to August 31, 2005. </Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3231_22527</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Full Disk Shortwave Infrared (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  Every three hours the Imager takes a picture of the full disk of the Earth.  This animation shows a sequence of these full disk images in the shortwave infrared wavelengths, 3.78 to 4.03 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band shows the day-night cycle, and is useful for identifying fog at night and discriminating between water clouds and snow or ice clouds during the daytime.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-154.19</westBoundLongitude>
+						<eastBoundLongitude>4.18</eastBoundLongitude>
+						<southBoundLatitude>-79.12</southBoundLatitude>
+						<northBoundLatitude>79.22</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-154.19" miny="-79.12" maxx="4.18" maxy="79.22"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-31T02:45Z">2005-08-23T08:45Z/2005-08-24T02:45Z/PT3H,2005-08-24T08:45Z/2005-08-25T02:45Z/PT3H,2005-08-25T08:45Z/2005-08-26T02:45Z/PT3H,2005-08-26T08:45Z/2005-08-27T02:45Z/PT3H,2005-08-27T08:45Z/2005-08-28T02:45Z/PT3H,2005-08-28T08:45Z/2005-08-29T02:45Z/PT3H,2005-08-29T08:45Z/2005-08-30T02:45Z/PT3H,2005-08-30T08:45Z/2005-08-31T02:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003231/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003231/a003231.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 full-disk shortwave infrared imagery of Hurricane Katrina from August 23, 2005 to August 31, 2005.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3230_22515</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Full Disk Visible (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  Every three hours the Imager takes a picture of the full disk of the Earth.  This animation shows a sequence of these full disk images in the visible wavelengths, 0.52 to 0.72 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band clearly shows the day-night cycle since the Earth is dark at night in the visible wavelengths.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-154.19</westBoundLongitude>
+						<eastBoundLongitude>4.18</eastBoundLongitude>
+						<southBoundLatitude>-79.12</southBoundLatitude>
+						<northBoundLatitude>79.22</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-154.19" miny="-79.12" maxx="4.18" maxy="79.22"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-31T02:45Z">2005-08-23T08:45Z/2005-08-24T02:45Z/PT3H,2005-08-24T08:45Z/2005-08-25T02:45Z/PT3H,2005-08-25T08:45Z/2005-08-26T02:45Z/PT3H,2005-08-26T08:45Z/2005-08-27T02:45Z/PT3H,2005-08-27T08:45Z/2005-08-28T02:45Z/PT3H,2005-08-28T08:45Z/2005-08-29T02:45Z/PT3H,2005-08-29T08:45Z/2005-08-30T02:45Z/PT3H,2005-08-30T08:45Z/2005-08-31T02:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003230/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003230/a003230.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 full-disk visible imagery of Hurricane Katrina from August 23, 2005 to August 31, 2005. </Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3216_22510</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Longwave Infrared Close-up (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  The Imager takes a pattern of pictures of parts of the Earth in several wavelengths all day, measurements that are vital in weather forecasting.  This animation shows a four-day sequence of GOES-12 images in the longwave infrared wavelengths, from 10.2 to 11.2 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is the most common one for observing cloud motions and severe storms throughout the day and night.  Since GOES-12 takes images most often over the United States (every 5 to 10 minutes), the motion of the clouds in this close-up of the southeast US is very smooth.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-100</westBoundLongitude>
+						<eastBoundLongitude>-70</eastBoundLongitude>
+						<southBoundLatitude>15</southBoundLatitude>
+						<northBoundLatitude>45</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-100" miny="15" maxx="-70" maxy="45"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T23:45Z">2005-08-26T23:45Z/2005-08-27T00:45Z/PT30M,2005-08-27T00:55Z,2005-08-27T01:02Z,2005-08-27T01:10Z,2005-08-27T01:15Z,2005-08-27T01:25Z,2005-08-27T01:32Z,2005-08-27T01:40Z,2005-08-27T01:45Z,2005-08-27T01:55Z,2005-08-27T02:02Z,2005-08-27T02:10Z,2005-08-27T02:15Z,2005-08-27T02:25Z,2005-08-27T02:32Z,2005-08-27T02:40Z,2005-08-27T02:45Z,2005-08-27T03:15Z,2005-08-27T03:25Z,2005-08-27T03:33Z,2005-08-27T03:40Z,2005-08-27T03:45Z,2005-08-27T04:02Z,2005-08-27T06:15Z,2005-08-27T06:32Z,2005-08-27T06:45Z,2005-08-27T06:55Z,2005-08-27T07:02Z,2005-08-27T07:10Z,2005-08-27T07:15Z,2005-08-27T07:25Z,2005-08-27T07:33Z,2005-08-27T07:40Z,2005-08-27T07:45Z,2005-08-27T07:55Z,2005-08-27T08:03Z,2005-08-27T08:10Z,2005-08-27T08:15Z,2005-08-27T08:25Z,2005-08-27T08:33Z,2005-08-27T08:40Z,2005-08-27T08:45Z,2005-08-27T09:15Z,2005-08-27T09:25Z,2005-08-27T09:32Z,2005-08-27T09:40Z,2005-08-27T09:45Z,2005-08-27T09:55Z,2005-08-27T10:02Z,2005-08-27T10:10Z,2005-08-27T10:15Z,2005-08-27T10:25Z,2005-08-27T10:33Z,2005-08-27T10:40Z,2005-08-27T10:45Z,2005-08-27T10:55Z,2005-08-27T11:02Z,2005-08-27T11:10Z,2005-08-27T11:15Z,2005-08-27T11:25Z,2005-08-27T11:33Z,2005-08-27T11:40Z,2005-08-27T11:45Z,2005-08-27T12:15Z,2005-08-27T12:25Z,2005-08-27T12:45Z,2005-08-27T12:55Z,2005-08-27T13:03Z,2005-08-27T13:10Z,2005-08-27T13:15Z,2005-08-27T13:25Z,2005-08-27T13:33Z,2005-08-27T13:40Z,2005-08-27T13:45Z,2005-08-27T13:55Z,2005-08-27T14:03Z,2005-08-27T14:10Z,2005-08-27T14:15Z,2005-08-27T14:25Z,2005-08-27T14:32Z,2005-08-27T14:40Z,2005-08-27T14:45Z,2005-08-27T15:15Z,2005-08-27T15:25Z,2005-08-27T15:32Z,2005-08-27T15:40Z,2005-08-27T15:45Z,2005-08-27T15:55Z,2005-08-27T16:02Z,2005-08-27T16:10Z,2005-08-27T16:15Z,2005-08-27T16:25Z,2005-08-27T16:32Z,2005-08-27T16:40Z,2005-08-27T16:45Z,2005-08-27T16:55Z,2005-08-27T17:03Z,2005-08-27T17:10Z,2005-08-27T17:15Z,2005-08-27T17:25Z,2005-08-27T17:33Z,2005-08-27T17:40Z,2005-08-27T17:45Z,2005-08-27T18:15Z,2005-08-27T18:25Z,2005-08-27T18:45Z,2005-08-27T18:55Z,2005-08-27T19:03Z,2005-08-27T19:10Z,2005-08-27T19:15Z,2005-08-27T19:25Z,2005-08-27T19:33Z,2005-08-27T19:40Z,2005-08-27T19:45Z,2005-08-27T19:55Z,2005-08-27T20:03Z,2005-08-27T20:10Z,2005-08-27T20:15Z,2005-08-27T20:25Z,2005-08-27T20:32Z,2005-08-27T20:40Z,2005-08-27T20:45Z,2005-08-27T21:15Z,2005-08-27T21:25Z,2005-08-27T21:32Z,2005-08-27T21:40Z,2005-08-27T21:45Z,2005-08-27T21:55Z,2005-08-27T22:03Z,2005-08-27T22:10Z,2005-08-27T22:15Z,2005-08-27T22:25Z,2005-08-27T22:33Z,2005-08-27T22:40Z,2005-08-27T22:45Z,2005-08-27T22:55Z,2005-08-27T23:03Z,2005-08-27T23:10Z,2005-08-27T23:15Z,2005-08-27T23:25Z,2005-08-27T23:33Z,2005-08-27T23:40Z,2005-08-27T23:45Z/2005-08-28T00:45Z/PT30M,2005-08-28T00:55Z,2005-08-28T01:02Z,2005-08-28T01:10Z,2005-08-28T01:15Z,2005-08-28T01:25Z,2005-08-28T01:32Z,2005-08-28T01:40Z,2005-08-28T01:45Z,2005-08-28T01:55Z,2005-08-28T02:02Z,2005-08-28T02:10Z,2005-08-28T02:15Z,2005-08-28T02:25Z,2005-08-28T02:32Z,2005-08-28T02:40Z,2005-08-28T02:45Z,2005-08-28T03:15Z,2005-08-28T03:25Z,2005-08-28T03:33Z,2005-08-28T03:40Z,2005-08-28T03:45Z,2005-08-28T04:02Z,2005-08-28T06:15Z,2005-08-28T06:32Z,2005-08-28T06:45Z,2005-08-28T06:55Z,2005-08-28T07:02Z,2005-08-28T07:10Z,2005-08-28T07:15Z,2005-08-28T07:25Z,2005-08-28T07:33Z,2005-08-28T07:40Z,2005-08-28T07:45Z,2005-08-28T07:55Z,2005-08-28T08:03Z,2005-08-28T08:10Z,2005-08-28T08:15Z,2005-08-28T08:25Z,2005-08-28T08:33Z,2005-08-28T08:40Z,2005-08-28T08:45Z,2005-08-28T09:15Z,2005-08-28T09:25Z,2005-08-28T09:33Z,2005-08-28T09:40Z,2005-08-28T09:45Z,2005-08-28T09:55Z,2005-08-28T10:03Z,2005-08-28T10:10Z,2005-08-28T10:15Z,2005-08-28T10:25Z,2005-08-28T10:32Z,2005-08-28T10:40Z,2005-08-28T10:45Z,2005-08-28T10:55Z,2005-08-28T11:02Z,2005-08-28T11:10Z,2005-08-28T11:15Z,2005-08-28T11:25Z,2005-08-28T11:32Z,2005-08-28T11:40Z,2005-08-28T11:45Z,2005-08-28T12:15Z,2005-08-28T12:25Z,2005-08-28T12:45Z,2005-08-28T12:55Z,2005-08-28T13:03Z,2005-08-28T13:10Z,2005-08-28T13:15Z,2005-08-28T13:25Z,2005-08-28T13:33Z,2005-08-28T13:40Z,2005-08-28T13:45Z,2005-08-28T13:55Z,2005-08-28T14:03Z,2005-08-28T14:10Z,2005-08-28T14:15Z,2005-08-28T14:25Z,2005-08-28T14:33Z,2005-08-28T14:40Z,2005-08-28T14:45Z,2005-08-28T15:15Z,2005-08-28T15:25Z,2005-08-28T15:32Z,2005-08-28T15:40Z,2005-08-28T15:45Z,2005-08-28T15:55Z,2005-08-28T16:02Z,2005-08-28T16:10Z,2005-08-28T16:15Z,2005-08-28T16:25Z,2005-08-28T16:32Z,2005-08-28T16:40Z,2005-08-28T16:45Z,2005-08-28T16:55Z,2005-08-28T17:03Z,2005-08-28T17:10Z,2005-08-28T17:15Z,2005-08-28T17:25Z,2005-08-28T17:33Z,2005-08-28T17:40Z,2005-08-28T17:45Z,2005-08-28T18:15Z,2005-08-28T18:25Z,2005-08-28T18:45Z,2005-08-28T18:55Z,2005-08-28T19:03Z,2005-08-28T19:10Z,2005-08-28T19:15Z,2005-08-28T19:25Z,2005-08-28T19:32Z,2005-08-28T19:40Z,2005-08-28T19:45Z,2005-08-28T19:55Z,2005-08-28T20:02Z,2005-08-28T20:10Z,2005-08-28T20:15Z,2005-08-28T20:25Z,2005-08-28T20:32Z,2005-08-28T20:40Z,2005-08-28T20:45Z,2005-08-28T21:15Z,2005-08-28T21:25Z,2005-08-28T21:32Z,2005-08-28T21:40Z,2005-08-28T21:45Z,2005-08-28T21:55Z,2005-08-28T22:03Z,2005-08-28T22:10Z,2005-08-28T22:15Z,2005-08-28T22:25Z,2005-08-28T22:33Z,2005-08-28T22:40Z,2005-08-28T22:45Z,2005-08-28T22:55Z,2005-08-28T23:03Z,2005-08-28T23:10Z,2005-08-28T23:15Z,2005-08-28T23:25Z,2005-08-28T23:33Z,2005-08-28T23:40Z,2005-08-28T23:45Z/2005-08-29T00:45Z/PT30M,2005-08-29T00:55Z,2005-08-29T01:02Z,2005-08-29T01:10Z,2005-08-29T01:15Z,2005-08-29T01:25Z,2005-08-29T01:32Z,2005-08-29T01:40Z,2005-08-29T01:45Z,2005-08-29T01:55Z,2005-08-29T02:02Z,2005-08-29T02:10Z,2005-08-29T02:15Z,2005-08-29T02:25Z,2005-08-29T02:32Z,2005-08-29T02:40Z,2005-08-29T02:45Z,2005-08-29T03:15Z,2005-08-29T03:25Z,2005-08-29T03:33Z,2005-08-29T03:40Z,2005-08-29T03:45Z,2005-08-29T04:02Z,2005-08-29T06:15Z,2005-08-29T06:32Z,2005-08-29T06:45Z,2005-08-29T06:55Z,2005-08-29T07:02Z,2005-08-29T07:10Z,2005-08-29T07:15Z,2005-08-29T07:25Z,2005-08-29T07:32Z,2005-08-29T07:40Z,2005-08-29T07:45Z,2005-08-29T07:55Z,2005-08-29T08:03Z,2005-08-29T08:10Z,2005-08-29T08:15Z,2005-08-29T08:25Z,2005-08-29T08:33Z,2005-08-29T08:40Z,2005-08-29T08:45Z,2005-08-29T09:15Z,2005-08-29T09:25Z,2005-08-29T09:33Z,2005-08-29T09:40Z,2005-08-29T09:45Z,2005-08-29T09:55Z,2005-08-29T10:03Z,2005-08-29T10:10Z,2005-08-29T10:15Z,2005-08-29T10:25Z,2005-08-29T10:33Z,2005-08-29T10:40Z,2005-08-29T10:45Z,2005-08-29T10:55Z,2005-08-29T11:02Z,2005-08-29T11:10Z,2005-08-29T11:15Z,2005-08-29T11:25Z,2005-08-29T11:32Z,2005-08-29T11:40Z,2005-08-29T11:45Z,2005-08-29T12:15Z,2005-08-29T12:25Z,2005-08-29T12:45Z,2005-08-29T12:55Z,2005-08-29T13:03Z,2005-08-29T13:10Z,2005-08-29T13:15Z,2005-08-29T13:25Z,2005-08-29T13:33Z,2005-08-29T13:40Z,2005-08-29T13:45Z,2005-08-29T13:55Z,2005-08-29T14:03Z,2005-08-29T14:10Z,2005-08-29T14:15Z,2005-08-29T14:25Z,2005-08-29T14:33Z,2005-08-29T14:40Z,2005-08-29T14:45Z,2005-08-29T15:15Z,2005-08-29T15:25Z,2005-08-29T15:32Z,2005-08-29T15:40Z,2005-08-29T15:45Z,2005-08-29T15:55Z,2005-08-29T16:02Z,2005-08-29T16:10Z,2005-08-29T16:15Z,2005-08-29T16:25Z,2005-08-29T16:32Z,2005-08-29T16:40Z,2005-08-29T16:45Z,2005-08-29T16:55Z,2005-08-29T17:02Z,2005-08-29T17:10Z,2005-08-29T17:15Z,2005-08-29T17:25Z,2005-08-29T17:33Z,2005-08-29T17:40Z,2005-08-29T17:45Z,2005-08-29T18:15Z,2005-08-29T18:25Z,2005-08-29T18:45Z,2005-08-29T18:55Z,2005-08-29T19:02Z,2005-08-29T19:10Z,2005-08-29T19:15Z,2005-08-29T19:25Z,2005-08-29T19:33Z,2005-08-29T19:40Z,2005-08-29T19:45Z,2005-08-29T19:55Z,2005-08-29T20:03Z,2005-08-29T20:10Z,2005-08-29T20:15Z,2005-08-29T20:25Z,2005-08-29T20:32Z,2005-08-29T20:40Z,2005-08-29T20:45Z,2005-08-29T21:15Z,2005-08-29T21:25Z,2005-08-29T21:32Z,2005-08-29T21:40Z,2005-08-29T21:45Z,2005-08-29T21:55Z,2005-08-29T22:03Z,2005-08-29T22:10Z,2005-08-29T22:15Z,2005-08-29T22:25Z,2005-08-29T22:33Z,2005-08-29T22:40Z,2005-08-29T22:45Z,2005-08-29T22:55Z,2005-08-29T23:03Z,2005-08-29T23:10Z,2005-08-29T23:15Z,2005-08-29T23:25Z,2005-08-29T23:33Z,2005-08-29T23:40Z,2005-08-29T23:45Z/2005-08-30T00:45Z/PT30M,2005-08-30T00:55Z,2005-08-30T01:03Z,2005-08-30T01:10Z,2005-08-30T01:15Z,2005-08-30T01:25Z,2005-08-30T01:33Z,2005-08-30T01:40Z,2005-08-30T01:45Z,2005-08-30T01:55Z,2005-08-30T02:02Z,2005-08-30T02:10Z,2005-08-30T02:15Z,2005-08-30T02:25Z,2005-08-30T02:32Z,2005-08-30T02:40Z,2005-08-30T02:45Z,2005-08-30T03:15Z,2005-08-30T03:25Z,2005-08-30T03:32Z,2005-08-30T03:45Z,2005-08-30T04:02Z,2005-08-30T06:15Z,2005-08-30T06:32Z,2005-08-30T06:45Z,2005-08-30T07:02Z,2005-08-30T07:15Z,2005-08-30T07:32Z,2005-08-30T07:45Z,2005-08-30T08:02Z,2005-08-30T08:15Z/2005-08-30T10:15Z/PT30M,2005-08-30T10:32Z,2005-08-30T10:45Z,2005-08-30T11:02Z,2005-08-30T11:15Z,2005-08-30T11:32Z,2005-08-30T11:45Z/2005-08-30T12:45Z/PT30M,2005-08-30T13:02Z,2005-08-30T13:15Z,2005-08-30T13:32Z,2005-08-30T13:45Z,2005-08-30T14:02Z,2005-08-30T14:15Z,2005-08-30T14:32Z,2005-08-30T14:45Z,2005-08-30T15:15Z,2005-08-30T15:32Z,2005-08-30T15:45Z,2005-08-30T16:02Z,2005-08-30T16:15Z,2005-08-30T16:33Z,2005-08-30T16:40Z,2005-08-30T16:45Z,2005-08-30T16:55Z,2005-08-30T17:02Z,2005-08-30T17:10Z,2005-08-30T17:15Z,2005-08-30T17:25Z,2005-08-30T17:33Z,2005-08-30T17:40Z,2005-08-30T17:45Z,2005-08-30T18:15Z,2005-08-30T18:25Z,2005-08-30T18:45Z,2005-08-30T18:55Z,2005-08-30T19:02Z,2005-08-30T19:10Z,2005-08-30T19:15Z,2005-08-30T19:25Z,2005-08-30T19:32Z,2005-08-30T19:40Z,2005-08-30T19:45Z,2005-08-30T19:55Z,2005-08-30T20:03Z,2005-08-30T20:10Z,2005-08-30T20:15Z,2005-08-30T20:25Z,2005-08-30T20:33Z,2005-08-30T20:40Z,2005-08-30T20:45Z,2005-08-30T21:15Z,2005-08-30T21:25Z,2005-08-30T21:33Z,2005-08-30T21:40Z,2005-08-30T21:45Z,2005-08-30T21:55Z,2005-08-30T22:03Z,2005-08-30T22:10Z,2005-08-30T22:15Z,2005-08-30T22:25Z,2005-08-30T22:33Z,2005-08-30T22:40Z,2005-08-30T22:45Z,2005-08-30T22:55Z,2005-08-30T23:02Z,2005-08-30T23:10Z,2005-08-30T23:15Z,2005-08-30T23:25Z,2005-08-30T23:32Z,2005-08-30T23:40Z,2005-08-30T23:45Z</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003216/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003216/a003216.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 longwave infrared imagery of Hurricane Katrina from August 26, 2005 through August 30, 2005.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3210_22210</Name>
+					<Title>Global Large-scale Precipitation during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds.  As moisture-laden air rises, the relative humidity increases until it saturates the air, at which time precipitation occurs.  If the uplift of air is due to large-scale atmospheric motion, then the precipitation is called large-scale, or dynamic.  This animation shows the large-scale precipitation for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  Large-scale precipitation tends to be continuous and to come from decks of stratus clouds rather than from thunderstorms.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Precipitable Water</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003210/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003210/a003210.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global large-scale precipitation rate from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.
+</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003210/precl_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3209_22204</Name>
+					<Title>Global Convective Precipitation during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds.  As moisture-laden air rises, the relative humidity increases until it saturates the air, at which time precipitation occurs.  If the uplift of air is due to strong updrafts and unstable air systems, as in thunderstorms, then the precipitation is called convective.  This animation shows the convective precipitation for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  Convective precipitation is more intense but less long-lasting than large-scale precipitation.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Precipitation Rate</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003209/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003209/a003209.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global convective precipitation rate from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.
+</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003209/precc_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3208_22198</Name>
+					<Title>Global Cloud Cover during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds which both warm and cool the Earth in different circumstances.  Warm, moisture-laden air moving out from the tropics brings clouds and rainfall to the temperate zones.  This animation shows the cloud cover for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  The cloud cover in any region significantly affects the energy balance since sunlight reflected from the clouds is not available to heat the surface.  The motion of clouds in this animation clearly indicates the speed and direction of winds around the globe.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003208/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003208/a003208.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global cloud cover from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.
+</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003208/cldtot_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3207_22192</Name>
+					<Title>Global 300 hPa Geopotential Height during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>The Earth's atmosphere exerts pressure based on the weight of the air above, so the pressure reduces with rising altitude.  This rate of pressure reduction with altitude is based on the temperature of the air, with the pressure of colder air reducing faster with altitude than warmer air.  Therefore, a surface of constant pressure has a lower altitude at the poles than the equator.  This animation shows the altitude above sea level (the geopotential height) of the 300 hectopascal (hPa) pressure surface for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  This pressure is about one-third of the normal pressure at sea level.  The largest downward slope of this surface occurs in the mid-latitudes and is shown in yellow in the animation.  At this region, air is trying to flow from the equator towards the poles to reduce the slope, but the rotation of the Earth forces the flow to divert to the east, forming the strong west-to-east jet stream flows in these regions.  Frances and Songda can be seen as sharp yellow dots of reduced height in their respective locations.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Altitude:Geopotential Height</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003207/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003207/a003207.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global 300 hPa geopotential height from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.
+</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003207/h300_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3203_22161</Name>
+					<Title>Global High Altitude Wind Speed during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>The Earth's atmosphere exerts pressure based on the weight of the air above.  Differences in pressure from place-to-place cause winds to try to flow from high pressure to low pressure regions to even out the differences, but the Earth's rotation and wind friction with the surface act to slow or divert the winds.  This animation shows the high altitude wind speeds for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  At high altitudes, the difference between between high pressures from warm tropical air and low pressures from cold polar air try to force air from the tropics toward the poles, but the Earth's rotation diverts this flow to the east, resulting in the high velocity west-to-east jet stream flows at mid-latitudes.  The circular flows from Frances and Songda can barely be seen at this altitude.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Upper Level Winds</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003203/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003203/a003203.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global winds at 200 hPa geopotential height from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003203/s200_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3202_22146</Name>
+					<Title>Global Atmospheric Water Vapor during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds which both warm and cool the Earth in different circumstances.  Warm, moisture-laden air moving out from the tropics brings rainfall to the temperate zones.  This animation shows the atmospheric water vapor for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  The band of water vapor over the tropics is the intertropical convergence zone, where converging trade winds and high temperatures force large amounts of water high into the atmosphere.  Both Hurricane Frances and Typhoon Songda exhibit significant spiral bands of high water vapor.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Precipitable Water</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003202/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003202/a003202.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global atmospheric water vapor from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003202/tq_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3201_22141</Name>
+					<Title>Global Surface Wind Speed during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>The weight of the Earth's atmosphere exerts pressure on the surface of the Earth.  This pressure varies from place-to-place and from time-to-time due to surface irregularities, uneven heating of the atmosphere by the sun, and the Earth's rotation.  Differences in pressure from place-to-place cause winds to try to flow from high pressure to low pressure regions to even out the differences, but the Earth's rotation and wind friction with the surface act to slow or divert the winds.  This animation shows the surface wind speeds for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  The highest, smoothest winds occur over the oceans where there are no surface irregularities to break up the flow, while flows over land tend to be irregular and highly variable.  The highest winds occur in Hurricane Frances and Typhoon Songda, but note that the hurricane's wind speeds reduce dramatically when crossing Florida.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Surface Winds</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003201/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003201/a003201.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global surface wind speed from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003201/s10m_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Progression of Hurricane Emily, 2005</Title>
+					<Abstract>Emily was a record-setting storm for many reasons. When it formed on July 11, Emily became the earliest fifth named storm on record. As it moved through the Caribbean, Emily intensified into a powerful Category 4 storm with winds over 250 kilometers per hour (150 mph) and gusts as high as 300 kilometers per hour (184 mph), making it the most powerful storm to form before August. The previous record was set by Hurricane Dennis, which ripped through the Caribbean during the first week of July 2005. Emily's Category 4 status also made 2005 the only year to produce two Category 4 storms before the end of July.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003200/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003200/a003200.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_emily.html"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3200_22107</Name>
+						<Title>Hurricane Emily Overview (1024x1024 Image)</Title>
+						<Abstract>Emily was a record-setting storm for many reasons. When it formed on July 11, Emily became the earliest fifth named storm on record. As it moved through the Caribbean, Emily intensified into a powerful Category 4 storm with winds over 250 kilometers per hour (150 mph) and gusts as high as 300 kilometers per hour (184 mph), making it the most powerful storm to form before August. The previous record was set by Hurricane Dennis, which ripped through the Caribbean during the first week of July 2005. Emily's Category 4 status also made 2005 the only year to produce two Category 4 storms before the end of July.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-105.3448</westBoundLongitude>
+							<eastBoundLongitude>-70.4808</eastBoundLongitude>
+							<southBoundLatitude>8.9033</southBoundLatitude>
+							<northBoundLatitude>34.0921</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-105.3448" miny="8.9033" maxx="-70.4808" maxy="34.0921"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003200/a003200.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_emily.html"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This is a composite image of all of the available individual images together.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3200_22107</Name>
+						<Title>Hurricane Emily (Sequence)</Title>
+						<Abstract>Emily was a record-setting storm for many reasons. When it formed on July 11, Emily became the earliest fifth named storm on record. As it moved through the Caribbean, Emily intensified into a powerful Category 4 storm with winds over 250 kilometers per hour (150 mph) and gusts as high as 300 kilometers per hour (184 mph), making it the most powerful storm to form before August. The previous record was set by Hurricane Dennis, which ripped through the Caribbean during the first week of July 2005. Emily's Category 4 status also made 2005 the only year to produce two Category 4 storms before the end of July.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-105.3448</westBoundLongitude>
+							<eastBoundLongitude>-70.4808</eastBoundLongitude>
+							<southBoundLatitude>8.9033</southBoundLatitude>
+							<northBoundLatitude>34.0921</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-105.3448" miny="8.9033" maxx="-70.4808" maxy="34.0921"/>
+						<Dimension name="sequence" units="" default="TIME(2005-07-20T20:05Z)XMIN(-105.3448)YMIN(17.9042)XMAX(-91.4534)YMAX(34.0921)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-16T15:45Z)XMIN(-83.5162)YMIN(8.9033)XMAX(-70.4808)YMAX(25.0922)WIDTH(1024)HEIGHT(1024),TIME(2005-07-17T16:25Z)XMIN(-91.6981)YMIN(9.9043)XMAX(-78.2995)YMAX(26.0927)WIDTH(1024)HEIGHT(1024),TIME(2005-07-18T17:10Z)XMIN(-101.3208)YMIN(13.5513)XMAX(-83.279)YMAX(32.4454)WIDTH(1024)HEIGHT(1024),TIME(2005-07-19T19:20Z)XMIN(-100.2006)YMIN(16.8039)XMAX(-87.7963)YMAX(31.1941)WIDTH(1024)HEIGHT(1024),TIME(2005-07-20T20:05Z)XMIN(-105.3448)YMIN(17.9042)XMAX(-91.4534)YMAX(34.0921)WIDTH(1024)HEIGHT(1024)</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003200/a003200.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_emily.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>This is a composite image of all of the available individual images together.</Abstract>
+						</Style>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3200_22108_648221</Name>
+							<Title>2005-07-16 15:45</Title>
+							<Abstract>Emily was a record-setting storm for many reasons. When it formed on July 11, Emily became the earliest fifth named storm on record. As it moved through the Caribbean, Emily intensified into a powerful Category 4 storm with winds over 250 kilometers per hour (150 mph) and gusts as high as 300 kilometers per hour (184 mph), making it the most powerful storm to form before August. The previous record was set by Hurricane Dennis, which ripped through the Caribbean during the first week of July 2005. Emily's Category 4 status also made 2005 the only year to produce two Category 4 storms before the end of July.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-83.5162</westBoundLongitude>
+								<eastBoundLongitude>-70.4808</eastBoundLongitude>
+								<southBoundLatitude>8.9033</southBoundLatitude>
+								<northBoundLatitude>25.0922</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-83.5162" miny="8.9033" maxx="-70.4808" maxy="25.0922"/>
+							<Dimension name="time" units="ISO8601" default="2005-07-16T15:45Z">2005-07-16T15:45Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-07-16T15:45Z)XMIN(-83.5162)YMIN(8.9033)XMAX(-70.4808)YMAX(25.0922)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-16T15:45Z)XMIN(-83.5162)YMIN(8.9033)XMAX(-70.4808)YMAX(25.0922)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003200/a003200.fgdc"/>
+							</MetadataURL>
+							<DataURL>
+								<Format>text/html</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_emily.html"/>
+							</DataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3200_22108_648222</Name>
+							<Title>2005-07-17 16:25</Title>
+							<Abstract>Emily was a record-setting storm for many reasons. When it formed on July 11, Emily became the earliest fifth named storm on record. As it moved through the Caribbean, Emily intensified into a powerful Category 4 storm with winds over 250 kilometers per hour (150 mph) and gusts as high as 300 kilometers per hour (184 mph), making it the most powerful storm to form before August. The previous record was set by Hurricane Dennis, which ripped through the Caribbean during the first week of July 2005. Emily's Category 4 status also made 2005 the only year to produce two Category 4 storms before the end of July.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-91.6981</westBoundLongitude>
+								<eastBoundLongitude>-78.2995</eastBoundLongitude>
+								<southBoundLatitude>9.9043</southBoundLatitude>
+								<northBoundLatitude>26.0927</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-91.6981" miny="9.9043" maxx="-78.2995" maxy="26.0927"/>
+							<Dimension name="time" units="ISO8601" default="2005-07-17T16:25Z">2005-07-17T16:25Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-07-17T16:25Z)XMIN(-91.6981)YMIN(9.9043)XMAX(-78.2995)YMAX(26.0927)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-17T16:25Z)XMIN(-91.6981)YMIN(9.9043)XMAX(-78.2995)YMAX(26.0927)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003200/a003200.fgdc"/>
+							</MetadataURL>
+							<DataURL>
+								<Format>text/html</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_emily.html"/>
+							</DataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3200_22108_648223</Name>
+							<Title>2005-07-18 17:10</Title>
+							<Abstract>Emily was a record-setting storm for many reasons. When it formed on July 11, Emily became the earliest fifth named storm on record. As it moved through the Caribbean, Emily intensified into a powerful Category 4 storm with winds over 250 kilometers per hour (150 mph) and gusts as high as 300 kilometers per hour (184 mph), making it the most powerful storm to form before August. The previous record was set by Hurricane Dennis, which ripped through the Caribbean during the first week of July 2005. Emily's Category 4 status also made 2005 the only year to produce two Category 4 storms before the end of July.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-101.3208</westBoundLongitude>
+								<eastBoundLongitude>-83.279</eastBoundLongitude>
+								<southBoundLatitude>13.5513</southBoundLatitude>
+								<northBoundLatitude>32.4454</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-101.3208" miny="13.5513" maxx="-83.279" maxy="32.4454"/>
+							<Dimension name="time" units="ISO8601" default="2005-07-18T17:10Z">2005-07-18T17:10Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-07-18T17:10Z)XMIN(-101.3208)YMIN(13.5513)XMAX(-83.279)YMAX(32.4454)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-18T17:10Z)XMIN(-101.3208)YMIN(13.5513)XMAX(-83.279)YMAX(32.4454)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003200/a003200.fgdc"/>
+							</MetadataURL>
+							<DataURL>
+								<Format>text/html</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_emily.html"/>
+							</DataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3200_22108_648224</Name>
+							<Title>2005-07-19 19:20</Title>
+							<Abstract>Emily was a record-setting storm for many reasons. When it formed on July 11, Emily became the earliest fifth named storm on record. As it moved through the Caribbean, Emily intensified into a powerful Category 4 storm with winds over 250 kilometers per hour (150 mph) and gusts as high as 300 kilometers per hour (184 mph), making it the most powerful storm to form before August. The previous record was set by Hurricane Dennis, which ripped through the Caribbean during the first week of July 2005. Emily's Category 4 status also made 2005 the only year to produce two Category 4 storms before the end of July.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-100.2006</westBoundLongitude>
+								<eastBoundLongitude>-87.7963</eastBoundLongitude>
+								<southBoundLatitude>16.8039</southBoundLatitude>
+								<northBoundLatitude>31.1941</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-100.2006" miny="16.8039" maxx="-87.7963" maxy="31.1941"/>
+							<Dimension name="time" units="ISO8601" default="2005-07-19T19:20Z">2005-07-19T19:20Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-07-19T19:20Z)XMIN(-100.2006)YMIN(16.8039)XMAX(-87.7963)YMAX(31.1941)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-19T19:20Z)XMIN(-100.2006)YMIN(16.8039)XMAX(-87.7963)YMAX(31.1941)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003200/a003200.fgdc"/>
+							</MetadataURL>
+							<DataURL>
+								<Format>text/html</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_emily.html"/>
+							</DataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3200_22108_648225</Name>
+							<Title>2005-07-20 20:05</Title>
+							<Abstract>Emily was a record-setting storm for many reasons. When it formed on July 11, Emily became the earliest fifth named storm on record. As it moved through the Caribbean, Emily intensified into a powerful Category 4 storm with winds over 250 kilometers per hour (150 mph) and gusts as high as 300 kilometers per hour (184 mph), making it the most powerful storm to form before August. The previous record was set by Hurricane Dennis, which ripped through the Caribbean during the first week of July 2005. Emily's Category 4 status also made 2005 the only year to produce two Category 4 storms before the end of July.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-105.3448</westBoundLongitude>
+								<eastBoundLongitude>-91.4534</eastBoundLongitude>
+								<southBoundLatitude>17.9042</southBoundLatitude>
+								<northBoundLatitude>34.0921</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-105.3448" miny="17.9042" maxx="-91.4534" maxy="34.0921"/>
+							<Dimension name="time" units="ISO8601" default="2005-07-20T20:05Z">2005-07-20T20:05Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-07-20T20:05Z)XMIN(-105.3448)YMIN(17.9042)XMAX(-91.4534)YMAX(34.0921)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-20T20:05Z)XMIN(-105.3448)YMIN(17.9042)XMAX(-91.4534)YMAX(34.0921)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003200/a003200.fgdc"/>
+							</MetadataURL>
+							<DataURL>
+								<Format>text/html</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_emily.html"/>
+							</DataURL>
+						</Layer>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3199_22125</Name>
+					<Title>Global Surface Latent Heat Flux during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>As the Sun's energy reaches the Earth, it is either reflected, absorbed by the clouds, or absorbed by the Earth's surface.  The part absorbed by the surface heats the Earth, which causes surface water to evaporate to the air, particularly over oceans or moist land.  Similarly, a cold surface causes water to condense from the air onto the land or ocean.  Latent heat flux is the amount of energy moving from the surface to the air due to evapolation (positive values) or from the air to the land due to condensation (negative values).  This animation shows the latent heat flux for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  The animation clearly shows the evaporation over land only during the heat of the day, while the evaporation over the ocean is continuous throughout the day.  The highest positive latent heat flux occurs during hurricanes and typhoons, as these events are powered by the movement of heat energy from the warm ocean to the atmosphere, seen here in Hurricane Frances and Typhoon Songda.  Significant negative latent heat flux is somewhat rare and occurs over the ocean only during certain configurations of air and surface conditions.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Heat Flux</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003199/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003199/a003199.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global surface latent heat flux from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003199/lhfx_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3198_22136</Name>
+					<Title>Global Surface Air Temperature during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>As the Sun's energy reaches the Earth, it is either reflected, absorbed by the clouds, or absorbed by the Earth's surface.  The part absorbed by the Earth's surface heats the Earth, which then heats the air just above the surface.  This process occurs rapidly in the case of dry land and slowly in the case of the oceans. This animation shows the surface air temperature at an altitude of 2 meters for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  The animation clearly shows the air over land reacting rapidly to solar heating during the day and cooling at night, while the daily solar cyle is not visible in the temperature of the air over the ocean.  A very dynamic region of changing air temperature is visible in the interaction between the cold air over Antarctica and the warmer mid-latitude air over the southern oceans during this region of polar night.  Hurricane Frances and Typhhon Songda are just barely visible as circulating temperature patterns in the western Atlantic and Pacific Oceans.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Temperature:Surface Air Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003198/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003198/a003198.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global surface air temperature from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.
+</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003198/t2m_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3197_22130</Name>
+					<Title>Global Atmospheric Surface Pressure during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>The weight of the Earth's atmosphere exerts pressure on the surface of the Earth.  This pressure varies from place-to-place due the variations in the Earth's surface since higher altitudes have less atmosphere above them than lower altitudes.  Atmospheric pressure also varies from time-to-time due to the uneven heating of the atmosphere by the sun and the rotation of the Earth, causing weather.  This animation shows the atmospheric surface pressure for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  The major changes in pressure occur over land where the surface altitude varies, but the sharp, moving low pressures areas for Frances and Songda can be clearly seen in the oceans.  Since changing surface pressure areas over land are hard to see in these images due to the strong altitude variations, plots of the atmospheric surface pressure are almost never used to study the weather.  A different plot, of sea-level pressure, is used instead.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Pressure:Surface Pressure</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003197/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003197/a003197.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global atmospheric surface pressure from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003197/ps_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Progression of Hurricane Dennis, 2005</Title>
+					<Abstract>The formation of Hurricane Dennis on July 5 made that the earliest date on record that four named storms formed in the Atlantic basin.  Dennis proved to be a powerful and destructive storm in the Caribbean Sea and the Gulf of Mexico. It crossed over Cuba on July 8 and 9, leaving at least 10 dead, and caused additional deaths in Haiti. After re-emerging over open water, Dennis re-strengthened into a dangerous Category 4 hurricane with top wind speeds of 233 kilometers per hour (145 mph).  The storm passed within 90 kilometers (55 miles) of Pensacola, Florida, and hit land about 80 kilometers (50 miles) east of where Hurricane Ivan struck in September, 2004. A large storm surge of more than 10 feet was created in certain areas, and many homes and businesses in low-lying areas were flooded.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003194/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003194/a003194.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_dennis.html"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3194_22037</Name>
+						<Title>Hurricane Dennis Overview (1024x1024 Image)</Title>
+						<Abstract>The formation of Hurricane Dennis on July 5 made that the earliest date on record that four named storms formed in the Atlantic basin.  Dennis proved to be a powerful and destructive storm in the Caribbean Sea and the Gulf of Mexico. It crossed over Cuba on July 8 and 9, leaving at least 10 dead, and caused additional deaths in Haiti. After re-emerging over open water, Dennis re-strengthened into a dangerous Category 4 hurricane with top wind speeds of 233 kilometers per hour (145 mph).  The storm passed within 90 kilometers (55 miles) of Pensacola, Florida, and hit land about 80 kilometers (50 miles) east of where Hurricane Ivan struck in September, 2004. A large storm surge of more than 10 feet was created in certain areas, and many homes and businesses in low-lying areas were flooded.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-95.7348</westBoundLongitude>
+							<eastBoundLongitude>-62.7839</eastBoundLongitude>
+							<southBoundLatitude>8.9033</southBoundLatitude>
+							<northBoundLatitude>42.149</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-95.7348" miny="8.9033" maxx="-62.7839" maxy="42.149"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003194/a003194.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_dennis.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>This image shows a composite of the individual images available.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3194_22037</Name>
+						<Title>Hurricane Dennis (Sequence)</Title>
+						<Abstract>The formation of Hurricane Dennis on July 5 made that the earliest date on record that four named storms formed in the Atlantic basin.  Dennis proved to be a powerful and destructive storm in the Caribbean Sea and the Gulf of Mexico. It crossed over Cuba on July 8 and 9, leaving at least 10 dead, and caused additional deaths in Haiti. After re-emerging over open water, Dennis re-strengthened into a dangerous Category 4 hurricane with top wind speeds of 233 kilometers per hour (145 mph).  The storm passed within 90 kilometers (55 miles) of Pensacola, Florida, and hit land about 80 kilometers (50 miles) east of where Hurricane Ivan struck in September, 2004. A large storm surge of more than 10 feet was created in certain areas, and many homes and businesses in low-lying areas were flooded.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-95.7348</westBoundLongitude>
+							<eastBoundLongitude>-62.7839</eastBoundLongitude>
+							<southBoundLatitude>8.9033</southBoundLatitude>
+							<northBoundLatitude>42.149</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-95.7348" miny="8.9033" maxx="-62.7839" maxy="42.149"/>
+						<Dimension name="sequence" units="" default="TIME(2005-07-10T16:15Z)XMIN(-95.7348)YMIN(19.589)XMAX(-73.0861)YMAX(42.149)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-06T15:05Z)XMIN(-77.2144)YMIN(9.6031)XMAX(-62.7839)YMAX(20.3955)WIDTH(1024)HEIGHT(1024),TIME(2005-07-07T15:50Z)XMIN(-82.0162)YMIN(8.9033)XMAX(-68.9808)YMAX(25.0922)WIDTH(1024)HEIGHT(1024),TIME(2005-07-09T18:45Z)XMIN(-94.9706)YMIN(14.4642)XMAX(-73.0268)YMAX(37.5326)WIDTH(1024)HEIGHT(1024),TIME(2005-07-10T16:15Z)XMIN(-95.7348)YMIN(19.589)XMAX(-73.0861)YMAX(42.149)WIDTH(1024)HEIGHT(1024)</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003194/a003194.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_dennis.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>This image shows a composite of the individual images available.</Abstract>
+						</Style>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3194_22032_645548</Name>
+							<Title>2005-07-06 15:05</Title>
+							<Abstract>The formation of Hurricane Dennis on July 5 made that the earliest date on record that four named storms formed in the Atlantic basin.  Dennis proved to be a powerful and destructive storm in the Caribbean Sea and the Gulf of Mexico. It crossed over Cuba on July 8 and 9, leaving at least 10 dead, and caused additional deaths in Haiti. After re-emerging over open water, Dennis re-strengthened into a dangerous Category 4 hurricane with top wind speeds of 233 kilometers per hour (145 mph).  The storm passed within 90 kilometers (55 miles) of Pensacola, Florida, and hit land about 80 kilometers (50 miles) east of where Hurricane Ivan struck in September, 2004. A large storm surge of more than 10 feet was created in certain areas, and many homes and businesses in low-lying areas were flooded.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-77.2144</westBoundLongitude>
+								<eastBoundLongitude>-62.7839</eastBoundLongitude>
+								<southBoundLatitude>9.6031</southBoundLatitude>
+								<northBoundLatitude>20.3955</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-77.2144" miny="9.6031" maxx="-62.7839" maxy="20.3955"/>
+							<Dimension name="time" units="ISO8601" default="2005-07-06T15:05Z">2005-07-06T15:05Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-07-06T15:05Z)XMIN(-77.2144)YMIN(9.6031)XMAX(-62.7839)YMAX(20.3955)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-06T15:05Z)XMIN(-77.2144)YMIN(9.6031)XMAX(-62.7839)YMAX(20.3955)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003194/a003194.fgdc"/>
+							</MetadataURL>
+							<DataURL>
+								<Format>text/html</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_dennis.html"/>
+							</DataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3194_22032_645549</Name>
+							<Title>2005-07-07 15:50</Title>
+							<Abstract>The formation of Hurricane Dennis on July 5 made that the earliest date on record that four named storms formed in the Atlantic basin.  Dennis proved to be a powerful and destructive storm in the Caribbean Sea and the Gulf of Mexico. It crossed over Cuba on July 8 and 9, leaving at least 10 dead, and caused additional deaths in Haiti. After re-emerging over open water, Dennis re-strengthened into a dangerous Category 4 hurricane with top wind speeds of 233 kilometers per hour (145 mph).  The storm passed within 90 kilometers (55 miles) of Pensacola, Florida, and hit land about 80 kilometers (50 miles) east of where Hurricane Ivan struck in September, 2004. A large storm surge of more than 10 feet was created in certain areas, and many homes and businesses in low-lying areas were flooded.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-82.0162</westBoundLongitude>
+								<eastBoundLongitude>-68.9808</eastBoundLongitude>
+								<southBoundLatitude>8.9033</southBoundLatitude>
+								<northBoundLatitude>25.0922</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-82.0162" miny="8.9033" maxx="-68.9808" maxy="25.0922"/>
+							<Dimension name="time" units="ISO8601" default="2005-07-07T15:50Z">2005-07-07T15:50Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-07-07T15:50Z)XMIN(-82.0162)YMIN(8.9033)XMAX(-68.9808)YMAX(25.0922)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-07T15:50Z)XMIN(-82.0162)YMIN(8.9033)XMAX(-68.9808)YMAX(25.0922)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003194/a003194.fgdc"/>
+							</MetadataURL>
+							<DataURL>
+								<Format>text/html</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_dennis.html"/>
+							</DataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3194_22032_645550</Name>
+							<Title>2005-07-09 18:45</Title>
+							<Abstract>The formation of Hurricane Dennis on July 5 made that the earliest date on record that four named storms formed in the Atlantic basin.  Dennis proved to be a powerful and destructive storm in the Caribbean Sea and the Gulf of Mexico. It crossed over Cuba on July 8 and 9, leaving at least 10 dead, and caused additional deaths in Haiti. After re-emerging over open water, Dennis re-strengthened into a dangerous Category 4 hurricane with top wind speeds of 233 kilometers per hour (145 mph).  The storm passed within 90 kilometers (55 miles) of Pensacola, Florida, and hit land about 80 kilometers (50 miles) east of where Hurricane Ivan struck in September, 2004. A large storm surge of more than 10 feet was created in certain areas, and many homes and businesses in low-lying areas were flooded.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-94.9706</westBoundLongitude>
+								<eastBoundLongitude>-73.0268</eastBoundLongitude>
+								<southBoundLatitude>14.4642</southBoundLatitude>
+								<northBoundLatitude>37.5326</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-94.9706" miny="14.4642" maxx="-73.0268" maxy="37.5326"/>
+							<Dimension name="time" units="ISO8601" default="2005-07-09T18:45Z">2005-07-09T18:45Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-07-09T18:45Z)XMIN(-94.9706)YMIN(14.4642)XMAX(-73.0268)YMAX(37.5326)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-09T18:45Z)XMIN(-94.9706)YMIN(14.4642)XMAX(-73.0268)YMAX(37.5326)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003194/a003194.fgdc"/>
+							</MetadataURL>
+							<DataURL>
+								<Format>text/html</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_dennis.html"/>
+							</DataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3194_22032_645551</Name>
+							<Title>2005-07-10 16:15</Title>
+							<Abstract>The formation of Hurricane Dennis on July 5 made that the earliest date on record that four named storms formed in the Atlantic basin.  Dennis proved to be a powerful and destructive storm in the Caribbean Sea and the Gulf of Mexico. It crossed over Cuba on July 8 and 9, leaving at least 10 dead, and caused additional deaths in Haiti. After re-emerging over open water, Dennis re-strengthened into a dangerous Category 4 hurricane with top wind speeds of 233 kilometers per hour (145 mph).  The storm passed within 90 kilometers (55 miles) of Pensacola, Florida, and hit land about 80 kilometers (50 miles) east of where Hurricane Ivan struck in September, 2004. A large storm surge of more than 10 feet was created in certain areas, and many homes and businesses in low-lying areas were flooded.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-95.7348</westBoundLongitude>
+								<eastBoundLongitude>-73.0861</eastBoundLongitude>
+								<southBoundLatitude>19.589</southBoundLatitude>
+								<northBoundLatitude>42.149</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-95.7348" miny="19.589" maxx="-73.0861" maxy="42.149"/>
+							<Dimension name="time" units="ISO8601" default="2005-07-10T16:15Z">2005-07-10T16:15Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-07-10T16:15Z)XMIN(-95.7348)YMIN(19.589)XMAX(-73.0861)YMAX(42.149)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-10T16:15Z)XMIN(-95.7348)YMIN(19.589)XMAX(-73.0861)YMAX(42.149)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003194/a003194.fgdc"/>
+							</MetadataURL>
+							<DataURL>
+								<Format>text/html</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_dennis.html"/>
+							</DataURL>
+						</Layer>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Monthly Snow Climatology, 1979-2002</Title>
+					<Abstract>The extent of snow and ice that covers the earth's surface in the northern hemisphere grows and shrinks with the seasons.  This animations shows the average snow and ice cover for a given month over a 24-year period, 1979 - 2002.  It shows how often a particular point is covered with snow in a given month.  The SVS Image Server gives each particular image in the animation the last date for which the data was used in creating that image, even though each of the images covers a span of years for a particular month.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Snow</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003185/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003185/a003185.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="600" fixedHeight="200">
+						<Name>3185_21913</Name>
+						<Title>Monthly Snow Climatology, 1979-2002 (600x200 Animation)</Title>
+						<Abstract>The extent of snow and ice that covers the earth's surface in the northern hemisphere grows and shrinks with the seasons.  This animations shows the average snow and ice cover for a given month over a 24-year period, 1979 - 2002.  It shows how often a particular point is covered with snow in a given month.  The SVS Image Server gives each particular image in the animation the last date for which the data was used in creating that image, even though each of the images covers a span of years for a particular month.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Snow</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2002-12">2002-01/2002-12/P1M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003185/a003185.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the average snow cover for a given month over a 23-year period. The frames provide a transparent overlay. A background image taken from NASA's Blue Marble is also provided.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003185/snowC_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the average snow cover for a given month over a 23-year period. The frames provide a transparent overlay. A background image taken from NASA's Blue Marble is also provided.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003185/snowC_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="600" fixedHeight="200">
+						<Name>3185_21913_bg</Name>
+						<Title>Background Image for Monthly Snow Climatology, 1979-2002 (WMS)</Title>
+						<Abstract>The extent of snow and ice that covers the earth's surface in the northern hemisphere grows and shrinks with the seasons.  This animations shows the average snow and ice cover for a given month over a 24-year period, 1979 - 2002.  It shows how often a particular point is covered with snow in a given month.  The SVS Image Server gives each particular image in the animation the last date for which the data was used in creating that image, even though each of the images covers a span of years for a particular month.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Snow</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003185/a003185.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3182_22152</Name>
+					<Title>Global Atmospheric Sea Level Pressure during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>The weight of the Earth's atmosphere exerts pressure on the surface of the Earth.  This pressure varies from place-to-place due the variations in the Earth's surface since higher altitudes have less atmosphere above them than lower altitudes.  Atmospheric pressure also varies from time-to-time due to the uneven heating of the atmosphere by the sun and the rotation of the Earth, causing weather.  In order to see the changes in pressure which affect the weather, the variation due to altitude is removed from the surface pressure, creating a quantity called sea level pressure.  This animation shows the atmospheric sea level pressure for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  The sharp, moving low pressures areas for Frances and Songda can be clearly seen in the oceans.  Even with the direct effect of altitude removed, cold high-altitude regions such as the South Pole and the Himalayan Plateau still exhibit lower-than-normal pressures, probably due to the interaction of cold air over those regions with the warmer air in the surrounding regions.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Pressure:Sea Level Pressure</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003182/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003182/a003182.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global atmospheric sea level pressure from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003182/slp_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3179_21773</Name>
+					<Title>Scene Identification Compared to Clouds (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The amount of reflection and absorption is critical to the climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the scene identification as measured by CERES during 29 orbits on June 20 and 21 of 2003.  By comparing the incoming solar radiation with the outgoing reflected and thermal radiation, it is possible to identify the type of area being viewed, whether it be land, clouds, ocean, or ice.  This scene identification is used together with the radiation flux measurements to build up a complete picture of the Earth's energy budget over time.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Surface Radiative Properties:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Reflectance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003179/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003179/a003179.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows 29 orbits (2 days) of CERES measurements of regions of solar reflectivity, from June 20-21, 2003.  The measurements are superimposed over a global infrared cloud cover composite from the same period.</Abstract>
+						<LegendURL width="320" height="110">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003179/erbidbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3178_21767</Name>
+					<Title>Incoming Solar Flux Compared to Clouds (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The amount of reflection and absorption is critical to the climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the incoming solar radiation within view of CERES during 29 orbits on June 20 and 21 of 2003.  Because this is incoming solar flux, its magnitude only depends on the position of the sun, and, because the orbit is synchronized with the sun, the orbit crosses the equator in the daylight at about 1:30 PM local time on every orbit.  This data is not actually measured from CERES, but is calculated to compare with the outgoing radiation that CERES does measure.  Note that the infrared cloud image shown under the solar data shows high infrared as dark (land) and low infrared as light (clouds).</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Incoming Solar Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Solar Irradiance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Sun-earth Interactions:Solar Activity:Solar Irradiance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003178/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003178/a003178.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows incoming solar flux corresponding to 29 orbits (2 days) of CERES measurements, from June 20-21, 2003. This data is calculated using data from SORCE for the flux magnitude at the Earths orbit, coupled with solar incidence angles based on CERES measurement locations and times.  The measurements are superimposed over a global infrared cloud cover composite from the same period.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003178/incswbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3177_21760</Name>
+					<Title>Net Radiation Flux Compared to Clouds (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The amount of reflection and absorption is critical to the climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the net radiation flux within view of CERES during 29 orbits on June 20 and 21 of 2003.  The net flux is the incoming solar flux minus the outgoing reflected (shortwave) and thermal (longwave) radiation.  If the flux in a region is positive, the Earth is being warmed by the sun in that region, while cooling regions have a negative flux.  It is clear from the animation that the most intensive heating occurs in ocean regions with few clouds, while the second most intense are cloud-free regions over vegetated land areas.  Deserts, cloudy regions, and ice caps all reflect enough solar radiation to reduce the amount of heating.  Regions of night are, of course, cooling regions because there is no incoming flux at all.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Net Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Radiative Flux</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Top Temperature</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003177/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003177/a003177.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows net radiation flux corresponding to 29 orbits (2 days) of CERES measurements, from June 20-21, 2003. This data is calculated from CERES outgoing longwave and shortwave measurements, along with a corresponding calculated incoming solar flux.  The measurements are superimposed over a global infrared cloud cover composite from the same period.  </Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003177/netflbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3176_21754</Name>
+					<Title>Outgoing Longwave Flux Compared to Clouds (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights.  The amount of reflection and absorption is critical to the climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the outgoing thermal radiation measured by CERES during 29 orbits on June 20 and 21 of 2003 over global infrared cloud images.   Thermal radiation is longwave radiation and depends on the temperature of the earth, with the most intense radiation coming from the warmest regions and the least from cold clouds in the atmosphere.  Although cold clouds and the cold Antarctic night regions can be seen in this data, the Earth radiates pretty uniformly in the longwave bands because the atmosphere distributes the heat of the sun to the whole planet.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Outgoing Longwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Top Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Longwave Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003176/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003176/a003176.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows 29 orbits (2 days) of outgoing longwave radiation, form June 20-21, 2003.  The measurements are superimposed over a global infrared cloud cover composite from the same period.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003176/outlwbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3175_21743</Name>
+					<Title>Outgoing Shortwave Flux Compared to Clouds (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights.  The amount of reflection and absorption is critical to the climate.  An  instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the reflected solar radiation measured by CERES during 29 orbits on June 20 and 21 of 2003 over infrared cloud images  for the same period.  Reflected solar radiation is shortwave radiation, and the most intense reflection comes from clouds.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Shortwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Shortwave Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003175/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003175/a003175.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows 29 orbits (2 days) of CERES measurements of outgoing shortwave radiation, from June 20-21, 2003.  The measurements are superimposed over a global infrared cloud cover composite from the same period.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003175/outswbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="2040" fixedHeight="504">
+					<Name>3171_21745</Name>
+					<Title>Wind Anomalies during El Nino/La Nina Event of 1997-1998 (2040x504 Animation)</Title>
+					<Abstract>The El Nino/La Nina event in 1997-1999 was particularly intense, but was also very well observed by satellites and buoys. Deviations from normal winds speeds and directions of the were computed using data from the Special Sensor Microwave/Imager (SSMI) on the Tropical Rainfall Measuring Mission (TRMM) satellite.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Surface Winds</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Winds:Surface Winds</Keyword>
+						<Keyword vocabulary="GCMD">Location:Pacific Ocean</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>120</westBoundLongitude>
+						<eastBoundLongitude>-70</eastBoundLongitude>
+						<southBoundLatitude>-21</southBoundLatitude>
+						<northBoundLatitude>21</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="120" miny="-21" maxx="-70" maxy="21"/>
+					<Dimension name="time" units="ISO8601" default="1999-12-31">1997-01-07/1997-01-21/P7D,1997-01-31/1997-03-21/P7D,1997-03-31/1997-04-21/P7D,1997-04-30/1997-05-21/P7D,1997-05-31/1997-06-21/P7D,1997-06-30/1997-07-21/P7D,1997-07-31/1997-08-21/P7D,1997-08-31/1997-09-21/P7D,1997-09-30/1997-10-21/P7D,1997-10-31/1997-11-21/P7D,1997-11-30/1997-12-21/P7D,1997-12-31/1998-01-21/P7D,1998-01-31/1998-03-21/P7D,1998-03-31/1998-04-21/P7D,1998-04-30/1998-05-21/P7D,1998-05-31/1998-06-21/P7D,1998-06-30/1998-07-21/P7D,1998-07-31/1998-08-21/P7D,1998-08-31/1998-09-21/P7D,1998-09-30/1998-10-21/P7D,1998-10-31/1998-11-21/P7D,1998-11-30/1998-12-21/P7D,1998-12-31/1999-01-21/P7D,1999-01-31/1999-03-21/P7D,1999-03-31/1999-04-21/P7D,1999-04-30/1999-05-21/P7D,1999-05-31/1999-06-21/P7D,1999-06-30/1999-07-21/P7D,1999-07-31/1999-08-21/P7D,1999-08-31/1999-09-21/P7D,1999-09-30/1999-10-21/P7D,1999-10-31/1999-11-21/P7D,1999-11-30/1999-12-21/P7D,1999-12-31</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003171/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003171/a003171.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows El Nino and La Nina from
+1997 through 1998. Each frame is a ten-day average of wind
+anomalies--that is, of differences from normal wind velocities.
+The area shown in the animation is the Pacific ocean
+from -21 to +21 latitude and +120 to +290 East
+longitude.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003171/colorbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>X-Ray Images of the North Polar Region</Title>
+					<Abstract>Here are X-rays images (shown on the same brightness scale) of the north polar region obtained by Chandra HRC-I on different days, showing large variability in soft (0.1-10.0 keV) X-ray emissions from Earth s aurora. Note that the images are not snap shots, but are approximately 20-min scans of the northern auroral region in the HRC-I field-of-view. The brightness scale in Rayleighs (R) assumes an average effective area of 40 cm2. The day-night terminator at an altitude of 0 km is displayed with lighting. The day-night terminator at an altitude of 100 km is shown by the blue line.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Atmospheric Emitted Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Sun-earth Interactions:Ionosphere/Magnetosphere Particles:Aurorae</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003170/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003170/a003170.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="922" fixedHeight="461">
+						<Name>3170_21483</Name>
+						<Title>X-Ray Images of the North Polar Region (922x461 Animation)</Title>
+						<Abstract>Here are X-rays images (shown on the same brightness scale) of the north polar region obtained by Chandra HRC-I on different days, showing large variability in soft (0.1-10.0 keV) X-ray emissions from Earth s aurora. Note that the images are not snap shots, but are approximately 20-min scans of the northern auroral region in the HRC-I field-of-view. The brightness scale in Rayleighs (R) assumes an average effective area of 40 cm2. The day-night terminator at an altitude of 0 km is displayed with lighting. The day-night terminator at an altitude of 100 km is shown by the blue line.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Atmospheric Emitted Radiation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Sun-earth Interactions:Ionosphere/Magnetosphere Particles:Aurorae</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2004-04-13T04:07:00Z">2004-01-24T20:22:19Z,2004-01-30T03:26:50Z,2004-02-14T00:18:00Z,2004-04-13T04:07:00Z</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003170/a003170.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>X-ray emissions from Earth's aurora.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003170/chandra_xray_brightness.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>X-ray emissions from Earth's aurora.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003170/chandra_xray_brightness.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="922" fixedHeight="461">
+						<Name>3170_21483_bg</Name>
+						<Title>Background Image for X-Ray Images of the North Polar Region (WMS)</Title>
+						<Abstract>Here are X-rays images (shown on the same brightness scale) of the north polar region obtained by Chandra HRC-I on different days, showing large variability in soft (0.1-10.0 keV) X-ray emissions from Earth s aurora. Note that the images are not snap shots, but are approximately 20-min scans of the northern auroral region in the HRC-I field-of-view. The brightness scale in Rayleighs (R) assumes an average effective area of 40 cm2. The day-night terminator at an altitude of 0 km is displayed with lighting. The day-night terminator at an altitude of 100 km is shown by the blue line.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Atmospheric Emitted Radiation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Sun-earth Interactions:Ionosphere/Magnetosphere Particles:Aurorae</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003170/a003170.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+					<Name>3169_21478</Name>
+					<Title>Sulfur Dioxide from the Mount Pinatubo Volcanic Eruption, 1991 (1024x256 Animation)</Title>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Aerosols:Sulfate Particles</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Air Quality:Sulfur Oxides</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Sulfur Compounds:Sulfur Dioxide</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Sulfur Compounds:Sulfur Oxides</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Geological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Volcanoes:Volcanic Gases</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-65</westBoundLongitude>
+						<eastBoundLongitude>125</eastBoundLongitude>
+						<southBoundLatitude>-18.75</southBoundLatitude>
+						<northBoundLatitude>28.75</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-65" miny="-18.75" maxx="125" maxy="28.75"/>
+					<Dimension name="time" units="ISO8601" default="1991-06-29">1991-06-16/1991-06-29/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003169/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003169/a003169.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows levels of sulfur dioxide in the atmosphere after the volcanic eruption of Mt. Pinatubo in the Philippines.</Abstract>
+						<LegendURL width="320" height="100">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003169/so2bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Progression of Hurricane Fabian, 2003</Title>
+					<Abstract>Hurricane Fabian threatened the Eastern Coast of the United States before it turned northward and hit the island of Bermuda instead.  Fabian came within 50 miles to the west of Bermuda on September 5th, 2003, with sustained winds of 117 miles per hour and with gusts of up to 130 miles per hour.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003158/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003158/a003158.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3158_21476</Name>
+						<Title>Hurricane Fabian Overview (1024x1024 Image)</Title>
+						<Abstract>Hurricane Fabian threatened the Eastern Coast of the United States before it turned northward and hit the island of Bermuda instead.  Fabian came within 50 miles to the west of Bermuda on September 5th, 2003, with sustained winds of 117 miles per hour and with gusts of up to 130 miles per hour.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-73.3988646679502</westBoundLongitude>
+							<eastBoundLongitude>-51.6878957662918</eastBoundLongitude>
+							<southBoundLatitude>12.1864453836873</southBoundLatitude>
+							<northBoundLatitude>46.2285439641392</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-73.3988646679502" miny="12.1864453836873" maxx="-51.6878957662918" maxy="46.2285439641392"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003158/a003158.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence for Hurricane Fabian.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3158_21476</Name>
+						<Title>Hurricane Fabian (Sequence)</Title>
+						<Abstract>Hurricane Fabian threatened the Eastern Coast of the United States before it turned northward and hit the island of Bermuda instead.  Fabian came within 50 miles to the west of Bermuda on September 5th, 2003, with sustained winds of 117 miles per hour and with gusts of up to 130 miles per hour.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-73.3988646679502</westBoundLongitude>
+							<eastBoundLongitude>-51.6878957662918</eastBoundLongitude>
+							<southBoundLatitude>12.1864453836873</southBoundLatitude>
+							<northBoundLatitude>46.2285439641392</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-73.3988646679502" miny="12.1864453836873" maxx="-51.6878957662918" maxy="46.2285439641392"/>
+						<Dimension name="sequence" units="" default="TIME(2003-09-06T17:05Z)XMIN(-71.9716053673508)YMIN(27.5548601648605)XMAX(-51.7096756196702)YMAX(46.2285439641392)WIDTH(1024)HEIGHT(1024)">TIME(2003-09-02T14:20Z)XMIN(-67.6655825812883)YMIN(12.1864453836873)XMAX(-51.6878957662918)YMAX(29.713525136042)WIDTH(1024)HEIGHT(1024),TIME(2003-09-03T15:05Z)XMIN(-70.9776173027262)YMIN(13.6760596194853)XMAX(-56.487052746793)YMAX(30.1395398125951)WIDTH(1024)HEIGHT(1024),TIME(2003-09-04T17:15Z)XMIN(-73.3988646679502)YMIN(16.658716042271)XMAX(-55.6280401234404)YMAX(35.208370482015)WIDTH(1024)HEIGHT(1024),TIME(2003-09-05T14:50Z)XMIN(-73.3839272370537)YMIN(22.8270411545016)XMAX(-55.2786233131957)YMAX(40.9370508103736)WIDTH(1024)HEIGHT(1024),TIME(2003-09-06T17:05Z)XMIN(-71.9716053673508)YMIN(27.5548601648605)XMAX(-51.7096756196702)YMAX(46.2285439641392)WIDTH(1024)HEIGHT(1024)</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003158/a003158.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence for Hurricane Fabian.</Abstract>
+						</Style>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3158_21378_526232</Name>
+							<Title>2003-09-02 14:20</Title>
+							<Abstract>Hurricane Fabian threatened the Eastern Coast of the United States before it turned northward and hit the island of Bermuda instead.  Fabian came within 50 miles to the west of Bermuda on September 5th, 2003, with sustained winds of 117 miles per hour and with gusts of up to 130 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-67.6655825812883</westBoundLongitude>
+								<eastBoundLongitude>-51.6878957662918</eastBoundLongitude>
+								<southBoundLatitude>12.1864453836873</southBoundLatitude>
+								<northBoundLatitude>29.713525136042</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-67.6655825812883" miny="12.1864453836873" maxx="-51.6878957662918" maxy="29.713525136042"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-02T14:20Z">2003-09-02T14:20Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-02T14:20Z)XMIN(-67.6655825812883)YMIN(12.1864453836873)XMAX(-51.6878957662918)YMAX(29.713525136042)WIDTH(1024)HEIGHT(1024)">TIME(2003-09-02T14:20Z)XMIN(-67.6655825812883)YMIN(12.1864453836873)XMAX(-51.6878957662918)YMAX(29.713525136042)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003158/a003158.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3158_21378_526233</Name>
+							<Title>2003-09-03 15:05</Title>
+							<Abstract>Hurricane Fabian threatened the Eastern Coast of the United States before it turned northward and hit the island of Bermuda instead.  Fabian came within 50 miles to the west of Bermuda on September 5th, 2003, with sustained winds of 117 miles per hour and with gusts of up to 130 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-70.9776173027262</westBoundLongitude>
+								<eastBoundLongitude>-56.487052746793</eastBoundLongitude>
+								<southBoundLatitude>13.6760596194853</southBoundLatitude>
+								<northBoundLatitude>30.1395398125951</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-70.9776173027262" miny="13.6760596194853" maxx="-56.487052746793" maxy="30.1395398125951"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-03T15:05Z">2003-09-03T15:05Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-03T15:05Z)XMIN(-70.9776173027262)YMIN(13.6760596194853)XMAX(-56.487052746793)YMAX(30.1395398125951)WIDTH(1024)HEIGHT(1024)">TIME(2003-09-03T15:05Z)XMIN(-70.9776173027262)YMIN(13.6760596194853)XMAX(-56.487052746793)YMAX(30.1395398125951)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003158/a003158.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3158_21378_526234</Name>
+							<Title>2003-09-04 17:15</Title>
+							<Abstract>Hurricane Fabian threatened the Eastern Coast of the United States before it turned northward and hit the island of Bermuda instead.  Fabian came within 50 miles to the west of Bermuda on September 5th, 2003, with sustained winds of 117 miles per hour and with gusts of up to 130 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-73.3988646679502</westBoundLongitude>
+								<eastBoundLongitude>-55.6280401234404</eastBoundLongitude>
+								<southBoundLatitude>16.658716042271</southBoundLatitude>
+								<northBoundLatitude>35.208370482015</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-73.3988646679502" miny="16.658716042271" maxx="-55.6280401234404" maxy="35.208370482015"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-04T17:15Z">2003-09-04T17:15Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-04T17:15Z)XMIN(-73.3988646679502)YMIN(16.658716042271)XMAX(-55.6280401234404)YMAX(35.208370482015)WIDTH(1024)HEIGHT(1024)">TIME(2003-09-04T17:15Z)XMIN(-73.3988646679502)YMIN(16.658716042271)XMAX(-55.6280401234404)YMAX(35.208370482015)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003158/a003158.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3158_21378_526235</Name>
+							<Title>2003-09-05 14:50</Title>
+							<Abstract>Hurricane Fabian threatened the Eastern Coast of the United States before it turned northward and hit the island of Bermuda instead.  Fabian came within 50 miles to the west of Bermuda on September 5th, 2003, with sustained winds of 117 miles per hour and with gusts of up to 130 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-73.3839272370537</westBoundLongitude>
+								<eastBoundLongitude>-55.2786233131957</eastBoundLongitude>
+								<southBoundLatitude>22.8270411545016</southBoundLatitude>
+								<northBoundLatitude>40.9370508103736</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-73.3839272370537" miny="22.8270411545016" maxx="-55.2786233131957" maxy="40.9370508103736"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-05T14:50Z">2003-09-05T14:50Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-05T14:50Z)XMIN(-73.3839272370537)YMIN(22.8270411545016)XMAX(-55.2786233131957)YMAX(40.9370508103736)WIDTH(1024)HEIGHT(1024)">TIME(2003-09-05T14:50Z)XMIN(-73.3839272370537)YMIN(22.8270411545016)XMAX(-55.2786233131957)YMAX(40.9370508103736)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003158/a003158.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3158_21378_526236</Name>
+							<Title>2003-09-06 17:05</Title>
+							<Abstract>Hurricane Fabian threatened the Eastern Coast of the United States before it turned northward and hit the island of Bermuda instead.  Fabian came within 50 miles to the west of Bermuda on September 5th, 2003, with sustained winds of 117 miles per hour and with gusts of up to 130 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-71.9716053673508</westBoundLongitude>
+								<eastBoundLongitude>-51.7096756196702</eastBoundLongitude>
+								<southBoundLatitude>27.5548601648605</southBoundLatitude>
+								<northBoundLatitude>46.2285439641392</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-71.9716053673508" miny="27.5548601648605" maxx="-51.7096756196702" maxy="46.2285439641392"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-06T17:05Z">2003-09-06T17:05Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-06T17:05Z)XMIN(-71.9716053673508)YMIN(27.5548601648605)XMAX(-51.7096756196702)YMAX(46.2285439641392)WIDTH(1024)HEIGHT(1024)">TIME(2003-09-06T17:05Z)XMIN(-71.9716053673508)YMIN(27.5548601648605)XMAX(-51.7096756196702)YMAX(46.2285439641392)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003158/a003158.fgdc"/>
+							</MetadataURL>
+						</Layer>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="1000">
+					<Name>3157_21374</Name>
+					<Title>Urban Signatures: Sensible Heat Flux (1000x1000 Image)</Title>
+					<Abstract>Big cities influence the environment around them. For example, urban areas are typically warmer than their surroundings. Cities are strikingly visible in computer models that simulate the Earth's land surface. This visualization shows sensible heat flux predicted by the Land Information System (LIS) for a day in June 2001. (Sensible heat flux refers to transfer of heat from the earth's surface to the air above; for further explanation see http://www.uwsp.edu/geo/faculty/ritter/geog101/textbook/energy/energy_balance.html). Sensible heat flux is higher in the cities--that is, they transfer more heat to the atmosphere--because the surface there is warmer than in the surroundings. Only part of the global computation is shown, focusing on the highly urbanized northeast corridor in the United States, including the cities of Boston, New York, Philadelphia, Baltimore, and Washington.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Heat Flux</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Urban Lands</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Land Temperature:Land Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">Location:United States Of America</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-79.7</westBoundLongitude>
+						<eastBoundLongitude>-69.7</eastBoundLongitude>
+						<southBoundLatitude>34.5</southBoundLatitude>
+						<northBoundLatitude>44.5</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-79.7" miny="34.5" maxx="-69.7" maxy="44.5"/>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003157/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003157/a003157.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This image shows sensible heat flux (watts per
+square meter) predicted by LIS for 2001/06/11. The warm urban areas
+have higher positive flux (heat flowing towards the atmosphere)
+and stand out very distinctly against their
+surroundings.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003157/qh_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="1000">
+					<Name>3156_21370</Name>
+					<Title>Urban Signatures: Latent Heat Flux (1000x1000 Image)</Title>
+					<Abstract>Big cities influence the environment around them. For example, urban areas are typically warmer than their surroundings. Cities are strikingly visible in computer models that simulate the Earth's land surface. This visualization shows latent heat flux predicted by the Land Information System (LIS) for a day in June 2001. (Latent heat flux refers to the transfer of energy from the Earth's surface to the air above by evaporation of water on the surface; for a more detailed explanation see http://www.uwsp.edu/geo/faculty/ritter/geog101/textbook/energy/energy_balance.html). Latent heat flux is lower in the cities because there is less evaporation there. Only part of the global computation is shown, focusing on the highly urbanized northeast corridor in the United States, including the cities of Boston, New York, Philadelphia, Baltimore, and Washington.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Heat Flux</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Urban Lands</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Land Temperature:Land Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">Location:United States Of America</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-79.7</westBoundLongitude>
+						<eastBoundLongitude>-69.7</eastBoundLongitude>
+						<southBoundLatitude>34.5</southBoundLatitude>
+						<northBoundLatitude>44.5</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-79.7" miny="34.5" maxx="-69.7" maxy="44.5"/>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003156/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003156/a003156.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This image shows latent heat flux (watts per
+square meter) predicted by LIS for 2001/06/11. The urban areas
+stand out very distinctly against their surroundings, which have
+more evaporation and therefore greater latent heat
+flux.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003156/qle_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="1000">
+					<Name>3155_21366</Name>
+					<Title>Urban Signatures: Thermal Radiation (1000x1000 Image)</Title>
+					<Abstract>Big cities influence the environment around them. For example, urban areas are typically warmer than their surroundings. Cities are strikingly visible in computer models that simulate the Earth's land surface. This visualization shows outgoing thermal radiation predicted by the Land Information System (LIS) for a day in June 2001. Cities are warmer, so they emit more longwave (infrared) radiation. Only part of the global computation is shown, focusing on the highly urbanized northeast corridor in the United States, including the cities of Boston, New York, Philadelphia, Baltimore, and Washington.
+
+Additional Credit:
+NASA GSFC Land Information System (http://lis.gsfc.nasa.gov/)</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Outgoing Longwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Urban Lands</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">Location:United States Of America</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-79.7</westBoundLongitude>
+						<eastBoundLongitude>-69.7</eastBoundLongitude>
+						<southBoundLatitude>34.5</southBoundLatitude>
+						<northBoundLatitude>44.5</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-79.7" miny="34.5" maxx="-69.7" maxy="44.5"/>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003155/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003155/a003155.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This image shows outgoing thermal radiation
+(watts per square meter) predicted by LIS for 2001/06/11. The
+urban areas stand out very distinctly against their less
+radiative surroundings.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003155/thermal_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="1000">
+					<Name>3154_21362</Name>
+					<Title>Urban Signatures: Evaporation (1000x1000 Image)</Title>
+					<Abstract>Big cities influence the environment around them. For example, urban areas are typically warmer than their surroundings. Cities are strikingly visible in computer models that simulate the Earth's land surface. This visualization shows evaporation rates predicted by the Land Information System (LIS) for a day in June 2001. Evaporation is lower in the cities because water tends to run off pavement and into drains, rather than being absorbed by soil and plants from which it later evaporates. Only part of the global computation is shown, focusing on the highly urbanized northeast corridor in the United States, including the cities of Boston, New York, Philadelphia, Baltimore, and Washington.
+
+Additional Credit:
+NASA GSFC Land Information System (http://lis.gsfc.nasa.gov/)</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Evaporation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Urban Lands</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">Location:United States Of America</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-79.7</westBoundLongitude>
+						<eastBoundLongitude>-69.7</eastBoundLongitude>
+						<southBoundLatitude>34.5</southBoundLatitude>
+						<northBoundLatitude>44.5</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-79.7" miny="34.5" maxx="-69.7" maxy="44.5"/>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003154/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003154/a003154.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This image shows evaporation rate (milligrams
+per square meter per second) predicted by LIS for 2001/06/11.
+The urban areas stand out very distinctly against their
+more evaporative surroundings.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003154/evap_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Progression of Hurricane Charley, 2004</Title>
+					<Abstract>Hurricane Charley was the first of four hurricanes to hit the United States in 2004.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003153/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003153/a003153.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3153_21359</Name>
+						<Title>Hurricane Charley Overview (1024x1024 Image)</Title>
+						<Abstract>Hurricane Charley was the first of four hurricanes to hit the United States in 2004.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-90.525325927223</westBoundLongitude>
+							<eastBoundLongitude>-68.821045230809</eastBoundLongitude>
+							<southBoundLatitude>12.6028528928826</southBoundLatitude>
+							<northBoundLatitude>34.2722330213433</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-90.525325927223" miny="12.6028528928826" maxx="-68.821045230809" maxy="34.2722330213433"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003153/a003153.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence for Hurricane Charley.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3153_21359</Name>
+						<Title>Hurricane Charley (Sequence)</Title>
+						<Abstract>Hurricane Charley was the first of four hurricanes to hit the United States in 2004.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-90.525325927223</westBoundLongitude>
+							<eastBoundLongitude>-68.821045230809</eastBoundLongitude>
+							<southBoundLatitude>12.6028528928826</southBoundLatitude>
+							<northBoundLatitude>34.2722330213433</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-90.525325927223" miny="12.6028528928826" maxx="-68.821045230809" maxy="34.2722330213433"/>
+						<Dimension name="sequence" units="" default="TIME(2004-08-13T16:35Z)XMIN(-90.525325927223)YMIN(17.6179037119539)XMAX(-74.7645429695549)YMAX(34.2722330213433)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-11T18:15Z)XMIN(-83.1766)YMIN(12.6028528928826)XMAX(-68.821045230809)YMAX(23.3947)WIDTH(1024)HEIGHT(1024),TIME(2004-08-12T15:55Z)XMIN(-88.8944)YMIN(15.1524323006229)XMAX(-73.10328975389)YMAX(26.8436)WIDTH(1024)HEIGHT(1024),TIME(2004-08-13T16:35Z)XMIN(-90.525325927223)YMIN(17.6179037119539)XMAX(-74.7645429695549)YMAX(34.2722330213433)WIDTH(1024)HEIGHT(1024)</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003153/a003153.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence for Hurricane Charley.</Abstract>
+						</Style>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3153_21352_526229</Name>
+							<Title>2004-08-11 18:15</Title>
+							<Abstract>Hurricane Charley was the first of four hurricanes to hit the United States in 2004.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-83.1766</westBoundLongitude>
+								<eastBoundLongitude>-68.821045230809</eastBoundLongitude>
+								<southBoundLatitude>12.6028528928826</southBoundLatitude>
+								<northBoundLatitude>23.3947</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-83.1766" miny="12.6028528928826" maxx="-68.821045230809" maxy="23.3947"/>
+							<Dimension name="time" units="ISO8601" default="2004-08-11T18:15Z">2004-08-11T18:15Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-08-11T18:15Z)XMIN(-83.1766)YMIN(12.6028528928826)XMAX(-68.821045230809)YMAX(23.3947)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-11T18:15Z)XMIN(-83.1766)YMIN(12.6028528928826)XMAX(-68.821045230809)YMAX(23.3947)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003153/a003153.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3153_21352_526230</Name>
+							<Title>2004-08-12 15:55</Title>
+							<Abstract>Hurricane Charley was the first of four hurricanes to hit the United States in 2004.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-88.8944</westBoundLongitude>
+								<eastBoundLongitude>-73.10328975389</eastBoundLongitude>
+								<southBoundLatitude>15.1524323006229</southBoundLatitude>
+								<northBoundLatitude>26.8436</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-88.8944" miny="15.1524323006229" maxx="-73.10328975389" maxy="26.8436"/>
+							<Dimension name="time" units="ISO8601" default="2004-08-12T15:55Z">2004-08-12T15:55Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-08-12T15:55Z)XMIN(-88.8944)YMIN(15.1524323006229)XMAX(-73.10328975389)YMAX(26.8436)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-12T15:55Z)XMIN(-88.8944)YMIN(15.1524323006229)XMAX(-73.10328975389)YMAX(26.8436)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003153/a003153.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3153_21352_526231</Name>
+							<Title>2004-08-13 16:35</Title>
+							<Abstract>Hurricane Charley was the first of four hurricanes to hit the United States in 2004.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-90.525325927223</westBoundLongitude>
+								<eastBoundLongitude>-74.7645429695549</eastBoundLongitude>
+								<southBoundLatitude>17.6179037119539</southBoundLatitude>
+								<northBoundLatitude>34.2722330213433</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-90.525325927223" miny="17.6179037119539" maxx="-74.7645429695549" maxy="34.2722330213433"/>
+							<Dimension name="time" units="ISO8601" default="2004-08-13T16:35Z">2004-08-13T16:35Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-08-13T16:35Z)XMIN(-90.525325927223)YMIN(17.6179037119539)XMAX(-74.7645429695549)YMAX(34.2722330213433)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-13T16:35Z)XMIN(-90.525325927223)YMIN(17.6179037119539)XMAX(-74.7645429695549)YMAX(34.2722330213433)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003153/a003153.fgdc"/>
+							</MetadataURL>
+						</Layer>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Progression of Hurricane Ivan, 2004</Title>
+					<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3151_21311</Name>
+						<Title>Hurricane Ivan Overview (1024x1024 Image)</Title>
+						<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-97.783357423868</westBoundLongitude>
+							<eastBoundLongitude>-40.063501905874</eastBoundLongitude>
+							<southBoundLatitude>2.35578681630744</southBoundLatitude>
+							<northBoundLatitude>44.444111472387</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-97.783357423868" miny="2.35578681630744" maxx="-40.063501905874" maxy="44.444111472387"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence for Hurricane Ivan.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3151_21311</Name>
+						<Title>Hurricane Ivan (Sequence)</Title>
+						<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-97.783357423868</westBoundLongitude>
+							<eastBoundLongitude>-40.063501905874</eastBoundLongitude>
+							<southBoundLatitude>2.35578681630744</southBoundLatitude>
+							<northBoundLatitude>44.444111472387</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-97.783357423868" miny="2.35578681630744" maxx="-40.063501905874" maxy="44.444111472387"/>
+						<Dimension name="sequence" units="" default="TIME(2004-09-16T16:23Z)XMIN(-94.7314750830772)YMIN(22.0812866731224)XMAX(-70.9849415837094)YMAX(44.444111472387)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-05T13:30Z)XMIN(-51.9346000000001)YMIN(2.35578681630744)XMAX(-40.063501905874)YMAX(17.6435)WIDTH(1024)HEIGHT(1024),TIME(2004-09-09T17:45Z)XMIN(-78.5077487919946)YMIN(7.18961872427302)XMAX(-62.964508362621)YMAX(24.7389598417687)WIDTH(1024)HEIGHT(1024),TIME(2004-09-10T15:25Z)XMIN(-83.6721612098308)YMIN(6.88825750650757)XMAX(-65.6730835044227)YMAX(27.0173094238337)WIDTH(1024)HEIGHT(1024),TIME(2004-09-10T18:30Z)XMIN(-85.3007505809697)YMIN(6.8151294646824)XMAX(-65.6560794921068)YMAX(28.9493486570163)WIDTH(1024)HEIGHT(1024),TIME(2004-09-11T16:10Z)XMIN(-87.421731513595)YMIN(7.8337406325151)XMAX(-69.2183638045244)YMAX(28.0301279782744)WIDTH(1024)HEIGHT(1024),TIME(2004-09-13T15:55Z)XMIN(-90.3224319644198)YMIN(11.6666681770917)XMAX(-72.8166172201217)YMAX(31.1420592458859)WIDTH(1024)HEIGHT(1024),TIME(2004-09-13T19:00Z)XMIN(-92.2394754889654)YMIN(12.5806906041461)XMAX(-76.6876355017955)YMAX(30.2816133891251)WIDTH(1024)HEIGHT(1024),TIME(2004-09-14T16:35Z)XMIN(-92.9610362755348)YMIN(15.3418167282253)XMAX(-76.1137010823715)YMAX(33.4599091686758)WIDTH(1024)HEIGHT(1024),TIME(2004-09-15T18:50Z)XMIN(-97.783357423868)YMIN(21.3194031782046)XMAX(-73.6086011220815)YMAX(39.0517834167672)WIDTH(1024)HEIGHT(1024),TIME(2004-09-16T16:23Z)XMIN(-94.7314750830772)YMIN(22.0812866731224)XMAX(-70.9849415837094)YMAX(44.444111472387)WIDTH(1024)HEIGHT(1024)</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence for Hurricane Ivan.</Abstract>
+						</Style>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522947</Name>
+							<Title>2004-09-05 13:30</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-51.9346000000001</westBoundLongitude>
+								<eastBoundLongitude>-40.063501905874</eastBoundLongitude>
+								<southBoundLatitude>2.35578681630744</southBoundLatitude>
+								<northBoundLatitude>17.6435</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-51.9346000000001" miny="2.35578681630744" maxx="-40.063501905874" maxy="17.6435"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-05T13:30Z">2004-09-05T13:30Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-05T13:30Z)XMIN(-51.9346000000001)YMIN(2.35578681630744)XMAX(-40.063501905874)YMAX(17.6435)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-05T13:30Z)XMIN(-51.9346000000001)YMIN(2.35578681630744)XMAX(-40.063501905874)YMAX(17.6435)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522948</Name>
+							<Title>2004-09-09 17:45</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-78.5077487919946</westBoundLongitude>
+								<eastBoundLongitude>-62.964508362621</eastBoundLongitude>
+								<southBoundLatitude>7.18961872427302</southBoundLatitude>
+								<northBoundLatitude>24.7389598417687</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-78.5077487919946" miny="7.18961872427302" maxx="-62.964508362621" maxy="24.7389598417687"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-09T17:45Z">2004-09-09T17:45Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-09T17:45Z)XMIN(-78.5077487919946)YMIN(7.18961872427302)XMAX(-62.964508362621)YMAX(24.7389598417687)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-09T17:45Z)XMIN(-78.5077487919946)YMIN(7.18961872427302)XMAX(-62.964508362621)YMAX(24.7389598417687)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522949</Name>
+							<Title>2004-09-10 15:25</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-83.6721612098308</westBoundLongitude>
+								<eastBoundLongitude>-65.6730835044227</eastBoundLongitude>
+								<southBoundLatitude>6.88825750650757</southBoundLatitude>
+								<northBoundLatitude>27.0173094238337</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-83.6721612098308" miny="6.88825750650757" maxx="-65.6730835044227" maxy="27.0173094238337"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-10T15:25Z">2004-09-10T15:25Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-10T15:25Z)XMIN(-83.6721612098308)YMIN(6.88825750650757)XMAX(-65.6730835044227)YMAX(27.0173094238337)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-10T15:25Z)XMIN(-83.6721612098308)YMIN(6.88825750650757)XMAX(-65.6730835044227)YMAX(27.0173094238337)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522950</Name>
+							<Title>2004-09-10 18:30</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-85.3007505809697</westBoundLongitude>
+								<eastBoundLongitude>-65.6560794921068</eastBoundLongitude>
+								<southBoundLatitude>6.8151294646824</southBoundLatitude>
+								<northBoundLatitude>28.9493486570163</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-85.3007505809697" miny="6.8151294646824" maxx="-65.6560794921068" maxy="28.9493486570163"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-10T18:30Z">2004-09-10T18:30Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-10T18:30Z)XMIN(-85.3007505809697)YMIN(6.8151294646824)XMAX(-65.6560794921068)YMAX(28.9493486570163)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-10T18:30Z)XMIN(-85.3007505809697)YMIN(6.8151294646824)XMAX(-65.6560794921068)YMAX(28.9493486570163)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522951</Name>
+							<Title>2004-09-11 16:10</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-87.421731513595</westBoundLongitude>
+								<eastBoundLongitude>-69.2183638045244</eastBoundLongitude>
+								<southBoundLatitude>7.8337406325151</southBoundLatitude>
+								<northBoundLatitude>28.0301279782744</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-87.421731513595" miny="7.8337406325151" maxx="-69.2183638045244" maxy="28.0301279782744"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-11T16:10Z">2004-09-11T16:10Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-11T16:10Z)XMIN(-87.421731513595)YMIN(7.8337406325151)XMAX(-69.2183638045244)YMAX(28.0301279782744)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-11T16:10Z)XMIN(-87.421731513595)YMIN(7.8337406325151)XMAX(-69.2183638045244)YMAX(28.0301279782744)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522952</Name>
+							<Title>2004-09-13 15:55</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-90.3224319644198</westBoundLongitude>
+								<eastBoundLongitude>-72.8166172201217</eastBoundLongitude>
+								<southBoundLatitude>11.6666681770917</southBoundLatitude>
+								<northBoundLatitude>31.1420592458859</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-90.3224319644198" miny="11.6666681770917" maxx="-72.8166172201217" maxy="31.1420592458859"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-13T15:55Z">2004-09-13T15:55Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-13T15:55Z)XMIN(-90.3224319644198)YMIN(11.6666681770917)XMAX(-72.8166172201217)YMAX(31.1420592458859)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-13T15:55Z)XMIN(-90.3224319644198)YMIN(11.6666681770917)XMAX(-72.8166172201217)YMAX(31.1420592458859)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522953</Name>
+							<Title>2004-09-13 19:00</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-92.2394754889654</westBoundLongitude>
+								<eastBoundLongitude>-76.6876355017955</eastBoundLongitude>
+								<southBoundLatitude>12.5806906041461</southBoundLatitude>
+								<northBoundLatitude>30.2816133891251</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-92.2394754889654" miny="12.5806906041461" maxx="-76.6876355017955" maxy="30.2816133891251"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-13T19:00Z">2004-09-13T19:00Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-13T19:00Z)XMIN(-92.2394754889654)YMIN(12.5806906041461)XMAX(-76.6876355017955)YMAX(30.2816133891251)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-13T19:00Z)XMIN(-92.2394754889654)YMIN(12.5806906041461)XMAX(-76.6876355017955)YMAX(30.2816133891251)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522954</Name>
+							<Title>2004-09-14 16:35</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-92.9610362755348</westBoundLongitude>
+								<eastBoundLongitude>-76.1137010823715</eastBoundLongitude>
+								<southBoundLatitude>15.3418167282253</southBoundLatitude>
+								<northBoundLatitude>33.4599091686758</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-92.9610362755348" miny="15.3418167282253" maxx="-76.1137010823715" maxy="33.4599091686758"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-14T16:35Z">2004-09-14T16:35Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-14T16:35Z)XMIN(-92.9610362755348)YMIN(15.3418167282253)XMAX(-76.1137010823715)YMAX(33.4599091686758)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-14T16:35Z)XMIN(-92.9610362755348)YMIN(15.3418167282253)XMAX(-76.1137010823715)YMAX(33.4599091686758)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522955</Name>
+							<Title>2004-09-15 18:50</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-97.783357423868</westBoundLongitude>
+								<eastBoundLongitude>-73.6086011220815</eastBoundLongitude>
+								<southBoundLatitude>21.3194031782046</southBoundLatitude>
+								<northBoundLatitude>39.0517834167672</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-97.783357423868" miny="21.3194031782046" maxx="-73.6086011220815" maxy="39.0517834167672"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-15T18:50Z">2004-09-15T18:50Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-15T18:50Z)XMIN(-97.783357423868)YMIN(21.3194031782046)XMAX(-73.6086011220815)YMAX(39.0517834167672)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-15T18:50Z)XMIN(-97.783357423868)YMIN(21.3194031782046)XMAX(-73.6086011220815)YMAX(39.0517834167672)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522956</Name>
+							<Title>2004-09-16 16:23</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-94.7314750830772</westBoundLongitude>
+								<eastBoundLongitude>-70.9849415837094</eastBoundLongitude>
+								<southBoundLatitude>22.0812866731224</southBoundLatitude>
+								<northBoundLatitude>44.444111472387</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-94.7314750830772" miny="22.0812866731224" maxx="-70.9849415837094" maxy="44.444111472387"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-16T16:23Z">2004-09-16T16:23Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-16T16:23Z)XMIN(-94.7314750830772)YMIN(22.0812866731224)XMAX(-70.9849415837094)YMAX(44.444111472387)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-16T16:23Z)XMIN(-94.7314750830772)YMIN(22.0812866731224)XMAX(-70.9849415837094)YMAX(44.444111472387)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+					</Layer>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="80" fixedHeight="80">
+					<Name>3148_21284</Name>
+					<Title>Heavy Rainfall Leads to Southern California Mudslides (80x80 Animation)</Title>
+					<Abstract>In January 2005, heavy rains in southern California caused flooding and mudslides. A flow of moisture known as a 'Pineapple Express' because it originates in the Pacific subtropics near Hawaii can cause severe winter storms in California when conditions are right. NASA's Tropical Rainfall Measuring Mission (TRMM) observered heavy rainfall near San Diego during a five-day period in January 2005. This visualization shows accumulation of rainfall--each frame shows the total amount of rain since the start of the measurement period.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+						<Keyword vocabulary="GCMD">Location:Pacific Ocean</Keyword>
+						<Keyword vocabulary="GCMD">Location:United States Of America</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-130</westBoundLongitude>
+						<eastBoundLongitude>-110</eastBoundLongitude>
+						<southBoundLatitude>25</southBoundLatitude>
+						<northBoundLatitude>45</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-130" miny="25" maxx="-110" maxy="45"/>
+					<Dimension name="time" units="ISO8601" default="2005-01-11T21:00Z">2005-01-06T00:00Z/2005-01-11T21:00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003148/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003148/a003148.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/ca_rains.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows accumulated rainfall from
+2005-01-06 through 2005-01-11. Each frame covers a three-hour
+period. Each image pixel is 0.25 degrees on a side; the total
+area covered is 20x20 degrees in longitude and latitude (80x80
+pixels).</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003148/colorbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Progression of Hurricane Frances, 2004</Title>
+					<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3147_21282</Name>
+						<Title>Hurricane Frances Overview (1024x1024 Image)</Title>
+						<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-92.5067249557159</westBoundLongitude>
+							<eastBoundLongitude>-42.0168993752969</eastBoundLongitude>
+							<southBoundLatitude>6.23102639331738</southBoundLatitude>
+							<northBoundLatitude>38.7789867438391</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-92.5067249557159" miny="6.23102639331738" maxx="-42.0168993752969" maxy="38.7789867438391"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence for Hurricane Frances.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3147_21282</Name>
+						<Title>Hurricane Frances (Sequence)</Title>
+						<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-92.5067249557159</westBoundLongitude>
+							<eastBoundLongitude>-42.0168993752969</eastBoundLongitude>
+							<southBoundLatitude>6.23102639331738</southBoundLatitude>
+							<northBoundLatitude>38.7789867438391</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-92.5067249557159" miny="6.23102639331738" maxx="-42.0168993752969" maxy="38.7789867438391"/>
+						<Dimension name="sequence" units="" default="TIME(2004-09-06T19:00Z)XMIN(-92.5067249557159)YMIN(20.9724863082909)XMAX(-75.2841226664214)YMAX(38.7789867438391)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-27T16:40Z)XMIN(-55.9817000000001)YMIN(6.23102639331738)XMAX(-42.0168993752969)YMAX(23.7679)WIDTH(1024)HEIGHT(1024),TIME(2004-08-28T14:15Z)XMIN(-58.4588000000001)YMIN(10.1300954354333)XMAX(-45.5378981110465)YMAX(25.8678)WIDTH(1024)HEIGHT(1024),TIME(2004-08-30T17:10Z)XMIN(-65.4588000000001)YMIN(11.1305954354333)XMAX(-52.5378981110465)YMAX(26.8683)WIDTH(1024)HEIGHT(1024),TIME(2004-08-31T14:45Z)XMIN(-71.1981000000001)YMIN(12.9034519068142)XMAX(-57.7994926127838)YMAX(29.0919)WIDTH(1024)HEIGHT(1024),TIME(2004-08-31T17:55Z)XMIN(-71.6981000000001)YMIN(12.9034519068142)XMAX(-58.2994926127838)YMAX(29.0919)WIDTH(1024)HEIGHT(1024),TIME(2004-09-01T15:30Z)XMIN(-77.4688732449916)YMIN(12.0870946545513)XMAX(-59.5993746385797)YMAX(31.7575377218739)WIDTH(1024)HEIGHT(1024),TIME(2004-09-03T18:24Z)XMIN(-85.1372737120281)YMIN(17.0101042232465)XMAX(-66.1397972088392)YMAX(36.6864071375997)WIDTH(1024)HEIGHT(1024),TIME(2004-09-04T16:00Z)XMIN(-85.7870000000001)YMIN(19.4553679674065)XMAX(-70.2110750211561)YMAX(36.5428)WIDTH(1024)HEIGHT(1024),TIME(2004-09-05T18:15Z)XMIN(-89.1620924204862)YMIN(19.028108062393)XMAX(-71.793653225176)YMAX(36.8221363888092)WIDTH(1024)HEIGHT(1024),TIME(2004-09-06T19:00Z)XMIN(-92.5067249557159)YMIN(20.9724863082909)XMAX(-75.2841226664214)YMAX(38.7789867438391)WIDTH(1024)HEIGHT(1024)</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence for Hurricane Frances.</Abstract>
+						</Style>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522889</Name>
+							<Title>2004-08-27 16:40</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-55.9817000000001</westBoundLongitude>
+								<eastBoundLongitude>-42.0168993752969</eastBoundLongitude>
+								<southBoundLatitude>6.23102639331738</southBoundLatitude>
+								<northBoundLatitude>23.7679</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-55.9817000000001" miny="6.23102639331738" maxx="-42.0168993752969" maxy="23.7679"/>
+							<Dimension name="time" units="ISO8601" default="2004-08-27T16:40Z">2004-08-27T16:40Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-08-27T16:40Z)XMIN(-55.9817000000001)YMIN(6.23102639331738)XMAX(-42.0168993752969)YMAX(23.7679)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-27T16:40Z)XMIN(-55.9817000000001)YMIN(6.23102639331738)XMAX(-42.0168993752969)YMAX(23.7679)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522890</Name>
+							<Title>2004-08-28 14:15</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-58.4588000000001</westBoundLongitude>
+								<eastBoundLongitude>-45.5378981110465</eastBoundLongitude>
+								<southBoundLatitude>10.1300954354333</southBoundLatitude>
+								<northBoundLatitude>25.8678</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-58.4588000000001" miny="10.1300954354333" maxx="-45.5378981110465" maxy="25.8678"/>
+							<Dimension name="time" units="ISO8601" default="2004-08-28T14:15Z">2004-08-28T14:15Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-08-28T14:15Z)XMIN(-58.4588000000001)YMIN(10.1300954354333)XMAX(-45.5378981110465)YMAX(25.8678)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-28T14:15Z)XMIN(-58.4588000000001)YMIN(10.1300954354333)XMAX(-45.5378981110465)YMAX(25.8678)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522891</Name>
+							<Title>2004-08-30 17:10</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-65.4588000000001</westBoundLongitude>
+								<eastBoundLongitude>-52.5378981110465</eastBoundLongitude>
+								<southBoundLatitude>11.1305954354333</southBoundLatitude>
+								<northBoundLatitude>26.8683</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-65.4588000000001" miny="11.1305954354333" maxx="-52.5378981110465" maxy="26.8683"/>
+							<Dimension name="time" units="ISO8601" default="2004-08-30T17:10Z">2004-08-30T17:10Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-08-30T17:10Z)XMIN(-65.4588000000001)YMIN(11.1305954354333)XMAX(-52.5378981110465)YMAX(26.8683)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-30T17:10Z)XMIN(-65.4588000000001)YMIN(11.1305954354333)XMAX(-52.5378981110465)YMAX(26.8683)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522892</Name>
+							<Title>2004-08-31 14:45</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-71.1981000000001</westBoundLongitude>
+								<eastBoundLongitude>-57.7994926127838</eastBoundLongitude>
+								<southBoundLatitude>12.9034519068142</southBoundLatitude>
+								<northBoundLatitude>29.0919</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-71.1981000000001" miny="12.9034519068142" maxx="-57.7994926127838" maxy="29.0919"/>
+							<Dimension name="time" units="ISO8601" default="2004-08-31T14:45Z">2004-08-31T14:45Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-08-31T14:45Z)XMIN(-71.1981000000001)YMIN(12.9034519068142)XMAX(-57.7994926127838)YMAX(29.0919)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-31T14:45Z)XMIN(-71.1981000000001)YMIN(12.9034519068142)XMAX(-57.7994926127838)YMAX(29.0919)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522893</Name>
+							<Title>2004-08-31 17:55</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-71.6981000000001</westBoundLongitude>
+								<eastBoundLongitude>-58.2994926127838</eastBoundLongitude>
+								<southBoundLatitude>12.9034519068142</southBoundLatitude>
+								<northBoundLatitude>29.0919</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-71.6981000000001" miny="12.9034519068142" maxx="-58.2994926127838" maxy="29.0919"/>
+							<Dimension name="time" units="ISO8601" default="2004-08-31T17:55Z">2004-08-31T17:55Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-08-31T17:55Z)XMIN(-71.6981000000001)YMIN(12.9034519068142)XMAX(-58.2994926127838)YMAX(29.0919)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-31T17:55Z)XMIN(-71.6981000000001)YMIN(12.9034519068142)XMAX(-58.2994926127838)YMAX(29.0919)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522894</Name>
+							<Title>2004-09-01 15:30</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-77.4688732449916</westBoundLongitude>
+								<eastBoundLongitude>-59.5993746385797</eastBoundLongitude>
+								<southBoundLatitude>12.0870946545513</southBoundLatitude>
+								<northBoundLatitude>31.7575377218739</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-77.4688732449916" miny="12.0870946545513" maxx="-59.5993746385797" maxy="31.7575377218739"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-01T15:30Z">2004-09-01T15:30Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-01T15:30Z)XMIN(-77.4688732449916)YMIN(12.0870946545513)XMAX(-59.5993746385797)YMAX(31.7575377218739)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-01T15:30Z)XMIN(-77.4688732449916)YMIN(12.0870946545513)XMAX(-59.5993746385797)YMAX(31.7575377218739)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522895</Name>
+							<Title>2004-09-03 18:24</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-85.1372737120281</westBoundLongitude>
+								<eastBoundLongitude>-66.1397972088392</eastBoundLongitude>
+								<southBoundLatitude>17.0101042232465</southBoundLatitude>
+								<northBoundLatitude>36.6864071375997</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-85.1372737120281" miny="17.0101042232465" maxx="-66.1397972088392" maxy="36.6864071375997"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-03T18:24Z">2004-09-03T18:24Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-03T18:24Z)XMIN(-85.1372737120281)YMIN(17.0101042232465)XMAX(-66.1397972088392)YMAX(36.6864071375997)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-03T18:24Z)XMIN(-85.1372737120281)YMIN(17.0101042232465)XMAX(-66.1397972088392)YMAX(36.6864071375997)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522896</Name>
+							<Title>2004-09-04 16:00</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-85.7870000000001</westBoundLongitude>
+								<eastBoundLongitude>-70.2110750211561</eastBoundLongitude>
+								<southBoundLatitude>19.4553679674065</southBoundLatitude>
+								<northBoundLatitude>36.5428</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-85.7870000000001" miny="19.4553679674065" maxx="-70.2110750211561" maxy="36.5428"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-04T16:00Z">2004-09-04T16:00Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-04T16:00Z)XMIN(-85.7870000000001)YMIN(19.4553679674065)XMAX(-70.2110750211561)YMAX(36.5428)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-04T16:00Z)XMIN(-85.7870000000001)YMIN(19.4553679674065)XMAX(-70.2110750211561)YMAX(36.5428)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522897</Name>
+							<Title>2004-09-05 18:15</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-89.1620924204862</westBoundLongitude>
+								<eastBoundLongitude>-71.793653225176</eastBoundLongitude>
+								<southBoundLatitude>19.028108062393</southBoundLatitude>
+								<northBoundLatitude>36.8221363888092</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-89.1620924204862" miny="19.028108062393" maxx="-71.793653225176" maxy="36.8221363888092"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-05T18:15Z">2004-09-05T18:15Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-05T18:15Z)XMIN(-89.1620924204862)YMIN(19.028108062393)XMAX(-71.793653225176)YMAX(36.8221363888092)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-05T18:15Z)XMIN(-89.1620924204862)YMIN(19.028108062393)XMAX(-71.793653225176)YMAX(36.8221363888092)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522898</Name>
+							<Title>2004-09-06 19:00</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-92.5067249557159</westBoundLongitude>
+								<eastBoundLongitude>-75.2841226664214</eastBoundLongitude>
+								<southBoundLatitude>20.9724863082909</southBoundLatitude>
+								<northBoundLatitude>38.7789867438391</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-92.5067249557159" miny="20.9724863082909" maxx="-75.2841226664214" maxy="38.7789867438391"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-06T19:00Z">2004-09-06T19:00Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-06T19:00Z)XMIN(-92.5067249557159)YMIN(20.9724863082909)XMAX(-75.2841226664214)YMAX(38.7789867438391)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-06T19:00Z)XMIN(-92.5067249557159)YMIN(20.9724863082909)XMAX(-75.2841226664214)YMAX(38.7789867438391)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+					</Layer>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="320" fixedHeight="160">
+					<Name>3146_21255</Name>
+					<Title>Rainfall Accumulation from Hurricane Isabel (320x160 Animation)</Title>
+					<Abstract>Hurricane Isabel generated large amounts of rain over the Atlantic ocean as it approached East coast of the United States in September 2003. In fact, unlike many hurricanes, most of the Isabel's rainfall did not occur over land; flooding on land was caused mainly by storm surge. This animation shows accumulation of rainfall from the hurricane--each frame shows the total amount of rain since the start of the measurement period. Rain from other sources has been masked out, so the hurricane track is clearly visible as the storm moves across the Atlantic.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+						<Keyword vocabulary="GCMD">Location:Atlantic Ocean</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-101.25</westBoundLongitude>
+						<eastBoundLongitude>-21.25</eastBoundLongitude>
+						<southBoundLatitude>5</southBoundLatitude>
+						<northBoundLatitude>45</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-101.25" miny="5" maxx="-21.25" maxy="45"/>
+					<Dimension name="time" units="ISO8601" default="2003-09-19T21:00Z">2003-09-06T00:00Z/2003-09-19T21:00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003146/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003146/a003146.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>Animation of Hurricane Isabel rainfall
+accumulation from September 6 through 19, 2003. Frames were
+taken every 3 hours starting at 00:00UT on 2003-09-06. Each
+pixel covers 0.25deg of longitude and latitude; the total area shown
+is 80x40 degrees.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003146/accrain_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="720" fixedHeight="360">
+					<Name>3144_21247</Name>
+					<Title>Global Lightning Flash Rate Density (720x360 Image)</Title>
+					<Abstract>Lightning is a brief but intense electrical discharge between positive and negative regions of a thunderstorm.The Lightning Imaging Sensor (LIS) on the Tropical Rainfall Measuring Mission (TRMM) satellite was designed to study the distribution and variability of total lightning on a global basis. The Optical Transient Detector (OTD) was an earlier lightning detector flying aboard the Microlab-1 spacecraft. The data shown here are compiled from LIS (1998-2002) and OTD (1995-1999) observations. Because each satellite saw only a part of the Earth at any one time, these data use complex algorithms to estimate total flash rate density (number of flashes per square kilometer per year) based on the flashes observed and the amount of time the satellite views each area.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Electricity:Lightning</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Lightning</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003144/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003144/a003144.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This image shows the global lightning flash
+rate density for the entire observing period. The data pixels
+are 0.5deg on a side (720x360 pixels globally). This single
+image is equivalent to the final frame of animation #3143, but
+at a spatial resolution that is 5 times
+better.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003144/lightdens_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Global Lightning Accumulation</Title>
+					<Abstract>Lightning is a brief but intense electrical discharge between positive and negative regions of a thunderstorm.  The Lightning Imaging Sensor (LIS) on the Tropical Rainfall Measuring Mission (TRMM) satellite was designed to study the distribution and variability of total lightning on a global basis. The Optical Transient Detector (OTD) was an earlier lightning detector flying aboard the Microlab-1 spacecraft.  The data shown here are compiled from LIS (1998-2002) and OTD (1995-1999) observations. Because each satellite saw only a part of the Earth at any one time, these data use complex algorithms to estimate total flash rate based on the flashes observed and the amount of time the satellite views each area.
+NOTE: This animation is primarily designed to be used through the Web Mapping Services (WMS) protocol.  Each frame in the animation actually represents an accumulation of a number of years of data up through a particular day of the year.  Because of a limitation in the WMS protocol, each frame is marked only with a single date representing the last date for which the data was accumulated.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Electricity:Lightning</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Lightning</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003143/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003143/a003143.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://thunder.nsstc.nasa.gov/primer/"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+						<Name>3143_21314</Name>
+						<Title>Low Resolution (144x72 Animation)</Title>
+						<Abstract>Lightning is a brief but intense electrical discharge between positive and negative regions of a thunderstorm.  The Lightning Imaging Sensor (LIS) on the Tropical Rainfall Measuring Mission (TRMM) satellite was designed to study the distribution and variability of total lightning on a global basis. The Optical Transient Detector (OTD) was an earlier lightning detector flying aboard the Microlab-1 spacecraft.  The data shown here are compiled from LIS (1998-2002) and OTD (1995-1999) observations. Because each satellite saw only a part of the Earth at any one time, these data use complex algorithms to estimate total flash rate based on the flashes observed and the amount of time the satellite views each area.
+NOTE: This animation is primarily designed to be used through the Web Mapping Services (WMS) protocol.  Each frame in the animation actually represents an accumulation of a number of years of data up through a particular day of the year.  Because of a limitation in the WMS protocol, each frame is marked only with a single date representing the last date for which the data was accumulated.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Electricity:Lightning</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Lightning</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2002-12-31">2002-01-01/2002-06-29/P1D,2002-06-31,2002-07-01/2002-12-31/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003143/a003143.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://thunder.nsstc.nasa.gov/primer/"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows an accumulation of daily
+lightning climatology values for a typical year. That is, the
+first frame shows the number of flashes per square kilometer
+that occurred on a typical January 1 during the multi-year data
+collection period, the second frame shows the total of Jan 1 and
+Jan 2 flashes, the third frame shows Jan 1 through Jan 3, and so
+on until the last frame (#365) which shows the total
+accumulation for a typical year. As the year progresses, more
+and more of the Earth experiences lightning, and hard-hit areas
+experience more strikes. The most intense activity is in central
+Africa. Areas where no lightning was measured are transparent,
+letting the background image show through. The data pixels are
+2.5deg on a side (144x72 pixels globally), and each frame has
+been magnified to 720x360 pixels for greater
+clarity.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003143/lightacc_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows an accumulation of daily
+lightning climatology values for a typical year. That is, the
+first frame shows the number of flashes per square kilometer
+that occurred on a typical January 1 during the multi-year data
+collection period, the second frame shows the total of Jan 1 and
+Jan 2 flashes, the third frame shows Jan 1 through Jan 3, and so
+on until the last frame (#365) which shows the total
+accumulation for a typical year. As the year progresses, more
+and more of the Earth experiences lightning, and hard-hit areas
+experience more strikes. The most intense activity is in central
+Africa. Areas where no lightning was measured are transparent,
+letting the background image show through. The data pixels are
+2.5deg on a side (144x72 pixels globally), and each frame has
+been magnified to 720x360 pixels for greater
+clarity.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003143/lightacc_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="144" fixedHeight="72">
+						<Name>3143_21314_bg</Name>
+						<Title>Background Image for Global Lightning Accumulation (WMS)</Title>
+						<Abstract>Lightning is a brief but intense electrical discharge between positive and negative regions of a thunderstorm.  The Lightning Imaging Sensor (LIS) on the Tropical Rainfall Measuring Mission (TRMM) satellite was designed to study the distribution and variability of total lightning on a global basis. The Optical Transient Detector (OTD) was an earlier lightning detector flying aboard the Microlab-1 spacecraft.  The data shown here are compiled from LIS (1998-2002) and OTD (1995-1999) observations. Because each satellite saw only a part of the Earth at any one time, these data use complex algorithms to estimate total flash rate based on the flashes observed and the amount of time the satellite views each area.
+NOTE: This animation is primarily designed to be used through the Web Mapping Services (WMS) protocol.  Each frame in the animation actually represents an accumulation of a number of years of data up through a particular day of the year.  Because of a limitation in the WMS protocol, each frame is marked only with a single date representing the last date for which the data was accumulated.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Electricity:Lightning</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Lightning</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003143/a003143.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://thunder.nsstc.nasa.gov/primer/"/>
+						</DataURL>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="720" fixedHeight="360">
+						<Name>3143_21313</Name>
+						<Title>Medium Resolution (720x360 Animation)</Title>
+						<Abstract>Lightning is a brief but intense electrical discharge between positive and negative regions of a thunderstorm.  The Lightning Imaging Sensor (LIS) on the Tropical Rainfall Measuring Mission (TRMM) satellite was designed to study the distribution and variability of total lightning on a global basis. The Optical Transient Detector (OTD) was an earlier lightning detector flying aboard the Microlab-1 spacecraft.  The data shown here are compiled from LIS (1998-2002) and OTD (1995-1999) observations. Because each satellite saw only a part of the Earth at any one time, these data use complex algorithms to estimate total flash rate based on the flashes observed and the amount of time the satellite views each area.
+NOTE: This animation is primarily designed to be used through the Web Mapping Services (WMS) protocol.  Each frame in the animation actually represents an accumulation of a number of years of data up through a particular day of the year.  Because of a limitation in the WMS protocol, each frame is marked only with a single date representing the last date for which the data was accumulated.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Electricity:Lightning</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Lightning</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2002-12-31">2002-01-01/2002-06-29/P1D,2002-06-31,2002-07-01/2002-12-31/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003143/a003143.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://thunder.nsstc.nasa.gov/primer/"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows an accumulation of daily
+lightning climatology values for a typical year. That is, the
+first frame shows the number of flashes per square kilometer
+that occurred on a typical January 1 during the multi-year data
+collection period, the second frame shows the total of Jan 1 and
+Jan 2 flashes, the third frame shows Jan 1 through Jan 3, and so
+on until the last frame (#365) which shows the total
+accumulation for a typical year. As the year progresses, more
+and more of the Earth experiences lightning, and hard-hit areas
+experience more strikes. The most intense activity is in central
+Africa. Areas where no lightning was measured are transparent,
+letting the background image show through. The data pixels are
+2.5deg on a side (144x72 pixels globally), and each frame has
+been magnified to 720x360 pixels for greater
+clarity.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003143/lightacc_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows an accumulation of daily
+lightning climatology values for a typical year. That is, the
+first frame shows the number of flashes per square kilometer
+that occurred on a typical January 1 during the multi-year data
+collection period, the second frame shows the total of Jan 1 and
+Jan 2 flashes, the third frame shows Jan 1 through Jan 3, and so
+on until the last frame (#365) which shows the total
+accumulation for a typical year. As the year progresses, more
+and more of the Earth experiences lightning, and hard-hit areas
+experience more strikes. The most intense activity is in central
+Africa. Areas where no lightning was measured are transparent,
+letting the background image show through. The data pixels are
+2.5deg on a side (144x72 pixels globally), and each frame has
+been magnified to 720x360 pixels for greater
+clarity.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003143/lightacc_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="720" fixedHeight="360">
+						<Name>3143_21313_bg</Name>
+						<Title>Background Image for Global Lightning Accumulation (WMS)</Title>
+						<Abstract>Lightning is a brief but intense electrical discharge between positive and negative regions of a thunderstorm.  The Lightning Imaging Sensor (LIS) on the Tropical Rainfall Measuring Mission (TRMM) satellite was designed to study the distribution and variability of total lightning on a global basis. The Optical Transient Detector (OTD) was an earlier lightning detector flying aboard the Microlab-1 spacecraft.  The data shown here are compiled from LIS (1998-2002) and OTD (1995-1999) observations. Because each satellite saw only a part of the Earth at any one time, these data use complex algorithms to estimate total flash rate based on the flashes observed and the amount of time the satellite views each area.
+NOTE: This animation is primarily designed to be used through the Web Mapping Services (WMS) protocol.  Each frame in the animation actually represents an accumulation of a number of years of data up through a particular day of the year.  Because of a limitation in the WMS protocol, each frame is marked only with a single date representing the last date for which the data was accumulated.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Electricity:Lightning</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Lightning</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003143/a003143.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://thunder.nsstc.nasa.gov/primer/"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="680" fixedHeight="300">
+					<Name>3133_21151</Name>
+					<Title>Transatlantic Dust from North Africa (680x300 Animation)</Title>
+					<Abstract>Desert storms in northern Africa raise dust that is carried in the upper atmosphere across the Atlantic Ocean. The dust, which may carry potentially hazardous bacteria and fungi, can land as far west as the Carribean and the Americas.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Aerosols:Aerosol Radiance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-130</westBoundLongitude>
+						<eastBoundLongitude>82.5</eastBoundLongitude>
+						<southBoundLatitude>-15</southBoundLatitude>
+						<northBoundLatitude>60</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-130" miny="-15" maxx="82.5" maxy="60"/>
+					<Dimension name="time" units="ISO8601" default="2000-07-31">2000-07-01/2000-07-31/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003133/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003133/a003133.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows aerosol index over northern Africa and the Atlantic Ocean from July 1 through July 31, 2000. Each image pixel corresponds to an area 1 degree in longitude by 1.25 degrees in latitude.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003133/aerosols2000_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="640" fixedHeight="384">
+					<Name>3132_21145</Name>
+					<Title>Aerosols from 2003 Southern California Fires (640x384 Animation)</Title>
+					<Abstract>A devastating series of fires occurred in Southern California during October 2003. The effects of these fires were detectable from space. The Total Ozone Mapping Spectrometer (TOMS) instrument measures aerosol particles (microscopic airborne dust and smoke). TOMS was able to detect aerosols from these fires moving West over the Pacific Ocean and East over the continental United States.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Aerosols:Aerosol Radiance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-160</westBoundLongitude>
+						<eastBoundLongitude>-60</eastBoundLongitude>
+						<southBoundLatitude>10</southBoundLatitude>
+						<northBoundLatitude>58</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-160" miny="10" maxx="-60" maxy="58"/>
+					<Dimension name="time" units="ISO8601" default="2003-11-01">2003-10-23/2003-11-01/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003132/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003132/a003132.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://toms.gsfc.nasa.gov/aerosols/aerosols.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows aerosol index over the western US from Oct 23 through November 1, 2003. Each image pixel corresponds to an area 1 degree in longitude by 1.25 degrees in latitude.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003132/aerosols2003_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="904" fixedHeight="384">
+					<Name>3130_21127</Name>
+					<Title>Continental Effects of 2004 Alaskan Fires (904x384 Animation)</Title>
+					<Abstract>Wildfires started by lightning burned more than 80,000 acres in Alaska in June 2004. The effects of these fires can be seen across North America with the Total Ozone Mapping Spectrometer (TOMS) instrument on the Earth Probe spacecraft. TOMS detects the presence of UV-absorbing tropospheric aerosols across the globe.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Aerosols:Aerosol Radiance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>-38.75</eastBoundLongitude>
+						<southBoundLatitude>37</southBoundLatitude>
+						<northBoundLatitude>85</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="37" maxx="-38.75" maxy="85"/>
+					<Dimension name="time" units="ISO8601" default="2004-07-10">2004-06-21/2004-07-10/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003130/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003130/a003130.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://toms.gsfc.nasa.gov/aerosols/aerosols.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows aerosol index over Alaska from June 21 through July 10, 2004. Each image pixel corresponds to an area 1 degree in longitude by 1.25 degrees in latitude.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003130/aerosols2004_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="288" fixedHeight="180">
+					<Name>3126_21087</Name>
+					<Title>Daily Erythemal Index (UV exposure) for 2000-2001 (288x180 Animation)</Title>
+					<Abstract>The Erythemal Index is a measure of ultraviolet (UV) radiation at ground level on the Earth. (The word 'erythema' means an abnormal redness of the skin, such as is caused by spending too much time in the sun--a sunburn is damage to your skin cells caused by UV radiation.) Atmospheric ozone shields life at the surface from most of the harmful components of solar radiation. Chemical processes in the atmosphere can affect the level of protection provided by the ozone in the upper atmosphere. This thinning of the atmospheric ozone in the stratosphere leads to elevated levels of UV at ground level and increases the risks of DNA damage in living organisms.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Ultraviolet Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2001-12-31">2000-01-01/2001-12-31/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003126/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003126/a003126.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows daily erythemal index for 2000-01 through 2001-12. Data gaps have been filled and the frames have been smoothed. The image size is 288x180 pixels (288x176 pixels for the MPEG movie); each pixel corresponds to an area 1 degree in longitude by 1.25 degrees in latitude.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003126/erythemalbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="288" fixedHeight="180">
+					<Name>3124_21064</Name>
+					<Title>Monthly Average Erythemal Index (UV exposure) for 2000-2001 (288x180 Animation)</Title>
+					<Abstract>The Erythemal Index is a measure of ultraviolet (UV) radiation at ground level on the Earth. (The word 'erythema' means an abnormal redness of the skin, such as is caused by spending too much time in the sun--a sunburn is damage to your skin cells caused by UV radiation.) Atmospheric ozone shields life at the surface from most of the harmful components of solar radiation. Chemical processes in the atmosphere can affect the level of protection provided by the ozone in the upper atmosphere. This thinning of the atmospheric ozone in the stratosphere leads to elevated levels of UV at ground level and increases the risks of DNA damage in living organisms.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Ultraviolet Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2001-12">2000-01/2001-12/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003124/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003124/a003124.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows monthly average erythemal index for 2000-01 through 2001-12. The image size is 288x180 pixels (288x176 pixels for the MPEG movie); each pixel corresponds to an area 1 degree in longitude by 1.25 degrees in latitude.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003124/erythemalbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="288" fixedHeight="180">
+					<Name>3114_21621</Name>
+					<Title>Daily Erythemal Index (UV exposure) Measurements for 2000-2001 (288x180 Animation)</Title>
+					<Abstract>The Erythemal Index is a measure of ultraviolet (UV) radiation at ground level on the Earth. (The word 'erythema' means an abnormal redness of the skin, such as is caused by spending too much time in the sun--a sunburn is damage to your skin cells caused by UV radiation.) Atmospheric ozone shields life at the surface from most of the harmful components of solar radiation. Chemical processes in the atmosphere can affect the level of protection provided by the ozone in the upper atmosphere. This thinning of the atmospheric ozone in the stratosphere leads to elevated levels of UV at ground level and increases the risks of DNA damage in living organisms.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Ultraviolet Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2001-12-31">2000-01-01/2001-12-31/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003114/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003114/a003114.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows daily erythemal index for 2000-01-01 through 2001-12-31. Each days image is built up from observations taken near local solar noon; the western Pacific is measured near the beginning of the day (in Greenwich Mean Time - GMT), and the eastern Pacific is measured near the end of the GMT day. There is a 24-hour discontinuity in the data at 180th meridian. Diagonal bands with no data are areas that the satellite did not view on a particular day. The image size is 288x180 pixels (288x176 pixels for the MPEG movie); each pixel corresponds to an area 1 degree in longitude by 1.25 degrees in latitude.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003114/erythemalbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="369" fixedHeight="491">
+					<Name>3110_20956</Name>
+					<Title>Vegetation Images Show Drought in Western US (369x491 Animation)</Title>
+					<Abstract>Satellite data can gauge the health of plants, which is a good indicator of drought. The Normalized Difference Vegetation Index (NDVI) measures how dense and green plant leaves are. NDVI images are useful as a measure of drought when compared to 'normal' plant health. Scientists calculate average NDVI values for an area to find out what is normal at a particular time of year. This animation uses satellite imagery to show changes in vegetation between 1999 and 2003. In 2002, drought had settled across the Midwest. Large dark brown sections of eastern Colorado show where vegetation was less lush and healthy than normal. This version of the visualization is a wide view showing the western United States. The data were measured by the vegetation instrument on Europe's SPOT-4 satellite, and were provided by DigitalGlobe/SPOT under agreement with the U.S. Department of Agriculture Foreign Agricultural Service (USDA/FAS).</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Climatology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Drought</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Vegetation:Vegetation Index</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-125.95682</westBoundLongitude>
+						<eastBoundLongitude>-98.887208</eastBoundLongitude>
+						<southBoundLatitude>28.808912</southBoundLatitude>
+						<northBoundLatitude>50.874116</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-125.95682" miny="28.808912" maxx="-98.887208" maxy="50.874116"/>
+					<Dimension name="time" units="ISO8601" default="2003-09-30">1999-06-10/1999-07-20/P10D,1999-07-31/1999-08-20/P10D,1999-08-31/1999-09-30/P10D,2000-06-10/2000-07-20/P10D,2000-07-31/2000-08-20/P10D,2000-08-31/2000-09-30/P10D,2001-06-10/2001-07-20/P10D,2001-07-31/2001-08-20/P10D,2001-08-31/2001-09-30/P10D,2002-06-10/2002-07-20/P10D,2002-07-31/2002-08-20/P10D,2002-08-31/2002-09-30/P10D,2003-06-10/2003-07-20/P10D,2003-07-31/2003-08-20/P10D,2003-08-31/2003-09-30/P10D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003110/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003110/a003110.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows NDVI over the western US in ten-day intervals from 1999-06-10 through 2003-09-30. The area shown extends from California to Colorado, and from Canada to Mexico. The horizontal scale is 0.0735 degrees-pixel in the E-W direction and 0.0450 degrees-pixel N-S.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003110/ndvi_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="512" fixedHeight="256">
+					<Name>3109_20950</Name>
+					<Title>Solar Irradiance (512x256 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth moves around the sun, the fact that the Earth's axis is tilted means that the sun's overhead position moves from the Northern Hemisphere to the Southern Hemisphere and back from one summer to the next.  This effect causes winters to be cold and summers warm in the Northern Hemisphere and the opposite in the Southern Hemisphere.  This animation shows the incoming solar irradiance on the Earth at noon on the Greenwich meridian during an entire year, illustrating this movement.  The magnitude of this irradiance comes from measurements by the TIM instrument on SORCE.  Since the Earth's orbit is elliptical, the magnitude of the solar irradiance at the Earth is least when the Earth is farthest from the sun and greatest when the earth is closest.  This 6 or 7 percent change can be seen in the animation by watching the dark bands move.  When the bands expand from the bright spot, the Earth is getting closer to the sun, from July through December, and when they contract the Earth is moving away, from January through June.  The sun's irradiance is also variable from day to day, but that effect is about ten times smaller than the effect of the earth's orbit.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Incoming Solar Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Solar Irradiance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Sun-earth Interactions:Solar Activity:Solar Irradiance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06-19T12:00:00Z">2003-06-20T12:00:00Z/2004-06-19T12:00:00Z/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003109/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003109/a003109.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://lasp.colorado.edu/sorce/"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the solar radiance on the Earth
+at noon on the Greenwich meriidian for June 20, 2003 through June 19, 2004
+as calculated from measurements made by the TIM instrument on SORCE.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003109/sorcebar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3108_21485</Name>
+					<Title>Instantaneous Outgoing Shortwave Flux (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The amount of reflection and absorption is critical to the climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the reflected solar radiation measured by CERES during 29 orbits on June 20 and 21 of 2003.  Reflected solar radiation is shortwave radiation, and the most intense reflection comes from clouds, followed by ice.  Land reflects only a small amount of radiation, but ocean reflects the least, which is the reason that the sun heats the oceans so effectively.  Of course, there is no reflected solar radiation in regions of night.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Shortwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Shortwave Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003108/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003108/a003108.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows 29 orbits (2 days) of CERES
+measurements of outgoing shortwave radiation, from June 20-21, 2003.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003108/outswbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3107_21484</Name>
+					<Title>Instantaneous Outgoing Longwave Flux (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The amount of reflection and absorption is critical to the climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the outgoing thermal radiation measured by CERES during 29 orbits on June 20 and 21 of 2003.  Thermal radiation is longwave radiation and depends on the temperature of the earth, with the most intense radiation coming from the warmest regions and the least from cold clouds in the atmosphere.  Although cold clouds and the cold Antarctic night regions can be seen in this data, the Earth radiates pretty uniformly in the longwave bands because the atmosphere distributes the heat of the sun to the whole planet.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Outgoing Longwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Longwave Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003107/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003107/a003107.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows 29 orbits (2 days) of CERES
+measurements of outgoing longwave radiation, from June 20-21, 2003.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003107/outlwbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3106_20932</Name>
+					<Title>Instantaneous Net Radiation Flux (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The amount of reflection and absorption is critical to the climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the net radiation flux within view of CERES during 29 orbits on June 20 and 21 of 2003.  The net flux is the incoming solar flux minus the outgoing reflected (shortwave) and thermal (longwave) radiation.  If the flux in a region is positive, the Earth is being warmed by the sun in that region, while cooling regions have a negative flux.  It is clear from the animation that the most intensive heating occurs in ocean regions with few clouds, while the second most intense are cloud-free regions over vegetated land areas.  Deserts, cloudy regions, and ice caps all reflect enough solar radiation to reduce the amount of heating.  Regions of night are, of course, cooling regions because there is no incoming flux at all.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Net Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Radiative Flux</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003106/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003106/a003106.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows net radiation flux corresponding
+to 29 orbits (2 days) of CERES measurements, from June 20-21, 2003.  This data
+is calculated from CERES outgoing longwave and shortwave measurements, along
+with a corresponding calculated incoming solar flux.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003106/netflbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3105_20926</Name>
+					<Title>Instantaneous Incoming Solar Flux (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The amount of reflection and absorption is critical to the climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the incoming solar radiation within view of CERES during 29 orbits on June 20 and 21 of 2003.  Because this is incoming solar flux, its magnitude only depends on the position of the sun, and, because the orbit is synchronized with the sun, the orbit crosses the equator in the daylight at about 1:30 PM local time on every orbit.  This data is not actually measured from CERES, but is calculated to compare with the outgoing radiation that CERES does measure.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Incoming Solar Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Solar Irradiance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Sun-earth Interactions:Solar Activity:Solar Irradiance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003105/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003105/a003105.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows incoming solar flux corresponding
+to 29 orbits (2 days) of CERES measurements, from June 20-21, 2003.  This data
+is calculated using data from SORCE for the flux magnitude at the Earths orbit,
+coupled with solar incidence angles based on CERES measurement locations and
+times.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003105/incswbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3104_20920</Name>
+					<Title>Instantaneous Scene Identification (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The amount of reflection and absorption is critical to th e climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the scene identification as measured by CERES during 29 orbits on June 20 and 21 of 2003.  By comparing the incoming solar radiation with the outgoing reflected and thermal radiation, it is possible to identify the type of area being viewed, whether it be land, clouds, ocean, or ice.  This scene identification is used together with the radiation flux measurements to build up a complete picture of the Earth's energy budget over time.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Surface Radiative Properties:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Reflectance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003104/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003104/a003104.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows 29 orbits (2 days) of CERES
+measurements of regions of solar reflectivity, from June 20-21, 2003.</Abstract>
+						<LegendURL width="320" height="110">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003104/erbidbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="72" fixedHeight="89">
+					<Name>3102_20904</Name>
+					<Title>Temperature from new Microwave Limb Sounder on Aura (72x89 Animation)</Title>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Temperature:Air Temperature</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-89</southBoundLatitude>
+						<northBoundLatitude>89</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-89" maxx="180" maxy="89"/>
+					<Dimension name="time" units="ISO8601" default="2004-10-15">2004-08-13/2004-08-17/P1D,2004-08-20/2004-08-23/P1D,2004-08-25/2004-08-31/P1D,2004-09-02/2004-09-06/P1D,2004-09-10/2004-09-16/P2D,2004-09-17/2004-09-22/P1D,2004-09-24/2004-09-29/P1D,2004-10-01,2004-10-03/2004-10-07/P1D,2004-10-09/2004-10-12/P1D,2004-10-14,2004-10-15</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003102/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003102/a003102.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/aura_first.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows temperature in the atmosphere from August 13 through October 15, 2004. Red represents higher temperatures; blue represents lower temperatures. The spatial resolution is low: each pixel covers an area of 5 degrees longitude by 2 degrees latitude, so the entire world (except for 1 degree at each pole) is covered by the 72x89 pixel images.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003102/colorbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="72" fixedHeight="89">
+					<Name>3101_20897</Name>
+					<Title>Water vapor from new Microwave Limb Sounder on Aura (72x89 Animation)</Title>
+					<Abstract>Water vapor (H2O) in the atmosphere as measured by the Microwave Limb Sounder (MLS) instrument on NASA's Aura satellite. MLS can simultaneously measure several trace gases and ozone-destroying chemicals in the upper troposphere and photosphere. In this series of animiations we present chlorine monoxide (ClO), hydrogen chloride (HCl), nitric acid (HNO3), ozone (O3), water vapor (H2O) and temperature measurements. These are 'first light' data taken when the MLS was operated for the first time.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Water Vapor</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-89</southBoundLatitude>
+						<northBoundLatitude>89</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-89" maxx="180" maxy="89"/>
+					<Dimension name="time" units="ISO8601" default="2004-10-15">2004-08-13/2004-08-17/P1D,2004-08-20/2004-08-23/P1D,2004-08-25/2004-08-31/P1D,2004-09-02/2004-09-06/P1D,2004-09-10/2004-09-16/P2D,2004-09-17/2004-09-22/P1D,2004-09-24/2004-09-29/P1D,2004-10-01,2004-10-03/2004-10-07/P1D,2004-10-09/2004-10-12/P1D,2004-10-14,2004-10-15</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003101/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003101/a003101.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/aura_first.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows water vapor (H2O) in the atmosphere from August 13 through October 15, 2004. Red represents high concentrations; blue represents low concentrations. The spatial resolution is low: each pixel covers an area of 5 degrees longitude by 2 degrees latitude, so the entire world (except for 1 degree at each pole) is covered by the 72x89 pixel images.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003101/colorbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="72" fixedHeight="89">
+					<Name>3100_20890</Name>
+					<Title>Nitric acid from new Microwave Limb Sounder on Aura (72x89 Animation)</Title>
+					<Abstract>Nitric Acid (HNO3) in the atmosphere as measured by the Microwave Limb Sounder (MLS) instrument on NASA's Aura satellite. MLS can simultaneously measure several trace gases and ozone-destroying chemicals in the upper troposphere and photosphere. In this series of animiations we present chlorine monoxide (ClO), hydrogen chloride (HCl), nitric acid (HNO3), ozone (O3), water vapor (H2O) and temperature measurements. These are 'first light' data taken when the MLS was operated for the first time. Nitric acid is created from the nitrogen oxide emitted by automobiles.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Nitrogen Compounds:Nitric Acid</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-89</southBoundLatitude>
+						<northBoundLatitude>89</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-89" maxx="180" maxy="89"/>
+					<Dimension name="time" units="ISO8601" default="2004-10-15">2004-08-13/2004-08-17/P1D,2004-08-20/2004-08-23/P1D,2004-08-25/2004-08-31/P1D,2004-09-02/2004-09-06/P1D,2004-09-10/2004-09-16/P2D,2004-09-17/2004-09-22/P1D,2004-09-24/2004-09-29/P1D,2004-10-01,2004-10-03/2004-10-07/P1D,2004-10-09/2004-10-12/P1D,2004-10-14,2004-10-15</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003100/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003100/a003100.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/aura_first.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows nitric acid (HNO3) in the atmosphere from August 13 through October 15, 2004. Red represents high concentrations; blue represents low concentrations. The spatial resolution is low: each pixel covers an area of 5 degrees longitude by 2 degrees latitude, so the entire world (except for 1 degree at each pole) is covered by the 72x89 pixel images.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003100/colorbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="72" fixedHeight="89">
+					<Name>3099_22258</Name>
+					<Title>Hydrogen Chloride from new Microwave Limb Sounder on Aura (72x89 Animation)</Title>
+					<Abstract>Hydrogen chloride (HCl) in the atmosphere as measured by the Microwave Limb Sounder (MLS) instrument on NASA's Aura satellite. MLS can simultaneously measure several trace gases and ozone-destroying chemicals in the upper troposphere and photosphere. In this series of animiations we present chlorine monoxide (ClO), hydrogen chloride (HCl), nitric acid (HNO3), ozone (O3), water vapor (H2O) and temperature measurements. These are 'first light' data taken when the MLS was operated for the first time. Ozone-destroying chlorine (Cl) atoms are neutralized when they bond with hydrogen (H) to form HCl.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Halons and Halogens:Hydrogen Chloride</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-89</southBoundLatitude>
+						<northBoundLatitude>89</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-89" maxx="180" maxy="89"/>
+					<Dimension name="time" units="ISO8601" default="2004-10-15">2004-08-13/2004-08-17/P1D,2004-08-20/2004-08-23/P1D,2004-08-25/2004-08-31/P1D,2004-09-02/2004-09-06/P1D,2004-09-10/2004-09-16/P2D,2004-09-17/2004-09-22/P1D,2004-09-24/2004-09-29/P1D,2004-10-01,2004-10-03/2004-10-07/P1D,2004-10-09/2004-10-12/P1D,2004-10-14,2004-10-15</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003099/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003099/a003099.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/aura_first.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows hydrogen chloride (HCl) in the atmosphere from August 13 through October 15, 2004. Red represents high concentrations; blue represents low concentrations. The spatial resolution is low: each pixel covers an area of 5 degrees longitude by 2 degrees latitude, so the entire world (except for 1 degree at each pole) is covered by the 72x89 pixel images.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003099/colorbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Polar Vortex</Title>
+					<Abstract>The polar vortex is an atmospheric regional event that isolates polar air from the air at temperate latitudes, producing conditions favorable for wintertime polar ozone depletion and other chemical perturbations.  The location, size, and shape of the polar vortex is derived from potential vorticity (PV) data.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="SVS">Atmosphere</Keyword>
+						<Keyword vocabulary="SVS">Pole</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Vorticity</Keyword>
+						<Keyword vocabulary="GCMD">Location:Antarctica</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003098/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003098/a003098.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3098_20877</Name>
+						<Title>Polar Vortex (1024x512 Animation)</Title>
+						<Abstract>The polar vortex is an atmospheric regional event that isolates polar air from the air at temperate latitudes, producing conditions favorable for wintertime polar ozone depletion and other chemical perturbations.  The location, size, and shape of the polar vortex is derived from potential vorticity (PV) data.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Atmosphere</Keyword>
+							<Keyword vocabulary="SVS">Pole</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Vorticity</Keyword>
+							<Keyword vocabulary="GCMD">Location:Antarctica</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2004-11-15">2004-08-13/2004-11-15/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003098/a003098.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows a flat map version of the southern polar vortex at 550 degrees Kelvin during part of 2004.  This version provides only the transparent overlay.</Abstract>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows a flat map version of the southern polar vortex at 550 degrees Kelvin during part of 2004.  This version provides the transparent overlay composited with a background image.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3098_20877_bg</Name>
+						<Title>Background Image for Polar Vortex (WMS)</Title>
+						<Abstract>The polar vortex is an atmospheric regional event that isolates polar air from the air at temperate latitudes, producing conditions favorable for wintertime polar ozone depletion and other chemical perturbations.  The location, size, and shape of the polar vortex is derived from potential vorticity (PV) data.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Atmosphere</Keyword>
+							<Keyword vocabulary="SVS">Pole</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Vorticity</Keyword>
+							<Keyword vocabulary="GCMD">Location:Antarctica</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003098/a003098.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3097_20871</Name>
+					<Title>Average Total-sky Outgoing Shortwave Flux (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.  This animation shows the monthly average outgoing shortwave radiation from July, 2002 through June, 2004 as measured by the CERES instrument.  This is the sunlight that is directly reflected back into space by clouds, ice, desert, and other physical areas on the Earth.  Although clouds are very reflective, they come and going during the month, so more reflection is seen on average from ice sheets, which change very little during a monthly period.  Note that the cloud-free parts of the ocean are relatively dark, indicating that oceans absorb more sunlight than they reflect.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Shortwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Shortwave Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003097/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003097/a003097.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average total-sky outgoing
+shortwave flux from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003097/swflxtotbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3096_20865</Name>
+					<Title>Average Clear-sky Outgoing Shortwave Flux (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.  This animation shows the monthly average clear-sky outgoing shortwave radiation from July, 2002 through June, 2004 as measured by the CERES instrument.  This is the sunlight that is directly reflected back into space by ice, desert, and other physical areas on the Earth when the sky is cloud-free.  The ice sheets can be clearly seen to reflect the most sunlight, with desert areas next.  Oceans absorb the most sunlight, more than the vegetated land areas such as the tropical rain forest and temperate forests and plains.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Shortwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Shortwave Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003096/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003096/a003096.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average clear-sky outgoing
+shortwave flux from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003096/swflxclsbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3095_20859</Name>
+					<Title>Average Total-sky Incoming Solar Flux (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.  This animation shows the monthly average incoming solar radiation from July, 2002 through June, 2004 as measured by the CERES instrument.  This average data set is contant in longitude because of the Earth's rotation, but clearly shows the seasonal cycle as the sun heats the Northern Hemisphere more in summer than in winter.  Note that the polar regions are abnormally bright in the local summer and dark in the local winter because whole day is either light or dark in those seasons.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Incoming Solar Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Solar Irradiance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Sun-earth Interactions:Solar Activity:Solar Irradiance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003095/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003095/a003095.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average total-sky incoming solar flux
+from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003095/solintotbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3094_20853</Name>
+					<Title>Average Total-sky Net Radiant Flux (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.  This animation shows the monthly average net radiant flux from July, 2002 through June, 2004 as measured by the CERES instrument.  This is the incoming radiation minus the outgoing reflected or thermal energy given off by areas of the Earth.  Regions in red and yellow have a net incoming flux and are being heated. Regions in blue have a net outgoing flux and are being cooled.  Regions in black are in rough equilibrium.  Cloud-free summertime oceans are heated the most, while high latitude winter regions are cooled the most, probably because of the longer winter nights.  Note that regions that reflect a lot of sunlight, such as the polar ice sheets and the Sahara desert are almost always in equilibrium or are cooling regions.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Net Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Radiative Flux</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003094/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003094/a003094.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average total-sky net
+radiant flux from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003094/netfltotbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3093_20847</Name>
+					<Title>Average Clear-sky Net Radiant Flux (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights.  The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.  This animation shows the monthly clear-sky average net radiant flux from July, 2002 through June, 2004 as measured by the CERES instrument.  This is  the incoming radiation minus the outgoing reflected or thermal energy given off by areas of the Earth when the sky is cloud-free.  Regions in red and yellow have a net incoming flux and are being heated.  Regions in blue have a net outgoing flux and are being cooled.  Regions in black are in rough equilibrium.  Summertime oceans are heated the most, while high latitude winter regions are cooled the most, probably because of the longer winter nights.  Note that the Earth's ice sheets are almost always regions of  cooling.  On average, the heating and cooling amounts must balance, or the Earth will change temperature and the climate will change.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Net Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Radiative Flux</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003093/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003093/a003093.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average clear-sky net
+radiant flux from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003093/netflclsbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3092_20841</Name>
+					<Title>Average Total-sky Outgoing Longwave Flux (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights.  The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.  This animation shows the monthly average outgoing longwave radiation from July, 2002 through June, 2004 as measured by the CERES instrument.  This is the thermal radiation given off by the warm Earth.  The Earth's rotation and the movement of warm air from the equator to the poles make the Earth roughly  uniform in temperature.  The most visible features are the cold poles in winter and the cold clouds along the equator which trap the outgoing thermal radiation.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Outgoing Longwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Longwave Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003092/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003092/a003092.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average total-sky outgoing
+longwave flux from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003092/lwflxtotbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3091_20835</Name>
+					<Title>Average Clear-sky Outgoing Longwave Flux (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights.  The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.   This animation shows the monthly average clear-sky outgoing longwave radiation from July, 2002 through June, 2004 as measured by the CERES instrument.  This is the thermal radiation given off by the warm Earth when the sky is cloud free.  The Earth's rotation and the movement of warm air from the equator to the poles make the Earth roughly uniformin temperature.  The most visible features are the cold poles in winter and the significant regions of snow coverage in the northern hemisphere, also in winter.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Outgoing Longwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Longwave Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003091/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003091/a003091.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average clear-sky outgoing
+longwave flux from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003091/lwflxclsbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3090_20829</Name>
+					<Title>Average Total-sky Albedo (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights.  The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.  This animation shows the monthly average albedo from July, 2002 through June, 2004 as measured by the CERES instrument.  This is the fraction of the incoming solar radiation that is reflected back into space by regions of the Earth.  The regions of highest albedo are regions of snow and ice, followed by desert regions and regions where there is significant cloud cover during the year.  Oceans have the lowest albedo.  It is not possible to measure the albedo during the winter months at the poles, since there is no incoming solar radiation during these times.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Surface Radiative Properties:Albedo</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003090/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003090/a003090.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average total-sky albedo
+from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003090/albedtotbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3089_20823</Name>
+					<Title>Average Clear-sky Albedo (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.  This animation shows the monthly average clear-sky albedo from July, 2002 through June, 2004 as measured by the CERES instrument.  This is the fraction of the incoming solar radiation that is reflected back into space by regions of the Earth on cloud-free days.  The regions of highest albedo are regions of snow and ice, followed by desert regions.  Oceans have the lowest albedo, and reflect very little of the incoming solar radiation.  It is not possible to measure the albedo during the winter months at the poles, since there is no incoming solar radiation during these times.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Surface Radiative Properties:Albedo</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003089/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003089/a003089.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average clear-sky albedo
+from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003089/albedclsbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="72" fixedHeight="89">
+					<Name>3088_20815</Name>
+					<Title>Chlorine Monoxide from new Microwave Limb Sounder on Aura (72x89 Animation)</Title>
+					<Abstract>Chlorine monoxide (ClO) in the atmosphere as measured by the Microwave Limb Sounder (MLS) instrument on NASA's Aura satellite. MLS can simultaneously measure several trace gases and ozone-destroying chemicals in the upper troposphere and photosphere. In this series of animiations we present chlorine monoxide (ClO), hydrogen chloride (HCl), nitric acid (HNO3), ozone (O3), water vapor (H2O) and temperature measurements. These are 'first light' data taken when the MLS was operated for the first time. ClO is a temporary byproduct of the chemical reaction sequence by which chlorine from chlorofluorocarbons (CFCs) destroys ozone.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Halons and Halogens:Chlorine Monoxide</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-89</southBoundLatitude>
+						<northBoundLatitude>89</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-89" maxx="180" maxy="89"/>
+					<Dimension name="time" units="ISO8601" default="2004-10-15">2004-08-13/2004-08-17/P1D,2004-08-20/2004-08-23/P1D,2004-08-25/2004-08-31/P1D,2004-09-02/2004-09-06/P1D,2004-09-10/2004-09-16/P2D,2004-09-17/2004-09-22/P1D,2004-09-24/2004-09-29/P1D,2004-10-01,2004-10-03/2004-10-07/P1D,2004-10-09/2004-10-12/P1D,2004-10-14,2004-10-15</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003088/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003088/a003088.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/aura_first.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows chlorine monoxide (ClO) in the atmosphere from August 13 through October 15, 2004. Red represents high concentrations; blue represents low concentrations. The spatial resolution is low: each pixel covers an area of 5 degrees longitude by 2 degrees latitude, so the entire world (except for 1 degree at each pole) is covered by the 72x89 pixel images.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003088/colorbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="72" fixedHeight="89">
+					<Name>3082_20583</Name>
+					<Title>Ozone from new Microwave Limb Sounder on Aura (72x89 Animation)</Title>
+					<Abstract>Ozone (O3) in the lower stratosphere and upper troposphere as measured by the Microwave Limb Sounder (MLS) instrument on NASA's Aura satellite. MLS can simultaneously measure several trace gases and ozone-destroying chemicals in the upper troposphere and photosphere. In this series of animiations we present chlorine monoxide (ClO), hydrogen chloride (HCl), nitric acid (HNO3), ozone (O3), water vapor (H2O) and temperature measurements. These are 'first light' data taken when the MLS was operated for the first time.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Air Quality:Tropospheric Ozone</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Oxygen Compounds:Ozone</Keyword>
+						<Keyword vocabulary="GCMD">Location:Stratosphere</Keyword>
+						<Keyword vocabulary="GCMD">Location:Troposphere</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-89</southBoundLatitude>
+						<northBoundLatitude>89</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-89" maxx="180" maxy="89"/>
+					<Dimension name="time" units="ISO8601" default="2004-10-15">2004-08-13/2004-08-17/P1D,2004-08-20/2004-08-23/P1D,2004-08-25/2004-08-31/P1D,2004-09-02/2004-09-06/P1D,2004-09-10/2004-09-16/P2D,2004-09-17/2004-09-22/P1D,2004-09-24/2004-09-29/P1D,2004-10-01,2004-10-03/2004-10-07/P1D,2004-10-09/2004-10-12/P1D,2004-10-14,2004-10-15</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003082/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003082/a003082.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/aura_first.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows global ozone in the atmosphere from August 13 through October 15, 2004. Red represents high ozone concentrations; blue represents low concentrations. The spatial resolution is low: each pixel covers an area of 5 degrees longitude by 2 degrees latitude, so the entire world (except for 1 degree at each pole) is covered by the 72x89 pixel images.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003082/o3scale.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Progression of Hurricane Jeanne, 2004</Title>
+					<Abstract>Hurricane Jeanne was the fourth hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean and the Caribbean Sea.  When it hit the Florida coast on September 26, Jeanne was a Category 3 storm with sustained winds near 115 miles per hour.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/a003035.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3035_21240</Name>
+						<Title>Hurricane Jeanne Overview (1024x1024 Image)</Title>
+						<Abstract>Hurricane Jeanne was the fourth hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean and the Caribbean Sea.  When it hit the Florida coast on September 26, Jeanne was a Category 3 storm with sustained winds near 115 miles per hour.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-88.396252</westBoundLongitude>
+							<eastBoundLongitude>-61.186302</eastBoundLongitude>
+							<southBoundLatitude>14.502694</southBoundLatitude>
+							<northBoundLatitude>37.4411</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-88.396252" miny="14.502694" maxx="-61.186302" maxy="37.4411"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/a003035.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence of Hurricane Jeanne.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3035_21240</Name>
+						<Title>Hurricane Jeanne (Sequence)</Title>
+						<Abstract>Hurricane Jeanne was the fourth hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean and the Caribbean Sea.  When it hit the Florida coast on September 26, Jeanne was a Category 3 storm with sustained winds near 115 miles per hour.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-88.396252</westBoundLongitude>
+							<eastBoundLongitude>-61.186302</eastBoundLongitude>
+							<southBoundLatitude>14.502694</southBoundLatitude>
+							<northBoundLatitude>37.4411</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-88.396252" miny="14.502694" maxx="-61.186302" maxy="37.4411"/>
+						<Dimension name="sequence" units="" default="TIME(2004-09-26T18:35Z)XMIN(-88.396252)YMIN(21.654421)XMAX(-73.77603)YMAX(37.151522)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-16T17:55Z)XMIN(-74.2195)YMIN(14.502694)XMAX(-61.778019)YMAX(23.4959)WIDTH(1024)HEIGHT(788),TIME(2004-09-22T15:46Z)XMIN(-77.8101)YMIN(20.954992)XMAX(-61.186302)YMAX(37.4411)WIDTH(1024)HEIGHT(1024),TIME(2004-09-23T18:00Z)XMIN(-77.4371)YMIN(15.557168)XMAX(-61.560452)YMAX(34.4429)WIDTH(780)HEIGHT(1024),TIME(2004-09-24T15:35Z)XMIN(-79.9448)YMIN(18.904829)XMAX(-66.052733)YMAX(35.0926)WIDTH(796)HEIGHT(1024),TIME(2004-09-25T16:15Z)XMIN(-86.542505)YMIN(19.108581)XMAX(-69.468082)YMAX(36.734164)WIDTH(1024)HEIGHT(1024),TIME(2004-09-26T18:35Z)XMIN(-88.396252)YMIN(21.654421)XMAX(-73.77603)YMAX(37.151522)WIDTH(1024)HEIGHT(1024)</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/a003035.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence of Hurricane Jeanne.</Abstract>
+						</Style>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="788">
+							<Name>3035_19349_446868</Name>
+							<Title>2004-09-16 17:55</Title>
+							<Abstract>Hurricane Jeanne was the fourth hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean and the Caribbean Sea.  When it hit the Florida coast on September 26, Jeanne was a Category 3 storm with sustained winds near 115 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-74.2195</westBoundLongitude>
+								<eastBoundLongitude>-61.778019</eastBoundLongitude>
+								<southBoundLatitude>14.502694</southBoundLatitude>
+								<northBoundLatitude>23.4959</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-74.2195" miny="14.502694" maxx="-61.778019" maxy="23.4959"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-16T17:55Z">2004-09-16T17:55Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-16T17:55Z)XMIN(-74.2195)YMIN(14.502694)XMAX(-61.778019)YMAX(23.4959)WIDTH(1024)HEIGHT(788)">TIME(2004-09-16T17:55Z)XMIN(-74.2195)YMIN(14.502694)XMAX(-61.778019)YMAX(23.4959)WIDTH(1024)HEIGHT(788)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/a003035.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3035_19349_446869</Name>
+							<Title>2004-09-22 15:46</Title>
+							<Abstract>Hurricane Jeanne was the fourth hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean and the Caribbean Sea.  When it hit the Florida coast on September 26, Jeanne was a Category 3 storm with sustained winds near 115 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-77.8101</westBoundLongitude>
+								<eastBoundLongitude>-61.186302</eastBoundLongitude>
+								<southBoundLatitude>20.954992</southBoundLatitude>
+								<northBoundLatitude>37.4411</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-77.8101" miny="20.954992" maxx="-61.186302" maxy="37.4411"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-22T15:46Z">2004-09-22T15:46Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-22T15:46Z)XMIN(-77.8101)YMIN(20.954992)XMAX(-61.186302)YMAX(37.4411)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-22T15:46Z)XMIN(-77.8101)YMIN(20.954992)XMAX(-61.186302)YMAX(37.4411)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/a003035.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="780" fixedHeight="1024">
+							<Name>3035_19349_446870</Name>
+							<Title>2004-09-23 18:00</Title>
+							<Abstract>Hurricane Jeanne was the fourth hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean and the Caribbean Sea.  When it hit the Florida coast on September 26, Jeanne was a Category 3 storm with sustained winds near 115 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-77.4371</westBoundLongitude>
+								<eastBoundLongitude>-61.560452</eastBoundLongitude>
+								<southBoundLatitude>15.557168</southBoundLatitude>
+								<northBoundLatitude>34.4429</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-77.4371" miny="15.557168" maxx="-61.560452" maxy="34.4429"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-23T18:00Z">2004-09-23T18:00Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-23T18:00Z)XMIN(-77.4371)YMIN(15.557168)XMAX(-61.560452)YMAX(34.4429)WIDTH(780)HEIGHT(1024)">TIME(2004-09-23T18:00Z)XMIN(-77.4371)YMIN(15.557168)XMAX(-61.560452)YMAX(34.4429)WIDTH(780)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/a003035.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="796" fixedHeight="1024">
+							<Name>3035_19349_446871</Name>
+							<Title>2004-09-24 15:35</Title>
+							<Abstract>Hurricane Jeanne was the fourth hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean and the Caribbean Sea.  When it hit the Florida coast on September 26, Jeanne was a Category 3 storm with sustained winds near 115 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-79.9448</westBoundLongitude>
+								<eastBoundLongitude>-66.052733</eastBoundLongitude>
+								<southBoundLatitude>18.904829</southBoundLatitude>
+								<northBoundLatitude>35.0926</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-79.9448" miny="18.904829" maxx="-66.052733" maxy="35.0926"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-24T15:35Z">2004-09-24T15:35Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-24T15:35Z)XMIN(-79.9448)YMIN(18.904829)XMAX(-66.052733)YMAX(35.0926)WIDTH(796)HEIGHT(1024)">TIME(2004-09-24T15:35Z)XMIN(-79.9448)YMIN(18.904829)XMAX(-66.052733)YMAX(35.0926)WIDTH(796)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/a003035.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3035_19349_446872</Name>
+							<Title>2004-09-25 16:15</Title>
+							<Abstract>Hurricane Jeanne was the fourth hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean and the Caribbean Sea.  When it hit the Florida coast on September 26, Jeanne was a Category 3 storm with sustained winds near 115 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-86.542505</westBoundLongitude>
+								<eastBoundLongitude>-69.468082</eastBoundLongitude>
+								<southBoundLatitude>19.108581</southBoundLatitude>
+								<northBoundLatitude>36.734164</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-86.542505" miny="19.108581" maxx="-69.468082" maxy="36.734164"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-25T16:15Z">2004-09-25T16:15Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-25T16:15Z)XMIN(-86.542505)YMIN(19.108581)XMAX(-69.468082)YMAX(36.734164)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-25T16:15Z)XMIN(-86.542505)YMIN(19.108581)XMAX(-69.468082)YMAX(36.734164)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/a003035.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3035_19349_446873</Name>
+							<Title>2004-09-26 18:35</Title>
+							<Abstract>Hurricane Jeanne was the fourth hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean and the Caribbean Sea.  When it hit the Florida coast on September 26, Jeanne was a Category 3 storm with sustained winds near 115 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-88.396252</westBoundLongitude>
+								<eastBoundLongitude>-73.77603</eastBoundLongitude>
+								<southBoundLatitude>21.654421</southBoundLatitude>
+								<northBoundLatitude>37.151522</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-88.396252" miny="21.654421" maxx="-73.77603" maxy="37.151522"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-26T18:35Z">2004-09-26T18:35Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-26T18:35Z)XMIN(-88.396252)YMIN(21.654421)XMAX(-73.77603)YMAX(37.151522)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-26T18:35Z)XMIN(-88.396252)YMIN(21.654421)XMAX(-73.77603)YMAX(37.151522)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/a003035.fgdc"/>
+							</MetadataURL>
+						</Layer>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Accumulated Rainfall during Hurricanes Frances, Ivan, and Jeanne, 2004</Title>
+					<Abstract>During the hurricane season of 2004, an unprecedented four hurricanes hit Florida.  This animation shows the accumulated rainfall produced by three of those hurricanes during the month of September.  The animation also shows the rainfall from the typhoons in the Pacific Ocean during the same period.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="SVS">Precipitation</Keyword>
+						<Keyword vocabulary="SVS">Rain</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Precipitation Amount</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003034/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003034/a003034.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1440" fixedHeight="720">
+						<Name>3034_19343</Name>
+						<Title>Accumulated Rainfall during Hurricanes Frances, Ivan, and Jeanne, 2004 (1440x720 Animation)</Title>
+						<Abstract>During the hurricane season of 2004, an unprecedented four hurricanes hit Florida.  This animation shows the accumulated rainfall produced by three of those hurricanes during the month of September.  The animation also shows the rainfall from the typhoons in the Pacific Ocean during the same period.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="SVS">Precipitation</Keyword>
+							<Keyword vocabulary="SVS">Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Precipitation Amount</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2004-09-28T06:00Z">2004-09-02T00:00Z/2004-09-28T06:00Z/PT3H</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003034/a003034.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the cumulative rainfall caused primarily by hurricanes during September 2004.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003034/colorbar-2.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the cumulative rainfall caused primarily by hurricanes during September 2004.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003034/colorbar-2.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1440" fixedHeight="720">
+						<Name>3034_19343_bg</Name>
+						<Title>Background Image for Accumulated Rainfall during Hurricanes Frances, Ivan, and Jeanne, 2004 (WMS)</Title>
+						<Abstract>During the hurricane season of 2004, an unprecedented four hurricanes hit Florida.  This animation shows the accumulated rainfall produced by three of those hurricanes during the month of September.  The animation also shows the rainfall from the typhoons in the Pacific Ocean during the same period.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="SVS">Precipitation</Keyword>
+							<Keyword vocabulary="SVS">Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Precipitation Amount</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003034/a003034.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Model of Precipitable Water during Hurricane Isabel, 2003</Title>
+					<Abstract>The NASA finite-volume General Circulation Model (fvGCM) is used to produce a high-resolution weather prediction system.  This model has an increased accuracy of predicting the strength and location of hurricanes over other prediction methods.  Several variables are predicted, including cloud cover and precipitable water in the atmosphere.  Data from Hurricane Isabel was used to validate the fvGCM model.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="SVS">Isabel</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="SVS">Precipitation</Keyword>
+						<Keyword vocabulary="SVS">Rain</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Precipitable Water</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003033/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003033/a003033.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3033_19337</Name>
+						<Title>Model of Precipitable Water during Hurricane Isabel, 2003 (1024x512 Animation)</Title>
+						<Abstract>The NASA finite-volume General Circulation Model (fvGCM) is used to produce a high-resolution weather prediction system.  This model has an increased accuracy of predicting the strength and location of hurricanes over other prediction methods.  Several variables are predicted, including cloud cover and precipitable water in the atmosphere.  Data from Hurricane Isabel was used to validate the fvGCM model.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="SVS">Isabel</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="SVS">Precipitation</Keyword>
+							<Keyword vocabulary="SVS">Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Precipitable Water</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-09-21T00:00Z">2003-09-14T03:00Z/2003-09-21T00:00Z/PT3H</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003033/a003033.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the prediction of precipitable water during Hurricane Isabel made by NASAs fvGCM model.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003033/fvgcm_colorbar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the prediction of precipitable water during Hurricane Isabel made by NASAs fvGCM model.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003033/fvgcm_colorbar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3033_19337_bg</Name>
+						<Title>Background Image for Model of Precipitable Water during Hurricane Isabel, 2003 (WMS)</Title>
+						<Abstract>The NASA finite-volume General Circulation Model (fvGCM) is used to produce a high-resolution weather prediction system.  This model has an increased accuracy of predicting the strength and location of hurricanes over other prediction methods.  Several variables are predicted, including cloud cover and precipitable water in the atmosphere.  Data from Hurricane Isabel was used to validate the fvGCM model.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="SVS">Isabel</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="SVS">Precipitation</Keyword>
+							<Keyword vocabulary="SVS">Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Precipitable Water</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003033/a003033.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Model of Clouds during Hurricane Isabel, 2003</Title>
+					<Abstract>The NASA finite-volume General Circulation Model (fvGCM) is used to produce a high-resolution weather prediction system.  This model has an increased accuracy of predicting the strength and location of hurricanes over other prediction methods.  Several variables are predicted, including cloud cover and precipitable water in the atmosphere.  Data from Hurricane Isabel was used to validate the fvGCM model.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="SVS">Isabel</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003032/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003032/a003032.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nas.nasa.gov/News/Science/2004/10-28-04_fvgcm.html"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3032_19332</Name>
+						<Title>Model of Clouds during Hurricane Isabel, 2003 (1024x512 Animation)</Title>
+						<Abstract>The NASA finite-volume General Circulation Model (fvGCM) is used to produce a high-resolution weather prediction system.  This model has an increased accuracy of predicting the strength and location of hurricanes over other prediction methods.  Several variables are predicted, including cloud cover and precipitable water in the atmosphere.  Data from Hurricane Isabel was used to validate the fvGCM model.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="SVS">Isabel</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>0</westBoundLongitude>
+							<eastBoundLongitude>-0.0001</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="0" miny="-90" maxx="-0.0001" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-09-21T00:00Z">2003-09-14T03:00Z/2003-09-21T00:00Z/PT3H</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003032/a003032.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nas.nasa.gov/News/Science/2004/10-28-04_fvgcm.html"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the prediction of cloud cover during Hurricane Isabel made by NASAs fvGCM model.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003032/totalcloud_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the prediction of cloud cover during Hurricane Isabel made by NASAs fvGCM model.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003032/totalcloud_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3032_19332_bg</Name>
+						<Title>Background Image for Model of Clouds during Hurricane Isabel, 2003 (WMS)</Title>
+						<Abstract>The NASA finite-volume General Circulation Model (fvGCM) is used to produce a high-resolution weather prediction system.  This model has an increased accuracy of predicting the strength and location of hurricanes over other prediction methods.  Several variables are predicted, including cloud cover and precipitable water in the atmosphere.  Data from Hurricane Isabel was used to validate the fvGCM model.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="SVS">Isabel</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>0</westBoundLongitude>
+							<eastBoundLongitude>-0.0001</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="0" miny="-90" maxx="-0.0001" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003032/a003032.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nas.nasa.gov/News/Science/2004/10-28-04_fvgcm.html"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>China Dust Storm during April 2001</Title>
+					<Abstract>A major dust storm occurred in April 2001 over parts of China and Mongolia. Dust from this storm was transported all the way to the coast of the United States.  Although dust from the Sahara Desert is routinely transported across the Atlantic to the east coast of the United States, Asian dust rarely makes the distance across the Pacific to the west coast.  These airborne microscopic dust and smoke particles, or aerosols, were measured by the TOMS instrument on the Earth Probe satellite.  For governments struggling to meet national air quality standards, knowing more about the sources and movement of pollution across national borders has become an important issue.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="SVS">Aerosols</Keyword>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Dust</Keyword>
+						<Keyword vocabulary="SVS">Pollution</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Aerosols:Dust/Ash</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002956/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002956/a002956.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://toms.gsfc.nasa.gov/aerosols/aerosols.html"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>2956_18181</Name>
+						<Title>China Dust Storm during April 2001 (1024x512 Animation)</Title>
+						<Abstract>A major dust storm occurred in April 2001 over parts of China and Mongolia. Dust from this storm was transported all the way to the coast of the United States.  Although dust from the Sahara Desert is routinely transported across the Atlantic to the east coast of the United States, Asian dust rarely makes the distance across the Pacific to the west coast.  These airborne microscopic dust and smoke particles, or aerosols, were measured by the TOMS instrument on the Earth Probe satellite.  For governments struggling to meet national air quality standards, knowing more about the sources and movement of pollution across national borders has become an important issue.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Aerosols</Keyword>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Dust</Keyword>
+							<Keyword vocabulary="SVS">Pollution</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Aerosols:Dust/Ash</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>11.3</westBoundLongitude>
+							<eastBoundLongitude>-11.3</eastBoundLongitude>
+							<southBoundLatitude>-84.4</southBoundLatitude>
+							<northBoundLatitude>84.4</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="11.3" miny="-84.4" maxx="-11.3" maxy="84.4"/>
+						<Dimension name="time" units="ISO8601" default="2001-04-17">2001-04-07/2001-04-17/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002956/a002956.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://toms.gsfc.nasa.gov/aerosols/aerosols.html"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the concentration of dust in the atmosphere during April 2001 when a massive dust storm crossed the Pacific from China and Mongolia to the United States.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002956/tomsaerosols_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the concentration of dust in the atmosphere during April 2001 when a massive dust storm crossed the Pacific from China and Mongolia to the United States.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002956/tomsaerosols_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>2956_18181_bg</Name>
+						<Title>Background Image for China Dust Storm during April 2001 (WMS)</Title>
+						<Abstract>A major dust storm occurred in April 2001 over parts of China and Mongolia. Dust from this storm was transported all the way to the coast of the United States.  Although dust from the Sahara Desert is routinely transported across the Atlantic to the east coast of the United States, Asian dust rarely makes the distance across the Pacific to the west coast.  These airborne microscopic dust and smoke particles, or aerosols, were measured by the TOMS instrument on the Earth Probe satellite.  For governments struggling to meet national air quality standards, knowing more about the sources and movement of pollution across national borders has become an important issue.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Aerosols</Keyword>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Dust</Keyword>
+							<Keyword vocabulary="SVS">Pollution</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Aerosols:Dust/Ash</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>11.3</westBoundLongitude>
+							<eastBoundLongitude>-11.3</eastBoundLongitude>
+							<southBoundLatitude>-84.4</southBoundLatitude>
+							<northBoundLatitude>84.4</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="11.3" miny="-84.4" maxx="-11.3" maxy="84.4"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002956/a002956.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://toms.gsfc.nasa.gov/aerosols/aerosols.html"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="1280" fixedHeight="914">
+					<Name>2920_17613</Name>
+					<Title>Tropical Storm Allison Progression (1280x914 Animation)</Title>
+					<Abstract>Tropical Storm Allison began just five days into the 2001 hurricane season.  Allison formed in the warm waters of the Gulf of Mexico, and dumped an enormous amount of rain on Texas, Louisiana, Florida, and other states in the southeastern United States.
+
+Additional Credit:
+NASA/Goddard Space Flight Center, The SeaWiFS Project and ORBIMAGE, Scientific Visualization Studio.  NOTE: All SeaWiFS images and data presented on this web site are for research and educational use only. All commercial use of SeaWiFS data must be coordinated with ORBIMAGE (http://www.orbimage.com).</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Storms</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-110</westBoundLongitude>
+						<eastBoundLongitude>-40</eastBoundLongitude>
+						<southBoundLatitude>10</southBoundLatitude>
+						<northBoundLatitude>60</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-110" miny="10" maxx="-40" maxy="60"/>
+					<Dimension name="time" units="ISO8601" default="2001-06-20">2001-06-02/2001-06-20/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002920/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002920/a002920.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>Tropical Storm Allison, as captured by the SeaWiFS instrument.  The images in this animation are each composites of one days worth of data.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Progression of Hurricane Isabel, 2003</Title>
+					<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2919_21239</Name>
+						<Title>Hurricane Isabel Overview (1024x1024 Image)</Title>
+						<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-90.3567147497137</westBoundLongitude>
+							<eastBoundLongitude>-33.9263456962064</eastBoundLongitude>
+							<southBoundLatitude>7.60928672662917</southBoundLatitude>
+							<northBoundLatitude>50.2900739187121</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-90.3567147497137" miny="7.60928672662917" maxx="-33.9263456962064" maxy="50.2900739187121"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Hurricane Isabel Frame Sequence.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2919_21239</Name>
+						<Title>Hurricane Isabel (Sequence)</Title>
+						<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-90.3567147497137</westBoundLongitude>
+							<eastBoundLongitude>-33.9263456962064</eastBoundLongitude>
+							<southBoundLatitude>7.60928672662917</southBoundLatitude>
+							<northBoundLatitude>50.2900739187121</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-90.3567147497137" miny="7.60928672662917" maxx="-33.9263456962064" maxy="50.2900739187121"/>
+						<Dimension name="sequence" units="" default="TIME(2003-09-18T15:55Z)XMIN(-89.9368167747976)YMIN(20.99959127961)XMAX(-58.935329635127)YMAX(50.2900739187121)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-08T13:45Z)XMIN(-50.7090664621473)YMIN(7.60928672662917)XMAX(-33.9263456962064)YMAX(26.2385837522411)WIDTH(2048)HEIGHT(2048),TIME(2003-09-10T16:40Z)XMIN(-61.9357217357769)YMIN(12.6349351370849)XMAX(-40.7793938744402)YMAX(29.0152565062044)WIDTH(2048)HEIGHT(2048),TIME(2003-09-11T14:15Z)XMIN(-61.6256912944452)YMIN(12.2985591333025)XMAX(-44.8522418560733)YMAX(31.4855215741957)WIDTH(2048)HEIGHT(2048),TIME(2003-09-12T15:00Z)XMIN(-67.1450949749654)YMIN(13.1073296676492)XMAX(-50.7725255792494)YMAX(30.8079597446623)WIDTH(2048)HEIGHT(2048),TIME(2003-09-14T14:45Z)XMIN(-72.8859842466968)YMIN(15.3904667628593)XMAX(-57.3194030322651)YMAX(32.4372774539073)WIDTH(2048)HEIGHT(2048),TIME(2003-09-14T17:55Z)XMIN(-75.1566194406969)YMIN(14.977799869615)XMAX(-59.1647144076383)YMAX(32.7871797570458)WIDTH(2048)HEIGHT(2048),TIME(2003-09-15T15:30Z)XMIN(-79.6174703576956)YMIN(13.7965928255852)XMAX(-58.9699256195635)YMAX(35.9145035309609)WIDTH(2048)HEIGHT(2048),TIME(2003-09-16T17:40Z)XMIN(-81.7283696322799)YMIN(18.7678347983128)XMAX(-60.0899588459265)YMAX(40.8733854607493)WIDTH(2048)HEIGHT(2048),TIME(2003-09-17T15:09Z)XMIN(-80.0474293747806)YMIN(20.6740418138095)XMAX(-57.5668165625193)YMAX(43.0019171082704)WIDTH(2048)HEIGHT(2048),TIME(2003-09-17T18:24Z)XMIN(-90.3567147497137)YMIN(21.7040702133344)XMAX(-65.5519582662732)YMAX(46.0182725415024)WIDTH(2048)HEIGHT(2048),TIME(2003-09-18T15:55Z)XMIN(-89.9368167747976)YMIN(20.99959127961)XMAX(-58.935329635127)YMAX(50.2900739187121)WIDTH(2048)HEIGHT(2048)</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Hurricane Isabel Frame Sequence.</Abstract>
+						</Style>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347556</Name>
+							<Title>2003-09-08 13:45</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-50.7090664621473</westBoundLongitude>
+								<eastBoundLongitude>-33.9263456962064</eastBoundLongitude>
+								<southBoundLatitude>7.60928672662917</southBoundLatitude>
+								<northBoundLatitude>26.2385837522411</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-50.7090664621473" miny="7.60928672662917" maxx="-33.9263456962064" maxy="26.2385837522411"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-08T13:45Z">2003-09-08T13:45Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-08T13:45Z)XMIN(-50.7090664621473)YMIN(7.60928672662917)XMAX(-33.9263456962064)YMAX(26.2385837522411)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-08T13:45Z)XMIN(-50.7090664621473)YMIN(7.60928672662917)XMAX(-33.9263456962064)YMAX(26.2385837522411)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347557</Name>
+							<Title>2003-09-10 16:40</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-61.9357217357769</westBoundLongitude>
+								<eastBoundLongitude>-40.7793938744402</eastBoundLongitude>
+								<southBoundLatitude>12.6349351370849</southBoundLatitude>
+								<northBoundLatitude>29.0152565062044</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-61.9357217357769" miny="12.6349351370849" maxx="-40.7793938744402" maxy="29.0152565062044"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-10T16:40Z">2003-09-10T16:40Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-10T16:40Z)XMIN(-61.9357217357769)YMIN(12.6349351370849)XMAX(-40.7793938744402)YMAX(29.0152565062044)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-10T16:40Z)XMIN(-61.9357217357769)YMIN(12.6349351370849)XMAX(-40.7793938744402)YMAX(29.0152565062044)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347558</Name>
+							<Title>2003-09-11 14:15</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-61.6256912944452</westBoundLongitude>
+								<eastBoundLongitude>-44.8522418560733</eastBoundLongitude>
+								<southBoundLatitude>12.2985591333025</southBoundLatitude>
+								<northBoundLatitude>31.4855215741957</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-61.6256912944452" miny="12.2985591333025" maxx="-44.8522418560733" maxy="31.4855215741957"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-11T14:15Z">2003-09-11T14:15Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-11T14:15Z)XMIN(-61.6256912944452)YMIN(12.2985591333025)XMAX(-44.8522418560733)YMAX(31.4855215741957)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-11T14:15Z)XMIN(-61.6256912944452)YMIN(12.2985591333025)XMAX(-44.8522418560733)YMAX(31.4855215741957)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347559</Name>
+							<Title>2003-09-12 15:00</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-67.1450949749654</westBoundLongitude>
+								<eastBoundLongitude>-50.7725255792494</eastBoundLongitude>
+								<southBoundLatitude>13.1073296676492</southBoundLatitude>
+								<northBoundLatitude>30.8079597446623</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-67.1450949749654" miny="13.1073296676492" maxx="-50.7725255792494" maxy="30.8079597446623"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-12T15:00Z">2003-09-12T15:00Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-12T15:00Z)XMIN(-67.1450949749654)YMIN(13.1073296676492)XMAX(-50.7725255792494)YMAX(30.8079597446623)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-12T15:00Z)XMIN(-67.1450949749654)YMIN(13.1073296676492)XMAX(-50.7725255792494)YMAX(30.8079597446623)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347560</Name>
+							<Title>2003-09-14 14:45</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-72.8859842466968</westBoundLongitude>
+								<eastBoundLongitude>-57.3194030322651</eastBoundLongitude>
+								<southBoundLatitude>15.3904667628593</southBoundLatitude>
+								<northBoundLatitude>32.4372774539073</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-72.8859842466968" miny="15.3904667628593" maxx="-57.3194030322651" maxy="32.4372774539073"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-14T14:45Z">2003-09-14T14:45Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-14T14:45Z)XMIN(-72.8859842466968)YMIN(15.3904667628593)XMAX(-57.3194030322651)YMAX(32.4372774539073)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-14T14:45Z)XMIN(-72.8859842466968)YMIN(15.3904667628593)XMAX(-57.3194030322651)YMAX(32.4372774539073)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347561</Name>
+							<Title>2003-09-14 17:55</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-75.1566194406969</westBoundLongitude>
+								<eastBoundLongitude>-59.1647144076383</eastBoundLongitude>
+								<southBoundLatitude>14.977799869615</southBoundLatitude>
+								<northBoundLatitude>32.7871797570458</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-75.1566194406969" miny="14.977799869615" maxx="-59.1647144076383" maxy="32.7871797570458"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-14T17:55Z">2003-09-14T17:55Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-14T17:55Z)XMIN(-75.1566194406969)YMIN(14.977799869615)XMAX(-59.1647144076383)YMAX(32.7871797570458)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-14T17:55Z)XMIN(-75.1566194406969)YMIN(14.977799869615)XMAX(-59.1647144076383)YMAX(32.7871797570458)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347562</Name>
+							<Title>2003-09-15 15:30</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-79.6174703576956</westBoundLongitude>
+								<eastBoundLongitude>-58.9699256195635</eastBoundLongitude>
+								<southBoundLatitude>13.7965928255852</southBoundLatitude>
+								<northBoundLatitude>35.9145035309609</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-79.6174703576956" miny="13.7965928255852" maxx="-58.9699256195635" maxy="35.9145035309609"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-15T15:30Z">2003-09-15T15:30Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-15T15:30Z)XMIN(-79.6174703576956)YMIN(13.7965928255852)XMAX(-58.9699256195635)YMAX(35.9145035309609)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-15T15:30Z)XMIN(-79.6174703576956)YMIN(13.7965928255852)XMAX(-58.9699256195635)YMAX(35.9145035309609)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347563</Name>
+							<Title>2003-09-16 17:40</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-81.7283696322799</westBoundLongitude>
+								<eastBoundLongitude>-60.0899588459265</eastBoundLongitude>
+								<southBoundLatitude>18.7678347983128</southBoundLatitude>
+								<northBoundLatitude>40.8733854607493</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-81.7283696322799" miny="18.7678347983128" maxx="-60.0899588459265" maxy="40.8733854607493"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-16T17:40Z">2003-09-16T17:40Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-16T17:40Z)XMIN(-81.7283696322799)YMIN(18.7678347983128)XMAX(-60.0899588459265)YMAX(40.8733854607493)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-16T17:40Z)XMIN(-81.7283696322799)YMIN(18.7678347983128)XMAX(-60.0899588459265)YMAX(40.8733854607493)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347564</Name>
+							<Title>2003-09-17 15:09</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-80.0474293747806</westBoundLongitude>
+								<eastBoundLongitude>-57.5668165625193</eastBoundLongitude>
+								<southBoundLatitude>20.6740418138095</southBoundLatitude>
+								<northBoundLatitude>43.0019171082704</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-80.0474293747806" miny="20.6740418138095" maxx="-57.5668165625193" maxy="43.0019171082704"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-17T15:09Z">2003-09-17T15:09Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-17T15:09Z)XMIN(-80.0474293747806)YMIN(20.6740418138095)XMAX(-57.5668165625193)YMAX(43.0019171082704)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-17T15:09Z)XMIN(-80.0474293747806)YMIN(20.6740418138095)XMAX(-57.5668165625193)YMAX(43.0019171082704)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347565</Name>
+							<Title>2003-09-17 18:24</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-90.3567147497137</westBoundLongitude>
+								<eastBoundLongitude>-65.5519582662732</eastBoundLongitude>
+								<southBoundLatitude>21.7040702133344</southBoundLatitude>
+								<northBoundLatitude>46.0182725415024</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-90.3567147497137" miny="21.7040702133344" maxx="-65.5519582662732" maxy="46.0182725415024"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-17T18:24Z">2003-09-17T18:24Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-17T18:24Z)XMIN(-90.3567147497137)YMIN(21.7040702133344)XMAX(-65.5519582662732)YMAX(46.0182725415024)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-17T18:24Z)XMIN(-90.3567147497137)YMIN(21.7040702133344)XMAX(-65.5519582662732)YMAX(46.0182725415024)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347566</Name>
+							<Title>2003-09-18 15:55</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-89.9368167747976</westBoundLongitude>
+								<eastBoundLongitude>-58.935329635127</eastBoundLongitude>
+								<southBoundLatitude>20.99959127961</southBoundLatitude>
+								<northBoundLatitude>50.2900739187121</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-89.9368167747976" miny="20.99959127961" maxx="-58.935329635127" maxy="50.2900739187121"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-18T15:55Z">2003-09-18T15:55Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-18T15:55Z)XMIN(-89.9368167747976)YMIN(20.99959127961)XMAX(-58.935329635127)YMAX(50.2900739187121)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-18T15:55Z)XMIN(-89.9368167747976)YMIN(20.99959127961)XMAX(-58.935329635127)YMAX(50.2900739187121)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Global TRMM Rainmap, August - September 2003</Title>
+					<Abstract>This is a three-hour global rainmap from August 27 through September 8, 2003, as observed by the TRMM satellite.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Precipitation Amount</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002910/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002910/a002910.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1440" fixedHeight="720">
+						<Name>2910_17525</Name>
+						<Title>Global TRMM Rainmap, August - September 2003 (1440x720 Animation)</Title>
+						<Abstract>This is a three-hour global rainmap from August 27 through September 8, 2003, as observed by the TRMM satellite.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Precipitation Amount</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-09-08T09Z">2003-08-27T00Z,2003-08-27T03Z,2003-08-27T15Z/2003-09-08T09Z/PT3H</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002910/a002910.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows global rainfall, with red representing the highest amount.  During this time, Hurricane Fabian can be seen in the Atlantic Ocean.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002910/3B42RTcolorbar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows global rainfall, with red representing the highest amount.  During this time, Hurricane Fabian can be seen in the Atlantic Ocean.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002910/3B42RTcolorbar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1440" fixedHeight="720">
+						<Name>2910_17525_bg</Name>
+						<Title>Background Image for Global TRMM Rainmap, August - September 2003 (WMS)</Title>
+						<Abstract>This is a three-hour global rainmap from August 27 through September 8, 2003, as observed by the TRMM satellite.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Precipitation Amount</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002910/a002910.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Hurricane Regions Indicated by Sea Surface Temperature from June 2002 to September 2003</Title>
+					<Abstract>The temperature of the world's ocean surface provides a clear indication of the regions where hurricanes and typhoons form, since they can only form when the sea surface temperature exceeds 82 degrees F (27.8 degrees C).  The AMSR-E instrument on the Aqua satellite measures the temperature of the top 1 millimeter of the ocean every day, even through the clouds.  In this visualization of AMSR-E data covering the period from June, 2002, to September, 2003, areas with surface temperatures greater than 82 degrees F are shown in yellow and orange, while sea surface temperatures below 82 degrees F are shown in blue.  The region in the Atlantic from the Caribbean to the equator only exceeds the critical temperature during late summer and early fall in the Northern Hemisphere, the period known as Hurricane Season.  It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.  Around January 1, 2003, a cooler than normal region of the ocean appears just to the west of Peru as part of an La Nina and flows westward, driven by the trade winds.  The waves that appear on the edges of this cooler area are called tropical instability waves and can also be seen in the equatorial Atlantic Ocean about the same time.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="SVS">Sea Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002907/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002907/a002907.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.ghcc.msfc.nasa.gov/AMSR/"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1440" fixedHeight="720">
+						<Name>2907_17506</Name>
+						<Title>Hurricane Regions Indicated by Sea Surface Temperature from June 2002 to September 2003 (1440x720 Animation)</Title>
+						<Abstract>The temperature of the world's ocean surface provides a clear indication of the regions where hurricanes and typhoons form, since they can only form when the sea surface temperature exceeds 82 degrees F (27.8 degrees C).  The AMSR-E instrument on the Aqua satellite measures the temperature of the top 1 millimeter of the ocean every day, even through the clouds.  In this visualization of AMSR-E data covering the period from June, 2002, to September, 2003, areas with surface temperatures greater than 82 degrees F are shown in yellow and orange, while sea surface temperatures below 82 degrees F are shown in blue.  The region in the Atlantic from the Caribbean to the equator only exceeds the critical temperature during late summer and early fall in the Northern Hemisphere, the period known as Hurricane Season.  It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.  Around January 1, 2003, a cooler than normal region of the ocean appears just to the west of Peru as part of an La Nina and flows westward, driven by the trade winds.  The waves that appear on the edges of this cooler area are called tropical instability waves and can also be seen in the equatorial Atlantic Ocean about the same time.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+							<Keyword vocabulary="SVS">Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-09-07">2002-06-02/2003-09-07/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002907/a002907.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.ghcc.msfc.nasa.gov/AMSR/"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows how the sea surface temperature can cause hurricanes to form.  Areas shown in orange and yellow are above 82 degrees F (27.8 degrees C) which is required for hurricanes to be able to form.  Sea surface temperatures below 82 degrees F are shown in blue.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002907/sst-hurricane-bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows how the sea surface temperature can cause hurricanes to form.  Areas shown in orange and yellow are above 82 degrees F (27.8 degrees C) which is required for hurricanes to be able to form.  Sea surface temperatures below 82 degrees F are shown in blue.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002907/sst-hurricane-bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1440" fixedHeight="720">
+						<Name>2907_17506_bg</Name>
+						<Title>Background Image for Hurricane Regions Indicated by Sea Surface Temperature from June 2002 to September 2003 (WMS)</Title>
+						<Abstract>The temperature of the world's ocean surface provides a clear indication of the regions where hurricanes and typhoons form, since they can only form when the sea surface temperature exceeds 82 degrees F (27.8 degrees C).  The AMSR-E instrument on the Aqua satellite measures the temperature of the top 1 millimeter of the ocean every day, even through the clouds.  In this visualization of AMSR-E data covering the period from June, 2002, to September, 2003, areas with surface temperatures greater than 82 degrees F are shown in yellow and orange, while sea surface temperatures below 82 degrees F are shown in blue.  The region in the Atlantic from the Caribbean to the equator only exceeds the critical temperature during late summer and early fall in the Northern Hemisphere, the period known as Hurricane Season.  It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.  Around January 1, 2003, a cooler than normal region of the ocean appears just to the west of Peru as part of an La Nina and flows westward, driven by the trade winds.  The waves that appear on the edges of this cooler area are called tropical instability waves and can also be seen in the equatorial Atlantic Ocean about the same time.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+							<Keyword vocabulary="SVS">Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002907/a002907.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.ghcc.msfc.nasa.gov/AMSR/"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Global Ozone from 2000 through 2003</Title>
+					<Abstract>This visualization shows the total ozone concentrations for the Earth from January 1, 2000 through December 31, 2003.  Low ozone (less than 200 Dobson units) is depicted as regions of dark blue, with high ozone (greater that 330 Dobson units) depicted as yellow and red.  The most visible and dynamic feature of the ozone distribution is the ozone hole that forms over Antartica during September of each year.  The amount of ozone in the stratosphere over Antarctica is reduced during this period due to unique atmospheric conditions which chemically reduce the amount of ozone in the region and prevent that ozone from mixing with the higher ozone concentrations just outside the hole.  Ozone blocks harmful ultraviolet 'B' rays, and loss of statospheric ozone has been linked to skin cancer in humans and other adverse biological effects in plants and animals.  The 2000 Antarctic ozone hole reached 11.5 million square miles on September 10, 2000, the largest hole ever recorded, slightly larger than the North American continent.  The 2002 ozone hole was much smaller than normal, dividing into two parts on September 24 before dissipating completely, while the 2003 hole was the second largest observed, reaching 10.9 million square miles on September 11.  This data was measured by the TOMS instrument on the Earth Probe satellite.  TOMS experienced some days during this period for which data was not measured due to instrument problems.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Ozone</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Oxygen Compounds:Ozone</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002904/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002904/a002904.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://toms.gsfc.nasa.gov/ozone/ozone.html"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="288" fixedHeight="180">
+						<Name>2904_17486</Name>
+						<Title>Global Ozone from 2000 through 2003 (288x180 Animation)</Title>
+						<Abstract>This visualization shows the total ozone concentrations for the Earth from January 1, 2000 through December 31, 2003.  Low ozone (less than 200 Dobson units) is depicted as regions of dark blue, with high ozone (greater that 330 Dobson units) depicted as yellow and red.  The most visible and dynamic feature of the ozone distribution is the ozone hole that forms over Antartica during September of each year.  The amount of ozone in the stratosphere over Antarctica is reduced during this period due to unique atmospheric conditions which chemically reduce the amount of ozone in the region and prevent that ozone from mixing with the higher ozone concentrations just outside the hole.  Ozone blocks harmful ultraviolet 'B' rays, and loss of statospheric ozone has been linked to skin cancer in humans and other adverse biological effects in plants and animals.  The 2000 Antarctic ozone hole reached 11.5 million square miles on September 10, 2000, the largest hole ever recorded, slightly larger than the North American continent.  The 2002 ozone hole was much smaller than normal, dividing into two parts on September 24 before dissipating completely, while the 2003 hole was the second largest observed, reaching 10.9 million square miles on September 11.  This data was measured by the TOMS instrument on the Earth Probe satellite.  TOMS experienced some days during this period for which data was not measured due to instrument problems.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Ozone</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Oxygen Compounds:Ozone</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-12-31">2000-01-01/2003-12-31/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002904/a002904.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://toms.gsfc.nasa.gov/ozone/ozone.html"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows stratospheric ozone over the entire earth.  Red and yellow areas denote regions of high ozone density and dark blue represents areas of low ozone.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002904/ozonebar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows stratospheric ozone over the entire earth.  Red and yellow areas denote regions of high ozone density and dark blue represents areas of low ozone.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002904/ozonebar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="288" fixedHeight="180">
+						<Name>2904_17486_bg</Name>
+						<Title>Background Image for Global Ozone from 2000 through 2003 (WMS)</Title>
+						<Abstract>This visualization shows the total ozone concentrations for the Earth from January 1, 2000 through December 31, 2003.  Low ozone (less than 200 Dobson units) is depicted as regions of dark blue, with high ozone (greater that 330 Dobson units) depicted as yellow and red.  The most visible and dynamic feature of the ozone distribution is the ozone hole that forms over Antartica during September of each year.  The amount of ozone in the stratosphere over Antarctica is reduced during this period due to unique atmospheric conditions which chemically reduce the amount of ozone in the region and prevent that ozone from mixing with the higher ozone concentrations just outside the hole.  Ozone blocks harmful ultraviolet 'B' rays, and loss of statospheric ozone has been linked to skin cancer in humans and other adverse biological effects in plants and animals.  The 2000 Antarctic ozone hole reached 11.5 million square miles on September 10, 2000, the largest hole ever recorded, slightly larger than the North American continent.  The 2002 ozone hole was much smaller than normal, dividing into two parts on September 24 before dissipating completely, while the 2003 hole was the second largest observed, reaching 10.9 million square miles on September 11.  This data was measured by the TOMS instrument on the Earth Probe satellite.  TOMS experienced some days during this period for which data was not measured due to instrument problems.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Ozone</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Oxygen Compounds:Ozone</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002904/a002904.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://toms.gsfc.nasa.gov/ozone/ozone.html"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Ozone Measurements from 2000 through 2003</Title>
+					<Abstract>This visualization shows the total ozone concentrations for the Earth from January 1, 2000 through December 31, 2003, as measured by theTOMS instrument on the Earth Probe satellite.  Low ozone (less than 200 Dobson units) is depicted as regions of dark blue, with high ozone (greater that 330 Dobson units) depicted as yellow and red.  The most visible and dynamic feature of the ozone distribution is the ozone hole that forms over Antartica during September of each year.  The amount of ozone in the stratosphere over Antarctica is reduced during this period due to unique atmospheric conditions which chemically reduce the amount of ozone in the region and prevent that ozone from mixing with the higher ozone concentrations just outside the hole.  Ozone blocks harmful ultraviolet 'B' rays, and loss of statospheric ozone has been linked to skin cancer in humans and other adverse biological effects in plants and animals.  This visualization explicitly shows the TOM ozone data coverage and does not interpolate data into regions of the Earth that the instrument did not observe.  Since TOMS measures ozone by observing the characteristics of sunlight reflected from the Earth's surface, no measurements are available for the poles during the polar winter, i.e., around January for the North Pole and July for the South Pole.  Also, there is an unobserved region between successive satellite orbits around the equator.  Finally, the instrument has periods where technical issues make measurement impossible for a matter of hours or days.  This visualization shows that the dynamics of the ozone layer remain visible despite these measurement issues.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Ozone</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Oxygen Compounds:Ozone</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002903/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002903/a002903.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://toms.gsfc.nasa.gov/ozone/ozone.html"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="288" fixedHeight="180">
+						<Name>2903_17480</Name>
+						<Title>Ozone Measurements from 2000 through 2003 (288x180 Animation)</Title>
+						<Abstract>This visualization shows the total ozone concentrations for the Earth from January 1, 2000 through December 31, 2003, as measured by theTOMS instrument on the Earth Probe satellite.  Low ozone (less than 200 Dobson units) is depicted as regions of dark blue, with high ozone (greater that 330 Dobson units) depicted as yellow and red.  The most visible and dynamic feature of the ozone distribution is the ozone hole that forms over Antartica during September of each year.  The amount of ozone in the stratosphere over Antarctica is reduced during this period due to unique atmospheric conditions which chemically reduce the amount of ozone in the region and prevent that ozone from mixing with the higher ozone concentrations just outside the hole.  Ozone blocks harmful ultraviolet 'B' rays, and loss of statospheric ozone has been linked to skin cancer in humans and other adverse biological effects in plants and animals.  This visualization explicitly shows the TOM ozone data coverage and does not interpolate data into regions of the Earth that the instrument did not observe.  Since TOMS measures ozone by observing the characteristics of sunlight reflected from the Earth's surface, no measurements are available for the poles during the polar winter, i.e., around January for the North Pole and July for the South Pole.  Also, there is an unobserved region between successive satellite orbits around the equator.  Finally, the instrument has periods where technical issues make measurement impossible for a matter of hours or days.  This visualization shows that the dynamics of the ozone layer remain visible despite these measurement issues.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Ozone</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Oxygen Compounds:Ozone</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-12-31">2000-01-01/2003-12-31/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002903/a002903.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://toms.gsfc.nasa.gov/ozone/ozone.html"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the original data for stratospheric ozone over the entire earth.  Data gaps--areas where the instrument did not collect data--have not been interpolated.  Red and yellow areas denote regions of high ozone density and dark blue represents areas of low ozone.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002903/ozonebar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the original data for stratospheric ozone over the entire earth.  Data gaps--areas where the instrument did not collect data--have not been interpolated.  Red and yellow areas denote regions of high ozone density and dark blue represents areas of low ozone.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002903/ozonebar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="288" fixedHeight="180">
+						<Name>2903_17480_bg</Name>
+						<Title>Background Image for Ozone Measurements from 2000 through 2003 (WMS)</Title>
+						<Abstract>This visualization shows the total ozone concentrations for the Earth from January 1, 2000 through December 31, 2003, as measured by theTOMS instrument on the Earth Probe satellite.  Low ozone (less than 200 Dobson units) is depicted as regions of dark blue, with high ozone (greater that 330 Dobson units) depicted as yellow and red.  The most visible and dynamic feature of the ozone distribution is the ozone hole that forms over Antartica during September of each year.  The amount of ozone in the stratosphere over Antarctica is reduced during this period due to unique atmospheric conditions which chemically reduce the amount of ozone in the region and prevent that ozone from mixing with the higher ozone concentrations just outside the hole.  Ozone blocks harmful ultraviolet 'B' rays, and loss of statospheric ozone has been linked to skin cancer in humans and other adverse biological effects in plants and animals.  This visualization explicitly shows the TOM ozone data coverage and does not interpolate data into regions of the Earth that the instrument did not observe.  Since TOMS measures ozone by observing the characteristics of sunlight reflected from the Earth's surface, no measurements are available for the poles during the polar winter, i.e., around January for the North Pole and July for the South Pole.  Also, there is an unobserved region between successive satellite orbits around the equator.  Finally, the instrument has periods where technical issues make measurement impossible for a matter of hours or days.  This visualization shows that the dynamics of the ozone layer remain visible despite these measurement issues.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Ozone</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Oxygen Compounds:Ozone</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002903/a002903.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://toms.gsfc.nasa.gov/ozone/ozone.html"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Atmospheric Water Vapor during the 1997-1998 El Niño</Title>
+					<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds which both warm and cool the Earth in different circumstances.  A key feature of global atmospheric water vapor convection is the Intertropical Convergence Zone, the low pressure region within five degrees of the equator where the trade winds converge and solar heating of the atmosphere forces the water-laden air to rise in altitude, form clouds, and then precipitate as rain in the afternoon.  This visualization shows the global water vapor distribution in gray and white and the global precipitation in yellow every hour from December 20, 1997 to January 14, 1998.  The afternoon thunderstorms in the tropics are seen as a flashing yellow region that moves from east to west, following the sun.  This is an El Niño period, when the water to the west of South America is warmer than normal, allowing the atmosphere there to heat up and hold more water.  This region feeds a high band of water vapor reaching to the southeastern United States and causes increased humidity and rainfall in that region.  This data is from the Goddard Earth Modeling System, a coupled land-ocean-atmosphere model which uses earth and satellite-based observations to simulate the Earth's physical system during events such as El Niño.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Precipitable Water</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002902/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002902/a002902.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://nsipp.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="576" fixedHeight="360">
+						<Name>2902_17473</Name>
+						<Title>Atmospheric Water Vapor during the 1997-1998 El Niño (576x360 Animation)</Title>
+						<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds which both warm and cool the Earth in different circumstances.  A key feature of global atmospheric water vapor convection is the Intertropical Convergence Zone, the low pressure region within five degrees of the equator where the trade winds converge and solar heating of the atmosphere forces the water-laden air to rise in altitude, form clouds, and then precipitate as rain in the afternoon.  This visualization shows the global water vapor distribution in gray and white and the global precipitation in yellow every hour from December 20, 1997 to January 14, 1998.  The afternoon thunderstorms in the tropics are seen as a flashing yellow region that moves from east to west, following the sun.  This is an El Niño period, when the water to the west of South America is warmer than normal, allowing the atmosphere there to heat up and hold more water.  This region feeds a high band of water vapor reaching to the southeastern United States and causes increased humidity and rainfall in that region.  This data is from the Goddard Earth Modeling System, a coupled land-ocean-atmosphere model which uses earth and satellite-based observations to simulate the Earth's physical system during events such as El Niño.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Precipitable Water</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="1998-01-14T23:00Z">1997-12-20T00:00Z/1998-01-14T23:00Z/PT1H</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002902/a002902.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://nsipp.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This visualization shows the total precipitable water in the atmosphere, indicated by the gray to white cloud-like structures, and predicted precipitation, indicated by gold, during the 1997-1998 El Nino.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="180">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002902/vaporbar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This visualization shows the total precipitable water in the atmosphere, indicated by the gray to white cloud-like structures, and predicted precipitation, indicated by gold, during the 1997-1998 El Nino.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="180">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002902/vaporbar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="576" fixedHeight="360">
+						<Name>2902_17473_bg</Name>
+						<Title>Background Image for Atmospheric Water Vapor during the 1997-1998 El Niño (WMS)</Title>
+						<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds which both warm and cool the Earth in different circumstances.  A key feature of global atmospheric water vapor convection is the Intertropical Convergence Zone, the low pressure region within five degrees of the equator where the trade winds converge and solar heating of the atmosphere forces the water-laden air to rise in altitude, form clouds, and then precipitate as rain in the afternoon.  This visualization shows the global water vapor distribution in gray and white and the global precipitation in yellow every hour from December 20, 1997 to January 14, 1998.  The afternoon thunderstorms in the tropics are seen as a flashing yellow region that moves from east to west, following the sun.  This is an El Niño period, when the water to the west of South America is warmer than normal, allowing the atmosphere there to heat up and hold more water.  This region feeds a high band of water vapor reaching to the southeastern United States and causes increased humidity and rainfall in that region.  This data is from the Goddard Earth Modeling System, a coupled land-ocean-atmosphere model which uses earth and satellite-based observations to simulate the Earth's physical system during events such as El Niño.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Precipitable Water</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002902/a002902.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://nsipp.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Atmospheric Water Vapor during the 1998 La Niña</Title>
+					<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds which both warm and cool the Earth in different circumstances.  A key feature of global atmospheric water vapor convection is the Intertropical Convergence Zone, the low pressure region within five degrees of the equator where the trade winds converge and solar heating of the atmosphere forces the water-laden air to rise in altitude, form clouds, and then precipitate as rain in the afternoon.  This visualization shows the global water vapor distribution in gray and white and the global precipitation in yellow every hour from August 30, 1998 to September 20, 1998.  The afternoon thunderstorms in the tropics are seen as a flashing yellow region that moves from east to west, following the sun.  This is a La Niña period, when the water to the west of South America is cooler than normal, forcing the atmosphere there to cool down and hold less water.  Strong east-to-west winds can be seen in this region, contributing to the high water vapor region that forms further to the west over southeast Asia, the Philippines, and Indonesia, causing increased humidity and rainfall in that region.  This data is from the Goddard Earth Modeling System, a coupled land-ocean-atmosphere model which uses earth and satellite-based observations to simulate the Earth's physical system during events such as La Niña.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Precipitable Water</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002901/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002901/a002901.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://nsipp.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="576" fixedHeight="360">
+						<Name>2901_17466</Name>
+						<Title>Atmospheric Water Vapor during the 1998 La Niña (576x360 Animation)</Title>
+						<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds which both warm and cool the Earth in different circumstances.  A key feature of global atmospheric water vapor convection is the Intertropical Convergence Zone, the low pressure region within five degrees of the equator where the trade winds converge and solar heating of the atmosphere forces the water-laden air to rise in altitude, form clouds, and then precipitate as rain in the afternoon.  This visualization shows the global water vapor distribution in gray and white and the global precipitation in yellow every hour from August 30, 1998 to September 20, 1998.  The afternoon thunderstorms in the tropics are seen as a flashing yellow region that moves from east to west, following the sun.  This is a La Niña period, when the water to the west of South America is cooler than normal, forcing the atmosphere there to cool down and hold less water.  Strong east-to-west winds can be seen in this region, contributing to the high water vapor region that forms further to the west over southeast Asia, the Philippines, and Indonesia, causing increased humidity and rainfall in that region.  This data is from the Goddard Earth Modeling System, a coupled land-ocean-atmosphere model which uses earth and satellite-based observations to simulate the Earth's physical system during events such as La Niña.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Precipitable Water</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="1998-09-19T23:00Z">1998-08-29T00:00Z/1998-09-19T23:00Z/PT1H</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002901/a002901.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://nsipp.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This visualization shows the total precipitable water in the atmosphere, indicated by the gray to white cloud-like structures, and predicted precipitation, indicated by gold, during the 1998-1999 La Nina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="180">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002901/vaporbar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This visualization shows the total precipitable water in the atmosphere, indicated by the gray to white cloud-like structures, and predicted precipitation, indicated by gold, during the 1998-1999 La Nina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="180">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002901/vaporbar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="576" fixedHeight="360">
+						<Name>2901_17466_bg</Name>
+						<Title>Background Image for Atmospheric Water Vapor during the 1998 La Niña (WMS)</Title>
+						<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds which both warm and cool the Earth in different circumstances.  A key feature of global atmospheric water vapor convection is the Intertropical Convergence Zone, the low pressure region within five degrees of the equator where the trade winds converge and solar heating of the atmosphere forces the water-laden air to rise in altitude, form clouds, and then precipitate as rain in the afternoon.  This visualization shows the global water vapor distribution in gray and white and the global precipitation in yellow every hour from August 30, 1998 to September 20, 1998.  The afternoon thunderstorms in the tropics are seen as a flashing yellow region that moves from east to west, following the sun.  This is a La Niña period, when the water to the west of South America is cooler than normal, forcing the atmosphere there to cool down and hold less water.  Strong east-to-west winds can be seen in this region, contributing to the high water vapor region that forms further to the west over southeast Asia, the Philippines, and Indonesia, causing increased humidity and rainfall in that region.  This data is from the Goddard Earth Modeling System, a coupled land-ocean-atmosphere model which uses earth and satellite-based observations to simulate the Earth's physical system during events such as La Niña.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Precipitable Water</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002901/a002901.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://nsipp.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>2900_17460</Name>
+					<Title>Global Atmospheric Carbon Monoxide in 2000 (1024x512 Animation)</Title>
+					<Abstract>This visualization shows global carbon monoxide concentrations at the 500 millibar altitude in the atmosphere from March 1, 2000 through December 31, 2000.  Areas in red have 200 parts per billion of carbon monoxide or more at that altitude (around 5,500 meters), while areas in blue are 50 parts per billion or less.  Carbon monoxide is an atmospheric pollutant and the highest concentrations come from grassland and forest fires in Africa and South America, although there is evidence that industrial sources may also be a factor.  Atmospheric circulation rapidly moves the carbon monoxide to other parts of the world once it has reached this altitude.  This data was measured by the MOPITT instrument on the Terra satellite.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">CO</Keyword>
+						<Keyword vocabulary="SVS">Carbon Monoxide</Keyword>
+						<Keyword vocabulary="SVS">Transport</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Air Quality:Carbon Monoxide</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Carbon and Hydrocarbon Compounds:Carbon Monoxide</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2000-12-31T18:00Z">2000-03-01T06:00Z/2000-12-31T18:00Z/PT6H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002900/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002900/a002900.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.eos.ucar.edu/mopitt/index.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows carbon monoxide (CO) in the atmosphere.  Red and orange indicate high values, and blue indicates low values.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002900/mopitt_colorbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="993" fixedHeight="684">
+					<Name>2898_17449</Name>
+					<Title>GOES Imagery of Hurricane Luis (993x684 Animation)</Title>
+					<Abstract>On September 6, 1995, Hurricane Luis was a Category 4 hurricane located about 250 kilometers northeast of Puerto Rico.  GOES-9, a new weather satellite in geostationary orbit, was undergoing a check-out period and tested a new, rapid scanning capability by taking high-resolution visible images of Luis at 22 images per hour, much more rapid than the normal rate of one image every 15 minutes.  These images clearly show a number of hurricane features that had been hard to observe before, including the evolution of the eyewall structures and small-scale vortex features within the eye.  It is also possible to see the formation of the new hurricane arm to the southeast of the eye.  This arm is marked by the formation of clouds in the bubbling regions that indicate intense updrafts.  The island of Puerto Rico can only be seen as a stationary disturbance under the bright white cloudbank to the southwest of the eye of the hurricane.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Luis</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-69.8211</westBoundLongitude>
+						<eastBoundLongitude>-53.0796</eastBoundLongitude>
+						<southBoundLatitude>13.52</southBoundLatitude>
+						<northBoundLatitude>25.92</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-69.8211" miny="13.52" maxx="-53.0796" maxy="25.92"/>
+					<Dimension name="time" units="ISO8601" default="1995-09-06T14:58Z">1995-09-06T10:23Z/1995-09-06T10:29Z/PT1M,1995-09-06T10:32Z/1995-09-06T10:35Z/PT1M,1995-09-06T10:39Z,1995-09-06T10:41Z/1995-09-06T10:43Z/PT1M,1995-09-06T10:45Z/1995-09-06T10:49Z/PT1M,1995-09-06T10:51Z/1995-09-06T10:59Z/PT1M,1995-09-06T11:02Z/1995-09-06T11:05Z/PT1M,1995-09-06T11:09Z,1995-09-06T11:11Z/1995-09-06T11:13Z/PT1M,1995-09-06T11:15Z/1995-09-06T11:19Z/PT1M,1995-09-06T11:21Z/1995-09-06T11:29Z/PT1M,1995-09-06T11:32Z/1995-09-06T11:35Z/PT1M,1995-09-06T11:39Z,1995-09-06T11:41Z/1995-09-06T11:43Z/PT1M,1995-09-06T11:45Z/1995-09-06T11:51Z/PT1M,1995-09-06T11:53Z/1995-09-06T12:10Z/PT1M,1995-09-06T12:13Z,1995-09-06T12:15Z/1995-09-06T12:19Z/PT1M,1995-09-06T12:21Z,1995-09-06T12:23Z/1995-09-06T12:29Z/PT1M,1995-09-06T12:45Z/1995-09-06T12:51Z/PT1M,1995-09-06T12:53Z/1995-09-06T12:59Z/PT1M,1995-09-06T13:02Z/1995-09-06T13:05Z/PT1M,1995-09-06T13:09Z,1995-09-06T13:10Z,1995-09-06T13:12Z,1995-09-06T13:13Z,1995-09-06T13:15Z/1995-09-06T13:20Z/PT1M,1995-09-06T13:22Z/1995-09-06T13:29Z/PT1M,1995-09-06T13:32Z/1995-09-06T13:35Z/PT1M,1995-09-06T13:39Z,1995-09-06T13:40Z,1995-09-06T13:42Z,1995-09-06T13:43Z,1995-09-06T13:45Z/1995-09-06T13:50Z/PT1M,1995-09-06T13:52Z/1995-09-06T13:59Z/PT1M,1995-09-06T14:02Z/1995-09-06T14:05Z/PT1M,1995-09-06T14:09Z,1995-09-06T14:10Z,1995-09-06T14:12Z,1995-09-06T14:13Z,1995-09-06T14:15Z/1995-09-06T14:20Z/PT1M,1995-09-06T14:22Z/1995-09-06T14:29Z/PT1M,1995-09-06T14:32Z/1995-09-06T14:35Z/PT1M,1995-09-06T14:39Z,1995-09-06T14:41Z/1995-09-06T14:43Z/PT1M,1995-09-06T14:45Z/1995-09-06T14:51Z/PT1M,1995-09-06T14:53Z/1995-09-06T14:58Z/PT1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002898/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002898/a002898.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.goes.noaa.gov/"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract> This animation shows a close-up of Hurricane Luis on September 6, 1995.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>2897_17442</Name>
+					<Title>Cold Water Trails from Hurricanes Fabian and Isabel (1024x1024 Animation)</Title>
+					<Abstract>This visualization shows the cold water trails left first by Hurricanes Fabian and then by Hurricane Isabel in the Atlantic Ocean from August 27, 2003 through September 23, 2003.  The colors on the ocean represent the sea surface temperatures, and satellite images of the hurricane clouds are laid over the temperatures to clearly show the hurricane positions.  Orange and red depict regions that are 82 degrees F and higher, where the ocean is warm enough for hurricanes to form.  Hurricane winds are sustained by the heat energy of the ocean, so the ocean is cooled as the hurricane passes and the energy is extracted to power the winds.  A hurricane can experience a dramatic reduction in wind speed when it crosses the cold track of a previous hurricane.  However, in this case, the cold water track from Fabian warmed up before Isabel crossed it, so Isabel's winds did not decrease.  The sea surface temperatures were measured by the AMSR-E instrument on the Aqua satellite, while the cloud images were taken by the Imager on the GOES-12 satellite.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-110</westBoundLongitude>
+						<eastBoundLongitude>-10</eastBoundLongitude>
+						<southBoundLatitude>-25</southBoundLatitude>
+						<northBoundLatitude>75</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-110" miny="-25" maxx="-10" maxy="75"/>
+					<Dimension name="time" units="ISO8601" default="2003-09-21T20:45Z">2003-08-27T02:45Z/2003-09-17T08:45Z/PT6H,2003-09-17T20:45Z/2003-09-18T14:45Z/PT6H,2003-09-19T08:45Z/2003-09-21T20:45Z/PT6H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002897/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002897/a002897.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.ssmi.com/amsr/amsr_data_description.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Hurricanes Fabian and Isabel leave cold water trails in their wake.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002897/sst-hurricane-bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Wind Vectors for Hurricane Erin</Title>
+					<Abstract>This visualization shows wind vectors for Hurricane Erin on September 10, 2001.  Wind direction and speed are represented by the direction and speed of moving arrows, respectively.  This animation represents a single measurement taken by the SeaWinds instrument on the QuikSCAT satellite, taken at 14:27:00 UTC on September 10, 2001.  The WMS version of this animation which is available through the SVS Image Server (http://aes.gsfc.nasa.gov) presents this animation with a different timestamp for each frame in order to more easily present the images as an animation.  It should be noted that each frame really has a time stamp of 2001-09-10 14:27:00 UTC.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="SVS">Winds</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Surface Winds</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Winds:Surface Winds</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002896/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002896/a002896.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2896_17437</Name>
+						<Title>Wind Vectors for Hurricane Erin (1024x1024 Animation)</Title>
+						<Abstract>This visualization shows wind vectors for Hurricane Erin on September 10, 2001.  Wind direction and speed are represented by the direction and speed of moving arrows, respectively.  This animation represents a single measurement taken by the SeaWinds instrument on the QuikSCAT satellite, taken at 14:27:00 UTC on September 10, 2001.  The WMS version of this animation which is available through the SVS Image Server (http://aes.gsfc.nasa.gov) presents this animation with a different timestamp for each frame in order to more easily present the images as an animation.  It should be noted that each frame really has a time stamp of 2001-09-10 14:27:00 UTC.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="SVS">Winds</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Surface Winds</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Winds:Surface Winds</Keyword>
+							<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-90</westBoundLongitude>
+							<eastBoundLongitude>-40</eastBoundLongitude>
+							<southBoundLatitude>10</southBoundLatitude>
+							<northBoundLatitude>60</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-90" miny="10" maxx="-40" maxy="60"/>
+						<Dimension name="time" units="ISO8601" default="2001-09-10T14:31:59Z">2001-09-10T14:27:00Z/2001-09-10T14:31:59Z/PT1S</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002896/a002896.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Hurricane Erin was positioned off the coast of the United States on September 10, 2001.  This animation shows the strength and direction of wind by animating small arrows.  Faster-moving arrows represent stronger winds.  This version provides only the transparent overlay.</Abstract>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Hurricane Erin was positioned off the coast of the United States on September 10, 2001.  This animation shows the strength and direction of wind by animating small arrows.  Faster-moving arrows represent stronger winds.  This version provides the transparent overlay composited with a background image.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2896_17437_bg</Name>
+						<Title>Background Image for Wind Vectors for Hurricane Erin (WMS)</Title>
+						<Abstract>This visualization shows wind vectors for Hurricane Erin on September 10, 2001.  Wind direction and speed are represented by the direction and speed of moving arrows, respectively.  This animation represents a single measurement taken by the SeaWinds instrument on the QuikSCAT satellite, taken at 14:27:00 UTC on September 10, 2001.  The WMS version of this animation which is available through the SVS Image Server (http://aes.gsfc.nasa.gov) presents this animation with a different timestamp for each frame in order to more easily present the images as an animation.  It should be noted that each frame really has a time stamp of 2001-09-10 14:27:00 UTC.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="SVS">Winds</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Surface Winds</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Winds:Surface Winds</Keyword>
+							<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-90</westBoundLongitude>
+							<eastBoundLongitude>-40</eastBoundLongitude>
+							<southBoundLatitude>10</southBoundLatitude>
+							<northBoundLatitude>60</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-90" miny="10" maxx="-40" maxy="60"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002896/a002896.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Infrared Cloud Cover over the Atlantic Ocean, September 2001</Title>
+					<Abstract>This animation is a mosaic of cloud cover data taken by several different satellites in the infrared band.  Instead of showing a global composite, it is cropped to highlight the Atlantic Ocean.  One of the most prominent cloud features during this time was Hurricane Erin.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Cloud Cover</Keyword>
+						<Keyword vocabulary="SVS">Infrared</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">Location:Atlantic Ocean</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002895/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002895/a002895.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1009">
+						<Name>2895_17432</Name>
+						<Title>Infrared Cloud Cover over the Atlantic Ocean, September 2001 (1024x1009 Animation)</Title>
+						<Abstract>This animation is a mosaic of cloud cover data taken by several different satellites in the infrared band.  Instead of showing a global composite, it is cropped to highlight the Atlantic Ocean.  One of the most prominent cloud features during this time was Hurricane Erin.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Cloud Cover</Keyword>
+							<Keyword vocabulary="SVS">Infrared</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+							<Keyword vocabulary="GCMD">Location:Atlantic Ocean</Keyword>
+							<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-92</westBoundLongitude>
+							<eastBoundLongitude>37.2566666667</eastBoundLongitude>
+							<southBoundLatitude>-61.16</southBoundLatitude>
+							<northBoundLatitude>65.56</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-92" miny="-61.16" maxx="37.2566666667" maxy="65.56"/>
+						<Dimension name="time" units="ISO8601" default="2001-09-15T23:45Z">2001-09-01T00:45Z/2001-09-01T03:45Z/PT30M,2001-09-01T04:00Z/2001-09-01T06:00Z/PT30M,2001-09-01T06:45Z/2001-09-01T11:15Z/PT30M,2001-09-01T14:15Z/2001-09-01T19:15Z/PT30M,2001-09-01T20:15Z/2001-09-02T03:45Z/PT30M,2001-09-02T04:00Z/2001-09-02T06:00Z/PT30M,2001-09-02T06:45Z/2001-09-03T03:45Z/PT30M,2001-09-03T04:00Z/2001-09-03T05:00Z/PT30M,2001-09-03T06:00Z,2001-09-03T06:45Z/2001-09-04T03:45Z/PT30M,2001-09-04T04:00Z/2001-09-04T06:00Z/PT30M,2001-09-04T06:45Z/2001-09-04T19:45Z/PT30M,2001-09-04T20:45Z/2001-09-05T03:45Z/PT30M,2001-09-05T04:00Z/2001-09-05T05:00Z/PT30M,2001-09-05T06:00Z,2001-09-05T06:45Z/2001-09-06T03:45Z/PT30M,2001-09-06T04:00Z/2001-09-06T06:00Z/PT30M,2001-09-06T06:45Z/2001-09-07T03:45Z/PT30M,2001-09-07T04:00Z/2001-09-07T05:00Z/PT30M,2001-09-07T06:00Z,2001-09-07T06:45Z/2001-09-07T11:15Z/PT30M,2001-09-07T12:45Z/2001-09-07T15:15Z/PT30M,2001-09-07T16:15Z/2001-09-08T03:45Z/PT30M,2001-09-08T04:00Z/2001-09-08T06:00Z/PT30M,2001-09-08T06:45Z/2001-09-08T22:45Z/PT30M,2001-09-08T23:45Z/2001-09-09T03:45Z/PT30M,2001-09-09T04:00Z/2001-09-09T05:00Z/PT30M,2001-09-09T06:45Z/2001-09-10T03:45Z/PT30M,2001-09-10T04:00Z/2001-09-10T06:00Z/PT30M,2001-09-10T06:45Z/2001-09-11T03:45Z/PT30M,2001-09-11T04:30Z,2001-09-11T05:00Z,2001-09-11T06:00Z,2001-09-11T06:45Z/2001-09-11T20:45Z/PT30M,2001-09-12T03:45Z,2001-09-12T04:00Z/2001-09-12T06:00Z/PT30M,2001-09-12T06:45Z/2001-09-13T03:45Z/PT30M,2001-09-13T04:00Z/2001-09-13T05:00Z/PT30M,2001-09-13T06:00Z,2001-09-13T06:45Z/2001-09-14T03:45Z/PT30M,2001-09-14T04:00Z/2001-09-14T06:00Z/PT30M,2001-09-14T06:45Z/2001-09-15T03:45Z/PT30M,2001-09-15T04:00Z/2001-09-15T06:00Z/PT30M,2001-09-15T06:45Z/2001-09-15T23:45Z/PT30M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002895/a002895.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows a composite over the Atlantic Ocean of cloud cover data taken from the infrared sensors of several different satellites during September 2001.  Hurricane Erin progresses from the middle of the Atlantic Ocean to near the eastern coast of the United States.  This version provides only the transparent overlay.</Abstract>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Image Composited with Foreground</Title>
+							<Abstract>This animation shows a composite over the Atlantic Ocean of cloud cover data taken from the infrared sensors of several different satellites during September 2001.  Hurricane Erin progresses from the middle of the Atlantic Ocean to near the eastern coast of the United States.  This version provides an image composited with an appropriate foreground image.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1009">
+						<Name>2895_17432_bg</Name>
+						<Title>Foreground Image for Infrared Cloud Cover over the Atlantic Ocean, September 2001 (WMS)</Title>
+						<Abstract>This animation is a mosaic of cloud cover data taken by several different satellites in the infrared band.  Instead of showing a global composite, it is cropped to highlight the Atlantic Ocean.  One of the most prominent cloud features during this time was Hurricane Erin.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Cloud Cover</Keyword>
+							<Keyword vocabulary="SVS">Infrared</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+							<Keyword vocabulary="GCMD">Location:Atlantic Ocean</Keyword>
+							<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-92</westBoundLongitude>
+							<eastBoundLongitude>37.2566666667</eastBoundLongitude>
+							<southBoundLatitude>-61.16</southBoundLatitude>
+							<northBoundLatitude>65.56</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-92" miny="-61.16" maxx="37.2566666667" maxy="65.56"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002895/a002895.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Global Infrared Cloud Cover, September 2001</Title>
+					<Abstract>This animation is a mosaic of cloud cover data taken by several different satellites in the infrared band.  One of the most prominent cloud features during this time was Hurricane Erin near the Atlantic coast of the United States.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Cloud Cover</Keyword>
+						<Keyword vocabulary="SVS">Infrared</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002894/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002894/a002894.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2852" fixedHeight="1009">
+						<Name>2894_17427</Name>
+						<Title>Global Infrared Cloud Cover, September 2001 (2852x1009 Animation)</Title>
+						<Abstract>This animation is a mosaic of cloud cover data taken by several different satellites in the infrared band.  One of the most prominent cloud features during this time was Hurricane Erin near the Atlantic coast of the United States.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Cloud Cover</Keyword>
+							<Keyword vocabulary="SVS">Infrared</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+							<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>70.62893</westBoundLongitude>
+							<eastBoundLongitude>69.37107</eastBoundLongitude>
+							<southBoundLatitude>-61.16</southBoundLatitude>
+							<northBoundLatitude>65.56</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="70.62893" miny="-61.16" maxx="69.37107" maxy="65.56"/>
+						<Dimension name="time" units="ISO8601" default="2001-09-15T23:45Z">2001-09-01T00:45Z/2001-09-01T03:45Z/PT30M,2001-09-01T04:00Z/2001-09-01T06:00Z/PT30M,2001-09-01T06:45Z/2001-09-01T11:15Z/PT30M,2001-09-01T14:15Z/2001-09-01T19:15Z/PT30M,2001-09-01T20:15Z/2001-09-02T03:45Z/PT30M,2001-09-02T04:00Z/2001-09-02T06:00Z/PT30M,2001-09-02T06:45Z/2001-09-03T03:45Z/PT30M,2001-09-03T04:00Z/2001-09-03T05:00Z/PT30M,2001-09-03T06:00Z,2001-09-03T06:45Z/2001-09-04T03:45Z/PT30M,2001-09-04T04:00Z/2001-09-04T06:00Z/PT30M,2001-09-04T06:45Z/2001-09-04T19:45Z/PT30M,2001-09-04T20:45Z/2001-09-05T03:45Z/PT30M,2001-09-05T04:00Z/2001-09-05T05:00Z/PT30M,2001-09-05T06:00Z,2001-09-05T06:45Z/2001-09-06T03:45Z/PT30M,2001-09-06T04:00Z/2001-09-06T06:00Z/PT30M,2001-09-06T06:45Z/2001-09-07T03:45Z/PT30M,2001-09-07T04:00Z/2001-09-07T05:00Z/PT30M,2001-09-07T06:00Z,2001-09-07T06:45Z/2001-09-07T11:15Z/PT30M,2001-09-07T12:45Z/2001-09-07T15:15Z/PT30M,2001-09-07T16:15Z/2001-09-08T03:45Z/PT30M,2001-09-08T04:00Z/2001-09-08T06:00Z/PT30M,2001-09-08T06:45Z/2001-09-08T22:45Z/PT30M,2001-09-08T23:45Z/2001-09-09T03:45Z/PT30M,2001-09-09T04:00Z/2001-09-09T05:00Z/PT30M,2001-09-09T06:45Z/2001-09-10T03:45Z/PT30M,2001-09-10T04:00Z/2001-09-10T06:00Z/PT30M,2001-09-10T06:45Z/2001-09-11T03:45Z/PT30M,2001-09-11T04:30Z,2001-09-11T05:00Z,2001-09-11T06:00Z,2001-09-11T06:45Z/2001-09-11T20:45Z/PT30M,2001-09-12T03:45Z,2001-09-12T04:00Z/2001-09-12T06:00Z/PT30M,2001-09-12T06:45Z/2001-09-13T03:45Z/PT30M,2001-09-13T04:00Z/2001-09-13T05:00Z/PT30M,2001-09-13T06:00Z,2001-09-13T06:45Z/2001-09-14T03:45Z/PT30M,2001-09-14T04:00Z/2001-09-14T06:00Z/PT30M,2001-09-14T06:45Z/2001-09-15T03:45Z/PT30M,2001-09-15T04:00Z/2001-09-15T06:00Z/PT30M,2001-09-15T06:45Z/2001-09-15T23:45Z/PT30M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002894/a002894.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation is meant to be wrapped around a three-dimensional globe.  It shows a global composite of cloud cover data taken from the infrared sensors of several different satellites during September 2001.  This version provides only the transparent overlay.</Abstract>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Image Composited with Foreground</Title>
+							<Abstract>This animation is meant to be wrapped around a three-dimensional globe.  It shows a global composite of cloud cover data taken from the infrared sensors of several different satellites during September 2001.  This version provides an image composited with an appropriate foreground image.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2852" fixedHeight="1009">
+						<Name>2894_17427_bg</Name>
+						<Title>Foreground Image for Global Infrared Cloud Cover, September 2001 (WMS)</Title>
+						<Abstract>This animation is a mosaic of cloud cover data taken by several different satellites in the infrared band.  One of the most prominent cloud features during this time was Hurricane Erin near the Atlantic coast of the United States.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Cloud Cover</Keyword>
+							<Keyword vocabulary="SVS">Infrared</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+							<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>70.62893</westBoundLongitude>
+							<eastBoundLongitude>69.37107</eastBoundLongitude>
+							<southBoundLatitude>-61.16</southBoundLatitude>
+							<northBoundLatitude>65.56</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="70.62893" miny="-61.16" maxx="69.37107" maxy="65.56"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002894/a002894.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+					<Name>2892_17415</Name>
+					<Title>Satellite Imagery of Hurricane Dennis (512x512 Animation)</Title>
+					<Abstract>Hurricane Dennis started as a tropical depression on August 23, 1999, became a tropical storm on August 24, and was classified as a hurricane early on August 26, near the Bahamas.  From August 26 through August 31, Dennis proceeded up the coast of the United States until it stalled off the coast of North Carolina for four days because the pressure trough that was pushing it out to sea left it behind.  This animation shows images of Dennis during its hurricane period from August 26 through August 31, 1999, when the stall began.  The images were taken by the GOES-8 satellite, a weather satellite in geostationary orbit above the western hemisphere.  The continuous white cloud progression came from infrared images from GOES, and the yellowish clouds that come and go with the daylight came from data taken in the visible spectrum, also from GOES.  The GOES images were not taken at regular times, so the hurricane appears to slow down when the time between images gets small and speed up when the time between images gets large.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Dennis</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-99.0152</westBoundLongitude>
+						<eastBoundLongitude>-64.7922</eastBoundLongitude>
+						<southBoundLatitude>15.8822</southBoundLatitude>
+						<northBoundLatitude>47.6518</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-99.0152" miny="15.8822" maxx="-64.7922" maxy="47.6518"/>
+					<Dimension name="time" units="ISO8601" default="1999-08-31T14:45Z">1999-08-26T14:15Z/1999-08-26T14:45Z/PT15M,1999-08-26T15:15Z/1999-08-26T15:45Z/PT15M,1999-08-26T15:59Z,1999-08-26T16:15Z/1999-08-26T16:45Z/PT15M,1999-08-26T16:59Z,1999-08-26T17:15Z,1999-08-26T17:32Z,1999-08-26T17:40Z,1999-08-26T17:45Z,1999-08-26T18:15Z,1999-08-26T18:25Z,1999-08-26T18:46Z,1999-08-26T18:55Z,1999-08-26T19:03Z,1999-08-26T19:10Z,1999-08-26T19:15Z,1999-08-26T19:25Z,1999-08-26T19:32Z,1999-08-26T19:40Z,1999-08-26T19:45Z,1999-08-26T19:55Z,1999-08-26T20:02Z,1999-08-26T20:10Z,1999-08-26T20:15Z,1999-08-26T20:25Z,1999-08-26T20:32Z,1999-08-26T20:40Z,1999-08-26T20:45Z,1999-08-26T21:15Z,1999-08-26T21:25Z,1999-08-26T21:32Z,1999-08-26T21:40Z,1999-08-26T21:45Z,1999-08-26T21:55Z,1999-08-26T22:02Z,1999-08-26T22:10Z,1999-08-26T22:15Z,1999-08-26T22:25Z,1999-08-26T22:32Z,1999-08-26T22:40Z,1999-08-26T22:45Z,1999-08-26T22:55Z,1999-08-26T23:03Z,1999-08-26T23:10Z,1999-08-26T23:15Z,1999-08-26T23:25Z,1999-08-26T23:32Z,1999-08-26T23:40Z,1999-08-26T23:45Z/1999-08-27T00:45Z/PT30M,1999-08-27T00:55Z,1999-08-27T01:03Z,1999-08-27T01:10Z,1999-08-27T01:15Z,1999-08-27T01:25Z,1999-08-27T01:32Z,1999-08-27T01:45Z,1999-08-27T02:02Z,1999-08-27T02:15Z,1999-08-27T02:32Z,1999-08-27T02:45Z,1999-08-27T03:15Z,1999-08-27T03:32Z,1999-08-27T03:45Z,1999-08-27T04:02Z,1999-08-27T04:15Z,1999-08-27T06:15Z,1999-08-27T06:46Z,1999-08-27T07:02Z,1999-08-27T07:15Z,1999-08-27T07:32Z,1999-08-27T07:45Z,1999-08-27T08:02Z,1999-08-27T08:15Z/1999-08-27T09:45Z/PT30M,1999-08-27T10:02Z,1999-08-27T10:15Z,1999-08-27T10:32Z,1999-08-27T10:45Z,1999-08-27T11:02Z,1999-08-27T11:15Z,1999-08-27T11:32Z,1999-08-27T11:45Z/1999-08-27T12:45Z/PT30M,1999-08-27T13:02Z,1999-08-27T13:15Z,1999-08-27T13:33Z,1999-08-27T13:40Z,1999-08-27T13:45Z,1999-08-27T13:55Z,1999-08-27T14:03Z,1999-08-27T14:10Z,1999-08-27T14:15Z,1999-08-27T14:25Z,1999-08-27T14:33Z,1999-08-27T14:40Z,1999-08-27T14:45Z,1999-08-27T15:15Z,1999-08-27T15:25Z,1999-08-27T15:33Z,1999-08-27T15:40Z,1999-08-27T15:45Z,1999-08-27T15:55Z,1999-08-27T16:02Z,1999-08-27T16:10Z,1999-08-27T16:15Z,1999-08-27T16:25Z,1999-08-27T16:32Z,1999-08-27T16:40Z,1999-08-27T16:45Z,1999-08-27T16:55Z,1999-08-27T17:02Z,1999-08-27T17:10Z,1999-08-27T17:15Z,1999-08-27T17:25Z,1999-08-27T17:32Z,1999-08-27T17:40Z,1999-08-27T17:45Z,1999-08-27T18:15Z,1999-08-27T18:25Z,1999-08-27T18:46Z,1999-08-27T18:55Z,1999-08-27T19:03Z,1999-08-27T19:15Z,1999-08-27T19:25Z,1999-08-27T19:33Z,1999-08-27T19:40Z,1999-08-27T19:45Z,1999-08-27T19:55Z,1999-08-27T20:03Z,1999-08-27T20:10Z,1999-08-27T20:15Z,1999-08-27T20:25Z,1999-08-27T20:33Z,1999-08-27T20:40Z,1999-08-27T20:45Z,1999-08-27T21:15Z,1999-08-27T21:25Z,1999-08-27T21:32Z,1999-08-27T21:45Z,1999-08-27T22:02Z,1999-08-27T22:15Z,1999-08-27T22:32Z,1999-08-27T22:45Z,1999-08-27T23:02Z,1999-08-27T23:15Z,1999-08-27T23:32Z,1999-08-27T23:45Z,1999-08-28T00:15Z,1999-08-28T00:46Z,1999-08-28T00:55Z,1999-08-28T01:03Z,1999-08-28T01:10Z,1999-08-28T01:15Z,1999-08-28T01:25Z,1999-08-28T01:32Z,1999-08-28T01:40Z,1999-08-28T01:45Z,1999-08-28T01:55Z,1999-08-28T02:02Z,1999-08-28T02:10Z,1999-08-28T02:15Z,1999-08-28T02:25Z,1999-08-28T02:32Z,1999-08-28T02:40Z,1999-08-28T02:45Z,1999-08-28T03:15Z,1999-08-28T03:25Z,1999-08-28T03:32Z,1999-08-28T03:40Z,1999-08-28T03:45Z,1999-08-28T03:55Z,1999-08-28T04:03Z,1999-08-28T04:10Z,1999-08-28T05:33Z,1999-08-28T05:40Z,1999-08-28T06:15Z,1999-08-28T06:25Z,1999-08-28T06:45Z,1999-08-28T06:55Z,1999-08-28T07:02Z,1999-08-28T07:15Z,1999-08-28T07:25Z,1999-08-28T07:32Z,1999-08-28T07:40Z,1999-08-28T07:45Z,1999-08-28T07:55Z,1999-08-28T08:02Z,1999-08-28T08:10Z,1999-08-28T08:15Z,1999-08-28T08:25Z,1999-08-28T08:32Z,1999-08-28T08:40Z,1999-08-28T08:45Z,1999-08-28T09:15Z,1999-08-28T09:25Z,1999-08-28T09:45Z,1999-08-28T10:02Z,1999-08-28T10:15Z,1999-08-28T10:32Z,1999-08-28T10:45Z,1999-08-28T11:02Z,1999-08-28T11:15Z,1999-08-28T11:32Z,1999-08-28T11:45Z/1999-08-28T12:45Z/PT30M,1999-08-28T12:55Z,1999-08-28T13:02Z,1999-08-28T13:10Z,1999-08-28T13:15Z,1999-08-28T13:25Z,1999-08-28T13:33Z,1999-08-28T13:40Z,1999-08-28T13:45Z,1999-08-28T13:55Z,1999-08-28T14:03Z,1999-08-28T14:10Z,1999-08-28T14:15Z,1999-08-28T14:25Z,1999-08-28T14:33Z,1999-08-28T14:40Z,1999-08-28T14:45Z,1999-08-28T15:15Z,1999-08-28T15:25Z,1999-08-28T15:32Z,1999-08-28T15:40Z,1999-08-28T15:45Z,1999-08-28T15:55Z,1999-08-28T16:02Z,1999-08-28T16:10Z,1999-08-28T16:15Z,1999-08-28T16:25Z,1999-08-28T16:32Z,1999-08-28T16:40Z,1999-08-28T16:45Z,1999-08-28T16:55Z,1999-08-28T17:02Z,1999-08-28T17:10Z,1999-08-28T17:15Z,1999-08-28T17:25Z,1999-08-28T17:32Z,1999-08-28T17:40Z,1999-08-28T17:45Z,1999-08-28T18:15Z,1999-08-28T18:25Z,1999-08-28T18:45Z,1999-08-28T18:55Z,1999-08-28T19:03Z,1999-08-28T19:10Z,1999-08-28T19:15Z,1999-08-28T19:25Z,1999-08-28T19:32Z,1999-08-28T19:40Z,1999-08-28T19:45Z,1999-08-28T19:55Z,1999-08-28T20:03Z,1999-08-28T20:15Z,1999-08-28T20:25Z,1999-08-28T20:33Z,1999-08-28T20:40Z,1999-08-28T20:45Z,1999-08-28T21:15Z,1999-08-28T21:25Z,1999-08-28T21:32Z,1999-08-28T21:40Z,1999-08-28T21:45Z,1999-08-28T21:55Z,1999-08-28T22:02Z,1999-08-28T22:10Z,1999-08-28T22:15Z,1999-08-28T22:25Z,1999-08-28T22:32Z,1999-08-28T22:40Z,1999-08-28T22:45Z,1999-08-28T22:55Z,1999-08-28T23:02Z,1999-08-28T23:10Z,1999-08-28T23:15Z,1999-08-28T23:25Z,1999-08-28T23:32Z,1999-08-28T23:40Z,1999-08-28T23:45Z,1999-08-29T00:15Z,1999-08-29T00:46Z,1999-08-29T00:55Z,1999-08-29T01:03Z,1999-08-29T01:10Z,1999-08-29T01:15Z,1999-08-29T01:25Z,1999-08-29T01:33Z,1999-08-29T01:40Z,1999-08-29T01:45Z,1999-08-29T01:55Z,1999-08-29T02:02Z,1999-08-29T02:10Z,1999-08-29T02:15Z,1999-08-29T02:25Z,1999-08-29T02:32Z,1999-08-29T02:40Z,1999-08-29T02:45Z,1999-08-29T03:15Z,1999-08-29T03:25Z,1999-08-29T03:32Z,1999-08-29T03:40Z,1999-08-29T03:45Z,1999-08-29T03:55Z,1999-08-29T04:02Z,1999-08-29T04:10Z,1999-08-29T05:33Z,1999-08-29T05:40Z,1999-08-29T06:15Z,1999-08-29T06:25Z,1999-08-29T06:45Z,1999-08-29T07:02Z,1999-08-29T07:15Z,1999-08-29T07:32Z,1999-08-29T07:45Z,1999-08-29T08:02Z,1999-08-29T08:15Z/1999-08-29T09:45Z/PT30M,1999-08-29T10:02Z,1999-08-29T10:15Z,1999-08-29T10:32Z,1999-08-29T10:45Z,1999-08-29T11:02Z,1999-08-29T11:15Z,1999-08-29T11:32Z,1999-08-29T11:46Z,1999-08-29T12:15Z,1999-08-29T12:45Z,1999-08-29T13:02Z,1999-08-29T13:15Z,1999-08-29T13:32Z,1999-08-29T13:45Z,1999-08-29T14:02Z,1999-08-29T14:15Z,1999-08-29T14:32Z,1999-08-29T14:45Z,1999-08-29T15:15Z,1999-08-29T15:32Z,1999-08-29T15:45Z,1999-08-29T16:02Z,1999-08-29T16:15Z,1999-08-29T16:32Z,1999-08-29T16:40Z,1999-08-29T16:45Z,1999-08-29T16:55Z,1999-08-29T17:02Z,1999-08-29T17:10Z,1999-08-29T17:15Z,1999-08-29T17:25Z,1999-08-29T17:32Z,1999-08-29T17:40Z,1999-08-29T17:45Z,1999-08-29T18:15Z,1999-08-29T18:25Z,1999-08-29T18:46Z,1999-08-29T18:55Z,1999-08-29T19:03Z,1999-08-29T19:10Z,1999-08-29T19:15Z,1999-08-29T19:25Z,1999-08-29T19:33Z,1999-08-29T19:40Z,1999-08-29T19:45Z,1999-08-29T19:55Z,1999-08-29T20:03Z,1999-08-29T20:10Z,1999-08-29T20:15Z,1999-08-29T20:25Z,1999-08-29T20:33Z,1999-08-29T20:40Z,1999-08-29T20:45Z,1999-08-29T21:15Z,1999-08-29T21:25Z,1999-08-29T21:32Z,1999-08-29T21:40Z,1999-08-29T21:45Z,1999-08-29T21:55Z,1999-08-29T22:02Z,1999-08-29T22:10Z,1999-08-29T22:15Z,1999-08-29T22:25Z,1999-08-29T22:32Z,1999-08-29T22:40Z,1999-08-29T22:45Z,1999-08-29T22:55Z,1999-08-29T23:02Z,1999-08-29T23:10Z,1999-08-29T23:15Z,1999-08-29T23:25Z,1999-08-29T23:32Z,1999-08-29T23:40Z,1999-08-29T23:45Z,1999-08-30T00:15Z,1999-08-30T00:46Z,1999-08-30T00:55Z,1999-08-30T01:02Z,1999-08-30T01:10Z,1999-08-30T01:15Z,1999-08-30T01:25Z,1999-08-30T01:32Z,1999-08-30T01:40Z,1999-08-30T01:45Z,1999-08-30T01:55Z,1999-08-30T02:02Z,1999-08-30T02:10Z,1999-08-30T02:15Z,1999-08-30T02:25Z,1999-08-30T02:32Z,1999-08-30T02:40Z,1999-08-30T02:45Z,1999-08-30T03:15Z,1999-08-30T03:25Z,1999-08-30T03:32Z,1999-08-30T03:40Z,1999-08-30T03:45Z,1999-08-30T03:55Z,1999-08-30T04:02Z,1999-08-30T04:10Z,1999-08-30T05:40Z,1999-08-30T06:15Z,1999-08-30T06:25Z,1999-08-30T06:45Z,1999-08-30T07:02Z,1999-08-30T07:15Z,1999-08-30T07:32Z,1999-08-30T07:45Z,1999-08-30T08:02Z,1999-08-30T08:15Z/1999-08-30T09:45Z/PT30M,1999-08-30T10:02Z,1999-08-30T10:15Z,1999-08-30T10:32Z,1999-08-30T10:45Z,1999-08-30T11:02Z,1999-08-30T11:15Z,1999-08-30T11:32Z,1999-08-30T11:45Z/1999-08-30T12:45Z/PT30M,1999-08-30T13:02Z,1999-08-30T13:15Z,1999-08-30T13:32Z,1999-08-30T13:45Z,1999-08-30T14:02Z,1999-08-30T14:15Z,1999-08-30T14:32Z,1999-08-30T14:45Z,1999-08-30T15:15Z,1999-08-30T15:32Z,1999-08-30T15:45Z,1999-08-30T16:02Z,1999-08-30T16:15Z,1999-08-30T16:32Z,1999-08-30T16:45Z,1999-08-30T17:02Z,1999-08-30T17:15Z,1999-08-30T17:32Z,1999-08-30T17:45Z,1999-08-30T18:15Z,1999-08-30T18:46Z,1999-08-30T18:55Z,1999-08-30T19:02Z,1999-08-30T19:10Z,1999-08-30T19:15Z,1999-08-30T19:25Z,1999-08-30T19:33Z,1999-08-30T19:40Z,1999-08-30T19:45Z,1999-08-30T19:55Z,1999-08-30T20:03Z,1999-08-30T20:10Z,1999-08-30T20:15Z,1999-08-30T20:25Z,1999-08-30T20:32Z,1999-08-30T20:40Z,1999-08-30T20:45Z,1999-08-30T21:15Z,1999-08-30T21:25Z,1999-08-30T21:32Z,1999-08-30T21:45Z,1999-08-30T21:55Z,1999-08-30T22:02Z,1999-08-30T22:10Z,1999-08-30T22:15Z,1999-08-30T22:25Z,1999-08-30T22:32Z,1999-08-30T22:40Z,1999-08-30T22:45Z,1999-08-30T22:55Z,1999-08-30T23:02Z,1999-08-30T23:10Z,1999-08-30T23:15Z,1999-08-30T23:25Z,1999-08-30T23:32Z,1999-08-30T23:40Z,1999-08-30T23:45Z/1999-08-31T00:45Z/PT30M,1999-08-31T00:55Z,1999-08-31T01:03Z,1999-08-31T01:10Z,1999-08-31T01:15Z,1999-08-31T01:25Z,1999-08-31T01:32Z,1999-08-31T01:40Z,1999-08-31T01:45Z,1999-08-31T01:55Z,1999-08-31T02:03Z,1999-08-31T02:10Z,1999-08-31T02:15Z,1999-08-31T02:25Z,1999-08-31T02:32Z,1999-08-31T02:40Z,1999-08-31T02:45Z,1999-08-31T03:15Z,1999-08-31T03:25Z,1999-08-31T03:32Z,1999-08-31T03:40Z,1999-08-31T03:45Z,1999-08-31T03:55Z,1999-08-31T04:02Z,1999-08-31T06:46Z,1999-08-31T07:02Z,1999-08-31T07:15Z,1999-08-31T07:32Z,1999-08-31T07:45Z,1999-08-31T08:02Z,1999-08-31T08:15Z/1999-08-31T09:45Z/PT30M,1999-08-31T10:02Z,1999-08-31T10:15Z,1999-08-31T10:32Z,1999-08-31T10:45Z,1999-08-31T11:02Z,1999-08-31T11:15Z,1999-08-31T11:32Z,1999-08-31T11:45Z/1999-08-31T12:45Z/PT30M,1999-08-31T13:02Z,1999-08-31T13:15Z,1999-08-31T13:32Z,1999-08-31T13:45Z,1999-08-31T14:02Z,1999-08-31T14:15Z,1999-08-31T14:32Z,1999-08-31T14:45Z</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002892/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002892/a002892.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.goes.noaa.gov/"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows the cloud formations created by Hurricane Dennis in August, 1999.</Abstract>
+					</Style>
+				</Layer>
+			</Layer>
+			<Layer>
+				<Title>Biosphere</Title>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="1000">
+					<Name>3157_21374</Name>
+					<Title>Urban Signatures: Sensible Heat Flux (1000x1000 Image)</Title>
+					<Abstract>Big cities influence the environment around them. For example, urban areas are typically warmer than their surroundings. Cities are strikingly visible in computer models that simulate the Earth's land surface. This visualization shows sensible heat flux predicted by the Land Information System (LIS) for a day in June 2001. (Sensible heat flux refers to transfer of heat from the earth's surface to the air above; for further explanation see http://www.uwsp.edu/geo/faculty/ritter/geog101/textbook/energy/energy_balance.html). Sensible heat flux is higher in the cities--that is, they transfer more heat to the atmosphere--because the surface there is warmer than in the surroundings. Only part of the global computation is shown, focusing on the highly urbanized northeast corridor in the United States, including the cities of Boston, New York, Philadelphia, Baltimore, and Washington.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Heat Flux</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Urban Lands</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Land Temperature:Land Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">Location:United States Of America</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-79.7</westBoundLongitude>
+						<eastBoundLongitude>-69.7</eastBoundLongitude>
+						<southBoundLatitude>34.5</southBoundLatitude>
+						<northBoundLatitude>44.5</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-79.7" miny="34.5" maxx="-69.7" maxy="44.5"/>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003157/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003157/a003157.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This image shows sensible heat flux (watts per
+square meter) predicted by LIS for 2001/06/11. The warm urban areas
+have higher positive flux (heat flowing towards the atmosphere)
+and stand out very distinctly against their
+surroundings.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003157/qh_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="1000">
+					<Name>3156_21370</Name>
+					<Title>Urban Signatures: Latent Heat Flux (1000x1000 Image)</Title>
+					<Abstract>Big cities influence the environment around them. For example, urban areas are typically warmer than their surroundings. Cities are strikingly visible in computer models that simulate the Earth's land surface. This visualization shows latent heat flux predicted by the Land Information System (LIS) for a day in June 2001. (Latent heat flux refers to the transfer of energy from the Earth's surface to the air above by evaporation of water on the surface; for a more detailed explanation see http://www.uwsp.edu/geo/faculty/ritter/geog101/textbook/energy/energy_balance.html). Latent heat flux is lower in the cities because there is less evaporation there. Only part of the global computation is shown, focusing on the highly urbanized northeast corridor in the United States, including the cities of Boston, New York, Philadelphia, Baltimore, and Washington.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Heat Flux</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Urban Lands</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Land Temperature:Land Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">Location:United States Of America</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-79.7</westBoundLongitude>
+						<eastBoundLongitude>-69.7</eastBoundLongitude>
+						<southBoundLatitude>34.5</southBoundLatitude>
+						<northBoundLatitude>44.5</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-79.7" miny="34.5" maxx="-69.7" maxy="44.5"/>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003156/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003156/a003156.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This image shows latent heat flux (watts per
+square meter) predicted by LIS for 2001/06/11. The urban areas
+stand out very distinctly against their surroundings, which have
+more evaporation and therefore greater latent heat
+flux.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003156/qle_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="1000">
+					<Name>3155_21366</Name>
+					<Title>Urban Signatures: Thermal Radiation (1000x1000 Image)</Title>
+					<Abstract>Big cities influence the environment around them. For example, urban areas are typically warmer than their surroundings. Cities are strikingly visible in computer models that simulate the Earth's land surface. This visualization shows outgoing thermal radiation predicted by the Land Information System (LIS) for a day in June 2001. Cities are warmer, so they emit more longwave (infrared) radiation. Only part of the global computation is shown, focusing on the highly urbanized northeast corridor in the United States, including the cities of Boston, New York, Philadelphia, Baltimore, and Washington.
+
+Additional Credit:
+NASA GSFC Land Information System (http://lis.gsfc.nasa.gov/)</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Outgoing Longwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Urban Lands</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">Location:United States Of America</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-79.7</westBoundLongitude>
+						<eastBoundLongitude>-69.7</eastBoundLongitude>
+						<southBoundLatitude>34.5</southBoundLatitude>
+						<northBoundLatitude>44.5</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-79.7" miny="34.5" maxx="-69.7" maxy="44.5"/>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003155/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003155/a003155.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This image shows outgoing thermal radiation
+(watts per square meter) predicted by LIS for 2001/06/11. The
+urban areas stand out very distinctly against their less
+radiative surroundings.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003155/thermal_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="1000">
+					<Name>3154_21362</Name>
+					<Title>Urban Signatures: Evaporation (1000x1000 Image)</Title>
+					<Abstract>Big cities influence the environment around them. For example, urban areas are typically warmer than their surroundings. Cities are strikingly visible in computer models that simulate the Earth's land surface. This visualization shows evaporation rates predicted by the Land Information System (LIS) for a day in June 2001. Evaporation is lower in the cities because water tends to run off pavement and into drains, rather than being absorbed by soil and plants from which it later evaporates. Only part of the global computation is shown, focusing on the highly urbanized northeast corridor in the United States, including the cities of Boston, New York, Philadelphia, Baltimore, and Washington.
+
+Additional Credit:
+NASA GSFC Land Information System (http://lis.gsfc.nasa.gov/)</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Evaporation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Urban Lands</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">Location:United States Of America</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-79.7</westBoundLongitude>
+						<eastBoundLongitude>-69.7</eastBoundLongitude>
+						<southBoundLatitude>34.5</southBoundLatitude>
+						<northBoundLatitude>44.5</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-79.7" miny="34.5" maxx="-69.7" maxy="44.5"/>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003154/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003154/a003154.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This image shows evaporation rate (milligrams
+per square meter per second) predicted by LIS for 2001/06/11.
+The urban areas stand out very distinctly against their
+more evaporative surroundings.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003154/evap_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="1000">
+					<Name>3152_21348</Name>
+					<Title>Urban Signatures: Temperature (1000x1000 Image)</Title>
+					<Abstract>Big cities influence the environment around them. For example, urban areas are typically warmer than their surroundings. Cities are strikingly visible in computer models that simulate the Earth's land surface. This visualization shows average surface temperature predicted by the Land Information System (LIS) for a day in June 2001. Only part of the global computation is shown, focusing on the highly urbanized northeast corridor in the United States, including the cities of Boston, New York, Philadelphia, Baltimore, and Washington.
+
+Additional Credit:
+NASA GSFC Land Information System (http://lis.gsfc.nasa.gov/)</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Urban Lands</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Land Temperature:Land Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">Location:United States Of America</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-79.7</westBoundLongitude>
+						<eastBoundLongitude>-69.7</eastBoundLongitude>
+						<southBoundLatitude>34.5</southBoundLatitude>
+						<northBoundLatitude>44.5</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-79.7" miny="34.5" maxx="-69.7" maxy="44.5"/>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003152/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003152/a003152.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This image shows average surface temperatures
+predicted by LIS for 2001/06/11. Temperatures range from 9 C to
+35 C (48F to 95F), with the hottest areas being red and dark
+red. Temperatures are generally cooler farther north and at
+higher elevations. The urban areas stand out very distinctly
+against their surroundings.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003152/temp_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3116_21024</Name>
+					<Title>Mount St. Helens Before, During, and After (1024x1024 Animation)</Title>
+					<Abstract>Mount St. Helens erupted on May 18, 1980, devastating more than 150 square miles of forest in southwestern Washington state.  This animation shows Landsat images of the Mount St. Helens area in 1973, 1983, and 2000, illustrating the destruction and regrowth of the forest.  The 1983 image clearly shows the new crater on the northern slope where the eruption occurred, the rivers and lakes covered with ash, and the regions of deforestation.  The 2000 image, taken twenty years after the eruption, still shows the changed crater, but much of the devastated area is covered by new vegetation growth.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Forestry</Keyword>
+						<Keyword vocabulary="DLESE">Geology</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Forests</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Habitat Conversion/Fragmentation:Deforestation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Volcanoes:Volcanic Ash/Dust</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-122.36011</westBoundLongitude>
+						<eastBoundLongitude>-121.97916</eastBoundLongitude>
+						<southBoundLatitude>46.122115</southBoundLatitude>
+						<northBoundLatitude>46.384547</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-122.36011" miny="46.122115" maxx="-121.97916" maxy="46.384547"/>
+					<Dimension name="time" units="ISO8601" default="2000-09-25">1973-09-15,1983-05-22,2000-09-25</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003116/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003116/a003116.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/earthday2001/index.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Landsat imagery of Mount St. Helens before, during, and after the devastation from the eruption in 1980.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3113_20990</Name>
+					<Title>Rondonia Deforestation (1024x1024 Animation)</Title>
+					<Abstract>Throughout much of the 1980s, deforestation in Brazil eliminated more than 15,000 square kilometers (9000 square miles) of forest per year. Data gathered by several satellites in the Landsat series of spacecraft shows enormous tracts of forest disappearing in Rondonia, Brazil from 1975 through 2001.  The human phenomenon of deforestation starts, especially in the dense tropical forests of Brazil, when systematic cutting of a road opens new territory to potential deforestation by penetrating into new areas.  Clearing of vegetation along the sides of those roads then tends to fan out to create a pattern akin to a fish skeleton. As new paths appear in the woods, more areas become vulnerable.  Finally, the spaces between the 'skeletal bones' fall to defoliation.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Agricultural science</Keyword>
+						<Keyword vocabulary="DLESE">Environmental science</Keyword>
+						<Keyword vocabulary="DLESE">Forestry</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Forests</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Habitat Conversion/Fragmentation:Deforestation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-64.162001</westBoundLongitude>
+						<eastBoundLongitude>-62.987628</eastBoundLongitude>
+						<southBoundLatitude>-10.624746</southBoundLatitude>
+						<northBoundLatitude>-9.813252</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-64.162001" miny="-10.624746" maxx="-62.987628" maxy="-9.813252"/>
+					<Dimension name="time" units="ISO8601" default="2001-02-07">1975-06-19,1986-08-01,1992-06-22,2001-02-07</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003113/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003113/a003113.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/earthday2001/index.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>A animation of deforestation in Rondonia from 1975 through 2001 from Landsat imagery</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3112_20979</Name>
+					<Title>Aral Sea Evaporation (1024x1024 Animation)</Title>
+					<Abstract>The Aral Sea is actually not a sea at all, but an immense fresh water lake.  In the last thirty years, more than sixty percent of the lake has disappeared because much of the river flow feeding the lake was diverted to irrigate cotton fields and rice paddies.  Concentrations of salts and minerals began to rise in the shrinking body of water, leading to staggering alterations in the lake's ecology and precipitous drops in the Aral's fish population.  Powerful winds that blow across this part of Asia routinely pick up and deposit the now exposed lake bed soil.  This has contributed to a significant reduction in breathable air quality, and crop yields have been appreciably affected  due to heavily salt laden particles falling on arable land.  This series of Landsat images taken in 1973, 1987 and 2000 show the profound reduction in overall area at the north end of the Aral, and a commensurate increase in land area as the floor of the sea now lies exposed.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Agricultural science</Keyword>
+						<Keyword vocabulary="DLESE">Biology</Keyword>
+						<Keyword vocabulary="DLESE">Chemical oceanography</Keyword>
+						<Keyword vocabulary="DLESE">Chemistry</Keyword>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="DLESE">Hydrology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Aquatic Habitat:Lakes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Water Management</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Habitat Conversion/Fragmentation:Irrigation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Lakes</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>59.493806</westBoundLongitude>
+						<eastBoundLongitude>60.926548</eastBoundLongitude>
+						<southBoundLatitude>45.542455</southBoundLatitude>
+						<northBoundLatitude>46.61704</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="59.493806" miny="45.542455" maxx="60.926548" maxy="46.61704"/>
+					<Dimension name="time" units="ISO8601" default="2000-07-29">1973-05-29,1987-08-19,2000-07-29</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003112/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003112/a003112.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/earthday2001/index.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>An animation of the evaporation of the Aral Sea using Landsat imagery from 1973, 1987, and 2000.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="369" fixedHeight="491">
+					<Name>3110_20956</Name>
+					<Title>Vegetation Images Show Drought in Western US (369x491 Animation)</Title>
+					<Abstract>Satellite data can gauge the health of plants, which is a good indicator of drought. The Normalized Difference Vegetation Index (NDVI) measures how dense and green plant leaves are. NDVI images are useful as a measure of drought when compared to 'normal' plant health. Scientists calculate average NDVI values for an area to find out what is normal at a particular time of year. This animation uses satellite imagery to show changes in vegetation between 1999 and 2003. In 2002, drought had settled across the Midwest. Large dark brown sections of eastern Colorado show where vegetation was less lush and healthy than normal. This version of the visualization is a wide view showing the western United States. The data were measured by the vegetation instrument on Europe's SPOT-4 satellite, and were provided by DigitalGlobe/SPOT under agreement with the U.S. Department of Agriculture Foreign Agricultural Service (USDA/FAS).</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Climatology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Drought</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Vegetation:Vegetation Index</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-125.95682</westBoundLongitude>
+						<eastBoundLongitude>-98.887208</eastBoundLongitude>
+						<southBoundLatitude>28.808912</southBoundLatitude>
+						<northBoundLatitude>50.874116</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-125.95682" miny="28.808912" maxx="-98.887208" maxy="50.874116"/>
+					<Dimension name="time" units="ISO8601" default="2003-09-30">1999-06-10/1999-07-20/P10D,1999-07-31/1999-08-20/P10D,1999-08-31/1999-09-30/P10D,2000-06-10/2000-07-20/P10D,2000-07-31/2000-08-20/P10D,2000-08-31/2000-09-30/P10D,2001-06-10/2001-07-20/P10D,2001-07-31/2001-08-20/P10D,2001-08-31/2001-09-30/P10D,2002-06-10/2002-07-20/P10D,2002-07-31/2002-08-20/P10D,2002-08-31/2002-09-30/P10D,2003-06-10/2003-07-20/P10D,2003-07-31/2003-08-20/P10D,2003-08-31/2003-09-30/P10D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003110/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003110/a003110.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows NDVI over the western US in ten-day intervals from 1999-06-10 through 2003-09-30. The area shown extends from California to Colorado, and from Canada to Mexico. The horizontal scale is 0.0735 degrees-pixel in the E-W direction and 0.0450 degrees-pixel N-S.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003110/ndvi_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Global Biosphere from August, 1997 to July, 2003</Title>
+					<Abstract>By monitoring the color of reflected light via satellite, scientists can determine how successfully plant life is photosynthesizing. A measurement of photosynthesis is essentially a measurement of successful growth, and growth means successful use of ambient carbon.  This animation represents the first six years' worth of data taken by the SeaWiFS instrument, showing the abundance of life both on land and in the sea.  In the ocean, dark blue represents warmer areas where there is little life due to lack of nutrients, and greens and reds represent cooler nutrient-rich areas.  The nutrient-rich areas include coastal regions where cold water rises from the sea floor bringing nutrients along and areas at the mouths of rivers where the rivers have brought nutrients into the ocean from the land. On land, green represents areas of abundent plant life, such as forests and grasslands, while tan and white represent areas where plant life is sparse or non-existent, such as the deserts in Africa and the Middle East and snow-cover and ice at the poles.
+
+Additional Credit:
+NASA/Goddard Space Flight Center, The SeaWiFS Project and ORBIMAGE, Scientific Visualization Studio.  NOTE: All SeaWiFS images and data presented on this web site are for research and educational use only. All commercial use of SeaWiFS data must be coordinated with ORBIMAGE (http://www.orbimage.com).</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Biological oceanography</Keyword>
+						<Keyword vocabulary="SVS">Biosphere</Keyword>
+						<Keyword vocabulary="DLESE">Ecology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Microbiota Taxonomy:Phytoplankton</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Optics:Ocean Color</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002914/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002914/a002914.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://seawifs.gsfc.nasa.gov/SEAWIFS.html"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>2914_21657</Name>
+						<Title>Medium Resolution (1024x512 Animation)</Title>
+						<Abstract>By monitoring the color of reflected light via satellite, scientists can determine how successfully plant life is photosynthesizing. A measurement of photosynthesis is essentially a measurement of successful growth, and growth means successful use of ambient carbon.  This animation represents the first six years' worth of data taken by the SeaWiFS instrument, showing the abundance of life both on land and in the sea.  In the ocean, dark blue represents warmer areas where there is little life due to lack of nutrients, and greens and reds represent cooler nutrient-rich areas.  The nutrient-rich areas include coastal regions where cold water rises from the sea floor bringing nutrients along and areas at the mouths of rivers where the rivers have brought nutrients into the ocean from the land. On land, green represents areas of abundent plant life, such as forests and grasslands, while tan and white represent areas where plant life is sparse or non-existent, such as the deserts in Africa and the Middle East and snow-cover and ice at the poles.
+
+Additional Credit:
+NASA/Goddard Space Flight Center, The SeaWiFS Project and ORBIMAGE, Scientific Visualization Studio.  NOTE: All SeaWiFS images and data presented on this web site are for research and educational use only. All commercial use of SeaWiFS data must be coordinated with ORBIMAGE (http://www.orbimage.com).</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Biological oceanography</Keyword>
+							<Keyword vocabulary="SVS">Biosphere</Keyword>
+							<Keyword vocabulary="DLESE">Ecology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Microbiota Taxonomy:Phytoplankton</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Optics:Ocean Color</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-07-20">1997-08-13/1997-12-27/P8D,1998-01-01/1998-12-27/P8D,1999-01-01/1999-12-27/P8D,2000-01-01/2000-12-26/P8D,2001-01-01/2001-12-27/P8D,2002-01-01/2002-12-27/P8D,2003-01-01/2003-07-20/P8D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002914/a002914.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://seawifs.gsfc.nasa.gov/SEAWIFS.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>This animation shows the first six years worth of biosphere data taken by the SeaWiFS instrument.  On land, areas of high plant life are shown in dark green, while areas of low plant life are shown in tan.  In the ocean, areas of high phytoplankton are shown in red, and areas of lowest phytoplankton are shown in blue and purple.</Abstract>
+							<LegendURL width="320" height="180">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002914/chlor_ndvi_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="1024">
+						<Name>2914_17554</Name>
+						<Title>High Resolution (2048x1024 Animation)</Title>
+						<Abstract>By monitoring the color of reflected light via satellite, scientists can determine how successfully plant life is photosynthesizing. A measurement of photosynthesis is essentially a measurement of successful growth, and growth means successful use of ambient carbon.  This animation represents the first six years' worth of data taken by the SeaWiFS instrument, showing the abundance of life both on land and in the sea.  In the ocean, dark blue represents warmer areas where there is little life due to lack of nutrients, and greens and reds represent cooler nutrient-rich areas.  The nutrient-rich areas include coastal regions where cold water rises from the sea floor bringing nutrients along and areas at the mouths of rivers where the rivers have brought nutrients into the ocean from the land. On land, green represents areas of abundent plant life, such as forests and grasslands, while tan and white represent areas where plant life is sparse or non-existent, such as the deserts in Africa and the Middle East and snow-cover and ice at the poles.
+
+Additional Credit:
+NASA/Goddard Space Flight Center, The SeaWiFS Project and ORBIMAGE, Scientific Visualization Studio.  NOTE: All SeaWiFS images and data presented on this web site are for research and educational use only. All commercial use of SeaWiFS data must be coordinated with ORBIMAGE (http://www.orbimage.com).</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Biological oceanography</Keyword>
+							<Keyword vocabulary="SVS">Biosphere</Keyword>
+							<Keyword vocabulary="DLESE">Ecology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Microbiota Taxonomy:Phytoplankton</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Optics:Ocean Color</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-07-20">1997-08-13/1997-12-27/P8D,1998-01-01/1998-12-27/P8D,1999-01-01/1999-12-27/P8D,2000-01-01/2000-12-26/P8D,2001-01-01/2001-12-27/P8D,2002-01-01/2002-12-27/P8D,2003-01-01/2003-07-20/P8D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002914/a002914.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://seawifs.gsfc.nasa.gov/SEAWIFS.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>This animation shows the first six years worth of biosphere data taken by the SeaWiFS instrument.  On land, areas of high plant life are shown in dark green, while areas of low plant life are shown in tan.  In the ocean, areas of high phytoplankton are shown in red, and areas of lowest phytoplankton are shown in blue and purple.</Abstract>
+							<LegendURL width="320" height="180">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002914/chlor_ndvi_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="640" fixedHeight="480">
+					<Name>2913_17544</Name>
+					<Title>Life Returns to the Galapagos after El Nino (640x480 Animation)</Title>
+					<Abstract>During the El Nino in 1997 and 1998, the surface water in the eastern equatorial Pacific off the coast of South America was warmer than normal.  This warm water trapped the ocean nutrients that normally come to the surface in the upwelling cold water, leading to a drastic decrease in phytonplankton and other ocean life in the region.  The unique Galapagos ecosystem was severely affected and many species, including sea lions, seabirds, and baracudas, suffered a very high mortality level.  During the second week of May, 1998, the ocean temperatures plummeted 10 degrees in one day, and the ocean productivity exploded with large phytoplankton blooms.  After this time, many species recovered very rapidly and the land species started to reproduce immediately.  The SeaWiFS instrument, which monitors global phytoplankton in the oceans by measuring  the color of reflected light, caught this dramatic recovery.  This visualization shws images from SeaWiFS starting on May 10, 1998 and ending on May 31, 1998, where ocean colors of blue or purple represents little or no ocean life and colors or yellow and red indicate significant ocean productivity.  White and gray denote areas occluded by clouds in these images, and a relief image of the Galapagos Islands has been superimposed on the images to clarify the location of the islands.
+
+Additional Credit:
+NASA/Goddard Space Flight Center, The SeaWiFS Project and ORBIMAGE, Scientific Visualization Studio.  NOTE: All SeaWiFS images and data presented on this web site are for research and educational use only. All commercial use of SeaWiFS data must be coordinated with ORBIMAGE (http://www.orbimage.com).</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Biological oceanography</Keyword>
+						<Keyword vocabulary="SVS">Biosphere</Keyword>
+						<Keyword vocabulary="DLESE">Ecology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Microbiota Taxonomy:Phytoplankton</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Optics:Ocean Color</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-95.2981</westBoundLongitude>
+						<eastBoundLongitude>-89.9881</eastBoundLongitude>
+						<southBoundLatitude>-2.79423</southBoundLatitude>
+						<northBoundLatitude>1.18827</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-95.2981" miny="-2.79423" maxx="-89.9881" maxy="1.18827"/>
+					<Dimension name="time" units="ISO8601" default="1998-05-31">1998-05-10,1998-05-18,1998-05-22,1998-05-24,1998-05-29,1998-05-31</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002913/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002913/a002913.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://seawifs.gsfc.nasa.gov/SEAWIFS.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>SeaWiFS recorded the recovery of ocean life around the Galapagos Islands during May, 1998.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002913/chlor_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Wildfire Growth around Yellowstone National Park in 1988</Title>
+					<Abstract>During the summer of 1988, wildfires burned about 1.4 million acres in and around Yellowstone National Park.  Spurred by the driest summer in park history, the fires started in early July and lasted until early October.  The worst day was August 20, when tremendous winds pushed the fires to burn over 150,000 acres.  Although the scars from these fires are still visible in Landsat imagery from space over ten years later, the patchwork nature of the fire footprint left many unburned areas from which plant species have regenerated very successfully.  This animation shows how the fires progressed in the period from June 30 though October 2, 1988, by which time the fall rain and snow had stopped the fire growth.  These maps are based on daily ground observations by fire lookouts in the park and by infrared imaging cameras flown over the park at night.  These observations are considered accurate to within about 100 meters.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="DLESE">Physical geography</Keyword>
+						<Keyword vocabulary="SVS">Yellowstone National Park</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Agriculture:Forest Science:Forest Fire Science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Ecological Dynamics:Fire Occurrence</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Fires</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002909/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002909/a002909.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://sagemap.wr.usgs.gov/ftp/wyoming/NPS/yell_fire88perim.htm"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2909_17518</Name>
+						<Title>Wildfire Growth around Yellowstone National Park in 1988 (1024x1024 Animation)</Title>
+						<Abstract>During the summer of 1988, wildfires burned about 1.4 million acres in and around Yellowstone National Park.  Spurred by the driest summer in park history, the fires started in early July and lasted until early October.  The worst day was August 20, when tremendous winds pushed the fires to burn over 150,000 acres.  Although the scars from these fires are still visible in Landsat imagery from space over ten years later, the patchwork nature of the fire footprint left many unburned areas from which plant species have regenerated very successfully.  This animation shows how the fires progressed in the period from June 30 though October 2, 1988, by which time the fall rain and snow had stopped the fire growth.  These maps are based on daily ground observations by fire lookouts in the park and by infrared imaging cameras flown over the park at night.  These observations are considered accurate to within about 100 meters.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Yellowstone National Park</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Agriculture:Forest Science:Forest Fire Science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Ecological Dynamics:Fire Occurrence</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Fires</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-111.4</westBoundLongitude>
+							<eastBoundLongitude>-109.4</eastBoundLongitude>
+							<southBoundLatitude>43.868</southBoundLatitude>
+							<northBoundLatitude>45.4</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-111.4" miny="43.868" maxx="-109.4" maxy="45.4"/>
+						<Dimension name="time" units="ISO8601" default="1988-10-02">1988-06-30/1988-10-02/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002909/a002909.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://sagemap.wr.usgs.gov/ftp/wyoming/NPS/yell_fire88perim.htm"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the progression of the fires in and around Yellowstone National Park during the summer of 1988, overlayed on a false-color image from Landsat 7..  Independent fires are shown in different colors, and the most recently burned areas are shown in a brighter color.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="100">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002909/firelegend.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the progression of the fires in and around Yellowstone National Park during the summer of 1988, overlayed on a false-color image from Landsat 7..  Independent fires are shown in different colors, and the most recently burned areas are shown in a brighter color.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="100">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002909/firelegend.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2909_17518_bg</Name>
+						<Title>Background Image for Wildfire Growth around Yellowstone National Park in 1988 (WMS)</Title>
+						<Abstract>During the summer of 1988, wildfires burned about 1.4 million acres in and around Yellowstone National Park.  Spurred by the driest summer in park history, the fires started in early July and lasted until early October.  The worst day was August 20, when tremendous winds pushed the fires to burn over 150,000 acres.  Although the scars from these fires are still visible in Landsat imagery from space over ten years later, the patchwork nature of the fire footprint left many unburned areas from which plant species have regenerated very successfully.  This animation shows how the fires progressed in the period from June 30 though October 2, 1988, by which time the fall rain and snow had stopped the fire growth.  These maps are based on daily ground observations by fire lookouts in the park and by infrared imaging cameras flown over the park at night.  These observations are considered accurate to within about 100 meters.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Yellowstone National Park</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Agriculture:Forest Science:Forest Fire Science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Ecological Dynamics:Fire Occurrence</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Fires</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-111.4</westBoundLongitude>
+							<eastBoundLongitude>-109.4</eastBoundLongitude>
+							<southBoundLatitude>43.868</southBoundLatitude>
+							<northBoundLatitude>45.4</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-111.4" miny="43.868" maxx="-109.4" maxy="45.4"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002909/a002909.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://sagemap.wr.usgs.gov/ftp/wyoming/NPS/yell_fire88perim.htm"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>African Fires during 2002</Title>
+					<Abstract>This animation shows fire activity in Africa from January 1, 2002 to December 31, 2002.  The fires are shown as tiny particles with each particle depicting the geographic region in which fire was detected.  The color of a particle represents the number of days since a sizable amount of fire was detected in that region, with red representing less than 20 days, orange representing 20 to 40 days, yellow representing 40 to 60 days, and gray to black representing more than 60 days.  This data was measured by the MODIS instrument on the Terra satellite.  MODIS detects fires by measuring the brightness temperature of a region in several frequency bands and looking for hot spots where this temperature is greater than the surrounding region.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Forestry</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Agriculture:Forest Science:Forest Fire Science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Ecological Dynamics:Fire Occurrence</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Fires</Keyword>
+						<Keyword vocabulary="GCMD">Location:Africa</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002890/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002890/a002890.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://rapidfire.sci.gsfc.nasa.gov/"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2890_17402</Name>
+						<Title>African Fires during 2002 (1024x1024 Animation)</Title>
+						<Abstract>This animation shows fire activity in Africa from January 1, 2002 to December 31, 2002.  The fires are shown as tiny particles with each particle depicting the geographic region in which fire was detected.  The color of a particle represents the number of days since a sizable amount of fire was detected in that region, with red representing less than 20 days, orange representing 20 to 40 days, yellow representing 40 to 60 days, and gray to black representing more than 60 days.  This data was measured by the MODIS instrument on the Terra satellite.  MODIS detects fires by measuring the brightness temperature of a region in several frequency bands and looking for hot spots where this temperature is greater than the surrounding region.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Forestry</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Agriculture:Forest Science:Forest Fire Science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Ecological Dynamics:Fire Occurrence</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Fires</Keyword>
+							<Keyword vocabulary="GCMD">Location:Africa</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-22</westBoundLongitude>
+							<eastBoundLongitude>58</eastBoundLongitude>
+							<southBoundLatitude>-39</southBoundLatitude>
+							<northBoundLatitude>41</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-22" miny="-39" maxx="58" maxy="41"/>
+						<Dimension name="time" units="ISO8601" default="2002-12-31">2002-01-01/2002-12-31/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002890/a002890.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://rapidfire.sci.gsfc.nasa.gov/"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows fire activity in Africa during 2002.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002890/firebar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows fire activity in Africa during 2002.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002890/firebar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2890_17402_bg</Name>
+						<Title>Background Image for African Fires during 2002 (WMS)</Title>
+						<Abstract>This animation shows fire activity in Africa from January 1, 2002 to December 31, 2002.  The fires are shown as tiny particles with each particle depicting the geographic region in which fire was detected.  The color of a particle represents the number of days since a sizable amount of fire was detected in that region, with red representing less than 20 days, orange representing 20 to 40 days, yellow representing 40 to 60 days, and gray to black representing more than 60 days.  This data was measured by the MODIS instrument on the Terra satellite.  MODIS detects fires by measuring the brightness temperature of a region in several frequency bands and looking for hot spots where this temperature is greater than the surrounding region.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Forestry</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Agriculture:Forest Science:Forest Fire Science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Ecological Dynamics:Fire Occurrence</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Fires</Keyword>
+							<Keyword vocabulary="GCMD">Location:Africa</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-22</westBoundLongitude>
+							<eastBoundLongitude>58</eastBoundLongitude>
+							<southBoundLatitude>-39</southBoundLatitude>
+							<northBoundLatitude>41</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-22" miny="-39" maxx="58" maxy="41"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002890/a002890.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://rapidfire.sci.gsfc.nasa.gov/"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+			</Layer>
+			<Layer>
+				<Title>Climate Indicators</Title>
+				<Layer opaque="1" noSubsets="1" fixedWidth="644" fixedHeight="289">
+					<Name>3338_24550</Name>
+					<Title>Tropospheric Ozone Impacts Global Climate Warming (644x289 Animation)</Title>
+					<Abstract>In the first global assessment of the impact of ozone on climate warming, scientists at the NASA Goddard Institute for Space Studies (GISS), New York, evaluated how ozone in the lowest part of the atmosphere (the troposphere)  changed temperatures over the past 100 years. Using the best available estimates of global emissions of gases that create ozone, the GISS computer model study reveals how much this single air pollutant and greenhouse gas has contributed to warming in specific regions of the world.
+
+Ozone was responsible for one-third to half of the observed warming trend in the Arctic during winter and spring, according to the new research. Ozone is transported from the industrialized countries in the Northern Hemisphere to the Arctic quite efficiently during these seasons. The findings will be published soon in the American Geophysical Union's Journal of Geophysical Research-Atmospheres.
+
+The impact of ozone air pollution on climate warming is difficult to pinpoint because, unlike other greenhouse gases such as carbon dioxide, ozone does not last long enough in the lower atmosphere to spread uniformly around the globe. Its warming impact is much more closely tied to the region it originated from. To capture this complex picture, the GISS scientists used a suite of three-dimensional computer models that starts with data on ozone sources and then tracks how ozone chemically evolved and moved around the world over the past century.
+
+The research was supported by NASA's Atmospheric Chemistry Modeling and Analysis Program.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Air Temperature Indices</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Oxygen Compounds:Ozone</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="1994-">1884-/1994-/P1Y</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003338/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003338/a003338.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows anomalous global temperature averages from December through May in the years 1880 through 2000.  </Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003338/temperature_colortable.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Sea Surface Height Anomaly, 2003-2005</Title>
+					<Abstract>Changes in the normal height of the ocean's surface were observed by the TOPEX/Poseidon altimeter.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Surface Topography:Sea Surface Height</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global Ocean</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003193/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003193/a003193.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="360" fixedHeight="180">
+						<Name>3193_21991</Name>
+						<Title>Sea Surface Height Anomaly, 2003-2005 (360x180 Animation)</Title>
+						<Abstract>Changes in the normal height of the ocean's surface were observed by the TOPEX/Poseidon altimeter.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Surface Topography:Sea Surface Height</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>0</westBoundLongitude>
+							<eastBoundLongitude>-0.0001</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="0" miny="-90" maxx="-0.0001" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2005-04-19T02:15:15Z">2003-08-03T09:46:21Z,2003-08-13T07:45:00Z,2003-08-23T05:43:52Z,2003-09-02T03:42:05Z,2003-09-12T01:40:49Z,2003-09-21T23:39:01Z,2003-10-01T21:38:00Z,2003-10-11T19:36:26Z,2003-10-21T17:34:41Z,2003-10-31T15:33:27Z,2003-11-10T13:32:02Z,2003-11-20T11:30:33Z,2003-11-30T09:29:00Z,2003-12-10T07:32:27Z,2003-12-20T05:31:28Z,2003-12-30T03:25:27Z,2004-01-09T01:24:02Z,2004-01-18T23:28:27Z,2004-01-28T21:26:59Z,2004-02-07T19:19:35Z,2004-02-17T17:18:15Z,2004-02-27T15:22:35Z,2004-03-08T13:21:08Z,2004-03-18T11:13:45Z,2004-03-28T09:12:24Z,2004-04-07T07:16:42Z,2004-04-17T05:13:59Z,2004-04-27T03:04:33Z,2004-05-07T01:06:04Z,2004-05-16T23:09:58Z,2004-05-26T18:47:47Z,2004-06-25T14:57:55Z,2004-07-05T12:56:09Z,2004-07-13T23:21:20Z,2004-07-25T08:53:03Z,2004-08-02T23:02:34Z,2004-08-14T04:50:00Z,2004-08-24T02:48:09Z,2004-09-03T00:46:54Z,2004-09-12T22:45:31Z,2004-09-22T20:44:38Z,2004-10-02T18:43:10Z,2004-10-12T16:41:35Z,2004-10-22T14:40:22Z,2004-11-01T12:39:46Z,2004-11-11T10:37:33Z,2004-11-21T08:35:33Z,2004-12-01T06:34:28Z,2004-12-11T04:33:17Z,2004-12-17T17:47:42Z,2004-12-30T23:59:57Z,2005-01-09T22:26:47Z,2005-01-19T20:27:49Z,2005-01-29T18:32:28Z,2005-02-08T16:25:08Z,2005-02-18T14:20:55Z,2005-02-28T12:21:58Z,2005-03-10T10:20:38Z,2005-03-17T02:54:59Z,2005-03-30T06:17:28Z,2005-04-09T04:16:07Z,2005-04-19T02:15:15Z</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003193/a003193.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the sea surface height anomaly. This animation is primarily designed to be accessed from the SVS Web Map Services (WMS) server. Each frame represents the accumulation of data over about a 10-day period ending at the date and time indicated in the WMS metadata.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003193/ssha_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the sea surface height anomaly. This animation is primarily designed to be accessed from the SVS Web Map Services (WMS) server. Each frame represents the accumulation of data over about a 10-day period ending at the date and time indicated in the WMS metadata.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003193/ssha_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="360" fixedHeight="180">
+						<Name>3193_21991_bg</Name>
+						<Title>Background Image for Sea Surface Height Anomaly, 2003-2005 (WMS)</Title>
+						<Abstract>Changes in the normal height of the ocean's surface were observed by the TOPEX/Poseidon altimeter.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Surface Topography:Sea Surface Height</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>0</westBoundLongitude>
+							<eastBoundLongitude>-0.0001</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="0" miny="-90" maxx="-0.0001" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003193/a003193.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Sea Surface Temperature Anomaly, 2005</Title>
+					<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. The sea surface temperature anomaly, or difference from the mean, can show climate indicators such as the El Nino oscillation, which manifests as a warmer-than-normal sea surface temperature in the Pacific Ocean west of Ecuador and Peru.  This sequence shows a slight La Nina effect, or cooler-than-normal sea surface temperature in the eastern Pacific.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global Ocean</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/a003192.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="1024">
+						<Name>3192_21989</Name>
+						<Title>High Resolution (2048x1024 Animation)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. The sea surface temperature anomaly, or difference from the mean, can show climate indicators such as the El Nino oscillation, which manifests as a warmer-than-normal sea surface temperature in the Pacific Ocean west of Ecuador and Peru.  This sequence shows a slight La Nina effect, or cooler-than-normal sea surface temperature in the eastern Pacific.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2005-07-03">2005-01-01/2005-07-03/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/a003192.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the Sea Surface Temperature Anomaly for the first part of 2005.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/sst_anom_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the Sea Surface Temperature Anomaly for the first part of 2005.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/sst_anom_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="1024">
+						<Name>3192_21989_bg</Name>
+						<Title>Background Image for Sea Surface Temperature Anomaly, 2005 (WMS)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. The sea surface temperature anomaly, or difference from the mean, can show climate indicators such as the El Nino oscillation, which manifests as a warmer-than-normal sea surface temperature in the Pacific Ocean west of Ecuador and Peru.  This sequence shows a slight La Nina effect, or cooler-than-normal sea surface temperature in the eastern Pacific.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/a003192.fgdc"/>
+						</MetadataURL>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3192_21988</Name>
+						<Title>Medium Resolution (1024x512 Animation)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. The sea surface temperature anomaly, or difference from the mean, can show climate indicators such as the El Nino oscillation, which manifests as a warmer-than-normal sea surface temperature in the Pacific Ocean west of Ecuador and Peru.  This sequence shows a slight La Nina effect, or cooler-than-normal sea surface temperature in the eastern Pacific.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2005-07-03">2005-01-01/2005-07-03/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/a003192.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the Sea Surface Temperature Anomaly for the first part of 2005.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/sst_anom_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the Sea Surface Temperature Anomaly for the first part of 2005.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/sst_anom_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3192_21988_bg</Name>
+						<Title>Background Image for Sea Surface Temperature Anomaly, 2005 (WMS)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. The sea surface temperature anomaly, or difference from the mean, can show climate indicators such as the El Nino oscillation, which manifests as a warmer-than-normal sea surface temperature in the Pacific Ocean west of Ecuador and Peru.  This sequence shows a slight La Nina effect, or cooler-than-normal sea surface temperature in the eastern Pacific.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/a003192.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Sea Surface Temperature, 2005</Title>
+					<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. In this visualization sequence covering the period from January to June, 2005, the most obvious effects are the north-south movement of warm regions across the equator due to the seasonal movement of the sun and the seasonal advance and retreat of the sea ice near the North and South poles. It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global Land</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/a003191.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="1024">
+						<Name>3191_21983</Name>
+						<Title>High Resolution (2048x1024 Animation)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. In this visualization sequence covering the period from January to June, 2005, the most obvious effects are the north-south movement of warm regions across the equator due to the seasonal movement of the sun and the seasonal advance and retreat of the sea ice near the North and South poles. It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Land</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2005-07-03">2005-01-01/2005-07-03/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/a003191.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the sea surface temperature for the first part of 2005.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/sst-temperature-bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the sea surface temperature for the first part of 2005.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/sst-temperature-bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="1024">
+						<Name>3191_21983_bg</Name>
+						<Title>Background Image for Sea Surface Temperature, 2005 (WMS)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. In this visualization sequence covering the period from January to June, 2005, the most obvious effects are the north-south movement of warm regions across the equator due to the seasonal movement of the sun and the seasonal advance and retreat of the sea ice near the North and South poles. It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Land</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/a003191.fgdc"/>
+						</MetadataURL>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3191_21982</Name>
+						<Title>Medium Resolution (1024x512 Animation)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. In this visualization sequence covering the period from January to June, 2005, the most obvious effects are the north-south movement of warm regions across the equator due to the seasonal movement of the sun and the seasonal advance and retreat of the sea ice near the North and South poles. It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Land</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2005-07-03">2005-01-01/2005-07-03/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/a003191.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the sea surface temperature for the first part of 2005.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/sst-temperature-bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the sea surface temperature for the first part of 2005.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/sst-temperature-bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3191_21982_bg</Name>
+						<Title>Background Image for Sea Surface Temperature, 2005 (WMS)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. In this visualization sequence covering the period from January to June, 2005, the most obvious effects are the north-south movement of warm regions across the equator due to the seasonal movement of the sun and the seasonal advance and retreat of the sea ice near the North and South poles. It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Land</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/a003191.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="2040" fixedHeight="504">
+					<Name>3171_21745</Name>
+					<Title>Wind Anomalies during El Nino/La Nina Event of 1997-1998 (2040x504 Animation)</Title>
+					<Abstract>The El Nino/La Nina event in 1997-1999 was particularly intense, but was also very well observed by satellites and buoys. Deviations from normal winds speeds and directions of the were computed using data from the Special Sensor Microwave/Imager (SSMI) on the Tropical Rainfall Measuring Mission (TRMM) satellite.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Surface Winds</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Winds:Surface Winds</Keyword>
+						<Keyword vocabulary="GCMD">Location:Pacific Ocean</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>120</westBoundLongitude>
+						<eastBoundLongitude>-70</eastBoundLongitude>
+						<southBoundLatitude>-21</southBoundLatitude>
+						<northBoundLatitude>21</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="120" miny="-21" maxx="-70" maxy="21"/>
+					<Dimension name="time" units="ISO8601" default="1999-12-31">1997-01-07/1997-01-21/P7D,1997-01-31/1997-03-21/P7D,1997-03-31/1997-04-21/P7D,1997-04-30/1997-05-21/P7D,1997-05-31/1997-06-21/P7D,1997-06-30/1997-07-21/P7D,1997-07-31/1997-08-21/P7D,1997-08-31/1997-09-21/P7D,1997-09-30/1997-10-21/P7D,1997-10-31/1997-11-21/P7D,1997-11-30/1997-12-21/P7D,1997-12-31/1998-01-21/P7D,1998-01-31/1998-03-21/P7D,1998-03-31/1998-04-21/P7D,1998-04-30/1998-05-21/P7D,1998-05-31/1998-06-21/P7D,1998-06-30/1998-07-21/P7D,1998-07-31/1998-08-21/P7D,1998-08-31/1998-09-21/P7D,1998-09-30/1998-10-21/P7D,1998-10-31/1998-11-21/P7D,1998-11-30/1998-12-21/P7D,1998-12-31/1999-01-21/P7D,1999-01-31/1999-03-21/P7D,1999-03-31/1999-04-21/P7D,1999-04-30/1999-05-21/P7D,1999-05-31/1999-06-21/P7D,1999-06-30/1999-07-21/P7D,1999-07-31/1999-08-21/P7D,1999-08-31/1999-09-21/P7D,1999-09-30/1999-10-21/P7D,1999-10-31/1999-11-21/P7D,1999-11-30/1999-12-21/P7D,1999-12-31</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003171/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003171/a003171.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows El Nino and La Nina from
+1997 through 1998. Each frame is a ten-day average of wind
+anomalies--that is, of differences from normal wind velocities.
+The area shown in the animation is the Pacific ocean
+from -21 to +21 latitude and +120 to +290 East
+longitude.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003171/colorbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Sea Surface Height Anomalies during El Nino/La Nina Event of 1997-1998</Title>
+					<Abstract>The El Nino/La Nina event in 1997-1999 was particularly intense, but was also very well observed by satellites and buoys. Changes in the normal height of the ocean's surface were observed by the TOPEX/Poseidon altimeter.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Surface Topography:Sea Surface Height</Keyword>
+						<Keyword vocabulary="GCMD">Location:Pacific Ocean</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003142/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003142/a003142.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1020" fixedHeight="252">
+						<Name>3142_21213</Name>
+						<Title>Sea Surface Height Anomalies during El Nino/La Nina Event of 1997-1998 (1020x252 Animation)</Title>
+						<Abstract>The El Nino/La Nina event in 1997-1999 was particularly intense, but was also very well observed by satellites and buoys. Changes in the normal height of the ocean's surface were observed by the TOPEX/Poseidon altimeter.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Surface Topography:Sea Surface Height</Keyword>
+							<Keyword vocabulary="GCMD">Location:Pacific Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>120</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>-21</southBoundLatitude>
+							<northBoundLatitude>21</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="120" miny="-21" maxx="-70" maxy="21"/>
+						<Dimension name="time" units="ISO8601" default="1999-12-27">1997-01-01/1999-12-27/P10D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003142/a003142.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows El Nino and La Nina from
+1997 through 1998. Each frame is a ten-day average of sea
+surface height (SSH) anomalies--that is, of differences from
+normal SSH values. The area shown in the animation is the
+Pacific ocean from -20.5 to +20.5 latitude and +120.5 to +289.5
+East longitude.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003142/sshanom_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows El Nino and La Nina from
+1997 through 1998. Each frame is a ten-day average of sea
+surface height (SSH) anomalies--that is, of differences from
+normal SSH values. The area shown in the animation is the
+Pacific ocean from -20.5 to +20.5 latitude and +120.5 to +289.5
+East longitude.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003142/sshanom_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1020" fixedHeight="252">
+						<Name>3142_21213_bg</Name>
+						<Title>Background Image for Sea Surface Height Anomalies during El Nino/La Nina Event of 1997-1998 (WMS)</Title>
+						<Abstract>The El Nino/La Nina event in 1997-1999 was particularly intense, but was also very well observed by satellites and buoys. Changes in the normal height of the ocean's surface were observed by the TOPEX/Poseidon altimeter.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Surface Topography:Sea Surface Height</Keyword>
+							<Keyword vocabulary="GCMD">Location:Pacific Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>120</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>-21</southBoundLatitude>
+							<northBoundLatitude>21</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="120" miny="-21" maxx="-70" maxy="21"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003142/a003142.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Sea Surface Temperature Anomalies during El Nino/La Nina Event of 1997-1998</Title>
+					<Abstract>The El Nino/La Nina event in 1997-1999 was particularly intense, but was also very well observed by satellites and buoys. A strong upwelling of unusually warm water was observed in the Pacific Ocean during the El Nino phase, followed by unusually cold water in the La Nina phase. The Advanced Very High Resolution Radiometer (AVHRR) instrument on the US National Oceanic and Atmospheric Administration's NOAA-14 spacecraft observed the changes in sea surface temperature shown here.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">Location:Pacific Ocean</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003135/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003135/a003135.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1020" fixedHeight="252">
+						<Name>3135_21167</Name>
+						<Title>Sea Surface Temperature Anomalies during El Nino/La Nina Event of 1997-1998 (1020x252 Animation)</Title>
+						<Abstract>The El Nino/La Nina event in 1997-1999 was particularly intense, but was also very well observed by satellites and buoys. A strong upwelling of unusually warm water was observed in the Pacific Ocean during the El Nino phase, followed by unusually cold water in the La Nina phase. The Advanced Very High Resolution Radiometer (AVHRR) instrument on the US National Oceanic and Atmospheric Administration's NOAA-14 spacecraft observed the changes in sea surface temperature shown here.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Pacific Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>120</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>-21</southBoundLatitude>
+							<northBoundLatitude>21</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="120" miny="-21" maxx="-70" maxy="21"/>
+						<Dimension name="time" units="ISO8601" default="1999-12-27">1997-01-01/1999-12-27/P10D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003135/a003135.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows El Nino and La Nina from
+1997 through 1998. Each frame is a ten-day average of sea
+surface temperature (SST) anomalies--that is, of differences from
+normal SST values. The area shown in the animation is the
+Pacific ocean from -20.5 to +20.5 latitude and +120.5 to +289.5
+East longitude.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003135/sstanom_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows El Nino and La Nina from
+1997 through 1998. Each frame is a ten-day average of sea
+surface temperature (SST) anomalies--that is, of differences from
+normal SST values. The area shown in the animation is the
+Pacific ocean from -20.5 to +20.5 latitude and +120.5 to +289.5
+East longitude.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003135/sstanom_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1020" fixedHeight="252">
+						<Name>3135_21167_bg</Name>
+						<Title>Background Image for Sea Surface Temperature Anomalies during El Nino/La Nina Event of 1997-1998 (WMS)</Title>
+						<Abstract>The El Nino/La Nina event in 1997-1999 was particularly intense, but was also very well observed by satellites and buoys. A strong upwelling of unusually warm water was observed in the Pacific Ocean during the El Nino phase, followed by unusually cold water in the La Nina phase. The Advanced Very High Resolution Radiometer (AVHRR) instrument on the US National Oceanic and Atmospheric Administration's NOAA-14 spacecraft observed the changes in sea surface temperature shown here.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Pacific Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>120</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>-21</southBoundLatitude>
+							<northBoundLatitude>21</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="120" miny="-21" maxx="-70" maxy="21"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003135/a003135.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="640" fixedHeight="480">
+					<Name>2913_17544</Name>
+					<Title>Life Returns to the Galapagos after El Nino (640x480 Animation)</Title>
+					<Abstract>During the El Nino in 1997 and 1998, the surface water in the eastern equatorial Pacific off the coast of South America was warmer than normal.  This warm water trapped the ocean nutrients that normally come to the surface in the upwelling cold water, leading to a drastic decrease in phytonplankton and other ocean life in the region.  The unique Galapagos ecosystem was severely affected and many species, including sea lions, seabirds, and baracudas, suffered a very high mortality level.  During the second week of May, 1998, the ocean temperatures plummeted 10 degrees in one day, and the ocean productivity exploded with large phytoplankton blooms.  After this time, many species recovered very rapidly and the land species started to reproduce immediately.  The SeaWiFS instrument, which monitors global phytoplankton in the oceans by measuring  the color of reflected light, caught this dramatic recovery.  This visualization shws images from SeaWiFS starting on May 10, 1998 and ending on May 31, 1998, where ocean colors of blue or purple represents little or no ocean life and colors or yellow and red indicate significant ocean productivity.  White and gray denote areas occluded by clouds in these images, and a relief image of the Galapagos Islands has been superimposed on the images to clarify the location of the islands.
+
+Additional Credit:
+NASA/Goddard Space Flight Center, The SeaWiFS Project and ORBIMAGE, Scientific Visualization Studio.  NOTE: All SeaWiFS images and data presented on this web site are for research and educational use only. All commercial use of SeaWiFS data must be coordinated with ORBIMAGE (http://www.orbimage.com).</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Biological oceanography</Keyword>
+						<Keyword vocabulary="SVS">Biosphere</Keyword>
+						<Keyword vocabulary="DLESE">Ecology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Microbiota Taxonomy:Phytoplankton</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Optics:Ocean Color</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-95.2981</westBoundLongitude>
+						<eastBoundLongitude>-89.9881</eastBoundLongitude>
+						<southBoundLatitude>-2.79423</southBoundLatitude>
+						<northBoundLatitude>1.18827</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-95.2981" miny="-2.79423" maxx="-89.9881" maxy="1.18827"/>
+					<Dimension name="time" units="ISO8601" default="1998-05-31">1998-05-10,1998-05-18,1998-05-22,1998-05-24,1998-05-29,1998-05-31</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002913/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002913/a002913.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://seawifs.gsfc.nasa.gov/SEAWIFS.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>SeaWiFS recorded the recovery of ocean life around the Galapagos Islands during May, 1998.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002913/chlor_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Atmospheric Water Vapor during the 1997-1998 El Niño</Title>
+					<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds which both warm and cool the Earth in different circumstances.  A key feature of global atmospheric water vapor convection is the Intertropical Convergence Zone, the low pressure region within five degrees of the equator where the trade winds converge and solar heating of the atmosphere forces the water-laden air to rise in altitude, form clouds, and then precipitate as rain in the afternoon.  This visualization shows the global water vapor distribution in gray and white and the global precipitation in yellow every hour from December 20, 1997 to January 14, 1998.  The afternoon thunderstorms in the tropics are seen as a flashing yellow region that moves from east to west, following the sun.  This is an El Niño period, when the water to the west of South America is warmer than normal, allowing the atmosphere there to heat up and hold more water.  This region feeds a high band of water vapor reaching to the southeastern United States and causes increased humidity and rainfall in that region.  This data is from the Goddard Earth Modeling System, a coupled land-ocean-atmosphere model which uses earth and satellite-based observations to simulate the Earth's physical system during events such as El Niño.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Precipitable Water</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002902/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002902/a002902.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://nsipp.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="576" fixedHeight="360">
+						<Name>2902_17473</Name>
+						<Title>Atmospheric Water Vapor during the 1997-1998 El Niño (576x360 Animation)</Title>
+						<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds which both warm and cool the Earth in different circumstances.  A key feature of global atmospheric water vapor convection is the Intertropical Convergence Zone, the low pressure region within five degrees of the equator where the trade winds converge and solar heating of the atmosphere forces the water-laden air to rise in altitude, form clouds, and then precipitate as rain in the afternoon.  This visualization shows the global water vapor distribution in gray and white and the global precipitation in yellow every hour from December 20, 1997 to January 14, 1998.  The afternoon thunderstorms in the tropics are seen as a flashing yellow region that moves from east to west, following the sun.  This is an El Niño period, when the water to the west of South America is warmer than normal, allowing the atmosphere there to heat up and hold more water.  This region feeds a high band of water vapor reaching to the southeastern United States and causes increased humidity and rainfall in that region.  This data is from the Goddard Earth Modeling System, a coupled land-ocean-atmosphere model which uses earth and satellite-based observations to simulate the Earth's physical system during events such as El Niño.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Precipitable Water</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="1998-01-14T23:00Z">1997-12-20T00:00Z/1998-01-14T23:00Z/PT1H</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002902/a002902.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://nsipp.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This visualization shows the total precipitable water in the atmosphere, indicated by the gray to white cloud-like structures, and predicted precipitation, indicated by gold, during the 1997-1998 El Nino.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="180">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002902/vaporbar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This visualization shows the total precipitable water in the atmosphere, indicated by the gray to white cloud-like structures, and predicted precipitation, indicated by gold, during the 1997-1998 El Nino.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="180">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002902/vaporbar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="576" fixedHeight="360">
+						<Name>2902_17473_bg</Name>
+						<Title>Background Image for Atmospheric Water Vapor during the 1997-1998 El Niño (WMS)</Title>
+						<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds which both warm and cool the Earth in different circumstances.  A key feature of global atmospheric water vapor convection is the Intertropical Convergence Zone, the low pressure region within five degrees of the equator where the trade winds converge and solar heating of the atmosphere forces the water-laden air to rise in altitude, form clouds, and then precipitate as rain in the afternoon.  This visualization shows the global water vapor distribution in gray and white and the global precipitation in yellow every hour from December 20, 1997 to January 14, 1998.  The afternoon thunderstorms in the tropics are seen as a flashing yellow region that moves from east to west, following the sun.  This is an El Niño period, when the water to the west of South America is warmer than normal, allowing the atmosphere there to heat up and hold more water.  This region feeds a high band of water vapor reaching to the southeastern United States and causes increased humidity and rainfall in that region.  This data is from the Goddard Earth Modeling System, a coupled land-ocean-atmosphere model which uses earth and satellite-based observations to simulate the Earth's physical system during events such as El Niño.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Precipitable Water</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002902/a002902.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://nsipp.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Atmospheric Water Vapor during the 1998 La Niña</Title>
+					<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds which both warm and cool the Earth in different circumstances.  A key feature of global atmospheric water vapor convection is the Intertropical Convergence Zone, the low pressure region within five degrees of the equator where the trade winds converge and solar heating of the atmosphere forces the water-laden air to rise in altitude, form clouds, and then precipitate as rain in the afternoon.  This visualization shows the global water vapor distribution in gray and white and the global precipitation in yellow every hour from August 30, 1998 to September 20, 1998.  The afternoon thunderstorms in the tropics are seen as a flashing yellow region that moves from east to west, following the sun.  This is a La Niña period, when the water to the west of South America is cooler than normal, forcing the atmosphere there to cool down and hold less water.  Strong east-to-west winds can be seen in this region, contributing to the high water vapor region that forms further to the west over southeast Asia, the Philippines, and Indonesia, causing increased humidity and rainfall in that region.  This data is from the Goddard Earth Modeling System, a coupled land-ocean-atmosphere model which uses earth and satellite-based observations to simulate the Earth's physical system during events such as La Niña.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Precipitable Water</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002901/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002901/a002901.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://nsipp.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="576" fixedHeight="360">
+						<Name>2901_17466</Name>
+						<Title>Atmospheric Water Vapor during the 1998 La Niña (576x360 Animation)</Title>
+						<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds which both warm and cool the Earth in different circumstances.  A key feature of global atmospheric water vapor convection is the Intertropical Convergence Zone, the low pressure region within five degrees of the equator where the trade winds converge and solar heating of the atmosphere forces the water-laden air to rise in altitude, form clouds, and then precipitate as rain in the afternoon.  This visualization shows the global water vapor distribution in gray and white and the global precipitation in yellow every hour from August 30, 1998 to September 20, 1998.  The afternoon thunderstorms in the tropics are seen as a flashing yellow region that moves from east to west, following the sun.  This is a La Niña period, when the water to the west of South America is cooler than normal, forcing the atmosphere there to cool down and hold less water.  Strong east-to-west winds can be seen in this region, contributing to the high water vapor region that forms further to the west over southeast Asia, the Philippines, and Indonesia, causing increased humidity and rainfall in that region.  This data is from the Goddard Earth Modeling System, a coupled land-ocean-atmosphere model which uses earth and satellite-based observations to simulate the Earth's physical system during events such as La Niña.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Precipitable Water</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="1998-09-19T23:00Z">1998-08-29T00:00Z/1998-09-19T23:00Z/PT1H</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002901/a002901.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://nsipp.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This visualization shows the total precipitable water in the atmosphere, indicated by the gray to white cloud-like structures, and predicted precipitation, indicated by gold, during the 1998-1999 La Nina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="180">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002901/vaporbar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This visualization shows the total precipitable water in the atmosphere, indicated by the gray to white cloud-like structures, and predicted precipitation, indicated by gold, during the 1998-1999 La Nina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="180">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002901/vaporbar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="576" fixedHeight="360">
+						<Name>2901_17466_bg</Name>
+						<Title>Background Image for Atmospheric Water Vapor during the 1998 La Niña (WMS)</Title>
+						<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds which both warm and cool the Earth in different circumstances.  A key feature of global atmospheric water vapor convection is the Intertropical Convergence Zone, the low pressure region within five degrees of the equator where the trade winds converge and solar heating of the atmosphere forces the water-laden air to rise in altitude, form clouds, and then precipitate as rain in the afternoon.  This visualization shows the global water vapor distribution in gray and white and the global precipitation in yellow every hour from August 30, 1998 to September 20, 1998.  The afternoon thunderstorms in the tropics are seen as a flashing yellow region that moves from east to west, following the sun.  This is a La Niña period, when the water to the west of South America is cooler than normal, forcing the atmosphere there to cool down and hold less water.  Strong east-to-west winds can be seen in this region, contributing to the high water vapor region that forms further to the west over southeast Asia, the Philippines, and Indonesia, causing increased humidity and rainfall in that region.  This data is from the Goddard Earth Modeling System, a coupled land-ocean-atmosphere model which uses earth and satellite-based observations to simulate the Earth's physical system during events such as La Niña.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Precipitable Water</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002901/a002901.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://nsipp.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+			</Layer>
+			<Layer>
+				<Title>Cryosphere</Title>
+				<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+					<Name>3353_24832</Name>
+					<Title>Terra/Aqua MODIS: Snow Cover and Sea Ice Surface Temperature (2048x512 Animation)</Title>
+					<Abstract>This animation shows MODIS daily measurements of both snow cover and sea ice surface temperature in the Northern Hemisphere for the winter of 2002-2003.  MODIS can only take measurements in daylight, so measurements during the polar winter night are taken from the last valid measurement.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>0</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="0" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-05-31">2002-09-01/2003-05-31/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003353/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003353/a003353.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003180/index.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>MODIS snow cover and sea ice surface temperature in the Northern Hemisphere from September 1, 2002 through May 31, 2003.</Abstract>
+						<LegendURL width="320" height="180">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003353/snow_seaice_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+					<Name>3345_24726</Name>
+					<Title>Sea Ice Surface Temperature  with Alternate Color Scale (2048x512 Animation)</Title>
+					<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds, in cloud-covered regions or areas with suspect data quality,  previous values are retained until valid data is obtained. The satellite instruments are also unable to collect data in the dark, so the data values in polar darkness are not updated during the winter until the sun moves northwards in the spring. The color of the sea ice depicts the sea ice surface temperature.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+						<Keyword vocabulary="SVS">Sea Ice Surface Temperature</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>0</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="0" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-05-31">2002-09-01/2003-05-31/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003345/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003345/a003345.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract> This animation shows the temperature of the sea ice surface in the Arctic during 2002-2003.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003345/seaicebar_web.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>2005 Sea Ice over the Arctic derived from AMSR-E</Title>
+					<Abstract>This animation shows the Spring retreat and subsequent Autumn advance of sea ice over the Arctic from 1/1/2005 through 12/31/2005. The false color of the sea ice, derived from the AMSR-E 6.25 km brightness temperature, was designed to highlight the fissures in the sea ice. Moving 3-day minimum brightness temperatures provide a background for smooth ice movement over which the actual daily brightness temperatures were mapped for definition of the ice structures.  The sea ice extent was defined by a 3-day moving average of the AMSR-E 12.5 km sea ice concentration, showing as ice all areas having a sea ice concentration greater than 15%.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Concentration</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003333/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003333/a003333.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1500" fixedHeight="250">
+						<Name>3333_24670</Name>
+						<Title>2005 Sea Ice over the Arctic derived from AMSR-E (1500x250 Animation)</Title>
+						<Abstract>This animation shows the Spring retreat and subsequent Autumn advance of sea ice over the Arctic from 1/1/2005 through 12/31/2005. The false color of the sea ice, derived from the AMSR-E 6.25 km brightness temperature, was designed to highlight the fissures in the sea ice. Moving 3-day minimum brightness temperatures provide a background for smooth ice movement over which the actual daily brightness temperatures were mapped for definition of the ice structures.  The sea ice extent was defined by a 3-day moving average of the AMSR-E 12.5 km sea ice concentration, showing as ice all areas having a sea ice concentration greater than 15%.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Concentration</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>30</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="30" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2005-12-31">2005-01-01/2005-12-31/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003333/a003333.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the motion of the sea ice over the Arctic from 1/1/2005 through 12/31/2005.    This version provides only the transparent overlay.</Abstract>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the motion of the sea ice over the Arctic from 1/1/2005 through 12/31/2005.    This version provides the transparent overlay composited with a background image.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1500" fixedHeight="250">
+						<Name>3333_24670_bg</Name>
+						<Title>Background Image for 2005 Sea Ice over the Arctic derived from AMSR-E</Title>
+						<Abstract>This animation shows the Spring retreat and subsequent Autumn advance of sea ice over the Arctic from 1/1/2005 through 12/31/2005. The false color of the sea ice, derived from the AMSR-E 6.25 km brightness temperature, was designed to highlight the fissures in the sea ice. Moving 3-day minimum brightness temperatures provide a background for smooth ice movement over which the actual daily brightness temperatures were mapped for definition of the ice structures.  The sea ice extent was defined by a 3-day moving average of the AMSR-E 12.5 km sea ice concentration, showing as ice all areas having a sea ice concentration greater than 15%.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Concentration</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>30</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="30" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003333/a003333.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Minimum Sea Ice Extent</Title>
+					<Abstract>Each year, the ice covering the Arctic Ocean grows during the northern hemisphere winter and shrinks with the northern hemisphere summer.  The ice extent is usually greatest during the month of March and is the least during the month of September. This image shows the average minimum extent of sea ice over the northern hemisphere during the month of September over 24 seasons, from 1979 - 2002. The red line shows the area where the average sea ice concentration is 15%.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Extent</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Extent</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003186/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003186/a003186.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1200" fixedHeight="400">
+						<Name>3186_21918</Name>
+						<Title>Minimum Sea Ice Extent (1200x400 Image)</Title>
+						<Abstract>Each year, the ice covering the Arctic Ocean grows during the northern hemisphere winter and shrinks with the northern hemisphere summer.  The ice extent is usually greatest during the month of March and is the least during the month of September. This image shows the average minimum extent of sea ice over the northern hemisphere during the month of September over 24 seasons, from 1979 - 2002. The red line shows the area where the average sea ice concentration is 15%.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Extent</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Extent</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003186/a003186.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>These images show the minimum extent of sea ice in the northern hemisphere.  There are several images available, including a transparent overlay, a background image from NASA's Blue Marble, and a composite image.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003186/iceextent_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>These images show the minimum extent of sea ice in the northern hemisphere.  There are several images available, including a transparent overlay, a background image from NASA's Blue Marble, and a composite image.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003186/iceextent_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1200" fixedHeight="400">
+						<Name>3186_21918_bg</Name>
+						<Title>Background Image for Minimum Sea Ice Extent (WMS)</Title>
+						<Abstract>Each year, the ice covering the Arctic Ocean grows during the northern hemisphere winter and shrinks with the northern hemisphere summer.  The ice extent is usually greatest during the month of March and is the least during the month of September. This image shows the average minimum extent of sea ice over the northern hemisphere during the month of September over 24 seasons, from 1979 - 2002. The red line shows the area where the average sea ice concentration is 15%.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Extent</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Extent</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003186/a003186.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Monthly Snow Climatology, 1979-2002</Title>
+					<Abstract>The extent of snow and ice that covers the earth's surface in the northern hemisphere grows and shrinks with the seasons.  This animations shows the average snow and ice cover for a given month over a 24-year period, 1979 - 2002.  It shows how often a particular point is covered with snow in a given month.  The SVS Image Server gives each particular image in the animation the last date for which the data was used in creating that image, even though each of the images covers a span of years for a particular month.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Snow</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003185/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003185/a003185.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="600" fixedHeight="200">
+						<Name>3185_21913</Name>
+						<Title>Monthly Snow Climatology, 1979-2002 (600x200 Animation)</Title>
+						<Abstract>The extent of snow and ice that covers the earth's surface in the northern hemisphere grows and shrinks with the seasons.  This animations shows the average snow and ice cover for a given month over a 24-year period, 1979 - 2002.  It shows how often a particular point is covered with snow in a given month.  The SVS Image Server gives each particular image in the animation the last date for which the data was used in creating that image, even though each of the images covers a span of years for a particular month.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Snow</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2002-12">2002-01/2002-12/P1M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003185/a003185.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the average snow cover for a given month over a 23-year period. The frames provide a transparent overlay. A background image taken from NASA's Blue Marble is also provided.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003185/snowC_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the average snow cover for a given month over a 23-year period. The frames provide a transparent overlay. A background image taken from NASA's Blue Marble is also provided.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003185/snowC_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="600" fixedHeight="200">
+						<Name>3185_21913_bg</Name>
+						<Title>Background Image for Monthly Snow Climatology, 1979-2002 (WMS)</Title>
+						<Abstract>The extent of snow and ice that covers the earth's surface in the northern hemisphere grows and shrinks with the seasons.  This animations shows the average snow and ice cover for a given month over a 24-year period, 1979 - 2002.  It shows how often a particular point is covered with snow in a given month.  The SVS Image Server gives each particular image in the animation the last date for which the data was used in creating that image, even though each of the images covers a span of years for a particular month.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Snow</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003185/a003185.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3179_21773</Name>
+					<Title>Scene Identification Compared to Clouds (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The amount of reflection and absorption is critical to the climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the scene identification as measured by CERES during 29 orbits on June 20 and 21 of 2003.  By comparing the incoming solar radiation with the outgoing reflected and thermal radiation, it is possible to identify the type of area being viewed, whether it be land, clouds, ocean, or ice.  This scene identification is used together with the radiation flux measurements to build up a complete picture of the Earth's energy budget over time.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Surface Radiative Properties:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Reflectance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003179/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003179/a003179.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows 29 orbits (2 days) of CERES measurements of regions of solar reflectivity, from June 20-21, 2003.  The measurements are superimposed over a global infrared cloud cover composite from the same period.</Abstract>
+						<LegendURL width="320" height="110">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003179/erbidbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Daily 89 MHz Brightness Temperature, 2002-2003</Title>
+					<Abstract>Sea ice is frozen seawater floating on the surface of the ocean.  Some sea ice is permanent, persisting from year to year, and some is seasonal, melting and refreezing from season to season.  Sea ice is almost always in motion, reacting to ocean currents and to winds.  The AMSR-E instrument on the Aqua satellite acquires high resolution measurements of the 89 GHz brightness temperature near the poles.  Because this is a passive microwave sensor and independent of atmospheric effects, this sensor is able to observe the entire polar region every day, even through clouds and snowfalls .  This animation of AMSR-E 89 GHz brightness temperature in the northern hemisphere during late 2002 and early 2003 clearly shows the dynamic motion of the ice as well as its seasonal expansion and contraction.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003168/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003168/a003168.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1200" fixedHeight="400">
+						<Name>3168_21471</Name>
+						<Title>Daily 89 MHz Brightness Temperature, 2002-2003 (1200x400 Animation)</Title>
+						<Abstract>Sea ice is frozen seawater floating on the surface of the ocean.  Some sea ice is permanent, persisting from year to year, and some is seasonal, melting and refreezing from season to season.  Sea ice is almost always in motion, reacting to ocean currents and to winds.  The AMSR-E instrument on the Aqua satellite acquires high resolution measurements of the 89 GHz brightness temperature near the poles.  Because this is a passive microwave sensor and independent of atmospheric effects, this sensor is able to observe the entire polar region every day, even through clouds and snowfalls .  This animation of AMSR-E 89 GHz brightness temperature in the northern hemisphere during late 2002 and early 2003 clearly shows the dynamic motion of the ice as well as its seasonal expansion and contraction.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-06-22">2002-10-01/2003-06-22/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003168/a003168.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the daily sea ice 89 GHz brightness temperature over the northern hemisphere during the winter 2002-2003.  This version provides only the transparent overlay.</Abstract>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the daily sea ice 89 GHz brightness temperature over the northern hemisphere during the winter 2002-2003.  This version provides the transparent overlay composited with a background image.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1200" fixedHeight="400">
+						<Name>3168_21471_bg</Name>
+						<Title>Background Image for Daily 89 MHz Brightness Temperature, 2002-2003 (WMS)</Title>
+						<Abstract>Sea ice is frozen seawater floating on the surface of the ocean.  Some sea ice is permanent, persisting from year to year, and some is seasonal, melting and refreezing from season to season.  Sea ice is almost always in motion, reacting to ocean currents and to winds.  The AMSR-E instrument on the Aqua satellite acquires high resolution measurements of the 89 GHz brightness temperature near the poles.  Because this is a passive microwave sensor and independent of atmospheric effects, this sensor is able to observe the entire polar region every day, even through clouds and snowfalls .  This animation of AMSR-E 89 GHz brightness temperature in the northern hemisphere during late 2002 and early 2003 clearly shows the dynamic motion of the ice as well as its seasonal expansion and contraction.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003168/a003168.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>September Mean Sea Ice Concentration, 1979-2004</Title>
+					<Abstract>Sea ice is frozen seawater floating on the surface of the ocean.  Some sea ice is permanent, persisting from year to year, and some is seasonal, melting and refreezing from season to season.  Because the extent of the sea ice is important both for the Arctic marine ecology and for the role it plays in the Earth's climate, understanding the variation of this extent during the year and from year-to-year is vital.  Each year, the minimum sea ice extent in the northern hemisphere occurs at the end of summer, in September.  By comparing the extent of the sea ice in September over many successive years, long term trends in the polar climate can be assessed.  This animation shows the mean sea ice concentration in the northern hemisphere in September between 1979 and 2004.  Since 1999, this minimum has shown an ice extent that is consistently 10% to 15% smaller than the average extent over the past 20 years.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Concentration</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Sea Ice Concentration</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003167/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003167/a003167.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="600" fixedHeight="200">
+						<Name>3167_21466</Name>
+						<Title>September Mean Sea Ice Concentration, 1979-2004 (600x200 Animation)</Title>
+						<Abstract>Sea ice is frozen seawater floating on the surface of the ocean.  Some sea ice is permanent, persisting from year to year, and some is seasonal, melting and refreezing from season to season.  Because the extent of the sea ice is important both for the Arctic marine ecology and for the role it plays in the Earth's climate, understanding the variation of this extent during the year and from year-to-year is vital.  Each year, the minimum sea ice extent in the northern hemisphere occurs at the end of summer, in September.  By comparing the extent of the sea ice in September over many successive years, long term trends in the polar climate can be assessed.  This animation shows the mean sea ice concentration in the northern hemisphere in September between 1979 and 2004.  Since 1999, this minimum has shown an ice extent that is consistently 10% to 15% smaller than the average extent over the past 20 years.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Concentration</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Sea Ice Concentration</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2004-09">1979-09/2004-09/P1Y</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003167/a003167.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the mean sea ice concentration in the northern hemisphere during September between 1978 and 2004.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003167/iceC_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the mean sea ice concentration in the northern hemisphere during September between 1978 and 2004.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003167/iceC_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="600" fixedHeight="200">
+						<Name>3167_21466_bg</Name>
+						<Title>Background Image for September Mean Sea Ice Concentration, 1979-2004 (WMS)</Title>
+						<Abstract>Sea ice is frozen seawater floating on the surface of the ocean.  Some sea ice is permanent, persisting from year to year, and some is seasonal, melting and refreezing from season to season.  Because the extent of the sea ice is important both for the Arctic marine ecology and for the role it plays in the Earth's climate, understanding the variation of this extent during the year and from year-to-year is vital.  Each year, the minimum sea ice extent in the northern hemisphere occurs at the end of summer, in September.  By comparing the extent of the sea ice in September over many successive years, long term trends in the polar climate can be assessed.  This animation shows the mean sea ice concentration in the northern hemisphere in September between 1979 and 2004.  Since 1999, this minimum has shown an ice extent that is consistently 10% to 15% smaller than the average extent over the past 20 years.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Concentration</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Sea Ice Concentration</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003167/a003167.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Monthly Sea Ice Climatology, 1979-2002</Title>
+					<Abstract>Sea ice is frozen seawater floating on the surface of the ocean.  Some sea ice is permanent, persisting from year to year, and some is seasonal, melting and refreezing from season to season.  Because the extent of the sea ice is important both for the Arctic marine ecology and for the role it plays in the Earth's climate, understanding the variation of this extent during the year and from year-to-year is vital.  The first step in understanding the behavior of the sea ice is to calculate the average behavior of the sea ice over a single year.  This behavior, called the climatology, is calculated by averaging the sea ice concentration over each month of a long period, in this case from October 1978 through September 2002.  This animation shows the 23-year average sea ice concentration in the northern hemisphere for each particular month of the year.  Generally, the minimum extent of sea ice occurs in September, and the maximum occurs in March.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Concentration</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Sea Ice Concentration</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003166/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003166/a003166.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="600" fixedHeight="200">
+						<Name>3166_21461</Name>
+						<Title>Monthly Sea Ice Climatology, 1979-2002 (600x200 Animation)</Title>
+						<Abstract>Sea ice is frozen seawater floating on the surface of the ocean.  Some sea ice is permanent, persisting from year to year, and some is seasonal, melting and refreezing from season to season.  Because the extent of the sea ice is important both for the Arctic marine ecology and for the role it plays in the Earth's climate, understanding the variation of this extent during the year and from year-to-year is vital.  The first step in understanding the behavior of the sea ice is to calculate the average behavior of the sea ice over a single year.  This behavior, called the climatology, is calculated by averaging the sea ice concentration over each month of a long period, in this case from October 1978 through September 2002.  This animation shows the 23-year average sea ice concentration in the northern hemisphere for each particular month of the year.  Generally, the minimum extent of sea ice occurs in September, and the maximum occurs in March.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Concentration</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Sea Ice Concentration</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2002-12">2002-01/2002-12/P1M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003166/a003166.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the mean sea ice concentration in the northern hemisphere.  Each frame represents the mean value of a particular month from all years between 1979 and 2002.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003166/iceC_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the mean sea ice concentration in the northern hemisphere.  Each frame represents the mean value of a particular month from all years between 1979 and 2002.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003166/iceC_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="600" fixedHeight="200">
+						<Name>3166_21461_bg</Name>
+						<Title>Background Image for Monthly Sea Ice Climatology, 1979-2002 (WMS)</Title>
+						<Abstract>Sea ice is frozen seawater floating on the surface of the ocean.  Some sea ice is permanent, persisting from year to year, and some is seasonal, melting and refreezing from season to season.  Because the extent of the sea ice is important both for the Arctic marine ecology and for the role it plays in the Earth's climate, understanding the variation of this extent during the year and from year-to-year is vital.  The first step in understanding the behavior of the sea ice is to calculate the average behavior of the sea ice over a single year.  This behavior, called the climatology, is calculated by averaging the sea ice concentration over each month of a long period, in this case from October 1978 through September 2002.  This animation shows the 23-year average sea ice concentration in the northern hemisphere for each particular month of the year.  Generally, the minimum extent of sea ice occurs in September, and the maximum occurs in March.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Concentration</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Sea Ice Concentration</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003166/a003166.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="700" fixedHeight="1700">
+					<Name>3141_21208</Name>
+					<Title>Jakobshavn Glacier Ice Flow (700x1700 Animation)</Title>
+					<Abstract>Since measurements of Jakobshavn Isbrae were first taken in 1850, the glacier has gradually receded, finally coming to rest at a certain point for the past 5 decades. However, from 1997 to 2003, the glacier has begun to recede again, this time almost doubling in speed. The finding is important for many reasons. For starters, as more ice moves from glaciers on land into the ocean, it raises sea levels. Jakobshavn Isbrae is Greenland's largest outlet glacier, draining 6.5 percent of Greenland's ice sheet area. The ice stream's speed-up and near-doubling of ice flow from land into the ocean has increased the rate of sea level rise by about .06 millimeters (about .002 inches) per year, or roughly 4 percent of the 20th century rate of sea level increase.  This animation shows a time-lapse sequence of the ice flowing toward the ocean.  In recent years, even ice that has traditionally remained in place is now being pulled down to the edge of land.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Glaciers/Ice Sheets:Glacier Motion/Ice Sheet Motion</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Glaciers/Ice Sheets:Glacier Motion/Ice Sheet Motion</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						<Keyword vocabulary="GCMD">Location:Greenland</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-49.79</westBoundLongitude>
+						<eastBoundLongitude>-49.55</eastBoundLongitude>
+						<southBoundLatitude>69.07</southBoundLatitude>
+						<northBoundLatitude>69.31</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-49.79" miny="69.07" maxx="-49.55" maxy="69.31"/>
+					<Dimension name="time" units="ISO8601" default="2003-05-19">2001-03-17,2001-05-04,2001-05-20,2001-07-07,2002-03-04,2002-03-29,2002-04-28/2002-06-17/P25D,2002-07-01,2002-09-03,2003-03-23,2003-05-19</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003141/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003141/a003141.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows a time-lapse sequence of the glaciers ice flow.  This animation shows only a small section of the full imagery.  The full imagery can be found in the frames area.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+					<Name>3140_21200</Name>
+					<Title>Jakobshavn Glacier Retreat (2048x512 Animation)</Title>
+					<Abstract>Since measurements of Jakobshavn Isbrae were first taken in 1850, the glacier has gradually receded, finally coming to rest at a certain point for the past 5 decades. However, from 1997 to 2003, the glacier has begun to recede again, this time almost doubling in speed. The finding is important for many reasons. For starters, as more ice moves from glaciers on land into the ocean, it raises sea levels. Jakobshavn Isbrae is Greenland's largest outlet glacier, draining 6.5 percent of Greenland's ice sheet area. The ice stream's speed-up and near-doubling of ice flow from land into the ocean has increased the rate of sea level rise by about .06 millimeters (about .002 inches) per year, or roughly 4 percent of the 20th century rate of sea level increase.  This animation shows the recession for three years, from 2001 through 2003.  The line of recession shows the place where the glacier meets the ocean and where pieces calve off and flow away from land toward open water.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Glaciers/Ice Sheets:Glacier Motion/Ice Sheet Motion</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Glaciers/Ice Sheets:Glacier Motion/Ice Sheet Motion</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						<Keyword vocabulary="GCMD">Location:Greenland</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-50.2</westBoundLongitude>
+						<eastBoundLongitude>-49.6</eastBoundLongitude>
+						<southBoundLatitude>69.11</southBoundLatitude>
+						<northBoundLatitude>69.26</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-50.2" miny="69.11" maxx="-49.6" maxy="69.26"/>
+					<Dimension name="time" units="ISO8601" default="2003-05-19">2001-05-20,2002-05-23,2003-05-19</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003140/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003140/a003140.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows the retreat of Jakobshavn glacier in Greenland from 2001 through 2003.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="256">
+					<Name>3138_21175</Name>
+					<Title>QuikSCAT Antarctic Sea Ice (2048x256 Animation)</Title>
+					<Abstract>The sea ice around Antarctica grows dramatically from late February, when large parts of the coast are ice-free, to October, when the amount of sea ice effectively doubles the size of the continent.  The SeaWinds Scatterometer instrument on the QuikSCAT satellite captures this dramatic ebb and flow and shows the sea ice as dynamic and always moving, even in areas that are ice-bound.  This animation shows the sea ice around Antarctica from SeaWinds during 2004.    SeaWinds can see individual icebergs if they are large enough, and a large iceberg can be seen for most of the year south of South America as it moves from the Antarctic Peninsula to the South Sandwich Islands.  Also visible are the very convoluted and dynamic border between the sea ice and the open sea and holes in the sea ice created by the movement around fixed land features such as islands.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Glaciers/Ice Sheets:Icebergs</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Icebergs</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Motion</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>-45</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="-45"/>
+					<Dimension name="time" units="ISO8601" default="2004-12-31">2004-01-01/2004-12-31/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003138/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003138/a003138.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>Sea ice around Antarctica during 2004 as seen by the SeaWinds instrument on QuikSCAT</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="512" fixedHeight="512">
+					<Name>3127_21092</Name>
+					<Title>Pine Island Glacier Calving (512x512 Animation)</Title>
+					<Abstract>The Pine Island Glacier is the largest discharger of ice in Antarctica and the continent's fastest moving glacier.  Even so, when a large crack formed across the glacier in mid 2000, it was surprising how fast the crack expanded, 15 meters per day, and how soon the resulting iceberg broke off, mid-November, 2001.  This iceberg, called B-21, is 42 kilometers by 17 kilometers and contains seven years of glacier outflow released to the sea in a single event.  This series of images from the MISR instrument on the Terra satellite not only shows the crack expanding and the iceberg breakoff, but the seaward moving glacial flow in the parts of the Pine Island Glacier upstream of the crack.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Glaciers/Ice Sheets:Icebergs</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Icebergs</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Motion</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-102.42663</westBoundLongitude>
+						<eastBoundLongitude>-99.97659</eastBoundLongitude>
+						<southBoundLatitude>-75.318278</southBoundLatitude>
+						<northBoundLatitude>-74.623181</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-102.42663" miny="-75.318278" maxx="-99.97659" maxy="-74.623181"/>
+					<Dimension name="time" units="ISO8601" default="2001-11-12">2000-09-16,2000-11-28,2000-12-12,2001-01-01,2001-01-22,2001-02-25,2001-09-08,2001-10-10,2001-10-26,2001-11-04,2001-11-09,2001-11-11,2001-11-12</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003127/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003127/a003127.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>Breakoff of iceberg B-21 from the Pine Island glacier shown in imagery acquired by MISR</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+					<Name>3125_21076</Name>
+					<Title>Mount Kilimanjaro's Vanishing Snow Cap (2048x2048 Animation)</Title>
+					<Abstract>During the last few decades, the permanent snow and ice on the summit of Mount Kilimanjaro has almost completely disappeared, at the rate of about a foot and a half of glacial ice lost per year.  This loss is primarily due to increasing average annual temperatures in the region, and scientists are speculating that the glaciers could be completely gone from Kilimanjaro by the year 2015.  This ice cap formed more that 11,000 years ago, and 80% of the ice fields have been lost in only the last century.  The shrinkage is illustrated here in Landsat images from 1993, 2000, and 2002, with the 1993 image showing a significant ice cap and the more recent images showing only small glaciers and snow regions remaining.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Glaciers/Ice Sheets:Glaciers</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>37.04</westBoundLongitude>
+						<eastBoundLongitude>37.59296</eastBoundLongitude>
+						<southBoundLatitude>-3.35296</southBoundLatitude>
+						<northBoundLatitude>-2.8</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="37.04" miny="-3.35296" maxx="37.59296" maxy="-2.8"/>
+					<Dimension name="time" units="ISO8601" default="2002-06-02">1993-02-17,2000-02-21,2002-06-02</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003125/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003125/a003125.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/kilimanjaro_20021216/index.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>An animation of the shrinking snow cap on Mount Kilimanjaro from Landsat imagery</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="636" fixedHeight="676">
+					<Name>3123_21049</Name>
+					<Title>Larsen Ice Shelf Collapse (636x676 Animation)</Title>
+					<Abstract>The Larsen ice shelf at the northern end of the Antarctic Peninsula experienced a dramatic collapse between January 31 and March 7, 2002. First, melt ponds appeared on the ice shelf during these summer months (seen in blue on the shelf), then a minor collapse of about 800 square kilometers occurred.  Finally, a 2600 square kilometer collapse took place, leaving thousands of sliver icebergs and berg fragments where the shelf formerly lay. Brownish streaks within the floating chunks mark areas where rocks and morainal debris are exposed from the former underside and interior of the shelf.  These images were acquired by the MODIS instrument on the Terra satellite.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Glaciers/Ice Sheets:Icebergs</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Icebergs</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Motion</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-62.55</westBoundLongitude>
+						<eastBoundLongitude>-59.37</eastBoundLongitude>
+						<southBoundLatitude>-66.051</southBoundLatitude>
+						<northBoundLatitude>-64.699</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-62.55" miny="-66.051" maxx="-59.37" maxy="-64.699"/>
+					<Dimension name="time" units="ISO8601" default="2002-03-07">2002-01-31,2002-02-17,2002-02-23,2002-03-05,2002-03-07</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003123/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003123/a003123.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>The Larsen ice shelf collapse in 2002 as seen by MODIS</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3104_20920</Name>
+					<Title>Instantaneous Scene Identification (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The amount of reflection and absorption is critical to th e climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the scene identification as measured by CERES during 29 orbits on June 20 and 21 of 2003.  By comparing the incoming solar radiation with the outgoing reflected and thermal radiation, it is possible to identify the type of area being viewed, whether it be land, clouds, ocean, or ice.  This scene identification is used together with the radiation flux measurements to build up a complete picture of the Earth's energy budget over time.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Surface Radiative Properties:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Reflectance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003104/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003104/a003104.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows 29 orbits (2 days) of CERES
+measurements of regions of solar reflectivity, from June 20-21, 2003.</Abstract>
+						<LegendURL width="320" height="110">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003104/erbidbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3090_20829</Name>
+					<Title>Average Total-sky Albedo (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights.  The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.  This animation shows the monthly average albedo from July, 2002 through June, 2004 as measured by the CERES instrument.  This is the fraction of the incoming solar radiation that is reflected back into space by regions of the Earth.  The regions of highest albedo are regions of snow and ice, followed by desert regions and regions where there is significant cloud cover during the year.  Oceans have the lowest albedo.  It is not possible to measure the albedo during the winter months at the poles, since there is no incoming solar radiation during these times.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Surface Radiative Properties:Albedo</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003090/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003090/a003090.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average total-sky albedo
+from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003090/albedtotbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3089_20823</Name>
+					<Title>Average Clear-sky Albedo (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.  This animation shows the monthly average clear-sky albedo from July, 2002 through June, 2004 as measured by the CERES instrument.  This is the fraction of the incoming solar radiation that is reflected back into space by regions of the Earth on cloud-free days.  The regions of highest albedo are regions of snow and ice, followed by desert regions.  Oceans have the lowest albedo, and reflect very little of the incoming solar radiation.  It is not possible to measure the albedo during the winter months at the poles, since there is no incoming solar radiation during these times.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Surface Radiative Properties:Albedo</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003089/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003089/a003089.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average clear-sky albedo
+from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003089/albedclsbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3081_21495</Name>
+					<Title>Giant Iceberg in McMurdo Sound (1024x1024 Animation)</Title>
+					<Abstract>Iceberg B-15A, in Antarctica's McMurdo Sound, is as large as Long Island, NY (3,000 square kilometers or 1,200 square miles) and is the largest fragment of a much larger iceberg that broke away from the Ross Ice Shelf in March 2000. Iceberg B-15A has trapped sea ice in McMurdo Sound, and the ice build-up presents significant problems for Antarctic penguins, which must now swim great distances to reach open waters and food. These images were taken by the Moderate Resolution Imaging Spectroradiometer (MODIS) instrument on NASA's Aqua and Terra satellites between 2004-11-09 and 2005-01-17.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Glaciers/Ice Sheets:Icebergs</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Icebergs</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Motion</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>163.05</westBoundLongitude>
+						<eastBoundLongitude>171.55</eastBoundLongitude>
+						<southBoundLatitude>-79.75</southBoundLatitude>
+						<northBoundLatitude>-71.25</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="163.05" miny="-79.75" maxx="171.55" maxy="-71.25"/>
+					<Dimension name="time" units="ISO8601" default="2005-03-21T04:50Z">2004-11-09T21:10Z,2004-11-15T20:35Z,2004-11-19T20:10Z,2004-11-21T04:00Z,2004-11-26T20:15Z,2004-12-02T21:20Z,2004-12-04T21:05Z,2004-12-07T21:35Z,2004-12-10T20:30Z,2004-12-13T12:50Z,2004-12-20T21:05Z,2004-12-23T21:35Z,2005-01-02T20:35Z,2005-01-11T20:30Z,2005-01-12T21:10Z,2005-01-14T21:00Z,2005-01-17T21:30Z,2005-01-18T20:35Z,2005-01-21T21:05Z,2005-01-26T21:25Z,2005-01-29T04:20Z,2005-01-30T05:05Z,2005-01-31T05:45Z,2005-02-02T03:55Z,2005-02-14T21:55Z,2005-02-19T20:35Z,2005-02-25T21:35Z,2005-02-26T20:40Z,2005-03-21T04:50Z</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003081/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003081/a003081.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/centers/goddard/earthandsun/ice_berg_ram.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows iceberg B-15A drifting in McMurdo Sound.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Sea Ice Surface Temperature with Regions of No Data Indicated</Title>
+					<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds, in cloud-covered regions or areas with suspect data quality, the prior day's value is retained until a valid data reading is obtained. The satellite instruments are also unable to collect data in the dark, so the region around the pole is shown here with a grey cap that grows and shrinks, indicating the region in polar darkness. The color of the sea ice indicates the sea ice surface temperature.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003037/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003037/a003037.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+						<Name>3037_19372</Name>
+						<Title>Sea Ice Surface Temperature with Regions of No Data Indicated (2048x512 Animation)</Title>
+						<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds, in cloud-covered regions or areas with suspect data quality, the prior day's value is retained until a valid data reading is obtained. The satellite instruments are also unable to collect data in the dark, so the region around the pole is shown here with a grey cap that grows and shrinks, indicating the region in polar darkness. The color of the sea ice indicates the sea ice surface temperature.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>40</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="40" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-07-01">2002-09-01/2003-07-01/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003037/a003037.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the temperature of the sea ice surface near the north pole in 2002-2003.  The region is covered by darkness when no measurements were taken.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003037/seaice_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the temperature of the sea ice surface near the north pole in 2002-2003.  The region is covered by darkness when no measurements were taken.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003037/seaice_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+						<Name>3037_19372_bg</Name>
+						<Title>Background Image for Sea Ice Surface Temperature with Regions of No Data Indicated (WMS)</Title>
+						<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds, in cloud-covered regions or areas with suspect data quality, the prior day's value is retained until a valid data reading is obtained. The satellite instruments are also unable to collect data in the dark, so the region around the pole is shown here with a grey cap that grows and shrinks, indicating the region in polar darkness. The color of the sea ice indicates the sea ice surface temperature.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>40</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="40" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003037/a003037.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Daily Sea Ice Surface Temperature 2002-2003</Title>
+					<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds or in the dark, in dark or cloud-covered regions or areas with suspect data quality, the prior day's value is retained until a valid data reading is obtained. The color of the sea ice indicates the sea ice surface temperature.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003036/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003036/a003036.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+						<Name>3036_19363</Name>
+						<Title>Daily Sea Ice Surface Temperature 2002-2003 (2048x512 Animation)</Title>
+						<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds or in the dark, in dark or cloud-covered regions or areas with suspect data quality, the prior day's value is retained until a valid data reading is obtained. The color of the sea ice indicates the sea ice surface temperature.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>40</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="40" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-07-01">2002-09-01/2003-07-01/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003036/a003036.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the temperature of the sea ice near the north pole in 2002-2003.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003036/seaice_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the temperature of the sea ice near the north pole in 2002-2003.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003036/seaice_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+						<Name>3036_19363_bg</Name>
+						<Title>Background Image for Daily Sea Ice Surface Temperature 2002-2003 (WMS)</Title>
+						<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds or in the dark, in dark or cloud-covered regions or areas with suspect data quality, the prior day's value is retained until a valid data reading is obtained. The color of the sea ice indicates the sea ice surface temperature.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>40</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="40" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003036/a003036.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Snow Cover over North America during the Winter of 2001-2002</Title>
+					<Abstract>The amount of snow covering the land has both short and long term effects on the environment.  From season to season, snow coverage and depth affect soil moisture and water availability, which directly influence agriculture, wildfire occurrences, and drought.  In the long term, the part of the Earth's surface covered by snow reflects up to 80 or 90 percent of the incoming solar radiation as opposed to the 10 or 20 percent that uncovered land reflects, and this has important consequences for the Earth's climate.  Satellites identify the snow cover precisely by looking at the difference between light reflected off snow in the visible and the infrared wavelengths.  This visualization shows the snow cover over North America from October, 2001, through April, 2002, as measured by the MODIS instrument on the Terra satellite.  Since this instrument cannot measure snow cover through clouds, this visualization designates an area as covered by snow when the instrument takes a valid measurement showing greater than 50% snow coverage in that area.  This area is assumed to be covered in snow until the instrument takes a valid measurement showing less than 40% coverage in that same area.  In this animation, snow coverage is measured every 8 days.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003027/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003027/a003027.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://modis-snow-ice.gsfc.nasa.gov/intro.html"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3027_21479</Name>
+						<Title>Snow Cover over North America during the Winter of 2001-2002 (1024x512 Animation)</Title>
+						<Abstract>The amount of snow covering the land has both short and long term effects on the environment.  From season to season, snow coverage and depth affect soil moisture and water availability, which directly influence agriculture, wildfire occurrences, and drought.  In the long term, the part of the Earth's surface covered by snow reflects up to 80 or 90 percent of the incoming solar radiation as opposed to the 10 or 20 percent that uncovered land reflects, and this has important consequences for the Earth's climate.  Satellites identify the snow cover precisely by looking at the difference between light reflected off snow in the visible and the infrared wavelengths.  This visualization shows the snow cover over North America from October, 2001, through April, 2002, as measured by the MODIS instrument on the Terra satellite.  Since this instrument cannot measure snow cover through clouds, this visualization designates an area as covered by snow when the instrument takes a valid measurement showing greater than 50% snow coverage in that area.  This area is assumed to be covered in snow until the instrument takes a valid measurement showing less than 40% coverage in that same area.  In this animation, snow coverage is measured every 8 days.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-170</westBoundLongitude>
+							<eastBoundLongitude>-50</eastBoundLongitude>
+							<southBoundLatitude>23</southBoundLatitude>
+							<northBoundLatitude>83</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-170" miny="23" maxx="-50" maxy="83"/>
+						<Dimension name="time" units="ISO8601" default="2002-04-23">2001-10-16/2001-12-27/P8D,2002-01-01/2002-04-23/P8D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003027/a003027.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://modis-snow-ice.gsfc.nasa.gov/intro.html"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows snow cover over North America during the winter of 2001-2002.  Data was collected every 8 days, and the results are shown fading into the next valid data set.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003027/snow_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows snow cover over North America during the winter of 2001-2002.  Data was collected every 8 days, and the results are shown fading into the next valid data set.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003027/snow_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3027_21479_bg</Name>
+						<Title>Background Image for Snow Cover over North America during the Winter of 2001-2002 (WMS)</Title>
+						<Abstract>The amount of snow covering the land has both short and long term effects on the environment.  From season to season, snow coverage and depth affect soil moisture and water availability, which directly influence agriculture, wildfire occurrences, and drought.  In the long term, the part of the Earth's surface covered by snow reflects up to 80 or 90 percent of the incoming solar radiation as opposed to the 10 or 20 percent that uncovered land reflects, and this has important consequences for the Earth's climate.  Satellites identify the snow cover precisely by looking at the difference between light reflected off snow in the visible and the infrared wavelengths.  This visualization shows the snow cover over North America from October, 2001, through April, 2002, as measured by the MODIS instrument on the Terra satellite.  Since this instrument cannot measure snow cover through clouds, this visualization designates an area as covered by snow when the instrument takes a valid measurement showing greater than 50% snow coverage in that area.  This area is assumed to be covered in snow until the instrument takes a valid measurement showing less than 40% coverage in that same area.  In this animation, snow coverage is measured every 8 days.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-170</westBoundLongitude>
+							<eastBoundLongitude>-50</eastBoundLongitude>
+							<southBoundLatitude>23</southBoundLatitude>
+							<northBoundLatitude>83</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-170" miny="23" maxx="-50" maxy="83"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003027/a003027.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://modis-snow-ice.gsfc.nasa.gov/intro.html"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Snow Cover over the Northern Hemisphere during the Winter of 2002-2003</Title>
+					<Abstract>The amount of snow covering the land has both short and long term effects on the environment.  From season to season, snow coverage and depth affect soil moisture and water availability, which directly influence agriculture, wildfire occurrences, and drought.  In the long term, the part of the Earth's surface covered by snow reflects up to 80 or 90 percent of the incoming solar radiation as opposed to the 10 or 20 percent that uncovered land reflects, and this has important consequences for the Earth's climate.  Satellites identify the snow cover precisely by looking at the difference between light reflected off snow in the visible and the infrared wavelengths.  This visualization shows the snow cover in the Northern Hemisphere from September, 2002, through June, 2003, as measured by the MODIS instrument on the Terra satellite.  Since this instrument cannot measure snow cover through clouds, this visualization designates an area as covered by snow when the instrument takes a valid measurement showing greater than 50% snow coverage in that area.  This area is assumed to be snow covered until the instrument takes a valid measurement showing less than 40% snow coverage in that same area.  It is possible to see topographic features in the snow cover such as the Rocky Mountains and the Himalayas, and large snow coverage paths from storms that cross the plains of the United States and Russia can also be seen.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="SVS">Snow Cover</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002899/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002899/a002899.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://modis-snow-ice.gsfc.nasa.gov/intro.html"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+						<Name>2899_17454</Name>
+						<Title>Snow Cover over the Northern Hemisphere during the Winter of 2002-2003 (2048x512 Animation)</Title>
+						<Abstract>The amount of snow covering the land has both short and long term effects on the environment.  From season to season, snow coverage and depth affect soil moisture and water availability, which directly influence agriculture, wildfire occurrences, and drought.  In the long term, the part of the Earth's surface covered by snow reflects up to 80 or 90 percent of the incoming solar radiation as opposed to the 10 or 20 percent that uncovered land reflects, and this has important consequences for the Earth's climate.  Satellites identify the snow cover precisely by looking at the difference between light reflected off snow in the visible and the infrared wavelengths.  This visualization shows the snow cover in the Northern Hemisphere from September, 2002, through June, 2003, as measured by the MODIS instrument on the Terra satellite.  Since this instrument cannot measure snow cover through clouds, this visualization designates an area as covered by snow when the instrument takes a valid measurement showing greater than 50% snow coverage in that area.  This area is assumed to be snow covered until the instrument takes a valid measurement showing less than 40% snow coverage in that same area.  It is possible to see topographic features in the snow cover such as the Rocky Mountains and the Himalayas, and large snow coverage paths from storms that cross the plains of the United States and Russia can also be seen.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="SVS">Snow Cover</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>0</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="0" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-06-30">2002-09-01/2003-06-30/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002899/a002899.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://modis-snow-ice.gsfc.nasa.gov/intro.html"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows daily snow and ice over the Northern Hemisphere during the winter of 2002-2003.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002899/modissnowbar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows daily snow and ice over the Northern Hemisphere during the winter of 2002-2003.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002899/modissnowbar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+						<Name>2899_17454_bg</Name>
+						<Title>Background Image for Snow Cover over the Northern Hemisphere during the Winter of 2002-2003 (WMS)</Title>
+						<Abstract>The amount of snow covering the land has both short and long term effects on the environment.  From season to season, snow coverage and depth affect soil moisture and water availability, which directly influence agriculture, wildfire occurrences, and drought.  In the long term, the part of the Earth's surface covered by snow reflects up to 80 or 90 percent of the incoming solar radiation as opposed to the 10 or 20 percent that uncovered land reflects, and this has important consequences for the Earth's climate.  Satellites identify the snow cover precisely by looking at the difference between light reflected off snow in the visible and the infrared wavelengths.  This visualization shows the snow cover in the Northern Hemisphere from September, 2002, through June, 2003, as measured by the MODIS instrument on the Terra satellite.  Since this instrument cannot measure snow cover through clouds, this visualization designates an area as covered by snow when the instrument takes a valid measurement showing greater than 50% snow coverage in that area.  This area is assumed to be snow covered until the instrument takes a valid measurement showing less than 40% snow coverage in that same area.  It is possible to see topographic features in the snow cover such as the Rocky Mountains and the Himalayas, and large snow coverage paths from storms that cross the plains of the United States and Russia can also be seen.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="SVS">Snow Cover</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>0</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="0" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002899/a002899.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://modis-snow-ice.gsfc.nasa.gov/intro.html"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+			</Layer>
+			<Layer>
+				<Title>Human Dimensions</Title>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Before and During the Great Mississippi Flood of 1993</Title>
+					<Abstract>During the first half of 1993, heavy rains in the midwest United States caused the greatest flood ever recorded on the Upper Mississippi.  The Mississippi River remained above flood stage from April through September of that year, and many of the dykes and water control systems along the rivers in this region were overwhelmed.  These images from the Landsat-5 Thematic Mapper clearly show the flooded regions near St. Louis.  The pink areas near the flooded regions show the scoured land from which the flood waters have receded.  A comparison of the image during the flood with an image from a year before clearly shows the preponderance of cultivated fields in the lowland flooded region, evidence that floods and river meanderings have deposited rich soil in these regions in the past.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="DLESE">Hydrology</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Hydrological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Floods</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Rivers/Streams</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003352/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003352/a003352.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://earthobservatory.nasa.gov/Newsroom/NewImages/images.php3?img_id=16881"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+						<Name>3352_24736</Name>
+						<Title> (2048x2048 Animation)</Title>
+						<Abstract>During the first half of 1993, heavy rains in the midwest United States caused the greatest flood ever recorded on the Upper Mississippi.  The Mississippi River remained above flood stage from April through September of that year, and many of the dykes and water control systems along the rivers in this region were overwhelmed.  These images from the Landsat-5 Thematic Mapper clearly show the flooded regions near St. Louis.  The pink areas near the flooded regions show the scoured land from which the flood waters have receded.  A comparison of the image during the flood with an image from a year before clearly shows the preponderance of cultivated fields in the lowland flooded region, evidence that floods and river meanderings have deposited rich soil in these regions in the past.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Human geography</Keyword>
+							<Keyword vocabulary="DLESE">Hydrology</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Hydrological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Floods</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Rivers/Streams</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-91.105179</westBoundLongitude>
+							<eastBoundLongitude>-89.901729</eastBoundLongitude>
+							<southBoundLatitude>38.372716</southBoundLatitude>
+							<northBoundLatitude>39.313252</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-91.105179" miny="38.372716" maxx="-89.901729" maxy="39.313252"/>
+						<Dimension name="time" units="ISO8601" default="1993-08-19">1991-08-14,1993-08-19</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003352/a003352.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://earthobservatory.nasa.gov/Newsroom/NewImages/images.php3?img_id=16881"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>This animation shows two images from Landsat-5 of the region around St. Louis, Missouri, one from 1991 during normal conditions and one during the flood of 1993.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="3390" fixedHeight="3390">
+						<Name>3352_24738</Name>
+						<Title> (3390x3390 Image)</Title>
+						<Abstract>During the first half of 1993, heavy rains in the midwest United States caused the greatest flood ever recorded on the Upper Mississippi.  The Mississippi River remained above flood stage from April through September of that year, and many of the dykes and water control systems along the rivers in this region were overwhelmed.  These images from the Landsat-5 Thematic Mapper clearly show the flooded regions near St. Louis.  The pink areas near the flooded regions show the scoured land from which the flood waters have receded.  A comparison of the image during the flood with an image from a year before clearly shows the preponderance of cultivated fields in the lowland flooded region, evidence that floods and river meanderings have deposited rich soil in these regions in the past.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Human geography</Keyword>
+							<Keyword vocabulary="DLESE">Hydrology</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Hydrological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Floods</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Rivers/Streams</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-91.105179</westBoundLongitude>
+							<eastBoundLongitude>-89.901729</eastBoundLongitude>
+							<southBoundLatitude>38.372716</southBoundLatitude>
+							<northBoundLatitude>39.313252</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-91.105179" miny="38.372716" maxx="-89.901729" maxy="39.313252"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003352/a003352.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://earthobservatory.nasa.gov/Newsroom/NewImages/images.php3?img_id=16881"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>An image from the Landsat-5 Thematic Mapper of the region around St. Louis Missouri on August 19, 1993, just after the peak of the Mississippi flood.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="3390" fixedHeight="3390">
+						<Name>3352_24737</Name>
+						<Title> (3390x3390 Image)</Title>
+						<Abstract>During the first half of 1993, heavy rains in the midwest United States caused the greatest flood ever recorded on the Upper Mississippi.  The Mississippi River remained above flood stage from April through September of that year, and many of the dykes and water control systems along the rivers in this region were overwhelmed.  These images from the Landsat-5 Thematic Mapper clearly show the flooded regions near St. Louis.  The pink areas near the flooded regions show the scoured land from which the flood waters have receded.  A comparison of the image during the flood with an image from a year before clearly shows the preponderance of cultivated fields in the lowland flooded region, evidence that floods and river meanderings have deposited rich soil in these regions in the past.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Human geography</Keyword>
+							<Keyword vocabulary="DLESE">Hydrology</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Hydrological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Floods</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Rivers/Streams</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-91.105179</westBoundLongitude>
+							<eastBoundLongitude>-89.901729</eastBoundLongitude>
+							<southBoundLatitude>38.372716</southBoundLatitude>
+							<northBoundLatitude>39.313252</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-91.105179" miny="38.372716" maxx="-89.901729" maxy="39.313252"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003352/a003352.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://earthobservatory.nasa.gov/Newsroom/NewImages/images.php3?img_id=16881"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>An image from the Landsat-5 Thematic Mapper of the region around St. Louis, Missouri, on August 14, 1991, one year before the Mississippi flood.  The three rivers seen in this image are, from top to bottom, the Illinois, the Mississippi, and the Missouri.  St. Louis is just south of the Missouri River in the center of this image.</Abstract>
+						</Style>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3255_22652</Name>
+					<Title>Aqua MODIS Imagery of Hurricane Katrina (1024x1024 Animation)</Title>
+					<Abstract>Low earth-orbiting satellites, such as Aqua, usually see any place on Earth no more than once a day.  This daily sequence of color images from the MODIS instrument on Aqua shows the Gulf of Mexico during the period of Hurricane Katrina, from August 23 to August 30, 2005.  The gaps in the MODIS imagery occur between successive orbits, about 90 minutes apart, and are filled in in this animation using high-resolution visible imagery from GOES-12.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-100</westBoundLongitude>
+						<eastBoundLongitude>-70</eastBoundLongitude>
+						<southBoundLatitude>10</southBoundLatitude>
+						<northBoundLatitude>40</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-70" maxy="40"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T17:45Z">2005-08-23T17:45Z/2005-08-30T17:45Z/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003255/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003255/a003255.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Imagery of Hurricane Katrina from August 23, 2005 to August 30, 2005 from the MODIS Instrument on the Aqua satellite.  Gaps in the MODIS imagery have been filled in with visible imagery from GOES-12.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3254_22657</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Visible Close-up (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  The Imager takes a pattern of pictures of parts of the Earth in several wavelengths all day, measurements that are vital in weather forecasting.  This animation shows a daily sequence of GOES-12 images in the visible wavelengths, from 0.52 to 0.72 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  At one kilometer resolution, the visible band measurement is the highest resolution data from the Imager, which accounts for the very high level of detail in these images.  For this animation, the cloud data was extracted from GOES image and laid over a background color image of the southeast United States.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-100</westBoundLongitude>
+						<eastBoundLongitude>-70</eastBoundLongitude>
+						<southBoundLatitude>10</southBoundLatitude>
+						<northBoundLatitude>40</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-70" maxy="40"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T17:45Z">2005-08-23T17:45Z/2005-08-30T17:45Z/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003254/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003254/a003254.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Imagery of Hurricane Katrina from August 23, 2005 to August 30, 2005 from the Imager instrument on GOES-12.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>TRMM Microwave Measurements during Hurricane Katrina: Horizontal Polarization</Title>
+					<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows eight days of global TMI 85 GHz measurements in the Gulf of Mexico during Hurricane Katrina.  The hurricane Katrina rainbands clearly show up in these images.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003250/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003250/a003250.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3250_22668</Name>
+						<Title>TRMM Microwave Measurements during Hurricane Katrina: Horizontal Polarization (512x512 Animation)</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows eight days of global TMI 85 GHz measurements in the Gulf of Mexico during Hurricane Katrina.  The hurricane Katrina rainbands clearly show up in these images.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-100</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>10</southBoundLatitude>
+							<northBoundLatitude>40</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-70" maxy="40"/>
+						<Dimension name="time" units="ISO8601" default="2005-08-30T22Z">2005-08-22T24Z,2005-08-23T05Z,2005-08-23T23Z,2005-08-24T06Z,2005-08-24T22Z,2005-08-25T05Z,2005-08-25T23Z,2005-08-26T04Z,2005-08-26T22Z,2005-08-27T04Z,2005-08-27T21Z,2005-08-28T04Z,2005-08-28T22Z,2005-08-29T03Z,2005-08-29T22Z,2005-08-30T02Z,2005-08-30T22Z</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003250/a003250.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Horizontally polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 22, 2005 through August 30, 2005, during Hurricane Katrina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003250/tmi_85_bar2.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Horizontally polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 22, 2005 through August 30, 2005, during Hurricane Katrina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003250/tmi_85_bar2.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3250_22668_bg</Name>
+						<Title>Background Image for TRMM Microwave Measurements during Hurricane Katrina: Horizontal Polarization</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows eight days of global TMI 85 GHz measurements in the Gulf of Mexico during Hurricane Katrina.  The hurricane Katrina rainbands clearly show up in these images.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-100</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>10</southBoundLatitude>
+							<northBoundLatitude>40</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-70" maxy="40"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003250/a003250.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>TRMM Microwave Measurements during Hurricane Katrina: Vertical Polarization</Title>
+					<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows eight days of global TMI 85 GHz measurements in the Gulf of Mexico during Hurricane Katrina.  The hurricane Katrina rainbands clearly show up in these images.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003249/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003249/a003249.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3249_22662</Name>
+						<Title>TRMM Microwave Measurements during Hurricane Katrina: Vertical Polarization (512x512 Animation)</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows eight days of global TMI 85 GHz measurements in the Gulf of Mexico during Hurricane Katrina.  The hurricane Katrina rainbands clearly show up in these images.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-100</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>10</southBoundLatitude>
+							<northBoundLatitude>40</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-70" maxy="40"/>
+						<Dimension name="time" units="ISO8601" default="2005-08-30T22Z">2005-08-22T24Z,2005-08-23T05Z,2005-08-23T23Z,2005-08-24T06Z,2005-08-24T22Z,2005-08-25T05Z,2005-08-25T23Z,2005-08-26T04Z,2005-08-26T22Z,2005-08-27T04Z,2005-08-27T21Z,2005-08-28T04Z,2005-08-28T22Z,2005-08-29T03Z,2005-08-29T22Z,2005-08-30T02Z,2005-08-30T22Z</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003249/a003249.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Vertically polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 22, 2005 through August 30, 2005, during Hurricane Katrina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003249/tmi_85_bar2.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Vertically polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 22, 2005 through August 30, 2005, during Hurricane Katrina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003249/tmi_85_bar2.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3249_22662_bg</Name>
+						<Title>Background Image for TRMM Microwave Measurements during Hurricane Katrina: Vertical Polarization</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows eight days of global TMI 85 GHz measurements in the Gulf of Mexico during Hurricane Katrina.  The hurricane Katrina rainbands clearly show up in these images.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-100</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>10</southBoundLatitude>
+							<northBoundLatitude>40</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-70" maxy="40"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003249/a003249.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>TRMM Microwave Brightness Temperature Progression during Hurricane Katrina: Horizontal Polarization</Title>
+					<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation builds up four days of global TMI 85 GHz measurements.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003248/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003248/a003248.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3248_22701</Name>
+						<Title>TRMM Microwave Brightness Temperature Progression during Hurricane Katrina: Horizontal Polarization (1024x256 Animation)</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation builds up four days of global TMI 85 GHz measurements.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<Dimension name="time" units="ISO8601" default="2005-08-30T22:45Z">2005-08-26T22:45Z/2005-08-30T22:45Z/PT5M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003248/a003248.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Global horizontally polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="640" height="27">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003248/hw_a003248.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Global horizontally polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="640" height="27">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003248/hw_a003248.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3248_22701_bg</Name>
+						<Title>Background Image for TRMM Microwave Brightness Temperature Progression during Hurricane Katrina: Horizontal Polarization</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation builds up four days of global TMI 85 GHz measurements.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003248/a003248.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>TRMM Microwave Brightness Temperature Progression during Hurricane Katrina: Vertical Polarization</Title>
+					<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation builds up four days of global TMI 85 GHz measurements.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003247/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003247/a003247.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3247_22695</Name>
+						<Title>TRMM Microwave Brightness Temperature Progression during Hurricane Katrina: Vertical Polarization (1024x256 Animation)</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation builds up four days of global TMI 85 GHz measurements.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<Dimension name="time" units="ISO8601" default="2005-08-30T22:45Z">2005-08-26T22:45Z/2005-08-30T22:45Z/PT5M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003247/a003247.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Global vertically polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003247/tmi_85_bar1.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Global vertically polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003247/tmi_85_bar1.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3247_22695_bg</Name>
+						<Title>Background Image for TRMM Microwave Brightness Temperature Progression during Hurricane Katrina: Vertical Polarization</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation builds up four days of global TMI 85 GHz measurements.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003247/a003247.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>TRMM Microwave Brightness Temperature Swath during Hurricane Katrina: Horizontal Polarization</Title>
+					<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows four days of TMI 85 GHz measurements, one orbit at a time.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003243/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003243/a003243.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3243_22680</Name>
+						<Title>TRMM Microwave Brightness Temperature Swath during Hurricane Katrina: Horizontal Polarization (1024x256 Animation)</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows four days of TMI 85 GHz measurements, one orbit at a time.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<Dimension name="time" units="ISO8601" default="2005-08-30T22:45Z">2005-08-26T22:45Z/2005-08-30T22:45Z/PT5M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003243/a003243.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Global horizontally polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="640" height="27">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003243/hw_a003243.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Global horizontally polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="640" height="27">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003243/hw_a003243.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3243_22680_bg</Name>
+						<Title>Background Image for TRMM Microwave Brightness Temperature Swath during Hurricane Katrina: Horizontal Polarization</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows four days of TMI 85 GHz measurements, one orbit at a time.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003243/a003243.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>TRMM Microwave Brightness Temperature Swath during Hurricane Katrina: Vertical Polarization</Title>
+					<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows four days of TMI 85 GHz measurements, one orbit at a time.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003242/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003242/a003242.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3242_22674</Name>
+						<Title>TRMM Microwave Brightness Temperature Swath during Hurricane Katrina: Vertical Polarization (1024x256 Animation)</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows four days of TMI 85 GHz measurements, one orbit at a time.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<Dimension name="time" units="ISO8601" default="2005-08-30T22:45Z">2005-08-26T22:45Z/2005-08-30T22:45Z/PT5M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003242/a003242.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Global vertically polarized 85GHz microwave brightness temperatures  measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003242/tmi_85_bar1.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Global vertically polarized 85GHz microwave brightness temperatures  measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003242/tmi_85_bar1.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3242_22674_bg</Name>
+						<Title>Background Image for TRMM Microwave Brightness Temperature Swath during Hurricane Katrina: Vertical Polarization</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows four days of TMI 85 GHz measurements, one orbit at a time.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003242/a003242.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3240_24673</Name>
+					<Title>Hurricane Katrina Sea Surface Temperature (1024x1024 Animation)</Title>
+					<Abstract>This visualization shows the cold water trail left by Hurricane Katrina. The data is from August 23 through 30, 2005.  The colors on the ocean represent the sea surface temperatures, and satellite images of the hurricane clouds are laid over the temperatures to clearly show the hurricane positions. Orange and red depict regions that are 82 degrees F and higher, where the ocean is warm enough for hurricanes to form. Hurricane winds are sustained by the heat energy of the ocean, so the ocean is cooled as the hurricane passes and the energy is extracted to power the winds.  The sea surface temperatures are 3-day moving averages based on the AMSR-E instrument on the Aqua satellite, while the cloud images were taken by the Imager on the GOES-12 satellite.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Hydrological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-100</westBoundLongitude>
+						<eastBoundLongitude>-60</eastBoundLongitude>
+						<southBoundLatitude>10</southBoundLatitude>
+						<northBoundLatitude>50</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-60" maxy="50"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T08:45Z">2005-08-23T08:45Z/2005-08-30T08:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003240/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003240/a003240.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 infrared imagery over AMSR-E sea surface temperature for Hurricane Katrina, from August 23, 2005 to August 30, 2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003240/sst2005_cbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3239_24672</Name>
+					<Title>Hurricane Katrina Rain Accumulation (1024x1024 Animation)</Title>
+					<Abstract>This animation shows rain accumulation from Hurricane Katrina from August 23 through 30, 2005 based on data from the Tropical Rainfall Measuring Mission (TRMM) Multisatellite Precipitation Analysis.  Satellite cloud data from NOAA/GOES is overlaid for context. The accumulation is shown in colors ranging from green (less than 30 mm of rain) through red (80 mm or more). The TRMM satellite, using the world's only spaceborne rain radar and other microwave instruments, measures rainfall over the ocean.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="SVS">Rainfall</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-100</westBoundLongitude>
+						<eastBoundLongitude>-60</eastBoundLongitude>
+						<southBoundLatitude>10</southBoundLatitude>
+						<northBoundLatitude>50</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-60" maxy="50"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T08:45Z">2005-08-23T08:45Z/2005-08-30T08:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003239/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003239/a003239.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 infrared imagery over TRMM rainfall accumulation for Hurricane Katrina, from August 23, 2005 to August 30, 2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003239/rain_accum2005_cbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Progression of Hurricane Katrina, 2005</Title>
+					<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3238_23161</Name>
+						<Title>Hurricane Katrina Overview (1024x1024 Image)</Title>
+						<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-101.0542</westBoundLongitude>
+							<eastBoundLongitude>-63.5523</eastBoundLongitude>
+							<southBoundLatitude>14.362</southBoundLatitude>
+							<northBoundLatitude>55.5656</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-101.0542" miny="14.362" maxx="-63.5523" maxy="55.5656"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Images of Hurricane Katrina aquired by the MODIS instruments on Terra and Aqua from August 24 to August 31, 2005. To get the individual images, follow the 'Sequence' link below. To get the geographical registration information, follow the 'DEPC metadata' link near the bottom of the page.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3238_23161</Name>
+						<Title>Hurricane Katrina (Sequence)</Title>
+						<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-101.0542</westBoundLongitude>
+							<eastBoundLongitude>-63.5523</eastBoundLongitude>
+							<southBoundLatitude>14.362</southBoundLatitude>
+							<northBoundLatitude>55.5656</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-101.0542" miny="14.362" maxx="-63.5523" maxy="55.5656"/>
+						<Dimension name="sequence" units="" default="TIME(2005-08-31T15:50Z)XMIN(-86.4449)YMIN(34.4307)XMAX(-63.5523)YMAX(55.5656)WIDTH(1024)HEIGHT(1024)">TIME(2005-08-24T15:50Z)XMIN(-81.9448)YMIN(19.0534)XMAX(-68.0533)YMAX(28.9458)WIDTH(1024)HEIGHT(1024),TIME(2005-08-25T16:30Z)XMIN(-90.293)YMIN(19.3493)XMAX(-73.7076)YMAX(32.6478)WIDTH(1024)HEIGHT(1024),TIME(2005-08-26T18:45Z)XMIN(-89.9448)YMIN(14.905)XMAX(-76.0534)YMAX(31.0929)WIDTH(1024)HEIGHT(1024),TIME(2005-08-27T16:20Z)XMIN(-90.9448)YMIN(16.906)XMAX(-77.0534)YMAX(33.0939)WIDTH(1024)HEIGHT(1024),TIME(2005-08-28T17:00Z)XMIN(-101.0542)YMIN(14.362)XMAX(-80.5445)YMAX(35.6374)WIDTH(1024)HEIGHT(1024),TIME(2005-08-29T19:15Z)XMIN(-98.6447)YMIN(20.4322)XMAX(-79.9538)YMAX(41.5655)WIDTH(1024)HEIGHT(1024),TIME(2005-08-30T16:45Z)XMIN(-98.6447)YMIN(20.4322)XMAX(-79.9538)YMAX(41.5655)WIDTH(1024)HEIGHT(1024),TIME(2005-08-31T15:50Z)XMIN(-86.4449)YMIN(34.4307)XMAX(-63.5523)YMAX(55.5656)WIDTH(1024)HEIGHT(1024)</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Images of Hurricane Katrina aquired by the MODIS instruments on Terra and Aqua from August 24 to August 31, 2005. To get the individual images, follow the 'Sequence' link below. To get the geographical registration information, follow the 'DEPC metadata' link near the bottom of the page.</Abstract>
+						</Style>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3238_22718_705010</Name>
+							<Title>2005-08-24 15:50</Title>
+							<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-81.9448</westBoundLongitude>
+								<eastBoundLongitude>-68.0533</eastBoundLongitude>
+								<southBoundLatitude>19.0534</southBoundLatitude>
+								<northBoundLatitude>28.9458</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-81.9448" miny="19.0534" maxx="-68.0533" maxy="28.9458"/>
+							<Dimension name="time" units="ISO8601" default="2005-08-24T15:50Z">2005-08-24T15:50Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-08-24T15:50Z)XMIN(-81.9448)YMIN(19.0534)XMAX(-68.0533)YMAX(28.9458)WIDTH(1024)HEIGHT(1024)">TIME(2005-08-24T15:50Z)XMIN(-81.9448)YMIN(19.0534)XMAX(-68.0533)YMAX(28.9458)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3238_22718_705011</Name>
+							<Title>2005-08-25 16:30</Title>
+							<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-90.293</westBoundLongitude>
+								<eastBoundLongitude>-73.7076</eastBoundLongitude>
+								<southBoundLatitude>19.3493</southBoundLatitude>
+								<northBoundLatitude>32.6478</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-90.293" miny="19.3493" maxx="-73.7076" maxy="32.6478"/>
+							<Dimension name="time" units="ISO8601" default="2005-08-25T16:30Z">2005-08-25T16:30Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-08-25T16:30Z)XMIN(-90.293)YMIN(19.3493)XMAX(-73.7076)YMAX(32.6478)WIDTH(1024)HEIGHT(1024)">TIME(2005-08-25T16:30Z)XMIN(-90.293)YMIN(19.3493)XMAX(-73.7076)YMAX(32.6478)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3238_22718_705012</Name>
+							<Title>2005-08-26 18:45</Title>
+							<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-89.9448</westBoundLongitude>
+								<eastBoundLongitude>-76.0534</eastBoundLongitude>
+								<southBoundLatitude>14.905</southBoundLatitude>
+								<northBoundLatitude>31.0929</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-89.9448" miny="14.905" maxx="-76.0534" maxy="31.0929"/>
+							<Dimension name="time" units="ISO8601" default="2005-08-26T18:45Z">2005-08-26T18:45Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-08-26T18:45Z)XMIN(-89.9448)YMIN(14.905)XMAX(-76.0534)YMAX(31.0929)WIDTH(1024)HEIGHT(1024)">TIME(2005-08-26T18:45Z)XMIN(-89.9448)YMIN(14.905)XMAX(-76.0534)YMAX(31.0929)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3238_22718_705013</Name>
+							<Title>2005-08-27 16:20</Title>
+							<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-90.9448</westBoundLongitude>
+								<eastBoundLongitude>-77.0534</eastBoundLongitude>
+								<southBoundLatitude>16.906</southBoundLatitude>
+								<northBoundLatitude>33.0939</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-90.9448" miny="16.906" maxx="-77.0534" maxy="33.0939"/>
+							<Dimension name="time" units="ISO8601" default="2005-08-27T16:20Z">2005-08-27T16:20Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-08-27T16:20Z)XMIN(-90.9448)YMIN(16.906)XMAX(-77.0534)YMAX(33.0939)WIDTH(1024)HEIGHT(1024)">TIME(2005-08-27T16:20Z)XMIN(-90.9448)YMIN(16.906)XMAX(-77.0534)YMAX(33.0939)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3238_22718_705014</Name>
+							<Title>2005-08-28 17:00</Title>
+							<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-101.0542</westBoundLongitude>
+								<eastBoundLongitude>-80.5445</eastBoundLongitude>
+								<southBoundLatitude>14.362</southBoundLatitude>
+								<northBoundLatitude>35.6374</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-101.0542" miny="14.362" maxx="-80.5445" maxy="35.6374"/>
+							<Dimension name="time" units="ISO8601" default="2005-08-28T17:00Z">2005-08-28T17:00Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-08-28T17:00Z)XMIN(-101.0542)YMIN(14.362)XMAX(-80.5445)YMAX(35.6374)WIDTH(1024)HEIGHT(1024)">TIME(2005-08-28T17:00Z)XMIN(-101.0542)YMIN(14.362)XMAX(-80.5445)YMAX(35.6374)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3238_22718_705015</Name>
+							<Title>2005-08-29 19:15</Title>
+							<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-98.6447</westBoundLongitude>
+								<eastBoundLongitude>-79.9538</eastBoundLongitude>
+								<southBoundLatitude>20.4322</southBoundLatitude>
+								<northBoundLatitude>41.5655</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-98.6447" miny="20.4322" maxx="-79.9538" maxy="41.5655"/>
+							<Dimension name="time" units="ISO8601" default="2005-08-29T19:15Z">2005-08-29T19:15Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-08-29T19:15Z)XMIN(-98.6447)YMIN(20.4322)XMAX(-79.9538)YMAX(41.5655)WIDTH(1024)HEIGHT(1024)">TIME(2005-08-29T19:15Z)XMIN(-98.6447)YMIN(20.4322)XMAX(-79.9538)YMAX(41.5655)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3238_22718_705016</Name>
+							<Title>2005-08-30 16:45</Title>
+							<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-98.6447</westBoundLongitude>
+								<eastBoundLongitude>-79.9538</eastBoundLongitude>
+								<southBoundLatitude>20.4322</southBoundLatitude>
+								<northBoundLatitude>41.5655</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-98.6447" miny="20.4322" maxx="-79.9538" maxy="41.5655"/>
+							<Dimension name="time" units="ISO8601" default="2005-08-30T16:45Z">2005-08-30T16:45Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-08-30T16:45Z)XMIN(-98.6447)YMIN(20.4322)XMAX(-79.9538)YMAX(41.5655)WIDTH(1024)HEIGHT(1024)">TIME(2005-08-30T16:45Z)XMIN(-98.6447)YMIN(20.4322)XMAX(-79.9538)YMAX(41.5655)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3238_22718_705017</Name>
+							<Title>2005-08-31 15:50</Title>
+							<Abstract>Low earth-orbiting satellites, such as Aqua and Terra, usually see any place on Earth no more than once a day.  This sequence of color images from the MODIS instruments on Aqua and Terra shows the progression of Hurricane Katrina, from August 24 to August 31, 2005, whenever one of the two instruments captured the hurricane.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-86.4449</westBoundLongitude>
+								<eastBoundLongitude>-63.5523</eastBoundLongitude>
+								<southBoundLatitude>34.4307</southBoundLatitude>
+								<northBoundLatitude>55.5656</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-86.4449" miny="34.4307" maxx="-63.5523" maxy="55.5656"/>
+							<Dimension name="time" units="ISO8601" default="2005-08-31T15:50Z">2005-08-31T15:50Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-08-31T15:50Z)XMIN(-86.4449)YMIN(34.4307)XMAX(-63.5523)YMAX(55.5656)WIDTH(1024)HEIGHT(1024)">TIME(2005-08-31T15:50Z)XMIN(-86.4449)YMIN(34.4307)XMAX(-63.5523)YMAX(55.5656)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003238/a003238.fgdc"/>
+							</MetadataURL>
+						</Layer>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+					<Name>3237_22569</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Longwave Infrared Progression (512x512 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  The Imager takes a pattern of pictures of parts of the Earth in several wavelengths all day, measurements that are vital in weather forcasting.  This animation shows a four-day sequence of GOES-12 images in the longwave infrared wavelengths, from 10.2 to 11.2 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is the most common one for observing cloud motions and severe storms throughout the day and night.  Note that most of the images are taken over the United States (about every 5 minutes) with full disk images every 3 hours and several specific images over South America every day.  In this animation, new images are placed over old images rather than replacing them, so different parts of the image update at different times as measurements are taken.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-152.56</westBoundLongitude>
+						<eastBoundLongitude>2.56</eastBoundLongitude>
+						<southBoundLatitude>-77.55</southBoundLatitude>
+						<northBoundLatitude>77.25</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-152.56" miny="-77.55" maxx="2.56" maxy="77.25"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T23:45Z">2005-08-26T23:45Z/2005-08-30T23:45Z/PT5M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003237/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003237/a003237.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>All GOES-12 longwave infrared imagery from August 26, 2005 through August 30, 2005, during Hurricane Katrina.  The illusion of continuous data is given by laying newer imagery over older imagery.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+					<Name>3236_22547</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Longwave Infrared Overview (512x512 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  The Imager takes a pattern of pictures of parts of the Earth in several wavelengths all day, measurements that are vital in weather forecasting.  This animation shows a four-day sequence of GOES-12 images in the longwave infrared wavelengths, from 10.2 to 11.2 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is the most common one for observing cloud motions and severe storms throughout the day and night.  Note that most of the images are taken over the United States (about every 5 minutes) with full disk images every 3 hours and several specific images over South America every day.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-152.56</westBoundLongitude>
+						<eastBoundLongitude>2.56</eastBoundLongitude>
+						<southBoundLatitude>-77.55</southBoundLatitude>
+						<northBoundLatitude>77.25</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-152.56" miny="-77.55" maxx="2.56" maxy="77.25"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T23:45Z">2005-08-26T23:45Z/2005-08-30T23:45Z/PT5M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003236/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003236/a003236.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>All GOES-12 longwave infrared imagery from August 26, 2005 through August 30, 2005, during Hurricane Katrina.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3235_22556</Name>
+					<Title>GOES-10 Imagery of Hurricane Katrina: Full Disk Longwave Infrared (1024x1024 Animation)</Title>
+					<Abstract>The GOES-10 satellite sits at 135 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for the Pacific Ocean, a primary measurement used in weather forecasting.  Every three hours the Imager takes a picture of the full disk of the Earth.  This animation shows a sequence of these full disk images in the longwave infrared wavelengths, from 10.2 to 11.2 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is the most common one for observing cloud motions and severe storms throughout the day and night.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>145.81</westBoundLongitude>
+						<eastBoundLongitude>-55.81</eastBoundLongitude>
+						<southBoundLatitude>-79.22</southBoundLatitude>
+						<northBoundLatitude>79.13</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="145.81" miny="-79.22" maxx="-55.81" maxy="79.13"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-31T06:00Z">2005-08-23T21:00Z/2005-08-24T06:00Z/PT3H,2005-08-24T12:00Z/2005-08-25T06:00Z/PT3H,2005-08-25T12:00Z/2005-08-26T06:00Z/PT3H,2005-08-26T12:00Z/2005-08-27T06:00Z/PT3H,2005-08-27T12:00Z/2005-08-28T06:00Z/PT3H,2005-08-28T12:00Z/2005-08-29T06:00Z/PT3H,2005-08-29T12:00Z/2005-08-30T06:00Z/PT3H,2005-08-30T12:00Z/2005-08-31T06:00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003235/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003235/a003235.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-10 full-disk longwave infrared imagery of Hurricane Katrina from August 23, 2005 to August 31, 2005.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3234_22542</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Full Disk Lower Level Temperature (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  Every three hours the Imager takes a picture of the full disk of the Earth.  This animation shows a sequence of these full disk images in the wavelength band from 12.9 to 13.8 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is useful for determining cloud characteristics such as cloud top pressure.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-154.19</westBoundLongitude>
+						<eastBoundLongitude>4.18</eastBoundLongitude>
+						<southBoundLatitude>-79.12</southBoundLatitude>
+						<northBoundLatitude>79.22</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-154.19" miny="-79.12" maxx="4.18" maxy="79.22"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-31T02:45Z">2005-08-23T08:45Z/2005-08-24T02:45Z/PT3H,2005-08-24T08:45Z/2005-08-25T02:45Z/PT3H,2005-08-25T08:45Z/2005-08-26T02:45Z/PT3H,2005-08-26T08:45Z/2005-08-27T02:45Z/PT3H,2005-08-27T08:45Z/2005-08-28T02:45Z/PT3H,2005-08-28T08:45Z/2005-08-29T02:45Z/PT3H,2005-08-29T08:45Z/2005-08-30T02:45Z/PT3H,2005-08-30T08:45Z/2005-08-31T02:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003234/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003234/a003234.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 full-disk lower level temperature imagery of Hurricane Katrina from August 23, 2005 to August 31, 2005.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3233_22537</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Full Disk Longwave Infrared (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  Every three hours the Imager takes a picture of the full disk of the Earth.  This animation shows a sequence of these full disk images in the longwave infrared wavelengths, from 10.2 to 11.2 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is the most common one for observing cloud motions and severe storms throughout the day and night.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-154.19</westBoundLongitude>
+						<eastBoundLongitude>4.18</eastBoundLongitude>
+						<southBoundLatitude>-79.12</southBoundLatitude>
+						<northBoundLatitude>79.22</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-154.19" miny="-79.12" maxx="4.18" maxy="79.22"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-31T02:45Z">2005-08-23T08:45Z/2005-08-24T02:45Z/PT3H,2005-08-24T08:45Z/2005-08-25T02:45Z/PT3H,2005-08-25T08:45Z/2005-08-26T02:45Z/PT3H,2005-08-26T08:45Z/2005-08-27T02:45Z/PT3H,2005-08-27T08:45Z/2005-08-28T02:45Z/PT3H,2005-08-28T08:45Z/2005-08-29T02:45Z/PT3H,2005-08-29T08:45Z/2005-08-30T02:45Z/PT3H,2005-08-30T08:45Z/2005-08-31T02:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003233/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003233/a003233.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 full-disk longwave infrared imagery of Hurricane Katrina from August 23, 2005 to August 31, 2005.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3232_22532</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Full Disk Water Vapor (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  Every three hours the Imager takes a picture of the full disk of the Earth.  This animation shows a sequence of these full disk images in the 6.47 to 7.02 micron wavelength band, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is useful for estimating mid-level water vapor content and for observing atmospheric motion in that level.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-154.19</westBoundLongitude>
+						<eastBoundLongitude>4.18</eastBoundLongitude>
+						<southBoundLatitude>-79.12</southBoundLatitude>
+						<northBoundLatitude>79.22</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-154.19" miny="-79.12" maxx="4.18" maxy="79.22"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-31T02:45Z">2005-08-23T08:45Z/2005-08-24T02:45Z/PT3H,2005-08-24T08:45Z/2005-08-25T02:45Z/PT3H,2005-08-25T08:45Z/2005-08-26T02:45Z/PT3H,2005-08-26T08:45Z/2005-08-27T02:45Z/PT3H,2005-08-27T08:45Z/2005-08-28T02:45Z/PT3H,2005-08-28T08:45Z/2005-08-29T02:45Z/PT3H,2005-08-29T08:45Z/2005-08-30T02:45Z/PT3H,2005-08-30T08:45Z/2005-08-31T02:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003232/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003232/a003232.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 full-disk upper level water vapor imagery of Hurricane Katrina from August 23, 2005 to August 31, 2005. </Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3231_22527</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Full Disk Shortwave Infrared (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  Every three hours the Imager takes a picture of the full disk of the Earth.  This animation shows a sequence of these full disk images in the shortwave infrared wavelengths, 3.78 to 4.03 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band shows the day-night cycle, and is useful for identifying fog at night and discriminating between water clouds and snow or ice clouds during the daytime.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-154.19</westBoundLongitude>
+						<eastBoundLongitude>4.18</eastBoundLongitude>
+						<southBoundLatitude>-79.12</southBoundLatitude>
+						<northBoundLatitude>79.22</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-154.19" miny="-79.12" maxx="4.18" maxy="79.22"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-31T02:45Z">2005-08-23T08:45Z/2005-08-24T02:45Z/PT3H,2005-08-24T08:45Z/2005-08-25T02:45Z/PT3H,2005-08-25T08:45Z/2005-08-26T02:45Z/PT3H,2005-08-26T08:45Z/2005-08-27T02:45Z/PT3H,2005-08-27T08:45Z/2005-08-28T02:45Z/PT3H,2005-08-28T08:45Z/2005-08-29T02:45Z/PT3H,2005-08-29T08:45Z/2005-08-30T02:45Z/PT3H,2005-08-30T08:45Z/2005-08-31T02:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003231/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003231/a003231.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 full-disk shortwave infrared imagery of Hurricane Katrina from August 23, 2005 to August 31, 2005.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3230_22515</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Full Disk Visible (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  Every three hours the Imager takes a picture of the full disk of the Earth.  This animation shows a sequence of these full disk images in the visible wavelengths, 0.52 to 0.72 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band clearly shows the day-night cycle since the Earth is dark at night in the visible wavelengths.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-154.19</westBoundLongitude>
+						<eastBoundLongitude>4.18</eastBoundLongitude>
+						<southBoundLatitude>-79.12</southBoundLatitude>
+						<northBoundLatitude>79.22</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-154.19" miny="-79.12" maxx="4.18" maxy="79.22"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-31T02:45Z">2005-08-23T08:45Z/2005-08-24T02:45Z/PT3H,2005-08-24T08:45Z/2005-08-25T02:45Z/PT3H,2005-08-25T08:45Z/2005-08-26T02:45Z/PT3H,2005-08-26T08:45Z/2005-08-27T02:45Z/PT3H,2005-08-27T08:45Z/2005-08-28T02:45Z/PT3H,2005-08-28T08:45Z/2005-08-29T02:45Z/PT3H,2005-08-29T08:45Z/2005-08-30T02:45Z/PT3H,2005-08-30T08:45Z/2005-08-31T02:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003230/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003230/a003230.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 full-disk visible imagery of Hurricane Katrina from August 23, 2005 to August 31, 2005. </Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3216_22510</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Longwave Infrared Close-up (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  The Imager takes a pattern of pictures of parts of the Earth in several wavelengths all day, measurements that are vital in weather forecasting.  This animation shows a four-day sequence of GOES-12 images in the longwave infrared wavelengths, from 10.2 to 11.2 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is the most common one for observing cloud motions and severe storms throughout the day and night.  Since GOES-12 takes images most often over the United States (every 5 to 10 minutes), the motion of the clouds in this close-up of the southeast US is very smooth.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-100</westBoundLongitude>
+						<eastBoundLongitude>-70</eastBoundLongitude>
+						<southBoundLatitude>15</southBoundLatitude>
+						<northBoundLatitude>45</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-100" miny="15" maxx="-70" maxy="45"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T23:45Z">2005-08-26T23:45Z/2005-08-27T00:45Z/PT30M,2005-08-27T00:55Z,2005-08-27T01:02Z,2005-08-27T01:10Z,2005-08-27T01:15Z,2005-08-27T01:25Z,2005-08-27T01:32Z,2005-08-27T01:40Z,2005-08-27T01:45Z,2005-08-27T01:55Z,2005-08-27T02:02Z,2005-08-27T02:10Z,2005-08-27T02:15Z,2005-08-27T02:25Z,2005-08-27T02:32Z,2005-08-27T02:40Z,2005-08-27T02:45Z,2005-08-27T03:15Z,2005-08-27T03:25Z,2005-08-27T03:33Z,2005-08-27T03:40Z,2005-08-27T03:45Z,2005-08-27T04:02Z,2005-08-27T06:15Z,2005-08-27T06:32Z,2005-08-27T06:45Z,2005-08-27T06:55Z,2005-08-27T07:02Z,2005-08-27T07:10Z,2005-08-27T07:15Z,2005-08-27T07:25Z,2005-08-27T07:33Z,2005-08-27T07:40Z,2005-08-27T07:45Z,2005-08-27T07:55Z,2005-08-27T08:03Z,2005-08-27T08:10Z,2005-08-27T08:15Z,2005-08-27T08:25Z,2005-08-27T08:33Z,2005-08-27T08:40Z,2005-08-27T08:45Z,2005-08-27T09:15Z,2005-08-27T09:25Z,2005-08-27T09:32Z,2005-08-27T09:40Z,2005-08-27T09:45Z,2005-08-27T09:55Z,2005-08-27T10:02Z,2005-08-27T10:10Z,2005-08-27T10:15Z,2005-08-27T10:25Z,2005-08-27T10:33Z,2005-08-27T10:40Z,2005-08-27T10:45Z,2005-08-27T10:55Z,2005-08-27T11:02Z,2005-08-27T11:10Z,2005-08-27T11:15Z,2005-08-27T11:25Z,2005-08-27T11:33Z,2005-08-27T11:40Z,2005-08-27T11:45Z,2005-08-27T12:15Z,2005-08-27T12:25Z,2005-08-27T12:45Z,2005-08-27T12:55Z,2005-08-27T13:03Z,2005-08-27T13:10Z,2005-08-27T13:15Z,2005-08-27T13:25Z,2005-08-27T13:33Z,2005-08-27T13:40Z,2005-08-27T13:45Z,2005-08-27T13:55Z,2005-08-27T14:03Z,2005-08-27T14:10Z,2005-08-27T14:15Z,2005-08-27T14:25Z,2005-08-27T14:32Z,2005-08-27T14:40Z,2005-08-27T14:45Z,2005-08-27T15:15Z,2005-08-27T15:25Z,2005-08-27T15:32Z,2005-08-27T15:40Z,2005-08-27T15:45Z,2005-08-27T15:55Z,2005-08-27T16:02Z,2005-08-27T16:10Z,2005-08-27T16:15Z,2005-08-27T16:25Z,2005-08-27T16:32Z,2005-08-27T16:40Z,2005-08-27T16:45Z,2005-08-27T16:55Z,2005-08-27T17:03Z,2005-08-27T17:10Z,2005-08-27T17:15Z,2005-08-27T17:25Z,2005-08-27T17:33Z,2005-08-27T17:40Z,2005-08-27T17:45Z,2005-08-27T18:15Z,2005-08-27T18:25Z,2005-08-27T18:45Z,2005-08-27T18:55Z,2005-08-27T19:03Z,2005-08-27T19:10Z,2005-08-27T19:15Z,2005-08-27T19:25Z,2005-08-27T19:33Z,2005-08-27T19:40Z,2005-08-27T19:45Z,2005-08-27T19:55Z,2005-08-27T20:03Z,2005-08-27T20:10Z,2005-08-27T20:15Z,2005-08-27T20:25Z,2005-08-27T20:32Z,2005-08-27T20:40Z,2005-08-27T20:45Z,2005-08-27T21:15Z,2005-08-27T21:25Z,2005-08-27T21:32Z,2005-08-27T21:40Z,2005-08-27T21:45Z,2005-08-27T21:55Z,2005-08-27T22:03Z,2005-08-27T22:10Z,2005-08-27T22:15Z,2005-08-27T22:25Z,2005-08-27T22:33Z,2005-08-27T22:40Z,2005-08-27T22:45Z,2005-08-27T22:55Z,2005-08-27T23:03Z,2005-08-27T23:10Z,2005-08-27T23:15Z,2005-08-27T23:25Z,2005-08-27T23:33Z,2005-08-27T23:40Z,2005-08-27T23:45Z/2005-08-28T00:45Z/PT30M,2005-08-28T00:55Z,2005-08-28T01:02Z,2005-08-28T01:10Z,2005-08-28T01:15Z,2005-08-28T01:25Z,2005-08-28T01:32Z,2005-08-28T01:40Z,2005-08-28T01:45Z,2005-08-28T01:55Z,2005-08-28T02:02Z,2005-08-28T02:10Z,2005-08-28T02:15Z,2005-08-28T02:25Z,2005-08-28T02:32Z,2005-08-28T02:40Z,2005-08-28T02:45Z,2005-08-28T03:15Z,2005-08-28T03:25Z,2005-08-28T03:33Z,2005-08-28T03:40Z,2005-08-28T03:45Z,2005-08-28T04:02Z,2005-08-28T06:15Z,2005-08-28T06:32Z,2005-08-28T06:45Z,2005-08-28T06:55Z,2005-08-28T07:02Z,2005-08-28T07:10Z,2005-08-28T07:15Z,2005-08-28T07:25Z,2005-08-28T07:33Z,2005-08-28T07:40Z,2005-08-28T07:45Z,2005-08-28T07:55Z,2005-08-28T08:03Z,2005-08-28T08:10Z,2005-08-28T08:15Z,2005-08-28T08:25Z,2005-08-28T08:33Z,2005-08-28T08:40Z,2005-08-28T08:45Z,2005-08-28T09:15Z,2005-08-28T09:25Z,2005-08-28T09:33Z,2005-08-28T09:40Z,2005-08-28T09:45Z,2005-08-28T09:55Z,2005-08-28T10:03Z,2005-08-28T10:10Z,2005-08-28T10:15Z,2005-08-28T10:25Z,2005-08-28T10:32Z,2005-08-28T10:40Z,2005-08-28T10:45Z,2005-08-28T10:55Z,2005-08-28T11:02Z,2005-08-28T11:10Z,2005-08-28T11:15Z,2005-08-28T11:25Z,2005-08-28T11:32Z,2005-08-28T11:40Z,2005-08-28T11:45Z,2005-08-28T12:15Z,2005-08-28T12:25Z,2005-08-28T12:45Z,2005-08-28T12:55Z,2005-08-28T13:03Z,2005-08-28T13:10Z,2005-08-28T13:15Z,2005-08-28T13:25Z,2005-08-28T13:33Z,2005-08-28T13:40Z,2005-08-28T13:45Z,2005-08-28T13:55Z,2005-08-28T14:03Z,2005-08-28T14:10Z,2005-08-28T14:15Z,2005-08-28T14:25Z,2005-08-28T14:33Z,2005-08-28T14:40Z,2005-08-28T14:45Z,2005-08-28T15:15Z,2005-08-28T15:25Z,2005-08-28T15:32Z,2005-08-28T15:40Z,2005-08-28T15:45Z,2005-08-28T15:55Z,2005-08-28T16:02Z,2005-08-28T16:10Z,2005-08-28T16:15Z,2005-08-28T16:25Z,2005-08-28T16:32Z,2005-08-28T16:40Z,2005-08-28T16:45Z,2005-08-28T16:55Z,2005-08-28T17:03Z,2005-08-28T17:10Z,2005-08-28T17:15Z,2005-08-28T17:25Z,2005-08-28T17:33Z,2005-08-28T17:40Z,2005-08-28T17:45Z,2005-08-28T18:15Z,2005-08-28T18:25Z,2005-08-28T18:45Z,2005-08-28T18:55Z,2005-08-28T19:03Z,2005-08-28T19:10Z,2005-08-28T19:15Z,2005-08-28T19:25Z,2005-08-28T19:32Z,2005-08-28T19:40Z,2005-08-28T19:45Z,2005-08-28T19:55Z,2005-08-28T20:02Z,2005-08-28T20:10Z,2005-08-28T20:15Z,2005-08-28T20:25Z,2005-08-28T20:32Z,2005-08-28T20:40Z,2005-08-28T20:45Z,2005-08-28T21:15Z,2005-08-28T21:25Z,2005-08-28T21:32Z,2005-08-28T21:40Z,2005-08-28T21:45Z,2005-08-28T21:55Z,2005-08-28T22:03Z,2005-08-28T22:10Z,2005-08-28T22:15Z,2005-08-28T22:25Z,2005-08-28T22:33Z,2005-08-28T22:40Z,2005-08-28T22:45Z,2005-08-28T22:55Z,2005-08-28T23:03Z,2005-08-28T23:10Z,2005-08-28T23:15Z,2005-08-28T23:25Z,2005-08-28T23:33Z,2005-08-28T23:40Z,2005-08-28T23:45Z/2005-08-29T00:45Z/PT30M,2005-08-29T00:55Z,2005-08-29T01:02Z,2005-08-29T01:10Z,2005-08-29T01:15Z,2005-08-29T01:25Z,2005-08-29T01:32Z,2005-08-29T01:40Z,2005-08-29T01:45Z,2005-08-29T01:55Z,2005-08-29T02:02Z,2005-08-29T02:10Z,2005-08-29T02:15Z,2005-08-29T02:25Z,2005-08-29T02:32Z,2005-08-29T02:40Z,2005-08-29T02:45Z,2005-08-29T03:15Z,2005-08-29T03:25Z,2005-08-29T03:33Z,2005-08-29T03:40Z,2005-08-29T03:45Z,2005-08-29T04:02Z,2005-08-29T06:15Z,2005-08-29T06:32Z,2005-08-29T06:45Z,2005-08-29T06:55Z,2005-08-29T07:02Z,2005-08-29T07:10Z,2005-08-29T07:15Z,2005-08-29T07:25Z,2005-08-29T07:32Z,2005-08-29T07:40Z,2005-08-29T07:45Z,2005-08-29T07:55Z,2005-08-29T08:03Z,2005-08-29T08:10Z,2005-08-29T08:15Z,2005-08-29T08:25Z,2005-08-29T08:33Z,2005-08-29T08:40Z,2005-08-29T08:45Z,2005-08-29T09:15Z,2005-08-29T09:25Z,2005-08-29T09:33Z,2005-08-29T09:40Z,2005-08-29T09:45Z,2005-08-29T09:55Z,2005-08-29T10:03Z,2005-08-29T10:10Z,2005-08-29T10:15Z,2005-08-29T10:25Z,2005-08-29T10:33Z,2005-08-29T10:40Z,2005-08-29T10:45Z,2005-08-29T10:55Z,2005-08-29T11:02Z,2005-08-29T11:10Z,2005-08-29T11:15Z,2005-08-29T11:25Z,2005-08-29T11:32Z,2005-08-29T11:40Z,2005-08-29T11:45Z,2005-08-29T12:15Z,2005-08-29T12:25Z,2005-08-29T12:45Z,2005-08-29T12:55Z,2005-08-29T13:03Z,2005-08-29T13:10Z,2005-08-29T13:15Z,2005-08-29T13:25Z,2005-08-29T13:33Z,2005-08-29T13:40Z,2005-08-29T13:45Z,2005-08-29T13:55Z,2005-08-29T14:03Z,2005-08-29T14:10Z,2005-08-29T14:15Z,2005-08-29T14:25Z,2005-08-29T14:33Z,2005-08-29T14:40Z,2005-08-29T14:45Z,2005-08-29T15:15Z,2005-08-29T15:25Z,2005-08-29T15:32Z,2005-08-29T15:40Z,2005-08-29T15:45Z,2005-08-29T15:55Z,2005-08-29T16:02Z,2005-08-29T16:10Z,2005-08-29T16:15Z,2005-08-29T16:25Z,2005-08-29T16:32Z,2005-08-29T16:40Z,2005-08-29T16:45Z,2005-08-29T16:55Z,2005-08-29T17:02Z,2005-08-29T17:10Z,2005-08-29T17:15Z,2005-08-29T17:25Z,2005-08-29T17:33Z,2005-08-29T17:40Z,2005-08-29T17:45Z,2005-08-29T18:15Z,2005-08-29T18:25Z,2005-08-29T18:45Z,2005-08-29T18:55Z,2005-08-29T19:02Z,2005-08-29T19:10Z,2005-08-29T19:15Z,2005-08-29T19:25Z,2005-08-29T19:33Z,2005-08-29T19:40Z,2005-08-29T19:45Z,2005-08-29T19:55Z,2005-08-29T20:03Z,2005-08-29T20:10Z,2005-08-29T20:15Z,2005-08-29T20:25Z,2005-08-29T20:32Z,2005-08-29T20:40Z,2005-08-29T20:45Z,2005-08-29T21:15Z,2005-08-29T21:25Z,2005-08-29T21:32Z,2005-08-29T21:40Z,2005-08-29T21:45Z,2005-08-29T21:55Z,2005-08-29T22:03Z,2005-08-29T22:10Z,2005-08-29T22:15Z,2005-08-29T22:25Z,2005-08-29T22:33Z,2005-08-29T22:40Z,2005-08-29T22:45Z,2005-08-29T22:55Z,2005-08-29T23:03Z,2005-08-29T23:10Z,2005-08-29T23:15Z,2005-08-29T23:25Z,2005-08-29T23:33Z,2005-08-29T23:40Z,2005-08-29T23:45Z/2005-08-30T00:45Z/PT30M,2005-08-30T00:55Z,2005-08-30T01:03Z,2005-08-30T01:10Z,2005-08-30T01:15Z,2005-08-30T01:25Z,2005-08-30T01:33Z,2005-08-30T01:40Z,2005-08-30T01:45Z,2005-08-30T01:55Z,2005-08-30T02:02Z,2005-08-30T02:10Z,2005-08-30T02:15Z,2005-08-30T02:25Z,2005-08-30T02:32Z,2005-08-30T02:40Z,2005-08-30T02:45Z,2005-08-30T03:15Z,2005-08-30T03:25Z,2005-08-30T03:32Z,2005-08-30T03:45Z,2005-08-30T04:02Z,2005-08-30T06:15Z,2005-08-30T06:32Z,2005-08-30T06:45Z,2005-08-30T07:02Z,2005-08-30T07:15Z,2005-08-30T07:32Z,2005-08-30T07:45Z,2005-08-30T08:02Z,2005-08-30T08:15Z/2005-08-30T10:15Z/PT30M,2005-08-30T10:32Z,2005-08-30T10:45Z,2005-08-30T11:02Z,2005-08-30T11:15Z,2005-08-30T11:32Z,2005-08-30T11:45Z/2005-08-30T12:45Z/PT30M,2005-08-30T13:02Z,2005-08-30T13:15Z,2005-08-30T13:32Z,2005-08-30T13:45Z,2005-08-30T14:02Z,2005-08-30T14:15Z,2005-08-30T14:32Z,2005-08-30T14:45Z,2005-08-30T15:15Z,2005-08-30T15:32Z,2005-08-30T15:45Z,2005-08-30T16:02Z,2005-08-30T16:15Z,2005-08-30T16:33Z,2005-08-30T16:40Z,2005-08-30T16:45Z,2005-08-30T16:55Z,2005-08-30T17:02Z,2005-08-30T17:10Z,2005-08-30T17:15Z,2005-08-30T17:25Z,2005-08-30T17:33Z,2005-08-30T17:40Z,2005-08-30T17:45Z,2005-08-30T18:15Z,2005-08-30T18:25Z,2005-08-30T18:45Z,2005-08-30T18:55Z,2005-08-30T19:02Z,2005-08-30T19:10Z,2005-08-30T19:15Z,2005-08-30T19:25Z,2005-08-30T19:32Z,2005-08-30T19:40Z,2005-08-30T19:45Z,2005-08-30T19:55Z,2005-08-30T20:03Z,2005-08-30T20:10Z,2005-08-30T20:15Z,2005-08-30T20:25Z,2005-08-30T20:33Z,2005-08-30T20:40Z,2005-08-30T20:45Z,2005-08-30T21:15Z,2005-08-30T21:25Z,2005-08-30T21:33Z,2005-08-30T21:40Z,2005-08-30T21:45Z,2005-08-30T21:55Z,2005-08-30T22:03Z,2005-08-30T22:10Z,2005-08-30T22:15Z,2005-08-30T22:25Z,2005-08-30T22:33Z,2005-08-30T22:40Z,2005-08-30T22:45Z,2005-08-30T22:55Z,2005-08-30T23:02Z,2005-08-30T23:10Z,2005-08-30T23:15Z,2005-08-30T23:25Z,2005-08-30T23:32Z,2005-08-30T23:40Z,2005-08-30T23:45Z</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003216/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003216/a003216.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 longwave infrared imagery of Hurricane Katrina from August 26, 2005 through August 30, 2005.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3210_22210</Name>
+					<Title>Global Large-scale Precipitation during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds.  As moisture-laden air rises, the relative humidity increases until it saturates the air, at which time precipitation occurs.  If the uplift of air is due to large-scale atmospheric motion, then the precipitation is called large-scale, or dynamic.  This animation shows the large-scale precipitation for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  Large-scale precipitation tends to be continuous and to come from decks of stratus clouds rather than from thunderstorms.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Precipitable Water</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003210/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003210/a003210.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global large-scale precipitation rate from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.
+</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003210/precl_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3209_22204</Name>
+					<Title>Global Convective Precipitation during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds.  As moisture-laden air rises, the relative humidity increases until it saturates the air, at which time precipitation occurs.  If the uplift of air is due to strong updrafts and unstable air systems, as in thunderstorms, then the precipitation is called convective.  This animation shows the convective precipitation for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  Convective precipitation is more intense but less long-lasting than large-scale precipitation.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Precipitation Rate</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003209/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003209/a003209.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global convective precipitation rate from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.
+</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003209/precc_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3208_22198</Name>
+					<Title>Global Cloud Cover during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds which both warm and cool the Earth in different circumstances.  Warm, moisture-laden air moving out from the tropics brings clouds and rainfall to the temperate zones.  This animation shows the cloud cover for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  The cloud cover in any region significantly affects the energy balance since sunlight reflected from the clouds is not available to heat the surface.  The motion of clouds in this animation clearly indicates the speed and direction of winds around the globe.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003208/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003208/a003208.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global cloud cover from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.
+</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003208/cldtot_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3207_22192</Name>
+					<Title>Global 300 hPa Geopotential Height during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>The Earth's atmosphere exerts pressure based on the weight of the air above, so the pressure reduces with rising altitude.  This rate of pressure reduction with altitude is based on the temperature of the air, with the pressure of colder air reducing faster with altitude than warmer air.  Therefore, a surface of constant pressure has a lower altitude at the poles than the equator.  This animation shows the altitude above sea level (the geopotential height) of the 300 hectopascal (hPa) pressure surface for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  This pressure is about one-third of the normal pressure at sea level.  The largest downward slope of this surface occurs in the mid-latitudes and is shown in yellow in the animation.  At this region, air is trying to flow from the equator towards the poles to reduce the slope, but the rotation of the Earth forces the flow to divert to the east, forming the strong west-to-east jet stream flows in these regions.  Frances and Songda can be seen as sharp yellow dots of reduced height in their respective locations.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Altitude:Geopotential Height</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003207/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003207/a003207.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global 300 hPa geopotential height from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.
+</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003207/h300_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3203_22161</Name>
+					<Title>Global High Altitude Wind Speed during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>The Earth's atmosphere exerts pressure based on the weight of the air above.  Differences in pressure from place-to-place cause winds to try to flow from high pressure to low pressure regions to even out the differences, but the Earth's rotation and wind friction with the surface act to slow or divert the winds.  This animation shows the high altitude wind speeds for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  At high altitudes, the difference between between high pressures from warm tropical air and low pressures from cold polar air try to force air from the tropics toward the poles, but the Earth's rotation diverts this flow to the east, resulting in the high velocity west-to-east jet stream flows at mid-latitudes.  The circular flows from Frances and Songda can barely be seen at this altitude.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Upper Level Winds</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003203/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003203/a003203.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global winds at 200 hPa geopotential height from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003203/s200_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3202_22146</Name>
+					<Title>Global Atmospheric Water Vapor during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>Water vapor is a small but significant constituent of the atmosphere, warming the planet due to the greenhouse effect and condensing to form clouds which both warm and cool the Earth in different circumstances.  Warm, moisture-laden air moving out from the tropics brings rainfall to the temperate zones.  This animation shows the atmospheric water vapor for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  The band of water vapor over the tropics is the intertropical convergence zone, where converging trade winds and high temperatures force large amounts of water high into the atmosphere.  Both Hurricane Frances and Typhoon Songda exhibit significant spiral bands of high water vapor.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Precipitable Water</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003202/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003202/a003202.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global atmospheric water vapor from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003202/tq_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3201_22141</Name>
+					<Title>Global Surface Wind Speed during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>The weight of the Earth's atmosphere exerts pressure on the surface of the Earth.  This pressure varies from place-to-place and from time-to-time due to surface irregularities, uneven heating of the atmosphere by the sun, and the Earth's rotation.  Differences in pressure from place-to-place cause winds to try to flow from high pressure to low pressure regions to even out the differences, but the Earth's rotation and wind friction with the surface act to slow or divert the winds.  This animation shows the surface wind speeds for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  The highest, smoothest winds occur over the oceans where there are no surface irregularities to break up the flow, while flows over land tend to be irregular and highly variable.  The highest winds occur in Hurricane Frances and Typhoon Songda, but note that the hurricane's wind speeds reduce dramatically when crossing Florida.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Surface Winds</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003201/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003201/a003201.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global surface wind speed from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003201/s10m_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Progression of Hurricane Emily, 2005</Title>
+					<Abstract>Emily was a record-setting storm for many reasons. When it formed on July 11, Emily became the earliest fifth named storm on record. As it moved through the Caribbean, Emily intensified into a powerful Category 4 storm with winds over 250 kilometers per hour (150 mph) and gusts as high as 300 kilometers per hour (184 mph), making it the most powerful storm to form before August. The previous record was set by Hurricane Dennis, which ripped through the Caribbean during the first week of July 2005. Emily's Category 4 status also made 2005 the only year to produce two Category 4 storms before the end of July.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003200/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003200/a003200.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_emily.html"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3200_22107</Name>
+						<Title>Hurricane Emily Overview (1024x1024 Image)</Title>
+						<Abstract>Emily was a record-setting storm for many reasons. When it formed on July 11, Emily became the earliest fifth named storm on record. As it moved through the Caribbean, Emily intensified into a powerful Category 4 storm with winds over 250 kilometers per hour (150 mph) and gusts as high as 300 kilometers per hour (184 mph), making it the most powerful storm to form before August. The previous record was set by Hurricane Dennis, which ripped through the Caribbean during the first week of July 2005. Emily's Category 4 status also made 2005 the only year to produce two Category 4 storms before the end of July.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-105.3448</westBoundLongitude>
+							<eastBoundLongitude>-70.4808</eastBoundLongitude>
+							<southBoundLatitude>8.9033</southBoundLatitude>
+							<northBoundLatitude>34.0921</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-105.3448" miny="8.9033" maxx="-70.4808" maxy="34.0921"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003200/a003200.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_emily.html"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This is a composite image of all of the available individual images together.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3200_22107</Name>
+						<Title>Hurricane Emily (Sequence)</Title>
+						<Abstract>Emily was a record-setting storm for many reasons. When it formed on July 11, Emily became the earliest fifth named storm on record. As it moved through the Caribbean, Emily intensified into a powerful Category 4 storm with winds over 250 kilometers per hour (150 mph) and gusts as high as 300 kilometers per hour (184 mph), making it the most powerful storm to form before August. The previous record was set by Hurricane Dennis, which ripped through the Caribbean during the first week of July 2005. Emily's Category 4 status also made 2005 the only year to produce two Category 4 storms before the end of July.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-105.3448</westBoundLongitude>
+							<eastBoundLongitude>-70.4808</eastBoundLongitude>
+							<southBoundLatitude>8.9033</southBoundLatitude>
+							<northBoundLatitude>34.0921</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-105.3448" miny="8.9033" maxx="-70.4808" maxy="34.0921"/>
+						<Dimension name="sequence" units="" default="TIME(2005-07-20T20:05Z)XMIN(-105.3448)YMIN(17.9042)XMAX(-91.4534)YMAX(34.0921)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-16T15:45Z)XMIN(-83.5162)YMIN(8.9033)XMAX(-70.4808)YMAX(25.0922)WIDTH(1024)HEIGHT(1024),TIME(2005-07-17T16:25Z)XMIN(-91.6981)YMIN(9.9043)XMAX(-78.2995)YMAX(26.0927)WIDTH(1024)HEIGHT(1024),TIME(2005-07-18T17:10Z)XMIN(-101.3208)YMIN(13.5513)XMAX(-83.279)YMAX(32.4454)WIDTH(1024)HEIGHT(1024),TIME(2005-07-19T19:20Z)XMIN(-100.2006)YMIN(16.8039)XMAX(-87.7963)YMAX(31.1941)WIDTH(1024)HEIGHT(1024),TIME(2005-07-20T20:05Z)XMIN(-105.3448)YMIN(17.9042)XMAX(-91.4534)YMAX(34.0921)WIDTH(1024)HEIGHT(1024)</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003200/a003200.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_emily.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>This is a composite image of all of the available individual images together.</Abstract>
+						</Style>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3200_22108_648221</Name>
+							<Title>2005-07-16 15:45</Title>
+							<Abstract>Emily was a record-setting storm for many reasons. When it formed on July 11, Emily became the earliest fifth named storm on record. As it moved through the Caribbean, Emily intensified into a powerful Category 4 storm with winds over 250 kilometers per hour (150 mph) and gusts as high as 300 kilometers per hour (184 mph), making it the most powerful storm to form before August. The previous record was set by Hurricane Dennis, which ripped through the Caribbean during the first week of July 2005. Emily's Category 4 status also made 2005 the only year to produce two Category 4 storms before the end of July.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-83.5162</westBoundLongitude>
+								<eastBoundLongitude>-70.4808</eastBoundLongitude>
+								<southBoundLatitude>8.9033</southBoundLatitude>
+								<northBoundLatitude>25.0922</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-83.5162" miny="8.9033" maxx="-70.4808" maxy="25.0922"/>
+							<Dimension name="time" units="ISO8601" default="2005-07-16T15:45Z">2005-07-16T15:45Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-07-16T15:45Z)XMIN(-83.5162)YMIN(8.9033)XMAX(-70.4808)YMAX(25.0922)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-16T15:45Z)XMIN(-83.5162)YMIN(8.9033)XMAX(-70.4808)YMAX(25.0922)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003200/a003200.fgdc"/>
+							</MetadataURL>
+							<DataURL>
+								<Format>text/html</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_emily.html"/>
+							</DataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3200_22108_648222</Name>
+							<Title>2005-07-17 16:25</Title>
+							<Abstract>Emily was a record-setting storm for many reasons. When it formed on July 11, Emily became the earliest fifth named storm on record. As it moved through the Caribbean, Emily intensified into a powerful Category 4 storm with winds over 250 kilometers per hour (150 mph) and gusts as high as 300 kilometers per hour (184 mph), making it the most powerful storm to form before August. The previous record was set by Hurricane Dennis, which ripped through the Caribbean during the first week of July 2005. Emily's Category 4 status also made 2005 the only year to produce two Category 4 storms before the end of July.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-91.6981</westBoundLongitude>
+								<eastBoundLongitude>-78.2995</eastBoundLongitude>
+								<southBoundLatitude>9.9043</southBoundLatitude>
+								<northBoundLatitude>26.0927</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-91.6981" miny="9.9043" maxx="-78.2995" maxy="26.0927"/>
+							<Dimension name="time" units="ISO8601" default="2005-07-17T16:25Z">2005-07-17T16:25Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-07-17T16:25Z)XMIN(-91.6981)YMIN(9.9043)XMAX(-78.2995)YMAX(26.0927)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-17T16:25Z)XMIN(-91.6981)YMIN(9.9043)XMAX(-78.2995)YMAX(26.0927)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003200/a003200.fgdc"/>
+							</MetadataURL>
+							<DataURL>
+								<Format>text/html</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_emily.html"/>
+							</DataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3200_22108_648223</Name>
+							<Title>2005-07-18 17:10</Title>
+							<Abstract>Emily was a record-setting storm for many reasons. When it formed on July 11, Emily became the earliest fifth named storm on record. As it moved through the Caribbean, Emily intensified into a powerful Category 4 storm with winds over 250 kilometers per hour (150 mph) and gusts as high as 300 kilometers per hour (184 mph), making it the most powerful storm to form before August. The previous record was set by Hurricane Dennis, which ripped through the Caribbean during the first week of July 2005. Emily's Category 4 status also made 2005 the only year to produce two Category 4 storms before the end of July.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-101.3208</westBoundLongitude>
+								<eastBoundLongitude>-83.279</eastBoundLongitude>
+								<southBoundLatitude>13.5513</southBoundLatitude>
+								<northBoundLatitude>32.4454</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-101.3208" miny="13.5513" maxx="-83.279" maxy="32.4454"/>
+							<Dimension name="time" units="ISO8601" default="2005-07-18T17:10Z">2005-07-18T17:10Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-07-18T17:10Z)XMIN(-101.3208)YMIN(13.5513)XMAX(-83.279)YMAX(32.4454)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-18T17:10Z)XMIN(-101.3208)YMIN(13.5513)XMAX(-83.279)YMAX(32.4454)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003200/a003200.fgdc"/>
+							</MetadataURL>
+							<DataURL>
+								<Format>text/html</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_emily.html"/>
+							</DataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3200_22108_648224</Name>
+							<Title>2005-07-19 19:20</Title>
+							<Abstract>Emily was a record-setting storm for many reasons. When it formed on July 11, Emily became the earliest fifth named storm on record. As it moved through the Caribbean, Emily intensified into a powerful Category 4 storm with winds over 250 kilometers per hour (150 mph) and gusts as high as 300 kilometers per hour (184 mph), making it the most powerful storm to form before August. The previous record was set by Hurricane Dennis, which ripped through the Caribbean during the first week of July 2005. Emily's Category 4 status also made 2005 the only year to produce two Category 4 storms before the end of July.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-100.2006</westBoundLongitude>
+								<eastBoundLongitude>-87.7963</eastBoundLongitude>
+								<southBoundLatitude>16.8039</southBoundLatitude>
+								<northBoundLatitude>31.1941</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-100.2006" miny="16.8039" maxx="-87.7963" maxy="31.1941"/>
+							<Dimension name="time" units="ISO8601" default="2005-07-19T19:20Z">2005-07-19T19:20Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-07-19T19:20Z)XMIN(-100.2006)YMIN(16.8039)XMAX(-87.7963)YMAX(31.1941)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-19T19:20Z)XMIN(-100.2006)YMIN(16.8039)XMAX(-87.7963)YMAX(31.1941)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003200/a003200.fgdc"/>
+							</MetadataURL>
+							<DataURL>
+								<Format>text/html</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_emily.html"/>
+							</DataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3200_22108_648225</Name>
+							<Title>2005-07-20 20:05</Title>
+							<Abstract>Emily was a record-setting storm for many reasons. When it formed on July 11, Emily became the earliest fifth named storm on record. As it moved through the Caribbean, Emily intensified into a powerful Category 4 storm with winds over 250 kilometers per hour (150 mph) and gusts as high as 300 kilometers per hour (184 mph), making it the most powerful storm to form before August. The previous record was set by Hurricane Dennis, which ripped through the Caribbean during the first week of July 2005. Emily's Category 4 status also made 2005 the only year to produce two Category 4 storms before the end of July.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-105.3448</westBoundLongitude>
+								<eastBoundLongitude>-91.4534</eastBoundLongitude>
+								<southBoundLatitude>17.9042</southBoundLatitude>
+								<northBoundLatitude>34.0921</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-105.3448" miny="17.9042" maxx="-91.4534" maxy="34.0921"/>
+							<Dimension name="time" units="ISO8601" default="2005-07-20T20:05Z">2005-07-20T20:05Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-07-20T20:05Z)XMIN(-105.3448)YMIN(17.9042)XMAX(-91.4534)YMAX(34.0921)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-20T20:05Z)XMIN(-105.3448)YMIN(17.9042)XMAX(-91.4534)YMAX(34.0921)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003200/a003200.fgdc"/>
+							</MetadataURL>
+							<DataURL>
+								<Format>text/html</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_emily.html"/>
+							</DataURL>
+						</Layer>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3199_22125</Name>
+					<Title>Global Surface Latent Heat Flux during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>As the Sun's energy reaches the Earth, it is either reflected, absorbed by the clouds, or absorbed by the Earth's surface.  The part absorbed by the surface heats the Earth, which causes surface water to evaporate to the air, particularly over oceans or moist land.  Similarly, a cold surface causes water to condense from the air onto the land or ocean.  Latent heat flux is the amount of energy moving from the surface to the air due to evapolation (positive values) or from the air to the land due to condensation (negative values).  This animation shows the latent heat flux for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  The animation clearly shows the evaporation over land only during the heat of the day, while the evaporation over the ocean is continuous throughout the day.  The highest positive latent heat flux occurs during hurricanes and typhoons, as these events are powered by the movement of heat energy from the warm ocean to the atmosphere, seen here in Hurricane Frances and Typhoon Songda.  Significant negative latent heat flux is somewhat rare and occurs over the ocean only during certain configurations of air and surface conditions.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Heat Flux</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003199/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003199/a003199.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global surface latent heat flux from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003199/lhfx_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3198_22136</Name>
+					<Title>Global Surface Air Temperature during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>As the Sun's energy reaches the Earth, it is either reflected, absorbed by the clouds, or absorbed by the Earth's surface.  The part absorbed by the Earth's surface heats the Earth, which then heats the air just above the surface.  This process occurs rapidly in the case of dry land and slowly in the case of the oceans. This animation shows the surface air temperature at an altitude of 2 meters for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  The animation clearly shows the air over land reacting rapidly to solar heating during the day and cooling at night, while the daily solar cyle is not visible in the temperature of the air over the ocean.  A very dynamic region of changing air temperature is visible in the interaction between the cold air over Antarctica and the warmer mid-latitude air over the southern oceans during this region of polar night.  Hurricane Frances and Typhhon Songda are just barely visible as circulating temperature patterns in the western Atlantic and Pacific Oceans.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Temperature:Surface Air Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003198/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003198/a003198.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global surface air temperature from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.
+</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003198/t2m_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3197_22130</Name>
+					<Title>Global Atmospheric Surface Pressure during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>The weight of the Earth's atmosphere exerts pressure on the surface of the Earth.  This pressure varies from place-to-place due the variations in the Earth's surface since higher altitudes have less atmosphere above them than lower altitudes.  Atmospheric pressure also varies from time-to-time due to the uneven heating of the atmosphere by the sun and the rotation of the Earth, causing weather.  This animation shows the atmospheric surface pressure for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  The major changes in pressure occur over land where the surface altitude varies, but the sharp, moving low pressures areas for Frances and Songda can be clearly seen in the oceans.  Since changing surface pressure areas over land are hard to see in these images due to the strong altitude variations, plots of the atmospheric surface pressure are almost never used to study the weather.  A different plot, of sea-level pressure, is used instead.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Pressure:Surface Pressure</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003197/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003197/a003197.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global atmospheric surface pressure from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003197/ps_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Progression of Hurricane Dennis, 2005</Title>
+					<Abstract>The formation of Hurricane Dennis on July 5 made that the earliest date on record that four named storms formed in the Atlantic basin.  Dennis proved to be a powerful and destructive storm in the Caribbean Sea and the Gulf of Mexico. It crossed over Cuba on July 8 and 9, leaving at least 10 dead, and caused additional deaths in Haiti. After re-emerging over open water, Dennis re-strengthened into a dangerous Category 4 hurricane with top wind speeds of 233 kilometers per hour (145 mph).  The storm passed within 90 kilometers (55 miles) of Pensacola, Florida, and hit land about 80 kilometers (50 miles) east of where Hurricane Ivan struck in September, 2004. A large storm surge of more than 10 feet was created in certain areas, and many homes and businesses in low-lying areas were flooded.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003194/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003194/a003194.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_dennis.html"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3194_22037</Name>
+						<Title>Hurricane Dennis Overview (1024x1024 Image)</Title>
+						<Abstract>The formation of Hurricane Dennis on July 5 made that the earliest date on record that four named storms formed in the Atlantic basin.  Dennis proved to be a powerful and destructive storm in the Caribbean Sea and the Gulf of Mexico. It crossed over Cuba on July 8 and 9, leaving at least 10 dead, and caused additional deaths in Haiti. After re-emerging over open water, Dennis re-strengthened into a dangerous Category 4 hurricane with top wind speeds of 233 kilometers per hour (145 mph).  The storm passed within 90 kilometers (55 miles) of Pensacola, Florida, and hit land about 80 kilometers (50 miles) east of where Hurricane Ivan struck in September, 2004. A large storm surge of more than 10 feet was created in certain areas, and many homes and businesses in low-lying areas were flooded.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-95.7348</westBoundLongitude>
+							<eastBoundLongitude>-62.7839</eastBoundLongitude>
+							<southBoundLatitude>8.9033</southBoundLatitude>
+							<northBoundLatitude>42.149</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-95.7348" miny="8.9033" maxx="-62.7839" maxy="42.149"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003194/a003194.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_dennis.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>This image shows a composite of the individual images available.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3194_22037</Name>
+						<Title>Hurricane Dennis (Sequence)</Title>
+						<Abstract>The formation of Hurricane Dennis on July 5 made that the earliest date on record that four named storms formed in the Atlantic basin.  Dennis proved to be a powerful and destructive storm in the Caribbean Sea and the Gulf of Mexico. It crossed over Cuba on July 8 and 9, leaving at least 10 dead, and caused additional deaths in Haiti. After re-emerging over open water, Dennis re-strengthened into a dangerous Category 4 hurricane with top wind speeds of 233 kilometers per hour (145 mph).  The storm passed within 90 kilometers (55 miles) of Pensacola, Florida, and hit land about 80 kilometers (50 miles) east of where Hurricane Ivan struck in September, 2004. A large storm surge of more than 10 feet was created in certain areas, and many homes and businesses in low-lying areas were flooded.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-95.7348</westBoundLongitude>
+							<eastBoundLongitude>-62.7839</eastBoundLongitude>
+							<southBoundLatitude>8.9033</southBoundLatitude>
+							<northBoundLatitude>42.149</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-95.7348" miny="8.9033" maxx="-62.7839" maxy="42.149"/>
+						<Dimension name="sequence" units="" default="TIME(2005-07-10T16:15Z)XMIN(-95.7348)YMIN(19.589)XMAX(-73.0861)YMAX(42.149)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-06T15:05Z)XMIN(-77.2144)YMIN(9.6031)XMAX(-62.7839)YMAX(20.3955)WIDTH(1024)HEIGHT(1024),TIME(2005-07-07T15:50Z)XMIN(-82.0162)YMIN(8.9033)XMAX(-68.9808)YMAX(25.0922)WIDTH(1024)HEIGHT(1024),TIME(2005-07-09T18:45Z)XMIN(-94.9706)YMIN(14.4642)XMAX(-73.0268)YMAX(37.5326)WIDTH(1024)HEIGHT(1024),TIME(2005-07-10T16:15Z)XMIN(-95.7348)YMIN(19.589)XMAX(-73.0861)YMAX(42.149)WIDTH(1024)HEIGHT(1024)</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003194/a003194.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_dennis.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>This image shows a composite of the individual images available.</Abstract>
+						</Style>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3194_22032_645548</Name>
+							<Title>2005-07-06 15:05</Title>
+							<Abstract>The formation of Hurricane Dennis on July 5 made that the earliest date on record that four named storms formed in the Atlantic basin.  Dennis proved to be a powerful and destructive storm in the Caribbean Sea and the Gulf of Mexico. It crossed over Cuba on July 8 and 9, leaving at least 10 dead, and caused additional deaths in Haiti. After re-emerging over open water, Dennis re-strengthened into a dangerous Category 4 hurricane with top wind speeds of 233 kilometers per hour (145 mph).  The storm passed within 90 kilometers (55 miles) of Pensacola, Florida, and hit land about 80 kilometers (50 miles) east of where Hurricane Ivan struck in September, 2004. A large storm surge of more than 10 feet was created in certain areas, and many homes and businesses in low-lying areas were flooded.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-77.2144</westBoundLongitude>
+								<eastBoundLongitude>-62.7839</eastBoundLongitude>
+								<southBoundLatitude>9.6031</southBoundLatitude>
+								<northBoundLatitude>20.3955</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-77.2144" miny="9.6031" maxx="-62.7839" maxy="20.3955"/>
+							<Dimension name="time" units="ISO8601" default="2005-07-06T15:05Z">2005-07-06T15:05Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-07-06T15:05Z)XMIN(-77.2144)YMIN(9.6031)XMAX(-62.7839)YMAX(20.3955)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-06T15:05Z)XMIN(-77.2144)YMIN(9.6031)XMAX(-62.7839)YMAX(20.3955)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003194/a003194.fgdc"/>
+							</MetadataURL>
+							<DataURL>
+								<Format>text/html</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_dennis.html"/>
+							</DataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3194_22032_645549</Name>
+							<Title>2005-07-07 15:50</Title>
+							<Abstract>The formation of Hurricane Dennis on July 5 made that the earliest date on record that four named storms formed in the Atlantic basin.  Dennis proved to be a powerful and destructive storm in the Caribbean Sea and the Gulf of Mexico. It crossed over Cuba on July 8 and 9, leaving at least 10 dead, and caused additional deaths in Haiti. After re-emerging over open water, Dennis re-strengthened into a dangerous Category 4 hurricane with top wind speeds of 233 kilometers per hour (145 mph).  The storm passed within 90 kilometers (55 miles) of Pensacola, Florida, and hit land about 80 kilometers (50 miles) east of where Hurricane Ivan struck in September, 2004. A large storm surge of more than 10 feet was created in certain areas, and many homes and businesses in low-lying areas were flooded.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-82.0162</westBoundLongitude>
+								<eastBoundLongitude>-68.9808</eastBoundLongitude>
+								<southBoundLatitude>8.9033</southBoundLatitude>
+								<northBoundLatitude>25.0922</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-82.0162" miny="8.9033" maxx="-68.9808" maxy="25.0922"/>
+							<Dimension name="time" units="ISO8601" default="2005-07-07T15:50Z">2005-07-07T15:50Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-07-07T15:50Z)XMIN(-82.0162)YMIN(8.9033)XMAX(-68.9808)YMAX(25.0922)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-07T15:50Z)XMIN(-82.0162)YMIN(8.9033)XMAX(-68.9808)YMAX(25.0922)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003194/a003194.fgdc"/>
+							</MetadataURL>
+							<DataURL>
+								<Format>text/html</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_dennis.html"/>
+							</DataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3194_22032_645550</Name>
+							<Title>2005-07-09 18:45</Title>
+							<Abstract>The formation of Hurricane Dennis on July 5 made that the earliest date on record that four named storms formed in the Atlantic basin.  Dennis proved to be a powerful and destructive storm in the Caribbean Sea and the Gulf of Mexico. It crossed over Cuba on July 8 and 9, leaving at least 10 dead, and caused additional deaths in Haiti. After re-emerging over open water, Dennis re-strengthened into a dangerous Category 4 hurricane with top wind speeds of 233 kilometers per hour (145 mph).  The storm passed within 90 kilometers (55 miles) of Pensacola, Florida, and hit land about 80 kilometers (50 miles) east of where Hurricane Ivan struck in September, 2004. A large storm surge of more than 10 feet was created in certain areas, and many homes and businesses in low-lying areas were flooded.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-94.9706</westBoundLongitude>
+								<eastBoundLongitude>-73.0268</eastBoundLongitude>
+								<southBoundLatitude>14.4642</southBoundLatitude>
+								<northBoundLatitude>37.5326</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-94.9706" miny="14.4642" maxx="-73.0268" maxy="37.5326"/>
+							<Dimension name="time" units="ISO8601" default="2005-07-09T18:45Z">2005-07-09T18:45Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-07-09T18:45Z)XMIN(-94.9706)YMIN(14.4642)XMAX(-73.0268)YMAX(37.5326)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-09T18:45Z)XMIN(-94.9706)YMIN(14.4642)XMAX(-73.0268)YMAX(37.5326)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003194/a003194.fgdc"/>
+							</MetadataURL>
+							<DataURL>
+								<Format>text/html</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_dennis.html"/>
+							</DataURL>
+						</Layer>
+						<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3194_22032_645551</Name>
+							<Title>2005-07-10 16:15</Title>
+							<Abstract>The formation of Hurricane Dennis on July 5 made that the earliest date on record that four named storms formed in the Atlantic basin.  Dennis proved to be a powerful and destructive storm in the Caribbean Sea and the Gulf of Mexico. It crossed over Cuba on July 8 and 9, leaving at least 10 dead, and caused additional deaths in Haiti. After re-emerging over open water, Dennis re-strengthened into a dangerous Category 4 hurricane with top wind speeds of 233 kilometers per hour (145 mph).  The storm passed within 90 kilometers (55 miles) of Pensacola, Florida, and hit land about 80 kilometers (50 miles) east of where Hurricane Ivan struck in September, 2004. A large storm surge of more than 10 feet was created in certain areas, and many homes and businesses in low-lying areas were flooded.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-95.7348</westBoundLongitude>
+								<eastBoundLongitude>-73.0861</eastBoundLongitude>
+								<southBoundLatitude>19.589</southBoundLatitude>
+								<northBoundLatitude>42.149</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-95.7348" miny="19.589" maxx="-73.0861" maxy="42.149"/>
+							<Dimension name="time" units="ISO8601" default="2005-07-10T16:15Z">2005-07-10T16:15Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2005-07-10T16:15Z)XMIN(-95.7348)YMIN(19.589)XMAX(-73.0861)YMAX(42.149)WIDTH(1024)HEIGHT(1024)">TIME(2005-07-10T16:15Z)XMIN(-95.7348)YMIN(19.589)XMAX(-73.0861)YMAX(42.149)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003194/a003194.fgdc"/>
+							</MetadataURL>
+							<DataURL>
+								<Format>text/html</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nasa.gov/vision/earth/lookingatearth/h2005_dennis.html"/>
+							</DataURL>
+						</Layer>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="721">
+					<Name>3182_22152</Name>
+					<Title>Global Atmospheric Sea Level Pressure during Hurricane Frances (1000x721 Animation)</Title>
+					<Abstract>The weight of the Earth's atmosphere exerts pressure on the surface of the Earth.  This pressure varies from place-to-place due the variations in the Earth's surface since higher altitudes have less atmosphere above them than lower altitudes.  Atmospheric pressure also varies from time-to-time due to the uneven heating of the atmosphere by the sun and the rotation of the Earth, causing weather.  In order to see the changes in pressure which affect the weather, the variation due to altitude is removed from the surface pressure, creating a quantity called sea level pressure.  This animation shows the atmospheric sea level pressure for the whole globe from September 1, 2004, through September 5, 2004, during the period of Hurricane Frances in the western Atlantic Ocean and Typhoon Songda in the western Pacific Ocean.  The sharp, moving low pressures areas for Frances and Songda can be clearly seen in the oceans.  Even with the direct effect of altitude removed, cold high-altitude regions such as the South Pole and the Himalayan Plateau still exhibit lower-than-normal pressures, probably due to the interaction of cold air over those regions with the warmer air in the surrounding regions.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Typhoons</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Pressure:Sea Level Pressure</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Frances</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-09-06T00Z">2004-09-01T03Z/2004-09-06T00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003182/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003182/a003182.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Global atmospheric sea level pressure from the 0.25 degree resolution fvGCM atmospheric model for the period 9/1/2005 through 9/5/2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003182/slp_bar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+					<Name>3169_21478</Name>
+					<Title>Sulfur Dioxide from the Mount Pinatubo Volcanic Eruption, 1991 (1024x256 Animation)</Title>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Aerosols:Sulfate Particles</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Air Quality:Sulfur Oxides</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Sulfur Compounds:Sulfur Dioxide</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Sulfur Compounds:Sulfur Oxides</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Geological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Volcanoes:Volcanic Gases</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-65</westBoundLongitude>
+						<eastBoundLongitude>125</eastBoundLongitude>
+						<southBoundLatitude>-18.75</southBoundLatitude>
+						<northBoundLatitude>28.75</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-65" miny="-18.75" maxx="125" maxy="28.75"/>
+					<Dimension name="time" units="ISO8601" default="1991-06-29">1991-06-16/1991-06-29/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003169/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003169/a003169.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows levels of sulfur dioxide in the atmosphere after the volcanic eruption of Mt. Pinatubo in the Philippines.</Abstract>
+						<LegendURL width="320" height="100">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003169/so2bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>United States Median Center of Population, 1880-2000</Title>
+					<Abstract><![CDATA[The median center of population is calculated from the intersection of two median lines.  The first median line is the geographic line running north and south that divides the population into two equal halves, east and west.  The second median line is the geographic line running east and west that divides the population into two equal halves, north and south.  For the 2000 United States Census, the median center of population was located in Van Buren township, Daviess County, Indiana.  For a complete list of the median center of population for each census since 1880, and for a more detailed description of how these values are calculated, see (<a href=http://www.census.gov/geo/www/cenpop/calculate2k.pdf>http://www.census.gov/geo/www/cenpop/calculate2k.pdf</a>).]]></Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Population:Population Distribution</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003164/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003164/a003164.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3164_21402</Name>
+						<Title>United States Median Center of Population, 1880-2000 (1024x512 Animation)</Title>
+						<Abstract><![CDATA[The median center of population is calculated from the intersection of two median lines.  The first median line is the geographic line running north and south that divides the population into two equal halves, east and west.  The second median line is the geographic line running east and west that divides the population into two equal halves, north and south.  For the 2000 United States Census, the median center of population was located in Van Buren township, Daviess County, Indiana.  For a complete list of the median center of population for each census since 1880, and for a more detailed description of how these values are calculated, see (<a href=http://www.census.gov/geo/www/cenpop/calculate2k.pdf>http://www.census.gov/geo/www/cenpop/calculate2k.pdf</a>).]]></Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Human geography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Population:Population Distribution</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-126</westBoundLongitude>
+							<eastBoundLongitude>-66</eastBoundLongitude>
+							<southBoundLatitude>22</southBoundLatitude>
+							<northBoundLatitude>52</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-126" miny="22" maxx="-66" maxy="52"/>
+						<Dimension name="time" units="ISO8601" default="2000-">1880-/2000-/P10Y</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003164/a003164.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the median center of population for the United States from each census from 1880-2000.  This version provides only the transparent overlay.</Abstract>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the median center of population for the United States from each census from 1880-2000.  This version provides the transparent overlay composited with a background image.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3164_21402_bg</Name>
+						<Title>Background Image for United States Median Center of Population, 1880-2000 (WMS)</Title>
+						<Abstract><![CDATA[The median center of population is calculated from the intersection of two median lines.  The first median line is the geographic line running north and south that divides the population into two equal halves, east and west.  The second median line is the geographic line running east and west that divides the population into two equal halves, north and south.  For the 2000 United States Census, the median center of population was located in Van Buren township, Daviess County, Indiana.  For a complete list of the median center of population for each census since 1880, and for a more detailed description of how these values are calculated, see (<a href=http://www.census.gov/geo/www/cenpop/calculate2k.pdf>http://www.census.gov/geo/www/cenpop/calculate2k.pdf</a>).
+
+This image can be composited with the previous animation.]]></Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Human geography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Population:Population Distribution</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-126</westBoundLongitude>
+							<eastBoundLongitude>-66</eastBoundLongitude>
+							<southBoundLatitude>22</southBoundLatitude>
+							<northBoundLatitude>52</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-126" miny="22" maxx="-66" maxy="52"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003164/a003164.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>United States Mean Population Center, 1790-2000</Title>
+					<Abstract><![CDATA[The mean center of population, traditionally referred to as the center of population, is provided for each census in the United States since 1790.  The mean center of population is the point at which an imaginary, flat, weightless, and rigid map of the United States would balance if weights of identical value were placed on it so that each weight represented the location of one person.  The mean center of population based on the 2000 census results is located in Phelps County, Missouri.  For a complete list of the mean center of population for each census since 1790, and for a more detailed description of how these values are calculated, see <a href='http://www.census.gov/geo/www/cenpop/calculate2k.pdf'>http://www.census.gov/geo/www/cenpop/calculate2k.pdf</a>.]]></Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Population:Population Distribution</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003163/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003163/a003163.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3163_21398</Name>
+						<Title>United States Mean Population Center, 1790-2000 (1024x512 Animation)</Title>
+						<Abstract><![CDATA[The mean center of population, traditionally referred to as the center of population, is provided for each census in the United States since 1790.  The mean center of population is the point at which an imaginary, flat, weightless, and rigid map of the United States would balance if weights of identical value were placed on it so that each weight represented the location of one person.  The mean center of population based on the 2000 census results is located in Phelps County, Missouri.  For a complete list of the mean center of population for each census since 1790, and for a more detailed description of how these values are calculated, see <a href='http://www.census.gov/geo/www/cenpop/calculate2k.pdf'>http://www.census.gov/geo/www/cenpop/calculate2k.pdf</a>.]]></Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Human geography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Population:Population Distribution</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-126</westBoundLongitude>
+							<eastBoundLongitude>-66</eastBoundLongitude>
+							<southBoundLatitude>22</southBoundLatitude>
+							<northBoundLatitude>52</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-126" miny="22" maxx="-66" maxy="52"/>
+						<Dimension name="time" units="ISO8601" default="2000-">1790-/2000-/P10Y</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003163/a003163.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the mean population center of the United States for each census from 1790-2000.  This version provides only the transparent overlay.</Abstract>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the mean population center of the United States for each census from 1790-2000.  This version provides the transparent overlay composited with a background image.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3163_21398_bg</Name>
+						<Title>Background Image for United States Mean Population Center, 1790-2000 (WMS)</Title>
+						<Abstract><![CDATA[The mean center of population, traditionally referred to as the center of population, is provided for each census in the United States since 1790.  The mean center of population is the point at which an imaginary, flat, weightless, and rigid map of the United States would balance if weights of identical value were placed on it so that each weight represented the location of one person.  The mean center of population based on the 2000 census results is located in Phelps County, Missouri.  For a complete list of the mean center of population for each census since 1790, and for a more detailed description of how these values are calculated, see <a href='http://www.census.gov/geo/www/cenpop/calculate2k.pdf'>http://www.census.gov/geo/www/cenpop/calculate2k.pdf</a>.
+
+This image can be composited with the previous animation.]]></Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Human geography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Population:Population Distribution</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-126</westBoundLongitude>
+							<eastBoundLongitude>-66</eastBoundLongitude>
+							<southBoundLatitude>22</southBoundLatitude>
+							<northBoundLatitude>52</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-126" miny="22" maxx="-66" maxy="52"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003163/a003163.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Progression of Hurricane Fabian, 2003</Title>
+					<Abstract>Hurricane Fabian threatened the Eastern Coast of the United States before it turned northward and hit the island of Bermuda instead.  Fabian came within 50 miles to the west of Bermuda on September 5th, 2003, with sustained winds of 117 miles per hour and with gusts of up to 130 miles per hour.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003158/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003158/a003158.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3158_21476</Name>
+						<Title>Hurricane Fabian Overview (1024x1024 Image)</Title>
+						<Abstract>Hurricane Fabian threatened the Eastern Coast of the United States before it turned northward and hit the island of Bermuda instead.  Fabian came within 50 miles to the west of Bermuda on September 5th, 2003, with sustained winds of 117 miles per hour and with gusts of up to 130 miles per hour.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-73.3988646679502</westBoundLongitude>
+							<eastBoundLongitude>-51.6878957662918</eastBoundLongitude>
+							<southBoundLatitude>12.1864453836873</southBoundLatitude>
+							<northBoundLatitude>46.2285439641392</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-73.3988646679502" miny="12.1864453836873" maxx="-51.6878957662918" maxy="46.2285439641392"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003158/a003158.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence for Hurricane Fabian.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3158_21476</Name>
+						<Title>Hurricane Fabian (Sequence)</Title>
+						<Abstract>Hurricane Fabian threatened the Eastern Coast of the United States before it turned northward and hit the island of Bermuda instead.  Fabian came within 50 miles to the west of Bermuda on September 5th, 2003, with sustained winds of 117 miles per hour and with gusts of up to 130 miles per hour.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-73.3988646679502</westBoundLongitude>
+							<eastBoundLongitude>-51.6878957662918</eastBoundLongitude>
+							<southBoundLatitude>12.1864453836873</southBoundLatitude>
+							<northBoundLatitude>46.2285439641392</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-73.3988646679502" miny="12.1864453836873" maxx="-51.6878957662918" maxy="46.2285439641392"/>
+						<Dimension name="sequence" units="" default="TIME(2003-09-06T17:05Z)XMIN(-71.9716053673508)YMIN(27.5548601648605)XMAX(-51.7096756196702)YMAX(46.2285439641392)WIDTH(1024)HEIGHT(1024)">TIME(2003-09-02T14:20Z)XMIN(-67.6655825812883)YMIN(12.1864453836873)XMAX(-51.6878957662918)YMAX(29.713525136042)WIDTH(1024)HEIGHT(1024),TIME(2003-09-03T15:05Z)XMIN(-70.9776173027262)YMIN(13.6760596194853)XMAX(-56.487052746793)YMAX(30.1395398125951)WIDTH(1024)HEIGHT(1024),TIME(2003-09-04T17:15Z)XMIN(-73.3988646679502)YMIN(16.658716042271)XMAX(-55.6280401234404)YMAX(35.208370482015)WIDTH(1024)HEIGHT(1024),TIME(2003-09-05T14:50Z)XMIN(-73.3839272370537)YMIN(22.8270411545016)XMAX(-55.2786233131957)YMAX(40.9370508103736)WIDTH(1024)HEIGHT(1024),TIME(2003-09-06T17:05Z)XMIN(-71.9716053673508)YMIN(27.5548601648605)XMAX(-51.7096756196702)YMAX(46.2285439641392)WIDTH(1024)HEIGHT(1024)</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003158/a003158.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence for Hurricane Fabian.</Abstract>
+						</Style>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3158_21378_526232</Name>
+							<Title>2003-09-02 14:20</Title>
+							<Abstract>Hurricane Fabian threatened the Eastern Coast of the United States before it turned northward and hit the island of Bermuda instead.  Fabian came within 50 miles to the west of Bermuda on September 5th, 2003, with sustained winds of 117 miles per hour and with gusts of up to 130 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-67.6655825812883</westBoundLongitude>
+								<eastBoundLongitude>-51.6878957662918</eastBoundLongitude>
+								<southBoundLatitude>12.1864453836873</southBoundLatitude>
+								<northBoundLatitude>29.713525136042</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-67.6655825812883" miny="12.1864453836873" maxx="-51.6878957662918" maxy="29.713525136042"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-02T14:20Z">2003-09-02T14:20Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-02T14:20Z)XMIN(-67.6655825812883)YMIN(12.1864453836873)XMAX(-51.6878957662918)YMAX(29.713525136042)WIDTH(1024)HEIGHT(1024)">TIME(2003-09-02T14:20Z)XMIN(-67.6655825812883)YMIN(12.1864453836873)XMAX(-51.6878957662918)YMAX(29.713525136042)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003158/a003158.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3158_21378_526233</Name>
+							<Title>2003-09-03 15:05</Title>
+							<Abstract>Hurricane Fabian threatened the Eastern Coast of the United States before it turned northward and hit the island of Bermuda instead.  Fabian came within 50 miles to the west of Bermuda on September 5th, 2003, with sustained winds of 117 miles per hour and with gusts of up to 130 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-70.9776173027262</westBoundLongitude>
+								<eastBoundLongitude>-56.487052746793</eastBoundLongitude>
+								<southBoundLatitude>13.6760596194853</southBoundLatitude>
+								<northBoundLatitude>30.1395398125951</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-70.9776173027262" miny="13.6760596194853" maxx="-56.487052746793" maxy="30.1395398125951"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-03T15:05Z">2003-09-03T15:05Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-03T15:05Z)XMIN(-70.9776173027262)YMIN(13.6760596194853)XMAX(-56.487052746793)YMAX(30.1395398125951)WIDTH(1024)HEIGHT(1024)">TIME(2003-09-03T15:05Z)XMIN(-70.9776173027262)YMIN(13.6760596194853)XMAX(-56.487052746793)YMAX(30.1395398125951)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003158/a003158.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3158_21378_526234</Name>
+							<Title>2003-09-04 17:15</Title>
+							<Abstract>Hurricane Fabian threatened the Eastern Coast of the United States before it turned northward and hit the island of Bermuda instead.  Fabian came within 50 miles to the west of Bermuda on September 5th, 2003, with sustained winds of 117 miles per hour and with gusts of up to 130 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-73.3988646679502</westBoundLongitude>
+								<eastBoundLongitude>-55.6280401234404</eastBoundLongitude>
+								<southBoundLatitude>16.658716042271</southBoundLatitude>
+								<northBoundLatitude>35.208370482015</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-73.3988646679502" miny="16.658716042271" maxx="-55.6280401234404" maxy="35.208370482015"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-04T17:15Z">2003-09-04T17:15Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-04T17:15Z)XMIN(-73.3988646679502)YMIN(16.658716042271)XMAX(-55.6280401234404)YMAX(35.208370482015)WIDTH(1024)HEIGHT(1024)">TIME(2003-09-04T17:15Z)XMIN(-73.3988646679502)YMIN(16.658716042271)XMAX(-55.6280401234404)YMAX(35.208370482015)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003158/a003158.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3158_21378_526235</Name>
+							<Title>2003-09-05 14:50</Title>
+							<Abstract>Hurricane Fabian threatened the Eastern Coast of the United States before it turned northward and hit the island of Bermuda instead.  Fabian came within 50 miles to the west of Bermuda on September 5th, 2003, with sustained winds of 117 miles per hour and with gusts of up to 130 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-73.3839272370537</westBoundLongitude>
+								<eastBoundLongitude>-55.2786233131957</eastBoundLongitude>
+								<southBoundLatitude>22.8270411545016</southBoundLatitude>
+								<northBoundLatitude>40.9370508103736</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-73.3839272370537" miny="22.8270411545016" maxx="-55.2786233131957" maxy="40.9370508103736"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-05T14:50Z">2003-09-05T14:50Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-05T14:50Z)XMIN(-73.3839272370537)YMIN(22.8270411545016)XMAX(-55.2786233131957)YMAX(40.9370508103736)WIDTH(1024)HEIGHT(1024)">TIME(2003-09-05T14:50Z)XMIN(-73.3839272370537)YMIN(22.8270411545016)XMAX(-55.2786233131957)YMAX(40.9370508103736)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003158/a003158.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3158_21378_526236</Name>
+							<Title>2003-09-06 17:05</Title>
+							<Abstract>Hurricane Fabian threatened the Eastern Coast of the United States before it turned northward and hit the island of Bermuda instead.  Fabian came within 50 miles to the west of Bermuda on September 5th, 2003, with sustained winds of 117 miles per hour and with gusts of up to 130 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-71.9716053673508</westBoundLongitude>
+								<eastBoundLongitude>-51.7096756196702</eastBoundLongitude>
+								<southBoundLatitude>27.5548601648605</southBoundLatitude>
+								<northBoundLatitude>46.2285439641392</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-71.9716053673508" miny="27.5548601648605" maxx="-51.7096756196702" maxy="46.2285439641392"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-06T17:05Z">2003-09-06T17:05Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-06T17:05Z)XMIN(-71.9716053673508)YMIN(27.5548601648605)XMAX(-51.7096756196702)YMAX(46.2285439641392)WIDTH(1024)HEIGHT(1024)">TIME(2003-09-06T17:05Z)XMIN(-71.9716053673508)YMIN(27.5548601648605)XMAX(-51.7096756196702)YMAX(46.2285439641392)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003158/a003158.fgdc"/>
+							</MetadataURL>
+						</Layer>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="1000">
+					<Name>3157_21374</Name>
+					<Title>Urban Signatures: Sensible Heat Flux (1000x1000 Image)</Title>
+					<Abstract>Big cities influence the environment around them. For example, urban areas are typically warmer than their surroundings. Cities are strikingly visible in computer models that simulate the Earth's land surface. This visualization shows sensible heat flux predicted by the Land Information System (LIS) for a day in June 2001. (Sensible heat flux refers to transfer of heat from the earth's surface to the air above; for further explanation see http://www.uwsp.edu/geo/faculty/ritter/geog101/textbook/energy/energy_balance.html). Sensible heat flux is higher in the cities--that is, they transfer more heat to the atmosphere--because the surface there is warmer than in the surroundings. Only part of the global computation is shown, focusing on the highly urbanized northeast corridor in the United States, including the cities of Boston, New York, Philadelphia, Baltimore, and Washington.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Heat Flux</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Urban Lands</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Land Temperature:Land Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">Location:United States Of America</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-79.7</westBoundLongitude>
+						<eastBoundLongitude>-69.7</eastBoundLongitude>
+						<southBoundLatitude>34.5</southBoundLatitude>
+						<northBoundLatitude>44.5</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-79.7" miny="34.5" maxx="-69.7" maxy="44.5"/>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003157/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003157/a003157.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This image shows sensible heat flux (watts per
+square meter) predicted by LIS for 2001/06/11. The warm urban areas
+have higher positive flux (heat flowing towards the atmosphere)
+and stand out very distinctly against their
+surroundings.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003157/qh_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="1000">
+					<Name>3156_21370</Name>
+					<Title>Urban Signatures: Latent Heat Flux (1000x1000 Image)</Title>
+					<Abstract>Big cities influence the environment around them. For example, urban areas are typically warmer than their surroundings. Cities are strikingly visible in computer models that simulate the Earth's land surface. This visualization shows latent heat flux predicted by the Land Information System (LIS) for a day in June 2001. (Latent heat flux refers to the transfer of energy from the Earth's surface to the air above by evaporation of water on the surface; for a more detailed explanation see http://www.uwsp.edu/geo/faculty/ritter/geog101/textbook/energy/energy_balance.html). Latent heat flux is lower in the cities because there is less evaporation there. Only part of the global computation is shown, focusing on the highly urbanized northeast corridor in the United States, including the cities of Boston, New York, Philadelphia, Baltimore, and Washington.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Heat Flux</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Urban Lands</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Land Temperature:Land Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">Location:United States Of America</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-79.7</westBoundLongitude>
+						<eastBoundLongitude>-69.7</eastBoundLongitude>
+						<southBoundLatitude>34.5</southBoundLatitude>
+						<northBoundLatitude>44.5</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-79.7" miny="34.5" maxx="-69.7" maxy="44.5"/>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003156/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003156/a003156.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This image shows latent heat flux (watts per
+square meter) predicted by LIS for 2001/06/11. The urban areas
+stand out very distinctly against their surroundings, which have
+more evaporation and therefore greater latent heat
+flux.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003156/qle_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="1000">
+					<Name>3155_21366</Name>
+					<Title>Urban Signatures: Thermal Radiation (1000x1000 Image)</Title>
+					<Abstract>Big cities influence the environment around them. For example, urban areas are typically warmer than their surroundings. Cities are strikingly visible in computer models that simulate the Earth's land surface. This visualization shows outgoing thermal radiation predicted by the Land Information System (LIS) for a day in June 2001. Cities are warmer, so they emit more longwave (infrared) radiation. Only part of the global computation is shown, focusing on the highly urbanized northeast corridor in the United States, including the cities of Boston, New York, Philadelphia, Baltimore, and Washington.
+
+Additional Credit:
+NASA GSFC Land Information System (http://lis.gsfc.nasa.gov/)</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Outgoing Longwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Urban Lands</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">Location:United States Of America</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-79.7</westBoundLongitude>
+						<eastBoundLongitude>-69.7</eastBoundLongitude>
+						<southBoundLatitude>34.5</southBoundLatitude>
+						<northBoundLatitude>44.5</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-79.7" miny="34.5" maxx="-69.7" maxy="44.5"/>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003155/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003155/a003155.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This image shows outgoing thermal radiation
+(watts per square meter) predicted by LIS for 2001/06/11. The
+urban areas stand out very distinctly against their less
+radiative surroundings.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003155/thermal_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="1000">
+					<Name>3154_21362</Name>
+					<Title>Urban Signatures: Evaporation (1000x1000 Image)</Title>
+					<Abstract>Big cities influence the environment around them. For example, urban areas are typically warmer than their surroundings. Cities are strikingly visible in computer models that simulate the Earth's land surface. This visualization shows evaporation rates predicted by the Land Information System (LIS) for a day in June 2001. Evaporation is lower in the cities because water tends to run off pavement and into drains, rather than being absorbed by soil and plants from which it later evaporates. Only part of the global computation is shown, focusing on the highly urbanized northeast corridor in the United States, including the cities of Boston, New York, Philadelphia, Baltimore, and Washington.
+
+Additional Credit:
+NASA GSFC Land Information System (http://lis.gsfc.nasa.gov/)</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Water Vapor:Evaporation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Urban Lands</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">Location:United States Of America</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-79.7</westBoundLongitude>
+						<eastBoundLongitude>-69.7</eastBoundLongitude>
+						<southBoundLatitude>34.5</southBoundLatitude>
+						<northBoundLatitude>44.5</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-79.7" miny="34.5" maxx="-69.7" maxy="44.5"/>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003154/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003154/a003154.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This image shows evaporation rate (milligrams
+per square meter per second) predicted by LIS for 2001/06/11.
+The urban areas stand out very distinctly against their
+more evaporative surroundings.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003154/evap_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Progression of Hurricane Charley, 2004</Title>
+					<Abstract>Hurricane Charley was the first of four hurricanes to hit the United States in 2004.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003153/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003153/a003153.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3153_21359</Name>
+						<Title>Hurricane Charley Overview (1024x1024 Image)</Title>
+						<Abstract>Hurricane Charley was the first of four hurricanes to hit the United States in 2004.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-90.525325927223</westBoundLongitude>
+							<eastBoundLongitude>-68.821045230809</eastBoundLongitude>
+							<southBoundLatitude>12.6028528928826</southBoundLatitude>
+							<northBoundLatitude>34.2722330213433</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-90.525325927223" miny="12.6028528928826" maxx="-68.821045230809" maxy="34.2722330213433"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003153/a003153.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence for Hurricane Charley.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3153_21359</Name>
+						<Title>Hurricane Charley (Sequence)</Title>
+						<Abstract>Hurricane Charley was the first of four hurricanes to hit the United States in 2004.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-90.525325927223</westBoundLongitude>
+							<eastBoundLongitude>-68.821045230809</eastBoundLongitude>
+							<southBoundLatitude>12.6028528928826</southBoundLatitude>
+							<northBoundLatitude>34.2722330213433</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-90.525325927223" miny="12.6028528928826" maxx="-68.821045230809" maxy="34.2722330213433"/>
+						<Dimension name="sequence" units="" default="TIME(2004-08-13T16:35Z)XMIN(-90.525325927223)YMIN(17.6179037119539)XMAX(-74.7645429695549)YMAX(34.2722330213433)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-11T18:15Z)XMIN(-83.1766)YMIN(12.6028528928826)XMAX(-68.821045230809)YMAX(23.3947)WIDTH(1024)HEIGHT(1024),TIME(2004-08-12T15:55Z)XMIN(-88.8944)YMIN(15.1524323006229)XMAX(-73.10328975389)YMAX(26.8436)WIDTH(1024)HEIGHT(1024),TIME(2004-08-13T16:35Z)XMIN(-90.525325927223)YMIN(17.6179037119539)XMAX(-74.7645429695549)YMAX(34.2722330213433)WIDTH(1024)HEIGHT(1024)</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003153/a003153.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence for Hurricane Charley.</Abstract>
+						</Style>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3153_21352_526229</Name>
+							<Title>2004-08-11 18:15</Title>
+							<Abstract>Hurricane Charley was the first of four hurricanes to hit the United States in 2004.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-83.1766</westBoundLongitude>
+								<eastBoundLongitude>-68.821045230809</eastBoundLongitude>
+								<southBoundLatitude>12.6028528928826</southBoundLatitude>
+								<northBoundLatitude>23.3947</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-83.1766" miny="12.6028528928826" maxx="-68.821045230809" maxy="23.3947"/>
+							<Dimension name="time" units="ISO8601" default="2004-08-11T18:15Z">2004-08-11T18:15Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-08-11T18:15Z)XMIN(-83.1766)YMIN(12.6028528928826)XMAX(-68.821045230809)YMAX(23.3947)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-11T18:15Z)XMIN(-83.1766)YMIN(12.6028528928826)XMAX(-68.821045230809)YMAX(23.3947)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003153/a003153.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3153_21352_526230</Name>
+							<Title>2004-08-12 15:55</Title>
+							<Abstract>Hurricane Charley was the first of four hurricanes to hit the United States in 2004.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-88.8944</westBoundLongitude>
+								<eastBoundLongitude>-73.10328975389</eastBoundLongitude>
+								<southBoundLatitude>15.1524323006229</southBoundLatitude>
+								<northBoundLatitude>26.8436</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-88.8944" miny="15.1524323006229" maxx="-73.10328975389" maxy="26.8436"/>
+							<Dimension name="time" units="ISO8601" default="2004-08-12T15:55Z">2004-08-12T15:55Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-08-12T15:55Z)XMIN(-88.8944)YMIN(15.1524323006229)XMAX(-73.10328975389)YMAX(26.8436)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-12T15:55Z)XMIN(-88.8944)YMIN(15.1524323006229)XMAX(-73.10328975389)YMAX(26.8436)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003153/a003153.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3153_21352_526231</Name>
+							<Title>2004-08-13 16:35</Title>
+							<Abstract>Hurricane Charley was the first of four hurricanes to hit the United States in 2004.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-90.525325927223</westBoundLongitude>
+								<eastBoundLongitude>-74.7645429695549</eastBoundLongitude>
+								<southBoundLatitude>17.6179037119539</southBoundLatitude>
+								<northBoundLatitude>34.2722330213433</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-90.525325927223" miny="17.6179037119539" maxx="-74.7645429695549" maxy="34.2722330213433"/>
+							<Dimension name="time" units="ISO8601" default="2004-08-13T16:35Z">2004-08-13T16:35Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-08-13T16:35Z)XMIN(-90.525325927223)YMIN(17.6179037119539)XMAX(-74.7645429695549)YMAX(34.2722330213433)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-13T16:35Z)XMIN(-90.525325927223)YMIN(17.6179037119539)XMAX(-74.7645429695549)YMAX(34.2722330213433)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003153/a003153.fgdc"/>
+							</MetadataURL>
+						</Layer>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="1000">
+					<Name>3152_21348</Name>
+					<Title>Urban Signatures: Temperature (1000x1000 Image)</Title>
+					<Abstract>Big cities influence the environment around them. For example, urban areas are typically warmer than their surroundings. Cities are strikingly visible in computer models that simulate the Earth's land surface. This visualization shows average surface temperature predicted by the Land Information System (LIS) for a day in June 2001. Only part of the global computation is shown, focusing on the highly urbanized northeast corridor in the United States, including the cities of Boston, New York, Philadelphia, Baltimore, and Washington.
+
+Additional Credit:
+NASA GSFC Land Information System (http://lis.gsfc.nasa.gov/)</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Urban Lands</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Land Temperature:Land Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">Location:United States Of America</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-79.7</westBoundLongitude>
+						<eastBoundLongitude>-69.7</eastBoundLongitude>
+						<southBoundLatitude>34.5</southBoundLatitude>
+						<northBoundLatitude>44.5</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-79.7" miny="34.5" maxx="-69.7" maxy="44.5"/>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003152/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003152/a003152.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This image shows average surface temperatures
+predicted by LIS for 2001/06/11. Temperatures range from 9 C to
+35 C (48F to 95F), with the hottest areas being red and dark
+red. Temperatures are generally cooler farther north and at
+higher elevations. The urban areas stand out very distinctly
+against their surroundings.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003152/temp_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Progression of Hurricane Ivan, 2004</Title>
+					<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3151_21311</Name>
+						<Title>Hurricane Ivan Overview (1024x1024 Image)</Title>
+						<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-97.783357423868</westBoundLongitude>
+							<eastBoundLongitude>-40.063501905874</eastBoundLongitude>
+							<southBoundLatitude>2.35578681630744</southBoundLatitude>
+							<northBoundLatitude>44.444111472387</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-97.783357423868" miny="2.35578681630744" maxx="-40.063501905874" maxy="44.444111472387"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence for Hurricane Ivan.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3151_21311</Name>
+						<Title>Hurricane Ivan (Sequence)</Title>
+						<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-97.783357423868</westBoundLongitude>
+							<eastBoundLongitude>-40.063501905874</eastBoundLongitude>
+							<southBoundLatitude>2.35578681630744</southBoundLatitude>
+							<northBoundLatitude>44.444111472387</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-97.783357423868" miny="2.35578681630744" maxx="-40.063501905874" maxy="44.444111472387"/>
+						<Dimension name="sequence" units="" default="TIME(2004-09-16T16:23Z)XMIN(-94.7314750830772)YMIN(22.0812866731224)XMAX(-70.9849415837094)YMAX(44.444111472387)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-05T13:30Z)XMIN(-51.9346000000001)YMIN(2.35578681630744)XMAX(-40.063501905874)YMAX(17.6435)WIDTH(1024)HEIGHT(1024),TIME(2004-09-09T17:45Z)XMIN(-78.5077487919946)YMIN(7.18961872427302)XMAX(-62.964508362621)YMAX(24.7389598417687)WIDTH(1024)HEIGHT(1024),TIME(2004-09-10T15:25Z)XMIN(-83.6721612098308)YMIN(6.88825750650757)XMAX(-65.6730835044227)YMAX(27.0173094238337)WIDTH(1024)HEIGHT(1024),TIME(2004-09-10T18:30Z)XMIN(-85.3007505809697)YMIN(6.8151294646824)XMAX(-65.6560794921068)YMAX(28.9493486570163)WIDTH(1024)HEIGHT(1024),TIME(2004-09-11T16:10Z)XMIN(-87.421731513595)YMIN(7.8337406325151)XMAX(-69.2183638045244)YMAX(28.0301279782744)WIDTH(1024)HEIGHT(1024),TIME(2004-09-13T15:55Z)XMIN(-90.3224319644198)YMIN(11.6666681770917)XMAX(-72.8166172201217)YMAX(31.1420592458859)WIDTH(1024)HEIGHT(1024),TIME(2004-09-13T19:00Z)XMIN(-92.2394754889654)YMIN(12.5806906041461)XMAX(-76.6876355017955)YMAX(30.2816133891251)WIDTH(1024)HEIGHT(1024),TIME(2004-09-14T16:35Z)XMIN(-92.9610362755348)YMIN(15.3418167282253)XMAX(-76.1137010823715)YMAX(33.4599091686758)WIDTH(1024)HEIGHT(1024),TIME(2004-09-15T18:50Z)XMIN(-97.783357423868)YMIN(21.3194031782046)XMAX(-73.6086011220815)YMAX(39.0517834167672)WIDTH(1024)HEIGHT(1024),TIME(2004-09-16T16:23Z)XMIN(-94.7314750830772)YMIN(22.0812866731224)XMAX(-70.9849415837094)YMAX(44.444111472387)WIDTH(1024)HEIGHT(1024)</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence for Hurricane Ivan.</Abstract>
+						</Style>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522947</Name>
+							<Title>2004-09-05 13:30</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-51.9346000000001</westBoundLongitude>
+								<eastBoundLongitude>-40.063501905874</eastBoundLongitude>
+								<southBoundLatitude>2.35578681630744</southBoundLatitude>
+								<northBoundLatitude>17.6435</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-51.9346000000001" miny="2.35578681630744" maxx="-40.063501905874" maxy="17.6435"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-05T13:30Z">2004-09-05T13:30Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-05T13:30Z)XMIN(-51.9346000000001)YMIN(2.35578681630744)XMAX(-40.063501905874)YMAX(17.6435)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-05T13:30Z)XMIN(-51.9346000000001)YMIN(2.35578681630744)XMAX(-40.063501905874)YMAX(17.6435)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522948</Name>
+							<Title>2004-09-09 17:45</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-78.5077487919946</westBoundLongitude>
+								<eastBoundLongitude>-62.964508362621</eastBoundLongitude>
+								<southBoundLatitude>7.18961872427302</southBoundLatitude>
+								<northBoundLatitude>24.7389598417687</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-78.5077487919946" miny="7.18961872427302" maxx="-62.964508362621" maxy="24.7389598417687"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-09T17:45Z">2004-09-09T17:45Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-09T17:45Z)XMIN(-78.5077487919946)YMIN(7.18961872427302)XMAX(-62.964508362621)YMAX(24.7389598417687)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-09T17:45Z)XMIN(-78.5077487919946)YMIN(7.18961872427302)XMAX(-62.964508362621)YMAX(24.7389598417687)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522949</Name>
+							<Title>2004-09-10 15:25</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-83.6721612098308</westBoundLongitude>
+								<eastBoundLongitude>-65.6730835044227</eastBoundLongitude>
+								<southBoundLatitude>6.88825750650757</southBoundLatitude>
+								<northBoundLatitude>27.0173094238337</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-83.6721612098308" miny="6.88825750650757" maxx="-65.6730835044227" maxy="27.0173094238337"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-10T15:25Z">2004-09-10T15:25Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-10T15:25Z)XMIN(-83.6721612098308)YMIN(6.88825750650757)XMAX(-65.6730835044227)YMAX(27.0173094238337)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-10T15:25Z)XMIN(-83.6721612098308)YMIN(6.88825750650757)XMAX(-65.6730835044227)YMAX(27.0173094238337)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522950</Name>
+							<Title>2004-09-10 18:30</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-85.3007505809697</westBoundLongitude>
+								<eastBoundLongitude>-65.6560794921068</eastBoundLongitude>
+								<southBoundLatitude>6.8151294646824</southBoundLatitude>
+								<northBoundLatitude>28.9493486570163</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-85.3007505809697" miny="6.8151294646824" maxx="-65.6560794921068" maxy="28.9493486570163"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-10T18:30Z">2004-09-10T18:30Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-10T18:30Z)XMIN(-85.3007505809697)YMIN(6.8151294646824)XMAX(-65.6560794921068)YMAX(28.9493486570163)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-10T18:30Z)XMIN(-85.3007505809697)YMIN(6.8151294646824)XMAX(-65.6560794921068)YMAX(28.9493486570163)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522951</Name>
+							<Title>2004-09-11 16:10</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-87.421731513595</westBoundLongitude>
+								<eastBoundLongitude>-69.2183638045244</eastBoundLongitude>
+								<southBoundLatitude>7.8337406325151</southBoundLatitude>
+								<northBoundLatitude>28.0301279782744</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-87.421731513595" miny="7.8337406325151" maxx="-69.2183638045244" maxy="28.0301279782744"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-11T16:10Z">2004-09-11T16:10Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-11T16:10Z)XMIN(-87.421731513595)YMIN(7.8337406325151)XMAX(-69.2183638045244)YMAX(28.0301279782744)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-11T16:10Z)XMIN(-87.421731513595)YMIN(7.8337406325151)XMAX(-69.2183638045244)YMAX(28.0301279782744)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522952</Name>
+							<Title>2004-09-13 15:55</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-90.3224319644198</westBoundLongitude>
+								<eastBoundLongitude>-72.8166172201217</eastBoundLongitude>
+								<southBoundLatitude>11.6666681770917</southBoundLatitude>
+								<northBoundLatitude>31.1420592458859</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-90.3224319644198" miny="11.6666681770917" maxx="-72.8166172201217" maxy="31.1420592458859"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-13T15:55Z">2004-09-13T15:55Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-13T15:55Z)XMIN(-90.3224319644198)YMIN(11.6666681770917)XMAX(-72.8166172201217)YMAX(31.1420592458859)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-13T15:55Z)XMIN(-90.3224319644198)YMIN(11.6666681770917)XMAX(-72.8166172201217)YMAX(31.1420592458859)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522953</Name>
+							<Title>2004-09-13 19:00</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-92.2394754889654</westBoundLongitude>
+								<eastBoundLongitude>-76.6876355017955</eastBoundLongitude>
+								<southBoundLatitude>12.5806906041461</southBoundLatitude>
+								<northBoundLatitude>30.2816133891251</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-92.2394754889654" miny="12.5806906041461" maxx="-76.6876355017955" maxy="30.2816133891251"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-13T19:00Z">2004-09-13T19:00Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-13T19:00Z)XMIN(-92.2394754889654)YMIN(12.5806906041461)XMAX(-76.6876355017955)YMAX(30.2816133891251)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-13T19:00Z)XMIN(-92.2394754889654)YMIN(12.5806906041461)XMAX(-76.6876355017955)YMAX(30.2816133891251)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522954</Name>
+							<Title>2004-09-14 16:35</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-92.9610362755348</westBoundLongitude>
+								<eastBoundLongitude>-76.1137010823715</eastBoundLongitude>
+								<southBoundLatitude>15.3418167282253</southBoundLatitude>
+								<northBoundLatitude>33.4599091686758</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-92.9610362755348" miny="15.3418167282253" maxx="-76.1137010823715" maxy="33.4599091686758"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-14T16:35Z">2004-09-14T16:35Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-14T16:35Z)XMIN(-92.9610362755348)YMIN(15.3418167282253)XMAX(-76.1137010823715)YMAX(33.4599091686758)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-14T16:35Z)XMIN(-92.9610362755348)YMIN(15.3418167282253)XMAX(-76.1137010823715)YMAX(33.4599091686758)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522955</Name>
+							<Title>2004-09-15 18:50</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-97.783357423868</westBoundLongitude>
+								<eastBoundLongitude>-73.6086011220815</eastBoundLongitude>
+								<southBoundLatitude>21.3194031782046</southBoundLatitude>
+								<northBoundLatitude>39.0517834167672</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-97.783357423868" miny="21.3194031782046" maxx="-73.6086011220815" maxy="39.0517834167672"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-15T18:50Z">2004-09-15T18:50Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-15T18:50Z)XMIN(-97.783357423868)YMIN(21.3194031782046)XMAX(-73.6086011220815)YMAX(39.0517834167672)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-15T18:50Z)XMIN(-97.783357423868)YMIN(21.3194031782046)XMAX(-73.6086011220815)YMAX(39.0517834167672)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3151_21289_522956</Name>
+							<Title>2004-09-16 16:23</Title>
+							<Abstract>Hurricane Ivan was the third hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached the Gulf Coast across the Caribbean Sea and the Gulf of Mexico.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-94.7314750830772</westBoundLongitude>
+								<eastBoundLongitude>-70.9849415837094</eastBoundLongitude>
+								<southBoundLatitude>22.0812866731224</southBoundLatitude>
+								<northBoundLatitude>44.444111472387</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-94.7314750830772" miny="22.0812866731224" maxx="-70.9849415837094" maxy="44.444111472387"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-16T16:23Z">2004-09-16T16:23Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-16T16:23Z)XMIN(-94.7314750830772)YMIN(22.0812866731224)XMAX(-70.9849415837094)YMAX(44.444111472387)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-16T16:23Z)XMIN(-94.7314750830772)YMIN(22.0812866731224)XMAX(-70.9849415837094)YMAX(44.444111472387)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003151/a003151.fgdc"/>
+							</MetadataURL>
+						</Layer>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Progression of Hurricane Frances, 2004</Title>
+					<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3147_21282</Name>
+						<Title>Hurricane Frances Overview (1024x1024 Image)</Title>
+						<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-92.5067249557159</westBoundLongitude>
+							<eastBoundLongitude>-42.0168993752969</eastBoundLongitude>
+							<southBoundLatitude>6.23102639331738</southBoundLatitude>
+							<northBoundLatitude>38.7789867438391</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-92.5067249557159" miny="6.23102639331738" maxx="-42.0168993752969" maxy="38.7789867438391"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence for Hurricane Frances.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3147_21282</Name>
+						<Title>Hurricane Frances (Sequence)</Title>
+						<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-92.5067249557159</westBoundLongitude>
+							<eastBoundLongitude>-42.0168993752969</eastBoundLongitude>
+							<southBoundLatitude>6.23102639331738</southBoundLatitude>
+							<northBoundLatitude>38.7789867438391</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-92.5067249557159" miny="6.23102639331738" maxx="-42.0168993752969" maxy="38.7789867438391"/>
+						<Dimension name="sequence" units="" default="TIME(2004-09-06T19:00Z)XMIN(-92.5067249557159)YMIN(20.9724863082909)XMAX(-75.2841226664214)YMAX(38.7789867438391)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-27T16:40Z)XMIN(-55.9817000000001)YMIN(6.23102639331738)XMAX(-42.0168993752969)YMAX(23.7679)WIDTH(1024)HEIGHT(1024),TIME(2004-08-28T14:15Z)XMIN(-58.4588000000001)YMIN(10.1300954354333)XMAX(-45.5378981110465)YMAX(25.8678)WIDTH(1024)HEIGHT(1024),TIME(2004-08-30T17:10Z)XMIN(-65.4588000000001)YMIN(11.1305954354333)XMAX(-52.5378981110465)YMAX(26.8683)WIDTH(1024)HEIGHT(1024),TIME(2004-08-31T14:45Z)XMIN(-71.1981000000001)YMIN(12.9034519068142)XMAX(-57.7994926127838)YMAX(29.0919)WIDTH(1024)HEIGHT(1024),TIME(2004-08-31T17:55Z)XMIN(-71.6981000000001)YMIN(12.9034519068142)XMAX(-58.2994926127838)YMAX(29.0919)WIDTH(1024)HEIGHT(1024),TIME(2004-09-01T15:30Z)XMIN(-77.4688732449916)YMIN(12.0870946545513)XMAX(-59.5993746385797)YMAX(31.7575377218739)WIDTH(1024)HEIGHT(1024),TIME(2004-09-03T18:24Z)XMIN(-85.1372737120281)YMIN(17.0101042232465)XMAX(-66.1397972088392)YMAX(36.6864071375997)WIDTH(1024)HEIGHT(1024),TIME(2004-09-04T16:00Z)XMIN(-85.7870000000001)YMIN(19.4553679674065)XMAX(-70.2110750211561)YMAX(36.5428)WIDTH(1024)HEIGHT(1024),TIME(2004-09-05T18:15Z)XMIN(-89.1620924204862)YMIN(19.028108062393)XMAX(-71.793653225176)YMAX(36.8221363888092)WIDTH(1024)HEIGHT(1024),TIME(2004-09-06T19:00Z)XMIN(-92.5067249557159)YMIN(20.9724863082909)XMAX(-75.2841226664214)YMAX(38.7789867438391)WIDTH(1024)HEIGHT(1024)</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence for Hurricane Frances.</Abstract>
+						</Style>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522889</Name>
+							<Title>2004-08-27 16:40</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-55.9817000000001</westBoundLongitude>
+								<eastBoundLongitude>-42.0168993752969</eastBoundLongitude>
+								<southBoundLatitude>6.23102639331738</southBoundLatitude>
+								<northBoundLatitude>23.7679</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-55.9817000000001" miny="6.23102639331738" maxx="-42.0168993752969" maxy="23.7679"/>
+							<Dimension name="time" units="ISO8601" default="2004-08-27T16:40Z">2004-08-27T16:40Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-08-27T16:40Z)XMIN(-55.9817000000001)YMIN(6.23102639331738)XMAX(-42.0168993752969)YMAX(23.7679)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-27T16:40Z)XMIN(-55.9817000000001)YMIN(6.23102639331738)XMAX(-42.0168993752969)YMAX(23.7679)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522890</Name>
+							<Title>2004-08-28 14:15</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-58.4588000000001</westBoundLongitude>
+								<eastBoundLongitude>-45.5378981110465</eastBoundLongitude>
+								<southBoundLatitude>10.1300954354333</southBoundLatitude>
+								<northBoundLatitude>25.8678</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-58.4588000000001" miny="10.1300954354333" maxx="-45.5378981110465" maxy="25.8678"/>
+							<Dimension name="time" units="ISO8601" default="2004-08-28T14:15Z">2004-08-28T14:15Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-08-28T14:15Z)XMIN(-58.4588000000001)YMIN(10.1300954354333)XMAX(-45.5378981110465)YMAX(25.8678)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-28T14:15Z)XMIN(-58.4588000000001)YMIN(10.1300954354333)XMAX(-45.5378981110465)YMAX(25.8678)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522891</Name>
+							<Title>2004-08-30 17:10</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-65.4588000000001</westBoundLongitude>
+								<eastBoundLongitude>-52.5378981110465</eastBoundLongitude>
+								<southBoundLatitude>11.1305954354333</southBoundLatitude>
+								<northBoundLatitude>26.8683</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-65.4588000000001" miny="11.1305954354333" maxx="-52.5378981110465" maxy="26.8683"/>
+							<Dimension name="time" units="ISO8601" default="2004-08-30T17:10Z">2004-08-30T17:10Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-08-30T17:10Z)XMIN(-65.4588000000001)YMIN(11.1305954354333)XMAX(-52.5378981110465)YMAX(26.8683)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-30T17:10Z)XMIN(-65.4588000000001)YMIN(11.1305954354333)XMAX(-52.5378981110465)YMAX(26.8683)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522892</Name>
+							<Title>2004-08-31 14:45</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-71.1981000000001</westBoundLongitude>
+								<eastBoundLongitude>-57.7994926127838</eastBoundLongitude>
+								<southBoundLatitude>12.9034519068142</southBoundLatitude>
+								<northBoundLatitude>29.0919</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-71.1981000000001" miny="12.9034519068142" maxx="-57.7994926127838" maxy="29.0919"/>
+							<Dimension name="time" units="ISO8601" default="2004-08-31T14:45Z">2004-08-31T14:45Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-08-31T14:45Z)XMIN(-71.1981000000001)YMIN(12.9034519068142)XMAX(-57.7994926127838)YMAX(29.0919)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-31T14:45Z)XMIN(-71.1981000000001)YMIN(12.9034519068142)XMAX(-57.7994926127838)YMAX(29.0919)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522893</Name>
+							<Title>2004-08-31 17:55</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-71.6981000000001</westBoundLongitude>
+								<eastBoundLongitude>-58.2994926127838</eastBoundLongitude>
+								<southBoundLatitude>12.9034519068142</southBoundLatitude>
+								<northBoundLatitude>29.0919</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-71.6981000000001" miny="12.9034519068142" maxx="-58.2994926127838" maxy="29.0919"/>
+							<Dimension name="time" units="ISO8601" default="2004-08-31T17:55Z">2004-08-31T17:55Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-08-31T17:55Z)XMIN(-71.6981000000001)YMIN(12.9034519068142)XMAX(-58.2994926127838)YMAX(29.0919)WIDTH(1024)HEIGHT(1024)">TIME(2004-08-31T17:55Z)XMIN(-71.6981000000001)YMIN(12.9034519068142)XMAX(-58.2994926127838)YMAX(29.0919)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522894</Name>
+							<Title>2004-09-01 15:30</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-77.4688732449916</westBoundLongitude>
+								<eastBoundLongitude>-59.5993746385797</eastBoundLongitude>
+								<southBoundLatitude>12.0870946545513</southBoundLatitude>
+								<northBoundLatitude>31.7575377218739</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-77.4688732449916" miny="12.0870946545513" maxx="-59.5993746385797" maxy="31.7575377218739"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-01T15:30Z">2004-09-01T15:30Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-01T15:30Z)XMIN(-77.4688732449916)YMIN(12.0870946545513)XMAX(-59.5993746385797)YMAX(31.7575377218739)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-01T15:30Z)XMIN(-77.4688732449916)YMIN(12.0870946545513)XMAX(-59.5993746385797)YMAX(31.7575377218739)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522895</Name>
+							<Title>2004-09-03 18:24</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-85.1372737120281</westBoundLongitude>
+								<eastBoundLongitude>-66.1397972088392</eastBoundLongitude>
+								<southBoundLatitude>17.0101042232465</southBoundLatitude>
+								<northBoundLatitude>36.6864071375997</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-85.1372737120281" miny="17.0101042232465" maxx="-66.1397972088392" maxy="36.6864071375997"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-03T18:24Z">2004-09-03T18:24Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-03T18:24Z)XMIN(-85.1372737120281)YMIN(17.0101042232465)XMAX(-66.1397972088392)YMAX(36.6864071375997)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-03T18:24Z)XMIN(-85.1372737120281)YMIN(17.0101042232465)XMAX(-66.1397972088392)YMAX(36.6864071375997)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522896</Name>
+							<Title>2004-09-04 16:00</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-85.7870000000001</westBoundLongitude>
+								<eastBoundLongitude>-70.2110750211561</eastBoundLongitude>
+								<southBoundLatitude>19.4553679674065</southBoundLatitude>
+								<northBoundLatitude>36.5428</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-85.7870000000001" miny="19.4553679674065" maxx="-70.2110750211561" maxy="36.5428"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-04T16:00Z">2004-09-04T16:00Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-04T16:00Z)XMIN(-85.7870000000001)YMIN(19.4553679674065)XMAX(-70.2110750211561)YMAX(36.5428)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-04T16:00Z)XMIN(-85.7870000000001)YMIN(19.4553679674065)XMAX(-70.2110750211561)YMAX(36.5428)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522897</Name>
+							<Title>2004-09-05 18:15</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-89.1620924204862</westBoundLongitude>
+								<eastBoundLongitude>-71.793653225176</eastBoundLongitude>
+								<southBoundLatitude>19.028108062393</southBoundLatitude>
+								<northBoundLatitude>36.8221363888092</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-89.1620924204862" miny="19.028108062393" maxx="-71.793653225176" maxy="36.8221363888092"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-05T18:15Z">2004-09-05T18:15Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-05T18:15Z)XMIN(-89.1620924204862)YMIN(19.028108062393)XMAX(-71.793653225176)YMAX(36.8221363888092)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-05T18:15Z)XMIN(-89.1620924204862)YMIN(19.028108062393)XMAX(-71.793653225176)YMAX(36.8221363888092)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3147_21260_522898</Name>
+							<Title>2004-09-06 19:00</Title>
+							<Abstract>Hurricane Frances was the second hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-92.5067249557159</westBoundLongitude>
+								<eastBoundLongitude>-75.2841226664214</eastBoundLongitude>
+								<southBoundLatitude>20.9724863082909</southBoundLatitude>
+								<northBoundLatitude>38.7789867438391</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-92.5067249557159" miny="20.9724863082909" maxx="-75.2841226664214" maxy="38.7789867438391"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-06T19:00Z">2004-09-06T19:00Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-06T19:00Z)XMIN(-92.5067249557159)YMIN(20.9724863082909)XMAX(-75.2841226664214)YMAX(38.7789867438391)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-06T19:00Z)XMIN(-92.5067249557159)YMIN(20.9724863082909)XMAX(-75.2841226664214)YMAX(38.7789867438391)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003147/a003147.fgdc"/>
+							</MetadataURL>
+						</Layer>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3116_21024</Name>
+					<Title>Mount St. Helens Before, During, and After (1024x1024 Animation)</Title>
+					<Abstract>Mount St. Helens erupted on May 18, 1980, devastating more than 150 square miles of forest in southwestern Washington state.  This animation shows Landsat images of the Mount St. Helens area in 1973, 1983, and 2000, illustrating the destruction and regrowth of the forest.  The 1983 image clearly shows the new crater on the northern slope where the eruption occurred, the rivers and lakes covered with ash, and the regions of deforestation.  The 2000 image, taken twenty years after the eruption, still shows the changed crater, but much of the devastated area is covered by new vegetation growth.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Forestry</Keyword>
+						<Keyword vocabulary="DLESE">Geology</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Forests</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Habitat Conversion/Fragmentation:Deforestation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Volcanoes:Volcanic Ash/Dust</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-122.36011</westBoundLongitude>
+						<eastBoundLongitude>-121.97916</eastBoundLongitude>
+						<southBoundLatitude>46.122115</southBoundLatitude>
+						<northBoundLatitude>46.384547</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-122.36011" miny="46.122115" maxx="-121.97916" maxy="46.384547"/>
+					<Dimension name="time" units="ISO8601" default="2000-09-25">1973-09-15,1983-05-22,2000-09-25</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003116/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003116/a003116.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/earthday2001/index.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Landsat imagery of Mount St. Helens before, during, and after the devastation from the eruption in 1980.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3113_20990</Name>
+					<Title>Rondonia Deforestation (1024x1024 Animation)</Title>
+					<Abstract>Throughout much of the 1980s, deforestation in Brazil eliminated more than 15,000 square kilometers (9000 square miles) of forest per year. Data gathered by several satellites in the Landsat series of spacecraft shows enormous tracts of forest disappearing in Rondonia, Brazil from 1975 through 2001.  The human phenomenon of deforestation starts, especially in the dense tropical forests of Brazil, when systematic cutting of a road opens new territory to potential deforestation by penetrating into new areas.  Clearing of vegetation along the sides of those roads then tends to fan out to create a pattern akin to a fish skeleton. As new paths appear in the woods, more areas become vulnerable.  Finally, the spaces between the 'skeletal bones' fall to defoliation.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Agricultural science</Keyword>
+						<Keyword vocabulary="DLESE">Environmental science</Keyword>
+						<Keyword vocabulary="DLESE">Forestry</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Forests</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Habitat Conversion/Fragmentation:Deforestation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-64.162001</westBoundLongitude>
+						<eastBoundLongitude>-62.987628</eastBoundLongitude>
+						<southBoundLatitude>-10.624746</southBoundLatitude>
+						<northBoundLatitude>-9.813252</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-64.162001" miny="-10.624746" maxx="-62.987628" maxy="-9.813252"/>
+					<Dimension name="time" units="ISO8601" default="2001-02-07">1975-06-19,1986-08-01,1992-06-22,2001-02-07</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003113/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003113/a003113.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/earthday2001/index.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>A animation of deforestation in Rondonia from 1975 through 2001 from Landsat imagery</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3112_20979</Name>
+					<Title>Aral Sea Evaporation (1024x1024 Animation)</Title>
+					<Abstract>The Aral Sea is actually not a sea at all, but an immense fresh water lake.  In the last thirty years, more than sixty percent of the lake has disappeared because much of the river flow feeding the lake was diverted to irrigate cotton fields and rice paddies.  Concentrations of salts and minerals began to rise in the shrinking body of water, leading to staggering alterations in the lake's ecology and precipitous drops in the Aral's fish population.  Powerful winds that blow across this part of Asia routinely pick up and deposit the now exposed lake bed soil.  This has contributed to a significant reduction in breathable air quality, and crop yields have been appreciably affected  due to heavily salt laden particles falling on arable land.  This series of Landsat images taken in 1973, 1987 and 2000 show the profound reduction in overall area at the north end of the Aral, and a commensurate increase in land area as the floor of the sea now lies exposed.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Agricultural science</Keyword>
+						<Keyword vocabulary="DLESE">Biology</Keyword>
+						<Keyword vocabulary="DLESE">Chemical oceanography</Keyword>
+						<Keyword vocabulary="DLESE">Chemistry</Keyword>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="DLESE">Hydrology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Aquatic Habitat:Lakes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Water Management</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Habitat Conversion/Fragmentation:Irrigation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Lakes</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>59.493806</westBoundLongitude>
+						<eastBoundLongitude>60.926548</eastBoundLongitude>
+						<southBoundLatitude>45.542455</southBoundLatitude>
+						<northBoundLatitude>46.61704</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="59.493806" miny="45.542455" maxx="60.926548" maxy="46.61704"/>
+					<Dimension name="time" units="ISO8601" default="2000-07-29">1973-05-29,1987-08-19,2000-07-29</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003112/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003112/a003112.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/earthday2001/index.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>An animation of the evaporation of the Aral Sea using Landsat imagery from 1973, 1987, and 2000.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Progression of Hurricane Jeanne, 2004</Title>
+					<Abstract>Hurricane Jeanne was the fourth hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean and the Caribbean Sea.  When it hit the Florida coast on September 26, Jeanne was a Category 3 storm with sustained winds near 115 miles per hour.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/a003035.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3035_21240</Name>
+						<Title>Hurricane Jeanne Overview (1024x1024 Image)</Title>
+						<Abstract>Hurricane Jeanne was the fourth hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean and the Caribbean Sea.  When it hit the Florida coast on September 26, Jeanne was a Category 3 storm with sustained winds near 115 miles per hour.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-88.396252</westBoundLongitude>
+							<eastBoundLongitude>-61.186302</eastBoundLongitude>
+							<southBoundLatitude>14.502694</southBoundLatitude>
+							<northBoundLatitude>37.4411</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-88.396252" miny="14.502694" maxx="-61.186302" maxy="37.4411"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/a003035.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence of Hurricane Jeanne.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>3035_21240</Name>
+						<Title>Hurricane Jeanne (Sequence)</Title>
+						<Abstract>Hurricane Jeanne was the fourth hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean and the Caribbean Sea.  When it hit the Florida coast on September 26, Jeanne was a Category 3 storm with sustained winds near 115 miles per hour.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-88.396252</westBoundLongitude>
+							<eastBoundLongitude>-61.186302</eastBoundLongitude>
+							<southBoundLatitude>14.502694</southBoundLatitude>
+							<northBoundLatitude>37.4411</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-88.396252" miny="14.502694" maxx="-61.186302" maxy="37.4411"/>
+						<Dimension name="sequence" units="" default="TIME(2004-09-26T18:35Z)XMIN(-88.396252)YMIN(21.654421)XMAX(-73.77603)YMAX(37.151522)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-16T17:55Z)XMIN(-74.2195)YMIN(14.502694)XMAX(-61.778019)YMAX(23.4959)WIDTH(1024)HEIGHT(788),TIME(2004-09-22T15:46Z)XMIN(-77.8101)YMIN(20.954992)XMAX(-61.186302)YMAX(37.4411)WIDTH(1024)HEIGHT(1024),TIME(2004-09-23T18:00Z)XMIN(-77.4371)YMIN(15.557168)XMAX(-61.560452)YMAX(34.4429)WIDTH(780)HEIGHT(1024),TIME(2004-09-24T15:35Z)XMIN(-79.9448)YMIN(18.904829)XMAX(-66.052733)YMAX(35.0926)WIDTH(796)HEIGHT(1024),TIME(2004-09-25T16:15Z)XMIN(-86.542505)YMIN(19.108581)XMAX(-69.468082)YMAX(36.734164)WIDTH(1024)HEIGHT(1024),TIME(2004-09-26T18:35Z)XMIN(-88.396252)YMIN(21.654421)XMAX(-73.77603)YMAX(37.151522)WIDTH(1024)HEIGHT(1024)</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/a003035.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Image Sequence of Hurricane Jeanne.</Abstract>
+						</Style>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="788">
+							<Name>3035_19349_446868</Name>
+							<Title>2004-09-16 17:55</Title>
+							<Abstract>Hurricane Jeanne was the fourth hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean and the Caribbean Sea.  When it hit the Florida coast on September 26, Jeanne was a Category 3 storm with sustained winds near 115 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-74.2195</westBoundLongitude>
+								<eastBoundLongitude>-61.778019</eastBoundLongitude>
+								<southBoundLatitude>14.502694</southBoundLatitude>
+								<northBoundLatitude>23.4959</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-74.2195" miny="14.502694" maxx="-61.778019" maxy="23.4959"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-16T17:55Z">2004-09-16T17:55Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-16T17:55Z)XMIN(-74.2195)YMIN(14.502694)XMAX(-61.778019)YMAX(23.4959)WIDTH(1024)HEIGHT(788)">TIME(2004-09-16T17:55Z)XMIN(-74.2195)YMIN(14.502694)XMAX(-61.778019)YMAX(23.4959)WIDTH(1024)HEIGHT(788)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/a003035.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3035_19349_446869</Name>
+							<Title>2004-09-22 15:46</Title>
+							<Abstract>Hurricane Jeanne was the fourth hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean and the Caribbean Sea.  When it hit the Florida coast on September 26, Jeanne was a Category 3 storm with sustained winds near 115 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-77.8101</westBoundLongitude>
+								<eastBoundLongitude>-61.186302</eastBoundLongitude>
+								<southBoundLatitude>20.954992</southBoundLatitude>
+								<northBoundLatitude>37.4411</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-77.8101" miny="20.954992" maxx="-61.186302" maxy="37.4411"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-22T15:46Z">2004-09-22T15:46Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-22T15:46Z)XMIN(-77.8101)YMIN(20.954992)XMAX(-61.186302)YMAX(37.4411)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-22T15:46Z)XMIN(-77.8101)YMIN(20.954992)XMAX(-61.186302)YMAX(37.4411)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/a003035.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="780" fixedHeight="1024">
+							<Name>3035_19349_446870</Name>
+							<Title>2004-09-23 18:00</Title>
+							<Abstract>Hurricane Jeanne was the fourth hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean and the Caribbean Sea.  When it hit the Florida coast on September 26, Jeanne was a Category 3 storm with sustained winds near 115 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-77.4371</westBoundLongitude>
+								<eastBoundLongitude>-61.560452</eastBoundLongitude>
+								<southBoundLatitude>15.557168</southBoundLatitude>
+								<northBoundLatitude>34.4429</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-77.4371" miny="15.557168" maxx="-61.560452" maxy="34.4429"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-23T18:00Z">2004-09-23T18:00Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-23T18:00Z)XMIN(-77.4371)YMIN(15.557168)XMAX(-61.560452)YMAX(34.4429)WIDTH(780)HEIGHT(1024)">TIME(2004-09-23T18:00Z)XMIN(-77.4371)YMIN(15.557168)XMAX(-61.560452)YMAX(34.4429)WIDTH(780)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/a003035.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="796" fixedHeight="1024">
+							<Name>3035_19349_446871</Name>
+							<Title>2004-09-24 15:35</Title>
+							<Abstract>Hurricane Jeanne was the fourth hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean and the Caribbean Sea.  When it hit the Florida coast on September 26, Jeanne was a Category 3 storm with sustained winds near 115 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-79.9448</westBoundLongitude>
+								<eastBoundLongitude>-66.052733</eastBoundLongitude>
+								<southBoundLatitude>18.904829</southBoundLatitude>
+								<northBoundLatitude>35.0926</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-79.9448" miny="18.904829" maxx="-66.052733" maxy="35.0926"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-24T15:35Z">2004-09-24T15:35Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-24T15:35Z)XMIN(-79.9448)YMIN(18.904829)XMAX(-66.052733)YMAX(35.0926)WIDTH(796)HEIGHT(1024)">TIME(2004-09-24T15:35Z)XMIN(-79.9448)YMIN(18.904829)XMAX(-66.052733)YMAX(35.0926)WIDTH(796)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/a003035.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3035_19349_446872</Name>
+							<Title>2004-09-25 16:15</Title>
+							<Abstract>Hurricane Jeanne was the fourth hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean and the Caribbean Sea.  When it hit the Florida coast on September 26, Jeanne was a Category 3 storm with sustained winds near 115 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-86.542505</westBoundLongitude>
+								<eastBoundLongitude>-69.468082</eastBoundLongitude>
+								<southBoundLatitude>19.108581</southBoundLatitude>
+								<northBoundLatitude>36.734164</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-86.542505" miny="19.108581" maxx="-69.468082" maxy="36.734164"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-25T16:15Z">2004-09-25T16:15Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-25T16:15Z)XMIN(-86.542505)YMIN(19.108581)XMAX(-69.468082)YMAX(36.734164)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-25T16:15Z)XMIN(-86.542505)YMIN(19.108581)XMAX(-69.468082)YMAX(36.734164)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/a003035.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+							<Name>3035_19349_446873</Name>
+							<Title>2004-09-26 18:35</Title>
+							<Abstract>Hurricane Jeanne was the fourth hurricane to hit Florida during the 2004 hurricane season.  This set of images shows the progression of the hurricane as it approached Florida from the Atlantic Ocean and the Caribbean Sea.  When it hit the Florida coast on September 26, Jeanne was a Category 3 storm with sustained winds near 115 miles per hour.</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-88.396252</westBoundLongitude>
+								<eastBoundLongitude>-73.77603</eastBoundLongitude>
+								<southBoundLatitude>21.654421</southBoundLatitude>
+								<northBoundLatitude>37.151522</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-88.396252" miny="21.654421" maxx="-73.77603" maxy="37.151522"/>
+							<Dimension name="time" units="ISO8601" default="2004-09-26T18:35Z">2004-09-26T18:35Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2004-09-26T18:35Z)XMIN(-88.396252)YMIN(21.654421)XMAX(-73.77603)YMAX(37.151522)WIDTH(1024)HEIGHT(1024)">TIME(2004-09-26T18:35Z)XMIN(-88.396252)YMIN(21.654421)XMAX(-73.77603)YMAX(37.151522)WIDTH(1024)HEIGHT(1024)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003035/a003035.fgdc"/>
+							</MetadataURL>
+						</Layer>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Accumulated Rainfall during Hurricanes Frances, Ivan, and Jeanne, 2004</Title>
+					<Abstract>During the hurricane season of 2004, an unprecedented four hurricanes hit Florida.  This animation shows the accumulated rainfall produced by three of those hurricanes during the month of September.  The animation also shows the rainfall from the typhoons in the Pacific Ocean during the same period.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="SVS">Precipitation</Keyword>
+						<Keyword vocabulary="SVS">Rain</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Precipitation Amount</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003034/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003034/a003034.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1440" fixedHeight="720">
+						<Name>3034_19343</Name>
+						<Title>Accumulated Rainfall during Hurricanes Frances, Ivan, and Jeanne, 2004 (1440x720 Animation)</Title>
+						<Abstract>During the hurricane season of 2004, an unprecedented four hurricanes hit Florida.  This animation shows the accumulated rainfall produced by three of those hurricanes during the month of September.  The animation also shows the rainfall from the typhoons in the Pacific Ocean during the same period.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="SVS">Precipitation</Keyword>
+							<Keyword vocabulary="SVS">Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Precipitation Amount</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2004-09-28T06:00Z">2004-09-02T00:00Z/2004-09-28T06:00Z/PT3H</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003034/a003034.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the cumulative rainfall caused primarily by hurricanes during September 2004.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003034/colorbar-2.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the cumulative rainfall caused primarily by hurricanes during September 2004.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003034/colorbar-2.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1440" fixedHeight="720">
+						<Name>3034_19343_bg</Name>
+						<Title>Background Image for Accumulated Rainfall during Hurricanes Frances, Ivan, and Jeanne, 2004 (WMS)</Title>
+						<Abstract>During the hurricane season of 2004, an unprecedented four hurricanes hit Florida.  This animation shows the accumulated rainfall produced by three of those hurricanes during the month of September.  The animation also shows the rainfall from the typhoons in the Pacific Ocean during the same period.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="SVS">Precipitation</Keyword>
+							<Keyword vocabulary="SVS">Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Precipitation Amount</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003034/a003034.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Model of Precipitable Water during Hurricane Isabel, 2003</Title>
+					<Abstract>The NASA finite-volume General Circulation Model (fvGCM) is used to produce a high-resolution weather prediction system.  This model has an increased accuracy of predicting the strength and location of hurricanes over other prediction methods.  Several variables are predicted, including cloud cover and precipitable water in the atmosphere.  Data from Hurricane Isabel was used to validate the fvGCM model.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="SVS">Isabel</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="SVS">Precipitation</Keyword>
+						<Keyword vocabulary="SVS">Rain</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Precipitable Water</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003033/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003033/a003033.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3033_19337</Name>
+						<Title>Model of Precipitable Water during Hurricane Isabel, 2003 (1024x512 Animation)</Title>
+						<Abstract>The NASA finite-volume General Circulation Model (fvGCM) is used to produce a high-resolution weather prediction system.  This model has an increased accuracy of predicting the strength and location of hurricanes over other prediction methods.  Several variables are predicted, including cloud cover and precipitable water in the atmosphere.  Data from Hurricane Isabel was used to validate the fvGCM model.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="SVS">Isabel</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="SVS">Precipitation</Keyword>
+							<Keyword vocabulary="SVS">Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Precipitable Water</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-09-21T00:00Z">2003-09-14T03:00Z/2003-09-21T00:00Z/PT3H</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003033/a003033.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the prediction of precipitable water during Hurricane Isabel made by NASAs fvGCM model.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003033/fvgcm_colorbar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the prediction of precipitable water during Hurricane Isabel made by NASAs fvGCM model.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003033/fvgcm_colorbar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3033_19337_bg</Name>
+						<Title>Background Image for Model of Precipitable Water during Hurricane Isabel, 2003 (WMS)</Title>
+						<Abstract>The NASA finite-volume General Circulation Model (fvGCM) is used to produce a high-resolution weather prediction system.  This model has an increased accuracy of predicting the strength and location of hurricanes over other prediction methods.  Several variables are predicted, including cloud cover and precipitable water in the atmosphere.  Data from Hurricane Isabel was used to validate the fvGCM model.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="SVS">Isabel</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="SVS">Precipitation</Keyword>
+							<Keyword vocabulary="SVS">Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Precipitable Water</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003033/a003033.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Model of Clouds during Hurricane Isabel, 2003</Title>
+					<Abstract>The NASA finite-volume General Circulation Model (fvGCM) is used to produce a high-resolution weather prediction system.  This model has an increased accuracy of predicting the strength and location of hurricanes over other prediction methods.  Several variables are predicted, including cloud cover and precipitable water in the atmosphere.  Data from Hurricane Isabel was used to validate the fvGCM model.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="SVS">Isabel</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003032/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003032/a003032.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nas.nasa.gov/News/Science/2004/10-28-04_fvgcm.html"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3032_19332</Name>
+						<Title>Model of Clouds during Hurricane Isabel, 2003 (1024x512 Animation)</Title>
+						<Abstract>The NASA finite-volume General Circulation Model (fvGCM) is used to produce a high-resolution weather prediction system.  This model has an increased accuracy of predicting the strength and location of hurricanes over other prediction methods.  Several variables are predicted, including cloud cover and precipitable water in the atmosphere.  Data from Hurricane Isabel was used to validate the fvGCM model.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="SVS">Isabel</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>0</westBoundLongitude>
+							<eastBoundLongitude>-0.0001</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="0" miny="-90" maxx="-0.0001" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-09-21T00:00Z">2003-09-14T03:00Z/2003-09-21T00:00Z/PT3H</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003032/a003032.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nas.nasa.gov/News/Science/2004/10-28-04_fvgcm.html"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the prediction of cloud cover during Hurricane Isabel made by NASAs fvGCM model.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003032/totalcloud_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the prediction of cloud cover during Hurricane Isabel made by NASAs fvGCM model.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003032/totalcloud_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3032_19332_bg</Name>
+						<Title>Background Image for Model of Clouds during Hurricane Isabel, 2003 (WMS)</Title>
+						<Abstract>The NASA finite-volume General Circulation Model (fvGCM) is used to produce a high-resolution weather prediction system.  This model has an increased accuracy of predicting the strength and location of hurricanes over other prediction methods.  Several variables are predicted, including cloud cover and precipitable water in the atmosphere.  Data from Hurricane Isabel was used to validate the fvGCM model.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="SVS">Isabel</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>0</westBoundLongitude>
+							<eastBoundLongitude>-0.0001</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="0" miny="-90" maxx="-0.0001" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003032/a003032.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.nas.nasa.gov/News/Science/2004/10-28-04_fvgcm.html"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="1280" fixedHeight="914">
+					<Name>2920_17613</Name>
+					<Title>Tropical Storm Allison Progression (1280x914 Animation)</Title>
+					<Abstract>Tropical Storm Allison began just five days into the 2001 hurricane season.  Allison formed in the warm waters of the Gulf of Mexico, and dumped an enormous amount of rain on Texas, Louisiana, Florida, and other states in the southeastern United States.
+
+Additional Credit:
+NASA/Goddard Space Flight Center, The SeaWiFS Project and ORBIMAGE, Scientific Visualization Studio.  NOTE: All SeaWiFS images and data presented on this web site are for research and educational use only. All commercial use of SeaWiFS data must be coordinated with ORBIMAGE (http://www.orbimage.com).</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Storms</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-110</westBoundLongitude>
+						<eastBoundLongitude>-40</eastBoundLongitude>
+						<southBoundLatitude>10</southBoundLatitude>
+						<northBoundLatitude>60</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-110" miny="10" maxx="-40" maxy="60"/>
+					<Dimension name="time" units="ISO8601" default="2001-06-20">2001-06-02/2001-06-20/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002920/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002920/a002920.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>Tropical Storm Allison, as captured by the SeaWiFS instrument.  The images in this animation are each composites of one days worth of data.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Progression of Hurricane Isabel, 2003</Title>
+					<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2919_21239</Name>
+						<Title>Hurricane Isabel Overview (1024x1024 Image)</Title>
+						<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-90.3567147497137</westBoundLongitude>
+							<eastBoundLongitude>-33.9263456962064</eastBoundLongitude>
+							<southBoundLatitude>7.60928672662917</southBoundLatitude>
+							<northBoundLatitude>50.2900739187121</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-90.3567147497137" miny="7.60928672662917" maxx="-33.9263456962064" maxy="50.2900739187121"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Hurricane Isabel Frame Sequence.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2919_21239</Name>
+						<Title>Hurricane Isabel (Sequence)</Title>
+						<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-90.3567147497137</westBoundLongitude>
+							<eastBoundLongitude>-33.9263456962064</eastBoundLongitude>
+							<southBoundLatitude>7.60928672662917</southBoundLatitude>
+							<northBoundLatitude>50.2900739187121</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-90.3567147497137" miny="7.60928672662917" maxx="-33.9263456962064" maxy="50.2900739187121"/>
+						<Dimension name="sequence" units="" default="TIME(2003-09-18T15:55Z)XMIN(-89.9368167747976)YMIN(20.99959127961)XMAX(-58.935329635127)YMAX(50.2900739187121)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-08T13:45Z)XMIN(-50.7090664621473)YMIN(7.60928672662917)XMAX(-33.9263456962064)YMAX(26.2385837522411)WIDTH(2048)HEIGHT(2048),TIME(2003-09-10T16:40Z)XMIN(-61.9357217357769)YMIN(12.6349351370849)XMAX(-40.7793938744402)YMAX(29.0152565062044)WIDTH(2048)HEIGHT(2048),TIME(2003-09-11T14:15Z)XMIN(-61.6256912944452)YMIN(12.2985591333025)XMAX(-44.8522418560733)YMAX(31.4855215741957)WIDTH(2048)HEIGHT(2048),TIME(2003-09-12T15:00Z)XMIN(-67.1450949749654)YMIN(13.1073296676492)XMAX(-50.7725255792494)YMAX(30.8079597446623)WIDTH(2048)HEIGHT(2048),TIME(2003-09-14T14:45Z)XMIN(-72.8859842466968)YMIN(15.3904667628593)XMAX(-57.3194030322651)YMAX(32.4372774539073)WIDTH(2048)HEIGHT(2048),TIME(2003-09-14T17:55Z)XMIN(-75.1566194406969)YMIN(14.977799869615)XMAX(-59.1647144076383)YMAX(32.7871797570458)WIDTH(2048)HEIGHT(2048),TIME(2003-09-15T15:30Z)XMIN(-79.6174703576956)YMIN(13.7965928255852)XMAX(-58.9699256195635)YMAX(35.9145035309609)WIDTH(2048)HEIGHT(2048),TIME(2003-09-16T17:40Z)XMIN(-81.7283696322799)YMIN(18.7678347983128)XMAX(-60.0899588459265)YMAX(40.8733854607493)WIDTH(2048)HEIGHT(2048),TIME(2003-09-17T15:09Z)XMIN(-80.0474293747806)YMIN(20.6740418138095)XMAX(-57.5668165625193)YMAX(43.0019171082704)WIDTH(2048)HEIGHT(2048),TIME(2003-09-17T18:24Z)XMIN(-90.3567147497137)YMIN(21.7040702133344)XMAX(-65.5519582662732)YMAX(46.0182725415024)WIDTH(2048)HEIGHT(2048),TIME(2003-09-18T15:55Z)XMIN(-89.9368167747976)YMIN(20.99959127961)XMAX(-58.935329635127)YMAX(50.2900739187121)WIDTH(2048)HEIGHT(2048)</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Hurricane Isabel Frame Sequence.</Abstract>
+						</Style>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347556</Name>
+							<Title>2003-09-08 13:45</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-50.7090664621473</westBoundLongitude>
+								<eastBoundLongitude>-33.9263456962064</eastBoundLongitude>
+								<southBoundLatitude>7.60928672662917</southBoundLatitude>
+								<northBoundLatitude>26.2385837522411</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-50.7090664621473" miny="7.60928672662917" maxx="-33.9263456962064" maxy="26.2385837522411"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-08T13:45Z">2003-09-08T13:45Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-08T13:45Z)XMIN(-50.7090664621473)YMIN(7.60928672662917)XMAX(-33.9263456962064)YMAX(26.2385837522411)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-08T13:45Z)XMIN(-50.7090664621473)YMIN(7.60928672662917)XMAX(-33.9263456962064)YMAX(26.2385837522411)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347557</Name>
+							<Title>2003-09-10 16:40</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-61.9357217357769</westBoundLongitude>
+								<eastBoundLongitude>-40.7793938744402</eastBoundLongitude>
+								<southBoundLatitude>12.6349351370849</southBoundLatitude>
+								<northBoundLatitude>29.0152565062044</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-61.9357217357769" miny="12.6349351370849" maxx="-40.7793938744402" maxy="29.0152565062044"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-10T16:40Z">2003-09-10T16:40Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-10T16:40Z)XMIN(-61.9357217357769)YMIN(12.6349351370849)XMAX(-40.7793938744402)YMAX(29.0152565062044)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-10T16:40Z)XMIN(-61.9357217357769)YMIN(12.6349351370849)XMAX(-40.7793938744402)YMAX(29.0152565062044)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347558</Name>
+							<Title>2003-09-11 14:15</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-61.6256912944452</westBoundLongitude>
+								<eastBoundLongitude>-44.8522418560733</eastBoundLongitude>
+								<southBoundLatitude>12.2985591333025</southBoundLatitude>
+								<northBoundLatitude>31.4855215741957</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-61.6256912944452" miny="12.2985591333025" maxx="-44.8522418560733" maxy="31.4855215741957"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-11T14:15Z">2003-09-11T14:15Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-11T14:15Z)XMIN(-61.6256912944452)YMIN(12.2985591333025)XMAX(-44.8522418560733)YMAX(31.4855215741957)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-11T14:15Z)XMIN(-61.6256912944452)YMIN(12.2985591333025)XMAX(-44.8522418560733)YMAX(31.4855215741957)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347559</Name>
+							<Title>2003-09-12 15:00</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-67.1450949749654</westBoundLongitude>
+								<eastBoundLongitude>-50.7725255792494</eastBoundLongitude>
+								<southBoundLatitude>13.1073296676492</southBoundLatitude>
+								<northBoundLatitude>30.8079597446623</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-67.1450949749654" miny="13.1073296676492" maxx="-50.7725255792494" maxy="30.8079597446623"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-12T15:00Z">2003-09-12T15:00Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-12T15:00Z)XMIN(-67.1450949749654)YMIN(13.1073296676492)XMAX(-50.7725255792494)YMAX(30.8079597446623)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-12T15:00Z)XMIN(-67.1450949749654)YMIN(13.1073296676492)XMAX(-50.7725255792494)YMAX(30.8079597446623)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347560</Name>
+							<Title>2003-09-14 14:45</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-72.8859842466968</westBoundLongitude>
+								<eastBoundLongitude>-57.3194030322651</eastBoundLongitude>
+								<southBoundLatitude>15.3904667628593</southBoundLatitude>
+								<northBoundLatitude>32.4372774539073</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-72.8859842466968" miny="15.3904667628593" maxx="-57.3194030322651" maxy="32.4372774539073"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-14T14:45Z">2003-09-14T14:45Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-14T14:45Z)XMIN(-72.8859842466968)YMIN(15.3904667628593)XMAX(-57.3194030322651)YMAX(32.4372774539073)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-14T14:45Z)XMIN(-72.8859842466968)YMIN(15.3904667628593)XMAX(-57.3194030322651)YMAX(32.4372774539073)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347561</Name>
+							<Title>2003-09-14 17:55</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-75.1566194406969</westBoundLongitude>
+								<eastBoundLongitude>-59.1647144076383</eastBoundLongitude>
+								<southBoundLatitude>14.977799869615</southBoundLatitude>
+								<northBoundLatitude>32.7871797570458</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-75.1566194406969" miny="14.977799869615" maxx="-59.1647144076383" maxy="32.7871797570458"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-14T17:55Z">2003-09-14T17:55Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-14T17:55Z)XMIN(-75.1566194406969)YMIN(14.977799869615)XMAX(-59.1647144076383)YMAX(32.7871797570458)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-14T17:55Z)XMIN(-75.1566194406969)YMIN(14.977799869615)XMAX(-59.1647144076383)YMAX(32.7871797570458)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347562</Name>
+							<Title>2003-09-15 15:30</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-79.6174703576956</westBoundLongitude>
+								<eastBoundLongitude>-58.9699256195635</eastBoundLongitude>
+								<southBoundLatitude>13.7965928255852</southBoundLatitude>
+								<northBoundLatitude>35.9145035309609</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-79.6174703576956" miny="13.7965928255852" maxx="-58.9699256195635" maxy="35.9145035309609"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-15T15:30Z">2003-09-15T15:30Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-15T15:30Z)XMIN(-79.6174703576956)YMIN(13.7965928255852)XMAX(-58.9699256195635)YMAX(35.9145035309609)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-15T15:30Z)XMIN(-79.6174703576956)YMIN(13.7965928255852)XMAX(-58.9699256195635)YMAX(35.9145035309609)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347563</Name>
+							<Title>2003-09-16 17:40</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-81.7283696322799</westBoundLongitude>
+								<eastBoundLongitude>-60.0899588459265</eastBoundLongitude>
+								<southBoundLatitude>18.7678347983128</southBoundLatitude>
+								<northBoundLatitude>40.8733854607493</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-81.7283696322799" miny="18.7678347983128" maxx="-60.0899588459265" maxy="40.8733854607493"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-16T17:40Z">2003-09-16T17:40Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-16T17:40Z)XMIN(-81.7283696322799)YMIN(18.7678347983128)XMAX(-60.0899588459265)YMAX(40.8733854607493)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-16T17:40Z)XMIN(-81.7283696322799)YMIN(18.7678347983128)XMAX(-60.0899588459265)YMAX(40.8733854607493)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347564</Name>
+							<Title>2003-09-17 15:09</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-80.0474293747806</westBoundLongitude>
+								<eastBoundLongitude>-57.5668165625193</eastBoundLongitude>
+								<southBoundLatitude>20.6740418138095</southBoundLatitude>
+								<northBoundLatitude>43.0019171082704</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-80.0474293747806" miny="20.6740418138095" maxx="-57.5668165625193" maxy="43.0019171082704"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-17T15:09Z">2003-09-17T15:09Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-17T15:09Z)XMIN(-80.0474293747806)YMIN(20.6740418138095)XMAX(-57.5668165625193)YMAX(43.0019171082704)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-17T15:09Z)XMIN(-80.0474293747806)YMIN(20.6740418138095)XMAX(-57.5668165625193)YMAX(43.0019171082704)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347565</Name>
+							<Title>2003-09-17 18:24</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-90.3567147497137</westBoundLongitude>
+								<eastBoundLongitude>-65.5519582662732</eastBoundLongitude>
+								<southBoundLatitude>21.7040702133344</southBoundLatitude>
+								<northBoundLatitude>46.0182725415024</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-90.3567147497137" miny="21.7040702133344" maxx="-65.5519582662732" maxy="46.0182725415024"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-17T18:24Z">2003-09-17T18:24Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-17T18:24Z)XMIN(-90.3567147497137)YMIN(21.7040702133344)XMAX(-65.5519582662732)YMAX(46.0182725415024)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-17T18:24Z)XMIN(-90.3567147497137)YMIN(21.7040702133344)XMAX(-65.5519582662732)YMAX(46.0182725415024)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+						<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+							<Name>2919_17589_347566</Name>
+							<Title>2003-09-18 15:55</Title>
+							<Abstract>This sequence of images was used to create an animation of the progression of Hurricane Isabel as seen by MODIS.
+
+Additional Credit:
+MODIS Rapid Response Team, NASA Goddard Space Flight Center (http://rapidfire.sci.gsfc.nasa.gov)</Abstract>
+							<KeywordList>
+								<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+								<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+								<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							</KeywordList>
+							<CRS>CRS:84</CRS>
+							<EX_GeographicBoundingBox>
+								<westBoundLongitude>-89.9368167747976</westBoundLongitude>
+								<eastBoundLongitude>-58.935329635127</eastBoundLongitude>
+								<southBoundLatitude>20.99959127961</southBoundLatitude>
+								<northBoundLatitude>50.2900739187121</northBoundLatitude>
+							</EX_GeographicBoundingBox>
+							<BoundingBox CRS="CRS:84" minx="-89.9368167747976" miny="20.99959127961" maxx="-58.935329635127" maxy="50.2900739187121"/>
+							<Dimension name="time" units="ISO8601" default="2003-09-18T15:55Z">2003-09-18T15:55Z</Dimension>
+							<Dimension name="sequence" units="" default="TIME(2003-09-18T15:55Z)XMIN(-89.9368167747976)YMIN(20.99959127961)XMAX(-58.935329635127)YMAX(50.2900739187121)WIDTH(2048)HEIGHT(2048)">TIME(2003-09-18T15:55Z)XMIN(-89.9368167747976)YMIN(20.99959127961)XMAX(-58.935329635127)YMAX(50.2900739187121)WIDTH(2048)HEIGHT(2048)</Dimension>
+							<MetadataURL type="FGDC:1998">
+								<Format>text/plain</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002919/a002919.fgdc"/>
+							</MetadataURL>
+						</Layer>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Earth At Night</Title>
+					<Abstract>This image of Earth's city lights was created with data from the Defense Meteorological Satellite Program (DMSP) Operational Linescan System (OLS). Originally designed to view clouds by moonlight, the OLS is also used to map the locations of permanent lights on the Earth's surface.
+The brightest areas of the Earth are the most urbanized, but not necessarily the most populated. (Compare western Europe with China and India.) Cities tend to grow along coastlines and transportation networks. Even without the underlying map, the outlines of many continents would still be visible. The United States interstate highway system appears as a lattice connecting the brighter dots of city centers. In Russia, the Trans-Siberian railroad is a thin line stretching from Moscow through the center of Asia to Vladivostok. The Nile River, from the Aswan Dam to the Mediterranean Sea, is another bright thread through an otherwise dark region.
+Even more than 100 years after the invention of the electric light, some regions remain thinly populated and unlit. Antarctica is entirely dark. The interior jungles of Africa and South America are mostly dark, but lights are beginning to appear there. Deserts in Africa, Arabia, Australia, Mongolia, and the United States are poorly lit as well (except along the coast), along with the boreal forests of Canada and Russia, and the great mountains of the Himalaya.
+
+Additional Credit:
+Data courtesy Marc Imhoff (NASA/GSFC) and Christopher Elvidge (NOAA/NGDC).  Image by Craig Mayhew (NASA/GSFC) and Robert Simmon (NASA/GSFC).</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="SVS">Lights</Keyword>
+						<Keyword vocabulary="SVS">Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Population:Population Distribution</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002916/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002916/a002916.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="4096" fixedHeight="4096">
+						<Name>2916_21228</Name>
+						<Title>Western Hemisphere (4096x4096 Image)</Title>
+						<Abstract>This image of Earth's city lights was created with data from the Defense Meteorological Satellite Program (DMSP) Operational Linescan System (OLS). Originally designed to view clouds by moonlight, the OLS is also used to map the locations of permanent lights on the Earth's surface.
+The brightest areas of the Earth are the most urbanized, but not necessarily the most populated. (Compare western Europe with China and India.) Cities tend to grow along coastlines and transportation networks. Even without the underlying map, the outlines of many continents would still be visible. The United States interstate highway system appears as a lattice connecting the brighter dots of city centers. In Russia, the Trans-Siberian railroad is a thin line stretching from Moscow through the center of Asia to Vladivostok. The Nile River, from the Aswan Dam to the Mediterranean Sea, is another bright thread through an otherwise dark region.
+Even more than 100 years after the invention of the electric light, some regions remain thinly populated and unlit. Antarctica is entirely dark. The interior jungles of Africa and South America are mostly dark, but lights are beginning to appear there. Deserts in Africa, Arabia, Australia, Mongolia, and the United States are poorly lit as well (except along the coast), along with the boreal forests of Canada and Russia, and the great mountains of the Himalaya.
+
+Additional Credit:
+Data courtesy Marc Imhoff (NASA/GSFC) and Christopher Elvidge (NOAA/NGDC).  Image by Craig Mayhew (NASA/GSFC) and Robert Simmon (NASA/GSFC).</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Human geography</Keyword>
+							<Keyword vocabulary="SVS">Lights</Keyword>
+							<Keyword vocabulary="SVS">Urbanization</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Population:Population Distribution</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>0</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="0" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002916/a002916.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Earth lights at night over the western hemisphere.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="4096" fixedHeight="4096">
+						<Name>2916_21226</Name>
+						<Title>Eastern Hemisphere (4096x4096 Image)</Title>
+						<Abstract>This image of Earth's city lights was created with data from the Defense Meteorological Satellite Program (DMSP) Operational Linescan System (OLS). Originally designed to view clouds by moonlight, the OLS is also used to map the locations of permanent lights on the Earth's surface.
+The brightest areas of the Earth are the most urbanized, but not necessarily the most populated. (Compare western Europe with China and India.) Cities tend to grow along coastlines and transportation networks. Even without the underlying map, the outlines of many continents would still be visible. The United States interstate highway system appears as a lattice connecting the brighter dots of city centers. In Russia, the Trans-Siberian railroad is a thin line stretching from Moscow through the center of Asia to Vladivostok. The Nile River, from the Aswan Dam to the Mediterranean Sea, is another bright thread through an otherwise dark region.
+Even more than 100 years after the invention of the electric light, some regions remain thinly populated and unlit. Antarctica is entirely dark. The interior jungles of Africa and South America are mostly dark, but lights are beginning to appear there. Deserts in Africa, Arabia, Australia, Mongolia, and the United States are poorly lit as well (except along the coast), along with the boreal forests of Canada and Russia, and the great mountains of the Himalaya.
+
+Additional Credit:
+Data courtesy Marc Imhoff (NASA/GSFC) and Christopher Elvidge (NOAA/NGDC).  Image by Craig Mayhew (NASA/GSFC) and Robert Simmon (NASA/GSFC).</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Human geography</Keyword>
+							<Keyword vocabulary="SVS">Lights</Keyword>
+							<Keyword vocabulary="SVS">Urbanization</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Population:Population Distribution</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>0</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="0" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002916/a002916.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Earth lights at night over the eastern hemisphere.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="1024">
+						<Name>2916_21230</Name>
+						<Title>Complete Earth (2048x1024 Image)</Title>
+						<Abstract>This image of Earth's city lights was created with data from the Defense Meteorological Satellite Program (DMSP) Operational Linescan System (OLS). Originally designed to view clouds by moonlight, the OLS is also used to map the locations of permanent lights on the Earth's surface.
+The brightest areas of the Earth are the most urbanized, but not necessarily the most populated. (Compare western Europe with China and India.) Cities tend to grow along coastlines and transportation networks. Even without the underlying map, the outlines of many continents would still be visible. The United States interstate highway system appears as a lattice connecting the brighter dots of city centers. In Russia, the Trans-Siberian railroad is a thin line stretching from Moscow through the center of Asia to Vladivostok. The Nile River, from the Aswan Dam to the Mediterranean Sea, is another bright thread through an otherwise dark region.
+Even more than 100 years after the invention of the electric light, some regions remain thinly populated and unlit. Antarctica is entirely dark. The interior jungles of Africa and South America are mostly dark, but lights are beginning to appear there. Deserts in Africa, Arabia, Australia, Mongolia, and the United States are poorly lit as well (except along the coast), along with the boreal forests of Canada and Russia, and the great mountains of the Himalaya.
+
+Additional Credit:
+Data courtesy Marc Imhoff (NASA/GSFC) and Christopher Elvidge (NOAA/NGDC).  Image by Craig Mayhew (NASA/GSFC) and Robert Simmon (NASA/GSFC).</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Human geography</Keyword>
+							<Keyword vocabulary="SVS">Lights</Keyword>
+							<Keyword vocabulary="SVS">Urbanization</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Population:Population Distribution</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002916/a002916.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Earth lights at night for the entire earth.</Abstract>
+						</Style>
+					</Layer>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="814">
+					<Name>2912_21392</Name>
+					<Title>Population Density of the World, 1990-2015 (2048x814 Animation)</Title>
+					<Abstract>This animation shows the population density of the world in the years 1990, 1995, 2000, as well as a population density estimated for the year 2015.  These figures have been adjusted to match United Nations totals.  The most dramatic differences in population are not readily visible in this animation because they are located in cities.  The maximum population density in 1990 was about 79,000 people per square kilometer, while the estimated maximum population density in 2015 will be about 236,000 people per square kilometer.  Developing areas in Africa, Latin America, and Asia change the most visibly.
+
+Additional Credit:
+Gridded Population of the World (GPW), Version 3: 1990, 1995, 2000. Gridded Population of the World: Future Estimates, 2015. Center for International Earth Science Information Network (CIESIN), Columbia University; Food and Agricultural Organization (FAO); and Centro Internacional de Agricultura Tropical (CIAT), 2005. Available at (http://sedac.ciesin.columbia.edu/gpw).</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Population:Population Distribution</Keyword>
+						<Keyword vocabulary="SVS">Population Density</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-58</southBoundLatitude>
+						<northBoundLatitude>85</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-58" maxx="180" maxy="85"/>
+					<Dimension name="time" units="ISO8601" default="2015-">1990-/2000-/P5Y,2015-</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002912/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002912/a002912.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the population density for 1990, 1995, and 2000, and the estimated population density in 2015.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002912/density_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+					<Name>2911_17530</Name>
+					<Title>Urbanization around the Pearl River Estuary in China from 1973 through 2001 (2048x2048 Animation)</Title>
+					<Abstract>The region around the Pearl River Estuary in southern China experienced rapid urban growth in the 1980s and 1990s.  This growth was spurred by the establishment of special government economic zones, particularly in Shenzhen, just to the east of the estuary.  Urban areas increased by more than 300% between 1988 and 1996.  This growth can be directly assessed by remote sensing measurements from space, particularly by comparing images from the Landsat sensors for the last thirty years.  This animation shows nine such images in sequence, from the years 1973, 1975, 1977, 1979, 1988, 1992, 1995, 2000, and 2001.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="SVS">Pearl River</Keyword>
+						<Keyword vocabulary="SVS">Shenzhen</Keyword>
+						<Keyword vocabulary="SVS">Sprawl</Keyword>
+						<Keyword vocabulary="SVS">Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">Location:China</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>113.523622</westBoundLongitude>
+						<eastBoundLongitude>114.088858</eastBoundLongitude>
+						<southBoundLatitude>22.369052</southBoundLatitude>
+						<northBoundLatitude>22.934218</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="113.523622" miny="22.369052" maxx="114.088858" maxy="22.934218"/>
+					<Dimension name="time" units="ISO8601" default="2001-11-20">1973-12-25,1975-12-24,1977-02-10,1979-11-06,1988-12-10,1992-01-20,1995-12-30,2000-01-02,2001-11-20</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002911/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002911/a002911.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://taylorandfrancis.metapress.com/link.asp?id=ruk29vgger44xvve"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Urban growth in the Pearl River Estuary near Shenzhen, China, from 1973 to 2001 as measured by Landsat</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Wildfire Growth around Yellowstone National Park in 1988</Title>
+					<Abstract>During the summer of 1988, wildfires burned about 1.4 million acres in and around Yellowstone National Park.  Spurred by the driest summer in park history, the fires started in early July and lasted until early October.  The worst day was August 20, when tremendous winds pushed the fires to burn over 150,000 acres.  Although the scars from these fires are still visible in Landsat imagery from space over ten years later, the patchwork nature of the fire footprint left many unburned areas from which plant species have regenerated very successfully.  This animation shows how the fires progressed in the period from June 30 though October 2, 1988, by which time the fall rain and snow had stopped the fire growth.  These maps are based on daily ground observations by fire lookouts in the park and by infrared imaging cameras flown over the park at night.  These observations are considered accurate to within about 100 meters.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="DLESE">Physical geography</Keyword>
+						<Keyword vocabulary="SVS">Yellowstone National Park</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Agriculture:Forest Science:Forest Fire Science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Ecological Dynamics:Fire Occurrence</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Fires</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002909/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002909/a002909.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://sagemap.wr.usgs.gov/ftp/wyoming/NPS/yell_fire88perim.htm"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2909_17518</Name>
+						<Title>Wildfire Growth around Yellowstone National Park in 1988 (1024x1024 Animation)</Title>
+						<Abstract>During the summer of 1988, wildfires burned about 1.4 million acres in and around Yellowstone National Park.  Spurred by the driest summer in park history, the fires started in early July and lasted until early October.  The worst day was August 20, when tremendous winds pushed the fires to burn over 150,000 acres.  Although the scars from these fires are still visible in Landsat imagery from space over ten years later, the patchwork nature of the fire footprint left many unburned areas from which plant species have regenerated very successfully.  This animation shows how the fires progressed in the period from June 30 though October 2, 1988, by which time the fall rain and snow had stopped the fire growth.  These maps are based on daily ground observations by fire lookouts in the park and by infrared imaging cameras flown over the park at night.  These observations are considered accurate to within about 100 meters.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Yellowstone National Park</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Agriculture:Forest Science:Forest Fire Science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Ecological Dynamics:Fire Occurrence</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Fires</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-111.4</westBoundLongitude>
+							<eastBoundLongitude>-109.4</eastBoundLongitude>
+							<southBoundLatitude>43.868</southBoundLatitude>
+							<northBoundLatitude>45.4</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-111.4" miny="43.868" maxx="-109.4" maxy="45.4"/>
+						<Dimension name="time" units="ISO8601" default="1988-10-02">1988-06-30/1988-10-02/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002909/a002909.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://sagemap.wr.usgs.gov/ftp/wyoming/NPS/yell_fire88perim.htm"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the progression of the fires in and around Yellowstone National Park during the summer of 1988, overlayed on a false-color image from Landsat 7..  Independent fires are shown in different colors, and the most recently burned areas are shown in a brighter color.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="100">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002909/firelegend.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the progression of the fires in and around Yellowstone National Park during the summer of 1988, overlayed on a false-color image from Landsat 7..  Independent fires are shown in different colors, and the most recently burned areas are shown in a brighter color.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="100">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002909/firelegend.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2909_17518_bg</Name>
+						<Title>Background Image for Wildfire Growth around Yellowstone National Park in 1988 (WMS)</Title>
+						<Abstract>During the summer of 1988, wildfires burned about 1.4 million acres in and around Yellowstone National Park.  Spurred by the driest summer in park history, the fires started in early July and lasted until early October.  The worst day was August 20, when tremendous winds pushed the fires to burn over 150,000 acres.  Although the scars from these fires are still visible in Landsat imagery from space over ten years later, the patchwork nature of the fire footprint left many unburned areas from which plant species have regenerated very successfully.  This animation shows how the fires progressed in the period from June 30 though October 2, 1988, by which time the fall rain and snow had stopped the fire growth.  These maps are based on daily ground observations by fire lookouts in the park and by infrared imaging cameras flown over the park at night.  These observations are considered accurate to within about 100 meters.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Yellowstone National Park</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Agriculture:Forest Science:Forest Fire Science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Ecological Dynamics:Fire Occurrence</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Fires</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-111.4</westBoundLongitude>
+							<eastBoundLongitude>-109.4</eastBoundLongitude>
+							<southBoundLatitude>43.868</southBoundLatitude>
+							<northBoundLatitude>45.4</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-111.4" miny="43.868" maxx="-109.4" maxy="45.4"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002909/a002909.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://sagemap.wr.usgs.gov/ftp/wyoming/NPS/yell_fire88perim.htm"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="993" fixedHeight="684">
+					<Name>2898_17449</Name>
+					<Title>GOES Imagery of Hurricane Luis (993x684 Animation)</Title>
+					<Abstract>On September 6, 1995, Hurricane Luis was a Category 4 hurricane located about 250 kilometers northeast of Puerto Rico.  GOES-9, a new weather satellite in geostationary orbit, was undergoing a check-out period and tested a new, rapid scanning capability by taking high-resolution visible images of Luis at 22 images per hour, much more rapid than the normal rate of one image every 15 minutes.  These images clearly show a number of hurricane features that had been hard to observe before, including the evolution of the eyewall structures and small-scale vortex features within the eye.  It is also possible to see the formation of the new hurricane arm to the southeast of the eye.  This arm is marked by the formation of clouds in the bubbling regions that indicate intense updrafts.  The island of Puerto Rico can only be seen as a stationary disturbance under the bright white cloudbank to the southwest of the eye of the hurricane.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Luis</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-69.8211</westBoundLongitude>
+						<eastBoundLongitude>-53.0796</eastBoundLongitude>
+						<southBoundLatitude>13.52</southBoundLatitude>
+						<northBoundLatitude>25.92</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-69.8211" miny="13.52" maxx="-53.0796" maxy="25.92"/>
+					<Dimension name="time" units="ISO8601" default="1995-09-06T14:58Z">1995-09-06T10:23Z/1995-09-06T10:29Z/PT1M,1995-09-06T10:32Z/1995-09-06T10:35Z/PT1M,1995-09-06T10:39Z,1995-09-06T10:41Z/1995-09-06T10:43Z/PT1M,1995-09-06T10:45Z/1995-09-06T10:49Z/PT1M,1995-09-06T10:51Z/1995-09-06T10:59Z/PT1M,1995-09-06T11:02Z/1995-09-06T11:05Z/PT1M,1995-09-06T11:09Z,1995-09-06T11:11Z/1995-09-06T11:13Z/PT1M,1995-09-06T11:15Z/1995-09-06T11:19Z/PT1M,1995-09-06T11:21Z/1995-09-06T11:29Z/PT1M,1995-09-06T11:32Z/1995-09-06T11:35Z/PT1M,1995-09-06T11:39Z,1995-09-06T11:41Z/1995-09-06T11:43Z/PT1M,1995-09-06T11:45Z/1995-09-06T11:51Z/PT1M,1995-09-06T11:53Z/1995-09-06T12:10Z/PT1M,1995-09-06T12:13Z,1995-09-06T12:15Z/1995-09-06T12:19Z/PT1M,1995-09-06T12:21Z,1995-09-06T12:23Z/1995-09-06T12:29Z/PT1M,1995-09-06T12:45Z/1995-09-06T12:51Z/PT1M,1995-09-06T12:53Z/1995-09-06T12:59Z/PT1M,1995-09-06T13:02Z/1995-09-06T13:05Z/PT1M,1995-09-06T13:09Z,1995-09-06T13:10Z,1995-09-06T13:12Z,1995-09-06T13:13Z,1995-09-06T13:15Z/1995-09-06T13:20Z/PT1M,1995-09-06T13:22Z/1995-09-06T13:29Z/PT1M,1995-09-06T13:32Z/1995-09-06T13:35Z/PT1M,1995-09-06T13:39Z,1995-09-06T13:40Z,1995-09-06T13:42Z,1995-09-06T13:43Z,1995-09-06T13:45Z/1995-09-06T13:50Z/PT1M,1995-09-06T13:52Z/1995-09-06T13:59Z/PT1M,1995-09-06T14:02Z/1995-09-06T14:05Z/PT1M,1995-09-06T14:09Z,1995-09-06T14:10Z,1995-09-06T14:12Z,1995-09-06T14:13Z,1995-09-06T14:15Z/1995-09-06T14:20Z/PT1M,1995-09-06T14:22Z/1995-09-06T14:29Z/PT1M,1995-09-06T14:32Z/1995-09-06T14:35Z/PT1M,1995-09-06T14:39Z,1995-09-06T14:41Z/1995-09-06T14:43Z/PT1M,1995-09-06T14:45Z/1995-09-06T14:51Z/PT1M,1995-09-06T14:53Z/1995-09-06T14:58Z/PT1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002898/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002898/a002898.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.goes.noaa.gov/"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract> This animation shows a close-up of Hurricane Luis on September 6, 1995.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Wind Vectors for Hurricane Erin</Title>
+					<Abstract>This visualization shows wind vectors for Hurricane Erin on September 10, 2001.  Wind direction and speed are represented by the direction and speed of moving arrows, respectively.  This animation represents a single measurement taken by the SeaWinds instrument on the QuikSCAT satellite, taken at 14:27:00 UTC on September 10, 2001.  The WMS version of this animation which is available through the SVS Image Server (http://aes.gsfc.nasa.gov) presents this animation with a different timestamp for each frame in order to more easily present the images as an animation.  It should be noted that each frame really has a time stamp of 2001-09-10 14:27:00 UTC.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="SVS">Winds</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Surface Winds</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Winds:Surface Winds</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002896/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002896/a002896.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2896_17437</Name>
+						<Title>Wind Vectors for Hurricane Erin (1024x1024 Animation)</Title>
+						<Abstract>This visualization shows wind vectors for Hurricane Erin on September 10, 2001.  Wind direction and speed are represented by the direction and speed of moving arrows, respectively.  This animation represents a single measurement taken by the SeaWinds instrument on the QuikSCAT satellite, taken at 14:27:00 UTC on September 10, 2001.  The WMS version of this animation which is available through the SVS Image Server (http://aes.gsfc.nasa.gov) presents this animation with a different timestamp for each frame in order to more easily present the images as an animation.  It should be noted that each frame really has a time stamp of 2001-09-10 14:27:00 UTC.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="SVS">Winds</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Surface Winds</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Winds:Surface Winds</Keyword>
+							<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-90</westBoundLongitude>
+							<eastBoundLongitude>-40</eastBoundLongitude>
+							<southBoundLatitude>10</southBoundLatitude>
+							<northBoundLatitude>60</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-90" miny="10" maxx="-40" maxy="60"/>
+						<Dimension name="time" units="ISO8601" default="2001-09-10T14:31:59Z">2001-09-10T14:27:00Z/2001-09-10T14:31:59Z/PT1S</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002896/a002896.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Hurricane Erin was positioned off the coast of the United States on September 10, 2001.  This animation shows the strength and direction of wind by animating small arrows.  Faster-moving arrows represent stronger winds.  This version provides only the transparent overlay.</Abstract>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Hurricane Erin was positioned off the coast of the United States on September 10, 2001.  This animation shows the strength and direction of wind by animating small arrows.  Faster-moving arrows represent stronger winds.  This version provides the transparent overlay composited with a background image.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2896_17437_bg</Name>
+						<Title>Background Image for Wind Vectors for Hurricane Erin (WMS)</Title>
+						<Abstract>This visualization shows wind vectors for Hurricane Erin on September 10, 2001.  Wind direction and speed are represented by the direction and speed of moving arrows, respectively.  This animation represents a single measurement taken by the SeaWinds instrument on the QuikSCAT satellite, taken at 14:27:00 UTC on September 10, 2001.  The WMS version of this animation which is available through the SVS Image Server (http://aes.gsfc.nasa.gov) presents this animation with a different timestamp for each frame in order to more easily present the images as an animation.  It should be noted that each frame really has a time stamp of 2001-09-10 14:27:00 UTC.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="SVS">Winds</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Surface Winds</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Winds:Surface Winds</Keyword>
+							<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-90</westBoundLongitude>
+							<eastBoundLongitude>-40</eastBoundLongitude>
+							<southBoundLatitude>10</southBoundLatitude>
+							<northBoundLatitude>60</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-90" miny="10" maxx="-40" maxy="60"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002896/a002896.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Cumulative Earthquake Activity from 1980 through 1995</Title>
+					<Abstract>This animation shows a cumulative view of earthquake activity for the whole world from 1980 through 1995.  Each dot on the image represents the number of earthquakes with magnitude greater than 4.2 that have occurred in a 0.35 by 0.35 degree area of the globe since January 1, 1980.  A yellow dot represents 1 or 2 earthquakes, an orange dot represents about 10 earthquakes, and a red dot represents 50 to 200 earthquakes.  The background image, if present, shows the topography of the ocean floor.  As the animation proceeds, the earthquakes clearly accumulate around the topographic features that represent the boundaries of the Earth's crustal plates.  This animation is based on data from world-wide seismic networks and was obtained from the National Earthquake Center of the United States Geological Survey.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="SVS">Earthquake</Keyword>
+						<Keyword vocabulary="DLESE">Geology</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Geological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Seismology:Earthquake Occurrences</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002893/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002893/a002893.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://neic.usgs.gov"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>2893_17420</Name>
+						<Title>Cumulative Earthquake Activity from 1980 through 1995 (1024x512 Animation)</Title>
+						<Abstract>This animation shows a cumulative view of earthquake activity for the whole world from 1980 through 1995.  Each dot on the image represents the number of earthquakes with magnitude greater than 4.2 that have occurred in a 0.35 by 0.35 degree area of the globe since January 1, 1980.  A yellow dot represents 1 or 2 earthquakes, an orange dot represents about 10 earthquakes, and a red dot represents 50 to 200 earthquakes.  The background image, if present, shows the topography of the ocean floor.  As the animation proceeds, the earthquakes clearly accumulate around the topographic features that represent the boundaries of the Earth's crustal plates.  This animation is based on data from world-wide seismic networks and was obtained from the National Earthquake Center of the United States Geological Survey.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Earthquake</Keyword>
+							<Keyword vocabulary="DLESE">Geology</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Geological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Seismology:Earthquake Occurrences</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="1995-12-31">1980-01-12/1995-12-31/P12D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002893/a002893.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://neic.usgs.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animations shows earthquake activity over a 16-year period.    This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002893/quakebar.png"/>
+							</LegendURL>
+							<LegendURL width="320" height="60">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002893/legend.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animations shows earthquake activity over a 16-year period.    This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002893/quakebar.png"/>
+							</LegendURL>
+							<LegendURL width="320" height="60">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002893/legend.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>2893_17420_bg</Name>
+						<Title>Background Image for Cumulative Earthquake Activity from 1980 through 1995 (WMS)</Title>
+						<Abstract>This animation shows a cumulative view of earthquake activity for the whole world from 1980 through 1995.  Each dot on the image represents the number of earthquakes with magnitude greater than 4.2 that have occurred in a 0.35 by 0.35 degree area of the globe since January 1, 1980.  A yellow dot represents 1 or 2 earthquakes, an orange dot represents about 10 earthquakes, and a red dot represents 50 to 200 earthquakes.  The background image, if present, shows the topography of the ocean floor.  As the animation proceeds, the earthquakes clearly accumulate around the topographic features that represent the boundaries of the Earth's crustal plates.  This animation is based on data from world-wide seismic networks and was obtained from the National Earthquake Center of the United States Geological Survey.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Earthquake</Keyword>
+							<Keyword vocabulary="DLESE">Geology</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Geological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Seismology:Earthquake Occurrences</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002893/a002893.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://neic.usgs.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+					<Name>2892_17415</Name>
+					<Title>Satellite Imagery of Hurricane Dennis (512x512 Animation)</Title>
+					<Abstract>Hurricane Dennis started as a tropical depression on August 23, 1999, became a tropical storm on August 24, and was classified as a hurricane early on August 26, near the Bahamas.  From August 26 through August 31, Dennis proceeded up the coast of the United States until it stalled off the coast of North Carolina for four days because the pressure trough that was pushing it out to sea left it behind.  This animation shows images of Dennis during its hurricane period from August 26 through August 31, 1999, when the stall began.  The images were taken by the GOES-8 satellite, a weather satellite in geostationary orbit above the western hemisphere.  The continuous white cloud progression came from infrared images from GOES, and the yellowish clouds that come and go with the daylight came from data taken in the visible spectrum, also from GOES.  The GOES images were not taken at regular times, so the hurricane appears to slow down when the time between images gets small and speed up when the time between images gets large.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Dennis</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-99.0152</westBoundLongitude>
+						<eastBoundLongitude>-64.7922</eastBoundLongitude>
+						<southBoundLatitude>15.8822</southBoundLatitude>
+						<northBoundLatitude>47.6518</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-99.0152" miny="15.8822" maxx="-64.7922" maxy="47.6518"/>
+					<Dimension name="time" units="ISO8601" default="1999-08-31T14:45Z">1999-08-26T14:15Z/1999-08-26T14:45Z/PT15M,1999-08-26T15:15Z/1999-08-26T15:45Z/PT15M,1999-08-26T15:59Z,1999-08-26T16:15Z/1999-08-26T16:45Z/PT15M,1999-08-26T16:59Z,1999-08-26T17:15Z,1999-08-26T17:32Z,1999-08-26T17:40Z,1999-08-26T17:45Z,1999-08-26T18:15Z,1999-08-26T18:25Z,1999-08-26T18:46Z,1999-08-26T18:55Z,1999-08-26T19:03Z,1999-08-26T19:10Z,1999-08-26T19:15Z,1999-08-26T19:25Z,1999-08-26T19:32Z,1999-08-26T19:40Z,1999-08-26T19:45Z,1999-08-26T19:55Z,1999-08-26T20:02Z,1999-08-26T20:10Z,1999-08-26T20:15Z,1999-08-26T20:25Z,1999-08-26T20:32Z,1999-08-26T20:40Z,1999-08-26T20:45Z,1999-08-26T21:15Z,1999-08-26T21:25Z,1999-08-26T21:32Z,1999-08-26T21:40Z,1999-08-26T21:45Z,1999-08-26T21:55Z,1999-08-26T22:02Z,1999-08-26T22:10Z,1999-08-26T22:15Z,1999-08-26T22:25Z,1999-08-26T22:32Z,1999-08-26T22:40Z,1999-08-26T22:45Z,1999-08-26T22:55Z,1999-08-26T23:03Z,1999-08-26T23:10Z,1999-08-26T23:15Z,1999-08-26T23:25Z,1999-08-26T23:32Z,1999-08-26T23:40Z,1999-08-26T23:45Z/1999-08-27T00:45Z/PT30M,1999-08-27T00:55Z,1999-08-27T01:03Z,1999-08-27T01:10Z,1999-08-27T01:15Z,1999-08-27T01:25Z,1999-08-27T01:32Z,1999-08-27T01:45Z,1999-08-27T02:02Z,1999-08-27T02:15Z,1999-08-27T02:32Z,1999-08-27T02:45Z,1999-08-27T03:15Z,1999-08-27T03:32Z,1999-08-27T03:45Z,1999-08-27T04:02Z,1999-08-27T04:15Z,1999-08-27T06:15Z,1999-08-27T06:46Z,1999-08-27T07:02Z,1999-08-27T07:15Z,1999-08-27T07:32Z,1999-08-27T07:45Z,1999-08-27T08:02Z,1999-08-27T08:15Z/1999-08-27T09:45Z/PT30M,1999-08-27T10:02Z,1999-08-27T10:15Z,1999-08-27T10:32Z,1999-08-27T10:45Z,1999-08-27T11:02Z,1999-08-27T11:15Z,1999-08-27T11:32Z,1999-08-27T11:45Z/1999-08-27T12:45Z/PT30M,1999-08-27T13:02Z,1999-08-27T13:15Z,1999-08-27T13:33Z,1999-08-27T13:40Z,1999-08-27T13:45Z,1999-08-27T13:55Z,1999-08-27T14:03Z,1999-08-27T14:10Z,1999-08-27T14:15Z,1999-08-27T14:25Z,1999-08-27T14:33Z,1999-08-27T14:40Z,1999-08-27T14:45Z,1999-08-27T15:15Z,1999-08-27T15:25Z,1999-08-27T15:33Z,1999-08-27T15:40Z,1999-08-27T15:45Z,1999-08-27T15:55Z,1999-08-27T16:02Z,1999-08-27T16:10Z,1999-08-27T16:15Z,1999-08-27T16:25Z,1999-08-27T16:32Z,1999-08-27T16:40Z,1999-08-27T16:45Z,1999-08-27T16:55Z,1999-08-27T17:02Z,1999-08-27T17:10Z,1999-08-27T17:15Z,1999-08-27T17:25Z,1999-08-27T17:32Z,1999-08-27T17:40Z,1999-08-27T17:45Z,1999-08-27T18:15Z,1999-08-27T18:25Z,1999-08-27T18:46Z,1999-08-27T18:55Z,1999-08-27T19:03Z,1999-08-27T19:15Z,1999-08-27T19:25Z,1999-08-27T19:33Z,1999-08-27T19:40Z,1999-08-27T19:45Z,1999-08-27T19:55Z,1999-08-27T20:03Z,1999-08-27T20:10Z,1999-08-27T20:15Z,1999-08-27T20:25Z,1999-08-27T20:33Z,1999-08-27T20:40Z,1999-08-27T20:45Z,1999-08-27T21:15Z,1999-08-27T21:25Z,1999-08-27T21:32Z,1999-08-27T21:45Z,1999-08-27T22:02Z,1999-08-27T22:15Z,1999-08-27T22:32Z,1999-08-27T22:45Z,1999-08-27T23:02Z,1999-08-27T23:15Z,1999-08-27T23:32Z,1999-08-27T23:45Z,1999-08-28T00:15Z,1999-08-28T00:46Z,1999-08-28T00:55Z,1999-08-28T01:03Z,1999-08-28T01:10Z,1999-08-28T01:15Z,1999-08-28T01:25Z,1999-08-28T01:32Z,1999-08-28T01:40Z,1999-08-28T01:45Z,1999-08-28T01:55Z,1999-08-28T02:02Z,1999-08-28T02:10Z,1999-08-28T02:15Z,1999-08-28T02:25Z,1999-08-28T02:32Z,1999-08-28T02:40Z,1999-08-28T02:45Z,1999-08-28T03:15Z,1999-08-28T03:25Z,1999-08-28T03:32Z,1999-08-28T03:40Z,1999-08-28T03:45Z,1999-08-28T03:55Z,1999-08-28T04:03Z,1999-08-28T04:10Z,1999-08-28T05:33Z,1999-08-28T05:40Z,1999-08-28T06:15Z,1999-08-28T06:25Z,1999-08-28T06:45Z,1999-08-28T06:55Z,1999-08-28T07:02Z,1999-08-28T07:15Z,1999-08-28T07:25Z,1999-08-28T07:32Z,1999-08-28T07:40Z,1999-08-28T07:45Z,1999-08-28T07:55Z,1999-08-28T08:02Z,1999-08-28T08:10Z,1999-08-28T08:15Z,1999-08-28T08:25Z,1999-08-28T08:32Z,1999-08-28T08:40Z,1999-08-28T08:45Z,1999-08-28T09:15Z,1999-08-28T09:25Z,1999-08-28T09:45Z,1999-08-28T10:02Z,1999-08-28T10:15Z,1999-08-28T10:32Z,1999-08-28T10:45Z,1999-08-28T11:02Z,1999-08-28T11:15Z,1999-08-28T11:32Z,1999-08-28T11:45Z/1999-08-28T12:45Z/PT30M,1999-08-28T12:55Z,1999-08-28T13:02Z,1999-08-28T13:10Z,1999-08-28T13:15Z,1999-08-28T13:25Z,1999-08-28T13:33Z,1999-08-28T13:40Z,1999-08-28T13:45Z,1999-08-28T13:55Z,1999-08-28T14:03Z,1999-08-28T14:10Z,1999-08-28T14:15Z,1999-08-28T14:25Z,1999-08-28T14:33Z,1999-08-28T14:40Z,1999-08-28T14:45Z,1999-08-28T15:15Z,1999-08-28T15:25Z,1999-08-28T15:32Z,1999-08-28T15:40Z,1999-08-28T15:45Z,1999-08-28T15:55Z,1999-08-28T16:02Z,1999-08-28T16:10Z,1999-08-28T16:15Z,1999-08-28T16:25Z,1999-08-28T16:32Z,1999-08-28T16:40Z,1999-08-28T16:45Z,1999-08-28T16:55Z,1999-08-28T17:02Z,1999-08-28T17:10Z,1999-08-28T17:15Z,1999-08-28T17:25Z,1999-08-28T17:32Z,1999-08-28T17:40Z,1999-08-28T17:45Z,1999-08-28T18:15Z,1999-08-28T18:25Z,1999-08-28T18:45Z,1999-08-28T18:55Z,1999-08-28T19:03Z,1999-08-28T19:10Z,1999-08-28T19:15Z,1999-08-28T19:25Z,1999-08-28T19:32Z,1999-08-28T19:40Z,1999-08-28T19:45Z,1999-08-28T19:55Z,1999-08-28T20:03Z,1999-08-28T20:15Z,1999-08-28T20:25Z,1999-08-28T20:33Z,1999-08-28T20:40Z,1999-08-28T20:45Z,1999-08-28T21:15Z,1999-08-28T21:25Z,1999-08-28T21:32Z,1999-08-28T21:40Z,1999-08-28T21:45Z,1999-08-28T21:55Z,1999-08-28T22:02Z,1999-08-28T22:10Z,1999-08-28T22:15Z,1999-08-28T22:25Z,1999-08-28T22:32Z,1999-08-28T22:40Z,1999-08-28T22:45Z,1999-08-28T22:55Z,1999-08-28T23:02Z,1999-08-28T23:10Z,1999-08-28T23:15Z,1999-08-28T23:25Z,1999-08-28T23:32Z,1999-08-28T23:40Z,1999-08-28T23:45Z,1999-08-29T00:15Z,1999-08-29T00:46Z,1999-08-29T00:55Z,1999-08-29T01:03Z,1999-08-29T01:10Z,1999-08-29T01:15Z,1999-08-29T01:25Z,1999-08-29T01:33Z,1999-08-29T01:40Z,1999-08-29T01:45Z,1999-08-29T01:55Z,1999-08-29T02:02Z,1999-08-29T02:10Z,1999-08-29T02:15Z,1999-08-29T02:25Z,1999-08-29T02:32Z,1999-08-29T02:40Z,1999-08-29T02:45Z,1999-08-29T03:15Z,1999-08-29T03:25Z,1999-08-29T03:32Z,1999-08-29T03:40Z,1999-08-29T03:45Z,1999-08-29T03:55Z,1999-08-29T04:02Z,1999-08-29T04:10Z,1999-08-29T05:33Z,1999-08-29T05:40Z,1999-08-29T06:15Z,1999-08-29T06:25Z,1999-08-29T06:45Z,1999-08-29T07:02Z,1999-08-29T07:15Z,1999-08-29T07:32Z,1999-08-29T07:45Z,1999-08-29T08:02Z,1999-08-29T08:15Z/1999-08-29T09:45Z/PT30M,1999-08-29T10:02Z,1999-08-29T10:15Z,1999-08-29T10:32Z,1999-08-29T10:45Z,1999-08-29T11:02Z,1999-08-29T11:15Z,1999-08-29T11:32Z,1999-08-29T11:46Z,1999-08-29T12:15Z,1999-08-29T12:45Z,1999-08-29T13:02Z,1999-08-29T13:15Z,1999-08-29T13:32Z,1999-08-29T13:45Z,1999-08-29T14:02Z,1999-08-29T14:15Z,1999-08-29T14:32Z,1999-08-29T14:45Z,1999-08-29T15:15Z,1999-08-29T15:32Z,1999-08-29T15:45Z,1999-08-29T16:02Z,1999-08-29T16:15Z,1999-08-29T16:32Z,1999-08-29T16:40Z,1999-08-29T16:45Z,1999-08-29T16:55Z,1999-08-29T17:02Z,1999-08-29T17:10Z,1999-08-29T17:15Z,1999-08-29T17:25Z,1999-08-29T17:32Z,1999-08-29T17:40Z,1999-08-29T17:45Z,1999-08-29T18:15Z,1999-08-29T18:25Z,1999-08-29T18:46Z,1999-08-29T18:55Z,1999-08-29T19:03Z,1999-08-29T19:10Z,1999-08-29T19:15Z,1999-08-29T19:25Z,1999-08-29T19:33Z,1999-08-29T19:40Z,1999-08-29T19:45Z,1999-08-29T19:55Z,1999-08-29T20:03Z,1999-08-29T20:10Z,1999-08-29T20:15Z,1999-08-29T20:25Z,1999-08-29T20:33Z,1999-08-29T20:40Z,1999-08-29T20:45Z,1999-08-29T21:15Z,1999-08-29T21:25Z,1999-08-29T21:32Z,1999-08-29T21:40Z,1999-08-29T21:45Z,1999-08-29T21:55Z,1999-08-29T22:02Z,1999-08-29T22:10Z,1999-08-29T22:15Z,1999-08-29T22:25Z,1999-08-29T22:32Z,1999-08-29T22:40Z,1999-08-29T22:45Z,1999-08-29T22:55Z,1999-08-29T23:02Z,1999-08-29T23:10Z,1999-08-29T23:15Z,1999-08-29T23:25Z,1999-08-29T23:32Z,1999-08-29T23:40Z,1999-08-29T23:45Z,1999-08-30T00:15Z,1999-08-30T00:46Z,1999-08-30T00:55Z,1999-08-30T01:02Z,1999-08-30T01:10Z,1999-08-30T01:15Z,1999-08-30T01:25Z,1999-08-30T01:32Z,1999-08-30T01:40Z,1999-08-30T01:45Z,1999-08-30T01:55Z,1999-08-30T02:02Z,1999-08-30T02:10Z,1999-08-30T02:15Z,1999-08-30T02:25Z,1999-08-30T02:32Z,1999-08-30T02:40Z,1999-08-30T02:45Z,1999-08-30T03:15Z,1999-08-30T03:25Z,1999-08-30T03:32Z,1999-08-30T03:40Z,1999-08-30T03:45Z,1999-08-30T03:55Z,1999-08-30T04:02Z,1999-08-30T04:10Z,1999-08-30T05:40Z,1999-08-30T06:15Z,1999-08-30T06:25Z,1999-08-30T06:45Z,1999-08-30T07:02Z,1999-08-30T07:15Z,1999-08-30T07:32Z,1999-08-30T07:45Z,1999-08-30T08:02Z,1999-08-30T08:15Z/1999-08-30T09:45Z/PT30M,1999-08-30T10:02Z,1999-08-30T10:15Z,1999-08-30T10:32Z,1999-08-30T10:45Z,1999-08-30T11:02Z,1999-08-30T11:15Z,1999-08-30T11:32Z,1999-08-30T11:45Z/1999-08-30T12:45Z/PT30M,1999-08-30T13:02Z,1999-08-30T13:15Z,1999-08-30T13:32Z,1999-08-30T13:45Z,1999-08-30T14:02Z,1999-08-30T14:15Z,1999-08-30T14:32Z,1999-08-30T14:45Z,1999-08-30T15:15Z,1999-08-30T15:32Z,1999-08-30T15:45Z,1999-08-30T16:02Z,1999-08-30T16:15Z,1999-08-30T16:32Z,1999-08-30T16:45Z,1999-08-30T17:02Z,1999-08-30T17:15Z,1999-08-30T17:32Z,1999-08-30T17:45Z,1999-08-30T18:15Z,1999-08-30T18:46Z,1999-08-30T18:55Z,1999-08-30T19:02Z,1999-08-30T19:10Z,1999-08-30T19:15Z,1999-08-30T19:25Z,1999-08-30T19:33Z,1999-08-30T19:40Z,1999-08-30T19:45Z,1999-08-30T19:55Z,1999-08-30T20:03Z,1999-08-30T20:10Z,1999-08-30T20:15Z,1999-08-30T20:25Z,1999-08-30T20:32Z,1999-08-30T20:40Z,1999-08-30T20:45Z,1999-08-30T21:15Z,1999-08-30T21:25Z,1999-08-30T21:32Z,1999-08-30T21:45Z,1999-08-30T21:55Z,1999-08-30T22:02Z,1999-08-30T22:10Z,1999-08-30T22:15Z,1999-08-30T22:25Z,1999-08-30T22:32Z,1999-08-30T22:40Z,1999-08-30T22:45Z,1999-08-30T22:55Z,1999-08-30T23:02Z,1999-08-30T23:10Z,1999-08-30T23:15Z,1999-08-30T23:25Z,1999-08-30T23:32Z,1999-08-30T23:40Z,1999-08-30T23:45Z/1999-08-31T00:45Z/PT30M,1999-08-31T00:55Z,1999-08-31T01:03Z,1999-08-31T01:10Z,1999-08-31T01:15Z,1999-08-31T01:25Z,1999-08-31T01:32Z,1999-08-31T01:40Z,1999-08-31T01:45Z,1999-08-31T01:55Z,1999-08-31T02:03Z,1999-08-31T02:10Z,1999-08-31T02:15Z,1999-08-31T02:25Z,1999-08-31T02:32Z,1999-08-31T02:40Z,1999-08-31T02:45Z,1999-08-31T03:15Z,1999-08-31T03:25Z,1999-08-31T03:32Z,1999-08-31T03:40Z,1999-08-31T03:45Z,1999-08-31T03:55Z,1999-08-31T04:02Z,1999-08-31T06:46Z,1999-08-31T07:02Z,1999-08-31T07:15Z,1999-08-31T07:32Z,1999-08-31T07:45Z,1999-08-31T08:02Z,1999-08-31T08:15Z/1999-08-31T09:45Z/PT30M,1999-08-31T10:02Z,1999-08-31T10:15Z,1999-08-31T10:32Z,1999-08-31T10:45Z,1999-08-31T11:02Z,1999-08-31T11:15Z,1999-08-31T11:32Z,1999-08-31T11:45Z/1999-08-31T12:45Z/PT30M,1999-08-31T13:02Z,1999-08-31T13:15Z,1999-08-31T13:32Z,1999-08-31T13:45Z,1999-08-31T14:02Z,1999-08-31T14:15Z,1999-08-31T14:32Z,1999-08-31T14:45Z</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002892/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002892/a002892.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.goes.noaa.gov/"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows the cloud formations created by Hurricane Dennis in August, 1999.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>African Fires during 2002</Title>
+					<Abstract>This animation shows fire activity in Africa from January 1, 2002 to December 31, 2002.  The fires are shown as tiny particles with each particle depicting the geographic region in which fire was detected.  The color of a particle represents the number of days since a sizable amount of fire was detected in that region, with red representing less than 20 days, orange representing 20 to 40 days, yellow representing 40 to 60 days, and gray to black representing more than 60 days.  This data was measured by the MODIS instrument on the Terra satellite.  MODIS detects fires by measuring the brightness temperature of a region in several frequency bands and looking for hot spots where this temperature is greater than the surrounding region.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Forestry</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Agriculture:Forest Science:Forest Fire Science</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Ecological Dynamics:Fire Occurrence</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Fires</Keyword>
+						<Keyword vocabulary="GCMD">Location:Africa</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002890/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002890/a002890.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://rapidfire.sci.gsfc.nasa.gov/"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2890_17402</Name>
+						<Title>African Fires during 2002 (1024x1024 Animation)</Title>
+						<Abstract>This animation shows fire activity in Africa from January 1, 2002 to December 31, 2002.  The fires are shown as tiny particles with each particle depicting the geographic region in which fire was detected.  The color of a particle represents the number of days since a sizable amount of fire was detected in that region, with red representing less than 20 days, orange representing 20 to 40 days, yellow representing 40 to 60 days, and gray to black representing more than 60 days.  This data was measured by the MODIS instrument on the Terra satellite.  MODIS detects fires by measuring the brightness temperature of a region in several frequency bands and looking for hot spots where this temperature is greater than the surrounding region.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Forestry</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Agriculture:Forest Science:Forest Fire Science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Ecological Dynamics:Fire Occurrence</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Fires</Keyword>
+							<Keyword vocabulary="GCMD">Location:Africa</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-22</westBoundLongitude>
+							<eastBoundLongitude>58</eastBoundLongitude>
+							<southBoundLatitude>-39</southBoundLatitude>
+							<northBoundLatitude>41</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-22" miny="-39" maxx="58" maxy="41"/>
+						<Dimension name="time" units="ISO8601" default="2002-12-31">2002-01-01/2002-12-31/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002890/a002890.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://rapidfire.sci.gsfc.nasa.gov/"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows fire activity in Africa during 2002.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002890/firebar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows fire activity in Africa during 2002.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002890/firebar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2890_17402_bg</Name>
+						<Title>Background Image for African Fires during 2002 (WMS)</Title>
+						<Abstract>This animation shows fire activity in Africa from January 1, 2002 to December 31, 2002.  The fires are shown as tiny particles with each particle depicting the geographic region in which fire was detected.  The color of a particle represents the number of days since a sizable amount of fire was detected in that region, with red representing less than 20 days, orange representing 20 to 40 days, yellow representing 40 to 60 days, and gray to black representing more than 60 days.  This data was measured by the MODIS instrument on the Terra satellite.  MODIS detects fires by measuring the brightness temperature of a region in several frequency bands and looking for hot spots where this temperature is greater than the surrounding region.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Forestry</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Agriculture:Forest Science:Forest Fire Science</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Ecological Dynamics:Fire Occurrence</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Fires</Keyword>
+							<Keyword vocabulary="GCMD">Location:Africa</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-22</westBoundLongitude>
+							<eastBoundLongitude>58</eastBoundLongitude>
+							<southBoundLatitude>-39</southBoundLatitude>
+							<northBoundLatitude>41</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-22" miny="-39" maxx="58" maxy="41"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002890/a002890.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://rapidfire.sci.gsfc.nasa.gov/"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+			</Layer>
+			<Layer>
+				<Title>Hydrosphere</Title>
+				<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+					<Name>3353_24832</Name>
+					<Title>Terra/Aqua MODIS: Snow Cover and Sea Ice Surface Temperature (2048x512 Animation)</Title>
+					<Abstract>This animation shows MODIS daily measurements of both snow cover and sea ice surface temperature in the Northern Hemisphere for the winter of 2002-2003.  MODIS can only take measurements in daylight, so measurements during the polar winter night are taken from the last valid measurement.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>0</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="0" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-05-31">2002-09-01/2003-05-31/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003353/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003353/a003353.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003180/index.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>MODIS snow cover and sea ice surface temperature in the Northern Hemisphere from September 1, 2002 through May 31, 2003.</Abstract>
+						<LegendURL width="320" height="180">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003353/snow_seaice_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Before and During the Great Mississippi Flood of 1993</Title>
+					<Abstract>During the first half of 1993, heavy rains in the midwest United States caused the greatest flood ever recorded on the Upper Mississippi.  The Mississippi River remained above flood stage from April through September of that year, and many of the dykes and water control systems along the rivers in this region were overwhelmed.  These images from the Landsat-5 Thematic Mapper clearly show the flooded regions near St. Louis.  The pink areas near the flooded regions show the scoured land from which the flood waters have receded.  A comparison of the image during the flood with an image from a year before clearly shows the preponderance of cultivated fields in the lowland flooded region, evidence that floods and river meanderings have deposited rich soil in these regions in the past.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="DLESE">Hydrology</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Hydrological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Floods</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Rivers/Streams</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003352/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003352/a003352.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://earthobservatory.nasa.gov/Newsroom/NewImages/images.php3?img_id=16881"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="2048">
+						<Name>3352_24736</Name>
+						<Title> (2048x2048 Animation)</Title>
+						<Abstract>During the first half of 1993, heavy rains in the midwest United States caused the greatest flood ever recorded on the Upper Mississippi.  The Mississippi River remained above flood stage from April through September of that year, and many of the dykes and water control systems along the rivers in this region were overwhelmed.  These images from the Landsat-5 Thematic Mapper clearly show the flooded regions near St. Louis.  The pink areas near the flooded regions show the scoured land from which the flood waters have receded.  A comparison of the image during the flood with an image from a year before clearly shows the preponderance of cultivated fields in the lowland flooded region, evidence that floods and river meanderings have deposited rich soil in these regions in the past.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Human geography</Keyword>
+							<Keyword vocabulary="DLESE">Hydrology</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Hydrological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Floods</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Rivers/Streams</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-91.105179</westBoundLongitude>
+							<eastBoundLongitude>-89.901729</eastBoundLongitude>
+							<southBoundLatitude>38.372716</southBoundLatitude>
+							<northBoundLatitude>39.313252</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-91.105179" miny="38.372716" maxx="-89.901729" maxy="39.313252"/>
+						<Dimension name="time" units="ISO8601" default="1993-08-19">1991-08-14,1993-08-19</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003352/a003352.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://earthobservatory.nasa.gov/Newsroom/NewImages/images.php3?img_id=16881"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>This animation shows two images from Landsat-5 of the region around St. Louis, Missouri, one from 1991 during normal conditions and one during the flood of 1993.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="3390" fixedHeight="3390">
+						<Name>3352_24738</Name>
+						<Title> (3390x3390 Image)</Title>
+						<Abstract>During the first half of 1993, heavy rains in the midwest United States caused the greatest flood ever recorded on the Upper Mississippi.  The Mississippi River remained above flood stage from April through September of that year, and many of the dykes and water control systems along the rivers in this region were overwhelmed.  These images from the Landsat-5 Thematic Mapper clearly show the flooded regions near St. Louis.  The pink areas near the flooded regions show the scoured land from which the flood waters have receded.  A comparison of the image during the flood with an image from a year before clearly shows the preponderance of cultivated fields in the lowland flooded region, evidence that floods and river meanderings have deposited rich soil in these regions in the past.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Human geography</Keyword>
+							<Keyword vocabulary="DLESE">Hydrology</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Hydrological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Floods</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Rivers/Streams</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-91.105179</westBoundLongitude>
+							<eastBoundLongitude>-89.901729</eastBoundLongitude>
+							<southBoundLatitude>38.372716</southBoundLatitude>
+							<northBoundLatitude>39.313252</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-91.105179" miny="38.372716" maxx="-89.901729" maxy="39.313252"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003352/a003352.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://earthobservatory.nasa.gov/Newsroom/NewImages/images.php3?img_id=16881"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>An image from the Landsat-5 Thematic Mapper of the region around St. Louis Missouri on August 19, 1993, just after the peak of the Mississippi flood.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="3390" fixedHeight="3390">
+						<Name>3352_24737</Name>
+						<Title> (3390x3390 Image)</Title>
+						<Abstract>During the first half of 1993, heavy rains in the midwest United States caused the greatest flood ever recorded on the Upper Mississippi.  The Mississippi River remained above flood stage from April through September of that year, and many of the dykes and water control systems along the rivers in this region were overwhelmed.  These images from the Landsat-5 Thematic Mapper clearly show the flooded regions near St. Louis.  The pink areas near the flooded regions show the scoured land from which the flood waters have receded.  A comparison of the image during the flood with an image from a year before clearly shows the preponderance of cultivated fields in the lowland flooded region, evidence that floods and river meanderings have deposited rich soil in these regions in the past.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Human geography</Keyword>
+							<Keyword vocabulary="DLESE">Hydrology</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Hydrological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Floods</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Rivers/Streams</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-91.105179</westBoundLongitude>
+							<eastBoundLongitude>-89.901729</eastBoundLongitude>
+							<southBoundLatitude>38.372716</southBoundLatitude>
+							<northBoundLatitude>39.313252</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-91.105179" miny="38.372716" maxx="-89.901729" maxy="39.313252"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003352/a003352.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://earthobservatory.nasa.gov/Newsroom/NewImages/images.php3?img_id=16881"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>An image from the Landsat-5 Thematic Mapper of the region around St. Louis, Missouri, on August 14, 1991, one year before the Mississippi flood.  The three rivers seen in this image are, from top to bottom, the Illinois, the Mississippi, and the Missouri.  St. Louis is just south of the Missouri River in the center of this image.</Abstract>
+						</Style>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Monthly Snow Climatology, 1979-2002</Title>
+					<Abstract>The extent of snow and ice that covers the earth's surface in the northern hemisphere grows and shrinks with the seasons.  This animations shows the average snow and ice cover for a given month over a 24-year period, 1979 - 2002.  It shows how often a particular point is covered with snow in a given month.  The SVS Image Server gives each particular image in the animation the last date for which the data was used in creating that image, even though each of the images covers a span of years for a particular month.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Snow</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003185/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003185/a003185.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="600" fixedHeight="200">
+						<Name>3185_21913</Name>
+						<Title>Monthly Snow Climatology, 1979-2002 (600x200 Animation)</Title>
+						<Abstract>The extent of snow and ice that covers the earth's surface in the northern hemisphere grows and shrinks with the seasons.  This animations shows the average snow and ice cover for a given month over a 24-year period, 1979 - 2002.  It shows how often a particular point is covered with snow in a given month.  The SVS Image Server gives each particular image in the animation the last date for which the data was used in creating that image, even though each of the images covers a span of years for a particular month.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Snow</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2002-12">2002-01/2002-12/P1M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003185/a003185.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the average snow cover for a given month over a 23-year period. The frames provide a transparent overlay. A background image taken from NASA's Blue Marble is also provided.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003185/snowC_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the average snow cover for a given month over a 23-year period. The frames provide a transparent overlay. A background image taken from NASA's Blue Marble is also provided.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003185/snowC_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="600" fixedHeight="200">
+						<Name>3185_21913_bg</Name>
+						<Title>Background Image for Monthly Snow Climatology, 1979-2002 (WMS)</Title>
+						<Abstract>The extent of snow and ice that covers the earth's surface in the northern hemisphere grows and shrinks with the seasons.  This animations shows the average snow and ice cover for a given month over a 24-year period, 1979 - 2002.  It shows how often a particular point is covered with snow in a given month.  The SVS Image Server gives each particular image in the animation the last date for which the data was used in creating that image, even though each of the images covers a span of years for a particular month.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Snow</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003185/a003185.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Daily 89 MHz Brightness Temperature, 2002-2003</Title>
+					<Abstract>Sea ice is frozen seawater floating on the surface of the ocean.  Some sea ice is permanent, persisting from year to year, and some is seasonal, melting and refreezing from season to season.  Sea ice is almost always in motion, reacting to ocean currents and to winds.  The AMSR-E instrument on the Aqua satellite acquires high resolution measurements of the 89 GHz brightness temperature near the poles.  Because this is a passive microwave sensor and independent of atmospheric effects, this sensor is able to observe the entire polar region every day, even through clouds and snowfalls .  This animation of AMSR-E 89 GHz brightness temperature in the northern hemisphere during late 2002 and early 2003 clearly shows the dynamic motion of the ice as well as its seasonal expansion and contraction.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003168/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003168/a003168.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1200" fixedHeight="400">
+						<Name>3168_21471</Name>
+						<Title>Daily 89 MHz Brightness Temperature, 2002-2003 (1200x400 Animation)</Title>
+						<Abstract>Sea ice is frozen seawater floating on the surface of the ocean.  Some sea ice is permanent, persisting from year to year, and some is seasonal, melting and refreezing from season to season.  Sea ice is almost always in motion, reacting to ocean currents and to winds.  The AMSR-E instrument on the Aqua satellite acquires high resolution measurements of the 89 GHz brightness temperature near the poles.  Because this is a passive microwave sensor and independent of atmospheric effects, this sensor is able to observe the entire polar region every day, even through clouds and snowfalls .  This animation of AMSR-E 89 GHz brightness temperature in the northern hemisphere during late 2002 and early 2003 clearly shows the dynamic motion of the ice as well as its seasonal expansion and contraction.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-06-22">2002-10-01/2003-06-22/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003168/a003168.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the daily sea ice 89 GHz brightness temperature over the northern hemisphere during the winter 2002-2003.  This version provides only the transparent overlay.</Abstract>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the daily sea ice 89 GHz brightness temperature over the northern hemisphere during the winter 2002-2003.  This version provides the transparent overlay composited with a background image.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1200" fixedHeight="400">
+						<Name>3168_21471_bg</Name>
+						<Title>Background Image for Daily 89 MHz Brightness Temperature, 2002-2003 (WMS)</Title>
+						<Abstract>Sea ice is frozen seawater floating on the surface of the ocean.  Some sea ice is permanent, persisting from year to year, and some is seasonal, melting and refreezing from season to season.  Sea ice is almost always in motion, reacting to ocean currents and to winds.  The AMSR-E instrument on the Aqua satellite acquires high resolution measurements of the 89 GHz brightness temperature near the poles.  Because this is a passive microwave sensor and independent of atmospheric effects, this sensor is able to observe the entire polar region every day, even through clouds and snowfalls .  This animation of AMSR-E 89 GHz brightness temperature in the northern hemisphere during late 2002 and early 2003 clearly shows the dynamic motion of the ice as well as its seasonal expansion and contraction.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003168/a003168.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="700" fixedHeight="1700">
+					<Name>3141_21208</Name>
+					<Title>Jakobshavn Glacier Ice Flow (700x1700 Animation)</Title>
+					<Abstract>Since measurements of Jakobshavn Isbrae were first taken in 1850, the glacier has gradually receded, finally coming to rest at a certain point for the past 5 decades. However, from 1997 to 2003, the glacier has begun to recede again, this time almost doubling in speed. The finding is important for many reasons. For starters, as more ice moves from glaciers on land into the ocean, it raises sea levels. Jakobshavn Isbrae is Greenland's largest outlet glacier, draining 6.5 percent of Greenland's ice sheet area. The ice stream's speed-up and near-doubling of ice flow from land into the ocean has increased the rate of sea level rise by about .06 millimeters (about .002 inches) per year, or roughly 4 percent of the 20th century rate of sea level increase.  This animation shows a time-lapse sequence of the ice flowing toward the ocean.  In recent years, even ice that has traditionally remained in place is now being pulled down to the edge of land.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Glaciers/Ice Sheets:Glacier Motion/Ice Sheet Motion</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Glaciers/Ice Sheets:Glacier Motion/Ice Sheet Motion</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						<Keyword vocabulary="GCMD">Location:Greenland</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-49.79</westBoundLongitude>
+						<eastBoundLongitude>-49.55</eastBoundLongitude>
+						<southBoundLatitude>69.07</southBoundLatitude>
+						<northBoundLatitude>69.31</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-49.79" miny="69.07" maxx="-49.55" maxy="69.31"/>
+					<Dimension name="time" units="ISO8601" default="2003-05-19">2001-03-17,2001-05-04,2001-05-20,2001-07-07,2002-03-04,2002-03-29,2002-04-28/2002-06-17/P25D,2002-07-01,2002-09-03,2003-03-23,2003-05-19</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003141/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003141/a003141.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows a time-lapse sequence of the glaciers ice flow.  This animation shows only a small section of the full imagery.  The full imagery can be found in the frames area.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+					<Name>3140_21200</Name>
+					<Title>Jakobshavn Glacier Retreat (2048x512 Animation)</Title>
+					<Abstract>Since measurements of Jakobshavn Isbrae were first taken in 1850, the glacier has gradually receded, finally coming to rest at a certain point for the past 5 decades. However, from 1997 to 2003, the glacier has begun to recede again, this time almost doubling in speed. The finding is important for many reasons. For starters, as more ice moves from glaciers on land into the ocean, it raises sea levels. Jakobshavn Isbrae is Greenland's largest outlet glacier, draining 6.5 percent of Greenland's ice sheet area. The ice stream's speed-up and near-doubling of ice flow from land into the ocean has increased the rate of sea level rise by about .06 millimeters (about .002 inches) per year, or roughly 4 percent of the 20th century rate of sea level increase.  This animation shows the recession for three years, from 2001 through 2003.  The line of recession shows the place where the glacier meets the ocean and where pieces calve off and flow away from land toward open water.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Glaciers/Ice Sheets:Glacier Motion/Ice Sheet Motion</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Glaciers/Ice Sheets:Glacier Motion/Ice Sheet Motion</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						<Keyword vocabulary="GCMD">Location:Greenland</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-50.2</westBoundLongitude>
+						<eastBoundLongitude>-49.6</eastBoundLongitude>
+						<southBoundLatitude>69.11</southBoundLatitude>
+						<northBoundLatitude>69.26</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-50.2" miny="69.11" maxx="-49.6" maxy="69.26"/>
+					<Dimension name="time" units="ISO8601" default="2003-05-19">2001-05-20,2002-05-23,2003-05-19</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003140/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003140/a003140.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows the retreat of Jakobshavn glacier in Greenland from 2001 through 2003.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3112_20979</Name>
+					<Title>Aral Sea Evaporation (1024x1024 Animation)</Title>
+					<Abstract>The Aral Sea is actually not a sea at all, but an immense fresh water lake.  In the last thirty years, more than sixty percent of the lake has disappeared because much of the river flow feeding the lake was diverted to irrigate cotton fields and rice paddies.  Concentrations of salts and minerals began to rise in the shrinking body of water, leading to staggering alterations in the lake's ecology and precipitous drops in the Aral's fish population.  Powerful winds that blow across this part of Asia routinely pick up and deposit the now exposed lake bed soil.  This has contributed to a significant reduction in breathable air quality, and crop yields have been appreciably affected  due to heavily salt laden particles falling on arable land.  This series of Landsat images taken in 1973, 1987 and 2000 show the profound reduction in overall area at the north end of the Aral, and a commensurate increase in land area as the floor of the sea now lies exposed.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Agricultural science</Keyword>
+						<Keyword vocabulary="DLESE">Biology</Keyword>
+						<Keyword vocabulary="DLESE">Chemical oceanography</Keyword>
+						<Keyword vocabulary="DLESE">Chemistry</Keyword>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="DLESE">Hydrology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Aquatic Habitat:Lakes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Water Management</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Habitat Conversion/Fragmentation:Irrigation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Surface Water:Lakes</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>59.493806</westBoundLongitude>
+						<eastBoundLongitude>60.926548</eastBoundLongitude>
+						<southBoundLatitude>45.542455</southBoundLatitude>
+						<northBoundLatitude>46.61704</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="59.493806" miny="45.542455" maxx="60.926548" maxy="46.61704"/>
+					<Dimension name="time" units="ISO8601" default="2000-07-29">1973-05-29,1987-08-19,2000-07-29</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003112/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003112/a003112.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/earthday2001/index.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>An animation of the evaporation of the Aral Sea using Landsat imagery from 1973, 1987, and 2000.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3090_20829</Name>
+					<Title>Average Total-sky Albedo (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights.  The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.  This animation shows the monthly average albedo from July, 2002 through June, 2004 as measured by the CERES instrument.  This is the fraction of the incoming solar radiation that is reflected back into space by regions of the Earth.  The regions of highest albedo are regions of snow and ice, followed by desert regions and regions where there is significant cloud cover during the year.  Oceans have the lowest albedo.  It is not possible to measure the albedo during the winter months at the poles, since there is no incoming solar radiation during these times.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Surface Radiative Properties:Albedo</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003090/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003090/a003090.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average total-sky albedo
+from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003090/albedtotbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3089_20823</Name>
+					<Title>Average Clear-sky Albedo (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.  This animation shows the monthly average clear-sky albedo from July, 2002 through June, 2004 as measured by the CERES instrument.  This is the fraction of the incoming solar radiation that is reflected back into space by regions of the Earth on cloud-free days.  The regions of highest albedo are regions of snow and ice, followed by desert regions.  Oceans have the lowest albedo, and reflect very little of the incoming solar radiation.  It is not possible to measure the albedo during the winter months at the poles, since there is no incoming solar radiation during these times.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Surface Radiative Properties:Albedo</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003089/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003089/a003089.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average clear-sky albedo
+from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003089/albedclsbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Sea Ice Surface Temperature with Regions of No Data Indicated</Title>
+					<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds, in cloud-covered regions or areas with suspect data quality, the prior day's value is retained until a valid data reading is obtained. The satellite instruments are also unable to collect data in the dark, so the region around the pole is shown here with a grey cap that grows and shrinks, indicating the region in polar darkness. The color of the sea ice indicates the sea ice surface temperature.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003037/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003037/a003037.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+						<Name>3037_19372</Name>
+						<Title>Sea Ice Surface Temperature with Regions of No Data Indicated (2048x512 Animation)</Title>
+						<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds, in cloud-covered regions or areas with suspect data quality, the prior day's value is retained until a valid data reading is obtained. The satellite instruments are also unable to collect data in the dark, so the region around the pole is shown here with a grey cap that grows and shrinks, indicating the region in polar darkness. The color of the sea ice indicates the sea ice surface temperature.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>40</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="40" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-07-01">2002-09-01/2003-07-01/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003037/a003037.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the temperature of the sea ice surface near the north pole in 2002-2003.  The region is covered by darkness when no measurements were taken.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003037/seaice_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the temperature of the sea ice surface near the north pole in 2002-2003.  The region is covered by darkness when no measurements were taken.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003037/seaice_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+						<Name>3037_19372_bg</Name>
+						<Title>Background Image for Sea Ice Surface Temperature with Regions of No Data Indicated (WMS)</Title>
+						<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds, in cloud-covered regions or areas with suspect data quality, the prior day's value is retained until a valid data reading is obtained. The satellite instruments are also unable to collect data in the dark, so the region around the pole is shown here with a grey cap that grows and shrinks, indicating the region in polar darkness. The color of the sea ice indicates the sea ice surface temperature.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>40</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="40" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003037/a003037.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Daily Sea Ice Surface Temperature 2002-2003</Title>
+					<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds or in the dark, in dark or cloud-covered regions or areas with suspect data quality, the prior day's value is retained until a valid data reading is obtained. The color of the sea ice indicates the sea ice surface temperature.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003036/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003036/a003036.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+						<Name>3036_19363</Name>
+						<Title>Daily Sea Ice Surface Temperature 2002-2003 (2048x512 Animation)</Title>
+						<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds or in the dark, in dark or cloud-covered regions or areas with suspect data quality, the prior day's value is retained until a valid data reading is obtained. The color of the sea ice indicates the sea ice surface temperature.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>40</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="40" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-07-01">2002-09-01/2003-07-01/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003036/a003036.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the temperature of the sea ice near the north pole in 2002-2003.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003036/seaice_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the temperature of the sea ice near the north pole in 2002-2003.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003036/seaice_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+						<Name>3036_19363_bg</Name>
+						<Title>Background Image for Daily Sea Ice Surface Temperature 2002-2003 (WMS)</Title>
+						<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds or in the dark, in dark or cloud-covered regions or areas with suspect data quality, the prior day's value is retained until a valid data reading is obtained. The color of the sea ice indicates the sea ice surface temperature.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>40</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="40" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003036/a003036.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Snow Cover over North America during the Winter of 2001-2002</Title>
+					<Abstract>The amount of snow covering the land has both short and long term effects on the environment.  From season to season, snow coverage and depth affect soil moisture and water availability, which directly influence agriculture, wildfire occurrences, and drought.  In the long term, the part of the Earth's surface covered by snow reflects up to 80 or 90 percent of the incoming solar radiation as opposed to the 10 or 20 percent that uncovered land reflects, and this has important consequences for the Earth's climate.  Satellites identify the snow cover precisely by looking at the difference between light reflected off snow in the visible and the infrared wavelengths.  This visualization shows the snow cover over North America from October, 2001, through April, 2002, as measured by the MODIS instrument on the Terra satellite.  Since this instrument cannot measure snow cover through clouds, this visualization designates an area as covered by snow when the instrument takes a valid measurement showing greater than 50% snow coverage in that area.  This area is assumed to be covered in snow until the instrument takes a valid measurement showing less than 40% coverage in that same area.  In this animation, snow coverage is measured every 8 days.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003027/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003027/a003027.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://modis-snow-ice.gsfc.nasa.gov/intro.html"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3027_21479</Name>
+						<Title>Snow Cover over North America during the Winter of 2001-2002 (1024x512 Animation)</Title>
+						<Abstract>The amount of snow covering the land has both short and long term effects on the environment.  From season to season, snow coverage and depth affect soil moisture and water availability, which directly influence agriculture, wildfire occurrences, and drought.  In the long term, the part of the Earth's surface covered by snow reflects up to 80 or 90 percent of the incoming solar radiation as opposed to the 10 or 20 percent that uncovered land reflects, and this has important consequences for the Earth's climate.  Satellites identify the snow cover precisely by looking at the difference between light reflected off snow in the visible and the infrared wavelengths.  This visualization shows the snow cover over North America from October, 2001, through April, 2002, as measured by the MODIS instrument on the Terra satellite.  Since this instrument cannot measure snow cover through clouds, this visualization designates an area as covered by snow when the instrument takes a valid measurement showing greater than 50% snow coverage in that area.  This area is assumed to be covered in snow until the instrument takes a valid measurement showing less than 40% coverage in that same area.  In this animation, snow coverage is measured every 8 days.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-170</westBoundLongitude>
+							<eastBoundLongitude>-50</eastBoundLongitude>
+							<southBoundLatitude>23</southBoundLatitude>
+							<northBoundLatitude>83</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-170" miny="23" maxx="-50" maxy="83"/>
+						<Dimension name="time" units="ISO8601" default="2002-04-23">2001-10-16/2001-12-27/P8D,2002-01-01/2002-04-23/P8D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003027/a003027.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://modis-snow-ice.gsfc.nasa.gov/intro.html"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows snow cover over North America during the winter of 2001-2002.  Data was collected every 8 days, and the results are shown fading into the next valid data set.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003027/snow_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows snow cover over North America during the winter of 2001-2002.  Data was collected every 8 days, and the results are shown fading into the next valid data set.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003027/snow_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3027_21479_bg</Name>
+						<Title>Background Image for Snow Cover over North America during the Winter of 2001-2002 (WMS)</Title>
+						<Abstract>The amount of snow covering the land has both short and long term effects on the environment.  From season to season, snow coverage and depth affect soil moisture and water availability, which directly influence agriculture, wildfire occurrences, and drought.  In the long term, the part of the Earth's surface covered by snow reflects up to 80 or 90 percent of the incoming solar radiation as opposed to the 10 or 20 percent that uncovered land reflects, and this has important consequences for the Earth's climate.  Satellites identify the snow cover precisely by looking at the difference between light reflected off snow in the visible and the infrared wavelengths.  This visualization shows the snow cover over North America from October, 2001, through April, 2002, as measured by the MODIS instrument on the Terra satellite.  Since this instrument cannot measure snow cover through clouds, this visualization designates an area as covered by snow when the instrument takes a valid measurement showing greater than 50% snow coverage in that area.  This area is assumed to be covered in snow until the instrument takes a valid measurement showing less than 40% coverage in that same area.  In this animation, snow coverage is measured every 8 days.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-170</westBoundLongitude>
+							<eastBoundLongitude>-50</eastBoundLongitude>
+							<southBoundLatitude>23</southBoundLatitude>
+							<northBoundLatitude>83</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-170" miny="23" maxx="-50" maxy="83"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003027/a003027.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://modis-snow-ice.gsfc.nasa.gov/intro.html"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Snow Cover over the Northern Hemisphere during the Winter of 2002-2003</Title>
+					<Abstract>The amount of snow covering the land has both short and long term effects on the environment.  From season to season, snow coverage and depth affect soil moisture and water availability, which directly influence agriculture, wildfire occurrences, and drought.  In the long term, the part of the Earth's surface covered by snow reflects up to 80 or 90 percent of the incoming solar radiation as opposed to the 10 or 20 percent that uncovered land reflects, and this has important consequences for the Earth's climate.  Satellites identify the snow cover precisely by looking at the difference between light reflected off snow in the visible and the infrared wavelengths.  This visualization shows the snow cover in the Northern Hemisphere from September, 2002, through June, 2003, as measured by the MODIS instrument on the Terra satellite.  Since this instrument cannot measure snow cover through clouds, this visualization designates an area as covered by snow when the instrument takes a valid measurement showing greater than 50% snow coverage in that area.  This area is assumed to be snow covered until the instrument takes a valid measurement showing less than 40% snow coverage in that same area.  It is possible to see topographic features in the snow cover such as the Rocky Mountains and the Himalayas, and large snow coverage paths from storms that cross the plains of the United States and Russia can also be seen.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="SVS">Snow Cover</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002899/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002899/a002899.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://modis-snow-ice.gsfc.nasa.gov/intro.html"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+						<Name>2899_17454</Name>
+						<Title>Snow Cover over the Northern Hemisphere during the Winter of 2002-2003 (2048x512 Animation)</Title>
+						<Abstract>The amount of snow covering the land has both short and long term effects on the environment.  From season to season, snow coverage and depth affect soil moisture and water availability, which directly influence agriculture, wildfire occurrences, and drought.  In the long term, the part of the Earth's surface covered by snow reflects up to 80 or 90 percent of the incoming solar radiation as opposed to the 10 or 20 percent that uncovered land reflects, and this has important consequences for the Earth's climate.  Satellites identify the snow cover precisely by looking at the difference between light reflected off snow in the visible and the infrared wavelengths.  This visualization shows the snow cover in the Northern Hemisphere from September, 2002, through June, 2003, as measured by the MODIS instrument on the Terra satellite.  Since this instrument cannot measure snow cover through clouds, this visualization designates an area as covered by snow when the instrument takes a valid measurement showing greater than 50% snow coverage in that area.  This area is assumed to be snow covered until the instrument takes a valid measurement showing less than 40% snow coverage in that same area.  It is possible to see topographic features in the snow cover such as the Rocky Mountains and the Himalayas, and large snow coverage paths from storms that cross the plains of the United States and Russia can also be seen.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="SVS">Snow Cover</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>0</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="0" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-06-30">2002-09-01/2003-06-30/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002899/a002899.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://modis-snow-ice.gsfc.nasa.gov/intro.html"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows daily snow and ice over the Northern Hemisphere during the winter of 2002-2003.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002899/modissnowbar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows daily snow and ice over the Northern Hemisphere during the winter of 2002-2003.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002899/modissnowbar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+						<Name>2899_17454_bg</Name>
+						<Title>Background Image for Snow Cover over the Northern Hemisphere during the Winter of 2002-2003 (WMS)</Title>
+						<Abstract>The amount of snow covering the land has both short and long term effects on the environment.  From season to season, snow coverage and depth affect soil moisture and water availability, which directly influence agriculture, wildfire occurrences, and drought.  In the long term, the part of the Earth's surface covered by snow reflects up to 80 or 90 percent of the incoming solar radiation as opposed to the 10 or 20 percent that uncovered land reflects, and this has important consequences for the Earth's climate.  Satellites identify the snow cover precisely by looking at the difference between light reflected off snow in the visible and the infrared wavelengths.  This visualization shows the snow cover in the Northern Hemisphere from September, 2002, through June, 2003, as measured by the MODIS instrument on the Terra satellite.  Since this instrument cannot measure snow cover through clouds, this visualization designates an area as covered by snow when the instrument takes a valid measurement showing greater than 50% snow coverage in that area.  This area is assumed to be snow covered until the instrument takes a valid measurement showing less than 40% snow coverage in that same area.  It is possible to see topographic features in the snow cover such as the Rocky Mountains and the Himalayas, and large snow coverage paths from storms that cross the plains of the United States and Russia can also be seen.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="SVS">Snow Cover</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Snow Cover</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow Cover</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>0</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="0" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002899/a002899.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://modis-snow-ice.gsfc.nasa.gov/intro.html"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+			</Layer>
+			<Layer>
+				<Title>Land Surface</Title>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3179_21773</Name>
+					<Title>Scene Identification Compared to Clouds (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The amount of reflection and absorption is critical to the climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the scene identification as measured by CERES during 29 orbits on June 20 and 21 of 2003.  By comparing the incoming solar radiation with the outgoing reflected and thermal radiation, it is possible to identify the type of area being viewed, whether it be land, clouds, ocean, or ice.  This scene identification is used together with the radiation flux measurements to build up a complete picture of the Earth's energy budget over time.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Surface Radiative Properties:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Reflectance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003179/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003179/a003179.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows 29 orbits (2 days) of CERES measurements of regions of solar reflectivity, from June 20-21, 2003.  The measurements are superimposed over a global infrared cloud cover composite from the same period.</Abstract>
+						<LegendURL width="320" height="110">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003179/erbidbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="1000">
+					<Name>3157_21374</Name>
+					<Title>Urban Signatures: Sensible Heat Flux (1000x1000 Image)</Title>
+					<Abstract>Big cities influence the environment around them. For example, urban areas are typically warmer than their surroundings. Cities are strikingly visible in computer models that simulate the Earth's land surface. This visualization shows sensible heat flux predicted by the Land Information System (LIS) for a day in June 2001. (Sensible heat flux refers to transfer of heat from the earth's surface to the air above; for further explanation see http://www.uwsp.edu/geo/faculty/ritter/geog101/textbook/energy/energy_balance.html). Sensible heat flux is higher in the cities--that is, they transfer more heat to the atmosphere--because the surface there is warmer than in the surroundings. Only part of the global computation is shown, focusing on the highly urbanized northeast corridor in the United States, including the cities of Boston, New York, Philadelphia, Baltimore, and Washington.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Heat Flux</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Urban Lands</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Land Temperature:Land Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">Location:United States Of America</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-79.7</westBoundLongitude>
+						<eastBoundLongitude>-69.7</eastBoundLongitude>
+						<southBoundLatitude>34.5</southBoundLatitude>
+						<northBoundLatitude>44.5</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-79.7" miny="34.5" maxx="-69.7" maxy="44.5"/>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003157/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003157/a003157.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This image shows sensible heat flux (watts per
+square meter) predicted by LIS for 2001/06/11. The warm urban areas
+have higher positive flux (heat flowing towards the atmosphere)
+and stand out very distinctly against their
+surroundings.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003157/qh_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="1000">
+					<Name>3156_21370</Name>
+					<Title>Urban Signatures: Latent Heat Flux (1000x1000 Image)</Title>
+					<Abstract>Big cities influence the environment around them. For example, urban areas are typically warmer than their surroundings. Cities are strikingly visible in computer models that simulate the Earth's land surface. This visualization shows latent heat flux predicted by the Land Information System (LIS) for a day in June 2001. (Latent heat flux refers to the transfer of energy from the Earth's surface to the air above by evaporation of water on the surface; for a more detailed explanation see http://www.uwsp.edu/geo/faculty/ritter/geog101/textbook/energy/energy_balance.html). Latent heat flux is lower in the cities because there is less evaporation there. Only part of the global computation is shown, focusing on the highly urbanized northeast corridor in the United States, including the cities of Boston, New York, Philadelphia, Baltimore, and Washington.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Heat Flux</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Urban Lands</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Land Temperature:Land Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">Location:United States Of America</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-79.7</westBoundLongitude>
+						<eastBoundLongitude>-69.7</eastBoundLongitude>
+						<southBoundLatitude>34.5</southBoundLatitude>
+						<northBoundLatitude>44.5</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-79.7" miny="34.5" maxx="-69.7" maxy="44.5"/>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003156/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003156/a003156.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This image shows latent heat flux (watts per
+square meter) predicted by LIS for 2001/06/11. The urban areas
+stand out very distinctly against their surroundings, which have
+more evaporation and therefore greater latent heat
+flux.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003156/qle_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1000" fixedHeight="1000">
+					<Name>3152_21348</Name>
+					<Title>Urban Signatures: Temperature (1000x1000 Image)</Title>
+					<Abstract>Big cities influence the environment around them. For example, urban areas are typically warmer than their surroundings. Cities are strikingly visible in computer models that simulate the Earth's land surface. This visualization shows average surface temperature predicted by the Land Information System (LIS) for a day in June 2001. Only part of the global computation is shown, focusing on the highly urbanized northeast corridor in the United States, including the cities of Boston, New York, Philadelphia, Baltimore, and Washington.
+
+Additional Credit:
+NASA GSFC Land Information System (http://lis.gsfc.nasa.gov/)</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Human geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Urban Lands</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Environmental Impacts:Urbanization</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Land Temperature:Land Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">Location:United States Of America</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-79.7</westBoundLongitude>
+						<eastBoundLongitude>-69.7</eastBoundLongitude>
+						<southBoundLatitude>34.5</southBoundLatitude>
+						<northBoundLatitude>44.5</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-79.7" miny="34.5" maxx="-69.7" maxy="44.5"/>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003152/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003152/a003152.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This image shows average surface temperatures
+predicted by LIS for 2001/06/11. Temperatures range from 9 C to
+35 C (48F to 95F), with the hottest areas being red and dark
+red. Temperatures are generally cooler farther north and at
+higher elevations. The urban areas stand out very distinctly
+against their surroundings.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003152/temp_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3104_20920</Name>
+					<Title>Instantaneous Scene Identification (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The amount of reflection and absorption is critical to th e climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the scene identification as measured by CERES during 29 orbits on June 20 and 21 of 2003.  By comparing the incoming solar radiation with the outgoing reflected and thermal radiation, it is possible to identify the type of area being viewed, whether it be land, clouds, ocean, or ice.  This scene identification is used together with the radiation flux measurements to build up a complete picture of the Earth's energy budget over time.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Surface Radiative Properties:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Reflectance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003104/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003104/a003104.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows 29 orbits (2 days) of CERES
+measurements of regions of solar reflectivity, from June 20-21, 2003.</Abstract>
+						<LegendURL width="320" height="110">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003104/erbidbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3090_20829</Name>
+					<Title>Average Total-sky Albedo (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights.  The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.  This animation shows the monthly average albedo from July, 2002 through June, 2004 as measured by the CERES instrument.  This is the fraction of the incoming solar radiation that is reflected back into space by regions of the Earth.  The regions of highest albedo are regions of snow and ice, followed by desert regions and regions where there is significant cloud cover during the year.  Oceans have the lowest albedo.  It is not possible to measure the albedo during the winter months at the poles, since there is no incoming solar radiation during these times.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Surface Radiative Properties:Albedo</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003090/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003090/a003090.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average total-sky albedo
+from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003090/albedtotbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3089_20823</Name>
+					<Title>Average Clear-sky Albedo (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.  This animation shows the monthly average clear-sky albedo from July, 2002 through June, 2004 as measured by the CERES instrument.  This is the fraction of the incoming solar radiation that is reflected back into space by regions of the Earth on cloud-free days.  The regions of highest albedo are regions of snow and ice, followed by desert regions.  Oceans have the lowest albedo, and reflect very little of the incoming solar radiation.  It is not possible to measure the albedo during the winter months at the poles, since there is no incoming solar radiation during these times.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Snow/Ice:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Albedo</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Surface Radiative Properties:Albedo</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003089/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003089/a003089.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average clear-sky albedo
+from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003089/albedclsbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Blue Marble - A Seamless Image Mosaic of the Earth</Title>
+					<Abstract>This spectacular 'Blue Marble' image is the most detailed true-color image of the entire Earth to date. Using a collection of satellite-based observations, scientists and visualizers stitched together months of observations of the land surface, oceans, sea ice, and clouds into a seamless, true-color mosaic of every square kilometer (.386 square mile) of our planet.  Much of the information contained in this image came from a single remote-sensing device-NASA's Moderate Resolution Imaging Spectroradiometer, or MODIS. Flying over 700 km above the Earth onboard the Terra satellite, MODIS provides an integrated tool for observing a variety of terrestrial, oceanic, and atmospheric features of the Earth. The land and coastal ocean portions of these images are based on surface observations collected from June through September 2001 and combined, or composited, every eight days to compensate for clouds that might block the sensor's view of the surface on any single day. Two different types of ocean data were used in these images: shallow water true color data, and global ocean color (or chlorophyll) data. Topographic shading is based on the GTOPO 30 elevation dataset compiled by the U.S. Geological Survey's EROS Data Center.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="SVS">Blue Marble</Keyword>
+						<Keyword vocabulary="DLESE">Physical geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Topography:Landforms</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002915/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002915/a002915.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/isabel_20030917/index.html"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="4096" fixedHeight="4096">
+						<Name>2915_21222</Name>
+						<Title>Western Hemisphere (4096x4096 Image)</Title>
+						<Abstract>This spectacular 'Blue Marble' image is the most detailed true-color image of the entire Earth to date. Using a collection of satellite-based observations, scientists and visualizers stitched together months of observations of the land surface, oceans, sea ice, and clouds into a seamless, true-color mosaic of every square kilometer (.386 square mile) of our planet.  Much of the information contained in this image came from a single remote-sensing device-NASA's Moderate Resolution Imaging Spectroradiometer, or MODIS. Flying over 700 km above the Earth onboard the Terra satellite, MODIS provides an integrated tool for observing a variety of terrestrial, oceanic, and atmospheric features of the Earth. The land and coastal ocean portions of these images are based on surface observations collected from June through September 2001 and combined, or composited, every eight days to compensate for clouds that might block the sensor's view of the surface on any single day. Two different types of ocean data were used in these images: shallow water true color data, and global ocean color (or chlorophyll) data. Topographic shading is based on the GTOPO 30 elevation dataset compiled by the U.S. Geological Survey's EROS Data Center.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Blue Marble</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Topography:Landforms</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>0</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="0" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002915/a002915.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/isabel_20030917/index.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Blue Marble image of the Western Hemisphere.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="4096" fixedHeight="4096">
+						<Name>2915_21220</Name>
+						<Title>Eastern Hemisphere (4096x4096 Image)</Title>
+						<Abstract>This spectacular 'Blue Marble' image is the most detailed true-color image of the entire Earth to date. Using a collection of satellite-based observations, scientists and visualizers stitched together months of observations of the land surface, oceans, sea ice, and clouds into a seamless, true-color mosaic of every square kilometer (.386 square mile) of our planet.  Much of the information contained in this image came from a single remote-sensing device-NASA's Moderate Resolution Imaging Spectroradiometer, or MODIS. Flying over 700 km above the Earth onboard the Terra satellite, MODIS provides an integrated tool for observing a variety of terrestrial, oceanic, and atmospheric features of the Earth. The land and coastal ocean portions of these images are based on surface observations collected from June through September 2001 and combined, or composited, every eight days to compensate for clouds that might block the sensor's view of the surface on any single day. Two different types of ocean data were used in these images: shallow water true color data, and global ocean color (or chlorophyll) data. Topographic shading is based on the GTOPO 30 elevation dataset compiled by the U.S. Geological Survey's EROS Data Center.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Blue Marble</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Topography:Landforms</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>0</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="0" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002915/a002915.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/isabel_20030917/index.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Blue Marble image of the Eastern Hemisphere.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>2915_21225</Name>
+						<Title>Complete Earth (512x512 Image)</Title>
+						<Abstract>This spectacular 'Blue Marble' image is the most detailed true-color image of the entire Earth to date. Using a collection of satellite-based observations, scientists and visualizers stitched together months of observations of the land surface, oceans, sea ice, and clouds into a seamless, true-color mosaic of every square kilometer (.386 square mile) of our planet.  Much of the information contained in this image came from a single remote-sensing device-NASA's Moderate Resolution Imaging Spectroradiometer, or MODIS. Flying over 700 km above the Earth onboard the Terra satellite, MODIS provides an integrated tool for observing a variety of terrestrial, oceanic, and atmospheric features of the Earth. The land and coastal ocean portions of these images are based on surface observations collected from June through September 2001 and combined, or composited, every eight days to compensate for clouds that might block the sensor's view of the surface on any single day. Two different types of ocean data were used in these images: shallow water true color data, and global ocean color (or chlorophyll) data. Topographic shading is based on the GTOPO 30 elevation dataset compiled by the U.S. Geological Survey's EROS Data Center.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Blue Marble</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Topography:Landforms</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002915/a002915.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/isabel_20030917/index.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Blue Marble image of the whole earth.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="1024">
+						<Name>2915_21224</Name>
+						<Title>Complete Earth (2048x1024 Image)</Title>
+						<Abstract>This spectacular 'Blue Marble' image is the most detailed true-color image of the entire Earth to date. Using a collection of satellite-based observations, scientists and visualizers stitched together months of observations of the land surface, oceans, sea ice, and clouds into a seamless, true-color mosaic of every square kilometer (.386 square mile) of our planet.  Much of the information contained in this image came from a single remote-sensing device-NASA's Moderate Resolution Imaging Spectroradiometer, or MODIS. Flying over 700 km above the Earth onboard the Terra satellite, MODIS provides an integrated tool for observing a variety of terrestrial, oceanic, and atmospheric features of the Earth. The land and coastal ocean portions of these images are based on surface observations collected from June through September 2001 and combined, or composited, every eight days to compensate for clouds that might block the sensor's view of the surface on any single day. Two different types of ocean data were used in these images: shallow water true color data, and global ocean color (or chlorophyll) data. Topographic shading is based on the GTOPO 30 elevation dataset compiled by the U.S. Geological Survey's EROS Data Center.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Blue Marble</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Topography:Landforms</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002915/a002915.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/isabel_20030917/index.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Blue Marble image of the whole earth.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>2915_21223</Name>
+						<Title>Complete Earth (1024x512 Image)</Title>
+						<Abstract>This spectacular 'Blue Marble' image is the most detailed true-color image of the entire Earth to date. Using a collection of satellite-based observations, scientists and visualizers stitched together months of observations of the land surface, oceans, sea ice, and clouds into a seamless, true-color mosaic of every square kilometer (.386 square mile) of our planet.  Much of the information contained in this image came from a single remote-sensing device-NASA's Moderate Resolution Imaging Spectroradiometer, or MODIS. Flying over 700 km above the Earth onboard the Terra satellite, MODIS provides an integrated tool for observing a variety of terrestrial, oceanic, and atmospheric features of the Earth. The land and coastal ocean portions of these images are based on surface observations collected from June through September 2001 and combined, or composited, every eight days to compensate for clouds that might block the sensor's view of the surface on any single day. Two different types of ocean data were used in these images: shallow water true color data, and global ocean color (or chlorophyll) data. Topographic shading is based on the GTOPO 30 elevation dataset compiled by the U.S. Geological Survey's EROS Data Center.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Blue Marble</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Topography:Landforms</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002915/a002915.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/isabel_20030917/index.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Blue Marble image of the whole earth.</Abstract>
+						</Style>
+					</Layer>
+				</Layer>
+			</Layer>
+			<Layer>
+				<Title>Oceans</Title>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3328_24804</Name>
+					<Title>Aqua MODIS Ocean Color Swath during Hurricane Katrina (1024x512 Animation)</Title>
+					<Abstract>The Aqua satellite orbits the Earth every 99 minutes in a polar, sun-synchronous orbit.  The MODIS instrument on Aqua observes reflected light from the Earth in 36 spectral frequencies.  These observations can be processed to show many properties of the Earth's surface, from temperature and phytoplankton measurements near the surface of the ocean to fire occurrences and land cover characteristics on the land surface.
+This animation shows MODIS ocean color data from about 4 days of individual Aqua orbits.  Ocean color is a measurement of the amount of chlorophyll in ocean phytoplankton and is therefore a direct measurement of the amount of life in the ocean.  It can only be measured in ocean regions that are free of both clouds and sun glint, the bright band of specular reflection in the center of each granule.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Optics:Ocean Color</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Platform Characteristics:Orbital Characteristics</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T21:47:35Z">2005-08-26T23:17:35Z/2005-08-26T23:32:35Z/PT5M,2005-08-26T23:37:34Z,2005-08-26T23:42:36Z,2005-08-26T23:47:36Z,2005-08-26T23:52:35Z,2005-08-26T23:57:35Z,2005-08-27T00:52:34Z,2005-08-27T00:57:35Z/2005-08-27T01:12:35Z/PT5M,2005-08-27T01:17:34Z,2005-08-27T01:22:36Z,2005-08-27T01:27:36Z,2005-08-27T01:32:35Z,2005-08-27T02:32:34Z,2005-08-27T02:37:35Z/2005-08-27T02:52:35Z/PT5M,2005-08-27T02:57:34Z,2005-08-27T03:02:36Z,2005-08-27T03:07:36Z,2005-08-27T03:12:35Z,2005-08-27T04:12:34Z,2005-08-27T04:17:35Z/2005-08-27T04:32:35Z/PT5M,2005-08-27T04:37:34Z,2005-08-27T04:42:36Z,2005-08-27T04:47:36Z,2005-08-27T04:52:35Z,2005-08-27T05:52:35Z/2005-08-27T06:12:35Z/PT5M,2005-08-27T06:17:34Z,2005-08-27T06:22:36Z/2005-08-27T06:32:36Z/PT5M,2005-08-27T07:27:35Z/2005-08-27T07:57:35Z/PT5M,2005-08-27T08:02:34Z,2005-08-27T08:07:36Z,2005-08-27T09:07:35Z/2005-08-27T09:37:35Z/PT5M,2005-08-27T09:42:34Z,2005-08-27T09:47:36Z,2005-08-27T10:47:35Z/2005-08-27T11:17:35Z/PT5M,2005-08-27T11:22:34Z,2005-08-27T11:27:36Z,2005-08-27T12:27:35Z/2005-08-27T12:57:35Z/PT5M,2005-08-27T13:02:34Z,2005-08-27T13:07:36Z,2005-08-27T14:07:36Z,2005-08-27T14:12:35Z/2005-08-27T14:37:35Z/PT5M,2005-08-27T14:42:34Z,2005-08-27T14:47:36Z,2005-08-27T15:47:36Z,2005-08-27T15:52:35Z/2005-08-27T16:22:35Z/PT5M,2005-08-27T17:27:36Z,2005-08-27T17:32:35Z/2005-08-27T18:02:35Z/PT5M,2005-08-27T19:02:36Z,2005-08-27T19:07:36Z,2005-08-27T19:12:35Z/2005-08-27T19:42:35Z/PT5M,2005-08-27T20:37:34Z,2005-08-27T20:42:36Z,2005-08-27T20:47:36Z,2005-08-27T20:52:35Z/2005-08-27T21:22:35Z/PT5M,2005-08-27T22:17:34Z,2005-08-27T22:22:36Z/2005-08-27T22:32:36Z/PT5M,2005-08-27T22:37:35Z/2005-08-27T22:57:35Z/PT5M,2005-08-27T23:57:34Z,2005-08-28T00:02:34Z,2005-08-28T00:07:36Z,2005-08-28T00:12:36Z,2005-08-28T00:17:35Z/2005-08-28T00:37:35Z/PT5M,2005-08-28T01:37:34Z,2005-08-28T01:42:34Z,2005-08-28T01:47:36Z,2005-08-28T01:52:36Z,2005-08-28T01:57:35Z/2005-08-28T02:17:35Z/PT5M,2005-08-28T03:17:35Z,2005-08-28T03:22:34Z,2005-08-28T03:27:36Z,2005-08-28T03:32:36Z,2005-08-28T03:37:35Z/2005-08-28T03:57:35Z/PT5M,2005-08-28T04:52:34Z,2005-08-28T04:57:35Z,2005-08-28T05:02:34Z,2005-08-28T05:07:36Z,2005-08-28T05:12:36Z,2005-08-28T05:17:35Z/2005-08-28T05:37:35Z/PT5M,2005-08-28T06:32:34Z,2005-08-28T06:37:35Z,2005-08-28T06:42:34Z,2005-08-28T06:47:36Z/2005-08-28T06:57:36Z/PT5M,2005-08-28T07:02:35Z/2005-08-28T07:12:35Z/PT5M,2005-08-28T08:12:34Z,2005-08-28T08:17:35Z,2005-08-28T08:22:35Z,2005-08-28T08:27:34Z,2005-08-28T08:32:36Z,2005-08-28T08:37:36Z,2005-08-28T08:42:35Z/2005-08-28T08:52:35Z/PT5M,2005-08-28T09:52:35Z/2005-08-28T10:02:35Z/PT5M,2005-08-28T10:07:34Z,2005-08-28T10:12:36Z,2005-08-28T10:17:36Z,2005-08-28T10:22:35Z/2005-08-28T10:32:35Z/PT5M,2005-08-28T11:27:34Z,2005-08-28T11:32:35Z/2005-08-28T11:42:35Z/PT5M,2005-08-28T11:47:34Z,2005-08-28T11:52:36Z,2005-08-28T11:57:36Z,2005-08-28T12:02:35Z/2005-08-28T12:12:35Z/PT5M,2005-08-28T13:12:35Z/2005-08-28T13:22:35Z/PT5M,2005-08-28T13:27:34Z,2005-08-28T13:32:36Z,2005-08-28T13:37:36Z,2005-08-28T13:42:35Z,2005-08-28T13:47:35Z,2005-08-28T14:47:34Z,2005-08-28T14:52:35Z/2005-08-28T15:02:35Z/PT5M,2005-08-28T15:07:34Z,2005-08-28T15:12:36Z/2005-08-28T15:22:36Z/PT5M,2005-08-28T15:27:35Z,2005-08-28T16:27:34Z,2005-08-28T16:32:35Z/2005-08-28T16:47:35Z/PT5M,2005-08-28T16:52:34Z,2005-08-28T16:57:36Z,2005-08-28T17:02:36Z,2005-08-28T17:07:35Z,2005-08-28T18:07:35Z/2005-08-28T18:27:35Z/PT5M,2005-08-28T18:32:34Z,2005-08-28T18:37:36Z,2005-08-28T18:42:36Z,2005-08-28T18:47:35Z,2005-08-28T19:42:34Z,2005-08-28T19:47:35Z/2005-08-28T20:07:35Z/PT5M,2005-08-28T20:12:34Z,2005-08-28T20:17:36Z,2005-08-28T20:22:36Z,2005-08-28T20:27:35Z,2005-08-28T21:22:34Z,2005-08-28T21:27:35Z/2005-08-28T21:47:35Z/PT5M,2005-08-28T21:52:34Z,2005-08-28T21:57:36Z,2005-08-28T22:02:36Z,2005-08-28T23:02:35Z/2005-08-28T23:27:35Z/PT5M,2005-08-28T23:32:34Z,2005-08-28T23:37:36Z,2005-08-28T23:42:36Z,2005-08-29T00:42:35Z/2005-08-29T01:12:35Z/PT5M,2005-08-29T01:17:34Z,2005-08-29T01:22:36Z,2005-08-29T02:17:35Z/2005-08-29T02:52:35Z/PT5M,2005-08-29T02:57:34Z,2005-08-29T03:02:36Z,2005-08-29T03:57:35Z/2005-08-29T04:32:35Z/PT5M,2005-08-29T04:37:34Z,2005-08-29T05:37:33Z,2005-08-29T05:42:35Z/2005-08-29T06:12:35Z/PT5M,2005-08-29T06:17:34Z,2005-08-29T07:17:33Z,2005-08-29T07:22:36Z,2005-08-29T07:27:35Z/2005-08-29T07:52:35Z/PT5M,2005-08-29T07:57:34Z,2005-08-29T08:57:36Z,2005-08-29T09:02:36Z,2005-08-29T09:07:35Z/2005-08-29T09:37:35Z/PT5M,2005-08-29T10:32:34Z,2005-08-29T10:37:36Z,2005-08-29T10:42:36Z,2005-08-29T10:47:35Z/2005-08-29T11:17:35Z/PT5M,2005-08-29T12:12:34Z,2005-08-29T12:17:36Z,2005-08-29T12:22:36Z,2005-08-29T12:27:35Z/2005-08-29T12:52:35Z/PT5M,2005-08-29T13:52:34Z,2005-08-29T13:57:36Z,2005-08-29T14:02:36Z,2005-08-29T14:07:35Z/2005-08-29T14:32:35Z/PT5M,2005-08-29T15:32:34Z,2005-08-29T15:37:36Z/2005-08-29T15:47:36Z/PT5M,2005-08-29T15:52:35Z/2005-08-29T16:12:35Z/PT5M,2005-08-29T17:12:35Z,2005-08-29T17:17:34Z,2005-08-29T17:22:36Z,2005-08-29T17:27:36Z,2005-08-29T17:32:35Z/2005-08-29T17:52:35Z/PT5M,2005-08-29T18:47:34Z,2005-08-29T18:52:35Z,2005-08-29T18:57:34Z,2005-08-29T19:02:36Z,2005-08-29T19:07:36Z,2005-08-29T19:12:35Z/2005-08-29T19:27:35Z/PT5M,2005-08-29T20:27:34Z,2005-08-29T20:32:35Z,2005-08-29T20:37:34Z,2005-08-29T20:42:36Z,2005-08-29T20:47:36Z,2005-08-29T20:52:35Z/2005-08-29T21:07:35Z/PT5M,2005-08-29T22:07:34Z,2005-08-29T22:12:35Z,2005-08-29T22:17:34Z,2005-08-29T22:22:36Z,2005-08-29T22:27:36Z,2005-08-29T22:32:35Z/2005-08-29T22:47:35Z/PT5M,2005-08-29T23:47:35Z,2005-08-29T23:52:35Z,2005-08-29T23:57:34Z,2005-08-30T00:02:36Z/2005-08-30T00:12:36Z/PT5M,2005-08-30T00:17:35Z/2005-08-30T00:27:35Z/PT5M,2005-08-30T01:22:34Z,2005-08-30T01:27:35Z/2005-08-30T01:37:35Z/PT5M,2005-08-30T01:42:34Z,2005-08-30T01:47:36Z,2005-08-30T01:52:36Z,2005-08-30T01:57:35Z/2005-08-30T02:07:35Z/PT5M,2005-08-30T03:02:34Z,2005-08-30T03:07:35Z/2005-08-30T03:17:35Z/PT5M,2005-08-30T03:22:34Z,2005-08-30T03:27:36Z,2005-08-30T03:32:36Z,2005-08-30T03:37:35Z,2005-08-30T03:42:35Z,2005-08-30T04:42:34Z,2005-08-30T04:47:35Z/2005-08-30T04:57:35Z/PT5M,2005-08-30T05:02:34Z,2005-08-30T05:07:36Z,2005-08-30T05:12:36Z,2005-08-30T05:17:35Z,2005-08-30T05:22:35Z,2005-08-30T06:22:35Z/2005-08-30T06:37:35Z/PT5M,2005-08-30T06:42:34Z,2005-08-30T06:47:36Z,2005-08-30T06:52:36Z,2005-08-30T06:57:35Z,2005-08-30T07:02:35Z,2005-08-30T08:02:35Z/2005-08-30T08:17:35Z/PT5M,2005-08-30T08:22:34Z,2005-08-30T08:27:36Z/2005-08-30T08:37:36Z/PT5M,2005-08-30T08:42:35Z,2005-08-30T09:37:34Z,2005-08-30T09:42:35Z/2005-08-30T10:02:35Z/PT5M,2005-08-30T10:07:34Z,2005-08-30T10:12:36Z,2005-08-30T10:17:36Z,2005-08-30T11:17:35Z/2005-08-30T11:42:35Z/PT5M,2005-08-30T11:47:34Z,2005-08-30T11:52:36Z,2005-08-30T11:57:36Z,2005-08-30T12:57:35Z/2005-08-30T13:22:35Z/PT5M,2005-08-30T13:27:34Z,2005-08-30T13:32:36Z,2005-08-30T13:37:36Z,2005-08-30T14:37:35Z/2005-08-30T15:02:35Z/PT5M,2005-08-30T15:07:34Z,2005-08-30T15:12:36Z,2005-08-30T15:17:36Z,2005-08-30T16:17:35Z/2005-08-30T16:42:35Z/PT5M,2005-08-30T16:47:34Z,2005-08-30T16:52:34Z,2005-08-30T17:52:33Z,2005-08-30T17:57:35Z/2005-08-30T18:27:35Z/PT5M,2005-08-30T18:32:34Z,2005-08-30T19:32:33Z,2005-08-30T19:37:35Z/2005-08-30T20:07:35Z/PT5M,2005-08-30T20:12:34Z,2005-08-30T21:12:36Z,2005-08-30T21:17:35Z/2005-08-30T21:47:35Z/PT5M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003328/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003328/a003328.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://science.hq.nasa.gov/oceans/living/color.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Four days of Aqua MODIS ocean color swaths during the period of Hurricane Katrina, from August 27, 2005 through August 30, 2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003328/aqua_chlor_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3327_24800</Name>
+					<Title>Aqua MODIS Ocean Color Progression during Hurricane Katrina (1024x512 Animation)</Title>
+					<Abstract>The Aqua satellite orbits the Earth every 99 minutes in a polar, sun-synchronous orbit.  The MODIS instrument on Aqua observes reflected light from the Earth in 36 spectral frequencies.  These observations can be processed to show many properties of the Earth's surface, from temperature and phytoplankton measurements near the surface of the ocean to fire occurrences and land cover characteristics on the land surface.  
+This animation shows MODIS ocean color data from about 4 days of individual Aqua orbits.  Ocean color is a measurement of the amount of chlorophyll in ocean phytoplankton and is therefore a direct measurement of the amount of life in the ocean. It can only be measured in ocean regions that are free of both clouds and sun glint, the bright band of specular reflection in the center of each granule.  For this animation the data is accumulated and so builds up a complete picture of the surface of the Earth except around the South Pole, which is in darkness during the entire 4-day period.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Optics:Ocean Color</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Platform Characteristics:Orbital Characteristics</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T21:52:34Z">2005-08-26T23:17:35Z/2005-08-26T23:32:35Z/PT5M,2005-08-26T23:37:34Z,2005-08-26T23:42:36Z,2005-08-26T23:47:36Z,2005-08-26T23:52:35Z,2005-08-26T23:57:35Z,2005-08-27T00:57:35Z/2005-08-27T01:12:35Z/PT5M,2005-08-27T01:17:34Z,2005-08-27T01:22:36Z,2005-08-27T01:27:36Z,2005-08-27T01:32:35Z,2005-08-27T02:37:35Z/2005-08-27T02:52:35Z/PT5M,2005-08-27T02:57:34Z,2005-08-27T03:02:36Z,2005-08-27T03:07:36Z,2005-08-27T03:12:35Z,2005-08-27T04:17:35Z/2005-08-27T04:32:35Z/PT5M,2005-08-27T04:37:34Z,2005-08-27T04:42:36Z,2005-08-27T04:47:36Z,2005-08-27T04:52:35Z,2005-08-27T05:52:35Z/2005-08-27T06:12:35Z/PT5M,2005-08-27T06:17:34Z,2005-08-27T06:22:36Z/2005-08-27T06:32:36Z/PT5M,2005-08-27T07:32:35Z/2005-08-27T07:57:35Z/PT5M,2005-08-27T08:02:34Z,2005-08-27T08:07:36Z,2005-08-27T09:12:35Z/2005-08-27T09:37:35Z/PT5M,2005-08-27T09:42:34Z,2005-08-27T09:47:36Z,2005-08-27T10:52:35Z/2005-08-27T11:17:35Z/PT5M,2005-08-27T11:22:34Z,2005-08-27T11:27:36Z,2005-08-27T12:27:35Z/2005-08-27T12:57:35Z/PT5M,2005-08-27T13:02:34Z,2005-08-27T13:07:36Z,2005-08-27T14:07:36Z,2005-08-27T14:12:35Z/2005-08-27T14:37:35Z/PT5M,2005-08-27T14:42:34Z,2005-08-27T14:47:36Z,2005-08-27T15:47:36Z,2005-08-27T15:52:35Z/2005-08-27T16:22:35Z/PT5M,2005-08-27T17:27:36Z,2005-08-27T17:32:35Z/2005-08-27T18:02:35Z/PT5M,2005-08-27T19:02:36Z,2005-08-27T19:07:36Z,2005-08-27T19:12:35Z/2005-08-27T19:42:35Z/PT5M,2005-08-27T20:42:36Z,2005-08-27T20:47:36Z,2005-08-27T20:52:35Z/2005-08-27T21:22:35Z/PT5M,2005-08-27T22:22:36Z/2005-08-27T22:32:36Z/PT5M,2005-08-27T22:37:35Z/2005-08-27T22:57:35Z/PT5M,2005-08-28T00:02:34Z,2005-08-28T00:07:36Z,2005-08-28T00:12:36Z,2005-08-28T00:17:35Z/2005-08-28T00:37:35Z/PT5M,2005-08-28T01:42:34Z,2005-08-28T01:47:36Z,2005-08-28T01:52:36Z,2005-08-28T01:57:35Z/2005-08-28T02:17:35Z/PT5M,2005-08-28T03:17:35Z,2005-08-28T03:22:34Z,2005-08-28T03:27:36Z,2005-08-28T03:32:36Z,2005-08-28T03:37:35Z/2005-08-28T03:57:35Z/PT5M,2005-08-28T04:57:35Z,2005-08-28T05:02:34Z,2005-08-28T05:07:36Z,2005-08-28T05:12:36Z,2005-08-28T05:17:35Z/2005-08-28T05:37:35Z/PT5M,2005-08-28T06:37:35Z,2005-08-28T06:42:34Z,2005-08-28T06:47:36Z/2005-08-28T06:57:36Z/PT5M,2005-08-28T07:02:35Z/2005-08-28T07:12:35Z/PT5M,2005-08-28T08:17:35Z,2005-08-28T08:22:35Z,2005-08-28T08:27:34Z,2005-08-28T08:32:36Z,2005-08-28T08:37:36Z,2005-08-28T08:42:35Z/2005-08-28T08:52:35Z/PT5M,2005-08-28T09:52:35Z/2005-08-28T10:02:35Z/PT5M,2005-08-28T10:07:34Z,2005-08-28T10:12:36Z,2005-08-28T10:17:36Z,2005-08-28T10:22:35Z/2005-08-28T10:32:35Z/PT5M,2005-08-28T11:32:35Z/2005-08-28T11:42:35Z/PT5M,2005-08-28T11:47:34Z,2005-08-28T11:52:36Z,2005-08-28T11:57:36Z,2005-08-28T12:02:35Z/2005-08-28T12:12:35Z/PT5M,2005-08-28T13:12:35Z/2005-08-28T13:22:35Z/PT5M,2005-08-28T13:27:34Z,2005-08-28T13:32:36Z,2005-08-28T13:37:36Z,2005-08-28T13:42:35Z,2005-08-28T13:47:35Z,2005-08-28T14:52:35Z/2005-08-28T15:02:35Z/PT5M,2005-08-28T15:07:34Z,2005-08-28T15:12:36Z/2005-08-28T15:22:36Z/PT5M,2005-08-28T15:27:35Z,2005-08-28T16:32:35Z/2005-08-28T16:47:35Z/PT5M,2005-08-28T16:52:34Z,2005-08-28T16:57:36Z,2005-08-28T17:02:36Z,2005-08-28T17:07:35Z,2005-08-28T18:07:35Z/2005-08-28T18:27:35Z/PT5M,2005-08-28T18:32:34Z,2005-08-28T18:37:36Z,2005-08-28T18:42:36Z,2005-08-28T18:47:35Z,2005-08-28T19:47:35Z/2005-08-28T20:07:35Z/PT5M,2005-08-28T20:12:34Z,2005-08-28T20:17:36Z,2005-08-28T20:22:36Z,2005-08-28T20:27:35Z,2005-08-28T21:27:35Z/2005-08-28T21:47:35Z/PT5M,2005-08-28T21:52:34Z,2005-08-28T21:57:36Z,2005-08-28T22:02:36Z,2005-08-28T23:07:35Z/2005-08-28T23:27:35Z/PT5M,2005-08-28T23:32:34Z,2005-08-28T23:37:36Z,2005-08-28T23:42:36Z,2005-08-29T00:42:35Z/2005-08-29T01:12:35Z/PT5M,2005-08-29T01:17:34Z,2005-08-29T01:22:36Z,2005-08-29T02:22:35Z/2005-08-29T02:52:35Z/PT5M,2005-08-29T02:57:34Z,2005-08-29T03:02:36Z,2005-08-29T04:02:35Z/2005-08-29T04:32:35Z/PT5M,2005-08-29T04:37:34Z,2005-08-29T05:42:35Z/2005-08-29T06:12:35Z/PT5M,2005-08-29T06:17:34Z,2005-08-29T07:22:36Z,2005-08-29T07:27:35Z/2005-08-29T07:52:35Z/PT5M,2005-08-29T07:57:34Z,2005-08-29T08:57:36Z,2005-08-29T09:02:36Z,2005-08-29T09:07:35Z/2005-08-29T09:37:35Z/PT5M,2005-08-29T10:37:36Z,2005-08-29T10:42:36Z,2005-08-29T10:47:35Z/2005-08-29T11:17:35Z/PT5M,2005-08-29T12:17:36Z,2005-08-29T12:22:36Z,2005-08-29T12:27:35Z/2005-08-29T12:52:35Z/PT5M,2005-08-29T13:57:36Z,2005-08-29T14:02:36Z,2005-08-29T14:07:35Z/2005-08-29T14:32:35Z/PT5M,2005-08-29T15:32:34Z,2005-08-29T15:37:36Z/2005-08-29T15:47:36Z/PT5M,2005-08-29T15:52:35Z/2005-08-29T16:12:35Z/PT5M,2005-08-29T17:12:35Z,2005-08-29T17:17:34Z,2005-08-29T17:22:36Z,2005-08-29T17:27:36Z,2005-08-29T17:32:35Z/2005-08-29T17:52:35Z/PT5M,2005-08-29T18:52:35Z,2005-08-29T18:57:34Z,2005-08-29T19:02:36Z,2005-08-29T19:07:36Z,2005-08-29T19:12:35Z/2005-08-29T19:27:35Z/PT5M,2005-08-29T20:32:35Z,2005-08-29T20:37:34Z,2005-08-29T20:42:36Z,2005-08-29T20:47:36Z,2005-08-29T20:52:35Z/2005-08-29T21:07:35Z/PT5M,2005-08-29T22:12:35Z,2005-08-29T22:17:34Z,2005-08-29T22:22:36Z,2005-08-29T22:27:36Z,2005-08-29T22:32:35Z/2005-08-29T22:47:35Z/PT5M,2005-08-29T23:47:35Z,2005-08-29T23:52:35Z,2005-08-29T23:57:34Z,2005-08-30T00:02:36Z/2005-08-30T00:12:36Z/PT5M,2005-08-30T00:17:35Z/2005-08-30T00:27:35Z/PT5M,2005-08-30T01:27:35Z/2005-08-30T01:37:35Z/PT5M,2005-08-30T01:42:34Z,2005-08-30T01:47:36Z,2005-08-30T01:52:36Z,2005-08-30T01:57:35Z/2005-08-30T02:07:35Z/PT5M,2005-08-30T03:07:35Z/2005-08-30T03:17:35Z/PT5M,2005-08-30T03:22:34Z,2005-08-30T03:27:36Z,2005-08-30T03:32:36Z,2005-08-30T03:37:35Z,2005-08-30T03:42:35Z,2005-08-30T04:47:35Z/2005-08-30T04:57:35Z/PT5M,2005-08-30T05:02:34Z,2005-08-30T05:07:36Z,2005-08-30T05:12:36Z,2005-08-30T05:17:35Z,2005-08-30T05:22:35Z,2005-08-30T06:22:35Z/2005-08-30T06:37:35Z/PT5M,2005-08-30T06:42:34Z,2005-08-30T06:47:36Z,2005-08-30T06:52:36Z,2005-08-30T06:57:35Z,2005-08-30T07:02:35Z,2005-08-30T08:02:35Z/2005-08-30T08:17:35Z/PT5M,2005-08-30T08:22:34Z,2005-08-30T08:27:36Z/2005-08-30T08:37:36Z/PT5M,2005-08-30T08:42:35Z,2005-08-30T09:42:35Z/2005-08-30T10:02:35Z/PT5M,2005-08-30T10:07:34Z,2005-08-30T10:12:36Z,2005-08-30T10:17:36Z,2005-08-30T11:22:35Z/2005-08-30T11:42:35Z/PT5M,2005-08-30T11:47:34Z,2005-08-30T11:52:36Z,2005-08-30T11:57:36Z,2005-08-30T13:02:35Z/2005-08-30T13:22:35Z/PT5M,2005-08-30T13:27:34Z,2005-08-30T13:32:36Z,2005-08-30T13:37:36Z,2005-08-30T14:37:35Z/2005-08-30T15:02:35Z/PT5M,2005-08-30T15:07:34Z,2005-08-30T15:12:36Z,2005-08-30T15:17:36Z,2005-08-30T16:17:35Z/2005-08-30T16:42:35Z/PT5M,2005-08-30T16:47:34Z,2005-08-30T16:52:34Z,2005-08-30T17:57:35Z/2005-08-30T18:27:35Z/PT5M,2005-08-30T18:32:34Z,2005-08-30T19:37:35Z/2005-08-30T20:07:35Z/PT5M,2005-08-30T20:12:34Z,2005-08-30T21:12:36Z,2005-08-30T21:17:35Z/2005-08-30T21:47:35Z/PT5M,2005-08-30T21:52:34Z</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003327/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003327/a003327.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://science.hq.nasa.gov/oceans/living/color.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Four days of accumulating Aqua MODIS ocean color swaths during the period of Hurricane Katrina, from August 27, 2005 through August 30, 2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003327/aqua_chlor_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3326_24797</Name>
+					<Title>Aqua MODIS Ocean Color Granules during Hurricane Katrina (1024x512 Animation)</Title>
+					<Abstract>The Aqua satellite orbits the Earth every 99 minutes in a polar, sun-synchronous orbit.  The MODIS instrument on Aqua observes reflected light from the Earth in 36 spectral frequencies.  These observations can be processed to show many properties of the Earth's surface, from temperature and phytoplankton measurements near the surface of the ocean to fire occurrences and land cover characteristics on the land surface.
+The MODIS observations start out divided into 5-minute sections called granules, and this animation shows MODIS ocean color data from about 4 days of individual Aqua granules.  Ocean color is a measurement of the amount of chlorophyll in ocean phytoplankton and is therefore a direct measurement of the amount of life in the ocean.  It can only be measured in ocean regions that are free of both clouds and sun glint, the bright band of specular reflection in the center of each granule.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Optics:Ocean Color</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Platform Characteristics:Orbital Characteristics</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T21:52:34Z">2005-08-26T23:17:35Z/2005-08-26T23:32:35Z/PT5M,2005-08-26T23:37:34Z,2005-08-26T23:42:36Z,2005-08-26T23:47:36Z,2005-08-26T23:52:35Z,2005-08-26T23:57:35Z,2005-08-27T00:57:35Z/2005-08-27T01:12:35Z/PT5M,2005-08-27T01:17:34Z,2005-08-27T01:22:36Z,2005-08-27T01:27:36Z,2005-08-27T01:32:35Z,2005-08-27T02:37:35Z/2005-08-27T02:52:35Z/PT5M,2005-08-27T02:57:34Z,2005-08-27T03:02:36Z,2005-08-27T03:07:36Z,2005-08-27T03:12:35Z,2005-08-27T04:17:35Z/2005-08-27T04:32:35Z/PT5M,2005-08-27T04:37:34Z,2005-08-27T04:42:36Z,2005-08-27T04:47:36Z,2005-08-27T04:52:35Z,2005-08-27T05:52:35Z/2005-08-27T06:12:35Z/PT5M,2005-08-27T06:17:34Z,2005-08-27T06:22:36Z/2005-08-27T06:32:36Z/PT5M,2005-08-27T07:32:35Z/2005-08-27T07:57:35Z/PT5M,2005-08-27T08:02:34Z,2005-08-27T08:07:36Z,2005-08-27T09:12:35Z/2005-08-27T09:37:35Z/PT5M,2005-08-27T09:42:34Z,2005-08-27T09:47:36Z,2005-08-27T10:52:35Z/2005-08-27T11:17:35Z/PT5M,2005-08-27T11:22:34Z,2005-08-27T11:27:36Z,2005-08-27T12:27:35Z/2005-08-27T12:57:35Z/PT5M,2005-08-27T13:02:34Z,2005-08-27T13:07:36Z,2005-08-27T14:07:36Z,2005-08-27T14:12:35Z/2005-08-27T14:37:35Z/PT5M,2005-08-27T14:42:34Z,2005-08-27T14:47:36Z,2005-08-27T15:47:36Z,2005-08-27T15:52:35Z/2005-08-27T16:22:35Z/PT5M,2005-08-27T17:27:36Z,2005-08-27T17:32:35Z/2005-08-27T18:02:35Z/PT5M,2005-08-27T19:02:36Z,2005-08-27T19:07:36Z,2005-08-27T19:12:35Z/2005-08-27T19:42:35Z/PT5M,2005-08-27T20:42:36Z,2005-08-27T20:47:36Z,2005-08-27T20:52:35Z/2005-08-27T21:22:35Z/PT5M,2005-08-27T22:22:36Z/2005-08-27T22:32:36Z/PT5M,2005-08-27T22:37:35Z/2005-08-27T22:57:35Z/PT5M,2005-08-28T00:02:34Z,2005-08-28T00:07:36Z,2005-08-28T00:12:36Z,2005-08-28T00:17:35Z/2005-08-28T00:37:35Z/PT5M,2005-08-28T01:42:34Z,2005-08-28T01:47:36Z,2005-08-28T01:52:36Z,2005-08-28T01:57:35Z/2005-08-28T02:17:35Z/PT5M,2005-08-28T03:17:35Z,2005-08-28T03:22:34Z,2005-08-28T03:27:36Z,2005-08-28T03:32:36Z,2005-08-28T03:37:35Z/2005-08-28T03:57:35Z/PT5M,2005-08-28T04:57:35Z,2005-08-28T05:02:34Z,2005-08-28T05:07:36Z,2005-08-28T05:12:36Z,2005-08-28T05:17:35Z/2005-08-28T05:37:35Z/PT5M,2005-08-28T06:37:35Z,2005-08-28T06:42:34Z,2005-08-28T06:47:36Z/2005-08-28T06:57:36Z/PT5M,2005-08-28T07:02:35Z/2005-08-28T07:12:35Z/PT5M,2005-08-28T08:17:35Z,2005-08-28T08:22:35Z,2005-08-28T08:27:34Z,2005-08-28T08:32:36Z,2005-08-28T08:37:36Z,2005-08-28T08:42:35Z/2005-08-28T08:52:35Z/PT5M,2005-08-28T09:52:35Z/2005-08-28T10:02:35Z/PT5M,2005-08-28T10:07:34Z,2005-08-28T10:12:36Z,2005-08-28T10:17:36Z,2005-08-28T10:22:35Z/2005-08-28T10:32:35Z/PT5M,2005-08-28T11:32:35Z/2005-08-28T11:42:35Z/PT5M,2005-08-28T11:47:34Z,2005-08-28T11:52:36Z,2005-08-28T11:57:36Z,2005-08-28T12:02:35Z/2005-08-28T12:12:35Z/PT5M,2005-08-28T13:12:35Z/2005-08-28T13:22:35Z/PT5M,2005-08-28T13:27:34Z,2005-08-28T13:32:36Z,2005-08-28T13:37:36Z,2005-08-28T13:42:35Z,2005-08-28T13:47:35Z,2005-08-28T14:52:35Z/2005-08-28T15:02:35Z/PT5M,2005-08-28T15:07:34Z,2005-08-28T15:12:36Z/2005-08-28T15:22:36Z/PT5M,2005-08-28T15:27:35Z,2005-08-28T16:32:35Z/2005-08-28T16:47:35Z/PT5M,2005-08-28T16:52:34Z,2005-08-28T16:57:36Z,2005-08-28T17:02:36Z,2005-08-28T17:07:35Z,2005-08-28T18:07:35Z/2005-08-28T18:27:35Z/PT5M,2005-08-28T18:32:34Z,2005-08-28T18:37:36Z,2005-08-28T18:42:36Z,2005-08-28T18:47:35Z,2005-08-28T19:47:35Z/2005-08-28T20:07:35Z/PT5M,2005-08-28T20:12:34Z,2005-08-28T20:17:36Z,2005-08-28T20:22:36Z,2005-08-28T20:27:35Z,2005-08-28T21:27:35Z/2005-08-28T21:47:35Z/PT5M,2005-08-28T21:52:34Z,2005-08-28T21:57:36Z,2005-08-28T22:02:36Z,2005-08-28T23:07:35Z/2005-08-28T23:27:35Z/PT5M,2005-08-28T23:32:34Z,2005-08-28T23:37:36Z,2005-08-28T23:42:36Z,2005-08-29T00:42:35Z/2005-08-29T01:12:35Z/PT5M,2005-08-29T01:17:34Z,2005-08-29T01:22:36Z,2005-08-29T02:22:35Z/2005-08-29T02:52:35Z/PT5M,2005-08-29T02:57:34Z,2005-08-29T03:02:36Z,2005-08-29T04:02:35Z/2005-08-29T04:32:35Z/PT5M,2005-08-29T04:37:34Z,2005-08-29T05:42:35Z/2005-08-29T06:12:35Z/PT5M,2005-08-29T06:17:34Z,2005-08-29T07:22:36Z,2005-08-29T07:27:35Z/2005-08-29T07:52:35Z/PT5M,2005-08-29T07:57:34Z,2005-08-29T08:57:36Z,2005-08-29T09:02:36Z,2005-08-29T09:07:35Z/2005-08-29T09:37:35Z/PT5M,2005-08-29T10:37:36Z,2005-08-29T10:42:36Z,2005-08-29T10:47:35Z/2005-08-29T11:17:35Z/PT5M,2005-08-29T12:17:36Z,2005-08-29T12:22:36Z,2005-08-29T12:27:35Z/2005-08-29T12:52:35Z/PT5M,2005-08-29T13:57:36Z,2005-08-29T14:02:36Z,2005-08-29T14:07:35Z/2005-08-29T14:32:35Z/PT5M,2005-08-29T15:32:34Z,2005-08-29T15:37:36Z/2005-08-29T15:47:36Z/PT5M,2005-08-29T15:52:35Z/2005-08-29T16:12:35Z/PT5M,2005-08-29T17:12:35Z,2005-08-29T17:17:34Z,2005-08-29T17:22:36Z,2005-08-29T17:27:36Z,2005-08-29T17:32:35Z/2005-08-29T17:52:35Z/PT5M,2005-08-29T18:52:35Z,2005-08-29T18:57:34Z,2005-08-29T19:02:36Z,2005-08-29T19:07:36Z,2005-08-29T19:12:35Z/2005-08-29T19:27:35Z/PT5M,2005-08-29T20:32:35Z,2005-08-29T20:37:34Z,2005-08-29T20:42:36Z,2005-08-29T20:47:36Z,2005-08-29T20:52:35Z/2005-08-29T21:07:35Z/PT5M,2005-08-29T22:12:35Z,2005-08-29T22:17:34Z,2005-08-29T22:22:36Z,2005-08-29T22:27:36Z,2005-08-29T22:32:35Z/2005-08-29T22:47:35Z/PT5M,2005-08-29T23:47:35Z,2005-08-29T23:52:35Z,2005-08-29T23:57:34Z,2005-08-30T00:02:36Z/2005-08-30T00:12:36Z/PT5M,2005-08-30T00:17:35Z/2005-08-30T00:27:35Z/PT5M,2005-08-30T01:27:35Z/2005-08-30T01:37:35Z/PT5M,2005-08-30T01:42:34Z,2005-08-30T01:47:36Z,2005-08-30T01:52:36Z,2005-08-30T01:57:35Z/2005-08-30T02:07:35Z/PT5M,2005-08-30T03:07:35Z/2005-08-30T03:17:35Z/PT5M,2005-08-30T03:22:34Z,2005-08-30T03:27:36Z,2005-08-30T03:32:36Z,2005-08-30T03:37:35Z,2005-08-30T03:42:35Z,2005-08-30T04:47:35Z/2005-08-30T04:57:35Z/PT5M,2005-08-30T05:02:34Z,2005-08-30T05:07:36Z,2005-08-30T05:12:36Z,2005-08-30T05:17:35Z,2005-08-30T05:22:35Z,2005-08-30T06:22:35Z/2005-08-30T06:37:35Z/PT5M,2005-08-30T06:42:34Z,2005-08-30T06:47:36Z,2005-08-30T06:52:36Z,2005-08-30T06:57:35Z,2005-08-30T07:02:35Z,2005-08-30T08:02:35Z/2005-08-30T08:17:35Z/PT5M,2005-08-30T08:22:34Z,2005-08-30T08:27:36Z/2005-08-30T08:37:36Z/PT5M,2005-08-30T08:42:35Z,2005-08-30T09:42:35Z/2005-08-30T10:02:35Z/PT5M,2005-08-30T10:07:34Z,2005-08-30T10:12:36Z,2005-08-30T10:17:36Z,2005-08-30T11:22:35Z/2005-08-30T11:42:35Z/PT5M,2005-08-30T11:47:34Z,2005-08-30T11:52:36Z,2005-08-30T11:57:36Z,2005-08-30T13:02:35Z/2005-08-30T13:22:35Z/PT5M,2005-08-30T13:27:34Z,2005-08-30T13:32:36Z,2005-08-30T13:37:36Z,2005-08-30T14:37:35Z/2005-08-30T15:02:35Z/PT5M,2005-08-30T15:07:34Z,2005-08-30T15:12:36Z,2005-08-30T15:17:36Z,2005-08-30T16:17:35Z/2005-08-30T16:42:35Z/PT5M,2005-08-30T16:47:34Z,2005-08-30T16:52:34Z,2005-08-30T17:57:35Z/2005-08-30T18:27:35Z/PT5M,2005-08-30T18:32:34Z,2005-08-30T19:37:35Z/2005-08-30T20:07:35Z/PT5M,2005-08-30T20:12:34Z,2005-08-30T21:12:36Z,2005-08-30T21:17:35Z/2005-08-30T21:47:35Z/PT5M,2005-08-30T21:52:34Z</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003326/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003326/a003326.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://science.hq.nasa.gov/oceans/living/color.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Four days of Aqua MODIS ocean color granules during the period of Hurricane Katrina, from August 27, 2005 through August 30, 2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003326/aqua_chlor_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3324_24791</Name>
+					<Title>Aqua MODIS Sea Surface Temperature Progression during Hurricane Katrina (1024x512 Animation)</Title>
+					<Abstract>The Aqua satellite orbits the Earth every 99 minutes in a polar, sun-synchronous orbit.  The MODIS instrument on Aqua observes reflected light from the Earth in 36 spectral frequencies.  These observations can be processed to show many properties of the Earth's surface, from temperature and phytoplankton measurements near the surface of the ocean to fire occurrences and land cover characteristics on the land surface.
+This animation shows MODIS sea surface temperature data from about 4 days of individual Aqua orbits.  Sea surface temperature can only be measured by MODIS in ocean regions that are free of both clouds and sun glint, the bright band of specular reflection in the center of each granule.  For this animation the data is accumulated and so builds up a complete picture of the surface of the Earth except around the South Pole, which is in darkness during the entire 4-day period.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Platform Characteristics:Orbital Characteristics</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T21:52:34Z">2005-08-26T23:17:35Z/2005-08-26T23:32:35Z/PT5M,2005-08-26T23:37:34Z,2005-08-26T23:42:36Z,2005-08-26T23:47:36Z,2005-08-26T23:52:35Z,2005-08-26T23:57:35Z,2005-08-27T00:57:35Z/2005-08-27T01:12:35Z/PT5M,2005-08-27T01:17:34Z,2005-08-27T01:22:36Z,2005-08-27T01:27:36Z,2005-08-27T01:32:35Z,2005-08-27T02:37:35Z/2005-08-27T02:52:35Z/PT5M,2005-08-27T02:57:34Z,2005-08-27T03:02:36Z,2005-08-27T03:07:36Z,2005-08-27T03:12:35Z,2005-08-27T04:17:35Z/2005-08-27T04:32:35Z/PT5M,2005-08-27T04:37:34Z,2005-08-27T04:42:36Z,2005-08-27T04:47:36Z,2005-08-27T04:52:35Z,2005-08-27T05:52:35Z/2005-08-27T06:12:35Z/PT5M,2005-08-27T06:17:34Z,2005-08-27T06:22:36Z/2005-08-27T06:32:36Z/PT5M,2005-08-27T07:32:35Z/2005-08-27T07:57:35Z/PT5M,2005-08-27T08:02:34Z,2005-08-27T08:07:36Z,2005-08-27T09:12:35Z/2005-08-27T09:37:35Z/PT5M,2005-08-27T09:42:34Z,2005-08-27T09:47:36Z,2005-08-27T10:52:35Z/2005-08-27T11:17:35Z/PT5M,2005-08-27T11:22:34Z,2005-08-27T11:27:36Z,2005-08-27T12:27:35Z/2005-08-27T12:57:35Z/PT5M,2005-08-27T13:02:34Z,2005-08-27T13:07:36Z,2005-08-27T14:07:36Z,2005-08-27T14:12:35Z/2005-08-27T14:37:35Z/PT5M,2005-08-27T14:42:34Z,2005-08-27T14:47:36Z,2005-08-27T15:47:36Z,2005-08-27T15:52:35Z/2005-08-27T16:22:35Z/PT5M,2005-08-27T17:27:36Z,2005-08-27T17:32:35Z/2005-08-27T18:02:35Z/PT5M,2005-08-27T19:02:36Z,2005-08-27T19:07:36Z,2005-08-27T19:12:35Z/2005-08-27T19:42:35Z/PT5M,2005-08-27T20:42:36Z,2005-08-27T20:47:36Z,2005-08-27T20:52:35Z/2005-08-27T21:22:35Z/PT5M,2005-08-27T22:22:36Z/2005-08-27T22:32:36Z/PT5M,2005-08-27T22:37:35Z/2005-08-27T22:57:35Z/PT5M,2005-08-28T00:02:34Z,2005-08-28T00:07:36Z,2005-08-28T00:12:36Z,2005-08-28T00:17:35Z/2005-08-28T00:37:35Z/PT5M,2005-08-28T01:42:34Z,2005-08-28T01:47:36Z,2005-08-28T01:52:36Z,2005-08-28T01:57:35Z/2005-08-28T02:17:35Z/PT5M,2005-08-28T03:17:35Z,2005-08-28T03:22:34Z,2005-08-28T03:27:36Z,2005-08-28T03:32:36Z,2005-08-28T03:37:35Z/2005-08-28T03:57:35Z/PT5M,2005-08-28T04:57:35Z,2005-08-28T05:02:34Z,2005-08-28T05:07:36Z,2005-08-28T05:12:36Z,2005-08-28T05:17:35Z/2005-08-28T05:37:35Z/PT5M,2005-08-28T06:37:35Z,2005-08-28T06:42:34Z,2005-08-28T06:47:36Z/2005-08-28T06:57:36Z/PT5M,2005-08-28T07:02:35Z/2005-08-28T07:12:35Z/PT5M,2005-08-28T08:17:35Z,2005-08-28T08:22:35Z,2005-08-28T08:27:34Z,2005-08-28T08:32:36Z,2005-08-28T08:37:36Z,2005-08-28T08:42:35Z/2005-08-28T08:52:35Z/PT5M,2005-08-28T09:52:35Z/2005-08-28T10:02:35Z/PT5M,2005-08-28T10:07:34Z,2005-08-28T10:12:36Z,2005-08-28T10:17:36Z,2005-08-28T10:22:35Z/2005-08-28T10:32:35Z/PT5M,2005-08-28T11:32:35Z/2005-08-28T11:42:35Z/PT5M,2005-08-28T11:47:34Z,2005-08-28T11:52:36Z,2005-08-28T11:57:36Z,2005-08-28T12:02:35Z/2005-08-28T12:12:35Z/PT5M,2005-08-28T13:12:35Z/2005-08-28T13:22:35Z/PT5M,2005-08-28T13:27:34Z,2005-08-28T13:32:36Z,2005-08-28T13:37:36Z,2005-08-28T13:42:35Z,2005-08-28T13:47:35Z,2005-08-28T14:52:35Z/2005-08-28T15:02:35Z/PT5M,2005-08-28T15:07:34Z,2005-08-28T15:12:36Z/2005-08-28T15:22:36Z/PT5M,2005-08-28T15:27:35Z,2005-08-28T16:32:35Z/2005-08-28T16:47:35Z/PT5M,2005-08-28T16:52:34Z,2005-08-28T16:57:36Z,2005-08-28T17:02:36Z,2005-08-28T17:07:35Z,2005-08-28T18:07:35Z/2005-08-28T18:27:35Z/PT5M,2005-08-28T18:32:34Z,2005-08-28T18:37:36Z,2005-08-28T18:42:36Z,2005-08-28T18:47:35Z,2005-08-28T19:47:35Z/2005-08-28T20:07:35Z/PT5M,2005-08-28T20:12:34Z,2005-08-28T20:17:36Z,2005-08-28T20:22:36Z,2005-08-28T20:27:35Z,2005-08-28T21:27:35Z/2005-08-28T21:47:35Z/PT5M,2005-08-28T21:52:34Z,2005-08-28T21:57:36Z,2005-08-28T22:02:36Z,2005-08-28T23:07:35Z/2005-08-28T23:27:35Z/PT5M,2005-08-28T23:32:34Z,2005-08-28T23:37:36Z,2005-08-28T23:42:36Z,2005-08-29T00:42:35Z/2005-08-29T01:12:35Z/PT5M,2005-08-29T01:17:34Z,2005-08-29T01:22:36Z,2005-08-29T02:22:35Z/2005-08-29T02:52:35Z/PT5M,2005-08-29T02:57:34Z,2005-08-29T03:02:36Z,2005-08-29T04:02:35Z/2005-08-29T04:32:35Z/PT5M,2005-08-29T04:37:34Z,2005-08-29T05:42:35Z/2005-08-29T06:12:35Z/PT5M,2005-08-29T06:17:34Z,2005-08-29T07:22:36Z,2005-08-29T07:27:35Z/2005-08-29T07:52:35Z/PT5M,2005-08-29T07:57:34Z,2005-08-29T08:57:36Z,2005-08-29T09:02:36Z,2005-08-29T09:07:35Z/2005-08-29T09:37:35Z/PT5M,2005-08-29T10:37:36Z,2005-08-29T10:42:36Z,2005-08-29T10:47:35Z/2005-08-29T11:17:35Z/PT5M,2005-08-29T12:17:36Z,2005-08-29T12:22:36Z,2005-08-29T12:27:35Z/2005-08-29T12:52:35Z/PT5M,2005-08-29T13:57:36Z,2005-08-29T14:02:36Z,2005-08-29T14:07:35Z/2005-08-29T14:32:35Z/PT5M,2005-08-29T15:32:34Z,2005-08-29T15:37:36Z/2005-08-29T15:47:36Z/PT5M,2005-08-29T15:52:35Z/2005-08-29T16:12:35Z/PT5M,2005-08-29T17:12:35Z,2005-08-29T17:17:34Z,2005-08-29T17:22:36Z,2005-08-29T17:27:36Z,2005-08-29T17:32:35Z/2005-08-29T17:52:35Z/PT5M,2005-08-29T18:52:35Z,2005-08-29T18:57:34Z,2005-08-29T19:02:36Z,2005-08-29T19:07:36Z,2005-08-29T19:12:35Z/2005-08-29T19:27:35Z/PT5M,2005-08-29T20:32:35Z,2005-08-29T20:37:34Z,2005-08-29T20:42:36Z,2005-08-29T20:47:36Z,2005-08-29T20:52:35Z/2005-08-29T21:07:35Z/PT5M,2005-08-29T22:12:35Z,2005-08-29T22:17:34Z,2005-08-29T22:22:36Z,2005-08-29T22:27:36Z,2005-08-29T22:32:35Z/2005-08-29T22:47:35Z/PT5M,2005-08-29T23:47:35Z,2005-08-29T23:52:35Z,2005-08-29T23:57:34Z,2005-08-30T00:02:36Z/2005-08-30T00:12:36Z/PT5M,2005-08-30T00:17:35Z/2005-08-30T00:27:35Z/PT5M,2005-08-30T01:27:35Z/2005-08-30T01:37:35Z/PT5M,2005-08-30T01:42:34Z,2005-08-30T01:47:36Z,2005-08-30T01:52:36Z,2005-08-30T01:57:35Z/2005-08-30T02:07:35Z/PT5M,2005-08-30T03:07:35Z/2005-08-30T03:17:35Z/PT5M,2005-08-30T03:22:34Z,2005-08-30T03:27:36Z,2005-08-30T03:32:36Z,2005-08-30T03:37:35Z,2005-08-30T03:42:35Z,2005-08-30T04:47:35Z/2005-08-30T04:57:35Z/PT5M,2005-08-30T05:02:34Z,2005-08-30T05:07:36Z,2005-08-30T05:12:36Z,2005-08-30T05:17:35Z,2005-08-30T05:22:35Z,2005-08-30T06:22:35Z/2005-08-30T06:37:35Z/PT5M,2005-08-30T06:42:34Z,2005-08-30T06:47:36Z,2005-08-30T06:52:36Z,2005-08-30T06:57:35Z,2005-08-30T07:02:35Z,2005-08-30T08:02:35Z/2005-08-30T08:17:35Z/PT5M,2005-08-30T08:22:34Z,2005-08-30T08:27:36Z/2005-08-30T08:37:36Z/PT5M,2005-08-30T08:42:35Z,2005-08-30T09:42:35Z/2005-08-30T10:02:35Z/PT5M,2005-08-30T10:07:34Z,2005-08-30T10:12:36Z,2005-08-30T10:17:36Z,2005-08-30T11:22:35Z/2005-08-30T11:42:35Z/PT5M,2005-08-30T11:47:34Z,2005-08-30T11:52:36Z,2005-08-30T11:57:36Z,2005-08-30T13:02:35Z/2005-08-30T13:22:35Z/PT5M,2005-08-30T13:27:34Z,2005-08-30T13:32:36Z,2005-08-30T13:37:36Z,2005-08-30T14:37:35Z/2005-08-30T15:02:35Z/PT5M,2005-08-30T15:07:34Z,2005-08-30T15:12:36Z,2005-08-30T15:17:36Z,2005-08-30T16:17:35Z/2005-08-30T16:42:35Z/PT5M,2005-08-30T16:47:34Z,2005-08-30T16:52:34Z,2005-08-30T17:57:35Z/2005-08-30T18:27:35Z/PT5M,2005-08-30T18:32:34Z,2005-08-30T19:37:35Z/2005-08-30T20:07:35Z/PT5M,2005-08-30T20:12:34Z,2005-08-30T21:12:36Z,2005-08-30T21:17:35Z/2005-08-30T21:47:35Z/PT5M,2005-08-30T21:52:34Z</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003324/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003324/a003324.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Four days of accumulating Aqua MODIS sea surface temperature swaths during the period of Hurricane Katrina, from August 27, 2005 through August 30, 2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003324/aqua_sst_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3323_24785</Name>
+					<Title>Aqua MODIS Sea Surface Temperature Granules during Hurricane Katrina (1024x512 Animation)</Title>
+					<Abstract>The Aqua satellite orbits the Earth every 99 minutes in a polar, sun-synchronous orbit.  The MODIS instrument on Aqua observes reflected light from the Earth in 36 spectral frequencies.  These observations can be processed to show many properties of the Earth's surface, from temperature and phytoplankton measurements near the surface of the ocean to fire occurrences and land cover characteristics on the land surface.
+The MODIS observations start out divided into 5-minute sections called granules, and this animation shows MODIS sea surface temperature data from about 4 days of individual Aqua granules.  Sea surface temperature can only be measured by MODIS in ocean regions that are free of both clouds and sun glint, the bright band of specular reflection in the center of each granule.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Platform Characteristics:Orbital Characteristics</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T21:52:34Z">2005-08-26T23:17:35Z/2005-08-26T23:32:35Z/PT5M,2005-08-26T23:37:34Z,2005-08-26T23:42:36Z,2005-08-26T23:47:36Z,2005-08-26T23:52:35Z,2005-08-26T23:57:35Z,2005-08-27T00:57:35Z/2005-08-27T01:12:35Z/PT5M,2005-08-27T01:17:34Z,2005-08-27T01:22:36Z,2005-08-27T01:27:36Z,2005-08-27T01:32:35Z,2005-08-27T02:37:35Z/2005-08-27T02:52:35Z/PT5M,2005-08-27T02:57:34Z,2005-08-27T03:02:36Z,2005-08-27T03:07:36Z,2005-08-27T03:12:35Z,2005-08-27T04:17:35Z/2005-08-27T04:32:35Z/PT5M,2005-08-27T04:37:34Z,2005-08-27T04:42:36Z,2005-08-27T04:47:36Z,2005-08-27T04:52:35Z,2005-08-27T05:52:35Z/2005-08-27T06:12:35Z/PT5M,2005-08-27T06:17:34Z,2005-08-27T06:22:36Z/2005-08-27T06:32:36Z/PT5M,2005-08-27T07:32:35Z/2005-08-27T07:57:35Z/PT5M,2005-08-27T08:02:34Z,2005-08-27T08:07:36Z,2005-08-27T09:12:35Z/2005-08-27T09:37:35Z/PT5M,2005-08-27T09:42:34Z,2005-08-27T09:47:36Z,2005-08-27T10:52:35Z/2005-08-27T11:17:35Z/PT5M,2005-08-27T11:22:34Z,2005-08-27T11:27:36Z,2005-08-27T12:27:35Z/2005-08-27T12:57:35Z/PT5M,2005-08-27T13:02:34Z,2005-08-27T13:07:36Z,2005-08-27T14:07:36Z,2005-08-27T14:12:35Z/2005-08-27T14:37:35Z/PT5M,2005-08-27T14:42:34Z,2005-08-27T14:47:36Z,2005-08-27T15:47:36Z,2005-08-27T15:52:35Z/2005-08-27T16:22:35Z/PT5M,2005-08-27T17:27:36Z,2005-08-27T17:32:35Z/2005-08-27T18:02:35Z/PT5M,2005-08-27T19:02:36Z,2005-08-27T19:07:36Z,2005-08-27T19:12:35Z/2005-08-27T19:42:35Z/PT5M,2005-08-27T20:42:36Z,2005-08-27T20:47:36Z,2005-08-27T20:52:35Z/2005-08-27T21:22:35Z/PT5M,2005-08-27T22:22:36Z/2005-08-27T22:32:36Z/PT5M,2005-08-27T22:37:35Z/2005-08-27T22:57:35Z/PT5M,2005-08-28T00:02:34Z,2005-08-28T00:07:36Z,2005-08-28T00:12:36Z,2005-08-28T00:17:35Z/2005-08-28T00:37:35Z/PT5M,2005-08-28T01:42:34Z,2005-08-28T01:47:36Z,2005-08-28T01:52:36Z,2005-08-28T01:57:35Z/2005-08-28T02:17:35Z/PT5M,2005-08-28T03:17:35Z,2005-08-28T03:22:34Z,2005-08-28T03:27:36Z,2005-08-28T03:32:36Z,2005-08-28T03:37:35Z/2005-08-28T03:57:35Z/PT5M,2005-08-28T04:57:35Z,2005-08-28T05:02:34Z,2005-08-28T05:07:36Z,2005-08-28T05:12:36Z,2005-08-28T05:17:35Z/2005-08-28T05:37:35Z/PT5M,2005-08-28T06:37:35Z,2005-08-28T06:42:34Z,2005-08-28T06:47:36Z/2005-08-28T06:57:36Z/PT5M,2005-08-28T07:02:35Z/2005-08-28T07:12:35Z/PT5M,2005-08-28T08:17:35Z,2005-08-28T08:22:35Z,2005-08-28T08:27:34Z,2005-08-28T08:32:36Z,2005-08-28T08:37:36Z,2005-08-28T08:42:35Z/2005-08-28T08:52:35Z/PT5M,2005-08-28T09:52:35Z/2005-08-28T10:02:35Z/PT5M,2005-08-28T10:07:34Z,2005-08-28T10:12:36Z,2005-08-28T10:17:36Z,2005-08-28T10:22:35Z/2005-08-28T10:32:35Z/PT5M,2005-08-28T11:32:35Z/2005-08-28T11:42:35Z/PT5M,2005-08-28T11:47:34Z,2005-08-28T11:52:36Z,2005-08-28T11:57:36Z,2005-08-28T12:02:35Z/2005-08-28T12:12:35Z/PT5M,2005-08-28T13:12:35Z/2005-08-28T13:22:35Z/PT5M,2005-08-28T13:27:34Z,2005-08-28T13:32:36Z,2005-08-28T13:37:36Z,2005-08-28T13:42:35Z,2005-08-28T13:47:35Z,2005-08-28T14:52:35Z/2005-08-28T15:02:35Z/PT5M,2005-08-28T15:07:34Z,2005-08-28T15:12:36Z/2005-08-28T15:22:36Z/PT5M,2005-08-28T15:27:35Z,2005-08-28T16:32:35Z/2005-08-28T16:47:35Z/PT5M,2005-08-28T16:52:34Z,2005-08-28T16:57:36Z,2005-08-28T17:02:36Z,2005-08-28T17:07:35Z,2005-08-28T18:07:35Z/2005-08-28T18:27:35Z/PT5M,2005-08-28T18:32:34Z,2005-08-28T18:37:36Z,2005-08-28T18:42:36Z,2005-08-28T18:47:35Z,2005-08-28T19:47:35Z/2005-08-28T20:07:35Z/PT5M,2005-08-28T20:12:34Z,2005-08-28T20:17:36Z,2005-08-28T20:22:36Z,2005-08-28T20:27:35Z,2005-08-28T21:27:35Z/2005-08-28T21:47:35Z/PT5M,2005-08-28T21:52:34Z,2005-08-28T21:57:36Z,2005-08-28T22:02:36Z,2005-08-28T23:07:35Z/2005-08-28T23:27:35Z/PT5M,2005-08-28T23:32:34Z,2005-08-28T23:37:36Z,2005-08-28T23:42:36Z,2005-08-29T00:42:35Z/2005-08-29T01:12:35Z/PT5M,2005-08-29T01:17:34Z,2005-08-29T01:22:36Z,2005-08-29T02:22:35Z/2005-08-29T02:52:35Z/PT5M,2005-08-29T02:57:34Z,2005-08-29T03:02:36Z,2005-08-29T04:02:35Z/2005-08-29T04:32:35Z/PT5M,2005-08-29T04:37:34Z,2005-08-29T05:42:35Z/2005-08-29T06:12:35Z/PT5M,2005-08-29T06:17:34Z,2005-08-29T07:22:36Z,2005-08-29T07:27:35Z/2005-08-29T07:52:35Z/PT5M,2005-08-29T07:57:34Z,2005-08-29T08:57:36Z,2005-08-29T09:02:36Z,2005-08-29T09:07:35Z/2005-08-29T09:37:35Z/PT5M,2005-08-29T10:37:36Z,2005-08-29T10:42:36Z,2005-08-29T10:47:35Z/2005-08-29T11:17:35Z/PT5M,2005-08-29T12:17:36Z,2005-08-29T12:22:36Z,2005-08-29T12:27:35Z/2005-08-29T12:52:35Z/PT5M,2005-08-29T13:57:36Z,2005-08-29T14:02:36Z,2005-08-29T14:07:35Z/2005-08-29T14:32:35Z/PT5M,2005-08-29T15:32:34Z,2005-08-29T15:37:36Z/2005-08-29T15:47:36Z/PT5M,2005-08-29T15:52:35Z/2005-08-29T16:12:35Z/PT5M,2005-08-29T17:12:35Z,2005-08-29T17:17:34Z,2005-08-29T17:22:36Z,2005-08-29T17:27:36Z,2005-08-29T17:32:35Z/2005-08-29T17:52:35Z/PT5M,2005-08-29T18:52:35Z,2005-08-29T18:57:34Z,2005-08-29T19:02:36Z,2005-08-29T19:07:36Z,2005-08-29T19:12:35Z/2005-08-29T19:27:35Z/PT5M,2005-08-29T20:32:35Z,2005-08-29T20:37:34Z,2005-08-29T20:42:36Z,2005-08-29T20:47:36Z,2005-08-29T20:52:35Z/2005-08-29T21:07:35Z/PT5M,2005-08-29T22:12:35Z,2005-08-29T22:17:34Z,2005-08-29T22:22:36Z,2005-08-29T22:27:36Z,2005-08-29T22:32:35Z/2005-08-29T22:47:35Z/PT5M,2005-08-29T23:47:35Z,2005-08-29T23:52:35Z,2005-08-29T23:57:34Z,2005-08-30T00:02:36Z/2005-08-30T00:12:36Z/PT5M,2005-08-30T00:17:35Z/2005-08-30T00:27:35Z/PT5M,2005-08-30T01:27:35Z/2005-08-30T01:37:35Z/PT5M,2005-08-30T01:42:34Z,2005-08-30T01:47:36Z,2005-08-30T01:52:36Z,2005-08-30T01:57:35Z/2005-08-30T02:07:35Z/PT5M,2005-08-30T03:07:35Z/2005-08-30T03:17:35Z/PT5M,2005-08-30T03:22:34Z,2005-08-30T03:27:36Z,2005-08-30T03:32:36Z,2005-08-30T03:37:35Z,2005-08-30T03:42:35Z,2005-08-30T04:47:35Z/2005-08-30T04:57:35Z/PT5M,2005-08-30T05:02:34Z,2005-08-30T05:07:36Z,2005-08-30T05:12:36Z,2005-08-30T05:17:35Z,2005-08-30T05:22:35Z,2005-08-30T06:22:35Z/2005-08-30T06:37:35Z/PT5M,2005-08-30T06:42:34Z,2005-08-30T06:47:36Z,2005-08-30T06:52:36Z,2005-08-30T06:57:35Z,2005-08-30T07:02:35Z,2005-08-30T08:02:35Z/2005-08-30T08:17:35Z/PT5M,2005-08-30T08:22:34Z,2005-08-30T08:27:36Z/2005-08-30T08:37:36Z/PT5M,2005-08-30T08:42:35Z,2005-08-30T09:42:35Z/2005-08-30T10:02:35Z/PT5M,2005-08-30T10:07:34Z,2005-08-30T10:12:36Z,2005-08-30T10:17:36Z,2005-08-30T11:22:35Z/2005-08-30T11:42:35Z/PT5M,2005-08-30T11:47:34Z,2005-08-30T11:52:36Z,2005-08-30T11:57:36Z,2005-08-30T13:02:35Z/2005-08-30T13:22:35Z/PT5M,2005-08-30T13:27:34Z,2005-08-30T13:32:36Z,2005-08-30T13:37:36Z,2005-08-30T14:37:35Z/2005-08-30T15:02:35Z/PT5M,2005-08-30T15:07:34Z,2005-08-30T15:12:36Z,2005-08-30T15:17:36Z,2005-08-30T16:17:35Z/2005-08-30T16:42:35Z/PT5M,2005-08-30T16:47:34Z,2005-08-30T16:52:34Z,2005-08-30T17:57:35Z/2005-08-30T18:27:35Z/PT5M,2005-08-30T18:32:34Z,2005-08-30T19:37:35Z/2005-08-30T20:07:35Z/PT5M,2005-08-30T20:12:34Z,2005-08-30T21:12:36Z,2005-08-30T21:17:35Z/2005-08-30T21:47:35Z/PT5M,2005-08-30T21:52:34Z</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003323/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003323/a003323.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Four days of Aqua MODIS sea surface temperature granules during the period of Hurricane Katrina, from August 27, 2005 through August 30, 2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003323/aqua_sst_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3240_24673</Name>
+					<Title>Hurricane Katrina Sea Surface Temperature (1024x1024 Animation)</Title>
+					<Abstract>This visualization shows the cold water trail left by Hurricane Katrina. The data is from August 23 through 30, 2005.  The colors on the ocean represent the sea surface temperatures, and satellite images of the hurricane clouds are laid over the temperatures to clearly show the hurricane positions. Orange and red depict regions that are 82 degrees F and higher, where the ocean is warm enough for hurricanes to form. Hurricane winds are sustained by the heat energy of the ocean, so the ocean is cooled as the hurricane passes and the energy is extracted to power the winds.  The sea surface temperatures are 3-day moving averages based on the AMSR-E instrument on the Aqua satellite, while the cloud images were taken by the Imager on the GOES-12 satellite.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Hydrological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-100</westBoundLongitude>
+						<eastBoundLongitude>-60</eastBoundLongitude>
+						<southBoundLatitude>10</southBoundLatitude>
+						<northBoundLatitude>50</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-60" maxy="50"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T08:45Z">2005-08-23T08:45Z/2005-08-30T08:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003240/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003240/a003240.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 infrared imagery over AMSR-E sea surface temperature for Hurricane Katrina, from August 23, 2005 to August 30, 2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003240/sst2005_cbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Sea Surface Height Anomaly, 2003-2005</Title>
+					<Abstract>Changes in the normal height of the ocean's surface were observed by the TOPEX/Poseidon altimeter.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Surface Topography:Sea Surface Height</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global Ocean</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003193/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003193/a003193.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="360" fixedHeight="180">
+						<Name>3193_21991</Name>
+						<Title>Sea Surface Height Anomaly, 2003-2005 (360x180 Animation)</Title>
+						<Abstract>Changes in the normal height of the ocean's surface were observed by the TOPEX/Poseidon altimeter.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Surface Topography:Sea Surface Height</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>0</westBoundLongitude>
+							<eastBoundLongitude>-0.0001</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="0" miny="-90" maxx="-0.0001" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2005-04-19T02:15:15Z">2003-08-03T09:46:21Z,2003-08-13T07:45:00Z,2003-08-23T05:43:52Z,2003-09-02T03:42:05Z,2003-09-12T01:40:49Z,2003-09-21T23:39:01Z,2003-10-01T21:38:00Z,2003-10-11T19:36:26Z,2003-10-21T17:34:41Z,2003-10-31T15:33:27Z,2003-11-10T13:32:02Z,2003-11-20T11:30:33Z,2003-11-30T09:29:00Z,2003-12-10T07:32:27Z,2003-12-20T05:31:28Z,2003-12-30T03:25:27Z,2004-01-09T01:24:02Z,2004-01-18T23:28:27Z,2004-01-28T21:26:59Z,2004-02-07T19:19:35Z,2004-02-17T17:18:15Z,2004-02-27T15:22:35Z,2004-03-08T13:21:08Z,2004-03-18T11:13:45Z,2004-03-28T09:12:24Z,2004-04-07T07:16:42Z,2004-04-17T05:13:59Z,2004-04-27T03:04:33Z,2004-05-07T01:06:04Z,2004-05-16T23:09:58Z,2004-05-26T18:47:47Z,2004-06-25T14:57:55Z,2004-07-05T12:56:09Z,2004-07-13T23:21:20Z,2004-07-25T08:53:03Z,2004-08-02T23:02:34Z,2004-08-14T04:50:00Z,2004-08-24T02:48:09Z,2004-09-03T00:46:54Z,2004-09-12T22:45:31Z,2004-09-22T20:44:38Z,2004-10-02T18:43:10Z,2004-10-12T16:41:35Z,2004-10-22T14:40:22Z,2004-11-01T12:39:46Z,2004-11-11T10:37:33Z,2004-11-21T08:35:33Z,2004-12-01T06:34:28Z,2004-12-11T04:33:17Z,2004-12-17T17:47:42Z,2004-12-30T23:59:57Z,2005-01-09T22:26:47Z,2005-01-19T20:27:49Z,2005-01-29T18:32:28Z,2005-02-08T16:25:08Z,2005-02-18T14:20:55Z,2005-02-28T12:21:58Z,2005-03-10T10:20:38Z,2005-03-17T02:54:59Z,2005-03-30T06:17:28Z,2005-04-09T04:16:07Z,2005-04-19T02:15:15Z</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003193/a003193.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the sea surface height anomaly. This animation is primarily designed to be accessed from the SVS Web Map Services (WMS) server. Each frame represents the accumulation of data over about a 10-day period ending at the date and time indicated in the WMS metadata.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003193/ssha_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the sea surface height anomaly. This animation is primarily designed to be accessed from the SVS Web Map Services (WMS) server. Each frame represents the accumulation of data over about a 10-day period ending at the date and time indicated in the WMS metadata.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003193/ssha_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="360" fixedHeight="180">
+						<Name>3193_21991_bg</Name>
+						<Title>Background Image for Sea Surface Height Anomaly, 2003-2005 (WMS)</Title>
+						<Abstract>Changes in the normal height of the ocean's surface were observed by the TOPEX/Poseidon altimeter.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Surface Topography:Sea Surface Height</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>0</westBoundLongitude>
+							<eastBoundLongitude>-0.0001</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="0" miny="-90" maxx="-0.0001" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003193/a003193.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Sea Surface Temperature Anomaly, 2005</Title>
+					<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. The sea surface temperature anomaly, or difference from the mean, can show climate indicators such as the El Nino oscillation, which manifests as a warmer-than-normal sea surface temperature in the Pacific Ocean west of Ecuador and Peru.  This sequence shows a slight La Nina effect, or cooler-than-normal sea surface temperature in the eastern Pacific.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global Ocean</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/a003192.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="1024">
+						<Name>3192_21989</Name>
+						<Title>High Resolution (2048x1024 Animation)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. The sea surface temperature anomaly, or difference from the mean, can show climate indicators such as the El Nino oscillation, which manifests as a warmer-than-normal sea surface temperature in the Pacific Ocean west of Ecuador and Peru.  This sequence shows a slight La Nina effect, or cooler-than-normal sea surface temperature in the eastern Pacific.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2005-07-03">2005-01-01/2005-07-03/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/a003192.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the Sea Surface Temperature Anomaly for the first part of 2005.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/sst_anom_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the Sea Surface Temperature Anomaly for the first part of 2005.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/sst_anom_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="1024">
+						<Name>3192_21989_bg</Name>
+						<Title>Background Image for Sea Surface Temperature Anomaly, 2005 (WMS)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. The sea surface temperature anomaly, or difference from the mean, can show climate indicators such as the El Nino oscillation, which manifests as a warmer-than-normal sea surface temperature in the Pacific Ocean west of Ecuador and Peru.  This sequence shows a slight La Nina effect, or cooler-than-normal sea surface temperature in the eastern Pacific.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/a003192.fgdc"/>
+						</MetadataURL>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3192_21988</Name>
+						<Title>Medium Resolution (1024x512 Animation)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. The sea surface temperature anomaly, or difference from the mean, can show climate indicators such as the El Nino oscillation, which manifests as a warmer-than-normal sea surface temperature in the Pacific Ocean west of Ecuador and Peru.  This sequence shows a slight La Nina effect, or cooler-than-normal sea surface temperature in the eastern Pacific.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2005-07-03">2005-01-01/2005-07-03/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/a003192.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the Sea Surface Temperature Anomaly for the first part of 2005.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/sst_anom_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the Sea Surface Temperature Anomaly for the first part of 2005.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/sst_anom_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3192_21988_bg</Name>
+						<Title>Background Image for Sea Surface Temperature Anomaly, 2005 (WMS)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. The sea surface temperature anomaly, or difference from the mean, can show climate indicators such as the El Nino oscillation, which manifests as a warmer-than-normal sea surface temperature in the Pacific Ocean west of Ecuador and Peru.  This sequence shows a slight La Nina effect, or cooler-than-normal sea surface temperature in the eastern Pacific.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003192/a003192.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Sea Surface Temperature, 2005</Title>
+					<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. In this visualization sequence covering the period from January to June, 2005, the most obvious effects are the north-south movement of warm regions across the equator due to the seasonal movement of the sun and the seasonal advance and retreat of the sea ice near the North and South poles. It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">Location:Global Land</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/a003191.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="1024">
+						<Name>3191_21983</Name>
+						<Title>High Resolution (2048x1024 Animation)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. In this visualization sequence covering the period from January to June, 2005, the most obvious effects are the north-south movement of warm regions across the equator due to the seasonal movement of the sun and the seasonal advance and retreat of the sea ice near the North and South poles. It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Land</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2005-07-03">2005-01-01/2005-07-03/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/a003191.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the sea surface temperature for the first part of 2005.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/sst-temperature-bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the sea surface temperature for the first part of 2005.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/sst-temperature-bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="1024">
+						<Name>3191_21983_bg</Name>
+						<Title>Background Image for Sea Surface Temperature, 2005 (WMS)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. In this visualization sequence covering the period from January to June, 2005, the most obvious effects are the north-south movement of warm regions across the equator due to the seasonal movement of the sun and the seasonal advance and retreat of the sea ice near the North and South poles. It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Land</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/a003191.fgdc"/>
+						</MetadataURL>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3191_21982</Name>
+						<Title>Medium Resolution (1024x512 Animation)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. In this visualization sequence covering the period from January to June, 2005, the most obvious effects are the north-south movement of warm regions across the equator due to the seasonal movement of the sun and the seasonal advance and retreat of the sea ice near the North and South poles. It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Land</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2005-07-03">2005-01-01/2005-07-03/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/a003191.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the sea surface temperature for the first part of 2005.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/sst-temperature-bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the sea surface temperature for the first part of 2005.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/sst-temperature-bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>3191_21982_bg</Name>
+						<Title>Background Image for Sea Surface Temperature, 2005 (WMS)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather. In this visualization sequence covering the period from January to June, 2005, the most obvious effects are the north-south movement of warm regions across the equator due to the seasonal movement of the sun and the seasonal advance and retreat of the sea ice near the North and South poles. It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Global Land</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003191/a003191.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Minimum Sea Ice Extent</Title>
+					<Abstract>Each year, the ice covering the Arctic Ocean grows during the northern hemisphere winter and shrinks with the northern hemisphere summer.  The ice extent is usually greatest during the month of March and is the least during the month of September. This image shows the average minimum extent of sea ice over the northern hemisphere during the month of September over 24 seasons, from 1979 - 2002. The red line shows the area where the average sea ice concentration is 15%.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Extent</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Extent</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003186/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003186/a003186.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1200" fixedHeight="400">
+						<Name>3186_21918</Name>
+						<Title>Minimum Sea Ice Extent (1200x400 Image)</Title>
+						<Abstract>Each year, the ice covering the Arctic Ocean grows during the northern hemisphere winter and shrinks with the northern hemisphere summer.  The ice extent is usually greatest during the month of March and is the least during the month of September. This image shows the average minimum extent of sea ice over the northern hemisphere during the month of September over 24 seasons, from 1979 - 2002. The red line shows the area where the average sea ice concentration is 15%.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Extent</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Extent</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003186/a003186.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>These images show the minimum extent of sea ice in the northern hemisphere.  There are several images available, including a transparent overlay, a background image from NASA's Blue Marble, and a composite image.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003186/iceextent_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>These images show the minimum extent of sea ice in the northern hemisphere.  There are several images available, including a transparent overlay, a background image from NASA's Blue Marble, and a composite image.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003186/iceextent_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1200" fixedHeight="400">
+						<Name>3186_21918_bg</Name>
+						<Title>Background Image for Minimum Sea Ice Extent (WMS)</Title>
+						<Abstract>Each year, the ice covering the Arctic Ocean grows during the northern hemisphere winter and shrinks with the northern hemisphere summer.  The ice extent is usually greatest during the month of March and is the least during the month of September. This image shows the average minimum extent of sea ice over the northern hemisphere during the month of September over 24 seasons, from 1979 - 2002. The red line shows the area where the average sea ice concentration is 15%.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Extent</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Extent</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003186/a003186.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3179_21773</Name>
+					<Title>Scene Identification Compared to Clouds (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The amount of reflection and absorption is critical to the climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the scene identification as measured by CERES during 29 orbits on June 20 and 21 of 2003.  By comparing the incoming solar radiation with the outgoing reflected and thermal radiation, it is possible to identify the type of area being viewed, whether it be land, clouds, ocean, or ice.  This scene identification is used together with the radiation flux measurements to build up a complete picture of the Earth's energy budget over time.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Surface Radiative Properties:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Reflectance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003179/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003179/a003179.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows 29 orbits (2 days) of CERES measurements of regions of solar reflectivity, from June 20-21, 2003.  The measurements are superimposed over a global infrared cloud cover composite from the same period.</Abstract>
+						<LegendURL width="320" height="110">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003179/erbidbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3176_21754</Name>
+					<Title>Outgoing Longwave Flux Compared to Clouds (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights.  The amount of reflection and absorption is critical to the climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the outgoing thermal radiation measured by CERES during 29 orbits on June 20 and 21 of 2003 over global infrared cloud images.   Thermal radiation is longwave radiation and depends on the temperature of the earth, with the most intense radiation coming from the warmest regions and the least from cold clouds in the atmosphere.  Although cold clouds and the cold Antarctic night regions can be seen in this data, the Earth radiates pretty uniformly in the longwave bands because the atmosphere distributes the heat of the sun to the whole planet.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Outgoing Longwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Top Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Longwave Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003176/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003176/a003176.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows 29 orbits (2 days) of outgoing longwave radiation, form June 20-21, 2003.  The measurements are superimposed over a global infrared cloud cover composite from the same period.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003176/outlwbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3175_21743</Name>
+					<Title>Outgoing Shortwave Flux Compared to Clouds (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights.  The amount of reflection and absorption is critical to the climate.  An  instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the reflected solar radiation measured by CERES during 29 orbits on June 20 and 21 of 2003 over infrared cloud images  for the same period.  Reflected solar radiation is shortwave radiation, and the most intense reflection comes from clouds.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Shortwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Shortwave Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003175/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003175/a003175.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows 29 orbits (2 days) of CERES measurements of outgoing shortwave radiation, from June 20-21, 2003.  The measurements are superimposed over a global infrared cloud cover composite from the same period.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003175/outswbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="2040" fixedHeight="504">
+					<Name>3171_21745</Name>
+					<Title>Wind Anomalies during El Nino/La Nina Event of 1997-1998 (2040x504 Animation)</Title>
+					<Abstract>The El Nino/La Nina event in 1997-1999 was particularly intense, but was also very well observed by satellites and buoys. Deviations from normal winds speeds and directions of the were computed using data from the Special Sensor Microwave/Imager (SSMI) on the Tropical Rainfall Measuring Mission (TRMM) satellite.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Surface Winds</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Winds:Surface Winds</Keyword>
+						<Keyword vocabulary="GCMD">Location:Pacific Ocean</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>120</westBoundLongitude>
+						<eastBoundLongitude>-70</eastBoundLongitude>
+						<southBoundLatitude>-21</southBoundLatitude>
+						<northBoundLatitude>21</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="120" miny="-21" maxx="-70" maxy="21"/>
+					<Dimension name="time" units="ISO8601" default="1999-12-31">1997-01-07/1997-01-21/P7D,1997-01-31/1997-03-21/P7D,1997-03-31/1997-04-21/P7D,1997-04-30/1997-05-21/P7D,1997-05-31/1997-06-21/P7D,1997-06-30/1997-07-21/P7D,1997-07-31/1997-08-21/P7D,1997-08-31/1997-09-21/P7D,1997-09-30/1997-10-21/P7D,1997-10-31/1997-11-21/P7D,1997-11-30/1997-12-21/P7D,1997-12-31/1998-01-21/P7D,1998-01-31/1998-03-21/P7D,1998-03-31/1998-04-21/P7D,1998-04-30/1998-05-21/P7D,1998-05-31/1998-06-21/P7D,1998-06-30/1998-07-21/P7D,1998-07-31/1998-08-21/P7D,1998-08-31/1998-09-21/P7D,1998-09-30/1998-10-21/P7D,1998-10-31/1998-11-21/P7D,1998-11-30/1998-12-21/P7D,1998-12-31/1999-01-21/P7D,1999-01-31/1999-03-21/P7D,1999-03-31/1999-04-21/P7D,1999-04-30/1999-05-21/P7D,1999-05-31/1999-06-21/P7D,1999-06-30/1999-07-21/P7D,1999-07-31/1999-08-21/P7D,1999-08-31/1999-09-21/P7D,1999-09-30/1999-10-21/P7D,1999-10-31/1999-11-21/P7D,1999-11-30/1999-12-21/P7D,1999-12-31</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003171/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003171/a003171.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows El Nino and La Nina from
+1997 through 1998. Each frame is a ten-day average of wind
+anomalies--that is, of differences from normal wind velocities.
+The area shown in the animation is the Pacific ocean
+from -21 to +21 latitude and +120 to +290 East
+longitude.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003171/colorbar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>September Mean Sea Ice Concentration, 1979-2004</Title>
+					<Abstract>Sea ice is frozen seawater floating on the surface of the ocean.  Some sea ice is permanent, persisting from year to year, and some is seasonal, melting and refreezing from season to season.  Because the extent of the sea ice is important both for the Arctic marine ecology and for the role it plays in the Earth's climate, understanding the variation of this extent during the year and from year-to-year is vital.  Each year, the minimum sea ice extent in the northern hemisphere occurs at the end of summer, in September.  By comparing the extent of the sea ice in September over many successive years, long term trends in the polar climate can be assessed.  This animation shows the mean sea ice concentration in the northern hemisphere in September between 1979 and 2004.  Since 1999, this minimum has shown an ice extent that is consistently 10% to 15% smaller than the average extent over the past 20 years.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Concentration</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Sea Ice Concentration</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003167/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003167/a003167.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="600" fixedHeight="200">
+						<Name>3167_21466</Name>
+						<Title>September Mean Sea Ice Concentration, 1979-2004 (600x200 Animation)</Title>
+						<Abstract>Sea ice is frozen seawater floating on the surface of the ocean.  Some sea ice is permanent, persisting from year to year, and some is seasonal, melting and refreezing from season to season.  Because the extent of the sea ice is important both for the Arctic marine ecology and for the role it plays in the Earth's climate, understanding the variation of this extent during the year and from year-to-year is vital.  Each year, the minimum sea ice extent in the northern hemisphere occurs at the end of summer, in September.  By comparing the extent of the sea ice in September over many successive years, long term trends in the polar climate can be assessed.  This animation shows the mean sea ice concentration in the northern hemisphere in September between 1979 and 2004.  Since 1999, this minimum has shown an ice extent that is consistently 10% to 15% smaller than the average extent over the past 20 years.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Concentration</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Sea Ice Concentration</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2004-09">1979-09/2004-09/P1Y</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003167/a003167.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the mean sea ice concentration in the northern hemisphere during September between 1978 and 2004.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003167/iceC_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the mean sea ice concentration in the northern hemisphere during September between 1978 and 2004.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003167/iceC_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="600" fixedHeight="200">
+						<Name>3167_21466_bg</Name>
+						<Title>Background Image for September Mean Sea Ice Concentration, 1979-2004 (WMS)</Title>
+						<Abstract>Sea ice is frozen seawater floating on the surface of the ocean.  Some sea ice is permanent, persisting from year to year, and some is seasonal, melting and refreezing from season to season.  Because the extent of the sea ice is important both for the Arctic marine ecology and for the role it plays in the Earth's climate, understanding the variation of this extent during the year and from year-to-year is vital.  Each year, the minimum sea ice extent in the northern hemisphere occurs at the end of summer, in September.  By comparing the extent of the sea ice in September over many successive years, long term trends in the polar climate can be assessed.  This animation shows the mean sea ice concentration in the northern hemisphere in September between 1979 and 2004.  Since 1999, this minimum has shown an ice extent that is consistently 10% to 15% smaller than the average extent over the past 20 years.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Concentration</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Sea Ice Concentration</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003167/a003167.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Monthly Sea Ice Climatology, 1979-2002</Title>
+					<Abstract>Sea ice is frozen seawater floating on the surface of the ocean.  Some sea ice is permanent, persisting from year to year, and some is seasonal, melting and refreezing from season to season.  Because the extent of the sea ice is important both for the Arctic marine ecology and for the role it plays in the Earth's climate, understanding the variation of this extent during the year and from year-to-year is vital.  The first step in understanding the behavior of the sea ice is to calculate the average behavior of the sea ice over a single year.  This behavior, called the climatology, is calculated by averaging the sea ice concentration over each month of a long period, in this case from October 1978 through September 2002.  This animation shows the 23-year average sea ice concentration in the northern hemisphere for each particular month of the year.  Generally, the minimum extent of sea ice occurs in September, and the maximum occurs in March.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Concentration</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Sea Ice Concentration</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003166/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003166/a003166.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="600" fixedHeight="200">
+						<Name>3166_21461</Name>
+						<Title>Monthly Sea Ice Climatology, 1979-2002 (600x200 Animation)</Title>
+						<Abstract>Sea ice is frozen seawater floating on the surface of the ocean.  Some sea ice is permanent, persisting from year to year, and some is seasonal, melting and refreezing from season to season.  Because the extent of the sea ice is important both for the Arctic marine ecology and for the role it plays in the Earth's climate, understanding the variation of this extent during the year and from year-to-year is vital.  The first step in understanding the behavior of the sea ice is to calculate the average behavior of the sea ice over a single year.  This behavior, called the climatology, is calculated by averaging the sea ice concentration over each month of a long period, in this case from October 1978 through September 2002.  This animation shows the 23-year average sea ice concentration in the northern hemisphere for each particular month of the year.  Generally, the minimum extent of sea ice occurs in September, and the maximum occurs in March.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Concentration</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Sea Ice Concentration</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2002-12">2002-01/2002-12/P1M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003166/a003166.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the mean sea ice concentration in the northern hemisphere.  Each frame represents the mean value of a particular month from all years between 1979 and 2002.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003166/iceC_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the mean sea ice concentration in the northern hemisphere.  Each frame represents the mean value of a particular month from all years between 1979 and 2002.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003166/iceC_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="600" fixedHeight="200">
+						<Name>3166_21461_bg</Name>
+						<Title>Background Image for Monthly Sea Ice Climatology, 1979-2002 (WMS)</Title>
+						<Abstract>Sea ice is frozen seawater floating on the surface of the ocean.  Some sea ice is permanent, persisting from year to year, and some is seasonal, melting and refreezing from season to season.  Because the extent of the sea ice is important both for the Arctic marine ecology and for the role it plays in the Earth's climate, understanding the variation of this extent during the year and from year-to-year is vital.  The first step in understanding the behavior of the sea ice is to calculate the average behavior of the sea ice over a single year.  This behavior, called the climatology, is calculated by averaging the sea ice concentration over each month of a long period, in this case from October 1978 through September 2002.  This animation shows the 23-year average sea ice concentration in the northern hemisphere for each particular month of the year.  Generally, the minimum extent of sea ice occurs in September, and the maximum occurs in March.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Sea Ice Concentration</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Sea Ice Concentration</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>24.1</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="24.1" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003166/a003166.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Sea Surface Height Anomalies during El Nino/La Nina Event of 1997-1998</Title>
+					<Abstract>The El Nino/La Nina event in 1997-1999 was particularly intense, but was also very well observed by satellites and buoys. Changes in the normal height of the ocean's surface were observed by the TOPEX/Poseidon altimeter.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Surface Topography:Sea Surface Height</Keyword>
+						<Keyword vocabulary="GCMD">Location:Pacific Ocean</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003142/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003142/a003142.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1020" fixedHeight="252">
+						<Name>3142_21213</Name>
+						<Title>Sea Surface Height Anomalies during El Nino/La Nina Event of 1997-1998 (1020x252 Animation)</Title>
+						<Abstract>The El Nino/La Nina event in 1997-1999 was particularly intense, but was also very well observed by satellites and buoys. Changes in the normal height of the ocean's surface were observed by the TOPEX/Poseidon altimeter.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Surface Topography:Sea Surface Height</Keyword>
+							<Keyword vocabulary="GCMD">Location:Pacific Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>120</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>-21</southBoundLatitude>
+							<northBoundLatitude>21</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="120" miny="-21" maxx="-70" maxy="21"/>
+						<Dimension name="time" units="ISO8601" default="1999-12-27">1997-01-01/1999-12-27/P10D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003142/a003142.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows El Nino and La Nina from
+1997 through 1998. Each frame is a ten-day average of sea
+surface height (SSH) anomalies--that is, of differences from
+normal SSH values. The area shown in the animation is the
+Pacific ocean from -20.5 to +20.5 latitude and +120.5 to +289.5
+East longitude.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003142/sshanom_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows El Nino and La Nina from
+1997 through 1998. Each frame is a ten-day average of sea
+surface height (SSH) anomalies--that is, of differences from
+normal SSH values. The area shown in the animation is the
+Pacific ocean from -20.5 to +20.5 latitude and +120.5 to +289.5
+East longitude.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003142/sshanom_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1020" fixedHeight="252">
+						<Name>3142_21213_bg</Name>
+						<Title>Background Image for Sea Surface Height Anomalies during El Nino/La Nina Event of 1997-1998 (WMS)</Title>
+						<Abstract>The El Nino/La Nina event in 1997-1999 was particularly intense, but was also very well observed by satellites and buoys. Changes in the normal height of the ocean's surface were observed by the TOPEX/Poseidon altimeter.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Surface Topography:Sea Surface Height</Keyword>
+							<Keyword vocabulary="GCMD">Location:Pacific Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>120</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>-21</southBoundLatitude>
+							<northBoundLatitude>21</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="120" miny="-21" maxx="-70" maxy="21"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003142/a003142.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Sea Surface Temperature Anomalies during El Nino/La Nina Event of 1997-1998</Title>
+					<Abstract>The El Nino/La Nina event in 1997-1999 was particularly intense, but was also very well observed by satellites and buoys. A strong upwelling of unusually warm water was observed in the Pacific Ocean during the El Nino phase, followed by unusually cold water in the La Nina phase. The Advanced Very High Resolution Radiometer (AVHRR) instrument on the US National Oceanic and Atmospheric Administration's NOAA-14 spacecraft observed the changes in sea surface temperature shown here.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">Location:Pacific Ocean</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003135/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003135/a003135.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1020" fixedHeight="252">
+						<Name>3135_21167</Name>
+						<Title>Sea Surface Temperature Anomalies during El Nino/La Nina Event of 1997-1998 (1020x252 Animation)</Title>
+						<Abstract>The El Nino/La Nina event in 1997-1999 was particularly intense, but was also very well observed by satellites and buoys. A strong upwelling of unusually warm water was observed in the Pacific Ocean during the El Nino phase, followed by unusually cold water in the La Nina phase. The Advanced Very High Resolution Radiometer (AVHRR) instrument on the US National Oceanic and Atmospheric Administration's NOAA-14 spacecraft observed the changes in sea surface temperature shown here.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Pacific Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>120</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>-21</southBoundLatitude>
+							<northBoundLatitude>21</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="120" miny="-21" maxx="-70" maxy="21"/>
+						<Dimension name="time" units="ISO8601" default="1999-12-27">1997-01-01/1999-12-27/P10D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003135/a003135.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows El Nino and La Nina from
+1997 through 1998. Each frame is a ten-day average of sea
+surface temperature (SST) anomalies--that is, of differences from
+normal SST values. The area shown in the animation is the
+Pacific ocean from -20.5 to +20.5 latitude and +120.5 to +289.5
+East longitude.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003135/sstanom_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows El Nino and La Nina from
+1997 through 1998. Each frame is a ten-day average of sea
+surface temperature (SST) anomalies--that is, of differences from
+normal SST values. The area shown in the animation is the
+Pacific ocean from -20.5 to +20.5 latitude and +120.5 to +289.5
+East longitude.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003135/sstanom_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1020" fixedHeight="252">
+						<Name>3135_21167_bg</Name>
+						<Title>Background Image for Sea Surface Temperature Anomalies during El Nino/La Nina Event of 1997-1998 (WMS)</Title>
+						<Abstract>The El Nino/La Nina event in 1997-1999 was particularly intense, but was also very well observed by satellites and buoys. A strong upwelling of unusually warm water was observed in the Pacific Ocean during the El Nino phase, followed by unusually cold water in the La Nina phase. The Advanced Very High Resolution Radiometer (AVHRR) instrument on the US National Oceanic and Atmospheric Administration's NOAA-14 spacecraft observed the changes in sea surface temperature shown here.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">Location:Pacific Ocean</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>120</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>-21</southBoundLatitude>
+							<northBoundLatitude>21</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="120" miny="-21" maxx="-70" maxy="21"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003135/a003135.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3108_21485</Name>
+					<Title>Instantaneous Outgoing Shortwave Flux (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The amount of reflection and absorption is critical to the climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the reflected solar radiation measured by CERES during 29 orbits on June 20 and 21 of 2003.  Reflected solar radiation is shortwave radiation, and the most intense reflection comes from clouds, followed by ice.  Land reflects only a small amount of radiation, but ocean reflects the least, which is the reason that the sun heats the oceans so effectively.  Of course, there is no reflected solar radiation in regions of night.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Shortwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Shortwave Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003108/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003108/a003108.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows 29 orbits (2 days) of CERES
+measurements of outgoing shortwave radiation, from June 20-21, 2003.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003108/outswbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3107_21484</Name>
+					<Title>Instantaneous Outgoing Longwave Flux (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The amount of reflection and absorption is critical to the climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the outgoing thermal radiation measured by CERES during 29 orbits on June 20 and 21 of 2003.  Thermal radiation is longwave radiation and depends on the temperature of the earth, with the most intense radiation coming from the warmest regions and the least from cold clouds in the atmosphere.  Although cold clouds and the cold Antarctic night regions can be seen in this data, the Earth radiates pretty uniformly in the longwave bands because the atmosphere distributes the heat of the sun to the whole planet.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Outgoing Longwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Longwave Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003107/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003107/a003107.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows 29 orbits (2 days) of CERES
+measurements of outgoing longwave radiation, from June 20-21, 2003.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003107/outlwbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3104_20920</Name>
+					<Title>Instantaneous Scene Identification (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The amount of reflection and absorption is critical to th e climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the scene identification as measured by CERES during 29 orbits on June 20 and 21 of 2003.  By comparing the incoming solar radiation with the outgoing reflected and thermal radiation, it is possible to identify the type of area being viewed, whether it be land, clouds, ocean, or ice.  This scene identification is used together with the radiation flux measurements to build up a complete picture of the Earth's energy budget over time.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Surface Radiative Properties:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Reflectance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003104/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003104/a003104.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows 29 orbits (2 days) of CERES
+measurements of regions of solar reflectivity, from June 20-21, 2003.</Abstract>
+						<LegendURL width="320" height="110">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003104/erbidbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3097_20871</Name>
+					<Title>Average Total-sky Outgoing Shortwave Flux (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.  This animation shows the monthly average outgoing shortwave radiation from July, 2002 through June, 2004 as measured by the CERES instrument.  This is the sunlight that is directly reflected back into space by clouds, ice, desert, and other physical areas on the Earth.  Although clouds are very reflective, they come and going during the month, so more reflection is seen on average from ice sheets, which change very little during a monthly period.  Note that the cloud-free parts of the ocean are relatively dark, indicating that oceans absorb more sunlight than they reflect.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Shortwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Shortwave Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003097/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003097/a003097.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average total-sky outgoing
+shortwave flux from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003097/swflxtotbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3096_20865</Name>
+					<Title>Average Clear-sky Outgoing Shortwave Flux (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.  This animation shows the monthly average clear-sky outgoing shortwave radiation from July, 2002 through June, 2004 as measured by the CERES instrument.  This is the sunlight that is directly reflected back into space by ice, desert, and other physical areas on the Earth when the sky is cloud-free.  The ice sheets can be clearly seen to reflect the most sunlight, with desert areas next.  Oceans absorb the most sunlight, more than the vegetated land areas such as the tropical rain forest and temperate forests and plains.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Shortwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Shortwave Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003096/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003096/a003096.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average clear-sky outgoing
+shortwave flux from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003096/swflxclsbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3092_20841</Name>
+					<Title>Average Total-sky Outgoing Longwave Flux (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights.  The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.  This animation shows the monthly average outgoing longwave radiation from July, 2002 through June, 2004 as measured by the CERES instrument.  This is the thermal radiation given off by the warm Earth.  The Earth's rotation and the movement of warm air from the equator to the poles make the Earth roughly  uniform in temperature.  The most visible features are the cold poles in winter and the cold clouds along the equator which trap the outgoing thermal radiation.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Outgoing Longwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Longwave Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003092/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003092/a003092.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average total-sky outgoing
+longwave flux from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003092/lwflxtotbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3091_20835</Name>
+					<Title>Average Clear-sky Outgoing Longwave Flux (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights.  The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.   This animation shows the monthly average clear-sky outgoing longwave radiation from July, 2002 through June, 2004 as measured by the CERES instrument.  This is the thermal radiation given off by the warm Earth when the sky is cloud free.  The Earth's rotation and the movement of warm air from the equator to the poles make the Earth roughly uniformin temperature.  The most visible features are the cold poles in winter and the significant regions of snow coverage in the northern hemisphere, also in winter.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Outgoing Longwave Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Heat Budget:Longwave Radiation</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003091/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003091/a003091.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average clear-sky outgoing
+longwave flux from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003091/lwflxclsbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Sea Ice Surface Temperature with Regions of No Data Indicated</Title>
+					<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds, in cloud-covered regions or areas with suspect data quality, the prior day's value is retained until a valid data reading is obtained. The satellite instruments are also unable to collect data in the dark, so the region around the pole is shown here with a grey cap that grows and shrinks, indicating the region in polar darkness. The color of the sea ice indicates the sea ice surface temperature.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003037/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003037/a003037.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+						<Name>3037_19372</Name>
+						<Title>Sea Ice Surface Temperature with Regions of No Data Indicated (2048x512 Animation)</Title>
+						<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds, in cloud-covered regions or areas with suspect data quality, the prior day's value is retained until a valid data reading is obtained. The satellite instruments are also unable to collect data in the dark, so the region around the pole is shown here with a grey cap that grows and shrinks, indicating the region in polar darkness. The color of the sea ice indicates the sea ice surface temperature.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>40</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="40" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-07-01">2002-09-01/2003-07-01/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003037/a003037.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the temperature of the sea ice surface near the north pole in 2002-2003.  The region is covered by darkness when no measurements were taken.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003037/seaice_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the temperature of the sea ice surface near the north pole in 2002-2003.  The region is covered by darkness when no measurements were taken.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003037/seaice_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+						<Name>3037_19372_bg</Name>
+						<Title>Background Image for Sea Ice Surface Temperature with Regions of No Data Indicated (WMS)</Title>
+						<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds, in cloud-covered regions or areas with suspect data quality, the prior day's value is retained until a valid data reading is obtained. The satellite instruments are also unable to collect data in the dark, so the region around the pole is shown here with a grey cap that grows and shrinks, indicating the region in polar darkness. The color of the sea ice indicates the sea ice surface temperature.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>40</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="40" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003037/a003037.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Daily Sea Ice Surface Temperature 2002-2003</Title>
+					<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds or in the dark, in dark or cloud-covered regions or areas with suspect data quality, the prior day's value is retained until a valid data reading is obtained. The color of the sea ice indicates the sea ice surface temperature.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003036/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003036/a003036.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+						<Name>3036_19363</Name>
+						<Title>Daily Sea Ice Surface Temperature 2002-2003 (2048x512 Animation)</Title>
+						<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds or in the dark, in dark or cloud-covered regions or areas with suspect data quality, the prior day's value is retained until a valid data reading is obtained. The color of the sea ice indicates the sea ice surface temperature.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>40</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="40" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-07-01">2002-09-01/2003-07-01/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003036/a003036.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the temperature of the sea ice near the north pole in 2002-2003.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003036/seaice_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the temperature of the sea ice near the north pole in 2002-2003.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003036/seaice_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+						<Name>3036_19363_bg</Name>
+						<Title>Background Image for Daily Sea Ice Surface Temperature 2002-2003 (WMS)</Title>
+						<Abstract>This animation shows the daily sea ice surface temperature over the northern hemisphere from September 2002 through May 2003. The sea ice surface temperature was measured by the MODIS instrument on the Aqua satellite. Since this instrument cannot take measurements through clouds or in the dark, in dark or cloud-covered regions or areas with suspect data quality, the prior day's value is retained until a valid data reading is obtained. The color of the sea ice indicates the sea ice surface temperature.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Cryology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Sea Ice:Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Snow/Ice:Snow/Ice Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Sea Ice:Ice Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>40</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="40" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003036/a003036.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Global Biosphere from August, 1997 to July, 2003</Title>
+					<Abstract>By monitoring the color of reflected light via satellite, scientists can determine how successfully plant life is photosynthesizing. A measurement of photosynthesis is essentially a measurement of successful growth, and growth means successful use of ambient carbon.  This animation represents the first six years' worth of data taken by the SeaWiFS instrument, showing the abundance of life both on land and in the sea.  In the ocean, dark blue represents warmer areas where there is little life due to lack of nutrients, and greens and reds represent cooler nutrient-rich areas.  The nutrient-rich areas include coastal regions where cold water rises from the sea floor bringing nutrients along and areas at the mouths of rivers where the rivers have brought nutrients into the ocean from the land. On land, green represents areas of abundent plant life, such as forests and grasslands, while tan and white represent areas where plant life is sparse or non-existent, such as the deserts in Africa and the Middle East and snow-cover and ice at the poles.
+
+Additional Credit:
+NASA/Goddard Space Flight Center, The SeaWiFS Project and ORBIMAGE, Scientific Visualization Studio.  NOTE: All SeaWiFS images and data presented on this web site are for research and educational use only. All commercial use of SeaWiFS data must be coordinated with ORBIMAGE (http://www.orbimage.com).</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Biological oceanography</Keyword>
+						<Keyword vocabulary="SVS">Biosphere</Keyword>
+						<Keyword vocabulary="DLESE">Ecology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Microbiota Taxonomy:Phytoplankton</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Optics:Ocean Color</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002914/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002914/a002914.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://seawifs.gsfc.nasa.gov/SEAWIFS.html"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>2914_21657</Name>
+						<Title>Medium Resolution (1024x512 Animation)</Title>
+						<Abstract>By monitoring the color of reflected light via satellite, scientists can determine how successfully plant life is photosynthesizing. A measurement of photosynthesis is essentially a measurement of successful growth, and growth means successful use of ambient carbon.  This animation represents the first six years' worth of data taken by the SeaWiFS instrument, showing the abundance of life both on land and in the sea.  In the ocean, dark blue represents warmer areas where there is little life due to lack of nutrients, and greens and reds represent cooler nutrient-rich areas.  The nutrient-rich areas include coastal regions where cold water rises from the sea floor bringing nutrients along and areas at the mouths of rivers where the rivers have brought nutrients into the ocean from the land. On land, green represents areas of abundent plant life, such as forests and grasslands, while tan and white represent areas where plant life is sparse or non-existent, such as the deserts in Africa and the Middle East and snow-cover and ice at the poles.
+
+Additional Credit:
+NASA/Goddard Space Flight Center, The SeaWiFS Project and ORBIMAGE, Scientific Visualization Studio.  NOTE: All SeaWiFS images and data presented on this web site are for research and educational use only. All commercial use of SeaWiFS data must be coordinated with ORBIMAGE (http://www.orbimage.com).</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Biological oceanography</Keyword>
+							<Keyword vocabulary="SVS">Biosphere</Keyword>
+							<Keyword vocabulary="DLESE">Ecology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Microbiota Taxonomy:Phytoplankton</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Optics:Ocean Color</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-07-20">1997-08-13/1997-12-27/P8D,1998-01-01/1998-12-27/P8D,1999-01-01/1999-12-27/P8D,2000-01-01/2000-12-26/P8D,2001-01-01/2001-12-27/P8D,2002-01-01/2002-12-27/P8D,2003-01-01/2003-07-20/P8D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002914/a002914.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://seawifs.gsfc.nasa.gov/SEAWIFS.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>This animation shows the first six years worth of biosphere data taken by the SeaWiFS instrument.  On land, areas of high plant life are shown in dark green, while areas of low plant life are shown in tan.  In the ocean, areas of high phytoplankton are shown in red, and areas of lowest phytoplankton are shown in blue and purple.</Abstract>
+							<LegendURL width="320" height="180">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002914/chlor_ndvi_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="1024">
+						<Name>2914_17554</Name>
+						<Title>High Resolution (2048x1024 Animation)</Title>
+						<Abstract>By monitoring the color of reflected light via satellite, scientists can determine how successfully plant life is photosynthesizing. A measurement of photosynthesis is essentially a measurement of successful growth, and growth means successful use of ambient carbon.  This animation represents the first six years' worth of data taken by the SeaWiFS instrument, showing the abundance of life both on land and in the sea.  In the ocean, dark blue represents warmer areas where there is little life due to lack of nutrients, and greens and reds represent cooler nutrient-rich areas.  The nutrient-rich areas include coastal regions where cold water rises from the sea floor bringing nutrients along and areas at the mouths of rivers where the rivers have brought nutrients into the ocean from the land. On land, green represents areas of abundent plant life, such as forests and grasslands, while tan and white represent areas where plant life is sparse or non-existent, such as the deserts in Africa and the Middle East and snow-cover and ice at the poles.
+
+Additional Credit:
+NASA/Goddard Space Flight Center, The SeaWiFS Project and ORBIMAGE, Scientific Visualization Studio.  NOTE: All SeaWiFS images and data presented on this web site are for research and educational use only. All commercial use of SeaWiFS data must be coordinated with ORBIMAGE (http://www.orbimage.com).</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Biological oceanography</Keyword>
+							<Keyword vocabulary="SVS">Biosphere</Keyword>
+							<Keyword vocabulary="DLESE">Ecology</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Microbiota Taxonomy:Phytoplankton</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Optics:Ocean Color</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-07-20">1997-08-13/1997-12-27/P8D,1998-01-01/1998-12-27/P8D,1999-01-01/1999-12-27/P8D,2000-01-01/2000-12-26/P8D,2001-01-01/2001-12-27/P8D,2002-01-01/2002-12-27/P8D,2003-01-01/2003-07-20/P8D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002914/a002914.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://seawifs.gsfc.nasa.gov/SEAWIFS.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>This animation shows the first six years worth of biosphere data taken by the SeaWiFS instrument.  On land, areas of high plant life are shown in dark green, while areas of low plant life are shown in tan.  In the ocean, areas of high phytoplankton are shown in red, and areas of lowest phytoplankton are shown in blue and purple.</Abstract>
+							<LegendURL width="320" height="180">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002914/chlor_ndvi_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="640" fixedHeight="480">
+					<Name>2913_17544</Name>
+					<Title>Life Returns to the Galapagos after El Nino (640x480 Animation)</Title>
+					<Abstract>During the El Nino in 1997 and 1998, the surface water in the eastern equatorial Pacific off the coast of South America was warmer than normal.  This warm water trapped the ocean nutrients that normally come to the surface in the upwelling cold water, leading to a drastic decrease in phytonplankton and other ocean life in the region.  The unique Galapagos ecosystem was severely affected and many species, including sea lions, seabirds, and baracudas, suffered a very high mortality level.  During the second week of May, 1998, the ocean temperatures plummeted 10 degrees in one day, and the ocean productivity exploded with large phytoplankton blooms.  After this time, many species recovered very rapidly and the land species started to reproduce immediately.  The SeaWiFS instrument, which monitors global phytoplankton in the oceans by measuring  the color of reflected light, caught this dramatic recovery.  This visualization shws images from SeaWiFS starting on May 10, 1998 and ending on May 31, 1998, where ocean colors of blue or purple represents little or no ocean life and colors or yellow and red indicate significant ocean productivity.  White and gray denote areas occluded by clouds in these images, and a relief image of the Galapagos Islands has been superimposed on the images to clarify the location of the islands.
+
+Additional Credit:
+NASA/Goddard Space Flight Center, The SeaWiFS Project and ORBIMAGE, Scientific Visualization Studio.  NOTE: All SeaWiFS images and data presented on this web site are for research and educational use only. All commercial use of SeaWiFS data must be coordinated with ORBIMAGE (http://www.orbimage.com).</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Biological oceanography</Keyword>
+						<Keyword vocabulary="SVS">Biosphere</Keyword>
+						<Keyword vocabulary="DLESE">Ecology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Microbiota Taxonomy:Phytoplankton</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Climate Indicators:Teleconnections:El Nino Southern Oscillation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Optics:Ocean Color</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-95.2981</westBoundLongitude>
+						<eastBoundLongitude>-89.9881</eastBoundLongitude>
+						<southBoundLatitude>-2.79423</southBoundLatitude>
+						<northBoundLatitude>1.18827</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-95.2981" miny="-2.79423" maxx="-89.9881" maxy="1.18827"/>
+					<Dimension name="time" units="ISO8601" default="1998-05-31">1998-05-10,1998-05-18,1998-05-22,1998-05-24,1998-05-29,1998-05-31</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002913/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002913/a002913.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://seawifs.gsfc.nasa.gov/SEAWIFS.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>SeaWiFS recorded the recovery of ocean life around the Galapagos Islands during May, 1998.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002913/chlor_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Hurricane Regions Indicated by Sea Surface Temperature from June 2002 to September 2003</Title>
+					<Abstract>The temperature of the world's ocean surface provides a clear indication of the regions where hurricanes and typhoons form, since they can only form when the sea surface temperature exceeds 82 degrees F (27.8 degrees C).  The AMSR-E instrument on the Aqua satellite measures the temperature of the top 1 millimeter of the ocean every day, even through the clouds.  In this visualization of AMSR-E data covering the period from June, 2002, to September, 2003, areas with surface temperatures greater than 82 degrees F are shown in yellow and orange, while sea surface temperatures below 82 degrees F are shown in blue.  The region in the Atlantic from the Caribbean to the equator only exceeds the critical temperature during late summer and early fall in the Northern Hemisphere, the period known as Hurricane Season.  It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.  Around January 1, 2003, a cooler than normal region of the ocean appears just to the west of Peru as part of an La Nina and flows westward, driven by the trade winds.  The waves that appear on the edges of this cooler area are called tropical instability waves and can also be seen in the equatorial Atlantic Ocean about the same time.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="SVS">Sea Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002907/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002907/a002907.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.ghcc.msfc.nasa.gov/AMSR/"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1440" fixedHeight="720">
+						<Name>2907_17506</Name>
+						<Title>Hurricane Regions Indicated by Sea Surface Temperature from June 2002 to September 2003 (1440x720 Animation)</Title>
+						<Abstract>The temperature of the world's ocean surface provides a clear indication of the regions where hurricanes and typhoons form, since they can only form when the sea surface temperature exceeds 82 degrees F (27.8 degrees C).  The AMSR-E instrument on the Aqua satellite measures the temperature of the top 1 millimeter of the ocean every day, even through the clouds.  In this visualization of AMSR-E data covering the period from June, 2002, to September, 2003, areas with surface temperatures greater than 82 degrees F are shown in yellow and orange, while sea surface temperatures below 82 degrees F are shown in blue.  The region in the Atlantic from the Caribbean to the equator only exceeds the critical temperature during late summer and early fall in the Northern Hemisphere, the period known as Hurricane Season.  It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.  Around January 1, 2003, a cooler than normal region of the ocean appears just to the west of Peru as part of an La Nina and flows westward, driven by the trade winds.  The waves that appear on the edges of this cooler area are called tropical instability waves and can also be seen in the equatorial Atlantic Ocean about the same time.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+							<Keyword vocabulary="SVS">Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-09-07">2002-06-02/2003-09-07/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002907/a002907.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.ghcc.msfc.nasa.gov/AMSR/"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows how the sea surface temperature can cause hurricanes to form.  Areas shown in orange and yellow are above 82 degrees F (27.8 degrees C) which is required for hurricanes to be able to form.  Sea surface temperatures below 82 degrees F are shown in blue.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002907/sst-hurricane-bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows how the sea surface temperature can cause hurricanes to form.  Areas shown in orange and yellow are above 82 degrees F (27.8 degrees C) which is required for hurricanes to be able to form.  Sea surface temperatures below 82 degrees F are shown in blue.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002907/sst-hurricane-bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1440" fixedHeight="720">
+						<Name>2907_17506_bg</Name>
+						<Title>Background Image for Hurricane Regions Indicated by Sea Surface Temperature from June 2002 to September 2003 (WMS)</Title>
+						<Abstract>The temperature of the world's ocean surface provides a clear indication of the regions where hurricanes and typhoons form, since they can only form when the sea surface temperature exceeds 82 degrees F (27.8 degrees C).  The AMSR-E instrument on the Aqua satellite measures the temperature of the top 1 millimeter of the ocean every day, even through the clouds.  In this visualization of AMSR-E data covering the period from June, 2002, to September, 2003, areas with surface temperatures greater than 82 degrees F are shown in yellow and orange, while sea surface temperatures below 82 degrees F are shown in blue.  The region in the Atlantic from the Caribbean to the equator only exceeds the critical temperature during late summer and early fall in the Northern Hemisphere, the period known as Hurricane Season.  It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.  Around January 1, 2003, a cooler than normal region of the ocean appears just to the west of Peru as part of an La Nina and flows westward, driven by the trade winds.  The waves that appear on the edges of this cooler area are called tropical instability waves and can also be seen in the equatorial Atlantic Ocean about the same time.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+							<Keyword vocabulary="SVS">Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002907/a002907.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.ghcc.msfc.nasa.gov/AMSR/"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Global Sea Surface Temperature Anomalies from June, 2002 to September, 2003</Title>
+					<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather.  The AMSR-E instrument on the Aqua satellite measures the temperature of the top 1 millimeter of the ocean every day, even through the clouds.  If the average sea surface temperature for a particular date is subtracted from the measured temperature for that date, the resulting sea surface temperature anomaly can be used to accurately assess the current state of the oceans.  The anomaly can serve as an early warning system for weather phenomena and can be used to indicate forthcoming problems with fish populations and coral reef health.  In this visualization of the anomaly covering the period from June, 2002, to September, 2003, the most obvious effects are a successive warming and cooling along the equator to the west of Peru, the signature of an El Nino/La Nina cycle.  Around January 1, 2003, a cooler than normal region of the ocean appears in this region as part of a La Nina and flows westward, driven by the trade winds.  The waves that appear on the edges of this cooler area are called tropical instability waves.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="SVS">Sea Surface Temperature Anomaly</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002906/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002906/a002906.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.ghcc.msfc.nasa.gov/AMSR/"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1440" fixedHeight="720">
+						<Name>2906_17499</Name>
+						<Title>Global Sea Surface Temperature Anomalies from June, 2002 to September, 2003 (1440x720 Animation)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather.  The AMSR-E instrument on the Aqua satellite measures the temperature of the top 1 millimeter of the ocean every day, even through the clouds.  If the average sea surface temperature for a particular date is subtracted from the measured temperature for that date, the resulting sea surface temperature anomaly can be used to accurately assess the current state of the oceans.  The anomaly can serve as an early warning system for weather phenomena and can be used to indicate forthcoming problems with fish populations and coral reef health.  In this visualization of the anomaly covering the period from June, 2002, to September, 2003, the most obvious effects are a successive warming and cooling along the equator to the west of Peru, the signature of an El Nino/La Nina cycle.  Around January 1, 2003, a cooler than normal region of the ocean appears in this region as part of a La Nina and flows westward, driven by the trade winds.  The waves that appear on the edges of this cooler area are called tropical instability waves.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+							<Keyword vocabulary="SVS">Sea Surface Temperature Anomaly</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-09-07">2002-06-02/2003-09-07/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002906/a002906.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.ghcc.msfc.nasa.gov/AMSR/"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>The oceans in this animation have been falsely colored.  Temperatures warmer than normal are shown in red while cooler than normal temperatures are shown in blue.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002906/sst_anom_bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>The oceans in this animation have been falsely colored.  Temperatures warmer than normal are shown in red while cooler than normal temperatures are shown in blue.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002906/sst_anom_bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1440" fixedHeight="720">
+						<Name>2906_17499_bg</Name>
+						<Title>Background Image for Global Sea Surface Temperature Anomalies from June, 2002 to September, 2003 (WMS)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather.  The AMSR-E instrument on the Aqua satellite measures the temperature of the top 1 millimeter of the ocean every day, even through the clouds.  If the average sea surface temperature for a particular date is subtracted from the measured temperature for that date, the resulting sea surface temperature anomaly can be used to accurately assess the current state of the oceans.  The anomaly can serve as an early warning system for weather phenomena and can be used to indicate forthcoming problems with fish populations and coral reef health.  In this visualization of the anomaly covering the period from June, 2002, to September, 2003, the most obvious effects are a successive warming and cooling along the equator to the west of Peru, the signature of an El Nino/La Nina cycle.  Around January 1, 2003, a cooler than normal region of the ocean appears in this region as part of a La Nina and flows westward, driven by the trade winds.  The waves that appear on the edges of this cooler area are called tropical instability waves.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+							<Keyword vocabulary="SVS">Sea Surface Temperature Anomaly</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002906/a002906.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.ghcc.msfc.nasa.gov/AMSR/"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Global Sea Surface Temperature from June, 2002 to September, 2003</Title>
+					<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather.  The AMSR-E instrument on the Aqua satellite measures the temperature of the top 1 millimeter of the ocean every day, even through the clouds.  In this visualization sequence covering the period from June, 2002, to September, 2003, the most obvious effects are the north-south movement of warm regions across the equator due to the seasonal movement of the sun and the seasonal advance and retreat of the sea ice near the North and South poles.  It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.  Around January 1, 2003, a cooler than normal region of the ocean appears just to the west of Peru as part of a La Nina and flows westward, driven by the trade winds.  The waves that appear on the edges of this cooler area are called tropical instability waves and can also be seen in the equatorial Atlantic Ocean about the same time.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="SVS">Sea Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002905/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002905/a002905.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.ghcc.msfc.nasa.gov/AMSR/"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1440" fixedHeight="720">
+						<Name>2905_17492</Name>
+						<Title>Global Sea Surface Temperature from June, 2002 to September, 2003 (1440x720 Animation)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather.  The AMSR-E instrument on the Aqua satellite measures the temperature of the top 1 millimeter of the ocean every day, even through the clouds.  In this visualization sequence covering the period from June, 2002, to September, 2003, the most obvious effects are the north-south movement of warm regions across the equator due to the seasonal movement of the sun and the seasonal advance and retreat of the sea ice near the North and South poles.  It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.  Around January 1, 2003, a cooler than normal region of the ocean appears just to the west of Peru as part of a La Nina and flows westward, driven by the trade winds.  The waves that appear on the edges of this cooler area are called tropical instability waves and can also be seen in the equatorial Atlantic Ocean about the same time.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+							<Keyword vocabulary="SVS">Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2003-09-07">2002-06-02/2003-09-07/P1D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002905/a002905.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.ghcc.msfc.nasa.gov/AMSR/"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>The oceans of the world are falsely colored in this animation.  The warmest temperatures are shown in bright yellow and the coldest temperatures are shown in dark green and black.  Grey represents areas that have no data values such as coastal regions or land.  White represents surface ice.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002905/sst-temperature-bar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>The oceans of the world are falsely colored in this animation.  The warmest temperatures are shown in bright yellow and the coldest temperatures are shown in dark green and black.  Grey represents areas that have no data values such as coastal regions or land.  White represents surface ice.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002905/sst-temperature-bar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1440" fixedHeight="720">
+						<Name>2905_17492_bg</Name>
+						<Title>Background Image for Global Sea Surface Temperature from June, 2002 to September, 2003 (WMS)</Title>
+						<Abstract>The temperature of the surface of the world's oceans provides a clear indication of the state of the Earth's climate and weather.  The AMSR-E instrument on the Aqua satellite measures the temperature of the top 1 millimeter of the ocean every day, even through the clouds.  In this visualization sequence covering the period from June, 2002, to September, 2003, the most obvious effects are the north-south movement of warm regions across the equator due to the seasonal movement of the sun and the seasonal advance and retreat of the sea ice near the North and South poles.  It is also possible to see the Gulf Stream, the warm river of water that parallels the east coast of the United States before heading towards northern Europe, in this data.  Around January 1, 2003, a cooler than normal region of the ocean appears just to the west of Peru as part of a La Nina and flows westward, driven by the trade winds.  The waves that appear on the edges of this cooler area are called tropical instability waves and can also be seen in the equatorial Atlantic Ocean about the same time.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+							<Keyword vocabulary="SVS">Sea Surface Temperature</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002905/a002905.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.ghcc.msfc.nasa.gov/AMSR/"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>2897_17442</Name>
+					<Title>Cold Water Trails from Hurricanes Fabian and Isabel (1024x1024 Animation)</Title>
+					<Abstract>This visualization shows the cold water trails left first by Hurricanes Fabian and then by Hurricane Isabel in the Atlantic Ocean from August 27, 2003 through September 23, 2003.  The colors on the ocean represent the sea surface temperatures, and satellite images of the hurricane clouds are laid over the temperatures to clearly show the hurricane positions.  Orange and red depict regions that are 82 degrees F and higher, where the ocean is warm enough for hurricanes to form.  Hurricane winds are sustained by the heat energy of the ocean, so the ocean is cooled as the hurricane passes and the energy is extracted to power the winds.  A hurricane can experience a dramatic reduction in wind speed when it crosses the cold track of a previous hurricane.  However, in this case, the cold water track from Fabian warmed up before Isabel crossed it, so Isabel's winds did not decrease.  The sea surface temperatures were measured by the AMSR-E instrument on the Aqua satellite, while the cloud images were taken by the Imager on the GOES-12 satellite.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-110</westBoundLongitude>
+						<eastBoundLongitude>-10</eastBoundLongitude>
+						<southBoundLatitude>-25</southBoundLatitude>
+						<northBoundLatitude>75</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-110" miny="-25" maxx="-10" maxy="75"/>
+					<Dimension name="time" units="ISO8601" default="2003-09-21T20:45Z">2003-08-27T02:45Z/2003-09-17T08:45Z/PT6H,2003-09-17T20:45Z/2003-09-18T14:45Z/PT6H,2003-09-19T08:45Z/2003-09-21T20:45Z/PT6H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002897/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002897/a002897.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.ssmi.com/amsr/amsr_data_description.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Hurricanes Fabian and Isabel leave cold water trails in their wake.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002897/sst-hurricane-bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Wind Vectors for Hurricane Erin</Title>
+					<Abstract>This visualization shows wind vectors for Hurricane Erin on September 10, 2001.  Wind direction and speed are represented by the direction and speed of moving arrows, respectively.  This animation represents a single measurement taken by the SeaWinds instrument on the QuikSCAT satellite, taken at 14:27:00 UTC on September 10, 2001.  The WMS version of this animation which is available through the SVS Image Server (http://aes.gsfc.nasa.gov) presents this animation with a different timestamp for each frame in order to more easily present the images as an animation.  It should be noted that each frame really has a time stamp of 2001-09-10 14:27:00 UTC.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Hurricane</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="SVS">Winds</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Surface Winds</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Winds:Surface Winds</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002896/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002896/a002896.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2896_17437</Name>
+						<Title>Wind Vectors for Hurricane Erin (1024x1024 Animation)</Title>
+						<Abstract>This visualization shows wind vectors for Hurricane Erin on September 10, 2001.  Wind direction and speed are represented by the direction and speed of moving arrows, respectively.  This animation represents a single measurement taken by the SeaWinds instrument on the QuikSCAT satellite, taken at 14:27:00 UTC on September 10, 2001.  The WMS version of this animation which is available through the SVS Image Server (http://aes.gsfc.nasa.gov) presents this animation with a different timestamp for each frame in order to more easily present the images as an animation.  It should be noted that each frame really has a time stamp of 2001-09-10 14:27:00 UTC.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="SVS">Winds</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Surface Winds</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Winds:Surface Winds</Keyword>
+							<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-90</westBoundLongitude>
+							<eastBoundLongitude>-40</eastBoundLongitude>
+							<southBoundLatitude>10</southBoundLatitude>
+							<northBoundLatitude>60</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-90" miny="10" maxx="-40" maxy="60"/>
+						<Dimension name="time" units="ISO8601" default="2001-09-10T14:31:59Z">2001-09-10T14:27:00Z/2001-09-10T14:31:59Z/PT1S</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002896/a002896.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Hurricane Erin was positioned off the coast of the United States on September 10, 2001.  This animation shows the strength and direction of wind by animating small arrows.  Faster-moving arrows represent stronger winds.  This version provides only the transparent overlay.</Abstract>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Hurricane Erin was positioned off the coast of the United States on September 10, 2001.  This animation shows the strength and direction of wind by animating small arrows.  Faster-moving arrows represent stronger winds.  This version provides the transparent overlay composited with a background image.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+						<Name>2896_17437_bg</Name>
+						<Title>Background Image for Wind Vectors for Hurricane Erin (WMS)</Title>
+						<Abstract>This visualization shows wind vectors for Hurricane Erin on September 10, 2001.  Wind direction and speed are represented by the direction and speed of moving arrows, respectively.  This animation represents a single measurement taken by the SeaWinds instrument on the QuikSCAT satellite, taken at 14:27:00 UTC on September 10, 2001.  The WMS version of this animation which is available through the SVS Image Server (http://aes.gsfc.nasa.gov) presents this animation with a different timestamp for each frame in order to more easily present the images as an animation.  It should be noted that each frame really has a time stamp of 2001-09-10 14:27:00 UTC.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Hurricane</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="SVS">Winds</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Winds:Surface Winds</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Winds:Surface Winds</Keyword>
+							<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-90</westBoundLongitude>
+							<eastBoundLongitude>-40</eastBoundLongitude>
+							<southBoundLatitude>10</southBoundLatitude>
+							<northBoundLatitude>60</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-90" miny="10" maxx="-40" maxy="60"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002896/a002896.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+			</Layer>
+			<Layer>
+				<Title>Solid Earth</Title>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+					<Name>3169_21478</Name>
+					<Title>Sulfur Dioxide from the Mount Pinatubo Volcanic Eruption, 1991 (1024x256 Animation)</Title>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Aerosols:Sulfate Particles</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Air Quality:Sulfur Oxides</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Sulfur Compounds:Sulfur Dioxide</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Chemistry/Sulfur Compounds:Sulfur Oxides</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Geological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Volcanoes:Volcanic Gases</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-65</westBoundLongitude>
+						<eastBoundLongitude>125</eastBoundLongitude>
+						<southBoundLatitude>-18.75</southBoundLatitude>
+						<northBoundLatitude>28.75</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-65" miny="-18.75" maxx="125" maxy="28.75"/>
+					<Dimension name="time" units="ISO8601" default="1991-06-29">1991-06-16/1991-06-29/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003169/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003169/a003169.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows levels of sulfur dioxide in the atmosphere after the volcanic eruption of Mt. Pinatubo in the Philippines.</Abstract>
+						<LegendURL width="320" height="100">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003169/so2bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3116_21024</Name>
+					<Title>Mount St. Helens Before, During, and After (1024x1024 Animation)</Title>
+					<Abstract>Mount St. Helens erupted on May 18, 1980, devastating more than 150 square miles of forest in southwestern Washington state.  This animation shows Landsat images of the Mount St. Helens area in 1973, 1983, and 2000, illustrating the destruction and regrowth of the forest.  The 1983 image clearly shows the new crater on the northern slope where the eruption occurred, the rivers and lakes covered with ash, and the regions of deforestation.  The 2000 image, taken twenty years after the eruption, still shows the changed crater, but much of the devastated area is covered by new vegetation growth.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Forestry</Keyword>
+						<Keyword vocabulary="DLESE">Geology</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Biosphere:Terrestrial Ecosystems:Forests</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Habitat Conversion/Fragmentation:Deforestation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Volcanoes:Volcanic Ash/Dust</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-122.36011</westBoundLongitude>
+						<eastBoundLongitude>-121.97916</eastBoundLongitude>
+						<southBoundLatitude>46.122115</southBoundLatitude>
+						<northBoundLatitude>46.384547</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-122.36011" miny="46.122115" maxx="-121.97916" maxy="46.384547"/>
+					<Dimension name="time" units="ISO8601" default="2000-09-25">1973-09-15,1983-05-22,2000-09-25</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003116/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003116/a003116.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/earthday2001/index.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Landsat imagery of Mount St. Helens before, during, and after the devastation from the eruption in 1980.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Tectonic Plates and Plate Boundaries</Title>
+					<Abstract>The Earth's crust is constantly in motion.  Sections of the crust, called plates, push against each other due to forces from the molten interior of the Earth.  The areas where these plates collide often have increased volcanic and earthquake activity.  These images show the locations of the plates and their boundaries in the Earth's crust.  Convergent boundaries are areas where two plates are pushing against each other and one plate may be subducting under another.  Divergent boundaries have two plates pulling away from each other and indicate regions where new land could be created.  Transform boundaries are places where two plates are sliding against each other in opposite directions, and diffuse boundaries are places where two plates have the same relative motion.  Numerous small microplates have been omitted from the plate image.  These images have been derived from images made available by the United States Geological Survey's Earthquake Hazards Program.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Geology</Keyword>
+						<Keyword vocabulary="SVS">Plate Tectonics</Keyword>
+						<Keyword vocabulary="SVS">Plate boundaries</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Tectonics:Plate Boundaries</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002953/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002953/a002953.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://neic.usgs.gov/neis/plate_tectonics/plates.html"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>2953_18147</Name>
+						<Title>Tectonic Plate Boundaries (1024x512 Image)</Title>
+						<Abstract>The Earth's crust is constantly in motion.  Sections of the crust, called plates, push against each other due to forces from the molten interior of the Earth.  The areas where these plates collide often have increased volcanic and earthquake activity.  These images show the locations of the plates and their boundaries in the Earth's crust.  Convergent boundaries are areas where two plates are pushing against each other and one plate may be subducting under another.  Divergent boundaries have two plates pulling away from each other and indicate regions where new land could be created.  Transform boundaries are places where two plates are sliding against each other in opposite directions, and diffuse boundaries are places where two plates have the same relative motion.  Numerous small microplates have been omitted from the plate image.  These images have been derived from images made available by the United States Geological Survey's Earthquake Hazards Program.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Geology</Keyword>
+							<Keyword vocabulary="SVS">Plate Tectonics</Keyword>
+							<Keyword vocabulary="SVS">Plate boundaries</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Tectonics:Plate Boundaries</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002953/a002953.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://neic.usgs.gov/neis/plate_tectonics/plates.html"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This image shows the plate boundaries in the Earth's crust.  It is meant to be overlaid on a background image of the world, such as the image below.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="60">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002953/legend.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This image shows the plate boundaries in the Earth's crust.  It is meant to be overlaid on a background image of the world, such as the image below.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="60">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002953/legend.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>2953_18147_bg</Name>
+						<Title>Background Image for Tectonic Plates and Plate Boundaries (WMS)</Title>
+						<Abstract>The Earth's crust is constantly in motion.  Sections of the crust, called plates, push against each other due to forces from the molten interior of the Earth.  The areas where these plates collide often have increased volcanic and earthquake activity.  These images show the locations of the plates and their boundaries in the Earth's crust.  Convergent boundaries are areas where two plates are pushing against each other and one plate may be subducting under another.  Divergent boundaries have two plates pulling away from each other and indicate regions where new land could be created.  Transform boundaries are places where two plates are sliding against each other in opposite directions, and diffuse boundaries are places where two plates have the same relative motion.  Numerous small microplates have been omitted from the plate image.  These images have been derived from images made available by the United States Geological Survey's Earthquake Hazards Program.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Geology</Keyword>
+							<Keyword vocabulary="SVS">Plate Tectonics</Keyword>
+							<Keyword vocabulary="SVS">Plate boundaries</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Tectonics:Plate Boundaries</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002953/a002953.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://neic.usgs.gov/neis/plate_tectonics/plates.html"/>
+						</DataURL>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>2953_18155</Name>
+						<Title>Tectonic Plates (1024x512 Image)</Title>
+						<Abstract>The Earth's crust is constantly in motion.  Sections of the crust, called plates, push against each other due to forces from the molten interior of the Earth.  The areas where these plates collide often have increased volcanic and earthquake activity.  These images show the locations of the plates and their boundaries in the Earth's crust.  Convergent boundaries are areas where two plates are pushing against each other and one plate may be subducting under another.  Divergent boundaries have two plates pulling away from each other and indicate regions where new land could be created.  Transform boundaries are places where two plates are sliding against each other in opposite directions, and diffuse boundaries are places where two plates have the same relative motion.  Numerous small microplates have been omitted from the plate image.  These images have been derived from images made available by the United States Geological Survey's Earthquake Hazards Program.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Geology</Keyword>
+							<Keyword vocabulary="SVS">Plate Tectonics</Keyword>
+							<Keyword vocabulary="SVS">Plate boundaries</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Tectonics:Plate Boundaries</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002953/a002953.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://neic.usgs.gov/neis/plate_tectonics/plates.html"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>An image of the Earth's major tectonic plates.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="120">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002953/platelegend.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>An image of the Earth's major tectonic plates.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="120">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002953/platelegend.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>2953_18155_bg</Name>
+						<Title>Background Image for Tectonic Plates and Plate Boundaries (WMS)</Title>
+						<Abstract>The Earth's crust is constantly in motion.  Sections of the crust, called plates, push against each other due to forces from the molten interior of the Earth.  The areas where these plates collide often have increased volcanic and earthquake activity.  These images show the locations of the plates and their boundaries in the Earth's crust.  Convergent boundaries are areas where two plates are pushing against each other and one plate may be subducting under another.  Divergent boundaries have two plates pulling away from each other and indicate regions where new land could be created.  Transform boundaries are places where two plates are sliding against each other in opposite directions, and diffuse boundaries are places where two plates have the same relative motion.  Numerous small microplates have been omitted from the plate image.  These images have been derived from images made available by the United States Geological Survey's Earthquake Hazards Program.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Geology</Keyword>
+							<Keyword vocabulary="SVS">Plate Tectonics</Keyword>
+							<Keyword vocabulary="SVS">Plate boundaries</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Tectonics:Plate Boundaries</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002953/a002953.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://neic.usgs.gov/neis/plate_tectonics/plates.html"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Volcano Activity from 1960 through 1995</Title>
+					<Abstract>This animation represents cumulative global volcanic activity over a 36-year span, from 1960 through 1995.  Volcanoes occur near but not on tectonic plate boundaries.  If a plate boundary is a convergent boundary, where one plate is subducting under another, then volcanoes occur on the top plate, over the area where rock from the subducting plate has melted, is rising, and has broken through to the surface.  The Mt. St. Helens eruption is visible in this animation starting in March, 1980.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Geology</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="SVS">Volcano</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Volcanoes</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002908/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002908/a002908.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="360" fixedHeight="180">
+						<Name>2908_21809</Name>
+						<Title>Low Resolution (360x180 Animation)</Title>
+						<Abstract>This animation represents cumulative global volcanic activity over a 36-year span, from 1960 through 1995.  Volcanoes occur near but not on tectonic plate boundaries.  If a plate boundary is a convergent boundary, where one plate is subducting under another, then volcanoes occur on the top plate, over the area where rock from the subducting plate has melted, is rising, and has broken through to the surface.  The Mt. St. Helens eruption is visible in this animation starting in March, 1980.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Geology</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="SVS">Volcano</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Volcanoes</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="1995-12">1960-01/1995-12/P1M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002908/a002908.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows cumulative global volcano activity from 1960 through 1995.  The color of each dot indicates the strength of the activity of the volcano.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002908/volcanobar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows cumulative global volcano activity from 1960 through 1995.  The color of each dot indicates the strength of the activity of the volcano.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002908/volcanobar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="360" fixedHeight="180">
+						<Name>2908_21809_bg</Name>
+						<Title>Background Image for Volcano Activity from 1960 through 1995 (WMS)</Title>
+						<Abstract>This animation represents cumulative global volcanic activity over a 36-year span, from 1960 through 1995.  Volcanoes occur near but not on tectonic plate boundaries.  If a plate boundary is a convergent boundary, where one plate is subducting under another, then volcanoes occur on the top plate, over the area where rock from the subducting plate has melted, is rising, and has broken through to the surface.  The Mt. St. Helens eruption is visible in this animation starting in March, 1980.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Geology</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="SVS">Volcano</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Volcanoes</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002908/a002908.fgdc"/>
+						</MetadataURL>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="720" fixedHeight="360">
+						<Name>2908_21808</Name>
+						<Title>Medium Resolution (720x360 Animation)</Title>
+						<Abstract>This animation represents cumulative global volcanic activity over a 36-year span, from 1960 through 1995.  Volcanoes occur near but not on tectonic plate boundaries.  If a plate boundary is a convergent boundary, where one plate is subducting under another, then volcanoes occur on the top plate, over the area where rock from the subducting plate has melted, is rising, and has broken through to the surface.  The Mt. St. Helens eruption is visible in this animation starting in March, 1980.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Geology</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="SVS">Volcano</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Volcanoes</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="1995-12">1960-01/1995-12/P1M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002908/a002908.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows cumulative global volcano activity from 1960 through 1995.  The color of each dot indicates the strength of the activity of the volcano.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002908/volcanobar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows cumulative global volcano activity from 1960 through 1995.  The color of each dot indicates the strength of the activity of the volcano.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002908/volcanobar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="720" fixedHeight="360">
+						<Name>2908_21808_bg</Name>
+						<Title>Background Image for Volcano Activity from 1960 through 1995 (WMS)</Title>
+						<Abstract>This animation represents cumulative global volcanic activity over a 36-year span, from 1960 through 1995.  Volcanoes occur near but not on tectonic plate boundaries.  If a plate boundary is a convergent boundary, where one plate is subducting under another, then volcanoes occur on the top plate, over the area where rock from the subducting plate has melted, is rising, and has broken through to the surface.  The Mt. St. Helens eruption is visible in this animation starting in March, 1980.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Geology</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="SVS">Volcano</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Volcanoes</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002908/a002908.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Cumulative Earthquake Activity from 1980 through 1995</Title>
+					<Abstract>This animation shows a cumulative view of earthquake activity for the whole world from 1980 through 1995.  Each dot on the image represents the number of earthquakes with magnitude greater than 4.2 that have occurred in a 0.35 by 0.35 degree area of the globe since January 1, 1980.  A yellow dot represents 1 or 2 earthquakes, an orange dot represents about 10 earthquakes, and a red dot represents 50 to 200 earthquakes.  The background image, if present, shows the topography of the ocean floor.  As the animation proceeds, the earthquakes clearly accumulate around the topographic features that represent the boundaries of the Earth's crustal plates.  This animation is based on data from world-wide seismic networks and was obtained from the National Earthquake Center of the United States Geological Survey.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="SVS">Earthquake</Keyword>
+						<Keyword vocabulary="DLESE">Geology</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Geological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Seismology:Earthquake Occurrences</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002893/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002893/a002893.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://neic.usgs.gov"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>2893_17420</Name>
+						<Title>Cumulative Earthquake Activity from 1980 through 1995 (1024x512 Animation)</Title>
+						<Abstract>This animation shows a cumulative view of earthquake activity for the whole world from 1980 through 1995.  Each dot on the image represents the number of earthquakes with magnitude greater than 4.2 that have occurred in a 0.35 by 0.35 degree area of the globe since January 1, 1980.  A yellow dot represents 1 or 2 earthquakes, an orange dot represents about 10 earthquakes, and a red dot represents 50 to 200 earthquakes.  The background image, if present, shows the topography of the ocean floor.  As the animation proceeds, the earthquakes clearly accumulate around the topographic features that represent the boundaries of the Earth's crustal plates.  This animation is based on data from world-wide seismic networks and was obtained from the National Earthquake Center of the United States Geological Survey.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Earthquake</Keyword>
+							<Keyword vocabulary="DLESE">Geology</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Geological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Seismology:Earthquake Occurrences</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="1995-12-31">1980-01-12/1995-12-31/P12D</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002893/a002893.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://neic.usgs.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animations shows earthquake activity over a 16-year period.    This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002893/quakebar.png"/>
+							</LegendURL>
+							<LegendURL width="320" height="60">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002893/legend.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animations shows earthquake activity over a 16-year period.    This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002893/quakebar.png"/>
+							</LegendURL>
+							<LegendURL width="320" height="60">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002893/legend.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>2893_17420_bg</Name>
+						<Title>Background Image for Cumulative Earthquake Activity from 1980 through 1995 (WMS)</Title>
+						<Abstract>This animation shows a cumulative view of earthquake activity for the whole world from 1980 through 1995.  Each dot on the image represents the number of earthquakes with magnitude greater than 4.2 that have occurred in a 0.35 by 0.35 degree area of the globe since January 1, 1980.  A yellow dot represents 1 or 2 earthquakes, an orange dot represents about 10 earthquakes, and a red dot represents 50 to 200 earthquakes.  The background image, if present, shows the topography of the ocean floor.  As the animation proceeds, the earthquakes clearly accumulate around the topographic features that represent the boundaries of the Earth's crustal plates.  This animation is based on data from world-wide seismic networks and was obtained from the National Earthquake Center of the United States Geological Survey.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Earthquake</Keyword>
+							<Keyword vocabulary="DLESE">Geology</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Geological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Solid Earth:Seismology:Earthquake Occurrences</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002893/a002893.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://neic.usgs.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+			</Layer>
+			<Layer>
+				<Title>Spectral/Engineering</Title>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3349_24676</Name>
+					<Title>TRMM Satellite and TMI Swath (1024x512 Animation)</Title>
+					<Abstract>The Tropical Rainfall Measuring Mission (TRMM) satellite was launched on November 27, 1997, as a joint mission of NASA and the Japan Aerospace Exploration Agency, JAXA.  TRMM has five Earth-observing instruments on board and circles the Earth every 92 minutes in an equatorial orbit between 35 degrees north and south latitude so that those instruments can measure precipitation in the tropics.  One of the instuments, TMI, observes five frequencies of microwave emissions in a 780-kilometer wide swath along the orbit in order to measure the amount of rain and ice in the atmosphere.  This animation shows the TRMM satellite orbiting for one day, August 27, 2005, showing a set of TRMM measurements at a frequency of 85.5 GHz.  In this frequency band, atmospheric ice crystals scatter microwaves and so areas with ice crystals appear colder than areas with no ice.  Both Hurricane Katrina, just to the west of Florida in the Gulf of Mexico, and Typhoon Talim, in the westerm Pacific between Japan and New Guinea, show up as bright swirling patterns.  This measurement is just one of the TMI measurements that go into calculating the total instantaneous rainfall in the tropics.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Platform Characteristics:Orbital Characteristics</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Platform Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-28T00:45:00Z">2005-08-26T23:05:00Z/2005-08-28T00:45:00Z/PT1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003349/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003349/a003349.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows the TRMM satellite orbiting the Earth on August 27, 2005 by revealing TMI 85.5 GHz microwave measurements for that day.  This animation is on a cartesian map projection, so the satellite will look accurate only when the animation is wrapped to a sphere.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003349/tmi_85_bar1.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3348_24675</Name>
+					<Title>Aqua Satellite and MODIS Swath (1024x512 Animation)</Title>
+					<Abstract>NASA's Aqua satellite was launched on May 4, 2002 with six Earth-observing instruments on board.  Aqua circles the Earth every 99 minutes and is in a polar orbit, passing within ten degrees of each pole on every orbit.  The orbit is sun-synchronous, meaning that the satellite always passes over a particular part of the Earth at about the same local time each day.  Aqua always crosses the equator from south to north at about 1:30 PM local time.  One of the instruments on Aqua, MODIS, measures 36 spectral frequencies of light reflected off the Earth in a 2300-kilometer wide swath along this orbit, so that MODIS measures almost the entire surface of the Earth every day.  This animation shows the Aqua satellite orbiting for one day, August 27, 2005, showing a set of MODIS measurements taken that day that have been processed to look like a a true-color image of the Earth.  Notice that MODIS only takes data during the dayside part of the orbit because it measures reflected light from the Sun, and that there is a bright band of reflected sunlight in the center of swaths over the ocean.  Also visible in this animation are Hurricane Katrina, just to the west of Florida in the Gulf of Mexico, and Typhoon Talim, in the westerm Pacific between Japan and New Guinea.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Platform Characteristics:Orbital Characteristics</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Platform Characteristics:Viewing Geometry</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-28T00:45:00Z">2005-08-26T23:05:00Z/2005-08-28T00:45:00Z/PT1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003348/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003348/a003348.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows the Aqua satellite orbiting the Earth on August 27, 2005 by revealing MODIS true-color imagery for that day.  This animation is on a cartesian map projection, so the satellite will look accurate only when the animation is wrapped on a sphere.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3328_24804</Name>
+					<Title>Aqua MODIS Ocean Color Swath during Hurricane Katrina (1024x512 Animation)</Title>
+					<Abstract>The Aqua satellite orbits the Earth every 99 minutes in a polar, sun-synchronous orbit.  The MODIS instrument on Aqua observes reflected light from the Earth in 36 spectral frequencies.  These observations can be processed to show many properties of the Earth's surface, from temperature and phytoplankton measurements near the surface of the ocean to fire occurrences and land cover characteristics on the land surface.
+This animation shows MODIS ocean color data from about 4 days of individual Aqua orbits.  Ocean color is a measurement of the amount of chlorophyll in ocean phytoplankton and is therefore a direct measurement of the amount of life in the ocean.  It can only be measured in ocean regions that are free of both clouds and sun glint, the bright band of specular reflection in the center of each granule.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Optics:Ocean Color</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Platform Characteristics:Orbital Characteristics</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T21:47:35Z">2005-08-26T23:17:35Z/2005-08-26T23:32:35Z/PT5M,2005-08-26T23:37:34Z,2005-08-26T23:42:36Z,2005-08-26T23:47:36Z,2005-08-26T23:52:35Z,2005-08-26T23:57:35Z,2005-08-27T00:52:34Z,2005-08-27T00:57:35Z/2005-08-27T01:12:35Z/PT5M,2005-08-27T01:17:34Z,2005-08-27T01:22:36Z,2005-08-27T01:27:36Z,2005-08-27T01:32:35Z,2005-08-27T02:32:34Z,2005-08-27T02:37:35Z/2005-08-27T02:52:35Z/PT5M,2005-08-27T02:57:34Z,2005-08-27T03:02:36Z,2005-08-27T03:07:36Z,2005-08-27T03:12:35Z,2005-08-27T04:12:34Z,2005-08-27T04:17:35Z/2005-08-27T04:32:35Z/PT5M,2005-08-27T04:37:34Z,2005-08-27T04:42:36Z,2005-08-27T04:47:36Z,2005-08-27T04:52:35Z,2005-08-27T05:52:35Z/2005-08-27T06:12:35Z/PT5M,2005-08-27T06:17:34Z,2005-08-27T06:22:36Z/2005-08-27T06:32:36Z/PT5M,2005-08-27T07:27:35Z/2005-08-27T07:57:35Z/PT5M,2005-08-27T08:02:34Z,2005-08-27T08:07:36Z,2005-08-27T09:07:35Z/2005-08-27T09:37:35Z/PT5M,2005-08-27T09:42:34Z,2005-08-27T09:47:36Z,2005-08-27T10:47:35Z/2005-08-27T11:17:35Z/PT5M,2005-08-27T11:22:34Z,2005-08-27T11:27:36Z,2005-08-27T12:27:35Z/2005-08-27T12:57:35Z/PT5M,2005-08-27T13:02:34Z,2005-08-27T13:07:36Z,2005-08-27T14:07:36Z,2005-08-27T14:12:35Z/2005-08-27T14:37:35Z/PT5M,2005-08-27T14:42:34Z,2005-08-27T14:47:36Z,2005-08-27T15:47:36Z,2005-08-27T15:52:35Z/2005-08-27T16:22:35Z/PT5M,2005-08-27T17:27:36Z,2005-08-27T17:32:35Z/2005-08-27T18:02:35Z/PT5M,2005-08-27T19:02:36Z,2005-08-27T19:07:36Z,2005-08-27T19:12:35Z/2005-08-27T19:42:35Z/PT5M,2005-08-27T20:37:34Z,2005-08-27T20:42:36Z,2005-08-27T20:47:36Z,2005-08-27T20:52:35Z/2005-08-27T21:22:35Z/PT5M,2005-08-27T22:17:34Z,2005-08-27T22:22:36Z/2005-08-27T22:32:36Z/PT5M,2005-08-27T22:37:35Z/2005-08-27T22:57:35Z/PT5M,2005-08-27T23:57:34Z,2005-08-28T00:02:34Z,2005-08-28T00:07:36Z,2005-08-28T00:12:36Z,2005-08-28T00:17:35Z/2005-08-28T00:37:35Z/PT5M,2005-08-28T01:37:34Z,2005-08-28T01:42:34Z,2005-08-28T01:47:36Z,2005-08-28T01:52:36Z,2005-08-28T01:57:35Z/2005-08-28T02:17:35Z/PT5M,2005-08-28T03:17:35Z,2005-08-28T03:22:34Z,2005-08-28T03:27:36Z,2005-08-28T03:32:36Z,2005-08-28T03:37:35Z/2005-08-28T03:57:35Z/PT5M,2005-08-28T04:52:34Z,2005-08-28T04:57:35Z,2005-08-28T05:02:34Z,2005-08-28T05:07:36Z,2005-08-28T05:12:36Z,2005-08-28T05:17:35Z/2005-08-28T05:37:35Z/PT5M,2005-08-28T06:32:34Z,2005-08-28T06:37:35Z,2005-08-28T06:42:34Z,2005-08-28T06:47:36Z/2005-08-28T06:57:36Z/PT5M,2005-08-28T07:02:35Z/2005-08-28T07:12:35Z/PT5M,2005-08-28T08:12:34Z,2005-08-28T08:17:35Z,2005-08-28T08:22:35Z,2005-08-28T08:27:34Z,2005-08-28T08:32:36Z,2005-08-28T08:37:36Z,2005-08-28T08:42:35Z/2005-08-28T08:52:35Z/PT5M,2005-08-28T09:52:35Z/2005-08-28T10:02:35Z/PT5M,2005-08-28T10:07:34Z,2005-08-28T10:12:36Z,2005-08-28T10:17:36Z,2005-08-28T10:22:35Z/2005-08-28T10:32:35Z/PT5M,2005-08-28T11:27:34Z,2005-08-28T11:32:35Z/2005-08-28T11:42:35Z/PT5M,2005-08-28T11:47:34Z,2005-08-28T11:52:36Z,2005-08-28T11:57:36Z,2005-08-28T12:02:35Z/2005-08-28T12:12:35Z/PT5M,2005-08-28T13:12:35Z/2005-08-28T13:22:35Z/PT5M,2005-08-28T13:27:34Z,2005-08-28T13:32:36Z,2005-08-28T13:37:36Z,2005-08-28T13:42:35Z,2005-08-28T13:47:35Z,2005-08-28T14:47:34Z,2005-08-28T14:52:35Z/2005-08-28T15:02:35Z/PT5M,2005-08-28T15:07:34Z,2005-08-28T15:12:36Z/2005-08-28T15:22:36Z/PT5M,2005-08-28T15:27:35Z,2005-08-28T16:27:34Z,2005-08-28T16:32:35Z/2005-08-28T16:47:35Z/PT5M,2005-08-28T16:52:34Z,2005-08-28T16:57:36Z,2005-08-28T17:02:36Z,2005-08-28T17:07:35Z,2005-08-28T18:07:35Z/2005-08-28T18:27:35Z/PT5M,2005-08-28T18:32:34Z,2005-08-28T18:37:36Z,2005-08-28T18:42:36Z,2005-08-28T18:47:35Z,2005-08-28T19:42:34Z,2005-08-28T19:47:35Z/2005-08-28T20:07:35Z/PT5M,2005-08-28T20:12:34Z,2005-08-28T20:17:36Z,2005-08-28T20:22:36Z,2005-08-28T20:27:35Z,2005-08-28T21:22:34Z,2005-08-28T21:27:35Z/2005-08-28T21:47:35Z/PT5M,2005-08-28T21:52:34Z,2005-08-28T21:57:36Z,2005-08-28T22:02:36Z,2005-08-28T23:02:35Z/2005-08-28T23:27:35Z/PT5M,2005-08-28T23:32:34Z,2005-08-28T23:37:36Z,2005-08-28T23:42:36Z,2005-08-29T00:42:35Z/2005-08-29T01:12:35Z/PT5M,2005-08-29T01:17:34Z,2005-08-29T01:22:36Z,2005-08-29T02:17:35Z/2005-08-29T02:52:35Z/PT5M,2005-08-29T02:57:34Z,2005-08-29T03:02:36Z,2005-08-29T03:57:35Z/2005-08-29T04:32:35Z/PT5M,2005-08-29T04:37:34Z,2005-08-29T05:37:33Z,2005-08-29T05:42:35Z/2005-08-29T06:12:35Z/PT5M,2005-08-29T06:17:34Z,2005-08-29T07:17:33Z,2005-08-29T07:22:36Z,2005-08-29T07:27:35Z/2005-08-29T07:52:35Z/PT5M,2005-08-29T07:57:34Z,2005-08-29T08:57:36Z,2005-08-29T09:02:36Z,2005-08-29T09:07:35Z/2005-08-29T09:37:35Z/PT5M,2005-08-29T10:32:34Z,2005-08-29T10:37:36Z,2005-08-29T10:42:36Z,2005-08-29T10:47:35Z/2005-08-29T11:17:35Z/PT5M,2005-08-29T12:12:34Z,2005-08-29T12:17:36Z,2005-08-29T12:22:36Z,2005-08-29T12:27:35Z/2005-08-29T12:52:35Z/PT5M,2005-08-29T13:52:34Z,2005-08-29T13:57:36Z,2005-08-29T14:02:36Z,2005-08-29T14:07:35Z/2005-08-29T14:32:35Z/PT5M,2005-08-29T15:32:34Z,2005-08-29T15:37:36Z/2005-08-29T15:47:36Z/PT5M,2005-08-29T15:52:35Z/2005-08-29T16:12:35Z/PT5M,2005-08-29T17:12:35Z,2005-08-29T17:17:34Z,2005-08-29T17:22:36Z,2005-08-29T17:27:36Z,2005-08-29T17:32:35Z/2005-08-29T17:52:35Z/PT5M,2005-08-29T18:47:34Z,2005-08-29T18:52:35Z,2005-08-29T18:57:34Z,2005-08-29T19:02:36Z,2005-08-29T19:07:36Z,2005-08-29T19:12:35Z/2005-08-29T19:27:35Z/PT5M,2005-08-29T20:27:34Z,2005-08-29T20:32:35Z,2005-08-29T20:37:34Z,2005-08-29T20:42:36Z,2005-08-29T20:47:36Z,2005-08-29T20:52:35Z/2005-08-29T21:07:35Z/PT5M,2005-08-29T22:07:34Z,2005-08-29T22:12:35Z,2005-08-29T22:17:34Z,2005-08-29T22:22:36Z,2005-08-29T22:27:36Z,2005-08-29T22:32:35Z/2005-08-29T22:47:35Z/PT5M,2005-08-29T23:47:35Z,2005-08-29T23:52:35Z,2005-08-29T23:57:34Z,2005-08-30T00:02:36Z/2005-08-30T00:12:36Z/PT5M,2005-08-30T00:17:35Z/2005-08-30T00:27:35Z/PT5M,2005-08-30T01:22:34Z,2005-08-30T01:27:35Z/2005-08-30T01:37:35Z/PT5M,2005-08-30T01:42:34Z,2005-08-30T01:47:36Z,2005-08-30T01:52:36Z,2005-08-30T01:57:35Z/2005-08-30T02:07:35Z/PT5M,2005-08-30T03:02:34Z,2005-08-30T03:07:35Z/2005-08-30T03:17:35Z/PT5M,2005-08-30T03:22:34Z,2005-08-30T03:27:36Z,2005-08-30T03:32:36Z,2005-08-30T03:37:35Z,2005-08-30T03:42:35Z,2005-08-30T04:42:34Z,2005-08-30T04:47:35Z/2005-08-30T04:57:35Z/PT5M,2005-08-30T05:02:34Z,2005-08-30T05:07:36Z,2005-08-30T05:12:36Z,2005-08-30T05:17:35Z,2005-08-30T05:22:35Z,2005-08-30T06:22:35Z/2005-08-30T06:37:35Z/PT5M,2005-08-30T06:42:34Z,2005-08-30T06:47:36Z,2005-08-30T06:52:36Z,2005-08-30T06:57:35Z,2005-08-30T07:02:35Z,2005-08-30T08:02:35Z/2005-08-30T08:17:35Z/PT5M,2005-08-30T08:22:34Z,2005-08-30T08:27:36Z/2005-08-30T08:37:36Z/PT5M,2005-08-30T08:42:35Z,2005-08-30T09:37:34Z,2005-08-30T09:42:35Z/2005-08-30T10:02:35Z/PT5M,2005-08-30T10:07:34Z,2005-08-30T10:12:36Z,2005-08-30T10:17:36Z,2005-08-30T11:17:35Z/2005-08-30T11:42:35Z/PT5M,2005-08-30T11:47:34Z,2005-08-30T11:52:36Z,2005-08-30T11:57:36Z,2005-08-30T12:57:35Z/2005-08-30T13:22:35Z/PT5M,2005-08-30T13:27:34Z,2005-08-30T13:32:36Z,2005-08-30T13:37:36Z,2005-08-30T14:37:35Z/2005-08-30T15:02:35Z/PT5M,2005-08-30T15:07:34Z,2005-08-30T15:12:36Z,2005-08-30T15:17:36Z,2005-08-30T16:17:35Z/2005-08-30T16:42:35Z/PT5M,2005-08-30T16:47:34Z,2005-08-30T16:52:34Z,2005-08-30T17:52:33Z,2005-08-30T17:57:35Z/2005-08-30T18:27:35Z/PT5M,2005-08-30T18:32:34Z,2005-08-30T19:32:33Z,2005-08-30T19:37:35Z/2005-08-30T20:07:35Z/PT5M,2005-08-30T20:12:34Z,2005-08-30T21:12:36Z,2005-08-30T21:17:35Z/2005-08-30T21:47:35Z/PT5M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003328/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003328/a003328.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://science.hq.nasa.gov/oceans/living/color.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Four days of Aqua MODIS ocean color swaths during the period of Hurricane Katrina, from August 27, 2005 through August 30, 2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003328/aqua_chlor_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3327_24800</Name>
+					<Title>Aqua MODIS Ocean Color Progression during Hurricane Katrina (1024x512 Animation)</Title>
+					<Abstract>The Aqua satellite orbits the Earth every 99 minutes in a polar, sun-synchronous orbit.  The MODIS instrument on Aqua observes reflected light from the Earth in 36 spectral frequencies.  These observations can be processed to show many properties of the Earth's surface, from temperature and phytoplankton measurements near the surface of the ocean to fire occurrences and land cover characteristics on the land surface.  
+This animation shows MODIS ocean color data from about 4 days of individual Aqua orbits.  Ocean color is a measurement of the amount of chlorophyll in ocean phytoplankton and is therefore a direct measurement of the amount of life in the ocean. It can only be measured in ocean regions that are free of both clouds and sun glint, the bright band of specular reflection in the center of each granule.  For this animation the data is accumulated and so builds up a complete picture of the surface of the Earth except around the South Pole, which is in darkness during the entire 4-day period.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Optics:Ocean Color</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Platform Characteristics:Orbital Characteristics</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T21:52:34Z">2005-08-26T23:17:35Z/2005-08-26T23:32:35Z/PT5M,2005-08-26T23:37:34Z,2005-08-26T23:42:36Z,2005-08-26T23:47:36Z,2005-08-26T23:52:35Z,2005-08-26T23:57:35Z,2005-08-27T00:57:35Z/2005-08-27T01:12:35Z/PT5M,2005-08-27T01:17:34Z,2005-08-27T01:22:36Z,2005-08-27T01:27:36Z,2005-08-27T01:32:35Z,2005-08-27T02:37:35Z/2005-08-27T02:52:35Z/PT5M,2005-08-27T02:57:34Z,2005-08-27T03:02:36Z,2005-08-27T03:07:36Z,2005-08-27T03:12:35Z,2005-08-27T04:17:35Z/2005-08-27T04:32:35Z/PT5M,2005-08-27T04:37:34Z,2005-08-27T04:42:36Z,2005-08-27T04:47:36Z,2005-08-27T04:52:35Z,2005-08-27T05:52:35Z/2005-08-27T06:12:35Z/PT5M,2005-08-27T06:17:34Z,2005-08-27T06:22:36Z/2005-08-27T06:32:36Z/PT5M,2005-08-27T07:32:35Z/2005-08-27T07:57:35Z/PT5M,2005-08-27T08:02:34Z,2005-08-27T08:07:36Z,2005-08-27T09:12:35Z/2005-08-27T09:37:35Z/PT5M,2005-08-27T09:42:34Z,2005-08-27T09:47:36Z,2005-08-27T10:52:35Z/2005-08-27T11:17:35Z/PT5M,2005-08-27T11:22:34Z,2005-08-27T11:27:36Z,2005-08-27T12:27:35Z/2005-08-27T12:57:35Z/PT5M,2005-08-27T13:02:34Z,2005-08-27T13:07:36Z,2005-08-27T14:07:36Z,2005-08-27T14:12:35Z/2005-08-27T14:37:35Z/PT5M,2005-08-27T14:42:34Z,2005-08-27T14:47:36Z,2005-08-27T15:47:36Z,2005-08-27T15:52:35Z/2005-08-27T16:22:35Z/PT5M,2005-08-27T17:27:36Z,2005-08-27T17:32:35Z/2005-08-27T18:02:35Z/PT5M,2005-08-27T19:02:36Z,2005-08-27T19:07:36Z,2005-08-27T19:12:35Z/2005-08-27T19:42:35Z/PT5M,2005-08-27T20:42:36Z,2005-08-27T20:47:36Z,2005-08-27T20:52:35Z/2005-08-27T21:22:35Z/PT5M,2005-08-27T22:22:36Z/2005-08-27T22:32:36Z/PT5M,2005-08-27T22:37:35Z/2005-08-27T22:57:35Z/PT5M,2005-08-28T00:02:34Z,2005-08-28T00:07:36Z,2005-08-28T00:12:36Z,2005-08-28T00:17:35Z/2005-08-28T00:37:35Z/PT5M,2005-08-28T01:42:34Z,2005-08-28T01:47:36Z,2005-08-28T01:52:36Z,2005-08-28T01:57:35Z/2005-08-28T02:17:35Z/PT5M,2005-08-28T03:17:35Z,2005-08-28T03:22:34Z,2005-08-28T03:27:36Z,2005-08-28T03:32:36Z,2005-08-28T03:37:35Z/2005-08-28T03:57:35Z/PT5M,2005-08-28T04:57:35Z,2005-08-28T05:02:34Z,2005-08-28T05:07:36Z,2005-08-28T05:12:36Z,2005-08-28T05:17:35Z/2005-08-28T05:37:35Z/PT5M,2005-08-28T06:37:35Z,2005-08-28T06:42:34Z,2005-08-28T06:47:36Z/2005-08-28T06:57:36Z/PT5M,2005-08-28T07:02:35Z/2005-08-28T07:12:35Z/PT5M,2005-08-28T08:17:35Z,2005-08-28T08:22:35Z,2005-08-28T08:27:34Z,2005-08-28T08:32:36Z,2005-08-28T08:37:36Z,2005-08-28T08:42:35Z/2005-08-28T08:52:35Z/PT5M,2005-08-28T09:52:35Z/2005-08-28T10:02:35Z/PT5M,2005-08-28T10:07:34Z,2005-08-28T10:12:36Z,2005-08-28T10:17:36Z,2005-08-28T10:22:35Z/2005-08-28T10:32:35Z/PT5M,2005-08-28T11:32:35Z/2005-08-28T11:42:35Z/PT5M,2005-08-28T11:47:34Z,2005-08-28T11:52:36Z,2005-08-28T11:57:36Z,2005-08-28T12:02:35Z/2005-08-28T12:12:35Z/PT5M,2005-08-28T13:12:35Z/2005-08-28T13:22:35Z/PT5M,2005-08-28T13:27:34Z,2005-08-28T13:32:36Z,2005-08-28T13:37:36Z,2005-08-28T13:42:35Z,2005-08-28T13:47:35Z,2005-08-28T14:52:35Z/2005-08-28T15:02:35Z/PT5M,2005-08-28T15:07:34Z,2005-08-28T15:12:36Z/2005-08-28T15:22:36Z/PT5M,2005-08-28T15:27:35Z,2005-08-28T16:32:35Z/2005-08-28T16:47:35Z/PT5M,2005-08-28T16:52:34Z,2005-08-28T16:57:36Z,2005-08-28T17:02:36Z,2005-08-28T17:07:35Z,2005-08-28T18:07:35Z/2005-08-28T18:27:35Z/PT5M,2005-08-28T18:32:34Z,2005-08-28T18:37:36Z,2005-08-28T18:42:36Z,2005-08-28T18:47:35Z,2005-08-28T19:47:35Z/2005-08-28T20:07:35Z/PT5M,2005-08-28T20:12:34Z,2005-08-28T20:17:36Z,2005-08-28T20:22:36Z,2005-08-28T20:27:35Z,2005-08-28T21:27:35Z/2005-08-28T21:47:35Z/PT5M,2005-08-28T21:52:34Z,2005-08-28T21:57:36Z,2005-08-28T22:02:36Z,2005-08-28T23:07:35Z/2005-08-28T23:27:35Z/PT5M,2005-08-28T23:32:34Z,2005-08-28T23:37:36Z,2005-08-28T23:42:36Z,2005-08-29T00:42:35Z/2005-08-29T01:12:35Z/PT5M,2005-08-29T01:17:34Z,2005-08-29T01:22:36Z,2005-08-29T02:22:35Z/2005-08-29T02:52:35Z/PT5M,2005-08-29T02:57:34Z,2005-08-29T03:02:36Z,2005-08-29T04:02:35Z/2005-08-29T04:32:35Z/PT5M,2005-08-29T04:37:34Z,2005-08-29T05:42:35Z/2005-08-29T06:12:35Z/PT5M,2005-08-29T06:17:34Z,2005-08-29T07:22:36Z,2005-08-29T07:27:35Z/2005-08-29T07:52:35Z/PT5M,2005-08-29T07:57:34Z,2005-08-29T08:57:36Z,2005-08-29T09:02:36Z,2005-08-29T09:07:35Z/2005-08-29T09:37:35Z/PT5M,2005-08-29T10:37:36Z,2005-08-29T10:42:36Z,2005-08-29T10:47:35Z/2005-08-29T11:17:35Z/PT5M,2005-08-29T12:17:36Z,2005-08-29T12:22:36Z,2005-08-29T12:27:35Z/2005-08-29T12:52:35Z/PT5M,2005-08-29T13:57:36Z,2005-08-29T14:02:36Z,2005-08-29T14:07:35Z/2005-08-29T14:32:35Z/PT5M,2005-08-29T15:32:34Z,2005-08-29T15:37:36Z/2005-08-29T15:47:36Z/PT5M,2005-08-29T15:52:35Z/2005-08-29T16:12:35Z/PT5M,2005-08-29T17:12:35Z,2005-08-29T17:17:34Z,2005-08-29T17:22:36Z,2005-08-29T17:27:36Z,2005-08-29T17:32:35Z/2005-08-29T17:52:35Z/PT5M,2005-08-29T18:52:35Z,2005-08-29T18:57:34Z,2005-08-29T19:02:36Z,2005-08-29T19:07:36Z,2005-08-29T19:12:35Z/2005-08-29T19:27:35Z/PT5M,2005-08-29T20:32:35Z,2005-08-29T20:37:34Z,2005-08-29T20:42:36Z,2005-08-29T20:47:36Z,2005-08-29T20:52:35Z/2005-08-29T21:07:35Z/PT5M,2005-08-29T22:12:35Z,2005-08-29T22:17:34Z,2005-08-29T22:22:36Z,2005-08-29T22:27:36Z,2005-08-29T22:32:35Z/2005-08-29T22:47:35Z/PT5M,2005-08-29T23:47:35Z,2005-08-29T23:52:35Z,2005-08-29T23:57:34Z,2005-08-30T00:02:36Z/2005-08-30T00:12:36Z/PT5M,2005-08-30T00:17:35Z/2005-08-30T00:27:35Z/PT5M,2005-08-30T01:27:35Z/2005-08-30T01:37:35Z/PT5M,2005-08-30T01:42:34Z,2005-08-30T01:47:36Z,2005-08-30T01:52:36Z,2005-08-30T01:57:35Z/2005-08-30T02:07:35Z/PT5M,2005-08-30T03:07:35Z/2005-08-30T03:17:35Z/PT5M,2005-08-30T03:22:34Z,2005-08-30T03:27:36Z,2005-08-30T03:32:36Z,2005-08-30T03:37:35Z,2005-08-30T03:42:35Z,2005-08-30T04:47:35Z/2005-08-30T04:57:35Z/PT5M,2005-08-30T05:02:34Z,2005-08-30T05:07:36Z,2005-08-30T05:12:36Z,2005-08-30T05:17:35Z,2005-08-30T05:22:35Z,2005-08-30T06:22:35Z/2005-08-30T06:37:35Z/PT5M,2005-08-30T06:42:34Z,2005-08-30T06:47:36Z,2005-08-30T06:52:36Z,2005-08-30T06:57:35Z,2005-08-30T07:02:35Z,2005-08-30T08:02:35Z/2005-08-30T08:17:35Z/PT5M,2005-08-30T08:22:34Z,2005-08-30T08:27:36Z/2005-08-30T08:37:36Z/PT5M,2005-08-30T08:42:35Z,2005-08-30T09:42:35Z/2005-08-30T10:02:35Z/PT5M,2005-08-30T10:07:34Z,2005-08-30T10:12:36Z,2005-08-30T10:17:36Z,2005-08-30T11:22:35Z/2005-08-30T11:42:35Z/PT5M,2005-08-30T11:47:34Z,2005-08-30T11:52:36Z,2005-08-30T11:57:36Z,2005-08-30T13:02:35Z/2005-08-30T13:22:35Z/PT5M,2005-08-30T13:27:34Z,2005-08-30T13:32:36Z,2005-08-30T13:37:36Z,2005-08-30T14:37:35Z/2005-08-30T15:02:35Z/PT5M,2005-08-30T15:07:34Z,2005-08-30T15:12:36Z,2005-08-30T15:17:36Z,2005-08-30T16:17:35Z/2005-08-30T16:42:35Z/PT5M,2005-08-30T16:47:34Z,2005-08-30T16:52:34Z,2005-08-30T17:57:35Z/2005-08-30T18:27:35Z/PT5M,2005-08-30T18:32:34Z,2005-08-30T19:37:35Z/2005-08-30T20:07:35Z/PT5M,2005-08-30T20:12:34Z,2005-08-30T21:12:36Z,2005-08-30T21:17:35Z/2005-08-30T21:47:35Z/PT5M,2005-08-30T21:52:34Z</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003327/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003327/a003327.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://science.hq.nasa.gov/oceans/living/color.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Four days of accumulating Aqua MODIS ocean color swaths during the period of Hurricane Katrina, from August 27, 2005 through August 30, 2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003327/aqua_chlor_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3326_24797</Name>
+					<Title>Aqua MODIS Ocean Color Granules during Hurricane Katrina (1024x512 Animation)</Title>
+					<Abstract>The Aqua satellite orbits the Earth every 99 minutes in a polar, sun-synchronous orbit.  The MODIS instrument on Aqua observes reflected light from the Earth in 36 spectral frequencies.  These observations can be processed to show many properties of the Earth's surface, from temperature and phytoplankton measurements near the surface of the ocean to fire occurrences and land cover characteristics on the land surface.
+The MODIS observations start out divided into 5-minute sections called granules, and this animation shows MODIS ocean color data from about 4 days of individual Aqua granules.  Ocean color is a measurement of the amount of chlorophyll in ocean phytoplankton and is therefore a direct measurement of the amount of life in the ocean.  It can only be measured in ocean regions that are free of both clouds and sun glint, the bright band of specular reflection in the center of each granule.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Optics:Ocean Color</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Platform Characteristics:Orbital Characteristics</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T21:52:34Z">2005-08-26T23:17:35Z/2005-08-26T23:32:35Z/PT5M,2005-08-26T23:37:34Z,2005-08-26T23:42:36Z,2005-08-26T23:47:36Z,2005-08-26T23:52:35Z,2005-08-26T23:57:35Z,2005-08-27T00:57:35Z/2005-08-27T01:12:35Z/PT5M,2005-08-27T01:17:34Z,2005-08-27T01:22:36Z,2005-08-27T01:27:36Z,2005-08-27T01:32:35Z,2005-08-27T02:37:35Z/2005-08-27T02:52:35Z/PT5M,2005-08-27T02:57:34Z,2005-08-27T03:02:36Z,2005-08-27T03:07:36Z,2005-08-27T03:12:35Z,2005-08-27T04:17:35Z/2005-08-27T04:32:35Z/PT5M,2005-08-27T04:37:34Z,2005-08-27T04:42:36Z,2005-08-27T04:47:36Z,2005-08-27T04:52:35Z,2005-08-27T05:52:35Z/2005-08-27T06:12:35Z/PT5M,2005-08-27T06:17:34Z,2005-08-27T06:22:36Z/2005-08-27T06:32:36Z/PT5M,2005-08-27T07:32:35Z/2005-08-27T07:57:35Z/PT5M,2005-08-27T08:02:34Z,2005-08-27T08:07:36Z,2005-08-27T09:12:35Z/2005-08-27T09:37:35Z/PT5M,2005-08-27T09:42:34Z,2005-08-27T09:47:36Z,2005-08-27T10:52:35Z/2005-08-27T11:17:35Z/PT5M,2005-08-27T11:22:34Z,2005-08-27T11:27:36Z,2005-08-27T12:27:35Z/2005-08-27T12:57:35Z/PT5M,2005-08-27T13:02:34Z,2005-08-27T13:07:36Z,2005-08-27T14:07:36Z,2005-08-27T14:12:35Z/2005-08-27T14:37:35Z/PT5M,2005-08-27T14:42:34Z,2005-08-27T14:47:36Z,2005-08-27T15:47:36Z,2005-08-27T15:52:35Z/2005-08-27T16:22:35Z/PT5M,2005-08-27T17:27:36Z,2005-08-27T17:32:35Z/2005-08-27T18:02:35Z/PT5M,2005-08-27T19:02:36Z,2005-08-27T19:07:36Z,2005-08-27T19:12:35Z/2005-08-27T19:42:35Z/PT5M,2005-08-27T20:42:36Z,2005-08-27T20:47:36Z,2005-08-27T20:52:35Z/2005-08-27T21:22:35Z/PT5M,2005-08-27T22:22:36Z/2005-08-27T22:32:36Z/PT5M,2005-08-27T22:37:35Z/2005-08-27T22:57:35Z/PT5M,2005-08-28T00:02:34Z,2005-08-28T00:07:36Z,2005-08-28T00:12:36Z,2005-08-28T00:17:35Z/2005-08-28T00:37:35Z/PT5M,2005-08-28T01:42:34Z,2005-08-28T01:47:36Z,2005-08-28T01:52:36Z,2005-08-28T01:57:35Z/2005-08-28T02:17:35Z/PT5M,2005-08-28T03:17:35Z,2005-08-28T03:22:34Z,2005-08-28T03:27:36Z,2005-08-28T03:32:36Z,2005-08-28T03:37:35Z/2005-08-28T03:57:35Z/PT5M,2005-08-28T04:57:35Z,2005-08-28T05:02:34Z,2005-08-28T05:07:36Z,2005-08-28T05:12:36Z,2005-08-28T05:17:35Z/2005-08-28T05:37:35Z/PT5M,2005-08-28T06:37:35Z,2005-08-28T06:42:34Z,2005-08-28T06:47:36Z/2005-08-28T06:57:36Z/PT5M,2005-08-28T07:02:35Z/2005-08-28T07:12:35Z/PT5M,2005-08-28T08:17:35Z,2005-08-28T08:22:35Z,2005-08-28T08:27:34Z,2005-08-28T08:32:36Z,2005-08-28T08:37:36Z,2005-08-28T08:42:35Z/2005-08-28T08:52:35Z/PT5M,2005-08-28T09:52:35Z/2005-08-28T10:02:35Z/PT5M,2005-08-28T10:07:34Z,2005-08-28T10:12:36Z,2005-08-28T10:17:36Z,2005-08-28T10:22:35Z/2005-08-28T10:32:35Z/PT5M,2005-08-28T11:32:35Z/2005-08-28T11:42:35Z/PT5M,2005-08-28T11:47:34Z,2005-08-28T11:52:36Z,2005-08-28T11:57:36Z,2005-08-28T12:02:35Z/2005-08-28T12:12:35Z/PT5M,2005-08-28T13:12:35Z/2005-08-28T13:22:35Z/PT5M,2005-08-28T13:27:34Z,2005-08-28T13:32:36Z,2005-08-28T13:37:36Z,2005-08-28T13:42:35Z,2005-08-28T13:47:35Z,2005-08-28T14:52:35Z/2005-08-28T15:02:35Z/PT5M,2005-08-28T15:07:34Z,2005-08-28T15:12:36Z/2005-08-28T15:22:36Z/PT5M,2005-08-28T15:27:35Z,2005-08-28T16:32:35Z/2005-08-28T16:47:35Z/PT5M,2005-08-28T16:52:34Z,2005-08-28T16:57:36Z,2005-08-28T17:02:36Z,2005-08-28T17:07:35Z,2005-08-28T18:07:35Z/2005-08-28T18:27:35Z/PT5M,2005-08-28T18:32:34Z,2005-08-28T18:37:36Z,2005-08-28T18:42:36Z,2005-08-28T18:47:35Z,2005-08-28T19:47:35Z/2005-08-28T20:07:35Z/PT5M,2005-08-28T20:12:34Z,2005-08-28T20:17:36Z,2005-08-28T20:22:36Z,2005-08-28T20:27:35Z,2005-08-28T21:27:35Z/2005-08-28T21:47:35Z/PT5M,2005-08-28T21:52:34Z,2005-08-28T21:57:36Z,2005-08-28T22:02:36Z,2005-08-28T23:07:35Z/2005-08-28T23:27:35Z/PT5M,2005-08-28T23:32:34Z,2005-08-28T23:37:36Z,2005-08-28T23:42:36Z,2005-08-29T00:42:35Z/2005-08-29T01:12:35Z/PT5M,2005-08-29T01:17:34Z,2005-08-29T01:22:36Z,2005-08-29T02:22:35Z/2005-08-29T02:52:35Z/PT5M,2005-08-29T02:57:34Z,2005-08-29T03:02:36Z,2005-08-29T04:02:35Z/2005-08-29T04:32:35Z/PT5M,2005-08-29T04:37:34Z,2005-08-29T05:42:35Z/2005-08-29T06:12:35Z/PT5M,2005-08-29T06:17:34Z,2005-08-29T07:22:36Z,2005-08-29T07:27:35Z/2005-08-29T07:52:35Z/PT5M,2005-08-29T07:57:34Z,2005-08-29T08:57:36Z,2005-08-29T09:02:36Z,2005-08-29T09:07:35Z/2005-08-29T09:37:35Z/PT5M,2005-08-29T10:37:36Z,2005-08-29T10:42:36Z,2005-08-29T10:47:35Z/2005-08-29T11:17:35Z/PT5M,2005-08-29T12:17:36Z,2005-08-29T12:22:36Z,2005-08-29T12:27:35Z/2005-08-29T12:52:35Z/PT5M,2005-08-29T13:57:36Z,2005-08-29T14:02:36Z,2005-08-29T14:07:35Z/2005-08-29T14:32:35Z/PT5M,2005-08-29T15:32:34Z,2005-08-29T15:37:36Z/2005-08-29T15:47:36Z/PT5M,2005-08-29T15:52:35Z/2005-08-29T16:12:35Z/PT5M,2005-08-29T17:12:35Z,2005-08-29T17:17:34Z,2005-08-29T17:22:36Z,2005-08-29T17:27:36Z,2005-08-29T17:32:35Z/2005-08-29T17:52:35Z/PT5M,2005-08-29T18:52:35Z,2005-08-29T18:57:34Z,2005-08-29T19:02:36Z,2005-08-29T19:07:36Z,2005-08-29T19:12:35Z/2005-08-29T19:27:35Z/PT5M,2005-08-29T20:32:35Z,2005-08-29T20:37:34Z,2005-08-29T20:42:36Z,2005-08-29T20:47:36Z,2005-08-29T20:52:35Z/2005-08-29T21:07:35Z/PT5M,2005-08-29T22:12:35Z,2005-08-29T22:17:34Z,2005-08-29T22:22:36Z,2005-08-29T22:27:36Z,2005-08-29T22:32:35Z/2005-08-29T22:47:35Z/PT5M,2005-08-29T23:47:35Z,2005-08-29T23:52:35Z,2005-08-29T23:57:34Z,2005-08-30T00:02:36Z/2005-08-30T00:12:36Z/PT5M,2005-08-30T00:17:35Z/2005-08-30T00:27:35Z/PT5M,2005-08-30T01:27:35Z/2005-08-30T01:37:35Z/PT5M,2005-08-30T01:42:34Z,2005-08-30T01:47:36Z,2005-08-30T01:52:36Z,2005-08-30T01:57:35Z/2005-08-30T02:07:35Z/PT5M,2005-08-30T03:07:35Z/2005-08-30T03:17:35Z/PT5M,2005-08-30T03:22:34Z,2005-08-30T03:27:36Z,2005-08-30T03:32:36Z,2005-08-30T03:37:35Z,2005-08-30T03:42:35Z,2005-08-30T04:47:35Z/2005-08-30T04:57:35Z/PT5M,2005-08-30T05:02:34Z,2005-08-30T05:07:36Z,2005-08-30T05:12:36Z,2005-08-30T05:17:35Z,2005-08-30T05:22:35Z,2005-08-30T06:22:35Z/2005-08-30T06:37:35Z/PT5M,2005-08-30T06:42:34Z,2005-08-30T06:47:36Z,2005-08-30T06:52:36Z,2005-08-30T06:57:35Z,2005-08-30T07:02:35Z,2005-08-30T08:02:35Z/2005-08-30T08:17:35Z/PT5M,2005-08-30T08:22:34Z,2005-08-30T08:27:36Z/2005-08-30T08:37:36Z/PT5M,2005-08-30T08:42:35Z,2005-08-30T09:42:35Z/2005-08-30T10:02:35Z/PT5M,2005-08-30T10:07:34Z,2005-08-30T10:12:36Z,2005-08-30T10:17:36Z,2005-08-30T11:22:35Z/2005-08-30T11:42:35Z/PT5M,2005-08-30T11:47:34Z,2005-08-30T11:52:36Z,2005-08-30T11:57:36Z,2005-08-30T13:02:35Z/2005-08-30T13:22:35Z/PT5M,2005-08-30T13:27:34Z,2005-08-30T13:32:36Z,2005-08-30T13:37:36Z,2005-08-30T14:37:35Z/2005-08-30T15:02:35Z/PT5M,2005-08-30T15:07:34Z,2005-08-30T15:12:36Z,2005-08-30T15:17:36Z,2005-08-30T16:17:35Z/2005-08-30T16:42:35Z/PT5M,2005-08-30T16:47:34Z,2005-08-30T16:52:34Z,2005-08-30T17:57:35Z/2005-08-30T18:27:35Z/PT5M,2005-08-30T18:32:34Z,2005-08-30T19:37:35Z/2005-08-30T20:07:35Z/PT5M,2005-08-30T20:12:34Z,2005-08-30T21:12:36Z,2005-08-30T21:17:35Z/2005-08-30T21:47:35Z/PT5M,2005-08-30T21:52:34Z</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003326/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003326/a003326.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://science.hq.nasa.gov/oceans/living/color.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Four days of Aqua MODIS ocean color granules during the period of Hurricane Katrina, from August 27, 2005 through August 30, 2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003326/aqua_chlor_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3324_24791</Name>
+					<Title>Aqua MODIS Sea Surface Temperature Progression during Hurricane Katrina (1024x512 Animation)</Title>
+					<Abstract>The Aqua satellite orbits the Earth every 99 minutes in a polar, sun-synchronous orbit.  The MODIS instrument on Aqua observes reflected light from the Earth in 36 spectral frequencies.  These observations can be processed to show many properties of the Earth's surface, from temperature and phytoplankton measurements near the surface of the ocean to fire occurrences and land cover characteristics on the land surface.
+This animation shows MODIS sea surface temperature data from about 4 days of individual Aqua orbits.  Sea surface temperature can only be measured by MODIS in ocean regions that are free of both clouds and sun glint, the bright band of specular reflection in the center of each granule.  For this animation the data is accumulated and so builds up a complete picture of the surface of the Earth except around the South Pole, which is in darkness during the entire 4-day period.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Platform Characteristics:Orbital Characteristics</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T21:52:34Z">2005-08-26T23:17:35Z/2005-08-26T23:32:35Z/PT5M,2005-08-26T23:37:34Z,2005-08-26T23:42:36Z,2005-08-26T23:47:36Z,2005-08-26T23:52:35Z,2005-08-26T23:57:35Z,2005-08-27T00:57:35Z/2005-08-27T01:12:35Z/PT5M,2005-08-27T01:17:34Z,2005-08-27T01:22:36Z,2005-08-27T01:27:36Z,2005-08-27T01:32:35Z,2005-08-27T02:37:35Z/2005-08-27T02:52:35Z/PT5M,2005-08-27T02:57:34Z,2005-08-27T03:02:36Z,2005-08-27T03:07:36Z,2005-08-27T03:12:35Z,2005-08-27T04:17:35Z/2005-08-27T04:32:35Z/PT5M,2005-08-27T04:37:34Z,2005-08-27T04:42:36Z,2005-08-27T04:47:36Z,2005-08-27T04:52:35Z,2005-08-27T05:52:35Z/2005-08-27T06:12:35Z/PT5M,2005-08-27T06:17:34Z,2005-08-27T06:22:36Z/2005-08-27T06:32:36Z/PT5M,2005-08-27T07:32:35Z/2005-08-27T07:57:35Z/PT5M,2005-08-27T08:02:34Z,2005-08-27T08:07:36Z,2005-08-27T09:12:35Z/2005-08-27T09:37:35Z/PT5M,2005-08-27T09:42:34Z,2005-08-27T09:47:36Z,2005-08-27T10:52:35Z/2005-08-27T11:17:35Z/PT5M,2005-08-27T11:22:34Z,2005-08-27T11:27:36Z,2005-08-27T12:27:35Z/2005-08-27T12:57:35Z/PT5M,2005-08-27T13:02:34Z,2005-08-27T13:07:36Z,2005-08-27T14:07:36Z,2005-08-27T14:12:35Z/2005-08-27T14:37:35Z/PT5M,2005-08-27T14:42:34Z,2005-08-27T14:47:36Z,2005-08-27T15:47:36Z,2005-08-27T15:52:35Z/2005-08-27T16:22:35Z/PT5M,2005-08-27T17:27:36Z,2005-08-27T17:32:35Z/2005-08-27T18:02:35Z/PT5M,2005-08-27T19:02:36Z,2005-08-27T19:07:36Z,2005-08-27T19:12:35Z/2005-08-27T19:42:35Z/PT5M,2005-08-27T20:42:36Z,2005-08-27T20:47:36Z,2005-08-27T20:52:35Z/2005-08-27T21:22:35Z/PT5M,2005-08-27T22:22:36Z/2005-08-27T22:32:36Z/PT5M,2005-08-27T22:37:35Z/2005-08-27T22:57:35Z/PT5M,2005-08-28T00:02:34Z,2005-08-28T00:07:36Z,2005-08-28T00:12:36Z,2005-08-28T00:17:35Z/2005-08-28T00:37:35Z/PT5M,2005-08-28T01:42:34Z,2005-08-28T01:47:36Z,2005-08-28T01:52:36Z,2005-08-28T01:57:35Z/2005-08-28T02:17:35Z/PT5M,2005-08-28T03:17:35Z,2005-08-28T03:22:34Z,2005-08-28T03:27:36Z,2005-08-28T03:32:36Z,2005-08-28T03:37:35Z/2005-08-28T03:57:35Z/PT5M,2005-08-28T04:57:35Z,2005-08-28T05:02:34Z,2005-08-28T05:07:36Z,2005-08-28T05:12:36Z,2005-08-28T05:17:35Z/2005-08-28T05:37:35Z/PT5M,2005-08-28T06:37:35Z,2005-08-28T06:42:34Z,2005-08-28T06:47:36Z/2005-08-28T06:57:36Z/PT5M,2005-08-28T07:02:35Z/2005-08-28T07:12:35Z/PT5M,2005-08-28T08:17:35Z,2005-08-28T08:22:35Z,2005-08-28T08:27:34Z,2005-08-28T08:32:36Z,2005-08-28T08:37:36Z,2005-08-28T08:42:35Z/2005-08-28T08:52:35Z/PT5M,2005-08-28T09:52:35Z/2005-08-28T10:02:35Z/PT5M,2005-08-28T10:07:34Z,2005-08-28T10:12:36Z,2005-08-28T10:17:36Z,2005-08-28T10:22:35Z/2005-08-28T10:32:35Z/PT5M,2005-08-28T11:32:35Z/2005-08-28T11:42:35Z/PT5M,2005-08-28T11:47:34Z,2005-08-28T11:52:36Z,2005-08-28T11:57:36Z,2005-08-28T12:02:35Z/2005-08-28T12:12:35Z/PT5M,2005-08-28T13:12:35Z/2005-08-28T13:22:35Z/PT5M,2005-08-28T13:27:34Z,2005-08-28T13:32:36Z,2005-08-28T13:37:36Z,2005-08-28T13:42:35Z,2005-08-28T13:47:35Z,2005-08-28T14:52:35Z/2005-08-28T15:02:35Z/PT5M,2005-08-28T15:07:34Z,2005-08-28T15:12:36Z/2005-08-28T15:22:36Z/PT5M,2005-08-28T15:27:35Z,2005-08-28T16:32:35Z/2005-08-28T16:47:35Z/PT5M,2005-08-28T16:52:34Z,2005-08-28T16:57:36Z,2005-08-28T17:02:36Z,2005-08-28T17:07:35Z,2005-08-28T18:07:35Z/2005-08-28T18:27:35Z/PT5M,2005-08-28T18:32:34Z,2005-08-28T18:37:36Z,2005-08-28T18:42:36Z,2005-08-28T18:47:35Z,2005-08-28T19:47:35Z/2005-08-28T20:07:35Z/PT5M,2005-08-28T20:12:34Z,2005-08-28T20:17:36Z,2005-08-28T20:22:36Z,2005-08-28T20:27:35Z,2005-08-28T21:27:35Z/2005-08-28T21:47:35Z/PT5M,2005-08-28T21:52:34Z,2005-08-28T21:57:36Z,2005-08-28T22:02:36Z,2005-08-28T23:07:35Z/2005-08-28T23:27:35Z/PT5M,2005-08-28T23:32:34Z,2005-08-28T23:37:36Z,2005-08-28T23:42:36Z,2005-08-29T00:42:35Z/2005-08-29T01:12:35Z/PT5M,2005-08-29T01:17:34Z,2005-08-29T01:22:36Z,2005-08-29T02:22:35Z/2005-08-29T02:52:35Z/PT5M,2005-08-29T02:57:34Z,2005-08-29T03:02:36Z,2005-08-29T04:02:35Z/2005-08-29T04:32:35Z/PT5M,2005-08-29T04:37:34Z,2005-08-29T05:42:35Z/2005-08-29T06:12:35Z/PT5M,2005-08-29T06:17:34Z,2005-08-29T07:22:36Z,2005-08-29T07:27:35Z/2005-08-29T07:52:35Z/PT5M,2005-08-29T07:57:34Z,2005-08-29T08:57:36Z,2005-08-29T09:02:36Z,2005-08-29T09:07:35Z/2005-08-29T09:37:35Z/PT5M,2005-08-29T10:37:36Z,2005-08-29T10:42:36Z,2005-08-29T10:47:35Z/2005-08-29T11:17:35Z/PT5M,2005-08-29T12:17:36Z,2005-08-29T12:22:36Z,2005-08-29T12:27:35Z/2005-08-29T12:52:35Z/PT5M,2005-08-29T13:57:36Z,2005-08-29T14:02:36Z,2005-08-29T14:07:35Z/2005-08-29T14:32:35Z/PT5M,2005-08-29T15:32:34Z,2005-08-29T15:37:36Z/2005-08-29T15:47:36Z/PT5M,2005-08-29T15:52:35Z/2005-08-29T16:12:35Z/PT5M,2005-08-29T17:12:35Z,2005-08-29T17:17:34Z,2005-08-29T17:22:36Z,2005-08-29T17:27:36Z,2005-08-29T17:32:35Z/2005-08-29T17:52:35Z/PT5M,2005-08-29T18:52:35Z,2005-08-29T18:57:34Z,2005-08-29T19:02:36Z,2005-08-29T19:07:36Z,2005-08-29T19:12:35Z/2005-08-29T19:27:35Z/PT5M,2005-08-29T20:32:35Z,2005-08-29T20:37:34Z,2005-08-29T20:42:36Z,2005-08-29T20:47:36Z,2005-08-29T20:52:35Z/2005-08-29T21:07:35Z/PT5M,2005-08-29T22:12:35Z,2005-08-29T22:17:34Z,2005-08-29T22:22:36Z,2005-08-29T22:27:36Z,2005-08-29T22:32:35Z/2005-08-29T22:47:35Z/PT5M,2005-08-29T23:47:35Z,2005-08-29T23:52:35Z,2005-08-29T23:57:34Z,2005-08-30T00:02:36Z/2005-08-30T00:12:36Z/PT5M,2005-08-30T00:17:35Z/2005-08-30T00:27:35Z/PT5M,2005-08-30T01:27:35Z/2005-08-30T01:37:35Z/PT5M,2005-08-30T01:42:34Z,2005-08-30T01:47:36Z,2005-08-30T01:52:36Z,2005-08-30T01:57:35Z/2005-08-30T02:07:35Z/PT5M,2005-08-30T03:07:35Z/2005-08-30T03:17:35Z/PT5M,2005-08-30T03:22:34Z,2005-08-30T03:27:36Z,2005-08-30T03:32:36Z,2005-08-30T03:37:35Z,2005-08-30T03:42:35Z,2005-08-30T04:47:35Z/2005-08-30T04:57:35Z/PT5M,2005-08-30T05:02:34Z,2005-08-30T05:07:36Z,2005-08-30T05:12:36Z,2005-08-30T05:17:35Z,2005-08-30T05:22:35Z,2005-08-30T06:22:35Z/2005-08-30T06:37:35Z/PT5M,2005-08-30T06:42:34Z,2005-08-30T06:47:36Z,2005-08-30T06:52:36Z,2005-08-30T06:57:35Z,2005-08-30T07:02:35Z,2005-08-30T08:02:35Z/2005-08-30T08:17:35Z/PT5M,2005-08-30T08:22:34Z,2005-08-30T08:27:36Z/2005-08-30T08:37:36Z/PT5M,2005-08-30T08:42:35Z,2005-08-30T09:42:35Z/2005-08-30T10:02:35Z/PT5M,2005-08-30T10:07:34Z,2005-08-30T10:12:36Z,2005-08-30T10:17:36Z,2005-08-30T11:22:35Z/2005-08-30T11:42:35Z/PT5M,2005-08-30T11:47:34Z,2005-08-30T11:52:36Z,2005-08-30T11:57:36Z,2005-08-30T13:02:35Z/2005-08-30T13:22:35Z/PT5M,2005-08-30T13:27:34Z,2005-08-30T13:32:36Z,2005-08-30T13:37:36Z,2005-08-30T14:37:35Z/2005-08-30T15:02:35Z/PT5M,2005-08-30T15:07:34Z,2005-08-30T15:12:36Z,2005-08-30T15:17:36Z,2005-08-30T16:17:35Z/2005-08-30T16:42:35Z/PT5M,2005-08-30T16:47:34Z,2005-08-30T16:52:34Z,2005-08-30T17:57:35Z/2005-08-30T18:27:35Z/PT5M,2005-08-30T18:32:34Z,2005-08-30T19:37:35Z/2005-08-30T20:07:35Z/PT5M,2005-08-30T20:12:34Z,2005-08-30T21:12:36Z,2005-08-30T21:17:35Z/2005-08-30T21:47:35Z/PT5M,2005-08-30T21:52:34Z</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003324/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003324/a003324.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Four days of accumulating Aqua MODIS sea surface temperature swaths during the period of Hurricane Katrina, from August 27, 2005 through August 30, 2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003324/aqua_sst_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3323_24785</Name>
+					<Title>Aqua MODIS Sea Surface Temperature Granules during Hurricane Katrina (1024x512 Animation)</Title>
+					<Abstract>The Aqua satellite orbits the Earth every 99 minutes in a polar, sun-synchronous orbit.  The MODIS instrument on Aqua observes reflected light from the Earth in 36 spectral frequencies.  These observations can be processed to show many properties of the Earth's surface, from temperature and phytoplankton measurements near the surface of the ocean to fire occurrences and land cover characteristics on the land surface.
+The MODIS observations start out divided into 5-minute sections called granules, and this animation shows MODIS sea surface temperature data from about 4 days of individual Aqua granules.  Sea surface temperature can only be measured by MODIS in ocean regions that are free of both clouds and sun glint, the bright band of specular reflection in the center of each granule.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Physical oceanography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Oceans:Ocean Temperature:Sea Surface Temperature</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Platform Characteristics:Orbital Characteristics</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T21:52:34Z">2005-08-26T23:17:35Z/2005-08-26T23:32:35Z/PT5M,2005-08-26T23:37:34Z,2005-08-26T23:42:36Z,2005-08-26T23:47:36Z,2005-08-26T23:52:35Z,2005-08-26T23:57:35Z,2005-08-27T00:57:35Z/2005-08-27T01:12:35Z/PT5M,2005-08-27T01:17:34Z,2005-08-27T01:22:36Z,2005-08-27T01:27:36Z,2005-08-27T01:32:35Z,2005-08-27T02:37:35Z/2005-08-27T02:52:35Z/PT5M,2005-08-27T02:57:34Z,2005-08-27T03:02:36Z,2005-08-27T03:07:36Z,2005-08-27T03:12:35Z,2005-08-27T04:17:35Z/2005-08-27T04:32:35Z/PT5M,2005-08-27T04:37:34Z,2005-08-27T04:42:36Z,2005-08-27T04:47:36Z,2005-08-27T04:52:35Z,2005-08-27T05:52:35Z/2005-08-27T06:12:35Z/PT5M,2005-08-27T06:17:34Z,2005-08-27T06:22:36Z/2005-08-27T06:32:36Z/PT5M,2005-08-27T07:32:35Z/2005-08-27T07:57:35Z/PT5M,2005-08-27T08:02:34Z,2005-08-27T08:07:36Z,2005-08-27T09:12:35Z/2005-08-27T09:37:35Z/PT5M,2005-08-27T09:42:34Z,2005-08-27T09:47:36Z,2005-08-27T10:52:35Z/2005-08-27T11:17:35Z/PT5M,2005-08-27T11:22:34Z,2005-08-27T11:27:36Z,2005-08-27T12:27:35Z/2005-08-27T12:57:35Z/PT5M,2005-08-27T13:02:34Z,2005-08-27T13:07:36Z,2005-08-27T14:07:36Z,2005-08-27T14:12:35Z/2005-08-27T14:37:35Z/PT5M,2005-08-27T14:42:34Z,2005-08-27T14:47:36Z,2005-08-27T15:47:36Z,2005-08-27T15:52:35Z/2005-08-27T16:22:35Z/PT5M,2005-08-27T17:27:36Z,2005-08-27T17:32:35Z/2005-08-27T18:02:35Z/PT5M,2005-08-27T19:02:36Z,2005-08-27T19:07:36Z,2005-08-27T19:12:35Z/2005-08-27T19:42:35Z/PT5M,2005-08-27T20:42:36Z,2005-08-27T20:47:36Z,2005-08-27T20:52:35Z/2005-08-27T21:22:35Z/PT5M,2005-08-27T22:22:36Z/2005-08-27T22:32:36Z/PT5M,2005-08-27T22:37:35Z/2005-08-27T22:57:35Z/PT5M,2005-08-28T00:02:34Z,2005-08-28T00:07:36Z,2005-08-28T00:12:36Z,2005-08-28T00:17:35Z/2005-08-28T00:37:35Z/PT5M,2005-08-28T01:42:34Z,2005-08-28T01:47:36Z,2005-08-28T01:52:36Z,2005-08-28T01:57:35Z/2005-08-28T02:17:35Z/PT5M,2005-08-28T03:17:35Z,2005-08-28T03:22:34Z,2005-08-28T03:27:36Z,2005-08-28T03:32:36Z,2005-08-28T03:37:35Z/2005-08-28T03:57:35Z/PT5M,2005-08-28T04:57:35Z,2005-08-28T05:02:34Z,2005-08-28T05:07:36Z,2005-08-28T05:12:36Z,2005-08-28T05:17:35Z/2005-08-28T05:37:35Z/PT5M,2005-08-28T06:37:35Z,2005-08-28T06:42:34Z,2005-08-28T06:47:36Z/2005-08-28T06:57:36Z/PT5M,2005-08-28T07:02:35Z/2005-08-28T07:12:35Z/PT5M,2005-08-28T08:17:35Z,2005-08-28T08:22:35Z,2005-08-28T08:27:34Z,2005-08-28T08:32:36Z,2005-08-28T08:37:36Z,2005-08-28T08:42:35Z/2005-08-28T08:52:35Z/PT5M,2005-08-28T09:52:35Z/2005-08-28T10:02:35Z/PT5M,2005-08-28T10:07:34Z,2005-08-28T10:12:36Z,2005-08-28T10:17:36Z,2005-08-28T10:22:35Z/2005-08-28T10:32:35Z/PT5M,2005-08-28T11:32:35Z/2005-08-28T11:42:35Z/PT5M,2005-08-28T11:47:34Z,2005-08-28T11:52:36Z,2005-08-28T11:57:36Z,2005-08-28T12:02:35Z/2005-08-28T12:12:35Z/PT5M,2005-08-28T13:12:35Z/2005-08-28T13:22:35Z/PT5M,2005-08-28T13:27:34Z,2005-08-28T13:32:36Z,2005-08-28T13:37:36Z,2005-08-28T13:42:35Z,2005-08-28T13:47:35Z,2005-08-28T14:52:35Z/2005-08-28T15:02:35Z/PT5M,2005-08-28T15:07:34Z,2005-08-28T15:12:36Z/2005-08-28T15:22:36Z/PT5M,2005-08-28T15:27:35Z,2005-08-28T16:32:35Z/2005-08-28T16:47:35Z/PT5M,2005-08-28T16:52:34Z,2005-08-28T16:57:36Z,2005-08-28T17:02:36Z,2005-08-28T17:07:35Z,2005-08-28T18:07:35Z/2005-08-28T18:27:35Z/PT5M,2005-08-28T18:32:34Z,2005-08-28T18:37:36Z,2005-08-28T18:42:36Z,2005-08-28T18:47:35Z,2005-08-28T19:47:35Z/2005-08-28T20:07:35Z/PT5M,2005-08-28T20:12:34Z,2005-08-28T20:17:36Z,2005-08-28T20:22:36Z,2005-08-28T20:27:35Z,2005-08-28T21:27:35Z/2005-08-28T21:47:35Z/PT5M,2005-08-28T21:52:34Z,2005-08-28T21:57:36Z,2005-08-28T22:02:36Z,2005-08-28T23:07:35Z/2005-08-28T23:27:35Z/PT5M,2005-08-28T23:32:34Z,2005-08-28T23:37:36Z,2005-08-28T23:42:36Z,2005-08-29T00:42:35Z/2005-08-29T01:12:35Z/PT5M,2005-08-29T01:17:34Z,2005-08-29T01:22:36Z,2005-08-29T02:22:35Z/2005-08-29T02:52:35Z/PT5M,2005-08-29T02:57:34Z,2005-08-29T03:02:36Z,2005-08-29T04:02:35Z/2005-08-29T04:32:35Z/PT5M,2005-08-29T04:37:34Z,2005-08-29T05:42:35Z/2005-08-29T06:12:35Z/PT5M,2005-08-29T06:17:34Z,2005-08-29T07:22:36Z,2005-08-29T07:27:35Z/2005-08-29T07:52:35Z/PT5M,2005-08-29T07:57:34Z,2005-08-29T08:57:36Z,2005-08-29T09:02:36Z,2005-08-29T09:07:35Z/2005-08-29T09:37:35Z/PT5M,2005-08-29T10:37:36Z,2005-08-29T10:42:36Z,2005-08-29T10:47:35Z/2005-08-29T11:17:35Z/PT5M,2005-08-29T12:17:36Z,2005-08-29T12:22:36Z,2005-08-29T12:27:35Z/2005-08-29T12:52:35Z/PT5M,2005-08-29T13:57:36Z,2005-08-29T14:02:36Z,2005-08-29T14:07:35Z/2005-08-29T14:32:35Z/PT5M,2005-08-29T15:32:34Z,2005-08-29T15:37:36Z/2005-08-29T15:47:36Z/PT5M,2005-08-29T15:52:35Z/2005-08-29T16:12:35Z/PT5M,2005-08-29T17:12:35Z,2005-08-29T17:17:34Z,2005-08-29T17:22:36Z,2005-08-29T17:27:36Z,2005-08-29T17:32:35Z/2005-08-29T17:52:35Z/PT5M,2005-08-29T18:52:35Z,2005-08-29T18:57:34Z,2005-08-29T19:02:36Z,2005-08-29T19:07:36Z,2005-08-29T19:12:35Z/2005-08-29T19:27:35Z/PT5M,2005-08-29T20:32:35Z,2005-08-29T20:37:34Z,2005-08-29T20:42:36Z,2005-08-29T20:47:36Z,2005-08-29T20:52:35Z/2005-08-29T21:07:35Z/PT5M,2005-08-29T22:12:35Z,2005-08-29T22:17:34Z,2005-08-29T22:22:36Z,2005-08-29T22:27:36Z,2005-08-29T22:32:35Z/2005-08-29T22:47:35Z/PT5M,2005-08-29T23:47:35Z,2005-08-29T23:52:35Z,2005-08-29T23:57:34Z,2005-08-30T00:02:36Z/2005-08-30T00:12:36Z/PT5M,2005-08-30T00:17:35Z/2005-08-30T00:27:35Z/PT5M,2005-08-30T01:27:35Z/2005-08-30T01:37:35Z/PT5M,2005-08-30T01:42:34Z,2005-08-30T01:47:36Z,2005-08-30T01:52:36Z,2005-08-30T01:57:35Z/2005-08-30T02:07:35Z/PT5M,2005-08-30T03:07:35Z/2005-08-30T03:17:35Z/PT5M,2005-08-30T03:22:34Z,2005-08-30T03:27:36Z,2005-08-30T03:32:36Z,2005-08-30T03:37:35Z,2005-08-30T03:42:35Z,2005-08-30T04:47:35Z/2005-08-30T04:57:35Z/PT5M,2005-08-30T05:02:34Z,2005-08-30T05:07:36Z,2005-08-30T05:12:36Z,2005-08-30T05:17:35Z,2005-08-30T05:22:35Z,2005-08-30T06:22:35Z/2005-08-30T06:37:35Z/PT5M,2005-08-30T06:42:34Z,2005-08-30T06:47:36Z,2005-08-30T06:52:36Z,2005-08-30T06:57:35Z,2005-08-30T07:02:35Z,2005-08-30T08:02:35Z/2005-08-30T08:17:35Z/PT5M,2005-08-30T08:22:34Z,2005-08-30T08:27:36Z/2005-08-30T08:37:36Z/PT5M,2005-08-30T08:42:35Z,2005-08-30T09:42:35Z/2005-08-30T10:02:35Z/PT5M,2005-08-30T10:07:34Z,2005-08-30T10:12:36Z,2005-08-30T10:17:36Z,2005-08-30T11:22:35Z/2005-08-30T11:42:35Z/PT5M,2005-08-30T11:47:34Z,2005-08-30T11:52:36Z,2005-08-30T11:57:36Z,2005-08-30T13:02:35Z/2005-08-30T13:22:35Z/PT5M,2005-08-30T13:27:34Z,2005-08-30T13:32:36Z,2005-08-30T13:37:36Z,2005-08-30T14:37:35Z/2005-08-30T15:02:35Z/PT5M,2005-08-30T15:07:34Z,2005-08-30T15:12:36Z,2005-08-30T15:17:36Z,2005-08-30T16:17:35Z/2005-08-30T16:42:35Z/PT5M,2005-08-30T16:47:34Z,2005-08-30T16:52:34Z,2005-08-30T17:57:35Z/2005-08-30T18:27:35Z/PT5M,2005-08-30T18:32:34Z,2005-08-30T19:37:35Z/2005-08-30T20:07:35Z/PT5M,2005-08-30T20:12:34Z,2005-08-30T21:12:36Z,2005-08-30T21:17:35Z/2005-08-30T21:47:35Z/PT5M,2005-08-30T21:52:34Z</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003323/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003323/a003323.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Four days of Aqua MODIS sea surface temperature granules during the period of Hurricane Katrina, from August 27, 2005 through August 30, 2005.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003323/aqua_sst_bar.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3322_24935</Name>
+					<Title>MODIS True Color Swaths during Hurricane Katrina (1024x512 Animation)</Title>
+					<Abstract>The Aqua satellite orbits the Earth every 99 minutes in a polar, sun-synchronous orbit.  The MODIS instrument on Aqua observes reflected light from the Earth in 36 spectral frequencies.  These observations can be processed to show many properties of the Earth's surface, from temperature and phytoplankton measurements near the surface of the ocean to fire occurrences and land cover characteristics on the land surface.
+This animation shows about 4 days of MODIS data from individual Aqua orbits processed to look like true-color photographs of the planet's surface.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Platform Characteristics:Orbital Characteristics</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T21:55:00Z">2005-08-26T23:10:00Z/2005-08-27T00:00:00Z/PT5M,2005-08-27T00:50:00Z/2005-08-27T01:40:00Z/PT5M,2005-08-27T02:25:00Z/2005-08-27T03:20:00Z/PT5M,2005-08-27T04:05:00Z/2005-08-27T04:55:00Z/PT5M,2005-08-27T05:45:00Z/2005-08-27T06:35:00Z/PT5M,2005-08-27T07:25:00Z/2005-08-27T08:15:00Z/PT5M,2005-08-27T09:00:00Z/2005-08-27T09:55:00Z/PT5M,2005-08-27T10:40:00Z/2005-08-27T11:30:00Z/PT5M,2005-08-27T12:20:00Z/2005-08-27T13:10:00Z/PT5M,2005-08-27T14:00:00Z/2005-08-27T14:50:00Z/PT5M,2005-08-27T15:40:00Z/2005-08-27T16:30:00Z/PT5M,2005-08-27T17:15:00Z/2005-08-27T18:10:00Z/PT5M,2005-08-27T18:55:00Z/2005-08-27T19:45:00Z/PT5M,2005-08-27T20:35:00Z/2005-08-27T21:25:00Z/PT5M,2005-08-27T22:15:00Z/2005-08-27T23:05:00Z/PT5M,2005-08-27T23:50:00Z/2005-08-28T00:45:00Z/PT5M,2005-08-28T01:30:00Z/2005-08-28T02:20:00Z/PT5M,2005-08-28T03:10:00Z/2005-08-28T04:00:00Z/PT5M,2005-08-28T04:50:00Z/2005-08-28T05:40:00Z/PT5M,2005-08-28T06:25:00Z/2005-08-28T07:20:00Z/PT5M,2005-08-28T08:05:00Z/2005-08-28T09:00:00Z/PT5M,2005-08-28T09:45:00Z/2005-08-28T10:35:00Z/PT5M,2005-08-28T11:25:00Z/2005-08-28T12:15:00Z/PT5M,2005-08-28T13:05:00Z/2005-08-28T13:55:00Z/PT5M,2005-08-28T14:40:00Z/2005-08-28T15:35:00Z/PT5M,2005-08-28T16:20:00Z/2005-08-28T17:10:00Z/PT5M,2005-08-28T18:00:00Z/2005-08-28T18:50:00Z/PT5M,2005-08-28T19:40:00Z/2005-08-28T20:30:00Z/PT5M,2005-08-28T21:15:00Z/2005-08-28T22:10:00Z/PT5M,2005-08-28T22:55:00Z/2005-08-28T23:50:00Z/PT5M,2005-08-29T00:35:00Z/2005-08-29T01:25:00Z/PT5M,2005-08-29T02:15:00Z/2005-08-29T03:05:00Z/PT5M,2005-08-29T03:55:00Z/2005-08-29T04:45:00Z/PT5M,2005-08-29T05:30:00Z/2005-08-29T06:25:00Z/PT5M,2005-08-29T07:10:00Z/2005-08-29T08:00:00Z/PT5M,2005-08-29T08:50:00Z/2005-08-29T09:40:00Z/PT5M,2005-08-29T10:30:00Z/2005-08-29T11:20:00Z/PT5M,2005-08-29T12:05:00Z/2005-08-29T13:00:00Z/PT5M,2005-08-29T13:45:00Z/2005-08-29T14:40:00Z/PT5M,2005-08-29T15:25:00Z/2005-08-29T16:15:00Z/PT5M,2005-08-29T17:05:00Z/2005-08-29T17:55:00Z/PT5M,2005-08-29T18:45:00Z/2005-08-29T19:35:00Z/PT5M,2005-08-29T20:20:00Z/2005-08-29T21:15:00Z/PT5M,2005-08-29T22:00:00Z/2005-08-29T22:50:00Z/PT5M,2005-08-29T23:40:00Z/2005-08-30T00:30:00Z/PT5M,2005-08-30T01:20:00Z/2005-08-30T02:10:00Z/PT5M,2005-08-30T02:55:00Z/2005-08-30T03:50:00Z/PT5M,2005-08-30T04:35:00Z/2005-08-30T05:25:00Z/PT5M,2005-08-30T06:15:00Z/2005-08-30T07:05:00Z/PT5M,2005-08-30T07:55:00Z/2005-08-30T08:45:00Z/PT5M,2005-08-30T09:35:00Z/2005-08-30T10:25:00Z/PT5M,2005-08-30T11:10:00Z/2005-08-30T12:05:00Z/PT5M,2005-08-30T12:50:00Z/2005-08-30T13:40:00Z/PT5M,2005-08-30T14:30:00Z/2005-08-30T15:20:00Z/PT5M,2005-08-30T16:10:00Z/2005-08-30T17:00:00Z/PT5M,2005-08-30T17:45:00Z/2005-08-30T18:40:00Z/PT5M,2005-08-30T19:25:00Z/2005-08-30T20:15:00Z/PT5M,2005-08-30T21:05:00Z/2005-08-30T21:55:00Z/PT5M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003322/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003322/a003322.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Four days of Aqua MODIS true-color swaths during the period of Hurricane Katrina, from August 27, 2005 through August 30, 2005.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3321_24931</Name>
+					<Title>Aqua MODIS True Color Progression during Hurricane Katrina (1024x512 Animation)</Title>
+					<Abstract>The Aqua satellite orbits the Earth every 99 minutes in a polar, sun-synchronous orbit.  The MODIS instrument on Aqua observes reflected light from the Earth in 36 spectral frequencies.  These observations can be processed to show many properties of the Earth's surface, from temperature and phytoplankton measurements near the surface of the ocean to fire occurrences and land cover characteristics on the land surface.
+This animation shows about 4 days of MODIS data from individual Aqua orbits processed to look like true-color photographs of the planet's surface.  For this animation the data is accumulated and so builds up a complete pictue of the surface of the Earth except around the South Pole, which is in darkness during this entire 4-day period.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Platform Characteristics:Orbital Characteristics</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T21:55:00Z">2005-08-26T23:10:00Z/2005-08-27T00:00:00Z/PT5M,2005-08-27T00:50:00Z/2005-08-27T01:40:00Z/PT5M,2005-08-27T02:25:00Z/2005-08-27T03:20:00Z/PT5M,2005-08-27T04:05:00Z/2005-08-27T04:55:00Z/PT5M,2005-08-27T05:45:00Z/2005-08-27T06:35:00Z/PT5M,2005-08-27T07:25:00Z/2005-08-27T08:15:00Z/PT5M,2005-08-27T09:00:00Z/2005-08-27T09:55:00Z/PT5M,2005-08-27T10:40:00Z/2005-08-27T11:30:00Z/PT5M,2005-08-27T12:20:00Z/2005-08-27T13:10:00Z/PT5M,2005-08-27T14:00:00Z/2005-08-27T14:50:00Z/PT5M,2005-08-27T15:40:00Z/2005-08-27T16:30:00Z/PT5M,2005-08-27T17:15:00Z/2005-08-27T18:10:00Z/PT5M,2005-08-27T18:55:00Z/2005-08-27T19:45:00Z/PT5M,2005-08-27T20:35:00Z/2005-08-27T21:25:00Z/PT5M,2005-08-27T22:15:00Z/2005-08-27T23:05:00Z/PT5M,2005-08-27T23:50:00Z/2005-08-28T00:45:00Z/PT5M,2005-08-28T01:30:00Z/2005-08-28T02:20:00Z/PT5M,2005-08-28T03:10:00Z/2005-08-28T04:00:00Z/PT5M,2005-08-28T04:50:00Z/2005-08-28T05:40:00Z/PT5M,2005-08-28T06:25:00Z/2005-08-28T07:20:00Z/PT5M,2005-08-28T08:05:00Z/2005-08-28T09:00:00Z/PT5M,2005-08-28T09:45:00Z/2005-08-28T10:35:00Z/PT5M,2005-08-28T11:25:00Z/2005-08-28T12:15:00Z/PT5M,2005-08-28T13:05:00Z/2005-08-28T13:55:00Z/PT5M,2005-08-28T14:40:00Z/2005-08-28T15:35:00Z/PT5M,2005-08-28T16:20:00Z/2005-08-28T17:10:00Z/PT5M,2005-08-28T18:00:00Z/2005-08-28T18:50:00Z/PT5M,2005-08-28T19:40:00Z/2005-08-28T20:30:00Z/PT5M,2005-08-28T21:15:00Z/2005-08-28T22:10:00Z/PT5M,2005-08-28T22:55:00Z/2005-08-28T23:50:00Z/PT5M,2005-08-29T00:35:00Z/2005-08-29T01:25:00Z/PT5M,2005-08-29T02:15:00Z/2005-08-29T03:05:00Z/PT5M,2005-08-29T03:55:00Z/2005-08-29T04:45:00Z/PT5M,2005-08-29T05:30:00Z/2005-08-29T06:25:00Z/PT5M,2005-08-29T07:10:00Z/2005-08-29T08:00:00Z/PT5M,2005-08-29T08:50:00Z/2005-08-29T09:40:00Z/PT5M,2005-08-29T10:30:00Z/2005-08-29T11:20:00Z/PT5M,2005-08-29T12:05:00Z/2005-08-29T13:00:00Z/PT5M,2005-08-29T13:45:00Z/2005-08-29T14:40:00Z/PT5M,2005-08-29T15:25:00Z/2005-08-29T16:15:00Z/PT5M,2005-08-29T17:05:00Z/2005-08-29T17:55:00Z/PT5M,2005-08-29T18:45:00Z/2005-08-29T19:35:00Z/PT5M,2005-08-29T20:20:00Z/2005-08-29T21:15:00Z/PT5M,2005-08-29T22:00:00Z/2005-08-29T22:50:00Z/PT5M,2005-08-29T23:40:00Z/2005-08-30T00:30:00Z/PT5M,2005-08-30T01:20:00Z/2005-08-30T02:10:00Z/PT5M,2005-08-30T02:55:00Z/2005-08-30T03:50:00Z/PT5M,2005-08-30T04:35:00Z/2005-08-30T05:25:00Z/PT5M,2005-08-30T06:15:00Z/2005-08-30T07:05:00Z/PT5M,2005-08-30T07:55:00Z/2005-08-30T08:45:00Z/PT5M,2005-08-30T09:35:00Z/2005-08-30T10:25:00Z/PT5M,2005-08-30T11:10:00Z/2005-08-30T12:05:00Z/PT5M,2005-08-30T12:50:00Z/2005-08-30T13:40:00Z/PT5M,2005-08-30T14:30:00Z/2005-08-30T15:20:00Z/PT5M,2005-08-30T16:10:00Z/2005-08-30T17:00:00Z/PT5M,2005-08-30T17:45:00Z/2005-08-30T18:40:00Z/PT5M,2005-08-30T19:25:00Z/2005-08-30T20:15:00Z/PT5M,2005-08-30T21:05:00Z/2005-08-30T21:55:00Z/PT5M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003321/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003321/a003321.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Four days of accumulating Aqua MODIS true-color swaths during the period of Hurricane Katrina, from August 27, 2005 through August 30, 2005.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3320_24939</Name>
+					<Title>Aqua MODIS True Color Granules during Hurricane Katrina (1024x512 Animation)</Title>
+					<Abstract>The Aqua satellite orbits the Earth every 99 minutes in a polar, sun-synchronous orbit.  The MODIS instrument on Aqua observes reflected light from the Earth in 36 spectral frequencies.  These observations can be processed to show many properties of the Earth's surface, from temperature and phytoplankton measurements near the surface of the ocean to fire occurrences and land cover characteristics on the land surface.
+The MODIS observations start out divided into 5-minute sections called granules, and this animation shows about 4 days of MODIS granules processed to look like true-color photographs of the planet's surface.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Platform Characteristics:Orbital Characteristics</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T21:55:00Z">2005-08-26T23:10:00Z/2005-08-27T00:00:00Z/PT5M,2005-08-27T00:50:00Z/2005-08-27T01:40:00Z/PT5M,2005-08-27T02:25:00Z/2005-08-27T03:20:00Z/PT5M,2005-08-27T04:05:00Z/2005-08-27T04:55:00Z/PT5M,2005-08-27T05:45:00Z/2005-08-27T06:35:00Z/PT5M,2005-08-27T07:25:00Z/2005-08-27T08:15:00Z/PT5M,2005-08-27T09:00:00Z/2005-08-27T09:55:00Z/PT5M,2005-08-27T10:40:00Z/2005-08-27T11:30:00Z/PT5M,2005-08-27T12:20:00Z/2005-08-27T13:10:00Z/PT5M,2005-08-27T14:00:00Z/2005-08-27T14:50:00Z/PT5M,2005-08-27T15:40:00Z/2005-08-27T16:30:00Z/PT5M,2005-08-27T17:15:00Z/2005-08-27T18:10:00Z/PT5M,2005-08-27T18:55:00Z/2005-08-27T19:45:00Z/PT5M,2005-08-27T20:35:00Z/2005-08-27T21:25:00Z/PT5M,2005-08-27T22:15:00Z/2005-08-27T23:05:00Z/PT5M,2005-08-27T23:50:00Z/2005-08-28T00:45:00Z/PT5M,2005-08-28T01:30:00Z/2005-08-28T02:20:00Z/PT5M,2005-08-28T03:10:00Z/2005-08-28T04:00:00Z/PT5M,2005-08-28T04:50:00Z/2005-08-28T05:40:00Z/PT5M,2005-08-28T06:25:00Z/2005-08-28T07:20:00Z/PT5M,2005-08-28T08:05:00Z/2005-08-28T09:00:00Z/PT5M,2005-08-28T09:45:00Z/2005-08-28T10:35:00Z/PT5M,2005-08-28T11:25:00Z/2005-08-28T12:15:00Z/PT5M,2005-08-28T13:05:00Z/2005-08-28T13:55:00Z/PT5M,2005-08-28T14:40:00Z/2005-08-28T15:35:00Z/PT5M,2005-08-28T16:20:00Z/2005-08-28T17:10:00Z/PT5M,2005-08-28T18:00:00Z/2005-08-28T18:50:00Z/PT5M,2005-08-28T19:40:00Z/2005-08-28T20:30:00Z/PT5M,2005-08-28T21:15:00Z/2005-08-28T22:10:00Z/PT5M,2005-08-28T22:55:00Z/2005-08-28T23:50:00Z/PT5M,2005-08-29T00:35:00Z/2005-08-29T01:25:00Z/PT5M,2005-08-29T02:15:00Z/2005-08-29T03:05:00Z/PT5M,2005-08-29T03:55:00Z/2005-08-29T04:45:00Z/PT5M,2005-08-29T05:30:00Z/2005-08-29T06:25:00Z/PT5M,2005-08-29T07:10:00Z/2005-08-29T08:00:00Z/PT5M,2005-08-29T08:50:00Z/2005-08-29T09:40:00Z/PT5M,2005-08-29T10:30:00Z/2005-08-29T11:20:00Z/PT5M,2005-08-29T12:05:00Z/2005-08-29T13:00:00Z/PT5M,2005-08-29T13:45:00Z/2005-08-29T14:40:00Z/PT5M,2005-08-29T15:25:00Z/2005-08-29T16:15:00Z/PT5M,2005-08-29T17:05:00Z/2005-08-29T17:55:00Z/PT5M,2005-08-29T18:45:00Z/2005-08-29T19:35:00Z/PT5M,2005-08-29T20:20:00Z/2005-08-29T21:15:00Z/PT5M,2005-08-29T22:00:00Z/2005-08-29T22:50:00Z/PT5M,2005-08-29T23:40:00Z/2005-08-30T00:30:00Z/PT5M,2005-08-30T01:20:00Z/2005-08-30T02:10:00Z/PT5M,2005-08-30T02:55:00Z/2005-08-30T03:50:00Z/PT5M,2005-08-30T04:35:00Z/2005-08-30T05:25:00Z/PT5M,2005-08-30T06:15:00Z/2005-08-30T07:05:00Z/PT5M,2005-08-30T07:55:00Z/2005-08-30T08:45:00Z/PT5M,2005-08-30T09:35:00Z/2005-08-30T10:25:00Z/PT5M,2005-08-30T11:10:00Z/2005-08-30T12:05:00Z/PT5M,2005-08-30T12:50:00Z/2005-08-30T13:40:00Z/PT5M,2005-08-30T14:30:00Z/2005-08-30T15:20:00Z/PT5M,2005-08-30T16:10:00Z/2005-08-30T17:00:00Z/PT5M,2005-08-30T17:45:00Z/2005-08-30T18:40:00Z/PT5M,2005-08-30T19:25:00Z/2005-08-30T20:15:00Z/PT5M,2005-08-30T21:05:00Z/2005-08-30T21:55:00Z/PT5M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003320/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003300/a003320/a003320.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Four days of Aqua MODIS true-color granules during the period of Hurricane Katrina, from August 27, 2005 through August 30, 2005.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3255_22652</Name>
+					<Title>Aqua MODIS Imagery of Hurricane Katrina (1024x1024 Animation)</Title>
+					<Abstract>Low earth-orbiting satellites, such as Aqua, usually see any place on Earth no more than once a day.  This daily sequence of color images from the MODIS instrument on Aqua shows the Gulf of Mexico during the period of Hurricane Katrina, from August 23 to August 30, 2005.  The gaps in the MODIS imagery occur between successive orbits, about 90 minutes apart, and are filled in in this animation using high-resolution visible imagery from GOES-12.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-100</westBoundLongitude>
+						<eastBoundLongitude>-70</eastBoundLongitude>
+						<southBoundLatitude>10</southBoundLatitude>
+						<northBoundLatitude>40</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-70" maxy="40"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T17:45Z">2005-08-23T17:45Z/2005-08-30T17:45Z/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003255/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003255/a003255.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Imagery of Hurricane Katrina from August 23, 2005 to August 30, 2005 from the MODIS Instrument on the Aqua satellite.  Gaps in the MODIS imagery have been filled in with visible imagery from GOES-12.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3254_22657</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Visible Close-up (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  The Imager takes a pattern of pictures of parts of the Earth in several wavelengths all day, measurements that are vital in weather forecasting.  This animation shows a daily sequence of GOES-12 images in the visible wavelengths, from 0.52 to 0.72 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  At one kilometer resolution, the visible band measurement is the highest resolution data from the Imager, which accounts for the very high level of detail in these images.  For this animation, the cloud data was extracted from GOES image and laid over a background color image of the southeast United States.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-100</westBoundLongitude>
+						<eastBoundLongitude>-70</eastBoundLongitude>
+						<southBoundLatitude>10</southBoundLatitude>
+						<northBoundLatitude>40</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-70" maxy="40"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T17:45Z">2005-08-23T17:45Z/2005-08-30T17:45Z/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003254/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003254/a003254.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>Imagery of Hurricane Katrina from August 23, 2005 to August 30, 2005 from the Imager instrument on GOES-12.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>TRMM Microwave Measurements during Hurricane Katrina: Horizontal Polarization</Title>
+					<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows eight days of global TMI 85 GHz measurements in the Gulf of Mexico during Hurricane Katrina.  The hurricane Katrina rainbands clearly show up in these images.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003250/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003250/a003250.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3250_22668</Name>
+						<Title>TRMM Microwave Measurements during Hurricane Katrina: Horizontal Polarization (512x512 Animation)</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows eight days of global TMI 85 GHz measurements in the Gulf of Mexico during Hurricane Katrina.  The hurricane Katrina rainbands clearly show up in these images.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-100</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>10</southBoundLatitude>
+							<northBoundLatitude>40</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-70" maxy="40"/>
+						<Dimension name="time" units="ISO8601" default="2005-08-30T22Z">2005-08-22T24Z,2005-08-23T05Z,2005-08-23T23Z,2005-08-24T06Z,2005-08-24T22Z,2005-08-25T05Z,2005-08-25T23Z,2005-08-26T04Z,2005-08-26T22Z,2005-08-27T04Z,2005-08-27T21Z,2005-08-28T04Z,2005-08-28T22Z,2005-08-29T03Z,2005-08-29T22Z,2005-08-30T02Z,2005-08-30T22Z</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003250/a003250.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Horizontally polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 22, 2005 through August 30, 2005, during Hurricane Katrina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003250/tmi_85_bar2.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Horizontally polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 22, 2005 through August 30, 2005, during Hurricane Katrina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003250/tmi_85_bar2.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3250_22668_bg</Name>
+						<Title>Background Image for TRMM Microwave Measurements during Hurricane Katrina: Horizontal Polarization</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows eight days of global TMI 85 GHz measurements in the Gulf of Mexico during Hurricane Katrina.  The hurricane Katrina rainbands clearly show up in these images.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-100</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>10</southBoundLatitude>
+							<northBoundLatitude>40</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-70" maxy="40"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003250/a003250.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>TRMM Microwave Measurements during Hurricane Katrina: Vertical Polarization</Title>
+					<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows eight days of global TMI 85 GHz measurements in the Gulf of Mexico during Hurricane Katrina.  The hurricane Katrina rainbands clearly show up in these images.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003249/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003249/a003249.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3249_22662</Name>
+						<Title>TRMM Microwave Measurements during Hurricane Katrina: Vertical Polarization (512x512 Animation)</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows eight days of global TMI 85 GHz measurements in the Gulf of Mexico during Hurricane Katrina.  The hurricane Katrina rainbands clearly show up in these images.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-100</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>10</southBoundLatitude>
+							<northBoundLatitude>40</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-70" maxy="40"/>
+						<Dimension name="time" units="ISO8601" default="2005-08-30T22Z">2005-08-22T24Z,2005-08-23T05Z,2005-08-23T23Z,2005-08-24T06Z,2005-08-24T22Z,2005-08-25T05Z,2005-08-25T23Z,2005-08-26T04Z,2005-08-26T22Z,2005-08-27T04Z,2005-08-27T21Z,2005-08-28T04Z,2005-08-28T22Z,2005-08-29T03Z,2005-08-29T22Z,2005-08-30T02Z,2005-08-30T22Z</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003249/a003249.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Vertically polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 22, 2005 through August 30, 2005, during Hurricane Katrina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003249/tmi_85_bar2.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Vertically polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 22, 2005 through August 30, 2005, during Hurricane Katrina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003249/tmi_85_bar2.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3249_22662_bg</Name>
+						<Title>Background Image for TRMM Microwave Measurements during Hurricane Katrina: Vertical Polarization</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows eight days of global TMI 85 GHz measurements in the Gulf of Mexico during Hurricane Katrina.  The hurricane Katrina rainbands clearly show up in these images.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-100</westBoundLongitude>
+							<eastBoundLongitude>-70</eastBoundLongitude>
+							<southBoundLatitude>10</southBoundLatitude>
+							<northBoundLatitude>40</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-100" miny="10" maxx="-70" maxy="40"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003249/a003249.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>TRMM Microwave Brightness Temperature Progression during Hurricane Katrina: Horizontal Polarization</Title>
+					<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation builds up four days of global TMI 85 GHz measurements.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003248/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003248/a003248.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3248_22701</Name>
+						<Title>TRMM Microwave Brightness Temperature Progression during Hurricane Katrina: Horizontal Polarization (1024x256 Animation)</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation builds up four days of global TMI 85 GHz measurements.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<Dimension name="time" units="ISO8601" default="2005-08-30T22:45Z">2005-08-26T22:45Z/2005-08-30T22:45Z/PT5M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003248/a003248.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Global horizontally polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="640" height="27">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003248/hw_a003248.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Global horizontally polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="640" height="27">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003248/hw_a003248.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3248_22701_bg</Name>
+						<Title>Background Image for TRMM Microwave Brightness Temperature Progression during Hurricane Katrina: Horizontal Polarization</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation builds up four days of global TMI 85 GHz measurements.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003248/a003248.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>TRMM Microwave Brightness Temperature Progression during Hurricane Katrina: Vertical Polarization</Title>
+					<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation builds up four days of global TMI 85 GHz measurements.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003247/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003247/a003247.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3247_22695</Name>
+						<Title>TRMM Microwave Brightness Temperature Progression during Hurricane Katrina: Vertical Polarization (1024x256 Animation)</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation builds up four days of global TMI 85 GHz measurements.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<Dimension name="time" units="ISO8601" default="2005-08-30T22:45Z">2005-08-26T22:45Z/2005-08-30T22:45Z/PT5M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003247/a003247.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Global vertically polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003247/tmi_85_bar1.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Global vertically polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003247/tmi_85_bar1.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3247_22695_bg</Name>
+						<Title>Background Image for TRMM Microwave Brightness Temperature Progression during Hurricane Katrina: Vertical Polarization</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation builds up four days of global TMI 85 GHz measurements.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003247/a003247.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>TRMM Microwave Brightness Temperature Swath during Hurricane Katrina: Horizontal Polarization</Title>
+					<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows four days of TMI 85 GHz measurements, one orbit at a time.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003243/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003243/a003243.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3243_22680</Name>
+						<Title>TRMM Microwave Brightness Temperature Swath during Hurricane Katrina: Horizontal Polarization (1024x256 Animation)</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows four days of TMI 85 GHz measurements, one orbit at a time.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<Dimension name="time" units="ISO8601" default="2005-08-30T22:45Z">2005-08-26T22:45Z/2005-08-30T22:45Z/PT5M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003243/a003243.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Global horizontally polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="640" height="27">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003243/hw_a003243.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Global horizontally polarized 85GHz microwave brightness temperatures measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="640" height="27">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003243/hw_a003243.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3243_22680_bg</Name>
+						<Title>Background Image for TRMM Microwave Brightness Temperature Swath during Hurricane Katrina: Horizontal Polarization</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows four days of TMI 85 GHz measurements, one orbit at a time.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003243/a003243.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>TRMM Microwave Brightness Temperature Swath during Hurricane Katrina: Vertical Polarization</Title>
+					<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows four days of TMI 85 GHz measurements, one orbit at a time.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003242/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003242/a003242.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3242_22674</Name>
+						<Title>TRMM Microwave Brightness Temperature Swath during Hurricane Katrina: Vertical Polarization (1024x256 Animation)</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows four days of TMI 85 GHz measurements, one orbit at a time.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<Dimension name="time" units="ISO8601" default="2005-08-30T22:45Z">2005-08-26T22:45Z/2005-08-30T22:45Z/PT5M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003242/a003242.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Global vertically polarized 85GHz microwave brightness temperatures  measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003242/tmi_85_bar1.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>Global vertically polarized 85GHz microwave brightness temperatures  measured by the TMI instrument on TRMM from August 26, 2005 to August 30, 2005, during Hurricane Katrina.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003242/tmi_85_bar1.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="256">
+						<Name>3242_22674_bg</Name>
+						<Title>Background Image for TRMM Microwave Brightness Temperature Swath during Hurricane Katrina: Vertical Polarization</Title>
+						<Abstract>The TMI instrument on the TRMM satellite measures microwaves emitted from the Earth's land and water.  By comparing emission from different microwave frequencies, the characteristics of ice and water in the atmosphere can be determined.  For example, 85 GHz microwaves are scattered by ice crystals in tropical cyclones, making cyclone rain bands appear 'colder' than the surrounding areas.  By comparing 85 GHz temperatures in different polarizations with other frequency band measurements, accurate measurements of rainfall in the atmosphere can be made.  This animation shows four days of TMI 85 GHz measurements, one orbit at a time.  Hurricane Katrina was in the Gulf of Mexico at the time and clearly shows up in the measurements.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Precipitation:Rain</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Microwave:Brightness Temperature</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-45</southBoundLatitude>
+							<northBoundLatitude>45</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-45" maxx="180" maxy="45"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003242/a003242.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://trmm.gsfc.nasa.gov"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+					<Name>3237_22569</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Longwave Infrared Progression (512x512 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  The Imager takes a pattern of pictures of parts of the Earth in several wavelengths all day, measurements that are vital in weather forcasting.  This animation shows a four-day sequence of GOES-12 images in the longwave infrared wavelengths, from 10.2 to 11.2 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is the most common one for observing cloud motions and severe storms throughout the day and night.  Note that most of the images are taken over the United States (about every 5 minutes) with full disk images every 3 hours and several specific images over South America every day.  In this animation, new images are placed over old images rather than replacing them, so different parts of the image update at different times as measurements are taken.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-152.56</westBoundLongitude>
+						<eastBoundLongitude>2.56</eastBoundLongitude>
+						<southBoundLatitude>-77.55</southBoundLatitude>
+						<northBoundLatitude>77.25</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-152.56" miny="-77.55" maxx="2.56" maxy="77.25"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T23:45Z">2005-08-26T23:45Z/2005-08-30T23:45Z/PT5M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003237/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003237/a003237.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>All GOES-12 longwave infrared imagery from August 26, 2005 through August 30, 2005, during Hurricane Katrina.  The illusion of continuous data is given by laying newer imagery over older imagery.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+					<Name>3236_22547</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Longwave Infrared Overview (512x512 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  The Imager takes a pattern of pictures of parts of the Earth in several wavelengths all day, measurements that are vital in weather forecasting.  This animation shows a four-day sequence of GOES-12 images in the longwave infrared wavelengths, from 10.2 to 11.2 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is the most common one for observing cloud motions and severe storms throughout the day and night.  Note that most of the images are taken over the United States (about every 5 minutes) with full disk images every 3 hours and several specific images over South America every day.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-152.56</westBoundLongitude>
+						<eastBoundLongitude>2.56</eastBoundLongitude>
+						<southBoundLatitude>-77.55</southBoundLatitude>
+						<northBoundLatitude>77.25</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-152.56" miny="-77.55" maxx="2.56" maxy="77.25"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T23:45Z">2005-08-26T23:45Z/2005-08-30T23:45Z/PT5M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003236/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003236/a003236.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>All GOES-12 longwave infrared imagery from August 26, 2005 through August 30, 2005, during Hurricane Katrina.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3235_22556</Name>
+					<Title>GOES-10 Imagery of Hurricane Katrina: Full Disk Longwave Infrared (1024x1024 Animation)</Title>
+					<Abstract>The GOES-10 satellite sits at 135 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for the Pacific Ocean, a primary measurement used in weather forecasting.  Every three hours the Imager takes a picture of the full disk of the Earth.  This animation shows a sequence of these full disk images in the longwave infrared wavelengths, from 10.2 to 11.2 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is the most common one for observing cloud motions and severe storms throughout the day and night.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>145.81</westBoundLongitude>
+						<eastBoundLongitude>-55.81</eastBoundLongitude>
+						<southBoundLatitude>-79.22</southBoundLatitude>
+						<northBoundLatitude>79.13</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="145.81" miny="-79.22" maxx="-55.81" maxy="79.13"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-31T06:00Z">2005-08-23T21:00Z/2005-08-24T06:00Z/PT3H,2005-08-24T12:00Z/2005-08-25T06:00Z/PT3H,2005-08-25T12:00Z/2005-08-26T06:00Z/PT3H,2005-08-26T12:00Z/2005-08-27T06:00Z/PT3H,2005-08-27T12:00Z/2005-08-28T06:00Z/PT3H,2005-08-28T12:00Z/2005-08-29T06:00Z/PT3H,2005-08-29T12:00Z/2005-08-30T06:00Z/PT3H,2005-08-30T12:00Z/2005-08-31T06:00Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003235/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003235/a003235.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-10 full-disk longwave infrared imagery of Hurricane Katrina from August 23, 2005 to August 31, 2005.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3234_22542</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Full Disk Lower Level Temperature (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  Every three hours the Imager takes a picture of the full disk of the Earth.  This animation shows a sequence of these full disk images in the wavelength band from 12.9 to 13.8 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is useful for determining cloud characteristics such as cloud top pressure.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-154.19</westBoundLongitude>
+						<eastBoundLongitude>4.18</eastBoundLongitude>
+						<southBoundLatitude>-79.12</southBoundLatitude>
+						<northBoundLatitude>79.22</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-154.19" miny="-79.12" maxx="4.18" maxy="79.22"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-31T02:45Z">2005-08-23T08:45Z/2005-08-24T02:45Z/PT3H,2005-08-24T08:45Z/2005-08-25T02:45Z/PT3H,2005-08-25T08:45Z/2005-08-26T02:45Z/PT3H,2005-08-26T08:45Z/2005-08-27T02:45Z/PT3H,2005-08-27T08:45Z/2005-08-28T02:45Z/PT3H,2005-08-28T08:45Z/2005-08-29T02:45Z/PT3H,2005-08-29T08:45Z/2005-08-30T02:45Z/PT3H,2005-08-30T08:45Z/2005-08-31T02:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003234/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003234/a003234.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 full-disk lower level temperature imagery of Hurricane Katrina from August 23, 2005 to August 31, 2005.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3233_22537</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Full Disk Longwave Infrared (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  Every three hours the Imager takes a picture of the full disk of the Earth.  This animation shows a sequence of these full disk images in the longwave infrared wavelengths, from 10.2 to 11.2 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is the most common one for observing cloud motions and severe storms throughout the day and night.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-154.19</westBoundLongitude>
+						<eastBoundLongitude>4.18</eastBoundLongitude>
+						<southBoundLatitude>-79.12</southBoundLatitude>
+						<northBoundLatitude>79.22</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-154.19" miny="-79.12" maxx="4.18" maxy="79.22"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-31T02:45Z">2005-08-23T08:45Z/2005-08-24T02:45Z/PT3H,2005-08-24T08:45Z/2005-08-25T02:45Z/PT3H,2005-08-25T08:45Z/2005-08-26T02:45Z/PT3H,2005-08-26T08:45Z/2005-08-27T02:45Z/PT3H,2005-08-27T08:45Z/2005-08-28T02:45Z/PT3H,2005-08-28T08:45Z/2005-08-29T02:45Z/PT3H,2005-08-29T08:45Z/2005-08-30T02:45Z/PT3H,2005-08-30T08:45Z/2005-08-31T02:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003233/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003233/a003233.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 full-disk longwave infrared imagery of Hurricane Katrina from August 23, 2005 to August 31, 2005.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3232_22532</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Full Disk Water Vapor (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  Every three hours the Imager takes a picture of the full disk of the Earth.  This animation shows a sequence of these full disk images in the 6.47 to 7.02 micron wavelength band, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is useful for estimating mid-level water vapor content and for observing atmospheric motion in that level.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-154.19</westBoundLongitude>
+						<eastBoundLongitude>4.18</eastBoundLongitude>
+						<southBoundLatitude>-79.12</southBoundLatitude>
+						<northBoundLatitude>79.22</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-154.19" miny="-79.12" maxx="4.18" maxy="79.22"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-31T02:45Z">2005-08-23T08:45Z/2005-08-24T02:45Z/PT3H,2005-08-24T08:45Z/2005-08-25T02:45Z/PT3H,2005-08-25T08:45Z/2005-08-26T02:45Z/PT3H,2005-08-26T08:45Z/2005-08-27T02:45Z/PT3H,2005-08-27T08:45Z/2005-08-28T02:45Z/PT3H,2005-08-28T08:45Z/2005-08-29T02:45Z/PT3H,2005-08-29T08:45Z/2005-08-30T02:45Z/PT3H,2005-08-30T08:45Z/2005-08-31T02:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003232/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003232/a003232.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 full-disk upper level water vapor imagery of Hurricane Katrina from August 23, 2005 to August 31, 2005. </Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3231_22527</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Full Disk Shortwave Infrared (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  Every three hours the Imager takes a picture of the full disk of the Earth.  This animation shows a sequence of these full disk images in the shortwave infrared wavelengths, 3.78 to 4.03 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band shows the day-night cycle, and is useful for identifying fog at night and discriminating between water clouds and snow or ice clouds during the daytime.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-154.19</westBoundLongitude>
+						<eastBoundLongitude>4.18</eastBoundLongitude>
+						<southBoundLatitude>-79.12</southBoundLatitude>
+						<northBoundLatitude>79.22</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-154.19" miny="-79.12" maxx="4.18" maxy="79.22"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-31T02:45Z">2005-08-23T08:45Z/2005-08-24T02:45Z/PT3H,2005-08-24T08:45Z/2005-08-25T02:45Z/PT3H,2005-08-25T08:45Z/2005-08-26T02:45Z/PT3H,2005-08-26T08:45Z/2005-08-27T02:45Z/PT3H,2005-08-27T08:45Z/2005-08-28T02:45Z/PT3H,2005-08-28T08:45Z/2005-08-29T02:45Z/PT3H,2005-08-29T08:45Z/2005-08-30T02:45Z/PT3H,2005-08-30T08:45Z/2005-08-31T02:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003231/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003231/a003231.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 full-disk shortwave infrared imagery of Hurricane Katrina from August 23, 2005 to August 31, 2005.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3230_22515</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Full Disk Visible (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  Every three hours the Imager takes a picture of the full disk of the Earth.  This animation shows a sequence of these full disk images in the visible wavelengths, 0.52 to 0.72 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band clearly shows the day-night cycle since the Earth is dark at night in the visible wavelengths.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Sensor Characteristics:Viewing Geometry</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-154.19</westBoundLongitude>
+						<eastBoundLongitude>4.18</eastBoundLongitude>
+						<southBoundLatitude>-79.12</southBoundLatitude>
+						<northBoundLatitude>79.22</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-154.19" miny="-79.12" maxx="4.18" maxy="79.22"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-31T02:45Z">2005-08-23T08:45Z/2005-08-24T02:45Z/PT3H,2005-08-24T08:45Z/2005-08-25T02:45Z/PT3H,2005-08-25T08:45Z/2005-08-26T02:45Z/PT3H,2005-08-26T08:45Z/2005-08-27T02:45Z/PT3H,2005-08-27T08:45Z/2005-08-28T02:45Z/PT3H,2005-08-28T08:45Z/2005-08-29T02:45Z/PT3H,2005-08-29T08:45Z/2005-08-30T02:45Z/PT3H,2005-08-30T08:45Z/2005-08-31T02:45Z/PT3H</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003230/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003230/a003230.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 full-disk visible imagery of Hurricane Katrina from August 23, 2005 to August 31, 2005. </Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1024">
+					<Name>3216_22510</Name>
+					<Title>GOES-12 Imagery of Hurricane Katrina: Longwave Infrared Close-up (1024x1024 Animation)</Title>
+					<Abstract>The GOES-12 satellite sits at 75 degrees west longitude at an altitude of 36,000 kilometers over the equator, in geosynchronous orbit.  At this position its Imager instrument takes pictures of cloud patterns in several wavelengths for all of North and South America, a primary measurement used in weather forecasting.  The Imager takes a pattern of pictures of parts of the Earth in several wavelengths all day, measurements that are vital in weather forecasting.  This animation shows a four-day sequence of GOES-12 images in the longwave infrared wavelengths, from 10.2 to 11.2 microns, during the period that Hurricane Katrina passed through the Gulf of Mexico.  This wavelength band is the most common one for observing cloud motions and severe storms throughout the day and night.  Since GOES-12 takes images most often over the United States (every 5 to 10 minutes), the motion of the clouds in this close-up of the southeast US is very smooth.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Phenomena:Hurricanes</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Human Dimensions:Natural Hazards:Meteorological Hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-100</westBoundLongitude>
+						<eastBoundLongitude>-70</eastBoundLongitude>
+						<southBoundLatitude>15</southBoundLatitude>
+						<northBoundLatitude>45</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-100" miny="15" maxx="-70" maxy="45"/>
+					<Dimension name="time" units="ISO8601" default="2005-08-30T23:45Z">2005-08-26T23:45Z/2005-08-27T00:45Z/PT30M,2005-08-27T00:55Z,2005-08-27T01:02Z,2005-08-27T01:10Z,2005-08-27T01:15Z,2005-08-27T01:25Z,2005-08-27T01:32Z,2005-08-27T01:40Z,2005-08-27T01:45Z,2005-08-27T01:55Z,2005-08-27T02:02Z,2005-08-27T02:10Z,2005-08-27T02:15Z,2005-08-27T02:25Z,2005-08-27T02:32Z,2005-08-27T02:40Z,2005-08-27T02:45Z,2005-08-27T03:15Z,2005-08-27T03:25Z,2005-08-27T03:33Z,2005-08-27T03:40Z,2005-08-27T03:45Z,2005-08-27T04:02Z,2005-08-27T06:15Z,2005-08-27T06:32Z,2005-08-27T06:45Z,2005-08-27T06:55Z,2005-08-27T07:02Z,2005-08-27T07:10Z,2005-08-27T07:15Z,2005-08-27T07:25Z,2005-08-27T07:33Z,2005-08-27T07:40Z,2005-08-27T07:45Z,2005-08-27T07:55Z,2005-08-27T08:03Z,2005-08-27T08:10Z,2005-08-27T08:15Z,2005-08-27T08:25Z,2005-08-27T08:33Z,2005-08-27T08:40Z,2005-08-27T08:45Z,2005-08-27T09:15Z,2005-08-27T09:25Z,2005-08-27T09:32Z,2005-08-27T09:40Z,2005-08-27T09:45Z,2005-08-27T09:55Z,2005-08-27T10:02Z,2005-08-27T10:10Z,2005-08-27T10:15Z,2005-08-27T10:25Z,2005-08-27T10:33Z,2005-08-27T10:40Z,2005-08-27T10:45Z,2005-08-27T10:55Z,2005-08-27T11:02Z,2005-08-27T11:10Z,2005-08-27T11:15Z,2005-08-27T11:25Z,2005-08-27T11:33Z,2005-08-27T11:40Z,2005-08-27T11:45Z,2005-08-27T12:15Z,2005-08-27T12:25Z,2005-08-27T12:45Z,2005-08-27T12:55Z,2005-08-27T13:03Z,2005-08-27T13:10Z,2005-08-27T13:15Z,2005-08-27T13:25Z,2005-08-27T13:33Z,2005-08-27T13:40Z,2005-08-27T13:45Z,2005-08-27T13:55Z,2005-08-27T14:03Z,2005-08-27T14:10Z,2005-08-27T14:15Z,2005-08-27T14:25Z,2005-08-27T14:32Z,2005-08-27T14:40Z,2005-08-27T14:45Z,2005-08-27T15:15Z,2005-08-27T15:25Z,2005-08-27T15:32Z,2005-08-27T15:40Z,2005-08-27T15:45Z,2005-08-27T15:55Z,2005-08-27T16:02Z,2005-08-27T16:10Z,2005-08-27T16:15Z,2005-08-27T16:25Z,2005-08-27T16:32Z,2005-08-27T16:40Z,2005-08-27T16:45Z,2005-08-27T16:55Z,2005-08-27T17:03Z,2005-08-27T17:10Z,2005-08-27T17:15Z,2005-08-27T17:25Z,2005-08-27T17:33Z,2005-08-27T17:40Z,2005-08-27T17:45Z,2005-08-27T18:15Z,2005-08-27T18:25Z,2005-08-27T18:45Z,2005-08-27T18:55Z,2005-08-27T19:03Z,2005-08-27T19:10Z,2005-08-27T19:15Z,2005-08-27T19:25Z,2005-08-27T19:33Z,2005-08-27T19:40Z,2005-08-27T19:45Z,2005-08-27T19:55Z,2005-08-27T20:03Z,2005-08-27T20:10Z,2005-08-27T20:15Z,2005-08-27T20:25Z,2005-08-27T20:32Z,2005-08-27T20:40Z,2005-08-27T20:45Z,2005-08-27T21:15Z,2005-08-27T21:25Z,2005-08-27T21:32Z,2005-08-27T21:40Z,2005-08-27T21:45Z,2005-08-27T21:55Z,2005-08-27T22:03Z,2005-08-27T22:10Z,2005-08-27T22:15Z,2005-08-27T22:25Z,2005-08-27T22:33Z,2005-08-27T22:40Z,2005-08-27T22:45Z,2005-08-27T22:55Z,2005-08-27T23:03Z,2005-08-27T23:10Z,2005-08-27T23:15Z,2005-08-27T23:25Z,2005-08-27T23:33Z,2005-08-27T23:40Z,2005-08-27T23:45Z/2005-08-28T00:45Z/PT30M,2005-08-28T00:55Z,2005-08-28T01:02Z,2005-08-28T01:10Z,2005-08-28T01:15Z,2005-08-28T01:25Z,2005-08-28T01:32Z,2005-08-28T01:40Z,2005-08-28T01:45Z,2005-08-28T01:55Z,2005-08-28T02:02Z,2005-08-28T02:10Z,2005-08-28T02:15Z,2005-08-28T02:25Z,2005-08-28T02:32Z,2005-08-28T02:40Z,2005-08-28T02:45Z,2005-08-28T03:15Z,2005-08-28T03:25Z,2005-08-28T03:33Z,2005-08-28T03:40Z,2005-08-28T03:45Z,2005-08-28T04:02Z,2005-08-28T06:15Z,2005-08-28T06:32Z,2005-08-28T06:45Z,2005-08-28T06:55Z,2005-08-28T07:02Z,2005-08-28T07:10Z,2005-08-28T07:15Z,2005-08-28T07:25Z,2005-08-28T07:33Z,2005-08-28T07:40Z,2005-08-28T07:45Z,2005-08-28T07:55Z,2005-08-28T08:03Z,2005-08-28T08:10Z,2005-08-28T08:15Z,2005-08-28T08:25Z,2005-08-28T08:33Z,2005-08-28T08:40Z,2005-08-28T08:45Z,2005-08-28T09:15Z,2005-08-28T09:25Z,2005-08-28T09:33Z,2005-08-28T09:40Z,2005-08-28T09:45Z,2005-08-28T09:55Z,2005-08-28T10:03Z,2005-08-28T10:10Z,2005-08-28T10:15Z,2005-08-28T10:25Z,2005-08-28T10:32Z,2005-08-28T10:40Z,2005-08-28T10:45Z,2005-08-28T10:55Z,2005-08-28T11:02Z,2005-08-28T11:10Z,2005-08-28T11:15Z,2005-08-28T11:25Z,2005-08-28T11:32Z,2005-08-28T11:40Z,2005-08-28T11:45Z,2005-08-28T12:15Z,2005-08-28T12:25Z,2005-08-28T12:45Z,2005-08-28T12:55Z,2005-08-28T13:03Z,2005-08-28T13:10Z,2005-08-28T13:15Z,2005-08-28T13:25Z,2005-08-28T13:33Z,2005-08-28T13:40Z,2005-08-28T13:45Z,2005-08-28T13:55Z,2005-08-28T14:03Z,2005-08-28T14:10Z,2005-08-28T14:15Z,2005-08-28T14:25Z,2005-08-28T14:33Z,2005-08-28T14:40Z,2005-08-28T14:45Z,2005-08-28T15:15Z,2005-08-28T15:25Z,2005-08-28T15:32Z,2005-08-28T15:40Z,2005-08-28T15:45Z,2005-08-28T15:55Z,2005-08-28T16:02Z,2005-08-28T16:10Z,2005-08-28T16:15Z,2005-08-28T16:25Z,2005-08-28T16:32Z,2005-08-28T16:40Z,2005-08-28T16:45Z,2005-08-28T16:55Z,2005-08-28T17:03Z,2005-08-28T17:10Z,2005-08-28T17:15Z,2005-08-28T17:25Z,2005-08-28T17:33Z,2005-08-28T17:40Z,2005-08-28T17:45Z,2005-08-28T18:15Z,2005-08-28T18:25Z,2005-08-28T18:45Z,2005-08-28T18:55Z,2005-08-28T19:03Z,2005-08-28T19:10Z,2005-08-28T19:15Z,2005-08-28T19:25Z,2005-08-28T19:32Z,2005-08-28T19:40Z,2005-08-28T19:45Z,2005-08-28T19:55Z,2005-08-28T20:02Z,2005-08-28T20:10Z,2005-08-28T20:15Z,2005-08-28T20:25Z,2005-08-28T20:32Z,2005-08-28T20:40Z,2005-08-28T20:45Z,2005-08-28T21:15Z,2005-08-28T21:25Z,2005-08-28T21:32Z,2005-08-28T21:40Z,2005-08-28T21:45Z,2005-08-28T21:55Z,2005-08-28T22:03Z,2005-08-28T22:10Z,2005-08-28T22:15Z,2005-08-28T22:25Z,2005-08-28T22:33Z,2005-08-28T22:40Z,2005-08-28T22:45Z,2005-08-28T22:55Z,2005-08-28T23:03Z,2005-08-28T23:10Z,2005-08-28T23:15Z,2005-08-28T23:25Z,2005-08-28T23:33Z,2005-08-28T23:40Z,2005-08-28T23:45Z/2005-08-29T00:45Z/PT30M,2005-08-29T00:55Z,2005-08-29T01:02Z,2005-08-29T01:10Z,2005-08-29T01:15Z,2005-08-29T01:25Z,2005-08-29T01:32Z,2005-08-29T01:40Z,2005-08-29T01:45Z,2005-08-29T01:55Z,2005-08-29T02:02Z,2005-08-29T02:10Z,2005-08-29T02:15Z,2005-08-29T02:25Z,2005-08-29T02:32Z,2005-08-29T02:40Z,2005-08-29T02:45Z,2005-08-29T03:15Z,2005-08-29T03:25Z,2005-08-29T03:33Z,2005-08-29T03:40Z,2005-08-29T03:45Z,2005-08-29T04:02Z,2005-08-29T06:15Z,2005-08-29T06:32Z,2005-08-29T06:45Z,2005-08-29T06:55Z,2005-08-29T07:02Z,2005-08-29T07:10Z,2005-08-29T07:15Z,2005-08-29T07:25Z,2005-08-29T07:32Z,2005-08-29T07:40Z,2005-08-29T07:45Z,2005-08-29T07:55Z,2005-08-29T08:03Z,2005-08-29T08:10Z,2005-08-29T08:15Z,2005-08-29T08:25Z,2005-08-29T08:33Z,2005-08-29T08:40Z,2005-08-29T08:45Z,2005-08-29T09:15Z,2005-08-29T09:25Z,2005-08-29T09:33Z,2005-08-29T09:40Z,2005-08-29T09:45Z,2005-08-29T09:55Z,2005-08-29T10:03Z,2005-08-29T10:10Z,2005-08-29T10:15Z,2005-08-29T10:25Z,2005-08-29T10:33Z,2005-08-29T10:40Z,2005-08-29T10:45Z,2005-08-29T10:55Z,2005-08-29T11:02Z,2005-08-29T11:10Z,2005-08-29T11:15Z,2005-08-29T11:25Z,2005-08-29T11:32Z,2005-08-29T11:40Z,2005-08-29T11:45Z,2005-08-29T12:15Z,2005-08-29T12:25Z,2005-08-29T12:45Z,2005-08-29T12:55Z,2005-08-29T13:03Z,2005-08-29T13:10Z,2005-08-29T13:15Z,2005-08-29T13:25Z,2005-08-29T13:33Z,2005-08-29T13:40Z,2005-08-29T13:45Z,2005-08-29T13:55Z,2005-08-29T14:03Z,2005-08-29T14:10Z,2005-08-29T14:15Z,2005-08-29T14:25Z,2005-08-29T14:33Z,2005-08-29T14:40Z,2005-08-29T14:45Z,2005-08-29T15:15Z,2005-08-29T15:25Z,2005-08-29T15:32Z,2005-08-29T15:40Z,2005-08-29T15:45Z,2005-08-29T15:55Z,2005-08-29T16:02Z,2005-08-29T16:10Z,2005-08-29T16:15Z,2005-08-29T16:25Z,2005-08-29T16:32Z,2005-08-29T16:40Z,2005-08-29T16:45Z,2005-08-29T16:55Z,2005-08-29T17:02Z,2005-08-29T17:10Z,2005-08-29T17:15Z,2005-08-29T17:25Z,2005-08-29T17:33Z,2005-08-29T17:40Z,2005-08-29T17:45Z,2005-08-29T18:15Z,2005-08-29T18:25Z,2005-08-29T18:45Z,2005-08-29T18:55Z,2005-08-29T19:02Z,2005-08-29T19:10Z,2005-08-29T19:15Z,2005-08-29T19:25Z,2005-08-29T19:33Z,2005-08-29T19:40Z,2005-08-29T19:45Z,2005-08-29T19:55Z,2005-08-29T20:03Z,2005-08-29T20:10Z,2005-08-29T20:15Z,2005-08-29T20:25Z,2005-08-29T20:32Z,2005-08-29T20:40Z,2005-08-29T20:45Z,2005-08-29T21:15Z,2005-08-29T21:25Z,2005-08-29T21:32Z,2005-08-29T21:40Z,2005-08-29T21:45Z,2005-08-29T21:55Z,2005-08-29T22:03Z,2005-08-29T22:10Z,2005-08-29T22:15Z,2005-08-29T22:25Z,2005-08-29T22:33Z,2005-08-29T22:40Z,2005-08-29T22:45Z,2005-08-29T22:55Z,2005-08-29T23:03Z,2005-08-29T23:10Z,2005-08-29T23:15Z,2005-08-29T23:25Z,2005-08-29T23:33Z,2005-08-29T23:40Z,2005-08-29T23:45Z/2005-08-30T00:45Z/PT30M,2005-08-30T00:55Z,2005-08-30T01:03Z,2005-08-30T01:10Z,2005-08-30T01:15Z,2005-08-30T01:25Z,2005-08-30T01:33Z,2005-08-30T01:40Z,2005-08-30T01:45Z,2005-08-30T01:55Z,2005-08-30T02:02Z,2005-08-30T02:10Z,2005-08-30T02:15Z,2005-08-30T02:25Z,2005-08-30T02:32Z,2005-08-30T02:40Z,2005-08-30T02:45Z,2005-08-30T03:15Z,2005-08-30T03:25Z,2005-08-30T03:32Z,2005-08-30T03:45Z,2005-08-30T04:02Z,2005-08-30T06:15Z,2005-08-30T06:32Z,2005-08-30T06:45Z,2005-08-30T07:02Z,2005-08-30T07:15Z,2005-08-30T07:32Z,2005-08-30T07:45Z,2005-08-30T08:02Z,2005-08-30T08:15Z/2005-08-30T10:15Z/PT30M,2005-08-30T10:32Z,2005-08-30T10:45Z,2005-08-30T11:02Z,2005-08-30T11:15Z,2005-08-30T11:32Z,2005-08-30T11:45Z/2005-08-30T12:45Z/PT30M,2005-08-30T13:02Z,2005-08-30T13:15Z,2005-08-30T13:32Z,2005-08-30T13:45Z,2005-08-30T14:02Z,2005-08-30T14:15Z,2005-08-30T14:32Z,2005-08-30T14:45Z,2005-08-30T15:15Z,2005-08-30T15:32Z,2005-08-30T15:45Z,2005-08-30T16:02Z,2005-08-30T16:15Z,2005-08-30T16:33Z,2005-08-30T16:40Z,2005-08-30T16:45Z,2005-08-30T16:55Z,2005-08-30T17:02Z,2005-08-30T17:10Z,2005-08-30T17:15Z,2005-08-30T17:25Z,2005-08-30T17:33Z,2005-08-30T17:40Z,2005-08-30T17:45Z,2005-08-30T18:15Z,2005-08-30T18:25Z,2005-08-30T18:45Z,2005-08-30T18:55Z,2005-08-30T19:02Z,2005-08-30T19:10Z,2005-08-30T19:15Z,2005-08-30T19:25Z,2005-08-30T19:32Z,2005-08-30T19:40Z,2005-08-30T19:45Z,2005-08-30T19:55Z,2005-08-30T20:03Z,2005-08-30T20:10Z,2005-08-30T20:15Z,2005-08-30T20:25Z,2005-08-30T20:33Z,2005-08-30T20:40Z,2005-08-30T20:45Z,2005-08-30T21:15Z,2005-08-30T21:25Z,2005-08-30T21:33Z,2005-08-30T21:40Z,2005-08-30T21:45Z,2005-08-30T21:55Z,2005-08-30T22:03Z,2005-08-30T22:10Z,2005-08-30T22:15Z,2005-08-30T22:25Z,2005-08-30T22:33Z,2005-08-30T22:40Z,2005-08-30T22:45Z,2005-08-30T22:55Z,2005-08-30T23:02Z,2005-08-30T23:10Z,2005-08-30T23:15Z,2005-08-30T23:25Z,2005-08-30T23:32Z,2005-08-30T23:40Z,2005-08-30T23:45Z</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003216/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003200/a003216/a003216.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://goes.gsfc.nasa.gov"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>GOES-12 longwave infrared imagery of Hurricane Katrina from August 26, 2005 through August 30, 2005.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="700" fixedHeight="1700">
+					<Name>3141_21208</Name>
+					<Title>Jakobshavn Glacier Ice Flow (700x1700 Animation)</Title>
+					<Abstract>Since measurements of Jakobshavn Isbrae were first taken in 1850, the glacier has gradually receded, finally coming to rest at a certain point for the past 5 decades. However, from 1997 to 2003, the glacier has begun to recede again, this time almost doubling in speed. The finding is important for many reasons. For starters, as more ice moves from glaciers on land into the ocean, it raises sea levels. Jakobshavn Isbrae is Greenland's largest outlet glacier, draining 6.5 percent of Greenland's ice sheet area. The ice stream's speed-up and near-doubling of ice flow from land into the ocean has increased the rate of sea level rise by about .06 millimeters (about .002 inches) per year, or roughly 4 percent of the 20th century rate of sea level increase.  This animation shows a time-lapse sequence of the ice flowing toward the ocean.  In recent years, even ice that has traditionally remained in place is now being pulled down to the edge of land.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Glaciers/Ice Sheets:Glacier Motion/Ice Sheet Motion</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Glaciers/Ice Sheets:Glacier Motion/Ice Sheet Motion</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						<Keyword vocabulary="GCMD">Location:Greenland</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-49.79</westBoundLongitude>
+						<eastBoundLongitude>-49.55</eastBoundLongitude>
+						<southBoundLatitude>69.07</southBoundLatitude>
+						<northBoundLatitude>69.31</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-49.79" miny="69.07" maxx="-49.55" maxy="69.31"/>
+					<Dimension name="time" units="ISO8601" default="2003-05-19">2001-03-17,2001-05-04,2001-05-20,2001-07-07,2002-03-04,2002-03-29,2002-04-28/2002-06-17/P25D,2002-07-01,2002-09-03,2003-03-23,2003-05-19</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003141/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003141/a003141.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows a time-lapse sequence of the glaciers ice flow.  This animation shows only a small section of the full imagery.  The full imagery can be found in the frames area.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="512">
+					<Name>3140_21200</Name>
+					<Title>Jakobshavn Glacier Retreat (2048x512 Animation)</Title>
+					<Abstract>Since measurements of Jakobshavn Isbrae were first taken in 1850, the glacier has gradually receded, finally coming to rest at a certain point for the past 5 decades. However, from 1997 to 2003, the glacier has begun to recede again, this time almost doubling in speed. The finding is important for many reasons. For starters, as more ice moves from glaciers on land into the ocean, it raises sea levels. Jakobshavn Isbrae is Greenland's largest outlet glacier, draining 6.5 percent of Greenland's ice sheet area. The ice stream's speed-up and near-doubling of ice flow from land into the ocean has increased the rate of sea level rise by about .06 millimeters (about .002 inches) per year, or roughly 4 percent of the 20th century rate of sea level increase.  This animation shows the recession for three years, from 2001 through 2003.  The line of recession shows the place where the glacier meets the ocean and where pieces calve off and flow away from land toward open water.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Cryology</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Cryosphere:Glaciers/Ice Sheets:Glacier Motion/Ice Sheet Motion</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Hydrosphere:Glaciers/Ice Sheets:Glacier Motion/Ice Sheet Motion</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						<Keyword vocabulary="GCMD">Location:Greenland</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-50.2</westBoundLongitude>
+						<eastBoundLongitude>-49.6</eastBoundLongitude>
+						<southBoundLatitude>69.11</southBoundLatitude>
+						<northBoundLatitude>69.26</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-50.2" miny="69.11" maxx="-49.6" maxy="69.26"/>
+					<Dimension name="time" units="ISO8601" default="2003-05-19">2001-05-20,2002-05-23,2003-05-19</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003140/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003140/a003140.fgdc"/>
+					</MetadataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows the retreat of Jakobshavn glacier in Greenland from 2001 through 2003.</Abstract>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Zoom into NASA's Goddard Space Flight Center, using Landsat Imagery</Title>
+					<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulstion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="SVS">Landsat</Keyword>
+						<Keyword vocabulary="DLESE">Physical geography</Keyword>
+						<Keyword vocabulary="SVS">Zoom</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003031/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003031/a003031.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3031_19330</Name>
+						<Title>Goddard Zoom Step 6 (Maximum Zoom Level) (512x512 Image)</Title>
+						<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulstion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Landsat</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Zoom</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-76.882713146</westBoundLongitude>
+							<eastBoundLongitude>-76.82072699</eastBoundLongitude>
+							<southBoundLatitude>38.98197365</southBoundLatitude>
+							<northBoundLatitude>39.018101698</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-76.882713146" miny="38.98197365" maxx="-76.82072699" maxy="39.018101698"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003031/a003031.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Landsat image of Goddard Space Flight Center.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3031_19328</Name>
+						<Title>Goddard Zoom Step 5 (512x512 Image)</Title>
+						<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulstion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Landsat</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Zoom</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-77.018461635</westBoundLongitude>
+							<eastBoundLongitude>-76.6849785</eastBoundLongitude>
+							<southBoundLatitude>38.902867531</southBoundLatitude>
+							<northBoundLatitude>39.097207818</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-77.018461635" miny="38.902867531" maxx="-76.6849785" maxy="39.097207818"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003031/a003031.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Landsat image showing the region around Goddard Space Flight Center in Greenbelt, Maryland.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3031_19326</Name>
+						<Title>Goddard Zoom Step 4 (512x512 Image)</Title>
+						<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulstion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Landsat</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Zoom</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-77.30957497</westBoundLongitude>
+							<eastBoundLongitude>-76.393865165</eastBoundLongitude>
+							<southBoundLatitude>38.733299318</southBoundLatitude>
+							<northBoundLatitude>39.266776031</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-77.30957497" miny="38.733299318" maxx="-76.393865165" maxy="39.266776031"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003031/a003031.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Landsat image showing a closer view of the region around Washington, D.C.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3031_19324</Name>
+						<Title>Goddard Zoom Step 3 (512x512 Image)</Title>
+						<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulstion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Landsat</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Zoom</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-78.110499828</westBoundLongitude>
+							<eastBoundLongitude>-75.592940307</eastBoundLongitude>
+							<southBoundLatitude>38.267315136</southBoundLatitude>
+							<northBoundLatitude>39.732760213</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-78.110499828" miny="38.267315136" maxx="-75.592940307" maxy="39.732760213"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003031/a003031.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Landsat image showing the region of Washington, D.C., and Baltimore.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3031_19322</Name>
+						<Title>Goddard Zoom Step 2 (512x512 Image)</Title>
+						<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulstion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Landsat</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Zoom</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-80.32506475</westBoundLongitude>
+							<eastBoundLongitude>-73.378375385</eastBoundLongitude>
+							<southBoundLatitude>36.983199689</southBoundLatitude>
+							<northBoundLatitude>41.01687566</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-80.32506475" miny="36.983199689" maxx="-73.378375385" maxy="41.01687566"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003031/a003031.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Landsat image of the Chesapeake Bay region.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3031_19320</Name>
+						<Title>Goddard Zoom Step 1 (512x512 Image)</Title>
+						<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulstion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Landsat</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Zoom</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-90.604012889</westBoundLongitude>
+							<eastBoundLongitude>-63.099427246</eastBoundLongitude>
+							<southBoundLatitude>31.123893678</southBoundLatitude>
+							<northBoundLatitude>46.876181671</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-90.604012889" miny="31.123893678" maxx="-63.099427246" maxy="46.876181671"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003031/a003031.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Landsat image of the eastern coast of the United States.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3031_19317</Name>
+						<Title>Goddard Zoom Complete Earth (512x512 Image)</Title>
+						<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulstion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Landsat</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Zoom</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003031/a003031.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Global pseudo-color Landsat image from the JPL WMS server.</Abstract>
+						</Style>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Zoom into Boulder, Colorado, using Landsat Imagery</Title>
+					<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulstion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="SVS">Landsat</Keyword>
+						<Keyword vocabulary="DLESE">Physical geography</Keyword>
+						<Keyword vocabulary="SVS">Zoom</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003030/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003030/a003030.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3030_19315</Name>
+						<Title>Boulder Zoom Step 4 (Maximum Zoom Level) (512x512 Image)</Title>
+						<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulstion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Landsat</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Zoom</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-105.28051011</westBoundLongitude>
+							<eastBoundLongitude>-105.20375023</eastBoundLongitude>
+							<southBoundLatitude>39.990052118</southBoundLatitude>
+							<northBoundLatitude>40.034143697</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-105.28051011" miny="39.990052118" maxx="-105.20375023" maxy="40.034143697"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003030/a003030.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Highest detail image of Boulder, Colorado from Landsat.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3030_19313</Name>
+						<Title>Boulder Zoom Step 3 (512x512 Image)</Title>
+						<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulstion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Landsat</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Zoom</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-105.37041526</westBoundLongitude>
+							<eastBoundLongitude>-105.07531435</eastBoundLongitude>
+							<southBoundLatitude>39.961017725</southBoundLatitude>
+							<northBoundLatitude>40.130424076</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-105.37041526" miny="39.961017725" maxx="-105.07531435" maxy="40.130424076"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003030/a003030.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Landsat image of the region around Boulder, Colorado.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3030_19311</Name>
+						<Title>Boulder Zoom Step 2 (512x512 Image)</Title>
+						<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulstion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Landsat</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Zoom</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-106.69123201</westBoundLongitude>
+							<eastBoundLongitude>-103.57588938</eastBoundLongitude>
+							<southBoundLatitude>39.022731312</southBoundLatitude>
+							<northBoundLatitude>40.811863192</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-106.69123201" miny="39.022731312" maxx="-103.57588938" maxy="40.811863192"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003030/a003030.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Landsat image of central Colorado.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3030_19309</Name>
+						<Title>Boulder Zoom Step 1 (512x512 Image)</Title>
+						<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulstion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Landsat</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Zoom</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-112.55762533</westBoundLongitude>
+							<eastBoundLongitude>-100.52998957</eastBoundLongitude>
+							<southBoundLatitude>36.004666449</southBoundLatitude>
+							<northBoundLatitude>42.922034051</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-112.55762533" miny="36.004666449" maxx="-100.52998957" maxy="42.922034051"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003030/a003030.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Landsat view of the central United States.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3030_19306</Name>
+						<Title>Boulder Zoom Complete Earth (512x512 Image)</Title>
+						<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulstion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Landsat</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Zoom</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003030/a003030.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Global pseudo-color Landsat image from the JPL WMS server.</Abstract>
+						</Style>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Zoom into Austin, Texas, using Landsat Imagery</Title>
+					<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulsion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="SVS">Landsat</Keyword>
+						<Keyword vocabulary="DLESE">Physical geography</Keyword>
+						<Keyword vocabulary="SVS">Zoom</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003029/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003029/a003029.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3029_19304</Name>
+						<Title>Austin Zoom Step 5 (Maximum Zoom Level) (512x512 Image)</Title>
+						<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulsion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Landsat</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Zoom</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-97.778493713</westBoundLongitude>
+							<eastBoundLongitude>-97.710422711</eastBoundLongitude>
+							<southBoundLatitude>30.246479901</southBoundLatitude>
+							<northBoundLatitude>30.29057148</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-97.778493713" miny="30.246479901" maxx="-97.710422711" maxy="30.29057148"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003029/a003029.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Closest view of downtown Austin, Texas, using the Landsat WMS global mosaic.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3029_19302</Name>
+						<Title>Austin Zoom Step 4 (512x512 Image)</Title>
+						<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulsion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Landsat</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Zoom</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-97.811970334</westBoundLongitude>
+							<eastBoundLongitude>-97.678542654</eastBoundLongitude>
+							<southBoundLatitude>30.223185111</southBoundLatitude>
+							<northBoundLatitude>30.309608761</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-97.811970334" miny="30.223185111" maxx="-97.678542654" maxy="30.309608761"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003029/a003029.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Landsat view of Austin, including Town Lake.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3029_19300</Name>
+						<Title>Austin Zoom Step 3 (512x512 Image)</Title>
+						<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulsion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Landsat</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Zoom</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-98.017732811</westBoundLongitude>
+							<eastBoundLongitude>-97.299688912</eastBoundLongitude>
+							<southBoundLatitude>30.018262989</southBoundLatitude>
+							<northBoundLatitude>30.483271092</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-98.017732811" miny="30.018262989" maxx="-97.299688912" maxy="30.483271092"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003029/a003029.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Landsat view of the Austin area, including Lake Travis and the Colorado River.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3029_19298</Name>
+						<Title>Austin Zoom Step 2 (512x512 Image)</Title>
+						<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulsion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Landsat</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Zoom</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-99.761071176</westBoundLongitude>
+							<eastBoundLongitude>-95.883033151</eastBoundLongitude>
+							<southBoundLatitude>28.988747914</southBoundLatitude>
+							<northBoundLatitude>31.495676348</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-99.761071176" miny="28.988747914" maxx="-95.883033151" maxy="31.495676348"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003029/a003029.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Landsat view of central Texas.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3029_19296</Name>
+						<Title>Austin Zoom Step 1 (512x512 Image)</Title>
+						<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulsion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Landsat</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Zoom</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-114.50043625</westBoundLongitude>
+							<eastBoundLongitude>-83.692414636</eastBoundLongitude>
+							<southBoundLatitude>21.45270578</southBoundLatitude>
+							<northBoundLatitude>40.78827799</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-114.50043625" miny="21.45270578" maxx="-83.692414636" maxy="40.78827799"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003029/a003029.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Landsat view of the southern United States.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="0" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>3029_19293</Name>
+						<Title>Austin Zoom Complete Earth (512x512 Image)</Title>
+						<Abstract>The WMS Global Mosaic dataset was developed at NASA's Jet Propulsion Laboratory (JPL).  This global mosaic was produced from visual and near infrared bands taken by the Landsat-7 satellite.  Using the panchromatic band to sharpen the final image, a final resolution of 0.5 arc seconds (about 15 meters) can be achieved.  This mosaic is available through the Web Mapping Services (WMS) protocol at JPL.  This series of images was obtained using a software program called the Digital Earth PC which can use the WMS protocol to obtain images covering an arbitrary region of the earth.  These images can be arranged in such a way with the Digital Earth PC software that a nearly continuous zoom effect can be achieved.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Landsat</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="SVS">Zoom</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003029/a003029.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>Global pseudo-color Landsat image from the JPL WMS server.</Abstract>
+						</Style>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Galileo Earth Views</Title>
+					<Abstract>The Galileo spacecraft was launched from the Space Shuttle Atlantis on October 18, 1989 on a six-year trip to Jupiter.  On the way, the trajectory of the spacecraft took it past Venus once and Earth twice.  Galileo took the Earth images in this animation just after the first flyby of the Earth, on December 11 and 12, 1990.  This six-hour sequence of images taken two minutes apart clearly shows how the Earth looks from space and how fast (or slow) the cloud features change when looked at from a distance.  The path of the sun can be seen crossing Australia by its reflection in the nearby ocean, and the terminator region between night and day can be seen moving across the Indian Ocean.  In the original images, the Earth's rotation is so dominant that cloud movement is hard to see, but these images have been mapped to the Earth is such a way that a viewer can watch just the clouds move in the ocean around Antarctica or across the Austrailian land mass.  In this animation, New Zealand can ony be seen as a stationary disturbance under a moving cloud bank.  The black area with the sharp boundary to the north and east of Australia is the side of the Earth that could not be seen from Galileo's position.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="DLESE">Physical geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002971/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002971/a002971.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://nssdc.gsfc.nasa.gov/planetary/galileo.html"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>2971_18451</Name>
+						<Title>Galileo Earth Views (1024x512 Animation)</Title>
+						<Abstract>The Galileo spacecraft was launched from the Space Shuttle Atlantis on October 18, 1989 on a six-year trip to Jupiter.  On the way, the trajectory of the spacecraft took it past Venus once and Earth twice.  Galileo took the Earth images in this animation just after the first flyby of the Earth, on December 11 and 12, 1990.  This six-hour sequence of images taken two minutes apart clearly shows how the Earth looks from space and how fast (or slow) the cloud features change when looked at from a distance.  The path of the sun can be seen crossing Australia by its reflection in the nearby ocean, and the terminator region between night and day can be seen moving across the Indian Ocean.  In the original images, the Earth's rotation is so dominant that cloud movement is hard to see, but these images have been mapped to the Earth is such a way that a viewer can watch just the clouds move in the ocean around Antarctica or across the Austrailian land mass.  In this animation, New Zealand can ony be seen as a stationary disturbance under a moving cloud bank.  The black area with the sharp boundary to the north and east of Australia is the side of the Earth that could not be seen from Galileo's position.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>0</westBoundLongitude>
+							<eastBoundLongitude>-0.0001</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="0" miny="-90" maxx="-0.0001" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="1990-12-12T04:26:57Z">1990-12-11T22:41:09Z/1990-12-11T22:45:11Z/PT2M1S,1990-12-11T22:47:13Z/1990-12-11T22:51:15Z/PT2M1S,1990-12-11T22:53:17Z/1990-12-11T22:57:19Z/PT2M1S,1990-12-11T22:59:21Z/1990-12-11T23:03:23Z/PT2M1S,1990-12-11T23:05:25Z/1990-12-11T23:09:27Z/PT2M1S,1990-12-11T23:11:29Z/1990-12-11T23:15:31Z/PT2M1S,1990-12-11T23:17:33Z/1990-12-11T23:21:35Z/PT2M1S,1990-12-11T23:23:37Z/1990-12-11T23:27:39Z/PT2M1S,1990-12-11T23:29:41Z/1990-12-11T23:33:43Z/PT2M1S,1990-12-11T23:35:45Z/1990-12-11T23:39:47Z/PT2M1S,1990-12-11T23:41:49Z/1990-12-11T23:45:51Z/PT2M1S,1990-12-11T23:47:53Z/1990-12-11T23:51:55Z/PT2M1S,1990-12-11T23:53:57Z/1990-12-11T23:57:59Z/PT2M1S,1990-12-12T00:00:01Z/1990-12-12T00:04:03Z/PT2M1S,1990-12-12T00:06:05Z/1990-12-12T00:10:07Z/PT2M1S,1990-12-12T00:12:09Z/1990-12-12T00:16:11Z/PT2M1S,1990-12-12T00:18:13Z/1990-12-12T00:22:15Z/PT2M1S,1990-12-12T00:24:17Z/1990-12-12T00:28:19Z/PT2M1S,1990-12-12T00:30:21Z/1990-12-12T00:34:23Z/PT2M1S,1990-12-12T00:36:25Z/1990-12-12T00:40:27Z/PT2M1S,1990-12-12T00:42:29Z/1990-12-12T00:46:31Z/PT2M1S,1990-12-12T00:48:33Z/1990-12-12T00:52:35Z/PT2M1S,1990-12-12T00:54:37Z/1990-12-12T00:58:39Z/PT2M1S,1990-12-12T01:00:41Z/1990-12-12T01:04:43Z/PT2M1S,1990-12-12T01:06:45Z/1990-12-12T01:10:47Z/PT2M1S,1990-12-12T01:12:49Z/1990-12-12T01:16:51Z/PT2M1S,1990-12-12T01:18:53Z/1990-12-12T01:22:55Z/PT2M1S,1990-12-12T01:24:57Z/1990-12-12T01:28:59Z/PT2M1S,1990-12-12T01:31:01Z/1990-12-12T01:35:03Z/PT2M1S,1990-12-12T01:37:05Z/1990-12-12T01:41:07Z/PT2M1S,1990-12-12T01:43:09Z/1990-12-12T01:47:11Z/PT2M1S,1990-12-12T01:49:13Z/1990-12-12T01:53:15Z/PT2M1S,1990-12-12T01:55:17Z/1990-12-12T01:59:19Z/PT2M1S,1990-12-12T02:01:21Z/1990-12-12T02:05:23Z/PT2M1S,1990-12-12T02:07:25Z/1990-12-12T02:11:27Z/PT2M1S,1990-12-12T02:13:29Z/1990-12-12T02:17:31Z/PT2M1S,1990-12-12T02:19:33Z/1990-12-12T02:23:35Z/PT2M1S,1990-12-12T02:25:37Z/1990-12-12T02:29:39Z/PT2M1S,1990-12-12T02:31:41Z/1990-12-12T02:35:43Z/PT2M1S,1990-12-12T02:37:45Z/1990-12-12T02:41:47Z/PT2M1S,1990-12-12T02:43:49Z/1990-12-12T02:47:51Z/PT2M1S,1990-12-12T02:49:53Z/1990-12-12T02:53:55Z/PT2M1S,1990-12-12T02:55:57Z/1990-12-12T02:59:59Z/PT2M1S,1990-12-12T03:02:01Z/1990-12-12T03:06:03Z/PT2M1S,1990-12-12T03:08:05Z/1990-12-12T03:12:07Z/PT2M1S,1990-12-12T03:14:09Z/1990-12-12T03:18:11Z/PT2M1S,1990-12-12T03:20:13Z/1990-12-12T03:24:15Z/PT2M1S,1990-12-12T03:26:17Z/1990-12-12T03:30:19Z/PT2M1S,1990-12-12T03:32:21Z/1990-12-12T03:36:23Z/PT2M1S,1990-12-12T03:38:25Z/1990-12-12T03:42:27Z/PT2M1S,1990-12-12T03:44:29Z/1990-12-12T03:48:31Z/PT2M1S,1990-12-12T03:50:33Z/1990-12-12T03:54:35Z/PT2M1S,1990-12-12T03:56:37Z/1990-12-12T04:00:39Z/PT2M1S,1990-12-12T04:02:41Z/1990-12-12T04:06:43Z/PT2M1S,1990-12-12T04:08:45Z/1990-12-12T04:12:47Z/PT2M1S,1990-12-12T04:14:49Z/1990-12-12T04:18:51Z/PT2M1S,1990-12-12T04:20:53Z/1990-12-12T04:24:55Z/PT2M1S,1990-12-12T04:26:57Z</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002971/a002971.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://nssdc.gsfc.nasa.gov/planetary/galileo.html"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the portion of the Earth visible from the Galileo spacecraft.  This version provides only the transparent overlay.</Abstract>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the portion of the Earth visible from the Galileo spacecraft.  This version provides the transparent overlay composited with a background image.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>2971_18451_bg</Name>
+						<Title>Background Image for Galileo Earth Views (WMS)</Title>
+						<Abstract>The Galileo spacecraft was launched from the Space Shuttle Atlantis on October 18, 1989 on a six-year trip to Jupiter.  On the way, the trajectory of the spacecraft took it past Venus once and Earth twice.  Galileo took the Earth images in this animation just after the first flyby of the Earth, on December 11 and 12, 1990.  This six-hour sequence of images taken two minutes apart clearly shows how the Earth looks from space and how fast (or slow) the cloud features change when looked at from a distance.  The path of the sun can be seen crossing Australia by its reflection in the nearby ocean, and the terminator region between night and day can be seen moving across the Indian Ocean.  In the original images, the Earth's rotation is so dominant that cloud movement is hard to see, but these images have been mapped to the Earth is such a way that a viewer can watch just the clouds move in the ocean around Antarctica or across the Austrailian land mass.  In this animation, New Zealand can ony be seen as a stationary disturbance under a moving cloud bank.  The black area with the sharp boundary to the north and east of Australia is the side of the Earth that could not be seen from Galileo's position.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>0</westBoundLongitude>
+							<eastBoundLongitude>-0.0001</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="0" miny="-90" maxx="-0.0001" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002971/a002971.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://nssdc.gsfc.nasa.gov/planetary/galileo.html"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Blue Marble - A Seamless Image Mosaic of the Earth</Title>
+					<Abstract>This spectacular 'Blue Marble' image is the most detailed true-color image of the entire Earth to date. Using a collection of satellite-based observations, scientists and visualizers stitched together months of observations of the land surface, oceans, sea ice, and clouds into a seamless, true-color mosaic of every square kilometer (.386 square mile) of our planet.  Much of the information contained in this image came from a single remote-sensing device-NASA's Moderate Resolution Imaging Spectroradiometer, or MODIS. Flying over 700 km above the Earth onboard the Terra satellite, MODIS provides an integrated tool for observing a variety of terrestrial, oceanic, and atmospheric features of the Earth. The land and coastal ocean portions of these images are based on surface observations collected from June through September 2001 and combined, or composited, every eight days to compensate for clouds that might block the sensor's view of the surface on any single day. Two different types of ocean data were used in these images: shallow water true color data, and global ocean color (or chlorophyll) data. Topographic shading is based on the GTOPO 30 elevation dataset compiled by the U.S. Geological Survey's EROS Data Center.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="SVS">Blue Marble</Keyword>
+						<Keyword vocabulary="DLESE">Physical geography</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Topography:Landforms</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002915/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002915/a002915.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/isabel_20030917/index.html"/>
+					</DataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="4096" fixedHeight="4096">
+						<Name>2915_21222</Name>
+						<Title>Western Hemisphere (4096x4096 Image)</Title>
+						<Abstract>This spectacular 'Blue Marble' image is the most detailed true-color image of the entire Earth to date. Using a collection of satellite-based observations, scientists and visualizers stitched together months of observations of the land surface, oceans, sea ice, and clouds into a seamless, true-color mosaic of every square kilometer (.386 square mile) of our planet.  Much of the information contained in this image came from a single remote-sensing device-NASA's Moderate Resolution Imaging Spectroradiometer, or MODIS. Flying over 700 km above the Earth onboard the Terra satellite, MODIS provides an integrated tool for observing a variety of terrestrial, oceanic, and atmospheric features of the Earth. The land and coastal ocean portions of these images are based on surface observations collected from June through September 2001 and combined, or composited, every eight days to compensate for clouds that might block the sensor's view of the surface on any single day. Two different types of ocean data were used in these images: shallow water true color data, and global ocean color (or chlorophyll) data. Topographic shading is based on the GTOPO 30 elevation dataset compiled by the U.S. Geological Survey's EROS Data Center.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Blue Marble</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Topography:Landforms</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>0</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="0" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002915/a002915.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/isabel_20030917/index.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Blue Marble image of the Western Hemisphere.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="4096" fixedHeight="4096">
+						<Name>2915_21220</Name>
+						<Title>Eastern Hemisphere (4096x4096 Image)</Title>
+						<Abstract>This spectacular 'Blue Marble' image is the most detailed true-color image of the entire Earth to date. Using a collection of satellite-based observations, scientists and visualizers stitched together months of observations of the land surface, oceans, sea ice, and clouds into a seamless, true-color mosaic of every square kilometer (.386 square mile) of our planet.  Much of the information contained in this image came from a single remote-sensing device-NASA's Moderate Resolution Imaging Spectroradiometer, or MODIS. Flying over 700 km above the Earth onboard the Terra satellite, MODIS provides an integrated tool for observing a variety of terrestrial, oceanic, and atmospheric features of the Earth. The land and coastal ocean portions of these images are based on surface observations collected from June through September 2001 and combined, or composited, every eight days to compensate for clouds that might block the sensor's view of the surface on any single day. Two different types of ocean data were used in these images: shallow water true color data, and global ocean color (or chlorophyll) data. Topographic shading is based on the GTOPO 30 elevation dataset compiled by the U.S. Geological Survey's EROS Data Center.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Blue Marble</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Topography:Landforms</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>0</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="0" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002915/a002915.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/isabel_20030917/index.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Blue Marble image of the Eastern Hemisphere.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="512">
+						<Name>2915_21225</Name>
+						<Title>Complete Earth (512x512 Image)</Title>
+						<Abstract>This spectacular 'Blue Marble' image is the most detailed true-color image of the entire Earth to date. Using a collection of satellite-based observations, scientists and visualizers stitched together months of observations of the land surface, oceans, sea ice, and clouds into a seamless, true-color mosaic of every square kilometer (.386 square mile) of our planet.  Much of the information contained in this image came from a single remote-sensing device-NASA's Moderate Resolution Imaging Spectroradiometer, or MODIS. Flying over 700 km above the Earth onboard the Terra satellite, MODIS provides an integrated tool for observing a variety of terrestrial, oceanic, and atmospheric features of the Earth. The land and coastal ocean portions of these images are based on surface observations collected from June through September 2001 and combined, or composited, every eight days to compensate for clouds that might block the sensor's view of the surface on any single day. Two different types of ocean data were used in these images: shallow water true color data, and global ocean color (or chlorophyll) data. Topographic shading is based on the GTOPO 30 elevation dataset compiled by the U.S. Geological Survey's EROS Data Center.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Blue Marble</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Topography:Landforms</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002915/a002915.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/isabel_20030917/index.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Blue Marble image of the whole earth.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2048" fixedHeight="1024">
+						<Name>2915_21224</Name>
+						<Title>Complete Earth (2048x1024 Image)</Title>
+						<Abstract>This spectacular 'Blue Marble' image is the most detailed true-color image of the entire Earth to date. Using a collection of satellite-based observations, scientists and visualizers stitched together months of observations of the land surface, oceans, sea ice, and clouds into a seamless, true-color mosaic of every square kilometer (.386 square mile) of our planet.  Much of the information contained in this image came from a single remote-sensing device-NASA's Moderate Resolution Imaging Spectroradiometer, or MODIS. Flying over 700 km above the Earth onboard the Terra satellite, MODIS provides an integrated tool for observing a variety of terrestrial, oceanic, and atmospheric features of the Earth. The land and coastal ocean portions of these images are based on surface observations collected from June through September 2001 and combined, or composited, every eight days to compensate for clouds that might block the sensor's view of the surface on any single day. Two different types of ocean data were used in these images: shallow water true color data, and global ocean color (or chlorophyll) data. Topographic shading is based on the GTOPO 30 elevation dataset compiled by the U.S. Geological Survey's EROS Data Center.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Blue Marble</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Topography:Landforms</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002915/a002915.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/isabel_20030917/index.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Blue Marble image of the whole earth.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+						<Name>2915_21223</Name>
+						<Title>Complete Earth (1024x512 Image)</Title>
+						<Abstract>This spectacular 'Blue Marble' image is the most detailed true-color image of the entire Earth to date. Using a collection of satellite-based observations, scientists and visualizers stitched together months of observations of the land surface, oceans, sea ice, and clouds into a seamless, true-color mosaic of every square kilometer (.386 square mile) of our planet.  Much of the information contained in this image came from a single remote-sensing device-NASA's Moderate Resolution Imaging Spectroradiometer, or MODIS. Flying over 700 km above the Earth onboard the Terra satellite, MODIS provides an integrated tool for observing a variety of terrestrial, oceanic, and atmospheric features of the Earth. The land and coastal ocean portions of these images are based on surface observations collected from June through September 2001 and combined, or composited, every eight days to compensate for clouds that might block the sensor's view of the surface on any single day. Two different types of ocean data were used in these images: shallow water true color data, and global ocean color (or chlorophyll) data. Topographic shading is based on the GTOPO 30 elevation dataset compiled by the U.S. Geological Survey's EROS Data Center.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Blue Marble</Keyword>
+							<Keyword vocabulary="DLESE">Physical geography</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Land Surface:Topography:Landforms</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Visible Wavelengths:Visible Imagery</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002900/a002915/a002915.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/stories/isabel_20030917/index.html"/>
+						</DataURL>
+						<Style>
+							<Name>opaque</Name>
+							<Title>Opaque</Title>
+							<Abstract>Blue Marble image of the whole earth.</Abstract>
+						</Style>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Infrared Cloud Cover over the Atlantic Ocean, September 2001</Title>
+					<Abstract>This animation is a mosaic of cloud cover data taken by several different satellites in the infrared band.  Instead of showing a global composite, it is cropped to highlight the Atlantic Ocean.  One of the most prominent cloud features during this time was Hurricane Erin.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Cloud Cover</Keyword>
+						<Keyword vocabulary="SVS">Infrared</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="GCMD">Location:Atlantic Ocean</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002895/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002895/a002895.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1009">
+						<Name>2895_17432</Name>
+						<Title>Infrared Cloud Cover over the Atlantic Ocean, September 2001 (1024x1009 Animation)</Title>
+						<Abstract>This animation is a mosaic of cloud cover data taken by several different satellites in the infrared band.  Instead of showing a global composite, it is cropped to highlight the Atlantic Ocean.  One of the most prominent cloud features during this time was Hurricane Erin.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Cloud Cover</Keyword>
+							<Keyword vocabulary="SVS">Infrared</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+							<Keyword vocabulary="GCMD">Location:Atlantic Ocean</Keyword>
+							<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-92</westBoundLongitude>
+							<eastBoundLongitude>37.2566666667</eastBoundLongitude>
+							<southBoundLatitude>-61.16</southBoundLatitude>
+							<northBoundLatitude>65.56</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-92" miny="-61.16" maxx="37.2566666667" maxy="65.56"/>
+						<Dimension name="time" units="ISO8601" default="2001-09-15T23:45Z">2001-09-01T00:45Z/2001-09-01T03:45Z/PT30M,2001-09-01T04:00Z/2001-09-01T06:00Z/PT30M,2001-09-01T06:45Z/2001-09-01T11:15Z/PT30M,2001-09-01T14:15Z/2001-09-01T19:15Z/PT30M,2001-09-01T20:15Z/2001-09-02T03:45Z/PT30M,2001-09-02T04:00Z/2001-09-02T06:00Z/PT30M,2001-09-02T06:45Z/2001-09-03T03:45Z/PT30M,2001-09-03T04:00Z/2001-09-03T05:00Z/PT30M,2001-09-03T06:00Z,2001-09-03T06:45Z/2001-09-04T03:45Z/PT30M,2001-09-04T04:00Z/2001-09-04T06:00Z/PT30M,2001-09-04T06:45Z/2001-09-04T19:45Z/PT30M,2001-09-04T20:45Z/2001-09-05T03:45Z/PT30M,2001-09-05T04:00Z/2001-09-05T05:00Z/PT30M,2001-09-05T06:00Z,2001-09-05T06:45Z/2001-09-06T03:45Z/PT30M,2001-09-06T04:00Z/2001-09-06T06:00Z/PT30M,2001-09-06T06:45Z/2001-09-07T03:45Z/PT30M,2001-09-07T04:00Z/2001-09-07T05:00Z/PT30M,2001-09-07T06:00Z,2001-09-07T06:45Z/2001-09-07T11:15Z/PT30M,2001-09-07T12:45Z/2001-09-07T15:15Z/PT30M,2001-09-07T16:15Z/2001-09-08T03:45Z/PT30M,2001-09-08T04:00Z/2001-09-08T06:00Z/PT30M,2001-09-08T06:45Z/2001-09-08T22:45Z/PT30M,2001-09-08T23:45Z/2001-09-09T03:45Z/PT30M,2001-09-09T04:00Z/2001-09-09T05:00Z/PT30M,2001-09-09T06:45Z/2001-09-10T03:45Z/PT30M,2001-09-10T04:00Z/2001-09-10T06:00Z/PT30M,2001-09-10T06:45Z/2001-09-11T03:45Z/PT30M,2001-09-11T04:30Z,2001-09-11T05:00Z,2001-09-11T06:00Z,2001-09-11T06:45Z/2001-09-11T20:45Z/PT30M,2001-09-12T03:45Z,2001-09-12T04:00Z/2001-09-12T06:00Z/PT30M,2001-09-12T06:45Z/2001-09-13T03:45Z/PT30M,2001-09-13T04:00Z/2001-09-13T05:00Z/PT30M,2001-09-13T06:00Z,2001-09-13T06:45Z/2001-09-14T03:45Z/PT30M,2001-09-14T04:00Z/2001-09-14T06:00Z/PT30M,2001-09-14T06:45Z/2001-09-15T03:45Z/PT30M,2001-09-15T04:00Z/2001-09-15T06:00Z/PT30M,2001-09-15T06:45Z/2001-09-15T23:45Z/PT30M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002895/a002895.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows a composite over the Atlantic Ocean of cloud cover data taken from the infrared sensors of several different satellites during September 2001.  Hurricane Erin progresses from the middle of the Atlantic Ocean to near the eastern coast of the United States.  This version provides only the transparent overlay.</Abstract>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Image Composited with Foreground</Title>
+							<Abstract>This animation shows a composite over the Atlantic Ocean of cloud cover data taken from the infrared sensors of several different satellites during September 2001.  Hurricane Erin progresses from the middle of the Atlantic Ocean to near the eastern coast of the United States.  This version provides an image composited with an appropriate foreground image.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="1009">
+						<Name>2895_17432_bg</Name>
+						<Title>Foreground Image for Infrared Cloud Cover over the Atlantic Ocean, September 2001 (WMS)</Title>
+						<Abstract>This animation is a mosaic of cloud cover data taken by several different satellites in the infrared band.  Instead of showing a global composite, it is cropped to highlight the Atlantic Ocean.  One of the most prominent cloud features during this time was Hurricane Erin.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Cloud Cover</Keyword>
+							<Keyword vocabulary="SVS">Infrared</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+							<Keyword vocabulary="GCMD">Location:Atlantic Ocean</Keyword>
+							<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-92</westBoundLongitude>
+							<eastBoundLongitude>37.2566666667</eastBoundLongitude>
+							<southBoundLatitude>-61.16</southBoundLatitude>
+							<northBoundLatitude>65.56</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-92" miny="-61.16" maxx="37.2566666667" maxy="65.56"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002895/a002895.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Global Infrared Cloud Cover, September 2001</Title>
+					<Abstract>This animation is a mosaic of cloud cover data taken by several different satellites in the infrared band.  One of the most prominent cloud features during this time was Hurricane Erin near the Atlantic coast of the United States.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+						<Keyword vocabulary="SVS">Cloud Cover</Keyword>
+						<Keyword vocabulary="SVS">Infrared</Keyword>
+						<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+						<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002894/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002894/a002894.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2852" fixedHeight="1009">
+						<Name>2894_17427</Name>
+						<Title>Global Infrared Cloud Cover, September 2001 (2852x1009 Animation)</Title>
+						<Abstract>This animation is a mosaic of cloud cover data taken by several different satellites in the infrared band.  One of the most prominent cloud features during this time was Hurricane Erin near the Atlantic coast of the United States.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Cloud Cover</Keyword>
+							<Keyword vocabulary="SVS">Infrared</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+							<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>70.62893</westBoundLongitude>
+							<eastBoundLongitude>69.37107</eastBoundLongitude>
+							<southBoundLatitude>-61.16</southBoundLatitude>
+							<northBoundLatitude>65.56</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="70.62893" miny="-61.16" maxx="69.37107" maxy="65.56"/>
+						<Dimension name="time" units="ISO8601" default="2001-09-15T23:45Z">2001-09-01T00:45Z/2001-09-01T03:45Z/PT30M,2001-09-01T04:00Z/2001-09-01T06:00Z/PT30M,2001-09-01T06:45Z/2001-09-01T11:15Z/PT30M,2001-09-01T14:15Z/2001-09-01T19:15Z/PT30M,2001-09-01T20:15Z/2001-09-02T03:45Z/PT30M,2001-09-02T04:00Z/2001-09-02T06:00Z/PT30M,2001-09-02T06:45Z/2001-09-03T03:45Z/PT30M,2001-09-03T04:00Z/2001-09-03T05:00Z/PT30M,2001-09-03T06:00Z,2001-09-03T06:45Z/2001-09-04T03:45Z/PT30M,2001-09-04T04:00Z/2001-09-04T06:00Z/PT30M,2001-09-04T06:45Z/2001-09-04T19:45Z/PT30M,2001-09-04T20:45Z/2001-09-05T03:45Z/PT30M,2001-09-05T04:00Z/2001-09-05T05:00Z/PT30M,2001-09-05T06:00Z,2001-09-05T06:45Z/2001-09-06T03:45Z/PT30M,2001-09-06T04:00Z/2001-09-06T06:00Z/PT30M,2001-09-06T06:45Z/2001-09-07T03:45Z/PT30M,2001-09-07T04:00Z/2001-09-07T05:00Z/PT30M,2001-09-07T06:00Z,2001-09-07T06:45Z/2001-09-07T11:15Z/PT30M,2001-09-07T12:45Z/2001-09-07T15:15Z/PT30M,2001-09-07T16:15Z/2001-09-08T03:45Z/PT30M,2001-09-08T04:00Z/2001-09-08T06:00Z/PT30M,2001-09-08T06:45Z/2001-09-08T22:45Z/PT30M,2001-09-08T23:45Z/2001-09-09T03:45Z/PT30M,2001-09-09T04:00Z/2001-09-09T05:00Z/PT30M,2001-09-09T06:45Z/2001-09-10T03:45Z/PT30M,2001-09-10T04:00Z/2001-09-10T06:00Z/PT30M,2001-09-10T06:45Z/2001-09-11T03:45Z/PT30M,2001-09-11T04:30Z,2001-09-11T05:00Z,2001-09-11T06:00Z,2001-09-11T06:45Z/2001-09-11T20:45Z/PT30M,2001-09-12T03:45Z,2001-09-12T04:00Z/2001-09-12T06:00Z/PT30M,2001-09-12T06:45Z/2001-09-13T03:45Z/PT30M,2001-09-13T04:00Z/2001-09-13T05:00Z/PT30M,2001-09-13T06:00Z,2001-09-13T06:45Z/2001-09-14T03:45Z/PT30M,2001-09-14T04:00Z/2001-09-14T06:00Z/PT30M,2001-09-14T06:45Z/2001-09-15T03:45Z/PT30M,2001-09-15T04:00Z/2001-09-15T06:00Z/PT30M,2001-09-15T06:45Z/2001-09-15T23:45Z/PT30M</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002894/a002894.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation is meant to be wrapped around a three-dimensional globe.  It shows a global composite of cloud cover data taken from the infrared sensors of several different satellites during September 2001.  This version provides only the transparent overlay.</Abstract>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Image Composited with Foreground</Title>
+							<Abstract>This animation is meant to be wrapped around a three-dimensional globe.  It shows a global composite of cloud cover data taken from the infrared sensors of several different satellites during September 2001.  This version provides an image composited with an appropriate foreground image.</Abstract>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="2852" fixedHeight="1009">
+						<Name>2894_17427_bg</Name>
+						<Title>Foreground Image for Global Infrared Cloud Cover, September 2001 (WMS)</Title>
+						<Abstract>This animation is a mosaic of cloud cover data taken by several different satellites in the infrared band.  One of the most prominent cloud features during this time was Hurricane Erin near the Atlantic coast of the United States.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="DLESE">Atmospheric science</Keyword>
+							<Keyword vocabulary="SVS">Cloud Cover</Keyword>
+							<Keyword vocabulary="SVS">Infrared</Keyword>
+							<Keyword vocabulary="DLESE">Natural hazards</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Amount/Frequency</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Spectral/Engineering:Infrared Wavelengths:Infrared Imagery</Keyword>
+							<Keyword vocabulary="SVS">Hurricane Erin</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>70.62893</westBoundLongitude>
+							<eastBoundLongitude>69.37107</eastBoundLongitude>
+							<southBoundLatitude>-61.16</southBoundLatitude>
+							<northBoundLatitude>65.56</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="70.62893" miny="-61.16" maxx="69.37107" maxy="65.56"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002894/a002894.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+			</Layer>
+			<Layer>
+				<Title>Sun-earth Interactions</Title>
+				<Layer opaque="1" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3178_21767</Name>
+					<Title>Incoming Solar Flux Compared to Clouds (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The amount of reflection and absorption is critical to the climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the incoming solar radiation within view of CERES during 29 orbits on June 20 and 21 of 2003.  Because this is incoming solar flux, its magnitude only depends on the position of the sun, and, because the orbit is synchronized with the sun, the orbit crosses the equator in the daylight at about 1:30 PM local time on every orbit.  This data is not actually measured from CERES, but is calculated to compare with the outgoing radiation that CERES does measure.  Note that the infrared cloud image shown under the solar data shows high infrared as dark (land) and low infrared as light (clouds).</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Incoming Solar Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Solar Irradiance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Clouds:Cloud Reflectance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Sun-earth Interactions:Solar Activity:Solar Irradiance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003178/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003178/a003178.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>opaque</Name>
+						<Title>Opaque</Title>
+						<Abstract>This animation shows incoming solar flux corresponding to 29 orbits (2 days) of CERES measurements, from June 20-21, 2003. This data is calculated using data from SORCE for the flux magnitude at the Earths orbit, coupled with solar incidence angles based on CERES measurement locations and times.  The measurements are superimposed over a global infrared cloud cover composite from the same period.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003178/incswbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>X-Ray Images of the North Polar Region</Title>
+					<Abstract>Here are X-rays images (shown on the same brightness scale) of the north polar region obtained by Chandra HRC-I on different days, showing large variability in soft (0.1-10.0 keV) X-ray emissions from Earth s aurora. Note that the images are not snap shots, but are approximately 20-min scans of the northern auroral region in the HRC-I field-of-view. The brightness scale in Rayleighs (R) assumes an average effective area of 40 cm2. The day-night terminator at an altitude of 0 km is displayed with lighting. The day-night terminator at an altitude of 100 km is shown by the blue line.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Atmospheric Emitted Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Sun-earth Interactions:Ionosphere/Magnetosphere Particles:Aurorae</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003170/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003170/a003170.fgdc"/>
+					</MetadataURL>
+					<Layer opaque="1" noSubsets="1" fixedWidth="922" fixedHeight="461">
+						<Name>3170_21483</Name>
+						<Title>X-Ray Images of the North Polar Region (922x461 Animation)</Title>
+						<Abstract>Here are X-rays images (shown on the same brightness scale) of the north polar region obtained by Chandra HRC-I on different days, showing large variability in soft (0.1-10.0 keV) X-ray emissions from Earth s aurora. Note that the images are not snap shots, but are approximately 20-min scans of the northern auroral region in the HRC-I field-of-view. The brightness scale in Rayleighs (R) assumes an average effective area of 40 cm2. The day-night terminator at an altitude of 0 km is displayed with lighting. The day-night terminator at an altitude of 100 km is shown by the blue line.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Atmospheric Emitted Radiation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Sun-earth Interactions:Ionosphere/Magnetosphere Particles:Aurorae</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="2004-04-13T04:07:00Z">2004-01-24T20:22:19Z,2004-01-30T03:26:50Z,2004-02-14T00:18:00Z,2004-04-13T04:07:00Z</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003170/a003170.fgdc"/>
+						</MetadataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>X-ray emissions from Earth's aurora.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003170/chandra_xray_brightness.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>X-ray emissions from Earth's aurora.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003170/chandra_xray_brightness.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="922" fixedHeight="461">
+						<Name>3170_21483_bg</Name>
+						<Title>Background Image for X-Ray Images of the North Polar Region (WMS)</Title>
+						<Abstract>Here are X-rays images (shown on the same brightness scale) of the north polar region obtained by Chandra HRC-I on different days, showing large variability in soft (0.1-10.0 keV) X-ray emissions from Earth s aurora. Note that the images are not snap shots, but are approximately 20-min scans of the northern auroral region in the HRC-I field-of-view. The brightness scale in Rayleighs (R) assumes an average effective area of 40 cm2. The day-night terminator at an altitude of 0 km is displayed with lighting. The day-night terminator at an altitude of 100 km is shown by the blue line.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Atmospheric Emitted Radiation</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Sun-earth Interactions:Ionosphere/Magnetosphere Particles:Aurorae</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-90</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003170/a003170.fgdc"/>
+						</MetadataURL>
+					</Layer>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="512" fixedHeight="256">
+					<Name>3109_20950</Name>
+					<Title>Solar Irradiance (512x256 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth moves around the sun, the fact that the Earth's axis is tilted means that the sun's overhead position moves from the Northern Hemisphere to the Southern Hemisphere and back from one summer to the next.  This effect causes winters to be cold and summers warm in the Northern Hemisphere and the opposite in the Southern Hemisphere.  This animation shows the incoming solar irradiance on the Earth at noon on the Greenwich meridian during an entire year, illustrating this movement.  The magnitude of this irradiance comes from measurements by the TIM instrument on SORCE.  Since the Earth's orbit is elliptical, the magnitude of the solar irradiance at the Earth is least when the Earth is farthest from the sun and greatest when the earth is closest.  This 6 or 7 percent change can be seen in the animation by watching the dark bands move.  When the bands expand from the bright spot, the Earth is getting closer to the sun, from July through December, and when they contract the Earth is moving away, from January through June.  The sun's irradiance is also variable from day to day, but that effect is about ten times smaller than the effect of the earth's orbit.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Incoming Solar Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Solar Irradiance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Sun-earth Interactions:Solar Activity:Solar Irradiance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06-19T12:00:00Z">2003-06-20T12:00:00Z/2004-06-19T12:00:00Z/P1D</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003109/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003109/a003109.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://lasp.colorado.edu/sorce/"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the solar radiance on the Earth
+at noon on the Greenwich meriidian for June 20, 2003 through June 19, 2004
+as calculated from measurements made by the TIM instrument on SORCE.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003109/sorcebar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="1024" fixedHeight="512">
+					<Name>3105_20926</Name>
+					<Title>Instantaneous Incoming Solar Flux (1024x512 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The amount of reflection and absorption is critical to the climate.  An instrument named CERES orbits the Earth every 99 minutes and measures the reflected solar energy.  This animation shows the incoming solar radiation within view of CERES during 29 orbits on June 20 and 21 of 2003.  Because this is incoming solar flux, its magnitude only depends on the position of the sun, and, because the orbit is synchronized with the sun, the orbit crosses the equator in the daylight at about 1:30 PM local time on every orbit.  This data is not actually measured from CERES, but is calculated to compare with the outgoing radiation that CERES does measure.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Incoming Solar Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Solar Irradiance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Sun-earth Interactions:Solar Activity:Solar Irradiance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2003-06-22T00:56Z">2003-06-20T02:44Z/2003-06-22T00:56Z/PT1H39M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003105/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003105/a003105.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows incoming solar flux corresponding
+to 29 orbits (2 days) of CERES measurements, from June 20-21, 2003.  This data
+is calculated using data from SORCE for the flux magnitude at the Earths orbit,
+coupled with solar incidence angles based on CERES measurement locations and
+times.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003100/a003105/incswbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="0" noSubsets="1" fixedWidth="144" fixedHeight="72">
+					<Name>3095_20859</Name>
+					<Title>Average Total-sky Incoming Solar Flux (144x72 Animation)</Title>
+					<Abstract>The Earth's climate is determined by energy transfer from the sun to the Earth's land, oceans, and atmosphere.  As the Earth rotates, the sun lights up only part of the Earth at a time, and some of that incoming solar energy is reflected and some is absorbed, depending on type of area it lights. The average amount of reflection and absorption is critical to the climate, because the absorbed energy heats up the Earth until it is radiated away as thermal radiation.  This animation shows the monthly average incoming solar radiation from July, 2002 through June, 2004 as measured by the CERES instrument.  This average data set is contant in longitude because of the Earth's rotation, but clearly shows the seasonal cycle as the sun heats the Northern Hemisphere more in summer than in winter.  Note that the polar regions are abnormally bright in the local summer and dark in the local winter because whole day is either light or dark in those seasons.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Incoming Solar Radiation</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Atmosphere:Atmospheric Radiation:Solar Irradiance</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Sun-earth Interactions:Solar Activity:Solar Irradiance</Keyword>
+					</KeywordList>
+					<CRS>CRS:84</CRS>
+					<EX_GeographicBoundingBox>
+						<westBoundLongitude>-180</westBoundLongitude>
+						<eastBoundLongitude>180</eastBoundLongitude>
+						<southBoundLatitude>-90</southBoundLatitude>
+						<northBoundLatitude>90</northBoundLatitude>
+					</EX_GeographicBoundingBox>
+					<BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90"/>
+					<Dimension name="time" units="ISO8601" default="2004-06">2002-07/2004-06/P1M</Dimension>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003095/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003095/a003095.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://asd-www.larc.nasa.gov/ceres/ASDceres.html"/>
+					</DataURL>
+					<Style>
+						<Name>overlay</Name>
+						<Title>Transparent Overlay Only</Title>
+						<Abstract>This animation shows the monthly average total-sky incoming solar flux
+from CERES for July 2002 through June 2004.</Abstract>
+						<LegendURL width="320" height="90">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a003000/a003095/solintotbar.0000.png"/>
+						</LegendURL>
+					</Style>
+				</Layer>
+				<Layer opaque="1" noSubsets="1">
+					<Title>Aurora over the North Pole on April 17, 1999</Title>
+					<Abstract>When the charged particles flowing outward from the Sun (the solar wind) hit the Earth's magnetic field, they are channeled down the magnetic field lines to the ionosphere at the North and South Poles.  The impact of these particles on atmospheric molecules causes the molecures to emit light, which forms the visible aurora.  This visualization shows the development of the aurora over the North Pole for about three hours on April 17, 1999, as seen by the ultraviolet VIS Earth Camera on the POLAR spacecraft.  The two main features of these ultraviolet images are the very bright ultaviolet emission from the reflected solar radiation on the dayside of the Earth and the bright ring of the auroral oval circling the North Pole.  The aurora seen in this visualization is the diffuse aurora, a very large scale bright band that is actually too dim to be seen well from the ground by the human eye.  What we normally think of as the aurora are the even brighter curtains of light within the diffuse auroral caused by very energetic electrons.  These curtains are too small scale to be seen in this image.  The diffuse aurora appears as a ring around the pole rather than as a bright spot over the entire pole because the solar particles actually spend extended time wandering about within the Earth's magnetic field before traveling down a very select set of magnetic field lines to the Earth.  Near the end of this three hour period, the spacecraft was getting so close to the Earth that the edges of the globe were outside the camera's image, which accounts for the growing circular data gaps over Asia and the Pacific Ocean.</Abstract>
+					<KeywordList>
+						<Keyword vocabulary="SVS">Aurora</Keyword>
+						<Keyword vocabulary="SVS">Electron Fluxes</Keyword>
+						<Keyword vocabulary="DLESE">Geophysics</Keyword>
+						<Keyword vocabulary="DLESE">Space science</Keyword>
+						<Keyword vocabulary="SVS">Upper Atmosphere</Keyword>
+						<Keyword vocabulary="GCMD">EARTH SCIENCE:Sun-earth Interactions:Ionosphere/Magnetosphere Particles:Aurorae</Keyword>
+					</KeywordList>
+					<Attribution>
+						<Title>National Aeronautics and Space Administration</Title>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002891/"/>
+						<LogoURL width="312" height="258">
+							<Format>image/png</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/svs_icons/nasalogo.png"/>
+						</LogoURL>
+					</Attribution>
+					<MetadataURL type="FGDC:1998">
+						<Format>text/plain</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002891/a002891.fgdc"/>
+					</MetadataURL>
+					<DataURL>
+						<Format>text/html</Format>
+						<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://eiger.physics.uiowa.edu/~vis/images/"/>
+					</DataURL>
+					<Layer opaque="0" noSubsets="1" fixedWidth="360" fixedHeight="100">
+						<Name>2891_17409</Name>
+						<Title>Aurora over the North Pole on April 17, 1999 (360x100 Animation)</Title>
+						<Abstract>When the charged particles flowing outward from the Sun (the solar wind) hit the Earth's magnetic field, they are channeled down the magnetic field lines to the ionosphere at the North and South Poles.  The impact of these particles on atmospheric molecules causes the molecures to emit light, which forms the visible aurora.  This visualization shows the development of the aurora over the North Pole for about three hours on April 17, 1999, as seen by the ultraviolet VIS Earth Camera on the POLAR spacecraft.  The two main features of these ultraviolet images are the very bright ultaviolet emission from the reflected solar radiation on the dayside of the Earth and the bright ring of the auroral oval circling the North Pole.  The aurora seen in this visualization is the diffuse aurora, a very large scale bright band that is actually too dim to be seen well from the ground by the human eye.  What we normally think of as the aurora are the even brighter curtains of light within the diffuse auroral caused by very energetic electrons.  These curtains are too small scale to be seen in this image.  The diffuse aurora appears as a ring around the pole rather than as a bright spot over the entire pole because the solar particles actually spend extended time wandering about within the Earth's magnetic field before traveling down a very select set of magnetic field lines to the Earth.  Near the end of this three hour period, the spacecraft was getting so close to the Earth that the edges of the globe were outside the camera's image, which accounts for the growing circular data gaps over Asia and the Pacific Ocean.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Aurora</Keyword>
+							<Keyword vocabulary="SVS">Electron Fluxes</Keyword>
+							<Keyword vocabulary="DLESE">Geophysics</Keyword>
+							<Keyword vocabulary="DLESE">Space science</Keyword>
+							<Keyword vocabulary="SVS">Upper Atmosphere</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Sun-earth Interactions:Ionosphere/Magnetosphere Particles:Aurorae</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-10</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-10" maxx="180" maxy="90"/>
+						<Dimension name="time" units="ISO8601" default="1999-04-17T04:25:05Z">1999-04-17T00:49:27Z,1999-04-17T00:50:22Z/1999-04-17T00:56:40Z/PT54S,1999-04-17T00:57:35Z/1999-04-17T01:02:05Z/PT54S,1999-04-17T01:03:00Z/1999-04-17T01:09:18Z/PT54S,1999-04-17T01:10:13Z/1999-04-17T01:16:31Z/PT54S,1999-04-17T01:17:26Z/1999-04-17T01:23:44Z/PT54S,1999-04-17T01:24:39Z/1999-04-17T01:30:03Z/PT54S,1999-04-17T01:30:58Z/1999-04-17T01:36:22Z/PT54S,1999-04-17T01:37:17Z/1999-04-17T01:42:41Z/PT54S,1999-04-17T01:43:36Z/1999-04-17T01:50:48Z/PT54S,1999-04-17T01:51:43Z/1999-04-17T01:58:01Z/PT54S,1999-04-17T01:58:56Z/1999-04-17T02:03:26Z/PT54S,1999-04-17T02:04:21Z/1999-04-17T02:09:45Z/PT54S,1999-04-17T02:10:40Z/1999-04-17T02:16:58Z/PT54S,1999-04-17T02:17:53Z/1999-04-17T02:24:11Z/PT54S,1999-04-17T02:25:06Z/1999-04-17T02:30:30Z/PT54S,1999-04-17T02:31:25Z/1999-04-17T02:36:49Z/PT54S,1999-04-17T02:37:44Z/1999-04-17T02:44:02Z/PT54S,1999-04-17T02:44:57Z/1999-04-17T02:52:09Z/PT54S,1999-04-17T02:53:04Z/1999-04-17T02:58:28Z/PT54S,1999-04-17T02:59:23Z/1999-04-17T03:03:53Z/PT54S,1999-04-17T03:04:48Z/1999-04-17T03:11:06Z/PT54S,1999-04-17T03:12:01Z/1999-04-17T03:18:19Z/PT54S,1999-04-17T03:19:14Z/1999-04-17T03:24:38Z/PT54S,1999-04-17T03:25:33Z/1999-04-17T03:30:57Z/PT54S,1999-04-17T03:31:52Z/1999-04-17T03:38:10Z/PT54S,1999-04-17T03:39:05Z/1999-04-17T03:45:23Z/PT54S,1999-04-17T03:46:18Z/1999-04-17T03:51:42Z/PT54S,1999-04-17T03:52:37Z/1999-04-17T03:58:01Z/PT54S,1999-04-17T03:58:56Z/1999-04-17T04:05:14Z/PT54S,1999-04-17T04:06:09Z/1999-04-17T04:11:33Z/PT54S,1999-04-17T04:12:28Z/1999-04-17T04:17:52Z/PT54S,1999-04-17T04:18:47Z/1999-04-17T04:25:05Z/PT54S</Dimension>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002891/a002891.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://eiger.physics.uiowa.edu/~vis/images/"/>
+						</DataURL>
+						<Style>
+							<Name>overlay</Name>
+							<Title>Transparent Overlay Only</Title>
+							<Abstract>This animation shows the aurora over the Northern Hemisphere as recorded by the Polar satellite on April 17, 1999.  This version provides only the transparent overlay.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002891/polarbar.png"/>
+							</LegendURL>
+						</Style>
+						<Style>
+							<Name>composite</Name>
+							<Title>Overlay Composited with Background</Title>
+							<Abstract>This animation shows the aurora over the Northern Hemisphere as recorded by the Polar satellite on April 17, 1999.  This version provides the transparent overlay composited with a background image.</Abstract>
+							<LegendURL width="320" height="90">
+								<Format>image/png</Format>
+								<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002891/polarbar.png"/>
+							</LegendURL>
+						</Style>
+					</Layer>
+					<Layer opaque="1" noSubsets="1" fixedWidth="360" fixedHeight="100">
+						<Name>2891_17409_bg</Name>
+						<Title>Background Image for Aurora over the North Pole on April 17, 1999 (WMS)</Title>
+						<Abstract>When the charged particles flowing outward from the Sun (the solar wind) hit the Earth's magnetic field, they are channeled down the magnetic field lines to the ionosphere at the North and South Poles.  The impact of these particles on atmospheric molecules causes the molecures to emit light, which forms the visible aurora.  This visualization shows the development of the aurora over the North Pole for about three hours on April 17, 1999, as seen by the ultraviolet VIS Earth Camera on the POLAR spacecraft.  The two main features of these ultraviolet images are the very bright ultaviolet emission from the reflected solar radiation on the dayside of the Earth and the bright ring of the auroral oval circling the North Pole.  The aurora seen in this visualization is the diffuse aurora, a very large scale bright band that is actually too dim to be seen well from the ground by the human eye.  What we normally think of as the aurora are the even brighter curtains of light within the diffuse auroral caused by very energetic electrons.  These curtains are too small scale to be seen in this image.  The diffuse aurora appears as a ring around the pole rather than as a bright spot over the entire pole because the solar particles actually spend extended time wandering about within the Earth's magnetic field before traveling down a very select set of magnetic field lines to the Earth.  Near the end of this three hour period, the spacecraft was getting so close to the Earth that the edges of the globe were outside the camera's image, which accounts for the growing circular data gaps over Asia and the Pacific Ocean.
+
+This image can be composited with the previous animation.</Abstract>
+						<KeywordList>
+							<Keyword vocabulary="SVS">Aurora</Keyword>
+							<Keyword vocabulary="SVS">Electron Fluxes</Keyword>
+							<Keyword vocabulary="DLESE">Geophysics</Keyword>
+							<Keyword vocabulary="DLESE">Space science</Keyword>
+							<Keyword vocabulary="SVS">Upper Atmosphere</Keyword>
+							<Keyword vocabulary="GCMD">EARTH SCIENCE:Sun-earth Interactions:Ionosphere/Magnetosphere Particles:Aurorae</Keyword>
+						</KeywordList>
+						<CRS>CRS:84</CRS>
+						<EX_GeographicBoundingBox>
+							<westBoundLongitude>-180</westBoundLongitude>
+							<eastBoundLongitude>180</eastBoundLongitude>
+							<southBoundLatitude>-10</southBoundLatitude>
+							<northBoundLatitude>90</northBoundLatitude>
+						</EX_GeographicBoundingBox>
+						<BoundingBox CRS="CRS:84" minx="-180" miny="-10" maxx="180" maxy="90"/>
+						<MetadataURL type="FGDC:1998">
+							<Format>text/plain</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://svs.gsfc.nasa.gov/vis/a000000/a002800/a002891/a002891.fgdc"/>
+						</MetadataURL>
+						<DataURL>
+							<Format>text/html</Format>
+							<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://eiger.physics.uiowa.edu/~vis/images/"/>
+						</DataURL>
+					</Layer>
+				</Layer>
+			</Layer>
+		</Layer>
+	</Capability>
+</WMS_Capabilities>
Index: lib/spatial/mapbuilder/examples/timeSeries/tsConfig.xml
===================================================================
--- lib/spatial/mapbuilder/examples/timeSeries/tsConfig.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/timeSeries/tsConfig.xml	(revision 4307)
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="simpleTemplate" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+	<models>
+		<Context id="mainMap">
+			<defaultModelUrl>tsEstPrecip.xml</defaultModelUrl>
+			<widgets>
+				<MapPaneOL id="mainMapWidget">
+					<htmlTagId>mainMapPane</htmlTagId>
+					<fixedSize>true</fixedSize>					
+					<imageBuffer>1</imageBuffer>					
+				</MapPaneOL>
+				<Timestamp id="timestamp">
+			  </Timestamp>
+				<Legend id="legend">
+        </Legend>
+				<Abstract id="abstract"/>
+				<MapTitle id="mapTitle"/>
+				<!--SelectTimeFrame id="timeRangeSelect">
+       			 </SelectTimeFrame-->
+				<CursorTrack id="cursorTrack">					
+				</CursorTrack>
+			</widgets>
+			<tools>
+				<MovieLoop id="movieLoop">
+					<framesPerSecond>4</framesPerSecond>
+					<maxFrames>15</maxFrames>
+				</MovieLoop>
+			</tools>
+		</Context>
+		<Model id="collection">
+			<defaultModelUrl>timeSeriesCollection.xml</defaultModelUrl>
+			<widgets>
+				<CollectionList id="collectionList">
+					<targetModel>mainMap</targetModel>
+				</CollectionList>
+			</widgets>
+		</Model>
+		<WmsCapabilities id="wmsCapTemplate">
+			<!--defaultModelUrl>../data/test/tsNasaCaps.xml</defaultModelUrl-->
+			<title>OGC Web Map Server (WMS)</title>
+			<widgets>
+				<SelectMapLayers id="layerList">
+					<htmlTagId>workspace</htmlTagId>
+					<outputNodeId>workspaceCanvas</outputNodeId>
+				</SelectMapLayers>
+        <Loading2 id="loading2">
+					<htmlTagId>workspace</htmlTagId>
+					<outputNodeId>workspaceCanvas</outputNodeId>
+          <textMessage>This is a large file, please wait for it to load...</textMessage>
+        </Loading2>
+			</widgets>
+			<tools>
+				<Caps2Context id="convertCaps">
+					<targetModel>mainMap</targetModel>
+				</Caps2Context>
+			</tools>
+			<nodeSelectXpath>//Layer</nodeSelectXpath>
+		</WmsCapabilities>
+	</models>
+	<widgets>
+		<ModelUrlInput id="wmsCapsUrlInput">
+			<targetModel>wmsCapTemplate</targetModel>
+      <title>Or load another WMS Capabilities URL: </title>
+		</ModelUrlInput>
+		<Button id="play">
+			<buttonBar>tsButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>RadioButton</class>
+			<enabledSrc>/images/PlayEnable.png</enabledSrc>
+			<disabledSrc>/images/PlayDisable.png</disabledSrc>
+			<tooltip>play the movie</tooltip>
+			<action>movieLoop.play()</action>
+		</Button>
+		<Button id="stepBack">
+			<buttonBar>tsButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>Button</class>
+			<disabledSrc>/images/StepBackwardDisable.png</disabledSrc>
+			<tooltip>step back one frame</tooltip>
+			<action>movieLoop.nextFrame(-1)</action>
+		</Button>
+		<Button id="pause">
+			<buttonBar>tsButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>RadioButton</class>
+			<enabledSrc>/images/PauseEnable.png</enabledSrc>
+			<disabledSrc>/images/PauseDisable.png</disabledSrc>
+			<tooltip>pause the movie</tooltip>
+			<action>movieLoop.pause()</action>
+		</Button>
+		<Button id="stop">
+			<buttonBar>tsButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>RadioButton</class>
+			<enabledSrc>/images/StopEnable.png</enabledSrc>
+			<disabledSrc>/images/StopDisable.png</disabledSrc>
+			<tooltip>stop and rewind to beginning</tooltip>
+			<action>movieLoop.stop()</action>
+		</Button>
+		<Button id="stepAhead">
+			<buttonBar>tsButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>Button</class>
+			<disabledSrc>/images/StepForwardDisable.png</disabledSrc>
+			<tooltip>step ahead one frame</tooltip>
+			<action>movieLoop.nextFrame(1)</action>
+		</Button>
+		<ZoomIn id="zoomIn">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>RadioButton</class>
+			<selected>true</selected>
+			<enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+			<disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+		</ZoomIn>
+		<ZoomOut id="zoomOut">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>RadioButton</class>
+			<enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+			<disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+		</ZoomOut>
+		<Reset id="reset">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>Button</class>
+			<disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+		</Reset>
+		<ExampleList id="exampleList"><!-- this is the widget that draws the example menu -->
+		<scriptFile>../ExampleList.js</scriptFile>
+		<stylesheet>../ExampleList.xsl</stylesheet>
+    </ExampleList>
+	</widgets>
+	<skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/flickr/sld.xml
===================================================================
--- lib/spatial/mapbuilder/examples/flickr/sld.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/flickr/sld.xml	(revision 4307)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<StyledLayerDescriptor version="1.0.0" xmlns="http://www.opengis.net/sld" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd">
+	<NamedLayer>
+		<Name>testGmlRenderer</Name>
+		<UserStyle>
+			<Name>default</Name>
+			<FeatureTypeStyle>
+				<Rule>
+					<PointSymbolizer>
+						<Graphic>
+							<ExternalGraphic>
+								<!--
+								The special xlink:href below tells OpenLayers
+								to replace ${url} with the "url" attribute of
+								each feature
+								-->
+								<OnlineResource xlink:href="${url}"/>
+								<Format>image/jpeg</Format>
+							</ExternalGraphic>
+							<Opacity>0.8</Opacity>
+							<Size>25</Size>
+						</Graphic>
+					</PointSymbolizer>
+				</Rule>
+			</FeatureTypeStyle>
+		</UserStyle>
+		<UserStyle>
+			<Name>selected</Name>
+			<FeatureTypeStyle>
+				<Rule>
+					<PointSymbolizer>
+						<Graphic>
+							<ExternalGraphic>
+								<OnlineResource xlink:href="${url}"/>
+								<Format>image/jpeg</Format>
+							</ExternalGraphic>
+							<Opacity>1</Opacity>
+							<Size>25</Size>
+						</Graphic>
+					</PointSymbolizer>
+				</Rule>
+			</FeatureTypeStyle>
+		</UserStyle>
+	</NamedLayer>
+</StyledLayerDescriptor>
\ No newline at end of file
Index: lib/spatial/mapbuilder/examples/projDemo/bsc_ows_large.xml
===================================================================
--- lib/spatial/mapbuilder/examples/projDemo/bsc_ows_large.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/projDemo/bsc_ows_large.xml	(revision 4307)
@@ -0,0 +1,10726 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<wfs:FeatureCollection xmlns:bsc="http://www.bsc-eoc.org/bsc" xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengeospatial.net//wfs/1.0.0/WFS-basic.xsd                         http://www.bsc-eoc.org/bsc http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=DescribeFeatureType&amp;TYPENAME=IBA&amp;OUTPUTFORMAT=XMLSCHEMA">
+      <gml:boundedBy>
+      	<gml:Box srsName="EPSG:4326">
+      		<gml:coordinates>-141.237629,41.671768 -52.666977,78.105913</gml:coordinates>
+      	</gml:Box>
+      </gml:boundedBy>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-77.768674,62.405510 -76.865336,62.580432</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-77.730316,62.444783 -77.768674,62.463976 -77.763471,62.481493 -77.742587,62.495028 -77.651652,62.524109 -77.579393,62.550166 -77.524814,62.562756 -77.441443,62.580432 -77.380500,62.578855 -77.277540,62.565803 -77.205524,62.556275 -77.143260,62.549974 -77.033839,62.542262 -76.971316,62.539786 -76.932795,62.544958 -76.894162,62.536783 -76.875762,62.513570 -76.865336,62.504755 -76.866047,62.485112 -76.881553,62.472410 -76.920695,62.456001 -76.964582,62.450585 -76.992677,62.449935 -77.102773,62.450917 -77.182819,62.452243 -77.245887,62.448314 -77.318906,62.443704 -77.327750,62.441426 -77.374623,62.434317 -77.412908,62.425574 -77.466576,62.412444 -77.496264,62.405510 -77.551665,62.406850 -77.633496,62.425863 -77.671911,62.434286 -77.730316,62.444783 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-62.590780,67.183106 -62.385504,67.257191</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-62.421951,67.253520 -62.421951,67.253520 -62.400747,67.246483 -62.388125,67.236840 -62.385685,67.231462 -62.385504,67.230535 -62.385817,67.225133 -62.389349,67.219261 -62.391253,67.217162 -62.396397,67.212759 -62.403568,67.208706 -62.411951,67.204767 -62.422926,67.200611 -62.424245,67.200352 -62.425133,67.199965 -62.443211,67.194879 -62.453467,67.191869 -62.460535,67.188849 -62.485367,67.183949 -62.513136,67.183106 -62.539627,67.186447 -62.560818,67.193466 -62.565793,67.196245 -62.580864,67.205864 -62.588564,67.212715 -62.590780,67.223492 -62.582181,67.233777 -62.564066,67.242003 -62.539192,67.246915 -62.522212,67.247915 -62.514313,67.249948 -62.513733,67.250051 -62.511971,67.250525 -62.501532,67.252989 -62.483669,67.256000 -62.475319,67.256704 -62.469460,67.257057 -62.449958,67.257191 -62.423402,67.253835 -62.423402,67.253835 -62.421951,67.253520 -62.421951,67.253520 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.998088,73.452108 -79.665941,73.798621</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.686151,73.708832 -79.665941,73.452108 -80.967492,73.467289 -80.963724,73.480878 -80.951174,73.487980 -80.915014,73.501475 -80.903644,73.509968 -80.910424,73.518964 -80.935881,73.527833 -80.971654,73.541304 -80.975734,73.556706 -80.957173,73.571328 -80.961333,73.574884 -80.967173,73.585129 -80.995435,73.599425 -80.998088,73.610782 -80.990135,73.620810 -80.971061,73.630135 -80.958410,73.637233 -80.905602,73.653634 -80.901372,73.655999 -80.886951,73.662325 -80.882933,73.667336 -80.878626,73.675620 -80.880714,73.687602 -80.875898,73.696511 -80.879568,73.700693 -80.890654,73.707319 -80.888859,73.712471 -80.909833,73.724327 -80.941559,73.731592 -80.958346,73.745807 -80.946289,73.760840 -80.906827,73.774805 -80.851694,73.781855 -80.825739,73.784820 -80.784091,73.786787 -80.731549,73.784761 -80.690214,73.783438 -80.665956,73.787154 -80.635331,73.795727 -80.557450,73.798621 -80.461471,73.797680 -80.343370,73.789316 -80.290085,73.782521 -80.239481,73.772589 -80.194227,73.756400 -80.161902,73.741716 -80.138546,73.741480 -80.110080,73.752779 -80.060959,73.763355 -79.996968,73.763683 -79.937127,73.753708 -79.891727,73.740728 -79.838574,73.725885 -79.751729,73.714662 -79.686151,73.708832 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-90.420540,73.941636 -89.726205,74.113665</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-89.912836,73.950241 -89.933936,73.946118 -89.956962,73.942954 -89.980557,73.941636 -90.004728,73.942163 -90.028901,73.942689 -90.061182,73.945833 -90.087809,73.949464 -90.108948,73.952975 -90.136442,73.957536 -90.155821,73.959475 -90.171903,73.961343 -90.193657,73.962717 -90.224300,73.963968 -90.248344,73.965078 -90.276712,73.966580 -90.302232,73.970467 -90.333965,73.976007 -90.346293,73.979620 -90.361206,73.986037 -90.373466,73.989953 -90.380921,73.995301 -90.387758,73.998801 -90.396404,74.003866 -90.405214,74.008323 -90.410479,74.013625 -90.417795,74.019579 -90.420540,74.026054 -90.419413,74.034591 -90.418058,74.039761 -90.416541,74.045539 -90.411946,74.050338 -90.406547,74.058179 -90.395465,74.062237 -90.391181,74.065820 -90.382224,74.070226 -90.367644,74.074825 -90.352192,74.078489 -90.342355,74.081959 -90.334030,74.083931 -90.322132,74.086748 -90.309287,74.088933 -90.294139,74.091377 -90.278904,74.094123 -90.259395,74.096170 -90.244234,74.098610 -90.229235,74.100442 -90.209964,74.101572 -90.190522,74.103309 -90.179094,74.104295 -90.162119,74.105164 -90.142923,74.105985 -90.112121,74.108394 -90.088653,74.108509 -90.083107,74.108392 -90.065186,74.108622 -90.056225,74.108737 -90.041371,74.109948 -90.032236,74.110670 -90.010809,74.111432 -89.990140,74.113433 -89.986724,74.113665 -89.978957,74.113496 -89.967950,74.112952 -89.963512,74.112856 -89.950288,74.112262 -89.933824,74.111291 -89.911906,74.109893 -89.900240,74.107802 -89.890794,74.105759 -89.863971,74.102108 -89.854712,74.099456 -89.844258,74.097082 -89.828718,74.093066 -89.800619,74.086319 -89.786297,74.082020 -89.759613,74.074382 -89.748347,74.067396 -89.733682,74.060638 -89.728609,74.055322 -89.726208,74.048536 -89.726205,74.044865 -89.727949,74.039092 -89.729875,74.032711 -89.730883,74.029369 -89.735660,74.024582 -89.739330,74.019771 -89.747502,74.014756 -89.752817,74.008145 -89.761718,74.004370 -89.764741,74.001685 -89.773441,73.994846 -89.783432,73.991095 -89.792950,73.985191 -89.799629,73.981364 -89.812999,73.977382 -89.821512,73.974820 -89.831392,73.971371 -89.837520,73.969367 -89.850604,73.966295 -89.858750,73.964947 -89.862673,73.962893 -89.873638,73.959466 -89.880768,73.957790 -89.891460,73.955274 -89.898763,73.952989 -89.904877,73.950982 -89.912836,73.950241 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-68.459705,60.184329 -67.806667,60.606716</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-68.259718,60.585969 -68.255479,60.588910 -68.249274,60.590829 -68.249068,60.590846 -68.248899,60.590897 -68.197235,60.599974 -68.196934,60.599998 -68.194152,60.600374 -68.121526,60.606584 -68.117754,60.606716 -68.110608,60.605907 -68.080502,60.599244 -68.080064,60.599090 -68.079612,60.599033 -68.055590,60.592942 -68.023540,60.592643 -68.005691,60.593667 -68.002921,60.593725 -67.995780,60.592909 -67.989819,60.590812 -67.985943,60.587752 -67.978624,60.578203 -67.962947,60.559297 -67.942183,60.542152 -67.920720,60.535061 -67.917476,60.533702 -67.913871,60.530958 -67.903210,60.518407 -67.889921,60.512065 -67.867627,60.505424 -67.866645,60.505031 -67.865434,60.504659 -67.848820,60.497932 -67.833397,60.495894 -67.830489,60.495379 -67.824557,60.493274 -67.820710,60.490209 -67.816635,60.484835 -67.815841,60.483481 -67.809606,60.468703 -67.809498,60.468081 -67.809280,60.467604 -67.806723,60.452760 -67.806667,60.451655 -67.808339,60.448146 -67.808810,60.447823 -67.808983,60.447513 -67.827567,60.430866 -67.828189,60.424283 -67.828445,60.423760 -67.829445,60.421359 -67.840186,60.407728 -67.840459,60.407529 -67.840589,60.407256 -67.860278,60.385835 -67.860711,60.385536 -67.860871,60.385245 -67.871859,60.375239 -67.875512,60.372901 -67.881697,60.371000 -67.888879,60.370416 -67.888994,60.370429 -67.889106,60.370421 -67.892696,60.370502 -67.895870,60.369641 -67.901482,60.360711 -67.902306,60.359638 -67.913133,60.347815 -67.913444,60.347600 -67.913561,60.347378 -67.927898,60.333672 -67.931706,60.331180 -67.931722,60.331175 -67.931734,60.331167 -67.940257,60.327226 -67.937435,60.316780 -67.937368,60.316112 -67.937284,60.315906 -67.936447,60.305028 -67.936563,60.304734 -67.936443,60.304373 -67.937366,60.302702 -67.938093,60.300863 -67.938561,60.300539 -67.938732,60.300229 -67.948647,60.291267 -67.957116,60.281981 -67.961342,60.279051 -67.967503,60.277147 -67.974663,60.276558 -67.981731,60.277374 -67.983234,60.277754 -67.998877,60.282153 -68.013473,60.286183 -68.023411,60.287170 -68.025118,60.286480 -68.030283,60.285004 -68.037443,60.284412 -68.042040,60.284772 -68.051285,60.286101 -68.056772,60.286306 -68.058089,60.285172 -68.065237,60.273663 -68.066054,60.272589 -68.070268,60.269655 -68.076421,60.267746 -68.083577,60.267151 -68.087291,60.267419 -68.107967,60.257664 -68.108002,60.257653 -68.108026,60.257636 -68.114175,60.255725 -68.121326,60.255128 -68.123071,60.255195 -68.142619,60.256405 -68.151107,60.255791 -68.151932,60.254877 -68.157524,60.246799 -68.158144,60.246021 -68.166832,60.236398 -68.169573,60.234229 -68.184875,60.225193 -68.186333,60.224426 -68.192470,60.222511 -68.193260,60.222444 -68.193820,60.222284 -68.202890,60.220951 -68.214585,60.214036 -68.216041,60.213268 -68.222175,60.211352 -68.229314,60.210749 -68.229355,60.210753 -68.229396,60.210750 -68.261054,60.211259 -68.312639,60.189763 -68.317916,60.188218 -68.320955,60.187782 -68.354208,60.184503 -68.358301,60.184329 -68.365358,60.185124 -68.366861,60.185499 -68.398003,60.194156 -68.423860,60.200751 -68.428847,60.202607 -68.432718,60.205653 -68.432780,60.205832 -68.432953,60.205974 -68.453196,60.235293 -68.453299,60.235624 -68.454031,60.237034 -68.459536,60.256886 -68.459705,60.258374 -68.459618,60.258566 -68.459672,60.258741 -68.457548,60.275136 -68.456999,60.276245 -68.456382,60.277811 -68.446373,60.290939 -68.436265,60.311942 -68.426030,60.335331 -68.425602,60.335980 -68.425483,60.336314 -68.409819,60.359394 -68.410328,60.364917 -68.410216,60.365212 -68.410341,60.365572 -68.409410,60.368229 -68.399096,60.383719 -68.398426,60.384578 -68.380216,60.404845 -68.372203,60.417591 -68.371432,60.418603 -68.371180,60.418780 -68.371086,60.418966 -68.354956,60.434970 -68.344811,60.451812 -68.340795,60.461999 -68.339521,60.463993 -68.323459,60.481782 -68.316658,60.489307 -68.314924,60.498031 -68.314594,60.498646 -68.314225,60.499782 -68.299447,60.524080 -68.299263,60.524323 -68.299231,60.524411 -68.293351,60.532894 -68.292729,60.533673 -68.286770,60.540249 -68.283470,60.547429 -68.283086,60.547997 -68.282979,60.548298 -68.273631,60.562167 -68.274122,60.567720 -68.274008,60.568015 -68.274132,60.568376 -68.272506,60.571891 -68.267123,60.577819 -68.259718,60.585969 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-94.268932,68.107470 -92.420393,69.171107</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-93.726505,68.970256 -93.236335,69.171107 -93.202050,69.165825 -93.146784,69.162790 -93.104982,69.164822 -93.098671,69.157344 -93.135155,69.135496 -93.143898,69.113353 -93.172762,69.098829 -93.173357,69.091423 -93.152825,69.088741 -93.139005,69.088597 -93.132704,69.081119 -92.922874,69.031845 -92.911354,69.006998 -92.857903,68.989062 -92.640867,68.956644 -92.554754,68.925811 -92.480878,68.848131 -92.446183,68.790761 -92.420393,68.716195 -92.427817,68.649528 -92.434381,68.590262 -92.423145,68.508462 -92.430495,68.441773 -92.434831,68.402251 -92.503604,68.324081 -92.660234,68.229783 -92.717315,68.190960 -92.793424,68.159790 -92.970046,68.114966 -93.182849,68.107470 -93.493763,68.117924 -93.538776,68.117943 -93.592894,68.123719 -93.731733,68.132229 -93.942335,68.170768 -94.041294,68.188665 -94.232278,68.246510 -94.268932,68.263042 -94.224637,68.276151 -94.191013,68.283415 -94.210129,68.310705 -94.222598,68.337962 -94.221779,68.362685 -94.213921,68.397264 -94.166699,68.404460 -94.146208,68.414250 -94.138949,68.429049 -94.091352,68.443639 -94.036867,68.460651 -93.982088,68.482588 -93.907337,68.496967 -93.839604,68.503943 -93.805405,68.513600 -93.764304,68.525674 -93.716684,68.532745 -93.675221,68.549740 -93.627379,68.559258 -93.599768,68.568926 -93.571527,68.588474 -93.570311,68.608242 -93.596786,68.618345 -93.623871,68.618561 -93.698496,68.616662 -93.766338,68.614684 -93.779100,68.629605 -93.758378,68.636874 -93.757319,68.656641 -93.749069,68.683771 -93.725840,68.735506 -93.745318,68.752947 -93.737831,68.765250 -93.689146,68.782193 -93.647649,68.791763 -93.646487,68.811524 -93.631803,68.828709 -93.596129,68.853140 -93.615608,68.870591 -93.649109,68.883206 -93.661511,68.905539 -93.679517,68.950147 -93.671930,68.962444 -93.733791,68.962897 -93.726505,68.970256 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-105.500801,66.332710 -97.119186,68.489296</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-105.486069,68.453590 -105.494347,68.459167 -105.483406,68.465965 -105.474495,68.459305 -105.462555,68.459267 -105.449844,68.463150 -105.426277,68.480286 -105.419701,68.472885 -105.410400,68.475227 -105.400345,68.479004 -105.390411,68.479408 -105.390633,68.489273 -105.380379,68.489052 -105.370735,68.486610 -105.360504,68.489296 -105.351028,68.488907 -105.343079,68.483780 -105.334373,68.480255 -105.325356,68.477402 -105.316803,68.472733 -105.308861,68.464417 -105.300011,68.461342 -105.290085,68.460320 -105.277206,68.459579 -104.001961,68.248901 -103.433472,68.165489 -103.381783,68.158211 -102.000793,68.083633 -100.622681,68.000694 -99.998604,67.956985 -98.377411,67.830147 -98.138405,67.830154 -97.434715,67.726135 -97.340584,67.711929 -97.145500,67.682259 -97.152550,67.672592 -97.159851,67.664070 -97.159874,67.653519 -97.150742,67.648346 -97.156990,67.639877 -97.164490,67.634491 -97.177208,67.629761 -97.188179,67.628319 -97.198242,67.627113 -97.208054,67.624245 -97.219200,67.621605 -97.228836,67.619423 -97.238754,67.617867 -97.251244,67.615234 -97.261299,67.613899 -97.273468,67.611946 -97.287445,67.609207 -97.298119,67.607079 -97.307594,67.604660 -97.317825,67.602013 -97.332260,67.598465 -97.343071,67.596390 -97.353889,67.593803 -97.364243,67.592125 -97.374886,67.590561 -97.386276,67.588890 -97.396545,67.583557 -97.406456,67.580963 -97.416420,67.575630 -97.409737,67.566200 -97.401222,67.558762 -97.394485,67.552643 -97.386528,67.547714 -97.374550,67.542656 -97.364914,67.540001 -97.355270,67.537575 -97.345787,67.534981 -97.332603,67.531059 -97.323280,67.528061 -97.314713,67.524895 -97.301712,67.520004 -97.292892,67.515297 -97.284813,67.510651 -97.275406,67.505653 -97.266449,67.500656 -97.256386,67.498169 -97.244987,67.495956 -97.234299,67.494720 -97.223633,67.492851 -97.214165,67.490700 -97.201927,67.486656 -97.188530,67.481865 -97.180496,67.476585 -97.170914,67.468849 -97.160828,67.462982 -97.149063,67.458710 -97.138962,67.458664 -97.129150,67.458679 -97.119186,67.454239 -97.119820,67.443581 -97.131744,67.437477 -97.142860,67.438156 -97.153656,67.434608 -97.163734,67.435165 -97.174561,67.435669 -97.183113,67.427269 -97.194077,67.422806 -97.205948,67.422974 -97.218140,67.422165 -97.226891,67.416557 -97.230576,67.406418 -97.233673,67.395996 -97.234398,67.385612 -97.234497,67.376205 -97.239899,67.368126 -97.250153,67.366631 -97.256721,67.358780 -97.265358,67.350716 -97.276756,67.350365 -97.288361,67.347778 -97.297600,67.345131 -97.307487,67.339691 -97.312988,67.332184 -97.323029,67.332504 -97.328819,67.324997 -97.332558,67.316620 -97.343269,67.313240 -97.349915,67.306358 -97.359322,67.301651 -97.368927,67.301117 -97.377266,67.304672 -97.387177,67.304138 -97.394279,67.295944 -97.406616,67.291534 -97.415817,67.288475 -97.421486,67.277657 -97.422417,67.267113 -97.421593,67.255989 -97.430382,67.250877 -97.439690,67.249191 -97.448799,67.250702 -97.447731,67.261131 -97.459869,67.266983 -97.469177,67.265526 -97.476227,67.258469 -97.481544,67.266861 -97.486717,67.274918 -97.496857,67.277565 -97.501701,67.269249 -97.512794,67.266769 -97.524200,67.263023 -97.531967,67.255859 -97.544662,67.254341 -97.549049,67.245972 -97.559715,67.241028 -97.572739,67.236320 -97.582626,67.234566 -97.594261,67.233681 -97.612427,67.228951 -97.602409,67.216125 -97.599571,67.207054 -97.607590,67.199936 -97.616302,67.196304 -97.621231,67.188324 -97.633308,67.185547 -97.646667,67.187218 -97.654518,67.179817 -97.661919,67.173553 -97.666832,67.165573 -97.669853,67.155655 -97.660484,67.152565 -97.650063,67.153008 -97.639542,67.148087 -97.633621,67.138840 -97.648453,67.125977 -97.644821,67.117294 -97.641380,67.108505 -97.635902,67.099663 -97.644318,67.091972 -97.655632,67.087372 -97.666023,67.086868 -97.676834,67.089165 -97.687088,67.088547 -97.688179,67.079483 -97.695824,67.074303 -97.706795,67.073288 -97.716309,67.072327 -97.727142,67.071022 -97.736214,67.069550 -97.742691,67.061684 -97.750183,67.053650 -97.757370,67.047890 -97.762672,67.038544 -97.772461,67.037636 -97.784729,67.036102 -97.795410,67.030632 -97.803894,67.024818 -97.812515,67.018661 -97.825073,67.013306 -97.836174,67.008461 -97.845802,67.000420 -97.856918,66.998070 -97.859726,66.989052 -97.869637,66.987946 -97.879738,66.990891 -97.888565,66.984993 -97.886841,66.975746 -97.883080,66.966965 -97.888336,66.956848 -97.897957,66.956772 -97.906357,66.953331 -97.913857,66.947662 -97.919716,66.939713 -97.915932,66.930008 -97.919441,66.921097 -97.929604,66.919647 -97.940285,66.913971 -97.942917,66.905052 -97.954948,66.902916 -97.964821,66.902145 -97.968018,66.893173 -97.978104,66.888069 -97.987595,66.882278 -97.984375,66.872177 -97.988701,66.862175 -97.978668,66.860947 -97.972717,66.852394 -97.966194,66.843788 -97.958115,66.837471 -97.958694,66.828339 -97.964516,66.820900 -97.972107,66.815453 -97.982735,66.810005 -97.994949,66.804436 -98.004684,66.798622 -98.009468,66.788437 -98.011368,66.778206 -98.019768,66.770752 -98.025963,66.762245 -98.026001,66.751755 -98.013184,66.748642 -98.004372,66.745941 -97.993774,66.745056 -97.984467,66.741768 -97.975716,66.736420 -97.967506,66.729134 -97.964043,66.720406 -97.967621,66.709663 -97.971947,66.700859 -97.976395,66.690567 -97.982849,66.680161 -97.990067,66.672890 -97.991173,66.661522 -97.997070,66.653061 -98.006500,66.644676 -98.009888,66.633842 -98.009918,66.623466 -98.009392,66.613029 -98.009811,66.603058 -98.001968,66.596947 -98.009857,66.588295 -98.019417,66.588730 -98.028778,66.594009 -98.038536,66.599747 -98.048119,66.598473 -98.055031,66.592361 -98.060310,66.577965 -98.069984,66.575722 -98.079727,66.571259 -98.088219,66.566368 -98.095810,66.558960 -98.098022,66.547821 -98.088005,66.544930 -98.079903,66.550285 -98.074059,66.558914 -98.065849,66.566711 -98.055664,66.566895 -98.054054,66.551193 -98.061600,66.545776 -98.059891,66.535439 -98.058914,66.524986 -98.044632,66.524826 -98.037041,66.519173 -98.041458,66.510635 -98.038795,66.498451 -98.039131,66.487801 -98.047668,66.479324 -98.058762,66.482628 -98.069710,66.478638 -98.078407,66.474274 -98.087463,66.475098 -98.097176,66.467552 -98.094528,66.446075 -98.099586,66.437889 -98.111969,66.433517 -98.110580,66.424202 -98.113701,66.415298 -98.119461,66.405586 -98.123764,66.396240 -98.125641,66.377243 -98.113297,66.380638 -98.111626,66.390755 -98.102707,66.393356 -98.089996,66.390991 -98.078545,66.390305 -98.079910,66.380577 -98.078857,66.369331 -98.086380,66.362038 -98.097504,66.361526 -98.107910,66.358093 -98.112556,66.349556 -98.113701,66.339027 -98.123741,66.337814 -98.134918,66.339691 -99.064590,66.333565 -99.998375,66.334229 -100.998322,66.333740 -102.001381,66.332710 -103.000191,66.333351 -104.001205,66.334633 -104.985023,66.334488 -104.975403,66.343758 -104.971352,66.354202 -104.964302,66.362770 -104.954941,66.365746 -104.944138,66.367126 -104.932777,66.369476 -104.922974,66.371941 -104.909760,66.375259 -104.897675,66.376122 -104.888145,66.376076 -104.876053,66.376312 -104.864532,66.376831 -104.860291,66.387558 -104.852905,66.393951 -104.842796,66.395615 -104.826996,66.395447 -104.817741,66.396645 -104.808922,66.402351 -104.808212,66.411995 -104.798523,66.412285 -104.789833,66.419586 -104.780144,66.420387 -104.774147,66.430374 -104.763306,66.435677 -104.754890,66.439217 -104.743187,66.442978 -104.734192,66.446625 -104.726044,66.450844 -104.722740,66.460144 -104.716576,66.467674 -104.703430,66.471146 -104.692413,66.475761 -104.684250,66.480782 -104.675087,66.484657 -104.662071,66.487785 -104.662437,66.498512 -104.656387,66.506554 -104.647774,66.512085 -104.647720,66.521385 -104.644081,66.531479 -104.638878,66.539352 -104.638100,66.549622 -104.634163,66.560005 -104.626366,66.568672 -104.617867,66.573914 -104.613647,66.582237 -104.621193,66.590752 -104.621124,66.599884 -104.617325,66.609581 -104.614090,66.620018 -104.606705,66.627541 -104.614563,66.633545 -104.611328,66.643127 -104.604797,66.650826 -104.599396,66.660919 -104.590736,66.664162 -104.586205,66.672318 -104.578346,66.681831 -104.569405,66.683586 -104.557556,66.687225 -104.550720,66.693832 -104.546158,66.703018 -104.540604,66.710655 -104.529167,66.715141 -104.519455,66.719406 -104.512589,66.727325 -104.516243,66.735664 -104.528313,66.740364 -104.537376,66.743347 -104.546860,66.747871 -104.546181,66.758026 -104.554474,66.766090 -104.560890,66.775452 -104.569954,66.780487 -104.580032,66.784843 -104.589920,66.788551 -104.606178,66.793999 -104.620628,66.797600 -104.628281,66.803520 -104.646248,66.806992 -104.659019,66.810310 -104.672127,66.814995 -104.685127,66.820396 -104.699402,66.825111 -104.715080,66.828506 -104.724564,66.830826 -104.739197,66.833511 -104.751877,66.834076 -104.762230,66.834816 -104.779114,66.838005 -104.789436,66.842163 -104.801277,66.851151 -104.810799,66.860085 -104.817047,66.867783 -104.825203,66.878044 -104.831528,66.885292 -104.840881,66.891922 -104.850708,66.899261 -104.861076,66.910271 -104.863487,66.920151 -104.871323,66.925598 -104.885963,66.928719 -104.896187,66.930344 -104.906448,66.931763 -104.921707,66.934669 -104.931831,66.936989 -104.940788,66.939278 -104.949783,66.941330 -104.963547,66.942825 -104.976540,66.945435 -104.989960,66.948975 -105.002197,66.952705 -105.023262,66.955971 -105.033623,66.956932 -105.046783,66.958618 -105.057854,66.962318 -105.072029,66.964958 -105.086357,66.966682 -105.101387,66.977043 -105.113762,66.976433 -105.123154,66.979858 -105.131813,66.984177 -105.139717,66.989616 -105.147812,66.993919 -105.147949,67.004196 -105.154457,67.012825 -105.171417,67.022331 -105.185287,67.027229 -105.194321,67.033150 -105.202782,67.042709 -105.207649,67.052856 -105.217430,67.054008 -105.226807,67.054001 -105.228867,67.063400 -105.244698,67.067200 -105.254318,67.069481 -105.271942,67.073090 -105.282463,67.073334 -105.300880,67.079468 -105.312401,67.084755 -105.322441,67.095932 -105.335701,67.105362 -105.344650,67.108307 -105.354462,67.109444 -105.369057,67.110001 -105.364517,67.128609 -105.376831,67.136642 -105.391281,67.138336 -105.411850,67.146332 -105.421997,67.149300 -105.433159,67.153419 -105.442886,67.155235 -105.454514,67.156174 -105.456146,67.165108 -105.469162,67.164711 -105.479027,67.161514 -105.486847,67.168526 -105.498856,67.178802 -105.500099,68.001366 -105.500801,68.440575 -105.486069,68.453590 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.117589,75.709518 -78.414574,76.210549</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-78.698259,75.951160 -78.685057,75.948375 -78.643967,75.938467 -78.585091,75.919943 -78.567628,75.911690 -78.549547,75.901928 -78.536260,75.895693 -78.498043,75.866184 -78.507099,75.831086 -78.534741,75.813341 -78.551686,75.805156 -78.576519,75.795442 -78.579706,75.793770 -78.592612,75.789301 -78.597081,75.788297 -78.599986,75.786836 -78.707129,75.763513 -78.842184,75.751980 -78.850832,75.752103 -78.858161,75.751518 -78.888508,75.750804 -78.949818,75.751991 -78.961613,75.750974 -79.003337,75.750112 -79.022290,75.749986 -79.077653,75.751514 -79.094086,75.744842 -79.200204,75.721310 -79.334529,75.709518 -79.476881,75.711235 -79.486342,75.712336 -79.495391,75.712501 -79.542679,75.716061 -79.653289,75.729744 -79.682723,75.737680 -79.747682,75.744185 -79.771121,75.747576 -79.802094,75.752587 -79.898910,75.778484 -79.908977,75.785224 -79.960102,75.791032 -80.057419,75.816864 -80.065160,75.819955 -80.115052,75.852936 -80.113416,75.863541 -80.117589,75.866922 -80.112161,75.902058 -80.107280,75.907045 -80.046924,75.938986 -79.971156,75.957780 -79.941777,75.963184 -79.941434,75.965241 -79.888747,75.992829 -79.887682,75.993481 -79.886684,75.993907 -79.880507,75.997134 -79.877613,75.997779 -79.868670,76.001593 -79.845572,76.010242 -79.772025,76.026569 -79.760633,76.032269 -79.756943,76.033086 -79.754909,76.034105 -79.738931,76.039096 -79.708051,76.045748 -79.692193,76.053938 -79.624461,76.070423 -79.614456,76.078101 -79.606773,76.082920 -79.558669,76.104045 -79.471410,76.124424 -79.468833,76.124854 -79.454413,76.140131 -79.452729,76.141011 -79.452524,76.142034 -79.389866,76.173783 -79.280883,76.197338 -79.142202,76.209073 -79.099224,76.209955 -79.079698,76.210086 -79.065309,76.209703 -79.042579,76.209895 -78.990176,76.209001 -78.971663,76.210549 -78.824694,76.208556 -78.730492,76.199305 -78.687207,76.193292 -78.649074,76.187214 -78.595236,76.172671 -78.568828,76.169586 -78.471808,76.143249 -78.448441,76.131784 -78.438462,76.125847 -78.414574,76.104074 -78.416358,76.077508 -78.429887,76.057834 -78.437472,76.049346 -78.458948,76.038797 -78.462046,76.027067 -78.526014,75.995516 -78.588123,75.982236 -78.606269,75.975820 -78.612684,75.974374 -78.617074,75.972193 -78.646560,75.963887 -78.695161,75.951750 -78.698259,75.951160 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-77.404736,67.169656 -73.222846,68.777647</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-75.425674,67.302577 -75.443322,67.287785 -75.460457,67.277356 -75.496834,67.266099 -75.545403,67.256336 -75.590100,67.251295 -75.636378,67.253245 -75.648271,67.254691 -75.675835,67.250369 -75.684624,67.244142 -75.713946,67.234350 -75.764011,67.222480 -75.767486,67.222034 -75.770908,67.220963 -75.783873,67.218697 -75.875658,67.205116 -75.907250,67.202261 -75.924820,67.202133 -75.975253,67.203201 -76.020502,67.198874 -76.037824,67.197733 -76.073802,67.199154 -76.109172,67.195033 -76.113859,67.195216 -76.117600,67.194835 -76.152462,67.194495 -76.153165,67.194532 -76.156068,67.194480 -76.213634,67.194578 -76.247820,67.196573 -76.257812,67.198646 -76.263340,67.196887 -76.267546,67.196392 -76.270448,67.195529 -76.323845,67.186156 -76.330808,67.185431 -76.344862,67.183345 -76.450447,67.173345 -76.466727,67.172255 -76.512922,67.173959 -76.538616,67.179239 -76.580184,67.174262 -76.600853,67.174131 -76.627375,67.174857 -76.649299,67.171926 -76.675660,67.169656 -76.721864,67.171301 -76.761820,67.179325 -76.769005,67.181522 -76.773038,67.181315 -76.774528,67.181360 -76.776053,67.181175 -76.807869,67.181518 -76.895593,67.187047 -76.898523,67.187304 -76.899539,67.187321 -76.959295,67.191863 -76.969777,67.192851 -76.986767,67.195330 -77.052546,67.207196 -77.076792,67.213021 -77.106750,67.226800 -77.136946,67.247991 -77.143653,67.253529 -77.186735,67.296171 -77.189181,67.299987 -77.192084,67.302944 -77.206827,67.328457 -77.242019,67.381884 -77.264053,67.401569 -77.310073,67.425500 -77.318507,67.430531 -77.332869,67.447681 -77.333651,67.452344 -77.334832,67.485359 -77.335414,67.485759 -77.349821,67.502907 -77.346006,67.520861 -77.337056,67.532877 -77.340337,67.545035 -77.350983,67.566644 -77.350769,67.568429 -77.352430,67.570441 -77.361426,67.603613 -77.371681,67.628601 -77.390583,67.649364 -77.396469,67.659155 -77.397270,67.663816 -77.398067,67.684389 -77.404736,67.712307 -77.404375,67.713774 -77.404243,67.722360 -77.389700,67.765246 -77.386055,67.771971 -77.340848,67.832039 -77.330374,67.867007 -77.326457,67.874475 -77.313826,67.885481 -77.269659,67.913291 -77.240705,67.932959 -77.205326,67.979270 -77.172242,68.022406 -77.150179,68.038399 -77.147779,68.039158 -77.146450,68.040067 -77.117257,68.052503 -77.113900,68.067268 -77.109086,68.072358 -77.071067,68.106070 -77.060434,68.112737 -77.056995,68.115350 -77.017417,68.135543 -77.015461,68.136184 -77.014112,68.137152 -76.993325,68.144771 -76.959582,68.154500 -76.959507,68.159737 -76.954557,68.172400 -76.945439,68.180834 -76.931877,68.190491 -76.918636,68.198018 -76.910630,68.201373 -76.863953,68.219090 -76.854882,68.230578 -76.849623,68.235967 -76.831121,68.251766 -76.813889,68.262323 -76.806322,68.265491 -76.720000,68.298385 -76.705361,68.302489 -76.696546,68.305370 -76.578327,68.332501 -76.575082,68.332910 -76.571984,68.333859 -76.550676,68.335985 -76.525446,68.339159 -76.520528,68.338987 -76.516611,68.339377 -76.496022,68.339613 -76.490490,68.342692 -76.452926,68.354152 -76.406321,68.359419 -76.394574,68.359650 -76.390373,68.359659 -76.382401,68.364161 -76.344751,68.375597 -76.298079,68.380834 -76.249525,68.379073 -76.216276,68.375346 -76.173291,68.366846 -76.142431,68.352918 -76.138521,68.348124 -76.136323,68.347998 -76.119069,68.346534 -76.107412,68.345217 -76.103029,68.347490 -76.099978,68.348478 -76.097637,68.350085 -76.086027,68.354617 -76.026907,68.374735 -76.000712,68.381568 -75.981743,68.384558 -75.934443,68.390354 -75.906641,68.392500 -75.858093,68.390629 -75.822225,68.384043 -75.808954,68.380524 -75.788669,68.378195 -75.715205,68.377056 -75.683203,68.374991 -75.663043,68.371924 -75.574384,68.354915 -75.564732,68.352534 -75.559865,68.351641 -75.425956,68.316486 -75.365217,68.303415 -75.306111,68.302353 -75.304166,68.302222 -75.300898,68.302217 -75.194901,68.298603 -75.168263,68.296582 -75.140648,68.291838 -75.093103,68.280859 -75.080249,68.279317 -75.037855,68.270535 -75.007797,68.256403 -74.996558,68.244307 -74.991352,68.234399 -74.977069,68.228072 -74.966146,68.221934 -74.934817,68.215402 -74.904891,68.201251 -74.898065,68.195224 -74.870373,68.164874 -74.864169,68.153568 -74.865054,68.143537 -74.879031,68.107017 -74.883925,68.099180 -74.895568,68.089688 -74.914499,68.077962 -74.911762,68.065038 -74.911778,68.064990 -74.911742,68.064942 -74.914491,68.051099 -74.928561,68.028088 -74.931541,68.024058 -74.953053,68.009266 -74.990515,67.991969 -75.020284,67.962264 -75.022162,67.931103 -74.997789,67.889967 -74.965006,67.868088 -74.940496,67.855550 -74.929909,67.849070 -74.917031,67.831733 -74.916975,67.824922 -74.928401,67.763863 -74.934162,67.719565 -74.903564,67.622772 -74.903807,67.621832 -74.903058,67.620813 -74.908693,67.602930 -74.912569,67.599017 -74.934861,67.579243 -74.951664,67.559570 -74.975866,67.511604 -74.979611,67.506049 -74.982053,67.504381 -74.982681,67.502845 -75.039840,67.449250 -75.040812,67.448637 -75.043185,67.446388 -75.095101,67.405637 -75.111558,67.395977 -75.148271,67.384798 -75.161935,67.382505 -75.200403,67.377108 -75.209666,67.373984 -75.228361,67.361030 -75.245139,67.354763 -75.258573,67.350642 -75.286748,67.331719 -75.299213,67.324864 -75.335734,67.313643 -75.345582,67.311894 -75.385664,67.305603 -75.420644,67.302360 -75.425674,67.302577 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-74.821653,68.108636 -74.783668,68.119731 -74.737169,68.124547 -74.697736,68.123266 -74.661690,68.119859 -74.658111,68.119163 -74.657700,68.119144 -74.652147,68.120185 -74.605620,68.124965 -74.557733,68.122727 -74.536008,68.120027 -74.529967,68.120287 -74.519454,68.129867 -74.498390,68.142622 -74.498186,68.142680 -74.497148,68.145733 -74.494732,68.148428 -74.494234,68.157951 -74.487872,68.171666 -74.469573,68.183586 -74.464296,68.194780 -74.440261,68.210403 -74.401933,68.221412 -74.355157,68.226123 -74.350282,68.225889 -74.346350,68.226229 -74.321105,68.226200 -74.281847,68.223779 -74.246683,68.216866 -74.206464,68.205545 -74.204656,68.204732 -74.201497,68.204070 -74.157385,68.190248 -74.145653,68.187435 -74.131047,68.183332 -74.101644,68.169042 -74.095033,68.162982 -74.078609,68.144191 -74.074174,68.135556 -74.073030,68.134031 -74.070705,68.124338 -74.070891,68.123763 -74.070464,68.123164 -74.076198,68.107131 -74.032105,68.105383 -74.005196,68.103156 -73.963521,68.094107 -73.962750,68.093730 -73.961712,68.093499 -73.958121,68.092266 -73.948551,68.091721 -73.931000,68.088882 -73.859856,68.074813 -73.830486,68.070121 -73.797138,68.062216 -73.782052,68.056223 -73.774962,68.052847 -73.772967,68.053449 -73.749390,68.059038 -73.702807,68.063571 -73.661658,68.061855 -73.633039,68.058775 -73.623829,68.058799 -73.590525,68.061377 -73.572471,68.062259 -73.524814,68.059731 -73.497810,68.054722 -73.446349,68.042012 -73.412330,68.034645 -73.406590,68.033083 -73.402699,68.032327 -73.355735,68.019817 -73.344751,68.016517 -73.336257,68.013356 -73.306033,68.000949 -73.285828,67.989678 -73.274073,67.972224 -73.274113,67.972121 -73.274046,67.972022 -73.271125,67.948554 -73.278081,67.930942 -73.286828,67.923721 -73.287916,67.922995 -73.258954,67.900067 -73.247261,67.882610 -73.247639,67.881639 -73.247112,67.880778 -73.246719,67.867305 -73.234502,67.861112 -73.222846,67.843652 -73.224884,67.832627 -73.229546,67.823454 -73.231647,67.798053 -73.238659,67.784006 -73.247828,67.776479 -73.276911,67.757312 -73.292106,67.749376 -73.293663,67.748936 -73.294606,67.748357 -73.334159,67.732697 -73.334364,67.732641 -73.334477,67.732571 -73.356332,67.723971 -73.391533,67.714337 -73.437500,67.709887 -73.484457,67.712440 -73.491250,67.713967 -73.525501,67.715819 -73.526449,67.715992 -73.528676,67.715775 -73.557735,67.716489 -73.591419,67.718871 -73.609342,67.720681 -73.641013,67.724879 -73.648736,67.725223 -73.664773,67.725646 -73.697779,67.724298 -73.708878,67.723062 -73.736089,67.721269 -73.769398,67.722271 -73.812960,67.725904 -73.819624,67.726616 -73.820875,67.726669 -73.870995,67.732190 -73.873520,67.732718 -73.876789,67.732887 -73.911918,67.737478 -73.939829,67.738394 -73.947639,67.739021 -73.954345,67.739205 -74.010029,67.743619 -74.129988,67.732726 -74.179755,67.727975 -74.260634,67.719768 -74.284028,67.718294 -74.331086,67.720610 -74.387890,67.727861 -74.486759,67.740424 -74.509353,67.744294 -74.576177,67.758985 -74.576550,67.759086 -74.576921,67.759150 -74.641349,67.773502 -74.659319,67.778378 -74.685543,67.790441 -74.720425,67.813540 -74.721311,67.814636 -74.723462,67.815677 -74.764446,67.846384 -74.797716,67.869808 -74.849879,67.901239 -74.855339,67.904881 -74.864893,67.914523 -74.885275,67.945114 -74.885312,67.945201 -74.885373,67.945262 -74.903256,67.972417 -74.906496,67.979966 -74.906751,67.985431 -74.903429,68.015238 -74.906283,68.027224 -74.906198,68.027504 -74.906407,68.027785 -74.900670,68.045657 -74.884243,68.064443 -74.876912,68.071040 -74.837983,68.099551 -74.821653,68.108636 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-75.314256,68.772691 -75.266552,68.777647 -75.217248,68.775596 -75.173891,68.766854 -75.152761,68.757967 -75.141191,68.755629 -75.120842,68.747669 -75.120016,68.747257 -75.110202,68.744594 -75.098370,68.739163 -75.096480,68.739167 -75.074705,68.738628 -75.044240,68.736490 -75.026519,68.733850 -74.953193,68.720471 -74.943593,68.718151 -74.937159,68.716979 -74.917564,68.711960 -74.908140,68.709294 -74.879021,68.696146 -74.854845,68.679786 -74.854418,68.679255 -74.853417,68.678790 -74.841132,68.664717 -74.833089,68.644881 -74.833439,68.643389 -74.832095,68.641632 -74.832130,68.634500 -74.835336,68.619769 -74.824777,68.614024 -74.811554,68.596697 -74.813613,68.590513 -74.748068,68.556329 -74.726389,68.545371 -74.709595,68.541889 -74.679386,68.527706 -74.661621,68.514755 -74.652732,68.506273 -74.644393,68.495136 -74.640242,68.486276 -74.646286,68.468423 -74.650947,68.463256 -74.653167,68.458423 -74.657780,68.451599 -74.662862,68.446854 -74.663416,68.446410 -74.664685,68.444333 -74.645217,68.435143 -74.632228,68.417799 -74.632326,68.417510 -74.632127,68.417238 -74.631562,68.413793 -74.637696,68.396500 -74.661790,68.380853 -74.665693,68.379731 -74.667822,68.378455 -74.676045,68.375409 -74.680735,68.374156 -74.673186,68.364074 -74.679174,68.346217 -74.681899,68.343175 -74.688275,68.339020 -74.689536,68.336684 -74.692227,68.334702 -74.692207,68.334675 -74.694233,68.322359 -74.696938,68.317291 -74.700877,68.311748 -74.724842,68.296090 -74.763140,68.285010 -74.768319,68.284477 -74.771832,68.283538 -74.786583,68.281288 -74.824695,68.277935 -74.872922,68.280097 -74.915271,68.288921 -74.916276,68.289394 -74.922329,68.290126 -74.931450,68.292024 -74.948552,68.290246 -74.968660,68.290270 -74.998784,68.291205 -75.026943,68.293304 -75.069374,68.302089 -75.079672,68.305733 -75.091836,68.310558 -75.111702,68.321032 -75.124991,68.338342 -75.125202,68.344580 -75.123545,68.355667 -75.123700,68.361840 -75.125720,68.362855 -75.128466,68.363487 -75.143356,68.367502 -75.156417,68.373589 -75.165054,68.373985 -75.187995,68.375855 -75.230635,68.384600 -75.258893,68.397716 -75.271688,68.399227 -75.314401,68.407950 -75.322649,68.410763 -75.351637,68.421571 -75.364787,68.428237 -75.375179,68.430563 -75.405683,68.444626 -75.415531,68.454015 -75.416261,68.455028 -75.445752,68.461006 -75.465961,68.468932 -75.479717,68.475789 -75.506430,68.488855 -75.517467,68.495292 -75.528192,68.505849 -75.537656,68.520383 -75.540626,68.527100 -75.539149,68.539178 -75.532030,68.553806 -75.528128,68.559608 -75.523492,68.564134 -75.523330,68.564269 -75.524007,68.565488 -75.518611,68.583366 -75.518109,68.583805 -75.518656,68.585825 -75.518058,68.587920 -75.519254,68.589650 -75.520284,68.613955 -75.519472,68.615979 -75.519141,68.620897 -75.512155,68.639573 -75.507426,68.647243 -75.499470,68.656402 -75.475657,68.672158 -75.466242,68.675505 -75.461526,68.680915 -75.454650,68.686508 -75.451569,68.696565 -75.438656,68.706803 -75.430738,68.711470 -75.426495,68.725254 -75.402562,68.740998 -75.388356,68.745366 -75.377859,68.752258 -75.373928,68.753395 -75.371803,68.754679 -75.346999,68.763910 -75.314256,68.772691 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.499590,72.713647 -78.080904,73.313876</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.499590,73.231705 -80.441615,73.269478 -80.355281,73.299385 -80.246744,73.313876 -80.115923,73.304956 -80.012927,73.295885 -79.924222,73.269864 -79.882716,73.237150 -79.869114,73.212338 -79.891348,73.194010 -79.904124,73.186951 -79.898372,73.152743 -79.734378,73.111314 -79.484202,73.067456 -79.176051,73.004956 -78.995625,72.969499 -78.882731,72.942979 -78.774590,72.926733 -78.661624,72.916045 -78.490783,72.916788 -78.287668,72.922862 -78.167469,72.905307 -78.080904,72.866303 -78.135565,72.858656 -78.228868,72.868108 -78.351948,72.859834 -78.452942,72.845760 -78.537764,72.834390 -78.614823,72.816386 -78.713729,72.804059 -78.722009,72.794698 -78.795173,72.788351 -78.830341,72.779062 -78.883029,72.765117 -78.948274,72.752125 -79.006940,72.746612 -79.081578,72.730311 -79.140137,72.724761 -79.219201,72.718746 -79.310841,72.713647 -79.475078,72.717891 -79.607848,72.727674 -79.693564,72.753870 -79.774720,72.777691 -79.812805,72.780441 -79.864169,72.808034 -79.921626,72.820110 -79.991653,72.825098 -80.073494,72.848800 -80.098064,72.868434 -80.106852,72.890931 -80.114135,72.915308 -80.148292,72.931617 -80.173050,72.951238 -80.205803,72.969418 -80.231368,73.004976 -80.243426,73.023693 -80.276376,73.041858 -80.272549,73.063447 -80.260362,73.078502 -80.234749,73.118458 -80.248774,73.143256 -80.245251,73.172805 -80.210395,73.190279 -80.227170,73.203344 -80.230951,73.215517 -80.287633,73.213425 -80.365358,73.210761 -80.418971,73.212398 -80.436991,73.215597 -80.499590,73.231705 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-95.028319,60.438154 -93.511466,61.685183</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-94.612158,60.438154 -95.002834,60.492542 -95.017489,60.502659 -95.028305,60.518639 -95.028319,60.534620 -95.006702,60.566587 -95.001291,60.598551 -94.979578,60.667809 -94.974093,60.734408 -94.930220,60.888918 -94.913579,60.974173 -94.907985,61.011474 -94.907834,61.062104 -94.896676,61.110063 -94.874506,61.144687 -94.867553,61.196721 -94.832001,61.254974 -94.760408,61.352946 -94.737802,61.399814 -94.700976,61.427059 -94.679625,61.433805 -94.666174,61.442302 -94.625854,61.461386 -94.594402,61.480486 -94.549493,61.501667 -94.477655,61.526996 -94.419106,61.552345 -94.392074,61.562888 -94.351513,61.577626 -94.265898,61.602775 -94.126126,61.636059 -94.013246,61.660869 -93.986262,61.662801 -93.891594,61.674848 -93.792532,61.682523 -93.753529,61.685183 -93.630859,61.683101 -93.523561,61.673427 -93.519805,61.658452 -93.511466,61.645560 -93.538671,61.639461 -93.588865,61.620801 -93.629949,61.604164 -93.644142,61.587244 -93.680493,61.574809 -93.699297,61.553664 -93.700210,61.532343 -93.683178,61.512979 -93.683917,61.495922 -93.684286,61.487394 -93.702488,61.479041 -93.698942,61.457678 -93.673234,61.433962 -93.669620,61.414730 -93.701580,61.395851 -93.724346,61.383276 -93.725859,61.347034 -93.727103,61.317188 -93.745717,61.296040 -93.764133,61.279152 -93.782274,61.268658 -93.804663,61.262465 -93.884660,61.254635 -93.920368,61.246402 -93.934309,61.227324 -93.890707,61.209905 -93.842656,61.194565 -93.808230,61.170802 -93.795824,61.149365 -93.796158,61.140839 -93.814289,61.128210 -93.818779,61.126118 -93.863404,61.111585 -93.881645,61.094684 -93.891218,61.073443 -93.922465,61.060911 -93.971272,61.048510 -94.041880,61.040516 -94.077936,61.010927 -94.109964,60.966378 -94.132846,60.932422 -94.159936,60.902754 -94.160571,60.879310 -94.165288,60.866550 -94.187589,60.849637 -94.201134,60.832668 -94.201846,60.804962 -94.219883,60.781625 -94.237737,60.764679 -94.268283,60.762723 -94.294759,60.747949 -94.295097,60.733031 -94.308485,60.718183 -94.365688,60.686506 -94.387918,60.661038 -94.401313,60.641920 -94.406017,60.622761 -94.406382,60.603582 -94.410997,60.588686 -94.441550,60.576035 -94.493585,60.571987 -94.494205,60.533632 -94.490296,60.508046 -94.516321,60.501753 -94.559793,60.482732 -94.598788,60.472205 -94.612000,60.450938 -94.612158,60.438154 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-87.359312,63.068105 -83.727509,64.512242</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-85.010379,64.450302 -84.987279,64.445122 -84.982187,64.424976 -85.085715,64.334888 -85.134823,64.302245 -85.156795,64.264159 -85.141143,64.227117 -85.160794,64.206865 -85.172722,64.173496 -85.171568,64.153630 -85.173810,64.135794 -85.230832,64.091098 -85.275027,64.047325 -85.307703,64.024351 -85.322126,63.971374 -85.310396,63.911240 -85.290754,63.873943 -85.276069,63.822589 -85.296557,63.775426 -85.326119,63.725285 -85.363158,63.664864 -85.368925,63.659860 -85.408535,63.603210 -85.461960,63.552884 -85.491164,63.526089 -85.558848,63.480300 -85.569648,63.472036 -85.617138,63.450042 -85.644636,63.451869 -85.639830,63.478503 -85.647844,63.514971 -85.659074,63.517510 -85.692070,63.539448 -85.685094,63.560550 -85.678108,63.581651 -85.693190,63.597015 -85.716191,63.612895 -85.765835,63.621523 -85.809325,63.624345 -85.821188,63.625113 -85.877126,63.626921 -85.948895,63.629717 -86.018408,63.626948 -86.117211,63.608030 -86.187112,63.590850 -86.259239,63.579161 -86.320694,63.575757 -86.364707,63.576649 -86.474864,63.585104 -86.557662,63.577500 -86.637508,63.566090 -86.670388,63.550096 -86.687232,63.547499 -86.764534,63.530500 -86.845181,63.515449 -86.977995,63.514072 -87.102902,63.526462 -87.191359,63.540316 -87.221048,63.549111 -87.304821,63.580537 -87.354933,63.647696 -87.359312,63.690900 -87.328831,63.728654 -87.290295,63.765973 -87.244574,63.784990 -87.201364,63.823832 -87.151523,63.856932 -87.010877,63.936954 -86.924496,63.967967 -86.822380,63.996255 -86.735788,64.012825 -86.593116,64.038642 -86.540045,64.051679 -86.482589,64.078789 -86.470101,64.119304 -86.465104,64.162055 -86.461729,64.199521 -86.464032,64.231941 -86.488235,64.260263 -86.499538,64.277065 -86.502678,64.320290 -86.484484,64.338956 -86.422655,64.351475 -86.369456,64.362688 -86.318448,64.366838 -86.246784,64.396649 -86.229612,64.424330 -86.212864,64.437680 -86.192590,64.449023 -86.141395,64.453112 -86.095929,64.439583 -86.076135,64.436581 -86.044769,64.456206 -85.986561,64.481358 -85.929418,64.502968 -85.876315,64.512242 -85.851819,64.510716 -85.823314,64.496362 -85.843834,64.472503 -85.877127,64.447644 -85.927852,64.395135 -85.987664,64.352159 -86.027020,64.307910 -86.053605,64.289800 -86.080679,64.257356 -86.089810,64.229196 -86.091519,64.223916 -86.086754,64.187723 -86.063595,64.157575 -86.035343,64.143261 -85.989854,64.118890 -85.919183,64.083940 -85.830752,64.078349 -85.767543,64.083301 -85.659965,64.097939 -85.622435,64.111678 -85.552494,64.135876 -85.515256,64.160398 -85.492256,64.191243 -85.477278,64.222614 -85.479263,64.240720 -85.497986,64.294073 -85.515771,64.338371 -85.514553,64.341887 -85.514534,64.377832 -85.486452,64.422737 -85.438164,64.453738 -85.423485,64.459968 -85.408180,64.467954 -85.365945,64.481359 -85.266020,64.469350 -85.238158,64.465694 -85.194385,64.448375 -85.186700,64.411885 -85.172719,64.392956 -85.157380,64.400915 -85.142920,64.417928 -85.098957,64.447336 -85.049111,64.458344 -85.010379,64.450302 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-85.446042,63.136550 -85.394716,63.147408 -85.342755,63.160004 -85.273112,63.165958 -85.224953,63.178782 -85.124378,63.193293 -85.081219,63.202830 -84.989072,63.226852 -84.895523,63.254324 -84.819273,63.277604 -84.792739,63.284675 -84.735825,63.309329 -84.707331,63.321647 -84.686053,63.347099 -84.642460,63.345690 -84.600280,63.373195 -84.567162,63.408573 -84.552897,63.447152 -84.531387,63.472581 -84.513762,63.498299 -84.491523,63.525476 -84.453501,63.562289 -84.437047,63.595303 -84.431766,63.609327 -84.422511,63.633869 -84.416553,63.649645 -84.396758,63.669796 -84.328945,63.677331 -84.278312,63.671711 -84.222406,63.669277 -84.184875,63.671831 -84.153320,63.669421 -84.117827,63.666702 -84.094169,63.664884 -84.077395,63.687045 -84.034331,63.703570 -83.993978,63.713078 -83.962677,63.730498 -83.932727,63.744411 -83.898793,63.758009 -83.874834,63.766966 -83.855062,63.765418 -83.824133,63.761186 -83.772597,63.737265 -83.736932,63.714578 -83.727509,63.697579 -83.767505,63.679084 -83.819965,63.659762 -83.867024,63.643611 -83.912867,63.620135 -83.930897,63.605304 -83.986740,63.566355 -84.035600,63.544897 -84.063927,63.534466 -84.116307,63.534907 -84.143783,63.537023 -84.181575,63.554352 -84.218172,63.564363 -84.243097,63.562656 -84.285905,63.535257 -84.299910,63.498458 -84.348528,63.455269 -84.366324,63.418760 -84.361955,63.376970 -84.373765,63.356234 -84.412894,63.326749 -84.468167,63.307485 -84.527261,63.288491 -84.550594,63.268614 -84.585599,63.260414 -84.641322,63.250140 -84.691059,63.223197 -84.744682,63.207334 -84.786481,63.179786 -84.832832,63.161566 -84.943677,63.140803 -85.038852,63.118844 -85.122255,63.095996 -85.140179,63.090071 -85.228165,63.076489 -85.365828,63.068105 -85.445078,63.068175 -85.444492,63.069933 -85.492535,63.080412 -85.511134,63.096059 -85.490735,63.121629 -85.467808,63.130849 -85.446042,63.136550 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-83.233993,63.578850 -81.353181,64.267480</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-81.582364,64.135929 -81.353181,64.077912 -81.354755,64.058051 -81.383892,64.024449 -81.400934,64.015160 -81.440859,64.009863 -81.486980,64.008781 -81.542718,64.004955 -81.608901,63.996636 -81.645061,63.981849 -81.759324,63.950711 -81.800963,63.932775 -81.825485,63.898718 -81.834606,63.879584 -81.848044,63.842687 -81.851923,63.808540 -81.863657,63.775121 -81.861936,63.744088 -81.854271,63.734296 -81.842251,63.707752 -81.798910,63.678280 -81.770880,63.668390 -81.763268,63.658593 -81.761445,63.636621 -81.792749,63.605044 -81.816596,63.589115 -81.848032,63.582975 -81.862202,63.578850 -81.925336,63.591992 -81.972077,63.605401 -82.002405,63.619093 -82.048420,63.634218 -82.075017,63.638472 -82.103123,63.648303 -82.144709,63.646653 -82.180770,63.648118 -82.198043,63.646057 -82.204358,63.641188 -82.209225,63.621675 -82.214011,63.611225 -82.229803,63.594517 -82.283830,63.592148 -82.371462,63.605466 -82.412173,63.614544 -82.467801,63.626746 -82.503853,63.628130 -82.535990,63.629159 -82.565023,63.637155 -82.575277,63.650741 -82.568327,63.675498 -82.577862,63.699891 -82.594457,63.717652 -82.617392,63.739588 -82.611180,63.753539 -82.593142,63.766457 -82.575867,63.777629 -82.557016,63.792286 -82.552327,63.802747 -82.532635,63.810081 -82.515287,63.812182 -82.494006,63.822997 -82.457708,63.830674 -82.426129,63.836948 -82.404004,63.849493 -82.420577,63.867275 -82.450615,63.882615 -82.477520,63.895858 -82.512345,63.900726 -82.579726,63.924732 -82.623312,63.928519 -82.666910,63.932293 -82.720000,63.933247 -82.763515,63.927929 -82.780916,63.925798 -82.817369,63.927102 -82.850758,63.935379 -82.876231,63.942974 -82.907978,63.945665 -82.942616,63.932303 -83.010465,63.918109 -83.028596,63.914202 -83.064292,63.917191 -83.107931,63.920831 -83.149565,63.938762 -83.179331,63.955696 -83.214601,63.969457 -83.223550,63.977428 -83.233993,63.981903 -83.220076,63.995226 -83.183008,64.004832 -83.146142,64.023492 -83.132163,64.036806 -83.081957,64.067015 -83.044182,64.087395 -82.996078,64.112336 -82.987682,64.131541 -83.010137,64.137033 -83.024031,64.152666 -83.016405,64.170126 -82.998466,64.192157 -82.967708,64.214929 -82.940747,64.228967 -82.917771,64.243335 -82.850629,64.253995 -82.753000,64.267480 -82.748987,64.267140 -82.687151,64.256449 -82.651059,64.253367 -82.618136,64.243301 -82.586030,64.231484 -82.557124,64.212686 -82.521079,64.200509 -82.513851,64.189009 -82.481839,64.168106 -82.415553,64.140569 -82.401193,64.135685 -81.582364,64.135929 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.501838,60.750227 -69.194611,60.930796</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.398570,60.930202 -69.208301,60.930796 -69.194611,60.750893 -69.501838,60.750227 -69.501814,60.768522 -69.497306,60.770403 -69.492651,60.775773 -69.488512,60.780546 -69.479453,60.779371 -69.471615,60.778449 -69.461856,60.776423 -69.459116,60.782895 -69.455489,60.787070 -69.442067,60.784283 -69.427457,60.786176 -69.426967,60.791708 -69.435692,60.794929 -69.435752,60.804800 -69.429188,60.814000 -69.421552,60.819457 -69.413213,60.824063 -69.401883,60.823822 -69.393493,60.818555 -69.384925,60.811842 -69.381443,60.812527 -69.377123,60.820785 -69.390939,60.831408 -69.399877,60.841014 -69.400809,60.853182 -69.402940,60.860668 -69.402081,60.863307 -69.400726,60.871479 -69.404784,60.880069 -69.409184,60.886616 -69.409756,60.895892 -69.402958,60.898708 -69.395455,60.900675 -69.391806,60.904849 -69.390083,60.910127 -69.399019,60.914798 -69.399043,60.919734 -69.400814,60.924327 -69.406941,60.925596 -69.398570,60.930202 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-70.002029,59.766532 -69.302936,60.366488</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-70.002029,59.964433 -69.998956,60.020828 -69.586716,60.109596 -69.479988,60.073036 -69.482846,59.883087 -69.484339,59.883207 -69.484321,59.766532 -69.621625,59.769657 -69.720524,59.847761 -69.999863,59.959736 -69.998651,59.963311 -70.002029,59.964433 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-69.800951,60.323141 -69.653059,60.366488 -69.302936,60.184232 -69.429328,60.116833 -69.586367,60.169991 -69.800951,60.323141 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.119319,59.000109 -68.849570,59.185414</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.118868,59.000318 -69.119319,59.185414 -68.849570,59.184758 -68.855808,59.000109 -69.118868,59.000318 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-65.777769,59.352540 -65.069858,60.014533</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-65.557427,59.724177 -65.464419,59.722711 -65.461678,59.611158 -65.513811,59.602360 -65.579372,59.657821 -65.557427,59.724177 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-65.432274,59.553024 -65.380239,59.551514 -65.389074,59.352540 -65.687423,59.370665 -65.777769,59.379600 -65.576254,59.553617 -65.432274,59.553024 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-65.236430,59.857260 -65.324564,59.884213 -65.265597,59.955689 -65.156623,60.014533 -65.069858,59.978655 -65.236430,59.857260 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.018373,56.691038 -79.547359,56.968351</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-80.018118,56.807556 -80.017891,56.808075 -80.017267,56.809502 -80.015630,56.810384 -80.014286,56.811168 -80.011703,56.811925 -80.008752,56.811811 -79.996567,56.809931 -79.970783,56.805979 -79.957478,56.803809 -79.955350,56.803528 -79.953043,56.803086 -79.950010,56.801449 -79.949162,56.799965 -79.945007,56.778692 -79.945161,56.777203 -79.946203,56.775969 -79.947368,56.775025 -79.949175,56.773755 -79.952229,56.773061 -80.003944,56.767958 -80.008177,56.767418 -80.011125,56.767533 -80.014196,56.767938 -80.016568,56.768799 -80.017711,56.770184 -80.018335,56.772187 -80.018373,56.791537 -80.018118,56.807556 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-79.881061,56.743439 -79.895048,56.694108 -79.896496,56.692516 -79.897838,56.691734 -79.899772,56.691306 -79.901885,56.691038 -79.903827,56.691159 -79.938051,56.695572 -79.943236,56.696260 -79.945431,56.697512 -79.946626,56.698768 -79.948473,56.704227 -79.963568,56.755762 -79.963170,56.756670 -79.962365,56.757936 -79.961031,56.759269 -79.958744,56.759927 -79.956864,56.760227 -79.953973,56.759981 -79.951612,56.759668 -79.884802,56.750250 -79.882964,56.749320 -79.881419,56.748290 -79.880461,56.747065 -79.880625,56.746126 -79.880847,56.745057 -79.881061,56.743439 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-79.672785,56.830496 -79.682099,56.842484 -79.682002,56.844886 -79.681208,56.846657 -79.677416,56.848562 -79.664402,56.851371 -79.679116,56.875357 -79.678905,56.878012 -79.676724,56.879597 -79.673496,56.880237 -79.668078,56.881386 -79.615229,56.886608 -79.605523,56.885297 -79.602978,56.884416 -79.585795,56.864911 -79.584160,56.860931 -79.584845,56.859413 -79.587487,56.856818 -79.613271,56.825682 -79.606189,56.816403 -79.547359,56.738626 -79.547465,56.736225 -79.548838,56.734265 -79.551016,56.732682 -79.581439,56.723670 -79.592464,56.721948 -79.595457,56.722891 -79.597990,56.723772 -79.599603,56.724528 -79.600415,56.725980 -79.610847,56.741887 -79.646018,56.792000 -79.672785,56.830496 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-79.726051,56.955556 -79.726848,56.958428 -79.725529,56.960041 -79.724205,56.961003 -79.722175,56.961545 -79.719515,56.962165 -79.707181,56.963767 -79.663717,56.968351 -79.660554,56.967438 -79.658514,56.966676 -79.657100,56.965184 -79.612715,56.907134 -79.611863,56.905066 -79.611991,56.902805 -79.614015,56.901613 -79.615689,56.900538 -79.618209,56.900227 -79.625136,56.899372 -79.684612,56.893388 -79.689442,56.893223 -79.692600,56.894135 -79.694779,56.895241 -79.696477,56.897422 -79.697476,56.899833 -79.726051,56.955556 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-78.765419,58.850906 -77.547200,59.467265</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-77.765715,59.466835 -77.743051,59.464187 -77.728643,59.460472 -77.711921,59.456986 -77.700569,59.453701 -77.681207,59.447044 -77.630276,59.428072 -77.607737,59.419272 -77.568243,59.407480 -77.548718,59.391282 -77.547200,59.382132 -77.555091,59.373776 -77.562376,59.362542 -77.578806,59.356527 -77.601593,59.350864 -77.620198,59.346832 -77.632314,59.344660 -77.652938,59.340912 -77.673437,59.339376 -77.683969,59.338089 -77.689152,59.336597 -77.696478,59.333179 -77.718845,59.320189 -77.745357,59.305557 -77.764255,59.294860 -77.780048,59.279818 -77.804648,59.266583 -77.833164,59.256132 -77.859572,59.241476 -77.880522,59.228834 -77.893756,59.212314 -77.909624,59.198954 -77.931966,59.193750 -77.950163,59.190187 -77.964397,59.189964 -77.997360,59.191258 -78.027768,59.181047 -78.028855,59.181198 -78.038490,59.169992 -78.038927,59.159640 -78.025337,59.137556 -78.024388,59.125057 -78.023670,59.100225 -78.034612,59.072479 -78.056539,59.050185 -78.081749,59.033558 -78.123059,59.019837 -78.150242,59.004131 -78.158004,58.994161 -78.158381,58.976655 -78.162988,58.948686 -78.173128,58.922145 -78.185495,58.898519 -78.194708,58.888107 -78.203282,58.878905 -78.229680,58.864396 -78.271705,58.855967 -78.300670,58.850906 -78.378674,58.855244 -78.442187,58.863377 -78.553762,58.878065 -78.645441,58.892528 -78.710878,58.899467 -78.748630,58.909117 -78.759294,58.920287 -78.765419,58.937978 -78.759181,58.955299 -78.749664,58.974125 -78.728314,58.993951 -78.710077,59.005114 -78.663635,59.009863 -78.616748,59.008045 -78.560591,58.999750 -78.513101,58.999106 -78.492602,59.014484 -78.475376,59.028361 -78.465749,59.044579 -78.460425,59.054892 -78.454470,59.066417 -78.446788,59.086152 -78.437604,59.106332 -78.409600,59.140826 -78.380767,59.162213 -78.337169,59.180267 -78.302061,59.191683 -78.265747,59.202925 -78.239792,59.210895 -78.235705,59.216696 -78.218786,59.234388 -78.195011,59.244452 -78.182611,59.249412 -78.164047,59.255742 -78.138113,59.261603 -78.113643,59.268778 -78.099472,59.272929 -78.044044,59.283017 -78.010880,59.290075 -77.993453,59.298218 -77.978208,59.314466 -77.958255,59.327269 -77.943737,59.338047 -77.939835,59.345301 -77.943390,59.356945 -77.953617,59.362279 -77.968088,59.369879 -77.997257,59.374517 -78.017752,59.379050 -78.044439,59.388342 -78.049421,59.403518 -78.040907,59.417373 -78.034704,59.424865 -78.016741,59.437962 -78.013592,59.439752 -77.984694,59.450765 -77.966535,59.456031 -77.951804,59.458988 -77.938088,59.462086 -77.921138,59.463057 -77.903449,59.463366 -77.883444,59.463904 -77.868246,59.465672 -77.836481,59.465665 -77.815173,59.466567 -77.788494,59.467265 -77.765715,59.466835 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-77.893800,56.320422 -77.414145,56.444967</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-77.576991,56.395270 -77.576694,56.395594 -77.571785,56.397924 -77.565642,56.399034 -77.559200,56.398755 -77.559126,56.398734 -77.559045,56.398731 -77.447660,56.380644 -77.442064,56.379038 -77.437876,56.376311 -77.437656,56.375934 -77.437299,56.375683 -77.415553,56.349525 -77.414145,56.346744 -77.414661,56.343172 -77.416434,56.340913 -77.433992,56.324842 -77.435155,56.323911 -77.440063,56.321588 -77.446197,56.320484 -77.448185,56.320422 -77.498387,56.320517 -77.502827,56.320862 -77.508003,56.322251 -77.601317,56.359555 -77.601544,56.359696 -77.601886,56.359792 -77.606085,56.362514 -77.608089,56.365920 -77.607592,56.369492 -77.605361,56.372161 -77.577388,56.395068 -77.576991,56.395270 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-77.887541,56.398686 -77.891766,56.401397 -77.893800,56.404798 -77.893331,56.408372 -77.890431,56.411574 -77.888159,56.412896 -77.825262,56.442823 -77.822638,56.443843 -77.816495,56.444967 -77.810042,56.444702 -77.808197,56.444353 -77.692574,56.418107 -77.688648,56.416840 -77.684436,56.414121 -77.682422,56.410716 -77.682912,56.407143 -77.685831,56.403946 -77.686918,56.403252 -77.734729,56.375608 -77.738539,56.373966 -77.744673,56.372847 -77.751112,56.373115 -77.751505,56.373225 -77.751890,56.373246 -77.882545,56.397208 -77.887541,56.398686 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.223427,52.999481 -79.656090,53.467007</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.000412,53.466423 -79.988876,53.467007 -79.978943,53.465717 -79.967491,53.462940 -79.957375,53.460850 -79.947830,53.458759 -79.938477,53.457016 -79.928940,53.454868 -79.917671,53.453228 -79.906784,53.452156 -79.895729,53.449146 -79.886589,53.445683 -79.874969,53.441410 -79.865082,53.437199 -79.855965,53.431908 -79.847504,53.428619 -79.839233,53.424641 -79.829277,53.418659 -79.819511,53.412846 -79.810791,53.407383 -79.801872,53.402657 -79.793716,53.398449 -79.786728,53.392422 -79.780235,53.385422 -79.779045,53.374794 -79.778221,53.364685 -79.778152,53.355434 -79.780197,53.345108 -79.784332,53.335194 -79.789330,53.325222 -79.795731,53.316402 -79.799385,53.306198 -79.800934,53.297184 -79.803444,53.286690 -79.804436,53.276474 -79.804878,53.264084 -79.805061,53.249466 -79.797997,53.243778 -79.787071,53.242756 -79.776047,53.241901 -79.765701,53.239853 -79.753288,53.236534 -79.744499,53.232662 -79.734108,53.227699 -79.725143,53.222569 -79.716476,53.216927 -79.708771,53.210888 -79.700798,53.203819 -79.694931,53.195793 -79.690399,53.187885 -79.685799,53.177982 -79.683090,53.168770 -79.679245,53.159271 -79.678162,53.149841 -79.675087,53.139889 -79.669739,53.130207 -79.666489,53.119450 -79.666351,53.109856 -79.660225,53.101826 -79.656090,53.093464 -79.656105,53.080502 -79.657494,53.070629 -79.662094,53.061405 -79.669289,53.055737 -79.676765,53.050129 -79.685478,53.044125 -79.694550,53.039093 -79.703804,53.034348 -79.713043,53.030460 -79.723312,53.027145 -79.733948,53.024574 -79.744583,53.022118 -79.755409,53.019375 -79.766052,53.016518 -79.777237,53.014858 -79.787956,53.012856 -79.799072,53.009541 -79.809227,53.007244 -79.819458,53.005695 -79.828934,53.004707 -79.838226,53.003036 -79.849602,53.000744 -79.999840,52.999481 -80.012413,53.000000 -80.022247,53.000412 -80.031540,53.000183 -80.041512,52.999741 -80.045280,53.009533 -80.044571,53.019756 -80.044220,53.030388 -80.044121,53.041656 -80.043900,53.059151 -80.044327,53.069454 -80.044029,53.082775 -80.043686,53.093292 -80.043526,53.103985 -80.041573,53.114246 -80.040466,53.124805 -80.040245,53.134869 -80.039413,53.147320 -80.049950,53.153290 -80.060280,53.155823 -80.069855,53.158230 -80.079437,53.160519 -80.090256,53.162941 -80.105164,53.167156 -80.114670,53.169212 -80.124298,53.170582 -80.133759,53.173553 -80.141739,53.177811 -80.149483,53.182808 -80.157318,53.187977 -80.165154,53.193256 -80.173943,53.200443 -80.181656,53.206352 -80.189301,53.211746 -80.197617,53.218979 -80.203934,53.226349 -80.207970,53.235683 -80.208549,53.245644 -80.209343,53.255093 -80.208466,53.265659 -80.206573,53.275406 -80.205566,53.286655 -80.206429,53.296562 -80.210297,53.305664 -80.213852,53.315220 -80.215523,53.324226 -80.217522,53.334496 -80.219719,53.344654 -80.223427,53.355125 -80.223022,53.365814 -80.218513,53.374260 -80.211266,53.382030 -80.203835,53.389568 -80.196869,53.395454 -80.189171,53.402355 -80.181862,53.409325 -80.172989,53.414833 -80.163361,53.420044 -80.154808,53.424759 -80.144936,53.429104 -80.134232,53.432751 -80.121506,53.438530 -80.110931,53.443321 -80.102219,53.447113 -80.093338,53.450500 -80.083504,53.453812 -80.074722,53.457031 -80.064537,53.461536 -80.054031,53.464836 -80.043465,53.465385 -80.031509,53.465111 -80.021156,53.465263 -80.010994,53.465534 -80.000412,53.466423 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-101.430949,76.771465 -101.100076,76.845916</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-101.200205,76.844889 -101.188184,76.843377 -101.162176,76.840717 -101.138516,76.836871 -101.132705,76.834896 -101.123470,76.831539 -101.118342,76.831167 -101.106623,76.825276 -101.101469,76.818107 -101.100076,76.813121 -101.103870,76.808669 -101.114531,76.800343 -101.133145,76.794106 -101.144687,76.791261 -101.152853,76.788814 -101.160948,76.786206 -101.184396,76.783094 -101.193526,76.781272 -101.224968,76.775387 -101.256089,76.772096 -101.305325,76.771465 -101.341392,76.773070 -101.368083,76.775858 -101.383856,76.779543 -101.398370,76.781961 -101.414938,76.787407 -101.426619,76.794585 -101.430949,76.802743 -101.426991,76.809797 -101.420842,76.815120 -101.412856,76.819513 -101.398412,76.826969 -101.370237,76.833929 -101.362220,76.835084 -101.355610,76.836206 -101.332957,76.839636 -101.300230,76.842806 -101.277492,76.844453 -101.262005,76.844801 -101.258059,76.845537 -101.241163,76.845916 -101.222650,76.845845 -101.200205,76.844889 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-97.616589,76.269653 -97.361101,76.378358</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-97.610800,76.283752 -97.611961,76.284665 -97.616185,76.291215 -97.616589,76.292205 -97.616088,76.294078 -97.607380,76.306245 -97.607174,76.306429 -97.607127,76.306563 -97.591626,76.324286 -97.591572,76.324331 -97.591562,76.324358 -97.572009,76.345777 -97.572005,76.345781 -97.572004,76.345783 -97.562856,76.355753 -97.561378,76.356952 -97.558345,76.358452 -97.536533,76.367077 -97.531806,76.368568 -97.528381,76.369340 -97.501335,76.374716 -97.492722,76.376006 -97.486202,76.376551 -97.464671,76.377847 -97.456716,76.378119 -97.430349,76.378358 -97.415649,76.377805 -97.414362,76.377619 -97.413146,76.377562 -97.387864,76.374860 -97.377691,76.373265 -97.368968,76.370423 -97.365791,76.367788 -97.361367,76.359409 -97.361101,76.358633 -97.363445,76.355178 -97.388716,76.339048 -97.396597,76.324962 -97.396878,76.324694 -97.396965,76.324428 -97.415079,76.302302 -97.416036,76.301491 -97.416139,76.301310 -97.436801,76.285746 -97.437250,76.285563 -97.437411,76.285324 -97.444631,76.282469 -97.480115,76.272989 -97.480423,76.272935 -97.480634,76.272853 -97.492594,76.270791 -97.506966,76.269972 -97.540841,76.269653 -97.552887,76.270000 -97.576296,76.271607 -97.577368,76.271750 -97.578849,76.271805 -97.591464,76.273635 -97.600172,76.276471 -97.601462,76.277218 -97.610176,76.282992 -97.610800,76.283752 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-90.641733,76.431606 -89.333978,76.850698</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-89.744150,76.666233 -89.757422,76.664534 -89.766714,76.664125 -89.791054,76.663750 -89.788025,76.657722 -89.787896,76.655954 -89.788846,76.654588 -89.820731,76.623937 -89.834915,76.606677 -89.811224,76.581768 -89.797801,76.575457 -89.795660,76.574228 -89.793862,76.571004 -89.798562,76.550500 -89.736848,76.535441 -89.671870,76.522699 -89.641606,76.517325 -89.635517,76.515975 -89.628254,76.512907 -89.626577,76.509424 -89.630738,76.506057 -89.640101,76.503317 -89.665916,76.498225 -89.710241,76.489469 -89.713198,76.485730 -89.716826,76.483248 -89.726159,76.480505 -89.739267,76.478805 -89.745468,76.478470 -89.824202,76.475784 -89.832889,76.475719 -89.847300,76.476679 -89.859047,76.478856 -89.861615,76.479647 -89.862299,76.479884 -89.893836,76.475300 -89.906956,76.468901 -89.907251,76.468812 -89.907391,76.468696 -89.916680,76.465946 -89.929753,76.464237 -89.937062,76.463862 -89.967232,76.463025 -89.974793,76.462990 -89.985908,76.463594 -90.061285,76.470575 -90.062623,76.470716 -90.062860,76.470730 -90.103319,76.474962 -90.104044,76.475089 -90.105041,76.475154 -90.116824,76.477319 -90.123533,76.479954 -90.144690,76.492863 -90.179897,76.506192 -90.210866,76.509959 -90.222274,76.512069 -90.229660,76.515121 -90.230591,76.515898 -90.239261,76.524611 -90.258689,76.528825 -90.261645,76.529541 -90.269047,76.532591 -90.270983,76.535472 -90.270705,76.543786 -90.282220,76.549113 -90.284399,76.550337 -90.286235,76.553815 -90.285444,76.555075 -90.279468,76.561405 -90.312229,76.575211 -90.312759,76.575492 -90.313213,76.575653 -90.362880,76.599566 -90.364764,76.600645 -90.366625,76.604121 -90.363065,76.615419 -90.384309,76.619382 -90.389319,76.620502 -90.433914,76.632428 -90.484171,76.645835 -90.491678,76.648878 -90.493575,76.652352 -90.490506,76.662334 -90.515442,76.668453 -90.515827,76.668601 -90.516485,76.668719 -90.524011,76.671760 -90.525919,76.675234 -90.524628,76.679457 -90.531719,76.681070 -90.532435,76.681335 -90.533764,76.681572 -90.540658,76.684204 -90.581167,76.708148 -90.620321,76.716559 -90.623116,76.717224 -90.630688,76.720261 -90.632517,76.722204 -90.641621,76.742595 -90.641733,76.744124 -90.637738,76.747502 -90.631738,76.749522 -90.607556,76.755656 -90.613185,76.765646 -90.613415,76.767413 -90.611528,76.773666 -90.607517,76.777043 -90.600353,76.779340 -90.564742,76.787605 -90.521866,76.805337 -90.513243,76.807769 -90.499930,76.809503 -90.491777,76.809910 -90.441044,76.811173 -90.427574,76.815314 -90.421740,76.816749 -90.408407,76.818478 -90.393188,76.818911 -90.378401,76.817981 -90.378206,76.817947 -90.377975,76.817932 -90.371793,76.817202 -90.371647,76.817212 -90.362523,76.817458 -90.359603,76.818872 -90.359304,76.818962 -90.359164,76.819078 -90.349734,76.821838 -90.336388,76.823563 -90.332822,76.823790 -90.317500,76.824590 -90.312095,76.831199 -90.308559,76.833588 -90.299109,76.836345 -90.285744,76.838068 -90.279569,76.838409 -90.226843,76.840303 -90.217774,76.840387 -90.202977,76.839448 -90.190887,76.837291 -90.187252,76.836159 -90.184960,76.835313 -90.073750,76.849013 -90.067250,76.849647 -90.057573,76.850070 -90.014404,76.850698 -90.008819,76.850688 -89.994025,76.849739 -89.992801,76.849519 -89.991582,76.849430 -89.962303,76.845411 -89.952685,76.843553 -89.947583,76.841814 -89.937115,76.837146 -89.911764,76.837045 -89.910656,76.836982 -89.909311,76.837018 -89.894537,76.836063 -89.884259,76.834333 -89.839001,76.823720 -89.838379,76.823484 -89.837242,76.823278 -89.831401,76.821178 -89.805460,76.808121 -89.804535,76.807573 -89.804350,76.807501 -89.777625,76.790802 -89.744808,76.783835 -89.741575,76.783061 -89.734304,76.780104 -89.720865,76.770885 -89.693899,76.760076 -89.662055,76.748430 -89.657939,76.746394 -89.656091,76.743661 -89.656155,76.726886 -89.656292,76.726141 -89.657986,76.724178 -89.673046,76.713274 -89.653617,76.706485 -89.649041,76.704279 -89.647337,76.700800 -89.651548,76.697436 -89.654558,76.696307 -89.675185,76.689715 -89.675329,76.689679 -89.675504,76.689615 -89.718111,76.676364 -89.734740,76.668957 -89.744150,76.666233 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-89.592877,76.484907 -89.583517,76.487645 -89.570384,76.489337 -89.570143,76.489344 -89.569936,76.489370 -89.554559,76.490462 -89.540099,76.490816 -89.522258,76.490457 -89.507854,76.489480 -89.503694,76.488894 -89.483917,76.485692 -89.476377,76.484086 -89.474261,76.483439 -89.447928,76.474583 -89.434939,76.470427 -89.415852,76.468168 -89.371051,76.463844 -89.367929,76.463503 -89.356266,76.461305 -89.342755,76.457522 -89.335580,76.454445 -89.333978,76.450959 -89.336360,76.444706 -89.340569,76.441341 -89.349944,76.438611 -89.353339,76.438016 -89.385062,76.433073 -89.394775,76.431985 -89.409627,76.431606 -89.410679,76.431678 -89.411627,76.431660 -89.467639,76.433512 -89.467901,76.433532 -89.469418,76.433581 -89.498782,76.434880 -89.502480,76.435180 -89.506076,76.435382 -89.538232,76.438436 -89.571016,76.439096 -89.598596,76.439648 -89.613787,76.437821 -89.619656,76.437253 -89.634507,76.436862 -89.648868,76.437833 -89.658573,76.439509 -89.677829,76.444089 -89.678519,76.444357 -89.679812,76.444598 -89.687053,76.447666 -89.688737,76.451149 -89.688046,76.452254 -89.683091,76.457757 -89.679648,76.460022 -89.670319,76.462764 -89.664091,76.463768 -89.645277,76.466197 -89.644711,76.466254 -89.644280,76.466321 -89.620322,76.469199 -89.609355,76.470723 -89.605387,76.472677 -89.596339,76.482644 -89.592877,76.484907 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-90.083065,76.134896 -89.070451,76.386800</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-90.070267,76.361108 -90.070733,76.362030 -90.058661,76.372160 -90.031039,76.380427 -89.992064,76.385569 -89.947689,76.386800 -89.904701,76.383931 -89.881039,76.380131 -89.847762,76.373195 -89.836409,76.370465 -89.827246,76.367522 -89.810543,76.367365 -89.808329,76.367228 -89.805789,76.367297 -89.762885,76.364405 -89.727966,76.357857 -89.722548,76.355732 -89.681468,76.354309 -89.668295,76.353309 -89.653036,76.352409 -89.627118,76.349779 -89.598454,76.349205 -89.595479,76.349002 -89.592782,76.349057 -89.534125,76.347170 -89.497000,76.344385 -89.476004,76.340409 -89.412303,76.339091 -89.393233,76.338305 -89.291836,76.331963 -89.268182,76.329786 -89.264669,76.329116 -89.261153,76.328838 -89.216253,76.322266 -89.188690,76.316596 -89.167470,76.307347 -89.163062,76.299505 -89.140746,76.295219 -89.125026,76.289321 -89.080732,76.266604 -89.075311,76.263247 -89.070451,76.253702 -89.075450,76.233471 -89.075960,76.233036 -89.075746,76.232544 -89.082682,76.225444 -89.102168,76.213249 -89.107841,76.210257 -89.135654,76.202077 -89.165718,76.198185 -89.164102,76.194511 -89.176629,76.184413 -89.204357,76.176226 -89.207557,76.175810 -89.209578,76.175247 -89.266182,76.165252 -89.299626,76.161190 -89.313473,76.160379 -89.314153,76.160350 -89.325183,76.157942 -89.327220,76.157662 -89.328874,76.157170 -89.367486,76.152118 -89.411223,76.150981 -89.430060,76.151378 -89.485803,76.148718 -89.517639,76.148295 -89.526933,76.148581 -89.527374,76.148599 -89.538223,76.145436 -89.576735,76.140353 -89.581167,76.140235 -89.584433,76.139838 -89.602360,76.138802 -89.638346,76.138143 -89.649703,76.138927 -89.674801,76.136638 -89.677679,76.136541 -89.680629,76.136149 -89.720136,76.134896 -89.797938,76.135743 -89.852503,76.136120 -89.855213,76.136286 -89.858416,76.136197 -89.893285,76.136872 -89.935574,76.139746 -89.954888,76.143401 -89.979092,76.142719 -90.021413,76.145579 -90.055971,76.152096 -90.077512,76.161282 -90.083065,76.170058 -90.071063,76.360348 -90.070267,76.361108 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-83.384977,74.769473 -79.281408,75.856064</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-83.372879,75.770634 -83.337441,75.770759 -83.217461,75.770475 -83.093243,75.766459 -83.007429,75.767665 -82.945254,75.783883 -82.813467,75.807231 -82.681285,75.830508 -82.521251,75.843673 -82.347244,75.856064 -82.174665,75.849241 -82.006487,75.837284 -81.861584,75.831638 -81.610095,75.825590 -81.412414,75.815159 -81.295807,75.801932 -81.180899,75.786983 -81.125819,75.792742 -81.062418,75.784031 -81.050393,75.765862 -81.071525,75.742503 -81.105377,75.728597 -81.154190,75.713755 -81.200622,75.693526 -81.238705,75.674589 -81.183947,75.664599 -81.055914,75.657565 -80.994601,75.647161 -80.902596,75.647296 -80.673210,75.665945 -80.556249,75.669808 -80.470366,75.663123 -80.398687,75.641421 -80.315404,75.647119 -80.248289,75.643197 -80.140328,75.622782 -80.059398,75.603913 -80.021674,75.577035 -79.994459,75.561329 -79.917900,75.560246 -79.880725,75.540396 -79.890397,75.530418 -79.956468,75.520325 -80.067123,75.507614 -80.155760,75.488277 -80.142155,75.480429 -80.028293,75.489446 -79.849526,75.492719 -79.673720,75.478428 -79.557846,75.474782 -79.518078,75.465253 -79.565845,75.445301 -79.575586,75.428272 -79.519362,75.407123 -79.438620,75.396760 -79.420505,75.372673 -79.440186,75.338612 -79.484382,75.314925 -79.479405,75.298723 -79.387775,75.292912 -79.381264,75.278369 -79.420486,75.252608 -79.477462,75.215612 -79.537456,75.182337 -79.675223,75.161030 -79.799812,75.145902 -79.896223,75.116629 -79.924422,75.086630 -80.002927,75.068572 -80.191179,75.057239 -80.285595,75.043613 -80.289038,75.017391 -80.197166,75.013539 -80.101379,74.991772 -79.986718,75.019940 -79.868338,75.044313 -79.752477,75.051153 -79.620165,75.039235 -79.515405,75.027235 -79.459009,75.000625 -79.457338,74.973997 -79.438060,74.951529 -79.399630,74.934884 -79.324487,74.921133 -79.281408,74.909459 -79.310411,74.872427 -79.399715,74.857047 -79.522276,74.842038 -79.635114,74.829889 -79.774651,74.810570 -79.861838,74.803764 -79.960375,74.806479 -80.016405,74.818839 -80.062266,74.812892 -80.058129,74.787917 -80.101793,74.769473 -80.476364,74.778537 -80.902822,74.812952 -81.067574,74.871860 -81.118320,74.946873 -81.218996,75.091399 -81.168307,75.221942 -81.402967,75.341987 -81.752833,75.444950 -82.253498,75.565308 -82.548437,75.607967 -82.913223,75.625674 -83.155587,75.638869 -83.359680,75.684844 -83.384977,75.745111 -83.372879,75.770634 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-81.593040,73.717632 -77.723612,74.577012</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.789909,74.552151 -80.667365,74.549804 -80.441578,74.552887 -80.397199,74.567126 -80.156012,74.568996 -79.684887,74.577012 -78.972729,74.550653 -78.456516,74.488898 -78.168473,74.425297 -77.780564,74.259141 -77.723612,74.160206 -77.785239,74.053026 -77.988342,73.896390 -78.198662,73.791903 -78.821225,73.717862 -79.478159,73.717632 -79.622058,73.744735 -79.896257,73.780570 -80.156367,73.797996 -80.460469,73.817950 -80.607113,73.815643 -80.806887,73.861407 -80.874496,73.891186 -81.049463,73.940334 -81.222179,73.993390 -81.450502,74.075010 -81.593040,74.189400 -81.537640,74.279401 -81.443114,74.358635 -81.235636,74.439696 -80.950567,74.516025 -80.789909,74.552151 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-87.097360,74.430787 -86.497222,74.500375</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-86.546935,74.494639 -86.517157,74.487622 -86.499706,74.478088 -86.497222,74.467491 -86.500564,74.463330 -86.504784,74.459543 -86.514273,74.453659 -86.540444,74.445692 -86.555854,74.443085 -86.566633,74.441605 -86.586744,74.439533 -86.596382,74.438976 -86.614543,74.438172 -86.620264,74.438148 -86.629076,74.437814 -86.653153,74.437685 -86.656659,74.437241 -86.673643,74.435572 -86.713112,74.434874 -86.745908,74.436026 -86.767862,74.436008 -86.774762,74.435336 -86.782942,74.434643 -86.810006,74.433703 -86.860705,74.433780 -86.899119,74.432690 -86.944153,74.430874 -86.972045,74.430787 -86.996523,74.432472 -87.031064,74.436128 -87.044104,74.437804 -87.074011,74.444757 -87.091748,74.454249 -87.094534,74.457955 -87.097293,74.463638 -87.097360,74.470523 -87.084861,74.480598 -87.069083,74.486194 -87.054886,74.490066 -87.044692,74.492495 -87.016079,74.496668 -87.003114,74.497887 -86.999826,74.497980 -86.996224,74.498461 -86.956619,74.499206 -86.926146,74.496478 -86.902321,74.497228 -86.862209,74.496887 -86.852491,74.496678 -86.841017,74.496283 -86.832585,74.496706 -86.802952,74.499048 -86.801781,74.499073 -86.800664,74.499221 -86.788457,74.499355 -86.761049,74.499933 -86.758289,74.499684 -86.755763,74.499711 -86.733716,74.498624 -86.680562,74.497925 -86.656513,74.498395 -86.652670,74.498791 -86.642356,74.499689 -86.602734,74.500375 -86.572630,74.497998 -86.554406,74.495690 -86.546935,74.494639 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-74.840099,71.700240 -74.050057,71.935255</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-74.840099,71.734681 -74.835985,71.745322 -74.819184,71.754658 -74.810862,71.757305 -74.794616,71.761815 -74.775990,71.765773 -74.755956,71.767515 -74.745242,71.773970 -74.737539,71.777206 -74.731893,71.780568 -74.729806,71.781528 -74.728388,71.782467 -74.721495,71.785878 -74.713778,71.789135 -74.686755,71.795727 -74.683482,71.796242 -74.675994,71.799076 -74.675672,71.799156 -74.675453,71.799279 -74.664587,71.803309 -74.664165,71.803413 -74.663891,71.803564 -74.645296,71.808091 -74.648566,71.811794 -74.647746,71.818025 -74.644806,71.823907 -74.641391,71.828310 -74.624428,71.837627 -74.606770,71.842491 -74.601045,71.843684 -74.590069,71.847483 -74.585842,71.848487 -74.570003,71.852638 -74.557595,71.854960 -74.554670,71.855248 -74.551666,71.855975 -74.518500,71.858805 -74.499787,71.858596 -74.482408,71.857819 -74.467006,71.856681 -74.455094,71.855439 -74.425251,71.850119 -74.404231,71.841641 -74.398696,71.835285 -74.396194,71.835601 -74.369202,71.837542 -74.359640,71.837157 -74.350275,71.837757 -74.336849,71.840448 -74.328377,71.841946 -74.320425,71.843176 -74.313120,71.844179 -74.290259,71.846938 -74.289078,71.847020 -74.285588,71.851550 -74.269141,71.860584 -74.263260,71.862730 -74.259767,71.865325 -74.255849,71.867740 -74.255903,71.867802 -74.255940,71.871272 -74.254867,71.876841 -74.252585,71.880475 -74.267112,71.884795 -74.285257,71.892471 -74.294230,71.902815 -74.289787,71.913439 -74.272586,71.922725 -74.249347,71.928583 -74.230858,71.931805 -74.228752,71.931999 -74.226744,71.932478 -74.193402,71.935255 -74.159176,71.933855 -74.129295,71.928493 -74.122554,71.926447 -74.109197,71.921933 -74.108247,71.921502 -74.105769,71.920703 -74.088102,71.913967 -74.072462,71.908457 -74.059425,71.902398 -74.050575,71.892044 -74.050852,71.891400 -74.050415,71.890839 -74.050057,71.885114 -74.054783,71.875699 -74.062234,71.868910 -74.063374,71.867496 -74.063590,71.858411 -74.068317,71.849737 -74.076476,71.844311 -74.082287,71.841340 -74.085480,71.837088 -74.100762,71.828525 -74.107636,71.825912 -74.113108,71.820899 -74.126848,71.812929 -74.159300,71.799838 -74.161251,71.799340 -74.162743,71.798533 -74.189943,71.792010 -74.223045,71.789233 -74.230625,71.789226 -74.236689,71.786739 -74.263848,71.780206 -74.296920,71.777416 -74.297469,71.777439 -74.297988,71.777396 -74.309019,71.777205 -74.331531,71.775871 -74.333313,71.775799 -74.341567,71.773949 -74.359156,71.771916 -74.409613,71.767930 -74.425069,71.767157 -74.451715,71.767856 -74.466277,71.768953 -74.470548,71.768022 -74.476258,71.766422 -74.487113,71.764073 -74.507439,71.759128 -74.522062,71.756243 -74.524239,71.756056 -74.525837,71.755687 -74.543443,71.753250 -74.547941,71.751863 -74.563252,71.747841 -74.565621,71.747098 -74.568724,71.745201 -74.573209,71.743119 -74.575589,71.738732 -74.578826,71.734667 -74.582386,71.731842 -74.594205,71.723790 -74.607532,71.717298 -74.618759,71.713893 -74.638944,71.708775 -74.654653,71.705596 -74.671899,71.703556 -74.702428,71.701056 -74.718072,71.700240 -74.751936,71.701548 -74.770644,71.704870 -74.776120,71.705080 -74.805839,71.710351 -74.826891,71.718790 -74.834142,71.725106 -74.838173,71.730672 -74.840099,71.734681 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-75.583379,65.123673 -71.180608,67.140774</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-72.997040,66.168610 -73.009341,65.705702 -72.990796,65.335176 -73.003034,65.304654 -73.146427,65.341354 -73.146950,65.337176 -73.201707,65.307980 -73.283183,65.273422 -73.308095,65.261566 -73.348513,65.248900 -73.415272,65.240131 -73.539057,65.242849 -73.669171,65.255706 -73.768360,65.270152 -73.852598,65.266844 -73.854883,65.264071 -74.045412,65.257385 -74.174087,65.235485 -74.265163,65.195791 -74.336007,65.171785 -74.433231,65.132925 -74.477313,65.123673 -74.622672,65.125514 -74.721880,65.139336 -74.761514,65.135572 -74.840747,65.128012 -75.050085,65.132080 -75.254977,65.132170 -75.433934,65.146980 -75.495846,65.152165 -75.564789,65.167481 -75.583379,65.191472 -75.582736,65.231364 -75.571561,65.285243 -75.563129,65.296431 -75.476592,65.294209 -75.385519,65.288253 -75.309966,65.281237 -75.227786,65.273287 -75.170383,65.280958 -75.148659,65.299598 -75.137890,65.313553 -75.149301,65.327420 -75.158570,65.344077 -75.170227,65.367216 -75.181904,65.390354 -75.160098,65.408995 -75.144538,65.409985 -75.037582,65.404810 -74.952920,65.399501 -74.888475,65.406156 -74.841767,65.409039 -74.815211,65.423929 -74.766504,65.457398 -74.712994,65.459324 -74.692905,65.456564 -74.612590,65.445497 -74.536801,65.447372 -74.483223,65.486314 -74.445204,65.505771 -74.402629,65.530779 -74.326287,65.569644 -74.256634,65.590862 -74.157854,65.601780 -74.144428,65.599892 -74.110870,65.595166 -74.061786,65.582040 -73.976958,65.566918 -73.869848,65.551653 -73.812529,65.547222 -73.815442,65.603030 -73.846615,65.625054 -73.875434,65.658439 -73.887252,65.695249 -73.903483,65.726824 -73.969080,65.741956 -74.058217,65.754509 -74.145010,65.787132 -74.193447,65.831878 -74.312471,65.895100 -74.457783,65.970493 -74.567314,66.020384 -74.625622,66.089484 -74.660345,66.134957 -74.623837,66.197100 -74.556751,66.243491 -74.426410,66.287197 -74.262927,66.335116 -74.083393,66.392442 -73.922459,66.461009 -73.840296,66.505283 -73.765202,66.524182 -73.636642,66.561998 -73.596007,66.591504 -73.554597,66.638489 -73.529216,66.667196 -73.394125,66.727518 -73.147597,66.786808 -73.145789,66.786553 -73.118980,66.801542 -73.067545,66.858020 -73.044108,66.922450 -73.005603,66.958861 -72.966611,67.001187 -72.952951,67.049089 -72.941525,67.061431 -72.896489,67.098936 -72.801499,67.129384 -72.674690,67.133327 -72.600929,67.140774 -72.483862,67.117997 -72.395749,67.097294 -72.361109,67.058282 -72.276481,66.985946 -72.214182,66.938794 -72.161593,66.919047 -71.953610,66.854153 -71.744069,66.812684 -71.506218,66.774555 -71.235498,66.728857 -71.253564,66.705475 -71.269104,66.689759 -71.288070,66.670549 -71.302605,66.650653 -71.311962,66.635996 -71.310589,66.611622 -71.326999,66.600076 -71.404673,66.587958 -71.400773,66.571255 -71.320054,66.560743 -71.270479,66.528855 -71.249935,66.503489 -71.225833,66.471512 -71.220355,66.456549 -71.181693,66.434355 -71.180608,66.420077 -71.207380,66.408167 -71.297047,66.414180 -71.558036,66.388412 -71.926671,66.374719 -72.195351,66.349234 -72.414381,66.327984 -72.649716,66.309752 -72.663959,66.166750 -72.997040,66.168610 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-102.416330,68.539799 -101.592431,68.862064</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-102.002852,68.593445 -102.023793,68.591443 -102.038074,68.591892 -102.051738,68.590308 -102.063730,68.590170 -102.097589,68.590756 -102.115030,68.591810 -102.141276,68.596765 -102.160346,68.605008 -102.169123,68.614665 -102.171922,68.622158 -102.181322,68.621947 -102.182671,68.622000 -102.189006,68.621916 -102.224247,68.622422 -102.242173,68.623470 -102.268481,68.628405 -102.282447,68.633693 -102.327311,68.655933 -102.332498,68.658873 -102.339109,68.666347 -102.342813,68.667824 -102.362922,68.670594 -102.383204,68.674777 -102.402425,68.682993 -102.411074,68.692016 -102.415851,68.702646 -102.415756,68.703245 -102.416330,68.703890 -102.413964,68.714646 -102.400444,68.724253 -102.380429,68.730693 -102.363969,68.734343 -102.362591,68.734516 -102.361357,68.734897 -102.336084,68.738058 -102.334596,68.738143 -102.312973,68.744808 -102.306052,68.746043 -102.280194,68.750077 -102.277426,68.750344 -102.272607,68.751090 -102.253200,68.753264 -102.248893,68.755231 -102.226191,68.762204 -102.213057,68.763729 -102.212074,68.764113 -102.211980,68.764139 -102.211668,68.764270 -102.172875,68.779155 -102.167074,68.780784 -102.160786,68.782911 -102.131885,68.790136 -102.122669,68.793619 -102.121652,68.793902 -102.122177,68.794900 -102.121428,68.802925 -102.118909,68.807948 -102.117144,68.810673 -102.108701,68.817558 -102.097433,68.824140 -102.084006,68.833356 -102.083574,68.834705 -102.081074,68.839197 -102.067341,68.848776 -102.044492,68.855725 -102.016006,68.858984 -101.976961,68.860541 -101.947189,68.859604 -101.947087,68.859585 -101.940014,68.860038 -101.923523,68.859516 -101.901109,68.862064 -101.871338,68.861115 -101.844849,68.856122 -101.842729,68.855206 -101.840416,68.854728 -101.827469,68.850332 -101.812156,68.846806 -101.802622,68.845645 -101.779063,68.840972 -101.776631,68.839919 -101.766876,68.839602 -101.740434,68.834593 -101.721324,68.826306 -101.720424,68.825262 -101.719027,68.824610 -101.714607,68.824928 -101.707754,68.825304 -101.678039,68.824323 -101.651635,68.819300 -101.632569,68.811004 -101.623742,68.800699 -101.623181,68.798754 -101.625924,68.788011 -101.629966,68.785232 -101.623620,68.779224 -101.618687,68.771719 -101.611664,68.766999 -101.602939,68.756743 -101.603031,68.750709 -101.605879,68.741751 -101.608533,68.737042 -101.609072,68.736671 -101.609187,68.736284 -101.618235,68.726285 -101.618010,68.724327 -101.616020,68.717403 -101.616071,68.713903 -101.614015,68.712937 -101.607309,68.709196 -101.601547,68.704227 -101.595443,68.697083 -101.592431,68.691744 -101.593824,68.682899 -101.600259,68.672328 -101.601429,68.671446 -101.601737,68.670275 -101.609779,68.660626 -101.610580,68.660077 -101.610752,68.659540 -101.612493,68.657724 -101.612227,68.657063 -101.612873,68.649596 -101.617039,68.640585 -101.619124,68.637307 -101.632916,68.627760 -101.634165,68.627381 -101.634872,68.626915 -101.650529,68.620414 -101.671312,68.614359 -101.699546,68.611155 -101.728594,68.612120 -101.729357,68.606467 -101.732361,68.600000 -101.734896,68.597612 -101.730826,68.594546 -101.723669,68.585402 -101.723260,68.581968 -101.723863,68.570138 -101.726943,68.562824 -101.740647,68.553267 -101.747954,68.550399 -101.757735,68.547065 -101.773068,68.543020 -101.801201,68.539799 -101.830558,68.540760 -101.856686,68.545758 -101.863064,68.547866 -101.898587,68.561013 -101.914692,68.561531 -101.926940,68.563274 -101.958229,68.568909 -101.972157,68.572149 -101.991147,68.580412 -101.998043,68.586734 -102.002852,68.593445 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.008646,51.760942 -78.786068,51.932998</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.008646,51.780363 -78.992168,51.791144 -78.978710,51.796075 -78.973879,51.799029 -78.970916,51.798928 -78.928178,51.865499 -78.906964,51.899002 -78.899612,51.909380 -78.885663,51.915348 -78.877316,51.915130 -78.875161,51.917394 -78.868947,51.916398 -78.867065,51.919452 -78.868425,51.923398 -78.875624,51.924924 -78.874745,51.927020 -78.877006,51.927382 -78.879725,51.925208 -78.880982,51.926528 -78.879392,51.928883 -78.873574,51.929815 -78.869577,51.932157 -78.863193,51.932998 -78.842204,51.925530 -78.828339,51.915474 -78.820692,51.906414 -78.817451,51.905520 -78.808905,51.900043 -78.801512,51.893260 -78.797432,51.882908 -78.791296,51.877445 -78.786068,51.868399 -78.786720,51.845387 -78.788918,51.831574 -78.801109,51.819748 -78.815860,51.806098 -78.843909,51.789372 -78.861657,51.781421 -78.880397,51.772509 -78.901613,51.767719 -78.927219,51.761021 -78.947662,51.760942 -78.971142,51.766558 -78.983528,51.768536 -78.995192,51.772259 -79.008646,51.780363 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.034474,55.700048 -79.847777,55.900818</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.034474,55.900818 -79.847777,55.898763 -79.855285,55.702115 -80.032750,55.700048 -80.034474,55.900818 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-72.313339,63.406048 -71.178801,63.749302</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-72.114388,63.438446 -72.313339,63.576627 -72.272763,63.616373 -72.231505,63.636548 -72.177915,63.648175 -72.128019,63.658242 -72.095992,63.661546 -72.055703,63.660213 -72.020775,63.655436 -72.020254,63.653183 -71.989603,63.649115 -71.977912,63.642816 -71.966160,63.645170 -71.955146,63.655230 -71.948015,63.646446 -71.930162,63.644519 -71.912527,63.648043 -71.909968,63.636776 -71.880068,63.640392 -71.902601,63.653952 -71.883846,63.661620 -71.869948,63.663606 -71.880721,63.679515 -71.859400,63.675912 -71.855540,63.663337 -71.840723,63.674921 -71.849960,63.684071 -71.864282,63.692995 -71.858088,63.697367 -71.869265,63.701423 -71.848132,63.703272 -71.846404,63.713819 -71.833291,63.714855 -71.834306,63.719363 -71.817624,63.727383 -71.779703,63.723133 -71.770161,63.717178 -71.763574,63.710639 -71.743877,63.705127 -71.733895,63.711024 -71.705676,63.704057 -71.692736,63.710534 -71.681922,63.717373 -71.694397,63.722751 -71.701965,63.733802 -71.688019,63.735770 -71.671936,63.737374 -71.659140,63.749302 -71.643377,63.747703 -71.634186,63.738539 -71.630578,63.731412 -71.663065,63.725013 -71.657154,63.712069 -71.671403,63.692796 -71.667299,63.683415 -71.692516,63.676864 -71.678750,63.670178 -71.656644,63.667491 -71.659106,63.678762 -71.646330,63.676581 -71.641418,63.668145 -71.626031,63.663345 -71.632582,63.655782 -71.614919,63.645162 -71.594810,63.637375 -71.589559,63.646245 -71.576803,63.644058 -71.581692,63.652496 -71.604246,63.671557 -71.614399,63.671124 -71.647313,63.681090 -71.653540,63.690834 -71.638135,63.700143 -71.636657,63.707488 -71.614842,63.715702 -71.587441,63.721875 -71.555955,63.718659 -71.543848,63.710070 -71.576515,63.695036 -71.554738,63.689133 -71.540947,63.696541 -71.522206,63.709616 -71.502486,63.718179 -71.468536,63.717778 -71.458237,63.712747 -71.467322,63.702359 -71.482306,63.690814 -71.484169,63.680272 -71.522530,63.672747 -71.523554,63.663148 -71.536227,63.645778 -71.506134,63.643861 -71.494762,63.628869 -71.468678,63.616768 -71.510243,63.605468 -71.507506,63.597394 -71.526999,63.583376 -71.516877,63.583804 -71.472964,63.583830 -71.445535,63.584521 -71.444138,63.597318 -71.429890,63.602461 -71.395370,63.608441 -71.382759,63.611690 -71.383098,63.628053 -71.370229,63.639956 -71.338393,63.634437 -71.313762,63.629073 -71.310880,63.610086 -71.314357,63.592204 -71.326764,63.578052 -71.353150,63.567418 -71.329865,63.563369 -71.302452,63.564033 -71.306782,63.570224 -71.313794,63.584494 -71.289685,63.606398 -71.255961,63.611401 -71.234857,63.613160 -71.207690,63.605153 -71.178801,63.593571 -71.204427,63.583907 -71.236925,63.583059 -71.222027,63.575016 -71.233270,63.565013 -71.209095,63.556433 -71.226676,63.547540 -71.241762,63.541475 -71.243333,63.534135 -71.271364,63.521630 -71.296989,63.517404 -71.331882,63.513704 -71.326990,63.499803 -71.320454,63.487790 -71.346506,63.485810 -71.368332,63.483091 -71.376088,63.471398 -71.402473,63.466210 -71.458523,63.471603 -71.477481,63.455337 -71.484024,63.447782 -71.517790,63.453634 -71.517174,63.445925 -71.504379,63.438277 -71.513496,63.433341 -71.551518,63.425808 -71.551374,63.420354 -71.557889,63.412795 -71.582229,63.412663 -71.587921,63.406048 -71.634966,63.407659 -71.709127,63.417171 -71.793093,63.429399 -71.818252,63.428279 -71.864745,63.436215 -71.916084,63.438453 -71.928850,63.431956 -71.961151,63.430943 -72.007173,63.436578 -72.010940,63.426387 -72.037684,63.423334 -72.051933,63.432239 -72.076287,63.432022 -72.114388,63.438446 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.972243,57.228808 -79.535647,57.659765</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.932096,57.505534 -79.936176,57.511509 -79.934825,57.529448 -79.932824,57.532010 -79.931873,57.544609 -79.929675,57.549506 -79.915646,57.565800 -79.915249,57.565997 -79.915026,57.566252 -79.906246,57.572560 -79.903511,57.576987 -79.898473,57.582246 -79.894827,57.586898 -79.879085,57.600400 -79.877104,57.601451 -79.875677,57.603104 -79.868750,57.607575 -79.867526,57.608270 -79.866530,57.621114 -79.852443,57.637403 -79.827790,57.649556 -79.820968,57.651561 -79.807788,57.655027 -79.783142,57.659181 -79.770509,57.659720 -79.755007,57.659765 -79.734169,57.658449 -79.703812,57.650855 -79.681204,57.637608 -79.669785,57.620728 -79.669164,57.609541 -79.670083,57.604202 -79.663210,57.596459 -79.662195,57.594686 -79.655746,57.590617 -79.643185,57.593061 -79.609781,57.592247 -79.584528,57.586465 -79.574503,57.583058 -79.572556,57.581989 -79.569486,57.581215 -79.546977,57.567944 -79.535647,57.551053 -79.537208,57.533119 -79.543968,57.518452 -79.558153,57.502204 -79.582795,57.490109 -79.608190,57.484610 -79.620429,57.483124 -79.623205,57.483139 -79.626383,57.482519 -79.659681,57.483328 -79.668553,57.485563 -79.676683,57.475380 -79.686313,57.466313 -79.705416,57.456138 -79.719420,57.450728 -79.722170,57.450124 -79.724886,57.448782 -79.730772,57.447628 -79.731012,57.442393 -79.731244,57.441455 -79.731169,57.440524 -79.733274,57.423173 -79.735536,57.415241 -79.738540,57.409995 -79.755055,57.386254 -79.766090,57.375230 -79.778711,57.368975 -79.778591,57.368725 -79.776845,57.364166 -79.778272,57.346235 -79.792275,57.329963 -79.816712,57.317823 -79.816811,57.317804 -79.814703,57.316562 -79.792346,57.327668 -79.785586,57.329670 -79.772525,57.333130 -79.748107,57.337275 -79.714948,57.336491 -79.684880,57.328896 -79.662490,57.315653 -79.654457,57.306194 -79.648981,57.297168 -79.645713,57.289755 -79.647205,57.271827 -79.661240,57.255573 -79.685670,57.243462 -79.716777,57.237334 -79.749840,57.238117 -79.770812,57.242563 -79.789340,57.248123 -79.798375,57.251252 -79.802738,57.253827 -79.808495,57.247116 -79.832867,57.234975 -79.863940,57.228808 -79.896998,57.229550 -79.927027,57.237088 -79.927389,57.237302 -79.927859,57.237421 -79.939188,57.242012 -79.960803,57.254868 -79.972243,57.271709 -79.970920,57.289640 -79.968532,57.294036 -79.962367,57.303590 -79.954231,57.311993 -79.950411,57.316465 -79.942276,57.320525 -79.951995,57.326225 -79.963454,57.343069 -79.963382,57.344046 -79.963914,57.344878 -79.968304,57.365131 -79.966516,57.381256 -79.952574,57.397551 -79.932768,57.407411 -79.932795,57.407450 -79.933288,57.419755 -79.931141,57.430006 -79.932614,57.435501 -79.944695,57.445426 -79.945178,57.446100 -79.946168,57.446679 -79.957665,57.463527 -79.956327,57.481464 -79.942948,57.497304 -79.932096,57.505534 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-89.211735,70.530720 -80.934134,72.435151</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-84.665091,71.343282 -84.669273,71.331456 -84.661924,71.289566 -84.618337,71.264645 -84.603828,71.252632 -84.603642,71.250818 -84.601881,71.249440 -84.597137,71.239875 -84.597259,71.225187 -84.606064,71.215206 -84.646707,71.183309 -84.665825,71.128692 -84.666926,71.127665 -84.666795,71.126422 -84.690159,71.080170 -84.684836,71.053479 -84.646854,71.027800 -84.636658,71.018386 -84.633610,71.003525 -84.647127,70.957892 -84.655607,70.925722 -84.621457,70.879150 -84.498511,70.816682 -84.327308,70.776860 -84.247090,70.776159 -84.083033,70.781615 -84.076766,70.781540 -84.068314,70.781840 -83.869271,70.781297 -83.687373,70.805068 -83.515879,70.833969 -83.481737,70.837961 -83.427341,70.838226 -83.409082,70.844409 -83.388043,70.850248 -83.337926,70.857321 -83.315906,70.858263 -83.196166,70.860194 -83.171885,70.876105 -83.163911,70.880654 -83.125660,70.893440 -83.075350,70.900445 -83.020716,70.900596 -83.011315,70.906705 -83.003295,70.911247 -82.964889,70.924000 -82.914451,70.930962 -82.911132,70.930969 -82.908387,70.931325 -82.799987,70.936964 -82.751283,70.936680 -82.693341,70.932978 -82.584272,70.934136 -82.552614,70.933285 -82.548149,70.932681 -82.544080,70.932641 -82.427802,70.922560 -82.299274,70.929347 -82.249210,70.929009 -82.222787,70.926342 -82.203886,70.923740 -82.166986,70.931713 -82.116266,70.938468 -82.112180,70.938459 -82.108869,70.938866 -81.941286,70.946321 -81.939567,70.946301 -81.931079,70.946647 -81.882353,70.947609 -81.833378,70.965631 -81.808001,70.982675 -81.797569,70.988529 -81.758286,71.001039 -81.707264,71.007686 -81.652309,71.007452 -81.569492,71.001688 -81.536984,70.998014 -81.507302,70.993260 -81.421813,70.997595 -81.370433,70.997088 -81.352894,70.995449 -81.147773,70.971346 -81.115058,70.965799 -81.101184,70.962179 -80.989308,70.928903 -80.965371,70.919572 -80.945679,70.902869 -80.943761,70.897105 -80.934134,70.827260 -80.937391,70.815124 -80.957438,70.799719 -81.029299,70.764164 -81.030548,70.763761 -81.031304,70.763197 -81.044318,70.757956 -81.118922,70.732012 -81.145119,70.724873 -81.195629,70.718369 -81.239328,70.718108 -81.359196,70.723634 -81.363701,70.724216 -81.369697,70.724251 -81.419425,70.731395 -81.457135,70.744271 -81.465140,70.748950 -81.564438,70.815591 -81.576479,70.827561 -81.576419,70.828897 -81.577630,70.829983 -81.597262,70.879878 -81.629488,70.880696 -81.637276,70.881795 -81.684666,70.861334 -81.719875,70.850589 -81.770509,70.843936 -81.787631,70.843240 -82.024256,70.838314 -82.104048,70.817424 -82.114283,70.814980 -82.164704,70.808224 -82.219139,70.808313 -82.256032,70.810782 -82.382226,70.808236 -82.418398,70.809044 -82.555556,70.818035 -82.597471,70.823162 -82.639078,70.830926 -82.750432,70.829039 -82.771423,70.814281 -82.781495,70.808373 -82.819799,70.795653 -82.869943,70.788713 -82.896973,70.787779 -82.919804,70.787724 -82.930988,70.782432 -82.967163,70.770651 -82.995071,70.765826 -83.076855,70.755351 -83.098962,70.753187 -83.141808,70.752464 -83.202465,70.754528 -83.279706,70.737070 -83.329557,70.730010 -83.332063,70.729999 -83.334185,70.729712 -83.475247,70.721403 -83.726500,70.686287 -83.742751,70.684571 -83.745737,70.684116 -83.855030,70.674631 -83.995770,70.646674 -84.036896,70.641214 -84.057104,70.640224 -84.193844,70.636861 -84.225796,70.625650 -84.246377,70.619718 -84.250249,70.619144 -84.239227,70.610944 -84.235929,70.598708 -84.239263,70.573998 -84.241094,70.568324 -84.260314,70.551588 -84.297257,70.538570 -84.346295,70.531244 -84.399997,70.530720 -84.490737,70.535788 -84.541014,70.542120 -84.580239,70.554376 -84.599884,70.567553 -84.616248,70.585142 -84.661346,70.603345 -84.663229,70.604609 -84.666956,70.605766 -84.686703,70.618933 -84.719210,70.653586 -84.720509,70.654350 -84.854582,70.676837 -85.042445,70.686748 -85.153732,70.686859 -85.159967,70.687022 -85.162325,70.686953 -85.264490,70.689093 -85.276990,70.689540 -85.327866,70.695663 -85.367832,70.707751 -85.390809,70.723974 -85.393265,70.741866 -85.388922,70.748215 -85.369921,70.768975 -85.355751,70.779464 -85.319046,70.792678 -85.316551,70.793061 -85.314830,70.793658 -85.188314,70.821834 -85.145703,70.841520 -85.130836,70.860981 -85.129199,70.884704 -85.206625,70.914345 -85.208850,70.915767 -85.213308,70.917106 -85.236325,70.933246 -85.257500,70.961335 -85.308978,70.980900 -85.493353,70.983558 -85.556530,70.978700 -85.608760,70.969998 -85.666913,70.958425 -85.679708,70.956673 -85.692829,70.954380 -85.810729,70.940559 -85.908072,70.906108 -86.008576,70.865594 -86.033192,70.857814 -86.082352,70.850051 -86.136808,70.849038 -86.169808,70.851938 -86.241263,70.861393 -86.259794,70.864377 -86.263933,70.865584 -86.268172,70.866122 -86.300413,70.873366 -86.429449,70.872651 -86.482837,70.846934 -86.513619,70.836259 -86.562548,70.828373 -86.616923,70.827226 -86.655933,70.830874 -86.744840,70.843984 -86.747878,70.844493 -86.748677,70.844571 -86.861212,70.862441 -87.237554,70.877949 -87.249034,70.878570 -87.438894,70.891409 -87.563610,70.881370 -87.566381,70.881314 -87.583561,70.880250 -87.801227,70.873150 -88.000165,70.865142 -88.032789,70.865066 -88.035531,70.865350 -88.038122,70.865293 -88.278799,70.876899 -88.301307,70.879352 -88.321403,70.881279 -88.392921,70.892983 -88.394724,70.893457 -88.397138,70.893702 -88.412141,70.896780 -88.498124,70.916960 -88.622061,70.916813 -88.765195,70.909934 -88.799443,70.909656 -88.985942,70.915534 -89.038372,70.920662 -89.058856,70.924988 -89.155511,70.949474 -89.177569,70.956428 -89.203753,70.972157 -89.210097,70.985391 -89.211735,71.046992 -89.211156,71.051558 -89.195533,71.068720 -89.160837,71.082629 -89.142773,71.086769 -89.032231,71.108049 -89.001740,71.112421 -88.970138,71.114330 -88.855325,71.116917 -88.831968,71.116809 -88.795472,71.113235 -88.782455,71.114814 -88.759515,71.116412 -88.634305,71.121618 -88.602254,71.121754 -88.549422,71.116511 -88.545102,71.115355 -88.540754,71.114867 -88.503190,71.107144 -88.383156,71.095089 -88.357745,71.091612 -88.320742,71.082212 -88.244226,71.054926 -88.242325,71.053827 -88.238829,71.052880 -88.214967,71.038763 -88.195930,71.020419 -88.101768,71.012123 -87.923655,71.003366 -87.834086,71.019057 -87.806349,71.022728 -87.751536,71.024209 -87.724382,71.022299 -87.702501,71.020002 -87.692999,71.021590 -87.638181,71.023039 -87.590065,71.018272 -87.555447,71.012468 -87.487252,71.014617 -87.487183,71.014727 -87.530614,71.024017 -87.531289,71.024219 -87.534434,71.024863 -87.745082,71.072929 -87.749691,71.074336 -87.758177,71.076292 -87.905086,71.118688 -87.921714,71.124360 -87.933110,71.129715 -88.004647,71.168925 -88.065996,71.162894 -88.066860,71.162868 -88.067655,71.162734 -88.122814,71.161166 -88.156577,71.163724 -88.253520,71.175218 -88.433483,71.184131 -88.543436,71.187777 -88.704038,71.192989 -88.808000,71.196291 -88.861103,71.201463 -88.904071,71.212785 -88.930372,71.228540 -88.930463,71.228828 -88.930871,71.229076 -88.974193,71.276558 -88.979345,71.293817 -88.963342,71.310950 -88.949427,71.317803 -88.850931,71.357839 -88.829503,71.364834 -88.780192,71.373275 -88.766111,71.374397 -88.573306,71.386368 -88.499301,71.392186 -88.494248,71.395090 -88.459358,71.408372 -88.409788,71.416721 -88.353957,71.418369 -88.300417,71.413064 -88.298935,71.412670 -88.297218,71.412492 -88.267865,71.407083 -88.226723,71.410777 -88.172578,71.412220 -88.119102,71.406865 -88.090003,71.400144 -88.074995,71.395661 -88.042801,71.391611 -87.912841,71.402669 -87.825965,71.411429 -87.824169,71.411485 -87.822454,71.411767 -87.766592,71.413250 -87.754794,71.412661 -87.528260,71.398096 -87.486772,71.393175 -87.450373,71.383886 -87.389949,71.362427 -87.328618,71.346601 -87.305876,71.339212 -87.280695,71.323250 -87.276518,71.305416 -87.278445,71.301656 -87.289520,71.284513 -87.245303,71.285577 -87.213885,71.283155 -87.094396,71.269138 -87.072951,71.265942 -87.030903,71.254228 -87.009053,71.241332 -86.984167,71.218521 -86.878959,71.183477 -86.868683,71.179641 -86.850993,71.170001 -86.799831,71.132142 -86.781484,71.127756 -86.750157,71.126436 -86.769727,71.149742 -86.769737,71.149791 -86.769804,71.149835 -86.773510,71.167687 -86.760488,71.181762 -86.721170,71.207911 -86.718250,71.209066 -86.716444,71.210785 -86.692819,71.219474 -86.692384,71.226057 -86.674530,71.242997 -86.637852,71.256443 -86.589605,71.264191 -86.519694,71.270461 -86.518823,71.270480 -86.518015,71.270607 -86.462456,71.271726 -86.409815,71.265913 -86.368150,71.254059 -86.355957,71.248896 -86.329391,71.258536 -86.305435,71.263260 -86.243574,71.272883 -86.217460,71.275969 -86.161870,71.277003 -86.101307,71.274273 -86.011481,71.276310 -85.947954,71.287500 -85.800971,71.367125 -85.746824,71.447539 -85.724836,71.510146 -85.790054,71.528783 -86.039421,71.578754 -86.044593,71.580260 -86.067037,71.585895 -86.229278,71.639417 -86.240314,71.643495 -86.265065,71.659573 -86.267668,71.663361 -86.305931,71.732959 -86.306009,71.734360 -86.307739,71.737687 -86.325557,71.820153 -86.420995,71.888368 -86.422034,71.889296 -86.422829,71.889733 -86.519431,71.964733 -86.523265,71.968314 -86.523882,71.968690 -86.585896,72.032926 -86.586532,72.035403 -86.589457,72.037417 -86.630899,72.103850 -86.631411,72.109219 -86.633359,72.115000 -86.627075,72.150162 -86.656758,72.211592 -86.656931,72.218215 -86.657983,72.221603 -86.645635,72.273481 -86.644423,72.274681 -86.644738,72.276152 -86.640461,72.282501 -86.582846,72.344869 -86.568181,72.355399 -86.529317,72.368782 -86.514976,72.371722 -86.193591,72.429295 -86.154889,72.434139 -86.095950,72.435151 -86.080293,72.434228 -85.245027,72.369088 -85.205327,72.363961 -85.205078,72.363891 -85.204764,72.363856 -84.917125,72.309912 -84.874699,72.297888 -84.867009,72.292780 -84.658486,72.276119 -84.482167,72.208392 -84.302074,72.149539 -84.251536,72.131403 -84.128482,72.062898 -84.060043,71.987895 -84.085733,71.924119 -84.126570,71.904593 -84.225703,71.869560 -84.329552,71.806827 -84.334754,71.760571 -84.227715,71.720730 -84.040677,71.701284 -83.861889,71.685211 -83.670188,71.640252 -83.684684,71.597548 -83.849129,71.585061 -84.087982,71.579650 -84.087085,71.545434 -83.796228,71.504374 -83.627946,71.473015 -83.596920,71.458785 -83.586573,71.442631 -83.596858,71.424557 -83.731610,71.410521 -84.031317,71.414967 -84.239500,71.426416 -84.361151,71.417475 -84.203790,71.384085 -83.865660,71.362159 -83.611268,71.347597 -83.256746,71.304915 -82.838537,71.273151 -82.375041,71.221870 -82.097787,71.184929 -81.793720,71.145704 -81.774242,71.116193 -81.784500,71.085578 -81.851606,71.071368 -81.958670,71.084885 -82.152789,71.113514 -82.256785,71.101623 -82.338401,71.094472 -82.581284,71.107073 -82.759927,71.146527 -82.857488,71.193213 -83.044522,71.220369 -83.398136,71.244812 -83.629748,71.245962 -83.788065,71.239542 -83.964542,71.252684 -84.225539,71.288964 -84.419900,71.324377 -84.542468,71.330931 -84.665091,71.343282 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-82.701927,62.539732 -81.773592,63.044061</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-82.699820,62.950428 -82.695240,62.957377 -82.692226,62.960716 -82.684752,62.967124 -82.674672,62.972744 -82.669076,62.975303 -82.656774,62.979919 -82.642725,62.983353 -82.635399,62.984741 -82.620144,62.986860 -82.604272,62.987583 -82.596335,62.987588 -82.580458,62.986886 -82.565190,62.984786 -82.558890,62.983602 -82.556556,62.983481 -82.547364,62.983072 -82.546597,62.982967 -82.546127,62.982942 -82.545326,62.982792 -82.542811,62.982445 -82.541180,62.982422 -82.503729,62.977916 -82.491289,62.978520 -82.488909,62.982085 -82.485869,62.985420 -82.478343,62.991816 -82.468214,62.997422 -82.462595,62.999973 -82.450249,63.004570 -82.439685,63.007772 -82.429565,63.010383 -82.427149,63.010906 -82.425201,63.012211 -82.424874,63.012358 -82.415151,63.017709 -82.409590,63.020214 -82.397396,63.024731 -82.390492,63.026601 -82.386947,63.027457 -82.384396,63.027868 -82.379670,63.029009 -82.359135,63.032836 -82.344123,63.036232 -82.339136,63.037002 -82.334036,63.038141 -82.328874,63.038937 -82.318313,63.040215 -82.306099,63.040871 -82.299972,63.040988 -82.297734,63.040908 -82.295944,63.041307 -82.290781,63.042102 -82.280217,63.043377 -82.264306,63.044061 -82.256353,63.044047 -82.240454,63.043306 -82.225181,63.041170 -82.217849,63.039773 -82.214038,63.038838 -82.210431,63.038997 -82.210307,63.038997 -82.210256,63.038994 -82.209691,63.039018 -82.201739,63.039001 -82.185845,63.038254 -82.178738,63.037442 -82.175233,63.036965 -82.173260,63.036540 -82.168317,63.035866 -82.149668,63.032466 -82.144848,63.031304 -82.141807,63.030807 -82.137985,63.029884 -82.130558,63.027854 -82.124975,63.025975 -82.122277,63.024983 -82.120977,63.024332 -82.117067,63.022895 -82.111630,63.020519 -82.109876,63.020216 -82.104283,63.018895 -82.103974,63.018876 -82.103105,63.018710 -82.101112,63.018704 -82.085862,63.016552 -82.078542,63.015148 -82.077476,63.014885 -82.077395,63.014873 -82.077161,63.014827 -82.071982,63.013528 -82.064514,63.011684 -82.064294,63.011601 -82.064088,63.011549 -82.063770,63.011403 -82.063113,63.011154 -82.062383,63.011009 -82.048006,63.006327 -82.047221,63.005956 -82.042807,63.005743 -82.027569,63.003585 -82.020255,63.002178 -82.006240,62.998708 -82.004957,62.998238 -82.003073,62.998331 -82.002440,62.998338 -81.998778,62.998489 -81.990838,62.998460 -81.974971,62.997689 -81.969065,62.996849 -81.967555,62.996923 -81.961045,62.997003 -81.952020,62.996637 -81.947998,62.996686 -81.935722,62.995934 -81.931528,62.996156 -81.927521,62.996075 -81.918456,62.996369 -81.911944,62.996236 -81.898966,62.995492 -81.883744,62.993319 -81.876440,62.991904 -81.873216,62.991101 -81.872643,62.990979 -81.870701,62.990475 -81.862448,62.988420 -81.861728,62.988145 -81.861286,62.988031 -81.860640,62.987731 -81.858236,62.986815 -81.856638,62.986474 -81.847206,62.983072 -81.844504,62.981725 -81.837649,62.979014 -81.833259,62.976824 -81.825258,62.972121 -81.817896,62.965686 -81.814942,62.962336 -81.810947,62.956096 -81.807539,62.954132 -81.805667,62.952946 -81.805321,62.952792 -81.804247,62.952112 -81.804096,62.951951 -81.803240,62.951409 -81.802970,62.951103 -81.802165,62.950728 -81.789708,62.942026 -81.782361,62.935589 -81.779414,62.932238 -81.774969,62.925272 -81.773592,62.918044 -81.773684,62.914435 -81.775427,62.907224 -81.780219,62.900306 -81.783331,62.896987 -81.785095,62.895522 -81.785363,62.895261 -81.786470,62.894379 -81.790985,62.890628 -81.791587,62.890301 -81.791839,62.890100 -81.792496,62.889807 -81.794506,62.888714 -81.795255,62.887988 -81.805201,62.882271 -81.806947,62.881546 -81.809280,62.880188 -81.810945,62.879339 -81.812755,62.878629 -81.813493,62.878242 -81.815498,62.875339 -81.818603,62.872019 -81.819417,62.871342 -81.824144,62.864493 -81.826279,62.862209 -81.827365,62.858002 -81.827869,62.857462 -81.827878,62.857111 -81.828277,62.856417 -81.828293,62.856208 -81.828806,62.855316 -81.829050,62.855071 -81.829928,62.853545 -81.835347,62.845725 -81.836234,62.844893 -81.837553,62.842870 -81.838258,62.842044 -81.837214,62.838041 -81.836934,62.835569 -81.837372,62.832997 -81.837103,62.830608 -81.838290,62.824051 -81.838879,62.822200 -81.838860,62.821765 -81.839223,62.820627 -81.839475,62.820332 -81.839740,62.819500 -81.840084,62.819130 -81.840102,62.818362 -81.844864,62.811442 -81.847959,62.808122 -81.851464,62.805195 -81.854378,62.802067 -81.854424,62.802029 -81.854427,62.802024 -81.854435,62.802015 -81.858165,62.798903 -81.861992,62.795704 -81.862006,62.795697 -81.862016,62.795688 -81.862046,62.795675 -81.862083,62.795654 -81.862111,62.795625 -81.863679,62.794579 -81.861936,62.791848 -81.861957,62.790895 -81.861602,62.790491 -81.861371,62.789556 -81.861048,62.789145 -81.860714,62.787789 -81.860780,62.787154 -81.860265,62.785064 -81.859568,62.776751 -81.854838,62.758007 -81.854851,62.757879 -81.854761,62.757532 -81.854812,62.757009 -81.854300,62.755037 -81.852530,62.739023 -81.852946,62.736586 -81.852855,62.735815 -81.851922,62.734184 -81.850536,62.726957 -81.850617,62.723347 -81.852330,62.716136 -81.857072,62.709216 -81.860155,62.705895 -81.861904,62.704429 -81.862170,62.704168 -81.863267,62.703286 -81.867742,62.699532 -81.868340,62.699205 -81.868590,62.699004 -81.869242,62.698710 -81.869978,62.698307 -81.873419,62.693278 -81.876498,62.689957 -81.878245,62.688491 -81.878511,62.688230 -81.879607,62.687348 -81.884078,62.683594 -81.884675,62.683266 -81.884924,62.683065 -81.885576,62.682772 -81.887569,62.681678 -81.888309,62.680951 -81.921125,62.661889 -81.945262,62.646190 -81.946185,62.645780 -81.955073,62.640928 -81.960467,62.638530 -81.972233,62.634201 -81.986192,62.630835 -81.993460,62.629481 -81.999287,62.628691 -82.000123,62.628229 -82.025713,62.616604 -82.033487,62.607344 -82.035775,62.605333 -82.036104,62.604842 -82.036218,62.604716 -82.036539,62.604442 -82.037260,62.603512 -82.039125,62.601872 -82.043140,62.598782 -82.043385,62.598510 -82.064411,62.583845 -82.064691,62.583717 -82.064866,62.583568 -82.064956,62.583470 -82.065030,62.583429 -82.065092,62.583377 -82.070279,62.580503 -82.074672,62.578054 -82.074758,62.578014 -82.074798,62.577999 -82.075155,62.577801 -82.080726,62.575266 -82.092949,62.570702 -82.094286,62.570451 -82.094866,62.570187 -82.096317,62.569797 -82.096721,62.569623 -82.098638,62.569109 -82.099322,62.568990 -82.100776,62.568600 -82.103387,62.567151 -82.108954,62.564615 -82.121168,62.560048 -82.135075,62.556667 -82.142318,62.555305 -82.157383,62.553239 -82.173030,62.552567 -82.180850,62.552586 -82.196482,62.553334 -82.207650,62.554925 -82.208146,62.554899 -82.209033,62.554777 -82.215606,62.554318 -82.218908,62.554152 -82.220693,62.554190 -82.223098,62.554068 -82.228187,62.552054 -82.231420,62.550926 -82.232068,62.550611 -82.234056,62.549918 -82.234683,62.549789 -82.236136,62.549282 -82.236942,62.549130 -82.238123,62.548589 -82.252011,62.545197 -82.259245,62.543829 -82.262714,62.543350 -82.263299,62.543250 -82.265419,62.542976 -82.274296,62.541750 -82.275217,62.541709 -82.275700,62.541647 -82.276608,62.541648 -82.279684,62.541514 -82.281314,62.541236 -82.303501,62.539980 -82.307448,62.540051 -82.316367,62.539732 -82.321179,62.539817 -82.328297,62.540210 -82.332432,62.540394 -82.333768,62.540390 -82.619140,62.564171 -82.619677,62.564270 -82.620249,62.564296 -82.620581,62.564295 -82.620745,62.564318 -82.620942,62.564327 -82.628817,62.565422 -82.634955,62.566261 -82.635125,62.566292 -82.635185,62.566307 -82.635995,62.566419 -82.643229,62.567794 -82.657113,62.571200 -82.669293,62.575788 -82.674841,62.578334 -82.684853,62.583929 -82.692309,62.590317 -82.695326,62.593648 -82.699939,62.600584 -82.701132,62.604235 -82.701529,62.606070 -82.701401,62.607331 -82.701927,62.609757 -82.701713,62.941553 -82.701201,62.943954 -82.701332,62.945120 -82.700954,62.946895 -82.699820,62.950428 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-136.578917,68.591665 -134.277470,69.581713</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-134.976323,69.320381 -135.059704,69.332880 -135.058001,69.336714 -135.073697,69.332673 -135.121596,69.318623 -135.167986,69.301535 -135.195151,69.277496 -135.295086,69.251528 -135.458854,69.230899 -135.548735,69.220958 -135.568864,69.219078 -135.628616,69.201622 -135.720867,69.165246 -135.734259,69.132594 -135.698409,69.099333 -135.607467,69.060205 -135.507724,69.016614 -135.417284,68.984248 -135.309076,68.968523 -135.190118,68.959003 -135.133528,68.938160 -135.130336,68.920295 -135.188280,68.874406 -135.231683,68.849315 -135.244972,68.837281 -135.220687,68.811365 -135.164660,68.783660 -135.143700,68.775601 -135.081161,68.744541 -135.031577,68.715172 -135.029859,68.681644 -135.068373,68.661232 -135.135024,68.631599 -135.235280,68.604825 -135.316151,68.591665 -135.373987,68.594882 -135.469834,68.616869 -135.598075,68.652329 -135.757542,68.705033 -135.926069,68.757038 -136.187456,68.830190 -136.262177,68.847643 -136.340286,68.877965 -136.317721,68.894494 -136.275222,68.906117 -136.236457,68.914977 -136.157077,68.909054 -136.048687,68.886915 -135.926048,68.860040 -135.789244,68.835264 -135.652900,68.796648 -135.595505,68.777869 -135.504293,68.749378 -135.433808,68.717051 -135.382710,68.703437 -135.353884,68.707740 -135.352909,68.716528 -135.457014,68.765464 -135.620406,68.843013 -135.665771,68.865059 -135.704467,68.876923 -135.783662,68.876182 -135.892521,68.889697 -135.981708,68.911938 -136.150579,68.946960 -136.308629,68.990080 -136.466156,69.050631 -136.533747,69.082264 -136.541836,69.097337 -136.578917,69.130426 -136.547657,69.170068 -136.484910,69.190587 -136.415904,69.212747 -136.335924,69.234356 -136.165047,69.240699 -136.065326,69.255348 -135.980235,69.288326 -135.939150,69.307818 -135.898772,69.325378 -135.863792,69.336346 -135.793853,69.337678 -135.709121,69.341162 -135.674823,69.350172 -135.631751,69.373430 -135.630856,69.382210 -135.644348,69.423115 -135.624566,69.443661 -135.606367,69.460365 -135.573843,69.491032 -135.498774,69.529275 -135.463957,69.545100 -135.393009,69.559992 -135.300009,69.573683 -135.258423,69.572437 -135.190485,69.560927 -135.100096,69.543254 -134.971246,69.530274 -134.875038,69.525899 -134.810461,69.532097 -134.723213,69.550744 -134.697750,69.557158 -134.608019,69.574635 -134.544131,69.578824 -134.492090,69.581713 -134.414042,69.562422 -134.368023,69.546941 -134.352101,69.539121 -134.315752,69.521239 -134.290461,69.492198 -134.277470,69.466832 -134.293481,69.451060 -134.380734,69.420815 -134.493113,69.395945 -134.588132,69.383777 -134.680009,69.384163 -134.737883,69.379615 -134.753666,69.375602 -134.811313,69.359227 -134.851187,69.338887 -134.901518,69.326007 -134.936086,69.317144 -134.976323,69.320381 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-126.042394,71.642243 -121.475340,73.607720</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-122.528376,71.998899 -122.553668,71.962259 -122.554830,71.961013 -122.556882,71.959644 -122.638743,71.914940 -122.642683,71.913260 -122.648310,71.911782 -122.758228,71.889520 -122.781959,71.880211 -122.782709,71.880026 -122.783312,71.879717 -122.792563,71.877603 -122.803706,71.876752 -122.815048,71.877292 -122.824864,71.879142 -122.824974,71.879188 -122.825127,71.879217 -122.894015,71.899271 -122.959770,71.902339 -122.993892,71.845777 -122.995121,71.844366 -123.001026,71.841306 -123.010235,71.839182 -123.021347,71.838319 -123.027063,71.838408 -123.054393,71.839671 -123.176000,71.827197 -123.180385,71.809250 -123.182000,71.806873 -123.187865,71.803806 -123.197037,71.801674 -123.335161,71.781109 -123.343125,71.780332 -123.508491,71.771935 -123.603877,71.763225 -123.613221,71.754834 -123.579932,71.727015 -123.578122,71.724319 -123.579708,71.720781 -123.585486,71.717703 -123.594575,71.715552 -123.643855,71.708078 -123.665361,71.703300 -123.648759,71.695926 -123.646317,71.694625 -123.643460,71.691166 -123.645032,71.687627 -123.650790,71.684546 -123.659857,71.682393 -123.916163,71.643156 -123.927126,71.642243 -123.938364,71.642721 -123.948167,71.644518 -123.948279,71.644564 -123.948432,71.644592 -124.099761,71.687563 -124.239021,71.722387 -124.239678,71.722642 -124.240632,71.722820 -124.333859,71.749686 -124.506478,71.767775 -124.629668,71.778361 -124.630309,71.778468 -124.631141,71.778500 -124.640801,71.780190 -125.145144,71.911546 -125.145257,71.911589 -125.145419,71.911617 -125.152560,71.914416 -125.155712,71.917850 -125.154393,71.921397 -125.148802,71.924518 -125.143918,71.925938 -125.103314,71.935297 -125.078291,71.953501 -125.056116,71.993314 -125.130289,72.032265 -125.195818,72.044330 -125.262517,72.045234 -125.389455,72.036633 -125.458694,71.975618 -125.463968,71.972753 -125.472966,71.970521 -125.532872,71.960869 -125.540439,71.960030 -125.785241,71.943929 -125.788730,71.943764 -125.789892,71.943802 -125.790820,71.943728 -125.876980,71.943163 -125.886341,71.943570 -125.891244,71.944194 -126.026556,71.965951 -126.031792,71.967022 -126.039079,71.969789 -126.042394,71.973209 -126.041231,71.976761 -126.040266,71.977591 -125.876664,72.098632 -125.609895,72.360095 -125.302714,72.693559 -125.302698,72.693569 -125.302694,72.693581 -124.899539,73.109128 -124.899292,73.109261 -124.899224,73.109425 -124.893231,73.112527 -124.883609,73.114726 -124.876400,73.115484 -124.815967,73.119489 -124.800773,73.162271 -124.799373,73.164176 -124.793345,73.167274 -124.793013,73.167350 -124.792814,73.167449 -124.699804,73.197178 -124.651451,73.226615 -124.647440,73.228391 -124.647089,73.228573 -124.559229,73.258633 -124.605480,73.285177 -124.608765,73.288604 -124.607242,73.292133 -124.606620,73.292448 -124.606456,73.292741 -124.527924,73.347320 -124.527862,73.347348 -124.527683,73.347482 -124.432083,73.409992 -124.413712,73.464393 -124.412206,73.466409 -124.407439,73.468991 -124.337148,73.495549 -124.336348,73.495738 -124.335717,73.496050 -124.325823,73.498221 -124.247541,73.509253 -124.185969,73.530288 -124.185653,73.530359 -124.185438,73.530465 -124.175507,73.532629 -124.163411,73.533550 -124.163210,73.533543 -124.163020,73.533557 -124.115357,73.534277 -124.122109,73.570401 -124.120444,73.573811 -124.114869,73.576651 -124.034280,73.604415 -124.033864,73.604508 -124.033572,73.604651 -124.023582,73.606807 -124.011428,73.607720 -123.998963,73.607249 -123.989444,73.605785 -123.766552,73.555920 -123.497960,73.538068 -123.264766,73.523635 -123.263500,73.523532 -123.263146,73.523521 -122.770119,73.484364 -122.768842,73.484161 -122.767186,73.484083 -122.490189,73.453004 -122.318254,73.450104 -122.309051,73.449550 -122.308351,73.449427 -122.307640,73.449389 -122.187357,73.434702 -122.173250,73.439680 -122.172429,73.439861 -122.171764,73.440167 -122.161647,73.442242 -122.149515,73.443054 -122.137217,73.442480 -122.128336,73.441031 -122.064170,73.426193 -122.028233,73.425799 -122.027867,73.425778 -122.026467,73.425765 -121.942842,73.423493 -121.934593,73.422945 -121.925738,73.421488 -121.853578,73.404670 -121.852948,73.404435 -121.851879,73.404244 -121.847574,73.402816 -121.751092,73.363036 -121.748202,73.361568 -121.745838,73.359299 -121.720242,73.313703 -121.719852,73.312506 -121.720862,73.309961 -121.727680,73.302432 -121.697487,73.302052 -121.687546,73.301458 -121.677084,73.299563 -121.669944,73.296661 -121.668319,73.295352 -121.632541,73.257595 -121.632426,73.257371 -121.632131,73.257109 -121.590236,73.200604 -121.590196,73.200507 -121.590115,73.200432 -121.566063,73.164433 -121.498870,73.146807 -121.498639,73.146714 -121.498283,73.146649 -121.491230,73.143739 -121.488553,73.140268 -121.490658,73.136763 -121.497221,73.133759 -121.500135,73.132977 -121.578995,73.114321 -121.578180,73.096050 -121.578219,73.095986 -121.578177,73.095928 -121.578214,73.066602 -121.580304,73.063329 -121.585356,73.060806 -121.613721,73.050763 -121.597451,73.044053 -121.594408,73.042490 -121.592183,73.040358 -121.577710,73.016166 -121.577255,73.014827 -121.579329,73.011320 -121.580049,73.010988 -121.580275,73.010677 -121.614969,72.989341 -121.572218,72.955188 -121.497462,72.948609 -121.496526,72.948449 -121.495204,72.948382 -121.484960,72.946475 -121.477985,72.943563 -121.475340,72.940089 -121.475704,72.938465 -121.501725,72.889474 -121.501885,72.889297 -121.501937,72.889120 -121.525717,72.853429 -121.527214,72.851899 -121.533671,72.848891 -121.543537,72.846841 -121.547140,72.846447 -121.613102,72.840562 -121.625850,72.833814 -121.617156,72.822390 -121.616415,72.820624 -121.618460,72.817114 -121.624891,72.814103 -121.634729,72.812049 -121.675457,72.806684 -121.689568,72.786162 -121.690988,72.784717 -121.755524,72.734672 -121.763069,72.711970 -121.764939,72.709611 -121.771310,72.706594 -121.781076,72.704532 -121.785851,72.704032 -121.827124,72.700814 -121.849274,72.673757 -121.857132,72.646227 -121.844009,72.637505 -121.843065,72.636800 -121.803161,72.602929 -121.802445,72.601774 -121.801583,72.600806 -121.789068,72.563266 -121.789199,72.562972 -121.788930,72.562620 -121.790916,72.559106 -121.835155,72.524231 -121.856469,72.495761 -121.857709,72.494520 -121.859265,72.493486 -121.910050,72.464602 -121.925843,72.440737 -121.927221,72.439288 -121.932063,72.436752 -121.965597,72.424315 -121.943406,72.375875 -121.943136,72.374904 -121.944152,72.372253 -121.980349,72.331278 -121.981268,72.330411 -121.987480,72.327384 -121.987922,72.327289 -121.988192,72.327162 -122.154171,72.276776 -122.134010,72.252394 -122.107761,72.245909 -122.107166,72.245673 -122.106158,72.245483 -122.099342,72.242584 -122.096991,72.240151 -122.086521,72.218651 -122.086212,72.217609 -122.088109,72.214089 -122.112388,72.194323 -122.118537,72.191291 -122.128007,72.189210 -122.263577,72.170292 -122.307115,72.153728 -122.306171,72.127596 -122.306304,72.127361 -122.306186,72.127180 -122.310466,72.088855 -122.276756,72.059359 -122.275095,72.056655 -122.275197,72.055499 -122.289257,72.007521 -122.290997,72.005152 -122.297059,72.002114 -122.306419,72.000023 -122.317652,71.999199 -122.318179,71.999225 -122.318656,71.999192 -122.528376,71.998899 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-128.260491,69.968223 -126.872711,70.358447</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-126.879712,70.015779 -126.872711,70.004525 -126.882461,70.001440 -126.934542,69.990404 -126.990940,69.979788 -127.078833,69.968223 -127.169702,69.969892 -127.228714,69.981365 -127.262154,69.995176 -127.309099,70.012724 -127.328839,70.020317 -127.369013,70.040421 -127.436869,70.061560 -127.518950,70.079978 -127.529677,70.084244 -127.574562,70.104722 -127.596419,70.115707 -127.628192,70.134910 -127.661614,70.155066 -127.696098,70.162372 -127.738338,70.163124 -127.801561,70.158562 -127.840213,70.154914 -127.843033,70.154370 -127.895762,70.147990 -127.931563,70.144867 -127.952486,70.139546 -127.923623,70.122313 -127.859515,70.101769 -127.786344,70.077909 -127.756104,70.059690 -127.750225,70.049430 -127.782801,70.035532 -127.806836,70.032144 -127.869218,70.033982 -127.939985,70.043048 -128.004002,70.054683 -128.048857,70.063703 -128.056471,70.066025 -128.126681,70.087867 -128.182937,70.103545 -128.243788,70.128493 -128.260491,70.149381 -128.259068,70.166192 -128.207674,70.180052 -128.126374,70.189544 -128.063538,70.196675 -127.965192,70.200497 -127.894623,70.205246 -127.891798,70.205790 -127.809504,70.210225 -127.794983,70.210481 -127.752648,70.209742 -127.729266,70.209161 -127.709452,70.212955 -127.704524,70.218959 -127.721021,70.222129 -127.745532,70.230091 -127.756270,70.243224 -127.718798,70.265574 -127.662013,70.276405 -127.653490,70.278028 -127.596639,70.288838 -127.549519,70.296513 -127.510563,70.300101 -127.470682,70.307639 -127.461560,70.315673 -127.449919,70.326703 -127.446250,70.342539 -127.435168,70.347149 -127.396769,70.355633 -127.341459,70.358447 -127.300739,70.349690 -127.274347,70.338249 -127.234975,70.316641 -127.204557,70.295882 -127.151731,70.270505 -127.119882,70.248766 -127.091244,70.228950 -127.063347,70.202709 -127.031688,70.180952 -127.012448,70.153105 -126.981056,70.119993 -126.941423,70.077120 -126.904318,70.042588 -126.879712,70.015779 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-120.130490,73.565981 -119.415453,74.231300</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-119.415453,74.231300 -119.437578,74.210129 -119.450651,74.203483 -119.446518,74.190402 -119.454261,74.180176 -119.479633,74.163833 -119.504339,74.149639 -119.533604,74.135972 -119.587632,74.118496 -119.635756,74.104783 -119.644681,74.095441 -119.658187,74.086628 -119.627740,74.071262 -119.602530,74.054268 -119.601452,74.035616 -119.608194,74.017128 -119.590288,74.002449 -119.571807,73.989921 -119.580484,73.970172 -119.573182,73.962648 -119.578609,73.943260 -119.593832,73.927982 -119.631748,73.915353 -119.650257,73.904909 -119.620007,73.884326 -119.635609,73.861682 -119.673940,73.846887 -119.691327,73.845953 -119.701113,73.827083 -119.734215,73.813903 -119.759295,73.813125 -119.772361,73.799088 -119.809875,73.786423 -119.800491,73.774957 -119.804084,73.767226 -119.770862,73.752228 -119.764550,73.735183 -119.769866,73.720982 -119.776649,73.712883 -119.758910,73.698200 -119.771727,73.678949 -119.781674,73.670482 -119.817784,73.662123 -119.840031,73.659546 -119.842275,73.650917 -119.860580,73.645655 -119.862812,73.637025 -119.868965,73.631079 -119.857760,73.620871 -119.864639,73.600188 -119.884349,73.583239 -119.925252,73.573228 -119.996065,73.565981 -120.049443,73.567044 -120.092302,73.573528 -120.127304,73.587223 -120.130490,73.612007 -120.129453,73.628901 -120.129465,73.641477 -120.126049,73.661792 -120.097485,73.677715 -120.075227,73.692891 -120.051610,73.707171 -120.059796,73.717737 -120.043829,73.732165 -120.054423,73.739309 -120.076963,73.754488 -120.082788,73.768473 -120.075586,73.778736 -120.084614,73.792348 -120.070723,73.810715 -120.055763,73.820826 -120.025004,73.837994 -120.000135,73.844006 -119.970611,73.862059 -119.948129,73.864646 -119.933268,73.879951 -119.914952,73.890419 -119.911592,73.903352 -119.911659,73.921119 -119.877557,73.943833 -119.857811,73.953400 -119.841276,73.962598 -119.848884,73.975316 -119.864879,73.986036 -119.874617,74.002693 -119.875984,74.021346 -119.862069,74.032328 -119.870862,74.040734 -119.894199,74.053760 -119.918135,74.064628 -119.934255,74.075339 -119.929746,74.092571 -119.901074,74.111489 -119.878865,74.129666 -119.846233,74.151096 -119.796219,74.166110 -119.753682,74.170876 -119.736293,74.182210 -119.711289,74.203778 -119.696822,74.227290 -119.415453,74.231300 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-121.536778,75.756841 -117.503510,76.870231</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-121.479486,75.888494 -121.520973,75.902873 -121.536778,75.920025 -121.536343,75.924404 -121.524435,75.964047 -121.512464,75.976983 -121.487980,75.987708 -121.381662,76.022054 -121.367240,76.026161 -121.307629,76.036231 -121.238561,76.043537 -121.253630,76.060061 -121.259871,76.133370 -121.259865,76.133379 -121.259872,76.133387 -121.252224,76.147033 -121.183367,76.202659 -121.178128,76.206295 -121.138368,76.221067 -121.088499,76.229876 -120.948385,76.246876 -120.943060,76.247189 -120.937702,76.248069 -120.865537,76.251742 -120.792968,76.248549 -120.664138,76.236275 -120.602431,76.226676 -120.599563,76.225675 -120.595900,76.225072 -120.497229,76.199549 -120.462406,76.186638 -120.455020,76.181677 -120.408407,76.143286 -120.400980,76.131052 -120.414772,76.113807 -120.428893,76.108655 -120.430774,76.102889 -120.455998,76.066058 -120.411715,76.064015 -120.374602,76.059134 -120.299864,76.046436 -120.276165,76.041643 -120.252949,76.034885 -120.170180,76.005251 -120.152783,75.997439 -120.138442,75.980214 -120.143955,75.972309 -120.125143,75.971414 -120.106611,75.969266 -120.052511,75.962065 -120.010781,75.954468 -119.970572,75.939857 -119.969238,75.938226 -119.966236,75.937050 -119.942172,75.919723 -119.935770,75.920512 -119.930657,75.937837 -119.916961,75.951879 -119.817352,76.009870 -119.792419,76.020192 -119.744452,76.035052 -119.728806,76.039307 -119.727942,76.039445 -119.744795,76.046660 -119.821906,76.062883 -119.856888,76.065529 -119.872802,76.066925 -119.933403,76.076700 -119.973936,76.091307 -119.988195,76.108531 -119.973926,76.125754 -119.947545,76.141012 -119.906769,76.155603 -119.903948,76.156053 -119.902179,76.156663 -119.892377,76.158849 -119.886736,76.171292 -119.873396,76.183715 -119.832434,76.198291 -119.811682,76.202046 -119.810768,76.205005 -119.810379,76.205393 -119.809988,76.206951 -119.803920,76.219249 -119.852461,76.247334 -119.866729,76.264551 -119.852174,76.281753 -119.844856,76.285440 -119.829868,76.292174 -119.827060,76.322311 -119.812451,76.338619 -119.771007,76.353174 -119.718720,76.361854 -119.557510,76.379877 -119.552650,76.380130 -119.547817,76.380880 -119.474690,76.384174 -119.446620,76.383631 -119.389572,76.381511 -119.344764,76.378478 -119.283331,76.368583 -119.242723,76.353893 -119.229209,76.338884 -119.223658,76.304218 -119.224042,76.303728 -119.223540,76.303133 -119.222374,76.282885 -119.187086,76.269092 -119.173143,76.262453 -119.166145,76.257460 -119.123818,76.219973 -119.129625,76.229817 -119.128695,76.230857 -119.129332,76.231791 -119.120017,76.270370 -119.104903,76.285556 -119.062925,76.300005 -119.032521,76.305694 -118.854404,76.332389 -118.822515,76.336207 -118.754853,76.339078 -118.748710,76.341953 -118.749866,76.342487 -118.757655,76.346570 -118.770760,76.363833 -118.765464,76.373533 -118.752016,76.386637 -118.799839,76.412726 -118.856130,76.416102 -118.917475,76.426091 -118.951236,76.438381 -118.997703,76.443098 -119.059254,76.453053 -119.077425,76.458136 -119.125408,76.473742 -119.147988,76.483365 -119.161667,76.500596 -119.146065,76.517737 -119.143257,76.518690 -119.142249,76.519680 -119.077016,76.550822 -119.038099,76.563305 -118.974785,76.572814 -118.900584,76.575950 -118.872173,76.575348 -118.699116,76.568593 -118.658091,76.565741 -118.628025,76.575735 -118.576233,76.583974 -118.511056,76.591033 -118.507899,76.625861 -118.542263,76.632197 -118.561648,76.636291 -118.595233,76.647341 -118.644915,76.670372 -118.652060,76.674090 -118.665333,76.691327 -118.648948,76.708422 -118.621445,76.717465 -118.618544,76.729511 -118.602317,76.745078 -118.558521,76.759412 -118.494044,76.768799 -118.492275,76.768870 -118.492528,76.769202 -118.490839,76.770934 -118.491711,76.772377 -118.485280,76.787923 -118.469397,76.801822 -118.425299,76.816130 -118.360484,76.825483 -118.284862,76.828448 -118.218671,76.825394 -118.081104,76.813084 -118.072523,76.819081 -118.068845,76.820259 -118.067478,76.821450 -118.010478,76.846280 -117.970866,76.858144 -117.905571,76.867390 -117.829639,76.870231 -117.754727,76.866231 -117.702060,76.860768 -117.639724,76.850530 -117.635635,76.849020 -117.630585,76.848125 -117.569860,76.830919 -117.538809,76.818422 -117.530109,76.811298 -117.506840,76.783486 -117.503510,76.773332 -117.521309,76.756314 -117.566108,76.742146 -117.631058,76.732974 -117.716578,76.725661 -117.791781,76.722848 -117.796132,76.723083 -117.839042,76.715101 -117.893273,76.707955 -117.965973,76.705081 -118.038224,76.705394 -118.044756,76.698881 -118.052730,76.695253 -118.091509,76.679408 -118.118145,76.671557 -118.101822,76.665547 -118.089607,76.652697 -118.065835,76.572546 -118.065470,76.568128 -118.067744,76.562479 -118.080324,76.543918 -118.094927,76.532492 -118.138499,76.518214 -118.202112,76.508897 -118.244602,76.505106 -118.246812,76.502242 -118.271998,76.485010 -118.278361,76.481221 -118.321607,76.466910 -118.384886,76.457547 -118.411018,76.455698 -118.389767,76.442775 -118.380220,76.434870 -118.330369,76.371902 -118.327375,76.362971 -118.313605,76.357196 -118.301031,76.339910 -118.317411,76.322802 -118.319422,76.322129 -118.320177,76.321398 -118.408552,76.278331 -118.409483,76.278029 -118.415342,76.275309 -118.478676,76.249478 -118.511586,76.239550 -118.573795,76.230132 -118.632973,76.227125 -118.678257,76.226583 -118.677976,76.221630 -118.635326,76.178168 -118.630428,76.166974 -118.646251,76.149831 -118.683691,76.136513 -118.710798,76.129832 -118.709954,76.121397 -118.710716,76.120468 -118.709937,76.119421 -118.725622,76.102269 -118.767376,76.087858 -118.793242,76.083868 -118.809845,76.069387 -118.818682,76.063370 -118.860243,76.048942 -118.921464,76.039433 -118.993483,76.032557 -119.065037,76.029387 -119.136184,76.033051 -119.236861,76.043473 -119.270507,76.048853 -119.264818,76.043815 -119.239539,76.003457 -119.237463,75.996205 -119.242743,75.986060 -119.281964,75.946979 -119.291612,75.939927 -119.332399,75.925416 -119.378343,75.918103 -119.389452,75.905137 -119.410067,75.896264 -119.463212,75.878410 -119.483159,75.872749 -119.494331,75.870956 -119.495629,75.866929 -119.509630,75.852903 -119.549985,75.838352 -119.597701,75.830026 -119.948674,75.787107 -119.954626,75.786761 -119.960862,75.785738 -120.031079,75.782302 -120.080845,75.784718 -120.127023,75.776502 -120.246265,75.761706 -120.252079,75.761361 -120.258124,75.760358 -120.328161,75.756841 -120.398351,75.760168 -120.413436,75.761876 -120.545598,75.778610 -120.590366,75.786548 -120.615154,75.793941 -120.673861,75.815779 -120.689514,75.822908 -120.704320,75.840116 -120.703766,75.844160 -120.675149,75.932746 -120.711230,75.938466 -120.732518,75.928318 -120.764988,75.917304 -120.824492,75.907351 -120.947871,75.894390 -121.018352,75.890689 -121.087900,75.893765 -121.126107,75.879266 -121.185232,75.869229 -121.255542,75.865463 -121.326413,75.868536 -121.332155,75.869431 -121.337701,75.869717 -121.429966,75.880244 -121.479486,75.888494 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-119.120895,76.215669 -119.120838,76.215560 -119.117268,76.212151 -119.103342,76.182025 -119.090998,76.188873 -119.088291,76.189812 -119.120895,76.215669 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-132.803447,66.180257 -128.495482,67.533863</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-132.602928,67.186239 -132.606027,67.185031 -132.648867,67.178093 -132.695279,67.178035 -132.738234,67.184865 -132.771218,67.197549 -132.785728,67.209058 -132.799713,67.225647 -132.803201,67.230751 -132.803447,67.248770 -132.785851,67.265452 -132.764827,67.274754 -132.689479,67.300166 -132.684890,67.301527 -132.683941,67.301921 -132.531002,67.347318 -132.527748,67.347888 -132.524733,67.349052 -132.495656,67.354525 -132.395556,67.367211 -132.344654,67.377840 -132.315920,67.381819 -132.312130,67.382430 -132.219652,67.389844 -132.155058,67.397706 -132.106693,67.409994 -132.063295,67.416788 -132.058541,67.416776 -132.054876,67.417292 -132.001110,67.419752 -131.933568,67.423531 -131.867097,67.444392 -131.856925,67.447251 -131.829386,67.452379 -131.720593,67.466352 -131.700254,67.475572 -131.674018,67.484439 -131.590087,67.505320 -131.546375,67.511978 -131.544201,67.511966 -131.542340,67.512235 -131.467523,67.516485 -131.466465,67.516471 -131.457875,67.516879 -131.329232,67.520088 -131.295867,67.519124 -131.273257,67.516317 -131.225686,67.508338 -131.199773,67.510372 -131.171174,67.517372 -131.140750,67.522703 -131.053345,67.532653 -131.039913,67.533863 -130.997977,67.533846 -130.897599,67.526986 -130.895280,67.526615 -130.892460,67.526589 -130.849439,67.519280 -130.835694,67.514951 -130.798385,67.501298 -130.779750,67.492563 -130.778265,67.491079 -130.775941,67.490079 -130.727941,67.456357 -130.727066,67.455389 -130.722592,67.452083 -130.693292,67.425187 -130.685697,67.415118 -130.687008,67.397109 -130.692757,67.392165 -130.647584,67.387313 -130.585041,67.386089 -130.579984,67.385818 -130.577390,67.385843 -130.498190,67.382290 -130.485120,67.381416 -130.445825,67.374890 -130.383246,67.358840 -130.383098,67.358782 -130.382870,67.358743 -130.269780,67.329386 -130.268557,67.328895 -130.266819,67.328590 -130.234978,67.315414 -130.221363,67.303345 -130.207061,67.283186 -130.176495,67.277774 -130.156375,67.273240 -130.124665,67.260042 -130.108451,67.243152 -130.110175,67.225145 -130.125921,67.199453 -130.124449,67.193026 -130.097328,67.168808 -130.088983,67.157719 -130.087564,67.148730 -130.090487,67.117457 -130.074863,67.059936 -130.075274,67.057449 -130.074708,67.050834 -130.080976,67.024309 -130.050052,66.986074 -130.046045,66.979440 -130.046629,66.973426 -130.028613,66.955299 -130.022058,66.945815 -130.020747,66.940918 -130.017225,66.913965 -130.006029,66.890243 -129.968445,66.859685 -129.886784,66.828094 -129.803070,66.809617 -129.791277,66.806629 -129.790371,66.806240 -129.789230,66.806025 -129.724837,66.786579 -129.599498,66.783932 -129.577878,66.782659 -129.536524,66.775006 -129.534229,66.774012 -129.531594,66.773489 -129.451065,66.747278 -129.394894,66.731988 -129.393575,66.731433 -129.391669,66.731077 -129.361046,66.717725 -129.300499,66.677703 -129.255273,66.666256 -129.252721,66.665213 -129.248666,66.664452 -129.185527,66.645880 -129.185444,66.645843 -129.185332,66.645822 -129.154921,66.632430 -129.148652,66.627628 -129.112317,66.595251 -129.085765,66.581655 -129.033509,66.576348 -128.992659,66.568554 -128.969576,66.559373 -128.904105,66.524637 -128.896993,66.520385 -128.891632,66.516307 -128.840986,66.472536 -128.838727,66.469465 -128.834579,66.465562 -128.814313,66.436408 -128.740584,66.436131 -128.712613,66.434637 -128.673215,66.427098 -128.599879,66.405362 -128.599408,66.405151 -128.598754,66.405024 -128.568940,66.391518 -128.541839,66.372862 -128.530368,66.361931 -128.499121,66.316498 -128.496007,66.310372 -128.495482,66.299879 -128.505059,66.258781 -128.508371,66.251274 -128.528015,66.235072 -128.531414,66.233861 -128.533166,66.232536 -128.558007,66.221144 -128.561352,66.220033 -128.569089,66.216708 -128.642189,66.191138 -128.659396,66.186155 -128.701558,66.180257 -128.746093,66.181318 -128.794836,66.186443 -128.835019,66.194290 -128.864743,66.207747 -128.879480,66.224774 -128.876959,66.242780 -128.857530,66.259026 -128.840878,66.266195 -128.814453,66.275376 -128.795434,66.298444 -128.797258,66.301146 -128.839445,66.320609 -128.882214,66.336303 -128.905780,66.340876 -128.956872,66.342465 -128.976675,66.343782 -129.017162,66.351581 -129.047165,66.365003 -129.108246,66.406261 -129.119583,66.416601 -129.152629,66.460641 -129.190690,66.492753 -129.231450,66.495862 -129.234362,66.496373 -129.238090,66.496449 -129.269154,66.501584 -129.345404,66.519717 -129.355164,66.522309 -129.385548,66.535665 -129.396128,66.544826 -129.418256,66.571217 -129.440338,66.576799 -129.441080,66.577101 -129.442410,66.577335 -129.548046,66.605227 -129.549942,66.606014 -129.552778,66.606542 -129.583368,66.619859 -129.624139,66.646619 -129.685881,66.679196 -129.714143,66.688695 -129.806590,66.687096 -129.811130,66.687270 -129.818563,66.687128 -129.914133,66.689303 -129.934860,66.690514 -129.946386,66.691864 -130.064187,66.708267 -130.094045,66.714446 -130.106590,66.718596 -130.246707,66.771782 -130.265258,66.780827 -130.281278,66.797710 -130.281193,66.798692 -130.281937,66.799526 -130.292573,66.833606 -130.292537,66.833865 -130.293130,66.835835 -130.304235,66.894694 -130.321645,66.926425 -130.321614,66.927798 -130.322956,66.929227 -130.324110,66.932208 -130.325210,66.932670 -130.331162,66.936913 -130.382122,66.978143 -130.392370,66.990771 -130.393937,66.998989 -130.392416,67.038890 -130.392301,67.039254 -130.392370,67.039659 -130.389162,67.079262 -130.398441,67.108257 -130.410987,67.133721 -130.428469,67.147932 -130.438513,67.160314 -130.440061,67.169300 -130.438584,67.187894 -130.454017,67.195056 -130.480181,67.211329 -130.491775,67.220765 -130.514218,67.246034 -130.529750,67.255656 -130.616833,67.269932 -130.690486,67.272301 -130.707218,67.273300 -130.749766,67.280648 -130.759267,67.283537 -130.785370,67.292331 -130.815879,67.294999 -130.858497,67.302318 -130.874375,67.307496 -130.914755,67.323160 -130.931057,67.331033 -130.937852,67.335759 -130.983987,67.372732 -130.991816,67.382114 -130.993587,67.383819 -131.014247,67.424019 -131.014714,67.424417 -131.039456,67.421523 -131.064673,67.412232 -131.083282,67.406611 -131.126930,67.400074 -131.154131,67.399428 -131.207086,67.400476 -131.282506,67.401663 -131.303277,67.402687 -131.343688,67.409220 -131.353152,67.411610 -131.471724,67.401895 -131.476936,67.400600 -131.530090,67.382422 -131.579598,67.364497 -131.596534,67.359378 -131.612578,67.356007 -131.687131,67.343051 -131.689973,67.342707 -131.693188,67.342072 -131.805657,67.325231 -131.806582,67.325129 -131.807288,67.324991 -131.992070,67.298296 -132.011677,67.296164 -132.056178,67.296281 -132.094067,67.285416 -132.096920,67.284931 -132.099497,67.283946 -132.142138,67.277181 -132.280172,67.266542 -132.343937,67.258685 -132.417639,67.239677 -132.426105,67.237682 -132.477499,67.226658 -132.515851,67.212262 -132.523852,67.209755 -132.526051,67.208842 -132.599602,67.186828 -132.602928,67.186239 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-128.025041,64.169697 -124.319921,65.608559</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-128.011236,65.530272 -128.025041,65.547384 -128.022001,65.565383 -128.002546,65.581529 -127.969618,65.593357 -127.929282,65.602866 -127.887875,65.608559 -127.849512,65.607789 -127.765338,65.599932 -127.763049,65.599483 -127.760179,65.599395 -127.741910,65.596569 -127.678014,65.583935 -127.668080,65.581384 -127.663765,65.580559 -127.588578,65.559525 -127.586121,65.558419 -127.582181,65.557591 -127.553851,65.543889 -127.515888,65.515843 -127.481711,65.493872 -127.395175,65.472517 -127.390762,65.471255 -127.389437,65.470998 -127.357427,65.461929 -127.354989,65.460820 -127.351071,65.459986 -127.322965,65.446240 -127.294911,65.425266 -127.282821,65.411332 -127.280791,65.406833 -127.241307,65.396294 -127.145044,65.375566 -127.093035,65.369317 -127.074997,65.366412 -126.895826,65.329602 -126.714208,65.309000 -126.713212,65.308787 -126.712037,65.308742 -126.691845,65.305313 -126.563798,65.277036 -126.554014,65.274327 -126.550918,65.273690 -126.391000,65.225291 -126.387732,65.223724 -126.383080,65.222644 -126.309560,65.195617 -126.304101,65.192733 -126.289772,65.186005 -126.274286,65.175962 -126.258747,65.173986 -126.220886,65.165483 -126.206680,65.159595 -126.153973,65.133332 -126.147302,65.129185 -126.144522,65.127845 -126.055383,65.067014 -126.004955,65.040961 -125.993023,65.033367 -125.982234,65.020389 -125.968588,64.990125 -125.967324,64.988179 -125.917021,64.975102 -125.900859,64.976451 -125.889920,64.977121 -125.865125,64.976900 -125.768490,64.971309 -125.750908,64.969650 -125.738228,64.967602 -125.683236,64.957002 -125.625076,64.947974 -125.600401,64.948488 -125.599246,64.948425 -125.591306,64.948516 -125.396154,64.945525 -125.390526,64.945109 -125.383435,64.945004 -125.279391,64.938070 -125.263208,64.936440 -125.235956,64.930870 -125.210895,64.923774 -125.132547,64.920966 -125.108365,64.918902 -125.071229,64.910112 -125.059791,64.905314 -125.013838,64.882931 -124.998948,64.873565 -124.987416,64.856196 -124.987921,64.854378 -124.987082,64.852918 -124.986266,64.808323 -124.972599,64.774052 -124.963118,64.757822 -124.947761,64.751628 -124.907357,64.748054 -124.895781,64.746739 -124.864955,64.739942 -124.804411,64.720752 -124.802146,64.719603 -124.798416,64.718704 -124.772387,64.704496 -124.764105,64.695043 -124.751353,64.673589 -124.748325,64.665654 -124.753422,64.647736 -124.766619,64.636219 -124.768909,64.634769 -124.760705,64.624361 -124.755334,64.613021 -124.755850,64.611204 -124.755031,64.609742 -124.754772,64.582895 -124.760152,64.568256 -124.765106,64.562917 -124.780782,64.548655 -124.777595,64.521212 -124.765162,64.508596 -124.727807,64.498161 -124.716191,64.494408 -124.690418,64.480185 -124.686442,64.476360 -124.663883,64.451688 -124.661741,64.447640 -124.658149,64.443009 -124.646150,64.414532 -124.600450,64.393388 -124.598028,64.391883 -124.593155,64.389626 -124.555883,64.368169 -124.545783,64.361104 -124.539431,64.351085 -124.534437,64.350453 -124.532758,64.350057 -124.530665,64.349943 -124.494482,64.341009 -124.482729,64.335834 -124.391267,64.288547 -124.388000,64.286380 -124.384666,64.284744 -124.337865,64.254632 -124.330774,64.249337 -124.319921,64.231914 -124.325215,64.214010 -124.345821,64.198350 -124.369369,64.189568 -124.416210,64.176712 -124.425420,64.174452 -124.465339,64.169697 -124.506393,64.171956 -124.542360,64.180887 -124.567779,64.195136 -124.594971,64.218747 -124.605177,64.232886 -124.606614,64.237208 -124.617554,64.236141 -124.633073,64.235141 -124.674237,64.237353 -124.694462,64.241318 -124.808326,64.270112 -124.824243,64.275025 -124.849894,64.289225 -124.861103,64.306607 -124.856139,64.324529 -124.849839,64.332886 -124.863208,64.340049 -124.866203,64.342052 -124.868714,64.343273 -124.874503,64.346989 -124.904507,64.354294 -124.930272,64.368479 -124.941565,64.385855 -124.936639,64.403780 -124.934708,64.405270 -124.934211,64.406674 -124.918464,64.423649 -124.943841,64.425785 -124.980281,64.434608 -125.003229,64.446463 -125.101823,64.519117 -125.102688,64.520297 -125.104772,64.521431 -125.112338,64.533473 -125.116238,64.538794 -125.116072,64.539411 -125.116424,64.539972 -125.118582,64.556749 -125.143959,64.586697 -125.149315,64.597212 -125.150004,64.598226 -125.155631,64.623975 -125.155560,64.624256 -125.155746,64.624537 -125.154559,64.636098 -125.152339,64.641664 -125.176986,64.647541 -125.203171,64.661678 -125.212279,64.672287 -125.228105,64.701206 -125.230591,64.707950 -125.230877,64.713577 -125.225805,64.768811 -125.242055,64.790439 -125.303753,64.813244 -125.338712,64.822221 -125.342587,64.822061 -125.369072,64.816227 -125.409766,64.811214 -125.451865,64.813207 -125.454089,64.813728 -125.456330,64.813855 -125.533061,64.825765 -125.561328,64.827747 -125.563603,64.827592 -125.588493,64.819070 -125.629151,64.813998 -125.650320,64.814076 -125.731150,64.817722 -125.752108,64.819564 -125.789338,64.828185 -125.811038,64.838594 -125.836969,64.855613 -125.846459,64.859204 -125.884682,64.865097 -125.906894,64.864538 -125.916015,64.862489 -125.956676,64.857327 -125.998885,64.859165 -126.010171,64.860935 -126.076546,64.873136 -126.102651,64.879914 -126.120643,64.887929 -126.165186,64.913217 -126.166279,64.913947 -126.166999,64.914276 -126.184182,64.924611 -126.249399,64.946419 -126.250084,64.946765 -126.251075,64.946990 -126.278110,64.960934 -126.285605,64.968352 -126.316166,65.007729 -126.321097,65.017575 -126.321338,65.025614 -126.318204,65.043400 -126.339812,65.060403 -126.426549,65.087256 -126.431154,65.089486 -126.436889,65.090881 -126.444258,65.093803 -126.542924,65.106227 -126.578202,65.113787 -126.673093,65.144208 -126.735965,65.160217 -126.744448,65.162718 -126.745535,65.162949 -126.797724,65.179574 -126.812157,65.177378 -126.837828,65.174878 -126.880595,65.176467 -126.892961,65.178328 -126.986559,65.195079 -127.012317,65.201540 -127.024228,65.206185 -127.039493,65.213084 -127.058372,65.213048 -127.110038,65.211174 -127.150080,65.212804 -127.188301,65.221073 -127.190329,65.222079 -127.192718,65.222629 -127.406475,65.301590 -127.475140,65.321113 -127.477571,65.322220 -127.481472,65.323051 -127.509530,65.336769 -127.522743,65.353367 -127.523904,65.357053 -127.568793,65.368455 -127.569650,65.368703 -127.570023,65.368772 -127.660481,65.392356 -127.679528,65.391596 -127.719877,65.393075 -127.758533,65.401200 -127.786816,65.414865 -127.824050,65.442206 -127.930835,65.493404 -127.994935,65.521217 -128.011236,65.530272 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-126.071158,64.955710 -124.589559,65.407997</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-125.487910,64.955710 -125.701638,65.219050 -125.735772,65.232253 -125.778097,65.240691 -125.787991,65.242951 -125.899923,65.244883 -125.994970,65.244556 -126.040158,65.252307 -126.043089,65.254622 -126.051888,65.261565 -126.070019,65.284236 -126.071158,65.327010 -126.049695,65.343642 -125.959668,65.365050 -125.837601,65.394894 -125.744029,65.407997 -125.655295,65.405184 -125.587181,65.390453 -125.482939,65.346632 -125.424763,65.328248 -125.373574,65.306872 -125.355250,65.303461 -125.279912,65.313833 -125.249688,65.335081 -125.186967,65.350030 -125.112657,65.352695 -125.074524,65.341713 -124.860494,65.183004 -124.816932,65.155563 -124.733220,65.141071 -124.730441,65.141662 -124.655140,65.122425 -124.613295,65.099026 -124.589559,65.070330 -124.618599,65.045110 -124.644933,65.040984 -124.700323,65.029197 -124.738959,65.009214 -124.781698,64.989799 -124.853639,64.986126 -124.897835,64.979567 -124.924298,64.990041 -124.979993,65.007451 -125.057655,65.011280 -125.189195,65.007797 -125.262461,65.002164 -125.349543,64.996418 -125.421218,64.986614 -125.487910,64.955710 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-118.543020,61.287009 -117.899021,61.626836</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-118.536526,61.347182 -118.543020,61.364947 -118.534855,61.382553 -118.513251,61.397317 -118.497016,61.403305 -118.495811,61.403659 -118.496244,61.405318 -118.496534,61.408070 -118.496880,61.408853 -118.498737,61.427502 -118.508152,61.460497 -118.508286,61.461630 -118.508573,61.462205 -118.514874,61.492638 -118.515320,61.498260 -118.507102,61.515865 -118.503549,61.519313 -118.480834,61.539203 -118.474505,61.549932 -118.469852,61.556100 -118.448093,61.570855 -118.416130,61.580509 -118.401633,61.583174 -118.365047,61.595426 -118.344117,61.600740 -118.324167,61.604391 -118.303043,61.611769 -118.280413,61.617646 -118.262830,61.619978 -118.190450,61.626139 -118.170676,61.626836 -118.139004,61.623849 -118.100292,61.616846 -118.098073,61.616140 -118.095021,61.615806 -118.064165,61.605341 -118.044089,61.590045 -118.040847,61.585171 -118.033107,61.570813 -118.030510,61.559642 -118.023828,61.553236 -117.992717,61.555713 -117.955883,61.551638 -117.925140,61.541141 -117.905176,61.525826 -117.899021,61.508029 -117.907588,61.490461 -117.910018,61.488839 -117.910907,61.487288 -117.926090,61.474056 -117.933431,61.469528 -117.932556,61.467002 -117.933310,61.465453 -117.932938,61.464124 -117.949794,61.378850 -117.957917,61.364160 -117.979765,61.349487 -118.011625,61.339939 -118.048656,61.336963 -118.085244,61.341012 -118.115841,61.351471 -118.135796,61.366753 -118.141421,61.377722 -118.141562,61.378287 -118.145618,61.377759 -118.156351,61.376893 -118.202348,61.370017 -118.203316,61.369953 -118.207417,61.369331 -118.231766,61.366372 -118.238991,61.359819 -118.248253,61.343323 -118.253296,61.336510 -118.274982,61.321789 -118.284311,61.318046 -118.346903,61.295971 -118.369283,61.290084 -118.406219,61.287009 -118.442794,61.290959 -118.473462,61.301334 -118.483642,61.307423 -118.526583,61.338046 -118.536526,61.347182 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-118.403841,61.333219 -118.403841,61.333219 -118.403841,61.333219 -118.403841,61.333219 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-117.585827,60.967713 -116.365658,61.300656</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-117.577746,61.226284 -117.579913,61.227983 -117.585827,61.245791 -117.577144,61.263335 -117.555165,61.277940 -117.541074,61.283144 -117.506507,61.293609 -117.488651,61.297838 -117.451614,61.300656 -117.415160,61.296433 -117.399953,61.292199 -117.366636,61.280836 -117.352423,61.274814 -117.351935,61.274644 -117.330101,61.263355 -117.309077,61.256618 -117.285570,61.249914 -117.280094,61.247776 -117.272559,61.245458 -117.261499,61.240954 -117.237105,61.237279 -117.225260,61.235067 -117.207720,61.229963 -117.179921,61.219763 -117.167900,61.214468 -117.154959,61.212937 -117.146911,61.210893 -117.094173,61.195897 -117.083879,61.193152 -117.058433,61.189163 -117.033823,61.202048 -117.027926,61.204877 -117.021314,61.207531 -116.993291,61.217782 -116.967867,61.224432 -116.932309,61.230594 -116.923607,61.231879 -116.888983,61.236131 -116.850742,61.244515 -116.843352,61.245958 -116.819615,61.250045 -116.816736,61.250249 -116.814553,61.250840 -116.778228,61.256007 -116.746244,61.257834 -116.713743,61.254240 -116.709358,61.253346 -116.694268,61.256418 -116.691671,61.256638 -116.689012,61.257401 -116.651954,61.259996 -116.615661,61.255552 -116.606352,61.253097 -116.583509,61.246251 -116.562849,61.237901 -116.547387,61.226650 -116.538434,61.217441 -116.534817,61.213180 -116.529520,61.195327 -116.530460,61.193555 -116.530129,61.192062 -116.533054,61.180836 -116.541702,61.166630 -116.564080,61.152197 -116.589346,61.144301 -116.614308,61.138965 -116.617580,61.138674 -116.621127,61.137655 -116.645530,61.136185 -116.658040,61.135069 -116.660010,61.135311 -116.661826,61.135202 -116.687683,61.136350 -116.708180,61.136426 -116.710140,61.136644 -116.712378,61.136486 -116.724378,61.137153 -116.755390,61.139840 -116.765663,61.138741 -116.784954,61.135816 -116.784051,61.135699 -116.767942,61.132828 -116.755290,61.129328 -116.726153,61.119765 -116.714768,61.123050 -116.703352,61.124632 -116.686879,61.126387 -116.661398,61.127402 -116.651267,61.126883 -116.636856,61.125765 -116.607471,61.126942 -116.594545,61.127033 -116.590905,61.126584 -116.590223,61.127878 -116.567875,61.142315 -116.546724,61.149271 -116.531619,61.152915 -116.520673,61.155155 -116.505407,61.157083 -116.492857,61.158142 -116.471173,61.158758 -116.435026,61.154266 -116.409904,61.145790 -116.396471,61.139485 -116.394799,61.138219 -116.391777,61.137119 -116.372844,61.121583 -116.367598,61.108402 -116.365658,61.087294 -116.365717,61.082617 -116.368579,61.073712 -116.377964,61.056047 -116.384416,61.047493 -116.390745,61.043103 -116.391767,61.042183 -116.425238,61.015062 -116.443474,61.004338 -116.461653,60.998130 -116.508028,60.985929 -116.508136,60.985906 -116.508200,60.985884 -116.543449,60.976638 -116.557050,60.973709 -116.561112,60.973426 -116.564021,60.972659 -116.590235,60.969236 -116.619982,60.967713 -116.646728,60.970301 -116.675565,60.975258 -116.686744,60.974468 -116.697552,60.975042 -116.739840,60.978477 -116.765012,60.982317 -116.794800,60.993076 -116.795858,60.993769 -116.811223,60.993612 -116.814043,60.993905 -116.817556,60.993649 -116.867026,60.994729 -116.867231,60.994754 -116.867442,60.994739 -116.903464,60.999112 -116.931791,61.005601 -116.931937,61.005570 -116.968666,61.002897 -116.984305,61.003891 -116.999102,61.005444 -117.009369,61.006033 -117.009746,61.005956 -117.046469,61.003261 -117.047710,61.003410 -117.048894,61.003331 -117.089840,61.004750 -117.113762,61.007769 -117.122486,61.007123 -117.141285,61.009367 -117.171277,61.007137 -117.207356,61.011426 -117.235241,61.021343 -117.268836,61.025319 -117.282490,61.029092 -117.297298,61.034007 -117.313654,61.040876 -117.315273,61.042165 -117.338659,61.050445 -117.347274,61.057293 -117.358517,61.062004 -117.377908,61.077396 -117.381147,61.087405 -117.395337,61.100456 -117.413058,61.110814 -117.414188,61.111765 -117.419855,61.115311 -117.451152,61.138854 -117.456354,61.143900 -117.456608,61.143934 -117.475428,61.148130 -117.505624,61.158727 -117.512880,61.163003 -117.544808,61.184274 -117.557097,61.195367 -117.559846,61.199549 -117.569096,61.216335 -117.577093,61.224706 -117.577746,61.226284 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-115.938886,61.936801 -112.707304,62.746589</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-115.838270,62.730404 -115.706775,62.746589 -115.685860,62.730730 -115.650998,62.695817 -115.655022,62.676104 -115.594082,62.655831 -115.476609,62.652712 -115.360605,62.632330 -115.247541,62.609313 -115.167796,62.581193 -115.123877,62.564563 -115.050039,62.524947 -114.955736,62.488395 -114.855809,62.469553 -114.709874,62.430050 -114.647815,62.392823 -114.523652,62.377405 -114.456298,62.385190 -114.396711,62.404446 -114.403375,62.447729 -114.405067,62.476987 -114.378797,62.518742 -114.315539,62.553196 -114.264098,62.564838 -114.196245,62.572495 -114.152895,62.555558 -114.135829,62.536956 -114.138841,62.500743 -114.154725,62.483728 -114.181004,62.448372 -114.177971,62.423547 -114.164098,62.396078 -114.117470,62.367017 -114.063275,62.326417 -113.980034,62.296292 -113.863050,62.262543 -113.790048,62.226695 -113.714852,62.207946 -113.642237,62.193005 -113.619553,62.185705 -113.606752,62.172813 -113.595559,62.134508 -113.574973,62.116419 -113.509221,62.104678 -113.426650,62.101555 -113.364651,62.095522 -113.279974,62.103088 -113.251447,62.121704 -113.251515,62.157319 -113.209096,62.196689 -113.145456,62.209611 -113.100318,62.194842 -113.081012,62.163975 -113.072906,62.129487 -113.070829,62.104646 -113.074254,62.095802 -113.053498,62.083986 -112.996398,62.085503 -112.951232,62.106299 -112.948012,62.144404 -112.954654,62.162337 -112.960897,62.201253 -112.905612,62.242208 -112.789594,62.243161 -112.725649,62.226622 -112.707304,62.203985 -112.720287,62.166712 -112.773892,62.115620 -112.789119,62.082206 -112.798400,62.039133 -112.805393,62.021460 -112.845798,61.992989 -112.967731,61.974308 -113.152365,61.963604 -113.206334,61.964517 -113.296402,61.952004 -113.395350,61.946563 -113.464852,61.936801 -113.563315,61.937589 -113.631575,61.946799 -113.707674,61.961162 -113.781530,61.992619 -113.822457,62.035082 -113.885580,62.070163 -113.953276,62.098272 -114.062710,62.107712 -114.146780,62.139704 -114.172832,62.165383 -114.190713,62.192252 -114.263085,62.219610 -114.388808,62.245454 -114.642574,62.285996 -114.734996,62.301778 -114.849269,62.322682 -114.968938,62.357494 -115.080488,62.406163 -115.167791,62.445792 -115.238772,62.494238 -115.326609,62.521053 -115.442140,62.554177 -115.548243,62.573860 -115.646221,62.594745 -115.749871,62.616820 -115.833000,62.642052 -115.909504,62.676792 -115.938886,62.697674 -115.901794,62.716232 -115.838270,62.730404 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-113.877342,61.120192 -112.538136,61.538864</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-112.905700,61.494597 -112.823345,61.496010 -112.823345,61.496010 -112.638781,61.500448 -112.622923,61.500195 -112.622923,61.500195 -112.587007,61.494653 -112.587007,61.494653 -112.558282,61.482957 -112.558282,61.482957 -112.541126,61.466894 -112.541126,61.466894 -112.538136,61.448913 -112.538136,61.448913 -112.549743,61.431753 -112.549743,61.431753 -112.574162,61.418024 -112.574162,61.418024 -112.577561,61.417191 -112.577561,61.417191 -112.579677,61.416082 -112.579677,61.416082 -112.625685,61.401045 -112.625685,61.401045 -112.632666,61.397475 -112.632666,61.397475 -112.641814,61.374201 -112.641814,61.374201 -112.643272,61.358443 -112.643272,61.358443 -112.644126,61.356998 -112.644126,61.356998 -112.643817,61.355175 -112.643817,61.355175 -112.655330,61.338007 -112.655330,61.338007 -112.679626,61.324259 -112.679626,61.324259 -112.713002,61.316017 -112.713002,61.316017 -112.750392,61.314532 -112.750392,61.314532 -112.786127,61.320029 -112.786127,61.320029 -112.800040,61.324536 -112.800040,61.324536 -112.839728,61.339953 -112.839728,61.339953 -112.854490,61.347087 -112.854490,61.347087 -112.862465,61.354495 -112.864860,61.353826 -112.864860,61.353826 -112.942905,61.338806 -112.942905,61.338806 -112.951968,61.337305 -112.951968,61.337305 -112.989372,61.335752 -112.989372,61.335752 -113.017347,61.339337 -113.017347,61.339337 -113.047290,61.345609 -113.047290,61.345609 -113.055121,61.347455 -113.055121,61.347455 -113.083908,61.359042 -113.083908,61.359042 -113.085670,61.360664 -113.085670,61.360664 -113.087995,61.361669 -113.087995,61.361669 -113.103080,61.372110 -113.103080,61.372110 -113.116384,61.385474 -113.116384,61.385474 -113.119708,61.403440 -113.119708,61.403440 -113.114479,61.411422 -113.138813,61.410956 -113.153041,61.411184 -113.153041,61.411184 -113.171457,61.413018 -113.171457,61.413018 -113.178577,61.414082 -113.189461,61.413232 -113.189461,61.413232 -113.215259,61.412890 -113.251192,61.418262 -113.251192,61.418262 -113.257173,61.419821 -113.297173,61.409389 -113.297173,61.409389 -113.297053,61.403281 -113.297053,61.403281 -113.297581,61.398001 -113.297581,61.398001 -113.308741,61.380777 -113.308741,61.380777 -113.332775,61.366909 -113.332775,61.366909 -113.360316,61.359410 -113.360316,61.359410 -113.423289,61.348320 -113.423289,61.348320 -113.426060,61.348153 -113.426060,61.348153 -113.428989,61.347410 -113.428989,61.347410 -113.449636,61.346479 -113.449636,61.346479 -113.448660,61.338730 -113.448660,61.338730 -113.459714,61.321494 -113.459714,61.321494 -113.479499,61.310002 -113.479499,61.310002 -113.465446,61.297466 -113.465446,61.297466 -113.457965,61.288767 -113.457965,61.288767 -113.454195,61.278844 -113.454195,61.278844 -113.451449,61.260371 -113.451449,61.260371 -113.451709,61.252338 -113.451709,61.252338 -113.462730,61.235103 -113.462730,61.235103 -113.481463,61.223367 -113.481463,61.223367 -113.498907,61.215462 -113.498907,61.215462 -113.499820,61.212941 -113.499820,61.212941 -113.501702,61.210322 -113.501702,61.210322 -113.504289,61.204924 -113.504289,61.204924 -113.525837,61.176645 -113.525837,61.176645 -113.531409,61.170670 -113.531409,61.170670 -113.555179,61.156764 -113.555179,61.156764 -113.583596,61.149023 -113.583596,61.149023 -113.661966,61.135506 -113.661966,61.135506 -113.664215,61.135372 -113.664215,61.135372 -113.666501,61.134783 -113.666501,61.134783 -113.753952,61.121971 -113.753952,61.121971 -113.791050,61.120192 -113.826740,61.125406 -113.826740,61.125406 -113.855608,61.136823 -113.855608,61.136823 -113.873263,61.152710 -113.873263,61.152710 -113.877342,61.168363 -113.877342,61.168363 -113.871615,61.228023 -113.871615,61.228023 -113.871018,61.229073 -113.871018,61.229073 -113.871277,61.230313 -113.871277,61.230313 -113.866427,61.241022 -113.866427,61.241022 -113.803692,61.327942 -113.803692,61.327942 -113.797722,61.334499 -113.797722,61.334499 -113.781128,61.345302 -113.781128,61.345302 -113.737594,61.366348 -113.737594,61.366348 -113.732150,61.368724 -113.732150,61.368724 -113.731837,61.368910 -113.731837,61.368910 -113.622375,61.413671 -113.622375,61.413671 -113.501234,61.468302 -113.501234,61.468302 -113.498513,61.469052 -113.498513,61.469052 -113.496076,61.470462 -113.496076,61.470462 -113.477996,61.476028 -113.477996,61.476028 -113.344206,61.507652 -113.344206,61.507652 -113.341325,61.508191 -113.341325,61.508191 -113.339891,61.508607 -113.339891,61.508607 -113.211513,61.535104 -113.211513,61.535104 -113.200531,61.536996 -113.200531,61.536996 -113.171280,61.538864 -113.087424,61.538029 -113.087424,61.538029 -113.079036,61.537769 -113.079036,61.537769 -113.044979,61.532856 -113.044979,61.532856 -112.931453,61.504674 -112.931453,61.504674 -112.930595,61.504337 -112.930595,61.504337 -112.929470,61.504166 -112.929470,61.504166 -112.905700,61.494597 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-132.707389,60.134025 -132.392419,60.329091</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-132.394219,60.173282 -132.408090,60.156643 -132.408090,60.156643 -132.433664,60.143912 -132.433664,60.143912 -132.435523,60.143293 -132.435523,60.143293 -132.435523,60.143293 -132.435523,60.143293 -132.468904,60.136402 -132.468904,60.136402 -132.476857,60.136307 -132.476857,60.136307 -132.480240,60.135537 -132.480240,60.135537 -132.485694,60.134791 -132.485694,60.134791 -132.488700,60.134737 -132.488700,60.134737 -132.492084,60.134037 -132.492084,60.134037 -132.528205,60.134025 -132.528205,60.134025 -132.554529,60.138772 -132.554529,60.138772 -132.660540,60.167482 -132.660540,60.167482 -132.667621,60.169604 -132.667621,60.169604 -132.693282,60.182302 -132.693282,60.182302 -132.707252,60.198923 -132.707252,60.198923 -132.707389,60.216942 -132.707389,60.216942 -132.703727,60.223594 -132.703727,60.223594 -132.660086,60.284429 -132.660086,60.284429 -132.649975,60.294447 -132.649975,60.294447 -132.624368,60.307223 -132.624368,60.307223 -132.618046,60.308531 -132.618046,60.308531 -132.606711,60.314180 -132.606711,60.314180 -132.604839,60.314567 -132.604839,60.314567 -132.604272,60.314869 -132.604272,60.314869 -132.598923,60.316919 -132.598923,60.316919 -132.596321,60.317508 -132.596321,60.317508 -132.593895,60.318716 -132.593895,60.318716 -132.560348,60.325641 -132.560348,60.325641 -132.551021,60.325857 -132.551021,60.325857 -132.537283,60.328204 -132.537283,60.328204 -132.532418,60.328206 -132.532418,60.328206 -132.528180,60.329079 -132.528180,60.329079 -132.491835,60.329091 -132.458259,60.322197 -132.458259,60.322197 -132.432579,60.309450 -132.432579,60.309450 -132.418705,60.292797 -132.418705,60.292797 -132.416934,60.283466 -132.416934,60.283466 -132.416955,60.282171 -132.416955,60.282171 -132.408883,60.278156 -132.408883,60.278156 -132.395035,60.261500 -132.395035,60.261500 -132.393272,60.252823 -132.393272,60.252823 -132.392419,60.182624 -132.392419,60.182624 -132.394219,60.173282 -132.394219,60.173282 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-140.012637,69.336464 -138.714962,69.685588</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-138.936618,69.522342 -138.936970,69.521930 -138.938146,69.521262 -138.938458,69.520930 -138.940548,69.519716 -138.941652,69.519267 -138.945867,69.516870 -138.948485,69.515576 -138.951647,69.513743 -138.953070,69.512647 -138.955318,69.511618 -138.956568,69.510154 -138.959133,69.508664 -138.943117,69.496610 -138.905831,69.470349 -138.880326,69.454348 -138.829655,69.432750 -138.794163,69.419619 -138.792013,69.418321 -138.787984,69.417161 -138.763883,69.401329 -138.760084,69.395668 -138.757377,69.390073 -138.756141,69.377860 -138.770888,69.360666 -138.803133,69.346767 -138.847961,69.338271 -138.898569,69.336464 -138.916797,69.337543 -138.936176,69.339194 -138.966682,69.343269 -138.991115,69.349176 -139.009456,69.354783 -139.020626,69.358811 -139.022160,69.359238 -139.069577,69.378294 -139.070446,69.378841 -139.071932,69.379266 -139.083717,69.385150 -139.139710,69.418272 -139.174827,69.435295 -139.215947,69.444588 -139.235131,69.450539 -139.240310,69.450614 -139.282642,69.451949 -139.331710,69.457001 -139.371575,69.468254 -139.393952,69.477620 -139.413953,69.485181 -139.419148,69.484181 -139.453324,69.482082 -139.509057,69.481271 -139.525772,69.481399 -139.542298,69.483076 -139.549362,69.482478 -139.591275,69.481356 -139.615234,69.483777 -139.620606,69.483721 -139.669819,69.488682 -139.709911,69.499860 -139.723843,69.506840 -139.740034,69.516794 -139.742585,69.518825 -139.744920,69.520100 -139.754626,69.527369 -139.755209,69.527889 -139.764621,69.530201 -139.767520,69.531126 -139.771948,69.532137 -139.813084,69.543805 -139.863264,69.553178 -139.888985,69.557638 -139.891726,69.558385 -139.894830,69.558715 -139.945434,69.568603 -139.981391,69.578896 -140.006547,69.594557 -140.012637,69.612386 -139.998689,69.629670 -139.983374,69.637862 -139.969101,69.643959 -139.952505,69.649869 -139.907477,69.658634 -139.861499,69.660833 -139.825746,69.660330 -139.823282,69.660105 -139.820468,69.660218 -139.802763,69.658227 -139.770840,69.655300 -139.766740,69.654169 -139.762653,69.653708 -139.724401,69.645626 -139.723577,69.645381 -139.719882,69.644626 -139.648245,69.628028 -139.579335,69.616180 -139.520931,69.606288 -139.489697,69.603622 -139.452356,69.604160 -139.435549,69.604026 -139.422528,69.603401 -139.388215,69.601137 -139.382641,69.603985 -139.381963,69.604717 -139.371354,69.610925 -139.362969,69.614357 -139.356553,69.617692 -139.354727,69.618446 -139.354668,69.618510 -139.354025,69.618891 -139.353640,69.619350 -139.350940,69.620964 -139.349380,69.622155 -139.349116,69.622491 -139.346087,69.624695 -139.344733,69.625303 -139.344054,69.626112 -139.336260,69.630221 -139.334258,69.631407 -139.330094,69.633610 -139.329007,69.634035 -139.326045,69.635292 -139.325999,69.635308 -139.323797,69.636509 -139.321233,69.637668 -139.316255,69.639473 -139.313295,69.640931 -139.303363,69.644647 -139.302123,69.645057 -139.287058,69.650697 -139.286684,69.650768 -139.286419,69.650881 -139.284019,69.651570 -139.283344,69.651810 -139.273806,69.654872 -139.273308,69.654967 -139.272958,69.655117 -139.270536,69.655809 -139.257823,69.660212 -139.257324,69.660307 -139.249437,69.663036 -139.248850,69.663291 -139.240179,69.665860 -139.239601,69.665971 -139.239177,69.666154 -139.231968,69.668072 -139.231711,69.668155 -139.231130,69.668413 -139.220193,69.671791 -139.218735,69.672077 -139.217584,69.672576 -139.215097,69.673304 -139.214809,69.673359 -139.214601,69.673448 -139.188628,69.679332 -139.181057,69.680635 -139.161663,69.683333 -139.134618,69.685209 -139.122889,69.685587 -139.098553,69.685588 -139.088177,69.685110 -139.075801,69.684366 -139.067561,69.683390 -139.053026,69.682254 -139.046443,69.681418 -139.030077,69.678891 -139.029547,69.678742 -139.028910,69.678674 -139.024849,69.677911 -139.024644,69.677880 -139.009324,69.676947 -138.997706,69.675900 -138.989126,69.674743 -138.982756,69.674216 -138.982541,69.674187 -138.980631,69.674237 -138.978192,69.674110 -138.969358,69.673099 -138.950062,69.671514 -138.944458,69.670759 -138.930345,69.668516 -138.915015,69.665110 -138.907000,69.664024 -138.905696,69.663654 -138.904674,69.663547 -138.903108,69.663165 -138.901861,69.663024 -138.899535,69.662547 -138.894660,69.661100 -138.890126,69.659991 -138.882242,69.658294 -138.878936,69.657290 -138.875257,69.656438 -138.870568,69.655421 -138.869637,69.655138 -138.868149,69.654793 -138.867196,69.654522 -138.861482,69.653263 -138.857638,69.652265 -138.853597,69.650925 -138.848920,69.649794 -138.838521,69.646580 -138.828093,69.642813 -138.826837,69.642488 -138.825515,69.642025 -138.823637,69.641593 -138.820000,69.640568 -138.819134,69.640347 -138.818746,69.640214 -138.814948,69.639144 -138.808606,69.636953 -138.804880,69.635995 -138.799135,69.634003 -138.790336,69.630633 -138.788880,69.629687 -138.786794,69.629065 -138.780048,69.625941 -138.775786,69.624111 -138.774014,69.622949 -138.771622,69.622225 -138.762526,69.617875 -138.760407,69.616394 -138.756514,69.614340 -138.755800,69.614001 -138.755571,69.613842 -138.752931,69.612450 -138.750179,69.611114 -138.742744,69.606963 -138.740769,69.605448 -138.739276,69.604699 -138.735961,69.602718 -138.734906,69.601875 -138.734746,69.601785 -138.733317,69.600700 -138.732639,69.600076 -138.729366,69.598226 -138.725996,69.595581 -138.720313,69.590255 -138.715389,69.581814 -138.715083,69.580823 -138.714962,69.571395 -138.715589,69.570673 -138.715470,69.570252 -138.715977,69.569293 -138.715887,69.568845 -138.716394,69.567703 -138.717341,69.566712 -138.719509,69.562610 -138.720490,69.561358 -138.729215,69.553696 -138.731572,69.550976 -138.746554,69.543194 -138.749748,69.541852 -138.767311,69.535747 -138.780146,69.532487 -138.783112,69.531825 -138.791122,69.530533 -138.799295,69.528747 -138.802422,69.528248 -138.818623,69.526101 -138.843909,69.524323 -138.855252,69.523924 -138.862132,69.523919 -138.872094,69.523043 -138.879092,69.522859 -138.890100,69.522192 -138.892238,69.522024 -138.895097,69.521878 -138.895304,69.521876 -138.898140,69.521704 -138.905172,69.521591 -138.916688,69.521690 -138.919951,69.521662 -138.923591,69.521518 -138.927605,69.521619 -138.929010,69.521761 -138.930552,69.521706 -138.936618,69.522342 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.690858,76.808530 -77.782555,78.105913</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-78.354506,77.901885 -78.275810,77.872482 -78.063965,77.852425 -77.985481,77.828987 -77.938286,77.763000 -77.988419,77.687164 -77.782555,77.613190 -78.009117,77.477829 -78.276421,77.427650 -78.486092,77.335472 -78.659157,77.309792 -78.849991,77.304390 -78.907516,77.326630 -78.887016,77.345146 -78.955009,77.358131 -79.058701,77.338676 -79.138130,77.303459 -79.236137,77.288574 -79.324020,77.282936 -79.597054,77.295464 -79.796814,77.280167 -79.913918,77.285378 -79.963043,77.297264 -80.149787,77.301921 -78.834344,78.105913 -78.495506,78.082472 -78.165289,77.982468 -78.084513,77.972805 -78.297501,77.945162 -78.354506,77.901885 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-80.414476,77.086434 -80.364067,77.077072 -80.201965,77.099098 -80.021469,77.159058 -79.964684,77.195374 -79.887619,77.211365 -79.712975,77.203514 -79.528824,77.224289 -79.354202,77.216225 -79.252747,77.196892 -79.033501,77.098885 -79.073181,77.061852 -79.266354,76.981077 -79.598414,76.808530 -80.690858,76.871880 -80.413042,77.084735 -80.414476,77.086434 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-80.420892,77.095249 -80.421620,77.094890 -80.421830,77.095139 -80.420892,77.095249 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.348457,62.101552 -79.205455,62.173123</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.319998,62.116139 -79.319998,62.116139 -79.321492,62.118102 -79.321492,62.118102 -79.325049,62.118892 -79.325049,62.118892 -79.340561,62.126921 -79.340561,62.126921 -79.347576,62.135181 -79.347576,62.135181 -79.347695,62.135434 -79.347695,62.135434 -79.347671,62.136243 -79.347671,62.136243 -79.348337,62.137117 -79.348337,62.137117 -79.348328,62.137202 -79.348328,62.137202 -79.348457,62.137370 -79.348457,62.137370 -79.347307,62.148183 -79.347307,62.148183 -79.337396,62.157967 -79.337396,62.157967 -79.327124,62.162977 -79.327124,62.162977 -79.326162,62.163342 -79.326162,62.163342 -79.319265,62.165595 -79.319265,62.165595 -79.301394,62.168573 -79.301394,62.168573 -79.299586,62.169250 -79.299586,62.169250 -79.277770,62.172881 -79.276569,62.172853 -79.276569,62.172853 -79.275846,62.172973 -79.275599,62.172967 -79.275599,62.172967 -79.275182,62.173032 -79.275182,62.173032 -79.273259,62.173123 -79.252717,62.172421 -79.252717,62.172421 -79.231806,62.167769 -79.231806,62.167769 -79.218173,62.161103 -79.218173,62.161103 -79.217057,62.160334 -79.217057,62.160334 -79.216745,62.159958 -79.216745,62.159958 -79.216302,62.159728 -79.216302,62.159728 -79.216064,62.159414 -79.216064,62.159414 -79.215186,62.158959 -79.215186,62.158959 -79.209398,62.152834 -79.209398,62.152834 -79.208051,62.150762 -79.208051,62.150762 -79.206103,62.146683 -79.206103,62.146683 -79.206197,62.145842 -79.206197,62.145842 -79.205912,62.145465 -79.205912,62.145465 -79.205916,62.145127 -79.205916,62.145127 -79.205646,62.144726 -79.205646,62.144726 -79.205455,62.143509 -79.205455,62.143509 -79.205969,62.140762 -79.205969,62.140762 -79.206009,62.137464 -79.206009,62.137464 -79.205852,62.136591 -79.205852,62.136591 -79.205729,62.134200 -79.205729,62.134200 -79.205464,62.131631 -79.205464,62.131631 -79.206140,62.128474 -79.206140,62.128474 -79.206201,62.125731 -79.206201,62.125731 -79.206528,62.124814 -79.206528,62.124814 -79.207539,62.122556 -79.207539,62.122556 -79.217480,62.112782 -79.217480,62.112782 -79.221519,62.110509 -79.221519,62.110509 -79.222221,62.110154 -79.222221,62.110154 -79.235345,62.105177 -79.235345,62.105177 -79.257117,62.101552 -79.280192,62.102104 -79.280192,62.102104 -79.290230,62.103752 -79.290230,62.103752 -79.291068,62.103931 -79.291068,62.103931 -79.301903,62.106927 -79.301903,62.106927 -79.307855,62.109302 -79.307855,62.109302 -79.310449,62.110484 -79.310449,62.110484 -79.319998,62.116139 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-83.083804,66.388138 -82.845196,66.448835</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-82.994511,66.448144 -82.985939,66.448317 -82.978126,66.447992 -82.973535,66.447948 -82.962165,66.447462 -82.961410,66.447339 -82.958760,66.447277 -82.957796,66.447440 -82.954314,66.447449 -82.954297,66.447451 -82.948264,66.448063 -82.934933,66.448099 -82.932739,66.448349 -82.905691,66.448418 -82.880642,66.444338 -82.875464,66.442620 -82.875040,66.442551 -82.873919,66.442107 -82.869033,66.440486 -82.866467,66.439426 -82.863723,66.438073 -82.855815,66.434943 -82.845338,66.424969 -82.845196,66.414150 -82.855398,66.404131 -82.874382,66.396438 -82.897924,66.392354 -82.903061,66.391888 -82.903738,66.391884 -82.904394,66.391773 -82.912954,66.391752 -82.917687,66.390952 -82.923477,66.390854 -82.934270,66.389028 -82.955184,66.388971 -82.955500,66.388937 -82.961209,66.388921 -82.965362,66.388217 -82.992346,66.388138 -83.000671,66.388993 -83.002985,66.389294 -83.018608,66.392296 -83.024342,66.393133 -83.028541,66.393368 -83.053563,66.397425 -83.072819,66.405009 -83.082205,66.413058 -83.082390,66.413318 -83.082479,66.414122 -83.083377,66.414968 -83.083379,66.415056 -83.083561,66.415228 -83.083804,66.426048 -83.073683,66.436080 -83.054731,66.443797 -83.034607,66.447553 -83.032006,66.447847 -83.030721,66.447870 -83.029831,66.448021 -83.028947,66.448024 -83.027229,66.448315 -83.008728,66.448835 -83.003865,66.448710 -82.995318,66.448275 -82.994511,66.448144 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-78.620415,63.414576 -78.352478,63.544701</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-78.561246,63.415741 -78.582963,63.420497 -78.594180,63.426184 -78.596374,63.426664 -78.612391,63.434778 -78.620264,63.445019 -78.620415,63.451963 -78.619967,63.453691 -78.618335,63.457558 -78.607718,63.467292 -78.598176,63.471065 -78.595530,63.473489 -78.594450,63.473916 -78.593630,63.474667 -78.595600,63.477230 -78.594109,63.488040 -78.585502,63.496509 -78.583761,63.497660 -78.583668,63.498007 -78.573024,63.507739 -78.568346,63.509584 -78.566229,63.511518 -78.555175,63.515877 -78.551286,63.519427 -78.544840,63.522522 -78.535136,63.527820 -78.526206,63.533109 -78.526069,63.533163 -78.525987,63.533238 -78.507780,63.540401 -78.493797,63.543064 -78.487616,63.543860 -78.478628,63.544701 -78.467026,63.544372 -78.466191,63.544499 -78.441961,63.543809 -78.436631,63.543176 -78.414845,63.538397 -78.414586,63.538266 -78.414246,63.538190 -78.410942,63.537032 -78.395524,63.529103 -78.393041,63.525845 -78.390702,63.525332 -78.374697,63.517192 -78.366893,63.506937 -78.368432,63.496398 -78.365044,63.491941 -78.366050,63.485050 -78.362706,63.482781 -78.362110,63.482067 -78.360790,63.481394 -78.353001,63.471138 -78.352478,63.467048 -78.352668,63.461976 -78.354772,63.455258 -78.358328,63.449315 -78.369023,63.439600 -78.387200,63.432455 -78.398325,63.430196 -78.411456,63.428201 -78.414936,63.427837 -78.416730,63.427514 -78.420062,63.427151 -78.420264,63.427118 -78.430786,63.424852 -78.443402,63.422025 -78.447403,63.420777 -78.451747,63.419538 -78.473874,63.416085 -78.486288,63.415272 -78.487056,63.415291 -78.487785,63.415182 -78.496592,63.414702 -78.506012,63.414994 -78.507162,63.414818 -78.516563,63.414576 -78.546524,63.414823 -78.561246,63.415741 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-65.072782,61.893907 -64.942557,61.954885</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.942721,61.923323 -64.942557,61.922662 -64.942557,61.922662 -64.942694,61.922434 -64.942694,61.922434 -64.942627,61.920281 -64.942627,61.920281 -64.948888,61.909865 -64.948888,61.909865 -64.963118,61.901371 -64.963118,61.901371 -64.969508,61.899135 -64.969508,61.899135 -64.970178,61.898933 -64.970178,61.898933 -64.983819,61.895887 -64.983819,61.895887 -64.985740,61.895780 -64.985740,61.895780 -64.986103,61.895678 -64.986103,61.895678 -64.988473,61.895547 -64.988473,61.895547 -64.990208,61.895127 -64.990208,61.895127 -64.994546,61.894624 -64.994546,61.894624 -65.013228,61.893907 -65.013228,61.893907 -65.025036,61.894926 -65.025036,61.894926 -65.027387,61.895249 -65.027387,61.895249 -65.035198,61.896708 -65.035198,61.896708 -65.038688,61.897172 -65.038688,61.897172 -65.056716,61.903871 -65.056716,61.903871 -65.060216,61.906004 -65.060216,61.906004 -65.061333,61.906757 -65.061333,61.906757 -65.066832,61.911959 -65.066832,61.911959 -65.068548,61.913357 -65.068548,61.913357 -65.069554,61.914689 -65.069554,61.914689 -65.069656,61.915054 -65.069656,61.915054 -65.070066,61.915399 -65.070066,61.915399 -65.072782,61.926149 -65.072782,61.926149 -65.070877,61.929341 -65.070877,61.929341 -65.069664,61.932434 -65.069664,61.932434 -65.069218,61.933145 -65.069218,61.933145 -65.067133,61.935612 -65.067133,61.935612 -65.066561,61.936570 -65.066561,61.936570 -65.065874,61.937102 -65.065874,61.937102 -65.065234,61.937859 -65.065234,61.937859 -65.063459,61.938970 -65.063459,61.938970 -65.061890,61.940184 -65.061890,61.940184 -65.061009,61.940761 -65.061009,61.940761 -65.060162,61.941195 -65.060162,61.941195 -65.053005,61.945932 -65.053005,61.945932 -65.052048,61.946400 -65.052048,61.946400 -65.047881,61.948251 -65.047881,61.948251 -65.027826,61.953542 -65.027826,61.953542 -65.007768,61.954885 -65.006690,61.954869 -65.006690,61.954869 -65.005838,61.954766 -65.005838,61.954766 -65.004994,61.954813 -65.004591,61.954759 -65.004591,61.954759 -65.003917,61.954797 -65.000257,61.954310 -65.000257,61.954310 -64.993445,61.953782 -64.993445,61.953782 -64.990192,61.953395 -64.990192,61.953395 -64.982782,61.952082 -64.982782,61.952082 -64.980506,61.951808 -64.980506,61.951808 -64.978409,61.951364 -64.978409,61.951364 -64.978085,61.951250 -64.978085,61.951250 -64.977852,61.951209 -64.977852,61.951209 -64.977164,61.950953 -64.977164,61.950953 -64.975755,61.950765 -64.975755,61.950765 -64.957718,61.944055 -64.957718,61.944055 -64.950066,61.938653 -64.950066,61.938653 -64.948780,61.937463 -64.948780,61.937463 -64.945227,61.933414 -64.945227,61.933414 -64.944482,61.930416 -64.944482,61.930416 -64.944215,61.929873 -64.944215,61.929873 -64.944055,61.928848 -64.944055,61.928848 -64.943049,61.926633 -64.943049,61.926633 -64.942788,61.925508 -64.942788,61.925508 -64.942721,61.923323 -64.942721,61.923323 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-94.517041,75.725710 -94.162409,75.806596</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-94.341667,75.800593 -94.341667,75.800593 -94.313487,75.804653 -94.313487,75.804653 -94.271205,75.806596 -94.229116,75.804416 -94.229116,75.804416 -94.193657,75.798444 -94.193657,75.798444 -94.170237,75.789595 -94.170237,75.789595 -94.162409,75.779218 -94.162409,75.779218 -94.164443,75.774385 -94.164443,75.774385 -94.165883,75.772573 -94.165883,75.772573 -94.168807,75.766793 -94.168807,75.766793 -94.170263,75.765471 -94.170263,75.765471 -94.171299,75.763522 -94.171299,75.763522 -94.176631,75.758312 -94.176631,75.758312 -94.177238,75.757871 -94.177238,75.757871 -94.177391,75.757610 -94.177391,75.757610 -94.181631,75.753889 -94.181631,75.753889 -94.186460,75.750522 -94.186460,75.750522 -94.201558,75.744312 -94.201558,75.744312 -94.208743,75.742094 -94.208743,75.742094 -94.217899,75.739601 -94.217899,75.739601 -94.253793,75.733842 -94.253793,75.733842 -94.281044,75.732108 -94.281044,75.732108 -94.291635,75.731782 -94.291635,75.731782 -94.302853,75.730810 -94.302853,75.730810 -94.304272,75.730753 -94.304272,75.730753 -94.312304,75.730108 -94.312304,75.730108 -94.346719,75.727957 -94.346719,75.727957 -94.350400,75.727848 -94.350400,75.727848 -94.355186,75.727513 -94.355186,75.727513 -94.388551,75.726101 -94.388551,75.726101 -94.408189,75.725710 -94.408189,75.725710 -94.450091,75.727863 -94.450091,75.727863 -94.485488,75.733801 -94.485488,75.733801 -94.509002,75.742624 -94.509002,75.742624 -94.517041,75.752993 -94.517041,75.752993 -94.508353,75.763329 -94.508353,75.763329 -94.484229,75.772058 -94.484229,75.772058 -94.476429,75.773773 -94.476429,75.773773 -94.341667,75.800593 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-89.591194,75.468054 -88.076547,75.877226</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-88.197609,75.480900 -88.199713,75.480904 -88.213369,75.479039 -88.213369,75.479039 -88.213369,75.479039 -88.217534,75.478606 -88.217534,75.478606 -88.217534,75.478606 -88.220503,75.478147 -88.220503,75.478147 -88.220503,75.478147 -88.242448,75.475654 -88.242448,75.475654 -88.242448,75.475654 -88.246134,75.475310 -88.246134,75.475310 -88.246134,75.475310 -88.247073,75.475176 -88.247073,75.475176 -88.247073,75.475176 -88.251758,75.474738 -88.251758,75.474738 -88.251758,75.474738 -88.253509,75.474683 -88.253509,75.474683 -88.253509,75.474683 -88.255105,75.474526 -88.255105,75.474526 -88.255105,75.474526 -88.256504,75.474342 -88.256504,75.474342 -88.256504,75.474342 -88.257422,75.474298 -88.257422,75.474298 -88.257422,75.474298 -88.258030,75.474238 -88.258030,75.474238 -88.258030,75.474238 -88.258030,75.474238 -88.258030,75.474238 -88.259253,75.474210 -88.259253,75.474210 -88.259253,75.474210 -88.259880,75.474180 -88.259880,75.474180 -88.259880,75.474180 -88.261081,75.474031 -88.261081,75.474031 -88.261081,75.474031 -88.263747,75.473865 -88.263747,75.473865 -88.263747,75.473865 -88.274993,75.472010 -88.274993,75.472010 -88.274993,75.472010 -88.287423,75.470373 -88.287423,75.470373 -88.287423,75.470373 -88.300493,75.469042 -88.300493,75.469042 -88.300493,75.469042 -88.300493,75.469042 -88.300493,75.469042 -88.300493,75.469042 -88.314345,75.468375 -88.314345,75.468375 -88.314345,75.468375 -88.328323,75.468054 -88.342426,75.468077 -88.342426,75.468077 -88.356241,75.468790 -88.356241,75.468790 -88.356241,75.468790 -88.369648,75.469834 -88.369648,75.469834 -88.369648,75.469834 -88.382648,75.471208 -88.382648,75.471208 -88.382648,75.471208 -88.382648,75.471208 -88.382648,75.471208 -88.382648,75.471208 -88.394333,75.473192 -88.394333,75.473192 -88.394333,75.473192 -88.405137,75.475442 -88.405137,75.475442 -88.405137,75.475442 -88.415061,75.477959 -88.415061,75.477959 -88.415061,75.477959 -88.415061,75.477959 -88.415061,75.477959 -88.415061,75.477959 -88.422840,75.480913 -88.422840,75.480913 -88.422840,75.480913 -88.429398,75.484029 -88.429398,75.484029 -88.429398,75.484029 -88.434734,75.487306 -88.434734,75.487306 -88.434734,75.487306 -88.435111,75.487954 -88.435111,75.487954 -88.435111,75.487954 -88.435797,75.488304 -88.435797,75.488304 -88.435797,75.488304 -88.436745,75.489309 -88.436745,75.489309 -88.436745,75.489309 -88.436791,75.489485 -88.436791,75.489485 -88.436791,75.489485 -88.437579,75.490320 -88.437579,75.490320 -88.437579,75.490320 -88.439130,75.492517 -88.439130,75.492517 -88.439130,75.492517 -88.439293,75.493651 -88.439293,75.493651 -88.439293,75.493651 -88.440186,75.495013 -88.440186,75.495013 -88.440186,75.495013 -88.440546,75.497516 -88.440546,75.497516 -88.440546,75.497516 -88.440485,75.497966 -88.440485,75.497966 -88.440485,75.497966 -88.440592,75.498149 -88.440592,75.498149 -88.440592,75.498149 -88.440592,75.498149 -88.440209,75.500026 -88.440209,75.500026 -88.440209,75.500026 -88.437383,75.503494 -88.437383,75.503494 -88.437383,75.503494 -88.433232,75.506860 -88.433232,75.506860 -88.433232,75.506860 -88.427754,75.510123 -88.427754,75.510123 -88.427754,75.510123 -88.427754,75.510123 -88.427754,75.510123 -88.427754,75.510123 -88.419836,75.513056 -88.419836,75.513056 -88.419836,75.513056 -88.410847,75.515767 -88.410847,75.515767 -88.410847,75.515767 -88.400789,75.518256 -88.400789,75.518256 -88.400789,75.518256 -88.400789,75.518256 -88.400789,75.518256 -88.400789,75.518256 -88.399405,75.518439 -88.399405,75.518439 -88.399405,75.518439 -88.398485,75.518705 -88.398485,75.518705 -88.398485,75.518705 -88.396146,75.519141 -88.396146,75.519141 -88.396146,75.519141 -88.395845,75.519179 -88.395845,75.519179 -88.395845,75.519179 -88.393772,75.519566 -88.393772,75.519566 -88.393772,75.519566 -88.367243,75.524110 -88.367243,75.524110 -88.367243,75.524110 -88.363767,75.524523 -88.363767,75.524523 -88.363767,75.524523 -88.357497,75.525512 -88.357497,75.525512 -88.357497,75.525512 -88.348227,75.526615 -88.348227,75.526615 -88.348227,75.526615 -88.340893,75.527318 -88.340893,75.527318 -88.340893,75.527318 -88.338206,75.527592 -88.338206,75.527592 -88.338206,75.527592 -88.338044,75.527652 -88.338044,75.527652 -88.338044,75.527652 -88.339111,75.527895 -88.339111,75.527895 -88.339111,75.527895 -88.342931,75.528532 -88.342931,75.528532 -88.342931,75.528532 -88.361160,75.532208 -88.361160,75.532208 -88.361160,75.532208 -88.380594,75.535921 -88.380594,75.535921 -88.380594,75.535921 -88.381952,75.536251 -88.381952,75.536251 -88.381952,75.536251 -88.383939,75.536586 -88.383939,75.536586 -88.383939,75.536586 -88.404366,75.540814 -88.404366,75.540814 -88.404366,75.540814 -88.407706,75.541657 -88.407706,75.541657 -88.407706,75.541657 -88.408734,75.541849 -88.408734,75.541849 -88.408734,75.541849 -88.410275,75.542130 -88.410275,75.542130 -88.410275,75.542130 -88.430464,75.546966 -88.430464,75.546966 -88.430464,75.546966 -88.432940,75.547637 -88.432940,75.547637 -88.432940,75.547637 -88.433610,75.547767 -88.433610,75.547767 -88.433610,75.547767 -88.436654,75.548592 -88.436654,75.548592 -88.436654,75.548592 -88.437430,75.548933 -88.437430,75.548933 -88.437430,75.548933 -88.438636,75.549242 -88.438636,75.549242 -88.438636,75.549242 -88.439596,75.549441 -88.439596,75.549441 -88.439596,75.549441 -88.439596,75.549441 -88.439596,75.549441 -88.439596,75.549441 -88.439988,75.549589 -88.439988,75.549589 -88.439988,75.549589 -88.440365,75.549686 -88.440365,75.549686 -88.440365,75.549686 -88.440845,75.549913 -88.440845,75.549913 -88.440845,75.549913 -88.441065,75.549996 -88.441065,75.549996 -88.441065,75.549996 -88.441903,75.550175 -88.441903,75.550175 -88.441903,75.550175 -88.454843,75.554442 -88.454843,75.554442 -88.454843,75.554442 -88.465372,75.557456 -88.465372,75.557456 -88.465372,75.557456 -88.484478,75.561929 -88.484478,75.561929 -88.484478,75.561929 -88.509864,75.567695 -88.509864,75.567695 -88.509864,75.567695 -88.512706,75.568444 -88.512706,75.568444 -88.512706,75.568444 -88.513711,75.568636 -88.513711,75.568636 -88.513711,75.568636 -88.517412,75.569611 -88.517412,75.569611 -88.517412,75.569611 -88.518641,75.570140 -88.518641,75.570140 -88.518641,75.570140 -88.520969,75.570620 -88.520969,75.570620 -88.520969,75.570620 -88.520969,75.570620 -88.520969,75.570620 -88.552812,75.580358 -88.552812,75.580358 -88.552812,75.580358 -88.552812,75.580358 -88.554047,75.580938 -88.554047,75.580938 -88.554047,75.580938 -88.555695,75.581300 -88.555695,75.581300 -88.555695,75.581300 -88.558451,75.582265 -88.558451,75.582265 -88.558451,75.582265 -88.558873,75.582480 -88.558873,75.582480 -88.558873,75.582480 -88.561081,75.583253 -88.561081,75.583253 -88.561081,75.583253 -88.584231,75.592591 -88.584231,75.592591 -88.584231,75.592591 -88.605486,75.600356 -88.605486,75.600356 -88.605486,75.600356 -88.606104,75.600679 -88.606104,75.600679 -88.606104,75.600679 -88.606503,75.600813 -88.606503,75.600813 -88.606503,75.600813 -88.608043,75.601390 -88.608043,75.601390 -88.608043,75.601390 -88.609068,75.601933 -88.609068,75.601933 -88.609068,75.601933 -88.611704,75.602920 -88.611704,75.602920 -88.611704,75.602920 -88.635412,75.614032 -88.635412,75.614032 -88.635412,75.614032 -88.655235,75.622294 -88.655235,75.622294 -88.655235,75.622294 -88.656520,75.623017 -88.656520,75.623017 -88.656520,75.623017 -88.658643,75.623823 -88.658643,75.623823 -88.658643,75.623823 -88.679386,75.633877 -88.679386,75.633877 -88.679386,75.633877 -88.680172,75.634361 -88.680172,75.634361 -88.680172,75.634361 -88.680953,75.634668 -88.680953,75.634668 -88.680953,75.634668 -88.693280,75.641146 -88.693280,75.641146 -88.693280,75.641146 -88.707608,75.646672 -88.710188,75.646408 -88.710188,75.646408 -88.710188,75.646408 -88.710188,75.646408 -88.724179,75.645720 -88.724179,75.645720 -88.724179,75.645720 -88.738305,75.645376 -88.752567,75.645377 -88.752567,75.645377 -88.752567,75.645377 -88.764852,75.645677 -88.764852,75.645677 -88.764852,75.645677 -88.764852,75.645677 -88.764852,75.645677 -88.764852,75.645677 -88.778842,75.646366 -88.778842,75.646366 -88.778842,75.646366 -88.792427,75.647386 -88.792427,75.647386 -88.792427,75.647386 -88.805610,75.648738 -88.805610,75.648738 -88.805610,75.648738 -88.805610,75.648738 -88.805610,75.648738 -88.805610,75.648738 -88.817478,75.650700 -88.817478,75.650700 -88.817478,75.650700 -88.828464,75.652931 -88.828464,75.652931 -88.828464,75.652931 -88.838567,75.655429 -88.838567,75.655429 -88.838567,75.655429 -88.838567,75.655429 -88.838567,75.655429 -88.838567,75.655429 -88.846513,75.658367 -88.846513,75.658367 -88.846513,75.658367 -88.848553,75.659310 -88.848553,75.659310 -88.848553,75.659310 -88.858436,75.661751 -88.858436,75.661751 -88.858436,75.661751 -88.858436,75.661751 -88.858436,75.661751 -88.858436,75.661751 -88.866388,75.664688 -88.866388,75.664688 -88.866388,75.664688 -88.873110,75.667790 -88.873110,75.667790 -88.873110,75.667790 -88.878602,75.671055 -88.878602,75.671055 -88.878602,75.671055 -88.878901,75.671550 -88.878901,75.671550 -88.878901,75.671550 -88.879487,75.671835 -88.879487,75.671835 -88.879487,75.671835 -88.880301,75.672619 -88.880301,75.672619 -88.880301,75.672619 -88.880334,75.672724 -88.880334,75.672724 -88.880334,75.672724 -88.881045,75.673408 -88.881045,75.673408 -88.881045,75.673408 -88.885300,75.678431 -88.885300,75.678431 -88.885300,75.678431 -88.885528,75.679448 -88.885528,75.679448 -88.885528,75.679448 -88.886742,75.681137 -88.886742,75.681137 -88.886742,75.681137 -88.887350,75.683855 -88.887350,75.683855 -88.887350,75.683855 -88.887291,75.684574 -88.887291,75.684574 -88.887291,75.684574 -88.887462,75.684857 -88.887462,75.684857 -88.887462,75.684857 -88.887462,75.684857 -88.887462,75.684857 -88.887462,75.684857 -88.887125,75.686584 -88.887125,75.686584 -88.887125,75.686584 -88.884364,75.690054 -88.884364,75.690054 -88.884364,75.690054 -88.880259,75.693424 -88.880259,75.693424 -88.880259,75.693424 -88.874809,75.696694 -88.874809,75.696694 -88.874809,75.696694 -88.874809,75.696694 -88.874809,75.696694 -88.874809,75.696694 -88.871586,75.698046 -88.871586,75.698046 -88.871586,75.698046 -88.868130,75.699360 -88.868130,75.699360 -88.868130,75.699360 -88.866921,75.699695 -88.866921,75.699695 -88.866921,75.699695 -88.864441,75.700638 -88.864441,75.700638 -88.864441,75.700638 -88.854495,75.703783 -88.854495,75.703783 -88.854495,75.703783 -88.851067,75.704652 -88.851067,75.704652 -88.851067,75.704652 -88.849245,75.705267 -88.849245,75.705267 -88.849245,75.705267 -88.843681,75.706677 -88.843681,75.706677 -88.843681,75.706677 -88.837804,75.708011 -88.837804,75.708011 -88.837804,75.708011 -88.837804,75.708011 -88.825907,75.709979 -88.825907,75.709979 -88.825907,75.709979 -88.813344,75.711641 -88.813344,75.711641 -88.813344,75.711641 -88.800116,75.712997 -88.800116,75.712997 -88.800116,75.712997 -88.800116,75.712997 -88.800116,75.712997 -88.800116,75.712997 -88.788854,75.713607 -88.788854,75.713607 -88.788854,75.713607 -88.777468,75.713995 -88.777468,75.713995 -88.777468,75.713995 -88.769700,75.714032 -88.769700,75.714032 -88.769700,75.714032 -88.765956,75.714159 -88.765956,75.714159 -88.765956,75.714159 -88.749794,75.714074 -88.749794,75.714074 -88.749794,75.714074 -88.747874,75.713950 -88.747874,75.713950 -88.747874,75.713950 -88.745897,75.713950 -88.745897,75.713950 -88.745897,75.713950 -88.744195,75.713991 -88.743260,75.713950 -88.743260,75.713950 -88.743260,75.713950 -88.741396,75.713950 -88.741396,75.713950 -88.741396,75.713950 -88.741396,75.713950 -88.722889,75.713498 -88.722889,75.713498 -88.722889,75.713498 -88.722889,75.713498 -88.692045,75.712742 -88.692045,75.712742 -88.692045,75.712742 -88.692045,75.712742 -88.692045,75.712742 -88.692045,75.712742 -88.692045,75.712742 -88.684426,75.712454 -88.684426,75.712454 -88.684426,75.712454 -88.676889,75.712067 -88.676889,75.712067 -88.676889,75.712067 -88.674219,75.711828 -88.674219,75.711828 -88.674219,75.711828 -88.669436,75.711582 -88.669436,75.711582 -88.669436,75.711582 -88.652537,75.710242 -88.652537,75.710242 -88.652537,75.710242 -88.648262,75.709794 -88.648262,75.709794 -88.648262,75.709794 -88.646323,75.709671 -88.646323,75.709671 -88.646323,75.709671 -88.640227,75.709031 -88.640227,75.709031 -88.640227,75.709031 -88.634248,75.708323 -88.634248,75.708323 -88.634248,75.708323 -88.631917,75.707848 -88.631917,75.707848 -88.631917,75.707848 -88.629594,75.707650 -88.629594,75.707650 -88.629594,75.707650 -88.625047,75.706935 -88.625047,75.706935 -88.625047,75.706935 -88.624109,75.706729 -88.624109,75.706729 -88.624109,75.706729 -88.620607,75.706179 -88.620607,75.706179 -88.620607,75.706179 -88.597442,75.701910 -88.597442,75.701910 -88.597442,75.701910 -88.595342,75.701413 -88.595342,75.701413 -88.595342,75.701413 -88.592327,75.700907 -88.592327,75.700907 -88.592327,75.700907 -88.570534,75.696362 -88.570534,75.696362 -88.570534,75.696362 -88.567252,75.695537 -88.567252,75.695537 -88.567252,75.695537 -88.565576,75.695226 -88.565576,75.695226 -88.565576,75.695226 -88.560841,75.694035 -88.560841,75.694035 -88.560841,75.694035 -88.556330,75.692791 -88.556330,75.692791 -88.556330,75.692791 -88.556330,75.692791 -88.556330,75.692791 -88.556330,75.692791 -88.553141,75.691823 -88.553141,75.691823 -88.553141,75.691823 -88.544573,75.689698 -88.544573,75.689698 -88.544573,75.689698 -88.542490,75.689126 -88.542490,75.689126 -88.542490,75.689126 -88.542072,75.689045 -88.542072,75.689045 -88.542072,75.689045 -88.539639,75.688378 -88.539639,75.688378 -88.539639,75.688378 -88.538793,75.688006 -88.538793,75.688006 -88.538793,75.688006 -88.537273,75.687695 -88.537273,75.687695 -88.537273,75.687695 -88.537273,75.687695 -88.537273,75.687695 -88.537273,75.687695 -88.533297,75.686369 -88.533297,75.686369 -88.533297,75.686369 -88.529575,75.685000 -88.529575,75.685000 -88.529575,75.685000 -88.528704,75.684545 -88.528704,75.684545 -88.528704,75.684545 -88.526107,75.683589 -88.526107,75.683589 -88.526107,75.683589 -88.516634,75.679304 -88.516634,75.679304 -88.516634,75.679304 -88.500702,75.673265 -88.500702,75.673265 -88.500702,75.673265 -88.500425,75.673117 -88.500425,75.673117 -88.500425,75.673117 -88.500308,75.673075 -88.500308,75.673075 -88.500308,75.673075 -88.499579,75.672696 -88.499579,75.672696 -88.499579,75.672696 -88.497055,75.671780 -88.497055,75.671780 -88.497055,75.671780 -88.479181,75.663939 -88.479181,75.663939 -88.479181,75.663939 -88.477260,75.662819 -88.477260,75.662819 -88.477260,75.662819 -88.475584,75.662130 -88.475584,75.662130 -88.475584,75.662130 -88.474934,75.661752 -88.474934,75.661752 -88.474934,75.661752 -88.474126,75.661422 -88.474126,75.661422 -88.474126,75.661422 -88.467946,75.657897 -88.467946,75.657897 -88.467946,75.657897 -88.465277,75.656795 -88.465277,75.656795 -88.465277,75.656795 -88.463319,75.655695 -88.463319,75.655695 -88.463319,75.655695 -88.461080,75.654788 -88.461080,75.654788 -88.461080,75.654788 -88.457407,75.652723 -88.457407,75.652723 -88.457407,75.652723 -88.454258,75.650600 -88.454258,75.650600 -88.454258,75.650600 -88.454258,75.650600 -88.454258,75.650600 -88.454258,75.650600 -88.453514,75.649753 -88.453514,75.649753 -88.453514,75.649753 -88.449339,75.648565 -88.449339,75.648565 -88.449339,75.648565 -88.448803,75.648323 -88.448803,75.648323 -88.448803,75.648323 -88.448521,75.648253 -88.448521,75.648253 -88.448521,75.648253 -88.447724,75.648089 -88.447724,75.648089 -88.447724,75.648089 -88.447724,75.648089 -88.447724,75.648089 -88.447724,75.648089 -88.447421,75.647977 -88.447421,75.647977 -88.447421,75.647977 -88.446917,75.647851 -88.446917,75.647851 -88.446917,75.647851 -88.446917,75.647851 -88.446917,75.647851 -88.446917,75.647851 -88.441566,75.645988 -88.441566,75.645988 -88.441566,75.645988 -88.436714,75.644049 -88.436714,75.644049 -88.436714,75.644049 -88.434906,75.643051 -88.434906,75.643051 -88.434906,75.643051 -88.432359,75.642033 -88.432359,75.642033 -88.432359,75.642033 -88.423260,75.637089 -88.423260,75.637089 -88.423260,75.637089 -88.410967,75.631125 -88.410967,75.631125 -88.410967,75.631125 -88.409240,75.630054 -88.409240,75.630054 -88.409240,75.630054 -88.408204,75.629617 -88.408204,75.629617 -88.408204,75.629617 -88.407066,75.628911 -88.407066,75.628911 -88.407066,75.628911 -88.406704,75.628653 -88.406704,75.628653 -88.406704,75.628653 -88.405461,75.628314 -88.405461,75.628314 -88.405461,75.628314 -88.405461,75.628314 -88.405461,75.628314 -88.405461,75.628314 -88.397821,75.625459 -88.397821,75.625459 -88.397821,75.625459 -88.391339,75.622450 -88.391339,75.622450 -88.391339,75.622450 -88.390866,75.622163 -88.390866,75.622163 -88.390866,75.622163 -88.390367,75.622068 -88.390367,75.622068 -88.390367,75.622068 -88.386560,75.621069 -88.386560,75.621069 -88.386560,75.621069 -88.385534,75.620627 -88.385534,75.620627 -88.385534,75.620627 -88.384548,75.620372 -88.384548,75.620372 -88.384548,75.620372 -88.382907,75.620033 -88.382907,75.620033 -88.382907,75.620033 -88.382907,75.620033 -88.382907,75.620033 -88.382907,75.620033 -88.382174,75.619757 -88.382174,75.619757 -88.382174,75.619757 -88.381612,75.619612 -88.381612,75.619612 -88.381612,75.619612 -88.380914,75.619283 -88.380914,75.619283 -88.380914,75.619283 -88.380283,75.619045 -88.380283,75.619045 -88.380283,75.619045 -88.379023,75.618769 -88.379023,75.618769 -88.379023,75.618769 -88.361723,75.612777 -88.361723,75.612777 -88.361723,75.612777 -88.361558,75.612693 -88.361558,75.612693 -88.361558,75.612693 -88.360548,75.612343 -88.360548,75.612343 -88.360548,75.612343 -88.360218,75.612176 -88.360218,75.612176 -88.360218,75.612176 -88.358172,75.611467 -88.358172,75.611467 -88.358172,75.611467 -88.347041,75.607090 -88.347041,75.607090 -88.347041,75.607090 -88.333028,75.603182 -88.333028,75.603182 -88.333028,75.603182 -88.302849,75.596567 -88.302849,75.596567 -88.302849,75.596567 -88.301631,75.596250 -88.301631,75.596250 -88.301631,75.596250 -88.300727,75.596089 -88.300727,75.596089 -88.300727,75.596089 -88.287208,75.592961 -88.287208,75.592961 -88.287208,75.592961 -88.284468,75.592230 -88.284468,75.592230 -88.284468,75.592230 -88.283568,75.592056 -88.283568,75.592056 -88.283568,75.592056 -88.280062,75.591121 -88.280062,75.591121 -88.280062,75.591121 -88.278894,75.590611 -88.278894,75.590611 -88.278894,75.590611 -88.276689,75.590154 -88.276689,75.590154 -88.276689,75.590154 -88.276689,75.590154 -88.276689,75.590154 -88.276689,75.590154 -88.271013,75.588138 -88.271013,75.588138 -88.271013,75.588138 -88.265916,75.586035 -88.265916,75.586035 -88.265916,75.586035 -88.265618,75.585867 -88.265618,75.585867 -88.265618,75.585867 -88.227934,75.578909 -88.227934,75.578909 -88.227934,75.578909 -88.225785,75.578395 -88.225785,75.578395 -88.225785,75.578395 -88.222445,75.577824 -88.222445,75.577824 -88.222445,75.577824 -88.190719,75.571123 -88.190719,75.571123 -88.190719,75.571123 -88.188859,75.570648 -88.188859,75.570648 -88.188859,75.570648 -88.187293,75.570368 -88.187293,75.570368 -88.187293,75.570368 -88.152462,75.562346 -88.152462,75.562346 -88.152462,75.562346 -88.149662,75.561598 -88.149662,75.561598 -88.149662,75.561598 -88.148689,75.561410 -88.148689,75.561410 -88.148689,75.561410 -88.146068,75.560709 -88.146068,75.560709 -88.146068,75.560709 -88.145648,75.560526 -88.145648,75.560526 -88.145648,75.560526 -88.145204,75.560407 -88.145204,75.560407 -88.145204,75.560407 -88.145087,75.560351 -88.145087,75.560351 -88.145087,75.560351 -88.144940,75.560314 -88.144940,75.560314 -88.144940,75.560314 -88.143553,75.560033 -88.143553,75.560033 -88.143553,75.560033 -88.123833,75.554262 -88.123833,75.554262 -88.123833,75.554262 -88.123387,75.554056 -88.123387,75.554056 -88.123387,75.554056 -88.123192,75.554006 -88.123192,75.554006 -88.123192,75.554006 -88.122515,75.553865 -88.122515,75.553865 -88.122515,75.553865 -88.122515,75.553865 -88.122515,75.553865 -88.122515,75.553865 -88.122261,75.553769 -88.122261,75.553769 -88.122261,75.553769 -88.121857,75.553666 -88.121857,75.553666 -88.121857,75.553666 -88.121857,75.553666 -88.121857,75.553666 -88.121857,75.553666 -88.117181,75.552038 -88.117181,75.552038 -88.117181,75.552038 -88.112883,75.550349 -88.112883,75.550349 -88.112883,75.550349 -88.111574,75.549628 -88.111574,75.549628 -88.111574,75.549628 -88.108961,75.548601 -88.108961,75.548601 -88.108961,75.548601 -88.096849,75.542417 -88.096849,75.542417 -88.096849,75.542417 -88.095238,75.541378 -88.095238,75.541378 -88.095238,75.541378 -88.094380,75.541006 -88.094380,75.541006 -88.094380,75.541006 -88.092157,75.539572 -88.092157,75.539572 -88.092157,75.539572 -88.090179,75.538114 -88.090179,75.538114 -88.090179,75.538114 -88.090179,75.538114 -88.090179,75.538114 -88.090179,75.538114 -88.090136,75.538057 -88.090136,75.538057 -88.090136,75.538057 -88.090058,75.538008 -88.090058,75.538008 -88.090058,75.538008 -88.089984,75.537878 -88.089984,75.537878 -88.089984,75.537878 -88.089816,75.537796 -88.089816,75.537796 -88.089816,75.537796 -88.084498,75.533029 -88.084498,75.533029 -88.084498,75.533029 -88.084431,75.532822 -88.084431,75.532822 -88.084431,75.532822 -88.082087,75.529652 -88.082087,75.529652 -88.082087,75.529652 -88.081691,75.528438 -88.081691,75.528438 -88.081691,75.528438 -88.081394,75.528295 -88.081394,75.528295 -88.081394,75.528295 -88.081394,75.528295 -88.081394,75.528295 -88.081394,75.528295 -88.081291,75.528165 -88.081291,75.528165 -88.081291,75.528165 -88.081031,75.528003 -88.081031,75.528003 -88.081031,75.528003 -88.081031,75.528003 -88.081031,75.528003 -88.081031,75.528003 -88.078948,75.525639 -88.078948,75.525639 -88.078948,75.525639 -88.077507,75.523251 -88.077507,75.523251 -88.077507,75.523251 -88.077405,75.521992 -88.077405,75.521992 -88.077405,75.521992 -88.076709,75.520838 -88.076709,75.520838 -88.076709,75.520838 -88.076556,75.518368 -88.076556,75.518368 -88.076556,75.518368 -88.076596,75.518152 -88.076596,75.518152 -88.076596,75.518152 -88.076547,75.518066 -88.076547,75.518066 -88.076547,75.518066 -88.076547,75.518066 -88.076547,75.518066 -88.076547,75.518066 -88.076695,75.517392 -88.076695,75.517392 -88.076695,75.517392 -88.076626,75.517246 -88.076626,75.517246 -88.076626,75.517246 -88.076835,75.516125 -88.076835,75.516125 -88.076835,75.516125 -88.076962,75.516012 -88.076962,75.516012 -88.076962,75.516012 -88.077183,75.515006 -88.077183,75.515006 -88.077183,75.515006 -88.080090,75.511542 -88.080090,75.511542 -88.080090,75.511542 -88.084317,75.508182 -88.084317,75.508182 -88.084317,75.508182 -88.088656,75.505636 -88.088656,75.505636 -88.088656,75.505636 -88.089153,75.504884 -88.089153,75.504884 -88.089153,75.504884 -88.090137,75.504171 -88.090137,75.504171 -88.090137,75.504171 -88.092139,75.501937 -88.092139,75.501937 -88.092139,75.501937 -88.096089,75.499073 -88.096089,75.499073 -88.096089,75.499073 -88.101004,75.496292 -88.101004,75.496292 -88.101004,75.496292 -88.101004,75.496292 -88.101004,75.496292 -88.102919,75.495720 -88.102919,75.495720 -88.102919,75.495720 -88.103732,75.495147 -88.103732,75.495147 -88.103732,75.495147 -88.106624,75.494029 -88.106624,75.494029 -88.106624,75.494029 -88.107453,75.493799 -88.107453,75.493799 -88.107453,75.493799 -88.109680,75.492937 -88.109680,75.492937 -88.109680,75.492937 -88.113987,75.491514 -88.113987,75.491514 -88.113987,75.491514 -88.117355,75.490645 -88.117355,75.490645 -88.117355,75.490645 -88.119735,75.489837 -88.119735,75.489837 -88.119735,75.489837 -88.125869,75.488255 -88.125869,75.488255 -88.125869,75.488255 -88.132389,75.486766 -88.132389,75.486766 -88.132389,75.486766 -88.132389,75.486766 -88.132389,75.486766 -88.132389,75.486766 -88.144204,75.484828 -88.144204,75.484828 -88.144204,75.484828 -88.156657,75.483197 -88.156657,75.483197 -88.156657,75.483197 -88.169749,75.481873 -88.169749,75.481873 -88.169749,75.481873 -88.169749,75.481873 -88.169749,75.481873 -88.169749,75.481873 -88.183618,75.481214 -88.183618,75.481214 -88.183618,75.481214 -88.197609,75.480900 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-89.449381,75.877013 -89.449381,75.877013 -89.449381,75.877013 -89.435154,75.876361 -89.435154,75.876361 -89.435154,75.876361 -89.421327,75.875376 -89.421327,75.875376 -89.421327,75.875376 -89.407900,75.874058 -89.407900,75.874058 -89.407900,75.874058 -89.407900,75.874058 -89.407900,75.874058 -89.407900,75.874058 -89.399981,75.872890 -89.399981,75.872890 -89.399981,75.872890 -89.392394,75.871605 -89.392394,75.871605 -89.392394,75.871605 -89.389181,75.870889 -89.389181,75.870889 -89.389181,75.870889 -89.385138,75.870204 -89.385138,75.870204 -89.385138,75.870204 -89.366508,75.866116 -89.366508,75.866116 -89.366508,75.866116 -89.365335,75.865819 -89.365335,75.865819 -89.365335,75.865819 -89.364677,75.865705 -89.364677,75.865705 -89.364677,75.865705 -89.348441,75.861975 -89.348441,75.861975 -89.348441,75.861975 -89.345957,75.861331 -89.345957,75.861331 -89.345957,75.861331 -89.345324,75.861214 -89.345324,75.861214 -89.345324,75.861214 -89.342304,75.860432 -89.342304,75.860432 -89.342304,75.860432 -89.341265,75.859998 -89.341265,75.859998 -89.341265,75.859998 -89.339380,75.859627 -89.339380,75.859627 -89.339380,75.859627 -89.339380,75.859627 -89.339380,75.859627 -89.339380,75.859627 -89.333282,75.857565 -89.333282,75.857565 -89.333282,75.857565 -89.327811,75.855407 -89.327811,75.855407 -89.327811,75.855407 -89.325373,75.854105 -89.325373,75.854105 -89.325373,75.854105 -89.322966,75.853155 -89.322966,75.853155 -89.322966,75.853155 -89.311494,75.846762 -89.311494,75.846762 -89.311494,75.846762 -89.311312,75.846643 -89.311312,75.846643 -89.311312,75.846643 -89.311211,75.846603 -89.311211,75.846603 -89.311211,75.846603 -89.303102,75.842000 -89.303102,75.842000 -89.303102,75.842000 -89.299143,75.840731 -89.299143,75.840731 -89.299143,75.840731 -89.282581,75.835461 -89.282581,75.835461 -89.282581,75.835461 -89.260105,75.831595 -89.260105,75.831595 -89.260105,75.831595 -89.233544,75.827570 -89.233544,75.827570 -89.233544,75.827570 -89.209365,75.825606 -89.209365,75.825606 -89.209365,75.825606 -89.205278,75.825181 -89.205278,75.825181 -89.205278,75.825181 -89.203740,75.825086 -89.203740,75.825086 -89.203740,75.825086 -89.198211,75.824510 -89.198211,75.824510 -89.198211,75.824510 -89.192779,75.823878 -89.192779,75.823878 -89.192779,75.823878 -89.190986,75.823523 -89.190986,75.823523 -89.190986,75.823523 -89.189111,75.823372 -89.189111,75.823372 -89.189111,75.823372 -89.185506,75.822841 -89.185506,75.822841 -89.185506,75.822841 -89.184959,75.822726 -89.184959,75.822726 -89.184959,75.822726 -89.181963,75.822285 -89.181963,75.822285 -89.181963,75.822285 -89.150116,75.816959 -89.150116,75.816959 -89.150116,75.816959 -89.149355,75.816789 -89.149355,75.816789 -89.149355,75.816789 -89.148752,75.816692 -89.148752,75.816692 -89.148752,75.816692 -89.146976,75.816302 -89.146976,75.816302 -89.146976,75.816302 -89.142956,75.815653 -89.142956,75.815653 -89.142956,75.815653 -89.121971,75.811491 -89.121971,75.811491 -89.121971,75.811491 -89.118535,75.810659 -89.118535,75.810659 -89.118535,75.810659 -89.116564,75.810305 -89.116564,75.810305 -89.116564,75.810305 -89.111410,75.809056 -89.111410,75.809056 -89.111410,75.809056 -89.106509,75.807745 -89.106509,75.807745 -89.106509,75.807745 -89.106509,75.807745 -89.106509,75.807745 -89.106509,75.807745 -89.100953,75.805870 -89.100953,75.805870 -89.100953,75.805870 -89.095912,75.803914 -89.095912,75.803914 -89.095912,75.803914 -89.093981,75.802886 -89.093981,75.802886 -89.093981,75.802886 -89.091386,75.801879 -89.091386,75.801879 -89.091386,75.801879 -89.076789,75.794170 -89.076789,75.794170 -89.076789,75.794170 -89.075373,75.793267 -89.075373,75.793267 -89.075373,75.793267 -89.074848,75.793047 -89.074848,75.793047 -89.074848,75.793047 -89.073065,75.791909 -89.073065,75.791909 -89.073065,75.791909 -89.072752,75.791352 -89.072752,75.791352 -89.072752,75.791352 -89.071439,75.790756 -89.071439,75.790756 -89.071439,75.790756 -89.071439,75.790756 -89.071439,75.790756 -89.071439,75.790756 -89.068561,75.787292 -89.068561,75.787292 -89.068561,75.787292 -89.067087,75.783793 -89.067087,75.783793 -89.067087,75.783793 -89.067062,75.782513 -89.067062,75.782513 -89.067062,75.782513 -89.066698,75.781918 -89.066698,75.781918 -89.066698,75.781918 -89.066698,75.781918 -89.066698,75.781918 -89.066698,75.781918 -89.067017,75.780258 -89.067017,75.780258 -89.067017,75.780258 -89.068176,75.777211 -89.068176,75.777211 -89.068176,75.777211 -89.070912,75.773741 -89.070912,75.773741 -89.070912,75.773741 -89.074997,75.770369 -89.074997,75.770369 -89.074997,75.770369 -89.080431,75.767096 -89.080431,75.767096 -89.080431,75.767096 -89.080431,75.767096 -89.080431,75.767096 -89.088353,75.764147 -89.088353,75.764147 -89.088353,75.764147 -89.097366,75.761415 -89.097366,75.761415 -89.097366,75.761415 -89.107470,75.758902 -89.107470,75.758902 -89.107470,75.758902 -89.107470,75.758902 -89.107470,75.758902 -89.119368,75.756921 -89.119368,75.756921 -89.119368,75.756921 -89.131935,75.755244 -89.131935,75.755244 -89.131935,75.755244 -89.145170,75.753872 -89.145170,75.753872 -89.145170,75.753872 -89.145170,75.753872 -89.145170,75.753872 -89.145170,75.753872 -89.159237,75.753160 -89.159237,75.753160 -89.159237,75.753160 -89.173450,75.752793 -89.173450,75.752793 -89.173450,75.752793 -89.187809,75.752769 -89.193803,75.752966 -89.193803,75.752966 -89.193803,75.752966 -89.199754,75.753223 -89.199754,75.753223 -89.199754,75.753223 -89.201284,75.753352 -89.201284,75.753352 -89.201284,75.753352 -89.205662,75.753541 -89.205662,75.753541 -89.205662,75.753541 -89.220291,75.754484 -89.220291,75.754484 -89.220291,75.754484 -89.224900,75.754924 -89.224900,75.754924 -89.224900,75.754924 -89.228218,75.755115 -89.228218,75.755115 -89.228218,75.755115 -89.235974,75.755855 -89.235974,75.755855 -89.235974,75.755855 -89.243560,75.756703 -89.243560,75.756703 -89.243560,75.756703 -89.243560,75.756703 -89.243560,75.756703 -89.243560,75.756703 -89.255565,75.758644 -89.255565,75.758644 -89.255565,75.758644 -89.266688,75.760855 -89.266688,75.760855 -89.266688,75.760855 -89.276931,75.763334 -89.276931,75.763334 -89.276931,75.763334 -89.276931,75.763334 -89.276931,75.763334 -89.276931,75.763334 -89.277336,75.763481 -89.277336,75.763481 -89.277336,75.763481 -89.277723,75.763576 -89.277723,75.763576 -89.277723,75.763576 -89.278222,75.763801 -89.278222,75.763801 -89.278222,75.763801 -89.278449,75.763884 -89.278449,75.763884 -89.278449,75.763884 -89.279308,75.764060 -89.279308,75.764060 -89.279308,75.764060 -89.286567,75.766356 -89.286567,75.766356 -89.286567,75.766356 -89.326176,75.772273 -89.326176,75.772273 -89.326176,75.772273 -89.346284,75.773587 -89.346284,75.773587 -89.346284,75.773587 -89.350890,75.774027 -89.350890,75.774027 -89.350890,75.774027 -89.354020,75.774207 -89.354020,75.774207 -89.354020,75.774207 -89.361593,75.774930 -89.361593,75.774930 -89.361593,75.774930 -89.369004,75.775756 -89.369004,75.775756 -89.369004,75.775756 -89.370692,75.776090 -89.370692,75.776090 -89.370692,75.776090 -89.372474,75.776231 -89.372474,75.776231 -89.372474,75.776231 -89.375890,75.776729 -89.375890,75.776729 -89.375890,75.776729 -89.376376,75.776831 -89.376376,75.776831 -89.376376,75.776831 -89.379251,75.777250 -89.379251,75.777250 -89.379251,75.777250 -89.428831,75.785389 -89.428831,75.785389 -89.428831,75.785389 -89.432196,75.786130 -89.432196,75.786130 -89.432196,75.786130 -89.437073,75.786959 -89.437073,75.786959 -89.437073,75.786959 -89.444821,75.788664 -89.444821,75.788664 -89.444821,75.788664 -89.452077,75.790505 -89.452077,75.790505 -89.452077,75.790505 -89.452077,75.790505 -89.452077,75.790505 -89.452077,75.790505 -89.453135,75.790885 -89.453135,75.790885 -89.453135,75.790885 -89.453805,75.791052 -89.453805,75.791052 -89.453805,75.791052 -89.454631,75.791422 -89.454631,75.791422 -89.454631,75.791422 -89.455753,75.791824 -89.455753,75.791824 -89.455753,75.791824 -89.457260,75.792145 -89.457260,75.792145 -89.457260,75.792145 -89.484031,75.801317 -89.484031,75.801317 -89.484031,75.801317 -89.484196,75.801398 -89.484196,75.801398 -89.484196,75.801398 -89.485066,75.801677 -89.485066,75.801677 -89.485066,75.801677 -89.521632,75.814622 -89.521632,75.814622 -89.521632,75.814622 -89.547828,75.823122 -89.547828,75.823122 -89.547828,75.823122 -89.563001,75.827259 -89.563001,75.827259 -89.563001,75.827259 -89.563529,75.827484 -89.563529,75.827484 -89.563529,75.827484 -89.563784,75.827545 -89.563784,75.827545 -89.563784,75.827545 -89.564559,75.827697 -89.564559,75.827697 -89.564559,75.827697 -89.564559,75.827697 -89.564559,75.827697 -89.564559,75.827697 -89.564857,75.827801 -89.564857,75.827801 -89.564857,75.827801 -89.565338,75.827916 -89.565338,75.827916 -89.565338,75.827916 -89.565338,75.827916 -89.565338,75.827916 -89.565338,75.827916 -89.573508,75.830830 -89.573508,75.830830 -89.573508,75.830830 -89.580442,75.833910 -89.580442,75.833910 -89.580442,75.833910 -89.586140,75.837157 -89.586140,75.837157 -89.586140,75.837157 -89.586140,75.837157 -89.586140,75.837157 -89.586140,75.837157 -89.589142,75.840614 -89.589142,75.840614 -89.589142,75.840614 -89.590738,75.844109 -89.590738,75.844109 -89.590738,75.844109 -89.590813,75.845492 -89.590813,75.845492 -89.590813,75.845492 -89.591194,75.846093 -89.591194,75.846093 -89.591194,75.846093 -89.591194,75.846093 -89.591194,75.846093 -89.591194,75.846093 -89.590928,75.847642 -89.590928,75.847642 -89.590928,75.847642 -89.590459,75.848039 -89.590459,75.848039 -89.590459,75.848039 -89.590395,75.848415 -89.590395,75.848415 -89.590395,75.848415 -89.590469,75.848633 -89.590469,75.848633 -89.590469,75.848633 -89.589899,75.849620 -89.589899,75.849620 -89.589899,75.849620 -89.589695,75.849777 -89.589695,75.849777 -89.589695,75.849777 -89.589217,75.850604 -89.589217,75.850604 -89.589217,75.850604 -89.587014,75.853321 -89.587014,75.853321 -89.587014,75.853321 -89.585501,75.854377 -89.585501,75.854377 -89.585501,75.854377 -89.584280,75.855771 -89.584280,75.855771 -89.584280,75.855771 -89.580854,75.858162 -89.580854,75.858162 -89.580854,75.858162 -89.576736,75.860494 -89.576736,75.860494 -89.576736,75.860494 -89.576736,75.860494 -89.576736,75.860494 -89.576736,75.860494 -89.570359,75.862982 -89.570359,75.862982 -89.570359,75.862982 -89.563195,75.865328 -89.563195,75.865328 -89.563195,75.865328 -89.557333,75.866846 -89.557333,75.866846 -89.557333,75.866846 -89.555244,75.867529 -89.555244,75.867529 -89.555244,75.867529 -89.545653,75.869784 -89.545653,75.869784 -89.545653,75.869784 -89.544063,75.870015 -89.544063,75.870015 -89.544063,75.870015 -89.543018,75.870277 -89.543018,75.870277 -89.543018,75.870277 -89.542002,75.870587 -89.542002,75.870587 -89.542002,75.870587 -89.541276,75.870713 -89.541276,75.870713 -89.541276,75.870713 -89.540177,75.870988 -89.540177,75.870988 -89.540177,75.870988 -89.540177,75.870988 -89.540177,75.870988 -89.528245,75.872987 -89.528245,75.872987 -89.528245,75.872987 -89.515626,75.874682 -89.515626,75.874682 -89.515626,75.874682 -89.502321,75.876072 -89.502321,75.876072 -89.502321,75.876072 -89.502321,75.876072 -89.502321,75.876072 -89.502321,75.876072 -89.488158,75.876802 -89.488158,75.876802 -89.488158,75.876802 -89.473840,75.877186 -89.473840,75.877186 -89.473840,75.877186 -89.459366,75.877226 -89.459366,75.877226 -89.459366,75.877226 -89.459366,75.877226 -89.449381,75.877013 -89.449381,75.877013 -89.449381,75.877013 -89.449381,75.877013 -89.449381,75.877013 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-89.449381,75.877013 -89.449381,75.877013 -89.449381,75.877013 -89.449381,75.877013 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-88.722889,75.713498 -88.722889,75.713498 -88.722889,75.713498 -88.722889,75.713498 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-88.692045,75.712742 -88.692045,75.712742 -88.692045,75.712742 -88.692045,75.712742 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-89.449381,75.877013 -89.449381,75.877013 -89.449381,75.877013 -89.449381,75.877013 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-85.200097,76.361104 -84.950631,76.418832</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-85.191153,76.402404 -85.191153,76.402404 -85.183442,76.405946 -85.183442,76.405946 -85.153146,76.413689 -85.153146,76.413689 -85.112524,76.418111 -85.112524,76.418111 -85.099614,76.418663 -85.099614,76.418663 -85.093766,76.418832 -85.061934,76.418707 -85.061934,76.418707 -85.056337,76.418499 -85.056337,76.418499 -85.043927,76.417873 -85.043927,76.417873 -85.036859,76.417418 -85.036859,76.417418 -85.007257,76.414407 -85.007257,76.414407 -84.974400,76.407264 -84.974400,76.407264 -84.971042,76.406176 -84.971042,76.406176 -84.952346,76.396619 -84.952346,76.396619 -84.950631,76.386106 -84.950631,76.386106 -84.955131,76.381785 -84.955131,76.381785 -84.956690,76.380688 -84.956690,76.380688 -84.967682,76.375140 -84.967682,76.375140 -84.987035,76.369551 -84.987035,76.369551 -84.993750,76.368069 -84.993750,76.368069 -85.004709,76.365934 -85.004709,76.365934 -85.045222,76.361527 -85.045222,76.361527 -85.089794,76.361104 -85.131675,76.364730 -85.131675,76.364730 -85.152166,76.368491 -85.152166,76.368491 -85.167042,76.371926 -85.167042,76.371926 -85.179395,76.375289 -85.179395,76.375289 -85.198209,76.384832 -85.198209,76.384832 -85.200097,76.395343 -85.200097,76.395343 -85.192448,76.401681 -85.192448,76.401681 -85.191153,76.402404 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-91.366454,74.596817 -91.004286,74.673978</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-91.019595,74.650420 -91.019135,74.650115 -91.019135,74.650115 -91.018725,74.649307 -91.018725,74.649307 -91.016245,74.648139 -91.016245,74.648139 -91.008702,74.641708 -91.008702,74.641708 -91.004286,74.631935 -91.004286,74.631935 -91.005350,74.627449 -91.005350,74.627449 -91.015596,74.617193 -91.015596,74.617193 -91.028685,74.611812 -91.028685,74.611812 -91.038471,74.608671 -91.038471,74.608671 -91.049615,74.605614 -91.049615,74.605614 -91.084138,74.600276 -91.084138,74.600276 -91.084778,74.600253 -91.084778,74.600253 -91.085321,74.600170 -91.085321,74.600170 -91.108391,74.598144 -91.108391,74.598144 -91.146777,74.596817 -91.169293,74.597179 -91.169293,74.597179 -91.199690,74.597664 -91.199690,74.597664 -91.202693,74.597873 -91.205348,74.597796 -91.245748,74.599034 -91.245748,74.599034 -91.249629,74.599334 -91.249629,74.599334 -91.262112,74.599897 -91.262112,74.599897 -91.292123,74.602166 -91.292123,74.602166 -91.308753,74.603848 -91.308753,74.603848 -91.340638,74.610243 -91.340638,74.610243 -91.360905,74.619389 -91.360905,74.619389 -91.366454,74.629897 -91.366454,74.629897 -91.356414,74.640167 -91.356414,74.640167 -91.332290,74.648635 -91.332290,74.648635 -91.320762,74.650989 -91.320762,74.650989 -91.301900,74.654301 -91.301900,74.654301 -91.278878,74.657319 -91.278878,74.657319 -91.277335,74.657375 -91.277335,74.657375 -91.276078,74.657564 -91.276078,74.657564 -91.263619,74.658604 -91.263619,74.658604 -91.244948,74.661598 -91.244948,74.661598 -91.231625,74.664306 -91.231625,74.664306 -91.229593,74.664596 -91.229593,74.664596 -91.223712,74.665763 -91.223712,74.665763 -91.198959,74.669875 -91.198959,74.669875 -91.177907,74.672541 -91.177907,74.672541 -91.138162,74.673978 -91.126868,74.673630 -91.126868,74.673630 -91.106651,74.672703 -91.106651,74.672703 -91.079159,74.670349 -91.079159,74.670349 -91.047259,74.663921 -91.047259,74.663921 -91.030803,74.657206 -91.030803,74.657206 -91.022826,74.652571 -91.022826,74.652571 -91.022019,74.652034 -91.022019,74.652034 -91.021739,74.651916 -91.021739,74.651916 -91.019764,74.650682 -91.019764,74.650682 -91.019595,74.650420 -91.019595,74.650420 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-94.401829,72.408827 -92.172232,72.934740</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-92.230927,72.736834 -92.207624,72.735141 -92.188286,72.730926 -92.175860,72.724833 -92.172232,72.717790 -92.177946,72.710871 -92.192123,72.705128 -92.195897,72.704181 -93.397640,72.418520 -93.404343,72.417350 -93.409976,72.416187 -93.449626,72.410559 -93.451548,72.410436 -93.453568,72.410049 -93.476802,72.408827 -93.525750,72.409176 -93.548769,72.410728 -93.568078,72.414823 -93.580743,72.420840 -93.584831,72.427863 -93.583097,72.431818 -93.581721,72.433508 -93.575905,72.440653 -93.572514,72.443661 -93.563866,72.447900 -93.539144,72.456960 -93.536305,72.469067 -93.555105,72.493164 -93.555410,72.494041 -93.556205,72.494979 -93.561798,72.507849 -93.562018,72.509080 -93.562252,72.509415 -93.563917,72.520788 -93.583984,72.534382 -93.607657,72.549416 -93.631680,72.561716 -93.635895,72.564327 -93.638229,72.566527 -93.644508,72.574057 -93.653676,72.577886 -93.691656,72.588834 -93.692308,72.589127 -93.693380,72.589351 -93.706200,72.595357 -93.708153,72.597111 -93.711484,72.600696 -93.714888,72.601405 -93.751669,72.604787 -93.758216,72.605513 -93.760196,72.605926 -93.762116,72.606074 -93.780579,72.608969 -93.780587,72.608970 -93.780593,72.608971 -93.788257,72.610173 -93.792286,72.611077 -93.798955,72.612307 -93.815201,72.616344 -93.820152,72.617719 -93.821001,72.618115 -93.822119,72.618359 -93.854460,72.629388 -93.865388,72.634744 -93.867167,72.636295 -93.882752,72.652161 -93.883001,72.652712 -93.909877,72.656582 -93.970239,72.663221 -94.033422,72.668246 -94.034011,72.668307 -94.034345,72.668321 -94.131372,72.676480 -94.177142,72.679397 -94.247978,72.682541 -94.253246,72.682985 -94.257287,72.683176 -94.290287,72.686247 -94.296110,72.686886 -94.305501,72.688380 -94.306212,72.688518 -94.329124,72.689951 -94.348885,72.693971 -94.361700,72.699729 -94.371413,72.706661 -94.371642,72.707011 -94.372263,72.707302 -94.388426,72.720169 -94.388605,72.720472 -94.391069,72.722905 -94.400586,72.736738 -94.401829,72.740567 -94.401454,72.752398 -94.399133,72.757196 -94.389387,72.767408 -94.382848,72.776632 -94.380614,72.779783 -94.380084,72.795878 -94.382833,72.805906 -94.382838,72.805944 -94.382846,72.805955 -94.391761,72.839498 -94.391948,72.841103 -94.387014,72.848074 -94.386794,72.848169 -94.386714,72.848278 -94.366207,72.862018 -94.352885,72.867695 -94.346801,72.869237 -94.302963,72.878957 -94.288807,72.881306 -94.269797,72.882578 -94.226254,72.883412 -94.224129,72.883305 -94.221500,72.883449 -94.211323,72.883164 -94.171254,72.881042 -94.157781,72.879849 -94.145311,72.877734 -94.085720,72.864676 -94.078285,72.862754 -94.065163,72.856776 -94.060803,72.849772 -94.061314,72.839543 -94.045159,72.809923 -94.030709,72.800472 -94.029072,72.800769 -93.985692,72.805127 -93.942011,72.811326 -93.940052,72.811452 -93.937998,72.811843 -93.914297,72.813115 -93.857625,72.812821 -93.840711,72.812028 -93.838739,72.811850 -93.805478,72.815937 -93.804884,72.815970 -93.804349,72.816072 -93.794806,72.816923 -93.737859,72.820540 -93.723683,72.820942 -93.700339,72.820802 -93.687645,72.820334 -93.634996,72.816714 -93.621837,72.822890 -93.620544,72.840502 -93.620343,72.840771 -93.620481,72.841023 -93.614597,72.875491 -93.614380,72.875762 -93.614491,72.875982 -93.609830,72.893696 -93.606999,72.897015 -93.605577,72.899065 -93.594939,72.906883 -93.594366,72.907132 -93.594123,72.907453 -93.580227,72.913284 -93.563838,72.916595 -93.482437,72.927868 -93.480462,72.927990 -93.478386,72.928377 -93.466335,72.929349 -93.361848,72.934498 -93.350015,72.934740 -93.340588,72.934456 -93.210328,72.927504 -93.203480,72.926880 -93.200204,72.926695 -93.090664,72.914912 -93.088981,72.914585 -93.086587,72.914423 -93.073029,72.911971 -92.991286,72.892494 -92.985139,72.890810 -92.972348,72.884767 -92.970434,72.883009 -92.943575,72.853170 -92.943351,72.852590 -92.942351,72.851493 -92.933960,72.836619 -92.933703,72.835471 -92.933270,72.834885 -92.923839,72.794612 -92.914260,72.792943 -92.876675,72.790171 -92.872920,72.789783 -92.871254,72.789691 -92.818575,72.784230 -92.815698,72.783888 -92.815358,72.783866 -92.789089,72.780638 -92.788254,72.780466 -92.787172,72.780390 -92.780937,72.779418 -92.762739,72.776171 -92.669051,72.772638 -92.648570,72.772415 -92.625187,72.770766 -92.623212,72.770343 -92.621282,72.770185 -92.577229,72.763027 -92.507069,72.758728 -92.493794,72.757431 -92.476407,72.753866 -92.441628,72.743702 -92.433201,72.741329 -92.396553,72.740886 -92.389390,72.740674 -92.333254,72.738008 -92.331940,72.737889 -92.329466,72.737791 -92.298659,72.735726 -92.276107,72.735440 -92.241062,72.736717 -92.230927,72.736834 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-88.869184,73.147204 -86.337687,73.783831</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-88.830772,73.204959 -88.857838,73.223326 -88.869184,73.255653 -88.840237,73.275649 -88.780965,73.302790 -88.731407,73.317391 -88.618776,73.352577 -88.577773,73.373797 -88.470443,73.423476 -88.346423,73.471014 -88.237659,73.506152 -88.112336,73.539136 -87.993380,73.569057 -87.816051,73.616275 -87.656584,73.659155 -87.481482,73.696615 -87.279682,73.741057 -87.097335,73.765197 -86.877151,73.783043 -86.721870,73.783831 -86.571088,73.775057 -86.446798,73.759159 -86.386906,73.740836 -86.337687,73.689192 -86.364225,73.658106 -86.435096,73.617478 -86.566605,73.567893 -86.761440,73.514181 -86.949475,73.472921 -87.112435,73.435450 -87.227107,73.404210 -87.343388,73.368165 -87.465767,73.316240 -87.623334,73.271861 -87.801443,73.229666 -88.022515,73.188721 -88.186394,73.165036 -88.328867,73.153405 -88.441585,73.147204 -88.512630,73.149325 -88.589158,73.151583 -88.684310,73.163961 -88.742342,73.172033 -88.808704,73.188329 -88.830772,73.204959 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-84.978066,73.342821 -84.050694,73.512992</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-84.054209,73.473396 -84.067689,73.463452 -84.093488,73.455731 -84.127678,73.451405 -84.153226,73.450764 -84.169814,73.450982 -84.185390,73.448790 -84.185739,73.448684 -84.185955,73.448523 -84.211683,73.440788 -84.230456,73.437837 -84.289545,73.430862 -84.331892,73.423771 -84.332308,73.423724 -84.333552,73.423500 -84.392761,73.414011 -84.393562,73.413923 -84.395312,73.413616 -84.457817,73.404272 -84.460457,73.403992 -84.463784,73.403452 -84.503125,73.398515 -84.517344,73.394176 -84.515514,73.391787 -84.791450,73.350111 -84.792096,73.351209 -84.795145,73.350662 -84.827168,73.345734 -84.850280,73.343216 -84.887436,73.342821 -84.900591,73.343704 -84.912059,73.344723 -84.933772,73.347547 -84.961063,73.354792 -84.976622,73.364479 -84.978066,73.375133 -84.972833,73.380693 -84.964050,73.387195 -84.956362,73.391636 -84.939226,73.397552 -84.915014,73.403842 -84.906805,73.405747 -84.903597,73.406168 -84.901529,73.406764 -84.870831,73.412260 -84.869813,73.412381 -84.866064,73.413059 -84.834274,73.418036 -84.792343,73.425467 -84.782844,73.426593 -84.771703,73.428211 -84.721873,73.432862 -84.673073,73.438482 -84.672043,73.438575 -84.671506,73.438657 -84.655933,73.440357 -84.627134,73.444971 -84.601015,73.449930 -84.600015,73.450054 -84.599407,73.450229 -84.543279,73.460410 -84.540199,73.460779 -84.530343,73.462375 -84.490683,73.467324 -84.406203,73.480079 -84.363896,73.487095 -84.313286,73.496509 -84.312418,73.496614 -84.306719,73.497626 -84.243525,73.507404 -84.226042,73.509277 -84.221711,73.509848 -84.185326,73.512521 -84.183909,73.512538 -84.182507,73.512715 -84.144989,73.512992 -84.118443,73.510522 -84.102435,73.508255 -84.093958,73.506897 -84.066788,73.499549 -84.051601,73.489805 -84.050694,73.479150 -84.054209,73.473396 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-76.510246,72.803121 -75.888223,72.993925</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-76.319371,72.977470 -76.272412,72.988766 -76.214225,72.993925 -76.166257,72.993113 -76.131173,72.990889 -76.118642,72.989933 -76.110572,72.988769 -76.107233,72.988930 -76.046757,72.987133 -75.993273,72.978684 -75.971892,72.972370 -75.944779,72.962613 -75.927867,72.955115 -75.911427,72.940192 -75.907972,72.932978 -75.905471,72.932073 -75.888223,72.915011 -75.894510,72.897308 -75.920152,72.883376 -75.919699,72.883122 -75.902484,72.866059 -75.908741,72.848352 -75.937457,72.832696 -75.984227,72.821467 -76.002508,72.819854 -76.042198,72.810299 -76.057696,72.808186 -76.075268,72.806127 -76.117428,72.803121 -76.177320,72.804900 -76.180041,72.805331 -76.182818,72.805429 -76.406369,72.828179 -76.454093,72.836009 -76.492509,72.849734 -76.510246,72.866751 -76.504551,72.884474 -76.489338,72.894683 -76.332579,72.971962 -76.319371,72.977470 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-71.396409,70.955579 -70.762991,71.181950</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-70.771406,71.089726 -70.772775,71.089809 -70.796049,71.084806 -70.807072,71.083822 -70.818345,71.078463 -70.819901,71.077847 -70.820608,71.077439 -70.858947,71.060871 -70.863719,71.056984 -70.881710,71.047977 -70.908924,71.041889 -70.915863,71.041230 -70.929030,71.036661 -70.929663,71.036516 -70.930103,71.036295 -70.939444,71.033599 -70.988326,71.021446 -71.006150,71.018043 -71.036736,71.015797 -71.068652,71.015423 -71.098419,71.009924 -71.112730,71.006479 -71.119130,71.002427 -71.121215,70.999090 -71.124275,70.989987 -71.126188,70.978361 -71.126348,70.978123 -71.126464,70.977169 -71.130227,70.964552 -71.129942,70.959782 -71.129958,70.959753 -71.129939,70.959724 -71.131613,70.956701 -71.142734,70.955579 -71.156873,70.956562 -71.182941,70.958242 -71.249329,70.966745 -71.300263,70.973248 -71.344202,70.981343 -71.372392,70.994086 -71.388891,71.014497 -71.396409,71.029602 -71.396278,71.040408 -71.377462,71.064668 -71.355013,71.087638 -71.321469,71.113371 -71.293852,71.129863 -71.264441,71.147795 -71.202818,71.162478 -71.153493,71.171215 -71.128577,71.174715 -71.049260,71.180449 -70.995741,71.181950 -70.927472,71.180711 -70.914079,71.178991 -70.852935,71.167784 -70.816368,71.159726 -70.791860,71.148205 -70.783402,71.140427 -70.766506,71.124870 -70.763860,71.110322 -70.762991,71.098511 -70.771406,71.089726 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.871231,66.828316 -61.646539,66.963697</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.674676,66.892057 -61.662875,66.882644 -61.661090,66.871851 -61.669942,66.861612 -61.686865,66.853855 -61.690743,66.852631 -61.691368,66.851978 -61.698715,66.847662 -61.714352,66.841095 -61.724162,66.838609 -61.727435,66.837923 -61.727813,66.837753 -61.737831,66.834058 -61.762451,66.829266 -61.781823,66.828316 -61.790856,66.828370 -61.798882,66.828598 -61.824901,66.832056 -61.845591,66.839170 -61.857804,66.848858 -61.859672,66.859649 -61.859140,66.860270 -61.859208,66.860853 -61.858129,66.863293 -61.869356,66.872187 -61.871231,66.882977 -61.866337,66.890140 -61.852634,66.902990 -61.848747,66.906078 -61.830630,66.914225 -61.813626,66.917533 -61.806532,66.923522 -61.811203,66.927222 -61.813057,66.938012 -61.804236,66.948259 -61.786074,66.956401 -61.772925,66.959537 -61.763173,66.961324 -61.751579,66.962983 -61.724032,66.963697 -61.697889,66.960223 -61.696447,66.959728 -61.694873,66.959501 -61.680039,66.955745 -61.662313,66.949334 -61.650127,66.939632 -61.647833,66.933962 -61.646539,66.924486 -61.647049,66.919364 -61.651540,66.912658 -61.663150,66.901321 -61.665177,66.899686 -61.665506,66.899265 -61.674676,66.892057 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-102.436326,65.591964 -99.155526,66.174209</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-99.681177,65.817939 -99.681260,65.817879 -99.681589,65.817542 -99.685572,65.814086 -99.687102,65.813076 -99.687446,65.812959 -99.687643,65.812820 -99.692274,65.810783 -99.694920,65.809950 -99.698668,65.809571 -99.702409,65.809959 -99.702496,65.809989 -99.703025,65.809183 -99.703195,65.809042 -99.703274,65.808843 -99.705412,65.807210 -99.707232,65.806476 -99.709742,65.805690 -99.711107,65.805335 -99.714855,65.804955 -99.718596,65.805343 -99.720557,65.805935 -99.720425,65.804705 -99.720503,65.804471 -99.720418,65.804221 -99.720763,65.799879 -99.720800,65.799794 -99.720893,65.799240 -99.721344,65.797874 -99.721969,65.796766 -99.724104,65.795133 -99.724131,65.795124 -99.724148,65.795111 -99.726185,65.794081 -99.729325,65.793014 -99.729664,65.792979 -99.729911,65.792901 -99.738454,65.791410 -99.745363,65.789832 -99.745489,65.789819 -99.745604,65.789779 -99.747024,65.789541 -99.753580,65.788722 -99.756277,65.788029 -99.756590,65.787992 -99.756916,65.787880 -99.760662,65.787500 -99.761733,65.787531 -99.762470,65.787574 -99.765862,65.787032 -99.766029,65.787019 -99.766454,65.786947 -99.774083,65.785994 -99.774311,65.785980 -99.774582,65.785938 -99.782142,65.785206 -99.782677,65.785181 -99.782944,65.785146 -99.788870,65.784830 -99.790302,65.784696 -99.794743,65.781424 -99.795201,65.781143 -99.795338,65.781029 -99.798146,65.779343 -99.798427,65.779238 -99.798669,65.779053 -99.800137,65.778549 -99.799041,65.778149 -99.797989,65.777503 -99.796631,65.776511 -99.795576,65.775520 -99.794845,65.773590 -99.794890,65.773476 -99.794856,65.773373 -99.795063,65.771084 -99.795241,65.770676 -99.795317,65.770423 -99.792882,65.769444 -99.791962,65.769024 -99.789856,65.767386 -99.789572,65.766980 -99.788123,65.764592 -99.787677,65.763068 -99.788435,65.761140 -99.790043,65.759795 -99.792648,65.758232 -99.794023,65.757290 -99.793952,65.756289 -99.793568,65.752403 -99.793611,65.752276 -99.793555,65.752128 -99.794013,65.750621 -99.796478,65.746608 -99.796778,65.746187 -99.798383,65.744843 -99.801885,65.742738 -99.802408,65.742447 -99.805582,65.741357 -99.809321,65.740977 -99.811218,65.741074 -99.812620,65.741219 -99.812175,65.740044 -99.812314,65.739213 -99.813284,65.736276 -99.813900,65.735178 -99.814015,65.735090 -99.814056,65.734996 -99.815834,65.733021 -99.816041,65.732868 -99.816770,65.732195 -99.818250,65.731135 -99.819285,65.730508 -99.821112,65.729769 -99.825649,65.728347 -99.826131,65.727999 -99.827174,65.724845 -99.827789,65.723750 -99.828255,65.723251 -99.829881,65.721733 -99.831538,65.720598 -99.834710,65.719508 -99.837324,65.719159 -99.841329,65.718923 -99.842450,65.718890 -99.844453,65.718999 -99.848786,65.719472 -99.849062,65.719516 -99.849251,65.719529 -99.856899,65.720568 -99.864814,65.720806 -99.865091,65.720839 -99.866099,65.720889 -99.870988,65.721377 -99.872880,65.721671 -99.876040,65.722765 -99.878148,65.724402 -99.878883,65.726331 -99.878315,65.728015 -99.877240,65.729572 -99.877075,65.729706 -99.877006,65.729878 -99.875852,65.731256 -99.875760,65.732132 -99.876218,65.733119 -99.878065,65.735339 -99.880705,65.737674 -99.881822,65.738574 -99.882019,65.738577 -99.892121,65.737864 -99.893451,65.737818 -99.896606,65.738090 -99.898393,65.738406 -99.900561,65.737643 -99.900841,65.737615 -99.901050,65.737547 -99.904369,65.736944 -99.907616,65.736658 -99.911351,65.737043 -99.913912,65.737851 -99.916582,65.739018 -99.917185,65.739305 -99.919296,65.740941 -99.920034,65.742870 -99.919893,65.743717 -99.919499,65.744899 -99.919474,65.746158 -99.919743,65.748510 -99.920112,65.751448 -99.920483,65.751948 -99.921956,65.751651 -99.922465,65.751602 -99.924655,65.751326 -99.929217,65.751120 -99.930073,65.751101 -99.931551,65.751253 -99.931695,65.750199 -99.932001,65.749531 -99.932201,65.748914 -99.934414,65.745588 -99.934566,65.745463 -99.934632,65.745292 -99.936752,65.743657 -99.939433,65.742677 -99.942484,65.741922 -99.942730,65.741893 -99.942973,65.741810 -99.945274,65.741481 -99.950453,65.741085 -99.951744,65.741035 -99.951795,65.741030 -99.958704,65.740997 -99.967655,65.740030 -99.969656,65.739924 -99.973391,65.740308 -99.976557,65.741401 -99.978672,65.743036 -99.979032,65.743567 -99.980093,65.745467 -99.980475,65.746865 -99.980421,65.747007 -99.980462,65.747130 -99.980203,65.749648 -99.980157,65.749752 -99.980083,65.750212 -99.979350,65.752477 -99.979374,65.753473 -99.979526,65.754449 -99.983859,65.754971 -99.984725,65.755115 -99.984921,65.755132 -99.990223,65.756109 -99.990418,65.756173 -99.990679,65.756199 -99.993847,65.757292 -99.995964,65.758928 -99.996432,65.759667 -99.997096,65.761078 -99.997372,65.762268 -99.996628,65.764198 -99.995715,65.765077 -99.993472,65.766802 -99.992267,65.767557 -99.989096,65.768650 -99.985729,65.769030 -99.984258,65.769059 -99.985593,65.770090 -99.986336,65.772019 -99.985591,65.773948 -99.985546,65.773983 -99.985530,65.774022 -99.984815,65.774874 -99.984139,65.775992 -99.985160,65.776930 -99.986226,65.777705 -99.987289,65.778696 -99.988032,65.780625 -99.987287,65.782554 -99.986574,65.783273 -99.984487,65.785016 -99.984252,65.785745 -99.984478,65.787728 -99.984364,65.788077 -99.984466,65.788408 -99.983994,65.791597 -99.983277,65.793144 -99.983062,65.793310 -99.982989,65.793470 -99.980449,65.796087 -99.978616,65.797397 -99.975441,65.798490 -99.973647,65.798772 -99.970732,65.799077 -99.968783,65.799178 -99.967777,65.799151 -99.963351,65.798915 -99.960614,65.798557 -99.957442,65.797464 -99.956566,65.796945 -99.954727,65.795694 -99.953486,65.794576 -99.952841,65.793356 -99.952622,65.792561 -99.950524,65.795522 -99.950516,65.795528 -99.950513,65.795536 -99.948454,65.798413 -99.948352,65.798495 -99.948311,65.798601 -99.947085,65.799705 -99.944009,65.801805 -99.944418,65.801978 -99.946535,65.803615 -99.947263,65.805272 -99.947669,65.809201 -99.947626,65.809327 -99.947682,65.809473 -99.946934,65.811403 -99.944809,65.813038 -99.942352,65.813959 -99.938041,65.815096 -99.937321,65.815268 -99.934759,65.815614 -99.930730,65.815865 -99.929546,65.815902 -99.925801,65.815517 -99.924168,65.815070 -99.920124,65.813697 -99.918585,65.813050 -99.917314,65.812241 -99.914179,65.809762 -99.913988,65.809575 -99.913844,65.809477 -99.910606,65.806503 -99.906347,65.803310 -99.903076,65.801558 -99.901851,65.801063 -99.894695,65.800668 -99.888075,65.800310 -99.887736,65.800266 -99.888482,65.801707 -99.890250,65.804105 -99.890341,65.804363 -99.890832,65.805357 -99.891622,65.809148 -99.893150,65.812080 -99.893172,65.812169 -99.893259,65.812312 -99.893984,65.814021 -99.898571,65.812061 -99.901086,65.811281 -99.904315,65.810905 -99.907153,65.810829 -99.907393,65.810850 -99.907670,65.810822 -99.911414,65.811207 -99.914585,65.812302 -99.916145,65.813353 -99.918320,65.815306 -99.918877,65.815891 -99.919440,65.816859 -99.920936,65.820857 -99.921065,65.821555 -99.921109,65.821662 -99.921362,65.826049 -99.921335,65.826124 -99.921367,65.826206 -99.921229,65.827042 -99.920040,65.830651 -99.919562,65.831503 -99.919516,65.831630 -99.916730,65.835332 -99.915402,65.838002 -99.914941,65.840662 -99.915148,65.841418 -99.915930,65.842513 -99.919561,65.845311 -99.923658,65.847979 -99.929816,65.851264 -99.936968,65.854599 -99.947570,65.858486 -99.948818,65.859030 -99.949391,65.859352 -99.955960,65.863380 -99.956355,65.863715 -99.956994,65.864149 -99.960474,65.867330 -99.960989,65.867876 -99.961467,65.868635 -99.961642,65.869014 -99.964081,65.870658 -99.965347,65.871790 -99.965871,65.872656 -99.967452,65.876432 -99.967456,65.876450 -99.967468,65.876470 -99.969387,65.881234 -99.973042,65.885014 -99.973203,65.885366 -99.973570,65.885672 -99.975481,65.888635 -99.976184,65.889008 -99.979697,65.889398 -99.986169,65.888898 -99.992221,65.888142 -99.994538,65.887999 -99.995565,65.888027 -100.003323,65.888447 -100.006051,65.888803 -100.009235,65.889896 -100.009285,65.889935 -100.009357,65.889960 -100.014171,65.892523 -100.014560,65.892828 -100.015938,65.893822 -100.018456,65.896485 -100.018517,65.896621 -100.018696,65.896758 -100.019123,65.897412 -100.021391,65.901858 -100.021476,65.901970 -100.024771,65.902033 -100.027937,65.902388 -100.029515,65.901173 -100.029594,65.901146 -100.029646,65.901107 -100.033003,65.899444 -100.033085,65.899416 -100.034035,65.898999 -100.036317,65.898145 -100.039776,65.896058 -100.040303,65.895764 -100.041096,65.895398 -100.045010,65.893781 -100.047399,65.893053 -100.051154,65.892668 -100.054910,65.893052 -100.057124,65.893811 -100.058926,65.892723 -100.059451,65.892431 -100.062633,65.891337 -100.066387,65.890952 -100.070143,65.891335 -100.073330,65.892427 -100.073397,65.892479 -100.073492,65.892512 -100.075407,65.893542 -100.077377,65.895093 -100.077651,65.895475 -100.079147,65.897847 -100.079625,65.899396 -100.079494,65.900226 -100.079128,65.901361 -100.080404,65.902479 -100.080509,65.902586 -100.080565,65.902625 -100.081855,65.903846 -100.081933,65.903930 -100.082798,65.902999 -100.084707,65.901610 -100.087888,65.900515 -100.088213,65.900482 -100.088450,65.900405 -100.089483,65.900222 -100.089302,65.899841 -100.089100,65.898983 -100.089028,65.898813 -100.088747,65.894426 -100.088774,65.894350 -100.088742,65.894268 -100.088875,65.893431 -100.090411,65.888694 -100.091018,65.887600 -100.093140,65.885962 -100.096319,65.884868 -100.096428,65.884857 -100.096515,65.884827 -100.105562,65.883012 -100.109119,65.882666 -100.112875,65.883049 -100.116062,65.884141 -100.118132,65.885699 -100.119032,65.886760 -100.119504,65.886451 -100.122682,65.885356 -100.126435,65.884971 -100.126514,65.884978 -100.126589,65.884971 -100.131527,65.885008 -100.135033,65.884988 -100.141778,65.884718 -100.146612,65.884342 -100.150375,65.884039 -100.155212,65.882848 -100.155449,65.882820 -100.155682,65.882740 -100.157300,65.882476 -100.165501,65.881530 -100.167634,65.881408 -100.169745,65.881524 -100.173544,65.881951 -100.175190,65.882216 -100.177296,65.882828 -100.180577,65.884078 -100.180712,65.883612 -100.181918,65.881606 -100.182216,65.881179 -100.184332,65.879541 -100.184665,65.879426 -100.184856,65.879290 -100.189456,65.877238 -100.189472,65.877232 -100.189530,65.877205 -100.192376,65.875961 -100.194186,65.874960 -100.195907,65.872808 -100.195913,65.872788 -100.194448,65.871367 -100.194063,65.870948 -100.193304,65.869019 -100.193349,65.868517 -100.194159,65.864199 -100.194847,65.862770 -100.195838,65.861828 -100.201012,65.857960 -100.202135,65.857264 -100.205307,65.856168 -100.209055,65.855781 -100.212808,65.856162 -100.212844,65.856174 -100.212885,65.856178 -100.217103,65.857094 -100.220215,65.858168 -100.221162,65.858729 -100.224405,65.860964 -100.225595,65.862037 -100.225635,65.862137 -100.225732,65.862214 -100.226770,65.863638 -100.230055,65.861503 -100.230786,65.861080 -100.230841,65.861061 -100.230877,65.861033 -100.236248,65.858325 -100.236694,65.858173 -100.238771,65.857405 -100.244631,65.855920 -100.242694,65.854440 -100.242623,65.854262 -100.242466,65.854133 -100.240552,65.851272 -100.240018,65.849650 -100.240748,65.847719 -100.240791,65.847686 -100.240805,65.847648 -100.242637,65.845443 -100.244689,65.843876 -100.247858,65.842780 -100.248063,65.842758 -100.248220,65.842706 -100.254811,65.841447 -100.255572,65.841377 -100.257300,65.841155 -100.258287,65.841107 -100.262370,65.838787 -100.262545,65.838724 -100.262678,65.838620 -100.265846,65.837523 -100.269591,65.837135 -100.273343,65.837515 -100.276531,65.838605 -100.278429,65.839965 -100.280970,65.842627 -100.281032,65.842764 -100.281212,65.842901 -100.281752,65.843782 -100.282897,65.846489 -100.285110,65.849577 -100.286795,65.851079 -100.289625,65.853409 -100.294966,65.856014 -100.295368,65.854946 -100.295937,65.854347 -100.299073,65.851532 -100.300612,65.850492 -100.303780,65.849395 -100.307526,65.849006 -100.307596,65.849014 -100.307665,65.849007 -100.312722,65.849037 -100.312837,65.849049 -100.314467,65.849129 -100.319380,65.849617 -100.321250,65.849904 -100.322529,65.850232 -100.326130,65.851331 -100.328042,65.852092 -100.328265,65.852262 -100.328529,65.852359 -100.332810,65.854884 -100.332816,65.854889 -100.332851,65.854909 -100.336643,65.857175 -100.336862,65.857356 -100.337448,65.857728 -100.339945,65.859712 -100.340179,65.859350 -100.342284,65.857711 -100.345451,65.856613 -100.348664,65.856232 -100.354347,65.856064 -100.354595,65.856086 -100.354881,65.856056 -100.357190,65.856194 -100.363383,65.856956 -100.369308,65.857471 -100.372235,65.857620 -100.377983,65.856501 -100.377905,65.856448 -100.376593,65.855243 -100.376110,65.854735 -100.375339,65.852806 -100.376060,65.850875 -100.377344,65.849720 -100.380197,65.847797 -100.381017,65.847313 -100.382383,65.846722 -100.387441,65.844914 -100.389239,65.844407 -100.389658,65.844363 -100.389951,65.844270 -100.393816,65.843614 -100.392507,65.842087 -100.392490,65.842046 -100.392442,65.842010 -100.391670,65.840081 -100.392390,65.838150 -100.394491,65.836510 -100.397654,65.835412 -100.397894,65.835387 -100.398076,65.835327 -100.402867,65.834427 -100.402932,65.834421 -100.403330,65.834346 -100.403498,65.834320 -100.401384,65.832578 -100.400663,65.831863 -100.399891,65.829934 -100.399938,65.829402 -100.400855,65.824633 -100.401526,65.823235 -100.403626,65.821595 -100.406787,65.820497 -100.407563,65.820349 -100.412730,65.819492 -100.411038,65.817775 -100.410963,65.817616 -100.410746,65.817451 -100.410005,65.815888 -100.409603,65.813296 -100.406239,65.811989 -100.404005,65.811380 -100.399479,65.810265 -100.396801,65.809294 -100.396594,65.809136 -100.396344,65.809045 -100.391591,65.806267 -100.389905,65.804885 -100.389137,65.803031 -100.389069,65.801422 -100.389082,65.801385 -100.389067,65.801346 -100.389644,65.799606 -100.391101,65.797521 -100.391105,65.797307 -100.388132,65.796351 -100.386420,65.795652 -100.386376,65.795619 -100.386313,65.795597 -100.383414,65.794071 -100.381379,65.792494 -100.380609,65.790566 -100.380732,65.789734 -100.381435,65.787475 -100.382031,65.786377 -100.384129,65.784738 -100.384338,65.784665 -100.384465,65.784571 -100.389722,65.782084 -100.391018,65.781656 -100.392156,65.781241 -100.397626,65.779914 -100.397824,65.779891 -100.398012,65.779825 -100.400506,65.779580 -100.401748,65.779436 -100.401857,65.779447 -100.401960,65.779436 -100.407559,65.779490 -100.407616,65.779496 -100.408378,65.779515 -100.411710,65.779692 -100.412024,65.779592 -100.416658,65.777575 -100.419173,65.776782 -100.419265,65.776772 -100.419340,65.776747 -100.426526,65.775274 -100.427216,65.775205 -100.429492,65.774930 -100.437441,65.774663 -100.437717,65.774686 -100.438042,65.774652 -100.441109,65.774900 -100.446968,65.775885 -100.447249,65.775973 -100.447647,65.776013 -100.448523,65.776225 -100.453718,65.777644 -100.454770,65.778042 -100.455539,65.778285 -100.459732,65.780150 -100.462841,65.779825 -100.463848,65.779850 -100.469928,65.780162 -100.472668,65.780514 -100.475857,65.781601 -100.476933,65.782250 -100.481069,65.785218 -100.481408,65.785529 -100.481676,65.785711 -100.483869,65.787743 -100.485277,65.788017 -100.485386,65.788053 -100.485522,65.788067 -100.487352,65.788575 -100.490565,65.789708 -100.492787,65.788879 -100.494846,65.787757 -100.494932,65.787726 -100.494993,65.787678 -100.498146,65.786579 -100.501881,65.786187 -100.505630,65.786563 -100.508251,65.787382 -100.511234,65.788679 -100.511804,65.788947 -100.513398,65.790006 -100.515561,65.791922 -100.519530,65.795302 -100.520061,65.795837 -100.520106,65.795871 -100.523044,65.799281 -100.526177,65.801599 -100.527162,65.802517 -100.527942,65.804445 -100.527232,65.806376 -100.526713,65.806936 -100.524363,65.809111 -100.522791,65.810191 -100.519636,65.811291 -100.517042,65.811646 -100.513116,65.811893 -100.505725,65.812421 -100.504421,65.812469 -100.504243,65.812451 -100.504080,65.812466 -100.497748,65.812366 -100.493556,65.812468 -100.493870,65.814231 -100.493911,65.814647 -100.493848,65.814817 -100.494127,65.814840 -100.497865,65.815489 -100.498111,65.815567 -100.498448,65.815600 -100.501642,65.816687 -100.502298,65.817055 -100.505118,65.818803 -100.507946,65.820544 -100.508251,65.820801 -100.508807,65.821163 -100.513525,65.825156 -100.516516,65.827285 -100.518376,65.827974 -100.522171,65.828286 -100.529367,65.828080 -100.537693,65.827606 -100.538725,65.827576 -100.539724,65.827600 -100.543622,65.827797 -100.553249,65.827181 -100.558026,65.826146 -100.558028,65.826146 -100.558030,65.826145 -100.560614,65.825791 -100.567304,65.825365 -100.572079,65.824330 -100.572080,65.824330 -100.572081,65.824330 -100.575820,65.823937 -100.579574,65.824312 -100.582773,65.825397 -100.583489,65.825802 -100.585063,65.826794 -100.587569,65.827738 -100.588670,65.828220 -100.590826,65.829851 -100.591188,65.830365 -100.592303,65.832257 -100.592725,65.833671 -100.592019,65.835602 -100.590081,65.837163 -100.587388,65.838635 -100.587299,65.838667 -100.587236,65.838716 -100.585789,65.839338 -100.579487,65.841551 -100.578692,65.841774 -100.578419,65.841877 -100.572035,65.843549 -100.571465,65.843791 -100.571959,65.844455 -100.572611,65.846214 -100.572601,65.846240 -100.572611,65.846265 -100.572612,65.849935 -100.571904,65.851816 -100.570633,65.852969 -100.567833,65.854868 -100.563627,65.857815 -100.560063,65.860366 -100.559093,65.860957 -100.558847,65.861058 -100.558885,65.861341 -100.560848,65.862198 -100.561046,65.862336 -100.561391,65.862453 -100.563548,65.864085 -100.563830,65.864468 -100.565364,65.866840 -100.565866,65.868386 -100.565753,65.869203 -100.565634,65.869598 -100.570843,65.868710 -100.575978,65.867658 -100.579550,65.867301 -100.579744,65.867321 -100.579920,65.867304 -100.585693,65.867402 -100.588000,65.867209 -100.590702,65.866919 -100.592655,65.866813 -100.595200,65.866979 -100.597908,65.867345 -100.599123,65.867554 -100.602327,65.868640 -100.602375,65.868676 -100.602442,65.868699 -100.604875,65.869972 -100.610984,65.873167 -100.612496,65.873869 -100.615988,65.872300 -100.618614,65.871456 -100.622359,65.871063 -100.625447,65.871310 -100.631336,65.872294 -100.631371,65.872306 -100.631429,65.872310 -100.634368,65.872818 -100.634622,65.871979 -100.634406,65.870805 -100.633569,65.869412 -100.633131,65.867976 -100.633249,65.867138 -100.634151,65.864186 -100.634274,65.863956 -100.634318,65.863758 -100.635233,65.861857 -100.634787,65.860956 -100.634485,65.859767 -100.634524,65.859659 -100.634488,65.859562 -100.634619,65.857273 -100.634655,65.857183 -100.634632,65.857116 -100.635331,65.851189 -100.635043,65.846819 -100.635062,65.846764 -100.635038,65.846705 -100.635314,65.845461 -100.636547,65.842847 -100.636177,65.839995 -100.634740,65.836082 -100.634720,65.835983 -100.634685,65.835920 -100.633936,65.833439 -100.632937,65.831664 -100.628633,65.827537 -100.628249,65.827126 -100.628171,65.826935 -100.628004,65.826799 -100.625616,65.823252 -100.623014,65.821018 -100.622399,65.820396 -100.621613,65.818468 -100.621636,65.818059 -100.622103,65.814641 -100.622151,65.814534 -100.622194,65.814224 -100.622704,65.812528 -100.622220,65.811973 -100.622199,65.811925 -100.622142,65.811882 -100.621471,65.810672 -100.620633,65.807888 -100.620518,65.807169 -100.621221,65.805238 -100.622924,65.803898 -100.621404,65.803411 -100.619693,65.802716 -100.617910,65.801487 -100.616163,65.799801 -100.615790,65.799400 -100.615005,65.797472 -100.615122,65.796638 -100.615787,65.794447 -100.615683,65.793467 -100.613539,65.791649 -100.609011,65.789278 -100.608966,65.789243 -100.608145,65.788758 -100.604887,65.786515 -100.603709,65.785460 -100.603689,65.785412 -100.603639,65.785373 -100.601206,65.782268 -100.600492,65.780427 -100.600531,65.780321 -100.600496,65.780226 -100.600626,65.777937 -100.601327,65.776207 -100.603411,65.774567 -100.604381,65.774123 -100.612033,65.771063 -100.612656,65.770876 -100.613168,65.770672 -100.620880,65.768403 -100.619309,65.766873 -100.619170,65.766722 -100.619141,65.766701 -100.615754,65.763077 -100.615704,65.762968 -100.615565,65.762862 -100.614781,65.760935 -100.615484,65.759004 -100.616282,65.758199 -100.619990,65.755170 -100.621275,65.754334 -100.622580,65.753761 -100.626773,65.752229 -100.627754,65.751824 -100.628021,65.750107 -100.628692,65.748636 -100.630774,65.746995 -100.631102,65.746880 -100.631289,65.746744 -100.635836,65.744684 -100.638465,65.743834 -100.638713,65.743794 -100.638224,65.742595 -100.638837,65.740782 -100.640760,65.738119 -100.640825,65.738067 -100.640849,65.738001 -100.642793,65.736433 -100.645486,65.734961 -100.645566,65.734932 -100.645622,65.734888 -100.648764,65.733787 -100.648956,65.733764 -100.649941,65.732760 -100.651672,65.731516 -100.652968,65.730946 -100.657268,65.729369 -100.660319,65.728182 -100.660389,65.728161 -100.660482,65.728120 -100.664273,65.726709 -100.666172,65.726158 -100.668020,65.725864 -100.677807,65.724841 -100.679684,65.724742 -100.683427,65.725115 -100.686618,65.726199 -100.688772,65.727828 -100.689561,65.729755 -100.689459,65.730544 -100.688781,65.732940 -100.688773,65.732954 -100.688770,65.732975 -100.688031,65.735462 -100.687760,65.735976 -100.687691,65.736215 -100.685502,65.739786 -100.685297,65.739962 -100.685207,65.740203 -100.682665,65.743349 -100.679698,65.747864 -100.679507,65.748024 -100.679429,65.748226 -100.675192,65.753334 -100.672720,65.757096 -100.672592,65.760174 -100.673623,65.763185 -100.673772,65.764004 -100.673073,65.765935 -100.671855,65.767056 -100.666904,65.770490 -100.666041,65.771010 -100.665925,65.771050 -100.665852,65.771106 -100.662161,65.772939 -100.659812,65.774968 -100.658404,65.775908 -100.658390,65.775913 -100.658380,65.775920 -100.657712,65.776269 -100.656663,65.777575 -100.656532,65.777676 -100.655325,65.778753 -100.650490,65.781921 -100.651297,65.783096 -100.651308,65.783127 -100.651406,65.783263 -100.652758,65.785475 -100.653546,65.785997 -100.654834,65.787124 -100.655121,65.787514 -100.658905,65.793376 -100.660922,65.796209 -100.664826,65.799636 -100.669938,65.803778 -100.674634,65.806948 -100.678051,65.808973 -100.683651,65.811905 -100.683672,65.811922 -100.684147,65.812185 -100.687008,65.813924 -100.687159,65.814051 -100.687576,65.814305 -100.690415,65.816403 -100.692317,65.817171 -100.698501,65.818143 -100.704648,65.818649 -100.709868,65.818901 -100.711222,65.819071 -100.712084,65.819143 -100.715829,65.819791 -100.716022,65.819852 -100.716292,65.819878 -100.725308,65.821701 -100.725358,65.821717 -100.725417,65.821723 -100.728620,65.822807 -100.729345,65.823215 -100.731421,65.824521 -100.734908,65.826343 -100.735790,65.826386 -100.738546,65.826736 -100.741383,65.827695 -100.741548,65.827460 -100.741830,65.827229 -100.741934,65.826986 -100.743575,65.825232 -100.745388,65.823902 -100.748536,65.822799 -100.750318,65.822511 -100.753201,65.822199 -100.755156,65.822091 -100.758912,65.822463 -100.760359,65.822839 -100.762945,65.823656 -100.764703,65.824362 -100.764746,65.824395 -100.764807,65.824415 -100.768210,65.826185 -100.768622,65.826500 -100.770068,65.827532 -100.772425,65.830015 -100.773316,65.829370 -100.774291,65.828770 -100.774863,65.828493 -100.781356,65.825594 -100.781792,65.825454 -100.782572,65.825131 -100.787530,65.823537 -100.788889,65.823173 -100.792625,65.822777 -100.796382,65.823149 -100.799588,65.824232 -100.801403,65.825481 -100.803150,65.827175 -100.803503,65.827554 -100.804302,65.829481 -100.803970,65.830857 -100.802681,65.833329 -100.802321,65.833886 -100.800567,65.835350 -100.795829,65.838097 -100.795774,65.838117 -100.795730,65.838153 -100.792350,65.840053 -100.792224,65.840099 -100.792131,65.840172 -100.786142,65.843324 -100.786139,65.843325 -100.786137,65.843326 -100.783926,65.844194 -100.777768,65.845957 -100.777416,65.846045 -100.782463,65.849312 -100.782618,65.849445 -100.782915,65.849628 -100.785994,65.851970 -100.789116,65.854102 -100.790306,65.855158 -100.790333,65.855222 -100.790399,65.855273 -100.792437,65.857889 -100.792517,65.858095 -100.793054,65.859091 -100.793856,65.862120 -100.793945,65.862731 -100.793524,65.864264 -100.791825,65.867137 -100.792244,65.869735 -100.793042,65.872669 -100.793829,65.873431 -100.796543,65.875707 -100.798729,65.876426 -100.799097,65.876577 -100.799378,65.876659 -100.807457,65.879810 -100.807828,65.879975 -100.807932,65.880007 -100.811433,65.881556 -100.811609,65.881679 -100.811906,65.881779 -100.814079,65.883408 -100.814880,65.885336 -100.814769,65.886169 -100.814030,65.888656 -100.813448,65.889756 -100.812349,65.890624 -100.816155,65.892593 -100.816959,65.893205 -100.818153,65.894081 -100.819386,65.895478 -100.824078,65.895143 -100.825364,65.895095 -100.825545,65.895113 -100.825710,65.895097 -100.832453,65.895196 -100.832790,65.895232 -100.834359,65.895320 -100.837617,65.895702 -100.839132,65.895947 -100.842347,65.897029 -100.842771,65.897346 -100.842727,65.896493 -100.842737,65.896464 -100.842724,65.896435 -100.843415,65.894502 -100.843764,65.894103 -100.846977,65.890823 -100.848067,65.890038 -100.848470,65.889706 -100.848934,65.889445 -100.848916,65.889352 -100.848869,65.888927 -100.849203,65.887545 -100.850493,65.885081 -100.850849,65.884530 -100.852393,65.883192 -100.857200,65.880209 -100.857734,65.879904 -100.860396,65.878914 -100.865457,65.877637 -100.865662,65.877551 -100.867589,65.876250 -100.868985,65.874295 -100.869053,65.874240 -100.869078,65.874170 -100.871154,65.872527 -100.873905,65.871514 -100.879367,65.870172 -100.879571,65.870147 -100.879765,65.870079 -100.883505,65.869682 -100.887270,65.870052 -100.890485,65.871134 -100.891364,65.871639 -100.893043,65.872742 -100.896329,65.874616 -100.900341,65.875607 -100.900385,65.875623 -100.900609,65.875676 -100.904436,65.876696 -100.909547,65.877799 -100.913588,65.877988 -100.914256,65.878071 -100.915170,65.878129 -100.923301,65.879212 -100.923492,65.879245 -100.923571,65.879250 -100.932748,65.880616 -100.933704,65.880786 -100.936921,65.881867 -100.938526,65.882963 -100.939775,65.882746 -100.945504,65.879478 -100.945655,65.879423 -100.945767,65.879334 -100.946936,65.878953 -100.948913,65.878229 -100.949280,65.878189 -100.949541,65.878104 -100.956673,65.876838 -100.959786,65.876564 -100.963552,65.876933 -100.964859,65.877263 -100.966098,65.877637 -100.969448,65.875558 -100.975621,65.871544 -100.976282,65.871156 -100.977171,65.870743 -100.982478,65.868562 -100.981676,65.868203 -100.980504,65.867498 -100.976774,65.864789 -100.975765,65.863867 -100.974954,65.861940 -100.975635,65.860007 -100.976542,65.859107 -100.978740,65.857383 -100.979902,65.856638 -100.981243,65.856049 -100.986255,65.854226 -100.988056,65.853709 -100.990829,65.853338 -100.995399,65.853086 -100.996363,65.853058 -100.997367,65.853080 -101.002371,65.853324 -101.005130,65.853671 -101.008348,65.854751 -101.010529,65.856378 -101.010548,65.856423 -101.010596,65.856459 -101.012455,65.858773 -101.015749,65.858795 -101.019304,65.859163 -101.019414,65.859200 -101.019534,65.859213 -101.022173,65.859800 -101.025162,65.860831 -101.026018,65.861318 -101.029685,65.863699 -101.031317,65.864664 -101.033566,65.865125 -101.038132,65.864374 -101.041025,65.864136 -101.043714,65.864317 -101.048574,65.865003 -101.049650,65.865190 -101.052870,65.866270 -101.052909,65.866298 -101.052964,65.866317 -101.055760,65.867755 -101.056730,65.867006 -101.056616,65.866879 -101.056594,65.866829 -101.056534,65.866784 -101.055973,65.865912 -101.054651,65.862995 -101.052879,65.859829 -101.050922,65.858259 -101.050174,65.857537 -101.049485,65.856334 -101.048297,65.852603 -101.048169,65.851879 -101.048845,65.849946 -101.048977,65.849841 -101.049020,65.849732 -101.051523,65.846864 -101.053338,65.845489 -101.053401,65.845439 -101.057368,65.843333 -101.057375,65.843331 -101.057380,65.843327 -101.060518,65.842220 -101.063848,65.841826 -101.070068,65.841666 -101.070630,65.841651 -101.070868,65.840818 -101.070221,65.839080 -101.070074,65.838357 -101.070051,65.838305 -101.069869,65.835649 -101.068349,65.832670 -101.068027,65.831479 -101.068056,65.831396 -101.068026,65.831319 -101.068128,65.827217 -101.067583,65.824022 -101.066722,65.821694 -101.066551,65.820844 -101.066573,65.820779 -101.066549,65.820719 -101.066568,65.819047 -101.065555,65.815465 -101.065454,65.814832 -101.066128,65.812899 -101.068190,65.811254 -101.068386,65.811185 -101.068504,65.811095 -101.071631,65.809584 -101.072704,65.808773 -101.072171,65.808172 -101.072150,65.808125 -101.072094,65.808084 -101.071329,65.806583 -101.070628,65.803104 -101.070578,65.802678 -101.070877,65.801342 -101.072206,65.798657 -101.072278,65.798542 -101.072288,65.798500 -101.073774,65.795856 -101.072707,65.795063 -101.071016,65.793965 -101.069688,65.792825 -101.068873,65.790898 -101.069546,65.788966 -101.069573,65.788944 -101.069582,65.788919 -101.070452,65.787813 -101.070458,65.787808 -101.070460,65.787803 -101.073093,65.784476 -101.073113,65.784461 -101.073325,65.784222 -101.071958,65.782509 -101.071925,65.782427 -101.071850,65.782368 -101.069716,65.779450 -101.066770,65.776867 -101.063296,65.774346 -101.062458,65.773581 -101.062359,65.773508 -101.060503,65.771411 -101.055851,65.767554 -101.055320,65.767033 -101.055262,65.766990 -101.053126,65.764595 -101.053074,65.764477 -101.052945,65.764378 -101.051348,65.762343 -101.048328,65.760218 -101.046423,65.759233 -101.043232,65.757996 -101.037895,65.756217 -101.037211,65.755936 -101.036913,65.755844 -101.030924,65.753257 -101.030720,65.753117 -101.030369,65.752998 -101.028558,65.751759 -101.025041,65.748387 -101.024678,65.748000 -101.023946,65.746633 -101.023486,65.744801 -101.020794,65.744443 -101.019575,65.744235 -101.016369,65.743156 -101.014196,65.741530 -101.013797,65.740966 -101.012287,65.738364 -101.011876,65.737002 -101.011907,65.736914 -101.011876,65.736833 -101.011978,65.733436 -101.011846,65.733255 -101.009280,65.731312 -101.008378,65.730467 -101.008085,65.730075 -101.006530,65.727702 -101.006427,65.727397 -101.006137,65.726885 -101.005138,65.723697 -101.003890,65.722052 -101.003861,65.721975 -101.003797,65.721925 -101.002228,65.719681 -101.000708,65.718525 -100.995907,65.718297 -100.991034,65.718462 -100.990774,65.718440 -100.990474,65.718472 -100.986728,65.718104 -100.985141,65.717683 -100.981036,65.716340 -100.979422,65.715681 -100.977253,65.714055 -100.976446,65.712129 -100.976548,65.711309 -100.977129,65.709272 -100.977704,65.708160 -100.979763,65.706517 -100.980462,65.706181 -100.984292,65.704518 -100.986719,65.703748 -100.986801,65.703740 -100.986867,65.703717 -100.989511,65.703162 -100.989696,65.702520 -100.988405,65.699440 -100.988289,65.698923 -100.988213,65.698765 -100.987825,65.696217 -100.987866,65.696075 -100.987796,65.695909 -100.988473,65.693978 -100.990530,65.692334 -100.992336,65.691583 -100.996036,65.690393 -100.997355,65.690039 -101.001071,65.689640 -101.004813,65.690008 -101.008013,65.691087 -101.008055,65.691119 -101.008114,65.691139 -101.011997,65.693153 -101.012140,65.693262 -101.012309,65.693323 -101.017612,65.696336 -101.018825,65.697307 -101.019283,65.697641 -101.020557,65.699076 -101.020580,65.699128 -101.020643,65.699175 -101.021423,65.700793 -101.021813,65.703333 -101.021772,65.703475 -101.021842,65.703641 -101.021491,65.705075 -101.021189,65.705637 -101.022646,65.707435 -101.024984,65.709842 -101.026822,65.710944 -101.032018,65.712962 -101.032978,65.713387 -101.033020,65.713418 -101.033079,65.713439 -101.039915,65.716978 -101.040256,65.717238 -101.041739,65.718280 -101.044333,65.720927 -101.044399,65.721064 -101.044581,65.721200 -101.045375,65.722899 -101.045880,65.727005 -101.046398,65.730062 -101.048482,65.733335 -101.050759,65.735523 -101.053897,65.736966 -101.054066,65.737086 -101.054327,65.737175 -101.058324,65.739245 -101.066493,65.741733 -101.068561,65.742193 -101.069669,65.742576 -101.071295,65.743102 -101.076735,65.745650 -101.076832,65.745720 -101.076986,65.745772 -101.079164,65.747398 -101.079660,65.748139 -101.081021,65.750822 -101.082332,65.752893 -101.083130,65.753417 -101.084430,65.754539 -101.084929,65.755284 -101.085280,65.755978 -101.086813,65.757294 -101.086892,65.757374 -101.086936,65.757403 -101.089607,65.759829 -101.089740,65.759967 -101.089783,65.759997 -101.091974,65.762171 -101.092026,65.762276 -101.092181,65.762390 -101.093685,65.764074 -101.097022,65.767006 -101.097441,65.767430 -101.097481,65.767460 -101.099936,65.770215 -101.101982,65.769330 -101.104390,65.768568 -101.108115,65.768168 -101.111869,65.768534 -101.115081,65.769613 -101.117262,65.771238 -101.117620,65.771731 -101.118781,65.773615 -101.119240,65.775048 -101.119139,65.775877 -101.118398,65.778487 -101.118652,65.780184 -101.119872,65.780911 -101.120236,65.781208 -101.120878,65.781626 -101.123136,65.783563 -101.123727,65.784154 -101.124371,65.785226 -101.125334,65.787804 -101.125508,65.788659 -101.125146,65.790120 -101.123546,65.793048 -101.123949,65.793841 -101.124034,65.794156 -101.124168,65.794399 -101.125016,65.797420 -101.125115,65.798043 -101.124445,65.799976 -101.123285,65.801070 -101.121671,65.802221 -101.122011,65.802278 -101.125227,65.803357 -101.127411,65.804982 -101.128231,65.806908 -101.127739,65.808588 -101.126732,65.810152 -101.126669,65.810205 -101.126645,65.810281 -101.126220,65.810885 -101.127908,65.810862 -101.127991,65.810870 -101.128077,65.810861 -101.128943,65.810959 -101.131837,65.811227 -101.132096,65.811314 -101.132354,65.811343 -101.137084,65.812488 -101.137873,65.812769 -101.139138,65.813153 -101.144661,65.815472 -101.145308,65.815769 -101.147494,65.817395 -101.147534,65.817490 -101.147630,65.817563 -101.149271,65.819707 -101.149956,65.821464 -101.149702,65.822713 -101.148268,65.825864 -101.148079,65.826177 -101.148056,65.826258 -101.144982,65.831164 -101.144846,65.831281 -101.144790,65.831442 -101.142113,65.834982 -101.142106,65.834988 -101.142104,65.834994 -101.140860,65.836147 -101.139682,65.836962 -101.140932,65.837444 -101.141903,65.837871 -101.143597,65.838993 -101.145932,65.841083 -101.146172,65.841239 -101.149155,65.842112 -101.151173,65.842891 -101.151209,65.842917 -101.151260,65.842935 -101.154701,65.844697 -101.156802,65.846279 -101.157625,65.848205 -101.157619,65.848224 -101.157627,65.848243 -101.157673,65.850090 -101.157003,65.851985 -101.154944,65.853631 -101.152539,65.854559 -101.152441,65.854586 -101.153338,65.854683 -101.156561,65.855761 -101.158751,65.857387 -101.159575,65.859313 -101.158906,65.861247 -101.158884,65.861264 -101.158877,65.861284 -101.158745,65.861453 -101.161152,65.862088 -101.163543,65.862971 -101.164797,65.863732 -101.165937,65.864580 -101.168688,65.864006 -101.169004,65.863974 -101.171062,65.863683 -101.175082,65.863409 -101.176278,65.863365 -101.179995,65.863721 -101.180769,65.863878 -101.181518,65.861202 -101.182088,65.860091 -101.184146,65.858445 -101.187281,65.857336 -101.190888,65.856935 -101.194832,65.856889 -101.194895,65.856895 -101.194960,65.856888 -101.198113,65.857139 -101.201881,65.857772 -101.202140,65.857852 -101.202494,65.857887 -101.205338,65.858783 -101.209328,65.860576 -101.209473,65.860678 -101.209710,65.860757 -101.211903,65.862382 -101.212697,65.863990 -101.213014,65.865907 -101.213208,65.866197 -101.215796,65.866314 -101.218606,65.866660 -101.220133,65.867067 -101.221817,65.865648 -101.225837,65.863306 -101.226010,65.863242 -101.226139,65.863138 -101.229273,65.862029 -101.233008,65.861626 -101.234042,65.861649 -101.236516,65.861771 -101.240557,65.861838 -101.242049,65.860527 -101.242186,65.860434 -101.242311,65.860310 -101.245905,65.857494 -101.247035,65.856768 -101.250168,65.855659 -101.253902,65.855255 -101.255714,65.855333 -101.260657,65.855783 -101.262612,65.856070 -101.265839,65.857147 -101.267281,65.858050 -101.269120,65.859515 -101.269874,65.860236 -101.270652,65.861740 -101.271134,65.864059 -101.271139,65.864101 -101.271144,65.864111 -101.271593,65.866508 -101.276603,65.867452 -101.276725,65.867491 -101.276878,65.867506 -101.278350,65.867885 -101.280936,65.868693 -101.282693,65.869391 -101.284805,65.870918 -101.285105,65.871250 -101.287091,65.869795 -101.288050,65.869197 -101.290874,65.868158 -101.293270,65.867579 -101.293430,65.867560 -101.293578,65.867507 -101.297313,65.867104 -101.301082,65.867468 -101.303086,65.868024 -101.308205,65.869863 -101.309431,65.870382 -101.310516,65.871019 -101.314708,65.873931 -101.316082,65.874846 -101.316938,65.874990 -101.317197,65.875070 -101.317552,65.875104 -101.318420,65.875308 -101.321555,65.876139 -101.323919,65.877012 -101.326120,65.878636 -101.326855,65.880331 -101.328700,65.878849 -101.329426,65.878501 -101.331349,65.877669 -101.333754,65.876907 -101.337490,65.876503 -101.341261,65.876866 -101.342556,65.877190 -101.346195,65.878273 -101.348132,65.879025 -101.348921,65.879466 -101.352077,65.881447 -101.358805,65.883425 -101.359039,65.883515 -101.359376,65.883606 -101.368542,65.886736 -101.372565,65.888038 -101.373545,65.888433 -101.373829,65.888522 -101.378353,65.890559 -101.378489,65.890654 -101.378710,65.890728 -101.379518,65.891179 -101.383655,65.893789 -101.386845,65.895580 -101.394187,65.897135 -101.398657,65.897978 -101.401342,65.897942 -101.483505,65.922487 -101.483314,65.922538 -101.483969,65.923261 -101.483990,65.923306 -101.484044,65.923346 -101.484460,65.924228 -101.487937,65.923850 -101.491716,65.924211 -101.493271,65.924612 -101.497436,65.925932 -101.499125,65.926605 -101.500740,65.927639 -101.503037,65.929577 -101.503637,65.930166 -101.504396,65.931532 -101.505201,65.934514 -101.505568,65.934786 -101.507591,65.935264 -101.513207,65.936392 -101.513231,65.936400 -101.513260,65.936402 -101.514378,65.936777 -101.516506,65.937476 -101.516537,65.937499 -101.516583,65.937514 -101.520062,65.939269 -101.522201,65.940854 -101.522495,65.941234 -101.522751,65.941608 -101.523030,65.941567 -101.528789,65.941124 -101.529947,65.941076 -101.530001,65.941070 -101.537919,65.940971 -101.537978,65.940977 -101.538038,65.940970 -101.541517,65.941271 -101.544736,65.941866 -101.544870,65.941909 -101.545039,65.941925 -101.545866,65.942117 -101.550092,65.943215 -101.550257,65.943275 -101.550709,65.943390 -101.553168,65.944145 -101.554343,65.944477 -101.554140,65.943418 -101.554183,65.943257 -101.554097,65.943064 -101.554741,65.941128 -101.556784,65.939478 -101.557337,65.939205 -101.563753,65.936284 -101.566329,65.935443 -101.567698,65.935200 -101.574121,65.934330 -101.576491,65.934165 -101.580273,65.934525 -101.582531,65.935169 -101.584583,65.935947 -101.585573,65.936375 -101.586798,65.937103 -101.589171,65.938812 -101.590167,65.939707 -101.590553,65.940227 -101.591729,65.942112 -101.591767,65.942227 -101.591912,65.942443 -101.593032,65.944770 -101.594559,65.946110 -101.596620,65.947311 -101.600980,65.948959 -101.607771,65.950459 -101.612116,65.950786 -101.619371,65.950142 -101.621392,65.949022 -101.622612,65.947521 -101.622734,65.946404 -101.622727,65.946399 -101.622105,65.946163 -101.621119,65.945736 -101.618896,65.944114 -101.618236,65.943058 -101.617214,65.940495 -101.617018,65.939625 -101.617658,65.937690 -101.619547,65.936121 -101.622315,65.934571 -101.620786,65.933266 -101.620219,65.932708 -101.619363,65.930783 -101.620003,65.928848 -101.621504,65.927510 -101.623533,65.926221 -101.624070,65.925908 -101.626417,65.924988 -101.630682,65.923798 -101.630912,65.923740 -101.630951,65.923725 -101.634251,65.922872 -101.635069,65.922073 -101.636557,65.921013 -101.636606,65.920972 -101.638582,65.919904 -101.638600,65.919898 -101.638611,65.919889 -101.641736,65.918774 -101.645344,65.918366 -101.653261,65.918259 -101.653325,65.918265 -101.653390,65.918258 -101.655432,65.918354 -101.659269,65.918743 -101.659733,65.918813 -101.659984,65.918830 -101.662640,65.919205 -101.663714,65.918475 -101.664442,65.918036 -101.665143,65.917696 -101.668973,65.916017 -101.671394,65.915242 -101.673832,65.914886 -101.679568,65.914451 -101.680866,65.914398 -101.682524,65.914458 -101.688596,65.914947 -101.690719,65.915244 -101.693497,65.916097 -101.695953,65.917161 -101.697042,65.916682 -101.703878,65.914225 -101.705569,65.913740 -101.709304,65.913330 -101.713084,65.913687 -101.716335,65.914758 -101.716375,65.914787 -101.716431,65.914806 -101.720406,65.916812 -101.722536,65.918386 -101.723399,65.920311 -101.723357,65.920438 -101.723402,65.920551 -101.723390,65.920923 -101.728031,65.921918 -101.731106,65.922952 -101.733333,65.924573 -101.733352,65.924614 -101.733397,65.924648 -101.735977,65.927738 -101.736777,65.929587 -101.736145,65.931523 -101.735385,65.932322 -101.731777,65.935381 -101.730505,65.936234 -101.729632,65.936648 -101.722681,65.939555 -101.720431,65.940257 -101.718237,65.940593 -101.711316,65.941211 -101.709771,65.941285 -101.705987,65.940927 -101.705149,65.940734 -101.697747,65.938811 -101.695333,65.937933 -101.693107,65.936312 -101.693079,65.936249 -101.693012,65.936200 -101.692003,65.934962 -101.690377,65.934376 -101.688567,65.935612 -101.688075,65.937489 -101.686597,65.943163 -101.686043,65.944281 -101.685059,65.945260 -101.680833,65.948510 -101.679782,65.949183 -101.677322,65.950134 -101.674525,65.950890 -101.677656,65.951142 -101.681360,65.951300 -101.686600,65.951308 -101.686704,65.951318 -101.686795,65.951309 -101.694110,65.951393 -101.694178,65.951400 -101.694743,65.951410 -101.697178,65.951519 -101.697912,65.951209 -101.701196,65.950128 -101.703006,65.949384 -101.709037,65.946436 -101.714128,65.943749 -101.714320,65.943681 -101.716403,65.942862 -101.720630,65.941675 -101.724505,65.940563 -101.727863,65.939001 -101.734821,65.935109 -101.734900,65.935080 -101.734955,65.935036 -101.736753,65.934403 -101.738077,65.933920 -101.738152,65.933912 -101.738212,65.933890 -101.743575,65.932746 -101.743797,65.932723 -101.745815,65.932423 -101.753063,65.931847 -101.755387,65.931602 -101.758060,65.930594 -101.759925,65.930045 -101.762103,65.929709 -101.775671,65.928483 -101.781613,65.927762 -101.787691,65.926465 -101.795080,65.924530 -101.798554,65.922755 -101.798576,65.922748 -101.798588,65.922738 -101.805389,65.919298 -101.811777,65.915399 -101.811905,65.915351 -101.812009,65.915263 -101.817274,65.912280 -101.817371,65.912244 -101.817440,65.912189 -101.818024,65.911899 -101.823113,65.909588 -101.823351,65.909510 -101.823882,65.909273 -101.829481,65.907213 -101.831244,65.906700 -101.831246,65.906700 -101.831249,65.906699 -101.836810,65.905459 -101.834903,65.904075 -101.834034,65.902151 -101.834658,65.900215 -101.835071,65.899735 -101.836589,65.898194 -101.838201,65.897022 -101.841315,65.895905 -101.844073,65.895525 -101.850923,65.895121 -101.851896,65.895088 -101.852845,65.895105 -101.859676,65.895393 -101.868881,65.895386 -101.879410,65.894159 -101.888097,65.893145 -101.888101,65.893145 -101.888105,65.893144 -101.902591,65.891458 -101.904598,65.891335 -101.904660,65.891341 -101.904720,65.891334 -101.915415,65.891319 -101.915497,65.891327 -101.916969,65.891380 -101.922076,65.891792 -101.928174,65.891665 -101.933463,65.891392 -101.937211,65.890407 -101.941349,65.888860 -101.950091,65.885189 -101.955053,65.882482 -101.958635,65.879857 -101.962358,65.876742 -101.962822,65.874860 -101.962824,65.874855 -101.962825,65.874848 -101.963566,65.871896 -101.963567,65.871894 -101.963567,65.871891 -101.964548,65.868010 -101.964873,65.864565 -101.965483,65.863050 -101.966235,65.862251 -101.969806,65.859192 -101.971068,65.858338 -101.972227,65.857805 -101.979696,65.854898 -101.981641,65.854313 -101.982393,65.854163 -101.987345,65.853297 -101.991968,65.852293 -101.994469,65.851607 -101.996928,65.850619 -101.997014,65.850593 -101.997127,65.850541 -102.001304,65.848951 -102.003641,65.847975 -102.003743,65.847943 -102.003904,65.847869 -102.007635,65.846419 -102.009569,65.845837 -102.011752,65.845498 -102.015192,65.845186 -102.015711,65.845160 -102.015896,65.845135 -102.023295,65.844746 -102.023369,65.844744 -102.023387,65.844741 -102.028096,65.844517 -102.033385,65.844031 -102.040310,65.842409 -102.046590,65.840649 -102.051601,65.838005 -102.055952,65.835011 -102.056534,65.834655 -102.056561,65.834633 -102.060997,65.832145 -102.065502,65.829396 -102.068937,65.826123 -102.070642,65.823060 -102.070842,65.822880 -102.070923,65.822631 -102.073434,65.819305 -102.075397,65.817708 -102.075577,65.817643 -102.075685,65.817558 -102.082063,65.814377 -102.084871,65.813407 -102.085237,65.813366 -102.085495,65.813279 -102.089606,65.812524 -102.092700,65.812236 -102.093647,65.812251 -102.098086,65.812434 -102.100912,65.812770 -102.102526,65.813299 -102.102684,65.813237 -102.102868,65.813085 -102.105413,65.812100 -102.111409,65.810506 -102.111848,65.810449 -102.112254,65.810307 -102.118659,65.808992 -102.124124,65.807799 -102.123974,65.807709 -102.119695,65.804558 -102.118782,65.803735 -102.117897,65.801812 -102.118316,65.800157 -102.120186,65.797021 -102.120321,65.796902 -102.120371,65.796742 -102.120998,65.796048 -102.126759,65.790784 -102.127336,65.790380 -102.127599,65.790141 -102.131119,65.787859 -102.131657,65.787367 -102.131420,65.787075 -102.128730,65.785603 -102.124177,65.784639 -102.117407,65.784359 -102.116661,65.784270 -102.115717,65.784212 -102.105957,65.782908 -102.104828,65.782719 -102.104647,65.782660 -102.104460,65.782640 -102.097028,65.780962 -102.094146,65.779975 -102.093234,65.779465 -102.086168,65.774945 -102.082444,65.772844 -102.082405,65.772814 -102.082214,65.772710 -102.077331,65.769757 -102.076818,65.769341 -102.076274,65.768985 -102.073613,65.766607 -102.069953,65.764559 -102.069761,65.764410 -102.069128,65.764032 -102.065911,65.761678 -102.061716,65.758841 -102.061716,65.758841 -102.061716,65.758841 -102.056701,65.755449 -102.052098,65.753563 -102.051430,65.753263 -102.051393,65.753236 -102.051341,65.753219 -102.045375,65.750224 -102.041399,65.748236 -102.039242,65.746656 -102.039193,65.746549 -102.039085,65.746467 -102.036103,65.742675 -102.036012,65.742456 -102.035540,65.741682 -102.034589,65.739029 -102.033939,65.737633 -102.032797,65.736692 -102.031252,65.735709 -102.031107,65.735588 -102.030845,65.735432 -102.027519,65.732998 -102.026758,65.732311 -102.026666,65.732246 -102.025346,65.730819 -102.025322,65.730769 -102.025261,65.730725 -102.024385,65.728803 -102.024678,65.727388 -102.025785,65.725145 -102.026100,65.724626 -102.028102,65.722973 -102.031190,65.721855 -102.034896,65.721440 -102.036619,65.721504 -102.038361,65.721650 -102.037940,65.720463 -102.037785,65.719732 -102.038300,65.717932 -102.040078,65.715254 -102.040148,65.715194 -102.040171,65.715120 -102.041138,65.714140 -102.043915,65.711966 -102.044485,65.711595 -102.044599,65.711494 -102.049185,65.708702 -102.049424,65.708610 -102.049604,65.708463 -102.051438,65.707485 -102.050663,65.706710 -102.047198,65.704791 -102.042206,65.702743 -102.041537,65.702442 -102.041503,65.702418 -102.041457,65.702403 -102.036986,65.700159 -102.036887,65.700087 -102.035507,65.699221 -102.033845,65.697869 -102.027904,65.696477 -102.023544,65.695928 -102.017144,65.695218 -102.015605,65.694978 -102.015605,65.694978 -102.015605,65.694978 -102.011355,65.694115 -102.011115,65.694037 -102.010876,65.694011 -102.008000,65.693336 -102.006921,65.692634 -102.006033,65.685568 -102.009195,65.678884 -102.020358,65.668554 -102.020376,65.668554 -102.029412,65.657953 -102.031512,65.651536 -102.032803,65.646816 -102.032846,65.646728 -102.032859,65.646635 -102.035173,65.639951 -102.035635,65.639082 -102.036097,65.638544 -102.040423,65.634230 -102.040781,65.631194 -102.041033,65.623229 -102.041073,65.623119 -102.041118,65.622644 -102.043177,65.614700 -102.039581,65.597442 -102.040136,65.595148 -102.042128,65.593497 -102.045203,65.592379 -102.048892,65.591964 -102.052635,65.592316 -102.055863,65.593381 -102.058082,65.594997 -102.058907,65.596557 -102.062640,65.614422 -102.062601,65.614585 -102.062691,65.614782 -102.062612,65.615631 -102.060478,65.623887 -102.060236,65.631670 -102.060224,65.631703 -102.060220,65.631894 -102.059727,65.636095 -102.059134,65.637541 -102.058671,65.638079 -102.054082,65.642658 -102.052060,65.648510 -102.050779,65.653207 -102.050747,65.653270 -102.050738,65.653341 -102.048422,65.660433 -102.047944,65.661350 -102.047791,65.661477 -102.047744,65.661605 -102.036983,65.674238 -102.035187,65.675635 -102.032307,65.676679 -102.032013,65.677859 -102.031753,65.678398 -102.031695,65.678636 -102.030631,65.680492 -102.036224,65.681362 -102.037609,65.681419 -102.039404,65.681222 -102.042237,65.680413 -102.048721,65.678429 -102.048749,65.678421 -102.048760,65.678417 -102.053996,65.676832 -102.060824,65.673765 -102.061848,65.673431 -102.062599,65.673136 -102.069136,65.671343 -102.069453,65.671301 -102.069781,65.671182 -102.070615,65.671017 -102.076984,65.669930 -102.081403,65.668436 -102.088044,65.666187 -102.089439,65.665796 -102.091568,65.665460 -102.094978,65.665140 -102.096547,65.665060 -102.099780,65.665315 -102.104001,65.666032 -102.105406,65.666091 -102.105419,65.666089 -102.106873,65.665132 -102.107437,65.664795 -102.110516,65.663676 -102.110568,65.663670 -102.110610,65.663655 -102.117651,65.662106 -102.121255,65.661711 -102.122201,65.661727 -102.124124,65.661806 -102.127510,65.660780 -102.133511,65.658957 -102.133584,65.658938 -102.133609,65.658928 -102.138384,65.657517 -102.139283,65.657283 -102.142980,65.656867 -102.146732,65.657217 -102.148177,65.657581 -102.148508,65.657683 -102.149275,65.657532 -102.150956,65.656294 -102.151420,65.654342 -102.151499,65.654176 -102.151525,65.654000 -102.152927,65.650268 -102.153357,65.646268 -102.153394,65.646176 -102.153413,65.645940 -102.154643,65.640714 -102.154645,65.640710 -102.154646,65.640703 -102.155570,65.636850 -102.155652,65.636678 -102.155678,65.636502 -102.157137,65.632664 -102.157507,65.631986 -102.157518,65.631948 -102.159220,65.629491 -102.159232,65.629482 -102.159235,65.629470 -102.161565,65.626154 -102.162520,65.624159 -102.162621,65.623989 -102.162632,65.623945 -102.164547,65.620588 -102.164716,65.620437 -102.164781,65.620230 -102.167239,65.616889 -102.169202,65.615267 -102.170881,65.614539 -102.175100,65.613105 -102.176492,65.612713 -102.176549,65.612707 -102.176596,65.612690 -102.181867,65.611531 -102.182597,65.611451 -102.185069,65.611144 -102.185855,65.611121 -102.190348,65.609596 -102.195168,65.607951 -102.196571,65.607556 -102.199830,65.607148 -102.209061,65.606852 -102.217596,65.606331 -102.222927,65.605883 -102.227524,65.604452 -102.232384,65.601905 -102.235300,65.600866 -102.235346,65.600861 -102.235384,65.600847 -102.238893,65.600069 -102.238956,65.600062 -102.240377,65.599812 -102.247235,65.598943 -102.249355,65.598801 -102.250284,65.598815 -102.255776,65.599036 -102.258593,65.599371 -102.258836,65.599450 -102.259077,65.599476 -102.263555,65.600525 -102.270431,65.601910 -102.275477,65.602115 -102.281518,65.601936 -102.281978,65.601974 -102.282413,65.601931 -102.292209,65.602109 -102.303301,65.601470 -102.303536,65.601463 -102.303583,65.601456 -102.308562,65.601246 -102.317055,65.600306 -102.318892,65.600197 -102.318997,65.600207 -102.319095,65.600196 -102.324522,65.600203 -102.330056,65.599808 -102.330731,65.599781 -102.330823,65.599769 -102.340378,65.599486 -102.345438,65.599070 -102.353382,65.598307 -102.360620,65.597249 -102.362698,65.596685 -102.362813,65.596670 -102.362938,65.596623 -102.367089,65.595573 -102.370174,65.594514 -102.371578,65.594117 -102.371760,65.594096 -102.371898,65.594047 -102.376559,65.593086 -102.377767,65.592960 -102.379437,65.592747 -102.385585,65.592526 -102.385815,65.592544 -102.386073,65.592515 -102.388346,65.592631 -102.391223,65.592957 -102.396736,65.593361 -102.402163,65.593368 -102.402210,65.593373 -102.402864,65.593382 -102.412743,65.593764 -102.415581,65.594097 -102.415712,65.594140 -102.415853,65.594154 -102.422192,65.595542 -102.422498,65.595646 -102.424055,65.596078 -102.429345,65.598006 -102.430657,65.598405 -102.432462,65.599105 -102.434703,65.600717 -102.435597,65.602577 -102.436320,65.609393 -102.436311,65.609423 -102.436326,65.609453 -102.435746,65.611388 -102.433775,65.613042 -102.430713,65.614165 -102.427026,65.614586 -102.423276,65.614240 -102.421459,65.613758 -102.417580,65.612458 -102.409607,65.610307 -102.404506,65.609945 -102.395357,65.609585 -102.387903,65.609651 -102.383309,65.610473 -102.377382,65.611786 -102.371488,65.613807 -102.370084,65.614204 -102.367793,65.614465 -102.367692,65.614800 -102.367677,65.614813 -102.367673,65.614827 -102.366865,65.615941 -102.364909,65.617568 -102.361844,65.618691 -102.361670,65.618710 -102.361537,65.618757 -102.356890,65.619719 -102.353508,65.620072 -102.351285,65.619961 -102.348035,65.619602 -102.346963,65.619436 -102.346806,65.619423 -102.340412,65.618256 -102.340279,65.618214 -102.340113,65.618198 -102.338926,65.617911 -102.336131,65.617116 -102.332026,65.616959 -102.326269,65.616952 -102.326224,65.616948 -102.326185,65.616952 -102.320179,65.616917 -102.316534,65.617146 -102.307754,65.617907 -102.295921,65.619036 -102.295795,65.619043 -102.295719,65.619054 -102.288363,65.619672 -102.287899,65.619694 -102.287757,65.619713 -102.277646,65.620224 -102.276888,65.620247 -102.276887,65.620247 -102.267432,65.620339 -102.267229,65.620320 -102.267047,65.620338 -102.259302,65.620255 -102.259226,65.620247 -102.259166,65.620253 -102.248658,65.620062 -102.248603,65.620056 -102.248283,65.620051 -102.245177,65.619933 -102.235183,65.620933 -102.226759,65.621878 -102.218251,65.623423 -102.212050,65.624728 -102.211919,65.624742 -102.210847,65.624934 -102.201675,65.626162 -102.200897,65.626217 -102.200412,65.626286 -102.193652,65.626705 -102.192668,65.626740 -102.190454,65.626629 -102.189606,65.626535 -102.189844,65.628294 -102.189797,65.628463 -102.189868,65.628629 -102.189884,65.630933 -102.189848,65.631039 -102.189879,65.631118 -102.189674,65.634322 -102.189436,65.634947 -102.189289,65.635563 -102.187383,65.638920 -102.187346,65.638953 -102.187332,65.639006 -102.185247,65.642446 -102.185829,65.644829 -102.185899,65.645268 -102.185833,65.646077 -102.184912,65.649933 -102.184274,65.652652 -102.184082,65.653060 -102.184027,65.653319 -102.181968,65.657362 -102.181868,65.657526 -102.181859,65.657559 -102.179991,65.660695 -102.179783,65.660880 -102.179706,65.661108 -102.176548,65.665106 -102.174667,65.666617 -102.173845,65.667016 -102.167040,65.669946 -102.164783,65.670667 -102.164570,65.670691 -102.164409,65.670747 -102.156817,65.672273 -102.156817,65.672273 -102.149225,65.673799 -102.149135,65.673808 -102.148565,65.673917 -102.146125,65.674304 -102.136873,65.677050 -102.136500,65.677148 -102.136435,65.677173 -102.131102,65.678569 -102.130859,65.678600 -102.130622,65.678686 -102.128804,65.678990 -102.121365,65.679821 -102.119483,65.679934 -102.119412,65.679927 -102.119345,65.679934 -102.114395,65.679941 -102.104917,65.680567 -102.099850,65.681281 -102.093390,65.682694 -102.093321,65.682701 -102.093269,65.682720 -102.086399,65.684164 -102.082557,65.685792 -102.080345,65.686492 -102.078831,65.686759 -102.075951,65.687131 -102.070418,65.688649 -102.070367,65.688656 -102.070307,65.688679 -102.065530,65.689949 -102.064267,65.690556 -102.064961,65.690861 -102.064961,65.690861 -102.064961,65.690861 -102.068989,65.692631 -102.069185,65.692765 -102.069492,65.692868 -102.073963,65.695118 -102.074136,65.695245 -102.074334,65.695315 -102.078752,65.697787 -102.080516,65.699159 -102.080591,65.699324 -102.080746,65.699444 -102.082853,65.702282 -102.083054,65.702789 -102.083435,65.703489 -102.084260,65.706960 -102.084327,65.707390 -102.084041,65.708798 -102.082943,65.711048 -102.082624,65.711576 -102.081861,65.712391 -102.079054,65.714794 -102.078740,65.715007 -102.078573,65.715166 -102.075100,65.717605 -102.072474,65.720484 -102.072428,65.720519 -102.072315,65.720650 -102.071223,65.721739 -102.071252,65.722531 -102.071245,65.722552 -102.071253,65.722570 -102.071300,65.724638 -102.071250,65.724785 -102.071293,65.724897 -102.071027,65.728323 -102.070929,65.728575 -102.070846,65.729106 -102.069509,65.732547 -102.069416,65.733990 -102.070450,65.735014 -102.072065,65.735719 -102.077299,65.737075 -102.079707,65.737948 -102.079750,65.737979 -102.079810,65.737999 -102.083777,65.739998 -102.085907,65.741563 -102.086788,65.743485 -102.086376,65.745125 -102.085454,65.746689 -102.085313,65.746814 -102.085260,65.746984 -102.084163,65.748064 -102.083996,65.748188 -102.084050,65.748697 -102.084848,65.749558 -102.088548,65.751811 -102.092347,65.753708 -102.097024,65.754745 -102.097819,65.755015 -102.099481,65.755521 -102.103020,65.757039 -102.103204,65.757164 -102.103512,65.757264 -102.105747,65.758881 -102.106169,65.759446 -102.107764,65.762024 -102.107912,65.762459 -102.108130,65.762842 -102.109006,65.765949 -102.109195,65.766425 -102.111591,65.766520 -102.112856,65.766670 -102.113798,65.766741 -102.120573,65.767840 -102.125761,65.768237 -102.126602,65.768246 -102.125509,65.767507 -102.120002,65.765377 -102.119116,65.764991 -102.116879,65.763375 -102.115995,65.761453 -102.116060,65.760658 -102.116434,65.759071 -102.116973,65.757931 -102.118923,65.756304 -102.120222,65.755585 -102.119736,65.753563 -102.119668,65.753129 -102.120271,65.751195 -102.122268,65.749541 -102.123283,65.749063 -102.126358,65.747812 -102.128430,65.747170 -102.132138,65.746754 -102.135903,65.747105 -102.136729,65.747294 -102.139895,65.748111 -102.141218,65.748589 -102.141956,65.748818 -102.146496,65.750832 -102.146634,65.750927 -102.146855,65.751000 -102.147504,65.751347 -102.150433,65.753071 -102.150618,65.753219 -102.151074,65.753490 -102.154401,65.755908 -102.155349,65.756758 -102.155412,65.756895 -102.155546,65.756996 -102.158095,65.760315 -102.158101,65.760329 -102.158113,65.760338 -102.161517,65.764832 -102.161541,65.764891 -102.161742,65.765162 -102.163732,65.768429 -102.166545,65.772863 -102.166605,65.773033 -102.166785,65.773306 -102.168866,65.777966 -102.171167,65.781488 -102.171251,65.781723 -102.171481,65.782085 -102.172886,65.785587 -102.173083,65.786420 -102.172825,65.787777 -102.170530,65.792721 -102.170188,65.793299 -102.168190,65.794953 -102.167865,65.795071 -102.167683,65.795209 -102.161388,65.798162 -102.159593,65.798762 -102.159019,65.798976 -102.153579,65.800288 -102.152870,65.800587 -102.152854,65.800847 -102.154457,65.804193 -102.156114,65.805761 -102.156131,65.805792 -102.156185,65.805829 -102.159359,65.808941 -102.159427,65.809072 -102.159607,65.809202 -102.160495,65.811124 -102.159894,65.813060 -102.158211,65.814532 -102.154298,65.816890 -102.154117,65.816959 -102.153981,65.817071 -102.152718,65.817646 -102.147797,65.819516 -102.146117,65.820016 -102.146040,65.820044 -102.140308,65.821368 -102.135378,65.822635 -102.132627,65.823456 -102.131698,65.824388 -102.131381,65.824618 -102.131052,65.824943 -102.129007,65.826461 -102.128101,65.827036 -102.127300,65.827424 -102.122928,65.829309 -102.120658,65.830033 -102.120641,65.830039 -102.111712,65.832057 -102.105551,65.833929 -102.105501,65.833942 -102.105483,65.833950 -102.101073,65.835265 -102.096878,65.837359 -102.090714,65.840532 -102.088657,65.842278 -102.084383,65.846538 -102.082836,65.847660 -102.082663,65.847722 -102.082560,65.847804 -102.077519,65.850324 -102.071814,65.853272 -102.071203,65.853486 -102.069498,65.854151 -102.063302,65.855827 -102.057000,65.857949 -102.055705,65.858309 -102.055664,65.858324 -102.049720,65.859690 -102.049682,65.859694 -102.049650,65.859706 -102.046839,65.860091 -102.036956,65.860652 -102.031954,65.861423 -102.031497,65.861459 -102.030900,65.861552 -102.030445,65.861595 -102.054913,65.876130 -102.211963,65.874757 -102.243163,65.848863 -102.244328,65.848084 -102.247421,65.846962 -102.248576,65.846745 -102.297606,65.839325 -102.300169,65.839123 -102.303947,65.839471 -102.307211,65.840534 -102.308496,65.841290 -102.337218,65.861908 -102.338188,65.862766 -102.339090,65.864688 -102.338500,65.866624 -102.336507,65.868280 -102.333415,65.869403 -102.329694,65.869823 -102.325911,65.869475 -102.322643,65.868413 -102.321357,65.867656 -102.296796,65.850022 -102.257989,65.855895 -102.225972,65.882473 -102.224805,65.883253 -102.221707,65.884375 -102.217983,65.884792 -102.050981,65.886253 -102.047199,65.885901 -102.047199,65.885901 -102.043940,65.884834 -102.043940,65.884834 -102.043258,65.884467 -102.043258,65.884467 -102.009447,65.864380 -102.008709,65.864627 -102.006922,65.865690 -102.005984,65.867226 -102.005702,65.870244 -102.005466,65.870833 -102.005333,65.871389 -102.003320,65.874975 -102.003150,65.875127 -102.003081,65.875345 -102.002108,65.876326 -101.997989,65.879530 -101.993814,65.882969 -101.993814,65.882970 -101.993808,65.882975 -101.993755,65.883019 -101.993725,65.883043 -101.993391,65.883318 -101.993116,65.883545 -101.992044,65.884428 -101.991109,65.885198 -101.989573,65.886464 -101.989348,65.886613 -101.989092,65.886783 -101.988927,65.886933 -101.981557,65.891663 -101.981028,65.891975 -101.979922,65.892487 -101.973337,65.895086 -101.968718,65.897181 -101.973245,65.897371 -101.975877,65.897685 -101.976022,65.897698 -101.986198,65.899720 -101.986221,65.899727 -101.986247,65.899730 -101.989506,65.900797 -101.991303,65.901970 -101.994523,65.904846 -101.994967,65.905292 -101.995848,65.907215 -101.995233,65.909151 -101.993218,65.910804 -101.990108,65.911924 -101.986377,65.912338 -101.984715,65.912279 -101.979025,65.911828 -101.971786,65.911537 -101.964020,65.911843 -101.963744,65.911822 -101.963424,65.911857 -101.962485,65.911842 -101.952459,65.911430 -101.952142,65.911392 -101.952025,65.911387 -101.951921,65.911439 -101.951009,65.912646 -101.950934,65.912706 -101.949929,65.913686 -101.947861,65.915204 -101.946957,65.915773 -101.943844,65.916891 -101.940112,65.917305 -101.936328,65.916951 -101.935517,65.916765 -101.930221,65.915407 -101.927774,65.914525 -101.925536,65.912905 -101.925510,65.912847 -101.925447,65.912801 -101.923289,65.910192 -101.922502,65.908372 -101.922621,65.907987 -101.919351,65.907952 -101.912024,65.908560 -101.900814,65.910773 -101.894519,65.912269 -101.894414,65.912281 -101.894321,65.912314 -101.893228,65.912519 -101.886208,65.913595 -101.883568,65.913803 -101.883456,65.913792 -101.883350,65.913803 -101.878058,65.913784 -101.871418,65.914388 -101.865239,65.915767 -101.858888,65.917683 -101.851853,65.920411 -101.851783,65.920432 -101.851703,65.920468 -101.841738,65.924176 -101.841501,65.924246 -101.841313,65.924326 -101.836749,65.925839 -101.832444,65.928164 -101.830856,65.929591 -101.829693,65.932469 -101.829100,65.934788 -101.828552,65.935906 -101.826525,65.937558 -101.823406,65.938676 -101.821965,65.938930 -101.816715,65.939624 -101.816423,65.939644 -101.816111,65.939694 -101.811164,65.940178 -101.809271,65.942291 -101.808469,65.942897 -101.807863,65.943424 -101.802537,65.946636 -101.802331,65.946714 -101.802172,65.946844 -101.799050,65.947961 -101.795312,65.948373 -101.794366,65.948356 -101.790247,65.948183 -101.783122,65.950380 -101.781996,65.950678 -101.778835,65.951076 -101.775988,65.951183 -101.775720,65.951162 -101.775411,65.951196 -101.771625,65.950839 -101.769614,65.950289 -101.766889,65.949325 -101.763197,65.949269 -101.758136,65.950174 -101.754198,65.951757 -101.748113,65.954921 -101.747989,65.954964 -101.747919,65.955019 -101.742964,65.957452 -101.738540,65.959895 -101.738484,65.959915 -101.738446,65.959946 -101.736701,65.960684 -101.734475,65.961419 -101.732078,65.963077 -101.731305,65.963547 -101.728450,65.964601 -101.726046,65.965181 -101.725654,65.965227 -101.725337,65.965334 -101.721190,65.966135 -101.719414,65.967058 -101.719263,65.967111 -101.717772,65.967742 -101.714295,65.968889 -101.714427,65.968970 -101.716304,65.970419 -101.717106,65.971166 -101.717970,65.973091 -101.717336,65.975027 -101.715300,65.976678 -101.712172,65.977794 -101.711085,65.977997 -101.704034,65.979073 -101.701378,65.979280 -101.699296,65.979181 -101.695443,65.978785 -101.693736,65.978526 -101.691906,65.978038 -101.687252,65.976466 -101.686412,65.976122 -101.686191,65.976054 -101.683937,65.975051 -101.682284,65.976974 -101.680430,65.978396 -101.677301,65.979511 -101.673557,65.979921 -101.672600,65.979904 -101.665328,65.979591 -101.665111,65.979565 -101.662847,65.980382 -101.661124,65.980877 -101.657380,65.981287 -101.656438,65.981270 -101.651094,65.981044 -101.644377,65.980935 -101.638077,65.981810 -101.634971,65.982669 -101.634909,65.986444 -101.634266,65.988191 -101.634111,65.988316 -101.634063,65.988442 -101.630012,65.993080 -101.628174,65.994480 -101.628077,65.994515 -101.628017,65.994563 -101.623454,65.996890 -101.620478,65.997922 -101.616731,65.998331 -101.613210,65.998025 -101.609975,65.997422 -101.609855,65.997384 -101.609705,65.997369 -101.606449,65.996297 -101.604406,65.994873 -101.599965,65.990298 -101.597609,65.988735 -101.592984,65.987922 -101.583667,65.987516 -101.576550,65.988086 -101.568540,65.989595 -101.565292,65.989901 -101.564336,65.989883 -101.558186,65.989616 -101.555353,65.989274 -101.553180,65.988663 -101.547534,65.986572 -101.547423,65.986524 -101.547363,65.986507 -101.542300,65.984547 -101.533950,65.983440 -101.522546,65.982031 -101.521927,65.981930 -101.521769,65.981918 -101.512582,65.980369 -101.512332,65.980291 -101.511995,65.980259 -101.504801,65.978785 -101.500119,65.978575 -101.499637,65.978517 -101.498835,65.978474 -101.488969,65.977352 -101.487442,65.977111 -101.484463,65.976166 -101.478939,65.973633 -101.478834,65.973559 -101.478669,65.973504 -101.476693,65.972139 -101.473824,65.969262 -101.472541,65.968256 -101.471307,65.967863 -101.464911,65.966805 -101.464647,65.966724 -101.464284,65.966689 -101.461037,65.965615 -101.460386,65.965261 -101.457472,65.963522 -101.457283,65.963368 -101.456826,65.963093 -101.454852,65.961626 -101.448656,65.959832 -101.441458,65.957932 -101.439086,65.957061 -101.438462,65.956723 -101.435540,65.954991 -101.434674,65.954290 -101.434159,65.953931 -101.430289,65.949972 -101.426735,65.946747 -101.426324,65.947077 -101.423189,65.948189 -101.419445,65.948595 -101.418507,65.948577 -101.415305,65.948439 -101.411373,65.948549 -101.404857,65.949923 -101.396954,65.952684 -101.395330,65.953141 -101.392297,65.953529 -101.387154,65.953750 -101.386831,65.953725 -101.386442,65.953767 -101.382661,65.953405 -101.379418,65.952329 -101.378236,65.951628 -101.375459,65.949643 -101.373155,65.951576 -101.372779,65.952353 -101.373304,65.953511 -101.373558,65.954535 -101.373492,65.954728 -101.373550,65.954888 -101.373284,65.957871 -101.372635,65.959453 -101.370581,65.961101 -101.367441,65.962213 -101.365850,65.962483 -101.361775,65.962979 -101.359621,65.963114 -101.355838,65.962751 -101.354086,65.962169 -101.352057,65.963024 -101.345122,65.967718 -101.344372,65.968167 -101.342892,65.968809 -101.335392,65.971449 -101.333731,65.971918 -101.331095,65.972284 -101.324777,65.972689 -101.323665,65.972727 -101.322688,65.972707 -101.320167,65.972593 -101.313332,65.972873 -101.306400,65.973409 -101.298038,65.974265 -101.290302,65.975700 -101.282887,65.977571 -101.276201,65.979895 -101.270980,65.982762 -101.270120,65.983991 -101.268866,65.988470 -101.268044,65.991421 -101.267923,65.991655 -101.267882,65.991861 -101.266441,65.994996 -101.266034,65.995666 -101.263971,65.997314 -101.260824,65.998424 -101.257072,65.998828 -101.253286,65.998463 -101.252113,65.998176 -101.247413,65.996825 -101.245343,65.996035 -101.245300,65.996004 -101.245240,65.995983 -101.238827,65.992707 -101.233270,65.991147 -101.225425,65.988961 -101.223240,65.988138 -101.223086,65.988025 -101.222892,65.987957 -101.216034,65.984195 -101.215884,65.984078 -101.215164,65.983647 -101.212815,65.981938 -101.211828,65.981041 -101.210998,65.979114 -101.211095,65.978292 -101.211538,65.976705 -101.212109,65.975592 -101.214173,65.973945 -101.217320,65.972835 -101.221069,65.972433 -101.223336,65.972556 -101.229075,65.973219 -101.229889,65.972708 -101.230430,65.972397 -101.230630,65.972326 -101.230750,65.972235 -101.235968,65.969718 -101.238793,65.968769 -101.239602,65.968613 -101.244213,65.967842 -101.253031,65.965537 -101.261629,65.962948 -101.270051,65.959821 -101.270714,65.959629 -101.270954,65.959535 -101.270025,65.958397 -101.269256,65.956548 -101.269920,65.954614 -101.270696,65.953814 -101.274359,65.950762 -101.275642,65.949915 -101.278783,65.948804 -101.278802,65.948802 -101.278817,65.948797 -101.286083,65.947216 -101.289990,65.946055 -101.290469,65.945420 -101.289402,65.945482 -101.285623,65.945118 -101.282385,65.944041 -101.280394,65.942648 -101.276885,65.939047 -101.276828,65.938929 -101.276673,65.938814 -101.275839,65.936888 -101.276164,65.935485 -101.278599,65.930778 -101.278937,65.930246 -101.279085,65.930128 -101.279132,65.930008 -101.282421,65.926262 -101.282459,65.926234 -101.282618,65.926052 -101.286533,65.922100 -101.288198,65.920901 -101.288505,65.920792 -101.288680,65.920662 -101.292588,65.918856 -101.299552,65.914310 -101.301336,65.913075 -101.299535,65.912341 -101.289322,65.909529 -101.288887,65.909366 -101.288249,65.909187 -101.281477,65.906711 -101.278481,65.905821 -101.274410,65.906533 -101.274217,65.906550 -101.273644,65.906649 -101.268379,65.907328 -101.266098,65.907479 -101.262324,65.907115 -101.260054,65.906460 -101.260022,65.906447 -101.259391,65.908286 -101.257334,65.909933 -101.254196,65.911043 -101.250455,65.911446 -101.247623,65.911248 -101.241966,65.910410 -101.234263,65.910963 -101.233003,65.911012 -101.231103,65.910926 -101.221771,65.910034 -101.219897,65.909754 -101.218541,65.909411 -101.213077,65.907754 -101.211714,65.907497 -101.209689,65.908069 -101.208919,65.909902 -101.208470,65.910668 -101.206410,65.912315 -101.205459,65.912756 -101.202919,65.913786 -101.200729,65.914455 -101.196986,65.914857 -101.194716,65.914732 -101.191435,65.914351 -101.189931,65.914110 -101.188318,65.913686 -101.186959,65.913245 -101.179395,65.913538 -101.179099,65.913515 -101.178749,65.913552 -101.175258,65.913242 -101.167231,65.911732 -101.167105,65.911691 -101.166948,65.911676 -101.163718,65.910597 -101.161524,65.908971 -101.160699,65.907045 -101.160707,65.907021 -101.160697,65.906999 -101.160615,65.903314 -101.160634,65.903259 -101.160755,65.902583 -101.157505,65.902932 -101.155170,65.902799 -101.146181,65.901719 -101.141357,65.901290 -101.134522,65.900966 -101.122865,65.900424 -101.122862,65.900424 -101.122855,65.900424 -101.115361,65.900072 -101.110434,65.899994 -101.109016,65.900291 -101.109382,65.900455 -101.109418,65.900482 -101.109470,65.900499 -101.114895,65.903276 -101.116998,65.904858 -101.117820,65.906785 -101.117720,65.907609 -101.116310,65.912591 -101.115737,65.913701 -101.115196,65.914291 -101.113764,65.915620 -101.114573,65.916263 -101.118890,65.918071 -101.119540,65.918368 -101.119723,65.918504 -101.119948,65.918584 -101.125304,65.921590 -101.127089,65.923000 -101.127379,65.923384 -101.129753,65.926940 -101.129784,65.927030 -101.129958,65.927286 -101.130599,65.928528 -101.134183,65.930052 -101.134769,65.930323 -101.134987,65.930484 -101.135246,65.930577 -101.139617,65.933080 -101.141335,65.934452 -101.141832,65.935183 -101.143290,65.938006 -101.143618,65.939201 -101.143596,65.939653 -101.143174,65.942769 -101.143681,65.943878 -101.146952,65.945869 -101.150376,65.947405 -101.150523,65.947507 -101.150762,65.947587 -101.152718,65.948952 -101.155801,65.952080 -101.155865,65.952211 -101.156042,65.952342 -101.156868,65.954269 -101.156197,65.956203 -101.154130,65.957850 -101.150983,65.958959 -101.147283,65.959360 -101.141370,65.959402 -101.143409,65.962441 -101.143703,65.963285 -101.143928,65.963759 -101.144075,65.964905 -101.147192,65.964162 -101.147337,65.964146 -101.147470,65.964099 -101.151219,65.963697 -101.154999,65.964063 -101.155047,65.964079 -101.155101,65.964085 -101.162028,65.965557 -101.165161,65.966614 -101.167126,65.967985 -101.170202,65.971113 -101.170264,65.971242 -101.170436,65.971369 -101.171263,65.973296 -101.170602,65.975219 -101.168068,65.978557 -101.166995,65.980462 -101.167208,65.980678 -101.171381,65.982202 -101.180424,65.984057 -101.180429,65.984059 -101.180434,65.984059 -101.183672,65.985138 -101.184953,65.985915 -101.188227,65.988356 -101.189147,65.989205 -101.189215,65.989362 -101.189361,65.989477 -101.192620,65.993986 -101.192722,65.994260 -101.193105,65.994922 -101.194312,65.998652 -101.194443,65.999372 -101.194428,65.999777 -101.194065,66.002916 -101.194502,66.007001 -101.194476,66.007082 -101.194514,66.007170 -101.194137,66.008662 -101.193008,66.010676 -101.192716,66.011118 -101.190647,66.012766 -101.187496,66.013875 -101.185750,66.014162 -101.182828,66.014490 -101.180818,66.014606 -101.179227,66.014548 -101.172039,66.013983 -101.169843,66.013675 -101.168788,66.013421 -101.160906,66.011223 -101.160138,66.010934 -101.159450,66.010728 -101.157490,66.009927 -101.157214,66.010624 -101.155149,66.012268 -101.153143,66.013329 -101.153139,66.013330 -101.153137,66.013332 -101.149984,66.014441 -101.146228,66.014842 -101.142441,66.014476 -101.142343,66.014443 -101.142235,66.014432 -101.136909,66.013265 -101.136674,66.013184 -101.135022,66.012721 -101.133825,66.012282 -101.125505,66.012067 -101.125097,66.012021 -101.123909,66.011958 -101.116752,66.011165 -101.115147,66.010913 -101.113981,66.010626 -101.103535,66.007620 -101.102106,66.007073 -101.101710,66.006946 -101.096216,66.004390 -101.096120,66.004321 -101.095969,66.004271 -101.095177,66.003827 -101.090859,66.001103 -101.089454,65.999919 -101.089024,65.999309 -101.087148,65.996006 -101.086755,65.994688 -101.087288,65.992954 -101.087323,65.992902 -101.085960,65.992139 -101.085718,65.991948 -101.084934,65.991458 -101.083080,65.989985 -101.082316,65.989253 -101.081494,65.987326 -101.082170,65.985391 -101.082555,65.984954 -101.084943,65.982551 -101.085156,65.982399 -101.085485,65.982073 -101.085890,65.981757 -101.085142,65.981049 -101.084768,65.980655 -101.084686,65.980464 -101.084516,65.980329 -101.081717,65.976292 -101.081573,65.975887 -101.081229,65.975250 -101.080442,65.972167 -101.076548,65.968973 -101.075860,65.968302 -101.075316,65.967472 -101.073204,65.963009 -101.073068,65.962472 -101.072964,65.962261 -101.072324,65.958561 -101.072369,65.958402 -101.072287,65.958211 -101.072390,65.957382 -101.073299,65.954216 -101.073517,65.953796 -101.073580,65.953553 -101.075847,65.949532 -101.076140,65.949091 -101.076684,65.948499 -101.078763,65.946575 -101.078374,65.946420 -101.077525,65.946042 -101.075333,65.944415 -101.075322,65.944388 -101.075292,65.944366 -101.071944,65.940299 -101.071165,65.938421 -101.071236,65.938218 -101.071177,65.938052 -101.071422,65.935738 -101.071214,65.935380 -101.070456,65.935036 -101.065006,65.934158 -101.060153,65.933727 -101.059414,65.933620 -101.059017,65.933591 -101.052523,65.932599 -101.051647,65.932442 -101.048807,65.931546 -101.044817,65.929753 -101.044670,65.929650 -101.044429,65.929569 -101.042240,65.927941 -101.041422,65.926014 -101.042100,65.924080 -101.043103,65.923107 -101.044537,65.922023 -101.045605,65.921352 -101.048752,65.920244 -101.052497,65.919844 -101.054887,65.919985 -101.059800,65.920592 -101.062356,65.920609 -101.062371,65.920606 -101.062589,65.920112 -101.060916,65.914866 -101.059368,65.912146 -101.056541,65.911572 -101.056241,65.911473 -101.055940,65.911438 -101.051202,65.910286 -101.048516,65.909328 -101.048315,65.909179 -101.048073,65.909092 -101.043228,65.906337 -101.042503,65.905759 -101.041743,65.905229 -101.039122,65.902585 -101.036494,65.899940 -101.036424,65.899796 -101.036228,65.899651 -101.035412,65.897724 -101.035742,65.896784 -101.033764,65.897144 -101.030583,65.897431 -101.029639,65.897412 -101.024084,65.897160 -101.024063,65.897157 -101.023999,65.897156 -101.020548,65.896984 -101.012378,65.897427 -101.012334,65.897428 -101.012321,65.897430 -101.005453,65.897781 -101.004562,65.897805 -101.004417,65.897791 -101.004284,65.897804 -100.991922,65.897674 -100.991814,65.897663 -100.990840,65.897632 -100.981027,65.896969 -100.972266,65.897526 -100.961709,65.898564 -100.954847,65.899349 -100.954484,65.899370 -100.954205,65.899410 -100.941517,65.900410 -100.929261,65.901376 -100.924407,65.901987 -100.924159,65.902003 -100.923893,65.902044 -100.918536,65.902563 -100.911673,65.904050 -100.911662,65.904051 -100.910566,65.904250 -100.899959,65.905806 -100.897343,65.905999 -100.895822,65.905944 -100.887558,65.905311 -100.887510,65.905304 -100.887438,65.905301 -100.882318,65.904876 -100.882306,65.904901 -100.881893,65.906303 -100.882766,65.907816 -100.883107,65.908960 -100.883168,65.909100 -100.883306,65.911432 -100.884238,65.912627 -100.886421,65.914161 -100.890432,65.915304 -100.895420,65.916128 -100.895703,65.916216 -100.896101,65.916255 -100.897939,65.916757 -100.902554,65.918359 -100.903937,65.918939 -100.905356,65.919833 -100.908103,65.922030 -100.908865,65.922764 -100.909673,65.924692 -100.908986,65.926625 -100.906908,65.928270 -100.903754,65.929375 -100.900006,65.929773 -100.899014,65.929751 -100.889544,65.929293 -100.888879,65.929210 -100.887996,65.929154 -100.879846,65.928070 -100.878971,65.927922 -100.878873,65.927913 -100.869259,65.926074 -100.869144,65.926037 -100.869001,65.926023 -100.866337,65.925199 -100.865221,65.924718 -100.864544,65.927019 -100.863963,65.928122 -100.861882,65.929766 -100.860914,65.930211 -100.858342,65.931241 -100.856155,65.931901 -100.852406,65.932298 -100.848634,65.931928 -100.847477,65.931641 -100.844540,65.930789 -100.844518,65.930794 -100.843279,65.931621 -100.842230,65.932097 -100.836485,65.934348 -100.834378,65.934976 -100.831151,65.935364 -100.825451,65.935540 -100.825207,65.935519 -100.824927,65.935549 -100.821156,65.935177 -100.817936,65.934094 -100.817140,65.933643 -100.812867,65.930912 -100.812636,65.930714 -100.812248,65.930469 -100.809310,65.928114 -100.805738,65.926454 -100.803526,65.925631 -100.800556,65.924989 -100.797732,65.925298 -100.795747,65.925409 -100.794185,65.925350 -100.787066,65.924786 -100.781877,65.924699 -100.776955,65.925413 -100.772558,65.927205 -100.768105,65.930514 -100.763405,65.935940 -100.761664,65.938210 -100.760079,65.940428 -100.760072,65.940434 -100.760069,65.940441 -100.758826,65.942166 -100.758760,65.942219 -100.758736,65.942287 -100.757818,65.943187 -100.755598,65.944911 -100.754662,65.945505 -100.754575,65.945575 -100.751882,65.947048 -100.751796,65.947079 -100.751734,65.947127 -100.748573,65.948230 -100.744820,65.948626 -100.743875,65.948605 -100.741082,65.948476 -100.738255,65.948123 -100.735475,65.947247 -100.731988,65.945691 -100.731825,65.945575 -100.731550,65.945483 -100.730273,65.944695 -100.727054,65.942246 -100.726159,65.941403 -100.725436,65.940033 -100.724423,65.935852 -100.724383,65.935552 -100.724363,65.935508 -100.723914,65.931350 -100.723946,65.931249 -100.723900,65.931136 -100.724305,65.929638 -100.726002,65.926708 -100.725469,65.926596 -100.722277,65.925516 -100.722055,65.925350 -100.721792,65.925254 -100.717459,65.922736 -100.715773,65.921368 -100.714977,65.919440 -100.715037,65.919276 -100.714988,65.919136 -100.715100,65.917919 -100.713818,65.917552 -100.713056,65.917781 -100.709961,65.918107 -100.710078,65.918388 -100.710186,65.921837 -100.710183,65.921846 -100.710187,65.921854 -100.709486,65.923787 -100.707519,65.925365 -100.704803,65.926837 -100.704731,65.926863 -100.704681,65.926902 -100.701520,65.928005 -100.697769,65.928400 -100.694000,65.928027 -100.693123,65.927817 -100.685828,65.925849 -100.683492,65.924973 -100.682705,65.924526 -100.679071,65.922199 -100.675431,65.920649 -100.672146,65.919916 -100.672080,65.919907 -100.666507,65.920309 -100.665193,65.920358 -100.663546,65.920292 -100.656946,65.919735 -100.655338,65.919502 -100.655073,65.919477 -100.651225,65.918734 -100.651099,65.918889 -100.649054,65.920472 -100.646408,65.921453 -100.643356,65.922224 -100.643097,65.922255 -100.642840,65.922345 -100.640401,65.922580 -100.639089,65.922739 -100.638928,65.922723 -100.638779,65.922737 -100.633498,65.922665 -100.627218,65.923179 -100.618164,65.925527 -100.617862,65.925564 -100.617552,65.925672 -100.614489,65.926051 -100.609354,65.926250 -100.609041,65.926224 -100.608665,65.926264 -100.607668,65.926240 -100.597100,65.925714 -100.596947,65.925694 -100.596582,65.925681 -100.588310,65.925040 -100.588261,65.925033 -100.588187,65.925030 -100.581580,65.924474 -100.574439,65.923879 -100.572292,65.923569 -100.569083,65.922483 -100.567800,65.921686 -100.564726,65.919323 -100.560317,65.920021 -100.555025,65.920890 -100.552083,65.921129 -100.548814,65.920850 -100.543457,65.919896 -100.543447,65.919893 -100.543431,65.919891 -100.538082,65.918930 -100.537917,65.918877 -100.537694,65.918855 -100.530262,65.917337 -100.530224,65.917324 -100.530179,65.917320 -100.526973,65.916233 -100.525380,65.915181 -100.521351,65.911641 -100.516433,65.908617 -100.511849,65.906224 -100.511687,65.906099 -100.511496,65.906029 -100.507050,65.903452 -100.502175,65.901141 -100.496880,65.898872 -100.496787,65.898829 -100.496764,65.898822 -100.490891,65.896225 -100.489331,65.895728 -100.487208,65.896398 -100.485874,65.896750 -100.483834,65.897061 -100.477439,65.897656 -100.475730,65.897737 -100.474717,65.897712 -100.472433,65.897595 -100.469716,65.898648 -100.467614,65.899268 -100.465106,65.899616 -100.459345,65.900006 -100.458103,65.900049 -100.455407,65.899860 -100.450546,65.899158 -100.449480,65.898970 -100.446278,65.897882 -100.444126,65.896249 -100.443462,65.895044 -100.443043,65.893639 -100.442953,65.893668 -100.441593,65.894027 -100.439652,65.894328 -100.434997,65.894786 -100.433219,65.894874 -100.433132,65.895021 -100.433309,65.896746 -100.434220,65.900775 -100.434265,65.901152 -100.434280,65.901186 -100.434480,65.904184 -100.434469,65.904216 -100.434483,65.904251 -100.434614,65.907471 -100.434602,65.907504 -100.434616,65.907537 -100.433897,65.909469 -100.432623,65.910618 -100.429778,65.912541 -100.428948,65.913032 -100.425778,65.914131 -100.422025,65.914522 -100.420304,65.914447 -100.419194,65.914347 -100.421457,65.916508 -100.421858,65.916938 -100.422149,65.917338 -100.422905,65.918529 -100.423390,65.920058 -100.422670,65.921989 -100.420564,65.923630 -100.418760,65.924368 -100.417784,65.924678 -100.416111,65.926873 -100.416077,65.926901 -100.416064,65.926934 -100.415670,65.927371 -100.413221,65.929774 -100.412994,65.929934 -100.412648,65.930267 -100.409035,65.932999 -100.408682,65.933283 -100.408970,65.933519 -100.413308,65.937064 -100.418678,65.940884 -100.418789,65.940985 -100.418943,65.941082 -100.423686,65.944816 -100.427152,65.947064 -100.430340,65.948567 -100.431722,65.948888 -100.432277,65.948794 -100.435295,65.948545 -100.436324,65.948571 -100.441885,65.948861 -100.444625,65.949212 -100.446631,65.949781 -100.451704,65.951642 -100.452905,65.952161 -100.455063,65.953794 -100.455076,65.953828 -100.455113,65.953856 -100.457967,65.957449 -100.457967,65.957450 -100.457967,65.957450 -100.460086,65.960117 -100.463099,65.961692 -100.463349,65.961884 -100.464801,65.962890 -100.466526,65.964576 -100.466876,65.964956 -100.467656,65.966885 -100.467537,65.967712 -100.466561,65.970886 -100.465963,65.971991 -100.465001,65.972917 -100.461309,65.975717 -100.461301,65.975721 -100.461297,65.975726 -100.458828,65.977590 -100.458014,65.980231 -100.457864,65.983419 -100.459242,65.985704 -100.459266,65.985783 -100.459384,65.985964 -100.460430,65.988092 -100.460729,65.989285 -100.460609,65.990110 -100.459916,65.992369 -100.459316,65.993476 -100.458029,65.994633 -100.455168,65.996556 -100.454347,65.997040 -100.451824,65.997938 -100.449479,65.999928 -100.448060,66.000863 -100.447830,66.000942 -100.447692,66.001044 -100.445045,66.002280 -100.444236,66.002544 -100.442983,66.003018 -100.442431,66.003166 -100.442241,66.003521 -100.441870,66.004082 -100.439760,66.005723 -100.437928,66.006468 -100.435410,66.007262 -100.435403,66.007263 -100.435400,66.007265 -100.433434,66.007883 -100.436516,66.009313 -100.436636,66.009399 -100.436831,66.009465 -100.438368,66.010470 -100.441505,66.013155 -100.442128,66.013784 -100.442908,66.015714 -100.442866,66.015825 -100.442902,66.015925 -100.442751,66.018221 -100.442035,66.019943 -100.442001,66.019970 -100.441990,66.020000 -100.441082,66.021106 -100.439016,66.022691 -100.435834,66.023791 -100.433820,66.024098 -100.433600,66.024119 -100.434212,66.024641 -100.434499,66.025033 -100.436026,66.027413 -100.436089,66.027610 -100.436340,66.028033 -100.436959,66.029673 -100.437137,66.030592 -100.436668,66.032169 -100.435555,66.033946 -100.435381,66.034093 -100.435303,66.034302 -100.433190,66.035944 -100.431848,66.036523 -100.427361,66.038133 -100.425520,66.038653 -100.425401,66.038665 -100.425307,66.038697 -100.421690,66.039422 -100.418134,66.039769 -100.414353,66.039391 -100.411138,66.038302 -100.411101,66.038274 -100.411048,66.038256 -100.409094,66.037241 -100.408315,66.036644 -100.407292,66.035886 -100.407984,66.036864 -100.408456,66.038209 -100.408574,66.038494 -100.408690,66.041714 -100.408680,66.041742 -100.408691,66.041770 -100.408571,66.042593 -100.407820,66.045027 -100.407631,66.047258 -100.406917,66.048937 -100.405564,66.050134 -100.401994,66.052476 -100.401230,66.052920 -100.399381,66.053670 -100.396214,66.054662 -100.394877,66.055011 -100.393734,66.055215 -100.388995,66.055894 -100.388281,66.055945 -100.387582,66.056041 -100.377730,66.056681 -100.376516,66.056722 -100.376485,66.056719 -100.376454,66.056722 -100.372703,66.056715 -100.368780,66.057032 -100.363976,66.058792 -100.361244,66.060440 -100.360966,66.060544 -100.360730,66.060726 -100.358121,66.061690 -100.351331,66.063414 -100.351031,66.063450 -100.350728,66.063554 -100.347153,66.064313 -100.345120,66.065709 -100.344573,66.066371 -100.344644,66.068350 -100.344958,66.070148 -100.346693,66.074020 -100.349230,66.077823 -100.349317,66.078086 -100.349633,66.078650 -100.351624,66.084949 -100.352814,66.088626 -100.354735,66.090602 -100.354801,66.090745 -100.354992,66.090889 -100.355637,66.092030 -100.357073,66.096478 -100.357204,66.097268 -100.357142,66.097434 -100.357190,66.097575 -100.356705,66.102113 -100.358915,66.105556 -100.363307,66.109838 -100.367440,66.112456 -100.367639,66.112626 -100.368030,66.112871 -100.372628,66.116475 -100.377432,66.119214 -100.377521,66.119286 -100.377971,66.119549 -100.381252,66.121777 -100.381403,66.121912 -100.381638,66.122058 -100.386658,66.125995 -100.386975,66.126299 -100.387132,66.126408 -100.390627,66.129810 -100.390983,66.130194 -100.391728,66.131737 -100.391919,66.132897 -100.391867,66.133071 -100.391953,66.133285 -100.391227,66.135219 -100.389103,66.136860 -100.387483,66.137418 -100.394740,66.137023 -100.395758,66.136994 -100.399551,66.137373 -100.402441,66.138300 -100.406920,66.140360 -100.407047,66.140451 -100.407256,66.140522 -100.409425,66.142156 -100.410201,66.143947 -100.410408,66.146945 -100.410384,66.147013 -100.410414,66.147086 -100.410289,66.147923 -100.409375,66.150822 -100.410024,66.152329 -100.411737,66.154092 -100.414781,66.156311 -100.416569,66.157405 -100.418726,66.158194 -100.419443,66.157914 -100.419570,66.157876 -100.419750,66.157799 -100.424235,66.156181 -100.426117,66.155650 -100.429901,66.155259 -100.429935,66.155262 -100.429968,66.155259 -100.434530,66.155266 -100.434589,66.155272 -100.436375,66.155358 -100.441341,66.155846 -100.443225,66.156132 -100.444695,66.156514 -100.449890,66.158155 -100.451650,66.158861 -100.453063,66.159755 -100.455795,66.161952 -100.456540,66.162677 -100.456548,66.162683 -100.457815,66.164202 -100.457817,66.164207 -100.457822,66.164211 -100.458608,66.166142 -100.457884,66.168076 -100.455763,66.169719 -100.452565,66.170820 -100.451250,66.171047 -100.442902,66.172161 -100.440431,66.172325 -100.440278,66.172310 -100.440136,66.172323 -100.434783,66.172251 -100.427614,66.172825 -100.421711,66.173761 -100.420669,66.173842 -100.419697,66.173966 -100.415065,66.174187 -100.414174,66.174209 -100.410376,66.173831 -100.407145,66.172742 -100.407101,66.172708 -100.407037,66.172687 -100.404184,66.171203 -100.398449,66.169073 -100.395381,66.168327 -100.385558,66.167035 -100.378162,66.166659 -100.371655,66.166502 -100.366874,66.167252 -100.361831,66.168153 -100.355038,66.170080 -100.354046,66.170325 -100.350259,66.170715 -100.346462,66.170336 -100.343234,66.169246 -100.342632,66.168913 -100.336422,66.165159 -100.336221,66.164992 -100.335719,66.164679 -100.329530,66.159889 -100.325587,66.158573 -100.324031,66.157931 -100.323987,66.157897 -100.323925,66.157876 -100.318538,66.155068 -100.316480,66.153487 -100.316195,66.153098 -100.314670,66.150717 -100.314554,66.150351 -100.314264,66.149806 -100.313586,66.147176 -100.310972,66.145418 -100.306141,66.143721 -100.304776,66.143144 -100.303354,66.142237 -100.299746,66.139299 -100.299005,66.138571 -100.298231,66.136639 -100.298271,66.136158 -100.298494,66.134900 -100.296275,66.134948 -100.295873,66.135023 -100.292133,66.137844 -100.291362,66.138705 -100.290493,66.142676 -100.292488,66.146745 -100.292490,66.146752 -100.292497,66.146763 -100.293863,66.149593 -100.294151,66.150776 -100.294025,66.151605 -100.293598,66.152956 -100.292990,66.154060 -100.290860,66.155701 -100.287658,66.156799 -100.283871,66.157188 -100.280077,66.156808 -100.278602,66.156422 -100.276007,66.155598 -100.274637,66.155045 -100.274429,66.154976 -100.269953,66.152815 -100.269426,66.153222 -100.266223,66.154320 -100.265330,66.154484 -100.261574,66.155075 -100.260842,66.157377 -100.260611,66.161393 -100.260602,66.161415 -100.260609,66.161433 -100.260442,66.163722 -100.259712,66.165444 -100.257579,66.167085 -100.256806,66.167441 -100.254838,66.168258 -100.252406,66.168999 -100.248617,66.169388 -100.245301,66.169100 -100.239906,66.168131 -100.239701,66.168065 -100.239427,66.168038 -100.237079,66.167340 -100.228487,66.163907 -100.227613,66.163513 -100.226740,66.163007 -100.223095,66.160589 -100.220355,66.158909 -100.220097,66.158691 -100.219567,66.158353 -100.217076,66.156317 -100.214055,66.154248 -100.212858,66.153178 -100.212090,66.151246 -100.212829,66.149313 -100.214964,66.147673 -100.218167,66.146575 -100.218563,66.146535 -100.218843,66.146446 -100.224967,66.145405 -100.224910,66.145021 -100.225279,66.143635 -100.226638,66.141170 -100.227007,66.140624 -100.229139,66.138983 -100.232342,66.137886 -100.233880,66.137632 -100.236391,66.137330 -100.236442,66.135631 -100.237178,66.133796 -100.239310,66.132156 -100.242511,66.131058 -100.243245,66.130919 -100.247456,66.130217 -100.248331,66.130145 -100.248448,66.129777 -100.249058,66.128669 -100.251188,66.127029 -100.253699,66.126094 -100.259298,66.124635 -100.262203,66.122206 -100.263721,66.120511 -100.263821,66.120437 -100.263851,66.120372 -100.266565,66.117570 -100.261337,66.116152 -100.261333,66.116150 -100.261321,66.116147 -100.256086,66.114720 -100.255127,66.114358 -100.254335,66.114112 -100.248338,66.111510 -100.248132,66.111366 -100.247770,66.111243 -100.247078,66.110854 -100.244172,66.109037 -100.242235,66.108855 -100.241478,66.108741 -100.241097,66.108712 -100.232421,66.107338 -100.231583,66.107184 -100.228367,66.106093 -100.228321,66.106058 -100.228255,66.106035 -100.222899,66.103228 -100.220856,66.101649 -100.220849,66.101632 -100.220830,66.101618 -100.217169,66.097063 -100.216428,66.095163 -100.217165,66.093230 -100.219295,66.091590 -100.220569,66.091038 -100.224429,66.089635 -100.226352,66.089089 -100.230131,66.088701 -100.232557,66.088853 -100.244572,66.090394 -100.245930,66.090623 -100.246811,66.090835 -100.253257,66.092586 -100.260017,66.092779 -100.263945,66.092399 -100.260675,66.091645 -100.257763,66.090621 -100.255606,66.088985 -100.255244,66.088465 -100.253225,66.084980 -100.252128,66.083704 -100.251462,66.083554 -100.246175,66.084612 -100.245067,66.084719 -100.242999,66.084954 -100.236712,66.085092 -100.236521,66.085074 -100.236309,66.085096 -100.234564,66.084899 -100.232525,66.084715 -100.232314,66.084644 -100.232097,66.084619 -100.224696,66.082849 -100.223704,66.082495 -100.222357,66.082067 -100.216942,66.079636 -100.211953,66.078809 -100.200237,66.078401 -100.200174,66.078393 -100.199907,66.078387 -100.190979,66.077921 -100.188215,66.077566 -100.187101,66.077289 -100.180341,66.075328 -100.178243,66.074513 -100.176092,66.072877 -100.175329,66.070945 -100.175457,66.070120 -100.176175,66.067862 -100.176786,66.066755 -100.178917,66.065115 -100.182113,66.064019 -100.183258,66.063816 -100.189208,66.062970 -100.191838,66.062785 -100.193544,66.062859 -100.204158,66.063802 -100.211944,66.062777 -100.217056,66.060161 -100.219074,66.058076 -100.219423,66.056988 -100.218525,66.054588 -100.218349,66.053659 -100.219086,66.051727 -100.220163,66.050725 -100.223124,66.048588 -100.223529,66.048342 -100.223643,66.048246 -100.226445,66.046554 -100.227292,66.044952 -100.227686,66.044357 -100.228700,66.043401 -100.233911,66.039548 -100.234752,66.039031 -100.234840,66.038961 -100.239510,66.036425 -100.240023,66.035618 -100.239666,66.035134 -100.239032,66.033373 -100.239158,66.032548 -100.240089,66.029593 -100.240431,66.027171 -100.239590,66.024260 -100.236691,66.022186 -100.232864,66.021064 -100.230807,66.020261 -100.228657,66.018626 -100.228641,66.018587 -100.228600,66.018555 -100.225786,66.014962 -100.225575,66.014409 -100.225083,66.013260 -100.224816,66.009396 -100.224031,66.007766 -100.220714,66.008803 -100.219374,66.009153 -100.216498,66.009519 -100.211269,66.009767 -100.206937,66.010792 -100.204516,66.012338 -100.203519,66.013893 -100.203598,66.014166 -100.204850,66.016148 -100.205329,66.017684 -100.204593,66.019617 -100.203889,66.020328 -100.201570,66.022274 -100.200148,66.023201 -100.196957,66.024298 -100.196111,66.024456 -100.190724,66.025318 -100.187800,66.025547 -100.187672,66.025534 -100.187551,66.025546 -100.181905,66.025477 -100.178378,66.025097 -100.176546,66.024589 -100.170434,66.022437 -100.169061,66.021854 -100.166915,66.020218 -100.166876,66.020119 -100.166780,66.020043 -100.165201,66.017884 -100.164575,66.016128 -100.164873,66.014882 -100.166522,66.011525 -100.166963,66.010839 -100.168095,66.009799 -100.172621,66.006598 -100.174850,66.004017 -100.174606,66.001847 -100.173560,65.999927 -100.172518,65.998432 -100.171944,65.996749 -100.172380,65.995249 -100.173586,65.993243 -100.173888,65.992811 -100.174952,65.991819 -100.176425,65.990751 -100.177485,65.990104 -100.180673,65.989008 -100.184439,65.988621 -100.185446,65.988647 -100.188161,65.988788 -100.186291,65.986593 -100.186275,65.986554 -100.186229,65.986519 -100.185838,65.985945 -100.184588,65.983676 -100.183623,65.982543 -100.183606,65.982503 -100.183560,65.982468 -100.182799,65.980537 -100.183536,65.978606 -100.185659,65.976967 -100.188845,65.975871 -100.191944,65.975496 -100.197101,65.975313 -100.197403,65.975338 -100.197765,65.975301 -100.200311,65.975470 -100.200479,65.975493 -100.199738,65.973618 -100.199793,65.973474 -100.199750,65.973349 -100.199995,65.970831 -100.200719,65.969169 -100.201424,65.968455 -100.204514,65.965861 -100.205930,65.964936 -100.207762,65.964194 -100.210770,65.963249 -100.212007,65.962208 -100.214000,65.959000 -100.214121,65.958830 -100.214129,65.958807 -100.216022,65.956138 -100.216821,65.954585 -100.215709,65.951744 -100.215703,65.951715 -100.215688,65.951690 -100.214476,65.948409 -100.214430,65.948162 -100.214366,65.948036 -100.213576,65.944450 -100.211702,65.944303 -100.210629,65.944149 -100.210112,65.944107 -100.204206,65.943108 -100.203929,65.943020 -100.203539,65.942981 -100.200342,65.941890 -100.198200,65.940255 -100.198155,65.940140 -100.198045,65.940053 -100.195464,65.936456 -100.192495,65.933258 -100.187860,65.929315 -100.187748,65.929268 -100.186659,65.930062 -100.185590,65.930717 -100.182409,65.931813 -100.179555,65.932178 -100.174961,65.932399 -100.174057,65.932421 -100.170294,65.932039 -100.167099,65.930948 -100.165932,65.930229 -100.161496,65.926915 -100.161379,65.928873 -100.160647,65.930636 -100.159820,65.931449 -100.156036,65.934463 -100.154742,65.935288 -100.154185,65.935485 -100.154388,65.935640 -100.155146,65.937570 -100.155073,65.937763 -100.155124,65.937922 -100.154736,65.940890 -100.154020,65.942469 -100.151898,65.944108 -100.151669,65.944186 -100.151532,65.944286 -100.148920,65.945500 -100.145596,65.948938 -100.142989,65.951917 -100.140989,65.953408 -100.139157,65.954150 -100.135388,65.955332 -100.134034,65.955686 -100.130272,65.956073 -100.129268,65.956047 -100.127446,65.955952 -100.127225,65.959481 -100.127203,65.959534 -100.127217,65.959577 -100.126966,65.962094 -100.126239,65.963757 -100.125844,65.964188 -100.123381,65.966584 -100.121649,65.967790 -100.118461,65.968886 -100.114698,65.969272 -100.110930,65.968889 -100.109101,65.968380 -100.106057,65.967304 -100.104690,65.966721 -100.103155,65.965706 -100.102413,65.965058 -100.101530,65.965150 -100.099581,65.965251 -100.095815,65.964868 -100.092619,65.963776 -100.090482,65.962140 -100.089736,65.960418 -100.089386,65.956260 -100.089420,65.956161 -100.089377,65.956051 -100.090080,65.954170 -100.093733,65.949483 -100.093137,65.948222 -100.092989,65.947591 -100.092879,65.947349 -100.092846,65.947081 -100.092177,65.947291 -100.090821,65.947646 -100.087059,65.948031 -100.084498,65.947858 -100.076371,65.946736 -100.075169,65.946527 -100.071976,65.945434 -100.069841,65.943798 -100.069288,65.942873 -100.067413,65.938174 -100.067357,65.937893 -100.066939,65.938978 -100.064889,65.940576 -100.060128,65.943078 -100.060083,65.943094 -100.060051,65.943118 -100.056864,65.944213 -100.053102,65.944598 -100.052907,65.944578 -100.052731,65.944594 -100.045977,65.944464 -100.045758,65.944440 -100.044536,65.944382 -100.039057,65.943855 -100.037107,65.943558 -100.034968,65.942933 -100.033818,65.942490 -100.032565,65.942670 -100.023866,65.943356 -100.022373,65.943415 -100.020567,65.943329 -100.015073,65.942803 -100.013117,65.942505 -100.009927,65.941411 -100.009877,65.941373 -100.009805,65.941347 -100.008300,65.940547 -100.008279,65.940564 -100.007367,65.940977 -100.002804,65.942801 -100.002682,65.942837 -100.002484,65.942924 -100.000357,65.943704 -99.999743,65.944247 -100.000029,65.946414 -99.999911,65.946783 -100.000022,65.947143 -99.999587,65.950035 -99.999786,65.952514 -99.999752,65.952612 -99.999794,65.952721 -99.999045,65.954652 -99.998203,65.955472 -99.994381,65.958486 -99.994245,65.958572 -99.994150,65.958660 -99.990307,65.961429 -99.988112,65.964036 -99.988223,65.964436 -99.990944,65.966781 -99.993879,65.968825 -99.995046,65.969886 -99.995400,65.970402 -99.997561,65.974194 -99.997810,65.975089 -99.997948,65.975410 -99.998055,65.976806 -99.998022,65.976901 -99.998063,65.977005 -99.997313,65.978936 -99.995684,65.980295 -99.992869,65.981973 -99.992595,65.982075 -99.992364,65.982252 -99.989170,65.983346 -99.986024,65.983720 -99.979322,65.983937 -99.976715,65.984394 -99.973803,65.985879 -99.971246,65.989653 -99.970896,65.989940 -99.970749,65.990257 -99.966485,65.994621 -99.966261,65.994781 -99.965790,65.995224 -99.963275,65.997095 -99.963247,65.997181 -99.963332,65.997714 -99.963346,65.997898 -99.963356,65.997922 -99.963401,65.998508 -99.963820,65.999086 -99.966023,66.000430 -99.967585,66.001747 -99.968332,66.003679 -99.967603,66.005582 -99.966278,66.007247 -99.966050,66.009150 -99.965931,66.009414 -99.965773,66.010067 -99.964019,66.013653 -99.963599,66.014304 -99.963591,66.014325 -99.961661,66.016759 -99.961640,66.016776 -99.961633,66.016795 -99.959494,66.018432 -99.956481,66.019485 -99.954032,66.020034 -99.953933,66.020045 -99.953845,66.020075 -99.950072,66.020458 -99.946301,66.020073 -99.944456,66.019557 -99.939886,66.017932 -99.938535,66.017353 -99.936402,66.015716 -99.936324,66.015514 -99.936152,66.015371 -99.932774,66.010130 -99.932621,66.009642 -99.932321,66.009019 -99.932002,66.007276 -99.930850,66.007579 -99.930112,66.007754 -99.926341,66.008137 -99.926171,66.008119 -99.926016,66.008134 -99.919812,66.008027 -99.919656,66.008010 -99.918548,66.007963 -99.917999,66.007917 -99.918698,66.009731 -99.917942,66.011662 -99.917724,66.011829 -99.917650,66.011989 -99.915190,66.014499 -99.915093,66.015891 -99.916009,66.016484 -99.921703,66.017780 -99.922430,66.018036 -99.924244,66.018618 -99.931156,66.021761 -99.931316,66.021876 -99.931586,66.021969 -99.933719,66.023607 -99.934193,66.024355 -99.936186,66.028604 -99.936458,66.029788 -99.935703,66.031719 -99.935660,66.031753 -99.935644,66.031790 -99.933783,66.033988 -99.931701,66.035554 -99.928498,66.036647 -99.926209,66.036973 -99.917464,66.037652 -99.915978,66.037709 -99.912205,66.037323 -99.911000,66.037016 -99.900676,66.033919 -99.900216,66.033736 -99.899707,66.033587 -99.887144,66.028710 -99.879937,66.026598 -99.879889,66.026579 -99.879783,66.026552 -99.872322,66.024272 -99.864849,66.022858 -99.858821,66.021881 -99.856521,66.021564 -99.849075,66.020710 -99.847446,66.020446 -99.844254,66.019350 -99.842460,66.018083 -99.840759,66.016374 -99.840425,66.016002 -99.839752,66.014672 -99.839059,66.011643 -99.839001,66.011116 -99.834140,66.011142 -99.834083,66.011137 -99.834024,66.011143 -99.830255,66.010756 -99.827431,66.009839 -99.823502,66.008015 -99.823364,66.007915 -99.823136,66.007836 -99.821010,66.006197 -99.820272,66.004265 -99.820413,66.003431 -99.820940,66.001852 -99.821561,66.000755 -99.823706,65.999120 -99.823790,65.999091 -99.823027,65.998492 -99.822289,65.996560 -99.823050,65.994629 -99.823426,65.994220 -99.825592,65.992114 -99.823036,65.990748 -99.821038,65.989176 -99.821011,65.989104 -99.820938,65.989046 -99.818993,65.986414 -99.818356,65.984612 -99.819118,65.982681 -99.821262,65.981046 -99.822590,65.980478 -99.827083,65.978876 -99.828955,65.978352 -99.832724,65.977971 -99.836489,65.978357 -99.836705,65.978432 -99.836927,65.978457 -99.843412,65.980035 -99.846711,65.980469 -99.852993,65.980101 -99.854121,65.980069 -99.857886,65.980455 -99.857903,65.980461 -99.857922,65.980463 -99.867976,65.982629 -99.868019,65.982644 -99.869907,65.983184 -99.876880,65.985754 -99.877840,65.985934 -99.878310,65.984518 -99.878928,65.983424 -99.881069,65.981788 -99.881227,65.981734 -99.881326,65.981661 -99.884544,65.980131 -99.884683,65.979148 -99.885414,65.977572 -99.887554,65.975936 -99.890752,65.974844 -99.891512,65.974701 -99.895700,65.974015 -99.898290,65.973808 -99.898607,65.973775 -99.905955,65.973740 -99.908738,65.973554 -99.908949,65.972497 -99.909653,65.971073 -99.909870,65.970907 -99.909944,65.970747 -99.911661,65.968993 -99.913508,65.967682 -99.916704,65.966589 -99.920470,65.966206 -99.924234,65.966592 -99.924556,65.966702 -99.924865,65.966740 -99.930602,65.968212 -99.931002,65.968360 -99.931971,65.968638 -99.933382,65.969162 -99.934197,65.968758 -99.934277,65.968731 -99.935351,65.968266 -99.936609,65.967809 -99.936344,65.967390 -99.934011,65.962439 -99.933736,65.961248 -99.933874,65.960412 -99.935141,65.956567 -99.935538,65.955862 -99.935602,65.955675 -99.938762,65.951242 -99.938941,65.951099 -99.939014,65.950924 -99.940532,65.949172 -99.937797,65.949592 -99.934952,65.950287 -99.932578,65.952262 -99.931154,65.953185 -99.927961,65.954278 -99.926383,65.954536 -99.917502,65.955571 -99.912186,65.956525 -99.909572,65.957790 -99.905035,65.960824 -99.899938,65.964401 -99.898942,65.964997 -99.895746,65.966089 -99.894582,65.966293 -99.888645,65.967125 -99.886043,65.967303 -99.882279,65.966917 -99.879092,65.965822 -99.876966,65.964184 -99.876225,65.962253 -99.876366,65.961414 -99.877398,65.958312 -99.877112,65.954654 -99.872732,65.955099 -99.870812,65.955195 -99.867050,65.954809 -99.864885,65.954171 -99.861562,65.952878 -99.858172,65.952696 -99.855421,65.952337 -99.852236,65.951241 -99.850113,65.949603 -99.850073,65.949499 -99.849973,65.949419 -99.848433,65.947259 -99.847834,65.945513 -99.847860,65.945214 -99.844997,65.945434 -99.838501,65.946828 -99.840434,65.947939 -99.842187,65.949377 -99.842559,65.949930 -99.845025,65.954431 -99.845391,65.955809 -99.844632,65.957740 -99.842491,65.959375 -99.841588,65.959784 -99.837017,65.961607 -99.834723,65.962291 -99.830956,65.962672 -99.827194,65.962285 -99.824009,65.961189 -99.823955,65.961148 -99.823879,65.961121 -99.817117,65.957501 -99.810375,65.955442 -99.806020,65.954339 -99.803409,65.953376 -99.802495,65.952832 -99.801775,65.952336 -99.800762,65.953972 -99.800462,65.954392 -99.798318,65.956027 -99.795120,65.957118 -99.792668,65.957455 -99.784746,65.957996 -99.776817,65.959749 -99.776739,65.959758 -99.776669,65.959781 -99.772902,65.960162 -99.771193,65.960084 -99.764608,65.959481 -99.762555,65.959172 -99.759373,65.958075 -99.757255,65.956436 -99.757223,65.956351 -99.757140,65.956285 -99.753662,65.951493 -99.753528,65.951106 -99.753075,65.950128 -99.753031,65.949840 -99.749409,65.949467 -99.746561,65.948533 -99.740215,65.945550 -99.738950,65.945411 -99.730871,65.944967 -99.723863,65.944798 -99.720543,65.944415 -99.718630,65.943755 -99.718231,65.944759 -99.716084,65.946393 -99.715864,65.946468 -99.715731,65.946565 -99.713053,65.947801 -99.710205,65.948720 -99.706438,65.949099 -99.704738,65.949021 -99.698671,65.948466 -99.688361,65.948108 -99.680784,65.948122 -99.680718,65.948116 -99.680651,65.948122 -99.676133,65.948099 -99.672447,65.947711 -99.669270,65.946613 -99.667157,65.944973 -99.666687,65.944215 -99.666039,65.942788 -99.665783,65.941614 -99.666554,65.939685 -99.668703,65.938051 -99.670584,65.937301 -99.674963,65.935955 -99.673879,65.935973 -99.673577,65.935945 -99.673267,65.935974 -99.667643,65.935890 -99.667462,65.935870 -99.667317,65.935882 -99.657801,65.935577 -99.656338,65.935402 -99.655091,65.935290 -99.649765,65.934305 -99.649446,65.934201 -99.649053,65.934157 -99.644247,65.933043 -99.643183,65.933174 -99.642390,65.933693 -99.641571,65.934165 -99.638369,65.935254 -99.634603,65.935633 -99.634568,65.935629 -99.634534,65.935633 -99.630017,65.935610 -99.626329,65.935220 -99.624626,65.934748 -99.619064,65.932817 -99.617593,65.932191 -99.616200,65.931278 -99.612683,65.928326 -99.611968,65.927598 -99.611246,65.925667 -99.611525,65.924696 -99.605704,65.924364 -99.603004,65.924004 -99.602883,65.923963 -99.602750,65.923948 -99.596316,65.922453 -99.587868,65.921976 -99.585156,65.921616 -99.581985,65.920517 -99.581927,65.920472 -99.581846,65.920444 -99.577078,65.917865 -99.575111,65.916298 -99.575057,65.916153 -99.574926,65.916045 -99.573435,65.913822 -99.572533,65.914213 -99.566887,65.917387 -99.560555,65.921484 -99.559763,65.921938 -99.559746,65.921943 -99.559735,65.921952 -99.553571,65.925057 -99.550394,65.926131 -99.550284,65.926142 -99.550194,65.926171 -99.544738,65.927247 -99.541172,65.927584 -99.537418,65.927193 -99.534248,65.926093 -99.532513,65.924864 -99.529569,65.921927 -99.529355,65.921687 -99.528547,65.922236 -99.525342,65.923324 -99.523922,65.923559 -99.516617,65.924464 -99.522182,65.926906 -99.522785,65.927194 -99.524349,65.928260 -99.528652,65.932189 -99.528766,65.932310 -99.528819,65.932347 -99.531764,65.935277 -99.532138,65.935694 -99.532658,65.936581 -99.533872,65.939648 -99.534069,65.940693 -99.533289,65.942622 -99.531945,65.943788 -99.529023,65.945688 -99.528210,65.946155 -99.528068,65.946203 -99.527978,65.946268 -99.525947,65.947233 -99.525664,65.948596 -99.526252,65.949884 -99.526346,65.950313 -99.526472,65.950581 -99.526994,65.953550 -99.528407,65.957035 -99.528612,65.958103 -99.527843,65.960019 -99.525913,65.962377 -99.525905,65.962383 -99.525902,65.962390 -99.523742,65.964023 -99.520533,65.965111 -99.516761,65.965487 -99.513003,65.965096 -99.509829,65.963996 -99.509626,65.963837 -99.509377,65.963744 -99.503914,65.960489 -99.503790,65.960736 -99.502133,65.962094 -99.497860,65.964604 -99.497588,65.964704 -99.497357,65.964878 -99.494146,65.965966 -99.491239,65.966324 -99.488008,65.966463 -99.487818,65.966563 -99.487738,65.966591 -99.487682,65.966633 -99.484471,65.967720 -99.480698,65.968097 -99.479617,65.968064 -99.477691,65.967950 -99.470615,65.968997 -99.467840,65.969195 -99.464728,65.968929 -99.459419,65.968005 -99.451163,65.967123 -99.449712,65.967038 -99.449534,65.967548 -99.448903,65.968634 -99.448679,65.968803 -99.448601,65.968965 -99.444245,65.973321 -99.442855,65.974293 -99.442514,65.974555 -99.441329,65.975177 -99.440119,65.977034 -99.440195,65.980793 -99.440120,65.980988 -99.440176,65.981166 -99.439552,65.986201 -99.438784,65.987861 -99.436618,65.989493 -99.433599,65.990537 -99.426213,65.992177 -99.426109,65.992188 -99.426015,65.992220 -99.422239,65.992595 -99.418478,65.992202 -99.416834,65.991748 -99.412782,65.990360 -99.411254,65.989712 -99.410097,65.988984 -99.406520,65.986245 -99.405576,65.985330 -99.404866,65.983398 -99.404942,65.983214 -99.404895,65.983060 -99.405664,65.977984 -99.404990,65.975994 -99.403121,65.976625 -99.402115,65.976804 -99.395423,65.977788 -99.388992,65.980857 -99.385976,65.981844 -99.382201,65.982219 -99.381170,65.982189 -99.376721,65.981937 -99.373993,65.981573 -99.372408,65.981139 -99.370691,65.980559 -99.370683,65.980583 -99.371719,65.984218 -99.371822,65.985003 -99.371030,65.986932 -99.370802,65.987104 -99.370723,65.987267 -99.368099,65.989877 -99.366236,65.991173 -99.363017,65.992259 -99.359240,65.992633 -99.355480,65.992239 -99.355145,65.992123 -99.354824,65.992083 -99.348071,65.990313 -99.345557,65.989367 -99.343460,65.987724 -99.343444,65.987679 -99.343398,65.987643 -99.340936,65.984335 -99.335294,65.978996 -99.334818,65.978477 -99.334194,65.977250 -99.333527,65.974605 -99.330915,65.974864 -99.329892,65.974834 -99.324887,65.974551 -99.322152,65.974187 -99.318985,65.973084 -99.317026,65.971607 -99.312198,65.966022 -99.312164,65.965937 -99.312062,65.965857 -99.311603,65.965101 -99.310816,65.963326 -99.309549,65.962474 -99.307224,65.961968 -99.300416,65.961403 -99.295910,65.961690 -99.294857,65.961953 -99.294854,65.961970 -99.296621,65.964808 -99.299332,65.968122 -99.302573,65.969882 -99.312266,65.973174 -99.313838,65.973838 -99.315782,65.975299 -99.319819,65.979923 -99.319857,65.980016 -99.319969,65.980104 -99.320673,65.982037 -99.320388,65.983185 -99.318730,65.986639 -99.319358,65.988514 -99.321378,65.991653 -99.322790,65.992417 -99.326772,65.994097 -99.327260,65.994326 -99.327318,65.994346 -99.332635,65.996955 -99.332716,65.997016 -99.332846,65.997061 -99.334943,65.998704 -99.335603,66.000091 -99.336001,66.002189 -99.336046,66.002735 -99.335502,66.004333 -99.333604,66.007138 -99.336115,66.008704 -99.337223,66.009663 -99.250325,65.996888 -99.251432,65.993935 -99.251370,65.993493 -99.251286,65.993201 -99.247901,65.990194 -99.247385,65.989649 -99.247347,65.989619 -99.245548,65.987409 -99.241963,65.983924 -99.241812,65.983756 -99.241769,65.983724 -99.239970,65.981769 -99.236999,65.980149 -99.235405,65.979741 -99.232449,65.979565 -99.226748,65.979423 -99.221228,65.979702 -99.213797,65.980167 -99.212539,65.980205 -99.210907,65.980129 -99.203765,65.979488 -99.201641,65.979167 -99.198478,65.978063 -99.198250,65.977884 -99.197979,65.977781 -99.193791,65.975225 -99.192202,65.973863 -99.192149,65.973715 -99.192016,65.973604 -99.190181,65.970806 -99.186358,65.967648 -99.181707,65.964863 -99.180058,65.963464 -99.180015,65.963342 -99.179903,65.963250 -99.177310,65.959412 -99.176772,65.957693 -99.177576,65.955764 -99.179754,65.954135 -99.180392,65.953841 -99.183733,65.952429 -99.186317,65.951640 -99.188644,65.951319 -99.193884,65.950937 -99.195331,65.950887 -99.197662,65.951039 -99.203071,65.951738 -99.210389,65.951806 -99.210091,65.951204 -99.207620,65.949360 -99.203737,65.947461 -99.199168,65.945476 -99.194473,65.943556 -99.189176,65.942475 -99.188404,65.942894 -99.188250,65.942948 -99.188132,65.943036 -99.184912,65.944119 -99.181139,65.944491 -99.180055,65.944456 -99.177277,65.944288 -99.174610,65.943926 -99.171800,65.942995 -99.167924,65.941156 -99.167735,65.941015 -99.167437,65.940908 -99.163180,65.938581 -99.162620,65.938129 -99.161399,65.937209 -99.157784,65.933074 -99.157743,65.932973 -99.157621,65.932876 -99.157345,65.932470 -99.155942,65.930082 -99.155526,65.928555 -99.155690,65.927711 -99.156583,65.925232 -99.157224,65.924148 -99.158671,65.922927 -99.163051,65.920188 -99.163781,65.919780 -99.165283,65.919159 -99.171080,65.917206 -99.172796,65.916744 -99.174929,65.916438 -99.181352,65.915904 -99.182989,65.915839 -99.185324,65.915992 -99.188558,65.916411 -99.189971,65.916655 -99.193127,65.917759 -99.193172,65.917795 -99.193239,65.917818 -99.194776,65.918652 -99.196824,65.919545 -99.197086,65.919670 -99.197134,65.919686 -99.201002,65.921525 -99.201130,65.921621 -99.201343,65.921695 -99.202742,65.922626 -99.203569,65.923337 -99.204167,65.923582 -99.204743,65.923849 -99.204822,65.923875 -99.209644,65.926240 -99.209787,65.926349 -99.210005,65.926427 -99.214644,65.928955 -99.219630,65.930367 -99.224481,65.931137 -99.228256,65.931240 -99.231059,65.930619 -99.231135,65.930611 -99.231205,65.930588 -99.235492,65.929680 -99.235638,65.929665 -99.235759,65.929626 -99.237333,65.929319 -99.238539,65.928679 -99.237517,65.927527 -99.236710,65.927008 -99.231206,65.925450 -99.228959,65.924573 -99.226873,65.922930 -99.226807,65.922747 -99.226651,65.922614 -99.224843,65.919745 -99.224370,65.918128 -99.225169,65.916200 -99.227226,65.914630 -99.230010,65.913181 -99.230078,65.913157 -99.230127,65.913121 -99.233342,65.912038 -99.237110,65.911665 -99.238193,65.911700 -99.242625,65.911967 -99.243652,65.912106 -99.244484,65.912174 -99.250892,65.913235 -99.251697,65.913388 -99.254208,65.914182 -99.255105,65.914574 -99.259210,65.912525 -99.261254,65.911496 -99.264465,65.910413 -99.268232,65.910040 -99.271809,65.910399 -99.276561,65.911376 -99.276638,65.911402 -99.276733,65.911412 -99.279891,65.912515 -99.281444,65.913581 -99.282256,65.914329 -99.284075,65.913858 -99.284809,65.913686 -99.288112,65.913318 -99.290965,65.913257 -99.291182,65.913277 -99.291429,65.913252 -99.295178,65.913647 -99.297037,65.914180 -99.300043,65.915278 -99.301343,65.915848 -99.302900,65.916916 -99.305036,65.918885 -99.305232,65.919095 -99.305299,65.919144 -99.307352,65.921326 -99.307500,65.921668 -99.307851,65.921966 -99.309660,65.924842 -99.309676,65.924897 -99.309809,65.925102 -99.310926,65.927272 -99.312733,65.929247 -99.315477,65.931454 -99.315731,65.931707 -99.319178,65.930745 -99.320178,65.930502 -99.321354,65.930299 -99.324916,65.929811 -99.327510,65.929640 -99.327643,65.929654 -99.327769,65.929642 -99.332846,65.929725 -99.336033,65.929592 -99.340000,65.929064 -99.345846,65.927447 -99.346809,65.927214 -99.347070,65.927188 -99.347269,65.927125 -99.352105,65.926255 -99.355414,65.925970 -99.357603,65.926103 -99.361402,65.926561 -99.361596,65.926593 -99.361617,65.926533 -99.360496,65.923693 -99.360301,65.922635 -99.361092,65.920707 -99.361827,65.919987 -99.364200,65.918057 -99.365630,65.917146 -99.368221,65.916203 -99.371951,65.915264 -99.372255,65.915229 -99.372571,65.915122 -99.376337,65.914748 -99.380087,65.915141 -99.382379,65.915840 -99.384355,65.916648 -99.385226,65.917051 -99.385806,65.917382 -99.386538,65.917839 -99.387355,65.917280 -99.391721,65.914032 -99.393830,65.912314 -99.393567,65.912299 -99.388031,65.911971 -99.385357,65.911611 -99.382195,65.910509 -99.382152,65.910476 -99.382091,65.910454 -99.380191,65.909432 -99.378202,65.907845 -99.377496,65.905912 -99.378285,65.903984 -99.379355,65.903008 -99.380851,65.901940 -99.381943,65.901285 -99.385151,65.900199 -99.388077,65.899841 -99.392669,65.899650 -99.393074,65.899643 -99.393125,65.899637 -99.402225,65.899477 -99.402409,65.899494 -99.402613,65.899474 -99.410977,65.899496 -99.416973,65.899443 -99.423787,65.898880 -99.425323,65.898292 -99.426820,65.896882 -99.428562,65.895694 -99.430455,65.894943 -99.435343,65.893452 -99.437277,65.892569 -99.439041,65.890800 -99.440899,65.889499 -99.440919,65.889492 -99.440933,65.889482 -99.442985,65.888452 -99.446155,65.887383 -99.449917,65.887008 -99.453665,65.887400 -99.456633,65.888402 -99.456837,65.888503 -99.460364,65.886424 -99.463104,65.884181 -99.463772,65.883754 -99.464034,65.883539 -99.467469,65.881520 -99.471312,65.879085 -99.473843,65.877012 -99.475410,65.875314 -99.475648,65.875141 -99.476400,65.874466 -99.481604,65.870857 -99.482600,65.870267 -99.485801,65.869180 -99.485921,65.869168 -99.486018,65.869136 -99.491465,65.868068 -99.495007,65.867736 -99.496063,65.867768 -99.501575,65.868087 -99.504939,65.868272 -99.505699,65.868230 -99.509128,65.865421 -99.510552,65.864508 -99.513751,65.863421 -99.517510,65.863044 -99.520063,65.863224 -99.522764,65.863605 -99.523955,65.863817 -99.525273,65.864164 -99.528836,65.865285 -99.528901,65.865312 -99.529009,65.865341 -99.534075,65.867012 -99.535181,65.867473 -99.535462,65.867566 -99.539192,65.869356 -99.540114,65.868552 -99.543029,65.866645 -99.543850,65.866172 -99.547048,65.865084 -99.550806,65.864707 -99.553570,65.864917 -99.558391,65.865657 -99.559373,65.865838 -99.561861,65.866617 -99.564325,65.867677 -99.565002,65.867998 -99.565060,65.868043 -99.565143,65.868073 -99.568477,65.869881 -99.568545,65.869935 -99.569399,65.870462 -99.572100,65.872453 -99.572158,65.872508 -99.572159,65.872508 -99.573017,65.872351 -99.583757,65.870665 -99.586658,65.870445 -99.590405,65.870835 -99.592477,65.871444 -99.595971,65.872786 -99.597065,65.873276 -99.599169,65.874916 -99.599889,65.876847 -99.599488,65.878239 -99.598085,65.880688 -99.597921,65.880925 -99.598775,65.880375 -99.599542,65.879937 -99.602740,65.878848 -99.603073,65.878815 -99.603317,65.878737 -99.609320,65.877692 -99.612502,65.877425 -99.616250,65.877815 -99.618699,65.878664 -99.618647,65.878525 -99.618692,65.878076 -99.619372,65.874437 -99.619512,65.874152 -99.619635,65.873666 -99.621421,65.870080 -99.621886,65.869371 -99.622906,65.868424 -99.628163,65.864579 -99.629289,65.863893 -99.631874,65.862946 -99.635582,65.862007 -99.635881,65.861972 -99.636191,65.861866 -99.639948,65.861488 -99.641946,65.861597 -99.644391,65.861863 -99.644893,65.861533 -99.645718,65.860083 -99.647384,65.856798 -99.647734,65.856266 -99.647753,65.856216 -99.650798,65.852249 -99.650858,65.852203 -99.650881,65.852145 -99.653025,65.850512 -99.653690,65.850202 -99.658954,65.847967 -99.661481,65.847188 -99.665235,65.846809 -99.666252,65.846838 -99.672339,65.847174 -99.675067,65.847534 -99.678234,65.848631 -99.679116,65.849158 -99.680948,65.850416 -99.682171,65.851529 -99.682896,65.853460 -99.682749,65.854302 -99.681903,65.856789 -99.681783,65.856999 -99.681736,65.857186 -99.680043,65.860544 -99.680014,65.860588 -99.680007,65.860613 -99.678584,65.863278 -99.677811,65.865567 -99.677244,65.868481 -99.678365,65.871199 -99.679357,65.872733 -99.679998,65.873080 -99.680348,65.872767 -99.680348,65.872767 -99.681905,65.871377 -99.682523,65.869550 -99.682524,65.869549 -99.682524,65.869549 -99.683363,65.867071 -99.684511,65.863668 -99.684994,65.860701 -99.685048,65.860589 -99.685106,65.860256 -99.686614,65.855801 -99.686872,65.853561 -99.686919,65.853456 -99.686997,65.853002 -99.687638,65.851088 -99.687746,65.849384 -99.687777,65.849310 -99.687758,65.849250 -99.687992,65.847220 -99.687580,65.845678 -99.685686,65.843604 -99.684033,65.842388 -99.679916,65.840391 -99.679772,65.840283 -99.679554,65.840206 -99.676693,65.838665 -99.676345,65.838388 -99.674985,65.837404 -99.672910,65.835222 -99.672842,65.835068 -99.672639,65.834910 -99.672371,65.834005 -99.671916,65.832980 -99.672002,65.832763 -99.671950,65.832588 -99.672470,65.829391 -99.672716,65.828875 -99.672901,65.828275 -99.675382,65.824277 -99.675683,65.823856 -99.675829,65.823745 -99.675881,65.823630 -99.678529,65.820785 -99.678529,65.820784 -99.678529,65.820784 -99.681177,65.817939 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-99.267123,65.927473 -99.268406,65.929636 -99.268411,65.929654 -99.268450,65.929713 -99.269321,65.931269 -99.270070,65.931574 -99.273694,65.932524 -99.277811,65.932938 -99.277983,65.932965 -99.278145,65.932975 -99.279093,65.933088 -99.277394,65.931863 -99.273744,65.930105 -99.273740,65.930102 -99.273733,65.930099 -99.270202,65.928393 -99.267123,65.927473 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-99.593116,65.884490 -99.592711,65.884751 -99.591939,65.885193 -99.591155,65.885551 -99.585248,65.887976 -99.584262,65.889190 -99.584251,65.889197 -99.584248,65.889206 -99.583364,65.890015 -99.587329,65.890124 -99.587652,65.889906 -99.590698,65.886827 -99.590719,65.886812 -99.590784,65.886743 -99.593116,65.884490 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-99.798329,65.829342 -99.797372,65.829963 -99.797343,65.829980 -99.797334,65.829988 -99.794665,65.831699 -99.794910,65.831992 -99.796491,65.832400 -99.797866,65.832582 -99.797693,65.831440 -99.797664,65.831032 -99.798329,65.829342 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-99.826836,65.784024 -99.828328,65.787242 -99.828596,65.788429 -99.828178,65.789871 -99.826874,65.792099 -99.826536,65.792585 -99.826074,65.793079 -99.822817,65.796123 -99.821149,65.797264 -99.821018,65.797309 -99.820935,65.797370 -99.816243,65.799636 -99.816204,65.799649 -99.815854,65.799814 -99.812566,65.801241 -99.809987,65.802047 -99.806241,65.802428 -99.804115,65.802306 -99.797059,65.801490 -99.796483,65.801457 -99.794647,65.802030 -99.793816,65.803658 -99.793480,65.804168 -99.793463,65.804215 -99.792119,65.805982 -99.792111,65.807238 -99.793621,65.808724 -99.796336,65.810640 -99.799958,65.813109 -99.799987,65.813135 -99.800054,65.813176 -99.803243,65.815427 -99.804390,65.816483 -99.804539,65.816752 -99.807699,65.814849 -99.808234,65.814552 -99.811416,65.813461 -99.815164,65.813080 -99.815206,65.813085 -99.815247,65.813081 -99.819747,65.813103 -99.820754,65.813210 -99.820969,65.811535 -99.821123,65.811198 -99.821305,65.810518 -99.822748,65.807840 -99.823147,65.807245 -99.825278,65.805611 -99.825286,65.805608 -99.825291,65.805604 -99.829365,65.803522 -99.829599,65.803442 -99.832337,65.802480 -99.834771,65.801931 -99.834874,65.801920 -99.834966,65.801888 -99.837847,65.801526 -99.842416,65.801320 -99.843281,65.801301 -99.846007,65.801502 -99.849976,65.802099 -99.849476,65.799463 -99.849046,65.797387 -99.849025,65.797181 -99.849007,65.797139 -99.848823,65.795479 -99.847930,65.794409 -99.845396,65.792627 -99.844242,65.791566 -99.843731,65.790722 -99.841841,65.786244 -99.841617,65.785158 -99.842372,65.783229 -99.844371,65.781693 -99.843808,65.780214 -99.843852,65.780102 -99.843818,65.780002 -99.843977,65.778177 -99.843406,65.778335 -99.842529,65.778548 -99.839055,65.778928 -99.838711,65.778932 -99.835216,65.781718 -99.833903,65.782554 -99.830725,65.783645 -99.826981,65.784026 -99.826900,65.784017 -99.826836,65.784024 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-99.826274,65.745778 -99.827103,65.746422 -99.827576,65.747184 -99.828225,65.748611 -99.828484,65.749778 -99.828343,65.750615 -99.827581,65.752911 -99.826931,65.756385 -99.826869,65.758899 -99.829868,65.757890 -99.832744,65.757528 -99.837306,65.757322 -99.838170,65.757303 -99.841470,65.757602 -99.846757,65.758586 -99.847068,65.758688 -99.847449,65.758731 -99.852674,65.759943 -99.852759,65.759974 -99.853591,65.760187 -99.855653,65.760808 -99.855589,65.760244 -99.855636,65.760102 -99.855572,65.759936 -99.855826,65.758807 -99.857948,65.754092 -99.858163,65.753748 -99.858199,65.753634 -99.858700,65.752861 -99.857288,65.752211 -99.851593,65.749918 -99.850682,65.749502 -99.850631,65.749462 -99.850559,65.749436 -99.846997,65.747522 -99.843414,65.746280 -99.839813,65.745659 -99.837212,65.745510 -99.832515,65.745631 -99.828135,65.745828 -99.827271,65.745847 -99.826274,65.745778 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-99.891191,65.823775 -99.890907,65.824102 -99.888882,65.825613 -99.888286,65.825895 -99.882946,65.828218 -99.884972,65.828749 -99.885852,65.829079 -99.886167,65.828790 -99.887467,65.827909 -99.887657,65.827760 -99.889352,65.826856 -99.891492,65.824663 -99.891191,65.823775 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-101.326108,65.882712 -101.325886,65.882966 -101.325584,65.883268 -101.325716,65.884283 -101.326245,65.885574 -101.326454,65.886498 -101.326246,65.887282 -101.327915,65.887791 -101.328950,65.888197 -101.329352,65.888322 -101.329910,65.888570 -101.330583,65.888518 -101.330475,65.888443 -101.329358,65.887455 -101.329340,65.887412 -101.329293,65.887377 -101.326761,65.884280 -101.326108,65.882712 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-100.451826,65.886749 -100.451954,65.886708 -100.453821,65.885948 -100.453718,65.885786 -100.453232,65.884258 -100.453554,65.882936 -100.454928,65.880250 -100.455256,65.879745 -100.453721,65.879378 -100.452919,65.880219 -100.452846,65.880272 -100.452641,65.880489 -100.450923,65.882045 -100.451027,65.883094 -100.451774,65.885658 -100.451882,65.886365 -100.451826,65.886749 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-100.379165,66.139304 -100.375471,66.140002 -100.373381,66.141093 -100.375254,66.142277 -100.376101,66.141291 -100.378123,66.139774 -100.378908,66.139410 -100.379165,66.139304 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-104.797867,63.243118 -98.859513,64.741799</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-100.081798,64.709228 -100.080819,64.709412 -100.076187,64.710153 -100.074191,64.710343 -100.071456,64.710781 -100.068991,64.711042 -100.066142,64.711795 -100.063092,64.712530 -100.062148,64.712644 -100.061449,64.712870 -100.059790,64.713196 -100.059576,64.713219 -100.058115,64.713506 -100.056754,64.713744 -100.056190,64.713801 -100.056093,64.713820 -100.054781,64.714047 -100.053720,64.714154 -100.051212,64.714588 -100.045026,64.715398 -100.044078,64.715475 -100.042441,64.716001 -100.040547,64.716367 -100.040264,64.716398 -100.038631,64.716713 -100.037087,64.716973 -100.036329,64.717048 -100.036226,64.717068 -100.034836,64.717300 -100.033406,64.717441 -100.030751,64.717884 -100.022893,64.718823 -100.020113,64.719034 -100.018811,64.719221 -100.016582,64.719390 -100.015203,64.719466 -100.014306,64.719586 -100.012240,64.719708 -100.011889,64.719695 -100.011796,64.719702 -100.011214,64.719673 -100.010584,64.719721 -100.009729,64.719824 -100.009248,64.719823 -100.008474,64.719882 -100.001532,64.719878 -99.994637,64.719635 -99.989923,64.719231 -99.987786,64.719156 -99.984176,64.718773 -99.983169,64.718552 -99.982177,64.718459 -99.981199,64.718409 -99.980697,64.718320 -99.979711,64.718227 -99.975246,64.717487 -99.972427,64.716941 -99.971339,64.717126 -99.970626,64.717197 -99.970519,64.717217 -99.969140,64.717449 -99.967801,64.717580 -99.965173,64.718021 -99.956191,64.719113 -99.953386,64.719329 -99.951996,64.719528 -99.949768,64.719699 -99.948412,64.719773 -99.947452,64.719902 -99.945346,64.720028 -99.944953,64.720014 -99.944812,64.720025 -99.944238,64.719996 -99.943585,64.720046 -99.942706,64.720151 -99.942208,64.720150 -99.941386,64.720213 -99.934452,64.720205 -99.927565,64.719961 -99.922868,64.719555 -99.920724,64.719479 -99.917114,64.719096 -99.916105,64.718874 -99.915102,64.718779 -99.914122,64.718729 -99.913619,64.718639 -99.912626,64.718545 -99.905118,64.717149 -99.897985,64.715462 -99.891712,64.713600 -99.891228,64.713485 -99.888172,64.712396 -99.887994,64.712300 -99.887960,64.712290 -99.887719,64.712232 -99.887621,64.712189 -99.887493,64.712150 -99.883817,64.710633 -99.880364,64.709028 -99.879108,64.708254 -99.878893,64.708154 -99.878635,64.708045 -99.878417,64.707939 -99.878384,64.707917 -99.877133,64.707336 -99.876485,64.706952 -99.875353,64.706159 -99.874699,64.705839 -99.869517,64.702434 -99.868665,64.702477 -99.861746,64.702466 -99.854873,64.702219 -99.850198,64.701813 -99.848047,64.701736 -99.844440,64.701352 -99.843429,64.701128 -99.842414,64.701032 -99.841432,64.700981 -99.840928,64.700891 -99.839928,64.700796 -99.834702,64.699898 -99.829634,64.698858 -99.828358,64.698502 -99.826342,64.698508 -99.825980,64.698498 -99.825913,64.698493 -99.824674,64.698491 -99.821913,64.698391 -99.820427,64.698352 -99.819677,64.698290 -99.819097,64.698289 -99.817807,64.698243 -99.815577,64.698048 -99.814537,64.698021 -99.814224,64.697994 -99.812685,64.697820 -99.810987,64.697759 -99.807381,64.697374 -99.806369,64.697150 -99.805348,64.697052 -99.804365,64.697001 -99.803860,64.696911 -99.802857,64.696815 -99.795895,64.695538 -99.789247,64.694010 -99.784201,64.692528 -99.782913,64.692232 -99.780214,64.691320 -99.779723,64.691063 -99.779438,64.690977 -99.778818,64.690827 -99.778554,64.690711 -99.778120,64.690581 -99.777562,64.690276 -99.776851,64.689964 -99.775971,64.689734 -99.773891,64.688857 -99.773532,64.688646 -99.771881,64.687950 -99.768609,64.686370 -99.767006,64.685359 -99.765195,64.684490 -99.763275,64.683279 -99.762614,64.682798 -99.761339,64.681949 -99.761330,64.681944 -99.761099,64.681893 -99.758603,64.681099 -99.758001,64.680793 -99.757546,64.680654 -99.757007,64.680532 -99.756748,64.680445 -99.756607,64.680372 -99.756173,64.680267 -99.755953,64.680168 -99.755742,64.680104 -99.755470,64.679955 -99.755077,64.679860 -99.754902,64.679784 -99.754882,64.679778 -99.754672,64.679697 -99.754242,64.679567 -99.754003,64.679437 -99.753863,64.679383 -99.753435,64.679141 -99.753229,64.679051 -99.752325,64.678817 -99.750463,64.678042 -99.750183,64.677880 -99.748655,64.677244 -99.743025,64.674602 -99.741457,64.673628 -99.739365,64.672630 -99.738016,64.671792 -99.737785,64.671669 -99.735296,64.670014 -99.734648,64.669678 -99.734481,64.669553 -99.734372,64.669400 -99.734102,64.669220 -99.733436,64.668866 -99.731748,64.667528 -99.731688,64.667576 -99.730044,64.668597 -99.729267,64.669267 -99.726641,64.670898 -99.723811,64.672468 -99.722701,64.672840 -99.722080,64.673279 -99.720295,64.674067 -99.719925,64.674183 -99.718454,64.674832 -99.716210,64.675711 -99.714540,64.676204 -99.714119,64.676386 -99.712848,64.676864 -99.712197,64.677052 -99.711583,64.677288 -99.710143,64.677713 -99.709572,64.677858 -99.708076,64.678421 -99.703328,64.679757 -99.701546,64.680198 -99.701217,64.680314 -99.700518,64.680487 -99.700358,64.680545 -99.699535,64.680750 -99.699305,64.680780 -99.699237,64.680804 -99.699071,64.680845 -99.698724,64.680891 -99.698045,64.681082 -99.697722,64.681120 -99.697223,64.681287 -99.696925,64.681338 -99.696889,64.681350 -99.696719,64.681378 -99.696066,64.681555 -99.691571,64.682391 -99.686979,64.683116 -99.685027,64.683297 -99.682291,64.683728 -99.678680,64.684105 -99.676084,64.684281 -99.675169,64.684407 -99.671635,64.684645 -99.668077,64.684821 -99.666366,64.684730 -99.664991,64.684871 -99.661904,64.684873 -99.661222,64.684826 -99.658817,64.684828 -99.657812,64.684798 -99.655964,64.684642 -99.653547,64.684610 -99.645596,64.684144 -99.642906,64.683877 -99.642271,64.683856 -99.642089,64.683851 -99.642044,64.683848 -99.641695,64.683836 -99.639959,64.683664 -99.638902,64.683537 -99.638333,64.683515 -99.637175,64.683389 -99.637144,64.683382 -99.637094,64.683381 -99.635359,64.683192 -99.634889,64.683087 -99.634568,64.683070 -99.634514,64.683063 -99.634418,64.683040 -99.634202,64.683019 -99.633879,64.682941 -99.633022,64.682856 -99.632412,64.682823 -99.632099,64.682764 -99.631833,64.682737 -99.631376,64.682626 -99.631226,64.682597 -99.630673,64.682565 -99.619794,64.680873 -99.618721,64.680757 -99.618303,64.680664 -99.617640,64.680637 -99.609307,64.679683 -99.608259,64.679445 -99.606877,64.679371 -99.605808,64.679176 -99.604608,64.679052 -99.604453,64.679015 -99.602200,64.678931 -99.601006,64.678825 -99.599299,64.678916 -99.599106,64.678908 -99.597133,64.679004 -99.597085,64.679009 -99.595608,64.679005 -99.595197,64.679049 -99.593371,64.679073 -99.593152,64.679059 -99.591544,64.679079 -99.587236,64.679057 -99.584906,64.678889 -99.580612,64.678802 -99.579484,64.678721 -99.578830,64.678696 -99.574065,64.678271 -99.571964,64.678190 -99.568427,64.677802 -99.568375,64.677790 -99.567830,64.677879 -99.564546,64.678252 -99.561799,64.678448 -99.560587,64.678617 -99.556597,64.678903 -99.552575,64.679108 -99.552175,64.679103 -99.551870,64.679124 -99.551286,64.679093 -99.551070,64.679090 -99.550459,64.679158 -99.544486,64.679257 -99.543302,64.679185 -99.539750,64.679132 -99.537798,64.679125 -99.537713,64.679122 -99.536711,64.679183 -99.536247,64.679165 -99.535727,64.679197 -99.535691,64.679195 -99.534847,64.679300 -99.533203,64.679374 -99.532571,64.679344 -99.532356,64.679360 -99.531784,64.679427 -99.531473,64.679425 -99.531074,64.679454 -99.526784,64.679493 -99.522500,64.679442 -99.521064,64.679333 -99.518222,64.679299 -99.516369,64.679197 -99.513619,64.678928 -99.512244,64.678882 -99.510364,64.678698 -99.509538,64.678599 -99.508628,64.678564 -99.503938,64.678052 -99.502693,64.677773 -99.502624,64.677766 -99.500940,64.677675 -99.499914,64.677488 -99.498527,64.677346 -99.497618,64.677124 -99.496699,64.677065 -99.494952,64.676778 -99.493628,64.676437 -99.492515,64.676218 -99.490750,64.675915 -99.487709,64.675300 -99.485840,64.674778 -99.483208,64.674246 -99.478742,64.673047 -99.477670,64.672707 -99.477066,64.672588 -99.475533,64.672164 -99.472894,64.671643 -99.472011,64.671416 -99.470001,64.670791 -99.468823,64.670540 -99.464884,64.669387 -99.463246,64.668845 -99.462864,64.668758 -99.460887,64.668104 -99.460285,64.667791 -99.459692,64.667607 -99.458955,64.667426 -99.458616,64.667273 -99.458325,64.667182 -99.457909,64.666952 -99.457698,64.666856 -99.457066,64.666695 -99.454913,64.665827 -99.454084,64.665350 -99.449843,64.663389 -99.447584,64.662087 -99.446365,64.661429 -99.442566,64.658869 -99.442012,64.658570 -99.441144,64.657866 -99.438112,64.657496 -99.437861,64.657483 -99.435287,64.657124 -99.435124,64.657085 -99.435106,64.657083 -99.434925,64.657073 -99.434840,64.657057 -99.434744,64.657047 -99.428731,64.655962 -99.422943,64.654688 -99.419554,64.653705 -99.417382,64.653226 -99.415312,64.652585 -99.413983,64.652133 -99.413761,64.652081 -99.412237,64.651563 -99.411664,64.651260 -99.411609,64.651243 -99.410740,64.651030 -99.410330,64.650844 -99.410000,64.650741 -99.409532,64.650481 -99.409240,64.650348 -99.408521,64.650163 -99.405202,64.648803 -99.404897,64.648626 -99.404703,64.648575 -99.403775,64.648186 -99.403516,64.648033 -99.402030,64.647410 -99.401067,64.646956 -99.399600,64.646037 -99.398938,64.645750 -99.397799,64.645177 -99.397686,64.645103 -99.397374,64.644953 -99.396162,64.644194 -99.395593,64.643778 -99.394430,64.643943 -99.388385,64.645086 -99.387764,64.645152 -99.387670,64.645182 -99.386720,64.645358 -99.386379,64.645394 -99.384619,64.645721 -99.383549,64.645892 -99.382562,64.645983 -99.382409,64.646012 -99.380952,64.646241 -99.379148,64.646405 -99.378981,64.646431 -99.376402,64.646836 -99.370819,64.647424 -99.368175,64.647601 -99.367177,64.647737 -99.365038,64.647880 -99.363682,64.647945 -99.363005,64.648031 -99.361130,64.648127 -99.360889,64.648116 -99.360881,64.648117 -99.360793,64.648112 -99.360713,64.648108 -99.360672,64.648111 -99.360196,64.648092 -99.359777,64.648122 -99.359007,64.648212 -99.358579,64.648209 -99.357945,64.648254 -99.355425,64.648243 -99.354937,64.648293 -99.352291,64.648301 -99.351806,64.648267 -99.349645,64.648274 -99.343748,64.648136 -99.342480,64.648032 -99.342120,64.648026 -99.340502,64.647899 -99.339854,64.647882 -99.337513,64.647843 -99.336318,64.647767 -99.335802,64.647966 -99.333683,64.648606 -99.331532,64.649155 -99.330920,64.649374 -99.328092,64.650096 -99.326665,64.650287 -99.325199,64.650772 -99.320739,64.651590 -99.316186,64.652298 -99.314276,64.652471 -99.311540,64.652897 -99.307928,64.653268 -99.305316,64.653439 -99.304374,64.653567 -99.300798,64.653801 -99.297198,64.653971 -99.295501,64.653876 -99.294133,64.654013 -99.291068,64.654008 -99.290397,64.653960 -99.288003,64.653957 -99.286980,64.653924 -99.285101,64.653761 -99.282635,64.653721 -99.274180,64.653202 -99.271500,64.652928 -99.270299,64.652885 -99.266824,64.652530 -99.263537,64.652125 -99.263262,64.652110 -99.260691,64.651750 -99.260512,64.651706 -99.260490,64.651704 -99.260292,64.651693 -99.260199,64.651675 -99.260093,64.651665 -99.252694,64.650249 -99.251331,64.649919 -99.251132,64.649936 -99.249998,64.650000 -99.248329,64.650228 -99.245852,64.650396 -99.244162,64.650477 -99.243917,64.650508 -99.241977,64.650602 -99.241049,64.650559 -99.240032,64.650676 -99.238320,64.650694 -99.234729,64.651267 -99.233187,64.651409 -99.230499,64.651838 -99.227179,64.652207 -99.224434,64.652397 -99.223227,64.652562 -99.219245,64.652838 -99.218647,64.652867 -99.217438,64.653311 -99.217069,64.653412 -99.216338,64.653687 -99.209750,64.655581 -99.207781,64.656070 -99.207335,64.656227 -99.206615,64.656405 -99.206400,64.656482 -99.205462,64.656717 -99.205157,64.656757 -99.205060,64.656791 -99.204873,64.656837 -99.204481,64.656889 -99.203709,64.657103 -99.203366,64.657142 -99.202771,64.657338 -99.202401,64.657401 -99.202364,64.657413 -99.202221,64.657436 -99.201426,64.657649 -99.197684,64.658349 -99.193872,64.658971 -99.192602,64.659090 -99.189992,64.659516 -99.186922,64.659879 -99.184100,64.660084 -99.182634,64.660287 -99.178309,64.660600 -99.173947,64.660819 -99.173926,64.660819 -99.173905,64.660820 -99.173864,64.660818 -99.173862,64.660818 -99.173821,64.660823 -99.163463,64.661105 -99.163380,64.661100 -99.163251,64.661099 -99.163046,64.661108 -99.159893,64.661090 -99.157385,64.661084 -99.157233,64.661080 -99.157166,64.661074 -99.156227,64.661068 -99.153459,64.660958 -99.151501,64.660895 -99.150875,64.660840 -99.150437,64.660837 -99.149457,64.660798 -99.146881,64.660563 -99.145505,64.660518 -99.145254,64.660495 -99.144045,64.660350 -99.142738,64.660298 -99.139145,64.659903 -99.138110,64.659669 -99.136980,64.659556 -99.135979,64.659499 -99.135464,64.659404 -99.134397,64.659297 -99.127012,64.657878 -99.120002,64.656175 -99.119588,64.656049 -99.117230,64.656158 -99.110418,64.656116 -99.103656,64.655845 -99.099168,64.655433 -99.096945,64.655344 -99.093353,64.654948 -99.092316,64.654713 -99.091178,64.654599 -99.090177,64.654542 -99.089661,64.654446 -99.088589,64.654339 -99.082401,64.653197 -99.076458,64.651855 -99.072788,64.650771 -99.070761,64.650314 -99.068544,64.649604 -99.067351,64.649190 -99.067177,64.649148 -99.065832,64.648681 -99.065312,64.648401 -99.064509,64.648202 -99.063879,64.647913 -99.063461,64.647779 -99.062883,64.647455 -99.062282,64.647179 -99.061364,64.646933 -99.057610,64.645315 -99.057462,64.645226 -99.056854,64.644965 -99.056551,64.644784 -99.054994,64.644118 -99.054190,64.643727 -99.053006,64.642969 -99.052930,64.642923 -99.052891,64.642895 -99.052634,64.642730 -99.050678,64.641773 -99.048245,64.640214 -99.046545,64.638950 -99.045896,64.638507 -99.045323,64.638193 -99.043334,64.636557 -99.043204,64.636356 -99.043139,64.636312 -99.042859,64.636155 -99.042774,64.636059 -99.042622,64.635954 -99.042344,64.635654 -99.041924,64.635245 -99.041869,64.635214 -99.041343,64.635083 -99.040937,64.634890 -99.040443,64.634757 -99.039143,64.634192 -99.038931,64.634064 -99.038661,64.633953 -99.037322,64.633359 -99.036803,64.633042 -99.035504,64.632465 -99.035266,64.632420 -99.029030,64.630979 -99.024802,64.629716 -99.023073,64.629316 -99.020625,64.628502 -99.019967,64.628156 -99.019335,64.627960 -99.018538,64.627762 -99.018189,64.627606 -99.017494,64.627392 -99.016786,64.626994 -99.015916,64.626764 -99.014376,64.626121 -99.014191,64.626012 -99.012873,64.625461 -99.008227,64.623315 -99.007786,64.623040 -99.006416,64.622443 -99.005847,64.622157 -99.004684,64.621396 -99.004281,64.621202 -99.004134,64.621110 -99.003922,64.620954 -99.002603,64.620302 -99.000438,64.618886 -98.998760,64.617624 -98.998505,64.617450 -98.997829,64.617081 -98.995882,64.615495 -98.995726,64.615257 -98.995634,64.615193 -98.995306,64.615009 -98.995205,64.614896 -98.995018,64.614766 -98.994855,64.614502 -98.994343,64.613927 -98.993800,64.613598 -98.992678,64.612414 -98.992536,64.612146 -98.991651,64.611213 -98.991301,64.610755 -98.990971,64.610509 -98.990600,64.610321 -98.988421,64.608832 -98.988102,64.608694 -98.987852,64.608627 -98.984106,64.607008 -98.983960,64.606920 -98.983332,64.606650 -98.983033,64.606471 -98.981486,64.605806 -98.980681,64.605414 -98.979490,64.604649 -98.979425,64.604610 -98.979392,64.604586 -98.979131,64.604418 -98.977168,64.603454 -98.974747,64.601898 -98.973069,64.600645 -98.972403,64.600189 -98.971824,64.599871 -98.969842,64.598235 -98.969710,64.598031 -98.969644,64.597986 -98.969362,64.597827 -98.969276,64.597730 -98.969122,64.597622 -98.966658,64.594953 -98.964690,64.592217 -98.963901,64.590365 -98.963547,64.589873 -98.961536,64.588976 -98.957166,64.586684 -98.954548,64.584931 -98.953215,64.584232 -98.951616,64.583044 -98.951216,64.582476 -98.950199,64.581902 -98.949696,64.581352 -98.948940,64.580807 -98.948563,64.580194 -98.947840,64.579759 -98.945472,64.577301 -98.945438,64.577237 -98.945298,64.577096 -98.945218,64.576949 -98.944468,64.576192 -98.944088,64.575743 -98.943612,64.574763 -98.943305,64.574392 -98.943268,64.574323 -98.943246,64.574257 -98.942922,64.573852 -98.942890,64.573817 -98.942851,64.573762 -98.942392,64.573186 -98.941884,64.572141 -98.941880,64.572127 -98.941695,64.572023 -98.941600,64.571913 -98.941482,64.571830 -98.941370,64.571648 -98.941332,64.571603 -98.941056,64.571444 -98.936417,64.567113 -98.931485,64.566610 -98.923814,64.565101 -98.916560,64.563284 -98.909723,64.561160 -98.909240,64.560936 -98.908876,64.560819 -98.908366,64.560531 -98.907976,64.560351 -98.907180,64.560139 -98.899233,64.556771 -98.898205,64.556156 -98.894499,64.554393 -98.890532,64.552019 -98.888185,64.550329 -98.886701,64.549294 -98.886622,64.549249 -98.871508,64.536013 -98.871491,64.535986 -98.871490,64.535984 -98.871450,64.535962 -98.871439,64.535949 -98.871421,64.535936 -98.869683,64.534176 -98.868161,64.532381 -98.867836,64.531710 -98.866855,64.530553 -98.861454,64.521313 -98.861031,64.520139 -98.860660,64.519629 -98.860050,64.517932 -98.859624,64.516222 -98.859665,64.515752 -98.859587,64.515513 -98.859723,64.515085 -98.859766,64.514586 -98.859513,64.514095 -98.860847,64.478130 -98.860847,64.478130 -98.860847,64.478130 -98.860847,64.478130 -98.862046,64.445679 -98.862309,64.445034 -98.862306,64.444432 -98.862438,64.443442 -98.862664,64.442947 -98.862687,64.442771 -98.862882,64.442292 -98.862893,64.442274 -98.863027,64.441271 -98.871111,64.421576 -98.871743,64.420522 -98.871823,64.420163 -98.872662,64.418764 -98.873373,64.418186 -98.873627,64.417379 -98.877124,64.414081 -98.881331,64.410963 -98.886247,64.408024 -98.892393,64.405555 -98.899035,64.403369 -98.906175,64.401466 -98.906822,64.401362 -98.907204,64.401264 -98.908003,64.401172 -98.908517,64.401090 -98.909262,64.400858 -98.921229,64.398660 -98.933612,64.388989 -98.935269,64.387973 -98.936084,64.387283 -98.936325,64.387135 -98.936672,64.386835 -98.937871,64.386071 -98.938589,64.385671 -98.941524,64.383199 -98.942136,64.382811 -98.942300,64.382666 -98.943374,64.381971 -98.944241,64.381223 -98.944469,64.381078 -98.944945,64.380658 -98.946323,64.379749 -98.947765,64.378931 -98.948086,64.378671 -98.949935,64.377623 -98.951014,64.377239 -98.951870,64.376602 -98.954350,64.375484 -98.956933,64.374413 -98.957733,64.374171 -98.959620,64.373388 -98.962683,64.372316 -98.965113,64.371645 -98.966584,64.371100 -98.970630,64.369982 -98.974821,64.368964 -98.975276,64.368890 -98.975579,64.368811 -98.976047,64.368757 -98.976305,64.368672 -98.976827,64.368590 -98.977094,64.368505 -98.977821,64.368366 -98.978042,64.368343 -98.978114,64.368320 -98.978952,64.368162 -98.979180,64.368138 -98.980678,64.367855 -98.984649,64.367191 -98.986828,64.366985 -98.988293,64.366727 -98.990473,64.366415 -98.990882,64.366381 -98.990890,64.366380 -98.992539,64.366224 -98.993366,64.366173 -98.993552,64.366158 -98.996137,64.365789 -98.998992,64.365561 -99.001064,64.365451 -99.001500,64.365395 -99.004017,64.365261 -99.005196,64.365314 -99.006543,64.365159 -99.013260,64.365205 -99.019927,64.365478 -99.024327,64.365888 -99.026545,64.365978 -99.030102,64.366374 -99.031135,64.366611 -99.032293,64.366729 -99.033289,64.366787 -99.033802,64.366883 -99.034882,64.366993 -99.040400,64.368002 -99.045727,64.369172 -99.048488,64.369982 -99.050866,64.370505 -99.052654,64.371045 -99.054227,64.371580 -99.054579,64.371663 -99.056462,64.372303 -99.056894,64.372534 -99.058164,64.372931 -99.058304,64.372966 -99.058361,64.372993 -99.058425,64.373013 -99.058519,64.373066 -99.058529,64.373071 -99.058667,64.373106 -99.061504,64.374203 -99.061692,64.374311 -99.062324,64.374605 -99.062805,64.374732 -99.064135,64.375291 -99.064306,64.375392 -99.065581,64.375927 -99.066786,64.376484 -99.068208,64.377375 -99.070757,64.378616 -99.073353,64.380241 -99.074466,64.381062 -99.076216,64.382267 -99.076807,64.382593 -99.078782,64.384226 -99.078918,64.384435 -99.078987,64.384484 -99.079275,64.384646 -99.079363,64.384746 -99.079521,64.384857 -99.081975,64.387522 -99.083939,64.390254 -99.084729,64.392100 -99.085413,64.393051 -99.086068,64.394972 -99.086231,64.395641 -99.086289,64.395727 -99.086474,64.396484 -99.086379,64.396847 -99.086623,64.397242 -99.086637,64.398393 -99.086694,64.398497 -99.086714,64.399534 -99.086650,64.399705 -99.086666,64.400571 -99.086413,64.402860 -99.086300,64.403117 -99.087171,64.403513 -99.088020,64.403745 -99.090317,64.404765 -99.090783,64.405050 -99.092524,64.405822 -99.097072,64.408178 -99.097821,64.408676 -99.098176,64.408853 -99.099080,64.409441 -99.100104,64.409953 -99.100777,64.410401 -99.100884,64.410454 -99.102557,64.410666 -99.103144,64.410696 -99.109797,64.411580 -99.110346,64.411712 -99.111020,64.411751 -99.112080,64.411955 -99.112915,64.412046 -99.113791,64.412265 -99.114305,64.412294 -99.114944,64.412425 -99.115482,64.412463 -99.116871,64.412712 -99.118548,64.413163 -99.123120,64.414099 -99.126734,64.415070 -99.127249,64.415196 -99.133187,64.417020 -99.133811,64.417173 -99.136812,64.418270 -99.137041,64.418397 -99.137099,64.418415 -99.137408,64.418492 -99.137534,64.418550 -99.137706,64.418603 -99.143044,64.421031 -99.147831,64.423648 -99.151383,64.426076 -99.152070,64.426452 -99.154013,64.428033 -99.154172,64.428275 -99.154269,64.428342 -99.154602,64.428530 -99.154704,64.428645 -99.154896,64.428778 -99.155063,64.429048 -99.155563,64.429610 -99.156107,64.429939 -99.157224,64.431116 -99.157365,64.431380 -99.158247,64.432309 -99.160849,64.435695 -99.161320,64.436737 -99.161477,64.436906 -99.161896,64.437481 -99.161922,64.437541 -99.161937,64.437557 -99.161979,64.437615 -99.162012,64.437691 -99.162235,64.437977 -99.162660,64.438916 -99.162831,64.439483 -99.163380,64.440237 -99.163390,64.440264 -99.163409,64.440339 -99.163463,64.440415 -99.164124,64.442335 -99.164289,64.443002 -99.164346,64.443088 -99.164533,64.443842 -99.164440,64.444205 -99.164684,64.444599 -99.164692,64.445118 -99.165111,64.445148 -99.167476,64.445153 -99.168490,64.445187 -99.170335,64.445349 -99.172791,64.445390 -99.178560,64.445748 -99.181226,64.446024 -99.182436,64.446068 -99.185865,64.446422 -99.187868,64.446672 -99.188135,64.446684 -99.189735,64.446875 -99.189888,64.446910 -99.190035,64.446931 -99.191064,64.447184 -99.191600,64.447309 -99.193785,64.447453 -99.195478,64.447736 -99.195666,64.447785 -99.197156,64.448034 -99.199797,64.448532 -99.201726,64.448191 -99.206231,64.447551 -99.208456,64.447364 -99.208714,64.447319 -99.210004,64.447142 -99.210502,64.447101 -99.211448,64.446963 -99.213514,64.446789 -99.214640,64.446726 -99.216298,64.446499 -99.218760,64.446331 -99.220438,64.446249 -99.220681,64.446218 -99.222607,64.446125 -99.222817,64.446135 -99.224476,64.446058 -99.224539,64.446051 -99.226038,64.446059 -99.226444,64.446016 -99.228267,64.445997 -99.228488,64.446011 -99.230091,64.445995 -99.238641,64.446063 -99.240957,64.446237 -99.245194,64.446334 -99.246266,64.446415 -99.246891,64.446440 -99.251570,64.446871 -99.253672,64.446956 -99.257157,64.447349 -99.258143,64.447574 -99.259105,64.447670 -99.260069,64.447724 -99.260561,64.447816 -99.261524,64.447912 -99.265866,64.448661 -99.270101,64.449511 -99.271615,64.449936 -99.274229,64.450460 -99.275130,64.450695 -99.277186,64.451344 -99.278378,64.451602 -99.282267,64.452761 -99.283872,64.453300 -99.284240,64.453385 -99.286170,64.454033 -99.286761,64.454345 -99.287330,64.454524 -99.288057,64.454705 -99.288391,64.454858 -99.288678,64.454948 -99.289088,64.455178 -99.289296,64.455273 -99.289919,64.455435 -99.292028,64.456295 -99.292691,64.456682 -99.293277,64.456930 -99.294444,64.456971 -99.297889,64.457324 -99.301131,64.457724 -99.301442,64.457741 -99.304010,64.458101 -99.304210,64.458150 -99.304238,64.458153 -99.304459,64.458165 -99.304563,64.458185 -99.304683,64.458197 -99.312022,64.459607 -99.318992,64.461300 -99.324041,64.462840 -99.325357,64.462913 -99.326401,64.463108 -99.327572,64.463231 -99.328534,64.463470 -99.329184,64.463506 -99.329336,64.463537 -99.329634,64.463556 -99.331246,64.463831 -99.332480,64.464155 -99.334739,64.464549 -99.337447,64.465104 -99.339291,64.465625 -99.341901,64.466160 -99.343067,64.466476 -99.345085,64.467124 -99.345818,64.467289 -99.346824,64.467612 -99.347190,64.467695 -99.352513,64.469402 -99.353482,64.469902 -99.355111,64.470305 -99.356022,64.470706 -99.357300,64.471111 -99.358110,64.471563 -99.359080,64.471819 -99.360927,64.472597 -99.361363,64.472856 -99.361511,64.472846 -99.362437,64.472719 -99.365976,64.472485 -99.369537,64.472315 -99.371229,64.472409 -99.372591,64.472271 -99.375645,64.472275 -99.376317,64.472322 -99.378699,64.472325 -99.379718,64.472357 -99.381590,64.472520 -99.384035,64.472558 -99.388760,64.472848 -99.391420,64.473119 -99.392607,64.473161 -99.396060,64.473514 -99.399333,64.473917 -99.399598,64.473931 -99.402154,64.474289 -99.402327,64.474331 -99.402348,64.474333 -99.402540,64.474344 -99.402630,64.474361 -99.402733,64.474371 -99.410090,64.475779 -99.415762,64.477152 -99.415791,64.477154 -99.418207,64.477190 -99.422413,64.477441 -99.425093,64.477712 -99.426323,64.477755 -99.429788,64.478106 -99.433053,64.478506 -99.433359,64.478522 -99.435938,64.478881 -99.436135,64.478929 -99.436161,64.478931 -99.436377,64.478943 -99.436479,64.478963 -99.436597,64.478974 -99.443960,64.480381 -99.450954,64.482071 -99.457006,64.483907 -99.457580,64.484046 -99.460599,64.485140 -99.460810,64.485255 -99.460859,64.485270 -99.461144,64.485340 -99.461260,64.485393 -99.461416,64.485441 -99.466131,64.487508 -99.470444,64.489721 -99.472633,64.491159 -99.473587,64.491366 -99.475411,64.491912 -99.476952,64.492428 -99.477280,64.492504 -99.479110,64.493118 -99.479482,64.493314 -99.482393,64.494046 -99.483536,64.494400 -99.484269,64.494549 -99.484975,64.494740 -99.485719,64.494978 -99.485750,64.494984 -99.486251,64.495139 -99.486652,64.495276 -99.486990,64.495383 -99.487711,64.495545 -99.488731,64.495871 -99.488740,64.495875 -99.489119,64.495961 -99.494457,64.497668 -99.495413,64.498160 -99.497015,64.498553 -99.497937,64.498958 -99.499202,64.499356 -99.500030,64.499816 -99.501017,64.500075 -99.502865,64.500851 -99.503950,64.501490 -99.505347,64.502145 -99.506384,64.502593 -99.508467,64.503630 -99.510412,64.504886 -99.512135,64.505743 -99.513365,64.506569 -99.514325,64.507296 -99.514557,64.507418 -99.515552,64.508172 -99.515633,64.508287 -99.515640,64.508292 -99.515673,64.508343 -99.515729,64.508423 -99.516231,64.508765 -99.516485,64.508904 -99.516995,64.509333 -99.517676,64.509632 -99.517716,64.509644 -99.518093,64.509757 -99.518120,64.509772 -99.518870,64.510008 -99.519032,64.510098 -99.519324,64.510187 -99.519961,64.510541 -99.520009,64.510562 -99.520770,64.510762 -99.521154,64.510924 -99.521186,64.510943 -99.521297,64.510972 -99.523212,64.511783 -99.523512,64.511961 -99.525067,64.512620 -99.531103,64.515517 -99.531910,64.516027 -99.534745,64.516694 -99.537111,64.517402 -99.538663,64.517736 -99.542178,64.518787 -99.545494,64.519896 -99.545733,64.519954 -99.548611,64.521013 -99.548704,64.521064 -99.548714,64.521067 -99.548842,64.521099 -99.548893,64.521122 -99.548957,64.521141 -99.552084,64.522488 -99.552611,64.522420 -99.554461,64.522325 -99.555302,64.522362 -99.555732,64.522330 -99.556473,64.522242 -99.556884,64.522245 -99.557480,64.522201 -99.564311,64.522224 -99.571095,64.522480 -99.575660,64.522887 -99.577831,64.522968 -99.581413,64.523356 -99.581718,64.523425 -99.582008,64.523436 -99.582072,64.523443 -99.582805,64.523609 -99.583066,64.523633 -99.584245,64.523562 -99.584806,64.523487 -99.586803,64.523367 -99.587220,64.523383 -99.587653,64.523357 -99.587771,64.523363 -99.588628,64.523256 -99.590210,64.523187 -99.590771,64.523214 -99.590938,64.523201 -99.591449,64.523141 -99.591726,64.523143 -99.592069,64.523117 -99.598904,64.523139 -99.601639,64.523242 -99.603387,64.522752 -99.604822,64.522213 -99.608829,64.521091 -99.612981,64.520065 -99.614426,64.519893 -99.615443,64.519574 -99.617938,64.519117 -99.618446,64.519064 -99.620467,64.518693 -99.622497,64.518385 -99.623978,64.518252 -99.624111,64.518228 -99.625516,64.518018 -99.626794,64.517904 -99.628004,64.517722 -99.629416,64.517595 -99.629503,64.517590 -99.630949,64.517373 -99.638685,64.516688 -99.640906,64.516555 -99.641439,64.516483 -99.643423,64.516364 -99.643822,64.516380 -99.644218,64.516356 -99.644372,64.516365 -99.645239,64.516256 -99.646800,64.516188 -99.647330,64.516214 -99.647478,64.516203 -99.647963,64.516145 -99.648225,64.516147 -99.648545,64.516123 -99.652495,64.516077 -99.656442,64.516109 -99.657639,64.516197 -99.660386,64.516219 -99.661244,64.516260 -99.664783,64.515599 -99.669356,64.514875 -99.671303,64.514693 -99.674023,64.514262 -99.677613,64.513886 -99.680190,64.513711 -99.681095,64.513585 -99.684599,64.513347 -99.688126,64.513172 -99.691515,64.513181 -99.691994,64.513132 -99.695285,64.513136 -99.696077,64.513191 -99.698575,64.513194 -99.708131,64.513522 -99.709945,64.513680 -99.712153,64.513709 -99.722151,64.514296 -99.722226,64.514303 -99.722292,64.514304 -99.731772,64.514868 -99.733377,64.515028 -99.734490,64.515052 -99.747583,64.516051 -99.749901,64.516302 -99.750585,64.516328 -99.753560,64.516650 -99.753582,64.516655 -99.755986,64.516949 -99.756366,64.516967 -99.762539,64.517791 -99.762871,64.517870 -99.763264,64.517890 -99.764358,64.518096 -99.765078,64.518171 -99.765950,64.518383 -99.766414,64.518408 -99.767315,64.518587 -99.767981,64.518633 -99.769318,64.518869 -99.770292,64.519127 -99.771370,64.519307 -99.773324,64.519686 -99.774666,64.520054 -99.775452,64.520211 -99.775472,64.520216 -99.775610,64.520243 -99.775625,64.520246 -99.775650,64.520251 -99.777357,64.520582 -99.778121,64.520775 -99.779771,64.521281 -99.780900,64.521516 -99.792231,64.524709 -99.794029,64.525292 -99.794527,64.525404 -99.796769,64.526129 -99.797124,64.526312 -99.797375,64.526440 -99.798347,64.526739 -99.798956,64.526887 -99.799185,64.526990 -99.799288,64.527015 -99.799390,64.527060 -99.799479,64.527087 -99.799576,64.527140 -99.799668,64.527180 -99.800493,64.527430 -99.800783,64.527589 -99.801157,64.527737 -99.801250,64.527790 -99.801772,64.527922 -99.803028,64.528426 -99.803146,64.528493 -99.804261,64.528940 -99.810387,64.531601 -99.810532,64.531688 -99.810769,64.531788 -99.811115,64.531992 -99.812743,64.532680 -99.813476,64.533034 -99.814613,64.533752 -99.814728,64.533807 -99.814887,64.533901 -99.815011,64.533989 -99.815333,64.534128 -99.816283,64.534606 -99.816400,64.534681 -99.816905,64.534925 -99.818188,64.535735 -99.818919,64.536268 -99.820173,64.536899 -99.821630,64.537913 -99.822420,64.538519 -99.822563,64.538594 -99.823462,64.539284 -99.823678,64.539592 -99.823924,64.539761 -99.824327,64.539982 -99.824460,64.540129 -99.824613,64.540235 -99.824761,64.540464 -99.824828,64.540538 -99.825185,64.540740 -99.828929,64.544179 -99.829019,64.544326 -99.829104,64.544407 -99.829225,64.544477 -99.829706,64.544936 -99.829769,64.545042 -99.830463,64.545705 -99.831031,64.546320 -99.831560,64.547303 -99.831580,64.547327 -99.831582,64.547330 -99.835154,64.549714 -99.835700,64.550007 -99.837726,64.551635 -99.837853,64.551823 -99.837911,64.551862 -99.838178,64.552008 -99.838260,64.552098 -99.838404,64.552195 -99.840958,64.554863 -99.843015,64.557599 -99.843871,64.559469 -99.844575,64.560405 -99.845281,64.562325 -99.845459,64.562981 -99.845517,64.563063 -99.845718,64.563803 -99.845635,64.564161 -99.845885,64.564545 -99.845994,64.566448 -99.845876,64.568348 -99.845607,64.569016 -99.845530,64.570246 -99.845058,64.571805 -99.844445,64.572967 -99.844352,64.573507 -99.843868,64.574424 -99.843517,64.574969 -99.843439,64.575337 -99.841242,64.578894 -99.841035,64.579063 -99.841036,64.579074 -99.840938,64.579384 -99.840977,64.581078 -99.840942,64.581347 -99.840885,64.582169 -99.840734,64.582538 -99.840742,64.582880 -99.840671,64.583421 -99.840531,64.583741 -99.840504,64.584128 -99.840460,64.584266 -99.840095,64.584945 -99.840082,64.585050 -99.840046,64.585561 -99.839993,64.585724 -99.839977,64.585848 -99.839894,64.586036 -99.839795,64.586346 -99.839182,64.587489 -99.839095,64.587985 -99.838225,64.589606 -99.837184,64.591211 -99.836924,64.591506 -99.836921,64.591518 -99.836870,64.591568 -99.836487,64.592004 -99.836443,64.592082 -99.836366,64.592141 -99.835824,64.592757 -99.835627,64.592953 -99.835564,64.592997 -99.835487,64.593210 -99.835405,64.593298 -99.838027,64.594684 -99.838051,64.594700 -99.838086,64.594716 -99.841012,64.596266 -99.841509,64.596072 -99.842276,64.595839 -99.843607,64.595316 -99.845742,64.594660 -99.847874,64.594104 -99.848477,64.593885 -99.849866,64.593523 -99.850457,64.593266 -99.850985,64.593100 -99.852643,64.592379 -99.855195,64.591413 -99.857566,64.590723 -99.857762,64.590648 -99.858033,64.590532 -99.858586,64.590332 -99.859501,64.589981 -99.861649,64.589355 -99.863274,64.588944 -99.864671,64.588438 -99.867598,64.587683 -99.868050,64.587621 -99.870051,64.587123 -99.870279,64.587047 -99.870556,64.586998 -99.871421,64.586783 -99.871619,64.586728 -99.871707,64.586711 -99.872120,64.586609 -99.876624,64.585763 -99.881224,64.585029 -99.883198,64.584843 -99.885922,64.584409 -99.889518,64.584029 -99.892091,64.583851 -99.892984,64.583727 -99.896473,64.583486 -99.899985,64.583307 -99.906876,64.583316 -99.913722,64.583561 -99.918383,64.583965 -99.920523,64.584041 -99.924116,64.584424 -99.925123,64.584647 -99.926130,64.584742 -99.927107,64.584793 -99.927609,64.584883 -99.928602,64.584977 -99.929539,64.585152 -99.929499,64.585069 -99.929360,64.584924 -99.929034,64.584492 -99.928540,64.583422 -99.928100,64.582869 -99.928026,64.582702 -99.927881,64.582236 -99.927464,64.581684 -99.926754,64.579764 -99.926574,64.579110 -99.926517,64.579029 -99.926315,64.578293 -99.926569,64.577193 -99.926019,64.576216 -99.926003,64.574877 -99.926112,64.574577 -99.926100,64.573538 -99.926229,64.572717 -99.926593,64.571908 -99.926661,64.570879 -99.927369,64.568621 -99.927978,64.567474 -99.928064,64.566971 -99.928381,64.566374 -99.928406,64.566335 -99.928452,64.566070 -99.929043,64.564972 -99.929486,64.564287 -99.929509,64.564185 -99.930015,64.563402 -99.930441,64.563059 -99.930562,64.562624 -99.930914,64.562279 -99.931032,64.562066 -99.931487,64.561717 -99.931523,64.561681 -99.931581,64.561473 -99.931888,64.561184 -99.931972,64.560949 -99.932521,64.560356 -99.932644,64.560269 -99.932962,64.559923 -99.933211,64.559745 -99.933998,64.558887 -99.937766,64.555417 -99.938375,64.555011 -99.938474,64.554919 -99.938562,64.554860 -99.938697,64.554712 -99.938934,64.554493 -99.938944,64.554486 -99.938946,64.554485 -99.939107,64.554344 -99.939961,64.553786 -99.940580,64.553226 -99.940768,64.553100 -99.940810,64.553063 -99.940838,64.553045 -99.941380,64.552543 -99.942001,64.552112 -99.943149,64.551436 -99.943876,64.550799 -99.946172,64.549351 -99.946152,64.548896 -99.946361,64.546706 -99.946753,64.545767 -99.946871,64.544522 -99.947589,64.542603 -99.948181,64.541549 -99.948247,64.541195 -99.949031,64.539800 -99.950321,64.538713 -99.950763,64.537427 -99.951651,64.536447 -99.951865,64.536293 -99.952603,64.535478 -99.953736,64.534410 -99.954251,64.534063 -99.954807,64.533536 -99.955832,64.532843 -99.955909,64.532773 -99.957042,64.531701 -99.961181,64.528720 -99.962720,64.527797 -99.963169,64.527416 -99.963397,64.527279 -99.963587,64.527115 -99.964489,64.526556 -99.965610,64.525930 -99.965757,64.525811 -99.967067,64.525080 -99.968635,64.524521 -99.969687,64.523753 -99.970985,64.523154 -99.971179,64.523091 -99.972314,64.522568 -99.974036,64.521842 -99.974892,64.521577 -99.975289,64.521397 -99.976585,64.520869 -99.977967,64.520450 -99.980056,64.519599 -99.986622,64.517441 -99.988297,64.516988 -99.984848,64.514201 -99.984735,64.514035 -99.984475,64.513893 -99.984067,64.513449 -99.983682,64.513181 -99.983552,64.512982 -99.983474,64.512927 -99.983379,64.512875 -99.983347,64.512838 -99.983170,64.512715 -99.982953,64.512382 -99.982893,64.512313 -99.982470,64.512065 -99.982167,64.511759 -99.982111,64.511661 -99.981894,64.511534 -99.977828,64.507397 -99.977794,64.507338 -99.977772,64.507316 -99.977677,64.507154 -99.976877,64.506373 -99.976512,64.505956 -99.976274,64.505496 -99.975413,64.504595 -99.971997,64.500016 -99.971977,64.499972 -99.971920,64.499911 -99.968915,64.495836 -99.968636,64.495220 -99.968027,64.494541 -99.965146,64.490008 -99.964936,64.489489 -99.964598,64.489096 -99.963736,64.487574 -99.963330,64.486479 -99.963052,64.486110 -99.962505,64.484637 -99.962096,64.483155 -99.962266,64.479528 -99.963254,64.475943 -99.965060,64.472400 -99.968432,64.469077 -99.972522,64.465928 -99.977330,64.462953 -99.983390,64.460439 -99.989958,64.458205 -99.997035,64.456249 -99.997101,64.456238 -99.997157,64.456222 -99.997285,64.456207 -99.997295,64.456205 -99.997402,64.456169 -100.024291,64.450343 -100.024546,64.450312 -100.031999,64.449056 -100.039921,64.448101 -100.048057,64.447476 -100.056455,64.447544 -100.064758,64.447965 -100.072964,64.448738 -100.080665,64.450188 -100.087965,64.451948 -100.094864,64.454017 -100.100697,64.456628 -100.105886,64.459459 -100.110429,64.462511 -100.112887,64.465026 -100.114904,64.467606 -100.115674,64.469220 -100.116479,64.470250 -100.116758,64.470919 -100.116989,64.471687 -100.117077,64.471809 -100.117314,64.472596 -100.117293,64.472696 -100.117296,64.472705 -100.117273,64.472787 -100.117262,64.472841 -100.117413,64.473197 -100.117515,64.473350 -100.117688,64.474180 -100.117643,64.474354 -100.117786,64.474572 -100.117778,64.474773 -100.119494,64.476569 -100.121824,64.478516 -100.121845,64.478548 -100.121893,64.478574 -100.122046,64.478741 -100.122148,64.478796 -100.122314,64.478978 -100.122494,64.479102 -100.122588,64.479244 -100.123049,64.479464 -100.123776,64.479916 -100.124944,64.480757 -100.125322,64.480949 -100.125934,64.481390 -100.125970,64.481404 -100.126807,64.481879 -100.127158,64.482040 -100.129274,64.482922 -100.131696,64.484071 -100.133209,64.485013 -100.135121,64.485919 -100.136009,64.486467 -100.136390,64.486739 -100.136923,64.487077 -100.137647,64.487421 -100.138313,64.487835 -100.139155,64.488240 -100.139914,64.488721 -100.140201,64.488857 -100.140215,64.488862 -100.143657,64.490357 -100.146973,64.491710 -100.151591,64.493446 -100.151904,64.493619 -100.152304,64.493798 -100.152555,64.493859 -100.152632,64.493890 -100.152847,64.493945 -100.154173,64.494483 -100.154367,64.494594 -100.155716,64.495141 -100.156946,64.495693 -100.157803,64.496211 -100.158267,64.496403 -100.159502,64.496980 -100.160265,64.497452 -100.160937,64.497767 -100.161568,64.498148 -100.162801,64.498725 -100.163538,64.499167 -100.164819,64.500070 -100.165310,64.500318 -100.165358,64.500352 -100.165546,64.500445 -100.169991,64.503449 -100.170857,64.504100 -100.171032,64.504191 -100.172032,64.504942 -100.172265,64.505265 -100.172581,64.505480 -100.172991,64.505704 -100.173128,64.505853 -100.173284,64.505959 -100.173437,64.506190 -100.173507,64.506266 -100.173869,64.506470 -100.175173,64.507653 -100.175435,64.508074 -100.176732,64.509335 -100.177985,64.510766 -100.178420,64.511600 -100.179442,64.512768 -100.179958,64.513649 -100.180221,64.514332 -100.180274,64.514359 -100.181277,64.515113 -100.181510,64.515436 -100.181830,64.515653 -100.182240,64.515876 -100.182376,64.516025 -100.182532,64.516131 -100.182684,64.516361 -100.182754,64.516437 -100.183048,64.516602 -100.187008,64.515919 -100.188604,64.515757 -100.190729,64.515368 -100.191696,64.515226 -100.192632,64.515142 -100.192755,64.515123 -100.193068,64.515095 -100.193135,64.515084 -100.194061,64.514990 -100.195033,64.514849 -100.195733,64.514787 -100.196819,64.514621 -100.197759,64.514537 -100.198108,64.514515 -100.198567,64.514447 -100.199146,64.514398 -100.199971,64.514348 -100.201232,64.514165 -100.211657,64.513365 -100.213396,64.513267 -100.213662,64.513232 -100.215469,64.513131 -100.215825,64.513145 -100.216731,64.513096 -100.216914,64.513082 -100.217211,64.513045 -100.218501,64.512995 -100.218573,64.512998 -100.218790,64.512987 -100.218820,64.512983 -100.218855,64.512983 -100.218989,64.512976 -100.220102,64.512984 -100.220657,64.512945 -100.221660,64.512995 -100.222854,64.513003 -100.223995,64.512883 -100.232042,64.512868 -100.232384,64.512890 -100.233288,64.512887 -100.233991,64.512933 -100.236407,64.512923 -100.237392,64.512949 -100.239230,64.513099 -100.241572,64.513122 -100.254214,64.513823 -100.256884,64.514079 -100.258067,64.514114 -100.258546,64.514160 -100.259197,64.514176 -100.266521,64.514809 -100.268466,64.515026 -100.268867,64.515041 -100.271196,64.515301 -100.271936,64.515466 -100.272926,64.515561 -100.273509,64.515589 -100.273808,64.515645 -100.274065,64.515670 -100.274507,64.515775 -100.274646,64.515801 -100.275178,64.515831 -100.277254,64.516144 -100.278140,64.516362 -100.284382,64.517546 -100.288442,64.518546 -100.290188,64.518957 -100.296479,64.520814 -100.296936,64.520921 -100.299988,64.522004 -100.300157,64.522094 -100.300188,64.522103 -100.300415,64.522158 -100.300508,64.522198 -100.300629,64.522234 -100.306206,64.524682 -100.311212,64.527330 -100.315123,64.529902 -100.315647,64.530179 -100.316338,64.530727 -100.319852,64.531503 -100.321581,64.531999 -100.322075,64.532105 -100.322741,64.532294 -100.324069,64.532569 -100.325815,64.533070 -100.326578,64.533317 -100.327743,64.533568 -100.329798,64.534195 -100.331020,64.534602 -100.332547,64.534774 -100.332908,64.534855 -100.332940,64.534856 -100.332954,64.534858 -100.333272,64.534929 -100.333733,64.534946 -100.334222,64.535002 -100.334339,64.535028 -100.334732,64.535047 -100.335072,64.535110 -100.335355,64.535137 -100.335719,64.535224 -100.337939,64.534798 -100.342576,64.534045 -100.344601,64.533847 -100.346585,64.533525 -100.348236,64.532753 -100.350866,64.531626 -100.351717,64.531359 -100.353610,64.530548 -100.356639,64.529457 -100.359048,64.528767 -100.360420,64.528240 -100.364344,64.527116 -100.368412,64.526085 -100.369718,64.525923 -100.370647,64.525622 -100.372912,64.525187 -100.373328,64.525141 -100.375206,64.524780 -100.376998,64.524489 -100.378107,64.524380 -100.378180,64.524366 -100.379579,64.524140 -100.381241,64.523979 -100.382696,64.523750 -100.383073,64.523713 -100.384424,64.523494 -100.386367,64.523288 -100.387282,64.523126 -100.387341,64.523090 -100.387760,64.522946 -100.387883,64.522894 -100.388166,64.522681 -100.388961,64.522298 -100.389221,64.522212 -100.389370,64.522142 -100.389465,64.522072 -100.390237,64.521710 -100.390425,64.521649 -100.391539,64.521128 -100.395826,64.519291 -100.396993,64.518924 -100.397669,64.518617 -100.399158,64.518016 -100.400242,64.517686 -100.400810,64.517458 -100.401549,64.517226 -100.403034,64.516626 -100.405265,64.515918 -100.407423,64.515339 -100.408069,64.515098 -100.410943,64.514328 -100.413888,64.513606 -100.417769,64.512843 -100.421728,64.512164 -100.423139,64.512021 -100.425766,64.511571 -100.428838,64.511191 -100.431596,64.510972 -100.432891,64.510780 -100.436981,64.510455 -100.441107,64.510216 -100.441266,64.510217 -100.441406,64.510206 -100.441684,64.510219 -100.441727,64.510219 -100.442005,64.510185 -100.444718,64.510101 -100.445121,64.510122 -100.451264,64.510109 -100.453895,64.510195 -100.456250,64.510256 -100.456890,64.510307 -100.457270,64.510306 -100.458159,64.510335 -100.461001,64.510573 -100.462426,64.510609 -100.462662,64.510630 -100.463848,64.510764 -100.465011,64.510802 -100.468602,64.511176 -100.469586,64.511391 -100.470510,64.511475 -100.471468,64.511521 -100.471959,64.511607 -100.472901,64.511693 -100.473023,64.511714 -100.474888,64.511696 -100.481282,64.511811 -100.484036,64.512019 -100.486937,64.512074 -100.490319,64.512330 -100.492778,64.512589 -100.493601,64.512660 -100.495173,64.512719 -100.496783,64.512903 -100.496802,64.512908 -100.497546,64.512995 -100.497749,64.513003 -100.499439,64.513200 -100.501667,64.513703 -100.503951,64.513846 -100.506745,64.514322 -100.507307,64.514466 -100.509500,64.514839 -100.512534,64.515464 -100.513551,64.515747 -100.514654,64.516043 -100.517299,64.516546 -100.518149,64.516759 -100.520083,64.517345 -100.521211,64.517576 -100.527150,64.519260 -100.528808,64.519792 -100.529196,64.519878 -100.531199,64.520520 -100.531818,64.520834 -100.532393,64.521007 -100.533158,64.521188 -100.533514,64.521345 -100.533814,64.521435 -100.534247,64.521668 -100.534475,64.521768 -100.535127,64.521930 -100.537336,64.522797 -100.538082,64.523214 -100.540114,64.524039 -100.542350,64.525058 -100.543425,64.525708 -100.543825,64.525874 -100.544032,64.525972 -100.544214,64.526084 -100.545532,64.526685 -100.546091,64.527006 -100.547025,64.527646 -100.547647,64.527941 -100.549877,64.529341 -100.552236,64.530634 -100.557099,64.533127 -100.558492,64.533764 -100.558603,64.533832 -100.558917,64.533961 -100.564614,64.536612 -100.569386,64.538756 -100.569701,64.538945 -100.569903,64.539032 -100.570058,64.539122 -100.571129,64.539571 -100.571516,64.539760 -100.571785,64.539928 -100.572357,64.540172 -100.573355,64.540677 -100.573688,64.540785 -100.573910,64.540897 -100.574300,64.540989 -100.574825,64.541215 -100.575301,64.541356 -100.575487,64.541399 -100.575564,64.541433 -100.575648,64.541458 -100.575774,64.541526 -100.575790,64.541533 -100.575971,64.541576 -100.580153,64.543115 -100.584072,64.544396 -100.589067,64.545999 -100.591246,64.546621 -100.596592,64.548031 -100.596747,64.548079 -100.596848,64.548099 -100.603321,64.549822 -100.604668,64.550240 -100.604906,64.550289 -100.605918,64.550096 -100.607859,64.549787 -100.609220,64.549655 -100.609282,64.549643 -100.610651,64.549427 -100.612048,64.549292 -100.613346,64.549088 -100.614586,64.548968 -100.615954,64.548751 -100.622028,64.548157 -100.624308,64.548002 -100.624885,64.547920 -100.626971,64.547779 -100.627401,64.547793 -100.627772,64.547768 -100.627958,64.547776 -100.628920,64.547649 -100.629538,64.547618 -100.629680,64.547624 -100.630073,64.547572 -100.639309,64.547130 -100.639779,64.547150 -100.640258,64.547090 -100.640841,64.547091 -100.641378,64.547049 -100.641840,64.547070 -100.642168,64.547029 -100.642474,64.547031 -100.642670,64.547008 -100.643459,64.546988 -100.644562,64.547046 -100.647511,64.547068 -100.649679,64.547053 -100.653988,64.547158 -100.657606,64.547441 -100.659802,64.547494 -100.663136,64.546641 -100.664741,64.546439 -100.665843,64.546083 -100.668592,64.545566 -100.669224,64.545497 -100.671383,64.545091 -100.673522,64.544763 -100.675269,64.544598 -100.675332,64.544586 -100.676614,64.544391 -100.677592,64.544299 -100.678749,64.544118 -100.680459,64.543957 -100.681005,64.543921 -100.682500,64.543693 -100.687446,64.543266 -100.689387,64.543146 -100.689745,64.543096 -100.691684,64.542975 -100.691969,64.542985 -100.692061,64.542979 -100.692343,64.542992 -100.693020,64.542936 -100.693526,64.542870 -100.694968,64.542806 -100.695240,64.542818 -100.695277,64.542815 -100.695530,64.542783 -100.695664,64.542783 -100.695811,64.542771 -100.702788,64.542746 -100.706074,64.542849 -100.709226,64.541358 -100.709392,64.541247 -100.709860,64.540753 -100.715498,64.535987 -100.717095,64.534946 -100.717925,64.534193 -100.718237,64.533989 -100.718603,64.533650 -100.719826,64.532825 -100.721133,64.532056 -100.721373,64.531851 -100.722990,64.530900 -100.723245,64.530805 -100.724575,64.530051 -100.724678,64.529970 -100.724920,64.529856 -100.725093,64.529758 -100.725397,64.529629 -100.725582,64.529514 -100.725813,64.529434 -100.726371,64.529170 -100.726559,64.529027 -100.736479,64.524255 -100.737125,64.524038 -100.738158,64.523549 -100.738319,64.523432 -100.739047,64.523106 -100.739574,64.522936 -100.739932,64.522766 -100.741095,64.522261 -100.741939,64.521993 -100.743818,64.521177 -100.750980,64.518562 -100.753126,64.517939 -100.753145,64.517931 -100.753525,64.517786 -100.753773,64.517713 -100.754746,64.517334 -100.755840,64.517016 -100.756518,64.516752 -100.757219,64.516547 -100.758161,64.516304 -100.758721,64.516091 -100.760321,64.515647 -100.762232,64.514887 -100.763341,64.514550 -100.764338,64.514152 -100.765542,64.513786 -100.766611,64.513360 -100.767616,64.513055 -100.768642,64.512646 -100.770571,64.512055 -100.772524,64.511539 -100.772976,64.511370 -100.775431,64.510721 -100.776692,64.510540 -100.777936,64.510107 -100.782506,64.509215 -100.787181,64.508442 -100.789256,64.508233 -100.791960,64.507785 -100.795536,64.507392 -100.798050,64.507205 -100.798872,64.507085 -100.802232,64.506836 -100.805614,64.506643 -100.811411,64.506584 -100.817190,64.506693 -100.820193,64.506918 -100.822952,64.506970 -100.825746,64.507188 -100.827831,64.507408 -100.828318,64.507423 -100.830870,64.507692 -100.831896,64.507915 -100.832126,64.507937 -100.833403,64.507995 -100.834143,64.508129 -100.834616,64.508174 -100.835402,64.508358 -100.836049,64.508476 -100.837044,64.508534 -100.843187,64.509532 -100.843360,64.509575 -100.844110,64.509696 -100.844201,64.509719 -100.844460,64.509679 -100.855415,64.508779 -100.863679,64.507984 -100.865862,64.507836 -100.866367,64.507764 -100.868429,64.507624 -100.868794,64.507635 -100.868922,64.507617 -100.869442,64.507576 -100.870048,64.507540 -100.870365,64.507498 -100.871584,64.507438 -100.871707,64.507443 -100.873140,64.507358 -100.873829,64.507360 -100.874268,64.507326 -100.875091,64.507363 -100.875636,64.507364 -100.876524,64.507262 -100.885354,64.507110 -100.894789,64.506791 -100.895355,64.506818 -100.895367,64.506818 -100.898727,64.506746 -100.902397,64.506734 -100.903413,64.506799 -100.906068,64.506791 -100.917689,64.507183 -100.926226,64.507250 -100.926954,64.507300 -100.928597,64.507285 -100.929762,64.507311 -100.931990,64.507127 -100.932762,64.507080 -100.932998,64.507043 -100.933014,64.507042 -100.933778,64.506993 -100.934342,64.506913 -100.935093,64.506865 -100.935546,64.506880 -100.935743,64.506867 -100.936710,64.506734 -100.943226,64.506369 -100.943853,64.506392 -100.944140,64.506375 -100.944769,64.506294 -100.945385,64.506293 -100.946055,64.506239 -100.946550,64.506261 -100.946924,64.506213 -100.946998,64.506213 -100.947083,64.506203 -100.947952,64.506177 -100.948200,64.506189 -100.948565,64.506180 -100.948721,64.506162 -100.949865,64.506136 -100.950061,64.506146 -100.951591,64.506111 -100.951598,64.506111 -100.953286,64.505936 -100.953357,64.505928 -100.955184,64.505528 -100.955556,64.505482 -100.955834,64.505406 -100.956530,64.505316 -100.957688,64.505090 -100.958320,64.504883 -100.964876,64.503614 -100.975555,64.501219 -100.975824,64.501185 -100.977298,64.500926 -100.977818,64.500755 -100.980051,64.500320 -100.980540,64.500264 -100.982520,64.499879 -100.984303,64.499587 -100.985562,64.499461 -100.985593,64.499455 -100.986949,64.499235 -100.988443,64.499085 -100.989806,64.498866 -100.990754,64.498771 -100.992102,64.498551 -101.002558,64.497469 -101.004897,64.497301 -101.005531,64.497209 -101.007670,64.497055 -101.007916,64.497062 -101.007991,64.497051 -101.008743,64.496989 -101.009427,64.496947 -101.009687,64.496912 -101.010676,64.496859 -101.010791,64.496863 -101.010846,64.496860 -101.010914,64.496854 -101.010931,64.496855 -101.012752,64.496743 -101.013002,64.496743 -101.013210,64.496726 -101.013618,64.496744 -101.013714,64.496744 -101.014128,64.496693 -101.024192,64.496375 -101.041882,64.495542 -101.042080,64.495550 -101.042328,64.495535 -101.042473,64.495516 -101.042631,64.495516 -101.042979,64.495495 -101.043139,64.495495 -101.043280,64.495483 -101.043560,64.495495 -101.043603,64.495495 -101.043883,64.495460 -101.057379,64.494988 -101.057939,64.495014 -101.058300,64.495015 -101.058909,64.494941 -101.064946,64.494785 -101.075652,64.494105 -101.088883,64.493201 -101.089729,64.493227 -101.090769,64.493083 -101.099996,64.492560 -101.100570,64.492365 -101.101427,64.492124 -101.101963,64.491903 -101.113677,64.488114 -101.115795,64.487534 -101.116408,64.487300 -101.117467,64.487010 -101.117468,64.487010 -101.117775,64.486892 -101.118239,64.486765 -101.118267,64.486761 -101.118428,64.486700 -101.130529,64.483392 -101.131477,64.483251 -101.131793,64.483129 -101.132331,64.482975 -101.133022,64.482799 -101.133345,64.482685 -101.133798,64.482600 -101.133980,64.482553 -101.134753,64.482331 -101.135205,64.482239 -101.135792,64.482089 -101.136601,64.481945 -101.137027,64.481827 -101.137599,64.481752 -101.138520,64.481565 -101.138918,64.481494 -101.139497,64.481303 -101.153584,64.478551 -101.153885,64.478517 -101.154568,64.478374 -101.155139,64.478267 -101.155547,64.478221 -101.156686,64.478007 -101.157503,64.477916 -101.159821,64.477480 -101.174852,64.475239 -101.176000,64.475131 -101.176222,64.475090 -101.176774,64.475010 -101.177940,64.474902 -101.178210,64.474862 -101.178611,64.474825 -101.179716,64.474649 -101.180700,64.474557 -101.180923,64.474541 -101.181452,64.474458 -101.182629,64.474350 -101.183858,64.474268 -101.184773,64.474132 -101.185498,64.474077 -101.186030,64.474091 -101.187371,64.473898 -101.196857,64.473263 -101.203746,64.472588 -101.205907,64.472437 -101.206398,64.472365 -101.208474,64.472220 -101.208850,64.472231 -101.209076,64.472215 -101.209305,64.472225 -101.209686,64.472192 -101.210437,64.472090 -101.212030,64.472008 -101.212439,64.472024 -101.212524,64.472017 -101.212898,64.471968 -101.213100,64.471967 -101.213333,64.471947 -101.218023,64.471860 -101.222711,64.471884 -101.224510,64.472004 -101.227395,64.472019 -101.229396,64.472124 -101.232010,64.472362 -101.233068,64.472387 -101.235379,64.472597 -101.237007,64.472777 -101.237694,64.472800 -101.244957,64.473608 -101.245734,64.473778 -101.246703,64.473819 -101.247864,64.474021 -101.248874,64.474114 -101.249884,64.474347 -101.250469,64.474372 -101.250966,64.474465 -101.251469,64.474493 -101.253064,64.474751 -101.254775,64.475177 -101.259435,64.476047 -101.261873,64.476652 -101.262963,64.476892 -101.268207,64.478372 -101.269400,64.478635 -101.272105,64.479519 -101.272565,64.479752 -101.272802,64.479820 -101.273381,64.479954 -101.273628,64.480058 -101.274019,64.480171 -101.274534,64.480441 -101.275361,64.480791 -101.276223,64.481006 -101.278358,64.481873 -101.278737,64.482086 -101.280425,64.482772 -101.286609,64.485650 -101.287830,64.485552 -101.289400,64.485456 -101.289605,64.485427 -101.291384,64.485319 -101.292246,64.485347 -101.293169,64.485226 -101.295346,64.485210 -101.295844,64.485151 -101.298306,64.485107 -101.298727,64.485130 -101.300771,64.485094 -101.311965,64.485170 -101.313094,64.485246 -101.313966,64.485249 -101.315685,64.485361 -101.318563,64.485371 -101.320092,64.485448 -101.322739,64.485685 -101.323859,64.485710 -101.326010,64.485902 -101.327357,64.486050 -101.328114,64.486073 -101.335918,64.486904 -101.336847,64.487104 -101.338035,64.487154 -101.339187,64.487351 -101.340310,64.487455 -101.341349,64.487693 -101.341979,64.487720 -101.342318,64.487782 -101.342745,64.487806 -101.344413,64.488071 -101.345396,64.488313 -101.346693,64.488512 -101.348853,64.488897 -101.350068,64.489209 -101.352670,64.489672 -101.365010,64.492507 -101.373818,64.494488 -101.374312,64.494629 -101.374858,64.494727 -101.385939,64.497317 -101.385940,64.497318 -101.386074,64.497349 -101.386074,64.497349 -101.386074,64.497349 -101.386173,64.497372 -101.386173,64.497372 -101.386173,64.497372 -101.386323,64.497407 -101.386323,64.497407 -101.386323,64.497407 -101.386643,64.497482 -101.386643,64.497482 -101.386643,64.497482 -101.386820,64.497523 -101.386820,64.497523 -101.386820,64.497523 -101.387581,64.497701 -101.387582,64.497701 -101.387583,64.497702 -101.397031,64.499909 -101.397727,64.500110 -101.398244,64.500206 -101.398774,64.500335 -101.400133,64.500737 -101.400488,64.500809 -101.400779,64.500893 -101.401055,64.500981 -101.401856,64.501141 -101.404584,64.501900 -101.407643,64.499767 -101.408949,64.498978 -101.409197,64.498760 -101.409405,64.498634 -101.409510,64.498540 -101.409857,64.498325 -101.410059,64.498247 -101.410276,64.498055 -101.413437,64.496134 -101.413900,64.495957 -101.414936,64.495349 -101.415198,64.495136 -101.415561,64.494973 -101.415728,64.494865 -101.415914,64.494712 -101.417179,64.494026 -101.422814,64.490420 -101.426955,64.487662 -101.428117,64.486975 -101.428287,64.486827 -101.428424,64.486746 -101.428493,64.486685 -101.428877,64.486452 -101.429181,64.486336 -101.429318,64.486217 -101.429350,64.486198 -101.429487,64.486146 -101.429722,64.485944 -101.436056,64.482267 -101.436609,64.481860 -101.439691,64.478665 -101.439778,64.478602 -101.439936,64.478414 -101.444263,64.474029 -101.444552,64.473822 -101.444648,64.473718 -101.445151,64.473347 -101.446118,64.472290 -101.451620,64.467501 -101.452849,64.466677 -101.453226,64.466413 -101.453986,64.465701 -101.454332,64.465469 -101.454691,64.465126 -101.454808,64.465046 -101.454973,64.464886 -101.460174,64.461234 -101.461488,64.460435 -101.461743,64.460209 -101.461963,64.460076 -101.462072,64.459978 -101.462608,64.459643 -101.463510,64.459125 -101.463595,64.459052 -101.463936,64.458856 -101.464008,64.458795 -101.470260,64.455181 -101.470556,64.455070 -101.471269,64.454650 -101.471373,64.454564 -101.471534,64.454493 -101.471883,64.454287 -101.471930,64.454256 -101.471958,64.454243 -101.472053,64.454187 -101.472129,64.454160 -101.473944,64.453276 -101.474033,64.453210 -101.476089,64.452264 -101.476609,64.452091 -101.478222,64.451349 -101.480606,64.450396 -101.482810,64.449715 -101.483135,64.449568 -101.484128,64.449185 -101.484196,64.449164 -101.484794,64.448921 -101.486768,64.448312 -101.488159,64.447937 -101.489505,64.447417 -101.498693,64.444864 -101.499226,64.444783 -101.499254,64.444772 -101.499630,64.444660 -101.501333,64.444211 -101.501532,64.444140 -101.501787,64.444091 -101.502732,64.443842 -101.502952,64.443778 -101.503056,64.443756 -101.503549,64.443626 -101.503933,64.443575 -101.504760,64.443404 -101.505144,64.443272 -101.506755,64.442933 -101.506962,64.442908 -101.508383,64.442609 -101.509575,64.442384 -101.510027,64.442333 -101.511142,64.442122 -101.512051,64.442019 -101.514430,64.441569 -101.520142,64.440723 -101.526103,64.439515 -101.528159,64.438803 -101.530422,64.438154 -101.531277,64.437819 -101.532421,64.437491 -101.532443,64.437486 -101.532878,64.437315 -101.533513,64.437133 -101.534366,64.436912 -101.534726,64.436774 -101.546179,64.433634 -101.546625,64.433567 -101.546691,64.433547 -101.548541,64.433058 -101.548763,64.432979 -101.549043,64.432925 -101.549811,64.432722 -101.550055,64.432651 -101.550170,64.432627 -101.550603,64.432513 -101.551230,64.432399 -101.551381,64.432355 -101.551434,64.432348 -101.551686,64.432277 -101.552198,64.432208 -101.552236,64.432200 -101.552464,64.432119 -101.553198,64.431991 -101.553474,64.431897 -101.553659,64.431860 -101.553704,64.431854 -101.553852,64.431804 -101.554630,64.431646 -101.554813,64.431624 -101.555594,64.431465 -101.555962,64.431421 -101.557742,64.431058 -101.563259,64.430088 -101.574494,64.427815 -101.574975,64.427757 -101.575755,64.427598 -101.576151,64.427551 -101.577980,64.427179 -101.578990,64.427004 -101.579926,64.426903 -101.581215,64.426678 -101.583038,64.426483 -101.583577,64.426392 -101.585772,64.426009 -101.594010,64.425019 -101.596584,64.424807 -101.597506,64.424666 -101.599778,64.424479 -101.601411,64.424376 -101.602011,64.424290 -101.603930,64.424169 -101.604673,64.424192 -101.604988,64.424164 -101.605644,64.424077 -101.606007,64.424074 -101.606501,64.424031 -101.609351,64.424004 -101.609871,64.423943 -101.612857,64.423899 -101.613501,64.423935 -101.615846,64.423900 -101.623268,64.424014 -101.626077,64.424213 -101.628654,64.424245 -101.632232,64.424498 -101.634330,64.424706 -101.634982,64.424328 -101.635070,64.424252 -101.636094,64.423659 -101.637824,64.423012 -101.638882,64.422205 -101.640678,64.421360 -101.641072,64.421227 -101.642534,64.420539 -101.644646,64.419661 -101.646247,64.419155 -101.646562,64.419009 -101.647726,64.418540 -101.648382,64.418336 -101.649044,64.418064 -101.650461,64.417616 -101.651015,64.417464 -101.652388,64.416911 -101.661600,64.414129 -101.662640,64.413851 -101.662932,64.413736 -101.669810,64.411754 -101.670543,64.411563 -101.671667,64.410499 -101.674342,64.407731 -101.674754,64.406946 -101.676772,64.402880 -101.676985,64.402688 -101.677204,64.402305 -101.677256,64.401967 -101.679149,64.398611 -101.679300,64.398478 -101.679371,64.398336 -101.679593,64.398135 -101.679617,64.398082 -101.679688,64.397746 -101.679841,64.397577 -101.679958,64.397313 -101.680440,64.396917 -101.680645,64.396689 -101.680791,64.396145 -101.681453,64.395321 -101.681587,64.395217 -101.682160,64.394504 -101.682946,64.393658 -101.683227,64.393451 -101.683618,64.393024 -101.684191,64.392600 -101.685186,64.391512 -101.689243,64.388027 -101.690754,64.387015 -101.690927,64.386856 -101.690956,64.386836 -101.691511,64.386314 -101.691772,64.386138 -101.691779,64.386132 -101.691886,64.386058 -101.692193,64.385763 -101.692784,64.385356 -101.693799,64.384741 -101.694192,64.384381 -101.699231,64.381163 -101.700176,64.380611 -101.700274,64.380527 -101.701347,64.379900 -101.701530,64.379831 -101.702845,64.379047 -101.703291,64.378851 -101.703528,64.378699 -101.704135,64.378480 -101.704273,64.378420 -101.704512,64.378222 -101.704736,64.378126 -101.704894,64.378003 -101.705878,64.377527 -101.706309,64.377379 -101.706422,64.377293 -101.707324,64.376866 -101.707711,64.376735 -101.709160,64.376050 -101.713674,64.374163 -101.714325,64.373860 -101.714814,64.371889 -101.715344,64.370739 -101.715397,64.370241 -101.715681,64.369624 -101.715721,64.369554 -101.715751,64.369281 -101.716128,64.368484 -101.716397,64.368017 -101.716399,64.368006 -101.716527,64.367737 -101.716531,64.367716 -101.716779,64.367286 -101.716799,64.367268 -101.717191,64.366591 -101.717220,64.366443 -101.717904,64.365378 -101.718602,64.363643 -101.719064,64.362786 -101.719090,64.362604 -101.719349,64.362126 -101.719395,64.362085 -101.719417,64.361934 -101.719783,64.361273 -101.719934,64.361140 -101.719988,64.361009 -101.720240,64.360801 -101.720275,64.360723 -101.720353,64.360349 -101.720526,64.360157 -101.720636,64.359910 -101.720646,64.359863 -101.720667,64.359840 -101.720677,64.359817 -101.720727,64.359776 -101.720730,64.359773 -101.720740,64.359726 -101.723212,64.356164 -101.723282,64.356107 -101.723353,64.356018 -101.723359,64.355987 -101.723483,64.355855 -101.723730,64.355545 -101.723787,64.355426 -101.723897,64.355335 -101.724133,64.355039 -101.724778,64.353194 -101.725278,64.352218 -101.725313,64.351952 -101.725587,64.351416 -101.725630,64.351378 -101.725657,64.351184 -101.726106,64.350330 -101.726293,64.350163 -101.726335,64.350058 -101.726661,64.349789 -101.726784,64.349205 -101.727358,64.348563 -101.727646,64.347970 -101.728189,64.347521 -101.728236,64.347298 -101.728602,64.346927 -101.728693,64.346625 -101.729282,64.345953 -101.729446,64.345830 -101.729745,64.345484 -101.730081,64.345228 -101.730483,64.344763 -101.731730,64.342905 -101.731767,64.342874 -101.731768,64.342873 -101.731775,64.342838 -101.731790,64.342822 -101.731798,64.342805 -101.731855,64.342732 -101.731859,64.342717 -101.733150,64.341098 -101.734611,64.339510 -101.735228,64.339053 -101.736241,64.337950 -101.738171,64.336311 -101.739719,64.335277 -101.740385,64.334648 -101.742792,64.333040 -101.745391,64.331486 -101.745626,64.331382 -101.745513,64.330280 -101.745526,64.330232 -101.745525,64.330227 -101.745551,64.330128 -101.745449,64.329428 -101.745324,64.326646 -101.744817,64.323595 -101.744900,64.323261 -101.744777,64.323070 -101.744669,64.322098 -101.744721,64.321912 -101.744622,64.321023 -101.744632,64.320598 -101.744738,64.320291 -101.744692,64.319645 -101.745063,64.316036 -101.745236,64.313350 -101.745467,64.312717 -101.745505,64.312121 -101.745710,64.311559 -101.745745,64.310967 -101.745976,64.310334 -101.746004,64.310281 -101.746044,64.309657 -101.746645,64.308058 -101.747126,64.307142 -101.747155,64.306923 -101.747747,64.305796 -101.748195,64.305395 -101.748331,64.305103 -101.748420,64.304676 -101.748641,64.304440 -101.748721,64.304269 -101.748977,64.304057 -101.749008,64.303908 -101.749198,64.303711 -101.749225,64.303606 -101.749227,64.303604 -101.749297,64.303549 -101.749322,64.303453 -101.749609,64.303093 -101.749653,64.303059 -101.749776,64.302901 -101.749871,64.302826 -101.750359,64.302201 -101.755437,64.296466 -101.756061,64.295996 -101.756397,64.295585 -101.757188,64.294766 -101.757953,64.294210 -101.758297,64.293861 -101.758474,64.293728 -101.759250,64.292925 -101.760889,64.291645 -101.762362,64.290697 -101.762797,64.290296 -101.764835,64.288983 -101.767001,64.287709 -101.767245,64.287602 -101.767398,64.287502 -101.767803,64.287355 -101.767883,64.287320 -101.768082,64.287155 -101.768136,64.287131 -101.768190,64.287088 -101.768874,64.286741 -101.769095,64.286663 -101.769187,64.286618 -101.769265,64.286556 -101.769932,64.286225 -101.770087,64.286171 -101.771094,64.285672 -101.777030,64.282958 -101.777307,64.282865 -101.777717,64.282672 -101.778168,64.282520 -101.779691,64.281802 -101.784445,64.279839 -101.788343,64.277928 -101.789189,64.277636 -101.789487,64.277407 -101.790073,64.277133 -101.790511,64.276984 -101.790800,64.276841 -101.791859,64.276356 -101.792574,64.276118 -101.794336,64.275311 -101.800156,64.273047 -101.801274,64.272704 -101.801364,64.272667 -101.802693,64.272250 -101.803993,64.271719 -101.805178,64.271356 -101.805198,64.271350 -101.805952,64.271043 -101.807661,64.270519 -101.809378,64.270054 -101.809691,64.269934 -101.810741,64.269649 -101.810579,64.269019 -101.810587,64.268982 -101.810586,64.268980 -101.810561,64.268945 -101.810560,64.268926 -101.810551,64.268908 -101.810476,64.268207 -101.810393,64.268082 -101.810275,64.267283 -101.810301,64.267184 -101.810198,64.266483 -101.810024,64.262805 -101.810087,64.262601 -101.810016,64.261969 -101.810024,64.261578 -101.810130,64.261269 -101.810083,64.260622 -101.810474,64.256739 -101.810718,64.256101 -101.810738,64.255818 -101.810964,64.255204 -101.811009,64.254515 -101.811257,64.253866 -101.811288,64.253807 -101.811327,64.253275 -101.811914,64.251780 -101.812376,64.250913 -101.812402,64.250725 -101.812959,64.249678 -101.813286,64.249386 -101.813559,64.248772 -101.813586,64.248638 -101.813590,64.248633 -101.813590,64.248632 -101.813594,64.248629 -101.813659,64.248546 -101.813675,64.248509 -101.813713,64.248478 -101.813831,64.248329 -101.813845,64.248264 -101.816210,64.244931 -101.816468,64.244720 -101.816711,64.244461 -101.816735,64.244343 -101.816771,64.244299 -101.816804,64.244176 -101.817447,64.243385 -101.817630,64.243243 -101.818278,64.242445 -101.819199,64.241481 -101.819601,64.241187 -101.820035,64.240728 -101.820853,64.240126 -101.821930,64.238984 -101.826506,64.235286 -101.828010,64.234300 -101.828518,64.233825 -101.828877,64.233590 -101.829106,64.233372 -101.830091,64.232709 -101.831191,64.232047 -101.831340,64.231914 -101.832635,64.231134 -101.833420,64.230833 -101.833977,64.230369 -101.834673,64.230061 -101.834973,64.229868 -101.835716,64.229598 -101.836024,64.229461 -101.836255,64.229269 -101.836675,64.229089 -101.836966,64.228867 -101.838248,64.228267 -101.838719,64.228108 -101.839003,64.227967 -101.840078,64.227476 -101.840853,64.227218 -101.842650,64.226397 -101.849034,64.223935 -101.850786,64.223399 -101.851436,64.223194 -101.852777,64.222647 -101.853966,64.222283 -101.853995,64.222275 -101.854707,64.221985 -101.856373,64.221476 -101.858051,64.221022 -101.858344,64.220909 -101.860349,64.220367 -101.862365,64.220064 -101.864083,64.219466 -101.865797,64.219100 -101.866035,64.219070 -101.867530,64.218751 -101.868763,64.218517 -101.869271,64.218458 -101.870338,64.218254 -101.871365,64.218135 -101.873794,64.217671 -101.879792,64.216787 -101.882086,64.216566 -101.882510,64.216501 -101.882955,64.216457 -101.884256,64.216245 -101.886569,64.216022 -101.888071,64.215915 -101.889237,64.215737 -101.891532,64.215562 -101.891867,64.215570 -101.892459,64.215523 -101.892588,64.215526 -101.892764,64.215499 -101.892806,64.215496 -101.893415,64.215510 -101.894271,64.215392 -101.894777,64.215387 -101.895641,64.215308 -101.897637,64.215285 -101.898126,64.215225 -101.900464,64.215170 -101.900846,64.215190 -101.902806,64.215144 -101.913353,64.215152 -101.914281,64.215210 -101.915188,64.215208 -101.916732,64.215302 -101.919557,64.215295 -101.921025,64.215357 -101.923710,64.215582 -101.924950,64.215605 -101.926721,64.215753 -101.927427,64.215828 -101.928235,64.215846 -101.935982,64.216570 -101.942199,64.217027 -101.944192,64.217226 -101.944624,64.217237 -101.947032,64.217478 -101.947154,64.217503 -101.948788,64.217680 -101.949129,64.217692 -101.955287,64.218424 -101.955300,64.218427 -101.955315,64.218427 -101.957419,64.218677 -101.963019,64.216806 -101.965081,64.216219 -101.965662,64.215990 -101.966238,64.215826 -101.966588,64.215686 -101.976768,64.212690 -101.978214,64.212305 -101.978409,64.212231 -101.979194,64.212022 -101.979257,64.212012 -101.979417,64.211951 -101.980139,64.211760 -101.980484,64.211709 -101.980980,64.211558 -101.981187,64.211529 -101.981456,64.211457 -101.981703,64.211367 -101.982022,64.211306 -101.982107,64.211283 -101.982484,64.211170 -101.982673,64.211132 -101.982755,64.211110 -101.983009,64.211062 -101.983332,64.210996 -101.983595,64.210919 -101.983922,64.210874 -101.984878,64.210677 -101.985276,64.210538 -101.991781,64.209141 -101.997829,64.207592 -102.006173,64.205444 -102.006528,64.205393 -102.007109,64.205236 -102.007311,64.205162 -102.007554,64.205115 -102.007638,64.205092 -102.007880,64.205020 -102.007991,64.204997 -102.008162,64.204951 -102.008625,64.204864 -102.008929,64.204801 -102.009000,64.204780 -102.009072,64.204770 -102.009381,64.204680 -102.009742,64.204631 -102.010082,64.204559 -102.010219,64.204509 -102.010920,64.204384 -102.011030,64.204361 -102.011307,64.204266 -102.011539,64.204218 -102.011622,64.204208 -102.011821,64.204139 -102.012659,64.203968 -102.012885,64.203941 -102.013648,64.203783 -102.014108,64.203726 -102.016022,64.203332 -102.027547,64.201320 -102.028159,64.201253 -102.028294,64.201227 -102.029064,64.201138 -102.033584,64.199439 -102.037521,64.197751 -102.041391,64.195642 -102.041394,64.195640 -102.041394,64.195640 -102.041396,64.195639 -102.041397,64.195638 -102.041398,64.195637 -102.042714,64.194987 -102.042771,64.194942 -102.043682,64.194484 -102.043827,64.194432 -102.044798,64.193944 -102.045908,64.193428 -102.046463,64.193240 -102.046736,64.193104 -102.047842,64.192602 -102.048765,64.192294 -102.050635,64.191445 -102.057325,64.188915 -102.060871,64.187234 -102.066634,64.184331 -102.072006,64.181477 -102.072301,64.181370 -102.072408,64.181300 -102.072560,64.181244 -102.073112,64.180972 -102.073149,64.180941 -102.073368,64.180846 -102.073835,64.180615 -102.074017,64.180473 -102.074757,64.180114 -102.075237,64.179948 -102.075338,64.179870 -102.076289,64.179419 -102.076798,64.179245 -102.078375,64.178498 -102.085928,64.175388 -102.087078,64.175021 -102.087816,64.174714 -102.088965,64.174345 -102.090047,64.173894 -102.091202,64.173526 -102.091231,64.173518 -102.092166,64.173127 -102.093466,64.172715 -102.095284,64.172210 -102.095660,64.172063 -102.097118,64.171658 -102.097465,64.171604 -102.097910,64.171481 -102.098696,64.171182 -102.107075,64.169010 -102.107610,64.168932 -102.107761,64.168886 -102.108182,64.168728 -102.110471,64.168159 -102.112959,64.167152 -102.114112,64.166788 -102.114574,64.166596 -102.115761,64.166216 -102.115870,64.166165 -102.116347,64.165971 -102.116377,64.165961 -102.116947,64.165724 -102.117339,64.165601 -102.117434,64.165561 -102.117971,64.165388 -102.118213,64.165320 -102.119017,64.164986 -102.119697,64.164772 -102.120562,64.164533 -102.121225,64.164264 -102.128569,64.162061 -102.130080,64.161653 -102.130301,64.161568 -102.131126,64.161345 -102.131196,64.161335 -102.131377,64.161265 -102.132145,64.161060 -102.132508,64.161005 -102.133022,64.160847 -102.133361,64.160800 -102.133790,64.160641 -102.134148,64.160572 -102.134613,64.160432 -102.135520,64.160306 -102.135853,64.160242 -102.136586,64.159985 -102.138584,64.159562 -102.138915,64.159520 -102.140608,64.159160 -102.142037,64.158897 -102.142757,64.158814 -102.143873,64.158606 -102.145333,64.158438 -102.147917,64.157957 -102.158237,64.156555 -102.160830,64.156317 -102.162394,64.156049 -102.171540,64.155066 -102.173703,64.154897 -102.174210,64.154819 -102.176352,64.154651 -102.176740,64.154660 -102.176911,64.154646 -102.176920,64.154647 -102.177088,64.154620 -102.177561,64.154579 -102.178127,64.154541 -102.178409,64.154500 -102.179685,64.154426 -102.179773,64.154429 -102.181015,64.154345 -102.181841,64.154340 -102.182322,64.154298 -102.183218,64.154331 -102.183961,64.154326 -102.184936,64.154204 -102.195506,64.153968 -102.195747,64.153980 -102.196590,64.153959 -102.196969,64.153977 -102.198920,64.153927 -102.207457,64.153915 -102.215519,64.153707 -102.216454,64.153752 -102.216837,64.153705 -102.218831,64.153673 -102.219612,64.153715 -102.222072,64.153675 -102.222984,64.153691 -102.224746,64.153814 -102.226834,64.153808 -102.231010,64.153991 -102.233641,64.154211 -102.234765,64.154230 -102.238468,64.154540 -102.242131,64.154921 -102.242146,64.154922 -102.244806,64.155253 -102.244815,64.155255 -102.244816,64.155255 -102.244826,64.155256 -102.244832,64.155257 -102.244837,64.155257 -102.245363,64.155348 -102.246362,64.155496 -102.246582,64.155436 -102.246829,64.155344 -102.247144,64.155282 -102.247546,64.155173 -102.247875,64.155074 -102.248036,64.155039 -102.248400,64.154940 -102.248557,64.154910 -102.248683,64.154873 -102.248966,64.154833 -102.249011,64.154824 -102.249248,64.154738 -102.257925,64.152710 -102.262781,64.151460 -102.263135,64.151409 -102.263495,64.151311 -102.263734,64.151222 -102.263961,64.151178 -102.264211,64.151103 -102.264428,64.151057 -102.264634,64.151001 -102.264989,64.150934 -102.265237,64.150860 -102.265598,64.150810 -102.266088,64.150706 -102.266444,64.150579 -102.274189,64.148841 -102.274851,64.148754 -102.274904,64.148744 -102.274982,64.148715 -102.275006,64.148710 -102.275222,64.148634 -102.275417,64.148593 -102.275520,64.148579 -102.275700,64.148516 -102.276217,64.148408 -102.276386,64.148386 -102.277007,64.148255 -102.277357,64.148210 -102.279085,64.147842 -102.286197,64.146531 -102.286805,64.146462 -102.287336,64.146351 -102.288004,64.146233 -102.289052,64.146116 -102.290197,64.145911 -102.291320,64.145785 -102.291908,64.145682 -102.292347,64.145632 -102.292466,64.145622 -102.293446,64.145452 -102.293749,64.145418 -102.294964,64.145201 -102.301976,64.144355 -102.302710,64.144292 -102.303115,64.144222 -102.309052,64.143551 -102.309342,64.143527 -102.309485,64.143503 -102.317030,64.142672 -102.319228,64.142496 -102.319762,64.142413 -102.321930,64.142239 -102.322336,64.142248 -102.322528,64.142232 -102.322746,64.142240 -102.322914,64.142224 -102.323295,64.142163 -102.323672,64.142131 -102.323677,64.142131 -102.324017,64.142082 -102.325574,64.141989 -102.325993,64.142002 -102.326415,64.141943 -102.327994,64.141928 -102.328662,64.141841 -102.330442,64.141784 -102.330657,64.141793 -102.332225,64.141743 -102.340646,64.141629 -102.340680,64.141631 -102.340804,64.141627 -102.348878,64.141525 -102.358439,64.141361 -102.367851,64.141004 -102.375255,64.140671 -102.375727,64.140689 -102.376138,64.140634 -102.384619,64.140299 -102.385573,64.140338 -102.386207,64.140334 -102.386923,64.140246 -102.389887,64.140194 -102.390649,64.140233 -102.393091,64.140190 -102.393962,64.140203 -102.395614,64.140317 -102.397641,64.140306 -102.401275,64.140454 -102.401873,64.140436 -102.402922,64.140484 -102.403411,64.140424 -102.405599,64.140385 -102.406363,64.140424 -102.408807,64.140381 -102.409679,64.140394 -102.411334,64.140507 -102.413361,64.140497 -102.418919,64.140723 -102.427620,64.140888 -102.428844,64.140974 -102.429928,64.140964 -102.430740,64.140992 -102.432163,64.141102 -102.432521,64.141106 -102.433119,64.141148 -102.433751,64.141209 -102.434925,64.141224 -102.436282,64.141329 -102.437000,64.141339 -102.443188,64.141819 -102.444953,64.141996 -102.445262,64.142003 -102.445997,64.142077 -102.446194,64.142081 -102.453811,64.142820 -102.454171,64.142506 -102.455679,64.141469 -102.456306,64.140857 -102.458628,64.139260 -102.461137,64.137715 -102.461414,64.137575 -102.461555,64.137490 -102.461840,64.137360 -102.461994,64.137283 -102.462176,64.137162 -102.462399,64.137079 -102.463225,64.136662 -102.463418,64.136506 -102.469302,64.133540 -102.470188,64.133225 -102.471716,64.132468 -102.473744,64.131567 -102.475169,64.131092 -102.477166,64.130205 -102.479666,64.129314 -102.481849,64.128665 -102.482619,64.128352 -102.485661,64.127448 -102.488794,64.126601 -102.489120,64.126533 -102.489202,64.126510 -102.489458,64.126461 -102.490169,64.126312 -102.490458,64.126227 -102.490808,64.126177 -102.492519,64.125816 -102.492970,64.125659 -102.493983,64.125449 -102.495599,64.125065 -102.496092,64.124997 -102.496940,64.124836 -102.497140,64.124762 -102.497194,64.124750 -102.497451,64.124660 -102.499358,64.124256 -102.499786,64.124201 -102.501642,64.123808 -102.503202,64.123526 -102.503238,64.123521 -102.505839,64.122968 -102.510346,64.122147 -102.512324,64.121920 -102.514961,64.121439 -102.518265,64.121024 -102.520754,64.120805 -102.521588,64.120670 -102.524937,64.120374 -102.528314,64.120138 -102.529216,64.120130 -102.529717,64.120086 -102.530646,64.120118 -102.530675,64.120117 -102.530729,64.120109 -102.532351,64.120003 -102.532522,64.119981 -102.532764,64.119976 -102.535738,64.119781 -102.536370,64.119798 -102.537023,64.119705 -102.537688,64.119697 -102.538333,64.119637 -102.538882,64.119656 -102.539261,64.119602 -102.539492,64.119601 -102.539666,64.119577 -102.540595,64.119542 -102.541731,64.119588 -102.545574,64.119567 -102.547026,64.119540 -102.548060,64.119554 -102.548228,64.119553 -102.548345,64.119558 -102.551245,64.119597 -102.555117,64.119857 -102.557548,64.119890 -102.560609,64.120135 -102.562272,64.120303 -102.562537,64.120309 -102.564455,64.120503 -102.566402,64.120911 -102.568509,64.121007 -102.570636,64.121322 -102.570947,64.121395 -102.572745,64.121662 -102.577814,64.122546 -102.578271,64.122661 -102.578619,64.122718 -102.579467,64.122926 -102.581898,64.123323 -102.587432,64.124466 -102.589861,64.125123 -102.591608,64.125458 -102.591633,64.125464 -102.592340,64.125595 -102.593572,64.125909 -102.595475,64.126475 -102.596041,64.126590 -102.597176,64.126927 -102.597307,64.126989 -102.597833,64.127097 -102.601295,64.128149 -102.602072,64.128523 -102.603279,64.128790 -102.604342,64.129222 -102.605419,64.129534 -102.606510,64.130091 -102.607045,64.130220 -102.607279,64.130272 -102.607303,64.130282 -102.607715,64.130382 -102.609576,64.131119 -102.609784,64.131233 -102.612187,64.131880 -102.613826,64.132379 -102.614193,64.132455 -102.616161,64.133055 -102.616813,64.133369 -102.617239,64.133490 -102.618090,64.133679 -102.618499,64.133850 -102.618827,64.133943 -102.619305,64.134187 -102.619428,64.134239 -102.620101,64.134426 -102.620300,64.134472 -102.621637,64.134975 -102.621733,64.135026 -102.621793,64.135049 -102.621899,64.135073 -102.621987,64.135106 -102.622079,64.135156 -102.622956,64.135484 -102.623173,64.135572 -102.623193,64.135584 -102.623283,64.135617 -102.625598,64.136561 -102.626222,64.136908 -102.628136,64.137688 -102.634347,64.140692 -102.634372,64.140707 -102.634412,64.140723 -102.639283,64.143084 -102.642619,64.144481 -102.649430,64.146938 -102.653769,64.148459 -102.656473,64.149240 -102.664466,64.151396 -102.665503,64.151711 -102.665867,64.151783 -102.671569,64.153400 -102.674701,64.154123 -102.675824,64.154440 -102.676511,64.154565 -102.677194,64.154735 -102.677947,64.154955 -102.677968,64.154959 -102.678438,64.155092 -102.678786,64.155201 -102.679196,64.155321 -102.679858,64.155454 -102.680642,64.155683 -102.680966,64.155748 -102.686433,64.157333 -102.687453,64.157812 -102.689119,64.158180 -102.690131,64.158586 -102.691467,64.158969 -102.691790,64.159133 -102.692187,64.159244 -102.692529,64.159417 -102.692746,64.159465 -102.693071,64.159605 -102.693479,64.159702 -102.694169,64.159969 -102.694394,64.160091 -102.694625,64.160146 -102.694646,64.160154 -102.694661,64.160158 -102.695088,64.160328 -102.695161,64.160368 -102.695231,64.160385 -102.697052,64.161112 -102.697542,64.161381 -102.699359,64.162106 -102.703670,64.164111 -102.704569,64.164645 -102.705124,64.164895 -102.705973,64.165391 -102.706918,64.165816 -102.707842,64.166364 -102.707853,64.166372 -102.708864,64.166827 -102.709920,64.167455 -102.711047,64.168216 -102.711353,64.168363 -102.712122,64.168882 -102.712233,64.169016 -102.712664,64.169226 -102.716803,64.172131 -102.717088,64.172484 -102.717714,64.172801 -102.718185,64.173253 -102.718742,64.173610 -102.718857,64.173763 -102.719064,64.173891 -102.719348,64.174268 -102.719888,64.174559 -102.720176,64.174814 -102.720190,64.174822 -102.721255,64.175766 -102.721373,64.175938 -102.722259,64.176724 -102.725730,64.180301 -102.726064,64.180846 -102.726753,64.181541 -102.727187,64.182237 -102.728314,64.183373 -102.731184,64.187377 -102.731752,64.188527 -102.732164,64.189000 -102.732651,64.189984 -102.732716,64.190151 -102.732825,64.190274 -102.733023,64.190648 -102.733140,64.190938 -102.733171,64.190977 -102.733303,64.191313 -102.733300,64.191336 -102.733350,64.191459 -102.733467,64.191601 -102.733853,64.192559 -102.733816,64.192897 -102.734017,64.193303 -102.734182,64.193521 -102.734189,64.193648 -102.734240,64.193749 -102.734205,64.193949 -102.734208,64.194004 -102.734354,64.194206 -102.735180,64.197913 -102.735099,64.198317 -102.735102,64.198379 -102.735292,64.198657 -102.735448,64.199725 -102.735404,64.199909 -102.735534,64.200794 -102.735539,64.201192 -102.735452,64.201477 -102.735518,64.202085 -102.735299,64.205731 -102.735288,64.205763 -102.735294,64.205816 -102.735070,64.209209 -102.735076,64.211543 -102.735676,64.213541 -102.735663,64.213620 -102.735722,64.213698 -102.735733,64.213892 -102.735797,64.213976 -102.735803,64.214073 -102.735827,64.214122 -102.735824,64.214138 -102.735853,64.214195 -102.735820,64.214389 -102.735822,64.214439 -102.735964,64.214634 -102.736797,64.218334 -102.736767,64.218486 -102.736803,64.218563 -102.736757,64.218829 -102.736866,64.219521 -102.737054,64.219801 -102.737257,64.221418 -102.737248,64.221454 -102.737264,64.221479 -102.737459,64.223089 -102.737296,64.223738 -102.737400,64.224461 -102.737409,64.225532 -102.737389,64.225599 -102.737397,64.225660 -102.737397,64.225785 -102.737124,64.226653 -102.737134,64.227708 -102.737122,64.227752 -102.737077,64.227853 -102.737077,64.228041 -102.736654,64.229533 -102.736604,64.229721 -102.736529,64.229889 -102.736529,64.229972 -102.736527,64.229981 -102.736118,64.230873 -102.736095,64.231157 -102.736064,64.231226 -102.736032,64.231256 -102.736025,64.231335 -102.735589,64.232285 -102.735456,64.232582 -102.735417,64.232620 -102.735413,64.232671 -102.735409,64.232679 -102.735248,64.232831 -102.734617,64.234430 -102.734216,64.235208 -102.734201,64.235346 -102.733968,64.235797 -102.733912,64.235849 -102.733895,64.235990 -102.733701,64.236355 -102.733556,64.236487 -102.733517,64.236559 -102.733437,64.236773 -102.733432,64.236777 -102.733412,64.236917 -102.730958,64.241175 -102.730739,64.241369 -102.730717,64.241425 -102.730682,64.241629 -102.730595,64.241729 -102.730544,64.241857 -102.730414,64.242031 -102.730406,64.242077 -102.730348,64.242143 -102.730322,64.242205 -102.730260,64.242258 -102.730162,64.243835 -102.729903,64.244588 -102.729927,64.244792 -102.729926,64.244817 -102.729848,64.245051 -102.729874,64.245515 -102.729818,64.245846 -102.729810,64.245867 -102.729811,64.245889 -102.729777,64.246090 -102.729441,64.246928 -102.729425,64.247360 -102.729419,64.247378 -102.729275,64.247667 -102.729261,64.247904 -102.728972,64.248626 -102.728867,64.248830 -102.728838,64.249207 -102.727860,64.251459 -102.727501,64.252128 -102.727489,64.252222 -102.727276,64.252619 -102.727218,64.252672 -102.727202,64.252791 -102.726894,64.253349 -102.726833,64.253403 -102.726826,64.253421 -102.726604,64.253613 -102.726564,64.253712 -102.726518,64.253979 -102.726404,64.254111 -102.726330,64.254295 -102.725992,64.254585 -102.725517,64.255133 -102.725409,64.255558 -102.724385,64.256805 -102.724056,64.257065 -102.723258,64.258037 -102.721969,64.259310 -102.721145,64.259909 -102.720700,64.260354 -102.720081,64.260806 -102.719534,64.261359 -102.718709,64.261959 -102.718527,64.262074 -102.717962,64.262639 -102.717681,64.262838 -102.719107,64.263809 -102.719317,64.264064 -102.719438,64.264121 -102.719761,64.264339 -102.719845,64.264441 -102.720294,64.264668 -102.720638,64.264994 -102.720705,64.265034 -102.720766,64.265115 -102.720807,64.265141 -102.721028,64.265253 -102.721037,64.265262 -102.721393,64.265267 -102.724060,64.265493 -102.726383,64.265732 -102.726751,64.265742 -102.732947,64.266436 -102.733293,64.266510 -102.733368,64.266516 -102.733736,64.266528 -102.733913,64.266557 -102.734130,64.266574 -102.734320,64.266615 -102.734520,64.266622 -102.734879,64.266682 -102.735172,64.266706 -102.735473,64.266772 -102.735736,64.266782 -102.736001,64.266820 -102.736106,64.266844 -102.736203,64.266848 -102.736347,64.266868 -102.736475,64.266873 -102.740812,64.267462 -102.740835,64.267458 -102.743904,64.267194 -102.745331,64.267218 -102.746997,64.266979 -102.752379,64.266843 -102.757760,64.266854 -102.760311,64.267008 -102.763139,64.267013 -102.765513,64.267150 -102.767794,64.267352 -102.768434,64.267363 -102.771335,64.267620 -102.772090,64.267771 -102.772300,64.267787 -102.772409,64.267785 -102.779527,64.267928 -102.784823,64.268295 -102.786618,64.268330 -102.790209,64.268670 -102.791074,64.268846 -102.791683,64.268892 -102.792536,64.268919 -102.792970,64.268989 -102.793700,64.269044 -102.801427,64.270337 -102.807585,64.271679 -102.808222,64.271576 -102.808291,64.271570 -102.808950,64.271461 -102.815938,64.270813 -102.817543,64.270696 -102.817763,64.270662 -102.819595,64.270528 -102.820147,64.270540 -102.821351,64.270423 -102.821433,64.270411 -102.821477,64.270411 -102.821518,64.270407 -102.821602,64.270410 -102.821608,64.270410 -102.821689,64.270398 -102.823053,64.270327 -102.823221,64.270333 -102.823309,64.270332 -102.828156,64.268565 -102.830382,64.267894 -102.831233,64.267544 -102.832415,64.267187 -102.832537,64.267154 -102.832999,64.266965 -102.834382,64.266551 -102.835753,64.266178 -102.835923,64.266111 -102.837485,64.265686 -102.839456,64.265382 -102.841032,64.264821 -102.843021,64.264388 -102.843350,64.264345 -102.845037,64.263978 -102.846408,64.263718 -102.847089,64.263637 -102.848102,64.263442 -102.849496,64.263275 -102.852060,64.262781 -102.855856,64.262240 -102.858564,64.261977 -102.859821,64.261766 -102.862215,64.261533 -102.863912,64.261405 -102.864758,64.261273 -102.866908,64.261109 -102.867777,64.261127 -102.868243,64.261081 -102.868991,64.260974 -102.869413,64.260967 -102.870033,64.260906 -102.877189,64.260783 -102.884319,64.260921 -102.889640,64.261286 -102.891421,64.261321 -102.895013,64.261658 -102.895468,64.261751 -102.895848,64.261759 -102.895939,64.261768 -102.896442,64.261872 -102.896564,64.261880 -102.897316,64.261904 -102.897636,64.261956 -102.897650,64.261956 -102.897670,64.261961 -102.897689,64.261964 -102.897741,64.261965 -102.897824,64.261979 -102.898467,64.262027 -102.898982,64.262113 -102.902636,64.262636 -102.906557,64.263292 -102.907793,64.263595 -102.910403,64.264032 -102.912829,64.264562 -102.916731,64.265249 -102.917813,64.265520 -102.919289,64.265775 -102.920764,64.266142 -102.921792,64.266329 -102.923544,64.266631 -102.926336,64.267276 -102.930651,64.268219 -102.933007,64.268865 -102.934270,64.269107 -102.936733,64.269783 -102.937794,64.270107 -102.938353,64.270219 -102.940188,64.270764 -102.940430,64.270879 -102.940450,64.270884 -102.940587,64.270953 -102.940872,64.271087 -102.941484,64.271255 -102.942285,64.271429 -102.942644,64.271572 -102.943334,64.271761 -102.943984,64.272087 -102.944766,64.272267 -102.946172,64.272786 -102.946318,64.272863 -102.947552,64.273318 -102.951946,64.275086 -102.952113,64.275178 -102.952283,64.275244 -102.952406,64.275310 -102.952449,64.275321 -102.952609,64.275383 -102.952950,64.275566 -102.954454,64.276153 -102.954592,64.276215 -102.954751,64.276277 -102.960019,64.278633 -102.960697,64.278775 -102.961662,64.279034 -102.962713,64.279213 -102.965027,64.279737 -102.968236,64.280266 -102.970398,64.280794 -102.973964,64.281429 -102.976109,64.281953 -102.976251,64.281982 -102.976473,64.282041 -102.977359,64.282257 -102.977478,64.282292 -102.978196,64.282447 -102.982058,64.283502 -102.982732,64.283641 -102.982991,64.283722 -102.983159,64.283803 -102.985141,64.284344 -102.985228,64.284363 -102.988349,64.285410 -102.988382,64.285426 -102.988384,64.285426 -102.988428,64.285436 -102.988446,64.285443 -102.988467,64.285449 -102.992431,64.286965 -102.996165,64.288582 -102.996315,64.288667 -102.997133,64.288912 -102.997501,64.288986 -102.997992,64.289133 -102.998004,64.289135 -102.999556,64.289597 -102.999781,64.289703 -103.000037,64.289779 -103.000188,64.289855 -103.000192,64.289856 -103.000963,64.290019 -103.007367,64.292077 -103.013770,64.294127 -103.014087,64.294282 -103.014187,64.294309 -103.014592,64.294397 -103.014763,64.294466 -103.015003,64.294532 -103.015340,64.294701 -103.015841,64.294904 -103.016463,64.295046 -103.017897,64.295575 -103.018050,64.295655 -103.019305,64.296117 -103.020942,64.296776 -103.021641,64.297158 -103.022052,64.297312 -103.023345,64.297850 -103.024350,64.298410 -103.026405,64.299264 -103.030739,64.301491 -103.032298,64.302458 -103.033117,64.302831 -103.035169,64.304105 -103.037019,64.305372 -103.037124,64.305425 -103.037775,64.305114 -103.042931,64.303010 -103.044098,64.302635 -103.044363,64.302523 -103.045574,64.302127 -103.046778,64.301616 -103.047986,64.301228 -103.048080,64.301201 -103.048893,64.300857 -103.050650,64.300297 -103.052342,64.299820 -103.052647,64.299698 -103.054681,64.299124 -103.055062,64.299063 -103.056518,64.298664 -103.056753,64.298575 -103.057151,64.298490 -103.057222,64.298470 -103.057446,64.298427 -103.058408,64.298221 -103.058686,64.298139 -103.059018,64.298091 -103.061171,64.297630 -103.061613,64.297476 -103.068214,64.296120 -103.070341,64.295850 -103.070977,64.295732 -103.072389,64.295436 -103.074766,64.295025 -103.078006,64.294662 -103.080470,64.294235 -103.083523,64.293913 -103.085474,64.293756 -103.085844,64.293697 -103.088178,64.293510 -103.091116,64.293562 -103.093766,64.293225 -103.097015,64.293153 -103.097800,64.293190 -103.100270,64.293135 -103.101106,64.293144 -103.102533,64.293235 -103.103468,64.293183 -103.103494,64.293183 -103.103518,64.293180 -103.104083,64.293173 -103.104279,64.293153 -103.104360,64.293151 -103.104561,64.293132 -103.104875,64.293142 -103.105086,64.293138 -103.105298,64.293107 -103.106152,64.293101 -103.106599,64.293041 -103.107336,64.293015 -103.107883,64.293037 -103.108083,64.293011 -103.109469,64.292970 -103.109918,64.292989 -103.111993,64.292927 -103.118017,64.292904 -103.118779,64.292829 -103.119131,64.292840 -103.119453,64.292794 -103.120668,64.292735 -103.121293,64.292756 -103.122596,64.292741 -103.123230,64.292659 -103.125909,64.292592 -103.126553,64.292621 -103.128886,64.292562 -103.136255,64.292600 -103.136686,64.292626 -103.137256,64.292614 -103.137742,64.292620 -103.139403,64.292725 -103.141371,64.292706 -103.144518,64.292821 -103.144524,64.292821 -103.144529,64.292821 -103.146413,64.292890 -103.152526,64.292939 -103.155307,64.293112 -103.155754,64.293114 -103.155783,64.293116 -103.157744,64.293121 -103.160533,64.293294 -103.160839,64.293321 -103.161697,64.293326 -103.163377,64.293437 -103.165333,64.293617 -103.165736,64.293624 -103.168081,64.293838 -103.169103,64.294043 -103.170412,64.294082 -103.171239,64.294218 -103.171739,64.294258 -103.172570,64.294438 -103.173344,64.294565 -103.174393,64.294611 -103.178411,64.295207 -103.178802,64.295265 -103.185684,64.294729 -103.187750,64.294549 -103.187998,64.294422 -103.188001,64.294421 -103.188027,64.294412 -103.188097,64.294376 -103.190689,64.293166 -103.190755,64.293144 -103.190790,64.293127 -103.191687,64.292818 -103.193515,64.291965 -103.193519,64.291963 -103.193569,64.291947 -103.193616,64.291925 -103.196428,64.290836 -103.198728,64.290115 -103.199863,64.289637 -103.203432,64.288518 -103.207134,64.287479 -103.207315,64.287441 -103.207383,64.287422 -103.207605,64.287378 -103.208016,64.287290 -103.208281,64.287210 -103.208619,64.287160 -103.209662,64.286936 -103.210078,64.286785 -103.214492,64.285802 -103.216021,64.285596 -103.216817,64.285445 -103.219008,64.284978 -103.222122,64.284424 -103.224940,64.284100 -103.227499,64.283644 -103.230769,64.283273 -103.232907,64.283092 -103.233392,64.283013 -103.236031,64.282789 -103.237279,64.282809 -103.238686,64.282602 -103.242736,64.282458 -103.246791,64.282397 -103.248091,64.282462 -103.250854,64.282421 -103.252248,64.282458 -103.255027,64.282656 -103.256518,64.282666 -103.257379,64.282727 -103.258085,64.282731 -103.263655,64.283104 -103.264389,64.283046 -103.264509,64.283049 -103.266839,64.282865 -103.267177,64.282814 -103.271986,64.282517 -103.272227,64.282524 -103.272462,64.282489 -103.272776,64.282484 -103.273226,64.282450 -103.273455,64.282447 -103.273622,64.282431 -103.273919,64.282440 -103.274099,64.282413 -103.274312,64.282411 -103.274480,64.282395 -103.274855,64.282406 -103.275021,64.282405 -103.275465,64.282344 -103.275943,64.282326 -103.276517,64.282348 -103.276987,64.282286 -103.283891,64.282072 -103.284943,64.282116 -103.286557,64.282061 -103.289338,64.282031 -103.290886,64.282111 -103.290985,64.282110 -103.291068,64.282113 -103.293804,64.282083 -103.295481,64.282141 -103.298158,64.282342 -103.299342,64.282352 -103.301062,64.282481 -103.301693,64.282541 -103.302453,64.282551 -103.307117,64.282940 -103.308065,64.283125 -103.308425,64.283129 -103.308684,64.283151 -103.308976,64.283208 -103.310131,64.283241 -103.311302,64.283422 -103.311330,64.283424 -103.311478,64.283433 -103.311494,64.283437 -103.311721,64.283454 -103.311737,64.283455 -103.311748,64.283457 -103.312747,64.283534 -103.312995,64.283588 -103.313264,64.283607 -103.313789,64.283719 -103.314113,64.283729 -103.314558,64.283804 -103.314964,64.283821 -103.315472,64.283893 -103.315552,64.283911 -103.315621,64.283914 -103.316330,64.284015 -103.316732,64.284107 -103.317007,64.284119 -103.318888,64.284400 -103.319450,64.284532 -103.321650,64.284860 -103.326246,64.285706 -103.327567,64.286041 -103.328502,64.286205 -103.328931,64.286312 -103.329601,64.286292 -103.330134,64.286315 -103.332331,64.286251 -103.338656,64.286244 -103.339315,64.286281 -103.340391,64.286256 -103.340966,64.286262 -103.342594,64.286363 -103.344528,64.286341 -103.349895,64.286527 -103.352343,64.286521 -103.356245,64.286471 -103.356365,64.286477 -103.356698,64.286465 -103.361979,64.286412 -103.362989,64.286465 -103.365120,64.286416 -103.365906,64.286424 -103.367631,64.286532 -103.369602,64.286512 -103.371997,64.286599 -103.372630,64.286324 -103.374114,64.285828 -103.374790,64.285632 -103.376080,64.285086 -103.379992,64.283851 -103.381566,64.283406 -103.381815,64.283306 -103.382722,64.283050 -103.382843,64.283031 -103.383089,64.282932 -103.383936,64.282697 -103.384280,64.282642 -103.384733,64.282497 -103.385108,64.282442 -103.385580,64.282261 -103.385938,64.282189 -103.386402,64.282044 -103.389875,64.281261 -103.393423,64.280549 -103.394575,64.280404 -103.397046,64.279907 -103.399565,64.279519 -103.402327,64.279230 -103.403827,64.278969 -103.406869,64.278650 -103.409492,64.278438 -103.410344,64.278304 -103.414619,64.277992 -103.415329,64.278006 -103.416066,64.277897 -103.416773,64.277884 -103.417475,64.277815 -103.418068,64.277832 -103.418472,64.277772 -103.418677,64.277769 -103.418846,64.277745 -103.419843,64.277702 -103.421010,64.277743 -103.427504,64.277669 -103.429085,64.277724 -103.432215,64.277775 -103.435459,64.277986 -103.435584,64.277815 -103.436230,64.277047 -103.436451,64.276872 -103.436742,64.276518 -103.437201,64.276151 -103.438075,64.275088 -103.440621,64.272656 -103.442096,64.271585 -103.442854,64.270805 -103.443287,64.270491 -103.443640,64.270123 -103.444830,64.269239 -103.446021,64.268468 -103.446223,64.268274 -103.447683,64.267328 -103.449350,64.266649 -103.450451,64.265729 -103.451729,64.265068 -103.451935,64.264993 -103.453042,64.264421 -103.454519,64.263726 -103.455240,64.263474 -103.455457,64.263363 -103.456567,64.262852 -103.457812,64.262423 -103.459756,64.261526 -103.463135,64.260261 -103.465359,64.259573 -103.466237,64.259204 -103.467443,64.258830 -103.467607,64.258785 -103.468095,64.258581 -103.469158,64.258256 -103.470521,64.257876 -103.470691,64.257809 -103.471868,64.257481 -103.472041,64.257453 -103.472266,64.257391 -103.472444,64.257364 -103.472543,64.257333 -103.473029,64.257144 -103.476894,64.256130 -103.477207,64.256082 -103.477243,64.256072 -103.477262,64.256066 -103.477506,64.255973 -103.477657,64.255942 -103.477812,64.255894 -103.478115,64.255827 -103.478299,64.255776 -103.478824,64.255672 -103.478916,64.255652 -103.479251,64.255549 -103.479653,64.255489 -103.480716,64.255256 -103.481154,64.255097 -103.485992,64.254014 -103.486180,64.253942 -103.486477,64.253882 -103.486648,64.253833 -103.486962,64.253735 -103.487115,64.253701 -103.487380,64.253626 -103.488083,64.253486 -103.488226,64.253455 -103.488285,64.253436 -103.488359,64.253425 -103.488459,64.253403 -103.488830,64.253291 -103.489234,64.253231 -103.489622,64.253145 -103.489735,64.253102 -103.490286,64.252998 -103.490661,64.252915 -103.490913,64.252825 -103.491257,64.252752 -103.491432,64.252728 -103.491731,64.252622 -103.492636,64.252433 -103.492931,64.252394 -103.493587,64.252254 -103.494209,64.252172 -103.496307,64.251724 -103.500659,64.250954 -103.502802,64.250707 -103.504144,64.250436 -103.504947,64.250312 -103.505559,64.250247 -103.505750,64.250213 -103.507149,64.250051 -103.507913,64.249985 -103.509181,64.249763 -103.509931,64.249684 -103.510793,64.249614 -103.511044,64.249571 -103.511110,64.249560 -103.511117,64.249559 -103.511305,64.249528 -103.512119,64.249451 -103.512137,64.249452 -103.512251,64.249440 -103.514922,64.249221 -103.515741,64.249093 -103.524277,64.248468 -103.524955,64.248481 -103.525656,64.248377 -103.526366,64.248363 -103.527054,64.248295 -103.527645,64.248311 -103.528044,64.248251 -103.528285,64.248249 -103.528471,64.248222 -103.529461,64.248179 -103.530544,64.248216 -103.530608,64.248207 -103.531106,64.248194 -103.531626,64.248126 -103.533874,64.248070 -103.534675,64.248106 -103.537155,64.248044 -103.537971,64.248051 -103.539537,64.248147 -103.541424,64.248122 -103.542743,64.248165 -103.543139,64.248018 -103.545212,64.247537 -103.546775,64.246954 -103.548980,64.246272 -103.549818,64.245919 -103.551021,64.245547 -103.551194,64.245498 -103.551663,64.245302 -103.552307,64.245106 -103.553418,64.244509 -103.553979,64.244300 -103.554153,64.244210 -103.554255,64.244125 -103.555061,64.243707 -103.555276,64.243628 -103.556400,64.243046 -103.557341,64.242603 -103.557984,64.242378 -103.558213,64.242261 -103.558253,64.242243 -103.558363,64.242205 -103.558369,64.242202 -103.559410,64.241722 -103.560632,64.241300 -103.561528,64.240887 -103.561615,64.240855 -103.562656,64.240375 -103.567108,64.238713 -103.573825,64.236197 -103.576035,64.235512 -103.576888,64.235152 -103.578093,64.234778 -103.578268,64.234729 -103.578746,64.234529 -103.580150,64.234099 -103.581492,64.233724 -103.581655,64.233659 -103.583181,64.233233 -103.585007,64.232940 -103.586476,64.232401 -103.588246,64.232000 -103.588505,64.231964 -103.590037,64.231616 -103.591180,64.231385 -103.591662,64.231324 -103.592466,64.231159 -103.593472,64.231029 -103.595865,64.230537 -103.602915,64.229402 -103.604840,64.229192 -103.605799,64.229081 -103.607364,64.228803 -103.609066,64.228618 -103.610193,64.228418 -103.611595,64.228263 -103.610564,64.225339 -103.610582,64.225183 -103.610460,64.225028 -103.610436,64.224773 -103.610322,64.224558 -103.610364,64.224264 -103.610208,64.224067 -103.610204,64.224000 -103.610151,64.223929 -103.610036,64.223439 -103.610132,64.222908 -103.610129,64.222869 -103.609834,64.222449 -103.609338,64.219222 -103.609386,64.219006 -103.609360,64.218969 -103.609265,64.218299 -103.609336,64.217985 -103.609187,64.216938 -103.609208,64.216174 -103.609446,64.215409 -103.609378,64.214449 -103.609959,64.211039 -103.610407,64.209874 -103.610425,64.209356 -103.610431,64.209339 -103.610431,64.209338 -103.610592,64.208884 -103.610625,64.208816 -103.610631,64.208450 -103.611661,64.205505 -103.612047,64.204693 -103.612059,64.204539 -103.612287,64.204061 -103.612349,64.204001 -103.612363,64.203840 -103.612542,64.203479 -103.612686,64.203342 -103.612735,64.203246 -103.612756,64.203184 -103.612779,64.202968 -103.613540,64.201538 -103.614205,64.199435 -103.614522,64.198744 -103.614530,64.198504 -103.615482,64.196009 -103.615839,64.195284 -103.615849,64.195170 -103.616063,64.194734 -103.616090,64.194708 -103.616101,64.194580 -103.617539,64.191612 -103.617728,64.191167 -103.617579,64.190870 -103.617272,64.190526 -103.617037,64.190057 -103.616885,64.189886 -103.615708,64.187559 -103.615439,64.186901 -103.615370,64.186819 -103.615067,64.186077 -103.615087,64.185854 -103.614813,64.185350 -103.614798,64.185331 -103.614797,64.185321 -103.614792,64.185312 -103.614795,64.185292 -103.614795,64.185291 -103.614780,64.185272 -103.614466,64.184251 -103.614471,64.184212 -103.614468,64.184174 -103.614268,64.182999 -103.614188,64.182886 -103.613995,64.181716 -103.614043,64.181490 -103.613886,64.180544 -103.613832,64.177797 -103.614027,64.177118 -103.614015,64.177040 -103.614011,64.176396 -103.614165,64.175872 -103.614158,64.175343 -103.614342,64.174702 -103.614363,64.174654 -103.614338,64.174181 -103.614374,64.174006 -103.614373,64.173939 -103.614417,64.173796 -103.614444,64.173662 -103.614497,64.173531 -103.614532,64.173412 -103.614640,64.173174 -103.614892,64.172544 -103.614911,64.172118 -103.615377,64.170955 -103.615865,64.169982 -103.615889,64.169762 -103.618195,64.165491 -103.618410,64.165292 -103.618431,64.165234 -103.618460,64.165027 -103.618545,64.164925 -103.618593,64.164795 -103.619237,64.163883 -103.619262,64.163754 -103.619832,64.162957 -103.619946,64.162860 -103.620443,64.162165 -103.621072,64.161408 -103.621286,64.161236 -103.621563,64.160894 -103.622010,64.160533 -103.622869,64.159473 -103.623774,64.158594 -103.625248,64.156648 -103.625612,64.156346 -103.625656,64.156156 -103.625924,64.155820 -103.626070,64.155701 -103.626291,64.155417 -103.626599,64.155164 -103.627352,64.154197 -103.627382,64.154166 -103.627617,64.153618 -103.628024,64.153216 -103.628150,64.152856 -103.628198,64.152407 -103.628467,64.151903 -103.628697,64.151690 -103.628722,64.151622 -103.628753,64.151401 -103.628843,64.151292 -103.628896,64.151149 -103.629155,64.150917 -103.629341,64.150693 -103.629400,64.150379 -103.629943,64.149614 -103.630048,64.149525 -103.630524,64.148854 -103.631114,64.148133 -103.631305,64.147980 -103.631565,64.147655 -103.631964,64.147330 -103.632791,64.146297 -103.635124,64.143983 -103.635995,64.142833 -103.637618,64.140180 -103.637664,64.140138 -103.637727,64.140065 -103.637972,64.139722 -103.638022,64.139599 -103.638128,64.139504 -103.638453,64.139050 -103.638454,64.139043 -103.638474,64.139021 -103.638817,64.138542 -103.638844,64.138510 -103.638877,64.138357 -103.639309,64.137801 -103.639417,64.137712 -103.639596,64.137475 -103.639827,64.137284 -103.640497,64.136397 -103.643591,64.133022 -103.645368,64.130344 -103.645576,64.130164 -103.645618,64.130061 -103.645804,64.129894 -103.646523,64.128900 -103.646529,64.128892 -103.646576,64.128687 -103.649238,64.125339 -103.649296,64.125292 -103.649440,64.125089 -103.650520,64.123763 -103.651203,64.122688 -103.651501,64.122048 -103.651854,64.121707 -103.651968,64.121384 -103.652006,64.121053 -103.652234,64.120641 -103.652403,64.120485 -103.652416,64.120451 -103.652438,64.120286 -103.652505,64.120207 -103.652541,64.120109 -103.652724,64.119944 -103.653273,64.119286 -103.653352,64.118921 -103.654253,64.117747 -103.654527,64.117521 -103.655244,64.116586 -103.656342,64.115420 -103.656976,64.114936 -103.657375,64.114505 -103.658155,64.113905 -103.658748,64.113271 -103.659238,64.112898 -103.659725,64.112372 -103.660032,64.111939 -103.660063,64.111863 -103.660127,64.111806 -103.660620,64.111112 -103.660672,64.111048 -103.660717,64.111012 -103.660812,64.110878 -103.660979,64.110676 -103.661022,64.110485 -103.661524,64.109854 -103.661666,64.109738 -103.661881,64.109460 -103.662182,64.109212 -103.662926,64.108251 -103.665471,64.105590 -103.666084,64.105124 -103.666367,64.104819 -103.666420,64.104779 -103.666449,64.104746 -103.667261,64.104113 -103.667844,64.103492 -103.667909,64.103443 -103.668023,64.103320 -103.668074,64.103281 -103.668523,64.102779 -103.673367,64.098814 -103.674720,64.097890 -103.675061,64.097549 -103.675473,64.097268 -103.675633,64.097107 -103.676009,64.096845 -103.676298,64.096663 -103.676426,64.096535 -103.684138,64.091289 -103.684533,64.091124 -103.684634,64.091059 -103.684693,64.090998 -103.684937,64.090823 -103.685948,64.090175 -103.686014,64.090116 -103.686127,64.090060 -103.686919,64.089552 -103.686952,64.089529 -103.686961,64.089525 -103.687333,64.089286 -103.687824,64.089054 -103.688067,64.088886 -103.688697,64.088642 -103.688759,64.088613 -103.688973,64.088420 -103.689338,64.088252 -103.689535,64.088086 -103.690440,64.087620 -103.690794,64.087490 -103.690862,64.087434 -103.691680,64.087019 -103.692079,64.086873 -103.693497,64.086155 -103.699715,64.083380 -103.700684,64.083049 -103.702110,64.082359 -103.708232,64.079866 -103.713319,64.077601 -103.713517,64.077534 -103.713840,64.077372 -103.716871,64.076050 -103.717719,64.075386 -103.718450,64.074896 -103.718679,64.074657 -103.721461,64.072605 -103.721568,64.072405 -103.721769,64.072218 -103.721788,64.072167 -103.721814,64.071972 -103.721893,64.071876 -103.721937,64.071755 -103.723148,64.070063 -103.724541,64.068399 -103.725170,64.067895 -103.726116,64.066765 -103.727926,64.065112 -103.729379,64.064069 -103.729951,64.063479 -103.732158,64.061894 -103.734547,64.060358 -103.734795,64.060228 -103.734915,64.060152 -103.735170,64.060031 -103.735336,64.059944 -103.735506,64.059826 -103.735721,64.059742 -103.736500,64.059333 -103.736688,64.059173 -103.742411,64.056154 -103.742622,64.056076 -103.742678,64.056028 -103.743037,64.055840 -103.743338,64.055729 -103.743404,64.055673 -103.744157,64.055286 -103.744472,64.055170 -103.745770,64.054502 -103.746640,64.054102 -103.746782,64.053954 -103.748952,64.052360 -103.749251,64.052024 -103.749523,64.051811 -103.749908,64.051309 -103.751161,64.049992 -103.753552,64.046685 -103.753719,64.046544 -103.753738,64.046447 -103.753911,64.046215 -103.753978,64.046158 -103.754097,64.045994 -103.754246,64.045868 -103.754800,64.045100 -103.755081,64.044770 -103.755081,64.044710 -103.755810,64.042443 -103.756265,64.039705 -103.756703,64.038542 -103.756719,64.038029 -103.756963,64.037382 -103.757016,64.037273 -103.757027,64.036981 -103.757385,64.036075 -103.757648,64.035543 -103.757649,64.035523 -103.757719,64.035350 -103.757722,64.035316 -103.757784,64.035190 -103.757814,64.035118 -103.757826,64.035106 -103.757948,64.034859 -103.758019,64.034791 -103.758131,64.034564 -103.758246,64.034460 -103.758493,64.033772 -103.758499,64.033730 -103.759954,64.031258 -103.759976,64.031239 -103.759976,64.031238 -103.759979,64.031217 -103.759987,64.031207 -103.759991,64.031196 -103.760057,64.031103 -103.760059,64.031085 -103.760123,64.031009 -103.760506,64.030468 -103.760534,64.030397 -103.760593,64.030343 -103.761122,64.029594 -103.761166,64.029541 -103.761203,64.029511 -103.761279,64.029403 -103.761444,64.029202 -103.761485,64.029019 -103.761978,64.028394 -103.762118,64.028279 -103.762325,64.028008 -103.762621,64.027763 -103.763356,64.026804 -103.765879,64.024143 -103.766492,64.023674 -103.766784,64.023356 -103.767607,64.022719 -103.768240,64.022038 -103.768666,64.021713 -103.769119,64.021219 -103.770432,64.020192 -103.771679,64.019357 -103.771925,64.019113 -103.773500,64.018057 -103.774445,64.017661 -103.774476,64.017640 -103.775157,64.017024 -103.775854,64.016693 -103.776144,64.016493 -103.776871,64.016209 -103.777087,64.016107 -103.777294,64.015920 -103.777818,64.015680 -103.778118,64.015432 -103.779268,64.014858 -103.779683,64.014708 -103.779863,64.014612 -103.780826,64.014140 -103.781541,64.013883 -103.783245,64.013047 -103.789401,64.010486 -103.789624,64.010412 -103.789230,64.010010 -103.788672,64.009163 -103.788184,64.008156 -103.787940,64.007880 -103.787609,64.007196 -103.787617,64.007039 -103.787327,64.006702 -103.785802,64.003218 -103.785834,64.002783 -103.785802,64.002725 -103.785446,64.002275 -103.785413,64.002001 -103.785221,64.001645 -103.785243,64.001480 -103.785128,64.001330 -103.784895,64.000488 -103.784924,64.000292 -103.784648,63.998972 -103.784500,63.997534 -103.784627,63.997003 -103.784505,63.995815 -103.784637,63.994593 -103.785060,63.993375 -103.785070,63.992688 -103.785262,63.992135 -103.785266,63.991794 -103.786273,63.988850 -103.786650,63.988041 -103.786661,63.987888 -103.786886,63.987406 -103.786951,63.987342 -103.786965,63.987176 -103.787305,63.986476 -103.787389,63.986396 -103.787395,63.986379 -103.787603,63.986190 -103.787634,63.986161 -103.787693,63.985996 -103.787735,63.985679 -103.787864,63.985520 -103.787950,63.985280 -103.788357,63.984911 -103.788465,63.984778 -103.788541,63.984377 -103.789184,63.983481 -103.789331,63.983356 -103.789879,63.982592 -103.790604,63.981735 -103.790891,63.981506 -103.791198,63.981134 -103.791794,63.980653 -103.792721,63.979531 -103.797016,63.975547 -103.798465,63.974496 -103.799059,63.973878 -103.799527,63.973538 -103.799807,63.973243 -103.800884,63.972447 -103.801973,63.971735 -103.802132,63.971580 -103.803433,63.970729 -103.803617,63.970653 -103.804771,63.969909 -103.804788,63.969894 -103.804827,63.969873 -103.804870,63.969845 -103.804874,63.969843 -103.804877,63.969841 -103.804884,63.969838 -103.804885,63.969838 -103.804889,63.969834 -103.810751,63.966428 -103.816111,63.963167 -103.818580,63.960373 -103.818892,63.960127 -103.818981,63.960007 -103.819271,63.959685 -103.819595,63.959431 -103.819804,63.959199 -103.819945,63.959088 -103.820117,63.958893 -103.820752,63.958392 -103.821052,63.958062 -103.821328,63.957845 -103.821336,63.957840 -103.821570,63.957584 -103.822128,63.956951 -103.826352,63.953424 -103.826998,63.952977 -103.827264,63.952686 -103.832030,63.948942 -103.832190,63.948834 -103.832246,63.948774 -103.837486,63.944713 -103.840447,63.942193 -103.841825,63.941229 -103.842215,63.940832 -103.842304,63.940770 -103.842506,63.940557 -103.846637,63.937484 -103.847733,63.936764 -103.847895,63.936606 -103.848210,63.936399 -103.848286,63.936324 -103.848539,63.936155 -103.848556,63.936148 -103.848602,63.936103 -103.851628,63.934089 -103.854816,63.931362 -103.859332,63.927274 -103.860128,63.926702 -103.860564,63.926209 -103.863672,63.923638 -103.865434,63.921765 -103.865617,63.921623 -103.865824,63.921358 -103.870161,63.916915 -103.873418,63.913130 -103.873582,63.912999 -103.873785,63.912761 -103.874109,63.912502 -103.874427,63.912120 -103.875099,63.911577 -103.876051,63.910436 -103.880919,63.906009 -103.882351,63.904976 -103.882880,63.904427 -103.883352,63.904086 -103.883602,63.903824 -103.884421,63.903223 -103.885467,63.902539 -103.885608,63.902400 -103.886360,63.901909 -103.886552,63.901830 -103.886671,63.901752 -103.886943,63.901492 -103.890213,63.899438 -103.895814,63.895849 -103.896196,63.895692 -103.896682,63.895376 -103.896876,63.895199 -103.897129,63.895075 -103.897218,63.895011 -103.897311,63.894925 -103.901258,63.892575 -103.907977,63.888547 -103.910772,63.886856 -103.910907,63.886801 -103.911122,63.886662 -103.911168,63.886620 -103.911240,63.886585 -103.911351,63.886513 -103.911366,63.886502 -103.911375,63.886497 -103.911388,63.886489 -103.911419,63.886474 -103.911661,63.886345 -103.911744,63.886286 -103.911853,63.886243 -103.912179,63.886070 -103.912246,63.886008 -103.912387,63.885942 -103.912455,63.885881 -103.912958,63.885604 -103.913315,63.885467 -103.913904,63.885154 -103.913916,63.885148 -103.913927,63.885144 -103.913957,63.885128 -103.914199,63.885011 -103.914311,63.884971 -103.914588,63.884739 -103.919100,63.882441 -103.924231,63.879699 -103.924440,63.879620 -103.924539,63.879535 -103.931911,63.875647 -103.932315,63.875496 -103.932750,63.875265 -103.932967,63.875183 -103.934081,63.874592 -103.934835,63.874229 -103.935599,63.873956 -103.935929,63.873784 -103.936060,63.873723 -103.936785,63.873380 -103.938043,63.872934 -103.939953,63.872029 -103.944860,63.870147 -103.949865,63.868054 -103.951029,63.867667 -103.951076,63.867646 -103.952261,63.867243 -103.953473,63.866707 -103.953669,63.866642 -103.956840,63.864898 -103.959957,63.863032 -103.960098,63.862976 -103.960111,63.862967 -103.960112,63.862967 -103.960194,63.862891 -103.960259,63.862860 -103.960313,63.862821 -103.960453,63.862746 -103.960542,63.862689 -103.960743,63.862592 -103.960767,63.862580 -103.960899,63.862486 -103.961074,63.862416 -103.961465,63.862209 -103.961611,63.862079 -103.967869,63.858610 -103.968415,63.858401 -103.968693,63.858251 -103.968704,63.858241 -103.968759,63.858215 -103.969826,63.857641 -103.969959,63.857529 -103.970709,63.857152 -103.971128,63.856999 -103.971289,63.856912 -103.972240,63.856441 -103.972971,63.856176 -103.974673,63.855333 -103.980783,63.852771 -103.981950,63.852383 -103.982011,63.852356 -103.982074,63.852334 -103.982088,63.852327 -103.982262,63.852255 -103.983246,63.851928 -103.984395,63.851420 -103.985590,63.851022 -103.985802,63.850959 -103.986566,63.850623 -103.987694,63.850253 -103.989254,63.849795 -103.989506,63.849690 -103.990748,63.849325 -103.990996,63.849284 -103.991383,63.849170 -103.991420,63.849164 -103.992042,63.848912 -103.997576,63.847378 -103.999396,63.846858 -104.004545,63.843594 -104.004877,63.843459 -104.005243,63.843223 -104.005419,63.843061 -104.005634,63.842956 -104.005855,63.842795 -104.006172,63.842625 -104.006385,63.842488 -104.006801,63.842287 -104.006826,63.842274 -104.007044,63.842120 -104.007308,63.842015 -104.008160,63.841558 -104.008361,63.841384 -104.015127,63.837798 -104.017780,63.836318 -104.019026,63.835278 -104.023488,63.831364 -104.024506,63.830638 -104.024956,63.830141 -104.029676,63.826401 -104.029827,63.826298 -104.029879,63.826241 -104.036356,63.821174 -104.037547,63.820368 -104.037763,63.820151 -104.038146,63.819893 -104.038248,63.819789 -104.038890,63.819349 -104.039136,63.819244 -104.039200,63.819180 -104.039244,63.819150 -104.039424,63.819074 -104.039747,63.818862 -104.039948,63.818709 -104.040028,63.818678 -104.040439,63.818408 -104.040590,63.818269 -104.040712,63.818208 -104.040846,63.818082 -104.046578,63.814587 -104.046717,63.814531 -104.046934,63.814389 -104.046981,63.814345 -104.047055,63.814309 -104.047163,63.814239 -104.047182,63.814225 -104.047194,63.814218 -104.047211,63.814207 -104.047252,63.814187 -104.048023,63.813775 -104.048114,63.813711 -104.048224,63.813668 -104.049712,63.812872 -104.049727,63.812864 -104.049742,63.812859 -104.049776,63.812841 -104.049919,63.812720 -104.050956,63.812189 -104.051388,63.812029 -104.051445,63.811981 -104.052335,63.811532 -104.052921,63.811316 -104.054514,63.810512 -104.063386,63.806662 -104.064904,63.806146 -104.066473,63.805399 -104.072409,63.803107 -104.081709,63.799333 -104.082366,63.799117 -104.082920,63.798852 -104.089502,63.796298 -104.091672,63.795602 -104.092521,63.795232 -104.092858,63.795124 -104.093327,63.794915 -104.102066,63.791968 -104.103138,63.791648 -104.103444,63.791515 -104.113235,63.788375 -104.114626,63.787970 -104.114811,63.787893 -104.115680,63.787641 -104.115855,63.787611 -104.116115,63.787504 -104.116899,63.787281 -104.117124,63.787244 -104.117395,63.787154 -104.117762,63.787096 -104.118179,63.786931 -104.118471,63.786869 -104.118819,63.786755 -104.119529,63.786644 -104.120526,63.786433 -104.121249,63.786164 -104.123720,63.785609 -104.124260,63.785534 -104.126233,63.785090 -104.127857,63.784783 -104.128950,63.784648 -104.129014,63.784635 -104.131761,63.782684 -104.132643,63.782113 -104.132732,63.782026 -104.133733,63.781378 -104.133902,63.781307 -104.135200,63.780454 -104.136349,63.779997 -104.136769,63.779642 -104.136808,63.779623 -104.136994,63.779465 -104.138861,63.778504 -104.139327,63.778331 -104.140803,63.777571 -104.142798,63.776677 -104.144421,63.776115 -104.144598,63.776025 -104.145573,63.775596 -104.146089,63.775419 -104.146785,63.775104 -104.148290,63.774583 -104.149027,63.774359 -104.150239,63.773826 -104.157308,63.771521 -104.158781,63.771088 -104.158997,63.770998 -104.159907,63.770730 -104.160081,63.770701 -104.160359,63.770585 -104.161193,63.770346 -104.161450,63.770303 -104.161758,63.770200 -104.162141,63.770140 -104.162592,63.769961 -104.162906,63.769894 -104.163291,63.769768 -104.164068,63.769646 -104.164717,63.769508 -104.165419,63.769244 -104.167580,63.768748 -104.167985,63.768690 -104.169773,63.768280 -104.171154,63.768007 -104.171919,63.767909 -104.172699,63.767750 -104.174313,63.767539 -104.176862,63.767022 -104.178914,63.766718 -104.180780,63.765821 -104.182660,63.765085 -104.182740,63.765053 -104.182755,63.765048 -104.182891,63.764994 -104.184606,63.764440 -104.184961,63.764324 -104.185997,63.763866 -104.189381,63.762756 -104.192892,63.761720 -104.193053,63.761687 -104.193179,63.761646 -104.193468,63.761601 -104.193516,63.761590 -104.193754,63.761497 -104.198596,63.760266 -104.199016,63.760202 -104.201968,63.759509 -104.205255,63.758829 -104.206633,63.758646 -104.209131,63.758129 -104.211753,63.757722 -104.214395,63.757435 -104.215604,63.757215 -104.219212,63.756822 -104.222754,63.756516 -104.222974,63.756481 -104.232371,63.755841 -104.232531,63.755844 -104.232685,63.755820 -104.233371,63.755805 -104.233655,63.755775 -104.233668,63.755774 -104.233669,63.755774 -104.233848,63.755755 -104.234133,63.755762 -104.234463,63.755753 -104.234675,63.755720 -104.235442,63.755708 -104.235861,63.755647 -104.236688,63.755611 -104.238084,63.755658 -104.240841,63.755586 -104.240889,63.755586 -104.241375,63.755616 -104.243871,63.755577 -104.245935,63.755646 -104.247998,63.755671 -104.253557,63.756010 -104.255137,63.756029 -104.258686,63.756345 -104.259454,63.756496 -104.259898,63.756526 -104.260660,63.756543 -104.261046,63.756602 -104.261647,63.756642 -104.267718,63.757544 -104.268942,63.757773 -104.270334,63.756596 -104.271647,63.755671 -104.271973,63.755334 -104.272430,63.755011 -104.272585,63.754849 -104.273416,63.754255 -104.274294,63.753684 -104.274382,63.753596 -104.275380,63.752946 -104.277238,63.752170 -104.278315,63.751254 -104.280305,63.750233 -104.280839,63.750035 -104.282379,63.749245 -104.284485,63.748312 -104.286375,63.747660 -104.286548,63.747572 -104.287432,63.747188 -104.287672,63.747106 -104.288346,63.746800 -104.290108,63.746192 -104.291242,63.745848 -104.292421,63.745336 -104.298392,63.743449 -104.299643,63.743087 -104.299785,63.743028 -104.300596,63.742793 -104.300745,63.742768 -104.300827,63.742744 -104.301032,63.742659 -104.301746,63.742457 -104.301908,63.742430 -104.302095,63.742368 -104.302440,63.742313 -104.302809,63.742166 -104.303058,63.742113 -104.303340,63.742020 -104.308097,63.740937 -104.312990,63.739992 -104.315485,63.739676 -104.318019,63.739186 -104.321405,63.738750 -104.322446,63.738004 -104.322829,63.737603 -104.323308,63.737260 -104.323491,63.737066 -104.324385,63.736416 -104.325312,63.735807 -104.325414,63.735705 -104.326479,63.735006 -104.326667,63.734927 -104.327549,63.734345 -104.327580,63.734316 -104.327651,63.734278 -104.327712,63.734238 -104.327801,63.734194 -104.327863,63.734149 -104.327969,63.734106 -104.328085,63.734043 -104.328163,63.733972 -104.330015,63.732894 -104.330014,63.732853 -104.330189,63.732314 -104.330187,63.731977 -104.331125,63.729028 -104.331483,63.728215 -104.331491,63.728062 -104.331709,63.727568 -104.331781,63.727496 -104.331792,63.727319 -104.332122,63.726606 -104.332437,63.726294 -104.332490,63.726136 -104.332525,63.725823 -104.332648,63.725665 -104.332727,63.725431 -104.333115,63.725068 -104.333367,63.724745 -104.333447,63.724310 -104.334246,63.723201 -104.334476,63.723002 -104.335123,63.722102 -104.336059,63.721039 -104.336552,63.720644 -104.336893,63.720247 -104.337772,63.719535 -104.338373,63.718860 -104.338395,63.718813 -104.338400,63.718516 -104.338638,63.717877 -104.338761,63.717615 -104.338861,63.717342 -104.338951,63.717147 -104.338953,63.717127 -104.339076,63.716864 -104.339089,63.716851 -104.339282,63.716437 -104.339301,63.716194 -104.340750,63.713265 -104.340984,63.713037 -104.341010,63.712960 -104.341036,63.712725 -104.341127,63.712609 -104.341179,63.712456 -104.341378,63.712157 -104.341385,63.712095 -104.341530,63.711916 -104.341580,63.711775 -104.341722,63.711642 -104.341943,63.711311 -104.341970,63.711135 -104.345824,63.705226 -104.348272,63.701328 -104.348273,63.699793 -104.348161,63.698960 -104.348213,63.698712 -104.348209,63.698695 -104.348132,63.698105 -104.348233,63.697627 -104.348080,63.696464 -104.348155,63.695369 -104.348540,63.694139 -104.348532,63.693384 -104.348598,63.693175 -104.348589,63.692842 -104.349651,63.688986 -104.349978,63.688205 -104.349980,63.687931 -104.350848,63.685437 -104.351179,63.684709 -104.351186,63.684595 -104.351392,63.684142 -104.351467,63.684067 -104.351478,63.683909 -104.351782,63.683275 -104.352056,63.683005 -104.352094,63.682892 -104.352125,63.682617 -104.352232,63.682480 -104.352296,63.682288 -104.353477,63.680560 -104.354844,63.678862 -104.355480,63.678333 -104.356398,63.677193 -104.358156,63.675538 -104.359562,63.674496 -104.360092,63.673927 -104.362202,63.672362 -104.364486,63.670843 -104.364729,63.670711 -104.364834,63.670643 -104.365064,63.670530 -104.365279,63.670414 -104.365441,63.670297 -104.365650,63.670213 -104.366469,63.669769 -104.366655,63.669605 -104.369456,63.668084 -104.369626,63.668018 -104.369667,63.667982 -104.370000,63.667803 -104.370250,63.667707 -104.370296,63.667667 -104.370994,63.667295 -104.371293,63.667181 -104.372543,63.666514 -104.380257,63.662839 -104.381118,63.662530 -104.381613,63.662271 -104.382141,63.662028 -104.382615,63.661861 -104.382782,63.661784 -104.382996,63.661399 -104.383022,63.661374 -104.383023,63.661373 -104.383026,63.661346 -104.383036,63.661334 -104.383040,63.661320 -104.383604,63.660483 -104.383622,63.660372 -104.384171,63.659558 -104.384285,63.659457 -104.384763,63.658749 -104.385343,63.658013 -104.385545,63.657844 -104.385774,63.657544 -104.386201,63.657182 -104.387015,63.656119 -104.389415,63.653667 -104.390673,63.652700 -104.390834,63.652571 -104.391547,63.651788 -104.392046,63.651405 -104.392393,63.651020 -104.393567,63.650102 -104.394692,63.649334 -104.394875,63.649147 -104.396247,63.648211 -104.397092,63.647849 -104.397683,63.647293 -104.398292,63.646994 -104.398560,63.646802 -104.399244,63.646526 -104.399340,63.646479 -104.399541,63.646290 -104.399822,63.646157 -104.398100,63.645576 -104.397801,63.645428 -104.397216,63.645191 -104.396959,63.645137 -104.396920,63.645123 -104.396681,63.645069 -104.395211,63.644529 -104.394982,63.644410 -104.393538,63.643879 -104.392146,63.643309 -104.391300,63.642847 -104.390970,63.642724 -104.389772,63.642219 -104.388896,63.641734 -104.388071,63.641383 -104.387525,63.641085 -104.386334,63.640583 -104.385723,63.640255 -104.384647,63.639578 -104.384058,63.639319 -104.381206,63.637643 -104.380787,63.637367 -104.380678,63.637303 -104.380109,63.636929 -104.379903,63.636833 -104.379484,63.636558 -104.379464,63.636534 -104.379368,63.636490 -104.378475,63.635902 -104.378376,63.635788 -104.378160,63.635646 -104.378122,63.635599 -104.377713,63.635404 -104.373971,63.632778 -104.373793,63.632566 -104.373429,63.632387 -104.372933,63.631928 -104.372475,63.631643 -104.372036,63.631098 -104.371890,63.630963 -104.371439,63.630742 -104.371393,63.630697 -104.371108,63.630547 -104.370073,63.629646 -104.369742,63.629186 -104.369160,63.628698 -104.368254,63.627832 -104.367812,63.627177 -104.367568,63.626936 -104.366629,63.626039 -104.366187,63.625467 -104.365726,63.624625 -104.365232,63.624120 -104.363126,63.620861 -104.362659,63.619903 -104.362452,63.619670 -104.362004,63.618750 -104.362010,63.618571 -104.361957,63.618462 -104.361967,63.618371 -104.361879,63.618220 -104.361591,63.617874 -104.361101,63.616598 -104.361118,63.616403 -104.361099,63.616371 -104.360954,63.616190 -104.360942,63.616092 -104.360865,63.615954 -104.360894,63.615695 -104.360866,63.615474 -104.360644,63.615177 -104.360460,63.614399 -104.360475,63.614304 -104.360312,63.613618 -104.359795,63.609941 -104.359907,63.609399 -104.359827,63.609013 -104.359758,63.608137 -104.359912,63.607485 -104.359888,63.607093 -104.359922,63.606929 -104.359854,63.606069 -104.360137,63.604423 -104.360546,63.603301 -104.360553,63.602871 -104.360965,63.601742 -104.361388,63.600828 -104.361407,63.600589 -104.362855,63.597652 -104.363084,63.597428 -104.363109,63.597355 -104.363134,63.597124 -104.363223,63.597011 -104.363273,63.596860 -104.364131,63.595569 -104.364154,63.595446 -104.364963,63.594319 -104.365201,63.594112 -104.365854,63.593203 -104.366801,63.592126 -104.367311,63.591716 -104.367648,63.591324 -104.368506,63.590628 -104.369140,63.589912 -104.369273,63.589805 -104.369703,63.589303 -104.374944,63.584877 -104.375054,63.584799 -104.375100,63.584746 -104.380232,63.580456 -104.384867,63.576179 -104.389335,63.571099 -104.389935,63.570617 -104.390394,63.570092 -104.391129,63.569499 -104.391668,63.568888 -104.392117,63.568528 -104.392602,63.567972 -104.393187,63.567492 -104.394412,63.566636 -104.394662,63.566377 -104.394819,63.566268 -104.395216,63.565847 -104.397160,63.564443 -104.399315,63.562269 -104.399928,63.561799 -104.400382,63.561240 -104.405559,63.556469 -104.408745,63.553471 -104.412612,63.549687 -104.416072,63.545862 -104.418349,63.542877 -104.421039,63.538355 -104.421200,63.538205 -104.421252,63.538068 -104.421387,63.537940 -104.421652,63.537547 -104.421655,63.537520 -104.421729,63.537433 -104.422063,63.536939 -104.422096,63.536763 -104.422500,63.536216 -104.422605,63.536125 -104.422747,63.535927 -104.422978,63.535725 -104.423623,63.534820 -104.427749,63.530092 -104.432499,63.524452 -104.433242,63.523843 -104.433689,63.523237 -104.434051,63.522847 -104.434705,63.522330 -104.434889,63.522119 -104.435050,63.521987 -104.435160,63.521866 -104.435384,63.521688 -104.435851,63.521146 -104.436295,63.520775 -104.437123,63.520190 -104.437721,63.519531 -104.441158,63.516885 -104.442218,63.516164 -104.442371,63.516008 -104.442743,63.515755 -104.442817,63.515679 -104.443404,63.515276 -104.443586,63.515197 -104.443632,63.515150 -104.443638,63.515146 -104.443880,63.515043 -104.444245,63.514760 -104.444527,63.514646 -104.444832,63.514357 -104.445673,63.513929 -104.446337,63.513450 -104.447015,63.513175 -104.447221,63.512980 -104.447687,63.512756 -104.447917,63.512555 -104.448802,63.512084 -104.449118,63.511964 -104.449160,63.511927 -104.449942,63.511515 -104.450377,63.511350 -104.451804,63.510600 -104.458380,63.507573 -104.459580,63.507148 -104.459617,63.507128 -104.460566,63.506693 -104.461485,63.506368 -104.462355,63.505966 -104.463531,63.505549 -104.463728,63.505488 -104.464754,63.505017 -104.466664,63.504352 -104.468357,63.503832 -104.468687,63.503690 -104.470752,63.503056 -104.470980,63.503015 -104.472817,63.502467 -104.472860,63.502450 -104.472927,63.502434 -104.472955,63.502426 -104.473054,63.502405 -104.473416,63.502321 -104.473623,63.502254 -104.473903,63.502209 -104.474615,63.502044 -104.474960,63.501909 -104.479656,63.500751 -104.480822,63.499630 -104.482219,63.498578 -104.482766,63.497983 -104.483177,63.497674 -104.483188,63.497661 -104.483241,63.497620 -104.483290,63.497587 -104.483549,63.497302 -104.484177,63.496824 -104.485203,63.496128 -104.485343,63.495986 -104.485732,63.495722 -104.485928,63.495521 -104.492693,63.490897 -104.492964,63.490780 -104.493951,63.490117 -104.494045,63.490027 -104.494206,63.489945 -104.494635,63.489657 -104.494721,63.489593 -104.494777,63.489562 -104.495007,63.489407 -104.495189,63.489333 -104.495931,63.488922 -104.496085,63.488783 -104.497193,63.488169 -104.497356,63.488106 -104.498330,63.487566 -104.499527,63.486957 -104.500014,63.486775 -104.500134,63.486710 -104.501085,63.486232 -104.501965,63.485905 -104.503718,63.485024 -104.512941,63.481163 -104.515147,63.480417 -104.516270,63.479909 -104.517517,63.479488 -104.517769,63.479411 -104.518420,63.479120 -104.520013,63.478592 -104.521429,63.478168 -104.521628,63.478083 -104.523268,63.477592 -104.523500,63.477551 -104.524898,63.477133 -104.524934,63.477118 -104.524991,63.477105 -104.525015,63.477098 -104.525102,63.477079 -104.525455,63.476997 -104.525654,63.476932 -104.525923,63.476889 -104.526597,63.476733 -104.526930,63.476602 -104.532124,63.475312 -104.534353,63.474731 -104.533833,63.473685 -104.533846,63.473191 -104.533674,63.472884 -104.533312,63.472435 -104.533270,63.472163 -104.533023,63.471723 -104.533033,63.471631 -104.532966,63.471547 -104.532700,63.470705 -104.532701,63.470691 -104.532692,63.470679 -104.532675,63.470627 -104.532695,63.470459 -104.532676,63.470292 -104.532529,63.470095 -104.532523,63.470073 -104.532529,63.470038 -104.532508,63.470011 -104.532340,63.469312 -104.532354,63.469216 -104.532189,63.468527 -104.531656,63.464850 -104.531688,63.464691 -104.531572,63.464160 -104.531140,63.459803 -104.531220,63.459444 -104.531191,63.459227 -104.531297,63.458715 -104.531143,63.457537 -104.531210,63.456617 -104.531590,63.455393 -104.531580,63.454681 -104.531701,63.454292 -104.531693,63.453954 -104.533601,63.447375 -104.533962,63.446515 -104.533970,63.446336 -104.534189,63.445813 -104.534264,63.445736 -104.534274,63.445539 -104.534499,63.445032 -104.534574,63.444955 -104.534917,63.444209 -104.534919,63.444188 -104.534938,63.444163 -104.534985,63.444060 -104.534995,63.443960 -104.537738,63.438774 -104.537825,63.438689 -104.537828,63.438679 -104.537838,63.438589 -104.537872,63.438546 -104.537888,63.438496 -104.537983,63.438352 -104.537986,63.438322 -104.538085,63.438197 -104.538365,63.437774 -104.538402,63.437673 -104.538482,63.437596 -104.538941,63.436902 -104.539005,63.436820 -104.539061,63.436772 -104.539062,63.436770 -104.539079,63.436668 -104.539084,63.436662 -104.539199,63.436560 -104.539234,63.436374 -104.539626,63.435837 -104.539727,63.435749 -104.539858,63.435562 -104.540083,63.435365 -104.540715,63.434467 -104.542827,63.432014 -104.543734,63.430100 -104.543868,63.429967 -104.544032,63.429609 -104.544044,63.429497 -104.544111,63.429410 -104.544118,63.429335 -104.546861,63.424148 -104.546946,63.424066 -104.546949,63.424056 -104.546958,63.423968 -104.546991,63.423926 -104.547007,63.423878 -104.547105,63.423730 -104.547108,63.423700 -104.547193,63.423593 -104.547225,63.423498 -104.547314,63.423413 -104.547443,63.423218 -104.547459,63.423094 -104.550736,63.417686 -104.550997,63.417445 -104.551089,63.417307 -104.551097,63.417227 -104.551320,63.416960 -104.551344,63.416817 -104.551371,63.416778 -104.551486,63.416676 -104.551516,63.416504 -104.551850,63.416036 -104.551928,63.415968 -104.552030,63.415819 -104.552207,63.415662 -104.552779,63.414830 -104.557039,63.409686 -104.557622,63.409202 -104.557977,63.408709 -104.558328,63.408316 -104.558960,63.407808 -104.559291,63.407430 -104.559692,63.407104 -104.559842,63.406979 -104.560392,63.406334 -104.560746,63.406035 -104.561126,63.405764 -104.561587,63.405237 -104.567308,63.400589 -104.568474,63.399773 -104.568688,63.399550 -104.569126,63.399243 -104.569230,63.399134 -104.569921,63.398646 -104.570374,63.398447 -104.570856,63.398068 -104.571171,63.397940 -104.571548,63.397579 -104.571884,63.397406 -104.572361,63.397046 -104.573187,63.396708 -104.573624,63.396316 -104.574927,63.395601 -104.575154,63.395512 -104.576269,63.394900 -104.577650,63.394215 -104.578336,63.393961 -104.578454,63.393897 -104.579460,63.393403 -104.580711,63.392943 -104.582574,63.392030 -104.587425,63.390105 -104.589002,63.389585 -104.589869,63.389178 -104.595765,63.387044 -104.597579,63.386473 -104.597998,63.386290 -104.599097,63.385944 -104.599285,63.385910 -104.599697,63.385732 -104.600794,63.385395 -104.601201,63.385323 -104.601651,63.385168 -104.601861,63.385133 -104.602399,63.384974 -104.602748,63.384831 -104.603150,63.384742 -104.603725,63.384549 -104.604227,63.384432 -104.604242,63.384428 -104.604255,63.384425 -104.605740,63.384079 -104.606009,63.383975 -104.607800,63.383541 -104.607941,63.383520 -104.607969,63.383488 -104.610784,63.381218 -104.611643,63.379886 -104.612052,63.379513 -104.612281,63.379173 -104.612335,63.378872 -104.616712,63.372808 -104.616815,63.372718 -104.616927,63.372544 -104.617134,63.372264 -104.617261,63.372154 -104.617417,63.371937 -104.617696,63.371692 -104.618382,63.370732 -104.621107,63.367669 -104.620228,63.366280 -104.619230,63.365227 -104.618375,63.363790 -104.617988,63.362957 -104.617853,63.362804 -104.617391,63.361811 -104.617403,63.361501 -104.617084,63.360930 -104.616990,63.360814 -104.616982,63.360748 -104.616950,63.360691 -104.616962,63.360576 -104.616960,63.360559 -104.616871,63.360446 -104.615447,63.355837 -104.615454,63.355775 -104.615435,63.355740 -104.615461,63.355487 -104.615455,63.355436 -104.615333,63.355285 -104.615307,63.354990 -104.615174,63.354811 -104.615160,63.354750 -104.615129,63.354712 -104.615028,63.354616 -104.614605,63.354401 -104.613128,63.353211 -104.612736,63.352698 -104.610132,63.350193 -104.609867,63.349846 -104.608804,63.348662 -104.607601,63.346687 -104.606834,63.345834 -104.605878,63.343942 -104.605889,63.343456 -104.605647,63.343029 -104.605327,63.342632 -104.605290,63.342399 -104.605051,63.341977 -104.605118,63.341312 -104.605095,63.341167 -104.604705,63.340620 -104.604471,63.339258 -104.604529,63.338942 -104.604348,63.337893 -104.604343,63.337162 -104.604540,63.336422 -104.604443,63.335491 -104.604511,63.334958 -104.604479,63.332592 -104.604659,63.331912 -104.604647,63.331479 -104.604788,63.330931 -104.604765,63.330306 -104.604850,63.329981 -104.604825,63.329708 -104.604877,63.329355 -104.604916,63.329244 -104.604914,63.328898 -104.605119,63.328134 -104.605023,63.327194 -104.605505,63.323547 -104.605898,63.322382 -104.605897,63.321870 -104.606122,63.321203 -104.606184,63.321062 -104.606188,63.320762 -104.606610,63.319589 -104.606906,63.318935 -104.606910,63.318848 -104.607245,63.318110 -104.607571,63.317779 -104.607612,63.317376 -104.608778,63.315625 -104.610133,63.313905 -104.610775,63.313360 -104.611677,63.312214 -104.613404,63.310561 -104.614781,63.309521 -104.615285,63.308967 -104.617334,63.307418 -104.619551,63.305913 -104.620037,63.305714 -104.620673,63.304683 -104.623767,63.299187 -104.623878,63.299080 -104.624266,63.298589 -104.624311,63.298308 -104.624963,63.297346 -104.625125,63.297201 -104.625673,63.296392 -104.626386,63.295513 -104.626692,63.295256 -104.626957,63.294919 -104.627602,63.294371 -104.628505,63.293224 -104.631990,63.289888 -104.632345,63.289619 -104.632557,63.289358 -104.632813,63.289123 -104.631856,63.288609 -104.630466,63.287734 -104.629927,63.287488 -104.628096,63.286335 -104.627558,63.285740 -104.626363,63.285151 -104.622888,63.281878 -104.620157,63.278484 -104.618168,63.274968 -104.617741,63.271346 -104.618103,63.267739 -104.619253,63.264149 -104.621935,63.260728 -104.625332,63.257458 -104.629442,63.254339 -104.634823,63.251641 -104.640735,63.249205 -104.647179,63.247031 -104.654438,63.245466 -104.661966,63.244234 -104.669763,63.243336 -104.675922,63.243122 -104.682081,63.243118 -104.685903,63.243325 -104.688241,63.243323 -104.745218,63.247165 -104.746819,63.247307 -104.747068,63.247309 -104.748909,63.247472 -104.749730,63.247634 -104.750742,63.247654 -104.758336,63.248855 -104.765598,63.250378 -104.772528,63.252224 -104.778527,63.254642 -104.783946,63.257302 -104.788785,63.260201 -104.792276,63.263470 -104.795027,63.266861 -104.797036,63.270374 -104.796983,63.270935 -104.797323,63.271393 -104.797548,63.272414 -104.797521,63.272584 -104.797709,63.273439 -104.797867,63.275087 -104.797706,63.275825 -104.797756,63.276076 -104.797795,63.276829 -104.797683,63.277295 -104.797708,63.277691 -104.797571,63.278321 -104.797530,63.278428 -104.797573,63.279238 -104.797396,63.279980 -104.797317,63.280389 -104.796932,63.281443 -104.796929,63.281779 -104.796424,63.283161 -104.796125,63.283482 -104.795809,63.284476 -104.795803,63.284534 -104.795782,63.284562 -104.795773,63.284590 -104.795721,63.284640 -104.795717,63.284644 -104.795712,63.284701 -104.793082,63.289436 -104.793037,63.289480 -104.793013,63.289552 -104.792901,63.289660 -104.792807,63.289805 -104.792790,63.289946 -104.790346,63.294068 -104.788673,63.298183 -104.788495,63.298369 -104.788347,63.298703 -104.788332,63.298967 -104.786245,63.303488 -104.785993,63.303743 -104.785962,63.303842 -104.785937,63.304102 -104.785839,63.304231 -104.785783,63.304409 -104.785213,63.305298 -104.785193,63.305443 -104.784734,63.306163 -104.784649,63.306240 -104.784243,63.306878 -104.783795,63.307486 -104.783664,63.307601 -104.783509,63.307819 -104.783221,63.308073 -104.782531,63.309045 -104.779562,63.312391 -104.779263,63.312634 -104.779086,63.312836 -104.778786,63.313080 -104.778673,63.313212 -104.778373,63.313459 -104.778171,63.313694 -104.777709,63.314075 -104.777343,63.314497 -104.777067,63.314721 -104.776848,63.314973 -104.776634,63.315148 -104.776420,63.315396 -104.776179,63.315595 -104.775957,63.315854 -104.771415,63.319625 -104.770234,63.320465 -104.770006,63.320706 -104.769859,63.320811 -104.769735,63.320945 -104.765547,63.324064 -104.763371,63.325869 -104.760174,63.329208 -104.759761,63.329655 -104.760446,63.330940 -104.762607,63.333667 -104.762796,63.334003 -104.762967,63.334169 -104.763235,63.334524 -104.763596,63.335188 -104.763735,63.335337 -104.763837,63.335517 -104.763933,63.335729 -104.764340,63.336156 -104.765604,63.338250 -104.766002,63.339092 -104.766142,63.339250 -104.766552,63.340119 -104.766548,63.340248 -104.766555,63.340263 -104.766544,63.340382 -104.766543,63.340388 -104.766766,63.340772 -104.766919,63.340958 -104.767363,63.342157 -104.767355,63.342259 -104.767362,63.342271 -104.767437,63.342364 -104.767444,63.342414 -104.767474,63.342468 -104.767684,63.343496 -104.767777,63.343621 -104.768001,63.344639 -104.767974,63.344807 -104.768161,63.345660 -104.768380,63.347948 -104.768294,63.348343 -104.768422,63.349069 -104.768423,63.349132 -104.768502,63.349196 -104.768568,63.349283 -104.769301,63.349879 -104.771127,63.351523 -104.771292,63.351756 -104.772120,63.352460 -104.772509,63.352846 -104.773139,63.353795 -104.773521,63.354172 -104.773528,63.354181 -104.773567,63.354216 -104.774188,63.354880 -104.774251,63.354980 -104.774469,63.355201 -104.775057,63.356087 -104.775335,63.356641 -104.776136,63.357499 -104.777050,63.359121 -104.777384,63.359859 -104.777481,63.359969 -104.777867,63.360822 -104.777851,63.361210 -104.777899,63.361297 -104.778209,63.361679 -104.778239,63.361919 -104.778328,63.362082 -104.778298,63.362398 -104.778319,63.362562 -104.778566,63.362889 -104.779244,63.365650 -104.779184,63.366067 -104.779427,63.367198 -104.779579,63.368947 -104.779382,63.369826 -104.779490,63.371073 -104.779200,63.372778 -104.778811,63.373879 -104.778809,63.374274 -104.778370,63.375512 -104.777875,63.376618 -104.777863,63.376773 -104.775820,63.380837 -104.775681,63.380974 -104.775673,63.381001 -104.775659,63.381145 -104.775605,63.381215 -104.775579,63.381299 -104.774890,63.382361 -104.774871,63.382485 -104.774222,63.383447 -104.774061,63.383593 -104.773516,63.384402 -104.772803,63.385283 -104.772497,63.385541 -104.772232,63.385880 -104.771587,63.386429 -104.770687,63.387577 -104.767204,63.390918 -104.762779,63.395167 -104.760070,63.397860 -104.759820,63.398053 -104.759646,63.398275 -104.758862,63.399026 -104.757955,63.400527 -104.757669,63.400793 -104.757596,63.400903 -104.757589,63.400977 -104.757377,63.401233 -104.757345,63.401282 -104.757322,63.401424 -104.757291,63.401468 -104.757174,63.401572 -104.757142,63.401755 -104.756791,63.402245 -104.756700,63.402326 -104.756583,63.402495 -104.756376,63.402679 -104.755771,63.403557 -104.752757,63.407140 -104.752342,63.407483 -104.752128,63.407756 -104.751490,63.408299 -104.750591,63.409445 -104.747738,63.412186 -104.744771,63.415364 -104.744173,63.415839 -104.744112,63.415909 -104.743286,63.416581 -104.742630,63.417324 -104.742119,63.417729 -104.741748,63.418154 -104.741106,63.418670 -104.739980,63.419457 -104.739789,63.419656 -104.739381,63.419942 -104.739086,63.420252 -104.733468,63.424222 -104.733171,63.424352 -104.732998,63.424483 -104.731984,63.425171 -104.731903,63.425249 -104.731761,63.425323 -104.731194,63.425707 -104.731121,63.425763 -104.731071,63.425791 -104.730774,63.425992 -104.730486,63.426136 -104.730320,63.426260 -104.730007,63.426388 -104.729912,63.426441 -104.729787,63.426561 -104.729524,63.426691 -104.729411,63.426795 -104.728878,63.427097 -104.728739,63.427152 -104.728706,63.427182 -104.728196,63.427469 -104.728052,63.427525 -104.727133,63.428042 -104.721664,63.430874 -104.720453,63.431333 -104.720178,63.431481 -104.720161,63.431496 -104.719963,63.431599 -104.719946,63.431606 -104.719605,63.431789 -104.718885,63.432132 -104.718697,63.432201 -104.718354,63.432385 -104.718103,63.432505 -104.718008,63.432539 -104.717834,63.432630 -104.717501,63.432780 -104.717353,63.432832 -104.717160,63.432933 -104.717080,63.432969 -104.715651,63.433471 -104.714432,63.434052 -104.714341,63.434086 -104.714095,63.434165 -104.713968,63.434225 -104.713607,63.434359 -104.713428,63.434417 -104.713360,63.434448 -104.713067,63.434551 -104.712635,63.434685 -104.712473,63.434760 -104.711494,63.435104 -104.710183,63.435511 -104.709082,63.435996 -104.705252,63.437213 -104.705704,63.437696 -104.705727,63.437733 -104.705839,63.437845 -104.706004,63.438090 -104.706241,63.438351 -104.707049,63.439664 -104.707649,63.440306 -104.707721,63.440433 -104.707889,63.440804 -104.708228,63.441179 -104.709193,63.443071 -104.709185,63.443556 -104.709429,63.443983 -104.709751,63.444379 -104.709789,63.444612 -104.710030,63.445034 -104.710494,63.447322 -104.710640,63.449614 -104.710389,63.450674 -104.710467,63.451911 -104.710055,63.453831 -104.709668,63.454852 -104.709663,63.455153 -104.709165,63.456468 -104.708633,63.457030 -104.708561,63.457774 -104.707487,63.459407 -104.706249,63.461014 -104.705707,63.461477 -104.704844,63.462596 -104.703278,63.464148 -104.701887,63.465213 -104.701300,63.465863 -104.699784,63.467024 -104.698388,63.467975 -104.698026,63.468340 -104.693001,63.471641 -104.692756,63.471746 -104.692245,63.472091 -104.692157,63.472176 -104.692010,63.472250 -104.691815,63.472382 -104.691734,63.472443 -104.691682,63.472472 -104.691571,63.472547 -104.691331,63.472667 -104.690686,63.473025 -104.690562,63.473114 -104.690419,63.473173 -104.689378,63.473750 -104.689301,63.473789 -104.689218,63.473820 -104.688992,63.473946 -104.688753,63.474067 -104.688543,63.474248 -104.687453,63.474814 -104.687056,63.474964 -104.686947,63.475025 -104.686811,63.475095 -104.686903,63.475209 -104.686937,63.475422 -104.687137,63.475772 -104.687080,63.476343 -104.687125,63.476628 -104.687489,63.477134 -104.687729,63.478501 -104.687671,63.478821 -104.687855,63.479872 -104.687861,63.480613 -104.687661,63.481367 -104.687761,63.482305 -104.687267,63.486177 -104.686875,63.487346 -104.686877,63.487865 -104.686654,63.488531 -104.686595,63.488666 -104.686593,63.488968 -104.686172,63.490147 -104.685874,63.490807 -104.685869,63.490896 -104.685532,63.491642 -104.684591,63.492594 -104.684424,63.493559 -104.683601,63.494722 -104.683350,63.494942 -104.682692,63.495873 -104.681728,63.496976 -104.681186,63.497416 -104.680859,63.497799 -104.680045,63.498467 -104.679440,63.499160 -104.679182,63.499370 -104.678748,63.499879 -104.672424,63.505207 -104.671183,63.506090 -104.670914,63.506374 -104.670449,63.506704 -104.670319,63.506843 -104.669692,63.507294 -104.669445,63.507403 -104.669397,63.507453 -104.669311,63.507515 -104.669146,63.507587 -104.668694,63.507894 -104.668516,63.508034 -104.668444,63.508063 -104.668162,63.508254 -104.667874,63.508539 -104.661714,63.512494 -104.661471,63.512595 -104.661214,63.512768 -104.661098,63.512878 -104.660939,63.512958 -104.660790,63.513070 -104.660624,63.513162 -104.660476,63.513261 -104.660268,63.513365 -104.660138,63.513461 -104.659925,63.513548 -104.659614,63.513720 -104.659460,63.513862 -104.653374,63.517358 -104.652771,63.517598 -104.651860,63.518094 -104.651554,63.518362 -104.646994,63.520774 -104.645889,63.521379 -104.645772,63.521524 -104.645120,63.522070 -104.645014,63.522165 -104.644261,63.523099 -104.644175,63.523211 -104.644153,63.523234 -104.644094,63.523306 -104.643915,63.523472 -104.643476,63.523911 -104.642105,63.524964 -104.642006,63.525065 -104.641452,63.525677 -104.640078,63.526733 -104.638911,63.527527 -104.638475,63.527970 -104.635832,63.529746 -104.631847,63.532833 -104.630793,63.533553 -104.630641,63.533709 -104.630266,63.533965 -104.630193,63.534041 -104.629607,63.534445 -104.629428,63.534523 -104.629384,63.534568 -104.629381,63.534570 -104.629140,63.534674 -104.628776,63.534958 -104.628639,63.535013 -104.628367,63.535193 -104.628190,63.535362 -104.627881,63.535520 -104.627482,63.535820 -104.627115,63.536021 -104.627023,63.536082 -104.626824,63.536181 -104.626305,63.536465 -104.626159,63.536571 -104.625978,63.536645 -104.624916,63.537227 -104.624645,63.537362 -104.624431,63.537549 -104.621128,63.539293 -104.620005,63.539721 -104.618917,63.540305 -104.617241,63.541104 -104.616441,63.541393 -104.616374,63.541425 -104.615569,63.541732 -104.615436,63.541775 -104.613683,63.542610 -104.611349,63.543487 -104.609367,63.544120 -104.608794,63.544373 -104.606165,63.545213 -104.605999,63.545244 -104.603509,63.545989 -104.603463,63.546008 -104.603389,63.546025 -104.603359,63.546034 -104.603253,63.546056 -104.602876,63.546144 -104.602662,63.546214 -104.602374,63.546260 -104.601624,63.546434 -104.601269,63.546573 -104.595428,63.548013 -104.594177,63.548202 -104.593223,63.548400 -104.591264,63.548852 -104.587417,63.550800 -104.586177,63.551262 -104.585449,63.551651 -104.584025,63.552321 -104.583223,63.552609 -104.582885,63.552769 -104.581929,63.553125 -104.581777,63.553174 -104.580276,63.553881 -104.578068,63.554691 -104.576162,63.555293 -104.575670,63.555508 -104.573209,63.556285 -104.572945,63.556332 -104.570859,63.556951 -104.570684,63.557022 -104.570388,63.557090 -104.570339,63.557105 -104.570169,63.557141 -104.569292,63.557344 -104.569016,63.557432 -104.568667,63.557488 -104.568134,63.557612 -104.565493,63.561043 -104.565251,63.561248 -104.565039,63.561561 -104.564747,63.561923 -104.564473,63.562151 -104.564209,63.562487 -104.563634,63.562974 -104.562749,63.564101 -104.559092,63.567651 -104.555938,63.570977 -104.555909,63.570999 -104.555882,63.571036 -104.552897,63.574166 -104.552254,63.574667 -104.551725,63.575331 -104.547939,63.578907 -104.546311,63.580707 -104.545933,63.581009 -104.545535,63.581533 -104.543592,63.583524 -104.543010,63.584173 -104.541248,63.586530 -104.541740,63.586650 -104.542954,63.586860 -104.543821,63.587071 -104.545266,63.587317 -104.550747,63.588609 -104.551126,63.588715 -104.551364,63.588756 -104.558820,63.590555 -104.559046,63.590619 -104.559106,63.590633 -104.560783,63.591105 -104.561305,63.591205 -104.561534,63.591270 -104.561547,63.591275 -104.561660,63.591297 -104.562418,63.591510 -104.562713,63.591566 -104.568165,63.593087 -104.568542,63.593258 -104.569034,63.593353 -104.570557,63.593799 -104.570680,63.593856 -104.570757,63.593872 -104.571260,63.594066 -104.571893,63.594233 -104.572177,63.594292 -104.575268,63.595289 -104.581238,63.596907 -104.582569,63.597304 -104.582782,63.597346 -104.583949,63.597694 -104.584059,63.597745 -104.584387,63.597811 -104.587010,63.598608 -104.588567,63.599005 -104.590220,63.599485 -104.590592,63.599557 -104.591785,63.599903 -104.591895,63.599954 -104.592073,63.600006 -104.592318,63.600054 -104.593944,63.600536 -104.594403,63.600750 -104.595208,63.600965 -104.595544,63.601036 -104.595692,63.601095 -104.595841,63.601135 -104.596069,63.601246 -104.596118,63.601265 -104.596435,63.601333 -104.599371,63.602332 -104.599824,63.602557 -104.600016,63.602634 -104.600244,63.602682 -104.600404,63.602740 -104.600658,63.602797 -104.602048,63.603308 -104.602293,63.603434 -104.603772,63.603977 -104.605121,63.604530 -104.605627,63.604805 -104.606382,63.605111 -104.607359,63.605640 -104.609407,63.606468 -104.611337,63.607429 -104.612925,63.608384 -104.613181,63.608498 -104.614014,63.608858 -104.614939,63.609384 -104.616100,63.610134 -104.616414,63.610278 -104.617136,63.610744 -104.617217,63.610835 -104.617572,63.611000 -104.619962,63.612582 -104.620306,63.612975 -104.621033,63.613329 -104.621535,63.613782 -104.622151,63.614160 -104.622592,63.614701 -104.623316,63.615074 -104.624510,63.616077 -104.625065,63.616824 -104.627248,63.618933 -104.627585,63.619386 -104.628229,63.620096 -104.629446,63.622070 -104.630221,63.622924 -104.631188,63.624818 -104.631179,63.625304 -104.631423,63.625731 -104.631747,63.626128 -104.631784,63.626361 -104.632026,63.626783 -104.632474,63.628894 -104.632649,63.631009 -104.632448,63.631881 -104.632552,63.633129 -104.632252,63.634837 -104.631853,63.635939 -104.631849,63.636338 -104.631404,63.637570 -104.630904,63.638663 -104.630891,63.638826 -104.630154,63.640268 -104.630007,63.640411 -104.629997,63.640441 -104.629982,63.640592 -104.629925,63.640665 -104.629896,63.640753 -104.629202,63.641805 -104.629183,63.641928 -104.628530,63.642882 -104.628370,63.643025 -104.627820,63.643828 -104.627094,63.644714 -104.626785,63.644971 -104.626504,63.645324 -104.625856,63.645868 -104.624943,63.647014 -104.623770,63.648124 -104.623723,63.648160 -104.623693,63.648198 -104.622512,63.649308 -104.621123,63.650343 -104.620626,63.650881 -104.620116,63.651261 -104.619877,63.651522 -104.618873,63.652281 -104.617873,63.652954 -104.617744,63.653085 -104.616571,63.653877 -104.616332,63.653978 -104.615442,63.654567 -104.615351,63.654654 -104.615124,63.654778 -104.615024,63.654845 -104.614799,63.654956 -104.614607,63.655060 -104.614448,63.655176 -104.614241,63.655260 -104.613481,63.655675 -104.613298,63.655839 -104.610522,63.657366 -104.609786,63.657651 -104.609456,63.657938 -104.606130,63.659683 -104.605559,63.659899 -104.604605,63.660420 -104.603976,63.660730 -104.603289,63.660982 -104.603156,63.661055 -104.602134,63.661552 -104.600893,63.662005 -104.599017,63.662918 -104.591958,63.665701 -104.589821,63.666400 -104.589006,63.666762 -104.587780,63.667163 -104.587508,63.667244 -104.587027,63.667456 -104.585999,63.667785 -104.584925,63.668100 -104.584705,63.668531 -104.584610,63.668623 -104.584533,63.668791 -104.584525,63.668875 -104.582474,63.672706 -104.582400,63.672777 -104.582398,63.672784 -104.582390,63.672860 -104.582361,63.672896 -104.582348,63.672937 -104.581419,63.674335 -104.581403,63.674419 -104.580440,63.675725 -104.580107,63.676012 -104.579367,63.677016 -104.578195,63.678279 -104.577405,63.678902 -104.577066,63.679275 -104.576493,63.679731 -104.575976,63.680309 -104.575182,63.680935 -104.574978,63.681075 -104.574475,63.681628 -104.571015,63.684277 -104.569966,63.684988 -104.569818,63.685138 -104.569462,63.685379 -104.569391,63.685452 -104.568817,63.685845 -104.568632,63.685924 -104.568583,63.685974 -104.568568,63.685985 -104.568331,63.686086 -104.567974,63.686361 -104.567697,63.686473 -104.567400,63.686754 -104.567090,63.686912 -104.566692,63.687209 -104.564124,63.688607 -104.561408,63.689947 -104.560370,63.690328 -104.558545,63.691228 -104.555739,63.692367 -104.553544,63.693094 -104.552565,63.693532 -104.549269,63.694625 -104.545851,63.695645 -104.544828,63.695809 -104.544107,63.696087 -104.542340,63.696510 -104.542072,63.696549 -104.540550,63.696914 -104.539502,63.697136 -104.539066,63.697195 -104.538487,63.697322 -104.537539,63.697454 -104.535228,63.697958 -104.528363,63.699146 -104.526161,63.699406 -104.525405,63.699564 -104.524759,63.699665 -104.524371,63.699708 -104.523966,63.699784 -104.522421,63.699967 -104.521720,63.700032 -104.521007,63.700163 -104.520370,63.700233 -104.519319,63.700326 -104.519007,63.700383 -104.518761,63.700410 -104.518595,63.700439 -104.517941,63.700501 -104.517233,63.700579 -104.514554,63.700815 -104.513833,63.701514 -104.512981,63.702545 -104.512356,63.703059 -104.512245,63.703217 -104.511667,63.703889 -104.510981,63.704446 -104.510551,63.704941 -104.510161,63.705262 -104.509588,63.705929 -104.508166,63.707125 -104.506890,63.708027 -104.506597,63.708332 -104.504927,63.709512 -104.503908,63.709955 -104.503157,63.710663 -104.500778,63.711965 -104.498271,63.713215 -104.497397,63.713537 -104.496749,63.713861 -104.495037,63.718938 -104.494997,63.719027 -104.494997,63.719055 -104.492606,63.725975 -104.491721,63.729271 -104.491340,63.730195 -104.491332,63.730415 -104.491106,63.730961 -104.491038,63.731031 -104.491028,63.731243 -104.490807,63.731753 -104.490725,63.731836 -104.490348,63.732649 -104.490334,63.732812 -104.488230,63.736876 -104.488081,63.737019 -104.488071,63.737048 -104.488055,63.737199 -104.487997,63.737273 -104.487968,63.737361 -104.487798,63.737616 -104.487793,63.737660 -104.487646,63.737844 -104.487645,63.737845 -104.487595,63.737989 -104.487473,63.738103 -104.487222,63.738480 -104.487197,63.738645 -104.484567,63.742694 -104.484271,63.742959 -104.484132,63.743123 -104.484103,63.743286 -104.484031,63.743387 -104.483922,63.743482 -104.483889,63.743656 -104.483575,63.744081 -104.483474,63.744169 -104.483330,63.744370 -104.483106,63.744565 -104.482469,63.745458 -104.479005,63.749434 -104.476487,63.752949 -104.476371,63.753049 -104.476362,63.753101 -104.476192,63.753334 -104.476106,63.753409 -104.475980,63.753587 -104.475788,63.753755 -104.475189,63.754606 -104.472715,63.757514 -104.472455,63.757726 -104.472090,63.758224 -104.470134,63.760371 -104.469088,63.761840 -104.468934,63.761974 -104.468920,63.762052 -104.468741,63.762298 -104.468653,63.762374 -104.468525,63.762555 -104.468330,63.762725 -104.467728,63.763579 -104.465254,63.766479 -104.464979,63.766703 -104.464930,63.766767 -104.464432,63.767185 -104.463577,63.768283 -104.459982,63.771843 -104.459033,63.772563 -104.459029,63.772567 -104.458512,63.772976 -104.457916,63.773624 -104.457419,63.774001 -104.457108,63.774342 -104.456741,63.774625 -104.456637,63.774696 -104.456448,63.774903 -104.455699,63.775474 -104.454845,63.776518 -104.454217,63.777036 -104.454071,63.777241 -104.453469,63.777941 -104.452787,63.778493 -104.452382,63.778958 -104.452345,63.778988 -104.452125,63.779272 -104.452048,63.779348 -104.451731,63.779589 -104.451414,63.779958 -104.450923,63.780372 -104.450768,63.780481 -104.450701,63.780559 -104.450601,63.780643 -104.450122,63.780981 -104.449960,63.781157 -104.449816,63.781267 -104.449618,63.781400 -104.449565,63.781458 -104.448670,63.782138 -104.447652,63.782823 -104.447165,63.783315 -104.442606,63.786391 -104.442329,63.786509 -104.441346,63.787163 -104.441250,63.787252 -104.441087,63.787334 -104.440654,63.787622 -104.440572,63.787683 -104.440518,63.787712 -104.440296,63.787860 -104.440119,63.787931 -104.439380,63.788335 -104.439228,63.788471 -104.438132,63.789072 -104.437974,63.789133 -104.437007,63.789663 -104.435795,63.790273 -104.435306,63.790454 -104.435164,63.790531 -104.434193,63.791013 -104.433322,63.791333 -104.431556,63.792210 -104.422758,63.795856 -104.420523,63.796602 -104.419365,63.797119 -104.418119,63.797535 -104.417894,63.797602 -104.417233,63.797895 -104.415626,63.798422 -104.414169,63.798852 -104.413959,63.798941 -104.412266,63.799442 -104.411987,63.799489 -104.410644,63.799884 -104.410544,63.799924 -104.410382,63.799961 -104.410332,63.799976 -104.410156,63.800013 -104.409647,63.800129 -104.409385,63.800213 -104.409042,63.800267 -104.408256,63.800446 -104.408228,63.800510 -104.408118,63.800621 -104.408111,63.800643 -104.407899,63.800841 -104.407890,63.801045 -104.407850,63.801141 -104.407779,63.801212 -104.407753,63.801456 -104.407613,63.801637 -104.407515,63.801928 -104.407317,63.802218 -104.407317,63.802220 -104.407310,63.802228 -104.406905,63.802822 -104.406881,63.802885 -104.406827,63.802935 -104.406337,63.803651 -104.406180,63.803847 -104.406113,63.803902 -104.406052,63.803992 -104.406008,63.804215 -104.402813,63.808481 -104.402638,63.808630 -104.402432,63.808937 -104.402165,63.809276 -104.401978,63.809433 -104.401752,63.809730 -104.401354,63.810066 -104.400558,63.811111 -104.397535,63.814229 -104.396944,63.814684 -104.396936,63.814693 -104.396635,63.814931 -104.396496,63.815086 -104.395904,63.815557 -104.395358,63.816156 -104.395269,63.816225 -104.395218,63.816281 -104.394857,63.816565 -104.394816,63.816594 -104.394510,63.816932 -104.394311,63.817088 -104.394129,63.817291 -104.387958,63.822177 -104.384677,63.824859 -104.383428,63.825726 -104.383166,63.825995 -104.382741,63.826290 -104.382617,63.826420 -104.381866,63.826947 -104.381345,63.827173 -104.380789,63.827601 -104.380469,63.827730 -104.380459,63.827737 -104.380039,63.828129 -104.379680,63.828311 -104.379125,63.828720 -104.378305,63.829048 -104.377869,63.829431 -104.376574,63.830129 -104.376354,63.830213 -104.375240,63.830812 -104.373824,63.831504 -104.373122,63.831758 -104.372970,63.831840 -104.371926,63.832341 -104.370673,63.832792 -104.368778,63.833702 -104.359445,63.837333 -104.357289,63.838029 -104.356466,63.838389 -104.355246,63.838783 -104.354999,63.838855 -104.354724,63.838975 -104.354341,63.839143 -104.344555,63.842296 -104.343173,63.842701 -104.342990,63.842777 -104.342119,63.843032 -104.341938,63.843062 -104.341674,63.843172 -104.340889,63.843396 -104.340673,63.843432 -104.340417,63.843517 -104.340048,63.843575 -104.339633,63.843742 -104.339345,63.843803 -104.339004,63.843914 -104.338307,63.844024 -104.337901,63.844111 -104.337292,63.844343 -104.335557,63.844754 -104.335302,63.844791 -104.333801,63.845147 -104.332756,63.845367 -104.332331,63.845424 -104.331715,63.845557 -104.330799,63.845683 -104.328495,63.846181 -104.322890,63.847145 -104.315565,63.848680 -104.314663,63.848801 -104.314511,63.848834 -104.313692,63.848947 -104.311454,63.849435 -104.310403,63.849620 -104.308578,63.849837 -104.307904,63.849959 -104.307035,63.850064 -104.305769,63.850301 -104.304675,63.850430 -104.304211,63.850473 -104.304026,63.850507 -104.303932,63.850519 -104.303891,63.850522 -104.303814,63.850536 -104.303378,63.850584 -104.302986,63.850619 -104.301886,63.850817 -104.295043,63.851546 -104.293416,63.851686 -104.293182,63.851725 -104.291314,63.851885 -104.291069,63.851882 -104.289526,63.852012 -104.289437,63.852026 -104.289363,63.852028 -104.289295,63.852035 -104.289261,63.852034 -104.288503,63.852098 -104.288065,63.852107 -104.287746,63.852141 -104.287126,63.852127 -104.286869,63.852133 -104.286234,63.852227 -104.277343,63.852658 -104.276441,63.852631 -104.273519,63.852745 -104.269456,63.852799 -104.267447,63.852703 -104.264618,63.852741 -104.262735,63.852670 -104.260253,63.852486 -104.259370,63.852482 -104.257160,63.852318 -104.255570,63.852171 -104.255009,63.852163 -104.247853,63.851491 -104.247159,63.851353 -104.246319,63.851334 -104.245045,63.851137 -104.244078,63.851065 -104.242967,63.850832 -104.242401,63.850819 -104.241746,63.850709 -104.241130,63.850685 -104.239453,63.850440 -104.237584,63.850010 -104.233292,63.849288 -104.232631,63.849136 -104.231710,63.848963 -104.227987,63.848018 -104.225926,63.847630 -104.223963,63.847088 -104.222718,63.846712 -104.222538,63.846676 -104.221133,63.846252 -104.220574,63.845989 -104.220566,63.845987 -104.219748,63.845815 -104.219353,63.845657 -104.219033,63.845569 -104.218559,63.845338 -104.218293,63.845231 -104.217604,63.845078 -104.217141,63.844911 -104.216015,63.844668 -104.215160,63.844438 -104.214989,63.844494 -104.212592,63.845036 -104.212319,63.845139 -104.210261,63.845614 -104.209896,63.845666 -104.208173,63.846064 -104.201225,63.847458 -104.200632,63.847535 -104.199376,63.847815 -104.198320,63.848011 -104.195680,63.848771 -104.191412,63.850160 -104.188867,63.851061 -104.187077,63.851841 -104.185879,63.852250 -104.185379,63.852473 -104.184770,63.852683 -104.184394,63.852850 -104.183966,63.852997 -104.183259,63.853315 -104.183033,63.853392 -104.182979,63.853416 -104.182250,63.853670 -104.181839,63.853795 -104.180988,63.854174 -104.180452,63.854354 -104.180359,63.854382 -104.179945,63.854565 -104.176685,63.855654 -104.175901,63.856024 -104.175449,63.856185 -104.175400,63.856210 -104.174931,63.856431 -104.174047,63.856745 -104.173732,63.856908 -104.173098,63.857196 -104.172966,63.857242 -104.172687,63.857371 -104.171906,63.857646 -104.171566,63.857801 -104.171165,63.857944 -104.170621,63.858192 -104.170029,63.858402 -104.168962,63.858895 -104.166599,63.859751 -104.165753,63.860360 -104.165397,63.860592 -104.165330,63.860661 -104.161267,63.863516 -104.160591,63.863950 -104.157637,63.866545 -104.156254,63.867532 -104.155836,63.867967 -104.155604,63.868133 -104.155363,63.868392 -104.150097,63.872357 -104.149014,63.873077 -104.148856,63.873234 -104.148527,63.873453 -104.148453,63.873527 -104.147870,63.873920 -104.147659,63.874009 -104.147597,63.874071 -104.147561,63.874095 -104.147424,63.874152 -104.147073,63.874382 -104.146958,63.874469 -104.146912,63.874487 -104.146461,63.874783 -104.146375,63.874862 -104.146226,63.874936 -104.145696,63.875283 -104.145627,63.875333 -104.145606,63.875345 -104.145601,63.875349 -104.139333,63.879056 -104.139317,63.879062 -104.139317,63.879062 -104.139308,63.879070 -104.139301,63.879074 -104.139295,63.879078 -104.139080,63.879192 -104.139002,63.879243 -104.138824,63.879329 -104.138553,63.879473 -104.138404,63.879580 -104.138209,63.879657 -104.137390,63.880093 -104.137207,63.880253 -104.131547,63.883288 -104.131114,63.883451 -104.130966,63.883578 -104.130540,63.883801 -104.130205,63.883927 -104.130149,63.883975 -104.129349,63.884388 -104.128938,63.884540 -104.127520,63.885272 -104.120397,63.888501 -104.119999,63.888719 -104.115797,63.891339 -104.111317,63.894357 -104.110940,63.894516 -104.110931,63.894525 -104.110648,63.894728 -104.109926,63.895196 -104.109802,63.895310 -104.109577,63.895422 -104.109289,63.895609 -104.109045,63.895787 -104.108863,63.895885 -104.108504,63.896118 -104.108295,63.896219 -104.108164,63.896313 -104.107825,63.896447 -104.107686,63.896523 -104.107483,63.896703 -104.101237,63.900184 -104.100670,63.900403 -104.100308,63.900598 -104.100297,63.900608 -104.100240,63.900635 -104.099160,63.901217 -104.099020,63.901335 -104.098240,63.901726 -104.097800,63.901887 -104.097639,63.901974 -104.096676,63.902450 -104.095906,63.902730 -104.094180,63.903583 -104.087519,63.906358 -104.085425,63.907054 -104.083797,63.907805 -104.073883,63.911398 -104.071884,63.912015 -104.071322,63.912255 -104.071089,63.912327 -104.070794,63.912456 -104.064816,63.914391 -104.064613,63.914462 -104.063985,63.914784 -104.063748,63.914871 -104.063129,63.915193 -104.062783,63.915322 -104.061449,63.916015 -104.055849,63.918596 -104.055513,63.918713 -104.054917,63.919017 -104.047669,63.922236 -104.047187,63.922401 -104.046507,63.922740 -104.044997,63.923380 -104.043992,63.924083 -104.043134,63.924632 -104.043052,63.924712 -104.042298,63.925194 -104.042213,63.925229 -104.042092,63.925345 -104.036900,63.928624 -104.036639,63.928731 -104.036464,63.928896 -104.032329,63.931450 -104.028730,63.933778 -104.028669,63.933804 -104.028625,63.933846 -104.023097,63.937401 -104.018715,63.940295 -104.018687,63.940307 -104.018666,63.940328 -104.015827,63.942197 -104.013818,63.943811 -104.012552,63.944675 -104.012284,63.944944 -104.011883,63.945218 -104.011757,63.945346 -104.011599,63.945456 -104.011543,63.945513 -104.008932,63.947337 -104.006672,63.949214 -104.005275,63.950601 -104.004694,63.951037 -104.004233,63.951591 -103.998444,63.956858 -103.994693,63.960435 -103.990408,63.965177 -103.990070,63.965442 -103.990034,63.965485 -103.989419,63.965986 -103.988490,63.967116 -103.983056,63.972157 -103.975771,63.978976 -103.975549,63.979138 -103.975395,63.979322 -103.970528,63.983742 -103.969096,63.984773 -103.968873,63.985006 -103.969492,63.985296 -103.971368,63.986553 -103.971655,63.986889 -103.971898,63.987034 -103.972395,63.987278 -103.972566,63.987435 -103.972908,63.987640 -103.973230,63.988043 -103.973294,63.988101 -103.973880,63.988403 -103.974811,63.989175 -103.974895,63.989290 -103.975700,63.989958 -103.977977,63.992085 -103.978676,63.993112 -103.978830,63.993267 -103.979393,63.993764 -103.980206,63.994635 -103.980268,63.994735 -103.980446,63.994996 -103.980549,63.995089 -103.980910,63.995493 -103.981592,63.996629 -103.982105,63.997179 -103.982197,63.997340 -103.982407,63.997812 -103.982861,63.998320 -103.983804,64.000219 -103.983783,64.000709 -103.984028,64.001150 -103.984349,64.001551 -103.984381,64.001786 -103.984621,64.002216 -103.985030,64.004390 -103.985145,64.006567 -103.984902,64.007500 -103.984968,64.008747 -103.984577,64.010556 -103.984149,64.011631 -103.984136,64.011994 -103.983583,64.013382 -103.983279,64.013689 -103.982919,64.014718 -103.982913,64.014767 -103.981476,64.017248 -103.981452,64.017270 -103.981451,64.017272 -103.981448,64.017296 -103.981438,64.017308 -103.981434,64.017321 -103.981367,64.017416 -103.981365,64.017435 -103.981299,64.017514 -103.981001,64.017942 -103.980965,64.018033 -103.980888,64.018103 -103.980316,64.018924 -103.980271,64.018979 -103.980233,64.019010 -103.980201,64.019056 -103.980166,64.019229 -103.979777,64.019746 -103.979684,64.019823 -103.979534,64.020030 -103.979333,64.020200 -103.978709,64.021053 -103.976159,64.023946 -103.975913,64.024140 -103.975568,64.024596 -103.973063,64.027267 -103.972502,64.027700 -103.972334,64.027894 -103.971438,64.028607 -103.970429,64.029773 -103.970000,64.030139 -103.969908,64.030236 -103.969694,64.030401 -103.969220,64.030806 -103.969180,64.030833 -103.969041,64.030986 -103.968215,64.031629 -103.967575,64.032322 -103.967143,64.032654 -103.966702,64.033136 -103.965406,64.034154 -103.964172,64.034985 -103.963933,64.035224 -103.962379,64.036270 -103.960644,64.036999 -103.959486,64.037992 -103.958189,64.038677 -103.957972,64.038758 -103.956855,64.039348 -103.955400,64.040046 -103.954677,64.040303 -103.954494,64.040399 -103.953417,64.040905 -103.952146,64.041353 -103.950223,64.042258 -103.944111,64.044587 -103.941929,64.045276 -103.941095,64.045634 -103.940904,64.045694 -103.940472,64.045884 -103.937911,64.046739 -103.935784,64.047548 -103.933603,64.048237 -103.932772,64.048593 -103.932026,64.048828 -103.931504,64.049056 -103.927657,64.050308 -103.926082,64.050766 -103.925827,64.050871 -103.925787,64.050883 -103.925670,64.050932 -103.920635,64.052457 -103.915793,64.054292 -103.913619,64.054976 -103.912807,64.055324 -103.911601,64.055703 -103.911394,64.055762 -103.910931,64.055959 -103.909930,64.056269 -103.908635,64.056636 -103.908484,64.056698 -103.907642,64.056936 -103.907358,64.057154 -103.906935,64.057685 -103.904858,64.059728 -103.903598,64.061062 -103.902219,64.063096 -103.900639,64.065626 -103.898686,64.069177 -103.898598,64.069258 -103.898539,64.069377 -103.898530,64.069455 -103.896341,64.073286 -103.896272,64.073350 -103.896269,64.073356 -103.896260,64.073425 -103.896233,64.073458 -103.896220,64.073494 -103.896139,64.073611 -103.896136,64.073635 -103.896051,64.073735 -103.895874,64.073989 -103.895867,64.074007 -103.895865,64.074009 -103.895828,64.074104 -103.895732,64.074191 -103.895566,64.074428 -103.895560,64.074476 -103.895421,64.074636 -103.895379,64.074696 -103.895362,64.074792 -103.895333,64.074833 -103.895238,64.074915 -103.895213,64.075043 -103.894945,64.075415 -103.894898,64.075455 -103.894816,64.075572 -103.894709,64.075664 -103.894232,64.076347 -103.890982,64.080354 -103.890791,64.080509 -103.890620,64.080734 -103.890321,64.080982 -103.889586,64.081944 -103.885795,64.085951 -103.885184,64.086419 -103.884901,64.086727 -103.884076,64.087367 -103.883440,64.088052 -103.883017,64.088376 -103.882568,64.088867 -103.881259,64.089891 -103.880014,64.090727 -103.879768,64.090971 -103.878195,64.092026 -103.877991,64.092112 -103.876620,64.092987 -103.876540,64.093059 -103.876348,64.093160 -103.876235,64.093232 -103.875990,64.093348 -103.875932,64.093379 -103.875775,64.093489 -103.875570,64.093569 -103.875025,64.093856 -103.874854,64.094004 -103.866831,64.098333 -103.866539,64.098443 -103.866396,64.098566 -103.860668,64.101597 -103.860441,64.101681 -103.859685,64.102402 -103.858533,64.103624 -103.856851,64.106071 -103.856446,64.106421 -103.855739,64.107405 -103.854734,64.108591 -103.854239,64.108987 -103.853638,64.109745 -103.852858,64.110522 -103.851789,64.111320 -103.851434,64.111678 -103.851112,64.111919 -103.850622,64.112438 -103.849551,64.113237 -103.848919,64.113651 -103.848356,64.114219 -103.844239,64.117059 -103.843370,64.117608 -103.843286,64.117688 -103.842303,64.118308 -103.842129,64.118379 -103.840886,64.119180 -103.840674,64.119281 -103.840540,64.119375 -103.840184,64.119514 -103.840026,64.119657 -103.839910,64.119711 -103.839849,64.119764 -103.839335,64.120046 -103.838591,64.120328 -103.838114,64.120551 -103.837668,64.120922 -103.833261,64.123144 -103.831385,64.124151 -103.828046,64.126184 -103.827850,64.126263 -103.827509,64.126482 -103.827441,64.126544 -103.827332,64.126596 -103.827174,64.126697 -103.827138,64.126724 -103.827115,64.126735 -103.827074,64.126762 -103.826983,64.126805 -103.826109,64.127265 -103.826028,64.127320 -103.825936,64.127356 -103.824651,64.128033 -103.824620,64.128048 -103.824588,64.128059 -103.824502,64.128104 -103.824118,64.128289 -103.823936,64.128438 -103.822719,64.129038 -103.822250,64.129207 -103.822062,64.129307 -103.821062,64.129791 -103.820252,64.130080 -103.818487,64.130936 -103.813599,64.132927 -103.813351,64.133102 -103.810139,64.135986 -103.805233,64.140400 -103.805222,64.140407 -103.805215,64.140416 -103.801490,64.143761 -103.798337,64.147207 -103.795391,64.150646 -103.795237,64.150768 -103.794976,64.151120 -103.791779,64.154684 -103.791097,64.155215 -103.790231,64.156284 -103.786000,64.160355 -103.782992,64.163318 -103.781902,64.164126 -103.781509,64.164427 -103.780761,64.165213 -103.780712,64.165249 -103.780300,64.165705 -103.780067,64.165891 -103.779098,64.167075 -103.778068,64.168447 -103.777702,64.168753 -103.777658,64.168945 -103.777391,64.169282 -103.777246,64.169401 -103.777027,64.169684 -103.776721,64.169937 -103.775974,64.170904 -103.775074,64.171844 -103.774697,64.172267 -103.773977,64.173572 -103.773402,64.174803 -103.773167,64.175030 -103.773161,64.175151 -103.773106,64.175282 -103.772957,64.175431 -103.772951,64.175446 -103.772916,64.175755 -103.772709,64.176130 -103.772544,64.176282 -103.772520,64.176459 -103.772433,64.176563 -103.772425,64.176627 -103.772369,64.176693 -103.772346,64.176755 -103.772223,64.176866 -103.772208,64.176884 -103.772189,64.177011 -103.770775,64.179247 -103.770525,64.179467 -103.770338,64.179687 -103.770321,64.179812 -103.770295,64.179848 -103.770272,64.179965 -103.769697,64.180753 -103.769536,64.180889 -103.768972,64.181663 -103.769100,64.181898 -103.769454,64.182343 -103.769489,64.182610 -103.769726,64.183045 -103.769715,64.183129 -103.769776,64.183207 -103.770056,64.184148 -103.770033,64.184304 -103.770100,64.185081 -103.770315,64.185386 -103.770497,64.186620 -103.770428,64.186934 -103.770583,64.187982 -103.770566,64.188746 -103.770333,64.189512 -103.770405,64.190471 -103.770251,64.191408 -103.770221,64.193722 -103.770181,64.193857 -103.770190,64.193921 -103.770183,64.194234 -103.769949,64.195002 -103.770022,64.195962 -103.769934,64.196496 -103.770131,64.198428 -103.770096,64.198573 -103.770099,64.198592 -103.770030,64.198906 -103.770184,64.199954 -103.770169,64.200642 -103.769936,64.201409 -103.770008,64.202369 -103.769558,64.205101 -103.769549,64.205122 -103.769551,64.205141 -103.769093,64.207873 -103.768924,64.208317 -103.768912,64.208397 -103.768650,64.209100 -103.768636,64.209543 -103.768467,64.209990 -103.768461,64.210001 -103.768458,64.210122 -103.768408,64.210257 -103.768337,64.210403 -103.768331,64.210578 -103.768165,64.210994 -103.767940,64.211448 -103.767922,64.211746 -103.766238,64.215585 -103.765852,64.215963 -103.765778,64.216175 -103.765765,64.216409 -103.765724,64.216506 -103.765711,64.216519 -103.765691,64.216705 -103.765571,64.216928 -103.765701,64.217176 -103.765726,64.217203 -103.765853,64.217431 -103.765945,64.217643 -103.766021,64.217787 -103.766525,64.218322 -103.768571,64.221831 -103.768949,64.222673 -103.769086,64.222831 -103.769387,64.223500 -103.769501,64.223631 -103.770652,64.226178 -103.770620,64.226630 -103.770689,64.226756 -103.771047,64.227205 -103.771081,64.227477 -103.771285,64.227854 -103.771266,64.227995 -103.771367,64.228123 -103.771614,64.228994 -103.771576,64.229245 -103.771619,64.229770 -103.771798,64.230019 -103.771996,64.231174 -103.771950,64.231398 -103.772112,64.232343 -103.772256,64.237836 -103.772024,64.238661 -103.772128,64.239627 -103.772055,64.240334 -103.771631,64.241556 -103.771621,64.242268 -103.771467,64.242711 -103.771465,64.243055 -103.770413,64.246230 -103.770021,64.247075 -103.770009,64.247246 -103.769780,64.247740 -103.769722,64.247796 -103.769718,64.247806 -103.769705,64.247969 -103.769508,64.248378 -103.769380,64.248500 -103.769288,64.248686 -103.769239,64.248832 -103.769203,64.248864 -103.769181,64.249073 -103.766887,64.253346 -103.766675,64.253543 -103.766655,64.253599 -103.766627,64.253804 -103.766544,64.253904 -103.766497,64.254033 -103.766135,64.254548 -103.766130,64.254588 -103.765994,64.254749 -103.765695,64.255173 -103.765655,64.255271 -103.765576,64.255342 -103.765451,64.255520 -103.765189,64.255843 -103.765064,64.255945 -103.764780,64.256348 -103.764767,64.256364 -103.764705,64.256638 -103.762042,64.259996 -103.761603,64.260354 -103.761041,64.261113 -103.760616,64.261592 -103.760347,64.261802 -103.760323,64.261829 -103.760196,64.261929 -103.759855,64.262321 -103.759041,64.262962 -103.758988,64.263022 -103.758030,64.264124 -103.754960,64.266765 -103.753534,64.267759 -103.753083,64.268214 -103.752653,64.268513 -103.752442,64.268728 -103.751492,64.269404 -103.750477,64.270051 -103.750351,64.270171 -103.749167,64.270926 -103.748438,64.271222 -103.747940,64.271668 -103.745746,64.272827 -103.743448,64.273945 -103.742750,64.274194 -103.741045,64.275023 -103.738563,64.276049 -103.736267,64.276800 -103.734821,64.277427 -103.732230,64.278275 -103.729906,64.278947 -103.729017,64.279304 -103.722384,64.281152 -103.721782,64.281249 -103.721419,64.281350 -103.720923,64.281541 -103.720597,64.281608 -103.720193,64.281736 -103.719410,64.281911 -103.719158,64.281981 -103.718965,64.282010 -103.717548,64.282326 -103.717229,64.282443 -103.715272,64.282883 -103.714952,64.282928 -103.713290,64.283302 -103.711231,64.283708 -103.710996,64.283770 -103.707751,64.284883 -103.705832,64.285452 -103.705372,64.285642 -103.704292,64.285962 -103.704173,64.285982 -103.703810,64.286131 -103.702712,64.286452 -103.702201,64.286536 -103.701565,64.286743 -103.701128,64.286809 -103.700467,64.287064 -103.700022,64.287157 -103.699344,64.287370 -103.698365,64.287517 -103.697665,64.287775 -103.695965,64.288164 -103.695727,64.288197 -103.694245,64.288536 -103.693160,64.288757 -103.692727,64.288813 -103.691965,64.288971 -103.691058,64.289089 -103.688722,64.289575 -103.683291,64.290473 -103.678252,64.291514 -103.677372,64.291628 -103.675755,64.291982 -103.674912,64.292139 -103.673922,64.292259 -103.672965,64.292440 -103.671167,64.292660 -103.669513,64.292964 -103.669418,64.292975 -103.668286,64.293190 -103.666421,64.293436 -103.666150,64.293576 -103.665992,64.293705 -103.665135,64.294129 -103.664738,64.294272 -103.664534,64.294379 -103.663564,64.294851 -103.662890,64.295090 -103.661200,64.295912 -103.656095,64.298027 -103.654919,64.298412 -103.654694,64.298509 -103.653505,64.298905 -103.652310,64.299422 -103.651088,64.299821 -103.650957,64.299859 -103.650153,64.300205 -103.648404,64.300770 -103.646750,64.301245 -103.646462,64.301362 -103.644483,64.301931 -103.644122,64.301990 -103.642675,64.302395 -103.642468,64.302475 -103.642117,64.302551 -103.642049,64.302570 -103.641831,64.302614 -103.640951,64.302806 -103.640668,64.302892 -103.640320,64.302944 -103.638360,64.303371 -103.637904,64.303534 -103.631322,64.304932 -103.631078,64.304964 -103.630154,64.305174 -103.624174,64.306386 -103.617352,64.308934 -103.615140,64.309619 -103.614295,64.309975 -103.613091,64.310347 -103.612921,64.310395 -103.612448,64.310592 -103.611048,64.311020 -103.609706,64.311394 -103.609544,64.311459 -103.608018,64.311884 -103.607716,64.311932 -103.606594,64.312248 -103.606471,64.312295 -103.606273,64.312338 -103.606206,64.312357 -103.605985,64.312401 -103.605504,64.312506 -103.605231,64.312589 -103.604881,64.312641 -103.603713,64.312896 -103.603280,64.313054 -103.596141,64.314650 -103.594515,64.314872 -103.594195,64.314934 -103.592813,64.315246 -103.591079,64.315592 -103.590169,64.315707 -103.589435,64.315848 -103.589079,64.315897 -103.587262,64.316259 -103.585485,64.316527 -103.582965,64.316789 -103.580143,64.319134 -103.578737,64.320095 -103.578338,64.320491 -103.577931,64.320769 -103.577746,64.320955 -103.577115,64.321394 -103.576133,64.322013 -103.576019,64.322120 -103.575537,64.322423 -103.575411,64.322542 -103.571263,64.325153 -103.570927,64.325288 -103.570247,64.325714 -103.570082,64.325860 -103.569808,64.325992 -103.569492,64.326214 -103.569228,64.326352 -103.568950,64.326525 -103.568620,64.326679 -103.568432,64.326809 -103.568131,64.326924 -103.567605,64.327199 -103.567396,64.327376 -103.560425,64.331041 -103.559864,64.331247 -103.559788,64.331311 -103.559109,64.331661 -103.558894,64.331740 -103.557767,64.332322 -103.556906,64.332726 -103.556225,64.332963 -103.555947,64.333104 -103.555797,64.333173 -103.555707,64.333204 -103.554813,64.333614 -103.553508,64.334063 -103.551549,64.334963 -103.543635,64.337903 -103.541424,64.338584 -103.540588,64.338935 -103.539388,64.339304 -103.539223,64.339350 -103.538757,64.339545 -103.537366,64.339968 -103.536025,64.340340 -103.535863,64.340405 -103.534339,64.340827 -103.532323,64.341148 -103.530734,64.341723 -103.528643,64.342186 -103.528276,64.342236 -103.526523,64.342623 -103.525121,64.342892 -103.524382,64.342983 -103.523439,64.343167 -103.521911,64.343356 -103.519320,64.343862 -103.513134,64.344749 -103.505847,64.345826 -103.504912,64.345921 -103.504156,64.346065 -103.500229,64.346599 -103.499818,64.346663 -103.499792,64.346671 -103.499395,64.346730 -103.498864,64.346933 -103.498473,64.347013 -103.497939,64.347180 -103.496913,64.347332 -103.496359,64.347446 -103.495528,64.347743 -103.493078,64.348272 -103.492564,64.348340 -103.490588,64.348767 -103.488908,64.349073 -103.487797,64.349204 -103.486800,64.349389 -103.485124,64.349589 -103.483575,64.349869 -103.483072,64.349928 -103.481882,64.350149 -103.477551,64.350691 -103.475714,64.350858 -103.474929,64.350996 -103.468468,64.351691 -103.466533,64.351851 -103.466172,64.351909 -103.464281,64.352065 -103.463990,64.352061 -103.463853,64.352072 -103.463826,64.352071 -103.463224,64.352166 -103.456793,64.352639 -103.456062,64.352625 -103.455303,64.352737 -103.454593,64.352751 -103.453880,64.352821 -103.453282,64.352804 -103.452872,64.352865 -103.452685,64.352867 -103.452639,64.352873 -103.452218,64.353055 -103.452067,64.353105 -103.451605,64.353305 -103.450736,64.353591 -103.448930,64.354113 -103.448558,64.354265 -103.448260,64.354351 -103.447640,64.354606 -103.444854,64.355430 -103.444326,64.355518 -103.444294,64.355532 -103.443904,64.355654 -103.442391,64.356081 -103.442188,64.356158 -103.441920,64.356214 -103.441134,64.356435 -103.440856,64.356522 -103.440716,64.356553 -103.440223,64.356692 -103.437046,64.357415 -103.433804,64.358078 -103.432864,64.358198 -103.430499,64.358683 -103.428210,64.359053 -103.425863,64.359307 -103.425159,64.359422 -103.424826,64.359458 -103.423631,64.359668 -103.421280,64.359923 -103.419719,64.360052 -103.418470,64.360257 -103.410939,64.360913 -103.409783,64.360898 -103.409272,64.360949 -103.408143,64.361116 -103.407448,64.361131 -103.406402,64.361235 -103.406042,64.361225 -103.405713,64.361272 -103.404477,64.361335 -103.403840,64.361315 -103.402420,64.361333 -103.402262,64.361354 -103.402235,64.361358 -103.402231,64.361358 -103.401712,64.361425 -103.398969,64.361491 -103.398172,64.361455 -103.395688,64.361514 -103.394865,64.361507 -103.393292,64.361410 -103.391385,64.361433 -103.385610,64.361242 -103.382913,64.361043 -103.382312,64.361038 -103.381943,64.361039 -103.381867,64.361035 -103.381698,64.361033 -103.381298,64.361004 -103.380996,64.360988 -103.380449,64.360941 -103.380153,64.360919 -103.379833,64.360889 -103.378734,64.360796 -103.378118,64.360788 -103.375260,64.360546 -103.374497,64.360397 -103.372791,64.360273 -103.372420,64.360262 -103.372233,64.360232 -103.372062,64.360219 -103.371758,64.360155 -103.371698,64.360145 -103.371346,64.360134 -103.366168,64.359492 -103.365560,64.359360 -103.365502,64.359350 -103.365240,64.359343 -103.365015,64.359311 -103.364780,64.359302 -103.363223,64.359086 -103.362955,64.359025 -103.361238,64.358786 -103.359997,64.358584 -103.359260,64.358407 -103.359233,64.358403 -103.357835,64.358175 -103.356575,64.357871 -103.353945,64.357441 -103.353270,64.357296 -103.352035,64.357315 -103.350586,64.357275 -103.349408,64.357191 -103.347869,64.357227 -103.347055,64.357190 -103.344558,64.357248 -103.343709,64.357239 -103.342064,64.357137 -103.340120,64.357159 -103.337485,64.357067 -103.334809,64.356867 -103.333641,64.356857 -103.332878,64.356800 -103.332185,64.356796 -103.330416,64.356677 -103.330319,64.356676 -103.329915,64.356687 -103.328222,64.356823 -103.327172,64.356805 -103.327158,64.356807 -103.326017,64.356974 -103.325310,64.356989 -103.324425,64.357076 -103.323910,64.357061 -103.323447,64.357126 -103.322319,64.357179 -103.321511,64.357152 -103.317997,64.357266 -103.314217,64.357296 -103.312305,64.357195 -103.309425,64.357218 -103.307524,64.357140 -103.304950,64.356939 -103.303971,64.356929 -103.301783,64.356758 -103.300310,64.356616 -103.299663,64.356603 -103.296012,64.356252 -103.295202,64.356088 -103.294200,64.356059 -103.292947,64.355861 -103.291896,64.355778 -103.290790,64.355541 -103.290190,64.355524 -103.289655,64.355432 -103.289102,64.355408 -103.287396,64.355154 -103.285644,64.354746 -103.283627,64.354449 -103.281119,64.353997 -103.279435,64.353575 -103.277589,64.354257 -103.275922,64.354766 -103.274981,64.355176 -103.268211,64.357451 -103.266292,64.358009 -103.265839,64.358193 -103.264780,64.358501 -103.264681,64.358518 -103.264344,64.358654 -103.263267,64.358963 -103.262741,64.359048 -103.262067,64.359264 -103.261641,64.359326 -103.260990,64.359573 -103.260540,64.359665 -103.259852,64.359878 -103.256365,64.360658 -103.252802,64.361367 -103.251646,64.361511 -103.249164,64.362005 -103.246618,64.362393 -103.243846,64.362680 -103.242340,64.362939 -103.239248,64.363258 -103.236559,64.363472 -103.235722,64.363602 -103.231422,64.363907 -103.230734,64.363892 -103.230022,64.363996 -103.229323,64.364008 -103.228635,64.364075 -103.228052,64.364058 -103.227653,64.364116 -103.227434,64.364118 -103.227260,64.364142 -103.226278,64.364184 -103.225175,64.364144 -103.225085,64.364157 -103.224613,64.364168 -103.224099,64.364234 -103.221836,64.364285 -103.221049,64.364249 -103.218574,64.364306 -103.217748,64.364298 -103.216178,64.364199 -103.214256,64.364221 -103.207962,64.364007 -103.207525,64.363974 -103.207374,64.363969 -103.207206,64.363957 -103.205068,64.364063 -103.203080,64.364276 -103.201093,64.364438 -103.200705,64.364500 -103.198554,64.364675 -103.198319,64.364671 -103.196608,64.364804 -103.196442,64.364829 -103.195916,64.364860 -103.195895,64.364860 -103.195670,64.364877 -103.195486,64.364905 -103.185854,64.365470 -103.185727,64.365466 -103.185605,64.365484 -103.184966,64.365493 -103.184704,64.365519 -103.184689,64.365519 -103.184506,64.365536 -103.184018,64.365522 -103.183729,64.365564 -103.182967,64.365570 -103.182556,64.365626 -103.181779,64.365653 -103.181483,64.365642 -103.181442,64.365647 -103.181354,64.365649 -103.180594,64.365614 -103.180098,64.365677 -103.178173,64.365721 -103.177379,64.365684 -103.174898,64.365740 -103.174059,64.365731 -103.172454,64.365630 -103.170512,64.365650 -103.162637,64.365375 -103.159946,64.365172 -103.158742,64.365160 -103.154879,64.364869 -103.151048,64.364500 -103.151047,64.364500 -103.151047,64.364500 -103.151046,64.364500 -103.151046,64.364500 -103.151046,64.364500 -103.151046,64.364500 -103.149221,64.364286 -103.149221,64.364286 -103.149220,64.364286 -103.149140,64.364273 -103.148562,64.364230 -103.147516,64.364005 -103.146881,64.363901 -103.145707,64.363848 -103.142886,64.363423 -103.142314,64.363289 -103.140099,64.362956 -103.138412,64.362643 -103.136686,64.362678 -103.135800,64.362636 -103.133735,64.362679 -103.133561,64.362761 -103.131027,64.363789 -103.128709,64.364531 -103.127225,64.365160 -103.124589,64.366004 -103.122217,64.366675 -103.121308,64.367032 -103.114621,64.368849 -103.114211,64.368913 -103.113384,64.369143 -103.113154,64.369230 -103.112867,64.369288 -103.112716,64.369330 -103.112420,64.369421 -103.112279,64.369452 -103.112039,64.369519 -103.111399,64.369643 -103.111180,64.369691 -103.111126,64.369707 -103.111057,64.369717 -103.110984,64.369733 -103.110625,64.369840 -103.110233,64.369897 -103.109827,64.369985 -103.109711,64.370029 -103.109146,64.370133 -103.108777,64.370213 -103.108523,64.370303 -103.108216,64.370367 -103.108072,64.370386 -103.107797,64.370482 -103.106883,64.370671 -103.106593,64.370708 -103.105876,64.370858 -103.105273,64.370936 -103.103185,64.371374 -103.097702,64.372329 -103.095143,64.372617 -103.094693,64.372709 -103.094053,64.372815 -103.094038,64.372817 -103.094017,64.372821 -103.093409,64.372921 -103.093273,64.372936 -103.092533,64.373067 -103.091824,64.373147 -103.091696,64.373171 -103.091679,64.373173 -103.091094,64.373229 -103.090255,64.373324 -103.088986,64.373430 -103.088696,64.373457 -103.087013,64.373735 -103.085610,64.373863 -103.085279,64.373887 -103.083580,64.374049 -103.079821,64.374331 -103.079467,64.374335 -103.079194,64.374362 -103.078658,64.374345 -103.078483,64.374348 -103.077938,64.374423 -103.067759,64.374853 -103.062352,64.375186 -103.062049,64.375177 -103.061751,64.375221 -103.061089,64.375230 -103.060571,64.375279 -103.060079,64.375264 -103.059772,64.375308 -103.059158,64.375313 -103.058814,64.375360 -103.058015,64.375389 -103.057761,64.375379 -103.057663,64.375393 -103.057079,64.375413 -103.056810,64.375460 -103.055172,64.375641 -103.054736,64.375677 -103.053402,64.375906 -103.052311,64.376019 -103.051711,64.376098 -103.049136,64.376338 -103.048194,64.376494 -103.045815,64.376715 -103.044583,64.376806 -103.044418,64.376834 -103.043610,64.376911 -103.043423,64.376939 -103.042300,64.377020 -103.042237,64.377018 -103.039590,64.377217 -103.039262,64.377221 -103.039005,64.377245 -103.038500,64.377230 -103.038347,64.377232 -103.037835,64.377303 -103.031962,64.377555 -103.030942,64.377518 -103.029977,64.377526 -103.028969,64.377656 -103.021514,64.377839 -103.020424,64.377789 -103.019193,64.377829 -103.016768,64.377850 -103.015159,64.377764 -103.014752,64.377766 -103.012274,64.377788 -103.010560,64.377725 -103.007880,64.377519 -103.006700,64.377507 -103.004923,64.377370 -103.004201,64.377300 -103.003430,64.377288 -102.998748,64.376883 -102.997503,64.376637 -102.997326,64.376631 -102.996820,64.376623 -102.996697,64.376612 -102.995845,64.376586 -102.994673,64.376402 -102.993269,64.376290 -102.992286,64.376077 -102.991665,64.376058 -102.991388,64.376010 -102.991023,64.375995 -102.989418,64.375763 -102.989046,64.375677 -102.988221,64.375564 -102.986278,64.375261 -102.985537,64.375084 -102.983163,64.374714 -102.974504,64.373018 -102.973534,64.372765 -102.973464,64.372752 -102.971785,64.372328 -102.970055,64.372007 -102.969496,64.371861 -102.968486,64.371677 -102.967197,64.371351 -102.965328,64.370805 -102.964807,64.370701 -102.964485,64.370607 -102.962306,64.370334 -102.961816,64.370226 -102.961493,64.370172 -102.961215,64.370163 -102.961069,64.370143 -102.960846,64.370134 -102.959258,64.369909 -102.959006,64.369851 -102.957331,64.369614 -102.956082,64.369409 -102.954079,64.368922 -102.952797,64.368727 -102.950845,64.368362 -102.950498,64.368274 -102.950339,64.368245 -102.948784,64.367867 -102.947945,64.367625 -102.945560,64.367180 -102.944001,64.366769 -102.942334,64.366272 -102.941958,64.366196 -102.940302,64.365701 -102.940091,64.365602 -102.939993,64.365573 -102.939816,64.365484 -102.939271,64.365337 -102.938744,64.365224 -102.934767,64.363926 -102.934566,64.363827 -102.934526,64.363816 -102.934264,64.363759 -102.934155,64.363715 -102.934012,64.363676 -102.933805,64.363572 -102.933055,64.363267 -102.932476,64.363134 -102.930970,64.362576 -102.930800,64.362487 -102.929494,64.362003 -102.927926,64.361366 -102.926409,64.360532 -102.923600,64.359323 -102.920701,64.357728 -102.919514,64.356963 -102.917442,64.355709 -102.916847,64.355418 -102.914756,64.353910 -102.914603,64.353718 -102.914537,64.353677 -102.914246,64.353531 -102.914151,64.353440 -102.913991,64.353342 -102.913831,64.353134 -102.913175,64.352505 -102.912617,64.352206 -102.911898,64.351557 -102.908405,64.350140 -102.904788,64.348784 -102.900165,64.347137 -102.899890,64.347056 -102.899738,64.347025 -102.897690,64.346484 -102.897224,64.346365 -102.895452,64.346033 -102.894707,64.345836 -102.893783,64.345666 -102.892369,64.345300 -102.890590,64.344774 -102.890138,64.344683 -102.888725,64.344264 -102.888478,64.344148 -102.888128,64.344044 -102.887545,64.343923 -102.882568,64.342357 -102.882448,64.342299 -102.882418,64.342293 -102.882213,64.342231 -102.881922,64.342092 -102.881416,64.341982 -102.881187,64.341889 -102.880840,64.341794 -102.880702,64.341725 -102.880492,64.341679 -102.880395,64.341640 -102.880293,64.341611 -102.880137,64.341533 -102.880114,64.341524 -102.879895,64.341475 -102.873957,64.339421 -102.873647,64.339264 -102.873092,64.339034 -102.872566,64.338912 -102.871560,64.338534 -102.870842,64.338651 -102.868521,64.338856 -102.868159,64.338851 -102.867838,64.338905 -102.866944,64.338990 -102.866412,64.339030 -102.866241,64.339055 -102.865288,64.339120 -102.865224,64.339118 -102.863028,64.339282 -102.862857,64.339284 -102.862708,64.339298 -102.862411,64.339289 -102.862362,64.339289 -102.862067,64.339330 -102.856728,64.339582 -102.856133,64.339562 -102.854849,64.339574 -102.854176,64.339660 -102.851491,64.339731 -102.850977,64.339707 -102.848802,64.339764 -102.843964,64.339758 -102.842703,64.340023 -102.842156,64.340093 -102.840129,64.340517 -102.838335,64.340831 -102.837082,64.340972 -102.835995,64.341165 -102.834483,64.341336 -102.833054,64.341587 -102.832067,64.341698 -102.830827,64.341918 -102.824870,64.342605 -102.822602,64.342796 -102.822019,64.342889 -102.819777,64.343077 -102.819339,64.343070 -102.819131,64.343087 -102.818928,64.343081 -102.818865,64.343087 -102.817701,64.343264 -102.811270,64.343707 -102.810551,64.343689 -102.809802,64.343796 -102.809119,64.343806 -102.808425,64.343871 -102.807852,64.343853 -102.807450,64.343911 -102.807284,64.343912 -102.807138,64.343932 -102.806163,64.343971 -102.805058,64.343928 -102.803786,64.343938 -102.800767,64.344011 -102.796698,64.343991 -102.793770,64.343811 -102.791007,64.343797 -102.788420,64.343633 -102.786300,64.343440 -102.785793,64.343430 -102.783184,64.343192 -102.782278,64.343009 -102.781509,64.342947 -102.780592,64.342918 -102.780087,64.342833 -102.779711,64.342803 -102.779070,64.342663 -102.778730,64.342606 -102.777950,64.342574 -102.775202,64.342187 -102.772119,64.342556 -102.769749,64.342759 -102.769071,64.342868 -102.766791,64.343064 -102.766389,64.343058 -102.766085,64.343108 -102.765326,64.343178 -102.764775,64.343218 -102.764574,64.343248 -102.763509,64.343317 -102.763442,64.343315 -102.761577,64.343451 -102.761189,64.343455 -102.760896,64.343483 -102.760324,64.343464 -102.760119,64.343467 -102.759534,64.343546 -102.753668,64.343775 -102.752509,64.343729 -102.752070,64.343732 -102.748173,64.343816 -102.742972,64.343766 -102.739443,64.343540 -102.736855,64.343515 -102.733960,64.343304 -102.732114,64.343126 -102.731770,64.343119 -102.729593,64.342909 -102.727787,64.342539 -102.725735,64.342453 -102.724052,64.342218 -102.723867,64.342175 -102.722381,64.341967 -102.716760,64.341065 -102.716591,64.341024 -102.716587,64.341024 -102.716111,64.340911 -102.714020,64.340595 -102.713316,64.340465 -102.712170,64.340173 -102.710899,64.339940 -102.709623,64.339614 -102.708291,64.339369 -102.707292,64.339113 -102.706003,64.338877 -102.704754,64.338561 -102.702853,64.338002 -102.702300,64.337891 -102.701139,64.337549 -102.700990,64.337479 -102.700439,64.337366 -102.693462,64.335258 -102.692708,64.334899 -102.691543,64.334643 -102.691366,64.334572 -102.688444,64.334304 -102.681795,64.333880 -102.679666,64.333684 -102.679151,64.333675 -102.678276,64.333594 -102.677949,64.333588 -102.668593,64.332764 -102.668173,64.332679 -102.668038,64.332677 -102.666117,64.332503 -102.665921,64.332463 -102.665627,64.332454 -102.664493,64.332273 -102.663997,64.332233 -102.663372,64.332213 -102.663045,64.332158 -102.662771,64.332136 -102.662295,64.332031 -102.662134,64.332004 -102.661568,64.331982 -102.654382,64.331012 -102.653791,64.330877 -102.653368,64.330859 -102.652676,64.330758 -102.652410,64.330696 -102.652058,64.330679 -102.645902,64.329748 -102.645707,64.329701 -102.644944,64.329587 -102.644543,64.329492 -102.642568,64.329197 -102.641717,64.329045 -102.639892,64.328582 -102.639489,64.328511 -102.639292,64.328465 -102.639011,64.328384 -102.636492,64.327921 -102.634193,64.327339 -102.632623,64.326876 -102.632336,64.326800 -102.630400,64.326412 -102.628229,64.325777 -102.627898,64.325622 -102.627897,64.325622 -102.627891,64.325618 -102.627270,64.325327 -102.625726,64.324987 -102.624673,64.324565 -102.623400,64.324201 -102.622388,64.323689 -102.621252,64.323418 -102.617329,64.321891 -102.617154,64.321796 -102.616334,64.321477 -102.615983,64.321287 -102.614317,64.320639 -102.613376,64.320221 -102.612752,64.319860 -102.612206,64.319623 -102.611054,64.318964 -102.610772,64.318839 -102.610590,64.318767 -102.610386,64.318675 -102.610335,64.318645 -102.609747,64.318384 -102.609651,64.318329 -102.608827,64.317971 -102.608216,64.317634 -102.607152,64.316943 -102.606541,64.316666 -102.600456,64.312986 -102.599753,64.312507 -102.599691,64.312479 -102.599520,64.312374 -102.599281,64.312210 -102.599139,64.312142 -102.598568,64.311753 -102.598512,64.311685 -102.598308,64.311587 -102.597294,64.310889 -102.597209,64.310786 -102.597191,64.310773 -102.597100,64.310653 -102.597098,64.310650 -102.596614,64.310352 -102.596346,64.310217 -102.593138,64.307797 -102.593069,64.307708 -102.592924,64.307634 -102.592504,64.307222 -102.592463,64.307182 -102.592101,64.306948 -102.591821,64.306576 -102.591551,64.306439 -102.591175,64.306049 -102.591039,64.305980 -102.590929,64.305882 -102.590668,64.305739 -102.590134,64.305245 -102.589900,64.305038 -102.589780,64.304862 -102.588888,64.304069 -102.586790,64.301896 -102.586726,64.301858 -102.585886,64.301502 -102.583506,64.300258 -102.581972,64.299290 -102.581180,64.298923 -102.579164,64.297650 -102.577965,64.296814 -102.577777,64.296723 -102.576595,64.295895 -102.576335,64.295573 -102.576125,64.295442 -102.575657,64.295205 -102.575500,64.295054 -102.575188,64.294860 -102.574902,64.294479 -102.574746,64.294330 -102.574165,64.294019 -102.573192,64.293167 -102.573097,64.293029 -102.572270,64.292304 -102.571009,64.291041 -102.568118,64.288731 -102.567952,64.288504 -102.567902,64.288453 -102.567726,64.288364 -102.567643,64.288293 -102.567530,64.288233 -102.566873,64.287670 -102.566809,64.287578 -102.566088,64.286961 -102.565845,64.286728 -102.565826,64.286711 -102.565823,64.286707 -102.565656,64.286547 -102.565575,64.286421 -102.564831,64.285761 -102.561359,64.282182 -102.561144,64.281830 -102.560652,64.281336 -102.560249,64.280689 -102.559125,64.279562 -102.558715,64.279001 -102.558315,64.278196 -102.557835,64.277680 -102.556270,64.275093 -102.555836,64.274103 -102.555619,64.273845 -102.555218,64.272928 -102.555238,64.272735 -102.555170,64.272580 -102.555183,64.272503 -102.555168,64.272474 -102.554846,64.272063 -102.554392,64.270716 -102.554425,64.270489 -102.554394,64.270427 -102.554241,64.270223 -102.554234,64.270111 -102.554165,64.269976 -102.554060,64.269191 -102.553973,64.269065 -102.553830,64.268209 -102.553857,64.268095 -102.553733,64.267353 -102.553499,64.263446 -102.553543,64.263293 -102.553539,64.263260 -102.553622,64.262947 -102.553513,64.261898 -102.553559,64.261200 -102.553768,64.260605 -102.553153,64.259887 -102.553134,64.259846 -102.553092,64.259732 -102.553000,64.259624 -102.552137,64.257716 -102.552183,64.257218 -102.551943,64.256746 -102.551637,64.256337 -102.551615,64.256098 -102.551387,64.255647 -102.551106,64.253998 -102.550994,64.252346 -102.551131,64.251860 -102.551053,64.250692 -102.551215,64.249520 -102.551689,64.248297 -102.551730,64.247555 -102.551866,64.247205 -102.551881,64.246858 -102.553110,64.243471 -102.553259,64.243173 -102.553266,64.243057 -102.553289,64.242999 -102.552748,64.241766 -102.552785,64.241398 -102.552605,64.241178 -102.552555,64.241053 -102.552576,64.240867 -102.552295,64.240492 -102.552275,64.240262 -102.552069,64.239855 -102.551889,64.238507 -102.551825,64.238412 -102.551677,64.237239 -102.551734,64.237012 -102.551613,64.236063 -102.551666,64.233317 -102.551883,64.232652 -102.551875,64.232584 -102.551896,64.231943 -102.552074,64.231408 -102.552088,64.230868 -102.552294,64.230236 -102.552325,64.230172 -102.552346,64.229499 -102.552906,64.227847 -102.553363,64.226915 -102.553387,64.226686 -102.553952,64.225533 -102.554421,64.225097 -102.554511,64.224892 -102.554601,64.224387 -102.554861,64.224097 -102.554947,64.223903 -102.555251,64.223643 -102.555280,64.223477 -102.555569,64.223168 -102.555577,64.223122 -102.555598,64.223094 -102.555637,64.222936 -102.555971,64.222510 -102.556032,64.222460 -102.556172,64.222278 -102.556306,64.222170 -102.556860,64.221446 -102.558236,64.219898 -102.558873,64.219411 -102.559078,64.219152 -102.559526,64.218676 -102.559309,64.217385 -102.559225,64.216058 -102.559172,64.215994 -102.558715,64.215761 -102.558655,64.215704 -102.558508,64.215631 -102.553951,64.212241 -102.553827,64.212081 -102.553563,64.211947 -102.553127,64.211519 -102.552621,64.211196 -102.552338,64.210818 -102.551817,64.210542 -102.548131,64.207391 -102.546877,64.206534 -102.546500,64.206075 -102.545653,64.205643 -102.545190,64.205200 -102.544844,64.204978 -102.538811,64.206539 -102.538365,64.206605 -102.538305,64.206621 -102.538252,64.206638 -102.537903,64.206768 -102.537686,64.206810 -102.537449,64.206882 -102.536957,64.206987 -102.536737,64.207046 -102.536160,64.207156 -102.535703,64.207254 -102.535355,64.207356 -102.534965,64.207411 -102.533142,64.207799 -102.533046,64.207817 -102.532590,64.207974 -102.530565,64.208387 -102.521354,64.211003 -102.520845,64.211084 -102.520549,64.211174 -102.519194,64.211544 -102.518930,64.211642 -102.518578,64.211713 -102.518187,64.211820 -102.517718,64.211962 -102.517470,64.212016 -102.516987,64.212148 -102.516608,64.212220 -102.516348,64.212297 -102.515813,64.212373 -102.515512,64.212438 -102.515070,64.212597 -102.507328,64.214338 -102.506922,64.214392 -102.506784,64.214442 -102.505905,64.214635 -102.505686,64.214664 -102.504245,64.214980 -102.503362,64.215154 -102.502924,64.215207 -102.501999,64.215391 -102.501104,64.215500 -102.498764,64.215966 -102.490593,64.217249 -102.488263,64.217488 -102.487419,64.217622 -102.487099,64.217655 -102.485948,64.217850 -102.483617,64.218089 -102.482083,64.218207 -102.480783,64.218413 -102.478392,64.218609 -102.477947,64.218600 -102.477906,64.218605 -102.477846,64.218603 -102.477761,64.218616 -102.477164,64.218664 -102.476884,64.218658 -102.476521,64.218715 -102.476450,64.218721 -102.476127,64.218714 -102.475514,64.218801 -102.474993,64.218809 -102.474075,64.218897 -102.471424,64.218936 -102.470898,64.219002 -102.468030,64.219064 -102.467434,64.219034 -102.465157,64.219084 -102.458321,64.219030 -102.455544,64.218852 -102.452873,64.218834 -102.449277,64.218603 -102.446411,64.218335 -102.445801,64.218290 -102.444474,64.218255 -102.443142,64.218115 -102.443117,64.218112 -102.443113,64.218111 -102.442548,64.218052 -102.441756,64.217884 -102.441297,64.217848 -102.440364,64.217816 -102.439882,64.217738 -102.438987,64.217668 -102.437724,64.217387 -102.437098,64.217285 -102.435825,64.217219 -102.432707,64.216717 -102.431982,64.216540 -102.429635,64.216162 -102.421053,64.214436 -102.419725,64.214081 -102.419173,64.213974 -102.418005,64.213667 -102.416634,64.213405 -102.415274,64.213041 -102.415078,64.212982 -102.413876,64.212750 -102.412233,64.212302 -102.410629,64.211810 -102.410283,64.211738 -102.410047,64.211666 -102.404624,64.211587 -102.404535,64.211581 -102.404353,64.211578 -102.402846,64.211477 -102.400886,64.211490 -102.400401,64.211471 -102.398323,64.211474 -102.397173,64.211405 -102.394811,64.211442 -102.383849,64.211221 -102.375006,64.211047 -102.365556,64.211047 -102.365321,64.211033 -102.364778,64.211045 -102.358207,64.211014 -102.351943,64.212897 -102.350454,64.213300 -102.350242,64.213383 -102.349421,64.213605 -102.349345,64.213616 -102.349162,64.213687 -102.348401,64.213891 -102.348052,64.213944 -102.347561,64.214096 -102.347322,64.214129 -102.347095,64.214191 -102.346800,64.214300 -102.346450,64.214368 -102.346000,64.214504 -102.345705,64.214566 -102.345618,64.214589 -102.345351,64.214640 -102.344749,64.214766 -102.344457,64.214851 -102.344104,64.214900 -102.342584,64.215218 -102.342136,64.215374 -102.334312,64.217005 -102.318744,64.220367 -102.318452,64.220405 -102.318270,64.220469 -102.308321,64.222576 -102.307931,64.222626 -102.307740,64.222692 -102.307322,64.222778 -102.307108,64.222805 -102.306403,64.222953 -102.305963,64.223008 -102.304082,64.223401 -102.293651,64.225257 -102.292258,64.225413 -102.291035,64.225657 -102.290213,64.225789 -102.289011,64.225914 -102.288764,64.225954 -102.288606,64.225970 -102.288144,64.226051 -102.287320,64.226142 -102.287250,64.226154 -102.286542,64.226228 -102.285368,64.226426 -102.284163,64.226551 -102.283318,64.226616 -102.282636,64.226726 -102.282092,64.226776 -102.281904,64.226789 -102.281043,64.226928 -102.274055,64.227555 -102.272430,64.227668 -102.272203,64.227702 -102.270344,64.227831 -102.269803,64.227817 -102.268512,64.227938 -102.268479,64.227943 -102.268461,64.227943 -102.268444,64.227945 -102.268409,64.227943 -102.268408,64.227943 -102.268374,64.227948 -102.267024,64.228015 -102.266954,64.228012 -102.265683,64.228021 -102.263967,64.228044 -102.263376,64.228116 -102.260090,64.228168 -102.259285,64.228126 -102.256799,64.228165 -102.247358,64.227997 -102.246471,64.227935 -102.245606,64.227944 -102.244897,64.227923 -102.243060,64.227784 -102.242332,64.227777 -102.241894,64.227746 -102.241445,64.227702 -102.240415,64.227689 -102.240078,64.227664 -102.239365,64.227657 -102.230535,64.227062 -102.229969,64.227007 -102.229721,64.227005 -102.221946,64.226440 -102.219986,64.226247 -102.219576,64.226237 -102.218441,64.226125 -102.218166,64.226119 -102.210505,64.225375 -102.208269,64.225175 -102.207371,64.225364 -102.202514,64.226252 -102.194213,64.228071 -102.193255,64.228196 -102.192657,64.228402 -102.187407,64.229484 -102.185838,64.229890 -102.182027,64.231181 -102.176187,64.233797 -102.175605,64.233990 -102.174318,64.234604 -102.169582,64.236578 -102.164824,64.238925 -102.157277,64.242933 -102.156948,64.243052 -102.156713,64.243168 -102.156629,64.243239 -102.156195,64.243429 -102.156021,64.243568 -102.155476,64.243841 -102.155132,64.243963 -102.155031,64.244042 -102.154240,64.244430 -102.153960,64.244527 -102.152689,64.245150 -102.145256,64.248421 -102.138379,64.251486 -102.137647,64.251728 -102.136100,64.252458 -102.127966,64.255779 -102.126814,64.256144 -102.126188,64.256404 -102.125010,64.256781 -102.123887,64.257248 -102.122724,64.257616 -102.122698,64.257623 -102.121794,64.257999 -102.119953,64.258580 -102.118147,64.259080 -102.117781,64.259223 -102.115565,64.259835 -102.115305,64.259875 -102.113328,64.260410 -102.113305,64.260418 -102.113271,64.260425 -102.113247,64.260432 -102.113169,64.260446 -102.113062,64.260469 -102.112949,64.260502 -102.112801,64.260523 -102.112530,64.260579 -102.112353,64.260643 -102.103993,64.262575 -102.103395,64.262655 -102.103224,64.262687 -102.102824,64.262827 -102.101240,64.263171 -102.101037,64.263197 -102.099639,64.263500 -102.099262,64.263574 -102.098892,64.263694 -102.096939,64.264243 -102.096465,64.264430 -102.095504,64.264700 -102.095185,64.264826 -102.084309,64.267929 -102.073431,64.271255 -102.068370,64.272875 -102.066490,64.273398 -102.066074,64.273561 -102.065081,64.273837 -102.065075,64.273838 -102.064785,64.273952 -102.053494,64.277129 -102.052613,64.277265 -102.051669,64.277626 -102.042676,64.279993 -102.042260,64.280054 -102.041388,64.280290 -102.041158,64.280374 -102.040878,64.280428 -102.040668,64.280485 -102.040399,64.280565 -102.040275,64.280591 -102.040044,64.280653 -102.039849,64.280680 -102.038436,64.280976 -102.038118,64.281087 -102.036168,64.281498 -102.035856,64.281537 -102.034194,64.281888 -102.032787,64.282148 -102.032103,64.282226 -102.030966,64.282437 -102.029582,64.282595 -102.027007,64.283074 -102.016626,64.284492 -102.011084,64.285334 -102.002183,64.286892 -102.001079,64.287013 -101.999111,64.287395 -101.990886,64.288647 -101.989610,64.288773 -101.988240,64.289025 -101.977884,64.290407 -101.975190,64.290649 -101.973998,64.290840 -101.971673,64.291049 -101.970735,64.291113 -101.970466,64.291157 -101.969761,64.291222 -101.969536,64.291238 -101.969264,64.291279 -101.968411,64.291338 -101.968196,64.291333 -101.966345,64.291463 -101.965860,64.291531 -101.961928,64.291747 -101.961835,64.291913 -101.961821,64.292008 -101.961682,64.292256 -101.961646,64.292502 -101.959800,64.295859 -101.959439,64.296180 -101.959421,64.296323 -101.959304,64.296550 -101.959267,64.296734 -101.959116,64.296904 -101.959000,64.297171 -101.958647,64.297466 -101.958584,64.297778 -101.958274,64.298114 -101.958176,64.298324 -101.957979,64.298488 -101.957972,64.298512 -101.957716,64.298808 -101.957474,64.298992 -101.957359,64.299415 -101.953691,64.303841 -101.953445,64.304032 -101.953330,64.304175 -101.953167,64.304303 -101.952549,64.305072 -101.952065,64.305588 -101.951764,64.305810 -101.951742,64.305838 -101.951718,64.305863 -101.951657,64.305909 -101.951297,64.306296 -101.950578,64.306830 -101.949533,64.307959 -101.945601,64.311226 -101.944076,64.312239 -101.943502,64.312780 -101.943137,64.313023 -101.942878,64.313271 -101.942078,64.313817 -101.940936,64.314509 -101.940769,64.314658 -101.940095,64.315067 -101.939977,64.315112 -101.939720,64.315339 -101.935412,64.317904 -101.935110,64.318019 -101.934313,64.318499 -101.934207,64.318587 -101.934041,64.318663 -101.933661,64.318892 -101.933604,64.318929 -101.933570,64.318946 -101.933443,64.319023 -101.933300,64.319086 -101.933201,64.319151 -101.933038,64.319210 -101.932838,64.319309 -101.932719,64.319407 -101.932195,64.319680 -101.931829,64.319811 -101.931266,64.320090 -101.931196,64.320122 -101.930905,64.320219 -101.930523,64.320517 -101.923962,64.323670 -101.923528,64.323819 -101.923453,64.323856 -101.923251,64.323926 -101.922129,64.324478 -101.921430,64.324793 -101.920668,64.325045 -101.920236,64.325253 -101.919813,64.325436 -101.919766,64.325451 -101.919168,64.325712 -101.917859,64.326140 -101.915852,64.327017 -101.907777,64.329873 -101.906958,64.330112 -101.907063,64.330561 -101.907035,64.330695 -101.907051,64.331500 -101.907246,64.331807 -101.907348,64.333048 -101.907260,64.333355 -101.907345,64.334398 -101.907277,64.335189 -101.906983,64.335975 -101.906991,64.336970 -101.905656,64.342647 -101.905134,64.343804 -101.905084,64.344316 -101.905033,64.344429 -101.905014,64.344730 -101.903635,64.348347 -101.903167,64.349237 -101.903140,64.349439 -101.902879,64.349934 -101.902834,64.349975 -101.902811,64.350137 -101.902532,64.350654 -101.902426,64.350748 -101.902224,64.351102 -101.902220,64.351113 -101.902216,64.351116 -101.901951,64.351580 -101.901941,64.351630 -101.901940,64.351631 -101.901919,64.351743 -101.900574,64.353873 -101.900494,64.354849 -101.900452,64.354961 -101.900454,64.354983 -101.900428,64.355286 -101.900139,64.356059 -101.900149,64.357048 -101.899515,64.359772 -101.898993,64.360933 -101.898942,64.361454 -101.898662,64.362076 -101.898623,64.362147 -101.898594,64.362432 -101.898224,64.363232 -101.897957,64.363702 -101.897956,64.363718 -101.897824,64.363998 -101.897821,64.364016 -101.897587,64.364429 -101.897572,64.364442 -101.897170,64.365146 -101.897141,64.365303 -101.896759,64.365907 -101.896750,64.365926 -101.896700,64.366437 -101.896419,64.367057 -101.896380,64.367128 -101.896351,64.367407 -101.895991,64.368183 -101.895739,64.368627 -101.895738,64.368638 -101.895605,64.368919 -101.895593,64.368940 -101.895590,64.368960 -101.895361,64.369364 -101.895341,64.369381 -101.894980,64.370013 -101.894949,64.370185 -101.894105,64.371528 -101.893934,64.371674 -101.893920,64.371705 -101.893888,64.371861 -101.893820,64.371936 -101.893780,64.372027 -101.893469,64.372424 -101.893461,64.372465 -101.893315,64.372622 -101.893109,64.372886 -101.893050,64.373011 -101.892940,64.373102 -101.892879,64.373180 -101.892850,64.373603 -101.892599,64.374252 -101.892568,64.374310 -101.892532,64.374810 -101.891950,64.376269 -101.891495,64.377119 -101.891471,64.377297 -101.890924,64.378319 -101.889952,64.379184 -101.889698,64.380167 -101.889040,64.380994 -101.888906,64.381100 -101.888337,64.381815 -101.887558,64.382661 -101.887279,64.382868 -101.886894,64.383292 -101.886323,64.383718 -101.885335,64.384808 -101.883355,64.386522 -101.881488,64.388144 -101.878889,64.390442 -101.878097,64.390980 -101.877499,64.391610 -101.874230,64.394228 -101.873016,64.395019 -101.872452,64.395575 -101.868341,64.398524 -101.864232,64.401612 -101.862444,64.403078 -101.863157,64.403697 -101.863182,64.403734 -101.863228,64.403759 -101.863392,64.403901 -101.863528,64.404102 -101.863741,64.404220 -101.863800,64.404275 -101.863871,64.404386 -101.863986,64.404450 -101.864983,64.405388 -101.865154,64.405656 -101.866131,64.406574 -101.868218,64.408961 -101.868804,64.410020 -101.868977,64.410185 -101.869441,64.410742 -101.869488,64.410831 -101.869512,64.410854 -101.869582,64.410939 -101.869591,64.410955 -101.869812,64.411203 -101.870341,64.412158 -101.870581,64.412758 -101.871196,64.413495 -101.871214,64.413536 -101.871253,64.413649 -101.871343,64.413757 -101.872170,64.415669 -101.872112,64.416171 -101.872350,64.416663 -101.872650,64.417076 -101.872666,64.417317 -101.872890,64.417779 -101.872745,64.418488 -101.872750,64.418560 -101.873114,64.419133 -101.873223,64.420489 -101.873132,64.420800 -101.873216,64.421847 -101.873145,64.422650 -101.872841,64.423453 -101.872846,64.424455 -101.872242,64.426957 -101.871718,64.428110 -101.871668,64.428611 -101.871499,64.428981 -101.871491,64.429070 -101.871420,64.429231 -101.871339,64.429376 -101.871318,64.429572 -101.871129,64.429976 -101.870909,64.430363 -101.870874,64.430641 -101.868840,64.434677 -101.868840,64.434677 -101.868840,64.434677 -101.868840,64.434677 -101.868840,64.434678 -101.867039,64.438251 -101.866304,64.439935 -101.866198,64.440230 -101.867899,64.440351 -101.870032,64.440349 -101.882682,64.440913 -101.884427,64.441061 -101.885614,64.441070 -101.897685,64.441824 -101.899990,64.442041 -101.900649,64.442056 -101.903591,64.442332 -101.903608,64.442335 -101.904384,64.442406 -101.905075,64.442548 -101.906235,64.442642 -101.906510,64.442652 -101.906638,64.442674 -101.907407,64.442737 -101.907473,64.442739 -101.912371,64.443353 -101.918808,64.444158 -101.918852,64.444168 -101.918854,64.444168 -101.918902,64.444170 -101.918925,64.444174 -101.918949,64.444176 -101.918992,64.444185 -101.920158,64.444387 -101.920689,64.444412 -101.922416,64.444665 -101.922612,64.444711 -101.924131,64.444934 -101.925454,64.445155 -101.927228,64.445596 -101.928339,64.445768 -101.930474,64.446163 -101.931108,64.446328 -101.931393,64.446380 -101.932845,64.446742 -101.932924,64.446765 -101.935114,64.447170 -101.946177,64.449945 -101.948206,64.450546 -101.948896,64.450687 -101.949021,64.450724 -101.949091,64.450738 -101.949410,64.450832 -101.949737,64.450897 -101.950303,64.451059 -101.950351,64.451061 -101.951790,64.451296 -101.952356,64.451436 -101.952665,64.451481 -101.954106,64.451723 -101.955039,64.451955 -101.957535,64.452374 -101.965661,64.454104 -101.968091,64.454772 -101.969727,64.455092 -101.973495,64.456128 -101.977095,64.457240 -101.977245,64.457274 -101.980318,64.458328 -101.980374,64.458357 -101.980379,64.458358 -101.980456,64.458375 -101.980487,64.458389 -101.980525,64.458399 -101.984844,64.460116 -101.988872,64.461952 -101.990731,64.463052 -101.992608,64.463907 -101.993681,64.464554 -101.994796,64.465318 -101.995098,64.465465 -101.995885,64.466004 -101.995995,64.466141 -101.996041,64.466172 -101.996465,64.466381 -101.999192,64.468333 -101.999455,64.468669 -102.000042,64.468970 -102.000503,64.469423 -102.001041,64.469772 -102.001457,64.470339 -102.002186,64.470737 -102.003247,64.471698 -102.003527,64.472123 -102.004041,64.472574 -102.004936,64.473458 -102.005241,64.473951 -102.006334,64.475030 -102.007979,64.477166 -102.008473,64.478138 -102.008517,64.478192 -102.008644,64.478434 -102.009176,64.479044 -102.009681,64.480038 -102.009924,64.480677 -102.010303,64.481142 -102.011014,64.482898 -102.010958,64.483344 -102.011118,64.483671 -102.011395,64.484048 -102.011409,64.484264 -102.011585,64.484623 -102.011843,64.486851 -102.011790,64.489077 -102.011454,64.490057 -102.011424,64.491302 -102.010837,64.493226 -102.010328,64.494271 -102.010290,64.494607 -102.009624,64.495978 -102.008436,64.497063 -102.008099,64.498327 -102.007299,64.499307 -102.007102,64.499459 -102.006434,64.500277 -102.005451,64.501294 -102.005008,64.501616 -102.004555,64.502090 -102.003655,64.502747 -102.002557,64.503896 -101.999265,64.506499 -101.997772,64.507466 -101.997309,64.507896 -101.996973,64.508113 -101.996766,64.508308 -101.995824,64.508935 -101.994746,64.509579 -101.994606,64.509702 -101.993344,64.510455 -101.992578,64.510747 -101.992038,64.511195 -101.989811,64.512300 -101.987486,64.513366 -101.986806,64.513593 -101.985063,64.514391 -101.982435,64.515419 -101.980076,64.516144 -101.978515,64.516780 -101.975811,64.517610 -101.973367,64.518272 -101.972411,64.518632 -101.967854,64.519816 -101.967437,64.519877 -101.966584,64.520105 -101.966354,64.520188 -101.966075,64.520241 -101.965865,64.520297 -101.965604,64.520374 -101.965484,64.520399 -101.965262,64.520458 -101.965074,64.520484 -101.962543,64.521008 -101.962251,64.521105 -101.959185,64.521701 -101.958373,64.521797 -101.956066,64.522245 -101.953788,64.522598 -101.951642,64.522812 -101.950602,64.522973 -101.950072,64.523026 -101.948927,64.523214 -101.946781,64.523428 -101.945557,64.523517 -101.944145,64.523736 -101.938699,64.524187 -101.937180,64.524285 -101.936991,64.524313 -101.935277,64.524424 -101.934749,64.524409 -101.933651,64.524508 -101.933558,64.524520 -101.933508,64.524520 -101.933461,64.524525 -101.933365,64.524521 -101.933359,64.524521 -101.933266,64.524534 -101.931980,64.524592 -101.931790,64.524584 -101.929611,64.524593 -101.928878,64.524680 -101.925791,64.524724 -101.925020,64.524682 -101.922544,64.524718 -101.921622,64.524701 -101.919855,64.524576 -101.917715,64.524578 -101.917417,64.524565 -101.914899,64.524842 -101.912567,64.525024 -101.911939,64.525120 -101.909734,64.525291 -101.909270,64.525281 -101.909033,64.525299 -101.908736,64.525346 -101.908100,64.525399 -101.907897,64.525413 -101.907624,64.525451 -101.906329,64.525527 -101.906212,64.525523 -101.904491,64.525636 -101.903770,64.525639 -101.903322,64.525677 -101.902477,64.525645 -101.901890,64.525648 -101.900982,64.525759 -101.890770,64.525996 -101.889802,64.525947 -101.889137,64.526026 -101.884315,64.526090 -101.876448,64.526498 -101.870715,64.526856 -101.863566,64.527488 -101.862715,64.527575 -101.862225,64.527850 -101.859032,64.529863 -101.858619,64.530024 -101.858573,64.530051 -101.858514,64.530107 -101.858282,64.530261 -101.857097,64.530968 -101.857024,64.531028 -101.856906,64.531082 -101.856030,64.531604 -101.856021,64.531610 -101.856018,64.531611 -101.855664,64.531822 -101.855473,64.531906 -101.855348,64.531987 -101.855012,64.532108 -101.854935,64.532142 -101.854717,64.532317 -101.854099,64.532632 -101.853416,64.532873 -101.852606,64.533224 -101.852108,64.533602 -101.848492,64.535281 -101.847835,64.535502 -101.847775,64.535531 -101.847473,64.535633 -101.846150,64.536266 -101.845427,64.536576 -101.844997,64.536715 -101.844900,64.536761 -101.844640,64.536871 -101.843841,64.537127 -101.843605,64.537238 -101.842687,64.537620 -101.841860,64.537882 -101.840948,64.538269 -101.840398,64.538454 -101.839771,64.538632 -101.838603,64.539118 -101.830481,64.541737 -101.828469,64.542294 -101.827959,64.542491 -101.826923,64.542778 -101.826893,64.542783 -101.826603,64.542895 -101.825517,64.543194 -101.824910,64.543286 -101.824793,64.543332 -101.824630,64.543380 -101.824353,64.543452 -101.824025,64.543552 -101.823915,64.543567 -101.823235,64.543745 -101.822938,64.543851 -101.822524,64.543931 -101.822291,64.543992 -101.821649,64.544180 -101.821308,64.544249 -101.821210,64.544275 -101.820915,64.544329 -101.820267,64.544460 -101.819968,64.544545 -101.819614,64.544592 -101.817936,64.544932 -101.817486,64.545084 -101.809048,64.546772 -101.807875,64.546912 -101.807424,64.547008 -101.806130,64.547258 -101.805306,64.547354 -101.802986,64.547800 -101.801638,64.548007 -101.799435,64.548223 -101.798389,64.548384 -101.797920,64.548430 -101.796786,64.548615 -101.794583,64.548831 -101.793275,64.548925 -101.791864,64.549141 -101.777138,64.550325 -101.776455,64.550310 -101.776134,64.550336 -101.774801,64.550421 -101.774475,64.550471 -101.774392,64.550478 -101.774105,64.550496 -101.773817,64.550535 -101.773420,64.550539 -101.772740,64.550583 -101.772042,64.550644 -101.771923,64.550640 -101.771812,64.550655 -101.771138,64.550684 -101.770994,64.550693 -101.770923,64.550694 -101.770847,64.550697 -101.770785,64.550694 -101.770726,64.550702 -101.770693,64.550704 -101.770481,64.550695 -101.769907,64.550697 -101.769359,64.550741 -101.768359,64.550703 -101.767212,64.550707 -101.766088,64.550838 -101.755370,64.550976 -101.743542,64.551284 -101.743208,64.551267 -101.742958,64.551298 -101.732738,64.551527 -101.731846,64.551482 -101.731480,64.551525 -101.729528,64.551551 -101.728777,64.551509 -101.726318,64.551542 -101.725405,64.551525 -101.723682,64.551401 -101.721538,64.551402 -101.711486,64.550952 -101.709692,64.550799 -101.708459,64.550788 -101.695811,64.549986 -101.693494,64.549766 -101.692829,64.549750 -101.689870,64.549470 -101.689101,64.549310 -101.688423,64.549253 -101.686827,64.549728 -101.685556,64.550235 -101.681773,64.551361 -101.677849,64.552399 -101.673729,64.553243 -101.669516,64.553991 -101.667873,64.554170 -101.665211,64.554643 -101.662045,64.555042 -101.659369,64.555269 -101.658278,64.555439 -101.654476,64.555761 -101.650640,64.556010 -101.650212,64.556012 -101.649894,64.556038 -101.649280,64.556014 -101.649038,64.556015 -101.648402,64.556094 -101.639236,64.556369 -101.637988,64.556310 -101.633173,64.556305 -101.632239,64.556314 -101.631849,64.556304 -101.631550,64.556303 -101.631254,64.556289 -101.628440,64.556232 -101.627868,64.556190 -101.627598,64.556192 -101.626922,64.556175 -101.623529,64.555917 -101.621959,64.555885 -101.621767,64.555868 -101.620770,64.555761 -101.619901,64.555738 -101.616290,64.555381 -101.615358,64.555185 -101.614602,64.555123 -101.613689,64.555086 -101.613223,64.555008 -101.612389,64.554939 -101.607150,64.554107 -101.602059,64.553132 -101.599700,64.552509 -101.597116,64.552014 -101.595757,64.551657 -101.593896,64.551091 -101.593371,64.550981 -101.592060,64.550583 -101.591797,64.550455 -101.591071,64.550299 -101.582644,64.547619 -101.582034,64.547317 -101.581106,64.547106 -101.580034,64.546660 -101.579105,64.546385 -101.578029,64.545826 -101.577365,64.545675 -101.577154,64.545582 -101.576643,64.545455 -101.574903,64.544746 -101.573556,64.543990 -101.571518,64.543089 -101.571308,64.543003 -101.571067,64.542889 -101.570352,64.542573 -101.570100,64.542431 -101.569535,64.542164 -101.568579,64.541583 -101.568087,64.541573 -101.567447,64.541518 -101.567277,64.541500 -101.566993,64.541494 -101.564970,64.541318 -101.563850,64.541198 -101.563058,64.541176 -101.558392,64.540703 -101.558710,64.540938 -101.562664,64.543420 -101.563663,64.544123 -101.563895,64.544237 -101.564405,64.544596 -101.564574,64.544679 -101.567774,64.546898 -101.567918,64.547080 -101.567928,64.547084 -101.568256,64.547308 -101.568428,64.547523 -101.569057,64.547849 -101.569337,64.548125 -101.569365,64.548142 -101.569390,64.548177 -101.569459,64.548244 -101.569693,64.548366 -101.569835,64.548505 -101.570174,64.548727 -101.570341,64.548959 -101.570560,64.549072 -101.570654,64.549173 -101.571006,64.549404 -101.571077,64.549503 -101.571127,64.549530 -101.571413,64.549787 -101.571566,64.549886 -101.573326,64.551143 -101.573513,64.551239 -101.575513,64.552791 -101.575578,64.552879 -101.575592,64.552888 -101.575725,64.552957 -101.575766,64.552999 -101.575830,64.553040 -101.578246,64.555315 -101.580295,64.557651 -101.581000,64.558933 -101.581976,64.560046 -101.582705,64.561411 -101.583056,64.562322 -101.583214,64.562519 -101.583609,64.563542 -101.583567,64.563830 -101.583859,64.564439 -101.583946,64.564558 -101.584486,64.566648 -101.584472,64.566714 -101.584518,64.566778 -101.584522,64.567008 -101.584602,64.567185 -101.584531,64.567516 -101.584687,64.567734 -101.584686,64.567794 -101.584738,64.567871 -101.584823,64.568419 -101.584710,64.568851 -101.584844,64.569999 -101.584832,64.571357 -101.584577,64.572098 -101.584566,64.573339 -101.584143,64.574968 -101.583603,64.576111 -101.583549,64.576594 -101.583061,64.577628 -101.582628,64.578373 -101.582576,64.578684 -101.581657,64.580249 -101.581311,64.580545 -101.581245,64.580691 -101.581179,64.580995 -101.581041,64.581145 -101.580941,64.581368 -101.580784,64.581495 -101.580748,64.581662 -101.580477,64.581948 -101.580384,64.582141 -101.580040,64.582421 -101.580001,64.582601 -101.579712,64.582893 -101.579655,64.583097 -101.579272,64.583557 -101.579201,64.583611 -101.579008,64.583846 -101.578860,64.583960 -101.578256,64.584697 -101.576109,64.586956 -101.575470,64.587420 -101.575292,64.587632 -101.574597,64.588330 -101.573782,64.588910 -101.573291,64.589393 -101.573073,64.589551 -101.572394,64.590232 -101.570825,64.591412 -101.569358,64.592332 -101.568961,64.592689 -101.566980,64.593932 -101.564880,64.595140 -101.562340,64.596367 -101.559678,64.597544 -101.558784,64.597835 -101.556893,64.598670 -101.553900,64.599777 -101.551519,64.600481 -101.550232,64.600992 -101.546422,64.602119 -101.542472,64.603158 -101.537833,64.604086 -101.533081,64.604893 -101.530918,64.605120 -101.528218,64.605578 -101.524640,64.605983 -101.522158,64.606177 -101.521380,64.606294 -101.518097,64.606551 -101.516587,64.606515 -101.514790,64.606753 -101.507699,64.606814 -101.500644,64.606624 -101.495591,64.606237 -101.493625,64.606184 -101.490010,64.605825 -101.489071,64.605627 -101.488298,64.605563 -101.487379,64.605525 -101.486909,64.605446 -101.486063,64.605375 -101.480849,64.604545 -101.475782,64.603573 -101.473456,64.602958 -101.470861,64.602460 -101.469518,64.602107 -101.467640,64.601536 -101.467101,64.601423 -101.465815,64.601032 -101.465575,64.600915 -101.464876,64.600765 -101.460373,64.599337 -101.459731,64.599019 -101.458746,64.598795 -101.457678,64.598350 -101.456721,64.598066 -101.455642,64.597505 -101.454964,64.597351 -101.454790,64.597274 -101.454300,64.597152 -101.452543,64.596436 -101.451209,64.595687 -101.451173,64.595671 -101.449714,64.595085 -101.447929,64.594264 -101.446126,64.593185 -101.444241,64.592318 -101.443196,64.591682 -101.442070,64.590901 -101.441754,64.590747 -101.441434,64.590525 -101.437747,64.588387 -101.436457,64.587515 -101.435994,64.587291 -101.434335,64.586168 -101.434071,64.585841 -101.432890,64.585082 -101.432770,64.585020 -101.432733,64.584981 -101.432682,64.584949 -101.432630,64.584875 -101.432622,64.584868 -101.432506,64.584807 -101.431394,64.583900 -101.431366,64.583886 -101.431272,64.583791 -101.431110,64.583687 -101.430992,64.583521 -101.429415,64.582801 -101.427070,64.582243 -101.424602,64.582183 -101.421742,64.581967 -101.419570,64.581933 -101.419383,64.581919 -101.418997,64.581916 -101.417733,64.581842 -101.415266,64.581611 -101.414438,64.581591 -101.411439,64.581311 -101.410751,64.581168 -101.408758,64.581002 -101.408427,64.580989 -101.399599,64.579881 -101.399448,64.579847 -101.399432,64.579846 -101.399266,64.579839 -101.399188,64.579825 -101.399100,64.579818 -101.398947,64.579783 -101.397991,64.579615 -101.397437,64.579587 -101.395786,64.579342 -101.395609,64.579299 -101.394146,64.579082 -101.392796,64.578855 -101.391771,64.578597 -101.391108,64.578495 -101.389291,64.578170 -101.387964,64.577829 -101.385328,64.577357 -101.380770,64.576296 -101.373521,64.575312 -101.373048,64.575202 -101.372766,64.575152 -101.372486,64.575140 -101.372339,64.575118 -101.372133,64.575107 -101.370612,64.574877 -101.370384,64.574822 -101.368768,64.574578 -101.367583,64.574372 -101.366520,64.574101 -101.365884,64.574002 -101.364178,64.573688 -101.362827,64.573335 -101.361780,64.573138 -101.361508,64.573068 -101.359848,64.572762 -101.358993,64.572553 -101.357020,64.571971 -101.355932,64.571755 -101.346932,64.569258 -101.345300,64.568747 -101.344936,64.568669 -101.344086,64.568403 -101.342832,64.568013 -101.342403,64.567803 -101.341941,64.567671 -101.341294,64.567527 -101.333425,64.564862 -101.333181,64.564737 -101.333120,64.564719 -101.332800,64.564646 -101.332667,64.564589 -101.332487,64.564538 -101.332273,64.564426 -101.332014,64.564367 -101.331609,64.564193 -101.331281,64.564097 -101.331163,64.564035 -101.331041,64.564006 -101.330743,64.563891 -101.330648,64.563839 -101.329810,64.563659 -101.328422,64.563365 -101.326539,64.563083 -101.317298,64.561776 -101.316907,64.561683 -101.316850,64.561681 -101.316452,64.561620 -101.316222,64.561608 -101.314869,64.561401 -101.314612,64.561338 -101.312921,64.561079 -101.311826,64.560886 -101.310799,64.560622 -101.310320,64.560547 -101.308708,64.560248 -101.307313,64.559883 -101.306143,64.559661 -101.305922,64.559605 -101.304366,64.559316 -101.303492,64.559102 -101.301463,64.558501 -101.300369,64.558282 -101.296252,64.557132 -101.289477,64.558036 -101.288701,64.558103 -101.288006,64.558225 -101.278597,64.559385 -101.275917,64.559606 -101.274820,64.559773 -101.272535,64.559961 -101.270977,64.560058 -101.270239,64.560163 -101.269516,64.560208 -101.269091,64.560195 -101.268203,64.560318 -101.259503,64.560815 -101.258806,64.560790 -101.258074,64.560886 -101.257449,64.560888 -101.256797,64.560942 -101.256278,64.560920 -101.255895,64.560970 -101.255781,64.560969 -101.255672,64.560983 -101.254769,64.561011 -101.253787,64.560964 -101.253397,64.560963 -101.253219,64.560986 -101.253108,64.560988 -101.252699,64.561035 -101.250344,64.561066 -101.249755,64.561033 -101.247464,64.561064 -101.240513,64.560957 -101.237716,64.560756 -101.234978,64.560717 -101.232159,64.560514 -101.231872,64.560485 -101.230849,64.560468 -101.229131,64.560338 -101.227078,64.560126 -101.226616,64.560112 -101.224118,64.559855 -101.223067,64.559631 -101.222986,64.559623 -101.221638,64.559566 -101.220846,64.559424 -101.220355,64.559379 -101.219543,64.559192 -101.218822,64.559063 -101.217789,64.559005 -101.211619,64.558012 -101.211440,64.557968 -101.210780,64.557864 -101.210407,64.557772 -101.208474,64.557465 -101.207677,64.557316 -101.205814,64.556826 -101.205211,64.556713 -101.205029,64.556668 -101.204782,64.556595 -101.202393,64.556133 -101.198481,64.555103 -101.195791,64.554279 -101.194348,64.553868 -101.193591,64.553699 -101.190678,64.552714 -101.190392,64.552567 -101.190307,64.552543 -101.190293,64.552540 -101.189491,64.552757 -101.189259,64.552791 -101.189235,64.552798 -101.188939,64.552841 -101.188861,64.552872 -101.188725,64.552911 -101.188089,64.553074 -101.187883,64.553136 -101.187817,64.553144 -101.187044,64.553343 -101.186795,64.553431 -101.186459,64.553494 -101.185910,64.553635 -101.185447,64.553767 -101.185216,64.553813 -101.185113,64.553840 -101.184809,64.553894 -101.184495,64.553956 -101.184213,64.554035 -101.183873,64.554079 -101.182826,64.554286 -101.182413,64.554425 -101.173357,64.556273 -101.172597,64.556363 -101.172130,64.556517 -101.163638,64.558167 -101.162498,64.558298 -101.162386,64.558334 -101.161238,64.558553 -101.160535,64.558632 -101.158310,64.559055 -101.157056,64.559248 -101.155149,64.559431 -101.155117,64.559437 -101.153912,64.559621 -101.153115,64.559698 -101.151973,64.559880 -101.150087,64.560061 -101.149269,64.560117 -101.147782,64.560344 -101.135729,64.561360 -101.134881,64.561413 -101.134656,64.561447 -101.123710,64.562295 -101.122285,64.562379 -101.122028,64.562416 -101.113683,64.562975 -101.101417,64.564019 -101.099605,64.564133 -101.099309,64.564175 -101.097399,64.564295 -101.097153,64.564287 -101.095708,64.564377 -101.095546,64.564399 -101.094919,64.564426 -101.094216,64.564470 -101.094058,64.564470 -101.093919,64.564482 -101.093644,64.564470 -101.093602,64.564470 -101.093326,64.564504 -101.082546,64.564885 -101.075144,64.565149 -101.064969,64.565595 -101.059445,64.566094 -101.055338,64.566676 -101.044711,64.568243 -101.041004,64.568884 -101.037110,64.569600 -101.032205,64.570757 -101.031941,64.570791 -101.031883,64.570806 -101.031673,64.570880 -101.031540,64.570903 -101.031407,64.570942 -101.031182,64.570986 -101.031025,64.571026 -101.030600,64.571101 -101.030313,64.571181 -101.029970,64.571225 -101.029265,64.571365 -101.028890,64.571491 -101.023317,64.572650 -101.017141,64.574001 -101.016512,64.574079 -101.016183,64.574137 -101.015635,64.574321 -101.009382,64.575612 -101.008591,64.575706 -101.008576,64.575709 -101.008340,64.575787 -101.007161,64.576020 -101.006781,64.576064 -101.004966,64.576424 -101.003782,64.576625 -101.002835,64.576722 -101.002809,64.576727 -101.001443,64.576959 -100.999621,64.577146 -100.999189,64.577216 -100.996875,64.577608 -100.991338,64.578249 -100.988735,64.578451 -100.987788,64.578592 -100.985547,64.578766 -100.983990,64.578858 -100.983363,64.578945 -100.981451,64.579058 -100.981213,64.579050 -100.979721,64.579136 -100.979613,64.579150 -100.979473,64.579150 -100.978712,64.579194 -100.978694,64.579196 -100.977269,64.579203 -100.976848,64.579253 -100.975009,64.579293 -100.974784,64.579281 -100.973168,64.579317 -100.964575,64.579348 -100.964162,64.579322 -100.962789,64.579344 -100.957442,64.579306 -100.956781,64.579261 -100.956556,64.579261 -100.955359,64.579184 -100.952607,64.579186 -100.951410,64.579140 -100.948592,64.578901 -100.946958,64.578865 -100.945904,64.578776 -100.945111,64.578760 -100.937763,64.578156 -100.935830,64.577950 -100.935440,64.577937 -100.934807,64.577869 -100.934570,64.577862 -100.933769,64.577780 -100.932396,64.577776 -100.932193,64.577763 -100.931607,64.577773 -100.923543,64.577715 -100.916965,64.577874 -100.915905,64.577818 -100.915825,64.577828 -100.915599,64.577830 -100.915107,64.577884 -100.912653,64.577905 -100.911921,64.577860 -100.909475,64.577880 -100.908514,64.577858 -100.907061,64.577746 -100.906124,64.577808 -100.905726,64.577795 -100.903831,64.577911 -100.903585,64.577942 -100.903297,64.577943 -100.902057,64.578019 -100.902055,64.578019 -100.902055,64.578019 -100.901760,64.578037 -100.901599,64.578036 -100.901457,64.578048 -100.901248,64.578039 -100.901142,64.578052 -100.901071,64.578054 -100.901004,64.578051 -100.900850,64.578070 -100.892723,64.578345 -100.892433,64.578332 -100.892162,64.578352 -100.891332,64.578315 -100.890741,64.578313 -100.889828,64.578418 -100.885581,64.578488 -100.884439,64.578589 -100.878509,64.579210 -100.872388,64.579984 -100.869627,64.580212 -100.868329,64.580407 -100.866053,64.580595 -100.864683,64.580678 -100.864284,64.580738 -100.864073,64.580756 -100.863691,64.580810 -100.862618,64.580879 -100.862550,64.580876 -100.858613,64.581118 -100.858584,64.581118 -100.858557,64.581120 -100.858501,64.581118 -100.858498,64.581118 -100.858443,64.581125 -100.848276,64.581516 -100.844650,64.581662 -100.844126,64.582051 -100.843067,64.583047 -100.842640,64.584199 -100.842575,64.586113 -100.842423,64.586523 -100.842457,64.587288 -100.842384,64.587860 -100.842051,64.588657 -100.842044,64.588748 -100.842042,64.588754 -100.842011,64.589693 -100.841308,64.592188 -100.840748,64.593314 -100.840682,64.593999 -100.839021,64.598043 -100.838502,64.598963 -100.838464,64.599187 -100.838185,64.599683 -100.838151,64.599712 -100.838123,64.599869 -100.837676,64.600646 -100.837494,64.600801 -100.837441,64.600922 -100.837123,64.601174 -100.836994,64.601699 -100.836507,64.602217 -100.836229,64.602755 -100.835804,64.603092 -100.835754,64.603295 -100.835453,64.603589 -100.835382,64.603814 -100.834907,64.604353 -100.834807,64.604426 -100.834547,64.604726 -100.834343,64.604877 -100.833636,64.605690 -100.832611,64.606693 -100.831983,64.607465 -100.831648,64.607719 -100.831563,64.607802 -100.831515,64.607957 -100.831449,64.608033 -100.831395,64.608072 -100.831361,64.608180 -100.831036,64.608549 -100.830934,64.608624 -100.830670,64.608927 -100.830461,64.609081 -100.829747,64.609901 -100.827516,64.612076 -100.827226,64.612278 -100.827200,64.612307 -100.826895,64.612604 -100.826541,64.612849 -100.826497,64.612899 -100.826223,64.613163 -100.826071,64.613268 -100.825874,64.613461 -100.825095,64.614002 -100.824717,64.614359 -100.824540,64.614481 -100.823701,64.615304 -100.821673,64.616808 -100.820156,64.617741 -100.819714,64.618129 -100.819452,64.618290 -100.819261,64.618460 -100.818439,64.618982 -100.817340,64.619610 -100.817199,64.619728 -100.816461,64.620149 -100.816277,64.620217 -100.816224,64.620247 -100.815993,64.620437 -100.814079,64.621498 -100.813804,64.621597 -100.813224,64.621931 -100.813128,64.622007 -100.812984,64.622069 -100.812677,64.622245 -100.812652,64.622261 -100.812637,64.622268 -100.812594,64.622293 -100.812559,64.622305 -100.811392,64.622858 -100.811287,64.622936 -100.809946,64.623566 -100.809735,64.623636 -100.808571,64.624183 -100.806847,64.624921 -100.806729,64.624959 -100.805792,64.626071 -100.804302,64.627618 -100.803694,64.628050 -100.802647,64.629136 -100.800650,64.630771 -100.799049,64.631800 -100.798323,64.632452 -100.795796,64.634077 -100.793067,64.635644 -100.791673,64.636128 -100.790929,64.636666 -100.788706,64.637652 -100.788107,64.637845 -100.786397,64.638603 -100.783786,64.639601 -100.781406,64.640308 -100.779647,64.640998 -100.777218,64.641719 -100.775184,64.642247 -100.773966,64.642694 -100.771369,64.643361 -100.770587,64.643718 -100.762080,64.647185 -100.760919,64.647541 -100.760729,64.647627 -100.759559,64.648095 -100.758406,64.648446 -100.757482,64.648814 -100.756552,64.649099 -100.755384,64.649566 -100.754300,64.649902 -100.752265,64.650442 -100.751751,64.650633 -100.750768,64.650894 -100.750741,64.650898 -100.749958,64.651189 -100.741232,64.653495 -100.740784,64.653559 -100.738853,64.654052 -100.738625,64.654131 -100.738342,64.654183 -100.737543,64.654387 -100.737321,64.654449 -100.737220,64.654470 -100.736806,64.654575 -100.732345,64.655443 -100.727784,64.656200 -100.725839,64.656395 -100.723122,64.656845 -100.719619,64.657237 -100.717033,64.657431 -100.716125,64.657563 -100.712606,64.657826 -100.709062,64.658027 -100.708068,64.658023 -100.707537,64.658062 -100.706564,64.658017 -100.705574,64.658014 -100.704487,64.658133 -100.696932,64.658194 -100.695644,64.658115 -100.694233,64.658136 -100.691793,64.658113 -100.690411,64.658015 -100.690003,64.658011 -100.689417,64.657975 -100.686990,64.657952 -100.684871,64.657829 -100.682278,64.657583 -100.681271,64.657555 -100.678709,64.657311 -100.676671,64.657077 -100.676095,64.657055 -100.670115,64.656338 -100.668815,64.656590 -100.661469,64.657805 -100.659038,64.658047 -100.658153,64.658211 -100.656445,64.658467 -100.656150,64.658494 -100.655751,64.658557 -100.653135,64.659284 -100.649646,64.660156 -100.645074,64.661039 -100.640396,64.661806 -100.638337,64.662009 -100.635615,64.662455 -100.632019,64.662847 -100.629478,64.663032 -100.628634,64.663154 -100.625226,64.663402 -100.624251,64.663456 -100.623836,64.663619 -100.622046,64.664150 -100.620173,64.664635 -100.619785,64.664777 -100.617480,64.665374 -100.616290,64.665540 -100.615132,64.665939 -100.610562,64.666821 -100.605887,64.667585 -100.603831,64.667788 -100.601108,64.668234 -100.597511,64.668625 -100.594967,64.668810 -100.594121,64.668932 -100.590707,64.669180 -100.587271,64.669369 -100.585563,64.669374 -100.585112,64.669426 -100.583052,64.669461 -100.582768,64.669445 -100.580991,64.669475 -100.571840,64.669445 -100.571652,64.669432 -100.567240,64.670323 -100.566433,64.670416 -100.566200,64.670492 -100.565034,64.670718 -100.564656,64.670760 -100.562839,64.671113 -100.561656,64.671309 -100.560669,64.671408 -100.560604,64.671420 -100.559206,64.671651 -100.557409,64.671829 -100.556306,64.672004 -100.554582,64.672288 -100.549210,64.672888 -100.543274,64.673785 -100.533235,64.675490 -100.532760,64.675538 -100.532478,64.675593 -100.531841,64.675699 -100.530856,64.675797 -100.530788,64.675810 -100.529389,64.676040 -100.527992,64.676179 -100.527255,64.676296 -100.526867,64.676335 -100.526839,64.676337 -100.526568,64.676380 -100.524769,64.676676 -100.516413,64.677608 -100.513806,64.677801 -100.513645,64.677824 -100.512528,64.677993 -100.505896,64.678567 -100.497522,64.679468 -100.494985,64.679650 -100.494148,64.679770 -100.491964,64.679927 -100.491006,64.679979 -100.490998,64.679979 -100.490763,64.680013 -100.490752,64.680014 -100.490168,64.680046 -100.489888,64.680083 -100.489128,64.680124 -100.488890,64.680115 -100.488432,64.680140 -100.488184,64.680161 -100.488111,64.680157 -100.488031,64.680162 -100.487502,64.680230 -100.480443,64.680549 -100.477714,64.680746 -100.473396,64.681393 -100.472756,64.681452 -100.471794,64.681624 -100.463363,64.682792 -100.461636,64.682942 -100.459880,64.683234 -100.452196,64.684119 -100.444401,64.685203 -100.443317,64.685297 -100.443259,64.685307 -100.442902,64.685356 -100.441755,64.685455 -100.441409,64.685504 -100.440881,64.685550 -100.439633,64.685739 -100.438594,64.685829 -100.438504,64.685834 -100.438183,64.685882 -100.437025,64.685982 -100.435839,64.686055 -100.435382,64.686123 -100.435337,64.686127 -100.435215,64.686135 -100.434743,64.686202 -100.433967,64.686255 -100.433489,64.686240 -100.433077,64.686265 -100.431843,64.686433 -100.423625,64.686914 -100.422638,64.686878 -100.422478,64.686890 -100.421452,64.687017 -100.420844,64.687017 -100.420039,64.687080 -100.419701,64.687064 -100.419387,64.687102 -100.418389,64.687132 -100.417995,64.687111 -100.414886,64.687164 -100.411536,64.687156 -100.410369,64.687078 -100.407622,64.687071 -100.406105,64.687008 -100.403273,64.686760 -100.401591,64.686717 -100.400536,64.686625 -100.399720,64.686605 -100.398546,64.686506 -100.397756,64.686664 -100.395855,64.687004 -100.394969,64.687098 -100.392575,64.687527 -100.390813,64.687773 -100.388117,64.688007 -100.388021,64.688024 -100.387068,64.688155 -100.387058,64.688156 -100.385993,64.688317 -100.383370,64.688544 -100.381444,64.688663 -100.380084,64.688850 -100.378062,64.688976 -100.377019,64.689146 -100.376409,64.689206 -100.375143,64.689439 -100.369280,64.690315 -100.361295,64.692011 -100.360982,64.692048 -100.360862,64.692080 -100.360312,64.692148 -100.360201,64.692169 -100.359985,64.692243 -100.358942,64.692412 -100.358580,64.692527 -100.358387,64.692563 -100.358210,64.692619 -100.357332,64.692782 -100.357100,64.692807 -100.357082,64.692845 -100.356883,64.692999 -100.356869,64.693026 -100.356812,64.693246 -100.356707,64.693353 -100.356637,64.693493 -100.355292,64.695053 -100.353787,64.696583 -100.353183,64.697005 -100.352121,64.698085 -100.350096,64.699716 -100.348473,64.700742 -100.347723,64.701403 -100.345147,64.703032 -100.342368,64.704602 -100.339924,64.705740 -100.337373,64.706833 -100.336582,64.707080 -100.334715,64.707879 -100.331745,64.708954 -100.329319,64.709647 -100.327849,64.710209 -100.324320,64.711218 -100.320781,64.712111 -100.320364,64.712255 -100.316310,64.713179 -100.316128,64.713202 -100.315901,64.713259 -100.315800,64.713293 -100.315687,64.713313 -100.315626,64.713328 -100.315544,64.713350 -100.315510,64.713357 -100.315466,64.713368 -100.315340,64.713390 -100.314383,64.713572 -100.314144,64.713636 -100.313879,64.713668 -100.313145,64.713809 -100.313066,64.713835 -100.312667,64.713900 -100.311886,64.714049 -100.311501,64.714171 -100.310423,64.714371 -100.310050,64.714411 -100.310019,64.714421 -100.308890,64.714629 -100.308255,64.714697 -100.306078,64.715097 -100.299289,64.716113 -100.299248,64.716117 -100.299178,64.716130 -100.293841,64.716924 -100.289345,64.717833 -100.288846,64.717891 -100.288511,64.717999 -100.283907,64.718900 -100.283001,64.719002 -100.282797,64.719067 -100.281619,64.719289 -100.281164,64.719339 -100.279216,64.719707 -100.277994,64.719901 -100.277068,64.719989 -100.276479,64.720382 -100.275897,64.720915 -100.275065,64.721469 -100.274428,64.722048 -100.273852,64.722432 -100.273254,64.722979 -100.267171,64.727087 -100.265776,64.727898 -100.265485,64.728142 -100.265336,64.728229 -100.265219,64.728329 -100.264504,64.728758 -100.263520,64.729300 -100.263417,64.729383 -100.262299,64.729998 -100.261626,64.730237 -100.261151,64.730603 -100.258634,64.731767 -100.256005,64.732884 -100.255164,64.733145 -100.253264,64.733953 -100.250210,64.735044 -100.247781,64.735733 -100.246373,64.736268 -100.242389,64.737397 -100.238259,64.738432 -100.233710,64.739294 -100.229061,64.740042 -100.227046,64.740236 -100.224311,64.740675 -100.220700,64.741061 -100.218127,64.741242 -100.217249,64.741366 -100.213775,64.741611 -100.210277,64.741795 -100.203304,64.741799 -100.196376,64.741563 -100.191609,64.741160 -100.189492,64.741088 -100.185877,64.740709 -100.184878,64.740491 -100.183917,64.740402 -100.182945,64.740354 -100.182447,64.740266 -100.181479,64.740177 -100.173928,64.738788 -100.166752,64.737107 -100.160397,64.735238 -100.159953,64.735134 -100.159501,64.734974 -100.159186,64.734905 -100.157846,64.734776 -100.157156,64.734742 -100.156796,64.734675 -100.156499,64.734646 -100.155992,64.734526 -100.155801,64.734490 -100.155185,64.734455 -100.150542,64.733745 -100.150177,64.733655 -100.149969,64.733621 -100.149734,64.733607 -100.148531,64.733413 -100.148270,64.733348 -100.146567,64.733073 -100.145576,64.732889 -100.143677,64.732384 -100.143468,64.732344 -100.143346,64.732314 -100.143211,64.732273 -100.139930,64.731622 -100.137350,64.730935 -100.134919,64.730680 -100.133918,64.730461 -100.132949,64.730371 -100.131976,64.730323 -100.131477,64.730234 -100.130505,64.730144 -100.125241,64.729252 -100.120137,64.728217 -100.117755,64.727558 -100.115192,64.727038 -100.113724,64.726633 -100.111902,64.726053 -100.111396,64.725942 -100.109927,64.725475 -100.109663,64.725341 -100.109316,64.725231 -100.108665,64.725082 -100.106231,64.724257 -100.105806,64.724036 -100.105603,64.723976 -100.105059,64.723846 -100.104829,64.723746 -100.104473,64.723640 -100.104002,64.723386 -100.103852,64.723321 -100.103196,64.723157 -100.101943,64.722663 -100.101827,64.722598 -100.100712,64.722159 -100.099115,64.721478 -100.097776,64.720692 -100.094701,64.719274 -100.092412,64.717931 -100.092249,64.717845 -100.092117,64.717758 -100.091774,64.717557 -100.091122,64.717104 -100.088325,64.715262 -100.087806,64.714988 -100.085757,64.713360 -100.085635,64.713184 -100.085584,64.713149 -100.085329,64.713012 -100.085250,64.712928 -100.085115,64.712838 -100.082516,64.710167 -100.081798,64.709228 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-100.106989,64.584208 -100.110827,64.581957 -100.110827,64.581957 -100.110827,64.581957 -100.108293,64.580975 -100.108293,64.580975 -100.108293,64.580975 -100.107748,64.580930 -100.107748,64.580930 -100.107748,64.580930 -100.107571,64.582821 -100.107571,64.582821 -100.107571,64.582821 -100.106989,64.584208 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-99.970976,64.652234 -99.970976,64.652234 -99.970423,64.651925 -99.970423,64.651925 -99.970423,64.651925 -99.967208,64.651254 -99.967208,64.651254 -99.967208,64.651254 -99.961357,64.650730 -99.961357,64.650730 -99.961357,64.650730 -99.959810,64.650493 -99.959810,64.650493 -99.960313,64.650807 -99.960313,64.650807 -99.960313,64.650807 -99.963772,64.651876 -99.963772,64.651876 -99.963772,64.651876 -99.969815,64.652369 -99.970978,64.652243 -99.970978,64.652243 -99.970978,64.652243 -99.970976,64.652234 -99.970976,64.652234 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-100.050087,64.623584 -100.050087,64.623584 -100.049735,64.623459 -100.049735,64.623459 -100.049735,64.623459 -100.049402,64.623416 -100.049402,64.623416 -100.049402,64.623416 -100.048922,64.623287 -100.048922,64.623287 -100.048691,64.624026 -100.048691,64.624026 -100.048691,64.624026 -100.048634,64.624133 -100.050892,64.623760 -100.050892,64.623760 -100.050892,64.623760 -100.050087,64.623584 -100.050087,64.623584 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-99.894834,64.651478 -99.890798,64.650019 -99.890798,64.650019 -99.890798,64.650019 -99.890268,64.649785 -99.890268,64.649785 -99.890268,64.649785 -99.886746,64.650940 -99.886746,64.650940 -99.886746,64.650940 -99.885405,64.651304 -99.885405,64.651304 -99.885405,64.651304 -99.881801,64.651684 -99.878339,64.651331 -99.878339,64.651331 -99.878339,64.651331 -99.875310,64.650690 -99.875310,64.650690 -99.875310,64.650690 -99.875247,64.650668 -99.875247,64.650668 -99.875247,64.650668 -99.875171,64.650660 -99.875171,64.650660 -99.875171,64.650660 -99.872596,64.649807 -99.872596,64.649807 -99.872596,64.649807 -99.866983,64.647194 -99.866983,64.647194 -99.866983,64.647194 -99.865566,64.646544 -99.865959,64.647251 -99.865959,64.647251 -99.865959,64.647251 -99.865972,64.647300 -99.865972,64.647300 -99.865972,64.647300 -99.866045,64.647416 -99.866045,64.647416 -99.866045,64.647416 -99.867932,64.651290 -99.867932,64.651290 -99.867932,64.651290 -99.869178,64.653314 -99.869178,64.653314 -99.869178,64.653314 -99.869195,64.653319 -99.869195,64.653319 -99.869195,64.653319 -99.871188,64.653430 -99.871188,64.653430 -99.871188,64.653430 -99.874940,64.653483 -99.879864,64.652851 -99.879864,64.652851 -99.879864,64.652851 -99.888266,64.651727 -99.888266,64.651727 -99.888266,64.651727 -99.889750,64.651630 -99.889750,64.651630 -99.889750,64.651630 -99.890171,64.651581 -99.890171,64.651581 -99.890171,64.651581 -99.894834,64.651478 -99.894834,64.651478 -99.894834,64.651478 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-131.663727,68.870713 -130.186099,69.716742</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-130.394545,69.585550 -130.273036,69.531864 -130.273036,69.531864 -130.267885,69.529293 -130.267885,69.529293 -130.231217,69.508544 -130.231217,69.508544 -130.225315,69.504485 -130.225315,69.504485 -130.198591,69.481590 -130.198591,69.481590 -130.193748,69.475554 -130.193748,69.475554 -130.193859,69.474462 -130.193859,69.474462 -130.193051,69.473611 -130.193051,69.473611 -130.186099,69.446437 -130.186099,69.446437 -130.187893,69.437611 -130.187893,69.437611 -130.192198,69.433037 -130.192198,69.433037 -130.220105,69.410236 -130.220105,69.410236 -130.228519,69.405006 -130.228519,69.405006 -130.228881,69.404887 -130.228881,69.404887 -130.229082,69.404734 -130.229082,69.404734 -130.264095,69.388038 -130.264095,69.388038 -130.269159,69.385145 -130.269159,69.385145 -130.270959,69.384510 -130.270959,69.384510 -130.272244,69.383515 -130.272244,69.383515 -130.289608,69.377346 -130.289608,69.377346 -130.410873,69.345989 -130.410873,69.345989 -130.413382,69.345616 -130.413382,69.345616 -130.415846,69.344801 -130.415846,69.344801 -130.421505,69.343669 -130.421505,69.343669 -130.483207,69.332484 -130.483207,69.332484 -130.484099,69.332380 -130.484099,69.332380 -130.486686,69.331890 -130.486686,69.331890 -130.566013,69.319171 -130.566013,69.319171 -130.566914,69.319074 -130.566914,69.319074 -130.568349,69.318812 -130.568349,69.318812 -130.598931,69.314314 -130.598931,69.314314 -130.655697,69.304790 -130.655697,69.304790 -130.702804,69.252926 -130.702804,69.252926 -130.703126,69.252698 -130.703126,69.252698 -130.703753,69.251943 -130.703753,69.251943 -130.783429,69.173880 -130.783429,69.173880 -130.763605,69.153364 -130.763605,69.153364 -130.723753,69.133656 -130.723753,69.133656 -130.703918,69.128367 -130.703918,69.128367 -130.693077,69.119571 -130.693077,69.119571 -130.639562,69.078171 -130.639562,69.078171 -130.621282,69.051274 -130.621282,69.051274 -130.625908,69.020961 -130.625908,69.020961 -130.650783,68.991251 -130.650783,68.991251 -130.666556,68.961854 -130.666556,68.961854 -130.708976,68.936759 -130.708976,68.936759 -130.741143,68.927753 -130.741143,68.927753 -130.762373,68.925245 -130.762373,68.925245 -130.815019,68.941272 -130.815019,68.941272 -130.833776,68.941593 -130.876319,68.931919 -130.876319,68.931919 -130.946772,68.894522 -130.946772,68.894522 -130.983514,68.874613 -130.983514,68.874613 -130.991942,68.874063 -130.991942,68.874063 -131.029178,68.870713 -131.057099,68.872952 -131.057099,68.872952 -131.124197,68.897336 -131.124197,68.897336 -131.154429,68.919816 -131.154429,68.919816 -131.146814,68.956193 -131.146814,68.956193 -131.126901,68.979282 -131.126901,68.979282 -131.155360,68.985396 -131.192075,68.973507 -131.192075,68.973507 -131.232979,68.945044 -131.232979,68.945044 -131.322491,68.908778 -131.322491,68.908778 -131.440667,68.877887 -131.560569,68.882951 -131.560569,68.882951 -131.628584,68.896619 -131.628584,68.896619 -131.663727,68.921460 -131.663727,68.921460 -131.621014,68.954060 -131.621014,68.954060 -131.581779,68.980594 -131.581779,68.980594 -131.569144,68.987011 -131.569144,68.987011 -131.523159,69.009857 -131.523159,69.009857 -131.433793,69.040959 -131.433793,69.040959 -131.359135,69.066841 -131.359135,69.066841 -131.288975,69.089887 -131.288975,69.089887 -131.213027,69.112463 -131.213027,69.112463 -131.149287,69.123549 -131.149287,69.123549 -131.148552,69.136883 -131.148552,69.136883 -131.175879,69.152123 -131.175879,69.152123 -131.186897,69.162166 -131.186897,69.162166 -131.186287,69.172945 -131.186287,69.172945 -131.183853,69.176023 -131.183853,69.176023 -131.131361,69.230006 -131.131361,69.230006 -131.134070,69.256430 -131.134070,69.256430 -131.171000,69.274193 -131.171000,69.274193 -131.171945,69.274972 -131.171945,69.274972 -131.173940,69.275708 -131.173940,69.275708 -131.185018,69.285749 -131.185018,69.285749 -131.186212,69.291119 -131.186212,69.291119 -131.183437,69.342448 -131.183437,69.342448 -131.182840,69.344226 -131.182840,69.344226 -131.182917,69.345141 -131.182917,69.345141 -131.173357,69.373851 -131.173357,69.373851 -131.172060,69.376565 -131.172060,69.376565 -131.147455,69.415889 -131.147455,69.415889 -131.129827,69.443974 -131.129827,69.443974 -131.126989,69.447412 -131.126989,69.447412 -131.100806,69.472810 -131.100806,69.472810 -131.105316,69.487973 -131.105316,69.487973 -131.122158,69.519121 -131.122158,69.519121 -131.122150,69.519289 -131.122150,69.519289 -131.122331,69.519452 -131.122331,69.519452 -131.121680,69.530224 -131.121680,69.530224 -131.110429,69.539506 -131.110429,69.539506 -131.048125,69.572365 -131.048125,69.572365 -131.022247,69.587419 -131.022247,69.587419 -131.018281,69.588839 -131.018281,69.588839 -131.015805,69.590623 -131.015805,69.590623 -130.969431,69.610499 -130.969431,69.610499 -130.963042,69.620462 -130.963042,69.620462 -130.963648,69.628914 -130.963648,69.628914 -130.961763,69.635629 -130.961763,69.635629 -130.959961,69.638435 -130.959961,69.638435 -130.949629,69.647145 -130.949629,69.647145 -130.883966,69.683268 -130.883966,69.683268 -130.882642,69.683729 -130.882642,69.683729 -130.881774,69.684408 -130.881774,69.684408 -130.870041,69.688105 -130.870041,69.688105 -130.859307,69.691831 -130.859307,69.691831 -130.857398,69.692086 -130.857398,69.692086 -130.856064,69.692506 -130.856064,69.692506 -130.748956,69.713565 -130.748956,69.713565 -130.723215,69.716742 -130.692183,69.716444 -130.692183,69.716444 -130.668564,69.713120 -130.668564,69.713120 -130.612639,69.701303 -130.612639,69.701303 -130.610801,69.700673 -130.610801,69.700673 -130.607930,69.700226 -130.607930,69.700226 -130.594878,69.696181 -130.594878,69.696181 -130.503718,69.660854 -130.503718,69.660854 -130.495522,69.657057 -130.495522,69.657057 -130.494310,69.655943 -130.494310,69.655943 -130.492498,69.655218 -130.492498,69.655218 -130.457277,69.631720 -130.457277,69.631720 -130.457068,69.631503 -130.457068,69.631503 -130.455932,69.630778 -130.455932,69.630778 -130.394545,69.585550 -130.394545,69.585550 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-129.196875,69.357116 -127.804179,70.013246</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-128.844465,69.685688 -128.835084,69.684863 -128.826680,69.684200 -128.826568,69.684184 -128.826049,69.684147 -128.821641,69.683757 -128.812633,69.683407 -128.812157,69.683350 -128.811655,69.683362 -128.807208,69.682970 -128.796400,69.681650 -128.794851,69.681397 -128.793877,69.681292 -128.781619,69.679316 -128.778920,69.678822 -128.776255,69.678213 -128.767234,69.675931 -128.767085,69.675884 -128.766718,69.675798 -128.756084,69.673002 -128.737904,69.668572 -128.737526,69.668454 -128.736461,69.668201 -128.721825,69.664225 -128.717430,69.662778 -128.717028,69.662662 -128.707033,69.658786 -128.706923,69.658727 -128.706769,69.658682 -128.704105,69.657503 -128.693745,69.652365 -128.680763,69.646616 -128.671690,69.642639 -128.660338,69.637860 -128.652643,69.635810 -128.643798,69.633718 -128.638243,69.631997 -128.637140,69.631678 -128.627176,69.627802 -128.627062,69.627741 -128.626902,69.627694 -128.620594,69.624280 -128.612817,69.618283 -128.612816,69.618282 -128.612815,69.618281 -128.610068,69.615187 -128.607845,69.610662 -128.607877,69.610359 -128.607568,69.609972 -128.607394,69.609088 -128.606988,69.603824 -128.607301,69.602875 -128.607325,69.602563 -128.600722,69.601108 -128.600372,69.601003 -128.597711,69.600361 -128.589682,69.598134 -128.584729,69.596820 -128.575296,69.594416 -128.567686,69.593386 -128.553272,69.591513 -128.548789,69.590958 -128.547265,69.590707 -128.546294,69.590601 -128.540204,69.589609 -128.537495,69.589108 -128.533178,69.588041 -128.518588,69.583813 -128.514304,69.582352 -128.510780,69.580710 -128.498332,69.573911 -128.495581,69.572135 -128.495469,69.571993 -128.495253,69.571872 -128.488266,69.566116 -128.480561,69.559863 -128.468515,69.553807 -128.456960,69.548878 -128.447028,69.545669 -128.444178,69.544642 -128.443926,69.544504 -128.443610,69.544409 -128.434194,69.540452 -128.424640,69.537535 -128.421014,69.536263 -128.420931,69.536218 -128.420822,69.536185 -128.411333,69.532313 -128.399990,69.528451 -128.397985,69.527709 -128.397938,69.527695 -128.390873,69.524879 -128.390823,69.524852 -128.390754,69.524832 -128.386060,69.522490 -128.379595,69.518426 -128.370712,69.513104 -128.361048,69.507893 -128.360353,69.507446 -128.359784,69.507163 -128.349457,69.500761 -128.349087,69.500504 -128.348933,69.500425 -128.339248,69.494008 -128.338104,69.493185 -128.337888,69.492907 -128.337505,69.492687 -128.327486,69.483873 -128.319103,69.476845 -128.318947,69.476635 -128.317553,69.475272 -128.312432,69.468741 -128.312412,69.468703 -128.312374,69.468666 -128.306354,69.460791 -128.305371,69.458937 -128.305417,69.458725 -128.305271,69.458523 -128.304376,69.453724 -128.305245,69.450563 -128.306864,69.449122 -128.313229,69.444850 -128.315478,69.443720 -128.315678,69.443587 -128.323336,69.440505 -128.333251,69.435213 -128.340752,69.429897 -128.341302,69.429613 -128.341664,69.429321 -128.347921,69.425788 -128.350282,69.423080 -128.350213,69.419699 -128.346797,69.417512 -128.343411,69.416258 -128.338772,69.417061 -128.336708,69.417353 -128.336643,69.417368 -128.319486,69.419375 -128.319371,69.419378 -128.319276,69.419399 -128.314948,69.419684 -128.294021,69.420172 -128.280407,69.420688 -128.266469,69.422417 -128.265494,69.422443 -128.264759,69.422595 -128.238550,69.424816 -128.237076,69.424831 -128.233750,69.424996 -128.210334,69.424844 -128.207236,69.424744 -128.207012,69.424714 -128.206806,69.424718 -128.193678,69.423871 -128.193566,69.423856 -128.193469,69.423857 -128.175716,69.422652 -128.175483,69.422620 -128.175295,69.422622 -128.158839,69.421394 -128.150382,69.420194 -128.145422,69.418908 -128.133747,69.415276 -128.130222,69.414019 -128.129774,69.413769 -128.129246,69.413604 -128.119389,69.409247 -128.114208,69.406234 -128.112869,69.405007 -128.108067,69.399849 -128.106509,69.397286 -128.107058,69.394050 -128.111184,69.387993 -128.111392,69.387851 -128.111436,69.387654 -128.115812,69.384838 -128.117489,69.384280 -128.128581,69.381061 -128.131043,69.380591 -128.132657,69.380190 -128.147179,69.378017 -128.147945,69.377989 -128.148707,69.377818 -128.154923,69.377526 -128.175696,69.377748 -128.177454,69.377808 -128.177679,69.377802 -128.201839,69.378855 -128.202579,69.378949 -128.203311,69.378937 -128.222810,69.380247 -128.237155,69.380826 -128.239286,69.380387 -128.244331,69.378080 -128.248207,69.374154 -128.249092,69.369257 -128.247176,69.364224 -128.243007,69.357612 -128.242666,69.357116 -128.312798,69.360817 -128.314893,69.363427 -128.315992,69.365431 -128.316001,69.365442 -128.317747,69.371362 -128.317745,69.371367 -128.317750,69.371373 -128.317831,69.373225 -128.316783,69.378055 -128.316080,69.379472 -128.316053,69.379616 -128.312944,69.383820 -128.312841,69.383889 -128.312821,69.383980 -128.312113,69.384721 -128.307920,69.388463 -128.319548,69.387911 -128.323121,69.387934 -128.324383,69.387893 -128.339391,69.388458 -128.339970,69.388529 -128.340600,69.388516 -128.350115,69.389779 -128.351993,69.390207 -128.362198,69.392709 -128.368821,69.394815 -128.370632,69.395607 -128.379880,69.399971 -128.380564,69.400381 -128.381938,69.401042 -128.389615,69.405471 -128.398662,69.410323 -128.401679,69.412263 -128.403154,69.413617 -128.409706,69.420796 -128.411181,69.423227 -128.411338,69.424058 -128.411786,69.429779 -128.411434,69.430839 -128.411331,69.431841 -128.408924,69.436251 -128.408467,69.436934 -128.407742,69.437693 -128.402176,69.442637 -128.401875,69.442808 -128.401374,69.443262 -128.394480,69.448008 -128.393395,69.448560 -128.392957,69.448885 -128.384017,69.453227 -128.382717,69.453787 -128.382110,69.453923 -128.381784,69.454118 -128.372858,69.457045 -128.366233,69.459914 -128.365288,69.460515 -128.366835,69.462456 -128.370874,69.466098 -128.370980,69.466249 -128.371624,69.466838 -128.377027,69.472730 -128.381582,69.476805 -128.388216,69.481680 -128.396822,69.487417 -128.397913,69.488204 -128.398180,69.488544 -128.398632,69.488806 -128.402010,69.491842 -128.407295,69.494786 -128.416366,69.498059 -128.417470,69.498631 -128.418944,69.499089 -128.433196,69.505398 -128.438272,69.508326 -128.438332,69.508403 -128.438453,69.508470 -128.442300,69.511575 -128.442383,69.511683 -128.443935,69.513163 -128.447782,69.517832 -128.451495,69.521261 -128.454330,69.522872 -128.458083,69.524356 -128.464010,69.526329 -128.467459,69.527276 -128.476754,69.529083 -128.477796,69.529382 -128.478884,69.529537 -128.490246,69.532169 -128.497717,69.533828 -128.505580,69.534910 -128.513232,69.535422 -128.516277,69.535837 -128.521064,69.536423 -128.528523,69.537842 -128.528996,69.537977 -128.529585,69.538054 -128.537389,69.540280 -128.545793,69.543446 -128.549985,69.544312 -128.559552,69.545528 -128.560586,69.545701 -128.561334,69.545779 -128.572218,69.547466 -128.583038,69.548942 -128.585207,69.549314 -128.585881,69.549394 -128.594697,69.550996 -128.595365,69.551182 -128.596244,69.551297 -128.604839,69.553822 -128.607251,69.554888 -128.613050,69.557726 -128.616921,69.560075 -128.619546,69.562952 -128.620963,69.565552 -128.622415,69.566784 -128.626938,69.569468 -128.628892,69.570785 -128.631597,69.573806 -128.633041,69.576643 -128.634753,69.578009 -128.638120,69.580358 -128.638327,69.580597 -128.638788,69.580847 -128.640296,69.582204 -128.643007,69.585110 -128.643399,69.585414 -128.646726,69.585971 -128.649130,69.586420 -128.656210,69.588367 -128.660436,69.589862 -128.661022,69.590160 -128.661973,69.590439 -128.668276,69.593852 -128.669627,69.595539 -128.986379,69.633921 -129.052459,69.653058 -129.106322,69.674138 -129.106501,69.674163 -129.110402,69.674833 -129.118281,69.677025 -129.129669,69.681203 -129.144447,69.685989 -129.146956,69.686882 -129.153367,69.690282 -129.153650,69.690623 -129.154118,69.690885 -129.158596,69.694733 -129.159508,69.694743 -129.162144,69.694827 -129.170599,69.695816 -129.177341,69.697044 -129.177892,69.697196 -129.178587,69.697284 -129.187312,69.699788 -129.193734,69.703187 -129.196875,69.706963 -129.196254,69.710541 -129.192251,69.713264 -129.189352,69.714447 -129.189175,69.714488 -129.189065,69.714561 -129.183734,69.715949 -129.180728,69.716445 -129.180644,69.716456 -129.180623,69.716462 -129.173508,69.717615 -129.171615,69.717926 -129.171806,69.723682 -129.171785,69.723743 -129.171807,69.723877 -129.171691,69.729149 -129.170850,69.731395 -129.168169,69.733504 -129.161701,69.736907 -129.160087,69.737635 -129.159268,69.737821 -129.158851,69.738068 -129.149611,69.740985 -129.149280,69.741490 -129.149460,69.746403 -129.152262,69.752159 -129.157897,69.757541 -129.157935,69.757596 -129.158084,69.757723 -129.163215,69.762857 -129.164922,69.765398 -129.165041,69.767486 -129.162990,69.775802 -129.162900,69.775982 -129.162902,69.776101 -129.160421,69.783362 -129.161934,69.792321 -129.164168,69.795824 -129.166154,69.798925 -129.172575,69.805711 -129.172949,69.806289 -129.173438,69.806778 -129.179490,69.815788 -129.180132,69.817046 -129.180094,69.817267 -129.180256,69.817474 -129.181896,69.824539 -129.181896,69.824540 -129.181897,69.824541 -129.182955,69.829103 -129.182810,69.829722 -129.182779,69.831293 -129.181358,69.834702 -129.184748,69.834708 -129.056004,69.891396 -129.010676,69.896552 -128.995428,69.893678 -128.995662,69.893413 -128.994974,69.893358 -128.993581,69.893239 -128.992641,69.893153 -128.992186,69.893111 -128.990791,69.892973 -128.989396,69.892827 -128.988002,69.892671 -128.986608,69.892507 -128.985215,69.892333 -128.983825,69.892150 -128.982437,69.891959 -128.981051,69.891759 -128.979668,69.891550 -128.978288,69.891333 -128.976913,69.891107 -128.975541,69.890872 -128.974175,69.890629 -128.972813,69.890378 -128.971457,69.890118 -128.970107,69.889850 -128.968763,69.889574 -128.967426,69.889290 -128.966096,69.888998 -128.964774,69.888698 -128.963460,69.888390 -128.962154,69.888074 -128.960857,69.887751 -128.959569,69.887421 -128.958290,69.887083 -128.957022,69.886738 -128.955764,69.886385 -128.954516,69.886026 -128.953889,69.885840 -128.887616,69.873306 -128.840236,69.855275 -128.782842,69.799431 -128.774777,69.754410 -128.775163,69.754193 -128.775808,69.753642 -128.788661,69.745739 -128.791025,69.744595 -128.791571,69.744472 -128.791866,69.744294 -128.806025,69.739565 -128.812521,69.738214 -128.814358,69.738043 -128.837604,69.736332 -128.854951,69.734486 -128.871499,69.731143 -128.884547,69.727220 -128.888350,69.726475 -128.889644,69.726169 -128.905035,69.724155 -128.905419,69.724143 -128.905755,69.724068 -128.914967,69.723842 -128.924440,69.725052 -128.927773,69.724213 -128.939080,69.721211 -128.945797,69.718809 -128.947668,69.716977 -128.948418,69.713840 -128.946353,69.710438 -128.941316,69.707158 -128.935014,69.703806 -128.925588,69.699616 -128.918846,69.697161 -128.907426,69.694071 -128.903543,69.693288 -128.895645,69.691701 -128.884634,69.689969 -128.871877,69.688982 -128.871289,69.688900 -128.869171,69.688717 -128.860135,69.687647 -128.851816,69.686769 -128.849870,69.686469 -128.848248,69.686295 -128.844465,69.685688 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-128.435479,69.945144 -128.334897,70.013246 -127.884695,69.884826 -127.824597,69.850535 -127.804179,69.811941 -127.894022,69.770212 -127.969580,69.765495 -128.007726,69.782611 -128.026828,69.807145 -128.077971,69.856589 -128.135197,69.878731 -128.226042,69.891832 -128.388071,69.918373 -128.435479,69.945144 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-124.851699,70.147857 -124.423622,70.233087</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-124.846490,70.177563 -124.848700,70.179677 -124.849884,70.181537 -124.851477,70.185248 -124.851699,70.187916 -124.851649,70.188758 -124.851308,70.189440 -124.851253,70.190976 -124.850636,70.193044 -124.849562,70.194766 -124.849353,70.195871 -124.848770,70.196823 -124.846436,70.199793 -124.839118,70.205268 -124.836688,70.206659 -124.828435,70.210560 -124.808168,70.216323 -124.804309,70.217097 -124.803514,70.217182 -124.803444,70.217200 -124.802542,70.217286 -124.801936,70.217350 -124.799585,70.217974 -124.782098,70.219467 -124.768985,70.220864 -124.766771,70.220773 -124.764883,70.220934 -124.760185,70.220973 -124.732751,70.219601 -124.730090,70.219260 -124.718781,70.222466 -124.714918,70.223239 -124.714097,70.223326 -124.714022,70.223348 -124.712955,70.223448 -124.712530,70.223493 -124.710159,70.224120 -124.682239,70.226709 -124.679538,70.226995 -124.679267,70.226984 -124.679008,70.227008 -124.675190,70.227095 -124.674690,70.227074 -124.659637,70.226946 -124.649528,70.226518 -124.634072,70.225337 -124.634036,70.225330 -124.633192,70.225287 -124.626521,70.224429 -124.621706,70.223725 -124.619412,70.223238 -124.618413,70.223559 -124.616576,70.224041 -124.609517,70.225549 -124.607555,70.226099 -124.594033,70.228757 -124.590291,70.229147 -124.587667,70.229839 -124.585938,70.230028 -124.584732,70.230324 -124.582703,70.230613 -124.574425,70.231284 -124.564005,70.232420 -124.561976,70.232530 -124.554992,70.232803 -124.554015,70.232762 -124.553117,70.232842 -124.538302,70.233087 -124.537375,70.233044 -124.527683,70.233027 -124.525013,70.232952 -124.505967,70.231634 -124.505349,70.231515 -124.504675,70.231484 -124.501561,70.231113 -124.501018,70.231006 -124.492307,70.229788 -124.480164,70.227741 -124.478249,70.227309 -124.475457,70.226881 -124.473759,70.226546 -124.461406,70.223551 -124.460284,70.223061 -124.458879,70.222776 -124.454691,70.221437 -124.447893,70.218335 -124.439596,70.214883 -124.436668,70.213114 -124.436133,70.212508 -124.434831,70.211939 -124.428985,70.206689 -124.427939,70.205350 -124.426904,70.203235 -124.426149,70.202427 -124.424518,70.198781 -124.424116,70.197549 -124.424015,70.197430 -124.423838,70.196841 -124.423862,70.196769 -124.423798,70.196574 -124.423893,70.196321 -124.423622,70.195984 -124.424062,70.190609 -124.424729,70.188815 -124.428289,70.183517 -124.435674,70.178074 -124.438125,70.176688 -124.446465,70.172786 -124.466712,70.167077 -124.470573,70.166308 -124.471412,70.166220 -124.471514,70.166193 -124.472813,70.166072 -124.472978,70.166055 -124.475373,70.165424 -124.494151,70.163825 -124.505935,70.162582 -124.507792,70.162661 -124.509411,70.162523 -124.513963,70.162479 -124.518440,70.162704 -124.531897,70.162983 -124.573918,70.165771 -124.580875,70.166391 -124.600395,70.160865 -124.604251,70.160094 -124.605063,70.160008 -124.605146,70.159986 -124.606213,70.159886 -124.606634,70.159842 -124.609001,70.159215 -124.629289,70.156831 -124.630541,70.156745 -124.635172,70.156528 -124.636143,70.156426 -124.666022,70.155089 -124.668200,70.155159 -124.670667,70.154927 -124.680069,70.154876 -124.683500,70.154925 -124.690336,70.155348 -124.698834,70.152883 -124.698984,70.152851 -124.699892,70.152678 -124.700549,70.152492 -124.704400,70.151720 -124.705191,70.151635 -124.705258,70.151617 -124.706136,70.151535 -124.706765,70.151468 -124.709109,70.150845 -124.726540,70.149360 -124.739619,70.147965 -124.741825,70.148056 -124.743707,70.147896 -124.748389,70.147857 -124.775733,70.149227 -124.782408,70.150084 -124.787212,70.150784 -124.808124,70.155211 -124.809262,70.155704 -124.810680,70.155989 -124.814877,70.157322 -124.821759,70.160435 -124.830032,70.163845 -124.832984,70.165608 -124.833074,70.165708 -124.833209,70.165764 -124.833259,70.165795 -124.833695,70.166283 -124.834828,70.166773 -124.834893,70.166835 -124.834901,70.166839 -124.838488,70.169608 -124.845336,70.175796 -124.846490,70.177563 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-138.873777,69.018728 -137.622085,69.333006</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-137.698650,69.018728 -137.703715,69.018756 -137.703715,69.018756 -137.703715,69.018756 -137.713268,69.019853 -137.713268,69.019853 -137.713268,69.019853 -137.717573,69.020929 -137.717573,69.020929 -137.717573,69.020929 -137.751247,69.031313 -137.751247,69.031313 -137.751247,69.031313 -137.806748,69.041660 -137.806748,69.041660 -137.806748,69.041660 -137.806998,69.041733 -137.806998,69.041733 -137.806998,69.041733 -137.807327,69.041771 -137.807327,69.041771 -137.807327,69.041771 -137.809123,69.042162 -137.809123,69.042162 -137.809123,69.042162 -137.863498,69.055088 -137.863498,69.055088 -137.863498,69.055088 -137.863524,69.055097 -137.863524,69.055097 -137.863524,69.055097 -137.863637,69.055121 -137.863637,69.055121 -137.863637,69.055121 -137.930082,69.071097 -137.930082,69.071097 -137.930082,69.071097 -137.979642,69.080341 -137.979642,69.080341 -137.979642,69.080341 -138.004128,69.082299 -138.004128,69.082299 -138.004128,69.082299 -138.010908,69.083214 -138.010908,69.083214 -138.010908,69.083214 -138.018614,69.085524 -138.018614,69.085524 -138.018614,69.085524 -138.022872,69.088276 -138.022872,69.088276 -138.022872,69.088276 -138.031604,69.097281 -138.031604,69.097281 -138.031604,69.097281 -138.071201,69.110504 -138.071201,69.110504 -138.071201,69.110504 -138.146235,69.127710 -138.146235,69.127710 -138.146235,69.127710 -138.147267,69.128040 -138.147267,69.128040 -138.147267,69.128040 -138.149695,69.128658 -138.149695,69.128658 -138.149695,69.128658 -138.182568,69.139345 -138.191470,69.138853 -138.191470,69.138853 -138.226607,69.137927 -138.226607,69.137927 -138.276668,69.134733 -138.314601,69.135024 -138.314601,69.135024 -138.332338,69.137326 -138.332503,69.137299 -138.332503,69.137299 -138.332503,69.137299 -138.342544,69.136968 -138.352176,69.138031 -138.352176,69.138031 -138.352176,69.138031 -138.352963,69.138264 -138.352963,69.138264 -138.352963,69.138264 -138.353756,69.138363 -138.353756,69.138363 -138.353756,69.138363 -138.377530,69.143761 -138.377530,69.143761 -138.377530,69.143761 -138.383713,69.145724 -138.383713,69.145724 -138.383713,69.145724 -138.388075,69.148517 -138.388075,69.148517 -138.388075,69.148517 -138.396617,69.157301 -138.396617,69.157301 -138.396617,69.157301 -138.396679,69.157493 -138.396679,69.157493 -138.396679,69.157493 -138.396965,69.157686 -138.396965,69.157686 -138.396965,69.157686 -138.398041,69.160247 -138.398041,69.160247 -138.398041,69.160247 -138.398189,69.167186 -138.398189,69.167186 -138.398189,69.167186 -138.412894,69.173626 -138.412894,69.173626 -138.412894,69.173626 -138.424795,69.178030 -138.424795,69.178030 -138.424795,69.178030 -138.442808,69.179073 -138.442808,69.179073 -138.442808,69.179073 -138.445121,69.179353 -138.445121,69.179353 -138.445121,69.179353 -138.448815,69.179692 -138.448815,69.179692 -138.448815,69.179692 -138.492916,69.186377 -138.492916,69.186377 -138.492916,69.186377 -138.495057,69.186744 -138.495057,69.186744 -138.495057,69.186744 -138.501057,69.188329 -138.501057,69.188329 -138.501057,69.188329 -138.547053,69.204615 -138.547053,69.204615 -138.547053,69.204615 -138.580987,69.216222 -138.580987,69.216222 -138.580987,69.216222 -138.603527,69.217026 -138.603527,69.217026 -138.603527,69.217026 -138.613206,69.218074 -138.613206,69.218074 -138.613206,69.218074 -138.613251,69.218088 -138.613251,69.218088 -138.613251,69.218088 -138.613306,69.218094 -138.613306,69.218094 -138.613306,69.218094 -138.660052,69.227084 -138.660052,69.227084 -138.660052,69.227084 -138.667773,69.229346 -138.667773,69.229346 -138.667773,69.229346 -138.672314,69.232265 -138.672314,69.232265 -138.672314,69.232265 -138.681077,69.241563 -138.682663,69.241456 -138.682663,69.241456 -138.682663,69.241456 -138.707801,69.236860 -138.707801,69.236860 -138.707801,69.236860 -138.708282,69.236791 -138.708282,69.236791 -138.708282,69.236791 -138.708589,69.236722 -138.708589,69.236722 -138.708589,69.236722 -138.733605,69.232517 -138.733605,69.232517 -138.733605,69.232517 -138.737177,69.232027 -138.737177,69.232027 -138.737177,69.232027 -138.743195,69.231645 -138.743195,69.231645 -138.743195,69.231645 -138.773574,69.231006 -138.777633,69.231033 -138.777633,69.231033 -138.777633,69.231033 -138.785672,69.231786 -138.785672,69.231786 -138.785672,69.231786 -138.813103,69.236116 -138.813103,69.236116 -138.813103,69.236116 -138.813774,69.236297 -138.813774,69.236297 -138.813774,69.236297 -138.814758,69.236402 -138.814758,69.236402 -138.814758,69.236402 -138.816764,69.236823 -138.816764,69.236823 -138.816764,69.236823 -138.848175,69.244105 -138.848175,69.244105 -138.848175,69.244105 -138.854013,69.245958 -138.854013,69.245958 -138.854013,69.245958 -138.855427,69.246625 -138.855427,69.246625 -138.855427,69.246625 -138.869371,69.253869 -138.869371,69.253869 -138.869371,69.253869 -138.872757,69.256366 -138.872757,69.256366 -138.872757,69.256366 -138.873777,69.259942 -138.873777,69.259942 -138.873777,69.259942 -138.871664,69.262795 -138.871664,69.262795 -138.871664,69.262795 -138.861505,69.270910 -138.861505,69.270910 -138.861505,69.270910 -138.860995,69.271149 -138.860995,69.271149 -138.860995,69.271149 -138.860698,69.271498 -138.860698,69.271498 -138.860698,69.271498 -138.854281,69.274280 -138.854281,69.274280 -138.854281,69.274280 -138.850904,69.275117 -138.850904,69.275117 -138.850904,69.275117 -138.801931,69.285286 -138.801931,69.285286 -138.801931,69.285286 -138.796367,69.286149 -138.796367,69.286149 -138.796367,69.286149 -138.792032,69.286477 -138.792032,69.286477 -138.792032,69.286477 -138.747469,69.288456 -138.747469,69.288456 -138.747469,69.288456 -138.700843,69.298354 -138.700843,69.298354 -138.700843,69.298354 -138.658856,69.309529 -138.658856,69.309529 -138.658856,69.309529 -138.658022,69.309679 -138.658022,69.309679 -138.658022,69.309679 -138.654835,69.310408 -138.654835,69.310408 -138.654835,69.310408 -138.564115,69.326381 -138.564115,69.326381 -138.564115,69.326381 -138.560019,69.326954 -138.560019,69.326954 -138.560019,69.326954 -138.557905,69.327145 -138.557905,69.327145 -138.557905,69.327145 -138.481192,69.332857 -138.481192,69.332857 -138.481192,69.332857 -138.473182,69.333006 -138.472540,69.332937 -138.471951,69.332951 -138.405881,69.329423 -138.405881,69.329423 -138.405881,69.329423 -138.397394,69.328419 -138.397394,69.328419 -138.397394,69.328419 -138.393612,69.327538 -138.393612,69.327538 -138.393612,69.327538 -138.328706,69.309346 -138.328706,69.309346 -138.328706,69.309346 -138.324667,69.307932 -138.324667,69.307932 -138.324667,69.307932 -138.324453,69.307788 -138.324453,69.307788 -138.324453,69.307788 -138.324132,69.307691 -138.324132,69.307691 -138.324132,69.307691 -138.283501,69.288682 -138.283501,69.288682 -138.283501,69.288682 -138.279311,69.285743 -138.279311,69.285743 -138.279311,69.285743 -138.279306,69.285726 -138.279306,69.285726 -138.279306,69.285726 -138.279283,69.285710 -138.279283,69.285710 -138.279283,69.285710 -138.250496,69.250737 -138.250496,69.250737 -138.250496,69.250737 -138.207915,69.215952 -138.207915,69.215952 -138.207915,69.215952 -138.187268,69.200983 -138.187268,69.200983 -138.187268,69.200983 -138.139414,69.179882 -138.139414,69.179882 -138.139414,69.179882 -138.077462,69.157368 -138.077462,69.157368 -138.077462,69.157368 -137.996419,69.136157 -137.996419,69.136157 -137.996419,69.136157 -137.930574,69.121873 -137.930574,69.121873 -137.930574,69.121873 -137.929895,69.121660 -137.929895,69.121660 -137.929895,69.121660 -137.926957,69.120924 -137.926957,69.120924 -137.926957,69.120924 -137.870976,69.103344 -137.870976,69.103344 -137.870976,69.103344 -137.768116,69.080956 -137.768116,69.080956 -137.768116,69.080956 -137.664552,69.059819 -137.664552,69.059819 -137.664552,69.059819 -137.663992,69.059647 -137.663992,69.059647 -137.663992,69.059647 -137.658950,69.058272 -137.658950,69.058272 -137.658950,69.058272 -137.629264,69.047434 -137.629264,69.047434 -137.629264,69.047434 -137.627480,69.046710 -137.627480,69.046710 -137.627480,69.046710 -137.622898,69.043511 -137.622898,69.043511 -137.622898,69.043511 -137.622085,69.039928 -137.622085,69.039928 -137.622085,69.039928 -137.625163,69.036507 -137.625163,69.036507 -137.625163,69.036507 -137.625268,69.036462 -137.625268,69.036462 -137.625268,69.036462 -137.625317,69.036409 -137.625317,69.036409 -137.625317,69.036409 -137.637188,69.028984 -137.637188,69.028984 -137.637188,69.028984 -137.643530,69.026342 -137.643530,69.026342 -137.643530,69.026342 -137.660900,69.021406 -137.660900,69.021406 -137.660900,69.021406 -137.669824,69.019764 -137.669824,69.019764 -137.669824,69.019764 -137.674756,69.019441 -137.674756,69.019441 -137.674756,69.019441 -137.698650,69.018728 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-137.512382,68.772255 -136.404770,69.012149</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-137.503705,69.007150 -137.503391,69.007497 -137.496884,69.010232 -137.487951,69.011865 -137.477954,69.012149 -137.477471,69.012092 -137.477012,69.012102 -137.359798,69.005513 -137.351211,69.004443 -137.343600,69.002104 -137.341373,69.000904 -137.325494,68.990695 -137.203969,68.965961 -137.119673,68.962231 -137.040631,68.966303 -137.033822,68.966324 -137.028295,68.965847 -136.984637,68.960174 -136.980670,68.959515 -136.976469,68.958440 -136.927455,68.942985 -136.925620,68.942283 -136.925033,68.942110 -136.880477,68.923680 -136.837478,68.914972 -136.775154,68.911124 -136.733839,68.911317 -136.709288,68.917474 -136.708553,68.917921 -136.707679,68.919090 -136.701266,68.924612 -136.699832,68.925656 -136.693252,68.928361 -136.686486,68.929704 -136.654026,68.933997 -136.651834,68.934247 -136.645174,68.934562 -136.611333,68.934547 -136.608020,68.934468 -136.605735,68.934321 -136.558583,68.930486 -136.551410,68.929474 -136.549382,68.929004 -136.526537,68.923144 -136.521065,68.921239 -136.511787,68.916870 -136.475294,68.911997 -136.473543,68.911700 -136.472951,68.911635 -136.439839,68.905795 -136.439197,68.905605 -136.438239,68.905486 -136.430755,68.903107 -136.429313,68.902351 -136.418463,68.895997 -136.415522,68.893524 -136.414697,68.890767 -136.420202,68.845217 -136.404770,68.801796 -136.404793,68.799387 -136.408019,68.795986 -136.410144,68.794864 -136.447095,68.778128 -136.451540,68.776553 -136.460453,68.774971 -136.470359,68.774745 -136.535205,68.777887 -136.562652,68.775978 -136.563008,68.775975 -136.564270,68.775885 -136.620752,68.773296 -136.621632,68.773297 -136.622772,68.773233 -136.680113,68.772255 -136.684621,68.772322 -136.685579,68.772440 -136.686409,68.772431 -136.726261,68.775373 -136.733876,68.776416 -136.737760,68.777411 -136.772058,68.788067 -136.819147,68.793628 -136.823925,68.794396 -136.827896,68.795414 -136.905633,68.819651 -136.909160,68.820995 -136.910549,68.821711 -136.933287,68.834701 -136.967838,68.851917 -137.034501,68.869305 -137.088034,68.879971 -137.088787,68.880203 -137.089604,68.880310 -137.136554,68.891291 -137.188047,68.901941 -137.188078,68.901951 -137.189904,68.902365 -137.241337,68.915206 -137.242051,68.915449 -137.243666,68.915862 -137.268877,68.923840 -137.270613,68.924501 -137.271170,68.924663 -137.294427,68.934137 -137.294763,68.934359 -137.295390,68.934553 -137.310980,68.941703 -137.331891,68.944174 -137.353107,68.946677 -137.357681,68.947401 -137.357725,68.947414 -137.357779,68.947421 -137.400466,68.956129 -137.400538,68.956151 -137.404270,68.957077 -137.432720,68.965624 -137.468918,68.972083 -137.469388,68.972220 -137.470045,68.972296 -137.472885,68.972959 -137.498581,68.979861 -137.503359,68.981532 -137.507912,68.984734 -137.508706,68.986169 -137.512382,68.997421 -137.512381,68.999570 -137.510123,69.002409 -137.504224,69.006916 -137.503705,69.007150 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-135.205646,60.857257 -134.948792,61.006688</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-135.035494,60.861000 -135.053432,60.859923 -135.073605,60.858401 -135.090723,60.857257 -135.105694,60.857581 -135.121408,60.860819 -135.134982,60.865526 -135.144342,60.870321 -135.154599,60.881513 -135.156057,60.888772 -135.153951,60.898007 -135.156066,60.907153 -135.156015,60.913888 -135.154397,60.917646 -135.155673,60.922849 -135.157205,60.927253 -135.164107,60.927979 -135.171540,60.930991 -135.180360,60.934923 -135.192994,60.941389 -135.197119,60.945579 -135.202599,60.952118 -135.203318,60.956460 -135.205646,60.962353 -135.204631,60.965544 -135.201434,60.971635 -135.196154,60.976343 -135.189011,60.980299 -135.184964,60.982446 -135.176557,60.985081 -135.173493,60.985462 -135.170230,60.989097 -135.161402,60.994355 -135.155107,60.996944 -135.139356,61.001474 -135.123419,61.003945 -135.112831,61.004165 -135.103539,61.004278 -135.093720,61.002103 -135.086457,61.001143 -135.079590,61.002869 -135.067883,61.005247 -135.054918,61.006303 -135.035856,61.006688 -135.027168,61.006229 -135.015107,61.004489 -135.002356,61.002287 -134.987966,60.996076 -134.981098,60.990032 -134.973802,60.982728 -134.971647,60.976432 -134.972084,60.969927 -134.977140,60.962143 -134.978608,60.960213 -134.975027,60.958303 -134.969376,60.955007 -134.963467,60.952509 -134.954460,60.944050 -134.950888,60.938257 -134.949430,60.932423 -134.948792,60.926653 -134.950006,60.921638 -134.951046,60.918449 -134.956138,60.913121 -134.955669,60.909407 -134.958948,60.905778 -134.962660,60.899526 -134.969555,60.896380 -134.977828,60.890275 -134.983514,60.884380 -134.996172,60.876365 -135.001681,60.872294 -135.014374,60.866733 -135.023708,60.863772 -135.030548,60.862050 -135.035494,60.861000 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-134.742073,60.494623 -134.360080,60.606926</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-134.427736,60.500103 -134.429061,60.499407 -134.449046,60.494961 -134.470957,60.494623 -134.491467,60.498443 -134.500649,60.501964 -134.506092,60.504537 -134.506952,60.504749 -134.511571,60.506023 -134.526545,60.512944 -134.534194,60.514536 -134.534659,60.514655 -134.534963,60.514699 -134.549157,60.517776 -134.556227,60.519613 -134.556778,60.519867 -134.557436,60.519994 -134.568938,60.523721 -134.574247,60.526234 -134.586325,60.525611 -134.593736,60.525688 -134.601676,60.526049 -134.606305,60.526905 -134.627359,60.526555 -134.645050,60.529533 -134.656254,60.532520 -134.663394,60.533589 -134.674272,60.536034 -134.680541,60.537686 -134.687260,60.540089 -134.698159,60.544628 -134.699993,60.545604 -134.702115,60.546442 -134.705692,60.548247 -134.705742,60.548256 -134.721810,60.555629 -134.725538,60.558828 -134.732160,60.561864 -134.741287,60.571702 -134.742073,60.582510 -134.740738,60.585505 -134.739888,60.587007 -134.733539,60.594146 -134.718549,60.602060 -134.698534,60.606549 -134.676547,60.606926 -134.665810,60.605520 -134.657448,60.603976 -134.653697,60.603069 -134.651919,60.602785 -134.650161,60.602350 -134.640748,60.604182 -134.630506,60.604885 -134.606895,60.605425 -134.595151,60.605088 -134.578396,60.601993 -134.574866,60.602051 -134.567594,60.601216 -134.549471,60.598498 -134.538655,60.597329 -134.520985,60.593792 -134.520243,60.593450 -134.519379,60.593282 -134.506068,60.588891 -134.502557,60.589672 -134.480580,60.590016 -134.472811,60.589098 -134.468090,60.588363 -134.461164,60.586791 -134.454776,60.588209 -134.432799,60.588545 -134.428655,60.588205 -134.408094,60.584375 -134.397684,60.580254 -134.391525,60.577156 -134.387077,60.575840 -134.386719,60.575677 -134.386241,60.575588 -134.370241,60.568174 -134.361232,60.558310 -134.360080,60.549328 -134.360605,60.546752 -134.361165,60.545947 -134.361103,60.544924 -134.365570,60.537832 -134.376115,60.526655 -134.379437,60.523636 -134.386597,60.519113 -134.408899,60.507684 -134.412921,60.505971 -134.413981,60.505379 -134.426272,60.500456 -134.427736,60.500103 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-134.378502,60.183650 -134.148767,60.404554</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-134.332845,60.184151 -134.332845,60.184151 -134.353138,60.187992 -134.353138,60.187992 -134.368941,60.195405 -134.368941,60.195405 -134.377849,60.205265 -134.377849,60.205265 -134.378502,60.216072 -134.378502,60.216072 -134.377547,60.218325 -134.377547,60.218325 -134.370121,60.232819 -134.370121,60.232819 -134.368822,60.239264 -134.368822,60.239264 -134.370630,60.241601 -134.370630,60.241601 -134.371281,60.252408 -134.371281,60.252408 -134.365538,60.260813 -134.365538,60.260813 -134.350749,60.274641 -134.350749,60.274641 -134.349553,60.275318 -134.349553,60.275318 -134.348769,60.276343 -134.348769,60.276343 -134.333833,60.284211 -134.333833,60.284211 -134.318479,60.287632 -134.318479,60.287632 -134.320189,60.297257 -134.320189,60.297257 -134.324845,60.300031 -134.324845,60.300031 -134.333770,60.309895 -134.333770,60.309895 -134.333792,60.310267 -134.333792,60.310267 -134.334071,60.310586 -134.334071,60.310586 -134.336046,60.315414 -134.336046,60.315414 -134.336385,60.325531 -134.336385,60.325531 -134.335960,60.326085 -134.335960,60.326085 -134.335970,60.326619 -134.335970,60.326619 -134.334645,60.329747 -134.334645,60.329747 -134.336729,60.334963 -134.336729,60.334963 -134.337018,60.344953 -134.337018,60.344953 -134.336334,60.345845 -134.336334,60.345845 -134.336331,60.346649 -134.336331,60.346649 -134.332428,60.354929 -134.332428,60.354929 -134.335713,60.359082 -134.335713,60.359082 -134.338150,60.362990 -134.338150,60.362990 -134.338792,60.373798 -134.338792,60.373798 -134.331030,60.383905 -134.331030,60.383905 -134.316039,60.391771 -134.316039,60.391771 -134.298796,60.395856 -134.298796,60.395856 -134.240919,60.403916 -134.240919,60.403916 -134.239601,60.403950 -134.239601,60.403950 -134.238223,60.404255 -134.238223,60.404255 -134.216372,60.404554 -134.195957,60.400691 -134.195957,60.400691 -134.180092,60.393254 -134.180092,60.393254 -134.168414,60.385087 -134.168414,60.385087 -134.159520,60.375211 -134.159520,60.375211 -134.158137,60.369364 -134.158137,60.369364 -134.158122,60.368617 -134.158122,60.368617 -134.155241,60.366102 -134.155241,60.366102 -134.149344,60.358556 -134.149344,60.358556 -134.148767,60.347747 -134.148767,60.347747 -134.150658,60.343932 -134.150658,60.343932 -134.155301,60.336790 -134.155301,60.336790 -134.161219,60.330509 -134.161219,60.330509 -134.176220,60.322662 -134.176220,60.322662 -134.188442,60.319958 -134.188442,60.319958 -134.190176,60.317895 -134.190176,60.317895 -134.190418,60.317768 -134.190418,60.317768 -134.190542,60.317610 -134.190542,60.317610 -134.199565,60.310689 -134.199565,60.310689 -134.199017,60.300696 -134.199017,60.300696 -134.201177,60.297894 -134.201177,60.297894 -134.199932,60.293876 -134.199932,60.293876 -134.196849,60.283926 -134.196849,60.283926 -134.196997,60.275049 -134.196997,60.275049 -134.202251,60.267163 -134.202251,60.267163 -134.210546,60.259048 -134.210546,60.259048 -134.209959,60.254623 -134.209959,60.254623 -134.212211,60.242513 -134.212211,60.242513 -134.211480,60.229765 -134.211480,60.229765 -134.211837,60.227243 -134.211837,60.227243 -134.210347,60.225584 -134.210347,60.225584 -134.209752,60.214777 -134.209752,60.214777 -134.217511,60.204679 -134.217511,60.204679 -134.217948,60.204449 -134.217948,60.204449 -134.218169,60.204171 -134.218169,60.204171 -134.228856,60.196108 -134.228856,60.196108 -134.243119,60.188762 -134.243119,60.188762 -134.262934,60.184346 -134.262934,60.184346 -134.275623,60.183650 -134.323836,60.183765 -134.323836,60.183765 -134.332845,60.184151 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-134.815566,60.122000 -134.562903,60.211047</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-134.803334,60.139237 -134.811236,60.148663 -134.814759,60.154706 -134.814304,60.158005 -134.814752,60.166984 -134.815566,60.177661 -134.814903,60.184429 -134.810657,60.189092 -134.808229,60.192839 -134.803521,60.196100 -134.791133,60.202384 -134.773282,60.206711 -134.764586,60.207225 -134.750676,60.210654 -134.729219,60.211047 -134.716887,60.208686 -134.703369,60.206228 -134.683103,60.206709 -134.672460,60.204784 -134.658299,60.201511 -134.641078,60.198290 -134.636719,60.196721 -134.620839,60.194061 -134.609115,60.191739 -134.600846,60.188181 -134.592579,60.184622 -134.580785,60.176072 -134.571871,60.169880 -134.567357,60.164200 -134.563091,60.158693 -134.562903,60.147301 -134.571357,60.138288 -134.581492,60.131536 -134.591931,60.127539 -134.612421,60.122545 -134.633571,60.122000 -134.639147,60.122607 -134.656919,60.125877 -134.666460,60.129232 -134.678207,60.130491 -134.690106,60.132216 -134.701070,60.134016 -134.715296,60.130469 -134.733185,60.128733 -134.755465,60.127501 -134.768839,60.128428 -134.788310,60.132118 -134.803334,60.139237 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-82.032832,52.595441 -80.548740,53.290101</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-81.554286,52.893166 -81.503558,52.887793 -81.484212,52.885270 -81.405758,52.872550 -81.327600,52.864705 -81.291311,52.858678 -81.222398,52.842168 -81.174117,52.824691 -81.117095,52.803560 -81.063988,52.782920 -80.999994,52.775485 -80.936890,52.765676 -80.828087,52.748326 -80.792338,52.751994 -80.773537,52.775173 -80.769147,52.813844 -80.771501,52.839945 -80.800781,52.880799 -80.851882,52.912351 -80.921340,52.943912 -81.026436,52.961821 -81.150555,52.972344 -81.166049,52.974413 -81.301634,52.981372 -81.422107,53.002104 -81.466158,53.015206 -81.516336,53.033980 -81.583086,53.063439 -81.608229,53.072803 -81.713285,53.086268 -81.770663,53.085005 -81.814921,53.074707 -81.849710,53.044842 -81.876670,53.013987 -81.888544,52.973891 -81.925604,52.966330 -81.946557,52.970189 -81.956919,52.981274 -81.986389,52.989861 -82.000322,52.996496 -82.027467,53.006001 -82.032832,53.014007 -82.022103,53.033459 -81.996671,53.042514 -81.975854,53.055812 -81.949755,53.084351 -81.928816,53.103749 -81.905820,53.129006 -81.898022,53.128026 -81.855990,53.143542 -81.813513,53.160214 -81.783835,53.180945 -81.762650,53.206424 -81.738468,53.222951 -81.705621,53.240823 -81.652908,53.251254 -81.578393,53.271119 -81.501725,53.279633 -81.458571,53.280181 -81.403101,53.286468 -81.374042,53.287589 -81.299434,53.290101 -81.254503,53.284200 -81.211073,53.268660 -81.178322,53.263103 -81.130204,53.271450 -81.052156,53.261052 -81.001116,53.211242 -80.949212,53.196890 -80.925949,53.171645 -80.893132,53.161063 -80.863408,53.142292 -80.842432,53.111191 -80.823716,53.101271 -80.796275,53.076644 -80.740242,53.046853 -80.714387,53.023641 -80.683925,52.991185 -80.659631,52.969399 -80.628015,52.897449 -80.603952,52.864620 -80.590303,52.841834 -80.556531,52.818688 -80.550631,52.781011 -80.555971,52.751054 -80.548740,52.732845 -80.563378,52.694374 -80.602154,52.634740 -80.664408,52.598035 -80.733892,52.595441 -80.792575,52.610935 -80.850186,52.634828 -80.974432,52.664106 -81.036316,52.671294 -81.102708,52.682727 -81.156548,52.701005 -81.209134,52.711731 -81.250480,52.736854 -81.295072,52.758712 -81.385079,52.777969 -81.463751,52.789532 -81.517374,52.797766 -81.560810,52.811990 -81.592828,52.835730 -81.599051,52.852448 -81.588013,52.877950 -81.571429,52.890492 -81.554286,52.893166 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-141.237629,67.559750 -138.455604,68.477779</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-141.237200,68.111622 -141.237261,68.112375 -141.236620,68.113293 -141.236892,68.114143 -141.215291,68.196745 -141.214229,68.198149 -141.211235,68.204764 -141.199373,68.220410 -141.191566,68.228037 -141.189998,68.228986 -141.189233,68.229731 -141.187572,68.230545 -141.186900,68.231425 -141.094741,68.294870 -141.092153,68.296078 -141.087410,68.298866 -141.086146,68.299693 -141.075352,68.305843 -141.070831,68.307783 -141.066275,68.310377 -140.879305,68.392314 -140.874324,68.394186 -140.873079,68.394834 -140.860136,68.399697 -140.852762,68.401406 -140.847095,68.403955 -140.834119,68.407628 -140.832670,68.407914 -140.827467,68.409386 -140.632064,68.457327 -140.624681,68.458657 -140.617826,68.460330 -140.588396,68.465623 -140.573204,68.467913 -140.558911,68.469336 -140.529965,68.471550 -140.523597,68.471709 -140.515312,68.472341 -140.348930,68.477577 -140.341535,68.477593 -140.339110,68.477739 -140.319467,68.477779 -140.315140,68.477407 -140.309644,68.477657 -140.296999,68.477079 -140.271938,68.475452 -140.267709,68.474936 -140.259522,68.474403 -139.970023,68.443907 -139.966962,68.443462 -139.964321,68.443273 -139.633905,68.404601 -139.626872,68.403525 -139.624161,68.403282 -139.605008,68.400351 -139.595599,68.398738 -139.586891,68.396913 -139.569905,68.393012 -139.567958,68.392390 -139.561625,68.390935 -139.370126,68.338410 -139.368549,68.337860 -139.366129,68.337286 -139.115535,68.264892 -139.109561,68.262740 -139.105586,68.261670 -139.091722,68.256674 -139.087219,68.254868 -139.085206,68.254141 -139.082651,68.253396 -138.559905,68.031053 -138.559018,68.030450 -138.557483,68.029976 -138.556553,68.029461 -138.555060,68.028899 -138.541696,68.021366 -138.519172,68.005466 -138.510010,67.997099 -138.509593,67.995459 -138.507975,67.994220 -138.504407,67.988418 -138.504309,67.987831 -138.502873,67.985496 -138.458288,67.882754 -138.458051,67.879742 -138.456750,67.876705 -138.456275,67.870650 -138.456141,67.870207 -138.456041,67.863495 -138.455604,67.862046 -138.469580,67.779184 -138.470203,67.778360 -138.469967,67.777416 -138.470344,67.776676 -138.470354,67.775648 -138.488323,67.708974 -138.493053,67.700106 -138.506962,67.682890 -138.516140,67.674541 -138.524797,67.669301 -138.543866,67.659307 -138.549674,67.656967 -138.554277,67.654553 -138.653111,67.615019 -138.657596,67.613431 -138.658465,67.613001 -138.669488,67.609097 -138.672522,67.608432 -138.675157,67.607209 -138.691631,67.602874 -138.726212,67.595293 -138.739607,67.593081 -138.744319,67.592047 -138.931678,67.565276 -138.935112,67.565101 -138.938722,67.564358 -138.941442,67.564130 -138.945766,67.563439 -138.970802,67.561573 -138.999524,67.560612 -139.012179,67.559962 -139.020857,67.559896 -139.021335,67.559879 -139.022746,67.559881 -139.039559,67.559750 -139.041580,67.559899 -139.043197,67.559901 -139.045054,67.560112 -139.046836,67.560051 -139.457759,67.578971 -139.460760,67.579323 -139.479172,67.580689 -139.520848,67.585563 -139.541113,67.588718 -139.544074,67.589621 -139.547163,67.589999 -139.559063,67.592689 -139.559968,67.592981 -139.564914,67.594099 -139.708098,67.630707 -139.712164,67.632089 -139.718621,67.633727 -139.720910,67.634504 -139.721418,67.634637 -139.723168,67.635232 -139.729523,67.636843 -140.003951,67.724315 -140.173475,67.753182 -140.362164,67.781944 -140.366269,67.782644 -140.366864,67.782700 -140.376176,67.784287 -140.377953,67.784788 -140.378739,67.784903 -140.380788,67.785116 -140.381753,67.785347 -140.382680,67.785483 -140.383554,67.785740 -140.384572,67.785850 -140.545809,67.817651 -140.837665,67.843963 -140.845425,67.845014 -140.850869,67.845441 -140.876761,67.848945 -140.889447,67.850971 -140.909828,67.855736 -140.947759,67.866666 -140.965311,67.872833 -140.967226,67.874076 -140.969766,67.874851 -140.978366,67.878978 -140.978933,67.879370 -140.982512,67.881087 -141.103506,67.946229 -141.107006,67.948808 -141.112323,67.951739 -141.127843,67.963165 -141.134547,67.969081 -141.134949,67.969714 -141.135533,67.970199 -141.135757,67.970813 -141.136519,67.971317 -141.226379,68.077183 -141.226724,68.078209 -141.231248,68.085443 -141.236874,68.102155 -141.237629,68.110607 -141.237200,68.111622 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-114.494709,59.567937 -112.361903,60.507659</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-113.091418,60.507659 -112.999480,60.500671 -112.877028,60.411437 -112.799834,60.338816 -112.693886,60.255879 -112.594636,60.163353 -112.505817,60.078004 -112.411023,59.950352 -112.376959,59.868849 -112.361903,59.790439 -112.376064,59.733796 -112.463959,59.666666 -112.576116,59.633356 -112.644517,59.603359 -112.725544,59.585875 -112.828970,59.567937 -113.056847,59.569020 -113.201588,59.573470 -113.343264,59.572445 -113.538247,59.574718 -113.607256,59.575760 -113.677364,59.588167 -113.840514,59.641188 -113.933320,59.690530 -113.990109,59.736757 -114.085538,59.817552 -114.151854,59.897102 -114.250466,60.009351 -114.455662,60.270508 -114.485943,60.318066 -114.494101,60.340037 -114.494709,60.377727 -114.465502,60.405549 -114.357991,60.439727 -114.261636,60.454640 -114.069042,60.475487 -113.881566,60.495235 -113.662575,60.502003 -113.488181,60.504708 -113.272843,60.507364 -113.091418,60.507659 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-54.343682,46.722334 -54.057066,46.914179</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-54.194985,46.885032 -54.127072,46.896862 -54.090859,46.822655 -54.070486,46.810183 -54.064816,46.806766 -54.060535,46.802079 -54.057066,46.797311 -54.057877,46.791273 -54.061926,46.786904 -54.066669,46.779914 -54.074531,46.770063 -54.079386,46.763628 -54.087590,46.757431 -54.092905,46.753220 -54.096486,46.750598 -54.111616,46.742014 -54.120277,46.738038 -54.135172,46.732310 -54.146371,46.728648 -54.161034,46.725775 -54.174658,46.723854 -54.184240,46.722334 -54.192556,46.722641 -54.201680,46.722867 -54.213692,46.723087 -54.226747,46.724336 -54.237723,46.725508 -54.254029,46.730402 -54.262819,46.732925 -54.278558,46.739007 -54.288751,46.744226 -54.303248,46.754119 -54.319153,46.766708 -54.328810,46.777088 -54.333950,46.785653 -54.338175,46.795730 -54.340784,46.805972 -54.343036,46.814546 -54.343682,46.825270 -54.341327,46.837435 -54.338839,46.847057 -54.333227,46.857563 -54.327494,46.867512 -54.318514,46.877789 -54.310904,46.884803 -54.299354,46.892780 -54.284792,46.902194 -54.275767,46.906506 -54.266968,46.909943 -54.255852,46.914179 -54.194985,46.885032 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-52.852971,47.162914 -52.741044,47.286096</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-52.809297,47.162940 -52.809782,47.162918 -52.810640,47.162914 -52.810922,47.162939 -52.811459,47.162927 -52.812304,47.162959 -52.812597,47.162991 -52.812885,47.162989 -52.813744,47.163048 -52.814165,47.163101 -52.814399,47.163103 -52.815233,47.163189 -52.815656,47.163251 -52.815781,47.163254 -52.816630,47.163366 -52.816901,47.163451 -52.817297,47.163467 -52.818120,47.163607 -52.818509,47.163736 -52.818925,47.163763 -52.819736,47.163939 -52.819930,47.164009 -52.820096,47.164021 -52.820908,47.164215 -52.821071,47.164276 -52.821744,47.164437 -52.822531,47.164668 -52.822678,47.164727 -52.822942,47.164794 -52.823716,47.165043 -52.824120,47.165212 -52.824518,47.165324 -52.825266,47.165609 -52.825584,47.165753 -52.825747,47.165801 -52.826470,47.166104 -52.826881,47.166300 -52.826986,47.166333 -52.827696,47.166663 -52.827909,47.166821 -52.828256,47.166938 -52.828928,47.167288 -52.829133,47.167448 -52.829393,47.167541 -52.830053,47.167918 -52.830098,47.167955 -52.830584,47.168238 -52.831204,47.168633 -52.831320,47.168733 -52.831712,47.168974 -52.832307,47.169396 -52.832411,47.169491 -52.832604,47.169614 -52.833173,47.170046 -52.833441,47.170300 -52.833722,47.170491 -52.834252,47.170950 -52.834358,47.171058 -52.834430,47.171107 -52.849745,47.184989 -52.849920,47.185171 -52.850001,47.185229 -52.850083,47.185309 -52.850370,47.185618 -52.850429,47.185663 -52.850511,47.185751 -52.850511,47.185751 -52.850511,47.185751 -52.850594,47.185840 -52.850617,47.185885 -52.850757,47.186036 -52.850821,47.186168 -52.850991,47.186302 -52.851060,47.186402 -52.851098,47.186433 -52.851167,47.186521 -52.851213,47.186621 -52.851794,47.187453 -52.851850,47.187551 -52.851850,47.187551 -52.851850,47.187551 -52.851906,47.187649 -52.851985,47.187862 -52.852159,47.188131 -52.852202,47.188220 -52.852241,47.188341 -52.852301,47.188435 -52.852344,47.188534 -52.852554,47.189217 -52.852657,47.189410 -52.852688,47.189518 -52.852686,47.189550 -52.852697,47.189586 -52.852869,47.190298 -52.852963,47.191179 -52.852967,47.191287 -52.852967,47.191287 -52.852971,47.191386 -52.852923,47.191650 -52.852945,47.192195 -52.852935,47.192294 -52.852935,47.192294 -52.852926,47.192394 -52.852828,47.192785 -52.852824,47.193055 -52.852802,47.193163 -52.852774,47.193253 -52.852773,47.193293 -52.852750,47.193392 -52.852532,47.194079 -52.852526,47.194148 -52.852490,47.194248 -52.852470,47.194277 -52.852435,47.194385 -52.852360,47.194487 -52.852350,47.194585 -52.852194,47.194912 -52.852187,47.194955 -52.852138,47.195055 -52.852108,47.195093 -52.852091,47.195129 -52.852088,47.195146 -52.852039,47.195246 -52.852030,47.195257 -52.851999,47.195322 -52.851949,47.195413 -52.851815,47.195577 -52.851478,47.196197 -52.851415,47.196288 -52.851131,47.196603 -52.850952,47.196896 -52.850876,47.196987 -52.850628,47.197240 -52.850555,47.197352 -52.850479,47.197434 -52.849972,47.197925 -52.849938,47.197972 -52.849849,47.198054 -52.849849,47.198054 -52.849759,47.198136 -52.849759,47.198136 -52.849670,47.198219 -52.849547,47.198293 -52.849469,47.198399 -52.848621,47.199068 -52.848518,47.199142 -52.848518,47.199142 -52.848415,47.199215 -52.847940,47.199468 -52.847221,47.199969 -52.847104,47.200034 -52.847104,47.200034 -52.846987,47.200099 -52.846435,47.200357 -52.846225,47.200493 -52.846108,47.200548 -52.845655,47.200744 -52.845589,47.200784 -52.845459,47.200840 -52.845459,47.200840 -52.845329,47.200896 -52.845263,47.200912 -52.845042,47.201008 -52.844848,47.201051 -52.844651,47.201167 -52.844504,47.201215 -52.844459,47.201240 -52.844329,47.201287 -52.844183,47.201318 -52.843884,47.201415 -52.843202,47.201645 -52.843072,47.201684 -52.843037,47.201690 -52.842961,47.201714 -52.842818,47.201753 -52.842334,47.201836 -52.841665,47.202030 -52.841520,47.202060 -52.841520,47.202060 -52.841376,47.202089 -52.840560,47.202205 -52.840279,47.202277 -52.840134,47.202298 -52.839977,47.202315 -52.839945,47.202323 -52.839788,47.202344 -52.839736,47.202342 -52.839089,47.202415 -52.838980,47.202409 -52.838823,47.202444 -52.838678,47.202455 -52.838678,47.202455 -52.838533,47.202467 -52.838501,47.202465 -52.837349,47.202522 -52.837190,47.202525 -52.836928,47.202503 -52.804420,47.243611 -52.804287,47.264660 -52.804269,47.264749 -52.804280,47.264917 -52.804249,47.265557 -52.804212,47.265721 -52.804220,47.265931 -52.804149,47.266571 -52.804072,47.266870 -52.804070,47.267083 -52.803946,47.267714 -52.803867,47.267979 -52.803863,47.268081 -52.803700,47.268713 -52.803541,47.269192 -52.803536,47.269250 -52.803319,47.269865 -52.803165,47.270082 -52.803134,47.270332 -52.802864,47.270948 -52.802761,47.271085 -52.802742,47.271213 -52.802445,47.271821 -52.802371,47.271915 -52.802097,47.272453 -52.801733,47.273044 -52.801660,47.273129 -52.801568,47.273301 -52.801178,47.273883 -52.800973,47.274113 -52.800812,47.274386 -52.800369,47.274951 -52.800196,47.275132 -52.800121,47.275253 -52.799651,47.275800 -52.799287,47.276164 -52.799213,47.276275 -52.798688,47.276805 -52.798471,47.276942 -52.798304,47.277173 -52.797739,47.277686 -52.797541,47.277805 -52.797420,47.277965 -52.796828,47.278460 -52.796794,47.278480 -52.796315,47.278865 -52.795683,47.279333 -52.795565,47.279397 -52.795230,47.279653 -52.794558,47.280104 -52.794360,47.280206 -52.794078,47.280411 -52.793378,47.280836 -52.793095,47.280974 -52.792870,47.281129 -52.792143,47.281527 -52.791799,47.281686 -52.791648,47.281785 -52.790881,47.282166 -52.790386,47.282383 -52.790290,47.282443 -52.789508,47.282789 -52.789292,47.282842 -52.789077,47.282971 -52.788268,47.283298 -52.787861,47.283393 -52.787546,47.283570 -52.786710,47.283862 -52.786622,47.283880 -52.786030,47.284083 -52.785179,47.284339 -52.785052,47.284363 -52.784737,47.284466 -52.783859,47.284705 -52.783564,47.284756 -52.783149,47.284881 -52.782257,47.285084 -52.781830,47.285150 -52.781528,47.285234 -52.780621,47.285401 -52.780378,47.285434 -52.780272,47.285462 -52.779364,47.285611 -52.778530,47.285714 -52.778411,47.285743 -52.777475,47.285847 -52.777222,47.285838 -52.776952,47.285898 -52.776029,47.285975 -52.775618,47.285955 -52.775278,47.286023 -52.774341,47.286065 -52.774251,47.286059 -52.773787,47.286082 -52.772848,47.286096 -52.772632,47.286078 -52.772110,47.286093 -52.771170,47.286072 -52.770928,47.286047 -52.770620,47.286051 -52.769679,47.286003 -52.769240,47.285951 -52.768927,47.285949 -52.767999,47.285865 -52.767462,47.285790 -52.767283,47.285786 -52.766354,47.285665 -52.765806,47.285578 -52.765742,47.285575 -52.764838,47.285427 -52.764519,47.285323 -52.764152,47.285302 -52.763246,47.285117 -52.762920,47.285003 -52.762632,47.284981 -52.761752,47.284770 -52.761665,47.284737 -52.761272,47.284647 -52.760391,47.284409 -52.760187,47.284329 -52.759715,47.284211 -52.758873,47.283945 -52.758564,47.283816 -52.758208,47.283719 -52.757378,47.283416 -52.757019,47.283257 -52.756800,47.283193 -52.755996,47.282863 -52.755561,47.282659 -52.755434,47.282620 -52.754655,47.282263 -52.754454,47.282115 -52.754114,47.282001 -52.753360,47.281616 -52.753186,47.281481 -52.752951,47.281398 -52.752224,47.280996 -52.752195,47.280972 -52.751630,47.280646 -52.750941,47.280216 -52.750848,47.280135 -52.750472,47.279907 -52.749809,47.279449 -52.749660,47.279315 -52.749359,47.279123 -52.748735,47.278646 -52.748532,47.278453 -52.748305,47.278301 -52.747720,47.277806 -52.747420,47.277505 -52.747252,47.277385 -52.746706,47.276862 -52.746531,47.276674 -52.746474,47.276633 -52.745954,47.276101 -52.745810,47.275836 -52.745475,47.275571 -52.745007,47.275011 -52.744910,47.274813 -52.744733,47.274667 -52.744305,47.274097 -52.744278,47.274038 -52.743981,47.273635 -52.743605,47.273056 -52.743570,47.272969 -52.743419,47.272755 -52.743069,47.272157 -52.742994,47.271956 -52.742809,47.271674 -52.742512,47.271067 -52.742416,47.270776 -52.742292,47.270571 -52.742047,47.269954 -52.741973,47.269695 -52.741917,47.269595 -52.741711,47.268977 -52.741593,47.268512 -52.741560,47.268449 -52.741407,47.267812 -52.741421,47.267640 -52.741332,47.267457 -52.741219,47.266828 -52.741250,47.266549 -52.741149,47.266318 -52.741089,47.265680 -52.741098,47.265619 -52.741064,47.265303 -52.741044,47.264664 -52.741071,47.264517 -52.741048,47.264162 -52.741080,47.263522 -52.741131,47.263294 -52.741125,47.263024 -52.741210,47.262384 -52.741272,47.262151 -52.741274,47.261996 -52.741399,47.261364 -52.741516,47.260976 -52.741522,47.260851 -52.741700,47.260228 -52.741810,47.259910 -52.741814,47.259869 -52.742031,47.259245 -52.742143,47.259087 -52.742165,47.258894 -52.752738,47.233213 -52.752954,47.232923 -52.752997,47.232655 -52.781944,47.176634 -52.781973,47.176597 -52.782058,47.176422 -52.782357,47.175887 -52.782458,47.175765 -52.782640,47.175418 -52.782992,47.174882 -52.783111,47.174747 -52.783223,47.174548 -52.783602,47.174029 -52.783788,47.173828 -52.783895,47.173650 -52.784314,47.173140 -52.784599,47.172847 -52.784686,47.172714 -52.785144,47.172221 -52.785418,47.171956 -52.785456,47.171901 -52.785942,47.171425 -52.786196,47.171268 -52.786375,47.171025 -52.786901,47.170567 -52.787200,47.170391 -52.787361,47.170188 -52.787927,47.169747 -52.787998,47.169708 -52.788311,47.169461 -52.788904,47.169037 -52.789071,47.168949 -52.789414,47.168693 -52.790034,47.168296 -52.790238,47.168194 -52.790460,47.168035 -52.791107,47.167656 -52.791526,47.167456 -52.791768,47.167294 -52.792455,47.166941 -52.792728,47.166819 -52.792816,47.166763 -52.793517,47.166428 -52.794057,47.166195 -52.794123,47.166155 -52.794852,47.165847 -52.795140,47.165777 -52.795394,47.165629 -52.796136,47.165348 -52.796519,47.165263 -52.796778,47.165120 -52.797548,47.164865 -52.797660,47.164842 -52.798128,47.164685 -52.798912,47.164456 -52.799113,47.164419 -52.799507,47.164295 -52.800305,47.164093 -52.800597,47.164045 -52.800912,47.163951 -52.801724,47.163777 -52.802137,47.163715 -52.802383,47.163648 -52.803222,47.163499 -52.803798,47.163425 -52.803954,47.163385 -52.804781,47.163273 -52.804981,47.163279 -52.805236,47.163218 -52.806090,47.163123 -52.806477,47.163138 -52.806864,47.163054 -52.807706,47.162995 -52.808057,47.163016 -52.808322,47.162963 -52.809179,47.162931 -52.809297,47.162940 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-52.838461,48.087171 -52.762652,48.178309</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-52.805220,48.087220 -52.805719,48.087195 -52.807249,48.087171 -52.807452,48.087188 -52.807952,48.087173 -52.809484,48.087202 -52.809740,48.087228 -52.810078,48.087223 -52.811598,48.087298 -52.812085,48.087355 -52.812427,48.087356 -52.813935,48.087494 -52.815105,48.087656 -52.815320,48.087664 -52.816077,48.087787 -52.816212,48.087831 -52.816380,48.087839 -52.817164,48.087979 -52.817535,48.088104 -52.817906,48.088128 -52.818664,48.088296 -52.818742,48.088324 -52.819252,48.088437 -52.820011,48.088631 -52.820208,48.088706 -52.820739,48.088835 -52.821472,48.089058 -52.821743,48.089167 -52.822097,48.089260 -52.822818,48.089510 -52.823124,48.089641 -52.823352,48.089705 -52.824046,48.089973 -52.824465,48.090162 -52.824629,48.090211 -52.825310,48.090506 -52.825753,48.090717 -52.825823,48.090740 -52.826479,48.091053 -52.826681,48.091204 -52.826981,48.091305 -52.827611,48.091637 -52.827899,48.091862 -52.828223,48.091980 -52.828827,48.092339 -52.828899,48.092400 -52.829287,48.092627 -52.829865,48.093004 -52.829988,48.093111 -52.830304,48.093306 -52.830855,48.093702 -52.831079,48.093906 -52.831382,48.094104 -52.831894,48.094518 -52.832065,48.094685 -52.832201,48.094777 -52.832686,48.095201 -52.832997,48.095516 -52.833123,48.095606 -52.833582,48.096057 -52.833849,48.096344 -52.833893,48.096377 -52.834312,48.096829 -52.834463,48.097116 -52.834766,48.097358 -52.835145,48.097838 -52.835230,48.098019 -52.835369,48.098134 -52.835723,48.098623 -52.835755,48.098697 -52.835978,48.098999 -52.836291,48.099489 -52.836359,48.099658 -52.836579,48.099979 -52.836853,48.100487 -52.836907,48.100640 -52.837010,48.100798 -52.837257,48.101316 -52.837381,48.101697 -52.837505,48.101905 -52.837698,48.102432 -52.837758,48.102651 -52.837795,48.102717 -52.837962,48.103245 -52.838099,48.103796 -52.838116,48.103829 -52.838229,48.104358 -52.838206,48.104596 -52.838309,48.104817 -52.838382,48.105355 -52.838359,48.105526 -52.838415,48.105653 -52.838461,48.106192 -52.837998,48.109096 -52.837129,48.110632 -52.836486,48.111516 -52.836020,48.112223 -52.835617,48.112925 -52.835239,48.113677 -52.834911,48.114425 -52.834637,48.115169 -52.834414,48.115919 -52.834236,48.116680 -52.834111,48.117444 -52.834028,48.118245 -52.833993,48.119022 -52.834011,48.119764 -52.834083,48.120534 -52.834200,48.121307 -52.834370,48.122062 -52.834584,48.122816 -52.834797,48.123410 -52.835286,48.124635 -52.835639,48.125852 -52.835514,48.128585 -52.825683,48.163967 -52.825422,48.164722 -52.825296,48.164890 -52.825272,48.165058 -52.825047,48.165529 -52.825005,48.165583 -52.824792,48.166014 -52.824526,48.166477 -52.824452,48.166565 -52.824321,48.166814 -52.824028,48.167268 -52.823869,48.167447 -52.823707,48.167729 -52.823373,48.168175 -52.823173,48.168387 -52.823062,48.168567 -52.822701,48.168995 -52.822401,48.169296 -52.822316,48.169423 -52.821914,48.169843 -52.821572,48.170166 -52.821535,48.170218 -52.821105,48.170621 -52.820917,48.170735 -52.820788,48.170906 -52.820331,48.171301 -52.819980,48.171504 -52.819791,48.171738 -52.819306,48.172105 -52.819237,48.172142 -52.818953,48.172362 -52.818441,48.172721 -52.818284,48.172803 -52.817955,48.173045 -52.817416,48.173387 -52.817174,48.173506 -52.816908,48.173692 -52.816341,48.174016 -52.815902,48.174222 -52.815660,48.174380 -52.815065,48.174677 -52.814724,48.174827 -52.814627,48.174888 -52.814018,48.175167 -52.813512,48.175378 -52.813458,48.175411 -52.812821,48.175673 -52.812468,48.175755 -52.812168,48.175925 -52.811517,48.176160 -52.811225,48.176222 -52.811033,48.176327 -52.810368,48.176544 -52.810235,48.176570 -52.809667,48.176757 -52.808988,48.176947 -52.808725,48.176994 -52.808266,48.177134 -52.807572,48.177298 -52.807311,48.177339 -52.807061,48.177411 -52.806353,48.177557 -52.805871,48.177626 -52.805616,48.177694 -52.804893,48.177813 -52.804289,48.177887 -52.804154,48.177920 -52.803417,48.178013 -52.803218,48.178007 -52.802977,48.178063 -52.802254,48.178138 -52.801873,48.178122 -52.801505,48.178200 -52.800766,48.178248 -52.800711,48.178244 -52.800039,48.178281 -52.799300,48.178302 -52.799126,48.178288 -52.798569,48.178309 -52.797829,48.178302 -52.797541,48.178275 -52.797102,48.178283 -52.796361,48.178249 -52.796108,48.178221 -52.795881,48.178222 -52.795139,48.178171 -52.794639,48.178107 -52.794388,48.178104 -52.793659,48.178026 -52.793081,48.177941 -52.792959,48.177937 -52.792229,48.177832 -52.791906,48.177730 -52.791488,48.177710 -52.790771,48.177577 -52.790514,48.177491 -52.790256,48.177474 -52.789551,48.177323 -52.789472,48.177295 -52.788826,48.177152 -52.788134,48.176974 -52.787976,48.176914 -52.787536,48.176809 -52.786870,48.176613 -52.786632,48.176517 -52.786277,48.176426 -52.785610,48.176202 -52.785293,48.176068 -52.785025,48.175994 -52.784384,48.175752 -52.783935,48.175551 -52.783745,48.175494 -52.783116,48.175225 -52.782634,48.174996 -52.782556,48.174971 -52.781954,48.174684 -52.781785,48.174557 -52.781528,48.174471 -52.780939,48.174165 -52.780583,48.173890 -52.780350,48.173812 -52.780279,48.173771 -52.780153,48.173724 -52.779603,48.173391 -52.779560,48.173355 -52.779352,48.173234 -52.778815,48.172892 -52.778654,48.172753 -52.778207,48.172477 -52.777710,48.172116 -52.777574,48.171991 -52.777378,48.171865 -52.776894,48.171486 -52.776587,48.171192 -52.776350,48.171030 -52.775906,48.170632 -52.775684,48.170404 -52.775592,48.170339 -52.775175,48.169931 -52.774740,48.169465 -52.774703,48.169436 -52.774325,48.169010 -52.774236,48.168835 -52.774057,48.168693 -52.773705,48.168258 -52.773612,48.168063 -52.773457,48.167934 -52.773132,48.167489 -52.773087,48.167388 -52.772781,48.166966 -52.772496,48.166503 -52.772432,48.166341 -52.772251,48.166074 -52.772007,48.165610 -52.771945,48.165435 -52.771838,48.165268 -52.771620,48.164795 -52.771517,48.164472 -52.771416,48.164301 -52.771238,48.163818 -52.771133,48.163438 -52.771085,48.163349 -52.770947,48.162866 -52.770952,48.162779 -52.770947,48.162759 -52.770961,48.162635 -52.770826,48.162366 -52.770729,48.161872 -52.770746,48.161705 -52.770674,48.161551 -52.770603,48.161057 -52.770608,48.161020 -52.770553,48.160571 -52.770523,48.160077 -52.770543,48.159961 -52.770513,48.159588 -52.770523,48.159093 -52.770564,48.158900 -52.770552,48.158607 -52.770602,48.158111 -52.770670,48.157845 -52.770670,48.157631 -52.770761,48.157135 -52.770830,48.156901 -52.770831,48.156887 -52.770371,48.156690 -52.767165,48.154271 -52.766732,48.153792 -52.766604,48.153545 -52.766352,48.153343 -52.765959,48.152845 -52.765846,48.152604 -52.765782,48.152555 -52.765766,48.152532 -52.765659,48.152442 -52.765305,48.151934 -52.765257,48.151821 -52.765005,48.151470 -52.764692,48.150944 -52.764633,48.150791 -52.764479,48.150563 -52.764206,48.150037 -52.764152,48.149880 -52.764058,48.149735 -52.763811,48.149199 -52.763689,48.148816 -52.763578,48.148627 -52.763385,48.148081 -52.763288,48.147718 -52.763246,48.147642 -52.763093,48.147086 -52.763106,48.146892 -52.762992,48.146666 -52.762879,48.146110 -52.762902,48.145886 -52.762808,48.145683 -52.762735,48.145126 -52.762741,48.145083 -52.762694,48.144694 -52.762662,48.144137 -52.762679,48.144034 -52.762652,48.143708 -52.762659,48.143141 -52.762708,48.142912 -52.762695,48.142561 -52.762757,48.142002 -52.762796,48.141850 -52.762795,48.141718 -52.762883,48.141159 -52.762998,48.140755 -52.763005,48.140574 -52.763147,48.140023 -52.763222,48.139800 -52.763226,48.139747 -52.763395,48.139195 -52.763578,48.138931 -52.763617,48.138581 -52.763841,48.138047 -52.763991,48.137848 -52.764020,48.137654 -52.764284,48.137119 -52.764314,48.137081 -52.764442,48.136818 -52.764733,48.136292 -52.764813,48.136195 -52.764983,48.135872 -52.765315,48.135354 -52.765518,48.135124 -52.765723,48.134776 -52.766109,48.134275 -52.766296,48.134080 -52.766389,48.133930 -52.766803,48.133446 -52.766990,48.133260 -52.767049,48.133170 -52.767490,48.132696 -52.767869,48.132333 -52.767918,48.132262 -52.767990,48.132194 -52.768065,48.132024 -52.768182,48.131693 -52.768266,48.131392 -52.768316,48.131131 -52.768349,48.130819 -52.768360,48.130512 -52.768343,48.130196 -52.768305,48.129880 -52.768242,48.129579 -52.768157,48.129276 -52.768066,48.129030 -52.767915,48.128708 -52.767786,48.128464 -52.767377,48.127851 -52.767331,48.127739 -52.767133,48.127460 -52.766576,48.126506 -52.766517,48.126348 -52.766372,48.126131 -52.765882,48.125167 -52.765768,48.124835 -52.765624,48.124597 -52.765227,48.123605 -52.765165,48.123392 -52.765116,48.123307 -52.764773,48.122313 -52.764644,48.121823 -52.764607,48.121754 -52.764358,48.120741 -52.764373,48.120553 -52.764275,48.120354 -52.764093,48.119340 -52.764117,48.119127 -52.764035,48.118947 -52.763920,48.117933 -52.763931,48.117857 -52.763883,48.117379 -52.763861,48.116354 -52.763884,48.116234 -52.763865,48.115961 -52.763911,48.114935 -52.763959,48.114724 -52.763951,48.114459 -52.764077,48.113440 -52.764154,48.113155 -52.764156,48.112963 -52.764363,48.111952 -52.764469,48.111608 -52.764475,48.111495 -52.764763,48.110483 -52.764890,48.110118 -52.764894,48.110074 -52.765250,48.109078 -52.765384,48.108891 -52.765411,48.108669 -52.765834,48.107691 -52.766026,48.107441 -52.766062,48.107215 -52.766567,48.106253 -52.766621,48.106187 -52.766774,48.105884 -52.767346,48.104930 -52.767477,48.104778 -52.767661,48.104448 -52.768314,48.103520 -52.768462,48.103358 -52.768573,48.103171 -52.769281,48.102270 -52.769555,48.101986 -52.769669,48.101810 -52.770458,48.100934 -52.770719,48.100680 -52.770773,48.100601 -52.771617,48.099751 -52.771836,48.099615 -52.772009,48.099377 -52.772921,48.098553 -52.773173,48.098404 -52.773329,48.098204 -52.774295,48.097415 -52.774336,48.097392 -52.774789,48.097035 -52.775824,48.096281 -52.775946,48.096216 -52.776286,48.095961 -52.777376,48.095242 -52.777550,48.095154 -52.777803,48.094973 -52.778934,48.094290 -52.779251,48.094137 -52.779509,48.093962 -52.780696,48.093323 -52.781060,48.093157 -52.781217,48.093056 -52.782459,48.092451 -52.782928,48.092249 -52.783021,48.092192 -52.784305,48.091633 -52.784573,48.091567 -52.784838,48.091412 -52.786149,48.090897 -52.786516,48.090813 -52.786796,48.090658 -52.788163,48.090187 -52.788239,48.090171 -52.788786,48.089986 -52.790168,48.089569 -52.790311,48.089542 -52.790691,48.089420 -52.792114,48.089038 -52.792435,48.088982 -52.792883,48.088849 -52.794322,48.088530 -52.794620,48.088485 -52.794846,48.088422 -52.796327,48.088138 -52.796884,48.088062 -52.797103,48.088005 -52.798586,48.087784 -52.799108,48.087724 -52.799194,48.087703 -52.800705,48.087527 -52.800978,48.087536 -52.801281,48.087468 -52.802794,48.087336 -52.803238,48.087357 -52.803613,48.087282 -52.805128,48.087213 -52.805220,48.087220 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-53.267978,49.700161 -53.085833,49.818111</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-53.173170,49.700208 -53.175703,49.700161 -53.176679,49.700206 -53.177816,49.700184 -53.178281,49.700220 -53.179200,49.700203 -53.180176,49.700248 -53.181312,49.700226 -53.181723,49.700258 -53.182572,49.700240 -53.184406,49.700313 -53.185378,49.700417 -53.185879,49.700423 -53.186820,49.700527 -53.187912,49.700571 -53.188884,49.700674 -53.189386,49.700681 -53.190938,49.700852 -53.192656,49.701021 -53.194161,49.701227 -53.194174,49.701227 -53.195219,49.701409 -53.196247,49.701522 -53.197514,49.701703 -53.197524,49.701703 -53.199032,49.701966 -53.200706,49.702228 -53.200860,49.702276 -53.201045,49.702284 -53.202723,49.702576 -53.202737,49.702581 -53.202754,49.702581 -53.203902,49.702818 -53.205003,49.703080 -53.206083,49.703268 -53.206097,49.703272 -53.206114,49.703273 -53.207263,49.703510 -53.208945,49.703910 -53.209058,49.703950 -53.209434,49.704032 -53.210950,49.704435 -53.211147,49.704509 -53.211529,49.704599 -53.212692,49.704949 -53.213831,49.705219 -53.214335,49.705400 -53.215441,49.705679 -53.216962,49.706189 -53.216962,49.706189 -53.216963,49.706189 -53.218216,49.706610 -53.219629,49.707035 -53.220566,49.707403 -53.221148,49.707568 -53.222197,49.707993 -53.223219,49.708336 -53.223870,49.708605 -53.224196,49.708697 -53.225723,49.709315 -53.226276,49.709565 -53.226365,49.709592 -53.227725,49.710214 -53.227802,49.710268 -53.227924,49.710306 -53.229356,49.710985 -53.230617,49.711561 -53.230693,49.711615 -53.230815,49.711653 -53.232347,49.712379 -53.232622,49.712579 -53.232981,49.712699 -53.234346,49.713428 -53.234346,49.713428 -53.234346,49.713428 -53.235712,49.714157 -53.235771,49.714203 -53.236406,49.714554 -53.237268,49.715081 -53.238276,49.715619 -53.238336,49.715665 -53.238971,49.716016 -53.240341,49.716853 -53.240341,49.716853 -53.240341,49.716853 -53.241540,49.717585 -53.241715,49.717729 -53.242192,49.718011 -53.243396,49.718851 -53.243396,49.718851 -53.243396,49.718851 -53.244601,49.719691 -53.244837,49.719899 -53.245130,49.720083 -53.246340,49.721031 -53.246423,49.721109 -53.246493,49.721154 -53.247205,49.721732 -53.248052,49.722323 -53.248736,49.722924 -53.249200,49.723237 -53.250243,49.724188 -53.250243,49.724188 -53.250243,49.724188 -53.251286,49.725139 -53.251864,49.725723 -53.251901,49.725750 -53.252489,49.726391 -53.253206,49.727045 -53.253784,49.727629 -53.253821,49.727656 -53.254698,49.728610 -53.254698,49.728610 -53.254698,49.728610 -53.255574,49.729565 -53.255677,49.729756 -53.255872,49.729906 -53.256611,49.730795 -53.257333,49.731582 -53.257436,49.731773 -53.257631,49.731922 -53.258513,49.732985 -53.258546,49.733050 -53.259019,49.733659 -53.259630,49.734568 -53.260227,49.735373 -53.260258,49.735441 -53.260445,49.735682 -53.261161,49.736747 -53.261282,49.737032 -53.261604,49.737497 -53.261958,49.738184 -53.262426,49.738882 -53.262596,49.739279 -53.262976,49.739847 -53.263479,49.740915 -53.263974,49.741876 -53.264170,49.742432 -53.264328,49.742692 -53.264564,49.743351 -53.264906,49.744017 -53.265154,49.744716 -53.265314,49.744987 -53.265677,49.746090 -53.266032,49.747085 -53.266275,49.747957 -53.266271,49.747996 -53.266290,49.748032 -53.266422,49.748737 -53.266637,49.749340 -53.266880,49.750212 -53.266876,49.750251 -53.266895,49.750287 -53.267109,49.751430 -53.267318,49.752465 -53.267313,49.752506 -53.267333,49.752545 -53.267555,49.753728 -53.267553,49.753751 -53.267651,49.754543 -53.267685,49.755280 -53.267812,49.755909 -53.267812,49.755912 -53.267813,49.755915 -53.267923,49.756805 -53.267978,49.757991 -53.267924,49.758294 -53.267951,49.758889 -53.267883,49.759522 -53.267918,49.760259 -53.267869,49.760526 -53.267899,49.761076 -53.267787,49.762266 -53.267777,49.762306 -53.267779,49.762347 -53.267668,49.763388 -53.267560,49.764537 -53.267401,49.765168 -53.267392,49.765493 -53.267233,49.766103 -53.267167,49.766812 -53.267007,49.767443 -53.266998,49.767768 -53.266736,49.768775 -53.266476,49.769889 -53.266160,49.770866 -53.266159,49.770874 -53.265879,49.771552 -53.265706,49.772219 -53.265428,49.773041 -53.265428,49.773047 -53.265024,49.774026 -53.264620,49.775111 -53.264540,49.775221 -53.264526,49.775351 -53.264161,49.776097 -53.263758,49.776811 -53.263469,49.777511 -53.263462,49.777520 -53.263461,49.777531 -53.262906,49.778594 -53.262385,49.779420 -53.261859,49.780352 -53.261859,49.780352 -53.261243,49.781444 -53.261086,49.781628 -53.260801,49.782136 -53.260018,49.783231 -53.259865,49.783395 -53.259752,49.783583 -53.259104,49.784396 -53.258448,49.785313 -53.258295,49.785476 -53.258182,49.785665 -53.257394,49.786651 -53.257394,49.786651 -53.256607,49.787638 -53.256192,49.788060 -53.256049,49.788272 -53.255393,49.788953 -53.254864,49.789615 -53.254450,49.790037 -53.254307,49.790249 -53.253353,49.791239 -53.252967,49.791598 -53.252925,49.791656 -53.251966,49.792539 -53.251882,49.792588 -53.251824,49.792667 -53.250775,49.793597 -53.249885,49.794414 -53.249801,49.794464 -53.249743,49.794543 -53.248622,49.795536 -53.248314,49.795714 -53.248128,49.795948 -53.247002,49.796833 -53.246931,49.796872 -53.246389,49.797283 -53.245576,49.797842 -53.244744,49.798496 -53.244674,49.798535 -53.244131,49.798946 -53.242838,49.799835 -53.242616,49.799948 -53.242180,49.800258 -53.241222,49.800834 -53.240409,49.801393 -53.240187,49.801507 -53.239751,49.801816 -53.238453,49.802597 -53.238453,49.802597 -53.237154,49.803378 -53.236833,49.803531 -53.236549,49.803721 -53.235084,49.804505 -53.234964,49.804559 -53.234894,49.804605 -53.233687,49.805228 -53.232316,49.805962 -53.232196,49.806016 -53.232126,49.806062 -53.230823,49.806734 -53.229346,49.807384 -53.229260,49.807434 -53.228270,49.807815 -53.227260,49.808280 -53.227260,49.808280 -53.225790,49.808955 -53.224659,49.809424 -53.224464,49.809466 -53.224318,49.809547 -53.222943,49.810025 -53.221728,49.810493 -53.221728,49.810493 -53.220253,49.811061 -53.220151,49.811084 -53.220067,49.811131 -53.218684,49.811581 -53.217568,49.811895 -53.216437,49.812288 -53.216089,49.812361 -53.215873,49.812474 -53.214392,49.812934 -53.214288,49.812954 -53.213914,49.813076 -53.212267,49.813539 -53.211828,49.813617 -53.211109,49.813826 -53.210046,49.814054 -53.208968,49.814357 -53.208529,49.814436 -53.207809,49.814644 -53.206157,49.815000 -53.205970,49.815027 -53.205823,49.815069 -53.204172,49.815394 -53.202687,49.815713 -53.201829,49.815840 -53.201425,49.815943 -53.200407,49.816095 -53.199377,49.816316 -53.198297,49.816476 -53.197877,49.816579 -53.196173,49.816814 -53.194635,49.817043 -53.193284,49.817200 -53.193225,49.817197 -53.193170,49.817209 -53.191404,49.817347 -53.190358,49.817434 -53.189082,49.817610 -53.187969,49.817732 -53.186596,49.817802 -53.185457,49.817824 -53.184484,49.817905 -53.184479,49.817905 -53.184473,49.817906 -53.183100,49.817976 -53.181601,49.818004 -53.180200,49.818074 -53.179974,49.818060 -53.178875,49.818099 -53.177437,49.818082 -53.175932,49.818111 -53.175466,49.818075 -53.174544,49.818092 -53.173566,49.818047 -53.172427,49.818069 -53.171045,49.817963 -53.169687,49.817945 -53.168744,49.817841 -53.167649,49.817797 -53.167588,49.817791 -53.167524,49.817792 -53.165852,49.817715 -53.165151,49.817638 -53.164742,49.817635 -53.162898,49.817454 -53.162720,49.817429 -53.162657,49.817428 -53.160980,49.817244 -53.160123,49.817122 -53.160041,49.817119 -53.158659,49.816902 -53.157456,49.816770 -53.156186,49.816589 -53.156176,49.816588 -53.154494,49.816296 -53.154494,49.816296 -53.152813,49.816003 -53.152813,49.816003 -53.151132,49.815711 -53.150742,49.815585 -53.150367,49.815562 -53.148693,49.815203 -53.147359,49.814942 -53.147298,49.814922 -53.146582,49.814774 -53.144896,49.814374 -53.144896,49.814374 -53.143210,49.813973 -53.142926,49.813871 -53.142141,49.813686 -53.140737,49.813264 -53.139511,49.812938 -53.139314,49.812864 -53.138931,49.812774 -53.137240,49.812265 -53.136988,49.812166 -53.136697,49.812092 -53.135173,49.811581 -53.135173,49.811581 -53.133649,49.811069 -53.133416,49.810973 -53.133241,49.810926 -53.131546,49.810310 -53.131150,49.810140 -53.130976,49.810091 -53.129621,49.809541 -53.128441,49.809094 -53.128193,49.808985 -53.128090,49.808956 -53.126562,49.808337 -53.125794,49.807990 -53.125720,49.807967 -53.124285,49.807286 -53.123024,49.806709 -53.122671,49.806458 -53.122190,49.806296 -53.120824,49.805566 -53.120824,49.805566 -53.119458,49.804835 -53.119458,49.804835 -53.118091,49.804104 -53.118091,49.804104 -53.116725,49.803374 -53.116725,49.803374 -53.115359,49.802643 -53.115211,49.802529 -53.114012,49.801819 -53.113123,49.801198 -53.112090,49.800565 -53.112090,49.800565 -53.110891,49.799832 -53.110716,49.799688 -53.110238,49.799405 -53.109034,49.798563 -53.108353,49.797963 -53.107887,49.797648 -53.107372,49.797177 -53.106789,49.796769 -53.106107,49.796168 -53.105641,49.795854 -53.104823,49.795105 -53.104026,49.794456 -53.103716,49.794160 -53.103562,49.794056 -53.102521,49.793104 -53.102521,49.793104 -53.101479,49.792151 -53.101479,49.792151 -53.100437,49.791198 -53.099862,49.790614 -53.099824,49.790586 -53.098949,49.789631 -53.098949,49.789631 -53.098074,49.788675 -53.097973,49.788484 -53.097777,49.788334 -53.097041,49.787443 -53.096320,49.786656 -53.096285,49.786589 -53.096210,49.786533 -53.095519,49.785640 -53.095037,49.784917 -53.094431,49.784184 -53.094399,49.784120 -53.093927,49.783510 -53.093214,49.782443 -53.093142,49.782273 -53.092912,49.781951 -53.092510,49.781238 -53.091960,49.780415 -53.091840,49.780131 -53.091519,49.779665 -53.090973,49.778595 -53.090931,49.778474 -53.090867,49.778378 -53.090367,49.777310 -53.089876,49.776348 -53.089876,49.776348 -53.089330,49.775278 -53.089136,49.774724 -53.088978,49.774462 -53.088706,49.773692 -53.088294,49.772811 -53.088155,49.772389 -53.088048,49.772212 -53.087669,49.771139 -53.087428,49.770263 -53.087432,49.770226 -53.087415,49.770191 -53.087285,49.769486 -53.087072,49.768883 -53.086832,49.768007 -53.086836,49.767970 -53.086818,49.767935 -53.086608,49.766792 -53.086403,49.765757 -53.086408,49.765715 -53.086388,49.765676 -53.086170,49.764492 -53.086173,49.764471 -53.086078,49.763677 -53.086027,49.762491 -53.086027,49.762491 -53.086027,49.762491 -53.085981,49.761412 -53.085981,49.761412 -53.085981,49.761412 -53.085930,49.760226 -53.085930,49.760226 -53.085930,49.760226 -53.085884,49.759147 -53.085884,49.759147 -53.085884,49.759147 -53.085833,49.757961 -53.085882,49.757695 -53.085855,49.757144 -53.085971,49.755954 -53.085981,49.755915 -53.085979,49.755873 -53.086095,49.754832 -53.086207,49.753683 -53.086368,49.753054 -53.086379,49.752728 -53.086540,49.752118 -53.086609,49.751409 -53.086771,49.750780 -53.086781,49.750454 -53.087068,49.749369 -53.087258,49.748815 -53.087262,49.748761 -53.087598,49.747867 -53.087803,49.747089 -53.088084,49.746268 -53.088085,49.746261 -53.088538,49.745173 -53.088538,49.745173 -53.088538,49.745173 -53.088945,49.744195 -53.089352,49.743110 -53.089426,49.743010 -53.089439,49.742890 -53.089892,49.741803 -53.089900,49.741792 -53.089901,49.741780 -53.090268,49.741038 -53.090673,49.740324 -53.090965,49.739624 -53.090973,49.739614 -53.090974,49.739602 -53.091531,49.738543 -53.092155,49.737560 -53.092268,49.737433 -53.092408,49.737185 -53.092950,49.736431 -53.093369,49.735693 -53.093647,49.735367 -53.094080,49.734649 -53.094731,49.733837 -53.095389,49.732921 -53.095543,49.732758 -53.095656,49.732570 -53.096447,49.731584 -53.096447,49.731584 -53.096447,49.731584 -53.097237,49.730598 -53.097652,49.730177 -53.097795,49.729965 -53.098752,49.728976 -53.098752,49.728976 -53.098752,49.728976 -53.099708,49.727988 -53.099708,49.727988 -53.099708,49.727988 -53.100665,49.726999 -53.100665,49.726999 -53.100665,49.726999 -53.101621,49.726010 -53.102007,49.725652 -53.102049,49.725594 -53.103010,49.724713 -53.103398,49.724484 -53.103647,49.724173 -53.104194,49.723744 -53.104666,49.723256 -53.105451,49.722527 -53.105630,49.722426 -53.105730,49.722300 -53.106858,49.721416 -53.106858,49.721416 -53.106858,49.721416 -53.107985,49.720532 -53.108161,49.720436 -53.109256,49.719661 -53.109874,49.719290 -53.110410,49.718869 -53.110586,49.718773 -53.111681,49.717997 -53.112979,49.717218 -53.112979,49.717218 -53.112979,49.717218 -53.114277,49.716439 -53.114277,49.716439 -53.114277,49.716439 -53.115575,49.715659 -53.115575,49.715659 -53.115575,49.715659 -53.116873,49.714880 -53.116873,49.714880 -53.116873,49.714880 -53.118171,49.714101 -53.118612,49.713891 -53.118966,49.713659 -53.120173,49.713036 -53.121543,49.712304 -53.122127,49.712042 -53.122349,49.711904 -53.123503,49.711374 -53.124504,49.710858 -53.125977,49.710211 -53.126064,49.710161 -53.127338,49.709671 -53.128778,49.709074 -53.128980,49.709026 -53.129172,49.708917 -53.130645,49.708350 -53.130645,49.708350 -53.130645,49.708350 -53.132119,49.707783 -53.132414,49.707717 -53.132645,49.707590 -53.134284,49.707020 -53.134631,49.706948 -53.134847,49.706835 -53.136040,49.706465 -53.137402,49.705991 -53.137501,49.705971 -53.138442,49.705665 -53.140086,49.705203 -53.140086,49.705203 -53.140086,49.705203 -53.141730,49.704741 -53.141993,49.704694 -53.142488,49.704545 -53.143795,49.704235 -53.145430,49.703815 -53.145760,49.703760 -53.146179,49.703638 -53.147828,49.703284 -53.147828,49.703284 -53.147828,49.703284 -53.149476,49.702929 -53.149476,49.702929 -53.149476,49.702929 -53.151125,49.702575 -53.151981,49.702449 -53.152384,49.702346 -53.153571,49.702169 -53.154927,49.701902 -53.155580,49.701811 -53.155852,49.701742 -53.157505,49.701495 -53.157694,49.701473 -53.157744,49.701461 -53.159563,49.701211 -53.160659,49.701091 -53.160662,49.701090 -53.161767,49.700998 -53.163041,49.700823 -53.164137,49.700702 -53.164139,49.700701 -53.165797,49.700562 -53.165803,49.700563 -53.165809,49.700562 -53.167178,49.700492 -53.168314,49.700471 -53.169285,49.700389 -53.169290,49.700389 -53.169296,49.700388 -53.170665,49.700319 -53.171864,49.700296 -53.173063,49.700203 -53.173170,49.700208 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-55.713464,50.653828 -55.423941,50.833884</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-55.472690,50.724364 -55.474752,50.723871 -55.483152,50.718873 -55.483255,50.716836 -55.490130,50.707189 -55.496206,50.702861 -55.496516,50.702683 -55.500681,50.697825 -55.505592,50.694191 -55.514173,50.688871 -55.521417,50.685260 -55.521878,50.685149 -55.522455,50.684742 -55.526670,50.682378 -55.532345,50.679690 -55.536238,50.678756 -55.536416,50.678505 -55.548561,50.671256 -55.564143,50.667511 -55.568844,50.667012 -55.575612,50.667144 -55.593083,50.658853 -55.596006,50.657581 -55.611578,50.653828 -55.628224,50.654147 -55.643414,50.658488 -55.654838,50.666193 -55.659842,50.673449 -55.665993,50.687758 -55.667935,50.688311 -55.668377,50.688609 -55.668919,50.688770 -55.669573,50.689084 -55.672002,50.689108 -55.680874,50.689792 -55.696082,50.694126 -55.707527,50.701825 -55.713464,50.711720 -55.712987,50.722305 -55.711626,50.725285 -55.705545,50.736216 -55.705512,50.736667 -55.704479,50.741465 -55.697650,50.751128 -55.694023,50.753300 -55.694496,50.754089 -55.694097,50.763183 -55.696406,50.767246 -55.698342,50.771924 -55.697860,50.782511 -55.695758,50.786719 -55.688039,50.798688 -55.683301,50.804143 -55.678401,50.808509 -55.666238,50.815777 -55.650608,50.819540 -55.639618,50.819805 -55.633767,50.819468 -55.628043,50.818888 -55.612794,50.814542 -55.607166,50.810754 -55.604287,50.810465 -55.589045,50.806115 -55.585215,50.803972 -55.585083,50.804201 -55.581205,50.809029 -55.577899,50.812482 -55.565717,50.819737 -55.565114,50.819941 -55.556771,50.824908 -55.550655,50.826373 -55.545266,50.829579 -55.529619,50.833324 -55.524308,50.833884 -55.507588,50.833548 -55.501502,50.831805 -55.501049,50.831913 -55.484331,50.831574 -55.482280,50.830986 -55.476514,50.830665 -55.461277,50.826296 -55.456724,50.823217 -55.442759,50.819209 -55.431332,50.811477 -55.425762,50.802629 -55.424253,50.797987 -55.424264,50.797465 -55.423941,50.796920 -55.424495,50.786334 -55.426811,50.781851 -55.432927,50.772766 -55.437509,50.767604 -55.443014,50.764335 -55.441919,50.761258 -55.442468,50.750673 -55.449358,50.741028 -55.449730,50.740807 -55.449933,50.740530 -55.461091,50.731108 -55.472690,50.724364 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-55.691856,50.854685 -55.502193,51.015043</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-55.643989,50.873057 -55.645202,50.873315 -55.650293,50.874763 -55.655159,50.876527 -55.659388,50.878858 -55.663217,50.881428 -55.666647,50.884236 -55.669146,50.887413 -55.671130,50.890714 -55.672264,50.893354 -55.674079,50.894596 -55.675197,50.895520 -55.675796,50.895886 -55.677414,50.897224 -55.678934,50.898609 -55.681124,50.901293 -55.682946,50.904072 -55.683924,50.906220 -55.684401,50.906948 -55.685462,50.909865 -55.685462,50.910283 -55.685581,50.910559 -55.685790,50.910908 -55.685817,50.911109 -55.685955,50.911429 -55.686343,50.914970 -55.686181,50.918500 -55.685468,50.922021 -55.683683,50.925386 -55.682692,50.926782 -55.685933,50.931612 -55.686475,50.932785 -55.687057,50.933604 -55.687994,50.935631 -55.688743,50.937692 -55.688724,50.938110 -55.688922,50.938462 -55.689075,50.939234 -55.689067,50.939330 -55.689201,50.940009 -55.691836,50.960407 -55.691722,50.961403 -55.691856,50.963181 -55.691542,50.965940 -55.690891,50.968684 -55.690179,50.970298 -55.689350,50.971889 -55.688979,50.972352 -55.688404,50.973455 -55.685352,50.977881 -55.684412,50.978931 -55.684025,50.979562 -55.682563,50.981194 -55.680967,50.982779 -55.677274,50.985456 -55.673203,50.987881 -55.668752,50.990051 -55.663716,50.991632 -55.658483,50.992888 -55.653055,50.993817 -55.648644,50.994067 -55.644230,50.994101 -55.641984,50.993949 -55.635612,50.998215 -55.626290,51.004832 -55.624943,51.005550 -55.623364,51.006632 -55.620250,51.008292 -55.616947,51.009812 -55.611907,51.011390 -55.606670,51.012643 -55.601237,51.013570 -55.600207,51.013550 -55.599392,51.013726 -55.597541,51.013845 -55.597172,51.013830 -55.595684,51.013925 -55.589223,51.014073 -55.587355,51.013960 -55.585453,51.014002 -55.581705,51.013776 -55.581519,51.013757 -55.580074,51.014037 -55.576357,51.014592 -55.575222,51.014570 -55.574338,51.014758 -55.572312,51.014880 -55.571862,51.014861 -55.570279,51.014955 -55.564368,51.015043 -55.562464,51.014920 -55.560773,51.014954 -55.557200,51.014724 -55.553651,51.014351 -55.548319,51.013216 -55.543214,51.011762 -55.538336,51.009991 -55.534811,51.008115 -55.531546,51.006072 -55.529548,51.004491 -55.528543,51.003863 -55.525820,51.001498 -55.524989,51.001174 -55.524367,51.000782 -55.523406,51.000508 -55.519172,50.998171 -55.515341,50.995595 -55.511912,50.992780 -55.511558,50.992189 -55.511002,50.991790 -55.510142,50.990783 -55.510029,50.990574 -55.509333,50.989758 -55.508007,50.987937 -55.507460,50.986813 -55.506647,50.985686 -55.505531,50.983388 -55.504657,50.981043 -55.504285,50.977501 -55.504463,50.973970 -55.504540,50.973597 -55.504152,50.972854 -55.503751,50.971828 -55.503540,50.971512 -55.503011,50.970156 -55.503004,50.969524 -55.502565,50.968788 -55.502193,50.965246 -55.502371,50.961716 -55.503100,50.958196 -55.503749,50.956720 -55.504494,50.955264 -55.504795,50.954887 -55.505337,50.953828 -55.508774,50.948657 -55.509716,50.947591 -55.510176,50.946839 -55.511733,50.945076 -55.513447,50.943368 -55.515912,50.941475 -55.517309,50.940539 -55.517701,50.939855 -55.519679,50.937375 -55.521960,50.934990 -55.522497,50.934672 -55.522777,50.934303 -55.523620,50.933629 -55.523760,50.933549 -55.524487,50.932967 -55.529931,50.929009 -55.531196,50.928327 -55.532957,50.927114 -55.533465,50.926840 -55.533605,50.926750 -55.533996,50.926553 -55.534370,50.926352 -55.534685,50.926206 -55.536105,50.925489 -55.537100,50.924856 -55.543779,50.921787 -55.546630,50.920418 -55.546487,50.920237 -55.544541,50.917043 -55.543197,50.913928 -55.543077,50.913732 -55.539104,50.899718 -55.539108,50.899610 -55.539102,50.899596 -55.539044,50.899498 -55.539038,50.899445 -55.539014,50.899388 -55.538639,50.895847 -55.538814,50.892317 -55.539539,50.888798 -55.539824,50.888398 -55.539857,50.888010 -55.540203,50.887228 -55.540275,50.887132 -55.540576,50.886450 -55.544688,50.878534 -55.545418,50.877622 -55.546346,50.876004 -55.548296,50.873567 -55.550539,50.871225 -55.554229,50.868553 -55.558296,50.866135 -55.562739,50.863970 -55.563331,50.863784 -55.563618,50.863649 -55.564224,50.863504 -55.564816,50.863319 -55.565376,50.863008 -55.579341,50.858325 -55.580676,50.858039 -55.583561,50.857173 -55.584409,50.856992 -55.585128,50.856802 -55.588310,50.856221 -55.589558,50.855892 -55.593620,50.855283 -55.594337,50.855282 -55.594897,50.855186 -55.595486,50.855045 -55.595830,50.855026 -55.596418,50.854926 -55.602011,50.854685 -55.607588,50.854792 -55.613147,50.855247 -55.618460,50.856379 -55.623548,50.857827 -55.628411,50.859593 -55.632637,50.861925 -55.636463,50.864496 -55.639890,50.867305 -55.641720,50.869468 -55.643310,50.871700 -55.643907,50.872942 -55.643989,50.873057 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-55.738960,51.131625 -55.624238,51.214136</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-55.737895,51.181978 -55.736102,51.185347 -55.733804,51.188573 -55.730999,51.191658 -55.727290,51.194339 -55.725122,51.195625 -55.721492,51.198249 -55.717401,51.200676 -55.712930,51.202850 -55.707868,51.204435 -55.703035,51.205591 -55.699066,51.207945 -55.694593,51.210118 -55.689530,51.211701 -55.684269,51.212959 -55.678811,51.213891 -55.673168,51.214136 -55.667542,51.214032 -55.661931,51.213580 -55.657550,51.212712 -55.653307,51.211632 -55.650553,51.210682 -55.649201,51.210338 -55.644861,51.208686 -55.644314,51.208348 -55.643687,51.208121 -55.643080,51.207950 -55.642797,51.207801 -55.642189,51.207582 -55.637926,51.205248 -55.634067,51.202674 -55.630612,51.199862 -55.628097,51.196681 -55.626101,51.193376 -55.624623,51.189947 -55.624238,51.186403 -55.624406,51.182869 -55.625129,51.179346 -55.625592,51.178700 -55.625652,51.178117 -55.626243,51.176901 -55.626439,51.176652 -55.626902,51.175698 -55.630415,51.169950 -55.630299,51.168883 -55.630467,51.165350 -55.631188,51.161827 -55.631513,51.161372 -55.631551,51.160939 -55.631950,51.160057 -55.632044,51.159934 -55.632384,51.159181 -55.633641,51.156854 -55.634426,51.155889 -55.635276,51.154424 -55.637182,51.152082 -55.639360,51.149828 -55.643071,51.147151 -55.647160,51.144726 -55.651629,51.142556 -55.656685,51.140975 -55.661061,51.139928 -55.664629,51.137812 -55.669096,51.135640 -55.674150,51.134059 -55.679401,51.132802 -55.684848,51.131870 -55.690479,51.131625 -55.696094,51.131727 -55.701693,51.132177 -55.707046,51.133305 -55.712172,51.134751 -55.717072,51.136514 -55.720736,51.138458 -55.724117,51.140580 -55.726323,51.142319 -55.727218,51.142880 -55.730210,51.145515 -55.730467,51.145905 -55.730753,51.146137 -55.731163,51.146410 -55.731312,51.146591 -55.731639,51.146857 -55.734159,51.150036 -55.736163,51.153338 -55.737649,51.156765 -55.737618,51.157455 -55.737912,51.157996 -55.738109,51.159230 -55.738082,51.159493 -55.738238,51.160469 -55.738960,51.175081 -55.738776,51.176276 -55.738839,51.177395 -55.738484,51.179694 -55.737895,51.181978 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-53.960501,49.498281 -53.714401,49.626699</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-53.878105,49.595252 -53.837230,49.609394 -53.809106,49.620420 -53.809026,49.620438 -53.808960,49.620476 -53.806227,49.621274 -53.782566,49.626263 -53.780186,49.626617 -53.777901,49.626699 -53.757501,49.626327 -53.754382,49.626038 -53.752268,49.625557 -53.744694,49.623375 -53.742760,49.622634 -53.742325,49.622502 -53.731075,49.617348 -53.730918,49.617237 -53.730690,49.617164 -53.728430,49.615476 -53.727098,49.614534 -53.727052,49.614446 -53.726963,49.614380 -53.718884,49.604982 -53.718417,49.604076 -53.717342,49.602183 -53.714491,49.591879 -53.714502,49.591699 -53.714401,49.591508 -53.714561,49.588452 -53.716802,49.581434 -53.716942,49.581233 -53.716965,49.580980 -53.718377,49.578751 -53.726031,49.570150 -53.726984,49.569217 -53.728652,49.568025 -53.809730,49.519515 -53.816199,49.513495 -53.816381,49.513386 -53.816500,49.513225 -53.818659,49.511749 -53.828343,49.506474 -53.830217,49.505614 -53.830267,49.505603 -53.830307,49.505580 -53.841874,49.501233 -53.842052,49.501193 -53.845088,49.500355 -53.854841,49.498590 -53.856635,49.498347 -53.859459,49.498281 -53.877524,49.499057 -53.880088,49.499326 -53.880438,49.499436 -53.880776,49.499455 -53.895616,49.502502 -53.899788,49.503901 -53.899883,49.503970 -53.900003,49.504009 -53.918986,49.513714 -53.919091,49.513793 -53.920474,49.514596 -53.932136,49.522586 -53.946722,49.531634 -53.948976,49.533481 -53.949068,49.533548 -53.954826,49.539840 -53.954836,49.539859 -53.954857,49.539874 -53.956202,49.541883 -53.960062,49.550330 -53.960501,49.551640 -53.960494,49.554188 -53.958097,49.564970 -53.957800,49.565932 -53.957145,49.567192 -53.952577,49.574212 -53.950886,49.576120 -53.949898,49.576882 -53.941064,49.582972 -53.938890,49.584100 -53.938359,49.584418 -53.929340,49.588104 -53.929157,49.588147 -53.929000,49.588238 -53.925959,49.589103 -53.917515,49.590754 -53.915450,49.591049 -53.913578,49.591136 -53.898692,49.591173 -53.895164,49.590885 -53.895151,49.590881 -53.885794,49.593233 -53.878105,49.595252 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-53.629806,46.593119 -53.495906,46.664439</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-53.515849,46.640184 -53.506787,46.637124 -53.500117,46.631907 -53.500064,46.631800 -53.499961,46.631718 -53.499012,46.630559 -53.495906,46.624170 -53.496546,46.617233 -53.496788,46.616893 -53.496829,46.616553 -53.498344,46.613173 -53.502503,46.607612 -53.509320,46.603330 -53.511155,46.602538 -53.511556,46.602438 -53.511906,46.602226 -53.514018,46.601728 -53.518997,46.598704 -53.522866,46.597439 -53.525104,46.596858 -53.530775,46.595873 -53.531248,46.595894 -53.531659,46.595802 -53.536834,46.595448 -53.538111,46.595518 -53.542809,46.595517 -53.545125,46.595730 -53.547007,46.595108 -53.550617,46.594150 -53.556455,46.593119 -53.566518,46.593553 -53.567436,46.593863 -53.568272,46.593919 -53.572063,46.594813 -53.573287,46.595264 -53.573947,46.595445 -53.575626,46.595367 -53.583978,46.595918 -53.584397,46.596059 -53.584822,46.596082 -53.588969,46.596942 -53.591834,46.597949 -53.596138,46.599309 -53.600324,46.601287 -53.600741,46.601596 -53.601371,46.601808 -53.602913,46.602618 -53.608922,46.604493 -53.612505,46.606153 -53.612990,46.606510 -53.613739,46.606762 -53.620259,46.611783 -53.621662,46.613397 -53.621714,46.613500 -53.621822,46.613584 -53.625103,46.620157 -53.624626,46.625501 -53.625194,46.626111 -53.628134,46.631337 -53.629117,46.634487 -53.629096,46.635107 -53.629459,46.635834 -53.629678,46.637602 -53.629806,46.640084 -53.629090,46.644501 -53.629046,46.645044 -53.628576,46.646335 -53.628508,46.646433 -53.628498,46.646545 -53.626742,46.649802 -53.625610,46.651404 -53.622936,46.654395 -53.620834,46.656070 -53.619402,46.657076 -53.617220,46.658247 -53.615830,46.659170 -53.611697,46.661176 -53.609807,46.662012 -53.600256,46.664271 -53.596836,46.664432 -53.591404,46.664439 -53.584745,46.663848 -53.584195,46.663663 -53.583653,46.663631 -53.580817,46.663022 -53.580383,46.662868 -53.577969,46.662281 -53.573922,46.661036 -53.568791,46.658939 -53.566240,46.657409 -53.559341,46.652687 -53.555212,46.649005 -53.555187,46.648954 -53.555137,46.648915 -53.553608,46.647079 -53.549934,46.645934 -53.541808,46.644757 -53.528790,46.643352 -53.526165,46.642972 -53.520576,46.641453 -53.517764,46.640414 -53.515849,46.640184 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-54.230604,48.377904 -53.653362,48.667164</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-53.813900,48.632788 -53.777384,48.615712 -53.671418,48.641338 -53.668617,48.641797 -53.663340,48.641584 -53.658587,48.640049 -53.655084,48.637425 -53.653362,48.634112 -53.653684,48.630615 -53.654317,48.629389 -53.734931,48.503231 -53.736607,48.501308 -53.740548,48.498984 -53.742300,48.498411 -53.864054,48.465546 -53.968573,48.430772 -53.972728,48.429909 -53.977981,48.430105 -53.982721,48.431623 -53.986204,48.434206 -53.993816,48.442716 -53.996632,48.445860 -53.997110,48.445391 -53.995996,48.426855 -53.996168,48.425781 -53.996189,48.424944 -53.996277,48.424609 -53.996381,48.424450 -53.996411,48.424259 -53.996479,48.424165 -53.996500,48.423924 -53.998779,48.420769 -53.999657,48.420069 -53.999690,48.420045 -53.999884,48.419744 -54.001502,48.417882 -54.002721,48.416989 -54.003560,48.415885 -54.003881,48.415694 -54.004050,48.415476 -54.004902,48.414806 -54.008332,48.412880 -54.011687,48.411941 -54.011981,48.411888 -54.013068,48.411740 -54.014543,48.411395 -54.015111,48.410988 -54.015736,48.410122 -54.015942,48.410000 -54.015995,48.409927 -54.016235,48.409783 -54.016393,48.409585 -54.016652,48.409389 -54.019912,48.407592 -54.024873,48.406433 -54.026230,48.406402 -54.026343,48.406376 -54.029050,48.406303 -54.029185,48.406308 -54.031728,48.406574 -54.034216,48.407370 -54.035973,48.406959 -54.039444,48.406931 -54.039702,48.406951 -54.041480,48.407171 -54.042122,48.407376 -54.045401,48.407652 -54.045873,48.407803 -54.046562,48.407803 -54.046861,48.407831 -54.047167,48.407871 -54.047263,48.407849 -54.047359,48.407804 -54.047767,48.407708 -54.047804,48.407696 -54.047970,48.407660 -54.052319,48.406643 -54.053560,48.406601 -54.053762,48.406482 -54.054110,48.406313 -54.054435,48.405925 -54.056215,48.404632 -54.056593,48.404406 -54.058728,48.403363 -54.063688,48.402202 -54.063975,48.402212 -54.064105,48.402181 -54.064353,48.402190 -54.064619,48.402135 -54.065037,48.402115 -54.069355,48.402372 -54.074095,48.403886 -54.075454,48.404755 -54.076244,48.405007 -54.077282,48.405606 -54.077419,48.405659 -54.079055,48.406637 -54.081248,48.406123 -54.082054,48.406074 -54.082802,48.405901 -54.083162,48.405914 -54.083315,48.405879 -54.083529,48.405890 -54.083815,48.405831 -54.083964,48.405824 -54.085972,48.405351 -54.086482,48.405302 -54.086503,48.405302 -54.086523,48.405298 -54.091773,48.405487 -54.096514,48.407000 -54.099042,48.408647 -54.099298,48.408865 -54.099466,48.409028 -54.099633,48.409039 -54.101693,48.409278 -54.106435,48.410790 -54.109142,48.412592 -54.109299,48.412732 -54.110105,48.413535 -54.110265,48.413779 -54.110655,48.414132 -54.111107,48.414925 -54.113287,48.415688 -54.113346,48.415707 -54.113746,48.415906 -54.114356,48.416100 -54.114966,48.416438 -54.115433,48.416339 -54.115622,48.416283 -54.116609,48.415536 -54.117623,48.414878 -54.117684,48.414847 -54.118681,48.413460 -54.119699,48.412744 -54.119708,48.412732 -54.119889,48.412593 -54.120013,48.412523 -54.120810,48.411963 -54.121267,48.411707 -54.122410,48.411168 -54.122676,48.410961 -54.123947,48.410089 -54.124501,48.409799 -54.124606,48.409699 -54.124736,48.409619 -54.124818,48.409505 -54.126182,48.408469 -54.126974,48.407953 -54.127228,48.407823 -54.127566,48.407546 -54.127676,48.407394 -54.128808,48.406556 -54.128902,48.406461 -54.129947,48.405718 -54.131276,48.403967 -54.132015,48.403403 -54.132201,48.403186 -54.134011,48.401872 -54.134318,48.401689 -54.134350,48.401652 -54.135493,48.400762 -54.135960,48.400444 -54.136492,48.400165 -54.136933,48.399710 -54.137616,48.399198 -54.137636,48.399159 -54.138643,48.397876 -54.138910,48.397479 -54.139080,48.397312 -54.139450,48.396780 -54.140294,48.395993 -54.140407,48.395923 -54.140477,48.395825 -54.140899,48.395573 -54.141088,48.395359 -54.141911,48.394535 -54.143519,48.393343 -54.143974,48.393061 -54.144648,48.392724 -54.144748,48.392655 -54.145222,48.392396 -54.145258,48.392362 -54.145613,48.391856 -54.145684,48.391790 -54.145911,48.391474 -54.146758,48.390874 -54.146913,48.390657 -54.147255,48.390123 -54.147435,48.389930 -54.147574,48.389737 -54.147918,48.389456 -54.148125,48.389254 -54.148274,48.389165 -54.148281,48.389159 -54.148617,48.388907 -54.149477,48.388434 -54.149559,48.388362 -54.153374,48.386104 -54.154200,48.385808 -54.154926,48.385413 -54.155877,48.384797 -54.156468,48.384520 -54.156664,48.384468 -54.156755,48.384418 -54.157091,48.384339 -54.157206,48.384265 -54.157929,48.383930 -54.158093,48.383887 -54.158186,48.383835 -54.158861,48.383610 -54.159056,48.383569 -54.159141,48.383521 -54.159418,48.383355 -54.159453,48.383347 -54.159583,48.383275 -54.160258,48.383049 -54.161994,48.382686 -54.162566,48.382304 -54.162736,48.382218 -54.163974,48.381664 -54.168928,48.380498 -54.171587,48.380419 -54.172291,48.380445 -54.174879,48.380708 -54.175254,48.380789 -54.176084,48.380824 -54.177044,48.380924 -54.177085,48.380927 -54.177768,48.380956 -54.180079,48.380965 -54.180487,48.381008 -54.181482,48.381144 -54.182093,48.381166 -54.183057,48.381472 -54.183527,48.381576 -54.183706,48.381625 -54.184595,48.381961 -54.184884,48.382053 -54.185254,48.381538 -54.186861,48.380344 -54.186952,48.380288 -54.189250,48.379139 -54.194204,48.377972 -54.197149,48.377904 -54.197609,48.377928 -54.199911,48.378178 -54.204528,48.379623 -54.205071,48.379887 -54.205124,48.379926 -54.205197,48.379949 -54.205287,48.380011 -54.206043,48.380113 -54.210786,48.381619 -54.212616,48.382717 -54.212704,48.382780 -54.214285,48.382841 -54.215172,48.382854 -54.215249,48.382879 -54.215333,48.382882 -54.215770,48.382960 -54.220352,48.384438 -54.223870,48.387039 -54.225626,48.390338 -54.225625,48.390355 -54.225633,48.390371 -54.229849,48.410192 -54.229848,48.410203 -54.229970,48.411072 -54.230604,48.421060 -54.230203,48.423644 -54.227940,48.426804 -54.224032,48.429148 -54.220261,48.430166 -54.186996,48.435436 -54.167711,48.445240 -54.164248,48.487348 -54.163850,48.489072 -54.161579,48.492232 -54.159145,48.493895 -54.142572,48.502610 -54.141088,48.503288 -54.136119,48.504454 -54.134688,48.504539 -54.062776,48.506258 -54.066580,48.569550 -54.066167,48.572136 -54.063885,48.575295 -54.063841,48.575321 -54.063816,48.575355 -53.973967,48.653288 -53.970092,48.655563 -53.968781,48.656014 -53.939827,48.664666 -53.939197,48.664787 -53.938099,48.665437 -53.935324,48.666175 -53.935250,48.666216 -53.935077,48.666274 -53.934491,48.666396 -53.934322,48.666441 -53.934140,48.666470 -53.930815,48.667164 -53.925939,48.667030 -53.925322,48.666938 -53.925137,48.666881 -53.924917,48.666873 -53.921639,48.665996 -53.920987,48.665752 -53.919499,48.665106 -53.915977,48.662492 -53.915949,48.662437 -53.915905,48.662441 -53.913448,48.662339 -53.913091,48.662362 -53.911761,48.662293 -53.909924,48.662718 -53.907805,48.662804 -53.907561,48.662801 -53.904398,48.662515 -53.899635,48.660992 -53.897105,48.659342 -53.896848,48.659124 -53.896542,48.658825 -53.896244,48.658994 -53.893154,48.659877 -53.893100,48.659887 -53.892172,48.660019 -53.892035,48.660054 -53.891482,48.660131 -53.891392,48.660130 -53.891196,48.660158 -53.890820,48.660180 -53.890575,48.660236 -53.888208,48.660317 -53.887106,48.660291 -53.884193,48.660009 -53.882912,48.659743 -53.882718,48.659696 -53.881987,48.659668 -53.881452,48.659497 -53.880977,48.659467 -53.880124,48.659272 -53.878381,48.658658 -53.877198,48.658307 -53.876038,48.658242 -53.875885,48.658193 -53.875378,48.658209 -53.874752,48.658188 -53.873261,48.658037 -53.872789,48.658028 -53.871461,48.657855 -53.871445,48.657850 -53.870071,48.658167 -53.864790,48.657965 -53.860029,48.656440 -53.859976,48.656400 -53.859906,48.656378 -53.813900,48.632788 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-55.509722,47.767194 -54.345848,48.436646</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-54.393732,48.386552 -54.393728,48.386551 -54.388978,48.385054 -54.385450,48.382459 -54.385437,48.382435 -54.385412,48.382417 -54.378198,48.374289 -54.376469,48.371036 -54.376730,48.367540 -54.378510,48.364824 -54.476677,48.264235 -54.477362,48.263794 -54.477780,48.263255 -54.503190,48.243623 -54.502635,48.243293 -54.502557,48.243237 -54.500849,48.241727 -54.499232,48.238997 -54.499208,48.238925 -54.499208,48.238919 -54.498922,48.238811 -54.498217,48.238607 -54.498085,48.238550 -54.497915,48.238433 -54.497830,48.238401 -54.497736,48.238373 -54.497621,48.238322 -54.497514,48.238282 -54.497490,48.238265 -54.497393,48.238222 -54.497151,48.238053 -54.496866,48.237957 -54.496754,48.237896 -54.496618,48.237852 -54.496105,48.237589 -54.495988,48.237501 -54.494489,48.236610 -54.494432,48.236569 -54.494272,48.236559 -54.493503,48.236325 -54.492765,48.236265 -54.491351,48.235973 -54.491032,48.235894 -54.489197,48.235231 -54.488286,48.234964 -54.488115,48.234888 -54.488032,48.234831 -54.487896,48.234789 -54.487527,48.234619 -54.487380,48.234515 -54.487168,48.234448 -54.487143,48.234435 -54.486267,48.234159 -54.486221,48.234125 -54.486055,48.234073 -54.485783,48.233872 -54.485616,48.233816 -54.485432,48.233713 -54.483363,48.232093 -54.482535,48.231484 -54.481302,48.229190 -54.480040,48.228262 -54.478271,48.224969 -54.478522,48.221475 -54.478714,48.221202 -54.478726,48.221047 -54.478612,48.220808 -54.478594,48.220637 -54.478801,48.219030 -54.478015,48.217567 -54.477876,48.216544 -54.477869,48.216409 -54.478112,48.214875 -54.478114,48.214579 -54.478248,48.214013 -54.478260,48.213938 -54.478285,48.213892 -54.478483,48.213241 -54.478744,48.212770 -54.478767,48.212707 -54.478779,48.212690 -54.478780,48.212672 -54.478866,48.212550 -54.479449,48.211498 -54.479196,48.211418 -54.477384,48.210339 -54.477293,48.210274 -54.476657,48.209712 -54.476218,48.209426 -54.476154,48.209370 -54.475237,48.208477 -54.475052,48.208134 -54.474425,48.208229 -54.472951,48.208182 -54.469895,48.209890 -54.469874,48.209895 -54.469871,48.209900 -54.468505,48.210951 -54.468241,48.211125 -54.468146,48.211174 -54.468135,48.211328 -54.467810,48.211789 -54.467624,48.212675 -54.465391,48.215839 -54.461515,48.218190 -54.459650,48.218813 -54.459527,48.218846 -54.458744,48.218989 -54.456685,48.220027 -54.451757,48.221208 -54.446529,48.221038 -54.446508,48.221032 -54.446485,48.221031 -54.445939,48.220938 -54.444745,48.220900 -54.442463,48.220180 -54.442320,48.220151 -54.441505,48.219879 -54.439395,48.219306 -54.439051,48.219172 -54.437815,48.218628 -54.437616,48.218481 -54.436842,48.218456 -54.436767,48.218433 -54.436688,48.218430 -54.436394,48.218378 -54.436339,48.218360 -54.435018,48.218082 -54.434742,48.218148 -54.433753,48.218149 -54.433569,48.218408 -54.429692,48.220759 -54.424763,48.221938 -54.419535,48.221767 -54.414802,48.220272 -54.411287,48.217680 -54.410369,48.216453 -54.346689,48.111708 -54.345848,48.109642 -54.346110,48.106150 -54.347941,48.103378 -54.383652,48.067333 -54.383893,48.067179 -54.384058,48.066946 -54.387924,48.064599 -54.392835,48.063422 -54.395460,48.063337 -54.495578,48.066638 -54.493584,47.947230 -54.493979,47.944965 -54.496196,47.941804 -54.500044,47.939454 -54.504938,47.938272 -54.506403,47.938179 -54.709492,47.932730 -54.709538,47.932705 -54.710304,47.931729 -54.711440,47.930866 -54.711967,47.930022 -54.712037,47.929494 -54.712092,47.929414 -54.712097,47.929351 -54.712144,47.929284 -54.712152,47.929200 -54.712212,47.929057 -54.714297,47.926186 -54.714372,47.926139 -54.714414,47.926080 -54.714930,47.925622 -54.715067,47.925539 -54.716282,47.924637 -54.716759,47.924253 -54.716980,47.924095 -54.717164,47.923995 -54.717248,47.922741 -54.717900,47.921803 -54.718023,47.921254 -54.718222,47.920915 -54.718197,47.919785 -54.718268,47.919399 -54.718286,47.919333 -54.718273,47.919238 -54.718251,47.918823 -54.718461,47.917448 -54.718450,47.917424 -54.718454,47.917370 -54.718338,47.917174 -54.718233,47.916839 -54.718235,47.916744 -54.718202,47.916673 -54.718219,47.916420 -54.718096,47.916182 -54.718053,47.916103 -54.718053,47.916100 -54.718043,47.916080 -54.718000,47.915845 -54.718283,47.912612 -54.720482,47.909447 -54.724316,47.907088 -54.729199,47.905894 -54.731393,47.905791 -54.852819,47.906778 -54.853302,47.906818 -54.853762,47.906807 -55.019061,47.915798 -55.021117,47.916018 -55.025836,47.917481 -55.029364,47.920048 -55.031163,47.923326 -55.031091,47.924561 -55.031091,47.924564 -55.031285,47.924843 -55.032380,47.927243 -55.032390,47.927342 -55.033442,47.929258 -55.033601,47.930416 -55.033615,47.930758 -55.033454,47.931788 -55.033505,47.932083 -55.033621,47.932403 -55.035221,47.935317 -55.035216,47.936266 -55.036018,47.936996 -55.036806,47.937997 -55.037136,47.938488 -55.037858,47.940114 -55.038015,47.940374 -55.038688,47.942001 -55.040293,47.943068 -55.140181,47.949862 -55.141803,47.947488 -55.145616,47.945112 -55.150492,47.943896 -55.151619,47.943864 -55.151770,47.943838 -55.152897,47.943683 -55.156030,47.943762 -55.156245,47.943755 -55.156647,47.943770 -55.156748,47.943780 -55.158094,47.943814 -55.158731,47.943975 -55.158971,47.943999 -55.161517,47.944594 -55.161729,47.944661 -55.163023,47.945172 -55.166319,47.946143 -55.166356,47.946159 -55.167199,47.946357 -55.167498,47.946451 -55.167872,47.946446 -55.171237,47.946687 -55.171389,47.946734 -55.171546,47.946739 -55.172105,47.946838 -55.176524,47.948242 -55.180063,47.950803 -55.180087,47.950846 -55.211537,47.951256 -55.224092,47.951202 -55.224189,47.949405 -55.225784,47.947061 -55.225853,47.945795 -55.228016,47.942618 -55.228849,47.941919 -55.229000,47.941804 -55.229841,47.941329 -55.229865,47.941277 -55.229993,47.941054 -55.231620,47.939038 -55.235428,47.936658 -55.237395,47.936166 -55.237724,47.936054 -55.238196,47.935927 -55.238802,47.935814 -55.240300,47.935438 -55.240751,47.935449 -55.241038,47.935396 -55.243469,47.935283 -55.243791,47.935288 -55.246556,47.935526 -55.251285,47.936979 -55.253435,47.938281 -55.253618,47.938419 -55.254695,47.939389 -55.256059,47.940374 -55.256152,47.940542 -55.256224,47.940287 -55.256920,47.939265 -55.257159,47.938376 -55.257368,47.938059 -55.257389,47.937929 -55.257678,47.937503 -55.239753,47.906458 -55.239023,47.904648 -55.239026,47.904588 -55.239000,47.904540 -55.239001,47.904516 -55.238987,47.904489 -55.238963,47.904381 -55.239187,47.901049 -55.239767,47.899810 -55.239909,47.899569 -55.240603,47.898718 -55.240742,47.896232 -55.240886,47.896019 -55.240905,47.895814 -55.241326,47.894831 -55.242452,47.893275 -55.242640,47.892917 -55.242799,47.892694 -55.243001,47.892400 -55.244285,47.890925 -55.244678,47.890603 -55.244809,47.890437 -55.244889,47.890298 -55.244863,47.890251 -55.244964,47.888366 -55.244960,47.888325 -55.244985,47.887587 -55.245014,47.887435 -55.245050,47.886760 -55.245185,47.886539 -55.245339,47.885730 -55.246281,47.884043 -55.245760,47.883103 -55.245774,47.882851 -55.245719,47.882751 -55.245724,47.882650 -55.245688,47.882586 -55.245446,47.881978 -55.245345,47.881800 -55.245287,47.881579 -55.244994,47.880842 -55.245111,47.878653 -55.245110,47.878632 -55.245114,47.878606 -55.245126,47.878382 -55.244672,47.878054 -55.243120,47.875614 -55.243095,47.875550 -55.242834,47.874717 -55.243021,47.871226 -55.243333,47.870767 -55.242361,47.870064 -55.240705,47.867334 -55.240571,47.866936 -55.240572,47.866833 -55.240549,47.866791 -55.240556,47.866648 -55.240415,47.866393 -55.240417,47.866352 -55.239093,47.863961 -55.239095,47.863931 -55.238956,47.863680 -55.239143,47.860189 -55.239524,47.859309 -55.239667,47.859032 -55.241444,47.856735 -55.241583,47.856625 -55.241077,47.856260 -55.239265,47.852986 -55.239285,47.850049 -55.239424,47.849502 -55.239574,47.849260 -55.239591,47.848949 -55.240491,47.847623 -55.240781,47.844999 -55.241621,47.843347 -55.241748,47.843160 -55.243064,47.841635 -55.243285,47.841497 -55.244225,47.840123 -55.244373,47.840030 -55.244453,47.839916 -55.244715,47.839686 -55.248285,47.837514 -55.248460,47.837470 -55.248542,47.837419 -55.248711,47.837379 -55.248871,47.837284 -55.249128,47.837189 -55.253403,47.836199 -55.253693,47.836206 -55.253872,47.836161 -55.253887,47.836161 -55.253946,47.836147 -55.254415,47.836109 -55.257552,47.836229 -55.258838,47.836252 -55.259928,47.836413 -55.259948,47.836419 -55.260039,47.834712 -55.261132,47.832706 -55.261313,47.832466 -55.262376,47.831294 -55.262677,47.831073 -55.262738,47.831006 -55.262873,47.830807 -55.263208,47.830520 -55.263397,47.830329 -55.263530,47.830245 -55.263576,47.830206 -55.263722,47.830091 -55.263790,47.829992 -55.263253,47.829604 -55.262083,47.827984 -55.261945,47.827730 -55.261302,47.826077 -55.261487,47.822586 -55.261742,47.822211 -55.261743,47.822205 -55.261783,47.821914 -55.261781,47.821840 -55.261786,47.821806 -55.261779,47.821746 -55.261775,47.821467 -55.261858,47.820965 -55.261837,47.820513 -55.261924,47.819911 -55.262195,47.818809 -55.262142,47.818286 -55.262152,47.817980 -55.262382,47.816770 -55.262388,47.816490 -55.262554,47.815908 -55.262660,47.815742 -55.262671,47.815541 -55.264478,47.812905 -55.264825,47.812364 -55.264867,47.812337 -55.264891,47.812303 -55.265277,47.811949 -55.269005,47.809630 -55.271643,47.808786 -55.271899,47.808726 -55.271948,47.808703 -55.272882,47.808461 -55.273162,47.808263 -55.273407,47.808132 -55.274698,47.807520 -55.275096,47.807388 -55.276076,47.806708 -55.276320,47.806515 -55.277372,47.805811 -55.279752,47.804546 -55.280287,47.804411 -55.280636,47.804208 -55.281974,47.803743 -55.282499,47.803626 -55.282637,47.803331 -55.282677,47.803138 -55.282905,47.802313 -55.284088,47.800189 -55.284436,47.799744 -55.285406,47.798691 -55.286508,47.797999 -55.287489,47.796671 -55.287839,47.796387 -55.289249,47.794304 -55.290844,47.793068 -55.291090,47.792910 -55.293286,47.791765 -55.293313,47.791755 -55.293487,47.791628 -55.294062,47.791304 -55.294362,47.791115 -55.294475,47.791087 -55.295242,47.790713 -55.295686,47.790341 -55.295798,47.790274 -55.295846,47.790210 -55.295901,47.790165 -55.297515,47.789223 -55.297604,47.789102 -55.298026,47.788766 -55.298335,47.788411 -55.299930,47.787175 -55.300748,47.786647 -55.302943,47.785502 -55.303130,47.785441 -55.303228,47.785386 -55.304733,47.784656 -55.306190,47.784289 -55.307538,47.783837 -55.308911,47.783479 -55.310411,47.783205 -55.310842,47.783087 -55.311338,47.783014 -55.311454,47.783014 -55.311563,47.782994 -55.311750,47.782999 -55.312060,47.782920 -55.316170,47.782904 -55.316325,47.782919 -55.316745,47.782802 -55.333772,47.780090 -55.334201,47.780090 -55.334689,47.779967 -55.336601,47.779977 -55.337334,47.779934 -55.338844,47.779199 -55.341042,47.778558 -55.342397,47.777864 -55.344778,47.777231 -55.344984,47.777101 -55.347221,47.776353 -55.348176,47.776106 -55.350753,47.775636 -55.352241,47.775231 -55.352387,47.775210 -55.352415,47.775199 -55.353266,47.775002 -55.353301,47.774980 -55.353470,47.774937 -55.353694,47.774797 -55.357467,47.773722 -55.358205,47.773597 -55.359283,47.773447 -55.359457,47.773438 -55.360704,47.773209 -55.361423,47.772843 -55.362998,47.771778 -55.363554,47.771507 -55.363731,47.771458 -55.363784,47.771423 -55.363993,47.771370 -55.364339,47.771152 -55.366832,47.770340 -55.367182,47.770255 -55.368802,47.769971 -55.369381,47.769756 -55.369934,47.769575 -55.373589,47.768792 -55.373899,47.768786 -55.374365,47.768515 -55.376447,47.767807 -55.376797,47.767713 -55.379565,47.767194 -55.383918,47.767201 -55.384370,47.767252 -55.384571,47.767309 -55.384741,47.767313 -55.384886,47.767357 -55.385193,47.767364 -55.386727,47.767858 -55.387485,47.767909 -55.390545,47.768846 -55.447768,47.772209 -55.449637,47.772409 -55.454355,47.773850 -55.456752,47.775340 -55.506568,47.814921 -55.507715,47.815980 -55.509546,47.819248 -55.509722,47.820933 -55.507392,47.885038 -55.507051,47.886845 -55.506891,47.887083 -55.506871,47.887309 -55.497247,47.909659 -55.497315,47.909838 -55.497378,47.909946 -55.497438,47.910163 -55.497435,47.910259 -55.497488,47.910354 -55.497322,47.913846 -55.496860,47.914890 -55.496535,47.915489 -55.496040,47.916119 -55.495413,47.917291 -55.495288,47.917460 -55.494266,47.918603 -55.494190,47.918925 -55.492048,47.922108 -55.492045,47.922110 -55.492043,47.922113 -55.491892,47.922255 -55.488105,47.924640 -55.487966,47.924680 -55.487822,47.924788 -55.487481,47.925099 -55.487448,47.925120 -55.486836,47.925642 -55.486418,47.925968 -55.486007,47.926393 -55.485663,47.926610 -55.485499,47.926818 -55.482457,47.928735 -55.481982,47.929065 -55.481846,47.929135 -55.481752,47.929179 -55.481706,47.929208 -55.481662,47.929221 -55.480770,47.929636 -55.480160,47.929810 -55.477586,47.931376 -55.477075,47.931561 -55.476007,47.932277 -55.475532,47.932505 -55.475388,47.932545 -55.475315,47.932588 -55.475124,47.932636 -55.474839,47.932815 -55.469974,47.934047 -55.466950,47.934149 -55.466170,47.934115 -55.465796,47.934350 -55.460930,47.935582 -55.460926,47.935582 -55.460922,47.935583 -55.460560,47.935623 -55.457948,47.935565 -55.457818,47.935607 -55.457792,47.935622 -55.457537,47.935712 -55.452346,47.944785 -55.452893,47.951824 -55.454390,47.952279 -55.457946,47.954829 -55.459779,47.958100 -55.459931,47.958994 -55.459962,47.959319 -55.459899,47.959824 -55.459990,47.960010 -55.460166,47.961649 -55.460160,47.961865 -55.459815,47.963719 -55.457668,47.966902 -55.456877,47.967399 -55.454925,47.968838 -55.454502,47.969085 -55.453242,47.969709 -55.452921,47.970186 -55.452271,47.970746 -55.451626,47.971259 -55.449028,47.972768 -55.448912,47.972939 -55.448000,47.973603 -55.447848,47.973736 -55.447708,47.973822 -55.447642,47.973913 -55.447133,47.974335 -55.446825,47.974626 -55.446816,47.974631 -55.446811,47.974638 -55.443012,47.977027 -55.439219,47.978107 -55.438923,47.978157 -55.437844,47.978307 -55.437768,47.978306 -55.437624,47.978416 -55.435602,47.979567 -55.434990,47.979964 -55.434678,47.980104 -55.434646,47.980112 -55.434132,47.980424 -55.432813,47.980908 -55.432651,47.980960 -55.432449,47.981002 -55.432180,47.981163 -55.431913,47.981230 -55.431723,47.981345 -55.431397,47.981469 -55.430601,47.981960 -55.429135,47.982489 -55.428689,47.982627 -55.427034,47.982967 -55.426330,47.983410 -55.426946,47.993444 -55.426607,47.995850 -55.424456,47.999033 -55.420654,48.001421 -55.415779,48.002650 -55.413107,48.002763 -55.412228,48.002740 -55.408527,48.005425 -55.407728,48.012544 -55.407741,48.012556 -55.407824,48.012705 -55.407895,48.012756 -55.408120,48.013056 -55.408248,48.013155 -55.408403,48.013355 -55.408515,48.013582 -55.408962,48.014176 -55.409064,48.014349 -55.409639,48.015739 -55.410178,48.016653 -55.410202,48.016734 -55.410199,48.016845 -55.410262,48.016962 -55.410260,48.016997 -55.410286,48.017044 -55.410213,48.017995 -55.410135,48.019565 -55.410126,48.019954 -55.410204,48.020165 -55.410202,48.020191 -55.410228,48.020237 -55.410372,48.021063 -55.410393,48.021262 -55.410339,48.021713 -55.410349,48.021847 -55.410521,48.022161 -55.410530,48.022168 -55.410534,48.022175 -55.410673,48.022296 -55.410827,48.022570 -55.410926,48.022646 -55.410996,48.022696 -55.411001,48.022703 -55.411073,48.022757 -55.411396,48.023158 -55.411577,48.023513 -55.412267,48.024484 -55.412394,48.024729 -55.412736,48.025633 -55.412843,48.025811 -55.412928,48.026082 -55.412927,48.026139 -55.412955,48.026213 -55.412948,48.026354 -55.413056,48.026549 -55.413211,48.027208 -55.413208,48.027253 -55.413269,48.027462 -55.413268,48.027483 -55.413301,48.027654 -55.413338,48.027721 -55.413393,48.028018 -55.413605,48.028642 -55.413457,48.031620 -55.414141,48.032162 -55.414550,48.032306 -55.415500,48.032572 -55.415765,48.032683 -55.415917,48.032786 -55.416180,48.032878 -55.416255,48.032932 -55.416445,48.032990 -55.417527,48.033570 -55.417883,48.033782 -55.420362,48.035754 -55.420402,48.035808 -55.420453,48.035845 -55.420457,48.035854 -55.420467,48.035861 -55.420610,48.036016 -55.420612,48.036021 -55.420773,48.036213 -55.420816,48.036255 -55.421124,48.036634 -55.421184,48.036706 -55.421575,48.036809 -55.421721,48.036865 -55.422672,48.037275 -55.422721,48.037290 -55.422880,48.037364 -55.422943,48.037409 -55.423030,48.037435 -55.423238,48.037556 -55.424267,48.037199 -55.424546,48.037121 -55.424814,48.037038 -55.426854,48.036618 -55.427610,48.036414 -55.427839,48.036381 -55.428003,48.036382 -55.428233,48.036335 -55.428323,48.036337 -55.428462,48.036302 -55.430636,48.036329 -55.431807,48.036150 -55.431949,48.036153 -55.432022,48.036135 -55.432187,48.036130 -55.434292,48.035590 -55.434422,48.035593 -55.434494,48.035575 -55.434789,48.035569 -55.434968,48.035527 -55.435170,48.035512 -55.435449,48.035523 -55.435556,48.035499 -55.435582,48.035500 -55.435606,48.035494 -55.435754,48.035478 -55.435808,48.035479 -55.436482,48.035099 -55.436591,48.035072 -55.436658,48.035030 -55.436735,48.035003 -55.436765,48.034985 -55.436941,48.034915 -55.437087,48.034880 -55.438430,48.034409 -55.438579,48.034366 -55.438835,48.034316 -55.439150,48.034212 -55.439353,48.034161 -55.441888,48.033705 -55.442269,48.033713 -55.442581,48.033641 -55.443294,48.033587 -55.443928,48.033612 -55.445785,48.033558 -55.446267,48.033582 -55.447574,48.033717 -55.448868,48.033826 -55.449791,48.034106 -55.450199,48.034192 -55.450305,48.034221 -55.450975,48.034466 -55.453615,48.035268 -55.455618,48.036702 -55.455846,48.036803 -55.458163,48.037507 -55.459216,48.038118 -55.462395,48.039084 -55.465960,48.041635 -55.467797,48.044906 -55.467858,48.047558 -55.459659,48.088549 -55.459429,48.089391 -55.459323,48.089549 -55.459311,48.089705 -55.374286,48.298525 -55.372235,48.301396 -55.368402,48.303784 -55.367850,48.303923 -55.367118,48.304297 -55.364828,48.304908 -55.364174,48.305119 -55.363358,48.305314 -55.363207,48.305340 -55.362778,48.305454 -55.362602,48.305479 -55.362600,48.305479 -55.362151,48.305568 -55.361966,48.305839 -55.360975,48.306653 -55.360879,48.306723 -55.358702,48.307928 -55.358028,48.308873 -55.357788,48.309241 -55.357705,48.309324 -55.356923,48.310418 -55.356819,48.310484 -55.356785,48.310533 -55.356698,48.310586 -55.356631,48.312869 -55.356540,48.313165 -55.356463,48.313283 -55.356456,48.313421 -55.356205,48.313868 -55.356198,48.314034 -55.356168,48.314124 -55.356163,48.314131 -55.356163,48.314137 -55.356136,48.314177 -55.356133,48.314227 -55.355940,48.314571 -55.355909,48.315330 -55.355882,48.315370 -55.355880,48.315402 -55.355879,48.315411 -55.355879,48.315411 -55.355879,48.315413 -55.355850,48.315493 -55.355608,48.315843 -55.354857,48.317041 -55.354856,48.317256 -55.354548,48.319015 -55.354586,48.320683 -55.354570,48.320764 -55.354331,48.321633 -55.354165,48.321957 -55.354218,48.323031 -55.354184,48.323273 -55.353889,48.324469 -55.351716,48.327655 -55.351638,48.327703 -55.351604,48.327752 -55.351540,48.327792 -55.351500,48.327849 -55.351389,48.327946 -55.350412,48.328538 -55.350319,48.328917 -55.349975,48.329617 -55.349995,48.329868 -55.350025,48.329928 -55.350047,48.330090 -55.350028,48.330268 -55.350082,48.330929 -55.350059,48.331208 -55.349833,48.332260 -55.351288,48.334849 -55.351900,48.335414 -55.351942,48.335488 -55.351978,48.335514 -55.352112,48.335783 -55.352411,48.336013 -55.352489,48.336114 -55.352580,48.336297 -55.352598,48.336308 -55.355061,48.338266 -55.356903,48.341543 -55.356899,48.341613 -55.356926,48.341661 -55.356931,48.341757 -55.356963,48.341817 -55.356986,48.341935 -55.356959,48.342302 -55.356973,48.342562 -55.357749,48.343675 -55.357837,48.343856 -55.358324,48.345190 -55.358180,48.348584 -55.358150,48.348674 -55.358145,48.348682 -55.358145,48.348687 -55.358117,48.348727 -55.358115,48.348777 -55.356499,48.351145 -55.356476,48.352378 -55.356446,48.352486 -55.356363,48.352614 -55.356353,48.352764 -55.356327,48.352804 -55.356323,48.352872 -55.355013,48.354792 -55.355007,48.354802 -55.354909,48.354944 -55.354149,48.356058 -55.353675,48.356353 -55.353624,48.356410 -55.353406,48.356546 -55.353151,48.356762 -55.353027,48.356859 -55.351491,48.357738 -55.349786,48.358799 -55.344867,48.360026 -55.340145,48.359981 -55.245888,48.347800 -55.202580,48.405400 -55.201456,48.406633 -55.199694,48.407959 -55.156847,48.434372 -55.154756,48.435428 -55.149823,48.436646 -55.144565,48.436515 -55.144163,48.436392 -55.143787,48.436375 -55.095876,48.426720 -55.041981,48.418691 -55.041890,48.418663 -55.041785,48.418661 -55.038044,48.417507 -55.037009,48.417195 -55.036990,48.417181 -55.036965,48.417173 -54.993733,48.396066 -54.993391,48.395818 -54.993024,48.395695 -54.903504,48.345383 -54.900699,48.343202 -54.898893,48.339916 -54.899110,48.336419 -54.901318,48.333244 -54.902772,48.332247 -54.903160,48.331766 -54.903457,48.331583 -54.903551,48.331449 -54.903587,48.331423 -54.903638,48.331355 -54.904029,48.331038 -54.904478,48.330778 -54.905622,48.329950 -54.906258,48.329583 -54.908047,48.328713 -54.909678,48.328147 -54.910115,48.328020 -54.913411,48.327381 -54.914880,48.327318 -54.916192,48.326512 -54.917569,48.326060 -54.918335,48.325258 -54.919021,48.324685 -54.919055,48.324519 -54.921260,48.321343 -54.921439,48.321233 -54.921497,48.321150 -54.921623,48.321073 -54.921711,48.320954 -54.921949,48.320760 -54.925356,48.318779 -54.928057,48.317937 -54.928316,48.317879 -54.930134,48.317581 -54.930693,48.317238 -54.932739,48.316577 -54.934900,48.315110 -54.935244,48.314936 -54.936351,48.314433 -54.940573,48.313313 -54.940913,48.313265 -54.941111,48.313267 -54.941275,48.313227 -54.941405,48.313231 -54.941614,48.313179 -54.941809,48.313178 -54.943191,48.312388 -54.944997,48.311945 -54.945514,48.311638 -54.946003,48.311518 -54.947251,48.309719 -54.948023,48.309076 -54.948510,48.308707 -54.949341,48.308241 -54.949905,48.307427 -54.951298,48.306344 -54.951589,48.306152 -54.954053,48.304862 -54.954437,48.304768 -54.955564,48.304178 -54.960487,48.302971 -54.960977,48.302972 -54.962821,48.302460 -54.963120,48.302411 -54.964223,48.302264 -54.965728,48.302265 -54.967531,48.301770 -54.967992,48.301697 -54.968294,48.301698 -54.968536,48.301638 -54.968685,48.301642 -54.968998,48.301565 -54.969688,48.301529 -54.971416,48.300609 -54.972205,48.300367 -54.972581,48.300112 -54.972674,48.298567 -54.973035,48.297743 -54.973123,48.297574 -54.974962,48.295221 -54.978816,48.292849 -54.978948,48.292816 -54.979021,48.292771 -54.979127,48.292745 -54.979219,48.292690 -54.979425,48.292613 -54.979708,48.292547 -54.981024,48.291898 -54.981758,48.291709 -54.982020,48.291591 -54.982628,48.291442 -54.982623,48.291434 -54.982501,48.291090 -54.982502,48.290955 -54.982429,48.290776 -54.982430,48.290768 -54.982384,48.290630 -54.982387,48.290370 -54.982228,48.290080 -54.982229,48.289830 -54.982186,48.289741 -54.982166,48.289569 -54.982235,48.288983 -54.982247,48.287208 -54.982360,48.286760 -54.982437,48.286636 -54.982438,48.286584 -54.982531,48.286449 -54.982550,48.286136 -54.983252,48.284842 -54.980739,48.283943 -54.979182,48.283290 -54.978939,48.283114 -54.978657,48.283022 -54.977997,48.282667 -54.977812,48.282820 -54.977576,48.282996 -54.976577,48.283551 -54.975685,48.284158 -54.975410,48.284297 -54.974305,48.284799 -54.973363,48.285031 -54.972416,48.285751 -54.972333,48.285803 -54.970095,48.286948 -54.968047,48.287450 -54.967369,48.287978 -54.967078,48.288170 -54.964616,48.289460 -54.961863,48.290315 -54.961564,48.290381 -54.961252,48.290432 -54.959975,48.290711 -54.956584,48.291584 -54.956162,48.291573 -54.955976,48.291618 -54.955837,48.291615 -54.955626,48.291661 -54.955018,48.291695 -54.952256,48.291554 -54.952166,48.291617 -54.951335,48.292302 -54.951098,48.292478 -54.948198,48.294089 -54.947478,48.294840 -54.946643,48.295354 -54.946506,48.295552 -54.946493,48.295560 -54.946486,48.295570 -54.946360,48.295685 -54.945237,48.296374 -54.944465,48.296960 -54.944285,48.297074 -54.943337,48.297558 -54.942941,48.297890 -54.942496,48.298233 -54.942390,48.298293 -54.942110,48.298518 -54.941874,48.298685 -54.941275,48.299008 -54.940678,48.299433 -54.940568,48.299494 -54.938997,48.300242 -54.938503,48.300363 -54.938174,48.300551 -54.937135,48.300911 -54.935384,48.301294 -54.935242,48.301381 -54.934880,48.301513 -54.934403,48.301806 -54.933083,48.302279 -54.932728,48.302389 -54.930682,48.302806 -54.929787,48.303042 -54.929272,48.303114 -54.929173,48.303113 -54.929124,48.303123 -54.928810,48.303114 -54.928563,48.303177 -54.928305,48.303208 -54.928139,48.303205 -54.927973,48.303246 -54.927756,48.303240 -54.927599,48.303274 -54.927220,48.303294 -54.925631,48.303211 -54.925177,48.303322 -54.923863,48.304129 -54.923354,48.304863 -54.922906,48.305138 -54.921573,48.306149 -54.921476,48.306210 -54.920573,48.306671 -54.920194,48.306925 -54.920071,48.306986 -54.919349,48.307309 -54.919312,48.307332 -54.918640,48.307616 -54.918542,48.307641 -54.917984,48.307926 -54.917829,48.307964 -54.917751,48.308012 -54.917606,48.308047 -54.917481,48.308121 -54.917248,48.308207 -54.917095,48.308242 -54.916638,48.308522 -54.916528,48.308549 -54.916474,48.308582 -54.916260,48.308635 -54.916092,48.308733 -54.915927,48.308793 -54.911549,48.309787 -54.910690,48.309764 -54.909324,48.310098 -54.905359,48.310006 -54.904756,48.310179 -54.903818,48.310351 -54.902896,48.310483 -54.901605,48.310836 -54.901347,48.310876 -54.900981,48.310875 -54.900616,48.310965 -54.900532,48.310962 -54.900358,48.311005 -54.899673,48.310971 -54.899304,48.311040 -54.898101,48.311007 -54.897155,48.311036 -54.896778,48.311020 -54.896101,48.310951 -54.894063,48.310895 -54.893950,48.310860 -54.893524,48.310862 -54.893175,48.310828 -54.892220,48.310706 -54.891133,48.310971 -54.889554,48.310927 -54.886852,48.312586 -54.886508,48.312696 -54.886486,48.312708 -54.886107,48.312962 -54.885983,48.313022 -54.885022,48.313452 -54.884274,48.313635 -54.884187,48.313672 -54.884166,48.313677 -54.884163,48.313679 -54.884056,48.313705 -54.884032,48.313711 -54.883902,48.313791 -54.878975,48.314995 -54.877812,48.314962 -54.876195,48.315357 -54.876075,48.315354 -54.875967,48.315379 -54.875561,48.315417 -54.874297,48.315374 -54.873596,48.315404 -54.873179,48.315427 -54.873051,48.315427 -54.873012,48.315429 -54.872947,48.315428 -54.872788,48.315428 -54.872725,48.315424 -54.872715,48.315423 -54.872665,48.315419 -54.869525,48.315175 -54.869449,48.315152 -54.868725,48.315273 -54.863483,48.315126 -54.862019,48.314764 -54.567042,48.313721 -54.447524,48.383678 -54.445577,48.384624 -54.440630,48.385805 -54.440437,48.385799 -54.439498,48.386023 -54.439052,48.386008 -54.438862,48.386053 -54.438715,48.386050 -54.438493,48.386097 -54.437856,48.386127 -54.435898,48.386015 -54.435043,48.386468 -54.434124,48.386724 -54.432520,48.387340 -54.431500,48.387577 -54.428461,48.388362 -54.427658,48.388470 -54.427362,48.388466 -54.427251,48.388483 -54.426970,48.388550 -54.426722,48.388568 -54.425078,48.388832 -54.423743,48.388906 -54.423703,48.388916 -54.422738,48.389029 -54.422559,48.389025 -54.422377,48.389068 -54.420438,48.389166 -54.419330,48.389168 -54.416020,48.388899 -54.412158,48.387683 -54.411018,48.387836 -54.410688,48.387831 -54.410331,48.387916 -54.407141,48.387776 -54.405234,48.387746 -54.405200,48.387747 -54.405119,48.387745 -54.405082,48.387744 -54.405080,48.387743 -54.404486,48.387722 -54.401922,48.387466 -54.401484,48.387328 -54.401081,48.387306 -54.400974,48.387283 -54.399334,48.387143 -54.398689,48.387134 -54.396619,48.386870 -54.396383,48.386859 -54.394117,48.386615 -54.394111,48.386615 -54.393735,48.386553 -54.393732,48.386552 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-52.986337,48.113244 -52.835250,48.208375</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-52.986337,48.154197 -52.982636,48.159809 -52.984159,48.162658 -52.981516,48.171519 -52.977877,48.177943 -52.975761,48.183879 -52.971589,48.187469 -52.966026,48.192254 -52.958539,48.195400 -52.954232,48.198280 -52.948136,48.200229 -52.938061,48.203949 -52.929378,48.206473 -52.919501,48.208375 -52.904853,48.207792 -52.894317,48.206147 -52.883913,48.205210 -52.873247,48.202853 -52.863380,48.198990 -52.855375,48.193533 -52.848634,48.186172 -52.841824,48.181336 -52.837933,48.174819 -52.836294,48.168837 -52.835250,48.163166 -52.836138,48.153377 -52.838679,48.143813 -52.841945,48.135269 -52.853547,48.125316 -52.861101,48.119655 -52.867156,48.117238 -52.873350,48.113244 -52.884457,48.115202 -52.888883,48.118792 -52.895812,48.130090 -52.901431,48.134301 -52.898170,48.148606 -52.920338,48.155039 -52.931256,48.164565 -52.939203,48.161023 -52.952113,48.163904 -52.950788,48.168333 -52.955159,48.168688 -52.965950,48.160226 -52.973430,48.157080 -52.976407,48.152871 -52.986337,48.154197 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-52.851887,47.766851 -52.716232,47.855611</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-52.767033,47.766851 -52.767265,47.774016 -52.769136,47.781406 -52.775670,47.788053 -52.785155,47.796253 -52.791051,47.799360 -52.799253,47.800479 -52.802609,47.798406 -52.807292,47.791911 -52.809818,47.782361 -52.810169,47.775506 -52.811570,47.768565 -52.817078,47.769546 -52.824281,47.773979 -52.832665,47.779032 -52.839540,47.784569 -52.846474,47.793335 -52.851641,47.801170 -52.851887,47.808336 -52.850491,47.815279 -52.848505,47.821913 -52.847439,47.827751 -52.841707,47.834336 -52.836636,47.838709 -52.831564,47.843082 -52.825180,47.846127 -52.814846,47.850934 -52.806227,47.853443 -52.796888,47.854932 -52.791037,47.855055 -52.779925,47.855611 -52.769147,47.855059 -52.753519,47.851311 -52.740795,47.845886 -52.733923,47.840340 -52.728232,47.835416 -52.723387,47.832219 -52.720725,47.826329 -52.718574,47.823271 -52.716837,47.816587 -52.716662,47.812650 -52.716232,47.807296 -52.718493,47.802082 -52.719830,47.797662 -52.722218,47.793156 -52.726913,47.786666 -52.732450,47.781902 -52.739037,47.777052 -52.746800,47.772823 -52.756789,47.769130 -52.767033,47.766851 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-52.713282,47.568672 -52.666977,47.593417</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-52.704018,47.587904 -52.701984,47.588914 -52.700042,47.589482 -52.699454,47.589776 -52.698084,47.590376 -52.695934,47.591032 -52.694499,47.591370 -52.691747,47.591800 -52.691539,47.591789 -52.688600,47.592592 -52.686268,47.593002 -52.685942,47.593044 -52.685822,47.593075 -52.684556,47.593267 -52.683258,47.593417 -52.679419,47.593351 -52.678091,47.593195 -52.676786,47.592996 -52.672185,47.591418 -52.668907,47.588864 -52.668660,47.588576 -52.668635,47.588525 -52.668581,47.588482 -52.666977,47.585165 -52.667371,47.581686 -52.669702,47.578574 -52.670416,47.578009 -52.671164,47.577464 -52.672044,47.576995 -52.672551,47.576319 -52.672551,47.576319 -52.672832,47.576076 -52.672832,47.576076 -52.672832,47.576076 -52.676746,47.573804 -52.677199,47.573704 -52.679154,47.572728 -52.680213,47.572366 -52.682185,47.571765 -52.683866,47.571448 -52.684941,47.571119 -52.687498,47.570515 -52.688826,47.570306 -52.689196,47.570214 -52.690221,47.569865 -52.691824,47.569382 -52.695612,47.568674 -52.698757,47.568672 -52.701197,47.568868 -52.703192,47.569135 -52.707792,47.570711 -52.711151,47.573358 -52.711314,47.573694 -52.711582,47.573921 -52.712106,47.574670 -52.713282,47.577422 -52.713005,47.580608 -52.712745,47.581333 -52.712649,47.581466 -52.712631,47.581627 -52.710303,47.584740 -52.709965,47.585032 -52.706052,47.587305 -52.704018,47.587904 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-53.316595,46.581435 -53.071108,46.674942</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-53.100179,46.646103 -53.099259,46.644963 -53.071108,46.602453 -53.090558,46.597970 -53.091883,46.597479 -53.114344,46.592514 -53.115724,46.592580 -53.116912,46.592324 -53.119085,46.592193 -53.128848,46.586961 -53.152741,46.581435 -53.177880,46.582628 -53.186482,46.585332 -53.186582,46.585342 -53.188743,46.585926 -53.206724,46.586614 -53.209065,46.587007 -53.209797,46.587249 -53.210662,46.587290 -53.214803,46.588706 -53.215819,46.588754 -53.218215,46.589573 -53.221231,46.589715 -53.223467,46.590479 -53.226107,46.590603 -53.229619,46.591804 -53.233517,46.591986 -53.256103,46.599701 -53.257893,46.600826 -53.259935,46.601523 -53.263037,46.603169 -53.279633,46.616251 -53.284661,46.626503 -53.285897,46.627918 -53.288488,46.630640 -53.289098,46.631774 -53.290451,46.632839 -53.294043,46.637844 -53.298528,46.641375 -53.300183,46.644053 -53.308894,46.650907 -53.316595,46.666574 -53.252154,46.674231 -53.250289,46.674554 -53.250289,46.674554 -53.250289,46.674554 -53.248435,46.674942 -53.243188,46.674842 -53.240978,46.673334 -53.240487,46.670726 -53.241943,46.669476 -53.241943,46.669476 -53.241897,46.666432 -53.241897,46.666432 -53.241129,46.665365 -53.239530,46.664182 -53.238321,46.663309 -53.238321,46.663309 -53.234706,46.661391 -53.232960,46.660464 -53.232903,46.658304 -53.231710,46.656607 -53.228788,46.653139 -53.227406,46.650575 -53.226989,46.650148 -53.224168,46.648375 -53.224419,46.648477 -53.224419,46.648477 -53.224168,46.648375 -53.221017,46.647096 -53.219764,46.646005 -53.219739,46.645672 -53.218086,46.643744 -53.219194,46.642320 -53.219464,46.642021 -53.219464,46.642021 -53.219464,46.642021 -53.219414,46.641346 -53.221103,46.640113 -53.162581,46.632439 -53.153405,46.640344 -53.153244,46.640353 -53.152181,46.641253 -53.146092,46.641033 -53.145997,46.640763 -53.145803,46.640774 -53.144934,46.639532 -53.143642,46.639871 -53.143642,46.639871 -53.141100,46.640828 -53.140069,46.640809 -53.137908,46.641376 -53.135917,46.640731 -53.135917,46.640731 -53.135917,46.640731 -53.135917,46.640731 -53.134279,46.640701 -53.133371,46.641510 -53.133371,46.641510 -53.133436,46.641864 -53.133090,46.641759 -53.123410,46.638835 -53.122340,46.638512 -53.120066,46.639936 -53.119212,46.640471 -53.116277,46.642532 -53.112629,46.643574 -53.110213,46.644188 -53.107818,46.645159 -53.104004,46.647494 -53.104004,46.647494 -53.104004,46.647494 -53.104004,46.647494 -53.102873,46.648398 -53.100267,46.646583 -53.100179,46.646103 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-53.679919,49.009872 -53.374074,49.318440</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-53.514700,49.282470 -53.512386,49.290400 -53.509940,49.290463 -53.515178,49.296338 -53.515911,49.307608 -53.509877,49.312774 -53.505183,49.316791 -53.498306,49.316646 -53.498895,49.317771 -53.472446,49.318440 -53.460230,49.317550 -53.448700,49.314243 -53.427187,49.305292 -53.424252,49.303950 -53.415617,49.298076 -53.394294,49.278287 -53.392298,49.276245 -53.390556,49.274045 -53.380636,49.259967 -53.377200,49.252190 -53.377239,49.251807 -53.377070,49.251466 -53.374074,49.232672 -53.375256,49.222884 -53.376617,49.220148 -53.390673,49.196278 -53.390755,49.196183 -53.390889,49.195920 -53.416888,49.153509 -53.417624,49.152662 -53.418424,49.151295 -53.442581,49.120237 -53.459737,49.092921 -53.462750,49.089481 -53.463792,49.087988 -53.486733,49.065904 -53.487498,49.065436 -53.488031,49.064723 -53.491563,49.062066 -53.521199,49.042501 -53.551473,49.022354 -53.560047,49.017986 -53.560088,49.017976 -53.560121,49.017957 -53.572462,49.013260 -53.587523,49.009872 -53.600656,49.010101 -53.607884,49.011001 -53.609101,49.011358 -53.610721,49.011423 -53.621730,49.014523 -53.631122,49.018317 -53.634494,49.019836 -53.645098,49.027721 -53.650311,49.037674 -53.650218,49.038668 -53.650589,49.039461 -53.651390,49.047112 -53.650482,49.053425 -53.652854,49.054185 -53.645215,49.061814 -53.625236,49.077500 -53.631881,49.076908 -53.626104,49.083087 -53.622530,49.088555 -53.609338,49.089215 -53.608593,49.097004 -53.625209,49.105309 -53.619883,49.109903 -53.619388,49.115097 -53.635668,49.114161 -53.637702,49.108829 -53.632035,49.104185 -53.642607,49.102212 -53.646735,49.106993 -53.655311,49.106741 -53.667422,49.104627 -53.679919,49.108142 -53.662521,49.111246 -53.628137,49.119467 -53.639020,49.130341 -53.652014,49.128666 -53.664307,49.131172 -53.650328,49.143238 -53.641152,49.136846 -53.631485,49.135649 -53.607688,49.119227 -53.598194,49.122646 -53.582575,49.123002 -53.584283,49.127485 -53.583324,49.134264 -53.592614,49.129836 -53.585490,49.137162 -53.564236,49.148313 -53.555398,49.151154 -53.554731,49.151728 -53.557519,49.157661 -53.553218,49.167310 -53.558337,49.180764 -53.560504,49.183663 -53.561335,49.187709 -53.552029,49.192136 -53.545141,49.196864 -53.519880,49.207841 -53.517619,49.212160 -53.524259,49.210032 -53.535807,49.220348 -53.516966,49.228184 -53.507075,49.225961 -53.495127,49.229068 -53.476634,49.227080 -53.481631,49.232309 -53.477407,49.234738 -53.484157,49.240844 -53.476583,49.246141 -53.469523,49.246242 -53.472254,49.255790 -53.475553,49.256532 -53.481119,49.252956 -53.485294,49.254136 -53.493438,49.255484 -53.498441,49.260713 -53.505406,49.267830 -53.508292,49.266547 -53.514700,49.282470 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-54.566825,46.903138 -53.844999,47.382065</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-54.001615,47.312384 -53.996272,47.307901 -53.998348,47.296706 -54.003303,47.285233 -54.004141,47.275157 -54.001692,47.263400 -53.985263,47.254991 -53.970856,47.263373 -53.950686,47.272306 -53.918606,47.273379 -53.868843,47.274125 -53.844999,47.272392 -53.848753,47.262045 -53.868104,47.256211 -53.887822,47.259330 -53.920321,47.253231 -53.943325,47.258022 -53.954857,47.249921 -53.943366,47.244029 -53.932687,47.242055 -53.943407,47.230037 -53.915496,47.222719 -53.914285,47.216840 -53.923340,47.210979 -53.936887,47.212678 -53.950009,47.219411 -53.966858,47.215794 -53.979971,47.229519 -53.980771,47.240434 -53.993106,47.236247 -54.016527,47.235983 -54.045313,47.191223 -54.046140,47.181151 -54.065429,47.161290 -54.062150,47.145624 -54.065841,47.135274 -54.083459,47.107581 -54.076904,47.104225 -54.083047,47.098630 -54.092868,47.082687 -54.099412,47.072057 -54.116579,47.049399 -54.117797,47.041289 -54.136178,47.024501 -54.137392,47.016391 -54.163907,46.989808 -54.166291,46.959615 -54.183811,46.945898 -54.172353,46.933054 -54.171907,46.917124 -54.182068,46.903138 -54.566825,46.996074 -54.379848,47.307135 -54.321018,47.382065 -54.001615,47.312384 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-55.225361,46.952746 -55.195192,46.977702</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-55.224781,46.965485 -55.224768,46.965584 -55.224781,46.965623 -55.224945,46.967221 -55.224937,46.967504 -55.224918,46.967608 -55.224921,46.967731 -55.224572,46.969950 -55.222765,46.972809 -55.222419,46.973168 -55.222417,46.973169 -55.221999,46.973794 -55.221999,46.973794 -55.221922,46.973866 -55.221922,46.973866 -55.221922,46.973866 -55.219420,46.975652 -55.219121,46.975813 -55.217899,46.976397 -55.215038,46.977126 -55.214500,46.977299 -55.214287,46.977348 -55.213927,46.977409 -55.213133,46.977611 -55.212734,46.977611 -55.212199,46.977702 -55.208243,46.977603 -55.207715,46.977606 -55.207494,46.977584 -55.207117,46.977574 -55.206968,46.977528 -55.205952,46.977395 -55.201328,46.975947 -55.197866,46.973397 -55.197625,46.972952 -55.197448,46.972815 -55.195676,46.969552 -55.195687,46.969353 -55.195601,46.969185 -55.195497,46.968581 -55.195603,46.967317 -55.195498,46.967125 -55.195421,46.966529 -55.195311,46.966325 -55.195192,46.964147 -55.195266,46.963555 -55.195292,46.962996 -55.195340,46.962749 -55.195494,46.959888 -55.195886,46.958976 -55.196041,46.958677 -55.197765,46.956425 -55.201488,46.954055 -55.204940,46.953035 -55.205460,46.952939 -55.206772,46.952746 -55.211292,46.952791 -55.211717,46.952847 -55.211802,46.952872 -55.211852,46.952873 -55.212136,46.952963 -55.212552,46.952976 -55.213041,46.953063 -55.213436,46.953191 -55.214418,46.953282 -55.219040,46.954730 -55.219040,46.954730 -55.219210,46.954814 -55.219210,46.954814 -55.219210,46.954814 -55.219341,46.954889 -55.220006,46.955097 -55.223468,46.957646 -55.224354,46.958815 -55.224474,46.959006 -55.225361,46.961100 -55.225177,46.964578 -55.225104,46.964687 -55.225096,46.964799 -55.225003,46.965040 -55.224946,46.965122 -55.224781,46.965485 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-55.631173,46.858719 -55.601209,46.879901</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-55.629185,46.864720 -55.629373,46.864857 -55.631173,46.868110 -55.631022,46.871588 -55.628941,46.874761 -55.628684,46.874927 -55.628551,46.875117 -55.628329,46.875309 -55.628003,46.875601 -55.627543,46.875888 -55.625977,46.877042 -55.625708,46.877194 -55.624316,46.877883 -55.624049,46.877982 -55.622806,46.878620 -55.618062,46.879854 -55.618062,46.879854 -55.617874,46.879876 -55.617874,46.879876 -55.616827,46.879854 -55.616747,46.879874 -55.616415,46.879901 -55.613039,46.879776 -55.612802,46.879771 -55.612787,46.879767 -55.611955,46.879736 -55.607328,46.878308 -55.605211,46.877012 -55.605073,46.876906 -55.603712,46.875669 -55.602347,46.873644 -55.602313,46.873571 -55.601881,46.872346 -55.601621,46.871875 -55.601604,46.871701 -55.601385,46.871305 -55.601209,46.869659 -55.601219,46.869305 -55.601549,46.867473 -55.601966,46.866495 -55.602130,46.866178 -55.603796,46.863984 -55.604095,46.863791 -55.604406,46.863318 -55.605424,46.862457 -55.605791,46.862183 -55.606165,46.861970 -55.606625,46.861615 -55.607562,46.861032 -55.609403,46.860076 -55.614146,46.858843 -55.616282,46.858720 -55.616862,46.858719 -55.619794,46.858947 -55.624420,46.860374 -55.625753,46.861122 -55.626001,46.861281 -55.628146,46.863066 -55.628151,46.863075 -55.628160,46.863082 -55.628469,46.863422 -55.629185,46.864720 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-56.109430,46.865930 -56.072544,46.889438</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-56.106994,46.871156 -56.107589,46.871582 -56.109425,46.874826 -56.109430,46.877892 -56.109359,46.878174 -56.109313,46.878250 -56.109311,46.878304 -56.109246,46.878406 -56.109240,46.878586 -56.108306,46.880097 -56.108043,46.880652 -56.107600,46.881351 -56.106322,46.882915 -56.105097,46.883941 -56.104787,46.884164 -56.102344,46.885542 -56.100169,46.886304 -56.099379,46.886520 -56.098961,46.886601 -56.098113,46.887157 -56.096775,46.887667 -56.096201,46.887857 -56.095303,46.888055 -56.094623,46.888272 -56.094610,46.888275 -56.093167,46.888749 -56.091811,46.889066 -56.089869,46.889407 -56.088067,46.889379 -56.086724,46.889438 -56.086145,46.889420 -56.085201,46.889334 -56.084795,46.889328 -56.084565,46.889276 -56.083904,46.889216 -56.082767,46.888872 -56.082384,46.888786 -56.082073,46.888692 -56.081715,46.888554 -56.079261,46.887812 -56.078478,46.887269 -56.078276,46.887208 -56.075785,46.885641 -56.075564,46.885460 -56.074549,46.884510 -56.073924,46.883757 -56.073753,46.883526 -56.072544,46.881035 -56.072661,46.877557 -56.072709,46.877483 -56.072712,46.877405 -56.072793,46.877176 -56.072856,46.876842 -56.073059,46.876054 -56.075107,46.872871 -56.075943,46.872309 -56.076029,46.872243 -56.076106,46.872160 -56.077187,46.871240 -56.077415,46.871070 -56.080003,46.869587 -56.081016,46.869318 -56.081579,46.868949 -56.084203,46.868100 -56.085086,46.867679 -56.085321,46.867613 -56.085526,46.867479 -56.089280,46.866365 -56.089875,46.866260 -56.090125,46.866257 -56.090255,46.866221 -56.090447,46.866224 -56.090851,46.866116 -56.091171,46.866107 -56.091452,46.866033 -56.094784,46.865930 -56.095092,46.865948 -56.096831,46.866129 -56.096975,46.866173 -56.097294,46.866209 -56.097311,46.866209 -56.097331,46.866213 -56.097427,46.866224 -56.097493,46.866242 -56.097904,46.866316 -56.098156,46.866320 -56.102797,46.867723 -56.106262,46.870194 -56.106613,46.870568 -56.106627,46.870592 -56.106654,46.870612 -56.106994,46.871156 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-59.298444,47.567512 -59.165622,47.646672</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-59.166503,47.583033 -59.166716,47.582503 -59.166959,47.582128 -59.166964,47.582118 -59.166973,47.582107 -59.168297,47.580068 -59.168690,47.579788 -59.168872,47.579502 -59.170631,47.577904 -59.171310,47.577456 -59.171303,47.577264 -59.171333,47.577211 -59.171331,47.577157 -59.171774,47.575538 -59.173595,47.572388 -59.177145,47.569858 -59.177308,47.569809 -59.177423,47.569729 -59.179273,47.568892 -59.183705,47.567603 -59.188859,47.567512 -59.192133,47.568198 -59.195239,47.569164 -59.196778,47.569728 -59.200518,47.572130 -59.201429,47.573137 -59.203733,47.576108 -59.203879,47.576377 -59.207192,47.574014 -59.207670,47.573870 -59.207977,47.573666 -59.209450,47.573063 -59.212282,47.571306 -59.213582,47.570596 -59.218292,47.569176 -59.223002,47.569037 -59.225706,47.569288 -59.226402,47.569459 -59.227067,47.569463 -59.230536,47.570039 -59.234432,47.571158 -59.238174,47.573559 -59.239903,47.576182 -59.240345,47.576414 -59.242015,47.577488 -59.243702,47.578806 -59.245803,47.581993 -59.245942,47.585481 -59.244885,47.587764 -59.244665,47.588082 -59.245781,47.588906 -59.247883,47.592093 -59.248095,47.592891 -59.248328,47.594074 -59.248316,47.594505 -59.248444,47.595288 -59.248429,47.598173 -59.248377,47.598579 -59.249174,47.599747 -59.249255,47.599909 -59.249370,47.600049 -59.252046,47.604383 -59.252815,47.605397 -59.256214,47.606278 -59.257673,47.607212 -59.260635,47.607158 -59.265454,47.608405 -59.269201,47.610804 -59.269325,47.610992 -59.271257,47.610957 -59.276077,47.612203 -59.279825,47.614602 -59.281256,47.616768 -59.282456,47.616991 -59.285886,47.617076 -59.287623,47.617197 -59.292444,47.618443 -59.296194,47.620841 -59.298301,47.624027 -59.298444,47.627516 -59.296601,47.630776 -59.296092,47.631278 -59.296129,47.631330 -59.297161,47.633296 -59.297374,47.634093 -59.297609,47.635277 -59.297539,47.637968 -59.295696,47.641228 -59.292147,47.643764 -59.287432,47.645188 -59.282269,47.645284 -59.277445,47.644037 -59.277090,47.643810 -59.276715,47.643704 -59.273963,47.642353 -59.271031,47.640348 -59.268641,47.640392 -59.259637,47.644991 -59.259455,47.645048 -59.259306,47.645155 -59.254589,47.646577 -59.249426,47.646672 -59.244603,47.645423 -59.241798,47.643822 -59.237939,47.640910 -59.237614,47.640978 -59.232451,47.641071 -59.227629,47.639822 -59.223882,47.637420 -59.221974,47.634741 -59.221217,47.632973 -59.221197,47.632727 -59.221023,47.632464 -59.220886,47.628975 -59.221154,47.628153 -59.221957,47.626145 -59.223537,47.623709 -59.225582,47.622016 -59.230971,47.618529 -59.231309,47.618341 -59.231100,47.618097 -59.229482,47.615738 -59.226194,47.612068 -59.226081,47.611880 -59.225595,47.611322 -59.223740,47.608724 -59.223561,47.608376 -59.223329,47.608085 -59.220980,47.604011 -59.220404,47.602739 -59.220077,47.600700 -59.220099,47.598619 -59.219549,47.598000 -59.218889,47.597118 -59.216864,47.598342 -59.212152,47.599762 -59.209754,47.599976 -59.205369,47.600093 -59.202609,47.599971 -59.199727,47.599403 -59.196279,47.598423 -59.194739,47.598055 -59.194033,47.598558 -59.193642,47.598786 -59.193564,47.598844 -59.191408,47.600134 -59.186695,47.601553 -59.181537,47.601643 -59.176721,47.600392 -59.176639,47.600339 -59.175453,47.600031 -59.171712,47.597628 -59.169665,47.594514 -59.167602,47.591690 -59.167382,47.591270 -59.167100,47.590912 -59.166807,47.590391 -59.165775,47.588820 -59.165642,47.585332 -59.165643,47.585330 -59.165622,47.584781 -59.166503,47.583033 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-58.144996,49.291512 -57.398512,49.972121</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-57.865474,49.839383 -57.865391,49.839401 -57.865364,49.839437 -57.865323,49.839474 -57.865310,49.839519 -57.865103,49.839619 -57.865075,49.839619 -57.864950,49.839620 -57.864756,49.839685 -57.864605,49.839776 -57.864301,49.839877 -57.864232,49.839923 -57.863706,49.840052 -57.863486,49.840225 -57.863351,49.840442 -57.863421,49.840468 -57.863782,49.840439 -57.864472,49.840146 -57.864597,49.840118 -57.864803,49.839990 -57.864914,49.839962 -57.865096,49.840024 -57.865069,49.840069 -57.864807,49.840170 -57.864628,49.840306 -57.863977,49.840410 -57.863950,49.840464 -57.864020,49.840500 -57.863855,49.840636 -57.863593,49.840737 -57.863329,49.840739 -57.863137,49.840884 -57.863012,49.840939 -57.862901,49.840949 -57.862817,49.840914 -57.862582,49.840978 -57.862570,49.841095 -57.862502,49.841186 -57.862321,49.841187 -57.862141,49.841233 -57.862059,49.841297 -57.861642,49.841291 -57.861504,49.841373 -57.861103,49.841475 -57.860947,49.841341 -57.861126,49.841223 -57.861164,49.841034 -57.860983,49.841026 -57.860736,49.841172 -57.860569,49.841209 -57.860470,49.841102 -57.860194,49.841239 -57.860293,49.841310 -57.860391,49.841336 -57.860322,49.841382 -57.860252,49.841373 -57.860196,49.841338 -57.860196,49.841302 -57.860028,49.841285 -57.859987,49.841330 -57.859904,49.841313 -57.859779,49.841341 -57.859765,49.841341 -57.859248,49.841174 -57.858704,49.841115 -57.858399,49.841144 -57.857815,49.841149 -57.857523,49.841187 -57.857119,49.841163 -57.856621,49.841292 -57.856552,49.841329 -57.856468,49.841311 -57.856276,49.841466 -57.856096,49.841476 -57.855793,49.841631 -57.855559,49.841786 -57.855504,49.841858 -57.855353,49.841949 -57.855312,49.842004 -57.854362,49.838584 -57.830189,49.816534 -57.790754,49.815775 -57.790414,49.815355 -57.790006,49.815097 -57.789823,49.814900 -57.789344,49.814553 -57.789247,49.814526 -57.789162,49.814428 -57.788684,49.814125 -57.788530,49.814064 -57.788403,49.813965 -57.788250,49.813940 -57.787747,49.813754 -57.787342,49.813676 -57.786244,49.813665 -57.785534,49.813616 -57.784256,49.813652 -57.783618,49.813701 -57.783215,49.813767 -57.782994,49.813831 -57.782841,49.813832 -57.782439,49.813907 -57.781787,49.813983 -57.781538,49.814066 -57.781209,49.814338 -57.781060,49.814564 -57.780963,49.814609 -57.780825,49.814637 -57.780519,49.814612 -57.780295,49.814524 -57.780058,49.814517 -57.779933,49.814490 -57.779666,49.814348 -57.779638,49.814295 -57.779471,49.814296 -57.779344,49.814180 -57.779148,49.814109 -57.778688,49.814004 -57.778493,49.813987 -57.777661,49.814119 -57.777299,49.814094 -57.776910,49.814115 -57.776189,49.814201 -57.776024,49.814292 -57.775498,49.814448 -57.775277,49.814567 -57.775003,49.814775 -57.774809,49.814849 -57.774657,49.814868 -57.774336,49.814807 -57.773404,49.814732 -57.772917,49.814735 -57.772779,49.814763 -57.772362,49.814775 -57.772210,49.814839 -57.771793,49.814824 -57.771723,49.814788 -57.771235,49.814729 -57.770844,49.814632 -57.769842,49.814540 -57.769009,49.814599 -57.768649,49.814665 -57.767364,49.815150 -57.767101,49.815269 -57.767033,49.815350 -57.766866,49.815342 -57.766700,49.815370 -57.766421,49.815345 -57.766338,49.815364 -57.766157,49.815356 -57.765465,49.815504 -57.765285,49.815578 -57.765105,49.815606 -57.764871,49.815724 -57.764467,49.815700 -57.764286,49.815710 -57.764190,49.815747 -57.764176,49.815774 -57.764038,49.815802 -57.763955,49.815847 -57.763179,49.816005 -57.762929,49.816025 -57.762805,49.816080 -57.762624,49.816081 -57.762442,49.815956 -57.762105,49.815796 -57.761966,49.815761 -57.761869,49.815762 -57.761686,49.815664 -57.761460,49.815396 -57.761331,49.815181 -57.760979,49.814886 -57.759998,49.814362 -57.759900,49.814354 -57.759481,49.814213 -57.759119,49.814188 -57.758703,49.814218 -57.758149,49.814320 -57.757803,49.814439 -57.756917,49.814670 -57.756834,49.814725 -57.756723,49.814743 -57.755986,49.814721 -57.755737,49.814759 -57.755653,49.814723 -57.755624,49.814661 -57.755374,49.814653 -57.754999,49.814710 -57.754917,49.814755 -57.754652,49.814757 -57.754541,49.814713 -57.754179,49.814706 -57.753763,49.814763 -57.752918,49.814966 -57.752793,49.814967 -57.752709,49.814940 -57.752501,49.814951 -57.751893,49.815170 -57.751574,49.815245 -57.750911,49.815519 -57.750621,49.815628 -57.750346,49.815792 -57.749903,49.815939 -57.749517,49.816139 -57.749281,49.816177 -57.748895,49.816368 -57.748589,49.816388 -57.748312,49.816444 -57.748020,49.816446 -57.747951,49.816437 -57.752290,49.847071 -57.752709,49.847176 -57.753677,49.847692 -57.753818,49.847808 -57.753943,49.847834 -57.754848,49.847882 -57.755183,49.847925 -57.755283,49.848122 -57.755202,49.848276 -57.754995,49.848403 -57.754622,49.848540 -57.754430,49.848712 -57.753898,49.849363 -57.753776,49.849580 -57.753625,49.849725 -57.753588,49.850022 -57.753775,49.850398 -57.753916,49.850559 -57.754747,49.851229 -57.755868,49.851752 -57.756469,49.851919 -57.756734,49.851953 -57.757265,49.852112 -57.757433,49.852183 -57.757908,49.852287 -57.758538,49.852571 -57.758805,49.852767 -57.759606,49.853248 -57.759914,49.853381 -57.760277,49.853477 -57.760669,49.853645 -57.761019,49.853742 -57.762230,49.853824 -57.762982,49.853837 -57.763510,49.853789 -57.763911,49.853660 -57.764535,49.853557 -57.764981,49.853563 -57.765691,49.853630 -57.766194,49.853726 -57.766585,49.853840 -57.766781,49.853938 -57.767200,49.854034 -57.767604,49.854085 -57.767842,49.854138 -57.768260,49.854180 -57.768731,49.854096 -57.769490,49.853704 -57.770057,49.853502 -57.770776,49.853183 -57.771176,49.852973 -57.771780,49.852457 -57.772053,49.852158 -57.772177,49.852076 -57.772205,49.852058 -57.772323,49.851644 -57.772419,49.851517 -57.772444,49.851346 -57.772608,49.851174 -57.772979,49.850902 -57.773394,49.850728 -57.773504,49.850655 -57.773725,49.850582 -57.773946,49.850463 -57.774209,49.850381 -57.774485,49.850226 -57.774787,49.850008 -57.774911,49.849953 -57.775144,49.849736 -57.775393,49.849608 -57.775627,49.849445 -57.775820,49.849372 -57.775888,49.849263 -57.776054,49.849190 -57.776332,49.849188 -57.776567,49.849115 -57.776705,49.849033 -57.777120,49.848886 -57.777396,49.848758 -57.777729,49.848711 -57.778282,49.848465 -57.778474,49.848337 -57.778613,49.848310 -57.778682,49.848264 -57.779002,49.848271 -57.779045,49.848334 -57.779589,49.848429 -57.780061,49.848426 -57.780214,49.848371 -57.780226,49.848299 -57.780082,49.847985 -57.780193,49.847984 -57.780376,49.848100 -57.780530,49.848126 -57.780641,49.848134 -57.780988,49.848078 -57.781169,49.848076 -57.780827,49.848466 -57.780662,49.848566 -57.780236,49.848919 -57.779795,49.849174 -57.779397,49.849518 -57.778874,49.849855 -57.778435,49.850236 -57.777980,49.850472 -57.777816,49.850635 -57.777388,49.850845 -57.777155,49.851045 -57.776742,49.851326 -57.776275,49.851689 -57.775834,49.851944 -57.775545,49.852171 -57.775131,49.852362 -57.774732,49.852662 -57.774653,49.852959 -57.774619,49.853427 -57.774347,49.853816 -57.774183,49.854015 -57.774100,49.854015 -57.773851,49.854089 -57.773753,49.854072 -57.772862,49.854050 -57.772613,49.854142 -57.772504,49.854269 -57.772410,49.854476 -57.772385,49.854665 -57.772334,49.854944 -57.772337,49.855151 -57.772395,49.855304 -57.772399,49.855502 -57.772441,49.855573 -57.772414,49.855618 -57.772248,49.855656 -57.772111,49.855773 -57.771909,49.856197 -57.771858,49.856486 -57.771873,49.856566 -57.771915,49.856602 -57.771889,49.856701 -57.771834,49.856756 -57.771557,49.856829 -57.771349,49.856858 -57.771184,49.856958 -57.771004,49.857013 -57.770823,49.857032 -57.770202,49.857360 -57.769776,49.857678 -57.769447,49.857995 -57.769396,49.858265 -57.769538,49.858462 -57.769442,49.858543 -57.769026,49.858663 -57.768999,49.858690 -57.768925,49.859275 -57.768857,49.859384 -57.768761,49.859447 -57.768510,49.859431 -57.768400,49.859513 -57.768332,49.859603 -57.768166,49.859676 -57.768069,49.859686 -57.767901,49.859660 -57.767624,49.859725 -57.767335,49.859898 -57.767071,49.859953 -57.766935,49.860107 -57.766899,49.860521 -57.766931,49.860773 -57.767075,49.861078 -57.767036,49.861231 -57.766870,49.861331 -57.766676,49.861386 -57.766538,49.861459 -57.766205,49.861506 -57.766080,49.861489 -57.765900,49.861535 -57.765816,49.861518 -57.765720,49.861581 -57.765546,49.862050 -57.765508,49.862257 -57.765440,49.862375 -57.765316,49.862474 -57.765290,49.862591 -57.765002,49.862863 -57.764781,49.862937 -57.764697,49.862937 -57.764587,49.862992 -57.764436,49.863137 -57.764289,49.863533 -57.764013,49.863652 -57.763805,49.863708 -57.763225,49.863954 -57.763018,49.864108 -57.762827,49.864326 -57.762400,49.864598 -57.762386,49.864598 -57.761998,49.864709 -57.761888,49.864781 -57.761749,49.864809 -57.761666,49.864855 -57.761482,49.865486 -57.761412,49.865513 -57.761332,49.865721 -57.761111,49.865812 -57.760987,49.865894 -57.760796,49.866111 -57.760588,49.866157 -57.760422,49.866239 -57.760258,49.866402 -57.760106,49.866484 -57.759843,49.866576 -57.759748,49.866711 -57.759568,49.866811 -57.759474,49.867028 -57.759559,49.867126 -57.759438,49.867397 -57.759301,49.867515 -57.759192,49.867668 -57.759071,49.867957 -57.758976,49.868084 -57.758909,49.868264 -57.758800,49.868426 -57.758775,49.868580 -57.758583,49.868770 -57.758762,49.869515 -57.758904,49.869712 -57.759230,49.870070 -57.759384,49.870150 -57.759358,49.870249 -57.758524,49.870353 -57.758414,49.870444 -57.758443,49.870498 -57.758305,49.870588 -57.758293,49.870669 -57.694504,49.904843 -57.757043,49.917124 -57.778479,49.925653 -57.779853,49.926210 -57.779927,49.927316 -57.780138,49.928340 -57.780597,49.929156 -57.781311,49.930221 -57.782605,49.930950 -57.783952,49.931561 -57.785604,49.932036 -57.786877,49.932315 -57.789052,49.932426 -57.791770,49.932426 -57.792074,49.932307 -57.793152,49.931760 -57.793400,49.931596 -57.794064,49.931295 -57.794547,49.931022 -57.794961,49.930749 -57.795291,49.930495 -57.795609,49.930331 -57.795982,49.930175 -57.796477,49.929749 -57.796544,49.929614 -57.796776,49.929315 -57.796804,49.929297 -57.797122,49.929142 -57.797149,49.929124 -57.797673,49.928788 -57.797879,49.928570 -57.798126,49.928362 -57.798677,49.927998 -57.799012,49.928014 -57.798932,49.928212 -57.798647,49.928709 -57.798275,49.928954 -57.797796,49.929443 -57.797424,49.929743 -57.797138,49.930113 -57.796834,49.930268 -57.796726,49.930512 -57.796411,49.930811 -57.796053,49.931065 -57.795796,49.931526 -57.795328,49.931916 -57.794501,49.932443 -57.794114,49.932661 -57.792634,49.933319 -57.791841,49.933352 -57.791731,49.933469 -57.791803,49.933613 -57.791694,49.933784 -57.791198,49.934085 -57.790575,49.934341 -57.790441,49.934656 -57.790164,49.934802 -57.790347,49.934873 -57.790335,49.935008 -57.790114,49.935126 -57.790129,49.935198 -57.790005,49.935298 -57.789643,49.935318 -57.789476,49.935302 -57.789492,49.935454 -57.789355,49.935590 -57.789247,49.935825 -57.788972,49.936015 -57.788779,49.936188 -57.788741,49.936386 -57.788633,49.936584 -57.788029,49.937182 -57.787850,49.937300 -57.787552,49.937815 -57.787219,49.937925 -57.787403,49.938113 -57.787491,49.938355 -57.787231,49.938654 -57.787470,49.938796 -57.787349,49.939067 -57.786989,49.939195 -57.786809,49.939295 -57.786798,49.939421 -57.786843,49.939646 -57.786625,49.939962 -57.786504,49.940224 -57.786324,49.940288 -57.786186,49.940379 -57.786077,49.940523 -57.786206,49.940756 -57.786056,49.940946 -57.785411,49.941589 -57.785075,49.942329 -57.784896,49.942474 -57.784499,49.942926 -57.784237,49.943090 -57.784157,49.943289 -57.784028,49.943928 -57.783892,49.944145 -57.783728,49.944326 -57.783534,49.944426 -57.783282,49.944365 -57.783268,49.944347 -57.783100,49.944303 -57.782939,49.943836 -57.782936,49.943666 -57.782862,49.943378 -57.782901,49.943216 -57.782737,49.942534 -57.782405,49.941825 -57.782082,49.940793 -57.781616,49.939564 -57.781067,49.938390 -57.780258,49.937505 -57.778744,49.936948 -57.776894,49.936295 -57.775002,49.935624 -57.772582,49.935002 -57.771496,49.935099 -57.770635,49.935230 -57.770121,49.935351 -57.768884,49.935584 -57.768330,49.935758 -57.767762,49.935987 -57.766986,49.936244 -57.766544,49.936535 -57.766240,49.936654 -57.764844,49.937382 -57.764055,49.937702 -57.763931,49.937820 -57.763709,49.937902 -57.763115,49.938203 -57.762618,49.938503 -57.762136,49.938902 -57.761737,49.939193 -57.761116,49.939583 -57.760867,49.939711 -57.760482,49.940037 -57.760027,49.940328 -57.759559,49.940709 -57.759326,49.940998 -57.759134,49.941170 -57.758764,49.941587 -57.758585,49.941741 -57.758421,49.941940 -57.758179,49.942481 -57.757864,49.942825 -57.757473,49.943646 -57.757404,49.943736 -57.757406,49.943835 -57.757310,49.943917 -57.757228,49.944061 -57.756987,49.944701 -57.756677,49.945360 -57.756493,49.946054 -57.756438,49.946126 -57.756372,49.946324 -57.756348,49.946594 -57.756164,49.947333 -57.755949,49.948684 -57.755801,49.950843 -57.755650,49.951851 -57.755627,49.952193 -57.755628,49.952247 -57.755771,49.952480 -57.756013,49.952784 -57.756145,49.953224 -57.756216,49.953296 -57.756360,49.953565 -57.756362,49.953736 -57.756522,49.954148 -57.756795,49.954686 -57.757056,49.955296 -57.757169,49.955403 -57.757442,49.955914 -57.757570,49.956057 -57.757711,49.956164 -57.757867,49.956379 -57.758490,49.956969 -57.758717,49.957237 -57.758804,49.957407 -57.759071,49.957576 -57.759524,49.958014 -57.760243,49.958495 -57.760832,49.958743 -57.760903,49.958815 -57.761142,49.958903 -57.761311,49.959010 -57.761760,49.959196 -57.761872,49.959267 -57.762068,49.959320 -57.762279,49.959417 -57.762489,49.959470 -57.762854,49.959611 -57.763538,49.959679 -57.763733,49.959677 -57.763859,49.959704 -57.764473,49.959727 -57.764780,49.959770 -57.765313,49.959964 -57.765607,49.960016 -57.765901,49.960131 -57.766223,49.960201 -57.767220,49.960635 -57.767473,49.960786 -57.768173,49.960970 -57.768454,49.961094 -57.769026,49.961118 -57.769179,49.961090 -57.769566,49.960871 -57.769810,49.960447 -57.769875,49.960132 -57.769887,49.960006 -57.769968,49.959852 -57.770243,49.959589 -57.770573,49.959344 -57.770669,49.959236 -57.770976,49.959234 -57.771088,49.959305 -57.771330,49.959573 -57.771360,49.959726 -57.771337,49.960014 -57.771670,49.959949 -57.771827,49.960137 -57.771691,49.960389 -57.771472,49.960652 -57.771307,49.960761 -57.770977,49.961078 -57.770797,49.961133 -57.770593,49.961449 -57.770372,49.961576 -57.770333,49.961738 -57.770014,49.961894 -57.769948,49.962074 -57.769796,49.962174 -57.769635,49.962562 -57.769611,49.962805 -57.769907,49.963001 -57.769882,49.963199 -57.769907,49.963909 -57.769815,49.964251 -57.769667,49.964567 -57.769489,49.964820 -57.769379,49.964920 -57.769353,49.965037 -57.769468,49.965234 -57.769652,49.965413 -57.769962,49.965581 -57.770716,49.965693 -57.771391,49.965131 -57.771516,49.965103 -57.771655,49.965103 -57.771454,49.965590 -57.771358,49.965689 -57.771233,49.965735 -57.771234,49.965816 -57.771529,49.965958 -57.771934,49.965964 -57.772017,49.965910 -57.772083,49.965684 -57.772305,49.965656 -57.772541,49.965582 -57.772637,49.965492 -57.772749,49.965482 -57.772709,49.965635 -57.772558,49.965735 -57.772476,49.965835 -57.772365,49.965880 -57.772077,49.966179 -57.772106,49.966296 -57.772040,49.966494 -57.771904,49.966720 -57.771877,49.966747 -57.771765,49.966766 -57.771809,49.966891 -57.771784,49.967080 -57.771674,49.967180 -57.771635,49.967333 -57.771126,49.967777 -57.771113,49.967831 -57.771017,49.967922 -57.770599,49.967952 -57.770405,49.968034 -57.770524,49.968474 -57.770459,49.968762 -57.769759,49.969504 -57.769569,49.969802 -57.769462,49.970073 -57.769371,49.970487 -57.769303,49.970641 -57.769039,49.970660 -57.768846,49.970815 -57.768795,49.971112 -57.768462,49.972121 -57.561443,49.941136 -57.532588,49.931684 -57.534315,49.896275 -57.537202,49.896711 -57.542649,49.895759 -57.537140,49.887402 -57.534753,49.888043 -57.537258,49.836575 -57.519354,49.821627 -57.514437,49.823420 -57.513644,49.823370 -57.513895,49.820778 -57.514013,49.820067 -57.487152,49.797652 -57.488158,49.796794 -57.488217,49.795804 -57.486404,49.795164 -57.483865,49.795490 -57.461890,49.777132 -57.460807,49.743506 -57.458311,49.661233 -57.398512,49.622732 -57.460929,49.575944 -57.491418,49.576250 -57.493569,49.578364 -57.500027,49.578138 -57.499981,49.576340 -57.595435,49.577237 -57.596618,49.575549 -57.600527,49.575124 -57.603196,49.577305 -57.618825,49.577186 -57.615087,49.536199 -57.617249,49.535540 -57.619385,49.532893 -57.619636,49.527567 -57.617047,49.526114 -57.615965,49.526831 -57.613176,49.528168 -57.614669,49.511627 -57.553852,49.501194 -57.557639,49.497785 -57.556645,49.496639 -57.552678,49.496307 -57.549473,49.496232 -57.545923,49.494837 -57.536219,49.496546 -57.535440,49.497251 -57.534469,49.498083 -57.476838,49.488108 -57.520127,49.415359 -57.520598,49.414269 -57.531582,49.395941 -57.539815,49.396478 -57.539408,49.394564 -57.542810,49.393145 -57.547663,49.397017 -57.562460,49.397783 -57.562945,49.396818 -57.564916,49.398022 -57.652466,49.403669 -57.657858,49.403837 -57.669793,49.404748 -57.671183,49.403562 -57.673378,49.402785 -57.676499,49.403261 -57.677924,49.405628 -57.689019,49.407478 -57.738724,49.410940 -57.745928,49.411460 -57.745204,49.418283 -57.749718,49.422257 -57.784583,49.425219 -57.811448,49.419493 -57.823473,49.428637 -57.832639,49.421060 -57.842981,49.421048 -57.844392,49.415731 -57.836176,49.410105 -57.839384,49.407447 -57.868485,49.383251 -57.875613,49.377305 -57.882535,49.371477 -57.888722,49.366294 -57.895465,49.360656 -57.917015,49.342676 -57.923182,49.337536 -57.978310,49.291512 -57.986252,49.300134 -58.011169,49.313205 -58.014832,49.382301 -58.050823,49.399233 -58.054100,49.399068 -58.055250,49.401306 -58.083871,49.414750 -58.086560,49.416011 -58.074835,49.428408 -58.095031,49.438581 -58.121388,49.443888 -58.130227,49.437739 -58.144996,49.444664 -58.144468,49.446864 -58.140007,49.459132 -58.102355,49.463176 -58.104162,49.483380 -58.118266,49.492204 -58.121867,49.495083 -58.121771,49.495138 -58.121624,49.495338 -58.121601,49.495554 -58.121562,49.495644 -58.121400,49.495808 -58.121128,49.495990 -58.120402,49.496231 -58.119753,49.496237 -58.119546,49.496257 -58.118644,49.496680 -58.118427,49.496826 -58.118221,49.496900 -58.117576,49.497068 -58.117056,49.497271 -58.116617,49.497401 -58.116343,49.497512 -58.115724,49.497607 -58.114448,49.497998 -58.114094,49.498235 -58.114017,49.498469 -58.114008,49.498667 -58.113743,49.499156 -58.113708,49.499462 -58.113801,49.499929 -58.113802,49.499938 -58.113763,49.500046 -58.113763,49.500064 -58.113750,49.500082 -58.113613,49.500137 -58.113686,49.500308 -58.113593,49.500461 -58.113375,49.500625 -58.113168,49.500609 -58.113054,49.500458 -58.112819,49.500442 -58.112557,49.500489 -58.111651,49.500723 -58.111275,49.501194 -58.111057,49.501322 -58.110739,49.501316 -58.110408,49.501347 -58.110163,49.501493 -58.109889,49.501576 -58.109678,49.501426 -58.108988,49.501432 -58.108938,49.501685 -58.108704,49.501705 -58.108282,49.501961 -58.108101,49.501935 -58.107968,49.502126 -58.107652,49.502201 -58.107321,49.502240 -58.107046,49.502314 -58.107008,49.502459 -58.107137,49.502655 -58.106988,49.502774 -58.106699,49.502821 -58.106425,49.502932 -58.105900,49.502928 -58.105776,49.502929 -58.105557,49.503039 -58.105726,49.503181 -58.106031,49.503224 -58.105924,49.503360 -58.105650,49.503497 -58.105281,49.503636 -58.104981,49.503809 -58.104805,49.503982 -58.104988,49.504124 -58.104963,49.504250 -58.104357,49.504346 -58.104312,49.504148 -58.104158,49.504060 -58.103954,49.504215 -58.103620,49.504731 -58.103333,49.504859 -58.103002,49.504881 -58.102357,49.505085 -58.102180,49.505167 -58.102098,49.505204 -58.101923,49.505413 -58.101630,49.505901 -58.101397,49.506002 -58.101178,49.506058 -58.100852,49.506331 -58.100651,49.506576 -58.100495,49.507036 -58.100419,49.507334 -58.100143,49.507957 -58.100079,49.508201 -58.100138,49.508371 -58.100584,49.508538 -58.100311,49.508666 -58.099967,49.508741 -58.099665,49.508843 -58.099723,49.508942 -58.099918,49.509012 -58.100181,49.509027 -58.100497,49.508952 -58.100784,49.508851 -58.100938,49.508921 -58.100858,49.509057 -58.100709,49.509184 -58.100463,49.509303 -58.100370,49.509475 -58.100221,49.509603 -58.099517,49.509636 -58.099145,49.509685 -58.098817,49.509805 -58.098384,49.510214 -58.097648,49.510661 -58.097333,49.510781 -58.097101,49.510936 -58.096559,49.511382 -58.096244,49.511529 -58.095929,49.511631 -58.095167,49.512169 -58.095061,49.512377 -58.094801,49.512451 -58.094538,49.512436 -58.093691,49.512849 -58.093501,49.513030 -58.092871,49.513261 -58.092408,49.513553 -58.092466,49.513697 -58.092248,49.513843 -58.091946,49.513900 -58.091620,49.514182 -58.091562,49.514029 -58.091477,49.513931 -58.091285,49.514032 -58.091205,49.514149 -58.090717,49.514577 -58.090526,49.514651 -58.090545,49.514282 -58.090417,49.514121 -58.090248,49.513988 -58.090081,49.513899 -58.090050,49.513756 -58.089802,49.513794 -58.088773,49.514109 -58.088499,49.514229 -58.088240,49.514375 -58.088064,49.514530 -58.088096,49.514718 -58.088181,49.514817 -58.088240,49.514996 -58.087966,49.515124 -58.087623,49.515200 -58.087473,49.515300 -58.087546,49.515470 -58.087688,49.515640 -58.087954,49.515790 -58.088054,49.515960 -58.087778,49.515954 -58.087485,49.515840 -58.087233,49.515698 -58.086928,49.515647 -58.086652,49.515676 -58.086448,49.515822 -58.086321,49.515707 -58.086290,49.515554 -58.086085,49.515628 -58.085951,49.515800 -58.085734,49.515982 -58.085461,49.516146 -58.085188,49.516293 -58.085022,49.516294 -58.085550,49.515813 -58.085574,49.515660 -58.085326,49.515662 -58.085052,49.515763 -58.084806,49.515892 -58.084357,49.516211 -58.084076,49.516636 -58.083846,49.516836 -58.083560,49.517010 -58.083453,49.517200 -58.083303,49.517300 -58.082801,49.517062 -58.082217,49.516896 -58.081594,49.516830 -58.080676,49.517181 -58.079949,49.517412 -58.079689,49.517559 -58.079665,49.517703 -58.079915,49.517772 -58.080140,49.517950 -58.080157,49.518094 -58.080313,49.518263 -58.080233,49.518417 -58.079997,49.518356 -58.079787,49.518223 -58.079620,49.518153 -58.079525,49.518244 -58.079570,49.518414 -58.079685,49.518593 -58.079549,49.518711 -58.079245,49.518696 -58.079048,49.518563 -58.078948,49.518402 -58.078520,49.518424 -58.078385,49.518578 -58.078242,49.518948 -58.078314,49.519092 -58.078205,49.519147 -58.077743,49.518872 -58.077454,49.518929 -58.076894,49.519231 -58.076476,49.519693 -58.076357,49.519937 -58.076348,49.520171 -58.076545,49.520314 -58.077020,49.520552 -58.076828,49.520653 -58.076609,49.520727 -58.076514,49.520826 -58.076558,49.520925 -58.075881,49.520913 -58.075441,49.521016 -58.075613,49.521303 -58.075135,49.521550 -58.075082,49.521658 -58.075251,49.521801 -58.075074,49.521919 -58.074799,49.522003 -58.074536,49.521969 -58.074409,49.521863 -58.074106,49.521910 -58.073844,49.521913 -58.073612,49.522059 -58.073116,49.522135 -58.072649,49.522239 -58.072370,49.522142 -58.072110,49.522226 -58.071878,49.522372 -58.071615,49.522365 -58.071340,49.522431 -58.071275,49.522620 -58.071035,49.523018 -58.070971,49.523244 -58.071031,49.523441 -58.071200,49.523583 -58.071286,49.523726 -58.071537,49.523823 -58.071636,49.523948 -58.071390,49.524049 -58.070716,49.524217 -58.070425,49.524184 -58.070138,49.524295 -58.069647,49.524632 -58.069483,49.524679 -58.069319,49.524779 -58.068947,49.524810 -58.068784,49.524955 -58.068871,49.525125 -58.068916,49.525314 -58.068754,49.525495 -58.068562,49.525551 -58.068440,49.525669 -58.068514,49.525866 -58.068335,49.525922 -58.068087,49.525942 -58.067918,49.525790 -58.067723,49.525729 -58.067505,49.525893 -58.067269,49.525832 -58.067168,49.525635 -58.067178,49.525455 -58.066927,49.525368 -58.066625,49.525416 -58.065978,49.525565 -58.065634,49.525596 -58.065360,49.525724 -58.064764,49.525631 -58.064405,49.525652 -58.064061,49.525709 -58.063717,49.525811 -58.063389,49.525958 -58.063144,49.526140 -58.062779,49.526485 -58.062658,49.526648 -58.062495,49.526785 -58.061864,49.527007 -58.061628,49.526955 -58.061380,49.526966 -58.061079,49.527113 -58.060879,49.527465 -58.060590,49.527513 -58.060093,49.527545 -58.060027,49.527689 -58.059809,49.527835 -58.059575,49.527864 -58.059243,49.527867 -58.059047,49.527752 -58.058797,49.527673 -58.058604,49.527693 -58.058219,49.527778 -58.057959,49.527906 -58.057483,49.528279 -58.057336,49.528478 -58.057308,49.528478 -58.057217,49.528722 -58.057286,49.528749 -58.057345,49.528910 -58.057543,49.529115 -58.057671,49.529303 -58.057509,49.529448 -58.057277,49.529585 -58.057170,49.529775 -58.056910,49.529885 -58.056620,49.529879 -58.056472,49.530078 -58.056226,49.530233 -58.055966,49.530335 -58.055689,49.530310 -58.055415,49.530430 -58.055063,49.530775 -58.054818,49.530930 -58.054712,49.531120 -58.054414,49.531401 -58.054361,49.531546 -58.054085,49.531557 -58.053962,49.531621 -58.054077,49.531818 -58.054081,49.531998 -58.053877,49.532162 -58.053684,49.532173 -58.053613,49.532074 -58.053201,49.532204 -58.052949,49.532080 -58.052850,49.531937 -58.052972,49.531828 -58.052764,49.531812 -58.052557,49.531832 -58.052296,49.531915 -58.051765,49.532289 -58.051451,49.532436 -58.051262,49.532680 -58.051018,49.532862 -58.050792,49.533305 -58.050587,49.533397 -58.050324,49.533408 -58.050105,49.533482 -58.049882,49.533376 -58.049671,49.533207 -58.049482,49.532795 -58.049355,49.532671 -58.049323,49.532482 -58.049030,49.532341 -58.048324,49.532293 -58.047980,49.532350 -58.047620,49.532327 -58.047276,49.532375 -58.046562,49.532624 -58.045892,49.532945 -58.045549,49.533083 -58.045018,49.533447 -58.044884,49.533629 -58.044885,49.533701 -58.044888,49.533817 -58.044712,49.533972 -58.044795,49.534637 -58.044619,49.534827 -58.044414,49.534928 -58.044431,49.535099 -58.043841,49.535257 -58.043485,49.535431 -58.042148,49.536235 -58.041848,49.536453 -58.041305,49.536926 -58.040846,49.537443 -58.040700,49.537696 -58.040455,49.537896 -58.040140,49.538043 -58.039855,49.538288 -58.039601,49.538659 -58.038680,49.540242 -58.038471,49.540783 -58.038316,49.541324 -58.038197,49.541577 -58.038009,49.541840 -58.037132,49.542828 -58.036846,49.543056 -58.036150,49.543449 -58.035836,49.543676 -58.035349,49.544175 -58.034790,49.544504 -58.034076,49.544772 -58.033776,49.544954 -58.033446,49.545047 -58.033228,49.545202 -58.033081,49.545419 -58.032822,49.545574 -58.032518,49.545595 -58.032273,49.545777 -58.031615,49.546071 -58.030959,49.546427 -58.030483,49.546800 -58.030224,49.546965 -58.030075,49.547101 -58.029392,49.547494 -58.028958,49.547911 -58.028469,49.548294 -58.028106,49.548783 -58.027673,49.549254 -58.026802,49.549883 -58.026585,49.550082 -58.026158,49.550842 -58.025739,49.551304 -58.025237,49.551758 -58.024434,49.552350 -58.023900,49.552625 -58.023479,49.552952 -58.023258,49.552999 -58.022943,49.553110 -58.022614,49.553257 -58.020958,49.554081 -58.020685,49.554254 -58.020280,49.554699 -58.020284,49.554923 -58.020446,49.555363 -58.020364,49.555444 -58.020083,49.555186 -58.019860,49.555143 -58.019571,49.555191 -58.018938,49.555349 -58.018678,49.555450 -58.018169,49.555581 -58.017892,49.555556 -58.017367,49.555588 -58.016911,49.555592 -58.016538,49.555622 -58.016194,49.555697 -58.015920,49.555816 -58.015730,49.555998 -58.015455,49.556063 -58.015277,49.556173 -58.015125,49.556165 -58.014944,49.556095 -58.014381,49.556298 -58.014064,49.556327 -58.013759,49.556276 -58.013235,49.556371 -58.012781,49.556455 -58.012463,49.556485 -58.012202,49.556559 -58.011938,49.556472 -58.011676,49.556528 -58.011374,49.556639 -58.010909,49.556877 -58.010560,49.556700 -58.010312,49.556756 -58.010049,49.556758 -58.009801,49.556805 -58.009610,49.556906 -58.009461,49.557060 -58.009268,49.557080 -58.009288,49.556711 -58.009228,49.556513 -58.008978,49.556426 -58.008688,49.556446 -58.008369,49.556422 -58.008008,49.556362 -58.007688,49.556266 -58.007328,49.556233 -58.006983,49.556263 -58.006667,49.556338 -58.006434,49.556466 -58.006228,49.556540 -58.006035,49.556523 -58.005814,49.556570 -58.005477,49.556285 -58.005184,49.556180 -58.004476,49.556024 -58.004102,49.555991 -58.003646,49.556022 -58.003398,49.556078 -58.003125,49.556225 -58.002920,49.556370 -58.002413,49.556600 -58.002237,49.556772 -58.002097,49.556656 -58.002080,49.556531 -58.001940,49.556415 -58.001663,49.556408 -58.001332,49.556465 -58.001002,49.556567 -58.000905,49.556559 -58.000439,49.556734 -58.000177,49.556763 -58.000024,49.556737 -57.999996,49.556720 -57.999968,49.556720 -57.999858,49.556703 -57.999538,49.556634 -57.999178,49.556583 -57.999150,49.556574 -57.998970,49.556567 -57.998942,49.556558 -57.998762,49.556559 -57.998348,49.556590 -57.998100,49.556637 -57.998086,49.556637 -57.997935,49.556665 -57.997535,49.556741 -57.997123,49.556843 -57.996766,49.556963 -57.996382,49.557120 -57.996012,49.557294 -57.995628,49.557477 -57.995287,49.557669 -57.994945,49.557869 -57.994604,49.558115 -57.994304,49.558325 -57.993977,49.558543 -57.993746,49.558743 -57.993515,49.558934 -57.993210,49.558910 -57.992935,49.558993 -57.992644,49.558942 -57.992341,49.559016 -57.992109,49.559144 -57.991862,49.559272 -57.991572,49.559293 -57.991267,49.559250 -57.991033,49.559297 -57.990856,49.559452 -57.990639,49.559624 -57.990223,49.559583 -57.989848,49.559487 -57.989418,49.559419 -57.989016,49.559378 -57.988573,49.559354 -57.988144,49.559349 -57.987785,49.559388 -57.987494,49.559355 -57.987340,49.559230 -57.987049,49.559232 -57.986747,49.559316 -57.986596,49.559389 -57.986586,49.559560 -57.986378,49.559562 -57.986127,49.559438 -57.985822,49.559396 -57.985490,49.559372 -57.985145,49.559402 -57.984814,49.559449 -57.984526,49.559578 -57.984220,49.559490 -57.983889,49.559538 -57.983530,49.559559 -57.983142,49.559518 -57.982782,49.559503 -57.982409,49.559497 -57.982089,49.559428 -57.981799,49.559430 -57.981510,49.559504 -57.981219,49.559489 -57.980942,49.559446 -57.980665,49.559413 -57.980333,49.559415 -57.980015,49.559418 -57.979683,49.559403 -57.979391,49.559351 -57.979181,49.559227 -57.979053,49.559030 -57.978967,49.558869 -57.978784,49.558745 -57.978520,49.558648 -57.978337,49.558497 -57.978181,49.558309 -57.977956,49.558113 -57.977648,49.557918 -57.977326,49.557732 -57.976991,49.557582 -57.976894,49.557547 -57.976657,49.557459 -57.976296,49.557363 -57.975934,49.557276 -57.975573,49.557171 -57.975293,49.557011 -57.975028,49.556879 -57.974803,49.556719 -57.974538,49.556613 -57.974274,49.556543 -57.974094,49.556527 -57.973913,49.556474 -57.973871,49.556430 -57.973759,49.556377 -57.973564,49.556306 -57.973329,49.556281 -57.973092,49.556184 -57.972882,49.556069 -57.972727,49.555918 -57.972434,49.555794 -57.972237,49.555625 -57.972096,49.555455 -57.971816,49.555269 -57.971577,49.555091 -57.971311,49.554922 -57.970893,49.554782 -57.970490,49.554668 -57.970060,49.554573 -57.969615,49.554469 -57.969240,49.554373 -57.968932,49.554204 -57.968612,49.554108 -57.968181,49.553977 -57.967750,49.553846 -57.967319,49.553732 -57.966903,49.553655 -57.966514,49.553586 -57.966111,49.553454 -57.965763,49.553322 -57.965484,49.553208 -57.965411,49.553029 -57.965186,49.552842 -57.964824,49.552692 -57.964475,49.552551 -57.964044,49.552428 -57.963682,49.552269 -57.963319,49.552101 -57.962944,49.552024 -57.962638,49.551909 -57.962345,49.551777 -57.962010,49.551636 -57.961649,49.551567 -57.961315,49.551444 -57.960967,49.551329 -57.960591,49.551180 -57.960229,49.551039 -57.959881,49.550916 -57.959532,49.550748 -57.959197,49.550580 -57.958916,49.550384 -57.958735,49.550287 -57.958581,49.550198 -57.958192,49.550093 -57.957803,49.549979 -57.957467,49.549811 -57.957118,49.549634 -57.956743,49.549521 -57.956367,49.549398 -57.956032,49.549212 -57.955724,49.549034 -57.955431,49.548893 -57.955165,49.548724 -57.955036,49.548473 -57.954892,49.548187 -57.954679,49.547918 -57.954411,49.547651 -57.954076,49.547438 -57.953740,49.547261 -57.953364,49.547120 -57.953030,49.546979 -57.952655,49.546901 -57.952335,49.546804 -57.952057,49.546735 -57.951823,49.546764 -57.951669,49.546666 -57.951096,49.546356 -57.950818,49.546286 -57.950539,49.546163 -57.950274,49.546030 -57.949913,49.545961 -57.949648,49.545819 -57.949523,49.545784 -57.949314,49.545723 -57.949063,49.545599 -57.948757,49.545512 -57.948396,49.545434 -57.948035,49.545320 -57.947645,49.545197 -57.947242,49.545074 -57.946867,49.544978 -57.946533,49.544846 -57.946225,49.544669 -57.945890,49.544501 -57.945583,49.544332 -57.945484,49.544252 -57.945247,49.544137 -57.944967,49.543968 -57.944715,49.543800 -57.944422,49.543622 -57.944129,49.543481 -57.943836,49.543339 -57.943262,49.542993 -57.942969,49.542824 -57.942689,49.542656 -57.942436,49.542460 -57.942225,49.542228 -57.942014,49.542050 -57.941735,49.541908 -57.941482,49.541730 -57.941285,49.541525 -57.941115,49.541319 -57.940905,49.541150 -57.940626,49.541035 -57.940346,49.540858 -57.940135,49.540662 -57.939993,49.540465 -57.939741,49.540305 -57.939463,49.540199 -57.939266,49.540030 -57.939055,49.539861 -57.938790,49.539719 -57.938525,49.539604 -57.938260,49.539472 -57.938050,49.539329 -57.937881,49.539169 -57.937670,49.539000 -57.937433,49.538894 -57.937156,49.538824 -57.936892,49.538754 -57.936600,49.538658 -57.936334,49.538507 -57.936029,49.538446 -57.935778,49.538340 -57.935526,49.538171 -57.935246,49.538003 -57.934995,49.537888 -57.934691,49.537881 -57.934360,49.537911 -57.934044,49.537986 -57.933755,49.538087 -57.933478,49.538071 -57.933214,49.537965 -57.932964,49.537895 -57.932713,49.537798 -57.932463,49.537728 -57.932224,49.537532 -57.931945,49.537364 -57.931720,49.537168 -57.931564,49.536980 -57.931314,49.536883 -57.931021,49.536769 -57.930715,49.536636 -57.930463,49.536467 -57.930431,49.536270 -57.930345,49.536126 -57.929509,49.535764 -57.929175,49.535623 -57.928868,49.535473 -57.928575,49.535304 -57.928296,49.535180 -57.927990,49.535066 -57.927682,49.534897 -57.927430,49.534702 -57.927163,49.534488 -57.926966,49.534265 -57.926686,49.534087 -57.926405,49.533846 -57.926138,49.533615 -57.925941,49.533418 -57.926076,49.533291 -57.925977,49.533121 -57.925711,49.532943 -57.925498,49.532684 -57.925455,49.532595 -57.925355,49.532434 -57.925198,49.532138 -57.925041,49.531878 -57.924870,49.531610 -57.924658,49.531378 -57.924460,49.531118 -57.924263,49.530913 -57.924189,49.530698 -57.924229,49.530572 -57.924045,49.530375 -57.923780,49.530233 -57.932141,49.528781 -57.934639,49.511230 -57.950078,49.488140 -57.923734,49.458067 -57.917662,49.432920 -57.920376,49.423183 -57.912254,49.418013 -57.895792,49.428639 -57.890373,49.431721 -57.887957,49.433098 -57.885908,49.434220 -57.885290,49.434377 -57.884478,49.434456 -57.883913,49.434469 -57.882753,49.434424 -57.881647,49.434261 -57.879706,49.433709 -57.879360,49.433667 -57.878506,49.433692 -57.878146,49.433631 -57.877553,49.433627 -57.877293,49.433728 -57.877019,49.433874 -57.876979,49.433937 -57.877022,49.434009 -57.877270,49.434025 -57.877392,49.433880 -57.877487,49.433825 -57.877888,49.433876 -57.878247,49.433873 -57.878496,49.433899 -57.878621,49.433943 -57.878858,49.434085 -57.878945,49.434327 -57.878895,49.434660 -57.878900,49.434903 -57.878848,49.435119 -57.878729,49.435390 -57.878378,49.435833 -57.878148,49.436033 -57.878037,49.436007 -57.877855,49.435864 -57.877742,49.435712 -57.877640,49.435425 -57.877485,49.435228 -57.877318,49.435131 -57.876902,49.435044 -57.875839,49.434944 -57.875493,49.434893 -57.875355,49.434894 -57.875328,49.434930 -57.875301,49.434957 -57.875509,49.435028 -57.876132,49.435140 -57.876421,49.435138 -57.876947,49.435206 -57.877462,49.435498 -57.877493,49.435678 -57.877678,49.435983 -57.877860,49.436152 -57.877971,49.436187 -57.878069,49.436249 -57.878084,49.436330 -57.878018,49.436502 -57.877896,49.436647 -57.877598,49.436919 -57.877379,49.437037 -57.877078,49.437174 -57.876612,49.437304 -57.876118,49.437497 -57.875709,49.437752 -57.875353,49.437871 -57.875285,49.437917 -57.875300,49.437998 -57.875427,49.438167 -57.875511,49.438221 -57.875608,49.438238 -57.876022,49.438280 -57.876479,49.438384 -57.876577,49.438447 -57.876635,49.438599 -57.876650,49.438698 -57.876892,49.439110 -57.876962,49.439181 -57.877171,49.439279 -57.877517,49.439357 -57.877918,49.439372 -57.878179,49.439352 -57.878303,49.439324 -57.878536,49.439223 -57.878701,49.439195 -57.878885,49.439491 -57.879082,49.439714 -57.879430,49.439882 -57.880151,49.440075 -57.880442,49.440126 -57.880952,49.440140 -57.881450,49.440236 -57.882226,49.440428 -57.882560,49.440596 -57.883074,49.440781 -57.883323,49.440815 -57.883806,49.440811 -57.883944,49.440828 -57.884264,49.440952 -57.884320,49.441005 -57.884348,49.441023 -57.884433,49.441193 -57.884740,49.441389 -57.884962,49.441459 -57.885447,49.441536 -57.885921,49.441847 -57.886496,49.442356 -57.887125,49.442819 -57.888245,49.443746 -57.888931,49.444253 -57.889353,49.444745 -57.889523,49.444986 -57.890280,49.445628 -57.890534,49.445932 -57.890617,49.445985 -57.890703,49.446155 -57.890197,49.447167 -57.890159,49.447338 -57.890209,49.447832 -57.890479,49.448244 -57.890441,49.448415 -57.890487,49.448667 -57.890752,49.448863 -57.891170,49.449057 -57.891771,49.449520 -57.891828,49.449583 -57.891943,49.449852 -57.891917,49.449933 -57.891755,49.450159 -57.891522,49.450233 -57.891221,49.450379 -57.890759,49.450778 -57.890516,49.451032 -57.890283,49.451124 -57.890256,49.451196 -57.890342,49.451339 -57.890246,49.451394 -57.890012,49.451414 -57.889902,49.451451 -57.889834,49.451514 -57.889808,49.451595 -57.889659,49.451740 -57.889788,49.451982 -57.889821,49.452279 -57.889795,49.452360 -57.889576,49.452461 -57.889249,49.452724 -57.889002,49.452780 -57.888715,49.452962 -57.888444,49.453198 -57.888087,49.453300 -57.887663,49.453528 -57.887542,49.453700 -57.887572,49.453798 -57.887669,49.453843 -57.887629,49.453924 -57.887413,49.454168 -57.887166,49.454269 -57.887112,49.454342 -57.887105,49.454710 -57.887038,49.454810 -57.886942,49.454856 -57.886806,49.454938 -57.886738,49.455010 -57.886726,49.455100 -57.886439,49.455264 -57.886250,49.455500 -57.886201,49.455824 -57.886176,49.456732 -57.886205,49.456813 -57.886275,49.456876 -57.886431,49.457117 -57.886296,49.457271 -57.886104,49.457372 -57.886037,49.457444 -57.885759,49.458130 -57.885748,49.458292 -57.885778,49.458382 -57.885904,49.458524 -57.886086,49.458649 -57.886336,49.458728 -57.886435,49.458889 -57.886519,49.458961 -57.886687,49.459058 -57.886811,49.459084 -57.886949,49.459083 -57.887107,49.459406 -57.887115,49.459846 -57.887144,49.459945 -57.887257,49.460070 -57.887677,49.460382 -57.887788,49.460426 -57.888131,49.460324 -57.888242,49.460378 -57.888273,49.460530 -57.888329,49.460602 -57.888441,49.460664 -57.888484,49.460744 -57.888491,49.461131 -57.888650,49.461553 -57.888859,49.461650 -57.889027,49.461775 -57.889154,49.461945 -57.889368,49.462339 -57.889417,49.462752 -57.889391,49.462851 -57.889297,49.462996 -57.889278,49.463437 -57.889320,49.463509 -57.889404,49.463562 -57.889777,49.463586 -57.889861,49.463639 -57.890201,49.464149 -57.890209,49.464590 -57.890266,49.464662 -57.890796,49.464954 -57.891050,49.465294 -57.891429,49.465660 -57.891820,49.465900 -57.892029,49.465997 -57.892099,49.466069 -57.892116,49.466239 -57.892449,49.466309 -57.892546,49.466362 -57.892715,49.466532 -57.892923,49.466611 -57.893007,49.466673 -57.893375,49.467138 -57.893543,49.467263 -57.893726,49.467486 -57.893723,49.468053 -57.893981,49.468618 -57.894136,49.468787 -57.894804,49.469070 -57.894915,49.469096 -57.895202,49.468950 -57.895354,49.468940 -57.895423,49.468984 -57.895607,49.469235 -57.895666,49.469432 -57.895878,49.469674 -57.896113,49.469726 -57.896333,49.469661 -57.896471,49.469651 -57.896581,49.469668 -57.896679,49.469739 -57.896905,49.470016 -57.897026,49.470555 -57.897068,49.470627 -57.897320,49.470823 -57.897445,49.470849 -57.897832,49.470864 -57.897929,49.470917 -57.898128,49.471212 -57.898296,49.471355 -57.898367,49.471453 -57.898370,49.471606 -57.898611,49.471946 -57.899384,49.472723 -57.899457,49.472911 -57.899611,49.473063 -57.899820,49.473142 -57.899930,49.473132 -57.900027,49.473158 -57.900223,49.473310 -57.900626,49.473451 -57.900682,49.473504 -57.900825,49.473773 -57.900929,49.474159 -57.901078,49.474032 -57.901188,49.474004 -57.901258,49.474057 -57.901344,49.474210 -57.901461,49.474595 -57.901478,49.474766 -57.901398,49.474920 -57.901100,49.475192 -57.900997,49.475615 -57.900820,49.475752 -57.900988,49.475858 -57.901016,49.475930 -57.901004,49.476020 -57.900842,49.476228 -57.900805,49.476427 -57.900548,49.476716 -57.900522,49.476798 -57.900530,49.477229 -57.900631,49.477480 -57.900939,49.477748 -57.901788,49.478128 -57.902236,49.478421 -57.902889,49.478659 -57.903283,49.479079 -57.903478,49.479194 -57.903866,49.479254 -57.904266,49.479251 -57.904390,49.479223 -57.904582,49.479141 -57.904811,49.478851 -57.904893,49.478796 -57.905004,49.478840 -57.905550,49.479232 -57.905978,49.479238 -57.906450,49.479396 -57.906852,49.479447 -57.907047,49.479562 -57.907324,49.479596 -57.907408,49.479667 -57.907354,49.479757 -57.907205,49.479903 -57.907041,49.480012 -57.906975,49.480174 -57.906977,49.480255 -57.907134,49.480551 -57.907125,49.480794 -57.907310,49.481116 -57.907620,49.481428 -57.908049,49.481470 -57.908344,49.481765 -57.908442,49.481818 -57.908553,49.481844 -57.908912,49.481859 -57.909671,49.481835 -57.910557,49.481963 -57.910820,49.482024 -57.910904,49.482086 -57.911042,49.482085 -57.911262,49.482020 -57.911359,49.482056 -57.911499,49.482180 -57.912010,49.482185 -57.912426,49.482245 -57.912675,49.482297 -57.913259,49.482535 -57.913647,49.482586 -57.913803,49.482828 -57.913821,49.483026 -57.913756,49.483269 -57.913758,49.483368 -57.913816,49.483511 -57.913764,49.483710 -57.913717,49.484151 -57.913817,49.484321 -57.913819,49.484402 -57.913739,49.484556 -57.913727,49.484646 -57.913840,49.484789 -57.913786,49.484870 -57.913677,49.484943 -57.913593,49.484862 -57.913322,49.485161 -57.913324,49.485260 -57.913422,49.485314 -57.913781,49.485365 -57.913893,49.485409 -57.913963,49.485480 -57.913939,49.485651 -57.913791,49.485895 -57.913490,49.486033 -57.913369,49.486178 -57.913343,49.486268 -57.913442,49.486411 -57.913388,49.486492 -57.913169,49.486566 -57.913101,49.486638 -57.912595,49.486912 -57.912265,49.486987 -57.911879,49.486990 -57.911769,49.487027 -57.910984,49.487123 -57.910462,49.487280 -57.910256,49.487353 -57.909846,49.487573 -57.909282,49.487685 -57.908541,49.487961 -57.908035,49.488207 -57.907390,49.488401 -57.907157,49.488502 -57.906898,49.488702 -57.906788,49.488739 -57.906513,49.488759 -57.906033,49.488952 -57.905483,49.489082 -57.905235,49.489111 -57.904094,49.489399 -57.903889,49.489508 -57.903755,49.489716 -57.903549,49.489808 -57.903219,49.489882 -57.902660,49.490219 -57.902192,49.490313 -57.902000,49.490413 -57.901865,49.490540 -57.901811,49.490631 -57.901924,49.490756 -57.901876,49.491152 -57.901946,49.491223 -57.902043,49.491250 -57.902253,49.491374 -57.902340,49.491616 -57.902453,49.491741 -57.902564,49.491803 -57.902689,49.491838 -57.902909,49.491783 -57.903132,49.491862 -57.903188,49.491933 -57.903204,49.492023 -57.903111,49.492231 -57.902676,49.492639 -57.902555,49.492811 -57.902351,49.492992 -57.902011,49.493265 -57.901629,49.493484 -57.901453,49.493710 -57.901101,49.494054 -57.900650,49.494337 -57.900630,49.494742 -57.900466,49.494842 -57.900219,49.494943 -57.899304,49.495490 -57.899070,49.495527 -57.898672,49.495674 -57.898427,49.495865 -57.898388,49.496018 -57.898392,49.496189 -57.898451,49.496432 -57.898551,49.496584 -57.898552,49.496656 -57.898417,49.496828 -57.898186,49.497027 -57.898146,49.497100 -57.898036,49.497155 -57.897926,49.497146 -57.897412,49.497015 -57.897288,49.497034 -57.896839,49.497353 -57.896925,49.497523 -57.897065,49.497648 -57.897094,49.497720 -57.897095,49.497792 -57.896988,49.497972 -57.896977,49.498125 -57.896923,49.498216 -57.896801,49.498343 -57.896377,49.498562 -57.896200,49.498689 -57.896090,49.498690 -57.895978,49.498646 -57.895854,49.498638 -57.895731,49.498693 -57.895663,49.498765 -57.895604,49.499341 -57.895488,49.499774 -57.895134,49.500046 -57.895134,49.500064 -57.895121,49.500083 -57.894903,49.500291 -57.894741,49.500490 -57.894660,49.500563 -57.894578,49.500626 -57.894361,49.500817 -57.894129,49.501017 -57.893912,49.501189 -57.893653,49.501380 -57.893350,49.501463 -57.893089,49.501510 -57.892798,49.501486 -57.892798,49.501495 -57.892662,49.501613 -57.892597,49.501793 -57.892532,49.502027 -57.892481,49.502253 -57.892415,49.502460 -57.892281,49.502668 -57.892132,49.502849 -57.891847,49.503094 -57.891616,49.503303 -57.891385,49.503512 -57.891140,49.503720 -57.890854,49.503920 -57.890567,49.504111 -57.890294,49.504284 -57.889979,49.504431 -57.889650,49.504559 -57.889278,49.504634 -57.888933,49.504646 -57.888603,49.504711 -57.888315,49.504839 -57.887984,49.504869 -57.887653,49.504871 -57.887308,49.504901 -57.887004,49.504921 -57.886702,49.504978 -57.886344,49.505079 -57.885973,49.505154 -57.885587,49.505202 -57.885215,49.505241 -57.885064,49.505305 -57.884899,49.505387 -57.884763,49.505478 -57.884572,49.505606 -57.884298,49.505752 -57.883983,49.505880 -57.883682,49.506026 -57.883367,49.506209 -57.883066,49.506364 -57.882724,49.506555 -57.882423,49.506710 -57.882122,49.506884 -57.881919,49.507074 -57.881716,49.507301 -57.881527,49.507545 -57.881351,49.507789 -57.881218,49.508042 -57.881139,49.508294 -57.880950,49.508512 -57.880747,49.508729 -57.880625,49.508874 -57.880490,49.509055 -57.880315,49.509299 -57.880097,49.509499 -57.879852,49.509698 -57.879593,49.509844 -57.879263,49.509946 -57.878919,49.510029 -57.878574,49.510050 -57.878228,49.510035 -57.877868,49.509983 -57.877244,49.509817 -57.876965,49.509693 -57.876715,49.509596 -57.876481,49.509625 -57.876234,49.509744 -57.876002,49.509899 -57.875756,49.510071 -57.875552,49.510244 -57.875417,49.510425 -57.875433,49.510541 -57.875435,49.510640 -57.875493,49.510820 -57.875593,49.511008 -57.875721,49.511178 -57.875958,49.511320 -57.876236,49.511426 -57.876418,49.511541 -57.876227,49.511660 -57.875911,49.511743 -57.875581,49.511836 -57.875251,49.511919 -57.874948,49.511993 -57.874632,49.512068 -57.874301,49.512097 -57.873995,49.512010 -57.873493,49.511734 -57.873310,49.511565 -57.873238,49.511413 -57.873235,49.511224 -57.873219,49.511071 -57.873105,49.510883 -57.872977,49.510704 -57.873071,49.510532 -57.873550,49.510313 -57.873839,49.510230 -57.874155,49.510137 -57.874360,49.510010 -57.874509,49.509838 -57.874783,49.509737 -57.875087,49.509708 -57.875195,49.509563 -57.875177,49.509365 -57.875091,49.509195 -57.874937,49.509070 -57.874729,49.509018 -57.874534,49.508902 -57.874532,49.508821 -57.874531,49.508731 -57.874652,49.508577 -57.874663,49.508380 -57.874549,49.508218 -57.874353,49.508049 -57.874171,49.507907 -57.873948,49.507800 -57.873670,49.507730 -57.873434,49.507660 -57.873226,49.507608 -57.872989,49.507511 -57.872713,49.507486 -57.872451,49.507524 -57.872189,49.507553 -57.871954,49.507518 -57.871690,49.507475 -57.871400,49.507451 -57.871178,49.507380 -57.870915,49.507355 -57.870707,49.507339 -57.870472,49.507332 -57.870348,49.507351 -57.870224,49.507361 -57.869771,49.507535 -57.869511,49.507663 -57.869293,49.507808 -57.869033,49.507945 -57.868731,49.508046 -57.868414,49.508094 -57.868083,49.508159 -57.867740,49.508243 -57.867410,49.508344 -57.867094,49.508463 -57.866792,49.508565 -57.866517,49.508648 -57.866229,49.508749 -57.866050,49.508795 -57.865940,49.508814 -57.865624,49.508915 -57.864951,49.509100 -57.864621,49.509220 -57.864305,49.509330 -57.863990,49.509449 -57.863702,49.509595 -57.863429,49.509768 -57.863156,49.509923 -57.862869,49.510096 -57.862581,49.510269 -57.862308,49.510442 -57.862035,49.510615 -57.861762,49.510788 -57.861502,49.510961 -57.861243,49.511134 -57.861011,49.511315 -57.860836,49.511542 -57.860769,49.511704 -57.860648,49.511858 -57.860472,49.512048 -57.860295,49.512229 -57.860078,49.512447 -57.859832,49.512619 -57.859573,49.512774 -57.859243,49.512876 -57.858885,49.512950 -57.858554,49.512971 -57.858222,49.512973 -57.857904,49.512958 -57.857656,49.512968 -57.857520,49.513086 -57.857314,49.513205 -57.857025,49.513261 -57.856748,49.513209 -57.856472,49.513211 -57.856211,49.513294 -57.855922,49.513386 -57.855646,49.513388 -57.855438,49.513345 -57.855380,49.513192 -57.855200,49.513184 -57.855047,49.513105 -57.854907,49.512989 -57.854781,49.512882 -57.854722,49.512693 -57.854553,49.512515 -57.854329,49.512354 -57.854079,49.512221 -57.853827,49.512079 -57.853562,49.511928 -57.853339,49.511813 -57.853311,49.511795 -57.853060,49.511671 -57.852796,49.511574 -57.852519,49.511504 -57.852228,49.511470 -57.851952,49.511454 -57.851662,49.511457 -57.851386,49.511504 -57.851111,49.511577 -57.850850,49.511660 -57.850672,49.511734 -57.850617,49.511752 -57.850370,49.511880 -57.850125,49.512052 -57.849906,49.512207 -57.849716,49.512388 -57.849526,49.512588 -57.849433,49.512795 -57.849381,49.512993 -57.849246,49.513192 -57.849028,49.513338 -57.848767,49.513412 -57.848533,49.513467 -57.848284,49.513442 -57.848048,49.513408 -57.847853,49.513301 -57.847645,49.513240 -57.847394,49.513134 -57.847171,49.512992 -57.846933,49.512849 -57.846696,49.512671 -57.846499,49.512502 -57.846330,49.512314 -57.846175,49.512108 -57.846061,49.511911 -57.845947,49.511714 -57.845833,49.511508 -57.845719,49.511311 -57.845646,49.511114 -57.845587,49.510889 -57.845528,49.510674 -57.845455,49.510450 -57.845411,49.510252 -57.845352,49.510055 -57.845238,49.509858 -57.845111,49.509688 -57.844956,49.509518 -57.844815,49.509366 -57.844647,49.509223 -57.844397,49.509144 -57.844161,49.509065 -57.843980,49.508976 -57.843880,49.508833 -57.843808,49.508663 -57.843750,49.508465 -57.843733,49.508276 -57.843605,49.508097 -57.843396,49.508000 -57.843256,49.507884 -57.843129,49.507732 -57.842975,49.507562 -57.842765,49.507420 -57.842639,49.507349 -57.842556,49.507296 -57.842401,49.507126 -57.842205,49.506974 -57.841968,49.506886 -57.841745,49.506771 -57.841550,49.506637 -57.841395,49.506467 -57.841309,49.506279 -57.841305,49.506063 -57.841426,49.505883 -57.841492,49.505666 -57.841515,49.505432 -57.841525,49.505216 -57.841522,49.505018 -57.841464,49.504830 -57.841322,49.504660 -57.841140,49.504517 -57.841014,49.504383 -57.840928,49.504186 -57.840855,49.503998 -57.840783,49.503800 -57.840669,49.503621 -57.840528,49.503460 -57.840514,49.503452 -57.840319,49.503336 -57.840096,49.503212 -57.839873,49.503114 -57.839693,49.503044 -57.839593,49.502856 -57.839493,49.502685 -57.839311,49.502561 -57.839157,49.502391 -57.839112,49.502211 -57.839109,49.502014 -57.839105,49.501816 -57.839088,49.501600 -57.839002,49.501403 -57.838847,49.501242 -57.838597,49.501154 -57.838415,49.501020 -57.838385,49.500867 -57.838340,49.500670 -57.838254,49.500509 -57.838128,49.500402 -57.837961,49.500331 -57.837781,49.500305 -57.837641,49.500180 -57.837625,49.500081 -57.837625,49.500063 -57.837625,49.500045 -57.837647,49.499721 -57.838228,49.498953 -57.838621,49.498509 -57.838703,49.498454 -57.839280,49.498279 -57.839457,49.498161 -57.839551,49.498017 -57.839547,49.497774 -57.839460,49.497541 -57.839444,49.497370 -57.839384,49.497100 -57.839283,49.496840 -57.839043,49.496536 -57.838748,49.496241 -57.838287,49.495939 -57.837758,49.495682 -57.837243,49.495479 -57.836563,49.495259 -57.836161,49.495181 -57.835607,49.495113 -57.834875,49.495064 -57.834364,49.495077 -57.834144,49.495159 -57.833749,49.495477 -57.833411,49.495911 -57.833291,49.496164 -57.832952,49.496535 -57.832707,49.496726 -57.832310,49.496954 -57.831719,49.497084 -57.831347,49.497131 -57.830574,49.497146 -57.830241,49.497049 -57.830157,49.496996 -57.829987,49.496772 -57.829485,49.496479 -57.828914,49.496195 -57.828746,49.496071 -57.828592,49.495928 -57.828336,49.495480 -57.827690,49.494837 -57.827327,49.494633 -57.826103,49.494102 -57.825753,49.493780 -57.825527,49.493485 -57.825260,49.493217 -57.825159,49.492984 -57.825069,49.492535 -57.825085,49.491033 -57.825039,49.490772 -57.824938,49.490485 -57.824597,49.489939 -57.824331,49.489689 -57.824233,49.489617 -57.823829,49.489431 -57.823691,49.489405 -57.823470,49.489407 -57.823194,49.489427 -57.822575,49.489566 -57.821940,49.489580 -57.821705,49.489564 -57.821122,49.489415 -57.820746,49.489220 -57.820271,49.488836 -57.819991,49.488649 -57.819471,49.488077 -57.819102,49.487495 -57.818862,49.487173 -57.818736,49.487048 -57.818386,49.486808 -57.818064,49.486540 -57.817536,49.486310 -57.817162,49.486232 -57.816595,49.486164 -57.815213,49.486119 -57.814451,49.485981 -57.814090,49.485830 -57.813643,49.485528 -57.813255,49.485441 -57.811973,49.484703 -57.811068,49.484233 -57.810774,49.483992 -57.810605,49.483813 -57.810392,49.483437 -57.809999,49.483062 -57.809158,49.482303 -57.808472,49.481732 -57.808053,49.481429 -57.807885,49.481260 -57.807564,49.481064 -57.806962,49.480546 -57.806417,49.480190 -57.806181,49.480111 -57.805697,49.480015 -57.805599,49.479971 -57.805417,49.479802 -57.804991,49.479049 -57.804402,49.477677 -57.803591,49.476225 -57.802812,49.474998 -57.802063,49.473915 -57.801315,49.472904 -57.800850,49.472367 -57.800403,49.472002 -57.799985,49.471780 -57.799416,49.471559 -57.799014,49.471463 -57.798667,49.471348 -57.797573,49.471113 -57.797101,49.470972 -57.796434,49.470725 -57.795654,49.470262 -57.795137,49.469852 -57.794076,49.469140 -57.793840,49.469070 -57.793301,49.468974 -57.793190,49.468975 -57.792705,49.468870 -57.792113,49.468911 -57.791879,49.468966 -57.791190,49.469070 -57.790599,49.469191 -57.790200,49.469301 -57.789705,49.469395 -57.789168,49.469470 -57.788451,49.469538 -57.788328,49.469575 -57.788052,49.469577 -57.787678,49.469507 -57.787428,49.469410 -57.786971,49.469341 -57.786708,49.469271 -57.786307,49.469229 -57.785244,49.469236 -57.783962,49.469317 -57.783837,49.469300 -57.783490,49.469176 -57.782811,49.469010 -57.782563,49.468976 -57.782327,49.468950 -57.781348,49.468957 -57.781030,49.468941 -57.780628,49.468845 -57.780378,49.468747 -57.780032,49.468660 -57.779530,49.468384 -57.779109,49.467928 -57.778995,49.467686 -57.778826,49.467463 -57.778615,49.467230 -57.778349,49.467016 -57.778086,49.466946 -57.777589,49.466922 -57.777078,49.466935 -57.776568,49.466965 -57.776101,49.467103 -57.775662,49.467259 -57.775114,49.467524 -57.774798,49.467634 -57.774730,49.467688 -57.774584,49.468049 -57.773835,49.468692 -57.773410,49.468866 -57.773038,49.468941 -57.772776,49.468933 -57.772554,49.468836 -57.772289,49.468649 -57.772080,49.468551 -57.771498,49.468384 -57.771360,49.468385 -57.771236,49.468440 -57.771045,49.468576 -57.770935,49.468613 -57.770784,49.468614 -57.770646,49.468615 -57.769883,49.468395 -57.769221,49.468408 -57.768835,49.468465 -57.768107,49.468659 -57.767099,49.468665 -57.766989,49.468693 -57.766508,49.468840 -57.766219,49.468842 -57.766094,49.468816 -57.765774,49.468647 -57.765383,49.468380 -57.763817,49.467050 -57.763133,49.466578 -57.762521,49.466285 -57.762159,49.466044 -57.761921,49.465848 -57.761767,49.465696 -57.761668,49.465535 -57.761528,49.465383 -57.761262,49.465142 -57.761259,49.464989 -57.761058,49.464478 -57.761067,49.464172 -57.761146,49.463937 -57.761295,49.463720 -57.761472,49.463575 -57.761524,49.463404 -57.761549,49.463197 -57.761520,49.463107 -57.761337,49.462857 -57.761112,49.462606 -57.760834,49.462464 -57.760679,49.462312 -57.760063,49.461732 -57.759576,49.461429 -57.758920,49.460966 -57.758698,49.460868 -57.758421,49.460834 -57.758145,49.460836 -57.757635,49.460893 -57.756862,49.460889 -57.756600,49.460855 -57.756309,49.460776 -57.756086,49.460678 -57.755933,49.460544 -57.755831,49.460239 -57.755536,49.459890 -57.755189,49.459731 -57.754939,49.459642 -57.754744,49.459509 -57.754686,49.459338 -57.754738,49.459158 -57.754710,49.459140 -57.753875,49.458624 -57.752325,49.457483 -57.752089,49.457349 -57.751424,49.457201 -57.751134,49.457176 -57.750569,49.457197 -57.749950,49.457354 -57.749567,49.457573 -57.749418,49.457726 -57.749393,49.457906 -57.749466,49.458176 -57.749622,49.458445 -57.749640,49.458741 -57.749600,49.458841 -57.749464,49.458985 -57.749301,49.459103 -57.749177,49.459158 -57.748779,49.459260 -57.748627,49.459261 -57.748323,49.459227 -57.748073,49.459156 -57.747767,49.458996 -57.747571,49.458827 -57.747331,49.458468 -57.747233,49.458379 -57.747108,49.458326 -57.746222,49.458125 -57.745502,49.457923 -57.745029,49.457692 -57.744666,49.457442 -57.743845,49.456980 -57.742956,49.456599 -57.742776,49.456564 -57.742279,49.456540 -57.741700,49.456544 -57.740847,49.456711 -57.739653,49.457124 -57.739268,49.457225 -57.739157,49.457208 -57.739129,49.457199 -57.738281,49.457699 -57.737298,49.458362 -57.736752,49.458797 -57.736302,49.459115 -57.736138,49.459269 -57.735988,49.459378 -57.735635,49.459758 -57.735637,49.459857 -57.735583,49.459956 -57.735379,49.460155 -57.735286,49.460417 -57.735150,49.460552 -57.735096,49.460625 -57.735084,49.460715 -57.735016,49.460778 -57.734989,49.460859 -57.735047,49.461021 -57.735020,49.461102 -57.734952,49.461165 -57.734888,49.461472 -57.734753,49.461688 -57.734740,49.461760 -57.734728,49.461841 -57.734811,49.461895 -57.734813,49.461994 -57.734557,49.462418 -57.734440,49.462905 -57.734276,49.463032 -57.734196,49.463176 -57.733911,49.463529 -57.733707,49.463728 -57.733574,49.464044 -57.733222,49.464496 -57.733196,49.464586 -57.733238,49.464657 -57.732774,49.465029 -57.732748,49.465110 -57.732777,49.465182 -57.732627,49.465309 -57.732353,49.465472 -57.732217,49.465617 -57.731792,49.465791 -57.731572,49.465846 -57.731448,49.465847 -57.731323,49.465812 -57.730950,49.465805 -57.730717,49.465861 -57.730497,49.465952 -57.730153,49.465999 -57.729355,49.466202 -57.728969,49.466195 -57.728404,49.466298 -57.728294,49.466299 -57.728113,49.466183 -57.727985,49.465941 -57.727299,49.465262 -57.727003,49.464877 -57.726957,49.464535 -57.726885,49.464365 -57.726503,49.463719 -57.726417,49.463522 -57.726357,49.463154 -57.726385,49.462281 -57.726156,49.461680 -57.726111,49.461482 -57.725755,49.460720 -57.725586,49.460514 -57.725335,49.460336 -57.724919,49.460194 -57.723604,49.459906 -57.723327,49.459817 -57.722524,49.459688 -57.722316,49.459599 -57.721913,49.459368 -57.721525,49.459262 -57.721276,49.459255 -57.720805,49.459087 -57.720652,49.459061 -57.720211,49.459072 -57.719963,49.459119 -57.719744,49.459201 -57.719619,49.459202 -57.719214,49.458872 -57.718979,49.458783 -57.718495,49.458750 -57.718481,49.458750 -57.718468,49.458768 -57.718168,49.459004 -57.718031,49.459077 -57.716891,49.459453 -57.716560,49.459482 -57.715152,49.459446 -57.714794,49.459502 -57.714409,49.459612 -57.713902,49.459822 -57.713655,49.459949 -57.713588,49.460094 -57.713593,49.460391 -57.713525,49.460508 -57.713184,49.460789 -57.713075,49.460835 -57.712661,49.460891 -57.712220,49.460885 -57.712095,49.460859 -57.711873,49.460743 -57.711302,49.460369 -57.711066,49.460289 -57.710900,49.460281 -57.710666,49.460292 -57.709964,49.460413 -57.709152,49.460616 -57.708576,49.460835 -57.707934,49.461307 -57.707444,49.461796 -57.706984,49.462383 -57.706782,49.462771 -57.706747,49.463203 -57.706780,49.463581 -57.706766,49.463590 -57.706780,49.463608 -57.706864,49.463661 -57.707211,49.463785 -57.707990,49.464203 -57.708698,49.464513 -57.708809,49.464549 -57.709196,49.464564 -57.709320,49.464600 -57.709626,49.464769 -57.710589,49.465491 -57.710881,49.465651 -57.711049,49.465803 -57.711383,49.466008 -57.711551,49.466142 -57.711953,49.466310 -57.712414,49.466658 -57.712636,49.466765 -57.713122,49.466942 -57.713484,49.467165 -57.713998,49.467377 -57.714415,49.467609 -57.714651,49.467697 -57.714919,49.468082 -57.715101,49.468261 -57.715422,49.468502 -57.715616,49.468582 -57.715726,49.468554 -57.715836,49.468481 -57.715863,49.468490 -57.715877,49.468463 -57.716165,49.468371 -57.716290,49.468380 -57.716373,49.468433 -57.716472,49.468594 -57.716545,49.468837 -57.716601,49.468899 -57.716699,49.468989 -57.716907,49.469059 -57.717887,49.469089 -57.718122,49.469079 -57.719988,49.469310 -57.720265,49.469371 -57.720460,49.469451 -57.720487,49.469460 -57.720941,49.469331 -57.721299,49.469275 -57.721798,49.469398 -57.721936,49.469406 -57.722501,49.469330 -57.722736,49.469401 -57.722987,49.469534 -57.723139,49.469587 -57.723541,49.469657 -57.724245,49.469679 -57.724617,49.469650 -57.724839,49.469729 -57.724977,49.469747 -57.725226,49.469727 -57.725640,49.469778 -57.726165,49.469793 -57.726801,49.469861 -57.727063,49.469832 -57.727379,49.469714 -57.727530,49.469695 -57.727875,49.469701 -57.728014,49.469728 -57.728569,49.469976 -57.728970,49.470009 -57.729233,49.470071 -57.729468,49.470096 -57.729566,49.470141 -57.729594,49.470212 -57.729791,49.470454 -57.729549,49.470878 -57.729238,49.471285 -57.729172,49.471546 -57.728983,49.471817 -57.728989,49.472177 -57.728868,49.472412 -57.728416,49.472675 -57.728267,49.472820 -57.728034,49.472957 -57.727995,49.473101 -57.727707,49.473237 -57.727060,49.473376 -57.726855,49.473477 -57.726595,49.473667 -57.726474,49.473848 -57.726254,49.473966 -57.725980,49.474058 -57.725431,49.474313 -57.725145,49.474585 -57.724913,49.474721 -57.724572,49.475002 -57.724325,49.475112 -57.724202,49.475193 -57.724175,49.475266 -57.724204,49.475310 -57.724204,49.475346 -57.725052,49.475737 -57.725318,49.475969 -57.725405,49.476292 -57.725394,49.476463 -57.725190,49.476671 -57.725150,49.476735 -57.725164,49.476797 -57.725262,49.476842 -57.725497,49.476867 -57.725980,49.476864 -57.726517,49.476762 -57.727137,49.476686 -57.727355,49.476487 -57.727479,49.476468 -57.727700,49.476530 -57.728403,49.476462 -57.728888,49.476576 -57.729939,49.476704 -57.730050,49.476704 -57.730572,49.476584 -57.730710,49.476574 -57.731070,49.476634 -57.731609,49.476640 -57.731996,49.476727 -57.732521,49.476697 -57.732909,49.476821 -57.733006,49.476874 -57.733412,49.477231 -57.733648,49.477311 -57.733761,49.477463 -57.733790,49.477553 -57.734070,49.477821 -57.734155,49.477973 -57.734201,49.478324 -57.734330,49.478611 -57.734292,49.478836 -57.734320,49.478899 -57.734502,49.479023 -57.734685,49.479247 -57.735046,49.479443 -57.735271,49.479666 -57.735438,49.479773 -57.735607,49.480015 -57.736008,49.480984 -57.736125,49.481388 -57.736282,49.481719 -57.736394,49.481845 -57.736441,49.482204 -57.736777,49.482553 -57.736958,49.482660 -57.737194,49.482703 -57.737663,49.482691 -57.737760,49.482735 -57.738161,49.482787 -57.738506,49.482758 -57.739222,49.482609 -57.739470,49.482608 -57.739719,49.482651 -57.739830,49.482650 -57.740905,49.482517 -57.741152,49.482426 -57.741386,49.482388 -57.741648,49.482396 -57.741773,49.482422 -57.742193,49.482770 -57.742304,49.482805 -57.743325,49.482808 -57.743560,49.482833 -57.743919,49.482831 -57.744043,49.482803 -57.744316,49.482622 -57.744537,49.482593 -57.744634,49.482619 -57.744775,49.482834 -57.744886,49.482870 -57.745258,49.482831 -57.745369,49.482858 -57.745453,49.482920 -57.745564,49.482955 -57.745702,49.482954 -57.745840,49.482927 -57.746032,49.482835 -57.746112,49.482664 -57.746180,49.482601 -57.746386,49.482518 -57.746496,49.482509 -57.746731,49.482507 -57.747229,49.482576 -57.747311,49.482557 -57.748003,49.482679 -57.748364,49.482775 -57.748617,49.483070 -57.748971,49.483644 -57.749082,49.483679 -57.749331,49.483696 -57.749565,49.483694 -57.749909,49.483620 -57.750020,49.483664 -57.750217,49.483906 -57.750232,49.483987 -57.750137,49.484059 -57.750097,49.484131 -57.750098,49.484203 -57.750212,49.484454 -57.750536,49.484884 -57.750856,49.485017 -57.750966,49.485007 -57.751186,49.484934 -57.751294,49.484780 -57.751485,49.484662 -57.752158,49.484433 -57.752393,49.484431 -57.752808,49.484509 -57.753624,49.484603 -57.754025,49.484627 -57.755033,49.484639 -57.755157,49.484611 -57.755389,49.484412 -57.755789,49.484382 -57.756037,49.484389 -57.756674,49.484475 -57.757007,49.484581 -57.757104,49.484634 -57.757412,49.484893 -57.757675,49.484918 -57.757965,49.484917 -57.758089,49.484943 -57.758187,49.484987 -57.758438,49.485201 -57.758785,49.485298 -57.759172,49.485322 -57.759604,49.485589 -57.759812,49.485660 -57.759937,49.485686 -57.760587,49.485736 -57.761332,49.485731 -57.762533,49.485696 -57.763196,49.485728 -57.764234,49.485856 -57.764606,49.485826 -57.765501,49.485676 -57.766122,49.485627 -57.766383,49.485572 -57.766616,49.485480 -57.766740,49.485470 -57.767100,49.485504 -57.767239,49.485539 -57.767777,49.485562 -57.767999,49.485633 -57.768262,49.485658 -57.768538,49.485656 -57.768800,49.485628 -57.769034,49.485554 -57.769559,49.485605 -57.769906,49.485719 -57.770044,49.485727 -57.770169,49.485771 -57.770267,49.485834 -57.770323,49.485914 -57.770421,49.485968 -57.771003,49.486099 -57.771239,49.486178 -57.771777,49.486147 -57.772163,49.486154 -57.772220,49.486216 -57.772250,49.486396 -57.772203,49.486891 -57.772218,49.486999 -57.772275,49.487080 -57.772429,49.487205 -57.772837,49.487688 -57.773074,49.487884 -57.773199,49.487937 -57.773531,49.487926 -57.773682,49.487898 -57.774149,49.487742 -57.774273,49.487741 -57.775048,49.487844 -57.775270,49.487923 -57.775465,49.488039 -57.775715,49.488100 -57.775839,49.488099 -57.776101,49.488043 -57.776721,49.487958 -57.777863,49.487699 -57.778732,49.487675 -57.779520,49.487724 -57.779883,49.487973 -57.779939,49.488045 -57.779949,49.488683 -57.780006,49.488782 -57.780104,49.488853 -57.780179,49.489212 -57.780319,49.489337 -57.780388,49.489364 -57.780554,49.489381 -57.780830,49.489352 -57.780941,49.489423 -57.781040,49.489557 -57.781042,49.489674 -57.781085,49.489773 -57.781366,49.490041 -57.781373,49.490536 -57.781403,49.490688 -57.781559,49.490930 -57.781577,49.491191 -57.781819,49.491657 -57.781834,49.491738 -57.781784,49.492053 -57.781570,49.492468 -57.781572,49.492621 -57.781771,49.492944 -57.781897,49.493069 -57.782563,49.493271 -57.782786,49.493377 -57.782899,49.493521 -57.782875,49.493773 -57.782623,49.494440 -57.782503,49.494675 -57.782273,49.494973 -57.782264,49.495288 -57.782450,49.495700 -57.782592,49.495951 -57.782662,49.496023 -57.783068,49.496326 -57.783276,49.496414 -57.783567,49.496484 -57.783817,49.496582 -57.783930,49.496734 -57.784002,49.496895 -57.784034,49.497147 -57.784120,49.497389 -57.784276,49.497613 -57.784292,49.497766 -57.784377,49.497927 -57.784856,49.498491 -57.785332,49.498910 -57.785444,49.498954 -57.785568,49.498971 -57.785902,49.499104 -57.786014,49.499247 -57.786126,49.499318 -57.786334,49.499389 -57.786459,49.499415 -57.787978,49.499405 -57.788089,49.499422 -57.788257,49.499574 -57.788466,49.499671 -57.789048,49.499793 -57.789587,49.499853 -57.789922,49.500021 -57.789922,49.500039 -57.789936,49.500057 -57.790367,49.500234 -57.790647,49.500466 -57.790857,49.500680 -57.791082,49.500877 -57.791333,49.501073 -57.791517,49.501333 -57.791701,49.501583 -57.791843,49.501861 -57.791872,49.501942 -57.791917,49.502175 -57.791963,49.502454 -57.791926,49.502697 -57.791791,49.502869 -57.791781,49.503112 -57.791825,49.503309 -57.791910,49.503426 -57.792091,49.503523 -57.792369,49.503647 -57.792676,49.503789 -57.792996,49.503985 -57.793290,49.504181 -57.793500,49.504404 -57.793697,49.504619 -57.793962,49.504743 -57.794295,49.504867 -57.794601,49.505017 -57.794853,49.505178 -57.795144,49.505247 -57.795448,49.505245 -57.795778,49.505198 -57.796137,49.505169 -57.796884,49.505244 -57.797231,49.505341 -57.797856,49.505562 -57.797983,49.505741 -57.798207,49.505892 -57.798359,49.505900 -57.798511,49.505908 -57.798842,49.505870 -57.799200,49.505813 -57.799516,49.505712 -57.799873,49.505593 -57.800232,49.505545 -57.800590,49.505507 -57.800934,49.505405 -57.801277,49.505304 -57.801594,49.505212 -57.801868,49.505084 -57.802114,49.504912 -57.802388,49.504811 -57.802676,49.504692 -57.802952,49.504654 -57.803243,49.504715 -57.803505,49.504713 -57.803752,49.504612 -57.804030,49.504673 -57.804281,49.504851 -57.804572,49.504921 -57.804889,49.504883 -57.805150,49.504791 -57.805216,49.504611 -57.805393,49.504421 -57.805613,49.504392 -57.805735,49.504221 -57.805814,49.503995 -57.806047,49.503868 -57.806310,49.503920 -57.806494,49.504161 -57.806650,49.504457 -57.806847,49.504654 -57.807056,49.504751 -57.807183,49.504948 -57.807407,49.505136 -57.807659,49.505314 -57.807743,49.505412 -57.807828,49.505528 -57.807888,49.505807 -57.808003,49.506076 -57.808105,49.506390 -57.808207,49.506731 -57.808309,49.507054 -57.808425,49.507368 -57.808582,49.507682 -57.808684,49.508014 -57.808814,49.508373 -57.808972,49.508696 -57.809046,49.509037 -57.809204,49.509378 -57.809347,49.509673 -57.809476,49.509951 -57.809591,49.510220 -57.809719,49.510480 -57.809917,49.510731 -57.810142,49.510945 -57.810365,49.511115 -57.810561,49.511248 -57.810575,49.511257 -57.810659,49.511310 -57.810756,49.511319 -57.811006,49.511425 -57.811311,49.511522 -57.811644,49.511591 -57.811962,49.511625 -57.812308,49.511623 -57.812639,49.511611 -57.812970,49.511564 -57.813287,49.511508 -57.813561,49.511416 -57.813850,49.511297 -57.814165,49.511187 -57.814453,49.511059 -57.814742,49.510958 -57.815018,49.510965 -57.815252,49.510918 -57.815501,49.510908 -57.815710,49.511050 -57.815921,49.511246 -57.816077,49.511488 -57.816219,49.511757 -57.816307,49.512017 -57.816311,49.512278 -57.816315,49.512548 -57.816320,49.512836 -57.816352,49.513105 -57.816398,49.513375 -57.816513,49.513635 -57.816683,49.513894 -57.816908,49.514109 -57.817146,49.514332 -57.817301,49.514475 -57.817357,49.514528 -57.817580,49.514644 -57.817815,49.514642 -57.818076,49.514577 -57.818657,49.514618 -57.818892,49.514598 -57.819152,49.514498 -57.819483,49.514459 -57.819801,49.514484 -57.820108,49.514653 -57.820402,49.514876 -57.820708,49.514999 -57.821014,49.515141 -57.821306,49.515256 -57.821584,49.515335 -57.821807,49.515432 -57.821835,49.515504 -57.821880,49.515684 -57.821912,49.515971 -57.821889,49.516241 -57.821853,49.516520 -57.821830,49.516808 -57.821835,49.517123 -57.821854,49.517429 -57.821887,49.517743 -57.821975,49.518058 -57.822049,49.518363 -57.822137,49.518677 -57.822212,49.518991 -57.822328,49.519305 -57.822402,49.519629 -57.822435,49.519943 -57.822468,49.520249 -57.822473,49.520546 -57.822422,49.520825 -57.822399,49.521122 -57.822405,49.521455 -57.822438,49.521760 -57.822457,49.522066 -57.822462,49.522399 -57.822616,49.523342 -57.822691,49.523656 -57.822751,49.523944 -57.822880,49.524240 -57.823167,49.524849 -57.823310,49.525154 -57.823494,49.525441 -57.823651,49.525736 -57.823809,49.526050 -57.823966,49.526373 -57.824151,49.526659 -57.824335,49.526955 -57.824520,49.527259 -57.824691,49.527573 -57.824889,49.527859 -57.825100,49.528092 -57.825271,49.528369 -57.825372,49.528648 -57.825432,49.528926 -57.825520,49.529204 -57.825635,49.529500 -57.825792,49.529769 -57.825962,49.530029 -57.826119,49.530315 -57.826262,49.530602 -57.826405,49.530871 -57.826589,49.531166 -57.826760,49.531462 -57.827143,49.532044 -57.827342,49.532339 -57.827498,49.532572 -57.827540,49.532635 -57.828005,49.533180 -57.828216,49.533394 -57.828260,49.533538 -57.828346,49.533690 -57.828571,49.533923 -57.828796,49.534182 -57.829022,49.534441 -57.829260,49.534655 -57.829403,49.534888 -57.829448,49.535149 -57.829522,49.535400 -57.829677,49.535615 -57.829915,49.535739 -57.830178,49.535782 -57.830455,49.535816 -57.830677,49.535904 -57.830829,49.535903 -57.830871,49.535903 -57.831118,49.535820 -57.831337,49.535702 -57.831501,49.535539 -57.831748,49.535474 -57.831997,49.535463 -57.832119,49.535327 -57.832129,49.535129 -57.832098,49.534932 -57.832123,49.534770 -57.832302,49.534687 -57.832469,49.534758 -57.832595,49.534883 -57.832637,49.534910 -57.832777,49.535035 -57.832933,49.535268 -57.833090,49.535518 -57.833260,49.535769 -57.833389,49.536056 -57.833532,49.536352 -57.833634,49.536630 -57.833721,49.536899 -57.833877,49.537132 -57.834087,49.537283 -57.834256,49.537435 -57.834343,49.537695 -57.834389,49.537965 -57.834436,49.538270 -57.834482,49.538576 -57.834528,49.538854 -57.834547,49.539124 -57.834566,49.539411 -57.834598,49.539681 -57.834630,49.539960 -57.834704,49.540220 -57.834832,49.540444 -57.835016,49.540667 -57.835213,49.540882 -57.835409,49.541060 -57.835606,49.541266 -57.836039,49.541515 -57.836168,49.541757 -57.836310,49.541998 -57.836467,49.542267 -57.836651,49.542545 -57.836793,49.542795 -57.836950,49.543055 -57.837120,49.543297 -57.837304,49.543547 -57.837488,49.543789 -57.837617,49.544058 -57.837704,49.544309 -57.837708,49.544570 -57.837685,49.544813 -57.837703,49.545047 -57.837707,49.545316 -57.837740,49.545586 -57.837771,49.545802 -57.837772,49.545847 -57.837791,49.546143 -57.837795,49.546413 -57.837772,49.546638 -57.837706,49.546837 -57.837626,49.547026 -57.837454,49.547450 -57.837441,49.547531 -57.837360,49.547649 -57.837267,49.547865 -57.837118,49.548064 -57.836970,49.548263 -57.836943,49.548335 -57.836878,49.548543 -57.836911,49.548857 -57.836861,49.549181 -57.836672,49.549471 -57.836427,49.549688 -57.836225,49.549968 -57.836091,49.550230 -57.835970,49.550456 -57.835943,49.550492 -57.835904,49.550627 -57.835882,49.550951 -57.835818,49.551249 -57.835644,49.551565 -57.835442,49.551881 -57.835294,49.552152 -57.835281,49.552170 -57.835322,49.552179 -57.835534,49.552402 -57.835802,49.552715 -57.836193,49.552955 -57.836652,49.553141 -57.837180,49.553308 -57.837696,49.553565 -57.837814,49.553960 -57.837628,49.554402 -57.837565,49.554798 -57.837627,49.555184 -57.837551,49.555554 -57.837348,49.555825 -57.837282,49.555987 -57.837282,49.556005 -57.837766,49.555993 -57.838264,49.556016 -57.838790,49.556039 -57.839329,49.556054 -57.839813,49.556059 -57.840338,49.556046 -57.840794,49.555998 -57.841178,49.555833 -57.841506,49.555624 -57.841778,49.555361 -57.842050,49.555089 -57.842336,49.554835 -57.842552,49.554510 -57.842754,49.554194 -57.842901,49.553941 -57.842928,49.553869 -57.843010,49.553796 -57.843211,49.553426 -57.843370,49.553029 -57.843423,49.552885 -57.843515,49.552614 -57.843646,49.552217 -57.843750,49.551821 -57.843923,49.551433 -57.844110,49.551072 -57.844286,49.550845 -57.844353,49.550746 -57.844556,49.550448 -57.844772,49.550167 -57.845043,49.549850 -57.845300,49.549534 -57.845531,49.549262 -57.845679,49.549018 -57.845772,49.548847 -57.845772,49.548838 -57.845785,49.548001 -57.845710,49.547642 -57.845678,49.547363 -57.845631,49.547067 -57.845557,49.546797 -57.845556,49.546734 -57.845510,49.546438 -57.845436,49.546160 -57.845361,49.545845 -57.845346,49.545801 -57.845273,49.545549 -57.845243,49.545433 -57.845239,49.545154 -57.845303,49.544883 -57.845284,49.544569 -57.845278,49.544245 -57.845301,49.543939 -57.845323,49.543633 -57.845332,49.543336 -57.845437,49.543029 -57.845584,49.542723 -57.845647,49.542398 -57.845642,49.542092 -57.845664,49.541768 -57.845741,49.541444 -57.845805,49.541120 -57.845868,49.540805 -57.845906,49.540579 -57.845901,49.540283 -57.845895,49.539950 -57.845848,49.539599 -57.845801,49.539276 -57.845782,49.538988 -57.845708,49.538692 -57.845564,49.538396 -57.845463,49.538136 -57.845444,49.537857 -57.845371,49.537588 -57.845255,49.537319 -57.845196,49.537050 -57.845260,49.536788 -57.845492,49.536607 -57.845737,49.536362 -57.845980,49.536081 -57.846183,49.535792 -57.846357,49.535494 -57.846476,49.535169 -57.846623,49.534853 -57.846783,49.534537 -57.846971,49.534221 -57.847174,49.533950 -57.847404,49.533669 -57.847606,49.533398 -57.847823,49.533127 -57.848026,49.532864 -57.848215,49.532602 -57.848228,49.532584 -57.848390,49.532358 -57.848607,49.532122 -57.848783,49.531896 -57.848877,49.531725 -57.848897,49.531329 -57.848949,49.531112 -57.849111,49.530904 -57.849370,49.530705 -57.849685,49.530531 -57.849986,49.530358 -57.850259,49.530158 -57.850708,49.529750 -57.850995,49.529568 -57.851254,49.529368 -57.851333,49.529116 -57.851425,49.528855 -57.851573,49.528629 -57.851735,49.528402 -57.851772,49.528186 -57.851755,49.527962 -57.851765,49.527746 -57.851885,49.527520 -57.852020,49.527303 -57.852224,49.527104 -57.852525,49.526930 -57.852841,49.526847 -57.853172,49.526818 -57.853460,49.526708 -57.853776,49.526570 -57.854091,49.526451 -57.854435,49.526323 -57.854750,49.526194 -57.855079,49.526048 -57.855367,49.525902 -57.855532,49.525847 -57.853499,49.536053 -57.851996,49.544214 -57.856466,49.560300 -57.857124,49.562390 -57.879977,49.563595 -57.879634,49.563751 -57.879278,49.563924 -57.878991,49.564115 -57.879022,49.564313 -57.879055,49.564628 -57.879047,49.564924 -57.879038,49.565239 -57.879044,49.565563 -57.879078,49.565878 -57.879345,49.566146 -57.879612,49.566395 -57.879728,49.566673 -57.879678,49.566953 -57.879740,49.567321 -57.879843,49.567680 -57.879947,49.568057 -57.880050,49.568452 -57.880181,49.568775 -57.880252,49.568918 -57.880340,49.569169 -57.880456,49.569483 -57.880558,49.569752 -57.880892,49.570640 -57.881077,49.570954 -57.881318,49.571231 -57.881654,49.571489 -57.881976,49.571711 -57.882340,49.571924 -57.882648,49.572120 -57.883065,49.572234 -57.883480,49.572258 -57.883909,49.572281 -57.884283,49.572323 -57.884577,49.572492 -57.884623,49.572726 -57.884488,49.572960 -57.884243,49.573133 -57.884327,49.573214 -57.884562,49.573185 -57.884738,49.573012 -57.884957,49.572858 -57.885344,49.572864 -57.885817,49.572977 -57.886262,49.573118 -57.886693,49.573240 -57.887164,49.573291 -57.887605,49.573206 -57.888433,49.573110 -57.888835,49.573125 -57.889122,49.572961 -57.889464,49.572778 -57.889754,49.572731 -57.895773,49.578118 -57.899285,49.581086 -57.900986,49.582530 -57.924731,49.602599 -57.923210,49.604104 -57.929573,49.606824 -57.930714,49.605699 -57.941089,49.607585 -57.943862,49.601356 -57.944171,49.601596 -57.944536,49.601845 -57.944927,49.602058 -57.945319,49.602289 -57.945752,49.602474 -57.946197,49.602587 -57.946669,49.602655 -57.947126,49.602679 -57.947361,49.602677 -57.947624,49.602675 -57.948107,49.602626 -57.948563,49.602577 -57.949047,49.602519 -57.949365,49.602525 -57.949517,49.602524 -57.949987,49.602484 -57.950413,49.602319 -57.950824,49.602118 -57.951236,49.601934 -57.951496,49.601788 -57.951633,49.601706 -57.952058,49.601496 -57.952498,49.601384 -57.952967,49.601308 -57.953397,49.601323 -57.953438,49.601323 -57.953897,49.601418 -57.954369,49.601495 -57.954812,49.601536 -57.955103,49.601543 -57.955286,49.601703 -57.955605,49.601709 -57.955870,49.601833 -57.956068,49.602047 -57.956390,49.602243 -57.956657,49.602456 -57.956842,49.602680 -57.956958,49.602967 -57.957115,49.603208 -57.957157,49.603244 -57.957328,49.603512 -57.957445,49.603799 -57.957602,49.604041 -57.957703,49.604265 -57.957456,49.604375 -57.957141,49.604539 -57.956811,49.604641 -57.956440,49.604797 -57.955986,49.604926 -57.955504,49.605029 -57.955035,49.605123 -57.954538,49.605199 -57.954028,49.605311 -57.953533,49.605450 -57.953477,49.605469 -57.953050,49.605553 -57.952581,49.605629 -57.952183,49.605803 -57.951786,49.606031 -57.951390,49.606305 -57.951035,49.606559 -57.950708,49.606832 -57.950480,49.607176 -57.950389,49.607527 -57.950424,49.607860 -57.950541,49.608200 -57.950728,49.608568 -57.950984,49.608898 -57.951321,49.609183 -57.951715,49.609468 -57.952108,49.609762 -57.952290,49.609886 -57.952501,49.610037 -57.952907,49.610295 -57.953367,49.610444 -57.953577,49.610559 -57.953773,49.610665 -57.954261,49.610850 -57.954803,49.610990 -57.955318,49.611138 -57.955751,49.611324 -57.955992,49.611583 -57.955984,49.611888 -57.955921,49.612222 -57.955789,49.612556 -57.955658,49.612908 -57.955596,49.613295 -57.955507,49.613691 -57.955511,49.613934 -57.955513,49.614033 -57.955614,49.614221 -57.955672,49.614356 -57.955940,49.614605 -57.956097,49.614865 -57.956336,49.615061 -57.956299,49.615259 -57.955967,49.615307 -57.955736,49.615515 -57.955702,49.615876 -57.955681,49.616244 -57.955744,49.616631 -57.955821,49.617026 -57.955857,49.617421 -57.955933,49.617799 -57.955884,49.618105 -57.955751,49.618403 -57.955786,49.618771 -57.955876,49.619139 -57.955911,49.619508 -57.956001,49.619849 -57.956133,49.620216 -57.956291,49.620539 -57.956368,49.620898 -57.956375,49.621276 -57.956479,49.621644 -57.956486,49.622013 -57.956411,49.622400 -57.956320,49.622724 -57.956174,49.623014 -57.956112,49.623392 -57.956146,49.623733 -57.956084,49.624076 -57.956087,49.624247 -57.956090,49.624390 -57.956207,49.624713 -57.956420,49.625008 -57.956730,49.625249 -57.957080,49.625462 -57.957248,49.625541 -57.957249,49.625586 -57.957240,49.625838 -57.957191,49.626153 -57.957086,49.626496 -57.956969,49.626848 -57.956879,49.627208 -57.956788,49.627515 -57.956789,49.627551 -57.956753,49.627830 -57.956772,49.628127 -57.956848,49.628441 -57.956909,49.628755 -57.957025,49.629024 -57.957169,49.629302 -57.957312,49.629543 -57.957412,49.629695 -57.957869,49.630366 -57.958067,49.630608 -57.958110,49.630670 -57.958195,49.630768 -57.958251,49.630813 -57.958364,49.630938 -57.958648,49.631295 -57.958763,49.631465 -57.958779,49.631600 -57.958795,49.631726 -57.958828,49.631959 -57.958861,49.632229 -57.958893,49.632463 -57.958907,49.632480 -57.958968,49.632741 -57.959042,49.632992 -57.959075,49.633262 -57.959105,49.633405 -57.959106,49.633432 -57.959108,49.633531 -57.959155,49.633801 -57.959188,49.634070 -57.959220,49.634313 -57.959266,49.634537 -57.959323,49.634636 -57.959423,49.634761 -57.959579,49.634975 -57.959735,49.635172 -57.959947,49.635359 -57.960158,49.635537 -57.960424,49.635688 -57.960452,49.635697 -57.960718,49.635848 -57.961012,49.635989 -57.961293,49.636185 -57.961532,49.636380 -57.961758,49.636603 -57.961956,49.636827 -57.962114,49.637095 -57.962626,49.637784 -57.962783,49.638025 -57.962926,49.638240 -57.963054,49.638410 -57.963083,49.638481 -57.963083,49.638490 -57.963168,49.638553 -57.963351,49.638704 -57.963535,49.638927 -57.963664,49.639169 -57.963781,49.639447 -57.963869,49.639734 -57.963971,49.639985 -57.964046,49.640263 -57.964051,49.640515 -57.964228,49.641053 -57.964344,49.641322 -57.964461,49.641618 -57.964549,49.641887 -57.964513,49.642157 -57.964351,49.642375 -57.964070,49.642890 -57.963964,49.643142 -57.963942,49.643421 -57.963933,49.643664 -57.963786,49.643917 -57.963597,49.644153 -57.963323,49.644335 -57.962992,49.644401 -57.962703,49.644511 -57.962485,49.644684 -57.962351,49.644910 -57.962351,49.644928 -57.962231,49.645172 -57.962184,49.645559 -57.962184,49.645595 -57.962203,49.645828 -57.962277,49.646080 -57.962365,49.646304 -57.962453,49.646591 -57.962464,49.647122 -57.962441,49.647392 -57.962446,49.647625 -57.962492,49.647868 -57.962580,49.648074 -57.962735,49.648235 -57.962933,49.648413 -57.962979,49.648637 -57.962845,49.648872 -57.962557,49.649046 -57.962199,49.649157 -57.961828,49.649277 -57.961483,49.649387 -57.961154,49.649525 -57.960936,49.649707 -57.960855,49.649860 -57.960802,49.649942 -57.960711,49.650239 -57.960661,49.650537 -57.960611,49.650834 -57.960576,49.651149 -57.960582,49.651428 -57.960601,49.651724 -57.960649,49.652048 -57.960697,49.652362 -57.960717,49.652659 -57.960790,49.653558 -57.960740,49.653855 -57.960719,49.654170 -57.960711,49.654476 -57.960676,49.654809 -57.960682,49.655142 -57.960716,49.655429 -57.960735,49.655726 -57.961099,49.656577 -57.961270,49.656819 -57.961342,49.656989 -57.961670,49.657445 -57.961712,49.657454 -57.961868,49.657677 -57.962026,49.657946 -57.962226,49.658259 -57.962454,49.658581 -57.962696,49.658903 -57.962911,49.659234 -57.962954,49.659305 -57.963056,49.659583 -57.963174,49.659924 -57.963236,49.660265 -57.963353,49.660606 -57.963526,49.660938 -57.963754,49.661251 -57.963982,49.661564 -57.964265,49.661858 -57.964588,49.662098 -57.964925,49.662320 -57.965208,49.662597 -57.965449,49.662883 -57.965746,49.663177 -57.966056,49.663435 -57.966269,49.663703 -57.966299,49.663802 -57.966408,49.664440 -57.966423,49.664493 -57.966470,49.664772 -57.966602,49.665104 -57.966706,49.665454 -57.966809,49.665794 -57.966898,49.666082 -57.966957,49.666252 -57.967030,49.666413 -57.967061,49.666620 -57.967077,49.666710 -57.967077,49.666719 -57.967097,49.667042 -57.967076,49.667366 -57.967000,49.667727 -57.966910,49.668078 -57.966820,49.668412 -57.966619,49.669475 -57.966585,49.669853 -57.966537,49.670213 -57.966525,49.670339 -57.966475,49.670583 -57.966335,49.671249 -57.966273,49.671592 -57.965946,49.672593 -57.965285,49.673489 -57.964999,49.673743 -57.964657,49.673980 -57.964287,49.674181 -57.963875,49.674382 -57.963462,49.674547 -57.963050,49.674713 -57.962610,49.674887 -57.962225,49.675034 -57.961840,49.675208 -57.961539,49.675409 -57.961266,49.675609 -57.961061,49.675755 -57.961020,49.675791 -57.960952,49.675845 -57.960748,49.676081 -57.960629,49.676370 -57.960524,49.676668 -57.960420,49.676992 -57.960329,49.677299 -57.960196,49.677615 -57.960063,49.677904 -57.959917,49.678202 -57.959798,49.678499 -57.959693,49.678815 -57.959645,49.679157 -57.959623,49.679463 -57.959643,49.679778 -57.959746,49.680074 -57.959760,49.680110 -57.959863,49.680388 -57.959979,49.680657 -57.960150,49.680898 -57.960390,49.681121 -57.960517,49.681210 -57.960671,49.681326 -57.960924,49.681503 -57.961176,49.681627 -57.961426,49.681607 -57.961686,49.681479 -57.961989,49.681369 -57.962074,49.681449 -57.961895,49.681531 -57.961676,49.681641 -57.961526,49.681759 -57.961526,49.681804 -57.961638,49.681830 -57.961916,49.681855 -57.962220,49.681843 -57.962539,49.681823 -57.962857,49.681784 -57.963148,49.681809 -57.963399,49.681861 -57.963607,49.681841 -57.963535,49.681734 -57.963256,49.681655 -57.962923,49.681640 -57.962617,49.681579 -57.962420,49.681419 -57.962474,49.681347 -57.962710,49.681354 -57.963002,49.681414 -57.963336,49.681465 -57.963643,49.681571 -57.963854,49.681731 -57.964067,49.681990 -57.964109,49.681999 -57.964331,49.682042 -57.964624,49.682102 -57.964889,49.682181 -57.965072,49.682350 -57.965187,49.682529 -57.965187,49.682547 -57.965188,49.682601 -57.965178,49.682799 -57.965279,49.682969 -57.965700,49.683236 -57.965716,49.683361 -57.965594,49.683515 -57.965375,49.683616 -57.965265,49.683680 -57.965100,49.683762 -57.964799,49.683954 -57.964498,49.684136 -57.964195,49.684256 -57.963904,49.684258 -57.963587,49.684342 -57.963257,49.684506 -57.962900,49.684671 -57.962529,49.684836 -57.962186,49.685028 -57.961830,49.685256 -57.961515,49.685465 -57.961187,49.685693 -57.960873,49.685902 -57.960502,49.686103 -57.960187,49.686277 -57.959857,49.686423 -57.959611,49.686596 -57.959407,49.686796 -57.959287,49.687040 -57.959194,49.687274 -57.959074,49.687491 -57.959022,49.687672 -57.959022,49.687681 -57.958982,49.687762 -57.958941,49.687789 -57.958670,49.688088 -57.958438,49.688315 -57.958087,49.688804 -57.957869,49.688994 -57.957707,49.689194 -57.957615,49.689428 -57.957480,49.689663 -57.957221,49.689845 -57.956974,49.690018 -57.956881,49.690190 -57.956827,49.690262 -57.956721,49.690533 -57.956630,49.690821 -57.956510,49.691092 -57.956405,49.691381 -57.956216,49.691634 -57.956041,49.691897 -57.955852,49.692159 -57.955635,49.692431 -57.955433,49.692711 -57.955258,49.693010 -57.955192,49.693136 -57.955083,49.693281 -57.954909,49.693561 -57.954761,49.693787 -57.954680,49.693923 -57.954397,49.694339 -57.953788,49.695099 -57.953368,49.695598 -57.953233,49.695815 -57.953030,49.696041 -57.952867,49.696240 -57.952786,49.696331 -57.952678,49.696467 -57.952420,49.696757 -57.952135,49.697074 -57.952122,49.697101 -57.951906,49.697409 -57.951704,49.697725 -57.951543,49.698014 -57.951516,49.698050 -57.951379,49.698150 -57.951065,49.698369 -57.950876,49.698640 -57.950922,49.698856 -57.950923,49.698928 -57.951136,49.699178 -57.951835,49.699460 -57.951951,49.699729 -57.951902,49.700053 -57.951714,49.700351 -57.951525,49.700650 -57.951268,49.700976 -57.951122,49.701292 -57.951108,49.701310 -57.950977,49.701680 -57.950859,49.702049 -57.950728,49.702419 -57.950596,49.702789 -57.950451,49.703159 -57.950291,49.703511 -57.950090,49.703846 -57.950000,49.704215 -57.949924,49.704594 -57.949835,49.704990 -57.949759,49.705396 -57.949670,49.705774 -57.949608,49.706161 -57.949560,49.706539 -57.949553,49.706926 -57.949616,49.707295 -57.949679,49.707690 -57.949743,49.708085 -57.949750,49.708472 -57.949744,49.708886 -57.949780,49.709272 -57.949815,49.709668 -57.949781,49.710064 -57.949775,49.710450 -57.949782,49.710837 -57.949774,49.711098 -57.949762,49.711206 -57.949755,49.711548 -57.949720,49.711899 -57.949615,49.712224 -57.949470,49.712594 -57.949104,49.714450 -57.948985,49.714774 -57.948881,49.715108 -57.948860,49.715459 -57.948728,49.715820 -57.948652,49.716171 -57.948603,49.716513 -57.948596,49.716873 -57.948589,49.717206 -57.948609,49.717539 -57.948615,49.717863 -57.948580,49.718205 -57.948421,49.718548 -57.948177,49.718874 -57.947864,49.719164 -57.947551,49.719472 -57.947280,49.719798 -57.947105,49.720106 -57.946973,49.720448 -57.946744,49.720801 -57.946514,49.721118 -57.946181,49.721786 -57.946035,49.722147 -57.945889,49.722499 -57.945674,49.722843 -57.945458,49.723177 -57.945382,49.723538 -57.945306,49.723880 -57.945215,49.724205 -57.945204,49.724349 -57.945180,49.724538 -57.945089,49.724862 -57.944870,49.725035 -57.944651,49.725190 -57.944642,49.725442 -57.944551,49.725757 -57.944419,49.726082 -57.944300,49.726416 -57.944126,49.726741 -57.943827,49.727040 -57.943457,49.727277 -57.943031,49.727488 -57.942577,49.727680 -57.942094,49.727828 -57.941639,49.728012 -57.940857,49.728468 -57.940432,49.728705 -57.940061,49.728924 -57.939720,49.729187 -57.939364,49.729451 -57.938952,49.729661 -57.938553,49.729871 -57.938485,49.729917 -57.938141,49.730100 -57.937744,49.730373 -57.937389,49.730654 -57.937062,49.730972 -57.936818,49.731298 -57.936603,49.731614 -57.936535,49.731714 -57.936427,49.731859 -57.936205,49.731851 -57.935911,49.731746 -57.935549,49.731668 -57.935131,49.731572 -57.934686,49.731540 -57.934230,49.731633 -57.933803,49.731790 -57.933404,49.732000 -57.933034,49.732246 -57.932665,49.732501 -57.932309,49.732773 -57.931996,49.733073 -57.931765,49.733371 -57.931508,49.733697 -57.931279,49.734041 -57.931105,49.734375 -57.930944,49.734700 -57.930824,49.734926 -57.930756,49.735025 -57.930568,49.735351 -57.930324,49.735658 -57.930189,49.735839 -57.930094,49.735957 -57.929961,49.736264 -57.929870,49.736562 -57.929846,49.736778 -57.930042,49.736875 -57.930154,49.736937 -57.930101,49.737036 -57.929934,49.737038 -57.929837,49.737039 -57.929517,49.737005 -57.929216,49.737187 -57.928915,49.737442 -57.928643,49.737714 -57.928356,49.737968 -57.928098,49.738249 -57.927826,49.738539 -57.927582,49.738838 -57.927555,49.738883 -57.927338,49.739154 -57.927024,49.739445 -57.926682,49.739699 -57.926312,49.739945 -57.926054,49.740244 -57.926005,49.740586 -57.925872,49.740902 -57.925586,49.741165 -57.925342,49.741464 -57.925262,49.741671 -57.925209,49.741780 -57.925048,49.742078 -57.924971,49.742411 -57.924796,49.742719 -57.924439,49.742892 -57.924053,49.743066 -57.923654,49.743231 -57.923284,49.743450 -57.922871,49.743651 -57.922486,49.743861 -57.922088,49.744089 -57.921704,49.744335 -57.921334,49.744572 -57.920949,49.744800 -57.920550,49.744974 -57.920151,49.745175 -57.919866,49.745492 -57.919678,49.745844 -57.919533,49.746223 -57.919429,49.746602 -57.919367,49.747007 -57.919402,49.747385 -57.919479,49.747762 -57.919541,49.748139 -57.919493,49.748508 -57.919375,49.748869 -57.919243,49.749230 -57.919069,49.749591 -57.918881,49.749943 -57.918855,49.750043 -57.918856,49.750060 -57.918856,49.750078 -57.918820,49.750367 -57.918673,49.750674 -57.918569,49.751052 -57.918461,49.751935 -57.918381,49.752142 -57.918344,49.752358 -57.918136,49.754608 -57.918145,49.755049 -57.917981,49.755941 -57.917961,49.756337 -57.917872,49.756760 -57.917700,49.757256 -57.917703,49.757400 -57.917524,49.758193 -57.917403,49.758437 -57.917130,49.758682 -57.916981,49.758872 -57.916849,49.759197 -57.916660,49.759513 -57.916234,49.759768 -57.915867,49.760140 -57.915542,49.760610 -57.915315,49.761098 -57.915205,49.761881 -57.914946,49.762891 -57.914841,49.763179 -57.914730,49.763936 -57.914660,49.764665 -57.914543,49.765071 -57.914472,49.765728 -57.914302,49.766260 -57.914206,49.766369 -57.913957,49.766380 -57.913792,49.766489 -57.913165,49.767132 -57.912960,49.767287 -57.912661,49.767631 -57.912339,49.768209 -57.912101,49.768895 -57.911972,49.769381 -57.911877,49.769535 -57.911734,49.770031 -57.911639,49.770167 -57.911528,49.770131 -57.911331,49.770016 -57.911148,49.769865 -57.910644,49.769653 -57.910391,49.769502 -57.910139,49.769405 -57.909441,49.769203 -57.908912,49.769154 -57.908106,49.769115 -57.907911,49.769062 -57.907632,49.769038 -57.906962,49.768854 -57.906280,49.768733 -57.905806,49.768674 -57.905265,49.768687 -57.905057,49.768716 -57.904947,49.768771 -57.904701,49.768989 -57.904111,49.769353 -57.903876,49.769427 -57.903712,49.769536 -57.903126,49.770143 -57.902796,49.770335 -57.902149,49.770646 -57.901876,49.770891 -57.901396,49.771254 -57.900823,49.771798 -57.900540,49.772250 -57.899830,49.772912 -57.899804,49.773011 -57.899615,49.773283 -57.899064,49.773521 -57.898700,49.774153 -57.898497,49.774416 -57.898140,49.774670 -57.897435,49.775584 -57.896725,49.776219 -57.896591,49.776517 -57.896346,49.776771 -57.896045,49.777025 -57.895729,49.777216 -57.895140,49.777671 -57.894652,49.778313 -57.894450,49.778638 -57.894285,49.778775 -57.893511,49.778979 -57.892807,49.779209 -57.892449,49.779391 -57.891570,49.779938 -57.891297,49.780174 -57.891036,49.780347 -57.890472,49.780639 -57.890155,49.780758 -57.889868,49.781021 -57.889448,49.781591 -57.889228,49.781710 -57.889189,49.781854 -57.889106,49.781909 -57.889009,49.781891 -57.888912,49.781919 -57.888514,49.782210 -57.888431,49.782220 -57.888281,49.782356 -57.888100,49.782357 -57.888004,49.782385 -57.887551,49.782676 -57.887399,49.782731 -57.887166,49.782904 -57.887000,49.782968 -57.886672,49.783241 -57.886618,49.783340 -57.886482,49.783485 -57.885932,49.783822 -57.884387,49.784409 -57.884095,49.784411 -57.883587,49.784721 -57.883519,49.784803 -57.883638,49.784442 -57.883484,49.784380 -57.882928,49.784384 -57.882846,49.784457 -57.882834,49.784565 -57.882918,49.784600 -57.882891,49.784655 -57.882737,49.784584 -57.882626,49.784567 -57.882391,49.784649 -57.881786,49.785014 -57.881208,49.785288 -57.880769,49.785570 -57.880438,49.785744 -57.880071,49.786151 -57.880016,49.786205 -57.879756,49.786450 -57.879344,49.786696 -57.878988,49.786969 -57.878626,49.786927 -57.878159,49.787209 -57.877967,49.787354 -57.877732,49.787455 -57.877527,49.787592 -57.877431,49.787700 -57.876565,49.788192 -57.876344,49.788266 -57.875987,49.788476 -57.875793,49.788513 -57.874830,49.789069 -57.874351,49.789459 -57.873730,49.789716 -57.873277,49.789971 -57.873086,49.790171 -57.872756,49.790389 -57.872675,49.790506 -57.872426,49.790580 -57.872276,49.790707 -57.872153,49.790825 -57.872074,49.791096 -57.871720,49.793041 -57.871824,49.793427 -57.871844,49.793751 -57.871920,49.794119 -57.871942,49.794559 -57.872086,49.794864 -57.872131,49.795035 -57.872167,49.795511 -57.872271,49.795888 -57.872291,49.796212 -57.872394,49.796535 -57.872393,49.797236 -57.872357,49.797579 -57.872387,49.797695 -57.872330,49.798370 -57.872350,49.798703 -57.872438,49.798972 -57.872537,49.799079 -57.872761,49.799177 -57.872917,49.799319 -57.873330,49.799910 -57.873417,49.800098 -57.873436,49.800377 -57.873536,49.800538 -57.873627,49.800960 -57.873700,49.801130 -57.873677,49.801409 -57.873517,49.801797 -57.873466,49.802058 -57.873236,49.802411 -57.873160,49.802780 -57.873253,49.803319 -57.873153,49.803959 -57.872705,49.804547 -57.872540,49.804674 -57.872445,49.804800 -57.872357,49.805296 -57.872301,49.806834 -57.872454,49.807598 -57.872465,49.808218 -57.872570,49.808622 -57.872573,49.808802 -57.872704,49.809161 -57.872473,49.810224 -57.872214,49.810469 -57.872092,49.810677 -57.871207,49.811709 -57.870937,49.812133 -57.870593,49.813107 -57.870530,49.813450 -57.870243,49.814513 -57.869728,49.816037 -57.869390,49.816534 -57.869231,49.816976 -57.868984,49.817176 -57.868291,49.818063 -57.868017,49.818299 -57.867977,49.818362 -57.867633,49.818580 -57.867469,49.818734 -57.867166,49.818881 -57.866808,49.819108 -57.866700,49.819253 -57.866507,49.819380 -57.866038,49.819555 -57.865859,49.819682 -57.865707,49.819728 -57.865597,49.819801 -57.865169,49.819948 -57.865073,49.820003 -57.864672,49.820113 -57.864272,49.820305 -57.864022,49.820334 -57.863396,49.820285 -57.863203,49.820394 -57.863010,49.820486 -57.862983,49.820558 -57.863027,49.820683 -57.862949,49.820954 -57.862864,49.820882 -57.862873,49.820604 -57.862789,49.820586 -57.862623,49.820596 -57.862457,49.820643 -57.862377,49.820859 -57.862433,49.820859 -57.862825,49.821009 -57.862392,49.820940 -57.862282,49.820968 -57.862214,49.821058 -57.862144,49.821014 -57.862086,49.820933 -57.861934,49.820934 -57.861824,49.821007 -57.861729,49.821134 -57.861538,49.821378 -57.861155,49.821723 -57.861031,49.821787 -57.860664,49.822239 -57.860205,49.823007 -57.860085,49.823332 -57.859908,49.824313 -57.859969,49.824592 -57.859967,49.825293 -57.860056,49.825598 -57.860142,49.825760 -57.860104,49.825931 -57.860009,49.826058 -57.859932,49.826445 -57.860161,49.826839 -57.860087,49.827334 -57.860181,49.827927 -57.860311,49.828187 -57.860400,49.828537 -57.860838,49.828894 -57.860955,49.829244 -57.861055,49.829369 -57.861187,49.829781 -57.861315,49.829969 -57.861583,49.830174 -57.861697,49.830299 -57.861842,49.830658 -57.862211,49.831051 -57.862393,49.831122 -57.862592,49.831390 -57.862289,49.831518 -57.862392,49.831859 -57.862714,49.831983 -57.862743,49.832028 -57.863077,49.832043 -57.863632,49.832021 -57.864005,49.831847 -57.864059,49.831775 -57.864073,49.831775 -57.864267,49.831764 -57.864448,49.831781 -57.864725,49.831716 -57.864851,49.831715 -57.864935,49.831777 -57.865088,49.831776 -57.865558,49.831620 -57.865613,49.831565 -57.865974,49.831581 -57.866307,49.831506 -57.866830,49.831206 -57.866941,49.831214 -57.867093,49.831123 -57.867562,49.830957 -57.867783,49.830839 -57.868047,49.830864 -57.868285,49.830943 -57.868274,49.831078 -57.868467,49.830977 -57.868620,49.830985 -57.868484,49.831175 -57.868361,49.831275 -57.867879,49.831557 -57.867699,49.831577 -57.866981,49.831870 -57.867037,49.831879 -57.867340,49.831759 -57.867342,49.831858 -57.867107,49.831923 -57.867220,49.832030 -57.867760,49.831891 -57.867802,49.831927 -57.867665,49.832027 -57.867001,49.832221 -57.866864,49.832339 -57.867045,49.832337 -57.867101,49.832364 -57.867007,49.832535 -57.866814,49.832663 -57.866675,49.832664 -57.866565,49.832719 -57.866580,49.832808 -57.866779,49.833032 -57.866781,49.833113 -57.866919,49.833085 -57.867071,49.833021 -57.867470,49.832766 -57.867608,49.832711 -57.867816,49.832700 -57.867858,49.832736 -57.867320,49.832956 -57.867170,49.833101 -57.866757,49.833329 -57.866606,49.833474 -57.866607,49.833528 -57.866663,49.833518 -57.867116,49.833218 -57.867310,49.833172 -57.867368,49.833279 -57.866886,49.833544 -57.866554,49.833663 -57.866401,49.833682 -57.866112,49.833846 -57.866279,49.833854 -57.866363,49.833889 -57.866295,49.833962 -57.866226,49.833971 -57.865938,49.834189 -57.865676,49.834308 -57.865456,49.834481 -57.865056,49.834637 -57.864987,49.834709 -57.864976,49.834835 -57.865401,49.835300 -57.865808,49.835522 -57.865878,49.835539 -57.866349,49.835401 -57.866737,49.835317 -57.866945,49.835297 -57.867141,49.835386 -57.867349,49.835366 -57.867779,49.835282 -57.867875,49.835227 -57.868304,49.835098 -57.868568,49.835078 -57.868652,49.835131 -57.868640,49.835222 -57.868558,49.835285 -57.869071,49.835218 -57.869292,49.835154 -57.869543,49.835152 -57.869532,49.835314 -57.869727,49.835357 -57.869520,49.835467 -57.869301,49.835657 -57.869093,49.835686 -57.868926,49.835642 -57.868634,49.835662 -57.868193,49.835863 -57.868142,49.836134 -57.868302,49.836528 -57.868416,49.836698 -57.868862,49.836767 -57.869139,49.836693 -57.869249,49.836602 -57.869553,49.836528 -57.869901,49.836516 -57.870416,49.836539 -57.870472,49.836566 -57.869986,49.836615 -57.869973,49.836642 -57.870391,49.836683 -57.870653,49.836556 -57.870751,49.836609 -57.871001,49.836616 -57.870849,49.836680 -57.870406,49.836755 -57.870351,49.836819 -57.870339,49.836891 -57.870673,49.836915 -57.870714,49.836897 -57.870741,49.836816 -57.870962,49.836751 -57.871129,49.836750 -57.871448,49.836685 -57.871739,49.836673 -57.872405,49.836596 -57.872891,49.836503 -57.873058,49.836520 -57.873035,49.836790 -57.872647,49.836882 -57.872397,49.836893 -57.872217,49.836940 -57.872022,49.836941 -57.871898,49.836969 -57.871675,49.836944 -57.871465,49.836891 -57.871298,49.836884 -57.871243,49.836911 -57.871384,49.837000 -57.871398,49.837045 -57.871246,49.837082 -57.871150,49.837145 -57.871192,49.837181 -57.871360,49.837216 -57.871651,49.837160 -57.871650,49.837097 -57.871913,49.837050 -57.872080,49.837067 -57.872663,49.837017 -57.872942,49.837033 -57.873111,49.837158 -57.873112,49.837203 -57.873349,49.837228 -57.873197,49.837328 -57.873031,49.837338 -57.872768,49.837403 -57.872588,49.837476 -57.872143,49.837453 -57.871922,49.837562 -57.871686,49.837564 -57.871561,49.837610 -57.871103,49.837659 -57.870949,49.837570 -57.870030,49.837523 -57.869586,49.837580 -57.869380,49.837698 -57.869282,49.837699 -57.869314,49.837897 -57.869356,49.837932 -57.869246,49.837996 -57.868884,49.837999 -57.868135,49.838059 -57.867747,49.838160 -57.867539,49.838189 -57.867094,49.838183 -57.867012,49.838301 -57.867111,49.838363 -57.867333,49.838325 -57.867694,49.838332 -57.868098,49.838374 -57.868030,49.838419 -57.867640,49.838395 -57.867419,49.838469 -57.867657,49.838548 -57.867657,49.838593 -57.867406,49.838523 -57.867325,49.838658 -57.867535,49.838738 -57.867535,49.838765 -57.867467,49.838837 -57.866818,49.839103 -57.866001,49.839271 -57.865474,49.839383 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-56.662987,53.863739 -56.348162,54.005473</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-56.443960,53.863794 -56.445038,53.863739 -56.447045,53.863748 -56.447046,53.863748 -56.447046,53.863748 -56.449053,53.863757 -56.449053,53.863757 -56.449053,53.863757 -56.450877,53.863766 -56.450877,53.863766 -56.450877,53.863766 -56.452884,53.863775 -56.453863,53.863839 -56.454421,53.863827 -56.456175,53.863939 -56.458111,53.864052 -56.458111,53.864052 -56.458111,53.864052 -56.460117,53.864169 -56.460217,53.864178 -56.460256,53.864177 -56.462079,53.864293 -56.463201,53.864400 -56.463304,53.864401 -56.465308,53.864625 -56.465430,53.864655 -56.465574,53.864657 -56.467396,53.864880 -56.467396,53.864880 -56.467396,53.864880 -56.469085,53.865088 -56.470956,53.865298 -56.471137,53.865342 -56.471346,53.865344 -56.472629,53.865543 -56.473755,53.865748 -56.474865,53.865884 -56.475397,53.866019 -56.475898,53.866033 -56.477901,53.866365 -56.478250,53.866462 -56.479570,53.866704 -56.480752,53.866989 -56.481915,53.867201 -56.482266,53.867302 -56.483210,53.867475 -56.485030,53.867914 -56.485283,53.867995 -56.485565,53.868050 -56.486936,53.868417 -56.488486,53.868791 -56.488486,53.868791 -56.488486,53.868791 -56.490306,53.869231 -56.490946,53.869435 -56.491474,53.869546 -56.493292,53.870093 -56.493719,53.870244 -56.493883,53.870281 -56.495519,53.870827 -56.495519,53.870827 -56.495519,53.870827 -56.496863,53.871276 -56.498382,53.871733 -56.498809,53.871883 -56.498974,53.871920 -56.500610,53.872466 -56.501634,53.872846 -56.501672,53.872855 -56.503307,53.873509 -56.503307,53.873509 -56.503307,53.873509 -56.504942,53.874163 -56.505262,53.874356 -56.505639,53.874459 -56.506750,53.874958 -56.508030,53.875470 -56.508085,53.875504 -56.508160,53.875523 -56.509625,53.876202 -56.510319,53.876566 -56.510823,53.876768 -56.512143,53.876695 -56.512175,53.876696 -56.512282,53.876688 -56.514291,53.876588 -56.514739,53.876605 -56.515691,53.876556 -56.516928,53.876561 -56.517987,53.876503 -56.518447,53.876519 -56.519525,53.876464 -56.521532,53.876472 -56.521532,53.876472 -56.521532,53.876472 -56.523358,53.876479 -56.524222,53.876535 -56.524756,53.876522 -56.526065,53.876598 -56.527372,53.876603 -56.528352,53.876666 -56.528909,53.876654 -56.530664,53.876765 -56.532601,53.876876 -56.534184,53.877022 -56.534231,53.877023 -56.535245,53.877147 -56.536430,53.877215 -56.538014,53.877361 -56.538060,53.877361 -56.539751,53.877567 -56.541623,53.877776 -56.541745,53.877806 -56.541889,53.877807 -56.543712,53.878030 -56.543769,53.878044 -56.543834,53.878045 -56.545119,53.878243 -56.546755,53.878539 -56.548572,53.878840 -56.548630,53.878856 -56.548945,53.878904 -56.550767,53.879235 -56.550767,53.879235 -56.550767,53.879235 -56.552589,53.879565 -56.552589,53.879565 -56.552589,53.879565 -56.554411,53.879895 -56.554763,53.879996 -56.555707,53.880168 -56.557528,53.880606 -56.557528,53.880606 -56.557528,53.880606 -56.559349,53.881044 -56.559349,53.881044 -56.559349,53.881045 -56.559993,53.881200 -56.560240,53.881187 -56.560689,53.881204 -56.561640,53.881155 -56.563465,53.881161 -56.563465,53.881161 -56.563465,53.881161 -56.565473,53.881169 -56.566339,53.881225 -56.566872,53.881211 -56.568181,53.881286 -56.569306,53.881290 -56.570171,53.881346 -56.570704,53.881333 -56.572711,53.881448 -56.572811,53.881457 -56.572850,53.881456 -56.574674,53.881571 -56.575798,53.881677 -56.575900,53.881677 -56.577296,53.881832 -56.578504,53.881908 -56.579628,53.882014 -56.579730,53.882014 -56.581736,53.882237 -56.581858,53.882267 -56.582002,53.882268 -56.583693,53.882473 -56.585565,53.882681 -56.585745,53.882726 -56.585952,53.882727 -56.587239,53.882925 -56.589061,53.883255 -56.589061,53.883255 -56.589061,53.883255 -56.590884,53.883585 -56.590884,53.883585 -56.590884,53.883585 -56.592706,53.883914 -56.592706,53.883914 -56.592706,53.883914 -56.594342,53.884210 -56.596160,53.884510 -56.596698,53.884659 -56.598366,53.884982 -56.599739,53.885348 -56.601290,53.885721 -56.601290,53.885721 -56.601290,53.885721 -56.603112,53.886159 -56.603112,53.886159 -56.603112,53.886159 -56.604934,53.886596 -56.606068,53.886958 -56.606695,53.887098 -56.608040,53.887545 -56.609561,53.888001 -56.609989,53.888151 -56.610154,53.888188 -56.611792,53.888732 -56.611792,53.888732 -56.611792,53.888732 -56.613137,53.889179 -56.614659,53.889635 -56.616248,53.890193 -56.616315,53.890210 -56.617952,53.890862 -56.618272,53.891055 -56.618650,53.891157 -56.619763,53.891656 -56.621045,53.892166 -56.621045,53.892166 -56.621045,53.892166 -56.622682,53.892818 -56.622737,53.892851 -56.622810,53.892870 -56.624280,53.893549 -56.625298,53.894081 -56.626289,53.894525 -56.626403,53.894597 -56.627189,53.894960 -56.628644,53.895720 -56.628644,53.895720 -56.628644,53.895720 -56.630098,53.896479 -56.630098,53.896479 -56.630098,53.896479 -56.631552,53.897239 -56.631802,53.897410 -56.632300,53.897656 -56.633753,53.898524 -56.633753,53.898524 -56.633753,53.898524 -56.635025,53.899282 -56.635025,53.899282 -56.635025,53.899282 -56.636479,53.900150 -56.636850,53.900423 -56.637178,53.900596 -56.638449,53.901462 -56.638449,53.901462 -56.638449,53.901462 -56.639720,53.902329 -56.640280,53.902770 -56.640449,53.902865 -56.641456,53.903667 -56.642644,53.904578 -56.642774,53.904687 -56.642807,53.904706 -56.643896,53.905572 -56.644053,53.905785 -56.644388,53.905987 -56.645476,53.906961 -56.645476,53.906961 -56.645476,53.906961 -56.646327,53.907723 -56.647160,53.908386 -56.647472,53.908809 -56.648043,53.909169 -56.649130,53.910251 -56.649235,53.910417 -56.649385,53.910515 -56.650291,53.911489 -56.650291,53.911489 -56.650291,53.911489 -56.651196,53.912462 -56.651196,53.912462 -56.651196,53.912462 -56.652101,53.913435 -56.652149,53.913514 -56.652412,53.913787 -56.653316,53.914868 -56.653469,53.915140 -56.653837,53.915562 -56.654200,53.916104 -56.654633,53.916570 -56.654814,53.916870 -56.655465,53.917616 -56.656187,53.918697 -56.656437,53.919212 -56.656635,53.919466 -56.656979,53.920155 -56.657448,53.920858 -56.657698,53.921372 -56.657896,53.921626 -56.658435,53.922706 -56.658435,53.922706 -56.658435,53.922706 -56.658975,53.923786 -56.658975,53.923786 -56.658975,53.923786 -56.659514,53.924867 -56.659586,53.925043 -56.659620,53.925088 -56.660158,53.926276 -56.660386,53.926871 -56.660398,53.926889 -56.660616,53.927546 -56.660949,53.928214 -56.661323,53.929138 -56.661323,53.929173 -56.661344,53.929206 -56.661700,53.930393 -56.661700,53.930411 -56.661867,53.931119 -56.661982,53.931833 -56.662230,53.932660 -56.662230,53.932677 -56.662397,53.933385 -56.662571,53.934464 -56.662570,53.934483 -56.662584,53.934546 -56.662757,53.935733 -56.662757,53.935733 -56.662757,53.935733 -56.662931,53.936920 -56.662903,53.937185 -56.662987,53.937747 -56.662979,53.938825 -56.662979,53.938825 -56.662979,53.938825 -56.662969,53.940012 -56.662969,53.940012 -56.662969,53.940012 -56.662961,53.941090 -56.662961,53.941090 -56.662961,53.941090 -56.662951,53.942277 -56.662951,53.942277 -56.662951,53.942277 -56.662942,53.943463 -56.662836,53.944043 -56.662858,53.944372 -56.662673,53.945409 -56.662488,53.946554 -56.662472,53.946613 -56.662474,53.946636 -56.662282,53.947714 -56.662104,53.948378 -56.662103,53.948438 -56.661842,53.949263 -56.661715,53.949977 -56.661537,53.950642 -56.661537,53.950701 -56.661161,53.951887 -56.661087,53.951993 -56.661084,53.952115 -56.660750,53.952876 -56.660445,53.953465 -56.660229,53.954149 -56.660154,53.954255 -56.660152,53.954377 -56.659818,53.955139 -56.659260,53.956216 -56.659260,53.956216 -56.658703,53.957293 -56.658703,53.957293 -56.658145,53.958370 -56.658145,53.958370 -56.657588,53.959447 -56.657417,53.959655 -56.657127,53.960213 -56.656646,53.960912 -56.656290,53.961600 -56.656120,53.961809 -56.655829,53.962366 -56.655089,53.963443 -56.654742,53.963822 -56.654556,53.964134 -56.653791,53.965025 -56.653196,53.965804 -56.652984,53.966026 -56.652893,53.966178 -56.651969,53.967254 -56.651714,53.967507 -56.651652,53.967604 -56.650894,53.968399 -56.650123,53.969298 -56.649868,53.969551 -56.649806,53.969648 -56.648883,53.970616 -56.648241,53.971223 -56.648226,53.971245 -56.647120,53.972212 -56.647120,53.972212 -56.646014,53.973180 -56.645687,53.973369 -56.645514,53.973592 -56.644669,53.974250 -56.643803,53.975007 -56.643803,53.975007 -56.642697,53.975974 -56.642641,53.976007 -56.642610,53.976050 -56.641458,53.976919 -56.640556,53.977520 -56.639804,53.978105 -56.639681,53.978173 -56.639064,53.978637 -56.637776,53.979496 -56.637776,53.979496 -56.636488,53.980355 -56.636197,53.980503 -56.635779,53.980797 -56.634308,53.981655 -56.634308,53.981655 -56.633020,53.982407 -56.633020,53.982407 -56.631549,53.983265 -56.631086,53.983485 -56.630792,53.983678 -56.629321,53.984428 -56.629321,53.984428 -56.627851,53.985179 -56.627851,53.985179 -56.626380,53.985929 -56.625632,53.986260 -56.625470,53.986360 -56.624469,53.986797 -56.623439,53.987322 -56.621868,53.988018 -56.621824,53.988043 -56.620171,53.988685 -56.620171,53.988685 -56.618877,53.989187 -56.617753,53.989679 -56.617391,53.989772 -56.617048,53.989969 -56.615395,53.990611 -56.615337,53.990625 -56.615292,53.990651 -56.613724,53.991176 -56.612191,53.991621 -56.610834,53.992060 -56.610834,53.992060 -56.609181,53.992594 -56.609048,53.992622 -56.608584,53.992777 -56.607051,53.993222 -56.605693,53.993661 -56.605186,53.993767 -56.603918,53.994151 -56.602083,53.994577 -56.602083,53.994577 -56.600249,53.995002 -56.600249,53.995002 -56.598686,53.995364 -56.597303,53.995721 -56.595788,53.995994 -56.595081,53.996179 -56.593921,53.996361 -56.592911,53.996595 -56.592038,53.996742 -56.591606,53.996859 -56.589772,53.997176 -56.588402,53.997368 -56.588356,53.997379 -56.587240,53.997507 -56.586106,53.997703 -56.584536,53.997923 -56.584476,53.997922 -56.584422,53.997935 -56.582540,53.998130 -56.580841,53.998324 -56.580703,53.998323 -56.580574,53.998353 -56.578692,53.998548 -56.576993,53.998742 -56.576914,53.998741 -56.576839,53.998759 -56.575354,53.998876 -56.573409,53.998973 -56.571647,53.999071 -56.571615,53.999070 -56.571508,53.999078 -56.569563,53.999175 -56.567801,53.999273 -56.567338,53.999257 -56.566258,53.999313 -56.564244,53.999305 -56.564244,53.999305 -56.562230,53.999298 -56.562230,53.999298 -56.560400,53.999291 -56.560400,53.999291 -56.558386,53.999284 -56.557403,53.999220 -56.556844,53.999233 -56.555207,53.999130 -56.553600,53.999596 -56.553375,53.999640 -56.552961,53.999771 -56.551632,54.000113 -56.550111,54.000554 -56.549650,54.000644 -56.548932,54.000860 -56.547369,54.001222 -56.545985,54.001578 -56.544841,54.001784 -56.544139,54.001973 -56.542968,54.002176 -56.541775,54.002451 -56.540554,54.002656 -56.540093,54.002776 -56.538264,54.003063 -56.536617,54.003347 -56.536617,54.003347 -56.534783,54.003663 -56.533413,54.003855 -56.533366,54.003866 -56.532057,54.004015 -56.530556,54.004249 -56.529547,54.004382 -56.529516,54.004390 -56.527682,54.004598 -56.527544,54.004598 -56.527415,54.004627 -56.525398,54.004835 -56.525369,54.004835 -56.524166,54.004932 -56.522334,54.005033 -56.522302,54.005032 -56.522195,54.005040 -56.521005,54.005099 -56.519985,54.005215 -56.519906,54.005215 -56.519830,54.005232 -56.516943,54.005380 -56.515702,54.005375 -56.514640,54.005434 -56.514178,54.005417 -56.513096,54.005473 -56.511083,54.005464 -56.511083,54.005464 -56.509069,54.005456 -56.509069,54.005456 -56.507238,54.005449 -56.507238,54.005449 -56.505224,54.005440 -56.504241,54.005377 -56.503682,54.005389 -56.502621,54.005322 -56.501380,54.005317 -56.498945,54.005159 -56.498608,54.005158 -56.497208,54.005002 -56.496067,54.004930 -56.494124,54.004817 -56.492536,54.004671 -56.492488,54.004671 -56.490660,54.004447 -56.490660,54.004447 -56.488832,54.004224 -56.488297,54.004089 -56.487795,54.004075 -56.486299,54.003828 -56.484994,54.003668 -56.484935,54.003653 -56.484870,54.003653 -56.483582,54.003454 -56.481942,54.003157 -56.480120,54.002855 -56.480062,54.002839 -56.479746,54.002791 -56.477919,54.002459 -56.477566,54.002358 -56.476619,54.002185 -56.475433,54.001900 -56.474267,54.001688 -56.473695,54.001524 -56.472430,54.001278 -56.471055,54.000910 -56.469500,54.000536 -56.468858,54.000331 -56.468329,54.000220 -56.467079,53.999845 -56.465851,53.999549 -56.464716,53.999187 -56.464086,53.999045 -56.462446,53.998499 -56.462446,53.998499 -56.461099,53.998050 -56.459575,53.997592 -56.457984,53.997032 -56.457916,53.997015 -56.456277,53.996361 -56.456277,53.996361 -56.455158,53.995913 -56.454064,53.995549 -56.452867,53.995106 -56.452604,53.994946 -56.452300,53.994863 -56.450844,53.994209 -56.450737,53.994141 -56.450629,53.994111 -56.449099,53.993398 -56.447751,53.992793 -56.447644,53.992725 -56.447536,53.992695 -56.445899,53.991932 -56.445786,53.991859 -56.445213,53.991593 -56.443759,53.990832 -56.443759,53.990832 -56.442305,53.990070 -56.442056,53.989898 -56.441557,53.989651 -56.440648,53.989107 -56.439580,53.988547 -56.439331,53.988376 -56.438832,53.988128 -56.437380,53.987259 -56.437009,53.986985 -56.436681,53.986811 -56.435748,53.986173 -56.434840,53.985629 -56.434469,53.985356 -56.434141,53.985182 -56.432872,53.984313 -56.432465,53.983992 -56.432308,53.983903 -56.431040,53.982926 -56.430910,53.982817 -56.430877,53.982798 -56.429791,53.981930 -56.429634,53.981717 -56.429300,53.981514 -56.428771,53.981039 -56.428251,53.980683 -56.427223,53.980556 -56.425347,53.980346 -56.425166,53.980301 -56.424955,53.980299 -56.423670,53.980100 -56.421845,53.979768 -56.421845,53.979768 -56.420019,53.979435 -56.420019,53.979435 -56.418381,53.979137 -56.416561,53.978835 -56.416502,53.978818 -56.416186,53.978770 -56.414361,53.978437 -56.414009,53.978336 -56.413063,53.978163 -56.411239,53.977722 -56.410985,53.977641 -56.410703,53.977586 -56.409328,53.977218 -56.407775,53.976842 -56.407775,53.976842 -56.405952,53.976402 -56.404818,53.976039 -56.404189,53.975897 -56.402843,53.975448 -56.401321,53.974989 -56.400893,53.974839 -56.400728,53.974801 -56.399089,53.974254 -56.399089,53.974254 -56.397743,53.973804 -56.396222,53.973346 -56.394633,53.972785 -56.394565,53.972768 -56.392928,53.972113 -56.392608,53.971919 -56.392230,53.971816 -56.391118,53.971316 -56.389837,53.970803 -56.389837,53.970803 -56.388200,53.970147 -56.388143,53.970113 -56.388067,53.970093 -56.386603,53.969413 -56.385586,53.968879 -56.384596,53.968434 -56.384490,53.968365 -56.384382,53.968335 -56.382747,53.967572 -56.382634,53.967499 -56.382061,53.967233 -56.380609,53.966470 -56.380361,53.966299 -56.379863,53.966051 -56.378594,53.965289 -56.378594,53.965289 -56.377143,53.964419 -56.377143,53.964419 -56.375874,53.963657 -56.375874,53.963657 -56.374424,53.962787 -56.374054,53.962514 -56.373726,53.962339 -56.372459,53.961470 -56.372459,53.961470 -56.371192,53.960600 -56.370634,53.960159 -56.370466,53.960062 -56.369462,53.959258 -56.368279,53.958345 -56.368149,53.958235 -56.368116,53.958216 -56.367112,53.957412 -56.365929,53.956499 -56.365297,53.955967 -56.365277,53.955954 -56.364194,53.954978 -56.364107,53.954848 -56.363951,53.954751 -56.363050,53.953883 -56.362995,53.953798 -56.362905,53.953741 -56.361824,53.952656 -56.361720,53.952490 -56.361570,53.952391 -56.360671,53.951416 -56.360671,53.951416 -56.359771,53.950440 -56.359771,53.950440 -56.358872,53.949465 -56.358826,53.949387 -56.358564,53.949112 -56.357666,53.948029 -56.357516,53.947758 -56.357150,53.947334 -56.356791,53.946791 -56.356361,53.946324 -56.356183,53.946026 -56.355536,53.945276 -56.354821,53.944193 -56.354821,53.944193 -56.354107,53.943111 -56.353861,53.942596 -56.353664,53.942341 -56.353133,53.941259 -56.353133,53.941259 -56.352793,53.940569 -56.352329,53.939865 -56.351600,53.938338 -56.351547,53.938260 -56.351298,53.937489 -56.350954,53.936715 -56.350476,53.935744 -56.350156,53.934937 -56.350137,53.934909 -56.349789,53.933829 -56.349790,53.933748 -56.349740,53.933671 -56.349393,53.932483 -56.349394,53.932466 -56.349232,53.931757 -56.349122,53.931042 -56.348880,53.930215 -56.348881,53.930198 -56.348719,53.929489 -56.348553,53.928410 -56.348555,53.928391 -56.348541,53.928328 -56.348377,53.927140 -56.348377,53.927140 -56.348212,53.925953 -56.348242,53.925689 -56.348162,53.925126 -56.348179,53.924047 -56.348179,53.924047 -56.348197,53.922861 -56.348197,53.922861 -56.348214,53.921783 -56.348214,53.921783 -56.348232,53.920596 -56.348232,53.920596 -56.348251,53.919410 -56.348361,53.918832 -56.348342,53.918502 -56.348534,53.917465 -56.348728,53.916321 -56.348744,53.916262 -56.348743,53.916239 -56.348942,53.915161 -56.349126,53.914498 -56.349126,53.914437 -56.349393,53.913613 -56.349526,53.912899 -56.349709,53.912236 -56.349710,53.912176 -56.350093,53.910991 -56.350145,53.910919 -56.350147,53.910834 -56.350529,53.909758 -56.350758,53.909443 -56.350783,53.909147 -56.351349,53.907964 -56.351377,53.907929 -56.351460,53.907743 -56.351809,53.907078 -56.352042,53.906422 -56.352068,53.906387 -56.352069,53.906348 -56.352873,53.904826 -56.353358,53.904128 -56.353719,53.903441 -56.353719,53.903441 -56.353719,53.903441 -56.354283,53.902365 -56.354454,53.902158 -56.354749,53.901600 -56.355496,53.900526 -56.355496,53.900526 -56.355496,53.900526 -56.356243,53.899451 -56.356591,53.899074 -56.356780,53.898762 -56.357550,53.897873 -56.358150,53.897095 -56.358363,53.896874 -56.358455,53.896721 -56.359385,53.895648 -56.359641,53.895396 -56.359704,53.895299 -56.360466,53.894505 -56.361242,53.893608 -56.361498,53.893357 -56.361561,53.893259 -56.362489,53.892293 -56.363133,53.891689 -56.363149,53.891666 -56.363908,53.891007 -56.364527,53.890363 -56.365278,53.889657 -56.365549,53.889503 -56.365689,53.889325 -56.366797,53.888468 -56.366913,53.888405 -56.366964,53.888341 -56.367906,53.887639 -56.368698,53.886950 -56.368756,53.886916 -56.368790,53.886871 -56.369941,53.886008 -56.370844,53.885409 -56.371599,53.884826 -56.371721,53.884759 -56.372340,53.884295 -56.373631,53.883439 -56.373631,53.883439 -56.373631,53.883439 -56.374922,53.882583 -56.375211,53.882437 -56.375631,53.882143 -56.377104,53.881288 -56.377104,53.881288 -56.377104,53.881288 -56.378393,53.880539 -56.378393,53.880539 -56.378393,53.880539 -56.379866,53.879684 -56.379866,53.879684 -56.379866,53.879684 -56.381155,53.878936 -56.381617,53.878718 -56.381912,53.878525 -56.383384,53.877777 -56.383927,53.877538 -56.384077,53.877445 -56.385731,53.876698 -56.385915,53.876622 -56.385948,53.876602 -56.386949,53.876167 -56.387978,53.875644 -56.389547,53.874953 -56.389593,53.874926 -56.391245,53.874287 -56.391245,53.874287 -56.391245,53.874287 -56.392538,53.873787 -56.393662,53.873298 -56.394023,53.873206 -56.394366,53.873009 -56.396018,53.872370 -56.396078,53.872356 -56.396126,53.872329 -56.397687,53.871809 -56.399218,53.871366 -56.400573,53.870930 -56.400573,53.870930 -56.400573,53.870930 -56.402224,53.870399 -56.402356,53.870371 -56.402820,53.870217 -56.404351,53.869774 -56.405706,53.869337 -56.406211,53.869232 -56.407478,53.868850 -56.409309,53.868428 -56.409309,53.868428 -56.409309,53.868428 -56.410869,53.868068 -56.412250,53.867713 -56.412505,53.867668 -56.412789,53.867582 -56.414619,53.867160 -56.415490,53.867014 -56.415921,53.866898 -56.417325,53.866656 -56.418921,53.866322 -56.419512,53.866229 -56.419764,53.866162 -56.421593,53.865847 -56.422958,53.865657 -56.423005,53.865646 -56.424119,53.865520 -56.425250,53.865325 -56.426819,53.865107 -56.426876,53.865107 -56.426929,53.865095 -56.428805,53.864903 -56.430500,53.864711 -56.430637,53.864712 -56.430766,53.864682 -56.432643,53.864490 -56.434337,53.864298 -56.434418,53.864298 -56.434494,53.864280 -56.435970,53.864166 -56.437909,53.864071 -56.439666,53.863975 -56.439698,53.863976 -56.439805,53.863968 -56.441744,53.863873 -56.443501,53.863777 -56.443960,53.863794 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-59.319842,47.776902 -59.201664,47.843705</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-59.319842,47.826406 -59.319491,47.826550 -59.313748,47.828901 -59.311550,47.829238 -59.310061,47.829623 -59.306002,47.829935 -59.303634,47.830454 -59.301597,47.832636 -59.299290,47.834704 -59.296581,47.835586 -59.294042,47.836288 -59.292414,47.837628 -59.291595,47.839311 -59.290607,47.841176 -59.287057,47.840941 -59.284087,47.839683 -59.280746,47.838015 -59.278886,47.837988 -59.276617,47.838803 -59.274248,47.839322 -59.268059,47.839491 -59.265589,47.839714 -59.258240,47.841928 -59.252551,47.843578 -59.248661,47.843705 -59.248576,47.843705 -59.245651,47.843698 -59.241432,47.842163 -59.237653,47.840560 -59.235764,47.839758 -59.231674,47.839293 -59.225837,47.837070 -59.223749,47.835675 -59.218153,47.832792 -59.213637,47.830367 -59.212458,47.829612 -59.211391,47.827128 -59.209943,47.826259 -59.207984,47.825935 -59.206635,47.825362 -59.206237,47.824177 -59.205299,47.822763 -59.203921,47.821416 -59.201664,47.820203 -59.203876,47.817842 -59.205606,47.816800 -59.209066,47.814715 -59.211617,47.811990 -59.213447,47.811244 -59.216918,47.807133 -59.219128,47.804772 -59.221537,47.803003 -59.226214,47.800420 -59.229473,47.797742 -59.230563,47.796174 -59.230873,47.795037 -59.232742,47.793039 -59.235689,47.791498 -59.237757,47.790092 -59.241003,47.789440 -59.243241,47.787852 -59.246387,47.786904 -59.249533,47.785955 -59.251530,47.785026 -59.254136,47.783849 -59.258500,47.782402 -59.260497,47.781473 -59.262085,47.781386 -59.264281,47.781049 -59.264960,47.780322 -59.268075,47.778599 -59.270311,47.777011 -59.273047,47.776902 -59.273377,47.778565 -59.274716,47.781162 -59.279951,47.788456 -59.284179,47.794815 -59.286838,47.797211 -59.288988,47.800151 -59.292239,47.806349 -59.294011,47.810905 -59.297612,47.814713 -59.300943,47.818407 -59.302933,47.819503 -59.304545,47.822215 -59.306234,47.822423 -59.307784,47.823586 -59.309914,47.823726 -59.312583,47.824095 -59.315892,47.824988 -59.319842,47.826406 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-59.345122,47.826550 -59.248030,47.856311</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-59.319491,47.826550 -59.321092,47.826681 -59.326670,47.826758 -59.329911,47.828129 -59.333114,47.830752 -59.335915,47.832190 -59.338780,47.835176 -59.340294,47.837592 -59.341136,47.838708 -59.340722,47.841576 -59.341696,47.843763 -59.344059,47.845269 -59.345102,47.846978 -59.343676,47.848911 -59.344789,47.850142 -59.345122,47.851804 -59.339944,47.852913 -59.336022,47.852270 -59.333181,47.852084 -59.330202,47.852854 -59.328172,47.853010 -59.325601,47.852938 -59.323031,47.852866 -59.321139,47.852066 -59.317959,47.852243 -59.314439,47.852783 -59.311599,47.852597 -59.308889,47.853480 -59.304690,47.854748 -59.300591,47.856311 -59.297217,47.853869 -59.296176,47.852160 -59.294725,47.851292 -59.292394,47.850559 -59.287523,47.850527 -59.282884,47.851861 -59.281463,47.851767 -59.279403,47.851149 -59.277103,47.851189 -59.270232,47.852086 -59.266132,47.853648 -59.262311,47.853298 -59.258320,47.853130 -59.255210,47.852827 -59.252939,47.853641 -59.251009,47.854092 -59.248589,47.851036 -59.248030,47.848007 -59.249050,47.846916 -59.249260,47.845482 -59.248576,47.843705 -59.248661,47.843705 -59.252551,47.843578 -59.258240,47.841928 -59.265589,47.839714 -59.268059,47.839491 -59.274248,47.839322 -59.276617,47.838803 -59.278886,47.837988 -59.280746,47.838015 -59.284087,47.839683 -59.287057,47.840941 -59.290607,47.841176 -59.291595,47.839311 -59.292414,47.837628 -59.294042,47.836288 -59.296581,47.835586 -59.299290,47.834704 -59.301597,47.832636 -59.303634,47.830454 -59.306002,47.829935 -59.310061,47.829623 -59.311550,47.829238 -59.313748,47.828901 -59.319491,47.826550 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-57.755756,47.627998 -57.698258,47.652788</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-57.744963,47.628019 -57.749740,47.629343 -57.753403,47.631803 -57.755395,47.635022 -57.755658,47.636711 -57.755756,47.643467 -57.755511,47.645269 -57.753551,47.648498 -57.749912,47.650975 -57.745146,47.652321 -57.742756,47.652498 -57.718417,47.652788 -57.715641,47.652622 -57.712019,47.651759 -57.705382,47.649398 -57.704226,47.648934 -57.700564,47.646473 -57.698575,47.643252 -57.698315,47.641564 -57.698258,47.637281 -57.698505,47.635479 -57.700468,47.632251 -57.704109,47.629776 -57.708874,47.628432 -57.714037,47.628422 -57.714388,47.628520 -57.714718,47.628525 -57.723584,47.630031 -57.740044,47.627998 -57.744963,47.628019 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-98.513788,50.113819 -98.038358,50.293971</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-98.513788,50.203591 -98.513016,50.207079 -98.510222,50.210112 -98.505832,50.212229 -98.500513,50.213105 -98.496140,50.212819 -98.470369,50.208439 -98.469306,50.208229 -98.468134,50.207926 -98.440513,50.199834 -98.416367,50.197835 -98.413491,50.197396 -98.411855,50.196949 -98.404684,50.194636 -98.372621,50.193759 -98.338522,50.194915 -98.311643,50.199568 -98.279371,50.205459 -98.255300,50.210068 -98.213816,50.221791 -98.213753,50.221800 -98.213708,50.221821 -98.191356,50.227985 -98.153198,50.244205 -98.152295,50.244532 -98.152120,50.244620 -98.121344,50.255284 -98.121003,50.255345 -98.120673,50.255501 -98.116509,50.256289 -98.116499,50.256305 -98.114677,50.258181 -98.113970,50.258949 -98.092407,50.274615 -98.086706,50.285431 -98.086640,50.285502 -98.086620,50.285587 -98.083790,50.288610 -98.080257,50.290413 -98.073564,50.292823 -98.073124,50.292904 -98.072675,50.293117 -98.067337,50.293971 -98.061895,50.293450 -98.057179,50.291635 -98.054863,50.289897 -98.047444,50.282638 -98.046488,50.281543 -98.045158,50.278123 -98.045971,50.274637 -98.048804,50.271616 -98.050610,50.270547 -98.051433,50.270138 -98.051355,50.269094 -98.047202,50.261366 -98.041370,50.256629 -98.039687,50.254885 -98.038358,50.251466 -98.039172,50.247980 -98.041396,50.245418 -98.050462,50.238093 -98.050801,50.237921 -98.051069,50.237635 -98.053517,50.236540 -98.055486,50.235539 -98.055905,50.235472 -98.056208,50.235336 -98.065707,50.232869 -98.067479,50.231191 -98.068546,50.227755 -98.067344,50.226600 -98.066931,50.226131 -98.066779,50.226009 -98.063025,50.221722 -98.062899,50.221440 -98.062567,50.221152 -98.061238,50.217733 -98.062049,50.214248 -98.063463,50.212409 -98.064726,50.211150 -98.064868,50.209956 -98.065249,50.206043 -98.066049,50.203556 -98.067071,50.202131 -98.069749,50.199119 -98.070287,50.186137 -98.066203,50.181229 -98.061841,50.178368 -98.059172,50.175904 -98.057845,50.172485 -98.058655,50.169001 -98.058752,50.168897 -98.058781,50.168785 -98.061220,50.164747 -98.063918,50.161943 -98.068326,50.159847 -98.073647,50.158993 -98.078134,50.159423 -98.082535,50.158717 -98.090009,50.158484 -98.090148,50.154964 -98.090968,50.152147 -98.091864,50.150864 -98.098783,50.142723 -98.100707,50.140985 -98.105111,50.138887 -98.110428,50.138032 -98.113306,50.138306 -98.120622,50.133980 -98.119598,50.131805 -98.119012,50.129631 -98.119816,50.126147 -98.122633,50.123125 -98.124325,50.122108 -98.128938,50.119761 -98.131647,50.118679 -98.136961,50.117823 -98.142380,50.118339 -98.147080,50.120149 -98.149323,50.121818 -98.150396,50.122848 -98.151710,50.122636 -98.157130,50.123152 -98.158760,50.123602 -98.163678,50.125206 -98.163717,50.125223 -98.166259,50.124813 -98.171679,50.125327 -98.173310,50.125778 -98.178228,50.127381 -98.181300,50.128739 -98.184569,50.131566 -98.185150,50.133052 -98.189295,50.134645 -98.192302,50.137245 -98.196467,50.132980 -98.197945,50.131724 -98.202343,50.129622 -98.207657,50.128762 -98.213079,50.129274 -98.213138,50.129296 -98.217424,50.125517 -98.221721,50.119213 -98.224163,50.116784 -98.228558,50.114681 -98.233870,50.113819 -98.237677,50.114029 -98.254993,50.116542 -98.256607,50.116842 -98.261312,50.118647 -98.264585,50.121472 -98.265191,50.122428 -98.268414,50.128485 -98.268789,50.129733 -98.272979,50.131339 -98.274595,50.131037 -98.274221,50.126374 -98.275012,50.122888 -98.277817,50.119862 -98.282210,50.117757 -98.286254,50.116971 -98.293730,50.116282 -98.294997,50.116203 -98.300418,50.116710 -98.305125,50.118512 -98.313029,50.123091 -98.316306,50.125914 -98.316412,50.126182 -98.316624,50.126376 -98.322120,50.134998 -98.323150,50.137950 -98.322363,50.141436 -98.322220,50.141590 -98.322180,50.141750 -98.318899,50.147066 -98.325766,50.148196 -98.329092,50.148084 -98.332177,50.148371 -98.331986,50.146034 -98.330605,50.142555 -98.330188,50.140796 -98.330489,50.138407 -98.332145,50.133507 -98.332630,50.132410 -98.335432,50.129382 -98.336454,50.128724 -98.346916,50.122646 -98.350283,50.121196 -98.355592,50.120328 -98.360563,50.120735 -98.366135,50.121866 -98.366336,50.121940 -98.366587,50.121963 -98.371297,50.123763 -98.373507,50.125663 -98.377194,50.126005 -98.380921,50.127285 -98.385201,50.129340 -98.386185,50.129859 -98.389468,50.132679 -98.389784,50.133476 -98.392082,50.133955 -98.394502,50.131335 -98.395603,50.130630 -98.398872,50.128756 -98.402159,50.127350 -98.407468,50.126479 -98.412892,50.126980 -98.417605,50.128777 -98.418330,50.129251 -98.419336,50.129152 -98.424761,50.129652 -98.429475,50.131449 -98.432761,50.134268 -98.433335,50.135157 -98.435125,50.138410 -98.439094,50.139922 -98.441975,50.141583 -98.445262,50.144402 -98.445325,50.144560 -98.445461,50.144680 -98.446160,50.145705 -98.448436,50.146683 -98.450009,50.147468 -98.453298,50.150287 -98.454658,50.153700 -98.454535,50.155478 -98.454337,50.156360 -98.455355,50.160574 -98.456665,50.161329 -98.459956,50.164147 -98.460894,50.165802 -98.461633,50.167646 -98.462209,50.168040 -98.470176,50.174510 -98.480149,50.175744 -98.482152,50.176092 -98.484155,50.176660 -98.496877,50.181056 -98.499596,50.182281 -98.501469,50.183594 -98.504431,50.186132 -98.505853,50.187637 -98.507219,50.191049 -98.507263,50.191557 -98.508653,50.192620 -98.510562,50.194518 -98.511647,50.196565 -98.513507,50.202225 -98.513788,50.203591 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-99.658161,49.709176 -99.334903,49.881622</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-99.657458,49.874650 -99.654772,49.877711 -99.650476,49.879875 -99.645226,49.880812 -99.644775,49.880776 -99.644399,49.880836 -99.550418,49.881622 -99.545841,49.881161 -99.541107,49.879419 -99.537766,49.876640 -99.536326,49.873246 -99.536295,49.872365 -99.536534,49.866520 -99.529442,49.866651 -99.524633,49.866193 -99.519902,49.864450 -99.518804,49.863763 -99.478141,49.835345 -99.440595,49.835499 -99.436086,49.835033 -99.431363,49.833287 -99.428033,49.830504 -99.426603,49.827109 -99.426655,49.826847 -99.426571,49.826625 -99.425546,49.785002 -99.417533,49.778674 -99.393263,49.760155 -99.366874,49.754184 -99.362323,49.752470 -99.359005,49.749686 -99.357796,49.747358 -99.357656,49.746883 -99.349457,49.746602 -99.345760,49.746144 -99.341051,49.744394 -99.337734,49.741609 -99.336315,49.738213 -99.336330,49.738134 -99.336301,49.738061 -99.334903,49.720383 -99.335610,49.717047 -99.338310,49.713996 -99.342604,49.711847 -99.345818,49.711114 -99.358151,49.709363 -99.360173,49.709176 -99.365553,49.709624 -99.369428,49.710938 -99.375597,49.713916 -99.383655,49.716902 -99.398274,49.719794 -99.398438,49.719853 -99.398638,49.719869 -99.402133,49.721005 -99.411037,49.725001 -99.415885,49.726552 -99.416820,49.726956 -99.417641,49.727223 -99.422515,49.729408 -99.423729,49.730020 -99.426580,49.732240 -99.427091,49.732801 -99.432473,49.734509 -99.432640,49.734581 -99.432950,49.734667 -99.442109,49.737861 -99.442612,49.738086 -99.443070,49.738229 -99.452253,49.742073 -99.457948,49.744002 -99.458569,49.744277 -99.459141,49.744456 -99.468779,49.748557 -99.480695,49.752589 -99.483377,49.753773 -99.486704,49.756553 -99.487675,49.758195 -99.488925,49.761145 -99.489387,49.762897 -99.489593,49.764779 -99.490488,49.765703 -99.491921,49.769096 -99.492477,49.774184 -99.491796,49.777675 -99.489103,49.780731 -99.487516,49.781740 -99.484735,49.783244 -99.484747,49.783690 -99.484811,49.783869 -99.484891,49.783891 -99.485695,49.784213 -99.487248,49.784703 -99.493584,49.787421 -99.495021,49.788128 -99.498352,49.790908 -99.498459,49.791161 -99.498667,49.791345 -99.500738,49.794429 -99.503798,49.796148 -99.507005,49.798769 -99.507530,49.799417 -99.508645,49.799533 -99.510829,49.799881 -99.515552,49.801623 -99.517453,49.803208 -99.526228,49.804663 -99.526629,49.804798 -99.527176,49.804843 -99.531556,49.806398 -99.552627,49.817463 -99.563937,49.818997 -99.566153,49.818894 -99.571549,49.819331 -99.576277,49.821071 -99.576399,49.821172 -99.576558,49.821233 -99.583936,49.825595 -99.593318,49.828415 -99.600928,49.829273 -99.608465,49.830123 -99.610461,49.830448 -99.614397,49.831774 -99.617466,49.833251 -99.617736,49.833115 -99.622980,49.832179 -99.625727,49.832226 -99.630422,49.832606 -99.633074,49.832994 -99.637806,49.834731 -99.639578,49.836202 -99.639618,49.836210 -99.639772,49.836264 -99.639957,49.836279 -99.644690,49.838016 -99.647159,49.840065 -99.647835,49.840119 -99.652568,49.841855 -99.655914,49.844630 -99.657364,49.848023 -99.657315,49.848275 -99.657398,49.848490 -99.658161,49.871624 -99.657458,49.874650 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-97.370056,52.103088 -97.325177,52.156968</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-97.350741,52.109503 -97.350553,52.110703 -97.349683,52.112999 -97.348818,52.115400 -97.348531,52.115998 -97.348207,52.116457 -97.346466,52.118588 -97.345280,52.119638 -97.342946,52.120677 -97.342850,52.120691 -97.342774,52.120724 -97.342773,52.120724 -97.341781,52.121891 -97.341080,52.122839 -97.339769,52.124051 -97.337434,52.125089 -97.334632,52.125498 -97.333180,52.125443 -97.332326,52.125358 -97.330934,52.125131 -97.328482,52.124201 -97.326796,52.122764 -97.326329,52.121552 -97.325842,52.121008 -97.325177,52.119283 -97.325471,52.117839 -97.325773,52.117205 -97.325891,52.117077 -97.325938,52.116899 -97.326639,52.116039 -97.326995,52.114679 -97.327148,52.114526 -97.327194,52.114382 -97.327980,52.113318 -97.328051,52.113253 -97.328235,52.113007 -97.328712,52.112473 -97.329360,52.111922 -97.329389,52.111749 -97.329811,52.110643 -97.331322,52.109134 -97.331500,52.109048 -97.331867,52.108087 -97.332497,52.107290 -97.332818,52.106970 -97.332818,52.106970 -97.333779,52.106007 -97.334659,52.105294 -97.335803,52.104536 -97.338136,52.103498 -97.340936,52.103088 -97.343778,52.103370 -97.345858,52.104102 -97.347259,52.104802 -97.347398,52.104912 -97.347629,52.105000 -97.349316,52.106436 -97.349575,52.106833 -97.350335,52.108175 -97.350741,52.109503 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-97.367700,52.139258 -97.369389,52.140694 -97.370056,52.142419 -97.369764,52.143863 -97.369161,52.145132 -97.369109,52.145189 -97.369089,52.145275 -97.367664,52.147942 -97.367299,52.148907 -97.367253,52.149000 -97.367247,52.149036 -97.366204,52.151465 -97.365987,52.151886 -97.365925,52.151948 -97.365906,52.152013 -97.364505,52.154137 -97.363074,52.155519 -97.360739,52.156558 -97.357934,52.156968 -97.355586,52.156788 -97.354555,52.156603 -97.354346,52.156530 -97.354057,52.156501 -97.351603,52.155571 -97.349914,52.154135 -97.349248,52.152410 -97.349402,52.151304 -97.349836,52.150039 -97.350139,52.149395 -97.350293,52.149242 -97.350339,52.149097 -97.351350,52.147729 -97.351763,52.147071 -97.351802,52.146461 -97.352259,52.145059 -97.352298,52.145019 -97.352311,52.144976 -97.352317,52.144966 -97.351568,52.144742 -97.350003,52.144150 -97.348844,52.143608 -97.347156,52.142172 -97.346490,52.140447 -97.346947,52.138696 -97.348459,52.137187 -97.350793,52.136148 -97.350839,52.136142 -97.350875,52.136126 -97.351711,52.135898 -97.354432,52.135510 -97.354432,52.135510 -97.355620,52.135483 -97.355620,52.135483 -97.358464,52.135765 -97.358713,52.135859 -97.358949,52.135887 -97.361368,52.136564 -97.361685,52.136694 -97.362432,52.136929 -97.364294,52.137699 -97.365979,52.138369 -97.366996,52.138856 -97.367700,52.139258 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-90.455557,57.000845 -89.859253,57.251383</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-90.449970,57.000845 -90.455557,57.250257 -90.402005,57.251383 -90.339243,57.232820 -90.264538,57.215347 -90.201694,57.198312 -90.114903,57.162549 -90.079156,57.143355 -89.956075,57.094670 -89.877888,57.063914 -89.859253,57.050224 -89.860512,57.002023 -90.449970,57.000845 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-99.571608,52.746764 -99.421641,52.909093</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-99.494000,52.748081 -99.494159,52.748006 -99.499804,52.747068 -99.503389,52.747343 -99.506873,52.746764 -99.512680,52.747209 -99.515352,52.747931 -99.518314,52.748953 -99.525719,52.751507 -99.528133,52.752543 -99.531724,52.755349 -99.531839,52.755604 -99.532063,52.755789 -99.535463,52.760528 -99.535548,52.760738 -99.536084,52.761559 -99.537330,52.764092 -99.537919,52.766046 -99.537956,52.766803 -99.537889,52.770255 -99.537208,52.772710 -99.537310,52.772935 -99.540406,52.773490 -99.540623,52.773562 -99.540892,52.773582 -99.545982,52.775340 -99.546300,52.775537 -99.550934,52.777137 -99.554529,52.779942 -99.555455,52.781342 -99.557310,52.784998 -99.557320,52.785030 -99.557345,52.785069 -99.558594,52.787602 -99.559184,52.789557 -99.559692,52.793846 -99.559040,52.797226 -99.553248,52.808402 -99.553187,52.808469 -99.553171,52.808547 -99.550271,52.811635 -99.548903,52.812475 -99.548157,52.812877 -99.550095,52.814632 -99.551647,52.818057 -99.551596,52.818302 -99.551682,52.818512 -99.551887,52.824253 -99.551122,52.827323 -99.548220,52.830411 -99.547063,52.831134 -99.545549,52.831982 -99.548112,52.833980 -99.548497,52.834829 -99.551228,52.835771 -99.554828,52.838576 -99.556078,52.840724 -99.556788,52.842706 -99.557091,52.843984 -99.556498,52.846995 -99.556754,52.849156 -99.559169,52.850794 -99.562884,52.854083 -99.563916,52.855144 -99.565471,52.858570 -99.564742,52.862096 -99.563117,52.864150 -99.561939,52.865259 -99.564963,52.867617 -99.566527,52.869120 -99.567139,52.869964 -99.570656,52.875561 -99.571600,52.878144 -99.571608,52.879377 -99.570938,52.885732 -99.570587,52.886824 -99.570501,52.887405 -99.568276,52.892678 -99.568049,52.892940 -99.567975,52.893298 -99.566486,52.894748 -99.565070,52.896386 -99.564557,52.896627 -99.564280,52.896896 -99.558065,52.900617 -99.557647,52.900798 -99.556700,52.901341 -99.549942,52.904510 -99.547456,52.905456 -99.544796,52.906078 -99.528943,52.908776 -99.525935,52.909093 -99.523367,52.909071 -99.509474,52.908231 -99.506211,52.907809 -99.506197,52.907804 -99.506182,52.907803 -99.494928,52.905517 -99.482772,52.903541 -99.482402,52.903422 -99.481914,52.903385 -99.478127,52.902241 -99.470629,52.899110 -99.469481,52.898572 -99.464805,52.898770 -99.463140,52.898785 -99.454556,52.898575 -99.450393,52.898112 -99.447184,52.897197 -99.441715,52.895128 -99.439822,52.894281 -99.436225,52.891471 -99.435653,52.890686 -99.433331,52.887047 -99.432359,52.884403 -99.433101,52.880878 -99.433236,52.880736 -99.433271,52.880587 -99.435272,52.877340 -99.438017,52.874547 -99.438587,52.874221 -99.439272,52.872476 -99.439400,52.872204 -99.439408,52.872154 -99.441648,52.867248 -99.443621,52.862608 -99.443395,52.860649 -99.443397,52.859358 -99.443776,52.856182 -99.441505,52.855397 -99.438874,52.853484 -99.435943,52.852470 -99.432350,52.849660 -99.431304,52.848001 -99.430667,52.846591 -99.430170,52.844822 -99.430213,52.843929 -99.428708,52.842155 -99.428683,52.842101 -99.428625,52.842056 -99.427083,52.838628 -99.427522,52.835723 -99.428643,52.833088 -99.428870,52.832827 -99.428945,52.832469 -99.430831,52.830471 -99.429682,52.827076 -99.429412,52.825881 -99.430154,52.822357 -99.431250,52.820845 -99.433870,52.817971 -99.430404,52.816770 -99.428583,52.815628 -99.424949,52.812907 -99.423181,52.811240 -99.421641,52.807812 -99.422382,52.804288 -99.423020,52.803322 -99.423851,52.802246 -99.424109,52.799390 -99.424417,52.798413 -99.424512,52.797738 -99.426854,52.791896 -99.427572,52.787769 -99.428003,52.783630 -99.428750,52.781312 -99.429421,52.780302 -99.433139,52.775546 -99.433157,52.775530 -99.433183,52.775491 -99.438151,52.769244 -99.440342,52.767226 -99.444973,52.765052 -99.449558,52.764185 -99.456126,52.763619 -99.456614,52.763645 -99.457190,52.763550 -99.462999,52.763997 -99.464581,52.764545 -99.464646,52.764495 -99.464910,52.764365 -99.465102,52.764161 -99.469730,52.761986 -99.471978,52.761437 -99.473757,52.761102 -99.474220,52.760586 -99.477429,52.758154 -99.478113,52.756538 -99.478339,52.756276 -99.478414,52.755919 -99.481316,52.752834 -99.485601,52.750764 -99.493818,52.748112 -99.494000,52.748081 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-94.344708,58.504136 -93.456195,58.830194</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-93.667329,58.504170 -93.667679,58.504138 -94.295484,58.510883 -94.302130,58.511623 -94.307802,58.513653 -94.311294,58.516339 -94.343170,58.553610 -94.343237,58.553777 -94.343435,58.553936 -94.344708,58.557470 -94.343918,58.560104 -94.310081,58.617047 -94.309870,58.617346 -94.309848,58.617412 -94.266987,58.679921 -94.272790,58.727779 -94.272688,58.728087 -94.272824,58.728466 -94.272236,58.755178 -94.271429,58.757823 -94.263430,58.771116 -94.264393,58.785883 -94.264322,58.786079 -94.264402,58.786301 -94.264320,58.787088 -94.259449,58.813035 -94.258100,58.815768 -94.256432,58.817345 -94.244783,58.826180 -94.242529,58.827571 -94.236714,58.829534 -94.229893,58.830194 -94.223987,58.829631 -94.199765,58.825022 -94.199389,58.824895 -94.198883,58.824840 -94.193163,58.822803 -94.189383,58.819787 -94.188117,58.816249 -94.189556,58.812730 -94.189813,58.812536 -94.189905,58.812335 -94.197054,58.804705 -94.187539,58.803818 -94.183675,58.803216 -94.181951,58.802773 -94.125756,58.786292 -94.046270,58.782945 -93.981146,58.788877 -93.977801,58.789014 -93.932062,58.788624 -93.930525,58.788575 -93.897700,58.786800 -93.892466,58.786086 -93.886772,58.784035 -93.883368,58.781431 -93.879222,58.776671 -93.877775,58.777045 -93.877305,58.777089 -93.876947,58.777202 -93.856815,58.780727 -93.852883,58.781043 -93.852490,58.781975 -93.851424,58.783686 -93.847471,58.786640 -93.843672,58.788091 -93.833563,58.790964 -93.831530,58.791457 -93.824708,58.792094 -93.817937,58.791327 -93.812247,58.789273 -93.808505,58.786245 -93.808486,58.786187 -93.808428,58.786140 -93.804866,58.781253 -93.800326,58.783333 -93.792849,58.789534 -93.790113,58.791283 -93.784278,58.793224 -93.777456,58.793858 -93.770685,58.793089 -93.768116,58.792160 -93.768013,58.794933 -93.766529,58.798447 -93.762566,58.801399 -93.756728,58.803340 -93.749902,58.803972 -93.748136,58.803908 -93.720476,58.802184 -93.704204,58.802013 -93.697434,58.801239 -93.695116,58.800602 -93.673939,58.793694 -93.670574,58.792271 -93.669148,58.791396 -93.666521,58.789565 -93.652175,58.791466 -93.647409,58.791750 -93.641563,58.791167 -93.613196,58.785653 -93.612806,58.785520 -93.612274,58.785459 -93.607001,58.783606 -93.591987,58.775968 -93.541489,58.783441 -93.536221,58.783791 -93.532633,58.783557 -93.491398,58.778602 -93.488225,58.778052 -93.482558,58.775982 -93.463042,58.765347 -93.459335,58.762308 -93.458168,58.759471 -93.456214,58.740147 -93.456326,58.739832 -93.456195,58.739439 -93.457177,58.736630 -93.470076,58.717368 -93.480829,58.514099 -93.482329,58.510623 -93.486282,58.507682 -93.492084,58.505755 -93.498261,58.505135 -93.667007,58.504136 -93.667329,58.504170 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-92.688620,57.000235 -92.050693,57.249687</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-92.688620,57.000235 -92.673905,57.010012 -92.664973,57.025180 -92.652452,57.028285 -92.637584,57.039974 -92.637127,57.046679 -92.622575,57.053577 -92.598762,57.066998 -92.582612,57.083932 -92.576530,57.095317 -92.552907,57.117848 -92.539996,57.138204 -92.525204,57.159958 -92.509373,57.183609 -92.493869,57.202468 -92.468813,57.230717 -92.458568,57.249687 -92.310766,57.249270 -92.289822,57.245429 -92.254938,57.238859 -92.212273,57.230174 -92.166728,57.213726 -92.132656,57.198020 -92.114488,57.182698 -92.083721,57.159861 -92.071042,57.142750 -92.059378,57.124223 -92.050693,57.101932 -92.051673,57.090441 -92.073197,57.075629 -92.100012,57.071021 -92.138681,57.061421 -92.188299,57.046796 -92.222986,57.031317 -92.249476,57.018993 -92.274645,57.000877 -92.688620,57.000235 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-96.944212,50.251050 -96.600511,50.441897</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-96.936954,50.427483 -96.928288,50.431422 -96.918705,50.431607 -96.907537,50.429465 -96.883621,50.422851 -96.847816,50.414098 -96.792177,50.406633 -96.745741,50.406988 -96.709560,50.405731 -96.678713,50.408612 -96.654858,50.420321 -96.648511,50.427494 -96.641520,50.437034 -96.636435,50.439003 -96.618663,50.437408 -96.603345,50.441897 -96.600812,50.415079 -96.600511,50.388699 -96.625158,50.360031 -96.631875,50.343904 -96.631290,50.329311 -96.700454,50.329093 -96.699256,50.300380 -96.718362,50.300051 -96.744815,50.299590 -96.743978,50.262867 -96.744350,50.254383 -96.746411,50.251050 -96.839012,50.252202 -96.878687,50.252400 -96.887494,50.252233 -96.895786,50.256784 -96.901987,50.263731 -96.908058,50.267853 -96.916334,50.271933 -96.920983,50.277024 -96.920537,50.283156 -96.921605,50.290201 -96.927036,50.296220 -96.922850,50.301012 -96.922426,50.307615 -96.926279,50.311309 -96.928016,50.316928 -96.922358,50.321749 -96.922469,50.324102 -96.925053,50.332061 -96.929956,50.342331 -96.929399,50.346111 -96.926680,50.350875 -96.924873,50.359391 -96.926613,50.365011 -96.924873,50.374940 -96.925207,50.382001 -96.930897,50.393200 -96.931345,50.402616 -96.938356,50.410490 -96.944212,50.424985 -96.936954,50.427483 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-97.197938,50.135339 -97.079760,50.235638</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-97.088875,50.212061 -97.084212,50.210200 -97.081014,50.207336 -97.079767,50.203905 -97.079807,50.203749 -97.079760,50.203608 -97.079770,50.159520 -97.080671,50.156340 -97.083499,50.153395 -97.105267,50.138240 -97.105307,50.138221 -97.105334,50.138193 -97.109788,50.136140 -97.115125,50.135339 -97.120533,50.135910 -97.125190,50.137769 -97.125492,50.138040 -97.125851,50.138194 -97.129785,50.140895 -97.131418,50.140265 -97.132840,50.139785 -97.138177,50.138982 -97.143586,50.139553 -97.148244,50.141410 -97.151442,50.144271 -97.152692,50.147701 -97.152645,50.147889 -97.152700,50.148057 -97.152553,50.165224 -97.160580,50.165199 -97.165585,50.165773 -97.170247,50.167630 -97.173448,50.170491 -97.174702,50.173921 -97.174653,50.174112 -97.174710,50.174282 -97.174606,50.185856 -97.178170,50.187993 -97.183297,50.187880 -97.188713,50.188448 -97.193378,50.190304 -97.196583,50.193164 -97.197839,50.196594 -97.197803,50.196737 -97.197847,50.196868 -97.197938,50.210529 -97.197045,50.213733 -97.194153,50.216728 -97.194115,50.216746 -97.194090,50.216772 -97.170423,50.232820 -97.166025,50.234833 -97.160676,50.235638 -97.160167,50.235584 -97.159746,50.235638 -97.115800,50.234723 -97.111309,50.234150 -97.106642,50.232291 -97.103441,50.229427 -97.102192,50.225996 -97.102208,50.225930 -97.102186,50.225868 -97.101858,50.214765 -97.098742,50.212723 -97.093466,50.212636 -97.088875,50.212061 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-100.872644,49.576934 -100.569574,49.871303</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-100.870185,49.750040 -100.868766,49.871303 -100.569574,49.869803 -100.569975,49.834707 -100.571203,49.833878 -100.571499,49.807900 -100.572082,49.799517 -100.577633,49.789739 -100.599062,49.782950 -100.621377,49.777353 -100.622154,49.750388 -100.623049,49.750386 -100.621464,49.746071 -100.620500,49.735151 -100.622081,49.665443 -100.575628,49.665703 -100.575229,49.576934 -100.872644,49.577311 -100.870826,49.723883 -100.869295,49.750041 -100.870185,49.750040 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-95.079327,58.973518 -94.575229,59.150932</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-94.742108,59.150164 -94.714591,59.148459 -94.678777,59.144424 -94.633452,59.133116 -94.587710,59.106660 -94.575229,59.082938 -94.576911,59.051700 -94.586830,59.024438 -94.601711,59.007058 -94.627366,58.993326 -94.639578,58.983826 -94.657483,58.977300 -94.683630,58.973753 -94.722479,58.973518 -94.737745,58.975853 -94.742125,58.985728 -94.754175,58.992987 -94.777703,59.000266 -94.817888,58.994413 -94.855470,58.997751 -94.877114,59.004351 -94.887901,59.018502 -94.918511,59.018526 -94.949118,59.020186 -94.979726,59.026115 -95.000137,59.026116 -95.016722,59.027759 -95.035865,59.034004 -95.052479,59.050441 -95.068443,59.053393 -95.079327,59.066212 -95.053796,59.074776 -95.021863,59.085968 -94.957940,59.102736 -94.904228,59.105337 -94.867790,59.103659 -94.848613,59.102650 -94.840283,59.106586 -94.840241,59.115137 -94.841468,59.125992 -94.833103,59.135191 -94.829241,59.139461 -94.820872,59.148330 -94.801649,59.150932 -94.742108,59.150164 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-100.424202,49.190926 -100.159389,49.293985</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-100.160029,49.249116 -100.162638,49.246048 -100.166841,49.243866 -100.172000,49.242904 -100.172496,49.242941 -100.172901,49.242875 -100.181430,49.242787 -100.181416,49.237379 -100.182076,49.234608 -100.184683,49.231539 -100.188883,49.229357 -100.194039,49.228393 -100.195208,49.228363 -100.219061,49.228415 -100.223218,49.228846 -100.223270,49.228864 -100.227159,49.228136 -100.227715,49.228178 -100.228158,49.228106 -100.249380,49.227973 -100.253446,49.224518 -100.253679,49.224391 -100.253845,49.224195 -100.258041,49.222010 -100.260669,49.221337 -100.271186,49.219433 -100.272249,49.219309 -100.272307,49.219075 -100.274906,49.216004 -100.279100,49.213818 -100.283707,49.212952 -100.283931,49.212156 -100.286528,49.209085 -100.290721,49.206898 -100.295872,49.205930 -100.301725,49.205609 -100.302776,49.205046 -100.305178,49.204013 -100.310328,49.203043 -100.315235,49.202774 -100.318588,49.202859 -100.329198,49.203990 -100.331169,49.204299 -100.335858,49.205999 -100.337666,49.207245 -100.337741,49.207253 -100.339271,49.207305 -100.344589,49.207964 -100.346209,49.208232 -100.347460,49.208538 -100.351985,49.209812 -100.352012,49.209823 -100.352103,49.209846 -100.355541,49.210839 -100.356033,49.210811 -100.357611,49.210489 -100.361504,49.208675 -100.361512,49.208671 -100.361489,49.208493 -100.362088,49.205004 -100.364679,49.201930 -100.368868,49.199741 -100.371656,49.199123 -100.373479,49.197997 -100.373595,49.197318 -100.376185,49.194245 -100.380372,49.192054 -100.385519,49.191081 -100.386048,49.191120 -100.386474,49.191050 -100.398954,49.190926 -100.403323,49.191348 -100.408014,49.193043 -100.411358,49.195787 -100.412846,49.199159 -100.412894,49.200047 -100.412618,49.213354 -100.414645,49.213574 -100.419338,49.215269 -100.422685,49.218012 -100.424175,49.221385 -100.424202,49.222661 -100.423855,49.226681 -100.423232,49.228895 -100.420644,49.231970 -100.416455,49.234162 -100.413782,49.234669 -100.413906,49.236404 -100.413275,49.239549 -100.410716,49.242588 -100.410715,49.242643 -100.409936,49.247830 -100.409356,49.249675 -100.407484,49.252141 -100.403328,49.255992 -100.402610,49.256601 -100.401761,49.257045 -100.401894,49.258065 -100.401297,49.261555 -100.398705,49.264630 -100.395362,49.266508 -100.393701,49.267172 -100.393195,49.267281 -100.392702,49.267536 -100.387117,49.269370 -100.386795,49.269430 -100.386572,49.269539 -100.380962,49.271185 -100.376499,49.271939 -100.376280,49.271923 -100.376084,49.271958 -100.369466,49.272193 -100.368249,49.272604 -100.368689,49.280540 -100.368049,49.283598 -100.365453,49.286672 -100.361256,49.288862 -100.356097,49.289835 -100.354912,49.289867 -100.331313,49.289833 -100.327162,49.289407 -100.322464,49.287706 -100.319921,49.285618 -100.319128,49.286556 -100.314928,49.288744 -100.309767,49.289714 -100.308410,49.289745 -100.285993,49.289519 -100.282628,49.291270 -100.277466,49.292239 -100.272131,49.291841 -100.271655,49.291669 -100.271212,49.291625 -100.268570,49.290933 -100.268458,49.291015 -100.264500,49.293018 -100.259337,49.293985 -100.254449,49.293675 -100.249691,49.292793 -100.247550,49.292909 -100.242215,49.292510 -100.237520,49.290805 -100.234180,49.288055 -100.234156,49.288001 -100.234104,49.287957 -100.234027,49.287856 -100.232414,49.287271 -100.229075,49.284521 -100.228858,49.284118 -100.228847,49.284114 -100.227161,49.283987 -100.223353,49.282604 -100.195108,49.282355 -100.191086,49.281924 -100.186394,49.280217 -100.183058,49.277466 -100.182216,49.275534 -100.179776,49.275290 -100.175086,49.273583 -100.171751,49.270831 -100.170567,49.268112 -100.169556,49.268026 -100.164867,49.266318 -100.161533,49.263566 -100.160063,49.260188 -100.160084,49.260071 -100.160040,49.259964 -100.159389,49.252380 -100.160029,49.249116 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-101.399038,49.001080 -100.862962,49.431768</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-101.392106,49.404646 -101.391829,49.429782 -101.027367,49.429930 -101.027367,49.429930 -101.000860,49.431768 -101.000589,49.316576 -100.870634,49.316209 -100.862962,49.252122 -100.919833,49.193214 -100.956157,49.098285 -100.959407,49.001409 -100.965970,49.001491 -100.991867,49.001918 -100.999849,49.001998 -101.365416,49.001080 -101.359480,49.172400 -101.399038,49.177066 -101.394062,49.404510 -101.392106,49.404646 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-100.049122,50.513059 -99.940014,50.581429</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-100.011726,50.518914 -100.015847,50.519282 -100.020675,50.521004 -100.024102,50.523773 -100.024616,50.524934 -100.025034,50.525083 -100.027432,50.526387 -100.034012,50.526285 -100.038732,50.526723 -100.043562,50.528444 -100.046992,50.531213 -100.048499,50.534607 -100.048435,50.534954 -100.048543,50.535234 -100.049122,50.572298 -100.048431,50.575175 -100.045728,50.578255 -100.041379,50.580441 -100.036047,50.581401 -100.034789,50.581429 -100.000037,50.581213 -99.995792,50.580771 -99.990958,50.579047 -99.987528,50.576276 -99.986488,50.573926 -99.977019,50.573893 -99.972707,50.573450 -99.967874,50.571725 -99.964447,50.568953 -99.962946,50.565557 -99.963014,50.565193 -99.962903,50.564902 -99.962790,50.551848 -99.954416,50.551805 -99.950137,50.551361 -99.945308,50.549635 -99.941883,50.546863 -99.940385,50.543467 -99.940430,50.543228 -99.940348,50.543023 -99.940014,50.535549 -99.940706,50.532490 -99.943414,50.529414 -99.947763,50.527232 -99.952003,50.526472 -99.952200,50.525656 -99.954907,50.522580 -99.959254,50.520397 -99.964580,50.519442 -99.965100,50.519481 -99.965523,50.519415 -99.965553,50.519415 -99.966857,50.517932 -99.971203,50.515749 -99.975110,50.514910 -99.990111,50.513177 -99.991530,50.513059 -99.997023,50.513474 -99.998227,50.513763 -100.006200,50.515941 -100.009824,50.517375 -100.011726,50.518914 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-98.656670,50.951060 -98.383349,51.134325</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-98.631392,51.028373 -98.632210,51.029144 -98.632570,51.029864 -98.632821,51.030267 -98.632880,51.030353 -98.633053,51.030637 -98.633056,51.030644 -98.633065,51.030658 -98.633117,51.030765 -98.633214,51.030913 -98.633376,51.031206 -98.633394,51.031263 -98.633471,51.031384 -98.633589,51.031613 -98.633620,51.031670 -98.634353,51.034055 -98.634324,51.034188 -98.634718,51.034818 -98.634944,51.035273 -98.635124,51.035897 -98.635267,51.036161 -98.635351,51.036413 -98.635566,51.037429 -98.635575,51.037458 -98.635575,51.037468 -98.635623,51.037698 -98.635818,51.038272 -98.635040,51.041771 -98.633109,51.044102 -98.632837,51.044340 -98.631925,51.045054 -98.630362,51.045797 -98.630776,51.047078 -98.630541,51.048136 -98.630561,51.048210 -98.630281,51.050577 -98.630165,51.050928 -98.629667,51.052060 -98.629269,51.052486 -98.628799,51.054324 -98.626684,51.056811 -98.626479,51.056981 -98.625750,51.057539 -98.625628,51.057597 -98.625553,51.057675 -98.625131,51.057962 -98.620850,51.059953 -98.615422,51.060838 -98.614782,51.060781 -98.614076,51.060927 -98.613472,51.060997 -98.611792,51.061124 -98.611733,51.061161 -98.611495,51.061296 -98.611334,51.061390 -98.611302,51.061405 -98.611087,51.061527 -98.607715,51.062953 -98.606472,51.063287 -98.605718,51.063463 -98.605459,51.063724 -98.605000,51.064296 -98.604818,51.064552 -98.604538,51.064872 -98.604503,51.064915 -98.604487,51.064931 -98.604460,51.064960 -98.604283,51.065118 -98.604100,51.065287 -98.604029,51.065344 -98.603508,51.065807 -98.603428,51.065889 -98.603171,51.066107 -98.602601,51.066613 -98.602536,51.066644 -98.601906,51.067177 -98.600799,51.067756 -98.600586,51.067981 -98.600274,51.068345 -98.600215,51.068373 -98.600178,51.068412 -98.599589,51.068820 -98.599497,51.068863 -98.599497,51.068863 -98.599326,51.068995 -98.599319,51.069001 -98.599304,51.069011 -98.598933,51.069297 -98.599308,51.070364 -98.599423,51.070533 -98.599646,51.070903 -98.599723,51.071130 -98.600054,51.071681 -98.600207,51.072025 -98.600530,51.072465 -98.600619,51.072691 -98.600792,51.072846 -98.601121,51.073355 -98.601154,51.073445 -98.601399,51.073821 -98.601653,51.074285 -98.601856,51.074933 -98.602799,51.076696 -98.602967,51.077218 -98.603233,51.078511 -98.603173,51.078779 -98.603256,51.079007 -98.603258,51.079627 -98.602717,51.081649 -98.602850,51.082208 -98.602986,51.083038 -98.602204,51.086538 -98.601109,51.088050 -98.600836,51.088351 -98.599083,51.089883 -98.594601,51.092009 -98.589167,51.092893 -98.588928,51.092872 -98.585197,51.094580 -98.584857,51.094672 -98.584605,51.094940 -98.582951,51.095885 -98.583647,51.096572 -98.584129,51.096945 -98.584332,51.097166 -98.584403,51.097318 -98.584627,51.097538 -98.584659,51.097617 -98.584829,51.097759 -98.585178,51.098609 -98.586115,51.099494 -98.586581,51.099872 -98.586910,51.100269 -98.586969,51.100403 -98.587113,51.100523 -98.587409,51.101372 -98.588059,51.102391 -98.588225,51.102711 -98.588317,51.103017 -98.588394,51.103100 -98.588531,51.103211 -98.588848,51.103585 -98.588922,51.103753 -98.589106,51.103907 -98.590364,51.106452 -98.590457,51.106830 -98.590604,51.107707 -98.590155,51.109710 -98.590282,51.110106 -98.590541,51.111380 -98.589758,51.114880 -98.589591,51.115058 -98.589544,51.115240 -98.589201,51.115783 -98.589169,51.115815 -98.589063,51.116082 -98.588750,51.116416 -98.588724,51.116456 -98.588448,51.116806 -98.588288,51.116956 -98.588193,51.117379 -98.587755,51.117846 -98.587741,51.117909 -98.587627,51.118951 -98.587507,51.119332 -98.587463,51.119435 -98.587433,51.119630 -98.587421,51.119663 -98.587419,51.119714 -98.587357,51.120077 -98.587088,51.120829 -98.587040,51.121043 -98.586982,51.121124 -98.586633,51.122099 -98.585081,51.124077 -98.584852,51.124297 -98.583552,51.125363 -98.582341,51.125968 -98.581563,51.126369 -98.581282,51.126686 -98.580995,51.126821 -98.580905,51.126918 -98.580752,51.126990 -98.580619,51.127123 -98.580241,51.127355 -98.576417,51.129044 -98.573081,51.129586 -98.571282,51.131294 -98.566793,51.133420 -98.561354,51.134302 -98.561097,51.134279 -98.560867,51.134314 -98.560104,51.134325 -98.557427,51.134058 -98.555853,51.134313 -98.553369,51.134265 -98.552920,51.134232 -98.549841,51.133785 -98.545003,51.131988 -98.543412,51.130937 -98.543134,51.130721 -98.541201,51.130424 -98.536365,51.128627 -98.536256,51.128536 -98.536135,51.128491 -98.536124,51.128481 -98.536091,51.128469 -98.535862,51.128333 -98.532760,51.125666 -98.531407,51.122624 -98.531364,51.122350 -98.531377,51.122283 -98.531361,51.122243 -98.531385,51.122133 -98.531318,51.121968 -98.531415,51.121536 -98.529959,51.121115 -98.529547,51.120965 -98.527147,51.119871 -98.526376,51.119310 -98.526047,51.119109 -98.525678,51.118865 -98.525337,51.118554 -98.524747,51.118124 -98.524480,51.117871 -98.523978,51.117314 -98.523138,51.116549 -98.522875,51.116017 -98.522663,51.115888 -98.522645,51.115872 -98.522623,51.115864 -98.522120,51.115556 -98.519180,51.112985 -98.519154,51.112919 -98.518695,51.112520 -98.518539,51.112245 -98.517877,51.111771 -98.517605,51.111523 -98.516490,51.110312 -98.515891,51.108859 -98.514797,51.106711 -98.514694,51.106338 -98.514503,51.105286 -98.515293,51.101787 -98.515594,51.101466 -98.515572,51.101453 -98.515097,51.101118 -98.512859,51.099007 -98.512742,51.098720 -98.512512,51.098515 -98.512180,51.098005 -98.512164,51.097960 -98.512018,51.097744 -98.511745,51.097284 -98.511440,51.096367 -98.510708,51.095531 -98.509786,51.093271 -98.509747,51.093238 -98.509746,51.093237 -98.509382,51.093040 -98.506636,51.091896 -98.506604,51.091874 -98.506201,51.091735 -98.506074,51.091679 -98.505896,51.091627 -98.505310,51.091413 -98.504334,51.090967 -98.503917,51.091038 -98.503914,51.091040 -98.502807,51.091339 -98.502108,51.091507 -98.501873,51.091538 -98.501224,51.091699 -98.500756,51.091789 -98.500222,51.091911 -98.499945,51.091946 -98.499353,51.092089 -98.498561,51.092234 -98.498175,51.092275 -98.497789,51.092361 -98.497070,51.092465 -98.496390,51.092526 -98.496085,51.092586 -98.495352,51.092659 -98.494738,51.092701 -98.494631,51.092720 -98.493901,51.092769 -98.493727,51.092781 -98.493430,51.092841 -98.492688,51.092923 -98.492194,51.092959 -98.492063,51.092984 -98.491270,51.093049 -98.490553,51.093114 -98.489298,51.093192 -98.489090,51.093173 -98.489020,51.093185 -98.488961,51.093188 -98.488865,51.093203 -98.488605,51.093207 -98.488304,51.093223 -98.488189,51.093213 -98.488189,51.093213 -98.488185,51.093213 -98.488120,51.093208 -98.487927,51.093239 -98.487252,51.093263 -98.487240,51.093262 -98.487230,51.093264 -98.483985,51.093145 -98.483427,51.093084 -98.481116,51.092704 -98.479934,51.092405 -98.479407,51.092255 -98.479178,51.092160 -98.478711,51.092094 -98.477084,51.091801 -98.475755,51.091459 -98.475377,51.091347 -98.474948,51.091240 -98.474894,51.091218 -98.474844,51.091213 -98.474652,51.091164 -98.474521,51.091137 -98.474457,51.091114 -98.474255,51.091062 -98.474110,51.091048 -98.473676,51.090950 -98.473545,51.090925 -98.473220,51.090869 -98.473172,51.090853 -98.471763,51.090626 -98.469727,51.090060 -98.469189,51.089877 -98.468268,51.089470 -98.466840,51.089099 -98.466082,51.088870 -98.466079,51.088869 -98.466071,51.088867 -98.465254,51.088620 -98.465022,51.088522 -98.464496,51.088374 -98.463818,51.088137 -98.463799,51.088128 -98.462892,51.087861 -98.462358,51.087661 -98.460116,51.086622 -98.459118,51.086000 -98.458702,51.085715 -98.458684,51.085698 -98.458616,51.085655 -98.458596,51.085641 -98.458583,51.085633 -98.458577,51.085628 -98.458415,51.085515 -98.458194,51.085428 -98.457685,51.085115 -98.457621,51.085059 -98.457453,51.084954 -98.455752,51.084160 -98.453840,51.082746 -98.453217,51.082476 -98.452158,51.081812 -98.451807,51.081568 -98.451412,51.081197 -98.450677,51.080674 -98.450477,51.080493 -98.449381,51.079311 -98.449342,51.079278 -98.449218,51.079118 -98.449035,51.078884 -98.448938,51.078652 -98.448780,51.078519 -98.448712,51.078416 -98.448664,51.078374 -98.448490,51.078112 -98.448464,51.078043 -98.448209,51.077656 -98.448185,51.077615 -98.448114,51.077555 -98.447911,51.077289 -98.447846,51.077130 -98.447749,51.077049 -98.447673,51.076930 -98.447623,51.076886 -98.447466,51.076651 -98.447432,51.076559 -98.447106,51.076056 -98.446857,51.075597 -98.446763,51.075291 -98.446602,51.075006 -98.446073,51.074464 -98.445446,51.073503 -98.445205,51.073061 -98.444763,51.071638 -98.444763,51.071638 -98.444543,51.071552 -98.444220,51.071350 -98.443924,51.071490 -98.438490,51.072366 -98.433895,51.072054 -98.433548,51.071993 -98.433258,51.071893 -98.432938,51.071865 -98.432836,51.071826 -98.432591,51.071804 -98.432032,51.071586 -98.430255,51.071520 -98.429565,51.071445 -98.427795,51.071154 -98.427331,51.071163 -98.422132,51.070652 -98.422083,51.070633 -98.422028,51.070628 -98.421341,51.070472 -98.420826,51.070278 -98.417204,51.069005 -98.416695,51.068746 -98.416632,51.068697 -98.416621,51.068693 -98.416518,51.068606 -98.416471,51.068568 -98.416112,51.068434 -98.413037,51.065962 -98.412693,51.065556 -98.412592,51.065330 -98.412513,51.065243 -98.412096,51.064840 -98.411565,51.064416 -98.411337,51.064150 -98.411304,51.064077 -98.411245,51.064019 -98.411199,51.063907 -98.411017,51.063753 -98.410936,51.063617 -98.410147,51.062791 -98.410078,51.062621 -98.409930,51.062492 -98.409672,51.062118 -98.409632,51.062011 -98.409176,51.061291 -98.408975,51.060899 -98.408705,51.059979 -98.408423,51.059392 -98.408344,51.059041 -98.408221,51.058249 -98.408516,51.056956 -98.407898,51.055749 -98.407325,51.055541 -98.406357,51.055099 -98.405850,51.054928 -98.405341,51.054687 -98.404949,51.054484 -98.404881,51.054460 -98.404475,51.054251 -98.404431,51.054216 -98.404369,51.054184 -98.404019,51.053889 -98.403422,51.053652 -98.403011,51.053394 -98.402969,51.053356 -98.402922,51.053338 -98.402476,51.053052 -98.402427,51.053008 -98.402131,51.052824 -98.401701,51.052529 -98.401364,51.052215 -98.400182,51.051818 -98.399708,51.051595 -98.398692,51.051070 -98.397500,51.050311 -98.397065,51.049998 -98.396657,51.049609 -98.396014,51.049147 -98.395630,51.048795 -98.395374,51.048515 -98.395154,51.048431 -98.394789,51.048218 -98.394754,51.048188 -98.393928,51.047671 -98.393672,51.047494 -98.393290,51.047136 -98.393031,51.047017 -98.391665,51.046129 -98.391409,51.045939 -98.390037,51.044601 -98.389641,51.044280 -98.389425,51.044018 -98.389360,51.043870 -98.389201,51.043735 -98.388720,51.043026 -98.388521,51.042692 -98.388220,51.041791 -98.386463,51.040491 -98.386106,51.040143 -98.385215,51.039137 -98.384967,51.038726 -98.384770,51.038510 -98.384606,51.038128 -98.384375,51.037747 -98.384204,51.037372 -98.384074,51.036888 -98.383414,51.035347 -98.383377,51.035068 -98.383403,51.034941 -98.383349,51.034807 -98.383919,51.032313 -98.383916,51.032305 -98.383979,51.032030 -98.383924,51.031892 -98.383936,51.031836 -98.383897,51.031723 -98.383904,51.031310 -98.384103,51.030602 -98.384129,51.029888 -98.384087,51.029792 -98.384022,51.029324 -98.384052,51.029174 -98.383988,51.029015 -98.384000,51.028654 -98.383911,51.028182 -98.384043,51.027603 -98.384091,51.027288 -98.384160,51.027092 -98.384710,51.024685 -98.385516,51.023829 -98.385572,51.023584 -98.387068,51.021995 -98.387200,51.021793 -98.387374,51.021560 -98.388348,51.020635 -98.388432,51.020546 -98.388452,51.020536 -98.389681,51.019370 -98.390577,51.018929 -98.391515,51.018170 -98.396000,51.016053 -98.396471,51.015977 -98.397798,51.015370 -98.397873,51.014322 -98.397879,51.014296 -98.397620,51.014108 -98.397420,51.013918 -98.397213,51.013689 -98.396782,51.013326 -98.396579,51.013002 -98.396176,51.012684 -98.396093,51.012478 -98.395968,51.012373 -98.395954,51.012343 -98.395898,51.012294 -98.395690,51.011983 -98.395444,51.011307 -98.394738,51.009871 -98.394661,51.009561 -98.394620,51.009400 -98.394500,51.008687 -98.394480,51.008639 -98.394439,51.008288 -98.394458,51.008199 -98.394421,51.008108 -98.395219,51.004611 -98.398077,51.001572 -98.398241,51.001481 -98.398468,51.000936 -98.399894,50.999420 -98.400619,50.996239 -98.400636,50.996221 -98.400641,50.996201 -98.400750,50.996008 -98.400796,50.995960 -98.401188,50.994412 -98.402460,50.993059 -98.402577,50.992567 -98.405433,50.989529 -98.405635,50.989434 -98.405696,50.989368 -98.405954,50.989247 -98.406132,50.989071 -98.406395,50.988911 -98.410177,50.987251 -98.410372,50.987220 -98.410996,50.986861 -98.411177,50.986777 -98.413518,50.985888 -98.413984,50.985812 -98.414043,50.985791 -98.419466,50.984917 -98.419503,50.984920 -98.419522,50.984917 -98.420261,50.984917 -98.420350,50.984904 -98.420406,50.984904 -98.420515,50.984917 -98.421029,50.984916 -98.421356,50.984927 -98.425390,50.985430 -98.430204,50.987231 -98.430485,50.987468 -98.430689,50.987544 -98.430732,50.987580 -98.430880,50.987640 -98.431365,50.987953 -98.431691,50.988247 -98.434749,50.987691 -98.435445,50.987640 -98.435582,50.987650 -98.435616,50.987644 -98.435861,50.987667 -98.436312,50.987594 -98.439202,50.987855 -98.439944,50.987769 -98.440191,50.987791 -98.440414,50.987757 -98.441154,50.987748 -98.444767,50.988112 -98.446065,50.988225 -98.446710,50.988363 -98.446783,50.988390 -98.446869,50.988397 -98.446890,50.988402 -98.448197,50.988521 -98.449466,50.988924 -98.450479,50.989093 -98.453969,50.990228 -98.454522,50.990474 -98.455804,50.991117 -98.457469,50.991758 -98.458467,50.992381 -98.459019,50.992762 -98.459518,50.993227 -98.460366,50.993844 -98.460556,50.994023 -98.460701,50.994143 -98.460845,50.994293 -98.461005,50.994406 -98.461413,50.994772 -98.461675,50.995055 -98.461841,50.995178 -98.462244,50.995585 -98.462248,50.995590 -98.462251,50.995592 -98.462702,50.996048 -98.463086,50.996488 -98.463168,50.996553 -98.463463,50.996899 -98.463679,50.997131 -98.463987,50.997444 -98.464283,50.997730 -98.464656,50.998083 -98.464818,50.998263 -98.464908,50.998331 -98.465330,50.998760 -98.466074,50.999617 -98.466597,51.000397 -98.466871,51.000866 -98.467435,51.002585 -98.467703,51.003201 -98.467772,51.003687 -98.467718,51.003960 -98.467768,51.004071 -98.467776,51.004117 -98.467823,51.004239 -98.467831,51.004424 -98.467843,51.004472 -98.467901,51.004657 -98.467919,51.004749 -98.468143,51.005000 -98.468186,51.005093 -98.468225,51.005131 -98.468285,51.005279 -98.468570,51.005519 -98.469309,51.006780 -98.469843,51.007137 -98.470491,51.007648 -98.470738,51.007895 -98.471042,51.008112 -98.471634,51.008645 -98.472123,51.009173 -98.472273,51.009290 -98.472570,51.009407 -98.472934,51.009580 -98.473160,51.009653 -98.473760,51.009916 -98.474279,51.010175 -98.474420,51.010224 -98.474998,51.010510 -98.475010,51.010520 -98.475035,51.010528 -98.475654,51.010837 -98.475942,51.011064 -98.476405,51.011238 -98.476465,51.011272 -98.477725,51.011402 -98.482236,51.013032 -98.482779,51.013322 -98.482902,51.013422 -98.483089,51.013492 -98.486451,51.016317 -98.486618,51.016627 -98.487299,51.017130 -98.487304,51.017135 -98.487317,51.017144 -98.487371,51.017184 -98.488141,51.017932 -98.488747,51.018396 -98.489372,51.019055 -98.489415,51.019105 -98.489466,51.019107 -98.490085,51.019053 -98.490493,51.019090 -98.490545,51.019081 -98.490884,51.017937 -98.490944,51.017873 -98.491030,51.016682 -98.491110,51.016336 -98.491770,51.014649 -98.492467,51.013831 -98.492497,51.013729 -98.492770,51.013339 -98.493180,51.012939 -98.493367,51.012330 -98.493496,51.011474 -98.493638,51.011115 -98.493647,51.011098 -98.494305,51.008181 -98.494826,51.007440 -98.494700,51.007331 -98.494580,51.007159 -98.494470,51.007051 -98.494315,51.006903 -98.493352,51.005832 -98.493342,51.005808 -98.492623,51.004988 -98.491231,51.001566 -98.491247,51.001214 -98.490707,51.000181 -98.490635,50.999947 -98.490539,50.999450 -98.489767,50.997553 -98.489802,50.997398 -98.488799,50.994932 -98.488841,50.994749 -98.488795,50.994635 -98.488804,50.994595 -98.488778,50.994527 -98.488774,50.994230 -98.488945,50.993575 -98.488942,50.993564 -98.488796,50.992857 -98.488728,50.992706 -98.488613,50.992040 -98.488654,50.991814 -98.488551,50.991559 -98.488739,50.989517 -98.488897,50.988943 -98.489498,50.987486 -98.491315,50.985264 -98.491721,50.984901 -98.492474,50.984305 -98.493386,50.983331 -98.493503,50.983275 -98.493575,50.983200 -98.493838,50.983022 -98.493984,50.982954 -98.494352,50.982562 -98.498239,50.980629 -98.498448,50.980558 -98.498656,50.980521 -98.498827,50.980440 -98.499270,50.980369 -98.499667,50.980190 -98.500281,50.980026 -98.500492,50.979995 -98.500918,50.979889 -98.501020,50.979857 -98.501096,50.979844 -98.501100,50.979843 -98.501166,50.979812 -98.502640,50.979427 -98.503579,50.979220 -98.507525,50.978726 -98.507749,50.978729 -98.509466,50.978451 -98.514838,50.978911 -98.515248,50.978998 -98.515324,50.979027 -98.515415,50.979035 -98.520233,50.980832 -98.523471,50.983552 -98.523727,50.983647 -98.525567,50.985193 -98.527968,50.984054 -98.527976,50.984034 -98.530650,50.981116 -98.530974,50.980879 -98.531077,50.980829 -98.531146,50.980755 -98.535619,50.978632 -98.535674,50.978624 -98.535697,50.978427 -98.535604,50.978110 -98.535611,50.978077 -98.535532,50.977933 -98.535341,50.977379 -98.535143,50.976458 -98.535077,50.976308 -98.535033,50.976019 -98.534987,50.975829 -98.534538,50.974257 -98.534586,50.972859 -98.534666,50.972351 -98.535123,50.971049 -98.535197,50.970651 -98.535305,50.970424 -98.535361,50.970254 -98.535866,50.969107 -98.536295,50.968649 -98.536369,50.968190 -98.536570,50.967709 -98.536683,50.967577 -98.536698,50.967514 -98.536821,50.967382 -98.536899,50.967034 -98.539744,50.963992 -98.544215,50.961869 -98.549631,50.960987 -98.553842,50.961364 -98.554479,50.960839 -98.558948,50.958715 -98.561669,50.958272 -98.561863,50.958191 -98.563259,50.957964 -98.565326,50.956981 -98.568060,50.956356 -98.568476,50.956290 -98.571158,50.956033 -98.571783,50.956089 -98.573101,50.954677 -98.577569,50.952552 -98.579416,50.952251 -98.579662,50.952166 -98.579768,50.952147 -98.579797,50.952133 -98.580015,50.952098 -98.580324,50.951951 -98.585739,50.951068 -98.587091,50.951060 -98.587750,50.951076 -98.591935,50.951576 -98.592311,50.951710 -98.592438,50.951689 -98.597975,50.952182 -98.602794,50.953975 -98.606159,50.956796 -98.606858,50.958504 -98.607168,50.959067 -98.607283,50.959395 -98.607352,50.959710 -98.607559,50.960216 -98.607535,50.960541 -98.607601,50.960846 -98.607551,50.962218 -98.607559,50.962240 -98.610475,50.961764 -98.612251,50.961770 -98.612940,50.961799 -98.616703,50.962284 -98.618378,50.962907 -98.618837,50.962674 -98.619175,50.962554 -98.619439,50.962505 -98.619641,50.962409 -98.619771,50.962388 -98.619979,50.962289 -98.625394,50.961404 -98.630934,50.961894 -98.634000,50.962841 -98.634488,50.963041 -98.635762,50.963654 -98.635930,50.963714 -98.636287,50.963904 -98.637029,50.964220 -98.637229,50.964388 -98.637375,50.964442 -98.637496,50.964542 -98.637701,50.964624 -98.638046,50.964845 -98.640232,50.966803 -98.640667,50.967163 -98.640880,50.967433 -98.640902,50.967487 -98.640957,50.967532 -98.641408,50.968236 -98.641677,50.968509 -98.642413,50.969353 -98.642436,50.969408 -98.643150,50.970196 -98.643220,50.970366 -98.643324,50.970453 -98.643351,50.970515 -98.643429,50.970583 -98.643602,50.970840 -98.643760,50.971265 -98.644009,50.971489 -98.644048,50.971584 -98.644107,50.971633 -98.644199,50.971794 -98.644280,50.971865 -98.644378,50.972010 -98.644482,50.972288 -98.644694,50.972658 -98.644928,50.973024 -98.645078,50.973312 -98.645088,50.973346 -98.645110,50.973384 -98.645220,50.973664 -98.645225,50.973687 -98.645351,50.973904 -98.645512,50.974305 -98.645585,50.974602 -98.645688,50.974797 -98.645810,50.975188 -98.645914,50.975712 -98.645973,50.975839 -98.646049,50.976234 -98.646035,50.976317 -98.646054,50.976413 -98.645979,50.976753 -98.646153,50.977220 -98.646160,50.977594 -98.646147,50.977646 -98.646688,50.979564 -98.646839,50.979726 -98.646944,50.979980 -98.647081,50.980095 -98.647104,50.980138 -98.647178,50.980204 -98.647420,50.980573 -98.647585,50.981029 -98.648203,50.982172 -98.648342,50.982591 -98.648414,50.982932 -98.648479,50.983064 -98.648577,50.983464 -98.648724,50.984334 -98.648723,50.984336 -98.648724,50.984337 -98.648760,50.984738 -98.648759,50.984740 -98.648686,50.986306 -98.648613,50.986701 -98.648330,50.987478 -98.648308,50.987623 -98.648289,50.987896 -98.648278,50.987934 -98.648278,50.987956 -98.648337,50.988107 -98.648361,50.988548 -98.647991,50.990090 -98.648198,50.990886 -98.648296,50.991110 -98.648366,50.991613 -98.648339,50.991746 -98.648397,50.991887 -98.648394,50.991902 -98.648978,50.993323 -98.648936,50.993533 -98.649448,50.994781 -98.649521,50.994841 -98.649878,50.995390 -98.650243,50.995734 -98.650892,50.996248 -98.651152,50.996545 -98.651181,50.996609 -98.651263,50.996675 -98.651554,50.997022 -98.651627,50.997188 -98.651813,50.997343 -98.652562,50.998528 -98.652811,50.999019 -98.653467,51.001254 -98.652934,51.003662 -98.653039,51.003919 -98.652853,51.005983 -98.652757,51.006333 -98.652168,51.007768 -98.651717,51.008252 -98.651497,51.008821 -98.651521,51.008841 -98.652671,51.010039 -98.652799,51.010144 -98.653180,51.010617 -98.653259,51.010802 -98.653478,51.010961 -98.653823,51.011286 -98.654824,51.012388 -98.655155,51.013068 -98.655614,51.013790 -98.655834,51.014218 -98.655906,51.014460 -98.656092,51.014782 -98.656253,51.015183 -98.656670,51.016888 -98.656458,51.019041 -98.656339,51.019450 -98.655775,51.020796 -98.654320,51.022357 -98.653592,51.023265 -98.653237,51.023592 -98.652960,51.023815 -98.652936,51.023842 -98.652916,51.023851 -98.652110,51.024500 -98.649299,51.026033 -98.648870,51.026212 -98.647936,51.026546 -98.647145,51.026939 -98.646588,51.027126 -98.646323,51.027173 -98.646078,51.027289 -98.643086,51.027778 -98.642492,51.027913 -98.642091,51.027974 -98.641608,51.028020 -98.640655,51.028176 -98.640488,51.028176 -98.639064,51.028409 -98.638466,51.028387 -98.637938,51.028455 -98.637260,51.028565 -98.637088,51.028564 -98.636393,51.028653 -98.632860,51.028504 -98.632061,51.028407 -98.632009,51.028398 -98.631392,51.028373 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-98.597618,50.815728 -98.536716,50.890714</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-98.585731,50.881960 -98.585133,50.884645 -98.582297,50.887687 -98.577837,50.889811 -98.572430,50.890694 -98.572430,50.890694 -98.571861,50.890714 -98.571861,50.890714 -98.566332,50.890221 -98.561523,50.888426 -98.559552,50.886769 -98.559188,50.886623 -98.557774,50.885709 -98.557208,50.885199 -98.555991,50.884300 -98.555158,50.883487 -98.554272,50.882489 -98.553444,50.880457 -98.552911,50.880008 -98.552592,50.879457 -98.552319,50.879227 -98.550939,50.878562 -98.547583,50.875740 -98.547577,50.875723 -98.545887,50.874661 -98.543080,50.872165 -98.541688,50.868745 -98.542471,50.865248 -98.543071,50.864604 -98.542994,50.864122 -98.543148,50.863434 -98.542223,50.862439 -98.540832,50.859019 -98.541282,50.857008 -98.541003,50.856512 -98.540198,50.853982 -98.540828,50.850778 -98.541279,50.849865 -98.541372,50.848907 -98.541837,50.847447 -98.541682,50.847065 -98.541545,50.845504 -98.542157,50.842768 -98.541796,50.841882 -98.541896,50.841376 -98.541469,50.840328 -98.541560,50.838998 -98.541472,50.838719 -98.541461,50.838664 -98.541446,50.838636 -98.540908,50.836849 -98.540714,50.835847 -98.540190,50.835153 -98.540184,50.835138 -98.539325,50.833698 -98.538043,50.830814 -98.537546,50.829943 -98.536716,50.827368 -98.537498,50.823872 -98.538046,50.823284 -98.538298,50.822158 -98.541132,50.819118 -98.542586,50.818224 -98.543312,50.817837 -98.546313,50.816609 -98.551711,50.815728 -98.557229,50.816222 -98.560509,50.817448 -98.562294,50.817608 -98.567095,50.819402 -98.570447,50.822223 -98.570588,50.822570 -98.570854,50.822811 -98.571297,50.823518 -98.572217,50.826159 -98.572325,50.826251 -98.572721,50.827221 -98.577636,50.827660 -98.582439,50.829453 -98.582561,50.829556 -98.582723,50.829619 -98.586338,50.831778 -98.586707,50.832097 -98.588551,50.833464 -98.591657,50.836519 -98.594413,50.838654 -98.596222,50.840452 -98.597618,50.843871 -98.597556,50.845363 -98.597306,50.846818 -98.596590,50.848822 -98.595064,50.850785 -98.593031,50.852756 -98.592180,50.853812 -98.590107,50.855729 -98.589813,50.855869 -98.589642,50.856043 -98.588041,50.857075 -98.587386,50.857949 -98.585818,50.859571 -98.585662,50.859703 -98.585581,50.859807 -98.582830,50.862464 -98.582745,50.862740 -98.582709,50.863286 -98.582640,50.863591 -98.583414,50.865939 -98.583161,50.867073 -98.585167,50.869106 -98.585918,50.869969 -98.586003,50.870177 -98.586179,50.870331 -98.587055,50.871625 -98.588191,50.874682 -98.588298,50.875883 -98.587519,50.879380 -98.586841,50.880108 -98.586531,50.881102 -98.585731,50.881960 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-98.938939,50.298209 -98.807256,50.501798</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-98.917822,50.298209 -98.927933,50.313544 -98.915199,50.312346 -98.916233,50.343777 -98.928273,50.344578 -98.927816,50.346722 -98.928014,50.355646 -98.938939,50.358616 -98.938532,50.402446 -98.915906,50.402490 -98.915970,50.416951 -98.911494,50.501798 -98.811342,50.501000 -98.812604,50.422244 -98.807256,50.422024 -98.808093,50.409656 -98.845773,50.409788 -98.843584,50.299413 -98.868798,50.299509 -98.868798,50.299283 -98.917822,50.298209 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-97.742428,50.283278 -97.544093,50.551376</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-97.610752,50.302032 -97.610051,50.300850 -97.609145,50.298015 -97.609997,50.294533 -97.612863,50.291524 -97.617308,50.289447 -97.619255,50.288978 -97.621679,50.288521 -97.625078,50.288161 -97.630514,50.288705 -97.634847,50.290334 -97.639629,50.292964 -97.640309,50.290640 -97.640928,50.289196 -97.643792,50.286187 -97.648235,50.284109 -97.653580,50.283278 -97.659015,50.283820 -97.660587,50.284260 -97.666867,50.286317 -97.673967,50.287851 -97.674120,50.287909 -97.674307,50.287927 -97.677116,50.289044 -97.679006,50.289760 -97.679079,50.289825 -97.679180,50.289865 -97.688445,50.295508 -97.688665,50.295704 -97.690599,50.297178 -97.699794,50.306357 -97.700714,50.307428 -97.701408,50.308587 -97.703588,50.313137 -97.707648,50.314718 -97.709226,50.315813 -97.712472,50.318475 -97.714144,50.320225 -97.715448,50.323650 -97.714988,50.325550 -97.717009,50.327393 -97.720868,50.328895 -97.723268,50.330737 -97.731173,50.338772 -97.731827,50.339539 -97.731894,50.339597 -97.735594,50.344407 -97.735632,50.344501 -97.735727,50.344585 -97.737033,50.348009 -97.736192,50.351493 -97.733607,50.354215 -97.735185,50.355868 -97.735932,50.356761 -97.737173,50.359624 -97.737691,50.362754 -97.737641,50.363014 -97.737757,50.363316 -97.736915,50.366800 -97.736293,50.367454 -97.736620,50.368347 -97.736892,50.369613 -97.738744,50.371408 -97.739762,50.372572 -97.739783,50.372627 -97.739833,50.372672 -97.741192,50.374600 -97.742428,50.377925 -97.742212,50.379935 -97.741254,50.383295 -97.741371,50.385028 -97.740529,50.388513 -97.737665,50.391526 -97.733215,50.393609 -97.731017,50.394126 -97.727067,50.394824 -97.723907,50.395142 -97.718456,50.394603 -97.715203,50.393520 -97.709817,50.391113 -97.708357,50.390363 -97.706661,50.389173 -97.701132,50.384518 -97.699605,50.384186 -97.699474,50.384136 -97.699315,50.384120 -97.694604,50.382287 -97.692975,50.381152 -97.689073,50.377917 -97.687448,50.376206 -97.686668,50.374155 -97.685423,50.373168 -97.681036,50.371666 -97.680405,50.371379 -97.679712,50.371151 -97.677181,50.370040 -97.675614,50.369242 -97.672361,50.366395 -97.672318,50.366282 -97.672067,50.366114 -97.669062,50.363832 -97.665963,50.362624 -97.663007,50.360159 -97.660336,50.356891 -97.660254,50.356695 -97.660041,50.356509 -97.658819,50.353288 -97.656381,50.352282 -97.654476,50.351339 -97.653102,50.350407 -97.649402,50.347510 -97.649400,50.347575 -97.649662,50.347717 -97.652575,50.350132 -97.656242,50.354553 -97.656335,50.354773 -97.656577,50.354985 -97.657030,50.355684 -97.662232,50.364780 -97.663080,50.367506 -97.663014,50.367777 -97.663091,50.368008 -97.663015,50.371547 -97.662156,50.374529 -97.659288,50.377540 -97.657783,50.378242 -97.658457,50.379055 -97.658551,50.379274 -97.658793,50.379487 -97.660094,50.382913 -97.659245,50.386397 -97.658261,50.387755 -97.653966,50.392586 -97.652080,50.394238 -97.647626,50.396318 -97.646374,50.396586 -97.646057,50.397887 -97.647072,50.400298 -97.648197,50.408128 -97.648154,50.408340 -97.648244,50.408579 -97.647394,50.412062 -97.645166,50.414398 -97.645264,50.415061 -97.645219,50.415283 -97.645315,50.415535 -97.644815,50.417284 -97.644464,50.419019 -97.644257,50.419236 -97.644195,50.419453 -97.641392,50.423655 -97.638788,50.426231 -97.635718,50.427662 -97.637374,50.427827 -97.637592,50.427912 -97.637822,50.427937 -97.642125,50.429052 -97.646391,50.430777 -97.648725,50.432553 -97.654485,50.438296 -97.655406,50.439367 -97.656709,50.442794 -97.656133,50.445156 -97.656968,50.445481 -97.657133,50.445625 -97.657347,50.445712 -97.659391,50.447005 -97.660414,50.447116 -97.662895,50.447538 -97.667611,50.449373 -97.670796,50.452120 -97.674593,50.457178 -97.674635,50.457287 -97.674738,50.457378 -97.677654,50.461518 -97.681329,50.463485 -97.683250,50.463677 -97.685923,50.464117 -97.690643,50.465951 -97.693904,50.468798 -97.694575,50.470178 -97.696340,50.470781 -97.700313,50.472639 -97.701524,50.473273 -97.704787,50.476120 -97.706094,50.479547 -97.705920,50.481397 -97.705313,50.483752 -97.706200,50.484577 -97.707363,50.485878 -97.707482,50.486190 -97.707720,50.486412 -97.714208,50.497047 -97.714255,50.497187 -97.714567,50.497709 -97.719054,50.507171 -97.719648,50.509402 -97.719600,50.510626 -97.718808,50.516054 -97.718010,50.518316 -97.715135,50.521329 -97.710670,50.523412 -97.708931,50.523802 -97.708768,50.524219 -97.705893,50.527233 -97.705430,50.527449 -97.705907,50.528698 -97.705059,50.532184 -97.702183,50.535198 -97.700656,50.536257 -97.700271,50.536682 -97.700600,50.541621 -97.699751,50.545107 -97.696874,50.548121 -97.692404,50.550203 -97.688586,50.550940 -97.685137,50.551278 -97.683575,50.551376 -97.678104,50.550834 -97.673375,50.548999 -97.673148,50.548801 -97.672865,50.548685 -97.665210,50.543729 -97.664983,50.543520 -97.663910,50.542759 -97.653691,50.533938 -97.652235,50.532374 -97.650930,50.528946 -97.651557,50.525886 -97.653136,50.522647 -97.652856,50.522570 -97.644983,50.520076 -97.641693,50.518633 -97.638432,50.515784 -97.637462,50.513966 -97.635752,50.509120 -97.632964,50.504043 -97.632849,50.503659 -97.632497,50.502993 -97.631676,50.500607 -97.629709,50.501051 -97.625570,50.501560 -97.620106,50.501015 -97.616100,50.499570 -97.612913,50.497934 -97.612645,50.497715 -97.612198,50.497541 -97.608940,50.494691 -97.608404,50.493843 -97.605781,50.488997 -97.605018,50.486418 -97.605115,50.484928 -97.606171,50.479529 -97.606185,50.478228 -97.602784,50.476903 -97.601223,50.475823 -97.589850,50.466537 -97.588156,50.464767 -97.587561,50.463806 -97.585805,50.460412 -97.585103,50.457945 -97.585415,50.455654 -97.586884,50.451351 -97.586456,50.448615 -97.586505,50.448368 -97.586398,50.448085 -97.586289,50.446368 -97.587145,50.442884 -97.590024,50.439875 -97.592107,50.438691 -97.596942,50.436445 -97.599231,50.434374 -97.599402,50.434240 -97.599452,50.434180 -97.604192,50.430125 -97.605124,50.429409 -97.609584,50.427331 -97.611504,50.426972 -97.611328,50.426930 -97.606694,50.425111 -97.605603,50.424395 -97.605457,50.424287 -97.602285,50.423847 -97.597574,50.422009 -97.595014,50.419995 -97.588863,50.413411 -97.580128,50.404729 -97.579890,50.404452 -97.579780,50.404363 -97.572836,50.396683 -97.572246,50.395956 -97.571304,50.394200 -97.568698,50.386997 -97.568445,50.385800 -97.568371,50.385616 -97.567908,50.381545 -97.557850,50.370039 -97.557841,50.370018 -97.557810,50.369993 -97.556153,50.368071 -97.556030,50.367788 -97.555701,50.367499 -97.554660,50.365440 -97.553666,50.362182 -97.549407,50.358163 -97.548278,50.356884 -97.547446,50.355406 -97.544551,50.348408 -97.544093,50.346458 -97.544951,50.342975 -97.547825,50.339968 -97.552279,50.337894 -97.553942,50.337481 -97.555636,50.337138 -97.553204,50.330709 -97.552819,50.328946 -97.553303,50.326211 -97.554907,50.322437 -97.555280,50.321690 -97.558152,50.318683 -97.562603,50.316608 -97.566785,50.315843 -97.577775,50.314969 -97.578943,50.314907 -97.582550,50.315111 -97.587504,50.315810 -97.586342,50.313847 -97.585437,50.311011 -97.586291,50.307529 -97.589160,50.304521 -97.590979,50.303460 -97.593953,50.302007 -97.596582,50.300992 -97.601931,50.300164 -97.607367,50.300709 -97.610752,50.302032 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-97.565189,50.032680 -97.502425,50.072780</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-97.538718,50.036036 -97.539338,50.036024 -97.544616,50.036575 -97.549280,50.038413 -97.549446,50.038560 -97.549661,50.038648 -97.555074,50.042117 -97.557910,50.044729 -97.558450,50.045596 -97.560636,50.049712 -97.560685,50.049732 -97.563904,50.052579 -97.565187,50.056002 -97.565093,50.056387 -97.565189,50.056695 -97.565092,50.058404 -97.564240,50.061190 -97.561386,50.064195 -97.560900,50.064447 -97.559376,50.066624 -97.556897,50.069036 -97.552473,50.071109 -97.549072,50.071687 -97.548845,50.071793 -97.543525,50.072618 -97.537213,50.072780 -97.531808,50.072231 -97.528456,50.071084 -97.516339,50.065462 -97.511787,50.064999 -97.507122,50.063159 -97.503906,50.060310 -97.502628,50.056886 -97.502664,50.056740 -97.502618,50.056607 -97.502425,50.041782 -97.503290,50.038583 -97.506147,50.035580 -97.510569,50.033510 -97.515885,50.032687 -97.516208,50.032720 -97.516494,50.032680 -97.528210,50.032709 -97.533001,50.033265 -97.537664,50.035103 -97.538718,50.036036 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-98.915227,52.827578 -98.783500,52.951990</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-98.912254,52.863054 -98.909918,52.864130 -98.907079,52.864583 -98.904171,52.864344 -98.902049,52.863656 -98.898854,52.862177 -98.898563,52.861963 -98.898150,52.861808 -98.897223,52.861256 -98.895913,52.860919 -98.895259,52.861598 -98.894310,52.862035 -98.894293,52.862100 -98.894264,52.862170 -98.894259,52.862218 -98.893801,52.863709 -98.893519,52.864359 -98.892508,52.865540 -98.891397,52.866473 -98.891494,52.866931 -98.891471,52.867070 -98.891541,52.867232 -98.891151,52.868984 -98.890241,52.870594 -98.890811,52.872050 -98.890785,52.872166 -98.890824,52.872267 -98.890882,52.874844 -98.890815,52.875098 -98.890734,52.875808 -98.890207,52.877386 -98.890244,52.877436 -98.890280,52.877522 -98.890674,52.878163 -98.891731,52.880581 -98.891967,52.881467 -98.892067,52.882446 -98.891671,52.884206 -98.890191,52.885741 -98.887854,52.886817 -98.886478,52.887126 -98.885478,52.887286 -98.884014,52.887429 -98.881103,52.887189 -98.878566,52.886294 -98.877462,52.885558 -98.875910,52.884264 -98.875237,52.883586 -98.874667,52.882611 -98.874166,52.881294 -98.873465,52.879860 -98.873169,52.878845 -98.873161,52.878391 -98.873240,52.877160 -98.873645,52.875853 -98.874699,52.874760 -98.874957,52.873568 -98.874935,52.873542 -98.874821,52.873297 -98.874603,52.873109 -98.873645,52.871671 -98.873115,52.870248 -98.873144,52.870119 -98.873102,52.870008 -98.873070,52.867676 -98.873116,52.867502 -98.873163,52.866922 -98.873750,52.864690 -98.873814,52.864534 -98.873825,52.864446 -98.874803,52.861697 -98.874947,52.859944 -98.874993,52.856475 -98.875093,52.856122 -98.875170,52.855529 -98.875806,52.853786 -98.875930,52.853519 -98.875938,52.853475 -98.876385,52.852561 -98.876874,52.848730 -98.876966,52.845788 -98.877133,52.845215 -98.877219,52.844700 -98.877470,52.844129 -98.876411,52.842158 -98.876056,52.841026 -98.876044,52.840648 -98.876084,52.839544 -98.875458,52.836867 -98.875398,52.836506 -98.875427,52.836377 -98.875384,52.836266 -98.875352,52.833934 -98.875357,52.833914 -98.875354,52.833795 -98.875408,52.832319 -98.875816,52.830937 -98.877294,52.829403 -98.879628,52.828328 -98.880421,52.828127 -98.881811,52.827829 -98.883854,52.827578 -98.885844,52.827665 -98.888104,52.827950 -98.889019,52.828103 -98.891553,52.828997 -98.893328,52.830411 -98.893690,52.830943 -98.894432,52.832267 -98.894818,52.833453 -98.894423,52.835213 -98.894122,52.835663 -98.893739,52.836158 -98.893709,52.837963 -98.894021,52.838640 -98.895823,52.840901 -98.895831,52.840919 -98.896320,52.841715 -98.897092,52.843481 -98.898415,52.846269 -98.899665,52.847745 -98.901369,52.849674 -98.904289,52.850999 -98.904760,52.851231 -98.908526,52.853247 -98.911633,52.854797 -98.911711,52.854857 -98.911830,52.854899 -98.912422,52.855253 -98.913293,52.855835 -98.914478,52.856894 -98.915227,52.858612 -98.914832,52.860373 -98.914222,52.861180 -98.913121,52.862327 -98.912254,52.863054 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-98.791475,52.951990 -98.788561,52.951748 -98.786021,52.950851 -98.784244,52.949434 -98.783500,52.947715 -98.783901,52.945955 -98.785387,52.944421 -98.785543,52.944352 -98.785640,52.944258 -98.791774,52.940474 -98.797908,52.936690 -98.797915,52.936686 -98.797919,52.936683 -98.805777,52.931853 -98.805867,52.931814 -98.806257,52.931583 -98.814960,52.927090 -98.815231,52.926983 -98.815512,52.926831 -98.818684,52.925479 -98.820634,52.923957 -98.820813,52.923869 -98.820954,52.923723 -98.822544,52.922904 -98.828959,52.920434 -98.833605,52.917733 -98.835530,52.916921 -98.835605,52.916909 -98.835664,52.916882 -98.839440,52.915826 -98.847893,52.911876 -98.849050,52.911441 -98.849121,52.911408 -98.858784,52.908474 -98.858828,52.908467 -98.858866,52.908449 -98.861708,52.907998 -98.862590,52.907997 -98.866056,52.908115 -98.868087,52.908356 -98.869887,52.908904 -98.870963,52.909349 -98.872501,52.909672 -98.875025,52.910564 -98.876804,52.911978 -98.877552,52.913696 -98.877155,52.915457 -98.875674,52.916992 -98.875199,52.917288 -98.874045,52.917945 -98.872180,52.918724 -98.869337,52.919176 -98.866895,52.918974 -98.866725,52.919047 -98.863882,52.919499 -98.861793,52.919327 -98.861305,52.919405 -98.860287,52.920355 -98.859603,52.920900 -98.857262,52.921975 -98.854418,52.922427 -98.854293,52.922431 -98.853318,52.923097 -98.850977,52.924171 -98.848668,52.924592 -98.846163,52.924792 -98.845059,52.924940 -98.844400,52.925389 -98.843415,52.925950 -98.841353,52.926929 -98.837744,52.929273 -98.835526,52.930265 -98.834824,52.930445 -98.833445,52.930751 -98.832058,52.931235 -98.830658,52.932271 -98.830326,52.932429 -98.830118,52.932629 -98.828582,52.933545 -98.826658,52.934368 -98.826599,52.934395 -98.826352,52.934468 -98.826023,52.934782 -98.823680,52.935857 -98.821785,52.936219 -98.819883,52.937244 -98.816339,52.939390 -98.816701,52.939655 -98.817660,52.940558 -98.818406,52.942277 -98.818006,52.944037 -98.816521,52.945571 -98.814773,52.946450 -98.810650,52.947951 -98.810055,52.948146 -98.808776,52.948438 -98.800921,52.949756 -98.794110,52.951600 -98.791475,52.951990 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-101.794505,53.426660 -100.179246,54.207408</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-101.794505,54.054805 -101.790996,54.077530 -101.730052,54.079103 -101.675477,54.073498 -101.637637,54.075835 -101.630686,54.058265 -101.600424,54.060123 -101.577083,54.079548 -101.576440,54.097584 -101.531386,54.102572 -101.468845,54.095094 -101.432892,54.108491 -101.387805,54.113419 -101.358616,54.099400 -101.350667,54.120110 -101.266516,54.120531 -101.228231,54.120498 -101.230839,54.136088 -101.226979,54.158799 -101.169677,54.159838 -101.086164,54.164574 -101.041688,54.173814 -100.954329,54.178661 -100.893191,54.179763 -100.689049,54.172717 -100.618533,54.187639 -100.550100,54.191172 -100.499020,54.182547 -100.459818,54.202505 -100.406885,54.207408 -100.347888,54.196862 -100.282272,54.166395 -100.214579,54.120278 -100.192488,54.098890 -100.179246,54.086055 -100.214996,54.068618 -100.270617,54.029993 -100.247922,54.004162 -100.227483,53.966996 -100.232591,53.921859 -100.265011,53.909055 -100.302760,53.907199 -100.262507,53.891223 -100.294576,53.876182 -100.385335,53.846981 -100.424296,53.829401 -100.433247,53.810900 -100.454215,53.798614 -100.419060,53.791421 -100.360393,53.778664 -100.330901,53.757699 -100.272339,53.691056 -100.269859,53.646320 -100.290787,53.607159 -100.289537,53.571340 -100.339079,53.548688 -100.357822,53.574658 -100.389903,53.561828 -100.422697,53.580349 -100.479972,53.559477 -100.468948,53.535372 -100.492194,53.513992 -100.536531,53.534123 -100.585641,53.560720 -100.610387,53.575123 -100.624558,53.572644 -100.656004,53.552521 -100.654671,53.543618 -100.623451,53.536298 -100.599606,53.553257 -100.574878,53.538852 -100.565241,53.498983 -100.600920,53.485897 -100.658286,53.467160 -100.698635,53.460518 -100.721984,53.490668 -100.739946,53.509891 -100.768451,53.499375 -100.777606,53.485418 -100.803718,53.483996 -100.836989,53.504611 -100.883693,53.466139 -100.910041,53.442241 -100.897236,53.437608 -101.732483,53.426660 -101.728321,53.730589 -101.746712,54.041697 -101.794505,54.054805 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-97.986428,52.948865 -97.933595,52.976142</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-97.966449,52.976142 -97.960627,52.975612 -97.955585,52.973777 -97.954365,52.973023 -97.954234,52.972933 -97.950591,52.972625 -97.947559,52.972172 -97.942518,52.970336 -97.942170,52.970052 -97.941766,52.969893 -97.937750,52.967352 -97.935009,52.964935 -97.933595,52.961485 -97.934223,52.958432 -97.935217,52.956444 -97.935405,52.956244 -97.935470,52.955982 -97.938510,52.952939 -97.943247,52.950830 -97.947127,52.950095 -97.957928,52.948985 -97.959758,52.948865 -97.964693,52.949222 -97.970889,52.950316 -97.971266,52.950444 -97.971772,52.950490 -97.976812,52.952324 -97.978148,52.953158 -97.981585,52.955599 -97.983744,52.957624 -97.984910,52.959791 -97.986177,52.963792 -97.986428,52.965074 -97.985552,52.968589 -97.982515,52.971633 -97.977778,52.973744 -97.977685,52.973758 -97.977611,52.973791 -97.971997,52.975334 -97.966449,52.976142 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-100.121725,51.778633 -99.959413,52.011841</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-100.120270,51.867142 -100.121725,51.890846 -100.119590,51.899553 -100.110859,51.914154 -100.100364,51.927831 -100.086544,51.941166 -100.077563,51.947682 -100.067572,51.952729 -100.065845,51.958380 -100.060113,51.964734 -100.053270,51.975190 -100.053456,51.989349 -100.044292,52.000932 -100.025771,52.009935 -100.017815,52.011841 -100.006899,52.009843 -100.005421,51.998277 -100.007438,51.981987 -100.006241,51.959783 -100.002861,51.939711 -99.997769,51.931865 -99.989298,51.923171 -99.972109,51.929569 -99.965461,51.922303 -99.959413,51.900338 -99.961241,51.875971 -99.972581,51.862272 -99.967301,51.846344 -99.977804,51.826110 -99.987474,51.825134 -99.989124,51.812411 -99.991840,51.801659 -99.998925,51.793223 -100.007435,51.783199 -100.016902,51.780712 -100.038648,51.778633 -100.059352,51.781151 -100.072087,51.785072 -100.085149,51.791504 -100.085182,51.798077 -100.088459,51.804489 -100.087261,51.814158 -100.089598,51.819605 -100.090574,51.827143 -100.092686,51.837154 -100.097459,51.842481 -100.100741,51.848893 -100.110544,51.848911 -100.117887,51.855120 -100.120270,51.867142 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-98.616613,51.483853 -98.162153,51.831866</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-98.526855,51.499215 -98.531671,51.505956 -98.528956,51.510983 -98.531117,51.517487 -98.538155,51.519545 -98.543848,51.518361 -98.545572,51.519945 -98.552901,51.519361 -98.553482,51.514078 -98.555904,51.511691 -98.563467,51.513729 -98.571675,51.517060 -98.578699,51.530629 -98.581883,51.530846 -98.589541,51.533866 -98.597368,51.532932 -98.595999,51.535283 -98.597814,51.537851 -98.595979,51.540876 -98.597120,51.541823 -98.600444,51.537758 -98.604124,51.537628 -98.605803,51.544477 -98.609018,51.545021 -98.606806,51.549705 -98.602411,51.559401 -98.605251,51.561604 -98.606960,51.568781 -98.611272,51.575538 -98.615568,51.587888 -98.615833,51.602356 -98.616613,51.610884 -98.610393,51.618014 -98.602101,51.614030 -98.599825,51.618058 -98.600154,51.621667 -98.603584,51.624507 -98.606836,51.625379 -98.604937,51.627750 -98.600631,51.626915 -98.592438,51.629836 -98.586342,51.626759 -98.586818,51.632008 -98.587414,51.638568 -98.590118,51.645055 -98.591301,51.652253 -98.587082,51.652401 -98.584148,51.649213 -98.581311,51.652933 -98.586036,51.658361 -98.589388,51.666142 -98.588520,51.674071 -98.584099,51.677846 -98.576094,51.677139 -98.570989,51.673368 -98.563217,51.669361 -98.557650,51.672188 -98.557167,51.672199 -98.555864,51.675870 -98.555986,51.683106 -98.554052,51.685148 -98.554377,51.688757 -98.556729,51.697232 -98.555707,51.703521 -98.552423,51.708243 -98.546056,51.708135 -98.541743,51.707297 -98.540541,51.711617 -98.540278,51.714589 -98.538577,51.719255 -98.540574,51.723794 -98.537463,51.724560 -98.534967,51.720368 -98.529450,51.717925 -98.527747,51.722592 -98.528363,51.729482 -98.521494,51.729719 -98.513156,51.731322 -98.506257,51.731230 -98.501884,51.729734 -98.504260,51.732615 -98.501821,51.735002 -98.491141,51.728126 -98.487384,51.727596 -98.481803,51.730419 -98.476750,51.733224 -98.467506,51.730575 -98.460665,51.731136 -98.450836,51.727848 -98.453996,51.733665 -98.455926,51.737550 -98.451427,51.740664 -98.444941,51.739237 -98.449657,51.744673 -98.441485,51.748239 -98.434826,51.744843 -98.432769,51.745570 -98.426111,51.742173 -98.422382,51.741968 -98.418551,51.746704 -98.406117,51.750081 -98.393012,51.751832 -98.365437,51.764262 -98.350823,51.773299 -98.342663,51.777186 -98.330216,51.774300 -98.321754,51.768321 -98.313515,51.764968 -98.309084,51.769060 -98.317319,51.778668 -98.326620,51.781987 -98.349822,51.786497 -98.358821,51.792457 -98.364062,51.797881 -98.363006,51.804169 -98.354312,51.808075 -98.349463,51.813501 -98.353060,51.818321 -98.353647,51.825215 -98.344613,51.831435 -98.331366,51.831866 -98.318151,51.826369 -98.290453,51.812778 -98.256339,51.798397 -98.241962,51.797866 -98.230502,51.800531 -98.218317,51.794332 -98.213841,51.791510 -98.193750,51.792468 -98.169822,51.785312 -98.162153,51.769094 -98.170012,51.761282 -98.179825,51.764598 -98.191730,51.767519 -98.212176,51.764576 -98.228307,51.760778 -98.242184,51.755403 -98.263473,51.743537 -98.274953,51.734944 -98.286892,51.731928 -98.297991,51.731571 -98.311508,51.734755 -98.319827,51.732840 -98.324781,51.728730 -98.337882,51.726987 -98.341998,51.731789 -98.349342,51.737144 -98.355937,51.739890 -98.363726,51.737988 -98.373077,51.741959 -98.382014,51.747259 -98.387386,51.748069 -98.394033,51.745216 -98.391967,51.739689 -98.384172,51.735340 -98.382553,51.728811 -98.380517,51.723613 -98.380849,51.721298 -98.379843,51.715737 -98.383316,51.712989 -98.379253,51.708846 -98.368937,51.705895 -98.365208,51.699436 -98.357950,51.688816 -98.358283,51.686502 -98.357337,51.681597 -98.361613,51.675863 -98.369861,51.673288 -98.379501,51.674615 -98.383420,51.677117 -98.384794,51.675871 -98.379355,51.666722 -98.376908,51.662855 -98.384372,51.657343 -98.392039,51.660379 -98.395949,51.656630 -98.403221,51.655072 -98.404964,51.650737 -98.410822,51.651199 -98.414956,51.650074 -98.418948,51.647308 -98.424080,51.645491 -98.423654,51.640570 -98.413041,51.634016 -98.404982,51.626389 -98.404417,51.619827 -98.407155,51.614801 -98.414363,51.612586 -98.424532,51.607969 -98.427537,51.599972 -98.427666,51.595362 -98.433929,51.594493 -98.438427,51.585460 -98.440461,51.578483 -98.441796,51.569556 -98.449234,51.564041 -98.455091,51.558579 -98.466456,51.543720 -98.470300,51.533392 -98.471828,51.526762 -98.473615,51.523083 -98.478022,51.525235 -98.484215,51.523707 -98.488745,51.521250 -98.491500,51.510630 -98.492793,51.501376 -98.491223,51.495510 -98.495464,51.483853 -98.512386,51.484586 -98.523062,51.492111 -98.526855,51.499215 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-99.736430,51.704732 -99.635813,51.891770</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-99.728150,51.731605 -99.722074,51.738477 -99.720865,51.746113 -99.719835,51.759673 -99.716983,51.771339 -99.714754,51.779352 -99.712800,51.789660 -99.713134,51.796896 -99.717228,51.800003 -99.717892,51.796677 -99.718968,51.792342 -99.723079,51.791164 -99.728111,51.793239 -99.729799,51.798435 -99.730468,51.804007 -99.727555,51.810734 -99.720408,51.817657 -99.715393,51.820195 -99.715669,51.822490 -99.714102,51.827177 -99.709714,51.834961 -99.706794,51.841688 -99.713735,51.846314 -99.714168,51.849920 -99.712542,51.858566 -99.706581,51.862137 -99.702207,51.865634 -99.693733,51.866022 -99.691889,51.868414 -99.690122,51.871462 -99.684942,51.872688 -99.680922,51.870234 -99.676941,51.868108 -99.674839,51.872819 -99.671949,51.879874 -99.666136,51.884754 -99.662481,51.889866 -99.656846,51.891770 -99.646724,51.887284 -99.646595,51.881685 -99.653250,51.879405 -99.655161,51.873055 -99.657975,51.865345 -99.652135,51.860995 -99.650378,51.855141 -99.648660,51.849615 -99.648156,51.845352 -99.653927,51.840146 -99.656262,51.837403 -99.651976,51.832653 -99.649020,51.830150 -99.648323,51.824249 -99.648232,51.818979 -99.651393,51.814221 -99.650540,51.807009 -99.642556,51.802427 -99.635813,51.794822 -99.638690,51.783157 -99.647817,51.779447 -99.654043,51.778176 -99.659453,51.770020 -99.659216,51.754542 -99.658776,51.746323 -99.657948,51.734827 -99.662246,51.729954 -99.656980,51.726633 -99.654031,51.724131 -99.651791,51.718632 -99.652330,51.709710 -99.657823,51.706824 -99.668785,51.705336 -99.681971,51.704732 -99.694259,51.705487 -99.706625,51.706895 -99.725109,51.710655 -99.735312,51.716115 -99.736430,51.721006 -99.731743,51.726166 -99.727696,51.731439 -99.728150,51.731605 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-97.242088,51.747096 -97.180717,51.820412</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-97.205796,51.819391 -97.205325,51.819601 -97.199761,51.820412 -97.194120,51.819841 -97.189261,51.817976 -97.185925,51.815100 -97.184618,51.811652 -97.184782,51.809949 -97.185258,51.808049 -97.185234,51.807628 -97.185028,51.806611 -97.184923,51.805791 -97.185844,51.802296 -97.188853,51.799285 -97.193491,51.797217 -97.199051,51.796406 -97.204689,51.796976 -97.207932,51.798032 -97.208792,51.798404 -97.210406,51.799213 -97.213743,51.802087 -97.215052,51.805535 -97.215125,51.806835 -97.215103,51.807739 -97.215074,51.808019 -97.215249,51.809044 -97.214989,51.811092 -97.214455,51.812795 -97.213796,51.814242 -97.210788,51.817254 -97.207079,51.819036 -97.206255,51.819313 -97.205796,51.819391 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-97.210903,51.763535 -97.211185,51.764278 -97.211135,51.764465 -97.211403,51.765170 -97.211104,51.766309 -97.211077,51.766775 -97.210975,51.767361 -97.210896,51.767569 -97.210981,51.767851 -97.210895,51.769200 -97.210818,51.769619 -97.209985,51.771765 -97.206980,51.774776 -97.202346,51.776845 -97.201067,51.777162 -97.200635,51.777255 -97.196356,51.777748 -97.190721,51.777177 -97.185868,51.775312 -97.182535,51.772437 -97.181535,51.770548 -97.181254,51.769719 -97.180949,51.768160 -97.180971,51.767659 -97.180888,51.767056 -97.180917,51.766891 -97.180814,51.766327 -97.180858,51.766159 -97.180717,51.765786 -97.180943,51.764583 -97.180871,51.764322 -97.180927,51.763963 -97.180871,51.763717 -97.181099,51.762851 -97.181235,51.761974 -97.181353,51.761659 -97.181486,51.761384 -97.181792,51.760222 -97.183185,51.758498 -97.183472,51.758221 -97.185085,51.756934 -97.189718,51.754867 -97.195273,51.754056 -97.200904,51.754627 -97.205756,51.756491 -97.207660,51.757834 -97.208013,51.758140 -97.208920,51.759111 -97.208474,51.757935 -97.208423,51.757025 -97.209341,51.753530 -97.212344,51.750519 -97.213511,51.749824 -97.214528,51.749281 -97.217992,51.747908 -97.223545,51.747096 -97.229176,51.747665 -97.231312,51.748425 -97.232158,51.748511 -97.237010,51.750373 -97.237010,51.750373 -97.237444,51.750624 -97.237444,51.750624 -97.240779,51.753498 -97.242088,51.756944 -97.241173,51.760440 -97.239207,51.762681 -97.238406,51.763349 -97.237371,51.764120 -97.232739,51.766190 -97.227183,51.767002 -97.226136,51.767025 -97.226136,51.767025 -97.224461,51.767061 -97.224461,51.767061 -97.218827,51.766492 -97.215587,51.765437 -97.214728,51.765065 -97.213115,51.764257 -97.210600,51.762089 -97.210761,51.762674 -97.210903,51.763535 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-98.158091,50.511747 -98.013434,50.631230</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-98.158091,50.629313 -98.151617,50.630714 -98.135198,50.631230 -98.101798,50.631076 -98.095002,50.628296 -98.091021,50.625428 -98.038943,50.595625 -98.024880,50.589772 -98.015062,50.584089 -98.014349,50.580821 -98.014640,50.578420 -98.013775,50.560505 -98.013808,50.529410 -98.013434,50.511783 -98.140491,50.511747 -98.149494,50.512958 -98.154075,50.517597 -98.158091,50.629313 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-96.943900,50.982854 -96.831795,51.023591</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-96.929125,50.982854 -96.934645,50.983438 -96.939391,50.985310 -96.942641,50.988187 -96.943900,50.991629 -96.942976,50.995113 -96.941031,50.997343 -96.940716,50.997608 -96.940270,50.998137 -96.938051,51.000091 -96.935669,51.001374 -96.932902,51.002561 -96.932171,51.002819 -96.930558,51.004447 -96.928426,51.005620 -96.927396,51.006082 -96.927365,51.006262 -96.926906,51.007405 -96.926413,51.008393 -96.923444,51.011388 -96.918883,51.013439 -96.913425,51.014232 -96.907902,51.013647 -96.903154,51.011773 -96.903070,51.011707 -96.903591,51.013136 -96.903645,51.014269 -96.902717,51.017754 -96.899745,51.020749 -96.895182,51.022798 -96.889723,51.023591 -96.884198,51.023004 -96.879450,51.021129 -96.877168,51.019772 -96.876189,51.019316 -96.876145,51.019308 -96.870004,51.019422 -96.868525,51.019401 -96.861167,51.019058 -96.855092,51.018832 -96.851949,51.019436 -96.848188,51.019824 -96.842665,51.019235 -96.837919,51.017358 -96.835123,51.015055 -96.833495,51.013140 -96.833375,51.012856 -96.833046,51.012564 -96.831795,51.009120 -96.832729,51.005636 -96.835704,51.002643 -96.837839,51.001473 -96.840103,51.000459 -96.842532,50.999583 -96.847990,50.998794 -96.849216,50.998804 -96.857604,50.999103 -96.865303,50.998961 -96.873858,50.998493 -96.874238,50.998526 -96.874675,50.998463 -96.878167,50.998668 -96.885402,50.999667 -96.887432,51.000048 -96.889636,51.000717 -96.894602,51.002568 -96.897144,51.003774 -96.897310,51.003894 -96.897491,51.002240 -96.897861,51.000859 -96.898020,50.999971 -96.898610,50.998433 -96.898699,50.998059 -96.899407,50.996749 -96.899529,50.996621 -96.899572,50.996460 -96.902542,50.993465 -96.903476,50.992894 -96.906178,50.991384 -96.906255,50.991272 -96.908987,50.988645 -96.911119,50.987473 -96.915642,50.985443 -96.918069,50.984565 -96.918622,50.984485 -96.919011,50.984322 -96.922057,50.983616 -96.923356,50.983458 -96.925144,50.983137 -96.927700,50.982927 -96.929125,50.982854 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-98.732026,50.832229 -98.681345,50.880579</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-98.694964,50.835247 -98.699412,50.833118 -98.704808,50.832229 -98.710331,50.832715 -98.715140,50.834502 -98.718503,50.837319 -98.719813,50.840093 -98.719816,50.840109 -98.720244,50.840467 -98.721650,50.843884 -98.720884,50.847382 -98.720742,50.847534 -98.720724,50.847617 -98.720572,50.847781 -98.720517,50.847980 -98.720358,50.848216 -98.717901,50.850663 -98.713452,50.852793 -98.708053,50.853682 -98.702528,50.853196 -98.702362,50.853135 -98.702185,50.853118 -98.700517,50.852720 -98.696049,50.851011 -98.692686,50.848194 -98.691283,50.844776 -98.691341,50.844206 -98.691100,50.843170 -98.690972,50.842378 -98.691741,50.838881 -98.692027,50.838572 -98.692108,50.838282 -98.692507,50.837694 -98.694964,50.835247 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-98.685266,50.859929 -98.689718,50.857800 -98.695118,50.856911 -98.700643,50.857398 -98.705455,50.859185 -98.708820,50.862002 -98.708915,50.862234 -98.709952,50.863244 -98.710847,50.862816 -98.716247,50.861926 -98.721774,50.862411 -98.725739,50.863757 -98.726404,50.864076 -98.726537,50.864179 -98.726587,50.864198 -98.726744,50.864329 -98.727251,50.864518 -98.730618,50.867334 -98.732026,50.870751 -98.731260,50.874249 -98.728436,50.877295 -98.723984,50.879426 -98.723897,50.879440 -98.723827,50.879474 -98.722944,50.879736 -98.717700,50.880579 -98.713140,50.880282 -98.712864,50.880235 -98.712545,50.880126 -98.712170,50.880093 -98.712090,50.880063 -98.711894,50.880046 -98.707080,50.878258 -98.704388,50.876005 -98.704282,50.876043 -98.704114,50.876075 -98.704087,50.876088 -98.703831,50.876130 -98.703385,50.876344 -98.697983,50.877233 -98.692455,50.876746 -98.687642,50.874958 -98.684277,50.872140 -98.684084,50.871670 -98.682749,50.870303 -98.681345,50.866885 -98.682115,50.863387 -98.682816,50.862333 -98.683140,50.861919 -98.685266,50.859929 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-98.657017,50.345682 -98.495117,50.594187</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-98.656228,50.588135 -98.653419,50.591176 -98.648994,50.593302 -98.643629,50.594187 -98.638140,50.593698 -98.633363,50.591908 -98.631911,50.590954 -98.614223,50.577455 -98.595365,50.566304 -98.592238,50.563606 -98.590983,50.561005 -98.587398,50.545589 -98.587268,50.544774 -98.587344,50.544431 -98.587246,50.544151 -98.587492,50.531588 -98.585272,50.525574 -98.583258,50.522661 -98.582077,50.519524 -98.582061,50.518741 -98.582531,50.508884 -98.581934,50.506891 -98.573716,50.503808 -98.571460,50.502758 -98.568135,50.499940 -98.566753,50.496524 -98.567526,50.493032 -98.570336,50.489994 -98.571742,50.489143 -98.570838,50.487743 -98.553250,50.478102 -98.553166,50.478032 -98.553042,50.477985 -98.549719,50.475166 -98.549148,50.474294 -98.542492,50.462430 -98.520697,50.436003 -98.520630,50.435849 -98.520465,50.435709 -98.519603,50.434255 -98.511025,50.414886 -98.501960,50.409538 -98.498806,50.406811 -98.497571,50.404249 -98.495254,50.394444 -98.495117,50.393591 -98.495284,50.391621 -98.498598,50.378794 -98.499207,50.377273 -98.502013,50.374238 -98.502207,50.374145 -98.502323,50.374024 -98.513456,50.366570 -98.517553,50.364666 -98.520050,50.364077 -98.540276,50.360641 -98.558830,50.355934 -98.573123,50.347911 -98.576309,50.346563 -98.581643,50.345682 -98.587098,50.346173 -98.591844,50.347964 -98.592665,50.348472 -98.605964,50.357405 -98.608460,50.359712 -98.609840,50.363126 -98.609545,50.365543 -98.605286,50.378169 -98.606816,50.395398 -98.607504,50.398817 -98.609109,50.400178 -98.610182,50.402161 -98.620119,50.430994 -98.620428,50.432424 -98.619957,50.435304 -98.618739,50.438173 -98.618519,50.438432 -98.618442,50.438786 -98.615640,50.441825 -98.613184,50.443006 -98.614897,50.445623 -98.615463,50.447189 -98.615931,50.448263 -98.617797,50.460910 -98.617711,50.461360 -98.617859,50.461775 -98.617835,50.469782 -98.617044,50.472743 -98.616897,50.472903 -98.617599,50.474093 -98.617605,50.474111 -98.617641,50.474167 -98.626383,50.489391 -98.626590,50.490029 -98.627005,50.490835 -98.631122,50.504836 -98.640096,50.524321 -98.640299,50.525067 -98.640506,50.525490 -98.646224,50.549103 -98.650043,50.556903 -98.654389,50.562096 -98.654462,50.562262 -98.654644,50.562416 -98.656035,50.565831 -98.656756,50.573813 -98.656710,50.574023 -98.656778,50.574206 -98.657017,50.585033 -98.656228,50.588135 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-100.770802,52.810638 -100.734744,52.831737</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-100.759023,52.811623 -100.759059,52.811625 -100.759180,52.811652 -100.759230,52.811656 -100.759543,52.811722 -100.759635,52.811754 -100.760486,52.811944 -100.760859,52.812040 -100.764581,52.813420 -100.766931,52.814910 -100.767713,52.815534 -100.769049,52.816807 -100.770710,52.820215 -100.770686,52.820351 -100.770742,52.820474 -100.770802,52.821055 -100.770712,52.821505 -100.770567,52.823318 -100.770493,52.823556 -100.770076,52.824566 -100.767273,52.827687 -100.763965,52.829306 -100.763708,52.829455 -100.763501,52.829550 -100.763341,52.829611 -100.762711,52.829920 -100.762053,52.830107 -100.761399,52.830359 -100.760373,52.830542 -100.760298,52.830560 -100.760276,52.830564 -100.759990,52.830704 -100.756211,52.831537 -100.755994,52.831565 -100.754148,52.831737 -100.753406,52.831690 -100.753154,52.831725 -100.749482,52.831654 -100.749035,52.831612 -100.746874,52.831307 -100.741722,52.829608 -100.741580,52.829501 -100.741397,52.829439 -100.740887,52.829166 -100.740708,52.829027 -100.740523,52.828956 -100.740336,52.828816 -100.740102,52.828735 -100.739712,52.828523 -100.736448,52.825980 -100.734791,52.822572 -100.734791,52.822572 -100.734744,52.822257 -100.734744,52.822257 -100.735365,52.818725 -100.736472,52.817314 -100.737404,52.815994 -100.737854,52.815502 -100.739458,52.814083 -100.744020,52.811851 -100.745799,52.811372 -100.746492,52.811217 -100.750336,52.810691 -100.750776,52.810720 -100.751146,52.810660 -100.752162,52.810638 -100.757182,52.811044 -100.759023,52.811623 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-98.890615,50.731562 -98.697544,50.916728</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-98.845073,50.907121 -98.846431,50.893159 -98.840071,50.884634 -98.819822,50.875761 -98.813884,50.871603 -98.796963,50.853833 -98.777626,50.839659 -98.768694,50.832981 -98.758296,50.810580 -98.745884,50.796143 -98.729915,50.787974 -98.718085,50.779649 -98.707235,50.766905 -98.698906,50.751438 -98.697544,50.736591 -98.715032,50.731562 -98.739234,50.739424 -98.749761,50.748670 -98.756162,50.758071 -98.758191,50.765006 -98.775616,50.773992 -98.776993,50.773940 -98.798665,50.798540 -98.814019,50.814612 -98.822955,50.821285 -98.824998,50.828220 -98.836115,50.828672 -98.841169,50.838123 -98.850868,50.852655 -98.860154,50.862820 -98.874883,50.871898 -98.875309,50.874261 -98.884442,50.882781 -98.887714,50.886357 -98.890615,50.893650 -98.889916,50.901545 -98.889664,50.902822 -98.889745,50.903300 -98.889798,50.903848 -98.889851,50.904397 -98.889919,50.905095 -98.890044,50.906391 -98.890047,50.907242 -98.890010,50.908495 -98.889717,50.909557 -98.889341,50.910573 -98.888773,50.911246 -98.888016,50.912426 -98.887240,50.913407 -98.886514,50.914086 -98.885764,50.914515 -98.884653,50.915309 -98.883109,50.915719 -98.879968,50.915990 -98.877769,50.916175 -98.874377,50.916306 -98.871774,50.916407 -98.868066,50.916549 -98.866804,50.916598 -98.863412,50.916728 -98.860085,50.916706 -98.857285,50.916413 -98.855650,50.915875 -98.853676,50.915100 -98.851859,50.914319 -98.849939,50.913291 -98.848187,50.912358 -98.846928,50.911605 -98.846239,50.911031 -98.845467,50.910410 -98.845128,50.910172 -98.844746,50.909486 -98.844937,50.908178 -98.845073,50.907121 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-100.495302,53.013547 -100.452996,53.039054</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-100.453074,53.027394 -100.453045,53.027172 -100.453023,53.026950 -100.453008,53.026728 -100.452999,53.026505 -100.452996,53.026282 -100.453000,53.026060 -100.453010,53.025837 -100.453027,53.025615 -100.453050,53.025393 -100.453079,53.025171 -100.453115,53.024949 -100.453157,53.024728 -100.453206,53.024508 -100.453261,53.024288 -100.453323,53.024068 -100.453391,53.023849 -100.453465,53.023631 -100.453545,53.023414 -100.453632,53.023198 -100.453725,53.022982 -100.453824,53.022768 -100.453930,53.022555 -100.454041,53.022342 -100.454159,53.022131 -100.454283,53.021922 -100.454412,53.021713 -100.454548,53.021506 -100.454690,53.021301 -100.454838,53.021097 -100.454991,53.020894 -100.455151,53.020694 -100.455316,53.020495 -100.455487,53.020297 -100.455663,53.020102 -100.455846,53.019908 -100.456033,53.019717 -100.456227,53.019527 -100.456426,53.019340 -100.456630,53.019154 -100.456839,53.018971 -100.457054,53.018790 -100.457274,53.018611 -100.457499,53.018435 -100.457729,53.018261 -100.457965,53.018089 -100.458205,53.017920 -100.458450,53.017754 -100.458699,53.017590 -100.458954,53.017429 -100.459213,53.017270 -100.459477,53.017114 -100.459745,53.016961 -100.460017,53.016811 -100.460294,53.016664 -100.460575,53.016520 -100.460860,53.016378 -100.461149,53.016240 -100.461442,53.016105 -100.461739,53.015972 -100.462040,53.015843 -100.462345,53.015718 -100.462653,53.015595 -100.462964,53.015476 -100.463279,53.015360 -100.463598,53.015247 -100.463919,53.015138 -100.464244,53.015032 -100.464571,53.014929 -100.464902,53.014830 -100.465235,53.014735 -100.465571,53.014643 -100.465910,53.014554 -100.466251,53.014469 -100.466595,53.014388 -100.466940,53.014310 -100.467288,53.014236 -100.467639,53.014166 -100.467991,53.014099 -100.468345,53.014036 -100.468701,53.013977 -100.469058,53.013922 -100.469417,53.013870 -100.469777,53.013822 -100.470139,53.013778 -100.470502,53.013738 -100.470866,53.013701 -100.471231,53.013669 -100.471597,53.013640 -100.471964,53.013615 -100.472331,53.013594 -100.472699,53.013577 -100.473068,53.013563 -100.473437,53.013554 -100.473805,53.013548 -100.474175,53.013547 -100.474544,53.013549 -100.474913,53.013555 -100.475281,53.013565 -100.475650,53.013579 -100.476017,53.013596 -100.476385,53.013618 -100.476751,53.013643 -100.477117,53.013673 -100.477482,53.013706 -100.477846,53.013743 -100.478209,53.013784 -100.478571,53.013828 -100.478931,53.013877 -100.479290,53.013929 -100.479647,53.013985 -100.480002,53.014045 -100.480356,53.014108 -100.480708,53.014175 -100.481058,53.014246 -100.481406,53.014321 -100.481751,53.014399 -100.482094,53.014481 -100.482435,53.014566 -100.482774,53.014655 -100.483109,53.014748 -100.483442,53.014844 -100.483772,53.014943 -100.484099,53.015046 -100.484424,53.015153 -100.484745,53.015262 -100.485063,53.015375 -100.485377,53.015492 -100.485688,53.015612 -100.485996,53.015735 -100.486300,53.015861 -100.486600,53.015991 -100.486896,53.016123 -100.487189,53.016259 -100.487478,53.016397 -100.487762,53.016539 -100.488043,53.016684 -100.488319,53.016832 -100.488591,53.016982 -100.488858,53.017136 -100.489121,53.017292 -100.489380,53.017451 -100.489633,53.017612 -100.489883,53.017776 -100.490127,53.017943 -100.490366,53.018113 -100.490601,53.018285 -100.490830,53.018459 -100.491055,53.018636 -100.491274,53.018815 -100.491488,53.018996 -100.491697,53.019180 -100.491900,53.019365 -100.492098,53.019553 -100.492291,53.019743 -100.492478,53.019935 -100.492659,53.020129 -100.492835,53.020324 -100.493005,53.020522 -100.493170,53.020721 -100.493329,53.020922 -100.493481,53.021125 -100.493628,53.021329 -100.493769,53.021535 -100.493904,53.021742 -100.494033,53.021951 -100.494156,53.022160 -100.494273,53.022372 -100.494384,53.022584 -100.494488,53.022797 -100.494586,53.023012 -100.494679,53.023227 -100.494764,53.023444 -100.494844,53.023661 -100.494917,53.023879 -100.494984,53.024098 -100.495045,53.024318 -100.495099,53.024538 -100.495147,53.024759 -100.495188,53.024980 -100.495223,53.025202 -100.495252,53.025424 -100.495274,53.025646 -100.495290,53.025868 -100.495299,53.026091 -100.495302,53.026313 -100.495299,53.026536 -100.495289,53.026758 -100.495272,53.026981 -100.495250,53.027203 -100.495220,53.027425 -100.495185,53.027646 -100.495142,53.027867 -100.495094,53.028088 -100.495039,53.028308 -100.494978,53.028528 -100.494910,53.028746 -100.494836,53.028965 -100.494756,53.029182 -100.494669,53.029398 -100.494577,53.029614 -100.494478,53.029828 -100.494373,53.030041 -100.494261,53.030254 -100.494144,53.030465 -100.494020,53.030675 -100.493891,53.030883 -100.493755,53.031090 -100.493613,53.031296 -100.493466,53.031500 -100.493312,53.031702 -100.493153,53.031903 -100.492988,53.032102 -100.492817,53.032299 -100.492641,53.032495 -100.492459,53.032689 -100.492271,53.032880 -100.492078,53.033070 -100.491879,53.033258 -100.491675,53.033443 -100.491466,53.033626 -100.491251,53.033807 -100.491031,53.033986 -100.490806,53.034163 -100.490576,53.034337 -100.490341,53.034508 -100.490100,53.034678 -100.489855,53.034844 -100.489606,53.035008 -100.489351,53.035169 -100.489092,53.035328 -100.488829,53.035484 -100.488560,53.035637 -100.488288,53.035787 -100.488011,53.035934 -100.487730,53.036079 -100.487445,53.036220 -100.487156,53.036359 -100.486862,53.036494 -100.486565,53.036626 -100.486265,53.036755 -100.485960,53.036881 -100.485652,53.037004 -100.485340,53.037123 -100.485025,53.037239 -100.484707,53.037352 -100.484385,53.037462 -100.484060,53.037568 -100.483733,53.037670 -100.483402,53.037769 -100.483068,53.037865 -100.482732,53.037957 -100.482393,53.038046 -100.482052,53.038131 -100.481708,53.038212 -100.481362,53.038290 -100.481014,53.038364 -100.480664,53.038434 -100.480311,53.038501 -100.479957,53.038564 -100.479601,53.038623 -100.479243,53.038679 -100.478884,53.038730 -100.478524,53.038778 -100.478162,53.038822 -100.477798,53.038863 -100.477434,53.038899 -100.477069,53.038932 -100.476703,53.038961 -100.476336,53.038985 -100.475968,53.039007 -100.475600,53.039024 -100.475231,53.039037 -100.474862,53.039047 -100.474493,53.039052 -100.474124,53.039054 -100.473754,53.039052 -100.473385,53.039045 -100.473016,53.039035 -100.472648,53.039022 -100.472279,53.039004 -100.471912,53.038982 -100.471545,53.038957 -100.471179,53.038927 -100.470814,53.038894 -100.470450,53.038857 -100.470087,53.038816 -100.469725,53.038772 -100.469364,53.038723 -100.469005,53.038671 -100.468648,53.038615 -100.468292,53.038555 -100.467938,53.038492 -100.467586,53.038425 -100.467236,53.038354 -100.466888,53.038279 -100.466542,53.038201 -100.466199,53.038119 -100.465858,53.038034 -100.465519,53.037945 -100.465184,53.037852 -100.464850,53.037756 -100.464520,53.037656 -100.464193,53.037553 -100.463869,53.037447 -100.463547,53.037337 -100.463229,53.037224 -100.462915,53.037107 -100.462604,53.036987 -100.462296,53.036864 -100.461992,53.036738 -100.461692,53.036608 -100.461395,53.036476 -100.461102,53.036340 -100.460814,53.036201 -100.460529,53.036059 -100.460249,53.035914 -100.459972,53.035767 -100.459700,53.035616 -100.459433,53.035463 -100.459170,53.035306 -100.458912,53.035147 -100.458658,53.034986 -100.458409,53.034821 -100.458164,53.034654 -100.457925,53.034485 -100.457690,53.034313 -100.457461,53.034139 -100.457237,53.033962 -100.457017,53.033783 -100.456803,53.033601 -100.456595,53.033418 -100.456391,53.033232 -100.456193,53.033044 -100.456001,53.032854 -100.455814,53.032662 -100.455633,53.032468 -100.455457,53.032272 -100.455287,53.032075 -100.455123,53.031875 -100.454964,53.031674 -100.454812,53.031472 -100.454665,53.031267 -100.454524,53.031062 -100.454389,53.030854 -100.454261,53.030646 -100.454138,53.030436 -100.454021,53.030225 -100.453911,53.030012 -100.453806,53.029799 -100.453708,53.029584 -100.453616,53.029368 -100.453531,53.029152 -100.453451,53.028935 -100.453378,53.028716 -100.453312,53.028497 -100.453251,53.028278 -100.453197,53.028058 -100.453150,53.027837 -100.453108,53.027616 -100.453074,53.027394 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-100.673726,53.012938 -100.516023,53.076604</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-100.582055,53.013243 -100.582310,53.013230 -100.582310,53.013230 -100.582310,53.013230 -100.587137,53.013443 -100.588265,53.013605 -100.592420,53.012938 -100.596426,53.013047 -100.597939,53.013211 -100.599792,53.013487 -100.604962,53.015194 -100.608655,53.017964 -100.608714,53.018085 -100.611710,53.020332 -100.612607,53.022180 -100.615466,53.023124 -100.619161,53.025894 -100.620817,53.029306 -100.620582,53.030613 -100.621395,53.030497 -100.626224,53.030709 -100.628503,53.031035 -100.630269,53.031073 -100.631146,53.031164 -100.632164,53.031187 -100.634387,53.031405 -100.634411,53.031396 -100.637144,53.030731 -100.638532,53.030484 -100.639839,53.029879 -100.642052,53.029027 -100.647710,53.028027 -100.652261,53.028199 -100.656680,53.028778 -100.657992,53.028987 -100.659426,53.029307 -100.659590,53.029350 -100.660628,53.029417 -100.663341,53.030111 -100.665903,53.030953 -100.668366,53.031963 -100.672065,53.034731 -100.673726,53.038142 -100.673096,53.041676 -100.672607,53.042482 -100.671601,53.043924 -100.671271,53.044251 -100.670793,53.044912 -100.668919,53.046890 -100.667388,53.048217 -100.664309,53.049900 -100.663125,53.050386 -100.662873,53.050665 -100.658278,53.052895 -100.656599,53.053348 -100.651879,53.054418 -100.649576,53.054734 -100.648593,53.055211 -100.645683,53.055907 -100.643568,53.056265 -100.640815,53.056569 -100.634949,53.056187 -100.630958,53.054872 -100.630265,53.055598 -100.628239,53.056805 -100.621541,53.060102 -100.621410,53.060154 -100.621301,53.060218 -100.618136,53.061712 -100.617412,53.062366 -100.617523,53.063120 -100.616886,53.066654 -100.614053,53.069773 -100.613921,53.069836 -100.613843,53.069920 -100.610889,53.071955 -100.606498,53.074036 -100.601902,53.074953 -100.598159,53.075316 -100.597666,53.075294 -100.597089,53.075396 -100.594618,53.075234 -100.593848,53.075607 -100.588181,53.076604 -100.582313,53.076218 -100.577136,53.074510 -100.573439,53.071738 -100.573363,53.071580 -100.573210,53.071462 -100.572712,53.070835 -100.572026,53.069326 -100.570783,53.069718 -100.570768,53.069721 -100.570755,53.069727 -100.565089,53.070723 -100.563284,53.070753 -100.561843,53.070725 -100.559831,53.070919 -100.553963,53.070532 -100.548788,53.068822 -100.546258,53.066922 -100.545396,53.067004 -100.544919,53.066983 -100.544362,53.067080 -100.538496,53.066693 -100.534602,53.065405 -100.534103,53.065372 -100.528929,53.063661 -100.525237,53.060888 -100.523589,53.057475 -100.524233,53.053941 -100.525826,53.052145 -100.524154,53.051253 -100.523425,53.050691 -100.521285,53.049195 -100.520022,53.047955 -100.519868,53.047674 -100.519494,53.047393 -100.517846,53.043979 -100.518170,53.042208 -100.517151,53.040097 -100.517055,53.039434 -100.516023,53.036973 -100.516668,53.033439 -100.519507,53.030324 -100.524107,53.028100 -100.527494,53.027332 -100.529218,53.027079 -100.531491,53.026853 -100.534904,53.027079 -100.535247,53.025198 -100.536448,53.023879 -100.536502,53.023581 -100.539338,53.020465 -100.543936,53.018241 -100.545094,53.017914 -100.547967,53.017191 -100.552468,53.016523 -100.557607,53.016785 -100.558331,53.016899 -100.558373,53.016892 -100.559133,53.016623 -100.561181,53.016091 -100.562758,53.015763 -100.563809,53.015544 -100.565294,53.015353 -100.567523,53.014948 -100.570645,53.014178 -100.575045,53.013533 -100.575199,53.013544 -100.575340,53.013520 -100.582055,53.013243 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-100.535726,53.091124 -100.502957,53.110847</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-100.503019,53.101839 -100.502996,53.101667 -100.502979,53.101495 -100.502967,53.101323 -100.502960,53.101151 -100.502957,53.100979 -100.502960,53.100807 -100.502968,53.100635 -100.502981,53.100463 -100.502998,53.100291 -100.503021,53.100120 -100.503048,53.099949 -100.503081,53.099778 -100.503119,53.099607 -100.503161,53.099437 -100.503208,53.099267 -100.503261,53.099098 -100.503318,53.098929 -100.503380,53.098761 -100.503447,53.098594 -100.503519,53.098427 -100.503595,53.098261 -100.503677,53.098096 -100.503763,53.097932 -100.503854,53.097769 -100.503950,53.097607 -100.504050,53.097446 -100.504155,53.097286 -100.504265,53.097127 -100.504379,53.096969 -100.504498,53.096812 -100.504621,53.096657 -100.504749,53.096503 -100.504881,53.096351 -100.505017,53.096199 -100.505158,53.096050 -100.505304,53.095901 -100.505453,53.095755 -100.505607,53.095610 -100.505765,53.095466 -100.505927,53.095324 -100.506093,53.095184 -100.506264,53.095046 -100.506438,53.094910 -100.506616,53.094775 -100.506798,53.094642 -100.506984,53.094512 -100.507173,53.094383 -100.507367,53.094256 -100.507564,53.094131 -100.507764,53.094009 -100.507968,53.093888 -100.508176,53.093770 -100.508387,53.093653 -100.508601,53.093539 -100.508818,53.093428 -100.509039,53.093318 -100.509263,53.093211 -100.509490,53.093107 -100.509720,53.093004 -100.509953,53.092905 -100.510188,53.092807 -100.510427,53.092712 -100.510668,53.092620 -100.510912,53.092530 -100.511158,53.092443 -100.511407,53.092358 -100.511659,53.092276 -100.511912,53.092197 -100.512168,53.092120 -100.512426,53.092046 -100.512687,53.091975 -100.512949,53.091906 -100.513213,53.091840 -100.513479,53.091777 -100.513747,53.091717 -100.514016,53.091660 -100.514288,53.091605 -100.514560,53.091554 -100.514835,53.091505 -100.515110,53.091459 -100.515387,53.091416 -100.515665,53.091376 -100.515944,53.091339 -100.516224,53.091305 -100.516505,53.091273 -100.516787,53.091245 -100.517070,53.091220 -100.517354,53.091197 -100.517638,53.091178 -100.517922,53.091161 -100.518207,53.091148 -100.518493,53.091138 -100.518778,53.091130 -100.519064,53.091126 -100.519350,53.091124 -100.519636,53.091126 -100.519921,53.091131 -100.520207,53.091138 -100.520492,53.091149 -100.520777,53.091162 -100.521062,53.091179 -100.521346,53.091198 -100.521629,53.091221 -100.521912,53.091247 -100.522194,53.091275 -100.522475,53.091306 -100.522755,53.091341 -100.523034,53.091378 -100.523312,53.091418 -100.523589,53.091462 -100.523865,53.091508 -100.524139,53.091557 -100.524411,53.091608 -100.524682,53.091663 -100.524952,53.091721 -100.525220,53.091781 -100.525485,53.091844 -100.525750,53.091910 -100.526012,53.091979 -100.526272,53.092050 -100.526530,53.092124 -100.526786,53.092201 -100.527039,53.092281 -100.527290,53.092363 -100.527539,53.092448 -100.527785,53.092535 -100.528029,53.092625 -100.528270,53.092718 -100.528509,53.092813 -100.528744,53.092910 -100.528977,53.093010 -100.529207,53.093112 -100.529433,53.093217 -100.529657,53.093324 -100.529878,53.093434 -100.530095,53.093546 -100.530309,53.093660 -100.530520,53.093776 -100.530727,53.093895 -100.530931,53.094015 -100.531131,53.094138 -100.531328,53.094263 -100.531521,53.094390 -100.531710,53.094519 -100.531896,53.094650 -100.532078,53.094783 -100.532256,53.094917 -100.532430,53.095054 -100.532600,53.095192 -100.532766,53.095332 -100.532928,53.095474 -100.533085,53.095618 -100.533239,53.095763 -100.533388,53.095910 -100.533533,53.096058 -100.533674,53.096208 -100.533810,53.096359 -100.533942,53.096512 -100.534070,53.096666 -100.534193,53.096821 -100.534311,53.096978 -100.534425,53.097136 -100.534535,53.097295 -100.534639,53.097455 -100.534739,53.097616 -100.534835,53.097778 -100.534925,53.097942 -100.535011,53.098106 -100.535093,53.098271 -100.535169,53.098437 -100.535240,53.098603 -100.535307,53.098771 -100.535369,53.098939 -100.535426,53.099107 -100.535478,53.099277 -100.535525,53.099446 -100.535567,53.099617 -100.535604,53.099787 -100.535637,53.099958 -100.535664,53.100130 -100.535687,53.100301 -100.535704,53.100473 -100.535716,53.100645 -100.535724,53.100817 -100.535726,53.100989 -100.535724,53.101161 -100.535716,53.101333 -100.535703,53.101505 -100.535686,53.101677 -100.535663,53.101848 -100.535636,53.102020 -100.535604,53.102191 -100.535566,53.102361 -100.535524,53.102532 -100.535477,53.102701 -100.535424,53.102871 -100.535367,53.103039 -100.535305,53.103207 -100.535238,53.103375 -100.535167,53.103541 -100.535090,53.103707 -100.535009,53.103872 -100.534923,53.104036 -100.534832,53.104199 -100.534737,53.104362 -100.534636,53.104523 -100.534532,53.104683 -100.534422,53.104842 -100.534308,53.105000 -100.534189,53.105156 -100.534066,53.105312 -100.533938,53.105466 -100.533806,53.105618 -100.533670,53.105770 -100.533529,53.105919 -100.533384,53.106068 -100.533234,53.106214 -100.533080,53.106359 -100.532922,53.106503 -100.532760,53.106645 -100.532594,53.106785 -100.532424,53.106923 -100.532250,53.107060 -100.532072,53.107194 -100.531890,53.107327 -100.531704,53.107458 -100.531514,53.107587 -100.531321,53.107714 -100.531124,53.107838 -100.530924,53.107961 -100.530720,53.108082 -100.530512,53.108200 -100.530301,53.108316 -100.530087,53.108430 -100.529869,53.108542 -100.529649,53.108652 -100.529425,53.108759 -100.529198,53.108863 -100.528968,53.108966 -100.528735,53.109066 -100.528499,53.109163 -100.528260,53.109258 -100.528019,53.109350 -100.527775,53.109440 -100.527529,53.109528 -100.527280,53.109612 -100.527028,53.109694 -100.526775,53.109774 -100.526519,53.109851 -100.526260,53.109925 -100.526000,53.109996 -100.525738,53.110065 -100.525473,53.110130 -100.525207,53.110193 -100.524939,53.110254 -100.524670,53.110311 -100.524398,53.110365 -100.524126,53.110417 -100.523851,53.110466 -100.523576,53.110512 -100.523299,53.110555 -100.523021,53.110595 -100.522741,53.110632 -100.522461,53.110666 -100.522180,53.110698 -100.521898,53.110726 -100.521615,53.110751 -100.521331,53.110774 -100.521047,53.110793 -100.520762,53.110810 -100.520477,53.110823 -100.520191,53.110833 -100.519906,53.110841 -100.519620,53.110845 -100.519334,53.110847 -100.519048,53.110845 -100.518762,53.110841 -100.518476,53.110833 -100.518191,53.110822 -100.517905,53.110809 -100.517621,53.110792 -100.517336,53.110773 -100.517053,53.110750 -100.516770,53.110725 -100.516488,53.110696 -100.516207,53.110665 -100.515927,53.110630 -100.515647,53.110593 -100.515369,53.110553 -100.515092,53.110509 -100.514817,53.110463 -100.514543,53.110414 -100.514270,53.110362 -100.513999,53.110308 -100.513729,53.110250 -100.513461,53.110190 -100.513195,53.110127 -100.512931,53.110061 -100.512669,53.109992 -100.512409,53.109921 -100.512150,53.109846 -100.511895,53.109769 -100.511641,53.109690 -100.511390,53.109608 -100.511141,53.109523 -100.510894,53.109435 -100.510651,53.109345 -100.510410,53.109253 -100.510171,53.109158 -100.509935,53.109060 -100.509703,53.108960 -100.509473,53.108858 -100.509246,53.108753 -100.509022,53.108646 -100.508802,53.108536 -100.508584,53.108424 -100.508370,53.108310 -100.508160,53.108194 -100.507952,53.108075 -100.507748,53.107954 -100.507548,53.107831 -100.507351,53.107707 -100.507158,53.107580 -100.506969,53.107451 -100.506783,53.107320 -100.506602,53.107187 -100.506424,53.107052 -100.506250,53.106915 -100.506080,53.106777 -100.505914,53.106637 -100.505752,53.106495 -100.505594,53.106351 -100.505441,53.106206 -100.505292,53.106059 -100.505147,53.105911 -100.505006,53.105761 -100.504870,53.105610 -100.504738,53.105457 -100.504610,53.105303 -100.504487,53.105148 -100.504369,53.104991 -100.504255,53.104833 -100.504146,53.104674 -100.504041,53.104514 -100.503941,53.104352 -100.503846,53.104190 -100.503756,53.104027 -100.503670,53.103863 -100.503589,53.103698 -100.503513,53.103532 -100.503441,53.103365 -100.503375,53.103198 -100.503313,53.103030 -100.503256,53.102861 -100.503204,53.102692 -100.503157,53.102522 -100.503115,53.102352 -100.503078,53.102181 -100.503046,53.102010 -100.503019,53.101839 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-100.475666,53.029723 -100.434337,53.050468</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-100.449045,53.031200 -100.451071,53.031962 -100.453883,53.033189 -100.456916,53.035127 -100.460156,53.036837 -100.465233,53.038814 -100.469443,53.039751 -100.475348,53.042478 -100.475666,53.044702 -100.475311,53.047249 -100.473266,53.048873 -100.469461,53.049937 -100.463422,53.050468 -100.457089,53.049785 -100.452046,53.048890 -100.446601,53.046860 -100.442751,53.044241 -100.439548,53.041950 -100.435965,53.038667 -100.434337,53.035645 -100.434653,53.032811 -100.437590,53.030708 -100.441285,53.029723 -100.446145,53.030194 -100.449045,53.031200 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-96.568904,51.374521 -96.535083,51.397320</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-96.566791,51.383315 -96.567664,51.384090 -96.568904,51.387542 -96.568809,51.388826 -96.568716,51.389318 -96.567845,51.391519 -96.564820,51.394508 -96.560197,51.396545 -96.554680,51.397320 -96.553112,51.397291 -96.551820,51.397223 -96.551719,51.397208 -96.551470,51.397202 -96.551049,51.397173 -96.547395,51.396618 -96.542618,51.394725 -96.539813,51.392410 -96.539461,51.391995 -96.539410,51.391873 -96.539364,51.391832 -96.539353,51.391803 -96.539324,51.391721 -96.539310,51.391682 -96.539012,51.391417 -96.538726,51.390620 -96.538236,51.390184 -96.538100,51.389806 -96.536369,51.388266 -96.535151,51.385107 -96.535102,51.384564 -96.535137,51.384423 -96.535083,51.384272 -96.535447,51.383190 -96.536052,51.380787 -96.536353,51.380490 -96.536398,51.380326 -96.536419,51.380306 -96.536456,51.380196 -96.536802,51.379735 -96.539424,51.377338 -96.544046,51.375302 -96.548597,51.374664 -96.549561,51.374528 -96.550036,51.374521 -96.550689,51.374592 -96.552933,51.374836 -96.554424,51.374998 -96.555605,51.375126 -96.557765,51.375982 -96.559564,51.376630 -96.560107,51.376902 -96.560165,51.376933 -96.560380,51.377019 -96.560519,51.377127 -96.561039,51.377412 -96.562141,51.378391 -96.562788,51.378895 -96.562905,51.379016 -96.563077,51.379223 -96.564294,51.380304 -96.564305,51.380335 -96.566385,51.382182 -96.566791,51.383315 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-96.554798,51.307311 -96.380526,51.391803</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-96.554623,51.374212 -96.554424,51.374998 -96.552933,51.374836 -96.550689,51.374592 -96.548597,51.374664 -96.544046,51.375302 -96.539424,51.377338 -96.536802,51.379735 -96.536456,51.380196 -96.536419,51.380306 -96.536398,51.380326 -96.536353,51.380490 -96.536052,51.380787 -96.535447,51.383190 -96.535083,51.384272 -96.535137,51.384423 -96.535102,51.384564 -96.535151,51.385107 -96.536369,51.388266 -96.538100,51.389806 -96.538236,51.390184 -96.538726,51.390620 -96.539012,51.391417 -96.539310,51.391682 -96.539324,51.391721 -96.539353,51.391803 -96.536003,51.391797 -96.535771,51.391802 -96.524770,51.391800 -96.501331,51.391792 -96.498896,51.391794 -96.498549,51.391458 -96.498921,51.390567 -96.498804,51.390063 -96.499234,51.389450 -96.500524,51.389478 -96.501920,51.389383 -96.502635,51.389026 -96.503069,51.388351 -96.502716,51.387536 -96.501665,51.386768 -96.499619,51.386040 -96.498846,51.385651 -96.498479,51.385084 -96.497360,51.383754 -96.496778,51.383493 -96.495635,51.382599 -96.493520,51.381311 -96.492066,51.380658 -96.491379,51.380519 -96.490872,51.380694 -96.490363,51.380932 -96.489272,51.380909 -96.486990,51.380860 -96.486706,51.380605 -96.486223,51.380346 -96.486340,51.380038 -96.486736,51.380046 -96.487424,51.380185 -96.488307,51.380391 -96.488912,51.380217 -96.488943,51.379659 -96.488269,51.379271 -96.485812,51.378783 -96.484537,51.378507 -96.483247,51.378480 -96.482573,51.378092 -96.482621,51.377223 -96.482361,51.376534 -96.481488,51.376142 -96.480315,51.375806 -96.480096,51.376175 -96.479597,51.376226 -96.478909,51.376087 -96.478502,51.376264 -96.478879,51.376646 -96.481756,51.378510 -96.480521,51.379291 -96.480110,51.379531 -96.480063,51.380400 -96.479249,51.380756 -96.478243,51.380983 -96.477494,51.380158 -96.477015,51.379837 -96.476040,51.379506 -96.475568,51.379060 -96.475421,51.378125 -96.474661,51.377487 -96.473594,51.377029 -96.472889,51.377200 -96.472551,51.377939 -96.471699,51.378977 -96.470830,51.378523 -96.469944,51.378380 -96.469619,51.378870 -96.469982,51.379499 -96.470529,51.380381 -96.469684,51.381295 -96.468264,51.381824 -96.466393,51.381535 -96.465394,51.381637 -96.463807,51.381603 -96.462528,51.381389 -96.461724,51.381558 -96.461193,51.382168 -96.459718,51.383690 -96.458281,51.384529 -96.456776,51.384807 -96.455805,51.384413 -96.455942,51.383732 -96.457054,51.383383 -96.457481,51.382833 -96.457328,51.382022 -96.456333,51.380260 -96.455468,51.379744 -96.453846,51.380330 -96.452967,51.380063 -96.452403,51.379491 -96.453327,51.378952 -96.454237,51.378661 -96.454552,51.378357 -96.453745,51.376785 -96.453259,51.376588 -96.452185,51.376254 -96.451077,51.376541 -96.449839,51.375582 -96.450873,51.374858 -96.453051,51.374968 -96.455521,51.375208 -96.455996,51.375591 -96.456146,51.376465 -96.456095,51.377396 -96.457439,51.378233 -96.458041,51.378122 -96.458568,51.377574 -96.458045,51.374455 -96.458104,51.373400 -96.458860,51.372297 -96.461832,51.370621 -96.463153,51.370091 -96.464144,51.370112 -96.464726,51.370373 -96.464876,51.371247 -96.463833,51.372156 -96.463898,51.372779 -96.464677,51.373045 -96.465782,51.372820 -96.467116,51.372041 -96.468570,51.370892 -96.469893,51.370299 -96.471716,51.369654 -96.472198,51.368111 -96.471939,51.367422 -96.470772,51.366961 -96.472113,51.366058 -96.472335,51.365628 -96.472447,51.365617 -96.472342,51.365504 -96.472592,51.364799 -96.472701,51.364393 -96.473064,51.363219 -96.472903,51.362532 -96.471874,51.361391 -96.471597,51.361012 -96.471139,51.360319 -96.471351,51.356470 -96.470704,51.355586 -96.469829,51.355256 -96.468872,51.354614 -96.468318,51.353856 -96.467679,51.352848 -96.466226,51.352195 -96.463813,51.350962 -96.461810,51.349489 -96.461263,51.348607 -96.461014,51.347731 -96.461893,51.346196 -96.462966,51.344728 -96.462922,51.343733 -96.462136,51.343591 -96.460727,51.343934 -96.457853,51.343871 -96.456448,51.344152 -96.454216,51.345035 -96.453375,51.345887 -96.453822,51.346767 -96.454488,51.347279 -96.455281,51.347296 -96.457524,51.348028 -96.458385,51.348607 -96.458825,51.349611 -96.458415,51.349850 -96.457608,51.350081 -96.456716,51.350062 -96.456234,51.349803 -96.455575,51.349167 -96.455086,51.349032 -96.454583,51.349145 -96.454450,51.349764 -96.454422,51.350261 -96.453899,51.350747 -96.452812,51.350661 -96.452255,51.349965 -96.452263,51.348038 -96.452010,51.347225 -96.450777,51.346204 -96.449813,51.345685 -96.449020,51.345668 -96.448919,51.345673 -96.448890,51.345825 -96.448483,51.346402 -96.446975,51.346742 -96.445899,51.346470 -96.444829,51.346074 -96.443732,51.346174 -96.442727,51.346401 -96.441342,51.346309 -96.439374,51.346017 -96.436610,51.343967 -96.436665,51.342974 -96.436109,51.342278 -96.435128,51.342070 -96.433881,51.341297 -96.433335,51.340415 -96.432998,51.339351 -96.432205,51.339334 -96.431507,51.339381 -96.431384,51.339813 -96.431647,51.340440 -96.431325,51.340868 -96.430642,51.340667 -96.430163,51.340346 -96.430191,51.339849 -96.430622,51.339237 -96.429273,51.338524 -96.427807,51.338118 -96.427394,51.338420 -96.426874,51.338844 -96.426580,51.338775 -96.425542,51.337820 -96.425138,51.337935 -96.424824,51.338239 -96.425076,51.339053 -96.425215,51.340113 -96.424603,51.340410 -96.424858,51.341161 -96.424253,51.341334 -96.423765,51.341199 -96.421979,51.339420 -96.421518,51.338788 -96.421454,51.338165 -96.421772,51.337799 -96.420441,51.336775 -96.420058,51.336518 -96.419467,51.336443 -96.419340,51.336938 -96.419277,51.338055 -96.418187,51.338031 -96.417005,51.337881 -96.416693,51.338122 -96.416829,51.339244 -96.421000,51.340952 -96.422247,51.341725 -96.422919,51.342113 -96.423798,51.342381 -96.424474,51.342707 -96.423968,51.342882 -96.422772,51.342980 -96.422648,51.343412 -96.422234,51.343714 -96.421243,51.343692 -96.420050,51.343728 -96.420283,51.343112 -96.420523,51.342371 -96.420349,51.341932 -96.419457,51.341913 -96.418505,51.341208 -96.417053,51.340554 -96.416356,51.340601 -96.416239,51.340909 -96.415829,51.341149 -96.415237,51.341074 -96.414944,51.341005 -96.414834,51.341189 -96.415585,51.341951 -96.416651,51.342410 -96.417136,51.342607 -96.418117,51.342815 -96.418602,51.343012 -96.417887,51.343370 -96.417576,51.343611 -96.417261,51.343915 -96.416659,51.344026 -96.415972,51.343887 -96.415399,51.343501 -96.414913,51.343304 -96.414223,51.343227 -96.413943,51.342910 -96.413776,51.342347 -96.413185,51.342271 -96.412683,51.342385 -96.411862,51.342864 -96.410262,51.343077 -96.409688,51.342691 -96.411227,51.341793 -96.411956,51.341188 -96.411676,51.340871 -96.410774,51.341037 -96.410505,51.340534 -96.409613,51.340514 -96.409000,51.340811 -96.408484,51.341173 -96.407815,51.340723 -96.406438,51.340506 -96.406267,51.340005 -96.406306,51.339322 -96.405931,51.338941 -96.405456,51.338558 -96.405484,51.338061 -96.405509,51.337626 -96.403958,51.336970 -96.403466,51.336897 -96.403257,51.337079 -96.403424,51.337642 -96.403693,51.338145 -96.403184,51.338383 -96.402791,51.338312 -96.401739,51.337605 -96.401587,51.336794 -96.401232,51.336040 -96.400868,51.335472 -96.399200,51.335125 -96.398623,51.334801 -96.398057,51.334291 -96.397292,51.333777 -96.396138,51.333130 -96.394287,51.332529 -96.394299,51.332322 -96.393041,51.331756 -96.392164,51.331487 -96.390911,51.330838 -96.389782,51.329756 -96.389498,51.329501 -96.388699,51.329608 -96.387963,51.328597 -96.387283,51.328333 -96.386897,51.328138 -96.386717,51.327823 -96.385570,51.327052 -96.384785,51.326910 -96.383306,51.326752 -96.382640,51.326240 -96.381695,51.325411 -96.380526,51.325103 -96.396500,51.313814 -96.409900,51.307681 -96.436291,51.307311 -96.460771,51.311099 -96.472106,51.316366 -96.483683,51.316973 -96.490005,51.320501 -96.495071,51.323530 -96.496935,51.329192 -96.503614,51.331162 -96.509783,51.330553 -96.529566,51.351206 -96.554798,51.373325 -96.554623,51.374212 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-104.068879,49.319529 -103.890430,49.406371</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-103.960505,49.319529 -104.041444,49.319609 -104.041535,49.320024 -104.043258,49.321979 -104.045524,49.323459 -104.049831,49.325384 -104.055498,49.327604 -104.060758,49.329439 -104.064931,49.332223 -104.068107,49.334888 -104.067932,49.341465 -104.067944,49.353316 -104.067955,49.363686 -104.067324,49.368190 -104.064876,49.370325 -104.063970,49.372103 -104.064516,49.373110 -104.065744,49.375747 -104.067516,49.377909 -104.068879,49.379686 -104.066566,49.380962 -104.064476,49.378829 -104.061480,49.378475 -104.057941,49.378594 -104.057079,49.379098 -104.055719,49.381766 -104.056083,49.383425 -104.055995,49.385973 -104.056450,49.388047 -104.056860,49.389914 -104.057088,49.390951 -104.057634,49.393440 -104.058090,49.395514 -104.053370,49.397649 -104.050283,49.398361 -104.048012,49.398362 -104.045060,49.396733 -104.041428,49.396437 -104.038886,49.396674 -104.037115,49.397475 -104.035571,49.397831 -104.034391,49.399846 -104.031759,49.405595 -104.026945,49.405832 -104.022177,49.406277 -104.003648,49.406096 -103.998789,49.406125 -103.986164,49.406239 -103.977081,49.406235 -103.957326,49.406371 -103.940751,49.406210 -103.928717,49.406051 -103.909916,49.406090 -103.905150,49.405047 -103.903211,49.400570 -103.898599,49.394222 -103.895022,49.391165 -103.893621,49.389178 -103.891679,49.386182 -103.890685,49.384581 -103.890947,49.373766 -103.890430,49.365350 -103.890622,49.348195 -103.890785,49.339929 -103.891042,49.330597 -103.891665,49.319962 -103.898146,49.320001 -103.940791,49.319662 -103.960505,49.319529 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-104.334653,48.995024 -104.288429,49.013287</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-104.313561,49.011732 -104.312216,49.011774 -104.312216,49.011774 -104.311727,49.011758 -104.311727,49.011758 -104.310409,49.011628 -104.310409,49.011628 -104.308000,49.010876 -104.308000,49.010876 -104.306791,49.010118 -104.306791,49.010118 -104.306372,49.009782 -104.306372,49.009782 -104.305957,49.009669 -104.305957,49.009669 -104.305948,49.009669 -104.305948,49.009669 -104.305894,49.009653 -104.305894,49.009653 -104.305775,49.009620 -104.305775,49.009620 -104.305713,49.009596 -104.305713,49.009596 -104.303538,49.008918 -104.303538,49.008918 -104.303318,49.008773 -104.303318,49.008773 -104.303025,49.008741 -104.303025,49.008741 -104.300616,49.007989 -104.300616,49.007989 -104.300551,49.007942 -104.300551,49.007942 -104.300469,49.007915 -104.300469,49.007915 -104.299483,49.007405 -104.299483,49.007405 -104.299360,49.007314 -104.298870,49.007325 -104.296960,49.007192 -104.296960,49.007192 -104.294551,49.006440 -104.294551,49.006440 -104.294071,49.006183 -104.294071,49.006183 -104.293234,49.005690 -104.293234,49.005690 -104.291925,49.004646 -104.291925,49.004646 -104.291406,49.003943 -104.291406,49.003943 -104.291185,49.003561 -104.291185,49.003561 -104.290804,49.003032 -104.290804,49.003032 -104.290767,49.002951 -104.290767,49.002951 -104.289324,49.001901 -104.289324,49.001901 -104.288429,49.000249 -104.288429,49.000249 -104.288563,48.998497 -104.288563,48.998497 -104.289706,48.996912 -104.289706,48.996912 -104.291683,48.995735 -104.291683,48.995735 -104.294195,48.995146 -104.294195,48.995146 -104.295139,48.995098 -104.295139,48.995098 -104.310045,48.995024 -104.311542,48.995143 -104.311542,48.995143 -104.312049,48.995117 -104.312049,48.995117 -104.319356,48.995077 -104.321078,48.995212 -104.321078,48.995212 -104.323487,48.995963 -104.323487,48.995963 -104.324733,48.996752 -104.324733,48.996752 -104.325920,48.997720 -104.325920,48.997720 -104.326463,48.998233 -104.326463,48.998233 -104.327032,48.999025 -104.327032,48.999025 -104.327527,48.999934 -104.327527,48.999934 -104.327588,49.000093 -104.327588,49.000093 -104.328785,49.000953 -104.328785,49.000953 -104.328817,49.000987 -104.328817,49.000987 -104.329457,49.001186 -104.329457,49.001186 -104.330666,49.001944 -104.330666,49.001944 -104.331198,49.002371 -104.331198,49.002371 -104.331778,49.002913 -104.331778,49.002913 -104.332541,49.004319 -104.332541,49.004319 -104.333686,49.005151 -104.333686,49.005151 -104.334583,49.006803 -104.334583,49.006803 -104.334653,49.007609 -104.334653,49.007609 -104.334635,49.007962 -104.334635,49.007962 -104.334434,49.008908 -104.334434,49.008908 -104.333292,49.010493 -104.333292,49.010493 -104.333050,49.010708 -104.333050,49.010708 -104.331073,49.011886 -104.331073,49.011886 -104.330249,49.012162 -104.330249,49.012162 -104.329702,49.012316 -104.329702,49.012316 -104.329647,49.012336 -104.329647,49.012336 -104.329570,49.012353 -104.329570,49.012353 -104.329383,49.012406 -104.329383,49.012406 -104.329082,49.012461 -104.329082,49.012461 -104.327336,49.012850 -104.327336,49.012850 -104.325961,49.012891 -104.325961,49.012891 -104.325486,49.012874 -104.323840,49.013253 -104.323840,49.013253 -104.322293,49.013287 -104.322293,49.013287 -104.321656,49.013253 -104.321656,49.013253 -104.320538,49.013132 -104.320538,49.013132 -104.318128,49.012381 -104.318128,49.012381 -104.317946,49.012248 -104.317946,49.012248 -104.317747,49.012181 -104.317747,49.012181 -104.317614,49.012105 -104.317614,49.012105 -104.317296,49.012076 -104.317296,49.012076 -104.315901,49.011735 -104.315901,49.011735 -104.315141,49.011485 -104.314463,49.011644 -104.314463,49.011644 -104.314463,49.011644 -104.314463,49.011644 -104.313561,49.011732 -104.313561,49.011732 -104.313561,49.011732 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-104.996143,49.073965 -104.729431,49.222662</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-104.838214,49.075726 -104.840335,49.074735 -104.850362,49.073965 -104.864737,49.076617 -104.876648,49.082102 -104.886261,49.087821 -104.897892,49.095397 -104.906278,49.102532 -104.910529,49.108803 -104.916821,49.115380 -104.921946,49.118722 -104.923218,49.119107 -104.934018,49.123153 -104.942195,49.127727 -104.950918,49.134568 -104.955058,49.140334 -104.956714,49.145583 -104.960270,49.152184 -104.966333,49.157751 -104.969367,49.165440 -104.971268,49.171696 -104.973433,49.177410 -104.976630,49.182500 -104.978451,49.185151 -104.984279,49.189710 -104.988509,49.194177 -104.994540,49.197940 -104.996143,49.202938 -104.995195,49.207167 -104.993174,49.210218 -104.991819,49.211133 -104.986923,49.213706 -104.978909,49.214795 -104.971927,49.215260 -104.964196,49.214253 -104.946406,49.214027 -104.922650,49.210282 -104.905065,49.209252 -104.894177,49.209855 -104.879768,49.210560 -104.870116,49.209743 -104.858903,49.210633 -104.835731,49.210938 -104.823098,49.212485 -104.810379,49.215330 -104.803163,49.218130 -104.797810,49.220481 -104.797220,49.221315 -104.790414,49.222523 -104.786506,49.222662 -104.772557,49.218658 -104.767042,49.211992 -104.761319,49.202766 -104.760129,49.197725 -104.759356,49.194449 -104.757251,49.190534 -104.756835,49.188770 -104.751211,49.184953 -104.748782,49.181328 -104.740970,49.174895 -104.736089,49.172550 -104.731563,49.168364 -104.729431,49.162645 -104.733094,49.158147 -104.738471,49.154249 -104.744528,49.151572 -104.746211,49.150369 -104.748925,49.145192 -104.744697,49.142267 -104.742212,49.138391 -104.742475,49.134495 -104.746256,49.133854 -104.752075,49.133522 -104.754854,49.135304 -104.756861,49.133810 -104.759517,49.131735 -104.763741,49.131306 -104.768343,49.127485 -104.771355,49.126921 -104.776400,49.123312 -104.775211,49.118273 -104.780049,49.115459 -104.782048,49.110612 -104.784345,49.107025 -104.784279,49.103420 -104.784095,49.099311 -104.793652,49.096532 -104.805331,49.092761 -104.807189,49.092313 -104.814946,49.090231 -104.821057,49.091155 -104.827602,49.088938 -104.827558,49.083782 -104.830232,49.080155 -104.833997,49.076158 -104.838214,49.075726 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-105.963257,49.188311 -105.780759,49.297897</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-105.841837,49.194724 -105.842622,49.194173 -105.847474,49.191575 -105.848829,49.190935 -105.850618,49.190311 -105.855090,49.189018 -105.858301,49.188382 -105.862213,49.188311 -105.866387,49.188628 -105.867829,49.188789 -105.872725,49.190214 -105.874055,49.190914 -105.874661,49.191276 -105.874661,49.191277 -105.874661,49.191277 -105.875704,49.191899 -105.875704,49.191899 -105.875704,49.191899 -105.876054,49.192108 -105.878414,49.193952 -105.879662,49.195597 -105.880134,49.196421 -105.881392,49.196670 -105.885347,49.197933 -105.887153,49.198930 -105.891212,49.201596 -105.891828,49.201463 -105.897184,49.201551 -105.900263,49.202266 -105.907108,49.204486 -105.908927,49.205196 -105.912621,49.207739 -105.912726,49.207918 -105.912904,49.208045 -105.915309,49.210769 -105.915739,49.211544 -105.917098,49.212390 -105.917291,49.212550 -105.918092,49.212803 -105.918528,49.212971 -105.918758,49.213028 -105.919212,49.213192 -105.920031,49.212681 -105.925032,49.211418 -105.927732,49.211288 -105.928941,49.211308 -105.931599,49.211524 -105.936499,49.212947 -105.940195,49.215489 -105.942126,49.218765 -105.941995,49.222275 -105.941775,49.222601 -105.941748,49.222893 -105.940223,49.226222 -105.938298,49.228815 -105.934819,49.230997 -105.935661,49.231691 -105.936510,49.232473 -105.936541,49.232526 -105.936599,49.232566 -105.939282,49.235416 -105.939352,49.235536 -105.940537,49.237133 -105.944319,49.244117 -105.944906,49.245584 -105.944887,49.246094 -105.945142,49.246275 -105.945293,49.246334 -105.945636,49.246553 -105.946178,49.246710 -105.949879,49.249252 -105.951811,49.252528 -105.952096,49.253600 -105.952929,49.254276 -105.953845,49.255112 -105.955309,49.257149 -105.955320,49.257171 -105.955596,49.257256 -105.957622,49.258029 -105.961323,49.260572 -105.963257,49.263847 -105.963128,49.267358 -105.960956,49.270570 -105.957876,49.272632 -105.957019,49.273046 -105.955322,49.274005 -105.953692,49.274797 -105.948685,49.276063 -105.944679,49.275999 -105.944349,49.276082 -105.938983,49.275997 -105.934339,49.274693 -105.929015,49.272359 -105.924452,49.270835 -105.922782,49.270176 -105.920531,49.268877 -105.917602,49.266770 -105.916176,49.266177 -105.915956,49.266033 -105.915632,49.265939 -105.911933,49.263395 -105.911691,49.262986 -105.908973,49.262837 -105.904412,49.261566 -105.899786,49.259566 -105.899643,49.259471 -105.899442,49.259413 -105.897054,49.258011 -105.894656,49.256232 -105.893755,49.255446 -105.893602,49.255344 -105.892668,49.254447 -105.890721,49.253774 -105.888044,49.252150 -105.886137,49.250639 -105.885520,49.251523 -105.882689,49.253286 -105.881749,49.255017 -105.880028,49.257193 -105.876139,49.259612 -105.871131,49.260873 -105.865767,49.260784 -105.863221,49.260232 -105.862439,49.260005 -105.860081,49.259130 -105.856386,49.256584 -105.855703,49.255790 -105.855299,49.255260 -105.854538,49.257050 -105.852524,49.259825 -105.850562,49.261281 -105.846946,49.263441 -105.846825,49.264138 -105.846575,49.265104 -105.844394,49.268313 -105.843449,49.269093 -105.840542,49.271237 -105.840502,49.272255 -105.839874,49.273431 -105.839701,49.274712 -105.837884,49.277565 -105.836797,49.278680 -105.836004,49.280108 -105.834311,49.282225 -105.830417,49.284643 -105.825405,49.285902 -105.824468,49.286007 -105.819101,49.285915 -105.818654,49.285785 -105.818361,49.286098 -105.817649,49.286571 -105.817216,49.287147 -105.814232,49.289502 -105.813959,49.289904 -105.812619,49.291446 -105.809227,49.293645 -105.807269,49.294534 -105.806487,49.295094 -105.803663,49.296639 -105.798649,49.297897 -105.793280,49.297803 -105.788375,49.296373 -105.787043,49.295671 -105.785042,49.294476 -105.782680,49.292628 -105.780759,49.289349 -105.780903,49.285838 -105.783090,49.282630 -105.783759,49.282061 -105.787779,49.278911 -105.789172,49.276660 -105.790693,49.274838 -105.791091,49.274592 -105.791288,49.274328 -105.793711,49.272396 -105.795561,49.270451 -105.793853,49.267536 -105.793996,49.264025 -105.794486,49.262934 -105.795142,49.261756 -105.796836,49.259640 -105.798944,49.258331 -105.798986,49.257314 -105.801170,49.254107 -105.805062,49.251690 -105.805332,49.251596 -105.805378,49.250446 -105.805600,49.250121 -105.805627,49.249829 -105.807318,49.246169 -105.809252,49.243579 -105.810659,49.242475 -105.814348,49.240010 -105.816833,49.238697 -105.821839,49.237439 -105.823695,49.237230 -105.826696,49.235527 -105.826213,49.234865 -105.824906,49.234388 -105.821215,49.231841 -105.819294,49.228563 -105.819050,49.227632 -105.817854,49.226112 -105.817189,49.224812 -105.816810,49.224215 -105.815337,49.223198 -105.814699,49.222460 -105.813613,49.221055 -105.812773,49.220231 -105.812710,49.220126 -105.812583,49.220038 -105.810663,49.216760 -105.810661,49.213721 -105.811382,49.210959 -105.811514,49.210750 -105.811525,49.210488 -105.813317,49.207660 -105.814851,49.206073 -105.814852,49.206073 -105.814852,49.206072 -105.817602,49.203227 -105.817602,49.203227 -105.817603,49.203226 -105.818619,49.202175 -105.818852,49.202022 -105.819006,49.201795 -105.821147,49.200235 -105.826582,49.197100 -105.828327,49.196244 -105.833329,49.194985 -105.834758,49.194874 -105.839279,49.194680 -105.840331,49.194734 -105.841556,49.194706 -105.841837,49.194724 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-105.531991,49.698560 -105.439698,49.743018</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-105.491620,49.700865 -105.496882,49.701975 -105.497851,49.701871 -105.502048,49.701934 -105.507440,49.701996 -105.514059,49.703734 -105.518967,49.705786 -105.522552,49.708109 -105.526978,49.711375 -105.529822,49.714683 -105.531375,49.719164 -105.531991,49.723101 -105.530250,49.727939 -105.526892,49.731144 -105.522725,49.733532 -105.516780,49.735984 -105.510738,49.738057 -105.501658,49.739942 -105.494193,49.741911 -105.485596,49.742579 -105.480328,49.743018 -105.472378,49.742325 -105.466723,49.742030 -105.461359,49.741315 -105.453702,49.740202 -105.446692,49.737726 -105.442174,49.734080 -105.439983,49.730183 -105.439698,49.726727 -105.440254,49.721890 -105.440843,49.717179 -105.443014,49.712426 -105.445732,49.709036 -105.447414,49.707047 -105.449158,49.706085 -105.454133,49.704517 -105.458267,49.703556 -105.461560,49.703202 -105.465629,49.702764 -105.467987,49.701089 -105.470474,49.700692 -105.473767,49.700337 -105.476511,49.700171 -105.478675,49.699292 -105.481871,49.698560 -105.487327,49.698875 -105.491620,49.700865 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-106.789199,50.221075 -106.385608,50.464490</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-106.771740,50.439101 -106.781495,50.441996 -106.782510,50.442365 -106.784440,50.443626 -106.784801,50.444021 -106.788531,50.448632 -106.789199,50.449873 -106.789168,50.451636 -106.788083,50.453258 -106.787389,50.453808 -106.780117,50.458724 -106.779957,50.458810 -106.779806,50.458922 -106.772389,50.463349 -106.771421,50.463834 -106.768857,50.464490 -106.766094,50.464470 -106.763837,50.463894 -106.753984,50.460013 -106.753651,50.459805 -106.753266,50.459689 -106.748917,50.457455 -106.744472,50.456780 -106.732935,50.458155 -106.722984,50.459340 -106.720222,50.459319 -106.719440,50.459183 -106.705663,50.456239 -106.680808,50.457765 -106.667753,50.458810 -106.665402,50.458746 -106.662864,50.458051 -106.655487,50.454814 -106.643199,50.454535 -106.643015,50.454521 -106.642903,50.454525 -106.618801,50.453326 -106.617876,50.453240 -106.615339,50.452543 -106.614555,50.452144 -106.608830,50.448774 -106.607689,50.447910 -106.606881,50.446817 -106.604985,50.442996 -106.604772,50.442451 -106.604811,50.440688 -106.605532,50.439452 -106.609196,50.435202 -106.600846,50.433207 -106.599313,50.432696 -106.592062,50.429507 -106.577564,50.423126 -106.576844,50.422763 -106.567363,50.417307 -106.566160,50.416406 -106.565141,50.414767 -106.563172,50.407923 -106.563212,50.406160 -106.563965,50.404889 -106.572503,50.395199 -106.575052,50.389567 -106.576988,50.381761 -106.574957,50.374701 -106.574846,50.374065 -106.573966,50.360020 -106.573989,50.359843 -106.573967,50.359637 -106.574896,50.346390 -106.574912,50.346311 -106.574908,50.346262 -106.576191,50.335060 -106.574557,50.329377 -106.558373,50.315959 -106.543679,50.307399 -106.543577,50.307322 -106.543396,50.307225 -106.523037,50.293957 -106.522884,50.293834 -106.522748,50.293756 -106.506971,50.282138 -106.492879,50.273386 -106.478718,50.264985 -106.478174,50.264571 -106.477870,50.264383 -106.474495,50.261502 -106.459468,50.259105 -106.437487,50.256147 -106.437468,50.256142 -106.437447,50.256142 -106.435932,50.255813 -106.411819,50.248522 -106.410813,50.248150 -106.410004,50.247730 -106.391032,50.236304 -106.389931,50.235456 -106.389195,50.234483 -106.385879,50.228306 -106.385608,50.227640 -106.385655,50.225878 -106.386750,50.224262 -106.388725,50.223038 -106.391280,50.222392 -106.391471,50.222394 -106.391628,50.222358 -106.407002,50.221075 -106.409400,50.221140 -106.409474,50.221161 -106.409550,50.221162 -106.429675,50.224253 -106.440529,50.224996 -106.444189,50.223592 -106.446540,50.223026 -106.449286,50.223055 -106.451210,50.223518 -106.460323,50.226755 -106.461364,50.226990 -106.465491,50.224214 -106.466769,50.223536 -106.469323,50.222888 -106.472069,50.222917 -106.474589,50.223617 -106.475250,50.223949 -106.485575,50.229809 -106.486825,50.230742 -106.487417,50.231468 -106.491093,50.237175 -106.494828,50.239497 -106.495842,50.240290 -106.496423,50.240997 -106.499102,50.245105 -106.501352,50.245729 -106.502594,50.246431 -106.521358,50.259852 -106.541905,50.274045 -106.562367,50.287774 -106.562747,50.288083 -106.562901,50.288177 -106.582914,50.305196 -106.600236,50.311642 -106.600414,50.311751 -106.600694,50.311828 -106.602613,50.313091 -106.603113,50.313676 -106.609745,50.322998 -106.609965,50.323444 -106.610133,50.323685 -106.611623,50.327190 -106.618314,50.328732 -106.619925,50.329261 -106.620707,50.329660 -106.629271,50.334711 -106.630409,50.335575 -106.630864,50.336095 -106.635727,50.342647 -106.639479,50.345827 -106.639638,50.346058 -106.639929,50.346259 -106.649149,50.356285 -106.649217,50.356401 -106.649620,50.356898 -106.652562,50.361603 -106.652949,50.362458 -106.652913,50.364221 -106.651825,50.365841 -106.651638,50.365957 -106.651546,50.366083 -106.646425,50.370227 -106.644729,50.371215 -106.644552,50.371260 -106.644430,50.371333 -106.637230,50.374006 -106.635954,50.378296 -106.636996,50.378692 -106.645883,50.378458 -106.646727,50.378504 -106.647151,50.378498 -106.656887,50.379366 -106.657101,50.379419 -106.657381,50.379421 -106.659914,50.380117 -106.661550,50.381117 -106.667836,50.386438 -106.667929,50.386572 -106.668124,50.386700 -106.668759,50.387482 -106.673135,50.394469 -106.678088,50.401660 -106.686244,50.407344 -106.690824,50.408675 -106.695380,50.407508 -106.695968,50.407399 -106.696189,50.407336 -106.705986,50.405666 -106.706232,50.405662 -106.706515,50.405589 -106.708054,50.405516 -106.722386,50.405832 -106.723605,50.405927 -106.723744,50.405965 -106.723879,50.405967 -106.733638,50.407547 -106.744325,50.407191 -106.746153,50.407282 -106.748690,50.407976 -106.750618,50.409237 -106.751142,50.409851 -106.771740,50.439101 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-109.799942,49.843602 -109.317903,50.098713</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-109.626416,49.844766 -109.627369,50.011537 -109.727080,50.011459 -109.795770,50.010611 -109.799942,50.080296 -109.799456,50.094196 -109.796080,50.097717 -109.355564,50.098341 -109.328640,50.098713 -109.319924,50.095197 -109.318098,50.090065 -109.317903,50.060691 -109.319410,50.004673 -109.321136,49.941435 -109.320865,49.914487 -109.321753,49.885570 -109.321723,49.843602 -109.339874,49.845109 -109.542627,49.846610 -109.626416,49.844766 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-108.608667,50.542437 -108.372065,50.699377</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-108.481542,50.542437 -108.521674,50.542918 -108.556283,50.547892 -108.569706,50.552784 -108.583863,50.559821 -108.597389,50.568443 -108.604422,50.578712 -108.607596,50.588016 -108.608279,50.596916 -108.608667,50.611853 -108.606169,50.628689 -108.605626,50.651253 -108.602685,50.659905 -108.587596,50.670982 -108.577401,50.679134 -108.568084,50.686414 -108.549653,50.691197 -108.524696,50.697621 -108.506410,50.699377 -108.487151,50.698265 -108.473047,50.694946 -108.446216,50.688865 -108.429139,50.683699 -108.415448,50.678070 -108.407802,50.669370 -108.393078,50.657137 -108.383756,50.643422 -108.379907,50.631960 -108.374137,50.614767 -108.372065,50.601567 -108.374014,50.586324 -108.379651,50.575074 -108.384314,50.571444 -108.384074,50.570728 -108.409540,50.559022 -108.439968,50.548128 -108.463565,50.544900 -108.481542,50.542437 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-109.499834,50.026797 -108.968830,50.404107</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-109.279402,50.370060 -109.004392,50.158956 -108.987129,50.143747 -108.976592,50.130648 -108.969989,50.118524 -108.968830,50.104849 -108.969318,50.092477 -108.971705,50.082139 -108.977760,50.072042 -108.983436,50.064306 -108.993406,50.055183 -109.004134,50.048256 -109.020915,50.038147 -109.036945,50.032757 -109.054872,50.029396 -109.080381,50.027239 -109.099327,50.026797 -109.125491,50.029917 -109.142205,50.036714 -109.155366,50.040182 -109.169301,50.045842 -109.469965,50.277278 -109.486059,50.291847 -109.496453,50.307263 -109.498755,50.316943 -109.499834,50.329889 -109.495379,50.347512 -109.487655,50.359451 -109.475880,50.373533 -109.460483,50.384293 -109.439970,50.394263 -109.420151,50.399501 -109.398391,50.402706 -109.378391,50.404107 -109.349939,50.402118 -109.334090,50.398276 -109.316575,50.393135 -109.303907,50.388053 -109.293533,50.382634 -109.279402,50.370060 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-110.001047,51.065118 -109.666354,51.307480</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-110.000355,51.068296 -110.001047,51.297008 -109.970963,51.299588 -109.911198,51.301737 -109.875994,51.303106 -109.813977,51.307480 -109.777373,51.305129 -109.741632,51.296799 -109.726570,51.281511 -109.715405,51.255920 -109.704255,51.230329 -109.683820,51.146789 -109.666354,51.112422 -109.670325,51.098223 -109.677906,51.085435 -109.705523,51.072594 -109.754459,51.067268 -109.801498,51.065118 -109.872883,51.066104 -109.930425,51.067180 -110.000355,51.068296 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-109.478444,51.426806 -109.224518,51.610580</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-109.312383,51.429786 -109.335728,51.426806 -109.358553,51.427169 -109.379931,51.429918 -109.401949,51.434390 -109.420697,51.442604 -109.430988,51.448397 -109.440177,51.454349 -109.446901,51.459929 -109.452223,51.466439 -109.456482,51.471647 -109.459978,51.479512 -109.465053,51.490062 -109.468773,51.504812 -109.474239,51.516398 -109.476891,51.525115 -109.478444,51.538724 -109.476922,51.548773 -109.473311,51.559488 -109.466838,51.568796 -109.459294,51.576800 -109.451362,51.583768 -109.441166,51.592517 -109.430538,51.596958 -109.420634,51.600202 -109.410600,51.603099 -109.400137,51.606420 -109.389717,51.608278 -109.378613,51.609869 -109.366014,51.610580 -109.349446,51.610037 -109.336210,51.609016 -109.320245,51.606927 -109.304329,51.603373 -109.293413,51.599106 -109.279391,51.592732 -109.268402,51.586654 -109.258956,51.579993 -109.249913,51.569636 -109.243220,51.559309 -109.238195,51.548747 -109.234155,51.537681 -109.230041,51.524807 -109.226082,51.515549 -109.224518,51.504861 -109.225674,51.495242 -109.226905,51.487430 -109.232111,51.476145 -109.236311,51.470093 -109.246745,51.458790 -109.256648,51.450835 -109.267479,51.443836 -109.281451,51.437479 -109.295497,51.432928 -109.312383,51.429786 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-107.693075,51.347568 -107.489941,51.479059</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-107.493921,51.461606 -107.494111,51.461346 -107.498115,51.458844 -107.499940,51.458371 -107.508151,51.454698 -107.508512,51.454361 -107.512515,51.451858 -107.514725,51.451099 -107.522093,51.449069 -107.525112,51.448472 -107.527154,51.448310 -107.531449,51.448162 -107.536918,51.447060 -107.538530,51.446798 -107.543428,51.446714 -107.547687,51.447095 -107.555038,51.447148 -107.559610,51.446577 -107.570266,51.443544 -107.573682,51.442323 -107.575173,51.441974 -107.576863,51.441482 -107.583311,51.440319 -107.586327,51.439690 -107.593301,51.437369 -107.597267,51.436481 -107.597868,51.436481 -107.598326,51.436374 -107.601788,51.436104 -107.603222,51.435155 -107.604961,51.434338 -107.604959,51.434315 -107.605242,51.432424 -107.605452,51.431516 -107.607608,51.428245 -107.610769,51.426115 -107.610832,51.426085 -107.611444,51.424875 -107.614917,51.419986 -107.615708,51.419086 -107.615808,51.418927 -107.621617,51.413002 -107.621797,51.412884 -107.621906,51.412719 -107.624094,51.411107 -107.630292,51.407495 -107.635175,51.404309 -107.637903,51.402155 -107.638433,51.401022 -107.640593,51.397596 -107.641253,51.396805 -107.641452,51.396467 -107.643572,51.394116 -107.641954,51.391688 -107.641725,51.390696 -107.641493,51.389055 -107.641617,51.387588 -107.640023,51.385197 -107.637291,51.382213 -107.637245,51.382138 -107.636990,51.381867 -107.634076,51.378338 -107.632744,51.375966 -107.631196,51.371152 -107.630933,51.368864 -107.631380,51.363799 -107.631630,51.362550 -107.632442,51.360857 -107.635225,51.356610 -107.636563,51.355032 -107.640548,51.352526 -107.645761,51.351164 -107.647898,51.350997 -107.653764,51.350813 -107.656507,51.350937 -107.664722,51.348490 -107.668078,51.347789 -107.670783,51.347611 -107.676991,51.347568 -107.679933,51.347736 -107.685158,51.349080 -107.689164,51.351573 -107.689199,51.351626 -107.689262,51.351665 -107.690976,51.353303 -107.693057,51.356475 -107.693075,51.360012 -107.692721,51.360902 -107.691477,51.363472 -107.691250,51.363773 -107.690963,51.364362 -107.690005,51.365784 -107.690173,51.366124 -107.690529,51.367000 -107.690767,51.368050 -107.691177,51.371153 -107.690956,51.373639 -107.690802,51.373875 -107.690794,51.374097 -107.689155,51.378201 -107.687781,51.380150 -107.687320,51.380872 -107.684943,51.383207 -107.684954,51.385346 -107.684948,51.385355 -107.684948,51.385365 -107.683481,51.390003 -107.681339,51.393257 -107.680023,51.394265 -107.679702,51.395064 -107.678625,51.397241 -107.678620,51.397247 -107.678613,51.397265 -107.673568,51.407366 -107.671808,51.409677 -107.669234,51.411296 -107.669245,51.413865 -107.667675,51.416543 -107.666923,51.417385 -107.662717,51.424533 -107.661186,51.426419 -107.661059,51.426499 -107.660992,51.426597 -107.651084,51.435454 -107.650889,51.435574 -107.649469,51.436659 -107.648205,51.437451 -107.647604,51.439499 -107.647570,51.439550 -107.647571,51.439608 -107.645417,51.442880 -107.641423,51.445387 -107.641182,51.445450 -107.641010,51.445555 -107.636789,51.447199 -107.631976,51.448393 -107.627417,51.448400 -107.622930,51.451860 -107.619742,51.453680 -107.615259,51.454934 -107.610107,51.455759 -107.605989,51.456503 -107.605585,51.456756 -107.600357,51.458116 -107.593942,51.458920 -107.591594,51.459644 -107.589603,51.460068 -107.589198,51.460295 -107.583969,51.461654 -107.581927,51.461817 -107.580790,51.461856 -107.577539,51.462864 -107.575166,51.463945 -107.574912,51.464015 -107.574694,51.464152 -107.569463,51.465510 -107.562324,51.466403 -107.557948,51.466529 -107.554864,51.466325 -107.551715,51.466599 -107.549315,51.466556 -107.547519,51.466582 -107.543984,51.466245 -107.540924,51.466811 -107.539647,51.467008 -107.537362,51.467177 -107.533546,51.467269 -107.532635,51.467594 -107.532245,51.467685 -107.529454,51.469431 -107.529301,51.469470 -107.529189,51.469539 -107.524446,51.471428 -107.524067,51.471523 -107.523835,51.471659 -107.522498,51.472135 -107.520656,51.473079 -107.516719,51.476002 -107.513679,51.477703 -107.508444,51.479058 -107.502778,51.479059 -107.497542,51.477705 -107.493535,51.475204 -107.492781,51.474416 -107.491356,51.472738 -107.489941,51.470257 -107.489941,51.466719 -107.491701,51.463853 -107.493704,51.461749 -107.493921,51.461606 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-106.971326,50.900762 -106.411031,51.258960</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-106.889635,50.907808 -106.891821,50.904558 -106.895808,50.902084 -106.900987,50.900762 -106.906572,50.900795 -106.911327,50.902016 -106.943398,50.914888 -106.943559,50.914988 -106.943784,50.915048 -106.947701,50.917567 -106.949796,50.920842 -106.949748,50.924374 -106.949382,50.925260 -106.941670,50.940679 -106.941655,50.940698 -106.941631,50.940756 -106.933564,50.956386 -106.932244,50.959456 -106.936288,50.960540 -106.940209,50.963060 -106.942305,50.966335 -106.942348,50.969566 -106.941507,50.972640 -106.941419,50.972778 -106.941416,50.972942 -106.939231,50.976194 -106.935385,50.978609 -106.928077,50.981714 -106.927996,50.981735 -106.927931,50.981775 -106.926450,50.982271 -106.926661,50.983813 -106.926403,50.994816 -106.929076,50.995377 -106.939504,50.998446 -106.940822,50.998179 -106.944467,50.998041 -106.958190,50.998624 -106.960144,50.998793 -106.965299,51.000172 -106.969225,51.002690 -106.971326,51.005965 -106.971281,51.009498 -106.969095,51.012751 -106.965102,51.015229 -106.959910,51.016554 -106.939435,51.019009 -106.933833,51.018979 -106.933713,51.018947 -106.933589,51.018945 -106.925471,51.017786 -106.923297,51.018709 -106.923216,51.018731 -106.923151,51.018771 -106.917957,51.020093 -106.913593,51.020137 -106.904987,51.030722 -106.904246,51.031509 -106.904211,51.031562 -106.890937,51.044296 -106.890852,51.044350 -106.890802,51.044424 -106.888984,51.045792 -106.877043,51.053162 -106.874859,51.054268 -106.869658,51.055589 -106.866898,51.055572 -106.866565,51.057565 -106.866340,51.058471 -106.864144,51.061722 -106.861824,51.063384 -106.859299,51.064799 -106.857614,51.065611 -106.852411,51.066931 -106.846803,51.066895 -106.841644,51.065510 -106.837719,51.062986 -106.835626,51.059707 -106.835631,51.059448 -106.835506,51.059237 -106.834891,51.056348 -106.833776,51.055868 -106.817125,51.054896 -106.797420,51.054864 -106.785385,51.059989 -106.785278,51.060017 -106.785191,51.060070 -106.781651,51.061124 -106.767729,51.063882 -106.766065,51.064143 -106.760457,51.064103 -106.755824,51.062929 -106.752303,51.061546 -106.744060,51.062319 -106.739040,51.063768 -106.713270,51.077597 -106.684203,51.094294 -106.684177,51.094306 -106.684162,51.094317 -106.672861,51.100753 -106.698914,51.104531 -106.699029,51.104563 -106.700709,51.104870 -106.716285,51.108520 -106.722917,51.109881 -106.726596,51.111023 -106.728588,51.112059 -106.739585,51.118917 -106.745872,51.120529 -106.748580,51.121446 -106.750097,51.122199 -106.759208,51.127381 -106.781491,51.131993 -106.785126,51.133123 -106.787485,51.134393 -106.792253,51.137584 -106.793710,51.137216 -106.797134,51.136812 -106.802752,51.136850 -106.807919,51.138237 -106.811850,51.140763 -106.812062,51.141096 -106.812377,51.141314 -106.820846,51.150892 -106.823813,51.151777 -106.825768,51.152483 -106.829701,51.155008 -106.831798,51.158288 -106.831756,51.160827 -106.833562,51.161986 -106.835660,51.165266 -106.835607,51.168533 -106.836242,51.170211 -106.837786,51.170802 -106.838043,51.170958 -106.838423,51.171060 -106.842358,51.173585 -106.844457,51.176864 -106.846395,51.183327 -106.846338,51.186862 -106.846204,51.187059 -106.846194,51.187250 -106.845052,51.190057 -106.852248,51.200215 -106.852484,51.200689 -106.852768,51.201060 -106.858267,51.211521 -106.869301,51.231855 -106.874794,51.235901 -106.889968,51.240790 -106.891510,51.241366 -106.895456,51.243889 -106.897563,51.247168 -106.897511,51.250704 -106.895306,51.253958 -106.891285,51.256435 -106.889854,51.256952 -106.886064,51.258145 -106.882269,51.258950 -106.876634,51.258916 -106.874874,51.258612 -106.868904,51.257318 -106.864343,51.258471 -106.861892,51.258627 -106.827617,51.258960 -106.824432,51.258768 -106.819249,51.257381 -106.815306,51.254854 -106.814276,51.253684 -106.808356,51.245597 -106.792288,51.225320 -106.792230,51.225212 -106.792053,51.225009 -106.766727,51.189699 -106.766504,51.189251 -106.766209,51.188869 -106.755843,51.169507 -106.748687,51.166621 -106.748536,51.166527 -106.748324,51.166470 -106.747005,51.165828 -106.734491,51.158975 -106.714143,51.151095 -106.713902,51.150947 -106.713549,51.150852 -106.699433,51.144760 -106.672574,51.138464 -106.657380,51.134958 -106.639013,51.134082 -106.637105,51.133910 -106.636749,51.133832 -106.631756,51.133789 -106.629471,51.133356 -106.614187,51.129561 -106.611311,51.128597 -106.608229,51.126791 -106.596719,51.117727 -106.595885,51.116999 -106.593809,51.113715 -106.593812,51.113570 -106.593737,51.113444 -106.591339,51.103588 -106.587225,51.099843 -106.579526,51.096036 -106.552366,51.086662 -106.551116,51.086176 -106.550186,51.085736 -106.526611,51.073606 -106.525274,51.072665 -106.524150,51.071980 -106.504695,51.055404 -106.481221,51.036513 -106.451599,51.014866 -106.451135,51.014474 -106.448330,51.013158 -106.437761,51.008237 -106.419314,51.000485 -106.419223,51.000427 -106.419098,51.000393 -106.417512,50.999589 -106.415391,50.998347 -106.413085,50.996611 -106.411031,50.993325 -106.411126,50.989793 -106.411925,50.988196 -106.424247,50.969714 -106.425676,50.968070 -106.429697,50.965615 -106.433902,50.964455 -106.441762,50.963182 -106.442230,50.963176 -106.442761,50.963044 -106.447142,50.963116 -106.448354,50.963101 -106.448489,50.963139 -106.448629,50.963141 -106.455537,50.964173 -106.456082,50.964110 -106.463715,50.960493 -106.464142,50.960375 -106.464549,50.960126 -106.468360,50.959032 -106.469026,50.958911 -106.471696,50.956474 -106.474025,50.954821 -106.479089,50.952011 -106.480777,50.951206 -106.485976,50.949906 -106.491568,50.949961 -106.496700,50.951364 -106.500592,50.953900 -106.502652,50.957184 -106.502828,50.957997 -106.503403,50.962014 -106.503140,50.964733 -106.500920,50.967975 -106.500080,50.968669 -106.498843,50.969594 -106.499759,50.969578 -106.503178,50.969776 -106.508314,50.971179 -106.512209,50.973715 -106.514270,50.976999 -106.514185,50.980531 -106.511964,50.983774 -106.510757,50.984596 -106.511545,50.985851 -106.515327,50.998893 -106.537706,51.018164 -106.537715,51.018177 -106.537736,51.018190 -106.556632,51.034567 -106.556930,51.035005 -106.557451,51.035360 -106.573743,51.053098 -106.595603,51.066669 -106.614996,51.071827 -106.634893,51.072401 -106.652695,51.067915 -106.664320,51.063218 -106.672014,51.058136 -106.672852,51.057698 -106.673344,51.057361 -106.681645,51.053105 -106.683452,51.050151 -106.685014,51.048282 -106.686283,51.047278 -106.696086,51.040557 -106.698829,51.039094 -106.699124,51.039020 -106.699332,51.038897 -106.715249,51.032943 -106.716939,51.032542 -106.719169,51.031933 -106.729311,51.030370 -106.729686,51.030366 -106.730090,51.030264 -106.731462,51.030145 -106.740722,51.029630 -106.744282,51.027437 -106.745538,51.026976 -106.756283,51.023481 -106.756718,51.023387 -106.757511,51.023127 -106.765689,51.021053 -106.766632,51.019658 -106.767992,51.018094 -106.771998,51.015624 -106.772219,51.015560 -106.772266,51.015377 -106.774467,51.012128 -106.778472,51.009658 -106.783669,51.008342 -106.785945,51.008073 -106.791544,51.008112 -106.796695,51.009500 -106.800612,51.012025 -106.800645,51.012078 -106.800706,51.012118 -106.803062,51.014456 -106.805166,51.014429 -106.806522,51.012540 -106.807750,51.011163 -106.811752,51.008691 -106.816948,51.007374 -106.822548,51.007411 -106.827699,51.008797 -106.828187,51.009063 -106.830597,51.008946 -106.841264,51.009166 -106.843741,51.009353 -106.847593,51.010389 -106.852163,51.009581 -106.868010,51.005720 -106.871025,51.002753 -106.871369,50.991719 -106.867914,50.987805 -106.866349,50.985078 -106.866404,50.981545 -106.867827,50.979092 -106.871962,50.974264 -106.870400,50.973258 -106.870303,50.973107 -106.870141,50.972999 -106.867578,50.970332 -106.865747,50.967315 -106.865802,50.963782 -106.867993,50.960532 -106.871986,50.958058 -106.875669,50.957121 -106.875693,50.955543 -106.877883,50.952293 -106.879342,50.951389 -106.879085,50.948555 -106.879365,50.946188 -106.881183,50.943299 -106.881952,50.942508 -106.881708,50.942003 -106.881486,50.940887 -106.880324,50.929136 -106.880599,50.926721 -106.882786,50.923470 -106.882917,50.923389 -106.882987,50.923290 -106.889859,50.917242 -106.889348,50.910065 -106.889635,50.907808 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-106.781098,50.609559 -106.417372,50.753550</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-106.699107,50.715713 -106.707251,50.703619 -106.704950,50.685803 -106.689150,50.674220 -106.670830,50.668963 -106.650163,50.668152 -106.629207,50.673862 -106.603119,50.682024 -106.583115,50.688539 -106.551346,50.692250 -106.517185,50.690202 -106.476862,50.687003 -106.449448,50.680444 -106.432120,50.670860 -106.421857,50.660460 -106.417372,50.649857 -106.419431,50.636645 -106.428796,50.623517 -106.450074,50.616423 -106.461290,50.617440 -106.491360,50.628316 -106.510990,50.635766 -106.539781,50.637046 -106.557076,50.631319 -106.574739,50.621837 -106.628737,50.614573 -106.650706,50.612450 -106.667351,50.609559 -106.688119,50.610814 -106.716622,50.618568 -106.738449,50.623398 -106.759220,50.632060 -106.775816,50.646318 -106.781098,50.664243 -106.779991,50.685249 -106.775973,50.703820 -106.766963,50.725304 -106.756490,50.741857 -106.738817,50.751375 -106.720442,50.753550 -106.697085,50.751205 -106.689773,50.743718 -106.688065,50.737890 -106.686146,50.728839 -106.694459,50.722292 -106.699107,50.715713 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-106.354951,50.886671 -106.071757,51.019589</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-106.086114,50.892362 -106.087996,50.891226 -106.094224,50.887289 -106.107971,50.886683 -106.116036,50.886709 -106.126148,50.888822 -106.139355,50.891515 -106.223715,50.886671 -106.223622,50.927933 -106.233117,50.927790 -106.230931,50.938234 -106.232835,50.944973 -106.239793,50.948824 -106.252443,50.952032 -106.265552,50.954260 -106.286358,50.955151 -106.308203,50.954529 -106.327588,50.955573 -106.341541,50.958159 -106.353154,50.967966 -106.354951,50.974254 -106.349621,50.986455 -106.347020,50.992781 -106.337042,50.999017 -106.330108,51.003052 -106.304203,51.010165 -106.276279,51.017962 -106.250251,51.019509 -106.228954,51.019589 -106.208907,51.016279 -106.188974,51.005534 -106.160874,50.989212 -106.144987,50.977084 -106.131874,50.966961 -106.111148,50.947955 -106.092156,50.932463 -106.079235,50.925560 -106.071757,50.917125 -106.072350,50.908720 -106.071772,50.901371 -106.081516,50.894264 -106.086114,50.892362 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-106.118722,50.425984 -105.851572,50.630946</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-105.998685,50.571043 -105.946913,50.571005 -105.923230,50.570732 -105.925586,50.542717 -105.895297,50.541436 -105.892984,50.499489 -105.882024,50.489137 -105.868126,50.477952 -105.856268,50.464230 -105.851572,50.446832 -105.858058,50.433982 -105.871933,50.428408 -105.893894,50.425984 -105.925164,50.431194 -105.965269,50.452176 -105.991727,50.469465 -106.000491,50.478318 -106.034942,50.498180 -106.072085,50.498069 -106.072688,50.572616 -106.118296,50.573283 -106.118722,50.630518 -106.026962,50.630946 -106.027331,50.602558 -105.999066,50.602234 -105.998685,50.571043 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-105.473768,50.533117 -105.267404,50.627338</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-105.267777,50.540086 -105.270072,50.536876 -105.274120,50.534470 -105.279304,50.533234 -105.281772,50.533117 -105.293166,50.533211 -105.296230,50.533450 -105.301267,50.534912 -105.305045,50.537490 -105.306986,50.540794 -105.307130,50.541356 -105.307548,50.541396 -105.308671,50.541534 -105.313710,50.542995 -105.317489,50.545573 -105.318864,50.547911 -105.351395,50.548016 -105.354561,50.548254 -105.359602,50.549712 -105.363385,50.552289 -105.365332,50.555591 -105.365512,50.556757 -105.365681,50.559993 -105.366769,50.560198 -105.371017,50.561522 -105.372246,50.562359 -105.378583,50.562480 -105.380861,50.562669 -105.383726,50.561983 -105.386979,50.561883 -105.402784,50.562553 -105.413486,50.562906 -105.415975,50.563130 -105.421021,50.564586 -105.424808,50.567160 -105.426214,50.569536 -105.428398,50.569712 -105.433445,50.571167 -105.437234,50.573741 -105.439188,50.577042 -105.439376,50.578696 -105.439206,50.584228 -105.448062,50.584092 -105.451624,50.584324 -105.456673,50.585777 -105.460465,50.588351 -105.462422,50.591652 -105.462613,50.593074 -105.462677,50.599453 -105.463639,50.599662 -105.467308,50.600864 -105.471102,50.603437 -105.473060,50.606738 -105.473229,50.607696 -105.473768,50.613612 -105.473424,50.616180 -105.471140,50.619395 -105.470025,50.620267 -105.467468,50.622031 -105.464538,50.623573 -105.459348,50.624819 -105.455329,50.624737 -105.452788,50.626093 -105.447597,50.627338 -105.442053,50.627225 -105.436999,50.625770 -105.436709,50.625574 -105.436380,50.625472 -105.387522,50.600523 -105.386619,50.601061 -105.381429,50.602302 -105.378946,50.602422 -105.331605,50.602040 -105.328548,50.601802 -105.323501,50.600342 -105.319717,50.597763 -105.317772,50.594459 -105.317587,50.593154 -105.317299,50.582472 -105.314181,50.582405 -105.309553,50.581064 -105.308555,50.581498 -105.303365,50.582736 -105.297827,50.582614 -105.292784,50.581152 -105.292576,50.581011 -105.292330,50.580936 -105.291533,50.580539 -105.282624,50.580497 -105.279478,50.580257 -105.274435,50.578794 -105.270656,50.576214 -105.268716,50.572910 -105.268536,50.571679 -105.267404,50.542381 -105.267777,50.540086 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-104.902843,50.688546 -104.789106,50.759491</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-104.800796,50.692146 -104.804887,50.689758 -104.810105,50.688546 -104.815656,50.688694 -104.816814,50.688906 -104.823466,50.690320 -104.823594,50.690363 -104.824026,50.690448 -104.831502,50.692260 -104.831992,50.692347 -104.833427,50.692413 -104.835759,50.692645 -104.840799,50.694130 -104.841048,50.694302 -104.841337,50.694392 -104.843824,50.695665 -104.844100,50.695865 -104.844415,50.696044 -104.844778,50.696082 -104.845205,50.696197 -104.845768,50.696211 -104.850809,50.697696 -104.853461,50.699294 -104.855345,50.700765 -104.856457,50.701764 -104.857025,50.702665 -104.858346,50.703577 -104.861160,50.704405 -104.861471,50.704620 -104.861821,50.704731 -104.862540,50.705107 -104.864564,50.705863 -104.868313,50.708443 -104.869059,50.709216 -104.869446,50.709449 -104.873217,50.712390 -104.874330,50.713389 -104.876074,50.716130 -104.877162,50.719225 -104.878604,50.721856 -104.878774,50.723134 -104.878775,50.723170 -104.879202,50.723767 -104.880115,50.725705 -104.882657,50.727637 -104.884162,50.728491 -104.886826,50.730521 -104.887411,50.731190 -104.887975,50.731907 -104.889747,50.733104 -104.893788,50.737123 -104.893832,50.737196 -104.893921,50.737258 -104.895384,50.738770 -104.895389,50.738779 -104.895399,50.738786 -104.895941,50.739723 -104.898191,50.741272 -104.898280,50.741425 -104.898436,50.741536 -104.900245,50.743567 -104.900461,50.743960 -104.901502,50.745447 -104.902428,50.747427 -104.902843,50.748596 -104.902617,50.752123 -104.900280,50.755327 -104.896188,50.757720 -104.890964,50.758937 -104.889235,50.759041 -104.867998,50.759491 -104.864167,50.759242 -104.859117,50.757758 -104.855348,50.755161 -104.853722,50.752729 -104.853195,50.751444 -104.848612,50.746857 -104.848429,50.746548 -104.848117,50.746322 -104.843224,50.740590 -104.843192,50.740530 -104.843143,50.740494 -104.835100,50.730791 -104.835063,50.730721 -104.835010,50.730682 -104.830278,50.724777 -104.827363,50.722373 -104.823081,50.720058 -104.808651,50.717443 -104.799986,50.716176 -104.799906,50.716153 -104.799816,50.716151 -104.794775,50.714663 -104.791014,50.712064 -104.789106,50.708749 -104.789342,50.705222 -104.790893,50.702788 -104.800005,50.692912 -104.800796,50.692146 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-104.810238,51.554974 -104.688261,51.620049</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-104.761693,51.617229 -104.756012,51.617077 -104.756012,51.617077 -104.751489,51.615766 -104.751020,51.616033 -104.751020,51.616033 -104.747174,51.617052 -104.747174,51.617052 -104.743112,51.617719 -104.743112,51.617719 -104.742871,51.617750 -104.742871,51.617750 -104.742805,51.617767 -104.742805,51.617767 -104.741366,51.617983 -104.741366,51.617983 -104.740892,51.618254 -104.740892,51.618254 -104.737433,51.619204 -104.737433,51.619204 -104.734240,51.619788 -104.734240,51.619788 -104.732356,51.620049 -104.727157,51.619964 -104.727157,51.619964 -104.723479,51.619486 -104.723479,51.619486 -104.723259,51.619425 -104.723259,51.619425 -104.722997,51.619417 -104.722997,51.619417 -104.717842,51.617922 -104.717842,51.617922 -104.715054,51.616253 -104.715054,51.616253 -104.711744,51.613661 -104.711744,51.613661 -104.710691,51.612721 -104.710691,51.612721 -104.709154,51.610092 -104.709154,51.610092 -104.706848,51.609886 -104.706848,51.609886 -104.701695,51.608389 -104.701695,51.608389 -104.699235,51.606717 -104.699235,51.606717 -104.695212,51.605548 -104.695212,51.605548 -104.691569,51.603134 -104.691569,51.603134 -104.690400,51.601999 -104.690400,51.601999 -104.690335,51.601892 -104.690335,51.601892 -104.690203,51.601803 -104.690203,51.601803 -104.688261,51.598476 -104.688261,51.598476 -104.688512,51.594940 -104.688512,51.594940 -104.690915,51.591732 -104.690915,51.591732 -104.691787,51.591235 -104.691787,51.591235 -104.692425,51.590544 -104.692425,51.590544 -104.693305,51.589703 -104.693305,51.589703 -104.695036,51.588482 -104.695036,51.588482 -104.696460,51.587642 -104.696460,51.587642 -104.696517,51.586835 -104.696517,51.586835 -104.698920,51.583627 -104.698920,51.583627 -104.701738,51.581824 -104.701738,51.581824 -104.703525,51.580961 -104.703525,51.580961 -104.704896,51.580373 -104.704896,51.580373 -104.708210,51.579622 -104.708210,51.579622 -104.708327,51.577949 -104.708327,51.577949 -104.709268,51.576280 -104.709268,51.576280 -104.709936,51.575385 -104.709936,51.575385 -104.711396,51.573847 -104.711396,51.573847 -104.715584,51.571455 -104.715584,51.571455 -104.718909,51.570530 -104.718909,51.570530 -104.720154,51.570294 -104.720154,51.570294 -104.722432,51.567249 -104.722432,51.567249 -104.722648,51.567065 -104.722648,51.567065 -104.722719,51.566045 -104.722719,51.566045 -104.724493,51.563414 -104.724493,51.563414 -104.725561,51.562342 -104.725561,51.562342 -104.725921,51.562120 -104.725921,51.562120 -104.726186,51.561765 -104.726186,51.561765 -104.730372,51.559373 -104.730372,51.559373 -104.735707,51.558162 -104.739711,51.558270 -104.743356,51.556186 -104.743356,51.556186 -104.748690,51.554974 -104.754362,51.555126 -104.754362,51.555126 -104.759510,51.556619 -104.759510,51.556619 -104.759830,51.556834 -104.759830,51.556834 -104.764542,51.557085 -104.764542,51.557085 -104.768716,51.557790 -104.768716,51.557790 -104.775763,51.559326 -104.775763,51.559326 -104.784081,51.562400 -104.784081,51.562400 -104.789981,51.565569 -104.789981,51.565569 -104.793576,51.568407 -104.793576,51.568407 -104.796121,51.571485 -104.796121,51.571485 -104.798015,51.574625 -104.798015,51.574625 -104.799247,51.575853 -104.799247,51.575853 -104.799291,51.575854 -104.799291,51.575854 -104.804443,51.577346 -104.804443,51.577346 -104.808287,51.579952 -104.808287,51.579952 -104.810238,51.583276 -104.810238,51.583276 -104.809999,51.586812 -104.809999,51.586812 -104.808638,51.589008 -104.808638,51.589008 -104.806668,51.591260 -104.806668,51.591260 -104.806572,51.592685 -104.806572,51.592685 -104.805275,51.594805 -104.805275,51.594805 -104.803726,51.596617 -104.803726,51.596617 -104.802628,51.597707 -104.802628,51.597707 -104.802491,51.597786 -104.802491,51.597786 -104.802415,51.597884 -104.802415,51.597884 -104.798529,51.601030 -104.798529,51.601030 -104.798385,51.601110 -104.798385,51.601110 -104.797199,51.601965 -104.797199,51.601965 -104.793828,51.604031 -104.793828,51.604031 -104.792436,51.605895 -104.792436,51.605895 -104.789531,51.607744 -104.789531,51.607744 -104.785394,51.609715 -104.785394,51.609715 -104.783654,51.610617 -104.783654,51.610617 -104.781904,51.611396 -104.781904,51.611396 -104.776563,51.612610 -104.776037,51.612596 -104.775624,51.612771 -104.775624,51.612771 -104.775283,51.612855 -104.775283,51.612855 -104.774970,51.613034 -104.774970,51.613034 -104.772410,51.613801 -104.772410,51.613801 -104.770412,51.614257 -104.770412,51.614257 -104.770114,51.614456 -104.770114,51.614456 -104.767035,51.616015 -104.767035,51.616015 -104.761693,51.617229 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-103.699997,51.654853 -103.530044,51.760054</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-103.623778,51.655931 -103.639130,51.660583 -103.641610,51.662324 -103.642641,51.662363 -103.642652,51.662366 -103.646069,51.662494 -103.646112,51.662507 -103.646158,51.662509 -103.648980,51.662973 -103.664249,51.667607 -103.675582,51.675555 -103.678423,51.679163 -103.678677,51.679557 -103.689209,51.686938 -103.694210,51.695925 -103.694407,51.696080 -103.699997,51.706119 -103.698979,51.716723 -103.692355,51.725188 -103.691988,51.725868 -103.690796,51.727661 -103.685204,51.733724 -103.681841,51.735576 -103.681832,51.735670 -103.674348,51.745225 -103.672425,51.746798 -103.659616,51.753846 -103.643434,51.757312 -103.635864,51.757028 -103.635111,51.757145 -103.630346,51.757717 -103.613258,51.757072 -103.612082,51.756716 -103.602192,51.758830 -103.600670,51.758858 -103.592692,51.760054 -103.575603,51.759403 -103.569480,51.758094 -103.565862,51.757129 -103.556603,51.753775 -103.545714,51.746273 -103.543671,51.744189 -103.543527,51.743938 -103.543229,51.743728 -103.542083,51.741407 -103.537674,51.733680 -103.537774,51.732677 -103.537380,51.731877 -103.537284,51.731002 -103.534108,51.725534 -103.532934,51.721167 -103.531851,51.717214 -103.531884,51.716759 -103.531623,51.716287 -103.532530,51.707249 -103.530044,51.702748 -103.531107,51.692146 -103.533217,51.688348 -103.534770,51.686104 -103.540168,51.680360 -103.540888,51.679936 -103.541739,51.679241 -103.546037,51.676882 -103.546701,51.675783 -103.552856,51.668865 -103.565656,51.661832 -103.575279,51.659249 -103.578111,51.658728 -103.584638,51.657858 -103.585638,51.657896 -103.596380,51.655597 -103.597973,51.655658 -103.601658,51.654869 -103.613276,51.654853 -103.618352,51.655268 -103.623778,51.655931 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-103.629900,52.447508 -103.215644,52.589804</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-103.462734,52.447807 -103.467949,52.449369 -103.471789,52.452032 -103.473668,52.455390 -103.473800,52.456576 -103.473824,52.462535 -103.474369,52.462600 -103.479586,52.464162 -103.483428,52.466825 -103.485148,52.469894 -103.486787,52.470005 -103.492006,52.471567 -103.494744,52.473463 -103.498936,52.471206 -103.504434,52.470056 -103.506280,52.469975 -103.530236,52.469835 -103.534190,52.470137 -103.535645,52.470571 -103.539739,52.469713 -103.541218,52.469637 -103.565094,52.469129 -103.569416,52.469425 -103.574638,52.470982 -103.578487,52.473641 -103.580377,52.476997 -103.580339,52.477378 -103.580485,52.477675 -103.581076,52.483676 -103.601885,52.483701 -103.605651,52.484001 -103.610877,52.485556 -103.614730,52.488214 -103.616624,52.491570 -103.616759,52.492920 -103.616597,52.500260 -103.616108,52.502453 -103.613559,52.505643 -103.609203,52.507995 -103.608779,52.508084 -103.610313,52.510617 -103.611102,52.512544 -103.611085,52.512714 -103.614248,52.512703 -103.618127,52.513002 -103.623357,52.514557 -103.627214,52.517215 -103.629110,52.520571 -103.629247,52.521717 -103.629900,52.564897 -103.629411,52.567293 -103.626859,52.570485 -103.622496,52.572838 -103.616987,52.573995 -103.615505,52.574072 -103.606412,52.574270 -103.606653,52.579089 -103.606167,52.581682 -103.603613,52.584873 -103.599247,52.587225 -103.593735,52.588381 -103.591844,52.588463 -103.507110,52.588847 -103.503184,52.588544 -103.497949,52.586982 -103.494094,52.584320 -103.492727,52.581888 -103.466955,52.581922 -103.466820,52.582518 -103.464253,52.585706 -103.459879,52.588052 -103.454363,52.589200 -103.452522,52.589280 -103.351003,52.589804 -103.347027,52.589495 -103.341798,52.587925 -103.337954,52.585257 -103.336080,52.581895 -103.335955,52.580892 -103.335491,52.567057 -103.327195,52.567203 -103.322902,52.566896 -103.317677,52.565326 -103.313837,52.562657 -103.312246,52.559798 -103.279360,52.559639 -103.275608,52.559328 -103.270386,52.557755 -103.266550,52.555084 -103.264954,52.552208 -103.254697,52.552066 -103.251159,52.551755 -103.245939,52.550181 -103.242105,52.547510 -103.240756,52.545076 -103.240526,52.545067 -103.237655,52.544774 -103.232437,52.543200 -103.228605,52.540527 -103.227415,52.538380 -103.226672,52.538324 -103.221455,52.536749 -103.217624,52.534076 -103.215762,52.530713 -103.215644,52.529292 -103.215958,52.522312 -103.216467,52.520192 -103.219049,52.517011 -103.223430,52.514675 -103.228942,52.513539 -103.230128,52.513475 -103.275252,52.512099 -103.275290,52.511853 -103.277867,52.508671 -103.282243,52.506332 -103.287752,52.505193 -103.287844,52.505190 -103.290274,52.502188 -103.294649,52.499849 -103.300156,52.498709 -103.302004,52.498632 -103.335096,52.498502 -103.335066,52.493299 -103.335573,52.490913 -103.338143,52.487730 -103.342514,52.485389 -103.348018,52.484247 -103.349850,52.484169 -103.407886,52.483872 -103.408330,52.471394 -103.408829,52.469249 -103.411393,52.466064 -103.415756,52.463720 -103.420059,52.462823 -103.419587,52.457635 -103.420065,52.454788 -103.422627,52.451603 -103.426988,52.449259 -103.432485,52.448113 -103.433927,52.448039 -103.458380,52.447508 -103.462734,52.447807 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-104.105907,52.157054 -103.877018,52.411643</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-103.981174,52.168448 -103.998448,52.169033 -103.998448,52.169033 -104.014046,52.173636 -104.014046,52.173636 -104.025596,52.181557 -104.025596,52.181557 -104.025794,52.181902 -104.025794,52.181902 -104.026161,52.182160 -104.026161,52.182160 -104.031257,52.187772 -104.031257,52.187772 -104.036439,52.197204 -104.036439,52.197204 -104.036406,52.197576 -104.036406,52.197576 -104.036587,52.197906 -104.036587,52.197906 -104.040713,52.219633 -104.040713,52.219633 -104.047189,52.221539 -104.047189,52.221539 -104.048210,52.222237 -104.048210,52.222237 -104.049354,52.222601 -104.049354,52.222601 -104.062326,52.229386 -104.062326,52.229386 -104.071737,52.236240 -104.071737,52.236240 -104.073699,52.238508 -104.073699,52.238508 -104.082434,52.249861 -104.082434,52.249861 -104.083539,52.252117 -104.083539,52.252117 -104.085271,52.254671 -104.085271,52.254671 -104.090244,52.266448 -104.090244,52.266448 -104.097421,52.281702 -104.097421,52.281702 -104.103881,52.293665 -104.103881,52.293665 -104.105682,52.298350 -104.105682,52.298350 -104.105907,52.305013 -104.105907,52.305013 -104.104329,52.314481 -104.104329,52.314481 -104.103180,52.318444 -104.103180,52.318444 -104.095688,52.328046 -104.095688,52.328046 -104.090638,52.331519 -104.090638,52.331519 -104.081342,52.336904 -104.081342,52.336904 -104.082167,52.338977 -104.082167,52.338977 -104.087380,52.349465 -104.087380,52.349465 -104.093794,52.361082 -104.093794,52.361082 -104.095688,52.365933 -104.095688,52.365933 -104.096119,52.368939 -104.096119,52.368939 -104.096782,52.381476 -104.096782,52.381476 -104.095423,52.389099 -104.095423,52.389099 -104.087916,52.398702 -104.087916,52.398702 -104.074968,52.405815 -104.074968,52.405815 -104.067664,52.407943 -104.067664,52.407943 -104.057521,52.410232 -104.057521,52.410232 -104.048408,52.411643 -104.031026,52.411066 -104.031026,52.411066 -104.015331,52.406462 -104.015331,52.406462 -104.008854,52.402827 -104.008854,52.402827 -104.003410,52.399104 -104.003410,52.399104 -103.998274,52.394811 -103.998274,52.394811 -103.997689,52.393793 -103.997689,52.393793 -103.996761,52.393112 -103.996761,52.393112 -103.992496,52.387887 -103.992496,52.387887 -103.991911,52.386738 -103.991911,52.386738 -103.989962,52.384093 -103.989962,52.384093 -103.977718,52.360907 -103.977718,52.360907 -103.977058,52.359157 -103.977058,52.359157 -103.976659,52.358542 -103.976659,52.358542 -103.972148,52.346336 -103.972148,52.346336 -103.967901,52.346142 -103.967901,52.346142 -103.952240,52.341530 -103.952240,52.341530 -103.946752,52.338538 -103.946752,52.338538 -103.942281,52.335662 -103.942281,52.335662 -103.941692,52.335184 -103.941692,52.335184 -103.940905,52.334735 -103.940905,52.334735 -103.930903,52.327675 -103.930903,52.327675 -103.926187,52.323660 -103.926187,52.323660 -103.925605,52.322641 -103.925605,52.322641 -103.924680,52.321960 -103.924680,52.321960 -103.914062,52.308891 -103.914062,52.308891 -103.913791,52.308356 -103.913791,52.308356 -103.912474,52.306698 -103.912474,52.306698 -103.911129,52.304597 -103.911129,52.304597 -103.906990,52.302174 -103.906990,52.302174 -103.899659,52.296747 -103.899659,52.296747 -103.895601,52.293203 -103.895601,52.293203 -103.891247,52.287046 -103.891247,52.287046 -103.883957,52.271826 -103.883957,52.271826 -103.883295,52.269945 -103.883295,52.269945 -103.883028,52.269516 -103.883028,52.269516 -103.880502,52.261810 -103.880502,52.261810 -103.880536,52.261061 -103.880536,52.261061 -103.880063,52.260230 -103.880063,52.260230 -103.881046,52.249607 -103.881046,52.249607 -103.888576,52.240024 -103.888576,52.240024 -103.896858,52.234871 -103.896858,52.234871 -103.897073,52.234768 -103.897073,52.234768 -103.898581,52.232517 -103.898581,52.232517 -103.898538,52.231612 -103.898538,52.231612 -103.884466,52.213729 -103.884466,52.213729 -103.882082,52.208906 -103.882082,52.208906 -103.880749,52.206699 -103.880749,52.206699 -103.877288,52.194881 -103.877288,52.194881 -103.877319,52.194375 -103.877319,52.194375 -103.877018,52.193846 -103.877018,52.193846 -103.878000,52.183225 -103.878000,52.183225 -103.885518,52.173643 -103.885518,52.173643 -103.889987,52.170523 -103.889987,52.170523 -103.899983,52.164531 -103.899983,52.164531 -103.908417,52.160566 -103.908417,52.160566 -103.924742,52.157054 -103.942010,52.157648 -103.942010,52.157648 -103.957597,52.162259 -103.957597,52.162259 -103.968435,52.169485 -103.968435,52.169485 -103.969373,52.170397 -103.973422,52.169570 -103.973422,52.169570 -103.981174,52.168448 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-105.075621,52.399073 -104.882064,52.601057</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-104.949412,52.415284 -104.950284,52.414273 -104.963073,52.407051 -104.967138,52.405701 -104.981832,52.401406 -104.994097,52.399073 -105.011486,52.399489 -105.013089,52.399941 -105.014534,52.400007 -105.029826,52.402963 -105.042588,52.406896 -105.045497,52.408302 -105.056391,52.414035 -105.065314,52.420438 -105.071361,52.430421 -105.071823,52.432935 -105.072883,52.442792 -105.075621,52.453265 -105.074959,52.463904 -105.067681,52.473579 -105.063312,52.476728 -105.054401,52.482242 -105.066591,52.500320 -105.069400,52.506409 -105.068736,52.517049 -105.061446,52.526725 -105.060882,52.527127 -105.062591,52.530237 -105.064351,52.534609 -105.064891,52.539707 -105.064161,52.554940 -105.062955,52.560484 -105.055655,52.570161 -105.042829,52.577397 -105.037595,52.579076 -105.025571,52.582332 -105.014404,52.584346 -104.996932,52.583930 -104.993887,52.583115 -104.988537,52.586803 -104.975824,52.594041 -104.968628,52.597375 -104.952214,52.601057 -104.934735,52.600631 -104.918857,52.596162 -104.907002,52.588332 -104.900972,52.578335 -104.896178,52.559716 -104.896890,52.549075 -104.897571,52.547981 -104.893611,52.541408 -104.893071,52.537119 -104.893100,52.529135 -104.884824,52.509692 -104.883928,52.507059 -104.883444,52.504183 -104.882457,52.491998 -104.882917,52.489014 -104.882908,52.486559 -104.885140,52.477569 -104.884017,52.475395 -104.882483,52.471404 -104.882064,52.465188 -104.883426,52.453824 -104.884559,52.449403 -104.888942,52.442549 -104.897278,52.433391 -104.900214,52.430583 -104.913017,52.423367 -104.913282,52.423308 -104.913483,52.423196 -104.925206,52.418934 -104.941080,52.415430 -104.949412,52.415284 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-105.375426,52.507077 -105.121984,52.680046</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-105.256645,52.540880 -105.256962,52.548221 -105.256779,52.549247 -105.269703,52.549522 -105.280340,52.547231 -105.297798,52.547600 -105.298896,52.547904 -105.299950,52.547942 -105.317062,52.550945 -105.330815,52.555011 -105.339802,52.560238 -105.358759,52.574825 -105.361705,52.577378 -105.367853,52.587348 -105.367798,52.588355 -105.368239,52.589150 -105.369837,52.599208 -105.375043,52.614136 -105.375033,52.614737 -105.375426,52.615373 -105.374844,52.626019 -105.371800,52.631367 -105.347602,52.662833 -105.343406,52.667185 -105.330602,52.674459 -105.319224,52.677515 -105.308527,52.679364 -105.303493,52.680046 -105.285974,52.679679 -105.270024,52.675263 -105.269587,52.674978 -105.269048,52.674823 -105.260960,52.671078 -105.246354,52.674596 -105.237015,52.676161 -105.219499,52.675783 -105.203557,52.671356 -105.193268,52.665066 -105.169353,52.644656 -105.168832,52.643883 -105.167708,52.643147 -105.161602,52.633163 -105.162243,52.622519 -105.169526,52.612833 -105.172224,52.610776 -105.179014,52.606081 -105.179937,52.604548 -105.170623,52.602258 -105.162075,52.599174 -105.158678,52.597818 -105.151710,52.594019 -105.138134,52.584888 -105.133200,52.580884 -105.128708,52.574948 -105.123578,52.565252 -105.121984,52.561204 -105.122634,52.550562 -105.129031,52.541653 -105.138720,52.532860 -105.139261,52.532543 -105.139602,52.532088 -105.152395,52.524841 -105.161787,52.522365 -105.165474,52.518043 -105.178258,52.510793 -105.194612,52.507077 -105.212051,52.507459 -105.227927,52.511883 -105.239824,52.519674 -105.240046,52.520037 -105.240444,52.520305 -105.251154,52.531535 -105.256645,52.540880 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-106.115803,52.327651 -105.896334,52.435464</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-105.987814,52.433543 -105.987341,52.433557 -105.979271,52.435464 -105.961858,52.435210 -105.960709,52.434899 -105.960114,52.434890 -105.959339,52.434740 -105.958794,52.434720 -105.957050,52.434401 -105.956033,52.434099 -105.952719,52.433455 -105.950269,52.432832 -105.941738,52.429956 -105.939511,52.428527 -105.937232,52.427910 -105.925224,52.420200 -105.923005,52.417795 -105.922056,52.416634 -105.921115,52.414883 -105.915332,52.413315 -105.903333,52.405603 -105.897077,52.395670 -105.897115,52.394731 -105.896688,52.393984 -105.896334,52.392002 -105.897158,52.383046 -105.904213,52.373317 -105.913468,52.367927 -105.914169,52.366960 -105.922253,52.362250 -105.922597,52.361774 -105.926778,52.359085 -105.931383,52.352762 -105.933120,52.351749 -105.935907,52.347179 -105.937621,52.345230 -105.937792,52.345061 -105.941391,52.340085 -105.948318,52.335345 -105.950640,52.334088 -105.956293,52.331486 -105.972496,52.327651 -105.989862,52.327903 -105.996400,52.329673 -105.998687,52.329903 -106.009150,52.330510 -106.014979,52.332087 -106.015167,52.332050 -106.032535,52.332295 -106.032968,52.332412 -106.033688,52.332255 -106.039644,52.330603 -106.043173,52.329971 -106.047968,52.329287 -106.065335,52.329526 -106.072849,52.331176 -106.080679,52.331282 -106.091165,52.333582 -106.092070,52.333863 -106.097485,52.335852 -106.109501,52.343539 -106.115803,52.353458 -106.115427,52.364099 -106.110383,52.371121 -106.108779,52.375171 -106.101973,52.384390 -106.100212,52.385422 -106.096651,52.388959 -106.095791,52.389493 -106.095212,52.390298 -106.090594,52.394332 -106.078020,52.401691 -106.075968,52.402292 -106.075456,52.402772 -106.074957,52.403073 -106.074649,52.403500 -106.064119,52.410011 -106.054580,52.414193 -106.053508,52.414468 -106.052531,52.415039 -106.046761,52.416275 -106.043440,52.417531 -106.036340,52.419184 -106.033181,52.421029 -106.032098,52.421286 -106.031344,52.421706 -106.030204,52.422103 -106.024344,52.425642 -106.022315,52.426491 -106.021633,52.426661 -106.021051,52.427001 -106.007238,52.430543 -105.998014,52.431854 -105.993209,52.432754 -105.987814,52.433543 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-106.346018,52.156638 -106.235187,52.244560</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-106.258995,52.163543 -106.262243,52.162760 -106.267097,52.160521 -106.283199,52.156638 -106.300490,52.156838 -106.307554,52.158734 -106.310457,52.158894 -106.326312,52.163145 -106.329809,52.164804 -106.331174,52.165521 -106.339685,52.171519 -106.346018,52.181419 -106.345707,52.192055 -106.345256,52.192692 -106.345214,52.193304 -106.344600,52.194714 -106.342891,52.196979 -106.341525,52.199924 -106.340162,52.202285 -106.336521,52.206645 -106.336414,52.208539 -106.336671,52.210657 -106.336527,52.213672 -106.335529,52.218677 -106.333534,52.221490 -106.333531,52.221503 -106.326610,52.231257 -106.321385,52.235074 -106.319639,52.236135 -106.319398,52.236254 -106.319185,52.236407 -106.317541,52.237378 -106.310742,52.240673 -106.294608,52.244560 -106.277278,52.244359 -106.261395,52.240100 -106.255182,52.236888 -106.253456,52.235814 -106.247654,52.231358 -106.241339,52.221451 -106.241201,52.220580 -106.239329,52.216305 -106.239144,52.209130 -106.238044,52.206582 -106.237483,52.203333 -106.236306,52.201486 -106.236018,52.200492 -106.235435,52.197605 -106.235187,52.195423 -106.235974,52.188811 -106.235927,52.188367 -106.236061,52.186616 -106.237043,52.182048 -106.243978,52.172302 -106.251000,52.167456 -106.253548,52.166071 -106.258995,52.163543 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-106.539971,51.686904 -106.340709,51.870470</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-106.537869,51.696428 -106.539971,51.699719 -106.539886,51.703260 -106.537627,51.706510 -106.536548,51.707367 -106.499230,51.733570 -106.497520,51.734482 -106.496839,51.734914 -106.489891,51.738027 -106.487873,51.739840 -106.487098,51.740536 -106.487071,51.740657 -106.487077,51.740754 -106.485396,51.751401 -106.483766,51.763771 -106.482888,51.772217 -106.482590,51.773543 -106.480955,51.776173 -106.474688,51.782899 -106.474055,51.783519 -106.473252,51.784174 -106.466085,51.789497 -106.462786,51.791306 -106.462317,51.791421 -106.462003,51.791598 -106.446949,51.796824 -106.434975,51.801539 -106.427735,51.806380 -106.419319,51.815791 -106.415250,51.822928 -106.414277,51.831165 -106.414182,51.831571 -106.414187,51.831703 -106.412129,51.841260 -106.411926,51.841981 -106.411217,51.843420 -106.408787,51.847196 -106.408601,51.849622 -106.408285,51.851114 -106.406007,51.854363 -106.402379,51.856534 -106.402080,51.858128 -106.401370,51.859567 -106.398029,51.864755 -106.396459,51.866566 -106.392343,51.869027 -106.387019,51.870326 -106.384138,51.870470 -106.381700,51.870442 -106.378859,51.870237 -106.373611,51.868824 -106.369636,51.866275 -106.367540,51.862979 -106.367419,51.860240 -106.368068,51.857022 -106.367094,51.854662 -106.367086,51.854365 -106.366872,51.854029 -106.366873,51.853018 -106.364916,51.851762 -106.362821,51.848466 -106.362922,51.844924 -106.363047,51.844747 -106.363057,51.844574 -106.363596,51.843288 -106.359954,51.844176 -106.354236,51.844113 -106.348992,51.842699 -106.346771,51.841744 -106.342801,51.839194 -106.340709,51.835898 -106.340812,51.832356 -106.343095,51.829108 -106.344091,51.828317 -106.350126,51.824033 -106.350259,51.823962 -106.350502,51.823776 -106.369132,51.811523 -106.391860,51.795919 -106.406784,51.784744 -106.406888,51.784687 -106.407155,51.784477 -106.413743,51.779915 -106.413791,51.778158 -106.416065,51.774909 -106.419780,51.772681 -106.420461,51.771708 -106.424565,51.769246 -106.427074,51.768631 -106.427588,51.767897 -106.431690,51.765435 -106.436999,51.764134 -106.437376,51.764138 -106.437570,51.764093 -106.436723,51.722228 -106.437052,51.720196 -106.439320,51.716948 -106.443417,51.714486 -106.448719,51.713184 -106.450853,51.713043 -106.463847,51.712776 -106.467412,51.712975 -106.472642,51.714382 -106.474701,51.715702 -106.476088,51.713426 -106.486682,51.701698 -106.487405,51.700978 -106.489883,51.699265 -106.509115,51.688959 -106.510728,51.688209 -106.516023,51.686904 -106.521719,51.686958 -106.526948,51.688362 -106.530155,51.690240 -106.537109,51.695764 -106.537869,51.696428 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-107.185795,52.005499 -107.045930,52.118109</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-107.080361,52.023012 -107.080944,52.022348 -107.084392,52.019603 -107.089092,52.016316 -107.097907,52.011589 -107.098328,52.011483 -107.098638,52.011298 -107.103974,52.009219 -107.119199,52.005499 -107.136427,52.005560 -107.139350,52.006319 -107.142246,52.006265 -107.145451,52.006525 -107.146792,52.006840 -107.148539,52.006845 -107.164423,52.010966 -107.176546,52.018522 -107.176941,52.019118 -107.177581,52.019534 -107.179119,52.021117 -107.179369,52.021519 -107.179719,52.021754 -107.180910,52.023057 -107.185795,52.031251 -107.185713,52.041884 -107.185440,52.042285 -107.185427,52.042687 -107.184141,52.046053 -107.177750,52.055055 -107.175043,52.056792 -107.174867,52.057180 -107.174502,52.057666 -107.173705,52.059380 -107.173531,52.059668 -107.173867,52.061764 -107.174169,52.062109 -107.178655,52.069854 -107.178630,52.080307 -107.176922,52.085652 -107.176863,52.085738 -107.176863,52.085834 -107.174142,52.091174 -107.171442,52.095031 -107.167476,52.099495 -107.155201,52.106977 -107.154943,52.107042 -107.154749,52.107159 -107.148948,52.109456 -107.148535,52.109558 -107.141998,52.111698 -107.133786,52.113800 -107.133441,52.113863 -107.133127,52.113964 -107.124159,52.116155 -107.116223,52.117581 -107.108310,52.118072 -107.102581,52.118109 -107.093217,52.117554 -107.085930,52.116222 -107.077463,52.114172 -107.068832,52.111371 -107.056700,52.103800 -107.053983,52.100881 -107.050572,52.096626 -107.046791,52.089692 -107.046001,52.084758 -107.045930,52.078664 -107.046127,52.077427 -107.046041,52.076528 -107.046889,52.069201 -107.047687,52.065637 -107.048368,52.064644 -107.048429,52.063759 -107.052147,52.055612 -107.052829,52.054707 -107.054119,52.052184 -107.054756,52.051275 -107.055441,52.048098 -107.055953,52.047271 -107.055965,52.046192 -107.057982,52.041939 -107.061105,52.036913 -107.065793,52.031370 -107.078061,52.023900 -107.078733,52.023732 -107.079215,52.023447 -107.080361,52.023012 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-108.566607,52.148834 -108.449374,52.241206</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-108.505004,52.150881 -108.510439,52.149433 -108.511073,52.149398 -108.512043,52.149140 -108.516530,52.149095 -108.521225,52.148834 -108.522282,52.148856 -108.524694,52.149014 -108.529332,52.148967 -108.545414,52.152875 -108.557846,52.160270 -108.564734,52.170028 -108.564870,52.170414 -108.564870,52.170414 -108.564936,52.172810 -108.565808,52.174570 -108.566607,52.182966 -108.565958,52.187091 -108.565943,52.187160 -108.565944,52.187178 -108.565488,52.189985 -108.564996,52.192139 -108.564801,52.192653 -108.564763,52.194835 -108.563853,52.197274 -108.562375,52.200540 -108.562283,52.200666 -108.562124,52.201074 -108.560520,52.204357 -108.558681,52.206807 -108.557466,52.209004 -108.554873,52.212095 -108.552731,52.214372 -108.548270,52.217939 -108.546728,52.218982 -108.546730,52.219043 -108.540366,52.228939 -108.530842,52.235428 -108.530393,52.235650 -108.529276,52.235976 -108.528317,52.236585 -108.528144,52.236631 -108.527868,52.236806 -108.511966,52.241036 -108.494636,52.241206 -108.485719,52.239600 -108.483410,52.239017 -108.476213,52.236706 -108.467247,52.232005 -108.465171,52.230583 -108.461697,52.227877 -108.460686,52.226441 -108.460321,52.226201 -108.458905,52.224490 -108.458745,52.224363 -108.458251,52.223712 -108.457275,52.223131 -108.450404,52.213364 -108.449420,52.208025 -108.449374,52.206012 -108.450096,52.200714 -108.452478,52.195603 -108.454181,52.192955 -108.458180,52.188177 -108.459828,52.186749 -108.459239,52.181477 -108.459408,52.180082 -108.459921,52.177628 -108.459903,52.176891 -108.462574,52.171337 -108.463353,52.170184 -108.467057,52.165849 -108.475358,52.159989 -108.477795,52.158698 -108.481181,52.157088 -108.481259,52.157038 -108.484224,52.155757 -108.484379,52.155716 -108.484499,52.155640 -108.487528,52.154869 -108.500369,52.151415 -108.501127,52.151407 -108.501771,52.151243 -108.505004,52.150881 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-107.448610,52.468687 -107.369386,52.508473</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-107.407897,52.468687 -107.413708,52.468691 -107.419074,52.470053 -107.422271,52.471819 -107.436255,52.482157 -107.436882,52.482672 -107.436949,52.482712 -107.443919,52.488751 -107.444306,52.488978 -107.446388,52.490495 -107.448610,52.493775 -107.448606,52.497324 -107.446377,52.500603 -107.442262,52.503111 -107.438426,52.504228 -107.417370,52.508230 -107.415831,52.508468 -107.410084,52.508473 -107.396015,52.506796 -107.395981,52.506788 -107.395944,52.506788 -107.390573,52.505424 -107.389594,52.504988 -107.374727,52.497768 -107.371601,52.495691 -107.369386,52.492409 -107.369397,52.488860 -107.370963,52.486253 -107.379953,52.476315 -107.380622,52.475646 -107.384738,52.473140 -107.388908,52.471964 -107.406693,52.468864 -107.407897,52.468687 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-107.106574,52.747565 -106.896520,52.877256</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-107.015910,52.748314 -107.015958,52.748314 -107.032132,52.752464 -107.032532,52.752710 -107.034381,52.752678 -107.034484,52.752664 -107.035091,52.752666 -107.042051,52.752546 -107.044125,52.752035 -107.050776,52.751569 -107.052789,52.751520 -107.060313,52.751891 -107.064971,52.751910 -107.081153,52.756052 -107.089018,52.760162 -107.089825,52.760693 -107.090659,52.761184 -107.096909,52.765760 -107.099968,52.769048 -107.102183,52.771867 -107.105749,52.778450 -107.106487,52.782039 -107.106574,52.782953 -107.105730,52.790019 -107.103495,52.794569 -107.102539,52.796035 -107.097947,52.801306 -107.093348,52.804535 -107.093231,52.804689 -107.091003,52.806514 -107.089937,52.807316 -107.079650,52.812978 -107.070149,52.815319 -107.069479,52.816349 -107.068706,52.817116 -107.068420,52.817295 -107.068318,52.817442 -107.067909,52.817686 -107.067545,52.818209 -107.055021,52.825694 -107.038718,52.829704 -107.021122,52.829627 -107.020542,52.829479 -107.016329,52.835512 -107.015845,52.835801 -107.015591,52.836151 -107.013938,52.837538 -107.015551,52.839946 -107.016101,52.842191 -107.016260,52.843097 -107.015578,52.851509 -107.008718,52.861325 -107.000044,52.867078 -106.998834,52.867680 -106.994959,52.869406 -106.987703,52.871185 -106.986964,52.871646 -106.985065,52.872481 -106.984135,52.872724 -106.983314,52.873213 -106.966984,52.877212 -106.950497,52.877256 -106.948785,52.877069 -106.948260,52.876939 -106.947653,52.876935 -106.931436,52.872771 -106.920481,52.866024 -106.918026,52.864910 -106.916519,52.864160 -106.907452,52.858040 -106.902104,52.851170 -106.900800,52.848627 -106.899561,52.845612 -106.899645,52.840080 -106.897279,52.835874 -106.896520,52.829837 -106.896659,52.827437 -106.897581,52.822816 -106.900796,52.816927 -106.902147,52.815157 -106.905814,52.811237 -106.911839,52.807581 -106.911899,52.803635 -106.918773,52.793826 -106.921482,52.791656 -106.922620,52.790833 -106.925421,52.789324 -106.928312,52.787393 -106.930284,52.786397 -106.934423,52.784538 -106.941218,52.782873 -106.942543,52.780213 -106.943102,52.779503 -106.943556,52.776792 -106.943585,52.774744 -106.947389,52.768096 -106.948565,52.766669 -106.951622,52.763506 -106.952657,52.762889 -106.953174,52.762207 -106.955370,52.760477 -106.959294,52.758270 -106.963736,52.755424 -106.966747,52.754030 -106.968082,52.753668 -106.969352,52.752910 -106.977347,52.750381 -106.980739,52.749558 -106.987192,52.748413 -106.987947,52.748221 -106.991940,52.747697 -106.992481,52.747696 -106.993016,52.747565 -107.010482,52.747635 -107.015866,52.748303 -107.015910,52.748314 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-108.417371,53.431065 -108.229376,53.562986</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-108.417110,53.455593 -108.417371,53.466268 -108.414904,53.469974 -108.414936,53.471265 -108.411538,53.476950 -108.411233,53.478346 -108.409965,53.480608 -108.410048,53.484025 -108.409997,53.484101 -108.409999,53.484182 -108.409771,53.484898 -108.409699,53.485560 -108.410570,53.490212 -108.410565,53.490291 -108.410623,53.490511 -108.411159,53.493687 -108.411071,53.494961 -108.411383,53.496861 -108.411327,53.498967 -108.412074,53.506482 -108.411398,53.513052 -108.410811,53.513932 -108.410788,53.514730 -108.408183,53.520951 -108.407378,53.522055 -108.405810,53.525140 -108.402846,53.529243 -108.399210,53.533299 -108.386716,53.540956 -108.383383,53.542202 -108.376008,53.544702 -108.375427,53.544833 -108.375162,53.544926 -108.375126,53.544952 -108.373761,53.545689 -108.372179,53.546841 -108.367171,53.549760 -108.361080,53.552746 -108.360404,53.552919 -108.355382,53.555993 -108.351421,53.557445 -108.346000,53.559214 -108.340743,53.560376 -108.336904,53.561465 -108.331966,53.562331 -108.330368,53.562380 -108.328546,53.562846 -108.310609,53.562986 -108.306259,53.562374 -108.304365,53.562048 -108.300631,53.561550 -108.299978,53.561386 -108.295545,53.560685 -108.288355,53.559190 -108.287535,53.558951 -108.286373,53.558959 -108.277019,53.557126 -108.276427,53.557091 -108.261472,53.553752 -108.258706,53.552779 -108.258007,53.552390 -108.257009,53.552152 -108.244179,53.544692 -108.241304,53.541836 -108.239605,53.539887 -108.235425,53.532927 -108.234823,53.527335 -108.232832,53.524476 -108.230314,53.519638 -108.229376,53.512696 -108.229597,53.509906 -108.230326,53.506171 -108.231319,53.503663 -108.232968,53.500229 -108.232928,53.498158 -108.237587,53.490259 -108.239898,53.487686 -108.241895,53.485673 -108.254321,53.478066 -108.258538,53.476333 -108.258583,53.476322 -108.258617,53.476301 -108.271940,53.472894 -108.275859,53.471654 -108.279204,53.470871 -108.286450,53.469574 -108.303832,53.469443 -108.304442,53.469287 -108.305521,53.466639 -108.305554,53.466574 -108.305827,53.465293 -108.309936,53.458002 -108.311068,53.456658 -108.313590,53.454033 -108.314325,53.453582 -108.315541,53.452118 -108.318168,53.449368 -108.319936,53.448205 -108.321794,53.445425 -108.326981,53.441496 -108.329610,53.439841 -108.336898,53.436122 -108.353321,53.431904 -108.357682,53.431479 -108.363769,53.431065 -108.377282,53.431342 -108.384959,53.432608 -108.387362,53.433142 -108.396297,53.435822 -108.409121,53.443262 -108.416204,53.453065 -108.417110,53.455593 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-110.123681,52.578113 -109.582542,52.869639</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-109.985931,52.718310 -109.972855,52.728642 -109.928412,52.753313 -109.902099,52.773313 -109.889969,52.789306 -109.891824,52.791756 -109.893043,52.798688 -109.891450,52.842940 -109.890894,52.846658 -109.884775,52.856652 -109.872798,52.864467 -109.856788,52.868911 -109.844967,52.869639 -109.819627,52.869167 -109.813846,52.868833 -109.797338,52.865115 -109.784442,52.857855 -109.777123,52.848161 -109.775938,52.840924 -109.777239,52.818247 -109.773034,52.818338 -109.762962,52.816604 -109.749417,52.813197 -109.743008,52.811207 -109.741661,52.810446 -109.740274,52.810097 -109.732004,52.806468 -109.728791,52.808203 -109.726391,52.809370 -109.726186,52.809508 -109.709511,52.817233 -109.708938,52.817397 -109.708471,52.817700 -109.692462,52.822119 -109.675655,52.822559 -109.652469,52.820512 -109.652101,52.820431 -109.651692,52.820439 -109.635221,52.816696 -109.630042,52.814426 -109.609794,52.804146 -109.602129,52.799136 -109.594866,52.789431 -109.590364,52.777741 -109.589783,52.767090 -109.589927,52.766858 -109.589918,52.766621 -109.590755,52.763841 -109.588968,52.761730 -109.585177,52.755465 -109.584405,52.752916 -109.582542,52.744551 -109.582736,52.736451 -109.585284,52.730860 -109.592494,52.719777 -109.595295,52.714682 -109.599752,52.708918 -109.603897,52.706149 -109.603728,52.703072 -109.603745,52.703044 -109.603744,52.703015 -109.604701,52.699527 -109.605218,52.692287 -109.604085,52.681616 -109.604588,52.675424 -109.610751,52.665452 -109.622719,52.657671 -109.628929,52.655398 -109.639216,52.652290 -109.648954,52.650156 -109.653562,52.650060 -109.679517,52.640027 -109.707150,52.623441 -109.721629,52.615808 -109.748768,52.602311 -109.789431,52.587360 -109.815169,52.583139 -109.848715,52.579802 -109.898672,52.578113 -109.943471,52.580186 -109.971790,52.584649 -109.980989,52.588337 -109.981236,52.588301 -109.987060,52.588162 -109.987615,52.588286 -109.988101,52.588285 -109.992434,52.588897 -109.996863,52.590002 -110.001144,52.592412 -110.001216,52.592506 -110.001333,52.592573 -110.001941,52.593107 -110.006046,52.593068 -110.011516,52.594295 -110.013505,52.595182 -110.015660,52.596320 -110.017954,52.597842 -110.020398,52.601066 -110.020485,52.602407 -110.021146,52.603355 -110.046356,52.615711 -110.064583,52.630236 -110.082470,52.641774 -110.095106,52.650542 -110.111414,52.664335 -110.121847,52.677981 -110.123681,52.688846 -110.118482,52.696697 -110.107796,52.703330 -110.080626,52.708334 -110.057035,52.709769 -110.032843,52.711793 -109.998411,52.715305 -109.985931,52.718310 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-110.112116,54.728707 -109.459501,55.139600</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-110.055384,55.116408 -110.048928,55.126469 -110.036239,55.134348 -110.019249,55.138843 -110.007147,55.139600 -109.814111,55.137382 -109.807514,55.137038 -109.789976,55.133298 -109.776277,55.125996 -109.768503,55.116245 -109.767217,55.109952 -109.767106,55.050891 -109.509011,55.050212 -109.501488,55.049841 -109.484023,55.046053 -109.470419,55.038714 -109.462745,55.028944 -109.461518,55.023117 -109.459501,54.935777 -109.460147,54.930891 -109.466731,54.920869 -109.479468,54.913059 -109.489702,54.910397 -109.497197,54.903471 -109.503851,54.899336 -109.506815,54.894987 -109.506389,54.892423 -109.506816,54.885303 -109.511687,54.876976 -109.521625,54.866123 -109.522647,54.865447 -109.523316,54.864425 -109.536021,54.856610 -109.541014,54.855307 -109.542885,54.852912 -109.552154,54.846654 -109.569548,54.837966 -109.572975,54.836407 -109.589879,54.831983 -109.591241,54.831957 -109.592329,54.831692 -109.612389,54.829621 -109.612950,54.829619 -109.615767,54.829343 -109.624354,54.828819 -109.637073,54.829028 -109.648524,54.831507 -109.650820,54.830343 -109.651477,54.830171 -109.651941,54.829892 -109.671878,54.822110 -109.673505,54.821699 -109.681207,54.819280 -109.709408,54.812909 -109.715842,54.811750 -109.729839,54.811076 -109.740959,54.811493 -109.738224,54.808777 -109.735953,54.805910 -109.732915,54.800792 -109.732261,54.790086 -109.738745,54.780051 -109.751375,54.772212 -109.768229,54.767762 -109.772391,54.767193 -109.790905,54.766807 -109.801039,54.768436 -109.821687,54.773229 -109.828919,54.775336 -109.829814,54.775817 -109.830814,54.776048 -109.843939,54.781235 -109.855627,54.787812 -109.855984,54.788262 -109.856009,54.788276 -109.860522,54.790000 -109.863066,54.789945 -109.870942,54.791634 -109.885535,54.781116 -109.887638,54.779958 -109.889675,54.778497 -109.904877,54.770044 -109.909936,54.767597 -109.926768,54.763123 -109.927784,54.763101 -109.928623,54.762890 -109.953932,54.760000 -109.963405,54.758687 -109.963698,54.758681 -109.965890,54.757371 -109.989014,54.739427 -109.999167,54.733621 -110.015973,54.729134 -110.034465,54.728707 -110.041789,54.729725 -110.057291,54.732649 -110.067339,54.735327 -110.078873,54.741055 -110.087371,54.746883 -110.099951,54.754699 -110.103565,54.757232 -110.111352,54.766951 -110.112116,54.777654 -110.106691,54.786763 -110.104699,54.788831 -110.104926,54.792018 -110.098540,54.802075 -110.089952,54.810200 -110.079870,54.823454 -110.076916,54.826721 -110.075653,54.827512 -110.075074,54.828331 -110.052729,54.846440 -110.055965,55.111946 -110.055384,55.116408 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-103.986327,53.427315 -103.285587,53.717753</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-103.337355,53.717753 -103.319382,53.717055 -103.303231,53.712327 -103.291364,53.704292 -103.285587,53.694174 -103.286776,53.683514 -103.293028,53.675352 -103.316620,53.654475 -103.336789,53.635050 -103.342741,53.623558 -103.340733,53.599809 -103.342240,53.591356 -103.342904,53.590554 -103.343025,53.589798 -103.358911,53.561349 -103.366050,53.553327 -103.367373,53.552636 -103.368060,53.551872 -103.403214,53.528113 -103.403593,53.527928 -103.404854,53.527060 -103.431253,53.510978 -103.434183,53.509620 -103.436673,53.508154 -103.457066,53.499104 -103.484308,53.485647 -103.490543,53.483053 -103.502494,53.480162 -103.513839,53.478474 -103.518269,53.477968 -103.521309,53.476734 -103.522701,53.476416 -103.524062,53.475699 -103.540989,53.472235 -103.558850,53.472895 -103.559404,53.473057 -103.559978,53.473082 -103.571355,53.475060 -103.584004,53.476952 -103.584257,53.477025 -103.584546,53.477035 -103.600631,53.481717 -103.612494,53.489714 -103.615768,53.493807 -103.621877,53.503416 -103.624437,53.509419 -103.624858,53.513035 -103.624881,53.517474 -103.630385,53.513942 -103.665287,53.495546 -103.672536,53.492416 -103.689457,53.488928 -103.713766,53.486932 -103.721538,53.487207 -103.724374,53.484459 -103.726872,53.482281 -103.740253,53.475190 -103.751574,53.472366 -103.784336,53.467119 -103.786346,53.463300 -103.793513,53.454997 -103.806872,53.447898 -103.811534,53.446470 -103.837293,53.439657 -103.849516,53.437573 -103.855194,53.437311 -103.886386,53.437030 -103.887492,53.437108 -103.899250,53.430839 -103.916123,53.427315 -103.933969,53.427913 -103.935603,53.428382 -103.937085,53.428463 -103.950757,53.431197 -103.963751,53.435273 -103.975676,53.443228 -103.981196,53.451883 -103.985925,53.466263 -103.985892,53.466943 -103.986327,53.467682 -103.985342,53.478343 -103.977591,53.487967 -103.964250,53.495088 -103.947351,53.498620 -103.945874,53.498571 -103.944672,53.498799 -103.922946,53.499859 -103.913222,53.500384 -103.894300,53.511045 -103.885287,53.520791 -103.881747,53.524048 -103.868376,53.531158 -103.862959,53.532781 -103.844467,53.537436 -103.832958,53.539328 -103.832463,53.539369 -103.831904,53.539727 -103.822908,53.554838 -103.816270,53.562181 -103.809385,53.566526 -103.796534,53.573037 -103.790019,53.575793 -103.773068,53.579298 -103.760650,53.580323 -103.760721,53.580867 -103.761318,53.600264 -103.759838,53.607669 -103.756738,53.612678 -103.742497,53.630186 -103.737758,53.634787 -103.726463,53.641087 -103.696468,53.652878 -103.695356,53.653127 -103.694324,53.653671 -103.690041,53.654986 -103.656749,53.663922 -103.656398,53.663982 -103.655588,53.664222 -103.637007,53.668842 -103.625448,53.670713 -103.607445,53.672170 -103.603384,53.672498 -103.598948,53.673991 -103.582423,53.677301 -103.571777,53.677196 -103.569092,53.678604 -103.555849,53.681677 -103.540585,53.683680 -103.536811,53.684078 -103.518850,53.683413 -103.510423,53.681550 -103.500906,53.678790 -103.491509,53.680701 -103.490261,53.680654 -103.489219,53.680849 -103.464463,53.682076 -103.454024,53.682905 -103.446987,53.682640 -103.445950,53.686837 -103.444888,53.689903 -103.436956,53.699493 -103.423439,53.706551 -103.418730,53.707963 -103.401386,53.712441 -103.389049,53.714475 -103.387349,53.714410 -103.385992,53.714655 -103.368035,53.715350 -103.337355,53.717753 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-102.955696,54.277341 -102.605236,54.449250</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-102.623554,54.354207 -102.624339,54.348221 -102.627212,54.343759 -102.629423,54.341063 -102.632014,54.338627 -102.632859,54.337560 -102.637218,54.333789 -102.638344,54.333182 -102.639188,54.332208 -102.653081,54.325240 -102.670475,54.321906 -102.677643,54.322224 -102.681375,54.320696 -102.695369,54.318010 -102.695826,54.317753 -102.703091,54.314696 -102.705582,54.313765 -102.707363,54.312625 -102.712680,54.309706 -102.721727,54.305816 -102.723260,54.305521 -102.724318,54.305021 -102.737367,54.301318 -102.739932,54.300875 -102.750752,54.295426 -102.764480,54.292425 -102.778672,54.290733 -102.781924,54.289248 -102.787676,54.287000 -102.796873,54.285224 -102.798570,54.284368 -102.815932,54.281011 -102.831619,54.281428 -102.833795,54.281704 -102.836482,54.280703 -102.853840,54.277341 -102.865764,54.277369 -102.874995,54.278083 -102.881305,54.278832 -102.882381,54.279148 -102.884448,54.279321 -102.890245,54.280028 -102.906590,54.284825 -102.907696,54.285573 -102.910478,54.286389 -102.922448,54.294478 -102.925204,54.297819 -102.928074,54.301999 -102.931090,54.308811 -102.931013,54.309835 -102.938846,54.315688 -102.941355,54.319739 -102.943331,54.321056 -102.946350,54.324069 -102.946443,54.324228 -102.946636,54.324359 -102.952419,54.334512 -102.952784,54.338138 -102.952759,54.340061 -102.954765,54.343582 -102.955696,54.347905 -102.954391,54.358578 -102.952562,54.361716 -102.947422,54.369047 -102.945764,54.373413 -102.945293,54.373998 -102.945203,54.374736 -102.938213,54.383348 -102.934512,54.386392 -102.933786,54.386776 -102.933294,54.387349 -102.919431,54.394355 -102.918591,54.394517 -102.910804,54.398451 -102.904536,54.400187 -102.900002,54.401210 -102.888861,54.402846 -102.884084,54.402644 -102.883461,54.402991 -102.877999,54.405237 -102.874139,54.406665 -102.873022,54.406881 -102.869968,54.409757 -102.864086,54.413415 -102.858376,54.416371 -102.850373,54.419710 -102.832949,54.423073 -102.828931,54.422953 -102.825534,54.423608 -102.821283,54.423801 -102.818964,54.423844 -102.818784,54.424034 -102.814725,54.427613 -102.807967,54.431707 -102.799709,54.435766 -102.792565,54.438664 -102.775127,54.442018 -102.770248,54.441824 -102.765351,54.442966 -102.759198,54.443868 -102.753448,54.444492 -102.749192,54.444307 -102.743901,54.445721 -102.741286,54.446152 -102.736871,54.447217 -102.729202,54.448456 -102.722334,54.449250 -102.704018,54.448447 -102.693160,54.445794 -102.684636,54.442932 -102.681595,54.441736 -102.674857,54.439828 -102.667898,54.436855 -102.667407,54.436532 -102.666689,54.436320 -102.662143,54.433950 -102.657624,54.431266 -102.650211,54.425515 -102.645652,54.418915 -102.644657,54.416667 -102.642311,54.416127 -102.634282,54.413689 -102.631408,54.412608 -102.625359,54.410820 -102.613417,54.402695 -102.613071,54.402079 -102.612444,54.401633 -102.610367,54.399238 -102.605640,54.390128 -102.605314,54.387402 -102.605236,54.385098 -102.606968,54.377154 -102.615259,54.367610 -102.616023,54.367227 -102.616448,54.366761 -102.621225,54.363487 -102.622051,54.361593 -102.622358,54.359287 -102.622731,54.358056 -102.622752,54.357284 -102.623554,54.354207 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-108.463721,55.464012 -108.208449,55.646253</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-108.365833,55.465471 -108.369023,55.464691 -108.373376,55.464163 -108.392258,55.464012 -108.409807,55.467976 -108.423356,55.475451 -108.425241,55.477308 -108.437860,55.484265 -108.441474,55.487766 -108.443681,55.490319 -108.447560,55.496668 -108.447734,55.503230 -108.451613,55.509576 -108.452585,55.517185 -108.451797,55.523865 -108.451112,55.526985 -108.448935,55.531506 -108.448548,55.532104 -108.448444,55.534433 -108.447665,55.538692 -108.447422,55.539264 -108.450621,55.541025 -108.452768,55.542955 -108.458068,55.548188 -108.463431,55.556108 -108.463721,55.566838 -108.460380,55.571615 -108.461634,55.573260 -108.461664,55.574354 -108.462240,55.575190 -108.463037,55.578386 -108.462721,55.587186 -108.458805,55.594049 -108.455943,55.597455 -108.454726,55.598689 -108.454734,55.598976 -108.447745,55.608952 -108.434539,55.616654 -108.429274,55.618443 -108.428283,55.618733 -108.423500,55.621520 -108.419372,55.622874 -108.416644,55.624580 -108.408837,55.628112 -108.407409,55.628495 -108.406068,55.629276 -108.399781,55.631005 -108.396271,55.633048 -108.381338,55.636688 -108.377667,55.638824 -108.360237,55.643068 -108.352283,55.644026 -108.338362,55.645703 -108.325259,55.646253 -108.317677,55.645989 -108.311802,55.645580 -108.294177,55.641600 -108.282008,55.635213 -108.281106,55.634544 -108.267800,55.634637 -108.250185,55.630650 -108.249290,55.630155 -108.248277,55.629910 -108.245254,55.628677 -108.242037,55.627611 -108.241231,55.627187 -108.240069,55.626923 -108.226501,55.619424 -108.221509,55.614147 -108.218892,55.610464 -108.218437,55.609619 -108.218036,55.609168 -108.214833,55.603910 -108.213223,55.600616 -108.213029,55.590991 -108.209621,55.586476 -108.208806,55.583469 -108.208449,55.581397 -108.209050,55.573673 -108.214277,55.566286 -108.215020,55.560756 -108.213662,55.558021 -108.213595,55.557176 -108.212891,55.556243 -108.211636,55.552868 -108.211421,55.542138 -108.218462,55.532178 -108.222060,55.529436 -108.225043,55.527434 -108.234666,55.522501 -108.252053,55.518278 -108.259872,55.517987 -108.260836,55.517753 -108.261595,55.513336 -108.268616,55.503373 -108.273307,55.500645 -108.275800,55.497105 -108.278965,55.494651 -108.280610,55.493513 -108.285195,55.491124 -108.287879,55.489446 -108.291264,55.487915 -108.293040,55.485630 -108.306228,55.477948 -108.316501,55.474895 -108.319745,55.474198 -108.319747,55.474197 -108.324820,55.471239 -108.337511,55.467705 -108.345258,55.466298 -108.349918,55.465594 -108.365833,55.465471 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-105.354608,51.260989 -105.102574,51.472841</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-105.330897,51.352885 -105.330685,51.408960 -105.329537,51.415104 -105.322512,51.424765 -105.310104,51.432009 -105.307257,51.432676 -105.307234,51.445406 -105.306082,51.451594 -105.299044,51.461255 -105.286620,51.468497 -105.270701,51.472216 -105.263903,51.472570 -105.146223,51.472841 -105.136037,51.472104 -105.120587,51.467681 -105.109028,51.459900 -105.103118,51.449949 -105.102574,51.445315 -105.102865,51.430373 -105.104046,51.424400 -105.111124,51.414754 -105.114748,51.412110 -105.114884,51.410078 -105.116028,51.404920 -105.123100,51.395274 -105.126326,51.393400 -105.126377,51.373509 -105.126389,51.373441 -105.126378,51.373346 -105.126529,51.360850 -105.127706,51.354763 -105.134766,51.345117 -105.140453,51.341809 -105.140204,51.341389 -105.139674,51.337914 -105.138868,51.321598 -105.140023,51.314470 -105.147073,51.304825 -105.148059,51.304250 -105.148569,51.303601 -105.156696,51.297333 -105.157611,51.296830 -105.160519,51.294747 -105.161285,51.294291 -105.162560,51.288534 -105.163319,51.285996 -105.170358,51.276350 -105.182744,51.269126 -105.183219,51.269015 -105.183574,51.268813 -105.194678,51.264726 -105.209691,51.261335 -105.217322,51.260989 -105.233622,51.261153 -105.242889,51.261876 -105.258272,51.266278 -105.267479,51.272472 -105.286931,51.272261 -105.287804,51.272320 -105.289019,51.272270 -105.312334,51.272716 -105.320926,51.273422 -105.336323,51.277812 -105.347874,51.285563 -105.353820,51.295495 -105.354393,51.299776 -105.354608,51.328909 -105.353466,51.335231 -105.346460,51.344892 -105.334081,51.352138 -105.330897,51.352885 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-104.547777,51.749188 -103.907641,52.017144</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-104.523337,51.793882 -104.523410,51.793997 -104.523649,51.794552 -104.523762,51.794729 -104.526418,51.802625 -104.535775,51.807037 -104.535841,51.807083 -104.536791,51.807617 -104.538629,51.808887 -104.539451,51.809575 -104.539846,51.810040 -104.540547,51.810995 -104.540648,51.811206 -104.540853,51.811485 -104.547074,51.823477 -104.547175,51.823742 -104.547232,51.823830 -104.547502,51.824540 -104.547613,51.824899 -104.547677,51.825257 -104.547759,51.825975 -104.547747,51.826066 -104.547777,51.826335 -104.547614,51.838077 -104.547552,51.838381 -104.547556,51.838606 -104.547342,51.839658 -104.547185,51.840179 -104.546705,51.841018 -104.545490,51.842621 -104.544755,51.843386 -104.543793,51.844047 -104.541679,51.845240 -104.540528,51.845772 -104.539231,51.846155 -104.536541,51.846756 -104.535148,51.846974 -104.533731,51.847021 -104.530909,51.846944 -104.529538,51.846821 -104.529504,51.846820 -104.524014,51.845995 -104.518695,51.849442 -104.515398,51.865728 -104.515333,51.865946 -104.515332,51.865993 -104.515173,51.866521 -104.515092,51.866637 -104.515081,51.866784 -104.514886,51.867189 -104.514435,51.867987 -104.514335,51.868104 -104.514180,51.868379 -104.506889,51.878230 -104.506641,51.878490 -104.506539,51.878645 -104.505772,51.879450 -104.505354,51.879840 -104.505284,51.879889 -104.505239,51.879934 -104.505165,51.879976 -104.505124,51.880028 -104.496517,51.886863 -104.493807,51.893883 -104.496198,51.903072 -104.496197,51.903095 -104.496210,51.903118 -104.496212,51.903141 -104.496222,51.903165 -104.496295,51.904054 -104.496160,51.905823 -104.495952,51.906704 -104.495470,51.907542 -104.494251,51.909145 -104.493513,51.909910 -104.492549,51.910570 -104.490430,51.911763 -104.489276,51.912294 -104.488711,51.912484 -104.487557,51.912833 -104.487380,51.912867 -104.486967,51.912992 -104.483855,51.913730 -104.482954,51.919799 -104.482884,51.920058 -104.482882,51.920142 -104.482696,51.920822 -104.482597,51.920966 -104.482582,51.921160 -104.482291,51.921724 -104.481591,51.922825 -104.481360,51.923084 -104.481184,51.923362 -104.472198,51.933411 -104.471990,51.933612 -104.471951,51.933667 -104.471430,51.934169 -104.471270,51.934265 -104.471156,51.934415 -104.470359,51.934977 -104.468627,51.936014 -104.467932,51.936345 -104.467691,51.936489 -104.463924,51.938097 -104.460906,51.945866 -104.460893,51.945883 -104.460891,51.945903 -104.460881,51.945920 -104.460877,51.945939 -104.460439,51.946717 -104.459345,51.948210 -104.458765,51.948819 -104.458687,51.948925 -104.452512,51.954420 -104.447059,51.963129 -104.443626,51.972600 -104.442080,51.980226 -104.455127,51.991571 -104.455222,51.991717 -104.455434,51.991861 -104.455519,51.991966 -104.455741,51.992150 -104.456360,51.992955 -104.457330,51.994622 -104.457683,51.995485 -104.457756,51.996375 -104.457619,51.998145 -104.457409,51.999025 -104.456925,51.999864 -104.455701,52.001467 -104.454962,52.002231 -104.453994,52.002892 -104.451870,52.004084 -104.450712,52.004615 -104.450468,52.004669 -104.450302,52.004756 -104.449467,52.005023 -104.449380,52.005040 -104.449043,52.005148 -104.430859,52.010070 -104.430398,52.010152 -104.429943,52.010274 -104.428075,52.010607 -104.427123,52.010735 -104.426231,52.010783 -104.424444,52.010812 -104.424042,52.010785 -104.423548,52.010793 -104.416220,52.010360 -104.410805,52.010941 -104.396299,52.014880 -104.395841,52.014962 -104.395377,52.015086 -104.393497,52.015421 -104.392539,52.015550 -104.391919,52.015590 -104.390675,52.015638 -104.390503,52.015629 -104.390051,52.015646 -104.381502,52.015531 -104.373591,52.015923 -104.365491,52.016993 -104.365274,52.016990 -104.365031,52.017044 -104.364858,52.017051 -104.364571,52.017095 -104.363437,52.017144 -104.361172,52.017134 -104.360439,52.017077 -104.360039,52.017075 -104.348722,52.015934 -104.348457,52.015900 -104.348420,52.015899 -104.347817,52.015822 -104.347682,52.015785 -104.347516,52.015780 -104.346821,52.015650 -104.345454,52.015347 -104.345238,52.015276 -104.344783,52.015175 -104.327927,52.010234 -104.327514,52.010081 -104.327295,52.010024 -104.326791,52.009838 -104.326718,52.009807 -104.326470,52.009742 -104.311278,52.003908 -104.311057,52.003816 -104.311025,52.003807 -104.310524,52.003596 -104.310425,52.003531 -104.310278,52.003488 -104.309210,52.002889 -104.307284,52.001575 -104.306425,52.000860 -104.305896,52.000195 -104.305018,51.998823 -104.304798,51.998313 -104.304670,51.998114 -104.300189,51.985292 -104.300191,51.985226 -104.300139,51.985142 -104.296706,51.974446 -104.293192,51.972248 -104.284390,51.973331 -104.284214,51.973329 -104.284023,51.973371 -104.283875,51.973376 -104.283655,51.973410 -104.282216,51.973452 -104.279350,51.973363 -104.277925,51.973231 -104.277110,51.973073 -104.275517,51.972699 -104.275202,51.972592 -104.274738,51.972484 -104.264337,51.969145 -104.263965,51.969001 -104.263826,51.968964 -104.262828,51.968578 -104.262341,51.968373 -104.261275,51.967774 -104.259352,51.966459 -104.258496,51.965743 -104.258488,51.965733 -104.258479,51.965725 -104.258473,51.965715 -104.258462,51.965708 -104.248724,51.955526 -104.243116,51.950855 -104.242352,51.950786 -104.242268,51.950783 -104.240949,51.950588 -104.235537,51.950212 -104.233677,51.950380 -104.232238,51.950421 -104.229374,51.950331 -104.228082,51.950210 -104.227953,51.950740 -104.227465,51.951578 -104.226233,51.953178 -104.225490,51.953940 -104.225028,51.954286 -104.224053,51.954947 -104.223863,51.955043 -104.223538,51.955263 -104.222412,51.955890 -104.222025,51.956066 -104.221856,51.956170 -104.220703,51.956695 -104.220105,51.956940 -104.218801,51.957319 -104.216099,51.957912 -104.214701,51.958126 -104.213261,51.958168 -104.210397,51.958077 -104.209985,51.958038 -104.208535,51.958905 -104.207884,51.959214 -104.207623,51.959369 -104.204539,51.960696 -104.204317,51.960751 -104.204101,51.960871 -104.203936,51.960921 -104.203663,51.961046 -104.202359,51.961424 -104.199656,51.962017 -104.198257,51.962231 -104.198093,51.962226 -104.197954,51.962254 -104.197346,51.962293 -104.197310,51.962291 -104.197041,51.962308 -104.191990,51.962500 -104.191594,51.962477 -104.190854,51.962489 -104.188597,51.962358 -104.187477,51.962239 -104.186122,51.961937 -104.184834,51.961558 -104.185055,51.962111 -104.185122,51.963000 -104.184973,51.964769 -104.184758,51.965649 -104.184547,51.966073 -104.184061,51.966906 -104.183949,51.967036 -104.183785,51.967315 -104.182484,51.969006 -104.182235,51.969262 -104.182141,51.969401 -104.181393,51.970168 -104.180989,51.970539 -104.180018,51.971197 -104.177886,51.972383 -104.176726,51.972912 -104.175421,51.973290 -104.172717,51.973882 -104.171318,51.974095 -104.169878,51.974136 -104.167012,51.974044 -104.165587,51.973910 -104.164232,51.973608 -104.161642,51.972845 -104.160408,51.972385 -104.159911,51.972134 -104.158954,51.971607 -104.158837,51.971519 -104.158494,51.971330 -104.156587,51.970077 -104.154958,51.969528 -104.154615,51.969392 -104.154509,51.969364 -104.153632,51.969016 -104.153299,51.968804 -104.152859,51.968664 -104.152189,51.968314 -104.152138,51.968277 -104.151862,51.968133 -104.150508,51.967337 -104.145936,51.970662 -104.145682,51.970795 -104.145078,51.971191 -104.143231,51.972155 -104.142243,51.972589 -104.142080,51.972637 -104.141661,51.973224 -104.141411,51.973489 -104.141282,51.973683 -104.140956,51.974028 -104.140886,51.974093 -104.140732,51.974318 -104.137293,51.977774 -104.137130,51.977922 -104.137112,51.977946 -104.136738,51.978287 -104.136622,51.978354 -104.136545,51.978455 -104.135572,51.979112 -104.133439,51.980297 -104.132278,51.980825 -104.131585,51.981049 -104.130165,51.981451 -104.129885,51.981502 -104.129438,51.981629 -104.121185,51.983336 -104.120539,51.984172 -104.119793,51.984934 -104.118820,51.985591 -104.116686,51.986776 -104.115525,51.987303 -104.114219,51.987681 -104.111513,51.988271 -104.110112,51.988484 -104.108672,51.988524 -104.105806,51.988430 -104.104380,51.988296 -104.103025,51.987992 -104.100435,51.987228 -104.099202,51.986767 -104.099095,51.986707 -104.098906,51.986684 -104.097550,51.986381 -104.095096,51.985656 -104.094439,51.985649 -104.093625,51.985581 -104.093262,51.985577 -104.090645,51.985285 -104.090426,51.985226 -104.090135,51.985216 -104.089961,51.985180 -104.089626,51.985148 -104.088270,51.984844 -104.085681,51.984080 -104.084448,51.983619 -104.083384,51.983018 -104.081466,51.981700 -104.080613,51.980982 -104.080002,51.980176 -104.079048,51.978505 -104.078772,51.977812 -104.078737,51.977771 -104.078640,51.977636 -104.078224,51.977556 -104.076760,51.977219 -104.076504,51.977133 -104.076042,51.977027 -104.070095,51.975194 -104.069698,51.975043 -104.069517,51.974995 -104.068393,51.974567 -104.068145,51.974463 -104.068143,51.974463 -104.066719,51.974328 -104.066674,51.974318 -104.066632,51.974314 -104.066590,51.974301 -104.066545,51.974300 -104.060361,51.973274 -104.060285,51.973251 -104.059053,51.972972 -104.056552,51.972221 -104.055360,51.971771 -104.055233,51.971700 -104.055128,51.971660 -104.055023,51.971587 -104.054896,51.971548 -104.050302,51.969239 -104.047850,51.968454 -104.046907,51.968364 -104.046204,51.968276 -104.045239,51.968078 -104.043361,51.967603 -104.042878,51.967434 -104.042448,51.967325 -104.031332,51.963324 -104.031038,51.963204 -104.030971,51.963185 -104.030262,51.962895 -104.030125,51.962806 -104.029915,51.962743 -104.029794,51.962675 -104.029692,51.962636 -104.029591,51.962566 -104.029469,51.962529 -104.017464,51.956507 -104.017313,51.956398 -104.016532,51.955947 -104.014840,51.954735 -104.014082,51.954083 -104.013963,51.953926 -104.013866,51.953842 -104.013785,51.953699 -104.013651,51.953601 -104.008016,51.946808 -104.003115,51.941829 -104.001102,51.940895 -104.001057,51.940870 -104.000093,51.942311 -103.999851,51.942574 -103.999687,51.942824 -103.998774,51.943814 -103.998266,51.944291 -103.997511,51.944822 -103.995876,51.945804 -103.995278,51.946086 -103.994996,51.946255 -103.980543,51.952566 -103.975794,51.955101 -103.975417,51.955268 -103.975279,51.955352 -103.974214,51.955825 -103.973665,51.956047 -103.972358,51.956422 -103.969652,51.957009 -103.968252,51.957220 -103.966813,51.957258 -103.963949,51.957160 -103.962526,51.957023 -103.961506,51.956811 -103.959528,51.956297 -103.958972,51.956099 -103.958570,51.955995 -103.953463,51.954082 -103.953203,51.953974 -103.953154,51.953960 -103.952548,51.953707 -103.952429,51.953628 -103.952250,51.953575 -103.951189,51.952973 -103.949277,51.951652 -103.948426,51.950934 -103.947819,51.950127 -103.946871,51.948455 -103.946530,51.947590 -103.946548,51.947390 -103.946472,51.947236 -103.946400,51.946527 -103.946414,51.946439 -103.946387,51.946172 -103.946405,51.945458 -103.945196,51.945015 -103.945070,51.944944 -103.944965,51.944903 -103.944860,51.944831 -103.944734,51.944791 -103.940734,51.942773 -103.939694,51.942517 -103.939278,51.942373 -103.938812,51.942257 -103.937112,51.941667 -103.936293,51.941337 -103.935410,51.940852 -103.933780,51.939803 -103.933284,51.939399 -103.933033,51.939238 -103.926632,51.933505 -103.926546,51.933367 -103.926352,51.933233 -103.926272,51.933131 -103.926071,51.932962 -103.925738,51.932569 -103.925134,51.931767 -103.925066,51.931626 -103.924863,51.931356 -103.921745,51.925866 -103.917288,51.920977 -103.917246,51.920900 -103.916731,51.920205 -103.916563,51.919898 -103.916007,51.918991 -103.915767,51.918414 -103.915665,51.918246 -103.912547,51.908294 -103.912552,51.908184 -103.912485,51.908065 -103.912477,51.907972 -103.912423,51.907835 -103.912351,51.907176 -103.912363,51.905857 -103.912444,51.905470 -103.912447,51.905198 -103.914428,51.897161 -103.914492,51.896969 -103.914493,51.896935 -103.914642,51.896484 -103.914783,51.896292 -103.914810,51.896076 -103.914990,51.895708 -103.915007,51.895687 -103.915087,51.895525 -103.919618,51.887528 -103.919648,51.887493 -103.919713,51.887365 -103.922775,51.882271 -103.922770,51.881230 -103.914753,51.875168 -103.914509,51.874951 -103.914415,51.874891 -103.913774,51.874322 -103.913680,51.874175 -103.913470,51.874030 -103.912949,51.873364 -103.912089,51.871990 -103.911875,51.871481 -103.911749,51.871281 -103.907870,51.859825 -103.907875,51.859685 -103.907786,51.859527 -103.907775,51.859418 -103.907702,51.859229 -103.907641,51.858340 -103.907802,51.856572 -103.908023,51.855692 -103.908517,51.854857 -103.909759,51.853261 -103.910506,51.852501 -103.911144,51.852044 -103.912510,51.851186 -103.912905,51.850995 -103.913239,51.850785 -103.914358,51.850248 -103.914959,51.849753 -103.917454,51.847700 -103.918427,51.847045 -103.920559,51.845865 -103.921719,51.845340 -103.923022,51.844965 -103.925199,51.844493 -103.925249,51.844435 -103.925879,51.843818 -103.926851,51.843163 -103.928983,51.841983 -103.930143,51.841458 -103.931446,51.841083 -103.934145,51.840497 -103.935540,51.840287 -103.935830,51.840297 -103.936057,51.840253 -103.937094,51.840209 -103.937208,51.840215 -103.937613,51.840198 -103.940199,51.840200 -103.940928,51.839990 -103.943627,51.839404 -103.945023,51.839194 -103.946458,51.839156 -103.949313,51.839255 -103.950732,51.839391 -103.951606,51.839567 -103.953310,51.839985 -103.953686,51.840116 -103.954140,51.840228 -103.955976,51.840853 -103.956317,51.840989 -103.956422,51.841018 -103.956911,51.841213 -103.956962,51.841246 -103.957154,51.841300 -103.959881,51.842448 -103.963111,51.842858 -103.963269,51.842902 -103.963466,51.842909 -103.963604,51.842939 -103.963821,51.842960 -103.965170,51.843265 -103.967748,51.844032 -103.968975,51.844494 -103.970034,51.845096 -103.971941,51.846416 -103.972790,51.847134 -103.973396,51.847941 -103.973420,51.847984 -103.974605,51.848803 -103.975453,51.849521 -103.976060,51.850328 -103.977007,51.851999 -103.977347,51.852864 -103.977409,51.853753 -103.977251,51.855521 -103.977161,51.855882 -103.979807,51.855973 -103.981227,51.856109 -103.982577,51.856413 -103.984530,51.856994 -103.989257,51.854450 -103.990245,51.853460 -103.990408,51.853312 -103.990426,51.853287 -103.990800,51.852947 -103.990916,51.852880 -103.990994,51.852780 -103.991965,51.852124 -103.994095,51.850942 -103.995254,51.850416 -103.996557,51.850041 -103.999255,51.849453 -104.000651,51.849242 -104.002087,51.849204 -104.003879,51.849265 -104.009467,51.847750 -104.009919,51.847670 -104.010400,51.847542 -104.012305,51.847207 -104.013275,51.847079 -104.014711,51.847040 -104.017566,51.847137 -104.018986,51.847272 -104.020336,51.847577 -104.022915,51.848343 -104.024143,51.848804 -104.024405,51.848942 -104.024700,51.848981 -104.024840,51.849020 -104.025013,51.849026 -104.025139,51.849053 -104.025327,51.849071 -104.026677,51.849375 -104.026925,51.849449 -104.029122,51.849523 -104.030542,51.849658 -104.031221,51.849811 -104.035961,51.848541 -104.036419,51.848461 -104.036879,51.848339 -104.038752,51.848011 -104.039706,51.847886 -104.041141,51.847847 -104.043997,51.847943 -104.045417,51.848078 -104.046024,51.848194 -104.046176,51.848155 -104.049849,51.847567 -104.050182,51.847526 -104.050245,51.847511 -104.051040,51.847413 -104.051230,51.847416 -104.051439,51.847370 -104.052875,51.847331 -104.055730,51.847426 -104.057150,51.847561 -104.057469,51.847633 -104.057649,51.847652 -104.057911,51.847730 -104.058148,51.847743 -104.058558,51.847827 -104.059335,51.847806 -104.062190,51.847901 -104.063610,51.848036 -104.064169,51.848139 -104.064467,51.848203 -104.064978,51.848091 -104.066374,51.847879 -104.069277,51.847621 -104.071351,51.847437 -104.072786,51.847397 -104.075642,51.847492 -104.077062,51.847627 -104.077336,51.847708 -104.077582,51.847722 -104.078607,51.847935 -104.078719,51.847971 -104.079113,51.848053 -104.081366,51.848639 -104.081793,51.848790 -104.082171,51.848885 -104.083725,51.849437 -104.084475,51.849742 -104.085215,51.850135 -104.086604,51.850979 -104.086914,51.851223 -104.087253,51.851429 -104.088364,51.852312 -104.091487,51.853924 -104.091678,51.854063 -104.092372,51.854467 -104.093151,51.855033 -104.093640,51.855358 -104.094241,51.855856 -104.096440,51.856529 -104.097540,51.856947 -104.098094,51.856946 -104.098579,51.856984 -104.099011,51.856981 -104.100831,51.857122 -104.101734,51.857228 -104.102052,51.857299 -104.102233,51.857318 -104.102495,51.857396 -104.102732,51.857409 -104.108069,51.858506 -104.108389,51.858609 -104.109154,51.858791 -104.110276,51.859153 -104.110705,51.859275 -104.111220,51.859465 -104.111421,51.859428 -104.111818,51.859375 -104.111925,51.859349 -104.112941,51.859212 -104.113179,51.859214 -104.113453,51.859154 -104.114889,51.859114 -104.117745,51.859208 -104.119166,51.859342 -104.120517,51.859645 -104.123099,51.860409 -104.124329,51.860869 -104.124605,51.861025 -104.124766,51.861088 -104.124978,51.861234 -104.125204,51.861308 -104.127820,51.862725 -104.128008,51.862747 -104.128882,51.862922 -104.130589,51.863337 -104.130967,51.863468 -104.131422,51.863578 -104.135101,51.864822 -104.135442,51.864958 -104.135548,51.864987 -104.136423,51.865334 -104.136588,51.865440 -104.136850,51.865518 -104.137320,51.865754 -104.138226,51.866251 -104.138329,51.866328 -104.138662,51.866510 -104.141157,51.868123 -104.141457,51.868366 -104.141699,51.868515 -104.142707,51.869336 -104.143173,51.869764 -104.143475,51.870111 -104.144029,51.870822 -104.144082,51.870930 -104.144223,51.871111 -104.147380,51.872687 -104.147431,51.872723 -104.147455,51.872731 -104.147727,51.872868 -104.147755,51.872889 -104.147979,51.873002 -104.150582,51.874451 -104.151321,51.874385 -104.152758,51.874344 -104.155616,51.874437 -104.157037,51.874570 -104.157912,51.874745 -104.159620,51.875160 -104.159998,51.875290 -104.160453,51.875400 -104.164134,51.876643 -104.164476,51.876779 -104.164582,51.876807 -104.165457,51.877155 -104.165623,51.877261 -104.165885,51.877338 -104.166947,51.877938 -104.168862,51.879254 -104.169715,51.879971 -104.169817,51.880148 -104.169975,51.880265 -104.170459,51.880865 -104.170478,51.880902 -104.172974,51.881639 -104.174206,51.882099 -104.175023,51.882538 -104.176545,51.883486 -104.176945,51.883806 -104.177249,51.883995 -104.181474,51.887549 -104.181644,51.887708 -104.181679,51.887730 -104.182073,51.888098 -104.182134,51.888196 -104.182263,51.888285 -104.182736,51.888869 -104.183543,51.890071 -104.183705,51.890436 -104.183876,51.890691 -104.185599,51.894879 -104.187845,51.898265 -104.189729,51.896702 -104.190698,51.896044 -104.192825,51.894858 -104.193983,51.894330 -104.195285,51.893952 -104.197983,51.893359 -104.199380,51.893145 -104.200817,51.893104 -104.203676,51.893196 -104.205098,51.893328 -104.205172,51.893345 -104.205238,51.893351 -104.205306,51.893371 -104.205378,51.893374 -104.211802,51.894464 -104.212453,51.894536 -104.212672,51.894595 -104.212962,51.894604 -104.213135,51.894640 -104.213470,51.894672 -104.214824,51.894974 -104.217409,51.895735 -104.218641,51.896194 -104.219705,51.896793 -104.221623,51.898109 -104.221750,51.898215 -104.222007,51.898098 -104.223309,51.897719 -104.226007,51.897126 -104.226229,51.897092 -104.224316,51.894556 -104.215253,51.882587 -104.215128,51.882329 -104.214870,51.881966 -104.214254,51.880696 -104.214022,51.880046 -104.214031,51.879939 -104.213982,51.879849 -104.213917,51.879454 -104.213920,51.879429 -104.213892,51.879255 -104.212851,51.868017 -104.212852,51.868011 -104.212849,51.867990 -104.211663,51.854478 -104.211703,51.854222 -104.211687,51.853793 -104.211775,51.853232 -104.211785,51.852982 -104.211917,51.852392 -104.211924,51.852213 -104.216055,51.839362 -104.218377,51.830929 -104.219208,51.820015 -104.219279,51.819719 -104.219280,51.819562 -104.219495,51.818663 -104.219639,51.818217 -104.219707,51.818130 -104.219717,51.818043 -104.219882,51.817696 -104.219897,51.817677 -104.219970,51.817523 -104.226100,51.806336 -104.226280,51.806123 -104.226552,51.805684 -104.226745,51.805456 -104.226957,51.805143 -104.227289,51.804782 -104.227452,51.804540 -104.233924,51.797938 -104.234090,51.797784 -104.234110,51.797758 -104.234495,51.797403 -104.234614,51.797333 -104.234694,51.797228 -104.235626,51.796590 -104.237668,51.795432 -104.238714,51.794950 -104.238778,51.794914 -104.256598,51.788129 -104.256641,51.788120 -104.256676,51.788100 -104.256716,51.788088 -104.256755,51.788070 -104.256841,51.788051 -104.256940,51.788022 -104.257033,51.787973 -104.257595,51.787785 -104.257633,51.787777 -104.257879,51.787694 -104.273914,51.782877 -104.274303,51.782803 -104.274952,51.782624 -104.277080,51.782218 -104.278169,51.782065 -104.278330,51.782070 -104.278467,51.782042 -104.279064,51.782003 -104.279099,51.782005 -104.279364,51.781987 -104.294362,51.781392 -104.299800,51.779646 -104.311921,51.774549 -104.326486,51.765702 -104.326877,51.765515 -104.327136,51.765351 -104.328497,51.764699 -104.329209,51.764398 -104.330505,51.764019 -104.333193,51.763423 -104.334584,51.763207 -104.334616,51.763206 -104.334645,51.763202 -104.334676,51.763203 -104.334706,51.763196 -104.345310,51.762280 -104.360370,51.759386 -104.373632,51.752462 -104.373987,51.752306 -104.374093,51.752241 -104.375041,51.751821 -104.375528,51.751623 -104.376670,51.751278 -104.379034,51.750715 -104.380012,51.750556 -104.380255,51.750498 -104.390163,51.749300 -104.390320,51.749303 -104.390486,51.749266 -104.390620,51.749261 -104.390808,51.749232 -104.392240,51.749188 -104.395089,51.749274 -104.396507,51.749404 -104.397856,51.749703 -104.400436,51.750459 -104.401666,51.750916 -104.402728,51.751514 -104.404645,51.752825 -104.405500,51.753539 -104.405889,51.754000 -104.406581,51.754946 -104.406679,51.755152 -104.406883,51.755431 -104.412505,51.766275 -104.412798,51.766836 -104.430120,51.762608 -104.430596,51.762528 -104.430907,51.762447 -104.432505,51.762181 -104.433316,51.762076 -104.434748,51.762032 -104.437599,51.762117 -104.439017,51.762246 -104.439179,51.762294 -104.439337,51.762300 -104.439972,51.762418 -104.440010,51.762430 -104.440287,51.762481 -104.453643,51.765364 -104.453710,51.765386 -104.453934,51.765429 -104.457619,51.766279 -104.466531,51.762418 -104.466743,51.762365 -104.466948,51.762250 -104.467108,51.762200 -104.467366,51.762082 -104.468661,51.761700 -104.471346,51.761101 -104.472736,51.760883 -104.473011,51.760891 -104.473228,51.760848 -104.474213,51.760798 -104.474317,51.760803 -104.474708,51.760784 -104.484136,51.760703 -104.484615,51.760738 -104.485075,51.760733 -104.486939,51.760866 -104.487865,51.760970 -104.489215,51.761269 -104.491797,51.762023 -104.493029,51.762478 -104.493736,51.762847 -104.495069,51.763638 -104.495344,51.763851 -104.495695,51.764059 -104.508239,51.773644 -104.508470,51.773848 -104.508547,51.773897 -104.509135,51.774416 -104.509309,51.774686 -104.509625,51.774915 -104.510025,51.775387 -104.510048,51.775431 -104.510213,51.775626 -104.522768,51.792840 -104.522900,51.793116 -104.523119,51.793425 -104.523337,51.793882 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-107.167459,51.037951 -107.028292,51.102552</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-107.067547,51.039879 -107.068277,51.039814 -107.069744,51.039734 -107.070005,51.039743 -107.070481,51.039717 -107.070569,51.039718 -107.070941,51.039572 -107.071091,51.039535 -107.072118,51.039200 -107.074559,51.038597 -107.075824,51.038366 -107.076656,51.038297 -107.078326,51.038220 -107.078682,51.038234 -107.079165,51.038212 -107.082592,51.038307 -107.083015,51.038340 -107.083161,51.038337 -107.084292,51.038425 -107.084855,51.038483 -107.085784,51.038645 -107.086596,51.038825 -107.087117,51.038699 -107.088320,51.038484 -107.088504,51.038473 -107.088628,51.038451 -107.088796,51.038451 -107.088935,51.038418 -107.092555,51.038081 -107.092805,51.038085 -107.093319,51.038059 -107.093448,51.038048 -107.094562,51.038001 -107.094961,51.038018 -107.095441,51.037997 -107.098712,51.038110 -107.099117,51.038143 -107.099240,51.038141 -107.100292,51.038226 -107.100518,51.038280 -107.100815,51.038282 -107.102159,51.038544 -107.104742,51.039230 -107.105979,51.039653 -107.106950,51.040151 -107.108741,51.041244 -107.109379,51.041729 -107.109560,51.041840 -107.109979,51.042204 -107.110764,51.042321 -107.111324,51.042005 -107.111647,51.041848 -107.111732,51.041791 -107.112571,51.041383 -107.112792,51.041320 -107.113003,51.041188 -107.113232,51.041112 -107.113357,51.041050 -107.113568,51.040996 -107.113711,51.040912 -107.117059,51.039689 -107.117349,51.039621 -107.118145,51.039365 -107.118378,51.039310 -107.119058,51.039107 -107.119598,51.038996 -107.120001,51.038876 -107.122749,51.038337 -107.123072,51.038286 -107.123132,51.038270 -107.123902,51.038148 -107.124089,51.038145 -107.124290,51.038094 -107.125255,51.038018 -107.127192,51.037951 -107.127703,51.037975 -107.128164,51.037959 -107.131123,51.038109 -107.131477,51.038140 -107.131557,51.038139 -107.132423,51.038217 -107.132613,51.038263 -107.132853,51.038264 -107.133895,51.038451 -107.135923,51.038922 -107.136527,51.039117 -107.136909,51.039206 -107.142344,51.041095 -107.142585,51.041188 -107.142625,51.041198 -107.143180,51.041412 -107.143292,51.041480 -107.143454,51.041523 -107.144226,51.041903 -107.145682,51.042726 -107.146023,51.042975 -107.146365,51.043168 -107.148252,51.044571 -107.148464,51.044749 -107.148520,51.044783 -107.149035,51.045216 -107.149117,51.045332 -107.149283,51.045438 -107.149880,51.046132 -107.150872,51.047576 -107.151169,51.048180 -107.151269,51.048325 -107.152093,51.050501 -107.152290,51.050986 -107.153453,51.051707 -107.156456,51.053052 -107.156559,51.053119 -107.157461,51.053596 -107.158348,51.054174 -107.159108,51.054649 -107.159876,51.055239 -107.159967,51.055295 -107.161543,51.056736 -107.161570,51.056777 -107.161622,51.056810 -107.161653,51.056847 -107.161701,51.056884 -107.162015,51.057212 -107.162596,51.057884 -107.162653,51.057983 -107.162864,51.058228 -107.165755,51.062366 -107.165900,51.062657 -107.166037,51.062839 -107.166515,51.063803 -107.166712,51.064293 -107.166711,51.064423 -107.166773,51.064528 -107.166878,51.064998 -107.166876,51.065034 -107.166920,51.065234 -107.167445,51.069048 -107.167419,51.069323 -107.167459,51.069699 -107.167341,51.070996 -107.167208,51.071641 -107.167064,51.072006 -107.166730,51.072726 -107.166662,51.072818 -107.166539,51.073082 -107.165875,51.074170 -107.165759,51.074997 -107.165642,51.075507 -107.165345,51.076164 -107.164598,51.077443 -107.164558,51.077493 -107.164495,51.078962 -107.164352,51.079747 -107.164209,51.080111 -107.163875,51.080831 -107.163807,51.080923 -107.163684,51.081187 -107.162606,51.082952 -107.162381,51.083222 -107.162270,51.083419 -107.161518,51.084328 -107.161101,51.084769 -107.160201,51.085452 -107.158207,51.086695 -107.157113,51.087255 -107.156086,51.087610 -107.153955,51.088211 -107.153161,51.088368 -107.152850,51.088456 -107.150537,51.088840 -107.150391,51.088842 -107.150338,51.088885 -107.148856,51.089893 -107.148328,51.090176 -107.148055,51.090362 -107.146399,51.091191 -107.145879,51.091586 -107.143884,51.092828 -107.142789,51.093388 -107.141542,51.093802 -107.138944,51.094469 -107.137593,51.094722 -107.136499,51.094855 -107.135095,51.094937 -107.132289,51.094928 -107.130887,51.094836 -107.130174,51.094697 -107.129913,51.094822 -107.129786,51.094858 -107.129543,51.094981 -107.129508,51.095003 -107.129486,51.095011 -107.129467,51.095020 -107.129444,51.095026 -107.129426,51.095037 -107.124818,51.096924 -107.124774,51.096935 -107.124556,51.097007 -107.123965,51.097219 -107.122411,51.097696 -107.121971,51.097788 -107.121545,51.097919 -107.116978,51.098882 -107.116610,51.098943 -107.116521,51.098968 -107.115600,51.099120 -107.115380,51.099124 -107.115135,51.099186 -107.114432,51.099249 -107.113021,51.099331 -107.112782,51.099323 -107.112312,51.099350 -107.108357,51.099333 -107.107784,51.099335 -107.105855,51.099821 -107.104544,51.100063 -107.104168,51.100109 -107.103323,51.100379 -107.103006,51.100447 -107.102574,51.100585 -107.098035,51.101646 -107.097615,51.101720 -107.097471,51.101761 -107.096328,51.101962 -107.095750,51.102048 -107.095590,51.102057 -107.095477,51.102078 -107.095330,51.102077 -107.095205,51.102107 -107.091111,51.102501 -107.090884,51.102498 -107.089841,51.102552 -107.087307,51.102511 -107.086043,51.102420 -107.085427,51.102322 -107.084212,51.102093 -107.084045,51.102043 -107.083612,51.101961 -107.079224,51.100860 -107.078797,51.100717 -107.078519,51.100654 -107.077148,51.100197 -107.076483,51.099945 -107.075547,51.099469 -107.073815,51.098427 -107.073242,51.097994 -107.073018,51.097859 -107.072673,51.097567 -107.070434,51.097367 -107.070242,51.097320 -107.069997,51.097319 -107.069838,51.097290 -107.069561,51.097271 -107.068214,51.097008 -107.065629,51.096321 -107.064390,51.095897 -107.063306,51.095329 -107.061335,51.094072 -107.060448,51.093382 -107.060445,51.093377 -107.060440,51.093374 -107.060437,51.093369 -107.060432,51.093366 -107.057224,51.090284 -107.057219,51.090275 -107.057139,51.090180 -107.056706,51.089692 -107.055848,51.088533 -107.055657,51.088163 -107.055475,51.087917 -107.055390,51.087738 -107.055294,51.087734 -107.054726,51.087757 -107.054459,51.087746 -107.054226,51.087753 -107.053628,51.087723 -107.053192,51.087736 -107.048733,51.087458 -107.048418,51.087428 -107.048360,51.087428 -107.047616,51.087357 -107.047451,51.087316 -107.047246,51.087315 -107.046639,51.087219 -107.045442,51.086994 -107.045281,51.086946 -107.044851,51.086865 -107.040994,51.085902 -107.040567,51.085759 -107.040281,51.085695 -107.038894,51.085232 -107.038220,51.084977 -107.037654,51.084708 -107.036565,51.084137 -107.036406,51.084025 -107.036043,51.083834 -107.034032,51.082547 -107.033736,51.082316 -107.033565,51.082217 -107.032684,51.081530 -107.032270,51.081173 -107.031654,51.080447 -107.030641,51.078936 -107.030313,51.078255 -107.030244,51.078152 -107.029041,51.074726 -107.029040,51.074663 -107.028999,51.074599 -107.028969,51.074406 -107.028899,51.074249 -107.028900,51.074127 -107.028840,51.074026 -107.028399,51.072039 -107.028408,51.071864 -107.028333,51.071265 -107.028336,51.071197 -107.028292,51.070703 -107.028327,51.070401 -107.028300,51.070106 -107.028756,51.066276 -107.028807,51.066044 -107.028805,51.065986 -107.028933,51.065409 -107.029074,51.065180 -107.029086,51.064920 -107.029249,51.064517 -107.029267,51.064492 -107.029338,51.064317 -107.031325,51.060201 -107.031418,51.060078 -107.031421,51.060072 -107.031560,51.059785 -107.031651,51.059665 -107.031787,51.059386 -107.033887,51.056174 -107.034113,51.055909 -107.034202,51.055754 -107.034256,51.055692 -107.034320,51.055574 -107.037363,51.051738 -107.037555,51.051532 -107.037590,51.051474 -107.038071,51.050957 -107.038417,51.050727 -107.038626,51.050444 -107.039256,51.049940 -107.039339,51.049891 -107.039585,51.049694 -107.042259,51.047841 -107.042623,51.047645 -107.042905,51.047446 -107.044271,51.046710 -107.044990,51.046369 -107.045198,51.046300 -107.045316,51.046242 -107.045510,51.046192 -107.045642,51.046114 -107.048116,51.045203 -107.048390,51.045138 -107.049215,51.044874 -107.050443,51.044583 -107.052258,51.043921 -107.053940,51.043262 -107.054076,51.043228 -107.054426,51.043096 -107.055266,51.042810 -107.055434,51.042773 -107.055828,51.042638 -107.058518,51.041905 -107.058827,51.041845 -107.058837,51.041842 -107.059015,51.041805 -107.059254,51.041734 -107.059474,51.041691 -107.059712,51.041618 -107.062520,51.041033 -107.064388,51.040506 -107.064850,51.040414 -107.065163,51.040320 -107.066743,51.040007 -107.067547,51.039879 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-106.621270,54.240760 -106.509900,54.353999</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-106.563482,54.240808 -106.564494,54.240816 -106.566014,54.240917 -106.567471,54.241190 -106.570266,54.241896 -106.571604,54.242329 -106.572773,54.242908 -106.574894,54.244186 -106.575847,54.244887 -106.576549,54.245683 -106.577030,54.246391 -106.577079,54.246407 -106.577349,54.246471 -106.578022,54.246715 -106.578551,54.246814 -106.581347,54.247520 -106.582686,54.247954 -106.583855,54.248532 -106.585977,54.249810 -106.586930,54.250511 -106.587632,54.251307 -106.588758,54.252964 -106.589181,54.253825 -106.589291,54.254331 -106.589413,54.255347 -106.589389,54.255550 -106.589426,54.255858 -106.589122,54.260177 -106.589061,54.260456 -106.589066,54.260562 -106.589016,54.260796 -106.589021,54.260900 -106.588361,54.264089 -106.588310,54.264265 -106.588311,54.264292 -106.588195,54.264697 -106.588146,54.264768 -106.588131,54.264842 -106.588130,54.264898 -106.588114,54.264926 -106.588109,54.264953 -106.588090,54.264979 -106.588089,54.265007 -106.586987,54.267853 -106.586951,54.267901 -106.586524,54.268678 -106.585339,54.270261 -106.584617,54.271020 -106.584509,54.271094 -106.584449,54.271157 -106.584411,54.271178 -106.584460,54.271214 -106.584905,54.271576 -106.585608,54.272372 -106.586734,54.274029 -106.587157,54.274890 -106.587286,54.275783 -106.587242,54.277566 -106.587071,54.278456 -106.587037,54.278518 -106.587027,54.278570 -106.586985,54.278626 -106.586982,54.278684 -106.586228,54.280519 -106.586225,54.280523 -106.588412,54.280678 -106.588729,54.280624 -106.590255,54.280549 -106.593302,54.280574 -106.594823,54.280675 -106.595167,54.280739 -106.595360,54.280754 -106.595644,54.280825 -106.595898,54.280833 -106.598712,54.281308 -106.599060,54.281405 -106.599886,54.281568 -106.602147,54.282195 -106.603235,54.282561 -106.604405,54.283139 -106.606530,54.284417 -106.607485,54.285118 -106.608188,54.285914 -106.609315,54.287571 -106.609739,54.288431 -106.610215,54.289939 -106.610211,54.290096 -106.610288,54.290220 -106.610405,54.290784 -106.610400,54.290837 -106.610448,54.291067 -106.610601,54.292609 -106.610563,54.292903 -106.610592,54.293222 -106.610433,54.294441 -106.610284,54.295047 -106.609819,54.295901 -106.608614,54.297539 -106.607873,54.298323 -106.607722,54.298409 -106.607644,54.298508 -106.607412,54.298685 -106.608607,54.298908 -106.611407,54.299613 -106.612748,54.300046 -106.613918,54.300624 -106.616045,54.301902 -106.617000,54.302602 -106.617023,54.302628 -106.617052,54.302649 -106.617070,54.302676 -106.617103,54.302696 -106.618987,54.304441 -106.619020,54.304490 -106.619657,54.305216 -106.620734,54.306826 -106.621141,54.307661 -106.621270,54.308554 -106.621229,54.310337 -106.621058,54.311227 -106.620593,54.312081 -106.619387,54.313719 -106.618647,54.314503 -106.617658,54.315188 -106.615472,54.316432 -106.615247,54.316537 -106.615119,54.317665 -106.614965,54.318316 -106.614500,54.319170 -106.613294,54.320808 -106.612552,54.321592 -106.612351,54.321707 -106.612252,54.321831 -106.611624,54.322296 -106.611550,54.322336 -106.611415,54.322436 -106.611474,54.322748 -106.611468,54.322820 -106.611517,54.323071 -106.611705,54.325779 -106.611661,54.326083 -106.611684,54.326352 -106.611538,54.327351 -106.611451,54.327693 -106.611413,54.327896 -106.611413,54.327949 -106.610718,54.329972 -106.610699,54.329998 -106.610699,54.330027 -106.610685,54.330053 -106.610679,54.330082 -106.610214,54.330935 -106.609008,54.332573 -106.608266,54.333358 -106.607786,54.333690 -106.607880,54.334451 -106.608464,54.337282 -106.608448,54.337489 -106.608483,54.337780 -106.608488,54.337803 -106.608502,54.337944 -106.608513,54.338035 -106.608512,54.338043 -106.608548,54.338388 -106.608515,54.338642 -106.608547,54.338948 -106.608293,54.341314 -106.608233,54.341571 -106.608236,54.341650 -106.608079,54.342318 -106.607984,54.342461 -106.607979,54.342650 -106.607514,54.343504 -106.606307,54.345142 -106.605565,54.345927 -106.605378,54.346033 -106.605284,54.346150 -106.604700,54.346587 -106.604635,54.346621 -106.604396,54.346800 -106.598047,54.350992 -106.597666,54.351183 -106.597292,54.351427 -106.595687,54.352234 -106.594838,54.352605 -106.593475,54.353017 -106.590638,54.353676 -106.589164,54.353924 -106.587635,54.353999 -106.584582,54.353974 -106.583058,54.353873 -106.582787,54.353805 -106.582544,54.353798 -106.581526,54.353628 -106.581426,54.353601 -106.581022,54.353533 -106.576734,54.352630 -106.576274,54.352492 -106.575811,54.352396 -106.574025,54.351860 -106.573162,54.351558 -106.572992,54.351474 -106.572861,54.351430 -106.572720,54.351346 -106.572559,54.351303 -106.568680,54.349576 -106.568481,54.349451 -106.567681,54.349046 -106.565856,54.347895 -106.565028,54.347273 -106.564325,54.346477 -106.563198,54.344819 -106.562774,54.343958 -106.561825,54.340942 -106.561751,54.340428 -106.561325,54.340404 -106.560446,54.340324 -106.560256,54.340277 -106.560076,54.340272 -106.559341,54.340158 -106.559292,54.340145 -106.558976,54.340096 -106.553663,54.339108 -106.553250,54.338989 -106.552591,54.338856 -106.552105,54.338717 -106.551721,54.338631 -106.551024,54.338416 -106.550628,54.338328 -106.545783,54.336704 -106.545540,54.336615 -106.545505,54.336606 -106.544955,54.336403 -106.544843,54.336339 -106.544683,54.336299 -106.543513,54.335720 -106.541387,54.334440 -106.540432,54.333739 -106.539891,54.333163 -106.538955,54.331972 -106.538759,54.331609 -106.538561,54.331356 -106.536792,54.327844 -106.536711,54.327646 -106.536686,54.327612 -106.536496,54.327146 -106.536494,54.327033 -106.536412,54.326912 -106.536285,54.326019 -106.536330,54.324236 -106.536503,54.323345 -106.536580,54.323241 -106.536587,54.323141 -106.536769,54.322736 -106.536789,54.322710 -106.536868,54.322534 -106.537461,54.321427 -106.537170,54.319559 -106.537175,54.319515 -106.537145,54.319377 -106.537052,54.318609 -106.536983,54.318469 -106.533899,54.318136 -106.533797,54.318111 -106.533679,54.318110 -106.533583,54.318093 -106.533459,54.318085 -106.531999,54.317812 -106.529199,54.317105 -106.527858,54.316670 -106.525569,54.315747 -106.525329,54.315602 -106.525079,54.315532 -106.524130,54.315081 -106.524028,54.315014 -106.523671,54.314845 -106.520442,54.313047 -106.520106,54.312810 -106.519813,54.312653 -106.518638,54.311824 -106.518093,54.311389 -106.517391,54.310593 -106.516268,54.308935 -106.515845,54.308073 -106.515848,54.307950 -106.515785,54.307849 -106.515683,54.307397 -106.515685,54.307364 -106.515641,54.307171 -106.515374,54.305251 -106.515404,54.304980 -106.515365,54.304582 -106.515513,54.303250 -106.515671,54.302588 -106.515758,54.302469 -106.515766,54.302357 -106.515977,54.301900 -106.516003,54.301867 -106.516093,54.301673 -106.516928,54.300176 -106.516679,54.299767 -106.516354,54.299058 -106.516155,54.298420 -106.515266,54.297884 -106.514312,54.297183 -106.513890,54.296750 -106.513128,54.295861 -106.513024,54.295679 -106.512789,54.295405 -106.510819,54.292304 -106.510690,54.292029 -106.510610,54.291924 -106.510249,54.291155 -106.510097,54.290766 -106.509973,54.290089 -106.509900,54.288730 -106.509964,54.288313 -106.509950,54.288049 -106.510472,54.285461 -106.510524,54.285277 -106.510524,54.285248 -106.510644,54.284823 -106.510801,54.284596 -106.510819,54.284358 -106.511057,54.283854 -106.511089,54.283814 -106.511188,54.283604 -106.512268,54.281735 -106.512488,54.281479 -106.512686,54.281149 -106.513658,54.280016 -106.514212,54.279469 -106.514434,54.279343 -106.514543,54.279209 -106.515235,54.278704 -106.515326,54.278655 -106.515596,54.278458 -106.518930,54.276347 -106.519329,54.276151 -106.519639,54.275952 -106.520738,54.275411 -106.520720,54.275281 -106.520766,54.273498 -106.520939,54.272607 -106.521406,54.271754 -106.522614,54.270117 -106.523356,54.269334 -106.523946,54.268894 -106.525214,54.268059 -106.525544,54.267894 -106.525892,54.267664 -106.526290,54.267460 -106.526751,54.266972 -106.527156,54.266589 -106.528111,54.265924 -106.529947,54.264869 -106.530830,54.263230 -106.530823,54.263126 -106.530929,54.262488 -106.530966,54.262349 -106.530997,54.262172 -106.530995,54.262003 -106.532087,54.258146 -106.531805,54.257917 -106.531735,54.257820 -106.531591,54.257733 -106.530891,54.256937 -106.529768,54.255279 -106.529346,54.254418 -106.529219,54.253688 -106.529169,54.252224 -106.529252,54.251716 -106.529244,54.251491 -106.529823,54.249091 -106.529916,54.248953 -106.529920,54.248772 -106.529976,54.248662 -106.530017,54.248453 -106.530483,54.247599 -106.531691,54.245963 -106.532432,54.245179 -106.533420,54.244495 -106.535605,54.243253 -106.536801,54.242696 -106.538161,54.242285 -106.540990,54.241627 -106.542460,54.241380 -106.542750,54.241383 -106.542977,54.241335 -106.544013,54.241265 -106.544121,54.241268 -106.544533,54.241241 -106.561677,54.240760 -106.562189,54.240784 -106.562686,54.240770 -106.563482,54.240808 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-106.603885,54.307575 -106.603885,54.307575 -106.603885,54.307575 -106.603885,54.307575 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-107.260359,52.636585 -107.075167,52.753938</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-107.199402,52.641994 -107.199405,52.641990 -107.203551,52.639491 -107.208953,52.638146 -107.210785,52.638000 -107.244629,52.636585 -107.248633,52.636746 -107.254017,52.638117 -107.258129,52.640637 -107.260343,52.643922 -107.260359,52.647361 -107.253472,52.669435 -107.255526,52.709146 -107.255235,52.711240 -107.253436,52.714075 -107.225534,52.742617 -107.225256,52.742794 -107.225074,52.743058 -107.220918,52.745559 -107.215501,52.746904 -107.214842,52.746902 -107.214345,52.747012 -107.113957,52.753938 -107.109260,52.753810 -107.103865,52.752431 -107.099751,52.749904 -107.099059,52.749200 -107.076879,52.724123 -107.075367,52.721537 -107.075167,52.718945 -107.081064,52.681790 -107.082572,52.667715 -107.082572,52.667715 -107.082572,52.667714 -107.084433,52.650305 -107.084708,52.649063 -107.086976,52.645791 -107.091130,52.643296 -107.096537,52.641958 -107.099425,52.641794 -107.122278,52.641847 -107.122312,52.641849 -107.122346,52.641847 -107.130547,52.641888 -107.140427,52.641100 -107.140740,52.641107 -107.141929,52.641027 -107.153309,52.640821 -107.156751,52.641001 -107.162132,52.642377 -107.163252,52.642885 -107.171399,52.646955 -107.171401,52.646956 -107.171407,52.646959 -107.183669,52.653089 -107.184407,52.653447 -107.188454,52.651877 -107.199397,52.641996 -107.199402,52.641994 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-108.511874,50.777335 -108.416269,50.915228</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-108.472087,50.808531 -108.471172,50.812741 -108.471129,50.816652 -108.471117,50.816731 -108.471126,50.816788 -108.471056,50.818815 -108.471056,50.818815 -108.470943,50.822056 -108.470900,50.822326 -108.470915,50.822458 -108.470356,50.827777 -108.470032,50.830855 -108.470174,50.833268 -108.470476,50.833829 -108.472324,50.834927 -108.474305,50.836383 -108.474311,50.836392 -108.474322,50.836399 -108.478192,50.839962 -108.480815,50.842199 -108.480912,50.842335 -108.481097,50.842449 -108.482518,50.844092 -108.484947,50.847756 -108.485740,50.849354 -108.486714,50.852217 -108.486802,50.855748 -108.484748,50.859032 -108.483486,50.860268 -108.484040,50.860651 -108.484996,50.861412 -108.485082,50.861463 -108.488602,50.864555 -108.492821,50.867571 -108.493876,50.868423 -108.495357,50.870156 -108.497869,50.874058 -108.498606,50.875567 -108.498891,50.876837 -108.499275,50.880281 -108.499078,50.882542 -108.498542,50.883479 -108.501338,50.885325 -108.502743,50.886414 -108.502757,50.886423 -108.505619,50.889030 -108.505626,50.889038 -108.505637,50.889045 -108.507856,50.892286 -108.507945,50.895817 -108.507747,50.896135 -108.507823,50.896436 -108.509982,50.898654 -108.511784,50.901490 -108.511874,50.905022 -108.509819,50.908306 -108.505933,50.910843 -108.501773,50.912092 -108.485783,50.915019 -108.485326,50.915034 -108.484816,50.915173 -108.479229,50.915228 -108.474035,50.913927 -108.468072,50.911491 -108.464061,50.909033 -108.463299,50.908254 -108.457469,50.901554 -108.457093,50.900918 -108.456496,50.900174 -108.453825,50.895337 -108.448947,50.889796 -108.446270,50.888602 -108.441468,50.886639 -108.438702,50.885162 -108.433553,50.881616 -108.432314,50.880633 -108.430341,50.877995 -108.427241,50.871175 -108.427201,50.870658 -108.426875,50.870148 -108.424235,50.860020 -108.424241,50.859620 -108.424050,50.858314 -108.424346,50.851034 -108.424548,50.849805 -108.424546,50.849741 -108.425876,50.844821 -108.426503,50.841250 -108.426599,50.841078 -108.426589,50.840842 -108.427424,50.837484 -108.427488,50.837378 -108.427485,50.837256 -108.428253,50.835560 -108.428669,50.834895 -108.428493,50.834628 -108.427702,50.833030 -108.427404,50.831608 -108.426929,50.825872 -108.426182,50.822713 -108.424741,50.818455 -108.424659,50.814925 -108.425318,50.813408 -108.425995,50.812255 -108.425689,50.809463 -108.425562,50.808973 -108.425406,50.808934 -108.421425,50.806490 -108.418574,50.803882 -108.418568,50.803873 -108.418557,50.803866 -108.416350,50.800624 -108.416269,50.797094 -108.418326,50.793813 -108.422206,50.791280 -108.424384,50.790497 -108.448770,50.783438 -108.449507,50.783283 -108.449998,50.783125 -108.452928,50.782477 -108.454635,50.782173 -108.456389,50.782006 -108.459481,50.781834 -108.461272,50.781888 -108.461802,50.781871 -108.464878,50.781028 -108.466007,50.780874 -108.468744,50.780847 -108.469612,50.780354 -108.471028,50.779646 -108.474990,50.778433 -108.479425,50.777579 -108.480573,50.777390 -108.486141,50.777335 -108.491318,50.778635 -108.495317,50.781091 -108.497529,50.784331 -108.497618,50.787861 -108.497287,50.788753 -108.495706,50.792214 -108.493987,50.794605 -108.493059,50.795415 -108.492901,50.795537 -108.492186,50.796686 -108.490900,50.798272 -108.488332,50.799952 -108.487975,50.800405 -108.487193,50.801274 -108.485441,50.802670 -108.482539,50.804564 -108.480413,50.805703 -108.475299,50.807105 -108.474522,50.807211 -108.473584,50.807767 -108.472087,50.808531 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-104.183009,49.067942 -104.132059,49.101454</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-104.175548,49.096077 -104.175548,49.096077 -104.175548,49.096077 -104.175548,49.096077 -104.175548,49.096077 -104.175548,49.096077 -104.175548,49.096077 -104.175548,49.096077 -104.175409,49.096200 -104.175409,49.096200 -104.175409,49.096200 -104.175409,49.096200 -104.175409,49.096200 -104.175409,49.096200 -104.175408,49.096200 -104.175408,49.096200 -104.175408,49.096200 -104.175408,49.096200 -104.174504,49.096851 -104.172948,49.097772 -104.172948,49.097772 -104.172733,49.097899 -104.172733,49.097899 -104.172518,49.098026 -104.171437,49.098549 -104.171437,49.098549 -104.171437,49.098549 -104.171437,49.098549 -104.170747,49.098785 -104.169329,49.099204 -104.169023,49.099263 -104.168601,49.099388 -104.168329,49.099445 -104.167962,49.099500 -104.167951,49.099507 -104.167951,49.099507 -104.167951,49.099507 -104.167951,49.099507 -104.166870,49.100030 -104.166683,49.100073 -104.166552,49.100147 -104.165905,49.100370 -104.165850,49.100381 -104.165577,49.100475 -104.165199,49.100589 -104.164797,49.100667 -104.164282,49.100815 -104.162409,49.101178 -104.161453,49.101316 -104.161453,49.101316 -104.161453,49.101316 -104.161453,49.101316 -104.161453,49.101316 -104.161453,49.101316 -104.160988,49.101360 -104.160988,49.101360 -104.160988,49.101360 -104.160988,49.101360 -104.160972,49.101359 -104.160956,49.101363 -104.160956,49.101363 -104.160703,49.101354 -104.160506,49.101394 -104.160506,49.101394 -104.160505,49.101394 -104.160505,49.101394 -104.159536,49.101441 -104.159429,49.101435 -104.159051,49.101453 -104.158386,49.101454 -104.158129,49.101433 -104.157982,49.101436 -104.157739,49.101418 -104.157529,49.101420 -104.157486,49.101416 -104.157201,49.101422 -104.156166,49.101364 -104.155758,49.101319 -104.155608,49.101318 -104.154501,49.101196 -104.153950,49.101119 -104.153645,49.101047 -104.153534,49.101041 -104.152711,49.100866 -104.152636,49.100841 -104.152303,49.100771 -104.151597,49.100588 -104.151209,49.100446 -104.150774,49.100332 -104.150690,49.100301 -104.150627,49.100285 -104.150192,49.100124 -104.149787,49.100016 -104.149424,49.099879 -104.149143,49.099757 -104.149076,49.099738 -104.148393,49.099443 -104.148261,49.099352 -104.148058,49.099289 -104.147066,49.098694 -104.145278,49.097390 -104.144482,49.096680 -104.144395,49.096558 -104.144316,49.096485 -104.144254,49.096371 -104.144149,49.096290 -104.144081,49.096206 -104.143528,49.095892 -104.143459,49.095838 -104.143172,49.095675 -104.142839,49.095457 -104.142558,49.095221 -104.142270,49.095035 -104.141217,49.094148 -104.141003,49.093941 -104.140964,49.093929 -104.139815,49.093473 -104.139815,49.093473 -104.139295,49.093191 -104.139295,49.093191 -104.139295,49.093191 -104.139295,49.093190 -104.138298,49.092592 -104.138155,49.092477 -104.137823,49.092277 -104.137596,49.092112 -104.137331,49.091875 -104.137174,49.091771 -104.136383,49.091064 -104.136144,49.090827 -104.136013,49.090749 -104.135900,49.090666 -104.135635,49.090429 -104.135478,49.090325 -104.134687,49.089619 -104.134318,49.089253 -104.134318,49.089253 -104.134318,49.089253 -104.134231,49.089130 -104.134033,49.088853 -104.133981,49.088801 -104.133412,49.088003 -104.132521,49.086348 -104.132200,49.085492 -104.132161,49.085203 -104.132147,49.085173 -104.132077,49.084534 -104.132086,49.084461 -104.132059,49.084208 -104.132059,49.084208 -104.132089,49.084049 -104.132085,49.084009 -104.132085,49.084009 -104.132087,49.083998 -104.132086,49.083967 -104.132114,49.083800 -104.132111,49.083652 -104.132114,49.083637 -104.132106,49.083458 -104.132132,49.083252 -104.132201,49.082983 -104.132203,49.082882 -104.132391,49.082147 -104.132508,49.081783 -104.132753,49.081277 -104.133217,49.080484 -104.133272,49.080418 -104.133475,49.080052 -104.134618,49.078487 -104.135306,49.077742 -104.135306,49.077742 -104.135306,49.077742 -104.135651,49.077462 -104.136373,49.076923 -104.136481,49.076864 -104.136656,49.076733 -104.137058,49.076254 -104.137570,49.075733 -104.137570,49.075733 -104.137570,49.075733 -104.137655,49.075672 -104.137705,49.075618 -104.137792,49.075566 -104.137840,49.075503 -104.138162,49.075238 -104.138263,49.075181 -104.138292,49.075143 -104.138586,49.074911 -104.138630,49.074887 -104.138827,49.074731 -104.139464,49.074281 -104.139790,49.074108 -104.140179,49.073842 -104.141697,49.073037 -104.142500,49.072670 -104.142500,49.072670 -104.142683,49.072627 -104.142812,49.072555 -104.143446,49.072336 -104.143498,49.072325 -104.143767,49.072232 -104.144368,49.072050 -104.144766,49.071973 -104.145290,49.071822 -104.146099,49.071665 -104.146132,49.071646 -104.146642,49.071466 -104.146675,49.071459 -104.146900,49.071379 -104.147388,49.071223 -104.147746,49.071151 -104.148368,49.070970 -104.150376,49.070565 -104.151403,49.070414 -104.151403,49.070414 -104.151403,49.070414 -104.151707,49.070404 -104.151872,49.070380 -104.152133,49.070389 -104.152340,49.070346 -104.153021,49.070312 -104.153351,49.070331 -104.154128,49.070317 -104.155273,49.070382 -104.155750,49.070393 -104.156320,49.070447 -104.156514,49.070353 -104.156797,49.070287 -104.156983,49.070186 -104.157938,49.069876 -104.157942,49.069875 -104.158182,49.069733 -104.159262,49.069210 -104.160477,49.068836 -104.162994,49.068250 -104.162996,49.068250 -104.162997,49.068249 -104.162997,49.068249 -104.164297,49.068038 -104.164297,49.068038 -104.164548,49.068047 -104.164748,49.068005 -104.165651,49.067959 -104.165744,49.067964 -104.166105,49.067946 -104.166633,49.067942 -104.167080,49.067977 -104.167521,49.067973 -104.167955,49.068007 -104.168848,49.067991 -104.169185,49.068016 -104.169647,49.068007 -104.170398,49.068052 -104.170799,49.068097 -104.170937,49.068098 -104.172008,49.068218 -104.172540,49.068292 -104.173802,49.068591 -104.176213,49.069346 -104.177362,49.069802 -104.178353,49.070396 -104.180141,49.071699 -104.180937,49.072409 -104.180994,49.072488 -104.181053,49.072542 -104.181094,49.072618 -104.181168,49.072674 -104.181312,49.072846 -104.181374,49.072967 -104.181805,49.073584 -104.182582,49.075105 -104.182582,49.075105 -104.182582,49.075105 -104.182582,49.075105 -104.182866,49.075889 -104.182852,49.076069 -104.182920,49.076211 -104.182991,49.076857 -104.182991,49.076857 -104.182991,49.076857 -104.182991,49.076857 -104.182981,49.076930 -104.183009,49.077181 -104.183009,49.077181 -104.183009,49.077181 -104.183009,49.077181 -104.183009,49.077181 -104.182952,49.077479 -104.182956,49.077738 -104.182956,49.077738 -104.182956,49.077738 -104.182956,49.077738 -104.182746,49.078844 -104.182746,49.078845 -104.182589,49.079393 -104.182481,49.079589 -104.182453,49.079700 -104.182336,49.079860 -104.182317,49.080006 -104.182120,49.080396 -104.181965,49.080592 -104.181692,49.081062 -104.181672,49.081088 -104.181622,49.081248 -104.181622,49.081248 -104.181622,49.081248 -104.181514,49.081397 -104.181497,49.081534 -104.181217,49.082098 -104.181175,49.082152 -104.181063,49.082377 -104.180778,49.082845 -104.180558,49.083103 -104.180394,49.083374 -104.179524,49.084393 -104.179039,49.084884 -104.179039,49.084884 -104.179039,49.084884 -104.179039,49.084884 -104.178654,49.085193 -104.178538,49.085279 -104.178450,49.085384 -104.178286,49.085668 -104.177736,49.086370 -104.177515,49.086601 -104.177514,49.086604 -104.177524,49.086703 -104.177524,49.086703 -104.177477,49.086953 -104.177480,49.087079 -104.177474,49.087117 -104.177470,49.087130 -104.177472,49.087259 -104.177472,49.087260 -104.177472,49.087260 -104.177472,49.087260 -104.177461,49.087319 -104.177522,49.087413 -104.178020,49.088561 -104.178020,49.088562 -104.178020,49.088562 -104.178020,49.088562 -104.178211,49.089146 -104.178203,49.089251 -104.178247,49.089340 -104.178247,49.089340 -104.178239,49.089413 -104.178239,49.089415 -104.178264,49.089468 -104.178335,49.090114 -104.178335,49.090114 -104.178335,49.090114 -104.178335,49.090115 -104.178326,49.090186 -104.178353,49.090434 -104.178353,49.090434 -104.178353,49.090436 -104.178353,49.090439 -104.178353,49.090439 -104.178297,49.090737 -104.178301,49.090996 -104.178301,49.090996 -104.178301,49.090996 -104.178301,49.090996 -104.178207,49.091488 -104.178207,49.091488 -104.178153,49.091770 -104.178120,49.091887 -104.178046,49.092226 -104.178039,49.092354 -104.177954,49.092612 -104.177917,49.092665 -104.177905,49.092709 -104.177901,49.092761 -104.177878,49.092804 -104.177847,49.092909 -104.177391,49.093738 -104.176242,49.095323 -104.175548,49.096077 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-104.176092,49.076535 -104.176092,49.076535 -104.176092,49.076535 -104.176092,49.076535 -104.176092,49.076535 -104.176092,49.076535 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-104.171434,49.089793 -104.171434,49.089793 -104.171434,49.089793 -104.171434,49.089793 -104.171434,49.089793 -104.171434,49.089793 -104.171434,49.089793 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-104.596167,49.012920 -104.389131,49.077737</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-104.394122,49.042516 -104.392244,49.041269 -104.391792,49.040550 -104.391995,49.038242 -104.389743,49.035983 -104.389659,49.035610 -104.389131,49.033277 -104.389752,49.027686 -104.390670,49.025976 -104.392294,49.026103 -104.393082,49.025740 -104.394684,49.025774 -104.396948,49.024885 -104.398620,49.025865 -104.401116,49.026002 -104.402528,49.025196 -104.403515,49.024432 -104.407046,49.024659 -104.410046,49.024460 -104.412123,49.025305 -104.413158,49.025395 -104.413472,49.024220 -104.415237,49.024332 -104.417284,49.026325 -104.418546,49.026773 -104.421823,49.025880 -104.425448,49.025238 -104.428314,49.023812 -104.429451,49.021793 -104.431847,49.022130 -104.435981,49.021819 -104.438904,49.020006 -104.439530,49.017656 -104.440253,49.017013 -104.442615,49.015922 -104.444062,49.014635 -104.445218,49.014617 -104.445991,49.012920 -104.447331,49.013074 -104.447019,49.014249 -104.446628,49.015718 -104.444855,49.016846 -104.442620,49.018496 -104.442691,49.019443 -104.442335,49.020432 -104.443278,49.021388 -104.445561,49.020591 -104.448298,49.020512 -104.450305,49.020410 -104.450242,49.018223 -104.450923,49.017393 -104.452250,49.016214 -104.453193,49.015262 -104.453753,49.014540 -104.454469,49.015137 -104.454767,49.016442 -104.453752,49.018354 -104.454092,49.019847 -104.455077,49.020989 -104.456800,49.020915 -104.458438,49.020467 -104.457495,49.021419 -104.458090,49.022123 -104.459728,49.021675 -104.460040,49.022408 -104.460217,49.023821 -104.462465,49.023504 -104.463124,49.024488 -104.464557,49.023774 -104.465663,49.022902 -104.467833,49.022879 -104.469570,49.024138 -104.470747,49.026120 -104.472577,49.026512 -104.474236,49.026157 -104.475371,49.026046 -104.475373,49.026182 -104.475384,49.026950 -104.476614,49.026765 -104.480720,49.026975 -104.488109,49.027888 -104.495376,49.029633 -104.500566,49.029119 -104.503924,49.028787 -104.510000,49.029417 -104.514216,49.031463 -104.518536,49.031240 -104.522245,49.031077 -104.525529,49.031778 -104.529221,49.030180 -104.532366,49.030278 -104.534290,49.030498 -104.533615,49.028923 -104.535983,49.029714 -104.540505,49.031728 -104.544555,49.034406 -104.548968,49.034583 -104.549866,49.033056 -104.551087,49.032935 -104.552252,49.035283 -104.555795,49.035752 -104.559199,49.035618 -104.565277,49.036245 -104.569265,49.037285 -104.569987,49.039061 -104.570264,49.040265 -104.566193,49.042929 -104.562529,49.043294 -104.559614,49.044201 -104.557801,49.045819 -104.559161,49.046299 -104.564509,49.047820 -104.566971,49.049012 -104.571006,49.050253 -104.575578,49.052467 -104.576532,49.055246 -104.580614,49.056688 -104.585807,49.056170 -104.590759,49.057318 -104.588714,49.057933 -104.585892,49.059241 -104.586263,49.060847 -104.587616,49.063998 -104.588006,49.067040 -104.588730,49.068816 -104.592342,49.070920 -104.596167,49.072591 -104.595576,49.074088 -104.589631,49.074065 -104.585148,49.072254 -104.579629,49.071366 -104.576148,49.072535 -104.572732,49.075340 -104.570102,49.074780 -104.567222,49.071781 -104.566908,49.074482 -104.565158,49.077737 -104.562741,49.076745 -104.562185,49.074336 -104.561648,49.073363 -104.561111,49.072390 -104.557806,49.070254 -104.554825,49.069524 -104.551677,49.069426 -104.549168,49.068033 -104.546614,49.066438 -104.545068,49.065155 -104.547651,49.065514 -104.550141,49.065472 -104.552280,49.065259 -104.548929,49.062923 -104.543718,49.062003 -104.539210,49.061424 -104.536564,49.059428 -104.531123,49.057504 -104.527578,49.057035 -104.524587,49.058974 -104.521912,49.058212 -104.520581,49.056496 -104.520426,49.054459 -104.523083,49.053785 -104.526610,49.052819 -104.526380,49.051815 -104.524455,49.051595 -104.523049,49.050913 -104.521764,49.049398 -104.519015,49.049671 -104.517413,49.050856 -104.515610,49.049803 -104.514313,49.050958 -104.511806,49.049564 -104.510949,49.047185 -104.506368,49.047638 -104.502748,49.048202 -104.503070,49.049607 -104.505133,49.050430 -104.506890,49.051282 -104.505455,49.051835 -104.503317,49.052046 -104.502584,49.052940 -104.499530,49.053242 -104.496351,49.050272 -104.492469,49.046960 -104.490224,49.045334 -104.486711,49.043628 -104.483305,49.043759 -104.481717,49.042274 -104.477608,49.037957 -104.474740,49.036669 -104.473847,49.037164 -104.473606,49.039286 -104.473017,49.041156 -104.465625,49.042457 -104.463490,49.042000 -104.462965,49.040335 -104.461908,49.040153 -104.460532,49.040479 -104.460205,49.042228 -104.457410,49.042694 -104.455558,49.044116 -104.451769,49.044680 -104.450491,49.046713 -104.449206,49.048079 -104.447241,49.048368 -104.447027,49.049343 -104.446225,49.050280 -104.444956,49.049165 -104.444218,49.048474 -104.441799,49.048045 -104.440920,49.047368 -104.439812,49.048240 -104.437584,49.048650 -104.435853,49.048057 -104.433809,49.048639 -104.431871,49.049688 -104.430033,49.050536 -104.428349,49.052704 -104.427277,49.053095 -104.426171,49.052059 -104.425853,49.050660 -104.426031,49.050165 -104.424605,49.049638 -104.423165,49.049684 -104.423029,49.050365 -104.422093,49.050075 -104.421314,49.049198 -104.420725,49.049160 -104.419922,49.050097 -104.418901,49.049434 -104.417639,49.048986 -104.415709,49.048794 -104.414425,49.048252 -104.412148,49.047807 -104.411873,49.046595 -104.410916,49.046212 -104.410630,49.048147 -104.409394,49.048459 -104.407963,49.047264 -104.406311,49.046377 -104.405070,49.046021 -104.403914,49.046039 -104.403011,49.047177 -104.403563,49.047695 -104.400187,49.046881 -104.399692,49.045976 -104.399418,49.044763 -104.398113,49.044128 -104.396501,49.045334 -104.395945,49.046724 -104.393973,49.046344 -104.393720,49.045225 -104.394774,49.042833 -104.394122,49.042516 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-105.674821,49.327467 -105.221136,49.510358</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-105.658832,49.509046 -105.657618,49.509440 -105.655096,49.510065 -105.653787,49.510297 -105.652435,49.510358 -105.649737,49.510308 -105.648391,49.510196 -105.647106,49.509915 -105.644643,49.509196 -105.643466,49.508757 -105.642443,49.508177 -105.640591,49.506899 -105.639762,49.506200 -105.639447,49.505837 -105.638871,49.505094 -105.638809,49.504971 -105.638609,49.504713 -105.628741,49.488368 -105.628635,49.488574 -105.627531,49.490177 -105.626857,49.490943 -105.625967,49.491609 -105.624004,49.492815 -105.622931,49.493354 -105.621718,49.493748 -105.619196,49.494372 -105.617888,49.494604 -105.617635,49.494615 -105.617485,49.494640 -105.617262,49.494636 -105.617083,49.494676 -105.603101,49.495664 -105.602801,49.495652 -105.601948,49.495682 -105.599653,49.495594 -105.598512,49.495487 -105.597227,49.495206 -105.594766,49.494485 -105.593590,49.494046 -105.593055,49.493771 -105.592028,49.493187 -105.591879,49.493073 -105.591537,49.492879 -105.586661,49.489500 -105.554629,49.493881 -105.554494,49.493880 -105.554352,49.493915 -105.554234,49.493921 -105.554075,49.493949 -105.552723,49.494009 -105.550026,49.493956 -105.548681,49.493842 -105.547397,49.493560 -105.544937,49.492838 -105.543762,49.492399 -105.542741,49.491818 -105.540892,49.490538 -105.540065,49.489838 -105.539736,49.489455 -105.539136,49.488668 -105.539067,49.488529 -105.538866,49.488265 -105.534514,49.480802 -105.529015,49.478519 -105.528894,49.478440 -105.528714,49.478387 -105.528604,49.478326 -105.528412,49.478254 -105.527363,49.477653 -105.525949,49.476662 -105.525671,49.476478 -105.525534,49.476366 -105.525500,49.476346 -105.525472,49.476326 -105.525044,49.475962 -105.524718,49.475694 -105.524698,49.475668 -105.524674,49.475647 -105.524658,49.475620 -105.524629,49.475600 -105.522059,49.472843 -105.508201,49.468259 -105.507862,49.468125 -105.507747,49.468094 -105.506860,49.467744 -105.506532,49.467533 -105.506097,49.467395 -105.505456,49.467057 -105.505407,49.467020 -105.505143,49.466881 -105.499251,49.463377 -105.492852,49.464072 -105.492615,49.464067 -105.492426,49.464109 -105.491572,49.464166 -105.491491,49.464163 -105.491144,49.464186 -105.471200,49.464712 -105.470987,49.464699 -105.470790,49.464707 -105.470538,49.464694 -105.470080,49.464712 -105.449866,49.464172 -105.449425,49.464133 -105.449222,49.464135 -105.447941,49.464022 -105.447305,49.463946 -105.446324,49.463746 -105.444418,49.463254 -105.443866,49.463058 -105.443494,49.462961 -105.422210,49.454899 -105.421972,49.454799 -105.421930,49.454787 -105.421380,49.454555 -105.421125,49.454386 -105.420804,49.454284 -105.420209,49.453972 -105.420167,49.453942 -105.419918,49.453811 -105.408133,49.446903 -105.408111,49.446886 -105.408044,49.446850 -105.397211,49.440384 -105.396930,49.440163 -105.396561,49.439939 -105.396094,49.439572 -105.395972,49.439491 -105.395426,49.439041 -105.395225,49.438908 -105.382109,49.426691 -105.382042,49.426583 -105.381901,49.426485 -105.381689,49.426214 -105.381449,49.426002 -105.381353,49.425835 -105.381206,49.425725 -105.373255,49.415880 -105.359226,49.404010 -105.351701,49.397962 -105.349178,49.397906 -105.347838,49.397790 -105.346743,49.397559 -105.344628,49.396980 -105.343885,49.396709 -105.343608,49.396633 -105.331274,49.391539 -105.327507,49.391942 -105.326158,49.391999 -105.323468,49.391939 -105.322231,49.391832 -105.321462,49.392335 -105.320859,49.392648 -105.320619,49.392805 -105.311660,49.397031 -105.311453,49.397087 -105.311254,49.397209 -105.311100,49.397260 -105.310847,49.397386 -105.309431,49.397823 -105.308292,49.398075 -105.307340,49.398333 -105.305806,49.398619 -105.305534,49.398630 -105.305379,49.398656 -105.305142,49.398650 -105.304952,49.398692 -105.291808,49.399549 -105.291496,49.399535 -105.290671,49.399561 -105.288407,49.399464 -105.287282,49.399354 -105.286002,49.399069 -105.283552,49.398341 -105.282382,49.397898 -105.281625,49.397486 -105.280209,49.396595 -105.279854,49.396308 -105.279550,49.396117 -105.276414,49.393484 -105.274450,49.393241 -105.267905,49.393937 -105.266555,49.393993 -105.263865,49.393932 -105.262525,49.393815 -105.261245,49.393529 -105.258796,49.392800 -105.257627,49.392357 -105.256121,49.391649 -105.239747,49.394179 -105.239522,49.394179 -105.239265,49.394242 -105.239092,49.394251 -105.238782,49.394304 -105.237433,49.394360 -105.234743,49.394297 -105.233403,49.394180 -105.232123,49.393894 -105.229675,49.393164 -105.228506,49.392721 -105.227492,49.392137 -105.225657,49.390851 -105.224837,49.390150 -105.224430,49.389652 -105.223714,49.388627 -105.223596,49.388374 -105.223405,49.388100 -105.221669,49.384471 -105.221582,49.384228 -105.221540,49.384163 -105.221316,49.383542 -105.221316,49.383395 -105.221220,49.383228 -105.221136,49.382347 -105.221232,49.380592 -105.221412,49.379717 -105.221850,49.378882 -105.222968,49.377284 -105.223647,49.376521 -105.224541,49.375859 -105.226510,49.374662 -105.227585,49.374127 -105.228325,49.373868 -105.228640,49.373773 -105.228640,49.373773 -105.228640,49.373773 -105.229848,49.373409 -105.230210,49.373337 -105.230631,49.373211 -105.246490,49.369895 -105.246873,49.369835 -105.246984,49.369805 -105.247982,49.369648 -105.248215,49.369648 -105.248485,49.369582 -105.249195,49.369531 -105.250621,49.369478 -105.250877,49.369493 -105.251336,49.369475 -105.267306,49.369958 -105.267744,49.369997 -105.267941,49.369996 -105.269204,49.370111 -105.269831,49.370188 -105.269901,49.370203 -105.269963,49.370209 -105.270028,49.370228 -105.270095,49.370230 -105.282413,49.372291 -105.289712,49.372341 -105.291041,49.369554 -105.291193,49.369356 -105.291454,49.368883 -105.292440,49.367592 -105.293013,49.366973 -105.293644,49.366479 -105.295007,49.365554 -105.295447,49.365322 -105.295739,49.365124 -105.303880,49.360986 -105.304134,49.360871 -105.304176,49.360844 -105.304779,49.360570 -105.304940,49.360527 -105.305086,49.360438 -105.306299,49.360049 -105.308714,49.359458 -105.308840,49.358982 -105.308998,49.358612 -105.309363,49.357883 -105.309437,49.357788 -105.309569,49.357524 -105.316041,49.347557 -105.317605,49.339350 -105.317659,49.339150 -105.317660,49.339112 -105.317789,49.338640 -105.317857,49.338536 -105.317864,49.338405 -105.318299,49.337570 -105.319412,49.335971 -105.320089,49.335207 -105.320622,49.334780 -105.321764,49.333972 -105.322060,49.333813 -105.322373,49.333591 -105.329693,49.329539 -105.330010,49.329388 -105.330093,49.329333 -105.330915,49.328943 -105.331129,49.328884 -105.331337,49.328757 -105.332549,49.328368 -105.333418,49.328155 -105.333418,49.328155 -105.333418,49.328154 -105.335065,49.327751 -105.336369,49.327523 -105.337717,49.327467 -105.340402,49.327526 -105.341741,49.327642 -105.342668,49.327830 -105.344472,49.328289 -105.344951,49.328459 -105.345349,49.328560 -105.354533,49.331933 -105.354802,49.332045 -105.354859,49.332061 -105.355502,49.332329 -105.355628,49.332412 -105.355817,49.332468 -105.356832,49.333051 -105.358668,49.334333 -105.359489,49.335034 -105.359782,49.335375 -105.360323,49.336073 -105.360376,49.336180 -105.360570,49.336430 -105.363395,49.341030 -105.363520,49.341322 -105.363637,49.341496 -105.364041,49.342442 -105.364204,49.342923 -105.364291,49.343803 -105.364201,49.345559 -105.364024,49.346434 -105.363914,49.346592 -105.363899,49.346736 -105.363617,49.347333 -105.363571,49.347394 -105.363460,49.347629 -105.357730,49.357313 -105.354262,49.364155 -105.376331,49.371247 -105.376690,49.371388 -105.376831,49.371425 -105.377807,49.371806 -105.378283,49.372010 -105.378841,49.372302 -105.379909,49.372921 -105.380075,49.373049 -105.380419,49.373249 -105.395687,49.384140 -105.395954,49.384370 -105.396096,49.384460 -105.396688,49.384970 -105.396927,49.385197 -105.396932,49.385200 -105.397039,49.385273 -105.413467,49.401575 -105.420857,49.405030 -105.421814,49.405570 -105.423560,49.406756 -105.424242,49.407328 -105.424349,49.407401 -105.432487,49.415466 -105.444464,49.423215 -105.444755,49.423452 -105.445001,49.423604 -105.445376,49.423912 -105.445442,49.423973 -105.445725,49.424152 -105.451985,49.429510 -105.466133,49.430974 -105.488582,49.431149 -105.489042,49.431185 -105.489326,49.431181 -105.490803,49.431297 -105.491537,49.431381 -105.491798,49.431458 -105.492029,49.431468 -105.493002,49.431666 -105.493109,49.431700 -105.493483,49.431776 -105.515853,49.437523 -105.516157,49.437631 -105.516574,49.437724 -105.537414,49.443984 -105.555302,49.445689 -105.562361,49.443498 -105.562775,49.443413 -105.563254,49.443269 -105.565082,49.442893 -105.566015,49.442747 -105.566605,49.442700 -105.567789,49.442638 -105.567956,49.442646 -105.568383,49.442623 -105.587639,49.442697 -105.588100,49.442732 -105.588398,49.442727 -105.589908,49.442842 -105.590658,49.442927 -105.590750,49.442947 -105.590829,49.442954 -105.590914,49.442979 -105.591000,49.442981 -105.614605,49.446936 -105.614733,49.446975 -105.615111,49.447043 -105.615984,49.447227 -105.616137,49.447277 -105.616547,49.447364 -105.646275,49.455548 -105.646681,49.455696 -105.646953,49.455764 -105.648270,49.456243 -105.648909,49.456505 -105.649930,49.457085 -105.651780,49.458363 -105.652609,49.459061 -105.652680,49.459154 -105.652750,49.459215 -105.652802,49.459304 -105.652891,49.459368 -105.661202,49.468817 -105.661277,49.468954 -105.661712,49.469537 -105.662531,49.471026 -105.662839,49.471794 -105.663625,49.474821 -105.666400,49.476296 -105.666617,49.476456 -105.667212,49.476805 -105.668698,49.477901 -105.669372,49.478489 -105.669976,49.479279 -105.670936,49.480921 -105.671293,49.481773 -105.672418,49.486103 -105.674429,49.490884 -105.674493,49.491071 -105.674512,49.491101 -105.674661,49.491540 -105.674660,49.491646 -105.674727,49.491760 -105.674821,49.492641 -105.674744,49.494397 -105.674573,49.495273 -105.674143,49.496111 -105.673039,49.497714 -105.672366,49.498481 -105.672270,49.498553 -105.672214,49.498615 -105.672115,49.498676 -105.672062,49.498749 -105.662453,49.506901 -105.662296,49.506994 -105.661621,49.507490 -105.659811,49.508563 -105.658832,49.509046 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-106.852294,48.990321 -106.490447,49.213350</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-106.834003,48.990828 -106.838907,48.992204 -106.842638,48.994710 -106.844629,48.997965 -106.844865,48.999674 -106.843566,49.171230 -106.848083,49.174069 -106.850073,49.175642 -106.852073,49.178898 -106.852294,49.181008 -106.850506,49.204795 -106.850231,49.206196 -106.848130,49.209426 -106.844303,49.211884 -106.839330,49.213194 -106.836791,49.213350 -106.691467,49.213255 -106.688647,49.213059 -106.683722,49.211675 -106.679981,49.209161 -106.677993,49.205900 -106.672060,49.184953 -106.672128,49.181442 -106.674241,49.178216 -106.674604,49.177984 -106.674783,49.177734 -106.681099,49.172490 -106.680529,49.126111 -106.621322,49.125432 -106.619969,49.132782 -106.619767,49.133579 -106.617652,49.136803 -106.613817,49.139251 -106.608846,49.140549 -106.606239,49.140698 -106.517100,49.140148 -106.514359,49.139947 -106.509448,49.138554 -106.505724,49.136034 -106.503753,49.132771 -106.503554,49.131694 -106.501053,49.104454 -106.496162,49.101341 -106.494188,49.099762 -106.492220,49.096499 -106.490447,49.090123 -106.490531,49.086614 -106.492653,49.083393 -106.496489,49.080950 -106.498215,49.080331 -106.497188,49.079635 -106.495221,49.076372 -106.495005,49.075042 -106.493192,49.037613 -106.493491,49.035435 -106.495610,49.032214 -106.499442,49.029772 -106.499945,49.029641 -106.500275,49.029445 -106.501347,49.029057 -106.504585,49.025976 -106.503714,49.024529 -106.503492,49.022763 -106.504086,48.999166 -106.504389,48.997424 -106.506506,48.994203 -106.510333,48.991761 -106.515289,48.990468 -106.517805,48.990321 -106.831186,48.990637 -106.834003,48.990828 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-107.745586,48.990947 -107.194601,49.227147</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-107.733399,49.165628 -107.734399,49.165695 -107.739353,49.167026 -107.743154,49.169498 -107.745222,49.172736 -107.745497,49.174491 -107.745586,49.188953 -107.745333,49.190709 -107.743302,49.193958 -107.739529,49.196450 -107.734588,49.197806 -107.731945,49.197986 -107.720834,49.198032 -107.720834,49.198032 -107.709441,49.198078 -107.709385,49.198074 -107.709330,49.198078 -107.698275,49.198062 -107.686926,49.198047 -107.678364,49.198038 -107.678261,49.203543 -107.678281,49.218129 -107.678025,49.219866 -107.675988,49.223114 -107.672208,49.225604 -107.667261,49.226957 -107.664501,49.227135 -107.653413,49.227112 -107.653408,49.227112 -107.653402,49.227112 -107.642113,49.227082 -107.631130,49.227112 -107.631123,49.227112 -107.631117,49.227112 -107.619785,49.227135 -107.619764,49.227134 -107.619745,49.227135 -107.608681,49.227135 -107.597355,49.227135 -107.586299,49.227139 -107.574972,49.227147 -107.574944,49.227145 -107.574917,49.227147 -107.563849,49.227124 -107.552519,49.227105 -107.541458,49.227097 -107.541456,49.227097 -107.541453,49.227097 -107.530095,49.227086 -107.519063,49.227078 -107.507751,49.227074 -107.507748,49.227074 -107.507746,49.227074 -107.496681,49.227067 -107.496679,49.227066 -107.496677,49.227067 -107.485367,49.227055 -107.474321,49.227074 -107.463246,49.227097 -107.460517,49.226923 -107.455565,49.225578 -107.451776,49.223094 -107.449728,49.219849 -107.449465,49.218121 -107.449444,49.212444 -107.440512,49.212456 -107.429445,49.212471 -107.418378,49.212490 -107.415648,49.212315 -107.410699,49.210968 -107.406914,49.208482 -107.404870,49.205236 -107.404609,49.203496 -107.404602,49.192826 -107.401412,49.190805 -107.395872,49.190807 -107.393168,49.190631 -107.388223,49.189283 -107.386352,49.188294 -107.378970,49.183641 -107.373151,49.183646 -107.373146,49.183646 -107.373140,49.183646 -107.363815,49.183650 -107.361103,49.183474 -107.356159,49.182123 -107.352380,49.179636 -107.350342,49.176389 -107.350084,49.174645 -107.350092,49.168963 -107.341288,49.168955 -107.338600,49.168778 -107.333659,49.167427 -107.329883,49.164939 -107.327847,49.161692 -107.327590,49.159988 -107.327561,49.154331 -107.319037,49.154337 -107.308024,49.154345 -107.297033,49.154356 -107.294296,49.154178 -107.289357,49.152824 -107.285585,49.150334 -107.283553,49.147087 -107.283298,49.145371 -107.283288,49.139893 -107.274526,49.139875 -107.263572,49.139871 -107.263570,49.139871 -107.263567,49.139871 -107.252327,49.139864 -107.252310,49.139862 -107.252292,49.139863 -107.241387,49.139837 -107.241385,49.139837 -107.241383,49.139837 -107.230478,49.139806 -107.227808,49.139626 -107.222873,49.138269 -107.219106,49.135777 -107.217080,49.132528 -107.216828,49.130812 -107.216825,49.116163 -107.216826,49.116162 -107.216825,49.116160 -107.216827,49.110666 -107.208305,49.110657 -107.205596,49.110477 -107.200666,49.109119 -107.196902,49.106626 -107.194880,49.103377 -107.194629,49.101654 -107.194649,49.087185 -107.194653,49.072540 -107.194635,49.057900 -107.194636,49.057897 -107.194635,49.057894 -107.194632,49.043430 -107.194622,49.028780 -107.194622,49.028779 -107.194611,49.014379 -107.194611,49.014379 -107.194601,49.000250 -107.194876,48.998450 -107.196939,48.995215 -107.200726,48.992745 -107.205661,48.991417 -107.208254,48.991252 -107.219232,48.991245 -107.230187,48.991229 -107.230192,48.991230 -107.230197,48.991229 -107.241448,48.991218 -107.241449,48.991218 -107.241450,48.991218 -107.252413,48.991207 -107.263651,48.991187 -107.263658,48.991188 -107.263667,48.991187 -107.274649,48.991176 -107.285882,48.991161 -107.285883,48.991161 -107.285884,48.991161 -107.296855,48.991145 -107.308100,48.991123 -107.308104,48.991123 -107.308109,48.991123 -107.319070,48.991104 -107.319071,48.991104 -107.319073,48.991104 -107.330318,48.991084 -107.341563,48.991058 -107.341567,48.991058 -107.341572,48.991058 -107.352573,48.991035 -107.363558,48.991004 -107.363563,48.991005 -107.363569,48.991004 -107.374847,48.990978 -107.385851,48.990947 -107.388597,48.991123 -107.393520,48.992470 -107.397284,48.994955 -107.399318,48.998198 -107.399576,48.999954 -107.399543,49.014366 -107.399551,49.019966 -107.407881,49.019931 -107.419058,49.019746 -107.419211,49.019755 -107.419390,49.019743 -107.430308,49.019736 -107.441524,49.019615 -107.444427,49.019788 -107.449355,49.021133 -107.451607,49.022373 -107.462586,49.029879 -107.464104,49.031121 -107.466145,49.034363 -107.466407,49.036116 -107.466404,49.050542 -107.466515,49.056231 -107.475230,49.056211 -107.475270,49.056213 -107.475311,49.056211 -107.486264,49.056226 -107.486266,49.056226 -107.486267,49.056226 -107.497235,49.056241 -107.499876,49.056414 -107.504809,49.057756 -107.508586,49.060237 -107.510632,49.063478 -107.510895,49.065237 -107.510893,49.075949 -107.514038,49.077977 -107.519769,49.077969 -107.522463,49.078141 -107.527400,49.079482 -107.529690,49.080743 -107.540562,49.088200 -107.542053,49.089418 -107.544102,49.092660 -107.544368,49.094417 -107.544372,49.099911 -107.552887,49.099903 -107.555569,49.100074 -107.560510,49.101413 -107.562730,49.102626 -107.569683,49.107317 -107.575147,49.107322 -107.575148,49.107322 -107.575150,49.107322 -107.586083,49.107333 -107.597329,49.107322 -107.597330,49.107322 -107.597331,49.107322 -107.608330,49.107311 -107.608349,49.107312 -107.608368,49.107311 -107.619627,49.107318 -107.619628,49.107318 -107.619629,49.107318 -107.630603,49.107326 -107.641897,49.107330 -107.641899,49.107330 -107.641900,49.107330 -107.652901,49.107333 -107.664147,49.107322 -107.664148,49.107322 -107.664149,49.107322 -107.675140,49.107311 -107.675163,49.107312 -107.675186,49.107311 -107.686414,49.107322 -107.689025,49.107489 -107.693971,49.108822 -107.696083,49.109957 -107.707086,49.117176 -107.714298,49.121806 -107.719702,49.121806 -107.722329,49.121972 -107.727277,49.123304 -107.731073,49.125776 -107.733139,49.129014 -107.733413,49.130807 -107.733402,49.145279 -107.733400,49.159945 -107.733400,49.159945 -107.733400,49.159945 -107.733399,49.165628 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-106.215546,49.992656 -105.741858,50.178565</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-105.838560,49.998533 -105.841762,50.000557 -105.845761,50.004062 -105.845939,50.004332 -105.846321,50.004591 -105.847546,50.006163 -105.849344,50.009168 -105.858437,50.013305 -105.858620,50.013430 -105.858840,50.013496 -105.877887,50.022830 -105.878100,50.022979 -105.879471,50.023735 -105.889133,50.030160 -105.895699,50.032415 -105.902151,50.032062 -105.908891,50.029389 -105.921180,50.021193 -105.921218,50.021173 -105.921266,50.021137 -105.945226,50.005422 -105.947721,50.004123 -105.948165,50.004013 -105.948464,50.003840 -105.966358,49.997489 -105.970711,49.996502 -105.976171,49.996586 -105.978149,49.996972 -105.983528,49.998308 -105.992412,49.999386 -105.992625,49.999444 -105.992878,49.999448 -105.997874,50.000871 -106.000682,50.002557 -106.011607,50.011202 -106.012571,50.012064 -106.014545,50.015347 -106.014754,50.016916 -106.014741,50.022675 -106.017667,50.031509 -106.018734,50.033544 -106.021855,50.033720 -106.023683,50.033902 -106.028685,50.035324 -106.031382,50.036920 -106.039759,50.043368 -106.053761,50.044988 -106.054017,50.045056 -106.054328,50.045061 -106.059332,50.046482 -106.061987,50.048044 -106.067410,50.052172 -106.068155,50.052824 -106.068272,50.052900 -106.075208,50.059418 -106.085343,50.064273 -106.088801,50.066667 -106.090125,50.068384 -106.094619,50.076205 -106.097911,50.080762 -106.101562,50.084353 -106.115132,50.085819 -106.115449,50.085902 -106.115844,50.085908 -106.117086,50.086124 -106.137632,50.090351 -106.142741,50.089336 -106.144436,50.089073 -106.149910,50.089147 -106.153603,50.090037 -106.163807,50.093617 -106.165126,50.094143 -106.165404,50.094330 -106.165720,50.094425 -106.169146,50.096144 -106.181125,50.097183 -106.182272,50.097314 -106.187287,50.098728 -106.188833,50.099533 -106.199891,50.106176 -106.202137,50.107912 -106.204130,50.111193 -106.204344,50.112562 -106.204625,50.120255 -106.213518,50.129110 -106.213529,50.129128 -106.213551,50.129143 -106.215546,50.132424 -106.215436,50.135946 -106.213708,50.138711 -106.203391,50.149572 -106.195794,50.162016 -106.194235,50.163886 -106.193459,50.164535 -106.181257,50.173837 -106.178075,50.175628 -106.172964,50.176909 -106.170447,50.177047 -106.156890,50.177010 -106.153922,50.176797 -106.148898,50.175381 -106.148767,50.175293 -106.148605,50.175246 -106.140689,50.171493 -106.135587,50.172417 -106.134600,50.172562 -106.134529,50.172580 -106.107768,50.176012 -106.107614,50.176011 -106.107461,50.176049 -106.105152,50.176186 -106.083025,50.176317 -106.079850,50.176103 -106.075976,50.175148 -106.068034,50.172262 -106.060696,50.172588 -106.056675,50.172394 -106.051656,50.170973 -106.047866,50.168426 -106.047745,50.168227 -106.047546,50.168087 -106.043663,50.163756 -106.042613,50.164004 -106.040630,50.164135 -106.021041,50.164532 -106.003136,50.167967 -105.984173,50.172047 -105.982125,50.172380 -105.976641,50.172296 -105.974655,50.171910 -105.960072,50.168299 -105.943137,50.167432 -105.942118,50.169338 -105.940317,50.171602 -105.936345,50.174032 -105.933305,50.174962 -105.918188,50.178227 -105.916109,50.178565 -105.910624,50.178478 -105.905609,50.177049 -105.901828,50.174496 -105.901812,50.174471 -105.901784,50.174452 -105.897150,50.169686 -105.894560,50.169885 -105.892398,50.169813 -105.890458,50.169811 -105.874596,50.168016 -105.874304,50.167938 -105.873946,50.167932 -105.868933,50.166501 -105.865155,50.163947 -105.864436,50.163124 -105.859206,50.156322 -105.856768,50.155667 -105.854084,50.154713 -105.850870,50.152688 -105.846468,50.148843 -105.843101,50.149526 -105.837621,50.149435 -105.832612,50.148002 -105.828870,50.145480 -105.817929,50.134443 -105.817918,50.134425 -105.817896,50.134410 -105.816096,50.131641 -105.809082,50.112271 -105.809081,50.112023 -105.808919,50.111751 -105.808758,50.110914 -105.806009,50.087829 -105.794620,50.073907 -105.794404,50.073496 -105.793785,50.072669 -105.788297,50.062515 -105.772667,50.056950 -105.771354,50.056419 -105.769882,50.055646 -105.756017,50.047301 -105.754663,50.046245 -105.754113,50.045890 -105.746820,50.039190 -105.746695,50.038993 -105.746435,50.038816 -105.744482,50.035527 -105.742045,50.026320 -105.741858,50.024422 -105.742588,50.013289 -105.742924,50.011667 -105.745153,50.008452 -105.749121,50.006031 -105.750120,50.005661 -105.779930,49.995667 -105.784032,49.994777 -105.784383,49.994783 -105.784675,49.994716 -105.810461,49.992656 -105.815277,49.992810 -105.816974,49.993132 -105.835267,49.997422 -105.838560,49.998533 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-107.181693,50.367565 -107.014895,50.435306</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-107.021398,50.396425 -107.021209,50.396325 -107.019273,50.395069 -107.018402,50.394380 -107.018292,50.394207 -107.018132,50.394095 -107.017624,50.393512 -107.017583,50.393439 -107.017388,50.393215 -107.016715,50.392287 -107.016569,50.391998 -107.016400,50.391772 -107.015871,50.390721 -107.015656,50.390185 -107.015531,50.389303 -107.015540,50.388555 -107.015474,50.388452 -107.015082,50.387602 -107.014959,50.386881 -107.014895,50.385434 -107.014965,50.384931 -107.014955,50.384709 -107.015117,50.383931 -107.015199,50.383794 -107.015201,50.383615 -107.015251,50.383506 -107.015285,50.383299 -107.015697,50.382453 -107.016771,50.380830 -107.017433,50.380052 -107.018320,50.379371 -107.020284,50.378134 -107.021361,50.377577 -107.022587,50.377165 -107.025141,50.376503 -107.026470,50.376252 -107.027850,50.376083 -107.030124,50.375371 -107.030559,50.375278 -107.030994,50.375143 -107.032772,50.374763 -107.033682,50.374611 -107.035061,50.374531 -107.037593,50.374542 -107.038126,50.374455 -107.038330,50.374451 -107.038554,50.374393 -107.039758,50.374313 -107.042169,50.374286 -107.043104,50.374341 -107.043376,50.374338 -107.045774,50.374576 -107.046725,50.374630 -107.047058,50.374661 -107.047127,50.374660 -107.047926,50.374736 -107.047973,50.374747 -107.048346,50.374667 -107.048713,50.374605 -107.048805,50.374579 -107.049730,50.374424 -107.049950,50.374420 -107.050197,50.374356 -107.050942,50.374290 -107.052438,50.374211 -107.052718,50.374222 -107.053189,50.374197 -107.059021,50.374284 -107.060015,50.374162 -107.062301,50.373881 -107.063680,50.373800 -107.066436,50.373812 -107.067814,50.373905 -107.068522,50.374023 -107.069916,50.374305 -107.070153,50.374378 -107.070602,50.374469 -107.074697,50.375608 -107.075094,50.375748 -107.075285,50.375793 -107.076430,50.376196 -107.076989,50.376414 -107.078054,50.376981 -107.079534,50.377939 -107.080122,50.377942 -107.081047,50.378004 -107.081054,50.377363 -107.081198,50.376482 -107.081609,50.375636 -107.082680,50.374012 -107.083341,50.373233 -107.083987,50.372710 -107.085394,50.371731 -107.085874,50.371470 -107.086155,50.371275 -107.088719,50.369948 -107.088957,50.369837 -107.088991,50.369815 -107.089545,50.369555 -107.089695,50.369514 -107.089827,50.369430 -107.090355,50.369228 -107.091434,50.368855 -107.091600,50.368817 -107.091987,50.368683 -107.093628,50.368228 -107.094082,50.368139 -107.094352,50.368057 -107.095825,50.367766 -107.096574,50.367646 -107.097953,50.367565 -107.100709,50.367576 -107.102086,50.367668 -107.103408,50.367930 -107.105948,50.368615 -107.107166,50.369037 -107.108231,50.369603 -107.110168,50.370857 -107.111040,50.371545 -107.111686,50.372328 -107.112725,50.373961 -107.113119,50.374810 -107.113124,50.374833 -107.113292,50.375036 -107.114332,50.376669 -107.114726,50.377518 -107.114854,50.378400 -107.114851,50.378654 -107.115262,50.378901 -107.116345,50.379306 -107.116702,50.379230 -107.117600,50.379079 -107.121220,50.378633 -107.122599,50.378551 -107.125356,50.378561 -107.126733,50.378653 -107.127739,50.378835 -107.129698,50.379293 -107.130263,50.379477 -107.130651,50.379568 -107.134404,50.380873 -107.134575,50.380940 -107.135359,50.380893 -107.138116,50.380903 -107.139494,50.380994 -107.139501,50.380996 -107.139508,50.380996 -107.139515,50.380998 -107.139523,50.380998 -107.141993,50.381325 -107.142006,50.381328 -107.143309,50.381586 -107.145836,50.382268 -107.147047,50.382688 -107.148113,50.383253 -107.150052,50.384507 -107.150925,50.385194 -107.151572,50.385978 -107.152613,50.387610 -107.153008,50.388459 -107.153377,50.389677 -107.153506,50.390559 -107.153491,50.392322 -107.153435,50.392665 -107.154779,50.393474 -107.155287,50.393860 -107.155541,50.394012 -107.157920,50.395993 -107.157994,50.396098 -107.159865,50.396818 -107.159992,50.396896 -107.160179,50.396946 -107.160293,50.397005 -107.160492,50.397074 -107.161559,50.397639 -107.163499,50.398892 -107.164372,50.399580 -107.165019,50.400363 -107.166062,50.401995 -107.166243,50.402384 -107.167834,50.403411 -107.168707,50.404098 -107.168747,50.404146 -107.168791,50.404181 -107.168821,50.404229 -107.168875,50.404264 -107.170873,50.406291 -107.170924,50.406373 -107.171017,50.406487 -107.171088,50.406537 -107.171487,50.406992 -107.171529,50.407065 -107.171725,50.407289 -107.172013,50.407684 -107.172095,50.407723 -107.172124,50.407742 -107.172348,50.407849 -107.174697,50.409074 -107.174966,50.409265 -107.175471,50.409544 -107.176436,50.410227 -107.176550,50.410299 -107.177306,50.410887 -107.177395,50.410944 -107.179321,50.412727 -107.179348,50.412768 -107.179399,50.412801 -107.179429,50.412838 -107.179477,50.412875 -107.180124,50.413658 -107.181168,50.415290 -107.181564,50.416139 -107.181693,50.417021 -107.181680,50.418784 -107.181537,50.419665 -107.181198,50.420402 -107.180330,50.421827 -107.179903,50.422347 -107.179800,50.422516 -107.177319,50.425152 -107.175776,50.427030 -107.175608,50.427210 -107.175585,50.427248 -107.175183,50.427677 -107.175056,50.427762 -107.174973,50.427888 -107.174152,50.428530 -107.172340,50.429705 -107.171650,50.430068 -107.171334,50.430548 -107.170674,50.431327 -107.169789,50.432009 -107.167827,50.433250 -107.166751,50.433808 -107.165524,50.434222 -107.162968,50.434888 -107.161639,50.435141 -107.160948,50.435204 -107.159560,50.435286 -107.159325,50.435278 -107.158862,50.435306 -107.153909,50.435286 -107.153449,50.435255 -107.153220,50.435261 -107.151848,50.435170 -107.151165,50.435103 -107.149840,50.434841 -107.147295,50.434158 -107.146265,50.433801 -107.146155,50.433780 -107.143610,50.433096 -107.142390,50.432674 -107.141648,50.432305 -107.140245,50.431507 -107.139929,50.431274 -107.139586,50.431079 -107.138948,50.430605 -107.136680,50.429178 -107.136380,50.428945 -107.136180,50.428829 -107.135620,50.428394 -107.129617,50.426445 -107.126654,50.425806 -107.126569,50.425822 -107.126367,50.425821 -107.126203,50.425861 -107.125469,50.425926 -107.125412,50.425925 -107.125100,50.425952 -107.124137,50.426005 -107.122801,50.426438 -107.122380,50.426530 -107.121895,50.426682 -107.120746,50.426933 -107.120728,50.426938 -107.120630,50.426997 -107.117398,50.428245 -107.116813,50.428482 -107.116133,50.429466 -107.115520,50.430174 -107.114634,50.430856 -107.112671,50.432095 -107.111593,50.432653 -107.110961,50.432890 -107.109662,50.433322 -107.109413,50.433377 -107.108995,50.433516 -107.106053,50.434257 -107.105617,50.434338 -107.105433,50.434392 -107.104175,50.434626 -107.103538,50.434724 -107.102157,50.434806 -107.099396,50.434795 -107.098017,50.434703 -107.096692,50.434440 -107.094148,50.433755 -107.092929,50.433333 -107.092243,50.432995 -107.090941,50.432269 -107.090682,50.432080 -107.090325,50.431880 -107.089569,50.431341 -107.089323,50.431138 -107.089235,50.431085 -107.088598,50.430557 -107.088500,50.430418 -107.088294,50.430285 -107.088238,50.430216 -107.088051,50.430120 -107.086841,50.429385 -107.086534,50.429151 -107.086290,50.429010 -107.085260,50.428223 -107.084780,50.427811 -107.084134,50.427027 -107.083094,50.425393 -107.082700,50.424544 -107.082443,50.423691 -107.082150,50.422716 -107.082023,50.421834 -107.082025,50.421646 -107.081898,50.421619 -107.078934,50.421394 -107.078674,50.421367 -107.078637,50.421367 -107.078047,50.421306 -107.077913,50.421272 -107.077752,50.421272 -107.076897,50.421123 -107.075222,50.420759 -107.074849,50.420640 -107.074403,50.420543 -107.070912,50.419455 -107.070573,50.419330 -107.070469,50.419305 -107.069601,50.418984 -107.069434,50.418883 -107.069176,50.418813 -107.068368,50.418406 -107.067027,50.417621 -107.064427,50.417711 -107.063961,50.417689 -107.063519,50.417705 -107.062607,50.417662 -107.061633,50.418276 -107.060555,50.418833 -107.059328,50.419246 -107.056772,50.419909 -107.055442,50.420161 -107.055269,50.420160 -107.055126,50.420195 -107.054492,50.420254 -107.054450,50.420253 -107.054173,50.420278 -107.049904,50.420549 -107.049504,50.420535 -107.048837,50.420565 -107.046712,50.420494 -107.045654,50.420407 -107.044985,50.420297 -107.043668,50.420035 -107.043461,50.419972 -107.043019,50.419884 -107.041084,50.419363 -107.040675,50.419222 -107.040455,50.419170 -107.039230,50.418745 -107.038634,50.418513 -107.037568,50.417947 -107.035879,50.416852 -107.035857,50.416852 -107.035385,50.416823 -107.035105,50.416831 -107.033610,50.416738 -107.032866,50.416666 -107.031542,50.416403 -107.029001,50.415716 -107.027783,50.415293 -107.026717,50.414726 -107.024781,50.413470 -107.023909,50.412782 -107.023265,50.411997 -107.022228,50.410364 -107.021835,50.409514 -107.021744,50.409115 -107.021619,50.408313 -107.021628,50.408194 -107.021584,50.407910 -107.021398,50.396425 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-110.014343,50.885382 -109.148093,51.026458</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-109.496588,50.978602 -109.496165,50.978530 -109.493547,50.977905 -109.492287,50.977512 -109.491648,50.977229 -109.491507,50.977159 -109.491445,50.977145 -109.491417,50.977135 -109.491147,50.977080 -109.491069,50.977057 -109.490179,50.976879 -109.489906,50.976800 -109.489501,50.976721 -109.489071,50.976597 -109.488634,50.976513 -109.487791,50.976270 -109.487753,50.976261 -109.487609,50.976218 -109.487511,50.976189 -109.487496,50.976184 -109.487281,50.976134 -109.486630,50.975933 -109.486598,50.975926 -109.486547,50.975908 -109.486181,50.975794 -109.486070,50.975769 -109.485282,50.975471 -109.485235,50.975443 -109.485173,50.975428 -109.485125,50.975405 -109.485063,50.975386 -109.484969,50.975330 -109.484871,50.975283 -109.484730,50.975247 -109.484079,50.974957 -109.484032,50.974928 -109.483759,50.974807 -109.483297,50.974576 -109.483049,50.974412 -109.483032,50.974404 -109.482634,50.974204 -109.482397,50.974046 -109.482018,50.973856 -109.481614,50.973598 -109.481336,50.973391 -109.481222,50.973328 -109.480822,50.973029 -109.480815,50.973032 -109.480567,50.973169 -109.479817,50.973441 -109.479797,50.973450 -109.479049,50.973733 -109.478915,50.973767 -109.478551,50.973906 -109.477946,50.974096 -109.477491,50.974199 -109.477174,50.974304 -109.476162,50.974533 -109.476142,50.974537 -109.475856,50.974607 -109.475319,50.974791 -109.473385,50.975269 -109.472391,50.975463 -109.472065,50.975490 -109.471894,50.975524 -109.471635,50.975529 -109.471513,50.975555 -109.471397,50.975585 -109.471390,50.975586 -109.471287,50.975612 -109.470978,50.975674 -109.470857,50.975704 -109.469899,50.975889 -109.469805,50.975899 -109.469655,50.975931 -109.469545,50.975933 -109.469140,50.976005 -109.469108,50.976008 -109.468724,50.976090 -109.467582,50.976183 -109.467337,50.976211 -109.465983,50.976325 -109.465763,50.976323 -109.465302,50.976361 -109.464627,50.976377 -109.464281,50.976408 -109.464139,50.976413 -109.463586,50.976471 -109.463558,50.976475 -109.463138,50.976565 -109.462919,50.976583 -109.462781,50.976611 -109.462584,50.976615 -109.462424,50.976657 -109.461567,50.976754 -109.461371,50.976790 -109.460519,50.976999 -109.460135,50.977074 -109.460029,50.977107 -109.459039,50.977300 -109.458638,50.977317 -109.458235,50.977426 -109.457627,50.977497 -109.457588,50.977497 -109.457545,50.977502 -109.457523,50.977507 -109.456861,50.977580 -109.456608,50.977631 -109.456167,50.977726 -109.456092,50.977748 -109.455018,50.977913 -109.454973,50.977914 -109.454931,50.977926 -109.454889,50.977930 -109.454845,50.977939 -109.454297,50.977980 -109.454010,50.978004 -109.453789,50.978028 -109.453690,50.978036 -109.453611,50.978067 -109.453596,50.978070 -109.453580,50.978081 -109.452748,50.978404 -109.452652,50.978429 -109.452323,50.978557 -109.451358,50.978877 -109.451130,50.978930 -109.450880,50.979020 -109.450058,50.979248 -109.449692,50.979395 -109.449414,50.979468 -109.448748,50.979702 -109.448735,50.979708 -109.448716,50.979713 -109.448702,50.979723 -109.448685,50.979729 -109.448669,50.979738 -109.448664,50.979740 -109.448111,50.980015 -109.448050,50.980034 -109.447842,50.980143 -109.447836,50.980145 -109.447829,50.980149 -109.447685,50.980201 -109.447685,50.980201 -109.447428,50.980350 -109.446757,50.980692 -109.446547,50.980773 -109.446090,50.981025 -109.446046,50.981038 -109.445603,50.981255 -109.445475,50.981294 -109.445367,50.981366 -109.445259,50.981408 -109.445208,50.981436 -109.445125,50.981460 -109.444859,50.981563 -109.444768,50.981619 -109.443868,50.981965 -109.443756,50.981994 -109.443409,50.982127 -109.442847,50.982308 -109.442409,50.982409 -109.442297,50.982451 -109.442128,50.982501 -109.442040,50.982531 -109.441997,50.982540 -109.441883,50.982575 -109.441428,50.982674 -109.441168,50.982759 -109.439711,50.983079 -109.439440,50.983129 -109.439415,50.983137 -109.438992,50.983233 -109.438180,50.983384 -109.438145,50.983384 -109.438132,50.983388 -109.438039,50.983407 -109.437878,50.983462 -109.437029,50.983670 -109.436957,50.983690 -109.436867,50.983719 -109.436862,50.983721 -109.436858,50.983722 -109.436663,50.983785 -109.436604,50.983798 -109.436323,50.983904 -109.435982,50.984007 -109.435758,50.984132 -109.435177,50.984423 -109.435018,50.984468 -109.434910,50.984538 -109.434367,50.984760 -109.434328,50.984770 -109.434092,50.984867 -109.433269,50.985170 -109.432892,50.985265 -109.432295,50.985470 -109.431658,50.985630 -109.431125,50.985814 -109.430764,50.985900 -109.430340,50.986046 -109.429421,50.986276 -109.429026,50.986354 -109.428910,50.986390 -109.427877,50.986594 -109.427735,50.986600 -109.426995,50.986750 -109.426727,50.986772 -109.426681,50.986782 -109.426616,50.986789 -109.426515,50.986809 -109.426411,50.986811 -109.426239,50.986830 -109.426200,50.986841 -109.426118,50.986847 -109.426034,50.986868 -109.425750,50.986897 -109.425367,50.986973 -109.425247,50.987010 -109.424650,50.987128 -109.424120,50.987247 -109.423794,50.987307 -109.423731,50.987326 -109.422991,50.987462 -109.422169,50.987868 -109.422032,50.987909 -109.421914,50.987988 -109.421512,50.988138 -109.421231,50.988287 -109.421094,50.988326 -109.421048,50.988349 -109.420933,50.988384 -109.420803,50.988465 -109.420752,50.988485 -109.420725,50.988504 -109.420590,50.988554 -109.420401,50.988658 -109.420385,50.988664 -109.420168,50.988808 -109.419745,50.989112 -109.419386,50.989317 -109.419163,50.989485 -109.418634,50.989787 -109.418536,50.989837 -109.418465,50.989877 -109.418213,50.990061 -109.417357,50.990517 -109.417152,50.990617 -109.417129,50.990633 -109.416667,50.990860 -109.416350,50.990954 -109.416112,50.991106 -109.415461,50.991367 -109.415404,50.991382 -109.415129,50.991492 -109.414249,50.991804 -109.413838,50.991904 -109.413325,50.992078 -109.413115,50.992130 -109.412900,50.992200 -109.412368,50.992324 -109.411972,50.992453 -109.410709,50.992733 -109.410389,50.992791 -109.410331,50.992809 -109.409833,50.992900 -109.409603,50.992952 -109.409401,50.992990 -109.409387,50.992993 -109.408887,50.993087 -109.408849,50.993097 -109.408658,50.993176 -109.408444,50.993256 -109.408421,50.993262 -109.408305,50.993310 -109.408116,50.993360 -109.408078,50.993374 -109.408021,50.993390 -109.407200,50.993680 -109.406719,50.993809 -109.406648,50.993831 -109.406614,50.993839 -109.406570,50.993856 -109.405798,50.994097 -109.405061,50.994263 -109.404737,50.994364 -109.404349,50.994440 -109.404297,50.994442 -109.403242,50.994666 -109.403111,50.994677 -109.403085,50.994682 -109.403036,50.994683 -109.402879,50.994696 -109.402109,50.994975 -109.402014,50.995002 -109.401921,50.995035 -109.399369,50.995760 -109.398036,50.996043 -109.397993,50.996044 -109.397720,50.996101 -109.397524,50.996105 -109.397468,50.996111 -109.397420,50.996121 -109.397285,50.996156 -109.397194,50.996165 -109.397148,50.996174 -109.397097,50.996175 -109.396952,50.996191 -109.396939,50.996193 -109.396628,50.996262 -109.396338,50.996351 -109.395980,50.996418 -109.395918,50.996421 -109.395911,50.996422 -109.395862,50.996423 -109.395642,50.996464 -109.395552,50.996489 -109.395389,50.996504 -109.395125,50.996560 -109.394835,50.996595 -109.394767,50.996609 -109.393889,50.996701 -109.393844,50.996704 -109.393656,50.996762 -109.393125,50.996863 -109.393020,50.996867 -109.392158,50.997050 -109.391969,50.997066 -109.391929,50.997074 -109.391830,50.997082 -109.391716,50.997105 -109.391561,50.997108 -109.391487,50.997129 -109.391359,50.997138 -109.391275,50.997160 -109.391046,50.997184 -109.390719,50.997184 -109.389867,50.997244 -109.389602,50.997244 -109.388759,50.997323 -109.388617,50.997322 -109.388469,50.997336 -109.388256,50.997374 -109.387607,50.997449 -109.386300,50.997560 -109.386097,50.997558 -109.385642,50.997597 -109.385518,50.997600 -109.385173,50.997631 -109.385011,50.997630 -109.384578,50.997669 -109.384240,50.997682 -109.384188,50.997680 -109.383573,50.997730 -109.383328,50.997727 -109.382858,50.997764 -109.382306,50.997773 -109.381967,50.997800 -109.381867,50.997799 -109.381702,50.997814 -109.381541,50.997848 -109.381062,50.997894 -109.381055,50.997895 -109.380300,50.997978 -109.378782,50.998093 -109.378495,50.998089 -109.378018,50.998125 -109.377359,50.998130 -109.377319,50.998144 -109.377289,50.998164 -109.376970,50.998285 -109.376626,50.998469 -109.376462,50.998516 -109.376350,50.998587 -109.375815,50.998805 -109.375648,50.998849 -109.375463,50.998916 -109.375395,50.998960 -109.374859,50.999179 -109.374821,50.999189 -109.374586,50.999284 -109.374211,50.999423 -109.373836,50.999517 -109.373233,50.999724 -109.372916,50.999803 -109.372532,50.999927 -109.371949,51.000061 -109.371568,51.000184 -109.371410,51.000218 -109.371197,51.000256 -109.371013,51.000316 -109.370669,51.000392 -109.370349,51.000450 -109.370290,51.000468 -109.370117,51.000500 -109.370068,51.000502 -109.370016,51.000511 -109.369939,51.000527 -109.369899,51.000540 -109.369773,51.000563 -109.369615,51.000596 -109.369556,51.000602 -109.369527,51.000608 -109.369494,51.000609 -109.369282,51.000631 -109.369142,51.000670 -109.368816,51.000697 -109.368554,51.000789 -109.367979,51.000943 -109.367552,51.001030 -109.367391,51.001081 -109.366200,51.001325 -109.365595,51.001430 -109.365466,51.001433 -109.365445,51.001437 -109.365366,51.001440 -109.365222,51.001478 -109.365023,51.001500 -109.364951,51.001520 -109.364862,51.001530 -109.364752,51.001558 -109.364140,51.001768 -109.364004,51.001802 -109.363974,51.001813 -109.363705,51.001886 -109.362762,51.002180 -109.362025,51.002346 -109.361700,51.002447 -109.361642,51.002459 -109.361389,51.002522 -109.360995,51.002599 -109.360880,51.002635 -109.360638,51.002682 -109.360601,51.002684 -109.360552,51.002699 -109.360465,51.002716 -109.360304,51.002775 -109.360132,51.002819 -109.359743,51.002963 -109.358590,51.003306 -109.358135,51.003406 -109.358023,51.003442 -109.357855,51.003549 -109.357737,51.003643 -109.357600,51.003765 -109.357014,51.004232 -109.356788,51.004367 -109.356488,51.004606 -109.355700,51.005108 -109.355473,51.005230 -109.355188,51.005484 -109.355142,51.005513 -109.354950,51.005684 -109.353802,51.006598 -109.353525,51.006992 -109.353338,51.007213 -109.353302,51.007280 -109.352826,51.007844 -109.352673,51.007954 -109.352572,51.008121 -109.352224,51.008440 -109.351699,51.008881 -109.351667,51.008913 -109.350705,51.010116 -109.350563,51.010275 -109.350548,51.010301 -109.350345,51.010528 -109.350308,51.010555 -109.350271,51.010619 -109.349545,51.011400 -109.349475,51.011448 -109.349435,51.011514 -109.349233,51.011682 -109.349109,51.011833 -109.348963,51.011931 -109.348893,51.012038 -109.348318,51.012552 -109.348228,51.012609 -109.348217,51.012626 -109.347964,51.012848 -109.347901,51.012887 -109.347685,51.013076 -109.346835,51.013730 -109.346662,51.013832 -109.346534,51.013935 -109.346332,51.014056 -109.346036,51.014294 -109.345277,51.014787 -109.344931,51.014975 -109.344802,51.015069 -109.343813,51.015604 -109.343300,51.015858 -109.343049,51.015929 -109.342887,51.016029 -109.342044,51.016355 -109.341946,51.016380 -109.341614,51.016509 -109.340748,51.016793 -109.340301,51.016897 -109.339912,51.017026 -109.339821,51.017047 -109.339817,51.017049 -109.339303,51.017168 -109.338902,51.017299 -109.338192,51.017458 -109.338009,51.017500 -109.337633,51.017625 -109.337356,51.017689 -109.337317,51.017710 -109.337205,51.017742 -109.336919,51.017907 -109.336639,51.018050 -109.336584,51.018089 -109.336106,51.018332 -109.336019,51.018359 -109.335995,51.018373 -109.335875,51.018455 -109.333656,51.019511 -109.333565,51.019538 -109.333491,51.019588 -109.333308,51.019655 -109.333149,51.019741 -109.333045,51.019770 -109.332972,51.019818 -109.331814,51.020305 -109.331644,51.020351 -109.330671,51.020696 -109.329277,51.021075 -109.328954,51.021192 -109.326879,51.021783 -109.326431,51.021878 -109.326215,51.021947 -109.326084,51.021975 -109.325916,51.022031 -109.325110,51.022217 -109.324758,51.022283 -109.324680,51.022307 -109.324313,51.022376 -109.324306,51.022376 -109.324219,51.022403 -109.323896,51.022463 -109.323683,51.022512 -109.323283,51.022643 -109.322866,51.022736 -109.322538,51.022796 -109.322474,51.022816 -109.321685,51.022960 -109.321492,51.022967 -109.321286,51.023025 -109.321260,51.023028 -109.321107,51.023090 -109.319893,51.023532 -109.319505,51.023628 -109.319326,51.023689 -109.319313,51.023694 -109.318731,51.023892 -109.318350,51.023982 -109.317927,51.024126 -109.316992,51.024355 -109.316605,51.024430 -109.316498,51.024463 -109.316005,51.024559 -109.315958,51.024561 -109.315791,51.024612 -109.314533,51.024842 -109.313404,51.025056 -109.313184,51.025064 -109.312942,51.025133 -109.312771,51.025148 -109.312480,51.025210 -109.312255,51.025214 -109.312076,51.025260 -109.311265,51.025347 -109.311194,51.025347 -109.310857,51.025383 -109.310844,51.025384 -109.310702,51.025409 -109.310528,51.025415 -109.310346,51.025467 -109.310110,51.025486 -109.309966,51.025515 -109.309755,51.025519 -109.309586,51.025563 -109.308785,51.025650 -109.308606,51.025650 -109.308559,51.025662 -109.308053,51.025712 -109.307943,51.025711 -109.307553,51.025750 -109.306095,51.025828 -109.305775,51.025819 -109.305554,51.025834 -109.305357,51.025830 -109.305191,51.025840 -109.305047,51.025836 -109.304703,51.025859 -109.303224,51.025847 -109.302370,51.026001 -109.302189,51.026008 -109.301997,51.026062 -109.301847,51.026075 -109.301623,51.026123 -109.301405,51.026127 -109.301231,51.026172 -109.300444,51.026257 -109.300378,51.026257 -109.300049,51.026292 -109.298905,51.026375 -109.298502,51.026368 -109.298460,51.026372 -109.297930,51.026407 -109.297553,51.026400 -109.297073,51.026432 -109.295448,51.026417 -109.295031,51.026393 -109.294897,51.026399 -109.294134,51.026355 -109.294038,51.026335 -109.293910,51.026330 -109.293713,51.026335 -109.293674,51.026332 -109.293119,51.026373 -109.292890,51.026370 -109.292522,51.026399 -109.292285,51.026396 -109.291817,51.026434 -109.290419,51.026458 -109.289950,51.026437 -109.289716,51.026449 -109.289228,51.026427 -109.289211,51.026426 -109.288971,51.026437 -109.287832,51.026385 -109.287540,51.026363 -109.287493,51.026364 -109.286817,51.026312 -109.286401,51.026220 -109.285989,51.026218 -109.285016,51.026069 -109.284916,51.026042 -109.284534,51.025984 -109.283614,51.025800 -109.283432,51.025746 -109.283359,51.025733 -109.283102,51.025662 -109.282640,51.025580 -109.282564,51.025561 -109.281083,51.025280 -109.280714,51.025175 -109.280254,51.025088 -109.279124,51.024774 -109.278766,51.024654 -109.278652,51.024630 -109.278132,51.024456 -109.277193,51.024375 -109.277085,51.024351 -109.276960,51.024353 -109.276860,51.024336 -109.276726,51.024330 -109.276527,51.024282 -109.276343,51.024282 -109.275582,51.024174 -109.275523,51.024159 -109.275203,51.024113 -109.272908,51.023701 -109.272504,51.023588 -109.271951,51.023482 -109.271432,51.023336 -109.271166,51.023279 -109.270460,51.023067 -109.270116,51.022993 -109.268877,51.022579 -109.268712,51.022488 -109.268637,51.022465 -109.268417,51.022412 -109.268321,51.022366 -109.268318,51.022366 -109.268199,51.022338 -109.266989,51.021879 -109.266938,51.021849 -109.266869,51.021832 -109.266817,51.021807 -109.266749,51.021786 -109.266284,51.021585 -109.265561,51.021246 -109.264333,51.021127 -109.264277,51.021114 -109.264215,51.021115 -109.264161,51.021106 -109.264098,51.021103 -109.263987,51.021077 -109.263724,51.021032 -109.263552,51.021031 -109.262470,51.020859 -109.262342,51.020825 -109.261934,51.020760 -109.261255,51.020617 -109.260269,51.020440 -109.259866,51.020327 -109.259308,51.020221 -109.257653,51.019756 -109.257235,51.019616 -109.256720,51.019454 -109.256659,51.019440 -109.255479,51.018982 -109.255463,51.018973 -109.255386,51.019002 -109.255060,51.019107 -109.254621,51.019288 -109.254592,51.019296 -109.254382,51.019382 -109.253210,51.019823 -109.252861,51.019911 -109.252201,51.020138 -109.250739,51.020508 -109.250550,51.020562 -109.249381,51.020812 -109.249279,51.020841 -109.248432,51.020973 -109.248372,51.020974 -109.248313,51.020990 -109.248141,51.021005 -109.248059,51.021021 -109.247599,51.021237 -109.247527,51.021258 -109.247468,51.021297 -109.247404,51.021320 -109.247338,51.021356 -109.247191,51.021398 -109.247146,51.021414 -109.247034,51.021485 -109.246418,51.021732 -109.246367,51.021745 -109.246104,51.021851 -109.244919,51.022273 -109.244518,51.022371 -109.243976,51.022555 -109.243737,51.022613 -109.243472,51.022699 -109.242928,51.022824 -109.242535,51.022951 -109.241298,51.023221 -109.240983,51.023277 -109.240927,51.023294 -109.240699,51.023335 -109.240646,51.023352 -109.239339,51.023593 -109.239136,51.023600 -109.238917,51.023662 -109.238699,51.023682 -109.238390,51.023746 -109.238334,51.023747 -109.238285,51.023760 -109.236895,51.023946 -109.236796,51.023948 -109.236558,51.023966 -109.236457,51.023992 -109.235621,51.024074 -109.235512,51.024073 -109.235123,51.024111 -109.231036,51.024328 -109.230662,51.024318 -109.230375,51.024336 -109.230245,51.024333 -109.230129,51.024340 -109.229872,51.024333 -109.229487,51.024357 -109.228091,51.024336 -109.227689,51.024312 -109.227571,51.024316 -109.226536,51.024253 -109.226311,51.024205 -109.226021,51.024210 -109.225799,51.024172 -109.225651,51.024164 -109.225460,51.024118 -109.225282,51.024118 -109.224835,51.024054 -109.223897,51.024066 -109.223435,51.024044 -109.223220,51.024054 -109.221870,51.023991 -109.221467,51.023959 -109.220015,51.023952 -109.219588,51.023928 -109.219440,51.023934 -109.218293,51.023869 -109.217722,51.023823 -109.217551,51.023793 -109.217426,51.023787 -109.217274,51.023750 -109.217129,51.023751 -109.216080,51.023609 -109.216044,51.023600 -109.216042,51.023600 -109.215777,51.023564 -109.215742,51.023555 -109.215480,51.023519 -109.214148,51.023301 -109.213931,51.023242 -109.213877,51.023234 -109.213366,51.023147 -109.213168,51.023092 -109.212719,51.023016 -109.211377,51.022699 -109.210951,51.022565 -109.210707,51.022515 -109.209944,51.022277 -109.209684,51.022185 -109.209678,51.022183 -109.209408,51.022123 -109.209097,51.022013 -109.209031,51.022018 -109.207647,51.022023 -109.207199,51.022000 -109.207016,51.022009 -109.205959,51.021954 -109.205478,51.021916 -109.205370,51.021918 -109.204869,51.021870 -109.204756,51.021875 -109.203593,51.021810 -109.203013,51.021763 -109.202837,51.021732 -109.202709,51.021725 -109.202553,51.021688 -109.202404,51.021688 -109.201213,51.021526 -109.201138,51.021507 -109.201117,51.021507 -109.200770,51.021458 -109.200721,51.021446 -109.200422,51.021403 -109.198606,51.021087 -109.196718,51.020901 -109.196670,51.020890 -109.196617,51.020890 -109.196570,51.020882 -109.196517,51.020880 -109.195952,51.020804 -109.194834,51.020624 -109.194697,51.020587 -109.194281,51.020520 -109.193334,51.020315 -109.192449,51.020159 -109.192106,51.020064 -109.192044,51.020055 -109.191511,51.019956 -109.191038,51.020229 -109.190757,51.020371 -109.190702,51.020410 -109.190013,51.020759 -109.189828,51.020816 -109.189661,51.020927 -109.189445,51.021005 -109.189326,51.021068 -109.189125,51.021125 -109.188991,51.021209 -109.188093,51.021564 -109.187814,51.021636 -109.187633,51.021699 -109.187464,51.021766 -109.186668,51.022042 -109.186365,51.022115 -109.185941,51.022262 -109.184961,51.022517 -109.184542,51.022600 -109.184395,51.022647 -109.183671,51.022791 -109.183417,51.022835 -109.183255,51.022883 -109.182436,51.023023 -109.182291,51.023028 -109.182142,51.023069 -109.181998,51.023082 -109.181812,51.023121 -109.181793,51.023121 -109.181776,51.023126 -109.180442,51.023312 -109.180406,51.023313 -109.180202,51.023328 -109.180056,51.023358 -109.179797,51.023362 -109.179596,51.023413 -109.177191,51.023655 -109.177040,51.023654 -109.177020,51.023659 -109.176571,51.023702 -109.176453,51.023701 -109.176055,51.023740 -109.174669,51.023808 -109.174371,51.023799 -109.173966,51.023832 -109.172639,51.023856 -109.172167,51.023835 -109.171926,51.023846 -109.171070,51.023808 -109.170330,51.023797 -109.169928,51.023772 -109.169810,51.023777 -109.169347,51.023748 -109.169321,51.023743 -109.169163,51.023748 -109.167769,51.023655 -109.167569,51.023611 -109.167317,51.023615 -109.165067,51.024797 -109.164618,51.025014 -109.162059,51.025733 -109.159258,51.025780 -109.156643,51.025147 -109.154611,51.023931 -109.154007,51.023284 -109.149257,51.017071 -109.148722,51.016103 -109.148557,51.015364 -109.148093,51.010264 -109.148185,51.009237 -109.148287,51.009070 -109.148289,51.008923 -109.148748,51.007745 -109.149648,51.006410 -109.151576,51.005129 -109.152400,51.004812 -109.153092,51.004584 -109.153566,51.004475 -109.153914,51.004360 -109.154213,51.004089 -109.154366,51.003991 -109.154535,51.003839 -109.155034,51.003428 -109.155179,51.003341 -109.155457,51.003111 -109.156307,51.002531 -109.156667,51.002332 -109.156845,51.002200 -109.157973,51.001576 -109.158563,51.001283 -109.158731,51.001235 -109.158845,51.001163 -109.159417,51.000933 -109.159461,51.000921 -109.159708,51.000822 -109.160923,51.000382 -109.161181,51.000319 -109.161215,51.000305 -109.161672,51.000142 -109.161913,51.000084 -109.162328,50.999936 -109.163596,50.999588 -109.164036,50.999497 -109.164227,50.999436 -109.164324,50.999416 -109.164464,50.999370 -109.165758,50.999075 -109.166104,50.999012 -109.166178,50.998989 -109.166572,50.998916 -109.166593,50.998916 -109.166695,50.998885 -109.168030,50.998645 -109.168214,50.998639 -109.168410,50.998584 -109.168561,50.998570 -109.168790,50.998523 -109.169060,50.998518 -109.169268,50.998465 -109.170229,50.998370 -109.170332,50.998371 -109.170713,50.998333 -109.171984,50.998263 -109.172282,50.998271 -109.172728,50.998234 -109.174154,50.998203 -109.174630,50.998223 -109.174889,50.998210 -109.175084,50.998218 -109.175301,50.998206 -109.176013,50.998226 -109.176375,50.998251 -109.176460,50.998248 -109.176915,50.998279 -109.176953,50.998287 -109.177092,50.998282 -109.178427,50.998384 -109.178586,50.998420 -109.178779,50.998417 -109.179049,50.998461 -109.179368,50.998477 -109.179488,50.998506 -109.179605,50.998506 -109.180626,50.998638 -109.180794,50.998681 -109.181145,50.998729 -109.182014,50.998875 -109.182187,50.998922 -109.182625,50.998995 -109.183535,50.999204 -109.185202,50.999116 -109.185753,50.999131 -109.186202,50.999107 -109.187568,50.999155 -109.187905,50.999179 -109.187975,50.999177 -109.188127,50.999188 -109.188682,50.999175 -109.188810,50.999181 -109.188936,50.999171 -109.190961,50.999148 -109.191422,50.999171 -109.191632,50.999161 -109.192402,50.999198 -109.192653,50.999217 -109.192894,50.999209 -109.194116,50.999300 -109.194283,50.999337 -109.194487,50.999334 -109.194631,50.999357 -109.194859,50.999368 -109.195103,50.999427 -109.195321,50.999428 -109.196240,50.999567 -109.196328,50.999590 -109.196696,50.999646 -109.197940,50.999890 -109.198058,50.999924 -109.198064,50.999925 -109.198260,50.999979 -109.198707,51.000055 -109.199671,51.000283 -109.199714,51.000281 -109.200424,51.000335 -109.200583,51.000371 -109.200777,51.000367 -109.201385,51.000450 -109.202586,51.000649 -109.202748,51.000693 -109.203180,51.000764 -109.205217,51.001223 -109.205259,51.001222 -109.205431,51.001177 -109.206213,51.001093 -109.206279,51.001093 -109.206606,51.001058 -109.206858,51.001040 -109.207179,51.000973 -109.207850,51.000855 -109.208427,51.000788 -109.209588,51.000684 -109.209744,51.000685 -109.210172,51.000646 -109.211528,51.000595 -109.212012,51.000612 -109.212350,51.000594 -109.213987,51.000651 -109.214803,51.000708 -109.214959,51.000736 -109.215077,51.000742 -109.215217,51.000775 -109.215351,51.000775 -109.216571,51.000937 -109.216783,51.000991 -109.216991,51.001029 -109.217286,51.001071 -109.218303,51.001255 -109.218583,51.001334 -109.219047,51.001418 -109.220600,51.001819 -109.220996,51.001948 -109.221163,51.001983 -109.222161,51.002307 -109.222625,51.002474 -109.222625,51.002474 -109.222687,51.002489 -109.223867,51.002948 -109.223892,51.002963 -109.223925,51.002971 -109.224113,51.003062 -109.224267,51.003112 -109.224401,51.003192 -109.224551,51.003231 -109.225076,51.003462 -109.225137,51.003475 -109.226299,51.003546 -109.226506,51.003461 -109.226509,51.003460 -109.226654,51.003380 -109.226812,51.003336 -109.226920,51.003267 -109.227460,51.003048 -109.227498,51.003038 -109.227734,51.002942 -109.228933,51.002502 -109.229204,51.002434 -109.230015,51.002084 -109.230115,51.002057 -109.230616,51.001878 -109.230925,51.001759 -109.232329,51.001294 -109.232792,51.001186 -109.233204,51.001050 -109.235332,51.000561 -109.235683,51.000495 -109.235761,51.000472 -109.236420,51.000349 -109.236520,51.000345 -109.236625,51.000323 -109.236754,51.000285 -109.237622,51.000148 -109.238416,50.999985 -109.238690,50.999937 -109.238729,50.999925 -109.239087,50.999863 -109.239126,50.999862 -109.239208,50.999838 -109.239853,50.999731 -109.239970,50.999727 -109.240086,50.999695 -109.240326,50.999674 -109.240556,50.999627 -109.240684,50.999625 -109.240792,50.999596 -109.242110,50.999436 -109.242313,50.999434 -109.242351,50.999432 -109.242443,50.999408 -109.243091,50.999344 -109.243143,50.999344 -109.243439,50.999295 -109.243551,50.999292 -109.243662,50.999261 -109.243761,50.999252 -109.243884,50.999227 -109.244113,50.999223 -109.244178,50.999217 -109.244370,50.999168 -109.245348,50.999071 -109.245359,50.999071 -109.246752,50.998703 -109.247176,50.998617 -109.247333,50.998568 -109.248128,50.998407 -109.248308,50.998376 -109.248690,50.998266 -109.250074,50.997971 -109.250242,50.997957 -109.250357,50.997934 -109.250512,50.997931 -109.250640,50.997897 -109.252000,50.997737 -109.252231,50.997736 -109.252579,50.997697 -109.252706,50.997687 -109.252750,50.997678 -109.253569,50.997591 -109.255216,50.997478 -109.255564,50.997485 -109.256045,50.997452 -109.258667,50.997464 -109.259095,50.997488 -109.259244,50.997481 -109.260395,50.997545 -109.260969,50.997592 -109.261107,50.997616 -109.261215,50.997621 -109.261340,50.997651 -109.261461,50.997650 -109.262085,50.997732 -109.262109,50.997738 -109.262131,50.997738 -109.262897,50.997839 -109.263018,50.997870 -109.263073,50.997870 -109.263518,50.997934 -109.263578,50.997949 -109.263901,50.997996 -109.264919,50.998180 -109.266588,50.998435 -109.266648,50.998450 -109.266832,50.998477 -109.266898,50.998495 -109.267233,50.998543 -109.268507,50.998778 -109.268633,50.998814 -109.268736,50.998831 -109.268906,50.998877 -109.269342,50.998949 -109.270613,50.999238 -109.270950,50.999342 -109.270979,50.999347 -109.271093,50.999381 -109.271327,50.999428 -109.271628,50.999520 -109.271892,50.999573 -109.272653,50.999800 -109.272961,50.999907 -109.273034,50.999923 -109.273715,51.000158 -109.273794,51.000202 -109.274005,51.000268 -109.274057,51.000281 -109.275209,51.000729 -109.275230,51.000742 -109.275257,51.000749 -109.275280,51.000759 -109.275306,51.000768 -109.275348,51.000792 -109.275519,51.000876 -109.275635,51.000906 -109.276280,51.001194 -109.276326,51.001223 -109.276596,51.001344 -109.277632,51.001863 -109.277744,51.001938 -109.278036,51.002073 -109.278849,51.002512 -109.280058,51.002564 -109.280149,51.002571 -109.280362,51.002546 -109.281488,51.002442 -109.281633,51.002443 -109.282055,51.002404 -109.282854,51.002371 -109.283338,51.002387 -109.283693,51.002367 -109.285365,51.002421 -109.286199,51.002479 -109.286391,51.002526 -109.286570,51.002525 -109.287309,51.002630 -109.287364,51.002644 -109.287676,51.002689 -109.288285,51.002796 -109.288548,51.002870 -109.288552,51.002870 -109.289019,51.002953 -109.289223,51.003010 -109.289254,51.003016 -109.289306,51.003031 -109.289742,51.003108 -109.291140,51.003462 -109.291545,51.003592 -109.291727,51.003630 -109.292183,51.003776 -109.292225,51.003791 -109.292423,51.003833 -109.293170,51.004078 -109.293394,51.004159 -109.293426,51.004166 -109.293684,51.004259 -109.293697,51.004267 -109.293749,51.004279 -109.296183,51.005168 -109.296274,51.005221 -109.296400,51.005251 -109.296650,51.005371 -109.296901,51.005452 -109.297032,51.005530 -109.297795,51.005689 -109.297996,51.005749 -109.298289,51.005798 -109.299335,51.006043 -109.299365,51.006042 -109.299538,51.006071 -109.299740,51.006080 -109.299805,51.006096 -109.299871,51.006095 -109.300428,51.006162 -109.301850,51.005640 -109.302080,51.005582 -109.302113,51.005569 -109.302560,51.005408 -109.302769,51.005356 -109.302802,51.005343 -109.302823,51.005337 -109.302915,51.005304 -109.303109,51.005226 -109.303832,51.004967 -109.303843,51.004964 -109.304244,51.004799 -109.305261,51.004419 -109.305407,51.004382 -109.305462,51.004361 -109.305520,51.004326 -109.306336,51.004009 -109.306427,51.003986 -109.306752,51.003860 -109.306899,51.003811 -109.307011,51.003764 -109.307166,51.003722 -109.307215,51.003706 -109.307230,51.003703 -109.308143,51.003380 -109.308309,51.003335 -109.309300,51.003014 -109.309850,51.002887 -109.310241,51.002760 -109.312798,51.002203 -109.313110,51.002147 -109.313165,51.002131 -109.313904,51.001997 -109.314066,51.001992 -109.314127,51.001979 -109.314276,51.001937 -109.314364,51.001930 -109.314435,51.001915 -109.314520,51.001913 -109.314594,51.001893 -109.315968,51.001715 -109.316065,51.001714 -109.316118,51.001700 -109.316496,51.001655 -109.316529,51.001655 -109.316779,51.001625 -109.317661,51.001544 -109.317984,51.001151 -109.318228,51.000881 -109.318252,51.000839 -109.318519,51.000565 -109.318547,51.000546 -109.318562,51.000521 -109.318586,51.000501 -109.318605,51.000477 -109.318661,51.000439 -109.318849,51.000285 -109.318911,51.000194 -109.319556,50.999642 -109.319649,50.999585 -109.319895,50.999375 -109.320510,50.998925 -109.320866,50.998720 -109.321113,50.998534 -109.322390,50.997800 -109.322465,50.997762 -109.322536,50.997675 -109.322589,50.997573 -109.323148,50.996888 -109.323450,50.996554 -109.323586,50.996462 -109.323652,50.996361 -109.324071,50.995984 -109.324110,50.995959 -109.324289,50.995798 -109.325140,50.995109 -109.325451,50.994921 -109.325839,50.994621 -109.325901,50.994583 -109.326046,50.994472 -109.326392,50.994270 -109.326691,50.994041 -109.327421,50.993614 -109.327719,50.993416 -109.328072,50.993224 -109.328216,50.993118 -109.328430,50.993000 -109.328560,50.992903 -109.329419,50.992421 -109.329677,50.992291 -109.329719,50.992261 -109.330116,50.992061 -109.330182,50.991987 -109.330330,50.991882 -109.330339,50.991866 -109.330401,50.991792 -109.330516,50.991710 -109.330623,50.991546 -109.330651,50.991522 -109.330657,50.991513 -109.330721,50.991460 -109.330842,50.991354 -109.330883,50.991328 -109.330952,50.991272 -109.330970,50.991256 -109.330993,50.991221 -109.331140,50.991092 -109.331198,50.991055 -109.331409,50.990870 -109.331614,50.990711 -109.331685,50.990669 -109.331716,50.990640 -109.331743,50.990618 -109.331748,50.990611 -109.332186,50.990226 -109.332196,50.990220 -109.332200,50.990215 -109.332281,50.990143 -109.332344,50.990104 -109.332428,50.990030 -109.332545,50.989920 -109.332597,50.989886 -109.332732,50.989782 -109.332763,50.989764 -109.332802,50.989733 -109.333020,50.989538 -109.333741,50.988963 -109.333961,50.988831 -109.334261,50.988592 -109.334990,50.988126 -109.335330,50.987943 -109.335446,50.987858 -109.335971,50.987576 -109.336130,50.987498 -109.336267,50.987401 -109.336528,50.987270 -109.336572,50.987257 -109.336577,50.987254 -109.336601,50.987247 -109.336793,50.987153 -109.336838,50.987123 -109.336969,50.987074 -109.337148,50.986976 -109.338064,50.986645 -109.338374,50.986528 -109.340416,50.985892 -109.341153,50.985726 -109.341478,50.985625 -109.341908,50.985541 -109.341949,50.985540 -109.341972,50.985535 -109.341974,50.985534 -109.342004,50.985528 -109.342170,50.985494 -109.342214,50.985478 -109.342331,50.985445 -109.342619,50.985384 -109.342784,50.985332 -109.343008,50.985288 -109.343089,50.985284 -109.343135,50.985275 -109.343238,50.985242 -109.343803,50.985131 -109.344012,50.985122 -109.344036,50.985115 -109.344094,50.985109 -109.344343,50.985038 -109.344529,50.985021 -109.344567,50.985013 -109.344573,50.985011 -109.344826,50.984953 -109.345160,50.984891 -109.345256,50.984871 -109.345270,50.984870 -109.345671,50.984795 -109.345948,50.984773 -109.346106,50.984741 -109.346350,50.984737 -109.346540,50.984687 -109.346661,50.984675 -109.346745,50.984658 -109.346788,50.984653 -109.346849,50.984622 -109.347120,50.984523 -109.347574,50.984352 -109.347577,50.984349 -109.347809,50.984254 -109.347895,50.984230 -109.347974,50.984201 -109.348266,50.984110 -109.348927,50.983876 -109.349082,50.983834 -109.349155,50.983808 -109.349447,50.983736 -109.349556,50.983707 -109.349572,50.983704 -109.350101,50.983523 -109.351649,50.983142 -109.351731,50.983126 -109.351775,50.983111 -109.352048,50.983044 -109.353049,50.982849 -109.353140,50.982842 -109.353252,50.982818 -109.353349,50.982800 -109.353465,50.982774 -109.353512,50.982771 -109.353995,50.982683 -109.354048,50.982682 -109.354397,50.982617 -109.354438,50.982616 -109.354855,50.982542 -109.354901,50.982538 -109.354910,50.982537 -109.355005,50.982509 -109.355174,50.982483 -109.355263,50.982464 -109.355460,50.982414 -109.356421,50.982223 -109.356452,50.982212 -109.356690,50.982157 -109.356970,50.982105 -109.357630,50.981760 -109.357702,50.981738 -109.357874,50.981647 -109.358145,50.981496 -109.358271,50.981409 -109.358764,50.981173 -109.358860,50.981144 -109.358939,50.981091 -109.359023,50.981060 -109.359115,50.981010 -109.359298,50.980943 -109.359303,50.980940 -109.360149,50.980613 -109.360719,50.980426 -109.360830,50.980400 -109.360859,50.980390 -109.361028,50.980325 -109.361162,50.980280 -109.361196,50.980268 -109.361219,50.980262 -109.361298,50.980236 -109.361465,50.980168 -109.361826,50.980038 -109.362224,50.979940 -109.362371,50.979890 -109.362382,50.979886 -109.362884,50.979715 -109.362900,50.979711 -109.362932,50.979699 -109.362934,50.979698 -109.363267,50.979619 -109.363664,50.979482 -109.363677,50.979479 -109.363694,50.979476 -109.363704,50.979472 -109.364454,50.979283 -109.366000,50.978845 -109.367332,50.978563 -109.367921,50.978493 -109.369106,50.978386 -109.369194,50.978387 -109.369343,50.978369 -109.369864,50.978265 -109.370496,50.978192 -109.371404,50.978113 -109.371429,50.978114 -109.371512,50.978104 -109.371767,50.978082 -109.371824,50.978083 -109.371858,50.978079 -109.372650,50.978011 -109.372839,50.978013 -109.372951,50.978000 -109.373319,50.977970 -109.373408,50.977955 -109.373480,50.977954 -109.373487,50.977953 -109.373895,50.977881 -109.374095,50.977864 -109.374226,50.977838 -109.374258,50.977837 -109.374855,50.977714 -109.375706,50.977645 -109.375761,50.977639 -109.375944,50.977622 -109.376024,50.977602 -109.376808,50.977523 -109.376825,50.977523 -109.376836,50.977520 -109.376997,50.977504 -109.377041,50.977504 -109.377153,50.977491 -109.377395,50.977469 -109.377451,50.977450 -109.377776,50.977370 -109.378278,50.977272 -109.378287,50.977270 -109.378330,50.977262 -109.378777,50.977175 -109.378796,50.977175 -109.379150,50.977108 -109.379928,50.977024 -109.381494,50.976908 -109.381802,50.976913 -109.382281,50.976878 -109.383190,50.976875 -109.383371,50.976776 -109.383398,50.976768 -109.383417,50.976755 -109.384069,50.976467 -109.384119,50.976453 -109.384428,50.976342 -109.384514,50.976289 -109.385380,50.975959 -109.385506,50.975927 -109.385864,50.975791 -109.386598,50.975559 -109.387052,50.975455 -109.387384,50.975346 -109.387734,50.975266 -109.387804,50.975242 -109.389701,50.974765 -109.390098,50.974686 -109.390218,50.974649 -109.390874,50.974519 -109.390972,50.974515 -109.391011,50.974506 -109.391226,50.974442 -109.391496,50.974395 -109.391657,50.974363 -109.391713,50.974353 -109.392004,50.974295 -109.392028,50.974287 -109.392369,50.974218 -109.392957,50.974116 -109.393195,50.974096 -109.393340,50.974067 -109.393553,50.974063 -109.393722,50.974018 -109.395181,50.973858 -109.395316,50.973858 -109.395345,50.973851 -109.395785,50.973805 -109.395877,50.973806 -109.396245,50.973768 -109.397210,50.973708 -109.397870,50.973647 -109.398015,50.973648 -109.398193,50.973631 -109.398253,50.973624 -109.398295,50.973612 -109.398438,50.973599 -109.398645,50.973555 -109.399324,50.973478 -109.399340,50.973477 -109.399578,50.973284 -109.399762,50.973173 -109.400041,50.972946 -109.400225,50.972835 -109.400517,50.972598 -109.400983,50.972289 -109.401334,50.972098 -109.401475,50.971994 -109.402025,50.971693 -109.402195,50.971609 -109.402363,50.971489 -109.403276,50.971025 -109.403453,50.970971 -109.403611,50.970865 -109.403879,50.970765 -109.404067,50.970450 -109.404692,50.969656 -109.405796,50.968796 -109.409000,50.966847 -109.409814,50.966420 -109.412364,50.965695 -109.413535,50.965588 -109.417474,50.965435 -109.419868,50.964713 -109.419986,50.964687 -109.420100,50.964646 -109.431153,50.961613 -109.432398,50.961354 -109.433713,50.961242 -109.438218,50.961123 -109.444077,50.957703 -109.444533,50.957468 -109.444584,50.957433 -109.448793,50.955396 -109.448900,50.955364 -109.448988,50.955305 -109.451538,50.954579 -109.453037,50.954463 -109.459318,50.954399 -109.460614,50.954460 -109.461193,50.954545 -109.461279,50.954500 -109.461488,50.954435 -109.461682,50.954304 -109.463106,50.953806 -109.468037,50.952516 -109.469163,50.952288 -109.471057,50.952175 -109.472681,50.952214 -109.474084,50.951221 -109.475266,50.950551 -109.476430,50.950179 -109.476809,50.950041 -109.477335,50.949891 -109.477466,50.949864 -109.477608,50.949823 -109.478939,50.949539 -109.479015,50.949537 -109.479282,50.949481 -109.479438,50.949477 -109.479566,50.949443 -109.480135,50.949375 -109.480168,50.949375 -109.480420,50.949344 -109.481434,50.949250 -109.481816,50.949252 -109.482548,50.949201 -109.482706,50.949202 -109.483148,50.949176 -109.483645,50.949187 -109.484107,50.949159 -109.484832,50.949178 -109.485194,50.949201 -109.485278,50.949198 -109.486141,50.949254 -109.486248,50.949277 -109.486557,50.949290 -109.486575,50.949290 -109.487072,50.949341 -109.487080,50.949343 -109.487089,50.949343 -109.487098,50.949344 -109.487107,50.949345 -109.488287,50.949546 -109.488437,50.949572 -109.488440,50.949572 -109.488475,50.949578 -109.488601,50.949609 -109.488803,50.949643 -109.489074,50.949708 -109.489635,50.949808 -109.490546,50.950043 -109.490684,50.950072 -109.491382,50.950102 -109.492064,50.950195 -109.493411,50.950423 -109.493622,50.950481 -109.494075,50.950558 -109.494315,50.950615 -109.494737,50.950747 -109.494965,50.950793 -109.496235,50.951189 -109.496854,50.951407 -109.496901,50.951430 -109.496949,50.951445 -109.496992,50.951470 -109.497044,50.951483 -109.497705,50.951752 -109.497780,50.951798 -109.498067,50.951938 -109.498452,50.952112 -109.499616,50.952709 -109.499899,50.952898 -109.500271,50.953089 -109.500675,50.953355 -109.500931,50.953550 -109.501020,50.953598 -109.501300,50.953812 -109.501323,50.953827 -109.501377,50.953868 -109.501415,50.953887 -109.501789,50.954133 -109.502046,50.954329 -109.502134,50.954377 -109.502424,50.954598 -109.502434,50.954611 -109.502548,50.954674 -109.502825,50.954888 -109.503362,50.955242 -109.503619,50.955437 -109.503707,50.955485 -109.503882,50.955619 -109.505864,50.956850 -109.505868,50.956851 -109.506100,50.956847 -109.507457,50.957077 -109.510073,50.957701 -109.511333,50.958094 -109.511476,50.958164 -109.511590,50.958200 -109.511697,50.958264 -109.511698,50.958264 -109.511974,50.958314 -109.512292,50.958398 -109.512432,50.958422 -109.512647,50.958481 -109.513101,50.958558 -109.514217,50.958824 -109.514395,50.958880 -109.514448,50.958887 -109.515002,50.958988 -109.515065,50.959005 -109.515780,50.958944 -109.515990,50.958946 -109.516447,50.958907 -109.517373,50.958883 -109.517849,50.958901 -109.518111,50.958887 -109.519581,50.958945 -109.520313,50.958997 -109.520454,50.959021 -109.520563,50.959026 -109.520690,50.959056 -109.520813,50.959055 -109.521369,50.959126 -109.521645,50.959137 -109.521900,50.959124 -109.523354,50.959181 -109.524079,50.959234 -109.524092,50.959236 -109.524106,50.959236 -109.524119,50.959240 -109.524133,50.959239 -109.525084,50.959341 -109.525109,50.959347 -109.525284,50.959377 -109.526050,50.959491 -109.526549,50.959588 -109.526649,50.959557 -109.526786,50.959461 -109.526934,50.959387 -109.526998,50.959346 -109.527242,50.959249 -109.527285,50.959225 -109.527326,50.959198 -109.527353,50.959188 -109.527375,50.959176 -109.527403,50.959168 -109.527424,50.959154 -109.528074,50.958865 -109.528126,50.958851 -109.528429,50.958741 -109.528514,50.958688 -109.529368,50.958361 -109.529491,50.958329 -109.529847,50.958193 -109.530307,50.958046 -109.530577,50.957984 -109.530668,50.957953 -109.530888,50.957900 -109.531096,50.957831 -109.531192,50.957808 -109.531445,50.957721 -109.532392,50.957481 -109.532789,50.957402 -109.532908,50.957365 -109.533952,50.957157 -109.534199,50.957146 -109.534480,50.957066 -109.534784,50.957041 -109.534949,50.957008 -109.535214,50.957002 -109.535418,50.956949 -109.536818,50.956805 -109.537118,50.956805 -109.537318,50.956782 -109.538034,50.956725 -109.538287,50.956728 -109.538758,50.956690 -109.541878,50.956639 -109.541936,50.956641 -109.541988,50.956637 -109.543113,50.956624 -109.543568,50.956645 -109.543765,50.956635 -109.544042,50.956648 -109.544222,50.956638 -109.546384,50.956719 -109.546700,50.956742 -109.546758,50.956740 -109.547221,50.956772 -109.547282,50.956786 -109.547415,50.956782 -109.548385,50.956863 -109.550675,50.956967 -109.550959,50.956988 -109.551003,50.956987 -109.551327,50.957011 -109.551343,50.957015 -109.551410,50.957012 -109.552378,50.957088 -109.553701,50.957065 -109.554097,50.957082 -109.554379,50.957063 -109.555646,50.957079 -109.556046,50.957102 -109.556162,50.957097 -109.556584,50.957122 -109.556593,50.957124 -109.556724,50.957118 -109.557477,50.957163 -109.557692,50.957209 -109.557967,50.957204 -109.558336,50.957262 -109.558793,50.957284 -109.558967,50.957325 -109.559130,50.957325 -109.560959,50.957573 -109.561461,50.957602 -109.561524,50.957615 -109.561729,50.957608 -109.562624,50.957672 -109.563448,50.957708 -109.563738,50.957730 -109.563784,50.957728 -109.564434,50.957776 -109.564521,50.957795 -109.564740,50.957804 -109.564757,50.957804 -109.565452,50.957876 -109.565460,50.957877 -109.565469,50.957877 -109.565702,50.957917 -109.565860,50.957924 -109.566054,50.957971 -109.566233,50.957970 -109.567202,50.958105 -109.568124,50.958194 -109.568162,50.958203 -109.568202,50.958202 -109.568476,50.958248 -109.568670,50.958258 -109.568872,50.958306 -109.569059,50.958305 -109.570321,50.958483 -109.570597,50.958554 -109.571473,50.958710 -109.571593,50.958741 -109.572316,50.958865 -109.572545,50.958928 -109.572819,50.958974 -109.573128,50.959020 -109.573436,50.959100 -109.573614,50.959132 -109.573870,50.959170 -109.575340,50.959454 -109.575421,50.959478 -109.575890,50.959565 -109.576048,50.959610 -109.576175,50.959631 -109.576381,50.959687 -109.576832,50.959763 -109.577912,50.960017 -109.577919,50.960018 -109.578017,50.960030 -109.578068,50.960043 -109.578136,50.960055 -109.578153,50.960060 -109.578345,50.960073 -109.578387,50.960064 -109.578622,50.959984 -109.578761,50.959949 -109.578963,50.959882 -109.579447,50.959768 -109.579853,50.959632 -109.580298,50.959530 -109.580638,50.959466 -109.580709,50.959444 -109.581440,50.959306 -109.581545,50.959302 -109.581750,50.959258 -109.581813,50.959239 -109.582300,50.959164 -109.582337,50.959163 -109.582371,50.959153 -109.582407,50.959150 -109.582443,50.959142 -109.583553,50.959036 -109.585786,50.958933 -109.586533,50.958955 -109.586909,50.958938 -109.587563,50.958973 -109.587813,50.958992 -109.587845,50.958991 -109.588307,50.959027 -109.588380,50.959044 -109.588444,50.959046 -109.588523,50.959044 -109.588948,50.959085 -109.588988,50.959095 -109.589031,50.959094 -109.589070,50.959100 -109.589113,50.959102 -109.589149,50.959108 -109.589369,50.959123 -109.589687,50.959177 -109.589865,50.959186 -109.590129,50.959249 -109.590361,50.959249 -109.591141,50.959367 -109.591364,50.959425 -109.591492,50.959443 -109.592089,50.959541 -109.592280,50.959593 -109.592725,50.959667 -109.593715,50.959895 -109.594144,50.960026 -109.594397,50.960077 -109.594865,50.960221 -109.594897,50.960232 -109.595166,50.960287 -109.595272,50.960320 -109.595299,50.960320 -109.595785,50.960388 -109.595847,50.960404 -109.596175,50.960451 -109.596717,50.960547 -109.598550,50.961058 -109.599596,50.961676 -109.603395,50.963167 -109.609366,50.965509 -109.610732,50.964332 -109.612335,50.963330 -109.613544,50.962888 -109.621182,50.960692 -109.622519,50.960404 -109.622804,50.960398 -109.623020,50.960342 -109.630623,50.959573 -109.632508,50.959576 -109.632830,50.959568 -109.638671,50.960127 -109.638713,50.960136 -109.638758,50.960135 -109.640592,50.960489 -109.646275,50.962139 -109.647060,50.962405 -109.649103,50.963611 -109.649959,50.964606 -109.651528,50.967143 -109.655619,50.966537 -109.662609,50.964524 -109.663946,50.964235 -109.664231,50.964229 -109.664447,50.964173 -109.672049,50.963402 -109.674343,50.963404 -109.676598,50.963890 -109.677171,50.964085 -109.677210,50.963875 -109.677239,50.963823 -109.677245,50.963761 -109.677242,50.963710 -109.677613,50.962159 -109.677628,50.962134 -109.677626,50.962106 -109.677637,50.962081 -109.677640,50.962053 -109.677669,50.962003 -109.677704,50.961919 -109.677703,50.961840 -109.677846,50.961416 -109.677864,50.961388 -109.677925,50.961206 -109.677988,50.961056 -109.678030,50.960817 -109.678087,50.960711 -109.678080,50.960583 -109.678122,50.960484 -109.678131,50.960409 -109.678183,50.960320 -109.678181,50.960235 -109.678320,50.959806 -109.678382,50.959601 -109.678442,50.959503 -109.678468,50.959443 -109.678468,50.959380 -109.678627,50.958950 -109.678665,50.958892 -109.678752,50.958656 -109.678963,50.958218 -109.679159,50.957946 -109.679290,50.957671 -109.679323,50.957625 -109.679328,50.957615 -109.679547,50.957311 -109.679681,50.957036 -109.680333,50.956153 -109.680499,50.955959 -109.680523,50.955914 -109.680651,50.955764 -109.680703,50.955451 -109.680873,50.954964 -109.681297,50.954005 -109.681421,50.953826 -109.681550,50.953535 -109.681557,50.953464 -109.681718,50.952999 -109.682116,50.952080 -109.682137,50.952050 -109.682174,50.951846 -109.682228,50.951747 -109.682221,50.951628 -109.682268,50.951517 -109.682277,50.951437 -109.682336,50.951339 -109.682334,50.951245 -109.682443,50.950914 -109.682534,50.950769 -109.682538,50.950762 -109.682538,50.950700 -109.682693,50.950295 -109.682743,50.950219 -109.682841,50.949965 -109.683052,50.949554 -109.683254,50.949278 -109.683367,50.949046 -109.683927,50.948283 -109.684092,50.948089 -109.684266,50.947862 -109.684319,50.947769 -109.684445,50.947633 -109.684468,50.947578 -109.684479,50.947486 -109.684549,50.947368 -109.684548,50.947258 -109.684827,50.946442 -109.684933,50.946277 -109.685029,50.946060 -109.685063,50.945963 -109.685337,50.945361 -109.685482,50.945153 -109.685603,50.944888 -109.685586,50.944774 -109.685594,50.944628 -109.685579,50.944547 -109.685584,50.944359 -109.685526,50.944057 -109.685514,50.943481 -109.685547,50.943199 -109.685533,50.943085 -109.685626,50.942295 -109.685699,50.941901 -109.685723,50.941844 -109.685729,50.941796 -109.685760,50.941743 -109.685758,50.941690 -109.685931,50.941107 -109.685986,50.941019 -109.686293,50.940305 -109.686362,50.940194 -109.686779,50.939375 -109.686819,50.939320 -109.686848,50.939261 -109.687049,50.938986 -109.687168,50.938740 -109.687905,50.937726 -109.688324,50.937233 -109.688489,50.937097 -109.688563,50.937005 -109.688726,50.936895 -109.688802,50.936777 -109.689050,50.936555 -109.689274,50.936412 -109.689345,50.936356 -109.689468,50.936244 -109.689988,50.935824 -109.690208,50.935691 -109.690505,50.935451 -109.691940,50.934523 -109.692278,50.934339 -109.692393,50.934254 -109.693333,50.933743 -109.693646,50.933588 -109.693998,50.933394 -109.694222,50.933282 -109.694252,50.933261 -109.694770,50.933002 -109.694912,50.932958 -109.695034,50.932876 -109.695295,50.932780 -109.695426,50.932709 -109.695665,50.932641 -109.695819,50.932543 -109.696351,50.932333 -109.696448,50.932308 -109.696451,50.932306 -109.696782,50.932176 -109.696874,50.932152 -109.697199,50.932024 -109.697457,50.931937 -109.697899,50.931832 -109.698300,50.931696 -109.700027,50.931285 -109.700911,50.931115 -109.700959,50.931114 -109.701269,50.931047 -109.701430,50.931043 -109.701562,50.931007 -109.701662,50.930995 -109.701769,50.930971 -109.702033,50.930949 -109.702187,50.930917 -109.702393,50.930913 -109.702440,50.930907 -109.702605,50.930863 -109.703121,50.930807 -109.703556,50.930597 -109.704188,50.930263 -109.704220,50.930253 -109.704299,50.930208 -109.704483,50.930077 -109.706157,50.929232 -109.706310,50.929185 -109.706442,50.929096 -109.706565,50.929049 -109.706726,50.928959 -109.706805,50.928930 -109.706901,50.928883 -109.706977,50.928859 -109.707064,50.928810 -109.707108,50.928781 -109.708363,50.928198 -109.708378,50.928190 -109.708476,50.928118 -109.709010,50.927827 -109.709225,50.927720 -109.709250,50.927702 -109.709739,50.927459 -109.709776,50.927448 -109.709789,50.927441 -109.709984,50.927343 -109.709987,50.927341 -109.709994,50.927338 -109.710305,50.927182 -109.710328,50.927174 -109.710348,50.927163 -109.710373,50.927156 -109.710391,50.927143 -109.710881,50.926924 -109.710928,50.926910 -109.711435,50.926725 -109.712168,50.926408 -109.712300,50.926371 -109.712448,50.926317 -109.712609,50.926252 -109.712636,50.926237 -109.712772,50.926186 -109.712825,50.926164 -109.712916,50.926131 -109.713066,50.926075 -109.713127,50.926036 -109.713746,50.925784 -109.713797,50.925770 -109.714060,50.925663 -109.714729,50.925420 -109.714735,50.925418 -109.714750,50.925412 -109.715115,50.925280 -109.715187,50.925262 -109.715921,50.924993 -109.716253,50.924898 -109.716833,50.924686 -109.719325,50.923977 -109.720625,50.923698 -109.720747,50.923695 -109.721125,50.923613 -109.721413,50.923607 -109.721631,50.923550 -109.721866,50.923526 -109.722468,50.923454 -109.723763,50.923339 -109.723962,50.923340 -109.724414,50.923300 -109.725924,50.923254 -109.726401,50.923271 -109.726675,50.923255 -109.727450,50.923283 -109.727691,50.923300 -109.728015,50.923286 -109.729251,50.923362 -109.729451,50.923405 -109.729703,50.923399 -109.729953,50.923439 -109.730318,50.923455 -109.730400,50.923474 -109.730482,50.923473 -109.731659,50.923611 -109.731797,50.923645 -109.732169,50.923709 -109.732531,50.923760 -109.733829,50.923998 -109.734180,50.924096 -109.734643,50.924181 -109.735165,50.924321 -109.735532,50.924442 -109.735656,50.924467 -109.736499,50.924743 -109.736521,50.924755 -109.736567,50.924770 -109.736790,50.924817 -109.736988,50.924884 -109.737147,50.924916 -109.738306,50.925266 -109.738395,50.925284 -109.738671,50.925365 -109.738995,50.925448 -109.739391,50.925574 -109.739554,50.925608 -109.739833,50.925697 -109.740121,50.925777 -109.740646,50.925875 -109.740998,50.925973 -109.740998,50.925973 -109.741734,50.926143 -109.742161,50.926274 -109.742404,50.926322 -109.743214,50.926571 -109.743490,50.926667 -109.743524,50.926677 -109.743773,50.926732 -109.744408,50.926954 -109.744527,50.927021 -109.744696,50.927061 -109.744805,50.927112 -109.744984,50.927168 -109.745668,50.927471 -109.746438,50.927857 -109.746470,50.927864 -109.747290,50.928148 -109.747753,50.928288 -109.747994,50.928341 -109.748389,50.928480 -109.748504,50.928544 -109.748665,50.928583 -109.748819,50.928655 -109.749038,50.928723 -109.749081,50.928749 -109.749135,50.928762 -109.750925,50.929486 -109.750975,50.929494 -109.751653,50.929535 -109.751857,50.929578 -109.752115,50.929573 -109.753472,50.929800 -109.753517,50.929810 -109.753855,50.929867 -109.754004,50.929902 -109.754096,50.929914 -109.754549,50.929991 -109.754943,50.930098 -109.755535,50.930208 -109.756419,50.930449 -109.756819,50.930477 -109.756973,50.930511 -109.757004,50.930510 -109.757019,50.930511 -109.757170,50.930508 -109.757336,50.930535 -109.757354,50.930537 -109.757386,50.930544 -109.757513,50.930565 -109.757638,50.930562 -109.757755,50.930581 -109.757922,50.930588 -109.758255,50.930643 -109.758319,50.930646 -109.758440,50.930674 -109.758622,50.930705 -109.758791,50.930705 -109.758913,50.930722 -109.758972,50.930725 -109.759197,50.930757 -109.759767,50.930776 -109.760019,50.930759 -109.760645,50.930766 -109.761044,50.930788 -109.761159,50.930783 -109.761845,50.930822 -109.764015,50.930795 -109.764191,50.930740 -109.764549,50.930672 -109.764608,50.930669 -109.764612,50.930668 -109.764647,50.930667 -109.764714,50.930665 -109.764835,50.930639 -109.764970,50.930600 -109.765107,50.930587 -109.765573,50.930473 -109.765812,50.930426 -109.765882,50.930405 -109.766041,50.930369 -109.766041,50.930369 -109.766043,50.930369 -109.766138,50.930348 -109.766482,50.930248 -109.766668,50.930208 -109.766797,50.930171 -109.767048,50.930117 -109.767098,50.930102 -109.767692,50.929973 -109.767726,50.929962 -109.767818,50.929937 -109.768229,50.929853 -109.768367,50.929809 -109.768629,50.929755 -109.768689,50.929739 -109.768802,50.929706 -109.769240,50.929611 -109.769268,50.929603 -109.769291,50.929598 -109.769328,50.929591 -109.769335,50.929589 -109.769497,50.929556 -109.770130,50.929419 -109.770162,50.929418 -109.770488,50.929350 -109.770519,50.929350 -109.770945,50.929274 -109.771543,50.929202 -109.771921,50.929166 -109.772146,50.929139 -109.773300,50.929028 -109.773454,50.929028 -109.773880,50.928988 -109.777029,50.928850 -109.777512,50.928864 -109.777850,50.928844 -109.778398,50.928859 -109.778453,50.928863 -109.778823,50.928842 -109.779763,50.928876 -109.779764,50.928876 -109.779984,50.928857 -109.780016,50.928849 -109.780566,50.928794 -109.780605,50.928783 -109.781349,50.928698 -109.781408,50.928698 -109.781723,50.928661 -109.782349,50.928611 -109.782442,50.928600 -109.783756,50.928483 -109.783962,50.928485 -109.783976,50.928483 -109.784519,50.928430 -109.784663,50.928430 -109.785082,50.928389 -109.785552,50.928367 -109.786035,50.928380 -109.786391,50.928359 -109.786986,50.928375 -109.787079,50.928381 -109.787486,50.928359 -109.788125,50.928384 -109.788428,50.928405 -109.788480,50.928403 -109.789187,50.928452 -109.789235,50.928463 -109.789267,50.928461 -109.790036,50.928513 -109.790209,50.928551 -109.790420,50.928546 -109.790616,50.928578 -109.790730,50.928587 -109.790844,50.928612 -109.790870,50.928611 -109.791525,50.928653 -109.791710,50.928693 -109.791939,50.928687 -109.792361,50.928755 -109.792378,50.928755 -109.792877,50.928838 -109.793171,50.928885 -109.793205,50.928893 -109.793736,50.928982 -109.796355,50.929598 -109.796727,50.929713 -109.796734,50.929715 -109.796988,50.929793 -109.797399,50.929920 -109.797447,50.929934 -109.797489,50.929948 -109.797504,50.929953 -109.797899,50.930071 -109.797926,50.930084 -109.797950,50.930093 -109.797961,50.930096 -109.797962,50.930097 -109.798671,50.930335 -109.798734,50.930369 -109.798748,50.930374 -109.798846,50.930407 -109.798865,50.930411 -109.798900,50.930422 -109.799023,50.930466 -109.799069,50.930481 -109.799108,50.930489 -109.799406,50.930586 -109.799628,50.930665 -109.799660,50.930672 -109.800161,50.930850 -109.800265,50.930908 -109.800409,50.930942 -109.800635,50.931051 -109.800784,50.931099 -109.800965,50.931205 -109.801158,50.931255 -109.801735,50.931513 -109.801967,50.931658 -109.802640,50.931992 -109.802665,50.932008 -109.802809,50.932081 -109.803093,50.932155 -109.803859,50.932499 -109.803926,50.932541 -109.804232,50.932679 -109.804963,50.933055 -109.805285,50.933271 -109.805648,50.933458 -109.805728,50.933512 -109.805766,50.933531 -109.806137,50.933782 -109.806485,50.933964 -109.806960,50.934292 -109.807176,50.934460 -109.807230,50.934490 -109.807351,50.934584 -109.807400,50.934611 -109.808245,50.935253 -109.808538,50.935316 -109.808960,50.935314 -109.809836,50.935440 -109.809915,50.935460 -109.810271,50.935511 -109.811503,50.935739 -109.811927,50.935859 -109.812401,50.935948 -109.813295,50.936199 -109.813375,50.936217 -109.814326,50.936504 -109.814533,50.936550 -109.814843,50.936661 -109.814872,50.936677 -109.814894,50.936681 -109.815723,50.936901 -109.815773,50.936903 -109.816446,50.936951 -109.817019,50.937024 -109.818154,50.937201 -109.818296,50.937239 -109.818716,50.937304 -109.819296,50.937427 -109.819734,50.937556 -109.819735,50.937556 -109.819761,50.937555 -109.820071,50.937562 -109.820084,50.937561 -109.820787,50.937579 -109.821181,50.937559 -109.821921,50.937593 -109.822189,50.937613 -109.822228,50.937612 -109.822840,50.937657 -109.822975,50.937687 -109.822992,50.937688 -109.823145,50.937684 -109.823226,50.937697 -109.823296,50.937700 -109.823372,50.937718 -109.823448,50.937717 -109.823788,50.937756 -109.823917,50.937788 -109.825067,50.937983 -109.826884,50.938424 -109.826971,50.938422 -109.827019,50.938431 -109.827114,50.938431 -109.827497,50.938488 -109.827834,50.938577 -109.828579,50.938710 -109.828732,50.938751 -109.828745,50.938750 -109.829462,50.938800 -109.829852,50.938884 -109.830251,50.938883 -109.831107,50.939004 -109.831183,50.939023 -109.831532,50.939073 -109.831844,50.939130 -109.832021,50.939180 -109.832325,50.939188 -109.832671,50.939210 -109.832746,50.939207 -109.833587,50.939260 -109.834068,50.939363 -109.834548,50.939363 -109.835619,50.939526 -109.835744,50.939559 -109.835783,50.939565 -109.836409,50.939622 -109.836465,50.939635 -109.836527,50.939633 -109.836581,50.939642 -109.836645,50.939645 -109.836900,50.939687 -109.836949,50.939691 -109.837014,50.939693 -109.837037,50.939697 -109.837197,50.939709 -109.837278,50.939727 -109.837378,50.939730 -109.837458,50.939728 -109.838018,50.939781 -109.838146,50.939783 -109.838516,50.939805 -109.838607,50.939802 -109.839526,50.939857 -109.839653,50.939884 -109.839933,50.939895 -109.839984,50.939894 -109.840009,50.939898 -109.840034,50.939899 -109.840058,50.939905 -109.840084,50.939904 -109.841205,50.940023 -109.841251,50.940034 -109.841472,50.940071 -109.841575,50.940071 -109.842307,50.940172 -109.842372,50.940189 -109.842705,50.940235 -109.845765,50.940778 -109.845932,50.940824 -109.846131,50.940857 -109.846328,50.940910 -109.846776,50.940983 -109.848417,50.941359 -109.848831,50.941485 -109.849176,50.941548 -109.849309,50.941584 -109.849426,50.941596 -109.849467,50.941606 -109.849597,50.941628 -109.850269,50.941722 -109.851792,50.941996 -109.852127,50.942090 -109.852592,50.942173 -109.852703,50.942203 -109.853539,50.942131 -109.856333,50.942065 -109.857735,50.942119 -109.857840,50.942144 -109.858288,50.942148 -109.858686,50.942170 -109.858801,50.942165 -109.859826,50.942221 -109.860093,50.942277 -109.860196,50.942274 -109.860209,50.942259 -109.860339,50.942165 -109.860356,50.942132 -109.860486,50.941974 -109.860667,50.941732 -109.860693,50.941702 -109.860694,50.941666 -109.860728,50.941414 -109.860720,50.941342 -109.860810,50.940695 -109.860883,50.940554 -109.860873,50.940372 -109.861230,50.939514 -109.861272,50.939442 -109.861268,50.939360 -109.861580,50.938581 -109.862101,50.937641 -109.862097,50.937637 -109.861664,50.936832 -109.861478,50.936424 -109.861475,50.936410 -109.861468,50.936397 -109.861467,50.936383 -109.861458,50.936371 -109.861254,50.935813 -109.861245,50.935803 -109.861220,50.935752 -109.861198,50.935725 -109.860956,50.935286 -109.860896,50.935157 -109.860762,50.934987 -109.860559,50.934572 -109.860474,50.934470 -109.860099,50.933819 -109.860015,50.933727 -109.859438,50.932903 -109.859291,50.932629 -109.859200,50.932516 -109.859185,50.932490 -109.859123,50.932416 -109.858672,50.931656 -109.858566,50.931436 -109.858528,50.931388 -109.858266,50.930846 -109.858252,50.930715 -109.858149,50.930573 -109.858106,50.930377 -109.858052,50.930272 -109.858042,50.930102 -109.857956,50.929972 -109.857813,50.929431 -109.857812,50.929241 -109.857776,50.929120 -109.857682,50.928674 -109.857686,50.928514 -109.857623,50.928217 -109.857604,50.927830 -109.857634,50.927537 -109.857615,50.927400 -109.857685,50.926714 -109.857737,50.926422 -109.857739,50.926398 -109.857732,50.926310 -109.857828,50.925870 -109.857854,50.925824 -109.857851,50.925773 -109.857869,50.925729 -109.857874,50.925676 -109.858024,50.925230 -109.858394,50.924351 -109.858492,50.924207 -109.858613,50.923918 -109.859163,50.922997 -109.859367,50.922733 -109.859435,50.922599 -109.859930,50.921961 -109.860163,50.921693 -109.860183,50.921667 -109.860226,50.921593 -109.861073,50.920684 -109.861119,50.920652 -109.861144,50.920609 -109.861183,50.920577 -109.861216,50.920534 -109.861309,50.920470 -109.861380,50.920411 -109.861439,50.920319 -109.861905,50.919896 -109.861954,50.919865 -109.862148,50.919689 -109.862932,50.919058 -109.863256,50.918861 -109.863601,50.918590 -109.863863,50.918431 -109.864010,50.918321 -109.864290,50.918157 -109.864377,50.918084 -109.864610,50.917925 -109.864750,50.917846 -109.864761,50.917838 -109.864922,50.917749 -109.864938,50.917741 -109.864963,50.917727 -109.865119,50.917609 -109.865708,50.917279 -109.865808,50.917228 -109.865962,50.917138 -109.866076,50.917056 -109.866116,50.917023 -109.866298,50.916907 -109.866317,50.916893 -109.866334,50.916883 -109.866477,50.916792 -109.866809,50.916611 -109.866915,50.916532 -109.867049,50.916459 -109.867137,50.916393 -109.868089,50.915854 -109.868335,50.915728 -109.868373,50.915701 -109.868521,50.915626 -109.868555,50.915601 -109.870068,50.914815 -109.870242,50.914760 -109.870269,50.914745 -109.870415,50.914645 -109.870503,50.914612 -109.870570,50.914566 -109.871223,50.914256 -109.871239,50.914248 -109.871314,50.914193 -109.871850,50.913908 -109.871939,50.913880 -109.871995,50.913848 -109.872128,50.913754 -109.872292,50.913674 -109.872723,50.913423 -109.872993,50.913283 -109.873042,50.913248 -109.873685,50.912915 -109.873783,50.912885 -109.874006,50.912759 -109.874014,50.912754 -109.874118,50.912706 -109.874265,50.912623 -109.874823,50.911710 -109.875404,50.910969 -109.875502,50.910887 -109.875555,50.910820 -109.875657,50.910750 -109.875706,50.910671 -109.876056,50.910341 -109.876200,50.910247 -109.876234,50.910195 -109.876579,50.909888 -109.876650,50.909843 -109.876833,50.909681 -109.876851,50.909655 -109.877024,50.909449 -109.877053,50.909396 -109.877271,50.909135 -109.877299,50.909115 -109.877346,50.909028 -109.877756,50.908555 -109.877868,50.908475 -109.877936,50.908359 -109.878111,50.908209 -109.878259,50.908022 -109.878354,50.907957 -109.878401,50.907882 -109.878692,50.907606 -109.878843,50.907507 -109.878850,50.907501 -109.878888,50.907443 -109.879258,50.907116 -109.879333,50.907068 -109.879560,50.906867 -109.880951,50.905802 -109.881063,50.905735 -109.881072,50.905728 -109.881248,50.905620 -109.881534,50.905382 -109.882936,50.904433 -109.883286,50.904238 -109.883430,50.904130 -109.884014,50.903804 -109.884213,50.903703 -109.884384,50.903581 -109.885435,50.903042 -109.885599,50.902991 -109.885743,50.902893 -109.885968,50.902807 -109.885973,50.902805 -109.885983,50.902801 -109.886005,50.902793 -109.886031,50.902774 -109.886394,50.902584 -109.886506,50.902548 -109.886663,50.902465 -109.886679,50.902460 -109.886762,50.902404 -109.886824,50.902380 -109.887042,50.902264 -109.887077,50.902253 -109.887130,50.902223 -109.887373,50.902153 -109.887530,50.902053 -109.887569,50.902038 -109.887691,50.901957 -109.887955,50.901847 -109.888223,50.901712 -109.888412,50.901657 -109.888539,50.901576 -109.888994,50.901389 -109.889017,50.901383 -109.889054,50.901359 -109.889722,50.901088 -109.889783,50.901071 -109.890063,50.900958 -109.890383,50.900843 -109.890479,50.900782 -109.891025,50.900572 -109.891115,50.900548 -109.891330,50.900463 -109.891426,50.900438 -109.891755,50.900308 -109.891980,50.900232 -109.892440,50.900051 -109.892507,50.900034 -109.892555,50.900020 -109.892636,50.899988 -109.892650,50.899982 -109.892749,50.899918 -109.892854,50.899875 -109.892902,50.899838 -109.893549,50.899450 -109.893605,50.899411 -109.894356,50.898981 -109.894517,50.898867 -109.894905,50.898672 -109.895035,50.898633 -109.895144,50.898558 -109.895251,50.898518 -109.895383,50.898444 -109.895639,50.898369 -109.895803,50.898265 -109.896661,50.897928 -109.896764,50.897901 -109.897100,50.897769 -109.898017,50.897463 -109.898464,50.897356 -109.898837,50.897229 -109.899606,50.897047 -109.899619,50.897042 -109.899697,50.897025 -109.899909,50.896974 -109.900361,50.896786 -109.900397,50.896776 -109.900626,50.896680 -109.901229,50.896452 -109.901598,50.896357 -109.902205,50.896144 -109.902593,50.896044 -109.903180,50.895732 -109.903287,50.895698 -109.903544,50.895553 -109.903569,50.895537 -109.904215,50.895237 -109.904232,50.895232 -109.904245,50.895223 -109.904261,50.895217 -109.904275,50.895209 -109.905001,50.894917 -109.906503,50.894390 -109.906859,50.894303 -109.907280,50.894155 -109.908224,50.893912 -109.908618,50.893832 -109.908735,50.893794 -109.909625,50.893614 -109.909738,50.893608 -109.910018,50.893547 -109.910102,50.893522 -109.910473,50.893462 -109.910522,50.893461 -109.910569,50.893447 -109.910615,50.893443 -109.910665,50.893432 -109.910764,50.893430 -109.910801,50.893427 -109.910937,50.893376 -109.911012,50.893328 -109.911556,50.893101 -109.911595,50.893090 -109.911832,50.892992 -109.912836,50.892615 -109.912956,50.892584 -109.912981,50.892573 -109.913316,50.892449 -109.913326,50.892443 -109.913918,50.892200 -109.915136,50.891750 -109.915208,50.891732 -109.916664,50.891169 -109.917012,50.891078 -109.917051,50.891065 -109.917228,50.890994 -109.918219,50.890647 -109.918590,50.890556 -109.919010,50.890410 -109.919134,50.890378 -109.919174,50.890364 -109.919516,50.890280 -109.919748,50.890198 -109.919781,50.890183 -109.919827,50.890170 -109.919922,50.890136 -109.919963,50.890113 -109.920090,50.890076 -109.920164,50.890029 -109.920240,50.889999 -109.920269,50.889980 -109.920891,50.889725 -109.920944,50.889711 -109.921208,50.889603 -109.923129,50.888901 -109.923531,50.888800 -109.924059,50.888616 -109.924411,50.888527 -109.924686,50.888437 -109.925302,50.888292 -109.925669,50.888172 -109.926546,50.887983 -109.926711,50.887938 -109.927087,50.887859 -109.927173,50.887829 -109.927258,50.887809 -109.927283,50.887801 -109.927338,50.887789 -109.927563,50.887734 -109.927635,50.887708 -109.927807,50.887666 -109.927894,50.887636 -109.928028,50.887603 -109.928377,50.887479 -109.928935,50.887331 -109.929343,50.887247 -109.929477,50.887204 -109.930576,50.886977 -109.931133,50.886877 -109.931315,50.886861 -109.931326,50.886859 -109.931440,50.886835 -109.931453,50.886835 -109.931747,50.886778 -109.931797,50.886767 -109.932532,50.886629 -109.932646,50.886617 -109.933187,50.886511 -109.933213,50.886510 -109.933861,50.886363 -109.934051,50.886346 -109.934177,50.886320 -109.934351,50.886315 -109.934493,50.886276 -109.936974,50.885975 -109.937005,50.885975 -109.937187,50.885952 -109.937220,50.885952 -109.937471,50.885921 -109.941318,50.885542 -109.941503,50.885542 -109.941535,50.885538 -109.942013,50.885493 -109.942187,50.885494 -109.942626,50.885452 -109.944291,50.885386 -109.944772,50.885401 -109.945078,50.885382 -109.946649,50.885430 -109.947432,50.885481 -109.947576,50.885505 -109.948707,50.885576 -109.948843,50.885605 -109.949026,50.885598 -109.950076,50.885680 -109.950193,50.885706 -109.950329,50.885702 -109.950550,50.885738 -109.950790,50.885748 -109.950894,50.885772 -109.950997,50.885771 -109.951890,50.885878 -109.952060,50.885919 -109.952066,50.885920 -109.952162,50.885920 -109.952731,50.885999 -109.952802,50.886017 -109.953145,50.886065 -109.953514,50.886131 -109.953932,50.886248 -109.954432,50.886341 -109.954555,50.886375 -109.954676,50.886398 -109.955159,50.886535 -109.955594,50.886619 -109.956611,50.886916 -109.956918,50.887020 -109.956989,50.887035 -109.957672,50.887266 -109.957751,50.887310 -109.957969,50.887376 -109.958014,50.887387 -109.958761,50.887672 -109.958779,50.887683 -109.958803,50.887688 -109.959116,50.887838 -109.959304,50.887898 -109.959531,50.888031 -109.959762,50.888092 -109.960424,50.888395 -109.960852,50.888468 -109.961126,50.888535 -109.961331,50.888570 -109.961438,50.888596 -109.962314,50.888763 -109.962772,50.888893 -109.963214,50.888977 -109.963440,50.889042 -109.963758,50.889149 -109.963837,50.889165 -109.964618,50.889428 -109.964774,50.889513 -109.965002,50.889567 -109.965207,50.889664 -109.965348,50.889709 -109.965400,50.889740 -109.965721,50.889852 -109.965809,50.889903 -109.965897,50.889942 -109.965912,50.889951 -109.966043,50.889984 -109.966675,50.890260 -109.966719,50.890287 -109.966986,50.890403 -109.969349,50.891557 -109.969454,50.891626 -109.969606,50.891697 -109.969733,50.891778 -109.970092,50.891946 -109.970161,50.891985 -109.970270,50.892036 -109.970414,50.892129 -109.970781,50.892303 -109.972111,50.893064 -109.972118,50.893067 -109.972127,50.893073 -109.972162,50.893087 -109.972557,50.893273 -109.973611,50.893714 -109.974110,50.893913 -109.974179,50.893955 -109.974201,50.893965 -109.974307,50.893999 -109.974475,50.894097 -109.974491,50.894105 -109.974677,50.894152 -109.975648,50.894584 -109.975878,50.894727 -109.975934,50.894754 -109.976003,50.894783 -109.976655,50.895086 -109.976767,50.895158 -109.977119,50.895321 -109.977284,50.895411 -109.977683,50.895588 -109.977912,50.895731 -109.978127,50.895837 -109.978167,50.895833 -109.978522,50.895764 -109.979005,50.895704 -109.979093,50.895688 -109.979126,50.895687 -109.979521,50.895611 -109.979821,50.895603 -109.980049,50.895537 -109.980228,50.895519 -109.980548,50.895449 -109.980867,50.895411 -109.980976,50.895390 -109.981108,50.895378 -109.981205,50.895357 -109.981330,50.895354 -109.981434,50.895325 -109.982147,50.895233 -109.982329,50.895230 -109.982410,50.895208 -109.982679,50.895178 -109.982708,50.895174 -109.982801,50.895154 -109.982895,50.895152 -109.983033,50.895135 -109.983083,50.895134 -109.983210,50.895100 -109.983861,50.895026 -109.983877,50.895026 -109.983930,50.895019 -109.983937,50.895017 -109.984033,50.895007 -109.984036,50.895007 -109.984085,50.895002 -109.984116,50.895002 -109.984234,50.894987 -109.985135,50.894897 -109.985152,50.894897 -109.985740,50.894834 -109.985839,50.894833 -109.986214,50.894793 -109.986884,50.894750 -109.987334,50.894637 -109.988291,50.894446 -109.988386,50.894444 -109.988648,50.894386 -109.989258,50.894311 -109.990088,50.894233 -109.992268,50.894238 -109.994888,50.894849 -109.996939,50.896048 -109.997739,50.896942 -109.999240,50.899181 -110.005607,50.905638 -110.006494,50.906975 -110.006604,50.908740 -110.006363,50.909390 -110.005020,50.912091 -110.004295,50.913098 -110.002400,50.914395 -110.001832,50.914630 -110.001582,50.914724 -110.001478,50.914750 -110.001249,50.914838 -110.001127,50.914870 -110.000981,50.914925 -110.000825,50.914971 -110.000814,50.914973 -110.000129,50.915233 -109.999954,50.915278 -109.999567,50.915424 -109.999337,50.915494 -109.998885,50.915596 -109.998630,50.915681 -109.997692,50.915893 -109.997401,50.915948 -109.997256,50.915981 -109.997037,50.916048 -109.996180,50.916203 -109.996035,50.916208 -109.995888,50.916251 -109.995764,50.916263 -109.995597,50.916300 -109.995295,50.916307 -109.995289,50.916308 -109.995063,50.916367 -109.993989,50.916477 -109.993857,50.916477 -109.993448,50.916518 -109.992864,50.916549 -109.992383,50.916538 -109.992004,50.916562 -109.990781,50.916534 -109.990526,50.916518 -109.990091,50.916504 -109.989893,50.916511 -109.989510,50.916481 -109.989402,50.916457 -109.989278,50.916460 -109.989179,50.916444 -109.989046,50.916439 -109.987933,50.916269 -109.987552,50.916190 -109.987117,50.916123 -109.986970,50.916084 -109.986904,50.916074 -109.986795,50.916098 -109.986081,50.916182 -109.984645,50.916305 -109.984391,50.916303 -109.983921,50.916343 -109.983309,50.916356 -109.982846,50.916337 -109.982630,50.916349 -109.981275,50.916296 -109.980600,50.916249 -109.980482,50.916221 -109.980418,50.916240 -109.979779,50.916318 -109.978492,50.916436 -109.978296,50.916435 -109.977845,50.916477 -109.976791,50.916513 -109.976313,50.916497 -109.976037,50.916513 -109.975379,50.916491 -109.975231,50.916482 -109.974904,50.916498 -109.974464,50.916476 -109.974214,50.916457 -109.974182,50.916459 -109.973621,50.916417 -109.973306,50.916347 -109.972984,50.916350 -109.972272,50.916255 -109.972222,50.916243 -109.971918,50.916202 -109.971351,50.916107 -109.971067,50.916030 -109.971036,50.916026 -109.970535,50.915940 -109.970267,50.915867 -109.969803,50.915787 -109.969124,50.915619 -109.968721,50.915493 -109.968544,50.915457 -109.968089,50.915314 -109.968046,50.915299 -109.967853,50.915259 -109.967105,50.915019 -109.966883,50.914941 -109.966852,50.914934 -109.966434,50.914786 -109.966376,50.914753 -109.966307,50.914732 -109.966238,50.914716 -109.965546,50.914454 -109.965091,50.914315 -109.964822,50.914223 -109.964772,50.914212 -109.964142,50.913994 -109.963862,50.913839 -109.963518,50.913752 -109.962902,50.913484 -109.962861,50.913459 -109.962600,50.913345 -109.961826,50.912969 -109.961740,50.912914 -109.961626,50.912861 -109.961517,50.912792 -109.961168,50.912630 -109.960651,50.912347 -109.960166,50.912182 -109.960097,50.912144 -109.960090,50.912142 -109.959892,50.912073 -109.959818,50.912055 -109.959795,50.912044 -109.959793,50.912044 -109.959205,50.911839 -109.959024,50.911738 -109.958563,50.911595 -109.958316,50.911489 -109.957850,50.911322 -109.957760,50.911271 -109.957635,50.911242 -109.957548,50.911201 -109.957420,50.911162 -109.956966,50.910960 -109.956466,50.910771 -109.956438,50.910754 -109.956400,50.910745 -109.956371,50.910731 -109.956335,50.910720 -109.955794,50.910488 -109.955735,50.910461 -109.954878,50.910112 -109.954779,50.910053 -109.954643,50.909987 -109.954547,50.909962 -109.953916,50.909678 -109.953840,50.909630 -109.953522,50.909487 -109.952960,50.909194 -109.952727,50.909037 -109.952523,50.908935 -109.952405,50.908857 -109.952296,50.908801 -109.952170,50.908716 -109.951882,50.908572 -109.951430,50.908283 -109.951155,50.908130 -109.950875,50.907937 -109.950794,50.907894 -109.950739,50.907858 -109.950583,50.907776 -109.950556,50.907757 -109.950381,50.907698 -109.950159,50.907652 -109.949903,50.907568 -109.949702,50.907510 -109.949661,50.907502 -109.949463,50.907443 -109.949076,50.907369 -109.948975,50.907340 -109.948818,50.907307 -109.948518,50.907218 -109.948381,50.907222 -109.947927,50.907161 -109.947714,50.907153 -109.946912,50.907042 -109.945333,50.906763 -109.945021,50.906677 -109.944556,50.906595 -109.943906,50.906427 -109.943715,50.906366 -109.943432,50.906373 -109.943169,50.906406 -109.943106,50.906407 -109.943064,50.906418 -109.942931,50.906434 -109.942726,50.906471 -109.942547,50.906487 -109.942426,50.906512 -109.942261,50.906516 -109.942126,50.906553 -109.941512,50.906629 -109.941389,50.906630 -109.941349,50.906641 -109.940919,50.906690 -109.940850,50.906690 -109.940518,50.906728 -109.940089,50.906761 -109.939379,50.906840 -109.939296,50.906840 -109.938940,50.906879 -109.938582,50.906905 -109.938449,50.906946 -109.937995,50.907051 -109.937703,50.907149 -109.937258,50.907251 -109.936910,50.907368 -109.936396,50.907490 -109.936312,50.907506 -109.936195,50.907546 -109.935718,50.907661 -109.935597,50.907685 -109.935231,50.907807 -109.935185,50.907817 -109.935163,50.907830 -109.935045,50.907864 -109.934902,50.907918 -109.934788,50.907990 -109.934302,50.908185 -109.934301,50.908185 -109.934300,50.908186 -109.934258,50.908203 -109.934178,50.908224 -109.934059,50.908300 -109.933775,50.908412 -109.933729,50.908425 -109.933621,50.908494 -109.933135,50.908688 -109.932921,50.908808 -109.932652,50.908886 -109.932481,50.908994 -109.932249,50.909085 -109.932245,50.909087 -109.933353,50.909346 -109.934615,50.909734 -109.934715,50.909777 -109.934880,50.909799 -109.934917,50.909808 -109.935186,50.909843 -109.935667,50.909919 -109.936035,50.910017 -109.936702,50.910137 -109.938708,50.910670 -109.939679,50.910985 -109.940150,50.911185 -109.941067,50.911607 -109.941168,50.911672 -109.941203,50.911687 -109.941247,50.911706 -109.941311,50.911736 -109.941315,50.911739 -109.941512,50.911830 -109.941596,50.911875 -109.941676,50.911930 -109.941804,50.911991 -109.942015,50.912109 -109.942337,50.912335 -109.942560,50.912452 -109.942930,50.912710 -109.942975,50.912712 -109.943306,50.912688 -109.944017,50.912695 -109.944415,50.912716 -109.944530,50.912711 -109.944963,50.912735 -109.944977,50.912738 -109.945115,50.912731 -109.945669,50.912763 -109.945878,50.912807 -109.946142,50.912801 -109.946310,50.912827 -109.946616,50.912838 -109.946760,50.912872 -109.946898,50.912870 -109.947459,50.912941 -109.947490,50.912949 -109.947739,50.912980 -109.948051,50.913028 -109.948056,50.913029 -109.948076,50.913032 -109.948757,50.913137 -109.948771,50.913141 -109.948859,50.913137 -109.949829,50.913190 -109.949942,50.913213 -109.950290,50.913226 -109.950323,50.913225 -109.950933,50.913285 -109.950950,50.913288 -109.950967,50.913288 -109.950984,50.913291 -109.951001,50.913291 -109.951988,50.913436 -109.953919,50.913813 -109.954440,50.913962 -109.954863,50.914044 -109.955796,50.914322 -109.956085,50.914421 -109.956145,50.914434 -109.956835,50.914670 -109.957141,50.914840 -109.957517,50.914935 -109.958188,50.915230 -109.958209,50.915243 -109.959702,50.915680 -109.960435,50.915929 -109.960467,50.915944 -109.960500,50.915954 -109.960529,50.915971 -109.960565,50.915980 -109.960889,50.916108 -109.960942,50.916140 -109.960991,50.916163 -109.961465,50.916368 -109.962483,50.916857 -109.962653,50.916967 -109.963028,50.917147 -109.963323,50.917321 -109.963633,50.917542 -109.963806,50.917634 -109.963917,50.917713 -109.963954,50.917730 -109.964103,50.917778 -109.964285,50.917885 -109.964479,50.917934 -109.965944,50.918586 -109.966177,50.918731 -109.966850,50.919063 -109.966876,50.919080 -109.967311,50.919300 -109.967598,50.919490 -109.967972,50.919679 -109.968294,50.919889 -109.968552,50.920082 -109.968639,50.920129 -109.969300,50.920626 -109.969502,50.920879 -109.969839,50.921087 -109.970267,50.921506 -109.970293,50.921544 -109.970472,50.921719 -109.970580,50.921839 -109.970674,50.921941 -109.970833,50.922193 -109.971130,50.922533 -109.971903,50.923752 -109.972218,50.924379 -109.972246,50.924507 -109.972290,50.924590 -109.972297,50.924706 -109.972361,50.924800 -109.972481,50.925197 -109.972485,50.925365 -109.972606,50.925973 -109.972608,50.926073 -109.972693,50.926611 -109.972677,50.926941 -109.972723,50.927228 -109.972700,50.927606 -109.972666,50.927827 -109.972671,50.927876 -109.972594,50.928374 -109.972560,50.928438 -109.972546,50.928598 -109.972547,50.928626 -109.972485,50.928886 -109.972477,50.928900 -109.972478,50.928915 -109.972472,50.928928 -109.972471,50.928943 -109.972328,50.929374 -109.971978,50.930224 -109.971888,50.930358 -109.971770,50.930644 -109.971578,50.930975 -109.971373,50.931243 -109.971301,50.931388 -109.970770,50.932081 -109.970517,50.932373 -109.970487,50.932413 -109.970453,50.932472 -109.970002,50.932953 -109.969965,50.932978 -109.969946,50.933011 -109.969916,50.933037 -109.969891,50.933069 -109.969250,50.933629 -109.968890,50.933897 -109.969009,50.933933 -109.969522,50.933961 -109.969561,50.933969 -109.969876,50.933982 -109.970149,50.934002 -109.970189,50.934001 -109.970744,50.934041 -109.970825,50.934058 -109.970961,50.934063 -109.971015,50.934062 -109.971640,50.934121 -109.971666,50.934127 -109.971695,50.934126 -109.971722,50.934131 -109.971751,50.934132 -109.971804,50.934144 -109.972027,50.934181 -109.972155,50.934180 -109.972959,50.934291 -109.973024,50.934307 -109.973358,50.934353 -109.974109,50.934486 -109.974150,50.934497 -109.974153,50.934498 -109.975169,50.934677 -109.975486,50.934764 -109.975951,50.934847 -109.976348,50.934949 -109.976731,50.935072 -109.976874,50.935101 -109.977907,50.935432 -109.978413,50.935610 -109.978450,50.935628 -109.978488,50.935640 -109.978522,50.935660 -109.978564,50.935670 -109.979072,50.935872 -109.979133,50.935908 -109.979383,50.936029 -109.979826,50.936225 -109.981042,50.936840 -109.981329,50.937030 -109.981703,50.937219 -109.982026,50.937428 -109.982283,50.937621 -109.982370,50.937669 -109.982770,50.937968 -109.982811,50.938020 -109.982982,50.938115 -109.983415,50.938461 -109.983479,50.938544 -109.983599,50.938613 -109.983663,50.938682 -109.983782,50.938766 -109.983846,50.938854 -109.983946,50.938914 -109.984264,50.939216 -109.984277,50.939235 -109.984418,50.939369 -109.984655,50.939614 -109.984800,50.939835 -109.985162,50.940244 -109.985211,50.940320 -109.985258,50.940353 -109.985444,50.940500 -109.985481,50.940520 -109.985914,50.940861 -109.985986,50.940954 -109.986123,50.941034 -109.986598,50.941506 -109.987453,50.942483 -109.987600,50.942723 -109.987832,50.942988 -109.987970,50.943205 -109.988092,50.943448 -109.988146,50.943515 -109.988462,50.944142 -109.988480,50.944292 -109.988602,50.944459 -109.988765,50.945067 -109.988958,50.946291 -109.988943,50.946619 -109.988988,50.946907 -109.988983,50.947000 -109.989165,50.947396 -109.989210,50.947604 -109.989266,50.947712 -109.989278,50.947893 -109.989368,50.948029 -109.989412,50.948197 -109.989472,50.948324 -109.989494,50.948424 -109.989508,50.948451 -109.989533,50.948506 -109.989537,50.948515 -109.989538,50.948516 -109.989581,50.948612 -109.989597,50.948633 -109.989718,50.948901 -109.989984,50.949266 -109.990444,50.950104 -109.990625,50.950847 -109.990750,50.951986 -109.990784,50.952063 -109.990789,50.952120 -109.991101,50.952170 -109.991296,50.952222 -109.991744,50.952295 -109.992197,50.952397 -109.992626,50.952527 -109.992874,50.952576 -109.994140,50.952960 -109.994726,50.953161 -109.994760,50.953172 -109.994788,50.953178 -109.995268,50.953362 -109.995280,50.953369 -109.995295,50.953372 -109.995307,50.953378 -109.995321,50.953382 -109.995344,50.953396 -109.995479,50.953460 -109.995521,50.953469 -109.996125,50.953678 -109.996248,50.953747 -109.996423,50.953788 -109.996900,50.953989 -109.997827,50.954416 -109.997931,50.954482 -109.998139,50.954577 -109.998496,50.954556 -109.999250,50.954581 -109.999568,50.954602 -109.999627,50.954599 -110.000380,50.954649 -110.000549,50.954685 -110.000755,50.954680 -110.001109,50.954738 -110.001295,50.954747 -110.001586,50.954815 -110.001836,50.954815 -110.002787,50.954958 -110.003130,50.955048 -110.003862,50.955178 -110.003931,50.955196 -110.004348,50.955273 -110.004751,50.955385 -110.005207,50.955469 -110.005745,50.955618 -110.006090,50.955731 -110.006189,50.955752 -110.007062,50.956040 -110.007234,50.956133 -110.007491,50.956193 -110.008612,50.956728 -110.010666,50.957927 -110.011600,50.958590 -110.012311,50.959355 -110.013482,50.960959 -110.013943,50.961797 -110.014092,50.962319 -110.014290,50.963369 -110.014284,50.963595 -110.014341,50.963898 -110.014343,50.964492 -110.014310,50.964759 -110.014321,50.964850 -110.014233,50.965565 -110.014205,50.965715 -110.014289,50.966162 -110.014282,50.966393 -110.014339,50.966696 -110.014339,50.968072 -110.014306,50.968337 -110.014317,50.968425 -110.014229,50.969131 -110.014151,50.969283 -110.014163,50.969482 -110.013809,50.970341 -110.012842,50.971998 -110.012229,50.972797 -110.011381,50.973505 -110.009482,50.974802 -110.008432,50.975392 -110.007220,50.975841 -110.004679,50.976581 -110.003351,50.976872 -110.001959,50.976994 -109.999163,50.977063 -109.997760,50.977011 -109.997099,50.976925 -109.995794,50.976714 -109.995597,50.976661 -109.995402,50.976629 -109.995261,50.976611 -109.995213,50.976599 -109.995149,50.976588 -109.995118,50.976581 -109.994552,50.976529 -109.994517,50.976521 -109.994480,50.976522 -109.994235,50.976482 -109.994054,50.976473 -109.993870,50.976431 -109.993699,50.976432 -109.992975,50.976336 -109.992948,50.976329 -109.992517,50.976296 -109.992399,50.976270 -109.992262,50.976274 -109.991881,50.976213 -109.991570,50.976199 -109.991396,50.976158 -109.991242,50.976162 -109.991138,50.976146 -109.991133,50.976146 -109.990915,50.976116 -109.990880,50.976107 -109.990840,50.976100 -109.990361,50.976079 -109.990162,50.976032 -109.989980,50.976034 -109.988914,50.975890 -109.988824,50.975867 -109.988808,50.975867 -109.988431,50.975815 -109.988361,50.975797 -109.988019,50.975749 -109.987225,50.975608 -109.987058,50.975562 -109.986886,50.975534 -109.986683,50.975479 -109.986232,50.975406 -109.984234,50.974948 -109.983921,50.974853 -109.983646,50.974804 -109.982470,50.974497 -109.982093,50.974375 -109.981957,50.974347 -109.981540,50.974213 -109.981508,50.974202 -109.981362,50.974172 -109.981336,50.974163 -109.981012,50.974102 -109.980134,50.973851 -109.979812,50.973743 -109.979731,50.973726 -109.979258,50.973568 -109.979203,50.973538 -109.979037,50.973502 -109.978359,50.973262 -109.978257,50.973205 -109.978114,50.973171 -109.978017,50.973126 -109.977869,50.973081 -109.977737,50.973004 -109.977589,50.972967 -109.977400,50.972885 -109.977170,50.972817 -109.976878,50.972718 -109.976816,50.972705 -109.976305,50.972530 -109.976234,50.972491 -109.976195,50.972479 -109.976057,50.972449 -109.974503,50.971877 -109.974443,50.971843 -109.974363,50.971824 -109.974225,50.971759 -109.974073,50.971712 -109.974005,50.971672 -109.973924,50.971653 -109.973317,50.971404 -109.973263,50.971373 -109.973205,50.971358 -109.972104,50.970899 -109.971956,50.970809 -109.971794,50.970731 -109.971512,50.970608 -109.970641,50.970182 -109.970432,50.970046 -109.970051,50.969859 -109.969362,50.969439 -109.969068,50.969226 -109.968930,50.969152 -109.968282,50.968681 -109.968124,50.968556 -109.968043,50.968510 -109.967455,50.968047 -109.967384,50.967956 -109.967251,50.967878 -109.967017,50.967633 -109.966773,50.967453 -109.966660,50.967297 -109.966500,50.967197 -109.966143,50.966838 -109.966121,50.966825 -109.966050,50.966751 -109.965917,50.966656 -109.965791,50.966483 -109.965617,50.966373 -109.965052,50.965795 -109.965003,50.965721 -109.964787,50.965499 -109.963955,50.964485 -109.963804,50.964229 -109.963683,50.964088 -109.963661,50.964052 -109.963603,50.963983 -109.963468,50.963753 -109.963289,50.963545 -109.962918,50.962930 -109.962808,50.962706 -109.962768,50.962655 -109.962527,50.962162 -109.962519,50.962094 -109.962439,50.961948 -109.962409,50.961908 -109.962180,50.961331 -109.962178,50.961307 -109.962162,50.961286 -109.962121,50.961099 -109.962059,50.960980 -109.962056,50.960939 -109.961888,50.960578 -109.961885,50.960544 -109.961859,50.960494 -109.961800,50.960364 -109.961794,50.960356 -109.961791,50.960342 -109.961766,50.960288 -109.961669,50.960108 -109.961564,50.959878 -109.961479,50.959767 -109.961371,50.959520 -109.961330,50.959464 -109.961176,50.959182 -109.961065,50.959048 -109.960948,50.958836 -109.960841,50.958708 -109.960074,50.957352 -109.959981,50.957155 -109.959954,50.957120 -109.959804,50.956803 -109.959799,50.956749 -109.959731,50.956659 -109.959311,50.955675 -109.959306,50.955614 -109.959262,50.955553 -109.959250,50.955498 -109.959213,50.955432 -109.959207,50.955324 -109.959146,50.955236 -109.959026,50.954844 -109.959026,50.954819 -109.958973,50.954648 -109.958804,50.953927 -109.958806,50.953778 -109.958798,50.953754 -109.958727,50.953434 -109.958729,50.953296 -109.958664,50.953005 -109.958629,50.952507 -109.957494,50.952476 -109.956687,50.952424 -109.955704,50.952280 -109.955242,50.952190 -109.955201,50.952188 -109.955106,50.952192 -109.954170,50.952137 -109.953964,50.952094 -109.953704,50.952100 -109.953454,50.952065 -109.952237,50.952054 -109.951839,50.952033 -109.951724,50.952038 -109.950701,50.951982 -109.950478,50.951936 -109.950191,50.951943 -109.948832,50.951718 -109.947569,50.951424 -109.947181,50.951451 -109.946900,50.951448 -109.945768,50.951476 -109.944365,50.951423 -109.943006,50.951198 -109.942941,50.951183 -109.942813,50.951162 -109.940279,50.950583 -109.939144,50.950238 -109.939055,50.950218 -109.938490,50.950006 -109.938452,50.949984 -109.938402,50.949972 -109.938364,50.949954 -109.938315,50.949939 -109.938239,50.949895 -109.938047,50.949803 -109.937901,50.949765 -109.937093,50.949401 -109.937017,50.949354 -109.936699,50.949210 -109.936066,50.948881 -109.935740,50.948662 -109.935402,50.948488 -109.935040,50.948245 -109.935029,50.948236 -109.934999,50.948217 -109.934648,50.948034 -109.934115,50.947669 -109.933895,50.947499 -109.933838,50.947468 -109.933303,50.947056 -109.933216,50.946944 -109.933046,50.946845 -109.932669,50.946481 -109.932060,50.945826 -109.931761,50.945937 -109.931037,50.946151 -109.930852,50.946225 -109.930652,50.946295 -109.930221,50.946400 -109.929776,50.946553 -109.929022,50.946738 -109.928973,50.946752 -109.928827,50.946784 -109.928813,50.946789 -109.928807,50.946791 -109.928723,50.946807 -109.928506,50.946855 -109.928411,50.946888 -109.927978,50.946994 -109.927055,50.947175 -109.927041,50.947177 -109.926583,50.947270 -109.926226,50.947301 -109.926049,50.947337 -109.925744,50.947345 -109.925515,50.947404 -109.925300,50.947426 -109.924794,50.947524 -109.924628,50.947532 -109.924542,50.947550 -109.924501,50.947558 -109.924355,50.947600 -109.924105,50.947630 -109.923897,50.947668 -109.922612,50.947786 -109.922426,50.947792 -109.922335,50.947800 -109.922207,50.947799 -109.922117,50.947802 -109.922087,50.947801 -109.921655,50.947839 -109.921413,50.947846 -109.921121,50.947836 -109.920029,50.947872 -109.918914,50.947835 -109.918731,50.947841 -109.917736,50.947760 -109.917638,50.947738 -109.917526,50.947741 -109.917434,50.947726 -109.917315,50.947722 -109.916845,50.947644 -109.916834,50.947644 -109.916393,50.947588 -109.916361,50.947580 -109.916106,50.947547 -109.915240,50.947413 -109.914885,50.947319 -109.914185,50.947194 -109.913879,50.947113 -109.913406,50.947020 -109.912851,50.946860 -109.912440,50.946779 -109.911677,50.946547 -109.911402,50.946452 -109.911349,50.946441 -109.911152,50.946373 -109.911001,50.946344 -109.910781,50.946279 -109.910558,50.946204 -109.910454,50.946184 -109.910295,50.946137 -109.910283,50.946135 -109.910263,50.946128 -109.909578,50.945928 -109.909486,50.945904 -109.908449,50.945571 -109.907937,50.945353 -109.906945,50.944889 -109.906822,50.944811 -109.906465,50.944644 -109.906367,50.944589 -109.906042,50.944363 -109.905805,50.944239 -109.904746,50.943502 -109.904249,50.943115 -109.903745,50.942608 -109.903196,50.941965 -109.902944,50.941736 -109.902895,50.941667 -109.902815,50.941580 -109.902742,50.941534 -109.902349,50.941141 -109.902315,50.941089 -109.902117,50.940891 -109.901203,50.939830 -109.901099,50.939660 -109.900962,50.939507 -109.900877,50.939370 -109.900806,50.939287 -109.900783,50.939249 -109.900607,50.939053 -109.900387,50.938727 -109.900249,50.938463 -109.900173,50.938370 -109.899997,50.938032 -109.899969,50.937970 -109.899883,50.937862 -109.899505,50.937092 -109.899491,50.937069 -109.899421,50.936987 -109.898725,50.935851 -109.898559,50.935513 -109.898503,50.935418 -109.898248,50.934889 -109.898220,50.934759 -109.898176,50.934675 -109.898171,50.934598 -109.898112,50.934473 -109.898104,50.934462 -109.898100,50.934449 -109.898049,50.934341 -109.898038,50.934241 -109.898029,50.934212 -109.898029,50.934210 -109.897940,50.934087 -109.897916,50.933988 -109.897832,50.933833 -109.897825,50.933714 -109.897760,50.933619 -109.897632,50.933190 -109.897631,50.933159 -109.897582,50.932994 -109.896987,50.933065 -109.896771,50.933066 -109.896527,50.933096 -109.895778,50.933165 -109.895587,50.933164 -109.895139,50.933205 -109.893914,50.933247 -109.893663,50.933239 -109.893666,50.933253 -109.893925,50.933773 -109.893940,50.933843 -109.893994,50.933965 -109.894010,50.933985 -109.894173,50.934349 -109.894176,50.934382 -109.894430,50.934858 -109.894509,50.935031 -109.894527,50.935055 -109.894608,50.935233 -109.894608,50.935235 -109.894629,50.935263 -109.894933,50.935934 -109.895021,50.936090 -109.895239,50.936555 -109.895269,50.936691 -109.895314,50.936778 -109.895321,50.936901 -109.895388,50.937000 -109.895578,50.937645 -109.895771,50.938037 -109.895786,50.938175 -109.895895,50.938324 -109.895922,50.938451 -109.895966,50.938534 -109.895973,50.938650 -109.896037,50.938743 -109.896155,50.939140 -109.896158,50.939270 -109.896206,50.939427 -109.896316,50.939900 -109.896315,50.940015 -109.896381,50.940296 -109.896415,50.940665 -109.896395,50.940910 -109.896399,50.940937 -109.896396,50.941006 -109.896398,50.941020 -109.896401,50.941032 -109.896457,50.941434 -109.896450,50.941571 -109.896447,50.941701 -109.896509,50.942001 -109.896545,50.942882 -109.896515,50.943171 -109.896532,50.943299 -109.896521,50.943400 -109.896537,50.943503 -109.896493,50.944150 -109.896482,50.944217 -109.896486,50.944243 -109.896447,50.944703 -109.896368,50.945178 -109.896143,50.945561 -109.895155,50.949073 -109.895099,50.949165 -109.894714,50.950021 -109.892240,50.953774 -109.891729,50.954404 -109.891640,50.954465 -109.891596,50.954536 -109.888912,50.957091 -109.888761,50.957190 -109.888085,50.957740 -109.883789,50.960537 -109.882847,50.961052 -109.881831,50.961441 -109.879002,50.962327 -109.877477,50.962676 -109.877260,50.962681 -109.877088,50.962727 -109.873085,50.963183 -109.872929,50.963206 -109.871059,50.963328 -109.870286,50.963313 -109.869915,50.963291 -109.869823,50.963295 -109.869403,50.963270 -109.869384,50.963266 -109.869262,50.963271 -109.868765,50.963240 -109.868580,50.963200 -109.868352,50.963206 -109.868197,50.963181 -109.867939,50.963171 -109.866826,50.963000 -109.866569,50.962947 -109.866122,50.962878 -109.865991,50.962844 -109.865579,50.962781 -109.865007,50.962663 -109.864577,50.962758 -109.864276,50.962814 -109.864226,50.962829 -109.863743,50.962918 -109.863661,50.962922 -109.863528,50.962961 -109.862213,50.963182 -109.862120,50.963185 -109.862029,50.963212 -109.861945,50.963219 -109.861846,50.963241 -109.861785,50.963247 -109.861403,50.963317 -109.861388,50.963319 -109.861374,50.963322 -109.861359,50.963322 -109.861346,50.963326 -109.860831,50.963402 -109.860803,50.963402 -109.860784,50.963404 -109.860163,50.963478 -109.858869,50.963592 -109.858650,50.963590 -109.858190,50.963631 -109.857705,50.963644 -109.857232,50.963627 -109.856980,50.963641 -109.856500,50.963623 -109.856495,50.963623 -109.856241,50.963637 -109.855586,50.963612 -109.855584,50.963612 -109.855119,50.963669 -109.855114,50.963670 -109.854428,50.963751 -109.853046,50.963870 -109.852815,50.963868 -109.852351,50.963909 -109.850513,50.963954 -109.850042,50.963936 -109.849804,50.963949 -109.849669,50.963944 -109.849484,50.963958 -109.849291,50.963955 -109.849233,50.963959 -109.849113,50.963958 -109.848683,50.963991 -109.848141,50.963994 -109.844800,50.964190 -109.844422,50.964182 -109.844140,50.964202 -109.844015,50.964200 -109.843898,50.964207 -109.843632,50.964201 -109.843249,50.964228 -109.842068,50.964216 -109.841669,50.964194 -109.841554,50.964199 -109.841054,50.964172 -109.841013,50.964163 -109.840837,50.964170 -109.840135,50.964125 -109.839729,50.964159 -109.838318,50.964181 -109.837861,50.964161 -109.837659,50.964172 -109.837154,50.964150 -109.837114,50.964147 -109.836898,50.964158 -109.836414,50.964135 -109.836352,50.964131 -109.836335,50.964131 -109.834123,50.964019 -109.831876,50.964037 -109.831060,50.964052 -109.830597,50.964033 -109.830382,50.964045 -109.829794,50.964020 -109.829690,50.964013 -109.829443,50.964025 -109.828390,50.963969 -109.828155,50.963920 -109.827848,50.963927 -109.827667,50.963900 -109.827306,50.963886 -109.827063,50.963829 -109.826847,50.963829 -109.826367,50.963760 -109.826294,50.963741 -109.826237,50.963741 -109.825936,50.963698 -109.825849,50.963675 -109.825483,50.963622 -109.825030,50.963537 -109.824677,50.963437 -109.824228,50.963356 -109.823883,50.963260 -109.823419,50.963176 -109.822471,50.962923 -109.822221,50.962842 -109.822052,50.962830 -109.822025,50.962829 -109.821878,50.962833 -109.821409,50.962793 -109.821332,50.962775 -109.821246,50.962777 -109.821173,50.962765 -109.821082,50.962762 -109.820927,50.962725 -109.820780,50.962701 -109.820599,50.962702 -109.819639,50.962561 -109.819542,50.962536 -109.819163,50.962480 -109.818526,50.962357 -109.818301,50.962292 -109.818155,50.962267 -109.817895,50.962195 -109.817744,50.962167 -109.817407,50.962108 -109.817071,50.962023 -109.816631,50.961963 -109.815717,50.961803 -109.815644,50.961783 -109.815444,50.961756 -109.815427,50.961753 -109.815377,50.961746 -109.815351,50.961740 -109.815291,50.961729 -109.815036,50.961695 -109.814115,50.961542 -109.813727,50.961437 -109.813115,50.961325 -109.812142,50.961061 -109.811879,50.961003 -109.810944,50.960722 -109.810726,50.960674 -109.809998,50.960415 -109.809897,50.960358 -109.809756,50.960324 -109.807707,50.959122 -109.807437,50.958827 -109.806437,50.958259 -109.803917,50.957543 -109.803096,50.957268 -109.802489,50.957003 -109.798622,50.955124 -109.798515,50.955054 -109.798248,50.954929 -109.796505,50.953957 -109.795430,50.953938 -109.794488,50.953881 -109.792922,50.953603 -109.789447,50.952707 -109.785291,50.951897 -109.784340,50.951625 -109.783966,50.951544 -109.782024,50.950873 -109.776693,50.950080 -109.775950,50.950096 -109.772956,50.950544 -109.770162,50.950607 -109.768166,50.950184 -109.767279,50.950317 -109.762440,50.951717 -109.762321,50.951742 -109.762229,50.951775 -109.757002,50.953160 -109.756010,50.953441 -109.754723,50.953717 -109.752954,50.953838 -109.751916,50.953827 -109.751517,50.953804 -109.751402,50.953809 -109.750376,50.953752 -109.750255,50.953726 -109.749869,50.953711 -109.749864,50.953711 -109.749862,50.953711 -109.749860,50.953711 -109.749858,50.953710 -109.749856,50.953710 -109.749075,50.953630 -109.749071,50.953629 -109.747719,50.953403 -109.747639,50.953384 -109.747300,50.953327 -109.746798,50.953209 -109.746578,50.953178 -109.746135,50.953097 -109.745800,50.953004 -109.745335,50.952920 -109.745137,50.952867 -109.744805,50.952799 -109.744352,50.952667 -109.744257,50.952649 -109.744039,50.952587 -109.743796,50.952537 -109.743695,50.952505 -109.743401,50.952450 -109.742864,50.952301 -109.742716,50.952252 -109.742629,50.952228 -109.742576,50.952211 -109.742220,50.952145 -109.741372,50.951911 -109.741020,50.951794 -109.740914,50.951772 -109.740290,50.951566 -109.740214,50.951524 -109.740138,50.951501 -109.739958,50.951461 -109.739296,50.951220 -109.739214,50.951173 -109.739103,50.951147 -109.739024,50.951110 -109.738911,50.951074 -109.738416,50.950863 -109.737455,50.950414 -109.737342,50.950341 -109.736990,50.950176 -109.736169,50.949721 -109.735847,50.949611 -109.735703,50.949531 -109.735494,50.949482 -109.735056,50.949286 -109.734974,50.949260 -109.734493,50.949036 -109.734014,50.948841 -109.733920,50.948784 -109.733757,50.948705 -109.733658,50.948679 -109.732993,50.948375 -109.732985,50.948370 -109.732963,50.948361 -109.732905,50.948343 -109.732881,50.948337 -109.732331,50.948125 -109.732321,50.948119 -109.732309,50.948116 -109.732298,50.948111 -109.732286,50.948107 -109.731639,50.947822 -109.731510,50.947758 -109.731191,50.947621 -109.731164,50.947605 -109.730943,50.947510 -109.730389,50.947250 -109.730340,50.947239 -109.730261,50.947201 -109.730147,50.947166 -109.730013,50.947087 -109.729863,50.947049 -109.729302,50.946806 -109.729269,50.946786 -109.729027,50.946681 -109.728085,50.946230 -109.727893,50.946105 -109.727860,50.946091 -109.727447,50.945890 -109.727267,50.945773 -109.726890,50.945589 -109.726486,50.945347 -109.726456,50.945348 -109.726236,50.945393 -109.726169,50.945415 -109.724986,50.945661 -109.724949,50.945668 -109.724908,50.945677 -109.724614,50.945847 -109.724342,50.945987 -109.724291,50.946024 -109.723630,50.946364 -109.723551,50.946389 -109.723535,50.946398 -109.723432,50.946473 -109.722687,50.946866 -109.722477,50.946933 -109.722280,50.947066 -109.722103,50.947138 -109.722094,50.947205 -109.721989,50.947383 -109.721988,50.947537 -109.721743,50.948181 -109.721683,50.948273 -109.721682,50.948274 -109.721717,50.948527 -109.721694,50.948913 -109.721731,50.949184 -109.721691,50.949615 -109.721657,50.949811 -109.721660,50.949846 -109.721579,50.950306 -109.721470,50.950506 -109.721478,50.950592 -109.721437,50.950820 -109.721437,50.950834 -109.721431,50.950848 -109.721417,50.950928 -109.721372,50.951010 -109.721365,50.951028 -109.721371,50.951136 -109.721227,50.951563 -109.720876,50.952405 -109.720787,50.952536 -109.720668,50.952821 -109.720564,50.953000 -109.720356,50.953268 -109.720282,50.953416 -109.719955,50.953840 -109.719823,50.954206 -109.719769,50.954289 -109.719769,50.954304 -109.719667,50.954579 -109.719626,50.954642 -109.719536,50.954883 -109.719295,50.955375 -109.719097,50.955648 -109.718972,50.955911 -109.718689,50.956302 -109.718672,50.956334 -109.718279,50.956859 -109.718183,50.957035 -109.718021,50.957222 -109.717989,50.957245 -109.717988,50.957246 -109.717965,50.957262 -109.717949,50.957273 -109.717855,50.957385 -109.717826,50.957433 -109.717628,50.957602 -109.717463,50.957809 -109.717403,50.957850 -109.717324,50.958018 -109.717062,50.958400 -109.716670,50.959222 -109.716606,50.959555 -109.716509,50.959731 -109.716513,50.959920 -109.716400,50.960270 -109.716389,50.960288 -109.716339,50.960444 -109.716078,50.961116 -109.715932,50.961335 -109.715726,50.961789 -109.715653,50.961900 -109.715512,50.962189 -109.715299,50.962487 -109.715164,50.962764 -109.714602,50.963531 -109.714570,50.963568 -109.714210,50.964084 -109.713966,50.964376 -109.713757,50.964646 -109.713734,50.964685 -109.713686,50.964735 -109.713441,50.965072 -109.713486,50.965439 -109.713468,50.965712 -109.713491,50.965855 -109.713489,50.965893 -109.713502,50.965980 -109.713485,50.966229 -109.713521,50.966457 -109.713492,50.966969 -109.713456,50.967200 -109.713462,50.967255 -109.713373,50.967824 -109.713328,50.967908 -109.713312,50.968062 -109.713315,50.968108 -109.713305,50.968131 -109.713303,50.968153 -109.713290,50.968175 -109.713291,50.968198 -109.713037,50.969122 -109.713013,50.969163 -109.712959,50.969289 -109.712960,50.969354 -109.712797,50.969813 -109.712769,50.969856 -109.712693,50.970071 -109.712465,50.970572 -109.712438,50.970612 -109.712276,50.970984 -109.712167,50.971144 -109.712041,50.971435 -109.711923,50.971627 -109.711863,50.971755 -109.711687,50.972002 -109.711552,50.972291 -109.711452,50.972435 -109.711443,50.972457 -109.711369,50.972566 -109.711258,50.972842 -109.710793,50.973673 -109.710585,50.973947 -109.710514,50.974090 -109.710660,50.974362 -109.710757,50.974481 -109.711163,50.975241 -109.711233,50.975397 -109.711260,50.975440 -109.711264,50.975445 -109.711266,50.975450 -109.711309,50.975522 -109.711508,50.975929 -109.711605,50.976106 -109.711623,50.976132 -109.711703,50.976340 -109.711704,50.976355 -109.711714,50.976368 -109.711717,50.976382 -109.711725,50.976397 -109.711853,50.976836 -109.712040,50.977721 -109.712036,50.977872 -109.712098,50.978166 -109.712136,50.978868 -109.712106,50.979164 -109.712126,50.979310 -109.712092,50.979638 -109.712087,50.979666 -109.712107,50.979823 -109.712013,50.980649 -109.711981,50.980825 -109.711983,50.980851 -109.711908,50.981254 -109.711799,50.981453 -109.711803,50.981662 -109.711719,50.981912 -109.711697,50.982013 -109.711669,50.982063 -109.711667,50.982069 -109.711670,50.982129 -109.711649,50.982180 -109.711642,50.982244 -109.711427,50.982831 -109.710875,50.983981 -109.710673,50.984262 -109.710538,50.984544 -109.710241,50.984954 -109.710068,50.985159 -109.710040,50.985211 -109.709613,50.985716 -109.709286,50.985951 -109.709101,50.986233 -109.708499,50.986758 -109.708418,50.986810 -109.708184,50.987014 -109.707631,50.987431 -109.707280,50.987637 -109.707015,50.987840 -109.706718,50.988014 -109.706714,50.988018 -109.706662,50.988087 -109.706634,50.988134 -109.706150,50.988641 -109.706121,50.988661 -109.706105,50.988687 -109.706081,50.988708 -109.706061,50.988733 -109.705622,50.989131 -109.704680,50.989895 -109.704472,50.990022 -109.704177,50.990261 -109.703567,50.990659 -109.703225,50.990846 -109.703102,50.990937 -109.703041,50.990970 -109.702558,50.991297 -109.701818,50.991709 -109.701546,50.992406 -109.700825,50.993773 -109.700491,50.994223 -109.700377,50.994439 -109.700304,50.994528 -109.700220,50.994589 -109.700118,50.994726 -109.700083,50.994750 -109.700044,50.994815 -109.699946,50.994899 -109.699858,50.995013 -109.699846,50.995024 -109.699785,50.995103 -109.699617,50.995216 -109.699538,50.995337 -109.699023,50.995796 -109.698963,50.995834 -109.698754,50.996021 -109.698244,50.996420 -109.697907,50.996621 -109.697591,50.996866 -109.696197,50.997698 -109.695456,50.998085 -109.695174,50.998188 -109.695038,50.998261 -109.694783,50.998334 -109.694620,50.998437 -109.694216,50.998595 -109.693892,50.998679 -109.693187,50.998927 -109.691057,50.999483 -109.689957,50.999707 -109.688563,50.999824 -109.685765,50.999885 -109.684361,50.999829 -109.683002,50.999600 -109.680380,50.998981 -109.679118,50.998590 -109.678001,50.998051 -109.675954,50.996845 -109.675108,50.996238 -109.675064,50.996238 -109.674665,50.996215 -109.674549,50.996220 -109.673879,50.996182 -109.673785,50.996162 -109.673744,50.996161 -109.673527,50.996168 -109.671550,50.996011 -109.671431,50.995984 -109.671291,50.995987 -109.671182,50.995970 -109.671032,50.995964 -109.670075,50.995822 -109.668201,50.995457 -109.667720,50.995319 -109.667284,50.995234 -109.666948,50.995135 -109.666472,50.995005 -109.666115,50.994887 -109.666003,50.994863 -109.665430,50.994674 -109.665356,50.994633 -109.665350,50.994631 -109.665128,50.994582 -109.664112,50.994220 -109.664008,50.994161 -109.663863,50.994127 -109.663766,50.994081 -109.663614,50.994034 -109.663117,50.993820 -109.662152,50.993368 -109.662037,50.993294 -109.661684,50.993129 -109.660843,50.992661 -109.660641,50.992520 -109.660621,50.992510 -109.660471,50.992410 -109.660269,50.992303 -109.660157,50.992225 -109.659952,50.992120 -109.658661,50.991267 -109.657504,50.991620 -109.657238,50.991729 -109.657046,50.991781 -109.656993,50.991814 -109.656503,50.992004 -109.656399,50.992032 -109.656060,50.992163 -109.655873,50.992225 -109.655804,50.992251 -109.655770,50.992267 -109.655707,50.992286 -109.655406,50.992398 -109.655381,50.992404 -109.655190,50.992526 -109.654495,50.992804 -109.654430,50.992822 -109.654142,50.992937 -109.653523,50.993155 -109.653187,50.993237 -109.653179,50.993240 -109.652746,50.993392 -109.652416,50.993472 -109.651993,50.993620 -109.651461,50.993758 -109.651055,50.993840 -109.650924,50.993882 -109.649835,50.994102 -109.649284,50.994198 -109.649216,50.994206 -109.648857,50.994327 -109.648384,50.994439 -109.648032,50.994506 -109.647953,50.994530 -109.647457,50.994625 -109.647392,50.994628 -109.647240,50.994674 -109.646810,50.994750 -109.646663,50.994755 -109.646513,50.994798 -109.646387,50.994810 -109.646216,50.994846 -109.646018,50.994851 -109.645859,50.994893 -109.645143,50.994975 -109.645088,50.994975 -109.644783,50.995010 -109.644011,50.995073 -109.643582,50.995069 -109.642969,50.995110 -109.642796,50.995108 -109.642526,50.995124 -109.642000,50.995113 -109.641545,50.995140 -109.639850,50.995093 -109.639501,50.995070 -109.639425,50.995073 -109.638724,50.995027 -109.638628,50.995007 -109.638471,50.995001 -109.638370,50.995003 -109.638245,50.994992 -109.637836,50.995021 -109.637381,50.995014 -109.636849,50.995049 -109.636601,50.995045 -109.636421,50.995055 -109.635824,50.995040 -109.635390,50.995064 -109.634664,50.995037 -109.634347,50.995015 -109.634289,50.995017 -109.633541,50.994965 -109.633373,50.994929 -109.633168,50.994933 -109.632604,50.994838 -109.632527,50.994839 -109.631462,50.994700 -109.631279,50.994654 -109.630979,50.994614 -109.630350,50.994512 -109.629446,50.994438 -109.629123,50.994421 -109.628873,50.994401 -109.628841,50.994402 -109.628279,50.994358 -109.628150,50.994330 -109.627999,50.994333 -109.627863,50.994310 -109.627756,50.994305 -109.627634,50.994276 -109.627514,50.994277 -109.626978,50.994210 -109.626395,50.994154 -109.626105,50.994128 -109.626039,50.994112 -109.625965,50.994114 -109.625901,50.994103 -109.625825,50.994100 -109.625693,50.994069 -109.625584,50.994051 -109.625452,50.994045 -109.625379,50.994045 -109.625343,50.994040 -109.625115,50.994029 -109.623756,50.993800 -109.623258,50.993682 -109.623237,50.993676 -109.622884,50.993622 -109.621312,50.993307 -109.621262,50.993292 -109.620749,50.993201 -109.620446,50.993116 -109.619980,50.993033 -109.618708,50.992703 -109.618319,50.992578 -109.618167,50.992546 -109.617861,50.992447 -109.617533,50.992435 -109.617514,50.992436 -109.616547,50.992402 -109.616252,50.992382 -109.616118,50.992377 -109.615864,50.992386 -109.613589,50.992215 -109.613445,50.992183 -109.613273,50.992187 -109.612861,50.992120 -109.612505,50.992102 -109.612266,50.992046 -109.612052,50.992046 -109.611315,50.991938 -109.611008,50.991858 -109.610194,50.991712 -109.610073,50.991680 -109.609492,50.991569 -109.609054,50.991444 -109.608606,50.991358 -109.607561,50.991058 -109.607233,50.990947 -109.607147,50.990929 -109.606723,50.990785 -109.606688,50.990766 -109.606543,50.990734 -109.605613,50.990408 -109.605550,50.990373 -109.604904,50.990172 -109.604825,50.990126 -109.604369,50.989959 -109.604151,50.989893 -109.603858,50.989792 -109.603795,50.989778 -109.603093,50.989536 -109.602952,50.989457 -109.602747,50.989409 -109.602533,50.989305 -109.602388,50.989259 -109.602216,50.989157 -109.602030,50.989109 -109.601656,50.988942 -109.601551,50.988909 -109.601451,50.988850 -109.601358,50.988809 -109.601231,50.988776 -109.601136,50.988734 -109.601072,50.988714 -109.601017,50.988682 -109.600832,50.988600 -109.600817,50.988591 -109.600713,50.988564 -109.600009,50.988250 -109.599957,50.988217 -109.599609,50.988094 -109.599031,50.987842 -109.598868,50.987763 -109.598149,50.987456 -109.598033,50.987385 -109.597815,50.987291 -109.597213,50.987010 -109.597107,50.986942 -109.596761,50.986781 -109.596060,50.986394 -109.595734,50.986168 -109.595469,50.986029 -109.594983,50.985691 -109.594902,50.985628 -109.594833,50.985580 -109.594545,50.985423 -109.593966,50.984992 -109.593814,50.984960 -109.593439,50.984848 -109.592912,50.984756 -109.592647,50.984683 -109.592183,50.984601 -109.590939,50.984290 -109.590535,50.984161 -109.590357,50.984124 -109.590072,50.984034 -109.589903,50.984000 -109.589240,50.983794 -109.588974,50.983701 -109.588925,50.983690 -109.588304,50.983472 -109.588178,50.983402 -109.587997,50.983359 -109.587766,50.983247 -109.587616,50.983198 -109.587431,50.983089 -109.587234,50.983038 -109.585983,50.982474 -109.585829,50.982377 -109.585709,50.982325 -109.585208,50.982087 -109.585078,50.982003 -109.584717,50.981832 -109.584297,50.981593 -109.584006,50.981387 -109.583955,50.981361 -109.583920,50.981337 -109.583752,50.981248 -109.583449,50.981034 -109.583226,50.980916 -109.581990,50.980047 -109.581463,50.980094 -109.581061,50.980091 -109.580376,50.980139 -109.580034,50.980136 -109.579599,50.980159 -109.578980,50.980144 -109.578554,50.980166 -109.578226,50.980153 -109.577920,50.980131 -109.577866,50.980133 -109.577149,50.980082 -109.577054,50.980061 -109.577027,50.980059 -109.576968,50.980061 -109.576913,50.980057 -109.576307,50.980056 -109.575881,50.980034 -109.575733,50.980040 -109.574721,50.979987 -109.574251,50.979950 -109.574182,50.979952 -109.573969,50.979931 -109.573929,50.979922 -109.573886,50.979923 -109.573847,50.979917 -109.573803,50.979915 -109.573322,50.979844 -109.573264,50.979845 -109.572575,50.979744 -109.572086,50.979676 -109.570825,50.979624 -109.570124,50.979573 -109.570077,50.979565 -109.569929,50.979593 -109.569678,50.979614 -109.569589,50.979624 -109.569585,50.979624 -109.569428,50.979655 -109.569251,50.979659 -109.569225,50.979662 -109.569137,50.979678 -109.569066,50.979681 -109.568927,50.979717 -109.568770,50.979733 -109.568713,50.979749 -109.568144,50.979818 -109.567737,50.979856 -109.566970,50.979966 -109.566928,50.979967 -109.566596,50.979994 -109.566487,50.980022 -109.565542,50.980117 -109.565427,50.980117 -109.565034,50.980157 -109.563374,50.980247 -109.562655,50.980305 -109.562397,50.980302 -109.561925,50.980340 -109.559986,50.980370 -109.559524,50.980350 -109.559311,50.980360 -109.559031,50.980348 -109.558836,50.980359 -109.558291,50.980340 -109.557844,50.980349 -109.557374,50.980329 -109.557138,50.980342 -109.556565,50.980318 -109.556479,50.980312 -109.556212,50.980324 -109.553893,50.980206 -109.553633,50.980185 -109.553597,50.980187 -109.553007,50.980141 -109.552885,50.980114 -109.552844,50.980111 -109.552712,50.980114 -109.552619,50.980098 -109.552529,50.980093 -109.552305,50.980045 -109.552016,50.980051 -109.551498,50.979984 -109.551434,50.979981 -109.551356,50.979963 -109.551186,50.979936 -109.551066,50.979936 -109.550333,50.979835 -109.550279,50.979821 -109.549968,50.979778 -109.549132,50.979633 -109.548849,50.979554 -109.548829,50.979551 -109.548342,50.979466 -109.548160,50.979415 -109.548160,50.979415 -109.548068,50.979389 -109.547606,50.979308 -109.546570,50.979046 -109.546061,50.978981 -109.545853,50.979006 -109.545742,50.979025 -109.545680,50.979026 -109.545647,50.979030 -109.545442,50.979049 -109.545440,50.979049 -109.545335,50.979077 -109.545221,50.979089 -109.545170,50.979099 -109.544572,50.979170 -109.543368,50.979280 -109.543199,50.979279 -109.542762,50.979319 -109.538324,50.979484 -109.537919,50.979515 -109.537361,50.979613 -109.537071,50.979648 -109.537067,50.979649 -109.536986,50.979662 -109.536937,50.979677 -109.536095,50.979835 -109.535923,50.979842 -109.535820,50.979864 -109.535671,50.979907 -109.535582,50.979914 -109.535511,50.979929 -109.535426,50.979930 -109.535352,50.979951 -109.535069,50.979988 -109.534993,50.980005 -109.534875,50.980039 -109.534715,50.980065 -109.534702,50.980068 -109.534587,50.980088 -109.534552,50.980100 -109.534406,50.980131 -109.534120,50.980182 -109.534076,50.980195 -109.533412,50.980314 -109.533181,50.980322 -109.532505,50.980469 -109.532405,50.980478 -109.532377,50.980485 -109.532293,50.980510 -109.532246,50.980518 -109.531888,50.980609 -109.531489,50.980688 -109.531368,50.980727 -109.530314,50.980937 -109.530142,50.980944 -109.530048,50.980973 -109.529843,50.981011 -109.529780,50.981029 -109.529510,50.981057 -109.529437,50.981078 -109.528559,50.981171 -109.528305,50.981188 -109.527884,50.981238 -109.527844,50.981238 -109.527574,50.981270 -109.527045,50.981317 -109.526646,50.981314 -109.525954,50.981362 -109.525935,50.981362 -109.525635,50.981381 -109.525256,50.981374 -109.524847,50.981404 -109.524775,50.981403 -109.524746,50.981405 -109.524416,50.981401 -109.524407,50.981402 -109.523884,50.981438 -109.523505,50.981431 -109.523025,50.981464 -109.521301,50.981451 -109.520887,50.981428 -109.520755,50.981434 -109.519666,50.981373 -109.519162,50.981267 -109.518623,50.981266 -109.517631,50.981115 -109.517526,50.981088 -109.517139,50.981029 -109.517113,50.981024 -109.516885,50.981042 -109.516711,50.981077 -109.516665,50.981078 -109.516376,50.981131 -109.516208,50.981137 -109.516192,50.981141 -109.516190,50.981141 -109.516027,50.981188 -109.515913,50.981197 -109.515826,50.981215 -109.515718,50.981217 -109.515626,50.981243 -109.514152,50.981431 -109.513975,50.981433 -109.513199,50.981493 -109.513098,50.981504 -109.512955,50.981512 -109.512856,50.981520 -109.512821,50.981520 -109.511717,50.981587 -109.511228,50.981576 -109.510764,50.981604 -109.509967,50.981585 -109.509602,50.981561 -109.509514,50.981565 -109.508612,50.981507 -109.508413,50.981464 -109.508163,50.981469 -109.507059,50.981281 -109.506458,50.981185 -109.504191,50.980691 -109.503378,50.980446 -109.503090,50.980383 -109.502090,50.980038 -109.501947,50.979958 -109.501739,50.979908 -109.501615,50.979850 -109.501397,50.979782 -109.501394,50.979781 -109.500438,50.979405 -109.500139,50.979326 -109.499491,50.979226 -109.499366,50.979192 -109.498960,50.979129 -109.498224,50.978976 -109.498061,50.978928 -109.497000,50.978720 -109.496588,50.978602 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-103.297380,53.458373 -101.739782,54.049838</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-101.743069,53.614047 -101.774158,53.587830 -101.855750,53.549315 -101.954255,53.527659 -101.984161,53.525699 -102.198800,53.515541 -102.329103,53.514962 -102.515087,53.513075 -102.602098,53.505493 -102.626336,53.487088 -102.712484,53.464193 -102.848624,53.458373 -102.942902,53.463858 -102.988795,53.482646 -103.064741,53.543626 -103.136531,53.638276 -103.240491,53.706795 -103.297380,53.741346 -103.292877,53.752829 -103.250819,53.764439 -103.208435,53.774664 -103.177583,53.783988 -103.152233,53.797057 -103.150781,53.798542 -103.140814,53.800903 -103.122429,53.816337 -103.105025,53.836372 -103.080562,53.860446 -103.040481,53.885687 -103.010811,53.904285 -102.962574,53.919575 -102.920885,53.937867 -102.846427,53.970237 -102.757433,54.000090 -102.673278,54.015487 -102.591796,54.024780 -102.521091,54.028580 -102.468799,54.025212 -102.426534,54.022295 -102.342706,54.019872 -102.324198,54.017000 -102.291242,54.006500 -102.197498,53.997530 -102.136394,53.986320 -102.045843,53.981180 -101.925775,53.994539 -101.846437,54.024619 -101.799141,54.049838 -101.772909,54.043086 -101.759109,54.038840 -101.753594,54.032370 -101.739782,53.731728 -101.743069,53.614047 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-109.999718,48.998847 -109.530925,49.220997</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-109.999204,48.998847 -109.999718,49.220997 -109.530925,49.220725 -109.534272,48.999672 -109.999204,48.998847 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-112.638628,53.355165 -112.430471,53.566015</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-112.638628,53.403393 -112.635890,53.427108 -112.633001,53.439796 -112.623634,53.442911 -112.624463,53.450012 -112.619476,53.454289 -112.611789,53.458261 -112.609972,53.477245 -112.593593,53.477733 -112.590797,53.481256 -112.591628,53.485688 -112.589487,53.495960 -112.590543,53.510265 -112.582586,53.515041 -112.573186,53.520822 -112.556669,53.530472 -112.540434,53.531305 -112.539987,53.537097 -112.523519,53.550922 -112.499925,53.565942 -112.485878,53.566015 -112.480131,53.564693 -112.479345,53.540060 -112.470657,53.536566 -112.467986,53.530919 -112.467110,53.522304 -112.463665,53.519073 -112.456351,53.513063 -112.455885,53.506665 -112.451702,53.500511 -112.445318,53.495107 -112.443671,53.488908 -112.443152,53.478331 -112.436349,53.473379 -112.430471,53.469033 -112.431438,53.439928 -112.433821,53.436863 -112.441596,53.434414 -112.448040,53.429143 -112.452784,53.425679 -112.453020,53.415357 -112.445784,53.413528 -112.440929,53.408632 -112.441390,53.402842 -112.446464,53.400085 -112.464250,53.398616 -112.463876,53.391063 -112.471414,53.384081 -112.477588,53.379613 -112.478181,53.364661 -112.496282,53.363892 -112.510884,53.355713 -112.529057,53.356449 -112.545640,53.355165 -112.550178,53.356682 -112.563803,53.358563 -112.562762,53.367121 -112.541046,53.366990 -112.540445,53.369758 -112.548934,53.372892 -112.568472,53.371106 -112.588669,53.373394 -112.597753,53.376425 -112.607851,53.378901 -112.609359,53.382074 -112.609687,53.385448 -112.615492,53.388272 -112.624749,53.391653 -112.631227,53.395887 -112.633831,53.400017 -112.638628,53.403393 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-116.153275,55.276747 -114.698278,55.559944</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-116.076534,55.535110 -115.997369,55.543365 -115.853858,55.542526 -115.717896,55.540060 -115.657390,55.523051 -115.590741,55.530996 -115.529112,55.547463 -115.472464,55.558187 -115.433447,55.534630 -115.371814,55.522463 -115.330243,55.537408 -115.258388,55.557997 -115.171482,55.559944 -115.123722,55.549816 -115.029258,55.553058 -114.942352,55.554828 -114.847858,55.557916 -114.761211,55.545272 -114.728892,55.525079 -114.720395,55.510035 -114.722490,55.469369 -114.731505,55.396642 -114.698278,55.367164 -114.710488,55.322300 -114.761359,55.279830 -114.842642,55.276747 -114.925922,55.306428 -114.988072,55.335247 -115.055476,55.351210 -115.139294,55.359334 -115.191914,55.356622 -115.243331,55.344608 -115.285887,55.346111 -115.347145,55.372590 -115.397217,55.394036 -115.454890,55.364090 -115.564963,55.309829 -115.628692,55.297627 -115.685060,55.315363 -115.722788,55.343818 -115.792941,55.349342 -115.861684,55.338417 -115.931847,55.343854 -115.979861,55.375034 -116.070495,55.400266 -116.131251,55.431317 -116.153275,55.467578 -116.138921,55.506204 -116.104042,55.524965 -116.076534,55.535110 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-113.291846,49.249845 -113.096980,49.377602</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-113.258160,49.249845 -113.265450,49.250361 -113.270434,49.252285 -113.275530,49.253802 -113.280707,49.255496 -113.284390,49.258441 -113.285350,49.260565 -113.284896,49.264119 -113.283390,49.267298 -113.279640,49.270719 -113.278115,49.272554 -113.279886,49.274521 -113.282371,49.274811 -113.286880,49.275672 -113.289925,49.277200 -113.291316,49.279627 -113.291846,49.281450 -113.289036,49.285652 -113.287481,49.288070 -113.281384,49.290212 -113.274887,49.291468 -113.273041,49.292595 -113.270352,49.294462 -113.272524,49.297316 -113.271416,49.301381 -113.269570,49.302508 -113.267822,49.305156 -113.268622,49.306927 -113.269693,49.308645 -113.269249,49.310271 -113.266430,49.311201 -113.260692,49.311538 -113.255177,49.311062 -113.251815,49.312096 -113.249506,49.313504 -113.247485,49.316204 -113.245944,49.319967 -113.244482,49.323907 -113.244468,49.325835 -113.243628,49.329848 -113.241526,49.332371 -113.237975,49.336906 -113.231437,49.338743 -113.228025,49.339015 -113.226415,49.340673 -113.222891,49.341351 -113.219015,49.341905 -113.215936,49.340957 -113.214804,49.340405 -113.210496,49.337383 -113.208215,49.334935 -113.205025,49.334393 -113.203845,49.336352 -113.200529,49.341418 -113.195026,49.345555 -113.194292,49.349161 -113.195712,49.351006 -113.194611,49.353143 -113.194564,49.355655 -113.198952,49.358854 -113.201457,49.360490 -113.207585,49.362970 -113.213443,49.365502 -113.217243,49.368045 -113.218250,49.370932 -113.217038,49.373475 -113.213240,49.374205 -113.207397,49.373018 -113.199368,49.370903 -113.195122,49.369986 -113.191419,49.368964 -113.184525,49.367400 -113.177822,49.365607 -113.174137,49.362656 -113.168202,49.359945 -113.163272,49.360121 -113.157798,49.360400 -113.154173,49.362827 -113.153692,49.365037 -113.153866,49.366736 -113.151981,49.368444 -113.149267,49.368964 -113.146905,49.369609 -113.145754,49.370985 -113.143391,49.371630 -113.139591,49.372357 -113.134261,49.371645 -113.129408,49.371997 -113.126436,49.373912 -113.120285,49.376628 -113.112174,49.377602 -113.106301,49.376992 -113.103175,49.375280 -113.096980,49.369343 -113.099166,49.362383 -113.105687,49.357865 -113.114450,49.356382 -113.123947,49.354566 -113.130729,49.353268 -113.135599,49.350988 -113.137502,49.347352 -113.136660,49.344819 -113.134430,49.343129 -113.135388,49.341983 -113.137736,49.339994 -113.136828,49.338629 -113.135776,49.338253 -113.133368,49.338137 -113.132045,49.337813 -113.130867,49.336499 -113.129053,49.333767 -113.128081,49.333568 -113.128642,49.331537 -113.126875,49.329566 -113.125749,49.325740 -113.129980,49.322044 -113.135982,49.317045 -113.144132,49.313559 -113.151785,49.310936 -113.155005,49.310896 -113.161205,49.310284 -113.167375,49.306982 -113.170724,49.304607 -113.176621,49.301357 -113.182661,49.300389 -113.186740,49.300952 -113.189608,49.304058 -113.190723,49.306538 -113.193751,49.309998 -113.197576,49.311957 -113.203123,49.311852 -113.205545,49.310039 -113.208588,49.308298 -113.213719,49.305963 -113.217384,49.304295 -113.220139,49.301262 -113.222417,49.300438 -113.226670,49.299426 -113.228931,49.297258 -113.230300,49.295069 -113.232768,49.294016 -113.235174,49.294129 -113.238968,49.296670 -113.242683,49.299034 -113.247034,49.299542 -113.248610,49.298468 -113.249418,49.295039 -113.249046,49.290298 -113.249982,49.287807 -113.253896,49.284742 -113.256954,49.284344 -113.261014,49.283560 -113.265745,49.283608 -113.266237,49.282743 -113.263716,49.279765 -113.261767,49.276099 -113.258576,49.272287 -113.257218,49.269277 -113.257582,49.267474 -113.260189,49.265430 -113.262545,49.264783 -113.265250,49.264260 -113.264580,49.263427 -113.262508,49.262095 -113.262601,49.260344 -113.263665,49.258791 -113.263899,49.256051 -113.261225,49.255990 -113.259744,49.255314 -113.259265,49.254251 -113.257943,49.253929 -113.256094,49.251784 -113.258160,49.249845 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-112.002674,50.322266 -111.878794,50.502274</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-111.948361,50.322266 -111.953916,50.324297 -111.953957,50.328792 -111.953522,50.332169 -111.953009,50.336462 -111.952098,50.342024 -111.953691,50.353452 -111.952461,50.356069 -111.953773,50.359142 -111.955879,50.362976 -111.961876,50.364931 -111.967515,50.366047 -111.976014,50.367263 -111.977444,50.367313 -111.981972,50.368022 -111.989359,50.368831 -111.996549,50.370275 -112.000246,50.372330 -112.002513,50.374335 -112.002674,50.375808 -112.000969,50.377308 -111.994021,50.379725 -111.993070,50.380792 -111.991961,50.383689 -111.995185,50.387929 -111.996501,50.391002 -111.997578,50.393516 -112.000330,50.399941 -112.000018,50.403599 -112.000101,50.405987 -112.000783,50.409771 -112.000549,50.412515 -111.999680,50.415970 -111.999763,50.418358 -111.997738,50.420214 -111.995557,50.423899 -111.994130,50.427152 -111.993458,50.429972 -111.990603,50.436477 -111.988544,50.443745 -111.982145,50.449667 -111.975506,50.455031 -111.973878,50.458919 -111.971295,50.463875 -111.971575,50.465628 -111.972454,50.468778 -111.972139,50.472437 -111.969000,50.480492 -111.962195,50.487685 -111.954152,50.490889 -111.942601,50.494702 -111.932522,50.499759 -111.923239,50.502274 -111.915151,50.500977 -111.908579,50.498815 -111.902007,50.496653 -111.896954,50.490324 -111.895365,50.485496 -111.895452,50.477975 -111.896373,50.472411 -111.898167,50.469997 -111.893990,50.466820 -111.886825,50.466563 -111.881136,50.464247 -111.880502,50.461656 -111.880359,50.450273 -111.881766,50.439222 -111.887655,50.437599 -111.888496,50.432950 -111.887552,50.424109 -111.887959,50.416234 -111.887886,50.410544 -111.889643,50.403635 -111.892469,50.399242 -111.892396,50.393551 -111.891049,50.389283 -111.893001,50.385042 -111.892487,50.382731 -111.890661,50.380647 -111.884029,50.379399 -111.880020,50.377695 -111.878794,50.373707 -111.882251,50.371905 -111.884759,50.367868 -111.883732,50.363245 -111.887553,50.355678 -111.891606,50.351971 -111.897206,50.348596 -111.899826,50.348140 -111.903953,50.350122 -111.910460,50.354391 -111.915740,50.354671 -111.922172,50.349948 -111.923364,50.346139 -111.920151,50.341897 -111.921105,50.337529 -111.927693,50.330977 -111.936461,50.327346 -111.940071,50.323714 -111.948361,50.322266 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-112.326743,51.360917 -112.194278,51.431391</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-112.253806,51.373900 -112.253818,51.372907 -112.254668,51.371769 -112.258141,51.371448 -112.263525,51.371359 -112.270646,51.371108 -112.282580,51.371008 -112.295586,51.371286 -112.310959,51.371290 -112.314992,51.371717 -112.315460,51.372767 -112.315480,51.376867 -112.315574,51.382652 -112.315692,51.388998 -112.315405,51.396972 -112.315293,51.399256 -112.316508,51.400458 -112.326504,51.400552 -112.326377,51.401281 -112.326624,51.406899 -112.326743,51.413246 -112.326471,51.416690 -112.324313,51.416925 -112.320090,51.417096 -112.311736,51.417140 -112.298504,51.416901 -112.287303,51.417155 -112.282928,51.417493 -112.280887,51.417990 -112.280130,51.418830 -112.279933,51.420420 -112.280204,51.423061 -112.280627,51.425534 -112.280889,51.429168 -112.280062,51.430868 -112.277961,51.431234 -112.273468,51.431308 -112.266488,51.431391 -112.258761,51.431320 -112.254209,51.431263 -112.254010,51.430307 -112.254112,51.423923 -112.254248,51.417109 -112.254803,51.407676 -112.254389,51.396572 -112.254131,51.392939 -112.252731,51.392334 -112.250609,51.392137 -112.248638,51.391773 -112.246259,51.390489 -112.244603,51.388797 -112.243227,51.388753 -112.241105,51.388557 -112.238598,51.388002 -112.234762,51.385982 -112.232162,51.385726 -112.227744,51.384938 -112.224759,51.384325 -112.224304,51.384829 -112.223698,51.385500 -112.222171,51.385624 -112.221005,51.385543 -112.219454,51.385105 -112.217997,51.384368 -112.215969,51.383872 -112.213334,51.384047 -112.210583,51.383958 -112.208823,51.383557 -112.208415,51.382637 -112.209138,51.382229 -112.209454,51.380902 -112.208078,51.380857 -112.205595,51.380864 -112.203894,51.380594 -112.200303,51.380651 -112.197191,51.380767 -112.195279,51.380532 -112.194698,51.379219 -112.195026,51.376899 -112.194470,51.373602 -112.194278,51.367555 -112.194397,51.365272 -112.196949,51.364404 -112.201284,51.364501 -112.202788,51.363816 -112.205911,51.362708 -112.208160,51.362176 -112.210852,51.362133 -112.213392,51.362257 -112.216049,51.362644 -112.218146,51.362280 -112.222108,51.361026 -112.226804,51.360917 -112.229076,51.360946 -112.233608,51.361997 -112.234971,51.363033 -112.236521,51.363470 -112.238665,51.364229 -112.240448,51.365192 -112.241357,51.366731 -112.243012,51.368423 -112.245262,51.370436 -112.247908,51.371814 -112.250496,51.373061 -112.253806,51.373900 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-112.159511,51.459668 -112.099108,51.524916</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-112.121571,51.460589 -112.125343,51.460928 -112.126308,51.462600 -112.127201,51.465133 -112.128028,51.465981 -112.130945,51.467457 -112.132288,51.472034 -112.131969,51.473362 -112.131324,51.474463 -112.131237,51.476316 -112.132413,51.477952 -112.133764,51.479982 -112.134076,51.481201 -112.134215,51.482026 -112.135238,51.483829 -112.136357,51.485333 -112.138281,51.487123 -112.140743,51.489103 -112.141091,51.489891 -112.141709,51.490775 -112.143074,51.491812 -112.145398,51.492967 -112.146844,51.494698 -112.147425,51.496012 -112.147528,51.497267 -112.148459,51.499370 -112.149470,51.502166 -112.149326,51.503888 -112.148716,51.504559 -112.148049,51.505098 -112.147592,51.505601 -112.147193,51.506236 -112.147941,51.506390 -112.150207,51.507413 -112.151116,51.508954 -112.151989,51.510925 -112.152419,51.512407 -112.153575,51.513481 -112.154251,51.514496 -112.156244,51.517971 -112.157096,51.519380 -112.158310,51.520585 -112.159197,51.521564 -112.159511,51.522783 -112.158901,51.523454 -112.156606,51.524415 -112.154020,51.524720 -112.152066,51.524916 -112.150372,51.523652 -112.149027,51.523176 -112.146267,51.523086 -112.144349,51.522851 -112.143099,51.522076 -112.141921,51.520440 -112.140161,51.517490 -112.139652,51.515315 -112.138627,51.513512 -112.134174,51.512157 -112.130927,51.510454 -112.128145,51.509801 -112.125574,51.509113 -112.122182,51.509131 -112.118936,51.507427 -112.117564,51.504834 -112.118283,51.502872 -112.115705,51.500629 -112.114798,51.499088 -112.114101,51.497511 -112.113405,51.495934 -112.110160,51.494230 -112.108963,51.492032 -112.109123,51.489317 -112.109574,51.487260 -112.109051,51.486077 -112.107492,51.484083 -112.105569,51.482293 -112.103597,51.477824 -112.100152,51.473610 -112.099108,51.471244 -112.099886,51.469413 -112.100983,51.466255 -112.100266,51.464116 -112.099817,51.462073 -112.104018,51.459794 -112.108036,51.459668 -112.113607,51.459981 -112.118315,51.459877 -112.121571,51.460589 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-112.419077,51.752931 -112.084135,51.919964</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-112.407389,51.892231 -112.400990,51.892260 -112.390459,51.888317 -112.383000,51.886004 -112.376688,51.884935 -112.369663,51.886153 -112.368042,51.886434 -112.367783,51.889725 -112.358443,51.890982 -112.353061,51.889389 -112.351224,51.887904 -112.340850,51.884291 -112.332942,51.880972 -112.326782,51.880234 -112.315005,51.878664 -112.303770,51.876999 -112.295513,51.878064 -112.290648,51.878903 -112.281699,51.879726 -112.273167,51.877591 -112.267550,51.876757 -112.258780,51.875384 -112.253193,51.872021 -112.243913,51.868212 -112.233734,51.868881 -112.226677,51.872617 -112.224784,51.876186 -112.225414,51.881484 -112.227065,51.885164 -112.229618,51.890853 -112.233013,51.897117 -112.234996,51.898939 -112.240135,51.901300 -112.242329,51.904887 -112.243682,51.907899 -112.243503,51.910093 -112.242301,51.913904 -112.243414,51.917677 -112.237762,51.919370 -112.232200,51.919964 -112.229434,51.918998 -112.223843,51.915632 -112.218494,51.911505 -112.211886,51.903268 -112.212430,51.896688 -112.210061,51.888805 -112.212137,51.883043 -112.210732,51.872113 -112.207311,51.868376 -112.201488,51.865772 -112.198486,51.865566 -112.194826,51.862591 -112.195308,51.861067 -112.197710,51.859934 -112.196694,51.855064 -112.187482,51.852681 -112.178961,51.850539 -112.172694,51.846930 -112.170003,51.840906 -112.168003,51.835125 -112.164980,51.830960 -112.155661,51.825712 -112.152790,51.821881 -112.149862,51.816619 -112.146508,51.814312 -112.143752,51.813343 -112.138332,51.810309 -112.136990,51.807297 -112.137808,51.803915 -112.137341,51.798953 -112.131830,51.797015 -112.124907,51.797119 -112.117778,51.795458 -112.114764,51.791291 -112.116030,51.788914 -112.106838,51.786525 -112.100290,51.782242 -112.097185,51.779172 -112.088685,51.777023 -112.085972,51.773526 -112.084135,51.768078 -112.084902,51.763267 -112.088029,51.759852 -112.087623,51.756321 -112.090507,51.753668 -112.094821,51.752931 -112.101699,51.755356 -112.110641,51.758507 -112.119752,51.765950 -112.127470,51.768950 -112.135303,51.774812 -112.144699,51.778964 -112.147957,51.782367 -112.149746,51.786383 -112.157585,51.792243 -112.165909,51.796579 -112.169618,51.800985 -112.173179,51.805057 -112.175569,51.810411 -112.181382,51.813016 -112.186981,51.820341 -112.194800,51.828727 -112.198814,51.833802 -112.209371,51.839195 -112.214319,51.843750 -112.217408,51.849345 -112.223108,51.855572 -112.233164,51.858528 -112.246342,51.858062 -112.256156,51.855291 -112.263719,51.853988 -112.277435,51.853426 -112.286263,51.856228 -112.290558,51.858010 -112.295570,51.857506 -112.299388,51.860812 -112.304853,51.861310 -112.310556,51.861046 -112.315179,51.860968 -112.319023,51.861745 -112.324488,51.862243 -112.334577,51.862661 -112.346977,51.863038 -112.354365,51.863922 -112.359226,51.863080 -112.367068,51.864966 -112.370827,51.866838 -112.381306,51.866824 -112.389064,51.869805 -112.391896,51.872198 -112.399050,51.873842 -112.408905,51.875015 -112.413748,51.876698 -112.417037,51.880094 -112.419077,51.885871 -112.417438,51.888681 -112.409703,51.892190 -112.407389,51.892231 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-112.135869,51.878049 -111.875613,52.165707</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-112.025529,51.999037 -112.028821,52.002646 -112.036105,52.003844 -112.042486,52.005541 -112.043595,52.010562 -112.047516,52.016843 -112.050000,52.019895 -112.054107,52.024062 -112.054406,52.028526 -112.057139,52.034662 -112.060869,52.039240 -112.064115,52.041468 -112.067244,52.051011 -112.069548,52.056178 -112.073046,52.061490 -112.078693,52.067828 -112.083384,52.073285 -112.089992,52.080503 -112.094360,52.087752 -112.098624,52.092241 -112.101786,52.095526 -112.103755,52.098666 -112.106302,52.103099 -112.108760,52.108589 -112.110801,52.116929 -112.111777,52.121629 -112.114092,52.126796 -112.117077,52.132197 -112.118669,52.135749 -112.124244,52.143144 -112.128281,52.148367 -112.134510,52.152175 -112.135869,52.156462 -112.135654,52.161017 -112.134423,52.163312 -112.131472,52.165551 -112.126455,52.165707 -112.121656,52.161308 -112.118686,52.159726 -112.113780,52.152565 -112.106069,52.147965 -112.096388,52.140223 -112.080399,52.129728 -112.073077,52.124714 -112.060930,52.117736 -112.056432,52.113981 -112.055227,52.110016 -112.051439,52.104056 -112.044650,52.098952 -112.032794,52.088798 -112.026813,52.080431 -112.017918,52.068041 -112.004356,52.054010 -111.992287,52.044588 -111.979892,52.036957 -111.972412,52.034052 -111.960885,52.032175 -111.949789,52.031267 -111.942693,52.031767 -111.939693,52.036437 -111.946172,52.040902 -111.954843,52.043955 -111.962373,52.048242 -111.969142,52.053352 -111.972675,52.060048 -111.977875,52.065422 -111.979501,52.070356 -111.979174,52.075968 -111.977035,52.082578 -111.975704,52.085928 -111.967364,52.092541 -111.961882,52.097978 -111.954633,52.101975 -111.946237,52.103387 -111.936123,52.104739 -111.929205,52.103122 -111.927631,52.099567 -111.926487,52.096982 -111.925677,52.092604 -111.923914,52.087346 -111.918526,52.084084 -111.915905,52.080705 -111.909327,52.077296 -111.901366,52.075854 -111.895693,52.075764 -111.892545,52.076291 -111.887733,52.074321 -111.885879,52.070119 -111.887503,52.067417 -111.885221,52.062246 -111.883225,52.057721 -111.881566,52.051404 -111.888050,52.048235 -111.894533,52.045065 -111.895203,52.041482 -111.894922,52.037017 -111.892880,52.031112 -111.890982,52.025530 -111.891657,52.018129 -111.898754,52.013814 -111.900425,52.008675 -111.895477,52.006382 -111.894530,52.001682 -111.894877,52.001308 -111.887012,52.001209 -111.882397,52.000942 -111.878737,51.997739 -111.880786,51.996007 -111.878982,51.993187 -111.878413,51.991894 -111.877701,51.990278 -111.875613,51.986812 -111.877758,51.984023 -111.880283,51.980823 -111.882905,51.976566 -111.887472,51.975452 -111.892084,51.975718 -111.894319,51.975690 -111.897458,51.975162 -111.900551,51.973255 -111.905594,51.970672 -111.907215,51.964153 -111.904841,51.960041 -111.908978,51.957957 -111.912116,51.957429 -111.914207,51.957077 -111.914734,51.949354 -111.918822,51.945889 -111.923907,51.944686 -111.928089,51.943981 -111.930893,51.941427 -111.930181,51.935994 -111.928804,51.930327 -111.926715,51.926862 -111.928615,51.924806 -111.932367,51.923133 -111.936546,51.922428 -111.941533,51.922281 -111.943622,51.921928 -111.945426,51.920930 -111.945757,51.915322 -111.944332,51.912092 -111.942955,51.910242 -111.939726,51.908011 -111.939109,51.905339 -111.937542,51.901786 -111.933175,51.900788 -111.928999,51.901492 -111.922733,51.902549 -111.919695,51.902020 -111.918035,51.899524 -111.917941,51.896764 -111.920885,51.894533 -111.918465,51.892859 -111.915239,51.890627 -111.913675,51.887074 -111.921362,51.885431 -111.925633,51.883670 -111.928242,51.883230 -111.932654,51.885608 -111.935027,51.885902 -111.940768,51.884933 -111.944943,51.884228 -111.957136,51.883903 -111.961216,51.884254 -111.963825,51.883813 -111.969422,51.882520 -111.974734,51.880580 -111.981610,51.878375 -111.987634,51.878049 -111.990435,51.879310 -111.994564,51.881040 -111.995943,51.882889 -111.997514,51.886441 -112.000223,51.888758 -112.001316,51.889962 -112.003317,51.894482 -112.005175,51.898679 -112.008213,51.899206 -112.016185,51.898201 -112.020411,51.898873 -112.022599,51.901279 -112.025883,51.904888 -112.029023,51.908174 -112.029125,51.910934 -112.026186,51.913168 -112.026288,51.915928 -112.030044,51.918068 -112.035081,51.919296 -112.038029,51.920879 -112.041551,51.923753 -112.045125,51.928007 -112.044797,51.929799 -112.043138,51.931122 -112.035877,51.933743 -112.032221,51.934363 -112.023914,51.937160 -112.024015,51.939920 -112.031195,51.942175 -112.038847,51.942960 -112.044174,51.944834 -112.051120,51.947822 -112.055978,51.951164 -112.056747,51.954159 -112.056380,51.958388 -112.052733,51.962827 -112.047179,51.965505 -112.042556,51.961428 -112.042166,51.958022 -112.039021,51.954736 -112.034645,51.953742 -112.029318,51.951867 -112.025036,51.949816 -112.018672,51.951935 -112.013926,51.955169 -112.012838,51.957784 -112.008663,51.962309 -112.008620,51.964747 -112.009816,51.968711 -112.007969,51.972148 -112.006163,51.973148 -112.007453,51.976055 -112.009788,51.978784 -112.011651,51.982983 -112.014417,51.986681 -112.013421,51.988238 -112.011472,51.988915 -112.012855,51.990765 -112.016382,51.993640 -112.019765,51.996193 -112.021765,51.996896 -112.023437,51.999046 -112.025529,51.999037 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-110.586929,52.101442 -110.412523,52.198117</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-110.484950,52.124677 -110.484327,52.126393 -110.482957,52.128870 -110.484622,52.132342 -110.487837,52.135091 -110.494775,52.136622 -110.501779,52.135713 -110.506185,52.132932 -110.510471,52.127253 -110.515125,52.123138 -110.526469,52.117997 -110.542642,52.112437 -110.556640,52.111908 -110.564628,52.114731 -110.577201,52.122359 -110.585255,52.132464 -110.586929,52.140472 -110.584264,52.150121 -110.576018,52.156413 -110.567957,52.159273 -110.559211,52.162398 -110.548977,52.165103 -110.539795,52.167808 -110.527013,52.172035 -110.521115,52.175045 -110.517943,52.180230 -110.514895,52.185071 -110.511162,52.190180 -110.506006,52.193075 -110.495451,52.195012 -110.481791,52.197097 -110.471919,52.198117 -110.460002,52.197989 -110.455541,52.195428 -110.455114,52.193063 -110.452591,52.186805 -110.448831,52.179439 -110.442646,52.173901 -110.438003,52.171530 -110.429326,52.169610 -110.425858,52.168194 -110.418990,52.164217 -110.414728,52.160168 -110.412523,52.154024 -110.413599,52.148839 -110.417583,52.144994 -110.426151,52.141423 -110.428591,52.135706 -110.426187,52.132347 -110.424091,52.129750 -110.423992,52.123611 -110.428601,52.117402 -110.435365,52.113942 -110.442563,52.110253 -110.449698,52.106411 -110.454909,52.103672 -110.471634,52.101442 -110.478320,52.101716 -110.482649,52.103970 -110.484745,52.107861 -110.485903,52.115298 -110.487254,52.119951 -110.484950,52.124677 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-110.152371,52.531439 -109.989572,52.610656</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-110.151119,52.586521 -110.149617,52.587424 -110.144692,52.588152 -110.141686,52.589958 -110.141303,52.592737 -110.140493,52.594445 -110.136974,52.594965 -110.131173,52.595368 -110.127814,52.597225 -110.126833,52.598504 -110.125297,52.602134 -110.121596,52.603134 -110.114023,52.604705 -110.106631,52.605794 -110.103207,52.605618 -110.095474,52.605850 -110.087497,52.604529 -110.083126,52.602904 -110.078596,52.599941 -110.077200,52.599239 -110.074857,52.597088 -110.072708,52.593548 -110.068970,52.590695 -110.063885,52.590082 -110.059649,52.591612 -110.056809,52.593844 -110.057014,52.598123 -110.058361,52.602462 -110.057243,52.607162 -110.052993,52.609601 -110.047274,52.610214 -110.039624,52.610656 -110.029000,52.610172 -110.026913,52.608664 -110.026881,52.604813 -110.024384,52.601323 -110.020256,52.601248 -110.017681,52.603212 -110.015907,52.604379 -110.008342,52.605033 -110.003186,52.603294 -110.002451,52.599546 -110.003210,52.595806 -110.002939,52.590404 -110.000347,52.587608 -109.996164,52.585499 -109.991742,52.581838 -109.989855,52.578939 -109.989572,52.574446 -109.992063,52.572267 -109.995961,52.569883 -109.999943,52.567712 -110.003502,52.564470 -110.004189,52.559608 -110.003229,52.553400 -109.999990,52.547072 -109.996979,52.543205 -109.993981,52.538429 -109.994135,52.534099 -109.998113,52.531929 -110.003554,52.531585 -110.006099,52.531439 -110.010544,52.533281 -110.020377,52.538414 -110.026542,52.542725 -110.030793,52.545956 -110.040731,52.550392 -110.047022,52.552190 -110.053423,52.552383 -110.059824,52.552575 -110.063837,52.554253 -110.069827,52.559042 -110.072338,52.561621 -110.077190,52.566350 -110.083740,52.568788 -110.087926,52.570893 -110.092135,52.571181 -110.098965,52.572442 -110.106329,52.573171 -110.111520,52.572179 -110.113641,52.570958 -110.118586,52.568414 -110.122476,52.566025 -110.130489,52.563707 -110.139971,52.563212 -110.146023,52.563452 -110.150307,52.564860 -110.150553,52.566412 -110.151492,52.568769 -110.151548,52.571710 -110.152371,52.576580 -110.152321,52.581125 -110.151119,52.586521 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-112.332244,53.797398 -112.156773,53.892026</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-112.195985,53.797398 -112.201972,53.797472 -112.208433,53.800464 -112.215049,53.803783 -112.224475,53.809283 -112.226978,53.810810 -112.236518,53.817566 -112.239618,53.818073 -112.244457,53.818863 -112.254089,53.820980 -112.265966,53.823431 -112.278642,53.825044 -112.288690,53.825503 -112.298018,53.826961 -112.303843,53.827939 -112.311989,53.829415 -112.318920,53.830210 -112.321827,53.831317 -112.325872,53.832940 -112.329507,53.836219 -112.332244,53.842643 -112.332204,53.850760 -112.330760,53.857170 -112.328786,53.861199 -112.322946,53.869039 -112.315944,53.874427 -112.308708,53.879323 -112.301316,53.883891 -112.297367,53.887539 -112.293155,53.889996 -112.287248,53.892026 -112.279275,53.891575 -112.270948,53.891006 -112.261129,53.889800 -112.253125,53.888647 -112.251325,53.888046 -112.243938,53.887512 -112.230396,53.884094 -112.224072,53.881430 -112.214935,53.876583 -112.208509,53.869882 -112.200827,53.859863 -112.196177,53.850580 -112.195324,53.843671 -112.191780,53.837380 -112.184824,53.832705 -112.175751,53.827319 -112.167799,53.823688 -112.160437,53.817493 -112.157578,53.810738 -112.156773,53.806466 -112.161938,53.803506 -112.173367,53.800578 -112.182841,53.799201 -112.195985,53.797398 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-110.792396,54.094074 -110.606105,54.210338</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-110.664557,54.094074 -110.686822,54.103650 -110.693732,54.105639 -110.704478,54.107882 -110.713465,54.108193 -110.728038,54.107402 -110.741079,54.107383 -110.749522,54.108594 -110.757866,54.111736 -110.764686,54.116748 -110.772700,54.119117 -110.777525,54.119495 -110.785861,54.120445 -110.788829,54.121921 -110.791483,54.125909 -110.792045,54.128290 -110.792396,54.132347 -110.790767,54.135055 -110.788254,54.136798 -110.783216,54.138096 -110.770064,54.140052 -110.766779,54.141088 -110.760102,54.143997 -110.758369,54.148637 -110.760149,54.153850 -110.759731,54.158295 -110.757891,54.163773 -110.756152,54.167318 -110.753207,54.171316 -110.747406,54.175189 -110.738522,54.177328 -110.730950,54.178176 -110.721621,54.179283 -110.710311,54.179039 -110.705372,54.179496 -110.694504,54.180280 -110.686816,54.179773 -110.677376,54.180619 -110.671892,54.183071 -110.669262,54.185650 -110.667403,54.188936 -110.667305,54.194153 -110.666108,54.198985 -110.666338,54.203880 -110.665246,54.206779 -110.663820,54.207811 -110.656569,54.208332 -110.648440,54.210076 -110.641078,54.210338 -110.633604,54.209247 -110.624151,54.206803 -110.619203,54.202876 -110.614805,54.199141 -110.615130,54.194439 -110.615677,54.191347 -110.612156,54.184199 -110.608309,54.178468 -110.607537,54.173380 -110.606105,54.166746 -110.606539,54.157923 -110.606972,54.150194 -110.609161,54.142208 -110.610583,54.136798 -110.617047,54.130098 -110.617590,54.124817 -110.615066,54.121083 -110.612210,54.114386 -110.609575,54.108205 -110.609133,54.103890 -110.613951,54.099897 -110.622495,54.098091 -110.627974,54.098926 -110.634550,54.100146 -110.639808,54.099371 -110.647146,54.098014 -110.653938,54.097559 -110.659085,54.096525 -110.664557,54.094074 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-115.795114,55.751480 -115.088262,55.992073</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-115.576422,55.778598 -115.591078,55.786342 -115.596814,55.824894 -115.615439,55.848880 -115.633609,55.862435 -115.643551,55.867028 -115.663429,55.873786 -115.692801,55.879552 -115.701867,55.880261 -115.722130,55.878034 -115.742011,55.882353 -115.767148,55.895386 -115.783667,55.908439 -115.793292,55.921995 -115.795114,55.932177 -115.781820,55.943616 -115.758993,55.953623 -115.732230,55.959511 -115.715388,55.962703 -115.699838,55.965647 -115.671267,55.961336 -115.647052,55.961863 -115.637118,55.964547 -115.621168,55.976456 -115.599119,55.980608 -115.571875,55.985732 -115.555005,55.988900 -115.525148,55.992073 -115.501775,55.991598 -115.494416,55.991358 -115.478401,55.988692 -115.459792,55.984083 -115.449408,55.981171 -115.403989,55.972665 -115.368527,55.968759 -115.344327,55.961944 -115.299376,55.956550 -115.283819,55.954586 -115.258319,55.952844 -115.244921,55.952091 -115.221561,55.953984 -115.207274,55.956620 -115.176540,55.960670 -115.149742,55.959143 -115.136343,55.958378 -115.122095,55.956152 -115.105723,55.950279 -115.097576,55.943704 -115.092056,55.934225 -115.089509,55.929851 -115.088262,55.925238 -115.092233,55.917246 -115.116615,55.897434 -115.144390,55.881023 -115.159565,55.872576 -115.168233,55.867749 -115.184304,55.853481 -115.203395,55.837035 -115.206941,55.823462 -115.225122,55.810407 -115.233009,55.789568 -115.253804,55.766330 -115.280087,55.757405 -115.303327,55.753076 -115.317506,55.755278 -115.370821,55.755820 -115.406946,55.751480 -115.489065,55.754645 -115.544993,55.769168 -115.576422,55.778598 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-119.338431,58.674619 -118.713821,58.876986</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-119.292133,58.692911 -119.297669,58.689107 -119.309330,58.684462 -119.320711,58.683844 -119.327574,58.685053 -119.334447,58.688465 -119.338253,58.691196 -119.338431,58.699099 -119.333334,58.702372 -119.323708,58.705269 -119.318029,58.709986 -119.322146,58.717505 -119.327582,58.725631 -119.328194,58.733001 -119.325441,58.739312 -119.324576,58.742580 -119.308369,58.749055 -119.308412,58.762278 -119.308010,58.773829 -119.308913,58.781580 -119.308496,58.788724 -119.308654,58.792220 -119.309113,58.798300 -119.308402,58.805064 -119.304757,58.810235 -119.300371,58.813355 -119.295985,58.816474 -119.289107,58.819671 -119.280908,58.822261 -119.275049,58.823481 -119.256584,58.823794 -119.247645,58.824330 -119.236363,58.826233 -119.223320,58.828060 -119.215259,58.829734 -119.202800,58.832318 -119.189900,58.835434 -119.176703,58.838168 -119.169664,58.840066 -119.163064,58.841432 -119.152797,58.843557 -119.135193,58.847196 -119.120520,58.850228 -119.092635,58.855982 -119.069445,58.858999 -119.045074,58.862695 -119.023787,58.864870 -119.002359,58.865749 -118.980195,58.866775 -118.955090,58.868399 -118.945109,58.868683 -118.904157,58.869578 -118.886399,58.869686 -118.876707,58.870344 -118.860396,58.872352 -118.850123,58.872247 -118.832784,58.874020 -118.806642,58.875383 -118.785779,58.876986 -118.762894,58.875918 -118.737865,58.870886 -118.728712,58.864390 -118.727144,58.861191 -118.726152,58.858755 -118.725608,58.855789 -118.723082,58.847951 -118.721228,58.844371 -118.717842,58.825280 -118.714363,58.812802 -118.713821,58.809836 -118.714748,58.806571 -118.716697,58.803539 -118.719667,58.800739 -118.726309,58.797193 -118.737482,58.794044 -118.747760,58.791954 -118.755835,58.790312 -118.763175,58.788818 -118.772875,58.785965 -118.782126,58.783641 -118.786845,58.780921 -118.788107,58.773630 -118.787196,58.764583 -118.786184,58.752040 -118.786100,58.723922 -118.787100,58.714046 -118.794948,58.705410 -118.817637,58.700772 -118.841338,58.696361 -118.861221,58.693606 -118.887238,58.690029 -118.915136,58.687818 -118.930468,58.686865 -118.954842,58.686689 -118.972944,58.686041 -118.981560,58.685145 -118.994698,58.684636 -119.028856,58.682866 -119.061109,58.681919 -119.083147,58.680879 -119.102561,58.678617 -119.118180,58.675817 -119.131751,58.674762 -119.149404,58.674619 -119.163261,58.676144 -119.174640,58.677743 -119.183104,58.675541 -119.188209,58.676681 -119.194920,58.678810 -119.215788,58.685040 -119.239139,58.686783 -119.259279,58.686547 -119.278843,58.689956 -119.292133,58.692911 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-113.099221,53.270324 -112.924941,53.367143</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-113.074837,53.307753 -113.072744,53.309246 -113.073630,53.311062 -113.075474,53.315808 -113.076599,53.322934 -113.076910,53.329356 -113.079082,53.335735 -113.080909,53.338514 -113.088879,53.341344 -113.092441,53.343819 -113.092875,53.343743 -113.097378,53.347180 -113.097018,53.348370 -113.098634,53.354565 -113.097775,53.361476 -113.095266,53.365013 -113.090494,53.365847 -113.083046,53.366023 -113.076592,53.366306 -113.061260,53.366730 -113.039836,53.366243 -113.025498,53.366771 -113.014072,53.366508 -112.994511,53.365969 -112.972849,53.366918 -112.956956,53.367143 -112.949255,53.366790 -112.931123,53.366274 -112.926827,53.364203 -112.924941,53.360308 -112.926220,53.356146 -112.926812,53.340846 -112.928581,53.335755 -112.928466,53.326769 -112.928441,53.312140 -112.926580,53.301488 -112.925871,53.286415 -112.927512,53.281065 -112.932585,53.279903 -112.944236,53.280694 -112.982320,53.278855 -112.999293,53.278995 -113.016865,53.276494 -113.021233,53.272916 -113.031244,53.270324 -113.039052,53.270931 -113.045202,53.272953 -113.058205,53.272650 -113.070561,53.275838 -113.072438,53.277762 -113.079942,53.278701 -113.090497,53.281076 -113.097664,53.285170 -113.097092,53.289776 -113.097839,53.296123 -113.099221,53.303766 -113.093737,53.306980 -113.088539,53.307890 -113.081408,53.307730 -113.074837,53.307753 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-112.964727,53.220483 -112.840614,53.281256</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-112.867206,53.221035 -112.867468,53.222911 -112.868097,53.225108 -112.869485,53.226662 -112.872274,53.226691 -112.876557,53.226718 -112.880594,53.228453 -112.880523,53.231411 -112.881517,53.233033 -112.883128,53.234163 -112.891104,53.234318 -112.899583,53.233745 -112.903670,53.233805 -112.908632,53.234353 -112.915737,53.234914 -112.918278,53.235754 -112.918651,53.236970 -112.918666,53.239659 -112.920476,53.240754 -112.926109,53.240032 -112.928666,53.238691 -112.931576,53.239851 -112.932624,53.240695 -112.936062,53.240738 -112.942863,53.241991 -112.945850,53.241984 -112.949124,53.242568 -112.951729,53.244422 -112.953038,53.246245 -112.955300,53.247389 -112.957474,53.247908 -112.962191,53.249266 -112.964518,53.251425 -112.964727,53.253183 -112.964155,53.255974 -112.960141,53.258723 -112.954678,53.259801 -112.949494,53.260575 -112.946734,53.261054 -112.943362,53.262922 -112.940290,53.263200 -112.936989,53.263004 -112.930870,53.263170 -112.929038,53.263360 -112.928109,53.263649 -112.927191,53.265731 -112.926449,53.269063 -112.922006,53.271372 -112.916176,53.273025 -112.910850,53.273948 -112.906339,53.274346 -112.897316,53.275141 -112.892182,53.275133 -112.887188,53.274973 -112.882895,53.274051 -112.879506,53.273228 -112.873951,53.273677 -112.870943,53.275863 -112.869881,53.278096 -112.868564,53.280246 -112.865801,53.280724 -112.860499,53.281256 -112.856859,53.281245 -112.853778,53.279727 -112.852299,53.276652 -112.851977,53.273761 -112.852020,53.270294 -112.852430,53.267149 -112.852279,53.264612 -112.851256,53.262483 -112.849162,53.260795 -112.845494,53.260276 -112.842475,53.259773 -112.841285,53.258185 -112.840713,53.256106 -112.841245,53.254990 -112.840614,53.251896 -112.843732,53.249051 -112.847957,53.248065 -112.851336,53.247096 -112.854177,53.245452 -112.854614,53.241918 -112.854175,53.237894 -112.853592,53.233127 -112.853324,53.229459 -112.853242,53.223068 -112.854474,53.221190 -112.858415,53.220508 -112.863739,53.220483 -112.867206,53.221035 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-111.857869,50.046507 -111.802141,50.077480</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-111.843567,50.076332 -111.842284,50.075052 -111.840786,50.073263 -111.836608,50.072420 -111.831827,50.071408 -111.828144,50.070478 -111.826338,50.069973 -111.823211,50.069356 -111.821053,50.069527 -111.819668,50.069769 -111.817823,50.070432 -111.816240,50.070708 -111.813713,50.071011 -111.812023,50.071032 -111.810512,50.071227 -111.808033,50.070634 -111.805914,50.069636 -111.804964,50.068639 -111.804745,50.067106 -111.803228,50.066276 -111.802351,50.065199 -111.802141,50.063185 -111.803371,50.061057 -111.803629,50.058894 -111.805254,50.056697 -111.807761,50.054074 -111.809739,50.053729 -111.813190,50.053606 -111.815978,50.052915 -111.817292,50.052003 -111.818256,50.051014 -111.819445,50.050055 -111.820302,50.048812 -111.822398,50.048242 -111.824851,50.048019 -111.826732,50.046939 -111.828036,50.046507 -111.830075,50.046561 -111.831843,50.047483 -111.834509,50.048521 -111.837993,50.049485 -111.840148,50.050066 -111.842824,50.050624 -111.845915,50.050904 -111.848431,50.051080 -111.849877,50.051238 -111.851754,50.051662 -111.852921,50.052415 -111.854859,50.053990 -111.855729,50.054795 -111.856840,50.056173 -111.857530,50.057556 -111.857869,50.058864 -111.857575,50.062197 -111.856933,50.063950 -111.855537,50.065424 -111.854133,50.066626 -111.853734,50.068200 -111.854199,50.069554 -111.854789,50.070955 -111.855353,50.072292 -111.855017,50.074265 -111.852351,50.076508 -111.849570,50.077472 -111.846387,50.077480 -111.844482,50.076993 -111.843567,50.076332 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-113.374612,50.893127 -113.154641,51.034819</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-113.210611,50.893197 -113.211716,50.910092 -113.218814,50.913046 -113.225012,50.915180 -113.233376,50.915266 -113.240360,50.914623 -113.251737,50.914474 -113.256304,50.917569 -113.256705,50.921771 -113.256933,50.923373 -113.257366,50.929871 -113.259203,50.933805 -113.262847,50.939375 -113.265557,50.941831 -113.272273,50.946170 -113.279153,50.947518 -113.292968,50.949215 -113.297029,50.950101 -113.312938,50.954036 -113.320814,50.957499 -113.323050,50.960042 -113.324611,50.963370 -113.327894,50.967034 -113.331727,50.966317 -113.338150,50.964456 -113.341698,50.963133 -113.344572,50.962595 -113.350941,50.961730 -113.356337,50.964339 -113.364218,50.967798 -113.370664,50.971527 -113.373667,50.974584 -113.374612,50.977699 -113.370984,50.986609 -113.370634,50.990296 -113.370075,50.997972 -113.368039,51.003621 -113.364331,51.007937 -113.356412,51.011067 -113.352523,51.012783 -113.347906,51.016280 -113.343521,51.021380 -113.339081,51.027478 -113.333502,51.031155 -113.326873,51.033710 -113.317950,51.034719 -113.308601,51.034819 -113.300142,51.030144 -113.293234,51.023205 -113.289882,51.014945 -113.287437,51.007503 -113.285864,50.998582 -113.271171,50.989477 -113.259796,50.986333 -113.253915,50.978216 -113.250662,50.971256 -113.239876,50.960435 -113.233813,50.958603 -113.221798,50.952945 -113.206462,50.950206 -113.196089,50.949174 -113.186958,50.942977 -113.186677,50.936781 -113.185214,50.929160 -113.183638,50.923534 -113.178231,50.918620 -113.171782,50.918173 -113.163136,50.917477 -113.160970,50.913933 -113.154693,50.910495 -113.154641,50.905901 -113.156447,50.901950 -113.171430,50.893908 -113.189782,50.893127 -113.210611,50.893197 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-110.786703,52.101770 -110.697676,52.139198</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-110.776743,52.103963 -110.778778,52.105519 -110.779080,52.106253 -110.780071,52.107738 -110.780433,52.108618 -110.780886,52.109718 -110.781278,52.110672 -110.781821,52.111992 -110.782422,52.112835 -110.783745,52.115127 -110.785461,52.118372 -110.785825,52.119565 -110.786100,52.120849 -110.786703,52.122004 -110.786503,52.123675 -110.786328,52.124483 -110.785531,52.125934 -110.783244,52.127774 -110.778961,52.130003 -110.776788,52.130888 -110.773360,52.131188 -110.772047,52.131081 -110.766649,52.131219 -110.764470,52.130856 -110.762560,52.130529 -110.760948,52.130311 -110.758830,52.130095 -110.755700,52.130504 -110.751558,52.131226 -110.748102,52.132076 -110.746851,52.132427 -110.745838,52.132741 -110.738602,52.135817 -110.736072,52.137069 -110.733838,52.137807 -110.730112,52.138620 -110.726534,52.139175 -110.723372,52.139198 -110.720955,52.138871 -110.715848,52.137244 -110.712921,52.135981 -110.711127,52.134699 -110.709422,52.133324 -110.706971,52.131675 -110.703654,52.129458 -110.701979,52.127845 -110.700750,52.125773 -110.699760,52.123975 -110.698829,52.121700 -110.698468,52.120508 -110.698227,52.119608 -110.698130,52.117204 -110.697676,52.114855 -110.699159,52.112284 -110.702162,52.109711 -110.705048,52.108093 -110.708382,52.106639 -110.711330,52.105791 -110.714309,52.105328 -110.717348,52.105013 -110.720625,52.104659 -110.724766,52.104250 -110.729654,52.104115 -110.733557,52.103742 -110.737192,52.103645 -110.742078,52.103197 -110.746040,52.102658 -110.749228,52.102396 -110.752684,52.102171 -110.758166,52.101941 -110.761772,52.101770 -110.766274,52.102239 -110.770686,52.102488 -110.774773,52.103178 -110.776743,52.103963 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-112.326480,54.761800 -111.813372,54.972969</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-112.319178,54.909872 -112.316831,54.909914 -112.317786,54.917254 -112.316518,54.923185 -112.306971,54.934264 -112.297921,54.939535 -112.279082,54.946852 -112.269041,54.951802 -112.271699,54.959010 -112.270851,54.965827 -112.264225,54.969274 -112.253105,54.972008 -112.241127,54.972969 -112.236122,54.969475 -112.232016,54.964406 -112.228766,54.961108 -112.227056,54.957565 -112.223167,54.952939 -112.218508,54.948435 -112.210858,54.946318 -112.198461,54.946388 -112.181233,54.946750 -112.172685,54.946205 -112.162171,54.945017 -112.152084,54.944715 -112.141916,54.942517 -112.133289,54.940074 -112.122275,54.936102 -112.111820,54.931563 -112.099428,54.931623 -112.084303,54.931160 -112.071354,54.931782 -112.058674,54.929499 -112.041664,54.930282 -112.026541,54.929812 -112.012610,54.930105 -112.003582,54.932006 -111.986992,54.933668 -111.972638,54.933069 -111.959614,54.931782 -111.951633,54.930655 -111.938961,54.928358 -111.930560,54.926342 -111.911243,54.922228 -111.904703,54.918013 -111.900608,54.917226 -111.893543,54.914523 -111.891449,54.910087 -111.889146,54.905208 -111.886844,54.900330 -111.886155,54.891864 -111.887141,54.886946 -111.889388,54.879450 -111.889395,54.874209 -111.891708,54.868607 -111.889826,54.864616 -111.889273,54.859940 -111.890608,54.854015 -111.888099,54.848694 -111.878884,54.844901 -111.873931,54.841391 -111.864654,54.835702 -111.860197,54.829734 -111.854062,54.825458 -111.848138,54.821624 -111.838661,54.815490 -111.835746,54.809281 -111.834225,54.804282 -111.832144,54.799846 -111.828593,54.797546 -111.823715,54.795929 -111.820021,54.795079 -111.818150,54.791087 -111.815657,54.785764 -111.813372,54.780885 -111.815275,54.774399 -111.831371,54.777116 -111.843906,54.782769 -111.856029,54.787534 -111.870532,54.788591 -111.887265,54.792630 -111.901280,54.796141 -111.913068,54.796668 -111.923044,54.795098 -111.932600,54.792640 -111.937482,54.789013 -111.941178,54.784620 -111.944315,54.780791 -111.951424,54.774907 -111.960692,54.770109 -111.971354,54.766520 -111.983126,54.761800 -111.996300,54.763527 -112.005160,54.768317 -112.013676,54.774114 -112.026041,54.784543 -112.033872,54.792354 -112.038773,54.799201 -112.045692,54.803346 -112.054222,54.809140 -112.063446,54.812919 -112.079866,54.817936 -112.096133,54.819163 -112.108354,54.820555 -112.120920,54.820938 -112.127058,54.819960 -112.145337,54.818476 -112.162031,54.820579 -112.172803,54.824103 -112.182940,54.826297 -112.193716,54.829820 -112.203939,54.833906 -112.210328,54.838606 -112.222943,54.844217 -112.240635,54.855214 -112.246479,54.860478 -112.252451,54.864290 -112.260728,54.867733 -112.271689,54.866450 -112.282222,54.864281 -112.290237,54.862039 -112.297144,54.860928 -112.305460,54.861021 -112.311350,54.862936 -112.313831,54.866354 -112.316402,54.871666 -112.316332,54.878358 -112.318475,54.882784 -112.319976,54.885883 -112.323567,54.888168 -112.325531,54.888806 -112.326480,54.892471 -112.323373,54.896312 -112.318176,54.900966 -112.318445,54.906649 -112.319178,54.909872 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-113.339811,55.753741 -113.184130,55.852642</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-113.319180,55.762694 -113.327570,55.764620 -113.333549,55.767572 -113.335434,55.769753 -113.337446,55.773577 -113.339420,55.778030 -113.339811,55.780877 -113.338669,55.785020 -113.337804,55.788285 -113.336636,55.790976 -113.335882,55.792350 -113.331559,55.795360 -113.328329,55.796939 -113.326255,55.797909 -113.321427,55.799963 -113.318435,55.801294 -113.315782,55.802569 -113.313129,55.803844 -113.309419,55.805918 -113.305507,55.807610 -113.302313,55.808559 -113.301457,55.809741 -113.302563,55.811845 -113.303706,55.813318 -113.306912,55.815903 -113.309176,55.817398 -113.311062,55.819579 -113.311929,55.821930 -113.311500,55.825330 -113.311223,55.826208 -113.310392,55.828842 -113.306843,55.831930 -113.304589,55.833969 -113.302814,55.835513 -113.300598,55.836922 -113.293524,55.838931 -113.289168,55.840488 -113.284634,55.843114 -113.281637,55.844445 -113.270859,55.846445 -113.263340,55.848318 -113.259020,55.849243 -113.254801,55.850360 -113.250040,55.851150 -113.245960,55.851828 -113.240758,55.852483 -113.236036,55.852642 -113.232235,55.852441 -113.222530,55.851554 -113.218427,55.850779 -113.215246,55.849643 -113.209963,55.848023 -113.205601,55.846042 -113.203580,55.844298 -113.201799,55.842306 -113.199179,55.839414 -113.197978,55.837118 -113.196338,55.834687 -113.194538,55.831243 -113.192559,55.828868 -113.191839,55.826077 -113.191180,55.824107 -113.190180,55.822194 -113.189521,55.820224 -113.189521,55.816690 -113.191320,55.813067 -113.191201,55.811423 -113.191301,55.808081 -113.191521,55.806382 -113.189663,55.805650 -113.187705,55.804727 -113.186506,55.802431 -113.185188,55.798492 -113.184130,55.795757 -113.185929,55.792134 -113.187668,55.787689 -113.187609,55.783333 -113.189487,55.778450 -113.192402,55.774849 -113.193241,55.772215 -113.197113,55.767624 -113.199129,55.765835 -113.204578,55.762852 -113.212042,55.761613 -113.223297,55.760576 -113.230721,55.759966 -113.234930,55.758851 -113.238740,55.756970 -113.240614,55.755619 -113.246040,55.754716 -113.250649,55.754365 -113.254919,55.754070 -113.260645,55.753741 -113.265454,55.753772 -113.272420,55.755106 -113.280066,55.756327 -113.289808,55.758030 -113.294742,55.759702 -113.299375,55.760801 -113.307978,55.761029 -113.316103,55.761752 -113.319180,55.762694 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-110.680344,52.353269 -110.608226,52.445371</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-110.640678,52.444606 -110.625173,52.445371 -110.620907,52.443810 -110.618113,52.441016 -110.616480,52.434621 -110.621044,52.425665 -110.628012,52.420167 -110.637926,52.417841 -110.650554,52.417313 -110.663888,52.420903 -110.667313,52.428433 -110.665778,52.435114 -110.660750,52.440518 -110.653158,52.442893 -110.647887,52.443701 -110.644167,52.444272 -110.640678,52.444606 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-110.628448,52.396340 -110.615668,52.392460 -110.610477,52.387015 -110.608226,52.379105 -110.609538,52.372663 -110.613403,52.367641 -110.617035,52.362856 -110.623143,52.358496 -110.632653,52.354419 -110.642397,52.353324 -110.654541,52.353269 -110.667157,52.356765 -110.676687,52.363151 -110.680344,52.371247 -110.679663,52.377594 -110.670234,52.383476 -110.664979,52.387507 -110.663284,52.391392 -110.660037,52.393905 -110.653922,52.395046 -110.647264,52.395667 -110.644013,52.396569 -110.637433,52.398183 -110.632709,52.397901 -110.628448,52.396340 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-117.030589,55.873780 -116.756826,55.950010</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-116.951196,55.879761 -116.976380,55.882039 -117.004774,55.885417 -117.017405,55.889527 -117.025509,55.896311 -117.028701,55.901281 -117.030589,55.906165 -117.029757,55.912654 -117.027818,55.919367 -117.023421,55.925173 -117.008460,55.932064 -116.997789,55.934926 -116.980029,55.937463 -116.965788,55.939637 -116.946604,55.943860 -116.925711,55.947370 -116.890438,55.949908 -116.865492,55.950010 -116.843395,55.946729 -116.836109,55.946086 -116.814334,55.941333 -116.805863,55.938822 -116.790824,55.934820 -116.779629,55.928996 -116.769349,55.922638 -116.756826,55.910768 -116.757276,55.902615 -116.757359,55.899794 -116.770897,55.888670 -116.785332,55.881922 -116.802644,55.877750 -116.838248,55.875861 -116.860889,55.875166 -116.879972,55.873780 -116.884990,55.873822 -116.908422,55.874361 -116.936407,55.877134 -116.951196,55.879761 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-111.622626,52.574424 -111.482880,52.631302</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-111.618850,52.617044 -111.622595,52.620914 -111.622626,52.625637 -111.620440,52.628108 -111.617897,52.629766 -111.614232,52.630736 -111.609982,52.631302 -111.604128,52.631010 -111.597611,52.629207 -111.586411,52.626050 -111.580342,52.628528 -111.573801,52.629465 -111.569207,52.629712 -111.565605,52.629426 -111.560070,52.628457 -111.557067,52.627202 -111.555121,52.626025 -111.553685,52.622277 -111.552350,52.620627 -111.551346,52.618799 -111.550368,52.616097 -111.547204,52.612132 -111.541522,52.607081 -111.538166,52.605013 -111.531350,52.604375 -111.528247,52.604753 -111.523286,52.605556 -111.518822,52.605159 -111.514553,52.602865 -111.510525,52.600656 -111.505824,52.598306 -111.499851,52.596785 -111.493430,52.596578 -111.486425,52.595969 -111.484280,52.594325 -111.483549,52.591708 -111.482880,52.589702 -111.483581,52.588967 -111.488510,52.584814 -111.493283,52.582177 -111.497416,52.580887 -111.500748,52.580100 -111.513521,52.579900 -111.524820,52.580061 -111.532461,52.577455 -111.538195,52.575158 -111.543254,52.574586 -111.545020,52.574424 -111.556723,52.577377 -111.565325,52.582573 -111.569201,52.586298 -111.576676,52.592175 -111.582932,52.597130 -111.585577,52.599437 -111.588427,52.604074 -111.599864,52.609183 -111.609394,52.612734 -111.618850,52.617044 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-111.672978,52.486185 -111.633062,52.502731</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-111.672557,52.493258 -111.672978,52.494741 -111.672494,52.496796 -111.671037,52.497951 -111.669651,52.498742 -111.668092,52.499139 -111.665180,52.499615 -111.662929,52.499490 -111.660843,52.499479 -111.659376,52.499295 -111.656376,52.498517 -111.651933,52.499455 -111.649669,52.499825 -111.648598,52.500282 -111.647183,52.501007 -111.646170,52.501596 -111.644215,52.502409 -111.641813,52.502731 -111.638455,52.502716 -111.635296,52.502103 -111.633785,52.501292 -111.633416,52.499660 -111.633062,52.498589 -111.633499,52.497742 -111.634424,52.495898 -111.633710,52.494533 -111.633608,52.493774 -111.636009,52.493452 -111.637966,52.493697 -111.639331,52.493121 -111.639861,52.491695 -111.642058,52.489854 -111.644959,52.488040 -111.650334,52.486597 -111.655006,52.486185 -111.661268,52.486501 -111.666360,52.487572 -111.670659,52.490254 -111.672557,52.493258 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-110.062210,52.330825 -109.990668,52.361142</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-110.029587,52.360323 -110.029085,52.359694 -110.024153,52.359797 -110.016339,52.359699 -110.011387,52.359101 -110.008161,52.357703 -110.006675,52.354566 -110.003700,52.352507 -110.001897,52.352460 -109.998431,52.351097 -109.995804,52.349923 -109.992058,52.345245 -109.990794,52.341373 -109.990668,52.337802 -109.993091,52.334559 -109.995798,52.332366 -109.999906,52.330825 -110.007951,52.331201 -110.012976,52.332645 -110.016127,52.332883 -110.020052,52.331525 -110.022460,52.331169 -110.027134,52.332041 -110.030113,52.333787 -110.035863,52.335124 -110.039230,52.334939 -110.043378,52.334795 -110.046877,52.335917 -110.050796,52.337134 -110.054699,52.337338 -110.057751,52.338292 -110.059569,52.339350 -110.061433,52.341494 -110.061998,52.344221 -110.062210,52.346375 -110.061350,52.350015 -110.060568,52.352238 -110.058554,52.354565 -110.055338,52.356757 -110.049933,52.358570 -110.046642,52.359602 -110.042146,52.360812 -110.038323,52.361142 -110.035469,52.361016 -110.031863,52.360924 -110.029587,52.360323 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-110.441572,52.355922 -110.369981,52.434617</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-110.439146,52.370049 -110.426203,52.372621 -110.426256,52.373989 -110.426254,52.374600 -110.426892,52.376796 -110.427299,52.377804 -110.427824,52.379100 -110.425642,52.380501 -110.421171,52.381177 -110.415052,52.382103 -110.410638,52.382924 -110.405986,52.384391 -110.402507,52.386292 -110.401502,52.387514 -110.401909,52.388522 -110.403839,52.390829 -110.405005,52.393097 -110.404349,52.395183 -110.405152,52.399647 -110.407966,52.401667 -110.411432,52.402824 -110.416841,52.403840 -110.418368,52.404526 -110.421300,52.406834 -110.421351,52.408813 -110.421518,52.411081 -110.422802,52.413638 -110.424086,52.416195 -110.424722,52.419002 -110.424538,52.421017 -110.423231,52.423966 -110.421277,52.426554 -110.417264,52.428995 -110.412604,52.431075 -110.404993,52.434517 -110.400282,52.434617 -110.397931,52.433749 -110.397055,52.432200 -110.395594,52.429822 -110.398609,52.427381 -110.401148,52.425622 -110.401573,52.422959 -110.401165,52.421951 -110.398640,52.420651 -110.396523,52.420359 -110.394527,52.419132 -110.392416,52.417617 -110.391186,52.416427 -110.389907,52.413258 -110.388264,52.412283 -110.386560,52.411777 -110.381764,52.406082 -110.375133,52.402650 -110.372672,52.400882 -110.369981,52.397926 -110.370469,52.394796 -110.370660,52.392170 -110.374089,52.388902 -110.375930,52.385415 -110.382837,52.380247 -110.392331,52.374688 -110.393996,52.370769 -110.393709,52.369437 -110.394961,52.365733 -110.399739,52.362108 -110.403509,52.360315 -110.408631,52.358165 -110.415217,52.357168 -110.423449,52.355922 -110.431204,52.356581 -110.437950,52.359685 -110.440582,52.363107 -110.441572,52.365555 -110.441268,52.368505 -110.439146,52.370049 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-113.755622,50.499692 -113.666941,50.587166</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-113.710773,50.503618 -113.716398,50.510404 -113.719054,50.513827 -113.724196,50.517426 -113.725024,50.519891 -113.724445,50.523721 -113.725493,50.525924 -113.730541,50.529323 -113.732352,50.533128 -113.733934,50.535010 -113.737564,50.537589 -113.742261,50.539524 -113.746521,50.541982 -113.749237,50.544081 -113.753279,50.546799 -113.755065,50.551266 -113.755622,50.555315 -113.755510,50.557962 -113.755589,50.561010 -113.755506,50.562995 -113.755079,50.565703 -113.754490,50.567348 -113.751795,50.569620 -113.746925,50.571655 -113.744352,50.573465 -113.742572,50.576216 -113.743689,50.579281 -113.743644,50.582791 -113.742520,50.584758 -113.740318,50.585184 -113.732765,50.586642 -113.720988,50.587166 -113.710936,50.586261 -113.691845,50.585129 -113.684561,50.582814 -113.678500,50.578732 -113.674767,50.573765 -113.671606,50.569999 -113.672667,50.567171 -113.676025,50.564119 -113.679764,50.561868 -113.680414,50.558899 -113.679360,50.554510 -113.676544,50.550022 -113.672946,50.546779 -113.671396,50.544235 -113.669495,50.540228 -113.667404,50.535820 -113.667793,50.529404 -113.668788,50.525714 -113.669117,50.520621 -113.668811,50.513464 -113.666941,50.508796 -113.667395,50.503242 -113.674021,50.501309 -113.683539,50.499692 -113.694729,50.500156 -113.710773,50.503618 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-113.817356,53.577939 -113.656209,53.626746</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-113.767993,53.578725 -113.768914,53.579639 -113.770103,53.581016 -113.770227,53.582022 -113.772085,53.584419 -113.774938,53.588099 -113.780193,53.590766 -113.790278,53.592414 -113.797750,53.593231 -113.805600,53.593835 -113.814072,53.597076 -113.817356,53.601112 -113.813815,53.604649 -113.806312,53.606153 -113.797559,53.607593 -113.793904,53.608353 -113.792020,53.608777 -113.791959,53.608798 -113.780539,53.610864 -113.773200,53.610201 -113.756769,53.609008 -113.747212,53.610553 -113.744525,53.609699 -113.741800,53.610083 -113.734556,53.611390 -113.726645,53.613178 -113.720794,53.614233 -113.717593,53.615715 -113.713033,53.618707 -113.707712,53.620208 -113.693057,53.624294 -113.682438,53.626746 -113.677218,53.626057 -113.674882,53.625254 -113.674119,53.625348 -113.670657,53.624523 -113.665626,53.621809 -113.660318,53.619145 -113.657751,53.618883 -113.656209,53.616447 -113.657092,53.613394 -113.659058,53.608881 -113.658783,53.607810 -113.660309,53.605583 -113.664725,53.599439 -113.673383,53.595423 -113.681863,53.592018 -113.693195,53.588965 -113.703290,53.588738 -113.712299,53.589718 -113.721806,53.587859 -113.728654,53.584598 -113.737619,53.581678 -113.747859,53.579829 -113.755630,53.578858 -113.763913,53.577939 -113.767993,53.578725 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-112.998013,52.133504 -112.733089,52.344057</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-112.869592,52.133504 -112.879470,52.135967 -112.893082,52.145050 -112.895396,52.147323 -112.905516,52.163547 -112.919097,52.179156 -112.926840,52.194270 -112.930723,52.210457 -112.934502,52.222443 -112.943821,52.236897 -112.951458,52.245129 -112.961274,52.257961 -112.974054,52.269115 -112.984067,52.273087 -112.995664,52.279078 -112.998013,52.284033 -112.986679,52.291809 -112.973162,52.294984 -112.967743,52.299403 -112.967351,52.302542 -112.965524,52.313229 -112.968802,52.321472 -112.968336,52.325777 -112.967385,52.331703 -112.958083,52.337194 -112.946616,52.340766 -112.934235,52.343731 -112.923738,52.344057 -112.909089,52.340898 -112.902884,52.339695 -112.890717,52.336478 -112.874572,52.330127 -112.873343,52.328829 -112.861833,52.327008 -112.845129,52.323438 -112.820676,52.324684 -112.804489,52.327537 -112.784744,52.329478 -112.764339,52.332682 -112.741445,52.330567 -112.733672,52.324646 -112.733089,52.319381 -112.743407,52.310670 -112.759009,52.305246 -112.784521,52.302293 -112.808629,52.300347 -112.827123,52.299769 -112.845618,52.299188 -112.861790,52.296330 -112.880822,52.287592 -112.887391,52.280291 -112.889346,52.276505 -112.885340,52.265311 -112.874150,52.253486 -112.861248,52.244649 -112.854019,52.230589 -112.850939,52.222698 -112.847284,52.214909 -112.844764,52.201552 -112.842674,52.193103 -112.838701,52.187289 -112.828970,52.182494 -112.818586,52.178964 -112.807960,52.176243 -112.801949,52.175388 -112.793708,52.171095 -112.790234,52.163659 -112.792519,52.155207 -112.794888,52.148272 -112.803758,52.143254 -112.820444,52.140302 -112.828333,52.138522 -112.840004,52.136837 -112.853809,52.134389 -112.869592,52.133504 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-111.122370,49.199340 -110.797326,49.425887</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-111.023886,49.335399 -111.028099,49.338969 -111.030784,49.343408 -111.038423,49.343756 -111.056410,49.355266 -111.073153,49.365599 -111.086730,49.373033 -111.086015,49.373102 -111.090704,49.375042 -111.100492,49.379404 -111.109343,49.384300 -111.112759,49.387107 -111.119053,49.392811 -111.122370,49.398266 -111.117150,49.402532 -111.111471,49.402740 -111.105093,49.401185 -111.096277,49.399290 -111.080162,49.397873 -111.060949,49.397351 -111.043898,49.398009 -111.043917,49.398059 -111.030139,49.405879 -111.019192,49.411386 -110.983222,49.424754 -110.950864,49.425887 -110.947074,49.425529 -110.939289,49.421886 -110.924618,49.415317 -110.902499,49.407358 -110.884872,49.402029 -110.859949,49.397160 -110.842753,49.394383 -110.825542,49.388601 -110.820353,49.379698 -110.820327,49.375196 -110.826105,49.369356 -110.841778,49.368256 -110.852756,49.372816 -110.888974,49.371296 -110.906254,49.368416 -110.903484,49.359863 -110.897317,49.348496 -110.882943,49.341128 -110.867092,49.334379 -110.860821,49.325660 -110.862928,49.317799 -110.860995,49.311362 -110.843405,49.304527 -110.824468,49.297163 -110.808233,49.289349 -110.800759,49.278953 -110.797326,49.267136 -110.805891,49.255205 -110.812674,49.248566 -110.838956,49.239880 -110.868544,49.239223 -110.905175,49.242265 -110.933441,49.240589 -110.943500,49.237681 -110.962333,49.235743 -110.992543,49.231888 -111.016223,49.232790 -111.027269,49.231732 -111.032996,49.227330 -111.041486,49.215380 -111.059125,49.203385 -111.074156,49.199340 -111.089832,49.204199 -111.092786,49.214594 -111.085248,49.226014 -111.069134,49.241890 -111.063806,49.247298 -111.059632,49.252969 -111.037599,49.263410 -111.015504,49.268965 -110.998160,49.267606 -110.989826,49.267785 -110.976236,49.268845 -110.952175,49.276548 -110.935137,49.285512 -110.930143,49.291846 -110.948457,49.302833 -110.980160,49.312184 -111.007317,49.326571 -111.023886,49.335399 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-111.393751,51.775379 -111.005772,51.925470</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-111.384906,51.921719 -111.369178,51.925470 -111.338859,51.922068 -111.316220,51.918603 -111.287047,51.915597 -111.264609,51.910304 -111.244563,51.899269 -111.214434,51.891643 -111.179384,51.885991 -111.151847,51.884472 -111.118910,51.883812 -111.091750,51.876275 -111.084368,51.863193 -111.081083,51.853021 -111.069879,51.839958 -111.060817,51.834497 -111.053501,51.832739 -111.035858,51.826287 -111.020818,51.819119 -111.010204,51.812142 -111.005772,51.800293 -111.011198,51.788965 -111.021310,51.781971 -111.041053,51.776127 -111.066285,51.775379 -111.090542,51.778070 -111.097609,51.780201 -111.153136,51.786784 -111.202803,51.797797 -111.239104,51.802036 -111.306841,51.826139 -111.349933,51.841734 -111.377406,51.863435 -111.391611,51.885516 -111.393751,51.901829 -111.390160,51.913722 -111.384906,51.921719 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-112.982623,50.146713 -112.641232,50.585098</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-112.804996,50.218344 -112.641693,50.221026 -112.646130,50.189397 -112.643425,50.188077 -112.642862,50.186808 -112.641232,50.182166 -112.643606,50.181731 -112.643483,50.150191 -112.778481,50.146713 -112.781242,50.182879 -112.786074,50.185774 -112.793195,50.188305 -112.800825,50.191017 -112.809529,50.193256 -112.819587,50.194695 -112.831118,50.197509 -112.836376,50.198735 -112.841573,50.198873 -112.852149,50.202411 -112.854474,50.204728 -112.860189,50.206967 -112.868998,50.205611 -112.875610,50.206035 -112.877822,50.208098 -112.879253,50.212229 -112.888975,50.212900 -112.896651,50.210927 -112.902298,50.210154 -112.908183,50.211810 -112.911416,50.214233 -112.915773,50.215348 -112.920682,50.213887 -112.924633,50.213152 -112.929043,50.213433 -112.933348,50.215381 -112.935834,50.215194 -112.940461,50.214058 -112.945254,50.212342 -112.949549,50.212368 -112.954239,50.212320 -112.955132,50.210505 -112.954725,50.208656 -112.954306,50.204886 -112.957735,50.202049 -112.964959,50.200979 -112.969940,50.202524 -112.972348,50.207848 -112.979473,50.216966 -112.982623,50.222977 -112.980903,50.227696 -112.974656,50.231884 -112.962161,50.231736 -112.955544,50.231318 -112.951591,50.232054 -112.948120,50.237647 -112.944137,50.243060 -112.936291,50.245618 -112.924188,50.245392 -112.916986,50.241781 -112.912564,50.239579 -112.905384,50.239811 -112.902959,50.241085 -112.897879,50.243127 -112.893019,50.243753 -112.887807,50.241695 -112.882657,50.240726 -112.876838,50.242078 -112.874359,50.244186 -112.872283,50.248142 -112.870093,50.251845 -112.868975,50.255075 -112.861860,50.258314 -112.854797,50.260719 -112.846433,50.263089 -112.843501,50.266104 -112.840348,50.270533 -112.837637,50.272132 -112.841058,50.279744 -112.844535,50.286522 -112.848133,50.295476 -112.850774,50.305156 -112.848827,50.315135 -112.846127,50.320580 -112.844502,50.325552 -112.843729,50.331466 -112.846471,50.337556 -112.850289,50.343174 -112.854559,50.347883 -112.857067,50.351544 -112.861293,50.359010 -112.862895,50.362563 -112.863825,50.368439 -112.863284,50.374862 -112.860918,50.379147 -112.856002,50.384452 -112.853573,50.387649 -112.850082,50.395165 -112.852829,50.401256 -112.855792,50.404009 -112.858869,50.407016 -112.861604,50.409262 -112.865194,50.412449 -112.867478,50.415602 -112.867464,50.415820 -112.872101,50.421074 -112.875251,50.427092 -112.876803,50.431480 -112.878258,50.439461 -112.878726,50.442400 -112.877849,50.449986 -112.879756,50.457059 -112.885764,50.465577 -112.892843,50.471697 -112.896858,50.478658 -112.901669,50.485472 -112.908294,50.490576 -112.914701,50.497096 -112.917925,50.504203 -112.920449,50.518318 -112.924252,50.526695 -112.932197,50.531831 -112.934724,50.535492 -112.936974,50.539870 -112.944184,50.545852 -112.950311,50.550774 -112.953199,50.557120 -112.954546,50.562925 -112.950325,50.571685 -112.942491,50.577259 -112.930320,50.582807 -112.921033,50.584243 -112.911913,50.585098 -112.903634,50.583046 -112.898839,50.582002 -112.897518,50.580044 -112.894175,50.572681 -112.895229,50.566434 -112.895653,50.559753 -112.893648,50.557606 -112.879781,50.553321 -112.869546,50.545025 -112.859125,50.531538 -112.851330,50.518119 -112.846968,50.508470 -112.846313,50.500340 -112.843891,50.491161 -112.842211,50.482670 -112.840640,50.472510 -112.840095,50.462711 -112.846418,50.450000 -112.846094,50.438787 -112.840947,50.429287 -112.837068,50.424502 -112.831378,50.421425 -112.823853,50.412363 -112.814613,50.397570 -112.814303,50.388281 -112.819448,50.381563 -112.827941,50.375602 -112.827689,50.367403 -112.825350,50.363161 -112.821414,50.355366 -112.818218,50.348259 -112.816332,50.343110 -112.815860,50.336327 -112.820254,50.326998 -112.823408,50.320646 -112.819123,50.308246 -112.816501,50.302409 -112.814108,50.297080 -112.812724,50.288267 -112.811070,50.283626 -112.814505,50.276949 -112.814609,50.272620 -112.809955,50.268721 -112.808416,50.264334 -112.806253,50.259513 -112.807258,50.254108 -112.808544,50.248377 -112.808924,50.242537 -112.809483,50.239962 -112.812637,50.235534 -112.819134,50.233786 -112.827668,50.232760 -112.832355,50.230796 -112.832061,50.227279 -112.830922,50.224742 -112.822828,50.221017 -112.808636,50.218966 -112.804996,50.218344 -112.804996,50.218344 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-110.403599,50.147743 -110.323271,50.181952</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-110.363285,50.181392 -110.350446,50.181952 -110.342521,50.181587 -110.336372,50.181676 -110.334489,50.180944 -110.332822,50.180178 -110.331693,50.179621 -110.327503,50.177047 -110.325688,50.174099 -110.323661,50.170597 -110.323411,50.167549 -110.323271,50.164189 -110.324043,50.161421 -110.324879,50.157026 -110.327002,50.153603 -110.328368,50.150595 -110.332694,50.148147 -110.337115,50.147743 -110.341748,50.147893 -110.347188,50.148356 -110.355316,50.149864 -110.361132,50.150708 -110.365334,50.150925 -110.367219,50.151067 -110.368933,50.153149 -110.371040,50.152080 -110.373251,50.151877 -110.382033,50.152103 -110.390811,50.153505 -110.397919,50.154730 -110.403175,50.160661 -110.403599,50.162359 -110.403157,50.164782 -110.401316,50.166544 -110.398993,50.167648 -110.394666,50.170687 -110.393150,50.172104 -110.392441,50.173834 -110.389470,50.175040 -110.387415,50.176248 -110.380020,50.177861 -110.377648,50.177648 -110.376510,50.178858 -110.367709,50.180986 -110.363285,50.181392 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-119.495213,55.129749 -118.699219,55.446971</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-119.455989,55.268014 -119.469413,55.278848 -119.481940,55.300548 -119.491946,55.314634 -119.495213,55.351599 -119.493373,55.369246 -119.490294,55.387178 -119.466369,55.404174 -119.443368,55.414388 -119.410917,55.423487 -119.384409,55.432849 -119.337509,55.437856 -119.303259,55.442409 -119.246898,55.446257 -119.200708,55.446124 -119.196982,55.446971 -119.120256,55.442283 -119.075314,55.441817 -119.043311,55.435142 -119.002668,55.422232 -118.971474,55.410457 -118.952172,55.403358 -118.923953,55.395811 -118.895518,55.385856 -118.862884,55.376023 -118.820154,55.361913 -118.796474,55.352515 -118.770699,55.346528 -118.741372,55.328435 -118.712237,55.303038 -118.699219,55.268858 -118.704523,55.242458 -118.719161,55.222129 -118.764534,55.199359 -118.799376,55.191539 -118.839691,55.172825 -118.848817,55.155927 -118.848129,55.140870 -118.867077,55.137439 -118.917840,55.132502 -118.966328,55.134591 -118.982048,55.134337 -119.059403,55.133057 -119.101010,55.133385 -119.145579,55.129749 -119.186196,55.136816 -119.232242,55.139352 -119.260082,55.148510 -119.284522,55.173181 -119.300346,55.191649 -119.304330,55.205471 -119.307073,55.215485 -119.313250,55.218160 -119.336975,55.227445 -119.405687,55.243567 -119.411853,55.242144 -119.430188,55.251844 -119.455989,55.268014 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-113.647213,52.908864 -113.578340,52.969329</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-113.585845,52.923557 -113.580865,52.924041 -113.578340,52.921766 -113.578340,52.921766 -113.578401,52.918389 -113.578401,52.918389 -113.582578,52.914895 -113.582578,52.914895 -113.586236,52.912758 -113.586236,52.912758 -113.588932,52.911731 -113.588932,52.911731 -113.590828,52.911428 -113.590828,52.911428 -113.596965,52.909544 -113.596965,52.909544 -113.605326,52.908864 -113.614682,52.911578 -113.614682,52.911578 -113.624520,52.915255 -113.624520,52.915255 -113.627344,52.916339 -113.627344,52.916339 -113.629949,52.916370 -113.638184,52.916131 -113.638184,52.916131 -113.642433,52.917670 -113.642433,52.917670 -113.643047,52.920293 -113.643047,52.920293 -113.644954,52.928993 -113.644954,52.928993 -113.644466,52.937079 -113.644466,52.937079 -113.644640,52.942307 -113.644640,52.942307 -113.645283,52.950364 -113.645283,52.950364 -113.646167,52.952667 -113.646167,52.952667 -113.646358,52.953421 -113.646358,52.953421 -113.646497,52.954072 -113.646497,52.954072 -113.646567,52.954961 -113.646567,52.954961 -113.646964,52.956129 -113.646964,52.956129 -113.647019,52.957359 -113.647019,52.957359 -113.647142,52.958351 -113.647142,52.958351 -113.647213,52.959239 -113.647213,52.959239 -113.646874,52.960428 -113.646874,52.960428 -113.646499,52.961173 -113.646499,52.961173 -113.645750,52.962662 -113.645750,52.962662 -113.645053,52.964254 -113.645053,52.964254 -113.643055,52.965858 -113.643055,52.965858 -113.639958,52.966761 -113.639958,52.966761 -113.637427,52.967673 -113.637427,52.967673 -113.634518,52.968202 -113.634518,52.968202 -113.631096,52.968826 -113.631096,52.968826 -113.626440,52.969222 -113.626440,52.969222 -113.622759,52.969329 -113.620344,52.968979 -113.620344,52.968979 -113.617963,52.967948 -113.617963,52.967948 -113.616488,52.966863 -113.616488,52.966863 -113.615698,52.965655 -113.615698,52.965655 -113.614925,52.964105 -113.614925,52.964105 -113.614357,52.962968 -113.614357,52.962968 -113.613687,52.961625 -113.613687,52.961625 -113.611300,52.957214 -113.611300,52.957214 -113.610169,52.956068 -113.610169,52.956068 -113.610009,52.955979 -113.610009,52.955979 -113.605626,52.952779 -113.605626,52.952779 -113.604795,52.952509 -113.604795,52.952509 -113.598146,52.950352 -113.598146,52.950352 -113.595011,52.947556 -113.595011,52.947556 -113.590887,52.945570 -113.590887,52.945570 -113.586029,52.943508 -113.586029,52.943508 -113.584077,52.940286 -113.584077,52.940286 -113.583945,52.936524 -113.583945,52.936524 -113.585985,52.933629 -113.585985,52.933629 -113.586141,52.930445 -113.586141,52.930445 -113.586135,52.926239 -113.586135,52.926239 -113.586325,52.924521 -113.586325,52.924521 -113.585845,52.923557 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-112.767457,58.202186 -110.762007,59.022745</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-111.096259,58.457373 -111.476359,58.452855 -111.520309,58.446741 -111.600542,58.425665 -111.608918,58.411333 -111.607331,58.383595 -111.586468,58.348698 -111.570898,58.317995 -111.563133,58.277979 -111.577702,58.251271 -111.639771,58.226080 -111.725213,58.204107 -111.765334,58.203334 -111.876974,58.202186 -111.952457,58.209444 -112.024554,58.222090 -112.140060,58.239923 -112.211000,58.255944 -112.288151,58.277619 -112.400979,58.307195 -112.481201,58.339886 -112.549116,58.372728 -112.607171,58.410328 -112.663681,58.456415 -112.697412,58.489382 -112.732056,58.535439 -112.742140,58.588486 -112.763591,58.656379 -112.767457,58.703759 -112.764586,58.738917 -112.745724,58.768187 -112.720519,58.803353 -112.680522,58.829123 -112.622751,58.857492 -112.548378,58.896517 -112.479827,58.923060 -112.432368,58.941532 -112.402745,58.945832 -112.323551,58.958939 -112.249404,58.969611 -112.201925,58.976418 -112.112029,58.987598 -112.016127,58.999554 -111.952063,59.005298 -111.864979,59.015880 -111.794097,59.020840 -111.756757,59.022745 -111.698338,59.020973 -111.638330,59.016100 -111.556690,59.012529 -111.490759,59.008403 -111.407581,59.001659 -111.338078,59.002876 -111.281920,58.998965 -111.206979,58.989339 -111.162013,58.982230 -111.110997,58.969345 -111.042045,58.952266 -110.940790,58.908250 -110.892829,58.881770 -110.858355,58.856785 -110.836628,58.838322 -110.811153,58.812150 -110.791615,58.778638 -110.775716,58.726611 -110.770316,58.689606 -110.762007,58.659546 -110.773647,58.625217 -110.789750,58.600133 -110.819171,58.583118 -110.850009,58.562623 -110.892591,58.540550 -110.929231,58.519251 -110.975400,58.498296 -111.009841,58.485460 -111.053826,58.472963 -111.096259,58.457373 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-123.564323,48.918494 -123.553368,48.926226</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-123.563995,48.923068 -123.563995,48.923068 -123.563319,48.923823 -123.563076,48.923985 -123.562781,48.924163 -123.561960,48.924528 -123.561736,48.924567 -123.561125,48.925249 -123.560481,48.925618 -123.560031,48.925818 -123.559611,48.925976 -123.558710,48.926166 -123.558435,48.926197 -123.558047,48.926226 -123.556730,48.926104 -123.555948,48.925845 -123.555506,48.925649 -123.555142,48.925462 -123.554341,48.924761 -123.554341,48.924761 -123.554125,48.924465 -123.554125,48.924465 -123.553792,48.923616 -123.553811,48.923528 -123.553787,48.923457 -123.553794,48.923174 -123.553841,48.922999 -123.553574,48.922523 -123.553368,48.921871 -123.553554,48.921002 -123.553745,48.920710 -123.553834,48.920598 -123.554318,48.920135 -123.554391,48.920098 -123.554434,48.920054 -123.554835,48.919786 -123.554896,48.919757 -123.555141,48.919605 -123.556096,48.919105 -123.556737,48.918840 -123.557454,48.918675 -123.558298,48.918547 -123.558868,48.918494 -123.559890,48.918558 -123.560471,48.918654 -123.560767,48.918712 -123.561413,48.918963 -123.561729,48.919072 -123.561883,48.919146 -123.561913,48.919157 -123.561920,48.919163 -123.562188,48.919291 -123.562456,48.919434 -123.563170,48.920024 -123.563504,48.920423 -123.563529,48.920479 -123.563591,48.920534 -123.563824,48.920852 -123.563824,48.920852 -123.563824,48.920852 -123.563991,48.921080 -123.563991,48.921080 -123.564323,48.921929 -123.564138,48.922798 -123.563995,48.923068 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-129.234003,50.691046 -128.428274,50.960710</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-129.165677,50.944420 -129.162096,50.946180 -129.161347,50.946348 -129.160064,50.947078 -129.148491,50.950942 -129.146184,50.951620 -129.136687,50.953408 -129.128076,50.955829 -129.127224,50.955996 -129.126707,50.956099 -129.125023,50.956342 -129.120939,50.957438 -129.118845,50.957800 -129.117489,50.957978 -129.116972,50.958114 -129.116666,50.958164 -129.102958,50.959899 -129.088542,50.960433 -129.081818,50.960710 -129.081199,50.960705 -129.081164,50.960706 -129.080971,50.960703 -129.080320,50.960697 -129.080239,50.960691 -129.080124,50.960689 -129.078302,50.960529 -129.076297,50.960362 -129.069284,50.960477 -129.067892,50.960397 -129.047721,50.958203 -129.047520,50.958142 -129.047299,50.958134 -129.046229,50.957959 -129.045974,50.957882 -129.044932,50.957657 -129.044786,50.957642 -129.044360,50.957534 -129.027374,50.953867 -129.026059,50.953507 -129.025956,50.953469 -129.025114,50.953289 -129.024365,50.953087 -129.021818,50.952158 -129.018979,50.951530 -129.018277,50.951331 -129.018261,50.951328 -129.018175,50.951302 -129.017649,50.951153 -129.017579,50.951126 -129.017376,50.951067 -129.014663,50.950040 -129.014196,50.949866 -129.013236,50.949622 -129.012808,50.949469 -129.012081,50.949168 -129.011719,50.949075 -129.011215,50.948891 -129.008196,50.947630 -129.004411,50.946219 -129.001350,50.945345 -129.000953,50.945174 -129.000204,50.944669 -128.996784,50.943678 -128.994753,50.942783 -128.994215,50.942417 -128.993182,50.942032 -128.992486,50.941541 -128.991151,50.941136 -128.977105,50.933414 -128.975350,50.932298 -128.966139,50.924769 -128.960886,50.921322 -128.960297,50.920786 -128.960093,50.920603 -128.960040,50.920551 -128.959972,50.920490 -128.959965,50.920478 -128.954387,50.915032 -128.954162,50.914761 -128.953586,50.914378 -128.952534,50.913392 -128.952169,50.912793 -128.951186,50.911871 -128.949794,50.912241 -128.947398,50.912650 -128.935508,50.914190 -128.934626,50.914392 -128.934409,50.914414 -128.933889,50.914399 -128.931971,50.914647 -128.931871,50.914644 -128.931754,50.914670 -128.919408,50.915394 -128.917058,50.915460 -128.910471,50.915025 -128.901093,50.915261 -128.900734,50.915248 -128.898344,50.915009 -128.896213,50.915026 -128.894100,50.914871 -128.877984,50.912974 -128.876386,50.912814 -128.875259,50.912470 -128.874357,50.912438 -128.873067,50.912152 -128.872413,50.912122 -128.870384,50.911746 -128.868393,50.911114 -128.867358,50.910884 -128.854459,50.908059 -128.853858,50.907892 -128.853820,50.907878 -128.853797,50.907872 -128.853759,50.907864 -128.853479,50.907784 -128.853435,50.907774 -128.852710,50.907571 -128.852648,50.907548 -128.852528,50.907521 -128.852125,50.907408 -128.851044,50.907006 -128.850488,50.906882 -128.850379,50.906850 -128.849302,50.906445 -128.848648,50.906297 -128.848479,50.906247 -128.847931,50.906039 -128.847275,50.905888 -128.846185,50.905558 -128.846113,50.905530 -128.845740,50.905441 -128.845387,50.905328 -128.845174,50.905244 -128.844919,50.905187 -128.844031,50.904924 -128.843302,50.904647 -128.843228,50.904622 -128.843058,50.904554 -128.842031,50.904164 -128.840190,50.903716 -128.839753,50.903571 -128.838544,50.903088 -128.837601,50.902849 -128.837474,50.902804 -128.835020,50.901792 -128.833913,50.901498 -128.833486,50.901336 -128.826445,50.898330 -128.824399,50.897731 -128.822372,50.896828 -128.821903,50.896506 -128.820985,50.896157 -128.820283,50.895659 -128.818958,50.895254 -128.818555,50.895037 -128.811439,50.900193 -128.809682,50.901297 -128.805217,50.903473 -128.800879,50.906337 -128.800622,50.906471 -128.799467,50.906982 -128.798875,50.907366 -128.798733,50.907437 -128.783794,50.913922 -128.783791,50.913924 -128.780621,50.915101 -128.780618,50.915101 -128.780616,50.915103 -128.768422,50.919093 -128.767264,50.919424 -128.757853,50.921142 -128.747448,50.923889 -128.745050,50.924293 -128.729553,50.926269 -128.727943,50.926209 -128.727081,50.926398 -128.724092,50.926443 -128.722501,50.926761 -128.720029,50.926890 -128.714497,50.926587 -128.697842,50.926835 -128.695371,50.926694 -128.674401,50.924376 -128.673655,50.924147 -128.672854,50.924113 -128.670460,50.923697 -128.669984,50.923548 -128.658510,50.921216 -128.658021,50.921097 -128.654279,50.919782 -128.647294,50.918136 -128.646254,50.917812 -128.643286,50.917483 -128.642545,50.917255 -128.641748,50.917222 -128.639355,50.916805 -128.638476,50.916530 -128.635509,50.915872 -128.634086,50.915794 -128.633657,50.915707 -128.631359,50.914951 -128.621223,50.912701 -128.621012,50.912642 -128.620024,50.912272 -128.618010,50.911809 -128.615768,50.911140 -128.608747,50.908448 -128.607075,50.908352 -128.591113,50.908574 -128.588644,50.908430 -128.567661,50.906088 -128.566931,50.905863 -128.566145,50.905829 -128.565722,50.905755 -128.565721,50.905755 -128.563754,50.905411 -128.562713,50.905085 -128.543605,50.900710 -128.541476,50.900081 -128.537624,50.898607 -128.534129,50.897725 -128.533748,50.897593 -128.527325,50.894955 -128.526023,50.894654 -128.523783,50.893984 -128.522350,50.893432 -128.521982,50.893321 -128.508151,50.887981 -128.504840,50.887006 -128.504002,50.886634 -128.503790,50.886488 -128.502836,50.886205 -128.500815,50.885297 -128.500329,50.884960 -128.499350,50.884582 -128.498656,50.884084 -128.497329,50.883673 -128.493248,50.881402 -128.493217,50.881388 -128.493194,50.881372 -128.493169,50.881358 -128.492834,50.881195 -128.491868,50.880728 -128.491724,50.880624 -128.491529,50.880536 -128.491049,50.880203 -128.489950,50.879863 -128.488468,50.879071 -128.488239,50.879000 -128.487742,50.878722 -128.487645,50.878692 -128.485220,50.877337 -128.480220,50.874666 -128.479552,50.874272 -128.479114,50.873924 -128.473794,50.870950 -128.473508,50.870766 -128.471469,50.869630 -128.469730,50.868516 -128.468462,50.867465 -128.468302,50.867362 -128.460705,50.861065 -128.455308,50.857477 -128.454474,50.856709 -128.453944,50.856357 -128.452540,50.855064 -128.451593,50.853508 -128.448690,50.851100 -128.448439,50.850636 -128.447286,50.849807 -128.441546,50.842779 -128.440516,50.841352 -128.437739,50.835254 -128.433007,50.827959 -128.432386,50.826440 -128.429404,50.816791 -128.429505,50.815781 -128.429208,50.815230 -128.429154,50.813427 -128.428675,50.812454 -128.428479,50.810893 -128.428974,50.807431 -128.428966,50.807154 -128.428890,50.805793 -128.428818,50.805647 -128.428622,50.804086 -128.428697,50.803565 -128.428694,50.803561 -128.428670,50.803367 -128.428731,50.802941 -128.428671,50.801863 -128.428635,50.801533 -128.428631,50.801138 -128.428477,50.798361 -128.428477,50.798354 -128.428274,50.796290 -128.428275,50.796209 -128.428905,50.793245 -128.428805,50.789859 -128.428865,50.789467 -128.428854,50.789110 -128.429089,50.787551 -128.432817,50.774379 -128.432966,50.774186 -128.432988,50.773975 -128.433514,50.772746 -128.433709,50.772495 -128.433739,50.772228 -128.433822,50.772037 -128.434317,50.770899 -128.434750,50.770347 -128.442160,50.757550 -128.443222,50.756135 -128.452994,50.745982 -128.454487,50.743962 -128.455918,50.742683 -128.456481,50.742357 -128.457117,50.741696 -128.457898,50.741260 -128.458548,50.740417 -128.459891,50.739618 -128.470902,50.731676 -128.471165,50.731511 -128.471227,50.731481 -128.471320,50.731414 -128.471328,50.731409 -128.473295,50.729993 -128.475054,50.728895 -128.483117,50.724990 -128.484763,50.723947 -128.484939,50.723863 -128.487332,50.722849 -128.492191,50.719909 -128.494223,50.719019 -128.496694,50.718413 -128.500559,50.716539 -128.501283,50.716381 -128.502591,50.715649 -128.513766,50.711976 -128.516010,50.711324 -128.524272,50.709807 -128.525295,50.709187 -128.527024,50.708429 -128.527024,50.708429 -128.527025,50.708429 -128.527326,50.708297 -128.529659,50.707723 -128.529841,50.707613 -128.530846,50.707172 -128.530877,50.707164 -128.533650,50.705818 -128.534375,50.705660 -128.535681,50.704928 -128.541565,50.702991 -128.541798,50.702863 -128.542166,50.702734 -128.542661,50.702630 -128.543595,50.702323 -128.543654,50.702303 -128.544065,50.702082 -128.544249,50.702020 -128.544901,50.701887 -128.549558,50.700330 -128.550696,50.699989 -128.551994,50.699744 -128.555697,50.698570 -128.555995,50.698490 -128.556960,50.698323 -128.558645,50.697803 -128.559385,50.697617 -128.561157,50.697323 -128.563440,50.696649 -128.563596,50.696613 -128.569533,50.695695 -128.572290,50.694929 -128.574677,50.694466 -128.575347,50.694373 -128.575620,50.694302 -128.578083,50.693911 -128.582794,50.693336 -128.594857,50.691654 -128.596456,50.691716 -128.597315,50.691527 -128.600267,50.691486 -128.601840,50.691172 -128.604298,50.691046 -128.609776,50.691353 -128.626361,50.691119 -128.628817,50.691261 -128.649688,50.693589 -128.650795,50.693931 -128.650905,50.693947 -128.652050,50.693997 -128.653018,50.694171 -128.653048,50.694176 -128.653048,50.694176 -128.653298,50.694221 -128.653434,50.694264 -128.653579,50.694271 -128.654395,50.694417 -128.655054,50.694625 -128.656217,50.694863 -128.656436,50.694872 -128.656465,50.694878 -128.656812,50.694893 -128.657123,50.694948 -128.658037,50.695235 -128.660841,50.695809 -128.661073,50.695849 -128.661136,50.695869 -128.661665,50.695977 -128.662820,50.696043 -128.663935,50.696276 -128.665217,50.696703 -128.665515,50.696764 -128.665813,50.696836 -128.667405,50.697399 -128.681669,50.700683 -128.683901,50.701350 -128.700170,50.707598 -128.703318,50.708527 -128.705335,50.709431 -128.705427,50.709495 -128.709776,50.708023 -128.711757,50.707417 -128.713366,50.707109 -128.716720,50.706056 -128.716994,50.705985 -128.720528,50.705382 -128.723740,50.704399 -128.724867,50.704123 -128.725003,50.704101 -128.725122,50.704065 -128.725792,50.703910 -128.736020,50.702291 -128.740747,50.701119 -128.740858,50.701104 -128.740862,50.701103 -128.741018,50.701082 -128.741036,50.701080 -128.741036,50.701080 -128.741289,50.701046 -128.741818,50.701053 -128.742530,50.700880 -128.743552,50.700747 -128.745261,50.700776 -128.753408,50.699438 -128.754532,50.699479 -128.755061,50.699362 -128.755503,50.699322 -128.755837,50.699335 -128.756058,50.699286 -128.760089,50.699042 -128.760633,50.698932 -128.762553,50.698833 -128.763065,50.698861 -128.764034,50.698802 -128.764433,50.698724 -128.764722,50.698711 -128.765138,50.698735 -128.767007,50.698622 -128.768408,50.698575 -128.774769,50.698985 -128.786874,50.698805 -128.789341,50.698949 -128.809860,50.701222 -128.810483,50.701413 -128.811156,50.701440 -128.813532,50.701848 -128.814478,50.702142 -128.834293,50.706667 -128.836534,50.707331 -128.853237,50.713705 -128.856274,50.714599 -128.858287,50.715500 -128.858715,50.715795 -128.859529,50.716105 -128.860232,50.716606 -128.861541,50.717007 -128.866026,50.719762 -128.871341,50.722531 -128.871889,50.722841 -128.875179,50.725385 -128.878037,50.727140 -128.885415,50.726185 -128.887020,50.726243 -128.887875,50.726053 -128.890884,50.726003 -128.892484,50.725679 -128.894944,50.725546 -128.900492,50.725842 -128.917022,50.725564 -128.919481,50.725701 -128.923076,50.726092 -128.926367,50.726266 -128.942892,50.725984 -128.945351,50.726120 -128.966171,50.728377 -128.966384,50.728442 -128.975604,50.729440 -128.976462,50.729701 -128.977226,50.729727 -128.977284,50.729736 -128.977396,50.729740 -128.979610,50.730123 -128.980344,50.730350 -128.994580,50.733332 -128.994737,50.733372 -128.995600,50.733682 -128.997212,50.734033 -128.997327,50.734065 -128.997338,50.734069 -128.997364,50.734074 -128.999156,50.734564 -129.003174,50.736042 -129.007053,50.736971 -129.007874,50.737236 -129.017695,50.741118 -129.019977,50.741766 -129.020221,50.741871 -129.020807,50.742036 -129.020934,50.742090 -129.022060,50.742843 -129.026639,50.744652 -129.026676,50.744679 -129.026766,50.744706 -129.034892,50.748908 -129.035524,50.749263 -129.037665,50.750463 -129.041240,50.753203 -129.050106,50.758464 -129.050191,50.758527 -129.050424,50.758733 -129.050649,50.758868 -129.050745,50.758939 -129.055926,50.763545 -129.058031,50.764923 -129.058392,50.765249 -129.058467,50.765248 -129.059888,50.764955 -129.062356,50.764810 -129.067873,50.765086 -129.085573,50.764779 -129.088024,50.764917 -129.108090,50.767084 -129.108225,50.767088 -129.110343,50.767428 -129.110433,50.767455 -129.110533,50.767458 -129.123084,50.769922 -129.123449,50.770007 -129.124803,50.770472 -129.125399,50.770517 -129.126176,50.770753 -129.127007,50.770784 -129.129399,50.771190 -129.130570,50.771550 -129.150182,50.775967 -129.152421,50.776625 -129.168886,50.782845 -129.171916,50.783722 -129.173944,50.784618 -129.174393,50.784924 -129.175267,50.785254 -129.175974,50.785751 -129.177295,50.786150 -129.190977,50.793619 -129.192731,50.794722 -129.199533,50.800235 -129.205264,50.803865 -129.206257,50.804708 -129.211565,50.809737 -129.212082,50.810092 -129.212571,50.810585 -129.212707,50.810819 -129.213626,50.811690 -129.213765,50.811938 -129.214116,50.812184 -129.219989,50.819171 -129.221046,50.820590 -129.224023,50.826840 -129.228904,50.834136 -129.229549,50.835650 -129.232631,50.845058 -129.232550,50.846058 -129.232865,50.846618 -129.232982,50.848333 -129.233414,50.849167 -129.233648,50.850727 -129.233328,50.853377 -129.234003,50.863209 -129.233899,50.864324 -129.232991,50.868052 -129.233003,50.869090 -129.233072,50.870416 -129.232937,50.871486 -129.232830,50.871898 -129.232836,50.872079 -129.232796,50.872322 -129.232852,50.873985 -129.232807,50.874259 -129.232313,50.876031 -129.232316,50.876798 -129.232271,50.877001 -129.229941,50.884516 -129.229572,50.885839 -129.229455,50.885994 -129.229440,50.886164 -129.229243,50.886650 -129.229014,50.886954 -129.228985,50.887277 -129.228349,50.888793 -129.227824,50.889481 -129.220880,50.901930 -129.219845,50.903353 -129.219192,50.904048 -129.218293,50.905663 -129.217259,50.907091 -129.211906,50.912804 -129.209939,50.915768 -129.209764,50.915950 -129.209763,50.915951 -129.209534,50.916186 -129.206269,50.919224 -129.204898,50.920509 -129.204638,50.920863 -129.203449,50.921918 -129.203301,50.922004 -129.203029,50.922259 -129.202336,50.922654 -129.201840,50.923314 -129.201251,50.923734 -129.201215,50.923783 -129.189036,50.932687 -129.187282,50.933796 -129.175475,50.939603 -129.170030,50.942941 -129.167998,50.943839 -129.165677,50.944420 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-127.763457,50.927276 -127.600232,51.044999</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-127.759339,51.021967 -127.760605,51.025161 -127.761870,51.027036 -127.762130,51.027585 -127.762620,51.029066 -127.762447,51.030543 -127.763125,51.031741 -127.763316,51.032443 -127.763300,51.032648 -127.763415,51.032869 -127.763457,51.034840 -127.763389,51.035290 -127.762933,51.036843 -127.760411,51.039999 -127.760120,51.040157 -127.759961,51.040344 -127.759114,51.040962 -127.755319,51.042923 -127.753020,51.043583 -127.752540,51.043689 -127.749515,51.044137 -127.749491,51.044136 -127.749469,51.044141 -127.747798,51.044266 -127.747777,51.044265 -127.746030,51.044330 -127.745673,51.044329 -127.742449,51.044999 -127.736859,51.044737 -127.736854,51.044735 -127.736847,51.044736 -127.735247,51.044803 -127.734064,51.044811 -127.730075,51.044481 -127.725070,51.042890 -127.721638,51.040454 -127.721209,51.040008 -127.721163,51.039980 -127.720946,51.039823 -127.719790,51.039276 -127.719646,51.039172 -127.719445,51.039108 -127.719001,51.038884 -127.717965,51.038470 -127.717867,51.038427 -127.717833,51.038417 -127.716949,51.038056 -127.716671,51.037959 -127.716487,51.037909 -127.716405,51.037879 -127.716236,51.037840 -127.714542,51.037364 -127.714076,51.037186 -127.713519,51.037044 -127.711978,51.036514 -127.711457,51.036298 -127.710741,51.036152 -127.709696,51.035909 -127.708340,51.035617 -127.708119,51.035542 -127.707120,51.035315 -127.705844,51.034956 -127.704722,51.034693 -127.702926,51.034283 -127.702746,51.034220 -127.702100,51.034075 -127.701219,51.033834 -127.699955,51.034520 -127.696116,51.035459 -127.696052,51.035468 -127.695766,51.035588 -127.690442,51.036692 -127.690264,51.036683 -127.690103,51.036715 -127.688989,51.036784 -127.683740,51.036495 -127.681111,51.035852 -127.680058,51.035517 -127.677685,51.034565 -127.670559,51.033142 -127.663044,51.031236 -127.636893,51.020388 -127.621012,51.003145 -127.617130,50.999337 -127.604203,50.981049 -127.600232,50.971173 -127.602040,50.958024 -127.607560,50.944166 -127.616682,50.938307 -127.616824,50.937135 -127.619099,50.934193 -127.619442,50.933899 -127.619594,50.933814 -127.619693,50.933690 -127.620892,50.932841 -127.620983,50.932784 -127.621752,50.932417 -127.622465,50.931977 -127.623189,50.931633 -127.624751,50.930989 -127.624930,50.930952 -127.624996,50.930917 -127.625571,50.930744 -127.625691,50.930683 -127.625935,50.930611 -127.626128,50.930576 -127.626756,50.930387 -127.626868,50.930359 -127.627212,50.930265 -127.628175,50.930102 -127.629477,50.929322 -127.630332,50.928945 -127.631510,50.928476 -127.636821,50.927376 -127.637120,50.927390 -127.637378,50.927340 -127.638637,50.927276 -127.639832,50.927348 -127.642459,50.927403 -127.643201,50.927491 -127.643466,50.927508 -127.644135,50.927490 -127.644169,50.927493 -127.644301,50.927487 -127.646246,50.927448 -127.646344,50.927456 -127.646645,50.927444 -127.648552,50.927440 -127.652447,50.927773 -127.654408,50.928218 -127.655537,50.928535 -127.658564,50.929684 -127.658882,50.929866 -127.659161,50.929914 -127.659200,50.929926 -127.659244,50.929928 -127.664232,50.931522 -127.664268,50.931543 -127.669190,50.933116 -127.672834,50.935795 -127.672890,50.935903 -127.672998,50.935984 -127.673471,50.936545 -127.673659,50.936922 -127.692795,50.942798 -127.718847,50.955178 -127.739020,50.966909 -127.741207,50.971196 -127.743438,50.972651 -127.744178,50.973292 -127.744745,50.973848 -127.744830,50.973908 -127.745165,50.974255 -127.745242,50.974394 -127.745409,50.974516 -127.746927,50.977013 -127.747103,50.977513 -127.747328,50.978339 -127.747332,50.978347 -127.747431,50.978846 -127.747430,50.978859 -127.747436,50.978871 -127.747501,50.980663 -127.747440,50.981166 -127.746960,50.982897 -127.746892,50.982983 -127.746839,50.983130 -127.746655,50.983375 -127.746620,50.983568 -127.746608,50.983590 -127.746594,50.983706 -127.746535,50.983806 -127.746528,50.983857 -127.746452,50.984009 -127.746327,50.984159 -127.746243,50.984301 -127.747398,50.986518 -127.751855,50.999589 -127.757789,51.019160 -127.759339,51.021967 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-133.088728,53.477339 -132.876301,53.593848</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-132.962907,53.477807 -132.989494,53.477339 -132.990150,53.477396 -132.991363,53.477671 -132.992736,53.477664 -132.992981,53.477723 -132.993391,53.477721 -133.021048,53.484391 -133.023072,53.485530 -133.024343,53.485847 -133.038950,53.493274 -133.039713,53.493774 -133.046394,53.498817 -133.046721,53.499209 -133.051585,53.502685 -133.054471,53.506733 -133.065128,53.511780 -133.065617,53.512059 -133.075965,53.519332 -133.079376,53.524110 -133.079779,53.524604 -133.079983,53.524960 -133.087661,53.535709 -133.088728,53.550522 -133.088637,53.550968 -133.087930,53.552123 -133.087953,53.553506 -133.087857,53.553647 -133.087862,53.553952 -133.082124,53.564625 -133.081470,53.565468 -133.076034,53.571305 -133.072418,53.574319 -133.071380,53.575113 -133.068384,53.576789 -133.063330,53.580372 -133.062018,53.581106 -133.052735,53.585536 -133.052052,53.585709 -133.051681,53.585933 -133.051088,53.586083 -133.050592,53.586374 -133.049538,53.586772 -133.024145,53.592893 -133.020356,53.593125 -133.018202,53.593565 -133.017138,53.593570 -133.016690,53.593683 -133.010735,53.593714 -133.008546,53.593848 -133.006010,53.593848 -133.004211,53.593747 -132.986770,53.593833 -132.966413,53.589697 -132.966046,53.589586 -132.963285,53.588633 -132.953166,53.586431 -132.952311,53.586145 -132.950646,53.585234 -132.948670,53.584802 -132.948293,53.584580 -132.938855,53.582664 -132.933190,53.580956 -132.929674,53.579917 -132.928788,53.579725 -132.912894,53.574971 -132.894862,53.565121 -132.893902,53.564396 -132.893071,53.563332 -132.891606,53.562472 -132.891411,53.562196 -132.890645,53.561746 -132.879026,53.545348 -132.877530,53.538162 -132.877456,53.537155 -132.877588,53.536084 -132.876389,53.530107 -132.876301,53.528596 -132.877630,53.518394 -132.880612,53.511833 -132.881744,53.509919 -132.890006,53.499994 -132.899806,53.492825 -132.900554,53.492379 -132.911711,53.486879 -132.939191,53.479951 -132.939878,53.479948 -132.940319,53.479837 -132.941403,53.479761 -132.941863,53.479651 -132.942990,53.479537 -132.944327,53.479545 -132.944495,53.479519 -132.947468,53.478934 -132.948015,53.478931 -132.948428,53.478827 -132.948732,53.478814 -132.948954,53.478759 -132.949914,53.478653 -132.952402,53.478656 -132.960140,53.478323 -132.962907,53.477807 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-131.308347,52.041986 -131.137065,52.150848</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-131.137857,52.095195 -131.137128,52.091391 -131.137065,52.090736 -131.137486,52.087451 -131.137438,52.086441 -131.137519,52.086017 -131.137805,52.084970 -131.138668,52.078244 -131.142723,52.072551 -131.142788,52.072407 -131.142931,52.072153 -131.143474,52.071496 -131.150224,52.062014 -131.155523,52.058771 -131.166923,52.051316 -131.167422,52.051073 -131.173425,52.048438 -131.200195,52.041986 -131.228930,52.042335 -131.239471,52.044279 -131.240247,52.044462 -131.256044,52.049615 -131.256296,52.049775 -131.256469,52.049822 -131.263272,52.053123 -131.263891,52.053462 -131.265731,52.054788 -131.270727,52.056027 -131.271473,52.056309 -131.272684,52.057041 -131.274288,52.057462 -131.274507,52.057603 -131.275035,52.057745 -131.276187,52.058450 -131.276374,52.058501 -131.292431,52.067874 -131.292542,52.067962 -131.296438,52.071352 -131.300716,52.076049 -131.301267,52.076748 -131.303671,52.081293 -131.304789,52.082744 -131.304964,52.083073 -131.306161,52.085999 -131.306599,52.086827 -131.307784,52.088590 -131.307826,52.088706 -131.307825,52.089211 -131.307942,52.089394 -131.307936,52.089625 -131.308306,52.090205 -131.308304,52.090254 -131.308347,52.090321 -131.307822,52.108044 -131.304508,52.112726 -131.304474,52.112804 -131.304207,52.113313 -131.303260,52.114490 -131.296318,52.124294 -131.296216,52.124354 -131.296187,52.124395 -131.294445,52.125429 -131.293559,52.126580 -131.293428,52.126682 -131.289712,52.128751 -131.289406,52.129115 -131.287169,52.130442 -131.286714,52.130777 -131.286564,52.130870 -131.286235,52.131033 -131.285611,52.131914 -131.276125,52.138749 -131.275968,52.138842 -131.264703,52.144305 -131.237873,52.150775 -131.234958,52.150740 -131.234511,52.150848 -131.223884,52.150721 -131.221264,52.150841 -131.220759,52.150833 -131.218383,52.150654 -131.205697,52.150500 -131.179300,52.143389 -131.179260,52.143364 -131.179226,52.143355 -131.178038,52.142585 -131.176599,52.142173 -131.176526,52.142138 -131.173861,52.140351 -131.168894,52.137798 -131.167982,52.137239 -131.157844,52.129495 -131.157480,52.128922 -131.157018,52.128557 -131.155918,52.126822 -131.153335,52.124946 -131.148318,52.119253 -131.148102,52.118960 -131.144640,52.112084 -131.143114,52.109930 -131.143062,52.109805 -131.141827,52.106320 -131.141832,52.106154 -131.141633,52.105806 -131.141052,52.104446 -131.140622,52.103826 -131.140568,52.103692 -131.140567,52.103595 -131.138070,52.099652 -131.137857,52.095195 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-125.127656,49.618784 -124.838385,49.855189</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-124.915037,49.647253 -124.928780,49.643049 -124.989948,49.624339 -125.014928,49.618846 -125.026311,49.618784 -125.052869,49.625293 -125.076627,49.634584 -125.082427,49.641946 -125.080476,49.664890 -125.105087,49.748716 -125.123786,49.795036 -125.127656,49.823507 -125.126192,49.839802 -125.117457,49.848741 -125.102953,49.854939 -125.102383,49.855128 -125.092366,49.855189 -125.087157,49.851335 -125.073974,49.850118 -125.066489,49.847016 -125.059828,49.841318 -125.051143,49.833966 -125.039917,49.828848 -125.031553,49.823713 -125.025191,49.818381 -125.013054,49.808454 -125.004373,49.800174 -124.997460,49.795954 -124.987691,49.791748 -124.977344,49.786804 -124.976473,49.785698 -124.972434,49.782388 -124.967837,49.780190 -124.965528,49.778166 -124.962918,49.774849 -124.961179,49.772637 -124.954565,49.768783 -124.944817,49.765498 -124.937617,49.759981 -124.933853,49.755188 -124.928382,49.750958 -124.915477,49.745465 -124.912035,49.743815 -124.905187,49.744214 -124.897743,49.742025 -124.886544,49.735041 -124.878779,49.728783 -124.875891,49.725095 -124.864180,49.723845 -124.852166,49.720376 -124.843856,49.716151 -124.838385,49.710067 -124.841431,49.699328 -124.843978,49.697099 -124.846221,49.692652 -124.844468,49.687665 -124.847863,49.684693 -124.858408,49.684469 -124.865517,49.682593 -124.870319,49.677766 -124.875382,49.670533 -124.881054,49.667737 -124.886735,49.665865 -124.892045,49.661552 -124.896346,49.658058 -124.904278,49.653586 -124.909937,49.649864 -124.915037,49.647253 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-125.923548,49.064413 -125.711248,49.205226</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-125.922989,49.175046 -125.920443,49.178135 -125.919963,49.178390 -125.916287,49.180349 -125.915757,49.180462 -125.915097,49.181224 -125.914567,49.181837 -125.911117,49.183789 -125.910272,49.184125 -125.909964,49.184191 -125.909912,49.184203 -125.909565,49.184387 -125.907237,49.184842 -125.907207,49.184912 -125.907131,49.185006 -125.907113,49.185119 -125.907047,49.185199 -125.907593,49.186821 -125.907855,49.187921 -125.907846,49.189660 -125.907776,49.190112 -125.907234,49.191865 -125.906874,49.192301 -125.907187,49.193381 -125.907101,49.195528 -125.907014,49.195917 -125.906549,49.197262 -125.903999,49.200350 -125.899846,49.202562 -125.899510,49.202678 -125.899507,49.202679 -125.899504,49.202680 -125.894369,49.203682 -125.889696,49.203365 -125.887883,49.204026 -125.887739,49.204055 -125.887614,49.204121 -125.886008,49.204406 -125.882478,49.205123 -125.882113,49.205098 -125.881802,49.205153 -125.879225,49.205226 -125.874572,49.204833 -125.872822,49.204390 -125.872305,49.204232 -125.869343,49.203003 -125.865967,49.200276 -125.865935,49.200207 -125.865869,49.200152 -125.865349,49.199481 -125.864935,49.198541 -125.864236,49.198634 -125.862779,49.198775 -125.857450,49.198411 -125.852739,49.196738 -125.849365,49.194011 -125.848850,49.193297 -125.848624,49.192942 -125.848267,49.192007 -125.847780,49.191084 -125.847418,49.189789 -125.847251,49.188995 -125.847807,49.185503 -125.847896,49.185396 -125.847917,49.185283 -125.848410,49.184326 -125.848504,49.184215 -125.849141,49.183178 -125.852077,49.179336 -125.852107,49.179306 -125.852068,49.179187 -125.852019,49.178018 -125.852027,49.177889 -125.851972,49.177790 -125.851230,49.175591 -125.851786,49.172099 -125.852135,49.171556 -125.851964,49.169321 -125.851908,49.168857 -125.851299,49.168178 -125.850252,49.166474 -125.849811,49.165468 -125.849371,49.163940 -125.848905,49.163531 -125.847450,49.160559 -125.847356,49.160112 -125.847380,49.159923 -125.847287,49.159718 -125.847843,49.156227 -125.848803,49.154727 -125.848056,49.154369 -125.847673,49.154060 -125.847255,49.153897 -125.846386,49.153342 -125.843816,49.151088 -125.842293,49.147723 -125.842325,49.147528 -125.842253,49.147358 -125.842152,49.146065 -125.842253,49.145535 -125.842359,49.143976 -125.842504,49.143460 -125.842482,49.143308 -125.842484,49.143295 -125.842478,49.143283 -125.842558,49.142239 -125.841650,49.142190 -125.839767,49.141868 -125.839504,49.141779 -125.839173,49.141756 -125.837939,49.141462 -125.834150,49.140422 -125.830680,49.139042 -125.830635,49.139006 -125.830574,49.138984 -125.828577,49.137872 -125.828484,49.137796 -125.827784,49.137323 -125.825499,49.136987 -125.824436,49.136801 -125.824131,49.136725 -125.822728,49.137550 -125.821805,49.137951 -125.820630,49.138407 -125.815500,49.139405 -125.814350,49.139442 -125.813404,49.139447 -125.809233,49.139043 -125.805410,49.137809 -125.805058,49.137647 -125.804179,49.137206 -125.800813,49.134478 -125.800120,49.132942 -125.799502,49.132399 -125.798949,49.132220 -125.797752,49.131664 -125.797434,49.131426 -125.796905,49.131237 -125.795078,49.130030 -125.794818,49.129822 -125.793388,49.129708 -125.792595,49.129758 -125.792557,49.129756 -125.792519,49.129763 -125.789283,49.129706 -125.786717,49.129459 -125.784633,49.129149 -125.780796,49.127907 -125.778967,49.127059 -125.778104,49.126625 -125.777139,49.126044 -125.774764,49.124472 -125.773841,49.123645 -125.772939,49.122973 -125.771884,49.121886 -125.771262,49.121826 -125.769662,49.121763 -125.767424,49.121448 -125.766226,49.121242 -125.764688,49.120860 -125.762626,49.120252 -125.759485,49.118965 -125.759471,49.118960 -125.757890,49.118097 -125.757890,49.118096 -125.757889,49.118096 -125.757435,49.117848 -125.757430,49.117844 -125.756968,49.117676 -125.755802,49.116730 -125.753951,49.116169 -125.752487,49.115562 -125.751374,49.115031 -125.750475,49.115169 -125.749882,49.115128 -125.749416,49.115205 -125.748224,49.115216 -125.743965,49.114809 -125.742391,49.114416 -125.740148,49.113750 -125.737026,49.112465 -125.735297,49.111332 -125.734447,49.110666 -125.733582,49.110090 -125.733529,49.110042 -125.733349,49.109930 -125.733078,49.109741 -125.731991,49.109650 -125.727296,49.107972 -125.725734,49.106968 -125.725686,49.106931 -125.724649,49.106661 -125.723783,49.106385 -125.721005,49.105205 -125.719896,49.104526 -125.718345,49.103465 -125.716095,49.101413 -125.716074,49.101368 -125.716031,49.101332 -125.714985,49.099989 -125.714960,49.099933 -125.714181,49.098729 -125.713475,49.097333 -125.712846,49.095349 -125.712759,49.095257 -125.711248,49.091890 -125.711656,49.089378 -125.711466,49.088853 -125.711428,49.088291 -125.711366,49.088010 -125.711411,49.087732 -125.711411,49.087533 -125.711519,49.087066 -125.711932,49.084520 -125.714488,49.081438 -125.718645,49.079233 -125.719344,49.079098 -125.719537,49.077907 -125.718693,49.075734 -125.718564,49.075450 -125.718478,49.074885 -125.718485,49.074845 -125.718467,49.074806 -125.719033,49.071317 -125.721588,49.068235 -125.723502,49.066997 -125.723928,49.066771 -125.726169,49.065804 -125.731291,49.064811 -125.736602,49.065182 -125.737069,49.065298 -125.741634,49.064413 -125.746945,49.064783 -125.746948,49.064784 -125.746952,49.064784 -125.747464,49.064889 -125.749923,49.065769 -125.750792,49.065643 -125.756103,49.066013 -125.756249,49.066065 -125.756404,49.066077 -125.756917,49.066190 -125.761309,49.067803 -125.764667,49.070532 -125.766181,49.073898 -125.765619,49.077388 -125.764943,49.078534 -125.764701,49.078872 -125.762825,49.080810 -125.761540,49.081694 -125.761055,49.081984 -125.761549,49.082008 -125.761895,49.082063 -125.762145,49.082146 -125.762409,49.082164 -125.762515,49.082202 -125.762754,49.082219 -125.765928,49.083246 -125.768420,49.083323 -125.768847,49.083375 -125.770393,49.083628 -125.775029,49.085283 -125.776910,49.084918 -125.778026,49.084881 -125.778533,49.084878 -125.782731,49.085283 -125.787426,49.086959 -125.788796,49.087820 -125.789495,49.088324 -125.791487,49.090192 -125.792840,49.093195 -125.793090,49.093343 -125.793530,49.093629 -125.796024,49.095839 -125.797541,49.099205 -125.796982,49.102695 -125.796979,49.102699 -125.796978,49.102702 -125.796868,49.102935 -125.798364,49.103395 -125.798599,49.103493 -125.798984,49.103599 -125.800222,49.104031 -125.804966,49.105648 -125.805098,49.105705 -125.804304,49.104231 -125.804202,49.103892 -125.804000,49.102972 -125.804559,49.099482 -125.807110,49.096397 -125.811263,49.094188 -125.812479,49.093952 -125.813394,49.092924 -125.817546,49.090715 -125.822670,49.089718 -125.827985,49.090084 -125.828124,49.090133 -125.828237,49.090076 -125.831176,49.089329 -125.831854,49.089213 -125.834038,49.088962 -125.834241,49.088976 -125.834367,49.088953 -125.834721,49.088883 -125.837370,49.088547 -125.837900,49.088584 -125.838137,49.088538 -125.838186,49.088541 -125.838363,49.088511 -125.838587,49.088508 -125.840766,49.087348 -125.845888,49.086349 -125.851203,49.086714 -125.851367,49.086772 -125.851541,49.086786 -125.852998,49.087109 -125.857358,49.088710 -125.857578,49.088888 -125.858532,49.089165 -125.861746,49.090472 -125.862011,49.090687 -125.862187,49.090749 -125.862274,49.090819 -125.862465,49.090893 -125.862906,49.091170 -125.863044,49.091290 -125.863616,49.091447 -125.866678,49.091656 -125.871377,49.093328 -125.873436,49.094722 -125.873695,49.094941 -125.875004,49.096272 -125.876528,49.099636 -125.876533,49.101262 -125.876456,49.101831 -125.875983,49.103413 -125.876399,49.103384 -125.876471,49.103389 -125.876542,49.103375 -125.878522,49.103349 -125.879895,49.103396 -125.883232,49.103785 -125.885105,49.104267 -125.886137,49.104591 -125.888966,49.105781 -125.891326,49.107437 -125.891759,49.107831 -125.892769,49.108899 -125.893660,49.110863 -125.895530,49.112137 -125.896309,49.112801 -125.897567,49.114087 -125.897700,49.114381 -125.897939,49.114587 -125.899781,49.117267 -125.899848,49.117431 -125.900245,49.118033 -125.900955,49.119383 -125.901645,49.121481 -125.901686,49.122777 -125.901616,49.123679 -125.901024,49.125874 -125.900987,49.125917 -125.900979,49.125966 -125.900842,49.126246 -125.901118,49.126540 -125.901661,49.127299 -125.903248,49.129814 -125.904231,49.132419 -125.904290,49.133170 -125.904299,49.133791 -125.903689,49.136531 -125.902777,49.137638 -125.902966,49.138218 -125.902935,49.138418 -125.903007,49.138592 -125.903162,49.140558 -125.903756,49.142260 -125.904787,49.142591 -125.906370,49.143261 -125.906948,49.143453 -125.908756,49.144334 -125.908980,49.144506 -125.909329,49.144630 -125.910998,49.145831 -125.911558,49.145882 -125.916265,49.147552 -125.917236,49.148337 -125.919640,49.150277 -125.921169,49.153641 -125.921164,49.153672 -125.921177,49.153702 -125.922582,49.164311 -125.922581,49.164312 -125.922582,49.164312 -125.923548,49.171616 -125.922989,49.175046 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-131.095951,51.865006 -130.906910,51.986365</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-131.022792,51.986096 -131.016521,51.986365 -131.015587,51.986345 -131.010162,51.985918 -131.004249,51.985834 -131.003902,51.985739 -131.003662,51.985736 -131.003167,51.985601 -131.003152,51.985601 -130.995516,51.984279 -130.995436,51.984262 -130.976823,51.978425 -130.976703,51.978347 -130.975893,51.978126 -130.974112,51.976973 -130.973547,51.976771 -130.971730,51.975595 -130.969144,51.974290 -130.968995,51.974202 -130.965303,51.971434 -130.953747,51.963949 -130.953523,51.963592 -130.953363,51.963488 -130.952458,51.962042 -130.946203,51.954182 -130.946171,51.954129 -130.945176,51.951821 -130.944788,51.951678 -130.940609,51.950535 -130.938524,51.949356 -130.932853,51.946487 -130.932763,51.946435 -130.930935,51.945061 -130.926746,51.942690 -130.926085,51.942206 -130.922748,51.939395 -130.920967,51.938310 -130.920605,51.938001 -130.919865,51.936917 -130.918387,51.935958 -130.918310,51.935834 -130.918025,51.935649 -130.916536,51.932994 -130.909673,51.921997 -130.907709,51.919121 -130.907725,51.918700 -130.907607,51.918511 -130.907578,51.917006 -130.907011,51.915994 -130.906910,51.915384 -130.907440,51.909866 -130.907327,51.904060 -130.907416,51.903690 -130.908140,51.902572 -130.908310,51.900801 -130.908388,51.900691 -130.908399,51.900431 -130.911431,51.896197 -130.911561,51.895913 -130.911655,51.895740 -130.912463,51.894758 -130.919998,51.884235 -130.938525,51.872911 -130.938768,51.872808 -130.939828,51.872541 -130.940718,51.872016 -130.940833,51.871988 -130.940961,51.871913 -130.967649,51.865525 -130.986379,51.865006 -130.986641,51.865020 -130.996192,51.865922 -130.997051,51.865934 -130.997440,51.866040 -130.998538,51.866062 -131.024717,51.873213 -131.025873,51.873962 -131.028119,51.874575 -131.032100,51.877152 -131.041908,51.882770 -131.042119,51.882928 -131.044413,51.884884 -131.045045,51.885261 -131.045271,51.885446 -131.046229,51.886298 -131.047899,51.887379 -131.048125,51.887739 -131.048535,51.888009 -131.049175,51.888654 -131.054381,51.897153 -131.055024,51.897357 -131.061602,51.899149 -131.061795,51.899274 -131.062871,51.899567 -131.063325,51.899835 -131.063334,51.899838 -131.076251,51.906978 -131.076552,51.907189 -131.078519,51.908805 -131.078853,51.909002 -131.078974,51.909099 -131.080337,51.910299 -131.083438,51.912846 -131.085122,51.915524 -131.089064,51.919897 -131.089327,51.920234 -131.092602,51.926508 -131.092813,51.926790 -131.093022,51.927209 -131.093182,51.927618 -131.095511,51.932078 -131.095951,51.946136 -131.095927,51.946244 -131.094869,51.949900 -131.094544,51.950355 -131.094543,51.950400 -131.094428,51.950561 -131.094424,51.950672 -131.093823,51.951517 -131.093763,51.952367 -131.093645,51.952639 -131.089372,51.958295 -131.088681,51.959592 -131.088517,51.959820 -131.086823,51.961669 -131.082878,51.966891 -131.080371,51.968373 -131.067201,51.976876 -131.066788,51.977072 -131.062555,51.978904 -131.062151,51.979142 -131.061807,51.979227 -131.061477,51.979370 -131.061221,51.979431 -131.060849,51.979651 -131.038676,51.985475 -131.037519,51.985648 -131.035796,51.985658 -131.034099,51.986065 -131.033687,51.986059 -131.032941,51.986237 -131.022792,51.986096 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-133.046795,54.171454 -133.035825,54.178014</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-133.041283,54.171477 -133.042356,54.171695 -133.042631,54.171779 -133.042966,54.171894 -133.042988,54.171907 -133.043516,54.172032 -133.043828,54.172165 -133.044118,54.172302 -133.044137,54.172315 -133.044197,54.172341 -133.044319,54.172402 -133.044399,54.172454 -133.044539,54.172521 -133.044631,54.172574 -133.044961,54.172808 -133.045025,54.172843 -133.045055,54.172867 -133.045223,54.172943 -133.045391,54.173030 -133.046019,54.173450 -133.046051,54.173493 -133.046102,54.173524 -133.046224,54.173639 -133.046609,54.174200 -133.046726,54.174360 -133.046772,54.174482 -133.046772,54.174494 -133.046781,54.174507 -133.046795,54.175398 -133.046509,54.175924 -133.046143,54.176393 -133.045860,54.176694 -133.045129,54.177180 -133.045068,54.177211 -133.045039,54.177224 -133.044910,54.177312 -133.044604,54.177472 -133.044200,54.177658 -133.042802,54.178006 -133.041282,54.178014 -133.039873,54.177681 -133.039791,54.177633 -133.039699,54.177610 -133.039363,54.177465 -133.039290,54.177420 -133.038977,54.177274 -133.038732,54.177136 -133.038599,54.177044 -133.038414,54.176955 -133.038321,54.176899 -133.038134,54.176845 -133.038038,54.176790 -133.037981,54.176777 -133.037956,54.176762 -133.037898,54.176747 -133.037745,54.176678 -133.037016,54.176225 -133.036918,54.176170 -133.036796,54.176067 -133.036789,54.176057 -133.036775,54.176049 -133.036604,54.175863 -133.036589,54.175854 -133.036528,54.175793 -133.036499,54.175749 -133.036395,54.175637 -133.036374,54.175607 -133.036311,54.175534 -133.036242,54.175420 -133.036194,54.175363 -133.036164,54.175310 -133.036122,54.175220 -133.035967,54.174961 -133.035967,54.174934 -133.035950,54.174909 -133.035889,54.174715 -133.035889,54.174669 -133.035825,54.174301 -133.035825,54.174210 -133.035825,54.174210 -133.035825,54.174122 -133.035876,54.173799 -133.035875,54.173757 -133.035905,54.173646 -133.035924,54.173618 -133.035923,54.173586 -133.036350,54.172897 -133.036388,54.172857 -133.036475,54.172756 -133.036691,54.172538 -133.037755,54.171902 -133.039136,54.171556 -133.039303,54.171535 -133.039380,54.171523 -133.039463,54.171522 -133.039550,54.171500 -133.039874,54.171469 -133.040087,54.171454 -133.041283,54.171477 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-133.158865,54.130112 -132.817601,54.305107</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-132.909615,54.271843 -132.906630,54.270397 -132.905586,54.269768 -132.896992,54.263587 -132.885150,54.247159 -132.884950,54.229330 -132.886050,54.227745 -132.885946,54.218497 -132.893390,54.207312 -132.892885,54.206503 -132.888612,54.204407 -132.878843,54.203953 -132.867562,54.201389 -132.853504,54.197218 -132.842617,54.191788 -132.828510,54.182762 -132.823983,54.176434 -132.818807,54.168740 -132.818753,54.163888 -132.817601,54.155681 -132.819428,54.148458 -132.822537,54.142350 -132.829033,54.135980 -132.834261,54.130112 -132.837129,54.130660 -132.836376,54.131238 -132.835930,54.131593 -132.846579,54.132799 -132.856125,54.133879 -132.868018,54.136192 -132.879995,54.144972 -132.892300,54.146037 -132.906052,54.144356 -132.914360,54.147552 -132.920185,54.154989 -132.921864,54.156896 -132.923114,54.156204 -132.932983,54.164491 -132.937933,54.164518 -132.949061,54.159417 -132.955927,54.159789 -132.959319,54.165989 -132.965575,54.166161 -132.972381,54.162558 -132.978719,54.162473 -132.982167,54.166430 -132.988278,54.168435 -132.998792,54.168683 -133.006418,54.172973 -133.017202,54.173779 -133.032463,54.182355 -133.050429,54.176286 -133.062392,54.174837 -133.072332,54.176866 -133.078660,54.176113 -133.077930,54.174181 -133.078117,54.170102 -133.080497,54.168746 -133.084879,54.173207 -133.085154,54.173543 -133.088164,54.178755 -133.088257,54.178778 -133.089376,54.178771 -133.089916,54.178899 -133.090896,54.178910 -133.093956,54.179362 -133.103240,54.181748 -133.106809,54.182340 -133.109099,54.182852 -133.118510,54.185666 -133.120148,54.186053 -133.120940,54.186393 -133.123968,54.187298 -133.130403,54.190049 -133.130989,54.190327 -133.146277,54.200050 -133.158218,54.216447 -133.158865,54.233220 -133.158755,54.233613 -133.158542,54.233935 -133.158548,54.234275 -133.158434,54.234442 -133.158439,54.234669 -133.152623,54.244035 -133.153331,54.248108 -133.153325,54.248953 -133.151985,54.257191 -133.140629,54.273737 -133.136446,54.277135 -133.136065,54.277417 -133.131452,54.279932 -133.128501,54.282042 -133.127634,54.282541 -133.119325,54.286541 -133.119092,54.286668 -133.116224,54.288380 -133.112155,54.289845 -133.109885,54.291372 -133.107478,54.292602 -133.103606,54.294355 -133.103313,54.294530 -133.103032,54.294614 -133.100129,54.295928 -133.091189,54.298195 -133.088568,54.298987 -133.087039,54.299495 -133.085591,54.299886 -133.081061,54.300762 -133.073060,54.302789 -133.072195,54.302901 -133.072120,54.302902 -133.072076,54.302913 -133.071653,54.302915 -133.071210,54.303025 -133.069299,54.303036 -133.068807,54.303131 -133.067617,54.303137 -133.066117,54.303466 -133.049264,54.304426 -133.047343,54.304413 -133.046530,54.304365 -133.034225,54.305107 -133.032503,54.305107 -133.017948,54.304305 -133.015212,54.303900 -133.015170,54.303900 -133.015101,54.303883 -133.008804,54.302950 -133.007265,54.302663 -133.006218,54.302371 -132.992899,54.301889 -132.992807,54.301891 -132.992721,54.301883 -132.986951,54.301674 -132.986212,54.301499 -132.985455,54.301498 -132.984018,54.301321 -132.983711,54.301246 -132.978714,54.300553 -132.976321,54.300153 -132.954863,54.294403 -132.952697,54.293156 -132.947637,54.292245 -132.946301,54.291908 -132.939505,54.289762 -132.936872,54.289105 -132.935640,54.288542 -132.934384,54.288146 -132.921907,54.282180 -132.921325,54.281837 -132.912099,54.275285 -132.909615,54.271843 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-123.373905,48.843793 -123.263888,48.890596</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-123.272089,48.864693 -123.273908,48.864122 -123.279871,48.865683 -123.288059,48.868263 -123.292377,48.869605 -123.296131,48.869652 -123.300678,48.868222 -123.302092,48.866059 -123.303057,48.863792 -123.300413,48.861678 -123.299677,48.861173 -123.296702,48.860146 -123.296166,48.857860 -123.297086,48.851925 -123.298182,48.850354 -123.300145,48.849981 -123.303897,48.850028 -123.309295,48.850292 -123.311257,48.849920 -123.313378,48.849252 -123.315747,48.850470 -123.316903,48.852070 -123.318666,48.853479 -123.324195,48.854438 -123.326578,48.855160 -123.328079,48.855178 -123.330923,48.855510 -123.335268,48.855859 -123.337940,48.856981 -123.339586,48.857199 -123.342734,48.857435 -123.344854,48.856766 -123.343222,48.856053 -123.340708,48.854636 -123.338036,48.853514 -123.333573,48.851974 -123.330757,48.850652 -123.338543,48.845989 -123.345509,48.843793 -123.353750,48.844386 -123.362214,48.847855 -123.368757,48.850210 -123.372615,48.851940 -123.373905,48.854234 -123.373365,48.857597 -123.373444,48.860273 -123.372772,48.862941 -123.370217,48.863010 -123.365608,48.861272 -123.359181,48.860107 -123.354822,48.860254 -123.352714,48.860427 -123.350725,48.861791 -123.351869,48.863885 -123.351526,48.865467 -123.348600,48.868108 -123.343331,48.868541 -123.338853,48.867496 -123.334389,48.865956 -123.331730,48.864339 -123.329808,48.863226 -123.328018,48.862808 -123.325462,48.862876 -123.323196,48.863344 -123.321406,48.862926 -123.318127,48.861994 -123.315572,48.862062 -123.314491,48.863139 -123.315041,48.864930 -123.316198,48.866529 -123.314655,48.867997 -123.313442,48.868378 -123.313573,48.869074 -123.314296,48.870074 -123.315439,48.872169 -123.313516,48.872251 -123.313076,48.872725 -123.311657,48.873113 -123.316727,48.874464 -123.319386,48.876082 -123.320110,48.877081 -123.318594,48.877559 -123.317815,48.878540 -123.314666,48.878304 -123.313164,48.878285 -123.313426,48.879676 -123.313398,48.880667 -123.316230,48.881494 -123.317704,48.882503 -123.319048,48.882817 -123.321418,48.884035 -123.322893,48.885044 -123.322259,48.886225 -123.318275,48.888952 -123.312830,48.890174 -123.306807,48.890596 -123.288024,48.885210 -123.273318,48.879277 -123.268711,48.877534 -123.266054,48.875914 -123.263888,48.872914 -123.264452,48.869056 -123.264813,48.866979 -123.267801,48.862360 -123.272089,48.864693 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-123.247511,48.991171 -122.559301,49.233874</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-123.110325,49.012451 -123.124190,49.004320 -123.155996,49.006615 -123.172253,49.011465 -123.177548,49.022024 -123.185592,49.034780 -123.196341,49.051274 -123.206553,49.070228 -123.215423,49.087314 -123.222496,49.101908 -123.224330,49.118902 -123.230354,49.152924 -123.230884,49.166510 -123.232319,49.181342 -123.227644,49.195787 -123.230669,49.204778 -123.239588,49.205819 -123.247511,49.208699 -123.247234,49.217955 -123.239531,49.223412 -123.233230,49.229196 -123.213290,49.233874 -123.197394,49.229651 -123.191019,49.222466 -123.177888,49.220437 -123.162353,49.219917 -123.154083,49.213322 -123.140204,49.205413 -123.130787,49.205281 -123.111799,49.209644 -123.090608,49.209340 -123.065555,49.211754 -123.049073,49.211510 -123.030398,49.206601 -123.008980,49.199485 -122.994630,49.192474 -122.980732,49.186086 -122.972439,49.193982 -122.951478,49.200442 -122.931015,49.205981 -122.900858,49.206109 -122.892809,49.194864 -122.899270,49.186018 -122.911055,49.173247 -122.920366,49.163521 -122.933538,49.151080 -122.927726,49.142962 -122.919119,49.134182 -122.920807,49.126803 -122.903196,49.120035 -122.895878,49.114669 -122.877563,49.102022 -122.849262,49.104632 -122.812899,49.108947 -122.807157,49.111538 -122.830998,49.114813 -122.845092,49.115054 -122.858559,49.119293 -122.862270,49.132626 -122.842458,49.134143 -122.828096,49.128651 -122.815333,49.130283 -122.815655,49.133992 -122.830462,49.140110 -122.836561,49.140523 -122.856135,49.145176 -122.871785,49.154080 -122.873092,49.168917 -122.873745,49.176336 -122.861235,49.183226 -122.846550,49.185448 -122.828926,49.178665 -122.812893,49.167586 -122.801063,49.157503 -122.789369,49.155756 -122.789156,49.155821 -122.783527,49.172012 -122.754408,49.181681 -122.720334,49.174583 -122.700516,49.164650 -122.699761,49.160315 -122.701622,49.149855 -122.708428,49.144733 -122.721213,49.131696 -122.747068,49.120745 -122.752789,49.107578 -122.734639,49.103239 -122.703915,49.107306 -122.662259,49.113935 -122.642312,49.118495 -122.618960,49.114960 -122.603077,49.102307 -122.608632,49.093774 -122.618437,49.084706 -122.691774,49.083628 -122.733708,49.080695 -122.751976,49.081951 -122.762443,49.078744 -122.779188,49.071327 -122.803853,49.065281 -122.826486,49.062896 -122.848733,49.058339 -122.874271,49.053524 -122.881041,49.048393 -122.875431,49.035650 -122.867747,49.028117 -122.851135,49.021050 -122.820162,49.021446 -122.793238,49.014498 -122.721795,49.018153 -122.632101,49.020481 -122.605907,49.029230 -122.577498,49.034843 -122.564668,49.028109 -122.559301,49.012267 -122.570276,49.008166 -122.591620,48.992546 -123.026664,48.991171 -123.032778,49.017482 -123.059980,49.031153 -123.067857,49.034045 -123.079184,49.032052 -123.092561,49.024843 -123.098211,49.010118 -123.110325,49.012451 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-123.229552,49.236660 -123.206995,49.251010</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-123.207322,49.239872 -123.206995,49.239021 -123.207189,49.238152 -123.207876,49.237399 -123.208952,49.236875 -123.210252,49.236660 -123.211091,49.236699 -123.217828,49.237569 -123.217904,49.237583 -123.217940,49.237585 -123.223487,49.238428 -123.223861,49.238500 -123.223950,49.238535 -123.224038,49.238545 -123.226220,49.239144 -123.227194,49.239548 -123.227995,49.240253 -123.228276,49.240829 -123.229154,49.244094 -123.229155,49.244099 -123.229156,49.244101 -123.229507,49.245433 -123.229552,49.245700 -123.229358,49.246569 -123.228671,49.247323 -123.227596,49.247847 -123.227168,49.247958 -123.223445,49.248738 -123.220614,49.250406 -123.219790,49.250766 -123.218490,49.250981 -123.218419,49.250974 -123.218355,49.250983 -123.214838,49.251010 -123.213646,49.250880 -123.212494,49.250430 -123.211694,49.249726 -123.210023,49.247426 -123.210023,49.247426 -123.210023,49.247426 -123.210021,49.247419 -123.209695,49.246574 -123.209706,49.246526 -123.209690,49.246482 -123.209660,49.244505 -123.209653,49.244308 -123.208456,49.242919 -123.208425,49.242850 -123.208345,49.242779 -123.208017,49.241928 -123.208086,49.241351 -123.208292,49.240708 -123.207911,49.240440 -123.207322,49.239872 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-123.267790,49.266348 -122.832245,49.465923</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-123.267790,49.333322 -123.266042,49.332135 -123.264817,49.331362 -123.262949,49.331222 -123.262743,49.332152 -123.261466,49.333126 -123.259675,49.333395 -123.257713,49.333428 -123.256170,49.334341 -123.255998,49.337135 -123.255685,49.337216 -123.256743,49.339067 -123.253786,49.339554 -123.252920,49.338669 -123.250958,49.338703 -123.251266,49.340338 -123.249826,49.340786 -123.245351,49.341311 -123.244089,49.340706 -123.244032,49.340712 -123.243072,49.340000 -123.240510,49.339210 -123.238736,49.338896 -123.234605,49.339891 -123.233858,49.340989 -123.232238,49.341492 -123.227232,49.341893 -123.224953,49.340582 -123.222752,49.339679 -123.220550,49.338777 -123.216890,49.338904 -123.214343,49.340560 -123.212610,49.341819 -123.208891,49.340954 -123.205506,49.340851 -123.202611,49.339298 -123.199415,49.338848 -123.196075,49.337289 -123.194860,49.336224 -123.188451,49.335905 -123.185197,49.334463 -123.180494,49.333759 -123.176520,49.332540 -123.174396,49.332045 -123.170649,49.329314 -123.167662,49.327934 -123.163406,49.327235 -123.160296,49.326901 -123.159175,49.327104 -123.157386,49.327298 -123.152813,49.327454 -123.150632,49.325967 -123.144873,49.321445 -123.137065,49.318278 -123.131451,49.316233 -123.124095,49.312926 -123.116611,49.310198 -123.116042,49.310555 -123.118422,49.312700 -123.119037,49.314311 -123.117461,49.314799 -123.112013,49.314503 -123.111872,49.312025 -123.108757,49.311908 -123.107227,49.314362 -123.103875,49.314679 -123.102664,49.317575 -123.100568,49.316962 -123.099871,49.314476 -123.093178,49.314744 -123.092454,49.316409 -123.090239,49.316013 -123.085609,49.314562 -123.085339,49.312665 -123.082605,49.311169 -123.080604,49.311067 -123.068650,49.305576 -123.057018,49.307008 -123.055241,49.306836 -123.054973,49.304938 -123.051565,49.303650 -123.049076,49.304778 -123.046837,49.305109 -123.041623,49.301317 -123.039745,49.304057 -123.036074,49.303929 -123.036244,49.302257 -123.037710,49.298564 -123.031057,49.297737 -123.031448,49.302476 -123.027314,49.302851 -123.027088,49.301972 -123.023757,49.302665 -123.016634,49.302330 -123.008747,49.303917 -123.003241,49.307019 -123.000716,49.309484 -122.995643,49.310203 -122.986925,49.310638 -122.981210,49.309866 -122.975701,49.308187 -122.971291,49.305046 -122.966404,49.305425 -122.960193,49.303962 -122.956032,49.303555 -122.951744,49.306559 -122.950706,49.311095 -122.951573,49.315888 -122.949086,49.317215 -122.946910,49.319570 -122.941296,49.320733 -122.940341,49.322993 -122.942391,49.324050 -122.946058,49.323767 -122.949848,49.324852 -122.951669,49.327384 -122.951729,49.330458 -122.948351,49.332339 -122.944476,49.333530 -122.935336,49.335774 -122.928534,49.340673 -122.919823,49.345313 -122.914349,49.347273 -122.910629,49.353472 -122.907469,49.358657 -122.902885,49.360062 -122.898300,49.361467 -122.893924,49.361964 -122.892151,49.367285 -122.892947,49.373786 -122.893521,49.376983 -122.887270,49.380864 -122.883631,49.384788 -122.885385,49.389029 -122.888385,49.392607 -122.888106,49.392679 -122.890559,49.395034 -122.891177,49.397093 -122.889325,49.399908 -122.886412,49.403048 -122.888455,49.408887 -122.885994,49.413856 -122.882474,49.419149 -122.878897,49.421367 -122.876126,49.425306 -122.878091,49.428640 -122.878356,49.430807 -122.877042,49.433177 -122.878466,49.436957 -122.880122,49.439262 -122.880840,49.443259 -122.880730,49.446103 -122.882552,49.448638 -122.883480,49.451728 -122.887292,49.457028 -122.890608,49.461637 -122.888023,49.465238 -122.881183,49.465923 -122.872045,49.462811 -122.870576,49.460168 -122.867836,49.458756 -122.862953,49.458561 -122.859121,49.453828 -122.858262,49.449032 -122.854620,49.443961 -122.851754,49.436967 -122.850700,49.428297 -122.853331,49.423559 -122.854284,49.417086 -122.855305,49.408906 -122.858783,49.404752 -122.866288,49.400210 -122.867810,49.397859 -122.866189,49.398273 -122.867051,49.394075 -122.864240,49.390158 -122.860768,49.385319 -122.863506,49.377738 -122.864555,49.373202 -122.869330,49.371461 -122.872584,49.364002 -122.876641,49.358264 -122.884377,49.347466 -122.887484,49.339208 -122.883572,49.336754 -122.884927,49.333248 -122.896876,49.325933 -122.908533,49.317019 -122.916016,49.312474 -122.922500,49.311327 -122.924864,49.308634 -122.926609,49.303882 -122.924956,49.301580 -122.922433,49.299263 -122.919537,49.297623 -122.918566,49.295673 -122.912833,49.295467 -122.907034,49.296965 -122.904921,49.297614 -122.899704,49.297529 -122.893366,49.299473 -122.890691,49.301136 -122.885926,49.302878 -122.880543,49.302562 -122.874225,49.303936 -122.868160,49.303266 -122.864771,49.300934 -122.859215,49.296175 -122.855430,49.295087 -122.851502,49.293200 -122.845649,49.291622 -122.840711,49.288921 -122.836058,49.287818 -122.833518,49.286067 -122.832245,49.283087 -122.835130,49.280519 -122.847170,49.275148 -122.851733,49.278525 -122.859082,49.277397 -122.864185,49.280327 -122.864194,49.284537 -122.870123,49.288619 -122.873721,49.290045 -122.878937,49.290131 -122.888334,49.290059 -122.894298,49.288791 -122.900139,49.286156 -122.912035,49.288967 -122.915225,49.287426 -122.918702,49.287482 -122.926088,49.289991 -122.934968,49.289792 -122.951548,49.288349 -122.959124,49.285738 -122.969513,49.287039 -122.978123,49.289449 -122.987211,49.293118 -122.992137,49.291601 -122.999173,49.289433 -123.005093,49.289296 -123.012816,49.292259 -123.021675,49.292620 -123.024615,49.292345 -123.024572,49.292177 -123.029563,49.289558 -123.040427,49.290886 -123.046947,49.292293 -123.056113,49.291264 -123.059064,49.289633 -123.062077,49.286181 -123.081840,49.281154 -123.094275,49.285411 -123.098750,49.284747 -123.103982,49.284749 -123.113036,49.286990 -123.116669,49.288206 -123.120990,49.288850 -123.124861,49.289633 -123.129051,49.290856 -123.131573,49.292057 -123.136427,49.293435 -123.141565,49.292924 -123.144845,49.294790 -123.147012,49.296641 -123.139280,49.298136 -123.137172,49.297888 -123.134295,49.297338 -123.130020,49.298662 -123.128837,49.297407 -123.127404,49.296950 -123.125024,49.298228 -123.121566,49.298398 -123.117008,49.298188 -123.116391,49.300000 -123.118203,49.299079 -123.122075,49.299861 -123.126361,49.301597 -123.129688,49.302007 -123.131867,49.303494 -123.133702,49.305268 -123.135526,49.307405 -123.137587,49.309109 -123.138759,49.310727 -123.141045,49.312361 -123.146636,49.311710 -123.150935,49.309658 -123.153895,49.307659 -123.152969,49.301821 -123.155325,49.301270 -123.157492,49.299698 -123.154981,49.298134 -123.149818,49.295951 -123.148230,49.293381 -123.147958,49.291484 -123.144773,49.290129 -123.143068,49.287775 -123.142831,49.284786 -123.140143,49.281836 -123.135516,49.276965 -123.132711,49.274232 -123.128866,49.272722 -123.124972,49.272667 -123.122973,49.272566 -123.121115,49.271521 -123.120961,49.272829 -123.118700,49.273890 -123.113789,49.274330 -123.109693,49.277039 -123.104237,49.277107 -123.102048,49.275983 -123.101009,49.273784 -123.102774,49.270896 -123.110135,49.270419 -123.115531,49.268748 -123.117591,49.267029 -123.120952,49.266348 -123.130168,49.266915 -123.133493,49.267325 -123.140308,49.269896 -123.141149,49.271437 -123.140758,49.273179 -123.141693,49.275231 -123.143113,49.276052 -123.145433,49.276593 -123.149422,49.277158 -123.151019,49.275942 -123.153444,49.273209 -123.155242,49.272651 -123.159467,49.272782 -123.160449,49.273378 -123.164011,49.273354 -123.165040,49.272494 -123.170115,49.270378 -123.180316,49.271536 -123.184624,49.272541 -123.189579,49.272363 -123.189736,49.272070 -123.195862,49.272618 -123.202446,49.275618 -123.205502,49.274668 -123.210320,49.274324 -123.215871,49.276203 -123.218096,49.276232 -123.225797,49.277731 -123.234328,49.278249 -123.241525,49.278750 -123.246515,49.278639 -123.250384,49.277290 -123.255203,49.273915 -123.267790,49.333322 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-123.192792,49.671913 -123.102160,49.868766</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-123.192792,49.683068 -123.191831,49.692063 -123.190442,49.703909 -123.185444,49.711972 -123.176557,49.725037 -123.173968,49.731814 -123.163590,49.738266 -123.156598,49.744764 -123.160277,49.746352 -123.175646,49.753591 -123.181497,49.761581 -123.183344,49.767539 -123.186132,49.775927 -123.184782,49.775923 -123.185694,49.781348 -123.183531,49.790366 -123.174733,49.798080 -123.165418,49.802276 -123.157988,49.806227 -123.158500,49.809745 -123.162033,49.816680 -123.159706,49.824076 -123.163462,49.830609 -123.168640,49.838377 -123.174243,49.846015 -123.176293,49.853741 -123.181298,49.860561 -123.184302,49.864652 -123.168708,49.868766 -123.163660,49.863296 -123.158679,49.855800 -123.157432,49.849165 -123.153476,49.842358 -123.148078,49.834992 -123.143925,49.827912 -123.142148,49.818435 -123.141881,49.813839 -123.139351,49.808268 -123.141458,49.801275 -123.147447,49.796766 -123.157826,49.791911 -123.165497,49.786884 -123.167134,49.781369 -123.169535,49.775879 -123.165093,49.775865 -123.148129,49.765306 -123.136873,49.756800 -123.133663,49.751262 -123.125261,49.748948 -123.124109,49.742779 -123.124254,49.738386 -123.116864,49.736305 -123.114124,49.737145 -123.107420,49.734854 -123.102160,49.729945 -123.106632,49.728030 -123.114502,49.727717 -123.115831,49.725308 -123.121943,49.723099 -123.124401,49.724348 -123.127257,49.725800 -123.132369,49.718502 -123.139973,49.713993 -123.139828,49.708058 -123.143178,49.698876 -123.148507,49.691259 -123.151710,49.686470 -123.155992,49.679717 -123.163692,49.671913 -123.192792,49.683068 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-123.754035,49.389867 -123.669150,49.445163</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-123.730515,49.442501 -123.730515,49.442501 -123.714870,49.445163 -123.713708,49.445058 -123.713171,49.445149 -123.697155,49.443701 -123.696998,49.443641 -123.696907,49.443633 -123.695738,49.443186 -123.694582,49.443055 -123.694334,49.442987 -123.682964,49.438297 -123.673217,49.429887 -123.670681,49.423526 -123.670266,49.422731 -123.670202,49.422531 -123.670116,49.422109 -123.669150,49.419684 -123.669204,49.416030 -123.669231,49.415801 -123.671404,49.409015 -123.671452,49.408950 -123.671625,49.408138 -123.673966,49.405536 -123.675463,49.403504 -123.675717,49.403240 -123.677159,49.401987 -123.679804,49.399048 -123.679951,49.398975 -123.680010,49.398909 -123.680650,49.398593 -123.681042,49.398179 -123.681248,49.398040 -123.692893,49.392552 -123.698731,49.391559 -123.699514,49.391362 -123.699809,49.391305 -123.701061,49.391163 -123.708519,49.389894 -123.709214,49.389894 -123.709221,49.389893 -123.709232,49.389894 -123.709498,49.389894 -123.709594,49.389878 -123.710035,49.389867 -123.710304,49.389893 -123.713251,49.389890 -123.713511,49.389899 -123.723076,49.391131 -123.725216,49.391338 -123.731473,49.393731 -123.732601,49.394071 -123.732758,49.394132 -123.733751,49.394603 -123.739149,49.396667 -123.742502,49.398847 -123.742625,49.398937 -123.749024,49.405159 -123.749103,49.405284 -123.749926,49.405993 -123.750585,49.407638 -123.750980,49.408265 -123.751045,49.408391 -123.751520,49.409973 -123.754012,49.416192 -123.754010,49.416614 -123.754025,49.416654 -123.754035,49.416780 -123.754008,49.416899 -123.753992,49.419606 -123.753978,49.419739 -123.751919,49.426360 -123.751801,49.426894 -123.746854,49.433300 -123.746739,49.433410 -123.743517,49.436101 -123.730629,49.442465 -123.730629,49.442465 -123.730515,49.442501 -123.730515,49.442501 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-124.338387,49.695984 -124.199693,49.779521</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-124.206778,49.760909 -124.206251,49.760202 -124.205742,49.759489 -124.205253,49.758771 -124.204784,49.758047 -124.204333,49.757319 -124.203903,49.756585 -124.203492,49.755846 -124.203102,49.755103 -124.202731,49.754356 -124.202381,49.753604 -124.202051,49.752849 -124.201741,49.752090 -124.201452,49.751328 -124.201184,49.750562 -124.200936,49.749794 -124.200709,49.749023 -124.200503,49.748249 -124.200317,49.747474 -124.200153,49.746696 -124.200009,49.745916 -124.199887,49.745135 -124.199785,49.744353 -124.199705,49.743570 -124.199693,49.743408 -124.200664,49.743344 -124.204434,49.743967 -124.205743,49.745683 -124.209120,49.748566 -124.210816,49.748938 -124.213560,49.747906 -124.216964,49.746815 -124.217623,49.747062 -124.217517,49.748773 -124.218359,49.749876 -124.220999,49.750251 -124.224312,49.748731 -124.224509,49.747447 -124.226215,49.746290 -124.225841,49.745800 -124.221969,49.746279 -124.221031,49.745359 -124.222741,49.743590 -124.222275,49.742672 -124.220771,49.741934 -124.221161,49.739979 -124.220514,49.737898 -124.217791,49.735873 -124.217800,49.734650 -124.221105,49.734048 -124.223374,49.733320 -124.224239,49.730754 -124.222651,49.728366 -124.224548,49.726842 -124.224741,49.726170 -124.223332,49.725249 -124.221157,49.726099 -124.221052,49.727811 -124.218879,49.728355 -124.216714,49.727677 -124.215773,49.727368 -124.213116,49.729745 -124.215945,49.729753 -124.214518,49.731584 -124.211684,49.732187 -124.210461,49.731817 -124.207901,49.733705 -124.204689,49.734429 -124.203562,49.733570 -124.205744,49.731803 -124.205092,49.730639 -124.204055,49.730514 -124.202254,49.731854 -124.200781,49.732681 -124.200796,49.732631 -124.201031,49.731861 -124.201286,49.731094 -124.201563,49.730329 -124.201860,49.729568 -124.202177,49.728811 -124.202515,49.728057 -124.202873,49.727307 -124.203251,49.726562 -124.203649,49.725820 -124.204067,49.725084 -124.204505,49.724352 -124.204962,49.723625 -124.205439,49.722904 -124.205935,49.722188 -124.206450,49.721477 -124.206985,49.720773 -124.207538,49.720075 -124.208110,49.719383 -124.208700,49.718698 -124.209309,49.718019 -124.209936,49.717348 -124.210581,49.716684 -124.211243,49.716027 -124.211923,49.715378 -124.212621,49.714736 -124.213335,49.714103 -124.214067,49.713477 -124.214815,49.712860 -124.215580,49.712252 -124.216361,49.711652 -124.217158,49.711062 -124.217971,49.710480 -124.218799,49.709908 -124.219642,49.709345 -124.220501,49.708792 -124.221374,49.708248 -124.222262,49.707715 -124.223164,49.707191 -124.224079,49.706678 -124.225009,49.706175 -124.225952,49.705683 -124.226908,49.705202 -124.227876,49.704732 -124.228857,49.704272 -124.229851,49.703824 -124.230856,49.703387 -124.231873,49.702961 -124.232901,49.702547 -124.233940,49.702145 -124.234990,49.701755 -124.236050,49.701376 -124.237120,49.701010 -124.238200,49.700655 -124.239289,49.700313 -124.240387,49.699984 -124.241494,49.699666 -124.242609,49.699362 -124.243732,49.699070 -124.244863,49.698791 -124.246001,49.698524 -124.247146,49.698271 -124.248298,49.698030 -124.249456,49.697803 -124.250620,49.697588 -124.251789,49.697387 -124.252964,49.697199 -124.254144,49.697025 -124.255328,49.696863 -124.256516,49.696716 -124.257708,49.696581 -124.258904,49.696461 -124.260102,49.696353 -124.261304,49.696260 -124.262507,49.696179 -124.263713,49.696113 -124.264920,49.696060 -124.266128,49.696021 -124.267338,49.695995 -124.268547,49.695984 -124.269757,49.695985 -124.270967,49.696001 -124.272176,49.696030 -124.273384,49.696073 -124.274591,49.696130 -124.275796,49.696200 -124.276999,49.696283 -124.278200,49.696381 -124.279397,49.696492 -124.280592,49.696616 -124.281783,49.696754 -124.282970,49.696906 -124.284153,49.697070 -124.285332,49.697249 -124.286505,49.697440 -124.287673,49.697645 -124.288836,49.697863 -124.289992,49.698094 -124.291142,49.698338 -124.292285,49.698595 -124.293421,49.698865 -124.294550,49.699147 -124.295671,49.699443 -124.296784,49.699751 -124.297889,49.700071 -124.298984,49.700404 -124.300071,49.700750 -124.301148,49.701107 -124.302215,49.701477 -124.303273,49.701859 -124.304320,49.702252 -124.305356,49.702658 -124.306381,49.703075 -124.307395,49.703504 -124.308397,49.703944 -124.309387,49.704395 -124.310365,49.704857 -124.311330,49.705331 -124.312282,49.705815 -124.313222,49.706310 -124.314147,49.706815 -124.315059,49.707331 -124.315958,49.707857 -124.316841,49.708394 -124.317711,49.708940 -124.318565,49.709496 -124.319404,49.710061 -124.320229,49.710636 -124.321037,49.711220 -124.321830,49.711813 -124.322606,49.712415 -124.323367,49.713026 -124.324110,49.713645 -124.324837,49.714273 -124.325548,49.714908 -124.326240,49.715552 -124.326916,49.716203 -124.327574,49.716862 -124.328214,49.717528 -124.328836,49.718202 -124.329440,49.718882 -124.330025,49.719569 -124.330592,49.720262 -124.331140,49.720962 -124.331669,49.721668 -124.332179,49.722380 -124.332670,49.723098 -124.333142,49.723820 -124.333594,49.724549 -124.334026,49.725282 -124.334439,49.726020 -124.334832,49.726762 -124.335204,49.727509 -124.335557,49.728260 -124.335889,49.729015 -124.336201,49.729773 -124.336492,49.730535 -124.336763,49.731300 -124.337013,49.732068 -124.337243,49.732839 -124.337452,49.733612 -124.337640,49.734387 -124.337807,49.735165 -124.337953,49.735944 -124.338078,49.736725 -124.338182,49.737507 -124.338265,49.738290 -124.338327,49.739074 -124.338367,49.739858 -124.338387,49.740643 -124.338385,49.741428 -124.338363,49.742213 -124.338319,49.742997 -124.338254,49.743781 -124.338168,49.744564 -124.338061,49.745346 -124.337933,49.746127 -124.337784,49.746906 -124.337614,49.747683 -124.337422,49.748458 -124.337211,49.749231 -124.336978,49.750001 -124.336724,49.750769 -124.336450,49.751534 -124.336156,49.752295 -124.335841,49.753053 -124.335505,49.753807 -124.335149,49.754558 -124.334774,49.755304 -124.334378,49.756046 -124.333962,49.756783 -124.333526,49.757516 -124.333070,49.758243 -124.332595,49.758965 -124.332101,49.759682 -124.331587,49.760393 -124.331055,49.761098 -124.330503,49.761797 -124.329933,49.762490 -124.329344,49.763176 -124.328736,49.763855 -124.328111,49.764527 -124.327467,49.765192 -124.326805,49.765850 -124.326126,49.766500 -124.325429,49.767143 -124.324716,49.767777 -124.323985,49.768403 -124.323237,49.769021 -124.322688,49.769459 -124.320859,49.769308 -124.318591,49.769732 -124.315474,49.769971 -124.313119,49.768744 -124.311519,49.767579 -124.311805,49.767029 -124.310489,49.765620 -124.312286,49.764890 -124.314177,49.764282 -124.316258,49.763307 -124.315601,49.762450 -124.312770,49.762139 -124.312207,49.761404 -124.312592,49.759754 -124.311841,49.758774 -124.309674,49.757792 -124.306372,49.757480 -124.304861,49.757661 -124.304759,49.759373 -124.305227,49.760291 -124.304089,49.761267 -124.302956,49.761326 -124.301536,49.762240 -124.300777,49.763095 -124.298416,49.763396 -124.297000,49.763393 -124.295590,49.762168 -124.294182,49.760330 -124.292586,49.758554 -124.292400,49.758003 -124.289665,49.757508 -124.287588,49.757565 -124.285327,49.756766 -124.284105,49.755785 -124.284299,49.754807 -124.284211,49.753461 -124.285634,49.751936 -124.286397,49.750470 -124.287346,49.749655 -124.287534,49.749494 -124.286307,49.749430 -124.283570,49.749547 -124.282061,49.749421 -124.282147,49.751072 -124.281670,49.751988 -124.279306,49.752901 -124.278999,49.752944 -124.277606,49.753141 -124.275917,49.751242 -124.275593,49.750280 -124.275360,49.749590 -124.274280,49.748347 -124.273390,49.747323 -124.273675,49.747130 -124.275095,49.746165 -124.275054,49.745045 -124.275020,49.744114 -124.275012,49.743903 -124.274766,49.743782 -124.274281,49.743545 -124.273506,49.743166 -124.270881,49.743570 -124.270768,49.743588 -124.269100,49.743302 -124.268600,49.743216 -124.266709,49.743823 -124.265279,49.746571 -124.262231,49.749273 -124.261770,49.749682 -124.261725,49.750872 -124.261660,49.752616 -124.262777,49.755309 -124.264655,49.757148 -124.263890,49.758920 -124.262738,49.759458 -124.261808,49.759893 -124.262238,49.760221 -124.262936,49.760752 -124.266143,49.761249 -124.267282,49.759967 -124.269359,49.759911 -124.272000,49.760283 -124.272656,49.761141 -124.272173,49.763280 -124.273002,49.767134 -124.276017,49.768303 -124.279217,49.770328 -124.280530,49.772043 -124.281088,49.773695 -124.278529,49.775585 -124.274561,49.775943 -124.271544,49.775081 -124.268050,49.775134 -124.263419,49.775857 -124.262098,49.775671 -124.259166,49.776459 -124.256328,49.777369 -124.252171,49.777787 -124.248296,49.778267 -124.243290,49.778499 -124.238375,49.779159 -124.234313,49.779393 -124.233267,49.779521 -124.232555,49.779243 -124.231529,49.778825 -124.230514,49.778395 -124.229511,49.777954 -124.228520,49.777502 -124.227541,49.777039 -124.226575,49.776564 -124.225622,49.776079 -124.224683,49.775583 -124.223756,49.775077 -124.222844,49.774560 -124.221946,49.774033 -124.221062,49.773496 -124.220192,49.772949 -124.219338,49.772392 -124.218499,49.771825 -124.217675,49.771249 -124.216866,49.770664 -124.216074,49.770070 -124.215298,49.769467 -124.214538,49.768856 -124.213795,49.768235 -124.213069,49.767607 -124.212360,49.766970 -124.211668,49.766326 -124.210993,49.765674 -124.210336,49.765014 -124.209698,49.764347 -124.209077,49.763673 -124.208474,49.762991 -124.207890,49.762304 -124.207325,49.761609 -124.206778,49.760909 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-122.001801,49.228139 -121.824783,49.323871</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-121.883302,49.321352 -121.872938,49.323871 -121.867706,49.323299 -121.864691,49.318914 -121.864894,49.315691 -121.874051,49.311419 -121.884313,49.305239 -121.887331,49.299079 -121.878885,49.297347 -121.869265,49.298594 -121.857865,49.301944 -121.847106,49.300361 -121.829874,49.302258 -121.824783,49.299536 -121.840742,49.296960 -121.854989,49.295410 -121.857875,49.291400 -121.869535,49.294298 -121.888171,49.290925 -121.907003,49.284327 -121.913970,49.278057 -121.914804,49.269903 -121.909042,49.267383 -121.910280,49.263328 -121.917345,49.260719 -121.925513,49.256201 -121.922563,49.250745 -121.927315,49.248289 -121.936922,49.247036 -121.949639,49.243282 -121.957367,49.240472 -121.960435,49.233238 -121.970168,49.229834 -121.979467,49.228139 -121.991852,49.229749 -122.001801,49.233662 -122.000078,49.240502 -121.993194,49.245703 -121.974718,49.246947 -121.963276,49.251383 -121.951398,49.257527 -121.949928,49.260070 -121.952082,49.267872 -121.952318,49.269384 -121.950389,49.279446 -121.949259,49.287163 -121.941127,49.296417 -121.927524,49.303591 -121.916128,49.306948 -121.894738,49.312189 -121.883302,49.321352 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-123.179189,49.331645 -122.914607,49.538857</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-123.009314,49.331645 -123.020101,49.360070 -123.026948,49.361137 -123.042553,49.350772 -123.060854,49.347510 -123.076783,49.356092 -123.095955,49.370821 -123.107882,49.367137 -123.110083,49.360103 -123.117872,49.362461 -123.122105,49.368302 -123.134552,49.363659 -123.154367,49.359115 -123.156935,49.371033 -123.150818,49.377694 -123.161962,49.382986 -123.177875,49.393158 -123.179189,49.398315 -123.169935,49.410717 -123.163558,49.425407 -123.170801,49.445422 -123.173008,49.453483 -123.164736,49.465580 -123.160813,49.480305 -123.161624,49.494244 -123.162402,49.507638 -123.145247,49.519293 -123.102193,49.537329 -123.009301,49.538857 -122.998933,49.532967 -122.957549,49.509457 -122.930846,49.497787 -122.927398,49.484557 -122.921021,49.470638 -122.918862,49.462571 -122.916296,49.452248 -122.914607,49.444831 -122.930966,49.442202 -122.937944,49.440065 -122.948380,49.437660 -122.950492,49.433838 -122.956418,49.420118 -122.954374,49.408842 -122.944653,49.405476 -122.947760,49.401349 -122.944723,49.390380 -122.943091,49.381360 -122.952287,49.372191 -122.957209,49.358779 -122.970900,49.347431 -122.975579,49.340439 -122.986572,49.335471 -123.009314,49.331645 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-123.279922,48.415234 -123.254784,48.426708</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-123.264404,48.415234 -123.265259,48.415356 -123.265869,48.415527 -123.266685,48.415749 -123.267349,48.415955 -123.267891,48.416149 -123.268982,48.416542 -123.269829,48.416687 -123.270485,48.416622 -123.271179,48.416412 -123.271996,48.416016 -123.272369,48.415817 -123.272903,48.415718 -123.273537,48.415733 -123.274261,48.416000 -123.275009,48.416492 -123.275826,48.417294 -123.276405,48.418030 -123.276955,48.418865 -123.277664,48.420067 -123.278198,48.420849 -123.278809,48.421497 -123.279305,48.422054 -123.279556,48.422394 -123.279808,48.422859 -123.279922,48.423409 -123.279617,48.423969 -123.279045,48.424385 -123.278236,48.424698 -123.277237,48.424965 -123.276001,48.425289 -123.271347,48.426327 -123.271217,48.426334 -123.270813,48.426434 -123.270493,48.426510 -123.269905,48.426617 -123.269394,48.426708 -123.268936,48.426682 -123.268600,48.426575 -123.268204,48.426289 -123.267822,48.425858 -123.267632,48.425499 -123.267532,48.425220 -123.267403,48.424942 -123.267113,48.424664 -123.266373,48.424450 -123.266273,48.424438 -123.265045,48.424129 -123.264336,48.423950 -123.263550,48.423618 -123.262955,48.423214 -123.262527,48.422756 -123.262253,48.422192 -123.262032,48.421688 -123.261780,48.421093 -123.261536,48.420700 -123.261070,48.420261 -123.260109,48.419697 -123.259315,48.419365 -123.258278,48.419086 -123.257027,48.418839 -123.256195,48.418633 -123.255463,48.418365 -123.255066,48.418068 -123.254829,48.417683 -123.254784,48.417339 -123.255127,48.416664 -123.255676,48.416359 -123.256546,48.416203 -123.257408,48.416183 -123.258354,48.416199 -123.258797,48.416199 -123.260002,48.416142 -123.260941,48.416004 -123.262039,48.415787 -123.263000,48.415524 -123.263786,48.415314 -123.264404,48.415234 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-123.429799,48.555698 -123.279981,48.702527</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-123.413804,48.686267 -123.380808,48.702318 -123.377203,48.702527 -123.372103,48.701966 -123.361770,48.698710 -123.358267,48.695158 -123.344981,48.668293 -123.343806,48.662762 -123.336871,48.660296 -123.325093,48.655014 -123.316807,48.646763 -123.315178,48.637340 -123.316533,48.629459 -123.321701,48.634035 -123.327634,48.638370 -123.329031,48.635754 -123.326628,48.633719 -123.326801,48.627453 -123.327286,48.623572 -123.322630,48.621008 -123.318026,48.616565 -123.310771,48.612339 -123.307818,48.603026 -123.306216,48.599496 -123.296876,48.595620 -123.293968,48.591573 -123.294584,48.589825 -123.292168,48.588416 -123.286501,48.588345 -123.282361,48.587792 -123.279981,48.585129 -123.280851,48.581129 -123.287785,48.576454 -123.299438,48.571836 -123.330900,48.560942 -123.359928,48.555775 -123.364083,48.555698 -123.367791,48.558248 -123.370324,48.562414 -123.369082,48.566535 -123.368021,48.570910 -123.368269,48.575801 -123.370455,48.578834 -123.371249,48.584484 -123.372111,48.587628 -123.378307,48.589079 -123.385465,48.589913 -123.391662,48.591364 -123.394844,48.592528 -123.393454,48.595144 -123.392809,48.598145 -123.395330,48.602938 -123.398797,48.607740 -123.401303,48.613159 -123.407692,48.622007 -123.412107,48.626820 -123.411598,48.631954 -123.405017,48.637772 -123.395699,48.646943 -123.394904,48.648439 -123.396182,48.650209 -123.398009,48.652737 -123.395439,48.656970 -123.394411,48.660093 -123.396685,48.659994 -123.400303,48.659157 -123.404570,48.662465 -123.403925,48.665467 -123.404656,48.666479 -123.409252,48.664399 -123.412790,48.666696 -123.417441,48.669882 -123.424033,48.671209 -123.426259,48.672990 -123.429799,48.675286 -123.428224,48.677651 -123.414615,48.684144 -123.413804,48.686267 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-123.644976,48.676784 -123.487283,48.770200</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-123.571685,48.746622 -123.572353,48.748222 -123.569605,48.746351 -123.552399,48.744053 -123.540570,48.745587 -123.532932,48.741227 -123.527331,48.737409 -123.524869,48.737259 -123.520769,48.734208 -123.516470,48.731531 -123.509542,48.727823 -123.502293,48.721730 -123.498607,48.717302 -123.493716,48.715747 -123.487283,48.715304 -123.492109,48.711592 -123.499151,48.710286 -123.506053,48.706846 -123.512277,48.699887 -123.523730,48.687840 -123.534019,48.676784 -123.534315,48.680423 -123.535600,48.682191 -123.536843,48.685840 -123.535952,48.691724 -123.540219,48.695653 -123.549985,48.699386 -123.555781,48.702828 -123.558355,48.706364 -123.559573,48.711266 -123.557609,48.714382 -123.559080,48.716403 -123.566746,48.721117 -123.572008,48.723174 -123.577100,48.724351 -123.582493,48.729167 -123.586597,48.732216 -123.594336,48.733793 -123.603010,48.736005 -123.609987,48.737825 -123.614542,48.737616 -123.627009,48.739861 -123.633040,48.741671 -123.642086,48.744384 -123.644855,48.748171 -123.644976,48.751558 -123.643818,48.752551 -123.640579,48.753275 -123.641133,48.754033 -123.640662,48.758544 -123.636608,48.762019 -123.633515,48.764876 -123.627391,48.767456 -123.623202,48.768170 -123.621515,48.767152 -123.618893,48.765498 -123.616615,48.765602 -123.613624,48.763443 -123.607064,48.759620 -123.604457,48.757339 -123.599716,48.757295 -123.600453,48.758305 -123.603271,48.759585 -123.602283,48.761458 -123.601848,48.764087 -123.603139,48.765855 -123.601360,48.769225 -123.598304,48.770200 -123.594523,48.769538 -123.594392,48.766777 -123.592166,48.764374 -123.589744,48.762344 -123.588296,48.759070 -123.585519,48.755908 -123.581358,48.755367 -123.577790,48.753703 -123.576896,48.751186 -123.575055,48.748661 -123.571685,48.746622 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-123.716994,48.785078 -123.673545,48.819901</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-123.676685,48.819901 -123.673545,48.819546 -123.675894,48.817980 -123.677925,48.815701 -123.681800,48.812289 -123.684169,48.809629 -123.687295,48.806320 -123.690239,48.803884 -123.690405,48.803831 -123.693015,48.801502 -123.696195,48.799669 -123.697553,48.797876 -123.698170,48.795913 -123.696868,48.794699 -123.694558,48.794352 -123.691147,48.795308 -123.688675,48.794741 -123.686477,48.792864 -123.686459,48.789474 -123.687349,48.786201 -123.690431,48.785078 -123.697629,48.785083 -123.701659,48.786374 -123.705033,48.787331 -123.706365,48.786904 -123.708665,48.787798 -123.711681,48.790228 -123.713916,48.794674 -123.714945,48.797198 -123.716550,48.799944 -123.716994,48.802791 -123.714794,48.805398 -123.711872,48.806741 -123.709772,48.808364 -123.705699,48.809261 -123.704750,48.811331 -123.700742,48.813157 -123.695481,48.815519 -123.688166,48.817044 -123.681872,48.817156 -123.678937,48.819045 -123.676685,48.819901 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-123.621363,48.991476 -123.560486,49.031521</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-123.563504,49.020194 -123.563277,49.019878 -123.563059,49.019559 -123.562850,49.019238 -123.562649,49.018915 -123.562456,49.018589 -123.562273,49.018261 -123.562098,49.017931 -123.561931,49.017599 -123.561774,49.017265 -123.561625,49.016930 -123.561486,49.016592 -123.561355,49.016254 -123.561234,49.015913 -123.561121,49.015572 -123.561018,49.015229 -123.560923,49.014885 -123.560838,49.014540 -123.560762,49.014194 -123.560695,49.013848 -123.560638,49.013500 -123.560589,49.013152 -123.560550,49.012804 -123.560520,49.012455 -123.560500,49.012106 -123.560488,49.011756 -123.560486,49.011407 -123.560493,49.011057 -123.560510,49.010708 -123.560535,49.010359 -123.560570,49.010010 -123.560615,49.009662 -123.560668,49.009315 -123.560731,49.008967 -123.560803,49.008621 -123.560884,49.008276 -123.560974,49.007931 -123.561073,49.007588 -123.561181,49.007246 -123.561299,49.006905 -123.561425,49.006566 -123.561561,49.006228 -123.561705,49.005892 -123.561858,49.005557 -123.562021,49.005224 -123.562191,49.004893 -123.562371,49.004565 -123.562559,49.004238 -123.562756,49.003913 -123.562962,49.003591 -123.563176,49.003271 -123.563399,49.002954 -123.563630,49.002639 -123.563869,49.002327 -123.564116,49.002018 -123.564372,49.001712 -123.564636,49.001408 -123.564907,49.001108 -123.565187,49.000811 -123.565474,49.000517 -123.565770,49.000227 -123.566073,48.999940 -123.566383,48.999656 -123.566701,48.999376 -123.567026,48.999100 -123.567359,48.998828 -123.567698,48.998559 -123.568045,48.998294 -123.568399,48.998034 -123.568760,48.997777 -123.569127,48.997525 -123.569501,48.997277 -123.569881,48.997033 -123.570268,48.996794 -123.570661,48.996559 -123.571061,48.996328 -123.571466,48.996103 -123.571877,48.995882 -123.572295,48.995665 -123.572717,48.995454 -123.573146,48.995247 -123.573579,48.995046 -123.574018,48.994849 -123.574463,48.994657 -123.574912,48.994471 -123.575366,48.994290 -123.575825,48.994114 -123.576288,48.993943 -123.576756,48.993778 -123.577228,48.993618 -123.577704,48.993463 -123.578184,48.993314 -123.578669,48.993171 -123.579157,48.993033 -123.579648,48.992901 -123.580143,48.992774 -123.580641,48.992653 -123.581143,48.992538 -123.581647,48.992429 -123.582154,48.992325 -123.582664,48.992227 -123.583176,48.992135 -123.583691,48.992049 -123.584208,48.991969 -123.584727,48.991895 -123.585247,48.991827 -123.585770,48.991765 -123.586294,48.991709 -123.586819,48.991658 -123.587346,48.991614 -123.587874,48.991576 -123.588403,48.991544 -123.588932,48.991518 -123.589462,48.991499 -123.589993,48.991485 -123.590524,48.991477 -123.591055,48.991476 -123.591586,48.991480 -123.592117,48.991491 -123.592647,48.991508 -123.593177,48.991530 -123.593706,48.991559 -123.594234,48.991594 -123.594762,48.991635 -123.595288,48.991682 -123.595813,48.991735 -123.596336,48.991795 -123.596858,48.991860 -123.597378,48.991931 -123.597896,48.992008 -123.598411,48.992091 -123.598925,48.992180 -123.599436,48.992274 -123.599944,48.992375 -123.600450,48.992482 -123.600953,48.992594 -123.601453,48.992712 -123.601950,48.992836 -123.602443,48.992965 -123.602933,48.993100 -123.603419,48.993241 -123.603901,48.993387 -123.604379,48.993539 -123.604854,48.993696 -123.605324,48.993858 -123.605789,48.994026 -123.606250,48.994200 -123.606707,48.994378 -123.607158,48.994562 -123.607605,48.994751 -123.608047,48.994945 -123.608483,48.995144 -123.608914,48.995348 -123.609340,48.995557 -123.609760,48.995771 -123.610174,48.995990 -123.610583,48.996213 -123.610985,48.996441 -123.611381,48.996673 -123.611772,48.996911 -123.612155,48.997152 -123.612533,48.997398 -123.612903,48.997648 -123.613267,48.997903 -123.613625,48.998161 -123.613975,48.998424 -123.614318,48.998690 -123.614655,48.998961 -123.614984,48.999235 -123.615305,48.999513 -123.615619,48.999795 -123.615926,49.000080 -123.616225,49.000369 -123.616517,49.000661 -123.616800,49.000957 -123.617076,49.001255 -123.617344,49.001557 -123.617604,49.001862 -123.617855,49.002170 -123.618099,49.002480 -123.618334,49.002794 -123.618561,49.003110 -123.618779,49.003428 -123.618989,49.003749 -123.619190,49.004072 -123.619383,49.004398 -123.619567,49.004726 -123.619743,49.005056 -123.619909,49.005388 -123.620067,49.005721 -123.620216,49.006057 -123.620356,49.006394 -123.620487,49.006732 -123.620609,49.007073 -123.620722,49.007414 -123.620826,49.007757 -123.620921,49.008101 -123.621006,49.008445 -123.621083,49.008791 -123.621150,49.009138 -123.621208,49.009485 -123.621257,49.009833 -123.621297,49.010182 -123.621327,49.010531 -123.621348,49.010880 -123.621360,49.011229 -123.621363,49.011579 -123.621356,49.011928 -123.621340,49.012277 -123.621315,49.012626 -123.621281,49.012975 -123.621237,49.013323 -123.621184,49.013671 -123.621122,49.014018 -123.621051,49.014364 -123.620970,49.014710 -123.620880,49.015054 -123.620782,49.015398 -123.620674,49.015740 -123.620557,49.016081 -123.620431,49.016420 -123.620296,49.016758 -123.620152,49.017095 -123.619999,49.017429 -123.619837,49.017762 -123.619667,49.018093 -123.619487,49.018422 -123.619299,49.018749 -123.619103,49.019074 -123.618897,49.019396 -123.618684,49.019716 -123.618462,49.020033 -123.618231,49.020348 -123.617992,49.020660 -123.617745,49.020970 -123.617489,49.021276 -123.617226,49.021580 -123.616955,49.021880 -123.616675,49.022177 -123.616388,49.022471 -123.616093,49.022762 -123.615790,49.023049 -123.615480,49.023333 -123.615162,49.023613 -123.614837,49.023890 -123.614505,49.024162 -123.614165,49.024431 -123.613818,49.024696 -123.613465,49.024957 -123.613104,49.025214 -123.612737,49.025466 -123.612363,49.025714 -123.611982,49.025958 -123.611595,49.026198 -123.611202,49.026433 -123.610803,49.026663 -123.610397,49.026889 -123.609986,49.027111 -123.609568,49.027327 -123.609146,49.027539 -123.608717,49.027745 -123.608283,49.027947 -123.607844,49.028144 -123.607400,49.028336 -123.606950,49.028522 -123.606496,49.028704 -123.606037,49.028880 -123.605573,49.029051 -123.605105,49.029216 -123.604633,49.029376 -123.604156,49.029531 -123.603676,49.029680 -123.603191,49.029824 -123.602703,49.029962 -123.602211,49.030094 -123.601716,49.030221 -123.601217,49.030342 -123.600715,49.030457 -123.600211,49.030567 -123.599703,49.030671 -123.599193,49.030769 -123.598680,49.030861 -123.598165,49.030947 -123.597648,49.031027 -123.597128,49.031101 -123.596607,49.031169 -123.596084,49.031231 -123.595559,49.031288 -123.595033,49.031338 -123.594506,49.031382 -123.593978,49.031420 -123.593449,49.031452 -123.592919,49.031478 -123.592388,49.031498 -123.591857,49.031512 -123.591325,49.031519 -123.590794,49.031521 -123.590263,49.031516 -123.589731,49.031506 -123.589200,49.031489 -123.588670,49.031466 -123.588140,49.031437 -123.587611,49.031402 -123.587084,49.031361 -123.586557,49.031314 -123.586032,49.031261 -123.585508,49.031202 -123.584986,49.031136 -123.584465,49.031065 -123.583947,49.030988 -123.583431,49.030905 -123.582917,49.030816 -123.582405,49.030721 -123.581896,49.030620 -123.581390,49.030514 -123.580887,49.030402 -123.580387,49.030283 -123.579890,49.030160 -123.579396,49.030030 -123.578906,49.029895 -123.578419,49.029754 -123.577937,49.029608 -123.577458,49.029456 -123.576984,49.029298 -123.576513,49.029136 -123.576047,49.028968 -123.575586,49.028794 -123.575129,49.028615 -123.574677,49.028431 -123.574230,49.028242 -123.573789,49.028048 -123.573352,49.027849 -123.572921,49.027645 -123.572495,49.027435 -123.572075,49.027221 -123.571660,49.027003 -123.571252,49.026779 -123.570849,49.026551 -123.570453,49.026318 -123.570063,49.026081 -123.569679,49.025839 -123.569302,49.025593 -123.568931,49.025343 -123.568567,49.025088 -123.568210,49.024829 -123.567860,49.024566 -123.567516,49.024300 -123.567180,49.024029 -123.566851,49.023754 -123.566530,49.023476 -123.566216,49.023194 -123.565909,49.022909 -123.565610,49.022620 -123.565319,49.022327 -123.565036,49.022032 -123.564760,49.021733 -123.564493,49.021431 -123.564233,49.021126 -123.563982,49.020818 -123.563739,49.020507 -123.563504,49.020194 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-123.843998,49.093431 -123.821466,49.110377</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-123.833469,49.093431 -123.833964,49.093681 -123.833790,49.096793 -123.837034,49.096843 -123.837530,49.097092 -123.837605,49.097611 -123.837757,49.098514 -123.837860,49.099908 -123.838606,49.100077 -123.842058,49.100127 -123.843221,49.100299 -123.843549,49.100602 -123.843748,49.101149 -123.843783,49.101614 -123.843998,49.103855 -123.843687,49.105110 -123.842683,49.105431 -123.838898,49.105351 -123.839265,49.105845 -123.839668,49.106667 -123.839201,49.107293 -123.837944,49.107830 -123.837236,49.107853 -123.835999,49.107162 -123.834442,49.105621 -123.833657,49.105261 -123.832945,49.105557 -123.833391,49.106297 -123.832881,49.107004 -123.832748,49.107522 -123.832866,49.107960 -123.832814,49.108588 -123.832505,49.109706 -123.831832,49.110193 -123.830830,49.110377 -123.830084,49.110208 -123.829715,49.109851 -123.829308,49.109302 -123.828251,49.107737 -123.827271,49.106556 -123.826334,49.105293 -123.824113,49.103693 -123.823834,49.102899 -123.824846,49.102032 -123.824979,49.101514 -123.824276,49.101263 -123.822486,49.101360 -123.821952,49.100919 -123.821912,49.098215 -123.821466,49.097474 -123.821479,49.096655 -123.822234,49.096277 -123.822301,49.094693 -123.822445,49.093492 -123.833469,49.093431 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-123.904799,49.205000 -123.876449,49.226613</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-123.877377,49.211638 -123.877604,49.211124 -123.879407,49.209098 -123.879851,49.208554 -123.879898,49.208515 -123.879950,49.208486 -123.880303,49.208090 -123.884568,49.205964 -123.884717,49.205927 -123.884781,49.205896 -123.885014,49.205855 -123.887105,49.205347 -123.887273,49.205318 -123.889450,49.205089 -123.889963,49.205000 -123.895273,49.205472 -123.895364,49.205493 -123.895364,49.205493 -123.899994,49.207260 -123.903241,49.210054 -123.903831,49.210971 -123.903883,49.211066 -123.904661,49.213543 -123.904644,49.213623 -123.904666,49.213678 -123.904670,49.213817 -123.904681,49.213848 -123.904687,49.213983 -123.904675,49.214035 -123.904686,49.214503 -123.904682,49.214586 -123.904684,49.214760 -123.904689,49.215102 -123.904713,49.215499 -123.904714,49.215527 -123.904720,49.215555 -123.904717,49.215572 -123.904737,49.215910 -123.904730,49.215942 -123.904799,49.216114 -123.904734,49.216593 -123.904727,49.217482 -123.904683,49.217880 -123.904460,49.218598 -123.904431,49.218811 -123.904367,49.218980 -123.904280,49.219174 -123.903973,49.220160 -123.903862,49.220285 -123.903832,49.220417 -123.903692,49.220660 -123.901135,49.223438 -123.899684,49.224366 -123.899469,49.224484 -123.896655,49.225683 -123.896655,49.225683 -123.896548,49.225717 -123.896548,49.225717 -123.896548,49.225717 -123.891364,49.226613 -123.886051,49.226141 -123.881419,49.224373 -123.881322,49.224289 -123.881238,49.224257 -123.881107,49.224145 -123.880919,49.224068 -123.880738,49.223953 -123.877992,49.221463 -123.877050,49.219800 -123.876962,49.219580 -123.876726,49.218616 -123.876607,49.218350 -123.876565,49.218115 -123.876580,49.218020 -123.876538,49.217847 -123.876541,49.217836 -123.876513,49.217770 -123.876465,49.217376 -123.876480,49.217298 -123.876449,49.217219 -123.876464,49.215969 -123.876490,49.215750 -123.876583,49.215459 -123.876609,49.215078 -123.876639,49.214953 -123.876650,49.214849 -123.876690,49.214365 -123.876707,49.214307 -123.876708,49.214176 -123.876760,49.213713 -123.877107,49.212608 -123.877168,49.212139 -123.877224,49.211985 -123.877284,49.211849 -123.877288,49.211824 -123.877367,49.211650 -123.877377,49.211638 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-124.559994,49.235693 -124.089302,49.383031</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-124.551088,49.331883 -124.559994,49.334229 -124.553522,49.343923 -124.550205,49.348465 -124.545376,49.352021 -124.533596,49.357357 -124.520908,49.364469 -124.514261,49.369603 -124.494863,49.383031 -124.492798,49.383031 -124.478888,49.377700 -124.465587,49.373157 -124.446845,49.370386 -124.437167,49.373540 -124.408745,49.374902 -124.383957,49.373101 -124.367945,49.368936 -124.346203,49.362194 -124.325077,49.354264 -124.312434,49.342595 -124.299135,49.343952 -124.276466,49.345878 -124.250508,49.341475 -124.236081,49.329397 -124.225211,49.328973 -124.211288,49.333474 -124.187744,49.331232 -124.175417,49.323890 -124.153737,49.316119 -124.134769,49.309933 -124.122150,49.303175 -124.115281,49.295056 -124.104178,49.288302 -124.097920,49.279988 -124.096747,49.276430 -124.089302,49.266533 -124.090569,49.260223 -124.103010,49.251788 -124.124435,49.249305 -124.175664,49.251458 -124.196744,49.254485 -124.208355,49.259697 -124.222038,49.259097 -124.230504,49.255370 -124.252804,49.260620 -124.255763,49.266881 -124.250590,49.274959 -124.231577,49.276687 -124.221007,49.278631 -124.224896,49.283773 -124.249589,49.291535 -124.255186,49.294720 -124.271641,49.286850 -124.274079,49.282119 -124.280143,49.276212 -124.288302,49.273072 -124.295838,49.274074 -124.303074,49.274680 -124.310032,49.269957 -124.323323,49.264652 -124.335114,49.256384 -124.340572,49.247709 -124.346631,49.238839 -124.354778,49.235693 -124.357792,49.235698 -124.365307,49.241627 -124.365893,49.247351 -124.359821,49.261156 -124.340487,49.271390 -124.323551,49.282809 -124.311159,49.288313 -124.299394,49.287698 -124.290329,49.290641 -124.283065,49.294967 -124.284260,49.297536 -124.289072,49.300901 -124.292071,49.304855 -124.292943,49.311962 -124.297439,49.318879 -124.305477,49.321411 -124.309512,49.319890 -124.322804,49.318532 -124.326709,49.323670 -124.331816,49.330390 -124.344174,49.337713 -124.355053,49.336150 -124.373194,49.330252 -124.376342,49.328148 -124.381655,49.328485 -124.385880,49.330069 -124.388288,49.333230 -124.388883,49.336981 -124.388049,49.338156 -124.378289,49.344865 -124.383413,49.349608 -124.412113,49.352597 -124.437499,49.350245 -124.459557,49.350452 -124.473157,49.345521 -124.496723,49.344732 -124.515153,49.344137 -124.526027,49.341568 -124.527532,49.335645 -124.533565,49.327747 -124.542922,49.323203 -124.550775,49.324580 -124.551088,49.331883 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-124.926448,49.450128 -124.648132,49.657270</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-124.834235,49.589758 -124.833701,49.589937 -124.835757,49.583318 -124.838179,49.574702 -124.839845,49.567586 -124.837660,49.558612 -124.837257,49.556244 -124.839934,49.555361 -124.835078,49.547894 -124.827360,49.541684 -124.806766,49.530652 -124.787519,49.518864 -124.771937,49.509307 -124.762891,49.502598 -124.757887,49.498621 -124.757095,49.494508 -124.749969,49.487793 -124.743836,49.486687 -124.732533,49.485094 -124.726805,49.487602 -124.718184,49.486375 -124.709358,49.482405 -124.696125,49.477072 -124.689246,49.479331 -124.684550,49.478857 -124.683564,49.479046 -124.671877,49.478214 -124.653152,49.476383 -124.649454,49.475845 -124.648132,49.472973 -124.651458,49.469938 -124.655263,49.467523 -124.659321,49.466192 -124.658762,49.465920 -124.672897,49.460658 -124.700969,49.451125 -124.708819,49.452604 -124.712079,49.454342 -124.716489,49.456327 -124.723583,49.459303 -124.725700,49.461418 -124.729511,49.458915 -124.733126,49.455539 -124.740758,49.452403 -124.743809,49.450774 -124.752411,49.450128 -124.767522,49.450460 -124.783585,49.450164 -124.791810,49.450264 -124.797189,49.453489 -124.796655,49.458977 -124.797837,49.463587 -124.795975,49.470451 -124.797925,49.475433 -124.801394,49.478664 -124.802190,49.482777 -124.800875,49.486023 -124.800719,49.490763 -124.799219,49.495007 -124.799237,49.497502 -124.802704,49.500109 -124.806137,49.498352 -124.809555,49.494725 -124.817581,49.492703 -124.825075,49.496169 -124.827626,49.503768 -124.840555,49.515446 -124.849240,49.522898 -124.865277,49.537929 -124.872653,49.548004 -124.881609,49.562563 -124.884775,49.572779 -124.884373,49.572914 -124.884373,49.572914 -124.888289,49.579127 -124.890109,49.588850 -124.892672,49.595826 -124.900253,49.605525 -124.907047,49.612982 -124.910951,49.619204 -124.914466,49.624928 -124.919514,49.630146 -124.925504,49.633489 -124.926448,49.636642 -124.888689,49.657270 -124.883792,49.651009 -124.871151,49.634838 -124.861977,49.618778 -124.854042,49.611696 -124.844421,49.609236 -124.834030,49.606404 -124.828618,49.601931 -124.830282,49.594191 -124.834235,49.589758 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-124.872946,49.472421 -124.513242,49.641156</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-124.828233,49.602199 -124.832212,49.606148 -124.834492,49.607151 -124.845641,49.610298 -124.851517,49.612064 -124.854639,49.613373 -124.859586,49.618174 -124.861163,49.620577 -124.863957,49.625308 -124.868693,49.632907 -124.872329,49.637945 -124.872946,49.639886 -124.871040,49.640904 -124.866135,49.641156 -124.863018,49.640624 -124.858933,49.638851 -124.849785,49.632900 -124.843523,49.628337 -124.837259,49.623385 -124.833768,49.620832 -124.821024,49.612949 -124.815146,49.610792 -124.805999,49.603283 -124.790633,49.595093 -124.780679,49.590771 -124.771684,49.586523 -124.761847,49.581189 -124.753926,49.576004 -124.750685,49.573759 -124.751017,49.573633 -124.749006,49.572753 -124.745287,49.570276 -124.740850,49.567645 -124.734013,49.563078 -124.728146,49.560916 -124.725044,49.561546 -124.719801,49.564045 -124.715396,49.566852 -124.710876,49.570670 -124.707779,49.572464 -124.694778,49.577310 -124.675199,49.581779 -124.662527,49.581258 -124.657380,49.579246 -124.644817,49.575381 -124.631530,49.569029 -124.630895,49.568368 -124.627372,49.567228 -124.601963,49.559490 -124.568649,49.551169 -124.549382,49.545063 -124.526983,49.535362 -124.517575,49.526041 -124.513242,49.514096 -124.517119,49.511862 -124.608464,49.482759 -124.640769,49.472421 -124.650585,49.476821 -124.652199,49.476695 -124.664843,49.478382 -124.681422,49.479750 -124.687743,49.480203 -124.689777,49.481675 -124.693376,49.486329 -124.694817,49.488190 -124.698996,49.489347 -124.703652,49.490347 -124.706524,49.492127 -124.708909,49.492122 -124.711180,49.493127 -124.715009,49.495371 -124.719554,49.497769 -124.725765,49.499230 -124.726311,49.499642 -124.726840,49.499460 -124.731627,49.502168 -124.731529,49.505897 -124.736322,49.509382 -124.741703,49.511310 -124.743158,49.515113 -124.746884,49.519532 -124.749892,49.523409 -124.753863,49.528527 -124.756752,49.532248 -124.756657,49.535978 -124.756925,49.540562 -124.760660,49.545757 -124.763066,49.548470 -124.765855,49.554757 -124.768867,49.558633 -124.771762,49.562743 -124.774018,49.564924 -124.774047,49.564913 -124.779214,49.569249 -124.786052,49.573037 -124.792773,49.577057 -124.797205,49.578520 -124.805836,49.581912 -124.810273,49.583762 -124.813409,49.587405 -124.815564,49.587864 -124.821076,49.589555 -124.824580,49.594051 -124.825676,49.596612 -124.828233,49.602199 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-124.668127,49.493350 -124.662163,49.493361 -124.659038,49.494629 -124.656064,49.496576 -124.651745,49.497749 -124.646534,49.499699 -124.643707,49.501355 -124.640728,49.502330 -124.635655,49.501561 -124.638496,49.503790 -124.639998,49.506702 -124.633745,49.509721 -124.636585,49.511465 -124.643314,49.516311 -124.646309,49.519220 -124.642743,49.523304 -124.642154,49.525442 -124.648870,49.525917 -124.648146,49.531745 -124.628896,49.531483 -124.628738,49.528861 -124.623204,49.524595 -124.614685,49.519848 -124.606922,49.517526 -124.601405,49.518601 -124.595899,49.523560 -124.600974,49.524817 -124.605299,49.524132 -124.609780,49.526069 -124.615159,49.528685 -124.620691,49.531980 -124.622938,49.534891 -124.627420,49.536341 -124.636078,49.536911 -124.640708,49.538070 -124.643252,49.539911 -124.648024,49.538835 -124.654896,49.540475 -124.660586,49.544933 -124.664167,49.544733 -124.665666,49.546187 -124.670455,49.548995 -124.679564,49.549658 -124.686726,49.548770 -124.691648,49.547886 -124.701028,49.543107 -124.705791,49.540571 -124.708442,49.533863 -124.704687,49.529016 -124.700914,49.520769 -124.701481,49.514746 -124.698923,49.510478 -124.691450,49.507095 -124.683982,49.504682 -124.676811,49.501686 -124.674265,49.499360 -124.674100,49.495767 -124.668127,49.493350 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-125.026226,49.939095 -124.980865,49.962761</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-125.024539,49.954340 -125.021951,49.957328 -125.017668,49.959509 -125.017121,49.959689 -125.017121,49.959689 -125.013696,49.960475 -125.011733,49.960746 -125.010742,49.960840 -125.008849,49.961804 -125.003597,49.962761 -125.002335,49.962665 -125.002147,49.962676 -125.002062,49.962670 -125.001977,49.962686 -124.996557,49.962273 -124.994433,49.961506 -124.994306,49.961492 -124.989544,49.959772 -124.986164,49.957008 -124.985856,49.956618 -124.985600,49.956033 -124.985110,49.955729 -124.982347,49.953325 -124.980865,49.949936 -124.980917,49.948177 -124.980944,49.948028 -124.981533,49.946291 -124.984198,49.943219 -124.988481,49.941039 -124.993731,49.940083 -124.993746,49.940083 -124.998013,49.939305 -124.998921,49.939374 -124.999371,49.939326 -124.999542,49.939339 -124.999697,49.939312 -125.001214,49.939257 -125.001972,49.939321 -125.002405,49.939264 -125.005508,49.939500 -125.007894,49.939095 -125.011387,49.939200 -125.012024,49.939271 -125.013948,49.939578 -125.014867,49.939864 -125.016079,49.940071 -125.020840,49.941788 -125.023696,49.943947 -125.024136,49.944411 -125.024196,49.944532 -125.024220,49.944551 -125.024292,49.944715 -125.024660,49.945015 -125.025459,49.947041 -125.026145,49.948403 -125.026098,49.948660 -125.026184,49.948877 -125.026226,49.949893 -125.025550,49.952916 -125.025453,49.953028 -125.025429,49.953147 -125.025147,49.953661 -125.024539,49.954340 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-124.841524,49.994289 -124.583742,50.324703</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-124.841524,50.116937 -124.817497,50.115549 -124.813349,50.121200 -124.807322,50.130534 -124.800503,50.136438 -124.785677,50.143102 -124.778468,50.148516 -124.789124,50.145053 -124.792581,50.148229 -124.796882,50.162188 -124.791964,50.168087 -124.757984,50.166223 -124.757623,50.169411 -124.764995,50.187287 -124.765528,50.209842 -124.761387,50.219170 -124.760280,50.225058 -124.754626,50.237333 -124.751613,50.244452 -124.743633,50.252565 -124.733374,50.263871 -124.731163,50.278100 -124.735813,50.287653 -124.735471,50.294521 -124.745073,50.299402 -124.753542,50.306493 -124.745195,50.319023 -124.729522,50.324703 -124.708437,50.322299 -124.684662,50.317688 -124.674326,50.319179 -124.665498,50.315271 -124.641705,50.303292 -124.627104,50.288352 -124.615940,50.268012 -124.600226,50.257731 -124.584909,50.250391 -124.583742,50.241564 -124.595951,50.231498 -124.608190,50.233692 -124.611231,50.227803 -124.610054,50.217752 -124.612327,50.210884 -124.606589,50.208439 -124.600468,50.205504 -124.599692,50.200846 -124.608045,50.183430 -124.620614,50.173853 -124.621354,50.166253 -124.629724,50.158642 -124.640008,50.153479 -124.635800,50.150544 -124.623956,50.145167 -124.615937,50.142236 -124.610967,50.138321 -124.612473,50.131700 -124.609404,50.125331 -124.606708,50.115775 -124.611267,50.110623 -124.626512,50.110603 -124.629928,50.106432 -124.637924,50.104459 -124.653152,50.100759 -124.659603,50.094376 -124.673288,50.087490 -124.686207,50.080848 -124.690357,50.072752 -124.689172,50.063932 -124.696767,50.060241 -124.704725,50.053363 -124.703914,50.043807 -124.712257,50.038643 -124.713737,50.030799 -124.706065,50.018565 -124.699539,50.006573 -124.704055,49.997743 -124.714678,49.994289 -124.725725,49.998674 -124.731469,50.006010 -124.739117,50.013342 -124.748676,50.021893 -124.760884,50.027741 -124.767398,50.034829 -124.773096,50.033587 -124.783741,50.032576 -124.787178,50.034526 -124.787598,50.039916 -124.785347,50.044333 -124.789563,50.048486 -124.799891,50.055561 -124.814779,50.061150 -124.827718,50.060616 -124.841524,50.116937 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-125.560652,48.738778 -124.906767,49.047573</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-125.197423,48.786770 -125.235064,48.762474 -125.267076,48.747738 -125.335477,48.738778 -125.392534,48.739403 -125.447059,48.755265 -125.483230,48.773575 -125.514445,48.800313 -125.527504,48.815041 -125.551358,48.845282 -125.560652,48.869963 -125.553855,48.898257 -125.540210,48.930824 -125.521982,48.942844 -125.512469,48.932647 -125.499057,48.928593 -125.487483,48.928713 -125.476089,48.936458 -125.461288,48.947287 -125.439581,48.960471 -125.412706,48.976371 -125.404779,48.984838 -125.383631,48.998769 -125.371087,49.008803 -125.369104,49.024844 -125.367716,49.041644 -125.359131,49.047444 -125.344622,49.047573 -125.331708,49.040437 -125.309056,49.039487 -125.296820,49.036919 -125.287449,49.032418 -125.263125,49.034905 -125.235406,49.042371 -125.214007,49.046730 -125.193070,49.044214 -125.187733,49.037385 -125.198054,49.030061 -125.232098,49.019505 -125.263891,49.013534 -125.284745,49.012221 -125.289391,49.012564 -125.305003,49.010145 -125.309537,49.004765 -125.300283,49.005988 -125.286419,49.008773 -125.282854,49.004225 -125.289027,48.993493 -125.283572,48.980949 -125.268838,48.967719 -125.230426,48.957722 -125.220095,48.963141 -125.205843,48.976597 -125.201956,48.986543 -125.201590,48.999134 -125.199348,49.003728 -125.188568,49.017922 -125.174724,49.022599 -125.144480,49.017467 -125.162848,49.005515 -125.172574,48.997436 -125.168492,48.995939 -125.147822,49.008670 -125.130368,49.004972 -125.125046,48.998141 -125.113817,48.983719 -125.099837,48.978849 -125.085432,48.984660 -125.068205,48.996208 -125.052636,49.002404 -125.041066,49.004377 -125.025933,48.999885 -125.000226,48.983621 -125.000180,48.979807 -124.978834,48.987928 -124.950486,48.992644 -124.918019,48.992030 -124.906767,48.968049 -124.926455,48.967200 -124.943833,48.967120 -124.963477,48.962449 -124.973275,48.958205 -124.969138,48.950979 -124.980541,48.935667 -124.990331,48.931421 -125.002518,48.934027 -125.015199,48.929764 -125.005836,48.921425 -124.989561,48.915409 -124.996880,48.898592 -125.021559,48.883589 -125.042256,48.874703 -125.073483,48.875663 -125.083196,48.867597 -125.105443,48.847632 -125.126636,48.835676 -125.137478,48.827217 -125.158062,48.814497 -125.180897,48.799088 -125.197423,48.786770 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-126.229717,49.080981 -125.909964,49.347739</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-125.997125,49.106261 -125.997225,49.106197 -125.998962,49.105117 -126.000728,49.104058 -126.002521,49.103019 -126.004342,49.102000 -126.006190,49.101003 -126.008063,49.100027 -126.009962,49.099072 -126.011886,49.098139 -126.013835,49.097229 -126.015807,49.096341 -126.017803,49.095475 -126.019821,49.094633 -126.021861,49.093814 -126.023923,49.093018 -126.026005,49.092246 -126.028108,49.091498 -126.030230,49.090774 -126.032371,49.090074 -126.034530,49.089399 -126.036706,49.088749 -126.038900,49.088124 -126.041109,49.087524 -126.043335,49.086949 -126.045575,49.086400 -126.047829,49.085877 -126.050097,49.085380 -126.052377,49.084908 -126.054670,49.084463 -126.056974,49.084044 -126.059289,49.083651 -126.061614,49.083285 -126.063948,49.082946 -126.066291,49.082633 -126.068642,49.082347 -126.071000,49.082089 -126.073364,49.081857 -126.075735,49.081652 -126.078110,49.081474 -126.080490,49.081324 -126.082873,49.081201 -126.085259,49.081105 -126.087647,49.081036 -126.090037,49.080995 -126.092428,49.080981 -126.094818,49.080995 -126.097208,49.081035 -126.099597,49.081104 -126.101983,49.081199 -126.104366,49.081322 -126.106746,49.081472 -126.109121,49.081649 -126.111492,49.081853 -126.113856,49.082085 -126.116214,49.082343 -126.118565,49.082629 -126.120908,49.082941 -126.123243,49.083280 -126.125568,49.083645 -126.127883,49.084037 -126.130187,49.084456 -126.132480,49.084901 -126.134761,49.085372 -126.137029,49.085869 -126.139283,49.086392 -126.141523,49.086941 -126.143749,49.087515 -126.145959,49.088114 -126.148152,49.088739 -126.150329,49.089389 -126.152489,49.090064 -126.154630,49.090763 -126.156752,49.091486 -126.158855,49.092234 -126.160937,49.093006 -126.162999,49.093801 -126.165040,49.094620 -126.167059,49.095462 -126.169054,49.096327 -126.171027,49.097215 -126.172976,49.098125 -126.174901,49.099058 -126.176800,49.100012 -126.178674,49.100988 -126.180522,49.101985 -126.182343,49.103003 -126.184137,49.104042 -126.185903,49.105101 -126.187641,49.106180 -126.189350,49.107279 -126.191030,49.108397 -126.192679,49.109535 -126.194299,49.110691 -126.195887,49.111865 -126.197444,49.113058 -126.198969,49.114268 -126.200462,49.115495 -126.201922,49.116739 -126.203349,49.118000 -126.204742,49.119277 -126.206101,49.120570 -126.207426,49.121878 -126.208715,49.123201 -126.209970,49.124538 -126.211188,49.125890 -126.212371,49.127255 -126.213517,49.128634 -126.214627,49.130026 -126.215699,49.131430 -126.216734,49.132846 -126.217731,49.134274 -126.218691,49.135713 -126.219611,49.137163 -126.220493,49.138623 -126.221337,49.140093 -126.222141,49.141573 -126.222905,49.143061 -126.223630,49.144558 -126.224315,49.146063 -126.224960,49.147576 -126.225565,49.149096 -126.226129,49.150623 -126.226653,49.152155 -126.227136,49.153694 -126.227577,49.155238 -126.227978,49.156786 -126.228337,49.158339 -126.228655,49.159896 -126.228932,49.161457 -126.229167,49.163020 -126.229360,49.164586 -126.229512,49.166153 -126.229622,49.167723 -126.229690,49.169293 -126.229717,49.170864 -126.229701,49.172434 -126.229644,49.174005 -126.229545,49.175574 -126.229404,49.177143 -126.229222,49.178709 -126.228997,49.180273 -126.228731,49.181834 -126.228424,49.183392 -126.228075,49.184947 -126.227685,49.186497 -126.227254,49.188042 -126.226781,49.189582 -126.226268,49.191117 -126.225713,49.192645 -126.225118,49.194167 -126.224483,49.195682 -126.223807,49.197189 -126.223091,49.198688 -126.222335,49.200179 -126.221540,49.201661 -126.220705,49.203134 -126.219831,49.204597 -126.218918,49.206050 -126.217967,49.207492 -126.216977,49.208923 -126.215949,49.210342 -126.214883,49.211750 -126.213780,49.213145 -126.212640,49.214527 -126.211464,49.215896 -126.210250,49.217252 -126.209001,49.218593 -126.207717,49.219920 -126.206397,49.221232 -126.205042,49.222528 -126.203652,49.223809 -126.202229,49.225074 -126.200772,49.226322 -126.199282,49.227553 -126.197760,49.228768 -126.196205,49.229964 -126.194618,49.231143 -126.193000,49.232303 -126.191352,49.233445 -126.189673,49.234567 -126.187964,49.235670 -126.186226,49.236754 -126.184460,49.237817 -126.182665,49.238860 -126.180842,49.239883 -126.178993,49.240884 -126.177117,49.241864 -126.175215,49.242822 -126.173288,49.243759 -126.171336,49.244673 -126.169360,49.245565 -126.167360,49.246434 -126.165338,49.247280 -126.163293,49.248102 -126.161226,49.248901 -126.159139,49.249677 -126.157030,49.250428 -126.154902,49.251155 -126.152755,49.251858 -126.150590,49.252536 -126.148407,49.253189 -126.146206,49.253817 -126.143989,49.254420 -126.141756,49.254997 -126.139509,49.255549 -126.137246,49.256075 -126.134970,49.256575 -126.132681,49.257048 -126.130380,49.257496 -126.128067,49.257917 -126.125743,49.258311 -126.123409,49.258679 -126.121065,49.259020 -126.118713,49.259334 -126.116352,49.259621 -126.113984,49.259881 -126.111610,49.260114 -126.109230,49.260320 -126.106844,49.260499 -126.104455,49.260650 -126.102061,49.260774 -126.099665,49.260870 -126.097266,49.260939 -126.094866,49.260980 -126.092465,49.260994 -126.090064,49.260981 -126.087664,49.260940 -126.085265,49.260871 -126.082869,49.260775 -126.080475,49.260652 -126.078285,49.260514 -126.070502,49.262004 -126.066355,49.264556 -126.068877,49.266269 -126.078302,49.267431 -126.080936,49.272065 -126.078692,49.277656 -126.075247,49.281074 -126.077815,49.289803 -126.080081,49.302337 -126.084801,49.308838 -126.085316,49.316431 -126.081456,49.320734 -126.079293,49.328518 -126.083283,49.333423 -126.085123,49.340557 -126.056978,49.347739 -126.055847,49.341471 -126.046296,49.337384 -126.038542,49.333414 -126.030942,49.327541 -126.016251,49.323386 -126.006426,49.323832 -126.001802,49.325805 -125.997693,49.323529 -125.997133,49.301903 -126.004069,49.302088 -126.012123,49.302254 -126.010611,49.297600 -126.001283,49.293068 -125.998683,49.289162 -126.002469,49.282672 -126.007190,49.277336 -126.017525,49.278928 -126.021972,49.284413 -126.024907,49.285244 -126.028383,49.282558 -126.021741,49.266000 -126.017530,49.260804 -126.011791,49.256510 -126.005760,49.244181 -125.999324,49.237149 -125.998694,49.236771 -125.996955,49.235687 -125.995246,49.234585 -125.993567,49.233462 -125.991918,49.232321 -125.990300,49.231161 -125.988712,49.229983 -125.987157,49.228786 -125.985634,49.227572 -125.984143,49.226341 -125.982686,49.225093 -125.965375,49.218769 -125.945674,49.215581 -125.931847,49.214361 -125.926542,49.207786 -125.920373,49.197105 -125.913306,49.188338 -125.909964,49.184191 -125.910272,49.184125 -125.911117,49.183789 -125.914567,49.181837 -125.915097,49.181224 -125.915757,49.180462 -125.916287,49.180349 -125.919963,49.178390 -125.920443,49.178135 -125.922989,49.175046 -125.923548,49.171616 -125.922582,49.164312 -125.922581,49.164312 -125.922582,49.164311 -125.921177,49.153702 -125.921164,49.153672 -125.921169,49.153641 -125.919640,49.150277 -125.917236,49.148337 -125.917485,49.148045 -125.917871,49.131093 -125.920624,49.126935 -125.931594,49.123130 -125.955685,49.115168 -125.990644,49.107823 -125.997125,49.106261 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-124.740395,48.565042 -124.491490,48.780010</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-124.673539,48.761690 -124.670926,48.764741 -124.666746,48.766898 -124.664912,48.767233 -124.664244,48.767492 -124.661038,48.768244 -124.660377,48.768339 -124.659841,48.768391 -124.659660,48.768429 -124.659022,48.768498 -124.658783,48.768525 -124.658511,48.768566 -124.658098,48.768607 -124.656550,48.769406 -124.654951,48.769855 -124.654300,48.770007 -124.654075,48.770038 -124.654056,48.770047 -124.650960,48.770613 -124.649877,48.771810 -124.649701,48.771900 -124.649597,48.772017 -124.649135,48.772349 -124.649126,48.772354 -124.649121,48.772360 -124.648827,48.772570 -124.648545,48.772788 -124.648198,48.772968 -124.648001,48.773184 -124.647528,48.773508 -124.647251,48.773642 -124.646303,48.774250 -124.645776,48.774532 -124.643329,48.775577 -124.643190,48.775602 -124.643081,48.775657 -124.642465,48.775852 -124.642178,48.775902 -124.639869,48.776466 -124.639208,48.776574 -124.637123,48.776794 -124.633251,48.778789 -124.632945,48.778845 -124.632719,48.778956 -124.632104,48.779139 -124.627523,48.779905 -124.627057,48.779867 -124.626843,48.779906 -124.626720,48.779903 -124.626555,48.779929 -124.625875,48.779930 -124.625323,48.779871 -124.625011,48.779864 -124.624959,48.779865 -124.624301,48.779858 -124.624065,48.779856 -124.622792,48.780010 -124.617528,48.779579 -124.613427,48.778127 -124.612935,48.777872 -124.612735,48.777711 -124.612423,48.777594 -124.609783,48.775558 -124.609423,48.775177 -124.609053,48.774741 -124.609002,48.774700 -124.608677,48.774305 -124.608536,48.773986 -124.608243,48.773727 -124.607962,48.773317 -124.607961,48.773315 -124.607959,48.773313 -124.607809,48.773093 -124.607760,48.773030 -124.606512,48.771695 -124.605104,48.768334 -124.605054,48.767889 -124.605056,48.767880 -124.605052,48.767871 -124.605061,48.767013 -124.603852,48.765936 -124.603140,48.764648 -124.603040,48.764493 -124.602811,48.764068 -124.602799,48.764031 -124.602780,48.763996 -124.602626,48.763571 -124.602551,48.763251 -124.602394,48.762758 -124.602133,48.762194 -124.602049,48.761755 -124.602082,48.761526 -124.601975,48.761268 -124.601970,48.761094 -124.601126,48.760190 -124.601103,48.760135 -124.601052,48.760091 -124.600816,48.759770 -124.600573,48.759458 -124.600552,48.759408 -124.600503,48.759367 -124.600199,48.758965 -124.600167,48.758887 -124.598891,48.756165 -124.598798,48.755719 -124.598800,48.755710 -124.598464,48.754867 -124.597918,48.753600 -124.597859,48.753156 -124.597871,48.753083 -124.597841,48.753010 -124.598495,48.749531 -124.599111,48.748514 -124.599398,48.748114 -124.599726,48.747781 -124.599731,48.747746 -124.600354,48.745810 -124.601494,48.744482 -124.601705,48.743900 -124.601730,48.743745 -124.601922,48.743317 -124.602022,48.743196 -124.602050,48.743047 -124.602638,48.742070 -124.602766,48.741889 -124.602633,48.741645 -124.602470,48.741137 -124.602153,48.740547 -124.602006,48.740108 -124.601789,48.739127 -124.601748,48.739034 -124.601683,48.738587 -124.601701,48.738481 -124.601655,48.738371 -124.601630,48.737362 -124.601657,48.736913 -124.601728,48.736653 -124.601745,48.736186 -124.601827,48.735739 -124.601882,48.735577 -124.601891,48.735435 -124.601997,48.734990 -124.602133,48.734617 -124.602152,48.734443 -124.602298,48.734005 -124.602669,48.733114 -124.602822,48.732935 -124.602863,48.732753 -124.603103,48.732333 -124.603153,48.732278 -124.603395,48.731865 -124.603672,48.731453 -124.603762,48.731360 -124.603829,48.731090 -124.604338,48.729722 -124.604553,48.729472 -124.604570,48.729397 -124.604587,48.729308 -124.604593,48.729298 -124.604609,48.729229 -124.604858,48.728815 -124.605042,48.728614 -124.605080,48.728521 -124.605111,48.728483 -124.604751,48.727935 -124.604516,48.727518 -124.604432,48.727262 -124.604044,48.726804 -124.602636,48.723425 -124.602602,48.722629 -124.602613,48.722179 -124.602618,48.722159 -124.602616,48.722091 -124.602627,48.721804 -124.602626,48.721735 -124.602580,48.721625 -124.602605,48.720123 -124.602668,48.719679 -124.602943,48.718815 -124.597574,48.718169 -124.597574,48.718169 -124.592835,48.717600 -124.592824,48.717603 -124.592706,48.717626 -124.592604,48.717678 -124.587498,48.718609 -124.582241,48.718176 -124.577636,48.716444 -124.574383,48.713678 -124.572978,48.710299 -124.573045,48.709941 -124.572943,48.709654 -124.572942,48.708070 -124.572942,48.708070 -124.572942,48.708070 -124.572941,48.705990 -124.559692,48.705940 -124.555492,48.705482 -124.550890,48.703750 -124.547639,48.700983 -124.546237,48.697604 -124.546374,48.695532 -124.546482,48.695087 -124.546504,48.695029 -124.546466,48.694920 -124.546327,48.694299 -124.546253,48.694141 -124.546162,48.693698 -124.546173,48.693616 -124.546164,48.693575 -124.546193,48.693421 -124.546073,48.693132 -124.546154,48.691314 -124.546238,48.690893 -124.546814,48.689233 -124.547233,48.688650 -124.547225,48.688475 -124.547251,48.688356 -124.547248,48.687591 -124.547293,48.687143 -124.547321,48.687049 -124.547323,48.686893 -124.547376,48.686527 -124.547384,48.686452 -124.547386,48.686330 -124.547388,48.685917 -124.547406,48.685844 -124.547400,48.685566 -124.547429,48.685114 -124.547440,48.685074 -124.547439,48.684979 -124.547478,48.684526 -124.547582,48.684164 -124.547611,48.683681 -124.547712,48.683242 -124.548249,48.681764 -124.548674,48.681140 -124.548686,48.681094 -124.548683,48.680602 -124.548727,48.680153 -124.548756,48.680057 -124.548758,48.679895 -124.548822,48.679447 -124.548853,48.679230 -124.548867,48.679011 -124.549031,48.678419 -124.549515,48.676102 -124.549563,48.676046 -124.549576,48.675984 -124.549792,48.675572 -124.549880,48.675471 -124.550861,48.674026 -124.551203,48.673635 -124.551640,48.673228 -124.551814,48.672998 -124.552209,48.672623 -124.552585,48.672302 -124.552638,48.672237 -124.553055,48.671882 -124.553628,48.671571 -124.553641,48.671431 -124.553775,48.670991 -124.554201,48.669928 -124.554264,48.669854 -124.554281,48.669774 -124.554335,48.669672 -124.554341,48.669585 -124.554437,48.669193 -124.554527,48.668796 -124.554580,48.668648 -124.554588,48.668549 -124.554708,48.668103 -124.554932,48.667519 -124.554953,48.667372 -124.555126,48.666941 -124.555179,48.666874 -124.555189,48.666850 -124.555307,48.666713 -124.555362,48.666418 -124.555877,48.665546 -124.556151,48.665145 -124.557046,48.664219 -124.557302,48.663613 -124.557336,48.663573 -124.557345,48.663528 -124.557572,48.663091 -124.557607,48.663050 -124.558285,48.661969 -124.558593,48.661563 -124.560452,48.659724 -124.561226,48.659179 -124.561693,48.658876 -124.562793,48.658357 -124.563966,48.657690 -124.564535,48.657454 -124.565568,48.657069 -124.565588,48.657058 -124.566196,48.656853 -124.566382,48.656790 -124.566385,48.656789 -124.566786,48.656618 -124.566930,48.656564 -124.566970,48.656541 -124.567547,48.656303 -124.568135,48.656085 -124.568198,48.656052 -124.568792,48.655836 -124.569069,48.655782 -124.569315,48.655657 -124.569925,48.655458 -124.570256,48.655398 -124.570490,48.655284 -124.571114,48.655104 -124.571247,48.655082 -124.571892,48.654898 -124.572529,48.654744 -124.572803,48.654705 -124.573292,48.654577 -124.573474,48.654541 -124.573617,48.654392 -124.574814,48.653325 -124.575127,48.653163 -124.575305,48.652968 -124.575774,48.652646 -124.575990,48.652541 -124.576819,48.652000 -124.577340,48.651709 -124.577440,48.651666 -124.577555,48.651593 -124.578034,48.651337 -124.580457,48.650304 -124.581747,48.649930 -124.585658,48.648951 -124.589466,48.648395 -124.589689,48.648413 -124.589539,48.648286 -124.589311,48.647738 -124.588413,48.648202 -124.586594,48.648701 -124.585966,48.648838 -124.585383,48.648915 -124.584781,48.649059 -124.584116,48.649162 -124.583891,48.649185 -124.583773,48.649212 -124.583328,48.649273 -124.583160,48.649300 -124.582767,48.649374 -124.582214,48.649439 -124.581832,48.649527 -124.581170,48.649619 -124.580235,48.649706 -124.580055,48.649743 -124.579379,48.649798 -124.579082,48.649779 -124.578749,48.649840 -124.578067,48.649875 -124.577567,48.649834 -124.577330,48.649878 -124.577200,48.649874 -124.577022,48.649901 -124.576345,48.649901 -124.575598,48.649821 -124.574044,48.649770 -124.573382,48.649694 -124.571420,48.649368 -124.571252,48.649305 -124.571075,48.649289 -124.570429,48.649134 -124.570252,48.649065 -124.570087,48.649049 -124.569451,48.648883 -124.569000,48.648702 -124.567452,48.648232 -124.566874,48.648003 -124.564963,48.647087 -124.564073,48.646528 -124.563599,48.646203 -124.562857,48.645508 -124.561918,48.644787 -124.561713,48.644573 -124.560290,48.643548 -124.559894,48.643189 -124.559198,48.642433 -124.559022,48.642290 -124.558689,48.641897 -124.558584,48.641666 -124.558338,48.641454 -124.558036,48.641047 -124.557980,48.640910 -124.557867,48.640810 -124.557586,48.640400 -124.557518,48.640223 -124.556937,48.639251 -124.556742,48.638820 -124.556625,48.638394 -124.556618,48.638381 -124.556603,48.638384 -124.555934,48.638441 -124.555575,48.638418 -124.555170,48.638492 -124.554017,48.638499 -124.553964,48.638505 -124.553399,48.638632 -124.553351,48.638638 -124.553297,48.638696 -124.553090,48.638882 -124.553013,48.638985 -124.552632,48.639357 -124.551665,48.640192 -124.549459,48.641543 -124.548915,48.641809 -124.546947,48.642608 -124.545224,48.643085 -124.544580,48.643230 -124.542146,48.643555 -124.541617,48.643657 -124.540945,48.643703 -124.540744,48.643689 -124.540532,48.643727 -124.539378,48.643749 -124.538697,48.643743 -124.538653,48.643738 -124.538498,48.643741 -124.537896,48.643729 -124.537598,48.643726 -124.537525,48.643727 -124.537517,48.643736 -124.536275,48.644849 -124.535848,48.645133 -124.535484,48.645581 -124.535069,48.645930 -124.534835,48.646056 -124.534667,48.646253 -124.533675,48.646935 -124.533174,48.647245 -124.532963,48.647343 -124.532567,48.647599 -124.532044,48.647886 -124.531707,48.648032 -124.531406,48.648216 -124.530857,48.648482 -124.530606,48.648584 -124.530475,48.648661 -124.529913,48.648914 -124.529706,48.648995 -124.529630,48.649038 -124.529057,48.649283 -124.528481,48.649501 -124.528389,48.649550 -124.527800,48.649771 -124.527489,48.649833 -124.527196,48.649984 -124.524701,48.650617 -124.524047,48.650735 -124.523631,48.650782 -124.522199,48.651143 -124.521540,48.651261 -124.518984,48.651547 -124.516058,48.651475 -124.515391,48.651411 -124.513772,48.651156 -124.513511,48.651137 -124.512853,48.651008 -124.512647,48.650934 -124.512394,48.650912 -124.511750,48.650770 -124.511567,48.650700 -124.511375,48.650682 -124.510738,48.650527 -124.510612,48.650478 -124.510495,48.650466 -124.509862,48.650303 -124.509803,48.650280 -124.509410,48.650180 -124.508839,48.650017 -124.508813,48.650012 -124.508778,48.650000 -124.508724,48.649997 -124.508068,48.649880 -124.507424,48.649654 -124.506680,48.649579 -124.506042,48.649416 -124.502063,48.647828 -124.498910,48.645177 -124.498602,48.644783 -124.498575,48.644720 -124.498512,48.644666 -124.497459,48.642389 -124.497351,48.642321 -124.496892,48.642003 -124.495261,48.640468 -124.494737,48.640033 -124.494413,48.639632 -124.494227,48.639205 -124.493982,48.638996 -124.493932,48.638910 -124.493835,48.638821 -124.493576,48.638405 -124.493482,48.638140 -124.493063,48.637425 -124.492879,48.636992 -124.492824,48.636786 -124.492732,48.636617 -124.492575,48.636179 -124.492560,48.636111 -124.492537,48.636070 -124.492389,48.635631 -124.492372,48.635552 -124.492349,48.635510 -124.492213,48.635076 -124.492151,48.634882 -124.492069,48.634679 -124.492022,48.634493 -124.491948,48.634358 -124.491798,48.633923 -124.491490,48.632554 -124.491793,48.629926 -124.491944,48.629486 -124.492302,48.628638 -124.493179,48.627278 -124.493497,48.626879 -124.495237,48.625195 -124.495303,48.625161 -124.495343,48.625115 -124.495581,48.624937 -124.495667,48.624545 -124.495743,48.624333 -124.495755,48.624193 -124.495882,48.623744 -124.496347,48.622549 -124.496994,48.621492 -124.497278,48.621101 -124.499247,48.619115 -124.501116,48.618153 -124.501118,48.618146 -124.501136,48.617966 -124.501272,48.617522 -124.501695,48.616473 -124.501810,48.616338 -124.501840,48.616198 -124.502074,48.615778 -124.502512,48.615288 -124.503708,48.613718 -124.504101,48.613347 -124.504938,48.612638 -124.507868,48.610958 -124.508162,48.610833 -124.508263,48.610666 -124.508549,48.610259 -124.508636,48.610171 -124.508900,48.609541 -124.510369,48.607509 -124.510732,48.607136 -124.511514,48.606445 -124.511675,48.606269 -124.511993,48.605915 -124.512073,48.605842 -124.512116,48.605781 -124.512473,48.605398 -124.512711,48.605184 -124.512799,48.605066 -124.513179,48.604696 -124.514133,48.603875 -124.514240,48.603820 -124.514305,48.603746 -124.514762,48.603410 -124.514997,48.603291 -124.516857,48.602158 -124.517405,48.601894 -124.518545,48.601434 -124.518755,48.601320 -124.519069,48.601204 -124.519335,48.600406 -124.520119,48.599164 -124.520414,48.598780 -124.522244,48.596977 -124.523723,48.596007 -124.524252,48.595709 -124.525414,48.595200 -124.525978,48.594884 -124.526559,48.594650 -124.527524,48.594296 -124.527829,48.594241 -124.528055,48.594130 -124.528679,48.593944 -124.528957,48.593898 -124.530311,48.593541 -124.530958,48.593412 -124.531498,48.593346 -124.531937,48.593243 -124.532601,48.593146 -124.533201,48.593088 -124.533401,48.593045 -124.534074,48.592974 -124.534904,48.592911 -124.534956,48.592901 -124.535629,48.592860 -124.535762,48.592870 -124.535897,48.592846 -124.537436,48.592831 -124.537543,48.592834 -124.537830,48.592769 -124.538395,48.592694 -124.539034,48.592539 -124.539692,48.592435 -124.540288,48.592374 -124.540534,48.592321 -124.541203,48.592244 -124.541417,48.592227 -124.541472,48.592215 -124.542143,48.592148 -124.542672,48.592109 -124.542729,48.592097 -124.542972,48.592080 -124.543021,48.592054 -124.543071,48.592037 -124.543071,48.592037 -124.543071,48.592037 -124.543621,48.591847 -124.544143,48.591749 -124.544335,48.591656 -124.544433,48.591605 -124.544448,48.591601 -124.544532,48.591560 -124.544719,48.591507 -124.544754,48.591325 -124.546138,48.589379 -124.546501,48.588997 -124.547727,48.587898 -124.549051,48.587015 -124.549557,48.586722 -124.550092,48.586483 -124.550620,48.586165 -124.550913,48.586027 -124.551041,48.585960 -124.551419,48.585751 -124.551839,48.585568 -124.552199,48.585351 -124.552747,48.585090 -124.554568,48.584360 -124.554615,48.584352 -124.554652,48.584332 -124.555255,48.584136 -124.555294,48.584128 -124.556739,48.583721 -124.557381,48.583571 -124.557383,48.583571 -124.557388,48.583570 -124.557762,48.583482 -124.558068,48.583401 -124.558530,48.583275 -124.558610,48.583253 -124.559597,48.582327 -124.559713,48.582188 -124.560148,48.581839 -124.560550,48.581627 -124.560795,48.581356 -124.561266,48.581029 -124.561313,48.581006 -124.561564,48.580829 -124.562051,48.580511 -124.562351,48.580369 -124.563050,48.579922 -124.563578,48.579640 -124.564981,48.579041 -124.565363,48.578833 -124.565946,48.578612 -124.566619,48.578477 -124.567190,48.578197 -124.567812,48.578015 -124.567894,48.578001 -124.568358,48.577864 -124.568994,48.577700 -124.568998,48.577699 -124.569010,48.577696 -124.569642,48.577533 -124.569691,48.577526 -124.569829,48.577486 -124.570464,48.577330 -124.570504,48.577324 -124.570597,48.577297 -124.571235,48.577145 -124.571246,48.577144 -124.571270,48.577137 -124.571877,48.576994 -124.572240,48.576906 -124.572510,48.576432 -124.572774,48.576019 -124.572889,48.575896 -124.573144,48.575487 -124.573451,48.575084 -124.573526,48.575009 -124.573607,48.574883 -124.573928,48.574485 -124.573976,48.574439 -124.574017,48.574377 -124.574344,48.573984 -124.574436,48.573897 -124.574502,48.573800 -124.574844,48.573412 -124.574920,48.573341 -124.574965,48.573277 -124.575317,48.572892 -124.575379,48.572836 -124.575410,48.572793 -124.575769,48.572411 -124.575979,48.572223 -124.576055,48.572121 -124.576437,48.571749 -124.576536,48.571663 -124.576563,48.571628 -124.576708,48.571491 -124.576719,48.571474 -124.577234,48.570629 -124.579542,48.568124 -124.583707,48.565972 -124.588795,48.565042 -124.594032,48.565475 -124.594245,48.565555 -124.594468,48.565576 -124.604691,48.568085 -124.604691,48.568086 -124.604692,48.568086 -124.638777,48.576443 -124.647122,48.576415 -124.647122,48.576415 -124.647122,48.576415 -124.655046,48.576387 -124.655046,48.576387 -124.655835,48.576384 -124.655835,48.576384 -124.655835,48.576384 -124.657920,48.576377 -124.662237,48.576830 -124.666830,48.578557 -124.669628,48.580935 -124.679140,48.580901 -124.679140,48.580901 -124.679140,48.580901 -124.679452,48.580899 -124.683767,48.581352 -124.688362,48.583077 -124.691612,48.585838 -124.692792,48.588660 -124.701213,48.588577 -124.701285,48.588584 -124.701336,48.588576 -124.702707,48.588571 -124.707023,48.589022 -124.711620,48.590746 -124.713272,48.592148 -124.713761,48.592146 -124.718078,48.592597 -124.722675,48.594321 -124.725928,48.597080 -124.727342,48.600456 -124.727280,48.600795 -124.727380,48.601069 -124.727383,48.601377 -124.727383,48.601377 -124.727388,48.601932 -124.729603,48.603160 -124.729665,48.603212 -124.729755,48.603245 -124.733009,48.606005 -124.734424,48.609380 -124.734053,48.612241 -124.733980,48.612433 -124.733825,48.612631 -124.733783,48.612858 -124.733740,48.612909 -124.733716,48.613038 -124.733640,48.613192 -124.733635,48.613198 -124.733634,48.613204 -124.733206,48.613952 -124.733065,48.614170 -124.732878,48.614368 -124.732893,48.614404 -124.732913,48.614601 -124.732910,48.614619 -124.732915,48.614631 -124.732921,48.614811 -124.732908,48.614866 -124.732911,48.615310 -124.732917,48.615486 -124.732912,48.615508 -124.732912,48.615543 -124.735623,48.616558 -124.738879,48.619318 -124.740295,48.622693 -124.740222,48.623086 -124.740332,48.623394 -124.740310,48.627821 -124.740346,48.627909 -124.740382,48.628358 -124.740372,48.628409 -124.740395,48.629092 -124.740376,48.629541 -124.740340,48.629679 -124.740339,48.630000 -124.740295,48.630363 -124.740273,48.630602 -124.740257,48.630936 -124.740183,48.631214 -124.740165,48.631733 -124.740083,48.632177 -124.739504,48.633898 -124.739294,48.634144 -124.739291,48.634159 -124.739265,48.634300 -124.739256,48.634310 -124.739240,48.634382 -124.739001,48.634785 -124.736984,48.637000 -124.736732,48.637299 -124.736287,48.637646 -124.736140,48.637723 -124.736049,48.637827 -124.735707,48.638081 -124.735382,48.638335 -124.735343,48.638355 -124.735319,48.638383 -124.734929,48.638684 -124.734780,48.638801 -124.734770,48.638810 -124.734552,48.639021 -124.733649,48.639798 -124.733444,48.639905 -124.733324,48.640040 -124.732865,48.640369 -124.732769,48.640416 -124.732126,48.640858 -124.731962,48.640959 -124.731950,48.640968 -124.731925,48.640982 -124.731857,48.641024 -124.731600,48.641196 -124.731429,48.641279 -124.731308,48.641421 -124.731258,48.641455 -124.731193,48.641526 -124.730719,48.641846 -124.730550,48.641928 -124.729972,48.642315 -124.729461,48.642612 -124.729291,48.642688 -124.729066,48.642833 -124.728626,48.643069 -124.728185,48.643315 -124.727685,48.643533 -124.727282,48.643776 -124.726727,48.644035 -124.725020,48.644715 -124.724596,48.644793 -124.724410,48.644889 -124.724382,48.644896 -124.724290,48.644941 -124.723691,48.645112 -124.723491,48.645462 -124.723468,48.645487 -124.723996,48.646292 -124.724158,48.646582 -124.724956,48.649018 -124.724314,48.652496 -124.721712,48.655546 -124.721320,48.655770 -124.721340,48.656092 -124.721339,48.656099 -124.721341,48.656105 -124.721367,48.656554 -124.721354,48.656620 -124.722503,48.657488 -124.722868,48.657857 -124.723226,48.658267 -124.723516,48.658420 -124.723569,48.658439 -124.724097,48.658721 -124.724379,48.658952 -124.724764,48.659102 -124.725268,48.659409 -124.725334,48.659467 -124.725411,48.659497 -124.725914,48.659813 -124.725969,48.659862 -124.726383,48.660122 -124.726858,48.660451 -124.727080,48.660658 -124.727654,48.661053 -124.728070,48.661397 -124.729587,48.662961 -124.730449,48.664383 -124.730636,48.664788 -124.731191,48.666743 -124.731213,48.667834 -124.731210,48.667883 -124.731212,48.667915 -124.731205,48.667949 -124.731192,48.668138 -124.731226,48.668229 -124.731232,48.668576 -124.731310,48.669002 -124.731325,48.670193 -124.731286,48.670643 -124.730629,48.672930 -124.728026,48.675981 -124.727974,48.676008 -124.727942,48.676044 -124.727499,48.676379 -124.727425,48.676417 -124.727229,48.676544 -124.727175,48.676709 -124.727105,48.676978 -124.727102,48.676984 -124.727102,48.676987 -124.726985,48.677431 -124.726941,48.677548 -124.726966,48.677731 -124.726963,48.677752 -124.726972,48.677773 -124.727031,48.678221 -124.726974,48.678543 -124.727080,48.678823 -124.727093,48.679273 -124.727078,48.679339 -124.727091,48.679691 -124.727073,48.680140 -124.727047,48.680238 -124.727049,48.680485 -124.727005,48.680939 -124.726862,48.681427 -124.726823,48.681930 -124.726706,48.682368 -124.726235,48.683603 -124.723631,48.686654 -124.723261,48.686845 -124.723150,48.686975 -124.723072,48.687022 -124.722985,48.687117 -124.722504,48.687438 -124.721933,48.687713 -124.720783,48.688410 -124.720235,48.688671 -124.718456,48.689385 -124.718448,48.689389 -124.718128,48.689496 -124.718038,48.689530 -124.717675,48.689678 -124.716654,48.690057 -124.714772,48.690572 -124.714127,48.690712 -124.710907,48.691135 -124.709209,48.691148 -124.708702,48.691131 -124.708611,48.691207 -124.708610,48.691212 -124.708027,48.692944 -124.705421,48.695995 -124.704458,48.696662 -124.704069,48.696905 -124.700861,48.698396 -124.695759,48.699332 -124.695480,48.699310 -124.694365,48.700441 -124.691997,48.701874 -124.691476,48.702122 -124.689671,48.702846 -124.686438,48.703439 -124.686371,48.703470 -124.684759,48.704103 -124.683602,48.704315 -124.682967,48.705234 -124.682620,48.705618 -124.682549,48.705683 -124.682512,48.705735 -124.682156,48.706115 -124.682056,48.706205 -124.681660,48.706747 -124.681278,48.707129 -124.680236,48.708040 -124.679979,48.708199 -124.679845,48.708921 -124.677418,48.711758 -124.677370,48.711961 -124.677258,48.712620 -124.677058,48.713054 -124.676985,48.713142 -124.676966,48.713247 -124.676574,48.713835 -124.677013,48.714884 -124.676561,48.717935 -124.676481,48.718128 -124.677162,48.718383 -124.680422,48.721145 -124.681521,48.723771 -124.681613,48.723843 -124.681957,48.724231 -124.681993,48.724308 -124.681993,48.724309 -124.682096,48.724392 -124.682428,48.724785 -124.682497,48.724936 -124.682666,48.725079 -124.682975,48.725479 -124.682987,48.725506 -124.683013,48.725529 -124.683886,48.726975 -124.684083,48.727406 -124.684437,48.728669 -124.684571,48.728965 -124.684650,48.729414 -124.684623,48.729592 -124.684704,48.729786 -124.684364,48.732552 -124.684207,48.732984 -124.683900,48.733697 -124.683154,48.734893 -124.682850,48.735298 -124.681801,48.736340 -124.681460,48.736765 -124.681047,48.737120 -124.680576,48.737378 -124.680247,48.737746 -124.679881,48.738008 -124.679798,48.738069 -124.679633,48.738208 -124.679554,48.738251 -124.679524,48.738274 -124.679400,48.738337 -124.679237,48.738526 -124.677924,48.739404 -124.677414,48.739701 -124.677216,48.739789 -124.676687,48.741908 -124.676554,48.742065 -124.676519,48.742226 -124.676285,48.742642 -124.675590,48.743419 -124.676031,48.744135 -124.676236,48.744562 -124.676833,48.746613 -124.676185,48.750092 -124.676060,48.750238 -124.676027,48.750390 -124.675817,48.750767 -124.675433,48.751198 -124.676690,48.754200 -124.676043,48.757679 -124.674974,48.759124 -124.674962,48.759143 -124.674850,48.759329 -124.674813,48.759369 -124.674691,48.759582 -124.674687,48.759587 -124.674673,48.759663 -124.673811,48.761010 -124.673659,48.761201 -124.673539,48.761690 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-126.491296,49.400414 -126.307805,49.563262</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-126.428767,49.563262 -126.423386,49.562929 -126.421743,49.562533 -126.390210,49.553416 -126.389880,49.553284 -126.389328,49.553136 -126.369726,49.546342 -126.367911,49.545556 -126.367705,49.545487 -126.336686,49.529684 -126.336594,49.529612 -126.336460,49.529566 -126.333026,49.526852 -126.331979,49.525213 -126.321946,49.503723 -126.313037,49.492906 -126.311596,49.490177 -126.309710,49.483042 -126.309737,49.482749 -126.309578,49.482408 -126.310099,49.478910 -126.312415,49.475988 -126.316481,49.472576 -126.317989,49.470042 -126.318314,49.467830 -126.315726,49.464685 -126.315596,49.464407 -126.315363,49.464212 -126.309081,49.455366 -126.307872,49.452478 -126.307805,49.451449 -126.307940,49.445557 -126.308527,49.443088 -126.311061,49.439987 -126.313150,49.438643 -126.320828,49.434658 -126.322899,49.433769 -126.325758,49.433022 -126.338458,49.430738 -126.338875,49.427922 -126.340110,49.426050 -126.344218,49.421363 -126.345514,49.420133 -126.345936,49.419907 -126.346161,49.419653 -126.355677,49.413071 -126.356580,49.412619 -126.357884,49.411835 -126.364205,49.408991 -126.378197,49.402163 -126.379927,49.401442 -126.385075,49.400414 -126.390435,49.400749 -126.390961,49.400932 -126.391437,49.400974 -126.398978,49.402874 -126.402732,49.404298 -126.406160,49.407008 -126.407738,49.410367 -126.407701,49.410619 -126.407791,49.410832 -126.408798,49.424127 -126.408755,49.424361 -126.408768,49.425314 -126.407041,49.438919 -126.406505,49.440766 -126.405470,49.442407 -126.392084,49.458802 -126.391383,49.459489 -126.391184,49.459756 -126.390078,49.460779 -126.397273,49.462536 -126.397435,49.462596 -126.398116,49.462762 -126.413881,49.467403 -126.423804,49.468770 -126.435412,49.466733 -126.437606,49.466469 -126.440466,49.466473 -126.460573,49.467862 -126.463081,49.468190 -126.467304,49.469561 -126.482186,49.476686 -126.482400,49.476846 -126.482730,49.476959 -126.486169,49.479667 -126.487692,49.482686 -126.491232,49.499006 -126.491213,49.499171 -126.491296,49.499346 -126.490790,49.502845 -126.484026,49.517584 -126.483868,49.517779 -126.483833,49.517973 -126.474803,49.534808 -126.474609,49.535033 -126.473962,49.536061 -126.457596,49.556117 -126.456102,49.557581 -126.451937,49.559822 -126.448156,49.560716 -126.430153,49.563124 -126.428767,49.563262 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-127.406599,49.865156 -127.165660,50.003147</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-127.235516,49.973619 -127.232526,49.964802 -127.225956,49.960728 -127.222834,49.958880 -127.218608,49.953967 -127.215294,49.949222 -127.216606,49.937384 -127.212969,49.932262 -127.204974,49.929194 -127.197108,49.928056 -127.190617,49.920496 -127.186929,49.909958 -127.182388,49.904666 -127.176220,49.901933 -127.171033,49.895885 -127.165660,49.886941 -127.171060,49.882538 -127.181589,49.878770 -127.186592,49.877472 -127.203354,49.872950 -127.221409,49.869936 -127.234461,49.868219 -127.267769,49.865156 -127.303937,49.868964 -127.304521,49.868754 -127.339154,49.880523 -127.374145,49.897107 -127.384701,49.906664 -127.395141,49.918738 -127.402011,49.931111 -127.406599,49.940843 -127.403019,49.957976 -127.392481,49.978604 -127.382423,49.989156 -127.368315,49.997697 -127.354258,50.002750 -127.333869,50.003147 -127.322855,50.000174 -127.310918,49.988131 -127.304596,49.983474 -127.302054,49.981418 -127.295346,49.979868 -127.285908,49.982264 -127.282978,49.983315 -127.272887,49.984955 -127.256152,49.986006 -127.249445,49.984453 -127.239746,49.978532 -127.235516,49.973619 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-127.829799,49.999490 -127.422741,50.178077</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-127.445701,49.999490 -127.783258,50.000022 -127.829799,50.062542 -127.820294,50.082723 -127.816991,50.084981 -127.812785,50.082673 -127.805535,50.082336 -127.799026,50.083716 -127.786319,50.090337 -127.778695,50.096594 -127.767383,50.105684 -127.757766,50.109682 -127.752068,50.113743 -127.741330,50.122618 -127.733132,50.125598 -127.727123,50.125795 -127.719357,50.126630 -127.715486,50.131017 -127.709119,50.134323 -127.702012,50.135909 -127.703998,50.138169 -127.699793,50.142179 -127.693933,50.144305 -127.690823,50.146924 -127.689216,50.149493 -127.683941,50.151407 -127.675733,50.154383 -127.669163,50.151302 -127.663781,50.155735 -127.665660,50.160516 -127.663615,50.165230 -127.659372,50.172726 -127.655565,50.178077 -127.621359,50.164640 -127.624731,50.161434 -127.634727,50.146399 -127.634793,50.139425 -127.631160,50.135280 -127.626463,50.129039 -127.622684,50.122962 -127.615098,50.122234 -127.601981,50.124003 -127.591941,50.126642 -127.581202,50.132013 -127.571784,50.130952 -127.559545,50.128428 -127.548328,50.131486 -127.542028,50.127808 -127.531420,50.114775 -127.524395,50.109376 -127.517843,50.106285 -127.513853,50.105246 -127.505944,50.104132 -127.501652,50.107167 -127.498373,50.115786 -127.493821,50.119409 -127.480466,50.126203 -127.465841,50.115609 -127.477269,50.103067 -127.477221,50.094162 -127.470910,50.086028 -127.461999,50.079328 -127.446550,50.069531 -127.437199,50.064971 -127.437646,50.062829 -127.438938,50.059886 -127.434984,50.050907 -127.429413,50.044492 -127.422741,50.039464 -127.445701,49.999490 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-128.148104,50.020947 -127.727056,50.346784</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-127.800243,50.116985 -127.800113,50.115410 -127.800025,50.113834 -127.799980,50.112257 -127.799980,50.111723 -127.813448,50.095265 -127.817255,50.091079 -127.822972,50.081837 -127.843068,50.047006 -127.855364,50.039666 -127.862562,50.036659 -127.863075,50.035926 -127.864777,50.035211 -127.866850,50.034373 -127.868946,50.033559 -127.871064,50.032768 -127.873202,50.032001 -127.875361,50.031258 -127.877540,50.030539 -127.879737,50.029845 -127.881954,50.029176 -127.884187,50.028531 -127.886438,50.027912 -127.888706,50.027318 -127.890989,50.026750 -127.893286,50.026207 -127.895599,50.025691 -127.897924,50.025200 -127.900263,50.024735 -127.902614,50.024297 -127.904976,50.023885 -127.907349,50.023500 -127.909733,50.023142 -127.912125,50.022810 -127.914526,50.022505 -127.916935,50.022227 -127.919351,50.021977 -127.921773,50.021753 -127.924201,50.021556 -127.926634,50.021387 -127.929071,50.021245 -127.931512,50.021131 -127.933955,50.021044 -127.936401,50.020984 -127.938847,50.020952 -127.941294,50.020947 -127.943741,50.020970 -127.946187,50.021020 -127.948631,50.021098 -127.951073,50.021203 -127.953511,50.021335 -127.955946,50.021495 -127.958376,50.021682 -127.960800,50.021896 -127.963218,50.022138 -127.965630,50.022406 -127.968034,50.022702 -127.970429,50.023024 -127.972815,50.023374 -127.975192,50.023750 -127.977558,50.024152 -127.979913,50.024581 -127.982256,50.025037 -127.984586,50.025518 -127.986903,50.026026 -127.989206,50.026560 -127.991494,50.027119 -127.993767,50.027704 -127.996024,50.028315 -127.998264,50.028950 -128.000486,50.029611 -128.002690,50.030297 -128.004875,50.031007 -128.007041,50.031741 -128.009187,50.032500 -128.011312,50.033283 -128.013415,50.034089 -128.015496,50.034919 -128.017555,50.035773 -128.019590,50.036649 -128.021602,50.037548 -128.023588,50.038469 -128.025550,50.039412 -128.027486,50.040378 -128.029395,50.041365 -128.031277,50.042373 -128.033132,50.043402 -128.034959,50.044452 -128.036758,50.045522 -128.038527,50.046612 -128.040266,50.047722 -128.041975,50.048851 -128.043653,50.049999 -128.045300,50.051166 -128.046916,50.052351 -128.048499,50.053554 -128.050049,50.054775 -128.051566,50.056013 -128.053049,50.057268 -128.054498,50.058539 -128.055913,50.059826 -128.057292,50.061129 -128.058636,50.062448 -128.059945,50.063781 -128.061217,50.065128 -128.062452,50.066490 -128.063650,50.067866 -128.064811,50.069254 -128.065934,50.070656 -128.067019,50.072070 -128.068066,50.073495 -128.069074,50.074933 -128.070042,50.076381 -128.070972,50.077840 -128.071862,50.079310 -128.072711,50.080789 -128.073521,50.082277 -128.074290,50.083774 -128.075019,50.085280 -128.075706,50.086794 -128.076353,50.088315 -128.076958,50.089843 -128.077522,50.091378 -128.078044,50.092919 -128.078524,50.094465 -128.078962,50.096017 -128.079359,50.097573 -128.079712,50.099134 -128.080024,50.100698 -128.080293,50.102266 -128.080519,50.103836 -128.080703,50.105409 -128.080844,50.106983 -128.080942,50.108559 -128.080998,50.110136 -128.081011,50.111713 -128.080981,50.113290 -128.080908,50.114866 -128.080792,50.116442 -128.080634,50.118016 -128.080433,50.119587 -128.080189,50.121157 -128.079903,50.122723 -128.079574,50.124286 -128.079203,50.125845 -128.078790,50.127400 -128.078334,50.128950 -128.077836,50.130494 -128.077345,50.131896 -128.077345,50.131896 -128.086003,50.139040 -128.095620,50.148957 -128.109680,50.164718 -128.127438,50.184605 -128.137441,50.205358 -128.146544,50.229439 -128.148104,50.246824 -128.141708,50.263146 -128.125823,50.271482 -128.083147,50.291645 -128.079044,50.293150 -128.013018,50.323815 -127.977116,50.339426 -127.972003,50.336311 -127.968318,50.332175 -127.965304,50.328792 -127.955330,50.325458 -127.946861,50.325559 -127.947701,50.324755 -127.943590,50.326254 -127.936712,50.327269 -127.930838,50.329411 -127.925640,50.328815 -127.919349,50.329614 -127.917071,50.334926 -127.906321,50.340336 -127.891291,50.345310 -127.878368,50.346527 -127.870816,50.346784 -127.867141,50.342645 -127.870187,50.335564 -127.869104,50.333469 -127.859085,50.322181 -127.856001,50.317828 -127.848136,50.314218 -127.841940,50.312489 -127.817058,50.293172 -127.824600,50.292919 -127.831395,50.290947 -127.844063,50.286837 -127.850603,50.285453 -127.849125,50.278527 -127.841855,50.274704 -127.827828,50.265876 -127.814884,50.259142 -127.802278,50.252782 -127.795095,50.249922 -127.787072,50.247864 -127.776115,50.246872 -127.770831,50.248790 -127.764627,50.250545 -127.759674,50.252840 -127.727056,50.237830 -127.735863,50.234636 -127.735734,50.229216 -127.745790,50.226561 -127.750285,50.229901 -127.746330,50.233324 -127.740358,50.237976 -127.756441,50.235123 -127.754880,50.230718 -127.763861,50.225966 -127.769574,50.221902 -127.777534,50.219508 -127.789911,50.219484 -127.794369,50.214879 -127.787292,50.209497 -127.789326,50.204780 -127.784908,50.202409 -127.779495,50.198908 -127.793567,50.193791 -127.804354,50.192849 -127.810529,50.194579 -127.819924,50.187677 -127.828082,50.176749 -127.833285,50.169773 -127.833285,50.169773 -127.832182,50.168931 -127.830634,50.167706 -127.829120,50.166464 -127.827639,50.165206 -127.826193,50.163931 -127.824783,50.162640 -127.823407,50.161333 -127.822067,50.160011 -127.820764,50.158674 -127.819497,50.157323 -127.818267,50.155958 -127.817074,50.154579 -127.815919,50.153187 -127.814803,50.151783 -127.813724,50.150366 -127.812685,50.148937 -127.811684,50.147496 -127.810723,50.146045 -127.809801,50.144583 -127.808919,50.143111 -127.808078,50.141630 -127.807276,50.140139 -127.806516,50.138639 -127.805796,50.137131 -127.805118,50.135615 -127.804481,50.134092 -127.803885,50.132562 -127.803331,50.131026 -127.802819,50.129483 -127.802349,50.127935 -127.801921,50.126382 -127.801535,50.124824 -127.801191,50.123263 -127.800890,50.121697 -127.800632,50.120129 -127.800416,50.118558 -127.800243,50.116985 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-127.742944,50.236572 -127.639950,50.290531</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-127.703964,50.288402 -127.698511,50.289547 -127.692961,50.290161 -127.686543,50.290531 -127.679825,50.290312 -127.675365,50.289695 -127.670183,50.288502 -127.664979,50.287039 -127.660343,50.285231 -127.656037,50.283303 -127.650760,50.279776 -127.646401,50.276056 -127.643156,50.271378 -127.641860,50.269089 -127.641029,50.268468 -127.640172,50.266794 -127.640185,50.266687 -127.640142,50.266596 -127.639950,50.264994 -127.640189,50.263434 -127.641431,50.261862 -127.642823,50.261000 -127.644659,50.260141 -127.646442,50.259137 -127.647043,50.258747 -127.648028,50.257503 -127.648766,50.256760 -127.649537,50.256224 -127.651482,50.255076 -127.652556,50.254575 -127.653288,50.253618 -127.655067,50.252083 -127.655133,50.252045 -127.655176,50.251991 -127.657260,50.250843 -127.659462,50.250047 -127.662460,50.248569 -127.663293,50.248216 -127.663764,50.248086 -127.664289,50.246639 -127.664352,50.246554 -127.664365,50.246449 -127.665605,50.244877 -127.666954,50.244034 -127.668915,50.243102 -127.669270,50.242954 -127.669332,50.242918 -127.671762,50.241927 -127.671927,50.241889 -127.672080,50.241805 -127.674690,50.241255 -127.676669,50.241281 -127.678867,50.241510 -127.679636,50.241196 -127.680000,50.241112 -127.680299,50.240957 -127.682746,50.240183 -127.685010,50.239749 -127.687750,50.239882 -127.690202,50.240676 -127.690746,50.241057 -127.692647,50.241064 -127.694498,50.241229 -127.695270,50.241413 -127.697276,50.240822 -127.699394,50.240055 -127.702004,50.239505 -127.703121,50.239474 -127.705430,50.239530 -127.707052,50.239692 -127.707879,50.239876 -127.709472,50.240302 -127.711097,50.240912 -127.712054,50.241625 -127.712692,50.241229 -127.714550,50.239460 -127.714718,50.239360 -127.714843,50.239201 -127.716926,50.238051 -127.720220,50.236857 -127.721515,50.236572 -127.733280,50.240856 -127.733390,50.241151 -127.733190,50.242871 -127.733814,50.242739 -127.736554,50.242870 -127.737220,50.243012 -127.738503,50.243332 -127.740291,50.243983 -127.742084,50.245318 -127.742944,50.246992 -127.742740,50.248749 -127.741816,50.250004 -127.741996,50.249893 -127.741959,50.249932 -127.741908,50.250379 -127.741671,50.253391 -127.740898,50.255670 -127.739564,50.259081 -127.735989,50.263232 -127.733120,50.265914 -127.732280,50.266653 -127.732328,50.266242 -127.732216,50.266385 -127.730156,50.268092 -127.729936,50.269133 -127.729743,50.269736 -127.728504,50.271309 -127.726421,50.272459 -127.725956,50.272627 -127.725437,50.273134 -127.723353,50.274284 -127.723239,50.274308 -127.723153,50.274354 -127.722611,50.274535 -127.721848,50.275505 -127.720420,50.276385 -127.719985,50.276586 -127.718291,50.278163 -127.718144,50.278249 -127.718038,50.278384 -127.715954,50.279533 -127.715228,50.279686 -127.715032,50.279900 -127.714839,50.280007 -127.714685,50.281328 -127.714599,50.281437 -127.714582,50.281544 -127.713716,50.283214 -127.713536,50.283428 -127.713127,50.284051 -127.711211,50.286173 -127.710662,50.286692 -127.708577,50.287842 -127.705965,50.288393 -127.704846,50.288423 -127.703964,50.288402 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-127.891360,51.236005 -127.717666,51.402344</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-127.763248,51.365570 -127.766281,51.363588 -127.772990,51.365138 -127.781394,51.362158 -127.786473,51.357638 -127.786912,51.353857 -127.784465,51.353818 -127.780398,51.354656 -127.778171,51.352727 -127.778914,51.350349 -127.781849,51.347193 -127.779696,51.341613 -127.775815,51.337854 -127.771156,51.333768 -127.769150,51.329948 -127.766001,51.325930 -127.760635,51.326927 -127.755730,51.328969 -127.751300,51.329935 -127.749013,51.329538 -127.748615,51.326961 -127.752074,51.323319 -127.749436,51.320932 -127.744166,51.323102 -127.743786,51.325351 -127.743455,51.328186 -127.743901,51.331350 -127.739423,51.331729 -127.731672,51.331153 -127.729290,51.329581 -127.725732,51.325104 -127.721000,51.324666 -127.717666,51.325243 -127.718731,51.315205 -127.723112,51.306710 -127.728554,51.295120 -127.735057,51.287380 -127.746467,51.268538 -127.768104,51.248777 -127.798435,51.239200 -127.813353,51.236005 -127.847041,51.237600 -127.855809,51.239310 -127.874886,51.247618 -127.880580,51.252841 -127.888182,51.262825 -127.891360,51.275900 -127.888354,51.289065 -127.886840,51.306536 -127.881126,51.334272 -127.870341,51.351113 -127.857738,51.364363 -127.841208,51.380215 -127.814156,51.391935 -127.787356,51.402344 -127.772290,51.402243 -127.766699,51.396066 -127.761392,51.386466 -127.760793,51.374595 -127.763248,51.365570 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-127.986991,50.427122 -127.946049,50.459512</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-127.954319,50.457275 -127.951074,50.454803 -127.949328,50.451457 -127.949720,50.447939 -127.950032,50.447469 -127.950070,50.447122 -127.951185,50.445699 -127.950087,50.443596 -127.949403,50.443093 -127.948512,50.441502 -127.947794,50.440967 -127.946049,50.437621 -127.946441,50.434104 -127.948323,50.431470 -127.948401,50.431396 -127.948701,50.431217 -127.948910,50.430950 -127.948945,50.430931 -127.948988,50.430876 -127.953159,50.428565 -127.958395,50.427450 -127.962342,50.427629 -127.964722,50.427122 -127.967734,50.427258 -127.968234,50.427253 -127.968994,50.427298 -127.969239,50.427326 -127.970229,50.427371 -127.970683,50.427494 -127.971422,50.427580 -127.976361,50.429156 -127.979979,50.431819 -127.981727,50.435164 -127.981338,50.438682 -127.981234,50.438815 -127.981251,50.438821 -127.984871,50.441484 -127.986597,50.444719 -127.986679,50.445095 -127.986830,50.445578 -127.986814,50.445871 -127.986991,50.446211 -127.986603,50.449728 -127.985855,50.450684 -127.985849,50.450738 -127.985809,50.450795 -127.985756,50.451278 -127.983288,50.454433 -127.982049,50.455120 -127.981401,50.455948 -127.977229,50.458260 -127.975112,50.458889 -127.974755,50.458973 -127.971632,50.459460 -127.966819,50.459243 -127.965556,50.459512 -127.960046,50.459262 -127.955104,50.457685 -127.954937,50.457562 -127.954730,50.457493 -127.954319,50.457275 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-129.573342,52.343168 -129.106515,52.787296</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-129.337378,52.727117 -129.338349,52.719796 -129.341976,52.708522 -129.337885,52.701053 -129.327045,52.695045 -129.248400,52.645054 -129.188090,52.573527 -129.186338,52.538396 -129.168203,52.518166 -129.134010,52.499799 -129.110662,52.477500 -129.106515,52.453199 -129.106584,52.443250 -129.123285,52.415346 -129.139706,52.390513 -129.183127,52.361783 -129.225714,52.347225 -129.255821,52.343168 -129.269424,52.347132 -129.299244,52.366027 -129.465744,52.543794 -129.565477,52.662669 -129.573342,52.693694 -129.563592,52.720216 -129.548237,52.737815 -129.531185,52.757026 -129.503707,52.769073 -129.472826,52.779358 -129.434677,52.787296 -129.406409,52.783647 -129.368488,52.763588 -129.358594,52.750260 -129.337378,52.727117 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-128.424580,52.699755 -127.825549,52.936292</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-128.424580,52.791626 -128.422781,52.823087 -128.416325,52.825354 -128.409868,52.827621 -128.404569,52.834706 -128.389066,52.840144 -128.383966,52.839321 -128.372539,52.845416 -128.365397,52.844262 -128.364991,52.840226 -128.369379,52.833987 -128.375738,52.830714 -128.380259,52.829129 -128.382978,52.822951 -128.380633,52.819595 -128.369860,52.815539 -128.356507,52.812386 -128.346586,52.810119 -128.337787,52.809024 -128.334801,52.805894 -128.328112,52.802493 -128.314149,52.803206 -128.293053,52.802758 -128.273721,52.803255 -128.255036,52.803523 -128.232139,52.812037 -128.218226,52.823671 -128.212795,52.829736 -128.222792,52.829381 -128.228084,52.832230 -128.233573,52.837098 -128.228221,52.840529 -128.218417,52.842903 -128.202318,52.845904 -128.188255,52.849235 -128.164131,52.862841 -128.165385,52.875961 -128.157648,52.889598 -128.148692,52.901050 -128.141762,52.909190 -128.140126,52.920184 -128.139415,52.930337 -128.138405,52.933815 -128.128104,52.934780 -128.118633,52.933891 -128.118891,52.925983 -128.115619,52.916171 -128.106707,52.914048 -128.087966,52.914286 -128.073309,52.915191 -128.063664,52.919570 -128.054851,52.922097 -128.044180,52.922661 -128.035922,52.923952 -128.028499,52.930683 -128.020702,52.933376 -128.012254,52.936292 -128.005199,52.936123 -128.003066,52.931131 -128.010956,52.929449 -128.018382,52.926365 -128.022929,52.921149 -128.026455,52.915765 -128.027289,52.910269 -128.020517,52.905839 -128.013839,52.902417 -128.015230,52.899333 -128.020702,52.896922 -128.026730,52.896921 -128.035078,52.900286 -128.043427,52.903649 -128.046210,52.904770 -128.055762,52.903029 -128.073467,52.895338 -128.082550,52.892193 -128.091820,52.891065 -128.096550,52.891511 -128.105733,52.893018 -128.110100,52.896716 -128.116586,52.894467 -128.117320,52.891606 -128.112487,52.886507 -128.109141,52.882977 -128.105052,52.878662 -128.105044,52.875017 -128.109211,52.873051 -128.114673,52.870635 -128.123937,52.869505 -128.127655,52.873427 -128.127941,52.876454 -128.130449,52.878190 -128.133690,52.877065 -128.133488,52.871402 -128.134210,52.864896 -128.131693,52.859516 -128.134443,52.849700 -128.137490,52.846556 -128.131736,52.842301 -128.123478,52.836310 -128.117355,52.831662 -128.119289,52.827342 -128.121221,52.823023 -128.119080,52.818035 -128.114902,52.812713 -128.117853,52.808561 -128.125046,52.799808 -128.125217,52.794537 -128.125929,52.784389 -128.123504,52.776375 -128.125865,52.776280 -128.124787,52.772281 -128.114443,52.775879 -128.102338,52.778524 -128.085421,52.779713 -128.075525,52.777420 -128.062762,52.772997 -128.052869,52.770702 -128.040019,52.765267 -128.030776,52.762746 -128.019409,52.762522 -128.009152,52.759830 -128.004254,52.761007 -128.007116,52.766782 -128.009054,52.777041 -128.007388,52.784385 -127.999341,52.787691 -127.991574,52.786736 -127.987879,52.782811 -127.984465,52.774625 -127.979203,52.768120 -127.971268,52.757857 -127.957598,52.754262 -127.940883,52.750159 -127.924163,52.749696 -127.914085,52.752657 -127.893556,52.758184 -127.878496,52.757660 -127.860405,52.752981 -127.843525,52.746844 -127.825549,52.739525 -127.826408,52.734033 -127.836838,52.735117 -127.865615,52.743908 -127.880656,52.748077 -127.888057,52.745004 -127.909874,52.739031 -127.925403,52.733665 -127.941658,52.732726 -127.951987,52.740076 -127.970088,52.741096 -127.992901,52.742562 -128.009249,52.742621 -128.030587,52.746153 -128.048603,52.749793 -128.061913,52.756628 -128.072819,52.759090 -128.089640,52.760537 -128.101740,52.757894 -128.112261,52.752672 -128.116310,52.746054 -128.137744,52.746929 -128.167120,52.747116 -128.167780,52.750535 -128.161801,52.757830 -128.160164,52.765176 -128.158060,52.771122 -128.158017,52.774984 -128.160754,52.774874 -128.158662,52.784463 -128.156307,52.798314 -128.152188,52.811215 -128.150835,52.821589 -128.149757,52.831346 -128.149686,52.837627 -128.154409,52.838069 -128.175189,52.824584 -128.196665,52.804590 -128.208559,52.796272 -128.212242,52.792901 -128.213065,52.791049 -128.211206,52.789091 -128.204257,52.786300 -128.200540,52.782382 -128.199231,52.779189 -128.203462,52.774584 -128.207886,52.771998 -128.221292,52.772533 -128.234621,52.775703 -128.241297,52.779109 -128.245663,52.782799 -128.251750,52.780151 -128.258132,52.780529 -128.267097,52.780004 -128.272710,52.775954 -128.278347,52.775548 -128.283536,52.777386 -128.290117,52.779780 -128.303500,52.776661 -128.322646,52.777785 -128.330520,52.779724 -128.330319,52.777706 -128.327478,52.769306 -128.326918,52.756974 -128.326488,52.749295 -128.322505,52.736077 -128.313640,52.724051 -128.304064,52.714884 -128.298557,52.706379 -128.298059,52.701336 -128.302569,52.699755 -128.311170,52.702478 -128.319156,52.709069 -128.325513,52.719364 -128.335367,52.727912 -128.344511,52.739319 -128.352783,52.745291 -128.359938,52.750089 -128.361835,52.755689 -128.355450,52.765240 -128.352085,52.771641 -128.355032,52.781050 -128.365928,52.789761 -128.370783,52.794847 -128.379036,52.797174 -128.385218,52.795527 -128.396935,52.792458 -128.397816,52.787969 -128.392958,52.782885 -128.384028,52.777142 -128.369805,52.768557 -128.366174,52.765653 -128.366787,52.761783 -128.374184,52.762319 -128.382058,52.764254 -128.394107,52.767856 -128.403037,52.773598 -128.407419,52.777282 -128.417773,52.777300 -128.423512,52.777895 -128.424580,52.791626 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-131.059957,52.010724 -130.844131,52.126319</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-131.059957,52.037897 -131.059116,52.040232 -131.045794,52.051475 -131.036183,52.057917 -131.025240,52.058867 -130.996684,52.062705 -130.989526,52.064171 -130.987272,52.070397 -130.979057,52.072943 -130.968881,52.073585 -130.962492,52.074747 -130.957574,52.077338 -130.953635,52.080880 -130.945907,52.083900 -130.945680,52.089997 -130.946793,52.094236 -130.954921,52.101077 -130.957581,52.104712 -130.955244,52.112970 -130.943283,52.120311 -130.903916,52.126319 -130.886297,52.121838 -130.867987,52.115623 -130.854079,52.101024 -130.844131,52.082885 -130.852225,52.064392 -130.868858,52.047904 -130.898988,52.036148 -130.954415,52.018486 -130.972158,52.011539 -130.981058,52.010724 -130.997794,52.017521 -131.010262,52.023320 -131.034298,52.031930 -131.059957,52.037897 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-131.142795,52.210673 -130.970987,52.311669</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-131.028353,52.215335 -131.040013,52.212073 -131.041164,52.211864 -131.049398,52.210673 -131.078255,52.211064 -131.079710,52.211420 -131.079799,52.211421 -131.080755,52.211602 -131.081762,52.211615 -131.083927,52.212200 -131.091096,52.213553 -131.092799,52.213968 -131.103135,52.217389 -131.108187,52.218752 -131.118441,52.224069 -131.119272,52.224586 -131.127865,52.231200 -131.130887,52.233134 -131.135603,52.238412 -131.136002,52.238939 -131.136158,52.239140 -131.138991,52.244577 -131.141094,52.247568 -131.141222,52.247879 -131.141246,52.248902 -131.142194,52.250721 -131.142191,52.250826 -131.142322,52.251032 -131.142144,52.256251 -131.142795,52.263190 -131.142727,52.263879 -131.141738,52.268220 -131.141720,52.268762 -131.141565,52.268978 -131.141123,52.270921 -131.129501,52.287160 -131.123252,52.290834 -131.122439,52.291968 -131.122102,52.292166 -131.121917,52.292420 -131.121398,52.292864 -131.101033,52.304683 -131.094031,52.306353 -131.084225,52.309219 -131.083254,52.309418 -131.077289,52.310345 -131.074066,52.311113 -131.073908,52.311118 -131.073095,52.311312 -131.069202,52.311260 -131.055535,52.311669 -131.055123,52.311650 -131.047630,52.310967 -131.044164,52.310919 -131.037836,52.309210 -131.029425,52.309094 -131.022937,52.308017 -131.022322,52.307897 -131.002337,52.301814 -130.982363,52.288985 -130.971926,52.272445 -130.971932,52.272289 -130.971888,52.272220 -130.971952,52.270570 -130.971206,52.269252 -130.971169,52.269026 -130.971516,52.265422 -130.970987,52.260548 -130.971040,52.259747 -130.972763,52.251652 -130.984440,52.235432 -130.986268,52.234184 -130.986513,52.233843 -130.987735,52.233126 -130.987825,52.233031 -130.988747,52.232491 -130.996290,52.227339 -130.997107,52.226900 -131.002543,52.224402 -131.008710,52.220785 -131.015507,52.219167 -131.017720,52.217868 -131.028353,52.215335 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-131.322250,52.285866 -131.084886,52.435623</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-131.296334,52.350884 -131.296469,52.349750 -131.298344,52.349013 -131.296739,52.347482 -131.287746,52.348584 -131.280250,52.347747 -131.274872,52.348509 -131.270230,52.348711 -131.270078,52.346880 -131.267312,52.346345 -131.265725,52.347778 -131.262976,52.350208 -131.268267,52.348942 -131.268820,52.351156 -131.265357,52.353326 -131.267162,52.355049 -131.267892,52.358274 -131.266505,52.359899 -131.262977,52.360744 -131.264132,52.363532 -131.260508,52.367656 -131.252976,52.371422 -131.248372,52.373768 -131.250738,52.373920 -131.256883,52.371780 -131.273164,52.368362 -131.280669,52.365415 -131.286540,52.365541 -131.287207,52.367441 -131.285909,52.369572 -131.284009,52.371129 -131.285615,52.372660 -131.284742,52.374354 -131.280274,52.375568 -131.279401,52.377262 -131.281207,52.378985 -131.286230,52.379985 -131.292481,52.381314 -131.286402,52.384782 -131.279607,52.387989 -131.271897,52.390745 -131.262243,52.392911 -131.255044,52.395734 -131.242272,52.402091 -131.228155,52.408432 -131.220387,52.412824 -131.204758,52.421100 -131.191656,52.427574 -131.181886,52.433013 -131.173132,52.435623 -131.157798,52.434053 -131.141851,52.425974 -131.135251,52.422613 -131.125597,52.418015 -131.118313,52.413571 -131.116599,52.412351 -131.107658,52.405047 -131.097663,52.395458 -131.087841,52.383915 -131.086234,52.373484 -131.084886,52.364571 -131.088867,52.356546 -131.094353,52.346584 -131.103964,52.336359 -131.115367,52.327858 -131.137433,52.317342 -131.141272,52.316379 -131.160685,52.317686 -131.170448,52.318180 -131.173784,52.320112 -131.177607,52.322933 -131.179006,52.324274 -131.183947,52.320989 -131.191163,52.317351 -131.195852,52.315514 -131.203565,52.315729 -131.209365,52.314534 -131.214278,52.312067 -131.217140,52.309325 -131.220489,52.307470 -131.219376,52.306827 -131.216439,52.305280 -131.216626,52.302506 -131.217038,52.299105 -131.216475,52.293926 -131.219936,52.291758 -131.225483,52.292011 -131.230619,52.295664 -131.239758,52.303146 -131.243457,52.303314 -131.247517,52.301719 -131.253162,52.298691 -131.253034,52.296040 -131.254443,52.293596 -131.252843,52.292065 -131.252603,52.289728 -131.256933,52.285866 -131.265705,52.288359 -131.273430,52.291534 -131.281534,52.295910 -131.292066,52.301763 -131.301129,52.308735 -131.307189,52.312836 -131.316346,52.320312 -131.321894,52.328128 -131.322250,52.330150 -131.319305,52.332390 -131.317944,52.333196 -131.315288,52.336133 -131.312944,52.338947 -131.310287,52.341884 -131.310774,52.346558 -131.311196,52.349905 -131.309788,52.352351 -131.305548,52.352937 -131.302067,52.352143 -131.296334,52.350884 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-130.567593,54.247536 -130.341000,54.510244</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-130.508371,54.340808 -130.508698,54.341270 -130.509202,54.342022 -130.509744,54.343238 -130.510120,54.345171 -130.509961,54.346697 -130.509176,54.348484 -130.508609,54.350025 -130.508318,54.351841 -130.508546,54.353923 -130.508943,54.356046 -130.509664,54.357397 -130.510676,54.359165 -130.511967,54.360495 -130.514495,54.361921 -130.517345,54.363288 -130.520153,54.364276 -130.522849,54.364984 -130.525768,54.365493 -130.529191,54.366126 -130.533252,54.366972 -130.536779,54.367791 -130.540147,54.368663 -130.543624,54.369768 -130.546041,54.370913 -130.549027,54.372750 -130.552099,54.374630 -130.554714,54.376813 -130.557090,54.379052 -130.559783,54.381564 -130.561723,54.384294 -130.563409,54.388411 -130.564639,54.392118 -130.566340,54.397471 -130.566917,54.400442 -130.567312,54.403990 -130.567420,54.405696 -130.567593,54.411296 -130.567365,54.415865 -130.567010,54.419299 -130.566040,54.426034 -130.564990,54.430586 -130.563261,54.436399 -130.562346,54.439949 -130.560800,54.444472 -130.558925,54.449721 -130.556681,54.454603 -130.554668,54.458621 -130.552740,54.461923 -130.549038,54.467974 -130.546764,54.471636 -130.543983,54.475398 -130.540782,54.479080 -130.537315,54.482582 -130.533082,54.486587 -130.528985,54.489969 -130.523413,54.494119 -130.517399,54.497619 -130.512271,54.500231 -130.508504,54.501796 -130.506881,54.502710 -130.503174,54.504082 -130.499489,54.505643 -130.494336,54.507306 -130.489463,54.508530 -130.483568,54.509411 -130.477396,54.510018 -130.473809,54.510244 -130.465469,54.510169 -130.459040,54.509929 -130.453301,54.509236 -130.446547,54.508180 -130.441778,54.507345 -130.440921,54.507213 -130.441289,54.506516 -130.440932,54.504713 -130.442107,54.504322 -130.442898,54.503090 -130.444632,54.503213 -130.445112,54.502821 -130.444854,54.501198 -130.445939,54.499567 -130.443843,54.497929 -130.440257,54.498250 -130.439401,54.497622 -130.440474,54.496953 -130.442398,54.497245 -130.443564,54.496583 -130.442139,54.495558 -130.442145,54.494885 -130.444703,54.492094 -130.444708,54.491357 -130.444151,54.490456 -130.440044,54.487800 -130.436967,54.486371 -130.435078,54.484003 -130.434435,54.481926 -130.432544,54.479943 -130.428913,54.477622 -130.428337,54.477063 -130.428764,54.475566 -130.429066,54.474475 -130.428575,54.474139 -130.426274,54.474068 -130.423942,54.474508 -130.419766,54.475564 -130.419398,54.475658 -130.416703,54.474917 -130.415069,54.474963 -130.414482,54.475410 -130.414569,54.476138 -130.416094,54.477386 -130.417335,54.477561 -130.417716,54.478348 -130.415467,54.479803 -130.414296,54.480302 -130.413248,54.480350 -130.412855,54.480121 -130.413254,54.479172 -130.411058,54.478146 -130.410498,54.477129 -130.410239,54.475441 -130.409387,54.473978 -130.409321,54.472513 -130.409853,54.469595 -130.410618,54.469434 -130.411568,54.470114 -130.412348,54.469890 -130.413920,54.468496 -130.413740,54.467761 -130.411811,54.467307 -130.411043,54.467416 -130.409865,54.468588 -130.409093,54.468579 -130.407578,54.466718 -130.406436,54.466265 -130.405468,54.466375 -130.404295,54.467260 -130.403673,54.469397 -130.402988,54.470574 -130.401918,54.471296 -130.400939,54.471568 -130.399986,54.471229 -130.398337,54.471275 -130.394652,54.473169 -130.394464,54.472659 -130.396021,54.471265 -130.399334,54.469312 -130.400797,54.468316 -130.401494,54.467023 -130.400648,54.466232 -130.401436,54.465334 -130.401266,54.463987 -130.400589,54.463591 -130.397324,54.462838 -130.396470,54.462219 -130.396201,54.461151 -130.395241,54.460579 -130.393990,54.460521 -130.389921,54.461116 -130.388065,54.463241 -130.388525,54.464080 -130.389970,54.464369 -130.390822,54.465393 -130.391966,54.465902 -130.391962,54.466692 -130.393296,54.467369 -130.393282,54.467873 -130.392210,54.468541 -130.391054,54.468591 -130.389167,54.466168 -130.387348,54.465316 -130.385417,54.465698 -130.384830,54.466145 -130.384593,54.468279 -130.383829,54.468494 -130.382688,54.467590 -130.382604,54.466468 -130.384370,54.464398 -130.384402,54.462600 -130.384984,54.462494 -130.386138,54.462832 -130.386817,54.462392 -130.387742,54.459641 -130.388890,54.459367 -130.388902,54.458809 -130.385653,54.457157 -130.389628,54.455665 -130.388393,54.455148 -130.387450,54.453289 -130.387662,54.452227 -130.388816,54.452626 -130.391193,54.454495 -130.393121,54.454950 -130.399211,54.453918 -130.402007,54.453597 -130.405597,54.452604 -130.409749,54.451782 -130.414000,54.451580 -130.415936,54.450918 -130.419120,54.451106 -130.422502,54.449888 -130.425788,54.449455 -130.426646,54.450190 -130.429149,54.450314 -130.429709,54.451331 -130.433281,54.451127 -130.432965,54.452695 -130.434000,54.454948 -130.437278,54.454739 -130.437952,54.455027 -130.438504,54.456270 -130.441013,54.456563 -130.442256,54.457240 -130.443404,54.457415 -130.447937,54.457775 -130.448415,54.457778 -130.449871,54.457499 -130.452104,54.455657 -130.452126,54.454983 -130.454172,54.452640 -130.455735,54.451471 -130.459819,54.449633 -130.460588,54.449578 -130.462010,54.450936 -130.463070,54.450833 -130.464053,54.450273 -130.465422,54.448477 -130.465462,54.446122 -130.465762,54.445453 -130.465685,54.444160 -130.465051,54.441516 -130.466114,54.440622 -130.471634,54.439746 -130.473071,54.439809 -130.474090,54.442457 -130.476288,54.444381 -130.477820,54.444946 -130.478303,54.444671 -130.478893,54.443495 -130.481340,54.440805 -130.483186,54.439803 -130.483504,54.437947 -130.485468,54.435990 -130.485971,54.433692 -130.488898,54.431068 -130.489216,54.430057 -130.487298,54.428588 -130.485217,54.426492 -130.485030,54.425992 -130.486098,54.425268 -130.485914,54.424866 -130.481519,54.422269 -130.480662,54.421138 -130.479827,54.419333 -130.477927,54.417082 -130.477754,54.415726 -130.478352,54.414775 -130.479222,54.414109 -130.482416,54.412946 -130.484670,54.410483 -130.485173,54.409074 -130.487415,54.407572 -130.487395,54.407456 -130.486962,54.404872 -130.487559,54.404317 -130.488908,54.404543 -130.490149,54.404384 -130.490347,54.403878 -130.489496,54.402918 -130.488885,54.402656 -130.488854,54.402647 -130.486242,54.401556 -130.484836,54.399748 -130.484643,54.399076 -130.484465,54.398845 -130.480264,54.395966 -130.479412,54.395006 -130.479344,54.393093 -130.478776,54.392749 -130.476566,54.392515 -130.475128,54.391499 -130.474690,54.388745 -130.475289,54.387399 -130.478313,54.384997 -130.479186,54.383594 -130.477113,54.381166 -130.476354,54.379764 -130.476391,54.377345 -130.474394,54.376210 -130.475167,54.375428 -130.475937,54.375437 -130.476618,54.375940 -130.480561,54.375568 -130.482186,54.375800 -130.484020,54.375417 -130.484421,54.374577 -130.482902,54.373446 -130.481394,54.370911 -130.481896,54.369898 -130.483846,54.368049 -130.487340,54.366326 -130.487547,54.364417 -130.487274,54.364080 -130.486314,54.363912 -130.483142,54.363896 -130.479561,54.365334 -130.478121,54.365100 -130.473612,54.363393 -130.473245,54.362606 -130.470571,54.361417 -130.469427,54.360397 -130.464646,54.358855 -130.464078,54.358009 -130.462095,54.355471 -130.462034,54.353332 -130.461853,54.352553 -130.460444,54.350125 -130.459317,54.348718 -130.461052,54.348608 -130.461243,54.348390 -130.460501,54.346978 -130.460882,54.346866 -130.462223,54.347380 -130.465397,54.347512 -130.465317,54.346551 -130.465230,54.345824 -130.466007,54.345213 -130.465625,54.344418 -130.464579,54.344412 -130.460517,54.345684 -130.456285,54.345213 -130.456106,54.344937 -130.459880,54.343328 -130.460743,54.343389 -130.461700,54.343899 -130.462566,54.343619 -130.462104,54.342717 -130.463282,54.340365 -130.463384,54.339797 -130.462846,54.338061 -130.460846,54.336754 -130.460400,54.336751 -130.457954,54.336744 -130.453824,54.336498 -130.450067,54.336866 -130.445736,54.337467 -130.442965,54.336547 -130.441719,54.336544 -130.441327,54.336764 -130.441777,54.338620 -130.440029,54.339683 -130.438393,54.339954 -130.436839,54.340845 -130.433084,54.341671 -130.431715,54.342559 -130.431891,54.343627 -130.433981,54.345328 -130.433585,54.346330 -130.431374,54.346042 -130.428674,54.346254 -130.426964,54.345734 -130.423015,54.345880 -130.422638,54.345660 -130.422545,54.345203 -130.426784,54.344110 -130.427279,54.343718 -130.426724,54.342367 -130.427038,54.340341 -130.426568,54.340059 -130.425598,54.340052 -130.424335,54.341343 -130.423179,54.341276 -130.422323,54.340540 -130.421163,54.340815 -130.420771,54.341933 -130.421716,54.342561 -130.423250,54.342911 -130.423045,54.343633 -130.422370,54.343686 -130.421034,54.343288 -130.419208,54.343444 -130.417683,54.342932 -130.417300,54.342541 -130.417713,54.340685 -130.416849,54.340173 -130.413016,54.339652 -130.412357,54.339255 -130.412543,54.338857 -130.416482,54.339333 -130.417752,54.338662 -130.418345,54.337594 -130.422472,54.337285 -130.422676,54.336949 -130.417906,54.334678 -130.414830,54.334660 -130.414064,54.334318 -130.414456,54.333640 -130.417354,54.333381 -130.418135,54.332824 -130.418144,54.332203 -130.417194,54.331415 -130.416930,54.329557 -130.414536,54.329262 -130.414020,54.330778 -130.413452,54.330829 -130.411066,54.329859 -130.408576,54.329457 -130.408576,54.329008 -130.410324,54.328394 -130.409276,54.326986 -130.410071,54.325476 -130.409801,54.324796 -130.409234,54.324398 -130.407502,54.324113 -130.406848,54.322979 -130.404647,54.322915 -130.402260,54.321441 -130.401758,54.322507 -130.402711,54.323404 -130.402219,54.324309 -130.404119,54.325491 -130.405046,54.327413 -130.404630,54.329656 -130.404038,54.330328 -130.403160,54.330716 -130.401529,54.330707 -130.397707,54.329116 -130.395900,54.328427 -130.393978,54.328413 -130.392245,54.329027 -130.391923,54.330873 -130.391015,54.333571 -130.390131,54.334291 -130.389253,54.334688 -130.385598,54.334891 -130.385012,54.335275 -130.384330,54.336506 -130.383543,54.336902 -130.381828,54.336660 -130.382702,54.335653 -130.381470,54.335146 -130.382047,54.334474 -130.384947,54.333811 -130.385340,54.333142 -130.384614,54.331226 -130.383947,54.330156 -130.383703,54.327462 -130.383036,54.327290 -130.381399,54.327506 -130.380450,54.327212 -130.378904,54.327427 -130.378133,54.327822 -130.375205,54.329941 -130.375184,54.331622 -130.372836,54.333635 -130.371970,54.333906 -130.371501,54.332778 -130.372114,54.330875 -130.374065,54.329424 -130.376104,54.327864 -130.378453,54.325410 -130.378006,54.323995 -130.377034,54.323934 -130.375587,54.324319 -130.375305,54.324152 -130.375909,54.322455 -130.376021,54.322130 -130.374498,54.320718 -130.373546,54.320325 -130.372393,54.320311 -130.371715,54.320705 -130.370736,54.321822 -130.370040,54.322153 -130.368891,54.322705 -130.366930,54.325280 -130.364990,54.326111 -130.364589,54.327015 -130.362492,54.331029 -130.362103,54.331824 -130.362476,54.332395 -130.363147,54.332226 -130.364694,54.332514 -130.365552,54.332415 -130.366628,54.331908 -130.367297,54.332143 -130.367753,54.333379 -130.367062,54.333881 -130.366401,54.333879 -130.365445,54.333369 -130.364185,54.333859 -130.363772,54.335320 -130.364255,54.335494 -130.365607,54.334993 -130.366183,54.335221 -130.364804,54.336737 -130.364882,54.338192 -130.364094,54.339029 -130.362551,54.338857 -130.361295,54.339464 -130.359883,54.338168 -130.361937,54.335646 -130.362163,54.333630 -130.361597,54.333286 -130.359392,54.333105 -130.360667,54.331652 -130.360892,54.330076 -130.359194,54.327543 -130.359616,54.325911 -130.359452,54.323720 -130.358985,54.323545 -130.357528,54.324605 -130.356576,54.324157 -130.355702,54.324257 -130.354723,54.324869 -130.353450,54.326385 -130.349657,54.328890 -130.348364,54.331188 -130.345842,54.332627 -130.345541,54.333304 -130.346304,54.334042 -130.347932,54.333988 -130.348390,54.335286 -130.349155,54.335628 -130.353018,54.334749 -130.354172,54.334763 -130.352976,54.336772 -130.351987,54.338508 -130.354298,54.338636 -130.354479,54.338975 -130.353016,54.339863 -130.353110,54.340375 -130.355606,54.340499 -130.355987,54.340837 -130.355789,54.341396 -130.354136,54.342116 -130.352567,54.343967 -130.351781,54.344407 -130.350922,54.344462 -130.350360,54.343785 -130.350874,54.342098 -130.350598,54.340690 -130.349483,54.339058 -130.350762,54.336814 -130.350492,54.336539 -130.349430,54.336533 -130.346920,54.336911 -130.344841,54.334930 -130.342829,54.335024 -130.342538,54.334579 -130.343350,54.332619 -130.342781,54.331654 -130.341772,54.329638 -130.341250,54.327335 -130.341000,54.324968 -130.341485,54.322521 -130.342796,54.319990 -130.344314,54.318532 -130.346080,54.316795 -130.347211,54.315189 -130.347920,54.313991 -130.348633,54.311953 -130.349673,54.308622 -130.350747,54.305614 -130.351836,54.303897 -130.353694,54.301494 -130.354002,54.300592 -130.354071,54.296609 -130.354343,54.295977 -130.355571,54.293132 -130.357065,54.290445 -130.357275,54.289373 -130.357995,54.286966 -130.359280,54.284443 -130.359994,54.282368 -130.361589,54.279006 -130.361634,54.276651 -130.360991,54.274842 -130.359286,54.272983 -130.358078,54.271289 -130.355841,54.267224 -130.354345,54.265138 -130.353321,54.263396 -130.351629,54.260962 -130.351471,54.260462 -130.351419,54.259972 -130.351641,54.258595 -130.352387,54.255915 -130.353447,54.254122 -130.355633,54.251861 -130.358170,54.250144 -130.360354,54.249252 -130.362861,54.248649 -130.369167,54.247823 -130.372369,54.247536 -130.374355,54.247550 -130.376285,54.247738 -130.377863,54.248066 -130.378853,54.248365 -130.379762,54.248716 -130.380427,54.249337 -130.382145,54.250234 -130.382395,54.250366 -130.384129,54.251272 -130.384686,54.252335 -130.384563,54.253217 -130.384459,54.253794 -130.384371,54.254362 -130.384436,54.254469 -130.384778,54.255040 -130.385119,54.255602 -130.386826,54.256625 -130.387006,54.256955 -130.387287,54.257528 -130.387566,54.258091 -130.387717,54.258466 -130.387921,54.259039 -130.388124,54.259604 -130.389215,54.260571 -130.389848,54.261138 -130.390481,54.261697 -130.390317,54.262292 -130.390137,54.262870 -130.389972,54.263438 -130.389963,54.264544 -130.389952,54.265119 -130.389940,54.265686 -130.390189,54.266240 -130.390439,54.266812 -130.390673,54.267376 -130.390964,54.267813 -130.391336,54.268384 -130.391708,54.268946 -130.392081,54.269517 -130.392453,54.270079 -130.391493,54.269856 -130.390905,54.269234 -130.390348,54.268665 -130.389807,54.268105 -130.388368,54.267339 -130.387368,54.266812 -130.386382,54.266284 -130.386398,54.266265 -130.386486,54.265689 -130.386558,54.265122 -130.386632,54.264546 -130.386704,54.263979 -130.386711,54.263251 -130.386249,54.262295 -130.385237,54.261443 -130.384558,54.260876 -130.383879,54.260317 -130.383139,54.259301 -130.382818,54.258406 -130.382599,54.257833 -130.382396,54.257269 -130.381182,54.256303 -130.380457,54.255737 -130.379747,54.255178 -130.379507,54.254893 -130.379012,54.254324 -130.378533,54.253763 -130.377875,54.253816 -130.376895,54.253899 -130.375931,54.253973 -130.375843,54.254108 -130.375448,54.254688 -130.375052,54.255259 -130.373478,54.256383 -130.372652,54.256967 -130.371842,54.257543 -130.370211,54.257426 -130.369575,54.256741 -130.369049,54.256172 -130.368525,54.255612 -130.367465,54.255606 -130.366915,54.255684 -130.365937,54.255830 -130.364974,54.255966 -130.363996,54.256113 -130.363034,54.256258 -130.362647,54.256595 -130.362853,54.256818 -130.363364,54.257387 -130.363873,54.257948 -130.364097,54.258224 -130.364546,54.258794 -130.364979,54.259355 -130.365412,54.259926 -130.365846,54.260487 -130.366208,54.261220 -130.366206,54.261651 -130.366195,54.262227 -130.366183,54.262793 -130.365881,54.263893 -130.365716,54.264470 -130.365566,54.265038 -130.365557,54.266162 -130.366124,54.266587 -130.366313,54.266729 -130.367502,54.266922 -130.368490,54.267090 -130.369463,54.267250 -130.369950,54.267595 -130.369966,54.267622 -130.370185,54.268195 -130.370388,54.268758 -130.370606,54.269331 -130.370810,54.269896 -130.371028,54.270468 -130.371231,54.271032 -130.371308,54.271966 -130.371342,54.272541 -130.371376,54.273107 -130.373003,54.273510 -130.373290,54.273849 -130.373266,54.274029 -130.373162,54.274605 -130.373073,54.275172 -130.372970,54.275749 -130.372865,54.276317 -130.372768,54.276605 -130.372556,54.277183 -130.372360,54.277751 -130.372149,54.278329 -130.371953,54.278898 -130.372045,54.279346 -130.372563,54.279664 -130.372609,54.279690 -130.374341,54.279589 -130.374589,54.279613 -130.375574,54.279719 -130.376546,54.279825 -130.377345,54.279825 -130.378328,54.279832 -130.379296,54.279838 -130.380279,54.279845 -130.381247,54.279852 -130.381323,54.279842 -130.382304,54.279741 -130.383268,54.279640 -130.384989,54.280600 -130.385135,54.280823 -130.385477,54.281394 -130.385819,54.281957 -130.385708,54.282803 -130.384254,54.283863 -130.383003,54.284128 -130.382880,54.284121 -130.381897,54.284114 -130.380929,54.284116 -130.379946,54.284109 -130.378978,54.284112 -130.378901,54.284112 -130.377922,54.284222 -130.376957,54.284323 -130.376927,54.284333 -130.376019,54.284748 -130.375005,54.285218 -130.374037,54.285660 -130.373084,54.286103 -130.371905,54.287158 -130.372086,54.288001 -130.372563,54.288454 -130.373475,54.288615 -130.374464,54.288801 -130.375438,54.288979 -130.375424,54.289482 -130.374339,54.290600 -130.375011,54.291393 -130.375349,54.291398 -130.376334,54.291431 -130.377302,54.291456 -130.378185,54.291176 -130.379158,54.290878 -130.380116,54.290579 -130.380212,54.289796 -130.379151,54.289314 -130.378154,54.288867 -130.377171,54.288428 -130.377559,54.288092 -130.379005,54.287689 -130.379979,54.287417 -130.380938,54.287154 -130.381343,54.286862 -130.382123,54.286278 -130.382887,54.285703 -130.383559,54.285596 -130.384284,54.286118 -130.385056,54.286684 -130.385827,54.287242 -130.386053,54.287572 -130.386425,54.288143 -130.386782,54.288705 -130.387155,54.289276 -130.387512,54.289838 -130.387887,54.290508 -130.388063,54.291621 -130.388160,54.292194 -130.388240,54.292760 -130.388512,54.293548 -130.387241,54.294120 -130.386272,54.294553 -130.385319,54.294987 -130.385475,54.295542 -130.385617,54.296116 -130.385760,54.296681 -130.386434,54.297077 -130.386601,54.297048 -130.387581,54.296929 -130.388545,54.296810 -130.389405,54.297259 -130.389404,54.297654 -130.388523,54.297988 -130.387985,54.297976 -130.387001,54.297969 -130.386033,54.297972 -130.385860,54.298279 -130.385494,54.298859 -130.385145,54.299429 -130.384376,54.299420 -130.383321,54.299584 -130.383500,54.300320 -130.383531,54.300328 -130.384525,54.300641 -130.385503,54.300944 -130.385519,54.300953 -130.386276,54.301519 -130.387017,54.302077 -130.387124,54.302516 -130.387251,54.303090 -130.387377,54.303655 -130.387462,54.303905 -130.387635,54.304479 -130.387793,54.305043 -130.387966,54.305616 -130.388138,54.306181 -130.388311,54.306754 -130.388469,54.307318 -130.388845,54.307988 -130.389610,54.308330 -130.389856,54.308327 -130.390839,54.308334 -130.391808,54.308340 -130.392990,54.307392 -130.393651,54.307403 -130.393643,54.307609 -130.393585,54.308185 -130.393544,54.308752 -130.394442,54.308948 -130.395433,54.309170 -130.396408,54.309384 -130.397085,54.309843 -130.397888,54.310410 -130.398691,54.310966 -130.398926,54.311108 -130.399822,54.311672 -130.400717,54.312228 -130.401612,54.312793 -130.402492,54.313349 -130.403734,54.313694 -130.403995,54.313682 -130.405085,54.313643 -130.406235,54.313144 -130.406398,54.312953 -130.406870,54.312372 -130.407327,54.311801 -130.407314,54.311387 -130.407278,54.310812 -130.407244,54.310246 -130.407209,54.309672 -130.407174,54.309106 -130.407280,54.308152 -130.408350,54.307537 -130.409411,54.307543 -130.409580,54.308449 -130.410255,54.308845 -130.410054,54.309288 -130.408703,54.309789 -130.408690,54.310293 -130.409926,54.310917 -130.409960,54.311006 -130.410164,54.311579 -130.410367,54.312143 -130.410572,54.312716 -130.410760,54.313280 -130.410791,54.313297 -130.411733,54.313862 -130.412659,54.314417 -130.412916,54.314747 -130.413351,54.315317 -130.413785,54.315878 -130.414220,54.316448 -130.414639,54.317009 -130.415137,54.317210 -130.416136,54.317630 -130.417119,54.318041 -130.417214,54.318148 -130.417680,54.318718 -130.418145,54.319278 -130.419682,54.320132 -130.419272,54.321197 -130.418771,54.321383 -130.417800,54.321754 -130.416844,54.322116 -130.415872,54.322487 -130.414916,54.322857 -130.414523,54.323923 -130.415385,54.324434 -130.417111,54.324504 -130.417203,54.324520 -130.418194,54.324716 -130.419170,54.324911 -130.420161,54.325115 -130.421136,54.325310 -130.421383,54.325334 -130.422371,54.325440 -130.423344,54.325544 -130.424108,54.325886 -130.424125,54.325931 -130.424299,54.326504 -130.424473,54.327068 -130.424957,54.327296 -130.425957,54.327779 -130.426944,54.328261 -130.427655,54.328837 -130.428352,54.329405 -130.429032,54.329963 -130.429125,54.329979 -130.430084,54.330130 -130.431985,54.329972 -130.432966,54.329889 -130.433933,54.329814 -130.434551,54.329008 -130.434992,54.328427 -130.435418,54.327856 -130.436383,54.327305 -130.437060,54.327306 -130.437331,54.328039 -130.438583,54.328213 -130.438958,54.328829 -130.438746,54.328912 -130.437776,54.329320 -130.436820,54.329718 -130.436093,54.330463 -130.435529,54.331045 -130.434965,54.331618 -130.435628,54.332131 -130.437028,54.331234 -130.437930,54.330648 -130.438833,54.330071 -130.439781,54.329925 -130.440760,54.329778 -130.441723,54.329632 -130.441739,54.329623 -130.442708,54.329206 -130.443663,54.328800 -130.444628,54.328689 -130.445032,54.328819 -130.446028,54.329158 -130.447009,54.329487 -130.447401,54.329267 -130.447427,54.329123 -130.447483,54.328547 -130.447525,54.327981 -130.446183,54.327413 -130.446380,54.327329 -130.447351,54.326949 -130.448306,54.326578 -130.448225,54.326013 -130.448224,54.326004 -130.447512,54.325437 -130.446801,54.324879 -130.446902,54.324267 -130.448762,54.323363 -130.449730,54.322894 -130.450682,54.322433 -130.452521,54.321377 -130.453391,54.320755 -130.453604,54.319809 -130.455242,54.319196 -130.455588,54.318967 -130.456443,54.318381 -130.457284,54.317805 -130.457581,54.317073 -130.457517,54.316130 -130.457466,54.315556 -130.457415,54.314990 -130.457058,54.314437 -130.456669,54.313867 -130.456295,54.313305 -130.456646,54.312770 -130.457009,54.312191 -130.457373,54.311620 -130.457047,54.311067 -130.456688,54.310496 -130.456345,54.309934 -130.455683,54.309474 -130.455236,54.309435 -130.454250,54.309365 -130.453279,54.309297 -130.452620,54.308900 -130.452731,54.308117 -130.452605,54.308055 -130.451606,54.307627 -130.450624,54.307207 -130.450542,54.306642 -130.451122,54.306536 -130.451821,54.306743 -130.452815,54.307037 -130.453794,54.307331 -130.455197,54.307449 -130.456184,54.307544 -130.457156,54.307632 -130.458013,54.307972 -130.458162,54.308294 -130.458413,54.308866 -130.458648,54.309429 -130.458884,54.310002 -130.459119,54.310565 -130.459629,54.311080 -130.459788,54.311240 -130.460038,54.311327 -130.461766,54.311962 -130.462016,54.312049 -130.463013,54.312414 -130.463994,54.312780 -130.464947,54.312786 -130.465060,54.311661 -130.465441,54.310677 -130.465651,54.310100 -130.465861,54.309531 -130.466554,54.309153 -130.467520,54.308648 -130.468472,54.308142 -130.469243,54.308258 -130.469902,54.309041 -130.471048,54.309279 -130.471217,54.309277 -130.472202,54.309309 -130.473171,54.309343 -130.474135,54.308783 -130.473096,54.308103 -130.473106,54.307501 -130.473116,54.306925 -130.473111,54.306359 -130.472548,54.305683 -130.472518,54.305656 -130.471621,54.305092 -130.470725,54.304537 -130.469829,54.303972 -130.468933,54.303417 -130.468902,54.303399 -130.467908,54.303124 -130.466930,54.302848 -130.466361,54.302397 -130.466315,54.301966 -130.466249,54.301392 -130.466182,54.300826 -130.466307,54.300456 -130.466502,54.299878 -130.466681,54.299310 -130.466714,54.298932 -130.466771,54.298356 -130.466811,54.297789 -130.467966,54.297407 -130.468756,54.296282 -130.467650,54.295424 -130.466908,54.294858 -130.466181,54.294301 -130.464408,54.293270 -130.463435,54.292707 -130.462479,54.292152 -130.462286,54.291921 -130.461789,54.291352 -130.461293,54.290792 -130.460797,54.290222 -130.460300,54.289662 -130.460206,54.289600 -130.459295,54.289036 -130.458400,54.288480 -130.457631,54.288472 -130.456189,54.288975 -130.454663,54.287950 -130.454958,54.287164 -130.456509,54.286714 -130.457483,54.286442 -130.458441,54.286170 -130.459115,54.285667 -130.458749,54.284881 -130.457659,54.284472 -130.456662,54.284106 -130.455682,54.283741 -130.455030,54.283119 -130.454712,54.282442 -130.454193,54.281416 -130.454141,54.280182 -130.454653,54.278881 -130.455964,54.278168 -130.458616,54.277786 -130.461146,54.277788 -130.464500,54.277854 -130.467890,54.278252 -130.471916,54.279244 -130.474905,54.280464 -130.477845,54.281971 -130.480353,54.284016 -130.482654,54.286402 -130.484294,54.288717 -130.485941,54.291839 -130.487659,54.294863 -130.488740,54.296913 -130.489317,54.298460 -130.489586,54.300920 -130.490155,54.303892 -130.490921,54.305669 -130.492618,54.307744 -130.493805,54.308887 -130.495471,54.310298 -130.497028,54.311096 -130.499557,54.311810 -130.502706,54.312216 -130.505320,54.312214 -130.507380,54.312375 -130.510209,54.312840 -130.513312,54.313580 -130.515868,54.314531 -130.517788,54.315647 -130.518359,54.316386 -130.518555,54.317424 -130.518328,54.318335 -130.517506,54.319030 -130.517128,54.319215 -130.514237,54.320043 -130.512019,54.319927 -130.510196,54.320534 -130.509218,54.321544 -130.506295,54.323603 -130.504937,54.324725 -130.503667,54.326179 -130.501240,54.328358 -130.497566,54.330084 -130.496575,54.332434 -130.495114,54.332883 -130.494625,54.333383 -130.495304,54.333887 -130.498075,54.334357 -130.499324,54.334862 -130.502561,54.336736 -130.503505,54.337749 -130.505513,54.339225 -130.508371,54.340808 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-131.406100,52.404469 -131.247172,52.501564</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-131.259737,52.479237 -131.258998,52.478519 -131.258280,52.477794 -131.257583,52.477062 -131.256907,52.476322 -131.256252,52.475575 -131.255618,52.474821 -131.255007,52.474060 -131.254417,52.473293 -131.253849,52.472520 -131.253303,52.471741 -131.252780,52.470956 -131.252279,52.470166 -131.251801,52.469370 -131.251346,52.468570 -131.250914,52.467765 -131.250504,52.466955 -131.250118,52.466141 -131.249756,52.465323 -131.249416,52.464502 -131.249101,52.463677 -131.248809,52.462848 -131.248540,52.462017 -131.248296,52.461183 -131.248075,52.460346 -131.247879,52.459507 -131.247706,52.458667 -131.247557,52.457824 -131.247433,52.456980 -131.247332,52.456135 -131.247256,52.455289 -131.247204,52.454443 -131.247176,52.453595 -131.247172,52.452748 -131.247193,52.451901 -131.247238,52.451054 -131.247307,52.450208 -131.247400,52.449362 -131.247517,52.448518 -131.247658,52.447675 -131.247824,52.446834 -131.248013,52.445995 -131.248226,52.445157 -131.248463,52.444323 -131.248724,52.443490 -131.249009,52.442661 -131.249317,52.441835 -131.249649,52.441012 -131.250004,52.440193 -131.250383,52.439378 -131.250785,52.438567 -131.251210,52.437761 -131.251657,52.436959 -131.252128,52.436162 -131.252621,52.435370 -131.253137,52.434584 -131.253675,52.433803 -131.254236,52.433028 -131.254818,52.432259 -131.255422,52.431497 -131.256048,52.430741 -131.256695,52.429991 -131.257364,52.429249 -131.258054,52.428514 -131.258764,52.427787 -131.259495,52.427067 -131.260247,52.426355 -131.261019,52.425652 -131.261810,52.424956 -131.262622,52.424269 -131.263452,52.423591 -131.264302,52.422922 -131.265171,52.422262 -131.266059,52.421611 -131.266965,52.420970 -131.267889,52.420339 -131.268831,52.419718 -131.269791,52.419107 -131.270768,52.418506 -131.271762,52.417915 -131.272772,52.417336 -131.273799,52.416767 -131.274842,52.416209 -131.275901,52.415662 -131.276975,52.415127 -131.278064,52.414604 -131.279168,52.414092 -131.280286,52.413591 -131.281419,52.413103 -131.282565,52.412627 -131.283724,52.412164 -131.284897,52.411712 -131.286082,52.411274 -131.287280,52.410848 -131.288489,52.410434 -131.289710,52.410034 -131.290943,52.409647 -131.292186,52.409273 -131.293439,52.408913 -131.294703,52.408565 -131.295976,52.408232 -131.297259,52.407912 -131.298550,52.407605 -131.299851,52.407313 -131.301159,52.407034 -131.302475,52.406770 -131.303798,52.406519 -131.305128,52.406283 -131.306465,52.406061 -131.307808,52.405853 -131.309156,52.405659 -131.310510,52.405480 -131.311869,52.405315 -131.313232,52.405165 -131.314600,52.405029 -131.315971,52.404908 -131.317345,52.404802 -131.318722,52.404710 -131.320101,52.404633 -131.321483,52.404571 -131.322866,52.404523 -131.324250,52.404491 -131.325635,52.404473 -131.327020,52.404469 -131.328405,52.404481 -131.329790,52.404507 -131.331173,52.404548 -131.332555,52.404604 -131.333936,52.404674 -131.335314,52.404759 -131.336689,52.404859 -131.338062,52.404974 -131.339431,52.405103 -131.340796,52.405247 -131.342157,52.405405 -131.343513,52.405577 -131.344864,52.405765 -131.346209,52.405966 -131.347549,52.406182 -131.348882,52.406412 -131.350209,52.406656 -131.351528,52.406915 -131.352840,52.407187 -131.354143,52.407473 -131.355439,52.407774 -131.356725,52.408088 -131.358003,52.408415 -131.359271,52.408756 -131.360529,52.409111 -131.361777,52.409479 -131.363014,52.409860 -131.364240,52.410255 -131.365455,52.410662 -131.366658,52.411082 -131.367849,52.411515 -131.369027,52.411961 -131.370192,52.412419 -131.371344,52.412890 -131.372483,52.413373 -131.373608,52.413867 -131.374718,52.414374 -131.375814,52.414893 -131.376895,52.415423 -131.377960,52.415964 -131.379010,52.416517 -131.380044,52.417081 -131.381062,52.417656 -131.382063,52.418241 -131.383048,52.418838 -131.384015,52.419444 -131.384965,52.420061 -131.385897,52.420688 -131.386811,52.421325 -131.387707,52.421971 -131.388585,52.422627 -131.389443,52.423292 -131.390283,52.423966 -131.391103,52.424649 -131.391903,52.425341 -131.392684,52.426041 -131.393444,52.426749 -131.394185,52.427465 -131.394904,52.428189 -131.395603,52.428921 -131.396281,52.429660 -131.396938,52.430406 -131.397574,52.431159 -131.398187,52.431919 -131.398780,52.432685 -131.399350,52.433457 -131.399898,52.434235 -131.400424,52.435019 -131.400927,52.435809 -131.401408,52.436603 -131.401866,52.437403 -131.402301,52.438208 -131.402713,52.439017 -131.403102,52.439830 -131.403467,52.440647 -131.403810,52.441468 -131.404128,52.442293 -131.404424,52.443121 -131.404695,52.443952 -131.404943,52.444785 -131.405167,52.445621 -131.405367,52.446460 -131.405543,52.447300 -131.405695,52.448142 -131.405823,52.448986 -131.405927,52.449831 -131.406006,52.450677 -131.406062,52.451524 -131.406093,52.452371 -131.406100,52.453218 -131.406083,52.454065 -131.406042,52.454912 -131.405977,52.455759 -131.405887,52.456604 -131.405773,52.457449 -131.405635,52.458292 -131.405473,52.459133 -131.405287,52.459973 -131.405077,52.460811 -131.404843,52.461646 -131.404586,52.462478 -131.404304,52.463308 -131.403999,52.464135 -131.403670,52.464958 -131.403318,52.465777 -131.402942,52.466593 -131.402543,52.467405 -131.402121,52.468212 -131.401676,52.469014 -131.401208,52.469812 -131.400718,52.470605 -131.400204,52.471392 -131.399669,52.472174 -131.399111,52.472949 -131.398531,52.473719 -131.397928,52.474483 -131.397305,52.475240 -131.396659,52.475990 -131.395993,52.476733 -131.395305,52.477469 -131.394596,52.478197 -131.393866,52.478918 -131.393116,52.479631 -131.392346,52.480336 -131.391555,52.481032 -131.390745,52.481720 -131.389915,52.482400 -131.389066,52.483070 -131.388198,52.483731 -131.387311,52.484383 -131.386405,52.485025 -131.385481,52.485658 -131.384539,52.486280 -131.383580,52.486892 -131.382603,52.487494 -131.381609,52.488086 -131.380598,52.488667 -131.379571,52.489237 -131.378528,52.489796 -131.377469,52.490344 -131.376394,52.490880 -131.375304,52.491405 -131.374199,52.491918 -131.373080,52.492419 -131.371946,52.492908 -131.370799,52.493385 -131.369638,52.493850 -131.368464,52.494303 -131.367277,52.494742 -131.366078,52.495169 -131.364866,52.495584 -131.363643,52.495985 -131.362409,52.496373 -131.361164,52.496748 -131.359908,52.497109 -131.358642,52.497457 -131.357366,52.497792 -131.356081,52.498113 -131.354787,52.498420 -131.353484,52.498713 -131.352173,52.498992 -131.350855,52.499258 -131.349528,52.499509 -131.348195,52.499746 -131.346856,52.499969 -131.345510,52.500177 -131.344158,52.500371 -131.342801,52.500551 -131.341439,52.500716 -131.340072,52.500867 -131.338702,52.501003 -131.337328,52.501124 -131.335950,52.501231 -131.334569,52.501323 -131.333187,52.501400 -131.331802,52.501462 -131.330415,52.501510 -131.329028,52.501543 -131.327639,52.501561 -131.326251,52.501564 -131.324862,52.501553 -131.323474,52.501526 -131.322087,52.501485 -131.320702,52.501429 -131.319318,52.501359 -131.317936,52.501273 -131.316557,52.501173 -131.315182,52.501058 -131.313809,52.500929 -131.312441,52.500785 -131.311077,52.500626 -131.309718,52.500453 -131.308363,52.500265 -131.307015,52.500063 -131.305672,52.499847 -131.304336,52.499616 -131.303007,52.499371 -131.301685,52.499112 -131.300370,52.498839 -131.299064,52.498552 -131.297766,52.498251 -131.296477,52.497936 -131.295197,52.497608 -131.293926,52.497266 -131.292666,52.496910 -131.291416,52.496541 -131.290177,52.496159 -131.288949,52.495764 -131.287732,52.495355 -131.286528,52.494934 -131.285335,52.494500 -131.284155,52.494053 -131.282989,52.493594 -131.281835,52.493122 -131.280695,52.492639 -131.279570,52.492143 -131.278458,52.491635 -131.277362,52.491115 -131.276280,52.490584 -131.275214,52.490041 -131.274163,52.489487 -131.273129,52.488922 -131.272111,52.488346 -131.271109,52.487759 -131.270125,52.487162 -131.269157,52.486554 -131.268208,52.485936 -131.267276,52.485308 -131.266362,52.484670 -131.265467,52.484023 -131.264590,52.483366 -131.263733,52.482699 -131.262894,52.482024 -131.262075,52.481340 -131.261276,52.480647 -131.260496,52.479946 -131.259737,52.479237 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-131.516418,52.497336 -131.275341,52.632471</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-131.443819,52.508763 -131.453539,52.510708 -131.460733,52.512674 -131.465783,52.514410 -131.475667,52.517019 -131.488415,52.523816 -131.496540,52.529255 -131.504049,52.535199 -131.514783,52.551698 -131.515799,52.556507 -131.516418,52.561546 -131.514966,52.574484 -131.503410,52.590780 -131.482483,52.603138 -131.476060,52.604851 -131.469486,52.608729 -131.442369,52.615261 -131.438628,52.615224 -131.436693,52.615827 -131.425587,52.622370 -131.425046,52.622582 -131.422604,52.624020 -131.395468,52.630540 -131.394934,52.630534 -131.386867,52.632471 -131.357692,52.632165 -131.330939,52.625083 -131.324207,52.621876 -131.322396,52.620907 -131.308878,52.611336 -131.308198,52.610283 -131.306909,52.609469 -131.306291,52.608512 -131.305119,52.607772 -131.304688,52.607105 -131.302693,52.605845 -131.301977,52.604736 -131.292332,52.598631 -131.292212,52.598445 -131.289628,52.596812 -131.289628,52.596812 -131.288019,52.595285 -131.288019,52.595285 -131.277369,52.578761 -131.277429,52.576792 -131.277075,52.576241 -131.276551,52.573467 -131.275372,52.571636 -131.275525,52.566663 -131.275341,52.566378 -131.275887,52.548631 -131.287526,52.532363 -131.288139,52.532003 -131.288469,52.531555 -131.290000,52.530273 -131.292061,52.527713 -131.309393,52.516905 -131.313942,52.514883 -131.315825,52.514392 -131.317556,52.513374 -131.320614,52.512175 -131.320614,52.512175 -131.321076,52.512065 -131.323871,52.510419 -131.331043,52.507938 -131.333723,52.507127 -131.335950,52.506677 -131.339632,52.505529 -131.344337,52.504402 -131.349509,52.503507 -131.362208,52.500454 -131.368408,52.500251 -131.380526,52.497336 -131.409599,52.497635 -131.410969,52.497815 -131.410969,52.497815 -131.437649,52.504875 -131.443819,52.508763 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-131.572878,52.626014 -131.372593,52.777602</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-131.473822,52.627790 -131.469162,52.630167 -131.465914,52.634721 -131.461871,52.646142 -131.459992,52.654528 -131.463452,52.658632 -131.466318,52.661332 -131.468285,52.666569 -131.467531,52.671782 -131.470768,52.676522 -131.463155,52.679509 -131.451549,52.682969 -131.446431,52.686615 -131.448478,52.688544 -131.452061,52.687685 -131.460890,52.695149 -131.458351,52.696145 -131.450814,52.695822 -131.448787,52.701533 -131.446350,52.706859 -131.451821,52.714548 -131.458276,52.716389 -131.468277,52.719025 -131.476110,52.724697 -131.485136,52.733181 -131.489427,52.738057 -131.494880,52.738104 -131.499141,52.735340 -131.506313,52.733618 -131.514531,52.732033 -131.522785,52.728792 -131.525586,52.725504 -131.531075,52.723895 -131.530702,52.721854 -131.539698,52.713398 -131.548207,52.707865 -131.555602,52.714801 -131.561766,52.720580 -131.567298,52.726609 -131.572878,52.740277 -131.572289,52.748168 -131.563479,52.757648 -131.547937,52.767583 -131.526367,52.774410 -131.497313,52.777602 -131.472376,52.775347 -131.453351,52.771866 -131.438146,52.766888 -131.423482,52.757328 -131.417290,52.753195 -131.401039,52.740435 -131.388797,52.727201 -131.378880,52.713608 -131.375286,52.706824 -131.372593,52.689863 -131.373032,52.673316 -131.377513,52.662283 -131.388241,52.644437 -131.399067,52.638558 -131.407579,52.633038 -131.416723,52.627268 -131.435756,52.627446 -131.460267,52.626014 -131.473822,52.627790 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-132.080089,54.024473 -131.479924,54.292886</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-131.792093,54.071317 -131.792729,54.072120 -131.793283,54.074229 -131.793341,54.078049 -131.794123,54.078777 -131.795369,54.078883 -131.797529,54.077124 -131.801985,54.075186 -131.804924,54.074327 -131.807591,54.073752 -131.809585,54.072950 -131.818416,54.070594 -131.822320,54.070008 -131.828413,54.069245 -131.830996,54.069229 -131.832407,54.069753 -131.834839,54.070667 -131.835706,54.070601 -131.836920,54.069134 -131.841275,54.067539 -131.843925,54.066280 -131.847985,54.064179 -131.849978,54.063377 -131.853213,54.062625 -131.856813,54.060975 -131.860407,54.059667 -131.864278,54.057507 -131.871004,54.054874 -131.878967,54.052238 -131.883334,54.051090 -131.890532,54.048453 -131.893183,54.047257 -131.896997,54.046958 -131.899654,54.046489 -131.905267,54.045266 -131.912846,54.043086 -131.915894,54.042329 -131.918706,54.041910 -131.919401,54.041803 -131.922347,54.041111 -131.927100,54.040060 -131.929466,54.039374 -131.929706,54.039322 -131.932702,54.038674 -131.935355,54.037755 -131.937725,54.037121 -131.943233,54.035962 -131.947232,54.035486 -131.949975,54.034960 -131.952176,54.034771 -131.958823,54.033942 -131.961208,54.033533 -131.965197,54.032715 -131.974609,54.031691 -131.978120,54.030822 -131.980977,54.030409 -131.984977,54.030382 -131.987824,54.029403 -131.990756,54.028764 -131.991127,54.027972 -131.988425,54.026925 -131.988523,54.026589 -131.991008,54.026735 -131.994171,54.026134 -131.995558,54.025866 -132.001214,54.024473 -132.001756,54.024585 -132.002022,54.024915 -132.001551,54.025092 -132.001112,54.025252 -132.000641,54.025438 -132.000123,54.025623 -131.999982,54.025665 -131.997089,54.026133 -131.995861,54.026479 -131.993762,54.026603 -131.993640,54.027244 -131.993512,54.028012 -131.995528,54.028843 -131.997813,54.028768 -132.000018,54.028632 -132.003200,54.027867 -132.004552,54.027541 -132.005982,54.027388 -132.014586,54.027098 -132.028307,54.027646 -132.032225,54.027527 -132.035369,54.027559 -132.037749,54.027816 -132.042136,54.027753 -132.046403,54.028307 -132.049074,54.028337 -132.051076,54.028755 -132.053527,54.029507 -132.056065,54.030549 -132.057363,54.031634 -132.059653,54.031654 -132.064533,54.031314 -132.067208,54.031289 -132.070156,54.031496 -132.075320,54.031047 -132.078372,54.031076 -132.080089,54.031208 -132.080080,54.033309 -132.078366,54.039233 -132.073785,54.046567 -132.067097,54.053324 -132.058502,54.059298 -132.048262,54.064306 -132.036690,54.068198 -132.033517,54.068837 -132.032209,54.069277 -132.029038,54.069948 -132.019654,54.071932 -132.007968,54.073132 -132.006509,54.073282 -132.005896,54.073411 -132.004609,54.073395 -132.002171,54.073711 -131.994329,54.074728 -131.988606,54.075735 -131.984636,54.076167 -131.982738,54.076524 -131.980351,54.076934 -131.974783,54.077757 -131.968130,54.078586 -131.966649,54.078742 -131.965771,54.078878 -131.959277,54.080688 -131.958660,54.080821 -131.954174,54.081965 -131.950149,54.082856 -131.947927,54.083377 -131.943036,54.084323 -131.939049,54.085469 -131.932011,54.087244 -131.926204,54.088298 -131.924031,54.089118 -131.922030,54.089668 -131.914727,54.091952 -131.913603,54.092248 -131.910843,54.093185 -131.900474,54.097882 -131.894702,54.099824 -131.892231,54.101051 -131.890274,54.101980 -131.889639,54.102420 -131.879369,54.107414 -131.867768,54.111289 -131.855191,54.113927 -131.845527,54.115030 -131.844659,54.115096 -131.841151,54.115313 -131.839829,54.115309 -131.839004,54.115710 -131.827398,54.119581 -131.814815,54.122216 -131.803777,54.123318 -131.801216,54.124359 -131.798359,54.125730 -131.796864,54.126629 -131.793275,54.128917 -131.786843,54.132498 -131.783395,54.134612 -131.778120,54.138412 -131.775602,54.140227 -131.774633,54.141014 -131.772301,54.142705 -131.770061,54.144330 -131.768205,54.145858 -131.765718,54.147792 -131.764627,54.148684 -131.761220,54.151975 -131.759703,54.153265 -131.756272,54.156405 -131.755204,54.157612 -131.750214,54.162932 -131.748235,54.164740 -131.745707,54.167040 -131.742948,54.170602 -131.738519,54.175225 -131.737449,54.176282 -131.737062,54.176959 -131.735464,54.178991 -131.733235,54.181597 -131.731094,54.183347 -131.731166,54.184546 -131.731477,54.189714 -131.731088,54.191512 -131.728944,54.197792 -131.724280,54.205116 -131.723298,54.210895 -131.722525,54.213142 -131.721770,54.215108 -131.721199,54.216451 -131.718532,54.221451 -131.716429,54.224709 -131.708488,54.233741 -131.706950,54.235088 -131.689077,54.246105 -131.686777,54.247109 -131.684859,54.247986 -131.682015,54.250558 -131.681250,54.251254 -131.680543,54.251892 -131.680094,54.252297 -131.678178,54.253944 -131.669484,54.259891 -131.667119,54.260986 -131.659126,54.264689 -131.658365,54.265055 -131.657609,54.265419 -131.656663,54.265874 -131.644997,54.269728 -131.633543,54.272097 -131.632357,54.272343 -131.629993,54.272625 -131.621298,54.278596 -131.610952,54.283568 -131.607330,54.284933 -131.606543,54.285212 -131.605772,54.285488 -131.604256,54.286031 -131.588108,54.290414 -131.586376,54.290748 -131.581440,54.291595 -131.568203,54.292886 -131.554782,54.292818 -131.541585,54.291393 -131.538285,54.290814 -131.537480,54.290661 -131.536890,54.290550 -131.536014,54.290390 -131.525938,54.288082 -131.514379,54.284115 -131.509892,54.282101 -131.509161,54.281720 -131.508423,54.281336 -131.502078,54.278032 -131.493554,54.272002 -131.486961,54.265202 -131.482497,54.257839 -131.481474,54.255196 -131.481099,54.254070 -131.479924,54.249010 -131.480056,54.241202 -131.482514,54.233526 -131.483100,54.232361 -131.483402,54.231788 -131.483621,54.231386 -131.483996,54.230816 -131.487991,54.224751 -131.494802,54.218027 -131.503091,54.212335 -131.504248,54.211664 -131.507407,54.210351 -131.518284,54.205826 -131.523901,54.203789 -131.524926,54.203390 -131.525737,54.202845 -131.526388,54.202671 -131.527544,54.201779 -131.537599,54.196628 -131.539479,54.196035 -131.540062,54.195456 -131.540890,54.195120 -131.541596,54.194836 -131.542195,54.194599 -131.553546,54.190876 -131.564816,54.188395 -131.568315,54.179672 -131.568664,54.178407 -131.571119,54.174618 -131.571357,54.174290 -131.572144,54.173213 -131.573514,54.171129 -131.574646,54.169406 -131.575718,54.167776 -131.576342,54.165779 -131.578856,54.160375 -131.579373,54.159315 -131.581244,54.155651 -131.583625,54.151680 -131.585968,54.148289 -131.587495,54.143271 -131.587543,54.142891 -131.587794,54.140795 -131.588515,54.137049 -131.588621,54.136647 -131.588510,54.131631 -131.588868,54.130212 -131.589422,54.128009 -131.589435,54.124521 -131.589691,54.123730 -131.589951,54.121469 -131.590778,54.114228 -131.591082,54.113375 -131.590960,54.112951 -131.591070,54.105142 -131.591539,54.102890 -131.592177,54.100359 -131.593693,54.095911 -131.594182,54.094782 -131.594625,54.093803 -131.599295,54.086487 -131.606066,54.079757 -131.614730,54.073815 -131.625024,54.068843 -131.636635,54.064991 -131.649212,54.062375 -131.662373,54.061076 -131.675640,54.061041 -131.679334,54.061088 -131.677270,54.066772 -131.675821,54.072055 -131.675972,54.075594 -131.675136,54.077563 -131.675449,54.079813 -131.675192,54.082004 -131.674287,54.084811 -131.672838,54.091056 -131.672328,54.094762 -131.670600,54.100726 -131.668836,54.104945 -131.668011,54.106861 -131.667378,54.109392 -131.668549,54.111182 -131.668794,54.114998 -131.667883,54.118210 -131.667228,54.119447 -131.665855,54.123326 -131.665882,54.125178 -131.665708,54.126530 -131.665837,54.128774 -131.666656,54.130536 -131.668214,54.133635 -131.668999,54.134821 -131.669143,54.135586 -131.669139,54.135607 -131.670086,54.144135 -131.669880,54.146163 -131.669306,54.148181 -131.670067,54.149081 -131.671419,54.148179 -131.673909,54.145714 -131.676580,54.144144 -131.679837,54.143361 -131.680380,54.143232 -131.680478,54.143086 -131.683594,54.140598 -131.685575,54.138792 -131.686425,54.137721 -131.689808,54.133941 -131.695747,54.128513 -131.698011,54.126592 -131.699796,54.124619 -131.704432,54.120829 -131.705658,54.119929 -131.711222,54.115353 -131.715391,54.112409 -131.715766,54.112293 -131.725592,54.105111 -131.733829,54.100069 -131.736763,54.098644 -131.741124,54.095866 -131.744611,54.093772 -131.746788,54.092464 -131.749726,54.091102 -131.754944,54.088600 -131.763477,54.085132 -131.767182,54.083590 -131.770592,54.082001 -131.774298,54.080459 -131.777234,54.079321 -131.779703,54.078518 -131.783410,54.077488 -131.789855,54.074866 -131.790615,54.074354 -131.791107,54.072095 -131.791234,54.071489 -131.792093,54.071317 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-119.694936,49.289201 -119.639186,49.329110</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-119.642466,49.302557 -119.642498,49.302114 -119.642584,49.301704 -119.642634,49.301386 -119.642701,49.300987 -119.642682,49.300499 -119.642628,49.300204 -119.642506,49.299909 -119.642401,49.299636 -119.642346,49.299330 -119.642570,49.298931 -119.642951,49.298633 -119.643521,49.298357 -119.644198,49.298138 -119.644665,49.297953 -119.645046,49.297860 -119.645582,49.297652 -119.645825,49.297378 -119.645961,49.297059 -119.646290,49.296853 -119.646809,49.296725 -119.647538,49.296653 -119.648145,49.296638 -119.648856,49.296634 -119.650279,49.296626 -119.651146,49.296576 -119.652220,49.296365 -119.652602,49.296283 -119.653761,49.295924 -119.653918,49.295878 -119.654559,49.295601 -119.654904,49.295463 -119.655354,49.295097 -119.655700,49.294788 -119.655941,49.294525 -119.656250,49.294103 -119.656475,49.293772 -119.656593,49.293487 -119.656661,49.293021 -119.656763,49.292565 -119.656796,49.292088 -119.656706,49.291736 -119.656531,49.291328 -119.656408,49.291067 -119.656354,49.290670 -119.656543,49.290271 -119.657061,49.289949 -119.657824,49.289707 -119.658518,49.289623 -119.659176,49.289574 -119.659627,49.289503 -119.660112,49.289375 -119.660787,49.289201 -119.661343,49.289220 -119.662020,49.289387 -119.662837,49.289666 -119.663671,49.289980 -119.664506,49.290305 -119.665148,49.290596 -119.665636,49.290900 -119.666383,49.291283 -119.666922,49.291518 -119.667512,49.291674 -119.668051,49.291727 -119.668693,49.291724 -119.669404,49.291890 -119.670049,49.292171 -119.670673,49.292406 -119.671126,49.292664 -119.671490,49.292833 -119.672065,49.293159 -119.672709,49.293587 -119.673283,49.293891 -119.674275,49.294442 -119.675181,49.295039 -119.675930,49.295614 -119.676279,49.295976 -119.676784,49.296394 -119.677482,49.296935 -119.677933,49.297205 -119.678386,49.297509 -119.678804,49.297666 -119.679429,49.297890 -119.680003,49.298114 -119.680489,49.298315 -119.681082,49.298573 -119.681586,49.298809 -119.681951,49.299000 -119.682282,49.299362 -119.682545,49.299713 -119.682791,49.300109 -119.682913,49.300449 -119.683228,49.300834 -119.683333,49.300947 -119.683525,49.301082 -119.684778,49.301904 -119.685040,49.302233 -119.685423,49.302537 -119.686014,49.302738 -119.687040,49.303005 -119.687839,49.303137 -119.688290,49.303191 -119.688743,49.303313 -119.688968,49.303391 -119.688970,49.303721 -119.689006,49.303925 -119.688955,49.304244 -119.688853,49.304574 -119.688873,49.304960 -119.688894,49.305642 -119.688913,49.306131 -119.688814,49.306757 -119.688902,49.306995 -119.689009,49.307426 -119.689288,49.307822 -119.689654,49.308059 -119.689742,49.308274 -119.689570,49.308446 -119.689291,49.308379 -119.688823,49.308439 -119.688930,49.308779 -119.689139,49.309028 -119.689385,49.309424 -119.689576,49.309662 -119.689891,49.310001 -119.690292,49.310328 -119.690658,49.310519 -119.691180,49.310812 -119.691701,49.310990 -119.692293,49.311214 -119.692796,49.311416 -119.693459,49.311753 -119.693789,49.312023 -119.694017,49.312454 -119.694299,49.312964 -119.694509,49.313360 -119.694633,49.313894 -119.694636,49.314314 -119.694848,49.314870 -119.694936,49.315233 -119.694886,49.315552 -119.694574,49.315713 -119.694333,49.315919 -119.693917,49.316035 -119.693535,49.316015 -119.693014,49.315938 -119.692406,49.315908 -119.691694,49.315855 -119.691018,49.315802 -119.690514,49.315783 -119.689871,49.315593 -119.689349,49.315449 -119.688708,49.315430 -119.688136,49.315592 -119.687667,49.315640 -119.687042,49.315769 -119.686350,49.315899 -119.685656,49.316096 -119.684946,49.316304 -119.684878,49.316328 -119.684565,49.316341 -119.684202,49.316514 -119.683544,49.316858 -119.683198,49.317031 -119.682956,49.317214 -119.682558,49.317501 -119.682196,49.317719 -119.681207,49.317986 -119.680757,49.318114 -119.679855,49.318324 -119.679128,49.318498 -119.678313,49.318742 -119.677413,49.319020 -119.676458,49.319276 -119.675403,49.319543 -119.673704,49.320099 -119.673514,49.320236 -119.672891,49.320592 -119.672216,49.320937 -119.671817,49.321065 -119.671142,49.321296 -119.670553,49.321458 -119.669772,49.321679 -119.669322,49.321818 -119.668940,49.321934 -119.668507,49.322084 -119.668283,49.322210 -119.667971,49.322496 -119.667661,49.322850 -119.667675,49.328749 -119.646100,49.329110 -119.645942,49.328748 -119.645959,49.328588 -119.645923,49.328464 -119.645835,49.328248 -119.645593,49.328067 -119.645123,49.327934 -119.644567,49.327812 -119.643943,49.327872 -119.643439,49.327909 -119.643143,49.328002 -119.642746,49.328220 -119.642381,49.328211 -119.642208,49.328143 -119.641981,49.327861 -119.641858,49.327554 -119.641699,49.327100 -119.641419,49.326466 -119.641401,49.326386 -119.641172,49.326001 -119.640980,49.325729 -119.640543,49.325106 -119.640247,49.324812 -119.640056,49.324734 -119.639499,49.324510 -119.639186,49.324125 -119.639445,49.323897 -119.639826,49.323701 -119.640224,49.323517 -119.640675,49.323287 -119.640969,49.323104 -119.641261,49.322670 -119.641502,49.322192 -119.641639,49.321781 -119.641723,49.321383 -119.641775,49.320997 -119.641859,49.320633 -119.642047,49.320131 -119.642304,49.319539 -119.642322,49.319527 -119.642650,49.319162 -119.643410,49.318510 -119.644292,49.317800 -119.645555,49.317157 -119.645694,49.317099 -119.645936,49.316995 -119.646231,49.316709 -119.646265,49.316562 -119.646280,49.316129 -119.646279,49.315857 -119.646295,49.315504 -119.646308,49.314879 -119.646236,49.314197 -119.646285,49.313731 -119.646267,49.313322 -119.646298,49.312595 -119.646480,49.310980 -119.646375,49.310492 -119.646357,49.310480 -119.646234,49.310197 -119.645712,49.309734 -119.645711,49.309700 -119.645588,49.309280 -119.645517,49.308905 -119.645426,49.308508 -119.645356,49.308076 -119.645161,49.307441 -119.644952,49.307078 -119.644725,49.306761 -119.644481,49.306456 -119.644218,49.306071 -119.643974,49.305811 -119.643537,49.305268 -119.643223,49.304815 -119.642784,49.303760 -119.642679,49.303568 -119.642608,49.303284 -119.642538,49.303012 -119.642466,49.302557 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-119.627251,48.999807 -119.520600,49.054193</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-119.520600,49.000004 -119.626955,48.999807 -119.627251,49.013099 -119.626379,49.022247 -119.626241,49.028432 -119.623437,49.033334 -119.620289,49.036176 -119.611484,49.040072 -119.605001,49.043192 -119.594618,49.046433 -119.587272,49.047784 -119.581530,49.048705 -119.567149,49.050399 -119.554823,49.052771 -119.548923,49.054193 -119.546747,49.053699 -119.545042,49.051696 -119.546390,49.049339 -119.551129,49.043771 -119.553660,49.038793 -119.554286,49.036782 -119.551672,49.031796 -119.544766,49.022887 -119.540875,49.018857 -119.532958,49.013599 -119.525094,49.004640 -119.520600,49.000004 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-120.611023,49.962076 -120.001868,50.669123</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-120.543434,50.121225 -120.541384,50.121600 -120.538966,50.121957 -120.536985,50.122383 -120.536264,50.122825 -120.535906,50.123332 -120.536070,50.123817 -120.536757,50.124280 -120.538045,50.124678 -120.539560,50.125040 -120.540826,50.125628 -120.541183,50.126361 -120.540831,50.126821 -120.540257,50.127269 -120.538992,50.127302 -120.537181,50.126925 -120.535098,50.126345 -120.533004,50.125859 -120.530915,50.125946 -120.528758,50.125982 -120.527163,50.125664 -120.525744,50.125116 -120.524524,50.124769 -120.523417,50.124714 -120.521442,50.125093 -120.520715,50.125581 -120.520038,50.126883 -120.519327,50.128470 -120.518951,50.129739 -120.517398,50.132763 -120.516237,50.134995 -120.515526,50.135962 -120.515065,50.137322 -120.514796,50.138931 -120.514301,50.139956 -120.512677,50.140495 -120.510700,50.140873 -120.508110,50.141412 -120.505906,50.141827 -120.504517,50.142568 -120.504147,50.143170 -120.504294,50.143798 -120.505185,50.144415 -120.506098,50.145462 -120.506915,50.146076 -120.507772,50.146357 -120.509101,50.146423 -120.510617,50.146165 -120.512219,50.145816 -120.513196,50.145721 -120.514008,50.145762 -120.515189,50.145821 -120.516262,50.146160 -120.517386,50.146693 -120.518004,50.147106 -120.519912,50.147296 -120.522065,50.147308 -120.523587,50.147002 -120.525081,50.146934 -120.526483,50.147003 -120.527335,50.147332 -120.527874,50.147788 -120.528112,50.148277 -120.527969,50.149463 -120.527503,50.150251 -120.526889,50.151031 -120.526559,50.151301 -120.525354,50.152238 -120.523609,50.153153 -120.521245,50.154276 -120.518574,50.155478 -120.516153,50.156455 -120.514539,50.157520 -120.512679,50.159383 -120.511980,50.160254 -120.511575,50.161141 -120.511608,50.162097 -120.511920,50.162589 -120.512942,50.163356 -120.513555,50.163816 -120.514003,50.164410 -120.514281,50.165188 -120.513903,50.166023 -120.513075,50.166609 -120.511172,50.167647 -120.510305,50.168168 -120.508525,50.169273 -120.507837,50.170382 -120.507110,50.171446 -120.506208,50.172614 -120.505313,50.173674 -120.504411,50.174842 -120.504227,50.175162 -120.503667,50.176230 -120.503102,50.177405 -120.506067,50.179155 -120.508163,50.180453 -120.509355,50.181778 -120.510065,50.182898 -120.510933,50.184569 -120.511547,50.186481 -120.511455,50.188176 -120.510927,50.189741 -120.509425,50.191908 -120.508583,50.192807 -120.507638,50.193628 -120.506593,50.194526 -120.505214,50.194937 -120.503471,50.196087 -120.502603,50.196608 -120.501030,50.197761 -120.500128,50.198930 -120.499406,50.199886 -120.498504,50.201053 -120.497439,50.202110 -120.496873,50.203285 -120.496313,50.204353 -120.496129,50.204672 -120.495729,50.205851 -120.495169,50.206918 -120.495107,50.208105 -120.495050,50.209183 -120.495046,50.209291 -120.494974,50.210386 -120.494423,50.211544 -120.493873,50.212396 -120.493307,50.213571 -120.492746,50.214638 -120.492740,50.214746 -120.492174,50.215921 -120.491944,50.217103 -120.491922,50.217535 -120.491524,50.218713 -120.490284,50.219874 -120.489752,50.220402 -120.488513,50.221563 -120.487280,50.222615 -120.487107,50.222720 -120.485705,50.223769 -120.484646,50.224718 -120.484416,50.225900 -120.484022,50.226971 -120.484005,50.227294 -120.483810,50.227830 -120.483410,50.229008 -120.482849,50.230076 -120.482658,50.230503 -120.481755,50.231671 -120.480864,50.232623 -120.480465,50.233802 -120.479905,50.234870 -120.479338,50.236044 -120.478434,50.237212 -120.477368,50.238268 -120.476298,50.239432 -120.475401,50.240492 -120.475271,50.240561 -120.473516,50.241099 -120.473175,50.241199 -120.471778,50.242141 -120.471379,50.243319 -120.470987,50.244390 -120.470795,50.244818 -120.470255,50.245678 -120.470648,50.247032 -120.470587,50.248747 -120.470638,50.251373 -120.470578,50.253087 -120.470004,50.255348 -120.469083,50.257401 -120.467748,50.258575 -120.466248,50.259883 -120.466121,50.260926 -120.466632,50.261619 -120.467398,50.262660 -120.467487,50.263761 -120.466542,50.266004 -120.464893,50.267924 -120.463010,50.269309 -120.460057,50.270925 -120.458877,50.271439 -120.457505,50.272610 -120.457252,50.273456 -120.457638,50.273952 -120.458622,50.274431 -120.460306,50.275279 -120.461216,50.275754 -120.461505,50.276436 -120.461395,50.277337 -120.460914,50.278219 -120.459721,50.279447 -120.457388,50.280857 -120.455877,50.281639 -120.454649,50.283152 -120.453558,50.284147 -120.452674,50.284675 -120.450537,50.285092 -120.450075,50.285212 -120.447149,50.285685 -120.445674,50.285563 -120.444035,50.284955 -120.442807,50.284035 -120.442343,50.282962 -120.442192,50.281762 -120.442042,50.280562 -120.441560,50.279631 -120.440611,50.278868 -120.438955,50.278403 -120.437981,50.278449 -120.436629,50.279144 -120.433444,50.281416 -120.431847,50.282290 -120.430855,50.282478 -120.429437,50.282502 -120.428542,50.282505 -120.427516,50.282977 -120.426727,50.283939 -120.425955,50.284759 -120.425501,50.286024 -120.424584,50.288029 -120.423284,50.290110 -120.421105,50.292671 -120.419184,50.294959 -120.417184,50.296671 -120.415496,50.299782 -120.414501,50.302403 -120.414091,50.303909 -120.412612,50.305026 -120.410951,50.305801 -120.410112,50.305949 -120.409227,50.306477 -120.408968,50.307370 -120.409090,50.308187 -120.409786,50.309797 -120.410160,50.310388 -120.411468,50.312172 -120.412608,50.313804 -120.413306,50.314793 -120.413280,50.315603 -120.412872,50.316489 -120.412476,50.317279 -120.412697,50.317911 -120.413139,50.318553 -120.414055,50.318981 -120.415547,50.319581 -120.416793,50.320360 -120.417846,50.320890 -120.418454,50.321398 -120.419113,50.322099 -120.419684,50.323511 -120.420187,50.324873 -120.420710,50.326378 -120.421276,50.327837 -120.421301,50.328840 -120.421451,50.330041 -120.421851,50.331635 -120.422867,50.333070 -120.424096,50.333990 -120.425485,50.334824 -120.427118,50.336098 -120.427617,50.336887 -120.428081,50.337960 -120.428534,50.339127 -120.428761,50.344243 -120.428242,50.346029 -120.427909,50.346919 -120.428243,50.347842 -120.429039,50.348645 -120.430383,50.349238 -120.432253,50.349809 -120.433980,50.350325 -120.434668,50.350789 -120.434975,50.351329 -120.434899,50.351946 -120.434058,50.352714 -120.432796,50.353271 -120.431853,50.353653 -120.431381,50.354154 -120.431551,50.354591 -120.432047,50.354807 -120.433592,50.354980 -120.435606,50.354986 -120.436496,50.355031 -120.437374,50.355171 -120.437933,50.355485 -120.438832,50.356055 -120.439818,50.356534 -120.441067,50.356692 -120.442289,50.356468 -120.444058,50.356032 -120.444989,50.355745 -120.446187,50.355710 -120.446746,50.356024 -120.446699,50.356403 -120.446434,50.357344 -120.445855,50.358412 -120.444790,50.359789 -120.444045,50.360992 -120.442612,50.363543 -120.442214,50.364954 -120.441911,50.367419 -120.442034,50.368236 -120.441879,50.369803 -120.441157,50.370816 -120.440292,50.371774 -120.438784,50.372509 -120.436915,50.373130 -120.435863,50.373793 -120.434930,50.374700 -120.434437,50.375677 -120.433664,50.376496 -120.433154,50.376995 -120.432514,50.377345 -120.431647,50.377110 -120.431153,50.376275 -120.430770,50.374538 -120.430461,50.372805 -120.429940,50.371587 -120.429387,50.371225 -120.428698,50.370761 -120.428313,50.369644 -120.428226,50.368543 -120.427829,50.367521 -120.426894,50.367236 -120.426186,50.367534 -120.425813,50.368135 -120.424936,50.369188 -120.424165,50.371200 -120.422420,50.374451 -120.421791,50.376518 -120.421372,50.377499 -120.420501,50.378504 -120.419007,50.379717 -120.416545,50.380308 -120.413376,50.380577 -120.412394,50.380670 -120.409476,50.380714 -120.407727,50.380673 -120.406220,50.380788 -120.404282,50.381357 -120.402933,50.382005 -120.401265,50.382206 -120.398953,50.382185 -120.396837,50.381791 -120.394967,50.381219 -120.392524,50.381048 -120.391245,50.381126 -120.389925,50.381536 -120.389026,50.382158 -120.388315,50.383076 -120.387695,50.383856 -120.387079,50.385208 -120.386961,50.386156 -120.386867,50.386914 -120.386411,50.388179 -120.385750,50.389290 -120.385382,50.389844 -120.385686,50.391004 -120.386734,50.391582 -120.388029,50.391982 -120.389402,50.392193 -120.390260,50.392153 -120.391397,50.392020 -120.392813,50.392044 -120.394057,50.392251 -120.395283,50.392599 -120.395830,50.393008 -120.396056,50.393592 -120.396077,50.394022 -120.395817,50.394916 -120.395203,50.395648 -120.394637,50.396001 -120.394109,50.396642 -120.394157,50.397455 -120.394909,50.398018 -120.396290,50.398326 -120.397483,50.398339 -120.398282,50.398522 -120.399274,50.398954 -120.399494,50.399586 -120.399492,50.400206 -120.399238,50.401051 -120.398659,50.401499 -120.396932,50.402175 -120.394845,50.402737 -120.392788,50.403062 -120.389498,50.403086 -120.387551,50.403130 -120.385894,50.403237 -120.384683,50.403366 -120.383424,50.403875 -120.382507,50.404639 -120.381495,50.404969 -120.379782,50.404930 -120.378024,50.404650 -120.376402,50.404472 -120.375060,50.404451 -120.373677,50.404763 -120.372653,50.405188 -120.372136,50.405734 -120.371977,50.407014 -120.372408,50.407751 -120.373302,50.408369 -120.374528,50.408717 -120.376162,50.408800 -120.377373,50.408671 -120.378196,50.408665 -120.379131,50.408951 -120.379518,50.409448 -120.379696,50.410411 -120.379555,50.411549 -120.378923,50.412423 -120.378439,50.413305 -120.378508,50.414548 -120.378851,50.415997 -120.379110,50.416916 -120.379015,50.417674 -120.378376,50.418310 -120.377283,50.418683 -120.375014,50.418902 -120.374087,50.419141 -120.373274,50.419672 -120.372760,50.420791 -120.372027,50.421278 -120.370952,50.421510 -120.369689,50.421446 -120.368611,50.421105 -120.366787,50.420153 -120.365744,50.419528 -120.364164,50.419018 -120.362762,50.418279 -120.361847,50.417230 -120.360792,50.416700 -120.359497,50.416300 -120.358068,50.416370 -120.357056,50.416700 -120.356067,50.416840 -120.354867,50.416875 -120.353851,50.416632 -120.352826,50.415864 -120.351894,50.414958 -120.350697,50.414372 -120.349286,50.414300 -120.348582,50.414550 -120.348140,50.415100 -120.348282,50.416348 -120.348977,50.417957 -120.350335,50.419648 -120.351460,50.420803 -120.352542,50.421717 -120.353472,50.423243 -120.354004,50.425560 -120.353864,50.427270 -120.353288,50.429482 -120.353015,50.430470 -120.352809,50.432415 -120.352966,50.435333 -120.352830,50.437615 -120.352889,50.439526 -120.353338,50.441314 -120.354384,50.442512 -120.355270,50.443798 -120.355250,50.444560 -120.355480,50.447195 -120.355781,50.448975 -120.356212,50.450905 -120.356379,50.453155 -120.356879,50.455136 -120.357182,50.457489 -120.357239,50.458828 -120.356881,50.460193 -120.355710,50.461182 -120.354179,50.462058 -120.352597,50.462741 -120.350674,50.463167 -120.349157,50.463329 -120.347992,50.463078 -120.347680,50.462585 -120.347213,50.460940 -120.346969,50.460498 -120.346354,50.460037 -120.345721,50.459719 -120.344761,50.459622 -120.344297,50.459742 -120.344237,50.460216 -120.344591,50.461569 -120.344757,50.463819 -120.345164,50.465939 -120.345622,50.468252 -120.346315,50.470481 -120.347034,50.471901 -120.347213,50.472864 -120.347088,50.473860 -120.346906,50.474709 -120.346526,50.475357 -120.345928,50.475947 -120.345143,50.476241 -120.344536,50.476305 -120.343915,50.475892 -120.343683,50.475355 -120.343079,50.474800 -120.342600,50.474441 -120.341800,50.474257 -120.341461,50.474574 -120.341336,50.475569 -120.340584,50.476199 -120.339965,50.476358 -120.339290,50.476371 -120.338576,50.476096 -120.337812,50.475628 -120.337223,50.475550 -120.336245,50.475595 -120.335689,50.475853 -120.334969,50.476818 -120.333975,50.478770 -120.333368,50.480027 -120.332633,50.480514 -120.331624,50.480797 -120.330155,50.480578 -120.329034,50.480569 -120.328522,50.481067 -120.328305,50.482201 -120.328506,50.482974 -120.328580,50.484171 -120.328586,50.485316 -120.329136,50.486298 -120.329814,50.486857 -120.330539,50.487037 -120.331685,50.486857 -120.332390,50.486607 -120.333244,50.486365 -120.333999,50.486308 -120.334755,50.486251 -120.335103,50.486460 -120.335424,50.487478 -120.335515,50.489724 -120.335333,50.490574 -120.334786,50.491356 -120.334229,50.491614 -120.333492,50.491529 -120.332659,50.491009 -120.331900,50.490493 -120.331050,50.490116 -120.330095,50.489972 -120.329104,50.490112 -120.328146,50.490588 -120.327741,50.491425 -120.327737,50.493238 -120.328004,50.494682 -120.328783,50.495628 -120.329363,50.496374 -120.329687,50.496772 -120.330493,50.498101 -120.330847,50.499454 -120.330941,50.501081 -120.330905,50.502558 -120.331098,50.503998 -120.331505,50.504925 -120.331874,50.505564 -120.332814,50.506423 -120.334293,50.507166 -120.335522,50.507515 -120.336501,50.507470 -120.337522,50.507093 -120.338516,50.506333 -120.339671,50.505486 -120.340195,50.504892 -120.340638,50.504343 -120.340713,50.503154 -120.340582,50.501812 -120.340639,50.500765 -120.340740,50.499960 -120.341154,50.499647 -120.342034,50.499787 -120.343016,50.500314 -120.344174,50.501232 -120.345090,50.502280 -120.345548,50.503401 -120.345456,50.504731 -120.345087,50.506477 -120.344611,50.507884 -120.343521,50.509402 -120.341854,50.510748 -120.340098,50.511612 -120.338824,50.512215 -120.338226,50.512805 -120.338032,50.513749 -120.338050,50.514799 -120.338276,50.515383 -120.338776,50.516171 -120.339529,50.516735 -120.340231,50.517104 -120.341341,50.517209 -120.342246,50.517159 -120.343482,50.517461 -120.344693,50.517952 -120.345452,50.518467 -120.345797,50.519296 -120.345940,50.520543 -120.345857,50.521207 -120.345851,50.522446 -120.345645,50.523485 -120.345160,50.524367 -120.344356,50.524803 -120.343016,50.524734 -120.342245,50.524314 -120.341671,50.523521 -120.341582,50.521847 -120.341433,50.520647 -120.340772,50.519946 -120.339817,50.519802 -120.338263,50.520247 -120.337254,50.520529 -120.336292,50.520433 -120.335390,50.519862 -120.334194,50.518656 -120.333322,50.517848 -120.332414,50.517325 -120.331087,50.517162 -120.330164,50.517353 -120.329714,50.517950 -120.329633,50.519186 -120.329713,50.520335 -120.330210,50.521744 -120.331013,50.523692 -120.331599,50.525582 -120.331768,50.527213 -120.331511,50.529251 -120.331391,50.530198 -120.331823,50.530936 -120.332844,50.531751 -120.333734,50.532417 -120.333820,50.533518 -120.333671,50.534703 -120.333596,50.535891 -120.333694,50.536898 -120.334468,50.537891 -120.335545,50.538852 -120.336293,50.539463 -120.336712,50.540295 -120.336772,50.541014 -120.337320,50.541423 -120.338171,50.541800 -120.340226,50.542144 -120.341388,50.542441 -120.342457,50.542877 -120.343303,50.543302 -120.344038,50.544007 -120.344116,50.544583 -120.343931,50.544860 -120.343006,50.545958 -120.342526,50.546792 -120.342470,50.547838 -120.342910,50.549101 -120.342970,50.549819 -120.342749,50.550380 -120.342106,50.550729 -120.341424,50.550790 -120.340554,50.550554 -120.339875,50.549995 -120.339416,50.548875 -120.338681,50.546977 -120.338092,50.545707 -120.337505,50.545010 -120.336722,50.544683 -120.335307,50.544611 -120.333943,50.544732 -120.332609,50.544617 -120.331739,50.544381 -120.331060,50.543822 -120.330435,50.542836 -120.329831,50.542281 -120.329015,50.541619 -120.328431,50.541494 -120.327886,50.541657 -120.327540,50.542021 -120.327117,50.543001 -120.326997,50.543948 -120.327188,50.544817 -120.326916,50.545184 -120.325496,50.545159 -120.324781,50.544884 -120.324028,50.544321 -120.323084,50.544082 -120.322384,50.544285 -120.322121,50.545178 -120.321921,50.546169 -120.321203,50.546514 -120.320199,50.546749 -120.319797,50.546966 -120.319433,50.547472 -120.319444,50.548570 -120.319417,50.549379 -120.319345,50.549948 -120.319842,50.550164 -120.321376,50.550481 -120.323226,50.550671 -120.325534,50.550789 -120.327620,50.550896 -120.329556,50.550995 -120.331858,50.551160 -120.334441,50.551483 -120.337348,50.552203 -120.339797,50.552996 -120.342377,50.553938 -120.344322,50.554562 -120.345576,50.554721 -120.347295,50.554761 -120.348901,50.554509 -120.349943,50.554562 -120.351117,50.554765 -120.352932,50.555239 -120.354648,50.555898 -120.357549,50.556666 -120.360005,50.557410 -120.362862,50.557937 -120.364030,50.558187 -120.364539,50.558308 -120.365284,50.558346 -120.366121,50.558246 -120.367274,50.558018 -120.368031,50.557961 -120.368987,50.558105 -120.370007,50.558347 -120.371014,50.558684 -120.371979,50.559353 -120.373329,50.559946 -120.374827,50.560261 -120.376546,50.560300 -120.378140,50.560142 -120.380162,50.558957 -120.381544,50.557501 -120.382776,50.556037 -120.384464,50.555121 -120.386562,50.555132 -120.388090,50.555495 -120.389709,50.556340 -120.393589,50.557681 -120.394939,50.558273 -120.396462,50.558684 -120.397815,50.558657 -120.398762,50.558275 -120.399611,50.558080 -120.400916,50.558432 -120.402294,50.559407 -120.403191,50.560025 -120.404152,50.560741 -120.405747,50.561775 -120.407348,50.562762 -120.409265,50.563621 -120.410965,50.564422 -120.412704,50.565511 -120.413933,50.566479 -120.414354,50.567311 -120.414185,50.568066 -120.413524,50.568557 -120.412160,50.568679 -120.411024,50.568765 -120.409987,50.568665 -120.409334,50.568489 -120.409523,50.568785 -120.410665,50.569844 -120.411620,50.570607 -120.412220,50.571210 -120.412596,50.571801 -120.412400,50.572172 -120.411974,50.572580 -120.411367,50.572645 -120.410535,50.572699 -120.409298,50.572398 -120.408475,50.571784 -120.407377,50.570966 -120.406726,50.570170 -120.405881,50.569126 -120.405237,50.568283 -120.404825,50.567976 -120.403966,50.567647 -120.402923,50.567594 -120.402223,50.567797 -120.401723,50.568201 -120.401634,50.568912 -120.401942,50.569452 -120.402798,50.570401 -120.403404,50.570956 -120.403953,50.571366 -120.403882,50.571934 -120.403272,50.572619 -120.402268,50.572854 -120.400984,50.572933 -120.399556,50.572956 -120.398626,50.573195 -120.398406,50.573757 -120.398455,50.574570 -120.399496,50.575242 -120.400268,50.575663 -120.401219,50.575854 -120.402576,50.576399 -120.404380,50.576967 -120.406000,50.577811 -120.406853,50.578188 -120.407941,50.578481 -120.409231,50.578355 -120.410104,50.577970 -120.410908,50.577534 -120.411536,50.576707 -120.412174,50.576405 -120.412793,50.576246 -120.413452,50.576374 -120.414803,50.576967 -120.418308,50.578335 -120.420816,50.579272 -120.422934,50.580332 -120.424962,50.580910 -120.425941,50.581484 -120.426198,50.581831 -120.426121,50.582447 -120.425988,50.582917 -120.426325,50.583220 -120.427476,50.583612 -120.429099,50.583836 -120.430933,50.584166 -120.432096,50.584463 -120.433241,50.584902 -120.434083,50.585373 -120.434718,50.585691 -120.435993,50.585994 -120.437604,50.586313 -120.438326,50.586540 -120.439024,50.586956 -120.439590,50.587843 -120.440045,50.589010 -120.440667,50.590042 -120.440636,50.590899 -120.440415,50.592080 -120.440625,50.592806 -120.441277,50.593602 -120.442364,50.594514 -120.443875,50.595639 -120.445255,50.596614 -120.446056,50.597417 -120.447347,50.598197 -120.448234,50.598909 -120.448886,50.599704 -120.449427,50.601400 -120.450115,50.603723 -120.450756,50.606426 -120.451037,50.609015 -120.451171,50.610357 -120.451025,50.611541 -120.450476,50.612944 -120.450017,50.613923 -120.450111,50.615597 -120.450227,50.617081 -120.450397,50.618138 -120.450849,50.618733 -120.451018,50.619790 -120.450964,50.620837 -120.450801,50.621544 -120.450156,50.622513 -120.449528,50.623340 -120.449417,50.624240 -120.449466,50.625053 -120.450027,50.625987 -120.450857,50.626553 -120.451861,50.626937 -120.453428,50.627015 -120.454564,50.626929 -120.456023,50.626668 -120.457660,50.626177 -120.458849,50.625664 -120.460727,50.625043 -120.461991,50.624533 -120.462841,50.624337 -120.463593,50.624327 -120.464292,50.624743 -120.464509,50.625422 -120.464162,50.626406 -120.463270,50.627553 -120.461895,50.628963 -120.460918,50.629582 -120.460515,50.629800 -120.459936,50.629628 -120.459523,50.629322 -120.458956,50.629055 -120.458060,50.629011 -120.457584,50.629225 -120.457468,50.629553 -120.457633,50.630038 -120.458515,50.630797 -120.459604,50.631710 -120.461364,50.632656 -120.462458,50.633521 -120.463620,50.635057 -120.465384,50.637195 -120.466591,50.638972 -120.467453,50.641112 -120.468586,50.642885 -120.469302,50.643779 -120.471127,50.645729 -120.472405,50.646937 -120.473517,50.647660 -120.474498,50.648233 -120.475968,50.648497 -120.478322,50.648280 -120.479972,50.647694 -120.482339,50.646763 -120.484718,50.645736 -120.487437,50.644393 -120.488402,50.643869 -120.489368,50.643344 -120.489754,50.642648 -120.489819,50.641507 -120.489758,50.640169 -120.489352,50.639195 -120.488636,50.638302 -120.487030,50.637316 -120.485401,50.636520 -120.484047,50.635929 -120.483422,50.635516 -120.483262,50.634984 -120.483023,50.633875 -120.483020,50.632683 -120.483162,50.631832 -120.483438,50.631416 -120.483771,50.631147 -120.484989,50.631017 -120.485230,50.630885 -120.484525,50.630517 -120.482833,50.629622 -120.481709,50.628994 -120.481492,50.628316 -120.481895,50.627478 -120.482609,50.626559 -120.483327,50.626214 -120.484595,50.626277 -120.486047,50.626682 -120.487400,50.627274 -120.488186,50.627599 -120.488294,50.627938 -120.488368,50.628562 -120.487861,50.629633 -120.487303,50.630511 -120.487963,50.630639 -120.489805,50.630921 -120.491710,50.631302 -120.493150,50.631802 -120.494602,50.632208 -120.495359,50.632150 -120.496049,50.631421 -120.496850,50.629792 -120.497557,50.628921 -120.498825,50.628984 -120.500185,50.629528 -120.502101,50.630433 -120.504067,50.632152 -120.505128,50.633301 -120.506246,50.633976 -120.507836,50.634483 -120.508944,50.634633 -120.510006,50.634543 -120.511671,50.633814 -120.512625,50.633385 -120.514124,50.632791 -120.515341,50.632660 -120.517605,50.632867 -120.519373,50.633145 -120.520997,50.633368 -120.522886,50.633270 -120.525028,50.632947 -120.526285,50.633104 -120.527668,50.633458 -120.528953,50.633998 -120.530216,50.634728 -120.531087,50.636201 -120.531574,50.637750 -120.532118,50.639446 -120.532450,50.640416 -120.533173,50.641262 -120.534298,50.641889 -120.535905,50.642254 -120.537479,50.642284 -120.538862,50.642018 -120.540051,50.641504 -120.540930,50.641071 -120.541682,50.640440 -120.542613,50.640200 -120.543813,50.640211 -120.545575,50.640536 -120.546941,50.641032 -120.548798,50.642124 -120.549389,50.642820 -120.549659,50.643692 -120.549630,50.644548 -120.549021,50.645234 -120.547419,50.645441 -120.545225,50.645572 -120.543709,50.645689 -120.543055,50.646133 -120.543071,50.647231 -120.543605,50.648401 -120.544644,50.649120 -120.544885,50.649608 -120.544873,50.650323 -120.544344,50.650964 -120.543552,50.651307 -120.542937,50.651420 -120.542489,50.652017 -120.541971,50.653184 -120.541649,50.653979 -120.540610,50.654500 -120.539432,50.654919 -120.537755,50.655123 -120.536842,50.655221 -120.534659,50.655257 -120.531587,50.655201 -120.529835,50.655401 -120.529323,50.655900 -120.529012,50.656600 -120.528879,50.658310 -120.528498,50.660818 -120.527956,50.662794 -120.527151,50.664471 -120.525684,50.666020 -120.523891,50.667171 -120.521512,50.668198 -120.519437,50.668573 -120.515686,50.668531 -120.509419,50.668175 -120.505995,50.667911 -120.503566,50.667505 -120.501395,50.666825 -120.499408,50.666489 -120.496863,50.666411 -120.493668,50.666729 -120.489916,50.667307 -120.485264,50.668173 -120.480230,50.668782 -120.476662,50.669081 -120.473652,50.669123 -120.470981,50.668847 -120.467885,50.668360 -120.464894,50.667639 -120.460719,50.666764 -120.459416,50.666365 -120.453102,50.665478 -120.450225,50.665049 -120.445659,50.664916 -120.441332,50.665273 -120.435718,50.665707 -120.431490,50.665877 -120.425225,50.665802 -120.420533,50.665472 -120.416772,50.664902 -120.410992,50.663658 -120.405041,50.661976 -120.399861,50.660142 -120.389945,50.656829 -120.384835,50.655046 -120.380585,50.653591 -120.377429,50.653003 -120.372864,50.652868 -120.367670,50.652652 -120.364386,50.652486 -120.362562,50.652060 -120.360860,50.651258 -120.359561,50.650239 -120.357939,50.649394 -120.356070,50.648727 -120.353599,50.648077 -120.350339,50.647720 -120.348180,50.647563 -120.345871,50.647112 -120.344140,50.646547 -120.343128,50.645637 -120.342468,50.644316 -120.342355,50.642832 -120.342305,50.641447 -120.342015,50.640764 -120.341347,50.640110 -120.340481,50.639828 -120.338484,50.639583 -120.337067,50.639511 -120.335637,50.639534 -120.334327,50.639801 -120.333565,50.640477 -120.332860,50.641300 -120.332063,50.642261 -120.331147,50.642977 -120.330334,50.643460 -120.329042,50.643585 -120.327872,50.643335 -120.326514,50.642788 -120.325720,50.641937 -120.325261,50.640817 -120.325185,50.639049 -120.325248,50.637955 -120.324938,50.636842 -120.324685,50.635876 -120.324041,50.635032 -120.323205,50.634512 -120.322128,50.634124 -120.320591,50.633807 -120.319292,50.633693 -120.318429,50.633982 -120.317740,50.634090 -120.317006,50.633957 -120.316158,50.633533 -120.315353,50.632776 -120.314485,50.631921 -120.312692,50.631257 -120.310801,50.630779 -120.308649,50.630573 -120.307295,50.630599 -120.306668,50.630806 -120.306315,50.631217 -120.306156,50.631876 -120.306457,50.632464 -120.307325,50.633319 -120.308521,50.633953 -120.309610,50.634247 -120.310556,50.634486 -120.311093,50.634990 -120.311611,50.635637 -120.311834,50.636841 -120.311482,50.637252 -120.310843,50.637553 -120.309213,50.637374 -120.308106,50.637222 -120.306745,50.637296 -120.305945,50.637684 -120.305544,50.638474 -120.305023,50.640212 -120.304411,50.640896 -120.302733,50.641096 -120.300757,50.641281 -120.299503,50.641694 -120.298225,50.642296 -120.297053,50.643237 -120.295327,50.643816 -120.292867,50.644263 -120.290893,50.645020 -120.288496,50.645851 -120.285308,50.646116 -120.282624,50.646550 -120.279518,50.647345 -120.277501,50.648433 -120.276398,50.649426 -120.274173,50.649788 -120.271581,50.650084 -120.270314,50.650591 -120.268975,50.651667 -120.267466,50.652304 -120.263607,50.653107 -120.261868,50.653780 -120.260402,50.654086 -120.258144,50.654113 -120.256944,50.654098 -120.255370,50.653779 -120.252381,50.652480 -120.250413,50.651424 -120.248227,50.650310 -120.244884,50.648849 -120.242911,50.648413 -120.240350,50.648471 -120.238623,50.649050 -120.238066,50.649879 -120.237638,50.650286 -120.236587,50.650280 -120.234116,50.649627 -120.232473,50.648970 -120.229516,50.647433 -120.227163,50.646453 -120.224843,50.646094 -120.222897,50.646040 -120.220850,50.645600 -120.219163,50.644702 -120.218265,50.643510 -120.218126,50.642263 -120.218651,50.641098 -120.218760,50.639673 -120.217676,50.638758 -120.215528,50.637359 -120.213324,50.635813 -120.212233,50.634373 -120.210832,50.633012 -120.209928,50.631868 -120.209290,50.630118 -120.208746,50.628516 -120.208248,50.627727 -120.206823,50.627128 -120.204971,50.626936 -120.203187,50.626795 -120.201756,50.626244 -120.201046,50.625348 -120.200689,50.624042 -120.200373,50.621259 -120.199821,50.618559 -120.199577,50.617258 -120.199922,50.615750 -120.200082,50.615091 -120.200553,50.614352 -120.201260,50.614103 -120.202391,50.614066 -120.204106,50.614156 -120.205410,50.613938 -120.206429,50.613609 -120.207055,50.612831 -120.207568,50.611761 -120.207355,50.611082 -120.206193,50.610783 -120.205403,50.610503 -120.204632,50.610081 -120.204277,50.609347 -120.204667,50.608652 -120.204994,50.607858 -120.204887,50.606946 -120.204239,50.606150 -120.203344,50.605530 -120.203020,50.605132 -120.203093,50.604563 -120.203577,50.604302 -120.204968,50.603993 -120.205812,50.603847 -120.206743,50.603323 -120.207797,50.602138 -120.208899,50.600573 -120.209796,50.598855 -120.211507,50.597227 -120.212964,50.596397 -120.214571,50.595574 -120.215192,50.595416 -120.215460,50.595296 -120.217014,50.594458 -120.217796,50.593063 -120.216472,50.591654 -120.216469,50.590505 -120.217214,50.589396 -120.218533,50.588507 -120.219989,50.587722 -120.221219,50.586350 -120.222038,50.584670 -120.223192,50.582720 -120.224794,50.580793 -120.226857,50.578795 -120.227528,50.578256 -120.229058,50.577474 -120.230114,50.576284 -120.230136,50.574946 -120.229559,50.573576 -120.228845,50.572103 -120.228455,50.570456 -120.228861,50.568467 -120.229853,50.566604 -120.230634,50.565209 -120.231613,50.563441 -120.232455,50.561571 -120.232937,50.560160 -120.232357,50.557642 -120.231845,50.556945 -120.228295,50.556473 -120.226526,50.556190 -120.225292,50.555264 -120.223843,50.553658 -120.221450,50.552384 -120.218733,50.551286 -120.216590,50.550409 -120.215642,50.549593 -120.215004,50.548124 -120.215352,50.547760 -120.216010,50.547315 -120.217218,50.547283 -120.219011,50.547376 -120.220291,50.546773 -120.221447,50.545972 -120.221755,50.544743 -120.221018,50.543461 -120.218899,50.542393 -120.218336,50.540928 -120.219678,50.539849 -120.221443,50.538984 -120.223110,50.538880 -120.224333,50.539900 -120.226204,50.541721 -120.228289,50.544222 -120.230905,50.544932 -120.234466,50.545309 -120.238237,50.545217 -120.241573,50.545008 -120.243475,50.544245 -120.245313,50.542809 -120.247075,50.540794 -120.247864,50.538155 -120.247921,50.536531 -120.246823,50.535709 -120.243647,50.534683 -120.240870,50.534060 -120.239312,50.533309 -120.238861,50.532137 -120.239443,50.531114 -120.240696,50.529552 -120.242755,50.527553 -120.244515,50.524965 -120.245727,50.522539 -120.246806,50.521159 -120.248110,50.520366 -120.249551,50.519675 -120.250945,50.519056 -120.251681,50.518337 -120.252038,50.518021 -120.253960,50.516987 -120.254134,50.516884 -120.255219,50.515722 -120.255582,50.515298 -120.256984,50.514468 -120.258863,50.514188 -120.260234,50.513897 -120.262156,50.512863 -120.262857,50.512447 -120.263399,50.511815 -120.262888,50.511343 -120.262094,50.511111 -120.260335,50.511402 -120.256803,50.512077 -120.255564,50.512395 -120.253891,50.512594 -120.251177,50.512740 -120.249775,50.512572 -120.248149,50.511820 -120.246670,50.510503 -120.243984,50.509839 -120.241235,50.509076 -120.239802,50.508572 -120.238410,50.507164 -120.237339,50.505582 -120.236123,50.504851 -120.233053,50.504262 -120.230444,50.504174 -120.228472,50.503785 -120.227268,50.503246 -120.225064,50.501747 -120.223240,50.500794 -120.221863,50.500436 -120.220735,50.500472 -120.219398,50.500975 -120.218364,50.501446 -120.217676,50.501553 -120.216796,50.501412 -120.215456,50.500769 -120.214164,50.499748 -120.212979,50.499066 -120.211720,50.498666 -120.208448,50.498495 -120.204289,50.498230 -120.201531,50.498134 -120.198507,50.498357 -120.196643,50.498880 -120.194909,50.499552 -120.193801,50.500019 -120.190932,50.500775 -120.188492,50.501697 -120.187006,50.502764 -120.185303,50.503199 -120.183666,50.503113 -120.181801,50.503063 -120.179991,50.503159 -120.177959,50.503816 -120.176089,50.504958 -120.174287,50.506151 -120.172473,50.507439 -120.171042,50.508080 -120.168867,50.508681 -120.166276,50.509022 -120.164163,50.509149 -120.161491,50.508961 -120.159234,50.508460 -120.157300,50.508358 -120.154672,50.508411 -120.151777,50.508210 -120.149273,50.507887 -120.147035,50.507244 -120.144394,50.506819 -120.141629,50.506768 -120.138220,50.506493 -120.134328,50.506478 -120.132716,50.506488 -120.131043,50.506113 -120.129220,50.505730 -120.127001,50.505517 -120.123896,50.505210 -120.122613,50.504712 -120.121423,50.503504 -120.120059,50.501333 -120.119489,50.499394 -120.118918,50.497455 -120.118336,50.496184 -120.117536,50.494854 -120.115919,50.493480 -120.114345,50.492346 -120.111098,50.489979 -120.109878,50.488435 -120.109494,50.486793 -120.109060,50.484957 -120.108534,50.483259 -120.108001,50.482181 -120.107159,50.481182 -120.104774,50.479385 -120.102371,50.477445 -120.101616,50.476355 -120.101232,50.475285 -120.101171,50.474613 -120.101505,50.473772 -120.101964,50.473129 -120.102602,50.472829 -120.103494,50.472876 -120.104522,50.473026 -120.105333,50.473117 -120.106244,50.473023 -120.106665,50.472663 -120.106907,50.471961 -120.106907,50.470815 -120.106981,50.469102 -120.107248,50.467064 -120.108171,50.464871 -120.108871,50.463525 -120.109998,50.462344 -120.111082,50.460923 -120.112209,50.459170 -120.113497,50.456757 -120.114704,50.454388 -120.115515,50.453047 -120.116233,50.452131 -120.116957,50.451740 -120.118363,50.451290 -120.119341,50.450674 -120.120653,50.449790 -120.121544,50.448692 -120.122126,50.447101 -120.122521,50.444641 -120.122787,50.443176 -120.122892,50.442084 -120.123294,50.441294 -120.123876,50.440848 -120.124495,50.440690 -120.125547,50.440650 -120.126630,50.440374 -120.127558,50.440137 -120.128320,50.439462 -120.128653,50.438620 -120.128863,50.437009 -120.129284,50.435505 -120.130106,50.434356 -120.131399,50.433613 -120.132389,50.432902 -120.134035,50.432322 -120.135644,50.432025 -120.137284,50.432064 -120.137853,50.432285 -120.138676,50.432854 -120.139432,50.433943 -120.140002,50.435309 -120.140566,50.436150 -120.141482,50.436581 -120.142224,50.436620 -120.142763,50.436505 -120.143357,50.435964 -120.143597,50.435261 -120.143745,50.434124 -120.143608,50.432876 -120.143254,50.430997 -120.143377,50.430049 -120.143655,50.429062 -120.144138,50.428801 -120.145045,50.428771 -120.145487,50.428777 -120.145777,50.428840 -120.146724,50.429033 -120.147324,50.429017 -120.148024,50.428816 -120.148413,50.428121 -120.148702,50.426466 -120.149091,50.424626 -120.149102,50.423386 -120.149038,50.420997 -120.148821,50.419793 -120.148375,50.419197 -120.147744,50.418877 -120.146717,50.418727 -120.145808,50.418822 -120.144663,50.419000 -120.143562,50.419419 -120.142245,50.420351 -120.140953,50.421094 -120.139171,50.421572 -120.137755,50.421545 -120.136084,50.421170 -120.135243,50.420744 -120.134432,50.420081 -120.134023,50.419200 -120.133849,50.418237 -120.134053,50.417246 -120.134510,50.415457 -120.135066,50.413482 -120.135065,50.412051 -120.135040,50.411095 -120.134712,50.410171 -120.133845,50.408789 -120.132929,50.407214 -120.132341,50.405417 -120.132149,50.403451 -120.132408,50.402033 -120.132550,50.401516 -120.132883,50.400675 -120.133390,50.400224 -120.134157,50.400074 -120.134887,50.400208 -120.135938,50.400741 -120.136674,50.401401 -120.137238,50.402242 -120.137777,50.404417 -120.138304,50.406688 -120.138279,50.408022 -120.138268,50.409262 -120.138813,50.410245 -120.140056,50.411027 -120.141368,50.411860 -120.142327,50.412531 -120.142804,50.412890 -120.143385,50.413016 -120.143935,50.412807 -120.144059,50.412432 -120.144436,50.411831 -120.144559,50.410884 -120.144756,50.409940 -120.144774,50.409225 -120.144829,50.408226 -120.144501,50.407302 -120.144055,50.406706 -120.143028,50.405984 -120.142125,50.405459 -120.141314,50.404796 -120.141104,50.404116 -120.140998,50.403204 -120.141301,50.402600 -120.141566,50.402280 -120.142092,50.402260 -120.143001,50.402738 -120.144647,50.403875 -120.145946,50.404802 -120.148607,50.406183 -120.150246,50.406795 -120.151761,50.407209 -120.153178,50.407236 -120.154087,50.407141 -120.155113,50.406718 -120.155490,50.406118 -120.155971,50.405285 -120.155637,50.404408 -120.155061,50.403662 -120.154819,50.402647 -120.154478,50.401818 -120.154069,50.400938 -120.153103,50.399455 -120.152576,50.398330 -120.152545,50.397422 -120.152630,50.396186 -120.153130,50.394638 -120.153920,50.393153 -120.154606,50.392473 -120.155520,50.392331 -120.156250,50.392465 -120.157246,50.392851 -120.158545,50.393779 -120.159436,50.394398 -120.160345,50.394876 -120.160846,50.395045 -120.161465,50.394887 -120.161977,50.394389 -120.162372,50.393647 -120.162946,50.392675 -120.163279,50.391834 -120.163148,50.391111 -120.162251,50.390539 -120.161181,50.390149 -120.159790,50.389932 -120.157162,50.389459 -120.155802,50.389006 -120.155091,50.388730 -120.154120,50.388153 -120.153470,50.387403 -120.153321,50.386823 -120.153573,50.385739 -120.154444,50.384210 -120.155320,50.382634 -120.156289,50.381493 -120.156851,50.380616 -120.157413,50.380312 -120.158025,50.380201 -120.158835,50.380291 -120.159836,50.380630 -120.161500,50.381052 -120.162495,50.381439 -120.163948,50.381754 -120.164925,50.381710 -120.165796,50.381327 -120.166493,50.380553 -120.167067,50.379581 -120.167912,50.378242 -120.168356,50.377120 -120.168842,50.375667 -120.169470,50.373696 -120.169865,50.372667 -120.170784,50.371332 -120.171728,50.370379 -120.172610,50.369329 -120.173165,50.368499 -120.173566,50.367709 -120.173701,50.366666 -120.173947,50.365916 -120.174311,50.365410 -120.175157,50.365216 -120.175836,50.365157 -120.176850,50.365401 -120.178420,50.365961 -120.180133,50.366576 -120.182272,50.367357 -120.184751,50.368394 -120.186878,50.369269 -120.189080,50.370148 -120.191917,50.370727 -120.194228,50.370753 -120.195903,50.370506 -120.196854,50.370652 -120.198153,50.371006 -120.199142,50.371440 -120.201942,50.371444 -120.203746,50.371347 -120.205809,50.370979 -120.206983,50.370563 -120.208527,50.370167 -120.209447,50.369976 -120.211159,50.370018 -120.213730,50.370344 -120.215875,50.370504 -120.219539,50.370457 -120.222869,50.370106 -120.225790,50.369448 -120.226970,50.369271 -120.228218,50.368859 -120.229150,50.368574 -120.230497,50.368548 -120.231431,50.368836 -120.232180,50.369400 -120.232891,50.369675 -120.233534,50.369900 -120.234356,50.369895 -120.234992,50.369594 -120.235435,50.369045 -120.236058,50.368266 -120.236375,50.366947 -120.236575,50.365383 -120.236079,50.364594 -120.234815,50.363383 -120.234152,50.362728 -120.233866,50.362045 -120.234259,50.361302 -120.234753,50.360946 -120.235266,50.361021 -120.235927,50.361103 -120.236494,50.360751 -120.236567,50.360182 -120.236756,50.359285 -120.237768,50.356619 -120.238204,50.355544 -120.238920,50.353148 -120.239439,50.350837 -120.239985,50.349482 -120.240538,50.348652 -120.240988,50.348055 -120.241907,50.347865 -120.242661,50.347809 -120.243452,50.348041 -120.244460,50.348332 -120.245289,50.348852 -120.245809,50.349452 -120.246324,50.350099 -120.246832,50.350793 -120.247637,50.351503 -120.248455,50.352118 -120.250112,50.352586 -120.251632,50.352951 -120.253263,50.353036 -120.254604,50.353058 -120.256036,50.352942 -120.257437,50.352490 -120.258696,50.351983 -120.259794,50.351563 -120.260746,50.351708 -120.261810,50.352145 -120.263034,50.352494 -120.263733,50.352865 -120.264969,50.353120 -120.266188,50.353517 -120.269567,50.353644 -120.273039,50.353920 -120.275869,50.353971 -120.278283,50.353762 -120.279752,50.353361 -120.281375,50.352920 -120.282631,50.351840 -120.283461,50.350595 -120.284718,50.348323 -120.286058,50.346579 -120.286795,50.345472 -120.288222,50.343924 -120.289991,50.342918 -120.291124,50.342213 -120.292145,50.341216 -120.293565,50.339429 -120.294818,50.337776 -120.295775,50.336108 -120.297401,50.335047 -120.299035,50.334511 -120.300521,50.333968 -120.301301,50.333102 -120.302737,50.332365 -120.303857,50.331468 -120.304626,50.329504 -120.305820,50.327133 -120.306353,50.324679 -120.305949,50.322559 -120.304753,50.321400 -120.304208,50.320990 -120.303575,50.320099 -120.303584,50.319432 -120.303733,50.318247 -120.304389,50.315704 -120.304466,50.313323 -120.303937,50.312198 -120.303177,50.310537 -120.303089,50.308862 -120.302972,50.307425 -120.302309,50.306770 -120.301406,50.306247 -120.300500,50.306343 -120.298751,50.307207 -120.296847,50.308111 -120.295184,50.308883 -120.293301,50.310217 -120.291762,50.311187 -120.289843,50.312806 -120.287971,50.314045 -120.285481,50.314870 -120.282965,50.315312 -120.280280,50.315316 -120.278224,50.315067 -120.275741,50.314652 -120.274394,50.314105 -120.273298,50.313332 -120.272554,50.312149 -120.272458,50.311142 -120.273022,50.310217 -120.273408,50.309521 -120.274023,50.308790 -120.275212,50.308231 -120.277302,50.307624 -120.279219,50.307198 -120.281261,50.306970 -120.283537,50.306659 -120.286145,50.306078 -120.288321,50.305380 -120.289510,50.304821 -120.290900,50.303843 -120.292394,50.302346 -120.293364,50.301156 -120.294578,50.299214 -120.295552,50.297404 -120.296179,50.295385 -120.296703,50.293599 -120.296948,50.291656 -120.296843,50.290123 -120.297695,50.287209 -120.298630,50.285111 -120.299471,50.282578 -120.300919,50.279360 -120.302186,50.276993 -120.303166,50.275421 -120.303935,50.273457 -120.304849,50.270928 -120.305420,50.268762 -120.306157,50.265270 -120.306402,50.263326 -120.306327,50.261843 -120.306199,50.260501 -120.304821,50.258425 -120.304142,50.256720 -120.303540,50.255592 -120.302709,50.254499 -120.302017,50.254082 -120.299702,50.253246 -120.297770,50.252622 -120.294735,50.251892 -120.291966,50.251415 -120.289765,50.251158 -120.288161,50.250884 -120.286528,50.250847 -120.285184,50.250872 -120.283281,50.251203 -120.280536,50.252301 -120.278235,50.253423 -120.271401,50.255644 -120.263583,50.258578 -120.258289,50.260974 -120.253233,50.262667 -120.250203,50.263654 -120.248417,50.264229 -120.247233,50.264167 -120.245949,50.263719 -120.245503,50.263123 -120.245008,50.262334 -120.244667,50.261505 -120.244387,50.260774 -120.243719,50.260167 -120.242720,50.259828 -120.240376,50.259515 -120.237917,50.259530 -120.235007,50.259568 -120.232388,50.259670 -120.230242,50.259558 -120.228811,50.259101 -120.227434,50.258218 -120.226753,50.257132 -120.226436,50.256114 -120.226669,50.255458 -120.227943,50.254809 -120.229909,50.254578 -120.232608,50.254433 -120.235308,50.254288 -120.237741,50.253890 -120.239743,50.253374 -120.241135,50.252970 -120.241991,50.252681 -120.242927,50.252348 -120.243617,50.252193 -120.244886,50.252164 -120.246440,50.252245 -120.247845,50.252318 -120.249349,50.252206 -120.250291,50.251825 -120.250961,50.251240 -120.251241,50.250205 -120.251668,50.248605 -120.252284,50.246681 -120.253023,50.244381 -120.253461,50.242686 -120.254396,50.242067 -120.255196,50.241631 -120.256785,50.241428 -120.259489,50.241235 -120.261812,50.241117 -120.264055,50.241043 -120.266507,50.241075 -120.269650,50.240952 -120.271498,50.241048 -120.273513,50.241010 -120.274499,50.240870 -120.274984,50.240562 -120.275026,50.240230 -120.274778,50.239835 -120.274167,50.239374 -120.273161,50.239083 -120.269586,50.238516 -120.266066,50.238094 -120.261703,50.237867 -120.257876,50.237524 -120.255305,50.237247 -120.253665,50.236684 -120.251828,50.236493 -120.248784,50.236430 -120.241133,50.236889 -120.236686,50.237325 -120.235454,50.237642 -120.234446,50.238544 -120.233968,50.239377 -120.233723,50.240128 -120.233145,50.240575 -120.232578,50.240354 -120.232009,50.239561 -120.231206,50.238851 -120.230435,50.238477 -120.229042,50.238308 -120.227391,50.238413 -120.226319,50.238643 -120.225285,50.239161 -120.224547,50.239695 -120.224117,50.240150 -120.223447,50.240735 -120.222389,50.241443 -120.219213,50.243281 -120.218069,50.244080 -120.217634,50.245154 -120.217581,50.246154 -120.218102,50.247899 -120.218709,50.248981 -120.219574,50.249789 -120.220502,50.251270 -120.220998,50.252632 -120.221456,50.253706 -120.221168,50.254215 -120.220454,50.254560 -120.219560,50.254560 -120.218247,50.254348 -120.216088,50.253758 -120.214299,50.253187 -120.211925,50.252537 -120.210766,50.252286 -120.208775,50.252133 -120.207850,50.252371 -120.206989,50.252994 -120.206769,50.254128 -120.206550,50.255261 -120.207015,50.256860 -120.207549,50.258511 -120.208473,50.261184 -120.208946,50.263308 -120.208862,50.264545 -120.208753,50.265398 -120.207896,50.265687 -120.207249,50.265510 -120.206859,50.265060 -120.206610,50.263520 -120.205996,50.261913 -120.205135,50.259911 -120.204768,50.258126 -120.204184,50.255710 -120.203298,50.253325 -120.202217,50.252457 -120.201292,50.252122 -120.200293,50.251783 -120.199405,50.251736 -120.198654,50.251792 -120.198106,50.252574 -120.197338,50.253918 -120.197316,50.255253 -120.197740,50.257756 -120.198534,50.260280 -120.198277,50.261698 -120.197121,50.263164 -120.195606,50.263943 -120.194140,50.264916 -120.193415,50.265927 -120.192276,50.267251 -120.191280,50.268630 -120.190457,50.270400 -120.189517,50.272498 -120.188343,50.274679 -120.186599,50.279263 -120.185593,50.283028 -120.184526,50.286693 -120.182194,50.290913 -120.179831,50.294796 -120.177504,50.298396 -120.175207,50.301758 -120.173947,50.305461 -120.173432,50.307724 -120.172225,50.310142 -120.169847,50.312974 -120.167553,50.314571 -120.164019,50.316818 -120.162120,50.318817 -120.160257,50.320532 -120.158629,50.322163 -120.156538,50.323341 -120.154458,50.323851 -120.151853,50.323809 -120.149606,50.323881 -120.146001,50.323499 -120.141932,50.322662 -120.138863,50.321593 -120.136931,50.320393 -120.135696,50.319564 -120.133998,50.319140 -120.132307,50.319527 -120.130894,50.320645 -120.130333,50.322094 -120.129531,50.323674 -120.129741,50.324926 -120.131044,50.326379 -120.132137,50.327725 -120.131749,50.328993 -120.130928,50.329570 -120.129434,50.330158 -120.128625,50.330640 -120.127478,50.332583 -120.126613,50.333778 -120.125589,50.334201 -120.124168,50.334221 -120.122791,50.333909 -120.121031,50.332527 -120.118216,50.330659 -120.117104,50.329455 -120.116543,50.328613 -120.116425,50.327796 -120.116956,50.326011 -120.117505,50.324656 -120.117388,50.323839 -120.117147,50.322824 -120.116616,50.321746 -120.115326,50.320770 -120.114055,50.319653 -120.112863,50.319064 -120.110518,50.318176 -120.108567,50.317690 -120.107172,50.317520 -120.105592,50.317626 -120.103012,50.317966 -120.101037,50.318815 -120.099907,50.320043 -120.099659,50.321366 -120.099906,50.322333 -120.100634,50.323613 -120.101554,50.324569 -120.103343,50.326287 -120.105053,50.328048 -120.105652,50.329178 -120.106195,50.331306 -120.106102,50.333163 -120.105762,50.334624 -120.104341,50.335789 -120.101569,50.337024 -120.100049,50.337802 -120.099148,50.338422 -120.099055,50.338560 -120.097603,50.339389 -120.096183,50.339981 -120.094738,50.340191 -120.093219,50.339823 -120.090891,50.338792 -120.089236,50.338321 -120.087433,50.338416 -120.086266,50.338210 -120.083722,50.337692 -120.082457,50.337099 -120.080672,50.337052 -120.079746,50.337288 -120.078875,50.337671 -120.076249,50.339487 -120.072493,50.341385 -120.069113,50.343255 -120.067142,50.344056 -120.065888,50.344514 -120.063955,50.344458 -120.061892,50.344251 -120.060096,50.343725 -120.058460,50.343112 -120.056349,50.342140 -120.052917,50.341001 -120.050800,50.340075 -120.046207,50.338969 -120.042102,50.337841 -120.038324,50.337064 -120.034991,50.336311 -120.030981,50.334472 -120.026767,50.332479 -120.023689,50.330928 -120.020618,50.329330 -120.017937,50.327324 -120.016205,50.325750 -120.014148,50.323825 -120.012454,50.321967 -120.011114,50.319699 -120.010210,50.318075 -120.009726,50.316665 -120.009285,50.314923 -120.009008,50.312235 -120.009039,50.309183 -120.008914,50.307314 -120.009055,50.305127 -120.009301,50.302706 -120.009483,50.301332 -120.009888,50.299683 -120.010045,50.298499 -120.010001,50.296015 -120.009496,50.293076 -120.009027,50.290425 -120.008743,50.288071 -120.007520,50.283518 -120.006557,50.281223 -120.005224,50.278907 -120.003326,50.275797 -120.002676,50.274521 -120.001868,50.271900 -120.001874,50.269609 -120.002328,50.267868 -120.003129,50.265763 -120.004243,50.264106 -120.005177,50.262677 -120.006881,50.259094 -120.008892,50.255720 -120.010241,50.253406 -120.011437,50.250560 -120.011613,50.249233 -120.011106,50.247153 -120.010216,50.245434 -120.009327,50.243715 -120.008720,50.242107 -120.008386,50.240132 -120.008410,50.237699 -120.008464,50.235602 -120.008224,50.233202 -120.008001,50.230947 -120.007377,50.228908 -120.006680,50.226866 -120.005998,50.223583 -120.005645,50.221750 -120.004841,50.217983 -120.004145,50.215367 -120.003148,50.212783 -120.002792,50.209852 -120.002599,50.207932 -120.002827,50.205367 -120.003097,50.203329 -120.003730,50.201359 -120.004806,50.199413 -120.006196,50.197341 -120.007814,50.195233 -120.008450,50.194361 -120.009407,50.193029 -120.010619,50.190612 -120.011184,50.188591 -120.011445,50.187173 -120.011357,50.185593 -120.011002,50.184332 -120.010482,50.183206 -120.009249,50.181278 -120.008145,50.180072 -120.006599,50.177983 -120.005601,50.175971 -120.005353,50.173905 -120.005918,50.171883 -120.006285,50.170233 -120.006331,50.168755 -120.006089,50.167215 -120.005784,50.166148 -120.005010,50.163289 -120.004842,50.161180 -120.005082,50.158806 -120.005646,50.156784 -120.006175,50.154474 -120.006295,50.153001 -120.006174,50.152230 -120.006072,50.151031 -120.005500,50.148613 -120.004910,50.145765 -120.004412,50.143351 -120.004171,50.141237 -120.003886,50.139455 -120.003858,50.138547 -120.004186,50.137467 -120.004811,50.136117 -120.005772,50.135023 -120.006863,50.134080 -120.008082,50.133287 -120.009367,50.133119 -120.010178,50.133163 -120.012046,50.133647 -120.013083,50.134228 -120.016049,50.135965 -120.018019,50.137361 -120.020890,50.140382 -120.023129,50.143129 -120.025313,50.145730 -120.026501,50.147990 -120.027771,50.149634 -120.029232,50.150955 -120.031327,50.151976 -120.033405,50.152566 -120.036165,50.153336 -120.039664,50.153860 -120.044627,50.153986 -120.047960,50.154071 -120.050413,50.154633 -120.052430,50.155124 -120.054870,50.156354 -120.056750,50.157315 -120.056959,50.157421 -120.058287,50.158066 -120.060556,50.158904 -120.062290,50.159284 -120.065199,50.159776 -120.067253,50.159982 -120.070918,50.160370 -120.074523,50.160660 -120.078373,50.160772 -120.082162,50.160785 -120.085594,50.160683 -120.090644,50.160716 -120.095941,50.160571 -120.099520,50.160477 -120.102387,50.160153 -120.105007,50.159434 -120.107148,50.158404 -120.109104,50.157077 -120.109867,50.155781 -120.109941,50.154639 -120.109363,50.153368 -120.108637,50.152660 -120.107438,50.152167 -120.105587,50.152115 -120.104222,50.152328 -120.102100,50.152644 -120.099757,50.152948 -120.097826,50.152940 -120.095612,50.152821 -120.093564,50.152568 -120.092733,50.152666 -120.091374,50.152832 -120.089732,50.153460 -120.088477,50.153965 -120.087050,50.154079 -120.086078,50.154122 -120.084566,50.153755 -120.082616,50.153316 -120.080433,50.152960 -120.077801,50.152627 -120.075581,50.152555 -120.073823,50.152365 -120.071596,50.152340 -120.069905,50.152201 -120.068264,50.151683 -120.066900,50.150750 -120.066624,50.150020 -120.066822,50.148503 -120.067493,50.147346 -120.067992,50.146943 -120.070852,50.145809 -120.073417,50.144944 -120.075355,50.144333 -120.077944,50.143852 -120.079469,50.143552 -120.082248,50.143320 -120.084468,50.142819 -120.086768,50.142274 -120.089025,50.141489 -120.090378,50.140798 -120.091399,50.139803 -120.091972,50.138831 -120.092421,50.137662 -120.092544,50.136714 -120.092981,50.136212 -120.093670,50.136058 -120.094493,50.136007 -120.096172,50.136241 -120.098293,50.136498 -120.105694,50.137563 -120.108910,50.137974 -120.111436,50.137966 -120.112992,50.138002 -120.113853,50.137666 -120.115039,50.137109 -120.115943,50.136441 -120.116865,50.136204 -120.118144,50.136082 -120.119379,50.136291 -120.120824,50.136607 -120.122214,50.136777 -120.123917,50.136820 -120.125054,50.136642 -120.126449,50.136192 -120.128041,50.135370 -120.128816,50.134552 -120.129522,50.133683 -120.130057,50.132423 -120.130855,50.131416 -120.131673,50.130839 -120.132902,50.130523 -120.133769,50.130426 -120.135674,50.130623 -120.138477,50.130772 -120.140168,50.130910 -120.142319,50.130929 -120.143831,50.130724 -120.145362,50.130376 -120.146640,50.129680 -120.147770,50.128977 -120.148188,50.128044 -120.149066,50.126993 -120.149348,50.125958 -120.149943,50.124797 -120.150938,50.123990 -120.152148,50.123243 -120.154034,50.122437 -120.155773,50.121622 -120.157585,50.120812 -120.159882,50.119693 -120.161860,50.118748 -120.162738,50.117983 -120.163364,50.117158 -120.163258,50.115672 -120.163016,50.113512 -120.162474,50.111955 -120.162201,50.109459 -120.162015,50.108017 -120.162247,50.106216 -120.162700,50.104999 -120.163356,50.103650 -120.164681,50.102002 -120.165754,50.100579 -120.167122,50.098599 -120.167341,50.096893 -120.167400,50.094700 -120.167582,50.092705 -120.167464,50.091315 -120.167902,50.088188 -120.168305,50.086205 -120.168740,50.085130 -120.169506,50.084359 -120.170095,50.083818 -120.170961,50.083434 -120.172741,50.083433 -120.174474,50.083811 -120.177152,50.084335 -120.178743,50.084658 -120.180646,50.084855 -120.182041,50.084976 -120.183410,50.084715 -120.184594,50.084157 -120.186159,50.083524 -120.187901,50.082661 -120.189269,50.081827 -120.190711,50.080996 -120.192839,50.079438 -120.193894,50.078731 -120.197046,50.076988 -120.198826,50.076414 -120.201502,50.075792 -120.204073,50.075402 -120.207241,50.074997 -120.210021,50.074714 -120.212463,50.074175 -120.214874,50.073299 -120.217120,50.072558 -120.218291,50.072095 -120.220081,50.070853 -120.220779,50.070031 -120.221592,50.068880 -120.222008,50.067948 -120.222190,50.067098 -120.222422,50.066442 -120.223253,50.064863 -120.224226,50.063625 -120.225292,50.062822 -120.226481,50.062217 -120.227781,50.061903 -120.228849,50.061673 -120.230555,50.061667 -120.232243,50.061804 -120.234300,50.061960 -120.236289,50.062064 -120.238805,50.062101 -120.240314,50.061894 -120.241915,50.061548 -120.243897,50.061127 -120.244902,50.060798 -120.246171,50.060149 -120.247188,50.059725 -120.247702,50.059179 -120.248081,50.058530 -120.248336,50.057685 -120.248659,50.056890 -120.248982,50.056096 -120.249158,50.055294 -120.249690,50.054606 -120.250315,50.054352 -120.251456,50.054125 -120.252290,50.053978 -120.253922,50.053968 -120.256842,50.053739 -120.258560,50.053638 -120.260609,50.053268 -120.262227,50.052780 -120.263931,50.052201 -120.265721,50.051531 -120.267277,50.050944 -120.269035,50.049938 -120.270701,50.049071 -120.272256,50.047911 -120.273657,50.046791 -120.275450,50.045500 -120.276754,50.044566 -120.277703,50.044091 -120.279639,50.043428 -120.280865,50.043110 -120.282521,50.042910 -120.284754,50.042835 -120.286619,50.042742 -120.288360,50.042450 -120.290187,50.042068 -120.291725,50.041623 -120.293215,50.041558 -120.294449,50.041765 -120.295474,50.041866 -120.296562,50.042352 -120.297778,50.042702 -120.300907,50.042578 -120.302486,50.041801 -120.302325,50.041315 -120.301588,50.039798 -120.301572,50.038747 -120.301876,50.038094 -120.302303,50.037639 -120.303376,50.037361 -120.304486,50.037371 -120.306032,50.037451 -120.307935,50.037645 -120.309726,50.037547 -120.312706,50.037416 -120.315366,50.036885 -120.317714,50.036482 -120.319805,50.036352 -120.322545,50.035778 -120.328013,50.035011 -120.330728,50.034626 -120.333076,50.034222 -120.334554,50.034251 -120.335903,50.034130 -120.337738,50.034272 -120.339664,50.034276 -120.341269,50.033882 -120.342126,50.033544 -120.342768,50.033148 -120.343128,50.032641 -120.343558,50.031566 -120.343732,50.030763 -120.344662,50.030430 -120.346040,50.030071 -120.346671,50.029770 -120.346900,50.029113 -120.346403,50.027751 -120.345455,50.025841 -120.345187,50.025016 -120.345266,50.023779 -120.345446,50.022930 -120.345920,50.022095 -120.346653,50.021560 -120.347369,50.021167 -120.348373,50.020837 -120.349450,50.020511 -120.350811,50.020295 -120.351735,50.020008 -120.352904,50.019544 -120.353949,50.018882 -120.355115,50.017844 -120.356027,50.016459 -120.356736,50.014921 -120.357013,50.013885 -120.357189,50.012462 -120.357233,50.011510 -120.357383,50.010897 -120.357839,50.010205 -120.358266,50.009750 -120.358987,50.009309 -120.360173,50.008702 -120.360832,50.008164 -120.361798,50.007545 -120.362875,50.007219 -120.363964,50.006797 -120.364826,50.006412 -120.365632,50.005881 -120.366274,50.005484 -120.366939,50.004898 -120.367247,50.004198 -120.367597,50.003166 -120.367900,50.002514 -120.368247,50.002102 -120.369154,50.001958 -120.369766,50.001798 -120.370575,50.001840 -120.372838,50.002099 -120.374286,50.002364 -120.375746,50.002535 -120.377857,50.002834 -120.379808,50.003220 -120.381404,50.003493 -120.382705,50.003751 -120.384176,50.003826 -120.386630,50.004047 -120.387977,50.003925 -120.389693,50.003822 -120.390929,50.003408 -120.392471,50.002914 -120.394221,50.002527 -120.395440,50.002255 -120.397796,50.001755 -120.399547,50.001367 -120.402734,50.001339 -120.405933,50.001216 -120.407120,50.001802 -120.408186,50.002763 -120.409259,50.003677 -120.410090,50.004148 -120.412225,50.004544 -120.413747,50.004812 -120.414816,50.005153 -120.415699,50.005198 -120.416447,50.005141 -120.416776,50.004871 -120.416246,50.004367 -120.415496,50.003231 -120.415283,50.002552 -120.415336,50.002125 -120.416192,50.001787 -120.417392,50.001657 -120.418860,50.001159 -120.420498,50.000479 -120.421904,49.999883 -120.423192,49.999041 -120.424196,49.998090 -120.425490,49.997202 -120.426392,49.996484 -120.426405,49.995769 -120.426039,49.995130 -120.425373,49.994523 -120.423677,49.993864 -120.421908,49.993202 -120.420450,49.992411 -120.420028,49.991626 -120.420092,49.991105 -120.420266,49.990589 -120.420352,49.990498 -120.420975,49.990243 -120.422028,49.990106 -120.423505,49.990133 -120.424579,49.990426 -120.425727,49.990723 -120.426955,49.990977 -120.427605,49.991105 -120.428432,49.991004 -120.429282,49.990713 -120.430064,49.990371 -120.430507,49.989773 -120.430532,49.988963 -120.430031,49.988222 -120.429059,49.987695 -120.427775,49.987296 -120.426027,49.987064 -120.424839,49.987099 -120.424064,49.986773 -120.423387,49.986262 -120.423530,49.985696 -120.423956,49.985241 -120.425005,49.984530 -120.426178,49.984017 -120.427266,49.983595 -120.429457,49.983230 -120.430668,49.983005 -120.432898,49.982927 -120.434319,49.982809 -120.435631,49.982971 -120.436338,49.983245 -120.436365,49.983628 -120.435860,49.984128 -120.435361,49.984580 -120.435353,49.985247 -120.435419,49.985919 -120.435655,49.986408 -120.436407,49.986923 -120.437498,49.987074 -120.438822,49.987142 -120.440193,49.986829 -120.441428,49.986415 -120.442883,49.986011 -120.443665,49.985669 -120.444401,49.985706 -120.445283,49.985751 -120.446416,49.985570 -120.446636,49.985581 -120.447356,49.985140 -120.447890,49.984404 -120.448453,49.983430 -120.448601,49.982817 -120.449468,49.982384 -120.450595,49.982250 -120.452106,49.981993 -120.453335,49.981626 -120.454174,49.980809 -120.455025,49.979898 -120.455622,49.978639 -120.456338,49.977626 -120.457204,49.977192 -120.458230,49.976672 -120.459628,49.976122 -120.460524,49.975451 -120.461963,49.974570 -120.463855,49.973615 -120.464218,49.973061 -120.464899,49.972332 -120.465465,49.971931 -120.466388,49.971644 -120.467491,49.971699 -120.468831,49.972244 -120.470085,49.972880 -120.471103,49.973027 -120.472353,49.973090 -120.473174,49.973036 -120.474102,49.972701 -120.475048,49.972224 -120.476458,49.971579 -120.477483,49.971058 -120.478581,49.970541 -120.479436,49.970202 -120.480647,49.969977 -120.481903,49.969993 -120.483515,49.970122 -120.485388,49.969930 -120.486763,49.969569 -120.487635,49.969088 -120.488462,49.968366 -120.489250,49.967356 -120.490462,49.966510 -120.491357,49.965840 -120.492529,49.965326 -120.493701,49.964812 -120.493859,49.964725 -120.494595,49.964141 -120.495450,49.963802 -120.496299,49.963511 -120.496983,49.963355 -120.497866,49.963399 -120.498866,49.963688 -120.499397,49.964192 -120.499950,49.965126 -120.500470,49.965725 -120.501177,49.965999 -120.501980,49.966087 -120.503094,49.966048 -120.504316,49.965727 -120.505612,49.965410 -120.506495,49.964834 -120.507311,49.964207 -120.508306,49.963923 -120.509415,49.963931 -120.510739,49.963997 -120.512368,49.963983 -120.513850,49.963962 -120.515496,49.963806 -120.517068,49.963646 -120.518223,49.963275 -120.519077,49.962936 -120.520084,49.962556 -120.521380,49.962239 -120.522579,49.962109 -120.523840,49.962076 -120.524768,49.962361 -120.526249,49.963581 -120.526746,49.964369 -120.527293,49.965351 -120.527672,49.966515 -120.528050,49.967059 -120.529028,49.967537 -120.529865,49.967961 -120.530312,49.968555 -120.530249,49.969077 -120.529310,49.969507 -120.527069,49.969682 -120.525100,49.970061 -120.522249,49.970395 -120.520817,49.970610 -120.520665,49.970650 -120.519595,49.970931 -120.519312,49.971441 -120.519317,49.972014 -120.519842,49.972565 -120.521047,49.973007 -120.522501,49.973223 -120.523660,49.973424 -120.524486,49.973323 -120.525256,49.973075 -120.526161,49.972929 -120.526755,49.972911 -120.527774,49.973057 -120.528684,49.973485 -120.529487,49.974193 -120.529905,49.975025 -120.530419,49.976291 -120.530616,49.977733 -120.530825,49.978459 -120.531356,49.978963 -120.532069,49.979189 -120.533110,49.979145 -120.533642,49.979029 -120.534050,49.978715 -120.534401,49.978256 -120.534277,49.977438 -120.534136,49.976763 -120.534074,49.976044 -120.534007,49.975373 -120.534284,49.974909 -120.534901,49.974702 -120.535931,49.974753 -120.536751,49.975319 -120.537599,49.976268 -120.538215,49.977301 -120.538820,49.978428 -120.539345,49.979600 -120.539701,49.980953 -120.540226,49.982125 -120.540792,49.982964 -120.542020,49.983216 -120.543151,49.983034 -120.544147,49.982750 -120.544680,49.982013 -120.544590,49.980911 -120.544449,49.979615 -120.544070,49.978451 -120.543658,49.976951 -120.543438,49.975700 -120.543546,49.974799 -120.543959,49.973817 -120.544554,49.973179 -120.545227,49.972496 -120.546002,49.972201 -120.546834,49.972051 -120.547547,49.972278 -120.548140,49.972880 -120.548864,49.973632 -120.549730,49.974438 -120.550499,49.975431 -120.550787,49.976734 -120.550826,49.977642 -120.551041,49.978321 -120.551584,49.978730 -120.552518,49.978967 -120.552775,49.978980 -120.553669,49.978929 -120.554721,49.978790 -120.555604,49.978834 -120.556266,49.978867 -120.556956,49.979283 -120.557200,49.979725 -120.556979,49.980334 -120.555938,49.980998 -120.554625,49.981458 -120.552638,49.981979 -120.552214,49.982435 -120.552067,49.983048 -120.552434,49.983687 -120.553119,49.984150 -120.553894,49.984475 -120.554720,49.984993 -120.554946,49.985577 -120.555003,49.986343 -120.554833,49.987146 -120.554963,49.987916 -120.556270,49.988745 -120.557634,49.989099 -120.558964,49.989117 -120.560684,49.988964 -120.561629,49.988486 -120.562201,49.988037 -120.562376,49.987187 -120.562942,49.986165 -120.563418,49.985282 -120.563904,49.984304 -120.564114,49.983169 -120.563989,49.981732 -120.563763,49.979907 -120.563395,49.978648 -120.563322,49.977404 -120.563463,49.976218 -120.564080,49.974770 -120.565036,49.974197 -120.566032,49.973912 -120.567814,49.973857 -120.569630,49.974138 -120.570830,49.974627 -120.571724,49.975196 -120.572312,49.975846 -120.572635,49.976864 -120.572793,49.978017 -120.572743,49.979064 -120.572816,49.980308 -120.573343,49.981480 -120.573779,49.982169 -120.574803,49.982888 -120.576008,49.983329 -120.577802,49.983800 -120.579970,49.984241 -120.581622,49.984657 -120.582720,49.985379 -120.583683,49.985999 -120.585330,49.986463 -120.586779,49.986725 -120.588986,49.986834 -120.591374,49.986666 -120.593847,49.986406 -120.595844,49.986409 -120.598747,49.986266 -120.601339,49.986250 -120.602663,49.986316 -120.603875,49.986709 -120.604979,49.987384 -120.605517,49.987840 -120.605885,49.988478 -120.606169,49.989208 -120.606458,49.989890 -120.606374,49.990602 -120.606624,49.991616 -120.606789,49.992722 -120.606921,49.994112 -120.606962,49.995641 -120.606425,49.997046 -120.605815,49.998447 -120.605578,49.999819 -120.605772,50.000687 -120.606175,50.002282 -120.606369,50.003770 -120.606965,50.005613 -120.608212,50.007583 -120.608961,50.008765 -120.609471,50.009458 -120.609847,50.011289 -120.609621,50.011946 -120.609130,50.013592 -120.609040,50.014351 -120.609034,50.014398 -120.609171,50.015741 -120.609711,50.017437 -120.610732,50.019444 -120.611023,50.020746 -120.610520,50.021866 -120.608816,50.023119 -120.606756,50.024258 -120.604803,50.025736 -120.602187,50.026562 -120.600075,50.027507 -120.599107,50.028176 -120.598405,50.028475 -120.597283,50.028563 -120.595986,50.028260 -120.594740,50.028151 -120.593058,50.028593 -120.591625,50.029429 -120.590017,50.030495 -120.589145,50.031597 -120.588667,50.033434 -120.588101,50.034456 -120.587308,50.034894 -120.585813,50.035631 -120.585043,50.036500 -120.584534,50.037667 -120.583180,50.039080 -120.581957,50.040021 -120.581538,50.041050 -120.581935,50.042072 -120.583278,50.042615 -120.584700,50.043115 -120.586519,50.043395 -120.587891,50.043701 -120.588894,50.043990 -120.589597,50.044310 -120.589857,50.044610 -120.589566,50.045502 -120.589708,50.046177 -120.590082,50.046768 -120.589845,50.047519 -120.588882,50.048140 -120.587142,50.048436 -120.585658,50.048458 -120.584320,50.048487 -120.583074,50.048998 -120.582343,50.049535 -120.582241,50.050389 -120.582457,50.051067 -120.583245,50.051917 -120.583597,50.052698 -120.583138,50.053439 -120.581732,50.054037 -120.580038,50.054574 -120.576961,50.055519 -120.575091,50.056285 -120.574326,50.057106 -120.573872,50.057800 -120.573677,50.058506 -120.572668,50.059505 -120.571280,50.059962 -120.569109,50.060140 -120.567845,50.060794 -120.566807,50.062030 -120.565719,50.063694 -120.563860,50.066226 -120.561734,50.068506 -120.560225,50.071199 -120.559908,50.072615 -120.559641,50.074224 -120.559499,50.076650 -120.559731,50.079667 -120.559680,50.080714 -120.559243,50.081265 -120.558319,50.081553 -120.557360,50.081506 -120.555829,50.081287 -120.554310,50.080973 -120.552767,50.080849 -120.551883,50.080805 -120.550833,50.080896 -120.550034,50.081381 -120.549671,50.081935 -120.549517,50.082596 -120.549965,50.083190 -120.550878,50.083617 -120.551207,50.083968 -120.551462,50.084314 -120.551269,50.084686 -120.550571,50.085558 -120.549867,50.086478 -120.549192,50.087780 -120.548965,50.089057 -120.548834,50.090148 -120.549032,50.090969 -120.549401,50.091607 -120.550297,50.092176 -120.551726,50.092629 -120.553524,50.093100 -120.554732,50.093541 -120.555560,50.094060 -120.556229,50.095285 -120.557032,50.096947 -120.557962,50.097852 -120.559085,50.098385 -120.560503,50.098932 -120.562301,50.099403 -120.563663,50.099804 -120.564571,50.100279 -120.565025,50.100826 -120.565303,50.101603 -120.565195,50.102504 -120.565405,50.103230 -120.565819,50.104109 -120.566934,50.106264 -120.568001,50.107271 -120.569482,50.107916 -120.571002,50.108230 -120.572705,50.108266 -120.573505,50.108401 -120.574129,50.108766 -120.574776,50.109561 -120.574538,50.110313 -120.574112,50.111389 -120.572756,50.112181 -120.571213,50.112677 -120.569283,50.112677 -120.567303,50.112484 -120.565447,50.112488 -120.564369,50.112816 -120.563722,50.113261 -120.563421,50.113914 -120.563626,50.114687 -120.564528,50.115209 -120.566128,50.115479 -120.568347,50.115541 -120.569602,50.115603 -120.571088,50.115581 -120.572252,50.115782 -120.573608,50.116230 -120.574443,50.116701 -120.574965,50.117299 -120.575470,50.118040 -120.575490,50.118804 -120.575156,50.119742 -120.574503,50.120234 -120.573129,50.120548 -120.571506,50.120468 -120.569610,50.120183 -120.567675,50.120231 -120.566659,50.120658 -120.566154,50.121158 -120.566058,50.121964 -120.566534,50.122942 -120.566319,50.123503 -120.565677,50.123901 -120.563878,50.124671 -120.562504,50.124985 -120.562220,50.124875 -120.561999,50.124244 -120.562096,50.123438 -120.562453,50.122931 -120.562226,50.122347 -120.561369,50.122066 -120.560330,50.122062 -120.558781,50.121986 -120.556902,50.122179 -120.555330,50.122292 -120.554535,50.122109 -120.553934,50.121555 -120.553412,50.120956 -120.553043,50.120318 -120.553043,50.119698 -120.553367,50.118855 -120.553753,50.118111 -120.553254,50.117323 -120.551880,50.117016 -120.549673,50.116859 -120.548157,50.117118 -120.547732,50.117574 -120.546789,50.118624 -120.545994,50.119682 -120.544745,50.120813 -120.543581,50.121232 -120.543507,50.121228 -120.543434,50.121225 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-120.408500,50.640392 -119.697542,50.830827</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-120.398710,50.688899 -120.398760,50.688903 -120.400385,50.689147 -120.402121,50.689388 -120.403283,50.689616 -120.405603,50.690587 -120.407162,50.692048 -120.407687,50.693353 -120.408464,50.698247 -120.408500,50.698670 -120.407976,50.700403 -120.406448,50.701877 -120.404148,50.702867 -120.401426,50.703223 -120.398711,50.702894 -120.397738,50.702644 -120.397731,50.702642 -120.397723,50.702641 -120.396987,50.702419 -120.396919,50.702395 -120.395523,50.702004 -120.395365,50.701936 -120.395224,50.701915 -120.393819,50.701471 -120.392689,50.701227 -120.392573,50.701339 -120.390273,50.702329 -120.388654,50.702626 -120.386944,50.702803 -120.386866,50.702807 -120.386822,50.702815 -120.385441,50.702943 -120.384379,50.703141 -120.384249,50.703153 -120.384002,50.703204 -120.382117,50.703486 -120.380531,50.703606 -120.380373,50.703587 -120.380231,50.703604 -120.378874,50.703573 -120.377009,50.703531 -120.374576,50.703200 -120.373521,50.702830 -120.372250,50.702504 -120.372244,50.702501 -120.372236,50.702500 -120.369970,50.701563 -120.368328,50.700554 -120.368306,50.700534 -120.368273,50.700520 -120.367046,50.699491 -120.366613,50.698995 -120.365581,50.697882 -120.365153,50.697341 -120.364596,50.695673 -120.364590,50.695478 -120.364381,50.694563 -120.364308,50.693942 -120.364509,50.693278 -120.363492,50.692566 -120.362164,50.691742 -120.360997,50.691183 -120.359301,50.690442 -120.359231,50.690406 -120.359174,50.690386 -120.358817,50.690222 -120.357300,50.689597 -120.357223,50.689558 -120.357143,50.689530 -120.355960,50.689013 -120.354839,50.688725 -120.354832,50.688722 -120.354824,50.688721 -120.354103,50.688504 -120.354027,50.688478 -120.352728,50.688113 -120.351336,50.687755 -120.351019,50.687697 -120.350447,50.687571 -120.349881,50.688116 -120.347580,50.689105 -120.344859,50.689459 -120.342878,50.689288 -120.337341,50.688292 -120.336595,50.688128 -120.334276,50.687156 -120.333772,50.686682 -120.333771,50.686682 -120.332075,50.686643 -120.330381,50.686605 -120.330378,50.686605 -120.330376,50.686605 -120.328509,50.686562 -120.328411,50.686548 -120.327808,50.686523 -120.326386,50.686400 -120.324807,50.686341 -120.324710,50.686327 -120.324313,50.686311 -120.322946,50.686199 -120.321171,50.685901 -120.320447,50.685683 -120.319476,50.685346 -120.318013,50.684969 -120.318005,50.684966 -120.317996,50.684965 -120.316694,50.684522 -120.315545,50.684028 -120.314261,50.683544 -120.313914,50.683447 -120.312177,50.682999 -120.312079,50.682958 -120.311970,50.682943 -120.310402,50.682502 -120.309687,50.682318 -120.308068,50.682187 -120.307727,50.682130 -120.307319,50.682100 -120.305696,50.681854 -120.303904,50.681604 -120.302742,50.681374 -120.302630,50.681340 -120.302593,50.681524 -120.302122,50.682661 -120.301307,50.683596 -120.300233,50.684543 -120.299517,50.685080 -120.297215,50.686067 -120.297011,50.686094 -120.296859,50.686155 -120.295138,50.686547 -120.295105,50.686551 -120.294926,50.686593 -120.293035,50.686981 -120.291232,50.687164 -120.291062,50.687189 -120.290949,50.687193 -120.290881,50.687200 -120.290852,50.687197 -120.289189,50.687254 -120.289183,50.687253 -120.287768,50.687382 -120.287380,50.687401 -120.287278,50.687416 -120.285475,50.687501 -120.285440,50.687497 -120.285393,50.687504 -120.283960,50.687561 -120.283772,50.687541 -120.283553,50.687569 -120.282549,50.687527 -120.281212,50.687410 -120.279700,50.687375 -120.279699,50.687375 -120.279699,50.687375 -120.278003,50.687335 -120.276138,50.687292 -120.276040,50.687278 -120.275433,50.687253 -120.274091,50.687136 -120.272579,50.687100 -120.270886,50.687061 -120.270885,50.687061 -120.270884,50.687061 -120.269018,50.687017 -120.268538,50.686952 -120.267297,50.686842 -120.266176,50.686635 -120.264550,50.686408 -120.264250,50.686348 -120.264100,50.686335 -120.263428,50.686211 -120.263171,50.686154 -120.263114,50.686148 -120.261813,50.685867 -120.260346,50.685661 -120.259182,50.685431 -120.258930,50.685325 -120.258693,50.685290 -120.257005,50.684753 -120.255588,50.684354 -120.253988,50.683941 -120.253906,50.683930 -120.253307,50.683984 -120.253114,50.683993 -120.253040,50.684006 -120.251981,50.684076 -120.250234,50.684236 -120.249252,50.684282 -120.249093,50.684262 -120.248951,50.684279 -120.248277,50.684262 -120.246583,50.684223 -120.246582,50.684222 -120.246582,50.684223 -120.244716,50.684178 -120.244111,50.684095 -120.242853,50.683975 -120.241166,50.683639 -120.239941,50.683435 -120.238240,50.683194 -120.238208,50.683187 -120.238183,50.683185 -120.237632,50.683104 -120.236613,50.683015 -120.235099,50.682979 -120.232670,50.682645 -120.230887,50.681973 -120.230628,50.681840 -120.229349,50.681357 -120.228461,50.681048 -120.228397,50.681017 -120.228243,50.680968 -120.226414,50.680277 -120.226316,50.680229 -120.226166,50.680179 -120.224629,50.679542 -120.223292,50.679036 -120.222110,50.678703 -120.220954,50.678404 -120.220893,50.678413 -120.219573,50.678457 -120.219430,50.678476 -120.219162,50.678495 -120.218971,50.678528 -120.217091,50.678699 -120.216109,50.678745 -120.215955,50.678726 -120.215816,50.678742 -120.214798,50.678717 -120.214712,50.678706 -120.214153,50.678683 -120.212294,50.678531 -120.210996,50.678313 -120.210701,50.678279 -120.209379,50.677963 -120.208015,50.677691 -120.206585,50.677490 -120.206003,50.677448 -120.204379,50.677201 -120.202585,50.676949 -120.202513,50.676934 -120.202462,50.676930 -120.201148,50.676730 -120.199988,50.676635 -120.199972,50.676635 -120.199971,50.676635 -120.199971,50.676635 -120.198105,50.676590 -120.198007,50.676576 -120.197400,50.676550 -120.196062,50.676433 -120.194991,50.676407 -120.194066,50.676458 -120.193923,50.676462 -120.193896,50.676466 -120.192477,50.676522 -120.190880,50.676667 -120.190419,50.676688 -120.190315,50.676703 -120.188610,50.676770 -120.188583,50.676767 -120.188547,50.676773 -120.187612,50.676804 -120.187050,50.676919 -120.185166,50.677198 -120.183577,50.677315 -120.183423,50.677296 -120.183284,50.677312 -120.182945,50.677304 -120.182943,50.677304 -120.182942,50.677304 -120.181247,50.677262 -120.179382,50.677217 -120.178560,50.677104 -120.177350,50.676977 -120.176049,50.676695 -120.174583,50.676488 -120.174579,50.676488 -120.174293,50.676466 -120.172669,50.676219 -120.171856,50.676104 -120.171436,50.676121 -120.170069,50.676244 -120.169775,50.676284 -120.168218,50.676540 -120.168148,50.676546 -120.168041,50.676567 -120.166156,50.676845 -120.165287,50.676909 -120.164988,50.676953 -120.163285,50.677020 -120.163169,50.677008 -120.163115,50.677015 -120.161697,50.677071 -120.160102,50.677216 -120.159117,50.677261 -120.158962,50.677242 -120.158823,50.677258 -120.157635,50.677229 -120.157634,50.677228 -120.157634,50.677229 -120.155939,50.677187 -120.154072,50.677141 -120.153380,50.677046 -120.152132,50.676920 -120.151296,50.676746 -120.149848,50.676544 -120.149545,50.676484 -120.149391,50.676470 -120.149336,50.676460 -120.148615,50.676300 -120.147428,50.675903 -120.146108,50.675355 -120.144637,50.674885 -120.144460,50.674804 -120.143938,50.674629 -120.142620,50.674082 -120.141148,50.673613 -120.140969,50.673531 -120.140444,50.673355 -120.139130,50.672809 -120.137660,50.672341 -120.137614,50.672319 -120.137420,50.672260 -120.136756,50.672028 -120.136601,50.671955 -120.136293,50.671851 -120.134974,50.671303 -120.134014,50.670997 -120.133166,50.670827 -120.133014,50.670816 -120.131394,50.670568 -120.129915,50.670359 -120.128368,50.670231 -120.128231,50.670208 -120.128007,50.670195 -120.127006,50.670079 -120.125347,50.669942 -120.125094,50.669931 -120.123436,50.669784 -120.121610,50.669632 -120.121590,50.669629 -120.121548,50.669627 -120.120211,50.669509 -120.118699,50.669471 -120.118602,50.669458 -120.117995,50.669431 -120.116335,50.669284 -120.114508,50.669133 -120.114296,50.669097 -120.113988,50.669077 -120.112976,50.668944 -120.112919,50.668933 -120.112870,50.668930 -120.111019,50.668668 -120.110950,50.668654 -120.110900,50.668651 -120.109216,50.668393 -120.108172,50.668178 -120.108082,50.668140 -120.107983,50.668126 -120.106686,50.667759 -120.105228,50.667466 -120.104658,50.667335 -120.104437,50.667242 -120.104223,50.667210 -120.102948,50.666811 -120.101611,50.666464 -120.100044,50.666150 -120.099904,50.666118 -120.099875,50.666115 -120.098575,50.665831 -120.097110,50.665624 -120.096810,50.665564 -120.096660,50.665550 -120.096212,50.665467 -120.094896,50.665281 -120.093675,50.665179 -120.093153,50.665166 -120.093068,50.665155 -120.092505,50.665132 -120.091053,50.665011 -120.089788,50.665060 -120.089762,50.665057 -120.089726,50.665062 -120.087868,50.665123 -120.087545,50.665088 -120.087213,50.665126 -120.087032,50.665121 -120.086214,50.665101 -120.085510,50.665216 -120.085110,50.665248 -120.084731,50.665314 -120.082854,50.665483 -120.081868,50.665528 -120.079715,50.665318 -120.077869,50.664948 -120.077299,50.664816 -120.076894,50.664693 -120.075692,50.664430 -120.075530,50.664366 -120.075308,50.664339 -120.073812,50.663950 -120.073496,50.663891 -120.073241,50.663834 -120.073184,50.663828 -120.071881,50.663543 -120.070729,50.663380 -120.069187,50.663252 -120.069137,50.663244 -120.069043,50.663239 -120.067913,50.663130 -120.067083,50.663109 -120.066042,50.663203 -120.065323,50.663294 -120.065054,50.663378 -120.064856,50.663407 -120.064655,50.663493 -120.062285,50.663834 -120.060413,50.663894 -120.060090,50.663859 -120.059761,50.663896 -120.059442,50.663888 -120.058099,50.663940 -120.058070,50.663937 -120.058033,50.663942 -120.056161,50.664002 -120.055843,50.663968 -120.055517,50.664005 -120.055177,50.663996 -120.055176,50.663996 -120.055176,50.663996 -120.053633,50.663957 -120.052465,50.663995 -120.051134,50.664130 -120.051053,50.664134 -120.051007,50.664142 -120.049264,50.664298 -120.047860,50.664459 -120.047693,50.664469 -120.047588,50.664487 -120.046056,50.664624 -120.045197,50.664757 -120.045162,50.664759 -120.045114,50.664769 -120.043229,50.665045 -120.042975,50.665064 -120.042745,50.665105 -120.041035,50.665277 -120.040958,50.665281 -120.040915,50.665288 -120.039037,50.665457 -120.038051,50.665501 -120.037898,50.665482 -120.037760,50.665497 -120.037420,50.665489 -120.037324,50.665475 -120.036715,50.665448 -120.035376,50.665329 -120.033864,50.665290 -120.033732,50.665272 -120.032985,50.665233 -120.032074,50.665137 -120.030649,50.665100 -120.030361,50.665060 -120.029261,50.664977 -120.027642,50.664728 -120.025852,50.664474 -120.025779,50.664459 -120.025725,50.664455 -120.024106,50.664205 -120.022318,50.663952 -120.021151,50.663717 -120.019967,50.663319 -120.018651,50.662771 -120.017182,50.662300 -120.017137,50.662279 -120.016950,50.662222 -120.015953,50.661873 -120.015887,50.661842 -120.015729,50.661791 -120.013906,50.661096 -120.012702,50.660499 -120.012598,50.660456 -120.011227,50.659606 -120.009706,50.658842 -120.009648,50.658809 -120.009624,50.658800 -120.008350,50.658139 -120.007044,50.657482 -120.006012,50.657121 -120.004547,50.656651 -120.003054,50.656262 -120.002639,50.656162 -120.002462,50.656089 -120.002256,50.656061 -120.000961,50.655692 -119.999506,50.655399 -119.999162,50.655320 -119.999127,50.655316 -119.999041,50.655295 -119.998538,50.655217 -119.998492,50.655214 -119.996326,50.654895 -119.995095,50.654837 -119.994832,50.654857 -119.989743,50.655681 -119.988820,50.655976 -119.988082,50.656141 -119.984459,50.656810 -119.983434,50.656903 -119.982894,50.656982 -119.981398,50.657038 -119.981205,50.657017 -119.980980,50.657046 -119.979637,50.656964 -119.978273,50.656798 -119.975037,50.657375 -119.974906,50.657386 -119.974674,50.657433 -119.971110,50.657942 -119.971059,50.657962 -119.970890,50.658068 -119.970017,50.658622 -119.970014,50.658624 -119.968475,50.659365 -119.967852,50.659588 -119.967087,50.659824 -119.965401,50.660120 -119.963544,50.660294 -119.962507,50.660342 -119.960692,50.660192 -119.959993,50.660075 -119.959085,50.659880 -119.956798,50.658912 -119.956289,50.658591 -119.955057,50.658587 -119.952372,50.658242 -119.952133,50.658140 -119.951904,50.658106 -119.950677,50.657714 -119.950526,50.657645 -119.950036,50.657482 -119.945665,50.655704 -119.944790,50.655463 -119.941752,50.655039 -119.941574,50.655003 -119.941458,50.654993 -119.939004,50.654580 -119.935070,50.654577 -119.935068,50.654577 -119.934166,50.654540 -119.932744,50.654423 -119.932379,50.654361 -119.931941,50.654327 -119.925940,50.653378 -119.924784,50.653290 -119.924088,50.653173 -119.923530,50.653120 -119.922112,50.652840 -119.921489,50.652697 -119.920661,50.652437 -119.917118,50.651137 -119.916547,50.651035 -119.916061,50.651020 -119.915270,50.651061 -119.914668,50.651170 -119.912019,50.652204 -119.909354,50.653250 -119.908177,50.653753 -119.907692,50.654213 -119.905383,50.655192 -119.905289,50.655203 -119.902571,50.656404 -119.901525,50.656766 -119.901388,50.656826 -119.896584,50.658176 -119.893994,50.658995 -119.892271,50.659745 -119.891679,50.660094 -119.885075,50.665232 -119.884589,50.665573 -119.884485,50.665617 -119.884420,50.665677 -119.882916,50.666569 -119.881760,50.667041 -119.880932,50.667400 -119.876952,50.668515 -119.876870,50.668526 -119.876795,50.668558 -119.876013,50.668730 -119.874150,50.669064 -119.872208,50.669233 -119.872205,50.669233 -119.872202,50.669233 -119.869618,50.669229 -119.869444,50.669233 -119.869387,50.669302 -119.869283,50.669391 -119.869104,50.669608 -119.867688,50.671010 -119.867144,50.671439 -119.866996,50.671588 -119.865019,50.672989 -119.864517,50.673395 -119.863996,50.674183 -119.863982,50.674196 -119.863287,50.675005 -119.862683,50.675560 -119.862639,50.675593 -119.862613,50.675623 -119.862425,50.675790 -119.861665,50.676358 -119.860487,50.676960 -119.859243,50.677467 -119.858109,50.677843 -119.857915,50.677867 -119.857769,50.677925 -119.857364,50.678016 -119.857311,50.678022 -119.857277,50.678035 -119.855907,50.678330 -119.854576,50.678469 -119.853859,50.678567 -119.851615,50.678614 -119.848530,50.678854 -119.846421,50.679071 -119.845592,50.679219 -119.844692,50.679503 -119.844577,50.679554 -119.840483,50.682317 -119.839932,50.682899 -119.839182,50.683952 -119.838268,50.686122 -119.837962,50.686692 -119.837595,50.687170 -119.836707,50.688172 -119.835530,50.689156 -119.835527,50.689158 -119.834463,50.689831 -119.834462,50.689832 -119.834461,50.689832 -119.833992,50.690104 -119.828585,50.692961 -119.828354,50.693049 -119.827916,50.693274 -119.824610,50.694641 -119.824060,50.695130 -119.823825,50.695306 -119.823746,50.695389 -119.822581,50.696281 -119.822123,50.696600 -119.821938,50.696678 -119.821827,50.696777 -119.819443,50.698120 -119.819387,50.698142 -119.819147,50.698278 -119.816388,50.699671 -119.815953,50.699973 -119.813602,50.701823 -119.813374,50.701984 -119.813340,50.702017 -119.811653,50.703201 -119.811509,50.703265 -119.811396,50.703372 -119.810847,50.703684 -119.809872,50.704184 -119.809154,50.704454 -119.808627,50.704696 -119.805661,50.705655 -119.805579,50.705688 -119.804880,50.706298 -119.804735,50.706440 -119.804788,50.706612 -119.804778,50.706643 -119.804787,50.706672 -119.804774,50.707176 -119.804225,50.708845 -119.802697,50.710296 -119.801728,50.710913 -119.801715,50.710919 -119.801706,50.710927 -119.800650,50.711477 -119.800385,50.711590 -119.800309,50.712145 -119.800230,50.712347 -119.800155,50.712765 -119.799728,50.713944 -119.799638,50.714123 -119.799617,50.714214 -119.799592,50.714268 -119.799334,50.714729 -119.799210,50.714846 -119.799167,50.714964 -119.798353,50.716027 -119.798142,50.716214 -119.797669,50.716742 -119.795714,50.718417 -119.795284,50.718733 -119.795222,50.718794 -119.794882,50.719028 -119.794873,50.719032 -119.794866,50.719039 -119.791298,50.721473 -119.789093,50.723501 -119.788711,50.723791 -119.788603,50.723902 -119.786919,50.725130 -119.786728,50.725217 -119.786568,50.725368 -119.785387,50.725969 -119.784141,50.726475 -119.783897,50.726556 -119.783772,50.726616 -119.781661,50.727364 -119.780270,50.728169 -119.779777,50.728506 -119.778610,50.729522 -119.778513,50.729593 -119.778473,50.729637 -119.775787,50.731822 -119.775295,50.732386 -119.774944,50.733046 -119.774717,50.734359 -119.774776,50.735373 -119.774703,50.735630 -119.774763,50.735867 -119.774661,50.736770 -119.774128,50.738189 -119.773978,50.738330 -119.773926,50.738468 -119.773622,50.738854 -119.773245,50.739566 -119.773030,50.739785 -119.772934,50.740056 -119.772395,50.740780 -119.772240,50.740919 -119.771752,50.741476 -119.767530,50.745229 -119.765447,50.747200 -119.763193,50.749785 -119.762915,50.750281 -119.762628,50.750893 -119.762617,50.752183 -119.762805,50.752641 -119.762995,50.752948 -119.763009,50.752993 -119.763322,50.753630 -119.763699,50.754719 -119.763702,50.754738 -119.763713,50.754762 -119.763764,50.754913 -119.763915,50.755856 -119.763871,50.756342 -119.763595,50.757914 -119.763087,50.759158 -119.762989,50.759249 -119.762955,50.759345 -119.762417,50.760068 -119.762276,50.760195 -119.761812,50.760729 -119.760385,50.762022 -119.759568,50.762639 -119.759560,50.762642 -119.759555,50.762647 -119.757577,50.763886 -119.756900,50.764312 -119.756899,50.764313 -119.755935,50.764821 -119.754788,50.765325 -119.753434,50.765791 -119.753180,50.765823 -119.752996,50.765895 -119.751116,50.766295 -119.750889,50.766431 -119.750081,50.767195 -119.749183,50.767885 -119.748651,50.768188 -119.746598,50.769244 -119.746106,50.769429 -119.745567,50.769686 -119.742357,50.770816 -119.740915,50.771504 -119.738236,50.773185 -119.738231,50.773187 -119.737483,50.773596 -119.736739,50.773947 -119.734944,50.775718 -119.734177,50.776319 -119.734087,50.776407 -119.730751,50.778607 -119.728034,50.780921 -119.727672,50.781448 -119.727248,50.782242 -119.725877,50.785910 -119.725682,50.786289 -119.725656,50.786383 -119.724491,50.788459 -119.724219,50.789095 -119.724161,50.789938 -119.724135,50.790013 -119.724075,50.790468 -119.723678,50.792013 -119.723594,50.793150 -119.723583,50.793180 -119.723565,50.793393 -119.723394,50.794467 -119.723660,50.794836 -119.725042,50.796320 -119.725500,50.796905 -119.725912,50.797791 -119.726178,50.798693 -119.726249,50.799196 -119.726291,50.799316 -119.726308,50.799545 -119.726867,50.800181 -119.727238,50.800669 -119.727267,50.800763 -119.727340,50.800836 -119.727957,50.801910 -119.727996,50.802052 -119.728280,50.802676 -119.728622,50.803910 -119.728730,50.804710 -119.728697,50.804811 -119.728722,50.804902 -119.728619,50.806307 -119.728405,50.806909 -119.728203,50.807632 -119.727186,50.809419 -119.727225,50.809546 -119.727359,50.810435 -119.727327,50.810843 -119.727236,50.811457 -119.726880,50.812357 -119.726791,50.812655 -119.726520,50.813102 -119.726464,50.813157 -119.726442,50.813226 -119.724884,50.814690 -119.723009,50.815537 -119.722478,50.815703 -119.722258,50.815735 -119.722144,50.815783 -119.721816,50.816414 -119.721620,50.816748 -119.721259,50.817215 -119.720461,50.818116 -119.719767,50.818693 -119.719505,50.818953 -119.716903,50.820756 -119.716820,50.820875 -119.716606,50.821624 -119.716397,50.822072 -119.716347,50.822263 -119.715557,50.823750 -119.715361,50.824274 -119.715357,50.824282 -119.715356,50.824289 -119.714715,50.825977 -119.714364,50.826657 -119.714362,50.826661 -119.713736,50.827611 -119.713733,50.827614 -119.713732,50.827618 -119.712845,50.828595 -119.712356,50.829005 -119.711685,50.829492 -119.709360,50.830467 -119.707109,50.830795 -119.706521,50.830818 -119.706301,50.830795 -119.706037,50.830827 -119.704297,50.830686 -119.703598,50.830573 -119.702606,50.830362 -119.700393,50.829437 -119.699963,50.829172 -119.699925,50.829136 -119.699865,50.829111 -119.698345,50.827667 -119.698092,50.827284 -119.698088,50.827268 -119.698074,50.827255 -119.697542,50.825522 -119.697611,50.824918 -119.697671,50.824644 -119.698158,50.823519 -119.699434,50.822321 -119.699513,50.820468 -119.699524,50.820435 -119.699564,50.820039 -119.699659,50.819550 -119.699410,50.818111 -119.699367,50.817598 -119.699733,50.816189 -119.700001,50.815679 -119.700130,50.815546 -119.700191,50.815358 -119.701099,50.814363 -119.702169,50.813475 -119.702819,50.813006 -119.702828,50.813002 -119.702835,50.812996 -119.703821,50.812380 -119.703936,50.812332 -119.704088,50.812265 -119.703857,50.811531 -119.703851,50.810973 -119.703858,50.810951 -119.703851,50.810928 -119.704407,50.809198 -119.704728,50.808775 -119.705354,50.808050 -119.705707,50.807753 -119.706040,50.807397 -119.707385,50.806332 -119.707709,50.806103 -119.707745,50.806067 -119.709971,50.804558 -119.710080,50.804511 -119.710161,50.804434 -119.710851,50.804094 -119.709559,50.803397 -119.709119,50.803138 -119.708965,50.802991 -119.708780,50.802906 -119.706943,50.801555 -119.706722,50.801326 -119.706196,50.800894 -119.704000,50.798525 -119.703548,50.797947 -119.703345,50.797591 -119.702815,50.796524 -119.702623,50.795718 -119.702491,50.795330 -119.702414,50.793983 -119.702439,50.793896 -119.702409,50.793799 -119.702494,50.793122 -119.702770,50.792000 -119.702852,50.791816 -119.702890,50.791619 -119.703347,50.790439 -119.703451,50.790239 -119.703471,50.790158 -119.705252,50.786574 -119.705909,50.784508 -119.706058,50.784200 -119.706095,50.784048 -119.707176,50.781864 -119.707324,50.781607 -119.707331,50.781583 -119.708497,50.779676 -119.708620,50.779557 -119.708668,50.779420 -119.710009,50.777572 -119.710073,50.777514 -119.710424,50.777082 -119.712661,50.774790 -119.712797,50.774682 -119.712912,50.774550 -119.715231,50.772481 -119.715495,50.772284 -119.715583,50.772193 -119.717061,50.771076 -119.718324,50.769817 -119.718447,50.769720 -119.718542,50.769612 -119.720242,50.768106 -119.721019,50.767528 -119.721024,50.767526 -119.721027,50.767523 -119.722546,50.766571 -119.722550,50.766569 -119.723232,50.766192 -119.724179,50.765733 -119.725499,50.764784 -119.725675,50.764704 -119.725821,50.764567 -119.726532,50.764119 -119.726535,50.764118 -119.726536,50.764116 -119.727188,50.763753 -119.729683,50.762525 -119.731213,50.761964 -119.731303,50.761926 -119.735453,50.760825 -119.736820,50.760310 -119.738198,50.759612 -119.738637,50.759153 -119.740242,50.756843 -119.740290,50.756799 -119.740752,50.756239 -119.742092,50.754903 -119.742360,50.754692 -119.742513,50.754527 -119.744022,50.753316 -119.744438,50.752796 -119.744998,50.751701 -119.746393,50.748251 -119.746417,50.748206 -119.746422,50.748181 -119.747320,50.746100 -119.747485,50.745795 -119.747501,50.745740 -119.748762,50.743551 -119.748923,50.743393 -119.748989,50.743205 -119.750866,50.740632 -119.750930,50.740574 -119.751256,50.740170 -119.752766,50.738606 -119.753111,50.738329 -119.753310,50.738118 -119.754746,50.736995 -119.755235,50.736652 -119.755240,50.736647 -119.756566,50.735806 -119.756576,50.735802 -119.756583,50.735795 -119.757295,50.735402 -119.757379,50.735361 -119.757346,50.734589 -119.757366,50.734523 -119.757344,50.734451 -119.757482,50.733581 -119.758294,50.730998 -119.758455,50.730665 -119.758493,50.730509 -119.759187,50.729128 -119.759484,50.727542 -119.759712,50.726991 -119.759804,50.726637 -119.760430,50.725453 -119.760585,50.725294 -119.760656,50.725080 -119.761544,50.723791 -119.761651,50.723692 -119.762434,50.722837 -119.763246,50.722170 -119.763855,50.721732 -119.763857,50.721730 -119.764390,50.721393 -119.764393,50.721392 -119.764396,50.721389 -119.765356,50.720882 -119.766902,50.720201 -119.767739,50.719684 -119.767768,50.719673 -119.768379,50.719334 -119.769880,50.718606 -119.771053,50.718178 -119.771308,50.718068 -119.775011,50.717021 -119.776182,50.716164 -119.776388,50.716070 -119.776560,50.715908 -119.777182,50.715519 -119.778165,50.714806 -119.778479,50.714663 -119.778720,50.714446 -119.779599,50.713936 -119.783010,50.711320 -119.783124,50.711241 -119.783144,50.711220 -119.784100,50.710529 -119.784375,50.709956 -119.784867,50.708597 -119.784925,50.708481 -119.784940,50.708412 -119.785836,50.706340 -119.786132,50.705793 -119.786151,50.705775 -119.786158,50.705755 -119.786874,50.704694 -119.786884,50.704685 -119.787118,50.704369 -119.788982,50.702121 -119.789037,50.702074 -119.789155,50.701924 -119.791659,50.699237 -119.792380,50.698649 -119.792566,50.698466 -119.793546,50.697794 -119.793660,50.697744 -119.793747,50.697662 -119.795302,50.696918 -119.796883,50.696359 -119.797642,50.696126 -119.797868,50.696098 -119.798034,50.696033 -119.800150,50.695571 -119.803035,50.693719 -119.805987,50.691059 -119.806206,50.690894 -119.806289,50.690806 -119.810105,50.687836 -119.810600,50.687489 -119.810605,50.687486 -119.810608,50.687483 -119.813979,50.685360 -119.813984,50.685358 -119.814658,50.684984 -119.815551,50.684548 -119.815565,50.684543 -119.815588,50.684530 -119.817006,50.683848 -119.817283,50.683747 -119.817581,50.683599 -119.820540,50.682446 -119.820564,50.682419 -119.822743,50.678412 -119.822853,50.678301 -119.822902,50.678148 -119.823273,50.677665 -119.824612,50.676158 -119.824812,50.675991 -119.825034,50.675738 -119.826365,50.674564 -119.826990,50.674098 -119.827031,50.674058 -119.829511,50.672433 -119.829696,50.672354 -119.829816,50.672245 -119.830881,50.671625 -119.830966,50.671591 -119.831420,50.671342 -119.832933,50.670621 -119.833378,50.670460 -119.833727,50.670293 -119.835764,50.669569 -119.836470,50.669352 -119.836486,50.669346 -119.838158,50.668900 -119.838181,50.668897 -119.838201,50.668889 -119.838770,50.668758 -119.840713,50.668368 -119.840839,50.668356 -119.841179,50.668286 -119.843863,50.667873 -119.845577,50.667530 -119.845944,50.667494 -119.846607,50.667376 -119.847677,50.667269 -119.848799,50.667214 -119.850720,50.667384 -119.850933,50.667422 -119.851515,50.666802 -119.851789,50.666579 -119.851993,50.666355 -119.853422,50.665178 -119.853679,50.664993 -119.853728,50.664943 -119.856996,50.662596 -119.857381,50.662422 -119.857654,50.662182 -119.858981,50.661447 -119.859273,50.661333 -119.859917,50.661010 -119.862047,50.660175 -119.863071,50.659843 -119.863082,50.659842 -119.863091,50.659838 -119.864971,50.659350 -119.866580,50.658658 -119.866673,50.658626 -119.866749,50.658587 -119.869761,50.657370 -119.871472,50.656592 -119.873466,50.655433 -119.873517,50.655412 -119.873816,50.655242 -119.878348,50.652930 -119.882273,50.650831 -119.882667,50.650679 -119.883262,50.650388 -119.887014,50.648994 -119.889891,50.647813 -119.890149,50.647727 -119.890279,50.647664 -119.895152,50.645933 -119.895624,50.645788 -119.895680,50.645763 -119.900124,50.644479 -119.903522,50.642792 -119.904023,50.642607 -119.904457,50.642400 -119.904733,50.642303 -119.904779,50.642288 -119.904795,50.642281 -119.906292,50.641767 -119.906957,50.641566 -119.907753,50.641391 -119.908985,50.641172 -119.909165,50.641156 -119.909466,50.641097 -119.911334,50.640852 -119.912949,50.640562 -119.914890,50.640392 -119.914898,50.640393 -119.914906,50.640392 -119.920197,50.640403 -119.920416,50.640431 -119.922739,50.640707 -119.924333,50.641099 -119.924405,50.641129 -119.924496,50.641140 -119.925931,50.641650 -119.928762,50.642950 -119.928938,50.642999 -119.930618,50.643269 -119.935175,50.643522 -119.935224,50.643529 -119.935383,50.643535 -119.938512,50.643768 -119.941298,50.643599 -119.941979,50.643578 -119.943311,50.643659 -119.944722,50.643830 -119.946112,50.644095 -119.946350,50.644196 -119.946577,50.644230 -119.951613,50.645837 -119.953993,50.646360 -119.954163,50.646428 -119.954394,50.646457 -119.955262,50.646732 -119.958001,50.647750 -119.959126,50.648303 -119.959324,50.648385 -119.959735,50.648635 -119.959811,50.648649 -119.962140,50.648908 -119.962213,50.648912 -119.963960,50.648068 -119.965541,50.647492 -119.965637,50.647480 -119.965713,50.647448 -119.967567,50.646996 -119.967820,50.646966 -119.969135,50.646739 -119.970826,50.646589 -119.973734,50.646243 -119.979545,50.645329 -119.979783,50.645310 -119.980045,50.645262 -119.983130,50.644924 -119.984994,50.644562 -119.985144,50.644547 -119.985484,50.644478 -119.987432,50.644194 -119.988107,50.644146 -119.988433,50.644095 -119.996723,50.643657 -119.997311,50.643642 -119.997484,50.643664 -119.997638,50.643647 -120.000430,50.643728 -120.000446,50.643730 -120.000487,50.643726 -120.000515,50.643727 -120.000615,50.643741 -120.001102,50.643762 -120.002270,50.643864 -120.004023,50.644166 -120.005319,50.644612 -120.009025,50.646223 -120.011883,50.646981 -120.011901,50.646989 -120.012245,50.647108 -120.013442,50.647349 -120.014012,50.647481 -120.014728,50.647700 -120.014776,50.647717 -120.015947,50.647952 -120.016520,50.648085 -120.016609,50.648122 -120.016706,50.648136 -120.018189,50.648557 -120.018500,50.648633 -120.018574,50.648663 -120.018668,50.648675 -120.020505,50.649153 -120.020762,50.649262 -120.021008,50.649299 -120.022839,50.649885 -120.022885,50.649906 -120.023076,50.649965 -120.024620,50.650506 -120.025823,50.650891 -120.027120,50.651152 -120.027262,50.651185 -120.027291,50.651188 -120.028809,50.651520 -120.029100,50.651575 -120.030727,50.651806 -120.031321,50.651925 -120.031490,50.651943 -120.032178,50.652094 -120.032999,50.652115 -120.033675,50.652132 -120.033761,50.652144 -120.034320,50.652167 -120.035217,50.652242 -120.036074,50.652165 -120.037554,50.652016 -120.038078,50.651947 -120.038342,50.651929 -120.038530,50.651897 -120.040347,50.651734 -120.041996,50.651568 -120.042621,50.651536 -120.042749,50.651518 -120.044588,50.651458 -120.046257,50.651395 -120.046514,50.651422 -120.046661,50.651401 -120.046953,50.651392 -120.046965,50.651390 -120.046982,50.651391 -120.048533,50.651341 -120.048698,50.651359 -120.048886,50.651335 -120.049820,50.651373 -120.051678,50.651528 -120.051698,50.651532 -120.051739,50.651534 -120.053078,50.651653 -120.054588,50.651691 -120.056282,50.651734 -120.056283,50.651734 -120.056284,50.651734 -120.058148,50.651781 -120.058149,50.651781 -120.058150,50.651781 -120.059844,50.651824 -120.061706,50.651871 -120.061708,50.651871 -120.061709,50.651871 -120.063574,50.651918 -120.063574,50.651918 -120.063574,50.651918 -120.065438,50.651965 -120.067132,50.652008 -120.067135,50.652008 -120.067138,50.652008 -120.067648,50.652021 -120.067735,50.652033 -120.068286,50.652056 -120.070143,50.652210 -120.070730,50.652310 -120.071217,50.652354 -120.071664,50.652437 -120.073290,50.652668 -120.074417,50.652894 -120.074433,50.652896 -120.076271,50.653373 -120.076371,50.653415 -120.076480,50.653430 -120.078149,50.653904 -120.078222,50.653936 -120.078898,50.654152 -120.080686,50.654831 -120.080712,50.654832 -120.080995,50.654871 -120.081713,50.654925 -120.082320,50.654831 -120.082688,50.654802 -120.083008,50.654746 -120.084825,50.654583 -120.086474,50.654416 -120.086855,50.654397 -120.086986,50.654377 -120.088348,50.654302 -120.088942,50.654286 -120.089096,50.654305 -120.089235,50.654289 -120.091099,50.654336 -120.091100,50.654336 -120.091102,50.654336 -120.092796,50.654379 -120.094149,50.654412 -120.094235,50.654424 -120.094794,50.654447 -120.096653,50.654602 -120.096992,50.654659 -120.097399,50.654690 -120.098710,50.654891 -120.100193,50.655014 -120.100214,50.655017 -120.100255,50.655019 -120.101912,50.655166 -120.103739,50.655318 -120.103760,50.655321 -120.103801,50.655323 -120.105460,50.655470 -120.107286,50.655622 -120.107624,50.655679 -120.108031,50.655709 -120.109345,50.655910 -120.110827,50.656033 -120.110848,50.656037 -120.110888,50.656039 -120.112547,50.656186 -120.114374,50.656337 -120.114715,50.656395 -120.115122,50.656425 -120.116290,50.656604 -120.118085,50.656753 -120.118105,50.656756 -120.118146,50.656758 -120.119836,50.656908 -120.119939,50.656926 -120.120737,50.656981 -120.122590,50.657243 -120.123185,50.657361 -120.123352,50.657379 -120.124653,50.657662 -120.126118,50.657869 -120.126416,50.657929 -120.126566,50.657942 -120.127687,50.658150 -120.129313,50.658380 -120.129907,50.658499 -120.130075,50.658516 -120.131667,50.658863 -120.133354,50.659201 -120.133952,50.659312 -120.134065,50.659337 -120.134100,50.659340 -120.135946,50.659709 -120.136515,50.659841 -120.136606,50.659879 -120.136705,50.659892 -120.138271,50.660336 -120.140006,50.660786 -120.140014,50.660789 -120.140023,50.660790 -120.140743,50.661009 -120.141941,50.661428 -120.142172,50.661482 -120.142206,50.661496 -120.142253,50.661501 -120.142294,50.661511 -120.142365,50.661541 -120.142453,50.661552 -120.143312,50.661820 -120.145042,50.662457 -120.145067,50.662469 -120.145120,50.662486 -120.146947,50.663178 -120.147497,50.663450 -120.147514,50.663455 -120.148925,50.664075 -120.150312,50.664518 -120.150357,50.664539 -120.150542,50.664595 -120.151758,50.665019 -120.153473,50.665566 -120.153519,50.665587 -120.153709,50.665644 -120.154480,50.665914 -120.155337,50.666034 -120.155938,50.666154 -120.156106,50.666172 -120.156792,50.666321 -120.158462,50.666362 -120.158462,50.666362 -120.158463,50.666362 -120.159688,50.666392 -120.160652,50.666305 -120.162086,50.666100 -120.162912,50.665980 -120.163239,50.665956 -120.163499,50.665910 -120.165240,50.665752 -120.166644,50.665590 -120.167900,50.665516 -120.168055,50.665535 -120.168193,50.665519 -120.170059,50.665565 -120.170060,50.665565 -120.170061,50.665565 -120.171757,50.665606 -120.173620,50.665652 -120.173956,50.665660 -120.174556,50.665742 -120.175821,50.665864 -120.177657,50.666231 -120.178682,50.666434 -120.178884,50.666480 -120.178921,50.666484 -120.180557,50.666848 -120.180876,50.666907 -120.181083,50.666912 -120.181643,50.666829 -120.182119,50.666721 -120.182445,50.666685 -120.183382,50.666515 -120.185090,50.666341 -120.185169,50.666337 -120.185213,50.666329 -120.187031,50.666164 -120.188680,50.665996 -120.188757,50.665992 -120.188801,50.665984 -120.190522,50.665828 -120.190939,50.665808 -120.191043,50.665793 -120.192888,50.665713 -120.194404,50.665642 -120.194437,50.665645 -120.194481,50.665639 -120.196183,50.665572 -120.196530,50.665608 -120.196894,50.665566 -120.198759,50.665611 -120.198760,50.665611 -120.198761,50.665611 -120.200455,50.665652 -120.201810,50.665684 -120.202053,50.665718 -120.203080,50.665788 -120.204932,50.666048 -120.205001,50.666062 -120.205051,50.666066 -120.206444,50.666278 -120.206955,50.666313 -120.208807,50.666573 -120.209231,50.666657 -120.209400,50.666674 -120.211247,50.667042 -120.211817,50.667172 -120.211908,50.667211 -120.212008,50.667224 -120.212189,50.667275 -120.213342,50.667437 -120.213938,50.667556 -120.214106,50.667573 -120.215783,50.667937 -120.215911,50.667988 -120.215976,50.667985 -120.216297,50.668020 -120.216624,50.667982 -120.218487,50.668027 -120.220182,50.668067 -120.220183,50.668068 -120.220184,50.668067 -120.222049,50.668112 -120.222050,50.668112 -120.222051,50.668112 -120.223736,50.668152 -120.223895,50.668156 -120.223979,50.668167 -120.224558,50.668190 -120.226416,50.668342 -120.226438,50.668346 -120.226481,50.668348 -120.228139,50.668494 -120.229965,50.668643 -120.231704,50.668935 -120.231737,50.668939 -120.233388,50.669366 -120.234871,50.669687 -120.235116,50.669784 -120.236215,50.669984 -120.236948,50.670146 -120.238137,50.670542 -120.239733,50.671203 -120.240664,50.671571 -120.241796,50.671965 -120.243257,50.672342 -120.243357,50.672385 -120.243467,50.672399 -120.244578,50.672713 -120.245519,50.672790 -120.245860,50.672847 -120.246269,50.672877 -120.247435,50.673054 -120.249232,50.673201 -120.249573,50.673258 -120.249982,50.673289 -120.251293,50.673488 -120.252775,50.673609 -120.253114,50.673666 -120.253521,50.673696 -120.254834,50.673895 -120.256318,50.674016 -120.256405,50.674030 -120.256558,50.674038 -120.257909,50.674178 -120.259419,50.674449 -120.259441,50.674452 -120.261282,50.674927 -120.261289,50.674930 -120.261298,50.674931 -120.262020,50.675149 -120.262792,50.675418 -120.263653,50.675538 -120.264177,50.675642 -120.264349,50.675659 -120.265509,50.675902 -120.265690,50.675973 -120.265947,50.676004 -120.267802,50.676480 -120.267906,50.676523 -120.268021,50.676539 -120.269323,50.676905 -120.270184,50.677076 -120.271103,50.677151 -120.271306,50.677156 -120.272824,50.677104 -120.274209,50.677049 -120.275743,50.676908 -120.277389,50.676739 -120.278494,50.676681 -120.278646,50.676699 -120.278782,50.676683 -120.278974,50.676688 -120.280527,50.676635 -120.281928,50.676587 -120.281931,50.676587 -120.281935,50.676586 -120.282084,50.676581 -120.283643,50.676438 -120.283714,50.676435 -120.283747,50.676429 -120.284772,50.676345 -120.285224,50.676326 -120.285304,50.676314 -120.286890,50.676260 -120.287319,50.674994 -120.288851,50.673522 -120.289606,50.673101 -120.291528,50.672175 -120.291553,50.672166 -120.291589,50.672146 -120.293334,50.671323 -120.294154,50.671026 -120.294996,50.670681 -120.297716,50.670328 -120.297874,50.670347 -120.298014,50.670331 -120.299818,50.670373 -120.301440,50.670393 -120.301958,50.670461 -120.303505,50.670614 -120.305364,50.670999 -120.305566,50.671077 -120.305851,50.671112 -120.306285,50.671243 -120.307208,50.671372 -120.307508,50.671432 -120.307658,50.671445 -120.308475,50.671595 -120.309787,50.671701 -120.309808,50.671705 -120.309849,50.671707 -120.311511,50.671851 -120.313341,50.672000 -120.313679,50.672056 -120.314083,50.672086 -120.315082,50.672237 -120.316244,50.672263 -120.316247,50.672264 -120.316248,50.672263 -120.316756,50.672275 -120.316891,50.672294 -120.317631,50.672330 -120.318982,50.672469 -120.320535,50.672746 -120.321478,50.673044 -120.323308,50.673734 -120.324682,50.674408 -120.325345,50.674889 -120.325958,50.675401 -120.326044,50.675403 -120.326045,50.675403 -120.326047,50.675403 -120.327785,50.675443 -120.329648,50.675486 -120.329745,50.675488 -120.329748,50.675488 -120.329749,50.675488 -120.331516,50.675529 -120.331517,50.675529 -120.331518,50.675529 -120.333214,50.675568 -120.333214,50.675568 -120.333214,50.675568 -120.333497,50.675574 -120.335249,50.675614 -120.335363,50.675630 -120.336032,50.675660 -120.336911,50.675742 -120.336911,50.675742 -120.336911,50.675742 -120.337553,50.675803 -120.337590,50.675809 -120.337601,50.675810 -120.338103,50.675735 -120.338910,50.675434 -120.339056,50.675388 -120.339106,50.675363 -120.339886,50.675093 -120.340532,50.674896 -120.341880,50.674640 -120.341924,50.674631 -120.341942,50.674628 -120.342010,50.674616 -120.342094,50.674606 -120.343809,50.674350 -120.344145,50.674325 -120.344413,50.674278 -120.345350,50.674191 -120.346331,50.674144 -120.348084,50.674277 -120.349684,50.674529 -120.350657,50.674730 -120.351385,50.674950 -120.351431,50.674966 -120.352604,50.675198 -120.353172,50.675328 -120.353417,50.675430 -120.353649,50.675464 -120.355067,50.675911 -120.355966,50.676155 -120.356023,50.676179 -120.356891,50.676458 -120.358707,50.677164 -120.358721,50.677171 -120.358743,50.677178 -120.359735,50.677570 -120.360950,50.677990 -120.361274,50.678143 -120.361328,50.678162 -120.361855,50.678236 -120.362452,50.678353 -120.362618,50.678371 -120.363628,50.678588 -120.364435,50.678654 -120.364464,50.678659 -120.364518,50.678662 -120.366021,50.678797 -120.366323,50.678804 -120.366410,50.678815 -120.366969,50.678837 -120.368509,50.678961 -120.369077,50.678974 -120.370221,50.679000 -120.370320,50.679013 -120.370929,50.679038 -120.372588,50.679182 -120.374097,50.679303 -120.374287,50.679307 -120.375574,50.679483 -120.375863,50.679515 -120.376058,50.679528 -120.376384,50.679574 -120.376511,50.679588 -120.376546,50.679596 -120.377911,50.679786 -120.377938,50.679792 -120.377959,50.679793 -120.379660,50.680038 -120.380770,50.680259 -120.380792,50.680269 -120.380817,50.680272 -120.382644,50.680754 -120.382716,50.680784 -120.382792,50.680794 -120.384465,50.681264 -120.384511,50.681284 -120.384991,50.681428 -120.385658,50.681659 -120.386497,50.682055 -120.386955,50.682234 -120.388767,50.683247 -120.388971,50.683427 -120.389274,50.683559 -120.390911,50.684675 -120.392264,50.686002 -120.392269,50.686019 -120.392284,50.686033 -120.393068,50.687237 -120.393076,50.687264 -120.393134,50.687283 -120.394221,50.687732 -120.395429,50.688042 -120.395436,50.688044 -120.395443,50.688045 -120.396166,50.688263 -120.397319,50.688661 -120.397573,50.688737 -120.398642,50.688886 -120.398710,50.688899 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-116.692619,48.998922 -116.473790,49.287971</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-116.557974,48.998922 -116.560669,49.000831 -116.561885,49.001883 -116.563968,49.003011 -116.564925,49.004257 -116.565667,49.005485 -116.566406,49.007801 -116.566448,49.009766 -116.566620,49.011088 -116.567204,49.012011 -116.568017,49.012882 -116.569270,49.014299 -116.570033,49.015965 -116.570559,49.017173 -116.570773,49.018281 -116.570806,49.021914 -116.570753,49.024887 -116.570448,49.027474 -116.569520,49.032039 -116.569099,49.034108 -116.569185,49.035858 -116.569542,49.038431 -116.569850,49.040709 -116.570171,49.042117 -116.571244,49.042793 -116.573170,49.043616 -116.575544,49.044407 -116.577940,49.045635 -116.579122,49.046320 -116.581647,49.047995 -116.583306,49.049593 -116.585340,49.051515 -116.586342,49.052548 -116.588644,49.054783 -116.590071,49.056434 -116.591961,49.060158 -116.594263,49.064572 -116.594936,49.065865 -116.595333,49.068804 -116.595663,49.071520 -116.595597,49.073474 -116.595654,49.075367 -116.596333,49.077460 -116.597494,49.080974 -116.598424,49.083452 -116.599384,49.084698 -116.602125,49.086681 -116.603670,49.087761 -116.605165,49.089635 -116.606068,49.091166 -116.606357,49.091918 -116.606328,49.094238 -116.606630,49.096007 -116.606724,49.098266 -116.607771,49.099084 -116.608769,49.099607 -116.611983,49.100616 -116.612764,49.101120 -116.613082,49.101729 -116.614006,49.103697 -116.615813,49.105671 -116.618328,49.107416 -116.620182,49.108885 -116.621692,49.109598 -116.624041,49.110530 -116.628016,49.111605 -116.628985,49.112270 -116.629519,49.112898 -116.630172,49.116222 -116.630866,49.120421 -116.631056,49.122760 -116.631446,49.125190 -116.631396,49.128162 -116.631727,49.131167 -116.632602,49.133930 -116.633817,49.135560 -116.635655,49.137391 -116.637687,49.138803 -116.639266,49.139739 -116.641263,49.140419 -116.640971,49.147923 -116.640418,49.148886 -116.639628,49.150177 -116.639027,49.151195 -116.638172,49.152782 -116.637724,49.153905 -116.636972,49.156525 -116.635902,49.158536 -116.634081,49.160990 -116.632288,49.163301 -116.631094,49.165375 -116.631073,49.167115 -116.631775,49.169645 -116.632334,49.171798 -116.632884,49.174532 -116.633334,49.175588 -116.635419,49.177295 -116.636301,49.178388 -116.636628,49.179505 -116.636208,49.180485 -116.635149,49.181626 -116.634092,49.182477 -116.633542,49.183010 -116.633767,49.183538 -116.635019,49.184446 -116.637640,49.185691 -116.638800,49.186518 -116.639574,49.187602 -116.640357,49.188106 -116.641304,49.188334 -116.643288,49.188362 -116.644280,49.188376 -116.646749,49.188737 -116.649255,49.189463 -116.650305,49.190281 -116.650986,49.191284 -116.652198,49.194583 -116.653105,49.198291 -116.653550,49.201016 -116.653899,49.203659 -116.654140,49.206293 -116.655102,49.207828 -116.656151,49.209197 -116.658157,49.210649 -116.660848,49.212219 -116.663451,49.213781 -116.665145,49.215032 -116.667278,49.216727 -116.671320,49.219053 -116.678021,49.222887 -116.680065,49.225039 -116.682508,49.227399 -116.686629,49.230660 -116.688504,49.232332 -116.690599,49.234662 -116.691756,49.236388 -116.692472,49.238541 -116.690708,49.242684 -116.689559,49.245313 -116.689587,49.248683 -116.690201,49.250245 -116.691580,49.252629 -116.692619,49.253184 -116.691780,49.254272 -116.690336,49.254844 -116.689248,49.255852 -116.688796,49.256336 -116.687898,49.256838 -116.686305,49.259022 -116.684964,49.261286 -116.684350,49.262568 -116.682564,49.262646 -116.679861,49.262875 -116.678231,49.262618 -116.674662,49.261437 -116.671049,49.261355 -116.668656,49.261147 -116.666833,49.260524 -116.664814,49.260000 -116.661844,49.259800 -116.660405,49.259907 -116.658504,49.260554 -116.656562,49.261837 -116.654267,49.263553 -116.653699,49.264607 -116.653716,49.265828 -116.654393,49.268615 -116.654445,49.269665 -116.655800,49.272163 -116.656398,49.274015 -116.656741,49.275380 -116.658316,49.276794 -116.659650,49.279175 -116.660696,49.281008 -116.661428,49.282639 -116.661783,49.283076 -116.663538,49.284912 -116.663631,49.285327 -116.663579,49.286019 -116.662937,49.287879 -116.662652,49.287971 -116.660824,49.287812 -116.659280,49.287561 -116.655900,49.285874 -116.653282,49.284369 -116.650948,49.281901 -116.648777,49.277532 -116.646900,49.273246 -116.645557,49.269820 -116.643860,49.265085 -116.642914,49.262332 -116.642073,49.260807 -116.640464,49.259563 -116.637761,49.258050 -116.632628,49.255860 -116.631102,49.255089 -116.629494,49.253845 -116.628154,49.253031 -116.626733,49.251746 -116.623941,49.249586 -116.622160,49.247456 -116.621592,49.246768 -116.621853,49.245919 -116.621975,49.244885 -116.621342,49.244075 -116.620676,49.243436 -116.619586,49.242702 -116.618038,49.242044 -116.617318,49.241226 -116.616216,49.239678 -116.615335,49.238788 -116.615092,49.238244 -116.614959,49.236723 -116.614280,49.235270 -116.613961,49.234661 -116.611188,49.231980 -116.609008,49.229640 -116.607827,49.228492 -116.606725,49.227814 -116.605921,49.226989 -116.605438,49.226308 -116.603508,49.224919 -116.603109,49.223839 -116.602652,49.223044 -116.598764,49.219909 -116.595527,49.215386 -116.592172,49.212304 -116.587722,49.209184 -116.584202,49.205623 -116.580257,49.200456 -116.578233,49.197375 -116.577567,49.194993 -116.576522,49.192753 -116.574583,49.191420 -116.569731,49.189193 -116.565952,49.187350 -116.562045,49.185264 -116.559238,49.183855 -116.557508,49.183238 -116.555956,49.183043 -116.555068,49.183488 -116.554043,49.184617 -116.551835,49.185468 -116.550566,49.186053 -116.548512,49.188311 -116.546837,49.190021 -116.544758,49.193265 -116.542750,49.196166 -116.540625,49.198766 -116.538667,49.200335 -116.537514,49.200350 -116.536009,49.199926 -116.535431,49.199295 -116.535590,49.198089 -116.536745,49.196332 -116.537826,49.194511 -116.539196,49.193006 -116.540542,49.190744 -116.540591,49.189644 -116.540360,49.189043 -116.538954,49.188571 -116.538022,49.188372 -116.537005,49.187934 -116.536115,49.187100 -116.535979,49.186043 -116.536184,49.184609 -116.536862,49.183449 -116.538337,49.181431 -116.540271,49.178465 -116.541628,49.176145 -116.542270,49.173879 -116.542216,49.171551 -116.541842,49.167975 -116.541365,49.165551 -116.541382,49.162010 -116.541109,49.159024 -116.540205,49.151567 -116.538892,49.147618 -116.538079,49.145107 -116.537480,49.139129 -116.537751,49.137265 -116.538383,49.135797 -116.538290,49.134627 -116.537843,49.133571 -116.536797,49.132752 -116.534962,49.132009 -116.532931,49.131684 -116.529547,49.130949 -116.525465,49.129861 -116.522467,49.128870 -116.520532,49.127537 -116.519912,49.126247 -116.519493,49.123451 -116.519246,49.121687 -116.518750,49.120336 -116.518182,49.119341 -116.516459,49.117518 -116.511249,49.112772 -116.506931,49.108541 -116.500904,49.102414 -116.498093,49.100785 -116.495192,49.099873 -116.491063,49.098490 -116.486286,49.095959 -116.483245,49.093582 -116.480715,49.091396 -116.476619,49.088780 -116.474825,49.087313 -116.473790,49.085914 -116.473802,49.084245 -116.474449,49.082705 -116.475794,49.080719 -116.476290,49.079383 -116.476416,49.078232 -116.475946,49.076230 -116.475352,49.074289 -116.475704,49.072577 -116.476023,49.072097 -116.476826,49.071951 -116.478991,49.072144 -116.483567,49.072407 -116.486383,49.072657 -116.488124,49.072231 -116.489507,49.071410 -116.491040,49.070385 -116.492255,49.069839 -116.494248,49.069799 -116.501936,49.070482 -116.506067,49.070777 -116.507003,49.071587 -116.507853,49.072824 -116.508514,49.073899 -116.509358,49.074628 -116.511263,49.075015 -116.515733,49.075266 -116.518145,49.075335 -116.519083,49.075055 -116.519410,49.073995 -116.519377,49.072540 -116.518583,49.069419 -116.517968,49.067041 -116.517303,49.065167 -116.514969,49.059876 -116.512833,49.055765 -116.511396,49.053096 -116.509800,49.048234 -116.509261,49.044410 -116.508652,49.038764 -116.508371,49.035835 -116.507702,49.031563 -116.507146,49.028899 -116.505101,49.022472 -116.502460,49.017080 -116.499884,49.011913 -116.497780,49.006859 -116.496909,49.003586 -116.496835,49.001256 -116.497086,48.998954 -116.557974,48.998922 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-124.920391,54.043530 -124.598464,54.113382</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-124.756952,54.065122 -124.757179,54.065017 -124.758639,54.064778 -124.758663,54.064780 -124.758686,54.064776 -124.759470,54.064747 -124.760487,54.064329 -124.760705,54.064012 -124.760642,54.063430 -124.760829,54.062573 -124.761573,54.061797 -124.762539,54.061320 -124.765723,54.060212 -124.765837,54.060191 -124.765950,54.060139 -124.767409,54.059900 -124.767786,54.059894 -124.775897,54.059998 -124.776532,54.059957 -124.777920,54.059251 -124.778412,54.059057 -124.778552,54.058989 -124.787993,54.055855 -124.788073,54.055841 -124.788148,54.055806 -124.788570,54.055699 -124.798347,54.053599 -124.799384,54.053468 -124.800473,54.053509 -124.803558,54.053889 -124.803972,54.053954 -124.805292,54.054392 -124.805860,54.054768 -124.811332,54.054658 -124.812673,54.054770 -124.813986,54.055205 -124.816049,54.056242 -124.819973,54.057382 -124.824220,54.058519 -124.825140,54.058865 -124.825506,54.059076 -124.830129,54.062117 -124.832826,54.062946 -124.837724,54.061486 -124.838489,54.061315 -124.841896,54.060786 -124.842590,54.060717 -124.842630,54.060720 -124.842666,54.060714 -124.845057,54.060634 -124.845726,54.060062 -124.845978,54.059869 -124.847169,54.059319 -124.848015,54.059179 -124.848706,54.058860 -124.849958,54.058633 -124.853698,54.058345 -124.858126,54.057024 -124.860577,54.055349 -124.860579,54.055348 -124.860810,54.055203 -124.863765,54.053509 -124.864717,54.053108 -124.866175,54.052868 -124.866200,54.052869 -124.866223,54.052866 -124.873703,54.052581 -124.875159,54.052689 -124.875859,54.052870 -124.878616,54.053784 -124.879687,54.053989 -124.880488,54.053999 -124.880515,54.053460 -124.880565,54.053292 -124.880584,54.053093 -124.881117,54.051472 -124.881238,54.051198 -124.881395,54.051034 -124.881424,54.050923 -124.881949,54.050309 -124.883747,54.048820 -124.883964,54.048656 -124.884327,54.048438 -124.886131,54.047491 -124.886958,54.047158 -124.888035,54.046946 -124.890460,54.046692 -124.892332,54.046097 -124.892378,54.046089 -124.892418,54.046071 -124.893630,54.045846 -124.896578,54.045600 -124.896619,54.045602 -124.896671,54.045593 -124.899117,54.045423 -124.899743,54.045317 -124.899799,54.045297 -124.901724,54.044181 -124.902690,54.043771 -124.904148,54.043530 -124.905651,54.043636 -124.906468,54.043793 -124.907807,54.043800 -124.908973,54.043913 -124.910294,54.044349 -124.910628,54.044538 -124.911835,54.045312 -124.911978,54.045433 -124.912168,54.045557 -124.912717,54.046023 -124.913286,54.046292 -124.913583,54.046243 -124.915087,54.046349 -124.916407,54.046785 -124.917128,54.047267 -124.917812,54.047879 -124.918027,54.048098 -124.918437,54.048955 -124.918257,54.049840 -124.917516,54.050617 -124.916803,54.050948 -124.917121,54.051210 -124.917420,54.051501 -124.917564,54.051802 -124.917911,54.051916 -124.918847,54.052617 -124.919256,54.053470 -124.919327,54.053990 -124.919595,54.054553 -124.919981,54.055000 -124.920391,54.055858 -124.920212,54.056743 -124.919957,54.057098 -124.919016,54.058151 -124.918628,54.058487 -124.918762,54.058587 -124.919172,54.059445 -124.919174,54.059782 -124.919118,54.060252 -124.918936,54.060800 -124.918195,54.061577 -124.917004,54.062128 -124.915546,54.062369 -124.914893,54.062367 -124.912062,54.062215 -124.912045,54.062213 -124.912023,54.062213 -124.909746,54.062077 -124.908934,54.061976 -124.908467,54.061866 -124.906431,54.061295 -124.906255,54.061228 -124.906039,54.061168 -124.904001,54.060416 -124.903765,54.060314 -124.903545,54.061772 -124.903455,54.063203 -124.903267,54.063827 -124.902525,54.064604 -124.902183,54.064811 -124.900104,54.065919 -124.899255,54.066263 -124.898363,54.066453 -124.894405,54.066986 -124.893839,54.067037 -124.893266,54.067038 -124.887657,54.066805 -124.887785,54.069524 -124.887768,54.069591 -124.887759,54.069856 -124.887027,54.073485 -124.886862,54.073925 -124.886183,54.074657 -124.884654,54.075763 -124.884616,54.075781 -124.884590,54.075808 -124.883399,54.076359 -124.882805,54.076501 -124.878519,54.077294 -124.877653,54.077392 -124.876149,54.077286 -124.875448,54.077105 -124.873619,54.076498 -124.873135,54.076433 -124.869250,54.076926 -124.868730,54.076970 -124.867225,54.076864 -124.866120,54.076528 -124.862072,54.074765 -124.860052,54.074920 -124.859306,54.075191 -124.858918,54.075742 -124.858660,54.075989 -124.858451,54.076227 -124.857467,54.077008 -124.857371,54.077055 -124.857296,54.077134 -124.856104,54.077685 -124.854644,54.077925 -124.853887,54.077916 -124.852124,54.077792 -124.851377,54.077695 -124.850056,54.077258 -124.849544,54.076908 -124.849552,54.077684 -124.849671,54.079056 -124.849483,54.079883 -124.848740,54.080660 -124.848737,54.080661 -124.848735,54.080663 -124.845781,54.082680 -124.844594,54.083227 -124.843880,54.083390 -124.841117,54.083843 -124.838172,54.085381 -124.837348,54.085711 -124.836020,54.085944 -124.833928,54.086080 -124.833865,54.086076 -124.833797,54.086087 -124.832292,54.085981 -124.831433,54.085744 -124.828526,54.084669 -124.824558,54.084389 -124.826223,54.085519 -124.826752,54.085983 -124.827160,54.086841 -124.826979,54.087726 -124.826917,54.087790 -124.826901,54.087852 -124.825815,54.089474 -124.825148,54.090125 -124.824541,54.090405 -124.824661,54.090713 -124.824807,54.090689 -124.824959,54.090700 -124.825082,54.090683 -124.831140,54.090664 -124.832370,54.090777 -124.832837,54.090887 -124.835789,54.091717 -124.840422,54.091869 -124.841414,54.091979 -124.841924,54.092101 -124.844133,54.092741 -124.844944,54.093056 -124.845771,54.093639 -124.847339,54.095219 -124.850588,54.096261 -124.851257,54.096532 -124.852193,54.097233 -124.852602,54.098091 -124.852532,54.098732 -124.851888,54.100547 -124.851778,54.100791 -124.851034,54.101568 -124.849841,54.102119 -124.848381,54.102359 -124.848329,54.102355 -124.848282,54.102362 -124.843742,54.102499 -124.837056,54.103330 -124.834433,54.104111 -124.833247,54.104333 -124.827081,54.104871 -124.826955,54.104864 -124.826807,54.104889 -124.825301,54.104782 -124.823980,54.104345 -124.823965,54.104333 -124.823944,54.104326 -124.820800,54.102701 -124.818598,54.102492 -124.818008,54.102408 -124.816686,54.101971 -124.815995,54.101514 -124.815216,54.100835 -124.813657,54.100101 -124.809141,54.098730 -124.809046,54.098693 -124.808934,54.098663 -124.801736,54.096140 -124.797004,54.095128 -124.796971,54.095116 -124.796940,54.095113 -124.790640,54.093690 -124.788322,54.093342 -124.788216,54.093309 -124.788074,54.093299 -124.787433,54.093137 -124.784433,54.092180 -124.783047,54.091972 -124.781658,54.092061 -124.781594,54.092057 -124.781527,54.092068 -124.780022,54.091961 -124.778702,54.091523 -124.778350,54.091322 -124.778100,54.091159 -124.777995,54.091171 -124.776490,54.091064 -124.775385,54.090727 -124.772809,54.089602 -124.771974,54.089273 -124.771037,54.089960 -124.770987,54.089983 -124.770952,54.090019 -124.769759,54.090569 -124.769285,54.090687 -124.763628,54.091847 -124.762162,54.093370 -124.761727,54.093734 -124.760533,54.094283 -124.759242,54.094513 -124.756379,54.094714 -124.756298,54.094709 -124.756209,54.094724 -124.754704,54.094616 -124.753516,54.094242 -124.750311,54.092760 -124.750259,54.092723 -124.750179,54.092696 -124.749324,54.092082 -124.748327,54.091037 -124.747300,54.091394 -124.747186,54.091415 -124.747074,54.091467 -124.745613,54.091706 -124.744108,54.091598 -124.743209,54.091345 -124.740887,54.090460 -124.739692,54.090287 -124.738917,54.090644 -124.737158,54.091166 -124.736105,54.091338 -124.736104,54.091345 -124.736020,54.091603 -124.735999,54.091752 -124.734394,54.095588 -124.732790,54.100395 -124.732668,54.100670 -124.731922,54.101446 -124.731463,54.101711 -124.728937,54.102947 -124.728201,54.103231 -124.727014,54.103452 -124.720892,54.103979 -124.715252,54.104544 -124.713049,54.105511 -124.710096,54.107842 -124.709960,54.107909 -124.709858,54.108012 -124.707552,54.109506 -124.706423,54.110011 -124.706302,54.110031 -124.706216,54.110068 -124.702364,54.111047 -124.701109,54.111228 -124.700716,54.111234 -124.698584,54.111200 -124.696646,54.112182 -124.695856,54.112492 -124.693655,54.113144 -124.692194,54.113382 -124.691436,54.113372 -124.689672,54.113246 -124.688924,54.113147 -124.688224,54.112965 -124.686678,54.112450 -124.686100,54.112210 -124.686078,54.112203 -124.677641,54.107988 -124.675162,54.107664 -124.674789,54.107603 -124.673469,54.107164 -124.672764,54.106693 -124.670814,54.104958 -124.670035,54.104616 -124.669953,54.104560 -124.669820,54.104515 -124.669169,54.104091 -124.668434,54.103471 -124.667189,54.104059 -124.666500,54.104320 -124.665039,54.104558 -124.663844,54.104501 -124.660403,54.104014 -124.657642,54.104176 -124.657594,54.104173 -124.657544,54.104181 -124.656039,54.104072 -124.653723,54.103622 -124.652529,54.103225 -124.651370,54.103413 -124.649865,54.103304 -124.649165,54.103121 -124.647620,54.102605 -124.647000,54.102349 -124.646068,54.101646 -124.646016,54.101535 -124.644728,54.101479 -124.643796,54.101370 -124.642477,54.100930 -124.642193,54.100771 -124.640425,54.099672 -124.639777,54.099129 -124.639644,54.098956 -124.638596,54.097427 -124.638565,54.097390 -124.637377,54.097347 -124.636398,54.097236 -124.635539,54.096997 -124.634192,54.096496 -124.632273,54.096576 -124.630776,54.096466 -124.628461,54.096016 -124.627142,54.095576 -124.626492,54.095151 -124.625497,54.094311 -124.625215,54.094033 -124.624019,54.092634 -124.623224,54.092324 -124.622833,54.092149 -124.621901,54.091446 -124.621857,54.091351 -124.621778,54.091287 -124.620824,54.089919 -124.620082,54.089445 -124.619469,54.088924 -124.618695,54.088018 -124.618478,54.087555 -124.618270,54.087547 -124.616298,54.087301 -124.612960,54.088041 -124.612026,54.088162 -124.611919,54.088180 -124.606633,54.088445 -124.606610,54.088443 -124.606586,54.088447 -124.606095,54.088450 -124.602129,54.088324 -124.601116,54.088212 -124.599798,54.087772 -124.598866,54.087069 -124.598464,54.086209 -124.598527,54.085600 -124.599073,54.083980 -124.599197,54.083706 -124.599703,54.083113 -124.601791,54.081363 -124.602032,54.081180 -124.603228,54.080633 -124.604169,54.080439 -124.608558,54.079894 -124.608693,54.079861 -124.608315,54.079418 -124.607912,54.078559 -124.608098,54.077674 -124.608181,54.077589 -124.608203,54.077510 -124.609858,54.075187 -124.611402,54.071831 -124.612690,54.068265 -124.612765,54.068101 -124.612768,54.068083 -124.614518,54.064650 -124.614545,54.064622 -124.614552,54.064587 -124.615127,54.063939 -124.616288,54.063024 -124.616099,54.059681 -124.616294,54.058887 -124.616677,54.058405 -124.618651,54.056525 -124.619016,54.056232 -124.620211,54.055685 -124.621671,54.055447 -124.621729,54.055452 -124.621782,54.055444 -124.629595,54.055240 -124.629738,54.055251 -124.630453,54.055273 -124.635297,54.055785 -124.635830,54.055865 -124.637016,54.056240 -124.640214,54.057725 -124.640266,54.057762 -124.640345,54.057789 -124.641071,54.058280 -124.644827,54.061707 -124.645033,54.061918 -124.647085,54.064317 -124.650636,54.066454 -124.651329,54.067024 -124.651554,54.067346 -124.651583,54.067400 -124.651771,54.067542 -124.651958,54.067759 -124.652902,54.067634 -124.658454,54.066793 -124.659138,54.066727 -124.660642,54.066836 -124.661151,54.066959 -124.662859,54.067458 -124.665947,54.067783 -124.666481,54.067863 -124.667472,54.068153 -124.672546,54.070216 -124.672873,54.070365 -124.673806,54.071068 -124.673939,54.071241 -124.674655,54.072286 -124.677782,54.073712 -124.683595,54.074744 -124.683638,54.074758 -124.683690,54.074762 -124.685002,54.075198 -124.687406,54.076411 -124.691046,54.075661 -124.693563,54.074017 -124.693575,54.074012 -124.693581,54.074005 -124.697312,54.071602 -124.698432,54.071103 -124.699890,54.070865 -124.707153,54.070545 -124.711019,54.069837 -124.711332,54.069802 -124.711511,54.069767 -124.716773,54.069230 -124.718455,54.068731 -124.720872,54.068014 -124.722332,54.067776 -124.722796,54.067772 -124.727311,54.067891 -124.727633,54.067926 -124.727935,54.067938 -124.730283,54.068228 -124.731948,54.068054 -124.734586,54.067673 -124.737927,54.066681 -124.739157,54.066457 -124.745868,54.065923 -124.745891,54.065924 -124.745919,54.065919 -124.755258,54.065250 -124.756952,54.065122 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-124.897692,54.052982 -124.897742,54.051595 -124.897875,54.051136 -124.895730,54.051623 -124.895010,54.051891 -124.896049,54.052219 -124.897692,54.052982 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-124.821033,54.082982 -124.820692,54.082263 -124.820873,54.081379 -124.821096,54.081062 -124.822860,54.079004 -124.822529,54.078308 -124.822598,54.077969 -124.821534,54.077645 -124.819736,54.076860 -124.818210,54.076507 -124.816238,54.076549 -124.812851,54.077422 -124.812144,54.077526 -124.811717,54.077601 -124.811429,54.077619 -124.811259,54.078449 -124.811146,54.078567 -124.813970,54.078609 -124.815081,54.078721 -124.816402,54.079159 -124.817337,54.079860 -124.817745,54.080718 -124.817697,54.081289 -124.817579,54.081682 -124.817640,54.081692 -124.818961,54.082130 -124.819896,54.082831 -124.819968,54.082983 -124.820332,54.082933 -124.821033,54.082982 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-125.396991,54.169935 -123.702381,54.998747</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-124.241223,54.352017 -124.240215,54.352023 -124.232233,54.346825 -124.232237,54.344889 -124.232250,54.337879 -124.229348,54.337880 -124.200005,54.318053 -124.173335,54.300009 -124.169734,54.297571 -124.158029,54.293662 -124.145487,54.281086 -124.112489,54.270043 -124.093630,54.270090 -124.011823,54.246451 -124.000003,54.250106 -123.997696,54.250819 -123.977468,54.242767 -123.980260,54.233370 -123.937510,54.220673 -123.932966,54.225490 -123.869570,54.217385 -123.807462,54.219286 -123.800001,54.217156 -123.740028,54.200008 -123.740000,54.200000 -123.702381,54.199867 -123.706055,54.198168 -123.705950,54.192553 -123.711220,54.192565 -123.711314,54.192565 -123.715454,54.192575 -123.715527,54.181560 -123.715535,54.180351 -123.715092,54.180178 -123.713912,54.179937 -123.712642,54.179685 -123.711353,54.179562 -123.709687,54.179481 -123.709448,54.179457 -123.709450,54.178993 -123.709482,54.171581 -123.728048,54.169935 -123.740404,54.174595 -123.758965,54.174491 -123.783695,54.181302 -123.800001,54.189595 -123.810459,54.194912 -123.869765,54.195296 -123.901324,54.199448 -123.924460,54.199517 -123.948549,54.196609 -123.957098,54.200010 -124.000000,54.217063 -124.048412,54.236270 -124.101427,54.248461 -124.130795,54.258840 -124.178727,54.283201 -124.200022,54.285558 -124.213755,54.287077 -124.229955,54.284114 -124.237512,54.288199 -124.237346,54.288309 -124.237088,54.288401 -124.236984,54.288537 -124.236896,54.288673 -124.236778,54.288827 -124.236782,54.288970 -124.237017,54.289121 -124.237068,54.289291 -124.237193,54.289362 -124.237224,54.289368 -124.237430,54.289559 -124.237431,54.289602 -124.237315,54.289828 -124.237213,54.290027 -124.237063,54.290136 -124.236944,54.290263 -124.236763,54.290391 -124.236614,54.290527 -124.236525,54.290663 -124.236407,54.290799 -124.236317,54.290899 -124.236245,54.291043 -124.236157,54.291197 -124.236069,54.291324 -124.235829,54.291533 -124.235756,54.291650 -124.235653,54.291813 -124.235535,54.291958 -124.235324,54.292086 -124.235004,54.292197 -124.234833,54.292136 -124.234617,54.292103 -124.234401,54.292069 -124.234124,54.292054 -124.233880,54.292101 -124.233606,54.292185 -124.233393,54.292277 -124.233120,54.292379 -124.232860,54.292426 -124.232584,54.292438 -124.232338,54.292431 -124.232015,54.292417 -124.231768,54.292383 -124.231490,54.292332 -124.231257,54.292254 -124.231024,54.292184 -124.230775,54.292079 -124.230558,54.292000 -124.230341,54.291949 -124.219056,54.298121 -124.219812,54.300008 -124.224910,54.312718 -124.238496,54.323244 -124.238493,54.330335 -124.238492,54.332282 -124.238492,54.333111 -124.239709,54.333604 -124.240258,54.333884 -124.240980,54.334241 -124.241684,54.334518 -124.242385,54.334714 -124.243157,54.334950 -124.243941,54.335592 -124.244591,54.336398 -124.245033,54.337206 -124.245333,54.337935 -124.245431,54.338868 -124.245671,54.339922 -124.245903,54.340692 -124.245788,54.341465 -124.245611,54.342523 -124.245432,54.343501 -124.245047,54.344561 -124.244655,54.345418 -124.244258,54.346073 -124.243869,54.347011 -124.243681,54.347704 -124.243494,54.348437 -124.243370,54.348926 -124.242974,54.349621 -124.242371,54.350399 -124.241631,54.351220 -124.241223,54.352017 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-124.187302,54.306246 -124.195305,54.306245 -124.195325,54.306245 -124.199598,54.306250 -124.199668,54.304439 -124.199695,54.303752 -124.199340,54.303531 -124.198812,54.303075 -124.198459,54.302717 -124.197935,54.302402 -124.197022,54.301649 -124.196117,54.301196 -124.195417,54.300702 -124.194955,54.300145 -124.194823,54.300004 -124.194283,54.299430 -124.193338,54.298757 -124.192636,54.298203 -124.191868,54.297709 -124.191129,54.297074 -124.190567,54.296599 -124.189939,54.296204 -124.188695,54.295875 -124.187556,54.295626 -124.187342,54.295577 -124.187303,54.296627 -124.187303,54.300000 -124.187303,54.300006 -124.187302,54.306246 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-125.109675,54.870146 -125.107753,54.868746 -125.106906,54.867028 -125.107263,54.865255 -125.108708,54.863737 -125.111704,54.861655 -125.111741,54.861637 -125.111766,54.861612 -125.114193,54.860503 -125.117170,54.860015 -125.120245,54.860221 -125.121679,54.860581 -125.133315,54.864328 -125.134586,54.864836 -125.134691,54.864913 -125.134822,54.864957 -125.144002,54.869829 -125.145229,54.870759 -125.146872,54.870008 -125.149849,54.869519 -125.150798,54.869507 -125.162101,54.869757 -125.164228,54.869973 -125.166934,54.870841 -125.167905,54.871406 -125.171534,54.873927 -125.172488,54.874760 -125.173338,54.876478 -125.172984,54.878252 -125.172433,54.878823 -125.176667,54.879974 -125.178417,54.880624 -125.178612,54.880766 -125.178833,54.880842 -125.185799,54.884772 -125.187308,54.885952 -125.187952,54.886940 -125.190067,54.891849 -125.193909,54.894297 -125.198281,54.895295 -125.200492,54.896060 -125.201914,54.896969 -125.206550,54.900881 -125.212469,54.902945 -125.221624,54.904873 -125.228437,54.905881 -125.228812,54.905993 -125.229243,54.906027 -125.237832,54.907877 -125.240185,54.908671 -125.241181,54.909253 -125.249839,54.915301 -125.259419,54.919521 -125.259741,54.919742 -125.260144,54.919882 -125.268522,54.924592 -125.268834,54.924834 -125.269493,54.925251 -125.274001,54.928978 -125.280320,54.931472 -125.280960,54.931753 -125.282892,54.933150 -125.283193,54.933527 -125.285323,54.936549 -125.292458,54.941696 -125.293310,54.942453 -125.293836,54.943192 -125.296441,54.948013 -125.302538,54.951648 -125.308418,54.952535 -125.308593,54.952587 -125.308820,54.952602 -125.311350,54.953379 -125.320351,54.957494 -125.324420,54.957888 -125.325516,54.958041 -125.326563,54.958281 -125.334904,54.960602 -125.336573,54.961226 -125.337299,54.961626 -125.339947,54.963284 -125.340120,54.963190 -125.341921,54.962456 -125.344903,54.961961 -125.347988,54.962161 -125.349543,54.962555 -125.354255,54.964116 -125.356274,54.963780 -125.357825,54.963792 -125.362252,54.964075 -125.363786,54.964263 -125.366504,54.965126 -125.366700,54.965267 -125.366922,54.965344 -125.371123,54.967695 -125.372642,54.968873 -125.373504,54.970589 -125.373469,54.970769 -125.373532,54.970913 -125.373571,54.972539 -125.375724,54.973060 -125.375954,54.973141 -125.376488,54.973273 -125.379697,54.974295 -125.381445,54.974614 -125.383719,54.975276 -125.385953,54.976212 -125.386122,54.976325 -125.386398,54.976413 -125.388336,54.977808 -125.389198,54.979524 -125.389041,54.980898 -125.388872,54.981339 -125.389569,54.981794 -125.390668,54.982717 -125.393226,54.985558 -125.393903,54.986607 -125.394968,54.989190 -125.396527,54.991619 -125.396991,54.992815 -125.396646,54.994590 -125.395146,54.996154 -125.392719,54.997269 -125.389424,54.998250 -125.386439,54.998746 -125.385120,54.998747 -125.379305,54.998476 -125.377537,54.998276 -125.374816,54.997413 -125.372877,54.996017 -125.372337,54.995256 -125.370756,54.992292 -125.365797,54.988729 -125.364942,54.987973 -125.364847,54.987783 -125.364682,54.987654 -125.361659,54.983549 -125.359055,54.980653 -125.357200,54.980314 -125.354481,54.979450 -125.354336,54.979346 -125.354163,54.979288 -125.347730,54.975811 -125.339195,54.974872 -125.338274,54.974737 -125.336834,54.974380 -125.332936,54.973138 -125.332035,54.972781 -125.331868,54.972730 -125.321787,54.968160 -125.315554,54.967610 -125.314342,54.967447 -125.312069,54.966783 -125.307534,54.964878 -125.301273,54.963728 -125.300996,54.963640 -125.300739,54.963618 -125.289354,54.960998 -125.287172,54.960243 -125.285746,54.959335 -125.282932,54.956970 -125.282425,54.956482 -125.278151,54.951712 -125.276363,54.951140 -125.275087,54.950633 -125.273155,54.949236 -125.273110,54.949145 -125.273020,54.949078 -125.266489,54.941039 -125.261351,54.936717 -125.251773,54.929498 -125.246180,54.927617 -125.245239,54.927234 -125.245158,54.927209 -125.235541,54.922682 -125.231146,54.922805 -125.228334,54.922592 -125.227288,54.922351 -125.218963,54.920022 -125.217297,54.919396 -125.216461,54.918923 -125.214371,54.917550 -125.210057,54.916567 -125.207845,54.915802 -125.205917,54.914404 -125.205279,54.913120 -125.204588,54.912774 -125.202770,54.912561 -125.201919,54.912434 -125.199209,54.911567 -125.197975,54.910809 -125.195986,54.909269 -125.189315,54.905107 -125.188482,54.904840 -125.187209,54.904332 -125.187120,54.904267 -125.187006,54.904229 -125.179406,54.900250 -125.173776,54.897681 -125.173692,54.897622 -125.173567,54.897582 -125.171641,54.896183 -125.170833,54.894692 -125.169962,54.890893 -125.165640,54.888193 -125.161473,54.887739 -125.156386,54.887307 -125.155111,54.887136 -125.152416,54.886274 -125.148830,54.884526 -125.148764,54.884537 -125.147761,54.884547 -125.142796,54.884418 -125.140722,54.884202 -125.138016,54.883333 -125.137927,54.883269 -125.137813,54.883231 -125.133918,54.881188 -125.132197,54.879891 -125.131624,54.879051 -125.130570,54.876908 -125.126839,54.875087 -125.119131,54.872508 -125.111986,54.870935 -125.109675,54.870146 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-124.753902,54.654504 -124.753780,54.654399 -124.752955,54.652679 -124.753327,54.650908 -124.754840,54.649353 -124.757264,54.648253 -124.760229,54.647775 -124.763284,54.647990 -124.765964,54.648867 -124.766789,54.649344 -124.771745,54.652667 -124.771791,54.652708 -124.771878,54.652759 -124.778079,54.657144 -124.791035,54.661287 -124.791245,54.661372 -124.791429,54.661422 -124.803522,54.665836 -124.804459,54.666237 -124.806359,54.667641 -124.807112,54.668989 -124.809942,54.679306 -124.810018,54.679677 -124.809648,54.681449 -124.808135,54.683004 -124.808096,54.683022 -124.808072,54.683047 -124.803710,54.685918 -124.801349,54.686978 -124.801068,54.687023 -124.800872,54.687106 -124.798561,54.687675 -124.800859,54.693133 -124.803951,54.694709 -124.805780,54.696077 -124.806609,54.697796 -124.806571,54.697976 -124.806632,54.698121 -124.806736,54.710300 -124.821159,54.723373 -124.838832,54.729871 -124.849442,54.733447 -124.850611,54.733927 -124.852516,54.735331 -124.853322,54.736896 -124.854669,54.743912 -124.863645,54.747610 -124.864205,54.747863 -124.865673,54.748829 -124.868721,54.751519 -124.868898,54.751696 -124.868944,54.751728 -124.879770,54.762494 -124.879833,54.762611 -124.879986,54.762723 -124.880644,54.763775 -124.881655,54.766331 -124.885935,54.768050 -124.889611,54.768964 -124.889839,54.769046 -124.890368,54.769180 -124.892299,54.769809 -124.893563,54.770320 -124.895472,54.771724 -124.896243,54.773120 -124.897392,54.777565 -124.897370,54.777713 -124.897455,54.777887 -124.897088,54.779660 -124.892774,54.787303 -124.891261,54.788859 -124.891221,54.788877 -124.891197,54.788901 -124.890146,54.789593 -124.890358,54.789874 -124.890403,54.789875 -124.892470,54.790096 -124.894957,54.790871 -124.900761,54.793551 -124.900844,54.793609 -124.900969,54.793650 -124.902879,54.795053 -124.903714,54.796772 -124.903718,54.797447 -124.903621,54.798250 -124.904670,54.799443 -124.910458,54.803198 -124.922049,54.805015 -124.924263,54.804365 -124.927553,54.803399 -124.930528,54.802915 -124.933597,54.803126 -124.950140,54.806237 -124.962549,54.808568 -124.965246,54.809440 -124.967159,54.810843 -124.967654,54.811541 -124.968782,54.813602 -124.969125,54.814622 -124.968762,54.816395 -124.967251,54.817953 -124.964822,54.819058 -124.962081,54.819864 -124.959105,54.820349 -124.956034,54.820138 -124.953336,54.819265 -124.952682,54.818903 -124.951224,54.817998 -124.947149,54.817402 -124.946933,54.817337 -124.946642,54.817317 -124.945779,54.817122 -124.934403,54.814095 -124.932021,54.814301 -124.922842,54.816636 -124.920263,54.817011 -124.917193,54.816800 -124.916995,54.816735 -124.916801,54.816719 -124.909076,54.815001 -124.909027,54.814984 -124.908732,54.814919 -124.900729,54.812883 -124.898771,54.812171 -124.896860,54.810768 -124.895994,54.809783 -124.887934,54.804899 -124.886606,54.803814 -124.885947,54.802762 -124.885740,54.802239 -124.883518,54.801723 -124.881319,54.800953 -124.880164,54.800246 -124.876006,54.797082 -124.875591,54.796700 -124.875460,54.796609 -124.869903,54.791067 -124.869841,54.790953 -124.869693,54.790844 -124.868859,54.789125 -124.869227,54.787352 -124.870741,54.785796 -124.872059,54.785089 -124.875764,54.783511 -124.877987,54.778235 -124.877336,54.778038 -124.875847,54.777456 -124.875715,54.777359 -124.875555,54.777304 -124.868920,54.773673 -124.867305,54.772421 -124.866915,54.771899 -124.865555,54.769712 -124.856918,54.762091 -124.856479,54.761653 -124.855987,54.760954 -124.854685,54.758557 -124.853552,54.758188 -124.852288,54.757676 -124.852095,54.757533 -124.851876,54.757456 -124.839446,54.750346 -124.837953,54.749162 -124.837122,54.747443 -124.837139,54.747361 -124.837106,54.747288 -124.836808,54.743239 -124.836375,54.741551 -124.835560,54.741517 -124.833664,54.741302 -124.831049,54.740462 -124.821116,54.735651 -124.814938,54.734023 -124.813065,54.733331 -124.812189,54.732822 -124.801973,54.725861 -124.801599,54.725535 -124.801325,54.725352 -124.787776,54.712998 -124.787396,54.712611 -124.786568,54.710892 -124.786677,54.709715 -124.789062,54.702242 -124.787098,54.700424 -124.786747,54.700063 -124.786697,54.699960 -124.786598,54.699884 -124.780780,54.692433 -124.780267,54.691272 -124.780108,54.690949 -124.779241,54.685232 -124.779246,54.685204 -124.779233,54.685177 -124.779604,54.683405 -124.781118,54.681850 -124.782070,54.681308 -124.789623,54.677683 -124.789610,54.677569 -124.788012,54.672389 -124.783721,54.670656 -124.774047,54.667808 -124.773455,54.667579 -124.773062,54.667464 -124.763441,54.663517 -124.762855,54.663252 -124.761112,54.662015 -124.753934,54.654567 -124.753902,54.654504 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-120.539094,56.387532 -120.510024,56.410861</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-120.533916,56.387867 -120.536617,56.388849 -120.538435,56.390330 -120.539093,56.392084 -120.539082,56.392118 -120.539094,56.392151 -120.539012,56.399960 -120.539021,56.406266 -120.538418,56.407989 -120.536646,56.409488 -120.533975,56.410496 -120.530811,56.410861 -120.530775,56.410857 -120.530740,56.410861 -120.525296,56.410861 -120.525296,56.410861 -120.518356,56.410861 -120.515252,56.410526 -120.512549,56.409543 -120.510732,56.408062 -120.510075,56.406308 -120.510080,56.406293 -120.510074,56.406278 -120.510024,56.392145 -120.510628,56.390414 -120.512400,56.388916 -120.515070,56.387908 -120.518233,56.387544 -120.518262,56.387547 -120.518290,56.387544 -120.530801,56.387532 -120.533916,56.387867 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-121.280436,59.002342 -120.964999,59.179663</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-121.205855,59.179499 -121.203958,59.179344 -121.200680,59.179075 -121.196023,59.178376 -121.190583,59.177470 -121.185175,59.176328 -121.178387,59.174243 -121.171025,59.171243 -121.163641,59.168422 -121.149982,59.163174 -121.140790,59.160049 -121.122040,59.153962 -121.106954,59.149076 -121.092821,59.144877 -121.078356,59.141440 -121.068085,59.139522 -121.055735,59.137588 -121.041634,59.135769 -121.028506,59.134460 -121.021269,59.134078 -121.013884,59.133929 -121.005496,59.133505 -120.997058,59.132602 -120.990610,59.131532 -120.984326,59.130111 -120.978758,59.128537 -120.973660,59.126920 -120.969408,59.125036 -120.967147,59.122987 -120.965830,59.120794 -120.964999,59.118439 -120.965064,59.116297 -120.965327,59.114399 -120.966715,59.111888 -120.969630,59.107526 -120.972307,59.104049 -120.974048,59.102325 -120.975452,59.101364 -120.976528,59.100271 -120.977127,59.099280 -120.977232,59.097675 -120.977659,59.096261 -120.978816,59.094575 -120.979924,59.093245 -120.980276,59.092365 -120.980538,59.091302 -120.980340,59.090222 -120.979781,59.089248 -120.977439,59.086958 -120.973954,59.083732 -120.973264,59.082872 -120.972639,59.081538 -120.970781,59.077419 -120.969614,59.074992 -120.968620,59.072990 -120.968069,59.071122 -120.968011,59.069035 -120.968469,59.065715 -120.970051,59.061781 -120.971010,59.058182 -120.971394,59.055396 -120.972114,59.051847 -120.973335,59.048854 -120.974892,59.045932 -120.977080,59.043450 -120.981064,59.039664 -120.984670,59.036936 -120.989391,59.033654 -120.993559,59.030925 -121.000051,59.027031 -121.006835,59.023389 -121.014790,59.020045 -121.023736,59.017034 -121.034557,59.013793 -121.048372,59.009990 -121.057071,59.007639 -121.063376,59.006198 -121.070706,59.004854 -121.075882,59.004087 -121.083385,59.003166 -121.086186,59.002909 -121.097189,59.002530 -121.104702,59.002382 -121.113584,59.002342 -121.123573,59.002639 -121.132016,59.003297 -121.145401,59.004071 -121.153959,59.004731 -121.162419,59.005269 -121.171635,59.006190 -121.180591,59.007340 -121.187901,59.008729 -121.192466,59.009962 -121.198628,59.012203 -121.204790,59.014444 -121.208344,59.016356 -121.212745,59.019726 -121.216749,59.023500 -121.219363,59.025557 -121.222452,59.027511 -121.226789,59.029628 -121.231395,59.031456 -121.236330,59.033415 -121.239819,59.034966 -121.242191,59.036239 -121.244104,59.037497 -121.246453,59.038949 -121.248734,59.040040 -121.251858,59.040864 -121.254897,59.041445 -121.257738,59.041782 -121.260020,59.041980 -121.261161,59.042079 -121.261689,59.042455 -121.261926,59.043297 -121.261741,59.044720 -121.261603,59.045788 -121.261655,59.047159 -121.261586,59.048586 -121.262028,59.050508 -121.262869,59.052919 -121.264177,59.056181 -121.265049,59.059249 -121.266165,59.063100 -121.267596,59.066306 -121.268783,59.067836 -121.270921,59.069161 -121.274131,59.071118 -121.276308,59.073040 -121.277871,59.075238 -121.278545,59.077167 -121.278490,59.079369 -121.277470,59.081002 -121.274503,59.083401 -121.270054,59.086524 -121.267531,59.088164 -121.265314,59.090113 -121.264193,59.091623 -121.263509,59.093327 -121.263056,59.095039 -121.261881,59.096964 -121.259610,59.098434 -121.257100,59.099956 -121.255726,59.101636 -121.255003,59.103636 -121.255162,59.105965 -121.256073,59.107843 -121.258128,59.109820 -121.259784,59.111307 -121.261187,59.112964 -121.262152,59.115320 -121.263263,59.118337 -121.264765,59.121904 -121.265883,59.124861 -121.266827,59.125609 -121.268078,59.125771 -121.270066,59.125601 -121.276422,59.124748 -121.278487,59.124878 -121.279838,59.125163 -121.280436,59.125899 -121.280344,59.126610 -121.278686,59.127804 -121.276582,59.128864 -121.273987,59.129251 -121.270663,59.129017 -121.268483,59.128883 -121.266840,59.129064 -121.266096,59.129455 -121.266364,59.130060 -121.267009,59.130440 -121.267868,59.130946 -121.268382,59.131441 -121.268535,59.132042 -121.268389,59.132275 -121.265511,59.132176 -121.263791,59.132057 -121.263046,59.132448 -121.262592,59.133266 -121.262600,59.134100 -121.262445,59.136180 -121.261160,59.138936 -121.259039,59.141901 -121.257125,59.143264 -121.254636,59.144608 -121.253575,59.145644 -121.252468,59.147035 -121.251791,59.148680 -121.251389,59.150870 -121.250950,59.152463 -121.249942,59.153977 -121.248803,59.155606 -121.246842,59.157325 -121.244789,59.158863 -121.243105,59.160234 -121.241404,59.162618 -121.239940,59.165844 -121.238391,59.168829 -121.236482,59.171026 -121.233612,59.173489 -121.229919,59.176041 -121.226588,59.177594 -121.221666,59.178912 -121.216960,59.179463 -121.212417,59.179663 -121.208258,59.179577 -121.207061,59.179536 -121.205855,59.179499 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-127.729546,51.406359 -127.671403,51.442710</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-127.675154,51.433469 -127.674909,51.433191 -127.674671,51.432911 -127.674441,51.432628 -127.674219,51.432343 -127.674005,51.432055 -127.673799,51.431765 -127.673602,51.431473 -127.673412,51.431179 -127.673231,51.430883 -127.673058,51.430584 -127.672893,51.430284 -127.672737,51.429983 -127.672589,51.429679 -127.672450,51.429374 -127.672319,51.429067 -127.672197,51.428760 -127.672083,51.428450 -127.671978,51.428140 -127.671882,51.427829 -127.671795,51.427516 -127.671716,51.427203 -127.671646,51.426889 -127.671585,51.426574 -127.671532,51.426258 -127.671489,51.425942 -127.671454,51.425626 -127.671428,51.425309 -127.671411,51.424992 -127.671403,51.424675 -127.671403,51.424357 -127.671413,51.424040 -127.671431,51.423723 -127.671458,51.423406 -127.671494,51.423090 -127.671539,51.422774 -127.671593,51.422459 -127.671655,51.422144 -127.671726,51.421830 -127.671806,51.421516 -127.671895,51.421204 -127.671992,51.420893 -127.672099,51.420583 -127.672213,51.420274 -127.672337,51.419966 -127.672468,51.419660 -127.672609,51.419355 -127.672758,51.419052 -127.672915,51.418750 -127.673081,51.418450 -127.673255,51.418152 -127.673437,51.417856 -127.673628,51.417562 -127.673827,51.417270 -127.674034,51.416981 -127.674249,51.416693 -127.674471,51.416408 -127.674702,51.416126 -127.674941,51.415846 -127.675187,51.415569 -127.675442,51.415294 -127.675703,51.415023 -127.675973,51.414754 -127.676249,51.414488 -127.676534,51.414225 -127.676825,51.413965 -127.677124,51.413709 -127.677429,51.413456 -127.677742,51.413206 -127.678062,51.412960 -127.678388,51.412717 -127.678722,51.412478 -127.679061,51.412242 -127.679408,51.412011 -127.679761,51.411783 -127.680120,51.411559 -127.680485,51.411339 -127.680856,51.411123 -127.681233,51.410911 -127.681617,51.410703 -127.682006,51.410499 -127.682400,51.410300 -127.682800,51.410105 -127.683206,51.409914 -127.683616,51.409728 -127.684032,51.409546 -127.684453,51.409369 -127.684878,51.409197 -127.685309,51.409029 -127.685744,51.408866 -127.686183,51.408707 -127.686627,51.408554 -127.687075,51.408405 -127.687527,51.408261 -127.687983,51.408123 -127.688443,51.407989 -127.688907,51.407860 -127.689374,51.407736 -127.689844,51.407618 -127.690318,51.407504 -127.690795,51.407396 -127.691275,51.407293 -127.691757,51.407196 -127.692242,51.407103 -127.692730,51.407016 -127.693220,51.406934 -127.693712,51.406858 -127.694206,51.406787 -127.694703,51.406721 -127.695201,51.406661 -127.695700,51.406606 -127.696201,51.406556 -127.696703,51.406513 -127.697207,51.406474 -127.697711,51.406441 -127.698217,51.406414 -127.698722,51.406392 -127.699229,51.406376 -127.699736,51.406365 -127.700243,51.406359 -127.700750,51.406360 -127.701257,51.406365 -127.701764,51.406377 -127.702271,51.406394 -127.702776,51.406416 -127.703282,51.406444 -127.703786,51.406477 -127.704289,51.406516 -127.704792,51.406560 -127.705292,51.406610 -127.705792,51.406666 -127.706290,51.406726 -127.706786,51.406793 -127.707280,51.406864 -127.707772,51.406941 -127.708262,51.407023 -127.708749,51.407111 -127.709234,51.407204 -127.709716,51.407302 -127.710196,51.407406 -127.710672,51.407514 -127.711146,51.407628 -127.711616,51.407747 -127.712083,51.407871 -127.712546,51.408000 -127.713005,51.408135 -127.713461,51.408274 -127.713913,51.408418 -127.714361,51.408567 -127.714804,51.408721 -127.715243,51.408880 -127.715678,51.409043 -127.716108,51.409211 -127.716533,51.409384 -127.716953,51.409562 -127.717369,51.409744 -127.717779,51.409931 -127.718184,51.410122 -127.718583,51.410317 -127.718977,51.410517 -127.719366,51.410721 -127.719749,51.410929 -127.720125,51.411141 -127.720496,51.411358 -127.720861,51.411578 -127.721219,51.411803 -127.721572,51.412031 -127.721917,51.412263 -127.722257,51.412499 -127.722589,51.412738 -127.722915,51.412981 -127.723234,51.413228 -127.723546,51.413478 -127.723851,51.413731 -127.724149,51.413988 -127.724440,51.414248 -127.724724,51.414511 -127.725000,51.414777 -127.725269,51.415046 -127.725530,51.415318 -127.725783,51.415593 -127.726029,51.415870 -127.726267,51.416151 -127.726497,51.416433 -127.726719,51.416718 -127.726934,51.417006 -127.727140,51.417296 -127.727338,51.417588 -127.727528,51.417882 -127.727709,51.418178 -127.727883,51.418476 -127.728048,51.418776 -127.728204,51.419078 -127.728352,51.419381 -127.728492,51.419686 -127.728623,51.419993 -127.728746,51.420301 -127.728860,51.420610 -127.728965,51.420920 -127.729062,51.421231 -127.729150,51.421544 -127.729229,51.421857 -127.729299,51.422171 -127.729361,51.422486 -127.729414,51.422802 -127.729458,51.423118 -127.729493,51.423434 -127.729520,51.423751 -127.729537,51.424068 -127.729546,51.424385 -127.729546,51.424702 -127.729537,51.425019 -127.729519,51.425337 -127.729492,51.425653 -127.729457,51.425970 -127.729412,51.426286 -127.729359,51.426601 -127.729297,51.426916 -127.729226,51.427230 -127.729147,51.427543 -127.729059,51.427856 -127.728962,51.428167 -127.728856,51.428478 -127.728742,51.428787 -127.728619,51.429094 -127.728487,51.429401 -127.728347,51.429706 -127.728199,51.430009 -127.728042,51.430311 -127.727876,51.430611 -127.727702,51.430909 -127.727520,51.431205 -127.727330,51.431499 -127.727132,51.431791 -127.726925,51.432081 -127.726711,51.432368 -127.726488,51.432653 -127.726257,51.432936 -127.726019,51.433216 -127.725773,51.433493 -127.725519,51.433768 -127.725257,51.434040 -127.724988,51.434309 -127.724712,51.434575 -127.724428,51.434838 -127.724136,51.435097 -127.723838,51.435354 -127.723532,51.435607 -127.723220,51.435857 -127.722900,51.436104 -127.722574,51.436346 -127.722240,51.436586 -127.721901,51.436821 -127.721554,51.437053 -127.721202,51.437281 -127.720842,51.437506 -127.720477,51.437726 -127.720106,51.437942 -127.719728,51.438154 -127.719345,51.438362 -127.718956,51.438566 -127.718562,51.438766 -127.718161,51.438961 -127.717756,51.439152 -127.717345,51.439338 -127.716929,51.439520 -127.716508,51.439697 -127.716082,51.439870 -127.715652,51.440038 -127.715217,51.440201 -127.714777,51.440359 -127.714333,51.440513 -127.713884,51.440662 -127.713432,51.440806 -127.712976,51.440945 -127.712515,51.441079 -127.712052,51.441207 -127.711584,51.441331 -127.711113,51.441450 -127.710639,51.441563 -127.710162,51.441672 -127.709682,51.441775 -127.709199,51.441873 -127.708714,51.441965 -127.708226,51.442052 -127.707735,51.442134 -127.707243,51.442211 -127.706748,51.442282 -127.706251,51.442348 -127.705753,51.442408 -127.705253,51.442463 -127.704752,51.442512 -127.704249,51.442556 -127.703745,51.442595 -127.703240,51.442628 -127.702734,51.442655 -127.702228,51.442677 -127.701721,51.442693 -127.701214,51.442704 -127.700706,51.442710 -127.700198,51.442709 -127.699691,51.442703 -127.699183,51.442692 -127.698677,51.442675 -127.698170,51.442653 -127.697665,51.442625 -127.697160,51.442592 -127.696656,51.442553 -127.696153,51.442508 -127.695652,51.442458 -127.695152,51.442403 -127.694654,51.442342 -127.694157,51.442276 -127.693663,51.442204 -127.693170,51.442127 -127.692680,51.442045 -127.692192,51.441957 -127.691707,51.441864 -127.691224,51.441766 -127.690745,51.441662 -127.690268,51.441554 -127.689794,51.441440 -127.689324,51.441321 -127.688856,51.441196 -127.688393,51.441067 -127.687933,51.440933 -127.687477,51.440793 -127.687025,51.440649 -127.686577,51.440500 -127.686133,51.440346 -127.685694,51.440187 -127.685259,51.440023 -127.684829,51.439855 -127.684403,51.439682 -127.683983,51.439504 -127.683567,51.439322 -127.683157,51.439135 -127.682752,51.438944 -127.682352,51.438748 -127.681958,51.438549 -127.681570,51.438344 -127.681187,51.438136 -127.680810,51.437923 -127.680439,51.437707 -127.680075,51.437486 -127.679716,51.437262 -127.679364,51.437033 -127.679018,51.436801 -127.678679,51.436565 -127.678346,51.436325 -127.678021,51.436082 -127.677702,51.435835 -127.677390,51.435585 -127.677085,51.435332 -127.676787,51.435075 -127.676496,51.434815 -127.676213,51.434551 -127.675937,51.434285 -127.675668,51.434016 -127.675407,51.433744 -127.675154,51.433469 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-115.781339,49.797717 -115.659242,49.911311</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-115.688544,49.846342 -115.683207,49.836107 -115.679851,49.836839 -115.675648,49.828774 -115.669415,49.830133 -115.659242,49.810592 -115.694705,49.802856 -115.698908,49.810919 -115.705138,49.809559 -115.759270,49.797717 -115.781339,49.839877 -115.733392,49.850371 -115.736148,49.855643 -115.740944,49.854594 -115.752628,49.876921 -115.764162,49.898938 -115.707495,49.911311 -115.684332,49.866952 -115.694889,49.864650 -115.685666,49.846970 -115.688544,49.846342 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-119.698748,48.997565 -119.667048,49.028431</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-119.667052,48.999981 -119.667048,48.999968 -119.667315,48.999109 -119.668061,48.998382 -119.669173,48.997898 -119.670430,48.997732 -119.694634,48.997565 -119.694660,48.997569 -119.694686,48.997565 -119.695992,48.997740 -119.697097,48.998231 -119.697833,48.998962 -119.698087,48.999776 -119.698747,49.025962 -119.698741,49.025985 -119.698748,49.026009 -119.698482,49.026869 -119.697736,49.027596 -119.696624,49.028080 -119.695369,49.028247 -119.670749,49.028431 -119.670723,49.028428 -119.670695,49.028431 -119.669388,49.028256 -119.668282,49.027765 -119.667546,49.027033 -119.667292,49.026197 -119.667048,48.999993 -119.667052,48.999981 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-119.568818,49.065135 -119.504780,49.142557</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-119.522249,49.065300 -119.523561,49.065135 -119.524868,49.065313 -119.525973,49.065805 -119.526707,49.066538 -119.526842,49.066803 -119.527115,49.067473 -119.528332,49.069444 -119.530625,49.071759 -119.533211,49.073307 -119.539319,49.076653 -119.539410,49.076708 -119.539429,49.076716 -119.545892,49.080573 -119.545955,49.080632 -119.546056,49.080678 -119.550173,49.083486 -119.550193,49.083506 -119.550564,49.083807 -119.553591,49.086819 -119.555310,49.088283 -119.555771,49.088810 -119.555932,49.089142 -119.557100,49.092403 -119.557101,49.092405 -119.557102,49.092409 -119.558690,49.096897 -119.558692,49.096908 -119.558700,49.096923 -119.559772,49.100126 -119.561650,49.102082 -119.565195,49.104472 -119.565198,49.104475 -119.565370,49.104599 -119.568021,49.106683 -119.568565,49.107277 -119.568818,49.108139 -119.568548,49.108999 -119.567799,49.109725 -119.567407,49.109943 -119.560098,49.113432 -119.562289,49.117400 -119.562293,49.117417 -119.562357,49.117538 -119.564363,49.122062 -119.564363,49.122067 -119.564370,49.122079 -119.566797,49.127712 -119.566926,49.128338 -119.566899,49.128426 -119.566916,49.128498 -119.566070,49.135649 -119.565882,49.140007 -119.565614,49.140817 -119.564864,49.141544 -119.563747,49.142026 -119.562378,49.142392 -119.561064,49.142557 -119.559754,49.142380 -119.558646,49.141888 -119.557911,49.141155 -119.557890,49.141084 -119.557840,49.141031 -119.556492,49.138425 -119.556310,49.137687 -119.556324,49.137495 -119.556961,49.132980 -119.555417,49.128915 -119.555395,49.128793 -119.555347,49.128674 -119.554050,49.122408 -119.551709,49.117405 -119.550888,49.116079 -119.550220,49.115782 -119.549840,49.115481 -119.545711,49.111558 -119.545356,49.111126 -119.545104,49.110265 -119.545123,49.110046 -119.545321,49.108798 -119.544562,49.107370 -119.542174,49.103511 -119.539131,49.101435 -119.535063,49.098792 -119.532649,49.097600 -119.527287,49.097957 -119.527257,49.097958 -119.527247,49.097959 -119.515435,49.098651 -119.515107,49.098660 -119.513798,49.098482 -119.512692,49.097990 -119.511958,49.097256 -119.511707,49.096425 -119.511565,49.081066 -119.510508,49.079783 -119.508743,49.079293 -119.507638,49.078800 -119.507380,49.078607 -119.506674,49.078014 -119.506199,49.077474 -119.506040,49.077147 -119.505563,49.075824 -119.505492,49.075414 -119.505471,49.075346 -119.505443,49.074323 -119.505031,49.073656 -119.504780,49.072794 -119.505050,49.071935 -119.505801,49.071209 -119.506580,49.070831 -119.521913,49.065404 -119.522249,49.065300 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-119.576407,49.262390 -119.500155,49.334630</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-119.535150,49.307582 -119.535853,49.309238 -119.538964,49.312442 -119.542276,49.316570 -119.544943,49.320259 -119.547464,49.321911 -119.550180,49.323876 -119.551058,49.324987 -119.552457,49.326936 -119.552176,49.327988 -119.550191,49.329004 -119.536260,49.331847 -119.519424,49.333627 -119.501359,49.334630 -119.500308,49.286555 -119.500155,49.269747 -119.501372,49.269302 -119.504096,49.268580 -119.508457,49.267789 -119.513202,49.267017 -119.515961,49.266651 -119.517507,49.267339 -119.518352,49.268702 -119.519041,49.270717 -119.519086,49.272293 -119.519295,49.274435 -119.521092,49.274324 -119.524136,49.273516 -119.527176,49.272098 -119.529599,49.269989 -119.530057,49.262907 -119.534742,49.262639 -119.539812,49.262390 -119.542662,49.262618 -119.543576,49.263344 -119.544291,49.264497 -119.546729,49.268123 -119.549553,49.275676 -119.553390,49.285159 -119.556858,49.292543 -119.561253,49.299314 -119.562149,49.300504 -119.562877,49.301325 -119.563564,49.302730 -119.566616,49.306824 -119.569189,49.310274 -119.573988,49.314983 -119.576407,49.319471 -119.573316,49.322614 -119.568149,49.323621 -119.563573,49.322272 -119.559021,49.320062 -119.554695,49.317913 -119.551232,49.315047 -119.547929,49.312138 -119.545073,49.308744 -119.543715,49.307761 -119.541876,49.306906 -119.540007,49.306303 -119.538625,49.306182 -119.537051,49.306355 -119.535899,49.306905 -119.535150,49.307582 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-126.035977,49.375513 -125.188431,50.020309</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-125.915995,50.019257 -125.915735,50.019323 -125.915473,50.019383 -125.915202,50.019427 -125.914928,50.019464 -125.914654,50.019503 -125.914387,50.019553 -125.914130,50.019620 -125.913877,50.019699 -125.913628,50.019784 -125.913379,50.019870 -125.913130,50.019952 -125.912877,50.020025 -125.912618,50.020084 -125.912346,50.020105 -125.912063,50.020096 -125.911779,50.020087 -125.911498,50.020087 -125.911217,50.020087 -125.910943,50.020109 -125.910682,50.020171 -125.910427,50.020251 -125.910167,50.020309 -125.909889,50.020278 -125.909656,50.020181 -125.909446,50.020060 -125.909242,50.019937 -125.909042,50.019813 -125.908843,50.019686 -125.908648,50.019557 -125.908457,50.019427 -125.908269,50.019293 -125.908083,50.019159 -125.907896,50.019026 -125.907705,50.018895 -125.907503,50.018769 -125.907275,50.018655 -125.907052,50.018539 -125.906873,50.018409 -125.906776,50.018251 -125.906750,50.018070 -125.906740,50.017883 -125.906689,50.017706 -125.906526,50.017551 -125.906384,50.017403 -125.906555,50.017265 -125.906817,50.017202 -125.907067,50.017123 -125.907305,50.017029 -125.907539,50.016931 -125.907772,50.016832 -125.908004,50.016731 -125.908235,50.016630 -125.908459,50.016523 -125.908695,50.016428 -125.908951,50.016356 -125.909212,50.016289 -125.909460,50.016209 -125.909701,50.016113 -125.909937,50.016008 -125.910150,50.015892 -125.910313,50.015755 -125.910356,50.015562 -125.910442,50.015399 -125.910667,50.015316 -125.910937,50.015262 -125.911222,50.015215 -125.911492,50.015155 -125.911719,50.015047 -125.911849,50.014889 -125.911777,50.014714 -125.911677,50.014544 -125.911569,50.014378 -125.911462,50.014211 -125.911366,50.014042 -125.911292,50.013870 -125.911226,50.013695 -125.911161,50.013520 -125.911098,50.013344 -125.911039,50.013167 -125.910983,50.012990 -125.910933,50.012813 -125.910889,50.012635 -125.910852,50.012457 -125.910823,50.012279 -125.910807,50.012101 -125.910811,50.011922 -125.910831,50.011743 -125.910861,50.011563 -125.910896,50.011383 -125.910932,50.011204 -125.910967,50.011025 -125.911014,50.010848 -125.911067,50.010671 -125.911118,50.010495 -125.911160,50.010317 -125.911188,50.010138 -125.911208,50.009959 -125.911224,50.009779 -125.911242,50.009600 -125.911266,50.009421 -125.911287,50.009238 -125.911303,50.009053 -125.911339,50.008873 -125.911421,50.008708 -125.911577,50.008566 -125.911786,50.008441 -125.912002,50.008318 -125.912177,50.008180 -125.912294,50.008018 -125.912369,50.007840 -125.912405,50.007660 -125.912403,50.007483 -125.912365,50.007303 -125.912306,50.007125 -125.912234,50.006951 -125.912134,50.006779 -125.912028,50.006609 -125.911939,50.006439 -125.911896,50.006269 -125.911993,50.006101 -125.912130,50.005938 -125.912273,50.005782 -125.912407,50.005625 -125.912466,50.005450 -125.912554,50.005279 -125.912647,50.005109 -125.912754,50.004943 -125.912879,50.004783 -125.913010,50.004624 -125.913144,50.004466 -125.913281,50.004310 -125.913423,50.004154 -125.913567,50.004000 -125.913715,50.003848 -125.913866,50.003696 -125.914024,50.003547 -125.914193,50.003402 -125.914373,50.003265 -125.914574,50.003145 -125.914827,50.003064 -125.915067,50.002971 -125.915309,50.002856 -125.915498,50.002726 -125.915542,50.002567 -125.915452,50.002383 -125.915306,50.002227 -125.915114,50.002095 -125.914905,50.001969 -125.914722,50.001835 -125.914619,50.001675 -125.914589,50.001491 -125.914508,50.001319 -125.914380,50.001157 -125.914269,50.000993 -125.914219,50.000818 -125.914211,50.000637 -125.914195,50.000457 -125.914207,50.000236 -125.914180,50.000000 -125.914171,49.999820 -125.914174,49.999639 -125.914174,49.999637 -125.904625,49.999637 -125.878741,49.999639 -125.852857,49.999641 -125.827419,49.999642 -125.801464,49.999644 -125.800000,49.999644 -125.800000,49.999815 -125.799679,49.999815 -125.798786,49.999815 -125.798340,49.999815 -125.797894,49.999815 -125.797447,49.999815 -125.797001,49.999815 -125.796555,49.999815 -125.796109,49.999815 -125.795662,49.999815 -125.795216,49.999815 -125.794770,49.999816 -125.794323,49.999816 -125.793877,49.999816 -125.793431,49.999816 -125.792985,49.999816 -125.792538,49.999816 -125.792092,49.999816 -125.791646,49.999816 -125.791199,49.999816 -125.790753,49.999816 -125.790307,49.999816 -125.789861,49.999816 -125.789414,49.999816 -125.788968,49.999816 -125.788522,49.999816 -125.788075,49.999816 -125.787629,49.999816 -125.787183,49.999816 -125.786737,49.999816 -125.786290,49.999816 -125.785844,49.999816 -125.785398,49.999816 -125.784951,49.999816 -125.784505,49.999816 -125.784059,49.999816 -125.783613,49.999816 -125.783166,49.999816 -125.782720,49.999816 -125.782274,49.999816 -125.781827,49.999816 -125.781381,49.999817 -125.780935,49.999817 -125.780489,49.999817 -125.780042,49.999817 -125.779596,49.999817 -125.779150,49.999817 -125.778703,49.999817 -125.778257,49.999817 -125.777811,49.999817 -125.777365,49.999817 -125.776918,49.999817 -125.776472,49.999817 -125.776026,49.999817 -125.775579,49.999817 -125.775133,49.999817 -125.774687,49.999817 -125.774240,49.999817 -125.773794,49.999817 -125.773348,49.999817 -125.772902,49.999817 -125.772455,49.999817 -125.772009,49.999817 -125.771563,49.999817 -125.771116,49.999817 -125.770670,49.999817 -125.770224,49.999817 -125.769778,49.999817 -125.769331,49.999817 -125.768885,49.999817 -125.768439,49.999817 -125.767992,49.999817 -125.767546,49.999818 -125.767100,49.999818 -125.766654,49.999818 -125.766207,49.999818 -125.765761,49.999818 -125.765315,49.999818 -125.764868,49.999818 -125.764422,49.999818 -125.763976,49.999818 -125.763529,49.999818 -125.763083,49.999818 -125.762637,49.999818 -125.762191,49.999818 -125.761744,49.999818 -125.761298,49.999818 -125.760852,49.999818 -125.760405,49.999818 -125.759959,49.999818 -125.759513,49.999818 -125.759067,49.999818 -125.758620,49.999818 -125.758174,49.999818 -125.757728,49.999818 -125.757281,49.999818 -125.756835,49.999818 -125.756389,49.999818 -125.755942,49.999818 -125.755496,49.999818 -125.755050,49.999818 -125.754604,49.999818 -125.754157,49.999818 -125.753711,49.999819 -125.753265,49.999819 -125.752818,49.999819 -125.752372,49.999819 -125.751926,49.999819 -125.751480,49.999819 -125.751033,49.999819 -125.750587,49.999819 -125.750141,49.999819 -125.749694,49.999819 -125.749248,49.999819 -125.748802,49.999819 -125.748355,49.999819 -125.747909,49.999819 -125.747463,49.999819 -125.747017,49.999819 -125.746570,49.999819 -125.746124,49.999819 -125.745678,49.999819 -125.745231,49.999819 -125.744785,49.999819 -125.744339,49.999819 -125.743893,49.999819 -125.743446,49.999819 -125.743000,49.999819 -125.742554,49.999819 -125.742107,49.999819 -125.741661,49.999819 -125.741215,49.999819 -125.740768,49.999819 -125.740322,49.999819 -125.739876,49.999819 -125.739430,49.999819 -125.738983,49.999819 -125.738537,49.999819 -125.738091,49.999819 -125.737644,49.999819 -125.737198,49.999819 -125.736752,49.999819 -125.736306,49.999819 -125.735859,49.999819 -125.735413,49.999819 -125.734967,49.999819 -125.734520,49.999819 -125.734074,49.999819 -125.733628,49.999819 -125.733181,49.999819 -125.732735,49.999819 -125.732289,49.999819 -125.731843,49.999819 -125.731396,49.999820 -125.730950,49.999820 -125.730504,49.999820 -125.730057,49.999820 -125.729611,49.999820 -125.729165,49.999820 -125.728718,49.999820 -125.728272,49.999820 -125.727826,49.999820 -125.727380,49.999820 -125.726933,49.999820 -125.726487,49.999820 -125.726041,49.999820 -125.725594,49.999820 -125.725148,49.999820 -125.724702,49.999820 -125.724255,49.999820 -125.723809,49.999820 -125.723363,49.999820 -125.722917,49.999820 -125.722470,49.999820 -125.722024,49.999820 -125.721578,49.999820 -125.721131,49.999820 -125.720685,49.999820 -125.720239,49.999820 -125.719792,49.999820 -125.719576,49.999820 -125.718750,49.998562 -125.718234,49.997596 -125.717014,49.996918 -125.716752,49.996162 -125.716790,49.996077 -125.716577,49.995404 -125.716353,49.994879 -125.716166,49.994134 -125.716464,49.993409 -125.717278,49.992390 -125.718298,49.990712 -125.719216,49.989816 -125.719526,49.989309 -125.719837,49.988802 -125.721079,49.987649 -125.721484,49.986572 -125.722093,49.986030 -125.722957,49.985879 -125.723182,49.985733 -125.723351,49.985418 -125.723393,49.984648 -125.723182,49.984094 -125.723569,49.983669 -125.725799,49.982146 -125.726864,49.981553 -125.726854,49.981373 -125.726084,49.980979 -125.725362,49.980333 -125.725251,49.980024 -125.725381,49.979850 -125.726691,49.979191 -125.726957,49.978924 -125.727038,49.978711 -125.726430,49.978229 -125.724290,49.976690 -125.721134,49.974834 -125.721033,49.974080 -125.721812,49.973090 -125.722855,49.972282 -125.724069,49.971289 -125.724171,49.971092 -125.724261,49.970847 -125.724873,49.970504 -125.724877,49.970262 -125.725817,49.969106 -125.725912,49.968563 -125.725040,49.967648 -125.724108,49.966724 -125.722837,49.966035 -125.723130,49.965498 -125.723774,49.965483 -125.725285,49.965750 -125.726982,49.965672 -125.728315,49.965395 -125.729371,49.964367 -125.730122,49.963631 -125.729816,49.962370 -125.729786,49.962365 -125.728273,49.962066 -125.725857,49.960818 -125.725499,49.960202 -125.724538,49.959789 -125.723560,49.958582 -125.723632,49.958297 -125.723282,49.957813 -125.723263,49.957473 -125.723479,49.957146 -125.723313,49.956280 -125.724486,49.954209 -125.725978,49.952585 -125.726804,49.950598 -125.725642,49.947674 -125.725730,49.946792 -125.727395,49.945389 -125.727856,49.944835 -125.727859,49.944836 -125.728531,49.943549 -125.729413,49.942116 -125.729605,49.940870 -125.730276,49.938821 -125.728721,49.937616 -125.727191,49.936862 -125.726157,49.935587 -125.725996,49.934293 -125.725917,49.932883 -125.726533,49.931401 -125.727857,49.930071 -125.729296,49.927666 -125.730239,49.925780 -125.731585,49.924845 -125.731429,49.922082 -125.731165,49.920508 -125.729785,49.919298 -125.725804,49.918489 -125.721827,49.917735 -125.721704,49.917769 -125.718469,49.918661 -125.716440,49.919894 -125.712660,49.921112 -125.709546,49.923274 -125.707526,49.924676 -125.706475,49.924644 -125.705292,49.923825 -125.704309,49.923452 -125.701452,49.923971 -125.698711,49.924994 -125.697079,49.926024 -125.696852,49.926167 -125.693762,49.927199 -125.691975,49.928087 -125.689317,49.929052 -125.685692,49.929926 -125.684973,49.929943 -125.684827,49.929946 -125.684825,49.927728 -125.684826,49.927675 -125.684825,49.927492 -125.684825,49.927309 -125.684825,49.927256 -125.684825,49.927239 -125.684814,49.912813 -125.684814,49.912503 -125.684810,49.908142 -125.684810,49.907964 -125.685093,49.907964 -125.697111,49.907966 -125.697402,49.907966 -125.697692,49.907966 -125.714871,49.907966 -125.729321,49.907964 -125.729875,49.907964 -125.765579,49.907953 -125.755380,49.900000 -125.755150,49.899821 -125.731025,49.880830 -125.730786,49.880642 -125.729596,49.879705 -125.674484,49.836245 -125.674066,49.835914 -125.634837,49.804904 -125.628642,49.800000 -125.618608,49.792128 -125.618210,49.792404 -125.617843,49.792796 -125.617661,49.793102 -125.617615,49.793149 -125.617562,49.793206 -125.617475,49.793302 -125.617192,49.793423 -125.616974,49.793569 -125.616685,49.793841 -125.616522,49.794082 -125.616423,49.794419 -125.616343,49.794693 -125.616091,49.795243 -125.616206,49.795551 -125.616709,49.796375 -125.617285,49.797239 -125.617738,49.797918 -125.617851,49.798181 -125.617997,49.799049 -125.618222,49.800000 -125.623087,49.800012 -125.623094,49.804534 -125.617838,49.804537 -125.618010,49.804904 -125.618119,49.805239 -125.618021,49.805653 -125.617899,49.805846 -125.617903,49.805853 -125.617853,49.805962 -125.617709,49.806118 -125.617702,49.806150 -125.617231,49.806570 -125.617046,49.806798 -125.616899,49.807093 -125.616933,49.807723 -125.617083,49.808012 -125.617107,49.808061 -125.617364,49.808503 -125.617282,49.808962 -125.617089,49.809436 -125.617127,49.809869 -125.617341,49.810316 -125.617347,49.810320 -125.622287,49.810343 -125.622441,49.817678 -125.622567,49.817683 -125.622712,49.817743 -125.622766,49.817833 -125.622804,49.817887 -125.622803,49.817897 -125.622880,49.817957 -125.622845,49.818074 -125.622774,49.818161 -125.622771,49.818189 -125.622936,49.818501 -125.622847,49.818681 -125.622804,49.818933 -125.622949,49.819268 -125.622754,49.819564 -125.622719,49.819716 -125.622839,49.820265 -125.622320,49.820290 -125.622296,49.820329 -125.629582,49.832351 -125.627408,49.834593 -125.628617,49.835357 -125.630683,49.836534 -125.631519,49.837594 -125.631777,49.838236 -125.632177,49.838443 -125.631492,49.839142 -125.629312,49.838939 -125.628548,49.839208 -125.628572,49.838632 -125.627051,49.838271 -125.625751,49.838912 -125.625833,49.839413 -125.626561,49.839505 -125.627128,49.839925 -125.627206,49.839912 -125.627709,49.840355 -125.628822,49.841181 -125.628357,49.841839 -125.627015,49.842733 -125.627745,49.844911 -125.632775,49.847387 -125.632780,49.845444 -125.631699,49.845001 -125.630608,49.842328 -125.630095,49.842087 -125.633801,49.839665 -125.633139,49.837178 -125.633161,49.837177 -125.633674,49.837165 -125.633947,49.837150 -125.634067,49.837138 -125.634554,49.837127 -125.634842,49.837130 -125.635180,49.837131 -125.635430,49.837125 -125.635694,49.837128 -125.635909,49.837124 -125.636078,49.837134 -125.636204,49.837171 -125.636219,49.837174 -125.636375,49.837268 -125.636539,49.837431 -125.636769,49.837672 -125.636917,49.837864 -125.636959,49.837914 -125.637005,49.837986 -125.637154,49.838155 -125.637287,49.838346 -125.637516,49.838659 -125.637536,49.838683 -125.637652,49.838802 -125.637970,49.839012 -125.637997,49.839028 -125.638177,49.839155 -125.638468,49.839295 -125.638541,49.839339 -125.638726,49.839475 -125.638826,49.839545 -125.639058,49.839719 -125.639135,49.839773 -125.639307,49.839953 -125.639416,49.840051 -125.639533,49.840230 -125.639584,49.840291 -125.639713,49.840426 -125.639826,49.840505 -125.640048,49.840600 -125.640135,49.840631 -125.640490,49.840722 -125.640766,49.840745 -125.641073,49.840764 -125.641192,49.840786 -125.641418,49.840908 -125.641493,49.840979 -125.641509,49.841010 -125.641518,49.841188 -125.641512,49.841306 -125.641482,49.841488 -125.641445,49.841623 -125.641460,49.841911 -125.641516,49.842141 -125.641552,49.842293 -125.641571,49.842379 -125.641650,49.842578 -125.641659,49.842758 -125.641593,49.842951 -125.641572,49.843006 -125.641448,49.843209 -125.641343,49.843378 -125.641164,49.843603 -125.640634,49.844140 -125.640590,49.844200 -125.640324,49.844580 -125.639060,49.845265 -125.640158,49.845469 -125.639742,49.845573 -125.639650,49.845625 -125.640119,49.846986 -125.640512,49.847252 -125.640859,49.847203 -125.641301,49.847535 -125.641569,49.847623 -125.642000,49.848648 -125.643030,49.847887 -125.644213,49.848981 -125.644214,49.849102 -125.644216,49.850185 -125.644811,49.850184 -125.643757,49.854392 -125.644044,49.856068 -125.645345,49.856722 -125.645904,49.856633 -125.646151,49.856551 -125.646426,49.859657 -125.646116,49.859659 -125.647034,49.861442 -125.646928,49.862443 -125.647115,49.862632 -125.646853,49.862773 -125.646385,49.863382 -125.646206,49.863872 -125.646399,49.864146 -125.645350,49.865286 -125.645638,49.865576 -125.644775,49.866842 -125.644835,49.867749 -125.645597,49.868883 -125.650311,49.870282 -125.650730,49.870715 -125.645826,49.870712 -125.645824,49.872521 -125.643026,49.872519 -125.643030,49.868902 -125.639608,49.868900 -125.639613,49.865031 -125.637098,49.865029 -125.636713,49.864804 -125.636671,49.864780 -125.636629,49.864756 -125.636586,49.864733 -125.636543,49.864709 -125.636500,49.864686 -125.636458,49.864662 -125.636415,49.864639 -125.636373,49.864615 -125.636331,49.864591 -125.636290,49.864566 -125.636250,49.864542 -125.636210,49.864517 -125.636172,49.864491 -125.636134,49.864465 -125.636098,49.864438 -125.636063,49.864411 -125.636029,49.864383 -125.635997,49.864354 -125.635967,49.864324 -125.635939,49.864294 -125.635911,49.864262 -125.635885,49.864231 -125.635859,49.864198 -125.635835,49.864166 -125.635810,49.864133 -125.635786,49.864100 -125.635762,49.864068 -125.635738,49.864035 -125.635713,49.864002 -125.635688,49.863970 -125.635662,49.863938 -125.635636,49.863906 -125.635611,49.863873 -125.635587,49.863840 -125.635565,49.863806 -125.635542,49.863771 -125.635520,49.863737 -125.635498,49.863702 -125.635476,49.863668 -125.635453,49.863634 -125.635429,49.863601 -125.635404,49.863568 -125.635377,49.863536 -125.635349,49.863506 -125.635319,49.863477 -125.635286,49.863449 -125.635251,49.863423 -125.635212,49.863399 -125.635171,49.863377 -125.635128,49.863357 -125.635083,49.863338 -125.635036,49.863319 -125.634987,49.863302 -125.634937,49.863286 -125.634886,49.863271 -125.634834,49.863257 -125.634781,49.863243 -125.634727,49.863229 -125.634673,49.863216 -125.634619,49.863203 -125.634564,49.863190 -125.634510,49.863176 -125.634456,49.863163 -125.634402,49.863150 -125.634349,49.863135 -125.634296,49.863121 -125.634245,49.863105 -125.634195,49.863089 -125.634146,49.863072 -125.634099,49.863054 -125.634053,49.863034 -125.634010,49.863014 -125.633968,49.862992 -125.633929,49.862968 -125.633892,49.862943 -125.633856,49.862917 -125.633821,49.862890 -125.633787,49.862863 -125.633754,49.862835 -125.633722,49.862806 -125.633690,49.862777 -125.633659,49.862748 -125.633629,49.862717 -125.633600,49.862687 -125.633571,49.862656 -125.633543,49.862625 -125.633515,49.862593 -125.633488,49.862561 -125.633461,49.862529 -125.633434,49.862497 -125.633408,49.862464 -125.633382,49.862431 -125.633356,49.862399 -125.633330,49.862366 -125.633304,49.862333 -125.633278,49.862300 -125.633251,49.862267 -125.633225,49.862234 -125.633199,49.862202 -125.633172,49.862169 -125.633145,49.862137 -125.633117,49.862105 -125.633089,49.862073 -125.633061,49.862042 -125.633032,49.862011 -125.633003,49.861980 -125.632972,49.861950 -125.632941,49.861920 -125.632910,49.861891 -125.632877,49.861862 -125.632844,49.861834 -125.632810,49.861806 -125.632774,49.861779 -125.632738,49.861753 -125.632700,49.861727 -125.632662,49.861702 -125.632623,49.861677 -125.632583,49.861653 -125.632542,49.861629 -125.632501,49.861606 -125.632459,49.861583 -125.632416,49.861561 -125.632373,49.861539 -125.632329,49.861517 -125.632285,49.861495 -125.632240,49.861474 -125.632195,49.861453 -125.632149,49.861433 -125.632103,49.861413 -125.632056,49.861392 -125.632009,49.861373 -125.631962,49.861353 -125.631914,49.861333 -125.631867,49.861314 -125.631819,49.861295 -125.631771,49.861276 -125.631722,49.861257 -125.631674,49.861238 -125.631625,49.861220 -125.631577,49.861201 -125.631528,49.861182 -125.631479,49.861164 -125.631431,49.861145 -125.631382,49.861126 -125.631334,49.861108 -125.631286,49.861089 -125.631238,49.861070 -125.631190,49.861051 -125.631142,49.861032 -125.631095,49.861013 -125.631048,49.860994 -125.631001,49.860975 -125.630953,49.860956 -125.630904,49.860938 -125.630855,49.860921 -125.630805,49.860904 -125.630755,49.860887 -125.630704,49.860871 -125.630653,49.860854 -125.630601,49.860838 -125.630550,49.860823 -125.630498,49.860807 -125.630446,49.860791 -125.630395,49.860776 -125.630343,49.860760 -125.630292,49.860744 -125.630241,49.860728 -125.630190,49.860712 -125.630139,49.860696 -125.630089,49.860679 -125.630040,49.860662 -125.629991,49.860644 -125.629943,49.860627 -125.629896,49.860608 -125.629849,49.860589 -125.629804,49.860569 -125.629759,49.860549 -125.629716,49.860528 -125.629673,49.860506 -125.629632,49.860484 -125.629592,49.860460 -125.629554,49.860436 -125.629516,49.860411 -125.629479,49.860385 -125.629443,49.860359 -125.629406,49.860333 -125.629370,49.860306 -125.629334,49.860278 -125.629299,49.860251 -125.629264,49.860223 -125.629229,49.860194 -125.629195,49.860165 -125.629161,49.860136 -125.629128,49.860107 -125.629095,49.860077 -125.629062,49.860047 -125.629030,49.860017 -125.628998,49.859987 -125.628966,49.859956 -125.628936,49.859925 -125.628905,49.859894 -125.628875,49.859863 -125.628846,49.859831 -125.628817,49.859799 -125.628788,49.859767 -125.628760,49.859735 -125.628732,49.859703 -125.628705,49.859671 -125.628679,49.859638 -125.628653,49.859606 -125.628628,49.859573 -125.628603,49.859540 -125.628579,49.859507 -125.628555,49.859474 -125.628532,49.859442 -125.628510,49.859409 -125.628488,49.859376 -125.628466,49.859343 -125.628446,49.859310 -125.628426,49.859277 -125.628407,49.859244 -125.628388,49.859211 -125.628371,49.859178 -125.628356,49.859145 -125.628344,49.859111 -125.628333,49.859077 -125.628325,49.859042 -125.628319,49.859007 -125.628315,49.858972 -125.628312,49.858936 -125.628311,49.858900 -125.628311,49.858864 -125.628311,49.858828 -125.628313,49.858791 -125.628316,49.858755 -125.628319,49.858718 -125.628322,49.858681 -125.628326,49.858644 -125.628329,49.858607 -125.628333,49.858570 -125.628336,49.858533 -125.628339,49.858496 -125.628341,49.858459 -125.628342,49.858422 -125.628343,49.858386 -125.628342,49.858349 -125.628340,49.858313 -125.628336,49.858277 -125.628331,49.858241 -125.628327,49.858205 -125.628324,49.858168 -125.628322,49.858130 -125.628320,49.858092 -125.628319,49.858053 -125.628318,49.858014 -125.628316,49.857975 -125.628315,49.857936 -125.628313,49.857897 -125.628311,49.857859 -125.628307,49.857820 -125.628303,49.857782 -125.628297,49.857745 -125.628290,49.857708 -125.628281,49.857672 -125.628270,49.857637 -125.628257,49.857603 -125.628242,49.857570 -125.628225,49.857538 -125.628204,49.857507 -125.628181,49.857478 -125.628154,49.857450 -125.628124,49.857424 -125.628092,49.857399 -125.628057,49.857376 -125.628021,49.857352 -125.627982,49.857330 -125.627943,49.857308 -125.627901,49.857287 -125.627859,49.857266 -125.627815,49.857246 -125.627769,49.857226 -125.627723,49.857207 -125.627675,49.857189 -125.627627,49.857171 -125.627577,49.857153 -125.627527,49.857136 -125.627475,49.857119 -125.627424,49.857103 -125.627371,49.857087 -125.627318,49.857071 -125.627265,49.857055 -125.627211,49.857040 -125.627157,49.857025 -125.627102,49.857010 -125.627048,49.856996 -125.626993,49.856981 -125.626939,49.856967 -125.626885,49.856953 -125.626831,49.856939 -125.626777,49.856924 -125.626724,49.856910 -125.626671,49.856896 -125.626619,49.856882 -125.626567,49.856868 -125.626516,49.856854 -125.626465,49.856840 -125.626413,49.856827 -125.626361,49.856814 -125.626309,49.856802 -125.626256,49.856791 -125.626203,49.856779 -125.626150,49.856768 -125.626096,49.856758 -125.626043,49.856747 -125.625989,49.856737 -125.625935,49.856727 -125.625881,49.856717 -125.625827,49.856708 -125.625772,49.856698 -125.625718,49.856689 -125.625664,49.856679 -125.625610,49.856670 -125.625555,49.856660 -125.625501,49.856651 -125.625447,49.856641 -125.625393,49.856631 -125.625340,49.856621 -125.625286,49.856611 -125.625233,49.856600 -125.625180,49.856589 -125.625127,49.856578 -125.625075,49.856566 -125.625023,49.856554 -125.624971,49.856541 -125.624920,49.856528 -125.624869,49.856514 -125.624819,49.856500 -125.624769,49.856485 -125.624720,49.856470 -125.624671,49.856453 -125.624624,49.856435 -125.624577,49.856414 -125.624531,49.856392 -125.624486,49.856369 -125.624442,49.856344 -125.624398,49.856318 -125.624354,49.856292 -125.624312,49.856264 -125.624269,49.856237 -125.624227,49.856209 -125.624185,49.856181 -125.624143,49.856153 -125.624102,49.856126 -125.624060,49.856099 -125.624019,49.856073 -125.623977,49.856047 -125.623935,49.856023 -125.623892,49.856000 -125.623850,49.855979 -125.623807,49.855959 -125.623763,49.855942 -125.623719,49.855926 -125.623674,49.855913 -125.623629,49.855902 -125.623583,49.855894 -125.623536,49.855890 -125.623488,49.855890 -125.623439,49.855894 -125.623390,49.855902 -125.623340,49.855913 -125.623289,49.855926 -125.623238,49.855943 -125.623187,49.855961 -125.623135,49.855980 -125.623083,49.856001 -125.623031,49.856022 -125.622979,49.856044 -125.622927,49.856066 -125.622875,49.856088 -125.622823,49.856109 -125.622772,49.856128 -125.622720,49.856146 -125.622648,49.856169 -125.622644,49.856131 -125.622590,49.855913 -125.622552,49.855745 -125.622470,49.855561 -125.622440,49.855488 -125.622408,49.855350 -125.622410,49.855150 -125.622406,49.855078 -125.622410,49.854889 -125.622410,49.854879 -125.622513,49.854671 -125.622546,49.854607 -125.622589,49.854555 -125.622629,49.854512 -125.622695,49.854467 -125.622946,49.854312 -125.623119,49.854151 -125.623259,49.853995 -125.623367,49.853832 -125.623467,49.853671 -125.623534,49.853586 -125.623615,49.853430 -125.623732,49.853175 -125.623754,49.853075 -125.623852,49.852851 -125.623899,49.852697 -125.623996,49.852485 -125.624096,49.852276 -125.624132,49.852197 -125.624219,49.852045 -125.624290,49.851918 -125.624483,49.851711 -125.624640,49.851489 -125.624764,49.851341 -125.624954,49.851156 -125.625042,49.851084 -125.625060,49.851059 -125.625173,49.850936 -125.625352,49.850748 -125.625583,49.850550 -125.625762,49.850317 -125.625810,49.850241 -125.625979,49.850068 -125.625994,49.850047 -125.626033,49.850002 -125.626189,49.849790 -125.626248,49.849717 -125.626341,49.849504 -125.626395,49.849363 -125.626397,49.849122 -125.626391,49.849015 -125.626307,49.848843 -125.626223,49.848630 -125.626092,49.848456 -125.625942,49.848295 -125.625799,49.848125 -125.625618,49.847859 -125.625463,49.847675 -125.625309,49.847516 -125.625217,49.847341 -125.625062,49.847166 -125.624929,49.846999 -125.624792,49.846837 -125.624634,49.846667 -125.624423,49.846512 -125.624309,49.846424 -125.623959,49.846260 -125.623669,49.846138 -125.623426,49.846041 -125.623132,49.845864 -125.622987,49.845745 -125.622847,49.845594 -125.622713,49.845435 -125.622640,49.845357 -125.622514,49.845200 -125.622422,49.845024 -125.622306,49.844869 -125.622230,49.844662 -125.622179,49.844450 -125.622151,49.843941 -125.622169,49.843764 -125.622174,49.843599 -125.622177,49.843403 -125.622196,49.843220 -125.622181,49.842954 -125.622126,49.842769 -125.622041,49.842596 -125.621869,49.842365 -125.621828,49.842316 -125.621809,49.842283 -125.621656,49.842146 -125.621500,49.841952 -125.621452,49.841886 -125.621325,49.841753 -125.621104,49.841559 -125.620888,49.841352 -125.620751,49.841205 -125.620738,49.841182 -125.620629,49.841044 -125.620466,49.840833 -125.620347,49.840673 -125.620309,49.840650 -125.620104,49.840454 -125.620031,49.840367 -125.619888,49.840222 -125.619750,49.840015 -125.619684,49.839956 -125.619497,49.839758 -125.619336,49.839584 -125.619202,49.839425 -125.619126,49.839342 -125.619025,49.839239 -125.618964,49.839167 -125.618769,49.838978 -125.618547,49.838765 -125.618493,49.838717 -125.618323,49.838515 -125.618216,49.838363 -125.618019,49.838145 -125.617812,49.837925 -125.617719,49.837823 -125.617618,49.837736 -125.617448,49.837542 -125.617283,49.837330 -125.617117,49.837141 -125.617021,49.837037 -125.616803,49.836861 -125.616679,49.836729 -125.616499,49.836507 -125.616101,49.836111 -125.615943,49.835923 -125.615792,49.835718 -125.615674,49.835587 -125.615273,49.835010 -125.615179,49.834855 -125.615100,49.834762 -125.614998,49.834632 -125.614851,49.834432 -125.614730,49.834247 -125.614625,49.834097 -125.614501,49.833907 -125.614384,49.833767 -125.614293,49.833610 -125.614141,49.833412 -125.614054,49.833285 -125.613945,49.833087 -125.613791,49.832887 -125.613738,49.832816 -125.613691,49.832718 -125.613521,49.832490 -125.613372,49.832280 -125.613071,49.831839 -125.612949,49.831644 -125.612914,49.831592 -125.612748,49.831412 -125.612572,49.831194 -125.612452,49.831043 -125.612370,49.830945 -125.612156,49.830771 -125.611935,49.830594 -125.611644,49.830383 -125.611478,49.830258 -125.611318,49.830101 -125.611050,49.829886 -125.610804,49.829694 -125.610579,49.829514 -125.610566,49.829506 -125.610476,49.829428 -125.610298,49.829260 -125.610025,49.829043 -125.609838,49.828846 -125.609785,49.828792 -125.609502,49.828595 -125.609464,49.828567 -125.609424,49.828504 -125.609233,49.828304 -125.608928,49.828074 -125.608844,49.828024 -125.608603,49.827827 -125.608548,49.827786 -125.608314,49.827575 -125.608142,49.827446 -125.607980,49.827287 -125.607771,49.827134 -125.607498,49.826917 -125.607417,49.826852 -125.607270,49.826702 -125.607078,49.826551 -125.606988,49.826470 -125.606756,49.826304 -125.606705,49.826258 -125.606528,49.826090 -125.606346,49.825935 -125.606164,49.825800 -125.606025,49.825650 -125.605857,49.825468 -125.605658,49.825303 -125.605478,49.825169 -125.605221,49.824880 -125.605145,49.824789 -125.604939,49.824578 -125.604862,49.824487 -125.604688,49.824330 -125.604562,49.824173 -125.604455,49.824011 -125.604312,49.823850 -125.604226,49.823773 -125.604059,49.823574 -125.604042,49.823544 -125.603982,49.823481 -125.603851,49.823270 -125.603740,49.823077 -125.603647,49.822966 -125.603589,49.822890 -125.603471,49.822725 -125.603336,49.822514 -125.603212,49.822323 -125.603072,49.822148 -125.603004,49.822075 -125.602886,49.821870 -125.602745,49.821642 -125.602626,49.821492 -125.602521,49.821317 -125.602398,49.821145 -125.602357,49.821089 -125.602282,49.820942 -125.602231,49.820855 -125.602080,49.820658 -125.601994,49.820531 -125.601888,49.820332 -125.601796,49.820148 -125.601719,49.819982 -125.601640,49.819773 -125.601594,49.819632 -125.601582,49.819411 -125.601525,49.819177 -125.601457,49.818982 -125.601362,49.818775 -125.601327,49.818688 -125.601196,49.818496 -125.601137,49.818434 -125.600984,49.818209 -125.600920,49.818152 -125.600762,49.817972 -125.600631,49.817817 -125.600581,49.817749 -125.600546,49.817662 -125.600332,49.817452 -125.600231,49.817307 -125.599999,49.817006 -125.599787,49.816577 -125.599754,49.816526 -125.598941,49.816523 -125.598938,49.817586 -125.598937,49.818161 -125.598916,49.826467 -125.598920,49.828275 -125.599999,49.828276 -125.601688,49.828278 -125.601682,49.830991 -125.605876,49.830995 -125.605871,49.833773 -125.612276,49.833821 -125.612266,49.835854 -125.601765,49.835907 -125.599999,49.833756 -125.588926,49.820265 -125.586118,49.813032 -125.586094,49.800000 -125.586075,49.789883 -125.583269,49.783556 -125.583256,49.776226 -125.586687,49.776224 -125.586670,49.767253 -125.516714,49.712700 -125.500414,49.700000 -125.500179,49.699817 -125.481039,49.684894 -125.469887,49.684892 -125.478954,49.698113 -125.469294,49.699789 -125.469126,49.699818 -125.468079,49.700000 -125.457400,49.701852 -125.457302,49.700000 -125.457293,49.699819 -125.456367,49.682330 -125.439639,49.682323 -125.439622,49.696793 -125.428467,49.696787 -125.428462,49.699771 -125.428462,49.699820 -125.428462,49.700000 -125.428415,49.732961 -125.418647,49.732955 -125.401903,49.732942 -125.401893,49.738369 -125.399999,49.738367 -125.399128,49.738366 -125.399124,49.736452 -125.393542,49.736457 -125.393538,49.734648 -125.390748,49.734650 -125.390743,49.731937 -125.385161,49.731942 -125.385135,49.717361 -125.348890,49.717382 -125.348898,49.724617 -125.323937,49.724625 -125.323945,49.739404 -125.322663,49.740442 -125.318097,49.744142 -125.317896,49.744059 -125.317699,49.744261 -125.317385,49.744183 -125.317321,49.744167 -125.316219,49.743796 -125.315404,49.743630 -125.314701,49.743361 -125.314594,49.743305 -125.314005,49.743001 -125.313696,49.742718 -125.313399,49.742343 -125.313360,49.742157 -125.313298,49.741415 -125.313198,49.741311 -125.313197,49.739315 -125.312835,49.739315 -125.312625,49.738760 -125.310939,49.737881 -125.310638,49.737143 -125.305876,49.734481 -125.303844,49.733790 -125.302514,49.733000 -125.300439,49.731801 -125.297983,49.730512 -125.297834,49.729263 -125.297237,49.728278 -125.298919,49.726677 -125.299822,49.725818 -125.305091,49.720803 -125.305090,49.707831 -125.305089,49.705893 -125.305089,49.700000 -125.305087,49.695933 -125.268802,49.695929 -125.264424,49.695928 -125.245052,49.695921 -125.245064,49.685068 -125.222758,49.685055 -125.222769,49.677864 -125.222770,49.677380 -125.222780,49.670583 -125.211634,49.670575 -125.211645,49.664245 -125.201422,49.664202 -125.199999,49.664203 -125.196391,49.664206 -125.196394,49.665472 -125.188451,49.665307 -125.188436,49.657439 -125.188431,49.654725 -125.189825,49.654724 -125.189821,49.652915 -125.199999,49.652907 -125.202292,49.652895 -125.202289,49.654704 -125.207861,49.654709 -125.207867,49.651496 -125.207868,49.650844 -125.207883,49.642951 -125.209276,49.642952 -125.209282,49.639469 -125.219031,49.639476 -125.219028,49.641285 -125.224599,49.641289 -125.224595,49.644002 -125.232065,49.644007 -125.232064,49.644582 -125.232037,49.664356 -125.239908,49.664361 -125.240865,49.664361 -125.250987,49.664366 -125.250982,49.669539 -125.252376,49.669540 -125.252375,49.670444 -125.283680,49.670452 -125.284920,49.670453 -125.307285,49.670453 -125.307285,49.671357 -125.308677,49.671357 -125.308677,49.672260 -125.310070,49.672260 -125.310070,49.673164 -125.311462,49.673164 -125.311463,49.673168 -125.311463,49.674072 -125.314248,49.674071 -125.314248,49.674975 -125.315640,49.674975 -125.315641,49.675878 -125.318426,49.675878 -125.318426,49.676782 -125.324003,49.676781 -125.324005,49.680400 -125.325398,49.680399 -125.325397,49.679496 -125.326790,49.679495 -125.326789,49.678592 -125.328182,49.678591 -125.328183,49.680399 -125.330968,49.680398 -125.330969,49.681302 -125.333754,49.681301 -125.333754,49.681305 -125.333755,49.682204 -125.347696,49.682199 -125.347695,49.683099 -125.350478,49.683090 -125.350477,49.683989 -125.351869,49.683985 -125.351868,49.684885 -125.354651,49.684875 -125.354650,49.688478 -125.354684,49.688478 -125.360222,49.688460 -125.360222,49.689359 -125.363005,49.689350 -125.363002,49.688442 -125.364394,49.688438 -125.364391,49.687530 -125.369964,49.687511 -125.369955,49.684784 -125.368561,49.684781 -125.368553,49.682053 -125.362969,49.682041 -125.362949,49.667567 -125.374094,49.667559 -125.374072,49.653085 -125.385214,49.653076 -125.385201,49.645841 -125.378236,49.645845 -125.378234,49.644942 -125.372811,49.644945 -125.372688,49.642618 -125.372673,49.632057 -125.340715,49.632074 -125.340712,49.628456 -125.312866,49.628463 -125.312863,49.616705 -125.340703,49.616699 -125.340697,49.609463 -125.344872,49.609462 -125.344868,49.604940 -125.358786,49.604933 -125.358777,49.600000 -125.358775,49.599522 -125.371821,49.599498 -125.289863,49.535145 -125.285245,49.531532 -125.273992,49.522725 -125.257247,49.509706 -125.245136,49.500000 -125.233270,49.490339 -125.233103,49.490206 -125.227422,49.485705 -125.222164,49.481538 -125.212019,49.473496 -125.224707,49.473243 -125.225163,49.473087 -125.225430,49.473043 -125.225706,49.473031 -125.225977,49.472997 -125.226240,49.472944 -125.226504,49.472892 -125.226780,49.472877 -125.227056,49.472878 -125.227331,49.472870 -125.227604,49.472841 -125.227874,49.472805 -125.228147,49.472777 -125.228419,49.472749 -125.228688,49.472708 -125.228975,49.472635 -125.228996,49.472612 -125.229037,49.472584 -125.229214,49.472536 -125.229309,49.472498 -125.229377,49.472478 -125.229432,49.472468 -125.229595,49.472411 -125.229757,49.472345 -125.229866,49.472316 -125.230043,49.472250 -125.230111,49.472230 -125.230165,49.472211 -125.230233,49.472174 -125.230327,49.472127 -125.230423,49.472098 -125.230504,49.472070 -125.230598,49.472014 -125.230706,49.471967 -125.230827,49.471875 -125.230840,49.471874 -125.230894,49.471846 -125.231016,49.471781 -125.231070,49.471771 -125.231152,49.471742 -125.231317,49.471721 -125.231698,49.471606 -125.231847,49.471540 -125.232023,49.471465 -125.232185,49.471390 -125.232212,49.471371 -125.232265,49.471325 -125.232452,49.471187 -125.232692,49.471011 -125.232919,49.470845 -125.233160,49.470669 -125.233320,49.470558 -125.233520,49.470401 -125.233629,49.470316 -125.233650,49.455552 -125.234421,49.455606 -125.235594,49.455815 -125.236862,49.456001 -125.237552,49.456261 -125.237920,49.456528 -125.238451,49.456833 -125.239269,49.457070 -125.240017,49.457182 -125.240532,49.457130 -125.241308,49.457157 -125.241757,49.457085 -125.241949,49.457039 -125.242292,49.456780 -125.242406,49.456441 -125.242392,49.456125 -125.242406,49.455800 -125.242511,49.455690 -125.242560,49.455545 -125.242662,49.455363 -125.242729,49.455317 -125.242846,49.455162 -125.242923,49.455025 -125.243092,49.454806 -125.243317,49.454586 -125.243421,49.454449 -125.243550,49.454248 -125.243584,49.454095 -125.243619,49.453950 -125.243622,49.453725 -125.243647,49.453671 -125.243765,49.453524 -125.243856,49.453397 -125.243933,49.453269 -125.244007,49.453079 -125.244014,49.452935 -125.244024,49.452845 -125.244166,49.452644 -125.244284,49.452507 -125.244359,49.452343 -125.244449,49.452189 -125.244568,49.452070 -125.244728,49.451949 -125.245106,49.451780 -125.245296,49.451705 -125.245404,49.451657 -125.245515,49.451655 -125.246121,49.451504 -125.246602,49.451411 -125.247246,49.451377 -125.248169,49.451448 -125.248253,49.451485 -125.248406,49.451518 -125.248753,49.451565 -125.248978,49.451642 -125.249089,49.451658 -125.249337,49.451662 -125.249490,49.451686 -125.249658,49.451746 -125.249872,49.451885 -125.250054,49.451954 -125.250248,49.451959 -125.250428,49.451974 -125.250648,49.451960 -125.250814,49.451966 -125.251145,49.451960 -125.251393,49.451964 -125.251707,49.451877 -125.251882,49.451792 -125.252094,49.451590 -125.252241,49.451488 -125.252372,49.451333 -125.252504,49.451204 -125.252700,49.450976 -125.252776,49.450781 -125.252677,49.450624 -125.252849,49.450407 -125.253172,49.450306 -125.253573,49.450322 -125.254017,49.450479 -125.254150,49.450999 -125.254258,49.451780 -125.254607,49.452247 -125.255125,49.452427 -125.255782,49.452462 -125.256653,49.452421 -125.257708,49.452400 -125.258440,49.452505 -125.259177,49.452704 -125.259626,49.452956 -125.259967,49.453258 -125.260423,49.453676 -125.260836,49.453952 -125.261391,49.454155 -125.261972,49.454262 -125.262088,49.454284 -125.262670,49.454272 -125.263207,49.454072 -125.263612,49.453376 -125.263936,49.452516 -125.264342,49.451653 -125.264466,49.451390 -125.264899,49.450528 -125.265065,49.450169 -125.265182,49.449549 -125.265080,49.448911 -125.264833,49.448299 -125.264310,49.448001 -125.264048,49.447840 -125.263559,49.447494 -125.263247,49.447049 -125.262906,49.446747 -125.262190,49.446215 -125.261914,49.445746 -125.261815,49.445179 -125.262082,49.444652 -125.262682,49.444260 -125.263180,49.444013 -125.264164,49.443735 -125.264423,49.443649 -125.264637,49.443501 -125.264690,49.443455 -125.264703,49.443445 -125.264797,49.443399 -125.265285,49.443191 -125.265511,49.443016 -125.265739,49.442867 -125.265952,49.442701 -125.266136,49.442509 -125.266175,49.442454 -125.266252,49.442327 -125.266314,49.442172 -125.266318,49.441974 -125.266329,49.441902 -125.266376,49.441721 -125.266372,49.441641 -125.266425,49.441595 -125.266667,49.441455 -125.266884,49.441379 -125.267032,49.441304 -125.267368,49.441099 -125.267638,49.440968 -125.267665,49.440958 -125.267897,49.440909 -125.268006,49.440871 -125.268180,49.440768 -125.268246,49.440704 -125.268325,49.440613 -125.268330,49.440611 -125.268349,49.415155 -125.281792,49.415157 -125.282179,49.415157 -125.289023,49.415157 -125.289021,49.421308 -125.297451,49.421307 -125.297625,49.421411 -125.298202,49.421808 -125.298726,49.422173 -125.299136,49.422606 -125.299594,49.423006 -125.300078,49.423217 -125.300619,49.423570 -125.301109,49.423925 -125.301529,49.424225 -125.301987,49.424591 -125.302284,49.424873 -125.302341,49.424917 -125.302485,49.425049 -125.302727,49.425197 -125.302955,49.425372 -125.303100,49.425504 -125.303144,49.425575 -125.303431,49.425804 -125.303648,49.426015 -125.303734,49.426085 -125.303861,49.426155 -125.304284,49.426344 -125.304523,49.426448 -125.304749,49.426560 -125.304777,49.426577 -125.304833,49.426594 -125.304931,49.426628 -125.305127,49.426687 -125.305323,49.426737 -125.305407,49.426781 -125.305494,49.426860 -125.305508,49.426860 -125.305633,49.426893 -125.305841,49.426916 -125.306063,49.426939 -125.306327,49.426978 -125.306605,49.427018 -125.306829,49.427094 -125.307038,49.427144 -125.307261,49.427185 -125.307442,49.427217 -125.307622,49.427240 -125.307650,49.427249 -125.307761,49.427256 -125.307996,49.427287 -125.308190,49.427292 -125.308217,49.427291 -125.308259,49.427300 -125.309169,49.427281 -125.309294,49.427306 -125.309490,49.427374 -125.309673,49.427451 -125.309829,49.427538 -125.309902,49.427636 -125.310128,49.427748 -125.310325,49.427816 -125.310534,49.427875 -125.310729,49.427907 -125.310938,49.427948 -125.311063,49.427963 -125.311139,49.427979 -125.311552,49.428131 -125.311776,49.428215 -125.312004,49.428340 -125.312078,49.428447 -125.312208,49.428570 -125.312380,49.428702 -125.312538,49.428833 -125.312698,49.429019 -125.312815,49.429161 -125.312918,49.429303 -125.313033,49.429399 -125.313162,49.429496 -125.313404,49.429653 -125.313700,49.429791 -125.313898,49.429886 -125.314025,49.429964 -125.314109,49.429980 -125.314219,49.429978 -125.314534,49.429927 -125.314848,49.429867 -125.314958,49.429855 -125.315193,49.429860 -125.315416,49.429900 -125.315736,49.429975 -125.315962,49.430087 -125.316131,49.430165 -125.316314,49.430242 -125.316612,49.430407 -125.316625,49.430398 -125.316949,49.430544 -125.317202,49.430629 -125.317440,49.430705 -125.317678,49.430791 -125.317834,49.430886 -125.318098,49.430917 -125.318348,49.430948 -125.318766,49.431048 -125.318932,49.431053 -125.319125,49.431058 -125.319152,49.431049 -125.319377,49.431091 -125.319674,49.431273 -125.319877,49.431492 -125.320152,49.431791 -125.320328,49.432030 -125.320479,49.432322 -125.320519,49.432599 -125.320477,49.432859 -125.320438,49.433164 -125.320471,49.433280 -125.320601,49.433404 -125.320800,49.433517 -125.321221,49.433670 -125.321615,49.433842 -125.321913,49.434016 -125.322156,49.434191 -125.322315,49.434341 -125.322487,49.434490 -125.322646,49.434631 -125.323045,49.434911 -125.323088,49.434946 -125.323103,49.434964 -125.323163,49.435079 -125.323296,49.435248 -125.323497,49.435433 -125.323556,49.435512 -125.323648,49.435699 -125.323742,49.435931 -125.323858,49.436046 -125.323905,49.436171 -125.323966,49.436296 -125.324041,49.436429 -125.324202,49.436624 -125.324333,49.436756 -125.324477,49.436897 -125.324692,49.437055 -125.324848,49.437160 -125.324949,49.437248 -125.325163,49.437396 -125.325391,49.437545 -125.325632,49.437693 -125.325887,49.437840 -125.326043,49.437927 -125.326396,49.438091 -125.326622,49.438204 -125.326863,49.438334 -125.327088,49.438437 -125.327763,49.438711 -125.328046,49.438850 -125.328229,49.438936 -125.328414,49.439040 -125.328498,49.439074 -125.328712,49.439232 -125.329025,49.439415 -125.329350,49.439579 -125.329972,49.439908 -125.330327,49.440117 -125.330384,49.440152 -125.330427,49.440187 -125.330616,49.440390 -125.330845,49.440565 -125.331099,49.440695 -125.331368,49.440834 -125.331480,49.440876 -125.331734,49.440979 -125.331974,49.441091 -125.332213,49.441194 -125.332495,49.441324 -125.332790,49.441444 -125.333131,49.441644 -125.333301,49.441730 -125.333344,49.441774 -125.333529,49.441897 -125.333546,49.441950 -125.333604,49.442021 -125.333805,49.442179 -125.333948,49.442293 -125.334161,49.442415 -125.334331,49.442501 -125.334514,49.442587 -125.334599,49.442640 -125.334642,49.442675 -125.334805,49.442957 -125.334955,49.443112 -125.335165,49.443213 -125.335428,49.443276 -125.335681,49.443346 -125.335710,49.443364 -125.335839,49.443478 -125.336152,49.443679 -125.336295,49.443775 -125.336566,49.443967 -125.336653,49.444047 -125.337018,49.444183 -125.337270,49.444259 -125.337508,49.444335 -125.337634,49.444378 -125.337733,49.444421 -125.338000,49.444532 -125.338197,49.444600 -125.338421,49.444676 -125.338772,49.444795 -125.338912,49.444846 -125.339094,49.444906 -125.339290,49.444956 -125.339500,49.445023 -125.339711,49.445100 -125.340004,49.445175 -125.340297,49.445241 -125.340604,49.445307 -125.340896,49.445373 -125.341108,49.445459 -125.341319,49.445553 -125.341376,49.445588 -125.341379,49.445590 -125.341924,49.445643 -125.342691,49.445777 -125.343223,49.445766 -125.344030,49.445948 -125.344494,49.446112 -125.345159,49.446495 -125.345606,49.447081 -125.345716,49.447798 -125.346020,49.448166 -125.346164,49.448199 -125.346390,49.448311 -125.346543,49.448344 -125.346904,49.448373 -125.347084,49.448405 -125.347280,49.448464 -125.347507,49.448586 -125.347792,49.448778 -125.347981,49.448981 -125.348113,49.449140 -125.348159,49.449238 -125.348259,49.449299 -125.348586,49.449517 -125.348829,49.449683 -125.349071,49.449840 -125.349229,49.449972 -125.349336,49.450053 -125.349702,49.450199 -125.350041,49.450313 -125.350253,49.450349 -125.350587,49.450385 -125.350644,49.450411 -125.350811,49.450453 -125.351201,49.450517 -125.351396,49.450567 -125.351523,49.450618 -125.351759,49.450658 -125.351829,49.450675 -125.351857,49.450683 -125.351886,49.450701 -125.351914,49.450709 -125.352070,49.450796 -125.352297,49.450926 -125.352454,49.451049 -125.352612,49.451181 -125.352784,49.451303 -125.352801,49.451375 -125.352838,49.451563 -125.352887,49.451733 -125.353061,49.451909 -125.353217,49.451996 -125.353364,49.452173 -125.353595,49.452384 -125.353823,49.452541 -125.354037,49.452699 -125.354252,49.452865 -125.354565,49.453048 -125.354678,49.453100 -125.354776,49.453134 -125.354958,49.453202 -125.355281,49.453312 -125.355604,49.453432 -125.355717,49.453483 -125.355760,49.453509 -125.355772,49.453523 -125.356321,49.453621 -125.357315,49.453725 -125.358608,49.453910 -125.358888,49.453994 -125.359182,49.454087 -125.359379,49.454173 -125.359576,49.454250 -125.359704,49.454320 -125.359947,49.454495 -125.360032,49.454547 -125.360104,49.454599 -125.360118,49.454599 -125.360244,49.454641 -125.360398,49.454692 -125.360705,49.454758 -125.361067,49.454840 -125.361333,49.454907 -125.361487,49.454958 -125.361557,49.454974 -125.361585,49.454983 -125.361600,49.455001 -125.361712,49.455034 -125.361809,49.455059 -125.361893,49.455076 -125.362131,49.455152 -125.362327,49.455211 -125.362510,49.455279 -125.362762,49.455355 -125.363054,49.455403 -125.363361,49.455468 -125.363541,49.455483 -125.363597,49.455499 -125.363695,49.455524 -125.364014,49.455563 -125.364319,49.455602 -125.364513,49.455616 -125.364708,49.455639 -125.365000,49.455687 -125.365278,49.455726 -125.365472,49.455749 -125.365666,49.455763 -125.365943,49.455784 -125.366151,49.455798 -125.366456,49.455828 -125.366747,49.455858 -125.367052,49.455888 -125.367148,49.455886 -125.367344,49.455927 -125.367606,49.455930 -125.367799,49.455935 -125.368088,49.455920 -125.368337,49.455924 -125.368847,49.455914 -125.369400,49.455938 -125.369691,49.455950 -125.370244,49.455975 -125.370563,49.456014 -125.370839,49.456017 -125.371144,49.456029 -125.371779,49.456052 -125.372028,49.456064 -125.372291,49.456077 -125.372540,49.456081 -125.372859,49.456110 -125.373109,49.456141 -125.373529,49.456277 -125.373835,49.456333 -125.373946,49.456331 -125.374041,49.456311 -125.374379,49.456160 -125.374759,49.456026 -125.374991,49.455977 -125.375237,49.455918 -125.375484,49.455895 -125.375802,49.455897 -125.376326,49.455904 -125.376521,49.455927 -125.376701,49.455942 -125.376881,49.455965 -125.377147,49.456040 -125.377217,49.456066 -125.377585,49.456256 -125.377713,49.456317 -125.377811,49.456350 -125.378090,49.456426 -125.378383,49.456492 -125.378411,49.456500 -125.378626,49.456658 -125.378656,49.456666 -125.379563,49.457047 -125.379789,49.457186 -125.379943,49.457336 -125.379948,49.457431 -125.380059,49.457601 -125.380140,49.457706 -125.380154,49.457724 -125.380257,49.457856 -125.380316,49.457918 -125.380515,49.458040 -125.380739,49.458116 -125.380977,49.458175 -125.381187,49.458233 -125.381285,49.458267 -125.381327,49.458275 -125.381438,49.458291 -125.381610,49.458320 -125.382767,49.458437 -125.383256,49.458488 -125.383559,49.458579 -125.383798,49.458672 -125.384002,49.458838 -125.384207,49.459011 -125.384401,49.459147 -125.384677,49.459253 -125.384714,49.459258 -125.384951,49.459298 -125.385145,49.459321 -125.385406,49.459307 -125.385531,49.459304 -125.385793,49.459308 -125.385862,49.459306 -125.386111,49.459328 -125.386195,49.459344 -125.386392,49.459421 -125.386534,49.459499 -125.386678,49.459622 -125.386852,49.459799 -125.386952,49.459868 -125.387178,49.459981 -125.387290,49.460014 -125.387345,49.460013 -125.387369,49.460035 -125.387807,49.460055 -125.388431,49.459980 -125.388955,49.459820 -125.389352,49.459762 -125.390094,49.459772 -125.390603,49.459674 -125.391091,49.459540 -125.391405,49.459335 -125.391539,49.458961 -125.391554,49.458489 -125.391497,49.458106 -125.391236,49.457622 -125.390796,49.457184 -125.390310,49.456575 -125.389835,49.455816 -125.389545,49.455313 -125.389413,49.454861 -125.389424,49.454789 -125.389486,49.454661 -125.389563,49.454534 -125.389589,49.454497 -125.389613,49.454425 -125.389689,49.454279 -125.389685,49.454198 -125.389736,49.454116 -125.389786,49.454007 -125.389785,49.453989 -125.389811,49.453953 -125.389863,49.453898 -125.389915,49.453825 -125.389982,49.453787 -125.390076,49.453741 -125.390185,49.453693 -125.390225,49.453666 -125.390264,49.453629 -125.390331,49.453582 -125.390504,49.453444 -125.390690,49.453305 -125.390783,49.453231 -125.390863,49.453176 -125.390984,49.453110 -125.391296,49.452987 -125.391577,49.452903 -125.391754,49.452651 -125.391814,49.452315 -125.391801,49.452055 -125.391734,49.451846 -125.391546,49.451490 -125.391339,49.451160 -125.391374,49.450688 -125.391513,49.450425 -125.391739,49.450076 -125.359568,49.425241 -125.359641,49.425190 -125.360236,49.425035 -125.360638,49.424866 -125.361119,49.424624 -125.361550,49.424472 -125.362432,49.424044 -125.363208,49.423671 -125.363736,49.423267 -125.364131,49.422956 -125.364341,49.422773 -125.364628,49.422481 -125.364999,49.422224 -125.365742,49.421727 -125.366141,49.421504 -125.366592,49.421209 -125.367017,49.420933 -125.367278,49.420752 -125.367484,49.420740 -125.367771,49.420689 -125.367949,49.420667 -125.368144,49.420708 -125.368385,49.420838 -125.368612,49.420969 -125.368765,49.421011 -125.368987,49.421033 -125.369305,49.421044 -125.369704,49.421036 -125.369814,49.421016 -125.369997,49.420990 -125.370115,49.420965 -125.370233,49.420846 -125.370286,49.420808 -125.370514,49.420669 -125.370704,49.420611 -125.370894,49.420544 -125.371016,49.420497 -125.371123,49.420431 -125.371313,49.420374 -125.371503,49.420307 -125.371570,49.420260 -125.371726,49.420068 -125.371828,49.419895 -125.371853,49.419841 -125.371872,49.419651 -125.371883,49.419606 -125.371973,49.419469 -125.372012,49.419415 -125.372052,49.419387 -125.372159,49.419331 -125.372200,49.419312 -125.372280,49.419256 -125.372307,49.419247 -125.372321,49.419246 -125.372334,49.419237 -125.372455,49.419172 -125.372727,49.419094 -125.372796,49.419093 -125.373071,49.419069 -125.373290,49.419038 -125.373453,49.418998 -125.373508,49.418988 -125.373728,49.418975 -125.374045,49.418959 -125.374196,49.418956 -125.374429,49.418933 -125.374512,49.418922 -125.374608,49.418921 -125.374704,49.418910 -125.375489,49.418893 -125.375586,49.418900 -125.376083,49.418908 -125.376180,49.418915 -125.376207,49.418915 -125.376305,49.418931 -125.376388,49.418938 -125.376623,49.418951 -125.376857,49.418955 -125.376941,49.418972 -125.377121,49.418995 -125.377192,49.419020 -125.377414,49.419061 -125.377552,49.419093 -125.378650,49.418977 -125.379240,49.418692 -125.379741,49.418469 -125.380230,49.418005 -125.380401,49.417698 -125.380553,49.416997 -125.380757,49.416417 -125.380925,49.416050 -125.381003,49.415745 -125.380975,49.415169 -125.381036,49.414501 -125.381107,49.414045 -125.381445,49.413454 -125.381450,49.413446 -125.381426,49.412962 -125.381451,49.412506 -125.381402,49.412108 -125.381374,49.411871 -125.381295,49.411206 -125.381405,49.410597 -125.381612,49.410077 -125.382146,49.409581 -125.382646,49.409359 -125.382812,49.409210 -125.383703,49.408632 -125.384250,49.408424 -125.384939,49.408243 -125.386047,49.408098 -125.386830,49.407961 -125.387519,49.407795 -125.388224,49.407477 -125.388685,49.407407 -125.389806,49.407050 -125.390528,49.406611 -125.390906,49.406255 -125.390947,49.406132 -125.391505,49.405681 -125.391798,49.405478 -125.392277,49.405301 -125.392459,49.405222 -125.392962,49.405060 -125.393497,49.405064 -125.394075,49.405022 -125.394468,49.404983 -125.394897,49.404716 -125.395110,49.404417 -125.395042,49.403674 -125.395068,49.403570 -125.394991,49.403282 -125.394836,49.402706 -125.394600,49.402401 -125.394523,49.402134 -125.394448,49.401887 -125.394470,49.401680 -125.394456,49.401411 -125.394554,49.400810 -125.394666,49.400518 -125.394908,49.400265 -125.395312,49.400112 -125.395647,49.400000 -125.395842,49.399935 -125.396401,49.399696 -125.396735,49.399400 -125.396758,49.399223 -125.396714,49.398976 -125.396628,49.398833 -125.396408,49.398538 -125.396286,49.398313 -125.396244,49.398107 -125.396294,49.397827 -125.396330,49.397588 -125.396553,49.397294 -125.396782,49.397114 -125.397184,49.396909 -125.397465,49.396831 -125.398108,49.396683 -125.398943,49.396604 -125.399554,49.396456 -125.400000,49.396408 -125.400027,49.396405 -125.400688,49.396329 -125.400953,49.396231 -125.401249,49.396121 -125.401527,49.395981 -125.401852,49.395830 -125.402117,49.395741 -125.402361,49.395550 -125.402636,49.395338 -125.402882,49.394867 -125.403045,49.394626 -125.403102,49.394491 -125.403300,49.394342 -125.403593,49.394181 -125.403960,49.393894 -125.404365,49.393427 -125.423053,49.386928 -125.432415,49.385422 -125.440997,49.380224 -125.445021,49.375513 -125.450652,49.378100 -125.469594,49.382150 -125.469983,49.382196 -125.470203,49.382191 -125.470449,49.382159 -125.470682,49.382127 -125.470833,49.382115 -125.472182,49.382086 -125.472444,49.382089 -125.472720,49.382092 -125.472982,49.382096 -125.473257,49.382099 -125.473521,49.382129 -125.473757,49.382169 -125.473994,49.382218 -125.474230,49.382258 -125.474564,49.382332 -125.474912,49.382396 -125.475789,49.382566 -125.476067,49.382614 -125.476651,49.382728 -125.476874,49.382777 -125.477083,49.382818 -125.477320,49.382866 -125.477556,49.382906 -125.477778,49.382947 -125.478126,49.383002 -125.478376,49.383051 -125.478627,49.383108 -125.478975,49.383182 -125.479254,49.383239 -125.479532,49.383287 -125.479783,49.383344 -125.480117,49.383409 -125.480380,49.383431 -125.480615,49.383462 -125.480837,49.383493 -125.481087,49.383514 -125.481210,49.383512 -125.481361,49.383499 -125.481568,49.383495 -125.481901,49.383542 -125.482124,49.383600 -125.482361,49.383649 -125.482711,49.383758 -125.483061,49.383859 -125.483368,49.383951 -125.483662,49.384035 -125.483941,49.384110 -125.484207,49.384176 -125.484499,49.384242 -125.484792,49.384298 -125.485027,49.384320 -125.485235,49.384343 -125.485940,49.384382 -125.486147,49.384395 -125.486299,49.384401 -125.486508,49.384441 -125.486730,49.384491 -125.487205,49.384606 -125.487443,49.384673 -125.487624,49.384723 -125.487916,49.384771 -125.488445,49.384885 -125.488835,49.384967 -125.489073,49.385034 -125.489576,49.385167 -125.489814,49.385234 -125.489996,49.385293 -125.490178,49.385361 -125.490527,49.385443 -125.490862,49.385526 -125.491309,49.385642 -125.491518,49.385692 -125.491727,49.385732 -125.491993,49.385817 -125.492190,49.385893 -125.492386,49.385961 -125.492596,49.386029 -125.492790,49.386051 -125.493038,49.386055 -125.493272,49.386050 -125.493534,49.386053 -125.493783,49.386066 -125.493907,49.386054 -125.494194,49.386021 -125.494469,49.385997 -125.494632,49.385967 -125.494769,49.385946 -125.494920,49.385924 -125.495056,49.385903 -125.495249,49.385899 -125.495470,49.385912 -125.495568,49.385928 -125.495761,49.385942 -125.495941,49.385956 -125.496163,49.385978 -125.496325,49.386001 -125.497527,49.386505 -125.498271,49.386749 -125.498642,49.386850 -125.499610,49.386938 -125.500586,49.387155 -125.501421,49.387246 -125.502288,49.387292 -125.502760,49.387412 -125.503256,49.387691 -125.503320,49.387704 -125.503419,49.387756 -125.503562,49.387861 -125.503663,49.387939 -125.503858,49.387989 -125.504066,49.388021 -125.504384,49.388023 -125.504690,49.388088 -125.505137,49.388204 -125.505470,49.388242 -125.505650,49.388274 -125.505845,49.388306 -125.506080,49.388319 -125.506300,49.388305 -125.506589,49.388299 -125.506658,49.388295 -125.507282,49.388074 -125.507699,49.388086 -125.508100,49.388143 -125.509036,49.388231 -125.509454,49.388287 -125.509907,49.388353 -125.510511,49.388470 -125.511185,49.388640 -125.511856,49.388756 -125.512176,49.388836 -125.512794,49.388898 -125.513183,49.389020 -125.513582,49.389358 -125.513941,49.389546 -125.514519,49.389740 -125.514753,49.389750 -125.514960,49.389754 -125.515666,49.389820 -125.515805,49.389853 -125.515959,49.389885 -125.516348,49.389949 -125.516528,49.389981 -125.516779,49.390020 -125.516986,49.390043 -125.517208,49.390065 -125.517416,49.390079 -125.517609,49.390092 -125.517887,49.390131 -125.518164,49.390161 -125.518427,49.390191 -125.518622,49.390232 -125.518858,49.390263 -125.519136,49.390311 -125.519388,49.390377 -125.519652,49.390426 -125.519833,49.390449 -125.520012,49.390463 -125.520249,49.390503 -125.520557,49.390604 -125.520713,49.390681 -125.520754,49.390689 -125.520883,49.390777 -125.521136,49.390870 -125.521374,49.390955 -125.521711,49.391064 -125.522101,49.391146 -125.522185,49.391180 -125.522440,49.391309 -125.522767,49.391509 -125.522895,49.391578 -125.523091,49.391646 -125.523274,49.391714 -125.523431,49.391828 -125.523588,49.391932 -125.523715,49.391992 -125.523939,49.392050 -125.524122,49.392118 -125.524290,49.392178 -125.524513,49.392218 -125.524836,49.392346 -125.524950,49.392415 -125.524994,49.392459 -125.525040,49.392557 -125.525115,49.392672 -125.525176,49.392788 -125.525254,49.392975 -125.525315,49.393073 -125.525395,49.393163 -125.525566,49.393333 -125.525714,49.393486 -125.525871,49.393635 -125.526068,49.393757 -125.526347,49.393760 -125.526601,49.393822 -125.526839,49.393916 -125.527072,49.394013 -125.527299,49.394117 -125.527407,49.394280 -125.527426,49.394459 -125.527391,49.394638 -125.527278,49.394801 -125.527177,49.394968 -125.527062,49.395134 -125.527109,49.395310 -125.527276,49.395452 -125.527497,49.395563 -125.527752,49.395628 -125.528026,49.395660 -125.528300,49.395676 -125.528576,49.395679 -125.528851,49.395669 -125.529126,49.395653 -125.529400,49.395637 -125.529675,49.395620 -125.529949,49.395604 -125.530224,49.395596 -125.530500,49.395600 -125.530775,49.395590 -125.531049,49.395570 -125.531324,49.395551 -125.531598,49.395541 -125.531873,49.395548 -125.532147,49.395568 -125.532421,49.395590 -125.532694,49.395614 -125.532967,49.395639 -125.533239,49.395666 -125.534187,49.395755 -125.534859,49.396012 -125.535442,49.396456 -125.535913,49.396765 -125.536497,49.397232 -125.536892,49.397429 -125.537964,49.397840 -125.538784,49.398142 -125.539997,49.398572 -125.541482,49.398859 -125.542308,49.399275 -125.543171,49.399713 -125.543743,49.400000 -125.543853,49.400055 -125.544618,49.400568 -125.544732,49.400621 -125.545504,49.400724 -125.546177,49.400709 -125.547082,49.400619 -125.548197,49.400455 -125.549631,49.400248 -125.550744,49.400000 -125.550795,49.399989 -125.551319,49.399769 -125.551899,49.399475 -125.552382,49.399205 -125.553655,49.398875 -125.554815,49.398914 -125.555689,49.399175 -125.556270,49.399530 -125.556973,49.399687 -125.557711,49.399865 -125.558410,49.400000 -125.558543,49.400026 -125.559027,49.400074 -125.560125,49.400137 -125.560928,49.400288 -125.561624,49.400406 -125.561919,49.400397 -125.562249,49.400343 -125.562528,49.400277 -125.563081,49.400000 -125.563524,49.399778 -125.563988,49.399682 -125.564571,49.399432 -125.564984,49.399099 -125.565852,49.398604 -125.566787,49.398130 -125.568442,49.397510 -125.569548,49.397140 -125.570454,49.396753 -125.571580,49.396145 -125.572673,49.395537 -125.573451,49.395218 -125.574661,49.394953 -125.575717,49.394886 -125.576313,49.394895 -125.576798,49.395013 -125.576973,49.395189 -125.577121,49.395384 -125.577445,49.395772 -125.577590,49.395922 -125.577749,49.396062 -125.577881,49.396212 -125.577960,49.396408 -125.578024,49.396569 -125.578123,49.396891 -125.578227,49.397023 -125.578459,49.397252 -125.578519,49.397332 -125.578612,49.397527 -125.578631,49.397626 -125.578612,49.397806 -125.578513,49.398015 -125.578400,49.398216 -125.578284,49.398371 -125.578181,49.398518 -125.578080,49.398700 -125.577979,49.398873 -125.577921,49.399081 -125.577927,49.399198 -125.577947,49.399306 -125.578079,49.399465 -125.578310,49.399657 -125.578484,49.399833 -125.578574,49.399966 -125.578594,49.400000 -125.578649,49.400091 -125.578928,49.400425 -125.579321,49.400711 -125.579751,49.401064 -125.580016,49.401388 -125.580093,49.401618 -125.580124,49.401659 -125.580187,49.401820 -125.580218,49.401882 -125.580309,49.402042 -125.580354,49.402095 -125.580387,49.402202 -125.580416,49.402237 -125.580444,49.402246 -125.580475,49.402299 -125.580534,49.402379 -125.580549,49.402414 -125.580582,49.402503 -125.580600,49.402584 -125.580561,49.402742 -125.580650,49.402861 -125.580783,49.403046 -125.580771,49.403202 -125.580727,49.403351 -125.580633,49.403514 -125.580516,49.403612 -125.580502,49.403621 -125.580291,49.403787 -125.580225,49.403852 -125.580150,49.404007 -125.580099,49.404071 -125.580046,49.404117 -125.579858,49.404211 -125.579721,49.404244 -125.579616,49.404385 -125.579638,49.404606 -125.579816,49.404858 -125.580070,49.405032 -125.580108,49.405042 -125.580235,49.405093 -125.580574,49.405257 -125.580716,49.405334 -125.580790,49.405423 -125.580793,49.405486 -125.580785,49.405585 -125.580791,49.405711 -125.580840,49.405844 -125.581002,49.406048 -125.581146,49.406170 -125.581388,49.406318 -125.581431,49.406335 -125.581600,49.406412 -125.581658,49.406447 -125.582011,49.406592 -125.582364,49.406645 -125.582768,49.406669 -125.582984,49.406671 -125.583398,49.406689 -125.583793,49.406761 -125.584197,49.406792 -125.584425,49.406801 -125.584848,49.406818 -125.585097,49.406839 -125.585482,49.406912 -125.585702,49.406974 -125.585949,49.407164 -125.586191,49.407281 -125.586278,49.407279 -125.586389,49.407286 -125.586485,49.407284 -125.586651,49.407298 -125.586750,49.407341 -125.587002,49.407416 -125.587170,49.407457 -125.587254,49.407482 -125.587380,49.407524 -125.587464,49.407540 -125.587523,49.407620 -125.587609,49.407690 -125.587709,49.407751 -125.587797,49.407848 -125.587870,49.407918 -125.587982,49.407952 -125.588039,49.407986 -125.588124,49.408030 -125.588292,49.408118 -125.588564,49.408344 -125.588626,49.408580 -125.588655,49.408807 -125.588817,49.409062 -125.589209,49.409259 -125.589760,49.409344 -125.590250,49.409349 -125.590377,49.409369 -125.591047,49.409400 -125.591259,49.409400 -125.591433,49.409350 -125.591731,49.409142 -125.591801,49.409006 -125.591948,49.408869 -125.592254,49.408828 -125.592820,49.408849 -125.593257,49.408839 -125.593535,49.408766 -125.593987,49.408555 -125.594458,49.408242 -125.594780,49.408000 -125.595090,49.407710 -125.595144,49.407627 -125.595206,49.407226 -125.595354,49.406859 -125.595909,49.406556 -125.596283,49.406521 -125.596659,49.406530 -125.597164,49.406657 -125.597262,49.406673 -125.597540,49.406730 -125.597639,49.406763 -125.597723,49.406798 -125.597753,49.406833 -125.597855,49.406947 -125.597982,49.407008 -125.598248,49.407074 -125.598484,49.407104 -125.598663,49.407109 -125.598996,49.407138 -125.599133,49.407135 -125.599161,49.407125 -125.599228,49.407106 -125.599476,49.407100 -125.599735,49.407101 -125.600000,49.407135 -125.600134,49.407153 -125.600622,49.407223 -125.601118,49.407284 -125.601609,49.407395 -125.602008,49.407549 -125.602331,49.407726 -125.602661,49.407907 -125.602812,49.408128 -125.602855,49.408217 -125.602922,49.408428 -125.603086,49.408652 -125.603158,49.408774 -125.603330,49.408900 -125.603490,49.408976 -125.603761,49.409103 -125.603946,49.409203 -125.604080,49.409321 -125.604141,49.409486 -125.604179,49.409738 -125.604158,49.409855 -125.604175,49.409909 -125.604294,49.410077 -125.604481,49.410226 -125.604552,49.410269 -125.604624,49.410322 -125.604682,49.410383 -125.604754,49.410427 -125.604811,49.410479 -125.604941,49.410584 -125.605096,49.410653 -125.605180,49.410660 -125.605429,49.410690 -125.605513,49.410715 -125.605642,49.410803 -125.605739,49.410809 -125.605781,49.410817 -125.605849,49.410798 -125.605929,49.410760 -125.606171,49.410638 -125.606280,49.410617 -125.606459,49.410613 -125.606765,49.410651 -125.606986,49.410662 -125.607211,49.410749 -125.607255,49.410802 -125.607340,49.410845 -125.607411,49.410871 -125.607617,49.410866 -125.607754,49.410854 -125.607977,49.410894 -125.608186,49.410934 -125.608477,49.410955 -125.608946,49.410962 -125.608993,49.410945 -125.609374,49.410929 -125.609595,49.410939 -125.609746,49.410943 -125.609863,49.410971 -125.610271,49.411011 -125.610368,49.411002 -125.610574,49.410979 -125.610780,49.410974 -125.610891,49.410981 -125.611099,49.411003 -125.611335,49.411034 -125.611571,49.411074 -125.611655,49.411090 -125.611920,49.411138 -125.611932,49.411142 -125.612087,49.411155 -125.612271,49.411128 -125.612384,49.411080 -125.612545,49.411054 -125.612743,49.411072 -125.612830,49.411176 -125.612872,49.411319 -125.612882,49.411500 -125.612842,49.411614 -125.612696,49.411716 -125.612584,49.411779 -125.612461,49.411872 -125.612351,49.411988 -125.612296,49.412035 -125.612226,49.412198 -125.795865,49.411926 -125.795863,49.412042 -125.795859,49.412213 -125.795868,49.412366 -125.795891,49.412527 -125.795883,49.412644 -125.795890,49.412752 -125.795993,49.413110 -125.796064,49.413253 -125.795998,49.413520 -125.795771,49.413715 -125.795549,49.413979 -125.795038,49.414383 -125.794997,49.414474 -125.794751,49.414789 -125.794450,49.415055 -125.794209,49.415456 -125.794125,49.415837 -125.794302,49.416159 -125.794579,49.416393 -125.794969,49.416763 -125.795149,49.416918 -125.787940,49.422349 -125.781876,49.431675 -125.775253,49.438777 -125.769742,49.450327 -125.748857,49.455063 -125.721045,49.457330 -125.700658,49.462687 -125.689356,49.460913 -125.673808,49.464610 -125.670666,49.474533 -125.654232,49.481745 -125.630408,49.487447 -125.628906,49.504046 -125.636006,49.512892 -125.655680,49.515848 -125.707600,49.515853 -125.736008,49.515814 -125.768901,49.518259 -125.794353,49.517604 -125.826488,49.526738 -125.869668,49.543361 -125.890558,49.552314 -125.919833,49.562417 -125.931842,49.570349 -125.931849,49.600000 -125.931858,49.610287 -125.931932,49.700000 -125.931933,49.701716 -125.932182,49.701865 -125.932521,49.701914 -125.933071,49.701946 -125.933579,49.701876 -125.934090,49.701851 -125.934657,49.701871 -125.935314,49.701923 -125.935579,49.701977 -125.935825,49.702130 -125.936213,49.702363 -125.936521,49.702634 -125.936662,49.702900 -125.936748,49.703186 -125.936859,49.703417 -125.937167,49.703679 -125.937280,49.703946 -125.937417,49.704150 -125.937663,49.704323 -125.937684,49.704334 -125.938063,49.704421 -125.938296,49.704484 -125.938588,49.704626 -125.938725,49.704755 -125.938802,49.704842 -125.938883,49.704960 -125.938999,49.705146 -125.939164,49.705417 -125.939289,49.705524 -125.939519,49.705634 -125.939687,49.705693 -125.940080,49.705683 -125.940200,49.705694 -125.940404,49.705738 -125.940526,49.705792 -125.940581,49.705839 -125.940744,49.705941 -125.940823,49.706031 -125.941017,49.706151 -125.941005,49.706146 -125.941036,49.706190 -125.941421,49.706369 -125.941839,49.706403 -125.941851,49.706409 -125.942076,49.706433 -125.942327,49.706528 -125.942567,49.706682 -125.942631,49.706757 -125.942712,49.706866 -125.942768,49.706965 -125.942964,49.707113 -125.943361,49.707255 -125.943746,49.707426 -125.944041,49.707715 -125.944194,49.707954 -125.944390,49.708201 -125.944556,49.708431 -125.944670,49.708716 -125.944783,49.708974 -125.945114,49.709172 -125.945529,49.709377 -125.945642,49.709644 -125.945646,49.709707 -125.945634,49.709968 -125.945652,49.710040 -125.945666,49.710265 -125.945822,49.710548 -125.946189,49.710647 -125.946553,49.710701 -125.946990,49.710816 -125.947383,49.710896 -125.947480,49.710902 -125.947847,49.710992 -125.948298,49.711124 -125.948719,49.711203 -125.949006,49.711321 -125.949460,49.711820 -125.949967,49.711969 -125.950614,49.712006 -125.951136,49.712047 -125.951367,49.712081 -125.951557,49.712130 -125.951726,49.712180 -125.952043,49.712266 -125.952113,49.712386 -125.951980,49.712591 -125.951677,49.712747 -125.951211,49.712934 -125.950833,49.713227 -125.950765,49.713561 -125.950778,49.713571 -125.950762,49.713769 -125.950610,49.714016 -125.950628,49.714079 -125.950755,49.714336 -125.950935,49.714566 -125.951103,49.714822 -125.951215,49.715062 -125.951410,49.715300 -125.951827,49.715550 -125.952244,49.715792 -125.952550,49.716027 -125.952761,49.716309 -125.952890,49.716594 -125.952890,49.716603 -125.953178,49.716766 -125.953266,49.716845 -125.953489,49.717100 -125.953630,49.717367 -125.953741,49.717598 -125.953811,49.717839 -125.953923,49.718070 -125.954048,49.718310 -125.954287,49.718582 -125.954425,49.718795 -125.954607,49.719060 -125.954640,49.719365 -125.954630,49.719437 -125.954507,49.719692 -125.954426,49.719964 -125.954457,49.720018 -125.954682,49.720300 -125.954687,49.720380 -125.954674,49.720615 -125.954549,49.720852 -125.954520,49.720866 -125.954887,49.721149 -125.954918,49.721211 -125.955112,49.721431 -125.955438,49.721540 -125.955836,49.721701 -125.956261,49.721843 -125.956667,49.722129 -125.956765,49.722379 -125.956878,49.722628 -125.957046,49.722893 -125.957324,49.723120 -125.957459,49.723266 -125.957787,49.723333 -125.958162,49.723350 -125.958926,49.723250 -125.959820,49.723254 -125.960532,49.723344 -125.961057,49.723438 -125.961860,49.723650 -125.962006,49.723675 -125.962414,49.723755 -125.963179,49.724023 -125.963396,49.724161 -125.963497,49.724222 -125.963625,49.724281 -125.963825,49.724375 -125.964137,49.724484 -125.964509,49.724664 -125.964722,49.724748 -125.964880,49.724834 -125.965080,49.724919 -125.965280,49.725022 -125.965483,49.725160 -125.965711,49.725262 -125.965862,49.725353 -125.966097,49.725467 -125.966231,49.725544 -125.966451,49.725654 -125.966676,49.725762 -125.966908,49.725864 -125.967148,49.725952 -125.967403,49.726017 -125.967673,49.726061 -125.967951,49.726089 -125.968229,49.726100 -125.968504,49.726092 -125.968779,49.726068 -125.969056,49.726041 -125.969332,49.726024 -125.969610,49.726024 -125.969887,49.726041 -125.970160,49.726072 -125.970434,49.726109 -125.970702,49.726158 -125.970955,49.726227 -125.971193,49.726319 -125.971419,49.726426 -125.971632,49.726541 -125.971826,49.726670 -125.972019,49.726801 -125.972228,49.726917 -125.972453,49.727022 -125.972685,49.727122 -125.972916,49.727222 -125.973139,49.727328 -125.973349,49.727447 -125.973554,49.727570 -125.973765,49.727686 -125.973994,49.727785 -125.974238,49.727872 -125.974492,49.727948 -125.974752,49.728014 -125.975016,49.728067 -125.975287,49.728095 -125.975567,49.728097 -125.975846,49.728095 -125.976124,49.728094 -125.976402,49.728086 -125.976677,49.728068 -125.976953,49.728045 -125.977229,49.728017 -125.977500,49.727980 -125.977763,49.727928 -125.978016,49.727855 -125.978266,49.727773 -125.978519,49.727700 -125.978781,49.727639 -125.979046,49.727581 -125.979314,49.727532 -125.979585,49.727499 -125.979860,49.727482 -125.980140,49.727478 -125.980420,49.727486 -125.980695,49.727509 -125.980966,49.727545 -125.981238,49.727590 -125.981506,49.727645 -125.981765,49.727712 -125.982011,49.727791 -125.982235,49.727892 -125.982441,49.728014 -125.982635,49.728146 -125.982825,49.728280 -125.982987,49.728432 -125.983142,49.728586 -125.983350,49.728689 -125.983608,49.728744 -125.983889,49.728775 -125.984170,49.728803 -125.984443,49.728835 -125.984718,49.728863 -125.984993,49.728886 -125.985269,49.728904 -125.985546,49.728911 -125.985824,49.728913 -125.986101,49.728920 -125.986379,49.728934 -125.986660,49.728947 -125.986937,49.728969 -125.987203,49.729009 -125.987453,49.729083 -125.987681,49.729191 -125.987879,49.729318 -125.988049,49.729458 -125.988204,49.729609 -125.988433,49.729834 -125.988441,49.734862 -125.988466,49.750330 -125.988094,49.750488 -125.987703,49.750633 -125.987339,49.750719 -125.986826,49.750809 -125.986086,49.750809 -125.985348,49.750847 -125.984684,49.750883 -125.984248,49.751019 -125.983875,49.751221 -125.983560,49.751392 -125.983264,49.751639 -125.982877,49.751841 -125.982565,49.752060 -125.982026,49.752218 -125.981689,49.752265 -125.981117,49.752357 -125.980602,49.752418 -125.980134,49.752497 -125.979678,49.752547 -125.979543,49.752531 -125.979250,49.752577 -125.979010,49.752584 -125.978481,49.752597 -125.978220,49.752681 -125.978025,49.752878 -125.977527,49.753592 -125.977402,49.753697 -125.977286,49.753835 -125.977147,49.754054 -125.977032,49.754219 -125.976873,49.754349 -125.976647,49.754508 -125.976427,49.754775 -125.975985,49.755047 -125.975627,49.755083 -125.975516,49.755086 -125.974635,49.755073 -125.974483,49.755077 -125.973992,49.755049 -125.973972,49.755045 -125.973628,49.755099 -125.973240,49.755342 -125.972886,49.755459 -125.972653,49.755501 -125.972516,49.755532 -125.971994,49.755635 -125.971474,49.755748 -125.970982,49.755877 -125.970584,49.755959 -125.970199,49.756014 -125.969893,49.756013 -125.969700,49.756045 -125.969304,49.756154 -125.968918,49.756416 -125.968566,49.756569 -125.968198,49.756686 -125.967862,49.756857 -125.967595,49.757035 -125.967343,49.757239 -125.967208,49.757521 -125.967251,49.757781 -125.967171,49.758062 -125.966865,49.758268 -125.966479,49.758323 -125.966040,49.758406 -125.965683,49.758469 -125.965214,49.758526 -125.964785,49.758555 -125.964674,49.758565 -125.964155,49.758759 -125.963775,49.758846 -125.963406,49.759104 -125.963268,49.759281 -125.963192,49.759494 -125.963053,49.759632 -125.962943,49.759789 -125.962876,49.759818 -125.962478,49.759883 -125.962068,49.759767 -125.961688,49.759696 -125.961244,49.759689 -125.960819,49.759781 -125.960450,49.759881 -125.960082,49.759998 -125.959682,49.760035 -125.959309,49.760081 -125.958953,49.760162 -125.958595,49.760207 -125.958197,49.760289 -125.957805,49.760470 -125.957648,49.760529 -125.956629,49.760760 -125.955891,49.760762 -125.955199,49.760660 -125.954390,49.760356 -125.953965,49.760316 -125.953892,49.760291 -125.953766,49.760276 -125.953329,49.760161 -125.952883,49.759903 -125.952497,49.759724 -125.952085,49.759581 -125.951718,49.759474 -125.951224,49.759342 -125.950827,49.759209 -125.950436,49.758949 -125.950253,49.758683 -125.949794,49.758434 -125.949427,49.758345 -125.949007,49.758292 -125.949004,49.758290 -125.947808,49.758338 -125.947202,49.758336 -125.946756,49.758306 -125.946517,49.758221 -125.946068,49.758142 -125.945618,49.758046 -125.945206,49.757894 -125.944719,49.757646 -125.944350,49.757511 -125.943932,49.757270 -125.943691,49.756961 -125.943566,49.756721 -125.943482,49.756481 -125.943398,49.756249 -125.943363,49.756133 -125.943203,49.755654 -125.943027,49.755351 -125.942852,49.755082 -125.942678,49.754813 -125.942352,49.754651 -125.941635,49.754567 -125.941162,49.754596 -125.940629,49.754490 -125.940588,49.754486 -125.939774,49.754416 -125.939328,49.754391 -125.938912,49.754393 -125.938411,49.754378 -125.937992,49.754344 -125.937584,49.754255 -125.937317,49.754199 -125.936992,49.754109 -125.936654,49.754027 -125.936444,49.754006 -125.936334,49.754017 -125.936141,49.754040 -125.935757,49.754113 -125.935358,49.754177 -125.935164,49.754182 -125.934872,49.754180 -125.934651,49.754204 -125.934393,49.754300 -125.934272,49.754348 -125.934099,49.754377 -125.933830,49.754360 -125.933614,49.754337 -125.933301,49.754339 -125.933063,49.754403 -125.932862,49.754477 -125.932550,49.754636 -125.932280,49.754909 -125.932111,49.755076 -125.932019,49.755182 -125.931967,49.755321 -125.932000,49.790797 -125.931778,49.790986 -125.931572,49.800000 -125.931607,49.816378 -125.931646,49.840560 -125.931651,49.844356 -125.916760,49.844359 -125.916761,49.846308 -125.904996,49.846310 -125.904998,49.863208 -125.904998,49.867133 -125.913669,49.867132 -125.913671,49.871225 -125.917647,49.871912 -125.918419,49.871893 -125.919189,49.872129 -125.919634,49.872351 -125.920150,49.872547 -125.920772,49.872718 -125.921400,49.872981 -125.921890,49.873341 -125.922527,49.873744 -125.922765,49.874110 -125.922937,49.874571 -125.922721,49.875181 -125.922382,49.875516 -125.922137,49.875638 -125.921681,49.875836 -125.921312,49.876037 -125.921150,49.876501 -125.921156,49.876535 -125.921146,49.876598 -125.921065,49.876879 -125.920815,49.877119 -125.920470,49.877398 -125.920108,49.877632 -125.919832,49.877900 -125.919528,49.878168 -125.919317,49.878354 -125.919340,49.878506 -125.919495,49.878772 -125.919549,49.878977 -125.919552,49.879031 -125.919575,49.879175 -125.919756,49.879404 -125.919867,49.879626 -125.919899,49.879706 -125.919962,49.879813 -125.920114,49.880034 -125.920239,49.880265 -125.920423,49.880539 -125.920467,49.880808 -125.920456,49.880862 -125.920376,49.881152 -125.920255,49.881443 -125.920062,49.881708 -125.919835,49.881876 -125.919552,49.882027 -125.919147,49.882226 -125.918898,49.882493 -125.918794,49.882613 -125.918718,49.882741 -125.918643,49.882878 -125.918596,49.883023 -125.918463,49.883125 -125.918097,49.883313 -125.917851,49.883809 -125.917666,49.884301 -125.917672,49.884324 -125.917787,49.884618 -125.917736,49.884691 -125.917566,49.884875 -125.917202,49.885073 -125.917023,49.885338 -125.917001,49.885559 -125.917037,49.885806 -125.917199,49.885891 -125.917534,49.885995 -125.917826,49.886169 -125.917930,49.886287 -125.918098,49.886535 -125.918232,49.886675 -125.918495,49.886894 -125.918871,49.887118 -125.919267,49.887216 -125.919463,49.887238 -125.919710,49.887285 -125.919888,49.887359 -125.920036,49.887512 -125.919974,49.887625 -125.919800,49.887902 -125.919702,49.887961 -125.919400,49.888265 -125.919096,49.888534 -125.918887,49.888773 -125.918515,49.889070 -125.918419,49.889316 -125.918004,49.889596 -125.917974,49.889623 -125.917959,49.889672 -125.917971,49.889724 -125.918023,49.889778 -125.918142,49.889801 -125.918281,49.889800 -125.918427,49.889791 -125.918630,49.889786 -125.918789,49.889788 -125.918974,49.889814 -125.919089,49.889827 -125.919202,49.889872 -125.919276,49.889915 -125.919362,49.889940 -125.919473,49.889946 -125.919654,49.889941 -125.920038,49.890075 -125.920221,49.890332 -125.920225,49.890404 -125.920212,49.890647 -125.920200,49.890917 -125.920106,49.891198 -125.919945,49.891526 -125.919836,49.891799 -125.919824,49.892069 -125.919827,49.892339 -125.919730,49.892575 -125.919509,49.892842 -125.919198,49.892993 -125.918826,49.893300 -125.918563,49.893549 -125.918367,49.893761 -125.918147,49.894036 -125.918030,49.894168 -125.917902,49.894599 -125.917773,49.895406 -125.917777,49.895856 -125.917710,49.896027 -125.917542,49.896172 -125.917431,49.896337 -125.917314,49.896500 -125.917168,49.896654 -125.917037,49.896809 -125.917083,49.896985 -125.917193,49.897151 -125.917320,49.897312 -125.917396,49.897485 -125.917440,49.897663 -125.917441,49.897841 -125.917377,49.897994 -125.917338,49.898026 -125.916990,49.898115 -125.916628,49.898243 -125.916390,49.898378 -125.916194,49.898443 -125.915998,49.898497 -125.915745,49.898633 -125.915566,49.898736 -125.915372,49.898831 -125.915229,49.899013 -125.915143,49.899105 -125.914951,49.899239 -125.914835,49.899361 -125.914648,49.899582 -125.914643,49.899660 -125.914578,49.899814 -125.914426,49.899949 -125.914319,49.900000 -125.914260,49.900029 -125.913817,49.900137 -125.913489,49.900179 -125.913224,49.900214 -125.913001,49.900240 -125.912739,49.900322 -125.912612,49.900505 -125.912561,49.900727 -125.912583,49.900919 -125.912657,49.901256 -125.912826,49.901410 -125.913246,49.901641 -125.913405,49.901802 -125.913458,49.902147 -125.913315,49.902426 -125.913287,49.902675 -125.913381,49.902810 -125.913555,49.902875 -125.913942,49.902906 -125.914205,49.903024 -125.914340,49.903131 -125.914458,49.903321 -125.914535,49.903540 -125.914418,49.903722 -125.914381,49.903774 -125.914342,49.903842 -125.914265,49.903893 -125.914202,49.903944 -125.914117,49.904017 -125.914084,49.904069 -125.914050,49.904104 -125.914036,49.904151 -125.914025,49.904199 -125.914022,49.904250 -125.914018,49.904299 -125.914014,49.904332 -125.913993,49.904369 -125.913978,49.904401 -125.913957,49.904432 -125.913917,49.904482 -125.913889,49.904523 -125.913868,49.904554 -125.913853,49.904586 -125.913816,49.904632 -125.913776,49.904674 -125.913735,49.904713 -125.913722,49.904776 -125.913701,49.904898 -125.913616,49.905029 -125.913573,49.905184 -125.913606,49.905294 -125.913695,49.905446 -125.913807,49.905555 -125.913898,49.905741 -125.913956,49.905816 -125.914142,49.906043 -125.914226,49.906126 -125.914323,49.906201 -125.914360,49.906363 -125.914354,49.906483 -125.914293,49.906793 -125.914026,49.907092 -125.913667,49.907309 -125.913235,49.907561 -125.912957,49.907888 -125.912897,49.908130 -125.912901,49.908611 -125.912979,49.909074 -125.913029,49.909506 -125.912974,49.909828 -125.912960,49.910005 -125.912907,49.910359 -125.912583,49.910752 -125.912389,49.911238 -125.912061,49.911567 -125.911899,49.911763 -125.911834,49.911925 -125.911670,49.912090 -125.911508,49.912286 -125.911322,49.912483 -125.911188,49.912743 -125.910916,49.913167 -125.910924,49.913295 -125.910867,49.913585 -125.910665,49.913943 -125.910481,49.914188 -125.910074,49.914439 -125.909740,49.914672 -125.909345,49.914714 -125.908800,49.914727 -125.908405,49.914769 -125.908069,49.914954 -125.907926,49.915054 -125.907842,49.915313 -125.907932,49.915567 -125.907898,49.915840 -125.907684,49.915990 -125.907572,49.916201 -125.907580,49.916329 -125.907757,49.916583 -125.907827,49.916843 -125.907884,49.917120 -125.908132,49.917428 -125.908495,49.917628 -125.908882,49.917775 -125.909162,49.917942 -125.909416,49.918128 -125.909675,49.918400 -125.909861,49.918578 -125.910182,49.918980 -125.910346,49.919237 -125.910566,49.919437 -125.910611,49.919442 -125.910682,49.919468 -125.910782,49.919510 -125.910983,49.919604 -125.911111,49.919655 -125.911296,49.919722 -125.911579,49.919787 -125.911858,49.919789 -125.912140,49.919845 -125.912324,49.919903 -125.912454,49.919981 -125.912486,49.920043 -125.912481,49.920421 -125.912525,49.920465 -125.912841,49.920610 -125.912960,49.920742 -125.913014,49.920947 -125.913045,49.920991 -125.913208,49.921158 -125.913241,49.921247 -125.913321,49.921416 -125.913443,49.921593 -125.913538,49.921780 -125.913630,49.921921 -125.913747,49.922008 -125.913951,49.922156 -125.914114,49.922323 -125.914244,49.922392 -125.914274,49.922427 -125.914375,49.922487 -125.914511,49.922664 -125.914519,49.922790 -125.914465,49.922818 -125.914455,49.922890 -125.914478,49.923034 -125.914570,49.923184 -125.914742,49.923261 -125.914833,49.923345 -125.914816,49.923458 -125.914723,49.923504 -125.914483,49.923608 -125.914203,49.923721 -125.913948,49.923815 -125.913843,49.923880 -125.913642,49.923956 -125.913504,49.924162 -125.913369,49.924422 -125.913357,49.924669 -125.913455,49.924932 -125.913551,49.925159 -125.913710,49.925305 -125.914355,49.925784 -125.914501,49.925939 -125.914537,49.926088 -125.914577,49.926299 -125.914563,49.926521 -125.914644,49.926730 -125.914753,49.926850 -125.914821,49.926875 -125.915019,49.926924 -125.915276,49.927026 -125.915489,49.927092 -125.915660,49.927160 -125.915858,49.927209 -125.916102,49.927311 -125.916387,49.927430 -125.916617,49.927532 -125.916847,49.927661 -125.917020,49.927756 -125.917275,49.927821 -125.917429,49.927835 -125.917708,49.927837 -125.917889,49.927842 -125.917975,49.927875 -125.918198,49.927879 -125.918491,49.927880 -125.918798,49.927882 -125.918813,49.927881 -125.919202,49.927713 -125.919457,49.927574 -125.919866,49.927564 -125.920224,49.927668 -125.920375,49.927759 -125.920389,49.927985 -125.920173,49.928435 -125.920173,49.928495 -125.920193,49.928602 -125.920213,49.928935 -125.920211,49.929133 -125.920204,49.929250 -125.920215,49.929429 -125.920213,49.929627 -125.920211,49.929816 -125.920199,49.930086 -125.920135,49.930178 -125.920059,49.930306 -125.919953,49.930390 -125.919914,49.930435 -125.919866,49.930563 -125.919863,49.930752 -125.919889,49.930949 -125.919886,49.931138 -125.919897,49.931309 -125.919785,49.931551 -125.919538,49.931822 -125.919380,49.932109 -125.919189,49.932341 -125.919000,49.932591 -125.918821,49.933030 -125.918453,49.933719 -125.918058,49.934447 -125.917818,49.934830 -125.917675,49.935363 -125.917519,49.935688 -125.917478,49.935972 -125.917409,49.936295 -125.917213,49.936923 -125.917205,49.937263 -125.917293,49.937690 -125.917371,49.937705 -125.917429,49.937749 -125.917524,49.937944 -125.917575,49.938096 -125.917782,49.938289 -125.917828,49.938360 -125.917924,49.938555 -125.917984,49.938635 -125.918107,49.938820 -125.918144,49.938972 -125.918205,49.939052 -125.918210,49.939133 -125.918242,49.939204 -125.918249,49.939330 -125.918343,49.939498 -125.918447,49.939595 -125.918737,49.939785 -125.918794,49.939811 -125.919075,49.939840 -125.919160,49.939864 -125.919355,49.939869 -125.919648,49.939870 -125.919650,49.939870 -125.920326,49.939821 -125.920688,49.939738 -125.921032,49.939744 -125.921561,49.939775 -125.921953,49.939835 -125.921978,49.939838 -125.922397,49.939946 -125.922792,49.940040 -125.923114,49.940061 -125.923411,49.940039 -125.923736,49.940105 -125.923879,49.940190 -125.923953,49.940277 -125.924099,49.940421 -125.924289,49.940520 -125.924701,49.940524 -125.925177,49.940424 -125.925628,49.940294 -125.925971,49.940285 -125.926383,49.940275 -125.926797,49.940195 -125.927114,49.940098 -125.927526,49.940018 -125.927832,49.939990 -125.928216,49.939961 -125.928385,49.939956 -125.928954,49.939932 -125.929123,49.939918 -125.929399,49.939901 -125.929614,49.939875 -125.929842,49.939830 -125.930239,49.939770 -125.930529,49.939723 -125.930975,49.939692 -125.931297,49.939664 -125.931728,49.939653 -125.932099,49.939683 -125.932657,49.939747 -125.932745,49.939782 -125.933000,49.939848 -125.933311,49.939921 -125.933622,49.939985 -125.933918,49.940041 -125.934032,49.940074 -125.934304,49.940193 -125.934493,49.940332 -125.934669,49.940462 -125.934833,49.940647 -125.934994,49.940778 -125.935099,49.940892 -125.935244,49.940988 -125.935748,49.941245 -125.935925,49.941411 -125.936075,49.941587 -125.936268,49.941771 -125.936487,49.941946 -125.936563,49.942043 -125.936709,49.942147 -125.936840,49.942243 -125.936926,49.942285 -125.937126,49.942361 -125.937283,49.942429 -125.937370,49.942472 -125.937428,49.942516 -125.937473,49.942568 -125.937588,49.942628 -125.937692,49.942725 -125.937910,49.942881 -125.937982,49.942915 -125.938082,49.942958 -125.938158,49.943055 -125.938247,49.943151 -125.938309,49.943240 -125.938375,49.943409 -125.938392,49.943472 -125.938398,49.943570 -125.938517,49.943693 -125.938749,49.943840 -125.938837,49.943901 -125.938936,49.943935 -125.939104,49.943939 -125.939271,49.943935 -125.939425,49.943949 -125.939621,49.943953 -125.939734,49.943977 -125.939818,49.943984 -125.939946,49.944035 -125.939988,49.944034 -125.940120,49.944139 -125.940165,49.944200 -125.940324,49.944286 -125.940646,49.944305 -125.940871,49.944335 -125.940987,49.944413 -125.940965,49.944504 -125.941055,49.944610 -125.941188,49.944732 -125.941436,49.944874 -125.941504,49.945007 -125.941542,49.945135 -125.941503,49.945255 -125.941540,49.945354 -125.941617,49.945601 -125.941576,49.945681 -125.941478,49.945853 -125.941484,49.945952 -125.941505,49.946041 -125.941632,49.946108 -125.941757,49.946124 -125.941974,49.946149 -125.942198,49.946034 -125.942354,49.945801 -125.942504,49.945737 -125.942852,49.945629 -125.943218,49.945570 -125.943493,49.945513 -125.943813,49.945465 -125.944325,49.945512 -125.944573,49.945526 -125.945083,49.945552 -125.945377,49.945575 -125.945627,49.945618 -125.945976,49.945654 -125.946317,49.945685 -125.946628,49.945727 -125.946955,49.945778 -125.947489,49.945944 -125.948205,49.946314 -125.948661,49.946710 -125.949035,49.947029 -125.949309,49.947221 -125.949509,49.947445 -125.949532,49.947583 -125.949544,49.947782 -125.949782,49.948144 -125.950169,49.948423 -125.951010,49.948695 -125.951522,49.948741 -125.952274,49.948931 -125.952998,49.949171 -125.953675,49.949403 -125.954026,49.949593 -125.954283,49.949766 -125.954679,49.949935 -125.954902,49.950048 -125.954940,49.950177 -125.954924,49.950249 -125.954937,49.950318 -125.955004,49.950432 -125.955045,49.950537 -125.955065,49.950651 -125.955077,49.950803 -125.955072,49.950872 -125.955071,49.950954 -125.955087,49.951019 -125.955098,49.951027 -125.955073,49.951213 -125.955032,49.951388 -125.955068,49.951509 -125.955100,49.951742 -125.955129,49.951848 -125.955156,49.952007 -125.955166,49.952166 -125.955197,49.952294 -125.955250,49.952408 -125.955390,49.952541 -125.955586,49.952565 -125.955671,49.952549 -125.955790,49.952520 -125.955901,49.952480 -125.955966,49.952489 -125.956177,49.952528 -125.956306,49.952579 -125.956403,49.952577 -125.956488,49.952601 -125.956586,49.952608 -125.956828,49.952674 -125.956873,49.952727 -125.956914,49.952725 -125.957114,49.952792 -125.957211,49.952790 -125.957254,49.952807 -125.957328,49.952877 -125.957331,49.952931 -125.957362,49.952984 -125.957383,49.953091 -125.957457,49.953161 -125.957461,49.953224 -125.957491,49.953268 -125.957652,49.953390 -125.957883,49.953510 -125.957884,49.953537 -125.958023,49.953626 -125.958191,49.953990 -125.958262,49.954218 -125.958438,49.954458 -125.958489,49.954737 -125.958289,49.955024 -125.957745,49.955326 -125.957483,49.955540 -125.957382,49.955765 -125.957352,49.956024 -125.957459,49.956273 -125.957705,49.956400 -125.957765,49.956374 -125.958063,49.956232 -125.958240,49.956155 -125.958377,49.956116 -125.958607,49.955993 -125.958714,49.955918 -125.958917,49.955832 -125.959379,49.955622 -125.959597,49.955545 -125.959886,49.955474 -125.960188,49.955404 -125.960299,49.955401 -125.960450,49.955361 -125.960740,49.955309 -125.961017,49.955275 -125.961170,49.955271 -125.961351,49.955266 -125.961560,49.955270 -125.961630,49.955277 -125.961812,49.955290 -125.962377,49.955402 -125.962673,49.955457 -125.962843,49.955498 -125.963114,49.955590 -125.963370,49.955682 -125.963641,49.955783 -125.963911,49.955866 -125.964210,49.955958 -125.964367,49.956026 -125.964538,49.956075 -125.964777,49.956105 -125.965114,49.956141 -125.965367,49.956180 -125.965521,49.956185 -125.965846,49.956126 -125.966196,49.956020 -125.966639,49.955950 -125.966937,49.955957 -125.967359,49.956102 -125.967646,49.956287 -125.967859,49.956392 -125.968466,49.956562 -125.968806,49.956694 -125.969137,49.956848 -125.969412,49.957026 -125.969562,49.957214 -125.969574,49.957606 -125.969573,49.957637 -125.969697,49.958114 -125.969906,49.958345 -125.970174,49.958412 -125.970502,49.958530 -125.970661,49.958681 -125.970722,49.958931 -125.970784,49.959196 -125.970662,49.959443 -125.970652,49.959644 -125.970661,49.959806 -125.970854,49.960149 -125.971239,49.960435 -125.971560,49.960797 -125.971809,49.961116 -125.971964,49.961408 -125.972050,49.961687 -125.972052,49.962087 -125.971929,49.962327 -125.971604,49.962631 -125.971362,49.962799 -125.982351,49.961549 -125.996624,49.959957 -125.999999,49.959579 -126.005526,49.958956 -126.028078,49.956408 -126.032060,49.971058 -126.035299,49.982970 -126.035374,49.983139 -126.035429,49.983316 -126.035547,49.983477 -126.035711,49.983623 -126.035859,49.983775 -126.035945,49.983945 -126.035967,49.984125 -126.035977,49.984305 -126.035960,49.984483 -126.035875,49.984654 -126.035731,49.984808 -126.035543,49.984941 -126.035362,49.985077 -126.035268,49.985247 -126.035180,49.985418 -126.035128,49.985593 -126.035093,49.985771 -126.034997,49.985940 -126.034884,49.986105 -126.034765,49.986267 -126.034655,49.986432 -126.034542,49.986597 -126.034423,49.986759 -126.034294,49.986919 -126.034163,49.987077 -126.034034,49.987237 -126.033899,49.987394 -126.033661,49.987630 -126.033544,49.987793 -126.033454,49.987963 -126.033378,49.988136 -126.033321,49.988312 -126.033231,49.988482 -126.033145,49.988653 -126.033050,49.988822 -126.032930,49.988984 -126.032767,49.989130 -126.032590,49.989269 -126.032407,49.989405 -126.032221,49.989539 -126.032046,49.989679 -126.031864,49.989815 -126.031649,49.989931 -126.031419,49.990033 -126.031178,49.990124 -126.030920,49.990190 -126.030651,49.990239 -126.030386,49.990295 -126.030134,49.990373 -126.029858,49.990471 -126.029581,49.990496 -126.029305,49.990521 -126.029031,49.990556 -126.028758,49.990596 -126.028488,49.990645 -126.028230,49.990709 -126.027996,49.990810 -126.027816,49.990945 -126.027678,49.991103 -126.027534,49.991258 -126.027393,49.991413 -126.027304,49.991582 -126.027246,49.991759 -126.027183,49.991934 -126.027128,49.992111 -126.027090,49.992289 -126.027061,49.992467 -126.027036,49.992647 -126.027009,49.992826 -126.026972,49.993004 -126.026909,49.993182 -126.026887,49.993358 -126.026952,49.993590 -126.027002,49.993767 -126.027044,49.993945 -126.027073,49.994124 -126.027089,49.994305 -126.027077,49.994484 -126.027025,49.994659 -126.026947,49.994832 -126.026860,49.995005 -126.026783,49.995178 -126.026734,49.995354 -126.026724,49.995534 -126.026747,49.995714 -126.026809,49.995890 -126.026894,49.996065 -126.026952,49.996240 -126.026945,49.996416 -126.026891,49.996593 -126.026809,49.996768 -126.026716,49.996938 -126.026584,49.997099 -126.026411,49.997237 -126.026166,49.997327 -126.025914,49.997405 -126.025733,49.997540 -126.025554,49.997677 -126.025349,49.997785 -126.025238,49.997951 -126.025080,49.998099 -126.024875,49.998219 -126.024609,49.998262 -126.024387,49.998374 -126.024179,49.998486 -126.023924,49.998559 -126.023683,49.998650 -126.023448,49.998742 -126.023188,49.998809 -126.022914,49.998840 -126.022639,49.998869 -126.022373,49.998920 -126.022111,49.998973 -126.021848,49.999026 -126.021592,49.999097 -126.021331,49.999161 -126.021075,49.999232 -126.020823,49.999309 -126.020579,49.999396 -126.020364,49.999510 -126.020169,49.999639 -126.019982,49.999771 -126.019763,49.999883 -126.019552,50.000000 -126.019456,50.000052 -126.019309,50.000174 -126.019149,50.000269 -126.018921,50.000353 -126.018751,50.000394 -126.018551,50.000460 -126.018438,50.000484 -126.018223,50.000569 -126.018051,50.000645 -126.017805,50.000792 -126.016999,50.001546 -126.016268,50.002000 -126.015565,50.002309 -126.015142,50.002427 -126.014246,50.002543 -126.012892,50.002764 -126.010282,50.003002 -126.008181,50.002869 -126.007527,50.002853 -126.006746,50.002926 -126.005974,50.003365 -126.005604,50.003525 -126.005259,50.004036 -126.004841,50.004381 -126.004399,50.004726 -126.003795,50.005160 -126.003269,50.005681 -126.002698,50.006318 -126.002685,50.006451 -126.002444,50.007631 -126.001842,50.008559 -126.001731,50.008875 -126.001334,50.010003 -126.000597,50.010415 -126.000000,50.010611 -125.999722,50.010614 -125.999442,50.010614 -125.999164,50.010591 -125.998895,50.010543 -125.998675,50.010437 -125.998482,50.010303 -125.998307,50.010163 -125.998135,50.010021 -125.997947,50.009889 -125.997756,50.009758 -125.997576,50.009619 -125.997403,50.009477 -125.997210,50.009349 -125.996978,50.009251 -125.996729,50.009166 -125.996497,50.009067 -125.996296,50.008943 -125.996108,50.008810 -125.995917,50.008678 -125.995722,50.008549 -125.995527,50.008420 -125.995330,50.008293 -125.995126,50.008170 -125.994910,50.008057 -125.994690,50.007945 -125.994481,50.007826 -125.994291,50.007696 -125.994111,50.007558 -125.993940,50.007415 -125.993778,50.007269 -125.993625,50.007118 -125.993473,50.006967 -125.993312,50.006821 -125.993132,50.006683 -125.992951,50.006546 -125.992790,50.006400 -125.992648,50.006245 -125.992514,50.006087 -125.992377,50.005930 -125.992229,50.005778 -125.992068,50.005632 -125.991900,50.005488 -125.991728,50.005346 -125.991557,50.005204 -125.991394,50.005057 -125.991233,50.004907 -125.991066,50.004761 -125.990883,50.004628 -125.990675,50.004512 -125.990447,50.004411 -125.990206,50.004319 -125.989957,50.004233 -125.989706,50.004150 -125.989456,50.004071 -125.989194,50.004007 -125.988933,50.003942 -125.988691,50.003856 -125.988481,50.003737 -125.988263,50.003624 -125.988025,50.003531 -125.987779,50.003445 -125.987530,50.003364 -125.987274,50.003291 -125.987024,50.003211 -125.986788,50.003117 -125.986559,50.003015 -125.986332,50.002909 -125.986104,50.002805 -125.985869,50.002708 -125.985622,50.002621 -125.985382,50.002529 -125.985172,50.002414 -125.985000,50.002269 -125.984834,50.002121 -125.984637,50.002001 -125.984386,50.001929 -125.984110,50.001880 -125.983832,50.001835 -125.983576,50.001775 -125.983413,50.001633 -125.983274,50.001471 -125.983119,50.001320 -125.982915,50.001203 -125.982669,50.001113 -125.982406,50.001044 -125.982140,50.000993 -125.981864,50.000960 -125.981585,50.000941 -125.981306,50.000938 -125.981027,50.000962 -125.980760,50.001009 -125.980501,50.001077 -125.980247,50.001153 -125.979994,50.001230 -125.979744,50.001309 -125.979495,50.001390 -125.979245,50.001471 -125.978995,50.001550 -125.978743,50.001627 -125.978488,50.001699 -125.978230,50.001769 -125.977973,50.001839 -125.977716,50.001908 -125.977459,50.001977 -125.977200,50.002045 -125.976941,50.002111 -125.976681,50.002177 -125.976419,50.002239 -125.976152,50.002291 -125.975870,50.002325 -125.975580,50.002350 -125.975300,50.002382 -125.975044,50.002436 -125.974835,50.002531 -125.974693,50.002682 -125.974577,50.002858 -125.974441,50.003021 -125.974254,50.003155 -125.974030,50.003263 -125.973793,50.003356 -125.973547,50.003443 -125.973299,50.003526 -125.973050,50.003606 -125.972796,50.003682 -125.972542,50.003755 -125.972289,50.003832 -125.972041,50.003914 -125.971795,50.003998 -125.971549,50.004083 -125.971301,50.004166 -125.971053,50.004250 -125.970805,50.004339 -125.970556,50.004422 -125.970300,50.004489 -125.970034,50.004529 -125.969757,50.004537 -125.969474,50.004530 -125.969192,50.004529 -125.968912,50.004541 -125.968637,50.004572 -125.968376,50.004633 -125.968119,50.004705 -125.967864,50.004782 -125.967608,50.004855 -125.967349,50.004918 -125.967079,50.004942 -125.966796,50.004922 -125.966518,50.004910 -125.966239,50.004901 -125.965961,50.004907 -125.965681,50.004912 -125.965404,50.004918 -125.965140,50.004978 -125.964889,50.005057 -125.964649,50.005150 -125.964436,50.005265 -125.964239,50.005392 -125.964047,50.005523 -125.963848,50.005650 -125.963649,50.005779 -125.963441,50.005900 -125.963210,50.005995 -125.962946,50.006059 -125.962671,50.006096 -125.962389,50.006117 -125.962105,50.006121 -125.961835,50.006097 -125.961599,50.006003 -125.961406,50.005868 -125.961269,50.005708 -125.961107,50.005564 -125.960881,50.005458 -125.960632,50.005366 -125.960394,50.005269 -125.960200,50.005151 -125.960101,50.004983 -125.960046,50.004801 -125.960041,50.004621 -125.960026,50.004438 -125.959955,50.004267 -125.959821,50.004112 -125.959672,50.003959 -125.959513,50.003810 -125.959349,50.003663 -125.959173,50.003524 -125.958971,50.003400 -125.958837,50.003242 -125.958718,50.003077 -125.958583,50.002920 -125.958407,50.002785 -125.958194,50.002668 -125.957969,50.002558 -125.957764,50.002436 -125.957605,50.002289 -125.957397,50.002168 -125.957168,50.002066 -125.956955,50.001949 -125.956710,50.001865 -125.956463,50.001784 -125.956269,50.001654 -125.956107,50.001504 -125.956099,50.001330 -125.956117,50.001150 -125.956061,50.000974 -125.956017,50.000796 -125.955938,50.000624 -125.955831,50.000458 -125.955725,50.000291 -125.955491,50.000000 -125.955173,49.999819 -125.954950,49.999681 -125.954747,49.999518 -125.954487,49.999405 -125.954301,49.999390 -125.954111,49.999435 -125.953969,49.999498 -125.953735,49.999563 -125.953636,49.999576 -125.953413,49.999576 -125.953152,49.999593 -125.953083,49.999595 -125.952851,49.999581 -125.952613,49.999587 -125.952368,49.999603 -125.952218,49.999671 -125.951859,49.999824 -125.951581,49.999935 -125.951508,50.000000 -125.951471,50.000032 -125.951297,50.000076 -125.951137,50.000090 -125.950951,50.000070 -125.950835,50.000063 -125.950614,50.000034 -125.950498,50.000017 -125.950447,50.000000 -125.950364,49.999971 -125.950260,49.999904 -125.950155,49.999818 -125.950065,49.999736 -125.949893,49.999686 -125.949677,49.999681 -125.949456,49.999707 -125.949257,49.999732 -125.949074,49.999751 -125.949006,49.999778 -125.948810,49.999837 -125.948559,49.999893 -125.948350,50.000000 -125.948121,50.000103 -125.947933,50.000235 -125.947679,50.000299 -125.947433,50.000215 -125.947162,50.000181 -125.946890,50.000222 -125.946627,50.000282 -125.946365,50.000339 -125.946090,50.000358 -125.945815,50.000341 -125.945543,50.000295 -125.945279,50.000342 -125.945033,50.000427 -125.944774,50.000492 -125.944507,50.000545 -125.944239,50.000594 -125.943968,50.000638 -125.943693,50.000670 -125.943415,50.000693 -125.943139,50.000720 -125.942870,50.000765 -125.942609,50.000825 -125.942351,50.000894 -125.942097,50.000969 -125.941844,50.001048 -125.941594,50.001128 -125.941346,50.001209 -125.941099,50.001293 -125.940853,50.001379 -125.940610,50.001467 -125.940369,50.001558 -125.940131,50.001651 -125.939893,50.001747 -125.939662,50.001850 -125.939445,50.001962 -125.939249,50.002088 -125.939067,50.002226 -125.938900,50.002373 -125.938751,50.002524 -125.938649,50.002689 -125.938591,50.002867 -125.938521,50.003045 -125.938453,50.003224 -125.938341,50.003384 -125.938160,50.003513 -125.937938,50.003624 -125.937706,50.003731 -125.937493,50.003849 -125.937315,50.003986 -125.937152,50.004134 -125.936988,50.004280 -125.936806,50.004414 -125.936564,50.004506 -125.936344,50.004620 -125.936132,50.004745 -125.935898,50.004834 -125.935633,50.004873 -125.935355,50.004889 -125.935070,50.004896 -125.934787,50.004907 -125.934514,50.004938 -125.934261,50.005010 -125.934018,50.005103 -125.933766,50.005183 -125.933500,50.005253 -125.933250,50.005334 -125.933045,50.005445 -125.932884,50.005590 -125.932754,50.005754 -125.932640,50.005922 -125.932552,50.006091 -125.932491,50.006268 -125.932414,50.006441 -125.932325,50.006615 -125.932222,50.006784 -125.932074,50.006931 -125.931854,50.007039 -125.931611,50.007137 -125.931430,50.007269 -125.931303,50.007431 -125.931076,50.007540 -125.930860,50.007651 -125.930735,50.007807 -125.930638,50.007978 -125.930558,50.008153 -125.930487,50.008328 -125.930434,50.008505 -125.930391,50.008684 -125.930344,50.008861 -125.930280,50.009035 -125.930142,50.009196 -125.929997,50.009349 -125.930039,50.009515 -125.930155,50.009688 -125.930174,50.009867 -125.930162,50.010050 -125.930115,50.010228 -125.930017,50.010392 -125.929867,50.010546 -125.929702,50.010694 -125.929536,50.010838 -125.929359,50.010978 -125.929177,50.011114 -125.928964,50.011236 -125.928787,50.011370 -125.928673,50.011537 -125.928600,50.011715 -125.928597,50.011890 -125.928670,50.012062 -125.928774,50.012233 -125.928855,50.012407 -125.928890,50.012585 -125.928906,50.012765 -125.928922,50.012945 -125.928959,50.013123 -125.929055,50.013296 -125.929127,50.013467 -125.929105,50.013649 -125.929021,50.013826 -125.928860,50.013963 -125.928624,50.014059 -125.928374,50.014152 -125.928166,50.014271 -125.927977,50.014403 -125.927796,50.014541 -125.927617,50.014680 -125.927436,50.014818 -125.927248,50.014951 -125.927048,50.015075 -125.926838,50.015192 -125.926623,50.015306 -125.926404,50.015417 -125.926182,50.015526 -125.925957,50.015633 -125.925730,50.015739 -125.925502,50.015844 -125.925274,50.015947 -125.925045,50.016050 -125.924816,50.016153 -125.924580,50.016250 -125.924338,50.016341 -125.924094,50.016430 -125.923854,50.016522 -125.923622,50.016621 -125.923406,50.016733 -125.923213,50.016861 -125.923031,50.016999 -125.922850,50.017137 -125.922657,50.017267 -125.922456,50.017397 -125.922254,50.017528 -125.922045,50.017652 -125.921823,50.017758 -125.921583,50.017834 -125.921313,50.017866 -125.921024,50.017869 -125.920732,50.017867 -125.920453,50.017885 -125.920203,50.017945 -125.919983,50.018046 -125.919781,50.018172 -125.919585,50.018309 -125.919385,50.018441 -125.919177,50.018563 -125.918972,50.018688 -125.918761,50.018808 -125.918535,50.018910 -125.918288,50.018987 -125.918026,50.019050 -125.917756,50.019101 -125.917481,50.019143 -125.917208,50.019180 -125.916933,50.019206 -125.916655,50.019224 -125.916375,50.019237 -125.915995,50.019257 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-126.263330,49.411537 -125.628906,49.585209</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-125.795149,49.416918 -125.795357,49.417097 -125.795585,49.417401 -125.795758,49.417655 -125.796142,49.417921 -125.796867,49.418145 -125.797457,49.418319 -125.798101,49.418510 -125.798722,49.418887 -125.798731,49.418917 -125.798952,49.419100 -125.799175,49.419319 -125.799474,49.419466 -125.799776,49.419683 -125.800000,49.419807 -125.800117,49.419872 -125.800522,49.420035 -125.800937,49.420145 -125.801359,49.420152 -125.801801,49.420038 -125.802294,49.419906 -125.802528,49.419831 -125.802942,49.419701 -125.803564,49.419746 -125.803992,49.419847 -125.804452,49.420042 -125.804708,49.420139 -125.805151,49.420283 -125.805582,49.420228 -125.805688,49.420153 -125.805813,49.420089 -125.806417,49.420090 -125.806692,49.420107 -125.806966,49.420126 -125.807241,49.420137 -125.807517,49.420141 -125.807793,49.420141 -125.808068,49.420134 -125.808339,49.420101 -125.808587,49.420022 -125.808848,49.419975 -125.809123,49.419951 -125.809396,49.419926 -125.809669,49.419893 -125.809941,49.419896 -125.810214,49.419929 -125.810488,49.419953 -125.810758,49.419989 -125.811016,49.420051 -125.811237,49.420159 -125.811487,49.420234 -125.811753,49.420285 -125.812024,49.420316 -125.812299,49.420311 -125.812574,49.420290 -125.812847,49.420266 -125.813115,49.420225 -125.813379,49.420173 -125.813634,49.420103 -125.813900,49.420058 -125.814173,49.420031 -125.814448,49.420028 -125.814724,49.420038 -125.815001,49.420044 -125.815274,49.420034 -125.815537,49.419978 -125.815793,49.419911 -125.816044,49.419837 -125.816293,49.419759 -125.816529,49.419666 -125.816750,49.419560 -125.816965,49.419445 -125.817211,49.419368 -125.817472,49.419308 -125.817486,49.419308 -125.817582,49.419297 -125.817775,49.419301 -125.817968,49.419296 -125.818175,49.419300 -125.818341,49.419305 -125.818564,49.419345 -125.818618,49.419334 -125.818716,49.419350 -125.818815,49.419393 -125.819068,49.419476 -125.819123,49.419484 -125.819138,49.419493 -125.819222,49.419527 -125.819323,49.419605 -125.819413,49.419720 -125.819499,49.419781 -125.819599,49.419841 -125.819726,49.419892 -125.819810,49.419908 -125.819823,49.419899 -125.819878,49.419906 -125.820004,49.419930 -125.820156,49.419945 -125.820350,49.419949 -125.820543,49.419944 -125.820751,49.419966 -125.820836,49.420009 -125.820908,49.420061 -125.820995,49.420140 -125.821140,49.420253 -125.821241,49.420332 -125.821300,49.420412 -125.821334,49.420519 -125.821363,49.420545 -125.821496,49.420695 -125.821813,49.420696 -125.822155,49.420652 -125.822308,49.420653 -125.822649,49.420830 -125.822641,49.421054 -125.822438,49.421247 -125.822454,49.421283 -125.822471,49.421346 -125.822479,49.421489 -125.822556,49.421631 -125.822586,49.421676 -125.822616,49.421711 -125.822661,49.421773 -125.822693,49.421844 -125.822726,49.421951 -125.822734,49.422077 -125.822765,49.422148 -125.822810,49.422210 -125.822926,49.422306 -125.823026,49.422358 -125.823113,49.422445 -125.823142,49.422463 -125.823339,49.422530 -125.823464,49.422554 -125.823658,49.422558 -125.824093,49.422457 -125.824190,49.422464 -125.824274,49.422480 -125.824359,49.422523 -125.824517,49.422636 -125.824576,49.422698 -125.824687,49.422704 -125.824881,49.422726 -125.825089,49.422739 -125.825186,49.422746 -125.825227,49.422754 -125.825645,49.422825 -125.826129,49.422937 -125.826738,49.423016 -125.827395,49.423104 -125.827765,49.423125 -125.827773,49.423123 -125.827949,49.423083 -125.828060,49.423080 -125.828252,49.423067 -125.828469,49.422998 -125.828562,49.422942 -125.828613,49.422869 -125.828661,49.422751 -125.828664,49.422562 -125.828676,49.422525 -125.828778,49.422388 -125.828778,49.422379 -125.829072,49.422219 -125.829154,49.422199 -125.829316,49.422150 -125.829343,49.422140 -125.829423,49.422093 -125.829734,49.421978 -125.829814,49.421931 -125.829840,49.421903 -125.829853,49.421894 -125.829905,49.421838 -125.829972,49.421792 -125.829998,49.421764 -125.830037,49.421736 -125.830063,49.421709 -125.830105,49.421708 -125.830243,49.421713 -125.830395,49.421728 -125.830450,49.421726 -125.830547,49.421733 -125.830824,49.421753 -125.830853,49.421770 -125.830921,49.421751 -125.831175,49.421618 -125.831255,49.421563 -125.831323,49.421543 -125.831542,49.421528 -125.831638,49.421508 -125.831909,49.421430 -125.831964,49.421428 -125.832005,49.421418 -125.832241,49.421439 -125.832406,49.421444 -125.832744,49.421562 -125.832957,49.421665 -125.833030,49.421735 -125.833086,49.421743 -125.833308,49.421782 -125.833546,49.421830 -125.833714,49.421871 -125.833907,49.421875 -125.834238,49.421876 -125.834402,49.421845 -125.834785,49.421800 -125.834909,49.421797 -125.835240,49.421798 -125.835365,49.421804 -125.835434,49.421811 -125.835490,49.421828 -125.835617,49.421878 -125.835897,49.421943 -125.836136,49.422028 -125.836404,49.422129 -125.836659,49.422240 -125.836728,49.422256 -125.836743,49.422274 -125.836813,49.422281 -125.836956,49.422367 -125.837025,49.422384 -125.837328,49.422376 -125.837616,49.422342 -125.837947,49.422334 -125.838182,49.422346 -125.838278,49.422344 -125.838397,49.422251 -125.838572,49.422175 -125.838773,49.422071 -125.839042,49.421965 -125.839205,49.421907 -125.839463,49.421847 -125.839572,49.421817 -125.839653,49.421788 -125.839694,49.421778 -125.839885,49.421756 -125.839900,49.421764 -125.839931,49.421737 -125.840035,49.421727 -125.840217,49.421661 -125.840451,49.421671 -125.840523,49.421715 -125.840699,49.421938 -125.840944,49.422152 -125.841067,49.422271 -125.841161,49.422488 -125.841356,49.422643 -125.841430,49.422710 -125.841404,49.422862 -125.841320,49.423016 -125.841246,49.423147 -125.841237,49.423390 -125.841155,49.423590 -125.841072,49.423766 -125.841025,49.423957 -125.841039,49.424200 -125.841184,49.424500 -125.841476,49.424720 -125.841682,49.424860 -125.841949,49.425050 -125.842156,49.425205 -125.842283,49.425392 -125.842236,49.425582 -125.842059,49.425820 -125.842051,49.425823 -125.842013,49.425878 -125.841918,49.426150 -125.841894,49.426196 -125.841828,49.426260 -125.841668,49.426354 -125.841627,49.426364 -125.841629,49.426400 -125.841616,49.426409 -125.841614,49.426616 -125.841632,49.426688 -125.841677,49.426750 -125.841735,49.426802 -125.841825,49.426926 -125.841957,49.427058 -125.842113,49.427135 -125.842381,49.427236 -125.842423,49.427244 -125.842594,49.427339 -125.842741,49.427379 -125.842936,49.427513 -125.843014,49.427655 -125.843089,49.427744 -125.843156,49.427895 -125.843226,49.428105 -125.843328,49.428255 -125.843409,49.428450 -125.843440,49.428594 -125.843418,49.428807 -125.843417,49.428924 -125.843404,49.428938 -125.843392,49.428975 -125.843399,49.429100 -125.843383,49.429290 -125.843385,49.429326 -125.843401,49.429361 -125.843446,49.429432 -125.843578,49.429564 -125.843710,49.429704 -125.843726,49.429731 -125.844007,49.429823 -125.844274,49.429916 -125.844566,49.429944 -125.844692,49.429986 -125.844933,49.430037 -125.845165,49.430032 -125.845384,49.430023 -125.845398,49.430023 -125.845490,49.429949 -125.845503,49.429939 -125.845586,49.429937 -125.845626,49.429918 -125.845722,49.429907 -125.846080,49.429898 -125.846205,49.429913 -125.846304,49.429947 -125.846345,49.429954 -125.846539,49.429959 -125.846830,49.429988 -125.847161,49.429979 -125.847478,49.429981 -125.847533,49.429979 -125.847840,49.430035 -125.848051,49.430101 -125.848149,49.430135 -125.848232,49.430133 -125.848351,49.430049 -125.848377,49.430012 -125.848563,49.429900 -125.848788,49.429732 -125.848801,49.429723 -125.848801,49.429714 -125.848839,49.429659 -125.848867,49.429629 -125.849015,49.429576 -125.849269,49.429547 -125.849525,49.429533 -125.849832,49.429617 -125.850053,49.429619 -125.850308,49.429590 -125.850573,49.429553 -125.850836,49.429471 -125.851200,49.429314 -125.851353,49.429246 -125.851355,49.429250 -125.851428,49.429230 -125.851511,49.429186 -125.851593,49.429132 -125.851631,49.429051 -125.851628,49.429002 -125.851614,49.428940 -125.851561,49.428854 -125.851546,49.428785 -125.851522,49.428678 -125.851522,49.428603 -125.851515,49.428469 -125.851497,49.428397 -125.851494,49.428352 -125.851452,49.428119 -125.851459,49.427939 -125.851453,49.427759 -125.851548,49.427592 -125.851629,49.427382 -125.851682,49.427313 -125.851797,49.427148 -125.851836,49.427111 -125.851850,49.427111 -125.851863,49.427101 -125.851876,49.427083 -125.851900,49.427020 -125.851911,49.426983 -125.852027,49.426836 -125.852128,49.426681 -125.852218,49.426571 -125.852338,49.426496 -125.852458,49.426430 -125.852578,49.426355 -125.852790,49.426206 -125.853003,49.426066 -125.853108,49.425973 -125.853296,49.425888 -125.853456,49.425794 -125.853521,49.425729 -125.853548,49.425710 -125.853612,49.425637 -125.853650,49.425621 -125.853790,49.425613 -125.854017,49.425615 -125.854250,49.425617 -125.854469,49.425569 -125.854654,49.425546 -125.854803,49.425519 -125.855047,49.425506 -125.855267,49.425493 -125.855424,49.425484 -125.855548,49.425472 -125.855630,49.425461 -125.855726,49.425459 -125.856015,49.425442 -125.856286,49.425364 -125.856507,49.425367 -125.856672,49.425354 -125.856861,49.425296 -125.857037,49.425237 -125.857131,49.425190 -125.857199,49.425179 -125.857323,49.425167 -125.857405,49.425156 -125.857459,49.425137 -125.857500,49.425127 -125.857607,49.425070 -125.857702,49.425041 -125.857865,49.425001 -125.857975,49.424989 -125.858238,49.425019 -125.858363,49.425025 -125.858624,49.425009 -125.858706,49.424989 -125.858746,49.424970 -125.858800,49.424951 -125.859028,49.424846 -125.859358,49.424820 -125.859856,49.424844 -125.859953,49.424850 -125.860104,49.424847 -125.860173,49.424854 -125.860269,49.424842 -125.860366,49.424840 -125.860449,49.424856 -125.860643,49.424869 -125.860838,49.424891 -125.861045,49.424904 -125.861183,49.424901 -125.861280,49.424916 -125.861377,49.424923 -125.861599,49.424935 -125.861821,49.424957 -125.861876,49.424956 -125.862083,49.424968 -125.862277,49.424973 -125.862596,49.425001 -125.862735,49.425024 -125.862943,49.425037 -125.863037,49.425008 -125.863215,49.424985 -125.863381,49.424990 -125.863617,49.425011 -125.863810,49.425016 -125.864059,49.425027 -125.864169,49.425025 -125.864456,49.424982 -125.864511,49.424971 -125.864552,49.424961 -125.864660,49.424932 -125.864809,49.424883 -125.864998,49.424815 -125.865163,49.424802 -125.865480,49.424794 -125.865577,49.424801 -125.865812,49.424813 -125.866020,49.424826 -125.866214,49.424839 -125.866297,49.424846 -125.866367,49.424862 -125.866451,49.424887 -125.866688,49.424935 -125.866799,49.424950 -125.867048,49.424962 -125.867117,49.424961 -125.867226,49.424931 -125.867387,49.424855 -125.867618,49.424795 -125.867769,49.424791 -125.867810,49.424781 -125.868154,49.424773 -125.868208,49.424754 -125.868412,49.424704 -125.868630,49.424644 -125.868738,49.424605 -125.868884,49.424521 -125.869099,49.424408 -125.869112,49.424407 -125.869126,49.424398 -125.869288,49.424340 -125.869368,49.424302 -125.869540,49.424181 -125.869799,49.424120 -125.869853,49.424101 -125.869881,49.424100 -125.869949,49.424090 -125.870127,49.424067 -125.870291,49.424045 -125.870372,49.424007 -125.870450,49.423933 -125.870552,49.423787 -125.870680,49.423622 -125.870825,49.423510 -125.871009,49.423344 -125.871206,49.423177 -125.871285,49.423112 -125.871428,49.422973 -125.871533,49.422872 -125.871772,49.422722 -125.872037,49.422526 -125.872197,49.422441 -125.872238,49.422422 -125.872333,49.422402 -125.872481,49.422344 -125.872712,49.422276 -125.872830,49.422174 -125.873041,49.422015 -125.873220,49.422002 -125.873353,49.421918 -125.873610,49.421830 -125.873772,49.421772 -125.873948,49.421714 -125.874057,49.421702 -125.874265,49.421724 -125.874391,49.421748 -125.874489,49.421782 -125.874503,49.421781 -125.874573,49.421788 -125.874669,49.421786 -125.874959,49.421797 -125.875209,49.421827 -125.875485,49.421820 -125.875830,49.421829 -125.875954,49.421826 -125.876132,49.421813 -125.876354,49.421825 -125.876588,49.421828 -125.876684,49.421817 -125.876752,49.421797 -125.876834,49.421786 -125.876970,49.421756 -125.877188,49.421696 -125.877393,49.421664 -125.877517,49.421661 -125.877752,49.421673 -125.877986,49.421676 -125.878041,49.421675 -125.878082,49.421665 -125.878316,49.421659 -125.878580,49.421680 -125.878857,49.421700 -125.878912,49.421698 -125.879105,49.421703 -125.879313,49.421715 -125.879434,49.421667 -125.879596,49.421609 -125.879649,49.421572 -125.879714,49.421507 -125.879805,49.421406 -125.879944,49.421196 -125.880156,49.421038 -125.880277,49.420990 -125.880399,49.420960 -125.880561,49.420893 -125.880736,49.420816 -125.881060,49.420700 -125.881183,49.420679 -125.881306,49.420667 -125.881401,49.420647 -125.881469,49.420618 -125.881602,49.420543 -125.881668,49.420496 -125.881790,49.420448 -125.881883,49.420401 -125.881964,49.420363 -125.882086,49.420324 -125.882193,49.420267 -125.882272,49.420202 -125.882387,49.420055 -125.882452,49.419991 -125.882517,49.419917 -125.882594,49.419825 -125.882741,49.419741 -125.883099,49.419489 -125.883136,49.419416 -125.883162,49.419397 -125.883267,49.419305 -125.883293,49.419268 -125.883304,49.419232 -125.883304,49.419223 -125.883315,49.419186 -125.883337,49.419078 -125.883361,49.419023 -125.883397,49.418933 -125.883431,49.418806 -125.883451,49.418679 -125.883460,49.418598 -125.883485,49.418552 -125.883507,49.418462 -125.883571,49.418370 -125.883621,49.418279 -125.883656,49.418179 -125.883666,49.418116 -125.883690,49.418053 -125.883701,49.418007 -125.883714,49.417980 -125.883804,49.417870 -125.883909,49.417786 -125.884001,49.417712 -125.884053,49.417657 -125.884132,49.417592 -125.884238,49.417517 -125.884330,49.417434 -125.884423,49.417386 -125.884464,49.417367 -125.884517,49.417339 -125.884585,49.417310 -125.884637,49.417273 -125.884689,49.417218 -125.884782,49.417153 -125.884899,49.417024 -125.884951,49.416977 -125.885044,49.416912 -125.885069,49.416876 -125.885122,49.416829 -125.885264,49.416664 -125.885289,49.416627 -125.885342,49.416581 -125.885393,49.416526 -125.885565,49.416395 -125.885723,49.416265 -125.885750,49.416256 -125.885817,49.416227 -125.885922,49.416135 -125.886000,49.416052 -125.886077,49.415960 -125.886157,49.415904 -125.886251,49.415865 -125.886549,49.415777 -125.886711,49.415710 -125.886738,49.415700 -125.886803,49.415645 -125.886883,49.415589 -125.886950,49.415560 -125.887044,49.415522 -125.887084,49.415512 -125.887412,49.415357 -125.887610,49.415257 -125.887832,49.415061 -125.887964,49.414810 -125.888073,49.414674 -125.888114,49.414387 -125.888387,49.414056 -125.888484,49.413710 -125.888548,49.413308 -125.888614,49.412944 -125.888711,49.412599 -125.888632,49.412257 -125.888598,49.411678 -125.931696,49.411537 -125.931708,49.426687 -125.932383,49.427023 -125.932969,49.427498 -125.933253,49.427600 -125.933845,49.427712 -125.934836,49.427996 -125.935064,49.428081 -125.936277,49.428341 -125.937064,49.428466 -125.937761,49.428466 -125.938863,49.428275 -125.939131,49.428105 -125.939760,49.427907 -125.940121,49.427898 -125.940573,49.427995 -125.940999,49.428130 -125.941364,49.428193 -125.941896,49.428234 -125.942471,49.428074 -125.943041,49.427824 -125.943469,49.427540 -125.943710,49.427371 -125.944228,49.427185 -125.944399,49.427112 -125.944712,49.426921 -125.944866,49.426773 -125.945071,49.426507 -125.945188,49.426235 -125.945265,49.426040 -125.945458,49.425814 -125.945926,49.425504 -125.946283,49.425302 -125.946750,49.425223 -125.947262,49.425143 -125.948115,49.425092 -125.948598,49.425031 -125.948786,49.424969 -125.949235,49.424823 -125.949582,49.424698 -125.949784,49.424626 -125.950035,49.424619 -125.950069,49.424646 -125.950402,49.424657 -125.950608,49.424573 -125.950830,49.424488 -125.951077,49.424389 -125.951120,49.424393 -125.951228,49.424363 -125.951463,49.424357 -125.951546,49.424373 -125.951574,49.424381 -125.951644,49.424398 -125.951936,49.424435 -125.952185,49.424438 -125.952253,49.424436 -125.952322,49.424425 -125.952388,49.424388 -125.952442,49.424368 -125.952633,49.424327 -125.952715,49.424316 -125.952851,49.424286 -125.953125,49.424252 -125.953378,49.424326 -125.953491,49.424368 -125.953787,49.424478 -125.953971,49.424554 -125.954013,49.424562 -125.954208,49.424593 -125.954492,49.424739 -125.954690,49.424815 -125.954902,49.424899 -125.955173,49.425054 -125.955431,49.425209 -125.955783,49.425297 -125.955989,49.425321 -125.956186,49.425379 -125.956393,49.425392 -125.956599,49.425369 -125.956898,49.425298 -125.957131,49.425274 -125.957351,49.425259 -125.957805,49.425248 -125.957889,49.425255 -125.958237,49.425309 -125.958335,49.425333 -125.958521,49.425445 -125.958633,49.425478 -125.958839,49.425464 -125.958910,49.425439 -125.959178,49.425507 -125.959345,49.425599 -125.959610,49.425823 -125.959724,49.426003 -125.959878,49.426365 -125.959941,49.426671 -125.960017,49.426949 -125.960098,49.427312 -125.960269,49.427702 -125.960596,49.428233 -125.961197,49.429222 -125.961202,49.429233 -125.961361,49.429903 -125.961341,49.430558 -125.961361,49.431385 -125.961570,49.431900 -125.962046,49.432465 -125.962376,49.433034 -125.962569,49.433299 -125.962659,49.433816 -125.962803,49.434236 -125.962946,49.434656 -125.963341,49.434838 -125.964028,49.434974 -125.964715,49.435111 -125.965215,49.435079 -125.965800,49.434987 -125.966184,49.434996 -125.967195,49.435124 -125.968274,49.435385 -125.969307,49.435878 -125.969830,49.436231 -125.970521,49.436994 -125.971117,49.437915 -125.971305,49.438366 -125.971786,49.438756 -125.972230,49.439209 -125.972434,49.439484 -125.973017,49.439785 -125.973488,49.440246 -125.973999,49.440478 -125.974923,49.440638 -125.975277,49.440716 -125.976017,49.440741 -125.976610,49.440770 -125.977150,49.440817 -125.977948,49.440902 -125.978277,49.441016 -125.978666,49.441225 -125.978998,49.441387 -125.979600,49.441556 -125.980235,49.441618 -125.980989,49.441642 -125.981649,49.441669 -125.982520,49.441629 -125.982866,49.441568 -125.983229,49.441513 -125.983939,49.441330 -125.984688,49.441275 -125.985266,49.441278 -125.985496,49.441298 -125.986249,49.441524 -125.986896,49.441569 -125.987904,49.441569 -125.988755,49.441652 -125.989425,49.441836 -125.990088,49.442135 -125.990260,49.442314 -125.990604,49.442664 -125.990947,49.442997 -125.991375,49.443188 -125.992888,49.443551 -125.993774,49.443756 -125.994573,49.443849 -125.995172,49.443983 -125.995971,49.444304 -125.996352,49.444390 -125.997416,49.444433 -125.998126,49.444452 -125.999999,49.444477 -126.000354,49.444102 -126.000594,49.444011 -126.000834,49.443918 -126.001074,49.443828 -126.001317,49.443742 -126.001564,49.443665 -126.001818,49.443598 -126.002078,49.443543 -126.002344,49.443496 -126.002615,49.443455 -126.002889,49.443421 -126.003164,49.443393 -126.003439,49.443370 -126.003712,49.443351 -126.003982,49.443347 -126.004249,49.443399 -126.004518,49.443446 -126.004793,49.443465 -126.005070,49.443482 -126.005347,49.443495 -126.005623,49.443501 -126.005896,49.443497 -126.006159,49.443458 -126.006410,49.443375 -126.006681,49.443341 -126.006966,49.443333 -126.007249,49.443327 -126.007516,49.443298 -126.007749,49.443224 -126.007939,49.443095 -126.008115,49.442945 -126.008306,49.442811 -126.008536,49.442720 -126.008791,49.442656 -126.009059,49.442605 -126.009328,49.442554 -126.009588,49.442492 -126.009842,49.442419 -126.010095,49.442346 -126.010354,49.442285 -126.010620,49.442244 -126.010892,49.442213 -126.011167,49.442190 -126.011443,49.442174 -126.011718,49.442163 -126.011993,49.442161 -126.012269,49.442168 -126.012544,49.442180 -126.012820,49.442191 -126.012853,49.442192 -126.013096,49.442197 -126.013372,49.442201 -126.013648,49.442205 -126.013924,49.442209 -126.014199,49.442217 -126.014474,49.442229 -126.014748,49.442248 -126.015020,49.442276 -126.015290,49.442311 -126.015561,49.442347 -126.015832,49.442382 -126.016104,49.442410 -126.016378,49.442430 -126.016652,49.442450 -126.016927,49.442469 -126.017201,49.442488 -126.017475,49.442507 -126.017750,49.442526 -126.018024,49.442544 -126.018299,49.442562 -126.018574,49.442579 -126.018849,49.442595 -126.019124,49.442610 -126.019399,49.442625 -126.019674,49.442638 -126.019949,49.442650 -126.020224,49.442661 -126.020499,49.442671 -126.020774,49.442679 -126.021049,49.442683 -126.021326,49.442678 -126.021604,49.442666 -126.021882,49.442650 -126.022161,49.442631 -126.022438,49.442613 -126.022715,49.442598 -126.022991,49.442588 -126.023264,49.442586 -126.023536,49.442594 -126.023744,49.442611 -126.023804,49.442616 -126.024070,49.442650 -126.024334,49.442695 -126.024596,49.442749 -126.024856,49.442811 -126.025114,49.442879 -126.025370,49.442952 -126.025625,49.443028 -126.025878,49.443105 -126.026130,49.443182 -126.026380,49.443258 -126.026626,49.443338 -126.026868,49.443424 -126.027107,49.443514 -126.027345,49.443606 -126.027582,49.443699 -126.027820,49.443791 -126.028060,49.443880 -126.028303,49.443965 -126.028550,49.444044 -126.028801,49.444118 -126.029053,49.444190 -126.029306,49.444260 -126.029560,49.444330 -126.029815,49.444399 -126.030070,49.444466 -126.030326,49.444533 -126.030583,49.444600 -126.030840,49.444666 -126.031097,49.444731 -126.031354,49.444796 -126.031611,49.444861 -126.031869,49.444926 -126.032126,49.444991 -126.032383,49.445056 -126.032640,49.445121 -126.032897,49.445187 -126.033223,49.445272 -126.021893,49.428620 -126.029936,49.418731 -126.068393,49.419816 -126.095059,49.433567 -126.095162,49.434450 -126.095260,49.434621 -126.095346,49.434798 -126.095453,49.434965 -126.095652,49.435073 -126.095914,49.435141 -126.096166,49.435222 -126.096392,49.435325 -126.096612,49.435434 -126.096826,49.435548 -126.097032,49.435668 -126.097222,49.435797 -126.097397,49.435938 -126.097574,49.436076 -126.097778,49.436194 -126.098029,49.436272 -126.098278,49.436352 -126.098531,49.436425 -126.098797,49.436463 -126.099078,49.436455 -126.099334,49.436509 -126.099577,49.436596 -126.099808,49.436699 -126.100026,49.436808 -126.100239,49.436923 -126.100446,49.437042 -126.100648,49.437165 -126.100840,49.437293 -126.101010,49.437435 -126.101178,49.437578 -126.101363,49.437712 -126.101554,49.437841 -126.101736,49.437977 -126.101911,49.438117 -126.102060,49.438268 -126.102169,49.438432 -126.102261,49.438602 -126.102341,49.438775 -126.102415,49.438948 -126.102429,49.438994 -126.102468,49.439126 -126.102519,49.439303 -126.102652,49.439453 -126.102897,49.439534 -126.103148,49.439609 -126.103485,49.439710 -126.103891,49.439985 -126.104038,49.440138 -126.104180,49.440297 -126.104302,49.440460 -126.104387,49.440628 -126.104404,49.440802 -126.104364,49.440983 -126.104325,49.441165 -126.104327,49.441344 -126.104346,49.441524 -126.104361,49.441704 -126.104351,49.441883 -126.104321,49.442064 -126.104283,49.442244 -126.104250,49.442423 -126.104237,49.442600 -126.104303,49.442774 -126.104492,49.442905 -126.104711,49.443012 -126.104942,49.443113 -126.105172,49.443215 -126.105392,49.443324 -126.105598,49.443443 -126.105796,49.443569 -126.105984,49.443701 -126.106152,49.443846 -126.106349,49.443968 -126.106583,49.444062 -126.106830,49.444145 -126.107072,49.444232 -126.107316,49.444316 -126.107558,49.444403 -126.107795,49.444494 -126.108031,49.444588 -126.108263,49.444685 -126.108486,49.444790 -126.108696,49.444908 -126.108891,49.445035 -126.109072,49.445170 -126.109238,49.445314 -126.109401,49.445460 -126.109557,49.445609 -126.109731,49.445748 -126.109933,49.445869 -126.110151,49.445980 -126.110377,49.446085 -126.110603,49.446192 -126.110837,49.446294 -126.111083,49.446367 -126.111351,49.446396 -126.111633,49.446394 -126.111910,49.446371 -126.112174,49.446322 -126.112428,49.446244 -126.112654,49.446145 -126.112832,49.446005 -126.112967,49.445846 -126.113159,49.445720 -126.113388,49.445617 -126.113646,49.445532 -126.113907,49.445534 -126.114171,49.445598 -126.114422,49.445691 -126.114621,49.445810 -126.114761,49.445959 -126.114862,49.446131 -126.114937,49.446311 -126.114984,49.446487 -126.114967,49.446669 -126.114989,49.446847 -126.115057,49.447025 -126.115143,49.447200 -126.115260,49.447363 -126.115419,49.447503 -126.115618,49.447623 -126.115842,49.447732 -126.116075,49.447836 -126.116299,49.447944 -126.116517,49.448054 -126.116736,49.448163 -126.116955,49.448272 -126.117873,49.448649 -126.119010,49.448984 -126.119690,49.449095 -126.120511,49.449280 -126.121009,49.449411 -126.121931,49.449716 -126.122533,49.449943 -126.122881,49.450164 -126.123380,49.450294 -126.123742,49.450280 -126.124072,49.450194 -126.124622,49.450066 -126.125025,49.449982 -126.125533,49.449947 -126.126073,49.449984 -126.126533,49.450161 -126.126729,49.450519 -126.126822,49.450781 -126.126798,49.451181 -126.126669,49.451531 -126.126538,49.451929 -126.126296,49.452347 -126.125769,49.452711 -126.125354,49.453007 -126.125044,49.453353 -126.124957,49.453610 -126.124861,49.454008 -126.125012,49.454530 -126.125238,49.454984 -126.125642,49.455489 -126.126126,49.455878 -126.126690,49.456128 -126.127229,49.456334 -126.127255,49.456354 -126.127643,49.456562 -126.128444,49.457031 -126.128747,49.457282 -126.129217,49.457500 -126.129913,49.457626 -126.130318,49.458023 -126.130528,49.458217 -126.131068,49.458185 -126.131519,49.458016 -126.131987,49.457812 -126.132705,49.457605 -126.133123,49.457395 -126.133430,49.457096 -126.133699,49.456820 -126.133969,49.456544 -126.134413,49.456366 -126.134997,49.456263 -126.135686,49.456233 -126.136529,49.456042 -126.137078,49.455822 -126.137338,49.455750 -126.138254,49.455655 -126.139264,49.455617 -126.140029,49.455267 -126.140583,49.454768 -126.141041,49.454116 -126.141400,49.453813 -126.141966,49.453471 -126.143136,49.453300 -126.144083,49.453457 -126.145057,49.453726 -126.145454,49.453936 -126.145919,49.454170 -126.146513,49.454518 -126.147021,49.454575 -126.147682,49.454440 -126.148704,49.454177 -126.149386,49.453852 -126.150538,49.453737 -126.150622,49.453685 -126.150936,49.453582 -126.151363,49.453281 -126.151711,49.453010 -126.152150,49.452589 -126.152638,49.452016 -126.153249,49.451482 -126.153935,49.451076 -126.154822,49.450765 -126.155500,49.450260 -126.155858,49.450260 -126.156134,49.450265 -126.156405,49.450292 -126.156674,49.450334 -126.156939,49.450388 -126.157195,49.450454 -126.157439,49.450539 -126.157668,49.450640 -126.157876,49.450758 -126.158072,49.450885 -126.158276,49.451006 -126.158390,49.451069 -126.173103,49.450816 -126.215109,49.451386 -126.236772,49.453086 -126.246670,49.460208 -126.249366,49.467198 -126.253039,49.487727 -126.257482,49.498075 -126.253615,49.510660 -126.263330,49.522478 -126.260252,49.534789 -126.255054,49.539214 -126.255395,49.539563 -126.255533,49.539840 -126.255515,49.540163 -126.255573,49.540487 -126.255329,49.540755 -126.254888,49.541118 -126.254497,49.541282 -126.254077,49.541272 -126.253691,49.541338 -126.253187,49.541475 -126.252609,49.541561 -126.251876,49.541692 -126.251292,49.541877 -126.250660,49.542260 -126.250415,49.542528 -126.250206,49.542846 -126.250117,49.543068 -126.250099,49.543390 -126.250317,49.543595 -126.250440,49.544120 -126.250490,49.544593 -126.250458,49.545164 -126.250842,49.545820 -126.251054,49.546123 -126.251443,49.546561 -126.251940,49.547062 -126.252235,49.547826 -126.252810,49.548279 -126.253068,49.549043 -126.253117,49.549508 -126.253245,49.549902 -126.253072,49.550313 -126.252858,49.550772 -126.252184,49.551416 -126.251674,49.551795 -126.250885,49.552484 -126.250217,49.553006 -126.249826,49.553290 -126.249248,49.553545 -126.248705,49.553849 -126.248161,49.554178 -126.247586,49.554385 -126.247093,49.554471 -126.246449,49.554577 -126.245497,49.555007 -126.245434,49.554997 -126.245164,49.554960 -126.244883,49.554960 -126.244619,49.555004 -126.244391,49.555109 -126.244209,49.555247 -126.244039,49.555388 -126.243782,49.555452 -126.243511,49.555425 -126.243249,49.555408 -126.242986,49.555468 -126.242735,49.555550 -126.242531,49.555671 -126.242304,49.555775 -126.242039,49.555819 -126.241759,49.555815 -126.241484,49.555815 -126.241261,49.555917 -126.240971,49.556104 -126.240484,49.556214 -126.239948,49.556285 -126.239430,49.556291 -126.239085,49.556302 -126.238711,49.556312 -126.238250,49.556319 -126.237803,49.556355 -126.237315,49.556344 -126.236997,49.556373 -126.236689,49.556478 -126.236480,49.556623 -126.236322,49.556750 -126.235999,49.556873 -126.235688,49.557043 -126.235362,49.557204 -126.235059,49.557356 -126.234840,49.557416 -126.234405,49.557489 -126.234129,49.557548 -126.233693,49.557631 -126.233285,49.557724 -126.233108,49.557814 -126.233072,49.557934 -126.232995,49.558026 -126.232818,49.558115 -126.232569,49.558193 -126.232167,49.558184 -126.231739,49.558136 -126.231460,49.557980 -126.230902,49.557938 -126.230527,49.557957 -126.230116,49.557863 -126.229794,49.557706 -126.229343,49.557555 -126.229033,49.557445 -126.228559,49.557190 -126.228098,49.556955 -126.227809,49.556724 -126.227649,49.556514 -126.227461,49.556285 -126.227276,49.556001 -126.227146,49.555754 -126.226890,49.555431 -126.226496,49.555169 -126.225802,49.554741 -126.225275,49.554410 -126.224909,49.554270 -126.224399,49.554146 -126.223519,49.553957 -126.222575,49.553878 -126.221833,49.553785 -126.221201,49.553789 -126.220297,49.554010 -126.219824,49.554242 -126.219329,49.554361 -126.218769,49.554609 -126.218075,49.554686 -126.217670,49.554732 -126.217186,49.554646 -126.216597,49.554436 -126.215105,49.553586 -126.214606,49.553275 -126.213791,49.552956 -126.213364,49.552871 -126.212999,49.552731 -126.212406,49.552549 -126.211870,49.552368 -126.210671,49.552227 -126.209723,49.552222 -126.209003,49.552242 -126.208479,49.552361 -126.207892,49.552589 -126.206920,49.552996 -126.206728,49.553082 -126.206519,49.553203 -126.206358,49.553343 -126.206261,49.553509 -126.206198,49.553688 -126.206136,49.553864 -126.206079,49.554040 -126.206026,49.554217 -126.205973,49.554393 -126.205918,49.554569 -126.205862,49.554746 -126.205809,49.554923 -126.205757,49.555101 -126.205634,49.555258 -126.205454,49.555396 -126.205263,49.555528 -126.205071,49.555658 -126.204870,49.555782 -126.204654,49.555893 -126.204416,49.555986 -126.204169,49.556066 -126.203911,49.556133 -126.203645,49.556181 -126.203369,49.556204 -126.203100,49.556241 -126.202847,49.556311 -126.202600,49.556394 -126.202358,49.556482 -126.202128,49.556587 -126.201864,49.556623 -126.201581,49.556619 -126.201311,49.556644 -126.201064,49.556719 -126.200828,49.556816 -126.200592,49.556914 -126.200359,49.557011 -126.200128,49.557109 -126.200000,49.557162 -126.199894,49.557206 -126.199660,49.557307 -126.199420,49.557394 -126.199159,49.557436 -126.198877,49.557435 -126.198605,49.557464 -126.198332,49.557493 -126.198058,49.557517 -126.197782,49.557531 -126.197505,49.557539 -126.197229,49.557541 -126.196953,49.557533 -126.196677,49.557516 -126.196402,49.557492 -126.196131,49.557457 -126.195870,49.557399 -126.195627,49.557311 -126.195397,49.557211 -126.195179,49.557100 -126.194981,49.556975 -126.194806,49.556836 -126.194639,49.556692 -126.194465,49.556552 -126.194283,49.556416 -126.194077,49.556295 -126.193858,49.556184 -126.193618,49.556099 -126.193356,49.556037 -126.193086,49.555994 -126.192812,49.555967 -126.192534,49.555956 -126.192261,49.555967 -126.191816,49.556059 -126.191456,49.556054 -126.191175,49.556080 -126.190907,49.556119 -126.190665,49.556191 -126.190450,49.556307 -126.190268,49.556450 -126.190124,49.556603 -126.190008,49.556766 -126.189912,49.556937 -126.189831,49.557110 -126.189791,49.557286 -126.189794,49.557467 -126.189790,49.557648 -126.189779,49.557827 -126.189734,49.558004 -126.189651,49.558176 -126.189563,49.558348 -126.189461,49.558516 -126.189320,49.558668 -126.189139,49.558804 -126.188942,49.558932 -126.188744,49.559058 -126.188538,49.559178 -126.188340,49.559303 -126.188159,49.559438 -126.187949,49.559555 -126.187736,49.559671 -126.187528,49.559789 -126.187326,49.559912 -126.187120,49.560035 -126.186916,49.560159 -126.186720,49.560287 -126.186540,49.560421 -126.186386,49.560566 -126.186284,49.560732 -126.186206,49.560908 -126.186111,49.561078 -126.185959,49.561229 -126.185839,49.561391 -126.185727,49.561556 -126.185618,49.561723 -126.185521,49.561892 -126.185439,49.562062 -126.185398,49.562237 -126.185404,49.562419 -126.185401,49.562600 -126.185348,49.562776 -126.185266,49.562948 -126.185167,49.563117 -126.185049,49.563279 -126.184854,49.563516 -126.184837,49.563791 -126.184881,49.563968 -126.184954,49.564141 -126.185032,49.564314 -126.185103,49.564488 -126.185173,49.564664 -126.185193,49.564841 -126.185137,49.565017 -126.185078,49.565194 -126.185071,49.565373 -126.185082,49.565553 -126.185105,49.565733 -126.185133,49.565912 -126.185176,49.566090 -126.185231,49.566268 -126.185275,49.566445 -126.185289,49.566623 -126.185273,49.566803 -126.185236,49.566982 -126.185183,49.567160 -126.185115,49.567334 -126.185028,49.567507 -126.184916,49.567673 -126.184774,49.567823 -126.184574,49.567949 -126.184351,49.568059 -126.184118,49.568164 -126.183858,49.568205 -126.183583,49.568199 -126.183302,49.568181 -126.183025,49.568177 -126.182748,49.568176 -126.182471,49.568177 -126.182196,49.568184 -126.181924,49.568215 -126.181655,49.568258 -126.181385,49.568309 -126.181116,49.568345 -126.180841,49.568331 -126.180561,49.568276 -126.180300,49.568268 -126.180058,49.568342 -126.179831,49.568456 -126.179625,49.568584 -126.179471,49.568731 -126.179344,49.568894 -126.179153,49.569019 -126.178917,49.569118 -126.178692,49.569222 -126.178468,49.569328 -126.178234,49.569423 -126.177992,49.569511 -126.177757,49.569606 -126.177524,49.569702 -126.177294,49.569802 -126.177076,49.569916 -126.176841,49.570007 -126.176586,49.570073 -126.176323,49.570130 -126.176057,49.570183 -126.175791,49.570234 -126.175526,49.570286 -126.175258,49.570332 -126.174986,49.570364 -126.174713,49.570385 -126.174437,49.570403 -126.174161,49.570418 -126.173885,49.570429 -126.173609,49.570439 -126.173332,49.570446 -126.173056,49.570450 -126.172779,49.570445 -126.172503,49.570433 -126.172230,49.570409 -126.171961,49.570363 -126.171686,49.570336 -126.171402,49.570315 -126.171132,49.570325 -126.170888,49.570405 -126.170697,49.570542 -126.170582,49.570826 -126.170423,49.571025 -126.170190,49.571134 -126.169823,49.571190 -126.169347,49.571162 -126.169002,49.571268 -126.168676,49.571464 -126.168321,49.571741 -126.168164,49.571844 -126.167832,49.571934 -126.167486,49.572048 -126.166941,49.572141 -126.166346,49.572208 -126.166070,49.572201 -126.165746,49.572160 -126.165320,49.572142 -126.165055,49.572160 -126.164792,49.572153 -126.164550,49.572205 -126.164143,49.572293 -126.163502,49.572506 -126.163245,49.572606 -126.163103,49.572668 -126.162962,49.572713 -126.162671,49.572728 -126.162634,49.572708 -126.162567,49.572661 -126.162284,49.572546 -126.162134,49.572498 -126.161917,49.572429 -126.161726,49.572389 -126.161465,49.572346 -126.161286,49.572333 -126.161218,49.572322 -126.160971,49.572280 -126.160708,49.572292 -126.160611,49.572289 -126.160403,49.572293 -126.160221,49.572334 -126.160112,49.572295 -126.159800,49.572188 -126.159568,49.572147 -126.159458,49.572126 -126.159197,49.572093 -126.159019,49.572061 -126.158800,49.572029 -126.158647,49.572034 -126.158464,49.572093 -126.158379,49.572126 -126.158278,49.572196 -126.158079,49.572299 -126.157965,49.572359 -126.157834,49.572455 -126.157719,49.572542 -126.157488,49.572641 -126.157259,49.572742 -126.157032,49.572845 -126.156805,49.572947 -126.156584,49.573055 -126.156380,49.573178 -126.156196,49.573312 -126.156044,49.573463 -126.155925,49.573628 -126.155872,49.573800 -126.155876,49.573982 -126.155858,49.574162 -126.155815,49.574340 -126.155776,49.574518 -126.155765,49.574697 -126.155788,49.574877 -126.155831,49.575054 -126.155886,49.575231 -126.155917,49.575410 -126.155945,49.575589 -126.155955,49.575770 -126.155936,49.575953 -126.155759,49.576074 -126.155519,49.576178 -126.155285,49.576263 -126.155012,49.576251 -126.154732,49.576227 -126.154455,49.576218 -126.154182,49.576249 -126.153913,49.576296 -126.153663,49.576368 -126.153442,49.576477 -126.153209,49.576576 -126.152971,49.576667 -126.152802,49.576807 -126.152661,49.576964 -126.152536,49.577124 -126.152413,49.577285 -126.152292,49.577447 -126.152163,49.577606 -126.152071,49.577775 -126.151987,49.577947 -126.151874,49.578110 -126.151714,49.578258 -126.151610,49.578423 -126.151515,49.578593 -126.151398,49.578756 -126.151073,49.578962 -126.150939,49.578979 -126.150757,49.579010 -126.150590,49.579024 -126.150326,49.579044 -126.150214,49.579060 -126.150048,49.579074 -126.149854,49.579078 -126.149550,49.579070 -126.149344,49.579047 -126.149125,49.578997 -126.149003,49.578958 -126.148868,49.578901 -126.148761,49.578835 -126.148668,49.578761 -126.148562,49.578695 -126.148375,49.578574 -126.148215,49.578471 -126.148040,49.578394 -126.147917,49.578364 -126.147765,49.578361 -126.147557,49.578373 -126.147417,49.578388 -126.147249,49.578420 -126.147124,49.578435 -126.146764,49.578444 -126.146641,49.578414 -126.146450,49.578364 -126.146314,49.578325 -126.146136,49.578302 -126.145916,49.578270 -126.145587,49.578226 -126.145450,49.578204 -126.145377,49.578192 -126.144899,49.578013 -126.144486,49.577774 -126.144347,49.577574 -126.144365,49.577264 -126.144488,49.576875 -126.144786,49.576507 -126.145211,49.576109 -126.145591,49.575628 -126.145768,49.575191 -126.145921,49.574721 -126.145941,49.574378 -126.146088,49.574006 -126.146560,49.573674 -126.146979,49.573374 -126.147076,49.573017 -126.146938,49.572785 -126.146747,49.572534 -126.146151,49.572275 -126.145589,49.572016 -126.145171,49.571842 -126.144611,49.571551 -126.144197,49.571312 -126.143789,49.570991 -126.143550,49.570773 -126.143281,49.570652 -126.142524,49.570322 -126.142189,49.570306 -126.141982,49.570310 -126.141898,49.570317 -126.141787,49.570323 -126.141620,49.570346 -126.141355,49.570375 -126.141189,49.570389 -126.141007,49.570412 -126.140826,49.570443 -126.140657,49.570493 -126.140502,49.570534 -126.140349,49.570548 -126.140142,49.570552 -126.139989,49.570557 -126.139794,49.570580 -126.139600,49.570593 -126.139461,49.570598 -126.139323,49.570595 -126.139145,49.570564 -126.138912,49.570531 -126.138692,49.570507 -126.138498,49.570503 -126.138345,49.570517 -126.138109,49.570529 -126.137970,49.570544 -126.137790,49.570548 -126.137653,49.570536 -126.137461,49.570504 -126.137298,49.570455 -126.137135,49.570397 -126.136972,49.570348 -126.136822,49.570308 -126.136698,49.570305 -126.136505,49.570291 -126.136353,49.570279 -126.135911,49.570268 -126.135774,49.570255 -126.135526,49.570231 -126.135359,49.570245 -126.135164,49.570267 -126.135039,49.570291 -126.134913,49.570306 -126.134635,49.570326 -126.134427,49.570339 -126.134247,49.570343 -126.134026,49.570329 -126.133862,49.570307 -126.133672,49.570248 -126.133481,49.570198 -126.133318,49.570140 -126.133197,49.570083 -126.133050,49.569999 -126.132848,49.569895 -126.132714,49.569820 -126.132566,49.569762 -126.132360,49.569739 -126.132184,49.569671 -126.131885,49.569574 -126.131628,49.569478 -126.131535,49.569403 -126.131406,49.569247 -126.131263,49.569091 -126.131079,49.568924 -126.130880,49.568784 -126.130786,49.568737 -126.130691,49.568699 -126.130477,49.568586 -126.130397,49.568530 -126.130263,49.568463 -126.130034,49.568350 -126.129927,49.568284 -126.129767,49.568190 -126.129621,49.568078 -126.129516,49.567986 -126.129437,49.567921 -126.129290,49.567836 -126.129195,49.567798 -126.129004,49.567748 -126.128868,49.567709 -126.128623,49.567649 -126.128432,49.567599 -126.128092,49.567501 -126.127997,49.567462 -126.127754,49.567366 -126.127620,49.567300 -126.127459,49.567206 -126.127324,49.567149 -126.127203,49.567101 -126.127039,49.567061 -126.126888,49.567039 -126.126613,49.567005 -126.126545,49.566994 -126.126395,49.566964 -126.126230,49.566933 -126.126026,49.566883 -126.125877,49.566825 -126.125688,49.566739 -126.125567,49.566682 -126.125407,49.566588 -126.125301,49.566514 -126.125140,49.566420 -126.125061,49.566355 -126.125045,49.566311 -126.124805,49.565927 -126.124580,49.565688 -126.123999,49.565393 -126.123717,49.565308 -126.123001,49.565275 -126.121610,49.565334 -126.120956,49.565458 -126.119923,49.565525 -126.119311,49.565759 -126.118770,49.566010 -126.118268,49.566418 -126.117701,49.567104 -126.117699,49.567945 -126.117826,49.568633 -126.118106,49.569153 -126.118182,49.569497 -126.118165,49.569777 -126.118308,49.570201 -126.118310,49.570574 -126.118284,49.571010 -126.118096,49.571363 -126.117675,49.571601 -126.117002,49.571647 -126.116423,49.571576 -126.116343,49.571581 -126.116273,49.571588 -126.115968,49.571598 -126.115816,49.571594 -126.115720,49.571583 -126.115447,49.571531 -126.115269,49.571500 -126.115091,49.571459 -126.114996,49.571430 -126.114846,49.571399 -126.114614,49.571349 -126.114422,49.571308 -126.114245,49.571258 -126.114095,49.571228 -126.113890,49.571178 -126.113699,49.571137 -126.113481,49.571086 -126.113303,49.571055 -126.113166,49.571034 -126.112933,49.571001 -126.112741,49.570969 -126.112590,49.570947 -126.112398,49.570915 -126.112220,49.570893 -126.112027,49.570879 -126.111890,49.570858 -126.111711,49.570835 -126.111409,49.570792 -126.111286,49.570771 -126.111251,49.570756 -126.110694,49.570462 -126.110205,49.570232 -126.109613,49.570124 -126.109088,49.570111 -126.108583,49.570145 -126.108238,49.570308 -126.108005,49.570613 -126.107959,49.570985 -126.107991,49.571251 -126.107999,49.571531 -126.107916,49.571716 -126.107735,49.571945 -126.107427,49.572295 -126.106884,49.572570 -126.106611,49.572633 -126.106428,49.572682 -126.106316,49.572707 -126.106120,49.572747 -126.105938,49.572778 -126.105686,49.572835 -126.105545,49.572876 -126.105377,49.572917 -126.105110,49.572982 -126.104927,49.573032 -126.104786,49.573073 -126.104604,49.573114 -126.104437,49.573136 -126.104272,49.573123 -126.104079,49.573109 -126.103873,49.573086 -126.103611,49.573062 -126.103406,49.573030 -126.103282,49.573009 -126.103022,49.572966 -126.102872,49.572935 -126.102680,49.572903 -126.102487,49.572881 -126.102337,49.572850 -126.102173,49.572819 -126.102036,49.572797 -126.101818,49.572747 -126.101625,49.572724 -126.101501,49.572712 -126.101295,49.572698 -126.101101,49.572693 -126.100881,49.572678 -126.100647,49.572664 -126.100481,49.572650 -126.100247,49.572636 -126.100055,49.572613 -126.099918,49.572591 -126.099685,49.572550 -126.099535,49.572519 -126.099330,49.572478 -126.099152,49.572446 -126.098932,49.572414 -126.098698,49.572390 -126.098492,49.572367 -126.098273,49.572334 -126.098082,49.572284 -126.097892,49.572226 -126.097701,49.572185 -126.097522,49.572171 -126.097355,49.572185 -126.097174,49.572208 -126.097118,49.572206 -126.096940,49.572175 -126.096817,49.572154 -126.096668,49.572105 -126.096397,49.572008 -126.096262,49.571951 -126.096058,49.571892 -126.095906,49.571888 -126.095646,49.571845 -126.095495,49.571824 -126.095413,49.571813 -126.095275,49.571791 -126.095057,49.571741 -126.094962,49.571720 -126.094710,49.571642 -126.094508,49.571522 -126.094339,49.571378 -126.094201,49.571222 -126.094085,49.571059 -126.093976,49.570893 -126.093899,49.570721 -126.093862,49.570542 -126.093873,49.570363 -126.093933,49.570186 -126.094002,49.570012 -126.094090,49.569841 -126.094228,49.569687 -126.094396,49.569543 -126.094534,49.569387 -126.094611,49.569215 -126.094669,49.569039 -126.094757,49.568868 -126.094786,49.568691 -126.094760,49.568511 -126.094716,49.568330 -126.094568,49.568185 -126.094374,49.568053 -126.094208,49.567905 -126.094146,49.567736 -126.094163,49.567554 -126.094069,49.567387 -126.093930,49.567229 -126.093766,49.567084 -126.093577,49.566953 -126.093389,49.566821 -126.093222,49.566677 -126.093018,49.566556 -126.092777,49.566469 -126.092509,49.566421 -126.092234,49.566410 -126.091957,49.566420 -126.091687,49.566381 -126.091342,49.566248 -126.091318,49.566222 -126.091240,49.566139 -126.091149,49.566038 -126.091030,49.565945 -126.090924,49.565870 -126.090791,49.565786 -126.090646,49.565665 -126.090543,49.565527 -126.090455,49.565390 -126.090408,49.565254 -126.090414,49.565137 -126.090447,49.565048 -126.090398,49.564957 -126.090291,49.564882 -126.090129,49.564824 -126.089981,49.564749 -126.089835,49.564646 -126.089703,49.564544 -126.089573,49.564405 -126.089429,49.564258 -126.089337,49.564184 -126.088793,49.563801 -126.088228,49.563535 -126.088067,49.563450 -126.087975,49.563358 -126.087885,49.563256 -126.087740,49.563136 -126.087660,49.563071 -126.087530,49.562942 -126.087398,49.562830 -126.087294,49.562720 -126.087140,49.562518 -126.087048,49.562435 -126.086960,49.562288 -126.086829,49.562168 -126.086737,49.562085 -126.086604,49.561992 -126.086459,49.561880 -126.086354,49.561787 -126.086290,49.561705 -126.086230,49.561550 -126.086208,49.561451 -126.086199,49.561361 -126.086219,49.561262 -126.086199,49.561127 -126.086177,49.561036 -126.085968,49.560833 -126.085813,49.560649 -126.085749,49.560558 -126.085687,49.560448 -126.085623,49.560356 -126.085560,49.560256 -126.085510,49.560165 -126.085446,49.560073 -126.085429,49.560006 -126.085504,49.559877 -126.085580,49.559726 -126.085673,49.559560 -126.085701,49.559381 -126.085807,49.559144 -126.085826,49.558817 -126.085811,49.558648 -126.085727,49.558515 -126.085498,49.558286 -126.085409,49.558223 -126.085163,49.558141 -126.084857,49.558079 -126.084534,49.558016 -126.084251,49.557982 -126.084078,49.557960 -126.084012,49.557923 -126.083835,49.557864 -126.083630,49.557832 -126.083451,49.557810 -126.083341,49.557798 -126.083161,49.557811 -126.082993,49.557843 -126.082828,49.557830 -126.082618,49.557832 -126.082477,49.557806 -126.082332,49.557715 -126.082229,49.557615 -126.082124,49.557547 -126.081944,49.557471 -126.081797,49.557418 -126.081674,49.557361 -126.081529,49.557265 -126.081450,49.557192 -126.081339,49.557085 -126.081238,49.556955 -126.081234,49.556953 -126.081128,49.556878 -126.081021,49.556813 -126.080888,49.556737 -126.080780,49.556690 -126.080618,49.556623 -126.080295,49.556470 -126.080024,49.556374 -126.079757,49.556223 -126.079636,49.556166 -126.079500,49.556127 -126.079337,49.556068 -126.079174,49.556028 -126.078968,49.555996 -126.078830,49.555984 -126.078680,49.555962 -126.078543,49.555931 -126.078339,49.555881 -126.078256,49.555870 -126.078079,49.555830 -126.077985,49.555791 -126.077412,49.555758 -126.076992,49.555789 -126.076584,49.555855 -126.076543,49.555845 -126.076323,49.555830 -126.076076,49.555797 -126.075952,49.555785 -126.075788,49.555745 -126.075639,49.555696 -126.075381,49.555627 -126.075313,49.555607 -126.075135,49.555566 -126.074985,49.555545 -126.074806,49.555531 -126.074765,49.555536 -126.074278,49.555602 -126.073992,49.555586 -126.073542,49.555482 -126.073115,49.555384 -126.073100,49.555380 -126.072829,49.555283 -126.072694,49.555226 -126.072600,49.555178 -126.072412,49.555093 -126.072239,49.554980 -126.072120,49.554878 -126.071990,49.554749 -126.071938,49.554685 -126.071872,49.554629 -126.071795,49.554528 -126.071690,49.554445 -126.071558,49.554333 -126.071466,49.554250 -126.071401,49.554194 -126.071175,49.554036 -126.071042,49.553951 -126.070923,49.553858 -126.070818,49.553766 -126.070725,49.553691 -126.070647,49.553608 -126.070542,49.553525 -126.070393,49.553467 -126.070270,49.553437 -126.070136,49.553380 -126.070002,49.553295 -126.069882,49.553220 -126.069737,49.553109 -126.069618,49.553025 -126.069511,49.552959 -126.069419,49.552885 -126.069312,49.552819 -126.069192,49.552744 -126.069032,49.552650 -126.068898,49.552575 -126.068722,49.552507 -126.068560,49.552440 -126.068466,49.552393 -126.068319,49.552308 -126.068212,49.552242 -126.068079,49.552158 -126.067960,49.552074 -126.067840,49.551999 -126.067707,49.551915 -126.067654,49.551868 -126.067521,49.551775 -126.067418,49.551646 -126.067397,49.551606 -126.067252,49.551441 -126.066923,49.551231 -126.066644,49.551224 -126.066203,49.551354 -126.065851,49.551527 -126.065588,49.551783 -126.065471,49.551840 -126.065247,49.551879 -126.065105,49.551939 -126.064949,49.552007 -126.064834,49.552076 -126.064706,49.552135 -126.064537,49.552194 -126.064355,49.552225 -126.064188,49.552257 -126.064019,49.552298 -126.063935,49.552323 -126.063807,49.552373 -126.063666,49.552415 -126.063510,49.552492 -126.063367,49.552560 -126.063227,49.552593 -126.063033,49.552606 -126.062877,49.552665 -126.062734,49.552742 -126.062634,49.552793 -126.062449,49.552879 -126.062322,49.552920 -126.062193,49.552998 -126.062090,49.553112 -126.061988,49.553200 -126.061884,49.553314 -126.061823,49.553412 -126.061761,49.553518 -126.061687,49.553606 -126.061611,49.553712 -126.061447,49.553906 -126.061331,49.553993 -126.061245,49.554045 -126.061101,49.554140 -126.061026,49.554237 -126.060958,49.554294 -126.060535,49.554512 -126.060037,49.554548 -126.059855,49.554531 -126.059632,49.554585 -126.059404,49.554710 -126.059214,49.554825 -126.058874,49.554995 -126.058482,49.555104 -126.057944,49.555198 -126.057427,49.555268 -126.057110,49.555344 -126.056793,49.555431 -126.056437,49.555565 -126.056133,49.555749 -126.055920,49.555934 -126.055636,49.556070 -126.055373,49.556182 -126.055075,49.556258 -126.054536,49.556376 -126.054018,49.556446 -126.053500,49.556528 -126.052776,49.556665 -126.052309,49.556820 -126.052117,49.556958 -126.052052,49.557124 -126.052021,49.557326 -126.052012,49.557481 -126.052069,49.557757 -126.051776,49.558047 -126.051453,49.558230 -126.051000,49.558445 -126.050474,49.558658 -126.050463,49.558682 -126.049696,49.558937 -126.049151,49.559150 -126.048531,49.559408 -126.047743,49.559996 -126.047596,49.560303 -126.047419,49.560811 -126.047349,49.561358 -126.047403,49.561939 -126.047473,49.562380 -126.047420,49.562943 -126.047422,49.563232 -126.047418,49.563621 -126.047362,49.563895 -126.047339,49.564284 -126.047355,49.564661 -126.047315,49.564998 -126.047370,49.565376 -126.047295,49.565977 -126.047247,49.566440 -126.047114,49.566737 -126.046972,49.567160 -126.046781,49.567457 -126.046572,49.567727 -126.046442,49.567950 -126.046201,49.568119 -126.045734,49.568305 -126.045712,49.568304 -126.045517,49.568326 -126.045363,49.568349 -126.045195,49.568390 -126.045070,49.568405 -126.044984,49.568448 -126.044923,49.568536 -126.044822,49.568605 -126.044708,49.568665 -126.044539,49.568715 -126.044395,49.568750 -126.043780,49.568687 -126.043561,49.568645 -126.043382,49.568632 -126.043274,49.568593 -126.042763,49.568580 -126.042624,49.568585 -126.042320,49.568577 -126.042154,49.568582 -126.041974,49.568587 -126.041765,49.568617 -126.041626,49.568623 -126.041474,49.568619 -126.041280,49.568623 -126.041072,49.568635 -126.040681,49.568697 -126.040500,49.568711 -126.040264,49.568732 -126.040001,49.568734 -126.039766,49.568728 -126.039546,49.568704 -126.039339,49.568690 -126.039160,49.568677 -126.038967,49.568672 -126.038786,49.568685 -126.038630,49.568753 -126.038461,49.568803 -126.038277,49.568879 -126.038105,49.568964 -126.037948,49.569050 -126.037833,49.569119 -126.037717,49.569215 -126.037587,49.569302 -126.037401,49.569396 -126.037288,49.569447 -126.037146,49.569498 -126.037019,49.569548 -126.036862,49.569616 -126.036732,49.569712 -126.036617,49.569790 -126.036489,49.569850 -126.036321,49.569881 -126.036167,49.569913 -126.036013,49.569936 -126.035858,49.569986 -126.035842,49.570013 -126.035810,49.570093 -126.035706,49.570216 -126.035615,49.570349 -126.035499,49.570436 -126.035369,49.570514 -126.035241,49.570573 -126.035112,49.570660 -126.035008,49.570774 -126.034919,49.570862 -126.034811,49.571048 -126.034790,49.571165 -126.034782,49.571299 -126.034751,49.571361 -126.034335,49.571612 -126.034262,49.571664 -126.034229,49.571762 -126.034125,49.571876 -126.034020,49.572000 -126.033907,49.572051 -126.033779,49.572101 -126.033691,49.572180 -126.033602,49.572286 -126.033498,49.572400 -126.033368,49.572496 -126.033252,49.572574 -126.033149,49.572679 -126.033075,49.572767 -126.033013,49.572873 -126.032998,49.573125 -126.032964,49.573223 -126.032955,49.573367 -126.032938,49.573429 -126.032450,49.573746 -126.032399,49.573840 -126.032369,49.573939 -126.032327,49.574008 -126.032307,49.574088 -126.032270,49.574182 -126.032267,49.574232 -126.032250,49.574261 -126.032247,49.574306 -126.032230,49.574336 -126.032198,49.574350 -126.032158,49.574374 -126.032119,49.574388 -126.032087,49.574402 -126.032031,49.574441 -126.031895,49.574532 -126.031692,49.574585 -126.031552,49.574599 -126.031425,49.574641 -126.031396,49.574667 -126.031376,49.574766 -126.031260,49.574862 -126.031201,49.574923 -126.031023,49.575116 -126.030946,49.575240 -126.030883,49.575374 -126.030822,49.575471 -126.030775,49.575560 -126.030684,49.575683 -126.030595,49.575789 -126.030478,49.575885 -126.030392,49.575946 -126.030303,49.576034 -126.030202,49.576112 -126.030085,49.576208 -126.029927,49.576303 -126.029772,49.576353 -126.029686,49.576405 -126.029612,49.576475 -126.029563,49.576608 -126.029503,49.576688 -126.029427,49.576794 -126.029360,49.576990 -126.029329,49.577043 -126.029269,49.577123 -126.029170,49.577156 -126.029102,49.577170 -126.028829,49.577144 -126.028556,49.577116 -126.028283,49.577087 -126.028008,49.577062 -126.027733,49.577050 -126.027457,49.577059 -126.027182,49.577081 -126.026913,49.577123 -126.026641,49.577154 -126.026366,49.577171 -126.026089,49.577176 -126.025812,49.577175 -126.025536,49.577169 -126.025263,49.577144 -126.024993,49.577104 -126.024722,49.577068 -126.024448,49.577043 -126.024173,49.577022 -126.023897,49.577002 -126.023623,49.576979 -126.023351,49.576951 -126.023083,49.576907 -126.022825,49.576840 -126.022581,49.576756 -126.022345,49.576662 -126.022110,49.576567 -126.021870,49.576478 -126.021626,49.576393 -126.021377,49.576315 -126.021122,49.576245 -126.020870,49.576172 -126.020626,49.576086 -126.020377,49.576010 -126.020112,49.575957 -126.019847,49.575905 -126.019590,49.575840 -126.019346,49.575751 -126.019169,49.575618 -126.018836,49.575282 -126.018798,49.575261 -126.018665,49.575167 -126.018504,49.575091 -126.018328,49.575024 -126.018154,49.574929 -126.017995,49.574817 -126.017889,49.574733 -126.017783,49.574668 -126.017664,49.574575 -126.017627,49.574502 -126.017493,49.574435 -126.017385,49.574379 -126.017234,49.574357 -126.017043,49.574325 -126.016853,49.574266 -126.016690,49.574217 -126.016596,49.574169 -126.016436,49.574066 -126.016287,49.574008 -126.016097,49.573958 -126.015990,49.573893 -126.015872,49.573791 -126.015809,49.573690 -126.015788,49.573582 -126.015782,49.573447 -126.015757,49.573410 -126.015718,49.573364 -126.015669,49.573255 -126.015593,49.573136 -126.015530,49.573035 -126.015479,49.572971 -126.015431,49.572844 -126.015340,49.572751 -126.015223,49.572640 -126.015090,49.572538 -126.014958,49.572445 -126.014838,49.572370 -126.014734,49.572259 -126.014603,49.572139 -126.014539,49.572047 -126.014419,49.571972 -126.014259,49.571878 -126.014113,49.571784 -126.013914,49.571644 -126.013608,49.571663 -126.013428,49.571667 -126.013247,49.571681 -126.013081,49.571685 -126.012860,49.571689 -126.012695,49.571666 -126.012530,49.571653 -126.012377,49.571658 -126.012169,49.571671 -126.011976,49.571666 -126.011824,49.571653 -126.011672,49.571658 -126.011547,49.571664 -126.011543,49.571665 -126.011296,49.571678 -126.010993,49.571666 -126.010796,49.571661 -126.010567,49.571724 -126.010347,49.571855 -126.010242,49.571954 -126.010225,49.571999 -126.010160,49.572140 -126.010163,49.572208 -126.010182,49.572250 -126.010158,49.572291 -126.010100,49.572326 -126.010015,49.572328 -126.009817,49.572332 -126.009681,49.572366 -126.009456,49.572465 -126.009397,49.572509 -126.009020,49.572513 -126.008351,49.572328 -126.007995,49.572152 -126.006351,49.571799 -126.005880,49.571805 -126.005629,49.571835 -126.005366,49.571837 -126.005189,49.571805 -126.005105,49.571821 -126.004933,49.571907 -126.004927,49.571926 -126.004645,49.572012 -126.004205,49.572050 -126.003969,49.572070 -126.003757,49.572137 -126.003611,49.572268 -126.003340,49.572396 -126.003282,49.572449 -126.003204,49.572581 -126.003173,49.572644 -126.003069,49.572758 -126.003052,49.572802 -126.002988,49.572954 -126.002816,49.573039 -126.002672,49.573134 -126.002574,49.573159 -126.002336,49.573198 -126.002067,49.573299 -126.001937,49.573394 -126.001780,49.573471 -126.001680,49.573532 -126.001649,49.573585 -126.001618,49.573629 -126.001475,49.573715 -126.001306,49.573765 -126.001193,49.573789 -126.001110,49.573796 -126.000878,49.573736 -126.000783,49.573715 -126.000701,49.573704 -126.000562,49.573710 -126.000467,49.573676 -126.000334,49.573618 -126.000197,49.573604 -126.000081,49.573636 -126.000047,49.573700 -126.000033,49.573759 -126.000151,49.573861 -126.000202,49.573934 -126.000249,49.574079 -126.000380,49.574191 -126.000513,49.574275 -126.000664,49.574531 -126.000701,49.574604 -126.000724,49.574667 -126.000826,49.574814 -126.000900,49.574960 -126.000923,49.575041 -126.000904,49.575122 -126.000872,49.575193 -126.000740,49.575325 -126.000693,49.575404 -126.000677,49.575449 -126.000723,49.575594 -126.000743,49.575720 -126.000696,49.575809 -126.000662,49.576357 -126.000630,49.576428 -126.000584,49.576499 -126.000376,49.576746 -126.000343,49.576826 -126.000366,49.576898 -126.000405,49.576944 -126.000550,49.577065 -126.000613,49.577166 -126.000619,49.577283 -126.000591,49.577516 -126.000589,49.577561 -126.000524,49.577703 -126.000301,49.577967 -126.000269,49.578038 -126.000286,49.578210 -126.000308,49.578291 -126.000359,49.578365 -126.000410,49.578447 -126.000419,49.578519 -126.000381,49.578680 -126.000304,49.578822 -126.000257,49.578911 -126.000222,49.579027 -126.000229,49.579048 -126.000133,49.579174 -125.999999,49.579357 -125.999916,49.579415 -125.999820,49.579451 -125.999760,49.579488 -125.999705,49.579544 -125.999633,49.579622 -125.999591,49.579694 -125.999571,49.579776 -125.999550,49.579861 -125.999540,49.580004 -125.999537,49.580185 -125.999539,49.580292 -125.999553,49.580440 -125.999615,49.580578 -125.999658,49.580740 -125.999681,49.580857 -125.999729,49.580995 -125.999763,49.581100 -125.999772,49.581171 -125.999773,49.581411 -125.999695,49.581576 -125.999622,49.581669 -125.999518,49.581717 -125.999370,49.581745 -125.999206,49.581789 -125.998970,49.581888 -125.998878,49.581938 -125.998743,49.581995 -125.998579,49.582036 -125.998390,49.582104 -125.998270,49.582179 -125.998177,49.582253 -125.998033,49.582374 -125.997940,49.582439 -125.997872,49.582459 -125.997790,49.582488 -125.997616,49.582582 -125.997297,49.582798 -125.997122,49.582874 -125.996972,49.582905 -125.996669,49.582922 -125.996475,49.582927 -125.996391,49.582911 -125.996101,49.582910 -125.995962,49.582904 -125.995641,49.582868 -125.995319,49.582804 -125.995221,49.582779 -125.995010,49.582722 -125.994951,49.582670 -125.994789,49.582512 -125.994716,49.582451 -125.994616,49.582399 -125.994504,49.582375 -125.994269,49.582372 -125.994101,49.582341 -125.993989,49.582326 -125.993818,49.582249 -125.993770,49.582229 -125.993749,49.582172 -125.993755,49.582102 -125.993792,49.581989 -125.993831,49.581924 -125.993910,49.581803 -125.994012,49.581716 -125.994020,49.581667 -125.993960,49.581563 -125.993947,49.581521 -125.993789,49.581361 -125.993749,49.581342 -125.993662,49.581281 -125.993535,49.581231 -125.993269,49.581193 -125.993046,49.581153 -125.992945,49.581084 -125.992857,49.581005 -125.992825,49.580934 -125.992778,49.580854 -125.992673,49.580722 -125.992514,49.580609 -125.992342,49.580506 -125.992228,49.580446 -125.992100,49.580395 -125.991862,49.580356 -125.991819,49.580357 -125.991711,49.580328 -125.991587,49.580257 -125.991502,49.580169 -125.991461,49.580057 -125.991425,49.580002 -125.991417,49.579881 -125.991398,49.579782 -125.991379,49.579696 -125.991325,49.579563 -125.991123,49.579417 -125.990997,49.579320 -125.990847,49.579259 -125.990598,49.579218 -125.990396,49.579193 -125.990191,49.579203 -125.990018,49.579154 -125.989932,49.579111 -125.989833,49.579068 -125.989691,49.579018 -125.989577,49.578958 -125.989503,49.578888 -125.989471,49.578817 -125.989372,49.578783 -125.989298,49.578704 -125.989238,49.578625 -125.989151,49.578555 -125.989036,49.578486 -125.988966,49.578470 -125.988881,49.578436 -125.988753,49.578377 -125.988652,49.578316 -125.988524,49.578257 -125.988396,49.578206 -125.988296,49.578154 -125.988029,49.578080 -125.987805,49.578032 -125.987700,49.578012 -125.987330,49.578022 -125.987135,49.578039 -125.986707,49.578061 -125.986508,49.578008 -125.986362,49.577921 -125.986382,49.577920 -125.986222,49.577871 -125.986062,49.577826 -125.985912,49.577803 -125.985687,49.577772 -125.985530,49.577765 -125.985077,49.577787 -125.984675,49.577819 -125.984519,49.577845 -125.984419,49.577867 -125.984392,49.577886 -125.984248,49.578025 -125.984089,49.578128 -125.983860,49.578233 -125.983654,49.578256 -125.983531,49.578286 -125.983356,49.578363 -125.983207,49.578421 -125.982995,49.578579 -125.982916,49.578635 -125.982835,49.578664 -125.982616,49.578706 -125.982492,49.578718 -125.982230,49.578725 -125.982105,49.578719 -125.981867,49.578671 -125.981516,49.578599 -125.981307,49.578569 -125.981028,49.578540 -125.980723,49.578530 -125.980433,49.578537 -125.980324,49.578558 -125.980175,49.578616 -125.980108,49.578654 -125.980004,49.578764 -125.979934,49.578973 -125.979927,49.579090 -125.979953,49.579287 -125.979979,49.579476 -125.979991,49.579673 -125.980070,49.579842 -125.980077,49.579852 -125.980000,49.579983 -125.979898,49.580067 -125.979743,49.580158 -125.979581,49.580284 -125.979388,49.580341 -125.979157,49.580359 -125.978736,49.580346 -125.978264,49.580364 -125.977890,49.580385 -125.977723,49.580430 -125.977376,49.580445 -125.977178,49.580427 -125.976607,49.580442 -125.976300,49.580525 -125.976170,49.580738 -125.976067,49.580955 -125.976079,49.581158 -125.976074,49.581367 -125.976149,49.581569 -125.976149,49.581720 -125.976140,49.581859 -125.976096,49.582023 -125.976006,49.582159 -125.975872,49.582308 -125.975744,49.582398 -125.975613,49.582448 -125.975434,49.582441 -125.975361,49.582412 -125.975239,49.582358 -125.975123,49.582312 -125.974824,49.582258 -125.974653,49.582230 -125.974506,49.582201 -125.974323,49.582173 -125.974165,49.582165 -125.973920,49.582171 -125.973803,49.582202 -125.973674,49.582251 -125.973484,49.582333 -125.973380,49.582479 -125.973339,49.582639 -125.973345,49.582741 -125.973406,49.582916 -125.973516,49.583068 -125.973599,49.583201 -125.973787,49.583392 -125.973812,49.583489 -125.973755,49.583581 -125.973630,49.583668 -125.973443,49.583719 -125.973250,49.583724 -125.972975,49.583758 -125.972730,49.583819 -125.972606,49.583831 -125.972509,49.583833 -125.972387,49.583872 -125.972294,49.583929 -125.972256,49.583993 -125.972196,49.584147 -125.972145,49.584221 -125.971943,49.584307 -125.971769,49.584410 -125.971705,49.584484 -125.971639,49.584539 -125.971532,49.584596 -125.971193,49.584722 -125.971070,49.584743 -125.970905,49.584756 -125.970760,49.584784 -125.970627,49.584837 -125.970554,49.584900 -125.970483,49.584991 -125.970335,49.585083 -125.970126,49.585154 -125.969881,49.585206 -125.969615,49.585209 -125.969472,49.585194 -125.969312,49.585090 -125.969153,49.585006 -125.969037,49.584947 -125.968719,49.584863 -125.968497,49.584823 -125.968277,49.584797 -125.967998,49.584774 -125.967794,49.584733 -125.967454,49.584588 -125.967156,49.584349 -125.966979,49.584169 -125.966842,49.584042 -125.966730,49.583761 -125.966649,49.583594 -125.966554,49.583396 -125.966523,49.583274 -125.966529,49.583181 -125.966592,49.583049 -125.966608,49.582918 -125.966579,49.582834 -125.966514,49.582728 -125.966391,49.582654 -125.966174,49.582591 -125.965910,49.582521 -125.965683,49.582496 -125.965543,49.582515 -125.965427,49.582556 -125.965336,49.582612 -125.965279,49.582652 -125.965188,49.582716 -125.965039,49.582797 -125.964881,49.582816 -125.964743,49.582866 -125.964465,49.582952 -125.964194,49.582978 -125.963834,49.583040 -125.963651,49.583032 -125.963409,49.583031 -125.963151,49.582946 -125.963046,49.582889 -125.962872,49.582854 -125.962532,49.582909 -125.962234,49.582996 -125.962115,49.583038 -125.961940,49.583148 -125.961763,49.583238 -125.961539,49.583362 -125.961392,49.583438 -125.961225,49.583521 -125.960845,49.583596 -125.960594,49.583616 -125.960344,49.583662 -125.960103,49.583694 -125.959926,49.583778 -125.959811,49.583852 -125.959740,49.583873 -125.959428,49.583980 -125.959278,49.584020 -125.959114,49.584060 -125.958949,49.584073 -125.958810,49.584059 -125.958711,49.584016 -125.958592,49.583893 -125.958575,49.583831 -125.958389,49.583512 -125.958327,49.583396 -125.958176,49.583193 -125.958074,49.583106 -125.957961,49.583055 -125.957722,49.583007 -125.957598,49.583010 -125.957502,49.583022 -125.957405,49.583024 -125.957294,49.583009 -125.957154,49.582994 -125.957042,49.582970 -125.956942,49.582919 -125.956869,49.582858 -125.956695,49.582718 -125.956579,49.582640 -125.956452,49.582599 -125.956313,49.582584 -125.956188,49.582569 -125.956049,49.582564 -125.955798,49.582525 -125.955672,49.582511 -125.955588,49.582486 -125.955461,49.582453 -125.955404,49.582446 -125.955084,49.582311 -125.954902,49.582165 -125.954842,49.581940 -125.954715,49.581755 -125.954520,49.581595 -125.954257,49.581473 -125.954100,49.581364 -125.954068,49.581222 -125.954046,49.581042 -125.954058,49.580853 -125.954058,49.580672 -125.953987,49.580448 -125.953956,49.580313 -125.953875,49.580134 -125.953817,49.579940 -125.953712,49.579739 -125.953696,49.579476 -125.953669,49.579213 -125.953430,49.578707 -125.953319,49.578503 -125.953172,49.578363 -125.952930,49.578204 -125.952653,49.578030 -125.952505,49.577909 -125.952487,49.577878 -125.952411,49.577763 -125.952349,49.577656 -125.952272,49.577532 -125.952211,49.577435 -125.952151,49.577364 -125.951890,49.577164 -125.951816,49.577085 -125.951766,49.576933 -125.951790,49.576888 -125.951871,49.576850 -125.951895,49.576786 -125.951948,49.576740 -125.951944,49.576686 -125.951927,49.576623 -125.951881,49.576553 -125.951790,49.576429 -125.951826,49.576329 -125.951864,49.576265 -125.951926,49.576147 -125.952005,49.576091 -125.952043,49.576027 -125.952066,49.575945 -125.952061,49.575864 -125.951869,49.575662 -125.951781,49.575593 -125.951667,49.575533 -125.951540,49.575491 -125.951230,49.575400 -125.951147,49.575393 -125.951048,49.575359 -125.950876,49.575265 -125.950803,49.575204 -125.950723,49.575017 -125.950733,49.574963 -125.950758,49.574908 -125.950821,49.574816 -125.950860,49.574770 -125.950871,49.574716 -125.950878,49.574608 -125.950841,49.574447 -125.950774,49.574260 -125.950824,49.574169 -125.950943,49.574085 -125.951078,49.574027 -125.951124,49.574016 -125.951337,49.573903 -125.951444,49.573853 -125.951512,49.573755 -125.951563,49.573569 -125.951491,49.573403 -125.951350,49.573302 -125.951171,49.573195 -125.950977,49.573048 -125.950870,49.572906 -125.950727,49.572774 -125.950423,49.572645 -125.950110,49.572549 -125.949919,49.572450 -125.949664,49.572312 -125.949424,49.572206 -125.949211,49.572156 -125.948998,49.572089 -125.948735,49.572016 -125.948458,49.571911 -125.948132,49.571815 -125.947945,49.571772 -125.947756,49.571712 -125.947506,49.571639 -125.947279,49.571564 -125.947053,49.571490 -125.946915,49.571445 -125.946774,49.571345 -125.946634,49.571276 -125.946470,49.571217 -125.946356,49.571155 -125.946192,49.571087 -125.946164,49.571066 -125.946091,49.571014 -125.945947,49.570952 -125.945597,49.570822 -125.945372,49.570772 -125.945357,49.570770 -125.945273,49.570739 -125.945200,49.570695 -125.945147,49.570652 -125.945075,49.570591 -125.944902,49.570478 -125.944802,49.570436 -125.944564,49.570379 -125.944438,49.570364 -125.944340,49.570339 -125.944241,49.570306 -125.944172,49.570271 -125.944034,49.570166 -125.943960,49.570084 -125.943942,49.570004 -125.943930,49.569921 -125.943952,49.569823 -125.943966,49.569729 -125.943940,49.569632 -125.943874,49.569554 -125.943745,49.569447 -125.943619,49.569388 -125.943528,49.569355 -125.943357,49.569341 -125.943230,49.569376 -125.943051,49.569416 -125.942959,49.569457 -125.942823,49.569487 -125.942504,49.569486 -125.942407,49.569471 -125.942101,49.569443 -125.941960,49.569401 -125.941715,49.569339 -125.941436,49.569222 -125.941310,49.569163 -125.941112,49.569053 -125.940814,49.568963 -125.940544,49.568911 -125.940395,49.568910 -125.940326,49.568921 -125.940204,49.568951 -125.939943,49.568994 -125.939766,49.569043 -125.939588,49.569066 -125.939313,49.569091 -125.939081,49.569142 -125.938834,49.569175 -125.938612,49.569172 -125.938415,49.569114 -125.938329,49.569062 -125.938255,49.568983 -125.938163,49.568841 -125.938091,49.568780 -125.937820,49.568643 -125.937733,49.568582 -125.937716,49.568529 -125.937725,49.568447 -125.937738,49.568431 -125.937757,49.568355 -125.937802,49.568314 -125.937899,49.568231 -125.937988,49.568114 -125.938055,49.567983 -125.938090,49.567876 -125.938089,49.567747 -125.938041,49.567638 -125.937945,49.567516 -125.937815,49.567395 -125.937695,49.567318 -125.937589,49.567259 -125.937449,49.567200 -125.937337,49.567162 -125.937164,49.567166 -125.936900,49.567146 -125.936632,49.567072 -125.936464,49.567031 -125.936310,49.566999 -125.936184,49.566975 -125.936085,49.566942 -125.935985,49.566890 -125.935940,49.566828 -125.935895,49.566775 -125.935824,49.566741 -125.935712,49.566717 -125.935460,49.566661 -125.935348,49.566636 -125.935220,49.566586 -125.935093,49.566544 -125.935007,49.566492 -125.934934,49.566431 -125.934802,49.566299 -125.934628,49.566178 -125.934459,49.566119 -125.934319,49.566087 -125.934125,49.566083 -125.934056,49.566084 -125.933987,49.566095 -125.933810,49.566145 -125.933606,49.566195 -125.933401,49.566236 -125.933318,49.566238 -125.933296,49.566245 -125.933112,49.566289 -125.932981,49.566309 -125.932696,49.566300 -125.932619,49.566273 -125.932508,49.566219 -125.932391,49.566156 -125.932287,49.566101 -125.932152,49.566063 -125.931999,49.566039 -125.931841,49.566024 -125.931842,49.570349 -125.919833,49.562417 -125.890558,49.552314 -125.869668,49.543361 -125.826488,49.526738 -125.794353,49.517604 -125.768901,49.518259 -125.736008,49.515814 -125.707600,49.515853 -125.655680,49.515848 -125.636006,49.512892 -125.628906,49.504046 -125.630408,49.487447 -125.654232,49.481745 -125.670666,49.474533 -125.673808,49.464610 -125.689356,49.460913 -125.700658,49.462687 -125.721045,49.457330 -125.748857,49.455063 -125.769742,49.450327 -125.775253,49.438777 -125.781876,49.431675 -125.787940,49.422349 -125.795149,49.416918 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-126.029064,49.456323 -126.032863,49.456325 -126.032949,49.456186 -126.032905,49.456150 -126.032873,49.456128 -126.032796,49.456085 -126.032741,49.456049 -126.032709,49.456027 -126.032643,49.455984 -126.032633,49.455970 -126.032646,49.455934 -126.032671,49.455892 -126.032799,49.455836 -126.032856,49.455815 -126.032880,49.455794 -126.032894,49.455751 -126.032863,49.455694 -126.032843,49.455644 -126.032858,49.455616 -126.032407,49.455611 -126.031609,49.455599 -126.031123,49.455633 -126.030896,49.455644 -126.030823,49.455637 -126.029891,49.455843 -126.029720,49.455889 -126.029387,49.456072 -126.029064,49.456323 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-126.028471,49.456187 -126.029163,49.455715 -126.029812,49.455528 -126.029872,49.455530 -126.030434,49.455437 -126.031186,49.455401 -126.031894,49.455412 -126.032328,49.455356 -126.032477,49.455328 -126.032586,49.455268 -126.032617,49.455251 -126.032636,49.455109 -126.032549,49.455044 -126.032494,49.455022 -126.032359,49.455000 -126.032270,49.454985 -126.032135,49.454963 -126.032080,49.454948 -126.032013,49.454926 -126.031855,49.454911 -126.031734,49.454860 -126.031600,49.454831 -126.031443,49.454808 -126.031354,49.454779 -126.031345,49.454729 -126.031361,49.454658 -126.031400,49.454559 -126.031469,49.454516 -126.030801,49.454513 -126.030734,49.454540 -126.030653,49.454575 -126.030618,49.454596 -126.030572,49.454610 -126.030467,49.454659 -126.030317,49.454722 -126.030068,49.454727 -126.030001,49.454712 -126.029858,49.454633 -126.029761,49.454554 -126.029740,49.454516 -126.028473,49.454514 -126.028471,49.456187 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-126.081644,49.438664 -126.083669,49.438665 -126.083715,49.438301 -126.083781,49.438145 -126.083902,49.437938 -126.083911,49.437886 -126.083975,49.437697 -126.084013,49.437615 -126.084013,49.437595 -126.084057,49.437527 -126.084101,49.437467 -126.084123,49.437433 -126.084168,49.437407 -126.084247,49.437376 -126.084423,49.437355 -126.084567,49.437375 -126.084645,49.437371 -126.084767,49.437376 -126.084667,49.437268 -126.084634,49.437226 -126.084634,49.437205 -126.084589,49.437141 -126.084577,49.437098 -126.084555,49.437015 -126.084577,49.436940 -126.084511,49.436882 -126.084366,49.436849 -126.084188,49.436766 -126.084110,49.436707 -126.083999,49.436503 -126.083954,49.436432 -126.083865,49.436318 -126.083776,49.436252 -126.083620,49.436204 -126.083553,49.436174 -126.083398,49.436244 -126.083343,49.436283 -126.083276,49.436356 -126.083210,49.436423 -126.083132,49.436496 -126.083066,49.436528 -126.082977,49.436579 -126.082777,49.436682 -126.082711,49.436707 -126.082533,49.436762 -126.082400,49.436778 -126.082222,49.436812 -126.082145,49.436809 -126.082000,49.436810 -126.081922,49.436814 -126.081645,49.436856 -126.081644,49.438664 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-122.707212,51.740217 -122.259176,52.002207</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-122.410268,51.876049 -122.409876,51.877258 -122.409869,51.880226 -122.409887,51.882731 -122.407287,51.883699 -122.403124,51.883058 -122.401906,51.883404 -122.402466,51.884158 -122.400220,51.884112 -122.398632,51.882966 -122.396945,51.883674 -122.398204,51.885370 -122.396263,51.885237 -122.393638,51.886668 -122.392914,51.886189 -122.389845,51.887518 -122.389828,51.885013 -122.390347,51.883725 -122.386703,51.881795 -122.383683,51.882197 -122.382580,51.883195 -122.380689,51.882136 -122.375423,51.882491 -122.364218,51.881796 -122.361643,51.882299 -122.358408,51.883902 -122.357570,51.882771 -122.353218,51.882867 -122.351315,51.884775 -122.346734,51.883566 -122.343079,51.884603 -122.342090,51.886252 -122.339400,51.886103 -122.329983,51.888318 -122.327724,51.891239 -122.325831,51.895652 -122.323192,51.894576 -122.319675,51.895800 -122.315689,51.897386 -122.311181,51.900259 -122.307649,51.904452 -122.303264,51.910482 -122.299575,51.917455 -122.295508,51.920430 -122.288024,51.922775 -122.281811,51.923848 -122.274945,51.936504 -122.276680,51.940346 -122.281363,51.945179 -122.283972,51.952194 -122.287218,51.958573 -122.285772,51.965595 -122.287675,51.969162 -122.291830,51.972777 -122.286717,51.972853 -122.284021,51.972702 -122.283692,51.981233 -122.285056,51.989057 -122.282770,51.994947 -122.280894,51.998898 -122.277149,52.001323 -122.270784,52.002207 -122.268557,52.001695 -122.269465,51.998930 -122.271613,51.992851 -122.271029,51.984580 -122.268865,51.977666 -122.268622,51.971350 -122.267933,51.964933 -122.268361,51.960024 -122.265144,51.953180 -122.261562,51.944844 -122.259176,51.936627 -122.261270,51.931477 -122.261872,51.928799 -122.267625,51.922614 -122.267564,51.921035 -122.270309,51.920260 -122.274491,51.917938 -122.280424,51.916488 -122.286993,51.914402 -122.291329,51.909300 -122.290353,51.907980 -122.291345,51.906331 -122.294672,51.905846 -122.294662,51.903340 -122.293128,51.901267 -122.293980,51.899429 -122.296863,51.898841 -122.298185,51.896643 -122.301118,51.895128 -122.298593,51.894704 -122.296119,51.893352 -122.296362,51.891687 -122.295768,51.888891 -122.300544,51.883891 -122.305708,51.885392 -122.310758,51.886242 -122.313955,51.888072 -122.318054,51.887138 -122.316685,51.884790 -122.318817,51.884186 -122.328804,51.879758 -122.332065,51.877693 -122.337280,51.878266 -122.344322,51.878321 -122.351159,51.876608 -122.358226,51.876199 -122.366789,51.875820 -122.374110,51.876249 -122.381571,51.876866 -122.389031,51.877483 -122.392799,51.877096 -122.395119,51.875752 -122.394749,51.874260 -122.393350,51.872376 -122.391089,51.869826 -122.389107,51.867652 -122.385802,51.862204 -122.382868,51.858248 -122.384488,51.855962 -122.387390,51.854908 -122.394061,51.854077 -122.394061,51.854077 -122.394250,51.854006 -122.394572,51.853828 -122.394894,51.853632 -122.395216,51.853454 -122.395495,51.853257 -122.395715,51.853088 -122.395979,51.852900 -122.396272,51.852695 -122.396622,51.852535 -122.396958,51.852402 -122.397294,51.852232 -122.397455,51.852116 -122.397806,51.851938 -122.398113,51.851787 -122.398346,51.851716 -122.398565,51.851664 -122.398784,51.851593 -122.398988,51.851522 -122.399324,51.851353 -122.399528,51.851264 -122.399733,51.851184 -122.399908,51.851140 -122.399995,51.851122 -122.400000,51.851121 -122.400097,51.851096 -122.400447,51.850972 -122.400666,51.850901 -122.400870,51.850821 -122.401249,51.850715 -122.401468,51.850635 -122.401658,51.850546 -122.401833,51.850430 -122.402009,51.850323 -122.402360,51.850163 -122.402477,51.850101 -122.402521,51.850074 -122.402624,51.849958 -122.402669,51.849841 -122.402699,51.849724 -122.402759,51.849572 -122.402848,51.849429 -122.402952,51.849312 -122.403084,51.849196 -122.403172,51.849080 -122.403247,51.848954 -122.403307,51.848819 -122.403352,51.848676 -122.403368,51.848550 -122.403385,51.848415 -122.403401,51.848289 -122.403431,51.848164 -122.403477,51.848038 -122.403522,51.847903 -122.403654,51.847778 -122.403757,51.847671 -122.403788,51.847518 -122.403834,51.847383 -122.403777,51.847311 -122.403647,51.847212 -122.403605,51.847149 -122.403606,51.847023 -122.403608,51.846861 -122.403595,51.846744 -122.403540,51.846510 -122.403527,51.846402 -122.403514,51.846276 -122.403501,51.846159 -122.403503,51.846015 -122.403491,51.845880 -122.403478,51.845772 -122.403421,51.845655 -122.403250,51.845447 -122.403221,51.845393 -122.403149,51.845348 -122.402990,51.845320 -122.402775,51.845139 -122.402660,51.845004 -122.402575,51.844860 -122.402533,51.844742 -122.402521,51.844563 -122.402610,51.844446 -122.402684,51.844339 -122.402772,51.844222 -122.402846,51.844097 -122.402892,51.843980 -122.402908,51.843863 -122.402924,51.843719 -122.402941,51.843567 -122.403031,51.843315 -122.403047,51.843190 -122.403049,51.843064 -122.403182,51.842876 -122.403300,51.842741 -122.403374,51.842634 -122.403433,51.842517 -122.403494,51.842356 -122.403554,51.842203 -122.403585,51.842068 -122.403615,51.841943 -122.403619,51.841664 -122.403636,51.841493 -122.403652,51.841331 -122.403668,51.841215 -122.403684,51.841107 -122.403715,51.840972 -122.403760,51.840846 -122.403820,51.840730 -122.403879,51.840622 -122.403896,51.840487 -122.403896,51.840461 -122.403868,51.840361 -122.403739,51.840244 -122.403625,51.840126 -122.403583,51.840009 -122.403541,51.839901 -122.403484,51.839784 -122.403413,51.839676 -122.403313,51.839549 -122.403227,51.839432 -122.403157,51.839306 -122.403043,51.839125 -122.402914,51.839008 -122.402711,51.838989 -122.402639,51.838953 -122.402524,51.838844 -122.402438,51.838727 -122.402353,51.838591 -122.402326,51.838456 -122.402357,51.838304 -122.402403,51.838151 -122.402433,51.838034 -122.402450,51.837891 -122.402453,51.837621 -122.402383,51.837459 -122.402297,51.837386 -122.402240,51.837305 -122.401995,51.837133 -122.401793,51.837078 -122.401576,51.837014 -122.401388,51.836950 -122.401200,51.836877 -122.401100,51.836814 -122.401043,51.836688 -122.401045,51.836553 -122.401061,51.836427 -122.401092,51.836292 -122.401137,51.836158 -122.401183,51.836014 -122.401199,51.835879 -122.401260,51.835628 -122.401277,51.835493 -122.401307,51.835367 -122.401324,51.835241 -122.401354,51.835098 -122.401385,51.834963 -122.401475,51.834793 -122.401564,51.834622 -122.401683,51.834389 -122.401714,51.834272 -122.401759,51.834147 -122.401978,51.834013 -122.402038,51.833896 -122.402083,51.833771 -122.402203,51.833520 -122.402263,51.833367 -122.402308,51.833214 -122.402340,51.832981 -122.402357,51.832855 -122.402373,51.832720 -122.402418,51.832577 -122.402449,51.832442 -122.402480,51.832325 -122.402495,51.832253 -122.402496,51.832208 -122.402541,51.832065 -122.402601,51.831921 -122.402632,51.831795 -122.402663,51.831643 -122.402694,51.831481 -122.402711,51.831328 -122.402727,51.831167 -122.402773,51.830987 -122.402818,51.830906 -122.402821,51.830628 -122.402838,51.830484 -122.402854,51.830349 -122.402885,51.830223 -122.402901,51.830097 -122.402932,51.829945 -122.402963,51.829783 -122.403025,51.829532 -122.403041,51.829397 -122.403043,51.829262 -122.403059,51.829100 -122.403092,51.828795 -122.403123,51.828642 -122.403154,51.828516 -122.403200,51.828301 -122.403247,51.828058 -122.403292,51.827942 -122.403337,51.827834 -122.403399,51.827528 -122.403430,51.827385 -122.403447,51.827241 -122.403492,51.827097 -122.403552,51.826954 -122.403626,51.826819 -122.403686,51.826721 -122.403715,51.826676 -122.403863,51.826443 -122.404012,51.826174 -122.404116,51.826031 -122.404205,51.825887 -122.404279,51.825726 -122.404354,51.825573 -122.404428,51.825439 -122.404502,51.825313 -122.404709,51.825027 -122.404858,51.824758 -122.405064,51.824525 -122.405211,51.824400 -122.405608,51.823997 -122.405828,51.823782 -122.406034,51.823586 -122.406298,51.823398 -122.406445,51.823273 -122.406606,51.823157 -122.406811,51.822969 -122.406972,51.822844 -122.407193,51.822647 -122.407485,51.822487 -122.407689,51.822398 -122.407893,51.822327 -122.408097,51.822301 -122.408402,51.822276 -122.408563,51.822160 -122.408681,51.822034 -122.408858,51.821820 -122.408975,51.821703 -122.409078,51.821578 -122.409314,51.821327 -122.409402,51.821211 -122.409491,51.821085 -122.409565,51.820951 -122.409625,51.820861 -122.409699,51.820727 -122.409744,51.820628 -122.409818,51.820485 -122.409878,51.820332 -122.409923,51.820197 -122.409954,51.820054 -122.409957,51.819820 -122.409988,51.819739 -122.410061,51.819695 -122.410134,51.819650 -122.410193,51.819533 -122.410209,51.819408 -122.410183,51.819246 -122.410156,51.819093 -122.410128,51.818958 -122.410101,51.818832 -122.410045,51.818688 -122.410003,51.818552 -122.409962,51.818390 -122.409935,51.818237 -122.409940,51.817833 -122.409927,51.817716 -122.409914,51.817590 -122.409887,51.817455 -122.409890,51.817230 -122.409921,51.817024 -122.409953,51.816844 -122.410028,51.816655 -122.410087,51.816539 -122.410103,51.816413 -122.410134,51.816296 -122.410150,51.816179 -122.410181,51.816018 -122.410184,51.815766 -122.410172,51.815631 -122.410130,51.815505 -122.410088,51.815361 -122.410032,51.815226 -122.409990,51.815091 -122.409919,51.814955 -122.409807,51.814685 -122.409765,51.814577 -122.409723,51.814460 -122.409652,51.814316 -122.409596,51.814172 -122.409511,51.814045 -122.409411,51.813919 -122.409296,51.813801 -122.409182,51.813675 -122.409010,51.813467 -122.408823,51.813385 -122.408606,51.813312 -122.408289,51.813167 -122.408001,51.812986 -122.407916,51.812850 -122.407931,51.812779 -122.408005,51.812725 -122.408208,51.812672 -122.408441,51.812628 -122.408514,51.812602 -122.408603,51.812476 -122.408590,51.812341 -122.408548,51.812215 -122.408477,51.812089 -122.408406,51.812017 -122.408378,51.811891 -122.408381,51.811684 -122.408353,51.811630 -122.408109,51.811440 -122.407965,51.811331 -122.407821,51.811214 -122.407751,51.811078 -122.407767,51.810935 -122.407887,51.810665 -122.407975,51.810540 -122.408049,51.810414 -122.408124,51.810280 -122.408184,51.810136 -122.408229,51.810020 -122.408245,51.809894 -122.408248,51.809642 -122.408235,51.809525 -122.408237,51.809399 -122.408238,51.809273 -122.408255,51.809148 -122.408287,51.808914 -122.408274,51.808815 -122.408277,51.808563 -122.408279,51.808393 -122.408268,51.808132 -122.408284,51.807997 -122.408293,51.807305 -122.408294,51.807260 -122.408238,51.807125 -122.408094,51.806998 -122.408008,51.806953 -122.407879,51.806853 -122.407793,51.806736 -122.407766,51.806619 -122.407710,51.806403 -122.407612,51.806150 -122.407484,51.806006 -122.407312,51.805816 -122.407139,51.805707 -122.406938,51.805607 -122.406650,51.805408 -122.406492,51.805308 -122.406334,51.805209 -122.406190,51.805118 -122.406075,51.805019 -122.405933,51.804811 -122.405847,51.804685 -122.405748,51.804558 -122.405633,51.804441 -122.405533,51.804315 -122.405434,51.804170 -122.405349,51.804017 -122.405263,51.803900 -122.405192,51.803773 -122.405021,51.803566 -122.404936,51.803430 -122.404880,51.803295 -122.404883,51.803035 -122.404855,51.802917 -122.404856,51.802873 -122.404843,51.802792 -122.404816,51.802648 -122.404803,51.802495 -122.404809,51.802063 -122.404825,51.801901 -122.404842,51.801740 -122.404873,51.801578 -122.404904,51.801425 -122.404920,51.801317 -122.404935,51.801281 -122.404996,51.801048 -122.405086,51.800797 -122.405176,51.800581 -122.405221,51.800456 -122.405430,51.800000 -122.405430,51.799998 -122.405505,51.799837 -122.405550,51.799711 -122.405596,51.799558 -122.405627,51.799415 -122.405657,51.799298 -122.405645,51.799100 -122.405590,51.798929 -122.405576,51.798848 -122.405549,51.798704 -122.405522,51.798560 -122.405509,51.798434 -122.405511,51.798308 -122.405498,51.798173 -122.405500,51.798038 -122.405487,51.797886 -122.405475,51.797733 -122.405506,51.797571 -122.405537,51.797418 -122.405582,51.797284 -122.405627,51.797158 -122.405673,51.797014 -122.405747,51.796871 -122.405792,51.796763 -122.405852,51.796647 -122.405911,51.796503 -122.405957,51.796350 -122.406031,51.796216 -122.406091,51.796090 -122.406137,51.795929 -122.406168,51.795776 -122.406228,51.795614 -122.406302,51.795453 -122.406391,51.795337 -122.406538,51.795166 -122.406599,51.794960 -122.406615,51.794825 -122.406617,51.794708 -122.406633,51.794582 -122.406650,51.794403 -122.406695,51.794223 -122.406741,51.794088 -122.406800,51.793963 -122.406963,51.793748 -122.407037,51.793622 -122.407111,51.793497 -122.407171,51.793380 -122.407216,51.793255 -122.407232,51.793138 -122.407233,51.793012 -122.407250,51.792868 -122.407252,51.792724 -122.407268,51.792572 -122.407270,51.792428 -122.407243,51.792266 -122.407187,51.792104 -122.407173,51.792050 -122.407030,51.791941 -122.406842,51.791859 -122.406698,51.791795 -122.406468,51.791695 -122.406209,51.791496 -122.405893,51.791297 -122.405693,51.791098 -122.405492,51.790890 -122.405392,51.790809 -122.405277,51.790700 -122.405018,51.790555 -122.404903,51.790492 -122.404687,51.790392 -122.404429,51.790193 -122.404343,51.790075 -122.404272,51.789949 -122.404057,51.789750 -122.403727,51.789551 -122.403539,51.789469 -122.403337,51.789396 -122.403120,51.789341 -122.402789,51.789204 -122.402587,51.789068 -122.402400,51.788968 -122.402070,51.788760 -122.401811,51.788552 -122.401668,51.788452 -122.401408,51.788352 -122.401148,51.788279 -122.400917,51.788206 -122.400686,51.788150 -122.400512,51.788132 -122.400179,51.788094 -122.400006,51.788012 -122.400000,51.788012 -122.399992,51.788012 -122.399774,51.788038 -122.399556,51.788082 -122.399338,51.788081 -122.399237,51.788062 -122.399136,51.788008 -122.399065,51.787935 -122.399082,51.787720 -122.399068,51.787666 -122.398911,51.787539 -122.398594,51.787340 -122.398480,51.787240 -122.398381,51.787051 -122.398296,51.786915 -122.398283,51.786771 -122.398255,51.786672 -122.398184,51.786546 -122.398028,51.786330 -122.397914,51.786203 -122.397699,51.785995 -122.397627,51.785968 -122.397308,51.785939 -122.396760,51.785766 -122.396458,51.785548 -122.396243,51.785331 -122.396084,51.785313 -122.395811,51.785149 -122.395682,51.785032 -122.395438,51.784860 -122.395194,51.784688 -122.394965,51.784471 -122.394908,51.784353 -122.394837,51.784245 -122.394608,51.784046 -122.394493,51.783938 -122.394408,51.783820 -122.394323,51.783676 -122.394238,51.783523 -122.394139,51.783378 -122.394053,51.783234 -122.393940,51.783018 -122.393884,51.782901 -122.393827,51.782792 -122.393757,51.782639 -122.393659,51.782387 -122.393530,51.782260 -122.393387,51.782134 -122.393330,51.782017 -122.393303,51.781891 -122.393290,51.781765 -122.393292,51.781648 -122.393308,51.781513 -122.393324,51.781387 -122.393399,51.781226 -122.393474,51.781064 -122.393519,51.780948 -122.393564,51.780840 -122.393683,51.780589 -122.393713,51.780517 -122.393775,51.780230 -122.393995,51.780033 -122.394229,51.779845 -122.394304,51.779711 -122.394363,51.779567 -122.394409,51.779451 -122.394454,51.779325 -122.394485,51.779181 -122.394546,51.778912 -122.394591,51.778786 -122.394666,51.778643 -122.394769,51.778499 -122.394799,51.778428 -122.394773,51.778248 -122.394644,51.778076 -122.394444,51.777859 -122.394373,51.777742 -122.394332,51.777616 -122.394320,51.777427 -122.394308,51.777247 -122.394312,51.776950 -122.394299,51.776825 -122.394300,51.776708 -122.394246,51.776420 -122.394162,51.776185 -122.394106,51.776050 -122.394036,51.775915 -122.393979,51.775798 -122.393923,51.775672 -122.393866,51.775554 -122.393824,51.775446 -122.393741,51.775194 -122.393699,51.775050 -122.393615,51.774834 -122.393558,51.774744 -122.393401,51.774590 -122.393128,51.774427 -122.392840,51.774245 -122.392554,51.774010 -122.392440,51.773839 -122.392383,51.773776 -122.392326,51.773676 -122.392197,51.773559 -122.391968,51.773405 -122.391793,51.773431 -122.391444,51.773573 -122.391357,51.773572 -122.391184,51.773464 -122.391055,51.773337 -122.390870,51.773147 -122.390755,51.773021 -122.390656,51.772894 -122.390657,51.772760 -122.390688,51.772625 -122.390647,51.772481 -122.390331,51.772227 -122.390275,51.772110 -122.390247,51.771993 -122.390234,51.771885 -122.390239,51.771526 -122.390226,51.771409 -122.390170,51.771291 -122.389926,51.771074 -122.389827,51.770948 -122.389771,51.770813 -122.389801,51.770687 -122.389846,51.770561 -122.389863,51.770436 -122.389893,51.770310 -122.389909,51.770193 -122.389925,51.770067 -122.389928,51.769887 -122.389945,51.769717 -122.389992,51.769447 -122.390007,51.769366 -122.390053,51.769232 -122.390098,51.769097 -122.390158,51.768936 -122.390218,51.768783 -122.390249,51.768657 -122.390294,51.768532 -122.390385,51.768226 -122.390475,51.767993 -122.390521,51.767832 -122.390566,51.767670 -122.390626,51.767535 -122.390701,51.767401 -122.390731,51.767293 -122.390776,51.767176 -122.390836,51.767033 -122.390910,51.766880 -122.390970,51.766764 -122.391029,51.766656 -122.391089,51.766540 -122.391148,51.766432 -122.391208,51.766289 -122.391283,51.766145 -122.391342,51.766020 -122.391417,51.765885 -122.391476,51.765759 -122.391550,51.765634 -122.391595,51.765517 -122.391655,51.765401 -122.391715,51.765257 -122.391760,51.765114 -122.391776,51.764979 -122.391793,51.764835 -122.391809,51.764745 -122.391825,51.764610 -122.391841,51.764494 -122.391858,51.764278 -122.391874,51.764170 -122.391876,51.764053 -122.391922,51.763883 -122.391953,51.763685 -122.391959,51.763280 -122.391975,51.763155 -122.391977,51.763029 -122.391993,51.762876 -122.391995,51.762723 -122.391997,51.762597 -122.391984,51.762462 -122.391958,51.762273 -122.391932,51.762057 -122.391933,51.761922 -122.391908,51.761635 -122.391896,51.761473 -122.391869,51.761311 -122.391843,51.761095 -122.391817,51.760879 -122.391819,51.760762 -122.391806,51.760618 -122.391808,51.760492 -122.391796,51.760321 -122.391783,51.760195 -122.391770,51.760042 -122.391777,51.759512 -122.391794,51.759377 -122.391801,51.758838 -122.391817,51.758703 -122.391834,51.758577 -122.391821,51.758424 -122.391823,51.758271 -122.391825,51.758119 -122.391842,51.757957 -122.391849,51.757444 -122.391865,51.757292 -122.391867,51.757148 -122.391884,51.757004 -122.391899,51.755880 -122.391901,51.755682 -122.391918,51.755494 -122.391936,51.755296 -122.392011,51.755098 -122.392115,51.754901 -122.392263,51.754668 -122.392293,51.754551 -122.392383,51.754345 -122.392458,51.754130 -122.392637,51.753780 -122.392682,51.753654 -122.392756,51.753547 -122.392875,51.753332 -122.392978,51.753188 -122.393038,51.753063 -122.393126,51.752946 -122.393187,51.752713 -122.393232,51.752578 -122.393322,51.752381 -122.393426,51.752210 -122.393544,51.752004 -122.393604,51.751879 -122.393708,51.751663 -122.393782,51.751547 -122.393930,51.751332 -122.393989,51.751224 -122.394093,51.751090 -122.394196,51.750947 -122.394402,51.750678 -122.394593,51.750463 -122.394756,51.750257 -122.394888,51.750114 -122.395006,51.749980 -122.395109,51.749854 -122.395212,51.749720 -122.395476,51.749452 -122.395682,51.749201 -122.395830,51.748995 -122.395992,51.748789 -122.396095,51.748637 -122.396257,51.748449 -122.396331,51.748323 -122.396405,51.748216 -122.396479,51.748099 -122.396627,51.747893 -122.396730,51.747741 -122.396848,51.747597 -122.396892,51.747535 -122.397025,51.747383 -122.397172,51.747168 -122.397276,51.747033 -122.397379,51.746908 -122.397467,51.746782 -122.397570,51.746657 -122.397659,51.746532 -122.397748,51.746388 -122.397822,51.746245 -122.398000,51.745958 -122.398088,51.745841 -122.398280,51.745609 -122.398397,51.745492 -122.398515,51.745349 -122.398647,51.745215 -122.398735,51.745090 -122.398838,51.744973 -122.399058,51.744767 -122.399176,51.744633 -122.399279,51.744508 -122.399411,51.744383 -122.399808,51.743980 -122.399940,51.743837 -122.399999,51.743774 -122.400000,51.743773 -122.400072,51.743703 -122.400204,51.743568 -122.400307,51.743434 -122.400410,51.743318 -122.400484,51.743210 -122.400558,51.743085 -122.400632,51.742968 -122.400808,51.742771 -122.400998,51.742673 -122.401042,51.742611 -122.401001,51.742467 -122.400959,51.742323 -122.400932,51.742205 -122.400904,51.742097 -122.400906,51.741945 -122.400908,51.741801 -122.400910,51.741648 -122.400912,51.741495 -122.400929,51.741360 -122.400930,51.741234 -122.400946,51.741109 -122.400991,51.740983 -122.401051,51.740866 -122.401096,51.740759 -122.401141,51.740615 -122.401202,51.740418 -122.401246,51.740373 -122.401420,51.740338 -122.401769,51.740250 -122.402088,51.740224 -122.402334,51.740217 -122.402566,51.740218 -122.402797,51.740219 -122.402986,51.740220 -122.403188,51.740230 -122.403377,51.740231 -122.403579,51.740232 -122.403782,51.740233 -122.403999,51.740234 -122.404216,51.740244 -122.404433,51.740263 -122.404636,51.740273 -122.404853,51.740283 -122.405099,51.740293 -122.405345,51.740304 -122.405533,51.740314 -122.405722,51.740324 -122.405924,51.740334 -122.406112,51.740344 -122.406286,51.740371 -122.406560,51.740418 -122.406878,51.740464 -122.407066,51.740483 -122.407356,51.740530 -122.407645,51.740576 -122.407862,51.740586 -122.408079,51.740596 -122.408296,51.740633 -122.408498,51.740679 -122.408685,51.740734 -122.408873,51.740798 -122.409204,51.740926 -122.409392,51.740998 -122.409579,51.741071 -122.409766,51.741126 -122.409954,51.741181 -122.410142,51.741218 -122.410330,51.741255 -122.410546,51.741292 -122.410749,51.741320 -122.410966,51.741348 -122.411168,51.741358 -122.411414,51.741368 -122.411661,51.741370 -122.411834,51.741370 -122.412023,51.741380 -122.412225,51.741381 -122.412442,51.741400 -122.412601,51.741455 -122.412730,51.741537 -122.413003,51.741754 -122.413131,51.741880 -122.413288,51.742088 -122.413401,51.742295 -122.413486,51.742485 -122.413527,51.742611 -122.413555,51.742728 -122.413597,51.742845 -122.413639,51.742962 -122.413681,51.743079 -122.413723,51.743187 -122.413765,51.743304 -122.413806,51.743448 -122.413862,51.743592 -122.413889,51.743754 -122.413873,51.743916 -122.413843,51.743961 -122.413784,51.744060 -122.413680,51.744221 -122.413533,51.744409 -122.413430,51.744525 -122.413196,51.744722 -122.413078,51.744847 -122.412961,51.744964 -122.412858,51.745089 -122.412755,51.745232 -122.412738,51.745421 -122.412721,51.745565 -122.412705,51.745727 -122.412688,51.745879 -122.412730,51.746041 -122.412771,51.746203 -122.412799,51.746312 -122.412826,51.746429 -122.412868,51.746546 -122.412924,51.746663 -122.412995,51.746807 -122.413109,51.746942 -122.413209,51.747060 -122.413438,51.747277 -122.413552,51.747394 -122.413652,51.747521 -122.413723,51.747665 -122.413793,51.747809 -122.413864,51.747953 -122.413978,51.748071 -122.414309,51.748270 -122.414654,51.748461 -122.414856,51.748552 -122.415057,51.748634 -122.415259,51.748707 -122.415590,51.748870 -122.415835,51.748988 -122.416180,51.749170 -122.416511,51.749333 -122.416843,51.749425 -122.417189,51.749579 -122.417520,51.749770 -122.417691,51.749986 -122.418022,51.750132 -122.418224,51.750232 -122.418411,51.750323 -122.418613,51.750396 -122.418844,51.750424 -122.419047,51.750443 -122.419264,51.750444 -122.419467,51.750445 -122.419670,51.750437 -122.419916,51.750429 -122.420162,51.750412 -122.420351,51.750404 -122.420539,51.750387 -122.420728,51.750388 -122.420959,51.750398 -122.421177,51.750390 -122.421423,51.750382 -122.421669,51.750384 -122.421843,51.750385 -122.422075,51.750395 -122.422249,51.750405 -122.422451,51.750450 -122.422653,51.750496 -122.422914,51.750507 -122.423189,51.750508 -122.423421,51.750509 -122.423652,51.750537 -122.423695,51.750591 -122.423997,51.750746 -122.424199,51.750837 -122.424501,51.750991 -122.424833,51.751101 -122.425064,51.751156 -122.425208,51.751237 -122.425553,51.751392 -122.425755,51.751465 -122.425957,51.751538 -122.426159,51.751620 -122.426346,51.751719 -122.426533,51.751828 -122.426735,51.751901 -122.427038,51.751974 -122.427225,51.752083 -122.427529,51.752103 -122.427717,51.752122 -122.428064,51.752177 -122.428296,51.752187 -122.428527,51.752207 -122.428729,51.752261 -122.429076,51.752335 -122.429308,51.752372 -122.429539,51.752400 -122.429727,51.752437 -122.429915,51.752474 -122.430189,51.752565 -122.430362,51.752611 -122.430550,51.752630 -122.430724,51.752658 -122.430911,51.752749 -122.431083,51.752848 -122.431271,51.752903 -122.431459,51.752958 -122.431675,51.753004 -122.431878,51.753050 -122.432122,51.753186 -122.432469,51.753287 -122.432642,51.753332 -122.432844,51.753378 -122.433046,51.753424 -122.433234,51.753461 -122.433408,51.753489 -122.433739,51.753616 -122.433927,51.753653 -122.434130,51.753690 -122.434332,51.753718 -122.434535,51.753728 -122.434608,51.753711 -122.434738,51.753693 -122.434940,51.753766 -122.435142,51.753848 -122.435315,51.753903 -122.435646,51.754084 -122.435804,51.754193 -122.435976,51.754311 -122.436249,51.754483 -122.436523,51.754655 -122.436766,51.754872 -122.436924,51.754989 -122.437226,51.755207 -122.437513,51.755424 -122.437656,51.755541 -122.437756,51.755650 -122.437871,51.755767 -122.437985,51.755867 -122.438156,51.756083 -122.438198,51.756200 -122.438240,51.756335 -122.438282,51.756471 -122.438295,51.756596 -122.438323,51.756713 -122.438508,51.756912 -122.438608,51.757048 -122.438679,51.757192 -122.438706,51.757309 -122.438734,51.757435 -122.438790,51.757579 -122.438846,51.757723 -122.438903,51.757840 -122.438959,51.757966 -122.439001,51.758101 -122.439057,51.758237 -122.439157,51.758345 -122.439329,51.758517 -122.439486,51.758688 -122.439658,51.758878 -122.439772,51.758995 -122.439972,51.759203 -122.440173,51.759411 -122.440287,51.759537 -122.440387,51.759646 -122.440602,51.759862 -122.440731,51.759980 -122.440830,51.760124 -122.440974,51.760260 -122.441160,51.760378 -122.441491,51.760577 -122.441764,51.760758 -122.442037,51.760948 -122.442325,51.761147 -122.442656,51.761320 -122.442900,51.761465 -122.443188,51.761637 -122.443476,51.761818 -122.443821,51.761982 -122.444023,51.762064 -122.444368,51.762263 -122.444670,51.762462 -122.444972,51.762652 -122.445130,51.762752 -122.445274,51.762852 -122.445576,51.763051 -122.445907,51.763250 -122.446238,51.763423 -122.446540,51.763640 -122.446841,51.763857 -122.446956,51.763948 -122.447071,51.764038 -122.447286,51.764228 -122.447603,51.764364 -122.447906,51.764465 -122.448167,51.764475 -122.448428,51.764485 -122.448615,51.764540 -122.448832,51.764604 -122.448991,51.764649 -122.449337,51.764768 -122.449611,51.764913 -122.449898,51.765094 -122.450216,51.765213 -122.450403,51.765267 -122.450634,51.765367 -122.450806,51.765512 -122.450834,51.765629 -122.450832,51.765737 -122.450802,51.765854 -122.450699,51.765988 -122.450596,51.766114 -122.450464,51.766248 -122.450347,51.766364 -122.450200,51.766480 -122.450054,51.766597 -122.449704,51.766766 -122.449602,51.766774 -122.449530,51.766783 -122.449254,51.766836 -122.449050,51.766934 -122.448772,51.767148 -122.448625,51.767273 -122.448493,51.767407 -122.448376,51.767542 -122.448287,51.767685 -122.448242,51.767811 -122.448226,51.767937 -122.448254,51.768036 -122.448440,51.768243 -122.448683,51.768460 -122.448869,51.768659 -122.449142,51.768858 -122.449430,51.769075 -122.449718,51.769211 -122.449962,51.769348 -122.450193,51.769474 -122.450524,51.769638 -122.450841,51.769783 -122.451158,51.769920 -122.451360,51.769983 -122.451563,51.770029 -122.451866,51.770112 -122.452199,51.770176 -122.452372,51.770204 -122.452517,51.770232 -122.452835,51.770269 -122.453137,51.770486 -122.453163,51.770702 -122.453162,51.770837 -122.453102,51.770972 -122.452999,51.771106 -122.452911,51.771231 -122.452808,51.771357 -122.452733,51.771500 -122.452674,51.771635 -122.452512,51.771850 -122.452438,51.771967 -122.452408,51.772083 -122.452406,51.772209 -122.452404,51.772344 -122.452374,51.772479 -122.452372,51.772614 -122.452385,51.772731 -122.452427,51.772848 -122.452484,51.772983 -122.452554,51.773118 -122.452784,51.773308 -122.452913,51.773389 -122.453057,51.773471 -122.453389,51.773643 -122.453576,51.773716 -122.453793,51.773780 -122.454024,51.773844 -122.454197,51.773908 -122.454385,51.773972 -122.454717,51.774090 -122.454933,51.774172 -122.455164,51.774245 -122.455497,51.774310 -122.455757,51.774329 -122.455946,51.774348 -122.456134,51.774357 -122.456337,51.774358 -122.456540,51.774359 -122.456743,51.774360 -122.456946,51.774361 -122.457207,51.774353 -122.457482,51.774355 -122.457714,51.774374 -122.457945,51.774402 -122.458133,51.774448 -122.458321,51.774484 -122.458509,51.774512 -122.458683,51.774531 -122.458871,51.774550 -122.459045,51.774578 -122.459391,51.774660 -122.459608,51.774706 -122.459840,51.774761 -122.460157,51.774889 -122.460359,51.774943 -122.460547,51.775007 -122.460821,51.775116 -122.461095,51.775234 -122.461426,51.775407 -122.461628,51.775498 -122.461844,51.775589 -122.462032,51.775643 -122.462276,51.775860 -122.462405,51.775978 -122.462534,51.776095 -122.462620,51.776222 -122.462676,51.776357 -122.462674,51.776483 -122.462629,51.776608 -122.462541,51.776743 -122.462467,51.776886 -122.462422,51.777021 -122.462362,51.777146 -122.462274,51.777263 -122.462171,51.777379 -122.462083,51.777487 -122.461994,51.777603 -122.461876,51.777819 -122.461874,51.777935 -122.461859,51.778052 -122.461857,51.778178 -122.461841,51.778295 -122.461854,51.778421 -122.461867,51.778547 -122.461851,51.778682 -122.461849,51.778817 -122.461862,51.778942 -122.461904,51.779069 -122.462047,51.779285 -122.462132,51.779402 -122.462204,51.779519 -122.462274,51.779646 -122.462360,51.779772 -122.462460,51.779898 -122.462574,51.780025 -122.462703,51.780151 -122.462847,51.780269 -122.463178,51.780477 -122.463480,51.780640 -122.463768,51.780794 -122.463869,51.780849 -122.464042,51.780940 -122.464230,51.781003 -122.464447,51.781040 -122.464649,51.781077 -122.464852,51.781123 -122.465069,51.781178 -122.465415,51.781269 -122.465762,51.781343 -122.466066,51.781416 -122.466254,51.781444 -122.466442,51.781472 -122.466630,51.781500 -122.466847,51.781546 -122.467064,51.781583 -122.467325,51.781584 -122.467572,51.781585 -122.467760,51.781595 -122.467948,51.781605 -122.468180,51.781606 -122.468412,51.781616 -122.468600,51.781626 -122.468788,51.781653 -122.468991,51.781672 -122.469194,51.781700 -122.469498,51.781738 -122.469802,51.781775 -122.470149,51.781821 -122.470337,51.781849 -122.470496,51.781895 -122.470684,51.781950 -122.471001,51.782095 -122.471318,51.782303 -122.471447,51.782439 -122.471533,51.782520 -122.471704,51.782719 -122.471890,51.782935 -122.472105,51.783143 -122.472205,51.783269 -122.472305,51.783396 -122.472376,51.783504 -122.472548,51.783720 -122.472647,51.783919 -122.472717,51.784117 -122.472759,51.784252 -122.472801,51.784360 -122.472857,51.784540 -122.472914,51.784675 -122.472956,51.784774 -122.473012,51.784927 -122.473055,51.785026 -122.473097,51.785152 -122.473139,51.785270 -122.473181,51.785387 -122.473251,51.785594 -122.473307,51.785747 -122.473392,51.785963 -122.473405,51.786089 -122.473432,51.786242 -122.473430,51.786395 -122.473443,51.786557 -122.473426,51.786709 -122.473425,51.786844 -122.473409,51.786979 -122.473421,51.787168 -122.473449,51.787294 -122.473505,51.787456 -122.473561,51.787618 -122.473646,51.787753 -122.473746,51.787889 -122.473846,51.788015 -122.473961,51.788141 -122.474090,51.788250 -122.474219,51.788358 -122.474348,51.788467 -122.474592,51.788684 -122.474836,51.788874 -122.475037,51.789090 -122.475152,51.789208 -122.475295,51.789316 -122.475439,51.789434 -122.475669,51.789606 -122.475840,51.789822 -122.476057,51.789904 -122.476288,51.789941 -122.476477,51.789960 -122.476680,51.789979 -122.476868,51.789998 -122.477041,51.790025 -122.477388,51.790135 -122.477605,51.790190 -122.477895,51.790200 -122.478083,51.790219 -122.478430,51.790319 -122.478632,51.790383 -122.478805,51.790447 -122.478993,51.790502 -122.479326,51.790602 -122.479643,51.790729 -122.479989,51.790920 -122.480118,51.791019 -122.480262,51.791110 -122.480463,51.791299 -122.480649,51.791498 -122.480835,51.791706 -122.480935,51.791841 -122.481035,51.791976 -122.481135,51.792103 -122.481221,51.792229 -122.481321,51.792346 -122.481436,51.792464 -122.481565,51.792590 -122.481708,51.792725 -122.481837,51.792843 -122.481952,51.792969 -122.482038,51.793069 -122.482167,51.793204 -122.482309,51.793420 -122.482380,51.793529 -122.482451,51.793673 -122.482522,51.793808 -122.482621,51.794024 -122.482663,51.794150 -122.482777,51.794349 -122.483079,51.794566 -122.483253,51.794611 -122.483441,51.794648 -122.483787,51.794767 -122.484004,51.794840 -122.484206,51.794903 -122.484409,51.794958 -122.484597,51.794995 -122.484727,51.795005 -122.484901,51.795023 -122.485133,51.795033 -122.485321,51.795052 -122.485524,51.795062 -122.485742,51.795018 -122.485945,51.794983 -122.486192,51.794984 -122.486366,51.794985 -122.486598,51.794950 -122.486831,51.794906 -122.487034,51.794880 -122.487252,51.794845 -122.487441,51.794837 -122.487745,51.794847 -122.488035,51.794875 -122.488295,51.794948 -122.488627,51.795085 -122.488930,51.795221 -122.489276,51.795366 -122.489594,51.795493 -122.489896,51.795683 -122.490111,51.795891 -122.490298,51.796099 -122.490469,51.796315 -122.490569,51.796442 -122.490755,51.796658 -122.490913,51.796857 -122.491113,51.797064 -122.491286,51.797164 -122.491589,51.797309 -122.491921,51.797437 -122.492138,51.797482 -122.492355,51.797528 -122.492557,51.797583 -122.492760,51.797647 -122.492948,51.797684 -122.493151,51.797703 -122.493354,51.797712 -122.493557,51.797722 -122.493774,51.797714 -122.494006,51.797715 -122.494253,51.797716 -122.494514,51.797717 -122.494760,51.797728 -122.495007,51.797729 -122.495210,51.797720 -122.495528,51.797758 -122.495818,51.797831 -122.496020,51.797877 -122.496237,51.797932 -122.496454,51.797987 -122.496642,51.798005 -122.496831,51.798015 -122.497034,51.798016 -122.497222,51.798017 -122.497454,51.798027 -122.497686,51.798055 -122.497874,51.798092 -122.498047,51.798137 -122.498394,51.798265 -122.498712,51.798383 -122.499044,51.798501 -122.499318,51.798664 -122.499475,51.798881 -122.499560,51.799016 -122.499646,51.799151 -122.499717,51.799295 -122.499701,51.799439 -122.499641,51.799574 -122.499582,51.799699 -122.499522,51.799825 -122.499477,51.799951 -122.499464,51.800000 -122.499462,51.800004 -122.499228,51.800183 -122.499140,51.800282 -122.499037,51.800407 -122.498905,51.800524 -122.498788,51.800640 -122.498656,51.800756 -122.498539,51.800864 -122.498348,51.801061 -122.498013,51.801212 -122.497969,51.801266 -122.497924,51.801392 -122.497894,51.801499 -122.497894,51.801517 -122.497862,51.801787 -122.497801,51.802056 -122.497785,51.802200 -122.497782,51.802470 -122.497795,51.802587 -122.497822,51.802722 -122.497835,51.802857 -122.497863,51.803019 -122.497890,51.803172 -122.497945,51.803406 -122.498030,51.803622 -122.498058,51.803694 -122.498055,51.803946 -122.498039,51.804089 -122.498023,51.804224 -122.498020,51.804494 -122.498366,51.804711 -122.498654,51.804910 -122.498985,51.805110 -122.499259,51.805255 -122.499317,51.805291 -122.499634,51.805463 -122.499822,51.805536 -122.499995,51.805599 -122.500341,51.805754 -122.500644,51.805899 -122.500962,51.806017 -122.501150,51.806054 -122.501353,51.806091 -122.501555,51.806145 -122.501772,51.806200 -122.501960,51.806246 -122.502149,51.806283 -122.502352,51.806293 -122.502555,51.806294 -122.502641,51.806312 -122.503105,51.806368 -122.503177,51.806413 -122.503450,51.806621 -122.503621,51.806945 -122.503692,51.807072 -122.503777,51.807207 -122.503907,51.807315 -122.504080,51.807406 -122.504426,51.807569 -122.504628,51.807633 -122.504816,51.807697 -122.505004,51.807778 -122.505192,51.807851 -122.505293,51.807852 -122.505729,51.807764 -122.505904,51.807710 -122.505919,51.807701 -122.506064,51.807666 -122.506253,51.807613 -122.506442,51.807578 -122.506646,51.807552 -122.506834,51.807543 -122.507183,51.807518 -122.507516,51.807528 -122.507704,51.807592 -122.507992,51.807764 -122.508222,51.807963 -122.508322,51.808080 -122.508538,51.808288 -122.508796,51.808523 -122.508911,51.808658 -122.509111,51.808929 -122.509455,51.809308 -122.509570,51.809398 -122.509844,51.809561 -122.510132,51.809733 -122.510261,51.809833 -122.510462,51.810031 -122.510678,51.810239 -122.510778,51.810320 -122.511038,51.810483 -122.511354,51.810700 -122.511642,51.810890 -122.511887,51.811080 -122.512190,51.811270 -122.512507,51.811433 -122.512854,51.811570 -122.513042,51.811615 -122.513389,51.811734 -122.513678,51.811825 -122.513721,51.811843 -122.513909,51.811889 -122.514112,51.811908 -122.514330,51.811917 -122.514547,51.811936 -122.514590,51.811945 -122.514750,51.811964 -122.514938,51.811983 -122.515127,51.811993 -122.515315,51.811993 -122.515533,51.811985 -122.515751,51.811968 -122.515925,51.811951 -122.516114,51.811934 -122.516230,51.811898 -122.516666,51.811810 -122.516855,51.811775 -122.517058,51.811749 -122.517465,51.811715 -122.517668,51.811688 -122.517857,51.811662 -122.518060,51.811654 -122.518249,51.811637 -122.518844,51.811639 -122.519061,51.811685 -122.519263,51.811821 -122.519522,51.812020 -122.519651,51.812137 -122.519737,51.812182 -122.519839,51.812201 -122.520274,51.812221 -122.520912,51.812223 -122.521144,51.812206 -122.521348,51.812153 -122.521552,51.812091 -122.521755,51.812047 -122.521944,51.812003 -122.522163,51.811905 -122.522236,51.811869 -122.522425,51.811798 -122.522891,51.811674 -122.523094,51.811630 -122.523298,51.811576 -122.523501,51.811532 -122.523705,51.811479 -122.523923,51.811435 -122.524156,51.811391 -122.524345,51.811356 -122.524533,51.811339 -122.524737,51.811322 -122.524940,51.811313 -122.525157,51.811296 -122.525564,51.811298 -122.525883,51.811290 -122.526173,51.811309 -122.526361,51.811328 -122.526593,51.811374 -122.526810,51.811420 -122.527274,51.811458 -122.527375,51.811494 -122.527577,51.811558 -122.527780,51.811613 -122.527968,51.811649 -122.528171,51.811686 -122.528503,51.811795 -122.528647,51.811868 -122.528935,51.812076 -122.529079,51.812184 -122.529267,51.812257 -122.529411,51.812338 -122.529569,51.812555 -122.529726,51.812762 -122.529826,51.812897 -122.529897,51.813042 -122.529939,51.813186 -122.529939,51.813221 -122.532556,51.813818 -122.540792,51.817453 -122.554144,51.823618 -122.569861,51.827391 -122.587283,51.834671 -122.606998,51.845005 -122.617322,51.848324 -122.639711,51.849889 -122.657629,51.851022 -122.667740,51.850971 -122.680250,51.851656 -122.690265,51.849629 -122.692214,51.847924 -122.690803,51.846045 -122.685934,51.842018 -122.688113,51.839390 -122.686552,51.836696 -122.690627,51.833522 -122.689798,51.831189 -122.695459,51.830129 -122.696376,51.826435 -122.701736,51.823747 -122.707212,51.826740 -122.701871,51.833139 -122.704138,51.836772 -122.699509,51.839821 -122.701221,51.843329 -122.699237,51.849902 -122.690829,51.857754 -122.668097,51.859440 -122.647775,51.857570 -122.627335,51.854303 -122.595360,51.853486 -122.581908,51.849063 -122.566905,51.841943 -122.558837,51.838545 -122.542443,51.833250 -122.526579,51.828658 -122.523233,51.827754 -122.522906,51.828381 -122.503668,51.825006 -122.492791,51.813581 -122.493709,51.808507 -122.478859,51.805790 -122.477046,51.801183 -122.465647,51.801089 -122.453997,51.801078 -122.442338,51.801034 -122.442348,51.801840 -122.436682,51.802020 -122.434955,51.804061 -122.433569,51.804609 -122.432169,51.806002 -122.431249,51.806500 -122.429882,51.806788 -122.427881,51.807070 -122.426544,51.806963 -122.424918,51.806935 -122.424920,51.808244 -122.424895,51.818049 -122.425046,51.825279 -122.436838,51.825322 -122.436874,51.832536 -122.433711,51.832535 -122.425123,51.839297 -122.425137,51.839777 -122.425334,51.847008 -122.425353,51.854238 -122.425194,51.861539 -122.425164,51.865164 -122.425134,51.868788 -122.425073,51.876025 -122.413389,51.876044 -122.410268,51.876049 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-133.329211,53.838759 -133.080411,54.020847</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-133.106053,53.848360 -133.106523,53.848219 -133.108941,53.847527 -133.111379,53.846860 -133.113837,53.846218 -133.116313,53.845602 -133.118807,53.845011 -133.121317,53.844446 -133.123844,53.843906 -133.126387,53.843393 -133.128944,53.842906 -133.131515,53.842446 -133.134099,53.842012 -133.136696,53.841605 -133.139304,53.841224 -133.141923,53.840871 -133.144552,53.840544 -133.147190,53.840245 -133.149836,53.839973 -133.152490,53.839728 -133.155151,53.839511 -133.157818,53.839321 -133.160490,53.839158 -133.163166,53.839023 -133.165846,53.838916 -133.168529,53.838836 -133.171213,53.838783 -133.173899,53.838759 -133.176585,53.838762 -133.179271,53.838793 -133.181955,53.838851 -133.184637,53.838937 -133.187316,53.839051 -133.189992,53.839192 -133.192663,53.839361 -133.195328,53.839557 -133.197988,53.839781 -133.200640,53.840032 -133.203285,53.840310 -133.205921,53.840616 -133.208548,53.840948 -133.211164,53.841308 -133.213770,53.841694 -133.216363,53.842107 -133.218945,53.842547 -133.221513,53.843014 -133.224067,53.843506 -133.226606,53.844025 -133.229129,53.844570 -133.231636,53.845141 -133.234126,53.845738 -133.236598,53.846360 -133.239051,53.847008 -133.241485,53.847681 -133.243899,53.848378 -133.246292,53.849101 -133.248663,53.849848 -133.251012,53.850619 -133.253338,53.851414 -133.255640,53.852234 -133.257918,53.853076 -133.260171,53.853943 -133.262398,53.854832 -133.264598,53.855744 -133.266771,53.856678 -133.268917,53.857635 -133.271034,53.858614 -133.273122,53.859614 -133.275180,53.860636 -133.277207,53.861679 -133.279204,53.862742 -133.281169,53.863826 -133.283102,53.864930 -133.285003,53.866054 -133.286869,53.867197 -133.288702,53.868359 -133.290501,53.869540 -133.292264,53.870739 -133.293992,53.871956 -133.295684,53.873191 -133.297339,53.874443 -133.298957,53.875712 -133.300537,53.876997 -133.302080,53.878299 -133.303583,53.879616 -133.305048,53.880948 -133.306473,53.882296 -133.307859,53.883658 -133.309204,53.885033 -133.310508,53.886423 -133.311771,53.887826 -133.312993,53.889241 -133.314172,53.890669 -133.315310,53.892109 -133.316404,53.893560 -133.317456,53.895023 -133.318465,53.896496 -133.319429,53.897979 -133.320350,53.899472 -133.321227,53.900974 -133.322059,53.902485 -133.322847,53.904004 -133.323590,53.905532 -133.324287,53.907066 -133.324939,53.908608 -133.325546,53.910156 -133.326106,53.911710 -133.326621,53.913270 -133.327089,53.914834 -133.327512,53.916404 -133.327887,53.917977 -133.328217,53.919554 -133.328499,53.921134 -133.328735,53.922717 -133.328924,53.924302 -133.329066,53.925889 -133.329161,53.927477 -133.329210,53.929066 -133.329211,53.930655 -133.329165,53.932244 -133.329072,53.933832 -133.328933,53.935419 -133.328746,53.937004 -133.328513,53.938587 -133.328232,53.940167 -133.327905,53.941745 -133.327531,53.943319 -133.327111,53.944888 -133.326645,53.946453 -133.326132,53.948013 -133.325573,53.949568 -133.324968,53.951116 -133.324317,53.952658 -133.323621,53.954194 -133.322879,53.955721 -133.322092,53.957241 -133.321260,53.958753 -133.320384,53.960255 -133.319463,53.961749 -133.318498,53.963233 -133.317489,53.964706 -133.316437,53.966169 -133.315341,53.967621 -133.314202,53.969062 -133.313021,53.970490 -133.311798,53.971906 -133.310533,53.973310 -133.309226,53.974700 -133.307879,53.976076 -133.306491,53.977439 -133.305062,53.978786 -133.303594,53.980119 -133.302086,53.981437 -133.300540,53.982739 -133.298955,53.984024 -133.297332,53.985294 -133.295672,53.986546 -133.293974,53.987781 -133.292241,53.988998 -133.290471,53.990198 -133.288666,53.991379 -133.286826,53.992541 -133.284952,53.993684 -133.283045,53.994807 -133.281104,53.995911 -133.279131,53.996994 -133.277125,53.998057 -133.275089,53.999100 -133.273022,54.000121 -133.270925,54.001120 -133.268798,54.002098 -133.266643,54.003054 -133.264459,54.003988 -133.262248,54.004899 -133.260010,54.005787 -133.257747,54.006651 -133.255458,54.007493 -133.253144,54.008310 -133.250806,54.009104 -133.248445,54.009873 -133.246061,54.010618 -133.243656,54.011339 -133.241230,54.012034 -133.238783,54.012704 -133.236317,54.013349 -133.233831,54.013969 -133.231328,54.014563 -133.228808,54.015131 -133.226271,54.015673 -133.223718,54.016188 -133.221150,54.016678 -133.218568,54.017140 -133.215973,54.017577 -133.213365,54.017986 -133.210745,54.018368 -133.208115,54.018724 -133.205474,54.019052 -133.202824,54.019353 -133.200165,54.019626 -133.197499,54.019872 -133.194825,54.020091 -133.192146,54.020282 -133.189461,54.020446 -133.186772,54.020581 -133.184079,54.020689 -133.181383,54.020770 -133.178685,54.020822 -133.175987,54.020847 -133.173287,54.020844 -133.170589,54.020813 -133.167892,54.020754 -133.165196,54.020667 -133.162504,54.020553 -133.159816,54.020411 -133.157132,54.020242 -133.154454,54.020044 -133.151782,54.019819 -133.149117,54.019567 -133.146460,54.019287 -133.143812,54.018980 -133.141174,54.018646 -133.138545,54.018285 -133.135928,54.017896 -133.133323,54.017481 -133.130731,54.017039 -133.128152,54.016570 -133.125588,54.016075 -133.123038,54.015553 -133.120505,54.015005 -133.117988,54.014432 -133.115489,54.013832 -133.113008,54.013207 -133.110546,54.012556 -133.108104,54.011880 -133.105682,54.011179 -133.103282,54.010453 -133.100903,54.009702 -133.098547,54.008928 -133.096215,54.008128 -133.093906,54.007306 -133.091623,54.006459 -133.089365,54.005589 -133.087133,54.004696 -133.084928,54.003780 -133.082751,54.002841 -133.080602,54.001880 -133.080411,54.001792 -133.090518,54.001971 -133.102457,54.001408 -133.104598,53.994719 -133.106543,53.988637 -133.112869,53.985562 -133.108488,53.982556 -133.102273,53.958566 -133.106862,53.950891 -133.099811,53.947902 -133.099275,53.941231 -133.082924,53.935632 -133.084898,53.931130 -133.097485,53.933476 -133.108790,53.933160 -133.112195,53.939205 -133.115675,53.938333 -133.126400,53.939838 -133.126951,53.936437 -133.120349,53.935389 -133.117198,53.931891 -133.121780,53.924215 -133.133020,53.920741 -133.141656,53.910367 -133.136321,53.900332 -133.142474,53.889369 -133.136205,53.883952 -133.137173,53.880912 -133.136469,53.876427 -133.133483,53.870744 -133.120721,53.869011 -133.113818,53.862262 -133.108363,53.855989 -133.105025,53.853099 -133.106053,53.848360 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-133.117324,53.673636 -132.924626,53.777462</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-132.956755,53.710053 -132.957232,53.709753 -132.957921,53.709334 -132.949283,53.708877 -132.933708,53.706166 -132.928982,53.704370 -132.924626,53.699783 -132.924778,53.696023 -132.929241,53.693696 -132.926235,53.683282 -132.930937,53.683501 -132.941235,53.689392 -132.944282,53.688164 -132.938053,53.681161 -132.941664,53.676535 -132.955422,53.681558 -132.963607,53.682485 -132.968747,53.684641 -132.969622,53.688517 -132.961092,53.691958 -132.962162,53.695227 -132.965452,53.696544 -132.975444,53.695156 -132.974229,53.682429 -132.981976,53.681417 -132.985532,53.673636 -132.990233,53.673853 -132.999076,53.677685 -133.003683,53.684814 -133.019915,53.690421 -133.027771,53.692812 -133.028789,53.692835 -133.030407,53.692890 -133.032023,53.692961 -133.033637,53.693049 -133.035248,53.693153 -133.036856,53.693274 -133.038460,53.693412 -133.040059,53.693567 -133.041654,53.693737 -133.043244,53.693925 -133.044827,53.694129 -133.046405,53.694349 -133.047976,53.694585 -133.049540,53.694838 -133.051096,53.695106 -133.052644,53.695391 -133.054183,53.695692 -133.055713,53.696009 -133.057234,53.696341 -133.058745,53.696689 -133.060246,53.697053 -133.061735,53.697432 -133.063213,53.697826 -133.064680,53.698236 -133.066134,53.698661 -133.067575,53.699101 -133.069004,53.699555 -133.070418,53.700025 -133.071819,53.700509 -133.073206,53.701007 -133.074577,53.701520 -133.075933,53.702046 -133.077274,53.702587 -133.078599,53.703141 -133.079907,53.703709 -133.081198,53.704291 -133.082472,53.704886 -133.083728,53.705494 -133.084967,53.706114 -133.086187,53.706748 -133.087388,53.707394 -133.088570,53.708052 -133.089732,53.708723 -133.090875,53.709405 -133.091997,53.710099 -133.093099,53.710805 -133.094180,53.711521 -133.095240,53.712249 -133.096278,53.712988 -133.097294,53.713738 -133.098289,53.714498 -133.099260,53.715268 -133.100209,53.716048 -133.101135,53.716837 -133.102038,53.717636 -133.102917,53.718445 -133.103772,53.719262 -133.104603,53.720088 -133.105410,53.720922 -133.106192,53.721765 -133.106949,53.722616 -133.107680,53.723474 -133.108387,53.724340 -133.109068,53.725213 -133.109723,53.726093 -133.110353,53.726979 -133.110956,53.727872 -133.111533,53.728771 -133.112083,53.729676 -133.112607,53.730587 -133.113103,53.731502 -133.113573,53.732423 -133.114016,53.733349 -133.114431,53.734278 -133.114819,53.735213 -133.115179,53.736150 -133.115512,53.737092 -133.115817,53.738037 -133.116094,53.738984 -133.116343,53.739935 -133.116564,53.740888 -133.116758,53.741843 -133.116923,53.742800 -133.117059,53.743759 -133.117168,53.744718 -133.117248,53.745679 -133.117300,53.746641 -133.117324,53.747602 -133.117319,53.748564 -133.117286,53.749526 -133.117225,53.750487 -133.117135,53.751448 -133.117017,53.752407 -133.116871,53.753365 -133.116697,53.754322 -133.116495,53.755276 -133.116264,53.756229 -133.116005,53.757178 -133.115719,53.758125 -133.115405,53.759069 -133.115062,53.760009 -133.114693,53.760946 -133.114295,53.761879 -133.113871,53.762807 -133.113418,53.763731 -133.112939,53.764650 -133.112433,53.765564 -133.111900,53.766473 -133.111340,53.767376 -133.110753,53.768273 -133.110141,53.769164 -133.109502,53.770048 -133.108837,53.770926 -133.108146,53.771797 -133.107430,53.772660 -133.106688,53.773516 -133.105921,53.774364 -133.105130,53.775204 -133.104313,53.776036 -133.103472,53.776859 -133.102831,53.777462 -133.100176,53.776530 -133.094435,53.776203 -133.088444,53.773330 -133.083867,53.769356 -133.078600,53.772544 -133.075745,53.773168 -133.061992,53.771313 -133.057640,53.768307 -133.055534,53.764924 -133.053595,53.759356 -133.052348,53.758271 -133.035446,53.751338 -133.027181,53.758907 -133.010759,53.768705 -132.998968,53.773987 -132.991007,53.775608 -132.986464,53.773207 -132.985365,53.768361 -132.988173,53.764586 -132.990589,53.762025 -133.005768,53.751145 -133.001252,53.750321 -132.993197,53.745636 -132.991903,53.741398 -132.992950,53.729869 -132.990898,53.716418 -132.985119,53.712932 -132.966688,53.710848 -132.956755,53.710053 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-132.502407,52.928711 -132.249914,53.062915</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-132.357600,52.930161 -132.359215,52.929969 -132.361288,52.929744 -132.363366,52.929542 -132.365450,52.929361 -132.367539,52.929203 -132.369632,52.929066 -132.371729,52.928952 -132.373829,52.928859 -132.375931,52.928789 -132.378034,52.928741 -132.380139,52.928715 -132.382244,52.928711 -132.384349,52.928730 -132.386454,52.928770 -132.388556,52.928833 -132.390657,52.928917 -132.392755,52.929024 -132.394849,52.929153 -132.396939,52.929304 -132.399025,52.929477 -132.401106,52.929672 -132.403180,52.929889 -132.405248,52.930127 -132.407309,52.930387 -132.409362,52.930669 -132.411406,52.930973 -132.413442,52.931298 -132.415468,52.931644 -132.417483,52.932012 -132.419488,52.932400 -132.421481,52.932810 -132.423462,52.933241 -132.425431,52.933693 -132.427386,52.934165 -132.429327,52.934657 -132.431254,52.935170 -132.433166,52.935704 -132.435062,52.936257 -132.436942,52.936830 -132.438805,52.937423 -132.440650,52.938035 -132.442478,52.938667 -132.444288,52.939318 -132.446078,52.939988 -132.447849,52.940676 -132.449599,52.941383 -132.451329,52.942109 -132.453038,52.942852 -132.454725,52.943614 -132.456390,52.944393 -132.458033,52.945189 -132.459652,52.946003 -132.461247,52.946834 -132.462819,52.947681 -132.464365,52.948544 -132.465887,52.949424 -132.467383,52.950320 -132.468853,52.951231 -132.470296,52.952158 -132.471712,52.953099 -132.473102,52.954056 -132.474463,52.955027 -132.475796,52.956012 -132.477101,52.957011 -132.478376,52.958024 -132.479622,52.959049 -132.480839,52.960088 -132.482025,52.961140 -132.483180,52.962204 -132.484305,52.963279 -132.485399,52.964367 -132.486461,52.965466 -132.487491,52.966576 -132.488489,52.967696 -132.489455,52.968827 -132.490388,52.969968 -132.491287,52.971119 -132.492154,52.972278 -132.492987,52.973447 -132.493785,52.974625 -132.494550,52.975810 -132.495281,52.977004 -132.495976,52.978205 -132.496638,52.979413 -132.497264,52.980628 -132.497854,52.981849 -132.498410,52.983077 -132.498930,52.984310 -132.499414,52.985548 -132.499863,52.986791 -132.500275,52.988039 -132.500651,52.989291 -132.500991,52.990547 -132.501295,52.991806 -132.501562,52.993068 -132.501793,52.994333 -132.501987,52.995600 -132.502145,52.996869 -132.502265,52.998139 -132.502349,52.999410 -132.502396,53.000682 -132.502407,53.001955 -132.502380,53.003227 -132.502317,53.004499 -132.502217,53.005770 -132.502080,53.007040 -132.501907,53.008308 -132.501697,53.009574 -132.501450,53.010838 -132.501166,53.012099 -132.500846,53.013356 -132.500490,53.014611 -132.500098,53.015861 -132.499669,53.017107 -132.499205,53.018348 -132.498704,53.019584 -132.498168,53.020815 -132.497596,53.022040 -132.496989,53.023258 -132.496346,53.024471 -132.495669,53.025676 -132.495020,53.026767 -132.491167,53.025175 -132.483337,53.025182 -132.470903,53.032817 -132.455843,53.034158 -132.449820,53.035008 -132.442395,53.040096 -132.436972,53.040703 -132.430944,53.036831 -132.423915,53.037559 -132.410455,53.024608 -132.396803,53.023277 -132.359653,53.031380 -132.333723,53.046499 -132.326295,53.043710 -132.326905,53.040320 -132.305000,53.044903 -132.295347,53.048768 -132.292731,53.050339 -132.292876,53.051176 -132.292741,53.051089 -132.287890,53.056992 -132.284462,53.060984 -132.279633,53.062915 -132.249914,53.056461 -132.249920,53.054887 -132.264600,53.051638 -132.285910,53.047305 -132.286320,53.046532 -132.285789,53.046123 -132.284799,53.045334 -132.288337,53.041618 -132.292357,53.040533 -132.312253,53.035709 -132.317683,53.031961 -132.339980,53.027739 -132.353037,53.023024 -132.352638,53.021087 -132.349226,53.020360 -132.340189,53.022413 -132.331185,53.005581 -132.345434,53.005105 -132.371321,53.004147 -132.377944,53.001486 -132.366910,53.000152 -132.361698,52.995429 -132.351072,52.989736 -132.338233,52.990697 -132.316803,52.975189 -132.324437,52.967933 -132.322436,52.966116 -132.324676,52.948448 -132.331898,52.943975 -132.341712,52.945796 -132.339714,52.942406 -132.344525,52.940472 -132.350534,52.941201 -132.351937,52.940113 -132.350944,52.933698 -132.358158,52.930797 -132.357600,52.930161 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-121.242930,48.999277 -120.594574,49.315064</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-121.106718,49.173361 -121.104935,49.171334 -121.105480,49.171146 -121.105501,49.171135 -121.105575,49.171110 -121.106698,49.170643 -121.107671,49.170255 -121.109122,49.169771 -121.110551,49.169322 -121.110705,49.169249 -121.110901,49.169164 -121.111784,49.168616 -121.111824,49.168577 -121.111880,49.168550 -121.112750,49.167889 -121.112767,49.167870 -121.112849,49.167804 -121.113567,49.167104 -121.113706,49.166931 -121.113787,49.166733 -121.113853,49.166440 -121.114487,49.165709 -121.115233,49.165031 -121.115241,49.165022 -121.115256,49.165010 -121.115746,49.164536 -121.115770,49.164507 -121.115797,49.164484 -121.116088,49.164156 -121.116200,49.164108 -121.117474,49.163866 -121.117486,49.163863 -121.117491,49.163862 -121.119179,49.163525 -121.119327,49.163489 -121.119363,49.163473 -121.119399,49.163467 -121.121146,49.162887 -121.121173,49.162873 -121.121283,49.162834 -121.123287,49.161964 -121.123516,49.161839 -121.123540,49.161815 -121.123569,49.161801 -121.124796,49.160865 -121.124814,49.160845 -121.124897,49.160778 -121.125488,49.160196 -121.126541,49.159573 -121.126816,49.159493 -121.129482,49.161986 -121.127973,49.162807 -121.125910,49.163577 -121.124275,49.164099 -121.124262,49.164105 -121.124174,49.164135 -121.122418,49.164819 -121.120855,49.165379 -121.120839,49.165388 -121.120789,49.165405 -121.119123,49.166083 -121.119109,49.166091 -121.119086,49.166099 -121.117461,49.166809 -121.117402,49.166841 -121.117357,49.166859 -121.115773,49.167702 -121.115700,49.167746 -121.115688,49.167751 -121.114356,49.168588 -121.114342,49.168602 -121.114318,49.168613 -121.114232,49.168677 -121.113480,49.169297 -121.113478,49.169299 -121.113471,49.169305 -121.112607,49.170033 -121.111054,49.170939 -121.109436,49.171749 -121.109384,49.171780 -121.109363,49.171788 -121.108002,49.172572 -121.107956,49.172601 -121.107951,49.172603 -121.107101,49.173145 -121.106718,49.173361 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-121.130914,49.076303 -121.124940,49.075315 -121.125011,49.073553 -121.125226,49.073485 -121.130846,49.076202 -121.130914,49.076303 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-121.000667,49.314104 -121.000667,49.314104 -121.000432,49.314190 -121.000308,49.314230 -120.999911,49.314288 -120.999471,49.314438 -120.999459,49.314440 -120.999445,49.314447 -120.998918,49.314617 -120.998885,49.314623 -120.998854,49.314637 -120.998749,49.314663 -120.998146,49.314797 -120.998139,49.314798 -120.998116,49.314803 -120.997666,49.314896 -120.997356,49.314971 -120.997242,49.314985 -120.997029,49.315022 -120.996537,49.315059 -120.996404,49.315064 -120.995876,49.315001 -120.995424,49.314811 -120.995119,49.314522 -120.995005,49.314179 -120.995102,49.313833 -120.995382,49.313545 -120.995715,49.313315 -120.996241,49.312916 -120.996297,49.312889 -120.996338,49.312849 -120.996595,49.312690 -120.997000,49.312403 -120.997169,49.312236 -120.997179,49.312208 -120.997138,49.312140 -120.997133,49.312126 -120.997080,49.312021 -120.996696,49.310995 -120.996681,49.310917 -120.996664,49.310877 -120.996551,49.310180 -120.996543,49.310099 -120.996636,49.309759 -120.996930,49.309262 -120.996971,49.308261 -120.996971,49.308261 -120.997046,49.306408 -120.997049,49.306400 -120.997052,49.306345 -120.997222,49.305202 -120.997170,49.304817 -120.997176,49.304788 -120.997164,49.304752 -120.997190,49.304566 -120.997264,49.304315 -120.997315,49.304203 -120.997319,49.304184 -120.997611,49.303650 -120.997955,49.303020 -120.998135,49.302633 -120.998214,49.302316 -120.998251,49.302024 -120.998220,49.301791 -120.998043,49.301419 -120.997890,49.301134 -120.997595,49.300651 -120.997570,49.300568 -120.997502,49.300389 -120.997495,49.300336 -120.997063,49.299971 -120.996524,49.299574 -120.995838,49.299199 -120.995796,49.299162 -120.995730,49.299133 -120.994981,49.298625 -120.994975,49.298620 -120.994915,49.298577 -120.994328,49.298117 -120.994300,49.298088 -120.994241,49.298042 -120.993706,49.297520 -120.993591,49.297383 -120.993588,49.297380 -120.993264,49.296897 -120.993264,49.296895 -120.993262,49.296894 -120.993171,49.296699 -120.993049,49.296264 -120.992953,49.296009 -120.992938,49.295936 -120.992922,49.295895 -120.992840,49.295418 -120.992772,49.295031 -120.992763,49.294942 -120.992824,49.294661 -120.992951,49.294394 -120.992975,49.294367 -120.992986,49.294329 -120.993073,49.294212 -120.993423,49.293813 -120.993492,49.293753 -120.993533,49.293707 -120.993817,49.293469 -120.993912,49.293397 -120.993961,49.293375 -120.993988,49.293350 -120.994530,49.293036 -120.994541,49.293031 -120.994574,49.293011 -120.995064,49.292750 -120.995372,49.292628 -120.995382,49.292623 -120.995850,49.292489 -120.995973,49.292448 -120.996022,49.292096 -120.995993,49.291421 -120.995947,49.290999 -120.995954,49.290972 -120.995944,49.290941 -120.995940,49.290617 -120.995947,49.290595 -120.995992,49.290366 -120.996262,49.289743 -120.996387,49.289396 -120.996390,49.289388 -120.996391,49.289384 -120.996524,49.289035 -120.996579,49.288922 -120.996625,49.288855 -120.996786,49.288641 -120.996850,49.288485 -120.996863,49.288460 -120.996864,49.288452 -120.996983,49.288202 -120.997007,49.288176 -120.997018,49.288138 -120.997100,49.288026 -120.997300,49.287794 -120.997521,49.287478 -120.997694,49.287224 -120.997699,49.287218 -120.997727,49.287178 -120.997900,49.286959 -120.998036,49.286773 -120.998070,49.286563 -120.998062,49.286439 -120.997909,49.286063 -120.997906,49.286049 -120.997897,49.286031 -120.997762,49.285644 -120.997641,49.285302 -120.997605,49.285113 -120.997635,49.284911 -120.997708,49.284688 -120.997774,49.284544 -120.997791,49.284527 -120.997797,49.284509 -120.997924,49.284322 -120.997943,49.284303 -120.997994,49.284238 -120.997977,49.284165 -120.997960,49.284039 -120.997961,49.284037 -120.997960,49.284034 -120.997954,49.283665 -120.997954,49.283665 -120.997954,49.283664 -120.997950,49.283392 -120.997928,49.283249 -120.997831,49.282694 -120.997822,49.282607 -120.997824,49.282599 -120.997822,49.282592 -120.997822,49.282115 -120.997828,49.282094 -120.997859,49.281910 -120.998102,49.281231 -120.998149,49.281132 -120.998151,49.281123 -120.998377,49.280726 -120.998528,49.280449 -120.998540,49.280436 -120.998544,49.280420 -120.998621,49.280313 -120.998771,49.280137 -120.998888,49.279939 -120.998892,49.279935 -120.998893,49.279930 -120.998950,49.279849 -120.999132,49.279618 -120.999180,49.279544 -120.999154,49.279346 -120.999101,49.279069 -120.999100,49.279058 -120.999098,49.279054 -120.999079,49.278941 -120.998951,49.278722 -120.998942,49.278693 -120.998886,49.278574 -120.998823,49.278365 -120.998499,49.278345 -120.998128,49.278346 -120.997769,49.278349 -120.997765,49.278348 -120.997549,49.278339 -120.997117,49.278296 -120.996602,49.278252 -120.996420,49.278221 -120.996347,49.278214 -120.995626,49.278058 -120.995574,49.278037 -120.995510,49.278029 -120.994909,49.277858 -120.994747,49.277787 -120.994542,49.277704 -120.994428,49.277637 -120.994401,49.277614 -120.994362,49.277597 -120.994168,49.277467 -120.993995,49.277299 -120.993580,49.277226 -120.993432,49.277194 -120.993219,49.277124 -120.992827,49.276966 -120.992279,49.276806 -120.991718,49.276658 -120.991692,49.276647 -120.991666,49.276643 -120.991289,49.276532 -120.990739,49.276398 -120.990499,49.276340 -120.990464,49.276326 -120.990424,49.276321 -120.990158,49.276245 -120.989844,49.276180 -120.989803,49.276165 -120.989747,49.276158 -120.989444,49.276049 -120.989169,49.275918 -120.989021,49.275837 -120.989016,49.275833 -120.989010,49.275830 -120.988741,49.275656 -120.988602,49.275573 -120.988576,49.275550 -120.988539,49.275534 -120.988380,49.275427 -120.987925,49.275255 -120.987447,49.275093 -120.987431,49.275085 -120.987388,49.275071 -120.987264,49.275024 -120.986957,49.275000 -120.986948,49.274998 -120.986933,49.274998 -120.986440,49.274953 -120.986413,49.274949 -120.986378,49.274947 -120.985898,49.274889 -120.985464,49.274858 -120.985450,49.274855 -120.985422,49.274854 -120.985080,49.274823 -120.984976,49.274828 -120.984752,49.274876 -120.984416,49.274950 -120.984221,49.274971 -120.984084,49.274994 -120.983955,49.275000 -120.983731,49.275041 -120.983556,49.275074 -120.983201,49.275108 -120.983018,49.275102 -120.982717,49.275079 -120.982372,49.275022 -120.982124,49.274938 -120.981933,49.274856 -120.981716,49.274780 -120.981671,49.274758 -120.981512,49.274721 -120.981491,49.274712 -120.981463,49.274709 -120.981233,49.274632 -120.980865,49.274480 -120.980529,49.274357 -120.980337,49.274264 -120.980279,49.274240 -120.979775,49.273944 -120.979753,49.273924 -120.979720,49.273909 -120.979695,49.273893 -120.979629,49.273863 -120.979465,49.273774 -120.979433,49.273743 -120.979395,49.273725 -120.979004,49.273438 -120.979001,49.273435 -120.978987,49.273426 -120.978811,49.273290 -120.978745,49.273267 -120.978559,49.273232 -120.978543,49.273229 -120.978538,49.273228 -120.978106,49.273143 -120.977997,49.273118 -120.977958,49.273101 -120.977919,49.273096 -120.977476,49.272960 -120.977061,49.272862 -120.976938,49.272839 -120.976765,49.272844 -120.976747,49.272842 -120.976727,49.272845 -120.976615,49.272843 -120.976260,49.272828 -120.976146,49.272811 -120.975988,49.272798 -120.975374,49.272688 -120.975252,49.272662 -120.975215,49.272657 -120.974764,49.272466 -120.974459,49.272177 -120.974372,49.271994 -120.974273,49.271666 -120.973983,49.271041 -120.973980,49.271030 -120.973968,49.271008 -120.973802,49.270594 -120.973189,49.269916 -120.973110,49.269815 -120.973038,49.269675 -120.972885,49.269274 -120.972844,49.269070 -120.972935,49.268734 -120.973093,49.268464 -120.973200,49.267903 -120.973293,49.267254 -120.973369,49.267045 -120.973376,49.267018 -120.973631,49.266580 -120.973636,49.266575 -120.973638,49.266569 -120.973891,49.266300 -120.974274,49.266020 -120.974296,49.266009 -120.974312,49.265993 -120.974678,49.265817 -120.975299,49.265610 -120.975548,49.265444 -120.975857,49.265195 -120.975937,49.265136 -120.976072,49.265056 -120.976822,49.264669 -120.978790,49.263304 -120.979629,49.262680 -120.979631,49.262679 -120.979633,49.262677 -120.981023,49.261651 -120.980891,49.260860 -120.980716,49.259986 -120.980190,49.259297 -120.980182,49.259274 -120.980158,49.259252 -120.980089,49.259118 -120.979788,49.258354 -120.979745,49.258144 -120.979748,49.258067 -120.979882,49.256822 -120.979975,49.256553 -120.979996,49.256533 -120.980002,49.256512 -120.980870,49.255264 -120.981105,49.253257 -120.981198,49.252995 -120.981386,49.252777 -120.982073,49.252193 -120.982176,49.252115 -120.982617,49.251915 -120.982995,49.251848 -120.984658,49.251714 -120.984804,49.251708 -120.984835,49.251712 -120.984862,49.251708 -120.985758,49.251724 -120.985490,49.249514 -120.985500,49.249468 -120.985486,49.249419 -120.985509,49.248845 -120.985481,49.248057 -120.985006,49.247619 -120.984865,49.247455 -120.984853,49.247418 -120.984827,49.247391 -120.984366,49.246515 -120.984348,49.246450 -120.984304,49.246346 -120.984178,49.245755 -120.984176,49.245755 -120.984128,49.245760 -120.983907,49.245753 -120.983892,49.245751 -120.983828,49.245749 -120.983609,49.245734 -120.983552,49.245725 -120.983472,49.245720 -120.983257,49.245690 -120.983195,49.245678 -120.983166,49.245675 -120.982960,49.245637 -120.982806,49.245609 -120.982652,49.245590 -120.982443,49.245566 -120.982311,49.245541 -120.982263,49.245537 -120.982055,49.245493 -120.982003,49.245473 -120.981936,49.245464 -120.981734,49.245408 -120.981714,49.245399 -120.981695,49.245396 -120.981300,49.245277 -120.981294,49.245274 -120.981258,49.245263 -120.981160,49.245231 -120.981156,49.245229 -120.981141,49.245225 -120.981044,49.245191 -120.981041,49.245190 -120.981034,49.245188 -120.980936,49.245153 -120.980936,49.245153 -120.980935,49.245153 -120.980841,49.245120 -120.980754,49.245090 -120.980676,49.245064 -120.980606,49.245041 -120.980544,49.245023 -120.980491,49.245008 -120.980439,49.244996 -120.980382,49.244984 -120.980318,49.244971 -120.980248,49.244960 -120.980171,49.244948 -120.980089,49.244937 -120.980002,49.244926 -120.979909,49.244915 -120.979814,49.244905 -120.979723,49.244895 -120.979635,49.244887 -120.979543,49.244880 -120.979448,49.244873 -120.979348,49.244866 -120.979245,49.244859 -120.979139,49.244852 -120.979030,49.244846 -120.979029,49.244845 -120.979027,49.244845 -120.978918,49.244838 -120.978916,49.244838 -120.978911,49.244838 -120.978802,49.244831 -120.978799,49.244830 -120.978792,49.244830 -120.978683,49.244822 -120.978678,49.244822 -120.978669,49.244821 -120.978560,49.244813 -120.978554,49.244812 -120.978543,49.244811 -120.978434,49.244802 -120.978428,49.244801 -120.978419,49.244801 -120.978310,49.244790 -120.978310,49.244790 -120.978309,49.244790 -120.978201,49.244780 -120.978200,49.244780 -120.978200,49.244780 -120.978091,49.244770 -120.978091,49.244770 -120.978090,49.244770 -120.977982,49.244759 -120.977981,49.244759 -120.977980,49.244759 -120.977871,49.244749 -120.977870,49.244749 -120.977869,49.244749 -120.977760,49.244738 -120.977759,49.244738 -120.977758,49.244738 -120.977649,49.244727 -120.977648,49.244727 -120.977646,49.244727 -120.977537,49.244716 -120.977535,49.244716 -120.977533,49.244716 -120.977424,49.244705 -120.977422,49.244704 -120.977420,49.244704 -120.977311,49.244693 -120.977309,49.244692 -120.977306,49.244692 -120.977198,49.244681 -120.977195,49.244680 -120.977192,49.244680 -120.977084,49.244668 -120.977081,49.244668 -120.977078,49.244668 -120.976969,49.244656 -120.976966,49.244655 -120.976962,49.244655 -120.976854,49.244642 -120.976851,49.244642 -120.976847,49.244641 -120.976739,49.244629 -120.976735,49.244628 -120.976731,49.244628 -120.976623,49.244614 -120.976619,49.244614 -120.976614,49.244613 -120.976507,49.244600 -120.976502,49.244599 -120.976498,49.244598 -120.976390,49.244584 -120.976385,49.244583 -120.976380,49.244583 -120.976273,49.244568 -120.976265,49.244567 -120.976260,49.244566 -120.976153,49.244551 -120.976144,49.244549 -120.976138,49.244549 -120.976031,49.244533 -120.976023,49.244531 -120.976018,49.244531 -120.975911,49.244514 -120.975903,49.244512 -120.975899,49.244512 -120.975793,49.244495 -120.975785,49.244493 -120.975782,49.244493 -120.975675,49.244475 -120.975669,49.244473 -120.975666,49.244473 -120.975560,49.244455 -120.975554,49.244453 -120.975551,49.244453 -120.975445,49.244434 -120.975440,49.244433 -120.975438,49.244433 -120.975332,49.244413 -120.975327,49.244412 -120.975326,49.244412 -120.975220,49.244393 -120.975216,49.244392 -120.975215,49.244392 -120.975109,49.244372 -120.975106,49.244371 -120.975105,49.244371 -120.975000,49.244351 -120.974998,49.244350 -120.974997,49.244350 -120.974891,49.244330 -120.974890,49.244330 -120.974890,49.244330 -120.974784,49.244309 -120.974784,49.244309 -120.974784,49.244309 -120.974679,49.244289 -120.974574,49.244269 -120.974545,49.244262 -120.974539,49.244261 -120.974434,49.244239 -120.974399,49.244225 -120.974351,49.244220 -120.974249,49.244193 -120.974238,49.244188 -120.974225,49.244187 -120.974141,49.244164 -120.974097,49.244152 -120.974044,49.244142 -120.973955,49.244124 -120.973857,49.244106 -120.973758,49.244087 -120.973657,49.244069 -120.973555,49.244050 -120.973451,49.244032 -120.973345,49.244013 -120.973345,49.244013 -120.973345,49.244013 -120.973239,49.243994 -120.973237,49.243993 -120.973237,49.243993 -120.973131,49.243974 -120.973128,49.243974 -120.973127,49.243974 -120.973021,49.243955 -120.973018,49.243954 -120.973016,49.243954 -120.972910,49.243934 -120.972905,49.243933 -120.972904,49.243933 -120.972798,49.243913 -120.972792,49.243912 -120.972790,49.243911 -120.972684,49.243891 -120.972677,49.243889 -120.972675,49.243889 -120.972569,49.243868 -120.972560,49.243866 -120.972558,49.243866 -120.972453,49.243845 -120.972448,49.243843 -120.972440,49.243842 -120.972336,49.243820 -120.972329,49.243817 -120.972317,49.243816 -120.972213,49.243793 -120.972202,49.243788 -120.972185,49.243787 -120.972082,49.243762 -120.972071,49.243758 -120.972058,49.243756 -120.971955,49.243730 -120.971947,49.243727 -120.971937,49.243726 -120.971835,49.243699 -120.971828,49.243696 -120.971821,49.243695 -120.971719,49.243668 -120.971715,49.243666 -120.971711,49.243666 -120.971609,49.243638 -120.971608,49.243637 -120.971606,49.243637 -120.971506,49.243609 -120.971409,49.243582 -120.971316,49.243557 -120.971229,49.243534 -120.971146,49.243513 -120.971069,49.243494 -120.970996,49.243478 -120.970929,49.243464 -120.970862,49.243452 -120.970791,49.243440 -120.970716,49.243429 -120.970636,49.243418 -120.970552,49.243408 -120.970463,49.243399 -120.970371,49.243390 -120.970276,49.243381 -120.970181,49.243373 -120.970090,49.243366 -120.970004,49.243360 -120.969923,49.243355 -120.969848,49.243352 -120.969779,49.243351 -120.969716,49.243351 -120.969659,49.243352 -120.969601,49.243355 -120.969539,49.243360 -120.969472,49.243366 -120.969401,49.243374 -120.969326,49.243384 -120.969248,49.243396 -120.969232,49.243398 -120.969215,49.243408 -120.969156,49.243446 -120.969092,49.243489 -120.969022,49.243536 -120.968948,49.243586 -120.968947,49.243587 -120.968947,49.243587 -120.968870,49.243639 -120.968866,49.243641 -120.968863,49.243644 -120.968786,49.243695 -120.968778,49.243699 -120.968773,49.243704 -120.968695,49.243755 -120.968683,49.243760 -120.968676,49.243767 -120.968597,49.243817 -120.968580,49.243824 -120.968572,49.243832 -120.968491,49.243880 -120.968486,49.243882 -120.968467,49.243894 -120.968385,49.243941 -120.968382,49.243942 -120.968373,49.243948 -120.968289,49.243994 -120.968286,49.243996 -120.968278,49.244000 -120.968193,49.244047 -120.968190,49.244048 -120.968183,49.244052 -120.968098,49.244098 -120.968095,49.244099 -120.968088,49.244103 -120.968002,49.244148 -120.967999,49.244149 -120.967994,49.244152 -120.967907,49.244197 -120.967904,49.244198 -120.967899,49.244201 -120.967813,49.244245 -120.967810,49.244246 -120.967805,49.244249 -120.967718,49.244292 -120.967716,49.244293 -120.967712,49.244295 -120.967624,49.244339 -120.967622,49.244340 -120.967619,49.244342 -120.967531,49.244385 -120.967529,49.244385 -120.967526,49.244387 -120.967438,49.244430 -120.967436,49.244431 -120.967434,49.244432 -120.967346,49.244475 -120.967340,49.244477 -120.967334,49.244480 -120.967244,49.244522 -120.967235,49.244526 -120.967225,49.244531 -120.967134,49.244572 -120.967120,49.244578 -120.967109,49.244584 -120.967017,49.244624 -120.966997,49.244631 -120.966985,49.244637 -120.966892,49.244675 -120.966864,49.244684 -120.966853,49.244690 -120.966758,49.244726 -120.966721,49.244739 -120.966711,49.244743 -120.966614,49.244777 -120.966588,49.244781 -120.966559,49.244795 -120.966460,49.244825 -120.966436,49.244829 -120.966414,49.244839 -120.966313,49.244867 -120.966296,49.244870 -120.966282,49.244876 -120.966179,49.244902 -120.966170,49.244904 -120.966163,49.244907 -120.966060,49.244932 -120.966059,49.244933 -120.966059,49.244933 -120.965963,49.244957 -120.965881,49.244978 -120.965816,49.244996 -120.965767,49.245011 -120.965734,49.245022 -120.965697,49.245037 -120.965647,49.245058 -120.965588,49.245085 -120.965525,49.245116 -120.965456,49.245150 -120.965383,49.245188 -120.965305,49.245229 -120.965222,49.245273 -120.965136,49.245319 -120.965134,49.245320 -120.965131,49.245322 -120.965045,49.245367 -120.965041,49.245369 -120.965034,49.245373 -120.964948,49.245418 -120.964941,49.245420 -120.964931,49.245426 -120.964844,49.245470 -120.964835,49.245474 -120.964822,49.245481 -120.964734,49.245524 -120.964720,49.245529 -120.964705,49.245537 -120.964616,49.245578 -120.964596,49.245585 -120.964581,49.245593 -120.964490,49.245632 -120.964463,49.245642 -120.964448,49.245649 -120.964355,49.245686 -120.964319,49.245699 -120.964307,49.245705 -120.964211,49.245739 -120.964184,49.245748 -120.964179,49.245750 -120.964082,49.245783 -120.964073,49.245785 -120.964062,49.245790 -120.963965,49.245821 -120.963956,49.245823 -120.963946,49.245827 -120.963848,49.245858 -120.963839,49.245859 -120.963831,49.245863 -120.963732,49.245893 -120.963724,49.245894 -120.963716,49.245898 -120.963616,49.245927 -120.963609,49.245928 -120.963602,49.245931 -120.963502,49.245960 -120.963495,49.245961 -120.963489,49.245963 -120.963388,49.245991 -120.963382,49.245992 -120.963377,49.245994 -120.963275,49.246022 -120.963270,49.246022 -120.963266,49.246024 -120.963164,49.246051 -120.963159,49.246052 -120.963156,49.246053 -120.963053,49.246080 -120.963050,49.246080 -120.963047,49.246081 -120.962944,49.246108 -120.962941,49.246108 -120.962939,49.246109 -120.962836,49.246135 -120.962834,49.246135 -120.962833,49.246136 -120.962730,49.246162 -120.962728,49.246162 -120.962728,49.246162 -120.962624,49.246188 -120.962624,49.246188 -120.962624,49.246188 -120.962521,49.246214 -120.962420,49.246239 -120.962320,49.246264 -120.962222,49.246289 -120.962126,49.246313 -120.962031,49.246338 -120.961938,49.246363 -120.961847,49.246387 -120.961758,49.246412 -120.961673,49.246437 -120.961627,49.246450 -120.961620,49.246453 -120.961598,49.246462 -120.961543,49.246488 -120.961463,49.246527 -120.961456,49.246529 -120.961449,49.246533 -120.961360,49.246575 -120.961358,49.246576 -120.961355,49.246577 -120.961269,49.246618 -120.961186,49.246657 -120.961101,49.246697 -120.961016,49.246739 -120.960929,49.246780 -120.960841,49.246823 -120.960753,49.246866 -120.960753,49.246866 -120.960752,49.246866 -120.960664,49.246909 -120.960662,49.246909 -120.960661,49.246910 -120.960573,49.246953 -120.960571,49.246953 -120.960569,49.246954 -120.960480,49.246997 -120.960478,49.246998 -120.960475,49.246999 -120.960386,49.247041 -120.960383,49.247043 -120.960380,49.247044 -120.960291,49.247086 -120.960287,49.247088 -120.960283,49.247090 -120.960193,49.247131 -120.960189,49.247133 -120.960185,49.247135 -120.960094,49.247176 -120.960089,49.247178 -120.960084,49.247180 -120.959993,49.247221 -120.959987,49.247223 -120.959983,49.247226 -120.959891,49.247266 -120.959885,49.247268 -120.959880,49.247270 -120.959788,49.247310 -120.959781,49.247312 -120.959777,49.247314 -120.959684,49.247353 -120.959677,49.247356 -120.959673,49.247358 -120.959580,49.247396 -120.959572,49.247399 -120.959568,49.247401 -120.959474,49.247438 -120.959466,49.247441 -120.959462,49.247443 -120.959368,49.247480 -120.959360,49.247483 -120.959356,49.247485 -120.959261,49.247521 -120.959252,49.247524 -120.959249,49.247525 -120.959154,49.247561 -120.959144,49.247564 -120.959141,49.247566 -120.959045,49.247601 -120.959032,49.247605 -120.959029,49.247606 -120.958932,49.247641 -120.958905,49.247649 -120.958900,49.247652 -120.958802,49.247684 -120.958780,49.247688 -120.958757,49.247698 -120.958656,49.247729 -120.958625,49.247734 -120.958597,49.247746 -120.958495,49.247773 -120.958490,49.247773 -120.958421,49.247791 -120.958317,49.247814 -120.958300,49.247816 -120.958249,49.247828 -120.958143,49.247847 -120.958140,49.247848 -120.958134,49.247849 -120.958024,49.247869 -120.958007,49.247870 -120.957981,49.247876 -120.957870,49.247894 -120.957822,49.247898 -120.957780,49.247906 -120.957669,49.247918 -120.957549,49.247925 -120.957525,49.247929 -120.957416,49.247934 -120.957385,49.247931 -120.957349,49.247936 -120.957206,49.247932 -120.957101,49.247926 -120.956965,49.247905 -120.956839,49.247894 -120.956739,49.247875 -120.956616,49.247847 -120.956574,49.247830 -120.956534,49.247824 -120.956437,49.247794 -120.956410,49.247782 -120.956311,49.247749 -120.956217,49.247712 -120.956187,49.247697 -120.956154,49.247685 -120.956061,49.247643 -120.956055,49.247640 -120.956049,49.247638 -120.955981,49.247607 -120.955883,49.247566 -120.955792,49.247519 -120.955749,49.247502 -120.940394,49.239253 -120.940126,49.239458 -120.940082,49.239479 -120.940049,49.239512 -120.939737,49.239714 -120.939731,49.239716 -120.939658,49.239761 -120.939321,49.239947 -120.939313,49.239951 -120.939291,49.239963 -120.938948,49.240143 -120.938604,49.240323 -120.938584,49.240331 -120.938553,49.240349 -120.938196,49.240519 -120.938099,49.240556 -120.938049,49.240580 -120.937669,49.240717 -120.937552,49.240755 -120.937362,49.240798 -120.936935,49.240873 -120.936848,49.240881 -120.936775,49.240894 -120.936339,49.240935 -120.936303,49.240937 -120.936290,49.240939 -120.935854,49.240970 -120.935829,49.240971 -120.935823,49.240972 -120.935384,49.240996 -120.935377,49.240996 -120.935368,49.240997 -120.934929,49.241018 -120.934927,49.241018 -120.934925,49.241018 -120.934486,49.241038 -120.934438,49.241033 -120.934385,49.241040 -120.933945,49.241039 -120.933937,49.241038 -120.933820,49.241035 -120.933382,49.241008 -120.933374,49.241006 -120.933355,49.241006 -120.932922,49.240973 -120.932517,49.240944 -120.932248,49.240931 -120.931999,49.240954 -120.931616,49.241006 -120.931193,49.241064 -120.930772,49.241124 -120.930353,49.241185 -120.929936,49.241249 -120.929523,49.241314 -120.929138,49.241379 -120.928776,49.241451 -120.928388,49.241541 -120.927973,49.241637 -120.927968,49.241637 -120.927946,49.241643 -120.927529,49.241733 -120.927523,49.241733 -120.927505,49.241738 -120.927085,49.241823 -120.927045,49.241827 -120.926974,49.241842 -120.926546,49.241904 -120.926484,49.241909 -120.926445,49.241916 -120.926009,49.241957 -120.925954,49.241960 -120.925939,49.241962 -120.925500,49.241988 -120.925492,49.241988 -120.925480,49.241990 -120.925042,49.242011 -120.925041,49.242011 -120.925039,49.242012 -120.924600,49.242033 -120.924599,49.242033 -120.924597,49.242033 -120.924159,49.242053 -120.924158,49.242053 -120.924156,49.242053 -120.923717,49.242073 -120.923716,49.242073 -120.923715,49.242073 -120.923276,49.242093 -120.923275,49.242093 -120.923273,49.242093 -120.922835,49.242112 -120.922833,49.242111 -120.922832,49.242112 -120.922393,49.242130 -120.922392,49.242130 -120.922391,49.242130 -120.921952,49.242148 -120.921951,49.242147 -120.921950,49.242148 -120.921511,49.242165 -120.921510,49.242165 -120.921509,49.242165 -120.921070,49.242182 -120.921070,49.242182 -120.921069,49.242182 -120.920630,49.242198 -120.920615,49.242197 -120.920597,49.242199 -120.920158,49.242209 -120.920130,49.242206 -120.920103,49.242209 -120.919663,49.242207 -120.919652,49.242206 -120.919643,49.242207 -120.919204,49.242201 -120.919195,49.242200 -120.919187,49.242200 -120.918748,49.242191 -120.918744,49.242190 -120.918740,49.242191 -120.918302,49.242180 -120.917869,49.242169 -120.917446,49.242161 -120.917034,49.242157 -120.916635,49.242160 -120.916248,49.242171 -120.915872,49.242193 -120.915538,49.242223 -120.915243,49.242269 -120.914907,49.242345 -120.914521,49.242441 -120.914127,49.242541 -120.913733,49.242646 -120.913340,49.242753 -120.912993,49.242850 -120.912653,49.242967 -120.912647,49.242968 -120.912641,49.242971 -120.912250,49.243103 -120.912243,49.243104 -120.912235,49.243108 -120.911842,49.243236 -120.911449,49.243364 -120.911448,49.243365 -120.911447,49.243365 -120.911054,49.243493 -120.911052,49.243493 -120.911051,49.243494 -120.910657,49.243622 -120.910654,49.243622 -120.910651,49.243623 -120.910256,49.243750 -120.910253,49.243750 -120.910249,49.243752 -120.909853,49.243877 -120.909849,49.243878 -120.909844,49.243880 -120.909447,49.244003 -120.909441,49.244004 -120.909435,49.244007 -120.909036,49.244127 -120.909023,49.244129 -120.909012,49.244134 -120.908609,49.244250 -120.908589,49.244253 -120.908573,49.244260 -120.908165,49.244368 -120.908135,49.244372 -120.908115,49.244380 -120.907702,49.244478 -120.907693,49.244479 -120.907655,49.244488 -120.907237,49.244576 -120.907230,49.244577 -120.907210,49.244581 -120.906788,49.244663 -120.906783,49.244664 -120.906770,49.244667 -120.906347,49.244745 -120.906344,49.244745 -120.906338,49.244747 -120.905914,49.244823 -120.905914,49.244823 -120.905914,49.244823 -120.905494,49.244898 -120.905076,49.244976 -120.905068,49.244977 -120.905053,49.244980 -120.904626,49.245054 -120.904625,49.245054 -120.904623,49.245054 -120.904243,49.245119 -120.904104,49.245150 -120.903950,49.245231 -120.903946,49.245233 -120.903938,49.245237 -120.903570,49.245425 -120.903490,49.245456 -120.903424,49.245490 -120.903036,49.245640 -120.902882,49.245691 -120.902358,49.245764 -120.901892,49.245716 -120.901540,49.245637 -120.901513,49.245626 -120.901478,49.245622 -120.901300,49.245540 -120.901028,49.245431 -120.900997,49.245402 -120.900961,49.245385 -120.900640,49.245150 -120.900565,49.245073 -120.900457,49.244980 -120.900247,49.244727 -120.900193,49.244654 -120.900192,49.244651 -120.900190,49.244649 -120.900186,49.244644 -120.900186,49.244644 -120.900167,49.244637 -120.899811,49.244486 -120.899602,49.244377 -120.899365,49.244176 -120.899143,49.243921 -120.899076,49.243833 -120.898993,49.243661 -120.898981,49.243625 -120.898664,49.243599 -120.898636,49.243594 -120.898594,49.243592 -120.898161,49.243541 -120.897897,49.243492 -120.897877,49.243483 -120.897855,49.243480 -120.897452,49.243365 -120.897446,49.243363 -120.897385,49.243345 -120.896995,49.243217 -120.896696,49.243120 -120.896430,49.243064 -120.896054,49.243007 -120.895854,49.242966 -120.895715,49.242924 -120.895336,49.242792 -120.895163,49.242709 -120.895078,49.242675 -120.894746,49.242485 -120.894738,49.242478 -120.894723,49.242472 -120.894499,49.242337 -120.894376,49.242289 -120.894313,49.242276 -120.894253,49.242276 -120.894123,49.242296 -120.893910,49.242362 -120.893721,49.242435 -120.893618,49.242500 -120.893445,49.242662 -120.893389,49.242706 -120.893374,49.242723 -120.893092,49.242945 -120.893054,49.242964 -120.893021,49.242997 -120.892939,49.243048 -120.892609,49.243236 -120.892257,49.243382 -120.892251,49.243384 -120.891847,49.243499 -120.891846,49.243499 -120.891845,49.243499 -120.891599,49.243551 -120.891169,49.243614 -120.891152,49.243615 -120.891137,49.243618 -120.890705,49.243674 -120.890691,49.243675 -120.890681,49.243677 -120.890247,49.243728 -120.890227,49.243729 -120.890215,49.243731 -120.889780,49.243775 -120.889752,49.243776 -120.889740,49.243778 -120.889305,49.243814 -120.889214,49.243818 -120.889203,49.243820 -120.888765,49.243834 -120.888742,49.243831 -120.888717,49.243835 -120.888594,49.243832 -120.888153,49.243811 -120.888136,49.243808 -120.888085,49.243806 -120.887649,49.243770 -120.887630,49.243767 -120.887600,49.243765 -120.887165,49.243719 -120.887157,49.243718 -120.887146,49.243717 -120.886721,49.243668 -120.886334,49.243626 -120.886190,49.243616 -120.886112,49.243629 -120.885860,49.243701 -120.885641,49.243779 -120.885398,49.243910 -120.885320,49.243941 -120.885237,49.243984 -120.884860,49.244132 -120.884833,49.244142 -120.884823,49.244146 -120.884532,49.244253 -120.884354,49.244345 -120.884119,49.244507 -120.884112,49.244510 -120.884107,49.244515 -120.883945,49.244609 -120.883584,49.244785 -120.883306,49.244890 -120.883134,49.244930 -120.882725,49.245006 -120.882372,49.245039 -120.882130,49.245027 -120.881687,49.244980 -120.881402,49.244928 -120.881402,49.244928 -120.881402,49.244928 -120.880995,49.244822 -120.880961,49.244808 -120.880927,49.244803 -120.880604,49.244705 -120.880398,49.244662 -120.880162,49.244646 -120.880070,49.244645 -120.879994,49.244691 -120.879977,49.244698 -120.879915,49.244734 -120.879570,49.244911 -120.879390,49.244981 -120.879328,49.245011 -120.878931,49.245138 -120.878900,49.245143 -120.878869,49.245157 -120.878479,49.245225 -120.878046,49.245257 -120.877912,49.245262 -120.877856,49.245256 -120.877811,49.245261 -120.877425,49.245246 -120.877115,49.245250 -120.876757,49.245280 -120.876327,49.245319 -120.876287,49.245321 -120.876274,49.245323 -120.875838,49.245352 -120.875720,49.245356 -120.875713,49.245356 -120.875706,49.245357 -120.875271,49.245358 -120.875259,49.245356 -120.875027,49.245344 -120.874592,49.245294 -120.874476,49.245273 -120.874426,49.245268 -120.874003,49.245183 -120.873899,49.245159 -120.873882,49.245152 -120.873864,49.245149 -120.873461,49.245036 -120.873456,49.245033 -120.873389,49.245014 -120.873020,49.244893 -120.872783,49.244823 -120.872682,49.244809 -120.872462,49.244819 -120.872053,49.244849 -120.872047,49.244850 -120.872045,49.244850 -120.871604,49.244881 -120.871525,49.244885 -120.871517,49.244886 -120.871082,49.244898 -120.871062,49.244896 -120.871040,49.244899 -120.870689,49.244873 -120.870282,49.244807 -120.870106,49.244769 -120.869840,49.244677 -120.869501,49.244526 -120.869152,49.244389 -120.869139,49.244383 -120.869121,49.244377 -120.868742,49.244221 -120.868391,49.244079 -120.868087,49.243969 -120.867914,49.243920 -120.867699,49.243991 -120.867661,49.243997 -120.867622,49.244015 -120.867500,49.244045 -120.867074,49.244135 -120.866881,49.244156 -120.866756,49.244176 -120.866317,49.244198 -120.866245,49.244191 -120.866170,49.244200 -120.865728,49.244191 -120.865711,49.244189 -120.865608,49.244185 -120.865173,49.244151 -120.865142,49.244146 -120.865093,49.244143 -120.864473,49.244070 -120.864207,49.244021 -120.864093,49.243987 -120.864055,49.243975 -120.864026,49.243965 -120.863993,49.243955 -120.863956,49.243944 -120.863914,49.243932 -120.863868,49.243919 -120.863819,49.243905 -120.863819,49.243905 -120.863819,49.243905 -120.863767,49.243891 -120.863765,49.243890 -120.863763,49.243890 -120.863712,49.243875 -120.863708,49.243873 -120.863704,49.243873 -120.863653,49.243858 -120.863648,49.243855 -120.863642,49.243855 -120.863591,49.243840 -120.863583,49.243836 -120.863576,49.243835 -120.863526,49.243820 -120.863515,49.243815 -120.863506,49.243814 -120.863457,49.243798 -120.863453,49.243796 -120.863434,49.243790 -120.863385,49.243774 -120.863379,49.243771 -120.863358,49.243765 -120.863310,49.243748 -120.863301,49.243744 -120.863279,49.243737 -120.863232,49.243719 -120.863220,49.243713 -120.863198,49.243706 -120.863152,49.243688 -120.863135,49.243679 -120.863114,49.243672 -120.863069,49.243653 -120.863048,49.243642 -120.863029,49.243635 -120.862985,49.243615 -120.862957,49.243600 -120.862942,49.243594 -120.862899,49.243572 -120.862864,49.243553 -120.862854,49.243549 -120.862812,49.243526 -120.862804,49.243518 -120.862802,49.243517 -120.862784,49.243510 -120.862744,49.243487 -120.862739,49.243483 -120.862730,49.243479 -120.862690,49.243455 -120.862685,49.243450 -120.862676,49.243447 -120.862636,49.243423 -120.862631,49.243418 -120.862623,49.243415 -120.862584,49.243390 -120.862579,49.243385 -120.862571,49.243382 -120.862532,49.243357 -120.862527,49.243352 -120.862520,49.243349 -120.862481,49.243323 -120.862476,49.243318 -120.862469,49.243315 -120.862430,49.243289 -120.862425,49.243284 -120.862419,49.243282 -120.862381,49.243255 -120.862376,49.243250 -120.862370,49.243248 -120.862332,49.243221 -120.862327,49.243216 -120.862321,49.243213 -120.862283,49.243186 -120.862278,49.243181 -120.862273,49.243179 -120.862236,49.243151 -120.862234,49.243149 -120.862226,49.243144 -120.862189,49.243116 -120.862187,49.243114 -120.862179,49.243108 -120.862143,49.243080 -120.862141,49.243078 -120.862133,49.243073 -120.862098,49.243045 -120.862095,49.243042 -120.862088,49.243037 -120.862053,49.243009 -120.862051,49.243006 -120.862044,49.243001 -120.862009,49.242972 -120.862006,49.242970 -120.862000,49.242965 -120.861966,49.242936 -120.861963,49.242933 -120.861957,49.242929 -120.861923,49.242899 -120.861920,49.242896 -120.861914,49.242892 -120.861881,49.242863 -120.861878,49.242859 -120.861873,49.242855 -120.861840,49.242826 -120.861837,49.242822 -120.861832,49.242818 -120.861800,49.242788 -120.861796,49.242785 -120.861791,49.242781 -120.861760,49.242751 -120.861756,49.242747 -120.861752,49.242743 -120.861721,49.242714 -120.861717,49.242709 -120.861713,49.242706 -120.861682,49.242676 -120.861679,49.242671 -120.861674,49.242668 -120.861645,49.242638 -120.861641,49.242633 -120.861637,49.242630 -120.861608,49.242600 -120.861604,49.242595 -120.861600,49.242592 -120.861572,49.242562 -120.861567,49.242557 -120.861564,49.242554 -120.861536,49.242524 -120.861529,49.242515 -120.861524,49.242511 -120.861497,49.242481 -120.861423,49.242384 -120.861423,49.242384 -120.861422,49.242383 -120.861402,49.242352 -120.861401,49.242351 -120.861339,49.242234 -120.861324,49.242200 -120.861313,49.242149 -120.861292,49.242099 -120.861283,49.242064 -120.861275,49.241996 -120.861270,49.241983 -120.861266,49.241946 -120.861268,49.241941 -120.861267,49.241939 -120.861273,49.241920 -120.861274,49.241916 -120.861264,49.241884 -120.861264,49.241846 -120.861269,49.241831 -120.861268,49.241827 -120.861269,49.241809 -120.861267,49.241800 -120.861270,49.241762 -120.861272,49.241756 -120.861274,49.241731 -120.861279,49.241693 -120.861281,49.241688 -120.861282,49.241675 -120.861289,49.241637 -120.861289,49.241636 -120.861289,49.241632 -120.861296,49.241598 -120.861301,49.241565 -120.861302,49.241563 -120.861302,49.241560 -120.861309,49.241525 -120.861310,49.241523 -120.861310,49.241519 -120.861317,49.241483 -120.861317,49.241482 -120.861318,49.241478 -120.861325,49.241442 -120.861326,49.241441 -120.861326,49.241437 -120.861334,49.241402 -120.861334,49.241400 -120.861335,49.241397 -120.861342,49.241361 -120.861343,49.241360 -120.861343,49.241357 -120.861351,49.241322 -120.861352,49.241320 -120.861352,49.241317 -120.861361,49.241282 -120.861361,49.241280 -120.861362,49.241278 -120.861370,49.241243 -120.861371,49.241241 -120.861371,49.241239 -120.861380,49.241204 -120.861380,49.241202 -120.861380,49.241201 -120.861389,49.241165 -120.861390,49.241164 -120.861390,49.241163 -120.861399,49.241127 -120.861400,49.241126 -120.861400,49.241125 -120.861409,49.241089 -120.861409,49.241088 -120.861410,49.241087 -120.861419,49.241052 -120.861419,49.241051 -120.861419,49.241050 -120.861429,49.241015 -120.861429,49.241014 -120.861429,49.241013 -120.861439,49.240978 -120.861439,49.240977 -120.861439,49.240977 -120.861449,49.240941 -120.861449,49.240941 -120.861449,49.240940 -120.861459,49.240905 -120.861459,49.240905 -120.861459,49.240905 -120.861469,49.240869 -120.861469,49.240869 -120.861469,49.240869 -120.861478,49.240834 -120.861488,49.240799 -120.861497,49.240764 -120.861507,49.240730 -120.861516,49.240696 -120.861525,49.240662 -120.861533,49.240629 -120.861542,49.240595 -120.861550,49.240563 -120.861558,49.240530 -120.861566,49.240498 -120.861574,49.240466 -120.861581,49.240435 -120.861588,49.240404 -120.861594,49.240372 -120.861609,49.240303 -120.861616,49.240269 -120.861622,49.240237 -120.861628,49.240206 -120.861633,49.240177 -120.861638,49.240149 -120.861642,49.240123 -120.861646,49.240098 -120.861648,49.240075 -120.861650,49.240053 -120.861652,49.240033 -120.861653,49.240015 -120.861653,49.239998 -120.861652,49.239982 -120.861651,49.239963 -120.861649,49.239940 -120.861647,49.239915 -120.861644,49.239890 -120.861640,49.239863 -120.861636,49.239835 -120.861631,49.239807 -120.861626,49.239778 -120.861620,49.239747 -120.861614,49.239716 -120.861608,49.239684 -120.861601,49.239651 -120.861594,49.239617 -120.861586,49.239582 -120.861579,49.239547 -120.861579,49.239547 -120.861578,49.239546 -120.861571,49.239511 -120.861571,49.239510 -120.861571,49.239509 -120.861563,49.239474 -120.861563,49.239472 -120.861562,49.239471 -120.861555,49.239436 -120.861555,49.239433 -120.861554,49.239432 -120.861547,49.239397 -120.861547,49.239394 -120.861546,49.239393 -120.861539,49.239357 -120.861539,49.239353 -120.861538,49.239352 -120.861532,49.239316 -120.861531,49.239312 -120.861531,49.239310 -120.861524,49.239274 -120.861524,49.239269 -120.861523,49.239268 -120.861517,49.239232 -120.861517,49.239226 -120.861516,49.239224 -120.861511,49.239188 -120.861510,49.239181 -120.861509,49.239180 -120.861505,49.239144 -120.861506,49.239136 -120.861505,49.239121 -120.861501,49.239110 -120.861498,49.239074 -120.861508,49.239035 -120.861507,49.239032 -120.861498,49.239004 -120.861499,49.239001 -120.861497,49.238996 -120.861499,49.238960 -120.861501,49.238953 -120.861504,49.238912 -120.861506,49.238896 -120.861498,49.238881 -120.861485,49.238854 -120.861469,49.238824 -120.861451,49.238790 -120.861451,49.238790 -120.861451,49.238789 -120.861433,49.238755 -120.861433,49.238754 -120.861430,49.238750 -120.861413,49.238715 -120.861412,49.238713 -120.861409,49.238707 -120.861391,49.238672 -120.861391,49.238669 -120.861386,49.238660 -120.861369,49.238625 -120.861368,49.238621 -120.861362,49.238609 -120.861347,49.238575 -120.861345,49.238567 -120.861338,49.238554 -120.861324,49.238520 -120.861322,49.238509 -120.861315,49.238495 -120.861303,49.238461 -120.861300,49.238446 -120.861293,49.238432 -120.861283,49.238397 -120.861280,49.238377 -120.861274,49.238364 -120.861265,49.238329 -120.861261,49.238299 -120.861257,49.238287 -120.861251,49.238253 -120.861243,49.238173 -120.861243,49.238171 -120.861242,49.238136 -120.861242,49.238133 -120.861241,49.238130 -120.861245,49.238055 -120.861248,49.238020 -120.861254,49.238003 -120.861259,49.237953 -120.861267,49.237918 -120.861277,49.237894 -120.861281,49.237866 -120.861292,49.237830 -120.861303,49.237807 -120.861305,49.237792 -120.861319,49.237756 -120.861328,49.237737 -120.861330,49.237729 -120.861345,49.237694 -120.861351,49.237682 -120.861352,49.237679 -120.861369,49.237643 -120.861370,49.237640 -120.861371,49.237639 -120.861386,49.237607 -120.861400,49.237576 -120.861400,49.237575 -120.861401,49.237575 -120.861409,49.237555 -120.861395,49.237540 -120.861391,49.237535 -120.861387,49.237532 -120.861358,49.237502 -120.861355,49.237498 -120.861353,49.237496 -120.861334,49.237475 -120.860949,49.237429 -120.860904,49.237418 -120.860902,49.237417 -120.860900,49.237417 -120.860684,49.237346 -120.860642,49.237328 -120.860597,49.237305 -120.860557,49.237291 -120.860515,49.237271 -120.860464,49.237243 -120.860446,49.237236 -120.860406,49.237214 -120.860356,49.237185 -120.860351,49.237183 -120.860312,49.237159 -120.860294,49.237143 -120.860269,49.237132 -120.860230,49.237106 -120.860217,49.237094 -120.860209,49.237090 -120.860204,49.237087 -120.860197,49.237084 -120.860159,49.237057 -120.860156,49.237054 -120.860134,49.237039 -120.860096,49.237010 -120.860093,49.237007 -120.860079,49.236997 -120.860049,49.236974 -120.860033,49.236977 -120.859976,49.236982 -120.859900,49.236985 -120.859888,49.236987 -120.859833,49.236989 -120.859776,49.236983 -120.859719,49.236990 -120.859665,49.236989 -120.859647,49.236987 -120.859525,49.236982 -120.859472,49.236978 -120.859394,49.236965 -120.859317,49.236959 -120.859267,49.236951 -120.859183,49.236933 -120.859163,49.236931 -120.859113,49.236920 -120.859104,49.236916 -120.859089,49.236913 -120.859068,49.236905 -120.859029,49.236900 -120.858980,49.236887 -120.858954,49.236876 -120.858942,49.236874 -120.858919,49.236867 -120.858907,49.236865 -120.858858,49.236850 -120.858847,49.236845 -120.858796,49.236829 -120.858748,49.236813 -120.858731,49.236805 -120.858695,49.236793 -120.858648,49.236774 -120.858629,49.236765 -120.858604,49.236756 -120.858557,49.236736 -120.858539,49.236726 -120.858521,49.236720 -120.858475,49.236699 -120.858458,49.236690 -120.858446,49.236686 -120.858401,49.236664 -120.858386,49.236655 -120.858378,49.236652 -120.858333,49.236630 -120.858321,49.236623 -120.858316,49.236621 -120.858271,49.236598 -120.858263,49.236593 -120.858260,49.236592 -120.858216,49.236568 -120.858211,49.236566 -120.858210,49.236565 -120.858166,49.236541 -120.858165,49.236541 -120.858165,49.236541 -120.858123,49.236518 -120.858087,49.236499 -120.858049,49.236479 -120.858045,49.236477 -120.858044,49.236476 -120.858001,49.236454 -120.857963,49.236432 -120.857956,49.236429 -120.857915,49.236405 -120.857911,49.236401 -120.857908,49.236399 -120.857900,49.236392 -120.857878,49.236383 -120.857839,49.236358 -120.857827,49.236347 -120.857810,49.236340 -120.857772,49.236315 -120.857763,49.236306 -120.857752,49.236301 -120.857714,49.236275 -120.857708,49.236270 -120.857701,49.236267 -120.857664,49.236240 -120.857662,49.236238 -120.857659,49.236236 -120.857623,49.236211 -120.857591,49.236188 -120.857566,49.236171 -120.857562,49.236168 -120.857528,49.236172 -120.857494,49.236176 -120.857462,49.236180 -120.857430,49.236185 -120.857401,49.236190 -120.857373,49.236194 -120.857347,49.236199 -120.857320,49.236205 -120.857284,49.236213 -120.857241,49.236222 -120.857200,49.236231 -120.857159,49.236240 -120.857121,49.236250 -120.857084,49.236259 -120.857049,49.236268 -120.857016,49.236277 -120.856984,49.236285 -120.856955,49.236294 -120.856928,49.236302 -120.856903,49.236310 -120.856880,49.236318 -120.856859,49.236325 -120.856841,49.236332 -120.856824,49.236339 -120.856811,49.236344 -120.856797,49.236350 -120.856778,49.236359 -120.856752,49.236372 -120.856724,49.236387 -120.856695,49.236402 -120.856666,49.236417 -120.856636,49.236434 -120.856606,49.236451 -120.856575,49.236469 -120.856543,49.236487 -120.856510,49.236507 -120.856477,49.236527 -120.856443,49.236548 -120.856408,49.236569 -120.856373,49.236591 -120.856336,49.236614 -120.856300,49.236637 -120.856262,49.236661 -120.856224,49.236686 -120.856184,49.236711 -120.856184,49.236711 -120.856184,49.236711 -120.856145,49.236736 -120.856144,49.236736 -120.856144,49.236737 -120.856104,49.236762 -120.856103,49.236763 -120.856103,49.236763 -120.856063,49.236788 -120.856062,49.236789 -120.856061,49.236790 -120.856021,49.236815 -120.856019,49.236816 -120.856018,49.236817 -120.855978,49.236842 -120.855975,49.236843 -120.855974,49.236845 -120.855934,49.236870 -120.855930,49.236871 -120.855929,49.236873 -120.855888,49.236898 -120.855885,49.236899 -120.855883,49.236901 -120.855842,49.236926 -120.855838,49.236928 -120.855836,49.236930 -120.855795,49.236954 -120.855790,49.236957 -120.855787,49.236959 -120.855747,49.236983 -120.855741,49.236986 -120.855738,49.236988 -120.855697,49.237012 -120.855695,49.237013 -120.855687,49.237018 -120.855646,49.237041 -120.855644,49.237042 -120.855636,49.237047 -120.855594,49.237071 -120.855591,49.237072 -120.855582,49.237077 -120.855540,49.237100 -120.855537,49.237102 -120.855528,49.237107 -120.855486,49.237130 -120.855481,49.237131 -120.855471,49.237137 -120.855429,49.237159 -120.855417,49.237164 -120.855397,49.237175 -120.855353,49.237197 -120.855335,49.237204 -120.855315,49.237215 -120.855270,49.237236 -120.855248,49.237243 -120.855232,49.237252 -120.855185,49.237272 -120.855161,49.237281 -120.855148,49.237287 -120.855100,49.237306 -120.855073,49.237315 -120.855063,49.237320 -120.855015,49.237338 -120.854985,49.237348 -120.854979,49.237351 -120.854929,49.237368 -120.854916,49.237370 -120.854909,49.237373 -120.854893,49.237380 -120.854843,49.237396 -120.854825,49.237399 -120.854807,49.237407 -120.854757,49.237422 -120.854738,49.237425 -120.854721,49.237432 -120.854670,49.237446 -120.854650,49.237449 -120.854634,49.237455 -120.854583,49.237468 -120.854568,49.237470 -120.854556,49.237473 -120.854547,49.237477 -120.854495,49.237489 -120.854488,49.237490 -120.854456,49.237498 -120.854404,49.237508 -120.854387,49.237510 -120.854344,49.237520 -120.854291,49.237529 -120.854267,49.237532 -120.854233,49.237539 -120.854179,49.237547 -120.854151,49.237549 -120.854126,49.237554 -120.854072,49.237560 -120.854042,49.237562 -120.854025,49.237565 -120.853970,49.237570 -120.853940,49.237572 -120.853928,49.237574 -120.853873,49.237578 -120.853844,49.237579 -120.853836,49.237581 -120.853781,49.237584 -120.853768,49.237583 -120.853767,49.237583 -120.853749,49.237585 -120.853694,49.237588 -120.853682,49.237586 -120.853667,49.237589 -120.853611,49.237590 -120.853601,49.237589 -120.853589,49.237591 -120.853534,49.237592 -120.853526,49.237591 -120.853517,49.237592 -120.853462,49.237593 -120.853451,49.237591 -120.853440,49.237593 -120.853386,49.237593 -120.853368,49.237591 -120.853352,49.237593 -120.853297,49.237592 -120.853285,49.237590 -120.853274,49.237590 -120.853265,49.237591 -120.853210,49.237589 -120.853205,49.237589 -120.853178,49.237588 -120.853123,49.237586 -120.853116,49.237584 -120.853093,49.237584 -120.853038,49.237581 -120.853029,49.237579 -120.853008,49.237579 -120.852953,49.237574 -120.852944,49.237573 -120.852925,49.237572 -120.852870,49.237567 -120.852859,49.237565 -120.852842,49.237564 -120.852788,49.237559 -120.852776,49.237557 -120.852761,49.237556 -120.852706,49.237550 -120.852693,49.237547 -120.852680,49.237546 -120.852626,49.237539 -120.852613,49.237537 -120.852603,49.237536 -120.852549,49.237529 -120.852543,49.237527 -120.852538,49.237527 -120.852485,49.237519 -120.852479,49.237518 -120.852475,49.237518 -120.852422,49.237510 -120.852416,49.237509 -120.852413,49.237508 -120.852360,49.237500 -120.852355,49.237499 -120.852352,49.237499 -120.852298,49.237490 -120.852294,49.237489 -120.852291,49.237489 -120.852238,49.237480 -120.852234,49.237479 -120.852231,49.237479 -120.852178,49.237470 -120.852174,49.237469 -120.852172,49.237469 -120.852119,49.237460 -120.852115,49.237459 -120.852114,49.237459 -120.852061,49.237450 -120.852057,49.237449 -120.852056,49.237449 -120.852003,49.237440 -120.852000,49.237439 -120.851999,49.237439 -120.851946,49.237430 -120.851944,49.237429 -120.851943,49.237429 -120.851890,49.237420 -120.851888,49.237419 -120.851887,49.237419 -120.851834,49.237410 -120.851833,49.237409 -120.851832,49.237409 -120.851779,49.237400 -120.851778,49.237399 -120.851778,49.237399 -120.851725,49.237390 -120.851724,49.237390 -120.851724,49.237390 -120.851671,49.237380 -120.851619,49.237370 -120.851567,49.237361 -120.851516,49.237352 -120.851465,49.237342 -120.851415,49.237334 -120.851366,49.237325 -120.851317,49.237316 -120.851269,49.237308 -120.851222,49.237300 -120.851175,49.237292 -120.851129,49.237285 -120.851084,49.237278 -120.851039,49.237271 -120.850995,49.237264 -120.850951,49.237258 -120.850909,49.237252 -120.850866,49.237246 -120.850825,49.237241 -120.850784,49.237236 -120.850745,49.237232 -120.850719,49.237229 -120.850703,49.237227 -120.850685,49.237226 -120.850662,49.237225 -120.850636,49.237224 -120.850605,49.237223 -120.850570,49.237223 -120.850531,49.237223 -120.850488,49.237223 -120.850442,49.237223 -120.850392,49.237224 -120.850339,49.237225 -120.850283,49.237226 -120.850282,49.237226 -120.850281,49.237226 -120.850225,49.237227 -120.850222,49.237227 -120.850220,49.237227 -120.850163,49.237228 -120.850159,49.237227 -120.850154,49.237228 -120.850098,49.237228 -120.850092,49.237228 -120.850086,49.237228 -120.850030,49.237229 -120.850021,49.237228 -120.850013,49.237229 -120.849958,49.237228 -120.849947,49.237227 -120.849938,49.237228 -120.849883,49.237227 -120.849869,49.237226 -120.849859,49.237227 -120.849804,49.237225 -120.849788,49.237223 -120.849776,49.237225 -120.849722,49.237222 -120.849715,49.237221 -120.849689,49.237221 -120.849636,49.237218 -120.849626,49.237216 -120.849599,49.237216 -120.849546,49.237212 -120.849532,49.237209 -120.849504,49.237208 -120.849452,49.237203 -120.849433,49.237200 -120.849406,49.237199 -120.849355,49.237193 -120.849329,49.237188 -120.849305,49.237186 -120.849254,49.237179 -120.849219,49.237172 -120.849199,49.237171 -120.849149,49.237162 -120.848985,49.237127 -120.848974,49.237123 -120.848963,49.237121 -120.848916,49.237108 -120.848896,49.237100 -120.848675,49.237023 -120.848633,49.237004 -120.848477,49.236921 -120.848463,49.236915 -120.848425,49.236892 -120.848418,49.236885 -120.848407,49.236881 -120.848315,49.236816 -120.848280,49.236789 -120.848262,49.236770 -120.848213,49.236733 -120.848188,49.236709 -120.848188,49.236709 -120.848180,49.236702 -120.848163,49.236683 -120.848143,49.236666 -120.848111,49.236634 -120.848103,49.236624 -120.848095,49.236618 -120.848065,49.236586 -120.848049,49.236569 -120.848035,49.236557 -120.847863,49.236365 -120.847775,49.236178 -120.847763,49.236136 -120.847658,49.236054 -120.847599,49.235998 -120.847473,49.235848 -120.847371,49.235600 -120.847361,49.235544 -120.847351,49.235448 -120.847449,49.235102 -120.847453,49.235098 -120.847455,49.235093 -120.847491,49.235035 -120.847508,49.235018 -120.847668,49.234833 -120.847735,49.234776 -120.847843,49.234693 -120.847854,49.234688 -120.847861,49.234682 -120.847947,49.234626 -120.847952,49.234624 -120.848021,49.234581 -120.848115,49.234528 -120.848124,49.234525 -120.848147,49.234511 -120.848215,49.234475 -120.848162,49.234379 -120.848132,49.234310 -120.848120,49.234255 -120.848094,49.234197 -120.848078,49.234125 -120.848069,49.234058 -120.848065,49.234045 -120.848058,49.233973 -120.848063,49.233950 -120.848055,49.233925 -120.848054,49.233853 -120.848058,49.233838 -120.848054,49.233825 -120.848057,49.233753 -120.848062,49.233738 -120.848058,49.233726 -120.848064,49.233654 -120.848065,49.233651 -120.848066,49.233635 -120.848074,49.233563 -120.848075,49.233560 -120.848076,49.233550 -120.848085,49.233478 -120.848086,49.233477 -120.848086,49.233473 -120.848096,49.233402 -120.848105,49.233336 -120.848112,49.233278 -120.848117,49.233227 -120.848119,49.233184 -120.848119,49.233182 -120.848115,49.233178 -120.848081,49.233148 -120.848029,49.233105 -120.847969,49.233056 -120.847907,49.233007 -120.847843,49.232957 -120.847778,49.232907 -120.847710,49.232855 -120.847641,49.232803 -120.847570,49.232750 -120.847498,49.232696 -120.847498,49.232696 -120.847498,49.232696 -120.847426,49.232642 -120.847425,49.232641 -120.847424,49.232640 -120.847352,49.232586 -120.847351,49.232585 -120.847349,49.232584 -120.847277,49.232529 -120.847276,49.232528 -120.847272,49.232526 -120.847201,49.232471 -120.847200,49.232470 -120.847195,49.232467 -120.847124,49.232412 -120.847123,49.232410 -120.847117,49.232406 -120.847047,49.232351 -120.847045,49.232349 -120.847039,49.232344 -120.846970,49.232289 -120.846967,49.232286 -120.846960,49.232281 -120.846892,49.232225 -120.846888,49.232221 -120.846880,49.232215 -120.846813,49.232158 -120.846801,49.232145 -120.846779,49.232128 -120.846715,49.232069 -120.846697,49.232048 -120.846677,49.232032 -120.846618,49.231971 -120.846598,49.231946 -120.846585,49.231936 -120.846530,49.231873 -120.846508,49.231845 -120.846501,49.231838 -120.846450,49.231774 -120.846444,49.231758 -120.846425,49.231740 -120.846379,49.231675 -120.846373,49.231658 -120.846357,49.231643 -120.846314,49.231576 -120.846306,49.231550 -120.846288,49.231532 -120.846250,49.231463 -120.846246,49.231447 -120.846216,49.231390 -120.846188,49.231320 -120.846175,49.231261 -120.846155,49.231213 -120.846140,49.231142 -120.846127,49.231030 -120.846129,49.231024 -120.846127,49.231017 -120.846127,49.230946 -120.846133,49.230925 -120.846128,49.230908 -120.846133,49.230836 -120.846134,49.230832 -120.846135,49.230810 -120.846143,49.230738 -120.846146,49.230731 -120.846147,49.230708 -120.846159,49.230636 -120.846163,49.230625 -120.846165,49.230603 -120.846181,49.230530 -120.846187,49.230515 -120.846190,49.230494 -120.846210,49.230422 -120.846220,49.230399 -120.846223,49.230381 -120.846248,49.230311 -120.846264,49.230278 -120.846267,49.230265 -120.846297,49.230196 -120.846327,49.230139 -120.846328,49.230134 -120.846365,49.230069 -120.846374,49.230060 -120.846377,49.230048 -120.846446,49.229952 -120.846498,49.229890 -120.846538,49.229854 -120.846582,49.229800 -120.846646,49.229741 -120.846699,49.229700 -120.846713,49.229684 -120.846785,49.229628 -120.846807,49.229617 -120.846827,49.229596 -120.846903,49.229541 -120.846913,49.229537 -120.846920,49.229529 -120.846996,49.229477 -120.847003,49.229473 -120.847008,49.229468 -120.847094,49.229415 -120.847177,49.229368 -120.847207,49.229356 -120.847209,49.229355 -120.847208,49.229352 -120.847200,49.229267 -120.847201,49.229264 -120.847200,49.229261 -120.847199,49.229189 -120.847204,49.229173 -120.847200,49.229159 -120.847202,49.229087 -120.847206,49.229077 -120.847203,49.229069 -120.847209,49.228997 -120.847210,49.228993 -120.847209,49.228990 -120.847215,49.228920 -120.847220,49.228858 -120.847222,49.228807 -120.847222,49.228773 -120.847207,49.228742 -120.847207,49.228741 -120.847205,49.228738 -120.847172,49.228669 -120.847169,49.228654 -120.847152,49.228621 -120.847125,49.228551 -120.847123,49.228542 -120.847117,49.228531 -120.847102,49.228486 -120.847087,49.228484 -120.846906,49.228446 -120.846688,49.228374 -120.846598,49.228337 -120.846515,49.228295 -120.846466,49.228276 -120.846376,49.228228 -120.846276,49.228171 -120.846275,49.228170 -120.846274,49.228170 -120.846189,49.228115 -120.846189,49.228115 -120.846077,49.228034 -120.846005,49.227975 -120.845939,49.227904 -120.845876,49.227850 -120.845824,49.227788 -120.845763,49.227707 -120.845689,49.227562 -120.845667,49.227500 -120.845628,49.227302 -120.845639,49.227179 -120.845651,49.227111 -120.845707,49.226970 -120.845718,49.226924 -120.845756,49.226853 -120.845796,49.226810 -120.845811,49.226764 -120.845863,49.226693 -120.845868,49.226689 -120.845883,49.226666 -120.845936,49.226600 -120.845952,49.226585 -120.845981,49.226547 -120.846037,49.226486 -120.846077,49.226452 -120.846103,49.226421 -120.846168,49.226362 -120.846192,49.226344 -120.846199,49.226336 -120.846263,49.226283 -120.846299,49.226252 -120.846296,49.226215 -120.846300,49.226201 -120.846295,49.226185 -120.846319,49.226003 -120.846339,49.225935 -120.846387,49.225827 -120.846393,49.225805 -120.846429,49.225737 -120.846465,49.225699 -120.846478,49.225658 -120.846525,49.225592 -120.846535,49.225582 -120.846572,49.225532 -120.846626,49.225468 -120.846645,49.225451 -120.846668,49.225423 -120.846727,49.225362 -120.846768,49.225328 -120.846789,49.225303 -120.846855,49.225246 -120.846925,49.225192 -120.846933,49.225184 -120.847006,49.225131 -120.847028,49.225121 -120.847044,49.225105 -120.847118,49.225056 -120.847162,49.225025 -120.847163,49.225024 -120.847178,49.225005 -120.847199,49.224975 -120.847223,49.224935 -120.847246,49.224894 -120.847255,49.224877 -120.847250,49.224855 -120.847241,49.224826 -120.847232,49.224805 -120.847232,49.224804 -120.847212,49.224787 -120.847181,49.224761 -120.847141,49.224732 -120.847094,49.224699 -120.847039,49.224663 -120.846977,49.224624 -120.846911,49.224583 -120.846841,49.224541 -120.846768,49.224498 -120.846691,49.224454 -120.846612,49.224408 -120.846529,49.224361 -120.846529,49.224361 -120.846529,49.224361 -120.846446,49.224314 -120.846445,49.224313 -120.846442,49.224312 -120.846360,49.224264 -120.846358,49.224262 -120.846354,49.224261 -120.846271,49.224213 -120.846268,49.224210 -120.846263,49.224208 -120.846181,49.224159 -120.846177,49.224156 -120.846170,49.224153 -120.846090,49.224104 -120.846084,49.224099 -120.846076,49.224095 -120.845996,49.224046 -120.845990,49.224040 -120.845980,49.224036 -120.845902,49.223986 -120.845894,49.223978 -120.845884,49.223973 -120.845807,49.223922 -120.845792,49.223908 -120.845775,49.223900 -120.845700,49.223847 -120.845690,49.223836 -120.845635,49.223796 -120.845565,49.223738 -120.845540,49.223710 -120.845497,49.223676 -120.845435,49.223615 -120.845387,49.223556 -120.845365,49.223537 -120.845314,49.223473 -120.845294,49.223421 -120.845245,49.223372 -120.845207,49.223306 -120.845199,49.223278 -120.845146,49.223168 -120.845125,49.223100 -120.845103,49.222965 -120.845098,49.222952 -120.845094,49.222880 -120.845097,49.222870 -120.845093,49.222860 -120.845100,49.222762 -120.845111,49.222688 -120.845124,49.222652 -120.845133,49.222592 -120.845156,49.222519 -120.845182,49.222461 -120.845187,49.222438 -120.845220,49.222369 -120.845241,49.222330 -120.845242,49.222326 -120.845279,49.222259 -120.845289,49.222248 -120.845293,49.222234 -120.845334,49.222167 -120.845343,49.222158 -120.845346,49.222147 -120.845389,49.222081 -120.845397,49.222073 -120.845399,49.222066 -120.845444,49.222000 -120.845450,49.221995 -120.845451,49.221989 -120.845497,49.221924 -120.845501,49.221921 -120.845502,49.221918 -120.845549,49.221853 -120.845550,49.221852 -120.845550,49.221851 -120.845596,49.221787 -120.845639,49.221727 -120.845678,49.221671 -120.845713,49.221619 -120.845743,49.221572 -120.845769,49.221529 -120.845791,49.221488 -120.845812,49.221444 -120.845833,49.221396 -120.845854,49.221343 -120.845875,49.221286 -120.845897,49.221225 -120.845919,49.221161 -120.845942,49.221092 -120.845942,49.221092 -120.845942,49.221092 -120.845966,49.221021 -120.845967,49.221019 -120.845967,49.221017 -120.845991,49.220947 -120.845993,49.220942 -120.845994,49.220939 -120.846019,49.220869 -120.846022,49.220862 -120.846023,49.220858 -120.846049,49.220788 -120.846054,49.220777 -120.846055,49.220772 -120.846084,49.220703 -120.846091,49.220689 -120.846092,49.220684 -120.846122,49.220615 -120.846135,49.220590 -120.846136,49.220584 -120.846171,49.220516 -120.846184,49.220501 -120.846190,49.220480 -120.846229,49.220413 -120.846240,49.220401 -120.846244,49.220388 -120.846285,49.220321 -120.846292,49.220314 -120.846295,49.220307 -120.846338,49.220240 -120.846340,49.220238 -120.846341,49.220236 -120.846383,49.220173 -120.846419,49.220118 -120.846444,49.220077 -120.846427,49.220033 -120.846403,49.219915 -120.846388,49.219873 -120.846380,49.219802 -120.846386,49.219779 -120.846377,49.219752 -120.846474,49.219407 -120.846638,49.219212 -120.846688,49.219167 -120.846815,49.219068 -120.847156,49.218900 -120.847238,49.218872 -120.847340,49.218840 -120.847383,49.218834 -120.847415,49.218820 -120.847509,49.218798 -120.847534,49.218795 -120.847632,49.218773 -120.847736,49.218755 -120.847772,49.218752 -120.847814,49.218744 -120.847925,49.218729 -120.847948,49.218728 -120.847964,49.218724 -120.848080,49.218712 -120.848084,49.218711 -120.848087,49.218711 -120.848192,49.218700 -120.848268,49.218690 -120.848307,49.218685 -120.848330,49.218680 -120.848382,49.218668 -120.848461,49.218648 -120.848544,49.218626 -120.848631,49.218602 -120.848721,49.218576 -120.848814,49.218549 -120.848911,49.218520 -120.849011,49.218491 -120.849012,49.218491 -120.849014,49.218490 -120.849114,49.218461 -120.849118,49.218460 -120.849121,49.218459 -120.849221,49.218430 -120.849227,49.218429 -120.849231,49.218427 -120.849332,49.218399 -120.849340,49.218398 -120.849347,49.218395 -120.849448,49.218367 -120.849458,49.218366 -120.849466,49.218362 -120.849568,49.218335 -120.849577,49.218334 -120.849584,49.218331 -120.849686,49.218305 -120.849691,49.218305 -120.849693,49.218304 -120.849798,49.218278 -120.849809,49.218276 -120.849874,49.218260 -120.849981,49.218238 -120.850044,49.218232 -120.850145,49.218212 -120.850253,49.218199 -120.850482,49.218184 -120.850496,49.218186 -120.850510,49.218184 -120.850618,49.218184 -120.850627,49.218185 -120.850756,49.218189 -120.850864,49.218197 -120.850886,49.218201 -120.850929,49.218203 -120.851037,49.218214 -120.851060,49.218218 -120.851086,49.218219 -120.851194,49.218233 -120.851213,49.218237 -120.851228,49.218238 -120.851337,49.218253 -120.851348,49.218256 -120.851356,49.218256 -120.851464,49.218273 -120.851467,49.218273 -120.851469,49.218274 -120.851573,49.218290 -120.851665,49.218304 -120.851743,49.218315 -120.851805,49.218322 -120.851852,49.218327 -120.851883,49.218329 -120.851913,49.218329 -120.851974,49.218328 -120.852060,49.218326 -120.852147,49.218323 -120.852236,49.218318 -120.852327,49.218313 -120.852420,49.218307 -120.852515,49.218300 -120.852611,49.218293 -120.852708,49.218285 -120.852808,49.218276 -120.852909,49.218266 -120.853011,49.218256 -120.853115,49.218246 -120.853221,49.218235 -120.853328,49.218223 -120.853436,49.218212 -120.853437,49.218212 -120.853437,49.218212 -120.853546,49.218201 -120.853547,49.218201 -120.853548,49.218200 -120.853637,49.218191 -120.841907,49.213110 -120.841707,49.213004 -120.841403,49.212715 -120.841298,49.212445 -120.841239,49.212042 -120.841171,49.211878 -120.841022,49.211714 -120.841010,49.211676 -120.840984,49.211650 -120.840816,49.211329 -120.840742,49.211049 -120.840744,49.211044 -120.840742,49.211038 -120.840741,49.210428 -120.840700,49.210175 -120.840693,49.210094 -120.840752,49.209820 -120.840953,49.209386 -120.840987,49.209323 -120.840987,49.209321 -120.841479,49.208495 -120.841514,49.208460 -120.841525,49.208426 -120.842088,49.207674 -120.842176,49.207538 -120.841905,49.207452 -120.840641,49.207168 -120.838365,49.206680 -120.838331,49.206667 -120.838284,49.206661 -120.838143,49.206618 -120.837187,49.206282 -120.837181,49.206279 -120.837164,49.206274 -120.836537,49.206043 -120.836497,49.206024 -120.836439,49.206004 -120.835784,49.205713 -120.835596,49.205613 -120.835578,49.205596 -120.835555,49.205586 -120.835231,49.205361 -120.834968,49.205099 -120.834925,49.205024 -120.834674,49.204522 -120.834606,49.204254 -120.834608,49.204182 -120.834662,49.203647 -120.834663,49.203645 -120.834663,49.203637 -120.834712,49.203221 -120.834713,49.203217 -120.834714,49.203205 -120.834801,49.202591 -120.834893,49.202341 -120.834905,49.202324 -120.834797,49.202266 -120.834713,49.202216 -120.834607,49.202141 -120.834506,49.202060 -120.834415,49.202054 -120.834040,49.202069 -120.833764,49.202193 -120.833732,49.202198 -120.833708,49.202208 -120.833187,49.202337 -120.832719,49.202396 -120.832433,49.202378 -120.830918,49.202181 -120.830892,49.202268 -120.830889,49.202271 -120.830888,49.202275 -120.830301,49.203218 -120.830282,49.203237 -120.830093,49.203447 -120.828521,49.204710 -120.828441,49.204769 -120.828185,49.204904 -120.827865,49.205035 -120.827137,49.205395 -120.826853,49.205503 -120.826824,49.205507 -120.826802,49.205516 -120.826250,49.205655 -120.826235,49.205657 -120.826225,49.205661 -120.825213,49.205901 -120.825057,49.205919 -120.824866,49.205951 -120.823563,49.206025 -120.822839,49.206071 -120.822726,49.206075 -120.822628,49.206147 -120.822578,49.206171 -120.822542,49.206206 -120.822012,49.206534 -120.821611,49.206706 -120.821586,49.206710 -120.821566,49.206718 -120.820226,49.207060 -120.819221,49.207366 -120.819202,49.207369 -120.819184,49.207376 -120.818911,49.207432 -120.816652,49.207727 -120.816402,49.207745 -120.816115,49.207727 -120.812374,49.207239 -120.812133,49.207192 -120.812097,49.207177 -120.812061,49.207172 -120.810953,49.206833 -120.810576,49.206662 -120.810275,49.206376 -120.809848,49.205731 -120.809847,49.205730 -120.809846,49.205728 -120.809802,49.205653 -120.809412,49.204870 -120.809344,49.204602 -120.809372,49.204458 -120.809161,49.204349 -120.809075,49.204288 -120.808517,49.203860 -120.808300,49.203631 -120.808195,49.203362 -120.807915,49.201458 -120.807914,49.201445 -120.807913,49.201443 -120.807841,49.200847 -120.807580,49.200432 -120.807368,49.200323 -120.806895,49.200219 -120.805497,49.200331 -120.804922,49.200567 -120.804735,49.200631 -120.804211,49.200704 -120.804040,49.200698 -120.803371,49.200649 -120.803111,49.200644 -120.802609,49.201108 -120.802565,49.201142 -120.802552,49.201157 -120.802399,49.201280 -120.802212,49.201652 -120.802192,49.201675 -120.802183,49.201705 -120.802028,49.201892 -120.801775,49.202126 -120.801638,49.202234 -120.801420,49.202353 -120.800770,49.202639 -120.800770,49.202639 -120.800630,49.202700 -120.800170,49.202968 -120.799805,49.203120 -120.799801,49.203121 -120.798523,49.203482 -120.797948,49.203675 -120.797906,49.203682 -120.797863,49.203701 -120.797339,49.203774 -120.796812,49.203710 -120.796780,49.203696 -120.796748,49.203692 -120.795760,49.203395 -120.795697,49.203366 -120.795516,49.203300 -120.794959,49.203030 -120.794725,49.202963 -120.793265,49.202671 -120.793158,49.202646 -120.793139,49.202638 -120.793120,49.202636 -120.792221,49.202380 -120.792196,49.202369 -120.792022,49.202310 -120.791039,49.201894 -120.790827,49.201782 -120.790662,49.201640 -120.790374,49.201697 -120.790121,49.201722 -120.790044,49.201734 -120.789254,49.201758 -120.789231,49.201756 -120.789206,49.201759 -120.789060,49.201756 -120.788122,49.201698 -120.787741,49.201638 -120.787727,49.201632 -120.787713,49.201630 -120.787023,49.201438 -120.787007,49.201431 -120.786835,49.201373 -120.786119,49.201081 -120.786005,49.201023 -120.785957,49.201004 -120.785398,49.200693 -120.785398,49.200693 -120.785123,49.200540 -120.783635,49.199873 -120.782622,49.199467 -120.782379,49.199344 -120.782294,49.199284 -120.781252,49.198486 -120.780830,49.198478 -120.780454,49.198427 -120.780372,49.198417 -120.779485,49.198191 -120.778925,49.198435 -120.778706,49.198512 -120.778605,49.198538 -120.777715,49.198735 -120.777051,49.199036 -120.775724,49.200414 -120.775312,49.201184 -120.775297,49.201200 -120.775291,49.201220 -120.774999,49.201515 -120.774706,49.201665 -120.773039,49.202298 -120.772891,49.202347 -120.772624,49.202402 -120.771068,49.202610 -120.770810,49.202628 -120.770616,49.202621 -120.768589,49.202449 -120.766737,49.202451 -120.766225,49.202386 -120.765776,49.202195 -120.765558,49.202015 -120.765298,49.201731 -120.765212,49.201622 -120.765101,49.201279 -120.765199,49.200933 -120.765451,49.200668 -120.765801,49.200411 -120.766168,49.199842 -120.766178,49.199833 -120.766181,49.199823 -120.766305,49.199643 -120.766305,49.199643 -120.766305,49.199643 -120.766733,49.199019 -120.766782,49.198972 -120.766899,49.198837 -120.768161,49.197768 -120.768264,49.197690 -120.768418,49.197601 -120.769825,49.196903 -120.770272,49.196664 -120.770317,49.196646 -120.770382,49.196611 -120.770897,49.196388 -120.771409,49.196155 -120.771768,49.195950 -120.772560,49.195460 -120.772686,49.195406 -120.772878,49.195313 -120.773833,49.194993 -120.773874,49.194987 -120.773916,49.194968 -120.774027,49.194940 -120.775141,49.194700 -120.775374,49.194618 -120.775821,49.194398 -120.776339,49.194044 -120.776343,49.194042 -120.776346,49.194039 -120.776513,49.193944 -120.776947,49.193733 -120.777043,49.193697 -120.777097,49.193670 -120.778084,49.193311 -120.778209,49.193271 -120.778238,49.193267 -120.778260,49.193258 -120.778628,49.193165 -120.779101,49.193106 -120.779132,49.193110 -120.779159,49.193106 -120.779466,49.193112 -120.780460,49.192990 -120.780822,49.192838 -120.780848,49.192829 -120.780861,49.192822 -120.781162,49.192705 -120.781589,49.192512 -120.781636,49.192495 -120.781665,49.192480 -120.782005,49.192347 -120.782115,49.192310 -120.782155,49.192224 -120.782447,49.191929 -120.782668,49.191809 -120.783844,49.191295 -120.783861,49.191289 -120.783872,49.191283 -120.785744,49.190507 -120.786210,49.190159 -120.786238,49.190146 -120.786259,49.190124 -120.786501,49.189995 -120.787030,49.189772 -120.787788,49.189377 -120.788777,49.188354 -120.788796,49.188338 -120.788809,49.188322 -120.789695,49.187484 -120.789838,49.187371 -120.789839,49.187370 -120.791559,49.186210 -120.791577,49.186202 -120.791589,49.186190 -120.792042,49.185903 -120.792291,49.185572 -120.792502,49.185377 -120.792529,49.185350 -120.792677,49.185248 -120.792572,49.184957 -120.792054,49.184414 -120.791957,49.184292 -120.791956,49.184290 -120.791954,49.184288 -120.791730,49.183941 -120.790968,49.183377 -120.790735,49.183136 -120.790646,49.182939 -120.789801,49.182832 -120.789715,49.182815 -120.789674,49.182811 -120.789347,49.182748 -120.789239,49.182754 -120.789099,49.182836 -120.788599,49.183231 -120.788540,49.183274 -120.788538,49.183276 -120.787724,49.183837 -120.787717,49.183840 -120.787712,49.183845 -120.787595,49.183915 -120.786900,49.184285 -120.786548,49.184700 -120.786331,49.184892 -120.786153,49.184993 -120.785750,49.185184 -120.785487,49.185282 -120.784963,49.185355 -120.784961,49.185354 -120.784960,49.185355 -120.784954,49.185355 -120.784951,49.185361 -120.784762,49.185577 -120.784510,49.185791 -120.784407,49.185869 -120.784001,49.186057 -120.783571,49.186188 -120.783552,49.186191 -120.783535,49.186199 -120.783319,49.186225 -120.783011,49.186271 -120.782980,49.186268 -120.782953,49.186271 -120.782620,49.186265 -120.782609,49.186263 -120.782553,49.186262 -120.782484,49.186316 -120.782445,49.186335 -120.782413,49.186367 -120.781971,49.186566 -120.781826,49.186601 -120.780999,49.186764 -120.780621,49.186802 -120.780498,49.186800 -120.779971,49.186773 -120.779404,49.186803 -120.779084,49.186866 -120.778705,49.186904 -120.778675,49.186901 -120.778648,49.186904 -120.778224,49.186896 -120.777754,49.186832 -120.777721,49.186818 -120.777686,49.186813 -120.777267,49.186685 -120.777253,49.186679 -120.777240,49.186677 -120.776911,49.186571 -120.776798,49.186519 -120.776652,49.186463 -120.776414,49.186337 -120.776120,49.186377 -120.775926,49.186370 -120.775322,49.186319 -120.774989,49.186262 -120.774679,49.186148 -120.774382,49.186003 -120.774244,49.185926 -120.773974,49.185668 -120.773937,49.185663 -120.773406,49.185711 -120.772743,49.185873 -120.771597,49.186183 -120.771588,49.186184 -120.771429,49.186220 -120.770818,49.186328 -120.770725,49.186336 -120.770648,49.186350 -120.770122,49.186397 -120.769686,49.186445 -120.769474,49.186458 -120.768947,49.186394 -120.768498,49.186202 -120.768195,49.185913 -120.768084,49.185569 -120.768182,49.185224 -120.768301,49.185073 -120.768683,49.184683 -120.768714,49.184657 -120.768732,49.184636 -120.769273,49.184152 -120.769575,49.183696 -120.769764,49.183314 -120.769944,49.182731 -120.769993,49.182236 -120.770088,49.181961 -120.770331,49.181701 -120.771018,49.181189 -120.771874,49.180319 -120.772502,49.179641 -120.772797,49.179246 -120.772836,49.179210 -120.772833,49.179116 -120.772834,49.179113 -120.772833,49.179110 -120.772837,49.179027 -120.772867,49.178779 -120.772807,49.178625 -120.772395,49.178159 -120.772364,49.178127 -120.771823,49.178277 -120.771126,49.178479 -120.771118,49.178481 -120.771111,49.178484 -120.770705,49.178552 -120.769561,49.178626 -120.768811,49.178705 -120.768609,49.178717 -120.768556,49.178711 -120.768513,49.178716 -120.767423,49.178675 -120.767108,49.178629 -120.767018,49.178618 -120.766138,49.178401 -120.765961,49.178493 -120.765948,49.178498 -120.765927,49.178510 -120.765227,49.178853 -120.765159,49.179102 -120.764929,49.179495 -120.764924,49.179500 -120.764922,49.179507 -120.764804,49.179658 -120.764136,49.180341 -120.763963,49.180484 -120.763937,49.180496 -120.763922,49.180511 -120.762986,49.181089 -120.762965,49.181098 -120.762860,49.181158 -120.761992,49.181578 -120.761788,49.181655 -120.761753,49.181671 -120.760892,49.181933 -120.760883,49.181934 -120.760875,49.181938 -120.759984,49.182199 -120.759943,49.182205 -120.759911,49.182219 -120.759067,49.182429 -120.758220,49.182686 -120.758201,49.182689 -120.758183,49.182697 -120.757872,49.182757 -120.757109,49.182842 -120.756897,49.182854 -120.756484,49.182816 -120.754921,49.182507 -120.754807,49.182481 -120.754538,49.182387 -120.752606,49.181514 -120.752426,49.181417 -120.752252,49.181281 -120.750854,49.179941 -120.750196,49.179536 -120.750191,49.179532 -120.750184,49.179528 -120.748444,49.178431 -120.748442,49.178428 -120.748437,49.178426 -120.748224,49.178251 -120.747075,49.177014 -120.746270,49.176318 -120.746103,49.176129 -120.746006,49.175901 -120.745630,49.174164 -120.745617,49.174058 -120.745616,49.174055 -120.745580,49.172852 -120.745581,49.172848 -120.745580,49.172845 -120.745651,49.172547 -120.746317,49.171248 -120.746361,49.171200 -120.746379,49.171147 -120.746994,49.170304 -120.747076,49.170227 -120.747171,49.170120 -120.747637,49.169749 -120.748349,49.168951 -120.748426,49.168884 -120.748466,49.168839 -120.748992,49.168412 -120.749448,49.167881 -120.749662,49.167694 -120.749903,49.167565 -120.750223,49.167431 -120.750554,49.167073 -120.750940,49.166499 -120.751073,49.166370 -120.751184,49.166254 -120.751762,49.165840 -120.751997,49.165659 -120.752032,49.165643 -120.752060,49.165614 -120.752397,49.165448 -120.752825,49.165299 -120.752799,49.165232 -120.752757,49.165022 -120.752767,49.164903 -120.752807,49.164685 -120.752858,49.164555 -120.752870,49.164503 -120.753119,49.164024 -120.753586,49.162825 -120.753641,49.162713 -120.753933,49.162419 -120.753972,49.162402 -120.753995,49.162380 -120.754562,49.162044 -120.754687,49.161861 -120.754688,49.161860 -120.754558,49.161632 -120.754529,49.161530 -120.754475,49.161386 -120.754387,49.160649 -120.754393,49.160622 -120.754383,49.160590 -120.754441,49.160319 -120.754643,49.159879 -120.754693,49.159618 -120.754069,49.159910 -120.753812,49.160005 -120.753288,49.160078 -120.753244,49.160073 -120.753207,49.160077 -120.751421,49.160022 -120.751407,49.160020 -120.751397,49.160022 -120.749962,49.159961 -120.749410,49.160112 -120.749115,49.160232 -120.746796,49.161937 -120.746002,49.162596 -120.745961,49.162626 -120.745955,49.162632 -120.743978,49.164105 -120.743951,49.164118 -120.743930,49.164139 -120.743489,49.164337 -120.743344,49.164372 -120.742952,49.164449 -120.742381,49.164745 -120.742278,49.164785 -120.742200,49.164824 -120.741738,49.164994 -120.741608,49.165036 -120.741342,49.165091 -120.740998,49.165137 -120.740757,49.165215 -120.740359,49.165378 -120.739872,49.165583 -120.739669,49.165654 -120.739538,49.165686 -120.738253,49.165949 -120.738062,49.165969 -120.737947,49.165988 -120.737369,49.166016 -120.737322,49.166011 -120.737268,49.166018 -120.736298,49.166019 -120.736275,49.166016 -120.736255,49.166019 -120.735165,49.165998 -120.734696,49.165934 -120.734452,49.165850 -120.734065,49.165683 -120.733958,49.165627 -120.733922,49.165613 -120.733449,49.165345 -120.733426,49.165324 -120.733388,49.165308 -120.733085,49.165018 -120.732974,49.164674 -120.732980,49.164655 -120.732975,49.164637 -120.732989,49.164319 -120.732996,49.164296 -120.733011,49.164185 -120.733192,49.163532 -120.733226,49.163455 -120.733233,49.163424 -120.733533,49.162796 -120.733792,49.162244 -120.733004,49.162147 -120.732748,49.162098 -120.732709,49.162081 -120.732671,49.162076 -120.731714,49.161778 -120.731598,49.161725 -120.731430,49.161660 -120.730513,49.161165 -120.730426,49.161114 -120.730148,49.160860 -120.729749,49.160315 -120.729747,49.160309 -120.729740,49.160303 -120.729455,49.159900 -120.729451,49.159888 -120.729439,49.159876 -120.729398,49.159734 -120.729329,49.159533 -120.729334,49.159513 -120.729329,49.159495 -120.729350,49.159038 -120.729448,49.158731 -120.729560,49.158586 -120.729943,49.158187 -120.730124,49.157807 -120.730149,49.157779 -120.730160,49.157741 -120.730349,49.157524 -120.730601,49.157311 -120.730704,49.157233 -120.730943,49.157105 -120.731316,49.156947 -120.731771,49.156652 -120.732408,49.156169 -120.733396,49.155351 -120.733815,49.154776 -120.733906,49.154690 -120.734002,49.154585 -120.734846,49.153925 -120.735120,49.153578 -120.735336,49.153278 -120.735344,49.153271 -120.735368,49.153236 -120.735528,49.153041 -120.735755,49.152838 -120.735922,49.152743 -120.736241,49.152588 -120.736265,49.152547 -120.736275,49.152536 -120.736279,49.152522 -120.736391,49.152378 -120.736705,49.152051 -120.736847,49.151898 -120.736822,49.151770 -120.736811,49.151667 -120.736819,49.151563 -120.736904,49.151028 -120.736933,49.150950 -120.736948,49.150877 -120.737077,49.150575 -120.736737,49.150393 -120.736647,49.150340 -120.736518,49.150245 -120.736256,49.150021 -120.736215,49.149976 -120.736167,49.149936 -120.735908,49.149653 -120.735822,49.149543 -120.735821,49.149540 -120.735818,49.149537 -120.735723,49.149388 -120.735588,49.149250 -120.735267,49.149079 -120.735191,49.149120 -120.735187,49.149121 -120.735181,49.149125 -120.734594,49.149430 -120.733977,49.149753 -120.733390,49.150064 -120.733072,49.150277 -120.732730,49.150507 -120.732729,49.150508 -120.732728,49.150508 -120.732572,49.150599 -120.732174,49.150795 -120.731090,49.151483 -120.730630,49.151786 -120.730623,49.151789 -120.730460,49.151881 -120.729587,49.152293 -120.728726,49.152794 -120.728098,49.153446 -120.727919,49.153595 -120.727758,49.153688 -120.726863,49.154125 -120.725906,49.154601 -120.725617,49.154711 -120.725334,49.154768 -120.724239,49.154905 -120.723296,49.155025 -120.723051,49.155042 -120.722703,49.155015 -120.722011,49.154902 -120.721832,49.154864 -120.721662,49.154810 -120.721541,49.154765 -120.721455,49.154938 -120.721437,49.154957 -120.721430,49.154984 -120.719304,49.158567 -120.719300,49.158571 -120.719299,49.158576 -120.719006,49.158870 -120.718635,49.159047 -120.715928,49.159929 -120.715892,49.159934 -120.715857,49.159950 -120.715333,49.160023 -120.715192,49.160019 -120.707651,49.159565 -120.698802,49.161364 -120.698411,49.161405 -120.698370,49.161400 -120.698334,49.161404 -120.697400,49.161376 -120.697340,49.161368 -120.697165,49.161356 -120.694583,49.160980 -120.694370,49.160937 -120.694219,49.160890 -120.687831,49.158584 -120.685397,49.164831 -120.685341,49.164944 -120.685101,49.165200 -120.683877,49.166120 -120.683847,49.166134 -120.683824,49.166158 -120.683408,49.166349 -120.677938,49.167969 -120.675647,49.168886 -120.672172,49.172418 -120.672000,49.172559 -120.671727,49.172701 -120.669232,49.173685 -120.669064,49.173742 -120.668834,49.173791 -120.667524,49.173989 -120.667230,49.174013 -120.666806,49.173972 -120.662764,49.173143 -120.660781,49.173224 -120.657319,49.174330 -120.657288,49.174335 -120.657257,49.174348 -120.656733,49.174421 -120.656591,49.174417 -120.652190,49.174147 -120.647975,49.174764 -120.647596,49.174970 -120.646677,49.176676 -120.646662,49.176691 -120.646656,49.176712 -120.646363,49.177006 -120.645921,49.177204 -120.645902,49.177206 -120.645887,49.177213 -120.643427,49.177851 -120.642937,49.177914 -120.642410,49.177849 -120.641962,49.177657 -120.641660,49.177367 -120.641550,49.177023 -120.641551,49.177018 -120.641550,49.177013 -120.641581,49.152479 -120.641581,49.152479 -120.641591,49.145246 -120.641590,49.144392 -120.641576,49.144373 -120.641570,49.144368 -120.641476,49.144242 -120.641325,49.144072 -120.641236,49.144003 -120.641118,49.143893 -120.640979,49.143729 -120.640979,49.143728 -120.640978,49.143727 -120.640901,49.143609 -120.640896,49.143593 -120.640884,49.143580 -120.640787,49.143416 -120.640690,49.143260 -120.640690,49.143257 -120.640687,49.143255 -120.640598,49.143109 -120.640592,49.143089 -120.640578,49.143074 -120.640498,49.142925 -120.640431,49.142813 -120.640355,49.142717 -120.640303,49.142622 -120.640241,49.142486 -120.640241,49.142486 -120.640222,49.142446 -120.640208,49.142423 -120.640181,49.142385 -120.640084,49.142272 -120.639926,49.142109 -120.639791,49.142002 -120.639528,49.141802 -120.639389,49.141705 -120.639381,49.141697 -120.639320,49.141653 -120.639164,49.141525 -120.639025,49.141414 -120.638942,49.141356 -120.638818,49.141288 -120.638808,49.141279 -120.638788,49.141271 -120.638628,49.141178 -120.638609,49.141160 -120.638579,49.141147 -120.638497,49.141090 -120.638219,49.140878 -120.638207,49.140864 -120.638163,49.140832 -120.638005,49.140694 -120.637996,49.140683 -120.637980,49.140671 -120.637835,49.140535 -120.637755,49.140465 -120.637687,49.140422 -120.637685,49.140420 -120.637681,49.140418 -120.637553,49.140323 -120.637434,49.140222 -120.637353,49.140130 -120.637303,49.140086 -120.637213,49.139972 -120.637118,49.139881 -120.637106,49.139867 -120.637093,49.139856 -120.636992,49.139752 -120.636761,49.139591 -120.636744,49.139575 -120.636644,49.139497 -120.636434,49.139304 -120.636429,49.139299 -120.636422,49.139294 -120.636207,49.139089 -120.636106,49.138998 -120.635960,49.138880 -120.635931,49.138849 -120.635876,49.138805 -120.635734,49.138662 -120.635603,49.138557 -120.635398,49.138399 -120.635356,49.138372 -120.635342,49.138366 -120.635269,49.138328 -120.635227,49.138312 -120.634906,49.138143 -120.634853,49.138112 -120.634844,49.138109 -120.634671,49.138006 -120.634647,49.137984 -120.634610,49.137968 -120.634486,49.137885 -120.634208,49.137781 -120.634021,49.137687 -120.633893,49.137615 -120.633863,49.137586 -120.633828,49.137570 -120.633590,49.137394 -120.633585,49.137390 -120.633561,49.137373 -120.633455,49.137290 -120.633425,49.137257 -120.633361,49.137206 -120.633289,49.137134 -120.633157,49.137099 -120.633156,49.137099 -120.633154,49.137099 -120.632938,49.137027 -120.632777,49.136960 -120.632714,49.136928 -120.632667,49.136910 -120.632426,49.136788 -120.632398,49.136772 -120.632388,49.136768 -120.632268,49.136703 -120.632247,49.136690 -120.632242,49.136689 -120.632095,49.136605 -120.632091,49.136600 -120.632082,49.136597 -120.631805,49.136434 -120.631645,49.136357 -120.631577,49.136329 -120.631410,49.136229 -120.631235,49.136132 -120.631211,49.136124 -120.631026,49.136065 -120.630806,49.136016 -120.630783,49.136013 -120.630535,49.135958 -120.630360,49.135932 -120.630221,49.135915 -120.630049,49.135911 -120.629966,49.135900 -120.629731,49.135880 -120.629521,49.135842 -120.629415,49.135843 -120.629383,49.135839 -120.629353,49.135843 -120.629265,49.135841 -120.629135,49.135848 -120.629076,49.135854 -120.629030,49.135878 -120.628754,49.136032 -120.628570,49.136106 -120.628472,49.136152 -120.628235,49.136228 -120.628150,49.136242 -120.628080,49.136271 -120.627907,49.136310 -120.627795,49.136348 -120.627766,49.136352 -120.627745,49.136362 -120.627584,49.136401 -120.627397,49.136450 -120.627389,49.136451 -120.627312,49.136470 -120.627076,49.136519 -120.627070,49.136519 -120.627053,49.136523 -120.626954,49.136543 -120.626740,49.136601 -120.626727,49.136602 -120.626508,49.136648 -120.626369,49.136668 -120.626162,49.136703 -120.626082,49.136710 -120.626012,49.136723 -120.625818,49.136742 -120.625568,49.136775 -120.625477,49.136782 -120.625435,49.136789 -120.625230,49.136803 -120.625131,49.136819 -120.624845,49.136843 -120.624825,49.136846 -120.624565,49.136850 -120.624565,49.136850 -120.624308,49.136853 -120.624088,49.136857 -120.623960,49.136861 -120.623836,49.136871 -120.623684,49.136877 -120.623654,49.136874 -120.623627,49.136877 -120.623465,49.136873 -120.623288,49.136877 -120.623283,49.136877 -120.623278,49.136877 -120.623031,49.136881 -120.623022,49.136880 -120.623012,49.136881 -120.622653,49.136852 -120.622357,49.136802 -120.622300,49.136792 -120.622037,49.136765 -120.622037,49.136765 -120.621927,49.136754 -120.621652,49.136704 -120.621639,49.136702 -120.621449,49.136654 -120.621417,49.136640 -120.621384,49.136635 -120.621221,49.136587 -120.621205,49.136580 -120.621101,49.136546 -120.620926,49.136480 -120.620654,49.136344 -120.620640,49.136331 -120.620448,49.136250 -120.620439,49.136246 -120.620408,49.136243 -120.619961,49.136050 -120.619659,49.135761 -120.619549,49.135417 -120.619550,49.135413 -120.619549,49.135408 -120.619549,49.135293 -120.613245,49.135292 -120.612733,49.135227 -120.612286,49.135035 -120.611984,49.134745 -120.611874,49.134402 -120.611882,49.134300 -120.611885,49.134282 -120.611889,49.134270 -120.611892,49.134243 -120.611942,49.134019 -120.611978,49.133857 -120.612013,49.133770 -120.612024,49.133720 -120.612118,49.133521 -120.612134,49.133491 -120.612135,49.133487 -120.612227,49.133314 -120.612243,49.133298 -120.612249,49.133276 -120.612314,49.133185 -120.612537,49.132914 -120.612764,49.132712 -120.612909,49.132627 -120.613067,49.132548 -120.613364,49.132434 -120.613582,49.132387 -120.613892,49.132338 -120.614123,49.132320 -120.614160,49.132314 -120.614551,49.132305 -120.614998,49.132287 -120.615060,49.132294 -120.615123,49.132286 -120.615486,49.132294 -120.615496,49.132295 -120.615571,49.132297 -120.616017,49.132325 -120.616037,49.132328 -120.616083,49.132330 -120.616456,49.132365 -120.616697,49.132387 -120.616668,49.132364 -120.616547,49.132256 -120.616391,49.132077 -120.616307,49.131897 -120.616259,49.131736 -120.616234,49.131572 -120.616239,49.131552 -120.616234,49.131535 -120.616249,49.131223 -120.616348,49.130915 -120.616366,49.130897 -120.616372,49.130877 -120.616568,49.130597 -120.616836,49.130341 -120.616849,49.130335 -120.616858,49.130327 -120.617021,49.130222 -120.617244,49.130065 -120.617259,49.130058 -120.617269,49.130047 -120.617362,49.129991 -120.617807,49.129743 -120.617941,49.129689 -120.618054,49.129633 -120.618367,49.129525 -120.618469,49.129493 -120.618488,49.129491 -120.618503,49.129484 -120.618779,49.129413 -120.618985,49.129350 -120.618985,49.129350 -120.618985,49.129350 -120.619198,49.129286 -120.619217,49.129283 -120.619235,49.129275 -120.619369,49.129243 -120.619818,49.129152 -120.619914,49.129123 -120.619957,49.129095 -120.620022,49.129067 -120.620121,49.129019 -120.620153,49.128983 -120.620250,49.128778 -120.620276,49.128669 -120.620290,49.128546 -120.620286,49.128511 -120.620280,49.128495 -120.620160,49.128317 -120.620158,49.128311 -120.620152,49.128305 -120.620108,49.128228 -120.620065,49.128139 -120.619954,49.127950 -120.600003,49.127963 -120.600003,49.127963 -120.595959,49.127965 -120.595446,49.127900 -120.594998,49.127708 -120.594697,49.127418 -120.594587,49.127074 -120.594588,49.127072 -120.594587,49.127070 -120.594574,49.125148 -120.594673,49.124808 -120.594932,49.124538 -120.598719,49.121811 -120.598860,49.121672 -120.598860,49.121672 -120.598860,49.121672 -120.599413,49.121127 -120.599575,49.120995 -120.599665,49.120940 -120.600344,49.120561 -120.600401,49.120517 -120.600758,49.120199 -120.601223,49.119656 -120.601279,49.119607 -120.601324,49.119555 -120.602030,49.118943 -120.602144,49.118856 -120.602192,49.118834 -120.602220,49.118809 -120.602833,49.118456 -120.603131,49.118333 -120.603182,49.118310 -120.604103,49.118043 -120.604540,49.117865 -120.604726,49.117706 -120.604806,49.117295 -120.604827,49.117242 -120.604837,49.117189 -120.605155,49.116360 -120.605212,49.116244 -120.605273,49.116158 -120.605748,49.115571 -120.605820,49.115506 -120.605883,49.115436 -120.606653,49.114795 -120.606750,49.114722 -120.606891,49.114640 -120.610053,49.113037 -120.610202,49.112624 -120.610025,49.111585 -120.609797,49.110691 -120.609778,49.110551 -120.609782,49.110536 -120.609778,49.110522 -120.609795,49.110050 -120.609800,49.110031 -120.609815,49.109914 -120.609968,49.109346 -120.610046,49.109166 -120.610049,49.109163 -120.610050,49.109160 -120.610480,49.108472 -120.610493,49.108459 -120.610498,49.108445 -120.610926,49.107820 -120.610930,49.107816 -120.610952,49.107784 -120.611503,49.107065 -120.611530,49.107040 -120.611580,49.106977 -120.612164,49.106389 -120.612333,49.106251 -120.612339,49.106248 -120.612343,49.106245 -120.613453,49.105516 -120.613489,49.105500 -120.613781,49.105357 -120.614791,49.105007 -120.614894,49.104974 -120.615060,49.104936 -120.615787,49.104802 -120.616189,49.104712 -120.616473,49.104572 -120.616765,49.104321 -120.617208,49.103925 -120.617525,49.103633 -120.617826,49.103147 -120.617906,49.102708 -120.617917,49.102471 -120.617724,49.102166 -120.617103,49.101388 -120.616504,49.100910 -120.616459,49.100862 -120.616389,49.100804 -120.616084,49.100472 -120.616084,49.100472 -120.615540,49.099881 -120.614726,49.099102 -120.614723,49.099099 -120.614720,49.099096 -120.614036,49.098429 -120.613993,49.098377 -120.613968,49.098355 -120.613442,49.097718 -120.613386,49.097642 -120.613308,49.097480 -120.613102,49.096857 -120.612860,49.096181 -120.612853,49.096146 -120.612840,49.096117 -120.612680,49.095459 -120.612561,49.095099 -120.611943,49.093768 -120.611207,49.092507 -120.610595,49.091648 -120.610590,49.091633 -120.610575,49.091619 -120.610526,49.091532 -120.610130,49.090689 -120.610126,49.090674 -120.610110,49.090643 -120.609828,49.089906 -120.609817,49.089850 -120.609798,49.089806 -120.609645,49.089059 -120.608756,49.086451 -120.608266,49.085145 -120.608253,49.085078 -120.608236,49.085034 -120.607794,49.082563 -120.607494,49.081781 -120.606943,49.080759 -120.606437,49.079949 -120.606435,49.079943 -120.606375,49.079826 -120.606059,49.078994 -120.606029,49.078836 -120.606020,49.078809 -120.605977,49.078052 -120.605985,49.078021 -120.605976,49.077992 -120.606009,49.077228 -120.606108,49.076917 -120.606230,49.076764 -120.606651,49.076337 -120.606822,49.076197 -120.606872,49.076175 -120.606900,49.076149 -120.607472,49.075821 -120.607473,49.075821 -120.607479,49.075817 -120.607961,49.075545 -120.608102,49.075462 -120.608197,49.075192 -120.608382,49.074542 -120.608602,49.073695 -120.608592,49.073218 -120.608546,49.072552 -120.608550,49.072537 -120.608545,49.072520 -120.608599,49.072261 -120.608795,49.071818 -120.608869,49.071467 -120.608862,49.070906 -120.608772,49.069982 -120.608778,49.069959 -120.608770,49.069933 -120.608806,49.069718 -120.608919,49.069402 -120.608982,49.069272 -120.609274,49.068978 -120.609492,49.068860 -120.609776,49.068735 -120.610000,49.068656 -120.610517,49.068584 -120.611391,49.068576 -120.611394,49.068576 -120.611397,49.068576 -120.611647,49.068589 -120.612733,49.068714 -120.613945,49.068830 -120.614034,49.068846 -120.614105,49.068852 -120.615517,49.069102 -120.615562,49.069112 -120.615574,49.069113 -120.617302,49.069473 -120.618875,49.069664 -120.619518,49.069640 -120.620361,49.069520 -120.621045,49.069293 -120.621952,49.068930 -120.624412,49.067357 -120.626393,49.065985 -120.627959,49.064836 -120.628433,49.064265 -120.628449,49.064251 -120.628472,49.064221 -120.628924,49.063743 -120.629353,49.063266 -120.629793,49.062689 -120.630113,49.062031 -120.630136,49.062005 -120.630147,49.061969 -120.630379,49.061741 -120.630439,49.061676 -120.630451,49.061670 -120.630459,49.061663 -120.631317,49.061110 -120.631630,49.060824 -120.631764,49.060719 -120.632039,49.060577 -120.633112,49.060155 -120.633955,49.059754 -120.635235,49.059138 -120.636195,49.058645 -120.636212,49.058638 -120.636237,49.058624 -120.637445,49.058051 -120.637642,49.057978 -120.637673,49.057964 -120.638732,49.057643 -120.638751,49.057640 -120.638768,49.057633 -120.638872,49.057607 -120.639592,49.057449 -120.640814,49.057122 -120.641769,49.056616 -120.642617,49.056116 -120.643729,49.055269 -120.644092,49.054891 -120.644106,49.054880 -120.644116,49.054867 -120.644568,49.054427 -120.644750,49.054193 -120.644778,49.053992 -120.644773,49.053379 -120.644714,49.053032 -120.644538,49.052796 -120.643943,49.052270 -120.642969,49.051613 -120.642953,49.051598 -120.642935,49.051589 -120.641868,49.050816 -120.641145,49.050311 -120.641132,49.050298 -120.641043,49.050231 -120.636325,49.046047 -120.636165,49.045865 -120.636165,49.045864 -120.636165,49.045864 -120.635451,49.044761 -120.635451,49.044759 -120.635358,49.044545 -120.635064,49.043294 -120.635048,49.043166 -120.635054,49.043146 -120.635049,49.043129 -120.635100,49.042060 -120.635109,49.042031 -120.635128,49.041905 -120.635455,49.040868 -120.635459,49.040858 -120.635460,49.040851 -120.635707,49.040137 -120.635605,49.039697 -120.635411,49.039218 -120.635365,49.038996 -120.635374,49.038884 -120.635446,49.038475 -120.634945,49.038544 -120.634458,49.038489 -120.634105,49.038403 -120.634088,49.038396 -120.634067,49.038394 -120.633620,49.038202 -120.633416,49.038034 -120.633322,49.037935 -120.633046,49.037726 -120.632683,49.037561 -120.631896,49.037383 -120.631057,49.037245 -120.630148,49.037106 -120.629028,49.037009 -120.629001,49.037005 -120.628962,49.037002 -120.628172,49.036908 -120.627907,49.036857 -120.627878,49.036845 -120.627847,49.036841 -120.627104,49.036617 -120.626716,49.036441 -120.626637,49.036386 -120.626216,49.036064 -120.625994,49.035830 -120.625939,49.035728 -120.625473,49.034675 -120.625450,49.034571 -120.625424,49.034504 -120.625306,49.033640 -120.625301,49.033569 -120.625307,49.033549 -120.625302,49.033531 -120.625328,49.032971 -120.625330,49.032967 -120.625331,49.032935 -120.625390,49.032391 -120.625344,49.032208 -120.625204,49.031991 -120.624822,49.031498 -120.624594,49.031222 -120.624360,49.030987 -120.624246,49.030847 -120.624169,49.030688 -120.624093,49.030461 -120.624085,49.030412 -120.624072,49.030382 -120.624014,49.030084 -120.624003,49.029979 -120.624034,49.029781 -120.624127,49.029496 -120.624195,49.029349 -120.624241,49.029282 -120.624450,49.029008 -120.624527,49.028852 -120.624443,49.028648 -120.624441,49.028639 -120.624434,49.028625 -120.624266,49.028174 -120.624134,49.027882 -120.623669,49.027294 -120.623653,49.027251 -120.623610,49.027208 -120.623253,49.026610 -120.622832,49.026288 -120.622611,49.026054 -120.622554,49.025948 -120.622346,49.025469 -120.621967,49.025170 -120.621366,49.024790 -120.620840,49.024621 -120.620288,49.024487 -120.619317,49.024348 -120.619177,49.024319 -120.619150,49.024316 -120.618169,49.024087 -120.618146,49.024078 -120.618116,49.024074 -120.617952,49.024022 -120.617211,49.023746 -120.617053,49.023668 -120.616983,49.023639 -120.616327,49.023260 -120.616306,49.023242 -120.616272,49.023227 -120.616166,49.023151 -120.615440,49.022561 -120.615301,49.022409 -120.615261,49.022372 -120.614980,49.021971 -120.614548,49.021435 -120.614498,49.021366 -120.614440,49.021258 -120.614262,49.020844 -120.614211,49.020609 -120.614251,49.020384 -120.614386,49.020026 -120.614445,49.019907 -120.614737,49.019614 -120.615177,49.019416 -120.615179,49.019416 -120.615180,49.019415 -120.615702,49.019269 -120.615733,49.019265 -120.615756,49.019255 -120.616224,49.019140 -120.616740,49.018859 -120.616742,49.018858 -120.616747,49.018855 -120.617174,49.018625 -120.617380,49.018402 -120.617728,49.017869 -120.617747,49.017849 -120.617753,49.017832 -120.618263,49.017137 -120.618307,49.017096 -120.618389,49.016999 -120.618992,49.016455 -120.619765,49.015680 -120.619825,49.015632 -120.619847,49.015607 -120.620508,49.015072 -120.620592,49.015010 -120.620727,49.014931 -120.621703,49.014429 -120.621820,49.014383 -120.621896,49.014346 -120.623129,49.013908 -120.624198,49.013502 -120.624894,49.013140 -120.624916,49.013132 -120.624949,49.013113 -120.625938,49.012650 -120.626853,49.012180 -120.627206,49.011970 -120.627720,49.011516 -120.628040,49.011105 -120.628499,49.010473 -120.628511,49.010462 -120.628546,49.010414 -120.629470,49.009353 -120.629506,49.009322 -120.629540,49.009281 -120.629996,49.008857 -120.630136,49.008746 -120.630359,49.008625 -120.631048,49.008326 -120.631051,49.008325 -120.631053,49.008324 -120.631458,49.008149 -120.631670,49.008075 -120.631815,49.008040 -120.632415,49.007922 -120.632551,49.007909 -120.632664,49.007889 -120.634474,49.007764 -120.634529,49.007762 -120.634538,49.007760 -120.637466,49.007648 -120.638916,49.007488 -120.640604,49.007176 -120.640641,49.007172 -120.640694,49.007161 -120.642504,49.006912 -120.643940,49.006670 -120.645491,49.006318 -120.646001,49.006035 -120.646390,49.005612 -120.646567,49.005396 -120.646590,49.005134 -120.646441,49.004297 -120.646198,49.003686 -120.645386,49.002545 -120.644400,49.001528 -120.644295,49.001397 -120.644287,49.001370 -120.644267,49.001350 -120.643802,49.000506 -120.643721,49.000209 -120.643819,48.999864 -120.644111,48.999570 -120.644551,48.999372 -120.645073,48.999300 -120.645078,48.999301 -120.645082,48.999300 -120.654520,48.999277 -120.654524,48.999277 -120.654529,48.999277 -120.799991,48.999461 -120.799991,48.999461 -120.799991,48.999461 -120.999992,48.999414 -120.999992,48.999414 -120.999992,48.999414 -121.016468,48.999394 -121.016468,48.999394 -121.016469,48.999394 -121.019366,48.999392 -121.019543,48.999374 -121.019728,48.999364 -121.019739,48.999365 -121.019749,48.999364 -121.045256,48.999339 -121.045760,48.999401 -121.046208,48.999591 -121.046512,48.999880 -121.046625,49.000223 -121.046622,49.000231 -121.046625,49.000239 -121.046617,49.006939 -121.052432,49.006942 -121.052433,49.005834 -121.052529,49.005505 -121.052818,49.005210 -121.053256,49.005010 -121.053777,49.004936 -121.053789,49.004937 -121.053801,49.004936 -121.055184,49.004936 -121.055189,49.000224 -121.055284,48.999895 -121.055573,48.999600 -121.056011,48.999400 -121.056532,48.999326 -121.056543,48.999327 -121.056553,48.999326 -121.062623,48.999318 -121.062624,48.999319 -121.062626,48.999318 -121.094510,48.999318 -121.094514,48.999319 -121.094518,48.999318 -121.154981,48.999542 -121.154981,48.999542 -121.154981,48.999542 -121.194257,48.999678 -121.194257,48.999678 -121.194258,48.999678 -121.226051,48.999792 -121.226542,48.999854 -121.226991,49.000043 -121.227296,49.000331 -121.227410,49.000674 -121.227317,49.001019 -121.227161,49.001197 -121.227148,49.001213 -121.227123,49.001240 -121.227110,49.001254 -121.227106,49.001258 -121.227003,49.001366 -121.226984,49.001382 -121.226971,49.001398 -121.226920,49.001446 -121.226890,49.001503 -121.226855,49.001541 -121.226841,49.001582 -121.226727,49.001746 -121.226719,49.001753 -121.226692,49.001792 -121.226583,49.001927 -121.226497,49.002051 -121.226401,49.002203 -121.226395,49.002210 -121.226333,49.002297 -121.226200,49.002453 -121.226154,49.002494 -121.226115,49.002541 -121.225955,49.002687 -121.225940,49.002699 -121.225935,49.002705 -121.225769,49.002848 -121.225753,49.002861 -121.225748,49.002866 -121.225586,49.003000 -121.225531,49.003047 -121.225496,49.003141 -121.225441,49.003255 -121.225356,49.003373 -121.225243,49.003503 -121.225167,49.003605 -121.225107,49.003706 -121.225042,49.003847 -121.225039,49.003850 -121.225038,49.003855 -121.224955,49.004027 -121.224955,49.004027 -121.224954,49.004028 -121.224914,49.004111 -121.224900,49.004198 -121.224885,49.004238 -121.224878,49.004290 -121.224856,49.004359 -121.224859,49.004427 -121.224854,49.004449 -121.224860,49.004470 -121.224856,49.004650 -121.224851,49.004667 -121.224840,49.004780 -121.224797,49.004957 -121.224780,49.004997 -121.224775,49.005028 -121.224710,49.005203 -121.224697,49.005231 -121.224695,49.005241 -121.224618,49.005414 -121.224579,49.005491 -121.224574,49.005496 -121.224572,49.005502 -121.224469,49.005668 -121.224466,49.005671 -121.224411,49.005750 -121.224295,49.005895 -121.224187,49.006042 -121.224164,49.006063 -121.224116,49.006126 -121.223984,49.006266 -121.223986,49.006267 -121.224121,49.006424 -121.224183,49.006506 -121.224187,49.006517 -121.224196,49.006526 -121.224299,49.006692 -121.224304,49.006706 -121.224365,49.006827 -121.224428,49.007003 -121.224461,49.007178 -121.224464,49.007185 -121.224471,49.007361 -121.224470,49.007364 -121.224471,49.007367 -121.224448,49.007539 -121.224455,49.007553 -121.224529,49.007645 -121.224541,49.007675 -121.224574,49.007706 -121.224656,49.007871 -121.224714,49.008044 -121.224726,49.008108 -121.224738,49.008138 -121.224764,49.008288 -121.224798,49.008411 -121.224843,49.008533 -121.224911,49.008677 -121.224917,49.008702 -121.224939,49.008747 -121.224987,49.008888 -121.225028,49.008975 -121.225107,49.009092 -121.225107,49.009093 -121.225108,49.009094 -121.225198,49.009283 -121.225250,49.009460 -121.225268,49.009574 -121.225273,49.009588 -121.225286,49.009767 -121.225283,49.009779 -121.225288,49.009792 -121.225278,49.009835 -121.225303,49.009853 -121.225472,49.009994 -121.225595,49.010128 -121.225631,49.010162 -121.225632,49.010163 -121.225655,49.010184 -121.225708,49.010207 -121.225897,49.010336 -121.226017,49.010454 -121.226143,49.010568 -121.226261,49.010730 -121.226267,49.010746 -121.226283,49.010761 -121.226331,49.010843 -121.226400,49.010984 -121.226485,49.011120 -121.226489,49.011133 -121.226543,49.011237 -121.226611,49.011412 -121.226617,49.011443 -121.226631,49.011473 -121.226673,49.011627 -121.226725,49.011772 -121.226783,49.011921 -121.226837,49.012041 -121.226895,49.012140 -121.226990,49.012269 -121.227004,49.012307 -121.227036,49.012339 -121.227135,49.012507 -121.227140,49.012524 -121.227184,49.012609 -121.227251,49.012783 -121.227265,49.012851 -121.227283,49.012894 -121.227316,49.013072 -121.227326,49.013165 -121.227325,49.013170 -121.227327,49.013174 -121.227329,49.013354 -121.227323,49.013376 -121.227279,49.013605 -121.227205,49.013778 -121.227201,49.013785 -121.227201,49.013787 -121.227154,49.013894 -121.227141,49.013957 -121.227268,49.014014 -121.227447,49.014109 -121.227606,49.014229 -121.227767,49.014375 -121.227914,49.014543 -121.227989,49.014689 -121.228054,49.014863 -121.228070,49.014943 -121.228135,49.014999 -121.228307,49.015189 -121.228315,49.015214 -121.228334,49.015232 -121.228429,49.015399 -121.228449,49.015467 -121.228506,49.015603 -121.228541,49.015781 -121.228552,49.015877 -121.228524,49.016074 -121.228474,49.016236 -121.228437,49.016383 -121.228740,49.016511 -121.228964,49.016695 -121.229080,49.016822 -121.229161,49.016925 -121.229275,49.017268 -121.229182,49.017613 -121.228894,49.017909 -121.228888,49.017912 -121.229298,49.018089 -121.229419,49.018176 -121.229582,49.018310 -121.229750,49.018494 -121.229759,49.018497 -121.230096,49.018653 -121.230401,49.018941 -121.230413,49.018976 -121.230434,49.018998 -121.230515,49.019043 -121.230536,49.019062 -121.230570,49.019076 -121.230842,49.019318 -121.230965,49.019477 -121.230973,49.019501 -121.230998,49.019524 -121.231060,49.019636 -121.231130,49.019798 -121.231207,49.019959 -121.231218,49.020002 -121.231248,49.020065 -121.231298,49.020241 -121.231321,49.020388 -121.231316,49.020405 -121.231321,49.020420 -121.231316,49.020599 -121.231313,49.020610 -121.231308,49.020686 -121.231277,49.020866 -121.231275,49.020873 -121.231274,49.020884 -121.231237,49.021063 -121.231218,49.021112 -121.231211,49.021157 -121.231146,49.021331 -121.231091,49.021447 -121.231046,49.021515 -121.230926,49.021675 -121.230898,49.021701 -121.230847,49.021768 -121.230697,49.021920 -121.230618,49.021986 -121.230596,49.022010 -121.230575,49.022026 -121.230639,49.022178 -121.230689,49.022401 -121.230687,49.022406 -121.230689,49.022411 -121.230691,49.022592 -121.230686,49.022611 -121.230691,49.022627 -121.230683,49.022805 -121.230679,49.022908 -121.230683,49.022931 -121.230858,49.022966 -121.230900,49.022982 -121.230959,49.022989 -121.231243,49.023089 -121.231474,49.023195 -121.231640,49.023284 -121.231811,49.023416 -121.231964,49.023560 -121.232098,49.023715 -121.232148,49.023804 -121.232231,49.023976 -121.232245,49.024031 -121.232277,49.024103 -121.232323,49.024284 -121.232334,49.024368 -121.232339,49.024380 -121.232354,49.024559 -121.232342,49.024606 -121.232354,49.024649 -121.232342,49.024830 -121.232340,49.024833 -121.232340,49.024849 -121.232321,49.025029 -121.232317,49.025041 -121.232315,49.025076 -121.232282,49.025256 -121.232198,49.025476 -121.232165,49.025509 -121.232155,49.025541 -121.232036,49.025702 -121.232034,49.025704 -121.232028,49.025712 -121.232026,49.025715 -121.232019,49.025858 -121.232017,49.025864 -121.232019,49.025868 -121.232008,49.026028 -121.232008,49.026164 -121.232019,49.026293 -121.232029,49.026350 -121.232061,49.026383 -121.232117,49.026451 -121.232134,49.026466 -121.232257,49.026626 -121.232266,49.026649 -121.232290,49.026671 -121.232358,49.026798 -121.232429,49.026973 -121.232442,49.027032 -121.232462,49.027079 -121.232501,49.027258 -121.232513,49.027353 -121.232514,49.027357 -121.232522,49.027536 -121.232512,49.027576 -121.232521,49.027610 -121.232507,49.027791 -121.232504,49.027801 -121.232501,49.027842 -121.232472,49.028021 -121.232463,49.028044 -121.232459,49.028081 -121.232411,49.028258 -121.232410,49.028261 -121.232409,49.028264 -121.232368,49.028413 -121.232350,49.028511 -121.232350,49.028603 -121.232365,49.028737 -121.232391,49.028906 -121.232392,49.028921 -121.232393,49.028923 -121.232415,49.029098 -121.232439,49.029272 -121.232438,49.029277 -121.232440,49.029283 -121.232462,49.029463 -121.232457,49.029484 -121.232466,49.029510 -121.232473,49.029689 -121.232472,49.029692 -121.232473,49.029695 -121.232469,49.029782 -121.232448,49.029962 -121.232442,49.029979 -121.232438,49.030022 -121.232399,49.030200 -121.232378,49.030253 -121.232370,49.030293 -121.232366,49.030305 -121.232440,49.030428 -121.232449,49.030458 -121.232513,49.030596 -121.232563,49.030772 -121.232586,49.030918 -121.232492,49.031263 -121.232433,49.031349 -121.232309,49.031506 -121.232081,49.031716 -121.231967,49.031785 -121.231778,49.031888 -121.231616,49.031985 -121.231476,49.032074 -121.231459,49.032087 -121.231551,49.032168 -121.231715,49.032309 -121.231727,49.032322 -121.231748,49.032338 -121.231905,49.032485 -121.231924,49.032507 -121.231943,49.032522 -121.232089,49.032674 -121.232158,49.032760 -121.232169,49.032770 -121.232285,49.032932 -121.232296,49.032962 -121.232322,49.032988 -121.232412,49.033139 -121.232454,49.033200 -121.232474,49.033202 -121.232586,49.033219 -121.232706,49.033228 -121.232972,49.033275 -121.233120,49.033306 -121.233242,49.033342 -121.233484,49.033423 -121.233812,49.033577 -121.233930,49.033661 -121.234102,49.033802 -121.234289,49.034005 -121.234383,49.034285 -121.234560,49.034470 -121.234572,49.034506 -121.234597,49.034531 -121.234687,49.034700 -121.234695,49.034726 -121.234730,49.034798 -121.234793,49.034975 -121.234802,49.035024 -121.234815,49.035054 -121.234852,49.035232 -121.234865,49.035337 -121.234865,49.035339 -121.234865,49.035340 -121.234870,49.035520 -121.234867,49.035529 -121.234870,49.035539 -121.234869,49.035677 -121.234879,49.035749 -121.234881,49.035754 -121.234928,49.035813 -121.235054,49.035971 -121.235065,49.035999 -121.235095,49.036028 -121.235172,49.036177 -121.235229,49.036331 -121.235258,49.036396 -121.235276,49.036420 -121.235340,49.036478 -121.235378,49.036505 -121.235481,49.036554 -121.235520,49.036576 -121.235536,49.036582 -121.235746,49.036693 -121.235836,49.036746 -121.236138,49.037028 -121.236249,49.037192 -121.236250,49.037195 -121.236253,49.037198 -121.236321,49.037325 -121.236393,49.037502 -121.236440,49.037717 -121.236431,49.037749 -121.236438,49.037775 -121.236427,49.037950 -121.236334,49.038238 -121.236310,49.038262 -121.236302,49.038287 -121.236241,49.038374 -121.236231,49.038400 -121.236222,49.038468 -121.236223,49.038596 -121.236229,49.038769 -121.236228,49.038772 -121.236229,49.038774 -121.236233,49.038932 -121.236245,49.039049 -121.236272,49.039160 -121.236317,49.039296 -121.236366,49.039424 -121.236437,49.039562 -121.236438,49.039567 -121.236446,49.039581 -121.236527,49.039752 -121.236541,49.039812 -121.236572,49.039881 -121.236614,49.040059 -121.236621,49.040113 -121.236626,49.040126 -121.236643,49.040263 -121.236706,49.040296 -121.236724,49.040303 -121.236927,49.040427 -121.236933,49.040433 -121.236944,49.040437 -121.237089,49.040577 -121.237249,49.040725 -121.237252,49.040734 -121.237259,49.040741 -121.237362,49.040904 -121.237364,49.040910 -121.237414,49.041002 -121.237480,49.041152 -121.237557,49.041298 -121.237557,49.041300 -121.237561,49.041306 -121.237648,49.041476 -121.237649,49.041479 -121.237654,49.041488 -121.237738,49.041659 -121.237749,49.041700 -121.237780,49.041766 -121.237831,49.041942 -121.237842,49.042006 -121.237850,49.042027 -121.237876,49.042207 -121.237870,49.042232 -121.237881,49.042264 -121.237889,49.042444 -121.237888,49.042448 -121.237890,49.042453 -121.237887,49.042529 -121.237869,49.042709 -121.237845,49.042782 -121.237827,49.042882 -121.237757,49.043054 -121.237710,49.043148 -121.237710,49.043149 -121.237655,49.043242 -121.237633,49.043320 -121.237597,49.043478 -121.237588,49.043501 -121.237585,49.043525 -121.237534,49.043690 -121.237507,49.043793 -121.237503,49.043863 -121.237518,49.043995 -121.237516,49.044002 -121.237519,49.044011 -121.237535,49.044191 -121.237531,49.044206 -121.237536,49.044223 -121.237532,49.044316 -121.237509,49.044494 -121.237490,49.044548 -121.237478,49.044623 -121.237416,49.044798 -121.237400,49.044831 -121.237398,49.044843 -121.237324,49.045011 -121.237254,49.045179 -121.237244,49.045199 -121.237242,49.045205 -121.237177,49.045346 -121.237156,49.045406 -121.237155,49.045428 -121.237156,49.045433 -121.237223,49.045506 -121.237307,49.045612 -121.237319,49.045648 -121.237344,49.045673 -121.237434,49.045841 -121.237446,49.045884 -121.237490,49.045978 -121.237540,49.046156 -121.237555,49.046253 -121.237560,49.046268 -121.237576,49.046448 -121.237572,49.046463 -121.237578,49.046481 -121.237575,49.046558 -121.237557,49.046738 -121.237551,49.046753 -121.237548,49.046798 -121.237511,49.046977 -121.237509,49.046983 -121.237508,49.046991 -121.237467,49.047169 -121.237461,49.047185 -121.237458,49.047203 -121.237407,49.047380 -121.237384,49.047432 -121.237380,49.047458 -121.237305,49.047630 -121.237263,49.047713 -121.237241,49.047735 -121.237234,49.047757 -121.237121,49.047921 -121.237110,49.047932 -121.237068,49.047989 -121.236934,49.048147 -121.236913,49.048166 -121.236890,49.048195 -121.236741,49.048346 -121.236708,49.048374 -121.236691,49.048393 -121.236528,49.048538 -121.236442,49.048604 -121.236436,49.048611 -121.236314,49.048698 -121.236289,49.048779 -121.236262,49.048907 -121.236240,49.049068 -121.236240,49.049068 -121.236240,49.049069 -121.236233,49.049117 -121.236290,49.049305 -121.236325,49.049408 -121.236517,49.049468 -121.236532,49.049475 -121.236590,49.049493 -121.236831,49.049581 -121.236859,49.049594 -121.236904,49.049609 -121.237136,49.049707 -121.237347,49.049816 -121.237378,49.049846 -121.237415,49.049863 -121.237596,49.049994 -121.237672,49.050072 -121.237779,49.050163 -121.237913,49.050324 -121.237967,49.050397 -121.238025,49.050501 -121.238103,49.050673 -121.238135,49.050805 -121.238156,49.050863 -121.238177,49.051047 -121.238172,49.051070 -121.238181,49.051096 -121.238142,49.051325 -121.238080,49.051495 -121.238024,49.051611 -121.237947,49.051718 -121.237814,49.051877 -121.237789,49.051899 -121.237761,49.051935 -121.237609,49.052088 -121.237591,49.052102 -121.237581,49.052114 -121.237422,49.052263 -121.237291,49.052367 -121.237101,49.052475 -121.236881,49.052578 -121.236634,49.052671 -121.236629,49.052671 -121.236625,49.052673 -121.236475,49.052715 -121.236505,49.052830 -121.236525,49.052964 -121.236517,49.053078 -121.236488,49.053256 -121.236475,49.053291 -121.236468,49.053340 -121.236413,49.053519 -121.236406,49.053533 -121.236405,49.053543 -121.236343,49.053718 -121.236330,49.053744 -121.236328,49.053756 -121.236254,49.053929 -121.236252,49.053933 -121.236252,49.053934 -121.236177,49.054107 -121.236157,49.054147 -121.236155,49.054153 -121.236066,49.054323 -121.236037,49.054355 -121.236026,49.054391 -121.235916,49.054556 -121.235909,49.054563 -121.235873,49.054615 -121.235745,49.054774 -121.235718,49.054799 -121.235683,49.054844 -121.235533,49.054995 -121.235388,49.055116 -121.235381,49.055122 -121.235232,49.055226 -121.235251,49.055336 -121.235281,49.055464 -121.235285,49.055475 -121.235318,49.055513 -121.235389,49.055604 -121.235472,49.055772 -121.235530,49.055946 -121.235561,49.056120 -121.235545,49.056276 -121.235504,49.056453 -121.235426,49.056644 -121.235229,49.056870 -121.235057,49.057014 -121.234966,49.057083 -121.234528,49.057284 -121.234353,49.057325 -121.234096,49.057373 -121.233928,49.057390 -121.233844,49.057404 -121.233564,49.057420 -121.233528,49.057417 -121.233483,49.057423 -121.233210,49.057429 -121.233197,49.057427 -121.233185,49.057429 -121.232928,49.057431 -121.232673,49.057437 -121.232617,49.057431 -121.232568,49.057437 -121.232355,49.057431 -121.232267,49.057482 -121.232209,49.057506 -121.232115,49.057557 -121.231885,49.057655 -121.231731,49.057709 -121.231717,49.057716 -121.231470,49.057791 -121.231455,49.057793 -121.231442,49.057799 -121.231226,49.057848 -121.231030,49.057880 -121.231025,49.057881 -121.231026,49.057893 -121.231040,49.057955 -121.231086,49.058062 -121.231159,49.058216 -121.231242,49.058380 -121.231245,49.058393 -121.231263,49.058426 -121.231335,49.058599 -121.231349,49.058663 -121.231371,49.058713 -121.231408,49.058892 -121.231421,49.058996 -121.231421,49.058997 -121.231421,49.058997 -121.231426,49.059177 -121.231426,49.059177 -121.231423,49.059258 -121.231403,49.059438 -121.231384,49.059494 -121.231370,49.059581 -121.231307,49.059755 -121.231250,49.059876 -121.231232,49.059895 -121.231226,49.059913 -121.231181,49.059981 -121.231180,49.059983 -121.231176,49.060095 -121.231134,49.060230 -121.231103,49.060361 -121.231015,49.060530 -121.231000,49.060547 -121.230994,49.060568 -121.230923,49.060669 -121.230791,49.060828 -121.230634,49.060970 -121.230601,49.061004 -121.230418,49.061136 -121.230390,49.061150 -121.230370,49.061170 -121.230277,49.061230 -121.230232,49.061276 -121.230140,49.061383 -121.230071,49.061477 -121.230014,49.061581 -121.229943,49.061734 -121.229941,49.061736 -121.229940,49.061740 -121.229857,49.061914 -121.229830,49.061944 -121.229818,49.061985 -121.229715,49.062150 -121.229435,49.062433 -121.229401,49.062448 -121.229381,49.062468 -121.229184,49.062589 -121.229176,49.062592 -121.229139,49.062615 -121.229044,49.062668 -121.229013,49.062695 -121.228953,49.062760 -121.228952,49.062782 -121.228922,49.062958 -121.228836,49.063185 -121.228548,49.063480 -121.228385,49.063574 -121.228442,49.063707 -121.228479,49.063884 -121.228491,49.063988 -121.228489,49.063996 -121.228491,49.064003 -121.228492,49.064184 -121.228491,49.064187 -121.228490,49.064242 -121.228473,49.064422 -121.228460,49.064461 -121.228448,49.064545 -121.228394,49.064721 -121.228358,49.064802 -121.228353,49.064824 -121.228267,49.064995 -121.228233,49.065032 -121.228219,49.065077 -121.228109,49.065242 -121.228102,49.065248 -121.228070,49.065295 -121.227943,49.065455 -121.227929,49.065468 -121.227906,49.065498 -121.227766,49.065653 -121.227696,49.065713 -121.227662,49.065752 -121.227492,49.065893 -121.227406,49.065957 -121.227395,49.065962 -121.227388,49.065970 -121.227285,49.066038 -121.227202,49.066117 -121.227158,49.066152 -121.227144,49.066169 -121.226973,49.066310 -121.226888,49.066374 -121.226777,49.066442 -121.226776,49.066443 -121.226798,49.066448 -121.226829,49.066460 -121.226869,49.066465 -121.227123,49.066531 -121.227132,49.066535 -121.227385,49.066623 -121.227611,49.066724 -121.227791,49.066820 -121.227882,49.066883 -121.228061,49.067020 -121.228073,49.067033 -121.228112,49.067062 -121.228277,49.067205 -121.228280,49.067208 -121.228286,49.067213 -121.228449,49.067358 -121.228454,49.067363 -121.228462,49.067369 -121.228553,49.067453 -121.228585,49.067473 -121.228720,49.067537 -121.228734,49.067544 -121.228743,49.067548 -121.228963,49.067655 -121.228980,49.067664 -121.228987,49.067667 -121.229203,49.067778 -121.229217,49.067786 -121.229222,49.067788 -121.229435,49.067900 -121.229470,49.067921 -121.229476,49.067923 -121.229682,49.068042 -121.229706,49.068063 -121.229743,49.068078 -121.229938,49.068205 -121.229943,49.068210 -121.229949,49.068213 -121.230117,49.068324 -121.230227,49.068390 -121.230379,49.068460 -121.230409,49.068475 -121.230425,49.068481 -121.230643,49.068590 -121.230728,49.068638 -121.230737,49.068642 -121.230939,49.068763 -121.230956,49.068779 -121.230980,49.068789 -121.231175,49.068916 -121.231178,49.068919 -121.231248,49.068968 -121.231427,49.069104 -121.231428,49.069106 -121.231433,49.069109 -121.231518,49.069175 -121.231584,49.069208 -121.231742,49.069278 -121.231810,49.069305 -121.231846,49.069312 -121.232043,49.069338 -121.232080,49.069345 -121.232102,49.069347 -121.232368,49.069390 -121.232536,49.069425 -121.232537,49.069425 -121.232792,49.069490 -121.232793,49.069491 -121.232794,49.069491 -121.232901,49.069522 -121.233147,49.069602 -121.233177,49.069615 -121.233258,49.069642 -121.233490,49.069735 -121.233653,49.069801 -121.233821,49.069852 -121.234064,49.069923 -121.234073,49.069927 -121.234136,49.069945 -121.234381,49.070028 -121.234416,49.070045 -121.234489,49.070070 -121.234719,49.070166 -121.234931,49.070276 -121.234940,49.070285 -121.234953,49.070290 -121.235146,49.070417 -121.235159,49.070431 -121.235176,49.070438 -121.235318,49.070538 -121.235430,49.070603 -121.235509,49.070642 -121.235649,49.070688 -121.235652,49.070690 -121.235664,49.070694 -121.235907,49.070777 -121.235918,49.070782 -121.235947,49.070791 -121.236186,49.070880 -121.236203,49.070888 -121.236232,49.070898 -121.236465,49.070992 -121.236513,49.071017 -121.236554,49.071031 -121.236775,49.071138 -121.236885,49.071199 -121.236895,49.071203 -121.237096,49.071325 -121.237104,49.071332 -121.237117,49.071337 -121.237227,49.071415 -121.237401,49.071555 -121.237449,49.071607 -121.237513,49.071660 -121.237655,49.071814 -121.237738,49.071918 -121.237741,49.071929 -121.237750,49.071938 -121.237854,49.072105 -121.237857,49.072113 -121.237902,49.072195 -121.237979,49.072368 -121.237984,49.072392 -121.238001,49.072427 -121.238060,49.072603 -121.238064,49.072628 -121.238072,49.072645 -121.238118,49.072823 -121.238123,49.072859 -121.238128,49.072872 -121.238159,49.073050 -121.238162,49.073082 -121.238164,49.073087 -121.238183,49.073267 -121.238181,49.073275 -121.238185,49.073286 -121.238198,49.073465 -121.238198,49.073469 -121.238199,49.073473 -121.238208,49.073624 -121.238232,49.073770 -121.238262,49.073946 -121.238271,49.074030 -121.238271,49.074031 -121.238271,49.074032 -121.238276,49.074212 -121.238272,49.074227 -121.238276,49.074240 -121.238272,49.074420 -121.238271,49.074423 -121.238272,49.074424 -121.238266,49.074604 -121.238264,49.074612 -121.238266,49.074618 -121.238256,49.074797 -121.238254,49.074805 -121.238256,49.074811 -121.238242,49.074991 -121.238240,49.074999 -121.238238,49.075030 -121.238212,49.075211 -121.238189,49.075276 -121.238176,49.075348 -121.238109,49.075521 -121.238057,49.075627 -121.237952,49.075766 -121.237925,49.075796 -121.237908,49.075901 -121.237904,49.075912 -121.237902,49.075934 -121.237864,49.076111 -121.237783,49.076313 -121.237769,49.076328 -121.237764,49.076344 -121.237654,49.076509 -121.237651,49.076513 -121.237649,49.076516 -121.237537,49.076682 -121.237527,49.076692 -121.237484,49.076752 -121.237351,49.076909 -121.237142,49.077095 -121.237115,49.077108 -121.237098,49.077124 -121.236996,49.077188 -121.236965,49.077217 -121.236891,49.077307 -121.236805,49.077426 -121.236750,49.077515 -121.236702,49.077634 -121.236657,49.077725 -121.236657,49.077727 -121.236629,49.077774 -121.236624,49.077823 -121.236617,49.077841 -121.236613,49.077885 -121.236572,49.078063 -121.236563,49.078086 -121.236560,49.078110 -121.236512,49.078264 -121.236475,49.078422 -121.236397,49.078614 -121.236373,49.078648 -121.236417,49.078690 -121.236505,49.078872 -121.236557,49.079043 -121.236584,49.079203 -121.236570,49.079352 -121.236530,49.079532 -121.236495,49.079617 -121.236486,49.079660 -121.236407,49.079833 -121.236371,49.079903 -121.236334,49.079955 -121.236355,49.079977 -121.236418,49.080092 -121.236491,49.080263 -121.236516,49.080370 -121.236537,49.080426 -121.236563,49.080608 -121.236555,49.080642 -121.236568,49.080682 -121.236571,49.080862 -121.236561,49.080896 -121.236569,49.080922 -121.236554,49.081080 -121.236553,49.081228 -121.236555,49.081400 -121.236553,49.081410 -121.236556,49.081418 -121.236553,49.081598 -121.236550,49.081607 -121.236552,49.081615 -121.236545,49.081790 -121.236540,49.081963 -121.236537,49.082137 -121.236535,49.082306 -121.236538,49.082471 -121.236545,49.082634 -121.236557,49.082791 -121.236574,49.082934 -121.236604,49.083085 -121.236641,49.083259 -121.236643,49.083279 -121.236646,49.083285 -121.236676,49.083464 -121.236676,49.083464 -121.236676,49.083464 -121.236706,49.083644 -121.236709,49.083674 -121.236711,49.083679 -121.236731,49.083858 -121.236720,49.083903 -121.236734,49.083947 -121.236726,49.084126 -121.236716,49.084158 -121.236700,49.084278 -121.236646,49.084454 -121.236641,49.084465 -121.236640,49.084473 -121.236587,49.084627 -121.236547,49.084782 -121.236543,49.084792 -121.236541,49.084802 -121.236489,49.084979 -121.236479,49.085003 -121.236476,49.085019 -121.236412,49.085194 -121.236395,49.085229 -121.236392,49.085241 -121.236314,49.085413 -121.236279,49.085478 -121.236279,49.085479 -121.236189,49.085632 -121.236146,49.085713 -121.236131,49.085773 -121.236120,49.085880 -121.236120,49.086030 -121.236117,49.086043 -121.236101,49.086181 -121.236056,49.086357 -121.235981,49.086534 -121.235926,49.086614 -121.235802,49.086775 -121.235731,49.086840 -121.235665,49.086917 -121.235531,49.087031 -121.235490,49.087072 -121.235485,49.087081 -121.235452,49.087186 -121.235436,49.087221 -121.235433,49.087238 -121.235361,49.087412 -121.235341,49.087452 -121.235340,49.087460 -121.235254,49.087631 -121.235225,49.087662 -121.235214,49.087700 -121.235109,49.087863 -121.235051,49.087954 -121.235042,49.087981 -121.235034,49.088073 -121.235027,49.088242 -121.235025,49.088248 -121.235024,49.088282 -121.235004,49.088452 -121.234990,49.088623 -121.234976,49.088802 -121.234972,49.088814 -121.234969,49.088855 -121.234938,49.089033 -121.234899,49.089137 -121.234887,49.089197 -121.234824,49.089330 -121.234792,49.089429 -121.234771,49.089540 -121.234768,49.089576 -121.234777,49.089606 -121.234837,49.089745 -121.234850,49.089803 -121.234873,49.089855 -121.234913,49.090034 -121.234928,49.090149 -121.234912,49.090303 -121.234872,49.090478 -121.234802,49.090648 -121.234799,49.090660 -121.234702,49.090829 -121.234701,49.090830 -121.234700,49.090831 -121.234603,49.090999 -121.234592,49.091010 -121.234589,49.091022 -121.234499,49.091165 -121.234436,49.091285 -121.234393,49.091384 -121.234392,49.091387 -121.234402,49.091440 -121.234411,49.091527 -121.234408,49.091538 -121.234411,49.091548 -121.234410,49.091727 -121.234399,49.091765 -121.234365,49.091952 -121.234295,49.092126 -121.234246,49.092226 -121.234227,49.092246 -121.234220,49.092266 -121.234108,49.092430 -121.234013,49.092523 -121.233925,49.092619 -121.233958,49.092781 -121.233969,49.092881 -121.233963,49.092990 -121.233935,49.093169 -121.233916,49.093220 -121.233906,49.093283 -121.233844,49.093458 -121.233830,49.093488 -121.233827,49.093500 -121.233752,49.093673 -121.233749,49.093680 -121.233748,49.093682 -121.233680,49.093834 -121.233666,49.093872 -121.233667,49.093897 -121.233686,49.094017 -121.233715,49.094139 -121.233907,49.094208 -121.234129,49.094313 -121.234275,49.094393 -121.234284,49.094402 -121.234297,49.094408 -121.234491,49.094536 -121.234493,49.094538 -121.234496,49.094539 -121.234688,49.094667 -121.234689,49.094668 -121.234691,49.094669 -121.234880,49.094796 -121.235047,49.094907 -121.235224,49.095015 -121.235237,49.095026 -121.235256,49.095034 -121.235453,49.095161 -121.235477,49.095184 -121.235695,49.095371 -121.235824,49.095526 -121.235878,49.095598 -121.235979,49.095828 -121.236019,49.096006 -121.236033,49.096119 -121.236023,49.096155 -121.236031,49.096184 -121.236022,49.096309 -121.236033,49.096412 -121.236061,49.096570 -121.236067,49.096627 -121.236069,49.096632 -121.236082,49.096812 -121.236075,49.096841 -121.236084,49.096869 -121.236079,49.097045 -121.236079,49.097088 -121.236286,49.097114 -121.236412,49.097151 -121.236652,49.097232 -121.236975,49.097384 -121.237281,49.097672 -121.237321,49.097738 -121.237410,49.097908 -121.237419,49.097941 -121.237456,49.098017 -121.237497,49.098145 -121.237549,49.098248 -121.237635,49.098397 -121.237639,49.098410 -121.237676,49.098477 -121.237749,49.098651 -121.237755,49.098676 -121.237770,49.098708 -121.237826,49.098884 -121.237836,49.098940 -121.237846,49.098965 -121.237878,49.099143 -121.237886,49.099228 -121.237884,49.099238 -121.237887,49.099247 -121.237886,49.099428 -121.237885,49.099433 -121.237881,49.099506 -121.237857,49.099686 -121.237851,49.099700 -121.237848,49.099733 -121.237835,49.099795 -121.237846,49.099857 -121.237855,49.099945 -121.237851,49.099959 -121.237855,49.099972 -121.237855,49.100010 -121.237855,49.100010 -121.237853,49.100151 -121.237849,49.100164 -121.237840,49.100265 -121.237819,49.100360 -121.237823,49.100412 -121.237853,49.100547 -121.237854,49.100551 -121.237855,49.100553 -121.237892,49.100731 -121.237905,49.100837 -121.237902,49.100919 -121.237888,49.101049 -121.237891,49.101110 -121.237924,49.101218 -121.237945,49.101346 -121.237946,49.101349 -121.237947,49.101350 -121.238152,49.101514 -121.238300,49.101666 -121.238401,49.101790 -121.238402,49.101792 -121.238404,49.101794 -121.238513,49.101960 -121.238514,49.101962 -121.238579,49.102084 -121.238649,49.102258 -121.238655,49.102287 -121.238670,49.102319 -121.238723,49.102496 -121.238726,49.102517 -121.238731,49.102529 -121.238773,49.102707 -121.238789,49.102827 -121.238779,49.102959 -121.238776,49.102971 -121.238831,49.103080 -121.238854,49.103167 -121.238893,49.103260 -121.238925,49.103439 -121.238927,49.103464 -121.238929,49.103470 -121.238952,49.103649 -121.238946,49.103679 -121.238957,49.103713 -121.238960,49.103892 -121.238958,49.103899 -121.238939,49.104059 -121.238900,49.104208 -121.238884,49.104299 -121.238888,49.104419 -121.238887,49.104422 -121.238888,49.104425 -121.238893,49.104605 -121.238892,49.104607 -121.238882,49.104733 -121.238853,49.104880 -121.238847,49.104948 -121.238856,49.104994 -121.238874,49.105042 -121.238935,49.105136 -121.239048,49.105475 -121.239041,49.105585 -121.239012,49.105765 -121.238987,49.105834 -121.238975,49.105901 -121.238905,49.106075 -121.238892,49.106102 -121.238891,49.106110 -121.238853,49.106190 -121.238850,49.106216 -121.238853,49.106264 -121.238873,49.106326 -121.238936,49.106460 -121.238944,49.106489 -121.238967,49.106537 -121.239025,49.106714 -121.239056,49.106886 -121.239048,49.106998 -121.239020,49.107173 -121.239010,49.107201 -121.239005,49.107244 -121.238989,49.107299 -121.238996,49.107359 -121.238991,49.107385 -121.239001,49.107416 -121.238963,49.107627 -121.238967,49.107629 -121.239100,49.107726 -121.239270,49.107870 -121.239442,49.108060 -121.239521,49.108215 -121.239583,49.108389 -121.239620,49.108577 -121.239555,49.108869 -121.239471,49.109041 -121.239470,49.109041 -121.239470,49.109042 -121.239387,49.109212 -121.239367,49.109235 -121.239359,49.109265 -121.239097,49.109542 -121.238912,49.109675 -121.238896,49.109683 -121.238893,49.109686 -121.239140,49.109802 -121.239174,49.109834 -121.239214,49.109852 -121.239389,49.109981 -121.239622,49.110219 -121.239733,49.110513 -121.239753,49.110694 -121.239748,49.110717 -121.239757,49.110743 -121.239744,49.110887 -121.239706,49.111063 -121.239682,49.111177 -121.239683,49.111275 -121.239694,49.111436 -121.239684,49.111478 -121.239687,49.111491 -121.239708,49.111507 -121.239872,49.111616 -121.239960,49.111701 -121.240123,49.111846 -121.240244,49.112006 -121.240260,49.112049 -121.240297,49.112086 -121.240395,49.112255 -121.240398,49.112262 -121.240402,49.112267 -121.240497,49.112436 -121.240499,49.112444 -121.240517,49.112475 -121.240574,49.112594 -121.240602,49.112634 -121.240691,49.112719 -121.240717,49.112750 -121.240738,49.112768 -121.240878,49.112922 -121.240957,49.113022 -121.241001,49.113096 -121.241088,49.113267 -121.241089,49.113271 -121.241096,49.113284 -121.241179,49.113456 -121.241181,49.113463 -121.241189,49.113479 -121.241264,49.113652 -121.241279,49.113715 -121.241303,49.113770 -121.241342,49.113948 -121.241351,49.114025 -121.241354,49.114033 -121.241368,49.114212 -121.241365,49.114221 -121.241369,49.114231 -121.241376,49.114411 -121.241376,49.114411 -121.241376,49.114411 -121.241384,49.114591 -121.241379,49.114607 -121.241384,49.114623 -121.241383,49.114755 -121.241384,49.114765 -121.241418,49.114824 -121.241424,49.114845 -121.241470,49.114934 -121.241533,49.115107 -121.241571,49.115299 -121.241567,49.115382 -121.241555,49.115491 -121.241622,49.115571 -121.241676,49.115643 -121.241682,49.115661 -121.241696,49.115675 -121.241795,49.115839 -121.241806,49.115877 -121.241870,49.116018 -121.241916,49.116196 -121.241916,49.116196 -121.241916,49.116196 -121.241959,49.116360 -121.241998,49.116490 -121.242058,49.116629 -121.242077,49.116713 -121.242100,49.116770 -121.242131,49.116948 -121.242133,49.116965 -121.242135,49.116969 -121.242160,49.117149 -121.242159,49.117151 -121.242160,49.117154 -121.242184,49.117333 -121.242178,49.117359 -121.242189,49.117389 -121.242195,49.117569 -121.242193,49.117575 -121.242195,49.117582 -121.242197,49.117740 -121.242209,49.117872 -121.242214,49.117900 -121.242247,49.117953 -121.242249,49.117960 -121.242294,49.118042 -121.242371,49.118213 -121.242395,49.118317 -121.242419,49.118379 -121.242446,49.118558 -121.242431,49.118628 -121.242450,49.118697 -121.242435,49.118876 -121.242424,49.118909 -121.242413,49.118991 -121.242405,49.119021 -121.242529,49.119139 -121.242658,49.119290 -121.242748,49.119479 -121.242799,49.119653 -121.242810,49.119722 -121.242819,49.119743 -121.242834,49.119854 -121.242875,49.119961 -121.242895,49.120058 -121.242910,49.120098 -121.242924,49.120200 -121.242918,49.120229 -121.242930,49.120263 -121.242836,49.120609 -121.242548,49.120905 -121.242109,49.121105 -121.241587,49.121181 -121.241573,49.121179 -121.241560,49.121181 -121.234710,49.121183 -121.234694,49.126743 -121.234694,49.126743 -121.234693,49.127019 -121.234693,49.127019 -121.234693,49.127019 -121.234672,49.134786 -121.234672,49.134786 -121.234672,49.134786 -121.234671,49.134805 -121.234674,49.142079 -121.234674,49.142080 -121.234674,49.142080 -121.234665,49.149362 -121.234668,49.166658 -121.234574,49.166986 -121.234285,49.167282 -121.233846,49.167483 -121.233394,49.167556 -121.233203,49.167565 -121.233170,49.167562 -121.233132,49.167567 -121.232876,49.167555 -121.232607,49.167525 -121.232336,49.167475 -121.232179,49.167427 -121.232165,49.167422 -121.232089,49.167468 -121.231710,49.167630 -121.231592,49.167660 -121.231334,49.167716 -121.230929,49.167762 -121.230537,49.167730 -121.230275,49.167682 -121.230211,49.167668 -121.230200,49.167667 -121.230003,49.167624 -121.229891,49.167607 -121.229821,49.167602 -121.229658,49.167609 -121.229572,49.167601 -121.229492,49.167610 -121.229217,49.167601 -121.229083,49.167582 -121.228910,49.167567 -121.228649,49.167517 -121.228555,49.167497 -121.228549,49.167496 -121.228352,49.167448 -121.228151,49.167412 -121.228010,49.167381 -121.227763,49.167298 -121.227600,49.167229 -121.227426,49.167173 -121.227410,49.167165 -121.227360,49.167150 -121.227121,49.167062 -121.227083,49.167043 -121.227030,49.167025 -121.226801,49.166924 -121.226749,49.166897 -121.226721,49.166887 -121.226505,49.166776 -121.226398,49.166715 -121.226390,49.166707 -121.226379,49.166702 -121.226185,49.166576 -121.226181,49.166571 -121.226104,49.166517 -121.225927,49.166379 -121.225925,49.166376 -121.225918,49.166371 -121.225743,49.166232 -121.225709,49.166195 -121.225653,49.166150 -121.225504,49.166000 -121.225413,49.165888 -121.225406,49.165882 -121.225293,49.165718 -121.225291,49.165712 -121.225285,49.165707 -121.225213,49.165568 -121.225145,49.165394 -121.225128,49.165312 -121.225112,49.165271 -121.225029,49.165253 -121.224996,49.165245 -121.224960,49.165246 -121.224438,49.165184 -121.224429,49.165180 -121.224419,49.165179 -121.224248,49.165133 -121.224072,49.165102 -121.223979,49.165082 -121.223967,49.165081 -121.223713,49.165022 -121.223694,49.165014 -121.223669,49.165012 -121.223313,49.164862 -121.223220,49.164874 -121.223216,49.164874 -121.223213,49.164875 -121.222943,49.164909 -121.222918,49.164911 -121.222903,49.164914 -121.222632,49.164943 -121.222548,49.164948 -121.222527,49.164952 -121.222254,49.164967 -121.222241,49.164966 -121.222224,49.164968 -121.221997,49.164978 -121.221812,49.164994 -121.221583,49.165023 -121.221349,49.165039 -121.221311,49.165035 -121.221278,49.165039 -121.221015,49.165033 -121.220560,49.164972 -121.220252,49.164861 -121.220141,49.164808 -121.219963,49.164801 -121.219963,49.164801 -121.219962,49.164801 -121.219731,49.164791 -121.219526,49.164791 -121.219324,49.164796 -121.219098,49.164812 -121.218981,49.164816 -121.218944,49.164812 -121.218912,49.164816 -121.218638,49.164811 -121.218595,49.164805 -121.218429,49.164796 -121.218160,49.164763 -121.217911,49.164716 -121.217758,49.164670 -121.217518,49.164585 -121.217306,49.164510 -121.217207,49.164479 -121.217066,49.164454 -121.217055,49.164452 -121.217051,49.164452 -121.216787,49.164404 -121.216652,49.164374 -121.216643,49.164371 -121.216634,49.164370 -121.216380,49.164302 -121.216371,49.164298 -121.216211,49.164248 -121.216152,49.164225 -121.216028,49.164306 -121.216017,49.164311 -121.215907,49.164377 -121.215732,49.164467 -121.215629,49.164528 -121.215558,49.164582 -121.215453,49.164686 -121.215300,49.164811 -121.215005,49.164963 -121.214778,49.165051 -121.214607,49.165118 -121.214441,49.165198 -121.214298,49.165253 -121.214249,49.165277 -121.214010,49.165357 -121.213775,49.165437 -121.213733,49.165444 -121.213690,49.165464 -121.213338,49.165523 -121.213235,49.165606 -121.213219,49.165614 -121.213209,49.165624 -121.213039,49.165733 -121.212940,49.165804 -121.212836,49.165902 -121.212783,49.165944 -121.212770,49.165960 -121.212657,49.166049 -121.212564,49.166149 -121.212382,49.166304 -121.212375,49.166307 -121.212371,49.166312 -121.212178,49.166440 -121.212166,49.166445 -121.211977,49.166550 -121.211751,49.166652 -121.211740,49.166656 -121.211732,49.166661 -121.211510,49.166757 -121.211291,49.166855 -121.211262,49.166865 -121.211244,49.166875 -121.211011,49.166970 -121.210981,49.166980 -121.210969,49.166986 -121.210801,49.167049 -121.210718,49.167090 -121.210671,49.167120 -121.210583,49.167200 -121.210459,49.167298 -121.210185,49.167442 -121.209952,49.167535 -121.209787,49.167591 -121.209621,49.167631 -121.209380,49.167677 -121.209141,49.167728 -121.209118,49.167731 -121.209063,49.167744 -121.208854,49.167780 -121.208777,49.167798 -121.208751,49.167808 -121.208628,49.167875 -121.208425,49.167989 -121.208406,49.167996 -121.208367,49.168019 -121.208149,49.168128 -121.208108,49.168144 -121.208069,49.168165 -121.207840,49.168264 -121.207787,49.168283 -121.207765,49.168294 -121.207526,49.168383 -121.207480,49.168398 -121.207471,49.168402 -121.207227,49.168484 -121.207209,49.168487 -121.207189,49.168496 -121.206942,49.168572 -121.206709,49.168645 -121.206524,49.168705 -121.206337,49.168779 -121.206106,49.168871 -121.206099,49.168874 -121.206096,49.168875 -121.205864,49.168966 -121.205704,49.169029 -121.205657,49.169072 -121.205535,49.169167 -121.205253,49.169314 -121.205020,49.169406 -121.205010,49.169410 -121.205006,49.169412 -121.204769,49.169503 -121.204703,49.169525 -121.204692,49.169530 -121.204447,49.169611 -121.204414,49.169616 -121.204381,49.169631 -121.204223,49.169669 -121.203960,49.169720 -121.203937,49.169722 -121.203896,49.169731 -121.203697,49.169763 -121.203530,49.169802 -121.203402,49.169836 -121.203337,49.169862 -121.203221,49.169922 -121.203108,49.169987 -121.203013,49.170058 -121.202870,49.170178 -121.202851,49.170193 -121.202847,49.170197 -121.202743,49.170280 -121.202726,49.170299 -121.202691,49.170364 -121.202629,49.170503 -121.202561,49.170667 -121.202514,49.170761 -121.202514,49.170761 -121.202514,49.170761 -121.202414,49.170928 -121.202414,49.170928 -121.202414,49.170928 -121.202260,49.171116 -121.202103,49.171264 -121.201987,49.171356 -121.201981,49.171362 -121.201794,49.171493 -121.201778,49.171500 -121.201768,49.171511 -121.201600,49.171623 -121.201462,49.171724 -121.201310,49.171847 -121.201235,49.171903 -121.201234,49.171903 -121.201045,49.172033 -121.201020,49.172044 -121.201005,49.172059 -121.200951,49.172093 -121.200951,49.172093 -121.200939,49.172101 -121.200897,49.172147 -121.200896,49.172147 -121.200896,49.172148 -121.200726,49.172336 -121.200656,49.172396 -121.200622,49.172435 -121.200473,49.172558 -121.200386,49.172624 -121.200385,49.172624 -121.200385,49.172625 -121.200160,49.172777 -121.200001,49.172899 -121.199945,49.172927 -121.199904,49.172966 -121.199894,49.172973 -121.199893,49.172979 -121.199892,49.172982 -121.199940,49.173084 -121.200009,49.173193 -121.200012,49.173205 -121.200071,49.173319 -121.200172,49.173586 -121.200193,49.173690 -121.200207,49.173728 -121.200234,49.173937 -121.200222,49.173987 -121.200238,49.174039 -121.200218,49.174453 -121.200192,49.174536 -121.200162,49.174681 -121.200098,49.174823 -121.200100,49.174830 -121.200119,49.174908 -121.200140,49.174931 -121.200208,49.175019 -121.200270,49.175132 -121.200376,49.175376 -121.200408,49.175516 -121.200425,49.175564 -121.200453,49.175843 -121.200449,49.175863 -121.200456,49.175885 -121.200452,49.175978 -121.200429,49.176151 -121.200427,49.176309 -121.200447,49.176549 -121.200443,49.176566 -121.200446,49.176576 -121.200462,49.176592 -121.200516,49.176688 -121.200559,49.176780 -121.200611,49.176874 -121.200692,49.177162 -121.200687,49.177183 -121.200692,49.177201 -121.200688,49.177320 -121.200677,49.177356 -121.200657,49.177491 -121.200613,49.177621 -121.200612,49.177636 -121.200620,49.177765 -121.200617,49.177779 -121.200622,49.177794 -121.200625,49.177963 -121.200623,49.177970 -121.200597,49.178157 -121.200560,49.178276 -121.200557,49.178502 -121.200560,49.178525 -121.200590,49.178582 -121.200622,49.178706 -121.200655,49.178792 -121.200678,49.178968 -121.200672,49.178994 -121.200682,49.179025 -121.200655,49.179222 -121.200634,49.179288 -121.200645,49.179454 -121.200637,49.179485 -121.200646,49.179515 -121.200644,49.179592 -121.200676,49.179686 -121.200709,49.179866 -121.200696,49.180008 -121.200682,49.180076 -121.200714,49.180370 -121.200743,49.180627 -121.200740,49.180640 -121.200746,49.180655 -121.200770,49.181032 -121.200768,49.181042 -121.200771,49.181053 -121.200764,49.181165 -121.200710,49.181501 -121.200708,49.181728 -121.200614,49.182053 -121.200611,49.182056 -121.200610,49.182060 -121.200509,49.182224 -121.200496,49.182238 -121.200321,49.182440 -121.200124,49.182607 -121.200028,49.182680 -121.199644,49.182864 -121.199422,49.182935 -121.199403,49.182960 -121.199394,49.182969 -121.199433,49.183154 -121.199438,49.183195 -121.199441,49.183205 -121.199486,49.183569 -121.199479,49.183602 -121.199491,49.183638 -121.199493,49.183927 -121.199546,49.184249 -121.199628,49.184527 -121.199769,49.184802 -121.199774,49.184822 -121.199800,49.184872 -121.199887,49.185100 -121.199887,49.185102 -121.199888,49.185104 -121.199981,49.185354 -121.200008,49.185489 -121.200018,49.185517 -121.200039,49.185757 -121.200034,49.185777 -121.200041,49.185798 -121.200046,49.186076 -121.200042,49.186090 -121.200004,49.186305 -121.199960,49.186421 -121.199936,49.186684 -121.199919,49.186733 -121.199905,49.186828 -121.199823,49.187067 -121.199776,49.187335 -121.199733,49.187446 -121.199721,49.187503 -121.199578,49.187798 -121.199557,49.187822 -121.199548,49.187855 -121.199477,49.187955 -121.199110,49.188400 -121.199099,49.188409 -121.199085,49.188429 -121.198801,49.188744 -121.198746,49.188807 -121.198740,49.188862 -121.198681,49.189033 -121.198665,49.189097 -121.198547,49.189316 -121.198536,49.189328 -121.198531,49.189344 -121.198443,49.189464 -121.198407,49.189505 -121.198402,49.189524 -121.198353,49.189775 -121.198299,49.189913 -121.198289,49.189953 -121.198197,49.190128 -121.198178,49.190149 -121.198170,49.190175 -121.198100,49.190289 -121.198075,49.190349 -121.198027,49.190445 -121.197950,49.190552 -121.197874,49.190643 -121.197661,49.190832 -121.197222,49.191032 -121.197207,49.191034 -121.197195,49.191040 -121.197041,49.191081 -121.196907,49.191100 -121.196610,49.191147 -121.196138,49.191168 -121.196108,49.191165 -121.196073,49.191170 -121.195950,49.191168 -121.195535,49.191148 -121.195383,49.191164 -121.194990,49.191254 -121.194523,49.191376 -121.194011,49.191553 -121.193966,49.191560 -121.193920,49.191582 -121.193486,49.191654 -121.193199,49.191670 -121.192988,49.191703 -121.192756,49.191766 -121.192741,49.191768 -121.192554,49.191809 -121.192253,49.191857 -121.191903,49.191920 -121.191566,49.191952 -121.191558,49.191951 -121.191550,49.191952 -121.191159,49.191954 -121.191150,49.191953 -121.190961,49.191946 -121.190535,49.191907 -121.190222,49.191853 -121.190206,49.191847 -121.190189,49.191845 -121.189918,49.191770 -121.189628,49.191732 -121.189261,49.191705 -121.189152,49.191688 -121.189056,49.191680 -121.188655,49.191610 -121.188509,49.191578 -121.188500,49.191574 -121.188489,49.191573 -121.188078,49.191462 -121.188038,49.191445 -121.188001,49.191440 -121.187780,49.191370 -121.187543,49.191376 -121.187531,49.191374 -121.187519,49.191376 -121.187384,49.191373 -121.186801,49.191343 -121.186771,49.191339 -121.186703,49.191336 -121.186365,49.191302 -121.186319,49.191310 -121.186227,49.191326 -121.186175,49.191438 -121.186033,49.191614 -121.185786,49.191854 -121.185638,49.191973 -121.185432,49.192088 -121.184998,49.192285 -121.184765,49.192371 -121.184709,49.192379 -121.184670,49.192395 -121.184465,49.192442 -121.184433,49.192467 -121.184272,49.192716 -121.184261,49.192727 -121.184186,49.192828 -121.183951,49.193085 -121.183762,49.193247 -121.183684,49.193296 -121.183245,49.193551 -121.182883,49.193703 -121.182875,49.193704 -121.182867,49.193707 -121.182338,49.193853 -121.182325,49.193855 -121.182115,49.193901 -121.181512,49.193993 -121.181455,49.193997 -121.181414,49.194005 -121.181181,49.194029 -121.181044,49.194077 -121.180633,49.194259 -121.180541,49.194291 -121.180511,49.194306 -121.180255,49.194395 -121.180209,49.194403 -121.180160,49.194425 -121.180087,49.194438 -121.180065,49.194523 -121.180060,49.194536 -121.180058,49.194548 -121.179993,49.194764 -121.179978,49.194800 -121.179974,49.194819 -121.179875,49.195066 -121.179825,49.195165 -121.179610,49.195406 -121.179435,49.195547 -121.179360,49.195602 -121.179315,49.195622 -121.179289,49.195647 -121.179077,49.195772 -121.179062,49.195827 -121.178772,49.196122 -121.178757,49.196129 -121.178747,49.196139 -121.178604,49.196232 -121.178189,49.196415 -121.177682,49.196490 -121.177617,49.196491 -121.177511,49.196587 -121.177071,49.196787 -121.176811,49.196843 -121.176613,49.196870 -121.176463,49.196882 -121.176424,49.196888 -121.176260,49.196896 -121.176225,49.196892 -121.176186,49.196898 -121.175933,49.196886 -121.175745,49.196865 -121.175470,49.196815 -121.175019,49.196626 -121.175001,49.196609 -121.174978,49.196598 -121.174890,49.196538 -121.174625,49.196277 -121.174540,49.196067 -121.174539,49.196066 -121.174534,49.196063 -121.174501,49.196052 -121.174306,49.195966 -121.174118,49.195867 -121.174093,49.195843 -121.174061,49.195829 -121.173798,49.195642 -121.173748,49.195592 -121.173628,49.195493 -121.173481,49.195331 -121.173402,49.195230 -121.173393,49.195203 -121.173373,49.195184 -121.173372,49.195182 -121.173227,49.195109 -121.173217,49.195099 -121.173203,49.195093 -121.173111,49.195032 -121.172845,49.194943 -121.172517,49.194790 -121.172327,49.194610 -121.172015,49.194469 -121.171882,49.194372 -121.171673,49.194194 -121.171484,49.194094 -121.171222,49.193975 -121.171048,49.193882 -121.171030,49.193865 -121.171007,49.193855 -121.170872,49.193762 -121.170607,49.193501 -121.170595,49.193475 -121.170357,49.193406 -121.170338,49.193397 -121.170221,49.193360 -121.169963,49.193261 -121.169953,49.193256 -121.169937,49.193251 -121.169662,49.193141 -121.169647,49.193133 -121.169630,49.193127 -121.169337,49.193003 -121.169134,49.192919 -121.169020,49.192965 -121.168881,49.192999 -121.168844,49.193006 -121.168783,49.193033 -121.168472,49.193184 -121.168426,49.193201 -121.168389,49.193221 -121.168183,49.193307 -121.167817,49.193634 -121.167747,49.193689 -121.167737,49.193699 -121.167489,49.193883 -121.167427,49.193912 -121.167387,49.193951 -121.167168,49.194082 -121.167082,49.194197 -121.166984,49.194304 -121.166945,49.194392 -121.166903,49.194472 -121.166832,49.194573 -121.166693,49.194740 -121.166539,49.194963 -121.166407,49.195272 -121.166405,49.195277 -121.166405,49.195278 -121.166288,49.195545 -121.166246,49.195626 -121.165957,49.195922 -121.165517,49.196122 -121.165511,49.196123 -121.165506,49.196125 -121.164911,49.196291 -121.164884,49.196295 -121.164554,49.196355 -121.163796,49.196421 -121.163086,49.196684 -121.162960,49.196725 -121.162437,49.196800 -121.162406,49.196796 -121.162378,49.196800 -121.161953,49.196793 -121.161343,49.196868 -121.161113,49.196884 -121.160944,49.196879 -121.160285,49.196833 -121.159996,49.196787 -121.159951,49.196782 -121.159385,49.196644 -121.159328,49.196621 -121.159271,49.196613 -121.158760,49.196453 -121.158694,49.196423 -121.158552,49.196372 -121.158197,49.196205 -121.157826,49.196081 -121.157561,49.195998 -121.157143,49.195991 -121.156675,49.195929 -121.156224,49.195739 -121.156059,49.195614 -121.155852,49.195423 -121.155838,49.195408 -121.155822,49.195395 -121.155784,49.195357 -121.155493,49.195276 -121.155028,49.195160 -121.154525,49.195068 -121.154388,49.195039 -121.153937,49.194849 -121.153655,49.194594 -121.153405,49.194257 -121.152941,49.193732 -121.152229,49.193579 -121.149309,49.193212 -121.147989,49.193191 -121.147930,49.193183 -121.147720,49.193169 -121.146555,49.192997 -121.146300,49.192993 -121.146278,49.192990 -121.146149,49.192985 -121.145190,49.192899 -121.144869,49.192936 -121.144484,49.193030 -121.143692,49.193382 -121.143605,49.193413 -121.143574,49.193429 -121.142898,49.193667 -121.142670,49.193857 -121.142581,49.193924 -121.142141,49.194124 -121.141995,49.194160 -121.140812,49.194397 -121.140435,49.194436 -121.140068,49.194408 -121.138757,49.194188 -121.138468,49.194246 -121.137662,49.194530 -121.137559,49.194563 -121.137035,49.194638 -121.136508,49.194576 -121.136091,49.194407 -121.135274,49.193925 -121.134515,49.193596 -121.133784,49.193464 -121.132594,49.193366 -121.131101,49.193261 -121.130636,49.193253 -121.130636,49.193253 -121.129531,49.193235 -121.128359,49.193293 -121.127895,49.193346 -121.127619,49.193413 -121.127256,49.193639 -121.127093,49.193935 -121.126739,49.194645 -121.126731,49.194855 -121.126712,49.194917 -121.126682,49.195072 -121.126154,49.196324 -121.126116,49.197322 -121.126268,49.197591 -121.126354,49.197888 -121.126259,49.198233 -121.125970,49.198529 -121.125944,49.198541 -121.125928,49.198556 -121.125625,49.198745 -121.125433,49.198924 -121.125298,49.199031 -121.125272,49.199043 -121.125257,49.199058 -121.125123,49.199141 -121.124725,49.199315 -121.124578,49.199350 -121.124277,49.199410 -121.123573,49.199627 -121.123555,49.199630 -121.123538,49.199637 -121.123182,49.199703 -121.122655,49.199752 -121.122220,49.199914 -121.122091,49.199956 -121.122033,49.199964 -121.121993,49.199981 -121.121008,49.200205 -121.120545,49.200347 -121.120505,49.200353 -121.120471,49.200368 -121.119549,49.200610 -121.119530,49.200612 -121.119517,49.200617 -121.118859,49.200778 -121.118846,49.200779 -121.118783,49.200795 -121.118756,49.200800 -121.118704,49.200863 -121.118489,49.201060 -121.118317,49.201230 -121.118304,49.201240 -121.118297,49.201249 -121.118123,49.201411 -121.117995,49.201513 -121.117993,49.201515 -121.117885,49.201589 -121.117883,49.201590 -121.117881,49.201592 -121.117441,49.201792 -121.117067,49.201860 -121.116931,49.201871 -121.116780,49.201878 -121.116316,49.201831 -121.116015,49.201764 -121.115960,49.201742 -121.115896,49.201734 -121.115712,49.201680 -121.115678,49.201665 -121.115579,49.201632 -121.115501,49.201620 -121.115494,49.201619 -121.115491,49.201618 -121.115484,49.201617 -121.115065,49.201603 -121.114826,49.201621 -121.114694,49.201626 -121.114680,49.201625 -121.114667,49.201627 -121.114599,49.201626 -121.114584,49.201625 -121.114408,49.201618 -121.113677,49.201550 -121.113367,49.201496 -121.113248,49.201461 -121.112792,49.201310 -121.112339,49.201326 -121.112202,49.201348 -121.112138,49.201407 -121.112020,49.201501 -121.112015,49.201506 -121.111751,49.201690 -121.111695,49.201716 -121.111662,49.201747 -121.111430,49.201882 -121.111401,49.201894 -121.111326,49.201937 -121.110864,49.202157 -121.110604,49.202255 -121.110198,49.202325 -121.109727,49.202357 -121.109630,49.202360 -121.109610,49.202380 -121.109378,49.202696 -121.109099,49.203114 -121.108829,49.203377 -121.108803,49.203389 -121.108787,49.203404 -121.108291,49.203713 -121.108234,49.203738 -121.108062,49.203829 -121.107539,49.204039 -121.107475,49.204060 -121.107459,49.204068 -121.107141,49.204177 -121.107121,49.204193 -121.107030,49.204438 -121.107021,49.204457 -121.107019,49.204465 -121.106886,49.204780 -121.106841,49.204869 -121.106823,49.204888 -121.106817,49.204907 -121.106673,49.205117 -121.106428,49.205544 -121.106423,49.205550 -121.106421,49.205557 -121.106375,49.205625 -121.106223,49.205827 -121.106156,49.205956 -121.106146,49.206196 -121.106132,49.206243 -121.106106,49.206390 -121.105996,49.206682 -121.105925,49.207151 -121.105923,49.207156 -121.105922,49.207166 -121.105819,49.207750 -121.105732,49.207975 -121.105443,49.208271 -121.105002,49.208471 -121.104479,49.208546 -121.104466,49.208544 -121.104454,49.208546 -121.100482,49.208546 -121.100473,49.214928 -121.100467,49.214951 -121.100472,49.214969 -121.100186,49.219012 -121.100924,49.219310 -121.100998,49.219339 -121.101005,49.219343 -121.101015,49.219346 -121.101272,49.219449 -121.101297,49.219462 -121.101325,49.219471 -121.101488,49.219544 -121.101625,49.219601 -121.101776,49.219661 -121.101797,49.219671 -121.101822,49.219680 -121.102061,49.219783 -121.102073,49.219789 -121.102084,49.219793 -121.102354,49.219914 -121.102385,49.219930 -121.102403,49.219937 -121.102743,49.220105 -121.102753,49.220111 -121.102783,49.220123 -121.102942,49.220192 -121.102975,49.220209 -121.103000,49.220218 -121.103045,49.220239 -121.103263,49.220335 -121.103362,49.220376 -121.103407,49.220399 -121.103442,49.220411 -121.103603,49.220489 -121.104321,49.220805 -121.104418,49.220856 -121.104447,49.220868 -121.104662,49.220989 -121.104673,49.220998 -121.104694,49.221007 -121.104819,49.221081 -121.105109,49.221234 -121.105260,49.221308 -121.105268,49.221312 -121.105272,49.221314 -121.105499,49.221427 -121.105563,49.221457 -121.105598,49.221476 -121.105613,49.221482 -121.105829,49.221593 -121.105897,49.221633 -121.105904,49.221635 -121.106483,49.221982 -121.106512,49.222009 -121.106552,49.222026 -121.107221,49.222487 -121.107227,49.222493 -121.107234,49.222496 -121.107383,49.222602 -121.107386,49.222605 -121.107407,49.222619 -121.107568,49.222739 -121.107574,49.222746 -121.107602,49.222766 -121.107714,49.222856 -121.108003,49.222992 -121.108169,49.223057 -121.108198,49.223071 -121.108232,49.223083 -121.108331,49.223127 -121.108452,49.223173 -121.108469,49.223181 -121.108495,49.223190 -121.108892,49.223354 -121.108922,49.223369 -121.108950,49.223379 -121.109193,49.223491 -121.109228,49.223510 -121.109245,49.223516 -121.109345,49.223567 -121.109522,49.223651 -121.109526,49.223653 -121.109528,49.223653 -121.109740,49.223755 -121.110096,49.223917 -121.110119,49.223929 -121.110133,49.223934 -121.110352,49.224041 -121.110360,49.224046 -121.110364,49.224047 -121.110569,49.224150 -121.110574,49.224153 -121.110577,49.224154 -121.110870,49.224302 -121.110911,49.224326 -121.110921,49.224330 -121.111136,49.224450 -121.111148,49.224460 -121.111169,49.224469 -121.111296,49.224545 -121.111513,49.224672 -121.111518,49.224677 -121.111526,49.224680 -121.111956,49.224939 -121.111967,49.224949 -121.111985,49.224957 -121.112122,49.225044 -121.112124,49.225047 -121.112128,49.225048 -121.112342,49.225186 -121.112348,49.225192 -121.112357,49.225196 -121.112482,49.225279 -121.112485,49.225283 -121.112490,49.225285 -121.112577,49.225344 -121.112677,49.225408 -121.112780,49.225471 -121.113011,49.225600 -121.113027,49.225614 -121.113054,49.225625 -121.113193,49.225709 -121.113234,49.225728 -121.113282,49.225753 -121.113306,49.225762 -121.113536,49.225880 -121.113752,49.225989 -121.113756,49.225992 -121.113758,49.225992 -121.113913,49.226071 -121.113923,49.226077 -121.113927,49.226079 -121.114158,49.226199 -121.114211,49.226230 -121.114253,49.226249 -121.114313,49.226275 -121.114340,49.226289 -121.114360,49.226296 -121.114405,49.226318 -121.114638,49.226419 -121.114678,49.226441 -121.114703,49.226450 -121.115204,49.226698 -121.115709,49.226924 -121.115731,49.226935 -121.115745,49.226941 -121.116008,49.227066 -121.116033,49.227080 -121.116045,49.227085 -121.116115,49.227121 -121.116149,49.227136 -121.116233,49.227171 -121.116261,49.227186 -121.116288,49.227195 -121.116333,49.227216 -121.116343,49.227217 -121.117615,49.227598 -121.117644,49.227611 -121.117770,49.227652 -121.118000,49.227746 -121.118025,49.227759 -121.118051,49.227768 -121.118264,49.227864 -121.118371,49.227900 -121.118465,49.227945 -121.118570,49.227984 -121.118643,49.228020 -121.118755,49.228053 -121.118794,49.228070 -121.118969,49.228130 -121.119464,49.228350 -121.119492,49.228365 -121.119511,49.228371 -121.119598,49.228414 -121.119641,49.228432 -121.119817,49.228505 -121.119827,49.228508 -121.119833,49.228511 -121.119843,49.228515 -121.119846,49.228517 -121.120030,49.228575 -121.120040,49.228579 -121.120080,49.228591 -121.120281,49.228661 -121.120467,49.228717 -121.120472,49.228720 -121.120476,49.228720 -121.120583,49.228753 -121.120593,49.228758 -121.120638,49.228772 -121.120645,49.228774 -121.120647,49.228775 -121.120653,49.228777 -121.120693,49.228791 -121.120736,49.228796 -121.121038,49.228877 -121.121048,49.228882 -121.121058,49.228883 -121.121181,49.228917 -121.121240,49.228933 -121.121262,49.228942 -121.121284,49.228945 -121.121440,49.228991 -121.121550,49.229022 -121.121574,49.229032 -121.121595,49.229035 -121.121839,49.229111 -121.121846,49.229114 -121.121878,49.229124 -121.122103,49.229199 -121.122122,49.229208 -121.122159,49.229218 -121.122191,49.229232 -121.122201,49.229236 -121.122238,49.229241 -121.122508,49.229327 -121.122509,49.229327 -121.122509,49.229327 -121.122595,49.229354 -121.122690,49.229381 -121.122705,49.229388 -121.122718,49.229390 -121.123133,49.229518 -121.123144,49.229523 -121.123192,49.229537 -121.123436,49.229622 -121.123446,49.229627 -121.123472,49.229635 -121.123661,49.229706 -121.123665,49.229708 -121.123672,49.229710 -121.123943,49.229813 -121.123950,49.229817 -121.123962,49.229821 -121.124139,49.229891 -121.124146,49.229895 -121.124156,49.229898 -121.124327,49.229968 -121.124487,49.230030 -121.124615,49.230078 -121.124630,49.230086 -121.124655,49.230094 -121.124885,49.230188 -121.124899,49.230195 -121.124915,49.230200 -121.125175,49.230313 -121.125194,49.230322 -121.125210,49.230328 -121.125453,49.230440 -121.125474,49.230452 -121.125487,49.230456 -121.125733,49.230577 -121.125760,49.230592 -121.125770,49.230596 -121.125933,49.230682 -121.126365,49.230898 -121.126405,49.230921 -121.126416,49.230925 -121.126844,49.231161 -121.126857,49.231173 -121.126881,49.231182 -121.126976,49.231239 -121.127086,49.231301 -121.127442,49.231471 -121.127485,49.231495 -121.127501,49.231501 -121.127526,49.231515 -121.127549,49.231525 -121.127557,49.231529 -121.127562,49.231531 -121.127657,49.231577 -121.127751,49.231620 -121.127864,49.231668 -121.127871,49.231672 -121.127877,49.231674 -121.127983,49.231720 -121.128058,49.231753 -121.128142,49.231784 -121.128162,49.231794 -121.128193,49.231805 -121.128431,49.231903 -121.128472,49.231915 -121.128926,49.232070 -121.128942,49.232078 -121.128980,49.232090 -121.129251,49.232193 -121.129256,49.232196 -121.129264,49.232199 -121.129480,49.232283 -121.129497,49.232292 -121.129520,49.232299 -121.129764,49.232402 -121.129791,49.232417 -121.129814,49.232425 -121.130115,49.232565 -121.130116,49.232565 -121.130117,49.232566 -121.130161,49.232586 -121.130326,49.232646 -121.130374,49.232669 -121.130442,49.232692 -121.131043,49.232963 -121.131052,49.232966 -121.131456,49.233121 -121.131477,49.233131 -121.131507,49.233141 -121.131690,49.233218 -121.131698,49.233221 -121.131747,49.233239 -121.131768,49.233248 -121.131814,49.233263 -121.132347,49.233474 -121.132378,49.233490 -121.132413,49.233502 -121.132683,49.233623 -121.132709,49.233637 -121.132726,49.233643 -121.132889,49.233723 -121.133078,49.233812 -121.133083,49.233815 -121.133086,49.233816 -121.133310,49.233923 -121.133313,49.233925 -121.133315,49.233926 -121.133508,49.234019 -121.133546,49.234040 -121.133560,49.234045 -121.133623,49.234079 -121.133650,49.234089 -121.133856,49.234177 -121.133860,49.234180 -121.133865,49.234181 -121.133941,49.234214 -121.134024,49.234245 -121.134044,49.234255 -121.134076,49.234266 -121.134361,49.234383 -121.134364,49.234384 -121.134367,49.234386 -121.134521,49.234450 -121.134672,49.234509 -121.134699,49.234523 -121.134731,49.234534 -121.134786,49.234558 -121.134830,49.234571 -121.134837,49.234574 -121.134844,49.234575 -121.135238,49.234693 -121.135240,49.234694 -121.135282,49.234697 -121.135284,49.234697 -121.135289,49.234697 -121.135398,49.234705 -121.135857,49.234712 -121.135865,49.234713 -121.135922,49.234714 -121.136210,49.234728 -121.136221,49.234729 -121.136253,49.234730 -121.136513,49.234748 -121.136520,49.234749 -121.136535,49.234750 -121.136823,49.234772 -121.136840,49.234775 -121.136868,49.234776 -121.137181,49.234808 -121.137233,49.234810 -121.137416,49.234810 -121.137437,49.234812 -121.137456,49.234810 -121.137907,49.234817 -121.137914,49.234818 -121.137965,49.234819 -121.138294,49.234833 -121.138303,49.234835 -121.138332,49.234835 -121.138626,49.234854 -121.138676,49.234861 -121.138758,49.234866 -121.138784,49.234869 -121.138894,49.234874 -121.139134,49.234882 -121.139165,49.234887 -121.139265,49.234891 -121.139371,49.234901 -121.139505,49.234907 -121.139511,49.234907 -121.139532,49.234908 -121.139781,49.234921 -121.139797,49.234923 -121.139837,49.234924 -121.140012,49.234938 -121.140146,49.234944 -121.140160,49.234946 -121.140206,49.234947 -121.140444,49.234964 -121.140563,49.234971 -121.140708,49.234971 -121.140710,49.234971 -121.140711,49.234971 -121.140941,49.234970 -121.140963,49.234973 -121.140982,49.234970 -121.141298,49.234975 -121.141322,49.234978 -121.141339,49.234976 -121.141569,49.234985 -121.141572,49.234985 -121.141585,49.234985 -121.142243,49.235014 -121.142252,49.235015 -121.142282,49.235016 -121.142576,49.235034 -121.142586,49.235036 -121.142610,49.235036 -121.142898,49.235059 -121.142903,49.235060 -121.142913,49.235060 -121.143170,49.235082 -121.143190,49.235086 -121.143219,49.235087 -121.143507,49.235119 -121.143544,49.235126 -121.143577,49.235128 -121.144133,49.235209 -121.144183,49.235219 -121.144205,49.235220 -121.144440,49.235263 -121.144688,49.235307 -121.144705,49.235310 -121.144712,49.235311 -121.144949,49.235355 -121.144975,49.235361 -121.144982,49.235362 -121.145268,49.235420 -121.145274,49.235422 -121.145283,49.235423 -121.145512,49.235472 -121.145530,49.235479 -121.145557,49.235482 -121.145667,49.235508 -121.145711,49.235517 -121.146507,49.235662 -121.146533,49.235667 -121.146540,49.235668 -121.146786,49.235717 -121.146818,49.235724 -121.146823,49.235725 -121.146843,49.235729 -121.147105,49.235755 -121.147130,49.235759 -121.147158,49.235761 -121.147486,49.235802 -121.147507,49.235806 -121.147523,49.235807 -121.147697,49.235832 -121.147764,49.235842 -121.147813,49.235847 -121.148098,49.235873 -121.148121,49.235877 -121.148150,49.235879 -121.148270,49.235893 -121.148512,49.235918 -121.148526,49.235920 -121.148542,49.235921 -121.148848,49.235958 -121.148853,49.235959 -121.148858,49.235959 -121.148909,49.235965 -121.149213,49.235981 -121.149250,49.235987 -121.149332,49.235990 -121.149668,49.236027 -121.149679,49.236029 -121.149690,49.236030 -121.149824,49.236046 -121.149901,49.236052 -121.150158,49.236069 -121.150188,49.236074 -121.150244,49.236077 -121.150690,49.236124 -121.150712,49.236128 -121.150734,49.236129 -121.150911,49.236152 -121.151087,49.236171 -121.151102,49.236174 -121.151119,49.236175 -121.151541,49.236226 -121.151578,49.236233 -121.151604,49.236235 -121.151864,49.236275 -121.151908,49.236284 -121.151926,49.236286 -121.151957,49.236292 -121.152315,49.236322 -121.152351,49.236328 -121.152398,49.236331 -121.152725,49.236372 -121.152848,49.236387 -121.152867,49.236391 -121.152883,49.236392 -121.153170,49.236432 -121.153200,49.236438 -121.153218,49.236440 -121.153637,49.236509 -121.153701,49.236523 -121.153718,49.236524 -121.153737,49.236528 -121.153879,49.236539 -121.153896,49.236542 -121.153925,49.236543 -121.154254,49.236575 -121.154273,49.236579 -121.154297,49.236580 -121.154558,49.236611 -121.154559,49.236612 -121.154560,49.236612 -121.154765,49.236636 -121.154992,49.236662 -121.155011,49.236665 -121.155030,49.236666 -121.155085,49.236673 -121.155194,49.236681 -121.155228,49.236686 -121.155286,49.236689 -121.156068,49.236778 -121.156129,49.236789 -121.156170,49.236792 -121.156470,49.236842 -121.156491,49.236846 -121.156499,49.236847 -121.156531,49.236853 -121.156554,49.236856 -121.156557,49.236857 -121.156953,49.236899 -121.156969,49.236902 -121.156986,49.236903 -121.157237,49.236934 -121.157237,49.236934 -121.157237,49.236934 -121.157447,49.236960 -121.157472,49.236964 -121.157491,49.236966 -121.158011,49.237041 -121.158056,49.237051 -121.158077,49.237052 -121.158350,49.237102 -121.158386,49.237109 -121.158395,49.237110 -121.158800,49.237193 -121.158822,49.237202 -121.158856,49.237205 -121.159142,49.237273 -121.159172,49.237285 -121.159207,49.237290 -121.159659,49.237414 -121.159683,49.237424 -121.159706,49.237427 -121.160019,49.237522 -121.160022,49.237524 -121.160045,49.237530 -121.160310,49.237616 -121.160319,49.237619 -121.160350,49.237629 -121.160838,49.237799 -121.160849,49.237804 -121.160874,49.237812 -121.160970,49.237847 -121.161209,49.237935 -121.161305,49.237968 -121.161321,49.237975 -121.161357,49.237987 -121.161601,49.238081 -121.161628,49.238094 -121.161663,49.238106 -121.162094,49.238293 -121.162110,49.238301 -121.162123,49.238306 -121.162324,49.238398 -121.162537,49.238494 -121.162586,49.238521 -121.162609,49.238529 -121.163226,49.238850 -121.163308,49.238896 -121.163312,49.238898 -121.163394,49.238948 -121.163394,49.238949 -121.163459,49.238981 -121.163520,49.239003 -121.164248,49.239355 -121.164833,49.239616 -121.164902,49.239652 -121.164930,49.239663 -121.165173,49.239793 -121.165253,49.239839 -121.165254,49.239840 -121.165879,49.240232 -121.165907,49.240259 -121.165942,49.240274 -121.166084,49.240376 -121.166125,49.240417 -121.166236,49.240507 -121.166250,49.240522 -121.166849,49.240908 -121.166856,49.240915 -121.167003,49.241027 -121.167202,49.241210 -121.167215,49.241224 -121.167230,49.241236 -121.167415,49.241420 -121.167480,49.241440 -121.167509,49.241453 -121.167609,49.241486 -121.167712,49.241526 -121.167883,49.241586 -121.167921,49.241597 -121.167947,49.241609 -121.168034,49.241637 -121.169322,49.242143 -121.169404,49.242184 -121.169440,49.242197 -121.169473,49.242212 -121.169474,49.242213 -121.169476,49.242213 -121.169491,49.242220 -121.169495,49.242223 -121.169498,49.242224 -121.169858,49.242391 -121.169895,49.242411 -121.169912,49.242418 -121.169965,49.242446 -121.170013,49.242473 -121.170021,49.242476 -121.170432,49.242712 -121.170449,49.242728 -121.170478,49.242740 -121.170639,49.242841 -121.170652,49.242853 -121.170669,49.242861 -121.170856,49.242986 -121.170992,49.243056 -121.171093,49.243114 -121.171093,49.243114 -121.171093,49.243114 -121.171927,49.243640 -121.171927,49.243640 -121.171927,49.243640 -121.172023,49.243707 -121.172237,49.243872 -121.172240,49.243876 -121.172253,49.243885 -121.172407,49.244009 -121.172411,49.244013 -121.172423,49.244022 -121.172462,49.244054 -121.172470,49.244058 -121.172701,49.244219 -121.172711,49.244229 -121.172722,49.244234 -121.172936,49.244391 -121.172943,49.244397 -121.172975,49.244420 -121.173280,49.244663 -121.173286,49.244669 -121.173303,49.244681 -121.173404,49.244766 -121.173442,49.244797 -121.173539,49.244861 -121.173642,49.244899 -121.173665,49.244910 -121.174041,49.245006 -121.174044,49.245007 -121.174049,49.245008 -121.174286,49.245069 -121.174367,49.245088 -121.174412,49.245107 -121.174463,49.245114 -121.174554,49.245140 -121.174626,49.245156 -121.174640,49.245162 -121.174658,49.245164 -121.174792,49.245196 -121.175026,49.245252 -121.175251,49.245304 -121.175256,49.245306 -121.175264,49.245307 -121.175342,49.245325 -121.175483,49.245349 -121.175511,49.245355 -121.175521,49.245356 -121.175817,49.245411 -121.175858,49.245418 -121.175917,49.245431 -121.175932,49.245432 -121.176012,49.245449 -121.176057,49.245456 -121.176075,49.245458 -121.176403,49.245508 -121.176406,49.245508 -121.176510,49.245518 -121.176627,49.245527 -121.176692,49.245526 -121.176723,49.245530 -121.176751,49.245526 -121.177081,49.245531 -121.177105,49.245534 -121.177123,49.245532 -121.177344,49.245540 -121.177555,49.245548 -121.177753,49.245551 -121.177777,49.245554 -121.177794,49.245552 -121.178024,49.245560 -121.178025,49.245560 -121.178025,49.245560 -121.178417,49.245574 -121.178629,49.245570 -121.178663,49.245574 -121.178687,49.245571 -121.178695,49.245571 -121.178699,49.245570 -121.178716,49.245570 -121.179333,49.245563 -121.179622,49.245559 -121.179656,49.245563 -121.179686,49.245559 -121.180214,49.245567 -121.180223,49.245568 -121.180283,49.245569 -121.180557,49.245583 -121.180569,49.245584 -121.180603,49.245585 -121.180765,49.245597 -121.180963,49.245610 -121.180974,49.245611 -121.180974,49.245611 -121.180974,49.245611 -121.181255,49.245615 -121.181276,49.245618 -121.181292,49.245616 -121.181544,49.245624 -121.181548,49.245625 -121.181569,49.245625 -121.181870,49.245639 -121.181877,49.245640 -121.181899,49.245641 -121.182104,49.245653 -121.182318,49.245665 -121.182318,49.245665 -121.182318,49.245665 -121.182533,49.245677 -121.182539,49.245678 -121.182554,49.245679 -121.182983,49.245708 -121.182993,49.245710 -121.183015,49.245710 -121.183271,49.245732 -121.183486,49.245748 -121.183518,49.245754 -121.183568,49.245756 -121.184198,49.245830 -121.184373,49.245844 -121.184401,49.245848 -121.184442,49.245850 -121.185089,49.245923 -121.185121,49.245929 -121.185149,49.245931 -121.185311,49.245954 -121.185408,49.245967 -121.185613,49.245992 -121.185635,49.245996 -121.185653,49.245997 -121.185940,49.246037 -121.186001,49.246049 -121.186028,49.246052 -121.186738,49.246184 -121.186819,49.246202 -121.186827,49.246203 -121.187113,49.246270 -121.187137,49.246280 -121.187165,49.246284 -121.187321,49.246325 -121.187574,49.246390 -121.187591,49.246398 -121.187609,49.246400 -121.187983,49.246505 -121.188013,49.246518 -121.188039,49.246522 -121.188637,49.246711 -121.188658,49.246721 -121.188728,49.246743 -121.189445,49.247015 -121.189484,49.247034 -121.189532,49.247051 -121.189796,49.247169 -121.189843,49.247190 -121.189857,49.247197 -121.189868,49.247201 -121.190112,49.247313 -121.190181,49.247351 -121.190204,49.247360 -121.190897,49.247739 -121.190927,49.247765 -121.190977,49.247786 -121.191178,49.247916 -121.191193,49.247930 -121.191213,49.247939 -121.191460,49.248109 -121.191473,49.248122 -121.191487,49.248128 -121.191915,49.248440 -121.191923,49.248449 -121.191960,49.248475 -121.192346,49.248787 -121.192362,49.248804 -121.192397,49.248831 -121.192557,49.248977 -121.192607,49.249035 -121.192639,49.249063 -121.192942,49.249419 -121.193096,49.249593 -121.193663,49.250226 -121.193737,49.250321 -121.193746,49.250348 -121.193766,49.250368 -121.193859,49.250531 -121.193965,49.250713 -121.193967,49.250718 -121.193970,49.250721 -121.193984,49.250746 -121.194097,49.250896 -121.194101,49.250906 -121.194113,49.250917 -121.194156,49.250978 -121.194284,49.251157 -121.194289,49.251171 -121.194303,49.251184 -121.194414,49.251352 -121.194475,49.251413 -121.194603,49.251536 -121.194636,49.251575 -121.194658,49.251594 -121.195055,49.252047 -121.195064,49.252055 -121.195403,49.252348 -121.195468,49.252401 -121.195478,49.252405 -121.195924,49.252732 -121.195934,49.252742 -121.195978,49.252773 -121.196178,49.252938 -121.196183,49.252943 -121.196194,49.252952 -121.196365,49.253098 -121.196374,49.253109 -121.196391,49.253121 -121.196532,49.253251 -121.196725,49.253425 -121.196766,49.253457 -121.196780,49.253472 -121.196817,49.253499 -121.196952,49.253619 -121.197046,49.253684 -121.197062,49.253700 -121.197155,49.253769 -121.197429,49.254012 -121.197444,49.254029 -121.197464,49.254045 -121.197528,49.254107 -121.197569,49.254143 -121.197638,49.254204 -121.197645,49.254212 -121.197656,49.254220 -121.197681,49.254243 -121.197690,49.254254 -121.197737,49.254291 -121.197743,49.254296 -121.197759,49.254308 -121.198042,49.254542 -121.198056,49.254557 -121.198083,49.254578 -121.198243,49.254724 -121.198259,49.254744 -121.198278,49.254759 -121.198522,49.255005 -121.198533,49.255019 -121.198541,49.255026 -121.198658,49.255151 -121.198688,49.255182 -121.198753,49.255243 -121.198755,49.255246 -121.198759,49.255249 -121.199167,49.255637 -121.199294,49.255787 -121.199409,49.256130 -121.199315,49.256476 -121.199025,49.256771 -121.198854,49.256870 -121.194364,49.259052 -121.194195,49.259116 -121.194190,49.259121 -121.194019,49.259219 -121.189959,49.261192 -121.189690,49.261294 -121.189165,49.261369 -121.188637,49.261307 -121.188185,49.261117 -121.187934,49.260902 -121.187909,49.260873 -121.187882,49.260842 -121.187534,49.260532 -121.187522,49.260519 -121.187506,49.260507 -121.187453,49.260456 -121.187272,49.260287 -121.187264,49.260277 -121.187254,49.260270 -121.187110,49.260128 -121.187100,49.260117 -121.187092,49.260110 -121.186933,49.259946 -121.186929,49.259941 -121.186926,49.259938 -121.186892,49.259902 -121.186691,49.259739 -121.186679,49.259725 -121.186652,49.259705 -121.186479,49.259550 -121.186473,49.259542 -121.186463,49.259534 -121.186436,49.259509 -121.186433,49.259506 -121.186351,49.259450 -121.186334,49.259434 -121.186230,49.259356 -121.185936,49.259090 -121.185922,49.259074 -121.185904,49.259060 -121.185889,49.259046 -121.185714,49.258901 -121.185703,49.258889 -121.185680,49.258871 -121.185334,49.258560 -121.185331,49.258557 -121.185326,49.258553 -121.185308,49.258536 -121.185086,49.258379 -121.185080,49.258373 -121.185044,49.258348 -121.184844,49.258192 -121.184842,49.258190 -121.184837,49.258186 -121.184738,49.258108 -121.184734,49.258103 -121.184721,49.258094 -121.184521,49.257929 -121.184515,49.257922 -121.184501,49.257912 -121.184411,49.257834 -121.184410,49.257833 -121.184408,49.257832 -121.184023,49.257496 -121.183855,49.257352 -121.183853,49.257350 -121.183849,49.257347 -121.183650,49.257173 -121.183620,49.257139 -121.183585,49.257111 -121.183098,49.256604 -121.183056,49.256553 -121.183041,49.256540 -121.182898,49.256360 -121.182808,49.256270 -121.182680,49.256147 -121.182657,49.256119 -121.182639,49.256104 -121.182300,49.255735 -121.182272,49.255699 -121.182262,49.255690 -121.182130,49.255526 -121.182127,49.255517 -121.182115,49.255506 -121.182009,49.255365 -121.182006,49.255358 -121.181997,49.255350 -121.181880,49.255186 -121.181873,49.255168 -121.181857,49.255153 -121.181678,49.254876 -121.181675,49.254866 -121.181668,49.254859 -121.181655,49.254838 -121.181561,49.254713 -121.181514,49.254708 -121.181422,49.254700 -121.181422,49.254700 -121.181324,49.254691 -121.181241,49.254687 -121.181012,49.254674 -121.181000,49.254672 -121.180970,49.254671 -121.180807,49.254659 -121.180797,49.254659 -121.180797,49.254659 -121.180510,49.254654 -121.180490,49.254652 -121.180475,49.254654 -121.180211,49.254645 -121.180206,49.254644 -121.180182,49.254644 -121.179894,49.254630 -121.179884,49.254629 -121.179853,49.254628 -121.179691,49.254617 -121.179525,49.254609 -121.178962,49.254616 -121.178703,49.254620 -121.178700,49.254620 -121.178697,49.254620 -121.178408,49.254625 -121.178374,49.254621 -121.178343,49.254625 -121.177849,49.254617 -121.177843,49.254616 -121.177797,49.254616 -121.177279,49.254595 -121.177091,49.254592 -121.177066,49.254588 -121.177048,49.254590 -121.176828,49.254582 -121.176617,49.254575 -121.176591,49.254575 -121.176489,49.254576 -121.176438,49.254571 -121.176394,49.254576 -121.175659,49.254555 -121.175645,49.254553 -121.175583,49.254552 -121.175212,49.254528 -121.175205,49.254527 -121.175189,49.254526 -121.174887,49.254504 -121.174863,49.254500 -121.174824,49.254498 -121.174800,49.254495 -121.174277,49.254453 -121.174242,49.254447 -121.174194,49.254444 -121.173521,49.254362 -121.173479,49.254354 -121.173450,49.254352 -121.173202,49.254312 -121.172947,49.254273 -121.172943,49.254272 -121.172941,49.254272 -121.172689,49.254232 -121.172684,49.254231 -121.172682,49.254231 -121.172313,49.254171 -121.172261,49.254160 -121.172244,49.254158 -121.171976,49.254105 -121.171849,49.254080 -121.171691,49.254057 -121.171606,49.254040 -121.171581,49.254037 -121.170943,49.253906 -121.170922,49.253897 -121.170889,49.253894 -121.170650,49.253837 -121.170425,49.253785 -121.170416,49.253782 -121.170404,49.253780 -121.170271,49.253748 -121.170037,49.253692 -121.169812,49.253640 -121.169803,49.253637 -121.169790,49.253635 -121.169454,49.253554 -121.169430,49.253544 -121.169403,49.253540 -121.169145,49.253470 -121.168960,49.253420 -121.168379,49.253269 -121.168375,49.253267 -121.168371,49.253267 -121.168208,49.253224 -121.168196,49.253218 -121.168183,49.253217 -121.167911,49.253140 -121.167888,49.253130 -121.167867,49.253127 -121.167451,49.252999 -121.167441,49.252995 -121.167393,49.252980 -121.167148,49.252895 -121.167139,49.252891 -121.167117,49.252884 -121.166850,49.252785 -121.166836,49.252779 -121.166812,49.252771 -121.166693,49.252723 -121.166566,49.252679 -121.166550,49.252672 -121.166515,49.252661 -121.166148,49.252520 -121.166131,49.252512 -121.166108,49.252504 -121.165837,49.252391 -121.165820,49.252383 -121.165802,49.252377 -121.165528,49.252255 -121.165509,49.252245 -121.165495,49.252240 -121.165239,49.252119 -121.165216,49.252107 -121.165205,49.252103 -121.164937,49.251968 -121.164912,49.251954 -121.164904,49.251951 -121.164661,49.251821 -121.164630,49.251803 -121.164624,49.251801 -121.164327,49.251629 -121.164323,49.251626 -121.164316,49.251623 -121.164229,49.251572 -121.164214,49.251559 -121.164191,49.251549 -121.164147,49.251521 -121.164132,49.251507 -121.164113,49.251499 -121.163660,49.251191 -121.163625,49.251168 -121.163617,49.251160 -121.163606,49.251155 -121.163130,49.250828 -121.163123,49.250821 -121.163064,49.250780 -121.162887,49.250639 -121.162696,49.250489 -121.162690,49.250483 -121.162674,49.250471 -121.162507,49.250333 -121.162498,49.250327 -121.162483,49.250313 -121.162471,49.250303 -121.162445,49.250291 -121.162110,49.250052 -121.162105,49.250047 -121.162074,49.250026 -121.161861,49.249860 -121.161859,49.249859 -121.161854,49.249855 -121.161846,49.249849 -121.161760,49.249801 -121.161759,49.249799 -121.161755,49.249798 -121.161527,49.249669 -121.161500,49.249645 -121.161459,49.249628 -121.161357,49.249561 -121.161099,49.249473 -121.161093,49.249470 -121.161077,49.249465 -121.160935,49.249415 -121.160532,49.249287 -121.160517,49.249280 -121.160463,49.249263 -121.160206,49.249169 -121.160175,49.249154 -121.160126,49.249138 -121.159522,49.248881 -121.159480,49.248859 -121.159451,49.248848 -121.159234,49.248743 -121.159156,49.248707 -121.159124,49.248690 -121.159109,49.248684 -121.158852,49.248554 -121.158829,49.248540 -121.158821,49.248537 -121.158750,49.248499 -121.158527,49.248382 -121.158483,49.248356 -121.158476,49.248353 -121.158054,49.248108 -121.158032,49.248089 -121.158000,49.248075 -121.157772,49.247928 -121.157765,49.247921 -121.157756,49.247918 -121.157639,49.247839 -121.157633,49.247833 -121.157625,49.247830 -121.157438,49.247701 -121.157427,49.247691 -121.157416,49.247685 -121.157305,49.247606 -121.157256,49.247572 -121.157247,49.247564 -121.157238,49.247559 -121.156646,49.247136 -121.156633,49.247123 -121.156571,49.247078 -121.156398,49.246932 -121.156374,49.246905 -121.156339,49.246878 -121.156150,49.246690 -121.155921,49.246579 -121.155913,49.246574 -121.155909,49.246573 -121.155801,49.246519 -121.155173,49.246252 -121.155114,49.246222 -121.155079,49.246209 -121.154822,49.246079 -121.154750,49.246038 -121.154741,49.246034 -121.154327,49.245788 -121.154074,49.245761 -121.154050,49.245757 -121.154027,49.245756 -121.153712,49.245715 -121.153688,49.245710 -121.153670,49.245709 -121.153339,49.245659 -121.153308,49.245652 -121.153293,49.245651 -121.153213,49.245637 -121.153041,49.245623 -121.153014,49.245618 -121.152976,49.245616 -121.152727,49.245587 -121.152464,49.245562 -121.152433,49.245557 -121.152398,49.245555 -121.152198,49.245529 -121.152187,49.245527 -121.152179,49.245527 -121.152064,49.245511 -121.152049,49.245510 -121.152042,49.245509 -121.152029,49.245508 -121.151814,49.245491 -121.151789,49.245487 -121.151751,49.245485 -121.151127,49.245417 -121.151092,49.245411 -121.151061,49.245409 -121.150819,49.245374 -121.150563,49.245339 -121.150527,49.245332 -121.150505,49.245330 -121.150086,49.245261 -121.150047,49.245252 -121.149693,49.245223 -121.149667,49.245218 -121.149631,49.245216 -121.149357,49.245185 -121.149323,49.245179 -121.149295,49.245177 -121.148776,49.245101 -121.148734,49.245093 -121.148715,49.245091 -121.148629,49.245076 -121.148608,49.245074 -121.148386,49.245048 -121.148332,49.245042 -121.148294,49.245040 -121.148269,49.245035 -121.148228,49.245034 -121.148204,49.245031 -121.147955,49.245011 -121.147946,49.245009 -121.147930,49.245008 -121.147699,49.244987 -121.147690,49.244985 -121.147677,49.244985 -121.147408,49.244956 -121.147361,49.244953 -121.147353,49.244952 -121.147338,49.244951 -121.146795,49.244907 -121.146778,49.244904 -121.146751,49.244902 -121.146496,49.244876 -121.146482,49.244873 -121.146466,49.244872 -121.146176,49.244838 -121.145986,49.244818 -121.145737,49.244793 -121.145689,49.244789 -121.145676,49.244786 -121.145657,49.244786 -121.145356,49.244754 -121.145325,49.244748 -121.145295,49.244746 -121.144958,49.244700 -121.144958,49.244700 -121.144958,49.244700 -121.144808,49.244680 -121.144787,49.244679 -121.144754,49.244673 -121.144692,49.244671 -121.144160,49.244612 -121.144126,49.244606 -121.144096,49.244604 -121.143808,49.244564 -121.143782,49.244559 -121.143766,49.244557 -121.143461,49.244507 -121.143437,49.244503 -121.143427,49.244502 -121.143100,49.244442 -121.143074,49.244437 -121.143067,49.244436 -121.142820,49.244387 -121.142777,49.244377 -121.142770,49.244377 -121.142664,49.244353 -121.141962,49.244228 -121.141852,49.244208 -121.141821,49.244202 -121.141812,49.244201 -121.141512,49.244142 -121.141480,49.244135 -121.141474,49.244134 -121.141183,49.244071 -121.141158,49.244061 -121.141124,49.244057 -121.141011,49.244029 -121.140995,49.244026 -121.140816,49.244019 -121.140780,49.244018 -121.140587,49.244019 -121.140585,49.244019 -121.140584,49.244019 -121.140354,49.244020 -121.140332,49.244017 -121.140313,49.244020 -121.140038,49.244015 -121.140019,49.244013 -121.140004,49.244014 -121.139728,49.244006 -121.139722,49.244005 -121.139693,49.244004 -121.139419,49.243991 -121.139408,49.243989 -121.139374,49.243988 -121.139127,49.243971 -121.139126,49.243971 -121.139126,49.243971 -121.138987,49.243961 -121.138863,49.243955 -121.138856,49.243954 -121.138833,49.243953 -121.138630,49.243941 -121.138628,49.243941 -121.138624,49.243941 -121.138436,49.243929 -121.138247,49.243917 -121.137987,49.243905 -121.137959,49.243900 -121.137890,49.243898 -121.137782,49.243887 -121.137643,49.243882 -121.137630,49.243880 -121.137583,49.243878 -121.137336,49.243862 -121.137274,49.243858 -121.137237,49.243858 -121.137036,49.243859 -121.137013,49.243856 -121.136994,49.243858 -121.136705,49.243854 -121.136686,49.243851 -121.136671,49.243853 -121.136395,49.243844 -121.136387,49.243843 -121.136353,49.243842 -121.136144,49.243831 -121.136127,49.243831 -121.136120,49.243830 -121.136117,49.243830 -121.136059,49.243829 -121.135785,49.243815 -121.135759,49.243811 -121.135694,49.243809 -121.135071,49.243751 -121.134699,49.243745 -121.134691,49.243744 -121.134637,49.243743 -121.134335,49.243729 -121.134330,49.243728 -121.134315,49.243728 -121.134087,49.243715 -121.134077,49.243714 -121.134050,49.243713 -121.133735,49.243690 -121.133711,49.243686 -121.133708,49.243686 -121.133431,49.243668 -121.133423,49.243666 -121.133404,49.243666 -121.133114,49.243643 -121.133097,49.243640 -121.133068,49.243639 -121.132750,49.243607 -121.132737,49.243605 -121.132722,49.243604 -121.132448,49.243572 -121.132415,49.243566 -121.132386,49.243564 -121.131867,49.243489 -121.131821,49.243479 -121.131800,49.243478 -121.131527,49.243428 -121.131497,49.243422 -121.131489,49.243421 -121.131222,49.243367 -121.131211,49.243363 -121.131194,49.243361 -121.130881,49.243293 -121.130879,49.243293 -121.130877,49.243292 -121.130810,49.243278 -121.130805,49.243276 -121.130798,49.243275 -121.130498,49.243207 -121.130472,49.243197 -121.130439,49.243193 -121.129942,49.243063 -121.129909,49.243050 -121.129877,49.243045 -121.129592,49.242960 -121.129587,49.242957 -121.129556,49.242949 -121.129355,49.242884 -121.129295,49.242864 -121.129067,49.242804 -121.129044,49.242794 -121.129021,49.242791 -121.128762,49.242715 -121.128754,49.242711 -121.128698,49.242694 -121.128165,49.242515 -121.128146,49.242506 -121.128097,49.242490 -121.127853,49.242396 -121.127834,49.242387 -121.127807,49.242378 -121.127590,49.242286 -121.127388,49.242203 -121.127208,49.242131 -121.127182,49.242118 -121.127154,49.242108 -121.126978,49.242030 -121.126905,49.241998 -121.126822,49.241967 -121.126802,49.241958 -121.126769,49.241947 -121.126485,49.241830 -121.126480,49.241827 -121.126474,49.241825 -121.126337,49.241767 -121.126176,49.241704 -121.126146,49.241689 -121.126112,49.241678 -121.125691,49.241491 -121.125664,49.241476 -121.125645,49.241470 -121.125375,49.241339 -121.125375,49.241339 -121.125374,49.241339 -121.125230,49.241269 -121.125190,49.241247 -121.125177,49.241242 -121.125089,49.241195 -121.124966,49.241137 -121.124943,49.241125 -121.124931,49.241120 -121.124891,49.241100 -121.124869,49.241090 -121.124697,49.241027 -121.124681,49.241019 -121.124652,49.241009 -121.124395,49.240906 -121.124383,49.240900 -121.124367,49.240895 -121.124269,49.240854 -121.124257,49.240849 -121.124215,49.240833 -121.124209,49.240830 -121.124198,49.240827 -121.123793,49.240672 -121.123772,49.240661 -121.123742,49.240651 -121.123498,49.240548 -121.123448,49.240522 -121.123415,49.240510 -121.123220,49.240413 -121.123175,49.240397 -121.123130,49.240375 -121.123066,49.240353 -121.122413,49.240060 -121.122260,49.240003 -121.122246,49.239996 -121.122223,49.239988 -121.122206,49.239982 -121.121865,49.239867 -121.121853,49.239862 -121.121821,49.239852 -121.121564,49.239758 -121.121546,49.239749 -121.121513,49.239739 -121.121141,49.239589 -121.121121,49.239578 -121.121098,49.239570 -121.121022,49.239537 -121.120938,49.239506 -121.120918,49.239496 -121.120886,49.239485 -121.120602,49.239368 -121.120589,49.239362 -121.120574,49.239357 -121.120384,49.239274 -121.120182,49.239191 -121.120163,49.239181 -121.120142,49.239174 -121.119869,49.239053 -121.119859,49.239047 -121.119851,49.239045 -121.119651,49.238953 -121.119438,49.238856 -121.119410,49.238841 -121.119393,49.238835 -121.118988,49.238635 -121.118909,49.238591 -121.118414,49.238350 -121.118351,49.238315 -121.118337,49.238309 -121.117853,49.238036 -121.117847,49.238030 -121.117835,49.238025 -121.117730,49.237963 -121.117522,49.237858 -121.117463,49.237830 -121.117451,49.237824 -121.117444,49.237821 -121.117382,49.237791 -121.117237,49.237734 -121.117237,49.237734 -121.117059,49.237663 -121.117052,49.237660 -121.117043,49.237657 -121.116884,49.237592 -121.116604,49.237506 -121.116488,49.237471 -121.116334,49.237425 -121.116317,49.237418 -121.116302,49.237416 -121.115926,49.237297 -121.115915,49.237292 -121.115869,49.237278 -121.115787,49.237249 -121.115781,49.237247 -121.115700,49.237228 -121.115675,49.237218 -121.115645,49.237214 -121.115342,49.237133 -121.115333,49.237128 -121.115323,49.237127 -121.115051,49.237051 -121.115037,49.237045 -121.115024,49.237043 -121.114704,49.236948 -121.114694,49.236943 -121.114629,49.236924 -121.114429,49.236854 -121.114243,49.236798 -121.114238,49.236795 -121.114234,49.236795 -121.114127,49.236762 -121.114122,49.236759 -121.114100,49.236753 -121.113929,49.236697 -121.113760,49.236645 -121.113752,49.236641 -121.113714,49.236630 -121.113321,49.236498 -121.113311,49.236493 -121.113280,49.236483 -121.113023,49.236389 -121.113013,49.236384 -121.112994,49.236378 -121.112691,49.236261 -121.112662,49.236247 -121.112627,49.236235 -121.112418,49.236144 -121.112184,49.236047 -121.112167,49.236039 -121.112148,49.236032 -121.112043,49.235986 -121.111788,49.235875 -121.111771,49.235866 -121.111758,49.235861 -121.111613,49.235794 -121.111390,49.235719 -121.111360,49.235704 -121.111292,49.235682 -121.111091,49.235600 -121.110926,49.235559 -121.110896,49.235547 -121.110863,49.235543 -121.110591,49.235466 -121.110584,49.235463 -121.110505,49.235440 -121.109803,49.235204 -121.109748,49.235178 -121.109740,49.235176 -121.109709,49.235165 -121.109553,49.235111 -121.109531,49.235101 -121.109481,49.235085 -121.108958,49.234878 -121.108926,49.234862 -121.108891,49.234850 -121.108662,49.234748 -121.108661,49.234747 -121.108660,49.234747 -121.108598,49.234719 -121.108580,49.234710 -121.108568,49.234705 -121.108399,49.234625 -121.108217,49.234544 -121.108205,49.234538 -121.108195,49.234534 -121.107872,49.234385 -121.107840,49.234367 -121.107823,49.234361 -121.107724,49.234311 -121.107365,49.234148 -121.107151,49.234054 -121.107098,49.234027 -121.107068,49.234016 -121.106690,49.233823 -121.106565,49.233771 -121.106531,49.233754 -121.106502,49.233743 -121.106154,49.233580 -121.106149,49.233577 -121.106145,49.233576 -121.105950,49.233483 -121.105931,49.233473 -121.105922,49.233469 -121.105663,49.233339 -121.105635,49.233324 -121.105627,49.233321 -121.105431,49.233215 -121.105279,49.233135 -121.105162,49.233075 -121.105158,49.233073 -121.105145,49.233066 -121.105126,49.233057 -121.105115,49.233051 -121.105106,49.233046 -121.105079,49.233035 -121.105008,49.232999 -121.104946,49.232971 -121.104894,49.232942 -121.104872,49.232934 -121.104058,49.232502 -121.103969,49.232450 -121.103965,49.232446 -121.103958,49.232444 -121.103868,49.232385 -121.103821,49.232360 -121.103786,49.232339 -121.103780,49.232337 -121.103366,49.232097 -121.103343,49.232076 -121.103308,49.232061 -121.103160,49.231964 -121.102988,49.231858 -121.102979,49.231850 -121.102967,49.231845 -121.102736,49.231697 -121.102720,49.231682 -121.102699,49.231673 -121.102555,49.231573 -121.102509,49.231542 -121.102188,49.231352 -121.102082,49.231289 -121.102057,49.231275 -121.102035,49.231264 -121.102008,49.231250 -121.101986,49.231239 -121.101940,49.231221 -121.101692,49.231089 -121.101501,49.231014 -121.101428,49.230977 -121.101373,49.230957 -121.101317,49.230928 -121.101225,49.230884 -121.101212,49.230880 -121.100996,49.230795 -121.100968,49.230781 -121.100934,49.230769 -121.100834,49.230725 -121.100713,49.230679 -121.100696,49.230671 -121.100671,49.230662 -121.100273,49.230498 -121.100243,49.230483 -121.100215,49.230473 -121.099972,49.230361 -121.099927,49.230337 -121.099907,49.230329 -121.099749,49.230247 -121.099625,49.230198 -121.099563,49.230168 -121.099508,49.230148 -121.098731,49.229770 -121.098652,49.229727 -121.098638,49.229721 -121.098382,49.229573 -121.098357,49.229550 -121.098318,49.229533 -121.097857,49.229229 -121.097836,49.229208 -121.097811,49.229197 -121.097602,49.229045 -121.097599,49.229042 -121.097596,49.229040 -121.097409,49.228902 -121.097401,49.228894 -121.097368,49.228870 -121.097079,49.228636 -121.097075,49.228633 -121.097066,49.228626 -121.097050,49.228612 -121.096923,49.228524 -121.096891,49.228512 -121.096365,49.228242 -121.096329,49.228222 -121.096320,49.228219 -121.096253,49.228181 -121.096213,49.228160 -121.095906,49.227996 -121.095785,49.227947 -121.095738,49.227923 -121.095696,49.227908 -121.095540,49.227834 -121.095406,49.227778 -121.095403,49.227776 -121.095401,49.227776 -121.095192,49.227687 -121.095121,49.227650 -121.095084,49.227636 -121.095004,49.227594 -121.094984,49.227582 -121.094978,49.227580 -121.094814,49.227490 -121.094473,49.227349 -121.094425,49.227325 -121.094329,49.227288 -121.094296,49.227271 -121.094255,49.227257 -121.094092,49.227185 -121.093942,49.227122 -121.093846,49.227083 -121.093672,49.227018 -121.093636,49.227000 -121.093598,49.226987 -121.083343,49.232898 -121.083263,49.232931 -121.083144,49.232993 -121.074896,49.236246 -121.074010,49.236630 -121.073953,49.236650 -121.073928,49.236663 -121.073020,49.237000 -121.072987,49.237010 -121.072979,49.237014 -121.071539,49.237507 -121.069839,49.238643 -121.069341,49.239313 -121.068767,49.240121 -121.068767,49.240121 -121.068767,49.240121 -121.068187,49.240936 -121.068179,49.240944 -121.068177,49.240951 -121.067582,49.241750 -121.067039,49.242525 -121.066617,49.243280 -121.066360,49.244034 -121.066277,49.244787 -121.066392,49.245536 -121.066692,49.246304 -121.067095,49.247060 -121.067631,49.247755 -121.068328,49.248420 -121.069140,49.249087 -121.070004,49.249754 -121.070889,49.250402 -121.070898,49.250408 -121.070914,49.250419 -121.070931,49.250430 -121.070948,49.250441 -121.070965,49.250453 -121.070982,49.250464 -121.071000,49.250476 -121.071018,49.250487 -121.071035,49.250499 -121.071053,49.250510 -121.071071,49.250522 -121.071089,49.250533 -121.071107,49.250545 -121.071126,49.250557 -121.071144,49.250569 -121.071163,49.250581 -121.071182,49.250592 -121.071200,49.250604 -121.071219,49.250616 -121.071239,49.250628 -121.071258,49.250641 -121.071277,49.250653 -121.071297,49.250665 -121.071316,49.250677 -121.071336,49.250690 -121.071355,49.250702 -121.071375,49.250714 -121.071395,49.250727 -121.071415,49.250739 -121.071415,49.250739 -121.071415,49.250739 -121.071435,49.250752 -121.071435,49.250752 -121.071435,49.250752 -121.071455,49.250765 -121.071456,49.250765 -121.071456,49.250765 -121.071476,49.250777 -121.071476,49.250777 -121.071476,49.250778 -121.071496,49.250790 -121.071496,49.250790 -121.071496,49.250790 -121.071516,49.250803 -121.071517,49.250803 -121.071517,49.250803 -121.071537,49.250816 -121.071537,49.250816 -121.071538,49.250816 -121.071558,49.250829 -121.071558,49.250829 -121.071558,49.250829 -121.071578,49.250842 -121.071579,49.250842 -121.071579,49.250842 -121.071599,49.250855 -121.071599,49.250855 -121.071600,49.250855 -121.071620,49.250868 -121.071620,49.250868 -121.071621,49.250869 -121.071641,49.250881 -121.071641,49.250882 -121.071642,49.250882 -121.071662,49.250895 -121.071662,49.250895 -121.071663,49.250895 -121.071683,49.250908 -121.071683,49.250909 -121.071684,49.250909 -121.071704,49.250921 -121.071704,49.250922 -121.071705,49.250922 -121.071725,49.250935 -121.071725,49.250936 -121.071726,49.250936 -121.071746,49.250949 -121.071747,49.250949 -121.071748,49.250950 -121.071767,49.250962 -121.071768,49.250963 -121.071769,49.250963 -121.071789,49.250976 -121.071789,49.250977 -121.071790,49.250977 -121.071810,49.250990 -121.071811,49.250991 -121.071812,49.250991 -121.071831,49.251004 -121.071832,49.251005 -121.071833,49.251005 -121.071853,49.251018 -121.071854,49.251019 -121.071855,49.251019 -121.071874,49.251032 -121.071875,49.251033 -121.071876,49.251033 -121.071896,49.251046 -121.071897,49.251047 -121.071898,49.251048 -121.071917,49.251060 -121.071918,49.251061 -121.071920,49.251062 -121.071939,49.251075 -121.071940,49.251076 -121.071941,49.251076 -121.071960,49.251089 -121.071962,49.251090 -121.071963,49.251091 -121.071982,49.251104 -121.071983,49.251105 -121.071985,49.251106 -121.072004,49.251118 -121.072005,49.251120 -121.072006,49.251120 -121.072025,49.251133 -121.072027,49.251134 -121.072028,49.251135 -121.072047,49.251148 -121.072048,49.251149 -121.072050,49.251150 -121.072069,49.251163 -121.072070,49.251164 -121.072072,49.251165 -121.072091,49.251178 -121.072092,49.251179 -121.072094,49.251180 -121.072112,49.251193 -121.072114,49.251195 -121.072116,49.251195 -121.072134,49.251208 -121.072136,49.251210 -121.072137,49.251211 -121.072156,49.251224 -121.072157,49.251225 -121.072159,49.251226 -121.072178,49.251239 -121.072179,49.251241 -121.072181,49.251242 -121.072200,49.251255 -121.072201,49.251257 -121.072203,49.251257 -121.072221,49.251271 -121.072223,49.251272 -121.072225,49.251273 -121.072243,49.251286 -121.072245,49.251288 -121.072247,49.251289 -121.072265,49.251302 -121.072267,49.251304 -121.072268,49.251305 -121.072287,49.251318 -121.072287,49.251319 -121.072290,49.251321 -121.072308,49.251334 -121.072309,49.251335 -121.072312,49.251337 -121.072330,49.251351 -121.072331,49.251351 -121.072334,49.251354 -121.072352,49.251367 -121.072352,49.251368 -121.072356,49.251370 -121.072373,49.251384 -121.072374,49.251385 -121.072377,49.251387 -121.072395,49.251400 -121.072396,49.251401 -121.072399,49.251404 -121.072416,49.251417 -121.072417,49.251418 -121.072421,49.251420 -121.072438,49.251434 -121.072439,49.251435 -121.072442,49.251437 -121.072460,49.251451 -121.072461,49.251452 -121.072464,49.251454 -121.072481,49.251468 -121.072482,49.251469 -121.072485,49.251472 -121.072502,49.251486 -121.072504,49.251487 -121.072507,49.251489 -121.072524,49.251503 -121.072525,49.251504 -121.072528,49.251507 -121.072545,49.251521 -121.072546,49.251522 -121.072550,49.251524 -121.072566,49.251538 -121.072568,49.251540 -121.072571,49.251542 -121.072587,49.251556 -121.072589,49.251558 -121.072592,49.251560 -121.072609,49.251574 -121.072610,49.251576 -121.072613,49.251578 -121.072630,49.251592 -121.072632,49.251595 -121.072637,49.251599 -121.072653,49.251613 -121.072658,49.251619 -121.072666,49.251625 -121.072682,49.251639 -121.072687,49.251645 -121.072695,49.251651 -121.072710,49.251666 -121.072716,49.251672 -121.072722,49.251677 -121.072738,49.251692 -121.072743,49.251699 -121.072749,49.251704 -121.072764,49.251719 -121.072770,49.251726 -121.072775,49.251730 -121.072790,49.251745 -121.072796,49.251753 -121.072800,49.251757 -121.072815,49.251772 -121.072821,49.251780 -121.072825,49.251783 -121.072839,49.251799 -121.072845,49.251807 -121.072848,49.251810 -121.072862,49.251825 -121.072868,49.251834 -121.072871,49.251836 -121.072885,49.251852 -121.072891,49.251861 -121.072893,49.251863 -121.072907,49.251879 -121.072913,49.251887 -121.072915,49.251889 -121.072928,49.251905 -121.072929,49.251910 -121.072930,49.251911 -121.072936,49.251916 -121.072948,49.251932 -121.072950,49.251937 -121.072956,49.251942 -121.072968,49.251959 -121.072970,49.251964 -121.072975,49.251969 -121.072987,49.251985 -121.072989,49.251990 -121.072994,49.251995 -121.073006,49.252012 -121.073008,49.252017 -121.073013,49.252022 -121.073024,49.252038 -121.073026,49.252044 -121.073030,49.252048 -121.073041,49.252065 -121.073043,49.252070 -121.073047,49.252074 -121.073058,49.252091 -121.073060,49.252097 -121.073064,49.252101 -121.073074,49.252118 -121.073076,49.252123 -121.073080,49.252127 -121.073090,49.252144 -121.073092,49.252150 -121.073095,49.252153 -121.073105,49.252171 -121.073107,49.252176 -121.073110,49.252180 -121.073120,49.252197 -121.073121,49.252203 -121.073125,49.252206 -121.073134,49.252223 -121.073135,49.252225 -121.073139,49.252232 -121.073148,49.252249 -121.073148,49.252251 -121.073152,49.252258 -121.073161,49.252276 -121.073161,49.252278 -121.073165,49.252284 -121.073174,49.252302 -121.073174,49.252304 -121.073178,49.252310 -121.073186,49.252328 -121.073186,49.252330 -121.073190,49.252336 -121.073198,49.252354 -121.073198,49.252356 -121.073201,49.252362 -121.073209,49.252379 -121.073210,49.252382 -121.073212,49.252388 -121.073220,49.252405 -121.073221,49.252408 -121.073223,49.252413 -121.073230,49.252431 -121.073231,49.252434 -121.073234,49.252439 -121.073240,49.252457 -121.073241,49.252460 -121.073243,49.252465 -121.073250,49.252482 -121.073251,49.252486 -121.073253,49.252490 -121.073259,49.252508 -121.073260,49.252511 -121.073262,49.252515 -121.073268,49.252533 -121.073269,49.252537 -121.073271,49.252541 -121.073277,49.252558 -121.073277,49.252562 -121.073279,49.252566 -121.073285,49.252584 -121.073285,49.252588 -121.073287,49.252591 -121.073292,49.252609 -121.073293,49.252613 -121.073295,49.252616 -121.073300,49.252634 -121.073300,49.252638 -121.073302,49.252641 -121.073307,49.252659 -121.073308,49.252665 -121.073310,49.252669 -121.073314,49.252687 -121.073316,49.252699 -121.073319,49.252706 -121.073323,49.252723 -121.073324,49.252737 -121.073327,49.252743 -121.073330,49.252760 -121.073331,49.252774 -121.073333,49.252779 -121.073336,49.252796 -121.073337,49.252811 -121.073338,49.252814 -121.073341,49.252831 -121.073340,49.252836 -121.073340,49.252842 -121.073343,49.252848 -121.073344,49.252866 -121.073343,49.252872 -121.073343,49.252874 -121.073343,49.252874 -121.073346,49.252882 -121.073347,49.252900 -121.073345,49.252907 -121.073348,49.252915 -121.073349,49.252933 -121.073347,49.252940 -121.073349,49.252947 -121.073350,49.252965 -121.073348,49.252972 -121.073350,49.252978 -121.073350,49.252996 -121.073348,49.253003 -121.073350,49.253009 -121.073349,49.253027 -121.073347,49.253033 -121.073349,49.253038 -121.073348,49.253056 -121.073346,49.253063 -121.073347,49.253067 -121.073346,49.253085 -121.073344,49.253091 -121.073344,49.253091 -121.073346,49.253095 -121.073344,49.253113 -121.073344,49.253115 -121.073343,49.253123 -121.073342,49.253141 -121.073341,49.253142 -121.073341,49.253149 -121.073339,49.253167 -121.073338,49.253169 -121.073338,49.253175 -121.073336,49.253193 -121.073335,49.253195 -121.073335,49.253200 -121.073332,49.253218 -121.073332,49.253220 -121.073332,49.253224 -121.073329,49.253242 -121.073328,49.253244 -121.073328,49.253247 -121.073325,49.253266 -121.073325,49.253267 -121.073325,49.253270 -121.073322,49.253288 -121.073321,49.253290 -121.073321,49.253292 -121.073318,49.253310 -121.073318,49.253311 -121.073317,49.253313 -121.073314,49.253332 -121.073314,49.253332 -121.073314,49.253334 -121.073311,49.253352 -121.073311,49.253353 -121.073310,49.253354 -121.073307,49.253372 -121.073307,49.253372 -121.073307,49.253373 -121.073304,49.253391 -121.073304,49.253391 -121.073304,49.253391 -121.073300,49.253409 -121.073297,49.253426 -121.073294,49.253442 -121.073292,49.253458 -121.073289,49.253473 -121.073287,49.253487 -121.073285,49.253500 -121.073283,49.253513 -121.073281,49.253525 -121.073280,49.253535 -121.073279,49.253546 -121.073278,49.253555 -121.073277,49.253569 -121.073273,49.253580 -121.073270,49.253623 -121.073063,49.254803 -121.073043,49.254855 -121.073034,49.254911 -121.072713,49.255785 -121.072702,49.255808 -121.072700,49.255817 -121.072330,49.256683 -121.072312,49.256718 -121.072310,49.256725 -121.071876,49.257578 -121.071862,49.257594 -121.071856,49.257616 -121.071364,49.258456 -121.071356,49.258463 -121.071354,49.258472 -121.070838,49.259304 -121.070326,49.260137 -121.070323,49.260140 -121.070322,49.260144 -121.069799,49.260975 -121.069762,49.261013 -121.069585,49.261208 -121.068936,49.261719 -121.068899,49.261738 -121.068867,49.261769 -121.068675,49.261878 -121.067945,49.262217 -121.067803,49.262270 -121.067765,49.262288 -121.066404,49.262735 -121.066329,49.262746 -121.066266,49.262774 -121.065361,49.262993 -121.065007,49.263037 -121.064924,49.263049 -121.063559,49.263076 -121.062616,49.263327 -121.061216,49.264294 -121.059981,49.265366 -121.058957,49.267022 -121.058559,49.268560 -121.058483,49.268740 -121.058384,49.268871 -121.057542,49.269795 -121.057484,49.269844 -121.057452,49.269882 -121.056939,49.270319 -121.056848,49.270811 -121.057738,49.271288 -121.058678,49.271616 -121.058754,49.271652 -121.058849,49.271686 -121.059728,49.272111 -121.059867,49.272188 -121.060132,49.272421 -121.060795,49.273258 -121.060806,49.273286 -121.060836,49.273314 -121.060949,49.273657 -121.060920,49.273858 -121.060643,49.274721 -121.060415,49.275591 -121.060415,49.275591 -121.060415,49.275592 -121.060408,49.275619 -121.060406,49.275627 -121.060403,49.275640 -121.060399,49.275655 -121.060395,49.275672 -121.060395,49.275673 -121.060395,49.275674 -121.060391,49.275691 -121.060391,49.275693 -121.060390,49.275695 -121.060386,49.275713 -121.060385,49.275715 -121.060385,49.275719 -121.060381,49.275737 -121.060379,49.275740 -121.060379,49.275745 -121.060374,49.275763 -121.060372,49.275768 -121.060371,49.275773 -121.060366,49.275791 -121.060364,49.275798 -121.060363,49.275804 -121.060357,49.275822 -121.060354,49.275830 -121.060353,49.275837 -121.060347,49.275855 -121.060342,49.275866 -121.060341,49.275873 -121.060335,49.275890 -121.060328,49.275904 -121.060327,49.275911 -121.060320,49.275928 -121.060312,49.275944 -121.060311,49.275950 -121.060303,49.275968 -121.060295,49.275983 -121.060294,49.275987 -121.060286,49.276004 -121.060286,49.276005 -121.060286,49.276005 -121.060278,49.276021 -121.060271,49.276037 -121.060263,49.276053 -121.060255,49.276070 -121.060247,49.276087 -121.060239,49.276104 -121.060231,49.276121 -121.060231,49.276121 -121.060231,49.276122 -121.060223,49.276139 -121.060223,49.276139 -121.060223,49.276139 -121.060215,49.276157 -121.060214,49.276157 -121.060214,49.276158 -121.060206,49.276175 -121.060206,49.276176 -121.060205,49.276176 -121.060197,49.276194 -121.060197,49.276194 -121.060197,49.276195 -121.060188,49.276212 -121.060188,49.276213 -121.060188,49.276214 -121.060179,49.276231 -121.060179,49.276232 -121.060178,49.276233 -121.060170,49.276251 -121.060169,49.276252 -121.060169,49.276253 -121.060160,49.276270 -121.060160,49.276271 -121.060159,49.276273 -121.060151,49.276290 -121.060150,49.276291 -121.060149,49.276293 -121.060141,49.276310 -121.060140,49.276312 -121.060139,49.276313 -121.060130,49.276331 -121.060129,49.276332 -121.060129,49.276334 -121.060120,49.276351 -121.060119,49.276353 -121.060118,49.276355 -121.060109,49.276372 -121.060108,49.276374 -121.060107,49.276376 -121.060098,49.276393 -121.060097,49.276395 -121.060096,49.276397 -121.060087,49.276415 -121.060085,49.276416 -121.060085,49.276419 -121.060075,49.276436 -121.060073,49.276438 -121.060073,49.276441 -121.060063,49.276458 -121.060061,49.276460 -121.060061,49.276463 -121.060051,49.276480 -121.060049,49.276482 -121.060048,49.276485 -121.060038,49.276502 -121.060036,49.276505 -121.060035,49.276508 -121.060025,49.276525 -121.060023,49.276527 -121.060022,49.276531 -121.060012,49.276547 -121.060009,49.276550 -121.060008,49.276554 -121.059998,49.276570 -121.059995,49.276573 -121.059994,49.276577 -121.059984,49.276593 -121.059980,49.276597 -121.059979,49.276600 -121.059969,49.276617 -121.059965,49.276620 -121.059964,49.276624 -121.059954,49.276640 -121.059950,49.276644 -121.059949,49.276648 -121.059938,49.276664 -121.059934,49.276668 -121.059932,49.276672 -121.059921,49.276688 -121.059917,49.276692 -121.059916,49.276696 -121.059905,49.276712 -121.059900,49.276716 -121.059899,49.276720 -121.059887,49.276736 -121.059882,49.276741 -121.059881,49.276745 -121.059869,49.276760 -121.059867,49.276762 -121.059862,49.276769 -121.059850,49.276785 -121.059848,49.276787 -121.059843,49.276794 -121.059831,49.276810 -121.059828,49.276812 -121.059823,49.276819 -121.059811,49.276835 -121.059807,49.276838 -121.059801,49.276847 -121.059788,49.276862 -121.059765,49.276883 -121.059737,49.276918 -121.059722,49.276933 -121.059673,49.276973 -121.059652,49.276997 -121.059636,49.277011 -121.059571,49.277060 -121.059566,49.277065 -121.059547,49.277079 -121.059544,49.277080 -121.059540,49.277083 -121.059515,49.277094 -121.059500,49.277110 -121.059483,49.277120 -121.059479,49.277124 -121.059458,49.277137 -121.059449,49.277141 -121.059392,49.277175 -121.059370,49.277187 -121.059348,49.277196 -121.059307,49.277220 -121.059283,49.277231 -121.059252,49.277243 -121.059222,49.277259 -121.059198,49.277270 -121.059158,49.277284 -121.059138,49.277294 -121.059113,49.277304 -121.059066,49.277319 -121.059054,49.277325 -121.059028,49.277334 -121.059016,49.277336 -121.058981,49.277348 -121.058970,49.277353 -121.058944,49.277361 -121.058912,49.277365 -121.058885,49.277378 -121.058859,49.277385 -121.058848,49.277386 -121.058808,49.277396 -121.058798,49.277400 -121.058772,49.277406 -121.058759,49.277407 -121.058708,49.277419 -121.058683,49.277425 -121.058656,49.277427 -121.058608,49.277438 -121.058583,49.277442 -121.058524,49.277447 -121.058477,49.277455 -121.058451,49.277458 -121.058372,49.277463 -121.058351,49.277466 -121.058325,49.277468 -121.058311,49.277466 -121.058259,49.277469 -121.058252,49.277468 -121.058236,49.277471 -121.058209,49.277471 -121.058190,49.277469 -121.058178,49.277470 -121.058140,49.277470 -121.058132,49.277471 -121.058105,49.277470 -121.058094,49.277469 -121.058038,49.277467 -121.058010,49.277466 -121.057994,49.277463 -121.057953,49.277462 -121.057925,49.277459 -121.057906,49.277456 -121.057877,49.277455 -121.057849,49.277452 -121.057830,49.277448 -121.057809,49.277447 -121.057781,49.277444 -121.057763,49.277440 -121.057748,49.277439 -121.057720,49.277435 -121.057704,49.277432 -121.057694,49.277431 -121.057666,49.277427 -121.057653,49.277424 -121.057647,49.277424 -121.057619,49.277419 -121.057610,49.277417 -121.057606,49.277417 -121.057578,49.277412 -121.057573,49.277411 -121.057571,49.277411 -121.057544,49.277406 -121.057542,49.277406 -121.057540,49.277405 -121.057514,49.277401 -121.057507,49.277399 -121.057504,49.277399 -121.057478,49.277394 -121.057470,49.277392 -121.057468,49.277392 -121.057441,49.277387 -121.057433,49.277385 -121.057431,49.277385 -121.057405,49.277380 -121.057396,49.277378 -121.057394,49.277378 -121.057368,49.277373 -121.057364,49.277371 -121.057357,49.277370 -121.057331,49.277365 -121.057327,49.277363 -121.057321,49.277363 -121.057294,49.277357 -121.057290,49.277356 -121.057284,49.277355 -121.057258,49.277349 -121.057253,49.277347 -121.057247,49.277347 -121.057221,49.277341 -121.057216,49.277339 -121.057210,49.277338 -121.057184,49.277332 -121.057179,49.277330 -121.057173,49.277330 -121.057147,49.277324 -121.057142,49.277322 -121.057136,49.277321 -121.057110,49.277315 -121.057105,49.277313 -121.057099,49.277312 -121.057073,49.277305 -121.057068,49.277303 -121.057062,49.277303 -121.057036,49.277296 -121.057031,49.277294 -121.057025,49.277293 -121.056999,49.277286 -121.056994,49.277284 -121.056988,49.277283 -121.056962,49.277276 -121.056957,49.277274 -121.056951,49.277273 -121.056925,49.277266 -121.056920,49.277264 -121.056914,49.277263 -121.056888,49.277256 -121.056882,49.277253 -121.056877,49.277252 -121.056852,49.277245 -121.056845,49.277242 -121.056840,49.277241 -121.056815,49.277234 -121.056808,49.277231 -121.056803,49.277230 -121.056778,49.277223 -121.056771,49.277220 -121.056766,49.277219 -121.056741,49.277211 -121.056739,49.277210 -121.056728,49.277207 -121.056704,49.277199 -121.056701,49.277198 -121.056691,49.277195 -121.056667,49.277187 -121.056664,49.277186 -121.056654,49.277183 -121.056630,49.277174 -121.056627,49.277173 -121.056618,49.277170 -121.056593,49.277162 -121.056590,49.277160 -121.056582,49.277158 -121.056558,49.277149 -121.056554,49.277148 -121.056546,49.277145 -121.056522,49.277136 -121.056519,49.277135 -121.056512,49.277132 -121.056488,49.277124 -121.056484,49.277122 -121.056477,49.277120 -121.056454,49.277111 -121.056450,49.277109 -121.056444,49.277107 -121.056420,49.277098 -121.056416,49.277096 -121.056411,49.277094 -121.056387,49.277085 -121.056383,49.277083 -121.056378,49.277081 -121.056355,49.277072 -121.056351,49.277070 -121.056346,49.277068 -121.056322,49.277059 -121.056319,49.277057 -121.056314,49.277055 -121.056291,49.277046 -121.056287,49.277044 -121.056283,49.277042 -121.056260,49.277033 -121.056256,49.277031 -121.056252,49.277029 -121.056229,49.277020 -121.056226,49.277018 -121.056222,49.277017 -121.056199,49.277007 -121.056196,49.277005 -121.056193,49.277004 -121.056170,49.276994 -121.056166,49.276992 -121.056163,49.276991 -121.056140,49.276981 -121.056137,49.276979 -121.056134,49.276978 -121.056112,49.276968 -121.056109,49.276966 -121.056106,49.276965 -121.056095,49.276960 -121.056063,49.277078 -121.056035,49.277204 -121.056006,49.277343 -121.056005,49.277346 -121.056004,49.277350 -121.055972,49.277494 -121.055968,49.277505 -121.055966,49.277519 -121.055928,49.277661 -121.055919,49.277684 -121.055915,49.277704 -121.055868,49.277843 -121.055847,49.277888 -121.055843,49.277904 -121.055781,49.278040 -121.055743,49.278112 -121.055720,49.278136 -121.055712,49.278159 -121.055620,49.278290 -121.055586,49.278322 -121.055505,49.278422 -121.055376,49.278545 -121.055270,49.278629 -121.055259,49.278641 -121.055108,49.278749 -121.055092,49.278757 -121.055081,49.278769 -121.054919,49.278862 -121.054751,49.278945 -121.054471,49.279051 -121.054205,49.279107 -121.053984,49.279137 -121.053947,49.279140 -121.053922,49.279144 -121.053701,49.279168 -121.053682,49.279169 -121.053673,49.279171 -121.053455,49.279191 -121.053451,49.279191 -121.053450,49.279191 -121.053247,49.279209 -121.053044,49.279230 -121.053029,49.279231 -121.053021,49.279232 -121.052804,49.279253 -121.052757,49.279255 -121.052744,49.279257 -121.052524,49.279271 -121.052514,49.279272 -121.052512,49.279272 -121.052288,49.279285 -121.052218,49.279278 -121.052142,49.279288 -121.051923,49.279285 -121.051841,49.279275 -121.051587,49.279254 -121.051381,49.279217 -121.051237,49.279186 -121.051080,49.279138 -121.050885,49.279067 -121.050862,49.279057 -121.050821,49.279043 -121.050632,49.278966 -121.050615,49.278957 -121.050595,49.278951 -121.050412,49.278871 -121.050396,49.278863 -121.050383,49.278858 -121.050210,49.278778 -121.050042,49.278703 -121.049868,49.278627 -121.049722,49.278564 -121.049618,49.278525 -121.049584,49.278514 -121.049552,49.278537 -121.049521,49.278564 -121.049512,49.278575 -121.049458,49.278668 -121.049447,49.278678 -121.049444,49.278690 -121.049359,49.278823 -121.049277,49.278952 -121.049199,49.279077 -121.049126,49.279199 -121.049060,49.279314 -121.049003,49.279424 -121.048946,49.279545 -121.048885,49.279680 -121.048879,49.279691 -121.048878,49.279694 -121.048812,49.279831 -121.048800,49.279845 -121.048795,49.279865 -121.048720,49.280000 -121.048709,49.280012 -121.048705,49.280027 -121.048624,49.280161 -121.048617,49.280168 -121.048615,49.280175 -121.048530,49.280308 -121.048526,49.280312 -121.048525,49.280316 -121.048438,49.280449 -121.048437,49.280450 -121.048437,49.280451 -121.048351,49.280581 -121.048270,49.280705 -121.048195,49.280826 -121.048122,49.280948 -121.048049,49.281075 -121.047976,49.281206 -121.047901,49.281340 -121.047901,49.281340 -121.047900,49.281341 -121.047825,49.281476 -121.047823,49.281478 -121.047822,49.281481 -121.047745,49.281616 -121.047741,49.281620 -121.047740,49.281624 -121.047661,49.281758 -121.047656,49.281764 -121.047654,49.281770 -121.047574,49.281901 -121.047496,49.282032 -121.047416,49.282166 -121.047408,49.282174 -121.047405,49.282183 -121.047321,49.282317 -121.047303,49.282334 -121.047298,49.282351 -121.047205,49.282482 -121.047196,49.282490 -121.047165,49.282534 -121.047061,49.282660 -121.047027,49.282689 -121.046991,49.282734 -121.046869,49.282852 -121.046782,49.282922 -121.046766,49.282939 -121.046622,49.283047 -121.046581,49.283066 -121.046551,49.283096 -121.046394,49.283197 -121.046380,49.283203 -121.046372,49.283211 -121.046225,49.283302 -121.046113,49.283374 -121.046009,49.283452 -121.045879,49.283553 -121.045868,49.283558 -121.045859,49.283569 -121.045714,49.283677 -121.045678,49.283694 -121.045651,49.283721 -121.045495,49.283823 -121.045459,49.283839 -121.045440,49.283857 -121.045276,49.283953 -121.045269,49.283956 -121.045247,49.283969 -121.045078,49.284063 -121.045077,49.284063 -121.045075,49.284065 -121.044916,49.284152 -121.044785,49.284227 -121.044685,49.284290 -121.044644,49.284320 -121.044631,49.284333 -121.044578,49.284404 -121.044491,49.284527 -121.044480,49.284538 -121.044441,49.284591 -121.044333,49.284717 -121.044292,49.284753 -121.044255,49.284797 -121.044128,49.284915 -121.044099,49.284937 -121.044090,49.284948 -121.043953,49.285062 -121.043916,49.285090 -121.043910,49.285096 -121.043766,49.285205 -121.043739,49.285219 -121.043717,49.285240 -121.043565,49.285344 -121.043531,49.285359 -121.043511,49.285379 -121.043350,49.285477 -121.043341,49.285480 -121.043297,49.285507 -121.043128,49.285600 -121.043111,49.285607 -121.043075,49.285628 -121.042899,49.285715 -121.042873,49.285725 -121.042845,49.285741 -121.042663,49.285822 -121.042630,49.285834 -121.042609,49.285845 -121.042423,49.285921 -121.042389,49.285932 -121.042376,49.285939 -121.042184,49.286010 -121.042146,49.286022 -121.042138,49.286026 -121.041941,49.286092 -121.041918,49.286096 -121.041893,49.286108 -121.041693,49.286169 -121.041667,49.286173 -121.041643,49.286183 -121.041441,49.286239 -121.041413,49.286243 -121.041393,49.286251 -121.041188,49.286302 -121.041166,49.286305 -121.041153,49.286310 -121.040945,49.286357 -121.040939,49.286358 -121.040917,49.286363 -121.040708,49.286408 -121.040702,49.286408 -121.040688,49.286412 -121.040477,49.286454 -121.040473,49.286454 -121.040465,49.286456 -121.040254,49.286497 -121.040252,49.286497 -121.040249,49.286498 -121.040040,49.286538 -121.039831,49.286578 -121.039622,49.286619 -121.039620,49.286619 -121.039616,49.286620 -121.039405,49.286660 -121.039403,49.286660 -121.039400,49.286661 -121.039189,49.286701 -121.039187,49.286701 -121.039185,49.286701 -121.038973,49.286741 -121.038973,49.286741 -121.038971,49.286741 -121.038759,49.286781 -121.038759,49.286781 -121.038758,49.286781 -121.038546,49.286820 -121.038546,49.286820 -121.038546,49.286820 -121.038334,49.286859 -121.038124,49.286898 -121.037913,49.286937 -121.037912,49.286937 -121.037910,49.286937 -121.037698,49.286976 -121.037691,49.286977 -121.037678,49.286980 -121.037465,49.287017 -121.037459,49.287017 -121.037451,49.287019 -121.037236,49.287055 -121.037234,49.287055 -121.037230,49.287056 -121.037016,49.287090 -121.036807,49.287125 -121.036607,49.287158 -121.036415,49.287192 -121.036234,49.287227 -121.036062,49.287263 -121.035904,49.287299 -121.035774,49.287334 -121.035666,49.287368 -121.035561,49.287408 -121.035458,49.287455 -121.035362,49.287505 -121.035290,49.287548 -121.035236,49.287588 -121.035167,49.287649 -121.035073,49.287745 -121.034960,49.287862 -121.034951,49.287870 -121.034944,49.287879 -121.034822,49.288001 -121.034789,49.288027 -121.034773,49.288046 -121.034641,49.288161 -121.034590,49.288200 -121.034582,49.288209 -121.034438,49.288318 -121.034415,49.288329 -121.034396,49.288348 -121.034245,49.288453 -121.034224,49.288462 -121.034211,49.288475 -121.034054,49.288577 -121.034038,49.288584 -121.034029,49.288592 -121.033869,49.288691 -121.033862,49.288694 -121.033858,49.288697 -121.033699,49.288793 -121.033539,49.288890 -121.033378,49.288988 -121.033375,49.288989 -121.033373,49.288990 -121.033211,49.289088 -121.033204,49.289091 -121.033201,49.289094 -121.033037,49.289190 -121.033034,49.289192 -121.033023,49.289199 -121.032857,49.289294 -121.032852,49.289296 -121.032837,49.289305 -121.032669,49.289398 -121.032661,49.289401 -121.032643,49.289412 -121.032472,49.289502 -121.032460,49.289506 -121.032440,49.289518 -121.032265,49.289604 -121.032249,49.289610 -121.032230,49.289621 -121.032051,49.289704 -121.032036,49.289709 -121.032023,49.289716 -121.031841,49.289796 -121.031827,49.289801 -121.031818,49.289806 -121.031633,49.289884 -121.031620,49.289888 -121.031613,49.289892 -121.031426,49.289968 -121.031415,49.289971 -121.031410,49.289974 -121.031222,49.290048 -121.031213,49.290051 -121.031210,49.290053 -121.031020,49.290125 -121.031014,49.290127 -121.031012,49.290128 -121.030821,49.290201 -121.030818,49.290202 -121.030817,49.290202 -121.030626,49.290274 -121.030625,49.290274 -121.030625,49.290274 -121.030436,49.290345 -121.030251,49.290414 -121.030071,49.290484 -121.029888,49.290555 -121.029880,49.290558 -121.029877,49.290559 -121.029687,49.290632 -121.029674,49.290637 -121.029669,49.290639 -121.029477,49.290711 -121.029467,49.290714 -121.029465,49.290715 -121.029271,49.290785 -121.029266,49.290787 -121.029265,49.290788 -121.029070,49.290857 -121.029070,49.290857 -121.029070,49.290857 -121.028878,49.290926 -121.028693,49.290993 -121.028515,49.291059 -121.028345,49.291124 -121.028184,49.291188 -121.028032,49.291252 -121.027889,49.291317 -121.027756,49.291382 -121.027626,49.291450 -121.027494,49.291525 -121.027399,49.291583 -121.027502,49.291584 -121.027524,49.291586 -121.027704,49.291595 -121.027913,49.291616 -121.028204,49.291668 -121.028207,49.291669 -121.028210,49.291670 -121.028405,49.291721 -121.028407,49.291722 -121.028568,49.291772 -121.028763,49.291844 -121.028817,49.291870 -121.028884,49.291893 -121.029074,49.291981 -121.029170,49.292034 -121.029190,49.292042 -121.029365,49.292143 -121.029382,49.292158 -121.029411,49.292170 -121.029486,49.292222 -121.029635,49.292333 -121.029674,49.292372 -121.029764,49.292445 -121.029879,49.292563 -121.029981,49.292688 -121.029985,49.292700 -121.029994,49.292709 -121.030072,49.292834 -121.030075,49.292846 -121.030132,49.292955 -121.030183,49.293091 -121.030194,49.293147 -121.030211,49.293186 -121.030241,49.293330 -121.030249,49.293393 -121.030252,49.293402 -121.030264,49.293551 -121.030258,49.293577 -121.030267,49.293605 -121.030266,49.293755 -121.030259,49.293776 -121.030264,49.293793 -121.030253,49.293942 -121.030252,49.293946 -121.030251,49.293966 -121.030235,49.294111 -121.030233,49.294116 -121.030232,49.294132 -121.030211,49.294274 -121.030209,49.294281 -121.030208,49.294296 -121.030181,49.294438 -121.030179,49.294446 -121.030177,49.294458 -121.030146,49.294600 -121.030143,49.294608 -121.030142,49.294618 -121.030106,49.294760 -121.030103,49.294768 -121.030102,49.294776 -121.030062,49.294918 -121.030059,49.294925 -121.030059,49.294931 -121.030016,49.295073 -121.030013,49.295079 -121.030012,49.295084 -121.029966,49.295226 -121.029964,49.295231 -121.029963,49.295235 -121.029915,49.295376 -121.029913,49.295381 -121.029912,49.295384 -121.029862,49.295525 -121.029861,49.295528 -121.029860,49.295530 -121.029809,49.295671 -121.029808,49.295673 -121.029808,49.295674 -121.029756,49.295814 -121.029754,49.295818 -121.029754,49.295820 -121.029700,49.295959 -121.029698,49.295965 -121.029697,49.295967 -121.029642,49.296106 -121.029640,49.296111 -121.029639,49.296113 -121.029583,49.296252 -121.029580,49.296256 -121.029580,49.296258 -121.029521,49.296397 -121.029519,49.296401 -121.029519,49.296403 -121.029459,49.296541 -121.029457,49.296545 -121.029457,49.296546 -121.029396,49.296684 -121.029394,49.296688 -121.029394,49.296689 -121.029332,49.296827 -121.029330,49.296830 -121.029330,49.296831 -121.029267,49.296969 -121.029266,49.296971 -121.029265,49.296972 -121.029201,49.297110 -121.029200,49.297112 -121.029200,49.297112 -121.029136,49.297250 -121.029135,49.297251 -121.029135,49.297252 -121.029070,49.297389 -121.029069,49.297390 -121.029069,49.297391 -121.029004,49.297528 -121.029004,49.297528 -121.029004,49.297529 -121.028938,49.297666 -121.028938,49.297666 -121.028938,49.297666 -121.028873,49.297804 -121.028872,49.297804 -121.028872,49.297805 -121.028806,49.297942 -121.028805,49.297943 -121.028805,49.297945 -121.028738,49.298082 -121.028737,49.298084 -121.028737,49.298086 -121.028669,49.298223 -121.028668,49.298224 -121.028668,49.298225 -121.028600,49.298362 -121.028599,49.298363 -121.028599,49.298364 -121.028530,49.298501 -121.028530,49.298502 -121.028529,49.298503 -121.028460,49.298640 -121.028460,49.298641 -121.028460,49.298642 -121.028390,49.298778 -121.028390,49.298779 -121.028389,49.298779 -121.028320,49.298916 -121.028319,49.298916 -121.028319,49.298917 -121.028249,49.299053 -121.028249,49.299053 -121.028249,49.299054 -121.028179,49.299190 -121.028179,49.299190 -121.028179,49.299191 -121.028108,49.299327 -121.028038,49.299463 -121.027969,49.299599 -121.027899,49.299734 -121.027834,49.299861 -121.027724,49.300094 -121.027688,49.300199 -121.027688,49.300199 -121.027685,49.300208 -121.027640,49.300348 -121.027637,49.300354 -121.027636,49.300358 -121.027588,49.300497 -121.027547,49.300621 -121.027519,49.300725 -121.027503,49.300806 -121.027499,49.300864 -121.027503,49.300908 -121.027517,49.300962 -121.027547,49.301036 -121.027594,49.301131 -121.027658,49.301245 -121.027734,49.301375 -121.027735,49.301378 -121.027737,49.301380 -121.027816,49.301517 -121.027821,49.301531 -121.027829,49.301540 -121.027902,49.301677 -121.027905,49.301687 -121.027923,49.301719 -121.027985,49.301858 -121.027990,49.301879 -121.028006,49.301911 -121.028055,49.302051 -121.028103,49.302187 -121.028154,49.302325 -121.028207,49.302468 -121.028207,49.302470 -121.028209,49.302472 -121.028261,49.302616 -121.028262,49.302622 -121.028265,49.302628 -121.028315,49.302772 -121.028317,49.302781 -121.028321,49.302790 -121.028366,49.302934 -121.028368,49.302949 -121.028373,49.302959 -121.028411,49.303103 -121.028415,49.303125 -121.028419,49.303136 -121.028449,49.303279 -121.028453,49.303312 -121.028456,49.303320 -121.028476,49.303462 -121.028471,49.303484 -121.028481,49.303512 -121.028488,49.303652 -121.028480,49.303683 -121.028488,49.303712 -121.028482,49.303850 -121.028479,49.303861 -121.028474,49.303920 -121.028452,49.304056 -121.028434,49.304102 -121.028425,49.304159 -121.028378,49.304293 -121.028339,49.304375 -121.028336,49.304390 -121.028265,49.304522 -121.028232,49.304557 -121.028219,49.304597 -121.028129,49.304727 -121.028121,49.304735 -121.028086,49.304783 -121.027980,49.304911 -121.027966,49.304924 -121.027945,49.304951 -121.027828,49.305077 -121.027814,49.305089 -121.027802,49.305104 -121.027677,49.305229 -121.027668,49.305236 -121.027662,49.305243 -121.027628,49.305276 -121.027481,49.305394 -121.027039,49.305593 -121.026514,49.305668 -121.025986,49.305605 -121.025807,49.305549 -121.025342,49.305374 -121.025274,49.305341 -121.025206,49.305316 -121.024834,49.305136 -121.024719,49.305072 -121.024712,49.305069 -121.024386,49.304869 -121.024168,49.304746 -121.023716,49.304555 -121.023506,49.304446 -121.023501,49.304441 -121.023493,49.304438 -121.023107,49.304187 -121.022629,49.303955 -121.022494,49.303880 -121.022494,49.303879 -121.022493,49.303879 -121.022385,49.303811 -121.022324,49.303852 -121.021911,49.304143 -121.021666,49.304383 -121.021510,49.304510 -121.021468,49.304529 -121.021444,49.304552 -121.021237,49.304674 -121.021202,49.304689 -121.021105,49.304743 -121.020728,49.304917 -121.020715,49.304921 -121.020704,49.304927 -121.020429,49.305048 -121.020208,49.305127 -121.019951,49.305181 -121.019666,49.305221 -121.019421,49.305240 -121.019410,49.305241 -121.019143,49.305246 -121.018679,49.305254 -121.018141,49.305293 -121.018113,49.305294 -121.018106,49.305295 -121.017645,49.305322 -121.017134,49.305425 -121.017118,49.305427 -121.017082,49.305435 -121.016755,49.305493 -121.016747,49.305493 -121.016736,49.305496 -121.016450,49.305543 -121.016206,49.305627 -121.015919,49.305741 -121.015550,49.305927 -121.015466,49.305960 -121.015402,49.305992 -121.014815,49.306216 -121.014669,49.306265 -121.014650,49.306267 -121.014636,49.306274 -121.014155,49.306400 -121.014130,49.306404 -121.013938,49.306444 -121.013216,49.306549 -121.013214,49.306549 -121.013211,49.306549 -121.012534,49.306646 -121.012303,49.306663 -121.012285,49.306666 -121.011810,49.306676 -121.011799,49.306675 -121.011789,49.306676 -121.011550,49.306665 -121.011301,49.306639 -121.011036,49.306727 -121.010968,49.306738 -121.010907,49.306764 -121.010507,49.306865 -121.010320,49.306935 -121.010079,49.307058 -121.009731,49.307280 -121.009276,49.307658 -121.009067,49.307860 -121.009025,49.307921 -121.009002,49.308027 -121.008919,49.308231 -121.008694,49.308478 -121.008538,49.308599 -121.008323,49.308799 -121.008306,49.308812 -121.008300,49.308819 -121.008059,49.309029 -121.007864,49.309242 -121.007847,49.309283 -121.007832,49.309403 -121.007871,49.309549 -121.008153,49.309939 -121.008483,49.310366 -121.008492,49.310390 -121.008518,49.310414 -121.008617,49.310645 -121.008673,49.310898 -121.008686,49.311010 -121.008590,49.311356 -121.008395,49.311579 -121.008142,49.311791 -121.008046,49.311862 -121.007604,49.312062 -121.007599,49.312063 -121.007595,49.312065 -121.007168,49.312183 -121.006652,49.312255 -121.006516,49.312252 -121.006028,49.312226 -121.005635,49.312166 -121.005517,49.312118 -121.005315,49.312283 -121.005231,49.312345 -121.005151,49.312394 -121.004604,49.312709 -121.004466,49.312766 -121.004339,49.312829 -121.003372,49.313163 -121.003319,49.313172 -121.003265,49.313196 -121.002361,49.313446 -121.001888,49.313604 -121.001160,49.313921 -121.001095,49.313944 -121.001067,49.313958 -121.000667,49.314104 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-120.798576,49.069895 -120.799786,49.070418 -120.799887,49.069959 -120.799887,49.069959 -120.799887,49.069959 -120.799913,49.069843 -120.798576,49.069895 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-121.033296,49.220529 -121.033762,49.220898 -121.038703,49.221628 -121.039095,49.221503 -121.038498,49.221359 -121.033296,49.220529 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-121.043412,49.222485 -121.043990,49.222771 -121.047080,49.223063 -121.043412,49.222485 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-121.048442,49.223192 -121.048913,49.223236 -121.048957,49.223217 -121.048442,49.223192 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-121.130858,49.104559 -121.130858,49.104559 -121.134999,49.104558 -121.134998,49.102738 -121.130857,49.102740 -121.130355,49.102677 -121.129905,49.102488 -121.129600,49.102199 -121.129486,49.101856 -121.129489,49.101848 -121.129486,49.101840 -121.129486,49.100931 -121.128100,49.100931 -121.127599,49.100869 -121.127149,49.100679 -121.126844,49.100391 -121.126730,49.100048 -121.126732,49.100040 -121.126730,49.100032 -121.126730,49.100000 -121.126730,49.100000 -121.126730,49.099867 -121.126730,49.099867 -121.126729,49.099122 -121.125344,49.099122 -121.124842,49.099060 -121.124393,49.098870 -121.124088,49.098582 -121.123974,49.098239 -121.123976,49.098231 -121.123974,49.098223 -121.123973,49.097313 -121.119546,49.097314 -121.119521,49.099844 -121.119521,49.100000 -121.119521,49.100000 -121.119521,49.100000 -121.119523,49.104561 -121.130858,49.104559 -121.130858,49.104559 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-121.144975,49.070195 -121.140952,49.068544 -121.134342,49.072521 -121.136896,49.075798 -121.144975,49.070195 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-121.122529,49.161214 -121.122529,49.161214 -121.120526,49.162084 -121.120526,49.162084 -121.118779,49.162665 -121.118779,49.162665 -121.117091,49.163002 -121.117091,49.163002 -121.115624,49.163281 -121.115624,49.163281 -121.115067,49.163517 -121.115067,49.163517 -121.114611,49.164031 -121.114611,49.164031 -121.114121,49.164505 -121.114121,49.164505 -121.113332,49.165221 -121.113332,49.165221 -121.112533,49.166142 -121.112533,49.166142 -121.112429,49.166601 -121.112429,49.166601 -121.111711,49.167301 -121.111711,49.167301 -121.110841,49.167963 -121.110841,49.167963 -121.109958,49.168511 -121.109958,49.168511 -121.108515,49.168964 -121.108515,49.168964 -121.107003,49.169468 -121.107003,49.169468 -121.105975,49.169878 -121.105975,49.169878 -121.104841,49.170350 -121.104841,49.170350 -121.103971,49.170650 -121.103971,49.170650 -121.103059,49.171002 -121.103059,49.171002 -121.106356,49.174751 -121.108027,49.173810 -121.108027,49.173810 -121.108908,49.173248 -121.108908,49.173248 -121.110269,49.172464 -121.110269,49.172464 -121.111928,49.171633 -121.111928,49.171633 -121.113613,49.170650 -121.113613,49.170650 -121.114554,49.169858 -121.114554,49.169858 -121.115306,49.169237 -121.115306,49.169237 -121.116637,49.168400 -121.116637,49.168400 -121.118222,49.167558 -121.118222,49.167558 -121.119847,49.166848 -121.119847,49.166848 -121.121513,49.166169 -121.121513,49.166169 -121.123098,49.165601 -121.123098,49.165601 -121.124875,49.164908 -121.124875,49.164908 -121.126550,49.164374 -121.126550,49.164374 -121.128756,49.163550 -121.128756,49.163550 -121.131332,49.162149 -121.131332,49.162149 -121.127292,49.158371 -121.125785,49.158808 -121.125785,49.158808 -121.124441,49.159604 -121.124441,49.159604 -121.123755,49.160278 -121.123755,49.160278 -121.122529,49.161214 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-121.123664,49.072984 -121.123664,49.072984 -121.123542,49.076011 -121.123542,49.076011 -121.133295,49.077625 -121.131952,49.075620 -121.131952,49.075620 -121.125371,49.072438 -121.123664,49.072984 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-132.011438,52.961170 -131.512436,53.189117</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-131.652440,53.034488 -131.650532,53.034346 -131.642150,53.034527 -131.618339,53.028340 -131.618147,53.037718 -131.630510,53.038050 -131.637561,53.044594 -131.638519,53.056627 -131.648652,53.069206 -131.649736,53.074986 -131.655651,53.078877 -131.655107,53.086329 -131.644175,53.093708 -131.647676,53.098544 -131.654742,53.105088 -131.661568,53.103452 -131.674374,53.102579 -131.685914,53.105304 -131.699814,53.110208 -131.710093,53.116529 -131.711610,53.121110 -131.709867,53.129037 -131.712115,53.137471 -131.715995,53.144232 -131.727550,53.146952 -131.741578,53.145597 -131.750036,53.142281 -131.759597,53.144745 -131.766691,53.151283 -131.766219,53.155611 -131.758915,53.161581 -131.747613,53.167045 -131.730628,53.176803 -131.711270,53.184378 -131.688754,53.189041 -131.664718,53.189117 -131.643166,53.185115 -131.624040,53.180165 -131.603054,53.168701 -131.584927,53.155090 -131.586205,53.151492 -131.581429,53.150252 -131.566098,53.137622 -131.557900,53.128416 -131.553693,53.119722 -131.551550,53.108158 -131.553394,53.097108 -131.557654,53.085115 -131.551322,53.082419 -131.542643,53.077538 -131.535175,53.072185 -131.523515,53.058139 -131.514990,53.047004 -131.512436,53.036641 -131.513674,53.025910 -131.513933,53.023667 -131.526220,53.009580 -131.550985,52.989583 -131.607760,52.961170 -131.613259,52.964431 -131.617203,52.966771 -131.663675,52.994038 -131.670843,52.994328 -131.690665,52.999994 -131.734415,53.005570 -131.759068,53.009330 -131.765403,53.012014 -131.780382,53.022684 -131.791905,53.025396 -131.814956,53.030817 -131.840421,53.035284 -131.860794,53.033467 -131.884401,53.028294 -131.896885,53.019216 -131.905303,53.015890 -131.911355,53.010387 -131.919769,53.007059 -131.922290,52.996731 -131.929537,52.990752 -131.936294,52.992225 -131.947818,52.994920 -131.958072,53.004341 -131.967470,53.019289 -131.962592,53.027445 -131.964512,53.033946 -131.974472,53.035189 -131.992022,53.035499 -132.004355,53.038913 -132.011438,53.048559 -132.008591,53.053839 -131.996566,53.058604 -131.990272,53.058841 -131.985809,53.056638 -131.959146,53.049556 -131.934409,53.048968 -131.916813,53.051775 -131.913189,53.053102 -131.913203,53.053202 -131.905981,53.056054 -131.887135,53.062458 -131.874346,53.063357 -131.864799,53.060904 -131.858777,53.063278 -131.846404,53.062973 -131.841169,53.066072 -131.832735,53.069394 -131.819156,53.069561 -131.815218,53.065932 -131.806364,53.070452 -131.796818,53.067993 -131.780193,53.058997 -131.766618,53.059157 -131.758755,53.051895 -131.747120,53.055431 -131.738422,53.050566 -131.729672,53.048828 -131.711753,53.046548 -131.690639,53.044484 -131.680628,53.046340 -131.669469,53.045542 -131.658250,53.047869 -131.648358,53.043469 -131.648842,53.039144 -131.652440,53.034488 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-125.614978,48.586433 -124.869726,48.929635</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-125.555000,48.908976 -125.557018,48.900079 -125.565734,48.872470 -125.556555,48.846543 -125.539320,48.820409 -125.508043,48.786440 -125.467620,48.760837 -125.436022,48.747848 -125.401814,48.737239 -125.378948,48.733905 -125.331141,48.734630 -125.286997,48.740032 -125.264274,48.744061 -125.239471,48.756970 -125.220800,48.763323 -125.200602,48.759039 -125.193216,48.745197 -125.202769,48.728572 -125.223101,48.715707 -125.277312,48.700203 -125.309310,48.692250 -125.356062,48.685929 -125.412442,48.691907 -125.463658,48.705592 -125.501578,48.722347 -125.516651,48.735787 -125.552795,48.768805 -125.567052,48.784024 -125.589730,48.812749 -125.606843,48.850114 -125.612765,48.870456 -125.614978,48.886108 -125.610543,48.904798 -125.602851,48.919383 -125.586060,48.929635 -125.571238,48.929506 -125.562648,48.927235 -125.556617,48.919609 -125.552907,48.914916 -125.555000,48.908976 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-124.874244,48.626629 -124.873920,48.626196 -124.873607,48.625760 -124.873306,48.625320 -124.873017,48.624877 -124.872739,48.624431 -124.872473,48.623981 -124.872219,48.623529 -124.871977,48.623073 -124.871747,48.622615 -124.871529,48.622154 -124.871324,48.621691 -124.871130,48.621225 -124.870949,48.620758 -124.870780,48.620288 -124.870624,48.619816 -124.870479,48.619343 -124.870348,48.618868 -124.870229,48.618392 -124.870122,48.617914 -124.870029,48.617435 -124.869947,48.616955 -124.869879,48.616474 -124.869823,48.615993 -124.869779,48.615511 -124.869749,48.615028 -124.869731,48.614546 -124.869726,48.614063 -124.869733,48.613580 -124.869754,48.613097 -124.869787,48.612615 -124.869832,48.612133 -124.869890,48.611652 -124.869961,48.611171 -124.870045,48.610691 -124.870141,48.610213 -124.870250,48.609735 -124.870371,48.609259 -124.870505,48.608785 -124.870652,48.608312 -124.870810,48.607840 -124.870982,48.607371 -124.871165,48.606904 -124.871361,48.606439 -124.871569,48.605976 -124.871789,48.605516 -124.872021,48.605058 -124.872265,48.604603 -124.872521,48.604151 -124.872789,48.603702 -124.873069,48.603256 -124.873360,48.602814 -124.873663,48.602375 -124.873977,48.601939 -124.874303,48.601507 -124.874640,48.601079 -124.874989,48.600655 -124.875348,48.600236 -124.875719,48.599820 -124.876100,48.599409 -124.876492,48.599002 -124.876895,48.598599 -124.877308,48.598202 -124.877732,48.597809 -124.878166,48.597422 -124.878610,48.597039 -124.879064,48.596662 -124.879527,48.596289 -124.880001,48.595923 -124.880484,48.595562 -124.880977,48.595206 -124.881479,48.594856 -124.881989,48.594512 -124.882509,48.594174 -124.883038,48.593843 -124.883575,48.593517 -124.884121,48.593197 -124.884675,48.592884 -124.885238,48.592578 -124.885808,48.592278 -124.886386,48.591984 -124.886972,48.591698 -124.887565,48.591418 -124.888165,48.591145 -124.888773,48.590879 -124.889387,48.590620 -124.890008,48.590368 -124.890636,48.590124 -124.891270,48.589887 -124.891910,48.589657 -124.892556,48.589434 -124.893208,48.589219 -124.893865,48.589012 -124.894528,48.588812 -124.895195,48.588620 -124.895868,48.588436 -124.896546,48.588260 -124.897228,48.588091 -124.897914,48.587931 -124.898604,48.587778 -124.899299,48.587633 -124.899997,48.587497 -124.900698,48.587368 -124.901403,48.587248 -124.902111,48.587136 -124.902822,48.587032 -124.903535,48.586936 -124.904251,48.586849 -124.904969,48.586769 -124.905689,48.586698 -124.906410,48.586636 -124.907133,48.586582 -124.907858,48.586536 -124.908583,48.586499 -124.909310,48.586470 -124.910037,48.586449 -124.910765,48.586437 -124.911492,48.586433 -124.912220,48.586438 -124.912948,48.586451 -124.913675,48.586472 -124.914401,48.586502 -124.915126,48.586541 -124.915851,48.586587 -124.916574,48.586643 -124.917295,48.586706 -124.918015,48.586778 -124.918733,48.586858 -124.919448,48.586946 -124.920161,48.587043 -124.920871,48.587148 -124.921579,48.587261 -124.922283,48.587382 -124.922985,48.587512 -124.923682,48.587649 -124.924376,48.587795 -124.925066,48.587948 -124.925752,48.588110 -124.926434,48.588279 -124.927111,48.588456 -124.927783,48.588642 -124.928450,48.588834 -124.929112,48.589035 -124.929769,48.589243 -124.930420,48.589459 -124.931065,48.589682 -124.931705,48.589913 -124.932338,48.590151 -124.932965,48.590396 -124.933585,48.590649 -124.934199,48.590908 -124.934805,48.591175 -124.935405,48.591449 -124.935997,48.591729 -124.936582,48.592017 -124.937159,48.592311 -124.937729,48.592612 -124.938290,48.592919 -124.938843,48.593233 -124.939388,48.593553 -124.939925,48.593879 -124.940452,48.594212 -124.940971,48.594551 -124.941481,48.594895 -124.941982,48.595246 -124.942473,48.595602 -124.942956,48.595964 -124.943428,48.596331 -124.943891,48.596704 -124.944344,48.597082 -124.944787,48.597465 -124.945219,48.597853 -124.945642,48.598246 -124.946054,48.598644 -124.946455,48.599047 -124.946846,48.599454 -124.947226,48.599866 -124.947596,48.600282 -124.947954,48.600703 -124.948301,48.601127 -124.948637,48.601556 -124.948961,48.601988 -124.949275,48.602424 -124.949576,48.602863 -124.949866,48.603306 -124.950145,48.603752 -124.950411,48.604202 -124.950666,48.604654 -124.950909,48.605109 -124.951140,48.605567 -124.951358,48.606028 -124.951565,48.606491 -124.951759,48.606956 -124.951941,48.607424 -124.952111,48.607893 -124.952268,48.608365 -124.952413,48.608838 -124.952546,48.609313 -124.952666,48.609789 -124.952773,48.610266 -124.952868,48.610745 -124.952950,48.611225 -124.953020,48.611706 -124.953077,48.612187 -124.953121,48.612669 -124.953152,48.613151 -124.953171,48.613634 -124.953177,48.614117 -124.953171,48.614600 -124.953151,48.615083 -124.953119,48.615565 -124.953075,48.616047 -124.953017,48.616528 -124.952947,48.617009 -124.952865,48.617489 -124.952769,48.617968 -124.952661,48.618445 -124.952541,48.618921 -124.952408,48.619396 -124.952263,48.619869 -124.952105,48.620341 -124.951934,48.620810 -124.951752,48.621278 -124.951557,48.621743 -124.951350,48.622206 -124.951130,48.622666 -124.950899,48.623124 -124.950656,48.623579 -124.950400,48.624032 -124.950133,48.624481 -124.949854,48.624927 -124.949563,48.625370 -124.949261,48.625809 -124.948947,48.626245 -124.948622,48.626677 -124.948285,48.627105 -124.947937,48.627529 -124.947578,48.627950 -124.947208,48.628366 -124.946828,48.628777 -124.946436,48.629184 -124.946034,48.629587 -124.945621,48.629985 -124.945197,48.630378 -124.944764,48.630766 -124.944320,48.631149 -124.943866,48.631527 -124.943403,48.631899 -124.942929,48.632266 -124.942446,48.632628 -124.941954,48.632984 -124.941452,48.633334 -124.940941,48.633678 -124.940421,48.634016 -124.939892,48.634349 -124.939355,48.634675 -124.938809,48.634994 -124.938254,48.635308 -124.937692,48.635615 -124.937122,48.635915 -124.936543,48.636209 -124.935957,48.636496 -124.935364,48.636776 -124.934763,48.637050 -124.934155,48.637316 -124.933540,48.637575 -124.932919,48.637827 -124.932291,48.638072 -124.931656,48.638309 -124.931016,48.638540 -124.930369,48.638762 -124.929717,48.638978 -124.929059,48.639185 -124.928396,48.639385 -124.927727,48.639577 -124.927054,48.639762 -124.926376,48.639938 -124.925693,48.640107 -124.925006,48.640268 -124.924315,48.640421 -124.923620,48.640566 -124.922921,48.640703 -124.922218,48.640831 -124.921513,48.640952 -124.920804,48.641064 -124.920092,48.641168 -124.919378,48.641264 -124.918662,48.641352 -124.917943,48.641431 -124.917222,48.641502 -124.916499,48.641565 -124.915775,48.641619 -124.915050,48.641665 -124.914323,48.641702 -124.913596,48.641731 -124.912868,48.641752 -124.912139,48.641764 -124.911411,48.641768 -124.910682,48.641763 -124.909953,48.641750 -124.909225,48.641728 -124.908498,48.641698 -124.907772,48.641660 -124.907046,48.641613 -124.906323,48.641558 -124.905600,48.641495 -124.904880,48.641423 -124.904161,48.641342 -124.903445,48.641254 -124.902731,48.641157 -124.902019,48.641052 -124.901311,48.640939 -124.900606,48.640817 -124.899904,48.640688 -124.899205,48.640550 -124.898511,48.640404 -124.897820,48.640250 -124.897133,48.640089 -124.896451,48.639919 -124.895773,48.639742 -124.895100,48.639556 -124.894433,48.639363 -124.893770,48.639162 -124.893113,48.638954 -124.892461,48.638738 -124.891815,48.638514 -124.891175,48.638283 -124.890541,48.638045 -124.889914,48.637799 -124.889293,48.637546 -124.888679,48.637286 -124.888072,48.637019 -124.887472,48.636745 -124.886880,48.636464 -124.886295,48.636176 -124.885717,48.635882 -124.885147,48.635581 -124.884586,48.635273 -124.884033,48.634959 -124.883488,48.634638 -124.882951,48.634312 -124.882423,48.633979 -124.881904,48.633640 -124.881394,48.633295 -124.880894,48.632944 -124.880402,48.632588 -124.879920,48.632225 -124.879448,48.631858 -124.878985,48.631485 -124.878533,48.631106 -124.878090,48.630723 -124.877658,48.630334 -124.877235,48.629941 -124.876824,48.629542 -124.876423,48.629139 -124.876032,48.628731 -124.875652,48.628319 -124.875284,48.627903 -124.874926,48.627482 -124.874579,48.627057 -124.874244,48.626629 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-127.094402,49.471660 -126.481080,49.877008</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-126.849811,49.849908 -126.839872,49.843940 -126.821708,49.828237 -126.804579,49.807958 -126.794648,49.790404 -126.806156,49.790547 -126.813338,49.793273 -126.825749,49.786774 -126.820037,49.776155 -126.828118,49.772241 -126.849189,49.772150 -126.861679,49.756132 -126.885808,49.753892 -126.897066,49.749894 -126.910743,49.754521 -126.924575,49.740116 -126.928645,49.733397 -126.937075,49.735669 -126.948692,49.737860 -126.948499,49.745310 -126.965557,49.742400 -126.958003,49.733491 -126.941460,49.723566 -126.925291,49.719833 -126.926053,49.711129 -126.915772,49.698977 -126.905618,49.688890 -126.893536,49.678436 -126.879441,49.677126 -126.867964,49.676992 -126.863058,49.669255 -126.860324,49.666013 -126.856578,49.667344 -126.847483,49.664256 -126.837141,49.661610 -126.832243,49.653871 -126.824051,49.644144 -126.821771,49.637584 -126.829825,49.633671 -126.824815,49.623868 -126.815166,49.622031 -126.772494,49.609807 -126.760468,49.610914 -126.746626,49.613714 -126.733238,49.613195 -126.719060,49.609799 -126.698768,49.599098 -126.678379,49.586330 -126.665788,49.588677 -126.646705,49.600673 -126.633179,49.609650 -126.628716,49.621735 -126.629250,49.632057 -126.631035,49.641939 -126.634393,49.657575 -126.636073,49.665393 -126.626278,49.673048 -126.634859,49.691053 -126.612937,49.686155 -126.586692,49.683826 -126.571145,49.678782 -126.547205,49.671433 -126.510145,49.656081 -126.486407,49.639206 -126.481080,49.621128 -126.505395,49.597899 -126.529517,49.584174 -126.559500,49.573625 -126.557632,49.561680 -126.542257,49.533491 -126.562071,49.510761 -126.568554,49.509309 -126.592887,49.495951 -126.615406,49.486684 -126.634089,49.480078 -126.661529,49.474307 -126.687541,49.471660 -126.737855,49.475885 -126.771557,49.489151 -126.862363,49.524178 -126.875962,49.528806 -126.907382,49.544979 -127.003984,49.619018 -127.027056,49.642403 -127.039367,49.666480 -127.040770,49.689188 -127.037268,49.698400 -127.058782,49.712291 -127.071174,49.726856 -127.081508,49.738992 -127.085773,49.745911 -127.090860,49.755704 -127.094402,49.771330 -127.093899,49.793684 -127.085630,49.814589 -127.067946,49.828295 -127.055257,49.840212 -127.038676,49.851401 -127.019326,49.859349 -126.975904,49.871629 -126.942932,49.877008 -126.908210,49.874557 -126.892431,49.867495 -126.874148,49.861320 -126.849811,49.849908 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-129.440283,51.261266 -128.348948,52.131938</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-128.585518,51.297557 -128.604715,51.290535 -128.654154,51.296634 -128.742953,51.297942 -128.787822,51.279809 -128.885814,51.274354 -128.934493,51.282224 -128.935531,51.283360 -128.960054,51.279225 -129.095744,51.272519 -129.191034,51.261266 -129.285469,51.268083 -129.363167,51.292495 -129.388329,51.310657 -129.420774,51.339088 -129.440283,51.367521 -129.431561,51.409837 -129.417083,51.454313 -129.430528,51.489934 -129.435170,51.519105 -129.424471,51.545896 -129.391494,51.571260 -129.366159,51.585612 -129.348495,51.588958 -129.309706,51.592051 -129.260198,51.581244 -129.203772,51.576733 -129.204545,51.577579 -129.163012,51.591375 -128.992492,51.592794 -128.992731,51.647816 -128.991315,51.794261 -128.967666,51.879152 -128.911683,51.902857 -128.835715,51.938645 -128.757447,51.963829 -128.691984,52.005329 -128.652316,52.052007 -128.595738,52.103104 -128.560459,52.115770 -128.515346,52.131938 -128.466330,52.130082 -128.411826,52.114014 -128.362851,52.081440 -128.348948,52.033149 -128.355175,51.972849 -128.376089,51.897617 -128.398375,51.857366 -128.556862,51.319319 -128.575917,51.301067 -128.585518,51.297557 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-130.687410,54.245886 -130.538400,54.333061</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-130.549737,54.312603 -130.549057,54.311954 -130.548396,54.311299 -130.547755,54.310637 -130.547133,54.309968 -130.546532,54.309294 -130.545951,54.308613 -130.545391,54.307926 -130.544851,54.307234 -130.544332,54.306537 -130.543834,54.305834 -130.543356,54.305126 -130.542901,54.304414 -130.542466,54.303697 -130.542053,54.302975 -130.541661,54.302250 -130.541292,54.301520 -130.540944,54.300787 -130.540618,54.300051 -130.540314,54.299311 -130.540032,54.298568 -130.539772,54.297823 -130.539535,54.297075 -130.539320,54.296325 -130.539127,54.295572 -130.538957,54.294818 -130.538810,54.294062 -130.538685,54.293305 -130.538583,54.292547 -130.538503,54.291787 -130.538446,54.291027 -130.538412,54.290267 -130.538400,54.289506 -130.538411,54.288745 -130.538445,54.287985 -130.538501,54.287225 -130.538580,54.286466 -130.538682,54.285707 -130.538806,54.284950 -130.538953,54.284194 -130.539123,54.283440 -130.539314,54.282687 -130.539529,54.281937 -130.539765,54.281189 -130.540024,54.280444 -130.540305,54.279701 -130.540608,54.278961 -130.540934,54.278225 -130.541281,54.277492 -130.541649,54.276762 -130.542040,54.276037 -130.542452,54.275315 -130.542886,54.274598 -130.543341,54.273885 -130.543817,54.273177 -130.544314,54.272475 -130.544831,54.271777 -130.545370,54.271084 -130.545929,54.270398 -130.546509,54.269717 -130.547108,54.269042 -130.547728,54.268373 -130.548368,54.267711 -130.549027,54.267056 -130.549705,54.266407 -130.550403,54.265765 -130.551120,54.265131 -130.551856,54.264503 -130.552610,54.263884 -130.553382,54.263272 -130.554173,54.262669 -130.554981,54.262073 -130.555807,54.261486 -130.556650,54.260907 -130.557511,54.260337 -130.558388,54.259776 -130.559282,54.259224 -130.560192,54.258681 -130.561118,54.258148 -130.562060,54.257624 -130.563018,54.257109 -130.563990,54.256605 -130.564978,54.256111 -130.565980,54.255626 -130.566996,54.255153 -130.568026,54.254689 -130.569070,54.254236 -130.570127,54.253794 -130.571197,54.253363 -130.572280,54.252942 -130.573375,54.252533 -130.574482,54.252135 -130.575600,54.251749 -130.576731,54.251374 -130.577872,54.251010 -130.579023,54.250658 -130.580185,54.250318 -130.581357,54.249990 -130.582539,54.249674 -130.583730,54.249370 -130.584929,54.249078 -130.586137,54.248799 -130.587353,54.248532 -130.588577,54.248277 -130.589809,54.248035 -130.591047,54.247806 -130.592292,54.247589 -130.593543,54.247385 -130.594801,54.247193 -130.596063,54.247015 -130.597331,54.246850 -130.598603,54.246697 -130.599880,54.246558 -130.601161,54.246431 -130.602445,54.246318 -130.603733,54.246218 -130.605023,54.246130 -130.606316,54.246057 -130.607611,54.245996 -130.608907,54.245948 -130.610204,54.245914 -130.611503,54.245893 -130.612801,54.245886 -130.614100,54.245891 -130.615399,54.245910 -130.616696,54.245942 -130.617993,54.245987 -130.619288,54.246046 -130.620581,54.246118 -130.621872,54.246203 -130.623159,54.246301 -130.624444,54.246412 -130.625726,54.246537 -130.627003,54.246674 -130.628276,54.246824 -130.629545,54.246988 -130.630808,54.247164 -130.632066,54.247353 -130.633319,54.247555 -130.634565,54.247770 -130.635804,54.247998 -130.637037,54.248238 -130.638262,54.248490 -130.639479,54.248755 -130.640689,54.249033 -130.641890,54.249323 -130.643082,54.249625 -130.644265,54.249939 -130.645438,54.250265 -130.646602,54.250603 -130.647755,54.250953 -130.648898,54.251315 -130.650030,54.251688 -130.651151,54.252073 -130.652260,54.252469 -130.653357,54.252876 -130.654441,54.253295 -130.655513,54.253724 -130.656573,54.254165 -130.657619,54.254616 -130.658651,54.255078 -130.659669,54.255550 -130.660674,54.256033 -130.661663,54.256526 -130.662638,54.257028 -130.663598,54.257541 -130.664542,54.258063 -130.665471,54.258595 -130.666384,54.259137 -130.667280,54.259687 -130.668160,54.260247 -130.669023,54.260816 -130.669870,54.261393 -130.670698,54.261979 -130.671510,54.262573 -130.672303,54.263175 -130.673078,54.263786 -130.673835,54.264404 -130.674574,54.265030 -130.675294,54.265663 -130.675995,54.266304 -130.676676,54.266952 -130.677339,54.267606 -130.677981,54.268267 -130.678604,54.268935 -130.679207,54.269609 -130.679790,54.270289 -130.680352,54.270975 -130.680894,54.271666 -130.681415,54.272363 -130.681916,54.273065 -130.682395,54.273772 -130.682853,54.274484 -130.683290,54.275200 -130.683706,54.275921 -130.684100,54.276646 -130.684472,54.277375 -130.684823,54.278107 -130.685151,54.278843 -130.685458,54.279583 -130.685742,54.280325 -130.686005,54.281070 -130.686245,54.281818 -130.686463,54.282568 -130.686658,54.283320 -130.686831,54.284074 -130.686982,54.284829 -130.687110,54.285586 -130.687215,54.286345 -130.687298,54.287104 -130.687358,54.287864 -130.687395,54.288624 -130.687410,54.289385 -130.687402,54.290146 -130.687371,54.290906 -130.687318,54.291666 -130.687242,54.292426 -130.687143,54.293184 -130.687022,54.293942 -130.686878,54.294698 -130.686711,54.295452 -130.686522,54.296205 -130.686311,54.296956 -130.686077,54.297704 -130.685821,54.298450 -130.685543,54.299193 -130.685242,54.299933 -130.684920,54.300670 -130.684575,54.301404 -130.684209,54.302134 -130.683821,54.302860 -130.683411,54.303582 -130.682980,54.304300 -130.682528,54.305013 -130.682054,54.305721 -130.681559,54.306425 -130.681043,54.307123 -130.680507,54.307816 -130.679949,54.308504 -130.679372,54.309186 -130.678774,54.309861 -130.678156,54.310531 -130.677518,54.311194 -130.676860,54.311850 -130.676183,54.312500 -130.675486,54.313142 -130.674771,54.313778 -130.674036,54.314406 -130.673283,54.315026 -130.672512,54.315639 -130.671722,54.316243 -130.670914,54.316840 -130.670089,54.317428 -130.669246,54.318008 -130.668386,54.318579 -130.667509,54.319141 -130.666615,54.319694 -130.665705,54.320238 -130.664779,54.320772 -130.663837,54.321297 -130.662879,54.321812 -130.661906,54.322318 -130.660918,54.322813 -130.659916,54.323298 -130.658899,54.323773 -130.657868,54.324237 -130.656823,54.324691 -130.655765,54.325134 -130.654694,54.325567 -130.653610,54.325988 -130.652514,54.326398 -130.651405,54.326797 -130.650285,54.327184 -130.649154,54.327560 -130.648011,54.327924 -130.646857,54.328277 -130.645694,54.328618 -130.644520,54.328947 -130.643336,54.329263 -130.642143,54.329568 -130.640942,54.329861 -130.639731,54.330141 -130.638513,54.330408 -130.637287,54.330664 -130.636053,54.330906 -130.634812,54.331136 -130.633564,54.331354 -130.632310,54.331558 -130.631051,54.331750 -130.629785,54.331929 -130.628515,54.332095 -130.627240,54.332248 -130.625960,54.332388 -130.624676,54.332514 -130.623389,54.332628 -130.622098,54.332728 -130.620805,54.332816 -130.619510,54.332890 -130.618212,54.332951 -130.616913,54.332998 -130.615612,54.333032 -130.614311,54.333053 -130.613009,54.333061 -130.611707,54.333056 -130.610406,54.333037 -130.609105,54.333004 -130.607805,54.332959 -130.606507,54.332900 -130.605211,54.332828 -130.603918,54.332743 -130.602627,54.332645 -130.601339,54.332533 -130.600055,54.332409 -130.598774,54.332271 -130.597498,54.332120 -130.596227,54.331956 -130.594961,54.331779 -130.593700,54.331590 -130.592445,54.331387 -130.591197,54.331172 -130.589955,54.330944 -130.588720,54.330703 -130.587492,54.330450 -130.586272,54.330184 -130.585061,54.329906 -130.583858,54.329616 -130.582663,54.329313 -130.581478,54.328998 -130.580303,54.328671 -130.579138,54.328332 -130.577982,54.327981 -130.576838,54.327619 -130.575705,54.327245 -130.574582,54.326859 -130.573472,54.326462 -130.572374,54.326054 -130.571288,54.325634 -130.570215,54.325204 -130.569154,54.324763 -130.568108,54.324311 -130.567075,54.323848 -130.566055,54.323375 -130.565051,54.322891 -130.564060,54.322397 -130.563085,54.321894 -130.562125,54.321380 -130.561180,54.320856 -130.560252,54.320324 -130.559339,54.319781 -130.558443,54.319230 -130.557563,54.318669 -130.556700,54.318099 -130.555854,54.317521 -130.555026,54.316934 -130.554216,54.316339 -130.553423,54.315736 -130.552649,54.315124 -130.551892,54.314505 -130.551155,54.313878 -130.550436,54.313244 -130.549737,54.312603 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-130.788073,54.533484 -130.649306,54.635014</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-130.778401,54.616324 -130.768194,54.623963 -130.751334,54.630126 -130.732194,54.634190 -130.711222,54.635014 -130.691592,54.632418 -130.674207,54.624126 -130.659828,54.610839 -130.653610,54.600429 -130.653443,54.595615 -130.649306,54.574700 -130.653621,54.558503 -130.662631,54.551316 -130.676895,54.541233 -130.708769,54.533484 -130.728036,54.534238 -130.759990,54.542053 -130.777539,54.555143 -130.788073,54.575687 -130.786772,54.605451 -130.778401,54.616324 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-131.709124,52.781542 -131.371331,53.025910</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-131.513674,53.025910 -131.480136,52.997412 -131.414672,52.940710 -131.389038,52.910591 -131.373321,52.877601 -131.371331,52.839274 -131.377104,52.820406 -131.420994,52.796431 -131.446391,52.788458 -131.489046,52.781542 -131.522114,52.782280 -131.574012,52.799116 -131.605592,52.818053 -131.630092,52.834879 -131.651712,52.845979 -131.678638,52.855972 -131.709124,52.878294 -131.702635,52.882811 -131.686742,52.886125 -131.677572,52.892675 -131.664124,52.905807 -131.648161,52.912079 -131.638178,52.920901 -131.631614,52.928379 -131.651404,52.939240 -131.645922,52.949236 -131.620401,52.960225 -131.613259,52.964431 -131.607760,52.961170 -131.550985,52.989583 -131.526220,53.009580 -131.513933,53.023667 -131.513674,53.025910 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-132.197416,53.155122 -131.706554,53.361752</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-131.787865,53.167938 -131.786273,53.172492 -131.778197,53.178607 -131.778451,53.186367 -131.783246,53.195296 -131.791485,53.202874 -131.792491,53.211324 -131.795699,53.224808 -131.806549,53.236281 -131.815507,53.247515 -131.818066,53.254377 -131.822263,53.253715 -131.831495,53.247146 -131.836927,53.240099 -131.851849,53.234243 -131.858734,53.231540 -131.876614,53.231401 -131.899042,53.232423 -131.913876,53.232492 -131.921904,53.229333 -131.942253,53.213447 -131.951848,53.205729 -131.977667,53.208346 -131.984114,53.209740 -131.979238,53.203788 -131.973218,53.198286 -131.977046,53.195791 -131.982771,53.193532 -131.994547,53.193806 -132.009397,53.190895 -132.020147,53.179753 -132.024419,53.170184 -132.039704,53.160197 -132.059861,53.156156 -132.094794,53.155122 -132.105029,53.156976 -132.126665,53.157263 -132.155851,53.164408 -132.179320,53.176782 -132.191028,53.188900 -132.197416,53.202149 -132.196999,53.209222 -132.190462,53.222674 -132.186242,53.229284 -132.168680,53.240202 -132.160320,53.238586 -132.150429,53.238563 -132.145812,53.246312 -132.125595,53.253337 -132.111119,53.255125 -132.089038,53.255975 -132.063179,53.253385 -132.045681,53.252415 -132.026284,53.251207 -132.003480,53.248385 -131.993523,53.254282 -131.983859,53.267939 -131.977270,53.278413 -131.970184,53.298929 -131.957739,53.320564 -131.944561,53.338544 -131.936117,53.342845 -131.921561,53.347574 -131.903153,53.354796 -131.891645,53.359307 -131.877872,53.361752 -131.860727,53.359612 -131.838667,53.354474 -131.811791,53.340402 -131.795389,53.316339 -131.766101,53.289459 -131.744648,53.274263 -131.730059,53.259335 -131.718477,53.247163 -131.706554,53.233163 -131.707464,53.224953 -131.714171,53.211531 -131.730005,53.197482 -131.756851,53.183043 -131.787865,53.167938 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-131.960362,53.364930 -131.826740,53.532915</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-131.922487,53.364930 -131.932015,53.366114 -131.938775,53.375276 -131.936616,53.395816 -131.924987,53.409237 -131.922137,53.423153 -131.921269,53.431370 -131.925731,53.441438 -131.932070,53.454711 -131.938340,53.473922 -131.950785,53.489734 -131.958295,53.502556 -131.960362,53.522435 -131.957948,53.532247 -131.953723,53.532915 -131.911219,53.528845 -131.882516,53.525284 -131.860126,53.509412 -131.853048,53.495444 -131.849483,53.477154 -131.841304,53.460668 -131.826740,53.436840 -131.827942,53.407846 -131.865354,53.383380 -131.895297,53.371654 -131.922487,53.364930 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-124.709253,49.024696 -124.326516,49.259015</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-124.601275,49.259015 -124.326516,49.152403 -124.674635,49.036639 -124.709253,49.024696 -124.601275,49.259015 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-130.847846,53.675895 -130.142659,54.152152</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-130.371197,53.697305 -130.397076,53.677574 -130.417365,53.675895 -130.455920,53.689281 -130.487002,53.702520 -130.528257,53.720726 -130.574621,53.729750 -130.609732,53.732741 -130.644883,53.747373 -130.688734,53.774813 -130.767379,53.802428 -130.793176,53.822011 -130.811470,53.841477 -130.841413,53.874136 -130.847846,53.900968 -130.823816,53.947930 -130.795166,53.979052 -130.731211,54.030547 -130.658137,54.073637 -130.586895,54.111569 -130.509709,54.137006 -130.416593,54.152152 -130.391595,54.149632 -130.349687,54.135809 -130.287603,54.107511 -130.223824,54.079830 -130.190840,54.055489 -130.154676,53.997457 -130.142659,53.955361 -130.155076,53.913094 -130.196032,53.898166 -130.217387,53.890372 -130.260578,53.865866 -130.281805,53.839200 -130.271139,53.812591 -130.290305,53.791029 -130.293676,53.782526 -130.303708,53.768668 -130.268247,53.751173 -130.263014,53.741471 -130.298607,53.735663 -130.342181,53.721085 -130.371197,53.697305 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-124.307568,53.876137 -124.052801,53.995031</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-124.126634,53.879237 -124.133596,53.878959 -124.138851,53.879679 -124.145640,53.879701 -124.149901,53.877709 -124.160438,53.876137 -124.170439,53.877471 -124.174661,53.879990 -124.182307,53.879010 -124.203492,53.883080 -124.218546,53.890440 -124.234421,53.902815 -124.245391,53.913371 -124.254874,53.918106 -124.267931,53.922547 -124.288468,53.926800 -124.301501,53.937255 -124.307568,53.947998 -124.304468,53.955917 -124.295247,53.963123 -124.288254,53.966420 -124.279058,53.968108 -124.267161,53.966077 -124.255097,53.963845 -124.247942,53.965434 -124.245202,53.968236 -124.238356,53.974239 -124.231185,53.977833 -124.213797,53.981903 -124.182591,53.989242 -124.157368,53.992578 -124.140321,53.995031 -124.119891,53.994963 -124.096798,53.989163 -124.088536,53.981810 -124.079161,53.967530 -124.075171,53.959189 -124.074432,53.949155 -124.065390,53.936783 -124.059532,53.928735 -124.056365,53.923407 -124.053707,53.918180 -124.052801,53.908448 -124.059705,53.898948 -124.072843,53.893383 -124.089875,53.888433 -124.106033,53.885483 -124.114541,53.883508 -124.118814,53.880514 -124.126634,53.879237 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-63.992160,46.412083 -63.621616,46.714171</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-63.650483,46.582382 -63.650177,46.582318 -63.648075,46.581345 -63.644186,46.579135 -63.642399,46.577898 -63.640997,46.576444 -63.638631,46.573376 -63.637668,46.571762 -63.637179,46.570049 -63.636697,46.566590 -63.636702,46.564844 -63.637139,46.563348 -63.632251,46.558144 -63.631915,46.557643 -63.631371,46.557043 -63.629844,46.554767 -63.629197,46.553592 -63.628732,46.552030 -63.628213,46.548872 -63.628202,46.547530 -63.628160,46.547277 -63.628347,46.545348 -63.627940,46.545052 -63.627722,46.544793 -63.627311,46.544559 -63.625910,46.543105 -63.623547,46.540037 -63.622585,46.538423 -63.622097,46.536710 -63.621616,46.533251 -63.621622,46.531506 -63.622122,46.529795 -63.623595,46.526473 -63.624568,46.524862 -63.625840,46.523530 -63.628708,46.521045 -63.630074,46.520090 -63.630304,46.519891 -63.644527,46.511297 -63.644713,46.511226 -63.644861,46.511102 -63.645018,46.511029 -63.645195,46.510907 -63.646968,46.510067 -63.650692,46.508601 -63.652155,46.508167 -63.652642,46.507975 -63.660978,46.505865 -63.661329,46.505835 -63.661696,46.505700 -63.661978,46.505658 -63.662415,46.505534 -63.664895,46.505197 -63.669314,46.504902 -63.669283,46.504683 -63.669780,46.502972 -63.671249,46.499649 -63.672220,46.498038 -63.673627,46.496588 -63.676824,46.493906 -63.678614,46.492674 -63.680208,46.491905 -63.683545,46.490540 -63.684659,46.490202 -63.685288,46.489944 -63.687924,46.489209 -63.687918,46.489207 -63.684035,46.486999 -63.682251,46.485763 -63.681592,46.485156 -63.680351,46.483904 -63.680219,46.483713 -63.679770,46.483260 -63.677387,46.480352 -63.675013,46.480349 -63.673757,46.480305 -63.671280,46.479961 -63.666471,46.478947 -63.664139,46.478277 -63.662797,46.477704 -63.660226,46.476448 -63.659701,46.476110 -63.658996,46.475766 -63.654500,46.472943 -63.653996,46.472576 -63.653820,46.472483 -63.652512,46.471530 -63.652294,46.471271 -63.651883,46.471037 -63.650484,46.469584 -63.648123,46.466517 -63.647161,46.464904 -63.646674,46.463192 -63.646191,46.459734 -63.646197,46.457989 -63.646694,46.456279 -63.648163,46.452957 -63.649134,46.451346 -63.650540,46.449897 -63.653736,46.447217 -63.655524,46.445986 -63.656462,46.445503 -63.658396,46.444599 -63.658715,46.444494 -63.659393,46.444177 -63.663520,46.442605 -63.663417,46.441866 -63.663419,46.441064 -63.662705,46.440123 -63.661780,46.438557 -63.661292,46.436846 -63.660809,46.433389 -63.660814,46.431644 -63.660932,46.431377 -63.660908,46.431139 -63.661139,46.430134 -63.661179,46.430051 -63.661275,46.429634 -63.662414,46.426014 -63.662695,46.425489 -63.662916,46.424826 -63.664152,46.422510 -63.664886,46.421381 -63.666292,46.419932 -63.669484,46.417252 -63.671271,46.416020 -63.673370,46.415053 -63.677802,46.413421 -63.680134,46.412756 -63.682608,46.412419 -63.687605,46.412083 -63.690128,46.412086 -63.692601,46.412428 -63.697403,46.413441 -63.699732,46.414110 -63.708162,46.417235 -63.710258,46.418206 -63.710312,46.418237 -63.719171,46.415616 -63.719731,46.415475 -63.719833,46.415435 -63.721171,46.415098 -63.721503,46.415069 -63.721846,46.414943 -63.724321,46.414604 -63.729317,46.414266 -63.731840,46.414267 -63.734314,46.414609 -63.739117,46.415619 -63.741447,46.416288 -63.743520,46.417247 -63.744476,46.416973 -63.746951,46.416634 -63.751948,46.416295 -63.754470,46.416296 -63.756944,46.416637 -63.761749,46.417646 -63.764079,46.418314 -63.765818,46.419087 -63.769096,46.420817 -63.770129,46.421507 -63.770634,46.421773 -63.772884,46.423417 -63.773465,46.423132 -63.774034,46.422939 -63.775243,46.422402 -63.778946,46.421148 -63.780870,46.420624 -63.783345,46.420284 -63.788342,46.419943 -63.790865,46.419943 -63.793339,46.420283 -63.798145,46.421290 -63.800476,46.421957 -63.802574,46.422925 -63.806457,46.425127 -63.808242,46.426360 -63.809437,46.427552 -63.811530,46.430053 -63.812124,46.430998 -63.812429,46.431363 -63.813857,46.433972 -63.816637,46.436481 -63.820677,46.437149 -63.821023,46.436791 -63.824207,46.434105 -63.825990,46.432870 -63.828087,46.431900 -63.832515,46.430260 -63.834845,46.429591 -63.837319,46.429249 -63.842317,46.428905 -63.844840,46.428903 -63.847007,46.429180 -63.851240,46.429985 -63.852826,46.430422 -63.853306,46.430513 -63.866644,46.434850 -63.866885,46.434980 -63.867219,46.435050 -63.867434,46.435146 -63.867794,46.435249 -63.869894,46.436216 -63.873782,46.438415 -63.875569,46.439647 -63.876320,46.440344 -63.877719,46.441785 -63.877898,46.442046 -63.878367,46.442529 -63.882140,46.447377 -63.882465,46.447917 -63.882686,46.448170 -63.883662,46.449789 -63.884093,46.450616 -63.884589,46.452326 -63.885090,46.455782 -63.885095,46.457527 -63.884606,46.459239 -63.883155,46.462564 -63.882193,46.464178 -63.881541,46.464932 -63.880133,46.466391 -63.879846,46.466611 -63.879377,46.467097 -63.872232,46.473118 -63.871637,46.473531 -63.871388,46.473763 -63.869613,46.474991 -63.868682,46.475575 -63.867673,46.476094 -63.865587,46.477061 -63.865210,46.477185 -63.864509,46.477510 -63.858866,46.479605 -63.856648,46.482070 -63.856247,46.482387 -63.856083,46.482551 -63.864472,46.482123 -63.865268,46.482129 -63.865571,46.482099 -63.867767,46.482116 -63.868864,46.482157 -63.871206,46.482477 -63.873699,46.480974 -63.873857,46.480914 -63.873981,46.480809 -63.874117,46.480745 -63.874263,46.480644 -63.876362,46.479672 -63.880792,46.478030 -63.883124,46.477359 -63.884246,46.477160 -63.886512,46.476833 -63.886856,46.476820 -63.887655,46.476704 -63.894022,46.476190 -63.894018,46.472829 -63.894043,46.472457 -63.894032,46.472396 -63.894092,46.471531 -63.894171,46.471333 -63.894137,46.471100 -63.894625,46.469387 -63.896076,46.466062 -63.897038,46.464448 -63.897337,46.464195 -63.897463,46.463937 -63.898363,46.462935 -63.898478,46.462845 -63.898837,46.462445 -63.905326,46.456183 -63.905904,46.455755 -63.906387,46.455288 -63.908667,46.453601 -63.909887,46.452808 -63.911984,46.451836 -63.916410,46.450192 -63.918740,46.449521 -63.921215,46.449176 -63.926214,46.448828 -63.928739,46.448824 -63.931216,46.449160 -63.936028,46.450160 -63.938363,46.450824 -63.939295,46.451252 -63.946752,46.448473 -63.947532,46.448248 -63.947898,46.448095 -63.950240,46.447419 -63.951435,46.447120 -63.953909,46.446775 -63.958908,46.446425 -63.961432,46.446420 -63.963347,46.446648 -63.967104,46.447301 -63.968239,46.447603 -63.968947,46.447726 -63.976447,46.449900 -63.976906,46.450050 -63.976980,46.450064 -63.978035,46.450410 -63.978255,46.450528 -63.978557,46.450591 -63.980660,46.451556 -63.984555,46.453750 -63.986346,46.454980 -63.987756,46.456428 -63.990139,46.459485 -63.991114,46.461095 -63.991606,46.462752 -63.992130,46.466099 -63.992145,46.467688 -63.992160,46.467790 -63.991234,46.475516 -63.991212,46.475568 -63.991221,46.475624 -63.991206,46.475675 -63.991207,46.475732 -63.990722,46.477445 -63.989279,46.480772 -63.988320,46.482387 -63.987439,46.483373 -63.985498,46.485259 -63.984930,46.485681 -63.984439,46.486158 -63.976655,46.491949 -63.976160,46.492271 -63.976056,46.492366 -63.974818,46.493173 -63.974114,46.493456 -63.973571,46.493889 -63.972325,46.494517 -63.972201,46.494560 -63.971689,46.494818 -63.961169,46.499479 -63.959423,46.500397 -63.959384,46.500457 -63.959131,46.500687 -63.958984,46.501025 -63.958680,46.501341 -63.958557,46.501539 -63.958256,46.501793 -63.958130,46.502053 -63.952745,46.508054 -63.947615,46.514724 -63.946216,46.516178 -63.943033,46.518869 -63.941250,46.520107 -63.940854,46.520254 -63.940605,46.520451 -63.939285,46.521111 -63.939144,46.521159 -63.938609,46.521426 -63.928554,46.525809 -63.927792,46.526050 -63.927045,46.526373 -63.923932,46.527359 -63.922328,46.527780 -63.919849,46.528124 -63.914840,46.528472 -63.912311,46.528476 -63.910519,46.528268 -63.906994,46.527680 -63.906040,46.527430 -63.905261,46.527300 -63.905001,46.527228 -63.904992,46.527230 -63.901864,46.528681 -63.895510,46.533758 -63.893124,46.537205 -63.893316,46.538057 -63.895218,46.542355 -63.895717,46.544067 -63.896220,46.547524 -63.896224,46.549269 -63.895735,46.550982 -63.894282,46.554309 -63.893318,46.555923 -63.893038,46.556159 -63.892919,46.556403 -63.892079,46.557346 -63.891979,46.557425 -63.891638,46.557808 -63.888722,46.560665 -63.889351,46.562522 -63.889392,46.562942 -63.889662,46.563957 -63.889941,46.566842 -63.889917,46.567969 -63.907782,46.562289 -63.908430,46.562119 -63.908588,46.562055 -63.910222,46.561625 -63.910621,46.561588 -63.911049,46.561429 -63.913530,46.561085 -63.918542,46.560737 -63.921073,46.560733 -63.922781,46.560927 -63.926144,46.561470 -63.926987,46.561689 -63.927799,46.561820 -63.933361,46.563282 -63.933955,46.563468 -63.934102,46.563495 -63.935563,46.563952 -63.935859,46.564109 -63.936283,46.564197 -63.938391,46.565163 -63.942294,46.567360 -63.944088,46.568592 -63.945500,46.570041 -63.947887,46.573101 -63.948862,46.574712 -63.949363,46.576423 -63.949870,46.579881 -63.949877,46.581627 -63.949390,46.583340 -63.947940,46.586668 -63.946977,46.588283 -63.942819,46.593680 -63.941839,46.594758 -63.939665,46.596808 -63.938937,46.597339 -63.938471,46.597779 -63.935696,46.599734 -63.941746,46.606336 -63.941838,46.606474 -63.941975,46.606671 -63.942436,46.607134 -63.948454,46.614527 -63.948794,46.615076 -63.949065,46.615382 -63.950151,46.617131 -63.950626,46.618026 -63.951127,46.619738 -63.951636,46.623196 -63.951642,46.624942 -63.951155,46.626656 -63.949703,46.629984 -63.948740,46.631599 -63.945965,46.635198 -63.944562,46.636653 -63.941416,46.639308 -63.948939,46.643666 -63.949518,46.644069 -63.949803,46.644214 -63.951454,46.645362 -63.952241,46.645962 -63.953656,46.647411 -63.956048,46.650472 -63.957025,46.652084 -63.957527,46.653795 -63.958036,46.657254 -63.958043,46.659000 -63.957555,46.660714 -63.956103,46.664043 -63.955592,46.664900 -63.957325,46.665029 -63.957467,46.665059 -63.959733,46.665370 -63.964412,46.666358 -63.966684,46.667006 -63.968797,46.667972 -63.972711,46.670169 -63.974510,46.671400 -63.975926,46.672849 -63.978321,46.675910 -63.979300,46.677522 -63.979794,46.679180 -63.980320,46.682530 -63.980334,46.684121 -63.980350,46.684222 -63.979994,46.687173 -63.980263,46.687302 -63.980640,46.687535 -63.980421,46.688145 -63.977936,46.693868 -63.973947,46.699042 -63.967677,46.704048 -63.956999,46.709765 -63.949491,46.711997 -63.940877,46.713161 -63.930935,46.714171 -63.924848,46.713936 -63.919214,46.713109 -63.888197,46.692358 -63.860821,46.675027 -63.835911,46.660829 -63.808788,46.645865 -63.777799,46.631682 -63.744869,46.617253 -63.744638,46.617112 -63.744573,46.617085 -63.743839,46.616759 -63.743627,46.616628 -63.742968,46.616334 -63.732792,46.610929 -63.709261,46.599654 -63.652313,46.583024 -63.651849,46.582870 -63.651773,46.582856 -63.650705,46.582503 -63.650483,46.582382 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.114074,46.721019 -63.987434,46.868065</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-63.994887,46.857237 -63.994319,46.854407 -63.994337,46.853862 -63.994444,46.853581 -63.994392,46.853230 -63.995657,46.850154 -64.000508,46.843353 -64.000635,46.843243 -64.000698,46.843097 -64.002882,46.841044 -64.005527,46.839185 -64.006305,46.837401 -64.009136,46.833734 -64.012338,46.831037 -64.012544,46.830961 -64.012682,46.830849 -64.014283,46.830001 -64.016287,46.827840 -64.018031,46.818386 -64.019742,46.803389 -64.019151,46.798308 -64.015305,46.785637 -64.000292,46.767490 -64.000205,46.767351 -64.000077,46.767218 -63.989898,46.753844 -63.988992,46.752330 -63.988501,46.750700 -63.987455,46.744243 -63.987434,46.742413 -63.988886,46.739082 -63.992082,46.736387 -63.993499,46.735862 -63.993400,46.735198 -63.994852,46.731867 -63.995592,46.731023 -63.999210,46.727371 -64.001664,46.725520 -64.006115,46.723870 -64.011145,46.723516 -64.015989,46.724513 -64.018870,46.725941 -64.020227,46.726832 -64.021713,46.725196 -64.024444,46.723051 -64.028894,46.721400 -64.033410,46.721019 -64.038482,46.721209 -64.038721,46.721254 -64.038995,46.721235 -64.043839,46.722230 -64.047660,46.724342 -64.051101,46.727130 -64.061142,46.731011 -64.064774,46.733096 -64.064796,46.733117 -64.068223,46.731843 -64.073254,46.731487 -64.078100,46.732480 -64.081270,46.734100 -64.091205,46.741020 -64.091960,46.741593 -64.094366,46.744652 -64.094662,46.745433 -64.096961,46.752891 -64.097045,46.753890 -64.097243,46.754815 -64.097185,46.759490 -64.099151,46.761097 -64.101314,46.761421 -64.104605,46.762247 -64.108533,46.764439 -64.110942,46.767498 -64.111465,46.770957 -64.110021,46.774290 -64.109830,46.774452 -64.109747,46.774629 -64.108842,46.775692 -64.109912,46.776364 -64.111141,46.777250 -64.113551,46.780309 -64.114074,46.783768 -64.113928,46.784106 -64.113956,46.784395 -64.113407,46.786679 -64.112080,46.789386 -64.108888,46.792086 -64.104434,46.793741 -64.101458,46.794119 -64.096045,46.794364 -64.093985,46.794345 -64.092472,46.794035 -64.092481,46.794125 -64.099506,46.802902 -64.100534,46.804565 -64.101056,46.808025 -64.099610,46.811359 -64.096415,46.814059 -64.091959,46.815714 -64.089176,46.816081 -64.084556,46.816338 -64.082298,46.816328 -64.077443,46.815334 -64.074295,46.813578 -64.070830,46.813955 -64.069437,46.813985 -64.069832,46.814683 -64.070352,46.818144 -64.068903,46.821477 -64.067407,46.823419 -64.064210,46.826118 -64.059751,46.827771 -64.055932,46.828167 -64.049091,46.828168 -64.047869,46.828129 -64.044687,46.827477 -64.042495,46.834017 -64.041863,46.837016 -64.040620,46.846266 -64.040616,46.846275 -64.040618,46.846284 -64.039166,46.849618 -64.035965,46.852316 -64.031502,46.853968 -64.031357,46.853999 -64.029806,46.856009 -64.024712,46.863121 -64.024593,46.863225 -64.024533,46.863362 -64.021330,46.866060 -64.016865,46.867712 -64.011819,46.868065 -64.008132,46.867444 -64.004821,46.866517 -64.003647,46.866140 -63.999715,46.863943 -63.997906,46.861961 -63.995485,46.858317 -63.994887,46.857237 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.150097,46.241483 -63.685978,46.429181</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-63.693166,46.246272 -63.696344,46.243592 -63.700757,46.241961 -63.703946,46.241588 -63.707693,46.241483 -63.709482,46.241519 -63.710715,46.241647 -63.720440,46.242989 -63.720772,46.243072 -63.721516,46.243171 -63.755203,46.249955 -63.757189,46.250516 -63.757433,46.250565 -63.799862,46.265482 -63.870905,46.287682 -63.871025,46.287745 -63.871218,46.287783 -63.989515,46.327264 -63.989535,46.327275 -63.989566,46.327281 -64.069307,46.354070 -64.069816,46.354346 -64.070388,46.354478 -64.129293,46.379273 -64.129660,46.379493 -64.130866,46.380052 -64.142324,46.386681 -64.143970,46.387824 -64.146361,46.390877 -64.149575,46.398058 -64.150097,46.401511 -64.148668,46.404840 -64.145506,46.407537 -64.141092,46.409191 -64.137724,46.409584 -64.121670,46.409960 -64.120045,46.409927 -64.118688,46.409788 -64.100957,46.407307 -64.090072,46.406269 -64.054490,46.406028 -64.053414,46.405989 -64.048604,46.404996 -64.045487,46.403396 -64.036202,46.396918 -64.025112,46.395807 -64.024349,46.395635 -64.022394,46.395320 -64.017526,46.394042 -63.982208,46.398707 -63.964508,46.404237 -63.964298,46.404292 -63.964886,46.405310 -63.965393,46.408765 -63.963950,46.412091 -63.961695,46.415029 -63.958521,46.417720 -63.958072,46.417887 -63.957797,46.418104 -63.952484,46.420722 -63.950149,46.423763 -63.946974,46.426454 -63.942551,46.428099 -63.937554,46.428448 -63.934413,46.427960 -63.931905,46.427334 -63.930039,46.428065 -63.927458,46.428833 -63.922461,46.429181 -63.917652,46.428180 -63.915866,46.427387 -63.913285,46.426019 -63.913148,46.425927 -63.912960,46.425841 -63.909728,46.424011 -63.905190,46.422342 -63.901302,46.420144 -63.900353,46.418921 -63.897450,46.418238 -63.893563,46.416040 -63.892296,46.414765 -63.887281,46.408635 -63.883916,46.409884 -63.881683,46.410209 -63.866816,46.411433 -63.864053,46.411453 -63.859247,46.410450 -63.858148,46.409994 -63.853984,46.408069 -63.843764,46.403896 -63.834907,46.400371 -63.834566,46.400467 -63.829822,46.402953 -63.825798,46.404374 -63.820803,46.404717 -63.820315,46.404614 -63.819898,46.404633 -63.818112,46.404423 -63.810100,46.406305 -63.809899,46.406321 -63.809705,46.406393 -63.804709,46.406734 -63.799905,46.405728 -63.799621,46.405566 -63.799317,46.405497 -63.790615,46.401862 -63.787323,46.399891 -63.786176,46.398755 -63.786080,46.398642 -63.783437,46.399620 -63.778442,46.399960 -63.774603,46.399274 -63.772296,46.398584 -63.768838,46.399029 -63.767244,46.399809 -63.763542,46.401063 -63.758547,46.401402 -63.757038,46.401085 -63.755173,46.402656 -63.750746,46.404291 -63.745906,46.404640 -63.741852,46.404397 -63.741777,46.404382 -63.741696,46.404387 -63.736894,46.403377 -63.734787,46.402401 -63.733335,46.401573 -63.730300,46.400935 -63.729497,46.400478 -63.726021,46.400800 -63.717662,46.400637 -63.717258,46.400563 -63.716752,46.400597 -63.711950,46.399586 -63.708074,46.397380 -63.705713,46.394316 -63.705227,46.390860 -63.705613,46.389410 -63.707481,46.384651 -63.708556,46.382780 -63.711743,46.380099 -63.716170,46.378465 -63.721163,46.378128 -63.721649,46.378230 -63.722066,46.378212 -63.723317,46.378361 -63.726113,46.377533 -63.727449,46.377196 -63.732442,46.376859 -63.734311,46.377084 -63.740716,46.378200 -63.741669,46.378455 -63.741791,46.378335 -63.744136,46.376593 -63.746973,46.375545 -63.743859,46.374020 -63.741343,46.372397 -63.739920,46.370552 -63.738753,46.370600 -63.733955,46.369590 -63.733670,46.369428 -63.733367,46.369358 -63.724678,46.365718 -63.724563,46.365649 -63.723906,46.365368 -63.720656,46.363774 -63.719206,46.363773 -63.718102,46.363663 -63.717068,46.363529 -63.715111,46.365176 -63.710686,46.366809 -63.705694,46.367146 -63.700897,46.366134 -63.697024,46.363929 -63.694666,46.360865 -63.694140,46.358822 -63.693656,46.353191 -63.693697,46.351779 -63.695158,46.348458 -63.698343,46.345777 -63.699895,46.345023 -63.705237,46.342813 -63.706455,46.342441 -63.707101,46.342178 -63.715549,46.339864 -63.716558,46.339620 -63.719314,46.339265 -63.726250,46.338904 -63.728482,46.338922 -63.731154,46.339308 -63.736831,46.340575 -63.737318,46.340718 -63.738941,46.339460 -63.743362,46.337826 -63.748350,46.337487 -63.750218,46.337712 -63.763018,46.339940 -63.764135,46.340239 -63.765299,46.337583 -63.767060,46.335303 -63.770239,46.332619 -63.774659,46.330983 -63.777034,46.330821 -63.778464,46.329799 -63.782883,46.328163 -63.784008,46.328086 -63.780104,46.327345 -63.777443,46.326611 -63.773570,46.324409 -63.772910,46.323800 -63.766089,46.316914 -63.762417,46.316007 -63.758199,46.316229 -63.755968,46.316211 -63.755746,46.316164 -63.755535,46.316176 -63.751019,46.315759 -63.746659,46.314785 -63.743598,46.313204 -63.738493,46.309634 -63.737684,46.309012 -63.735326,46.305950 -63.735228,46.305727 -63.731313,46.304902 -63.726144,46.302984 -63.722275,46.300779 -63.720636,46.298995 -63.713249,46.288338 -63.712828,46.287755 -63.712475,46.287783 -63.706050,46.287492 -63.705846,46.287451 -63.705616,46.287467 -63.700827,46.286456 -63.698265,46.285202 -63.690133,46.280083 -63.688829,46.279131 -63.686476,46.276068 -63.685978,46.272722 -63.686332,46.269920 -63.686354,46.269867 -63.686346,46.269812 -63.686626,46.268654 -63.687863,46.265016 -63.686573,46.260816 -63.686355,46.258078 -63.687367,46.255397 -63.692719,46.246910 -63.693166,46.246272 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-63.797641,46.329560 -63.799065,46.329940 -63.802409,46.331840 -63.802649,46.331751 -63.802640,46.331385 -63.803592,46.328791 -63.804021,46.328086 -63.803984,46.328005 -63.800166,46.329141 -63.798832,46.329479 -63.797641,46.329560 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-63.465958,46.396417 -62.956602,46.519879</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-63.306546,46.500120 -63.305352,46.499826 -63.301488,46.497603 -63.300026,46.496046 -63.299975,46.495977 -63.299099,46.494458 -63.298572,46.492006 -63.298571,46.491925 -63.298619,46.491248 -63.297450,46.490540 -63.297400,46.490474 -63.297164,46.490333 -63.296884,46.489965 -63.296732,46.489863 -63.296727,46.489860 -63.296726,46.489859 -63.295987,46.489365 -63.295601,46.488857 -63.294663,46.487915 -63.293919,46.487487 -63.293617,46.487089 -63.293566,46.487060 -63.293467,46.486930 -63.293162,46.486703 -63.292944,46.486416 -63.292919,46.486392 -63.292850,46.486323 -63.292637,46.486012 -63.292174,46.485402 -63.291648,46.484843 -63.291562,46.484727 -63.291245,46.484179 -63.290825,46.483627 -63.290811,46.483580 -63.290725,46.483466 -63.290693,46.483224 -63.290672,46.483188 -63.290581,46.482866 -63.290553,46.482830 -63.290524,46.482741 -63.290435,46.482623 -63.290398,46.482341 -63.290160,46.481591 -63.290126,46.481430 -63.290085,46.479963 -63.290013,46.479411 -63.289133,46.478165 -63.288647,46.477886 -63.288330,46.477568 -63.287842,46.477287 -63.287303,46.476576 -63.286799,46.476081 -63.286748,46.476023 -63.286028,46.474897 -63.285507,46.474211 -63.285499,46.474151 -63.285439,46.474072 -63.285423,46.473952 -63.285404,46.473922 -63.285363,46.473667 -63.285319,46.473599 -63.285306,46.473540 -63.285184,46.473379 -63.285150,46.473258 -63.285116,46.473206 -63.285065,46.472960 -63.284724,46.471761 -63.284707,46.471646 -63.284707,46.471474 -63.284316,46.469598 -63.284316,46.469528 -63.284388,46.468592 -63.284468,46.468271 -63.284391,46.468212 -63.283535,46.467756 -63.283517,46.467743 -63.283337,46.467650 -63.282851,46.467316 -63.282328,46.466915 -63.282326,46.466914 -63.281144,46.466306 -63.281043,46.466237 -63.280288,46.465660 -63.280020,46.465505 -63.277685,46.462430 -63.277182,46.460434 -63.277181,46.460423 -63.277231,46.458960 -63.278728,46.455644 -63.281946,46.452977 -63.286396,46.451363 -63.287875,46.451126 -63.290080,46.450866 -63.291147,46.450843 -63.292156,46.450740 -63.292357,46.450739 -63.293806,46.450788 -63.294134,46.450859 -63.294466,46.450826 -63.294517,46.450826 -63.295897,46.450875 -63.296466,46.450998 -63.298674,46.451325 -63.298926,46.451382 -63.300692,46.451908 -63.300695,46.451908 -63.300695,46.451909 -63.301079,46.452023 -63.301369,46.452190 -63.301417,46.452202 -63.301550,46.452260 -63.302437,46.452805 -63.304940,46.454247 -63.305609,46.455128 -63.306482,46.456079 -63.307564,46.457622 -63.308218,46.458103 -63.309978,46.458712 -63.310111,46.458786 -63.310415,46.458852 -63.314277,46.461075 -63.316614,46.464150 -63.317133,46.467004 -63.317103,46.467558 -63.316996,46.467827 -63.317040,46.468163 -63.315703,46.471132 -63.316262,46.472039 -63.316303,46.472092 -63.316336,46.472159 -63.316428,46.472308 -63.316444,46.472385 -63.317387,46.474353 -63.317409,46.474495 -63.317445,46.474540 -63.317885,46.475451 -63.317906,46.475586 -63.317947,46.475638 -63.317962,46.475671 -63.318020,46.475747 -63.318041,46.475843 -63.318434,46.476699 -63.318956,46.477795 -63.320024,46.478720 -63.320169,46.478820 -63.320215,46.478880 -63.320287,46.478922 -63.321688,46.480155 -63.321690,46.480157 -63.321691,46.480157 -63.321935,46.480373 -63.321939,46.480378 -63.321973,46.480404 -63.321988,46.480422 -63.322085,46.480478 -63.322230,46.480633 -63.322300,46.480687 -63.322311,46.480700 -63.322405,46.480754 -63.322549,46.480909 -63.322614,46.480959 -63.322628,46.480975 -63.322725,46.481031 -63.322911,46.481231 -63.323044,46.481307 -63.323072,46.481337 -63.323161,46.481388 -63.323345,46.481630 -63.324401,46.482761 -63.326130,46.483133 -63.327628,46.483792 -63.330919,46.485469 -63.330971,46.485504 -63.331355,46.485679 -63.331859,46.485955 -63.332324,46.486273 -63.333529,46.486896 -63.333926,46.487170 -63.336109,46.487466 -63.336998,46.487565 -63.337265,46.487628 -63.337488,46.487657 -63.337579,46.487654 -63.339621,46.487890 -63.339662,46.487899 -63.339877,46.487921 -63.342817,46.488303 -63.352934,46.489493 -63.357868,46.490005 -63.358069,46.490013 -63.358193,46.490039 -63.358422,46.490063 -63.358610,46.490107 -63.358919,46.490094 -63.359712,46.490189 -63.359794,46.490192 -63.359868,46.490208 -63.360321,46.490262 -63.360481,46.490254 -63.362598,46.490488 -63.363685,46.490595 -63.363308,46.489681 -63.363285,46.489502 -63.363257,46.489465 -63.363194,46.489329 -63.363153,46.489271 -63.363111,46.489147 -63.362883,46.488646 -63.362840,46.488351 -63.362663,46.488105 -63.362413,46.487407 -63.361235,46.484561 -63.361220,46.484447 -63.361153,46.484356 -63.360797,46.483409 -63.360452,46.480236 -63.361943,46.476919 -63.365158,46.474248 -63.369415,46.472671 -63.371653,46.472186 -63.372859,46.471895 -63.373070,46.471878 -63.373290,46.471797 -63.375644,46.471292 -63.375726,46.471287 -63.375802,46.471259 -63.380808,46.470940 -63.385609,46.471969 -63.389476,46.474189 -63.391819,46.477262 -63.391838,46.477405 -63.391925,46.477523 -63.392708,46.479575 -63.394359,46.483702 -63.394363,46.483734 -63.394517,46.484155 -63.394579,46.484237 -63.394688,46.484504 -63.397527,46.486133 -63.399871,46.489206 -63.399875,46.489222 -63.399888,46.489240 -63.399901,46.489340 -63.399908,46.489369 -63.399981,46.489468 -63.400034,46.489605 -63.404013,46.489300 -63.406771,46.489294 -63.407176,46.489381 -63.409537,46.488639 -63.409667,46.488626 -63.409771,46.488592 -63.409911,46.488583 -63.409953,46.488568 -63.411527,46.488433 -63.412754,46.488080 -63.413948,46.487119 -63.414032,46.487088 -63.414065,46.487061 -63.414357,46.486954 -63.414557,46.486798 -63.414674,46.486740 -63.418513,46.485441 -63.423521,46.485120 -63.424568,46.485225 -63.424652,46.485236 -63.424936,46.485306 -63.426278,46.485215 -63.426446,46.485226 -63.426504,46.485239 -63.426567,46.485235 -63.428761,46.485527 -63.428995,46.485573 -63.431605,46.486307 -63.431630,46.486321 -63.431661,46.486328 -63.432266,46.486557 -63.432568,46.486731 -63.433830,46.487418 -63.433979,46.487483 -63.434046,46.487517 -63.434210,46.487626 -63.435664,46.488417 -63.435798,46.488520 -63.435906,46.488654 -63.436080,46.488754 -63.436116,46.488801 -63.436214,46.488857 -63.437568,46.490264 -63.437721,46.490460 -63.438567,46.491880 -63.438780,46.492159 -63.439049,46.492897 -63.439101,46.493071 -63.439135,46.493540 -63.439349,46.494391 -63.439386,46.494864 -63.439349,46.495889 -63.439689,46.495966 -63.441643,46.496263 -63.441759,46.496291 -63.442654,46.496385 -63.444446,46.496631 -63.444725,46.496701 -63.445415,46.496792 -63.446991,46.497098 -63.447643,46.497281 -63.448152,46.497365 -63.448706,46.497513 -63.449777,46.497855 -63.449928,46.497881 -63.450125,46.497873 -63.450593,46.497929 -63.451592,46.498168 -63.453251,46.498454 -63.453361,46.498485 -63.453464,46.498478 -63.453841,46.498537 -63.454071,46.498528 -63.454424,46.498572 -63.455076,46.498730 -63.456456,46.498946 -63.456875,46.499048 -63.457295,46.499178 -63.457620,46.499141 -63.458205,46.499127 -63.459586,46.499160 -63.460075,46.499620 -63.462226,46.501565 -63.463512,46.503442 -63.464556,46.505862 -63.465132,46.507473 -63.465720,46.508834 -63.465958,46.509938 -63.465942,46.511835 -63.465411,46.513921 -63.464222,46.516142 -63.462696,46.517856 -63.460381,46.519402 -63.459394,46.519879 -63.459093,46.519848 -63.458909,46.519822 -63.458585,46.519811 -63.458575,46.519809 -63.458306,46.519807 -63.457096,46.519760 -63.455216,46.519527 -63.453873,46.519289 -63.453444,46.519173 -63.452932,46.519096 -63.452363,46.518962 -63.451580,46.518844 -63.451106,46.518722 -63.450367,46.518614 -63.450289,46.518619 -63.449022,46.518484 -63.448948,46.518473 -63.448663,46.518464 -63.448245,46.518374 -63.447876,46.518390 -63.446519,46.518234 -63.446278,46.518177 -63.445321,46.518056 -63.444885,46.517976 -63.444172,46.517780 -63.443561,46.517679 -63.442243,46.517328 -63.441319,46.517172 -63.439500,46.516674 -63.438849,46.516525 -63.438624,46.516487 -63.437740,46.516387 -63.437216,46.516263 -63.435684,46.516031 -63.435467,46.515980 -63.433978,46.515741 -63.433753,46.515682 -63.433342,46.515627 -63.432109,46.515383 -63.432068,46.515377 -63.431720,46.515346 -63.431404,46.515275 -63.429248,46.514950 -63.429217,46.514943 -63.429079,46.514931 -63.429048,46.514924 -63.428725,46.514946 -63.427956,46.514898 -63.427191,46.514887 -63.426239,46.514846 -63.426215,46.514848 -63.425058,46.514771 -63.424604,46.514675 -63.424194,46.514693 -63.422921,46.514548 -63.422596,46.514471 -63.421581,46.514333 -63.421445,46.514339 -63.420675,46.514249 -63.420254,46.514149 -63.420238,46.514147 -63.420068,46.514158 -63.418415,46.513963 -63.417673,46.513841 -63.416315,46.513802 -63.415185,46.513685 -63.414613,46.513608 -63.413484,46.513570 -63.413131,46.513512 -63.413063,46.513519 -63.412209,46.513522 -63.411921,46.513513 -63.411735,46.513513 -63.410320,46.513465 -63.410291,46.513462 -63.409658,46.513459 -63.409252,46.513498 -63.408314,46.513489 -63.407155,46.513441 -63.407124,46.513435 -63.407091,46.513437 -63.405634,46.513327 -63.405286,46.513252 -63.404978,46.513265 -63.403572,46.513108 -63.402396,46.512832 -63.401441,46.512659 -63.401340,46.512665 -63.399775,46.512484 -63.397294,46.512088 -63.396166,46.511793 -63.394775,46.511615 -63.394562,46.511576 -63.394470,46.511564 -63.393646,46.511495 -63.393592,46.511483 -63.392633,46.511381 -63.391901,46.511278 -63.391507,46.511240 -63.391268,46.511232 -63.390085,46.511108 -63.389431,46.511018 -63.388555,46.510799 -63.387743,46.510679 -63.387315,46.510582 -63.386840,46.510497 -63.386402,46.510657 -63.386155,46.510674 -63.385816,46.510797 -63.385436,46.510822 -63.384162,46.511197 -63.381704,46.511443 -63.381540,46.511495 -63.380907,46.511725 -63.380833,46.511756 -63.380769,46.511775 -63.380450,46.511891 -63.380341,46.511898 -63.380248,46.511931 -63.379947,46.511989 -63.379922,46.511990 -63.379843,46.512010 -63.379220,46.512250 -63.379170,46.512262 -63.378898,46.512284 -63.378629,46.512382 -63.378609,46.512383 -63.378579,46.512394 -63.376899,46.512501 -63.376726,46.512559 -63.376576,46.512583 -63.374880,46.512655 -63.373269,46.512781 -63.373017,46.512770 -63.372871,46.512741 -63.372732,46.512749 -63.372716,46.512746 -63.372330,46.512762 -63.367629,46.511772 -63.367378,46.511680 -63.367332,46.511653 -63.367273,46.511641 -63.365539,46.510692 -63.362756,46.510096 -63.362485,46.510097 -63.362290,46.510090 -63.360176,46.510224 -63.358415,46.510010 -63.358281,46.509987 -63.357478,46.509772 -63.357207,46.509743 -63.356319,46.509619 -63.356100,46.509564 -63.355473,46.509495 -63.355171,46.509450 -63.354371,46.509245 -63.353325,46.509074 -63.353107,46.509017 -63.352971,46.508974 -63.352911,46.508965 -63.352492,46.508874 -63.351996,46.508729 -63.351524,46.508671 -63.351226,46.508599 -63.350911,46.508557 -63.350725,46.508556 -63.350600,46.508529 -63.350540,46.508533 -63.350114,46.508452 -63.349795,46.508464 -63.349666,46.508448 -63.348715,46.508446 -63.348631,46.508428 -63.348546,46.508433 -63.348278,46.508411 -63.348137,46.508380 -63.347794,46.508368 -63.347093,46.508273 -63.347023,46.508278 -63.346451,46.508214 -63.346353,46.508211 -63.346095,46.508174 -63.346057,46.508170 -63.346051,46.508170 -63.345550,46.508202 -63.345285,46.508145 -63.345281,46.508145 -63.345105,46.508107 -63.344897,46.508100 -63.344585,46.508033 -63.344528,46.508031 -63.343655,46.507843 -63.342338,46.507635 -63.342232,46.507634 -63.341935,46.507575 -63.341609,46.507608 -63.341569,46.507623 -63.337913,46.507988 -63.337679,46.507989 -63.336325,46.507939 -63.331521,46.506908 -63.331512,46.506904 -63.331431,46.506902 -63.331111,46.506852 -63.330929,46.506846 -63.330540,46.506764 -63.328513,46.506449 -63.328278,46.506392 -63.327982,46.506301 -63.324934,46.506493 -63.320130,46.505461 -63.316264,46.503238 -63.316215,46.503176 -63.313167,46.502521 -63.312182,46.502111 -63.312132,46.502088 -63.311106,46.501442 -63.310579,46.501374 -63.310394,46.501340 -63.308056,46.500696 -63.307800,46.500641 -63.307748,46.500611 -63.307566,46.500561 -63.307552,46.500555 -63.307231,46.500481 -63.306782,46.500222 -63.306546,46.500120 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-62.968954,46.430362 -62.968047,46.430416 -62.963260,46.429365 -62.959419,46.427128 -62.957109,46.424045 -62.956602,46.421566 -62.956608,46.414054 -62.956687,46.413073 -62.958206,46.409763 -62.961441,46.407107 -62.965898,46.405510 -62.970899,46.405213 -62.970970,46.405229 -62.971032,46.405225 -62.971083,46.405236 -62.971141,46.405233 -62.971274,46.405245 -62.975817,46.406275 -62.977937,46.407510 -62.979057,46.407756 -62.979119,46.407750 -62.979436,46.407750 -62.980033,46.407773 -62.980848,46.407693 -62.980865,46.407686 -62.983564,46.407356 -62.984048,46.407333 -62.984823,46.407344 -62.984969,46.407336 -62.984983,46.407335 -62.984987,46.407335 -62.985600,46.407256 -62.985634,46.407248 -62.985683,46.407245 -62.985801,46.407230 -62.985911,46.407191 -62.986342,46.407134 -62.986345,46.407133 -62.987374,46.406989 -62.987717,46.406932 -62.987810,46.406928 -62.988440,46.406841 -62.988875,46.406806 -62.989529,46.406804 -62.990716,46.406688 -62.990934,46.406688 -62.991507,46.406710 -62.991847,46.406684 -62.992348,46.406707 -62.992409,46.406720 -62.992417,46.406719 -62.992424,46.406721 -62.992912,46.406567 -62.993434,46.406479 -62.993479,46.406463 -62.993562,46.406457 -62.993985,46.406386 -62.994485,46.406317 -62.994841,46.406307 -62.995831,46.406146 -62.996299,46.406088 -62.996940,46.406074 -62.996979,46.406069 -62.997246,46.406058 -62.997427,46.406061 -62.998568,46.405949 -63.000021,46.405949 -63.000260,46.405958 -63.000352,46.405949 -63.000854,46.405949 -63.002273,46.406003 -63.002376,46.406026 -63.002389,46.406026 -63.002557,46.406063 -63.002569,46.406062 -63.002837,46.406085 -63.003051,46.406133 -63.003389,46.406188 -63.003392,46.406188 -63.003411,46.406192 -63.005676,46.406559 -63.006044,46.406652 -63.006248,46.406717 -63.006815,46.406698 -63.008465,46.406734 -63.008597,46.406725 -63.009149,46.406760 -63.009264,46.406785 -63.009390,46.406777 -63.009793,46.406859 -63.009808,46.406858 -63.010754,46.407044 -63.010901,46.407038 -63.011386,46.407096 -63.011469,46.407116 -63.011752,46.407127 -63.011818,46.407127 -63.012128,46.407139 -63.012327,46.407134 -63.012429,46.407136 -63.013071,46.407065 -63.013991,46.407041 -63.014014,46.407041 -63.014112,46.407006 -63.015443,46.406791 -63.015608,46.406771 -63.015632,46.406763 -63.015705,46.406759 -63.015727,46.406756 -63.015765,46.406755 -63.015766,46.406755 -63.016033,46.406659 -63.016447,46.406604 -63.016828,46.406489 -63.017319,46.406312 -63.017361,46.406310 -63.017387,46.406300 -63.017468,46.406295 -63.017721,46.406219 -63.018046,46.406170 -63.018540,46.406022 -63.019929,46.405800 -63.020312,46.405754 -63.020805,46.405744 -63.020809,46.405743 -63.021010,46.405720 -63.021650,46.405708 -63.022511,46.405623 -63.022913,46.405623 -63.023266,46.405637 -63.023734,46.405525 -63.024034,46.405507 -63.024274,46.405425 -63.025027,46.405298 -63.025249,46.405288 -63.025271,46.405282 -63.025374,46.405276 -63.025377,46.405275 -63.025423,46.405259 -63.025906,46.405202 -63.026114,46.405133 -63.026266,46.405111 -63.026717,46.405094 -63.027046,46.405069 -63.027056,46.405068 -63.027364,46.405015 -63.027698,46.404968 -63.027984,46.404959 -63.028340,46.404918 -63.028673,46.404906 -63.028897,46.404910 -63.029643,46.404837 -63.029787,46.404837 -63.030265,46.404790 -63.031135,46.404790 -63.031932,46.404820 -63.033712,46.404601 -63.034196,46.404578 -63.035013,46.404590 -63.035110,46.404581 -63.035393,46.404581 -63.036026,46.404605 -63.036486,46.404611 -63.036547,46.404624 -63.036611,46.404627 -63.036982,46.404494 -63.038648,46.404240 -63.043021,46.403782 -63.044070,46.403652 -63.044191,46.403649 -63.044476,46.403606 -63.048368,46.403213 -63.049408,46.403200 -63.050228,46.403119 -63.050378,46.403119 -63.051748,46.403171 -63.052748,46.400979 -63.055976,46.398320 -63.060429,46.396718 -63.065428,46.396417 -63.067170,46.396634 -63.069693,46.397074 -63.083338,46.397540 -63.083684,46.397608 -63.084105,46.397582 -63.087336,46.398126 -63.089842,46.398795 -63.091397,46.399295 -63.095243,46.401527 -63.096761,46.403451 -63.097603,46.403635 -63.101449,46.405866 -63.103557,46.408491 -63.104326,46.410007 -63.109272,46.412208 -63.109331,46.412244 -63.109717,46.412402 -63.109952,46.412544 -63.110173,46.412598 -63.113665,46.414167 -63.116415,46.415302 -63.116616,46.415423 -63.116703,46.415444 -63.118046,46.416018 -63.129091,46.417905 -63.129256,46.417949 -63.134172,46.418760 -63.134276,46.418788 -63.134487,46.418815 -63.137370,46.419343 -63.140920,46.419941 -63.144058,46.420782 -63.145655,46.421589 -63.148223,46.419469 -63.148832,46.419198 -63.148841,46.419191 -63.148909,46.419164 -63.150515,46.418450 -63.150682,46.418392 -63.151239,46.418240 -63.152330,46.417808 -63.152463,46.417773 -63.153425,46.417549 -63.157435,46.417195 -63.158472,46.417217 -63.158781,46.417275 -63.159098,46.417287 -63.159463,46.417265 -63.159616,46.417293 -63.159709,46.417282 -63.161358,46.417250 -63.161664,46.417224 -63.161691,46.417220 -63.161797,46.417212 -63.162310,46.417168 -63.162343,46.417169 -63.162416,46.417162 -63.162532,46.417161 -63.163206,46.417183 -63.163461,46.417182 -63.163489,46.417183 -63.163756,46.417167 -63.163984,46.417201 -63.164286,46.417211 -63.164576,46.417212 -63.164632,46.417224 -63.164910,46.417234 -63.165046,46.417263 -63.165194,46.417269 -63.165315,46.417295 -63.165495,46.417147 -63.165593,46.417111 -63.165761,46.416973 -63.165918,46.416916 -63.166026,46.416829 -63.166443,46.416609 -63.167907,46.416097 -63.170853,46.414982 -63.171103,46.414924 -63.171233,46.414914 -63.171330,46.414878 -63.171438,46.414872 -63.171580,46.414820 -63.176581,46.414513 -63.181372,46.415552 -63.184766,46.417408 -63.184900,46.417511 -63.185014,46.417653 -63.185267,46.417777 -63.187125,46.418987 -63.187986,46.419486 -63.188053,46.419557 -63.188239,46.419565 -63.188297,46.419561 -63.189231,46.419595 -63.196483,46.419650 -63.196683,46.419658 -63.196734,46.419653 -63.199564,46.419713 -63.200522,46.419711 -63.201346,46.419741 -63.209820,46.419858 -63.210553,46.419891 -63.211385,46.419902 -63.212493,46.419952 -63.217285,46.420989 -63.217593,46.421167 -63.217621,46.421173 -63.217884,46.421324 -63.218101,46.421431 -63.218290,46.421472 -63.219885,46.422184 -63.219952,46.422219 -63.219963,46.422227 -63.219989,46.422225 -63.221720,46.422437 -63.221988,46.422483 -63.222259,46.422557 -63.222677,46.422616 -63.222943,46.422673 -63.224197,46.423039 -63.224210,46.423042 -63.225697,46.423039 -63.226015,46.423050 -63.226128,46.423039 -63.226530,46.423038 -63.227304,46.423065 -63.227480,46.423066 -63.227511,46.423073 -63.227947,46.423088 -63.228144,46.423131 -63.228282,46.423122 -63.228353,46.423137 -63.228445,46.423132 -63.228780,46.423166 -63.229187,46.423260 -63.229721,46.423318 -63.230506,46.423432 -63.231813,46.423766 -63.233004,46.423984 -63.233691,46.424191 -63.234714,46.424537 -63.235655,46.424929 -63.236710,46.425412 -63.237245,46.425748 -63.238289,46.426264 -63.239011,46.426720 -63.241880,46.427340 -63.242299,46.427158 -63.242549,46.427076 -63.243942,46.426709 -63.244096,46.426651 -63.245032,46.426441 -63.245205,46.426429 -63.245370,46.426369 -63.248705,46.426009 -63.249506,46.425996 -63.250455,46.426024 -63.250612,46.426011 -63.250864,46.426022 -63.250941,46.426038 -63.251173,46.426044 -63.251268,46.426065 -63.251425,46.426055 -63.251564,46.426084 -63.251725,46.426089 -63.252067,46.426135 -63.252962,46.426167 -63.253334,46.426248 -63.253534,46.426238 -63.254085,46.426295 -63.254280,46.426340 -63.255443,46.426488 -63.255945,46.426579 -63.258843,46.427374 -63.258883,46.427397 -63.259144,46.427466 -63.259169,46.427480 -63.259479,46.427558 -63.262545,46.429166 -63.262915,46.429429 -63.263398,46.429751 -63.264065,46.430256 -63.264171,46.430314 -63.264591,46.430648 -63.264682,46.430763 -63.264762,46.430823 -63.264895,46.430899 -63.265006,46.431004 -63.265332,46.431245 -63.266124,46.432001 -63.266459,46.432359 -63.267028,46.433217 -63.267867,46.433701 -63.267958,46.433820 -63.270148,46.434939 -63.270183,46.434962 -63.271205,46.435738 -63.271310,46.435877 -63.273132,46.436947 -63.273176,46.437005 -63.273216,46.437028 -63.273319,46.437164 -63.273758,46.437418 -63.276763,46.438043 -63.276854,46.438096 -63.276931,46.438112 -63.277034,46.438173 -63.277176,46.438206 -63.277344,46.438275 -63.280789,46.440336 -63.280864,46.440435 -63.280979,46.440502 -63.281197,46.440698 -63.281987,46.441770 -63.283207,46.443313 -63.283257,46.443417 -63.283273,46.443515 -63.283341,46.443608 -63.283347,46.443654 -63.283391,46.443712 -63.283917,46.446182 -63.283918,46.446309 -63.283846,46.447298 -63.283787,46.447429 -63.283797,46.447507 -63.283744,46.447687 -63.283752,46.447780 -63.283703,46.447989 -63.283585,46.448228 -63.283315,46.449149 -63.283117,46.449600 -63.282433,46.450729 -63.282332,46.450969 -63.282116,46.451270 -63.281966,46.451399 -63.281887,46.451574 -63.279705,46.453596 -63.279555,46.453701 -63.278519,46.454346 -63.277950,46.454584 -63.277193,46.454963 -63.276958,46.455068 -63.276273,46.455285 -63.275554,46.455586 -63.275321,46.455656 -63.274293,46.455914 -63.273601,46.456134 -63.272510,46.456321 -63.272260,46.456355 -63.269219,46.456453 -63.268581,46.456497 -63.267661,46.456441 -63.267548,46.456418 -63.267425,46.456426 -63.266259,46.456239 -63.266080,46.456221 -63.265932,46.456187 -63.264393,46.455941 -63.264121,46.455873 -63.264029,46.455878 -63.262850,46.455753 -63.262448,46.455697 -63.261114,46.455362 -63.259831,46.455126 -63.259563,46.455045 -63.258562,46.454706 -63.258525,46.454685 -63.258481,46.454676 -63.257968,46.454479 -63.257105,46.454224 -63.257065,46.454201 -63.256974,46.454177 -63.256776,46.454135 -63.256291,46.453962 -63.256179,46.453899 -63.256033,46.453868 -63.255936,46.453813 -63.255348,46.453722 -63.255063,46.453654 -63.254632,46.453522 -63.254405,46.453483 -63.253752,46.453299 -63.252814,46.452991 -63.251876,46.452826 -63.251843,46.452817 -63.251252,46.452737 -63.250967,46.452680 -63.249974,46.452397 -63.249402,46.452296 -63.249000,46.452181 -63.248191,46.451914 -63.248101,46.451896 -63.247890,46.451822 -63.247714,46.451788 -63.246775,46.451489 -63.246721,46.451460 -63.246585,46.451420 -63.245962,46.451304 -63.245644,46.451216 -63.245641,46.451216 -63.245549,46.451198 -63.245159,46.451161 -63.245120,46.451152 -63.244793,46.451173 -63.242395,46.450834 -63.241742,46.450696 -63.240144,46.450231 -63.239797,46.450161 -63.239496,46.450058 -63.239436,46.450025 -63.239343,46.449998 -63.239238,46.449938 -63.239042,46.449895 -63.237029,46.448956 -63.237023,46.448953 -63.236594,46.448834 -63.236416,46.448802 -63.236135,46.448725 -63.235660,46.448642 -63.235391,46.448566 -63.234934,46.448511 -63.234931,46.448511 -63.234928,46.448511 -63.234813,46.448497 -63.234194,46.448394 -63.234142,46.448380 -63.233973,46.448356 -63.233793,46.448350 -63.233761,46.448352 -63.233742,46.448348 -63.233329,46.448334 -63.233209,46.448341 -63.233125,46.448327 -63.232908,46.448319 -63.230552,46.447989 -63.229949,46.447863 -63.227509,46.447156 -63.225312,46.445985 -63.225198,46.445947 -63.225101,46.445904 -63.224981,46.445878 -63.224267,46.445567 -63.224061,46.445491 -63.224016,46.445466 -63.223959,46.445453 -63.223563,46.445266 -63.223523,46.445257 -63.223004,46.445027 -63.222675,46.444919 -63.221954,46.444768 -63.221332,46.444587 -63.221102,46.444555 -63.220449,46.444417 -63.220085,46.444311 -63.219522,46.444214 -63.218931,46.444056 -63.218598,46.444007 -63.217868,46.443849 -63.217524,46.443810 -63.217334,46.443765 -63.217176,46.443741 -63.217154,46.443736 -63.216451,46.443641 -63.216174,46.443604 -63.214893,46.443457 -63.214241,46.443356 -63.214087,46.443343 -63.213902,46.443303 -63.213876,46.443298 -63.213761,46.443294 -63.213495,46.443237 -63.212588,46.443203 -63.212216,46.443140 -63.212104,46.443147 -63.211560,46.443065 -63.211213,46.443035 -63.211046,46.442997 -63.210062,46.442862 -63.209958,46.442853 -63.209899,46.442839 -63.209209,46.442744 -63.208832,46.442668 -63.208778,46.442662 -63.208632,46.442630 -63.208574,46.442633 -63.208455,46.442606 -63.208273,46.442599 -63.207878,46.442524 -63.207681,46.442508 -63.207590,46.442510 -63.205765,46.442466 -63.204999,46.442482 -63.203223,46.442435 -63.203068,46.442416 -63.202655,46.442401 -63.202146,46.442339 -63.201986,46.442333 -63.200790,46.442201 -63.200364,46.442186 -63.200059,46.442120 -63.199912,46.442129 -63.199615,46.442086 -63.199431,46.442093 -63.198979,46.442036 -63.198563,46.441934 -63.197418,46.441768 -63.197310,46.441744 -63.196004,46.441761 -63.195341,46.441740 -63.194943,46.441772 -63.194058,46.441739 -63.193747,46.441678 -63.193374,46.441701 -63.191936,46.441536 -63.189689,46.441188 -63.189384,46.441162 -63.189173,46.441183 -63.188023,46.441176 -63.187740,46.441206 -63.186953,46.441219 -63.186645,46.441210 -63.186640,46.441211 -63.186306,46.441211 -63.185145,46.441167 -63.184982,46.441179 -63.183368,46.441177 -63.182921,46.441212 -63.181800,46.441168 -63.181503,46.441110 -63.181150,46.441131 -63.180565,46.441065 -63.179947,46.441052 -63.179763,46.441012 -63.179626,46.441010 -63.179519,46.441015 -63.179425,46.441006 -63.179163,46.441001 -63.179062,46.441008 -63.178945,46.441000 -63.178883,46.441001 -63.177229,46.440953 -63.177079,46.440963 -63.175911,46.440960 -63.175288,46.441019 -63.174445,46.441009 -63.174441,46.441010 -63.173856,46.441011 -63.172440,46.440959 -63.172347,46.440945 -63.171938,46.440937 -63.171895,46.440928 -63.171741,46.440922 -63.171037,46.440923 -63.170848,46.440944 -63.169462,46.440969 -63.169146,46.440960 -63.168686,46.440969 -63.168573,46.440983 -63.167686,46.441030 -63.167371,46.441067 -63.167111,46.441076 -63.166321,46.441174 -63.165776,46.441201 -63.165287,46.441265 -63.164166,46.441336 -63.163566,46.441333 -63.162444,46.441500 -63.162194,46.441524 -63.161894,46.441527 -63.161859,46.441528 -63.160679,46.441696 -63.160260,46.441731 -63.159754,46.441733 -63.159673,46.441744 -63.158887,46.441803 -63.157818,46.441803 -63.157457,46.441837 -63.157164,46.441881 -63.156579,46.441940 -63.155752,46.441951 -63.154997,46.442031 -63.154194,46.442043 -63.153991,46.442037 -63.153182,46.442135 -63.151761,46.442195 -63.149589,46.442159 -63.149528,46.442146 -63.148653,46.442114 -63.147528,46.441995 -63.147194,46.441949 -63.146828,46.441857 -63.146783,46.441869 -63.146498,46.441892 -63.146267,46.441979 -63.146180,46.441985 -63.146034,46.442037 -63.142496,46.442395 -63.142245,46.442396 -63.141276,46.442362 -63.141273,46.442362 -63.140385,46.442365 -63.139807,46.442422 -63.139188,46.442423 -63.137769,46.442371 -63.137670,46.442350 -63.137571,46.442355 -63.136501,46.442263 -63.136227,46.442202 -63.135558,46.442093 -63.134946,46.442024 -63.134679,46.441984 -63.134203,46.441942 -63.133930,46.441881 -63.133157,46.441756 -63.133092,46.441759 -63.132807,46.441723 -63.132511,46.441651 -63.131353,46.441463 -63.130901,46.441348 -63.130791,46.441314 -63.130297,46.441229 -63.129796,46.441091 -63.129609,46.441030 -63.129452,46.440994 -63.128542,46.440720 -63.127927,46.440560 -63.127774,46.440489 -63.127323,46.440353 -63.127304,46.440342 -63.127280,46.440337 -63.127235,46.440319 -63.125935,46.439939 -63.123567,46.438785 -63.123366,46.438661 -63.123302,46.438646 -63.122750,46.438404 -63.122653,46.438344 -63.122606,46.438323 -63.122454,46.438289 -63.122369,46.438241 -63.122224,46.438194 -63.122166,46.438179 -63.122053,46.438151 -63.122049,46.438149 -63.121053,46.437894 -63.119847,46.437674 -63.118844,46.437374 -63.117771,46.437011 -63.117220,46.436779 -63.116147,46.436460 -63.116145,46.436459 -63.116132,46.436455 -63.116064,46.436435 -63.116061,46.436433 -63.115877,46.436377 -63.115496,46.436274 -63.115456,46.436251 -63.115209,46.436205 -63.114937,46.436123 -63.114695,46.436092 -63.114311,46.436023 -63.114085,46.435961 -63.113536,46.435885 -63.112751,46.435724 -63.112168,46.435555 -63.112116,46.435558 -63.111715,46.435512 -63.111407,46.435438 -63.110180,46.435268 -63.109561,46.435142 -63.108893,46.434949 -63.108725,46.434920 -63.108721,46.434920 -63.108170,46.434839 -63.107252,46.434603 -63.106307,46.434441 -63.106145,46.434447 -63.105861,46.434412 -63.104048,46.433970 -63.102558,46.433677 -63.102039,46.433505 -63.101960,46.433461 -63.101933,46.433455 -63.101770,46.433360 -63.101414,46.433283 -63.100636,46.432957 -63.100428,46.432918 -63.099805,46.432725 -63.099070,46.432590 -63.098954,46.432555 -63.098930,46.432556 -63.098728,46.432533 -63.098338,46.432440 -63.098154,46.432420 -63.097402,46.432316 -63.096120,46.431993 -63.095908,46.431954 -63.095473,46.431892 -63.094817,46.431753 -63.094780,46.431747 -63.094769,46.431743 -63.094169,46.431616 -63.094124,46.431603 -63.093944,46.431576 -63.093576,46.431480 -63.093119,46.431428 -63.092924,46.431381 -63.091998,46.431264 -63.091095,46.431103 -63.090963,46.431067 -63.090944,46.431065 -63.090258,46.430950 -63.089949,46.430867 -63.089879,46.430866 -63.088765,46.430815 -63.088577,46.430774 -63.088480,46.430780 -63.088104,46.430724 -63.087915,46.430731 -63.087630,46.430696 -63.087361,46.430631 -63.086448,46.430543 -63.086317,46.430513 -63.085595,46.430424 -63.085303,46.430413 -63.085159,46.430393 -63.084785,46.430379 -63.084284,46.430270 -63.083856,46.430285 -63.082967,46.430172 -63.082930,46.430172 -63.082754,46.430146 -63.082545,46.430138 -63.082153,46.430074 -63.082027,46.430069 -63.081415,46.429964 -63.081157,46.429954 -63.080806,46.429897 -63.080783,46.429897 -63.080432,46.429851 -63.080247,46.429806 -63.079808,46.429734 -63.078710,46.429608 -63.078531,46.429580 -63.077335,46.429438 -63.077143,46.429407 -63.076995,46.429402 -63.076629,46.429343 -63.076424,46.429329 -63.076376,46.429319 -63.076326,46.429322 -63.075715,46.429225 -63.075476,46.429205 -63.075201,46.429143 -63.074880,46.429092 -63.074773,46.429097 -63.074472,46.429063 -63.074055,46.428964 -63.073757,46.428931 -63.073718,46.428930 -63.073683,46.428923 -63.073290,46.428880 -63.072721,46.428799 -63.072698,46.428793 -63.072364,46.428781 -63.072244,46.428761 -63.071996,46.428758 -63.071672,46.428687 -63.071327,46.428659 -63.071288,46.428651 -63.069726,46.428459 -63.069258,46.428379 -63.068925,46.428289 -63.068836,46.428286 -63.068318,46.428222 -63.068184,46.428217 -63.067576,46.428138 -63.067399,46.428149 -63.067078,46.428079 -63.066881,46.428090 -63.064987,46.427846 -63.064736,46.427800 -63.064485,46.427731 -63.064307,46.427714 -63.063600,46.427552 -63.063588,46.427550 -63.063069,46.427526 -63.061481,46.427333 -63.060911,46.427270 -63.060314,46.427233 -63.060201,46.427209 -63.060077,46.427216 -63.059688,46.427171 -63.059513,46.427164 -63.059364,46.427135 -63.058913,46.427118 -63.058807,46.427124 -63.058744,46.427112 -63.058472,46.427101 -63.058413,46.427091 -63.057513,46.427068 -63.057103,46.426990 -63.056584,46.427021 -63.055880,46.426919 -63.055714,46.426929 -63.054649,46.426817 -63.054231,46.426760 -63.053489,46.426710 -63.053418,46.426694 -63.053341,46.426699 -63.053169,46.426679 -63.052790,46.426665 -63.052772,46.426661 -63.052676,46.426661 -63.052355,46.426649 -63.052305,46.426649 -63.050900,46.426596 -63.050868,46.426589 -63.050750,46.426596 -63.050520,46.426546 -63.049394,46.426420 -63.048925,46.426351 -63.048773,46.426312 -63.048577,46.426308 -63.048144,46.426253 -63.048092,46.426251 -63.048042,46.426240 -63.047447,46.426164 -63.047278,46.426171 -63.046270,46.426048 -63.045067,46.426021 -63.044754,46.425952 -63.044582,46.425963 -63.044451,46.425938 -63.044283,46.425944 -63.043798,46.425886 -63.042802,46.425645 -63.041780,46.426012 -63.040432,46.426093 -63.039742,46.426267 -63.039173,46.426323 -63.038126,46.426491 -63.037642,46.426549 -63.036785,46.426567 -63.035764,46.426676 -63.034409,46.426699 -63.033851,46.426683 -63.033683,46.426698 -63.033182,46.426687 -63.033036,46.426659 -63.032682,46.426648 -63.032346,46.426575 -63.032185,46.426588 -63.031834,46.426576 -63.031643,46.426576 -63.031055,46.426634 -63.030771,46.426634 -63.029356,46.426580 -63.029316,46.426572 -63.029274,46.426574 -63.028989,46.426551 -63.028930,46.426538 -63.028784,46.426532 -63.028720,46.426536 -63.028018,46.426491 -63.027973,46.426481 -63.027317,46.426465 -63.027124,46.426434 -63.026881,46.426430 -63.026848,46.426423 -63.026429,46.426407 -63.025991,46.426415 -63.024996,46.426507 -63.023737,46.426491 -63.023596,46.426498 -63.022900,46.426489 -63.022693,46.426509 -63.022526,46.426509 -63.021475,46.426469 -63.021283,46.426466 -63.021257,46.426460 -63.021116,46.426455 -63.020857,46.426417 -63.020552,46.426417 -63.019362,46.426372 -63.019037,46.426401 -63.017818,46.426409 -63.016914,46.426498 -63.016095,46.426498 -63.015161,46.426462 -63.014999,46.426484 -63.014096,46.426542 -63.013086,46.426535 -63.011916,46.426694 -63.011431,46.426729 -63.009944,46.426726 -63.009448,46.426765 -63.008583,46.426735 -63.008307,46.426759 -63.007903,46.426749 -63.007549,46.426777 -63.007491,46.426775 -63.007261,46.426799 -63.006544,46.426806 -63.006426,46.426813 -63.006234,46.426811 -63.005813,46.426854 -63.005414,46.426859 -63.005082,46.426892 -63.004497,46.426892 -63.004389,46.426888 -63.004320,46.426894 -63.004021,46.426933 -63.003302,46.426980 -63.002101,46.426974 -63.002044,46.426978 -63.001858,46.426997 -63.001647,46.426997 -63.000843,46.427090 -62.999315,46.427142 -62.999254,46.427148 -62.999147,46.427148 -62.998837,46.427159 -62.998739,46.427157 -62.998610,46.427177 -62.998403,46.427185 -62.997476,46.427299 -62.996990,46.427322 -62.996481,46.427314 -62.996288,46.427347 -62.996118,46.427370 -62.996017,46.427407 -62.994188,46.427675 -62.993705,46.427721 -62.993313,46.427725 -62.992321,46.427878 -62.991904,46.427924 -62.991067,46.427938 -62.990503,46.427996 -62.990164,46.428001 -62.989406,46.428106 -62.988204,46.428200 -62.987952,46.428250 -62.987804,46.428258 -62.987675,46.428271 -62.987209,46.428361 -62.987094,46.428368 -62.984592,46.428673 -62.984465,46.428679 -62.984111,46.428726 -62.983639,46.428756 -62.982640,46.428893 -62.981940,46.428947 -62.981770,46.428979 -62.981356,46.429001 -62.980979,46.429038 -62.980770,46.429106 -62.980285,46.429176 -62.979221,46.429211 -62.978757,46.429257 -62.978734,46.429265 -62.978660,46.429271 -62.978545,46.429309 -62.978043,46.429389 -62.977656,46.429405 -62.976758,46.429515 -62.975887,46.429662 -62.975669,46.429672 -62.975546,46.429696 -62.975526,46.429698 -62.975508,46.429704 -62.975209,46.429741 -62.975023,46.429785 -62.974720,46.429803 -62.974477,46.429886 -62.973791,46.430001 -62.973700,46.430005 -62.973636,46.430026 -62.973201,46.430095 -62.973109,46.430099 -62.973051,46.430119 -62.971917,46.430186 -62.969770,46.430390 -62.969603,46.430389 -62.968954,46.430362 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-62.989563,46.064927 -62.827170,46.204759</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-62.961066,46.065223 -62.966029,46.064927 -62.970777,46.065976 -62.970986,46.066098 -62.971219,46.066153 -62.979586,46.069672 -62.982955,46.071727 -62.984136,46.072950 -62.985932,46.075190 -62.987045,46.077046 -62.987414,46.078230 -62.989480,46.088025 -62.989527,46.089858 -62.989563,46.090122 -62.987704,46.104314 -62.987668,46.104397 -62.987679,46.104488 -62.987379,46.105654 -62.982589,46.119035 -62.982565,46.119077 -62.982543,46.119159 -62.980070,46.125665 -62.978908,46.127681 -62.977263,46.129300 -62.971396,46.133886 -62.969828,46.134920 -62.965399,46.136516 -62.960609,46.136801 -62.960118,46.136978 -62.955147,46.137273 -62.950392,46.136223 -62.949222,46.135775 -62.947107,46.135344 -62.944531,46.134598 -62.942188,46.133225 -62.940871,46.133639 -62.939098,46.133902 -62.938060,46.134003 -62.935743,46.134468 -62.931602,46.134714 -62.930288,46.135947 -62.928253,46.137405 -62.928266,46.138868 -62.926754,46.142173 -62.923537,46.144825 -62.919105,46.146419 -62.916052,46.146599 -62.915525,46.147033 -62.911558,46.148459 -62.911578,46.148624 -62.910133,46.151780 -62.913776,46.153916 -62.916069,46.156997 -62.916491,46.160453 -62.914977,46.163759 -62.914539,46.164120 -62.914547,46.164129 -62.914791,46.164518 -62.915172,46.164944 -62.917429,46.168296 -62.918133,46.169598 -62.918556,46.173055 -62.917042,46.176361 -62.915025,46.178021 -62.915263,46.180823 -62.915206,46.182337 -62.914502,46.184410 -62.912726,46.187769 -62.911915,46.189003 -62.908694,46.191654 -62.904257,46.193247 -62.899279,46.193540 -62.894519,46.192487 -62.890702,46.190249 -62.888409,46.187167 -62.887920,46.184339 -62.887931,46.184147 -62.882973,46.189311 -62.882888,46.189375 -62.882672,46.189612 -62.880812,46.191385 -62.880132,46.191879 -62.878977,46.194395 -62.875564,46.198682 -62.872340,46.201332 -62.867901,46.202924 -62.867514,46.202946 -62.867213,46.203047 -62.857472,46.204593 -62.853180,46.204759 -62.848420,46.203704 -62.844605,46.201464 -62.842315,46.198381 -62.841898,46.194924 -62.843418,46.191619 -62.844177,46.190667 -62.847402,46.188017 -62.851841,46.186427 -62.852750,46.186245 -62.852755,46.185995 -62.852835,46.185133 -62.854354,46.181828 -62.857578,46.179178 -62.859298,46.178431 -62.862515,46.174392 -62.863267,46.173559 -62.864509,46.172340 -62.864211,46.171938 -62.859872,46.172191 -62.855115,46.171136 -62.851302,46.168897 -62.849013,46.165814 -62.848682,46.164416 -62.848028,46.164031 -62.847847,46.164057 -62.847003,46.164082 -62.845607,46.164230 -62.840168,46.164315 -62.838439,46.164261 -62.833684,46.163205 -62.829873,46.160965 -62.827585,46.157881 -62.827170,46.154425 -62.828690,46.151121 -62.830823,46.149150 -62.832836,46.147748 -62.833926,46.147070 -62.837780,46.145607 -62.841781,46.144663 -62.846027,46.142749 -62.849453,46.141664 -62.854425,46.141374 -62.858140,46.142071 -62.859366,46.142446 -62.858382,46.141122 -62.857965,46.137666 -62.859482,46.134362 -62.862450,46.131856 -62.863349,46.131331 -62.863669,46.130368 -62.864938,46.128066 -62.865836,46.127327 -62.866868,46.125078 -62.867855,46.124021 -62.869523,46.122486 -62.871754,46.120894 -62.872229,46.120723 -62.872000,46.119224 -62.872217,46.117023 -62.868725,46.114971 -62.866437,46.111889 -62.866020,46.108433 -62.866173,46.108098 -62.866153,46.107810 -62.866604,46.106118 -62.867986,46.103438 -62.871203,46.100789 -62.875633,46.099198 -62.880600,46.098907 -62.881275,46.099033 -62.882315,46.098660 -62.887282,46.098368 -62.889456,46.098690 -62.893846,46.097642 -62.900650,46.093813 -62.903356,46.090405 -62.903653,46.089286 -62.905032,46.086605 -62.908246,46.083955 -62.912672,46.082362 -62.917079,46.082034 -62.922098,46.082271 -62.929479,46.081459 -62.931914,46.081421 -62.933627,46.079260 -62.936839,46.076609 -62.938160,46.075965 -62.945606,46.072804 -62.956766,46.066751 -62.961066,46.065223 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-62.854769,46.423230 -62.639030,46.465545</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-62.847543,46.442635 -62.843078,46.444227 -62.838071,46.444516 -62.836786,46.444369 -62.832716,46.443757 -62.831886,46.443541 -62.830759,46.443348 -62.830172,46.443189 -62.823376,46.443159 -62.817156,46.443675 -62.811983,46.445163 -62.810588,46.445501 -62.807682,46.445835 -62.799701,46.446111 -62.791610,46.447004 -62.786560,46.447835 -62.777566,46.449873 -62.773366,46.451440 -62.770794,46.452164 -62.767494,46.452506 -62.756700,46.452645 -62.747083,46.453533 -62.734592,46.455035 -62.725506,46.456536 -62.721038,46.456721 -62.716254,46.455658 -62.715284,46.455222 -62.707283,46.457172 -62.698385,46.459915 -62.688730,46.460825 -62.678461,46.461112 -62.670223,46.463722 -62.660944,46.465545 -62.651435,46.464195 -62.646663,46.460430 -62.639030,46.447080 -62.644437,46.441069 -62.651340,46.442188 -62.664862,46.445471 -62.677066,46.445546 -62.682984,46.441659 -62.693205,46.438658 -62.701149,46.440558 -62.706262,46.438740 -62.706304,46.438648 -62.709556,46.436001 -62.713800,46.434461 -62.721195,46.432902 -62.727234,46.431610 -62.727375,46.431601 -62.727508,46.431553 -62.732514,46.431270 -62.734799,46.431599 -62.740194,46.432737 -62.743368,46.433380 -62.743898,46.433307 -62.755113,46.432409 -62.755840,46.432409 -62.756408,46.432351 -62.764194,46.432273 -62.764702,46.432091 -62.766746,46.431531 -62.766886,46.431481 -62.776413,46.429495 -62.787662,46.427066 -62.787813,46.427056 -62.787956,46.427005 -62.790451,46.426691 -62.798654,46.426226 -62.808765,46.424405 -62.808983,46.424394 -62.810803,46.424157 -62.824513,46.423262 -62.825783,46.423270 -62.826266,46.423230 -62.834729,46.423477 -62.835132,46.423555 -62.835640,46.423526 -62.836743,46.423646 -62.844531,46.424736 -62.848211,46.425673 -62.852046,46.427915 -62.854349,46.431001 -62.854769,46.434461 -62.853241,46.437770 -62.852192,46.438877 -62.849737,46.441090 -62.847543,46.442635 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-60.413330,46.353809 -60.356129,46.397693</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-60.385458,46.359420 -60.385458,46.359420 -60.388841,46.356857 -60.389772,46.356556 -60.390750,46.355815 -60.395291,46.354344 -60.395835,46.354327 -60.396951,46.353965 -60.401960,46.353809 -60.406674,46.354991 -60.407987,46.355621 -60.408587,46.355949 -60.410976,46.357661 -60.413103,46.360805 -60.413330,46.364273 -60.411622,46.367537 -60.410379,46.368726 -60.408877,46.369939 -60.408779,46.370001 -60.408681,46.370093 -60.407326,46.371137 -60.406956,46.371369 -60.406729,46.371567 -60.405113,46.372655 -60.403766,46.373445 -60.403556,46.373513 -60.403410,46.373620 -60.403211,46.373714 -60.402639,46.374077 -60.401580,46.374679 -60.401506,46.374703 -60.401453,46.374743 -60.401229,46.374854 -60.400555,46.375337 -60.398919,46.376328 -60.398857,46.376348 -60.398821,46.376370 -60.398792,46.376391 -60.398762,46.376407 -60.398464,46.376590 -60.397831,46.377007 -60.396585,46.377729 -60.395559,46.378062 -60.394460,46.380312 -60.392363,46.382964 -60.392187,46.383104 -60.392084,46.383299 -60.390933,46.384193 -60.390845,46.384330 -60.390104,46.385310 -60.389128,46.386276 -60.387864,46.387365 -60.387471,46.387814 -60.387471,46.387814 -60.386538,46.388882 -60.384602,46.390584 -60.384050,46.391160 -60.383379,46.391800 -60.381843,46.392870 -60.381697,46.393148 -60.378311,46.395711 -60.373764,46.397182 -60.373281,46.397199 -60.372232,46.397538 -60.367219,46.397693 -60.362501,46.396508 -60.358798,46.394164 -60.357348,46.392411 -60.357026,46.391892 -60.356352,46.390500 -60.356129,46.387031 -60.357841,46.383767 -60.358450,46.383134 -60.360414,46.381271 -60.360545,46.381180 -60.360858,46.380874 -60.362405,46.379567 -60.362718,46.379210 -60.362718,46.379210 -60.363831,46.378217 -60.364175,46.377671 -60.365713,46.376294 -60.365794,46.376200 -60.366637,46.375494 -60.366645,46.375482 -60.366713,46.375430 -60.368172,46.374208 -60.368906,46.373748 -60.369023,46.373682 -60.370030,46.372920 -60.370040,46.372915 -60.371231,46.372014 -60.371711,46.371465 -60.375096,46.368903 -60.376412,46.368477 -60.376566,46.368183 -60.376562,46.368114 -60.378272,46.364851 -60.380611,46.363079 -60.380899,46.362831 -60.381201,46.362633 -60.381656,46.362288 -60.381722,46.362259 -60.383005,46.361288 -60.383023,46.361272 -60.384003,46.360531 -60.385202,46.359786 -60.385311,46.359588 -60.385311,46.359588 -60.385458,46.359420 -60.385458,46.359420 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-65.125158,43.665133 -64.760868,43.976692</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-65.053987,43.742925 -65.047700,43.743294 -65.043849,43.743298 -65.041717,43.742862 -65.042716,43.748967 -65.041543,43.753158 -65.039347,43.757926 -65.042817,43.762414 -65.043932,43.769227 -65.042949,43.772987 -65.040061,43.779842 -65.045766,43.790501 -65.068089,43.813997 -65.068569,43.814701 -65.069563,43.815761 -65.079864,43.829891 -65.081479,43.832654 -65.082602,43.839469 -65.080036,43.846077 -65.074170,43.851471 -65.065897,43.854830 -65.056477,43.855640 -65.047346,43.853779 -65.046555,43.853329 -65.045775,43.853147 -65.021210,43.842368 -65.019640,43.841401 -65.017158,43.840137 -64.997851,43.826977 -64.996027,43.825590 -64.991399,43.819600 -64.990253,43.815163 -64.989850,43.809974 -64.982276,43.802893 -64.980963,43.801094 -64.979333,43.802965 -64.974549,43.806966 -64.966277,43.810314 -64.960299,43.810822 -64.960548,43.811274 -64.970580,43.824242 -64.970700,43.824253 -64.978761,43.826043 -64.986202,43.830296 -64.986671,43.830904 -64.987273,43.831274 -64.994312,43.838184 -64.997870,43.843197 -64.999051,43.848271 -64.999730,43.872661 -64.999660,43.874403 -64.997079,43.881010 -64.991199,43.886399 -64.982913,43.889750 -64.973485,43.890552 -64.969314,43.890045 -64.959836,43.888269 -64.954872,43.886905 -64.951069,43.885162 -64.943400,43.880876 -64.943016,43.883888 -64.940452,43.890280 -64.934564,43.895666 -64.926273,43.899011 -64.916842,43.899807 -64.913910,43.899506 -64.894470,43.896624 -64.888268,43.895048 -64.883683,43.892843 -64.877599,43.889135 -64.877105,43.889690 -64.863633,43.901958 -64.862881,43.902520 -64.870007,43.905782 -64.875535,43.909255 -64.880157,43.915253 -64.881252,43.922074 -64.878652,43.928679 -64.873804,43.935516 -64.866528,43.945771 -64.860624,43.951153 -64.853505,43.954015 -64.847260,43.962809 -64.841352,43.968190 -64.836959,43.970337 -64.825474,43.974716 -64.821555,43.975907 -64.812106,43.976692 -64.802961,43.974805 -64.800635,43.973820 -64.792605,43.969975 -64.787484,43.966688 -64.782870,43.960683 -64.781788,43.953860 -64.782054,43.953190 -64.781992,43.952620 -64.783019,43.947818 -64.785430,43.942455 -64.791342,43.937078 -64.797630,43.934555 -64.798423,43.932596 -64.801353,43.929393 -64.804953,43.926262 -64.801441,43.924096 -64.797691,43.922102 -64.797223,43.921493 -64.796621,43.921122 -64.786667,43.911299 -64.778775,43.909666 -64.771340,43.905394 -64.766734,43.899390 -64.764901,43.895252 -64.763848,43.891535 -64.760892,43.868838 -64.760868,43.865735 -64.763481,43.859136 -64.769384,43.853763 -64.770036,43.853501 -64.770448,43.853147 -64.777664,43.849202 -64.777513,43.848987 -64.776435,43.842168 -64.779045,43.835569 -64.784943,43.830195 -64.785784,43.829857 -64.786297,43.829422 -64.792037,43.826379 -64.798972,43.823819 -64.808390,43.823037 -64.809718,43.823312 -64.808277,43.810239 -64.808282,43.807400 -64.810885,43.800801 -64.816775,43.795426 -64.825056,43.792092 -64.833849,43.791276 -64.844270,43.791699 -64.844565,43.791757 -64.844888,43.791730 -64.853999,43.793611 -64.857091,43.795386 -64.857925,43.793265 -64.860040,43.790802 -64.863885,43.787053 -64.867653,43.784139 -64.870923,43.782442 -64.896661,43.771296 -64.901663,43.769653 -64.908376,43.769086 -64.908486,43.768906 -64.914361,43.763525 -64.919176,43.761579 -64.919880,43.759569 -64.927618,43.746919 -64.927997,43.746551 -64.928198,43.746038 -64.930936,43.742985 -64.943862,43.731399 -64.946992,43.729070 -64.955251,43.725725 -64.963444,43.724878 -64.984428,43.725330 -64.988501,43.721202 -64.993382,43.717553 -64.991812,43.714786 -64.991681,43.714181 -64.991170,43.713519 -64.990064,43.706706 -64.992635,43.700106 -64.999364,43.690536 -65.005128,43.682333 -65.010981,43.676948 -65.019226,43.673598 -65.028610,43.672792 -65.036555,43.674256 -65.042794,43.676270 -65.043023,43.675680 -65.048871,43.670293 -65.057112,43.666939 -65.059701,43.666440 -65.066328,43.665445 -65.073120,43.665133 -65.082215,43.666989 -65.089640,43.671230 -65.094266,43.677211 -65.094909,43.678935 -65.096832,43.685370 -65.097959,43.687179 -65.099030,43.690854 -65.099521,43.694366 -65.102717,43.705053 -65.102746,43.705365 -65.102976,43.706059 -65.105445,43.717488 -65.109187,43.718249 -65.116623,43.722489 -65.121257,43.728469 -65.121364,43.729114 -65.121707,43.729593 -65.124481,43.737500 -65.125158,43.743188 -65.122603,43.749794 -65.117649,43.754604 -65.106215,43.762448 -65.105723,43.762659 -65.105319,43.763032 -65.097064,43.766392 -65.084246,43.769420 -65.074844,43.770232 -65.065729,43.768374 -65.058290,43.764130 -65.053661,43.758145 -65.052544,43.751331 -65.052804,43.750662 -65.052739,43.750092 -65.053975,43.744127 -65.053987,43.742925 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-59.804714,45.928468 -59.776018,45.953001</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-59.801673,45.944671 -59.801712,45.945439 -59.801684,45.945492 -59.801686,45.945546 -59.801640,45.945728 -59.799930,45.948868 -59.796544,45.951405 -59.794398,45.952276 -59.794290,45.952310 -59.791917,45.952878 -59.786951,45.953001 -59.782297,45.951789 -59.778662,45.949427 -59.778640,45.949394 -59.778255,45.949144 -59.776194,45.945991 -59.776018,45.942527 -59.776662,45.941325 -59.776455,45.941008 -59.776242,45.940217 -59.776206,45.940040 -59.776216,45.939286 -59.776172,45.939064 -59.776151,45.938717 -59.776240,45.937663 -59.776244,45.937367 -59.776270,45.937312 -59.776304,45.936908 -59.778041,45.933661 -59.778556,45.933276 -59.778614,45.933167 -59.778614,45.933167 -59.778649,45.933128 -59.778649,45.933128 -59.778649,45.933128 -59.782034,45.930593 -59.783241,45.930209 -59.783479,45.930030 -59.787997,45.928591 -59.792960,45.928468 -59.797612,45.929680 -59.797766,45.929746 -59.797766,45.929746 -59.801400,45.932108 -59.802525,45.933826 -59.803623,45.935143 -59.803722,45.935293 -59.804537,45.936949 -59.804714,45.940412 -59.802978,45.943659 -59.802043,45.944359 -59.801673,45.944671 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-59.967739,46.145441 -59.901331,46.192228</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-59.907260,46.185514 -59.903599,46.183154 -59.901517,46.180001 -59.901331,46.176534 -59.903069,46.173282 -59.903069,46.173282 -59.903972,46.172263 -59.903972,46.172263 -59.905924,46.170566 -59.906659,46.170066 -59.909492,46.167946 -59.913150,46.166668 -59.914496,46.166374 -59.915689,46.165880 -59.918038,46.165096 -59.919119,46.164829 -59.919209,46.164752 -59.921417,46.163288 -59.924549,46.161196 -59.925653,46.160555 -59.925723,46.160501 -59.928723,46.158933 -59.930793,46.157382 -59.931533,46.157081 -59.931676,46.156980 -59.932790,46.156315 -59.932937,46.156201 -59.933993,46.155630 -59.934183,46.155567 -59.934340,46.155449 -59.935003,46.155238 -59.936319,46.154252 -59.937550,46.153703 -59.938370,46.153383 -59.938983,46.152232 -59.942376,46.149689 -59.942892,46.149524 -59.942996,46.149427 -59.945738,46.147550 -59.948156,46.146592 -59.949908,46.146064 -59.952025,46.145573 -59.957012,46.145441 -59.961691,46.146646 -59.965352,46.149003 -59.967437,46.152154 -59.967739,46.154994 -59.967556,46.156448 -59.967426,46.156723 -59.967445,46.157074 -59.965713,46.160327 -59.963992,46.162274 -59.962878,46.163346 -59.962289,46.163833 -59.963896,46.166346 -59.964100,46.167071 -59.964502,46.168902 -59.964489,46.171643 -59.962756,46.174897 -59.961949,46.175705 -59.961078,46.176482 -59.958491,46.178219 -59.957405,46.178709 -59.955922,46.179307 -59.955685,46.179639 -59.955576,46.179864 -59.953219,46.182944 -59.952761,46.183310 -59.952491,46.183781 -59.950635,46.185671 -59.949885,46.186207 -59.948513,46.187337 -59.947484,46.187966 -59.945653,46.189384 -59.943633,46.190648 -59.939093,46.192096 -59.934101,46.192228 -59.929417,46.191022 -59.928117,46.190386 -59.927131,46.189837 -59.926137,46.189111 -59.923230,46.187964 -59.922009,46.187630 -59.917015,46.187527 -59.915409,46.187422 -59.915396,46.187422 -59.913385,46.187201 -59.913372,46.187198 -59.913358,46.187198 -59.909794,46.186417 -59.908378,46.185940 -59.907260,46.185514 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.926968,45.630977 -61.774051,45.718099</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.889816,45.709474 -61.889485,45.709226 -61.888046,45.707576 -61.887980,45.707478 -61.887970,45.707459 -61.887959,45.707446 -61.887764,45.707152 -61.887425,45.706501 -61.887265,45.706298 -61.887166,45.706112 -61.887029,45.705853 -61.887025,45.705845 -61.886918,45.705717 -61.886840,45.705592 -61.886729,45.705371 -61.886658,45.705282 -61.886593,45.705166 -61.886507,45.704983 -61.886317,45.704741 -61.886252,45.704615 -61.886184,45.704465 -61.886162,45.704437 -61.886123,45.704356 -61.886118,45.704319 -61.886053,45.704174 -61.885910,45.704016 -61.885846,45.703926 -61.885842,45.703920 -61.885837,45.703913 -61.885812,45.703867 -61.885767,45.703816 -61.885624,45.703611 -61.885580,45.703550 -61.885534,45.703495 -61.885520,45.703473 -61.885319,45.703263 -61.885250,45.703199 -61.885219,45.703154 -61.884581,45.702503 -61.884543,45.702458 -61.884510,45.702405 -61.884405,45.702296 -61.884354,45.702233 -61.884232,45.702027 -61.884032,45.701813 -61.883619,45.701387 -61.883489,45.701234 -61.883482,45.701222 -61.883473,45.701212 -61.883382,45.701096 -61.883200,45.700779 -61.882826,45.700342 -61.882774,45.700261 -61.882774,45.700261 -61.882479,45.700026 -61.882356,45.699954 -61.882291,45.699900 -61.882249,45.699844 -61.882177,45.699787 -61.881999,45.699733 -61.880841,45.699326 -61.880814,45.699319 -61.880724,45.699284 -61.880681,45.699258 -61.880656,45.699248 -61.880644,45.699241 -61.880606,45.699233 -61.880387,45.699153 -61.880240,45.699066 -61.880157,45.699045 -61.880086,45.699013 -61.879930,45.698977 -61.879776,45.698914 -61.879704,45.698870 -61.879637,45.698854 -61.879546,45.698814 -61.879519,45.698807 -61.879352,45.698736 -61.879312,45.698711 -61.878779,45.698476 -61.878611,45.698396 -61.878604,45.698391 -61.878509,45.698349 -61.878471,45.698325 -61.878343,45.698266 -61.878094,45.698156 -61.877965,45.698093 -61.877962,45.698091 -61.877422,45.697843 -61.877319,45.697789 -61.877259,45.697749 -61.877111,45.697679 -61.876815,45.697518 -61.876602,45.697369 -61.875718,45.696943 -61.875499,45.696818 -61.875192,45.696597 -61.875190,45.696596 -61.874827,45.696427 -61.874705,45.696362 -61.874603,45.696320 -61.874564,45.696295 -61.874535,45.696289 -61.874401,45.696227 -61.874393,45.696225 -61.874121,45.696113 -61.874036,45.696079 -61.874022,45.696076 -61.873854,45.696013 -61.873815,45.695990 -61.873673,45.695940 -61.873611,45.695903 -61.873505,45.695878 -61.872079,45.695211 -61.871963,45.695148 -61.871951,45.695140 -61.871925,45.695127 -61.871908,45.695120 -61.871900,45.695114 -61.871883,45.695107 -61.871856,45.695101 -61.871773,45.695062 -61.871738,45.695054 -61.871571,45.694982 -61.871544,45.694966 -61.871437,45.694923 -61.871406,45.694904 -61.871367,45.694895 -61.870401,45.694446 -61.870163,45.694404 -61.869725,45.694288 -61.869231,45.694125 -61.869007,45.694081 -61.868865,45.694036 -61.867751,45.693638 -61.867657,45.693581 -61.867596,45.693567 -61.867318,45.693410 -61.867077,45.693347 -61.866961,45.693293 -61.866961,45.693293 -61.866922,45.693276 -61.865908,45.692616 -61.865359,45.692306 -61.865186,45.692245 -61.864934,45.692176 -61.864175,45.691920 -61.863973,45.691877 -61.863792,45.691814 -61.863693,45.691757 -61.863395,45.691657 -61.863305,45.691636 -61.863189,45.691591 -61.863056,45.691512 -61.862988,45.691489 -61.862664,45.691371 -61.862626,45.691361 -61.862561,45.691333 -61.862469,45.691299 -61.861892,45.691110 -61.861724,45.691007 -61.861532,45.690960 -61.861429,45.690915 -61.861381,45.690885 -61.861336,45.690866 -61.861238,45.690806 -61.861115,45.690774 -61.860845,45.690649 -61.860808,45.690625 -61.860766,45.690606 -61.860691,45.690587 -61.860459,45.690480 -61.860417,45.690452 -61.860373,45.690441 -61.860270,45.690397 -61.860204,45.690355 -61.860122,45.690318 -61.860080,45.690298 -61.859491,45.690030 -61.859403,45.689985 -61.859399,45.689984 -61.859399,45.689984 -61.859220,45.689930 -61.858967,45.689890 -61.858852,45.689864 -61.858450,45.689738 -61.858380,45.689717 -61.858033,45.689653 -61.857821,45.689593 -61.857717,45.689571 -61.857625,45.689556 -61.857523,45.689531 -61.857456,45.689517 -61.857412,45.689504 -61.857407,45.689503 -61.857392,45.689498 -61.857392,45.689498 -61.857159,45.689454 -61.857069,45.689427 -61.856908,45.689371 -61.856471,45.689297 -61.856329,45.689262 -61.855906,45.689125 -61.855698,45.689084 -61.855635,45.689064 -61.855346,45.689007 -61.855230,45.688972 -61.854924,45.688864 -61.854840,45.688846 -61.854389,45.688694 -61.854350,45.688673 -61.854337,45.688670 -61.854118,45.688598 -61.853998,45.688555 -61.853924,45.688537 -61.853894,45.688529 -61.853718,45.688503 -61.853551,45.688467 -61.853410,45.688425 -61.852365,45.688245 -61.852262,45.688218 -61.852011,45.688136 -61.851900,45.688106 -61.851878,45.688103 -61.851582,45.688041 -61.851322,45.687962 -61.850962,45.687901 -61.850367,45.687823 -61.850293,45.687825 -61.850036,45.687789 -61.849901,45.687754 -61.849834,45.687742 -61.849793,45.687731 -61.849040,45.687623 -61.848950,45.687606 -61.848346,45.687428 -61.847840,45.687341 -61.847532,45.687261 -61.847262,45.687172 -61.847187,45.687157 -61.847154,45.687147 -61.847042,45.687127 -61.846746,45.687047 -61.846602,45.686999 -61.846563,45.686989 -61.846368,45.686928 -61.846273,45.686917 -61.846258,45.686913 -61.846211,45.686907 -61.846096,45.686890 -61.845998,45.686863 -61.845871,45.686866 -61.845550,45.686822 -61.845047,45.686691 -61.843987,45.686528 -61.843704,45.686466 -61.843634,45.686444 -61.843585,45.686436 -61.843467,45.686405 -61.843317,45.686372 -61.843280,45.686361 -61.843216,45.686350 -61.843074,45.686315 -61.843009,45.686294 -61.842955,45.686285 -61.842853,45.686258 -61.842643,45.686189 -61.842484,45.686168 -61.842188,45.686114 -61.842180,45.686112 -61.842162,45.686110 -61.841924,45.686067 -61.841841,45.686057 -61.841610,45.686021 -61.841248,45.685924 -61.840351,45.685781 -61.840233,45.685754 -61.840142,45.685734 -61.840124,45.685729 -61.840120,45.685728 -61.840083,45.685716 -61.839726,45.685608 -61.839375,45.685562 -61.839288,45.685539 -61.838801,45.685478 -61.838262,45.685389 -61.838253,45.685387 -61.837992,45.685351 -61.837945,45.685339 -61.837910,45.685340 -61.837578,45.685293 -61.837298,45.685254 -61.837220,45.685234 -61.836848,45.685187 -61.836578,45.685142 -61.836168,45.685029 -61.835567,45.684939 -61.835375,45.684899 -61.835344,45.684893 -61.835164,45.684858 -61.834850,45.684813 -61.834580,45.684760 -61.833882,45.684555 -61.833332,45.684459 -61.833155,45.684413 -61.833143,45.684410 -61.833114,45.684402 -61.832856,45.684334 -61.832415,45.684189 -61.832194,45.684146 -61.832078,45.684110 -61.830866,45.683681 -61.830793,45.683636 -61.830704,45.683615 -61.830511,45.683534 -61.830463,45.683504 -61.830454,45.683502 -61.830255,45.683404 -61.830146,45.683376 -61.829927,45.683278 -61.829690,45.683126 -61.828562,45.682569 -61.828472,45.682516 -61.828262,45.682361 -61.827696,45.682241 -61.827619,45.682214 -61.827409,45.682094 -61.827005,45.681982 -61.826982,45.681968 -61.826927,45.681956 -61.826306,45.681653 -61.826178,45.681620 -61.826140,45.681602 -61.825961,45.681486 -61.825170,45.681102 -61.825093,45.681057 -61.823572,45.679953 -61.823267,45.679771 -61.823215,45.679726 -61.823173,45.679669 -61.823092,45.679616 -61.823076,45.679593 -61.823041,45.679571 -61.822738,45.679262 -61.822731,45.679257 -61.822720,45.679243 -61.822630,45.679151 -61.822577,45.679099 -61.822571,45.679091 -61.822284,45.678796 -61.821985,45.678692 -61.821985,45.678692 -61.821912,45.678667 -61.821887,45.678653 -61.821745,45.678623 -61.821436,45.678516 -61.821334,45.678457 -61.821053,45.678364 -61.820914,45.678279 -61.820633,45.678211 -61.820378,45.678106 -61.820190,45.678033 -61.820021,45.677932 -61.819844,45.677890 -61.819594,45.677778 -61.819540,45.677765 -61.819398,45.677702 -61.819337,45.677663 -61.818835,45.677438 -61.818745,45.677393 -61.818636,45.677320 -61.818300,45.677162 -61.818248,45.677134 -61.818226,45.677123 -61.818144,45.677102 -61.817900,45.676985 -61.817738,45.676879 -61.817138,45.676593 -61.816945,45.676486 -61.816945,45.676486 -61.816875,45.676447 -61.816821,45.676422 -61.816769,45.676395 -61.816167,45.675980 -61.815409,45.675575 -61.815319,45.675512 -61.814836,45.675128 -61.814702,45.675051 -61.814534,45.674916 -61.814527,45.674907 -61.814516,45.674899 -61.814392,45.674796 -61.814375,45.674786 -61.814246,45.674678 -61.814239,45.674670 -61.813756,45.674270 -61.813730,45.674233 -61.813687,45.674206 -61.813610,45.674135 -61.813587,45.674102 -61.813577,45.674096 -61.813487,45.674016 -61.813486,45.674014 -61.813474,45.674006 -61.813422,45.673957 -61.813420,45.673956 -61.813395,45.673930 -61.813306,45.673845 -61.813301,45.673837 -61.812828,45.673368 -61.812711,45.673243 -61.812434,45.672807 -61.812058,45.672402 -61.811890,45.672187 -61.811832,45.672087 -61.811738,45.671975 -61.811593,45.671743 -61.811373,45.671499 -61.811346,45.671461 -61.810743,45.670851 -61.810640,45.670734 -61.810492,45.670496 -61.810095,45.670053 -61.810043,45.669981 -61.809931,45.669776 -61.809796,45.669618 -61.809744,45.669537 -61.809620,45.669293 -61.809598,45.669267 -61.809537,45.669168 -61.809523,45.669147 -61.809515,45.669132 -61.809495,45.669101 -61.809491,45.669096 -61.809481,45.669081 -61.809444,45.669034 -61.809425,45.669000 -61.809349,45.668890 -61.809216,45.668639 -61.808951,45.668324 -61.808835,45.668135 -61.808758,45.667981 -61.808731,45.667938 -61.808731,45.667938 -61.808692,45.667875 -61.808653,45.667796 -61.808621,45.667758 -61.808531,45.667605 -61.808362,45.667259 -61.808362,45.667258 -61.808247,45.667125 -61.808182,45.667027 -61.808096,45.666860 -61.808020,45.666768 -61.807956,45.666660 -61.807875,45.666496 -61.807824,45.666433 -61.807760,45.666316 -61.807686,45.666159 -61.807652,45.666116 -61.807587,45.665990 -61.807340,45.665439 -61.807300,45.665353 -61.807299,45.665349 -61.807271,45.665286 -61.807256,45.665131 -61.807169,45.665002 -61.807163,45.664986 -61.807115,45.664917 -61.806891,45.664226 -61.806865,45.664127 -61.806865,45.664127 -61.806812,45.663930 -61.806807,45.663791 -61.806793,45.663743 -61.806721,45.663635 -61.806681,45.663509 -61.806681,45.663498 -61.806676,45.663491 -61.806629,45.663338 -61.806593,45.663272 -61.806554,45.663072 -61.806512,45.662941 -61.806486,45.662842 -61.806481,45.662734 -61.806243,45.661666 -61.806224,45.661596 -61.806214,45.661538 -61.806183,45.661398 -61.806174,45.661272 -61.806171,45.661258 -61.806117,45.660862 -61.806121,45.660737 -61.806087,45.660596 -61.806086,45.660579 -61.806100,45.660272 -61.806035,45.659933 -61.806034,45.659762 -61.806034,45.659762 -61.806034,45.659717 -61.806139,45.658541 -61.806443,45.657533 -61.806330,45.657492 -61.806089,45.657445 -61.805927,45.657396 -61.805668,45.657348 -61.805592,45.657326 -61.805591,45.657326 -61.805584,45.657324 -61.805449,45.657285 -61.805101,45.657166 -61.804800,45.657105 -61.804631,45.657050 -61.804488,45.657005 -61.804462,45.656995 -61.804231,45.656953 -61.803846,45.656846 -61.803739,45.656810 -61.803678,45.656799 -61.803524,45.656754 -61.803485,45.656741 -61.803447,45.656731 -61.803447,45.656731 -61.803319,45.656695 -61.803258,45.656674 -61.803251,45.656673 -61.803135,45.656637 -61.802872,45.656544 -61.802560,45.656438 -61.802358,45.656395 -61.802200,45.656341 -61.802080,45.656300 -61.801945,45.656271 -61.801880,45.656261 -61.801784,45.656237 -61.801492,45.656175 -61.801485,45.656174 -61.801395,45.656156 -61.801372,45.656149 -61.801189,45.656111 -61.801144,45.656095 -61.801095,45.656087 -61.800917,45.656040 -61.800723,45.656007 -61.800517,45.655953 -61.800510,45.655951 -61.800418,45.655938 -61.800174,45.655894 -61.799783,45.655782 -61.799699,45.655769 -61.799692,45.655767 -61.799287,45.655706 -61.799120,45.655670 -61.798770,45.655564 -61.798696,45.655544 -61.798298,45.655473 -61.798293,45.655472 -61.798043,45.655436 -61.797773,45.655383 -61.797548,45.655317 -61.797324,45.655278 -61.797295,45.655271 -61.797283,45.655269 -61.797245,45.655259 -61.797226,45.655255 -61.797145,45.655232 -61.797116,45.655225 -61.797113,45.655223 -61.797016,45.655208 -61.796785,45.655155 -61.796741,45.655141 -61.796438,45.655092 -61.796361,45.655075 -61.796060,45.654981 -61.795906,45.654960 -61.795778,45.654938 -61.795341,45.654881 -61.795290,45.654872 -61.795166,45.654837 -61.795007,45.654810 -61.794563,45.654685 -61.794555,45.654683 -61.794547,45.654684 -61.794252,45.654648 -61.794146,45.654622 -61.793508,45.654530 -61.793414,45.654512 -61.793020,45.654463 -61.792789,45.654428 -61.792788,45.654428 -61.792673,45.654410 -61.792346,45.654322 -61.792143,45.654295 -61.791989,45.654268 -61.791314,45.654078 -61.790887,45.654006 -61.790706,45.653978 -61.790646,45.653964 -61.790560,45.653950 -61.790535,45.653943 -61.790064,45.653879 -61.790059,45.653878 -61.789921,45.653860 -61.789767,45.653833 -61.789240,45.653685 -61.788904,45.653635 -61.788903,45.653635 -61.788902,45.653635 -61.788853,45.653627 -61.788596,45.653574 -61.788467,45.653535 -61.788218,45.653496 -61.787980,45.653443 -61.787699,45.653406 -61.787494,45.653371 -61.787240,45.653300 -61.786843,45.653236 -61.786766,45.653218 -61.786679,45.653191 -61.786554,45.653165 -61.786398,45.653118 -61.786353,45.653111 -61.786019,45.653040 -61.785967,45.653024 -61.785862,45.653005 -61.785797,45.652987 -61.785738,45.652978 -61.785623,45.652951 -61.785107,45.652790 -61.785049,45.652778 -61.784934,45.652743 -61.784764,45.652683 -61.784320,45.652593 -61.784072,45.652514 -61.783929,45.652486 -61.783672,45.652405 -61.783040,45.652180 -61.782998,45.652166 -61.782855,45.652120 -61.782733,45.652076 -61.782719,45.652073 -61.782646,45.652044 -61.782523,45.652000 -61.782421,45.651979 -61.782229,45.651917 -61.781228,45.651554 -61.781181,45.651525 -61.781151,45.651518 -61.780709,45.651303 -61.780558,45.651263 -61.780481,45.651228 -61.780265,45.651087 -61.779397,45.650664 -61.779320,45.650619 -61.778643,45.650127 -61.778186,45.649874 -61.777993,45.649731 -61.777332,45.649188 -61.777290,45.649162 -61.777097,45.648992 -61.776966,45.648809 -61.776818,45.648719 -61.776598,45.648483 -61.776497,45.648417 -61.776343,45.648256 -61.776244,45.648104 -61.775760,45.647584 -61.775682,45.647485 -61.774552,45.645518 -61.774541,45.645396 -61.774487,45.645320 -61.774479,45.645277 -61.774451,45.645235 -61.774412,45.645119 -61.774409,45.645078 -61.774389,45.645048 -61.774363,45.644967 -61.774333,45.644511 -61.774052,45.643044 -61.774052,45.642954 -61.774052,45.642954 -61.774052,45.642864 -61.774052,45.642864 -61.774051,45.642837 -61.774158,45.641660 -61.774434,45.641068 -61.775314,45.638956 -61.775429,45.638785 -61.775868,45.638194 -61.775875,45.638180 -61.775926,45.638117 -61.775953,45.638095 -61.775967,45.638066 -61.777112,45.636898 -61.777227,45.636799 -61.777844,45.636377 -61.778248,45.636006 -61.778312,45.635961 -61.779525,45.635211 -61.779539,45.635200 -61.779706,45.635109 -61.779814,45.635071 -61.779880,45.635019 -61.779952,45.634985 -61.779977,45.634966 -61.780118,45.634893 -61.780239,45.634853 -61.781411,45.634310 -61.781526,45.634265 -61.781586,45.634248 -61.781672,45.634208 -61.781839,45.634145 -61.782281,45.634021 -61.782447,45.633948 -61.782488,45.633933 -61.782544,45.633907 -61.782563,45.633899 -61.782581,45.633891 -61.782645,45.633867 -61.782749,45.633826 -61.782981,45.633758 -61.783292,45.633622 -61.783420,45.633576 -61.783861,45.633458 -61.783881,45.633449 -61.783930,45.633432 -61.784239,45.633295 -61.784316,45.633268 -61.785424,45.632971 -61.787134,45.632330 -61.787173,45.632321 -61.787521,45.632297 -61.787886,45.632170 -61.787900,45.632170 -61.787924,45.632161 -61.788196,45.632136 -61.789077,45.631879 -61.789135,45.631877 -61.789179,45.631861 -61.789226,45.631857 -61.789256,45.631846 -61.789359,45.631828 -61.789666,45.631815 -61.792424,45.631555 -61.792565,45.631555 -61.792565,45.631555 -61.792565,45.631555 -61.792744,45.631555 -61.792763,45.631555 -61.794834,45.631360 -61.794962,45.631360 -61.794962,45.631360 -61.794962,45.631360 -61.795164,45.631359 -61.795542,45.631317 -61.795642,45.631313 -61.795664,45.631310 -61.795767,45.631300 -61.795856,45.631300 -61.796011,45.631280 -61.796255,45.631261 -61.796479,45.631263 -61.797472,45.631125 -61.797779,45.631097 -61.797903,45.631097 -61.798165,45.631061 -61.798383,45.631043 -61.798482,45.631043 -61.798609,45.631028 -61.798801,45.631019 -61.799318,45.631029 -61.799860,45.630978 -61.799915,45.630978 -61.799915,45.630978 -61.799915,45.630978 -61.800155,45.630978 -61.800155,45.630978 -61.800155,45.630978 -61.800296,45.630977 -61.800296,45.630977 -61.800296,45.630977 -61.800501,45.630977 -61.802178,45.631051 -61.802183,45.631052 -61.802262,45.631058 -61.803050,45.631093 -61.804325,45.631365 -61.804899,45.631456 -61.804937,45.631465 -61.805235,45.631558 -61.805689,45.631655 -61.807252,45.631893 -61.807458,45.631938 -61.807558,45.631968 -61.807685,45.631988 -61.807878,45.632033 -61.808476,45.632220 -61.808614,45.632248 -61.808782,45.632302 -61.809081,45.632410 -61.809819,45.632641 -61.810255,45.632710 -61.810409,45.632746 -61.810834,45.632879 -61.811030,45.632912 -61.811249,45.632965 -61.811307,45.632984 -61.811361,45.632993 -61.811503,45.633029 -61.811775,45.633117 -61.812660,45.633233 -61.812763,45.633251 -61.813967,45.633590 -61.814030,45.633600 -61.814146,45.633626 -61.814463,45.633726 -61.814614,45.633758 -61.815062,45.633839 -61.815191,45.633875 -61.815237,45.633890 -61.815354,45.633915 -61.815380,45.633924 -61.815441,45.633959 -61.815447,45.633962 -61.815708,45.634012 -61.815823,45.634048 -61.816384,45.634247 -61.816550,45.634300 -61.816781,45.634347 -61.816847,45.634369 -61.816941,45.634387 -61.817057,45.634423 -61.817478,45.634572 -61.817577,45.634593 -61.817808,45.634673 -61.817808,45.634673 -61.817808,45.634673 -61.817834,45.634682 -61.817906,45.634724 -61.818114,45.634798 -61.819876,45.634631 -61.819953,45.634631 -61.821629,45.634704 -61.825612,45.635551 -61.825689,45.635578 -61.825946,45.635726 -61.826303,45.635810 -61.826326,45.635824 -61.826380,45.635837 -61.827025,45.636203 -61.827883,45.636598 -61.828089,45.636706 -61.828283,45.636839 -61.828584,45.636991 -61.828700,45.637062 -61.828994,45.637282 -61.829448,45.637526 -61.829526,45.637579 -61.830637,45.638463 -61.830672,45.638512 -61.830695,45.638532 -61.830758,45.638619 -61.830869,45.638687 -61.830915,45.638758 -61.831022,45.638823 -61.831085,45.638908 -61.831113,45.638927 -61.831242,45.639061 -61.831578,45.639578 -61.833096,45.641636 -61.833353,45.642223 -61.833353,45.642224 -61.833353,45.642225 -61.833736,45.643100 -61.833753,45.643244 -61.833853,45.643386 -61.834187,45.646839 -61.833062,45.649180 -61.834072,45.649798 -61.834183,45.649933 -61.835726,45.651796 -61.835727,45.651798 -61.835727,45.651798 -61.835760,45.651853 -61.835923,45.652187 -61.835996,45.652281 -61.836074,45.652434 -61.836292,45.652921 -61.836311,45.652948 -61.836337,45.653011 -61.836339,45.653027 -61.836375,45.653106 -61.836378,45.653137 -61.836401,45.653169 -61.836798,45.654766 -61.836811,45.654883 -61.836798,45.655279 -61.836852,45.655563 -61.836854,45.655743 -61.836749,45.656919 -61.836721,45.656978 -61.836724,45.657009 -61.836608,45.657278 -61.836611,45.657328 -61.836900,45.657538 -61.837609,45.658114 -61.837666,45.658148 -61.838509,45.658885 -61.839266,45.659053 -61.839422,45.659101 -61.842865,45.659914 -61.845703,45.661472 -61.846171,45.661815 -61.847051,45.662533 -61.847163,45.662690 -61.847255,45.662747 -61.847436,45.662947 -61.847557,45.663026 -61.847760,45.663240 -61.847914,45.663477 -61.848511,45.664140 -61.848637,45.664313 -61.849131,45.665213 -61.849298,45.665387 -61.849349,45.665450 -61.849601,45.665874 -61.855144,45.667218 -61.855144,45.667218 -61.855144,45.667218 -61.855158,45.667221 -61.857322,45.667911 -61.858455,45.668604 -61.861141,45.669174 -61.862199,45.669124 -61.864715,45.669537 -61.865626,45.669758 -61.866358,45.669992 -61.867077,45.670110 -61.867083,45.670111 -61.867083,45.670111 -61.867083,45.670111 -61.867541,45.670222 -61.867541,45.670222 -61.867541,45.670222 -61.867559,45.670227 -61.869528,45.670854 -61.871466,45.671173 -61.873519,45.671671 -61.874650,45.672031 -61.875762,45.672214 -61.875791,45.672221 -61.875791,45.672221 -61.875791,45.672221 -61.879454,45.673108 -61.881617,45.673797 -61.885339,45.676072 -61.886345,45.677491 -61.887552,45.678085 -61.887944,45.677989 -61.888049,45.677979 -61.890170,45.677714 -61.890324,45.677704 -61.890858,45.677712 -61.891195,45.677680 -61.891221,45.677680 -61.891634,45.677697 -61.891902,45.677676 -61.892210,45.677684 -61.893358,45.677750 -61.897349,45.678595 -61.897375,45.678604 -61.897375,45.678604 -61.897375,45.678604 -61.897401,45.678613 -61.897665,45.678765 -61.898039,45.678853 -61.898054,45.678862 -61.898091,45.678870 -61.898361,45.679047 -61.901514,45.680973 -61.901814,45.681144 -61.901827,45.681164 -61.901839,45.681171 -61.902151,45.681517 -61.902293,45.681609 -61.902319,45.681636 -61.902477,45.681879 -61.903115,45.682587 -61.903141,45.682623 -61.903390,45.683078 -61.903590,45.683321 -61.903616,45.683366 -61.903783,45.683713 -61.903836,45.683783 -61.903849,45.683809 -61.903857,45.683868 -61.904103,45.684378 -61.904183,45.684888 -61.904347,45.684931 -61.905597,45.685504 -61.905700,45.685558 -61.906918,45.686394 -61.907205,45.686548 -61.907243,45.686574 -61.907662,45.686907 -61.908174,45.687258 -61.908203,45.687299 -61.908239,45.687321 -61.908331,45.687423 -61.908445,45.687500 -61.908476,45.687543 -61.908485,45.687552 -61.908547,45.687643 -61.908613,45.687736 -61.909515,45.688737 -61.909593,45.688845 -61.910250,45.690043 -61.910645,45.690600 -61.910904,45.691421 -61.910917,45.691475 -61.910936,45.692086 -61.911100,45.692933 -61.911101,45.693032 -61.910998,45.694206 -61.910965,45.694296 -61.911180,45.696477 -61.911241,45.696599 -61.911246,45.696649 -61.911293,45.696716 -61.911360,45.696926 -61.914913,45.697977 -61.914930,45.697983 -61.914937,45.697984 -61.919249,45.699266 -61.920595,45.699735 -61.924321,45.702008 -61.926522,45.705107 -61.926870,45.706345 -61.926871,45.706352 -61.926870,45.706913 -61.926967,45.707419 -61.926968,45.707714 -61.926882,45.708676 -61.926888,45.708731 -61.926865,45.708876 -61.926794,45.709029 -61.926806,45.709155 -61.926758,45.709339 -61.926761,45.709388 -61.926725,45.709535 -61.926687,45.709610 -61.926553,45.710117 -61.926504,45.710258 -61.926467,45.710324 -61.926440,45.710423 -61.926436,45.710434 -61.926348,45.710585 -61.926246,45.710913 -61.926242,45.710922 -61.926207,45.710978 -61.926202,45.710992 -61.926179,45.711040 -61.925991,45.711335 -61.925883,45.711622 -61.925841,45.711693 -61.925529,45.712143 -61.925478,45.712259 -61.925420,45.712343 -61.925344,45.712408 -61.925104,45.712753 -61.925020,45.712820 -61.924965,45.712933 -61.924822,45.713104 -61.924723,45.713182 -61.923530,45.714350 -61.923442,45.714438 -61.923425,45.714452 -61.923408,45.714469 -61.923355,45.714511 -61.922783,45.714990 -61.920812,45.716319 -61.916387,45.717861 -61.911456,45.718099 -61.908088,45.717457 -61.902651,45.715828 -61.902464,45.715763 -61.902396,45.715750 -61.897654,45.714241 -61.896591,45.713860 -61.895618,45.713266 -61.894333,45.712865 -61.890608,45.710591 -61.889816,45.709474 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-63.160714,44.677310 -63.074782,44.732559</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-63.099077,44.697743 -63.099044,44.697723 -63.098647,44.697436 -63.098384,44.697300 -63.098248,44.697208 -63.098093,44.697089 -63.098039,44.697060 -63.097965,44.697005 -63.097775,44.696851 -63.097705,44.696812 -63.097468,44.696637 -63.097244,44.696587 -63.097096,44.696520 -63.097087,44.696517 -63.097082,44.696515 -63.097055,44.696506 -63.097018,44.696493 -63.097013,44.696490 -63.096990,44.696481 -63.096983,44.696480 -63.096938,44.696462 -63.096907,44.696450 -63.096903,44.696448 -63.096835,44.696421 -63.096831,44.696420 -63.096822,44.696416 -63.096795,44.696405 -63.096787,44.696400 -63.096784,44.696399 -63.096719,44.696385 -63.096644,44.696357 -63.096546,44.696300 -63.096418,44.696271 -63.094153,44.695132 -63.094066,44.695077 -63.092630,44.694001 -63.092072,44.693448 -63.092038,44.693426 -63.091976,44.693362 -63.091958,44.693335 -63.091866,44.693243 -63.091817,44.693189 -63.090793,44.691585 -63.090743,44.691510 -63.090362,44.691001 -63.090338,44.690947 -63.090331,44.690890 -63.090288,44.690827 -63.090285,44.690801 -63.090264,44.690772 -63.089904,44.689601 -63.089893,44.689547 -63.089869,44.688675 -63.089760,44.688093 -63.089761,44.688039 -63.089833,44.687231 -63.091164,44.684106 -63.091190,44.684070 -63.091254,44.684015 -63.091285,44.683945 -63.091301,44.683931 -63.091311,44.683909 -63.091543,44.683692 -63.091702,44.683464 -63.091710,44.683447 -63.091723,44.683429 -63.091732,44.683421 -63.091758,44.683381 -63.091829,44.683214 -63.091855,44.683179 -63.091912,44.683129 -63.091950,44.683053 -63.092005,44.683006 -63.092028,44.682955 -63.092134,44.682870 -63.092190,44.682751 -63.092242,44.682688 -63.093024,44.682046 -63.094332,44.680824 -63.094358,44.680806 -63.095110,44.680333 -63.095132,44.680315 -63.095148,44.680309 -63.095208,44.680271 -63.095359,44.680211 -63.096060,44.679729 -63.096608,44.679263 -63.100646,44.677724 -63.100684,44.677715 -63.100792,44.677708 -63.100891,44.677671 -63.100909,44.677670 -63.100929,44.677662 -63.104608,44.677310 -63.104671,44.677311 -63.105803,44.677362 -63.107666,44.677611 -63.107717,44.677621 -63.109926,44.678253 -63.110234,44.678320 -63.110284,44.678339 -63.110341,44.678372 -63.110459,44.678406 -63.110479,44.678418 -63.110509,44.678425 -63.113595,44.680271 -63.113606,44.680276 -63.113610,44.680280 -63.114210,44.680638 -63.114975,44.681396 -63.114999,44.681423 -63.115210,44.681753 -63.115452,44.682014 -63.115499,44.682010 -63.116519,44.682011 -63.117124,44.681953 -63.117363,44.681956 -63.118494,44.682007 -63.118934,44.682102 -63.122020,44.682671 -63.122145,44.682708 -63.122674,44.682890 -63.122731,44.682907 -63.122822,44.682920 -63.122923,44.682946 -63.123049,44.682952 -63.123052,44.682952 -63.123329,44.682973 -63.123335,44.682974 -63.123340,44.682974 -63.123477,44.682989 -63.123501,44.682987 -63.123613,44.682995 -63.123738,44.683004 -63.123804,44.683018 -63.123863,44.683014 -63.124027,44.683025 -63.124030,44.683026 -63.124145,44.683036 -63.124169,44.683041 -63.124209,44.683039 -63.124569,44.683078 -63.124586,44.683077 -63.124656,44.683083 -63.124739,44.683089 -63.124760,44.683094 -63.124773,44.683093 -63.124848,44.683098 -63.124850,44.683098 -63.124870,44.683100 -63.125152,44.683112 -63.125155,44.683112 -63.125164,44.683113 -63.125429,44.683125 -63.125432,44.683125 -63.125525,44.683132 -63.125629,44.683139 -63.125703,44.683155 -63.125772,44.683159 -63.125833,44.683155 -63.125903,44.683161 -63.125986,44.683167 -63.125992,44.683168 -63.126396,44.683186 -63.126423,44.683185 -63.126515,44.683191 -63.126581,44.683192 -63.127131,44.683217 -63.127387,44.683220 -63.127420,44.683221 -63.127514,44.683212 -63.128144,44.683220 -63.128177,44.683221 -63.128270,44.683212 -63.128548,44.683216 -63.128591,44.683218 -63.128687,44.683208 -63.129090,44.683213 -63.129222,44.683219 -63.129235,44.683218 -63.129280,44.683219 -63.129314,44.683215 -63.129642,44.683201 -63.129800,44.683204 -63.129806,44.683203 -63.130135,44.683189 -63.130174,44.683189 -63.130202,44.683186 -63.130308,44.683182 -63.130496,44.683157 -63.130623,44.683149 -63.130733,44.683150 -63.130827,44.683139 -63.130861,44.683137 -63.130951,44.683124 -63.131140,44.683108 -63.131296,44.683108 -63.131342,44.683101 -63.131381,44.683098 -63.131815,44.682692 -63.131867,44.682657 -63.132543,44.682231 -63.132588,44.682193 -63.132674,44.682148 -63.132716,44.682122 -63.132750,44.682110 -63.133651,44.681646 -63.133728,44.681611 -63.136598,44.680677 -63.136998,44.680529 -63.138641,44.680271 -63.138717,44.680263 -63.141885,44.680217 -63.144858,44.680808 -63.144927,44.680804 -63.145628,44.680961 -63.145763,44.680988 -63.145796,44.680998 -63.147631,44.681410 -63.148654,44.681394 -63.149445,44.681481 -63.149487,44.681480 -63.149557,44.681488 -63.149596,44.681498 -63.149774,44.681518 -63.149816,44.681524 -63.149862,44.681536 -63.150174,44.681573 -63.150228,44.681581 -63.150651,44.681695 -63.151382,44.681807 -63.151425,44.681817 -63.152588,44.682177 -63.152911,44.682242 -63.152957,44.682258 -63.153085,44.682330 -63.153517,44.682463 -63.153581,44.682501 -63.153648,44.682517 -63.153925,44.682652 -63.154057,44.682683 -63.154109,44.682706 -63.154213,44.682771 -63.154309,44.682795 -63.154342,44.682810 -63.154631,44.682996 -63.155657,44.683495 -63.155702,44.683522 -63.156430,44.684052 -63.156758,44.684233 -63.156788,44.684255 -63.156793,44.684261 -63.156804,44.684268 -63.156830,44.684287 -63.156937,44.684421 -63.157396,44.684755 -63.157426,44.684796 -63.157490,44.684834 -63.157695,44.685036 -63.157741,44.685064 -63.157779,44.685101 -63.157818,44.685157 -63.158211,44.685543 -63.158246,44.685581 -63.158593,44.686118 -63.159182,44.686806 -63.159204,44.686840 -63.159246,44.686923 -63.159265,44.686952 -63.159276,44.686973 -63.159290,44.686989 -63.159312,44.687023 -63.159520,44.687419 -63.159550,44.687457 -63.159572,44.687500 -63.159576,44.687526 -63.159627,44.687622 -63.159694,44.687706 -63.159709,44.687735 -63.159721,44.687799 -63.159758,44.687871 -63.159814,44.687942 -63.159835,44.687986 -63.159842,44.688029 -63.159893,44.688126 -63.159913,44.688153 -63.159935,44.688201 -63.159936,44.688208 -63.159960,44.688254 -63.159962,44.688271 -63.159969,44.688280 -63.160007,44.688396 -63.160035,44.688434 -63.160120,44.688684 -63.160124,44.688691 -63.160125,44.688697 -63.160157,44.688791 -63.160179,44.688821 -63.160214,44.688924 -63.160232,44.688948 -63.160243,44.688980 -63.160248,44.689022 -63.160320,44.689231 -63.160344,44.689265 -63.160355,44.689301 -63.160359,44.689343 -63.160434,44.689562 -63.160443,44.689593 -63.160451,44.689714 -63.160551,44.690030 -63.160559,44.690069 -63.160560,44.690103 -63.160580,44.690168 -63.160586,44.690197 -63.160587,44.690278 -63.160611,44.690362 -63.160616,44.690393 -63.160617,44.690960 -63.160714,44.691439 -63.160714,44.691498 -63.160696,44.691740 -63.160708,44.691805 -63.160706,44.691840 -63.160685,44.691896 -63.160652,44.692344 -63.160657,44.692388 -63.160653,44.692424 -63.160644,44.692443 -63.160642,44.692471 -63.160614,44.692534 -63.160623,44.692606 -63.160609,44.692673 -63.160607,44.692689 -63.160605,44.692691 -63.160607,44.692707 -63.160603,44.692734 -63.160590,44.692762 -63.160580,44.692807 -63.160581,44.692812 -63.160575,44.692833 -63.160566,44.692875 -63.160569,44.692911 -63.160567,44.692919 -63.160567,44.692921 -63.160558,44.692969 -63.160534,44.693021 -63.160525,44.693064 -63.160530,44.693112 -63.160522,44.693150 -63.160494,44.693208 -63.160461,44.693363 -63.160464,44.693399 -63.160456,44.693430 -63.160316,44.693713 -63.160175,44.694191 -63.160104,44.694445 -63.160093,44.694473 -63.160091,44.694476 -63.160078,44.694521 -63.160066,44.694547 -63.160050,44.694575 -63.160041,44.694603 -63.160026,44.694636 -63.159890,44.694862 -63.159835,44.695027 -63.159810,44.695074 -63.159644,44.695333 -63.159596,44.695462 -63.159578,44.695492 -63.159140,44.696136 -63.159127,44.696166 -63.159106,44.696194 -63.159092,44.696206 -63.159052,44.696265 -63.158999,44.696311 -63.158982,44.696349 -63.158728,44.696614 -63.158722,44.696621 -63.158663,44.696741 -63.158635,44.696773 -63.158580,44.696818 -63.158560,44.696858 -63.158539,44.696882 -63.158337,44.697042 -63.157896,44.697526 -63.157851,44.697568 -63.157802,44.697604 -63.157747,44.697662 -63.157706,44.697699 -63.157689,44.697712 -63.157660,44.697742 -63.157619,44.697779 -63.157590,44.697799 -63.157586,44.697802 -63.157575,44.697810 -63.157537,44.697851 -63.157481,44.697899 -63.157430,44.697935 -63.157388,44.697979 -63.157335,44.698024 -63.157230,44.698097 -63.157197,44.698132 -63.157156,44.698167 -63.157152,44.698170 -63.157149,44.698173 -63.157111,44.698205 -63.157079,44.698227 -63.157059,44.698247 -63.157021,44.698278 -63.156983,44.698304 -63.156931,44.698356 -63.156900,44.698382 -63.156900,44.698382 -63.156869,44.698407 -63.156735,44.698498 -63.156719,44.698516 -63.156674,44.698553 -63.156615,44.698593 -63.156589,44.698619 -63.156544,44.698654 -63.156499,44.698684 -63.156477,44.698705 -63.156432,44.698740 -63.156315,44.698817 -63.156290,44.698842 -63.156303,44.698886 -63.156309,44.698915 -63.156310,44.698960 -63.156310,44.698962 -63.156318,44.699000 -63.156318,44.699015 -63.156326,44.699042 -63.156332,44.699070 -63.156334,44.699182 -63.156363,44.699276 -63.156368,44.699304 -63.156369,44.699323 -63.156377,44.699355 -63.156392,44.699404 -63.156403,44.699459 -63.156403,44.699485 -63.156415,44.699524 -63.156420,44.699555 -63.156425,44.699893 -63.156498,44.700192 -63.156501,44.700220 -63.156500,44.700234 -63.156508,44.700265 -63.156509,44.700292 -63.156502,44.700469 -63.156514,44.700520 -63.156516,44.700556 -63.156516,44.700558 -63.156522,44.700584 -63.156523,44.700630 -63.156522,44.700640 -63.156523,44.700645 -63.156525,44.700693 -63.156523,44.700727 -63.156525,44.700739 -63.156526,44.700769 -63.156527,44.700781 -63.156528,44.700801 -63.156524,44.700877 -63.156524,44.700880 -63.156526,44.700915 -63.156522,44.700983 -63.156523,44.700999 -63.156523,44.701003 -63.156524,44.701006 -63.156525,44.701036 -63.156527,44.701066 -63.156526,44.701071 -63.156532,44.701093 -63.156534,44.701119 -63.156534,44.701135 -63.156539,44.701155 -63.156541,44.701186 -63.156539,44.701250 -63.156552,44.701309 -63.156554,44.701345 -63.156553,44.701364 -63.156554,44.701386 -63.156546,44.701545 -63.156563,44.701625 -63.156564,44.701673 -63.156551,44.701888 -63.156551,44.701890 -63.156551,44.701890 -63.156550,44.701910 -63.156552,44.701925 -63.156551,44.701956 -63.156546,44.701969 -63.156544,44.702007 -63.156560,44.702094 -63.156560,44.702109 -63.156561,44.702114 -63.156559,44.702143 -63.156558,44.702178 -63.156552,44.702241 -63.156554,44.702255 -63.156553,44.702282 -63.156546,44.702299 -63.156519,44.702582 -63.156494,44.702873 -63.156495,44.702884 -63.156490,44.702917 -63.156490,44.702918 -63.156490,44.702919 -63.156485,44.702950 -63.156483,44.702956 -63.156485,44.702971 -63.156480,44.703007 -63.156478,44.703012 -63.156479,44.703018 -63.156475,44.703048 -63.156473,44.703056 -63.156473,44.703057 -63.156473,44.703057 -63.156470,44.703079 -63.156463,44.703097 -63.156460,44.703110 -63.156459,44.703112 -63.156463,44.703136 -63.156458,44.703169 -63.156438,44.703214 -63.156441,44.703238 -63.156437,44.703271 -63.156432,44.703280 -63.156434,44.703290 -63.156429,44.703323 -63.156429,44.703324 -63.156429,44.703325 -63.156424,44.703356 -63.156417,44.703371 -63.156419,44.703389 -63.156415,44.703420 -63.156413,44.703423 -63.156411,44.703442 -63.156385,44.703500 -63.156394,44.703564 -63.156393,44.703566 -63.156394,44.703569 -63.156389,44.703611 -63.156386,44.703618 -63.156385,44.703626 -63.156384,44.703628 -63.156383,44.703632 -63.156385,44.703643 -63.156380,44.703684 -63.156375,44.703695 -63.156374,44.703706 -63.156365,44.703726 -63.156394,44.703839 -63.156396,44.703865 -63.156396,44.703881 -63.156401,44.703901 -63.156403,44.703932 -63.156401,44.703983 -63.156404,44.703996 -63.156405,44.704008 -63.156409,44.704030 -63.156411,44.704061 -63.156410,44.704083 -63.156414,44.704100 -63.156416,44.704132 -63.156412,44.704208 -63.156418,44.704233 -63.156418,44.704238 -63.156422,44.704256 -63.156424,44.704291 -63.156423,44.704299 -63.156424,44.704303 -63.156425,44.704349 -63.156424,44.704371 -63.156427,44.704384 -63.156428,44.704419 -63.156429,44.704442 -63.156431,44.704450 -63.156431,44.704469 -63.156432,44.704475 -63.156433,44.704481 -63.156435,44.704512 -63.156433,44.704548 -63.156435,44.704560 -63.156438,44.704569 -63.156443,44.704603 -63.156443,44.704657 -63.156446,44.704670 -63.156463,44.704730 -63.156467,44.704763 -63.156467,44.704926 -63.156514,44.705110 -63.156519,44.705150 -63.156516,44.705277 -63.156526,44.705317 -63.156528,44.705346 -63.156525,44.705410 -63.156538,44.705471 -63.156540,44.705506 -63.156538,44.705533 -63.156557,44.705611 -63.156559,44.705644 -63.156558,44.705673 -63.156564,44.705700 -63.156565,44.705734 -63.156566,44.705764 -63.156566,44.705764 -63.156566,44.705764 -63.156567,44.705782 -63.156568,44.705795 -63.156567,44.705796 -63.156568,44.705805 -63.156567,44.705816 -63.156570,44.705828 -63.156571,44.705864 -63.156568,44.705936 -63.156572,44.705955 -63.156573,44.705996 -63.156562,44.706182 -63.156564,44.706190 -63.156566,44.706219 -63.156564,44.706256 -63.156567,44.706267 -63.156569,44.706303 -63.156568,44.706324 -63.156571,44.706337 -63.156572,44.706370 -63.156571,44.706399 -63.156571,44.706402 -63.156571,44.706409 -63.156575,44.706426 -63.156575,44.706451 -63.156577,44.706459 -63.156579,44.706497 -63.156577,44.706531 -63.156580,44.706548 -63.156582,44.706592 -63.156581,44.706600 -63.156582,44.706605 -63.156583,44.706650 -63.156583,44.706652 -63.156584,44.706654 -63.156585,44.706699 -63.156584,44.706707 -63.156585,44.706711 -63.156586,44.706751 -63.156588,44.706758 -63.156589,44.706774 -63.156591,44.706785 -63.156594,44.706816 -63.156590,44.706908 -63.156604,44.706965 -63.156605,44.706996 -63.156586,44.707378 -63.156611,44.707508 -63.156610,44.707539 -63.156603,44.707618 -63.156607,44.707638 -63.156605,44.707668 -63.156603,44.707675 -63.156605,44.707688 -63.156604,44.707708 -63.156603,44.707735 -63.156598,44.707749 -63.156601,44.707766 -63.156599,44.707812 -63.156599,44.707818 -63.156599,44.707819 -63.156597,44.707862 -63.156596,44.707864 -63.156595,44.707878 -63.156595,44.707879 -63.156596,44.707884 -63.156594,44.707920 -63.156587,44.707940 -63.156586,44.707949 -63.156589,44.707964 -63.156588,44.707976 -63.156589,44.707978 -63.156587,44.708006 -63.156587,44.708021 -63.156586,44.708025 -63.156585,44.708050 -63.156584,44.708053 -63.156551,44.708396 -63.156557,44.708431 -63.156551,44.708486 -63.156540,44.708513 -63.156533,44.708594 -63.156536,44.708619 -63.156533,44.708645 -63.156533,44.708650 -63.156532,44.708659 -63.156532,44.708660 -63.156530,44.708679 -63.156528,44.708694 -63.156528,44.708694 -63.156527,44.708707 -63.156521,44.708721 -63.156519,44.708740 -63.156507,44.708767 -63.156513,44.708816 -63.156510,44.708840 -63.156508,44.708859 -63.156492,44.708895 -63.156497,44.708934 -63.156497,44.708934 -63.156497,44.708935 -63.156495,44.708951 -63.156493,44.708969 -63.156483,44.708992 -63.156486,44.709016 -63.156481,44.709049 -63.156476,44.709062 -63.156475,44.709074 -63.156443,44.709147 -63.156451,44.709215 -63.156361,44.709636 -63.156363,44.709666 -63.156356,44.709694 -63.156357,44.709705 -63.156349,44.709739 -63.156330,44.709778 -63.156289,44.709972 -63.156286,44.709985 -63.156285,44.709986 -63.156283,44.709994 -63.156281,44.710000 -63.156281,44.710001 -63.156277,44.710017 -63.156272,44.710026 -63.156263,44.710065 -63.156251,44.710108 -63.156232,44.710145 -63.156219,44.710206 -63.156211,44.710233 -63.156198,44.710259 -63.156186,44.710312 -63.156178,44.710338 -63.156155,44.710383 -63.156124,44.710509 -63.156108,44.710554 -63.156057,44.710649 -63.156016,44.710797 -63.156004,44.710826 -63.155992,44.710873 -63.155986,44.710888 -63.155986,44.710889 -63.155984,44.710895 -63.155980,44.710904 -63.155980,44.710904 -63.155979,44.710906 -63.155979,44.710907 -63.155968,44.710935 -63.155910,44.711039 -63.155874,44.711160 -63.155862,44.711186 -63.155722,44.711421 -63.155643,44.711662 -63.155625,44.711697 -63.155619,44.711706 -63.155610,44.711724 -63.155558,44.711805 -63.155542,44.711855 -63.155520,44.711895 -63.155338,44.712177 -63.155303,44.712274 -63.155277,44.712316 -63.155215,44.712408 -63.155205,44.712432 -63.155177,44.712477 -63.155153,44.712498 -63.155064,44.712629 -63.155041,44.712687 -63.155016,44.712724 -63.154974,44.712761 -63.154873,44.712909 -63.154859,44.712944 -63.154830,44.712984 -63.154817,44.712996 -63.154798,44.713042 -63.154766,44.713089 -63.154725,44.713126 -63.154657,44.713226 -63.154647,44.713250 -63.154629,44.713275 -63.154614,44.713289 -63.154517,44.713431 -63.154506,44.713440 -63.154495,44.713464 -63.154477,44.713488 -63.154477,44.713488 -63.154459,44.713511 -63.154323,44.713628 -63.154284,44.713716 -63.154202,44.713813 -63.154183,44.713853 -63.154162,44.713878 -63.154109,44.713922 -63.154022,44.714025 -63.154006,44.714057 -63.153985,44.714080 -63.153976,44.714087 -63.153967,44.714106 -63.153946,44.714129 -63.153946,44.714129 -63.153925,44.714153 -63.153911,44.714164 -63.153904,44.714178 -63.153883,44.714202 -63.153883,44.714202 -63.153862,44.714225 -63.153862,44.714225 -63.153841,44.714248 -63.153816,44.714268 -63.153730,44.714369 -63.153696,44.714406 -63.153551,44.714519 -63.153226,44.714875 -63.153201,44.714898 -63.152894,44.715123 -63.152615,44.715405 -63.152580,44.715433 -63.152025,44.715810 -63.151854,44.715968 -63.151810,44.715998 -63.151489,44.716198 -63.151452,44.716231 -63.151400,44.716264 -63.151357,44.716281 -63.151043,44.716476 -63.150956,44.716509 -63.150905,44.716552 -63.150655,44.716673 -63.150578,44.716736 -63.150548,44.716751 -63.150344,44.716824 -63.150315,44.716838 -63.150201,44.716927 -63.150146,44.716954 -63.149906,44.717035 -63.149245,44.717355 -63.149177,44.717383 -63.149153,44.717390 -63.149122,44.717405 -63.149088,44.717418 -63.148929,44.717466 -63.148789,44.717532 -63.148741,44.717550 -63.148400,44.717648 -63.148157,44.717756 -63.148109,44.717772 -63.147918,44.717823 -63.147829,44.717861 -63.147778,44.717877 -63.147722,44.717892 -63.147716,44.717905 -63.147691,44.717942 -63.147662,44.717968 -63.147646,44.718008 -63.147625,44.718038 -63.147614,44.718049 -63.147609,44.718060 -63.147580,44.718100 -63.147554,44.718123 -63.147473,44.718241 -63.147463,44.718265 -63.147438,44.718298 -63.147432,44.718303 -63.147430,44.718308 -63.147396,44.718361 -63.147299,44.718515 -63.147255,44.718640 -63.147240,44.718665 -63.147177,44.718760 -63.147160,44.718807 -63.147142,44.718837 -63.147054,44.718966 -63.147040,44.719002 -63.147022,44.719031 -63.147006,44.719045 -63.146996,44.719072 -63.146969,44.719114 -63.146946,44.719150 -63.146900,44.719192 -63.146890,44.719206 -63.146861,44.719279 -63.146836,44.719317 -63.146781,44.719366 -63.146615,44.719610 -63.146517,44.719694 -63.146454,44.719836 -63.146421,44.719873 -63.146408,44.719900 -63.146377,44.719940 -63.146320,44.719987 -63.146078,44.720274 -63.146075,44.720282 -63.146058,44.720308 -63.146053,44.720312 -63.146043,44.720333 -63.146011,44.720368 -63.145991,44.720384 -63.145970,44.720436 -63.145945,44.720474 -63.145925,44.720491 -63.145918,44.720508 -63.145905,44.720527 -63.145880,44.720634 -63.145872,44.720663 -63.145869,44.720668 -63.145856,44.720727 -63.145852,44.720739 -63.145852,44.720742 -63.145846,44.720760 -63.145844,44.720768 -63.145844,44.720768 -63.145836,44.720792 -63.145732,44.720991 -63.145588,44.721498 -63.145573,44.721534 -63.145570,44.721539 -63.145568,44.721545 -63.145558,44.721570 -63.145526,44.721624 -63.145517,44.721656 -63.145503,44.721689 -63.145362,44.721928 -63.145297,44.722122 -63.145275,44.722165 -63.145254,44.722197 -63.145242,44.722232 -63.145227,44.722260 -63.145141,44.722394 -63.145118,44.722459 -63.145092,44.722503 -63.144484,44.723417 -63.144481,44.723419 -63.144469,44.723434 -63.144451,44.723450 -63.144442,44.723471 -63.144366,44.723558 -63.144356,44.723579 -63.144335,44.723605 -63.144296,44.723637 -63.143721,44.724298 -63.143682,44.724337 -63.143556,44.724433 -63.143393,44.724613 -63.143359,44.724645 -63.143323,44.724672 -63.143305,44.724689 -63.143300,44.724693 -63.143293,44.724701 -63.143258,44.724734 -63.143147,44.724815 -63.143022,44.724947 -63.142998,44.724968 -63.142904,44.725035 -63.142828,44.725113 -63.142786,44.725147 -63.142703,44.725204 -63.142602,44.725307 -63.142567,44.725334 -63.142288,44.725524 -63.142167,44.725640 -63.142139,44.725661 -63.141148,44.726302 -63.141124,44.726322 -63.141113,44.726329 -63.141112,44.726329 -63.141093,44.726341 -63.141069,44.726355 -63.141068,44.726355 -63.141061,44.726359 -63.141056,44.726361 -63.141045,44.726368 -63.140920,44.726415 -63.140843,44.726481 -63.140675,44.726567 -63.140639,44.726597 -63.140588,44.726625 -63.140510,44.726652 -63.140506,44.726655 -63.140320,44.726752 -63.140275,44.726787 -63.140231,44.726810 -63.140167,44.726832 -63.140029,44.726904 -63.139865,44.727086 -63.139817,44.727133 -63.139543,44.727336 -63.139241,44.727647 -63.139213,44.727670 -63.139046,44.727785 -63.138950,44.727881 -63.138905,44.727916 -63.138446,44.728222 -63.138315,44.728343 -63.138271,44.728373 -63.137877,44.728618 -63.137844,44.728647 -63.137804,44.728673 -63.137767,44.728687 -63.137650,44.728760 -63.137628,44.728779 -63.137589,44.728802 -63.137573,44.728808 -63.137503,44.728852 -63.137462,44.728867 -63.137423,44.728900 -63.137093,44.729066 -63.136450,44.729554 -63.135826,44.730128 -63.135798,44.730147 -63.135520,44.730260 -63.135106,44.730574 -63.135074,44.730586 -63.135044,44.730611 -63.134904,44.730663 -63.134806,44.730745 -63.134772,44.730763 -63.130757,44.732205 -63.127801,44.732552 -63.127760,44.732553 -63.127231,44.732540 -63.127032,44.732559 -63.126992,44.732559 -63.125861,44.732508 -63.125702,44.732490 -63.125668,44.732487 -63.125658,44.732485 -63.124612,44.732365 -63.124576,44.732360 -63.124501,44.732351 -63.124464,44.732346 -63.121096,44.731454 -63.121075,44.731441 -63.121053,44.731436 -63.120963,44.731396 -63.120932,44.731389 -63.120889,44.731371 -63.120833,44.731337 -63.120458,44.731168 -63.119840,44.730892 -63.119787,44.730868 -63.119785,44.730867 -63.119784,44.730867 -63.119766,44.730857 -63.119748,44.730849 -63.119748,44.730848 -63.119744,44.730846 -63.119740,44.730844 -63.119729,44.730839 -63.119690,44.730819 -63.119042,44.730379 -63.118368,44.730033 -63.118338,44.730013 -63.118259,44.729952 -63.118193,44.729917 -63.118150,44.729888 -63.117784,44.729600 -63.117682,44.729543 -63.117653,44.729521 -63.117644,44.729509 -63.117589,44.729481 -63.117545,44.729453 -63.117197,44.729193 -63.117006,44.729090 -63.116927,44.729034 -63.116778,44.729007 -63.116614,44.728960 -63.115315,44.728520 -63.113812,44.727828 -63.113760,44.727800 -63.112964,44.727250 -63.112089,44.727000 -63.110248,44.726096 -63.106596,44.726446 -63.106444,44.726444 -63.105312,44.726393 -63.102333,44.725890 -63.102120,44.725833 -63.101759,44.725716 -63.101707,44.725706 -63.101607,44.725678 -63.101131,44.725519 -63.101012,44.725495 -63.100824,44.725429 -63.100770,44.725398 -63.100515,44.725313 -63.100425,44.725293 -63.100300,44.725247 -63.100277,44.725233 -63.100200,44.725207 -63.100057,44.725122 -63.099996,44.725108 -63.099929,44.725119 -63.099853,44.725127 -63.099453,44.725133 -63.099288,44.725148 -63.099065,44.725209 -63.099031,44.725211 -63.099014,44.725218 -63.098586,44.725268 -63.098393,44.725334 -63.098342,44.725343 -63.097716,44.725369 -63.096059,44.725563 -63.095844,44.725570 -63.095315,44.725557 -63.095116,44.725576 -63.094776,44.725572 -63.093659,44.725521 -63.093655,44.725522 -63.093516,44.725511 -63.093510,44.725510 -63.093504,44.725510 -63.093477,44.725507 -63.093012,44.725486 -63.091463,44.725294 -63.091350,44.725274 -63.091136,44.725215 -63.090755,44.725161 -63.090656,44.725140 -63.090156,44.725118 -63.090105,44.725106 -63.090080,44.725108 -63.089479,44.725015 -63.089255,44.725024 -63.089179,44.725014 -63.088738,44.724901 -63.087579,44.724723 -63.087416,44.724685 -63.086820,44.724501 -63.086797,44.724498 -63.086546,44.724441 -63.086513,44.724430 -63.085800,44.724315 -63.085612,44.724267 -63.085016,44.724077 -63.084770,44.724031 -63.084620,44.723984 -63.083624,44.723635 -63.081808,44.722768 -63.081696,44.722703 -63.081149,44.722312 -63.080810,44.722135 -63.080201,44.721723 -63.079077,44.720851 -63.079057,44.720824 -63.078817,44.720641 -63.078353,44.720115 -63.078350,44.720113 -63.078167,44.719908 -63.078047,44.719833 -63.077973,44.719760 -63.077777,44.719474 -63.076923,44.718522 -63.076764,44.718295 -63.076438,44.717700 -63.076273,44.717494 -63.076249,44.717449 -63.076086,44.717103 -63.076060,44.717068 -63.075964,44.716860 -63.075960,44.716835 -63.075936,44.716783 -63.075925,44.716691 -63.075840,44.716575 -63.075788,44.716416 -63.075407,44.715706 -63.075350,44.715542 -63.075239,44.715344 -63.075237,44.715320 -63.075228,44.715308 -63.075203,44.715128 -63.075197,44.715119 -63.075173,44.715046 -63.075171,44.715026 -63.075169,44.715020 -63.075064,44.714865 -63.075052,44.714829 -63.074883,44.712792 -63.074782,44.712054 -63.074798,44.711928 -63.074809,44.711901 -63.074807,44.711875 -63.074832,44.711819 -63.074823,44.711749 -63.075455,44.709772 -63.075468,44.709745 -63.076290,44.708435 -63.079396,44.705796 -63.083683,44.704204 -63.085443,44.704036 -63.086027,44.703820 -63.089708,44.703468 -63.089758,44.703469 -63.090493,44.703502 -63.091190,44.702909 -63.092283,44.702463 -63.092556,44.702323 -63.092824,44.702200 -63.093327,44.702037 -63.094419,44.701591 -63.094719,44.701311 -63.094732,44.701302 -63.095583,44.700768 -63.097410,44.699948 -63.098142,44.698780 -63.098979,44.697837 -63.099069,44.697748 -63.099077,44.697743 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-63.116805,44.716989 -63.116805,44.716989 -63.116805,44.716989 -63.116805,44.716989 -63.116805,44.716989 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-65.757596,43.510374 -65.733408,43.527976</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-65.734665,43.515268 -65.734761,43.515131 -65.734859,43.514995 -65.734961,43.514860 -65.735066,43.514727 -65.735175,43.514595 -65.735286,43.514465 -65.735401,43.514336 -65.735518,43.514208 -65.735639,43.514082 -65.735762,43.513958 -65.735889,43.513835 -65.736019,43.513714 -65.736151,43.513594 -65.736286,43.513476 -65.736424,43.513360 -65.736565,43.513246 -65.736709,43.513133 -65.736855,43.513022 -65.737004,43.512913 -65.737155,43.512806 -65.737309,43.512701 -65.737466,43.512598 -65.737625,43.512497 -65.737786,43.512398 -65.737950,43.512301 -65.738116,43.512206 -65.738284,43.512114 -65.738454,43.512023 -65.738627,43.511935 -65.738802,43.511848 -65.738978,43.511764 -65.739157,43.511683 -65.739338,43.511603 -65.739520,43.511526 -65.739704,43.511451 -65.739891,43.511379 -65.740078,43.511309 -65.740268,43.511241 -65.740459,43.511176 -65.740651,43.511113 -65.740846,43.511053 -65.741041,43.510995 -65.741238,43.510939 -65.741436,43.510887 -65.741635,43.510836 -65.741836,43.510788 -65.742038,43.510743 -65.742240,43.510700 -65.742444,43.510660 -65.742649,43.510623 -65.742854,43.510588 -65.743060,43.510555 -65.743267,43.510526 -65.743475,43.510499 -65.743684,43.510474 -65.743892,43.510453 -65.744102,43.510433 -65.744312,43.510417 -65.744522,43.510403 -65.744732,43.510392 -65.744943,43.510384 -65.745154,43.510378 -65.745365,43.510375 -65.745576,43.510374 -65.745787,43.510377 -65.745998,43.510382 -65.746209,43.510389 -65.746419,43.510400 -65.746630,43.510413 -65.746840,43.510428 -65.747049,43.510447 -65.747258,43.510468 -65.747467,43.510491 -65.747675,43.510517 -65.747882,43.510546 -65.748088,43.510578 -65.748294,43.510612 -65.748499,43.510649 -65.748703,43.510688 -65.748906,43.510730 -65.749108,43.510775 -65.749309,43.510822 -65.749509,43.510871 -65.749707,43.510924 -65.749904,43.510978 -65.750100,43.511035 -65.750295,43.511095 -65.750488,43.511157 -65.750679,43.511222 -65.750869,43.511289 -65.751057,43.511358 -65.751244,43.511430 -65.751429,43.511504 -65.751612,43.511580 -65.751793,43.511659 -65.751972,43.511740 -65.752150,43.511823 -65.752325,43.511909 -65.752498,43.511997 -65.752669,43.512087 -65.752838,43.512179 -65.753005,43.512273 -65.753169,43.512369 -65.753331,43.512468 -65.753491,43.512568 -65.753648,43.512671 -65.753803,43.512775 -65.753955,43.512882 -65.754105,43.512990 -65.754252,43.513100 -65.754396,43.513212 -65.754538,43.513326 -65.754677,43.513442 -65.754813,43.513559 -65.754946,43.513678 -65.755076,43.513799 -65.755204,43.513921 -65.755328,43.514045 -65.755450,43.514171 -65.755568,43.514298 -65.755684,43.514427 -65.755796,43.514557 -65.755905,43.514688 -65.756011,43.514821 -65.756114,43.514955 -65.756214,43.515090 -65.756310,43.515227 -65.756403,43.515365 -65.756493,43.515504 -65.756579,43.515644 -65.756662,43.515785 -65.756742,43.515928 -65.756818,43.516071 -65.756891,43.516215 -65.756960,43.516360 -65.757026,43.516506 -65.757088,43.516653 -65.757147,43.516800 -65.757202,43.516949 -65.757254,43.517098 -65.757302,43.517247 -65.757346,43.517397 -65.757387,43.517548 -65.757424,43.517699 -65.757458,43.517851 -65.757488,43.518003 -65.757514,43.518155 -65.757537,43.518308 -65.757556,43.518461 -65.757571,43.518614 -65.757583,43.518768 -65.757591,43.518921 -65.757595,43.519075 -65.757596,43.519228 -65.757592,43.519382 -65.757586,43.519535 -65.757575,43.519689 -65.757561,43.519842 -65.757543,43.519995 -65.757522,43.520148 -65.757497,43.520300 -65.757468,43.520453 -65.757435,43.520604 -65.757399,43.520756 -65.757360,43.520907 -65.757316,43.521057 -65.757269,43.521207 -65.757219,43.521356 -65.757165,43.521504 -65.757107,43.521652 -65.757046,43.521799 -65.756981,43.521945 -65.756913,43.522091 -65.756841,43.522235 -65.756766,43.522379 -65.756688,43.522521 -65.756606,43.522663 -65.756521,43.522803 -65.756432,43.522943 -65.756340,43.523081 -65.756245,43.523218 -65.756146,43.523354 -65.756044,43.523488 -65.755939,43.523622 -65.755831,43.523754 -65.755719,43.523884 -65.755605,43.524013 -65.755487,43.524141 -65.755367,43.524267 -65.755243,43.524391 -65.755117,43.524514 -65.754987,43.524636 -65.754855,43.524755 -65.754719,43.524873 -65.754581,43.524989 -65.754441,43.525104 -65.754297,43.525216 -65.754151,43.525327 -65.754002,43.525436 -65.753850,43.525543 -65.753696,43.525648 -65.753540,43.525751 -65.753381,43.525852 -65.753220,43.525951 -65.753056,43.526048 -65.752890,43.526143 -65.752722,43.526236 -65.752551,43.526327 -65.752379,43.526415 -65.752204,43.526501 -65.752027,43.526585 -65.751848,43.526667 -65.751668,43.526747 -65.751485,43.526824 -65.751301,43.526899 -65.751115,43.526971 -65.750927,43.527041 -65.750737,43.527109 -65.750546,43.527174 -65.750354,43.527237 -65.750160,43.527297 -65.749964,43.527355 -65.749767,43.527411 -65.749569,43.527464 -65.749369,43.527514 -65.749169,43.527562 -65.748967,43.527607 -65.748764,43.527650 -65.748561,43.527690 -65.748356,43.527728 -65.748150,43.527763 -65.747944,43.527795 -65.747737,43.527825 -65.747529,43.527852 -65.747321,43.527876 -65.747112,43.527898 -65.746902,43.527917 -65.746692,43.527934 -65.746482,43.527947 -65.746271,43.527958 -65.746061,43.527967 -65.745850,43.527973 -65.745638,43.527976 -65.745427,43.527976 -65.745216,43.527974 -65.745005,43.527969 -65.744794,43.527961 -65.744584,43.527951 -65.744373,43.527938 -65.744163,43.527922 -65.743954,43.527904 -65.743745,43.527883 -65.743536,43.527859 -65.743328,43.527833 -65.743121,43.527804 -65.742914,43.527772 -65.742708,43.527738 -65.742503,43.527701 -65.742299,43.527662 -65.742096,43.527620 -65.741894,43.527576 -65.741693,43.527529 -65.741493,43.527479 -65.741295,43.527427 -65.741097,43.527372 -65.740902,43.527315 -65.740707,43.527255 -65.740514,43.527193 -65.740322,43.527128 -65.740132,43.527061 -65.739944,43.526992 -65.739757,43.526920 -65.739573,43.526846 -65.739389,43.526770 -65.739208,43.526691 -65.739029,43.526610 -65.738852,43.526526 -65.738676,43.526441 -65.738503,43.526353 -65.738332,43.526263 -65.738163,43.526171 -65.737996,43.526077 -65.737832,43.525980 -65.737670,43.525882 -65.737510,43.525781 -65.737353,43.525679 -65.737198,43.525574 -65.737046,43.525468 -65.736896,43.525360 -65.736749,43.525249 -65.736605,43.525137 -65.736463,43.525023 -65.736324,43.524908 -65.736188,43.524790 -65.736055,43.524671 -65.735925,43.524550 -65.735797,43.524428 -65.735673,43.524304 -65.735551,43.524178 -65.735433,43.524051 -65.735317,43.523922 -65.735205,43.523792 -65.735096,43.523661 -65.734990,43.523528 -65.734887,43.523394 -65.734788,43.523258 -65.734691,43.523122 -65.734598,43.522984 -65.734509,43.522845 -65.734422,43.522705 -65.734339,43.522563 -65.734260,43.522421 -65.734184,43.522278 -65.734111,43.522134 -65.734042,43.521988 -65.733976,43.521842 -65.733914,43.521696 -65.733855,43.521548 -65.733800,43.521400 -65.733749,43.521251 -65.733701,43.521101 -65.733656,43.520951 -65.733615,43.520800 -65.733578,43.520649 -65.733545,43.520498 -65.733515,43.520346 -65.733489,43.520193 -65.733466,43.520040 -65.733447,43.519887 -65.733432,43.519734 -65.733420,43.519581 -65.733413,43.519427 -65.733408,43.519274 -65.733408,43.519120 -65.733411,43.518967 -65.733418,43.518813 -65.733428,43.518660 -65.733443,43.518506 -65.733461,43.518353 -65.733482,43.518200 -65.733507,43.518048 -65.733536,43.517896 -65.733569,43.517744 -65.733605,43.517593 -65.733645,43.517442 -65.733688,43.517292 -65.733735,43.517142 -65.733786,43.516993 -65.733840,43.516844 -65.733897,43.516696 -65.733959,43.516549 -65.734023,43.516403 -65.734092,43.516258 -65.734163,43.516113 -65.734239,43.515970 -65.734317,43.515827 -65.734399,43.515686 -65.734485,43.515545 -65.734573,43.515406 -65.734665,43.515268 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-65.663009,43.381062 -65.554405,43.477630</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-65.630463,43.410945 -65.630853,43.409899 -65.630171,43.409682 -65.630167,43.409713 -65.630010,43.410101 -65.629627,43.411520 -65.628229,43.414596 -65.627144,43.419473 -65.626537,43.420846 -65.626286,43.421590 -65.622087,43.428574 -65.621921,43.428738 -65.621838,43.428962 -65.621014,43.429987 -65.617830,43.433397 -65.616212,43.434726 -65.615975,43.434954 -65.612333,43.437367 -65.612221,43.437415 -65.612136,43.437495 -65.609552,43.438747 -65.606470,43.439853 -65.606271,43.440074 -65.603403,43.444269 -65.602328,43.445327 -65.602713,43.447530 -65.602588,43.447865 -65.602624,43.448149 -65.601721,43.452803 -65.600575,43.455488 -65.600453,43.455603 -65.600402,43.455732 -65.596534,43.460970 -65.596329,43.461157 -65.595319,43.462307 -65.591561,43.465717 -65.590247,43.466713 -65.590181,43.466775 -65.585053,43.470103 -65.584989,43.470130 -65.584942,43.470174 -65.583865,43.470605 -65.580859,43.471874 -65.580639,43.471894 -65.580462,43.471965 -65.579900,43.472087 -65.578102,43.473940 -65.576166,43.475499 -65.572081,43.477199 -65.567414,43.477630 -65.562875,43.476728 -65.559157,43.474630 -65.558367,43.473892 -65.556539,43.471982 -65.554997,43.469745 -65.554405,43.466347 -65.555027,43.464115 -65.556279,43.461455 -65.556896,43.460383 -65.559776,43.457675 -65.561202,43.456899 -65.563709,43.455735 -65.566367,43.454811 -65.570503,43.454361 -65.570897,43.454368 -65.571246,43.454198 -65.574832,43.450872 -65.573335,43.448796 -65.572978,43.447203 -65.572534,43.446637 -65.571942,43.443239 -65.572067,43.442903 -65.572031,43.442619 -65.572371,43.440874 -65.573518,43.438189 -65.576396,43.435481 -65.580477,43.433782 -65.581942,43.433577 -65.582587,43.432948 -65.583224,43.431381 -65.583994,43.429956 -65.586871,43.427248 -65.589024,43.426159 -65.593185,43.424511 -65.597616,43.421542 -65.600827,43.417595 -65.601731,43.412936 -65.602475,43.411190 -65.602727,43.410477 -65.605533,43.406057 -65.606131,43.399433 -65.606108,43.398692 -65.604588,43.396849 -65.604522,43.396473 -65.604328,43.396202 -65.603755,43.394542 -65.603420,43.391791 -65.604654,43.388487 -65.607527,43.385778 -65.609334,43.384831 -65.615363,43.382249 -65.617632,43.381496 -65.622288,43.381062 -65.626819,43.381960 -65.628288,43.382592 -65.629770,43.383338 -65.632015,43.384800 -65.634349,43.387772 -65.634945,43.391168 -65.634921,43.391234 -65.636620,43.392050 -65.640298,43.392835 -65.644044,43.392888 -65.644319,43.392937 -65.644641,43.392907 -65.647411,43.393490 -65.649173,43.393804 -65.649330,43.393893 -65.649507,43.393930 -65.656691,43.396742 -65.660074,43.398710 -65.662410,43.401681 -65.663009,43.405078 -65.662546,43.406957 -65.661303,43.410033 -65.660536,43.411458 -65.658888,43.413133 -65.659488,43.413896 -65.660086,43.417293 -65.658856,43.420599 -65.655984,43.423309 -65.651907,43.425012 -65.650882,43.425263 -65.647742,43.425705 -65.645691,43.425791 -65.644169,43.425785 -65.639634,43.424888 -65.636500,43.423248 -65.635929,43.422833 -65.635722,43.422591 -65.635345,43.422379 -65.633010,43.419406 -65.632616,43.417161 -65.631290,43.415255 -65.630863,43.414050 -65.630633,43.413137 -65.630463,43.410945 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-65.507400,43.461481 -65.308111,43.632478</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-65.332213,43.563460 -65.332032,43.562784 -65.331498,43.556848 -65.327555,43.553604 -65.327519,43.553557 -65.327459,43.553523 -65.325137,43.550541 -65.324561,43.547139 -65.324604,43.547026 -65.324588,43.546916 -65.326311,43.534338 -65.327542,43.531259 -65.330440,43.528558 -65.332955,43.527342 -65.338540,43.525324 -65.340123,43.524851 -65.344797,43.524431 -65.349336,43.525345 -65.351789,43.526536 -65.367375,43.536303 -65.368636,43.537219 -65.370960,43.540200 -65.371539,43.543601 -65.371139,43.545288 -65.369788,43.548861 -65.370340,43.549719 -65.370818,43.548077 -65.371843,43.545950 -65.374740,43.543247 -65.375007,43.543137 -65.375179,43.542984 -65.384399,43.537722 -65.388057,43.536294 -65.388743,43.536232 -65.385503,43.510960 -65.385484,43.509615 -65.385476,43.509571 -65.386426,43.499008 -65.382705,43.493108 -65.382216,43.492205 -65.381637,43.488805 -65.382268,43.486574 -65.385350,43.480086 -65.385971,43.479015 -65.388862,43.476312 -65.392953,43.474621 -65.397597,43.474198 -65.397656,43.474201 -65.397683,43.474162 -65.400573,43.471459 -65.404664,43.469767 -65.407701,43.469339 -65.416336,43.468943 -65.417967,43.468948 -65.422501,43.469858 -65.426214,43.471962 -65.426964,43.472662 -65.432247,43.478144 -65.433822,43.480422 -65.434383,43.482367 -65.436585,43.499410 -65.436590,43.499749 -65.436630,43.499910 -65.437441,43.515939 -65.437435,43.516206 -65.437449,43.516272 -65.437438,43.523663 -65.438129,43.524387 -65.440031,43.522010 -65.440250,43.521817 -65.440854,43.521112 -65.444539,43.517584 -65.444544,43.514452 -65.444634,43.514174 -65.444575,43.513829 -65.445823,43.510525 -65.448086,43.508244 -65.457851,43.501150 -65.458184,43.501000 -65.458477,43.500725 -65.459175,43.500408 -65.458974,43.500152 -65.458005,43.498571 -65.457683,43.497728 -65.456019,43.492342 -65.455104,43.490896 -65.452916,43.490458 -65.451620,43.489910 -65.447443,43.487878 -65.445025,43.486323 -65.442699,43.483345 -65.442115,43.479946 -65.443362,43.476642 -65.446250,43.473938 -65.448759,43.472720 -65.452582,43.471331 -65.456782,43.468277 -65.458138,43.466307 -65.461024,43.463602 -65.465112,43.461908 -65.469778,43.461481 -65.472935,43.461961 -65.477668,43.463180 -65.479047,43.463607 -65.482761,43.465709 -65.485089,43.468685 -65.487593,43.474163 -65.488180,43.477562 -65.486935,43.480866 -65.484525,43.483256 -65.483192,43.484192 -65.484568,43.485726 -65.485915,43.487755 -65.486524,43.490857 -65.486390,43.493466 -65.489290,43.496590 -65.495174,43.499498 -65.497513,43.501011 -65.497574,43.501090 -65.497667,43.501143 -65.504634,43.507230 -65.506811,43.510075 -65.507400,43.513475 -65.507224,43.514471 -65.506387,43.517717 -65.505319,43.520026 -65.502432,43.522733 -65.498340,43.524429 -65.494524,43.524880 -65.487552,43.524878 -65.487171,43.524812 -65.486697,43.524856 -65.484232,43.524307 -65.482155,43.523949 -65.481848,43.523776 -65.481531,43.523705 -65.472332,43.519846 -65.472159,43.519743 -65.471885,43.519623 -65.469774,43.526517 -65.468785,43.528539 -65.465895,43.531245 -65.465706,43.531323 -65.465581,43.531436 -65.462073,43.533499 -65.467875,43.542934 -65.468311,43.543749 -65.468897,43.547150 -65.467650,43.550454 -65.463459,43.556540 -65.460567,43.559246 -65.460374,43.559326 -65.461198,43.560126 -65.462992,43.562620 -65.463290,43.563386 -65.465516,43.570287 -65.465804,43.572922 -65.465063,43.575383 -65.463006,43.579363 -65.468358,43.585396 -65.468476,43.585576 -65.468698,43.585803 -65.471836,43.589801 -65.471971,43.589745 -65.476650,43.589318 -65.481198,43.590225 -65.484159,43.591744 -65.497840,43.601287 -65.498605,43.601871 -65.500940,43.604849 -65.501530,43.608250 -65.500283,43.611557 -65.497389,43.614265 -65.495546,43.615110 -65.495940,43.617385 -65.494692,43.620691 -65.491798,43.623399 -65.489091,43.624687 -65.482662,43.626918 -65.481268,43.627327 -65.476585,43.627754 -65.472034,43.626847 -65.468307,43.624743 -65.466299,43.622395 -65.461709,43.614459 -65.461706,43.614459 -65.458416,43.612701 -65.452149,43.607976 -65.432111,43.601138 -65.431990,43.601071 -65.431833,43.601040 -65.428393,43.599091 -65.428110,43.598935 -65.428103,43.598926 -65.428093,43.598921 -65.417905,43.590323 -65.404140,43.580877 -65.403294,43.580234 -65.400966,43.577254 -65.400385,43.573852 -65.400418,43.573765 -65.400404,43.573680 -65.401378,43.566040 -65.396442,43.561538 -65.395632,43.563785 -65.395407,43.563995 -65.395314,43.564214 -65.389714,43.571310 -65.388989,43.571949 -65.387923,43.573042 -65.380649,43.578512 -65.379861,43.579054 -65.375760,43.580745 -65.371081,43.581167 -65.367380,43.580534 -65.361285,43.578716 -65.361108,43.580819 -65.361088,43.580871 -65.361098,43.580926 -65.360061,43.583652 -65.361331,43.588205 -65.364754,43.588893 -65.366051,43.589443 -65.369293,43.591021 -65.377459,43.593554 -65.377742,43.593705 -65.378144,43.593785 -65.381864,43.595892 -65.384191,43.598874 -65.384772,43.602276 -65.383517,43.605580 -65.382981,43.606275 -65.381027,43.608558 -65.380858,43.611716 -65.380808,43.611856 -65.380835,43.612014 -65.379579,43.615318 -65.376678,43.618022 -65.372574,43.619714 -65.367891,43.620135 -65.363342,43.619222 -65.361128,43.618179 -65.359559,43.617248 -65.358457,43.617180 -65.358714,43.617509 -65.359293,43.620911 -65.358626,43.623212 -65.356938,43.626660 -65.356348,43.627664 -65.353445,43.630367 -65.349338,43.632058 -65.344654,43.632478 -65.340104,43.631564 -65.336966,43.629912 -65.333161,43.627133 -65.327408,43.623611 -65.325237,43.623840 -65.322607,43.623907 -65.318059,43.622992 -65.314339,43.620882 -65.312574,43.618912 -65.309520,43.614236 -65.308962,43.613222 -65.308356,43.610674 -65.308111,43.602959 -65.308141,43.602105 -65.309401,43.598802 -65.312304,43.596101 -65.316409,43.594412 -65.321090,43.593994 -65.325635,43.594909 -65.326683,43.595341 -65.330604,43.597152 -65.334182,43.594731 -65.333469,43.592369 -65.332493,43.591729 -65.331956,43.591442 -65.322769,43.584522 -65.322604,43.584324 -65.322312,43.584158 -65.319989,43.581175 -65.319414,43.577773 -65.319726,43.576336 -65.321704,43.570454 -65.322650,43.568589 -65.325551,43.565887 -65.329055,43.564355 -65.332213,43.563460 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-65.430686,43.568021 -65.430591,43.569666 -65.433019,43.571482 -65.433021,43.570340 -65.432626,43.570117 -65.431409,43.568896 -65.430686,43.568021 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-65.621388,43.466711 -65.535436,43.578835</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-65.564980,43.518472 -65.567108,43.521289 -65.567977,43.522734 -65.568571,43.526134 -65.568528,43.526247 -65.568545,43.526357 -65.567290,43.535885 -65.567275,43.535924 -65.567280,43.535958 -65.566818,43.539176 -65.571073,43.545131 -65.571810,43.546396 -65.572404,43.549796 -65.572278,43.550131 -65.572314,43.550415 -65.572177,43.551117 -65.574770,43.553626 -65.578325,43.551035 -65.582088,43.545545 -65.584770,43.541632 -65.587926,43.535584 -65.588408,43.534783 -65.590854,43.531212 -65.590765,43.528872 -65.593265,43.525959 -65.595955,43.521452 -65.598161,43.513019 -65.598945,43.508399 -65.598936,43.503779 -65.597022,43.498469 -65.595271,43.495238 -65.590660,43.488660 -65.588273,43.484043 -65.585406,43.476656 -65.584735,43.473585 -65.586665,43.470766 -65.593316,43.466834 -65.600925,43.466711 -65.606958,43.470630 -65.610931,43.475244 -65.613793,43.478589 -65.618724,43.485281 -65.620957,43.490705 -65.621283,43.494284 -65.619227,43.496712 -65.617804,43.498792 -65.619723,43.505257 -65.618466,43.510571 -65.619107,43.513111 -65.619752,43.517383 -65.619185,43.518039 -65.620634,43.520879 -65.620661,43.521016 -65.620764,43.521146 -65.621388,43.524092 -65.621004,43.540073 -65.620934,43.540282 -65.620977,43.540527 -65.619741,43.543834 -65.611318,43.556138 -65.610346,43.557316 -65.599801,43.568086 -65.597889,43.569618 -65.596743,43.570259 -65.582381,43.577342 -65.579433,43.578402 -65.574756,43.578835 -65.570892,43.578162 -65.556935,43.573867 -65.556651,43.573718 -65.556250,43.573638 -65.552524,43.571538 -65.550802,43.569653 -65.539800,43.553366 -65.539185,43.552276 -65.538638,43.550468 -65.536526,43.536698 -65.535436,43.530376 -65.537035,43.528694 -65.539987,43.522854 -65.548430,43.518241 -65.558985,43.516699 -65.564980,43.518472 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.426187,44.939550 -64.086660,45.183745</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-64.165181,44.997572 -64.167059,45.000224 -64.167828,45.001577 -64.168334,45.005009 -64.168239,45.005237 -64.168262,45.005445 -64.165280,45.020270 -64.165113,45.020635 -64.164753,45.021843 -64.158150,45.035743 -64.157731,45.040192 -64.172847,45.049777 -64.174126,45.050717 -64.175678,45.052397 -64.181172,45.060140 -64.181942,45.061493 -64.182371,45.064229 -64.189497,45.068837 -64.203110,45.074436 -64.206442,45.076430 -64.207190,45.077136 -64.225363,45.096185 -64.229892,45.100021 -64.240094,45.100461 -64.240272,45.100496 -64.240470,45.100481 -64.245145,45.101459 -64.246979,45.102293 -64.247763,45.102722 -64.248779,45.100284 -64.249488,45.099444 -64.253094,45.095664 -64.255449,45.093819 -64.259730,45.092168 -64.264576,45.091804 -64.266615,45.092057 -64.275795,45.093761 -64.278431,45.094484 -64.282223,45.096653 -64.282460,45.096961 -64.282766,45.097149 -64.286485,45.100806 -64.288274,45.103342 -64.288838,45.105763 -64.288854,45.106228 -64.290457,45.106949 -64.293352,45.108749 -64.295685,45.111781 -64.298085,45.117223 -64.298603,45.120656 -64.297610,45.123399 -64.296128,45.125805 -64.299952,45.127027 -64.312770,45.128627 -64.320992,45.127925 -64.321800,45.127450 -64.322634,45.124273 -64.324026,45.113042 -64.321525,45.105352 -64.321257,45.102575 -64.322632,45.099262 -64.325371,45.096771 -64.329901,45.093901 -64.330080,45.093829 -64.330222,45.093705 -64.334500,45.092051 -64.336692,45.091714 -64.340403,45.091388 -64.342068,45.088299 -64.342669,45.087355 -64.345727,45.084667 -64.350003,45.083013 -64.354848,45.082643 -64.356261,45.082791 -64.361331,45.083532 -64.364594,45.084356 -64.368390,45.086521 -64.369324,45.087423 -64.370369,45.088577 -64.372475,45.089226 -64.375396,45.088821 -64.375686,45.088696 -64.379779,45.085722 -64.380706,45.085114 -64.384982,45.083458 -64.385518,45.083417 -64.385907,45.083279 -64.392294,45.082232 -64.396214,45.082039 -64.400890,45.083009 -64.401037,45.083092 -64.404747,45.081675 -64.409591,45.081302 -64.414268,45.082272 -64.418065,45.084435 -64.420406,45.087463 -64.420932,45.090895 -64.420635,45.092183 -64.419265,45.096223 -64.418194,45.098248 -64.416181,45.100246 -64.412616,45.102907 -64.411575,45.103600 -64.410429,45.104204 -64.404312,45.107058 -64.401182,45.108112 -64.396334,45.108484 -64.393790,45.107956 -64.391938,45.108673 -64.390826,45.108871 -64.391733,45.108801 -64.396412,45.109771 -64.400211,45.111935 -64.400449,45.112243 -64.400756,45.112431 -64.406351,45.117909 -64.407734,45.119859 -64.409523,45.120300 -64.412730,45.121997 -64.415858,45.124289 -64.416066,45.124536 -64.416451,45.124756 -64.418794,45.127784 -64.419321,45.131217 -64.417952,45.134531 -64.414895,45.137222 -64.414576,45.137346 -64.415361,45.137490 -64.418002,45.138210 -64.421805,45.140373 -64.424148,45.143402 -64.425659,45.146801 -64.426187,45.150234 -64.424818,45.153549 -64.421760,45.156240 -64.417479,45.157899 -64.405946,45.160463 -64.401094,45.160835 -64.400618,45.160737 -64.400213,45.160758 -64.395520,45.160224 -64.393237,45.162172 -64.392932,45.162389 -64.392782,45.162539 -64.387260,45.166754 -64.386114,45.167524 -64.381831,45.169181 -64.378557,45.169581 -64.372527,45.169741 -64.372053,45.175449 -64.372004,45.175575 -64.372025,45.175715 -64.370652,45.179029 -64.367589,45.181719 -64.363304,45.183375 -64.358448,45.183745 -64.355049,45.183185 -64.195967,45.139522 -64.194682,45.139107 -64.190891,45.136934 -64.188563,45.133900 -64.188015,45.131695 -64.187616,45.125723 -64.186324,45.124981 -64.184590,45.123768 -64.182264,45.120733 -64.181735,45.117473 -64.182230,45.112620 -64.175801,45.107873 -64.160548,45.099464 -64.160260,45.099267 -64.159970,45.099125 -64.146774,45.090898 -64.142904,45.092383 -64.138056,45.092741 -64.133566,45.091796 -64.131185,45.093875 -64.126899,45.095519 -64.122051,45.095876 -64.121577,45.095776 -64.121172,45.095796 -64.116734,45.095276 -64.112941,45.094372 -64.109157,45.092196 -64.106837,45.089160 -64.106335,45.085726 -64.106431,45.085498 -64.106408,45.085290 -64.107911,45.077876 -64.109228,45.075004 -64.112299,45.072324 -64.116583,45.070681 -64.120591,45.069803 -64.121760,45.068781 -64.122384,45.066678 -64.119541,45.066079 -64.115759,45.063903 -64.115524,45.063595 -64.115219,45.063406 -64.105039,45.053333 -64.103262,45.050794 -64.102760,45.047361 -64.103363,45.045351 -64.110503,45.030366 -64.110849,45.029794 -64.110915,45.029616 -64.118368,45.017674 -64.118566,45.015435 -64.100291,45.011926 -64.097728,45.011210 -64.093952,45.009034 -64.091782,45.006310 -64.087305,44.997228 -64.087278,44.997071 -64.087161,44.996917 -64.086660,44.993484 -64.088049,44.990178 -64.091116,44.987499 -64.095392,44.985858 -64.097294,44.985554 -64.106847,44.984578 -64.109782,44.984526 -64.114442,44.985510 -64.118217,44.987685 -64.120322,44.990279 -64.120686,44.990980 -64.130248,44.991128 -64.130231,44.991012 -64.131616,44.987704 -64.134155,44.985351 -64.145167,44.978086 -64.145462,44.977965 -64.145712,44.977747 -64.151253,44.974495 -64.160693,44.963716 -64.163312,44.961583 -64.165322,44.960615 -64.170531,44.958604 -64.176160,44.949353 -64.176420,44.949107 -64.176573,44.948741 -64.179631,44.946060 -64.182839,44.944687 -64.198192,44.940183 -64.199253,44.939911 -64.204084,44.939550 -64.208742,44.940529 -64.212517,44.942700 -64.214837,44.945731 -64.215240,44.946951 -64.216366,44.951922 -64.216472,44.954133 -64.215094,44.957441 -64.212037,44.960123 -64.210455,44.960919 -64.200099,44.965307 -64.193157,44.972913 -64.192925,44.973098 -64.192487,44.973577 -64.181134,44.983799 -64.176378,44.990210 -64.173317,44.992892 -64.173248,44.992918 -64.173199,44.992960 -64.165181,44.997572 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-64.384824,45.109688 -64.379990,45.110336 -64.380058,45.110631 -64.380064,45.110896 -64.384824,45.109688 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-66.578139,44.098782 -66.153180,44.418978</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-66.295541,44.412293 -66.261684,44.405961 -66.204319,44.374781 -66.168037,44.330222 -66.167198,44.328474 -66.167198,44.328474 -66.160202,44.291681 -66.154826,44.275099 -66.154708,44.274427 -66.153704,44.252147 -66.153180,44.249386 -66.171413,44.199506 -66.195841,44.172413 -66.196322,44.172001 -66.215212,44.158020 -66.215309,44.157980 -66.215728,44.157527 -66.220216,44.153869 -66.235856,44.142580 -66.237503,44.141175 -66.239310,44.139325 -66.240513,44.138439 -66.240936,44.138246 -66.245989,44.133933 -66.280065,44.116685 -66.282803,44.115610 -66.306805,44.107956 -66.311663,44.105902 -66.382508,44.098782 -66.383657,44.098996 -66.384214,44.098940 -66.390143,44.100047 -66.395456,44.099648 -66.397161,44.099806 -66.426994,44.106188 -66.429055,44.106397 -66.431414,44.106781 -66.440726,44.109122 -66.453472,44.111842 -66.455126,44.112739 -66.459638,44.113872 -66.472456,44.116252 -66.517558,44.138353 -66.519369,44.139560 -66.531491,44.148427 -66.567981,44.192798 -66.578139,44.243851 -66.578091,44.243988 -66.578118,44.244127 -66.577930,44.246526 -66.576746,44.249839 -66.577231,44.252795 -66.577155,44.253317 -66.577600,44.255548 -66.576304,44.259188 -66.576110,44.260525 -66.573115,44.268141 -66.559789,44.305525 -66.542264,44.326518 -66.540511,44.328235 -66.516442,44.347280 -66.510686,44.353356 -66.509003,44.354661 -66.501970,44.359625 -66.494068,44.368142 -66.493186,44.368854 -66.478300,44.379565 -66.475472,44.380762 -66.474352,44.381831 -66.469827,44.383746 -66.468146,44.385349 -66.406125,44.411563 -66.404161,44.411761 -66.373395,44.417289 -66.370545,44.417610 -66.331374,44.418978 -66.324256,44.417651 -66.321760,44.417836 -66.321188,44.417782 -66.295541,44.412293 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.506505,44.137918 -64.356385,44.264478</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.486428,44.139947 -64.490612,44.138293 -64.495355,44.137918 -64.499938,44.138878 -64.503661,44.141028 -64.505959,44.144041 -64.506505,44.147233 -64.506255,44.150165 -64.506214,44.150272 -64.506232,44.150389 -64.504899,44.153690 -64.503714,44.155022 -64.500876,44.157658 -64.499074,44.159007 -64.495941,44.160246 -64.495995,44.161673 -64.495954,44.162680 -64.494619,44.165980 -64.492036,44.168407 -64.491904,44.168494 -64.491643,44.170383 -64.492477,44.174016 -64.495070,44.178234 -64.495548,44.179146 -64.496070,44.182563 -64.494735,44.185863 -64.491746,44.188545 -64.491734,44.188550 -64.491726,44.188557 -64.487591,44.191045 -64.483422,44.192687 -64.478672,44.193062 -64.474085,44.192100 -64.470678,44.190212 -64.470272,44.189890 -64.467553,44.191134 -64.465816,44.193533 -64.462825,44.196214 -64.462400,44.196382 -64.462140,44.196599 -64.456206,44.199691 -64.451920,44.201996 -64.452294,44.204486 -64.452318,44.206204 -64.451197,44.209189 -64.447896,44.214228 -64.447747,44.220630 -64.451780,44.223556 -64.452343,44.224000 -64.452368,44.224015 -64.456739,44.227670 -64.456775,44.227717 -64.456835,44.227752 -64.459135,44.230767 -64.459666,44.234078 -64.459429,44.236344 -64.459408,44.236396 -64.459417,44.236451 -64.458077,44.239752 -64.455083,44.242434 -64.450888,44.244087 -64.446133,44.244460 -64.443488,44.244078 -64.443411,44.244061 -64.442128,44.245567 -64.439548,44.247720 -64.435352,44.249372 -64.430596,44.249745 -64.426004,44.248780 -64.425064,44.248389 -64.418351,44.245300 -64.414439,44.248468 -64.414250,44.249449 -64.414336,44.251076 -64.414298,44.252189 -64.412955,44.255490 -64.409956,44.258169 -64.405759,44.259820 -64.404444,44.260061 -64.400170,44.260663 -64.398997,44.261478 -64.398654,44.261624 -64.398350,44.261896 -64.394151,44.263546 -64.389394,44.263916 -64.387391,44.263667 -64.387134,44.263619 -64.385778,44.264108 -64.381020,44.264478 -64.378103,44.264029 -64.372004,44.262515 -64.368379,44.262469 -64.367993,44.262398 -64.367510,44.262435 -64.362918,44.261468 -64.359191,44.259310 -64.356897,44.256293 -64.356385,44.252873 -64.357732,44.249574 -64.360328,44.247151 -64.363915,44.244794 -64.364138,44.244702 -64.364320,44.244540 -64.368518,44.242891 -64.373274,44.242522 -64.373552,44.242580 -64.373809,44.242565 -64.382188,44.243368 -64.385758,44.243181 -64.385887,44.243063 -64.388242,44.239821 -64.390594,44.237560 -64.400250,44.230856 -64.404398,44.226830 -64.406378,44.225320 -64.407964,44.224509 -64.413403,44.222175 -64.416011,44.221334 -64.416159,44.221322 -64.416283,44.221275 -64.420117,44.220478 -64.421907,44.213611 -64.421911,44.213603 -64.421916,44.213577 -64.424544,44.203705 -64.423197,44.201005 -64.423167,44.200837 -64.423041,44.200671 -64.422524,44.197254 -64.423865,44.193954 -64.426858,44.191274 -64.426926,44.191248 -64.426973,44.191206 -64.430325,44.189235 -64.431931,44.187407 -64.434416,44.185362 -64.438605,44.183710 -64.439431,44.183523 -64.441078,44.182459 -64.441968,44.181230 -64.444959,44.178550 -64.445027,44.178524 -64.445074,44.178482 -64.452405,44.174167 -64.452533,44.174117 -64.454372,44.173221 -64.463514,44.169693 -64.463139,44.165756 -64.463157,44.164384 -64.463493,44.162966 -64.466431,44.154711 -64.467226,44.148982 -64.468548,44.145789 -64.471536,44.143109 -64.475720,44.141455 -64.477756,44.141127 -64.485846,44.140337 -64.486428,44.139947 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-60.186010,43.878797 -59.655674,44.050696</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-60.175022,43.929461 -60.185019,43.945035 -60.186010,43.962190 -60.177834,43.978313 -60.161728,43.990948 -60.140145,43.998167 -60.116375,43.998868 -60.099122,43.994950 -60.076531,43.986993 -60.057547,43.980843 -60.049508,43.978801 -60.035536,43.977576 -60.024641,43.977422 -60.018022,43.978407 -60.014731,43.978461 -60.003112,43.979270 -59.983464,43.978656 -59.964453,43.980692 -59.959298,43.980671 -59.952720,43.981120 -59.930325,43.980370 -59.918501,43.981224 -59.916929,43.981190 -59.914666,43.981412 -59.900950,43.981772 -59.873020,43.983763 -59.851599,43.988352 -59.828469,43.995410 -59.809631,44.004422 -59.797301,44.013960 -59.796206,44.014657 -59.795500,44.015295 -59.775037,44.029827 -59.773066,44.031026 -59.772409,44.031585 -59.759713,44.039592 -59.755212,44.042170 -59.741803,44.047435 -59.738916,44.048250 -59.730653,44.050106 -59.706851,44.050696 -59.684551,44.044666 -59.667157,44.032936 -59.657317,44.017297 -59.655746,44.008697 -59.655674,44.007086 -59.656450,43.998522 -59.664813,43.982446 -59.672696,43.975126 -59.678044,43.971115 -59.693275,43.958783 -59.704132,43.949320 -59.704754,43.948900 -59.705569,43.948113 -59.722285,43.934562 -59.724472,43.933138 -59.725911,43.931863 -59.741713,43.921060 -59.747992,43.917308 -59.758627,43.912876 -59.780363,43.905818 -59.806627,43.896089 -59.813052,43.894377 -59.816048,43.893289 -59.838607,43.888128 -59.841288,43.887986 -59.844152,43.887064 -59.865084,43.883799 -59.865435,43.883792 -59.870258,43.883158 -59.894667,43.880912 -59.896621,43.880935 -59.900160,43.880588 -59.929100,43.879825 -59.960265,43.878994 -59.961239,43.879037 -59.962053,43.878965 -59.991194,43.878797 -59.995586,43.879035 -59.996962,43.878961 -60.028618,43.880944 -60.030495,43.881391 -60.032900,43.881323 -60.038648,43.882188 -60.075548,43.889095 -60.077975,43.889839 -60.082570,43.890742 -60.112364,43.899200 -60.114986,43.900142 -60.116319,43.900440 -60.143254,43.909714 -60.148806,43.911886 -60.158829,43.917412 -60.167572,43.923361 -60.175022,43.929461 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-62.624459,44.764503 -62.089121,44.926223</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-62.090134,44.880420 -62.142433,44.880591 -62.145431,44.863167 -62.271655,44.863597 -62.269573,44.851127 -62.327009,44.850168 -62.329194,44.813069 -62.401663,44.815016 -62.408946,44.764503 -62.500745,44.767948 -62.617317,44.768782 -62.624459,44.816448 -62.588717,44.817703 -62.586915,44.832451 -62.577051,44.833941 -62.549504,44.833033 -62.527852,44.832917 -62.528381,44.837770 -62.530832,44.845710 -62.486324,44.844215 -62.487011,44.853003 -62.411996,44.850132 -62.383047,44.850938 -62.384381,44.868517 -62.362351,44.867441 -62.362128,44.882851 -62.336211,44.882540 -62.335046,44.899127 -62.316205,44.900875 -62.315510,44.886640 -62.279345,44.886852 -62.282258,44.899656 -62.264350,44.900217 -62.264995,44.909010 -62.246615,44.910155 -62.244089,44.921554 -62.168038,44.919653 -62.164173,44.925859 -62.149672,44.926223 -62.148356,44.921032 -62.137744,44.920633 -62.138381,44.900698 -62.089121,44.899432 -62.090134,44.880420 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.691864,45.094074 -61.211602,45.244488</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-61.688620,45.117472 -61.688635,45.117453 -61.688651,45.117435 -61.688668,45.117417 -61.688684,45.117399 -61.688701,45.117381 -61.688719,45.117364 -61.688737,45.117346 -61.688756,45.117329 -61.688775,45.117312 -61.688794,45.117296 -61.688814,45.117279 -61.688834,45.117263 -61.688854,45.117248 -61.688875,45.117232 -61.688896,45.117217 -61.688918,45.117202 -61.688940,45.117187 -61.688962,45.117172 -61.688985,45.117158 -61.689008,45.117144 -61.689032,45.117130 -61.689055,45.117117 -61.689079,45.117104 -61.689104,45.117091 -61.689128,45.117079 -61.689154,45.117067 -61.689179,45.117055 -61.689204,45.117043 -61.689230,45.117032 -61.689256,45.117021 -61.689283,45.117010 -61.689310,45.117000 -61.689336,45.116990 -61.689364,45.116981 -61.689391,45.116971 -61.689419,45.116963 -61.689446,45.116954 -61.689474,45.116946 -61.689503,45.116938 -61.689531,45.116930 -61.689560,45.116923 -61.689589,45.116916 -61.689617,45.116910 -61.689647,45.116904 -61.689676,45.116898 -61.689705,45.116893 -61.689735,45.116888 -61.689764,45.116883 -61.689794,45.116879 -61.689824,45.116875 -61.689854,45.116871 -61.689884,45.116868 -61.689914,45.116865 -61.689944,45.116863 -61.689974,45.116861 -61.690005,45.116859 -61.690035,45.116858 -61.690065,45.116857 -61.690095,45.116856 -61.690126,45.116856 -61.690156,45.116856 -61.690186,45.116857 -61.690217,45.116858 -61.690247,45.116859 -61.690277,45.116861 -61.690308,45.116863 -61.690338,45.116865 -61.690368,45.116868 -61.690398,45.116871 -61.690428,45.116875 -61.690458,45.116879 -61.690487,45.116883 -61.690517,45.116888 -61.690546,45.116893 -61.690576,45.116898 -61.690605,45.116904 -61.690634,45.116910 -61.690663,45.116916 -61.690692,45.116923 -61.690720,45.116930 -61.690749,45.116938 -61.690777,45.116946 -61.690805,45.116954 -61.690833,45.116963 -61.690861,45.116972 -61.690888,45.116981 -61.690915,45.116990 -61.690942,45.117000 -61.690969,45.117011 -61.690995,45.117021 -61.691021,45.117032 -61.691047,45.117043 -61.691073,45.117055 -61.691098,45.117067 -61.691123,45.117079 -61.691148,45.117091 -61.691172,45.117104 -61.691196,45.117117 -61.691220,45.117131 -61.691243,45.117144 -61.691266,45.117158 -61.691289,45.117172 -61.691312,45.117187 -61.691334,45.117202 -61.691355,45.117217 -61.691377,45.117232 -61.691397,45.117248 -61.691418,45.117264 -61.691438,45.117280 -61.691458,45.117296 -61.691477,45.117313 -61.691496,45.117329 -61.691514,45.117346 -61.691532,45.117364 -61.691550,45.117381 -61.691567,45.117399 -61.691584,45.117417 -61.691600,45.117435 -61.691616,45.117453 -61.691632,45.117472 -61.691646,45.117490 -61.691661,45.117509 -61.691675,45.117528 -61.691689,45.117548 -61.691702,45.117567 -61.691714,45.117587 -61.691726,45.117606 -61.691738,45.117626 -61.691749,45.117646 -61.691760,45.117666 -61.691770,45.117687 -61.691779,45.117707 -61.691788,45.117727 -61.691797,45.117748 -61.691805,45.117769 -61.691813,45.117790 -61.691820,45.117810 -61.691826,45.117831 -61.691832,45.117852 -61.691838,45.117874 -61.691843,45.117895 -61.691848,45.117916 -61.691851,45.117937 -61.691855,45.117959 -61.691858,45.117980 -61.691860,45.118001 -61.691862,45.118023 -61.691863,45.118044 -61.691864,45.118066 -61.691864,45.118087 -61.691864,45.118109 -61.691863,45.118130 -61.691862,45.118152 -61.691860,45.118173 -61.691858,45.118195 -61.691855,45.118216 -61.691851,45.118237 -61.691847,45.118259 -61.691843,45.118280 -61.691838,45.118301 -61.691832,45.118322 -61.691826,45.118343 -61.691820,45.118364 -61.691813,45.118385 -61.691805,45.118406 -61.691797,45.118427 -61.691788,45.118447 -61.691779,45.118468 -61.691770,45.118488 -61.691760,45.118508 -61.691749,45.118529 -61.691738,45.118548 -61.691726,45.118568 -61.691714,45.118588 -61.691701,45.118608 -61.691688,45.118627 -61.691675,45.118646 -61.691661,45.118665 -61.691646,45.118684 -61.691631,45.118703 -61.691616,45.118721 -61.691600,45.118740 -61.691584,45.118758 -61.691567,45.118776 -61.691550,45.118793 -61.691532,45.118811 -61.691514,45.118828 -61.691496,45.118845 -61.691477,45.118862 -61.691458,45.118879 -61.691438,45.118895 -61.691418,45.118911 -61.691397,45.118927 -61.691376,45.118942 -61.691355,45.118958 -61.691333,45.118973 -61.691311,45.118988 -61.691289,45.119002 -61.691266,45.119016 -61.691243,45.119030 -61.691220,45.119044 -61.691196,45.119057 -61.691172,45.119070 -61.691148,45.119083 -61.691123,45.119096 -61.691098,45.119108 -61.691073,45.119120 -61.691047,45.119131 -61.691021,45.119143 -61.690995,45.119153 -61.690969,45.119164 -61.690942,45.119174 -61.690915,45.119184 -61.690888,45.119194 -61.690860,45.119203 -61.690833,45.119212 -61.690805,45.119220 -61.690777,45.119229 -61.690749,45.119237 -61.690720,45.119244 -61.690692,45.119251 -61.690663,45.119258 -61.690634,45.119265 -61.690605,45.119271 -61.690576,45.119276 -61.690546,45.119282 -61.690517,45.119287 -61.690487,45.119291 -61.690457,45.119296 -61.690427,45.119300 -61.690398,45.119303 -61.690367,45.119306 -61.690337,45.119309 -61.690307,45.119312 -61.690277,45.119314 -61.690247,45.119315 -61.690217,45.119317 -61.690186,45.119318 -61.690156,45.119318 -61.690126,45.119318 -61.690095,45.119318 -61.690065,45.119318 -61.690034,45.119317 -61.690004,45.119315 -61.689974,45.119314 -61.689944,45.119312 -61.689914,45.119309 -61.689884,45.119306 -61.689853,45.119303 -61.689824,45.119300 -61.689794,45.119296 -61.689764,45.119291 -61.689734,45.119287 -61.689705,45.119282 -61.689675,45.119276 -61.689646,45.119271 -61.689617,45.119264 -61.689588,45.119258 -61.689559,45.119251 -61.689531,45.119244 -61.689502,45.119237 -61.689474,45.119229 -61.689446,45.119220 -61.689418,45.119212 -61.689391,45.119203 -61.689363,45.119194 -61.689336,45.119184 -61.689309,45.119174 -61.689283,45.119164 -61.689256,45.119153 -61.689230,45.119142 -61.689204,45.119131 -61.689179,45.119120 -61.689153,45.119108 -61.689128,45.119096 -61.689103,45.119083 -61.689079,45.119070 -61.689055,45.119057 -61.689031,45.119044 -61.689008,45.119030 -61.688985,45.119016 -61.688962,45.119002 -61.688940,45.118988 -61.688918,45.118973 -61.688896,45.118958 -61.688875,45.118942 -61.688854,45.118927 -61.688833,45.118911 -61.688813,45.118895 -61.688794,45.118878 -61.688774,45.118862 -61.688755,45.118845 -61.688737,45.118828 -61.688719,45.118811 -61.688701,45.118793 -61.688684,45.118776 -61.688667,45.118758 -61.688651,45.118740 -61.688635,45.118721 -61.688620,45.118703 -61.688605,45.118684 -61.688590,45.118665 -61.688576,45.118646 -61.688563,45.118627 -61.688550,45.118607 -61.688537,45.118588 -61.688525,45.118568 -61.688513,45.118548 -61.688502,45.118528 -61.688492,45.118508 -61.688482,45.118488 -61.688472,45.118468 -61.688463,45.118447 -61.688454,45.118426 -61.688446,45.118406 -61.688438,45.118385 -61.688431,45.118364 -61.688425,45.118343 -61.688419,45.118322 -61.688413,45.118301 -61.688408,45.118280 -61.688404,45.118258 -61.688400,45.118237 -61.688396,45.118216 -61.688393,45.118194 -61.688391,45.118173 -61.688389,45.118152 -61.688388,45.118130 -61.688387,45.118109 -61.688387,45.118087 -61.688387,45.118066 -61.688388,45.118044 -61.688389,45.118023 -61.688391,45.118001 -61.688394,45.117980 -61.688396,45.117958 -61.688400,45.117937 -61.688404,45.117916 -61.688408,45.117895 -61.688413,45.117873 -61.688419,45.117852 -61.688425,45.117831 -61.688432,45.117810 -61.688439,45.117789 -61.688446,45.117768 -61.688454,45.117748 -61.688463,45.117727 -61.688472,45.117707 -61.688482,45.117686 -61.688492,45.117666 -61.688502,45.117646 -61.688514,45.117626 -61.688525,45.117606 -61.688537,45.117586 -61.688550,45.117567 -61.688563,45.117547 -61.688576,45.117528 -61.688591,45.117509 -61.688605,45.117490 -61.688620,45.117472 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-61.314741,45.237812 -61.314797,45.237746 -61.314855,45.237680 -61.314914,45.237615 -61.314975,45.237551 -61.315038,45.237487 -61.315102,45.237424 -61.315168,45.237362 -61.315235,45.237301 -61.315304,45.237241 -61.315374,45.237181 -61.315446,45.237123 -61.315519,45.237065 -61.315593,45.237008 -61.315669,45.236953 -61.315746,45.236898 -61.315825,45.236844 -61.315905,45.236791 -61.315986,45.236739 -61.316069,45.236688 -61.316152,45.236638 -61.316237,45.236589 -61.316323,45.236541 -61.316411,45.236495 -61.316499,45.236449 -61.316589,45.236404 -61.316679,45.236361 -61.316771,45.236319 -61.316864,45.236277 -61.316958,45.236237 -61.317052,45.236198 -61.317148,45.236161 -61.317245,45.236124 -61.317342,45.236089 -61.317441,45.236055 -61.317540,45.236022 -61.317640,45.235990 -61.317740,45.235960 -61.317842,45.235930 -61.317944,45.235902 -61.318047,45.235876 -61.318150,45.235850 -61.318254,45.235826 -61.318359,45.235803 -61.318464,45.235782 -61.318570,45.235762 -61.318676,45.235743 -61.318783,45.235725 -61.318890,45.235709 -61.318998,45.235694 -61.319105,45.235680 -61.319214,45.235668 -61.319322,45.235657 -61.319431,45.235647 -61.319540,45.235639 -61.319649,45.235632 -61.319758,45.235626 -61.319868,45.235622 -61.319977,45.235619 -61.320087,45.235618 -61.320196,45.235617 -61.320306,45.235618 -61.320415,45.235621 -61.320525,45.235625 -61.320634,45.235630 -61.320743,45.235636 -61.320852,45.235644 -61.320961,45.235654 -61.321069,45.235664 -61.321178,45.235676 -61.321286,45.235689 -61.321393,45.235704 -61.321500,45.235720 -61.321607,45.235737 -61.321714,45.235755 -61.321820,45.235775 -61.321925,45.235796 -61.322030,45.235819 -61.322134,45.235842 -61.322238,45.235867 -61.322341,45.235894 -61.322443,45.235921 -61.322545,45.235950 -61.322646,45.235980 -61.322746,45.236011 -61.322846,45.236044 -61.322944,45.236078 -61.323042,45.236113 -61.323139,45.236149 -61.323235,45.236186 -61.323330,45.236225 -61.323424,45.236264 -61.323517,45.236305 -61.323609,45.236347 -61.323700,45.236390 -61.323790,45.236434 -61.323879,45.236480 -61.323966,45.236526 -61.324053,45.236574 -61.324138,45.236622 -61.324222,45.236672 -61.324305,45.236722 -61.324387,45.236774 -61.324467,45.236827 -61.324546,45.236880 -61.324624,45.236935 -61.324700,45.236990 -61.324775,45.237047 -61.324849,45.237104 -61.324921,45.237162 -61.324992,45.237222 -61.325061,45.237282 -61.325129,45.237342 -61.325195,45.237404 -61.325259,45.237467 -61.325323,45.237530 -61.325384,45.237594 -61.325444,45.237659 -61.325502,45.237724 -61.325559,45.237791 -61.325614,45.237857 -61.325668,45.237925 -61.325719,45.237993 -61.325769,45.238062 -61.325818,45.238132 -61.325864,45.238202 -61.325909,45.238272 -61.325952,45.238343 -61.325993,45.238415 -61.326033,45.238487 -61.326071,45.238560 -61.326107,45.238633 -61.326141,45.238707 -61.326173,45.238781 -61.326204,45.238855 -61.326232,45.238930 -61.326259,45.239005 -61.326284,45.239080 -61.326307,45.239156 -61.326329,45.239232 -61.326348,45.239308 -61.326365,45.239384 -61.326381,45.239461 -61.326395,45.239538 -61.326406,45.239615 -61.326416,45.239692 -61.326424,45.239769 -61.326430,45.239846 -61.326434,45.239924 -61.326437,45.240001 -61.326437,45.240079 -61.326435,45.240156 -61.326432,45.240233 -61.326426,45.240311 -61.326419,45.240388 -61.326410,45.240465 -61.326399,45.240542 -61.326386,45.240619 -61.326371,45.240696 -61.326354,45.240772 -61.326335,45.240848 -61.326315,45.240924 -61.326292,45.241000 -61.326268,45.241076 -61.326242,45.241151 -61.326214,45.241226 -61.326184,45.241300 -61.326152,45.241374 -61.326118,45.241448 -61.326083,45.241521 -61.326046,45.241594 -61.326007,45.241666 -61.325966,45.241738 -61.325924,45.241809 -61.325879,45.241880 -61.325833,45.241951 -61.325786,45.242020 -61.325736,45.242089 -61.325685,45.242158 -61.325632,45.242226 -61.325578,45.242293 -61.325521,45.242359 -61.325464,45.242425 -61.325404,45.242490 -61.325343,45.242554 -61.325281,45.242618 -61.325216,45.242681 -61.325151,45.242743 -61.325084,45.242804 -61.325015,45.242864 -61.324945,45.242923 -61.324873,45.242982 -61.324800,45.243040 -61.324725,45.243096 -61.324650,45.243152 -61.324572,45.243207 -61.324494,45.243261 -61.324414,45.243314 -61.324332,45.243366 -61.324250,45.243417 -61.324166,45.243467 -61.324081,45.243516 -61.323995,45.243564 -61.323908,45.243610 -61.323819,45.243656 -61.323730,45.243701 -61.323639,45.243744 -61.323547,45.243787 -61.323455,45.243828 -61.323361,45.243868 -61.323266,45.243907 -61.323170,45.243944 -61.323074,45.243981 -61.322976,45.244016 -61.322878,45.244050 -61.322779,45.244083 -61.322679,45.244115 -61.322578,45.244145 -61.322477,45.244175 -61.322374,45.244203 -61.322272,45.244229 -61.322168,45.244255 -61.322064,45.244279 -61.321959,45.244302 -61.321854,45.244323 -61.321748,45.244344 -61.321642,45.244362 -61.321535,45.244380 -61.321428,45.244396 -61.321321,45.244411 -61.321213,45.244425 -61.321105,45.244437 -61.320996,45.244448 -61.320887,45.244458 -61.320778,45.244466 -61.320669,45.244473 -61.320560,45.244479 -61.320451,45.244483 -61.320341,45.244486 -61.320232,45.244488 -61.320122,45.244488 -61.320012,45.244487 -61.319903,45.244484 -61.319793,45.244480 -61.319684,45.244475 -61.319575,45.244469 -61.319466,45.244461 -61.319357,45.244452 -61.319248,45.244441 -61.319140,45.244429 -61.319032,45.244416 -61.318925,45.244401 -61.318817,45.244385 -61.318711,45.244368 -61.318604,45.244350 -61.318498,45.244330 -61.318393,45.244309 -61.318288,45.244286 -61.318184,45.244263 -61.318080,45.244238 -61.317977,45.244211 -61.317874,45.244184 -61.317773,45.244155 -61.317672,45.244125 -61.317571,45.244094 -61.317472,45.244061 -61.317373,45.244027 -61.317276,45.243993 -61.317179,45.243956 -61.317083,45.243919 -61.316988,45.243880 -61.316894,45.243841 -61.316801,45.243800 -61.316708,45.243758 -61.316617,45.243715 -61.316527,45.243671 -61.316439,45.243625 -61.316351,45.243579 -61.316264,45.243531 -61.316179,45.243483 -61.316095,45.243433 -61.316012,45.243383 -61.315930,45.243331 -61.315850,45.243278 -61.315771,45.243225 -61.315693,45.243170 -61.315617,45.243115 -61.315542,45.243058 -61.315469,45.243001 -61.315396,45.242942 -61.315326,45.242883 -61.315257,45.242823 -61.315189,45.242762 -61.315123,45.242701 -61.315058,45.242638 -61.314995,45.242575 -61.314933,45.242511 -61.314873,45.242446 -61.314815,45.242381 -61.314758,45.242314 -61.314703,45.242247 -61.314650,45.242180 -61.314598,45.242111 -61.314548,45.242043 -61.314500,45.241973 -61.314453,45.241903 -61.314409,45.241832 -61.314365,45.241761 -61.314324,45.241690 -61.314285,45.241617 -61.314247,45.241545 -61.314211,45.241472 -61.314177,45.241398 -61.314144,45.241324 -61.314114,45.241250 -61.314085,45.241175 -61.314058,45.241100 -61.314034,45.241025 -61.314010,45.240949 -61.313989,45.240873 -61.313970,45.240797 -61.313953,45.240720 -61.313937,45.240644 -61.313923,45.240567 -61.313912,45.240490 -61.313902,45.240413 -61.313894,45.240336 -61.313888,45.240258 -61.313884,45.240181 -61.313881,45.240104 -61.313881,45.240026 -61.313883,45.239949 -61.313886,45.239871 -61.313892,45.239794 -61.313899,45.239717 -61.313908,45.239640 -61.313919,45.239563 -61.313933,45.239486 -61.313947,45.239409 -61.313964,45.239333 -61.313983,45.239256 -61.314004,45.239180 -61.314026,45.239105 -61.314051,45.239029 -61.314077,45.238954 -61.314105,45.238879 -61.314135,45.238805 -61.314166,45.238731 -61.314200,45.238657 -61.314235,45.238584 -61.314273,45.238511 -61.314312,45.238438 -61.314352,45.238367 -61.314395,45.238295 -61.314439,45.238224 -61.314485,45.238154 -61.314533,45.238085 -61.314582,45.238015 -61.314634,45.237947 -61.314686,45.237879 -61.314741,45.237812 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-61.584102,45.107152 -61.585177,45.108702 -61.585332,45.110424 -61.585143,45.111063 -61.584507,45.112627 -61.584782,45.114270 -61.584771,45.115376 -61.583983,45.117010 -61.583062,45.117872 -61.582868,45.118013 -61.582745,45.118296 -61.582234,45.119123 -61.583810,45.120105 -61.584885,45.121655 -61.585053,45.123301 -61.584797,45.124871 -61.584908,45.125110 -61.584924,45.125231 -61.585013,45.125359 -61.585168,45.127082 -61.584702,45.128174 -61.584807,45.128454 -61.584991,45.130003 -61.584903,45.130670 -61.585873,45.133250 -61.586028,45.134973 -61.585731,45.135851 -61.584794,45.137744 -61.584461,45.138631 -61.584044,45.139912 -61.583361,45.141136 -61.581749,45.142432 -61.581713,45.142444 -61.581688,45.142464 -61.580809,45.142928 -61.578679,45.143657 -61.576245,45.143766 -61.573936,45.143208 -61.572189,45.142143 -61.568716,45.139069 -61.568686,45.139026 -61.568632,45.138993 -61.567846,45.138036 -61.565368,45.133907 -61.564494,45.132615 -61.564338,45.132539 -61.563592,45.132532 -61.563508,45.132528 -61.563476,45.132530 -61.559227,45.132435 -61.558597,45.132398 -61.558529,45.132382 -61.558462,45.132384 -61.555715,45.132080 -61.553542,45.131536 -61.551712,45.130394 -61.551603,45.130237 -61.551455,45.130138 -61.550748,45.129377 -61.549931,45.128083 -61.549777,45.126360 -61.550566,45.124726 -61.552179,45.123431 -61.552213,45.123419 -61.552231,45.123221 -61.552328,45.122994 -61.552312,45.122735 -61.552813,45.120702 -61.553564,45.119242 -61.554394,45.118450 -61.556605,45.116766 -61.557387,45.116264 -61.559576,45.115504 -61.560253,45.115404 -61.562076,45.115211 -61.562754,45.115207 -61.562754,45.115197 -61.562997,45.114694 -61.562900,45.114578 -61.562244,45.113467 -61.562046,45.112056 -61.562123,45.111182 -61.561664,45.110519 -61.561510,45.108796 -61.562298,45.107163 -61.563909,45.105867 -61.566098,45.105107 -61.567496,45.104961 -61.568853,45.104929 -61.568916,45.104932 -61.570137,45.103950 -61.570238,45.103915 -61.570308,45.103861 -61.571724,45.103147 -61.573742,45.102475 -61.576174,45.102366 -61.578481,45.102924 -61.579850,45.103486 -61.581680,45.104626 -61.582754,45.106176 -61.582759,45.106235 -61.584102,45.107152 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-61.551592,45.099092 -61.552401,45.100086 -61.552714,45.100623 -61.552979,45.101178 -61.553133,45.102901 -61.552943,45.103540 -61.552768,45.103970 -61.552169,45.104964 -61.551651,45.105501 -61.551482,45.105651 -61.550974,45.106638 -61.549363,45.107934 -61.547174,45.108693 -61.546159,45.108822 -61.545831,45.108844 -61.544413,45.108824 -61.543242,45.108579 -61.542987,45.108603 -61.541784,45.108611 -61.540898,45.108572 -61.540502,45.108476 -61.540166,45.108491 -61.539135,45.108329 -61.538310,45.108146 -61.537035,45.107749 -61.535206,45.106608 -61.534861,45.106254 -61.534175,45.105469 -61.533447,45.104273 -61.533313,45.103823 -61.533031,45.102546 -61.533012,45.101273 -61.533397,45.100478 -61.533578,45.099651 -61.534349,45.098108 -61.534733,45.097710 -61.535236,45.096810 -61.535236,45.096810 -61.535505,45.096481 -61.535505,45.096481 -61.535505,45.096481 -61.537117,45.095186 -61.539305,45.094427 -61.539933,45.094342 -61.540391,45.094183 -61.542823,45.094074 -61.545129,45.094633 -61.545767,45.094951 -61.546170,45.095092 -61.547998,45.096234 -61.548571,45.096957 -61.548708,45.097019 -61.550309,45.098062 -61.550554,45.098333 -61.550706,45.098425 -61.551592,45.099092 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-61.226999,45.235114 -61.226979,45.235175 -61.226742,45.235710 -61.226745,45.235725 -61.226738,45.236909 -61.225935,45.238541 -61.225165,45.239279 -61.224184,45.240041 -61.224026,45.240143 -61.223943,45.240218 -61.222501,45.241219 -61.221886,45.241594 -61.219685,45.242346 -61.217245,45.242446 -61.214935,45.241878 -61.213109,45.240730 -61.212673,45.240263 -61.212372,45.239892 -61.211744,45.238804 -61.211602,45.237079 -61.212406,45.235448 -61.213813,45.234332 -61.213809,45.234209 -61.213929,45.233809 -61.213544,45.233364 -61.212835,45.232332 -61.212408,45.231513 -61.212221,45.230101 -61.212267,45.229628 -61.212327,45.229491 -61.212312,45.229316 -61.213115,45.227685 -61.213364,45.227455 -61.213959,45.226251 -61.215585,45.224961 -61.215660,45.224935 -61.215713,45.224894 -61.216314,45.224590 -61.216766,45.224441 -61.217030,45.224211 -61.217962,45.223614 -61.218395,45.223360 -61.219437,45.222909 -61.220167,45.222659 -61.221325,45.222357 -61.223323,45.222225 -61.223993,45.222257 -61.224187,45.222299 -61.224435,45.222289 -61.226743,45.222856 -61.227074,45.223056 -61.227820,45.223211 -61.229225,45.223640 -61.231051,45.224788 -61.232116,45.226343 -61.232230,45.226980 -61.232371,45.227187 -61.232573,45.228314 -61.232570,45.229051 -61.232511,45.229648 -61.232036,45.230827 -61.231786,45.231228 -61.231786,45.231254 -61.230983,45.232886 -61.229358,45.234176 -61.229135,45.234252 -61.228994,45.234356 -61.228149,45.234744 -61.227229,45.235031 -61.226999,45.235114 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-61.248014,45.219273 -61.249078,45.219229 -61.251386,45.219796 -61.252700,45.220612 -61.253847,45.221127 -61.255482,45.222192 -61.256548,45.223747 -61.256696,45.225445 -61.256492,45.226529 -61.256486,45.226541 -61.256487,45.226555 -61.255686,45.228186 -61.254061,45.229477 -61.254045,45.229483 -61.254032,45.229492 -61.252793,45.230147 -61.250622,45.230885 -61.249175,45.231026 -61.247364,45.231053 -61.245896,45.231236 -61.243950,45.231260 -61.241641,45.230693 -61.239946,45.229663 -61.239542,45.229311 -61.239496,45.229246 -61.239411,45.229193 -61.238346,45.227639 -61.238204,45.225914 -61.238612,45.224845 -61.238813,45.224498 -61.239162,45.224000 -61.238228,45.223938 -61.238103,45.223909 -61.237955,45.223915 -61.235646,45.223348 -61.235258,45.223187 -61.233432,45.222039 -61.232367,45.220484 -61.232225,45.218760 -61.232420,45.218122 -61.232507,45.217912 -61.233115,45.216919 -61.234739,45.215629 -61.236938,45.214876 -61.237270,45.214860 -61.238285,45.214512 -61.238337,45.214510 -61.239361,45.214159 -61.239361,45.214159 -61.240080,45.214027 -61.240080,45.214027 -61.242519,45.213927 -61.244827,45.214493 -61.246653,45.215641 -61.247507,45.216729 -61.247678,45.217046 -61.247890,45.217513 -61.248032,45.219237 -61.248014,45.219273 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-60.512958,46.922286 -60.374160,47.046236</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-60.512720,46.999266 -60.512958,47.002744 -60.512958,47.002744 -60.511233,47.006019 -60.511233,47.006019 -60.507807,47.008593 -60.507807,47.008593 -60.503201,47.010074 -60.503201,47.010074 -60.498685,47.010286 -60.484759,47.009273 -60.471812,47.010566 -60.471812,47.010566 -60.456164,47.016534 -60.456164,47.016534 -60.451821,47.020240 -60.451821,47.020240 -60.451969,47.023495 -60.451969,47.023495 -60.451828,47.025110 -60.451828,47.025110 -60.450097,47.028384 -60.450097,47.028384 -60.448836,47.029577 -60.448836,47.029577 -60.443221,47.034059 -60.443221,47.034059 -60.441049,47.035438 -60.441049,47.035438 -60.439153,47.036232 -60.439153,47.036232 -60.434487,47.037828 -60.434487,47.037828 -60.434319,47.038114 -60.434319,47.038114 -60.430885,47.040686 -60.430885,47.040686 -60.429331,47.041358 -60.429331,47.041358 -60.418684,47.045273 -60.418684,47.045273 -60.415625,47.046078 -60.415625,47.046078 -60.410537,47.046236 -60.405748,47.045050 -60.405748,47.045050 -60.401987,47.042702 -60.401987,47.042702 -60.399828,47.039548 -60.399828,47.039548 -60.399799,47.039354 -60.399799,47.039354 -60.396959,47.038254 -60.395539,47.038588 -60.395539,47.038588 -60.394404,47.038817 -60.394404,47.038817 -60.389316,47.038974 -60.384529,47.037787 -60.384529,47.037787 -60.380770,47.035438 -60.380770,47.035438 -60.378613,47.032284 -60.378613,47.032284 -60.378607,47.032203 -60.378607,47.032203 -60.378560,47.032132 -60.378560,47.032132 -60.374334,47.019420 -60.374334,47.019420 -60.374160,47.016094 -60.374160,47.016094 -60.375895,47.012821 -60.375895,47.012821 -60.380057,47.008119 -60.380057,47.008119 -60.381182,47.007038 -60.381182,47.007038 -60.385628,47.003376 -60.385628,47.003376 -60.386584,47.001255 -60.386584,47.001255 -60.386890,47.000790 -60.386890,47.000790 -60.387079,47.000340 -60.387079,47.000340 -60.391248,46.993751 -60.391248,46.993751 -60.392058,46.992678 -60.392058,46.992678 -60.395490,46.990108 -60.395490,46.990108 -60.397479,46.989283 -60.397479,46.989283 -60.401931,46.987791 -60.401931,46.987791 -60.408910,46.981842 -60.408910,46.981842 -60.414705,46.976501 -60.414705,46.976501 -60.414929,46.976348 -60.414929,46.976348 -60.415357,46.975947 -60.415357,46.975947 -60.430909,46.963767 -60.430909,46.963767 -60.435979,46.958595 -60.435979,46.958595 -60.436299,46.958366 -60.436299,46.958366 -60.437343,46.957427 -60.437343,46.957427 -60.445366,46.951633 -60.445366,46.951633 -60.448145,46.941749 -60.448145,46.941749 -60.449336,46.933246 -60.449336,46.933246 -60.449603,46.932693 -60.449603,46.932693 -60.449595,46.932139 -60.449595,46.932139 -60.450578,46.929147 -60.450578,46.929147 -60.452134,46.926496 -60.452134,46.926496 -60.455557,46.923925 -60.455557,46.923925 -60.460156,46.922447 -60.460156,46.922447 -60.465229,46.922286 -60.470007,46.923468 -60.470007,46.923468 -60.473760,46.925813 -60.473760,46.925813 -60.475474,46.927977 -60.475474,46.927977 -60.490682,46.955777 -60.490682,46.955777 -60.490752,46.955932 -60.490752,46.955932 -60.490789,46.955980 -60.490789,46.955980 -60.512380,46.998484 -60.512380,46.998484 -60.512720,46.999266 -60.512720,46.999266 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-60.181431,47.174175 -60.123141,47.236326</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-60.174499,47.180309 -60.175833,47.181587 -60.175833,47.181587 -60.175926,47.181632 -60.175926,47.181632 -60.178957,47.183665 -60.178957,47.183665 -60.181108,47.186825 -60.181108,47.186825 -60.181431,47.189677 -60.181431,47.189677 -60.181336,47.190445 -60.181336,47.190445 -60.181204,47.190721 -60.181204,47.190721 -60.181226,47.191074 -60.181226,47.191074 -60.179468,47.194345 -60.179468,47.194345 -60.178876,47.194784 -60.178876,47.194784 -60.178881,47.195180 -60.178881,47.195180 -60.179366,47.195893 -60.179366,47.195893 -60.179579,47.199374 -60.179579,47.199374 -60.178580,47.201664 -60.178580,47.201664 -60.176906,47.204198 -60.176906,47.204198 -60.176146,47.205180 -60.176146,47.205180 -60.174086,47.206705 -60.174086,47.206705 -60.174028,47.207566 -60.174028,47.207566 -60.173757,47.208451 -60.173757,47.208451 -60.173423,47.209321 -60.173423,47.209321 -60.171934,47.211708 -60.171934,47.211708 -60.168472,47.214272 -60.168472,47.214272 -60.165457,47.215224 -60.165457,47.215224 -60.163521,47.216657 -60.163521,47.216657 -60.163019,47.216816 -60.163019,47.216816 -60.161989,47.217820 -60.161989,47.217820 -60.159202,47.219757 -60.159202,47.219757 -60.159162,47.221304 -60.159162,47.221304 -60.159007,47.222527 -60.159007,47.222527 -60.157246,47.225798 -60.157246,47.225798 -60.155385,47.227421 -60.155385,47.227421 -60.154382,47.228113 -60.154382,47.228113 -60.154273,47.228554 -60.154273,47.228554 -60.152537,47.231718 -60.152537,47.231718 -60.149072,47.234281 -60.149072,47.234281 -60.147812,47.234835 -60.147812,47.234835 -60.146679,47.235272 -60.146679,47.235272 -60.143296,47.236183 -60.143296,47.236183 -60.138184,47.236326 -60.133382,47.235125 -60.133382,47.235125 -60.132734,47.234856 -60.132734,47.234856 -60.132734,47.234856 -60.132734,47.234856 -60.128972,47.232495 -60.128972,47.232495 -60.126823,47.229333 -60.126823,47.229333 -60.126814,47.229190 -60.126814,47.229190 -60.126735,47.229069 -60.126735,47.229069 -60.126129,47.227099 -60.126129,47.227099 -60.126035,47.224600 -60.126035,47.224600 -60.125519,47.223841 -60.125519,47.223841 -60.125497,47.223476 -60.125497,47.223476 -60.125328,47.223202 -60.125328,47.223202 -60.124727,47.220729 -60.124727,47.220729 -60.124710,47.217887 -60.124710,47.217887 -60.125317,47.216566 -60.125317,47.216566 -60.123614,47.214058 -60.123614,47.214058 -60.123250,47.212142 -60.123250,47.212142 -60.123141,47.208460 -60.123141,47.208460 -60.123297,47.206896 -60.123297,47.206896 -60.123432,47.206645 -60.123432,47.206645 -60.123427,47.206414 -60.123427,47.206414 -60.124464,47.203109 -60.124464,47.203109 -60.126095,47.200319 -60.126095,47.200319 -60.127645,47.199173 -60.127645,47.199173 -60.127670,47.198212 -60.127670,47.198212 -60.129432,47.194942 -60.129432,47.194942 -60.131936,47.193089 -60.131936,47.193089 -60.131845,47.191567 -60.131845,47.191567 -60.132786,47.189369 -60.132786,47.189369 -60.133912,47.187616 -60.133912,47.187616 -60.134732,47.186544 -60.134732,47.186544 -60.134939,47.186390 -60.134939,47.186390 -60.135039,47.186217 -60.135039,47.186217 -60.136662,47.184570 -60.136662,47.184570 -60.139817,47.182335 -60.139817,47.182335 -60.144454,47.180871 -60.144454,47.180871 -60.145878,47.180692 -60.145878,47.180692 -60.146007,47.180681 -60.146007,47.180681 -60.146383,47.179982 -60.146383,47.179982 -60.149716,47.177485 -60.149716,47.177485 -60.151896,47.176372 -60.151896,47.176372 -60.151968,47.176349 -60.151968,47.176349 -60.152024,47.176308 -60.152024,47.176308 -60.153673,47.175787 -60.153673,47.175787 -60.153677,47.175784 -60.153677,47.175784 -60.158313,47.174319 -60.158313,47.174319 -60.163417,47.174175 -60.168214,47.175374 -60.168214,47.175374 -60.169293,47.175823 -60.169293,47.175823 -60.173052,47.178182 -60.173052,47.178182 -60.174499,47.180309 -60.174499,47.180309 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-60.718983,45.561728 -60.643161,45.608764</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-60.644063,45.577534 -60.644063,45.577534 -60.644121,45.577468 -60.644121,45.577468 -60.644180,45.577403 -60.644180,45.577403 -60.644241,45.577338 -60.644241,45.577338 -60.644304,45.577274 -60.644304,45.577274 -60.644368,45.577210 -60.644368,45.577210 -60.644434,45.577148 -60.644434,45.577148 -60.644501,45.577086 -60.644501,45.577086 -60.644570,45.577026 -60.644570,45.577026 -60.644640,45.576966 -60.644640,45.576966 -60.644712,45.576907 -60.644712,45.576907 -60.644785,45.576848 -60.644785,45.576848 -60.644859,45.576791 -60.644859,45.576791 -60.644935,45.576735 -60.644935,45.576735 -60.645013,45.576679 -60.645013,45.576679 -60.645092,45.576625 -60.645092,45.576625 -60.645172,45.576571 -60.645172,45.576571 -60.645253,45.576519 -60.645253,45.576519 -60.645336,45.576467 -60.645336,45.576467 -60.645420,45.576417 -60.645420,45.576417 -60.645505,45.576367 -60.645505,45.576367 -60.645592,45.576319 -60.645592,45.576319 -60.645679,45.576272 -60.645679,45.576272 -60.645768,45.576225 -60.645768,45.576225 -60.645858,45.576180 -60.645858,45.576180 -60.645949,45.576136 -60.645949,45.576136 -60.646041,45.576093 -60.646041,45.576093 -60.646135,45.576051 -60.646135,45.576051 -60.646229,45.576011 -60.646229,45.576011 -60.646324,45.575971 -60.646324,45.575971 -60.646420,45.575933 -60.646420,45.575933 -60.646517,45.575896 -60.646517,45.575896 -60.646615,45.575860 -60.646615,45.575860 -60.646714,45.575825 -60.646714,45.575825 -60.646814,45.575792 -60.646814,45.575792 -60.646915,45.575759 -60.646915,45.575759 -60.647016,45.575728 -60.647016,45.575728 -60.647118,45.575699 -60.647118,45.575699 -60.647221,45.575670 -60.647221,45.575670 -60.647324,45.575643 -60.647324,45.575643 -60.647429,45.575617 -60.647429,45.575617 -60.647533,45.575592 -60.647533,45.575592 -60.647639,45.575569 -60.647639,45.575569 -60.647745,45.575547 -60.647745,45.575547 -60.647851,45.575526 -60.647851,45.575526 -60.647958,45.575506 -60.647958,45.575506 -60.648066,45.575488 -60.648066,45.575488 -60.648174,45.575471 -60.648174,45.575471 -60.648282,45.575456 -60.648282,45.575456 -60.648391,45.575441 -60.648391,45.575441 -60.648401,45.575440 -60.648401,45.575440 -60.648446,45.575391 -60.648446,45.575391 -60.648506,45.575327 -60.648506,45.575327 -60.648568,45.575263 -60.648568,45.575263 -60.648632,45.575200 -60.648632,45.575200 -60.648698,45.575138 -60.648698,45.575138 -60.648764,45.575077 -60.648764,45.575077 -60.648833,45.575016 -60.648833,45.575016 -60.648903,45.574956 -60.648903,45.574956 -60.648974,45.574898 -60.648974,45.574898 -60.649047,45.574840 -60.649047,45.574840 -60.649121,45.574783 -60.649121,45.574783 -60.649197,45.574727 -60.649197,45.574727 -60.649274,45.574671 -60.649274,45.574671 -60.649352,45.574617 -60.649352,45.574617 -60.649432,45.574564 -60.649432,45.574564 -60.649513,45.574512 -60.649513,45.574512 -60.649595,45.574460 -60.649595,45.574460 -60.649679,45.574410 -60.649679,45.574410 -60.649764,45.574361 -60.649764,45.574361 -60.649850,45.574313 -60.649850,45.574313 -60.649937,45.574266 -60.649937,45.574266 -60.650025,45.574220 -60.650025,45.574220 -60.650115,45.574175 -60.650115,45.574175 -60.650205,45.574131 -60.650205,45.574131 -60.650297,45.574088 -60.650297,45.574088 -60.650390,45.574047 -60.650390,45.574047 -60.650483,45.574006 -60.650483,45.574006 -60.650578,45.573967 -60.650578,45.573967 -60.650674,45.573929 -60.650674,45.573929 -60.650770,45.573892 -60.650770,45.573892 -60.650868,45.573856 -60.650868,45.573856 -60.650966,45.573822 -60.650966,45.573822 -60.651066,45.573788 -60.651066,45.573788 -60.651166,45.573756 -60.651166,45.573756 -60.651266,45.573725 -60.651266,45.573725 -60.651368,45.573696 -60.651368,45.573696 -60.651470,45.573667 -60.651470,45.573667 -60.651573,45.573640 -60.651573,45.573640 -60.651677,45.573614 -60.651677,45.573614 -60.651781,45.573590 -60.651781,45.573590 -60.651886,45.573567 -60.651886,45.573567 -60.651992,45.573545 -60.651992,45.573545 -60.652097,45.573524 -60.652097,45.573524 -60.652204,45.573504 -60.652204,45.573504 -60.652311,45.573486 -60.652311,45.573486 -60.652418,45.573469 -60.652418,45.573469 -60.652526,45.573454 -60.652526,45.573454 -60.652634,45.573440 -60.652634,45.573440 -60.652743,45.573427 -60.652743,45.573427 -60.652851,45.573415 -60.652851,45.573415 -60.652960,45.573405 -60.652960,45.573405 -60.653070,45.573396 -60.653070,45.573396 -60.653179,45.573389 -60.653179,45.573389 -60.653289,45.573383 -60.653289,45.573383 -60.653399,45.573378 -60.653399,45.573378 -60.653508,45.573375 -60.653508,45.573375 -60.653618,45.573373 -60.653618,45.573373 -60.653728,45.573372 -60.653838,45.573372 -60.653838,45.573372 -60.653948,45.573374 -60.653948,45.573374 -60.654058,45.573378 -60.654058,45.573378 -60.654168,45.573382 -60.654168,45.573382 -60.654278,45.573388 -60.654278,45.573388 -60.654387,45.573396 -60.654387,45.573396 -60.654497,45.573404 -60.654497,45.573404 -60.654606,45.573414 -60.654606,45.573414 -60.654714,45.573426 -60.654714,45.573426 -60.654823,45.573438 -60.654823,45.573438 -60.654931,45.573452 -60.654931,45.573452 -60.655039,45.573467 -60.655039,45.573467 -60.655146,45.573484 -60.655146,45.573484 -60.655253,45.573502 -60.655253,45.573502 -60.655360,45.573521 -60.655360,45.573521 -60.655466,45.573542 -60.655466,45.573542 -60.655571,45.573564 -60.655571,45.573564 -60.655676,45.573587 -60.655676,45.573587 -60.655781,45.573611 -60.655781,45.573611 -60.655884,45.573637 -60.655884,45.573637 -60.655987,45.573664 -60.655987,45.573664 -60.656090,45.573692 -60.656090,45.573692 -60.656192,45.573722 -60.656192,45.573722 -60.656292,45.573752 -60.656292,45.573752 -60.656393,45.573784 -60.656393,45.573784 -60.656492,45.573818 -60.656492,45.573818 -60.656590,45.573852 -60.656590,45.573852 -60.656688,45.573888 -60.656688,45.573888 -60.656785,45.573924 -60.656785,45.573924 -60.656881,45.573962 -60.656881,45.573962 -60.656975,45.574001 -60.656975,45.574001 -60.657069,45.574042 -60.657069,45.574042 -60.657162,45.574083 -60.657162,45.574083 -60.657254,45.574126 -60.657254,45.574126 -60.657345,45.574169 -60.657345,45.574169 -60.657434,45.574214 -60.657434,45.574214 -60.657523,45.574260 -60.657523,45.574260 -60.657610,45.574307 -60.657610,45.574307 -60.657696,45.574355 -60.657696,45.574355 -60.657781,45.574404 -60.657781,45.574404 -60.657865,45.574454 -60.657865,45.574454 -60.657947,45.574505 -60.657947,45.574505 -60.658029,45.574558 -60.658029,45.574558 -60.658108,45.574611 -60.658108,45.574611 -60.658187,45.574665 -60.658187,45.574665 -60.658264,45.574720 -60.658264,45.574720 -60.658340,45.574776 -60.658340,45.574776 -60.658414,45.574833 -60.658414,45.574833 -60.658487,45.574890 -60.658487,45.574890 -60.658559,45.574949 -60.658559,45.574949 -60.658629,45.575009 -60.658629,45.575009 -60.658698,45.575069 -60.658698,45.575069 -60.658765,45.575130 -60.658765,45.575130 -60.658830,45.575192 -60.658830,45.575192 -60.658894,45.575255 -60.658894,45.575255 -60.658957,45.575319 -60.658957,45.575319 -60.659017,45.575383 -60.659017,45.575383 -60.659077,45.575448 -60.659077,45.575448 -60.659134,45.575514 -60.659134,45.575514 -60.659190,45.575581 -60.659190,45.575581 -60.659244,45.575648 -60.659244,45.575648 -60.659297,45.575716 -60.659297,45.575716 -60.659348,45.575784 -60.659348,45.575784 -60.659397,45.575853 -60.659397,45.575853 -60.659445,45.575923 -60.659445,45.575923 -60.659490,45.575993 -60.659490,45.575993 -60.659534,45.576064 -60.659534,45.576064 -60.659576,45.576135 -60.659576,45.576135 -60.659617,45.576207 -60.659617,45.576207 -60.659656,45.576280 -60.659656,45.576280 -60.659692,45.576352 -60.659692,45.576352 -60.659727,45.576426 -60.659727,45.576426 -60.659761,45.576499 -60.659761,45.576499 -60.659792,45.576573 -60.659792,45.576573 -60.659822,45.576648 -60.659822,45.576648 -60.659849,45.576722 -60.659849,45.576722 -60.659875,45.576798 -60.659875,45.576798 -60.659899,45.576873 -60.659899,45.576873 -60.659921,45.576949 -60.659921,45.576949 -60.659941,45.577025 -60.659941,45.577025 -60.659959,45.577101 -60.659959,45.577101 -60.659976,45.577177 -60.659976,45.577177 -60.659990,45.577254 -60.659990,45.577254 -60.660003,45.577330 -60.660003,45.577330 -60.660014,45.577407 -60.660014,45.577407 -60.660022,45.577484 -60.660022,45.577484 -60.660029,45.577561 -60.660029,45.577561 -60.660034,45.577639 -60.660034,45.577639 -60.660037,45.577716 -60.660037,45.577716 -60.660038,45.577793 -60.660038,45.577793 -60.660037,45.577870 -60.660037,45.577870 -60.660035,45.577948 -60.660035,45.577948 -60.660030,45.578025 -60.660030,45.578025 -60.660023,45.578102 -60.660023,45.578102 -60.660015,45.578179 -60.660015,45.578179 -60.660004,45.578256 -60.660004,45.578256 -60.659992,45.578333 -60.659992,45.578333 -60.659978,45.578409 -60.659978,45.578409 -60.659962,45.578486 -60.659962,45.578486 -60.659944,45.578562 -60.659944,45.578562 -60.659924,45.578638 -60.659924,45.578638 -60.659902,45.578713 -60.659902,45.578713 -60.659878,45.578789 -60.659878,45.578789 -60.659853,45.578864 -60.659853,45.578864 -60.659825,45.578939 -60.659825,45.578939 -60.659796,45.579013 -60.659796,45.579013 -60.659765,45.579087 -60.659765,45.579087 -60.659732,45.579161 -60.659732,45.579161 -60.659697,45.579234 -60.659697,45.579234 -60.659661,45.579307 -60.659661,45.579307 -60.659622,45.579380 -60.659622,45.579380 -60.659582,45.579452 -60.659582,45.579452 -60.659540,45.579523 -60.659540,45.579523 -60.659496,45.579594 -60.659496,45.579594 -60.659451,45.579664 -60.659451,45.579664 -60.659403,45.579734 -60.659403,45.579734 -60.659355,45.579803 -60.659355,45.579803 -60.659304,45.579872 -60.659304,45.579872 -60.659251,45.579940 -60.659251,45.579940 -60.659197,45.580007 -60.659197,45.580007 -60.659142,45.580074 -60.659142,45.580074 -60.659084,45.580139 -60.659084,45.580139 -60.659025,45.580205 -60.659025,45.580205 -60.658965,45.580269 -60.658965,45.580269 -60.658902,45.580333 -60.658902,45.580333 -60.658839,45.580396 -60.658839,45.580396 -60.658773,45.580458 -60.658773,45.580458 -60.658706,45.580519 -60.658706,45.580519 -60.658638,45.580580 -60.658638,45.580580 -60.658568,45.580639 -60.658568,45.580639 -60.658497,45.580698 -60.658497,45.580698 -60.658424,45.580756 -60.658424,45.580756 -60.658350,45.580813 -60.658350,45.580813 -60.658274,45.580869 -60.658274,45.580869 -60.658197,45.580924 -60.658197,45.580924 -60.658119,45.580979 -60.658119,45.580979 -60.658039,45.581032 -60.658039,45.581032 -60.657958,45.581084 -60.657958,45.581084 -60.657876,45.581135 -60.657876,45.581135 -60.657792,45.581186 -60.657792,45.581186 -60.657707,45.581235 -60.657707,45.581235 -60.657621,45.581283 -60.657621,45.581283 -60.657534,45.581330 -60.657534,45.581330 -60.657446,45.581376 -60.657446,45.581376 -60.657356,45.581421 -60.657356,45.581421 -60.657266,45.581465 -60.657266,45.581465 -60.657174,45.581508 -60.657174,45.581508 -60.657081,45.581549 -60.657081,45.581549 -60.656988,45.581590 -60.656988,45.581590 -60.656893,45.581629 -60.656893,45.581629 -60.656797,45.581667 -60.656797,45.581667 -60.656700,45.581704 -60.656700,45.581704 -60.656603,45.581740 -60.656603,45.581740 -60.656505,45.581774 -60.656505,45.581774 -60.656405,45.581808 -60.656405,45.581808 -60.656305,45.581840 -60.656305,45.581840 -60.656204,45.581871 -60.656204,45.581871 -60.656103,45.581900 -60.656103,45.581900 -60.656000,45.581929 -60.656000,45.581929 -60.655897,45.581956 -60.655897,45.581956 -60.655794,45.581982 -60.655794,45.581982 -60.655689,45.582006 -60.655689,45.582006 -60.655585,45.582030 -60.655585,45.582030 -60.655479,45.582052 -60.655479,45.582052 -60.655373,45.582072 -60.655373,45.582072 -60.655267,45.582092 -60.655267,45.582092 -60.655160,45.582110 -60.655160,45.582110 -60.655052,45.582127 -60.655052,45.582127 -60.654945,45.582142 -60.654945,45.582142 -60.654898,45.582148 -60.654874,45.582176 -60.654874,45.582176 -60.654814,45.582241 -60.654814,45.582241 -60.654753,45.582306 -60.654753,45.582306 -60.654691,45.582370 -60.654691,45.582370 -60.654627,45.582433 -60.654627,45.582433 -60.654561,45.582496 -60.654561,45.582496 -60.654494,45.582558 -60.654494,45.582558 -60.654425,45.582618 -60.654425,45.582618 -60.654355,45.582678 -60.654355,45.582678 -60.654283,45.582738 -60.654283,45.582738 -60.654210,45.582796 -60.654210,45.582796 -60.654135,45.582853 -60.654135,45.582853 -60.654059,45.582909 -60.654059,45.582909 -60.653982,45.582965 -60.653982,45.582965 -60.653903,45.583019 -60.653903,45.583019 -60.653823,45.583073 -60.653823,45.583073 -60.653742,45.583125 -60.653742,45.583125 -60.653659,45.583177 -60.653659,45.583177 -60.653575,45.583227 -60.653575,45.583227 -60.653490,45.583277 -60.653490,45.583277 -60.653403,45.583325 -60.653403,45.583325 -60.653315,45.583373 -60.653315,45.583373 -60.653227,45.583419 -60.653227,45.583419 -60.653137,45.583464 -60.653137,45.583464 -60.653046,45.583508 -60.653046,45.583508 -60.652953,45.583551 -60.652953,45.583551 -60.652860,45.583593 -60.652860,45.583593 -60.652766,45.583633 -60.652766,45.583633 -60.652671,45.583673 -60.652671,45.583673 -60.652575,45.583711 -60.652575,45.583711 -60.652477,45.583748 -60.652477,45.583748 -60.652379,45.583784 -60.652379,45.583784 -60.652280,45.583819 -60.652280,45.583819 -60.652181,45.583852 -60.652181,45.583852 -60.652080,45.583885 -60.652080,45.583885 -60.651979,45.583916 -60.651979,45.583916 -60.651877,45.583946 -60.651877,45.583946 -60.651774,45.583974 -60.651774,45.583974 -60.651670,45.584001 -60.651670,45.584001 -60.651566,45.584027 -60.651566,45.584027 -60.651461,45.584052 -60.651461,45.584052 -60.651356,45.584076 -60.651356,45.584076 -60.651250,45.584098 -60.651250,45.584098 -60.651143,45.584118 -60.651143,45.584118 -60.651036,45.584138 -60.651036,45.584138 -60.650929,45.584156 -60.650929,45.584156 -60.650821,45.584173 -60.650821,45.584173 -60.650712,45.584189 -60.650712,45.584189 -60.650604,45.584203 -60.650604,45.584203 -60.650495,45.584216 -60.650495,45.584216 -60.650385,45.584227 -60.650385,45.584227 -60.650276,45.584238 -60.650276,45.584238 -60.650166,45.584246 -60.650166,45.584246 -60.650056,45.584254 -60.650056,45.584254 -60.649945,45.584260 -60.649945,45.584260 -60.649835,45.584265 -60.649835,45.584265 -60.649725,45.584268 -60.649725,45.584268 -60.649614,45.584271 -60.649614,45.584271 -60.649503,45.584271 -60.649503,45.584271 -60.649393,45.584271 -60.649393,45.584271 -60.649282,45.584269 -60.649282,45.584269 -60.649172,45.584265 -60.649172,45.584265 -60.649061,45.584261 -60.649061,45.584261 -60.648951,45.584255 -60.648951,45.584255 -60.648841,45.584247 -60.648841,45.584247 -60.648731,45.584239 -60.648731,45.584239 -60.648622,45.584229 -60.648622,45.584229 -60.648512,45.584217 -60.648512,45.584217 -60.648403,45.584204 -60.648403,45.584204 -60.648294,45.584190 -60.648294,45.584190 -60.648186,45.584175 -60.648186,45.584175 -60.648078,45.584158 -60.648078,45.584158 -60.647970,45.584140 -60.647970,45.584140 -60.647863,45.584121 -60.647863,45.584121 -60.647757,45.584100 -60.647757,45.584100 -60.647651,45.584078 -60.647651,45.584078 -60.647545,45.584055 -60.647545,45.584055 -60.647440,45.584030 -60.647440,45.584030 -60.647336,45.584004 -60.647336,45.584004 -60.647232,45.583977 -60.647232,45.583977 -60.647129,45.583949 -60.647129,45.583949 -60.647027,45.583919 -60.647027,45.583919 -60.646926,45.583888 -60.646926,45.583888 -60.646825,45.583856 -60.646825,45.583856 -60.646725,45.583823 -60.646725,45.583823 -60.646626,45.583788 -60.646626,45.583788 -60.646528,45.583753 -60.646528,45.583753 -60.646431,45.583716 -60.646431,45.583716 -60.646334,45.583677 -60.646334,45.583677 -60.646239,45.583638 -60.646239,45.583638 -60.646145,45.583597 -60.646145,45.583597 -60.646051,45.583556 -60.646051,45.583556 -60.645959,45.583513 -60.645959,45.583513 -60.645868,45.583469 -60.645868,45.583469 -60.645778,45.583424 -60.645778,45.583424 -60.645689,45.583378 -60.645689,45.583378 -60.645601,45.583331 -60.645601,45.583331 -60.645515,45.583282 -60.645515,45.583282 -60.645429,45.583233 -60.645429,45.583233 -60.645345,45.583183 -60.645345,45.583183 -60.645262,45.583131 -60.645262,45.583131 -60.645180,45.583079 -60.645180,45.583079 -60.645100,45.583026 -60.645100,45.583026 -60.645021,45.582971 -60.645021,45.582971 -60.644944,45.582916 -60.644944,45.582916 -60.644867,45.582860 -60.644867,45.582860 -60.644793,45.582802 -60.644793,45.582802 -60.644719,45.582744 -60.644719,45.582744 -60.644647,45.582685 -60.644647,45.582685 -60.644577,45.582625 -60.644577,45.582625 -60.644508,45.582565 -60.644508,45.582565 -60.644441,45.582503 -60.644441,45.582503 -60.644375,45.582441 -60.644375,45.582441 -60.644311,45.582378 -60.644311,45.582378 -60.644248,45.582314 -60.644248,45.582314 -60.644187,45.582249 -60.644187,45.582249 -60.644127,45.582183 -60.644127,45.582183 -60.644069,45.582117 -60.644069,45.582117 -60.644013,45.582050 -60.644013,45.582050 -60.643959,45.581983 -60.643959,45.581983 -60.643906,45.581915 -60.643906,45.581915 -60.643855,45.581846 -60.643855,45.581846 -60.643805,45.581776 -60.643805,45.581776 -60.643757,45.581706 -60.643757,45.581706 -60.643711,45.581636 -60.643711,45.581636 -60.643667,45.581564 -60.643667,45.581564 -60.643625,45.581493 -60.643625,45.581493 -60.643584,45.581421 -60.643584,45.581421 -60.643545,45.581348 -60.643545,45.581348 -60.643508,45.581275 -60.643508,45.581275 -60.643473,45.581201 -60.643473,45.581201 -60.643440,45.581127 -60.643440,45.581127 -60.643408,45.581053 -60.643408,45.581053 -60.643379,45.580978 -60.643379,45.580978 -60.643351,45.580903 -60.643351,45.580903 -60.643325,45.580827 -60.643325,45.580827 -60.643301,45.580751 -60.643301,45.580751 -60.643279,45.580675 -60.643279,45.580675 -60.643259,45.580599 -60.643259,45.580599 -60.643240,45.580522 -60.643240,45.580522 -60.643224,45.580446 -60.643224,45.580446 -60.643209,45.580369 -60.643209,45.580369 -60.643197,45.580291 -60.643197,45.580291 -60.643186,45.580214 -60.643186,45.580214 -60.643177,45.580137 -60.643177,45.580137 -60.643170,45.580059 -60.643170,45.580059 -60.643165,45.579982 -60.643165,45.579982 -60.643162,45.579904 -60.643162,45.579904 -60.643161,45.579826 -60.643161,45.579826 -60.643162,45.579749 -60.643162,45.579749 -60.643165,45.579671 -60.643165,45.579671 -60.643170,45.579594 -60.643170,45.579594 -60.643176,45.579516 -60.643176,45.579516 -60.643185,45.579439 -60.643185,45.579439 -60.643195,45.579361 -60.643195,45.579361 -60.643208,45.579284 -60.643208,45.579284 -60.643222,45.579207 -60.643222,45.579207 -60.643238,45.579130 -60.643238,45.579130 -60.643257,45.579054 -60.643257,45.579054 -60.643277,45.578977 -60.643277,45.578977 -60.643299,45.578901 -60.643299,45.578901 -60.643322,45.578825 -60.643322,45.578825 -60.643348,45.578750 -60.643348,45.578750 -60.643376,45.578675 -60.643376,45.578675 -60.643405,45.578600 -60.643405,45.578600 -60.643437,45.578525 -60.643437,45.578525 -60.643470,45.578451 -60.643470,45.578451 -60.643505,45.578378 -60.643505,45.578378 -60.643542,45.578304 -60.643542,45.578304 -60.643580,45.578232 -60.643580,45.578232 -60.643621,45.578159 -60.643621,45.578159 -60.643663,45.578088 -60.643663,45.578088 -60.643707,45.578016 -60.643707,45.578016 -60.643753,45.577946 -60.643753,45.577946 -60.643800,45.577876 -60.643800,45.577876 -60.643849,45.577806 -60.643849,45.577806 -60.643900,45.577737 -60.643900,45.577737 -60.643953,45.577669 -60.643953,45.577669 -60.644007,45.577601 -60.644007,45.577601 -60.644063,45.577534 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-60.706439,45.582670 -60.706439,45.582670 -60.706400,45.582670 -60.706400,45.582670 -60.706400,45.582670 -60.706289,45.582664 -60.706289,45.582664 -60.706289,45.582664 -60.706102,45.582658 -60.706102,45.582658 -60.706102,45.582658 -60.706076,45.582652 -60.706076,45.582652 -60.706076,45.582652 -60.705826,45.582638 -60.705611,45.582710 -60.705611,45.582710 -60.705611,45.582710 -60.704490,45.582834 -60.704490,45.582834 -60.704490,45.582834 -60.702511,45.582926 -60.702511,45.582926 -60.702511,45.582926 -60.701735,45.582904 -60.701505,45.582917 -60.701505,45.582917 -60.701505,45.582917 -60.701360,45.582907 -60.701360,45.582907 -60.701360,45.582907 -60.701327,45.582899 -60.701282,45.582902 -60.701282,45.582902 -60.701282,45.582902 -60.701013,45.582882 -60.701013,45.582882 -60.701013,45.582882 -60.701003,45.582879 -60.700458,45.583019 -60.700458,45.583019 -60.700458,45.583019 -60.699674,45.583119 -60.699674,45.583119 -60.699674,45.583119 -60.699116,45.583305 -60.699116,45.583305 -60.699116,45.583305 -60.698356,45.583895 -60.698356,45.583895 -60.698356,45.583895 -60.698155,45.583971 -60.698155,45.583971 -60.698155,45.583971 -60.697776,45.584293 -60.697776,45.584293 -60.697776,45.584293 -60.697276,45.585136 -60.697276,45.585136 -60.697276,45.585136 -60.697276,45.585136 -60.697276,45.585136 -60.697276,45.585136 -60.696794,45.585947 -60.696794,45.585947 -60.696794,45.585947 -60.696469,45.586839 -60.696469,45.586839 -60.696469,45.586839 -60.696469,45.586839 -60.696469,45.586839 -60.696469,45.586839 -60.696282,45.587352 -60.696282,45.587352 -60.696282,45.587352 -60.696040,45.587761 -60.696040,45.587761 -60.696040,45.587761 -60.696050,45.587896 -60.696050,45.587896 -60.696050,45.587896 -60.695921,45.588346 -60.695921,45.588346 -60.695921,45.588346 -60.695822,45.588616 -60.695822,45.588616 -60.695822,45.588616 -60.695123,45.589796 -60.695123,45.589796 -60.695123,45.589796 -60.695037,45.589865 -60.695037,45.589865 -60.695037,45.589865 -60.698409,45.596168 -60.698409,45.596168 -60.698409,45.596168 -60.698418,45.596188 -60.698418,45.596188 -60.698418,45.596188 -60.698424,45.596195 -60.698424,45.596195 -60.698424,45.596195 -60.699633,45.598500 -60.699633,45.598500 -60.699633,45.598500 -60.699633,45.598502 -60.699633,45.598502 -60.699633,45.598502 -60.699634,45.598502 -60.699634,45.598502 -60.699634,45.598502 -60.699688,45.598607 -60.699688,45.598607 -60.699688,45.598607 -60.701295,45.601518 -60.701295,45.601518 -60.701295,45.601518 -60.701531,45.602039 -60.701531,45.602039 -60.701531,45.602039 -60.701654,45.603767 -60.701654,45.603767 -60.701654,45.603767 -60.701082,45.605063 -60.701082,45.605063 -60.701082,45.605063 -60.700645,45.605692 -60.700645,45.605692 -60.700645,45.605692 -60.700645,45.605693 -60.700645,45.605693 -60.700645,45.605693 -60.700645,45.605693 -60.700645,45.605693 -60.700645,45.605693 -60.700207,45.606322 -60.700207,45.606322 -60.700207,45.606322 -60.699951,45.606654 -60.699951,45.606654 -60.699951,45.606654 -60.698297,45.607937 -60.698297,45.607937 -60.698297,45.607937 -60.696069,45.608678 -60.696069,45.608678 -60.696069,45.608678 -60.693607,45.608764 -60.691285,45.608182 -60.691285,45.608182 -60.691285,45.608182 -60.689458,45.607021 -60.689458,45.607021 -60.689458,45.607021 -60.688618,45.605940 -60.688618,45.605940 -60.688618,45.605940 -60.687646,45.604128 -60.687484,45.604172 -60.687484,45.604172 -60.687484,45.604172 -60.687483,45.604172 -60.687483,45.604172 -60.687483,45.604172 -60.687483,45.604172 -60.687483,45.604172 -60.687483,45.604172 -60.684940,45.604861 -60.684940,45.604861 -60.684940,45.604861 -60.684205,45.605024 -60.684205,45.605024 -60.684205,45.605024 -60.681743,45.605110 -60.679422,45.604528 -60.679422,45.604528 -60.679422,45.604528 -60.677595,45.603366 -60.677595,45.603366 -60.677595,45.603366 -60.676774,45.602319 -60.676774,45.602319 -60.676774,45.602319 -60.676396,45.601632 -60.676396,45.601632 -60.676396,45.601632 -60.673436,45.596246 -60.673436,45.596246 -60.673436,45.596246 -60.673433,45.596240 -60.673433,45.596240 -60.673433,45.596240 -60.673431,45.596238 -60.673431,45.596238 -60.673431,45.596238 -60.673382,45.596147 -60.673382,45.596147 -60.673382,45.596147 -60.672520,45.594578 -60.672520,45.594578 -60.672520,45.594578 -60.672496,45.594536 -60.672496,45.594536 -60.672496,45.594536 -60.672250,45.593996 -60.672250,45.593996 -60.672250,45.593996 -60.672129,45.592268 -60.672129,45.592268 -60.672129,45.592268 -60.672609,45.591326 -60.672609,45.591326 -60.672609,45.591326 -60.672607,45.591297 -60.672607,45.591297 -60.672607,45.591297 -60.673436,45.589668 -60.673436,45.589668 -60.673436,45.589668 -60.675090,45.588386 -60.675090,45.588386 -60.675090,45.588386 -60.675278,45.588323 -60.675278,45.588323 -60.675278,45.588323 -60.675704,45.588135 -60.675704,45.588135 -60.675704,45.588135 -60.675814,45.588048 -60.675814,45.588048 -60.675814,45.588048 -60.676012,45.587942 -60.676012,45.587942 -60.676012,45.587942 -60.676172,45.587854 -60.676172,45.587854 -60.676172,45.587854 -60.676407,45.587774 -60.676407,45.587774 -60.676407,45.587774 -60.676574,45.587651 -60.676574,45.587651 -60.676574,45.587651 -60.676765,45.587561 -60.676765,45.587561 -60.676765,45.587561 -60.676896,45.587483 -60.676896,45.587483 -60.676896,45.587483 -60.676940,45.587468 -60.676940,45.587468 -60.676940,45.587468 -60.676971,45.587450 -60.676971,45.587450 -60.676971,45.587450 -60.676987,45.587438 -60.676987,45.587438 -60.676987,45.587438 -60.677008,45.587429 -60.677008,45.587429 -60.677008,45.587429 -60.677039,45.587412 -60.677039,45.587412 -60.677039,45.587412 -60.677042,45.587409 -60.677042,45.587409 -60.677042,45.587409 -60.677051,45.587405 -60.677051,45.587405 -60.677051,45.587405 -60.677193,45.587323 -60.677193,45.587323 -60.677193,45.587323 -60.677310,45.587268 -60.677310,45.587268 -60.677310,45.587268 -60.677697,45.587048 -60.677697,45.587048 -60.677697,45.587048 -60.677831,45.587003 -60.677831,45.587003 -60.677831,45.587003 -60.677948,45.586927 -60.677948,45.586927 -60.677948,45.586927 -60.677985,45.586897 -60.677985,45.586897 -60.677985,45.586897 -60.678153,45.586809 -60.678153,45.586809 -60.678153,45.586809 -60.678156,45.586808 -60.678156,45.586808 -60.678156,45.586808 -60.678176,45.586791 -60.678176,45.586791 -60.678176,45.586791 -60.678243,45.586751 -60.678243,45.586751 -60.678243,45.586751 -60.678252,45.586748 -60.678252,45.586748 -60.678252,45.586748 -60.678262,45.586740 -60.678262,45.586740 -60.678262,45.586740 -60.678389,45.586664 -60.678389,45.586664 -60.678389,45.586664 -60.678428,45.586650 -60.678428,45.586650 -60.678428,45.586650 -60.678809,45.586408 -60.678809,45.586408 -60.678809,45.586408 -60.678816,45.586405 -60.678816,45.586405 -60.678816,45.586405 -60.678824,45.586400 -60.678824,45.586400 -60.678824,45.586400 -60.678903,45.586329 -60.678903,45.586329 -60.678903,45.586329 -60.679085,45.586205 -60.679085,45.586205 -60.679085,45.586205 -60.679085,45.586205 -60.679085,45.586205 -60.679085,45.586205 -60.679085,45.586205 -60.679085,45.586205 -60.679085,45.586205 -60.679118,45.586182 -60.679118,45.586182 -60.679118,45.586182 -60.679206,45.586117 -60.679206,45.586117 -60.679206,45.586117 -60.679406,45.585992 -60.679406,45.585992 -60.679406,45.585992 -60.679447,45.585955 -60.679447,45.585955 -60.679447,45.585955 -60.679693,45.585786 -60.679693,45.585786 -60.679693,45.585786 -60.679818,45.585711 -60.679818,45.585711 -60.679818,45.585711 -60.679874,45.585657 -60.679874,45.585657 -60.679874,45.585657 -60.680199,45.585392 -60.680199,45.585392 -60.680199,45.585392 -60.680243,45.585350 -60.680243,45.585350 -60.680243,45.585350 -60.680564,45.585041 -60.680564,45.585041 -60.680564,45.585041 -60.680566,45.585040 -60.680566,45.585040 -60.680566,45.585040 -60.680570,45.585036 -60.680570,45.585036 -60.680570,45.585036 -60.680638,45.584970 -60.680638,45.584970 -60.680638,45.584970 -60.680706,45.584922 -60.680706,45.584922 -60.680706,45.584922 -60.680750,45.584877 -60.680750,45.584877 -60.680750,45.584877 -60.680779,45.584856 -60.680779,45.584856 -60.680779,45.584856 -60.680895,45.584734 -60.680895,45.584734 -60.680895,45.584734 -60.681164,45.584478 -60.681164,45.584478 -60.681164,45.584478 -60.681197,45.584396 -60.681197,45.584396 -60.681197,45.584396 -60.681394,45.584064 -60.681394,45.584064 -60.681394,45.584064 -60.681571,45.583818 -60.681571,45.583818 -60.681571,45.583818 -60.681603,45.583749 -60.681603,45.583749 -60.681603,45.583749 -60.681735,45.583568 -60.681735,45.583568 -60.681735,45.583568 -60.681854,45.583390 -60.681854,45.583390 -60.681854,45.583390 -60.681883,45.583313 -60.681883,45.583313 -60.681883,45.583313 -60.681962,45.583170 -60.681962,45.583170 -60.681962,45.583170 -60.682213,45.582809 -60.682213,45.582809 -60.682213,45.582809 -60.682236,45.582753 -60.682236,45.582753 -60.682236,45.582753 -60.682255,45.582727 -60.682255,45.582727 -60.682255,45.582727 -60.682318,45.582601 -60.682318,45.582601 -60.682318,45.582601 -60.682483,45.582355 -60.682483,45.582355 -60.682483,45.582355 -60.682538,45.582195 -60.682538,45.582195 -60.682538,45.582195 -60.682553,45.582166 -60.682553,45.582166 -60.682553,45.582166 -60.682612,45.582039 -60.682612,45.582039 -60.682612,45.582039 -60.682614,45.582028 -60.682614,45.582028 -60.682614,45.582028 -60.682640,45.581974 -60.682640,45.581974 -60.682640,45.581974 -60.682636,45.581914 -60.682636,45.581914 -60.682636,45.581914 -60.682843,45.581268 -60.682843,45.581268 -60.682843,45.581268 -60.682910,45.581116 -60.682910,45.581116 -60.682910,45.581116 -60.683006,45.580963 -60.683006,45.580963 -60.683006,45.580963 -60.683006,45.580963 -60.683006,45.580963 -60.683006,45.580963 -60.683065,45.580863 -60.683065,45.580863 -60.683065,45.580863 -60.683079,45.580818 -60.683079,45.580818 -60.683079,45.580818 -60.683108,45.580768 -60.683108,45.580768 -60.683108,45.580768 -60.683121,45.580726 -60.683121,45.580726 -60.683121,45.580726 -60.683129,45.580658 -60.683129,45.580658 -60.683129,45.580658 -60.683165,45.580582 -60.683165,45.580582 -60.683165,45.580582 -60.683165,45.580581 -60.683165,45.580581 -60.683165,45.580581 -60.683245,45.580384 -60.683245,45.580384 -60.683245,45.580384 -60.683277,45.580332 -60.683277,45.580332 -60.683277,45.580332 -60.683317,45.580184 -60.683317,45.580184 -60.683317,45.580184 -60.683370,45.580022 -60.683370,45.580022 -60.683370,45.580022 -60.683371,45.580021 -60.683371,45.580021 -60.683371,45.580021 -60.683377,45.579882 -60.683377,45.579882 -60.683377,45.579882 -60.683383,45.579838 -60.683116,45.579876 -60.683116,45.579876 -60.683116,45.579876 -60.683039,45.579885 -60.683039,45.579885 -60.683039,45.579885 -60.681328,45.579889 -60.681328,45.579889 -60.681328,45.579889 -60.680052,45.579995 -60.680052,45.579995 -60.680052,45.579995 -60.679885,45.579994 -60.679885,45.579994 -60.679885,45.579994 -60.679885,45.579994 -60.679834,45.579994 -60.679834,45.579994 -60.679834,45.579994 -60.678975,45.579946 -60.678975,45.579946 -60.678975,45.579946 -60.677832,45.579659 -60.677832,45.579659 -60.677832,45.579659 -60.677055,45.579494 -60.677055,45.579494 -60.677055,45.579494 -60.676889,45.579439 -60.676889,45.579439 -60.676889,45.579439 -60.676762,45.579391 -60.676762,45.579391 -60.676762,45.579391 -60.676655,45.579364 -60.676655,45.579364 -60.676655,45.579364 -60.676551,45.579312 -60.676551,45.579312 -60.676551,45.579312 -60.676349,45.579236 -60.676349,45.579236 -60.676349,45.579236 -60.676154,45.579112 -60.676154,45.579112 -60.676154,45.579112 -60.675808,45.578937 -60.675808,45.578937 -60.675808,45.578937 -60.675731,45.578892 -60.675731,45.578892 -60.675731,45.578892 -60.675305,45.578572 -60.675305,45.578572 -60.675305,45.578572 -60.674524,45.578075 -60.674524,45.578075 -60.674524,45.578075 -60.674510,45.578055 -60.674510,45.578055 -60.674510,45.578055 -60.674498,45.578047 -60.674498,45.578047 -60.674498,45.578047 -60.674407,45.577923 -60.674407,45.577923 -60.674407,45.577923 -60.674304,45.577854 -60.674304,45.577854 -60.674304,45.577854 -60.674279,45.577826 -60.674279,45.577826 -60.674279,45.577826 -60.673957,45.577308 -60.673957,45.577308 -60.673957,45.577308 -60.673558,45.576764 -60.673558,45.576764 -60.673558,45.576764 -60.673558,45.576764 -60.673558,45.576764 -60.673558,45.576764 -60.673432,45.576735 -60.673432,45.576735 -60.673432,45.576735 -60.673406,45.576726 -60.673406,45.576726 -60.673406,45.576726 -60.673268,45.576644 -60.673268,45.576644 -60.673268,45.576644 -60.673069,45.576594 -60.673069,45.576594 -60.673069,45.576594 -60.673062,45.576589 -60.673062,45.576589 -60.673062,45.576589 -60.673044,45.576585 -60.673044,45.576585 -60.673044,45.576585 -60.672293,45.576214 -60.672293,45.576214 -60.672293,45.576214 -60.672230,45.576178 -60.672230,45.576178 -60.672230,45.576178 -60.671981,45.575995 -60.671981,45.575995 -60.671981,45.575995 -60.671714,45.575847 -60.671714,45.575847 -60.671714,45.575847 -60.671664,45.575811 -60.671664,45.575811 -60.671664,45.575811 -60.671104,45.575350 -60.671104,45.575350 -60.671104,45.575350 -60.670288,45.574312 -60.670288,45.574312 -60.670288,45.574312 -60.670263,45.574267 -60.670263,45.574267 -60.670263,45.574267 -60.670025,45.573742 -60.670025,45.573742 -60.670025,45.573742 -60.669918,45.572870 -60.669918,45.572870 -60.669918,45.572870 -60.669851,45.572473 -60.669851,45.572473 -60.669851,45.572473 -60.669853,45.572365 -60.669853,45.572365 -60.669853,45.572365 -60.669854,45.572353 -60.669854,45.572353 -60.669854,45.572353 -60.669852,45.572341 -60.669852,45.572341 -60.669852,45.572341 -60.669867,45.572197 -60.669867,45.572197 -60.669867,45.572197 -60.669873,45.572185 -60.669873,45.572185 -60.669873,45.572185 -60.669920,45.571762 -60.669920,45.571762 -60.669920,45.571762 -60.670328,45.570722 -60.670328,45.570722 -60.670328,45.570722 -60.670355,45.570677 -60.670355,45.570677 -60.670355,45.570677 -60.670540,45.570418 -60.670540,45.570418 -60.670540,45.570418 -60.670575,45.570343 -60.670575,45.570343 -60.670575,45.570343 -60.670614,45.570289 -60.670614,45.570289 -60.670614,45.570289 -60.670631,45.570275 -60.670631,45.570275 -60.670631,45.570275 -60.670635,45.570266 -60.670635,45.570266 -60.670635,45.570266 -60.670868,45.569885 -60.670868,45.569885 -60.670868,45.569885 -60.670967,45.569579 -60.670967,45.569579 -60.670967,45.569579 -60.671007,45.569489 -60.671007,45.569489 -60.671007,45.569489 -60.671288,45.569049 -60.671288,45.569049 -60.671288,45.569049 -60.671288,45.569047 -60.671288,45.569047 -60.671288,45.569047 -60.671315,45.569002 -60.671315,45.569002 -60.671315,45.569002 -60.671315,45.569002 -60.671315,45.569002 -60.671315,45.569002 -60.671315,45.569002 -60.671315,45.569002 -60.671315,45.569002 -60.671341,45.568957 -60.671341,45.568957 -60.671341,45.568957 -60.671387,45.568893 -60.671387,45.568893 -60.671387,45.568893 -60.671619,45.568529 -60.671619,45.568529 -60.671619,45.568529 -60.671685,45.568465 -60.671685,45.568465 -60.671685,45.568465 -60.671691,45.568453 -60.671691,45.568453 -60.671691,45.568453 -60.671756,45.568372 -60.671756,45.568372 -60.671756,45.568372 -60.671762,45.568368 -60.671762,45.568368 -60.671762,45.568368 -60.671762,45.568368 -60.671762,45.568368 -60.671762,45.568368 -60.671777,45.568356 -60.671777,45.568356 -60.671777,45.568356 -60.671803,45.568336 -60.671803,45.568336 -60.671803,45.568336 -60.671827,45.568287 -60.671827,45.568287 -60.671827,45.568287 -60.672825,45.567398 -60.672825,45.567398 -60.672825,45.567398 -60.672851,45.567381 -60.672851,45.567381 -60.672851,45.567381 -60.673507,45.566987 -60.673507,45.566987 -60.673507,45.566987 -60.675733,45.566247 -60.675733,45.566247 -60.675733,45.566247 -60.675744,45.566247 -60.675744,45.566247 -60.675744,45.566247 -60.675790,45.566229 -60.675790,45.566229 -60.675790,45.566229 -60.677263,45.565826 -60.677263,45.565826 -60.677263,45.565826 -60.677486,45.565808 -60.677486,45.565808 -60.677486,45.565808 -60.677597,45.565768 -60.677597,45.565768 -60.677597,45.565768 -60.677713,45.565742 -60.677713,45.565742 -60.677713,45.565742 -60.677806,45.565736 -60.677806,45.565736 -60.677806,45.565736 -60.677834,45.565729 -60.677834,45.565729 -60.677834,45.565729 -60.677944,45.565689 -60.677944,45.565689 -60.677944,45.565689 -60.678060,45.565663 -60.678060,45.565663 -60.678060,45.565663 -60.678172,45.565657 -60.678172,45.565657 -60.678172,45.565657 -60.678343,45.565609 -60.678343,45.565609 -60.678343,45.565609 -60.678384,45.565608 -60.678384,45.565608 -60.678384,45.565608 -60.678458,45.565583 -60.678458,45.565583 -60.678458,45.565583 -60.678719,45.565555 -60.678719,45.565555 -60.678719,45.565555 -60.678895,45.565496 -60.678895,45.565496 -60.678895,45.565496 -60.679041,45.565481 -60.679041,45.565481 -60.679041,45.565481 -60.679249,45.565025 -60.679249,45.565025 -60.679249,45.565025 -60.679275,45.564989 -60.679275,45.564989 -60.679275,45.564989 -60.679384,45.564898 -60.679384,45.564898 -60.679384,45.564898 -60.679450,45.564770 -60.679450,45.564770 -60.679450,45.564770 -60.679463,45.564760 -60.679463,45.564760 -60.679463,45.564760 -60.679476,45.564734 -60.679476,45.564734 -60.679476,45.564734 -60.679927,45.564385 -60.679927,45.564385 -60.679927,45.564385 -60.679947,45.564364 -60.679947,45.564364 -60.679947,45.564364 -60.680061,45.564281 -60.680061,45.564281 -60.680061,45.564281 -60.680429,45.563995 -60.680429,45.563995 -60.680429,45.563995 -60.680482,45.563943 -60.680482,45.563943 -60.680482,45.563943 -60.680664,45.563813 -60.680664,45.563813 -60.680664,45.563813 -60.680691,45.563792 -60.680691,45.563792 -60.680691,45.563792 -60.680770,45.563718 -60.680770,45.563718 -60.680770,45.563718 -60.680883,45.563638 -60.680883,45.563638 -60.680883,45.563638 -60.681086,45.563442 -60.681086,45.563442 -60.681086,45.563442 -60.681241,45.563317 -60.681241,45.563317 -60.681241,45.563317 -60.682229,45.562677 -60.682229,45.562677 -60.682229,45.562677 -60.682657,45.562473 -60.682657,45.562473 -60.682657,45.562473 -60.682799,45.562411 -60.682799,45.562411 -60.682799,45.562411 -60.683588,45.562175 -60.683588,45.562175 -60.683588,45.562175 -60.684198,45.561955 -60.684198,45.561955 -60.684198,45.561955 -60.684237,45.561946 -60.684237,45.561946 -60.684237,45.561946 -60.684386,45.561938 -60.684386,45.561938 -60.684386,45.561938 -60.684597,45.561875 -60.684597,45.561875 -60.684597,45.561875 -60.684611,45.561874 -60.684611,45.561874 -60.684611,45.561874 -60.684635,45.561866 -60.684635,45.561866 -60.684635,45.561866 -60.685664,45.561747 -60.685664,45.561747 -60.685664,45.561747 -60.685805,45.561739 -60.686270,45.561750 -60.686270,45.561750 -60.686270,45.561750 -60.686568,45.561728 -60.686991,45.561740 -60.686991,45.561740 -60.686991,45.561740 -60.687429,45.561769 -60.687429,45.561769 -60.687429,45.561769 -60.687710,45.561785 -60.687710,45.561785 -60.687710,45.561785 -60.688704,45.561947 -60.688704,45.561947 -60.688704,45.561947 -60.688870,45.561984 -60.688870,45.561984 -60.688870,45.561984 -60.689020,45.562032 -60.689020,45.562032 -60.689020,45.562032 -60.689194,45.562063 -60.689194,45.562063 -60.689194,45.562063 -60.689276,45.562085 -60.689276,45.562085 -60.689276,45.562085 -60.689278,45.562086 -60.689278,45.562086 -60.689278,45.562086 -60.689280,45.562086 -60.689280,45.562086 -60.689280,45.562086 -60.689437,45.562128 -60.689437,45.562128 -60.689437,45.562128 -60.689774,45.562243 -60.689774,45.562243 -60.689774,45.562243 -60.689900,45.562283 -60.689900,45.562283 -60.689900,45.562283 -60.690136,45.562332 -60.690136,45.562332 -60.690136,45.562332 -60.690230,45.562362 -60.690230,45.562362 -60.690230,45.562362 -60.690241,45.562364 -60.690241,45.562364 -60.690241,45.562364 -60.690394,45.562420 -60.690394,45.562420 -60.690394,45.562420 -60.690402,45.562425 -60.690402,45.562425 -60.690402,45.562425 -60.690871,45.562598 -60.690871,45.562598 -60.690871,45.562598 -60.690889,45.562609 -60.690889,45.562609 -60.690889,45.562609 -60.691108,45.562659 -60.691108,45.562659 -60.691108,45.562659 -60.691184,45.562686 -60.691184,45.562686 -60.691184,45.562686 -60.691315,45.562764 -60.691315,45.562764 -60.691315,45.562764 -60.691470,45.562800 -60.691470,45.562800 -60.691470,45.562800 -60.691492,45.562814 -60.691492,45.562814 -60.691492,45.562814 -60.691546,45.562827 -60.691546,45.562827 -60.691546,45.562827 -60.692156,45.563210 -60.692156,45.563210 -60.692156,45.563210 -60.692607,45.563439 -60.692607,45.563439 -60.692607,45.563439 -60.692772,45.563539 -60.692772,45.563539 -60.692772,45.563539 -60.693224,45.563881 -60.693224,45.563881 -60.693224,45.563881 -60.693326,45.563945 -60.693326,45.563945 -60.693326,45.563945 -60.693404,45.564017 -60.693404,45.564017 -60.693404,45.564017 -60.693714,45.564252 -60.693714,45.564252 -60.693714,45.564252 -60.693738,45.564287 -60.693738,45.564287 -60.693738,45.564287 -60.694018,45.564524 -60.694018,45.564524 -60.694018,45.564524 -60.694187,45.564720 -60.694187,45.564720 -60.694187,45.564720 -60.694258,45.564777 -60.694258,45.564777 -60.694258,45.564777 -60.694738,45.565306 -60.694738,45.565306 -60.694738,45.565306 -60.694801,45.565388 -60.694801,45.565388 -60.694801,45.565388 -60.695375,45.566422 -60.695375,45.566422 -60.695375,45.566422 -60.695518,45.566960 -60.695518,45.566960 -60.695518,45.566960 -60.695541,45.567095 -60.695541,45.567095 -60.695541,45.567095 -60.695536,45.567375 -60.695536,45.567375 -60.695536,45.567375 -60.695588,45.567682 -60.695588,45.567682 -60.695588,45.567682 -60.695587,45.567771 -60.695587,45.567771 -60.695587,45.567771 -60.695587,45.567771 -60.695587,45.567771 -60.695587,45.567771 -60.695584,45.567996 -60.695584,45.567996 -60.695584,45.567996 -60.695534,45.568441 -60.695534,45.568441 -60.695534,45.568441 -60.695538,45.568486 -60.695538,45.568486 -60.695538,45.568486 -60.695524,45.568567 -60.695524,45.568567 -60.695524,45.568567 -60.695519,45.568578 -60.695519,45.568578 -60.695519,45.568578 -60.695516,45.568600 -60.695516,45.568600 -60.695516,45.568600 -60.695499,45.568634 -60.695499,45.568634 -60.695499,45.568634 -60.695502,45.568681 -60.695502,45.568681 -60.695502,45.568681 -60.695406,45.569038 -60.695406,45.569038 -60.695406,45.569038 -60.695379,45.569119 -60.695379,45.569119 -60.695379,45.569119 -60.695368,45.569138 -60.695368,45.569138 -60.695368,45.569138 -60.695368,45.569139 -60.695368,45.569139 -60.695368,45.569139 -60.695366,45.569145 -60.695366,45.569145 -60.695366,45.569145 -60.695366,45.569156 -60.695366,45.569156 -60.695366,45.569156 -60.695339,45.569263 -60.695339,45.569263 -60.695339,45.569263 -60.695289,45.569358 -60.695289,45.569358 -60.695289,45.569358 -60.695283,45.569374 -60.695283,45.569374 -60.695283,45.569374 -60.695283,45.569374 -60.695283,45.569374 -60.695283,45.569374 -60.695283,45.569375 -60.695283,45.569375 -60.695283,45.569375 -60.695054,45.570008 -60.695054,45.570008 -60.695054,45.570008 -60.694975,45.570161 -60.694975,45.570161 -60.694975,45.570161 -60.694870,45.570315 -60.694870,45.570315 -60.694870,45.570315 -60.694855,45.570347 -60.694855,45.570347 -60.694855,45.570347 -60.694701,45.570580 -60.694701,45.570580 -60.694701,45.570580 -60.694662,45.570666 -60.694662,45.570666 -60.694662,45.570666 -60.694653,45.570677 -60.694653,45.570677 -60.694653,45.570677 -60.694617,45.570763 -60.694617,45.570763 -60.694617,45.570763 -60.694499,45.570942 -60.694499,45.570942 -60.694499,45.570942 -60.694372,45.571110 -60.694372,45.571110 -60.694372,45.571110 -60.694610,45.571224 -60.694610,45.571224 -60.694610,45.571224 -60.694892,45.571288 -60.694892,45.571288 -60.694892,45.571288 -60.694968,45.571315 -60.694968,45.571315 -60.694968,45.571315 -60.695053,45.571366 -60.695053,45.571366 -60.695053,45.571366 -60.695136,45.571392 -60.695136,45.571392 -60.695136,45.571392 -60.695228,45.571414 -60.695228,45.571414 -60.695228,45.571414 -60.695380,45.571475 -60.695380,45.571475 -60.695380,45.571475 -60.695495,45.571496 -60.695495,45.571496 -60.695495,45.571496 -60.696032,45.571635 -60.696032,45.571635 -60.696032,45.571635 -60.696553,45.571810 -60.696553,45.571810 -60.696553,45.571810 -60.696728,45.571849 -60.696728,45.571849 -60.696728,45.571849 -60.696932,45.571923 -60.696932,45.571923 -60.696932,45.571923 -60.696989,45.571956 -60.696989,45.571956 -60.696989,45.571956 -60.697091,45.571991 -60.697091,45.571991 -60.697091,45.571991 -60.697137,45.572020 -60.697137,45.572020 -60.697137,45.572020 -60.697158,45.572027 -60.697158,45.572027 -60.697158,45.572027 -60.697246,45.572044 -60.697246,45.572044 -60.697246,45.572044 -60.697550,45.572132 -60.697550,45.572132 -60.697550,45.572132 -60.697859,45.572220 -60.697859,45.572220 -60.697859,45.572220 -60.698019,45.572243 -60.698019,45.572243 -60.698019,45.572243 -60.698121,45.572261 -60.698121,45.572261 -60.698121,45.572261 -60.698180,45.572279 -60.698180,45.572279 -60.698180,45.572279 -60.698324,45.572301 -60.698324,45.572301 -60.698324,45.572301 -60.698503,45.572338 -60.698503,45.572338 -60.698503,45.572338 -60.698791,45.572427 -60.698791,45.572427 -60.698791,45.572427 -60.698937,45.572451 -60.698937,45.572451 -60.698937,45.572451 -60.699044,45.572476 -60.699044,45.572476 -60.699044,45.572476 -60.699111,45.572489 -60.699111,45.572489 -60.699111,45.572489 -60.699141,45.572498 -60.699141,45.572498 -60.699141,45.572498 -60.699645,45.572601 -60.699645,45.572601 -60.699645,45.572601 -60.699718,45.572623 -60.699718,45.572623 -60.699718,45.572623 -60.699844,45.572644 -60.699844,45.572644 -60.699844,45.572644 -60.700086,45.572699 -60.700086,45.572699 -60.700086,45.572699 -60.700166,45.572725 -60.700166,45.572725 -60.700166,45.572725 -60.700304,45.572732 -60.700304,45.572732 -60.700304,45.572732 -60.700366,45.572727 -60.700742,45.572732 -60.700742,45.572732 -60.700742,45.572732 -60.701028,45.572709 -60.701054,45.572709 -60.701054,45.572709 -60.701054,45.572709 -60.701269,45.572722 -60.701269,45.572722 -60.701269,45.572722 -60.701681,45.572697 -60.701899,45.572708 -60.701899,45.572708 -60.701899,45.572708 -60.702006,45.572732 -60.702006,45.572732 -60.702006,45.572732 -60.702132,45.572732 -60.702146,45.572735 -60.702146,45.572735 -60.702146,45.572735 -60.702231,45.572732 -60.702346,45.572742 -60.702346,45.572742 -60.702346,45.572742 -60.702402,45.572756 -60.702402,45.572756 -60.702402,45.572756 -60.702465,45.572754 -60.702920,45.572835 -60.702920,45.572835 -60.702920,45.572835 -60.702961,45.572833 -60.703605,45.572878 -60.703605,45.572878 -60.703605,45.572878 -60.703780,45.572887 -60.703780,45.572887 -60.703780,45.572887 -60.703870,45.572882 -60.704303,45.572911 -60.704303,45.572911 -60.704303,45.572911 -60.704405,45.572918 -60.704405,45.572918 -60.704405,45.572918 -60.704539,45.572907 -60.704731,45.572908 -60.704731,45.572908 -60.704731,45.572908 -60.704966,45.572921 -60.704966,45.572921 -60.704966,45.572921 -60.705046,45.572916 -60.705814,45.572949 -60.705814,45.572949 -60.705814,45.572949 -60.705868,45.572952 -60.705868,45.572952 -60.705868,45.572952 -60.705881,45.572952 -60.706225,45.572969 -60.706225,45.572969 -60.706225,45.572969 -60.706506,45.572978 -60.706506,45.572978 -60.706506,45.572978 -60.706767,45.572995 -60.706767,45.572995 -60.706767,45.572995 -60.706814,45.572993 -60.707524,45.573040 -60.707524,45.573040 -60.707524,45.573040 -60.708001,45.573067 -60.708001,45.573067 -60.708001,45.573067 -60.708188,45.573070 -60.708188,45.573070 -60.708188,45.573070 -60.708350,45.573058 -60.708350,45.573058 -60.708350,45.573058 -60.708419,45.573049 -60.708419,45.573049 -60.708419,45.573049 -60.708624,45.573033 -60.708857,45.573035 -60.708857,45.573035 -60.708857,45.573035 -60.709249,45.572987 -60.709249,45.572987 -60.709249,45.572987 -60.709337,45.572956 -60.709337,45.572956 -60.709337,45.572956 -60.709465,45.572930 -60.709465,45.572930 -60.709465,45.572930 -60.709506,45.572928 -60.709506,45.572928 -60.709506,45.572928 -60.709552,45.572916 -60.709552,45.572916 -60.709552,45.572916 -60.709608,45.572914 -60.709608,45.572914 -60.709608,45.572914 -60.709681,45.572890 -60.709681,45.572890 -60.709681,45.572890 -60.710834,45.572815 -60.710834,45.572815 -60.710834,45.572815 -60.711130,45.572716 -60.711130,45.572716 -60.711130,45.572716 -60.713590,45.572630 -60.715910,45.573211 -60.715910,45.573211 -60.715910,45.573211 -60.717737,45.574371 -60.717737,45.574371 -60.717737,45.574371 -60.718792,45.575934 -60.718792,45.575934 -60.718792,45.575934 -60.718983,45.577059 -60.718983,45.577059 -60.718983,45.577059 -60.718978,45.577412 -60.718978,45.577412 -60.718978,45.577412 -60.718911,45.578015 -60.718911,45.578015 -60.718911,45.578015 -60.718083,45.579645 -60.718083,45.579645 -60.718083,45.579645 -60.716431,45.580928 -60.716431,45.580928 -60.716431,45.580928 -60.714554,45.581600 -60.714554,45.581600 -60.714554,45.581600 -60.714547,45.581601 -60.714547,45.581601 -60.714547,45.581601 -60.714547,45.581601 -60.714547,45.581601 -60.714547,45.581601 -60.710868,45.582411 -60.710868,45.582411 -60.710868,45.582411 -60.710698,45.582421 -60.710698,45.582421 -60.710698,45.582421 -60.710518,45.582481 -60.710518,45.582481 -60.710518,45.582481 -60.709398,45.582605 -60.709398,45.582605 -60.709398,45.582605 -60.707442,45.582696 -60.707442,45.582696 -60.707442,45.582696 -60.706489,45.582669 -60.706477,45.582670 -60.706477,45.582670 -60.706477,45.582670 -60.706439,45.582670 -60.706439,45.582670 -60.706439,45.582670 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-60.240289,45.711898 -60.222521,45.723578</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-60.226925,45.722787 -60.226925,45.722787 -60.225105,45.721616 -60.225105,45.721616 -60.224583,45.721023 -60.224583,45.721023 -60.224438,45.720826 -60.224438,45.720826 -60.223828,45.720343 -60.223828,45.720343 -60.222786,45.718774 -60.222786,45.718774 -60.222786,45.718774 -60.222786,45.718774 -60.222625,45.718311 -60.222625,45.718311 -60.222521,45.716581 -60.222521,45.716581 -60.223369,45.714955 -60.223369,45.714955 -60.224688,45.713875 -60.224688,45.713875 -60.225492,45.713399 -60.225492,45.713399 -60.225675,45.713333 -60.225675,45.713333 -60.225845,45.713204 -60.225845,45.713204 -60.227574,45.712578 -60.227574,45.712578 -60.229640,45.712094 -60.229640,45.712094 -60.230152,45.711990 -60.230152,45.711990 -60.232432,45.711898 -60.233237,45.711968 -60.233237,45.711968 -60.233325,45.711990 -60.233325,45.711990 -60.233426,45.711987 -60.235747,45.712581 -60.235747,45.712581 -60.237567,45.713752 -60.237567,45.713752 -60.237651,45.713869 -60.237651,45.713869 -60.238532,45.714436 -60.238532,45.714436 -60.239182,45.715214 -60.239182,45.715214 -60.239702,45.716012 -60.239702,45.716012 -60.240093,45.716804 -60.240093,45.716804 -60.240260,45.717569 -60.240260,45.717569 -60.240289,45.717884 -60.240289,45.717884 -60.240228,45.718849 -60.240228,45.718849 -60.239791,45.719916 -60.239791,45.719916 -60.239585,45.720253 -60.239585,45.720253 -60.239174,45.720812 -60.239174,45.720812 -60.237502,45.722087 -60.237502,45.722087 -60.237275,45.722161 -60.237275,45.722161 -60.237130,45.722263 -60.237130,45.722263 -60.235869,45.722818 -60.235869,45.722818 -60.234000,45.723371 -60.234000,45.723371 -60.233754,45.723379 -60.233754,45.723379 -60.233568,45.723434 -60.233568,45.723434 -60.232456,45.723567 -60.232456,45.723567 -60.230418,45.723578 -60.230418,45.723578 -60.229917,45.723509 -60.229917,45.723509 -60.228745,45.723312 -60.228745,45.723312 -60.226925,45.722787 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-60.161148,45.855106 -60.134744,45.873826</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-60.135140,45.866822 -60.135140,45.866822 -60.135136,45.866764 -60.135136,45.866764 -60.135100,45.866710 -60.135100,45.866710 -60.134744,45.864594 -60.134744,45.864594 -60.134746,45.864301 -60.134746,45.864301 -60.134899,45.862956 -60.134899,45.862956 -60.136607,45.859704 -60.136607,45.859704 -60.137339,45.858955 -60.137339,45.858955 -60.137597,45.858718 -60.137597,45.858718 -60.139292,45.857557 -60.139292,45.857557 -60.139855,45.857115 -60.139855,45.857115 -60.140247,45.856899 -60.140247,45.856899 -60.140449,45.856831 -60.140449,45.856831 -60.140616,45.856704 -60.140616,45.856704 -60.145115,45.855248 -60.145115,45.855248 -60.150068,45.855106 -60.152030,45.855433 -60.152030,45.855433 -60.152253,45.855484 -60.152253,45.855484 -60.154945,45.856349 -60.154945,45.856349 -60.158593,45.858695 -60.158593,45.858695 -60.159490,45.859686 -60.159490,45.859686 -60.159604,45.859832 -60.159604,45.859832 -60.160792,45.861985 -60.160792,45.861985 -60.161148,45.864171 -60.161148,45.864171 -60.161142,45.864542 -60.161142,45.864542 -60.160991,45.865817 -60.160991,45.865817 -60.160246,45.867722 -60.160246,45.867722 -60.160104,45.867973 -60.160104,45.867973 -60.159141,45.869320 -60.159141,45.869320 -60.158717,45.869642 -60.158717,45.869642 -60.158689,45.869678 -60.158689,45.869678 -60.155329,45.872227 -60.155329,45.872227 -60.150829,45.873683 -60.150829,45.873683 -60.145874,45.873826 -60.145874,45.873826 -60.145740,45.873792 -60.145634,45.873795 -60.145634,45.873795 -60.145583,45.873781 -60.145514,45.873783 -60.145514,45.873783 -60.145274,45.873752 -60.145274,45.873752 -60.140978,45.872601 -60.140978,45.872601 -60.137330,45.870254 -60.137330,45.870254 -60.135287,45.867222 -60.135287,45.867222 -60.135140,45.866822 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-59.817917,45.977531 -59.654539,46.050868</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-59.778445,45.984759 -59.779353,45.985025 -59.779936,45.985243 -59.780602,45.985417 -59.781007,45.985555 -59.781507,45.985830 -59.781749,45.985956 -59.781944,45.986014 -59.782773,45.986109 -59.783293,45.986237 -59.784202,45.986411 -59.784688,45.986596 -59.785157,45.986802 -59.785465,45.986940 -59.785722,45.987111 -59.785964,45.987260 -59.786648,45.987309 -59.787301,45.987267 -59.787838,45.987259 -59.788702,45.987241 -59.789402,45.987312 -59.790182,45.987464 -59.790669,45.987535 -59.791334,45.987720 -59.792033,45.987848 -59.792373,45.987975 -59.792729,45.988113 -59.792875,45.988170 -59.793246,45.988376 -59.793781,45.988583 -59.794645,45.988565 -59.795296,45.988625 -59.795948,45.988594 -59.796828,45.988576 -59.797790,45.988536 -59.798572,45.988574 -59.799386,45.988635 -59.800199,45.988696 -59.801159,45.988826 -59.802166,45.989046 -59.803093,45.989142 -59.803694,45.989281 -59.804763,45.989650 -59.805428,45.989823 -59.806691,45.990351 -59.807903,45.990947 -59.808889,45.991474 -59.809567,45.991886 -59.810629,45.992674 -59.811576,45.993597 -59.812506,45.994532 -59.813610,45.995808 -59.814406,45.996969 -59.815251,45.998153 -59.815978,45.999540 -59.816765,46.001290 -59.817489,46.002871 -59.817917,46.004665 -59.817782,46.005957 -59.817455,46.006999 -59.817563,46.008371 -59.817405,46.009119 -59.817014,46.010070 -59.816563,46.010759 -59.816044,46.011630 -59.815544,46.012285 -59.815011,46.013008 -59.814330,46.013765 -59.813714,46.014544 -59.813118,46.015074 -59.812360,46.015569 -59.811896,46.016077 -59.810742,46.016831 -59.809953,46.017258 -59.809246,46.017572 -59.808624,46.017762 -59.807947,46.018257 -59.807354,46.018663 -59.806713,46.018943 -59.805301,46.019525 -59.804661,46.019794 -59.803971,46.020108 -59.803397,46.020332 -59.802775,46.020431 -59.802114,46.020995 -59.801933,46.021118 -59.801568,46.021468 -59.800664,46.021928 -59.799711,46.022343 -59.798891,46.022668 -59.797675,46.023206 -59.797069,46.023395 -59.796068,46.023776 -59.795247,46.024100 -59.794542,46.024323 -59.793413,46.024556 -59.792529,46.024755 -59.791451,46.024897 -59.790536,46.024994 -59.789835,46.024968 -59.788975,46.024736 -59.788221,46.024937 -59.787369,46.025216 -59.786548,46.025529 -59.785827,46.025763 -59.784794,46.026086 -59.783549,46.026397 -59.782522,46.026426 -59.781804,46.026399 -59.780370,46.026369 -59.779957,46.026673 -59.779116,46.027235 -59.778130,46.027695 -59.777490,46.027953 -59.776750,46.028266 -59.774667,46.028969 -59.773701,46.029236 -59.773062,46.029369 -59.772293,46.029546 -59.771280,46.029654 -59.770595,46.029673 -59.769810,46.029805 -59.769105,46.029994 -59.768485,46.030002 -59.767801,46.029964 -59.767100,46.029949 -59.766122,46.029943 -59.765453,46.029974 -59.764589,46.029958 -59.764018,46.029932 -59.763433,46.029826 -59.762811,46.029959 -59.762106,46.030193 -59.761501,46.030292 -59.760502,46.030491 -59.759767,46.030566 -59.758902,46.030618 -59.758085,46.030715 -59.757104,46.030835 -59.756418,46.030933 -59.755634,46.030963 -59.754950,46.030925 -59.754348,46.030865 -59.753762,46.030793 -59.753610,46.031087 -59.752817,46.031673 -59.752350,46.032248 -59.751868,46.032790 -59.751466,46.033389 -59.750949,46.034044 -59.750635,46.034291 -59.750335,46.034687 -59.749773,46.035103 -59.749229,46.035429 -59.748799,46.035789 -59.748253,46.036251 -59.747542,46.036758 -59.747112,46.037107 -59.746502,46.037500 -59.746040,46.037804 -59.745431,46.038141 -59.744789,46.038443 -59.743985,46.038711 -59.743064,46.039148 -59.742194,46.039449 -59.741457,46.039626 -59.740720,46.039792 -59.740081,46.039959 -59.739518,46.040477 -59.738772,46.041131 -59.738244,46.041468 -59.737568,46.041918 -59.736908,46.042311 -59.736231,46.042772 -59.735573,46.043108 -59.734751,46.043455 -59.734255,46.043861 -59.733287,46.044161 -59.732464,46.044576 -59.731645,46.044753 -59.730728,46.044952 -59.729745,46.045229 -59.728828,46.045394 -59.727943,46.045616 -59.727159,46.045702 -59.726584,46.045903 -59.725636,46.045999 -59.725017,46.045996 -59.724004,46.046069 -59.723661,46.046112 -59.722774,46.046459 -59.721300,46.046745 -59.720431,46.047001 -59.719414,46.047323 -59.718445,46.047658 -59.717692,46.047835 -59.716546,46.048055 -59.715580,46.048265 -59.714418,46.048428 -59.713441,46.048377 -59.712626,46.048304 -59.711973,46.048334 -59.710996,46.048215 -59.710356,46.048460 -59.709292,46.048635 -59.708326,46.048856 -59.707378,46.048941 -59.706153,46.049025 -59.705060,46.049041 -59.703804,46.049033 -59.702761,46.048948 -59.701928,46.048999 -59.701276,46.048973 -59.700773,46.048845 -59.700172,46.048682 -59.699229,46.048541 -59.698770,46.048617 -59.697903,46.048759 -59.697150,46.048891 -59.696284,46.048965 -59.695434,46.049084 -59.694715,46.049171 -59.693639,46.049096 -59.692494,46.049271 -59.692001,46.049472 -59.691411,46.049638 -59.690673,46.049838 -59.690031,46.050140 -59.689341,46.050374 -59.688587,46.050596 -59.687706,46.050613 -59.686903,46.050778 -59.685760,46.050828 -59.684879,46.050868 -59.683787,46.050793 -59.682875,46.050719 -59.682613,46.050752 -59.681505,46.050677 -59.680526,46.050671 -59.679533,46.050596 -59.678037,46.050326 -59.677240,46.050185 -59.676574,46.050045 -59.675824,46.050006 -59.674734,46.049829 -59.674460,46.049691 -59.673878,46.049393 -59.673261,46.049219 -59.672937,46.049092 -59.672436,46.048862 -59.671967,46.048655 -59.670535,46.048430 -59.669983,46.048325 -59.669350,46.048128 -59.668702,46.047886 -59.668021,46.047654 -59.667567,46.047527 -59.666675,46.047249 -59.665928,46.047074 -59.665019,46.046819 -59.664259,46.046508 -59.663467,46.046106 -59.662788,46.045750 -59.662110,46.045371 -59.661481,46.045004 -59.660724,46.044534 -59.660127,46.044145 -59.659532,46.043733 -59.659178,46.043458 -59.658648,46.043001 -59.658168,46.042556 -59.657927,46.042316 -59.657591,46.041996 -59.657176,46.041529 -59.656907,46.041085 -59.656701,46.040789 -59.656497,46.040368 -59.656308,46.040015 -59.656151,46.039685 -59.655737,46.039161 -59.655385,46.038784 -59.654991,46.038067 -59.654930,46.037840 -59.654917,46.037670 -59.654944,46.037091 -59.654757,46.036636 -59.654733,46.036183 -59.654709,46.035729 -59.654699,46.035400 -59.654675,46.034991 -59.654651,46.034538 -59.654623,46.034277 -59.654564,46.033925 -59.654539,46.033528 -59.654564,46.033108 -59.654618,46.032814 -59.654724,46.032417 -59.654794,46.032134 -59.654848,46.031908 -59.654834,46.031760 -59.654901,46.031647 -59.655158,46.031014 -59.655261,46.030765 -59.655401,46.030278 -59.655504,46.029973 -59.655674,46.029611 -59.655875,46.029351 -59.656009,46.029171 -59.656306,46.028991 -59.656558,46.028585 -59.657027,46.027953 -59.657458,46.027558 -59.657642,46.027310 -59.657876,46.027017 -59.658243,46.026577 -59.658577,46.026205 -59.658958,46.025856 -59.659457,46.025360 -59.659970,46.024944 -59.660368,46.024617 -59.660949,46.024088 -59.661494,46.023728 -59.661972,46.023414 -59.662584,46.022987 -59.663061,46.022775 -59.663637,46.022461 -59.664115,46.022180 -59.664674,46.021934 -59.665413,46.021701 -59.666233,46.021411 -59.667070,46.021144 -59.667760,46.020877 -59.668414,46.020756 -59.668841,46.020589 -59.669187,46.020409 -59.669745,46.020231 -59.670435,46.019952 -59.671156,46.019764 -59.672040,46.019554 -59.672922,46.019492 -59.673362,46.019506 -59.673739,46.019406 -59.674098,46.019374 -59.674555,46.019355 -59.675020,46.018915 -59.675746,46.018443 -59.676536,46.018074 -59.677160,46.017829 -59.677685,46.017616 -59.678194,46.017427 -59.678428,46.017145 -59.678958,46.016672 -59.679207,46.016446 -59.679439,46.016255 -59.679771,46.015951 -59.680035,46.015782 -59.680432,46.015445 -59.680829,46.015175 -59.681225,46.014883 -59.681884,46.014524 -59.682250,46.014118 -59.682778,46.013804 -59.682942,46.013725 -59.683387,46.013501 -59.683651,46.013310 -59.683493,46.013048 -59.683401,46.012707 -59.683279,46.012276 -59.683173,46.011844 -59.683117,46.011356 -59.683008,46.011072 -59.682934,46.010663 -59.682862,46.010152 -59.682905,46.009619 -59.683030,46.009031 -59.683154,46.008464 -59.683195,46.008022 -59.683234,46.007671 -59.683237,46.007523 -59.683242,46.007263 -59.683112,46.007216 -59.682612,46.006918 -59.682211,46.006576 -59.681794,46.006222 -59.681296,46.005799 -59.680800,46.005342 -59.680367,46.004931 -59.680049,46.004532 -59.679732,46.004031 -59.679448,46.003519 -59.679225,46.003245 -59.679019,46.002938 -59.678717,46.002516 -59.678545,46.002130 -59.678390,46.001698 -59.678249,46.001391 -59.677982,46.000833 -59.677846,46.000277 -59.677737,45.999970 -59.677648,45.999504 -59.677541,45.999129 -59.677450,45.998755 -59.677390,45.998516 -59.677267,45.998107 -59.677210,45.997642 -59.677170,45.997188 -59.677180,45.996678 -59.677209,45.995997 -59.677204,45.995362 -59.677313,45.994750 -59.677454,45.994184 -59.677659,45.993698 -59.677927,45.993314 -59.678245,45.992874 -59.678577,45.992513 -59.678663,45.992286 -59.678914,45.991959 -59.678743,45.991482 -59.678774,45.990711 -59.678780,45.990382 -59.678920,45.989884 -59.679092,45.989363 -59.679216,45.988854 -59.679455,45.988243 -59.679797,45.987372 -59.680118,45.986772 -59.680741,45.985710 -59.681025,45.985304 -59.681593,45.984593 -59.681942,45.984198 -59.682872,45.983263 -59.683632,45.982712 -59.684128,45.982329 -59.684853,45.981869 -59.685596,45.981329 -59.686074,45.981060 -59.687061,45.980555 -59.687799,45.980265 -59.688767,45.979897 -59.689522,45.979595 -59.690278,45.979237 -59.691212,45.978959 -59.691917,45.978725 -59.692556,45.978548 -59.693210,45.978393 -59.693750,45.978283 -59.694273,45.978207 -59.694698,45.978141 -59.695761,45.977932 -59.696103,45.977900 -59.696432,45.977755 -59.697232,45.977669 -59.698454,45.977620 -59.699221,45.977602 -59.699938,45.977549 -59.700672,45.977531 -59.701485,45.977593 -59.701974,45.977584 -59.702626,45.977566 -59.702985,45.977568 -59.703604,45.977583 -59.704011,45.977597 -59.704580,45.977646 -59.705311,45.977786 -59.705798,45.977868 -59.706384,45.977906 -59.707229,45.978013 -59.707944,45.978120 -59.708464,45.978202 -59.709064,45.978330 -59.709827,45.978494 -59.710313,45.978678 -59.710961,45.978886 -59.711302,45.978956 -59.711869,45.979096 -59.712274,45.979246 -59.712468,45.979303 -59.712808,45.979442 -59.713574,45.979457 -59.714305,45.979530 -59.715200,45.979626 -59.715833,45.979766 -59.716741,45.980021 -59.717244,45.980126 -59.718038,45.980334 -59.718493,45.980451 -59.719205,45.980682 -59.719708,45.980843 -59.720257,45.981085 -59.720838,45.981428 -59.721338,45.981681 -59.721565,45.981750 -59.722035,45.981912 -59.722504,45.982096 -59.722923,45.982348 -59.723294,45.982588 -59.723718,45.982534 -59.724144,45.982446 -59.724848,45.982235 -59.725487,45.982057 -59.726468,45.981847 -59.726861,45.981759 -59.727253,45.981659 -59.728006,45.981459 -59.728496,45.981417 -59.729150,45.981296 -59.729804,45.981175 -59.730229,45.981098 -59.730735,45.981044 -59.731274,45.980945 -59.731976,45.980858 -59.732580,45.980805 -59.733069,45.980819 -59.733607,45.980766 -59.733982,45.980768 -59.734292,45.980770 -59.734715,45.980772 -59.735008,45.980785 -59.735252,45.980798 -59.735757,45.980846 -59.736184,45.980645 -59.736593,45.980568 -59.737229,45.980492 -59.737768,45.980461 -59.738566,45.980431 -59.739251,45.980413 -59.739837,45.980439 -59.740962,45.980422 -59.741777,45.980416 -59.742557,45.980522 -59.743599,45.980562 -59.744151,45.980690 -59.744914,45.980819 -59.745872,45.981006 -59.746504,45.981191 -59.747119,45.981467 -59.747637,45.981674 -59.748171,45.981881 -59.748672,45.982077 -59.749044,45.982283 -59.749237,45.982397 -59.749447,45.982512 -59.750017,45.982504 -59.750491,45.982427 -59.751144,45.982363 -59.751715,45.982332 -59.752237,45.982278 -59.752792,45.982225 -59.753234,45.982148 -59.753610,45.982059 -59.754199,45.981926 -59.755000,45.981761 -59.755833,45.981629 -59.756634,45.981520 -59.757368,45.981456 -59.758347,45.981348 -59.759229,45.981229 -59.759865,45.981187 -59.760778,45.981180 -59.761643,45.981083 -59.762620,45.981157 -59.763563,45.981253 -59.764473,45.981416 -59.765088,45.981613 -59.766062,45.981845 -59.766923,45.982020 -59.767733,45.982274 -59.768268,45.982458 -59.768786,45.982654 -59.769158,45.982814 -59.769803,45.983215 -59.770177,45.983228 -59.770633,45.983276 -59.771591,45.983463 -59.772616,45.983559 -59.773590,45.983746 -59.774387,45.983830 -59.775166,45.984027 -59.776093,45.984156 -59.776889,45.984297 -59.777668,45.984471 -59.778445,45.984759 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-59.900580,46.061486 -59.785000,46.192261</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-59.838670,46.081805 -59.838670,46.081805 -59.838670,46.081805 -59.838670,46.081805 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-59.855977,46.119507 -59.853342,46.118825 -59.850746,46.119943 -59.850746,46.119943 -59.846964,46.121035 -59.846964,46.121035 -59.842229,46.121188 -59.839787,46.120948 -59.839787,46.120948 -59.839787,46.120948 -59.838072,46.122230 -59.838072,46.122230 -59.834262,46.123537 -59.834262,46.123537 -59.831459,46.124121 -59.831459,46.124121 -59.831305,46.124277 -59.831305,46.124277 -59.830701,46.124708 -59.830701,46.124708 -59.829374,46.125821 -59.829374,46.125821 -59.826766,46.127475 -59.826766,46.127475 -59.825290,46.129340 -59.825290,46.129340 -59.825089,46.129497 -59.825089,46.129497 -59.824968,46.129723 -59.824968,46.129723 -59.822287,46.131876 -59.822287,46.131876 -59.820404,46.132969 -59.820404,46.132969 -59.820032,46.133098 -59.820032,46.133098 -59.819687,46.133356 -59.819687,46.133356 -59.818178,46.134007 -59.818178,46.134007 -59.813668,46.135663 -59.813668,46.135663 -59.813630,46.135673 -59.813630,46.135673 -59.813569,46.135699 -59.813569,46.135699 -59.808211,46.137625 -59.808211,46.137625 -59.805280,46.138379 -59.805280,46.138379 -59.800294,46.138503 -59.800294,46.138503 -59.799945,46.138413 -59.799623,46.138415 -59.795067,46.137726 -59.795067,46.137726 -59.791063,46.136602 -59.791063,46.136602 -59.791063,46.136602 -59.791063,46.136602 -59.791063,46.136602 -59.791063,46.136602 -59.791063,46.136602 -59.787413,46.134238 -59.787413,46.134238 -59.787413,46.134238 -59.787413,46.134238 -59.785342,46.131082 -59.785342,46.131082 -59.785342,46.131082 -59.785342,46.131082 -59.785000,46.129040 -59.785000,46.129040 -59.785000,46.129040 -59.785000,46.129040 -59.785043,46.128672 -59.785043,46.128672 -59.785023,46.128510 -59.785023,46.128510 -59.785250,46.125860 -59.785250,46.125860 -59.785393,46.124966 -59.785393,46.124966 -59.785393,46.124966 -59.785393,46.124966 -59.785393,46.124966 -59.785393,46.124966 -59.787137,46.121717 -59.787137,46.121717 -59.787137,46.121717 -59.787137,46.121717 -59.790536,46.119179 -59.790536,46.119179 -59.790656,46.119141 -59.790656,46.119141 -59.790742,46.119078 -59.790742,46.119078 -59.798170,46.115507 -59.798170,46.115507 -59.798214,46.115494 -59.798214,46.115494 -59.798842,46.115205 -59.798842,46.115205 -59.805459,46.112432 -59.805459,46.112432 -59.806869,46.111141 -59.806869,46.111141 -59.807258,46.109330 -59.807258,46.109330 -59.807273,46.109302 -59.807273,46.109302 -59.807282,46.109223 -59.807282,46.109223 -59.809024,46.105973 -59.809024,46.105973 -59.809024,46.105973 -59.809024,46.105973 -59.812421,46.103435 -59.812421,46.103435 -59.812759,46.103328 -59.812759,46.103328 -59.812985,46.103168 -59.812985,46.103168 -59.816934,46.101401 -59.816934,46.101401 -59.820753,46.095699 -59.820753,46.095699 -59.821462,46.094783 -59.821462,46.094783 -59.821462,46.094783 -59.823312,46.093159 -59.823312,46.093159 -59.827187,46.090470 -59.827187,46.090470 -59.829453,46.087916 -59.829453,46.087916 -59.829453,46.087916 -59.829453,46.087916 -59.829453,46.087916 -59.829453,46.087916 -59.831877,46.085916 -59.831877,46.085916 -59.837700,46.082344 -59.837700,46.082344 -59.838670,46.081805 -59.838670,46.081805 -59.838670,46.081805 -59.838670,46.081805 -59.838670,46.081805 -59.842382,46.080518 -59.842382,46.080518 -59.843667,46.080242 -59.843667,46.080242 -59.847416,46.078366 -59.847416,46.078366 -59.860343,46.067334 -59.860343,46.067334 -59.862761,46.065746 -59.862761,46.065746 -59.862761,46.065746 -59.862761,46.065746 -59.865772,46.064624 -59.865772,46.064624 -59.876115,46.061935 -59.876115,46.061935 -59.877632,46.061614 -59.877632,46.061614 -59.882610,46.061486 -59.887279,46.062693 -59.887279,46.062693 -59.888575,46.063330 -59.888575,46.063330 -59.892634,46.065597 -59.892634,46.065597 -59.894988,46.067320 -59.894988,46.067320 -59.894988,46.067320 -59.894988,46.067320 -59.897064,46.070472 -59.897064,46.070472 -59.897064,46.070472 -59.897064,46.070472 -59.897410,46.072529 -59.897410,46.072529 -59.897410,46.072529 -59.897249,46.073937 -59.897249,46.073937 -59.897249,46.073937 -59.897249,46.073937 -59.897151,46.074121 -59.897151,46.074121 -59.897155,46.074298 -59.897155,46.074298 -59.896750,46.075685 -59.896750,46.075685 -59.898157,46.076594 -59.898157,46.076594 -59.900234,46.079746 -59.900234,46.079746 -59.900580,46.081802 -59.900580,46.081802 -59.900580,46.081802 -59.900419,46.083211 -59.900419,46.083211 -59.900419,46.083211 -59.900419,46.083211 -59.899898,46.084669 -59.899898,46.084669 -59.897548,46.089468 -59.897548,46.089468 -59.896335,46.091261 -59.896335,46.091261 -59.895152,46.092379 -59.895152,46.092379 -59.895245,46.092915 -59.895245,46.092915 -59.895286,46.097155 -59.895286,46.097155 -59.895282,46.097190 -59.895282,46.097190 -59.895286,46.097214 -59.895286,46.097214 -59.895286,46.097214 -59.895286,46.097214 -59.895125,46.098624 -59.895125,46.098624 -59.895125,46.098624 -59.895125,46.098624 -59.895125,46.098624 -59.895125,46.098624 -59.893389,46.101874 -59.893389,46.101874 -59.893262,46.101970 -59.893262,46.101970 -59.893199,46.102083 -59.893199,46.102083 -59.886825,46.108853 -59.886825,46.108853 -59.883623,46.111186 -59.883623,46.111186 -59.883623,46.111186 -59.883623,46.111186 -59.882720,46.111601 -59.882720,46.111601 -59.873678,46.115381 -59.873678,46.115381 -59.873327,46.115481 -59.873327,46.115481 -59.872532,46.115807 -59.872532,46.115807 -59.863446,46.118777 -59.863446,46.118777 -59.860961,46.119380 -59.860961,46.119380 -59.855977,46.119507 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-59.839722,46.157823 -59.839722,46.157823 -59.844710,46.157697 -59.849388,46.158907 -59.849388,46.158907 -59.853044,46.161269 -59.853044,46.161269 -59.855121,46.164423 -59.855121,46.164423 -59.855424,46.165754 -59.855424,46.165754 -59.856700,46.176653 -59.856700,46.176653 -59.856579,46.178788 -59.856579,46.178788 -59.854837,46.182039 -59.854837,46.182039 -59.851437,46.184580 -59.851437,46.184580 -59.848755,46.185611 -59.848755,46.185611 -59.848175,46.185774 -59.848175,46.185774 -59.847928,46.186052 -59.847928,46.186052 -59.844527,46.188593 -59.844527,46.188593 -59.840865,46.189868 -59.840865,46.189868 -59.835960,46.190936 -59.835960,46.190936 -59.835741,46.190947 -59.835741,46.190947 -59.835480,46.191033 -59.835480,46.191033 -59.829998,46.192066 -59.829998,46.192066 -59.829798,46.192073 -59.829798,46.192073 -59.829598,46.192136 -59.829598,46.192136 -59.824606,46.192261 -59.819925,46.191050 -59.819925,46.191050 -59.818472,46.190156 -59.818472,46.190156 -59.818103,46.190098 -59.818103,46.190098 -59.813456,46.189163 -59.813456,46.189163 -59.810296,46.188188 -59.810296,46.188188 -59.806640,46.185825 -59.806640,46.185825 -59.806585,46.185741 -59.806585,46.185741 -59.806494,46.185682 -59.806494,46.185682 -59.803922,46.183098 -59.803922,46.183098 -59.801993,46.180086 -59.801993,46.180086 -59.801960,46.179445 -59.801960,46.179445 -59.800018,46.176490 -59.800018,46.176490 -59.799711,46.175116 -59.799711,46.175116 -59.799446,46.172677 -59.799446,46.172677 -59.799575,46.170585 -59.799575,46.170585 -59.801320,46.167334 -59.801320,46.167334 -59.803517,46.165481 -59.803517,46.165481 -59.807066,46.163199 -59.807066,46.163199 -59.808271,46.162514 -59.808271,46.162514 -59.812811,46.161073 -59.812811,46.161073 -59.813207,46.161063 -59.813207,46.161063 -59.813519,46.160971 -59.813519,46.160971 -59.823084,46.159791 -59.823084,46.159791 -59.823656,46.159788 -59.823656,46.159788 -59.825290,46.159654 -59.825290,46.159654 -59.831328,46.159643 -59.831328,46.159643 -59.833396,46.159126 -59.833396,46.159126 -59.835587,46.159070 -59.835587,46.159070 -59.835679,46.159028 -59.835679,46.159028 -59.839722,46.157823 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-60.963736,46.594183 -60.316002,46.863423</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-60.382096,46.836778 -60.380291,46.836737 -60.380315,46.836242 -60.378161,46.835944 -60.378197,46.835201 -60.377126,46.834929 -60.377174,46.833938 -60.375743,46.833657 -60.375779,46.832914 -60.373986,46.832624 -60.374010,46.832129 -60.373288,46.832112 -60.373312,46.831617 -60.370798,46.831311 -60.370834,46.830568 -60.367959,46.830254 -60.367646,46.829255 -60.366214,46.828974 -60.366251,46.828231 -60.364807,46.828197 -60.364482,46.827446 -60.363760,46.827429 -60.363785,46.826934 -60.362353,46.826653 -60.362390,46.825909 -60.361668,46.825893 -60.361343,46.825141 -60.360621,46.825125 -60.360646,46.824629 -60.359214,46.824348 -60.359251,46.823605 -60.358529,46.823588 -60.358204,46.822837 -60.357483,46.822820 -60.357507,46.822325 -60.356424,46.822300 -60.356448,46.821804 -60.355366,46.821779 -60.355053,46.820780 -60.352900,46.820482 -60.352925,46.819987 -60.351481,46.819953 -60.351506,46.819458 -60.350062,46.819424 -60.350086,46.818929 -60.349004,46.818904 -60.349028,46.818409 -60.346514,46.818102 -60.346539,46.817607 -60.345095,46.817573 -60.345132,46.816830 -60.343701,46.816549 -60.343725,46.816053 -60.341211,46.815747 -60.341236,46.815252 -60.340514,46.815235 -60.340551,46.814492 -60.337316,46.814168 -60.337340,46.813673 -60.336258,46.813648 -60.336282,46.813152 -60.334129,46.812854 -60.334166,46.812111 -60.332374,46.811821 -60.332399,46.811326 -60.331677,46.811309 -60.331702,46.810814 -60.329910,46.810524 -60.329959,46.809533 -60.331041,46.809558 -60.331029,46.809806 -60.333916,46.809873 -60.333903,46.810121 -60.334973,46.810394 -60.335720,46.809915 -60.336441,46.809932 -60.336466,46.809436 -60.334674,46.809147 -60.334686,46.808899 -60.333604,46.808874 -60.332210,46.807849 -60.331127,46.807824 -60.329996,46.808790 -60.328553,46.808756 -60.328204,46.808500 -60.328229,46.808004 -60.328975,46.807526 -60.329696,46.807543 -60.329733,46.806799 -60.328675,46.806279 -60.328351,46.805527 -60.327630,46.805510 -60.326584,46.804742 -60.325863,46.804725 -60.325888,46.804230 -60.325527,46.804221 -60.325564,46.803478 -60.326297,46.803247 -60.326322,46.802752 -60.325613,46.802487 -60.325662,46.801496 -60.324940,46.801479 -60.324977,46.800736 -60.324629,46.800480 -60.325723,46.800258 -60.325760,46.799514 -60.325039,46.799498 -60.324342,46.798985 -60.324366,46.798490 -60.321927,46.796697 -60.321628,46.795450 -60.320931,46.794937 -60.320210,46.794920 -60.320222,46.794673 -60.319501,46.794656 -60.318804,46.794143 -60.318829,46.793648 -60.318120,46.793383 -60.318653,46.789924 -60.317956,46.789411 -60.317235,46.789394 -60.317682,46.787669 -60.316624,46.787148 -60.316362,46.785158 -60.316002,46.785149 -60.316014,46.784902 -60.317096,46.784927 -60.317469,46.784688 -60.317506,46.783945 -60.317879,46.783705 -60.318960,46.783731 -60.319719,46.783005 -60.320800,46.783030 -60.321620,46.781065 -60.323448,46.780612 -60.323497,46.779621 -60.323870,46.779382 -60.324591,46.779398 -60.324976,46.778911 -60.326406,46.779193 -60.326816,46.778210 -60.328270,46.777996 -60.328282,46.777749 -60.331540,46.777577 -60.331577,46.776834 -60.332322,46.776355 -60.332359,46.775612 -60.333105,46.775133 -60.333129,46.774638 -60.330257,46.774323 -60.329945,46.773323 -60.329249,46.772811 -60.327807,46.772777 -60.326762,46.772009 -60.325680,46.771984 -60.324984,46.771471 -60.325008,46.770976 -60.320469,46.767894 -60.321587,46.767176 -60.322767,46.765219 -60.323127,46.765228 -60.323176,46.764237 -60.322468,46.763972 -60.322505,46.763229 -60.322877,46.762990 -60.324319,46.763024 -60.325438,46.762306 -60.325560,46.759829 -60.324479,46.759803 -60.323446,46.758787 -60.322365,46.758762 -60.321681,46.758002 -60.320612,46.757729 -60.320288,46.756977 -60.320661,46.756738 -60.321743,46.756763 -60.321804,46.755524 -60.321108,46.755012 -60.321144,46.754269 -60.320784,46.754261 -60.320461,46.753509 -60.321206,46.753030 -60.323020,46.752825 -60.322734,46.751330 -60.323839,46.750860 -60.323864,46.750364 -60.324982,46.749647 -60.325006,46.749151 -60.324646,46.749143 -60.324322,46.748391 -60.325440,46.747673 -60.325215,46.744940 -60.325575,46.744948 -60.325600,46.744453 -60.325960,46.744461 -60.326357,46.743727 -60.327078,46.743743 -60.327200,46.741266 -60.327921,46.741283 -60.327945,46.740788 -60.328306,46.740796 -60.328355,46.739805 -60.329448,46.739583 -60.329857,46.738600 -60.330218,46.738609 -60.330364,46.735636 -60.330725,46.735644 -60.331122,46.734909 -60.332575,46.734695 -60.332599,46.734200 -60.333332,46.733969 -60.333357,46.733474 -60.334089,46.733243 -60.334138,46.732252 -60.334883,46.731773 -60.334908,46.731278 -60.335640,46.731047 -60.335665,46.730551 -60.336410,46.730073 -60.337130,46.730089 -60.337875,46.729611 -60.338669,46.728141 -60.339414,46.727662 -60.340134,46.727679 -60.340146,46.727431 -60.340867,46.727448 -60.345708,46.724337 -60.347149,46.724370 -60.347906,46.723643 -60.348627,46.723660 -60.349371,46.723181 -60.349804,46.721703 -60.349444,46.721695 -60.349157,46.720200 -60.349517,46.720209 -60.349962,46.718483 -60.350322,46.718491 -60.350383,46.717253 -60.350743,46.717261 -60.350804,46.716022 -60.351164,46.716031 -60.351225,46.714792 -60.351585,46.714800 -60.351682,46.712819 -60.352042,46.712827 -60.352066,46.712331 -60.353495,46.712613 -60.354539,46.713381 -60.355619,46.713406 -60.355607,46.713653 -60.358488,46.713720 -60.358501,46.713472 -60.360674,46.713274 -60.360686,46.713027 -60.361766,46.713052 -60.361778,46.712804 -60.362859,46.712829 -60.362871,46.712581 -60.363591,46.712598 -60.364708,46.711879 -60.364732,46.711384 -60.363652,46.711359 -60.362535,46.712077 -60.358909,46.712490 -60.358165,46.712969 -60.355643,46.712910 -60.354960,46.712150 -60.354239,46.712134 -60.353555,46.711374 -60.352835,46.711357 -60.351443,46.710333 -60.351479,46.709590 -60.351119,46.709581 -60.350820,46.708334 -60.350124,46.707822 -60.349403,46.707806 -60.348011,46.706781 -60.348036,46.706286 -60.358491,46.706280 -60.358515,46.705784 -60.370759,46.706066 -60.370783,46.705571 -60.395644,46.705892 -60.395667,46.705396 -60.410793,46.705740 -60.410828,46.704996 -60.412629,46.705037 -60.412641,46.704789 -60.413361,46.704806 -60.413385,46.704310 -60.414825,46.704343 -60.414849,46.703847 -60.417381,46.703657 -60.417417,46.702913 -60.419589,46.702714 -60.419613,46.702219 -60.420693,46.702243 -60.420717,46.701748 -60.423249,46.701557 -60.423285,46.700814 -60.425457,46.700615 -60.425481,46.700119 -60.426201,46.700135 -60.426224,46.699640 -60.427305,46.699664 -60.427688,46.699177 -60.429873,46.698730 -60.429884,46.698482 -60.431325,46.698514 -60.431348,46.698019 -60.432068,46.698035 -60.432092,46.697540 -60.434984,46.697356 -60.435019,46.696613 -60.436100,46.696637 -60.436495,46.695902 -60.438295,46.695943 -60.438319,46.695447 -60.440131,46.695240 -60.440166,46.694496 -60.441606,46.694529 -60.441629,46.694033 -60.442710,46.694057 -60.442721,46.693810 -60.444162,46.693842 -60.444185,46.693346 -60.445997,46.693139 -60.446032,46.692395 -60.447472,46.692428 -60.447496,46.691932 -60.448216,46.691948 -60.448227,46.691700 -60.447507,46.691684 -60.447531,46.691189 -60.446811,46.691173 -60.446857,46.690182 -60.446137,46.690166 -60.446161,46.689670 -60.445440,46.689654 -60.445476,46.688911 -60.444407,46.688639 -60.444466,46.687400 -60.443746,46.687384 -60.443781,46.686641 -60.443061,46.686625 -60.443084,46.686129 -60.442364,46.686113 -60.442411,46.685122 -60.441342,46.684850 -60.441389,46.683859 -60.440669,46.683843 -60.440693,46.683348 -60.439973,46.683332 -60.440008,46.682588 -60.439288,46.682572 -60.439022,46.680582 -60.437233,46.680294 -60.437292,46.679055 -60.436224,46.678783 -60.435923,46.677537 -60.434843,46.677512 -60.434890,46.676521 -60.434170,46.676505 -60.434217,46.675514 -60.433869,46.675258 -60.432429,46.675226 -60.432476,46.674235 -60.431756,46.674219 -60.431779,46.673724 -60.430700,46.673699 -60.430805,46.671470 -60.430445,46.671461 -60.430469,46.670966 -60.429076,46.669943 -60.429100,46.669447 -60.428044,46.668927 -60.428067,46.668432 -60.427359,46.668168 -60.427383,46.667672 -60.426675,46.667408 -60.426698,46.666913 -60.425990,46.666649 -60.425677,46.665650 -60.424969,46.665386 -60.424657,46.664387 -60.423949,46.664123 -60.423972,46.663627 -60.423612,46.663619 -60.423636,46.663124 -60.423276,46.663116 -60.422952,46.662364 -60.411496,46.660866 -60.410369,46.661832 -60.409289,46.661808 -60.408546,46.662287 -60.407107,46.662254 -60.407095,46.662502 -60.406015,46.662478 -60.405679,46.661974 -60.406794,46.661255 -60.406818,46.660760 -60.406470,46.660504 -60.404311,46.660455 -60.403639,46.659447 -60.402907,46.659679 -60.402883,46.660174 -60.397114,46.660291 -60.395987,46.661258 -60.394548,46.661225 -60.393852,46.660713 -60.393133,46.660697 -60.392797,46.660193 -60.392077,46.660176 -60.391741,46.659673 -60.391021,46.659656 -60.390685,46.659153 -60.389258,46.658872 -60.389270,46.658624 -60.386056,46.658055 -60.386067,46.657807 -60.384988,46.657782 -60.385000,46.657535 -60.379963,46.657419 -60.379975,46.657172 -60.375285,46.657312 -60.374170,46.658031 -60.373450,46.658014 -60.372695,46.658741 -60.371975,46.658724 -60.371591,46.659211 -60.369061,46.659401 -60.367933,46.660367 -60.363975,46.660276 -60.363640,46.659773 -60.362212,46.659492 -60.361517,46.658979 -60.361541,46.658484 -60.360845,46.657972 -60.359046,46.657930 -60.359059,46.657683 -60.357979,46.657658 -60.357991,46.657410 -60.356192,46.657368 -60.355077,46.658087 -60.354357,46.658070 -60.354021,46.657566 -60.354381,46.657575 -60.354442,46.656336 -60.352307,46.655790 -60.352319,46.655543 -60.350520,46.655501 -60.349764,46.656228 -60.348685,46.656203 -60.348782,46.654221 -60.348422,46.654212 -60.348446,46.653717 -60.349538,46.653494 -60.349550,46.653246 -60.350269,46.653263 -60.350653,46.652776 -60.352812,46.652826 -60.354179,46.654346 -60.357045,46.654660 -60.357728,46.655420 -60.358807,46.655445 -60.358795,46.655692 -60.360594,46.655734 -60.361278,46.656494 -60.362357,46.656519 -60.363472,46.655800 -60.367070,46.655883 -60.367082,46.655636 -60.368162,46.655660 -60.368545,46.655173 -60.376113,46.655099 -60.376101,46.655347 -60.377180,46.655372 -60.377528,46.655628 -60.378643,46.654909 -60.379363,46.654926 -60.379375,46.654678 -60.381534,46.654727 -60.382229,46.655239 -60.382949,46.655256 -60.383321,46.655016 -60.383392,46.653530 -60.384472,46.653554 -60.385167,46.654066 -60.387338,46.653868 -60.388081,46.653389 -60.388105,46.652893 -60.388837,46.652662 -60.389280,46.650936 -60.389640,46.650944 -60.390142,46.647980 -60.390502,46.647988 -60.390586,46.646254 -60.390945,46.646262 -60.391017,46.644776 -60.390657,46.644767 -60.390812,46.641547 -60.390116,46.641035 -60.390140,46.640539 -60.389780,46.640531 -60.389816,46.639788 -60.389121,46.639276 -60.389145,46.638781 -60.388785,46.638772 -60.388173,46.636526 -60.387813,46.636518 -60.387849,46.635775 -60.387153,46.635263 -60.387225,46.633776 -60.388304,46.633801 -60.388999,46.634313 -60.389611,46.636559 -60.389971,46.636567 -60.389923,46.637558 -60.390283,46.637566 -60.390247,46.638310 -60.393473,46.638631 -60.393820,46.638887 -60.393796,46.639383 -60.392694,46.639853 -60.392634,46.641092 -60.394445,46.640885 -60.394468,46.640390 -60.395211,46.639911 -60.395931,46.639927 -60.396314,46.639440 -60.401002,46.639299 -60.400978,46.639794 -60.401698,46.639810 -60.401686,46.640058 -60.403484,46.640099 -60.403330,46.643320 -60.415213,46.643341 -60.415248,46.642598 -60.429289,46.642666 -60.429312,46.642171 -60.432190,46.642235 -60.432213,46.641740 -60.434012,46.641780 -60.434035,46.641285 -60.435834,46.641325 -60.435857,46.640830 -60.441984,46.640719 -60.441972,46.640966 -60.443411,46.640999 -60.443388,46.641494 -60.444107,46.641510 -60.444084,46.642006 -60.445882,46.642046 -60.445859,46.642541 -60.447298,46.642574 -60.447275,46.643069 -60.449062,46.643357 -60.449027,46.644100 -60.451533,46.644404 -60.451510,46.644900 -60.453668,46.644948 -60.453645,46.645443 -60.461908,46.645875 -60.461873,46.646618 -60.464391,46.646674 -60.464368,46.647170 -60.469405,46.647281 -60.469393,46.647529 -60.470832,46.647561 -60.470844,46.647313 -60.473002,46.647361 -60.473025,46.646865 -60.474824,46.646905 -60.474859,46.646162 -60.477737,46.646225 -60.477748,46.645977 -60.479187,46.646009 -60.479210,46.645514 -60.483539,46.645361 -60.483562,46.644866 -60.485720,46.644913 -60.485755,46.644170 -60.490083,46.644017 -60.490106,46.643521 -60.492984,46.643584 -60.493007,46.643089 -60.494805,46.643128 -60.494828,46.642633 -60.496627,46.642672 -60.496650,46.642177 -60.500618,46.642015 -60.500641,46.641520 -60.503159,46.641575 -60.503182,46.641079 -60.505340,46.641126 -60.505363,46.640631 -60.507162,46.640670 -60.507185,46.640175 -60.511872,46.640029 -60.511895,46.639533 -60.514773,46.639596 -60.514796,46.639100 -60.515155,46.639108 -60.515133,46.639604 -60.516571,46.639635 -60.516897,46.640386 -60.518696,46.640425 -60.518673,46.640921 -60.520112,46.640952 -60.520135,46.640456 -60.525182,46.640317 -60.525205,46.639822 -60.527723,46.639876 -60.527745,46.639381 -60.529544,46.639420 -60.529567,46.638924 -60.531725,46.638971 -60.531747,46.638475 -60.535356,46.638305 -60.535378,46.637810 -60.538256,46.637872 -60.538279,46.637376 -60.540797,46.637430 -60.540819,46.636935 -60.541898,46.636958 -60.541921,46.636462 -60.544798,46.636524 -60.544821,46.636029 -60.548789,46.635866 -60.548811,46.635370 -60.550610,46.635409 -60.550632,46.634913 -60.553510,46.634975 -60.553532,46.634479 -60.555330,46.634518 -60.555353,46.634022 -60.560040,46.633874 -60.560062,46.633379 -60.561861,46.633417 -60.561883,46.632921 -60.564041,46.632967 -60.564063,46.632472 -60.565862,46.632510 -60.565884,46.632015 -60.569852,46.631851 -60.569874,46.631355 -60.572391,46.631409 -60.572414,46.630913 -60.574212,46.630952 -60.574234,46.630456 -60.576392,46.630502 -60.576414,46.630006 -60.579651,46.630075 -60.579629,46.630570 -60.580349,46.630586 -60.580327,46.631081 -60.581406,46.631104 -60.581384,46.631599 -60.582822,46.631630 -60.582800,46.632125 -60.584239,46.632156 -60.584228,46.632404 -60.585667,46.632434 -60.585645,46.632930 -60.586724,46.632952 -60.586702,46.633448 -60.587781,46.633471 -60.587759,46.633966 -60.589557,46.634004 -60.589884,46.634755 -60.591323,46.634785 -60.591301,46.635281 -60.592740,46.635311 -60.592718,46.635807 -60.593797,46.635829 -60.593775,46.636325 -60.595214,46.636355 -60.595192,46.636851 -60.596271,46.636874 -60.596249,46.637369 -60.596969,46.637384 -60.596958,46.637632 -60.599116,46.637677 -60.599432,46.638676 -60.600871,46.638706 -60.600849,46.639202 -60.602288,46.639232 -60.602266,46.639728 -60.604054,46.640013 -60.604032,46.640509 -60.603312,46.640493 -60.603290,46.640989 -60.602571,46.640974 -60.602167,46.641958 -60.600717,46.642175 -60.600695,46.642671 -60.599976,46.642656 -60.599943,46.643399 -60.598853,46.643624 -60.598831,46.644120 -60.597381,46.644337 -60.597359,46.644833 -60.596639,46.644818 -60.596595,46.645809 -60.595516,46.645786 -60.595472,46.646777 -60.594753,46.646762 -60.594731,46.647257 -60.594011,46.647242 -60.593989,46.647738 -60.592539,46.647955 -60.592135,46.648939 -60.591415,46.648924 -60.591394,46.649419 -60.590674,46.649404 -60.590652,46.649900 -60.589202,46.650117 -60.588776,46.651596 -60.589136,46.651604 -60.589114,46.652099 -60.590542,46.652378 -60.590520,46.652873 -60.591240,46.652888 -60.591217,46.653384 -60.591937,46.653399 -60.591915,46.653894 -60.592995,46.653917 -60.592973,46.654413 -60.594401,46.654691 -60.594379,46.655186 -60.595437,46.655705 -60.595415,46.656200 -60.596134,46.656215 -60.596112,46.656711 -60.597541,46.656989 -60.597519,46.657484 -60.598239,46.657500 -60.598555,46.658498 -60.599274,46.658513 -60.599252,46.659009 -60.600681,46.659287 -60.600659,46.659782 -60.601379,46.659798 -60.601695,46.660796 -60.602415,46.660811 -60.602393,46.661307 -60.603832,46.661337 -60.603810,46.661833 -60.605239,46.662111 -60.605555,46.663109 -60.606635,46.663132 -60.606951,46.664130 -60.608380,46.664408 -60.608696,46.665407 -60.609776,46.665430 -60.610092,46.666428 -60.611521,46.666706 -60.611499,46.667202 -60.612938,46.667232 -60.613233,46.668726 -60.615022,46.669011 -60.615000,46.669507 -60.616080,46.669529 -60.616396,46.670528 -60.617116,46.670543 -60.617094,46.671038 -60.618163,46.671309 -60.618141,46.671804 -60.619221,46.671827 -60.619189,46.672570 -60.620258,46.672840 -60.620236,46.673336 -60.620956,46.673351 -60.621283,46.674102 -60.622363,46.674124 -60.622330,46.674868 -60.624120,46.675153 -60.624098,46.675648 -60.624818,46.675663 -60.624796,46.676159 -60.626225,46.676436 -60.626193,46.677180 -60.627262,46.677450 -60.627240,46.677946 -60.627960,46.677960 -60.627938,46.678456 -60.629368,46.678734 -60.629335,46.679477 -60.630404,46.679747 -60.630383,46.680243 -60.631103,46.680258 -60.631081,46.680753 -60.632510,46.681031 -60.632478,46.681774 -60.634267,46.682059 -60.634245,46.682555 -60.634966,46.682570 -60.634944,46.683065 -60.636013,46.683335 -60.635981,46.684079 -60.637410,46.684356 -60.637389,46.684852 -60.638109,46.684867 -60.638087,46.685362 -60.638807,46.685377 -60.638786,46.685873 -60.639506,46.685888 -60.639823,46.686886 -60.640543,46.686901 -60.640564,46.686405 -60.641284,46.686420 -60.641306,46.685925 -60.642026,46.685940 -60.642440,46.684708 -60.643160,46.684723 -60.643182,46.684227 -60.643902,46.684242 -60.643934,46.683499 -60.645385,46.683281 -60.645428,46.682289 -60.646519,46.682064 -60.646551,46.681321 -60.648002,46.681102 -60.648045,46.680111 -60.649496,46.679893 -60.649528,46.679150 -60.649899,46.678909 -60.650979,46.678932 -60.651022,46.677940 -60.652113,46.677715 -60.652145,46.676971 -60.652865,46.676986 -60.653279,46.675755 -60.654359,46.675777 -60.654729,46.675536 -60.654762,46.674793 -60.655482,46.674808 -60.655514,46.674064 -60.656234,46.674079 -60.656626,46.673343 -60.657706,46.673365 -60.658130,46.671886 -60.658850,46.671901 -60.658871,46.671405 -60.659591,46.671420 -60.659994,46.670436 -60.661074,46.670458 -60.661095,46.669963 -60.661815,46.669977 -60.662229,46.668746 -60.662949,46.668760 -60.662970,46.668265 -60.663330,46.668272 -60.663362,46.667529 -60.664442,46.667551 -60.664463,46.667055 -60.665183,46.667070 -60.665607,46.665591 -60.667057,46.665372 -60.667079,46.664877 -60.667798,46.664891 -60.667820,46.664396 -60.668540,46.664410 -60.668582,46.663419 -60.668942,46.663427 -60.669166,46.658223 -60.668806,46.658216 -60.669370,46.645083 -60.668651,46.645068 -60.669034,46.636148 -60.668315,46.636133 -60.668336,46.635637 -60.667616,46.635623 -60.667638,46.635127 -60.666918,46.635113 -60.666612,46.633866 -60.665892,46.633852 -60.665914,46.633356 -60.664834,46.633334 -60.664517,46.632335 -60.663798,46.632321 -60.663492,46.631074 -60.662772,46.631060 -60.662793,46.630564 -60.661714,46.630542 -60.661397,46.629544 -60.659969,46.629266 -60.659674,46.627772 -60.658595,46.627750 -60.658267,46.626999 -60.657548,46.626985 -60.657569,46.626489 -60.656850,46.626474 -60.656554,46.624980 -60.655475,46.624958 -60.655148,46.624207 -60.654428,46.624193 -60.654493,46.622706 -60.655212,46.622721 -60.655636,46.621241 -60.656715,46.621263 -60.657128,46.620032 -60.657847,46.620047 -60.657890,46.619055 -60.658609,46.619070 -60.659022,46.617839 -60.660101,46.617861 -60.660144,46.616869 -60.661233,46.616644 -60.661276,46.615653 -60.662365,46.615427 -60.662408,46.614436 -60.663487,46.614458 -60.663508,46.613962 -60.664227,46.613977 -60.664651,46.612497 -60.665370,46.612512 -60.665783,46.611281 -60.666861,46.611303 -60.666904,46.610311 -60.667623,46.610326 -60.668036,46.609094 -60.668755,46.609109 -60.668798,46.608118 -60.669517,46.608133 -60.669538,46.607637 -60.670257,46.607652 -60.670289,46.606908 -60.671008,46.606923 -60.671029,46.606427 -60.671389,46.606435 -60.671431,46.605443 -60.672880,46.605225 -60.672922,46.604234 -60.673642,46.604248 -60.673663,46.603753 -60.674382,46.603767 -60.674794,46.602536 -60.675513,46.602550 -60.675556,46.601559 -60.676275,46.601574 -60.676296,46.601078 -60.677734,46.601107 -60.678125,46.600371 -60.678844,46.600386 -60.678876,46.599643 -60.681044,46.599439 -60.681445,46.598455 -60.683613,46.598251 -60.683645,46.597507 -60.685083,46.597536 -60.685474,46.596800 -60.686193,46.596815 -60.686214,46.596319 -60.688381,46.596115 -60.688413,46.595372 -60.688783,46.595131 -60.690221,46.595160 -60.690242,46.594664 -60.690961,46.594679 -60.690982,46.594183 -60.696374,46.594292 -60.696353,46.594788 -60.702105,46.594903 -60.702084,46.595399 -60.711779,46.595841 -60.711748,46.596585 -60.722163,46.597041 -60.722142,46.597536 -60.726816,46.597629 -60.726795,46.598125 -60.737210,46.598579 -60.737179,46.599323 -60.748314,46.599791 -60.748293,46.600286 -60.752608,46.600371 -60.752587,46.600867 -60.755813,46.601178 -60.755782,46.601921 -60.757220,46.601950 -60.757200,46.602445 -60.758987,46.602728 -60.758967,46.603224 -60.759686,46.603238 -60.759666,46.603734 -60.761104,46.603762 -60.761083,46.604257 -60.761803,46.604272 -60.761782,46.604767 -60.764289,46.605064 -60.764268,46.605560 -60.764988,46.605574 -60.764967,46.606069 -60.766046,46.606091 -60.766025,46.606586 -60.767464,46.606614 -60.767444,46.607110 -60.769231,46.607393 -60.769211,46.607888 -60.770290,46.607909 -60.770269,46.608405 -60.771348,46.608426 -60.771328,46.608922 -60.772406,46.608943 -60.772386,46.609438 -60.774534,46.609728 -60.774513,46.610224 -60.775232,46.610238 -60.775212,46.610733 -60.776651,46.610761 -60.776630,46.611257 -60.777709,46.611278 -60.777689,46.611773 -60.779836,46.612063 -60.779816,46.612559 -60.780895,46.612580 -60.780875,46.613075 -60.781594,46.613089 -60.781574,46.613585 -60.783012,46.613613 -60.782992,46.614108 -60.783711,46.614122 -60.783691,46.614618 -60.786198,46.614915 -60.786168,46.615658 -60.787956,46.615941 -60.787936,46.616436 -60.789375,46.616464 -60.789355,46.616960 -60.790074,46.616974 -60.790064,46.617221 -60.791143,46.617242 -60.791113,46.617986 -60.793260,46.618275 -60.793240,46.618771 -60.794319,46.618791 -60.794299,46.619287 -60.796447,46.619576 -60.796417,46.620320 -60.798565,46.620609 -60.798545,46.621105 -60.799624,46.621126 -60.799604,46.621621 -60.801752,46.621911 -60.801722,46.622654 -60.803870,46.622943 -60.803850,46.623439 -60.804929,46.623460 -60.804909,46.623955 -60.811743,46.624086 -60.811763,46.623591 -60.916082,46.625538 -60.916063,46.626034 -60.918931,46.626334 -60.918902,46.627078 -60.921061,46.627117 -60.921042,46.627613 -60.923551,46.627906 -60.923532,46.628402 -60.924611,46.628421 -60.924592,46.628917 -60.926751,46.628956 -60.926732,46.629452 -60.927451,46.629465 -60.927432,46.629961 -60.926713,46.629948 -60.926665,46.631187 -60.925946,46.631174 -60.925927,46.631669 -60.927366,46.631695 -60.927707,46.632198 -60.929146,46.632224 -60.929137,46.632471 -60.930576,46.632498 -60.930557,46.632993 -60.933795,46.633052 -60.934117,46.634050 -60.934837,46.634063 -60.934818,46.634558 -60.936257,46.634584 -60.936247,46.634832 -60.941285,46.634923 -60.941266,46.635418 -60.941985,46.635431 -60.941967,46.635927 -60.942686,46.635940 -60.942649,46.636931 -60.943359,46.637192 -60.943340,46.637688 -60.945452,46.638966 -60.945774,46.639964 -60.946494,46.639976 -60.946807,46.641222 -60.948284,46.640257 -60.948275,46.640504 -60.948994,46.640517 -60.949686,46.641274 -60.950406,46.641287 -60.951457,46.642049 -60.951392,46.643784 -60.951751,46.643791 -60.951733,46.644286 -60.955238,46.646829 -60.955219,46.647325 -60.957360,46.647859 -60.957379,46.647363 -60.958108,46.647128 -60.962305,46.650427 -60.963736,46.650701 -60.963615,46.653923 -60.963255,46.653916 -60.963236,46.654412 -60.963596,46.654418 -60.963522,46.656401 -60.962442,46.656382 -60.962433,46.656630 -60.961344,46.656858 -60.961610,46.659343 -60.960531,46.659324 -60.959783,46.660054 -60.959063,46.660042 -60.958675,46.660779 -60.957567,46.661503 -60.956496,46.661236 -60.956505,46.660988 -60.955776,46.661223 -60.955332,46.663447 -60.955692,46.663453 -60.955655,46.664445 -60.956356,46.664953 -60.956337,46.665449 -60.956698,46.665455 -60.956679,46.665951 -60.958082,46.666968 -60.958054,46.667712 -60.958755,46.668220 -60.958727,46.668964 -60.959428,46.669472 -60.959410,46.669968 -60.959770,46.669974 -60.960083,46.671220 -60.960443,46.671226 -60.960369,46.673209 -60.960729,46.673215 -60.960682,46.674455 -60.961033,46.674709 -60.960673,46.674702 -60.960645,46.675446 -60.960285,46.675440 -60.960257,46.676183 -60.959897,46.676177 -60.959822,46.678159 -60.960533,46.678420 -60.961197,46.679920 -60.961557,46.679926 -60.961805,46.682907 -60.962166,46.682913 -60.962128,46.683904 -60.962488,46.683911 -60.961749,46.684394 -60.961731,46.684889 -60.961371,46.684883 -60.961315,46.686370 -60.962016,46.686878 -60.961998,46.687374 -60.962358,46.687381 -60.962339,46.687876 -60.963050,46.688137 -60.962616,46.690113 -60.961138,46.691079 -60.961119,46.691574 -60.960389,46.691810 -60.960371,46.692305 -60.959641,46.692540 -60.959613,46.693284 -60.959253,46.693277 -60.958846,46.694510 -60.957756,46.694739 -60.957765,46.694491 -60.956694,46.694224 -60.954846,46.695431 -60.954449,46.696415 -60.954088,46.696409 -60.954060,46.697153 -60.953700,46.697146 -60.953672,46.697890 -60.951824,46.699097 -60.950668,46.701060 -60.950308,46.701053 -60.950289,46.701549 -60.949929,46.701543 -60.949910,46.702038 -60.949550,46.702032 -60.949531,46.702527 -60.949171,46.702521 -60.949143,46.703265 -60.948404,46.703747 -60.948385,46.704243 -60.948025,46.704236 -60.948006,46.704732 -60.943940,46.707387 -60.942783,46.709350 -60.942423,46.709344 -60.942404,46.709840 -60.942044,46.709833 -60.942025,46.710329 -60.941665,46.710322 -60.941646,46.710818 -60.941286,46.710811 -60.941267,46.711307 -60.940907,46.711301 -60.940859,46.712540 -60.940120,46.713022 -60.940101,46.713518 -60.939371,46.713753 -60.938973,46.714738 -60.938243,46.714973 -60.937845,46.715957 -60.937115,46.716192 -60.936717,46.717177 -60.933028,46.719343 -60.933000,46.720086 -60.932260,46.720569 -60.932232,46.721312 -60.930752,46.722277 -60.930031,46.722264 -60.930012,46.722760 -60.929652,46.722754 -60.929624,46.723497 -60.928884,46.723980 -60.928827,46.725467 -60.929529,46.725975 -60.929510,46.726471 -60.927310,46.727423 -60.926883,46.729151 -60.926522,46.729145 -60.926437,46.731375 -60.926076,46.731369 -60.926038,46.732360 -60.925678,46.732354 -60.925649,46.733097 -60.925289,46.733091 -60.925260,46.733834 -60.924900,46.733827 -60.924871,46.734571 -60.924511,46.734564 -60.924473,46.735556 -60.924112,46.735549 -60.924084,46.736293 -60.923724,46.736286 -60.923695,46.737030 -60.923335,46.737023 -60.923306,46.737767 -60.922945,46.737760 -60.922917,46.738503 -60.922177,46.738986 -60.922148,46.739730 -60.921408,46.740212 -60.921380,46.740956 -60.920640,46.741438 -60.920621,46.741934 -60.920260,46.741927 -60.920241,46.742423 -60.919881,46.742416 -60.919862,46.742912 -60.919501,46.742905 -60.919482,46.743401 -60.918372,46.744125 -60.918675,46.745618 -60.918315,46.745612 -60.917868,46.747836 -60.917508,46.747829 -60.917479,46.748573 -60.917118,46.748566 -60.917080,46.749557 -60.915989,46.749785 -60.915874,46.752759 -60.913283,46.754448 -60.913235,46.755687 -60.912495,46.756170 -60.912077,46.757650 -60.911716,46.757644 -60.911668,46.758883 -60.911308,46.758876 -60.911241,46.760611 -60.910500,46.761094 -60.910462,46.762085 -60.909721,46.762567 -60.909702,46.763063 -60.909341,46.763056 -60.908534,46.765274 -60.908173,46.765267 -60.908125,46.766506 -60.907764,46.766500 -60.907736,46.767243 -60.907375,46.767236 -60.906538,46.770197 -60.905797,46.770680 -60.905769,46.771423 -60.905038,46.771658 -60.905018,46.772153 -60.904287,46.772388 -60.904268,46.772884 -60.901305,46.774813 -60.899131,46.775022 -60.895798,46.777192 -60.895769,46.777936 -60.895028,46.778418 -60.894980,46.779657 -60.896033,46.780421 -60.896004,46.781164 -60.896365,46.781171 -60.896297,46.782906 -60.895186,46.783629 -60.895108,46.785612 -60.894367,46.786094 -60.894348,46.786590 -60.893987,46.786583 -60.893968,46.787079 -60.893607,46.787072 -60.893588,46.787568 -60.893227,46.787561 -60.893207,46.788057 -60.892096,46.788780 -60.892067,46.789524 -60.891326,46.790006 -60.891307,46.790502 -60.890585,46.790489 -60.889473,46.791212 -60.889074,46.792197 -60.888342,46.792431 -60.888323,46.792927 -60.887231,46.793155 -60.887211,46.793650 -60.886850,46.793644 -60.886460,46.794380 -60.883915,46.794829 -60.883896,46.795325 -60.883535,46.795318 -60.883457,46.797301 -60.882716,46.797783 -60.882696,46.798279 -60.879839,46.797482 -60.879848,46.797234 -60.879127,46.797221 -60.879136,46.796973 -60.878054,46.796953 -60.879058,46.798956 -60.878697,46.798949 -60.878288,46.800181 -60.877927,46.800175 -60.877898,46.800918 -60.877537,46.800911 -60.877078,46.803383 -60.876337,46.803865 -60.876308,46.804609 -60.875215,46.804836 -60.875205,46.805084 -60.873040,46.805044 -60.872289,46.805774 -60.869372,46.806464 -60.868260,46.807187 -60.867538,46.807174 -60.866796,46.807656 -60.866777,46.808151 -60.866416,46.808145 -60.866396,46.808640 -60.864943,46.808861 -60.863781,46.810824 -60.863420,46.810817 -60.863361,46.812304 -60.860444,46.812993 -60.860434,46.813241 -60.858620,46.813455 -60.858229,46.814192 -60.857868,46.814185 -60.857829,46.815176 -60.857087,46.815658 -60.857067,46.816154 -60.855984,46.816134 -60.855243,46.816616 -60.855223,46.817112 -60.852266,46.818792 -60.851484,46.820265 -60.848938,46.820714 -60.848898,46.821705 -60.848176,46.821691 -60.847795,46.822180 -60.846361,46.821905 -60.845619,46.822387 -60.843092,46.822340 -60.843072,46.822835 -60.841588,46.823799 -60.839402,46.824254 -60.839392,46.824502 -60.837587,46.824468 -60.836885,46.823958 -60.836163,46.823945 -60.835822,46.823442 -60.832592,46.822885 -60.832602,46.822637 -60.831158,46.822610 -60.831168,46.822362 -60.827568,46.822046 -60.826866,46.821537 -60.826144,46.821523 -60.826134,46.821771 -60.820358,46.821661 -60.820338,46.822157 -60.807702,46.821915 -60.807722,46.821420 -60.801956,46.821061 -60.801976,46.820565 -60.800532,46.820538 -60.800563,46.819794 -60.798046,46.819498 -60.798066,46.819002 -60.794827,46.818692 -60.794848,46.818196 -60.793765,46.818175 -60.793795,46.817432 -60.791639,46.817142 -60.791660,46.816647 -60.790938,46.816633 -60.790958,46.816137 -60.788802,46.815848 -60.788833,46.815104 -60.787760,46.814835 -60.787781,46.814340 -60.787059,46.814326 -60.787079,46.813830 -60.785645,46.813555 -60.785676,46.812811 -60.779901,46.812699 -60.779870,46.813443 -60.778055,46.813655 -60.778035,46.814151 -60.776591,46.814123 -60.776570,46.814619 -60.775127,46.814591 -60.774755,46.814831 -60.774725,46.815575 -60.771466,46.815759 -60.771445,46.816255 -60.770723,46.816241 -60.770703,46.816737 -60.767083,46.816914 -60.767052,46.817657 -60.763793,46.817842 -60.763772,46.818337 -60.762689,46.818316 -60.762669,46.818812 -60.759410,46.818996 -60.759379,46.819739 -60.739525,46.819349 -60.739556,46.818606 -60.729810,46.818413 -60.729820,46.818165 -60.726571,46.818100 -60.726592,46.817605 -60.724066,46.817555 -60.724086,46.817059 -60.717961,46.816689 -60.717992,46.815946 -60.712228,46.815583 -60.712248,46.815087 -60.709722,46.815036 -60.709743,46.814541 -60.705051,46.814447 -60.705030,46.814942 -60.704308,46.814928 -60.704287,46.815424 -60.701028,46.815606 -60.700996,46.816350 -60.700624,46.816590 -60.699181,46.816561 -60.699159,46.817057 -60.697716,46.817028 -60.697694,46.817523 -60.694435,46.817706 -60.694021,46.818937 -60.692217,46.818901 -60.692206,46.819149 -60.691123,46.819127 -60.691102,46.819622 -60.688564,46.819819 -60.688533,46.820562 -60.687089,46.820533 -60.687067,46.821029 -60.684530,46.821226 -60.684509,46.821721 -60.683065,46.821692 -60.683043,46.822187 -60.681961,46.822166 -60.681939,46.822661 -60.680495,46.822632 -60.680474,46.823127 -60.677936,46.823324 -60.677915,46.823820 -60.676471,46.823790 -60.676450,46.824286 -60.675006,46.824256 -60.674984,46.824752 -60.673901,46.824730 -60.673880,46.825226 -60.670620,46.825407 -60.670599,46.825903 -60.663379,46.825756 -60.663357,46.826251 -60.655415,46.826089 -60.655394,46.826584 -60.646729,46.826407 -60.646708,46.826902 -60.640210,46.826768 -60.640199,46.827016 -60.639116,46.826994 -60.639094,46.827489 -60.636928,46.827445 -60.636906,46.827940 -60.635823,46.827918 -60.635802,46.828413 -60.633636,46.828369 -60.633614,46.828864 -60.632520,46.829090 -60.632498,46.829585 -60.631776,46.829570 -60.631743,46.830313 -60.631021,46.830299 -60.630989,46.831042 -60.630267,46.831027 -60.630245,46.831522 -60.629151,46.831748 -60.629118,46.832491 -60.627302,46.832701 -60.626897,46.833685 -60.625803,46.833910 -60.625771,46.834654 -60.625048,46.834639 -60.625016,46.835382 -60.623933,46.835360 -60.623506,46.836839 -60.622784,46.836824 -60.622773,46.837072 -60.620617,46.836779 -60.620650,46.836035 -60.619578,46.835765 -60.619600,46.835270 -60.618517,46.835247 -60.618539,46.834752 -60.617455,46.834729 -60.617499,46.833738 -60.616427,46.833468 -60.616449,46.832972 -60.615366,46.832949 -60.615388,46.832454 -60.614305,46.832431 -60.613955,46.832176 -60.613988,46.831433 -60.612554,46.831155 -60.612237,46.830156 -60.611154,46.830134 -60.610804,46.829878 -60.610837,46.829135 -60.609393,46.829105 -60.609087,46.827858 -60.608004,46.827836 -60.608026,46.827340 -60.606943,46.827318 -60.606965,46.826822 -60.606243,46.826807 -60.605915,46.826056 -60.604832,46.826033 -60.604515,46.825035 -60.603793,46.825020 -60.603815,46.824524 -60.603093,46.824509 -60.602765,46.823758 -60.601682,46.823735 -60.601704,46.823240 -60.600982,46.823225 -60.600666,46.822226 -60.599944,46.822211 -60.599966,46.821715 -60.597800,46.821670 -60.597395,46.822653 -60.595951,46.822623 -60.595929,46.823119 -60.594485,46.823088 -60.594091,46.823824 -60.592286,46.823786 -60.592264,46.824282 -60.591181,46.824259 -60.591159,46.824754 -60.590076,46.824732 -60.590054,46.825227 -60.588971,46.825204 -60.588949,46.825700 -60.586772,46.825902 -60.586749,46.826398 -60.585666,46.826375 -60.585644,46.826870 -60.584561,46.826847 -60.584539,46.827343 -60.583817,46.827328 -60.583423,46.828063 -60.582340,46.828041 -60.582284,46.829279 -60.581190,46.829504 -60.581146,46.830495 -60.580051,46.830720 -60.580018,46.831463 -60.578935,46.831441 -60.578518,46.832672 -60.577063,46.832889 -60.576635,46.834368 -60.575552,46.834345 -60.575530,46.834840 -60.575169,46.834833 -60.575124,46.835824 -60.573669,46.836041 -60.573252,46.837272 -60.572169,46.837249 -60.572135,46.837993 -60.571041,46.838217 -60.571019,46.838713 -60.570297,46.838698 -60.570274,46.839193 -60.567736,46.839387 -60.567702,46.840130 -60.566980,46.840115 -60.566958,46.840611 -60.564419,46.840805 -60.564396,46.841300 -60.561497,46.841486 -60.561079,46.842717 -60.558180,46.842904 -60.558157,46.843399 -60.557074,46.843376 -60.557051,46.843872 -60.556329,46.843856 -60.556307,46.844352 -60.554501,46.844313 -60.554479,46.844809 -60.553756,46.844793 -60.553745,46.845041 -60.551579,46.844995 -60.551556,46.845490 -60.550834,46.845475 -60.550811,46.845970 -60.549367,46.845939 -60.549344,46.846435 -60.548261,46.846412 -60.548239,46.846907 -60.546061,46.847109 -60.546038,46.847604 -60.544955,46.847581 -60.544932,46.848076 -60.543849,46.848053 -60.543826,46.848549 -60.542382,46.848518 -60.542359,46.849013 -60.540915,46.848982 -60.540520,46.849718 -60.539075,46.849687 -60.539052,46.850182 -60.537608,46.850151 -60.537585,46.850646 -60.536141,46.850615 -60.536118,46.851111 -60.533940,46.851312 -60.533917,46.851808 -60.532834,46.851784 -60.532811,46.852280 -60.531728,46.852256 -60.531705,46.852752 -60.530260,46.852721 -60.530238,46.853216 -60.528793,46.853185 -60.528770,46.853681 -60.526953,46.853889 -60.526930,46.854385 -60.525125,46.854346 -60.525102,46.854841 -60.523657,46.854810 -60.523634,46.855306 -60.522190,46.855274 -60.522167,46.855770 -60.521083,46.855746 -60.521072,46.855994 -60.518905,46.855947 -60.518882,46.856443 -60.517799,46.856419 -60.517776,46.856915 -60.516331,46.856883 -60.516308,46.857379 -60.514864,46.857347 -60.514841,46.857843 -60.511579,46.858020 -60.511556,46.858516 -60.510111,46.858484 -60.510088,46.858980 -60.509005,46.858956 -60.508982,46.859452 -60.507898,46.859428 -60.507875,46.859924 -60.504974,46.860108 -60.504951,46.860604 -60.502784,46.860557 -60.502761,46.861052 -60.501678,46.861028 -60.501655,46.861524 -60.501293,46.861516 -60.501316,46.861021 -60.500233,46.860997 -60.499952,46.859255 -60.499230,46.859239 -60.499276,46.858248 -60.498553,46.858232 -60.498611,46.856993 -60.500056,46.857025 -60.500463,46.856042 -60.501546,46.856066 -60.501581,46.855322 -60.500497,46.855299 -60.500228,46.853309 -60.499506,46.853293 -60.499529,46.852797 -60.498084,46.852766 -60.498061,46.853261 -60.497339,46.853246 -60.497316,46.853741 -60.496233,46.853717 -60.496210,46.854213 -60.494765,46.854181 -60.494742,46.854677 -60.494020,46.854661 -60.493997,46.855156 -60.491457,46.855349 -60.491434,46.855844 -60.490712,46.855828 -60.490689,46.856324 -60.489605,46.856300 -60.489582,46.856796 -60.488860,46.856780 -60.488836,46.857275 -60.487392,46.857244 -60.487438,46.856253 -60.486716,46.856237 -60.486436,46.854495 -60.485713,46.854479 -60.485783,46.852992 -60.485060,46.852976 -60.485084,46.852481 -60.484361,46.852465 -60.484419,46.851226 -60.483697,46.851210 -60.483417,46.849468 -60.482695,46.849452 -60.482741,46.848461 -60.482019,46.848445 -60.482053,46.847702 -60.481331,46.847686 -60.481378,46.846695 -60.480655,46.846679 -60.480679,46.846184 -60.479956,46.846168 -60.479933,46.846663 -60.478850,46.846639 -60.478827,46.847135 -60.478105,46.847119 -60.478081,46.847615 -60.476637,46.847583 -60.476241,46.848318 -60.474797,46.848286 -60.474773,46.848782 -60.474051,46.848766 -60.474028,46.849261 -60.472945,46.849237 -60.472922,46.849733 -60.470743,46.849933 -60.470720,46.850428 -60.468553,46.850380 -60.468576,46.849885 -60.467854,46.849869 -60.467808,46.850860 -60.468530,46.850876 -60.468448,46.852610 -60.469532,46.852634 -60.469788,46.854872 -60.469427,46.854864 -60.469404,46.855359 -60.468320,46.855335 -60.468274,46.856326 -60.467551,46.856310 -60.467109,46.858036 -60.466386,46.858020 -60.465967,46.859251 -60.464883,46.859227 -60.464860,46.859723 -60.465944,46.859747 -60.465862,46.861481 -60.464778,46.861457 -60.464708,46.862943 -60.463986,46.862927 -60.463963,46.863423 -60.463601,46.863415 -60.463625,46.862919 -60.462902,46.862903 -60.462938,46.862160 -60.462576,46.862152 -60.462693,46.859674 -60.463054,46.859683 -60.463078,46.859187 -60.462716,46.859179 -60.462775,46.857940 -60.461691,46.857916 -60.461715,46.857421 -60.460992,46.857405 -60.461016,46.856909 -60.458488,46.856853 -60.458499,46.856605 -60.457777,46.856589 -60.457463,46.855590 -60.456018,46.855558 -60.456042,46.855063 -60.452791,46.854990 -60.452768,46.855486 -60.451323,46.855454 -60.451300,46.855949 -60.448772,46.855893 -60.448748,46.856388 -60.445498,46.856316 -60.445486,46.856564 -60.444403,46.856539 -60.444415,46.856292 -60.442970,46.856259 -60.442994,46.855764 -60.441549,46.855732 -60.441572,46.855236 -60.440850,46.855220 -60.440874,46.854724 -60.439790,46.854700 -60.439814,46.854205 -60.438369,46.854172 -60.438381,46.853925 -60.437659,46.853909 -60.437683,46.853413 -60.436599,46.853389 -60.436623,46.852893 -60.435900,46.852877 -60.435924,46.852382 -60.434480,46.852349 -60.434503,46.851854 -60.433420,46.851829 -60.433443,46.851334 -60.432721,46.851318 -60.432733,46.851070 -60.431289,46.851038 -60.430975,46.850039 -60.429530,46.850006 -60.429554,46.849511 -60.428832,46.849494 -60.428856,46.848999 -60.425606,46.848926 -60.425582,46.849421 -60.421610,46.849332 -60.421586,46.849827 -60.420142,46.849795 -60.420166,46.849299 -60.419082,46.849275 -60.419106,46.848779 -60.415868,46.848458 -60.415892,46.847963 -60.414448,46.847930 -60.414471,46.847435 -60.413749,46.847418 -60.413773,46.846923 -60.411968,46.846882 -60.411992,46.846387 -60.411269,46.846370 -60.411281,46.846123 -60.409837,46.846090 -60.409861,46.845594 -60.408778,46.845570 -60.408801,46.845074 -60.408079,46.845058 -60.408103,46.844563 -60.406659,46.844530 -60.406683,46.844034 -60.403445,46.843713 -60.403469,46.843218 -60.400942,46.843160 -60.400966,46.842665 -60.397716,46.842591 -60.397740,46.842095 -60.395213,46.842038 -60.395237,46.841542 -60.392000,46.841221 -60.392024,46.840725 -60.390580,46.840692 -60.390616,46.839949 -60.387379,46.839627 -60.387403,46.839132 -60.385248,46.838834 -60.385273,46.838339 -60.384190,46.838314 -60.384238,46.837323 -60.382072,46.837274 -60.382096,46.836778 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.280995,46.343269 -61.240815,46.376593</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.265027,46.373029 -61.262760,46.374794 -61.262760,46.374794 -61.258246,46.376308 -61.258246,46.376308 -61.254704,46.376593 -61.254704,46.376593 -61.253305,46.376570 -61.253305,46.376570 -61.251840,46.376488 -61.251840,46.376488 -61.247102,46.375349 -61.247102,46.375349 -61.243354,46.373042 -61.243354,46.373042 -61.241168,46.369917 -61.241168,46.369917 -61.240815,46.366802 -61.240815,46.366802 -61.241006,46.365462 -61.241006,46.365462 -61.241082,46.365300 -61.241082,46.365300 -61.241066,46.365111 -61.241066,46.365111 -61.241527,46.363903 -61.241527,46.363903 -61.241504,46.363109 -61.241504,46.363109 -61.243150,46.359830 -61.243150,46.359830 -61.244451,46.358652 -61.244451,46.358652 -61.245092,46.357212 -61.245092,46.357212 -61.246782,46.354846 -61.246782,46.354846 -61.246978,46.354683 -61.246978,46.354683 -61.247103,46.354426 -61.247103,46.354426 -61.250833,46.349838 -61.250833,46.349838 -61.250908,46.349778 -61.250908,46.349778 -61.250947,46.349700 -61.250947,46.349700 -61.253391,46.347616 -61.253391,46.347616 -61.256760,46.345497 -61.256760,46.345497 -61.257648,46.344987 -61.257648,46.344987 -61.262159,46.343473 -61.262159,46.343473 -61.267162,46.343269 -61.268864,46.343515 -61.268864,46.343515 -61.271432,46.344013 -61.271432,46.344013 -61.274466,46.344905 -61.274466,46.344905 -61.278213,46.347211 -61.278213,46.347211 -61.280401,46.350335 -61.280401,46.350335 -61.280662,46.351202 -61.280662,46.351202 -61.280961,46.352522 -61.280961,46.352522 -61.280995,46.355120 -61.280995,46.355120 -61.280815,46.355819 -61.280815,46.355819 -61.279769,46.359099 -61.279769,46.359099 -61.279397,46.359757 -61.279397,46.359757 -61.278990,46.360753 -61.278990,46.360753 -61.277124,46.363701 -61.277124,46.363701 -61.276441,46.364629 -61.276441,46.364629 -61.275739,46.365370 -61.275739,46.365370 -61.273327,46.367661 -61.273327,46.367661 -61.272936,46.367936 -61.272936,46.367936 -61.272354,46.368477 -61.272354,46.368477 -61.268944,46.371016 -61.268944,46.371016 -61.267286,46.372053 -61.267286,46.372053 -61.265868,46.372699 -61.265868,46.372699 -61.265027,46.373029 -61.265027,46.373029 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-60.594186,46.183546 -60.419808,46.343163</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-60.594186,46.203038 -60.584534,46.218468 -60.581497,46.223809 -60.574801,46.230930 -60.567949,46.237618 -60.559847,46.246356 -60.553455,46.254339 -60.547692,46.256709 -60.550180,46.258115 -60.546671,46.262160 -60.544249,46.267394 -60.545719,46.272415 -60.542205,46.278296 -60.537836,46.282718 -60.528231,46.295611 -60.518956,46.298353 -60.513735,46.299481 -60.511466,46.303311 -60.508184,46.307086 -60.497115,46.309447 -60.488603,46.316183 -60.483990,46.320873 -60.476807,46.324857 -60.471569,46.329654 -60.466645,46.333479 -60.458827,46.339404 -60.447586,46.343163 -60.434332,46.343136 -60.425528,46.341659 -60.419928,46.338947 -60.419808,46.331172 -60.426641,46.319687 -60.433479,46.306366 -60.440378,46.296015 -60.445477,46.287118 -60.452832,46.278063 -60.462515,46.269984 -60.473114,46.266331 -60.488574,46.250379 -60.501842,46.235717 -60.508241,46.227738 -60.522007,46.226513 -60.538119,46.218921 -60.546375,46.210618 -60.550429,46.203498 -60.560934,46.195034 -60.570351,46.183546 -60.578349,46.186519 -60.593182,46.193810 -60.594186,46.203038 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.065701,46.595470 -61.018881,46.654671</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.027672,46.604493 -61.027672,46.604493 -61.026581,46.602926 -61.026581,46.602926 -61.026442,46.601191 -61.026442,46.601191 -61.026813,46.600213 -61.026813,46.600213 -61.027901,46.598273 -61.027901,46.598273 -61.028366,46.597612 -61.028366,46.597612 -61.030047,46.596318 -61.030047,46.596318 -61.032320,46.595566 -61.032320,46.595566 -61.034837,46.595470 -61.037215,46.596046 -61.037215,46.596046 -61.039070,46.597184 -61.039070,46.597184 -61.041587,46.599467 -61.041587,46.599467 -61.044064,46.600955 -61.044064,46.600955 -61.045624,46.601590 -61.045624,46.601590 -61.046277,46.601733 -61.046277,46.601733 -61.046875,46.601126 -61.046875,46.601126 -61.048340,46.600066 -61.048340,46.600066 -61.048649,46.599964 -61.048649,46.599964 -61.048668,46.599923 -61.048668,46.599923 -61.049273,46.598985 -61.049273,46.598985 -61.050954,46.597690 -61.050954,46.597690 -61.052956,46.596989 -61.052956,46.596989 -61.055530,46.596450 -61.055530,46.596450 -61.055664,46.596443 -61.055664,46.596443 -61.055800,46.596398 -61.055800,46.596398 -61.058317,46.596301 -61.060696,46.596876 -61.060696,46.596876 -61.062376,46.597862 -61.062376,46.597862 -61.063948,46.599163 -61.063948,46.599163 -61.064017,46.599257 -61.064017,46.599257 -61.064147,46.599337 -61.064147,46.599337 -61.065239,46.600903 -61.065239,46.600903 -61.065422,46.601652 -61.065422,46.601652 -61.065701,46.604015 -61.065701,46.604015 -61.065658,46.605001 -61.065658,46.605001 -61.064824,46.606641 -61.064824,46.606641 -61.064519,46.606965 -61.064519,46.606965 -61.062837,46.608587 -61.062837,46.608587 -61.062029,46.610180 -61.062029,46.610180 -61.061493,46.610976 -61.061493,46.610976 -61.060226,46.612036 -61.060226,46.612036 -61.058584,46.613044 -61.058584,46.613044 -61.058241,46.614192 -61.058241,46.614192 -61.058898,46.615075 -61.058898,46.615075 -61.059406,46.615998 -61.059406,46.615998 -61.059546,46.617733 -61.059546,46.617733 -61.059064,46.618900 -61.059064,46.618900 -61.057388,46.621526 -61.057388,46.621526 -61.057036,46.621999 -61.057036,46.621999 -61.056876,46.622122 -61.056876,46.622122 -61.056805,46.622249 -61.056805,46.622249 -61.055400,46.623663 -61.055400,46.623663 -61.055233,46.623783 -61.055233,46.623783 -61.054834,46.624154 -61.054834,46.624154 -61.052666,46.625787 -61.052666,46.625787 -61.052602,46.625826 -61.052602,46.625826 -61.052562,46.625863 -61.052562,46.625863 -61.050561,46.627299 -61.050561,46.627299 -61.050298,46.627460 -61.050298,46.627460 -61.050214,46.627531 -61.050214,46.627531 -61.049567,46.627930 -61.049567,46.627930 -61.049511,46.628246 -61.049511,46.628246 -61.049491,46.628287 -61.049491,46.628287 -61.049495,46.628333 -61.049495,46.628333 -61.048659,46.629973 -61.048659,46.629973 -61.047000,46.631256 -61.047000,46.631256 -61.044772,46.632419 -61.044772,46.632419 -61.043706,46.633555 -61.043706,46.633555 -61.042751,46.636074 -61.042751,46.636074 -61.042560,46.636390 -61.042560,46.636390 -61.042417,46.636737 -61.042417,46.636737 -61.040208,46.640207 -61.040208,46.640207 -61.039852,46.640684 -61.039852,46.640684 -61.039709,46.640795 -61.039709,46.640795 -61.039643,46.640912 -61.039643,46.640912 -61.036858,46.643749 -61.036858,46.643749 -61.034803,46.646751 -61.034803,46.646751 -61.034520,46.647119 -61.034520,46.647119 -61.034183,46.647378 -61.034183,46.647378 -61.034222,46.648592 -61.034222,46.648592 -61.034040,46.649181 -61.034040,46.649181 -61.033152,46.651335 -61.033152,46.651335 -61.032497,46.652386 -61.032497,46.652386 -61.030814,46.653680 -61.030814,46.653680 -61.028538,46.654433 -61.028538,46.654433 -61.027636,46.654546 -61.027636,46.654546 -61.025991,46.654671 -61.024373,46.654653 -61.024373,46.654653 -61.021991,46.654077 -61.021991,46.654077 -61.020111,46.652917 -61.020111,46.652917 -61.019019,46.651350 -61.019019,46.651350 -61.018881,46.649615 -61.018881,46.649615 -61.019717,46.647975 -61.019717,46.647975 -61.020239,46.647456 -61.020239,46.647456 -61.020352,46.647359 -61.020352,46.647359 -61.020102,46.646012 -61.020102,46.646012 -61.020115,46.644821 -61.020115,46.644821 -61.020951,46.643181 -61.020951,46.643181 -61.021457,46.642592 -61.021457,46.642592 -61.022870,46.641446 -61.022870,46.641446 -61.024022,46.640781 -61.024022,46.640781 -61.025261,46.638888 -61.025261,46.638888 -61.025591,46.638451 -61.025591,46.638451 -61.027107,46.636685 -61.027107,46.636685 -61.027218,46.636600 -61.027218,46.636600 -61.027270,46.636505 -61.027270,46.636505 -61.028843,46.634857 -61.028843,46.634857 -61.029280,46.634130 -61.029280,46.634130 -61.029929,46.632056 -61.029929,46.632056 -61.030080,46.631791 -61.030080,46.631791 -61.030290,46.631267 -61.030290,46.631267 -61.031716,46.628935 -61.031716,46.628935 -61.032109,46.628396 -61.032109,46.628396 -61.032248,46.628289 -61.032248,46.628289 -61.032312,46.628175 -61.032312,46.628175 -61.033886,46.626565 -61.033886,46.626565 -61.035366,46.625492 -61.035366,46.625492 -61.035530,46.625437 -61.035530,46.625437 -61.035638,46.625358 -61.035638,46.625358 -61.036645,46.624891 -61.036645,46.624891 -61.036825,46.624390 -61.036825,46.624390 -61.037536,46.623193 -61.037536,46.623193 -61.038500,46.622330 -61.038500,46.622330 -61.040895,46.620658 -61.040895,46.620658 -61.041056,46.620562 -61.041056,46.620562 -61.041111,46.620515 -61.041111,46.620515 -61.043180,46.619198 -61.043180,46.619198 -61.044614,46.617841 -61.044614,46.617841 -61.045021,46.617327 -61.045021,46.617327 -61.044661,46.616780 -61.044661,46.616780 -61.044462,46.615838 -61.044462,46.615838 -61.044359,46.613943 -61.044359,46.613943 -61.044418,46.613150 -61.044418,46.613150 -61.044682,46.612376 -61.044682,46.612376 -61.045047,46.611616 -61.045047,46.611616 -61.043288,46.611421 -61.043288,46.611421 -61.041026,46.610858 -61.041026,46.610858 -61.037041,46.609234 -61.037041,46.609234 -61.036849,46.609116 -61.036849,46.609116 -61.036653,46.609063 -61.036653,46.609063 -61.032836,46.607243 -61.032836,46.607243 -61.030928,46.606333 -61.030928,46.606333 -61.030913,46.606323 -61.030913,46.606323 -61.030899,46.606319 -61.030899,46.606319 -61.029133,46.605467 -61.029133,46.605467 -61.027672,46.604493 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-63.948217,45.257703 -63.331494,45.411270</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-63.438132,45.375327 -63.439069,45.376943 -63.439524,45.380385 -63.438075,45.383688 -63.436826,45.385013 -63.429875,45.391118 -63.427991,45.392453 -63.423651,45.394066 -63.418765,45.394385 -63.414078,45.393363 -63.410304,45.391155 -63.408016,45.388097 -63.407612,45.386776 -63.405106,45.373875 -63.405058,45.371753 -63.405979,45.369379 -63.404890,45.369833 -63.402075,45.370698 -63.401564,45.370731 -63.401186,45.370859 -63.375974,45.374747 -63.374215,45.375776 -63.374148,45.375802 -63.374097,45.375845 -63.369757,45.377455 -63.365762,45.377815 -63.343564,45.377285 -63.343170,45.377209 -63.342675,45.377241 -63.337991,45.376215 -63.334222,45.374004 -63.331940,45.370944 -63.331494,45.367502 -63.332950,45.364201 -63.336087,45.361545 -63.339118,45.360266 -63.373820,45.349963 -63.400051,45.340413 -63.402240,45.339791 -63.404880,45.339449 -63.419139,45.338696 -63.445511,45.330287 -63.445520,45.330284 -63.445524,45.330282 -63.466759,45.323525 -63.470351,45.320474 -63.463669,45.318344 -63.463345,45.318167 -63.462867,45.318063 -63.459097,45.315858 -63.456809,45.312802 -63.456354,45.309361 -63.457107,45.307126 -63.461817,45.298384 -63.463795,45.282131 -63.463826,45.282057 -63.463815,45.281977 -63.465259,45.278676 -63.468382,45.276015 -63.468821,45.275852 -63.469092,45.275637 -63.476349,45.272044 -63.479966,45.270808 -63.484838,45.270486 -63.489513,45.271504 -63.493282,45.273708 -63.495570,45.276762 -63.495996,45.278191 -63.499055,45.295382 -63.504534,45.308329 -63.522100,45.319062 -63.532081,45.324167 -63.536469,45.319755 -63.538818,45.317974 -63.538888,45.317948 -63.538938,45.317906 -63.556680,45.307959 -63.560887,45.306409 -63.564237,45.306038 -63.590431,45.305660 -63.591957,45.305703 -63.592081,45.305730 -63.592203,45.305723 -63.613528,45.307547 -63.621913,45.305382 -63.622255,45.305351 -63.622612,45.305217 -63.627487,45.304887 -63.629765,45.305201 -63.640704,45.307468 -63.640922,45.307299 -63.642266,45.306399 -63.646590,45.304777 -63.651464,45.304445 -63.654730,45.304995 -63.665630,45.307964 -63.673593,45.306270 -63.678467,45.305937 -63.679789,45.306081 -63.696990,45.308620 -63.700352,45.309484 -63.701538,45.309993 -63.707424,45.312851 -63.708487,45.313093 -63.710437,45.305086 -63.711743,45.302403 -63.714854,45.299734 -63.716889,45.298775 -63.735802,45.291636 -63.738087,45.290968 -63.742959,45.290631 -63.747642,45.291636 -63.758132,45.295597 -63.761916,45.297790 -63.763034,45.298921 -63.769524,45.306717 -63.786548,45.305420 -63.795284,45.303548 -63.792181,45.297323 -63.792150,45.297139 -63.792012,45.296957 -63.791531,45.293518 -63.792951,45.290211 -63.794896,45.288303 -63.802656,45.282503 -63.803815,45.281739 -63.806669,45.280494 -63.816990,45.277245 -63.818450,45.276860 -63.823320,45.276519 -63.825144,45.276742 -63.834580,45.278408 -63.842547,45.277537 -63.851701,45.270747 -63.860820,45.261469 -63.863154,45.259680 -63.867465,45.258047 -63.872332,45.257703 -63.874566,45.258002 -63.888205,45.260753 -63.890655,45.261451 -63.894442,45.263638 -63.895510,45.264705 -63.897819,45.267417 -63.905620,45.267428 -63.917177,45.261324 -63.921021,45.259946 -63.925888,45.259600 -63.930573,45.260595 -63.934362,45.262780 -63.936679,45.265823 -63.937201,45.267827 -63.948217,45.384486 -63.948188,45.385920 -63.946776,45.389231 -63.943674,45.391909 -63.939353,45.393547 -63.934471,45.393894 -63.929772,45.392899 -63.928153,45.392175 -63.925025,45.390531 -63.921633,45.392232 -63.918019,45.393486 -63.915589,45.393830 -63.901329,45.394829 -63.898877,45.394832 -63.894179,45.393835 -63.890381,45.391646 -63.889310,45.390578 -63.886325,45.387080 -63.885076,45.385102 -63.884587,45.381662 -63.886003,45.378353 -63.887766,45.376580 -63.893253,45.372294 -63.894594,45.371391 -63.894829,45.371302 -63.894985,45.371173 -63.904543,45.366057 -63.906053,45.364404 -63.904098,45.361463 -63.902200,45.360522 -63.898933,45.359948 -63.898886,45.361252 -63.898782,45.361531 -63.898832,45.361879 -63.897417,45.365189 -63.896889,45.365824 -63.890413,45.372911 -63.887838,45.374952 -63.887399,45.375117 -63.887130,45.375334 -63.883201,45.377302 -63.883192,45.377568 -63.883088,45.377846 -63.883137,45.378195 -63.881721,45.381505 -63.878615,45.384180 -63.876764,45.385072 -63.862333,45.390760 -63.860553,45.391295 -63.860247,45.391415 -63.839616,45.396360 -63.839577,45.396363 -63.839537,45.396379 -63.816370,45.401805 -63.811173,45.405492 -63.810232,45.406096 -63.805905,45.407727 -63.801020,45.408067 -63.796323,45.407064 -63.792590,45.405660 -63.792459,45.405759 -63.792389,45.405786 -63.792340,45.405827 -63.786431,45.409160 -63.782222,45.410722 -63.778413,45.411103 -63.748183,45.410832 -63.747108,45.410789 -63.742411,45.409784 -63.719787,45.401251 -63.716288,45.402546 -63.711404,45.402881 -63.706709,45.401874 -63.694957,45.397436 -63.693345,45.397669 -63.682580,45.401330 -63.680746,45.401833 -63.679734,45.402016 -63.663180,45.404498 -63.659308,45.404648 -63.657887,45.404489 -63.643748,45.402319 -63.640476,45.401467 -63.632399,45.398409 -63.625808,45.400883 -63.616550,45.404538 -63.612007,45.408245 -63.610440,45.409319 -63.606105,45.410940 -63.601219,45.411270 -63.596526,45.410257 -63.592740,45.408056 -63.590440,45.405002 -63.588465,45.400368 -63.587277,45.399479 -63.566413,45.390153 -63.532191,45.382367 -63.501616,45.378400 -63.489203,45.381826 -63.488215,45.382066 -63.483331,45.382389 -63.481505,45.382159 -63.465634,45.379295 -63.462774,45.378505 -63.461037,45.377706 -63.453880,45.373783 -63.437482,45.371558 -63.436914,45.372192 -63.436679,45.373391 -63.438132,45.375327 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-66.603205,48.001246 -66.330861,48.131981</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-66.560928,48.003522 -66.565409,48.001741 -66.570565,48.001246 -66.575610,48.002113 -66.579778,48.004209 -66.581786,48.006191 -66.601816,48.033103 -66.602464,48.034128 -66.603205,48.037588 -66.601915,48.040975 -66.598790,48.043773 -66.595594,48.045044 -66.593641,48.051880 -66.592569,48.054064 -66.589442,48.056862 -66.584956,48.058645 -66.579794,48.059140 -66.575615,48.058529 -66.565470,48.055847 -66.562770,48.055941 -66.565245,48.058743 -66.565326,48.059126 -66.565548,48.059400 -66.567894,48.065275 -66.568330,48.068079 -66.567036,48.071466 -66.564763,48.073699 -66.553898,48.081515 -66.548638,48.086001 -66.547926,48.086510 -66.547732,48.086696 -66.539069,48.092692 -66.538703,48.092849 -66.538385,48.093133 -66.537058,48.093834 -66.530523,48.096855 -66.529669,48.097147 -66.528889,48.097501 -66.521232,48.100056 -66.517698,48.102787 -66.517236,48.103997 -66.516334,48.105657 -66.516075,48.105888 -66.515973,48.106124 -66.507832,48.115949 -66.505056,48.118277 -66.500560,48.120056 -66.492010,48.122064 -66.490394,48.124959 -66.489919,48.125706 -66.486780,48.128501 -66.484674,48.129534 -66.481616,48.130745 -66.479224,48.131491 -66.474052,48.131981 -66.473539,48.131893 -66.473106,48.131923 -66.463830,48.131131 -66.459717,48.130316 -66.455543,48.128214 -66.454208,48.126874 -66.452349,48.127660 -66.449621,48.128542 -66.443042,48.130083 -66.437870,48.130571 -66.432812,48.129696 -66.423933,48.126831 -66.421456,48.125794 -66.414323,48.122026 -66.413778,48.121683 -66.413512,48.121561 -66.407207,48.117644 -66.396590,48.117224 -66.382011,48.120629 -66.376839,48.121114 -66.372953,48.120570 -66.353464,48.115728 -66.352296,48.115394 -66.350046,48.114473 -66.338029,48.108381 -66.336112,48.107196 -66.333468,48.104181 -66.332974,48.102954 -66.331087,48.096479 -66.330861,48.094242 -66.331687,48.091622 -66.346578,48.064937 -66.347065,48.064173 -66.350208,48.061383 -66.354704,48.059611 -66.359869,48.059128 -66.364917,48.060006 -66.367039,48.060693 -66.368151,48.059800 -66.369523,48.058849 -66.374018,48.057077 -66.379154,48.056591 -66.391467,48.057047 -66.417406,48.056802 -66.431519,48.056666 -66.446054,48.054623 -66.446853,48.054582 -66.447692,48.054462 -66.461706,48.053681 -66.475949,48.042942 -66.479402,48.038129 -66.482534,48.035335 -66.485493,48.033990 -66.504848,48.027532 -66.537682,48.013017 -66.540605,48.012044 -66.544815,48.011538 -66.550035,48.011481 -66.559969,48.004161 -66.560928,48.003522 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-65.018292,47.274775 -64.891442,47.406542</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.985831,47.282274 -64.988331,47.285316 -64.988930,47.288777 -64.987537,47.292131 -64.986353,47.293423 -64.980403,47.298829 -64.976259,47.303351 -64.976507,47.306640 -64.977863,47.309487 -64.981713,47.306678 -64.982798,47.305972 -64.987270,47.304270 -64.992359,47.303863 -64.997290,47.304811 -65.004911,47.307454 -65.008934,47.309613 -65.011437,47.312654 -65.012038,47.316116 -65.011123,47.318322 -65.011162,47.318330 -65.015186,47.320488 -65.017690,47.323530 -65.018292,47.326992 -65.018286,47.327006 -65.018289,47.327022 -65.017056,47.337208 -65.015667,47.340533 -65.012491,47.343270 -65.009743,47.344497 -64.998531,47.348232 -64.996804,47.348707 -64.993079,47.349140 -64.973362,47.349476 -64.968811,47.351810 -64.968014,47.353342 -64.969753,47.356989 -64.970351,47.360452 -64.968954,47.363806 -64.968277,47.364604 -64.965860,47.367136 -64.966093,47.367695 -64.966550,47.370841 -64.965152,47.374196 -64.961971,47.376931 -64.961920,47.376951 -64.961885,47.376981 -64.953490,47.381757 -64.944125,47.391161 -64.941577,47.396717 -64.940730,47.398128 -64.938450,47.400288 -64.935064,47.402654 -64.934159,47.403229 -64.929674,47.404928 -64.924573,47.405332 -64.920155,47.404481 -64.917234,47.405532 -64.915119,47.406138 -64.910017,47.406542 -64.908696,47.406424 -64.905028,47.405966 -64.901408,47.405132 -64.897765,47.403261 -64.894919,47.401181 -64.894779,47.401019 -64.894535,47.400888 -64.892035,47.397842 -64.891442,47.394379 -64.891465,47.394325 -64.891456,47.394270 -64.892170,47.389069 -64.892183,47.389037 -64.892338,47.388251 -64.894190,47.381539 -64.894211,47.381498 -64.894234,47.381389 -64.896912,47.372520 -64.901928,47.355775 -64.904938,47.345410 -64.906134,47.343069 -64.906467,47.342782 -64.906602,47.342499 -64.914092,47.334121 -64.917099,47.326850 -64.917813,47.324095 -64.919755,47.321144 -64.919860,47.320894 -64.919830,47.320670 -64.921533,47.312057 -64.923419,47.301603 -64.924762,47.298623 -64.925611,47.297651 -64.936754,47.286553 -64.938508,47.285226 -64.938830,47.284941 -64.946218,47.280432 -64.946361,47.280376 -64.946470,47.280282 -64.949695,47.278906 -64.961048,47.275504 -64.962295,47.275181 -64.967380,47.274775 -64.972307,47.275724 -64.973711,47.276289 -64.983215,47.280679 -64.985831,47.282274 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-65.054040,46.693095 -64.772655,46.971048</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.942473,46.961806 -64.941086,46.965155 -64.937933,46.967885 -64.933493,46.969582 -64.929807,46.970011 -64.867314,46.971048 -64.865949,46.971021 -64.865829,46.970998 -64.865565,46.971002 -64.864204,46.970975 -64.859314,46.970022 -64.855329,46.967860 -64.852857,46.964818 -64.852273,46.961361 -64.852393,46.961072 -64.852391,46.961057 -64.852367,46.960912 -64.852372,46.960900 -64.852362,46.960818 -64.852456,46.960369 -64.853760,46.957565 -64.856918,46.954837 -64.856982,46.954812 -64.857130,46.954685 -64.857259,46.954636 -64.858084,46.953923 -64.858213,46.953874 -64.858509,46.953618 -64.858511,46.953617 -64.859038,46.953162 -64.859326,46.953053 -64.859994,46.952475 -64.860282,46.952366 -64.860421,46.952245 -64.860423,46.952245 -64.860898,46.951834 -64.861129,46.951279 -64.861107,46.951190 -64.861094,46.950817 -64.861134,46.949883 -64.861396,46.949253 -64.857555,46.947169 -64.857519,46.947124 -64.857332,46.947023 -64.857297,46.946980 -64.857109,46.946878 -64.857089,46.946853 -64.855666,46.946081 -64.855609,46.946013 -64.855332,46.945863 -64.855312,46.945838 -64.853889,46.945065 -64.853853,46.945021 -64.853666,46.944919 -64.853559,46.944787 -64.852332,46.944121 -64.852331,46.944120 -64.851666,46.943759 -64.851629,46.943714 -64.851444,46.943613 -64.848973,46.940572 -64.848971,46.940562 -64.848859,46.940425 -64.848699,46.939472 -64.848352,46.938084 -64.848346,46.937935 -64.848364,46.937487 -64.848276,46.936968 -64.848286,46.936945 -64.848282,46.936921 -64.848367,46.936249 -64.849754,46.932949 -64.849957,46.932774 -64.850166,46.932271 -64.850521,46.931965 -64.850688,46.931591 -64.850815,46.931481 -64.850895,46.931289 -64.851307,46.930932 -64.851317,46.930910 -64.854473,46.928183 -64.854475,46.928182 -64.855002,46.927727 -64.855290,46.927617 -64.855958,46.927040 -64.856244,46.926931 -64.856385,46.926809 -64.856705,46.926687 -64.856919,46.926502 -64.856983,46.926478 -64.857131,46.926351 -64.857195,46.926326 -64.857344,46.926198 -64.857822,46.926015 -64.857880,46.925966 -64.857942,46.925942 -64.858092,46.925813 -64.858158,46.925787 -64.858305,46.925661 -64.858846,46.925454 -64.859053,46.925276 -64.859117,46.925251 -64.859266,46.925123 -64.859775,46.924929 -64.859908,46.924814 -64.860163,46.924716 -64.860229,46.924660 -64.861152,46.924308 -64.861195,46.924271 -64.861261,46.924246 -64.861408,46.924119 -64.862331,46.923767 -64.862374,46.923730 -64.862436,46.923706 -64.862586,46.923577 -64.862906,46.923455 -64.863120,46.923270 -64.864045,46.922917 -64.864086,46.922882 -64.864148,46.922858 -64.864298,46.922729 -64.864362,46.922705 -64.864511,46.922576 -64.865883,46.922053 -64.865907,46.922033 -64.865969,46.922009 -64.866119,46.921880 -64.866374,46.921782 -64.866440,46.921726 -64.866981,46.921519 -64.867189,46.921340 -64.867253,46.921315 -64.867401,46.921188 -64.867463,46.921164 -64.867613,46.921035 -64.868091,46.920852 -64.868148,46.920803 -64.868213,46.920778 -64.868362,46.920650 -64.868871,46.920455 -64.869004,46.920341 -64.869102,46.920302 -64.869321,46.920112 -64.869772,46.919940 -64.870281,46.919500 -64.870632,46.919366 -64.870920,46.919117 -64.871022,46.919078 -64.871143,46.918807 -64.871451,46.918541 -64.871560,46.918278 -64.871688,46.918168 -64.871767,46.917976 -64.871796,46.917951 -64.872069,46.917300 -64.872146,46.917234 -64.872274,46.916924 -64.872298,46.916904 -64.872477,46.916473 -64.872656,46.916319 -64.872686,46.916246 -64.872743,46.916197 -64.873608,46.914113 -64.873608,46.914112 -64.874998,46.910765 -64.875179,46.910609 -64.875208,46.910538 -64.875230,46.910519 -64.875409,46.910087 -64.875491,46.910016 -64.876117,46.908510 -64.876179,46.908456 -64.876212,46.907656 -64.876444,46.907097 -64.876460,46.906795 -64.876532,46.906605 -64.876494,46.906384 -64.877361,46.904297 -64.877362,46.904282 -64.877417,46.904141 -64.877390,46.903984 -64.878780,46.900637 -64.878907,46.900526 -64.878987,46.900335 -64.879115,46.900224 -64.879194,46.900034 -64.879500,46.899769 -64.879610,46.899505 -64.879749,46.899384 -64.879918,46.898978 -64.880277,46.898667 -64.880337,46.898523 -64.880806,46.898118 -64.880863,46.897993 -64.881042,46.897838 -64.881072,46.897766 -64.881200,46.897656 -64.881279,46.897464 -64.881989,46.896850 -64.882017,46.896781 -64.882145,46.896671 -64.882225,46.896479 -64.882636,46.896124 -64.882646,46.896100 -64.882766,46.895996 -64.882954,46.895573 -64.883210,46.895351 -64.883276,46.895192 -64.883280,46.895089 -64.883315,46.895005 -64.883285,46.894158 -64.883324,46.893224 -64.883459,46.892898 -64.883458,46.892888 -64.883497,46.891953 -64.883632,46.891627 -64.883624,46.891394 -64.883662,46.890459 -64.883797,46.890134 -64.883776,46.889523 -64.883815,46.888592 -64.884041,46.888048 -64.884057,46.887686 -64.884134,46.887483 -64.884093,46.887245 -64.885482,46.883899 -64.885546,46.883843 -64.886488,46.881571 -64.886551,46.881516 -64.886591,46.881420 -64.886772,46.881263 -64.886802,46.881193 -64.886823,46.881174 -64.887003,46.880742 -64.887084,46.880671 -64.887709,46.879165 -64.887964,46.878944 -64.888123,46.878561 -64.888367,46.878350 -64.888436,46.878183 -64.888458,46.878164 -64.888637,46.877732 -64.888946,46.877465 -64.889054,46.877203 -64.889408,46.876897 -64.889574,46.876524 -64.889754,46.876368 -64.889784,46.876296 -64.889912,46.876185 -64.889991,46.875995 -64.890117,46.875886 -64.890197,46.875693 -64.890337,46.875572 -64.890505,46.875167 -64.890918,46.874809 -64.890927,46.874787 -64.891053,46.874677 -64.891133,46.874485 -64.891262,46.874373 -64.891340,46.874184 -64.892524,46.873158 -64.892602,46.872970 -64.893417,46.872265 -64.893547,46.871984 -64.893726,46.871829 -64.893756,46.871757 -64.894345,46.871246 -64.894488,46.870925 -64.894616,46.870815 -64.894695,46.870623 -64.894770,46.870558 -64.894899,46.870247 -64.895206,46.869981 -64.895315,46.869718 -64.895372,46.869669 -64.895519,46.869314 -64.895528,46.869086 -64.895725,46.868611 -64.895727,46.868561 -64.895899,46.868148 -64.895916,46.867737 -64.895980,46.867583 -64.896001,46.867065 -64.896185,46.866622 -64.896194,46.866391 -64.896329,46.866064 -64.896263,46.864191 -64.896302,46.863258 -64.896486,46.862814 -64.896495,46.862583 -64.896655,46.862197 -64.896612,46.858978 -64.896498,46.858518 -64.896492,46.858353 -64.896240,46.857332 -64.896229,46.857018 -64.895975,46.855994 -64.895972,46.855904 -64.895718,46.854879 -64.895701,46.854384 -64.895465,46.853539 -64.895407,46.852933 -64.895195,46.852075 -64.895176,46.852052 -64.894552,46.849527 -64.894546,46.849367 -64.894294,46.848349 -64.894283,46.848051 -64.894287,46.847935 -64.894278,46.847895 -64.894272,46.847734 -64.894146,46.847224 -64.894137,46.846964 -64.893628,46.844874 -64.893626,46.844800 -64.893629,46.844720 -64.893621,46.844686 -64.893611,46.844388 -64.893615,46.844287 -64.893607,46.844252 -64.893599,46.844028 -64.893608,46.843798 -64.893491,46.843325 -64.893456,46.843282 -64.892833,46.840791 -64.892830,46.840716 -64.892833,46.840642 -64.892791,46.840178 -64.892573,46.839293 -64.892554,46.839269 -64.892472,46.838941 -64.892319,46.838751 -64.892007,46.837704 -64.891954,46.837638 -64.891822,46.837106 -64.891713,46.836971 -64.891580,46.836437 -64.891472,46.836304 -64.891290,46.835566 -64.891227,46.835488 -64.890943,46.834548 -64.890864,46.834450 -64.890732,46.833918 -64.890623,46.833783 -64.890542,46.833455 -64.890388,46.833265 -64.890282,46.832836 -64.890149,46.832672 -64.890018,46.832139 -64.889910,46.832005 -64.889424,46.830303 -64.889301,46.830151 -64.889245,46.829927 -64.889068,46.829708 -64.888987,46.829380 -64.888832,46.829189 -64.888550,46.828250 -64.888471,46.828152 -64.888415,46.827926 -64.888238,46.827708 -64.888207,46.827585 -64.888008,46.827339 -64.888003,46.827318 -64.887780,46.827044 -64.887649,46.826647 -64.887431,46.826379 -64.887350,46.826052 -64.887195,46.825861 -64.887191,46.825842 -64.886967,46.825567 -64.886937,46.825444 -64.886737,46.825198 -64.886688,46.825059 -64.886143,46.824387 -64.885915,46.824263 -64.885507,46.823761 -64.885351,46.823676 -64.885209,46.823501 -64.885126,46.823456 -64.885090,46.823413 -64.884904,46.823311 -64.884389,46.822677 -64.884338,46.822649 -64.883700,46.821863 -64.883658,46.821840 -64.881192,46.818801 -64.881164,46.818718 -64.880395,46.817770 -64.880391,46.817751 -64.880167,46.817476 -64.880127,46.817362 -64.879144,46.816150 -64.879104,46.816038 -64.878317,46.815068 -64.878316,46.815067 -64.877802,46.814433 -64.877750,46.814405 -64.877466,46.814056 -64.877300,46.813965 -64.877158,46.813791 -64.877075,46.813745 -64.876561,46.813111 -64.876509,46.813083 -64.876226,46.812734 -64.876059,46.812643 -64.875793,46.812315 -64.875721,46.812276 -64.875438,46.811927 -64.875271,46.811836 -64.874615,46.811027 -64.874480,46.810954 -64.873719,46.810016 -64.873687,46.809998 -64.873296,46.809516 -64.873235,46.809483 -64.872951,46.809134 -64.872785,46.809043 -64.870320,46.806004 -64.870297,46.805912 -64.869955,46.805489 -64.869725,46.805365 -64.869176,46.804687 -64.868937,46.804557 -64.868654,46.804208 -64.868487,46.804117 -64.867831,46.803308 -64.867697,46.803235 -64.867148,46.802557 -64.866908,46.802427 -64.866625,46.802077 -64.866459,46.801987 -64.866403,46.801920 -64.866126,46.801769 -64.866090,46.801726 -64.865904,46.801624 -64.865867,46.801579 -64.865682,46.801478 -64.865646,46.801435 -64.865460,46.801333 -64.865405,46.801265 -64.865127,46.801114 -64.865092,46.801072 -64.864904,46.800969 -64.864832,46.800881 -64.864460,46.800678 -64.864318,46.800503 -64.864235,46.800458 -64.861771,46.797419 -64.861702,46.797192 -64.859498,46.794473 -64.859401,46.794189 -64.859152,46.793882 -64.858996,46.793247 -64.858909,46.793141 -64.858889,46.793059 -64.856867,46.790563 -64.856837,46.790441 -64.856637,46.790194 -64.856632,46.790174 -64.856410,46.789900 -64.856352,46.789736 -64.856066,46.789383 -64.855986,46.789055 -64.855831,46.788865 -64.855776,46.788639 -64.855599,46.788421 -64.855468,46.787889 -64.854999,46.787633 -64.854962,46.787588 -64.854777,46.787487 -64.854705,46.787399 -64.854333,46.787196 -64.854279,46.787130 -64.854000,46.786978 -64.853963,46.786933 -64.853778,46.786832 -64.853743,46.786789 -64.853556,46.786687 -64.853520,46.786643 -64.853333,46.786541 -64.853276,46.786473 -64.853000,46.786323 -64.852979,46.786298 -64.851562,46.785526 -64.851527,46.785482 -64.851340,46.785381 -64.851304,46.785337 -64.851117,46.785235 -64.851060,46.785167 -64.850784,46.785017 -64.850765,46.784993 -64.850009,46.784581 -64.849830,46.784361 -64.849563,46.784215 -64.849528,46.784172 -64.849341,46.784070 -64.849305,46.784026 -64.849118,46.783924 -64.848973,46.783746 -64.846903,46.782618 -64.846813,46.782508 -64.846348,46.782254 -64.843887,46.779215 -64.843832,46.778991 -64.843654,46.778772 -64.843323,46.777429 -64.842374,46.776257 -64.842243,46.775860 -64.842026,46.775591 -64.842021,46.775571 -64.841799,46.775297 -64.841718,46.774969 -64.841564,46.774778 -64.840944,46.772256 -64.840938,46.772073 -64.840898,46.772051 -64.840861,46.772007 -64.840676,46.771905 -64.840411,46.771578 -64.840338,46.771538 -64.840301,46.771494 -64.840116,46.771392 -64.839833,46.771043 -64.839667,46.770952 -64.839525,46.770777 -64.839443,46.770732 -64.837180,46.767936 -64.837177,46.767935 -64.834718,46.764896 -64.834715,46.764887 -64.834604,46.764749 -64.834598,46.764728 -64.834377,46.764454 -64.833989,46.762878 -64.832931,46.761570 -64.832835,46.761517 -64.832535,46.761146 -64.832275,46.761004 -64.831991,46.760653 -64.831827,46.760563 -64.831685,46.760388 -64.831603,46.760343 -64.831444,46.760147 -64.831267,46.760050 -64.831266,46.760049 -64.830604,46.759688 -64.830444,46.759491 -64.830269,46.759395 -64.830234,46.759352 -64.830047,46.759250 -64.829939,46.759117 -64.828054,46.758089 -64.828018,46.758044 -64.827832,46.757943 -64.827796,46.757898 -64.827610,46.757797 -64.827468,46.757622 -64.827386,46.757577 -64.827014,46.757118 -64.826382,46.756773 -64.826222,46.756575 -64.826047,46.756480 -64.825871,46.756262 -64.825601,46.756115 -64.825089,46.755481 -64.825036,46.755453 -64.825000,46.755408 -64.824814,46.755307 -64.824778,46.755262 -64.824592,46.755161 -64.824557,46.755118 -64.824370,46.755016 -64.824334,46.754971 -64.824148,46.754870 -64.823884,46.754543 -64.823810,46.754503 -64.823739,46.754415 -64.823366,46.754211 -64.823277,46.754102 -64.822811,46.753847 -64.822702,46.753712 -64.820819,46.752685 -64.820395,46.752161 -64.820146,46.752025 -64.819741,46.751523 -64.819585,46.751438 -64.819549,46.751394 -64.819362,46.751292 -64.819221,46.751117 -64.819139,46.751072 -64.819102,46.751027 -64.818917,46.750926 -64.818652,46.750599 -64.818579,46.750559 -64.818543,46.750515 -64.818357,46.750413 -64.818322,46.750370 -64.818135,46.750268 -64.818099,46.750223 -64.817913,46.750122 -64.817855,46.750054 -64.817581,46.749904 -64.817545,46.749859 -64.817359,46.749758 -64.817323,46.749713 -64.817137,46.749612 -64.817102,46.749569 -64.816915,46.749467 -64.816861,46.749400 -64.816582,46.749248 -64.816547,46.749205 -64.816360,46.749103 -64.816077,46.748754 -64.815911,46.748663 -64.815768,46.748486 -64.815687,46.748442 -64.815527,46.748244 -64.814689,46.747787 -64.814530,46.747590 -64.814353,46.747494 -64.814177,46.747276 -64.813907,46.747129 -64.813871,46.747084 -64.813685,46.746983 -64.813384,46.746610 -64.813126,46.746470 -64.813090,46.746425 -64.812904,46.746324 -64.812870,46.746281 -64.812682,46.746178 -64.812345,46.745762 -64.811901,46.745519 -64.811865,46.745475 -64.811679,46.745373 -64.811645,46.745331 -64.811457,46.745228 -64.811369,46.745119 -64.810902,46.744864 -64.810866,46.744819 -64.810681,46.744718 -64.810645,46.744674 -64.810459,46.744572 -64.810371,46.744463 -64.809904,46.744208 -64.809870,46.744166 -64.809682,46.744063 -64.809646,46.744019 -64.809460,46.743917 -64.809425,46.743873 -64.809239,46.743772 -64.809201,46.743725 -64.807691,46.742901 -64.807657,46.742858 -64.807469,46.742756 -64.807434,46.742712 -64.807247,46.742610 -64.806983,46.742282 -64.806911,46.742243 -64.806695,46.741976 -64.804254,46.740644 -64.803978,46.740302 -64.803792,46.740266 -64.799831,46.738103 -64.799567,46.737777 -64.799493,46.737736 -64.799491,46.737734 -64.798830,46.737373 -64.798671,46.737176 -64.797832,46.736718 -64.797795,46.736673 -64.797611,46.736572 -64.797453,46.736376 -64.797275,46.736279 -64.797274,46.736278 -64.796613,46.735917 -64.796454,46.735720 -64.796278,46.735624 -64.796278,46.735624 -64.795615,46.735262 -64.795579,46.735217 -64.795379,46.735178 -64.794197,46.734532 -64.794165,46.734526 -64.793354,46.734083 -64.793063,46.734022 -64.792901,46.733933 -64.792625,46.733879 -64.792466,46.733792 -64.792186,46.733737 -64.791960,46.733613 -64.791856,46.733593 -64.791645,46.733478 -64.791199,46.733380 -64.790680,46.733096 -64.790647,46.733090 -64.786687,46.730927 -64.786476,46.730666 -64.786019,46.730416 -64.785825,46.730175 -64.785462,46.729977 -64.785337,46.729822 -64.784024,46.729105 -64.783405,46.728338 -64.782796,46.728005 -64.782637,46.727808 -64.781798,46.727350 -64.781532,46.727021 -64.781461,46.726982 -64.781302,46.726785 -64.780463,46.726326 -64.780179,46.725975 -64.780015,46.725885 -64.779838,46.725666 -64.779569,46.725519 -64.779410,46.725323 -64.779234,46.725226 -64.779233,46.725226 -64.778572,46.724864 -64.778413,46.724667 -64.778237,46.724571 -64.778201,46.724527 -64.778015,46.724425 -64.777874,46.724251 -64.777791,46.724205 -64.776645,46.722785 -64.776550,46.722733 -64.776040,46.722100 -64.775986,46.722071 -64.773534,46.719031 -64.773529,46.719011 -64.773307,46.718736 -64.772692,46.716216 -64.772655,46.715098 -64.772696,46.714163 -64.774087,46.710821 -64.777232,46.708099 -64.777519,46.707989 -64.777658,46.707869 -64.777910,46.707772 -64.777978,46.707714 -64.782397,46.706027 -64.786093,46.705603 -64.786527,46.705597 -64.787853,46.705625 -64.792223,46.706485 -64.795285,46.706130 -64.796910,46.706104 -64.798274,46.706132 -64.803134,46.707087 -64.803229,46.707140 -64.803681,46.707228 -64.804343,46.707590 -64.804344,46.707590 -64.805211,46.708064 -64.805981,46.707975 -64.806632,46.707965 -64.807035,46.707973 -64.807186,46.707955 -64.807728,46.707947 -64.808584,46.707965 -64.808899,46.707929 -64.809316,46.707922 -64.809831,46.706682 -64.810421,46.706170 -64.810461,46.706075 -64.813603,46.703352 -64.814143,46.703145 -64.814349,46.702967 -64.815048,46.702700 -64.815097,46.702657 -64.819514,46.700968 -64.819530,46.700966 -64.819729,46.700890 -64.822103,46.700670 -64.823217,46.700542 -64.823434,46.700539 -64.823504,46.700541 -64.824259,46.700471 -64.825457,46.700507 -64.826252,46.698591 -64.826380,46.698479 -64.826459,46.698290 -64.829599,46.695566 -64.829661,46.695543 -64.829810,46.695413 -64.834226,46.693724 -64.835596,46.693564 -64.835629,46.693552 -64.839298,46.693126 -64.840057,46.693114 -64.840210,46.693117 -64.840261,46.693111 -64.841236,46.693095 -64.842598,46.693122 -64.843200,46.693240 -64.843795,46.693252 -64.848654,46.694206 -64.849171,46.694488 -64.849206,46.694494 -64.850558,46.695232 -64.852605,46.695633 -64.856564,46.697793 -64.859022,46.700831 -64.859077,46.701055 -64.859081,46.701060 -64.861821,46.702554 -64.861856,46.702597 -64.862043,46.702699 -64.862079,46.702744 -64.862265,46.702845 -64.864724,46.705883 -64.864781,46.706046 -64.865067,46.706399 -64.865687,46.708923 -64.865702,46.709370 -64.865681,46.709881 -64.866023,46.710067 -64.868249,46.709808 -64.868899,46.709796 -64.870267,46.709823 -64.875129,46.710775 -64.877292,46.711954 -64.879905,46.710953 -64.879935,46.710949 -64.880333,46.710797 -64.881108,46.710706 -64.881303,46.710632 -64.884963,46.710204 -64.886155,46.710184 -64.887516,46.710211 -64.888074,46.710320 -64.888929,46.710337 -64.890107,46.710567 -64.891432,46.710594 -64.892784,46.710858 -64.892873,46.710867 -64.893256,46.710950 -64.896294,46.711544 -64.896506,46.711660 -64.896952,46.711757 -64.900915,46.713915 -64.902473,46.715837 -64.902474,46.715838 -64.905832,46.714550 -64.906011,46.714530 -64.906369,46.714392 -64.906679,46.714356 -64.906799,46.714311 -64.908482,46.714114 -64.910313,46.713412 -64.910315,46.713410 -64.910635,46.713288 -64.910847,46.713103 -64.915261,46.711410 -64.918939,46.710981 -64.919048,46.710979 -64.919793,46.710892 -64.920766,46.710876 -64.920984,46.710792 -64.921015,46.710789 -64.921412,46.710636 -64.921578,46.710617 -64.921735,46.710556 -64.925395,46.710127 -64.926153,46.710114 -64.927514,46.710140 -64.932376,46.711089 -64.932420,46.711113 -64.936526,46.711914 -64.940491,46.714070 -64.940526,46.714113 -64.940713,46.714215 -64.943177,46.717251 -64.943208,46.717374 -64.943407,46.717620 -64.943463,46.717845 -64.943641,46.718064 -64.943722,46.718392 -64.943876,46.718582 -64.943931,46.718806 -64.944109,46.719025 -64.944334,46.719751 -64.944466,46.719913 -64.944502,46.720057 -64.944923,46.720576 -64.945055,46.721110 -64.945164,46.721244 -64.945167,46.721256 -64.945277,46.721391 -64.945460,46.722128 -64.945524,46.722207 -64.945529,46.722228 -64.945751,46.722501 -64.945782,46.722624 -64.945982,46.722870 -64.946063,46.723199 -64.946217,46.723388 -64.946412,46.724007 -64.946572,46.724203 -64.946653,46.724532 -64.946807,46.724721 -64.946863,46.724946 -64.947040,46.725164 -64.947070,46.725287 -64.947270,46.725533 -64.947525,46.726366 -64.947630,46.726496 -64.947661,46.726619 -64.947860,46.726865 -64.947916,46.727091 -64.948093,46.727309 -64.948124,46.727432 -64.948324,46.727678 -64.948430,46.728107 -64.948562,46.728270 -64.948787,46.728997 -64.948919,46.729159 -64.948955,46.729302 -64.949377,46.729823 -64.949433,46.730048 -64.949609,46.730266 -64.949893,46.731205 -64.949972,46.731303 -64.950054,46.731632 -64.950207,46.731821 -64.950263,46.732046 -64.950441,46.732264 -64.950471,46.732388 -64.950671,46.732633 -64.950927,46.733469 -64.951031,46.733597 -64.951112,46.733925 -64.951267,46.734115 -64.951272,46.734136 -64.951494,46.734409 -64.951575,46.734736 -64.951730,46.734927 -64.951735,46.734948 -64.951957,46.735221 -64.952183,46.735947 -64.952315,46.736110 -64.952372,46.736338 -64.952547,46.736554 -64.952629,46.736881 -64.952784,46.737072 -64.952814,46.737195 -64.953014,46.737441 -64.953326,46.738488 -64.953379,46.738553 -64.953384,46.738572 -64.953607,46.738847 -64.953638,46.738970 -64.953837,46.739216 -64.953918,46.739543 -64.954073,46.739734 -64.954178,46.740156 -64.954197,46.740179 -64.954279,46.740507 -64.954433,46.740697 -64.954464,46.740821 -64.954663,46.741066 -64.954719,46.741291 -64.954897,46.741509 -64.954978,46.741839 -64.955132,46.742027 -64.955211,46.742346 -64.955254,46.742398 -64.955340,46.742747 -64.955717,46.743210 -64.955824,46.743641 -64.955956,46.743803 -64.955987,46.743926 -64.956186,46.744172 -64.956268,46.744501 -64.956421,46.744690 -64.956590,46.745223 -64.958792,46.746418 -64.958827,46.746462 -64.959014,46.746563 -64.959049,46.746607 -64.959236,46.746708 -64.959326,46.746819 -64.959792,46.747072 -64.959797,46.747078 -64.962448,46.748518 -64.962593,46.748696 -64.964001,46.749461 -64.964001,46.749461 -64.964665,46.749822 -64.964720,46.749890 -64.965663,46.750401 -64.965721,46.750470 -64.965996,46.750619 -64.966016,46.750644 -64.967435,46.751414 -64.967455,46.751439 -64.968875,46.752210 -64.968948,46.752300 -64.969983,46.752862 -64.970003,46.752887 -64.971423,46.753658 -64.971424,46.753659 -64.972087,46.754019 -64.972248,46.754216 -64.972423,46.754311 -64.972424,46.754313 -64.973087,46.754672 -64.973105,46.754695 -64.973863,46.755106 -64.973884,46.755133 -64.975302,46.755902 -64.975340,46.755949 -64.976853,46.756770 -64.976888,46.756814 -64.977075,46.756915 -64.977112,46.756960 -64.977297,46.757061 -64.977370,46.757150 -64.978406,46.757713 -64.978406,46.757713 -64.979071,46.758074 -64.979128,46.758143 -64.980068,46.758653 -64.980106,46.758700 -64.981619,46.759521 -64.981690,46.759608 -64.982064,46.759811 -64.982066,46.759814 -64.982728,46.760173 -64.982782,46.760240 -64.983214,46.760474 -64.983339,46.760459 -64.983615,46.760354 -64.984121,46.760294 -64.984797,46.760035 -64.986318,46.759820 -64.986415,46.759783 -64.986893,46.759727 -64.987168,46.759621 -64.987349,46.759600 -64.987705,46.759463 -64.987733,46.759460 -64.988133,46.759306 -64.989503,46.759110 -64.989644,46.759056 -64.989973,46.759017 -64.990289,46.758896 -64.990764,46.758840 -64.991042,46.758733 -64.991372,46.758694 -64.991687,46.758573 -64.992745,46.758417 -64.992980,46.758327 -64.993307,46.758289 -64.993625,46.758166 -64.997339,46.757733 -64.997664,46.757728 -64.998975,46.757754 -64.999082,46.757775 -64.999793,46.757691 -65.000533,46.757678 -65.000913,46.757621 -65.001196,46.757512 -65.001224,46.757509 -65.001624,46.757355 -65.001805,46.757334 -65.002161,46.757198 -65.002669,46.757137 -65.003343,46.756879 -65.004554,46.756702 -65.004743,46.756630 -65.004925,46.756608 -65.005280,46.756472 -65.005487,46.756447 -65.006245,46.756156 -65.006793,46.756074 -65.009031,46.755213 -65.009238,46.755188 -65.009996,46.754897 -65.010475,46.754841 -65.010750,46.754735 -65.010778,46.754732 -65.011177,46.754578 -65.011757,46.754487 -65.012144,46.754338 -65.012323,46.754317 -65.012681,46.754179 -65.012710,46.754176 -65.013109,46.754022 -65.013588,46.753966 -65.013863,46.753860 -65.014102,46.753820 -65.014613,46.753623 -65.014940,46.753584 -65.015258,46.753462 -65.015440,46.753441 -65.015795,46.753304 -65.016122,46.753266 -65.016440,46.753143 -65.016606,46.753124 -65.016763,46.753063 -65.017090,46.753025 -65.017407,46.752902 -65.017588,46.752881 -65.017943,46.752744 -65.021602,46.752312 -65.022145,46.752302 -65.023511,46.752326 -65.028380,46.753270 -65.031523,46.754972 -65.035198,46.755684 -65.035717,46.755966 -65.035750,46.755972 -65.036261,46.756249 -65.036632,46.756329 -65.037820,46.756973 -65.037850,46.756979 -65.038370,46.757260 -65.038403,46.757267 -65.042378,46.759419 -65.042415,46.759464 -65.042601,46.759565 -65.042691,46.759676 -65.043157,46.759928 -65.043192,46.759972 -65.043380,46.760073 -65.043398,46.760096 -65.044156,46.760506 -65.044299,46.760682 -65.044381,46.760726 -65.044417,46.760770 -65.044603,46.760871 -65.044638,46.760914 -65.044826,46.761016 -65.044880,46.761082 -65.045160,46.761234 -65.045196,46.761278 -65.045382,46.761379 -65.045419,46.761424 -65.045605,46.761525 -65.045641,46.761569 -65.045827,46.761670 -65.045881,46.761736 -65.046161,46.761888 -65.046197,46.761932 -65.046383,46.762033 -65.046418,46.762076 -65.046606,46.762178 -65.046909,46.762549 -65.047168,46.762690 -65.047452,46.763038 -65.047619,46.763128 -65.047655,46.763173 -65.047841,46.763274 -65.047984,46.763449 -65.048066,46.763493 -65.050540,46.766527 -65.051172,46.769050 -65.051190,46.769497 -65.051154,46.770428 -65.049782,46.773775 -65.048534,46.774864 -65.047927,46.776344 -65.044794,46.779076 -65.043081,46.779736 -65.043121,46.779785 -65.043152,46.779907 -65.043352,46.780153 -65.043358,46.780175 -65.043581,46.780448 -65.043662,46.780775 -65.043817,46.780965 -65.043899,46.781293 -65.044054,46.781483 -65.044107,46.781697 -65.044174,46.781779 -65.044256,46.782108 -65.044410,46.782296 -65.044492,46.782625 -65.044647,46.782814 -65.044652,46.782835 -65.044875,46.783108 -65.045009,46.783642 -65.045117,46.783775 -65.045374,46.784609 -65.045480,46.784738 -65.045511,46.784862 -65.045711,46.785107 -65.045767,46.785332 -65.045945,46.785550 -65.046027,46.785878 -65.046182,46.786068 -65.046236,46.786283 -65.046302,46.786364 -65.046384,46.786693 -65.046538,46.786882 -65.046620,46.787210 -65.046775,46.787400 -65.046781,46.787421 -65.047003,46.787694 -65.047086,46.788023 -65.047240,46.788212 -65.047322,46.788540 -65.047477,46.788729 -65.047582,46.789148 -65.047603,46.789174 -65.047685,46.789503 -65.047839,46.789692 -65.047870,46.789816 -65.048070,46.790061 -65.048075,46.790080 -65.048299,46.790355 -65.048381,46.790683 -65.048535,46.790873 -65.048792,46.791707 -65.048897,46.791836 -65.048980,46.792164 -65.049135,46.792353 -65.049165,46.792476 -65.049366,46.792721 -65.049422,46.792948 -65.049600,46.793165 -65.049857,46.794000 -65.049962,46.794128 -65.050044,46.794456 -65.050199,46.794646 -65.050281,46.794973 -65.050436,46.795163 -65.050467,46.795287 -65.050667,46.795532 -65.050803,46.796076 -65.051024,46.796346 -65.051131,46.796776 -65.051264,46.796938 -65.051346,46.797266 -65.051501,46.797456 -65.051532,46.797580 -65.051732,46.797825 -65.051788,46.798050 -65.051966,46.798268 -65.052194,46.798995 -65.052325,46.799156 -65.052433,46.799587 -65.052565,46.799749 -65.052596,46.799871 -65.052797,46.800117 -65.052878,46.800444 -65.053034,46.800635 -65.053231,46.801254 -65.053390,46.801449 -65.054022,46.803972 -65.054040,46.804419 -65.054005,46.805350 -65.052632,46.808698 -65.049497,46.811430 -65.045077,46.813131 -65.042209,46.813470 -65.042363,46.813969 -65.042468,46.814098 -65.042550,46.814427 -65.042704,46.814616 -65.042734,46.814736 -65.042936,46.814984 -65.042993,46.815212 -65.043169,46.815428 -65.043455,46.816367 -65.043534,46.816465 -65.043591,46.816690 -65.043768,46.816908 -65.043851,46.817236 -65.044006,46.817425 -65.044088,46.817754 -65.044243,46.817943 -65.044500,46.818778 -65.044605,46.818906 -65.044636,46.819030 -65.044836,46.819275 -65.044893,46.819501 -65.045070,46.819718 -65.045153,46.820047 -65.045307,46.820236 -65.045338,46.820359 -65.045538,46.820604 -65.045853,46.821651 -65.045907,46.821716 -65.046080,46.822403 -65.046119,46.822535 -65.046127,46.822591 -65.046539,46.824227 -65.046545,46.824377 -65.046510,46.825320 -65.045136,46.828669 -65.043607,46.830000 -65.043623,46.830418 -65.043879,46.831433 -65.043888,46.831656 -65.043861,46.832374 -65.043924,46.832622 -65.043930,46.832771 -65.043907,46.833399 -65.043962,46.833620 -65.043970,46.833843 -65.043935,46.834762 -65.043934,46.834763 -65.044018,46.835099 -65.044350,46.843818 -65.044323,46.844530 -65.044386,46.844782 -65.044429,46.845899 -65.044419,46.846178 -65.044443,46.846277 -65.045030,46.861720 -65.045286,46.862741 -65.045735,46.874537 -65.045992,46.875568 -65.046000,46.875791 -65.045992,46.875998 -65.046011,46.876071 -65.046054,46.877189 -65.046052,46.877249 -65.046058,46.877271 -65.046083,46.877941 -65.046064,46.878430 -65.046108,46.878603 -65.046134,46.879274 -65.046113,46.879828 -65.046162,46.880024 -65.046196,46.880918 -65.046184,46.881250 -65.046213,46.881365 -65.046247,46.882259 -65.046243,46.882369 -65.046253,46.882410 -65.046443,46.887397 -65.046571,46.887906 -65.046577,46.888055 -65.046543,46.888966 -65.046624,46.889288 -65.046629,46.889437 -65.046593,46.890342 -65.046592,46.890343 -65.046676,46.890679 -65.047091,46.901558 -65.047056,46.902488 -65.045679,46.905838 -65.042537,46.908571 -65.038107,46.910272 -65.034423,46.910706 -65.029312,46.910797 -65.028906,46.910790 -65.028767,46.910806 -65.007766,46.911177 -65.006280,46.911352 -65.005736,46.911362 -65.004427,46.911339 -65.003968,46.911392 -65.003314,46.911403 -65.002379,46.911386 -65.002040,46.911426 -65.001170,46.911442 -65.000023,46.911421 -64.999623,46.911468 -64.998862,46.911481 -64.997825,46.911462 -64.997448,46.911506 -64.996687,46.911519 -64.995497,46.911497 -64.995063,46.911548 -64.961983,46.912120 -64.960493,46.912294 -64.958427,46.912330 -64.958338,46.912329 -64.958305,46.912333 -64.956457,46.912364 -64.956382,46.912362 -64.956353,46.912366 -64.954179,46.912403 -64.954021,46.912400 -64.953962,46.912407 -64.953639,46.912412 -64.953936,46.919026 -64.954202,46.920084 -64.954205,46.920158 -64.954173,46.921006 -64.954246,46.921300 -64.954266,46.921822 -64.954246,46.922317 -64.954290,46.922494 -64.954685,46.933318 -64.954939,46.934339 -64.955067,46.937841 -64.955063,46.937952 -64.955072,46.937990 -64.955168,46.940598 -64.955131,46.941532 -64.953746,46.944880 -64.950595,46.947611 -64.946158,46.949308 -64.943069,46.949668 -64.943040,46.950387 -64.942905,46.950714 -64.942932,46.951472 -64.942894,46.952403 -64.942760,46.952727 -64.942855,46.955350 -64.942817,46.956282 -64.942783,46.956366 -64.942816,46.957287 -64.942779,46.958221 -64.942644,46.958547 -64.942685,46.959677 -64.942648,46.960610 -64.942507,46.960949 -64.942473,46.961806 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-66.750218,44.927598 -66.678821,44.994864</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-66.684577,44.971723 -66.684694,44.971242 -66.685514,44.969282 -66.686213,44.967990 -66.686319,44.967890 -66.686362,44.967776 -66.688882,44.964272 -66.691641,44.961722 -66.695817,44.959958 -66.696272,44.959911 -66.696570,44.959795 -66.696612,44.959754 -66.700788,44.957990 -66.705597,44.957494 -66.705815,44.957533 -66.706018,44.957515 -66.708567,44.957671 -66.712856,44.958499 -66.714456,44.959249 -66.714400,44.957964 -66.715595,44.954619 -66.717434,44.952869 -66.717408,44.952741 -66.717570,44.952286 -66.717138,44.950177 -66.717986,44.947804 -66.717949,44.947741 -66.717250,44.944327 -66.717483,44.943673 -66.717103,44.941334 -66.718296,44.937990 -66.718989,44.937217 -66.719635,44.935500 -66.719951,44.935115 -66.720582,44.933348 -66.721332,44.932387 -66.721982,44.931665 -66.724135,44.929861 -66.728307,44.928095 -66.733113,44.927598 -66.734935,44.927761 -66.737354,44.928109 -66.740239,44.928792 -66.744132,44.930854 -66.746297,44.933434 -66.746481,44.933531 -66.748968,44.936494 -66.749669,44.939908 -66.749187,44.941261 -66.749212,44.941382 -66.749375,44.941576 -66.749517,44.941859 -66.750218,44.945273 -66.749027,44.948617 -66.748998,44.948645 -66.749379,44.950125 -66.749392,44.950601 -66.749357,44.950715 -66.749365,44.950752 -66.749311,44.950903 -66.749378,44.951228 -66.748591,44.953896 -66.747955,44.955094 -66.747549,44.955770 -66.746272,44.956986 -66.745748,44.958457 -66.744977,44.959191 -66.743908,44.962191 -66.743377,44.962899 -66.742534,44.963909 -66.740160,44.965968 -66.739763,44.966136 -66.739632,44.966260 -66.739587,44.966279 -66.739483,44.966371 -66.739189,44.966534 -66.738643,44.968065 -66.737999,44.969024 -66.737870,44.969216 -66.734965,44.971983 -66.730789,44.973749 -66.729140,44.973919 -66.728902,44.974427 -66.727163,44.977018 -66.724256,44.979784 -66.722931,44.980523 -66.720391,44.981751 -66.720265,44.982105 -66.717357,44.984870 -66.714664,44.986183 -66.714346,44.986298 -66.710874,44.988857 -66.710534,44.989013 -66.710239,44.989293 -66.707208,44.990723 -66.706619,44.990920 -66.704008,44.992407 -66.700370,44.993845 -66.696886,44.994339 -66.696804,44.994342 -66.696698,44.994369 -66.691885,44.994864 -66.687172,44.994015 -66.683276,44.991950 -66.680790,44.988984 -66.680732,44.988702 -66.680566,44.988489 -66.680258,44.987733 -66.679752,44.986867 -66.679700,44.986650 -66.679518,44.986433 -66.678821,44.983018 -66.679003,44.981908 -66.679307,44.980715 -66.680323,44.978481 -66.680807,44.977831 -66.681716,44.976726 -66.681778,44.976672 -66.681936,44.976469 -66.683303,44.974930 -66.683748,44.974554 -66.684395,44.972120 -66.684577,44.971723 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-66.732461,44.939538 -66.733165,44.939506 -66.733821,44.939543 -66.734532,44.939499 -66.734618,44.939371 -66.734632,44.939290 -66.734645,44.939181 -66.734546,44.939090 -66.734269,44.938726 -66.734262,44.938467 -66.734258,44.938210 -66.734174,44.937593 -66.734003,44.937597 -66.733898,44.937604 -66.733785,44.937623 -66.733680,44.937630 -66.733462,44.937628 -66.733299,44.937601 -66.733171,44.937607 -66.733119,44.938178 -66.732334,44.938854 -66.732188,44.938841 -66.732311,44.939075 -66.732415,44.939309 -66.732461,44.939538 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-65.267286,47.776389 -65.235749,47.796606</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-65.265902,47.783216 -65.265903,47.783221 -65.266629,47.784260 -65.267229,47.786171 -65.267258,47.786367 -65.267286,47.787923 -65.265899,47.791287 -65.265828,47.791382 -65.262635,47.794132 -65.260350,47.795002 -65.259056,47.795548 -65.258895,47.795595 -65.258581,47.795675 -65.258122,47.795850 -65.257793,47.795877 -65.257770,47.795883 -65.252625,47.796306 -65.252505,47.796283 -65.248576,47.796606 -65.243582,47.795670 -65.239501,47.793517 -65.239449,47.793454 -65.239369,47.793411 -65.238789,47.792943 -65.236375,47.790007 -65.235749,47.786540 -65.237139,47.783176 -65.240333,47.780427 -65.241311,47.779911 -65.242881,47.779161 -65.243123,47.778952 -65.243178,47.778932 -65.243216,47.778899 -65.243961,47.778475 -65.248380,47.776811 -65.253523,47.776389 -65.258514,47.777324 -65.262594,47.779476 -65.263244,47.780028 -65.264003,47.780727 -65.264978,47.782005 -65.265036,47.782057 -65.265245,47.782281 -65.265866,47.783168 -65.265902,47.783216 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-66.621686,45.580578 -66.005343,45.941683</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-66.605503,45.862864 -66.618154,45.877761 -66.621686,45.894908 -66.615550,45.911694 -66.601866,45.924794 -66.594531,45.929631 -66.593848,45.929922 -66.593336,45.930399 -66.571973,45.939233 -66.547388,45.941683 -66.523332,45.937377 -66.521788,45.936568 -66.520192,45.936249 -66.499814,45.928418 -66.490167,45.925463 -66.479154,45.924101 -66.462674,45.920391 -66.460271,45.919360 -66.448795,45.924302 -66.446992,45.924479 -66.445610,45.925014 -66.426893,45.928823 -66.405492,45.930524 -66.386310,45.927646 -66.383053,45.926773 -66.380099,45.927330 -66.360163,45.931447 -66.357637,45.931650 -66.348996,45.933009 -66.308213,45.936089 -66.297669,45.936269 -66.273641,45.931897 -66.256963,45.923717 -66.252046,45.920365 -66.250939,45.919147 -66.248932,45.918086 -66.243234,45.912878 -66.240924,45.910408 -66.225655,45.904945 -66.225035,45.904610 -66.217840,45.901633 -66.207068,45.896289 -66.204706,45.894808 -66.202510,45.893802 -66.188908,45.885654 -66.186385,45.885393 -66.167883,45.881393 -66.160987,45.879046 -66.158582,45.878792 -66.157635,45.878586 -66.154961,45.878333 -66.137444,45.875742 -66.122758,45.872212 -66.103027,45.861723 -66.098927,45.858121 -66.093346,45.852658 -66.088486,45.850159 -66.078529,45.843794 -66.077690,45.842787 -66.076548,45.842147 -66.058564,45.826434 -66.048094,45.813110 -66.045351,45.805225 -66.043295,45.795518 -66.042735,45.786242 -66.042891,45.785832 -66.042819,45.785429 -66.044574,45.770278 -66.046796,45.764617 -66.043153,45.760870 -66.036590,45.751870 -66.034063,45.748404 -66.022207,45.739496 -66.021767,45.738982 -66.021037,45.738592 -66.008625,45.723621 -66.005343,45.706465 -66.006212,45.701429 -66.009918,45.686951 -66.013773,45.678704 -66.014566,45.676473 -66.017638,45.671719 -66.016800,45.664402 -66.016722,45.658060 -66.016825,45.657790 -66.016776,45.657521 -66.018072,45.645446 -66.015373,45.637532 -66.013765,45.624425 -66.020087,45.607701 -66.035039,45.593947 -66.056342,45.585253 -66.063908,45.583793 -66.079957,45.581435 -66.096805,45.580578 -66.120627,45.584990 -66.140240,45.595463 -66.152660,45.610407 -66.155703,45.619845 -66.158101,45.634634 -66.163471,45.645561 -66.166810,45.662707 -66.166013,45.665072 -66.168984,45.669916 -66.172327,45.687063 -66.171976,45.687999 -66.172119,45.688861 -66.170457,45.700327 -66.172181,45.702321 -66.183753,45.713907 -66.191734,45.724871 -66.193447,45.728978 -66.197120,45.739670 -66.202478,45.754869 -66.204211,45.768165 -66.198519,45.783357 -66.217879,45.791802 -66.219452,45.792337 -66.224220,45.792949 -66.240505,45.796683 -66.248303,45.799332 -66.257310,45.803062 -66.271652,45.810176 -66.273649,45.811427 -66.275663,45.812338 -66.293839,45.822965 -66.301306,45.824698 -66.315245,45.825447 -66.315611,45.825516 -66.321292,45.825977 -66.342033,45.828502 -66.358800,45.832273 -66.359659,45.832563 -66.365269,45.830934 -66.371550,45.829654 -66.386054,45.827255 -66.404306,45.826132 -66.404372,45.826144 -66.404439,45.826137 -66.412861,45.826484 -66.414598,45.825211 -66.418276,45.822722 -66.439613,45.813929 -66.464134,45.811508 -66.469332,45.811862 -66.509178,45.815728 -66.527967,45.819685 -66.528866,45.820157 -66.529858,45.820347 -66.549098,45.827363 -66.567025,45.837093 -66.567186,45.837283 -66.567431,45.837412 -66.586080,45.852224 -66.592843,45.855296 -66.605503,45.862864 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-67.032611,44.508619 -66.586887,44.888862</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-66.267370,47.931670 -66.048538,48.055761</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-66.202439,47.952531 -66.210225,47.953902 -66.210225,47.953902 -66.224597,47.960253 -66.224597,47.960253 -66.229169,47.962898 -66.229169,47.962898 -66.235525,47.967104 -66.235525,47.967104 -66.237149,47.968448 -66.237149,47.968448 -66.241108,47.970463 -66.241108,47.970463 -66.245975,47.975724 -66.245975,47.975724 -66.249987,47.977970 -66.249987,47.977970 -66.263143,47.993049 -66.263143,47.993049 -66.266700,48.005003 -66.266700,48.005003 -66.266891,48.007115 -66.266891,48.007115 -66.266896,48.010833 -66.266896,48.010833 -66.267370,48.013139 -66.267370,48.013139 -66.260788,48.030049 -66.260788,48.030049 -66.245051,48.043981 -66.245051,48.043981 -66.244688,48.044124 -66.244688,48.044124 -66.244439,48.044341 -66.244439,48.044341 -66.243450,48.044916 -66.243450,48.044916 -66.221563,48.053384 -66.221563,48.053384 -66.195733,48.055761 -66.170516,48.051323 -66.170516,48.051323 -66.168971,48.050818 -66.168971,48.050818 -66.156669,48.045569 -66.156669,48.045569 -66.156480,48.045545 -66.156480,48.045545 -66.153750,48.044970 -66.153045,48.045028 -66.140476,48.042810 -66.140476,48.042810 -66.140198,48.042784 -66.140198,48.042784 -66.137723,48.042408 -66.137723,48.042408 -66.134420,48.041938 -66.134420,48.041938 -66.131512,48.041550 -66.131512,48.041550 -66.121707,48.039332 -66.121707,48.039332 -66.120228,48.039123 -66.120228,48.039123 -66.118608,48.038721 -66.118608,48.038721 -66.117125,48.038296 -66.117125,48.038296 -66.115270,48.037876 -66.115270,48.037876 -66.114071,48.037420 -66.114071,48.037420 -66.112490,48.036966 -66.112490,48.036966 -66.110897,48.036211 -66.110897,48.036211 -66.108054,48.035129 -66.108054,48.035129 -66.107774,48.035037 -66.107774,48.035037 -66.105458,48.034278 -66.105458,48.034278 -66.084727,48.023690 -66.084727,48.023690 -66.080114,48.019435 -66.080114,48.019435 -66.066369,48.012408 -66.066369,48.012408 -66.053277,47.997301 -66.053277,47.997301 -66.053142,47.996631 -66.053142,47.996631 -66.052684,47.996085 -66.052684,47.996085 -66.051421,47.993360 -66.051421,47.993360 -66.048538,47.977258 -66.048538,47.977258 -66.055196,47.960366 -66.055196,47.960366 -66.070964,47.946470 -66.070964,47.946470 -66.076955,47.943306 -66.076955,47.943306 -66.079852,47.941949 -66.079852,47.941949 -66.096333,47.936323 -66.096333,47.936323 -66.122096,47.933974 -66.124606,47.934293 -66.124606,47.934293 -66.125287,47.934026 -66.125287,47.934026 -66.151047,47.931670 -66.176191,47.936111 -66.176191,47.936111 -66.191530,47.943044 -66.191530,47.943044 -66.192459,47.943604 -66.192459,47.943604 -66.197832,47.947236 -66.197832,47.947236 -66.202439,47.952531 -66.202439,47.952531 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-66.123794,45.195854 -66.092435,45.219302</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-66.123694,45.205990 -66.123693,45.205992 -66.123693,45.205992 -66.123794,45.206514 -66.123794,45.206514 -66.123432,45.208150 -66.123432,45.208150 -66.123182,45.208846 -66.123182,45.208846 -66.122299,45.210550 -66.122299,45.210550 -66.122230,45.210614 -66.122230,45.210614 -66.122165,45.210745 -66.122165,45.210745 -66.121609,45.211682 -66.121609,45.211682 -66.120965,45.212281 -66.120965,45.212281 -66.120911,45.212449 -66.120911,45.212449 -66.120675,45.212857 -66.120675,45.212857 -66.120600,45.212932 -66.120600,45.212932 -66.120570,45.212987 -66.120570,45.212987 -66.120442,45.213105 -66.120442,45.213105 -66.120335,45.213395 -66.120335,45.213395 -66.117375,45.216144 -66.117375,45.216144 -66.115149,45.217255 -66.115149,45.217255 -66.114707,45.217429 -66.114707,45.217429 -66.112710,45.218056 -66.112710,45.218056 -66.111644,45.218159 -66.111644,45.218159 -66.110584,45.218595 -66.110584,45.218595 -66.110055,45.218652 -66.110055,45.218652 -66.109493,45.218838 -66.109493,45.218838 -66.104650,45.219302 -66.099924,45.218421 -66.099924,45.218421 -66.099924,45.218421 -66.099924,45.218421 -66.099589,45.218305 -66.099589,45.218305 -66.099589,45.218305 -66.099589,45.218305 -66.099589,45.218305 -66.099589,45.218305 -66.095701,45.216213 -66.095701,45.216213 -66.094270,45.214814 -66.094270,45.214814 -66.094119,45.214631 -66.094119,45.214631 -66.093091,45.213045 -66.093091,45.213045 -66.092435,45.209622 -66.092435,45.209622 -66.092791,45.208005 -66.092791,45.208005 -66.092988,45.207453 -66.092988,45.207453 -66.093425,45.206608 -66.093425,45.206608 -66.093929,45.205324 -66.093929,45.205324 -66.094448,45.204650 -66.094448,45.204650 -66.094941,45.204070 -66.094941,45.204070 -66.095526,45.203573 -66.095526,45.203573 -66.096265,45.202788 -66.096265,45.202788 -66.096889,45.202286 -66.096889,45.202286 -66.098006,45.201494 -66.098006,45.201494 -66.098902,45.201125 -66.098902,45.201125 -66.099044,45.200861 -66.099044,45.200861 -66.102003,45.198112 -66.102003,45.198112 -66.106224,45.196374 -66.106224,45.196374 -66.108344,45.196001 -66.108344,45.196001 -66.108844,45.195945 -66.108844,45.195945 -66.111565,45.195854 -66.116288,45.196735 -66.116288,45.196735 -66.120176,45.198826 -66.120176,45.198826 -66.121941,45.200655 -66.121941,45.200655 -66.122130,45.200916 -66.122130,45.200916 -66.122825,45.202071 -66.122825,45.202071 -66.122861,45.202259 -66.122861,45.202259 -66.122979,45.202408 -66.122979,45.202408 -66.123189,45.202904 -66.123189,45.202904 -66.123694,45.205990 -66.123694,45.205990 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-67.164839,44.455260 -67.037851,44.549026</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-67.130560,44.461067 -67.140856,44.465696 -67.140856,44.465696 -67.140976,44.465766 -67.140976,44.465766 -67.146270,44.469346 -67.146270,44.469346 -67.146914,44.469685 -67.146914,44.469685 -67.147103,44.469909 -67.147103,44.469909 -67.147133,44.469929 -67.147133,44.469929 -67.147224,44.469977 -67.147224,44.469977 -67.147364,44.470085 -67.147364,44.470085 -67.147586,44.470235 -67.147586,44.470235 -67.147639,44.470299 -67.147639,44.470299 -67.147690,44.470338 -67.147690,44.470338 -67.147809,44.470402 -67.147809,44.470402 -67.148481,44.470953 -67.148481,44.470953 -67.148610,44.471109 -67.148610,44.471109 -67.154045,44.476090 -67.154045,44.476090 -67.154602,44.476691 -67.154602,44.476691 -67.161206,44.486068 -67.161206,44.486068 -67.164839,44.502992 -67.164839,44.502992 -67.164797,44.503688 -67.164797,44.503688 -67.164671,44.504056 -67.164671,44.504056 -67.164727,44.504321 -67.164727,44.504321 -67.164592,44.505305 -67.164592,44.505305 -67.164633,44.505528 -67.164633,44.505528 -67.164569,44.506069 -67.164569,44.506069 -67.164438,44.506418 -67.164438,44.506418 -67.164083,44.509001 -67.164083,44.509001 -67.163982,44.509470 -67.163982,44.509470 -67.158877,44.521506 -67.158877,44.521506 -67.155999,44.525390 -67.155999,44.525390 -67.155613,44.525852 -67.155613,44.525852 -67.154695,44.526659 -67.154695,44.526659 -67.153391,44.528302 -67.153391,44.528302 -67.152987,44.528729 -67.152987,44.528729 -67.152619,44.529034 -67.152619,44.529034 -67.152280,44.529443 -67.152280,44.529443 -67.151940,44.529773 -67.151940,44.529773 -67.146675,44.533956 -67.146675,44.533956 -67.143488,44.536594 -67.143488,44.536594 -67.141426,44.537486 -67.141426,44.537486 -67.137056,44.539997 -67.137056,44.539997 -67.136068,44.540495 -67.136068,44.540495 -67.135478,44.540715 -67.135478,44.540715 -67.134503,44.541258 -67.134503,44.541258 -67.133365,44.541794 -67.133365,44.541794 -67.120404,44.546444 -67.120404,44.546444 -67.096599,44.549026 -67.073227,44.544891 -67.073227,44.544891 -67.053854,44.534670 -67.053854,44.534670 -67.041434,44.519924 -67.041434,44.519924 -67.037851,44.502901 -67.037851,44.502901 -67.038055,44.502315 -67.038055,44.502315 -67.037989,44.502000 -67.037989,44.502000 -67.038298,44.501106 -67.038298,44.501106 -67.038146,44.500192 -67.038146,44.500192 -67.038283,44.499291 -67.038283,44.499291 -67.038603,44.498478 -67.038603,44.498478 -67.038579,44.498144 -67.038579,44.498144 -67.038649,44.497881 -67.038649,44.497881 -67.038650,44.497280 -67.038650,44.497280 -67.038917,44.496511 -67.038917,44.496511 -67.039158,44.494775 -67.039158,44.494775 -67.039317,44.494029 -67.039317,44.494029 -67.040262,44.491809 -67.040262,44.491809 -67.041815,44.485960 -67.041815,44.485960 -67.041925,44.485731 -67.041925,44.485731 -67.043812,44.482390 -67.043812,44.482390 -67.044441,44.480573 -67.044441,44.480573 -67.058714,44.466724 -67.058714,44.466724 -67.079295,44.457836 -67.079295,44.457836 -67.103053,44.455260 -67.103845,44.455400 -67.103845,44.455400 -67.104227,44.455359 -67.105839,44.455644 -67.105839,44.455644 -67.107407,44.455514 -67.108581,44.455613 -67.108581,44.455613 -67.127556,44.459484 -67.127556,44.459484 -67.130560,44.461067 -67.130560,44.461067 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.619565,47.864223 -64.456833,48.031770</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.531596,48.031770 -64.522189,48.031438 -64.522189,48.031438 -64.521977,48.031399 -64.521737,48.031417 -64.519557,48.030957 -64.519557,48.030957 -64.516733,48.030442 -64.516733,48.030442 -64.516489,48.030311 -64.516489,48.030311 -64.516224,48.030255 -64.516224,48.030255 -64.508701,48.027347 -64.508701,48.027347 -64.494437,48.022371 -64.494437,48.022371 -64.490706,48.020441 -64.490706,48.020441 -64.483171,48.014864 -64.483171,48.014864 -64.483072,48.014748 -64.483072,48.014748 -64.482897,48.014654 -64.482897,48.014654 -64.474176,48.007778 -64.474176,48.007778 -64.474154,48.007751 -64.474154,48.007751 -64.474117,48.007731 -64.474117,48.007731 -64.471612,48.004667 -64.471612,48.004667 -64.471094,48.003066 -64.471094,48.003066 -64.470171,47.998029 -64.470171,47.998029 -64.470166,47.997823 -64.470166,47.997823 -64.470113,47.997639 -64.470113,47.997639 -64.468700,47.985598 -64.468700,47.985598 -64.467898,47.981624 -64.467898,47.981624 -64.467719,47.981337 -64.467719,47.981337 -64.464912,47.978041 -64.464912,47.978041 -64.463770,47.976288 -64.463770,47.976288 -64.463204,47.972814 -64.463204,47.972814 -64.464661,47.969459 -64.464661,47.969459 -64.465932,47.968396 -64.465932,47.968396 -64.463886,47.965286 -64.463886,47.965286 -64.463366,47.964359 -64.463366,47.964359 -64.460773,47.958834 -64.460773,47.958834 -64.457511,47.952482 -64.457511,47.952482 -64.457489,47.952365 -64.457489,47.952365 -64.457398,47.952253 -64.457398,47.952253 -64.457292,47.951291 -64.457292,47.951291 -64.456833,47.948779 -64.456833,47.948779 -64.456980,47.948439 -64.456980,47.948439 -64.456949,47.948148 -64.456949,47.948148 -64.457531,47.945700 -64.457531,47.945700 -64.457755,47.945244 -64.457755,47.945244 -64.458072,47.944232 -64.458072,47.944232 -64.461364,47.937723 -64.461364,47.937723 -64.462162,47.936467 -64.462162,47.936467 -64.464198,47.934522 -64.464198,47.934522 -64.466628,47.932757 -64.466628,47.932757 -64.473201,47.926542 -64.473201,47.926542 -64.479329,47.914519 -64.479329,47.914519 -64.480115,47.913287 -64.480115,47.913287 -64.483731,47.908615 -64.483731,47.908615 -64.485550,47.900053 -64.485550,47.900053 -64.488920,47.882162 -64.488920,47.882162 -64.488955,47.882085 -64.488955,47.882085 -64.488948,47.882022 -64.488948,47.882022 -64.491100,47.871878 -64.491100,47.871878 -64.492468,47.869011 -64.492468,47.869011 -64.495716,47.866286 -64.495716,47.866286 -64.500266,47.864605 -64.500266,47.864605 -64.505427,47.864223 -64.510411,47.865198 -64.510411,47.865198 -64.513830,47.866912 -64.513830,47.866912 -64.519812,47.871064 -64.519812,47.871064 -64.520033,47.871314 -64.520033,47.871314 -64.520444,47.871536 -64.520444,47.871536 -64.522945,47.874597 -64.522945,47.874597 -64.523515,47.878070 -64.523515,47.878070 -64.523472,47.878168 -64.523472,47.878168 -64.523487,47.878264 -64.523487,47.878264 -64.522676,47.883280 -64.522676,47.883280 -64.522658,47.883321 -64.522658,47.883321 -64.522543,47.883900 -64.522543,47.883900 -64.520616,47.891095 -64.520616,47.891095 -64.520365,47.895378 -64.520365,47.895378 -64.520289,47.895573 -64.520289,47.895573 -64.520326,47.895800 -64.520326,47.895800 -64.520038,47.897028 -64.520038,47.897028 -64.517671,47.903967 -64.517671,47.903967 -64.516203,47.909161 -64.516203,47.909161 -64.515540,47.910448 -64.515540,47.910448 -64.515259,47.911171 -64.515259,47.911171 -64.512629,47.915091 -64.512629,47.915091 -64.510750,47.918752 -64.512766,47.917896 -64.512766,47.917896 -64.517903,47.913468 -64.517903,47.913468 -64.518155,47.913292 -64.518155,47.913292 -64.518331,47.913117 -64.518331,47.913117 -64.523819,47.908850 -64.523819,47.908850 -64.525325,47.907852 -64.525325,47.907852 -64.528984,47.906383 -64.528984,47.906383 -64.536154,47.904470 -64.536154,47.904470 -64.536584,47.904428 -64.536584,47.904428 -64.537048,47.904256 -64.537048,47.904256 -64.538821,47.903967 -64.538821,47.903967 -64.549538,47.902733 -64.549538,47.902733 -64.557176,47.896041 -64.557176,47.896041 -64.559166,47.894641 -64.559166,47.894641 -64.560759,47.893867 -64.560759,47.893867 -64.568328,47.890733 -64.568328,47.890733 -64.569191,47.890354 -64.569191,47.890354 -64.569422,47.889374 -64.569422,47.889374 -64.570753,47.886649 -64.570753,47.886649 -64.573998,47.883921 -64.573998,47.883921 -64.577712,47.882434 -64.577712,47.882434 -64.581555,47.881420 -64.581555,47.881420 -64.581960,47.881381 -64.581960,47.881381 -64.582390,47.881221 -64.582390,47.881221 -64.587552,47.880835 -64.592540,47.881806 -64.592540,47.881806 -64.592898,47.881998 -64.592898,47.881998 -64.593266,47.882078 -64.593266,47.882078 -64.598605,47.884233 -64.598605,47.884233 -64.601937,47.886142 -64.601937,47.886142 -64.601977,47.886192 -64.601977,47.886192 -64.602041,47.886226 -64.602041,47.886226 -64.609556,47.892375 -64.609556,47.892375 -64.611960,47.895350 -64.611960,47.895350 -64.614959,47.901696 -64.614959,47.901696 -64.618620,47.907708 -64.618620,47.907708 -64.618987,47.908389 -64.618987,47.908389 -64.619565,47.911861 -64.619565,47.911861 -64.619557,47.911881 -64.619557,47.911881 -64.619560,47.911900 -64.619560,47.911900 -64.618736,47.918087 -64.618736,47.918087 -64.618728,47.918106 -64.618728,47.918106 -64.618461,47.919264 -64.618461,47.919264 -64.616422,47.925322 -64.616422,47.925322 -64.616040,47.926026 -64.616040,47.926026 -64.615844,47.926592 -64.615844,47.926592 -64.611874,47.933451 -64.611874,47.933451 -64.611289,47.934321 -64.611289,47.934321 -64.608070,47.938499 -64.608070,47.938499 -64.606523,47.940073 -64.606523,47.940073 -64.602983,47.942962 -64.602983,47.942962 -64.602432,47.943336 -64.602432,47.943336 -64.602222,47.943531 -64.602222,47.943531 -64.592703,47.950067 -64.592703,47.950067 -64.585862,47.956504 -64.585862,47.956504 -64.581463,47.962204 -64.581463,47.962204 -64.578213,47.964933 -64.578213,47.964933 -64.578056,47.964991 -64.578056,47.964991 -64.577950,47.965078 -64.577950,47.965078 -64.575418,47.966438 -64.575418,47.966438 -64.565821,47.972597 -64.565821,47.972597 -64.565787,47.972635 -64.565787,47.972635 -64.565879,47.974147 -64.565879,47.974147 -64.565865,47.974540 -64.565865,47.974540 -64.565888,47.974644 -64.565888,47.974644 -64.565785,47.979319 -64.565785,47.979319 -64.565682,47.979592 -64.565682,47.979592 -64.565740,47.979935 -64.565740,47.979935 -64.565340,47.983134 -64.565340,47.983134 -64.565082,47.987270 -64.565082,47.987270 -64.565010,47.987452 -64.565010,47.987452 -64.565044,47.987663 -64.565044,47.987663 -64.564895,47.988434 -64.564895,47.988434 -64.563849,47.992463 -64.563849,47.992463 -64.564451,47.997785 -64.564451,47.997785 -64.564440,47.999231 -64.564440,47.999231 -64.564417,47.999285 -64.564417,47.999285 -64.564425,47.999340 -64.564425,47.999340 -64.563810,48.003542 -64.563810,48.003542 -64.563713,48.003761 -64.563713,48.003761 -64.563736,48.003949 -64.563736,48.003949 -64.562377,48.010249 -64.562377,48.010249 -64.561015,48.013091 -64.561015,48.013091 -64.557067,48.018196 -64.557067,48.018196 -64.556881,48.018352 -64.556881,48.018352 -64.556801,48.018523 -64.556801,48.018523 -64.552148,48.023972 -64.552148,48.023972 -64.549158,48.026373 -64.549158,48.026373 -64.547401,48.027212 -64.547401,48.027212 -64.539133,48.030518 -64.539133,48.030518 -64.536324,48.031365 -64.536324,48.031365 -64.531596,48.031770 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-66.615417,45.047150 -66.440362,45.161540</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-66.462897,45.080217 -66.461262,45.080901 -66.461262,45.080901 -66.456437,45.081384 -66.453253,45.080959 -66.453253,45.080959 -66.448944,45.079960 -66.448944,45.079960 -66.447410,45.079522 -66.447410,45.079522 -66.443517,45.077446 -66.443517,45.077446 -66.441043,45.074473 -66.441043,45.074473 -66.440362,45.071055 -66.440362,45.071055 -66.440551,45.069945 -66.440551,45.069945 -66.443033,45.060425 -66.443033,45.060425 -66.444062,45.058193 -66.444062,45.058193 -66.445343,45.056704 -66.445343,45.056704 -66.451779,45.050656 -66.451779,45.050656 -66.453427,45.049387 -66.453427,45.049387 -66.457621,45.047633 -66.457621,45.047633 -66.462442,45.047150 -66.463950,45.047276 -66.463950,45.047276 -66.469455,45.047976 -66.469455,45.047976 -66.472662,45.048712 -66.472662,45.048712 -66.476554,45.050787 -66.476554,45.050787 -66.476628,45.050876 -66.476628,45.050876 -66.476737,45.050936 -66.476737,45.050936 -66.487028,45.059467 -66.487028,45.059467 -66.604439,45.087017 -66.604439,45.087017 -66.605916,45.087438 -66.605916,45.087438 -66.609817,45.089507 -66.609817,45.089507 -66.612304,45.092476 -66.612304,45.092476 -66.612352,45.092714 -66.612352,45.092714 -66.612496,45.092897 -66.612496,45.092897 -66.614917,45.098659 -66.614917,45.098659 -66.615417,45.101656 -66.615417,45.101656 -66.614212,45.105001 -66.614212,45.105001 -66.611290,45.107765 -66.611290,45.107765 -66.607097,45.109526 -66.607097,45.109526 -66.604388,45.109802 -66.604388,45.109802 -66.604895,45.110279 -66.604895,45.110279 -66.606964,45.112627 -66.606964,45.112627 -66.608146,45.114368 -66.608146,45.114368 -66.608839,45.117785 -66.608839,45.117785 -66.608186,45.120172 -66.608186,45.120172 -66.606526,45.123611 -66.606526,45.123611 -66.605973,45.124570 -66.605973,45.124570 -66.603049,45.127333 -66.603049,45.127333 -66.598854,45.129094 -66.598854,45.129094 -66.595675,45.129571 -66.595675,45.129571 -66.592890,45.129725 -66.592890,45.129725 -66.579848,45.136994 -66.579848,45.136994 -66.576267,45.138388 -66.576267,45.138388 -66.571437,45.138877 -66.571437,45.138877 -66.571128,45.138821 -66.570849,45.138844 -66.559442,45.138022 -66.548040,45.143379 -66.548040,45.143379 -66.545273,45.144354 -66.545273,45.144354 -66.541527,45.144850 -66.541527,45.144850 -66.533077,45.145042 -66.533077,45.145042 -66.531992,45.145033 -66.531992,45.145033 -66.529605,45.144599 -66.523428,45.149113 -66.523428,45.149113 -66.523086,45.149268 -66.523086,45.149268 -66.522789,45.149548 -66.522789,45.149548 -66.518588,45.151306 -66.518588,45.151306 -66.514765,45.151802 -66.514765,45.151802 -66.507503,45.151933 -66.507503,45.151933 -66.502312,45.157549 -66.502312,45.157549 -66.500186,45.159298 -66.500186,45.159298 -66.495984,45.161055 -66.495984,45.161055 -66.491151,45.161540 -66.491151,45.161540 -66.490671,45.161452 -66.490267,45.161483 -66.487442,45.161228 -66.487442,45.161228 -66.483599,45.160425 -66.483599,45.160425 -66.479698,45.158349 -66.479698,45.158349 -66.477216,45.155376 -66.477216,45.155376 -66.477169,45.155138 -66.477169,45.155138 -66.477024,45.154955 -66.477024,45.154955 -66.474619,45.149187 -66.474619,45.149187 -66.474127,45.146189 -66.474127,45.146189 -66.475344,45.142845 -66.475344,45.142845 -66.475974,45.142043 -66.475609,45.142334 -66.475609,45.142334 -66.474599,45.143051 -66.474599,45.143051 -66.470397,45.144806 -66.470397,45.144806 -66.465566,45.145289 -66.460841,45.144427 -66.460841,45.144427 -66.456942,45.142351 -66.456942,45.142351 -66.454463,45.139377 -66.454463,45.139377 -66.453762,45.136347 -66.453762,45.136347 -66.453776,45.135539 -66.453776,45.135539 -66.451073,45.132629 -66.451073,45.132629 -66.449719,45.130690 -66.449719,45.130690 -66.449038,45.127271 -66.449038,45.127271 -66.450256,45.123928 -66.450256,45.123928 -66.453170,45.121181 -66.453170,45.121181 -66.457273,45.118574 -66.457273,45.118574 -66.457284,45.118569 -66.457284,45.118569 -66.457292,45.118562 -66.457292,45.118562 -66.461492,45.116807 -66.461492,45.116807 -66.463605,45.116426 -66.463605,45.116426 -66.470450,45.115633 -66.470450,45.115633 -66.471661,45.112177 -66.471661,45.112177 -66.461376,45.089732 -66.461376,45.089732 -66.460786,45.086506 -66.460786,45.086506 -66.461385,45.084250 -66.461385,45.084250 -66.463054,45.080635 -66.463054,45.080635 -66.462897,45.080217 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-66.148046,45.199799 -66.090690,45.244271</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-66.138403,45.218861 -66.140805,45.218770 -66.141378,45.218772 -66.143268,45.219124 -66.144825,45.219960 -66.145810,45.221153 -66.146074,45.222522 -66.145721,45.223628 -66.144235,45.226240 -66.143782,45.227319 -66.143482,45.227864 -66.142691,45.229009 -66.142269,45.229511 -66.141449,45.230325 -66.140313,45.231971 -66.139129,45.233071 -66.137440,45.233767 -66.137004,45.233858 -66.132886,45.234573 -66.130407,45.235360 -66.128169,45.237889 -66.127240,45.238664 -66.126574,45.239015 -66.121762,45.241138 -66.120738,45.241483 -66.118799,45.241669 -66.118608,45.241633 -66.118445,45.241644 -66.112790,45.241112 -66.111253,45.240784 -66.109953,45.240085 -66.108846,45.241687 -66.107661,45.242786 -66.105971,45.243482 -66.105170,45.243626 -66.100067,45.244229 -66.098930,45.244271 -66.097039,45.243919 -66.095483,45.243081 -66.094498,45.241887 -66.094271,45.241208 -66.093838,45.238931 -66.093803,45.238241 -66.094302,45.236905 -66.095487,45.235805 -66.095589,45.235763 -66.095655,45.235705 -66.096056,45.235476 -66.094837,45.234820 -66.093853,45.233626 -66.093657,45.233089 -66.093073,45.230747 -66.091202,45.228083 -66.090952,45.227660 -66.090690,45.226290 -66.090713,45.226229 -66.090703,45.226170 -66.090949,45.224364 -66.091434,45.223148 -66.092619,45.222048 -66.094308,45.221353 -66.096246,45.221168 -66.097144,45.221265 -66.100506,45.221855 -66.118204,45.220739 -66.118957,45.220732 -66.119795,45.220819 -66.122529,45.221272 -66.123690,45.218562 -66.123320,45.218472 -66.121764,45.217636 -66.120780,45.216442 -66.120516,45.215073 -66.121015,45.213737 -66.122069,45.212210 -66.123252,45.211110 -66.124941,45.210414 -66.126878,45.210228 -66.128107,45.210457 -66.128386,45.210100 -66.127861,45.209496 -66.127395,45.208797 -66.127131,45.207428 -66.127629,45.206092 -66.128813,45.204992 -66.130501,45.204296 -66.131261,45.204220 -66.132945,45.201781 -66.134128,45.200681 -66.135816,45.199985 -66.137752,45.199799 -66.139642,45.200150 -66.140953,45.200804 -66.142988,45.202215 -66.143075,45.202312 -66.143233,45.202397 -66.144217,45.203590 -66.144467,45.204397 -66.144710,45.206150 -66.146198,45.207001 -66.146797,45.207406 -66.147782,45.208600 -66.148046,45.209969 -66.147968,45.210413 -66.147330,45.212792 -66.146911,45.213684 -66.146327,45.214338 -66.144602,45.215870 -66.144002,45.216316 -66.142313,45.217013 -66.140376,45.217199 -66.140128,45.217153 -66.138423,45.218357 -66.138403,45.218861 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-65.557361,45.313136 -65.501696,45.369021</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-65.505129,45.360499 -65.505129,45.360499 -65.504737,45.360284 -65.504737,45.360284 -65.502309,45.357281 -65.502309,45.357281 -65.501696,45.353851 -65.501696,45.353851 -65.502577,45.351166 -65.502577,45.351166 -65.515419,45.328710 -65.515419,45.328710 -65.515434,45.328687 -65.515434,45.328687 -65.515436,45.328681 -65.515436,45.328681 -65.521237,45.318632 -65.521237,45.318632 -65.521492,45.318381 -65.521492,45.318381 -65.521635,45.318012 -65.521635,45.318012 -65.524637,45.315282 -65.524637,45.315282 -65.528891,45.313570 -65.528891,45.313570 -65.533750,45.313136 -65.538475,45.314048 -65.538475,45.314048 -65.539825,45.314600 -65.539825,45.314600 -65.542463,45.315839 -65.542463,45.315839 -65.544984,45.317405 -65.544984,45.317405 -65.547412,45.320406 -65.547412,45.320406 -65.547756,45.321672 -65.547756,45.321672 -65.547976,45.321735 -65.547976,45.321735 -65.551848,45.323853 -65.551848,45.323853 -65.554277,45.326854 -65.554277,45.326854 -65.556745,45.332063 -65.556745,45.332063 -65.557361,45.335492 -65.557361,45.335492 -65.556839,45.337469 -65.556839,45.337469 -65.556477,45.338302 -65.556477,45.338302 -65.556084,45.340718 -65.556084,45.340718 -65.556066,45.340762 -65.556066,45.340762 -65.556016,45.341076 -65.556016,45.341076 -65.554615,45.347404 -65.554615,45.347404 -65.553443,45.349993 -65.553443,45.349993 -65.548346,45.357192 -65.548346,45.357192 -65.545994,45.359495 -65.545994,45.359495 -65.545812,45.359624 -65.545812,45.359624 -65.544830,45.362157 -65.544830,45.362157 -65.543424,45.364142 -65.543424,45.364142 -65.540419,45.366874 -65.540419,45.366874 -65.536160,45.368587 -65.536160,45.368587 -65.531295,45.369021 -65.526565,45.368109 -65.526565,45.368109 -65.524605,45.367192 -65.523725,45.367285 -65.523725,45.367285 -65.523648,45.367271 -65.523572,45.367277 -65.521460,45.367153 -65.521460,45.367153 -65.516883,45.366249 -65.516883,45.366249 -65.515619,45.365558 -65.515619,45.365558 -65.512130,45.364885 -65.512130,45.364885 -65.508864,45.363225 -65.508864,45.363225 -65.505344,45.360743 -65.505344,45.360743 -65.505129,45.360499 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-66.986762,47.338949 -66.680458,47.465530</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-66.972952,47.465530 -66.967961,47.464687 -66.967961,47.464687 -66.967564,47.464487 -66.967564,47.464487 -66.967170,47.464411 -66.967170,47.464411 -66.940427,47.454304 -66.940427,47.454304 -66.937085,47.452504 -66.937085,47.452504 -66.934738,47.449850 -66.835981,47.450183 -66.835981,47.450183 -66.835652,47.450133 -66.835266,47.450172 -66.830280,47.449321 -66.830280,47.449321 -66.826154,47.447240 -66.826154,47.447240 -66.823516,47.444247 -66.823516,47.444247 -66.822752,47.441306 -66.822752,47.441306 -66.822749,47.441067 -66.822749,47.441067 -66.807069,47.440943 -66.807069,47.440943 -66.806829,47.440905 -66.806559,47.440932 -66.801575,47.440079 -66.801575,47.440079 -66.797451,47.437997 -66.797451,47.437997 -66.794816,47.435003 -66.794816,47.435003 -66.794053,47.432063 -66.794053,47.432063 -66.793969,47.422951 -66.693655,47.423166 -66.693655,47.423166 -66.693325,47.423115 -66.692936,47.423154 -66.687956,47.422295 -66.687956,47.422295 -66.683839,47.420209 -66.683839,47.420209 -66.681213,47.417212 -66.681213,47.417212 -66.680458,47.414226 -66.680458,47.414226 -66.680502,47.347880 -66.680502,47.347880 -66.680574,47.347666 -66.680574,47.347666 -66.680520,47.347415 -66.680520,47.347415 -66.681784,47.344036 -66.681784,47.344036 -66.684853,47.341244 -66.684853,47.341244 -66.689260,47.339461 -66.689260,47.339461 -66.693692,47.338949 -66.928648,47.339184 -66.928648,47.339184 -66.928947,47.339229 -66.928947,47.339229 -66.929292,47.339194 -66.934267,47.340040 -66.934267,47.340040 -66.938388,47.342115 -66.938388,47.342115 -66.941028,47.345104 -66.941028,47.345104 -66.941784,47.348552 -66.941784,47.348552 -66.940707,47.351683 -66.940707,47.351683 -66.935257,47.360195 -66.935257,47.360195 -66.949659,47.364478 -66.949659,47.364478 -66.949808,47.364551 -66.949808,47.364551 -66.950001,47.364583 -66.950001,47.364583 -66.954125,47.366658 -66.954125,47.366658 -66.956767,47.369647 -66.956767,47.369647 -66.957539,47.372718 -66.957539,47.372718 -66.957276,47.402654 -66.972767,47.402347 -66.973217,47.402411 -66.973217,47.402411 -66.973783,47.402353 -66.978767,47.403196 -66.978767,47.403196 -66.982896,47.405270 -66.982896,47.405270 -66.985542,47.408258 -66.985542,47.408258 -66.986318,47.411221 -66.986318,47.411221 -66.986762,47.456543 -66.986762,47.456543 -66.986689,47.456767 -66.986689,47.456767 -66.986747,47.457029 -66.986747,47.457029 -66.985505,47.460413 -66.985505,47.460413 -66.982447,47.463217 -66.982447,47.463217 -66.978038,47.465014 -66.978038,47.465014 -66.972952,47.465530 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-67.004405,44.823514 -66.864226,45.044828</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-66.928419,44.840602 -66.935338,44.823514 -66.964641,44.826012 -66.971024,44.829728 -66.977295,44.839176 -66.981440,44.847385 -66.984733,44.856882 -66.987882,44.871051 -66.976671,44.893525 -66.972390,44.908881 -66.987701,44.920306 -67.000143,44.926045 -67.004265,44.933195 -67.004405,44.937440 -67.004117,44.946787 -66.997035,44.949666 -66.993053,44.946759 -66.985512,44.944760 -66.980494,44.946754 -66.972123,44.956022 -66.960107,44.972994 -66.965266,44.975246 -66.971670,44.978965 -66.967104,44.985835 -66.959511,44.991693 -66.950706,44.997144 -66.951869,45.005409 -66.950794,45.009249 -66.948392,45.018421 -66.947737,45.026079 -66.947655,45.032878 -66.930848,45.041430 -66.917471,45.044828 -66.900351,45.033836 -66.887190,45.024693 -66.871199,45.010919 -66.864226,44.998069 -66.864735,44.995088 -66.865339,44.985309 -66.868011,44.974650 -66.873671,44.963946 -66.880251,44.954078 -66.887815,44.947167 -66.902023,44.942488 -66.914196,44.939750 -66.922323,44.931978 -66.921202,44.924777 -66.914041,44.915548 -66.912284,44.907084 -66.913129,44.895819 -66.924452,44.885451 -66.924134,44.884819 -66.931932,44.876417 -66.939693,44.866953 -66.946630,44.859837 -66.950834,44.851280 -66.949845,44.848324 -66.937213,44.845131 -66.932422,44.844571 -66.929407,44.843557 -66.928419,44.840602 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-60.360243,46.672439 -60.324041,46.695879</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-60.356036,46.690671 -60.355388,46.691643 -60.355388,46.691643 -60.351977,46.694208 -60.351977,46.694208 -60.347399,46.695680 -60.347399,46.695680 -60.346133,46.695848 -60.346133,46.695848 -60.345811,46.695879 -60.342029,46.695865 -60.342029,46.695865 -60.341854,46.695821 -60.341854,46.695821 -60.341507,46.695801 -60.341503,46.695801 -60.341503,46.695801 -60.341499,46.695801 -60.341499,46.695801 -60.341408,46.695796 -60.341408,46.695796 -60.341327,46.695778 -60.341327,46.695778 -60.340838,46.695712 -60.340496,46.695722 -60.337930,46.695067 -60.336266,46.695118 -60.333150,46.694507 -60.333150,46.694507 -60.332853,46.694419 -60.332853,46.694419 -60.331219,46.693843 -60.331219,46.693843 -60.327493,46.691495 -60.327493,46.691495 -60.325919,46.689547 -60.325919,46.689547 -60.325748,46.689255 -60.325748,46.689255 -60.325186,46.688052 -60.325186,46.688052 -60.325167,46.687822 -60.325167,46.687822 -60.324263,46.686489 -60.324263,46.686489 -60.324041,46.683015 -60.324041,46.683015 -60.324191,46.682639 -60.324191,46.682639 -60.324151,46.682092 -60.324151,46.682092 -60.324175,46.681973 -60.324175,46.681973 -60.324202,46.681922 -60.324202,46.681922 -60.324198,46.681866 -60.324198,46.681866 -60.324216,46.681833 -60.324216,46.681833 -60.324202,46.681670 -60.324202,46.681670 -60.324231,46.681516 -60.324231,46.681516 -60.324250,46.681478 -60.324250,46.681478 -60.324248,46.681445 -60.324248,46.681445 -60.324282,46.681380 -60.324282,46.681380 -60.324277,46.681291 -60.324277,46.681291 -60.326003,46.678024 -60.326003,46.678024 -60.329414,46.675460 -60.329414,46.675460 -60.329460,46.675441 -60.329460,46.675441 -60.330404,46.674732 -60.330404,46.674732 -60.333549,46.673564 -60.333549,46.673564 -60.334205,46.673396 -60.334205,46.673396 -60.335409,46.673141 -60.335409,46.673141 -60.336599,46.672759 -60.336599,46.672759 -60.336876,46.672750 -60.336876,46.672750 -60.337104,46.672681 -60.337104,46.672681 -60.338294,46.672514 -60.338294,46.672514 -60.342834,46.672439 -60.343183,46.672526 -60.343183,46.672526 -60.344086,46.672495 -60.345120,46.672595 -60.345120,46.672595 -60.345195,46.672614 -60.345195,46.672614 -60.345277,46.672611 -60.350023,46.673798 -60.350023,46.673798 -60.350772,46.674269 -60.350772,46.674269 -60.350958,46.674317 -60.350958,46.674317 -60.350998,46.674342 -60.350998,46.674342 -60.352261,46.674658 -60.352261,46.674658 -60.352589,46.674864 -60.352589,46.674864 -60.353122,46.675017 -60.353122,46.675017 -60.356848,46.677364 -60.356848,46.677364 -60.356877,46.677406 -60.356877,46.677406 -60.356926,46.677437 -60.356926,46.677437 -60.357811,46.678285 -60.357811,46.678285 -60.359872,46.681361 -60.359872,46.681361 -60.360243,46.683662 -60.360243,46.683662 -60.360223,46.684353 -60.360223,46.684353 -60.360077,46.685525 -60.360077,46.685525 -60.358352,46.688793 -60.358352,46.688793 -60.357997,46.689197 -60.357997,46.689197 -60.356036,46.690671 -60.356036,46.690671 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.749340,46.441977 -64.593795,46.543872</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.708057,46.535743 -64.706666,46.539082 -64.703529,46.541799 -64.699123,46.543481 -64.694120,46.543872 -64.689281,46.542911 -64.686786,46.541750 -64.682523,46.539220 -64.678770,46.537285 -64.677592,46.536518 -64.677137,46.536283 -64.673071,46.533326 -64.667961,46.530551 -64.667071,46.529957 -64.666699,46.529766 -64.664839,46.528449 -64.664631,46.528209 -64.664242,46.527995 -64.657851,46.522791 -64.656941,46.522147 -64.647721,46.517238 -64.645742,46.515930 -64.645495,46.515622 -64.645177,46.515433 -64.641860,46.512292 -64.632274,46.504901 -64.632182,46.504789 -64.632024,46.504702 -64.630833,46.503552 -64.627267,46.499460 -64.621706,46.495705 -64.614936,46.492518 -64.614400,46.492184 -64.613671,46.491839 -64.607595,46.488139 -64.606266,46.487199 -64.605412,46.486416 -64.601848,46.482740 -64.600274,46.480481 -64.600258,46.480383 -64.600194,46.480300 -64.597561,46.474119 -64.597556,46.474085 -64.597366,46.473605 -64.595726,46.468689 -64.594438,46.464990 -64.594406,46.464690 -64.594159,46.463885 -64.593826,46.461801 -64.593795,46.460065 -64.595192,46.456729 -64.597377,46.454631 -64.599414,46.453177 -64.600367,46.452563 -64.604767,46.450886 -64.607096,46.450534 -64.613503,46.449990 -64.613579,46.449989 -64.613657,46.449978 -64.614662,46.449901 -64.614869,46.449899 -64.615039,46.449876 -64.618159,46.449701 -64.640279,46.442990 -64.641551,46.442658 -64.646544,46.442271 -64.651371,46.443233 -64.654873,46.445069 -64.657717,46.447175 -64.657870,46.447356 -64.658141,46.447506 -64.658930,46.448223 -64.660316,46.449624 -64.663627,46.451593 -64.664347,46.452095 -64.664555,46.452204 -64.666252,46.453436 -64.666618,46.453183 -64.666768,46.453038 -64.670837,46.450128 -64.671763,46.449530 -64.671769,46.449525 -64.674385,46.447991 -64.675967,46.446397 -64.678278,46.444631 -64.682674,46.442950 -64.685318,46.442367 -64.690311,46.441977 -64.695139,46.442937 -64.699068,46.445102 -64.699315,46.445410 -64.699632,46.445598 -64.703330,46.449098 -64.705199,46.451640 -64.705368,46.452677 -64.707253,46.451042 -64.711649,46.449360 -64.716314,46.448953 -64.719071,46.449063 -64.719227,46.449093 -64.719399,46.449079 -64.724228,46.450038 -64.725602,46.450605 -64.725792,46.450695 -64.728448,46.449678 -64.733441,46.449286 -64.733774,46.449352 -64.734077,46.449333 -64.738209,46.449715 -64.742402,46.450625 -64.746335,46.452787 -64.748771,46.455825 -64.749340,46.459275 -64.749134,46.460283 -64.748334,46.463051 -64.747154,46.465382 -64.744025,46.468100 -64.740959,46.469432 -64.739616,46.469846 -64.739475,46.469969 -64.737272,46.471007 -64.734803,46.471928 -64.733833,46.473088 -64.731018,46.476863 -64.728838,46.478965 -64.726805,46.480421 -64.725853,46.481037 -64.724546,46.481708 -64.720750,46.483410 -64.717658,46.484421 -64.715648,46.484579 -64.713878,46.485256 -64.708881,46.485647 -64.707789,46.485524 -64.705586,46.487614 -64.701645,46.490354 -64.700823,46.490878 -64.697456,46.492297 -64.691020,46.494148 -64.689985,46.494410 -64.689097,46.494548 -64.689662,46.496585 -64.690463,46.498994 -64.692297,46.502207 -64.692355,46.502478 -64.692585,46.502765 -64.692965,46.503795 -64.693906,46.507185 -64.693915,46.507296 -64.696215,46.510167 -64.696746,46.511883 -64.697309,46.515357 -64.697325,46.516122 -64.701219,46.518952 -64.701397,46.519160 -64.701717,46.519336 -64.702739,46.520726 -64.704154,46.522376 -64.704212,46.522728 -64.704403,46.522987 -64.705716,46.526727 -64.705718,46.526743 -64.705745,46.526811 -64.707413,46.531768 -64.707419,46.531827 -64.707494,46.532027 -64.707849,46.533244 -64.708057,46.535743 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-65.047060,47.198707 -64.966627,47.273254</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.973108,47.254535 -64.973108,47.254535 -64.974378,47.253263 -64.974378,47.253263 -64.979023,47.248025 -64.979023,47.248025 -64.981739,47.245847 -64.981739,47.245847 -64.983066,47.245170 -64.983066,47.245170 -64.988833,47.242598 -64.988833,47.242598 -64.992746,47.236679 -64.992746,47.236679 -64.999315,47.225456 -64.999315,47.225456 -64.999443,47.225264 -64.999443,47.225264 -64.999459,47.225220 -64.999459,47.225220 -65.005666,47.215434 -65.005666,47.215434 -65.006162,47.214976 -65.006162,47.214976 -65.006416,47.214431 -65.006416,47.214431 -65.014546,47.205060 -65.014546,47.205060 -65.017317,47.202812 -65.017317,47.202812 -65.020056,47.201586 -65.020056,47.201586 -65.026020,47.199592 -65.026020,47.199592 -65.027741,47.199117 -65.027741,47.199117 -65.032817,47.198707 -65.037737,47.199652 -65.037737,47.199652 -65.041752,47.201809 -65.041752,47.201809 -65.042006,47.202117 -65.042006,47.202117 -65.042331,47.202304 -65.042331,47.202304 -65.044537,47.204340 -65.044537,47.204340 -65.046458,47.206883 -65.046458,47.206883 -65.047060,47.210343 -65.047060,47.210343 -65.045674,47.213697 -65.045674,47.213697 -65.042509,47.216434 -65.042509,47.216434 -65.039563,47.217729 -65.039563,47.217729 -65.039284,47.217818 -65.039284,47.217818 -65.036074,47.220928 -65.036074,47.220928 -65.032745,47.224531 -65.032745,47.224531 -65.030152,47.228218 -65.030152,47.228218 -65.030325,47.228466 -65.030325,47.228466 -65.030926,47.231927 -65.030926,47.231927 -65.029960,47.234658 -65.029960,47.234658 -65.028295,47.237383 -65.028295,47.237383 -65.028026,47.237634 -65.028026,47.237634 -65.027873,47.238005 -65.027873,47.238005 -65.024705,47.240742 -65.024705,47.240742 -65.022908,47.241427 -65.022908,47.241427 -65.023070,47.243723 -65.023070,47.243723 -65.023328,47.246262 -65.023328,47.246262 -65.023319,47.247580 -65.023319,47.247580 -65.021930,47.250934 -65.021930,47.250934 -65.018761,47.253670 -65.018761,47.253670 -65.016291,47.254804 -65.016291,47.254804 -65.014417,47.255466 -65.014417,47.255466 -65.009992,47.260329 -65.009992,47.260329 -65.009314,47.260867 -65.009314,47.260867 -65.008471,47.261690 -65.008471,47.261690 -64.999319,47.268425 -64.999319,47.268425 -64.998205,47.269153 -64.998205,47.269153 -64.995461,47.270379 -64.995461,47.270379 -64.989486,47.272372 -64.989486,47.272372 -64.987762,47.272847 -64.987762,47.272847 -64.982676,47.273254 -64.980762,47.273053 -64.980762,47.273053 -64.976753,47.272423 -64.976753,47.272423 -64.973740,47.271675 -64.973740,47.271675 -64.969722,47.269515 -64.969722,47.269515 -64.967224,47.266473 -64.967224,47.266473 -64.966627,47.263012 -64.966627,47.263012 -64.968022,47.259659 -64.968022,47.259659 -64.968935,47.258621 -64.968935,47.258621 -64.973108,47.254535 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-66.831697,47.229995 -66.609853,47.331318</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-66.689250,47.330278 -66.628862,47.331318 -66.628408,47.331252 -66.627835,47.331308 -66.622867,47.330446 -66.618762,47.328358 -66.616146,47.325360 -66.615421,47.322922 -66.609857,47.259664 -66.609853,47.258652 -66.611119,47.255276 -66.614186,47.252486 -66.618588,47.250708 -66.623112,47.250200 -66.743087,47.251118 -66.743503,47.238722 -66.743545,47.238600 -66.743517,47.238465 -66.744772,47.235087 -66.747829,47.232294 -66.752223,47.230509 -66.756735,47.229995 -66.817247,47.230361 -66.817505,47.230401 -66.817797,47.230372 -66.822758,47.231223 -66.826863,47.233302 -66.829488,47.236293 -66.830248,47.239150 -66.831697,47.300958 -66.831612,47.301224 -66.831682,47.301548 -66.830432,47.304928 -66.827374,47.307725 -66.822976,47.309514 -66.819207,47.310022 -66.800240,47.310649 -66.799817,47.322080 -66.799779,47.322189 -66.799805,47.322308 -66.798551,47.325687 -66.795490,47.328484 -66.791088,47.330271 -66.786592,47.330788 -66.689250,47.330278 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.799661,47.668753 -64.789479,47.677419</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.790919,47.669236 -64.790919,47.669236 -64.791240,47.668963 -64.791240,47.668963 -64.791692,47.668793 -64.791692,47.668793 -64.792205,47.668753 -64.792702,47.668849 -64.792702,47.668849 -64.793107,47.669066 -64.793107,47.669066 -64.793240,47.669193 -64.793240,47.669193 -64.794118,47.670207 -64.794118,47.670207 -64.794853,47.670779 -64.794853,47.670779 -64.795104,47.670763 -64.795104,47.670763 -64.795335,47.670762 -64.795831,47.670858 -64.795831,47.670858 -64.796017,47.670936 -64.796017,47.670936 -64.796714,47.671287 -64.796714,47.671287 -64.796933,47.671426 -64.796933,47.671426 -64.797184,47.671731 -64.797184,47.671731 -64.797233,47.671875 -64.797233,47.671875 -64.797281,47.672096 -64.797281,47.672096 -64.797658,47.672201 -64.797658,47.672201 -64.797758,47.672232 -64.797758,47.672232 -64.798162,47.672450 -64.798162,47.672450 -64.798309,47.672593 -64.798309,47.672593 -64.798394,47.672696 -64.798394,47.672696 -64.798706,47.672983 -64.798706,47.672983 -64.799128,47.673337 -64.799128,47.673337 -64.799357,47.673625 -64.799357,47.673625 -64.799421,47.673908 -64.799421,47.673908 -64.799419,47.673994 -64.799419,47.673994 -64.799499,47.674091 -64.799499,47.674091 -64.799602,47.674253 -64.799602,47.674253 -64.799661,47.674599 -64.799661,47.674599 -64.799620,47.674759 -64.799620,47.674759 -64.798820,47.676760 -64.798820,47.676760 -64.798719,47.676936 -64.798719,47.676936 -64.798398,47.677209 -64.798398,47.677209 -64.797946,47.677379 -64.797946,47.677379 -64.797433,47.677419 -64.797433,47.677419 -64.796936,47.677323 -64.796936,47.677323 -64.796531,47.677105 -64.796531,47.677105 -64.796510,47.677080 -64.796510,47.677080 -64.796482,47.677064 -64.796482,47.677064 -64.794908,47.675650 -64.794908,47.675650 -64.794706,47.675386 -64.794706,47.675386 -64.794659,47.675253 -64.794659,47.675253 -64.794610,47.675046 -64.794610,47.675046 -64.793868,47.674995 -64.793868,47.674995 -64.793397,47.674900 -64.793397,47.674900 -64.793289,47.674858 -64.793289,47.674858 -64.790086,47.673475 -64.790086,47.673475 -64.789789,47.673299 -64.789789,47.673299 -64.789538,47.672994 -64.789538,47.672994 -64.789479,47.672647 -64.789479,47.672647 -64.789514,47.672506 -64.789514,47.672506 -64.790484,47.669859 -64.790484,47.669859 -64.790592,47.669665 -64.790592,47.669665 -64.790919,47.669236 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.885084,47.477106 -64.865162,47.513740</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.866224,47.509648 -64.866236,47.509619 -64.866568,47.509180 -64.866888,47.508907 -64.867249,47.508771 -64.868069,47.506382 -64.867369,47.505684 -64.867203,47.505455 -64.867142,47.505124 -64.867607,47.500187 -64.867610,47.500179 -64.867608,47.500171 -64.867749,47.499836 -64.868069,47.499562 -64.868519,47.499393 -64.868731,47.499359 -64.869213,47.499311 -64.869922,47.498086 -64.870081,47.495649 -64.870113,47.493483 -64.869849,47.489550 -64.869677,47.488064 -64.869678,47.488048 -64.869675,47.488039 -64.869459,47.485082 -64.869459,47.485049 -64.869457,47.485039 -64.869446,47.481378 -64.869451,47.481304 -64.869546,47.481036 -64.870213,47.479938 -64.870258,47.479870 -64.870578,47.479597 -64.871027,47.479427 -64.871539,47.479387 -64.872033,47.479482 -64.872437,47.479699 -64.872441,47.479704 -64.872447,47.479707 -64.873015,47.480172 -64.874097,47.480622 -64.876518,47.480538 -64.877982,47.479881 -64.878564,47.477828 -64.878581,47.477794 -64.878685,47.477589 -64.878712,47.477566 -64.879005,47.477316 -64.879454,47.477146 -64.879965,47.477106 -64.880460,47.477201 -64.880608,47.477281 -64.880863,47.477418 -64.880889,47.477449 -64.880921,47.477468 -64.881692,47.478179 -64.881884,47.478434 -64.881945,47.478766 -64.881562,47.482734 -64.881559,47.482740 -64.881560,47.482747 -64.881502,47.482947 -64.880508,47.485062 -64.880895,47.488018 -64.880896,47.488169 -64.880889,47.488186 -64.880891,47.488202 -64.880252,47.491859 -64.880116,47.492161 -64.879386,47.493127 -64.879217,47.493298 -64.878322,47.494011 -64.879215,47.494676 -64.879226,47.494689 -64.879245,47.494699 -64.879495,47.495004 -64.879557,47.495229 -64.879777,47.497966 -64.879775,47.498086 -64.879634,47.498422 -64.879572,47.498496 -64.878930,47.499176 -64.882228,47.499680 -64.882332,47.499706 -64.882361,47.499713 -64.882461,47.499737 -64.882540,47.499756 -64.882943,47.499973 -64.883194,47.500278 -64.883195,47.500285 -64.883200,47.500292 -64.885029,47.504362 -64.885082,47.504695 -64.884941,47.505030 -64.884621,47.505304 -64.884576,47.505321 -64.884548,47.505343 -64.882820,47.506203 -64.882953,47.506854 -64.883109,47.507469 -64.884577,47.508239 -64.884774,47.508367 -64.885025,47.508672 -64.885084,47.509018 -64.885082,47.509024 -64.885083,47.509029 -64.885010,47.509558 -64.884871,47.509883 -64.884140,47.510848 -64.883821,47.511122 -64.883530,47.511249 -64.881371,47.511940 -64.881212,47.511983 -64.880868,47.512025 -64.878522,47.512098 -64.878356,47.512096 -64.877860,47.512000 -64.877663,47.511932 -64.877544,47.512216 -64.877224,47.512489 -64.876775,47.512659 -64.876263,47.512699 -64.876071,47.512679 -64.874951,47.512502 -64.874091,47.512413 -64.874069,47.512408 -64.873991,47.512400 -64.872495,47.512164 -64.871955,47.512657 -64.871750,47.512805 -64.871305,47.512973 -64.871092,47.512960 -64.870009,47.513064 -64.868933,47.513309 -64.868252,47.513579 -64.867609,47.513707 -64.867131,47.513740 -64.866636,47.513645 -64.866233,47.513428 -64.866003,47.513163 -64.865242,47.511790 -64.865238,47.511770 -64.865221,47.511750 -64.865162,47.511404 -64.865268,47.511119 -64.866201,47.509669 -64.866224,47.509648 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.531428,45.685033 -64.263993,45.876161</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.524966,45.712146 -64.525001,45.712144 -64.531368,45.717771 -64.531428,45.723128 -64.530307,45.725292 -64.528507,45.726572 -64.527614,45.726780 -64.525612,45.727454 -64.523219,45.728600 -64.522037,45.729631 -64.520544,45.730669 -64.520513,45.730681 -64.518765,45.730967 -64.514789,45.731166 -64.514308,45.731068 -64.513897,45.731090 -64.506414,45.730257 -64.504854,45.734828 -64.503772,45.736860 -64.502545,45.738202 -64.500450,45.740095 -64.504879,45.748911 -64.504904,45.749049 -64.505008,45.749182 -64.505549,45.752624 -64.504168,45.755949 -64.503998,45.756097 -64.503925,45.756260 -64.492450,45.770302 -64.489597,45.772692 -64.485924,45.774197 -64.466986,45.779201 -64.458156,45.786554 -64.456596,45.787644 -64.454555,45.788622 -64.447597,45.791297 -64.435832,45.800190 -64.423793,45.816338 -64.422885,45.817375 -64.407196,45.832807 -64.404999,45.834469 -64.404966,45.834482 -64.404942,45.834502 -64.392403,45.841753 -64.382435,45.856338 -64.382300,45.856460 -64.382232,45.856622 -64.379123,45.859320 -64.376931,45.860351 -64.342223,45.873222 -64.341457,45.873446 -64.341147,45.873577 -64.334468,45.875516 -64.333386,45.875791 -64.328454,45.876161 -64.323696,45.875184 -64.319835,45.873009 -64.318024,45.870998 -64.315167,45.866616 -64.294913,45.857299 -64.292146,45.855573 -64.291311,45.854789 -64.284707,45.847823 -64.281593,45.848055 -64.276839,45.847076 -64.272983,45.844899 -64.272742,45.844591 -64.272431,45.844402 -64.266385,45.838533 -64.264568,45.835989 -64.263993,45.833255 -64.264454,45.802020 -64.264505,45.801309 -64.265539,45.798520 -64.276783,45.780740 -64.277018,45.780523 -64.277150,45.780208 -64.280259,45.777514 -64.281781,45.776752 -64.295378,45.770951 -64.296823,45.770280 -64.295384,45.768432 -64.294859,45.764988 -64.296256,45.761667 -64.298269,45.759692 -64.319345,45.744066 -64.320438,45.743345 -64.324779,45.741687 -64.328247,45.741285 -64.337750,45.741119 -64.339199,45.741152 -64.343943,45.742127 -64.347794,45.744300 -64.350015,45.747027 -64.355909,45.758669 -64.355938,45.758827 -64.356058,45.758981 -64.356588,45.762424 -64.356085,45.764227 -64.351691,45.774293 -64.350801,45.775813 -64.348536,45.777971 -64.315680,45.800973 -64.314839,45.801511 -64.313449,45.802216 -64.307886,45.804657 -64.307222,45.809693 -64.308869,45.812110 -64.321594,45.813662 -64.344893,45.800899 -64.358550,45.790606 -64.359712,45.789833 -64.364056,45.788173 -64.365280,45.787951 -64.371159,45.787099 -64.369068,45.775036 -64.369025,45.773179 -64.370418,45.769856 -64.371361,45.768785 -64.382800,45.757649 -64.383047,45.757464 -64.383308,45.757188 -64.394705,45.747497 -64.396355,45.746331 -64.400694,45.744670 -64.402223,45.744405 -64.403197,45.744281 -64.403238,45.743997 -64.404612,45.740782 -64.407711,45.738084 -64.412048,45.736422 -64.416963,45.736048 -64.421709,45.737019 -64.424962,45.738721 -64.426890,45.740118 -64.428267,45.740446 -64.432499,45.737655 -64.429483,45.732977 -64.423138,45.723401 -64.422545,45.722329 -64.421987,45.719113 -64.423122,45.706405 -64.423165,45.706298 -64.423146,45.706179 -64.424532,45.702856 -64.426658,45.700791 -64.444712,45.687706 -64.445681,45.687073 -64.450012,45.685409 -64.454921,45.685033 -64.459662,45.686003 -64.460835,45.686489 -64.515067,45.711790 -64.524762,45.712108 -64.524966,45.712146 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.561827,45.731619 -64.482299,45.872930</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.547356,45.843441 -64.547715,45.843642 -64.547715,45.843642 -64.547715,45.843642 -64.547977,45.843880 -64.547977,45.843880 -64.547977,45.843880 -64.552727,45.844843 -64.552727,45.844843 -64.552727,45.844843 -64.554846,45.845612 -64.554846,45.845612 -64.554846,45.845612 -64.558716,45.847776 -64.558716,45.847776 -64.558716,45.847776 -64.561106,45.850811 -64.561106,45.850811 -64.561106,45.850811 -64.561653,45.854254 -64.561653,45.854254 -64.561653,45.854254 -64.561504,45.855044 -64.561504,45.855044 -64.561504,45.855044 -64.561449,45.855261 -64.561449,45.855261 -64.561449,45.855261 -64.561827,45.857643 -64.561827,45.857643 -64.561827,45.857643 -64.560973,45.860165 -64.560973,45.860165 -64.560973,45.860165 -64.560290,45.861364 -64.560290,45.861364 -64.560290,45.861364 -64.559779,45.862144 -64.559779,45.862144 -64.559779,45.862144 -64.559773,45.862212 -64.559773,45.862212 -64.559773,45.862212 -64.559739,45.862296 -64.559739,45.862296 -64.559739,45.862296 -64.559754,45.862386 -64.559754,45.862386 -64.559754,45.862386 -64.559491,45.863573 -64.559491,45.863573 -64.559491,45.863573 -64.558699,45.866034 -64.558699,45.866034 -64.558699,45.866034 -64.557580,45.868174 -64.557580,45.868174 -64.557580,45.868174 -64.554482,45.870879 -64.554482,45.870879 -64.554482,45.870879 -64.550137,45.872549 -64.550137,45.872549 -64.550137,45.872549 -64.545207,45.872930 -64.542557,45.872569 -64.542557,45.872569 -64.542557,45.872569 -64.540593,45.872147 -64.540593,45.872147 -64.540593,45.872147 -64.538481,45.871542 -64.538481,45.871542 -64.538481,45.871542 -64.534610,45.869376 -64.534610,45.869376 -64.534610,45.869376 -64.532944,45.867597 -64.532944,45.867597 -64.532944,45.867597 -64.531430,45.865456 -64.531430,45.865456 -64.531430,45.865456 -64.530706,45.864200 -64.530706,45.864200 -64.530706,45.864200 -64.530706,45.864200 -64.530706,45.864200 -64.530706,45.864200 -64.530079,45.862815 -64.530079,45.862815 -64.530079,45.862815 -64.529614,45.861273 -64.529614,45.861273 -64.529614,45.861273 -64.528691,45.860291 -64.528691,45.860291 -64.528691,45.860291 -64.528174,45.859568 -64.528174,45.859568 -64.528174,45.859568 -64.526755,45.858325 -64.526755,45.858325 -64.526755,45.858325 -64.524572,45.855464 -64.524572,45.855464 -64.524572,45.855464 -64.524123,45.854112 -64.524123,45.854112 -64.524123,45.854112 -64.523835,45.852781 -64.523835,45.852781 -64.523835,45.852781 -64.523044,45.850518 -64.523044,45.850518 -64.523044,45.850518 -64.523030,45.850389 -64.523030,45.850389 -64.520837,45.849944 -64.520837,45.849944 -64.520837,45.849944 -64.517181,45.847949 -64.517181,45.847949 -64.517181,45.847949 -64.517087,45.847875 -64.517087,45.847875 -64.517087,45.847875 -64.513293,45.847001 -64.513293,45.847001 -64.513293,45.847001 -64.510237,45.845448 -64.510237,45.845448 -64.510237,45.845448 -64.506218,45.842681 -64.506218,45.842681 -64.506218,45.842681 -64.505803,45.842367 -64.505803,45.842367 -64.505803,45.842367 -64.505738,45.842332 -64.505738,45.842332 -64.505738,45.842332 -64.500086,45.837991 -64.500086,45.837991 -64.500086,45.837991 -64.499965,45.837844 -64.499965,45.837844 -64.499965,45.837844 -64.499754,45.837726 -64.499754,45.837726 -64.499754,45.837726 -64.497865,45.835608 -64.497865,45.835608 -64.497865,45.835608 -64.493969,45.829451 -64.493969,45.829451 -64.493969,45.829451 -64.490885,45.826103 -64.490885,45.826103 -64.490885,45.826103 -64.489453,45.823970 -64.489453,45.823970 -64.489453,45.823970 -64.488960,45.822383 -64.488960,45.822383 -64.488960,45.822383 -64.487578,45.814545 -64.487578,45.814545 -64.487578,45.814545 -64.487336,45.814395 -64.487336,45.814395 -64.487336,45.814395 -64.486029,45.813457 -64.486029,45.813457 -64.486029,45.813457 -64.483646,45.810421 -64.483646,45.810421 -64.483646,45.810421 -64.483132,45.808709 -64.483132,45.808709 -64.483132,45.808709 -64.482325,45.803514 -64.482325,45.803514 -64.482325,45.803514 -64.482299,45.801783 -64.482299,45.801783 -64.482299,45.801783 -64.483683,45.798458 -64.483683,45.798458 -64.483683,45.798458 -64.485051,45.796994 -64.485051,45.796994 -64.485051,45.796994 -64.488756,45.793770 -64.488756,45.793770 -64.488756,45.793770 -64.490403,45.789797 -64.490403,45.789797 -64.490403,45.789797 -64.490420,45.789766 -64.490420,45.789766 -64.490420,45.789766 -64.490429,45.789734 -64.490429,45.789734 -64.490429,45.789734 -64.493562,45.782380 -64.493562,45.782380 -64.493562,45.782380 -64.494465,45.780819 -64.494465,45.780819 -64.494465,45.780819 -64.494578,45.780721 -64.494578,45.780721 -64.494578,45.780721 -64.494627,45.780608 -64.494627,45.780608 -64.494627,45.780608 -64.500863,45.772744 -64.500863,45.772744 -64.500863,45.772744 -64.501417,45.769549 -64.501417,45.769549 -64.501417,45.769549 -64.502754,45.766523 -64.502754,45.766523 -64.502754,45.766523 -64.505849,45.763822 -64.505849,45.763822 -64.505849,45.763822 -64.506929,45.763253 -64.506929,45.763253 -64.506929,45.763253 -64.507957,45.762769 -64.507957,45.762769 -64.507957,45.762769 -64.506869,45.758918 -64.506869,45.758918 -64.506869,45.758918 -64.506780,45.757779 -64.506780,45.757779 -64.506780,45.757779 -64.506629,45.757055 -64.506629,45.757055 -64.506629,45.757055 -64.506746,45.751872 -64.506746,45.751872 -64.506746,45.751872 -64.506847,45.751593 -64.506847,45.751593 -64.506847,45.751593 -64.506792,45.751244 -64.506792,45.751244 -64.506792,45.751244 -64.507460,45.749073 -64.507460,45.749073 -64.507460,45.749073 -64.509398,45.745207 -64.509398,45.745207 -64.509398,45.745207 -64.510111,45.744052 -64.510111,45.744052 -64.510111,45.744052 -64.514883,45.737624 -64.514883,45.737624 -64.514883,45.737624 -64.517975,45.734922 -64.517975,45.734922 -64.517975,45.734922 -64.520637,45.733718 -64.520637,45.733718 -64.520637,45.733718 -64.524366,45.732463 -64.524366,45.732463 -64.524366,45.732463 -64.526036,45.731999 -64.526036,45.731999 -64.526036,45.731999 -64.530950,45.731619 -64.535698,45.732585 -64.535698,45.732585 -64.535698,45.732585 -64.539457,45.734667 -64.539457,45.734667 -64.539457,45.734667 -64.540912,45.735849 -64.540912,45.735849 -64.540912,45.735849 -64.540950,45.735896 -64.540950,45.735896 -64.540950,45.735896 -64.541012,45.735931 -64.541012,45.735931 -64.541012,45.735931 -64.543395,45.738965 -64.543395,45.738965 -64.543395,45.738965 -64.543939,45.742406 -64.543939,45.742406 -64.543939,45.742406 -64.543641,45.743699 -64.543641,45.743699 -64.543641,45.743699 -64.541636,45.749592 -64.541636,45.749592 -64.541636,45.749592 -64.541665,45.750952 -64.541665,45.750952 -64.541665,45.750952 -64.542766,45.752691 -64.542766,45.752691 -64.542766,45.752691 -64.543262,45.753609 -64.543262,45.753609 -64.543262,45.753609 -64.543807,45.757050 -64.543807,45.757050 -64.543807,45.757050 -64.542977,45.759529 -64.542977,45.759529 -64.542977,45.759529 -64.540344,45.764226 -64.540344,45.764226 -64.540344,45.764226 -64.537204,45.772369 -64.537204,45.772369 -64.537204,45.772369 -64.535869,45.779198 -64.535869,45.779198 -64.535869,45.779198 -64.536431,45.782366 -64.536431,45.782366 -64.536431,45.782366 -64.539103,45.786673 -64.539103,45.786673 -64.539103,45.786673 -64.539561,45.787530 -64.539561,45.787530 -64.539561,45.787530 -64.540106,45.790972 -64.540106,45.790972 -64.540106,45.790972 -64.539627,45.792737 -64.539627,45.792737 -64.539627,45.792737 -64.537804,45.797026 -64.537804,45.797026 -64.537804,45.797026 -64.539589,45.799955 -64.539589,45.799955 -64.539589,45.799955 -64.540014,45.800757 -64.540014,45.800757 -64.540014,45.800757 -64.540545,45.802564 -64.540545,45.802564 -64.540545,45.802564 -64.542557,45.816829 -64.542557,45.816829 -64.542557,45.816829 -64.545340,45.825538 -64.545340,45.825538 -64.545340,45.825538 -64.545366,45.825807 -64.545366,45.825807 -64.545366,45.825807 -64.545557,45.826426 -64.545557,45.826426 -64.545557,45.826426 -64.546896,45.834296 -64.546896,45.834296 -64.546896,45.834296 -64.548087,45.836925 -64.548087,45.836925 -64.548087,45.836925 -64.548087,45.836925 -64.548087,45.836925 -64.548087,45.836925 -64.548632,45.840368 -64.548632,45.840368 -64.548632,45.840368 -64.547356,45.843441 -64.547356,45.843441 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.863144,45.563698 -64.551619,45.842732</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.651736,45.648284 -64.651736,45.648284 -64.688557,45.633003 -64.688557,45.633003 -64.691155,45.632185 -64.691155,45.632185 -64.694572,45.631874 -64.694572,45.631874 -64.702127,45.628361 -64.702127,45.628361 -64.707954,45.625175 -64.707954,45.625175 -64.723831,45.614628 -64.723831,45.614628 -64.734451,45.600957 -64.734451,45.600957 -64.746452,45.586975 -64.746452,45.586975 -64.753269,45.579261 -64.753269,45.579261 -64.762415,45.569948 -64.762415,45.569948 -64.779332,45.564259 -64.779332,45.564259 -64.790172,45.563698 -64.809433,45.569838 -64.809433,45.569838 -64.815317,45.576844 -64.815317,45.576844 -64.817286,45.583658 -64.817286,45.583658 -64.821090,45.591134 -64.821090,45.591134 -64.835978,45.597721 -64.835978,45.597721 -64.845154,45.601027 -64.845154,45.601027 -64.854330,45.604331 -64.854330,45.604331 -64.863003,45.610708 -64.863003,45.610708 -64.863144,45.616861 -64.863144,45.616861 -64.856764,45.627177 -64.856764,45.627177 -64.852996,45.632331 -64.852996,45.632331 -64.838883,45.650040 -64.838883,45.650040 -64.831077,45.662289 -64.831077,45.662289 -64.827500,45.668262 -64.827500,45.668262 -64.827624,45.669016 -64.827624,45.669016 -64.826269,45.672345 -64.826269,45.672345 -64.823449,45.676193 -64.823449,45.676193 -64.823136,45.676470 -64.823136,45.676470 -64.823009,45.676745 -64.823009,45.676745 -64.813766,45.687412 -64.813766,45.687412 -64.810093,45.695232 -64.810093,45.695232 -64.809328,45.696513 -64.809328,45.696513 -64.806506,45.700361 -64.806506,45.700361 -64.803434,45.703073 -64.803434,45.703073 -64.801638,45.703964 -64.801638,45.703964 -64.794312,45.706966 -64.794312,45.706966 -64.788425,45.709799 -64.788425,45.709799 -64.782301,45.716424 -64.782301,45.716424 -64.779859,45.718370 -64.779859,45.718370 -64.775537,45.720049 -64.775537,45.720049 -64.771976,45.720470 -64.771976,45.720470 -64.754778,45.720759 -64.754778,45.720759 -64.753428,45.720731 -64.753428,45.720731 -64.751042,45.720429 -64.751042,45.720429 -64.718463,45.713994 -64.708202,45.716485 -64.708202,45.716485 -64.699936,45.727708 -64.699936,45.727708 -64.699876,45.730989 -64.699876,45.730989 -64.699776,45.731269 -64.699776,45.731269 -64.699833,45.731618 -64.699833,45.731618 -64.699661,45.732508 -64.699661,45.732508 -64.698343,45.737442 -64.698343,45.737442 -64.697148,45.739880 -64.697148,45.739880 -64.694943,45.742871 -64.694943,45.742871 -64.691861,45.745579 -64.691861,45.745579 -64.687534,45.747255 -64.687534,45.747255 -64.686177,45.747501 -64.686177,45.747501 -64.682700,45.747990 -64.682700,45.747990 -64.682384,45.748322 -64.682384,45.748322 -64.675354,45.756832 -64.675354,45.756832 -64.673755,45.758170 -64.673755,45.758170 -64.672834,45.759002 -64.672834,45.759002 -64.661789,45.765919 -64.661789,45.765919 -64.653269,45.772406 -64.653269,45.772406 -64.649992,45.778500 -64.649992,45.778500 -64.649388,45.779449 -64.649388,45.779449 -64.647790,45.781117 -64.647790,45.781117 -64.641853,45.786008 -64.641853,45.786008 -64.641753,45.786078 -64.641753,45.786078 -64.641702,45.786130 -64.641702,45.786130 -64.629614,45.795726 -64.629614,45.795726 -64.626540,45.799882 -64.626540,45.799882 -64.623063,45.804581 -64.623063,45.804581 -64.619972,45.807287 -64.619972,45.807287 -64.616432,45.808763 -64.616432,45.808763 -64.612146,45.809940 -64.612146,45.809940 -64.608559,45.812494 -64.608559,45.812494 -64.603352,45.818616 -64.603352,45.818616 -64.600622,45.820866 -64.600622,45.820866 -64.597755,45.822139 -64.597755,45.822139 -64.591264,45.824230 -64.591264,45.824230 -64.591320,45.826098 -64.591320,45.826098 -64.590749,45.828074 -64.590749,45.828074 -64.588172,45.833643 -64.588172,45.833643 -64.587365,45.834994 -64.587365,45.834994 -64.582614,45.841401 -64.582614,45.841401 -64.581091,45.842732 -64.578317,45.842142 -64.578317,45.842142 -64.568221,45.841809 -64.568221,45.841809 -64.556931,45.840844 -64.556931,45.840844 -64.553788,45.835611 -64.553788,45.835611 -64.552668,45.825841 -64.552668,45.825841 -64.551619,45.817267 -64.551619,45.817267 -64.554401,45.807074 -64.554401,45.807074 -64.557601,45.795027 -64.557601,45.795027 -64.560833,45.785835 -64.560833,45.785835 -64.562942,45.771389 -64.562942,45.771389 -64.563056,45.761569 -64.563056,45.761569 -64.565260,45.755610 -64.565260,45.755610 -64.569698,45.747101 -64.569698,45.747101 -64.586608,45.726150 -64.586608,45.726150 -64.602413,45.704150 -64.602413,45.704150 -64.621722,45.681795 -64.621722,45.681795 -64.640848,45.658400 -64.640848,45.658400 -64.651736,45.648284 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.935902,47.512715 -64.828368,47.592772</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.828368,47.576339 -64.830067,47.574890 -64.830674,47.574661 -64.832900,47.571195 -64.832993,47.571110 -64.833045,47.570977 -64.839900,47.561031 -64.840705,47.558389 -64.841311,47.554016 -64.841972,47.552483 -64.841234,47.551504 -64.840643,47.548038 -64.842056,47.544683 -64.845258,47.541949 -64.847055,47.541154 -64.848647,47.536965 -64.852108,47.527807 -64.852828,47.521656 -64.856339,47.518818 -64.861521,47.516295 -64.865391,47.514425 -64.870361,47.513047 -64.874527,47.513163 -64.880582,47.513160 -64.886645,47.512715 -64.895630,47.512730 -64.903832,47.512916 -64.912028,47.513542 -64.919621,47.515398 -64.920274,47.515811 -64.920334,47.515960 -64.924896,47.516481 -64.928714,47.517337 -64.932753,47.519501 -64.935263,47.522547 -64.935902,47.525378 -64.935875,47.527406 -64.935773,47.527688 -64.935834,47.528039 -64.934429,47.531395 -64.931566,47.533848 -64.931242,47.534620 -64.930019,47.535941 -64.926534,47.539062 -64.924561,47.540477 -64.920062,47.542177 -64.915349,47.542549 -64.918206,47.546510 -64.918907,47.547686 -64.919504,47.551152 -64.919439,47.551307 -64.919461,47.551453 -64.918809,47.555302 -64.917445,47.558356 -64.917223,47.558546 -64.917130,47.558748 -64.913780,47.562681 -64.910897,47.565025 -64.909323,47.565804 -64.908117,47.566312 -64.908754,47.567086 -64.909191,47.568001 -64.909788,47.571467 -64.908379,47.574823 -64.905179,47.577560 -64.900675,47.579259 -64.895713,47.579670 -64.894624,47.579619 -64.892386,47.581532 -64.891324,47.581976 -64.890416,47.584136 -64.888278,47.586961 -64.885075,47.589696 -64.880569,47.591394 -64.878023,47.591767 -64.874965,47.592005 -64.874549,47.592117 -64.873711,47.592407 -64.865638,47.592772 -64.853484,47.591017 -64.848648,47.589773 -64.843386,47.588525 -64.838303,47.586761 -64.834324,47.585234 -64.831966,47.583546 -64.829305,47.579436 -64.828413,47.576664 -64.828368,47.576339 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.817378,47.628833 -64.720670,47.698127</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.817259,47.644328 -64.816749,47.644876 -64.815972,47.645568 -64.815897,47.646055 -64.814505,47.649217 -64.812271,47.651118 -64.812183,47.651428 -64.811344,47.653261 -64.810825,47.654647 -64.809766,47.656541 -64.807349,47.658780 -64.804831,47.660479 -64.804684,47.661127 -64.803374,47.663853 -64.801609,47.665354 -64.799765,47.665689 -64.797782,47.665869 -64.794190,47.666683 -64.791007,47.667910 -64.789977,47.670319 -64.787999,47.673973 -64.786300,47.676204 -64.784252,47.678260 -64.783846,47.678533 -64.782751,47.678944 -64.781219,47.679208 -64.780259,47.679334 -64.779052,47.679927 -64.778827,47.680021 -64.777664,47.680895 -64.776378,47.681738 -64.771858,47.683431 -64.767830,47.683742 -64.767532,47.684208 -64.765572,47.686119 -64.763648,47.687554 -64.762391,47.688375 -64.757869,47.690068 -64.756586,47.690345 -64.753473,47.692988 -64.750320,47.694327 -64.748161,47.694979 -64.746792,47.695332 -64.745782,47.695410 -64.744997,47.695931 -64.740474,47.697623 -64.737128,47.698036 -64.734566,47.698127 -64.732773,47.698108 -64.727803,47.697145 -64.723757,47.694970 -64.721253,47.691917 -64.720670,47.688448 -64.720976,47.687144 -64.722022,47.684141 -64.723143,47.682090 -64.725967,47.679594 -64.728723,47.677888 -64.728942,47.677802 -64.729118,47.677654 -64.730602,47.676919 -64.731671,47.676463 -64.733416,47.674921 -64.734699,47.674010 -64.734967,47.673772 -64.740895,47.670085 -64.741458,47.669863 -64.741863,47.669537 -64.744032,47.668426 -64.745056,47.667467 -64.745411,47.667207 -64.745728,47.666889 -64.749709,47.663739 -64.757563,47.656890 -64.758027,47.656563 -64.758287,47.656311 -64.763389,47.652565 -64.768745,47.648486 -64.768972,47.648336 -64.769052,47.648260 -64.773634,47.645002 -64.778533,47.639892 -64.782571,47.634112 -64.782958,47.633415 -64.784470,47.632521 -64.787735,47.631047 -64.790656,47.629744 -64.794414,47.629312 -64.796381,47.628981 -64.799708,47.628833 -64.803278,47.629494 -64.805313,47.630201 -64.808713,47.630803 -64.812177,47.632730 -64.814102,47.634992 -64.815105,47.636210 -64.815935,47.637657 -64.816760,47.639392 -64.817241,47.641297 -64.817378,47.643373 -64.817259,47.644328 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.964756,47.062077 -64.790098,47.091307</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.957117,47.065886 -64.959680,47.067371 -64.961810,47.069148 -64.963932,47.071513 -64.964756,47.074459 -64.964544,47.077634 -64.963646,47.080569 -64.960158,47.084077 -64.955316,47.085637 -64.950828,47.086433 -64.946770,47.087232 -64.938403,47.088299 -64.929789,47.088540 -64.918160,47.088761 -64.890835,47.090583 -64.876011,47.091307 -64.855186,47.090222 -64.829621,47.089392 -64.824556,47.088355 -64.820103,47.086793 -64.817789,47.086129 -64.808752,47.085767 -64.800846,47.084766 -64.796737,47.083323 -64.793928,47.081302 -64.792172,47.078171 -64.790098,47.073450 -64.791286,47.069283 -64.795393,47.065551 -64.799720,47.064114 -64.803343,47.063612 -64.813924,47.063927 -64.826394,47.064607 -64.847715,47.066173 -64.857516,47.066948 -64.863804,47.066639 -64.876033,47.066193 -64.889377,47.065989 -64.898677,47.065698 -64.909527,47.065356 -64.923130,47.065090 -64.928050,47.064004 -64.935990,47.062347 -64.939867,47.062077 -64.957117,47.065886 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.530025,42.529886 -80.031417,42.688732</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.276405,42.614355 -80.275444,42.613588 -80.275310,42.613321 -80.275092,42.613136 -80.261919,42.595051 -80.256195,42.589950 -80.255761,42.589502 -80.254024,42.588901 -80.251443,42.587026 -80.246935,42.582617 -80.246271,42.581898 -80.244934,42.579230 -80.244870,42.579228 -80.240741,42.577838 -80.235341,42.575051 -80.235250,42.574980 -80.235123,42.574936 -80.234932,42.574783 -80.231739,42.574607 -80.231555,42.574585 -80.231428,42.574587 -80.228622,42.574381 -80.225789,42.574203 -80.222990,42.574064 -80.222720,42.574033 -80.222533,42.574035 -80.218930,42.573758 -80.215960,42.573574 -80.215230,42.573484 -80.214960,42.573482 -80.212274,42.573153 -80.210508,42.572975 -80.208175,42.572975 -80.205180,42.573099 -80.202329,42.573293 -80.202308,42.573292 -80.202293,42.573296 -80.199130,42.573504 -80.198962,42.573494 -80.198138,42.573539 -80.194652,42.573562 -80.193786,42.573486 -80.192984,42.573490 -80.190342,42.573244 -80.187701,42.573128 -80.187297,42.573082 -80.187027,42.573084 -80.184148,42.572841 -80.180595,42.572567 -80.176775,42.572402 -80.173087,42.572377 -80.169711,42.572405 -80.166031,42.572563 -80.162550,42.573172 -80.159023,42.573875 -80.158008,42.574028 -80.157898,42.574058 -80.154860,42.574444 -80.152015,42.574941 -80.148668,42.575606 -80.146802,42.575984 -80.146558,42.576049 -80.145739,42.576487 -80.144776,42.576952 -80.143548,42.577417 -80.141430,42.578112 -80.138156,42.578803 -80.136332,42.578893 -80.134668,42.578884 -80.131704,42.578604 -80.130662,42.578410 -80.127038,42.577263 -80.126081,42.576817 -80.125792,42.576600 -80.125339,42.576443 -80.124591,42.576036 -80.121730,42.573736 -80.121635,42.573689 -80.121483,42.573572 -80.121263,42.573495 -80.118664,42.571595 -80.117413,42.570359 -80.116110,42.569474 -80.114242,42.568277 -80.114159,42.568206 -80.113846,42.568013 -80.112174,42.566844 -80.112029,42.566712 -80.111733,42.566521 -80.110143,42.565293 -80.108535,42.563751 -80.108498,42.563676 -80.108427,42.563618 -80.107720,42.562731 -80.107084,42.562693 -80.105041,42.562442 -80.102953,42.561813 -80.102913,42.561814 -80.102650,42.561809 -80.102443,42.561863 -80.100302,42.562469 -80.097612,42.562981 -80.097300,42.562968 -80.097038,42.563030 -80.095150,42.563160 -80.090937,42.562918 -80.088908,42.562400 -80.087779,42.562028 -80.085464,42.561036 -80.084184,42.560111 -80.083842,42.560043 -80.081222,42.559603 -80.080684,42.559421 -80.080160,42.559388 -80.077888,42.558847 -80.075556,42.558559 -80.073805,42.558378 -80.073300,42.558404 -80.073119,42.558392 -80.072472,42.558426 -80.054580,42.558456 -80.054029,42.558406 -80.053398,42.558417 -80.042545,42.557671 -80.040633,42.557428 -80.036291,42.555915 -80.033055,42.553314 -80.031417,42.550021 -80.031628,42.546537 -80.033653,42.543393 -80.035881,42.541720 -80.037100,42.541021 -80.038404,42.540368 -80.041736,42.539379 -80.051139,42.537713 -80.052003,42.537592 -80.052061,42.537577 -80.059530,42.536691 -80.059944,42.536704 -80.060312,42.536617 -80.069430,42.535970 -80.070222,42.536014 -80.074248,42.535634 -80.078860,42.535160 -80.078867,42.535160 -80.078873,42.535159 -80.081505,42.534890 -80.085241,42.534119 -80.085561,42.534070 -80.085675,42.534036 -80.088809,42.533480 -80.089978,42.533316 -80.091151,42.533236 -80.094236,42.533134 -80.098107,42.532779 -80.098367,42.532791 -80.098572,42.532743 -80.103755,42.532414 -80.108385,42.531987 -80.108486,42.531992 -80.108570,42.531971 -80.110449,42.531819 -80.113101,42.531138 -80.114387,42.531054 -80.118370,42.530949 -80.122421,42.530660 -80.122615,42.530671 -80.122751,42.530640 -80.127188,42.530411 -80.129063,42.530094 -80.130093,42.529953 -80.132698,42.529886 -80.135461,42.530029 -80.141221,42.530039 -80.141387,42.530054 -80.141637,42.530044 -80.146600,42.530175 -80.149671,42.530113 -80.150712,42.530198 -80.151724,42.530197 -80.155141,42.530548 -80.158558,42.530898 -80.158780,42.530930 -80.158849,42.530931 -80.161020,42.531192 -80.161614,42.531282 -80.161678,42.531284 -80.164160,42.531685 -80.166041,42.531893 -80.168003,42.531979 -80.170307,42.532242 -80.170718,42.532385 -80.171094,42.532409 -80.173583,42.533001 -80.175863,42.533470 -80.177264,42.533570 -80.179111,42.533807 -80.180484,42.534125 -80.181118,42.534302 -80.185129,42.534931 -80.185334,42.534999 -80.185581,42.535009 -80.190625,42.535945 -80.195308,42.536680 -80.199051,42.537250 -80.200718,42.537397 -80.202285,42.537610 -80.204440,42.538010 -80.206431,42.538316 -80.206930,42.538480 -80.207469,42.538510 -80.209480,42.538955 -80.209659,42.539020 -80.209804,42.539030 -80.213100,42.539830 -80.215808,42.540333 -80.215998,42.540399 -80.216191,42.540408 -80.219034,42.541007 -80.219101,42.541031 -80.219752,42.541175 -80.221247,42.541563 -80.223032,42.541698 -80.224798,42.541928 -80.228460,42.542606 -80.230288,42.542893 -80.232285,42.543090 -80.232864,42.543172 -80.232986,42.543175 -80.236267,42.543640 -80.239548,42.544105 -80.242829,42.544570 -80.243274,42.544713 -80.243804,42.544738 -80.247033,42.545397 -80.249139,42.545680 -80.252001,42.546007 -80.252607,42.546098 -80.252684,42.546100 -80.254964,42.546457 -80.258396,42.546892 -80.258430,42.546903 -80.258483,42.546904 -80.261834,42.547346 -80.265288,42.547511 -80.267519,42.547768 -80.270567,42.548332 -80.271332,42.548402 -80.272835,42.548608 -80.275776,42.549455 -80.276168,42.549612 -80.276395,42.549659 -80.279919,42.549920 -80.280643,42.550171 -80.280757,42.550169 -80.282031,42.550277 -80.282930,42.550283 -80.298150,42.552072 -80.299218,42.552233 -80.300180,42.552441 -80.315823,42.556332 -80.333396,42.560068 -80.347326,42.562633 -80.350043,42.562986 -80.350839,42.562780 -80.355626,42.562961 -80.357771,42.563512 -80.358527,42.563765 -80.358685,42.563806 -80.359200,42.563866 -80.360258,42.564026 -80.360393,42.564072 -80.360533,42.564079 -80.362744,42.564525 -80.365265,42.564999 -80.365389,42.565042 -80.365515,42.565048 -80.368352,42.565628 -80.371667,42.566282 -80.372074,42.566426 -80.375483,42.567053 -80.377160,42.567597 -80.377645,42.567708 -80.378788,42.567942 -80.380461,42.568250 -80.381855,42.568441 -80.382602,42.568678 -80.383397,42.568728 -80.383766,42.568815 -80.383843,42.568821 -80.385093,42.568978 -80.387087,42.569181 -80.387505,42.569287 -80.387511,42.569287 -80.388748,42.569355 -80.390661,42.569582 -80.391663,42.569554 -80.391947,42.569568 -80.394129,42.569820 -80.394617,42.569926 -80.394698,42.569938 -80.394728,42.569948 -80.395065,42.569933 -80.395596,42.569941 -80.395866,42.569968 -80.396158,42.569960 -80.396347,42.569969 -80.397751,42.570131 -80.398030,42.570137 -80.398229,42.570168 -80.398252,42.570175 -80.401525,42.570255 -80.407396,42.570310 -80.414018,42.570235 -80.419403,42.570027 -80.431808,42.569381 -80.442708,42.568348 -80.444101,42.568408 -80.444026,42.568341 -80.530025,42.567212 -80.528689,42.576911 -80.529013,42.577336 -80.528608,42.577499 -80.528556,42.577878 -80.527623,42.577895 -80.527218,42.578058 -80.524241,42.579166 -80.521592,42.580089 -80.518019,42.581675 -80.515742,42.582565 -80.512920,42.583638 -80.510909,42.584424 -80.508275,42.585346 -80.506094,42.586024 -80.503810,42.586384 -80.500613,42.586024 -80.496914,42.585731 -80.492639,42.584950 -80.486335,42.584565 -80.484459,42.585140 -80.482625,42.585265 -80.481304,42.587244 -80.481379,42.587350 -80.481225,42.587363 -80.481168,42.587448 -80.481110,42.587372 -80.480661,42.587408 -80.479569,42.587835 -80.479071,42.588996 -80.478517,42.591759 -80.478169,42.593251 -80.477658,42.597262 -80.477507,42.598026 -80.467343,42.598405 -80.465739,42.600853 -80.464365,42.602467 -80.462726,42.604126 -80.460932,42.605854 -80.459089,42.607676 -80.458105,42.608459 -80.453613,42.619215 -80.449971,42.621244 -80.446734,42.627661 -80.438354,42.635024 -80.427573,42.646260 -80.411264,42.656214 -80.399179,42.660980 -80.399448,42.661014 -80.395719,42.663533 -80.389069,42.667504 -80.382281,42.671890 -80.375268,42.675573 -80.369893,42.678452 -80.361804,42.682157 -80.357309,42.683761 -80.349149,42.687674 -80.347074,42.687955 -80.343162,42.687347 -80.340548,42.687418 -80.338508,42.687595 -80.335081,42.688732 -80.328981,42.687831 -80.331747,42.655061 -80.321014,42.644396 -80.276143,42.614517 -80.276405,42.614355 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.083138,44.941308 -80.052060,44.975635</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.066555,44.941946 -80.066688,44.941890 -80.066711,44.941888 -80.066727,44.941882 -80.066787,44.941874 -80.066805,44.941867 -80.066907,44.941840 -80.066911,44.941840 -80.066917,44.941838 -80.066962,44.941834 -80.067016,44.941812 -80.067054,44.941803 -80.067069,44.941802 -80.067108,44.941786 -80.071066,44.941308 -80.071142,44.941309 -80.071477,44.941376 -80.071834,44.941335 -80.071859,44.941340 -80.071910,44.941335 -80.073819,44.941778 -80.074051,44.941801 -80.074117,44.941796 -80.074282,44.941815 -80.074329,44.941828 -80.074551,44.941850 -80.074691,44.941869 -80.075547,44.942104 -80.076707,44.942309 -80.076858,44.942355 -80.078084,44.942806 -80.079429,44.943509 -80.079517,44.943564 -80.081424,44.945153 -80.083115,44.948392 -80.083115,44.948418 -80.083126,44.948440 -80.083138,44.948494 -80.083000,44.952139 -80.081074,44.955724 -80.078406,44.958158 -80.078355,44.958194 -80.078333,44.958204 -80.077311,44.959136 -80.077563,44.959457 -80.077613,44.959529 -80.078070,44.960572 -80.078498,44.961302 -80.078522,44.961374 -80.078526,44.961607 -80.078629,44.961805 -80.078634,44.961860 -80.078689,44.961985 -80.078688,44.962009 -80.078713,44.962057 -80.078886,44.963745 -80.078884,44.963835 -80.078585,44.965841 -80.076742,44.969322 -80.076677,44.969403 -80.076664,44.969414 -80.076657,44.969425 -80.076618,44.969459 -80.076593,44.969506 -80.076019,44.970058 -80.075486,44.970596 -80.075479,44.970609 -80.075389,44.970707 -80.075327,44.970757 -80.074886,44.971203 -80.074770,44.971301 -80.074656,44.971383 -80.074625,44.971411 -80.074607,44.971424 -80.074530,44.971500 -80.074354,44.971642 -80.073880,44.972105 -80.073790,44.972176 -80.072297,44.973213 -80.071614,44.973520 -80.069543,44.974524 -80.069402,44.974577 -80.068945,44.974720 -80.068805,44.974783 -80.068665,44.974827 -80.068560,44.974840 -80.067599,44.975139 -80.067493,44.975150 -80.067434,44.975174 -80.067151,44.975217 -80.066996,44.975278 -80.066831,44.975312 -80.066224,44.975358 -80.064457,44.975627 -80.064317,44.975635 -80.062565,44.975633 -80.062506,44.975619 -80.062464,44.975623 -80.062248,44.975576 -80.062043,44.975592 -80.061942,44.975582 -80.059704,44.975019 -80.058399,44.974733 -80.058286,44.974687 -80.058227,44.974647 -80.058145,44.974626 -80.058103,44.974597 -80.058032,44.974580 -80.057360,44.974246 -80.057327,44.974237 -80.057201,44.974173 -80.057177,44.974155 -80.057047,44.974091 -80.056934,44.974027 -80.056847,44.973957 -80.056448,44.973749 -80.056360,44.973694 -80.055586,44.973050 -80.055054,44.972711 -80.055004,44.972665 -80.054402,44.972059 -80.053788,44.971276 -80.053787,44.971275 -80.053738,44.971212 -80.053726,44.971194 -80.052650,44.968738 -80.052505,44.967311 -80.052409,44.967047 -80.052263,44.966797 -80.052251,44.966761 -80.052248,44.966602 -80.052072,44.966114 -80.052072,44.966102 -80.052060,44.966078 -80.052189,44.962385 -80.054117,44.958800 -80.057550,44.955870 -80.057668,44.955821 -80.057000,44.954683 -80.056976,44.954610 -80.056972,44.954311 -80.056810,44.954000 -80.056811,44.953976 -80.056786,44.953928 -80.056914,44.950235 -80.058841,44.946650 -80.062273,44.943720 -80.063131,44.943365 -80.065470,44.942271 -80.065546,44.942245 -80.066270,44.942030 -80.066355,44.941993 -80.066445,44.941966 -80.066460,44.941964 -80.066469,44.941962 -80.066518,44.941957 -80.066555,44.941946 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.270678,42.864997 -79.246642,42.879748</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.269676,42.871399 -79.259377,42.875071 -79.253855,42.877808 -79.253271,42.878428 -79.250869,42.879651 -79.249432,42.879748 -79.247261,42.878980 -79.246673,42.877930 -79.246840,42.877445 -79.246841,42.874440 -79.246852,42.871285 -79.246642,42.867937 -79.247522,42.865976 -79.248893,42.865229 -79.250252,42.864997 -79.254927,42.865562 -79.263102,42.866748 -79.263219,42.866769 -79.267378,42.867633 -79.269820,42.868694 -79.270662,42.869366 -79.270678,42.870522 -79.269676,42.871399 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.829869,43.259645 -79.771425,43.315652</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.806727,43.315256 -79.804998,43.313777 -79.801584,43.308844 -79.797061,43.299838 -79.789418,43.285771 -79.782713,43.275925 -79.773658,43.266111 -79.771425,43.262829 -79.771471,43.261215 -79.776311,43.259645 -79.780872,43.259648 -79.795276,43.262665 -79.806586,43.267201 -79.812109,43.274311 -79.818917,43.282009 -79.826625,43.295903 -79.829869,43.307653 -79.827650,43.309872 -79.820287,43.312709 -79.808446,43.315652 -79.806727,43.315256 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.582689,43.182172 -79.558931,43.193490</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.577126,43.193161 -79.572897,43.192594 -79.571829,43.192543 -79.567173,43.192551 -79.565473,43.192073 -79.564220,43.191307 -79.562186,43.189066 -79.560384,43.187633 -79.559229,43.186118 -79.558931,43.184362 -79.560526,43.183318 -79.562974,43.183988 -79.564550,43.185862 -79.566649,43.185959 -79.568765,43.185207 -79.569521,43.184919 -79.570904,43.183353 -79.572288,43.182356 -79.573939,43.182172 -79.575001,43.183159 -79.574376,43.184436 -79.573951,43.185692 -79.574704,43.187134 -79.576040,43.187886 -79.575526,43.189864 -79.577088,43.190289 -79.579654,43.190271 -79.582093,43.190854 -79.582689,43.191501 -79.582686,43.193231 -79.580039,43.193490 -79.577126,43.193161 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-82.043617,43.153341 -81.769240,43.303317</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-82.001905,43.211227 -81.959158,43.220554 -81.911891,43.237743 -81.876749,43.251824 -81.837951,43.272260 -81.800576,43.293893 -81.782502,43.303317 -81.776972,43.302135 -81.772762,43.299507 -81.769692,43.296065 -81.769240,43.291377 -81.773000,43.283050 -81.778464,43.276635 -81.788909,43.267030 -81.797052,43.260698 -81.801214,43.254083 -81.817287,43.243695 -81.836125,43.233070 -81.851368,43.225518 -81.874098,43.213836 -81.885022,43.211882 -81.892440,43.206425 -81.903510,43.199218 -81.933569,43.186998 -81.943244,43.187814 -81.957544,43.192957 -81.969575,43.191821 -81.981045,43.186315 -81.985630,43.186023 -81.995711,43.180635 -82.006595,43.172403 -82.020184,43.160956 -82.033558,43.153429 -82.041681,43.153341 -82.043617,43.159233 -82.037608,43.164582 -82.024722,43.175149 -82.018396,43.186380 -82.023070,43.195324 -82.025006,43.201217 -82.025275,43.209824 -82.025677,43.213180 -82.018974,43.217766 -82.013968,43.216350 -82.009843,43.213418 -82.001905,43.211227 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-81.861947,43.206772 -81.780499,43.248703</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-81.783545,43.211852 -81.787532,43.213199 -81.791531,43.215369 -81.793629,43.218069 -81.794044,43.220968 -81.796986,43.223341 -81.799991,43.222889 -81.805510,43.219351 -81.812465,43.216033 -81.815079,43.216069 -81.819816,43.215244 -81.821503,43.211115 -81.826087,43.209077 -81.832498,43.206772 -81.839930,43.206999 -81.850999,43.209795 -81.858736,43.216374 -81.861947,43.219702 -81.857832,43.221715 -81.850180,43.225604 -81.844135,43.228445 -81.836747,43.232205 -81.831081,43.235328 -81.825518,43.238355 -81.820144,43.241523 -81.814335,43.245131 -81.807315,43.248703 -81.803924,43.245712 -81.797425,43.240049 -81.787255,43.231076 -81.780811,43.225237 -81.780800,43.222675 -81.780499,43.218514 -81.781641,43.215856 -81.783545,43.211852 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-83.086113,42.017838 -83.002821,42.064439</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-83.072340,42.037012 -83.072498,42.037047 -83.075534,42.042826 -83.081793,42.049061 -83.086113,42.049796 -83.086043,42.061234 -83.084087,42.061704 -83.079799,42.063462 -83.075755,42.064260 -83.070866,42.064439 -83.063229,42.063608 -83.055684,42.062415 -83.053450,42.061352 -83.053126,42.058693 -83.052358,42.056469 -83.049311,42.054668 -83.045972,42.052702 -83.041628,42.050095 -83.041160,42.048660 -83.036824,42.044063 -83.034101,42.042308 -83.033701,42.038642 -83.030441,42.035069 -83.028186,42.034749 -83.025686,42.035389 -83.024159,42.034177 -83.019665,42.032169 -83.014067,42.029258 -83.010126,42.027702 -83.004629,42.025054 -83.002821,42.021685 -83.003067,42.020725 -83.003689,42.018947 -83.004228,42.019115 -83.004640,42.017838 -83.007346,42.018347 -83.014407,42.020098 -83.022734,42.022775 -83.033324,42.026395 -83.041223,42.028138 -83.050818,42.029125 -83.057529,42.030947 -83.065508,42.033694 -83.072696,42.034960 -83.072340,42.037012 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.705176,44.718360 -79.631917,44.780827</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.664484,44.721943 -79.672159,44.736315 -79.676083,44.741695 -79.679833,44.744076 -79.689127,44.747139 -79.694863,44.748047 -79.699649,44.748979 -79.705176,44.751669 -79.703879,44.756998 -79.697428,44.763630 -79.683199,44.772925 -79.680833,44.774714 -79.678781,44.775984 -79.683558,44.780077 -79.681819,44.780827 -79.676545,44.778180 -79.676198,44.772945 -79.673266,44.769750 -79.668554,44.765476 -79.667641,44.760717 -79.667210,44.751445 -79.666563,44.749033 -79.667820,44.747337 -79.667398,44.745443 -79.665117,44.745043 -79.661385,44.745730 -79.654870,44.747079 -79.646134,44.747463 -79.642169,44.746096 -79.639948,44.745132 -79.637151,44.742725 -79.632890,44.738719 -79.632339,44.736036 -79.631917,44.733758 -79.632686,44.729199 -79.636533,44.726234 -79.643853,44.721772 -79.648902,44.719210 -79.654435,44.718360 -79.659405,44.718753 -79.662482,44.720346 -79.664484,44.721943 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.141244,44.455147 -78.913772,44.706958</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.046960,44.476886 -79.067731,44.506833 -79.077576,44.516297 -79.098033,44.511924 -79.124098,44.509473 -79.138698,44.517992 -79.141244,44.537382 -79.136913,44.567240 -79.136724,44.597856 -79.136719,44.622649 -79.124236,44.648783 -79.099428,44.672225 -79.055782,44.688169 -78.968675,44.706958 -78.931385,44.705067 -78.914145,44.691509 -78.913772,44.671580 -78.920570,44.647561 -78.916720,44.619776 -78.920762,44.589390 -78.931132,44.562432 -78.943548,44.522778 -78.952617,44.504610 -78.965105,44.483919 -78.971053,44.465630 -78.992443,44.455147 -79.023021,44.457617 -79.046960,44.476886 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-76.533986,44.085024 -76.164636,44.249625</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-76.444761,44.085024 -76.455519,44.085386 -76.466779,44.089786 -76.478187,44.085962 -76.495203,44.089636 -76.503467,44.097315 -76.512342,44.111414 -76.523417,44.118910 -76.530890,44.127201 -76.528316,44.147875 -76.533986,44.152633 -76.531347,44.164253 -76.520435,44.176060 -76.493422,44.191085 -76.468798,44.204262 -76.463581,44.214151 -76.443556,44.222811 -76.419403,44.236085 -76.409054,44.242504 -76.396397,44.245275 -76.380686,44.242266 -76.362260,44.241814 -76.338947,44.247777 -76.326249,44.245412 -76.307426,44.243288 -76.284227,44.243750 -76.262836,44.243812 -76.236671,44.244797 -76.207691,44.245945 -76.183114,44.249625 -76.171342,44.245076 -76.164636,44.233756 -76.170005,44.226266 -76.179144,44.217634 -76.203857,44.204537 -76.239123,44.194925 -76.270225,44.193843 -76.300370,44.193723 -76.321004,44.187587 -76.327215,44.172802 -76.338630,44.159938 -76.343226,44.146378 -76.340696,44.136778 -76.344779,44.127043 -76.365225,44.121260 -76.384117,44.113956 -76.408765,44.101998 -76.433602,44.086933 -76.444761,44.085024 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-76.560386,44.058996 -76.536020,44.076565</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-76.536529,44.065267 -76.536592,44.065120 -76.536658,44.064974 -76.536728,44.064830 -76.536801,44.064686 -76.536878,44.064543 -76.536958,44.064401 -76.537041,44.064260 -76.537128,44.064120 -76.537218,44.063981 -76.537312,44.063843 -76.537409,44.063707 -76.537509,44.063572 -76.537613,44.063438 -76.537719,44.063305 -76.537829,44.063174 -76.537943,44.063044 -76.538059,44.062916 -76.538178,44.062789 -76.538300,44.062663 -76.538426,44.062539 -76.538554,44.062417 -76.538685,44.062297 -76.538820,44.062178 -76.538957,44.062060 -76.539096,44.061945 -76.539239,44.061831 -76.539384,44.061719 -76.539532,44.061609 -76.539683,44.061501 -76.539836,44.061395 -76.539992,44.061291 -76.540150,44.061188 -76.540311,44.061088 -76.540474,44.060990 -76.540640,44.060893 -76.540808,44.060799 -76.540978,44.060707 -76.541150,44.060618 -76.541325,44.060530 -76.541501,44.060444 -76.541680,44.060361 -76.541860,44.060280 -76.542043,44.060202 -76.542227,44.060125 -76.542413,44.060051 -76.542601,44.059979 -76.542791,44.059910 -76.542982,44.059843 -76.543175,44.059779 -76.543369,44.059717 -76.543565,44.059657 -76.543763,44.059600 -76.543961,44.059545 -76.544161,44.059493 -76.544362,44.059444 -76.544565,44.059397 -76.544768,44.059352 -76.544973,44.059310 -76.545178,44.059271 -76.545385,44.059234 -76.545592,44.059200 -76.545800,44.059168 -76.546009,44.059139 -76.546218,44.059113 -76.546428,44.059089 -76.546639,44.059068 -76.546850,44.059050 -76.547061,44.059034 -76.547273,44.059021 -76.547485,44.059011 -76.547698,44.059003 -76.547910,44.058998 -76.548123,44.058996 -76.548335,44.058996 -76.548548,44.058999 -76.548760,44.059005 -76.548972,44.059013 -76.549185,44.059024 -76.549396,44.059038 -76.549608,44.059054 -76.549819,44.059073 -76.550029,44.059095 -76.550239,44.059119 -76.550448,44.059146 -76.550657,44.059176 -76.550865,44.059208 -76.551072,44.059243 -76.551278,44.059280 -76.551483,44.059320 -76.551688,44.059363 -76.551891,44.059408 -76.552093,44.059455 -76.552294,44.059506 -76.552493,44.059558 -76.552692,44.059614 -76.552889,44.059671 -76.553084,44.059732 -76.553278,44.059794 -76.553471,44.059859 -76.553662,44.059927 -76.553851,44.059997 -76.554038,44.060069 -76.554224,44.060143 -76.554408,44.060220 -76.554590,44.060300 -76.554770,44.060381 -76.554948,44.060465 -76.555124,44.060551 -76.555298,44.060639 -76.555470,44.060729 -76.555639,44.060822 -76.555807,44.060917 -76.555972,44.061013 -76.556134,44.061112 -76.556294,44.061213 -76.556452,44.061316 -76.556607,44.061420 -76.556760,44.061527 -76.556910,44.061636 -76.557057,44.061746 -76.557202,44.061859 -76.557344,44.061973 -76.557483,44.062089 -76.557620,44.062206 -76.557753,44.062326 -76.557884,44.062447 -76.558011,44.062569 -76.558136,44.062694 -76.558257,44.062819 -76.558376,44.062947 -76.558491,44.063075 -76.558604,44.063205 -76.558713,44.063337 -76.558819,44.063470 -76.558922,44.063604 -76.559021,44.063740 -76.559117,44.063876 -76.559210,44.064014 -76.559300,44.064153 -76.559386,44.064294 -76.559468,44.064435 -76.559548,44.064577 -76.559623,44.064720 -76.559696,44.064865 -76.559765,44.065010 -76.559830,44.065156 -76.559892,44.065302 -76.559950,44.065450 -76.560005,44.065598 -76.560056,44.065747 -76.560103,44.065896 -76.560147,44.066046 -76.560187,44.066197 -76.560223,44.066348 -76.560256,44.066499 -76.560286,44.066651 -76.560311,44.066803 -76.560333,44.066956 -76.560351,44.067109 -76.560365,44.067262 -76.560376,44.067415 -76.560383,44.067568 -76.560386,44.067721 -76.560386,44.067875 -76.560382,44.068028 -76.560374,44.068181 -76.560363,44.068334 -76.560347,44.068487 -76.560328,44.068640 -76.560306,44.068792 -76.560279,44.068944 -76.560249,44.069096 -76.560216,44.069247 -76.560178,44.069398 -76.560137,44.069549 -76.560093,44.069699 -76.560045,44.069848 -76.559993,44.069997 -76.559937,44.070145 -76.559878,44.070292 -76.559816,44.070439 -76.559750,44.070584 -76.559680,44.070729 -76.559607,44.070873 -76.559530,44.071016 -76.559450,44.071158 -76.559367,44.071299 -76.559280,44.071439 -76.559190,44.071578 -76.559096,44.071716 -76.558999,44.071852 -76.558899,44.071987 -76.558795,44.072121 -76.558689,44.072254 -76.558579,44.072385 -76.558466,44.072515 -76.558350,44.072644 -76.558230,44.072771 -76.558108,44.072896 -76.557983,44.073020 -76.557854,44.073142 -76.557723,44.073263 -76.557589,44.073382 -76.557452,44.073499 -76.557312,44.073614 -76.557170,44.073728 -76.557024,44.073840 -76.556876,44.073950 -76.556725,44.074058 -76.556572,44.074165 -76.556416,44.074269 -76.556258,44.074371 -76.556097,44.074472 -76.555934,44.074570 -76.555769,44.074666 -76.555601,44.074760 -76.555431,44.074853 -76.555258,44.074942 -76.555084,44.075030 -76.554907,44.075116 -76.554729,44.075199 -76.554548,44.075280 -76.554366,44.075359 -76.554181,44.075435 -76.553995,44.075509 -76.553807,44.075581 -76.553617,44.075650 -76.553426,44.075717 -76.553233,44.075781 -76.553039,44.075844 -76.552843,44.075903 -76.552645,44.075960 -76.552447,44.076015 -76.552247,44.076067 -76.552045,44.076117 -76.551843,44.076164 -76.551639,44.076208 -76.551435,44.076250 -76.551229,44.076290 -76.551023,44.076326 -76.550815,44.076361 -76.550607,44.076392 -76.550398,44.076421 -76.550189,44.076447 -76.549979,44.076471 -76.549768,44.076492 -76.549557,44.076510 -76.549345,44.076526 -76.549134,44.076539 -76.548921,44.076550 -76.548709,44.076557 -76.548496,44.076562 -76.548284,44.076565 -76.548071,44.076564 -76.547858,44.076561 -76.547646,44.076556 -76.547433,44.076547 -76.547221,44.076536 -76.547009,44.076523 -76.546798,44.076506 -76.546587,44.076487 -76.546376,44.076466 -76.546166,44.076441 -76.545957,44.076414 -76.545748,44.076385 -76.545540,44.076353 -76.545333,44.076318 -76.545127,44.076280 -76.544922,44.076240 -76.544717,44.076198 -76.544514,44.076153 -76.544312,44.076105 -76.544111,44.076055 -76.543911,44.076002 -76.543713,44.075947 -76.543516,44.075889 -76.543320,44.075829 -76.543126,44.075766 -76.542934,44.075701 -76.542743,44.075633 -76.542554,44.075564 -76.542366,44.075491 -76.542180,44.075417 -76.541996,44.075340 -76.541814,44.075260 -76.541634,44.075179 -76.541456,44.075095 -76.541280,44.075009 -76.541106,44.074921 -76.540934,44.074830 -76.540765,44.074738 -76.540597,44.074643 -76.540432,44.074546 -76.540270,44.074448 -76.540110,44.074347 -76.539952,44.074244 -76.539797,44.074139 -76.539644,44.074032 -76.539494,44.073924 -76.539347,44.073813 -76.539202,44.073701 -76.539060,44.073587 -76.538921,44.073471 -76.538784,44.073353 -76.538651,44.073234 -76.538520,44.073113 -76.538393,44.072990 -76.538268,44.072866 -76.538147,44.072740 -76.538028,44.072613 -76.537913,44.072484 -76.537800,44.072354 -76.537691,44.072222 -76.537585,44.072089 -76.537483,44.071955 -76.537383,44.071819 -76.537287,44.071682 -76.537194,44.071545 -76.537105,44.071405 -76.537019,44.071265 -76.536936,44.071124 -76.536857,44.070982 -76.536781,44.070838 -76.536709,44.070694 -76.536640,44.070549 -76.536575,44.070403 -76.536513,44.070256 -76.536455,44.070109 -76.536401,44.069961 -76.536350,44.069812 -76.536302,44.069663 -76.536259,44.069512 -76.536218,44.069362 -76.536182,44.069211 -76.536149,44.069059 -76.536120,44.068907 -76.536095,44.068755 -76.536073,44.068603 -76.536055,44.068450 -76.536041,44.068297 -76.536030,44.068144 -76.536023,44.067991 -76.536020,44.067837 -76.536020,44.067684 -76.536024,44.067531 -76.536032,44.067378 -76.536044,44.067224 -76.536059,44.067072 -76.536078,44.066919 -76.536101,44.066766 -76.536127,44.066614 -76.536158,44.066462 -76.536191,44.066311 -76.536229,44.066160 -76.536270,44.066010 -76.536314,44.065860 -76.536363,44.065711 -76.536415,44.065562 -76.536470,44.065414 -76.536529,44.065267 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-83.168280,42.040807 -83.083930,42.252270</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-83.154061,42.042656 -83.168280,42.045133 -83.166609,42.082426 -83.160995,42.081639 -83.152605,42.086717 -83.145732,42.093452 -83.142719,42.100247 -83.136655,42.111427 -83.134239,42.133710 -83.130960,42.156837 -83.139058,42.173380 -83.138103,42.184801 -83.141182,42.190529 -83.143754,42.195705 -83.140888,42.204452 -83.138646,42.213286 -83.140665,42.223201 -83.140145,42.230351 -83.129412,42.239441 -83.117481,42.252270 -83.102831,42.251392 -83.100043,42.240878 -83.099748,42.226122 -83.094871,42.189317 -83.093640,42.181438 -83.085008,42.179741 -83.083930,42.173810 -83.092527,42.173096 -83.093862,42.170395 -83.100602,42.161715 -83.104452,42.151665 -83.113161,42.132672 -83.107997,42.119910 -83.111522,42.113668 -83.114472,42.102050 -83.110171,42.088450 -83.111519,42.078052 -83.111517,42.060246 -83.111853,42.048745 -83.130648,42.040807 -83.154061,42.042656 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-81.705433,42.469153 -81.434014,42.638768</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-81.705433,42.502936 -81.600481,42.577855 -81.512403,42.638768 -81.499257,42.638757 -81.467529,42.631622 -81.460459,42.625292 -81.445475,42.618738 -81.434703,42.609039 -81.434014,42.603381 -81.451393,42.598531 -81.459935,42.590187 -81.461872,42.583563 -81.469309,42.580590 -81.475136,42.581520 -81.490033,42.578695 -81.504576,42.575465 -81.537412,42.556079 -81.563279,42.538007 -81.585543,42.519361 -81.620671,42.498245 -81.645197,42.481337 -81.671153,42.469153 -81.688152,42.483254 -81.705433,42.502936 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-76.821943,44.092334 -76.610129,44.200868</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-76.674169,44.189292 -76.674070,44.189370 -76.673454,44.189904 -76.673399,44.189977 -76.673322,44.190028 -76.673289,44.190078 -76.673194,44.190137 -76.673118,44.190247 -76.673008,44.190347 -76.672471,44.190689 -76.672444,44.190714 -76.672346,44.190797 -76.671945,44.191041 -76.671800,44.191173 -76.671690,44.191264 -76.671428,44.191423 -76.670921,44.191839 -76.670811,44.191912 -76.670410,44.192126 -76.670348,44.192170 -76.670227,44.192228 -76.670009,44.192388 -76.669886,44.192453 -76.669373,44.192693 -76.669259,44.192772 -76.669110,44.192837 -76.669093,44.192840 -76.669081,44.192847 -76.669009,44.192862 -76.668933,44.192913 -76.668210,44.193176 -76.668061,44.193224 -76.667933,44.193243 -76.667574,44.193363 -76.667425,44.193401 -76.667206,44.193429 -76.666919,44.193515 -76.666770,44.193545 -76.665557,44.193662 -76.665156,44.193850 -76.665136,44.193854 -76.665023,44.193908 -76.664999,44.193924 -76.664117,44.194394 -76.663895,44.194551 -76.663760,44.194616 -76.663658,44.194639 -76.663455,44.194748 -76.663400,44.194759 -76.663319,44.194813 -76.662726,44.195011 -76.662551,44.195094 -76.662432,44.195118 -76.662371,44.195158 -76.662235,44.195214 -76.662154,44.195230 -76.662105,44.195263 -76.662088,44.195269 -76.662080,44.195274 -76.662011,44.195298 -76.661993,44.195310 -76.661844,44.195366 -76.661778,44.195378 -76.661197,44.195583 -76.661036,44.195630 -76.661036,44.195630 -76.661036,44.195630 -76.660874,44.195678 -76.660827,44.195685 -76.660713,44.195723 -76.660540,44.195771 -76.660540,44.195771 -76.660540,44.195771 -76.660366,44.195818 -76.660307,44.195826 -76.660216,44.195858 -76.660055,44.195906 -76.660055,44.195906 -76.660055,44.195906 -76.659893,44.195953 -76.659893,44.195953 -76.659893,44.195953 -76.659809,44.195978 -76.659737,44.196026 -76.658668,44.196392 -76.658494,44.196440 -76.658041,44.196501 -76.657671,44.196612 -76.657522,44.196641 -76.657337,44.196659 -76.657253,44.196684 -76.657151,44.196702 -76.657061,44.196720 -76.657008,44.196725 -76.657000,44.196727 -76.656850,44.196748 -76.656833,44.196749 -76.656725,44.196770 -76.656475,44.196794 -76.656327,44.196832 -76.656266,44.196839 -76.656202,44.196856 -76.656053,44.196876 -76.655565,44.196909 -76.655443,44.196937 -76.655268,44.196949 -76.655268,44.196949 -76.655268,44.196949 -76.655093,44.196960 -76.655008,44.196946 -76.654957,44.196950 -76.654829,44.197037 -76.654721,44.197095 -76.654650,44.197151 -76.654527,44.197224 -76.654112,44.197433 -76.653939,44.197563 -76.653803,44.197637 -76.653670,44.197701 -76.653648,44.197716 -76.653512,44.197781 -76.653492,44.197786 -76.653230,44.197911 -76.653189,44.197946 -76.653101,44.197999 -76.652751,44.198288 -76.652628,44.198370 -76.652606,44.198383 -76.652585,44.198399 -76.652475,44.198473 -76.652284,44.198575 -76.652018,44.198782 -76.651895,44.198856 -76.651895,44.198856 -76.651895,44.198856 -76.651772,44.198930 -76.651152,44.199242 -76.651028,44.199330 -76.650892,44.199395 -76.650876,44.199398 -76.650766,44.199453 -76.650739,44.199460 -76.650712,44.199478 -76.650588,44.199534 -76.650399,44.199575 -76.650181,44.199721 -76.647859,44.200335 -76.647697,44.200356 -76.646577,44.200426 -76.646144,44.200378 -76.645474,44.200423 -76.645418,44.200434 -76.645243,44.200437 -76.645149,44.200419 -76.645148,44.200419 -76.645129,44.200420 -76.645080,44.200430 -76.644941,44.200432 -76.644937,44.200432 -76.642748,44.200868 -76.641807,44.200819 -76.641732,44.200811 -76.641531,44.200760 -76.641192,44.200734 -76.641077,44.200717 -76.641072,44.200716 -76.641062,44.200715 -76.641028,44.200710 -76.641018,44.200707 -76.640934,44.200691 -76.640852,44.200667 -76.640768,44.200662 -76.640705,44.200654 -76.638414,44.200043 -76.635543,44.198140 -76.635453,44.198052 -76.635435,44.198024 -76.635406,44.198005 -76.635162,44.197650 -76.635133,44.197631 -76.634904,44.197382 -76.634812,44.197320 -76.634718,44.197181 -76.634635,44.197089 -76.634544,44.196983 -76.634295,44.196575 -76.634132,44.196368 -76.634030,44.196363 -76.633892,44.196347 -76.633856,44.196337 -76.633766,44.196329 -76.633756,44.196328 -76.633754,44.196327 -76.633730,44.196325 -76.633720,44.196323 -76.633689,44.196321 -76.633683,44.196320 -76.633498,44.196310 -76.633348,44.196294 -76.633262,44.196272 -76.633049,44.196258 -76.632873,44.196233 -76.632836,44.196223 -76.632770,44.196218 -76.632607,44.196194 -76.632525,44.196171 -76.632520,44.196172 -76.632420,44.196164 -76.632383,44.196155 -76.632236,44.196148 -76.632073,44.196133 -76.631864,44.196081 -76.631853,44.196080 -76.631678,44.196065 -76.631635,44.196054 -76.631077,44.196016 -76.630902,44.195991 -76.630820,44.195969 -76.630680,44.195958 -76.630529,44.195933 -76.630096,44.195809 -76.629861,44.195783 -76.629786,44.195766 -76.629700,44.195748 -76.629655,44.195735 -76.629610,44.195738 -76.629583,44.195734 -76.629522,44.195746 -76.629372,44.195749 -76.629372,44.195749 -76.629371,44.195749 -76.629221,44.195751 -76.629172,44.195741 -76.629072,44.195762 -76.628896,44.195764 -76.628896,44.195764 -76.628896,44.195764 -76.628791,44.195766 -76.628732,44.195780 -76.628569,44.195791 -76.628569,44.195791 -76.628569,44.195791 -76.628407,44.195803 -76.628407,44.195803 -76.628407,44.195803 -76.628265,44.195812 -76.628136,44.195822 -76.628104,44.195817 -76.628059,44.195827 -76.627884,44.195839 -76.627778,44.195821 -76.627748,44.195823 -76.627709,44.195832 -76.627534,44.195844 -76.627521,44.195842 -76.627449,44.195859 -76.627299,44.195870 -76.627229,44.195859 -76.626498,44.195944 -76.626436,44.195959 -76.626296,44.195968 -76.626172,44.195982 -76.626134,44.195975 -76.625974,44.195977 -76.625862,44.195955 -76.625762,44.195973 -76.625611,44.195966 -76.625514,44.195944 -76.625303,44.195982 -76.625157,44.195976 -76.625000,44.195970 -76.624958,44.195961 -76.624923,44.195967 -76.624773,44.195960 -76.624627,44.195928 -76.623839,44.195868 -76.623720,44.195850 -76.622086,44.196176 -76.618644,44.195491 -76.617292,44.194594 -76.617281,44.194592 -76.614408,44.192687 -76.614318,44.192598 -76.614300,44.192572 -76.614273,44.192554 -76.612806,44.190626 -76.612741,44.190509 -76.612258,44.189520 -76.611652,44.186475 -76.611515,44.186217 -76.611360,44.186009 -76.611307,44.185911 -76.611282,44.185858 -76.611274,44.185846 -76.611221,44.185739 -76.611216,44.185719 -76.610923,44.185100 -76.610319,44.182857 -76.610303,44.182741 -76.610303,44.182741 -76.610303,44.182741 -76.610293,44.182663 -76.610283,44.182594 -76.610228,44.181821 -76.610212,44.181706 -76.610206,44.181615 -76.610195,44.181563 -76.610192,44.181446 -76.610194,44.181435 -76.610155,44.180844 -76.610136,44.180754 -76.610132,44.180628 -76.610138,44.180596 -76.610132,44.180508 -76.610143,44.180454 -76.610129,44.180382 -76.610157,44.179670 -76.610166,44.179553 -76.610348,44.178798 -76.610498,44.177744 -76.610533,44.177627 -76.610533,44.177627 -76.610567,44.177509 -76.610623,44.177350 -76.610631,44.177301 -76.610665,44.177192 -76.610926,44.176480 -76.611127,44.176100 -76.611417,44.175496 -76.611476,44.175387 -76.611579,44.175250 -76.611732,44.174963 -76.611804,44.174854 -76.611809,44.174848 -76.611863,44.174745 -76.611935,44.174636 -76.612192,44.174321 -76.612327,44.174088 -76.612412,44.173979 -76.612539,44.173835 -76.612551,44.173817 -76.612808,44.173502 -76.612943,44.173269 -76.613027,44.173160 -76.613779,44.172307 -76.613908,44.172220 -76.613990,44.172103 -76.614087,44.172012 -76.614089,44.172010 -76.614478,44.171339 -76.614563,44.171230 -76.615315,44.170376 -76.616648,44.169278 -76.616771,44.169195 -76.617047,44.169047 -76.617077,44.169001 -76.617174,44.168900 -76.617233,44.168861 -76.617273,44.168800 -76.618606,44.167701 -76.618729,44.167619 -76.619927,44.166975 -76.620257,44.166672 -76.620355,44.166590 -76.620362,44.166586 -76.620367,44.166580 -76.620465,44.166498 -76.620466,44.166498 -76.620575,44.166398 -76.620673,44.166315 -76.620780,44.166250 -76.621118,44.165941 -76.621228,44.165849 -76.621281,44.165817 -76.621282,44.165817 -76.621348,44.165773 -76.621379,44.165725 -76.621460,44.165658 -76.621491,44.165614 -76.621589,44.165523 -76.621737,44.165427 -76.622066,44.165125 -76.622163,44.165043 -76.622333,44.164940 -76.622712,44.164627 -76.622835,44.164544 -76.624097,44.163866 -76.624517,44.163611 -76.625044,44.163469 -76.625064,44.163459 -76.625075,44.163457 -76.625084,44.163450 -76.625220,44.163394 -76.625220,44.163394 -76.625356,44.163338 -76.625362,44.163337 -76.625596,44.163252 -76.625608,44.163244 -76.625665,44.163227 -76.626061,44.163082 -76.626210,44.163035 -76.626353,44.163013 -76.627707,44.162242 -76.628196,44.162144 -76.629768,44.161249 -76.629779,44.161247 -76.629789,44.161241 -76.629925,44.161185 -76.630012,44.161167 -76.630241,44.161113 -76.630285,44.161098 -76.630316,44.161078 -76.630465,44.161022 -76.630574,44.161002 -76.630594,44.160987 -76.630680,44.160941 -76.630682,44.160940 -76.630904,44.160777 -76.631064,44.160694 -76.631277,44.160595 -76.631467,44.160457 -76.631615,44.160383 -76.631783,44.160344 -76.632053,44.160190 -76.632106,44.160179 -76.632201,44.160116 -76.632307,44.160079 -76.632377,44.160044 -76.632384,44.160040 -76.632466,44.160002 -76.632529,44.159956 -76.632640,44.159900 -76.632741,44.159876 -76.633115,44.159688 -76.633189,44.159674 -76.633194,44.159670 -76.633307,44.159616 -76.633310,44.159614 -76.633325,44.159607 -76.633330,44.159605 -76.633331,44.159605 -76.633454,44.159551 -76.633488,44.159529 -76.633611,44.159482 -76.633698,44.159467 -76.633755,44.159428 -76.633904,44.159362 -76.633996,44.159343 -76.634079,44.159287 -76.634213,44.159247 -76.634242,44.159229 -76.634295,44.159210 -76.634475,44.159126 -76.634497,44.159111 -76.634645,44.159046 -76.634647,44.159045 -76.634944,44.158906 -76.634975,44.158900 -76.635001,44.158883 -76.635124,44.158833 -76.635260,44.158765 -76.635262,44.158764 -76.635348,44.158693 -76.635459,44.158620 -76.635624,44.158531 -76.635742,44.158439 -76.635877,44.158356 -76.636919,44.157825 -76.636957,44.157798 -76.637093,44.157733 -76.637104,44.157730 -76.637138,44.157713 -76.637271,44.157669 -76.637397,44.157601 -76.637585,44.157564 -76.637598,44.157560 -76.637794,44.157433 -76.637943,44.157377 -76.638003,44.157366 -76.638154,44.157311 -76.638192,44.157287 -76.638329,44.157240 -76.638365,44.157233 -76.638542,44.157169 -76.638691,44.157122 -76.638781,44.157108 -76.638929,44.156998 -76.639053,44.156934 -76.639181,44.156873 -76.639209,44.156853 -76.639357,44.156779 -76.639407,44.156767 -76.639795,44.156585 -76.639848,44.156575 -76.639943,44.156511 -76.640905,44.156313 -76.641179,44.156213 -76.641328,44.156166 -76.641328,44.156166 -76.641477,44.156118 -76.641560,44.156105 -76.641658,44.156074 -76.641820,44.156035 -76.641829,44.156034 -76.642117,44.155941 -76.642279,44.155903 -76.642540,44.155872 -76.642598,44.155853 -76.642747,44.155815 -76.642807,44.155807 -76.642901,44.155777 -76.643045,44.155743 -76.643067,44.155727 -76.643184,44.155668 -76.643810,44.155152 -76.643933,44.155069 -76.644521,44.154753 -76.644777,44.154565 -76.644900,44.154500 -76.645029,44.154439 -76.645056,44.154420 -76.645204,44.154345 -76.645255,44.154333 -76.645558,44.154192 -76.645614,44.154153 -76.645763,44.154088 -76.645816,44.154076 -76.645827,44.154069 -76.645950,44.154013 -76.646031,44.153996 -76.646060,44.153978 -76.646684,44.153660 -76.646725,44.153629 -76.646801,44.153588 -76.646880,44.153532 -76.646970,44.153489 -76.647035,44.153435 -76.647065,44.153392 -76.647162,44.153300 -76.647329,44.153193 -76.648242,44.152440 -76.648263,44.152423 -76.648659,44.152061 -76.648769,44.151969 -76.648860,44.151914 -76.648862,44.151913 -76.648959,44.151830 -76.649107,44.151741 -76.649461,44.151447 -76.649586,44.151362 -76.649694,44.151273 -76.649829,44.151181 -76.650035,44.151070 -76.650189,44.150947 -76.650325,44.150864 -76.650406,44.150823 -76.650449,44.150797 -76.650505,44.150746 -76.650592,44.150672 -76.650619,44.150641 -76.650679,44.150571 -76.650891,44.150311 -76.651218,44.149874 -76.651361,44.149778 -76.651426,44.149682 -76.651476,44.149638 -76.651499,44.149605 -76.651571,44.149538 -76.651632,44.149482 -76.651726,44.149421 -76.652303,44.148920 -76.652360,44.148823 -76.652444,44.148714 -76.652548,44.148596 -76.652601,44.148505 -76.652685,44.148395 -76.653209,44.147801 -76.653326,44.147657 -76.653348,44.147622 -76.653361,44.147607 -76.653410,44.147532 -76.653508,44.147432 -76.653513,44.147428 -76.653513,44.147427 -76.653521,44.147422 -76.653641,44.147225 -76.653701,44.147152 -76.653701,44.147152 -76.653761,44.147079 -76.654146,44.146656 -76.654160,44.146607 -76.654336,44.146275 -76.654572,44.145770 -76.654596,44.145725 -76.654596,44.145725 -76.654620,44.145680 -76.654737,44.145520 -76.654962,44.145096 -76.654997,44.145042 -76.654998,44.145042 -76.655033,44.144987 -76.655163,44.144829 -76.655187,44.144792 -76.655238,44.144696 -76.655286,44.144624 -76.655452,44.144420 -76.655455,44.144414 -76.655503,44.144341 -76.655859,44.143905 -76.655865,44.143895 -76.656202,44.143482 -76.656211,44.143469 -76.656342,44.143251 -76.656402,44.143178 -76.656638,44.142920 -76.656710,44.142807 -76.656788,44.142755 -76.656857,44.142680 -76.657004,44.142499 -76.657008,44.142493 -76.657081,44.142420 -76.657139,44.142381 -76.657160,44.142351 -76.657435,44.142129 -76.657522,44.142007 -76.657596,44.141943 -76.657902,44.141753 -76.658655,44.141145 -76.658741,44.141090 -76.659041,44.140933 -76.659192,44.140818 -76.659290,44.140763 -76.659395,44.140712 -76.659401,44.140707 -76.659500,44.140652 -76.659638,44.140585 -76.659673,44.140560 -76.659783,44.140504 -76.659823,44.140495 -76.659951,44.140432 -76.659993,44.140402 -76.660104,44.140346 -76.660104,44.140346 -76.660215,44.140291 -76.660268,44.140278 -76.660421,44.140203 -76.660435,44.140194 -76.660546,44.140148 -76.660769,44.140103 -76.660912,44.140004 -76.661036,44.139948 -76.661088,44.139937 -76.661174,44.139881 -76.661298,44.139835 -76.661299,44.139834 -76.661299,44.139834 -76.661364,44.139813 -76.661369,44.139809 -76.661374,44.139808 -76.661377,44.139806 -76.661488,44.139750 -76.661533,44.139739 -76.661637,44.139689 -76.661689,44.139652 -76.661788,44.139606 -76.661825,44.139597 -76.662274,44.139379 -76.662353,44.139363 -76.662386,44.139341 -76.662794,44.139195 -76.662839,44.139167 -76.662950,44.139129 -76.662999,44.139121 -76.663203,44.139048 -76.663327,44.139010 -76.663476,44.138988 -76.663511,44.138967 -76.663598,44.138938 -76.663697,44.138923 -76.663918,44.138851 -76.664043,44.138823 -76.664043,44.138823 -76.664167,44.138794 -76.664169,44.138794 -76.664439,44.138708 -76.664526,44.138689 -76.664755,44.138664 -76.665157,44.138551 -76.665281,44.138531 -76.665281,44.138531 -76.665406,44.138511 -76.665581,44.138497 -76.666095,44.138313 -76.666219,44.138275 -76.666905,44.138172 -76.667311,44.137941 -76.667740,44.137615 -76.667839,44.137559 -76.668760,44.137111 -76.668774,44.137102 -76.668885,44.137055 -76.668905,44.137051 -76.668922,44.137040 -76.669114,44.136976 -76.669430,44.136724 -76.669504,44.136678 -76.669656,44.136600 -76.669737,44.136537 -76.669848,44.136473 -76.670006,44.136394 -76.670055,44.136357 -76.670060,44.136354 -76.670098,44.136308 -76.670654,44.135698 -76.670656,44.135696 -76.670729,44.135622 -76.670788,44.135583 -76.670808,44.135552 -76.671024,44.135412 -76.671170,44.135209 -76.671243,44.135145 -76.671804,44.134796 -76.671783,44.134535 -76.671759,44.134424 -76.671757,44.134343 -76.671759,44.134333 -76.671742,44.134254 -76.671739,44.134164 -76.671739,44.134164 -76.671739,44.134164 -76.671737,44.134083 -76.671743,44.134052 -76.671738,44.133999 -76.671753,44.133925 -76.671733,44.133828 -76.672418,44.130386 -76.672851,44.129512 -76.672877,44.129376 -76.672911,44.129286 -76.672911,44.129286 -76.672946,44.129195 -76.672956,44.129180 -76.672958,44.129172 -76.673007,44.129099 -76.673028,44.128991 -76.673599,44.127978 -76.673948,44.127319 -76.673984,44.127265 -76.674038,44.127199 -76.674089,44.127108 -76.674149,44.127026 -76.674149,44.127026 -76.674209,44.126944 -76.674447,44.126667 -76.674514,44.126554 -76.674550,44.126508 -76.674592,44.126461 -76.674607,44.126434 -76.674668,44.126352 -76.674768,44.126235 -76.674810,44.126165 -76.674871,44.126092 -76.674871,44.126092 -76.674881,44.126080 -76.674886,44.126041 -76.674909,44.125959 -76.675263,44.124933 -76.675287,44.124897 -76.675305,44.124848 -76.675313,44.124803 -76.675336,44.124740 -76.675356,44.124709 -76.675357,44.124707 -76.675427,44.124573 -76.675449,44.124453 -76.675494,44.124386 -76.675508,44.124317 -76.675663,44.124047 -76.675700,44.123884 -76.675736,44.123812 -76.675899,44.123583 -76.676072,44.123227 -76.676108,44.123164 -76.676251,44.122975 -76.676439,44.122619 -76.676487,44.122547 -76.676487,44.122547 -76.676523,44.122492 -76.676624,44.122369 -76.676643,44.122335 -76.676691,44.122271 -76.676691,44.122271 -76.676739,44.122208 -76.676987,44.121923 -76.677134,44.121743 -76.677298,44.121480 -76.677346,44.121426 -76.677346,44.121426 -76.677395,44.121371 -76.677454,44.121329 -76.677456,44.121325 -76.677505,44.121270 -76.677540,44.121245 -76.677673,44.121081 -76.677701,44.121063 -76.677717,44.121039 -76.677747,44.121007 -76.677770,44.120972 -76.677971,44.120797 -76.678001,44.120752 -76.678232,44.120552 -76.678279,44.120486 -76.678340,44.120431 -76.678454,44.120359 -76.678496,44.120301 -76.678569,44.120237 -76.678569,44.120237 -76.678642,44.120173 -76.678695,44.120140 -76.679001,44.119803 -76.679003,44.119800 -76.679076,44.119727 -76.679076,44.119727 -76.679149,44.119654 -76.679209,44.119614 -76.679231,44.119582 -76.679535,44.119318 -76.679590,44.119241 -76.679664,44.119177 -76.679784,44.119102 -76.680192,44.118748 -76.680277,44.118684 -76.680277,44.118684 -76.680375,44.118610 -76.680375,44.118610 -76.680438,44.118563 -76.680485,44.118514 -76.680536,44.118455 -76.680563,44.118437 -76.680612,44.118356 -76.680672,44.118283 -76.680870,44.118066 -76.681057,44.117755 -76.681118,44.117682 -76.681673,44.117072 -76.681675,44.117069 -76.681748,44.116996 -76.681748,44.116996 -76.681821,44.116923 -76.681892,44.116876 -76.681915,44.116841 -76.682272,44.116531 -76.682332,44.116449 -76.682417,44.116376 -76.682446,44.116358 -76.682465,44.116308 -76.682474,44.116295 -76.682571,44.116029 -76.683369,44.114523 -76.683417,44.114450 -76.683744,44.114050 -76.683812,44.113929 -76.683872,44.113847 -76.683872,44.113847 -76.683916,44.113787 -76.683929,44.113721 -76.683964,44.113630 -76.683983,44.113600 -76.683997,44.113557 -76.683999,44.113548 -76.684007,44.113527 -76.684011,44.113514 -76.684013,44.113511 -76.684034,44.113458 -76.684079,44.113388 -76.684081,44.113376 -76.684082,44.113374 -76.684097,44.113304 -76.684114,44.113265 -76.684116,44.113251 -76.684197,44.113088 -76.684199,44.113079 -76.684223,44.113036 -76.684646,44.112183 -76.684753,44.111857 -76.684772,44.111755 -76.684807,44.111664 -76.684826,44.111634 -76.684841,44.111591 -76.684842,44.111582 -76.684851,44.111561 -76.684855,44.111548 -76.684857,44.111545 -76.684877,44.111492 -76.684923,44.111422 -76.684940,44.111338 -76.684957,44.111298 -76.684960,44.111285 -76.685263,44.110673 -76.685595,44.109007 -76.686134,44.107919 -76.686182,44.107837 -76.686182,44.107837 -76.686229,44.107755 -76.686284,44.107684 -76.686289,44.107674 -76.686337,44.107592 -76.686337,44.107592 -76.686385,44.107510 -76.686451,44.107424 -76.686575,44.107174 -76.686623,44.107093 -76.686623,44.107092 -76.686670,44.107011 -76.686867,44.106755 -76.686939,44.106627 -76.687000,44.106545 -76.687000,44.106545 -76.687060,44.106463 -76.687175,44.106329 -76.687337,44.106045 -76.687386,44.105981 -76.688060,44.105206 -76.688071,44.105190 -76.688096,44.105165 -76.688202,44.105044 -76.688312,44.104948 -76.688466,44.104769 -76.688471,44.104761 -76.688544,44.104688 -76.688582,44.104662 -76.688602,44.104633 -76.688698,44.104565 -76.688754,44.104484 -76.688803,44.104438 -76.688991,44.104317 -76.688995,44.104312 -76.689067,44.104265 -76.689090,44.104229 -76.689177,44.104160 -76.689182,44.104125 -76.689204,44.104043 -76.689243,44.103931 -76.689249,44.103895 -76.689272,44.103822 -76.689437,44.103370 -76.689559,44.103015 -76.689874,44.102380 -76.689881,44.102348 -76.689916,44.102276 -76.689946,44.102235 -76.690098,44.101928 -76.690146,44.101846 -76.690146,44.101846 -76.690193,44.101764 -76.690304,44.101621 -76.690487,44.101274 -76.690535,44.101202 -76.690639,44.101075 -76.690644,44.101065 -76.690680,44.101010 -76.690838,44.100816 -76.690931,44.100653 -76.690979,44.100590 -76.691087,44.100466 -76.691120,44.100412 -76.691180,44.100339 -76.691581,44.099899 -76.691666,44.099767 -76.691727,44.099703 -76.691727,44.099703 -76.691788,44.099639 -76.691810,44.099623 -76.691832,44.099597 -76.691897,44.099554 -76.691953,44.099469 -76.693443,44.098267 -76.693529,44.098212 -76.693828,44.098055 -76.693980,44.097940 -76.694078,44.097884 -76.694404,44.097726 -76.694485,44.097680 -76.694485,44.097680 -76.694499,44.097672 -76.694586,44.097602 -76.694637,44.097569 -76.694680,44.097541 -76.694731,44.097501 -76.694842,44.097437 -76.695075,44.097321 -76.695221,44.097210 -76.695319,44.097155 -76.696296,44.096679 -76.696438,44.096651 -76.696550,44.096579 -76.696576,44.096568 -76.696592,44.096558 -76.696645,44.096542 -76.696648,44.096541 -76.696648,44.096541 -76.696747,44.096504 -76.696830,44.096488 -76.696926,44.096461 -76.697332,44.096319 -76.697363,44.096299 -76.697475,44.096261 -76.697514,44.096255 -76.697609,44.096222 -76.697639,44.096199 -76.698328,44.095806 -76.698782,44.095469 -76.698868,44.095423 -76.699049,44.095337 -76.699090,44.095307 -76.699164,44.095270 -76.699215,44.095258 -76.699685,44.095035 -76.699711,44.095030 -76.699759,44.094998 -76.700963,44.094596 -76.701074,44.094568 -76.702979,44.094327 -76.703178,44.094286 -76.703278,44.094284 -76.703293,44.094287 -76.703312,44.094285 -76.703358,44.094294 -76.703412,44.094283 -76.704198,44.094318 -76.704286,44.094325 -76.704320,44.094334 -76.704437,44.094340 -76.704512,44.094348 -76.705140,44.094507 -76.705927,44.094612 -76.705990,44.094629 -76.707079,44.095000 -76.707230,44.095097 -76.707232,44.095097 -76.707239,44.095102 -76.708790,44.095947 -76.708841,44.095982 -76.709576,44.096595 -76.709728,44.096692 -76.709767,44.096728 -76.709811,44.096791 -76.709989,44.096939 -76.710149,44.097047 -76.711053,44.098103 -76.711092,44.098156 -76.711489,44.098863 -76.711634,44.099049 -76.711660,44.099094 -76.711660,44.099094 -76.711686,44.099138 -76.712018,44.099804 -76.712138,44.100018 -76.712148,44.100065 -76.712245,44.100259 -76.712319,44.100607 -76.712533,44.101243 -76.712547,44.101297 -76.712667,44.102232 -76.712926,44.103443 -76.712927,44.103497 -76.712909,44.103597 -76.712929,44.103701 -76.712925,44.103724 -76.712927,44.103735 -76.713161,44.103546 -76.713247,44.103491 -76.713546,44.103334 -76.713698,44.103219 -76.713796,44.103163 -76.714104,44.103013 -76.714179,44.102959 -76.714289,44.102904 -76.714366,44.102886 -76.714774,44.102687 -76.714948,44.102652 -76.715065,44.102574 -76.715177,44.102527 -76.715177,44.102527 -76.715288,44.102480 -76.715367,44.102464 -76.715399,44.102443 -76.715432,44.102429 -76.715444,44.102421 -76.715473,44.102411 -76.715510,44.102396 -76.715510,44.102396 -76.715621,44.102349 -76.715621,44.102349 -76.715732,44.102302 -76.715845,44.102280 -76.715889,44.102253 -76.715978,44.102222 -76.715997,44.102209 -76.716216,44.102147 -76.716333,44.102075 -76.716445,44.102037 -76.716445,44.102037 -76.716556,44.101999 -76.716918,44.101940 -76.717169,44.101850 -76.717293,44.101812 -76.717339,44.101805 -76.717449,44.101768 -76.717561,44.101739 -76.717577,44.101737 -76.717685,44.101702 -76.717796,44.101673 -76.717875,44.101663 -76.717997,44.101624 -76.718121,44.101595 -76.718383,44.101565 -76.718472,44.101533 -76.718596,44.101495 -76.718708,44.101478 -76.718913,44.101444 -76.719622,44.101221 -76.719709,44.101201 -76.721382,44.101018 -76.721525,44.100988 -76.721599,44.100987 -76.721622,44.100991 -76.721660,44.100987 -76.721695,44.100994 -76.721735,44.100986 -76.724338,44.101371 -76.724451,44.101405 -76.724451,44.101405 -76.724565,44.101439 -76.724727,44.101497 -76.724792,44.101517 -76.725040,44.101606 -76.725096,44.101615 -76.725223,44.101658 -76.725256,44.101679 -76.725276,44.101687 -76.725285,44.101692 -76.725674,44.101832 -76.725730,44.101842 -76.725844,44.101885 -76.725844,44.101885 -76.725958,44.101928 -76.726031,44.101976 -76.726059,44.101981 -76.726145,44.102014 -76.726199,44.102024 -76.726398,44.102117 -76.726414,44.102120 -76.727104,44.102441 -76.727205,44.102493 -76.727205,44.102493 -76.727307,44.102546 -76.727307,44.102546 -76.727408,44.102598 -76.727408,44.102598 -76.727510,44.102651 -76.727510,44.102651 -76.727531,44.102662 -76.727827,44.102799 -76.727928,44.102851 -76.728223,44.103067 -76.728909,44.103441 -76.728998,44.103502 -76.729012,44.103514 -76.729199,44.103608 -76.729300,44.103670 -76.729483,44.103813 -76.729544,44.103844 -76.729544,44.103844 -76.729645,44.103897 -76.729685,44.103926 -76.729848,44.104002 -76.729950,44.104054 -76.729950,44.104054 -76.730051,44.104107 -76.730121,44.104158 -76.730266,44.104231 -76.730368,44.104293 -76.730401,44.104319 -76.730433,44.104335 -76.730474,44.104365 -76.730660,44.104459 -76.730727,44.104500 -76.730780,44.104531 -76.730809,44.104553 -76.730953,44.104626 -76.731054,44.104687 -76.731156,44.104767 -76.731264,44.104821 -76.731353,44.104874 -76.731362,44.104881 -76.731400,44.104892 -76.731941,44.105086 -76.731997,44.105096 -76.732111,44.105139 -76.732111,44.105139 -76.732182,44.105166 -76.732195,44.105168 -76.732308,44.105203 -76.732471,44.105261 -76.732536,44.105280 -76.732536,44.105280 -76.732649,44.105315 -76.732649,44.105315 -76.732710,44.105333 -76.732713,44.105334 -76.732725,44.105337 -76.732736,44.105340 -76.732753,44.105342 -76.732878,44.105367 -76.733001,44.105404 -76.733368,44.105441 -76.733451,44.105457 -76.733454,44.105458 -76.733468,44.105461 -76.733493,44.105466 -76.733501,44.105468 -76.733567,44.105483 -76.733573,44.105484 -76.733606,44.105489 -76.733606,44.105489 -76.733731,44.105505 -76.733731,44.105505 -76.733857,44.105521 -76.733857,44.105521 -76.733982,44.105537 -76.734027,44.105549 -76.734095,44.105553 -76.734109,44.105555 -76.734121,44.105556 -76.734164,44.105562 -76.734220,44.105569 -76.734220,44.105569 -76.734346,44.105586 -76.734346,44.105586 -76.734471,44.105602 -76.734539,44.105620 -76.734575,44.105622 -76.734575,44.105622 -76.734628,44.105625 -76.734679,44.105624 -76.734707,44.105629 -76.734768,44.105633 -76.734829,44.105595 -76.734940,44.105557 -76.735013,44.105545 -76.735626,44.105325 -76.735750,44.105287 -76.735929,44.105260 -76.736265,44.105148 -76.736333,44.105131 -76.736342,44.105128 -76.736365,44.105122 -76.736377,44.105119 -76.736379,44.105119 -76.736466,44.105099 -76.736500,44.105095 -76.736577,44.105070 -76.736701,44.105041 -76.736974,44.105010 -76.737062,44.104982 -76.737186,44.104953 -76.737215,44.104949 -76.737320,44.104920 -76.737444,44.104900 -76.737696,44.104880 -76.737991,44.104799 -76.738082,44.104786 -76.738193,44.104704 -76.738230,44.104645 -76.738278,44.104590 -76.738473,44.104451 -76.738611,44.104240 -76.738632,44.104226 -76.738659,44.104185 -76.739614,44.103356 -76.739700,44.103291 -76.739919,44.103166 -76.740203,44.102934 -76.740311,44.102841 -76.740397,44.102777 -76.740398,44.102776 -76.740490,44.102701 -76.740588,44.102636 -76.740628,44.102615 -76.740659,44.102590 -76.740709,44.102558 -76.740772,44.102517 -76.740896,44.102451 -76.741041,44.102332 -76.741087,44.102303 -76.741907,44.100988 -76.741956,44.100933 -76.742144,44.100799 -76.742289,44.100582 -76.742310,44.100568 -76.742337,44.100527 -76.742508,44.100398 -76.742639,44.100284 -76.742909,44.099988 -76.743171,44.099760 -76.743189,44.099741 -76.743208,44.099727 -76.743234,44.099705 -76.743298,44.099630 -76.743375,44.099579 -76.743450,44.099509 -76.743516,44.099411 -76.743751,44.099195 -76.743759,44.099182 -76.743783,44.099166 -76.743908,44.099050 -76.743927,44.099024 -76.744013,44.098951 -76.744024,44.098943 -76.744066,44.098905 -76.744079,44.098895 -76.744113,44.098847 -76.744186,44.098783 -76.745407,44.098023 -76.746280,44.097408 -76.746292,44.097403 -76.747229,44.095901 -76.747277,44.095847 -76.747478,44.095703 -76.747611,44.095495 -76.747676,44.095451 -76.747720,44.095385 -76.747945,44.095190 -76.747991,44.095125 -76.748051,44.095070 -76.748103,44.095038 -76.748113,44.095024 -76.748173,44.094969 -76.748267,44.094910 -76.748674,44.094557 -76.748735,44.094511 -76.749333,44.094169 -76.749735,44.093855 -76.749796,44.093818 -76.749847,44.093793 -76.749939,44.093724 -76.750025,44.093678 -76.750686,44.093364 -76.750718,44.093342 -76.750804,44.093305 -76.750815,44.093303 -76.750846,44.093288 -76.750847,44.093288 -76.750994,44.093214 -76.754435,44.092529 -76.755890,44.092648 -76.755940,44.092656 -76.757927,44.093222 -76.759252,44.093944 -76.759253,44.093944 -76.759390,44.093960 -76.759390,44.093960 -76.759502,44.093973 -76.759509,44.093971 -76.761245,44.093802 -76.761319,44.093817 -76.761357,44.093809 -76.761716,44.093839 -76.761823,44.093821 -76.761936,44.093828 -76.762124,44.093872 -76.762629,44.093913 -76.765901,44.093262 -76.767355,44.093380 -76.767405,44.093389 -76.769393,44.093955 -76.772311,44.095904 -76.772322,44.095921 -76.772336,44.095931 -76.772366,44.095976 -76.772411,44.096006 -76.772436,44.096033 -76.773264,44.097292 -76.773464,44.097197 -76.773505,44.097189 -76.773563,44.097151 -76.774761,44.096750 -76.774872,44.096722 -76.775090,44.096694 -76.775380,44.096607 -76.775479,44.096587 -76.775779,44.096558 -76.775785,44.096556 -76.775812,44.096541 -76.776250,44.096336 -76.776295,44.096305 -76.776418,44.096249 -76.776449,44.096242 -76.776570,44.096186 -76.776641,44.096171 -76.776653,44.096168 -76.776948,44.096022 -76.776997,44.095988 -76.777059,44.095960 -76.777085,44.095954 -76.777114,44.095935 -76.777225,44.095888 -76.777347,44.095864 -76.777422,44.095813 -76.777533,44.095767 -76.777562,44.095761 -76.777586,44.095745 -76.777722,44.095688 -76.777724,44.095688 -76.778503,44.095419 -76.778604,44.095382 -76.778731,44.095278 -76.778842,44.095204 -76.778842,44.095204 -76.778952,44.095130 -76.778952,44.095130 -76.779062,44.095057 -76.779997,44.094557 -76.780156,44.094442 -76.780183,44.094428 -76.780986,44.093789 -76.781059,44.093742 -76.782398,44.093051 -76.784102,44.092536 -76.784202,44.092517 -76.784799,44.092458 -76.785080,44.092388 -76.785192,44.092378 -76.785875,44.092345 -76.785910,44.092338 -76.786010,44.092336 -76.786010,44.092336 -76.786097,44.092335 -76.786166,44.092348 -76.786238,44.092334 -76.789680,44.093018 -76.791346,44.093925 -76.791409,44.093969 -76.792661,44.095012 -76.794611,44.097929 -76.795068,44.099363 -76.795082,44.099426 -76.795093,44.099523 -76.795128,44.099635 -76.795142,44.099707 -76.795324,44.101505 -76.795200,44.102992 -76.795190,44.103055 -76.794629,44.105010 -76.794298,44.105720 -76.794274,44.105766 -76.793523,44.106791 -76.793041,44.107564 -76.792992,44.107618 -76.792832,44.107733 -76.792656,44.107973 -76.792635,44.107987 -76.792608,44.108028 -76.792474,44.108114 -76.792452,44.108166 -76.792423,44.108209 -76.791964,44.109136 -76.791948,44.109164 -76.792385,44.108872 -76.792598,44.108727 -76.792608,44.108723 -76.792642,44.108701 -76.792675,44.108694 -76.792684,44.108690 -76.792684,44.108690 -76.792770,44.108653 -76.792840,44.108638 -76.792901,44.108597 -76.793119,44.108554 -76.793468,44.108354 -76.794866,44.107905 -76.794990,44.107876 -76.795405,44.107828 -76.795780,44.107719 -76.795892,44.107699 -76.797457,44.107562 -76.797525,44.107576 -76.797557,44.107570 -76.797852,44.107630 -76.798121,44.107587 -76.798222,44.107594 -76.800140,44.108050 -76.800364,44.108081 -76.800402,44.108092 -76.800407,44.108093 -76.800443,44.108103 -76.800468,44.108110 -76.800547,44.108132 -76.800660,44.108170 -76.800709,44.108177 -76.800803,44.108204 -76.801429,44.108075 -76.801517,44.108073 -76.801545,44.108079 -76.801571,44.108074 -76.801611,44.108082 -76.801659,44.108072 -76.802220,44.108203 -76.802807,44.108319 -76.805100,44.108757 -76.805155,44.108794 -76.805189,44.108800 -76.805400,44.108941 -76.805623,44.108993 -76.805712,44.109037 -76.806411,44.109537 -76.807824,44.109983 -76.807880,44.110020 -76.807913,44.110027 -76.808250,44.110197 -76.808347,44.110220 -76.808436,44.110263 -76.808567,44.110357 -76.809115,44.110634 -76.809217,44.110696 -76.809413,44.110849 -76.809678,44.110993 -76.809768,44.111055 -76.811022,44.112099 -76.811774,44.112953 -76.811891,44.113104 -76.813088,44.115168 -76.813443,44.116819 -76.813555,44.116894 -76.814262,44.117690 -76.814353,44.117806 -76.814405,44.117895 -76.814541,44.118054 -76.814620,44.118161 -76.814764,44.118418 -76.814843,44.118517 -76.815246,44.118800 -76.816508,44.119570 -76.816606,44.119654 -76.816844,44.119783 -76.817023,44.119906 -76.817128,44.119993 -76.817142,44.120003 -76.817253,44.120092 -76.817381,44.120162 -76.817496,44.120241 -76.817496,44.120241 -76.817508,44.120250 -76.817508,44.120250 -76.817534,44.120267 -76.817690,44.120397 -76.817811,44.120466 -76.817964,44.120580 -76.818293,44.120864 -76.818467,44.120970 -76.818531,44.121023 -76.818609,44.121093 -76.818672,44.121149 -76.818676,44.121154 -76.819065,44.121508 -76.819212,44.121630 -76.819221,44.121642 -76.819250,44.121666 -76.819293,44.121725 -76.820106,44.122673 -76.820119,44.122691 -76.820146,44.122739 -76.820159,44.122754 -76.820172,44.122771 -76.820628,44.123582 -76.820944,44.124022 -76.820958,44.124049 -76.820964,44.124074 -76.820971,44.124085 -76.820985,44.124111 -76.821027,44.124290 -76.821147,44.124504 -76.821200,44.124583 -76.821202,44.124593 -76.821213,44.124610 -76.821217,44.124629 -76.821227,44.124646 -76.821229,44.124656 -76.821240,44.124673 -76.821253,44.124733 -76.821254,44.124735 -76.821935,44.127902 -76.821937,44.127965 -76.821937,44.127965 -76.821937,44.127983 -76.821937,44.127983 -76.821938,44.128001 -76.821938,44.128001 -76.821938,44.128019 -76.821922,44.128105 -76.821925,44.128114 -76.821924,44.128115 -76.821939,44.128177 -76.821929,44.128226 -76.821943,44.128294 -76.821258,44.131735 -76.820869,44.132398 -76.820371,44.133338 -76.820359,44.133356 -76.820166,44.133593 -76.820000,44.133877 -76.819963,44.133923 -76.819524,44.134417 -76.819512,44.134435 -76.819488,44.134462 -76.819480,44.134468 -76.819446,44.134520 -76.819385,44.134584 -76.819357,44.134604 -76.819272,44.134699 -76.819260,44.134707 -76.819200,44.134781 -76.819167,44.134803 -76.819151,44.134827 -76.819035,44.134927 -76.819008,44.134967 -76.818959,44.135013 -76.818958,44.135014 -76.818898,44.135072 -76.818896,44.135074 -76.818889,44.135081 -76.818836,44.135131 -76.818818,44.135143 -76.818792,44.135165 -76.818777,44.135187 -76.818729,44.135233 -76.818698,44.135253 -76.818680,44.135279 -76.818631,44.135324 -76.818543,44.135381 -76.817873,44.135964 -76.817848,44.135982 -76.817848,44.135982 -76.817848,44.135982 -76.817836,44.135991 -76.817776,44.136026 -76.817762,44.136038 -76.817591,44.136166 -76.817378,44.136288 -76.817208,44.136424 -76.817204,44.136426 -76.817090,44.136526 -76.816980,44.136608 -76.816971,44.136614 -76.816910,44.136697 -76.816752,44.136835 -76.816752,44.136835 -76.816752,44.136835 -76.816594,44.136972 -76.816485,44.137040 -76.816198,44.137298 -76.816148,44.138009 -76.816127,44.138154 -76.816113,44.138205 -76.816107,44.138298 -76.816096,44.138370 -76.815700,44.139818 -76.815675,44.139959 -76.815652,44.140023 -76.815638,44.140045 -76.815577,44.140267 -76.815494,44.140686 -76.815166,44.141177 -76.814711,44.142036 -76.814663,44.142109 -76.814605,44.142180 -76.814317,44.142763 -76.814269,44.142844 -76.814168,44.142976 -76.814081,44.143108 -76.813807,44.143445 -76.813397,44.143978 -76.813268,44.144192 -76.813208,44.144265 -76.813002,44.144491 -76.812852,44.144686 -76.812783,44.144732 -76.812634,44.144896 -76.812579,44.144933 -76.812561,44.144961 -76.812232,44.145264 -76.812210,44.145294 -76.812137,44.145358 -76.812113,44.145373 -76.812060,44.145421 -76.812039,44.145441 -76.812037,44.145442 -76.812014,44.145464 -76.811916,44.145547 -76.811807,44.145614 -76.811511,44.145870 -76.811450,44.145916 -76.811278,44.146015 -76.811113,44.146145 -76.810986,44.146256 -76.810918,44.146307 -76.810839,44.146376 -76.810729,44.146459 -76.810698,44.146476 -76.810653,44.146513 -76.810622,44.146532 -76.810558,44.146587 -76.810460,44.146661 -76.810460,44.146661 -76.810460,44.146661 -76.810375,44.146725 -76.810375,44.146725 -76.810375,44.146725 -76.810289,44.146790 -76.810289,44.146790 -76.810289,44.146790 -76.810191,44.146863 -76.809506,44.147255 -76.809049,44.147595 -76.808963,44.147641 -76.808140,44.148032 -76.806655,44.148501 -76.806568,44.148521 -76.806213,44.148560 -76.805922,44.148640 -76.805785,44.148660 -76.805458,44.148684 -76.805334,44.148715 -76.805263,44.148722 -76.805234,44.148734 -76.805208,44.148739 -76.805186,44.148754 -76.804476,44.149014 -76.804476,44.149014 -76.804440,44.149042 -76.804367,44.149088 -76.803159,44.149712 -76.802969,44.149843 -76.802908,44.149855 -76.802870,44.149880 -76.802770,44.149909 -76.802722,44.149941 -76.802623,44.149978 -76.802464,44.150007 -76.802229,44.150132 -76.802016,44.150290 -76.801930,44.150337 -76.801930,44.150337 -76.801930,44.150337 -76.801844,44.150383 -76.801022,44.150774 -76.800764,44.150825 -76.800653,44.150864 -76.800625,44.150883 -76.800575,44.150902 -76.800522,44.150912 -76.800016,44.151093 -76.799954,44.151112 -76.799847,44.151129 -76.799605,44.151211 -76.799567,44.151222 -76.799563,44.151223 -76.799547,44.151227 -76.799394,44.151268 -76.798655,44.151367 -76.798630,44.151384 -76.798555,44.151434 -76.798481,44.151474 -76.798361,44.151572 -76.798262,44.151637 -76.797513,44.152034 -76.797433,44.152095 -76.797294,44.152174 -76.797213,44.152231 -76.797077,44.152296 -76.797076,44.152297 -76.796612,44.152554 -76.796214,44.152746 -76.796142,44.152797 -76.796007,44.152862 -76.795944,44.152877 -76.795719,44.152985 -76.795681,44.153011 -76.795612,44.153041 -76.795597,44.153050 -76.795576,44.153060 -76.795571,44.153064 -76.795411,44.153147 -76.795194,44.153249 -76.794688,44.153499 -76.794682,44.153503 -76.794623,44.153531 -76.794530,44.153576 -76.794459,44.153591 -76.794283,44.153679 -76.794267,44.153683 -76.794242,44.153699 -76.794206,44.153726 -76.794119,44.153773 -76.793683,44.153980 -76.793657,44.153993 -76.793628,44.154013 -76.793558,44.154042 -76.793513,44.154062 -76.793508,44.154063 -76.793298,44.154163 -76.793294,44.154164 -76.793292,44.154166 -76.793156,44.154222 -76.793126,44.154228 -76.792264,44.154719 -76.792219,44.154728 -76.792190,44.154748 -76.792081,44.154776 -76.792016,44.154818 -76.791942,44.154846 -76.791509,44.154926 -76.789810,44.155369 -76.789723,44.155380 -76.788661,44.155442 -76.785387,44.154825 -76.785298,44.154791 -76.785261,44.154766 -76.785220,44.154758 -76.785128,44.154697 -76.785042,44.154680 -76.784794,44.154530 -76.784609,44.154487 -76.784520,44.154443 -76.783942,44.154030 -76.783939,44.154029 -76.783814,44.153988 -76.783669,44.154059 -76.783652,44.154070 -76.783582,44.154100 -76.783536,44.154119 -76.783468,44.154133 -76.783408,44.154174 -76.782918,44.154345 -76.782812,44.154417 -76.782701,44.154463 -76.782701,44.154463 -76.782701,44.154463 -76.782589,44.154510 -76.782387,44.154551 -76.782371,44.154562 -76.782334,44.154578 -76.782198,44.154670 -76.782050,44.154699 -76.782036,44.154708 -76.781924,44.154744 -76.781825,44.154805 -76.781738,44.154833 -76.781708,44.154838 -76.781640,44.154880 -76.781553,44.154908 -76.781406,44.154932 -76.781186,44.155057 -76.781135,44.155091 -76.781112,44.155100 -76.779943,44.155767 -76.778412,44.156084 -76.778141,44.156169 -76.778054,44.156189 -76.778054,44.156189 -76.778054,44.156189 -76.778034,44.156193 -76.777939,44.156216 -76.777882,44.156223 -76.777806,44.156247 -76.777719,44.156266 -76.777478,44.156293 -76.777444,44.156314 -76.777357,44.156342 -76.777357,44.156342 -76.777357,44.156342 -76.777270,44.156370 -76.777186,44.156384 -76.776853,44.156495 -76.776824,44.156512 -76.776738,44.156541 -76.776703,44.156546 -76.776703,44.156547 -76.776692,44.156549 -76.776643,44.156565 -76.776628,44.156575 -76.776492,44.156620 -76.776453,44.156646 -76.776379,44.156674 -76.776275,44.156693 -76.776060,44.156765 -76.775998,44.156803 -76.775887,44.156841 -76.775882,44.156842 -76.775849,44.156857 -76.775500,44.156969 -76.775475,44.156985 -76.775426,44.157004 -76.775373,44.157014 -76.775095,44.157113 -76.775070,44.157130 -76.774662,44.157273 -76.774315,44.157574 -76.774254,44.157620 -76.773951,44.157793 -76.773626,44.158051 -76.773553,44.158098 -76.773401,44.158176 -76.773320,44.158239 -76.773209,44.158304 -76.772156,44.158827 -76.771238,44.159440 -76.770600,44.159567 -76.770135,44.159971 -76.770086,44.160008 -76.769730,44.160211 -76.769705,44.160230 -76.769380,44.160415 -76.769098,44.160635 -76.769037,44.160672 -76.768505,44.160940 -76.768261,44.161115 -76.768014,44.161236 -76.767891,44.161265 -76.767743,44.161349 -76.767714,44.161355 -76.767623,44.161417 -76.767536,44.161454 -76.767536,44.161454 -76.767536,44.161454 -76.767450,44.161491 -76.767383,44.161505 -76.767324,44.161545 -76.766123,44.161946 -76.766049,44.161965 -76.765973,44.161974 -76.765961,44.161980 -76.765916,44.161989 -76.765887,44.162008 -76.765792,44.162027 -76.765711,44.162079 -76.765636,44.162107 -76.762446,44.162693 -76.762413,44.162686 -76.762215,44.162757 -76.762029,44.162814 -76.761961,44.162824 -76.761886,44.162850 -76.761818,44.162892 -76.761682,44.162939 -76.761544,44.162963 -76.760982,44.163150 -76.760833,44.163189 -76.760665,44.163210 -76.760429,44.163283 -76.760301,44.163309 -76.760263,44.163318 -76.760104,44.163437 -76.759969,44.163511 -76.759092,44.163931 -76.758568,44.164116 -76.757736,44.164591 -76.756267,44.164895 -76.756226,44.164925 -76.756090,44.164990 -76.756042,44.165001 -76.755776,44.165126 -76.755716,44.165137 -76.755630,44.165195 -76.755494,44.165251 -76.755492,44.165251 -76.754855,44.165484 -76.754854,44.165484 -76.754848,44.165487 -76.754793,44.165507 -76.754774,44.165519 -76.754726,44.165529 -76.754718,44.165532 -76.754712,44.165533 -76.754640,44.165555 -76.754632,44.165557 -76.754184,44.165715 -76.754023,44.165763 -76.753179,44.165884 -76.753167,44.165892 -76.753118,44.165911 -76.753017,44.165929 -76.753011,44.165933 -76.752901,44.165955 -76.752765,44.165998 -76.752394,44.166056 -76.752316,44.166072 -76.752278,44.166085 -76.752204,44.166135 -76.752070,44.166161 -76.751785,44.166266 -76.751636,44.166313 -76.751132,44.166391 -76.750911,44.166451 -76.750680,44.166659 -76.750533,44.166778 -76.750087,44.167045 -76.749491,44.167510 -76.749369,44.167584 -76.749354,44.167591 -76.748980,44.167887 -76.748845,44.167970 -76.748655,44.168067 -76.748576,44.168124 -76.748507,44.168159 -76.748499,44.168163 -76.748451,44.168199 -76.748316,44.168273 -76.747440,44.168692 -76.746952,44.168812 -76.746882,44.168837 -76.746831,44.168860 -76.746831,44.168860 -76.746831,44.168860 -76.746806,44.168871 -76.746789,44.168881 -76.746754,44.168894 -76.746683,44.168925 -76.746638,44.168934 -76.746628,44.168938 -76.746594,44.168944 -76.746589,44.168945 -76.746523,44.168990 -76.746458,44.169019 -76.746451,44.169023 -76.746407,44.169041 -76.746374,44.169056 -76.746369,44.169057 -76.746290,44.169089 -76.746245,44.169098 -76.746190,44.169135 -76.745860,44.169248 -76.745836,44.169260 -76.745732,44.169323 -76.745520,44.169432 -76.745411,44.169517 -76.745288,44.169591 -76.744605,44.169936 -76.744085,44.170283 -76.743911,44.170346 -76.743787,44.170443 -76.743664,44.170517 -76.743334,44.170683 -76.743222,44.170766 -76.743099,44.170830 -76.742739,44.170999 -76.742693,44.171031 -76.742533,44.171106 -76.742494,44.171114 -76.742348,44.171183 -76.742278,44.171197 -76.742187,44.171257 -76.741838,44.171374 -76.741502,44.171666 -76.741380,44.171758 -76.741321,44.171791 -76.741218,44.171876 -76.741120,44.171935 -76.740890,44.172134 -76.740780,44.172217 -76.740490,44.172383 -76.740250,44.172579 -76.740140,44.172653 -76.740066,44.172692 -76.740014,44.172733 -76.739891,44.172807 -76.739251,44.173130 -76.739037,44.173282 -76.738901,44.173347 -76.738797,44.173370 -76.738588,44.173482 -76.738534,44.173493 -76.738453,44.173547 -76.737865,44.173750 -76.737836,44.173782 -76.737503,44.174206 -76.736788,44.175277 -76.736190,44.175823 -76.736080,44.175915 -76.735775,44.176099 -76.735582,44.176267 -76.735503,44.176327 -76.735493,44.176341 -76.735305,44.176504 -76.735298,44.176515 -76.734782,44.176987 -76.734727,44.177075 -76.734664,44.177146 -76.734663,44.177148 -76.734653,44.177158 -76.734630,44.177184 -76.734627,44.177187 -76.734578,44.177239 -76.734512,44.177284 -76.734435,44.177384 -76.734410,44.177401 -76.734361,44.177475 -76.734264,44.177576 -76.734264,44.177576 -76.734264,44.177576 -76.734167,44.177676 -76.734129,44.177702 -76.734092,44.177742 -76.733911,44.177868 -76.733783,44.178050 -76.733743,44.178087 -76.733743,44.178087 -76.733737,44.178092 -76.733674,44.178151 -76.733660,44.178160 -76.733570,44.178237 -76.733527,44.178298 -76.733406,44.178408 -76.733289,44.178481 -76.732783,44.178921 -76.732685,44.178994 -76.732685,44.178994 -76.732685,44.178994 -76.732574,44.179077 -76.732574,44.179077 -76.732574,44.179077 -76.732452,44.179169 -76.732452,44.179169 -76.732452,44.179169 -76.732342,44.179251 -76.732298,44.179277 -76.732277,44.179307 -76.732259,44.179323 -76.732254,44.179332 -76.732168,44.179414 -76.732137,44.179435 -76.731957,44.179598 -76.731954,44.179603 -76.731856,44.179695 -76.731838,44.179707 -76.731768,44.179770 -76.731766,44.179774 -76.731747,44.179791 -76.731742,44.179799 -76.731657,44.179881 -76.731627,44.179900 -76.731168,44.180320 -76.731058,44.180412 -76.730953,44.180475 -76.730695,44.180699 -76.730585,44.180782 -76.730585,44.180782 -76.730585,44.180782 -76.730475,44.180864 -76.730436,44.180886 -76.729669,44.181552 -76.729645,44.181570 -76.727688,44.182686 -76.724246,44.183371 -76.723102,44.183298 -76.723039,44.183290 -76.720742,44.182678 -76.720403,44.182503 -76.720338,44.182493 -76.720199,44.182450 -76.719413,44.182167 -76.719343,44.182120 -76.719274,44.182106 -76.719265,44.182101 -76.719253,44.182099 -76.719114,44.182038 -76.718976,44.181944 -76.717607,44.181199 -76.717492,44.181120 -76.716343,44.180162 -76.716294,44.180129 -76.716204,44.180041 -76.716183,44.180010 -76.716151,44.179989 -76.715483,44.179241 -76.715403,44.179179 -76.715333,44.179117 -76.714797,44.179441 -76.714790,44.179442 -76.714783,44.179447 -76.714647,44.179503 -76.714632,44.179506 -76.714161,44.179648 -76.714120,44.179675 -76.714008,44.179717 -76.714006,44.179718 -76.713996,44.179722 -76.713975,44.179730 -76.713943,44.179751 -76.713723,44.179802 -76.713574,44.179896 -76.713438,44.179943 -76.712318,44.180130 -76.711098,44.180416 -76.710923,44.180427 -76.710735,44.180396 -76.710501,44.180435 -76.710345,44.180404 -76.710164,44.180440 -76.710003,44.180433 -76.709964,44.180440 -76.709801,44.180433 -76.709744,44.180420 -76.709309,44.180400 -76.709146,44.180384 -76.708973,44.180341 -76.708544,44.180306 -76.708453,44.180291 -76.708349,44.180276 -76.708027,44.180186 -76.707985,44.180180 -76.707950,44.180171 -76.707909,44.180167 -76.707874,44.180159 -76.707757,44.180153 -76.707733,44.180150 -76.707732,44.180150 -76.707716,44.180153 -76.707496,44.180143 -76.706710,44.180516 -76.705460,44.180765 -76.704883,44.180976 -76.704734,44.181023 -76.704138,44.181115 -76.703279,44.181347 -76.702598,44.181678 -76.702585,44.181688 -76.702462,44.181753 -76.702357,44.181802 -76.702315,44.181831 -76.702167,44.181896 -76.702167,44.181896 -76.702167,44.181896 -76.702018,44.181961 -76.702016,44.181962 -76.701715,44.182103 -76.701606,44.182125 -76.701554,44.182159 -76.701315,44.182239 -76.701247,44.182282 -76.701086,44.182338 -76.700947,44.182362 -76.700347,44.182562 -76.700198,44.182600 -76.699917,44.182636 -76.699572,44.182737 -76.699410,44.182767 -76.698030,44.182891 -76.697935,44.182911 -76.697760,44.182913 -76.697600,44.182883 -76.697476,44.182908 -76.697306,44.182890 -76.697222,44.182905 -76.697071,44.182898 -76.696807,44.182840 -76.696263,44.182784 -76.696253,44.182792 -76.696036,44.182915 -76.695808,44.183095 -76.695673,44.183178 -76.695657,44.183186 -76.695562,44.183261 -76.695427,44.183344 -76.695410,44.183353 -76.695385,44.183374 -76.695348,44.183398 -76.695241,44.183482 -76.695118,44.183556 -76.694952,44.183640 -76.694801,44.183758 -76.694666,44.183841 -76.694666,44.183841 -76.694666,44.183841 -76.694659,44.183845 -76.694646,44.183857 -76.694511,44.183949 -76.694260,44.184084 -76.694205,44.184129 -76.694083,44.184212 -76.694044,44.184233 -76.694015,44.184256 -76.693879,44.184339 -76.693834,44.184362 -76.693740,44.184424 -76.693668,44.184462 -76.693565,44.184548 -76.693430,44.184640 -76.693228,44.184749 -76.693159,44.184806 -76.693124,44.184830 -76.693069,44.184874 -76.692934,44.184957 -76.692934,44.184957 -76.692934,44.184957 -76.692798,44.185040 -76.692783,44.185047 -76.692726,44.185093 -76.692578,44.185185 -76.692259,44.185350 -76.692122,44.185452 -76.691987,44.185526 -76.691781,44.185624 -76.691689,44.185677 -76.691677,44.185685 -76.691634,44.185708 -76.691550,44.185756 -76.691051,44.186146 -76.690966,44.186197 -76.690869,44.186257 -76.690348,44.186523 -76.690256,44.186577 -76.690190,44.186626 -76.690067,44.186691 -76.690032,44.186707 -76.690016,44.186720 -76.689931,44.186770 -76.689834,44.186830 -76.689713,44.186892 -76.689698,44.186903 -76.689575,44.186968 -76.689441,44.187031 -76.689308,44.187099 -76.688829,44.187444 -76.688760,44.187479 -76.688714,44.187503 -76.687969,44.187853 -76.687851,44.187876 -76.687791,44.187916 -76.687655,44.187972 -76.687567,44.187989 -76.687500,44.188032 -76.687431,44.188056 -76.687413,44.188067 -76.687265,44.188124 -76.687180,44.188139 -76.687080,44.188173 -76.687015,44.188214 -76.686879,44.188261 -76.686772,44.188279 -76.686683,44.188309 -76.686491,44.188379 -76.686394,44.188410 -76.686364,44.188423 -76.686360,44.188425 -76.686333,44.188435 -76.686317,44.188442 -76.686314,44.188442 -76.686286,44.188453 -76.686280,44.188457 -76.686120,44.188522 -76.686090,44.188528 -76.684965,44.188903 -76.684816,44.188941 -76.684756,44.188949 -76.684662,44.188979 -76.684500,44.189018 -76.683407,44.189146 -76.682984,44.189244 -76.682797,44.189256 -76.682663,44.189233 -76.682421,44.189261 -76.682419,44.189261 -76.682366,44.189272 -76.682203,44.189275 -76.682044,44.189244 -76.681921,44.189269 -76.681737,44.189254 -76.681665,44.189266 -76.681515,44.189260 -76.681345,44.189222 -76.681312,44.189219 -76.680063,44.189623 -76.679902,44.189662 -76.678117,44.189871 -76.677955,44.189904 -76.677792,44.189907 -76.677727,44.189894 -76.677660,44.189908 -76.676803,44.189867 -76.676640,44.189851 -76.676506,44.189818 -76.676157,44.189792 -76.675994,44.189767 -76.674598,44.189379 -76.674222,44.189312 -76.674169,44.189292 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-83.144655,45.839297 -83.072773,45.874023</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-83.144655,45.866614 -83.144333,45.868224 -83.141373,45.869172 -83.133852,45.869912 -83.123872,45.871822 -83.114301,45.873470 -83.102997,45.874023 -83.093300,45.871559 -83.087330,45.868644 -83.082174,45.864814 -83.078021,45.859777 -83.074049,45.853663 -83.072773,45.850897 -83.073819,45.846628 -83.075073,45.843253 -83.081439,45.839297 -83.098083,45.841029 -83.107063,45.842374 -83.115036,45.841618 -83.131436,45.840085 -83.139839,45.846072 -83.141405,45.849032 -83.143285,45.859588 -83.144655,45.866614 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-75.946872,45.347956 -75.789198,45.404558</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-75.916152,45.403194 -75.913510,45.402334 -75.907650,45.399639 -75.900550,45.396106 -75.891743,45.396453 -75.881845,45.402941 -75.871068,45.404558 -75.863343,45.402444 -75.854485,45.396962 -75.848257,45.391912 -75.834941,45.385594 -75.824550,45.383601 -75.815468,45.382746 -75.806811,45.381840 -75.798624,45.380327 -75.791084,45.373708 -75.789198,45.369322 -75.790741,45.365831 -75.799927,45.361891 -75.804309,45.357889 -75.810920,45.351114 -75.818247,45.348184 -75.828201,45.347956 -75.840602,45.350390 -75.847691,45.353927 -75.861499,45.358651 -75.870000,45.358525 -75.878269,45.360758 -75.885120,45.360270 -75.891123,45.359881 -75.900533,45.357683 -75.908052,45.355213 -75.914430,45.357171 -75.923427,45.363244 -75.942147,45.376961 -75.946872,45.382241 -75.946275,45.384521 -75.937886,45.390349 -75.918740,45.402340 -75.916152,45.403194 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.009226,51.159282 -79.694251,51.263089</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.009226,51.244518 -80.008136,51.248971 -79.982256,51.249300 -79.906193,51.249332 -79.840559,51.250897 -79.799674,51.255053 -79.741298,51.261518 -79.701386,51.263089 -79.694251,51.256212 -79.699409,51.249301 -79.710746,51.237562 -79.721675,51.229998 -79.735032,51.219340 -79.746133,51.198706 -79.746906,51.187271 -79.753908,51.178720 -79.766251,51.170603 -79.782382,51.166917 -79.795463,51.161607 -79.833098,51.159282 -79.869502,51.163299 -79.898749,51.171602 -79.938723,51.193453 -79.958409,51.207595 -79.964905,51.217814 -79.994390,51.238432 -80.002504,51.239656 -80.009226,51.244518 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.840797,51.250922 -79.546961,51.479996</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.569740,51.468884 -79.553544,51.463004 -79.546961,51.450413 -79.563620,51.435634 -79.583541,51.422324 -79.608345,51.408320 -79.642215,51.396675 -79.655555,51.382345 -79.649120,51.367380 -79.625627,51.346892 -79.602561,51.335135 -79.570953,51.311928 -79.557312,51.293908 -79.552888,51.270089 -79.557184,51.257264 -79.568739,51.253277 -79.592413,51.251651 -79.618801,51.250922 -79.643228,51.255181 -79.692288,51.265156 -79.728643,51.266413 -79.766433,51.265950 -79.811051,51.279514 -79.835290,51.314021 -79.840797,51.355302 -79.827045,51.392694 -79.788483,51.420535 -79.745616,51.439524 -79.698714,51.458847 -79.666978,51.468919 -79.638686,51.479996 -79.569740,51.468884 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.861962,51.769221 -80.594907,51.925164</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.765062,51.791796 -80.832633,51.826534 -80.853218,51.848509 -80.861962,51.866778 -80.847043,51.886508 -80.822656,51.889909 -80.801648,51.893098 -80.768441,51.890475 -80.730386,51.883063 -80.712399,51.898940 -80.691910,51.918557 -80.666288,51.925164 -80.633304,51.921848 -80.609668,51.908249 -80.594907,51.885671 -80.596504,51.860649 -80.603955,51.813947 -80.638964,51.784828 -80.665371,51.772898 -80.701906,51.769221 -80.735098,51.774606 -80.765062,51.791796 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-82.071725,51.966237 -80.970870,52.775662</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-81.970510,52.770024 -81.896928,52.775662 -81.868094,52.748916 -81.868847,52.727284 -81.830713,52.695268 -81.797594,52.674738 -81.754603,52.657002 -81.707054,52.633222 -81.670055,52.598556 -81.622605,52.555721 -81.603716,52.539678 -81.574956,52.507397 -81.536964,52.488837 -81.487754,52.476935 -81.473958,52.465606 -81.458102,52.434980 -81.459419,52.399831 -81.455233,52.380259 -81.418342,52.359067 -81.341064,52.339265 -81.301959,52.324520 -81.268246,52.300969 -81.243749,52.282723 -81.215980,52.261308 -81.225023,52.229914 -81.230297,52.196655 -81.206775,52.163580 -81.176022,52.120003 -81.106115,52.099603 -81.043750,52.082901 -80.986109,52.065448 -80.970870,52.010329 -80.986524,51.997543 -81.039466,51.966801 -81.074862,51.966237 -81.156857,51.982903 -81.221169,51.987589 -81.287197,52.006042 -81.370552,52.025415 -81.444496,52.052956 -81.494194,52.074500 -81.539562,52.121224 -81.560172,52.163301 -81.623050,52.191928 -81.680710,52.210329 -81.728500,52.238261 -81.760857,52.279089 -81.753338,52.320175 -81.744047,52.340682 -81.718547,52.363161 -81.691083,52.397601 -81.692363,52.419487 -81.720831,52.446255 -81.780131,52.493276 -81.832175,52.548824 -81.865897,52.580282 -81.908666,52.611518 -81.966115,52.639159 -82.020619,52.669103 -82.033247,52.691046 -82.037317,52.711914 -82.050411,52.732556 -82.071725,52.748796 -82.061749,52.758405 -82.023869,52.764516 -81.970510,52.770024 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-82.314088,52.774329 -81.763455,53.283680</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-81.821101,53.165866 -81.822684,53.161339 -81.850900,53.152609 -81.871572,53.142924 -81.892233,53.133236 -81.907606,53.134222 -81.912818,53.128260 -81.916523,53.122110 -81.941863,53.098828 -81.964478,53.074259 -82.001891,53.043038 -82.020289,53.039667 -82.032413,53.031733 -82.038523,53.023050 -82.041986,53.008371 -82.033648,53.000720 -82.009372,52.993912 -81.980348,52.982724 -81.958216,52.974281 -81.947839,52.963532 -81.915793,52.956666 -81.891879,52.948926 -81.855361,52.941474 -81.821223,52.936199 -81.802069,52.932820 -81.790640,52.934200 -81.763455,52.926955 -81.764653,52.910098 -81.770653,52.892909 -81.772808,52.855389 -81.793503,52.818352 -81.827045,52.798069 -81.884285,52.790232 -81.905000,52.784359 -81.967610,52.774329 -82.012329,52.784674 -82.091430,52.831379 -82.148916,52.868723 -82.203418,52.873577 -82.261402,52.905244 -82.286520,52.923418 -82.314088,52.934336 -82.313449,52.945579 -82.298963,52.965509 -82.289899,52.978554 -82.290736,52.994698 -82.298462,53.018288 -82.298032,53.052209 -82.297046,53.073795 -82.293332,53.098826 -82.281772,53.123847 -82.282323,53.136186 -82.268688,53.148684 -82.263155,53.169724 -82.246434,53.191289 -82.229413,53.209041 -82.199672,53.227125 -82.165952,53.247551 -82.125876,53.263411 -82.086433,53.272724 -82.006972,53.283680 -81.944288,53.282496 -81.873487,53.277419 -81.806044,53.253800 -81.773876,53.224197 -81.772464,53.201320 -81.802545,53.173922 -81.821101,53.165866 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-83.065101,54.944108 -82.165053,55.331951</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-82.896186,55.264270 -82.894763,55.263954 -82.893313,55.263071 -82.891602,55.262661 -82.879449,55.257424 -82.870044,55.251401 -82.860707,55.245963 -82.852198,55.238597 -82.851542,55.237592 -82.850173,55.236757 -82.842464,55.227290 -82.825635,55.199645 -82.818821,55.192339 -82.816940,55.189007 -82.815440,55.188612 -82.808388,55.187418 -82.803724,55.186199 -82.799085,55.185415 -82.798888,55.185658 -82.772781,55.202217 -82.744875,55.210954 -82.735809,55.212767 -82.733262,55.212914 -82.730439,55.213737 -82.729533,55.213794 -82.700176,55.222347 -82.674385,55.224203 -82.659045,55.223943 -82.649462,55.223452 -82.627977,55.219730 -82.609253,55.214686 -82.598691,55.211231 -82.583917,55.202165 -82.571603,55.200478 -82.560025,55.198278 -82.540911,55.192861 -82.529585,55.187470 -82.520200,55.182077 -82.519347,55.181445 -82.518141,55.180848 -82.509927,55.175762 -82.502818,55.171642 -82.496824,55.167184 -82.495007,55.166149 -82.482167,55.169872 -82.459982,55.171721 -82.449746,55.171793 -82.436584,55.171272 -82.411017,55.165513 -82.408777,55.168597 -82.382531,55.185098 -82.349175,55.194735 -82.313800,55.196039 -82.283096,55.189306 -82.269323,55.184125 -82.268788,55.183800 -82.268039,55.183631 -82.260783,55.178950 -82.244325,55.168976 -82.243700,55.167928 -82.243552,55.167832 -82.216253,55.161245 -82.192564,55.146586 -82.186241,55.139073 -82.177531,55.126114 -82.172956,55.115830 -82.172286,55.114735 -82.169678,55.104988 -82.169749,55.103978 -82.169222,55.103064 -82.166831,55.091551 -82.166953,55.090318 -82.166454,55.089394 -82.165053,55.079544 -82.165893,55.073050 -82.166106,55.064758 -82.169084,55.054155 -82.170280,55.052360 -82.170472,55.050063 -82.185664,55.029243 -82.188603,55.027398 -82.185060,55.022609 -82.180497,55.013314 -82.177748,55.005710 -82.176806,54.997829 -82.176754,54.984784 -82.176816,54.984464 -82.176760,54.983942 -82.176945,54.974700 -82.176998,54.974444 -82.176963,54.974083 -82.177268,54.965942 -82.176173,54.957813 -82.177083,54.950918 -82.177265,54.944108 -82.256558,54.951132 -82.297696,54.954763 -82.332447,54.957824 -82.332241,54.963891 -82.332099,54.972527 -82.332140,54.978009 -82.335247,54.981477 -82.341946,54.988695 -82.350253,55.003606 -82.351051,55.009569 -82.351096,55.011154 -82.358755,55.012690 -82.368584,55.015937 -82.369056,55.016208 -82.369894,55.016382 -82.373589,55.017671 -82.376482,55.017588 -82.392288,55.016611 -82.402966,55.017003 -82.405425,55.017486 -82.408753,55.017361 -82.434585,55.023071 -82.445614,55.027270 -82.454632,55.030370 -82.455922,55.031120 -82.457866,55.031558 -82.473029,55.041068 -82.477634,55.043744 -82.477836,55.044082 -82.478221,55.044323 -82.485082,55.051204 -82.504753,55.045482 -82.534125,55.044364 -82.559098,55.049729 -82.568226,55.053072 -82.568901,55.053475 -82.569859,55.053690 -82.575783,55.057584 -82.589661,55.065867 -82.590498,55.067252 -82.591862,55.068148 -82.597958,55.074960 -82.604086,55.081380 -82.604373,55.081882 -82.604832,55.082182 -82.611934,55.090021 -82.615538,55.092968 -82.628669,55.092391 -82.638052,55.093096 -82.638640,55.093224 -82.639315,55.093198 -82.644101,55.094413 -82.665958,55.099170 -82.666680,55.099613 -82.668627,55.098379 -82.696296,55.090301 -82.704441,55.089263 -82.728764,55.086986 -82.735753,55.084880 -82.750966,55.081384 -82.771431,55.079815 -82.794278,55.080003 -82.803049,55.079858 -82.812652,55.080183 -82.813469,55.080146 -82.824795,55.080968 -82.825461,55.081112 -82.826230,55.081082 -82.833830,55.081998 -82.845050,55.083758 -82.845371,55.083843 -82.846259,55.083955 -82.857472,55.085849 -82.861204,55.086859 -82.865959,55.087664 -82.870820,55.088935 -82.881668,55.090624 -82.895247,55.089856 -82.911887,55.090075 -82.934890,55.094690 -82.948966,55.099393 -82.950418,55.100223 -82.952634,55.100716 -82.972547,55.112861 -82.982667,55.129371 -82.981444,55.147732 -82.974269,55.157817 -82.978874,55.165344 -82.984933,55.165389 -82.994494,55.167511 -82.997670,55.167023 -82.998188,55.167005 -82.998627,55.166880 -83.019973,55.163769 -83.026953,55.168377 -83.033096,55.177621 -83.036383,55.188533 -83.041326,55.232606 -83.043614,55.250005 -83.055304,55.270405 -83.065101,55.296536 -83.063194,55.302266 -83.047418,55.318369 -83.023279,55.328285 -83.002376,55.331951 -82.971107,55.328544 -82.942979,55.326131 -82.908802,55.321066 -82.894773,55.304345 -82.905421,55.283074 -82.896186,55.264270 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-85.461387,55.094789 -84.486523,55.449183</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-85.418762,55.407318 -85.387509,55.432510 -85.350360,55.449183 -85.296467,55.448907 -85.232363,55.447405 -85.184639,55.431413 -85.123739,55.410957 -85.085862,55.386543 -85.018060,55.342152 -84.885903,55.318753 -84.722168,55.298946 -84.540092,55.287296 -84.497544,55.266127 -84.486523,55.227880 -84.505074,55.195494 -84.532686,55.175360 -84.607694,55.158863 -84.696344,55.141850 -84.827810,55.097049 -84.958324,55.094789 -85.119265,55.107063 -85.243270,55.122718 -85.398047,55.169551 -85.449606,55.242756 -85.461387,55.331969 -85.453762,55.360714 -85.442968,55.389189 -85.418762,55.407318 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-87.916668,55.875542 -87.305866,56.254609</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-87.331759,55.953089 -87.420271,55.880153 -87.508583,55.875542 -87.591462,55.886867 -87.653633,55.897949 -87.725720,55.916646 -87.751360,55.923555 -87.801595,55.947803 -87.825039,55.970910 -87.828163,55.991556 -87.831679,56.030923 -87.873975,56.059302 -87.891117,56.083165 -87.911141,56.113633 -87.916327,56.186997 -87.915490,56.187056 -87.916668,56.190524 -87.906632,56.209183 -87.888636,56.230851 -87.847374,56.242875 -87.792489,56.254609 -87.769445,56.254316 -87.754695,56.254547 -87.725111,56.250320 -87.684493,56.243623 -87.664143,56.225356 -87.653518,56.215900 -87.630407,56.200955 -87.605783,56.178306 -87.554019,56.150364 -87.496876,56.118531 -87.410344,56.073003 -87.334450,56.027535 -87.305866,56.000446 -87.312391,55.975161 -87.331759,55.953089 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-87.317180,55.691840 -86.227893,55.995635</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-87.312448,55.932666 -87.317180,55.936690 -87.300679,55.957856 -87.276133,55.973270 -87.247779,55.981730 -87.202110,55.990477 -87.158535,55.995635 -87.067597,55.993000 -87.034293,55.993629 -87.004904,55.994526 -86.992987,55.994425 -86.930814,55.987767 -86.906513,55.983795 -86.873418,55.977698 -86.840335,55.971591 -86.797794,55.966274 -86.776809,55.959539 -86.747047,55.950670 -86.711808,55.936925 -86.691646,55.932465 -86.665320,55.926056 -86.629103,55.916674 -86.607913,55.905425 -86.570778,55.894465 -86.527244,55.888219 -86.487450,55.882983 -86.454697,55.876034 -86.426736,55.865719 -86.409185,55.856192 -86.385918,55.848457 -86.356045,55.846163 -86.332084,55.841339 -86.310903,55.835981 -86.275050,55.825757 -86.248438,55.810286 -86.228617,55.783428 -86.227893,55.759550 -86.233283,55.737640 -86.241471,55.720417 -86.250368,55.700273 -86.285374,55.691840 -86.288527,55.693223 -86.305124,55.691888 -86.326751,55.695055 -86.353378,55.699348 -86.377072,55.704896 -86.405835,55.716780 -86.440740,55.730613 -86.466184,55.739993 -86.486284,55.749705 -86.510284,55.759709 -86.535511,55.764592 -86.587283,55.774437 -86.625253,55.786948 -86.666187,55.798176 -86.699762,55.801407 -86.755641,55.816678 -86.770551,55.820745 -86.796025,55.824839 -86.824059,55.835062 -86.848505,55.849478 -86.875106,55.860325 -86.908229,55.871635 -86.934086,55.874235 -86.957676,55.875180 -86.981597,55.874656 -87.002900,55.879889 -87.049437,55.884672 -87.079873,55.884588 -87.125610,55.887053 -87.161580,55.885846 -87.224280,55.895395 -87.267117,55.899087 -87.296965,55.907819 -87.314301,55.919404 -87.313230,55.930476 -87.312448,55.932666 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.267803,51.249046 -80.012430,51.365805</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.073797,51.249046 -80.098857,51.258823 -80.107191,51.263940 -80.123187,51.272352 -80.139745,51.275685 -80.158188,51.275857 -80.189114,51.277453 -80.227902,51.283644 -80.257341,51.291014 -80.267803,51.296000 -80.265622,51.299975 -80.255142,51.309600 -80.250739,51.315826 -80.226591,51.330735 -80.200750,51.342810 -80.193426,51.349463 -80.170716,51.356839 -80.156136,51.357250 -80.132547,51.361478 -80.104557,51.364614 -80.077990,51.365805 -80.054901,51.361487 -80.033868,51.353600 -80.023626,51.340876 -80.012430,51.328867 -80.015625,51.315149 -80.015029,51.296991 -80.020219,51.287017 -80.031501,51.273659 -80.047104,51.257940 -80.073797,51.249046 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.520915,51.290867 -80.251668,51.451781</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.505328,51.322423 -80.494457,51.352991 -80.467392,51.371780 -80.468615,51.379060 -80.468843,51.387685 -80.475133,51.403099 -80.476843,51.421606 -80.474420,51.437366 -80.464921,51.446727 -80.450412,51.451063 -80.429512,51.451781 -80.404236,51.448095 -80.386577,51.440143 -80.379534,51.436284 -80.378770,51.436875 -80.347540,51.428443 -80.309440,51.410170 -80.291580,51.379727 -80.266585,51.361081 -80.251668,51.334885 -80.295688,51.305265 -80.341917,51.318846 -80.378095,51.324440 -80.429806,51.308880 -80.462812,51.298751 -80.484174,51.290867 -80.507976,51.290947 -80.520737,51.299004 -80.520915,51.313127 -80.505328,51.322423 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.537502,51.455825 -80.388290,51.545451</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.513552,51.533266 -80.508770,51.536618 -80.496665,51.542219 -80.492100,51.543396 -80.486975,51.544492 -80.478364,51.545451 -80.473888,51.544802 -80.458694,51.544437 -80.454779,51.543869 -80.447638,51.542465 -80.440720,51.538886 -80.435649,51.536679 -80.428565,51.531972 -80.423159,51.527509 -80.417029,51.521836 -80.411031,51.515815 -80.406356,51.512560 -80.402763,51.507992 -80.400026,51.504284 -80.397124,51.499448 -80.392974,51.494798 -80.391226,51.491601 -80.389348,51.488753 -80.388290,51.485290 -80.391104,51.480920 -80.397230,51.475564 -80.401587,51.471788 -80.409943,51.466757 -80.416958,51.463736 -80.424828,51.461574 -80.436956,51.457459 -80.444991,51.456423 -80.451390,51.456619 -80.461099,51.455825 -80.469173,51.456263 -80.475572,51.456457 -80.481024,51.457616 -80.490463,51.462293 -80.498659,51.467157 -80.502349,51.469896 -80.509689,51.473900 -80.513251,51.476988 -80.516943,51.479727 -80.523081,51.485393 -80.526945,51.489259 -80.530080,51.491917 -80.532957,51.495273 -80.534716,51.498467 -80.537502,51.508425 -80.536379,51.513040 -80.532072,51.518299 -80.531166,51.520741 -80.525051,51.526106 -80.519582,51.529726 -80.516997,51.531926 -80.513552,51.533266 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.670190,51.634791 -80.503082,51.767022</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.643423,51.761519 -80.620921,51.766647 -80.588530,51.767022 -80.568015,51.764364 -80.548453,51.761559 -80.532794,51.750694 -80.519962,51.734672 -80.509389,51.723420 -80.505683,51.711767 -80.504564,51.697984 -80.503082,51.686374 -80.503200,51.675273 -80.504781,51.667440 -80.506920,51.656909 -80.520572,51.646648 -80.546967,51.639333 -80.553654,51.636960 -80.571427,51.634791 -80.586949,51.635074 -80.600516,51.637020 -80.615751,51.641702 -80.628942,51.651924 -80.640202,51.674647 -80.653202,51.695116 -80.662437,51.706434 -80.666473,51.713676 -80.670190,51.724208 -80.669180,51.739067 -80.665379,51.749362 -80.663003,51.754581 -80.648360,51.760277 -80.643423,51.761519 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-83.820255,55.049655 -83.070225,55.310034</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-83.794527,55.265523 -83.790412,55.271516 -83.782955,55.281016 -83.769154,55.289229 -83.758693,55.293935 -83.739126,55.298993 -83.710645,55.303778 -83.690368,55.307473 -83.671569,55.310034 -83.653053,55.308132 -83.621169,55.302282 -83.608094,55.293875 -83.597399,55.285072 -83.581668,55.281519 -83.564358,55.282932 -83.540223,55.281067 -83.519259,55.276319 -83.495343,55.266767 -83.478160,55.257270 -83.457707,55.254487 -83.443178,55.254247 -83.436457,55.254183 -83.426963,55.255753 -83.399561,55.260572 -83.373076,55.259063 -83.359953,55.254467 -83.346352,55.247893 -83.334402,55.246628 -83.312630,55.251380 -83.271426,55.250208 -83.255003,55.252310 -83.233826,55.255185 -83.207555,55.253016 -83.193436,55.251503 -83.179662,55.245529 -83.167655,55.241027 -83.158703,55.237495 -83.147848,55.236326 -83.139165,55.235390 -83.127758,55.239298 -83.122801,55.240690 -83.117844,55.242082 -83.102706,55.243658 -83.087716,55.241394 -83.077481,55.238358 -83.072617,55.232691 -83.070225,55.219583 -83.072845,55.208305 -83.083067,55.174084 -83.099296,55.138593 -83.119760,55.100353 -83.136776,55.075870 -83.164900,55.058367 -83.191237,55.049655 -83.238017,55.050196 -83.264619,55.054333 -83.298993,55.058652 -83.319927,55.059602 -83.347188,55.054805 -83.362636,55.051955 -83.383286,55.050297 -83.413745,55.052881 -83.456783,55.058065 -83.498252,55.068197 -83.538562,55.082038 -83.566403,55.089433 -83.583721,55.091236 -83.598767,55.082541 -83.604655,55.070970 -83.616350,55.065773 -83.638768,55.065534 -83.675859,55.071935 -83.719876,55.084803 -83.762067,55.100028 -83.790753,55.122830 -83.805735,55.153840 -83.820255,55.171982 -83.815775,55.208063 -83.806139,55.228237 -83.798593,55.252473 -83.794527,55.265523 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-88.553893,56.260583 -87.696346,56.682532</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-87.807853,56.307440 -87.866739,56.275885 -87.921423,56.264712 -87.952827,56.260583 -88.009394,56.261640 -88.057836,56.270681 -88.125082,56.295419 -88.161336,56.300031 -88.199065,56.308364 -88.231796,56.320032 -88.247247,56.330668 -88.257692,56.344651 -88.280671,56.361801 -88.319061,56.378634 -88.336504,56.390588 -88.360233,56.404119 -88.401101,56.419849 -88.453160,56.458073 -88.491903,56.485794 -88.538698,56.529748 -88.541901,56.548152 -88.552230,56.587612 -88.553893,56.614437 -88.552118,56.624058 -88.548343,56.644503 -88.540418,56.663502 -88.519868,56.667208 -88.468442,56.682532 -88.417964,56.680873 -88.387379,56.679121 -88.322427,56.660784 -88.260050,56.652284 -88.232613,56.645810 -88.190150,56.637224 -88.155253,56.635152 -88.123250,56.629594 -88.063397,56.619918 -88.020527,56.613673 -87.949352,56.605678 -87.895387,56.599919 -87.861281,56.594155 -87.811008,56.581285 -87.774816,56.564413 -87.753131,56.552096 -87.734133,56.537511 -87.715650,56.520522 -87.698018,56.488984 -87.696346,56.454815 -87.697760,56.426927 -87.700507,56.413722 -87.707660,56.389852 -87.725120,56.369074 -87.729517,56.358408 -87.747939,56.332826 -87.767446,56.323122 -87.807853,56.307440 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-89.195306,56.643752 -88.479418,56.992620</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-89.147427,56.925791 -89.141019,56.934876 -89.095176,56.978304 -88.988513,56.992620 -88.876248,56.986756 -88.719544,56.951167 -88.565503,56.878378 -88.497718,56.830043 -88.479418,56.783229 -88.500293,56.755950 -88.558201,56.698583 -88.612992,56.669476 -88.658359,56.654670 -88.729915,56.643752 -88.892951,56.699496 -88.941992,56.720893 -88.956656,56.724783 -88.982248,56.735153 -89.022535,56.747784 -89.094442,56.768043 -89.151476,56.787501 -89.185809,56.811811 -89.195306,56.837123 -89.191690,56.858768 -89.171570,56.888617 -89.155528,56.910391 -89.147822,56.919169 -89.147427,56.925791 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-94.706807,49.027107 -94.659656,49.049685</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-94.670867,49.031778 -94.671316,49.031004 -94.672282,49.030086 -94.673839,49.028976 -94.675542,49.028061 -94.677684,49.027631 -94.680416,49.027107 -94.684544,49.027218 -94.687858,49.027859 -94.690066,49.028399 -94.692868,49.028360 -94.695005,49.028512 -94.696036,49.028709 -94.699348,49.029641 -94.701993,49.031006 -94.703974,49.032370 -94.705875,49.034704 -94.706673,49.036646 -94.706807,49.038586 -94.705681,49.041249 -94.704708,49.043380 -94.703296,49.044782 -94.700701,49.046665 -94.697225,49.047818 -94.693240,49.048096 -94.691174,49.048090 -94.687489,49.047544 -94.685426,49.047295 -94.683433,49.047434 -94.682250,49.047818 -94.680253,49.048442 -94.677885,49.049356 -94.674932,49.049685 -94.672202,49.049676 -94.669769,49.049425 -94.667045,49.048737 -94.664546,49.047613 -94.663079,49.046590 -94.661540,49.045324 -94.660375,49.043428 -94.659656,49.041147 -94.659895,49.039014 -94.660348,49.037706 -94.661170,49.036303 -94.662731,49.034902 -94.664806,49.033649 -94.666952,49.032638 -94.668504,49.032255 -94.670867,49.031778 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-82.952995,45.761891 -82.028438,46.050743</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-82.810835,46.050743 -82.794475,46.048531 -82.772923,46.041724 -82.760739,46.036509 -82.753684,46.026671 -82.752108,46.016347 -82.749458,46.005878 -82.746809,45.995409 -82.737950,45.987205 -82.729143,45.986784 -82.721856,45.988902 -82.703238,45.999584 -82.693631,46.009939 -82.678834,46.014918 -82.661231,46.017956 -82.639732,46.015010 -82.615208,46.006976 -82.598850,45.997725 -82.574980,45.987435 -82.540181,45.980293 -82.524943,45.982853 -82.497688,45.992302 -82.480305,46.006231 -82.457537,46.011626 -82.426599,46.018211 -82.394788,46.027780 -82.362970,46.033446 -82.336743,46.035215 -82.304491,46.038465 -82.283834,46.044120 -82.241501,46.039694 -82.213178,46.029447 -82.189820,46.017559 -82.174229,46.002096 -82.161428,45.988586 -82.150753,45.979272 -82.135960,45.976380 -82.124578,45.977089 -82.118308,45.983203 -82.105601,45.988396 -82.090146,45.987738 -82.069142,45.983164 -82.049692,45.973353 -82.035422,45.961168 -82.028438,45.950810 -82.028732,45.942281 -82.028961,45.938167 -82.042762,45.932617 -82.065352,45.924184 -82.079589,45.913768 -82.082455,45.904054 -82.078647,45.898054 -82.092965,45.875968 -82.104031,45.857311 -82.120793,45.819229 -82.137558,45.807622 -82.162760,45.812788 -82.183843,45.828256 -82.194248,45.842196 -82.193986,45.850721 -82.190230,45.871205 -82.207484,45.888456 -82.223284,45.899268 -82.239799,45.896165 -82.250958,45.892299 -82.261882,45.893070 -82.280288,45.898790 -82.298251,45.909893 -82.302728,45.917531 -82.304172,45.935639 -82.304990,45.948210 -82.304749,45.956740 -82.310966,45.958395 -82.325785,45.953477 -82.344232,45.955295 -82.363977,45.952621 -82.371713,45.945145 -82.394027,45.941269 -82.414407,45.936340 -82.420630,45.930207 -82.421063,45.920930 -82.424499,45.908960 -82.436504,45.898190 -82.450432,45.896245 -82.467791,45.901778 -82.477011,45.908508 -82.483225,45.906261 -82.482360,45.897584 -82.486426,45.891149 -82.497775,45.886505 -82.515989,45.889036 -82.532920,45.892162 -82.541485,45.889461 -82.543185,45.883475 -82.532023,45.871817 -82.517880,45.866743 -82.494322,45.863468 -82.475474,45.855399 -82.469903,45.847622 -82.470113,45.839096 -82.474599,45.827278 -82.479298,45.818602 -82.499574,45.782550 -82.512590,45.768036 -82.529884,45.761891 -82.545700,45.764865 -82.559178,45.772176 -82.567972,45.784277 -82.576983,45.795630 -82.582330,45.796370 -82.590675,45.798301 -82.597766,45.808608 -82.611885,45.809780 -82.619976,45.800791 -82.626167,45.798536 -82.639003,45.800304 -82.650999,45.805063 -82.659386,45.814765 -82.667355,45.825963 -82.669326,45.834783 -82.690299,45.835327 -82.700961,45.829016 -82.711179,45.820311 -82.720113,45.812208 -82.733350,45.808578 -82.752824,45.810458 -82.773219,45.821006 -82.787704,45.840845 -82.803659,45.855443 -82.817448,45.865859 -82.842450,45.884005 -82.854976,45.895021 -82.861766,45.910700 -82.859900,45.917442 -82.856166,45.930926 -82.862852,45.934936 -82.869954,45.937447 -82.887303,45.935120 -82.903824,45.935786 -82.921420,45.936594 -82.929144,45.936852 -82.935587,45.937716 -82.949182,45.944974 -82.952995,45.959470 -82.952511,45.973391 -82.949007,45.986133 -82.939974,46.003132 -82.937396,46.004009 -82.921760,46.008133 -82.907404,46.011650 -82.892670,46.020556 -82.877477,46.027066 -82.863355,46.033719 -82.848397,46.043368 -82.825447,46.049605 -82.810835,46.050743 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-82.478393,45.697494 -82.289540,45.781808</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-82.478393,45.747792 -82.473537,45.764832 -82.452917,45.774459 -82.435727,45.780741 -82.421018,45.781808 -82.397810,45.781331 -82.370116,45.779174 -82.351207,45.779290 -82.332200,45.779737 -82.305106,45.770344 -82.295694,45.758234 -82.289540,45.743456 -82.294748,45.727162 -82.303652,45.716955 -82.314463,45.705280 -82.325254,45.698814 -82.338032,45.697494 -82.391690,45.707495 -82.426586,45.710315 -82.453955,45.716930 -82.473515,45.731824 -82.478393,45.747792 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-77.356090,44.043259 -76.544164,44.503783</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-76.988782,44.503783 -76.550597,44.423826 -76.544164,44.260111 -76.657497,44.200349 -76.720749,44.184153 -76.729215,44.182894 -76.738772,44.174017 -76.784102,44.154913 -76.789200,44.155994 -76.809606,44.148084 -76.816702,44.144099 -76.969258,44.058133 -77.027069,44.043259 -77.060652,44.044117 -77.356090,44.043774 -77.325013,44.157932 -77.300332,44.241657 -77.197273,44.360793 -77.125947,44.419611 -77.072520,44.459116 -76.988782,44.503783 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.272114,44.526795 -80.244841,44.547619</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.259361,44.547568 -80.256868,44.547147 -80.253902,44.545901 -80.251883,44.544494 -80.249690,44.542561 -80.247470,44.541014 -80.246379,44.539054 -80.245393,44.537679 -80.244841,44.536343 -80.244857,44.534641 -80.244864,44.533115 -80.245326,44.531417 -80.246202,44.529967 -80.247681,44.528796 -80.249145,44.528120 -80.251174,44.527539 -80.253703,44.526795 -80.256708,44.527018 -80.260946,44.527414 -80.264083,44.528440 -80.266798,44.530141 -80.269469,44.532581 -80.270774,44.534044 -80.271952,44.535592 -80.272114,44.537963 -80.271782,44.541530 -80.270696,44.543620 -80.269765,44.544635 -80.268962,44.545565 -80.267240,44.546269 -80.266160,44.546833 -80.264408,44.547176 -80.261977,44.547619 -80.259361,44.547568 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-81.418841,44.479454 -81.387943,44.501561</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-81.389801,44.487699 -81.392088,44.484601 -81.394988,44.482441 -81.398022,44.480945 -81.401108,44.480019 -81.404483,44.479620 -81.408067,44.479454 -81.411622,44.480126 -81.413991,44.481378 -81.416245,44.483013 -81.417299,44.484904 -81.417689,44.486209 -81.417685,44.487333 -81.417651,44.488372 -81.417269,44.489076 -81.417356,44.489531 -81.418514,44.490153 -81.418841,44.490926 -81.418685,44.491625 -81.418155,44.492266 -81.417120,44.492346 -81.416825,44.492581 -81.416720,44.492927 -81.417354,44.493427 -81.417907,44.494195 -81.418215,44.494845 -81.418176,44.495161 -81.417095,44.496318 -81.415305,44.497968 -81.413837,44.499106 -81.412260,44.499866 -81.410101,44.500695 -81.407391,44.501118 -81.403777,44.501561 -81.399338,44.501393 -81.396772,44.501155 -81.393254,44.500728 -81.389961,44.499373 -81.388064,44.496748 -81.387943,44.493636 -81.388727,44.490866 -81.389801,44.487699 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-81.991690,42.239378 -81.803394,42.387262</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-81.807600,42.356166 -81.808504,42.354028 -81.810674,42.347275 -81.811339,42.341827 -81.812691,42.335506 -81.812601,42.329614 -81.812865,42.322471 -81.813374,42.316019 -81.813882,42.309568 -81.812861,42.303858 -81.812483,42.300534 -81.812216,42.295268 -81.814541,42.285509 -81.817817,42.273941 -81.821646,42.265072 -81.823638,42.261139 -81.831294,42.249604 -81.843512,42.243676 -81.857302,42.239950 -81.874592,42.239378 -81.885199,42.240701 -81.894613,42.243142 -81.901591,42.244878 -81.912024,42.246823 -81.924651,42.248781 -81.933577,42.249837 -81.945784,42.251725 -81.960693,42.253377 -81.966675,42.253975 -81.979305,42.255924 -81.987218,42.257470 -81.990499,42.258302 -81.990720,42.258451 -81.990856,42.258472 -81.991182,42.258663 -81.991360,42.259042 -81.991455,42.259550 -81.991611,42.260348 -81.991661,42.260848 -81.991690,42.261591 -81.991667,42.262186 -81.991616,42.262706 -81.991428,42.263380 -81.991260,42.263812 -81.991173,42.264291 -81.990936,42.264530 -81.990945,42.264569 -81.984795,42.272431 -81.968331,42.290450 -81.959191,42.301114 -81.939281,42.292163 -81.930555,42.302890 -81.913411,42.318515 -81.866643,42.351745 -81.861962,42.353606 -81.858455,42.356680 -81.847427,42.364244 -81.829758,42.376635 -81.815466,42.386375 -81.808625,42.387262 -81.804009,42.382634 -81.803394,42.376676 -81.804407,42.371949 -81.804589,42.367826 -81.807600,42.356166 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-77.209310,43.791488 -76.791000,44.001532</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-77.166158,43.861307 -77.164946,43.860769 -77.164503,43.859269 -77.162131,43.858170 -77.160991,43.858092 -77.160453,43.856545 -77.160046,43.856152 -77.159847,43.854804 -77.159765,43.854569 -77.159808,43.854538 -77.159673,43.853625 -77.162338,43.851306 -77.161592,43.849775 -77.160917,43.849646 -77.160986,43.847742 -77.160358,43.845232 -77.159604,43.842680 -77.158576,43.841873 -77.158606,43.841321 -77.156479,43.839028 -77.146723,43.852864 -77.146320,43.853085 -77.146298,43.853096 -77.146277,43.853104 -77.146201,43.853145 -77.146179,43.853157 -77.146097,43.853186 -77.145858,43.853313 -77.145837,43.853323 -77.145690,43.853375 -77.145413,43.853516 -77.145392,43.853525 -77.145392,43.853525 -77.145392,43.853525 -77.145371,43.853535 -77.145177,43.853600 -77.144944,43.853715 -77.144922,43.853724 -77.144828,43.853754 -77.144743,43.853795 -77.144719,43.853804 -77.144660,43.853823 -77.144616,43.853844 -77.144592,43.853854 -77.144592,43.853854 -77.144592,43.853854 -77.144567,43.853863 -77.144567,43.853863 -77.144567,43.853863 -77.144543,43.853873 -77.144533,43.853876 -77.144518,43.853883 -77.144494,43.853892 -77.144257,43.853966 -77.144109,43.854035 -77.144084,43.854044 -77.143718,43.854153 -77.143579,43.854215 -77.143554,43.854223 -77.143502,43.854237 -77.143486,43.854244 -77.143462,43.854252 -77.143131,43.854344 -77.143089,43.854363 -77.143062,43.854371 -77.142816,43.854438 -77.142791,43.854449 -77.142766,43.854455 -77.142745,43.854458 -77.142731,43.854461 -77.142708,43.854471 -77.142683,43.854478 -77.142666,43.854479 -77.142455,43.854537 -77.142403,43.854559 -77.142375,43.854566 -77.142335,43.854570 -77.142075,43.854641 -77.142074,43.854641 -77.142069,43.854643 -77.142041,43.854650 -77.142017,43.854652 -77.141995,43.854661 -77.141967,43.854668 -77.141963,43.854668 -77.141948,43.854671 -77.141943,43.854673 -77.141916,43.854680 -77.141894,43.854682 -77.141815,43.854699 -77.141746,43.854718 -77.141743,43.854719 -77.141735,43.854721 -77.141720,43.854725 -77.141667,43.854730 -77.141646,43.854734 -77.141560,43.854769 -77.141308,43.854819 -77.141258,43.854838 -77.141230,43.854844 -77.141146,43.854851 -77.140519,43.854975 -77.140517,43.854976 -77.140501,43.854979 -77.140287,43.855022 -77.140262,43.855025 -77.140198,43.855028 -77.139977,43.855075 -77.139952,43.855079 -77.139808,43.855087 -77.139273,43.855194 -77.139248,43.855197 -77.139129,43.855203 -77.138925,43.855244 -77.138897,43.855248 -77.138738,43.855256 -77.138505,43.855297 -77.138480,43.855299 -77.138472,43.855300 -77.138266,43.855337 -77.138238,43.855340 -77.138127,43.855343 -77.137997,43.855366 -77.137972,43.855369 -77.137972,43.855369 -77.137972,43.855369 -77.137947,43.855371 -77.137947,43.855371 -77.137947,43.855371 -77.137933,43.855373 -77.137923,43.855374 -77.137895,43.855377 -77.137879,43.855378 -77.137867,43.855379 -77.137839,43.855382 -77.137829,43.855382 -77.137801,43.855387 -77.137798,43.855387 -77.137798,43.855388 -77.137786,43.855389 -77.137785,43.855389 -77.137768,43.855391 -77.137761,43.855391 -77.137752,43.855392 -77.137726,43.855395 -77.137704,43.855396 -77.137687,43.855399 -77.137662,43.855401 -77.137662,43.855401 -77.137662,43.855401 -77.137637,43.855404 -77.137637,43.855404 -77.137637,43.855404 -77.137612,43.855407 -77.137612,43.855407 -77.137612,43.855407 -77.137588,43.855409 -77.137574,43.855410 -77.137562,43.855412 -77.137533,43.855415 -77.137533,43.855415 -77.137533,43.855415 -77.137496,43.855418 -77.137490,43.855418 -77.137476,43.855421 -77.137451,43.855423 -77.137451,43.855423 -77.137451,43.855423 -77.137436,43.855425 -77.137430,43.855426 -77.137402,43.855429 -77.137402,43.855429 -77.137402,43.855429 -77.137397,43.855429 -77.137377,43.855431 -77.137374,43.855431 -77.137347,43.855434 -77.137347,43.855434 -77.137347,43.855434 -77.137319,43.855437 -77.137280,43.855438 -77.137219,43.855448 -77.137192,43.855451 -77.137192,43.855451 -77.137192,43.855451 -77.137164,43.855453 -77.137164,43.855453 -77.137164,43.855453 -77.137136,43.855456 -77.137136,43.855456 -77.137136,43.855456 -77.137108,43.855459 -77.137108,43.855459 -77.137108,43.855459 -77.137080,43.855462 -77.137071,43.855462 -77.137052,43.855465 -77.137024,43.855468 -77.136870,43.855470 -77.136711,43.855496 -77.136683,43.855498 -77.136518,43.855499 -77.136465,43.855507 -77.136434,43.855510 -77.136415,43.855510 -77.136372,43.855517 -77.136341,43.855519 -77.136150,43.855519 -77.136032,43.855536 -77.136000,43.855537 -77.135945,43.855536 -77.135938,43.855537 -77.135907,43.855538 -77.135889,43.855538 -77.135814,43.855548 -77.135786,43.855549 -77.135735,43.855549 -77.135730,43.855549 -77.135702,43.855550 -77.135683,43.855550 -77.135603,43.855561 -77.135575,43.855562 -77.135453,43.855561 -77.135453,43.855561 -77.135422,43.855563 -77.135329,43.855563 -77.135311,43.855566 -77.135235,43.855578 -77.135203,43.855581 -77.134960,43.855583 -77.134895,43.855593 -77.134867,43.855594 -77.134815,43.855593 -77.134811,43.855594 -77.134783,43.855595 -77.134705,43.855594 -77.134460,43.855628 -77.134433,43.855629 -77.134369,43.855628 -77.134258,43.855627 -77.134225,43.855632 -77.134193,43.855633 -77.134163,43.855633 -77.134127,43.855638 -77.134099,43.855638 -77.134075,43.855637 -77.134071,43.855638 -77.134043,43.855639 -77.134043,43.855639 -77.134043,43.855639 -77.134012,43.855639 -77.133986,43.855638 -77.133981,43.855639 -77.133949,43.855640 -77.133908,43.855639 -77.133896,43.855639 -77.133820,43.855638 -77.133797,43.855641 -77.133769,43.855641 -77.133753,43.855640 -77.133739,43.855642 -77.133708,43.855642 -77.133681,43.855641 -77.133641,43.855646 -77.133607,43.855647 -77.133482,43.855644 -77.133451,43.855647 -77.133418,43.855647 -77.133144,43.855638 -77.133067,43.855647 -77.133035,43.855646 -77.132970,43.855633 -77.132878,43.855630 -77.132780,43.855640 -77.132749,43.855639 -77.132683,43.855624 -77.132550,43.855621 -77.132540,43.855621 -77.132478,43.855627 -77.132447,43.855625 -77.132415,43.855618 -77.132330,43.855616 -77.132276,43.855603 -77.132205,43.855609 -77.131807,43.855560 -77.131777,43.855623 -77.131766,43.855641 -77.131621,43.855834 -77.131579,43.855920 -77.131566,43.855938 -77.131507,43.856014 -77.131493,43.856042 -77.131481,43.856059 -77.131447,43.856103 -77.131439,43.856119 -77.131427,43.856135 -77.131339,43.856247 -77.131324,43.856277 -77.131312,43.856293 -77.131312,43.856293 -77.131300,43.856309 -77.131270,43.856335 -77.131224,43.856394 -77.131195,43.856447 -77.131183,43.856463 -77.131169,43.856475 -77.131159,43.856494 -77.131157,43.856497 -77.131157,43.856497 -77.131151,43.856505 -77.131145,43.856513 -77.131145,43.856513 -77.131143,43.856516 -77.131096,43.856556 -77.130974,43.856711 -77.130943,43.856768 -77.130928,43.856787 -77.130889,43.856819 -77.130817,43.856911 -77.130766,43.856953 -77.130721,43.857032 -77.130537,43.857229 -77.130515,43.857267 -77.130499,43.857284 -77.130445,43.857328 -77.130384,43.857393 -77.130378,43.857401 -77.130373,43.857404 -77.130291,43.857492 -77.130260,43.857532 -77.130233,43.857554 -77.130206,43.857583 -77.130170,43.857646 -77.129796,43.858021 -77.129723,43.858139 -77.129707,43.858156 -77.129495,43.858322 -77.128831,43.858988 -77.128814,43.859002 -77.128599,43.859156 -77.128220,43.859545 -77.128202,43.859561 -77.128202,43.859561 -77.128202,43.859561 -77.128185,43.859577 -77.128117,43.859627 -77.128028,43.859716 -77.128010,43.859732 -77.128009,43.859733 -77.127956,43.859786 -77.127939,43.859800 -77.127855,43.859859 -77.127853,43.859861 -77.127841,43.859870 -77.127817,43.859893 -77.127799,43.859909 -77.127553,43.860086 -77.127345,43.860283 -77.127324,43.860299 -77.127319,43.860302 -77.127280,43.860339 -77.127259,43.860356 -77.127223,43.860381 -77.127221,43.860383 -77.127202,43.860399 -77.127155,43.860431 -77.127147,43.860437 -77.127117,43.860458 -77.127075,43.860497 -77.127052,43.860516 -77.127049,43.860518 -77.127044,43.860522 -77.127025,43.860537 -77.126995,43.860557 -77.126980,43.860571 -77.126956,43.860589 -77.126949,43.860593 -77.126944,43.860598 -77.126923,43.860614 -77.126906,43.860626 -77.126900,43.860631 -77.126880,43.860646 -77.126874,43.860650 -77.126868,43.860656 -77.126846,43.860672 -77.126833,43.860681 -77.126825,43.860688 -77.126804,43.860704 -77.126759,43.860734 -77.126754,43.860738 -77.126747,43.860744 -77.126726,43.860757 -77.126700,43.860781 -77.126679,43.860796 -77.126387,43.860989 -77.126219,43.861138 -77.126195,43.861155 -77.125885,43.861352 -77.125848,43.861384 -77.125827,43.861398 -77.125827,43.861398 -77.125827,43.861398 -77.125805,43.861412 -77.125805,43.861412 -77.125805,43.861412 -77.125784,43.861426 -77.125784,43.861426 -77.125784,43.861426 -77.125763,43.861440 -77.125642,43.861525 -77.125639,43.861527 -77.125639,43.861527 -77.125639,43.861527 -77.125621,43.861541 -77.125621,43.861541 -77.125621,43.861541 -77.125603,43.861555 -77.125537,43.861599 -77.125524,43.861608 -77.125489,43.861641 -77.125471,43.861654 -77.125385,43.861712 -77.125349,43.861744 -77.125331,43.861758 -77.125291,43.861784 -77.125093,43.861964 -77.125073,43.861978 -77.124920,43.862078 -77.124831,43.862159 -77.124810,43.862173 -77.124533,43.862352 -77.124519,43.862364 -77.124495,43.862381 -77.124418,43.862431 -77.124372,43.862470 -77.124351,43.862484 -77.124336,43.862491 -77.124320,43.862501 -77.124317,43.862504 -77.124308,43.862512 -77.124286,43.862525 -77.124286,43.862525 -77.124286,43.862525 -77.124265,43.862539 -77.124265,43.862539 -77.124265,43.862539 -77.124244,43.862553 -77.124244,43.862553 -77.124244,43.862553 -77.124222,43.862567 -77.124222,43.862567 -77.124222,43.862567 -77.124211,43.862574 -77.124207,43.862578 -77.124183,43.862594 -77.124177,43.862597 -77.124159,43.862609 -77.124159,43.862609 -77.124159,43.862609 -77.124137,43.862623 -77.124109,43.862635 -77.124020,43.862691 -77.124006,43.862703 -77.123984,43.862716 -77.123972,43.862722 -77.123850,43.862798 -77.123799,43.862842 -77.123774,43.862858 -77.123723,43.862879 -77.123635,43.862934 -77.123488,43.863029 -77.123450,43.863044 -77.123415,43.863073 -77.123230,43.863171 -77.123217,43.863178 -77.123211,43.863181 -77.123141,43.863217 -77.122929,43.863334 -77.122899,43.863358 -77.122877,43.863370 -77.122877,43.863370 -77.122877,43.863370 -77.122856,43.863381 -77.122811,43.863399 -77.122738,43.863439 -77.122697,43.863470 -77.122673,43.863483 -77.122624,43.863501 -77.122445,43.863599 -77.122424,43.863610 -77.122346,43.863639 -77.122142,43.863750 -77.122118,43.863763 -77.122086,43.863775 -77.122044,43.863797 -77.122023,43.863808 -77.122011,43.863813 -77.122005,43.863816 -77.121984,43.863825 -77.121953,43.863836 -77.121942,43.863842 -77.121726,43.863960 -77.121702,43.863972 -77.121693,43.863976 -77.121678,43.863984 -77.121654,43.863996 -77.121654,43.863996 -77.121654,43.863996 -77.121630,43.864009 -77.121584,43.864025 -77.121574,43.864035 -77.121556,43.864049 -77.121336,43.864196 -77.121222,43.864302 -77.121200,43.864318 -77.120967,43.864474 -77.120961,43.864479 -77.120941,43.864492 -77.120879,43.864532 -77.120756,43.864613 -77.120384,43.864965 -77.120362,43.864982 -77.119376,43.865649 -77.119221,43.865781 -77.119201,43.865794 -77.119097,43.865838 -77.118803,43.866037 -77.118780,43.866046 -77.118761,43.866061 -77.118639,43.866128 -77.118635,43.866131 -77.118614,43.866143 -77.118603,43.866147 -77.118529,43.866187 -77.118518,43.866197 -77.118497,43.866209 -77.118492,43.866211 -77.118474,43.866223 -77.118448,43.866233 -77.118432,43.866247 -77.118354,43.866289 -77.118340,43.866300 -77.118319,43.866312 -77.118299,43.866320 -77.118281,43.866329 -77.118275,43.866334 -77.118254,43.866346 -77.118245,43.866349 -77.118241,43.866351 -77.118233,43.866358 -77.118212,43.866369 -77.118203,43.866376 -77.118182,43.866388 -77.118150,43.866401 -77.118075,43.866442 -77.118048,43.866464 -77.118027,43.866475 -77.118020,43.866478 -77.118011,43.866486 -77.117989,43.866497 -77.117986,43.866499 -77.117985,43.866499 -77.117937,43.866518 -77.117894,43.866541 -77.117867,43.866563 -77.117845,43.866574 -77.117808,43.866589 -77.117600,43.866703 -77.117585,43.866710 -77.117570,43.866718 -77.117565,43.866720 -77.117532,43.866738 -77.117527,43.866742 -77.117506,43.866753 -77.117500,43.866756 -77.117476,43.866769 -77.117467,43.866773 -77.117456,43.866779 -77.117449,43.866784 -77.117427,43.866796 -77.117415,43.866801 -77.117241,43.866893 -77.117241,43.866894 -77.117224,43.866902 -77.116462,43.867309 -77.116434,43.867323 -77.116319,43.867364 -77.116250,43.867400 -77.116191,43.867447 -77.116169,43.867459 -77.116108,43.867483 -77.116069,43.867513 -77.116047,43.867525 -77.115933,43.867568 -77.115362,43.867871 -77.115340,43.867882 -77.115137,43.867953 -77.114986,43.868036 -77.114970,43.868048 -77.114949,43.868060 -77.114925,43.868069 -77.114903,43.868080 -77.114865,43.868094 -77.114806,43.868127 -77.114784,43.868138 -77.114743,43.868153 -77.114624,43.868216 -77.114615,43.868223 -77.114600,43.868231 -77.114587,43.868236 -77.114494,43.868285 -77.114476,43.868295 -77.114469,43.868299 -77.114467,43.868299 -77.114163,43.868461 -77.114141,43.868471 -77.113976,43.868529 -77.113782,43.868630 -77.113754,43.868642 -77.113622,43.868688 -77.113421,43.868789 -77.113394,43.868801 -77.113394,43.868801 -77.113394,43.868801 -77.113366,43.868812 -77.113281,43.868841 -77.113188,43.868887 -77.113164,43.868897 -77.113098,43.868918 -77.113032,43.868951 -77.113004,43.868962 -77.112884,43.869000 -77.112778,43.869051 -77.112754,43.869060 -77.112754,43.869060 -77.112754,43.869060 -77.112729,43.869070 -77.112492,43.869144 -77.112344,43.869213 -77.112319,43.869222 -77.112099,43.869287 -77.112045,43.869312 -77.112018,43.869321 -77.112018,43.869321 -77.112018,43.869321 -77.111990,43.869331 -77.111881,43.869363 -77.111813,43.869393 -77.111789,43.869400 -77.111656,43.869438 -77.111614,43.869456 -77.111586,43.869465 -77.111379,43.869523 -77.111363,43.869530 -77.111339,43.869537 -77.111339,43.869537 -77.111339,43.869537 -77.111314,43.869544 -77.111296,43.869546 -77.111184,43.869578 -77.111109,43.869610 -77.111081,43.869618 -77.111021,43.869624 -77.110970,43.869646 -77.110942,43.869654 -77.110890,43.869660 -77.110793,43.869687 -77.110724,43.869716 -77.110696,43.869723 -77.110680,43.869724 -77.110668,43.869730 -77.110640,43.869737 -77.110640,43.869737 -77.110640,43.869737 -77.110612,43.869744 -77.110601,43.869745 -77.110585,43.869752 -77.110557,43.869759 -77.110521,43.869763 -77.110425,43.869790 -77.110389,43.869793 -77.110343,43.869811 -77.110315,43.869818 -77.110292,43.869820 -77.110242,43.869842 -77.110217,43.869849 -77.110205,43.869850 -77.110192,43.869855 -77.110168,43.869863 -77.110111,43.869869 -77.110092,43.869874 -77.110018,43.869906 -77.109990,43.869914 -77.109938,43.869919 -77.109879,43.869944 -77.109854,43.869951 -77.109803,43.869956 -77.109739,43.869982 -77.109712,43.869990 -77.109696,43.869991 -77.109687,43.869994 -77.109682,43.869994 -77.109660,43.870003 -77.109633,43.870010 -77.109625,43.870011 -77.109613,43.870015 -77.109613,43.870015 -77.109613,43.870015 -77.109589,43.870022 -77.109589,43.870022 -77.109589,43.870022 -77.109564,43.870029 -77.109564,43.870029 -77.109564,43.870029 -77.109539,43.870036 -77.109487,43.870042 -77.109464,43.870049 -77.109446,43.870050 -77.109371,43.870071 -77.109317,43.870094 -77.109308,43.870097 -77.109291,43.870104 -77.109266,43.870111 -77.109259,43.870112 -77.109243,43.870116 -77.109243,43.870116 -77.109243,43.870116 -77.109219,43.870123 -77.109165,43.870129 -77.109087,43.870162 -77.109066,43.870167 -77.109041,43.870174 -77.109038,43.870175 -77.109031,43.870176 -77.109031,43.870176 -77.109031,43.870176 -77.109003,43.870184 -77.109003,43.870184 -77.109003,43.870184 -77.108976,43.870191 -77.108976,43.870191 -77.108976,43.870191 -77.108948,43.870198 -77.108948,43.870198 -77.108948,43.870198 -77.108920,43.870205 -77.108920,43.870205 -77.108920,43.870205 -77.108893,43.870213 -77.108893,43.870213 -77.108893,43.870213 -77.108865,43.870220 -77.108840,43.870222 -77.108790,43.870243 -77.108763,43.870250 -77.108714,43.870255 -77.108661,43.870277 -77.108633,43.870284 -77.108505,43.870296 -77.108377,43.870348 -77.108349,43.870355 -77.108309,43.870358 -77.108280,43.870370 -77.108109,43.870406 -77.108078,43.870418 -77.108054,43.870423 -77.108023,43.870426 -77.107883,43.870465 -77.107825,43.870489 -77.107801,43.870497 -77.107788,43.870498 -77.107776,43.870503 -77.107751,43.870510 -77.107751,43.870510 -77.107751,43.870510 -77.107727,43.870518 -77.107718,43.870519 -77.107702,43.870525 -77.107678,43.870533 -77.107612,43.870540 -77.107532,43.870563 -77.107462,43.870592 -77.107437,43.870598 -77.107385,43.870604 -77.107360,43.870611 -77.107281,43.870643 -77.107256,43.870650 -77.107199,43.870656 -77.106925,43.870732 -77.106860,43.870738 -77.106801,43.870762 -77.106700,43.870783 -77.106673,43.870793 -77.106649,43.870799 -77.106606,43.870802 -77.106292,43.870868 -77.106248,43.870885 -77.106224,43.870890 -77.106198,43.870891 -77.106180,43.870898 -77.106169,43.870900 -77.105801,43.871072 -77.105776,43.871081 -77.105776,43.871081 -77.105776,43.871081 -77.105751,43.871090 -77.105664,43.871115 -77.105552,43.871167 -77.105530,43.871175 -77.103981,43.871628 -77.103964,43.871629 -77.103949,43.871635 -77.103940,43.871637 -77.104157,43.872164 -77.042515,43.910507 -77.041234,43.910781 -77.041620,43.911063 -77.040969,43.911468 -77.041693,43.911875 -77.040417,43.912717 -77.040767,43.913571 -77.039601,43.914653 -77.039799,43.915331 -77.038835,43.916426 -77.040700,43.917052 -77.042860,43.919359 -77.045279,43.920189 -77.046244,43.919093 -77.049678,43.918665 -77.049169,43.919626 -77.048711,43.920424 -77.048705,43.921752 -77.047084,43.922969 -77.046674,43.924269 -77.044704,43.924631 -77.046108,43.926720 -77.044131,43.928410 -77.042003,43.929924 -77.039927,43.931275 -77.038648,43.934674 -77.039039,43.937357 -77.042510,43.940085 -77.042504,43.941413 -77.041584,43.943674 -77.042722,43.948567 -77.041247,43.950624 -77.038968,43.951961 -77.036288,43.952607 -77.027070,43.957619 -77.023260,43.961839 -77.020080,43.967594 -77.005340,43.969245 -76.973152,43.977250 -76.967572,43.978274 -76.967960,43.978353 -76.945404,43.984585 -76.925211,43.990979 -76.897464,43.996362 -76.887226,43.997299 -76.887149,43.997321 -76.887059,43.997332 -76.886943,43.997381 -76.885780,43.997706 -76.885685,43.997716 -76.885573,43.997763 -76.884407,43.998073 -76.884307,43.998083 -76.884199,43.998127 -76.883029,43.998422 -76.882925,43.998432 -76.882821,43.998473 -76.881648,43.998753 -76.881538,43.998762 -76.881439,43.998801 -76.880264,43.999065 -76.880149,43.999074 -76.880054,43.999111 -76.878876,43.999360 -76.878757,43.999368 -76.878666,43.999403 -76.877486,43.999636 -76.877362,43.999644 -76.877276,43.999676 -76.876094,43.999893 -76.876055,43.999895 -76.875884,43.999930 -76.874701,44.000132 -76.874652,44.000135 -76.874490,44.000166 -76.873306,44.000352 -76.873247,44.000355 -76.873096,44.000384 -76.871911,44.000554 -76.871842,44.000557 -76.871700,44.000583 -76.870515,44.000737 -76.870437,44.000739 -76.870304,44.000763 -76.869120,44.000901 -76.869032,44.000903 -76.868909,44.000924 -76.867725,44.001046 -76.867627,44.001048 -76.867514,44.001066 -76.866330,44.001172 -76.866223,44.001174 -76.866120,44.001190 -76.864938,44.001280 -76.864821,44.001280 -76.864728,44.001294 -76.863547,44.001368 -76.863421,44.001368 -76.863337,44.001380 -76.862158,44.001438 -76.862023,44.001436 -76.861949,44.001446 -76.860772,44.001488 -76.860628,44.001486 -76.860563,44.001494 -76.859390,44.001519 -76.859235,44.001516 -76.859181,44.001522 -76.858010,44.001532 -76.857847,44.001527 -76.857802,44.001532 -76.856635,44.001525 -76.856462,44.001519 -76.856428,44.001522 -76.855264,44.001499 -76.855179,44.001481 -76.855057,44.001494 -76.853898,44.001454 -76.853809,44.001435 -76.853692,44.001446 -76.852537,44.001391 -76.852444,44.001369 -76.852332,44.001379 -76.851181,44.001308 -76.851084,44.001285 -76.850977,44.001294 -76.849832,44.001206 -76.849731,44.001181 -76.849628,44.001189 -76.848489,44.001085 -76.848384,44.001059 -76.848286,44.001065 -76.847153,44.000946 -76.847044,44.000917 -76.846951,44.000923 -76.845824,44.000787 -76.845793,44.000779 -76.845624,44.000762 -76.844502,44.000610 -76.844463,44.000599 -76.844304,44.000582 -76.843189,44.000414 -76.843141,44.000400 -76.842992,44.000383 -76.841884,44.000199 -76.841828,44.000182 -76.841688,44.000165 -76.840589,43.999966 -76.840524,43.999946 -76.840394,43.999929 -76.839302,43.999714 -76.839229,43.999691 -76.839109,43.999674 -76.838025,43.999443 -76.837944,43.999417 -76.837833,43.999401 -76.836758,43.999155 -76.836669,43.999125 -76.836568,43.999109 -76.835502,43.998847 -76.835405,43.998814 -76.835313,43.998799 -76.834256,43.998522 -76.834151,43.998485 -76.834069,43.998471 -76.833021,43.998178 -76.832909,43.998138 -76.832836,43.998125 -76.831798,43.997817 -76.831679,43.997773 -76.831615,43.997761 -76.830587,43.997438 -76.830460,43.997389 -76.830406,43.997379 -76.829389,43.997040 -76.829254,43.996988 -76.829209,43.996979 -76.828203,43.996625 -76.828061,43.996569 -76.828025,43.996561 -76.827030,43.996193 -76.826967,43.996151 -76.826854,43.996126 -76.825870,43.995743 -76.825805,43.995698 -76.825696,43.995674 -76.824724,43.995276 -76.824656,43.995228 -76.824552,43.995204 -76.823592,43.994792 -76.823522,43.994741 -76.823423,43.994717 -76.822475,43.994291 -76.822402,43.994237 -76.822308,43.994213 -76.821373,43.993773 -76.821297,43.993716 -76.821207,43.993693 -76.820285,43.993238 -76.820207,43.993178 -76.820122,43.993156 -76.819213,43.992687 -76.819133,43.992624 -76.819053,43.992602 -76.818157,43.992119 -76.818132,43.992099 -76.817999,43.992032 -76.817117,43.991535 -76.817086,43.991510 -76.816961,43.991446 -76.816093,43.990936 -76.816056,43.990905 -76.815940,43.990844 -76.815086,43.990320 -76.815043,43.990284 -76.814936,43.990226 -76.814096,43.989689 -76.814048,43.989647 -76.813948,43.989592 -76.813124,43.989042 -76.813070,43.988995 -76.812978,43.988943 -76.812169,43.988381 -76.812110,43.988327 -76.812026,43.988279 -76.811232,43.987704 -76.811167,43.987645 -76.811092,43.987600 -76.810313,43.987012 -76.810244,43.986947 -76.810176,43.986906 -76.809412,43.986306 -76.809338,43.986235 -76.809278,43.986198 -76.808531,43.985585 -76.808452,43.985508 -76.808399,43.985475 -76.807668,43.984850 -76.807585,43.984767 -76.807540,43.984738 -76.806825,43.984102 -76.806737,43.984012 -76.806699,43.983987 -76.806001,43.983339 -76.805910,43.983243 -76.805879,43.983223 -76.805197,43.982563 -76.805165,43.982504 -76.805078,43.982445 -76.804414,43.981774 -76.804380,43.981711 -76.804297,43.981654 -76.803650,43.980972 -76.803616,43.980906 -76.803536,43.980849 -76.802907,43.980157 -76.802872,43.980087 -76.802796,43.980032 -76.802184,43.979329 -76.802148,43.979256 -76.802077,43.979203 -76.801483,43.978489 -76.801446,43.978412 -76.801379,43.978361 -76.800803,43.977637 -76.800766,43.977557 -76.800702,43.977508 -76.800144,43.976774 -76.800106,43.976690 -76.800046,43.976642 -76.799507,43.975899 -76.799469,43.975811 -76.799412,43.975766 -76.798891,43.975013 -76.798878,43.974982 -76.798800,43.974878 -76.798298,43.974115 -76.798282,43.974077 -76.798210,43.973979 -76.797726,43.973207 -76.797709,43.973162 -76.797642,43.973069 -76.797177,43.972289 -76.797157,43.972237 -76.797096,43.972150 -76.796651,43.971361 -76.796629,43.971301 -76.796573,43.971220 -76.796147,43.970422 -76.796123,43.970356 -76.796073,43.970280 -76.795666,43.969475 -76.795640,43.969401 -76.795595,43.969331 -76.795207,43.968518 -76.795181,43.968436 -76.795140,43.968372 -76.794772,43.967552 -76.794744,43.967463 -76.794708,43.967405 -76.794360,43.966577 -76.794331,43.966481 -76.794300,43.966429 -76.793972,43.965594 -76.793942,43.965490 -76.793915,43.965445 -76.793606,43.964603 -76.793576,43.964492 -76.793553,43.964452 -76.793265,43.963604 -76.793234,43.963485 -76.793215,43.963452 -76.792947,43.962597 -76.792915,43.962471 -76.792901,43.962445 -76.792653,43.961584 -76.792655,43.961514 -76.792610,43.961430 -76.792382,43.960563 -76.792385,43.960489 -76.792344,43.960408 -76.792136,43.959536 -76.792140,43.959459 -76.792101,43.959381 -76.791914,43.958503 -76.791918,43.958422 -76.791882,43.958346 -76.791715,43.957464 -76.791721,43.957379 -76.791687,43.957306 -76.791541,43.956419 -76.791548,43.956330 -76.791517,43.956261 -76.791391,43.955369 -76.791400,43.955276 -76.791370,43.955210 -76.791265,43.954314 -76.791275,43.954217 -76.791248,43.954154 -76.791164,43.953254 -76.791167,43.953224 -76.791150,43.953094 -76.791086,43.952190 -76.791091,43.952152 -76.791077,43.952029 -76.791033,43.951122 -76.791040,43.951076 -76.791027,43.950961 -76.791005,43.950051 -76.791013,43.949997 -76.791003,43.949889 -76.791000,43.948976 -76.791010,43.948914 -76.791002,43.948813 -76.791021,43.947898 -76.791032,43.947829 -76.791026,43.947735 -76.791065,43.946817 -76.791079,43.946740 -76.791074,43.946654 -76.791134,43.945734 -76.791150,43.945649 -76.791146,43.945570 -76.791227,43.944649 -76.791245,43.944557 -76.791243,43.944485 -76.791344,43.943562 -76.791365,43.943462 -76.791364,43.943398 -76.791485,43.942474 -76.791510,43.942366 -76.791509,43.942310 -76.791651,43.941385 -76.791678,43.941270 -76.791678,43.941220 -76.791841,43.940295 -76.791871,43.940172 -76.791872,43.940130 -76.792055,43.939205 -76.792088,43.939074 -76.792089,43.939040 -76.792293,43.938114 -76.792330,43.937976 -76.792331,43.937950 -76.792554,43.937024 -76.792592,43.936954 -76.792596,43.936860 -76.792840,43.935935 -76.792880,43.935861 -76.792885,43.935770 -76.793149,43.934846 -76.793193,43.934769 -76.793198,43.934682 -76.793483,43.933759 -76.793529,43.933679 -76.793535,43.933595 -76.793839,43.932674 -76.793888,43.932590 -76.793895,43.932510 -76.794219,43.931590 -76.794271,43.931503 -76.794279,43.931427 -76.794623,43.930509 -76.794678,43.930418 -76.794686,43.930346 -76.795049,43.929430 -76.795065,43.929404 -76.795116,43.929267 -76.795499,43.928354 -76.795520,43.928321 -76.795569,43.928192 -76.795972,43.927282 -76.795998,43.927241 -76.796045,43.927120 -76.796467,43.926213 -76.796498,43.926165 -76.796544,43.926051 -76.796986,43.925148 -76.797022,43.925093 -76.797066,43.924987 -76.797526,43.924087 -76.797568,43.924025 -76.797610,43.923927 -76.798089,43.923030 -76.798136,43.922962 -76.798176,43.922871 -76.798674,43.921979 -76.798727,43.921904 -76.798765,43.921821 -76.799281,43.920933 -76.799340,43.920851 -76.799375,43.920775 -76.799910,43.919892 -76.799975,43.919803 -76.800007,43.919736 -76.800561,43.918857 -76.800632,43.918762 -76.800661,43.918702 -76.801233,43.917829 -76.801310,43.917726 -76.801336,43.917674 -76.801926,43.916806 -76.802009,43.916698 -76.802032,43.916653 -76.802640,43.915791 -76.802730,43.915676 -76.802749,43.915638 -76.803375,43.914783 -76.803472,43.914661 -76.803487,43.914631 -76.804130,43.913782 -76.804195,43.913725 -76.804246,43.913631 -76.804906,43.912788 -76.804975,43.912729 -76.805024,43.912639 -76.805701,43.911803 -76.805775,43.911741 -76.805823,43.911655 -76.806517,43.910826 -76.806594,43.910762 -76.806642,43.910679 -76.807352,43.909858 -76.807434,43.909791 -76.807480,43.909712 -76.808206,43.908898 -76.808292,43.908829 -76.808337,43.908754 -76.809080,43.907948 -76.809170,43.907876 -76.809214,43.907805 -76.809972,43.907007 -76.810067,43.906933 -76.810109,43.906866 -76.810883,43.906076 -76.810913,43.906053 -76.811022,43.905936 -76.811812,43.905155 -76.811850,43.905126 -76.811954,43.905017 -76.812759,43.904244 -76.812805,43.904210 -76.812904,43.904108 -76.813724,43.903344 -76.813778,43.903304 -76.813871,43.903209 -76.814706,43.902455 -76.814768,43.902410 -76.814856,43.902322 -76.815705,43.901577 -76.815776,43.901526 -76.815858,43.901445 -76.816721,43.900710 -76.816800,43.900654 -76.816876,43.900580 -76.817754,43.899855 -76.817841,43.899794 -76.817911,43.899727 -76.818803,43.899012 -76.818898,43.898946 -76.818962,43.898886 -76.819867,43.898181 -76.819971,43.898111 -76.820029,43.898057 -76.820947,43.897362 -76.821060,43.897287 -76.821111,43.897240 -76.822042,43.896557 -76.822164,43.896477 -76.822209,43.896436 -76.823152,43.895764 -76.823283,43.895680 -76.823321,43.895645 -76.824277,43.894984 -76.824416,43.894895 -76.824448,43.894868 -76.825415,43.894218 -76.825497,43.894182 -76.825588,43.894103 -76.826568,43.893465 -76.826654,43.893428 -76.826743,43.893353 -76.827734,43.892727 -76.827825,43.892688 -76.827911,43.892616 -76.828913,43.892002 -76.829009,43.891962 -76.829092,43.891894 -76.830105,43.891292 -76.830206,43.891251 -76.830286,43.891186 -76.831309,43.890596 -76.831415,43.890554 -76.831492,43.890492 -76.832525,43.889915 -76.832636,43.889872 -76.832710,43.889813 -76.833753,43.889249 -76.833869,43.889205 -76.833940,43.889149 -76.834992,43.888598 -76.835113,43.888553 -76.835181,43.888501 -76.836243,43.887962 -76.836285,43.887947 -76.836432,43.887868 -76.837503,43.887342 -76.837555,43.887324 -76.837695,43.887250 -76.838774,43.886738 -76.838836,43.886716 -76.838967,43.886648 -76.840055,43.886150 -76.840126,43.886125 -76.840249,43.886062 -76.841345,43.885577 -76.841425,43.885550 -76.841540,43.885492 -76.842644,43.885021 -76.842734,43.884992 -76.842841,43.884939 -76.843951,43.884482 -76.844051,43.884450 -76.844149,43.884402 -76.845267,43.883959 -76.845377,43.883924 -76.845466,43.883882 -76.846590,43.883453 -76.846710,43.883416 -76.846791,43.883378 -76.847921,43.882964 -76.848051,43.882925 -76.848123,43.882891 -76.849259,43.882492 -76.849398,43.882451 -76.849462,43.882422 -76.850604,43.882037 -76.850753,43.881994 -76.850807,43.881969 -76.851954,43.881599 -76.852113,43.881555 -76.852159,43.881535 -76.853310,43.881179 -76.853479,43.881133 -76.853516,43.881117 -76.854672,43.880777 -76.854762,43.880766 -76.854878,43.880717 -76.856039,43.880392 -76.856134,43.880382 -76.856246,43.880335 -76.857410,43.880025 -76.857510,43.880015 -76.857617,43.879971 -76.858785,43.879676 -76.858890,43.879666 -76.858993,43.879625 -76.860164,43.879345 -76.860274,43.879336 -76.860373,43.879297 -76.861546,43.879033 -76.861660,43.879023 -76.861755,43.878987 -76.862931,43.878738 -76.863050,43.878730 -76.863141,43.878695 -76.864319,43.878462 -76.864442,43.878454 -76.864528,43.878422 -76.865708,43.878205 -76.865747,43.878202 -76.865918,43.878167 -76.867099,43.877966 -76.867148,43.877963 -76.867309,43.877931 -76.868491,43.877745 -76.868550,43.877742 -76.868702,43.877713 -76.869884,43.877543 -76.869953,43.877541 -76.870095,43.877514 -76.871277,43.877360 -76.871356,43.877358 -76.871488,43.877334 -76.872671,43.877196 -76.872758,43.877194 -76.872881,43.877173 -76.874063,43.877050 -76.874160,43.877049 -76.874273,43.877030 -76.875455,43.876924 -76.875562,43.876923 -76.875665,43.876906 -76.876845,43.876816 -76.876961,43.876816 -76.877055,43.876802 -76.878233,43.876727 -76.878359,43.876728 -76.878443,43.876716 -76.879619,43.876658 -76.879755,43.876659 -76.879829,43.876649 -76.881003,43.876607 -76.881148,43.876609 -76.881212,43.876601 -76.882383,43.876575 -76.882537,43.876579 -76.882592,43.876572 -76.883760,43.876562 -76.883924,43.876567 -76.883968,43.876562 -76.885133,43.876569 -76.885306,43.876575 -76.885340,43.876571 -76.886502,43.876594 -76.886587,43.876612 -76.886708,43.876600 -76.887866,43.876638 -76.887955,43.876658 -76.888072,43.876647 -76.889225,43.876702 -76.889318,43.876723 -76.889430,43.876713 -76.890578,43.876784 -76.890675,43.876807 -76.890782,43.876798 -76.891926,43.876885 -76.892026,43.876910 -76.892128,43.876902 -76.892408,43.876928 -76.892501,43.876892 -76.892723,43.876843 -76.893428,43.876789 -76.893625,43.876755 -76.893650,43.876748 -76.893661,43.876743 -76.893675,43.876741 -76.893685,43.876738 -76.893697,43.876737 -76.893791,43.876721 -76.893821,43.876709 -76.894179,43.876647 -76.894356,43.876579 -76.894937,43.876452 -76.895045,43.876444 -76.895134,43.876409 -76.895270,43.876380 -76.895818,43.876339 -76.896126,43.876279 -76.896348,43.876246 -76.896557,43.876237 -76.902031,43.875293 -76.903921,43.875092 -76.914497,43.874879 -76.914726,43.874910 -76.914956,43.874872 -76.915323,43.874837 -76.916396,43.874657 -76.918208,43.873788 -76.918774,43.873484 -76.918975,43.873385 -76.919258,43.873284 -76.922929,43.871523 -76.923051,43.871476 -76.925789,43.870628 -76.926762,43.870199 -76.926832,43.870177 -76.927072,43.870111 -76.927140,43.870081 -76.928027,43.869804 -76.928878,43.869570 -76.929352,43.869366 -76.931212,43.868821 -76.931862,43.868748 -76.932022,43.868704 -76.932537,43.868519 -76.933255,43.868456 -76.934508,43.867954 -76.937297,43.867498 -76.938113,43.867198 -76.938224,43.867178 -76.939537,43.867104 -76.940359,43.866954 -76.940458,43.866891 -76.940592,43.866776 -76.940677,43.866720 -76.940841,43.866651 -76.942854,43.865384 -76.942866,43.865379 -76.942979,43.865301 -76.943994,43.864894 -76.944589,43.864422 -76.944611,43.864411 -76.944738,43.864362 -76.944901,43.864234 -76.944968,43.864197 -76.945281,43.864079 -76.945575,43.863849 -76.947036,43.863079 -76.949620,43.862110 -76.953616,43.860295 -76.957842,43.858361 -76.957953,43.858323 -76.958452,43.858178 -76.958465,43.858172 -76.958979,43.858000 -76.961288,43.857337 -76.961400,43.857287 -76.961499,43.857254 -76.961549,43.857239 -76.961569,43.857231 -76.961572,43.857230 -76.962169,43.857060 -76.962695,43.856888 -76.963303,43.856717 -76.963340,43.856701 -76.963488,43.856663 -76.963497,43.856662 -76.964095,43.856493 -76.964401,43.856363 -76.964537,43.856325 -76.964789,43.856297 -76.965198,43.856182 -76.965204,43.856179 -76.965502,43.856093 -76.965520,43.856091 -76.967586,43.855508 -76.967632,43.855489 -76.967793,43.855451 -76.967861,43.855445 -76.967926,43.855419 -76.968430,43.855328 -76.968503,43.855299 -76.972568,43.854461 -76.972741,43.854431 -76.973210,43.854405 -76.974618,43.854132 -76.974706,43.854118 -76.974858,43.854112 -76.975207,43.854046 -76.975307,43.854032 -76.975807,43.854014 -76.975834,43.854009 -76.975960,43.853990 -76.976010,43.853982 -76.976012,43.853982 -76.976089,43.853971 -76.976870,43.853938 -76.977944,43.853764 -76.978459,43.853671 -76.979425,43.853164 -76.979646,43.853061 -76.979738,43.853029 -76.979929,43.852930 -76.980260,43.852781 -76.980403,43.852731 -76.981257,43.852293 -76.981404,43.852227 -76.982964,43.851698 -76.983771,43.851287 -76.983943,43.851212 -76.984392,43.851061 -76.985019,43.850751 -76.985203,43.850676 -76.985203,43.850676 -76.985203,43.850676 -76.985387,43.850601 -76.985387,43.850601 -76.985387,43.850601 -76.985571,43.850526 -76.985750,43.850468 -76.985931,43.850381 -76.986128,43.850306 -76.986128,43.850306 -76.986128,43.850306 -76.986447,43.850183 -76.986447,43.850183 -76.986447,43.850183 -76.986644,43.850108 -76.988062,43.849667 -76.988793,43.849335 -76.988856,43.849314 -76.989116,43.849193 -76.989762,43.848883 -76.989934,43.848817 -76.990577,43.848617 -76.991017,43.848409 -76.991300,43.848305 -76.992151,43.848048 -76.992806,43.847755 -76.992953,43.847708 -76.993213,43.847635 -76.994271,43.847157 -76.994357,43.847129 -77.001051,43.845221 -77.001369,43.845180 -77.003567,43.844765 -77.003662,43.844728 -77.003983,43.844659 -77.004063,43.844654 -77.004126,43.844629 -77.004312,43.844590 -77.004610,43.844568 -77.005193,43.844457 -77.005533,43.844329 -77.005681,43.844299 -77.006226,43.844262 -77.006228,43.844262 -77.006276,43.844243 -77.006474,43.844204 -77.006568,43.844198 -77.008933,43.843751 -77.009082,43.843730 -77.009171,43.843727 -77.009501,43.843660 -77.009687,43.843630 -77.009771,43.843626 -77.010013,43.843578 -77.010211,43.843547 -77.010214,43.843547 -77.010578,43.843478 -77.010670,43.843466 -77.010713,43.843459 -77.010725,43.843458 -77.010801,43.843447 -77.011138,43.843435 -77.011315,43.843403 -77.012281,43.843219 -77.012640,43.843167 -77.013076,43.843150 -77.013107,43.843147 -77.013141,43.843146 -77.013305,43.843116 -77.013478,43.843095 -77.013852,43.843085 -77.015555,43.842789 -77.015852,43.842756 -77.017393,43.842723 -77.017425,43.842718 -77.017791,43.842699 -77.018914,43.842482 -77.019124,43.842452 -77.019486,43.842437 -77.020607,43.842218 -77.021214,43.842126 -77.021230,43.842125 -77.021574,43.842078 -77.022021,43.842061 -77.022144,43.842041 -77.022224,43.842037 -77.022459,43.841990 -77.022905,43.841919 -77.023268,43.841902 -77.023660,43.841821 -77.024006,43.841761 -77.024276,43.841746 -77.024958,43.841614 -77.025231,43.841573 -77.025233,43.841573 -77.025899,43.841451 -77.026147,43.841419 -77.026199,43.841418 -77.026454,43.841378 -77.026512,43.841376 -77.026710,43.841338 -77.026933,43.841307 -77.027059,43.841303 -77.027311,43.841255 -77.027621,43.841214 -77.028179,43.841195 -77.029866,43.840894 -77.030139,43.840862 -77.031327,43.840832 -77.032551,43.840623 -77.032762,43.840601 -77.034010,43.840577 -77.035028,43.840422 -77.035214,43.840410 -77.035643,43.840410 -77.036257,43.840318 -77.036389,43.840311 -77.036720,43.840291 -77.037122,43.840292 -77.037306,43.840292 -77.037676,43.840239 -77.037719,43.840237 -77.037755,43.840218 -77.037782,43.840208 -77.038517,43.839840 -77.038522,43.839836 -77.038540,43.839820 -77.039787,43.838917 -77.041066,43.837683 -77.041085,43.837668 -77.043231,43.836188 -77.044251,43.835260 -77.044271,43.835246 -77.044876,43.834852 -77.044956,43.834780 -77.044977,43.834766 -77.045581,43.834376 -77.045824,43.834161 -77.045846,43.834147 -77.046409,43.833790 -77.047839,43.832318 -77.047848,43.832310 -77.050803,43.830139 -77.051196,43.829761 -77.051211,43.829749 -77.052826,43.828638 -77.055569,43.826200 -77.055584,43.826190 -77.059974,43.823400 -77.059986,43.823396 -77.059991,43.823392 -77.062712,43.821900 -77.062858,43.821785 -77.062874,43.821777 -77.063079,43.821699 -77.064155,43.821110 -77.064172,43.821101 -77.065273,43.820695 -77.068380,43.819109 -77.068396,43.819102 -77.068435,43.819089 -77.068445,43.819084 -77.068461,43.819077 -77.069477,43.818736 -77.070684,43.818142 -77.070700,43.818136 -77.072373,43.817601 -77.073560,43.817046 -77.073576,43.817041 -77.073576,43.817041 -77.073593,43.817035 -77.075710,43.816402 -77.076522,43.816041 -77.076539,43.816036 -77.082233,43.814449 -77.082245,43.814448 -77.082253,43.814445 -77.083857,43.814129 -77.084168,43.814009 -77.084188,43.814004 -77.084682,43.813967 -77.088936,43.813131 -77.088957,43.813128 -77.089612,43.813099 -77.091060,43.812835 -77.091081,43.812832 -77.092918,43.812776 -77.095271,43.810833 -77.098369,43.809586 -77.099854,43.808772 -77.099867,43.808765 -77.100507,43.808529 -77.101666,43.807894 -77.101687,43.807882 -77.101904,43.807803 -77.101967,43.807753 -77.101995,43.807739 -77.102088,43.807704 -77.102119,43.807680 -77.102143,43.807668 -77.102231,43.807635 -77.102591,43.807438 -77.102615,43.807425 -77.102844,43.807341 -77.103793,43.806835 -77.103827,43.806818 -77.104011,43.806752 -77.104362,43.806566 -77.104394,43.806551 -77.104483,43.806520 -77.104756,43.806376 -77.104781,43.806364 -77.105416,43.806141 -77.105702,43.805994 -77.105725,43.805983 -77.106105,43.805854 -77.107399,43.805203 -77.107411,43.805198 -77.107559,43.805149 -77.107738,43.805060 -77.107745,43.805057 -77.108037,43.804911 -77.108063,43.804900 -77.108867,43.804637 -77.109308,43.804422 -77.109324,43.804416 -77.109555,43.804343 -77.110078,43.804091 -77.110105,43.804080 -77.112629,43.803294 -77.113854,43.802740 -77.113883,43.802730 -77.114611,43.802522 -77.114859,43.802411 -77.114883,43.802404 -77.114925,43.802392 -77.114932,43.802389 -77.114956,43.802381 -77.115179,43.802318 -77.115247,43.802288 -77.115272,43.802281 -77.116566,43.801921 -77.116836,43.801804 -77.116861,43.801797 -77.116869,43.801796 -77.116885,43.801789 -77.116910,43.801782 -77.116927,43.801780 -77.116958,43.801766 -77.116983,43.801759 -77.117106,43.801745 -77.117168,43.801719 -77.117198,43.801710 -77.117404,43.801688 -77.118467,43.801392 -77.118790,43.801258 -77.118815,43.801251 -77.119066,43.801226 -77.119282,43.801166 -77.119562,43.801051 -77.119586,43.801045 -77.119785,43.801026 -77.120405,43.800853 -77.120505,43.800826 -77.120605,43.800793 -77.120611,43.800792 -77.120654,43.800775 -77.120679,43.800769 -77.120720,43.800765 -77.120851,43.800729 -77.120872,43.800727 -77.120900,43.800715 -77.123261,43.800265 -77.123629,43.800125 -77.123654,43.800120 -77.123672,43.800118 -77.123679,43.800116 -77.123704,43.800111 -77.124270,43.800072 -77.124763,43.799978 -77.127511,43.799441 -77.127536,43.799437 -77.127617,43.799433 -77.128133,43.799335 -77.128542,43.799125 -77.128567,43.799114 -77.128570,43.799113 -77.128571,43.799112 -77.128594,43.799102 -77.128631,43.799090 -77.128678,43.799066 -77.128699,43.799057 -77.128704,43.799055 -77.128720,43.799047 -77.128741,43.799037 -77.128826,43.799009 -77.128946,43.798948 -77.128974,43.798936 -77.128980,43.798934 -77.128992,43.798928 -77.129138,43.798880 -77.129349,43.798773 -77.129359,43.798769 -77.130051,43.798538 -77.130787,43.798175 -77.130809,43.798166 -77.130890,43.798140 -77.130893,43.798139 -77.131007,43.798103 -77.131008,43.798102 -77.131260,43.797979 -77.131287,43.797969 -77.133531,43.797258 -77.134841,43.796655 -77.134869,43.796646 -77.136091,43.796289 -77.136526,43.796095 -77.136554,43.796086 -77.136554,43.796086 -77.136582,43.796077 -77.136742,43.796032 -77.136825,43.795995 -77.136850,43.795987 -77.136850,43.795987 -77.136874,43.795979 -77.138030,43.795655 -77.138129,43.795611 -77.138156,43.795603 -77.140421,43.794983 -77.140780,43.794833 -77.140805,43.794826 -77.140820,43.794825 -77.140854,43.794811 -77.140879,43.794804 -77.141165,43.794775 -77.141393,43.794681 -77.141421,43.794673 -77.141430,43.794672 -77.141448,43.794665 -77.141476,43.794658 -77.141644,43.794641 -77.141652,43.794639 -77.141820,43.794570 -77.141850,43.794562 -77.141965,43.794551 -77.142408,43.794427 -77.142589,43.794366 -77.142672,43.794350 -77.142707,43.794343 -77.142774,43.794324 -77.142802,43.794322 -77.142826,43.794312 -77.143016,43.794272 -77.143088,43.794252 -77.143117,43.794250 -77.143144,43.794239 -77.143324,43.794203 -77.143344,43.794195 -77.143375,43.794187 -77.143419,43.794184 -77.143929,43.794081 -77.144336,43.793996 -77.144500,43.793932 -77.144531,43.793925 -77.144635,43.793917 -77.144763,43.793867 -77.144791,43.793860 -77.145040,43.793841 -77.145164,43.793794 -77.145197,43.793787 -77.145394,43.793773 -77.145593,43.793697 -77.145620,43.793691 -77.145873,43.793673 -77.147423,43.793349 -77.147441,43.793342 -77.147469,43.793337 -77.147483,43.793336 -77.147557,43.793321 -77.147585,43.793316 -77.147703,43.793309 -77.147725,43.793304 -77.147762,43.793298 -77.147809,43.793295 -77.147977,43.793261 -77.148007,43.793256 -77.148032,43.793254 -77.149121,43.793035 -77.149148,43.793031 -77.149779,43.793000 -77.150314,43.792894 -77.150339,43.792890 -77.151125,43.792855 -77.152831,43.792547 -77.152859,43.792544 -77.152922,43.792542 -77.152971,43.792534 -77.152999,43.792530 -77.153248,43.792523 -77.154028,43.792391 -77.154056,43.792388 -77.154343,43.792383 -77.154376,43.792378 -77.154404,43.792375 -77.154413,43.792375 -77.154432,43.792371 -77.154460,43.792369 -77.154460,43.792369 -77.154488,43.792366 -77.154504,43.792366 -77.154515,43.792364 -77.154543,43.792361 -77.154687,43.792358 -77.157742,43.791843 -77.157771,43.791840 -77.161547,43.791780 -77.163795,43.791488 -77.163824,43.791488 -77.165666,43.791532 -77.165987,43.791495 -77.166007,43.791495 -77.166257,43.791546 -77.167705,43.791581 -77.168110,43.791539 -77.168130,43.791540 -77.168389,43.791598 -77.169260,43.791619 -77.169499,43.791596 -77.169528,43.791598 -77.169655,43.791628 -77.170213,43.791641 -77.170226,43.791645 -77.170242,43.791643 -77.170385,43.791659 -77.170392,43.791658 -77.170409,43.791662 -77.176054,43.792284 -77.176083,43.792289 -77.176415,43.792385 -77.177328,43.792494 -77.177357,43.792499 -77.178646,43.792886 -77.180951,43.793227 -77.180980,43.793234 -77.184034,43.794256 -77.186168,43.794662 -77.186181,43.794666 -77.188169,43.795434 -77.188607,43.795527 -77.188629,43.795535 -77.188892,43.795713 -77.189312,43.795875 -77.189749,43.795972 -77.189770,43.795981 -77.190000,43.796141 -77.190204,43.796219 -77.190424,43.796269 -77.190437,43.796274 -77.190546,43.796352 -77.191583,43.796752 -77.191594,43.796755 -77.191614,43.796764 -77.191650,43.796789 -77.191697,43.796801 -77.191857,43.796886 -77.191859,43.796887 -77.191859,43.796887 -77.191885,43.796898 -77.191897,43.796907 -77.191915,43.796917 -77.191938,43.796922 -77.192049,43.796978 -77.192077,43.796985 -77.192100,43.796995 -77.192135,43.797021 -77.192552,43.797230 -77.192670,43.797259 -77.192695,43.797271 -77.192720,43.797289 -77.192759,43.797299 -77.192771,43.797305 -77.192914,43.797411 -77.193136,43.797522 -77.193313,43.797567 -77.193335,43.797578 -77.193335,43.797578 -77.193342,43.797582 -77.193361,43.797587 -77.193373,43.797592 -77.193562,43.797735 -77.193894,43.797901 -77.194083,43.797952 -77.194096,43.797958 -77.194257,43.798083 -77.194372,43.798141 -77.194532,43.798184 -77.194553,43.798195 -77.194610,43.798239 -77.194660,43.798253 -77.194672,43.798259 -77.194783,43.798347 -77.195844,43.798878 -77.195858,43.798886 -77.195954,43.798962 -77.196363,43.799170 -77.196377,43.799178 -77.196766,43.799495 -77.197694,43.799989 -77.197707,43.799997 -77.198081,43.800314 -77.198874,43.800750 -77.198887,43.800759 -77.199606,43.801391 -77.200274,43.801760 -77.200293,43.801773 -77.200394,43.801862 -77.200419,43.801876 -77.200439,43.801889 -77.200465,43.801913 -77.200656,43.802020 -77.200675,43.802033 -77.200865,43.802202 -77.200867,43.802204 -77.201091,43.802401 -77.201471,43.802620 -77.201489,43.802634 -77.201498,43.802642 -77.201540,43.802666 -77.201559,43.802679 -77.201559,43.802679 -77.201577,43.802692 -77.201676,43.802781 -77.201803,43.802854 -77.201823,43.802869 -77.201940,43.802976 -77.202033,43.803030 -77.202054,43.803044 -77.202104,43.803091 -77.202516,43.803329 -77.202535,43.803342 -77.202661,43.803458 -77.202810,43.803545 -77.202830,43.803560 -77.202863,43.803590 -77.202900,43.803612 -77.202919,43.803626 -77.203173,43.803862 -77.203440,43.804021 -77.203460,43.804036 -77.204012,43.804557 -77.204472,43.804838 -77.204491,43.804854 -77.205270,43.805613 -77.205722,43.805900 -77.205740,43.805916 -77.208184,43.808393 -77.208433,43.808567 -77.209310,43.817742 -77.206992,43.827240 -77.202948,43.837431 -77.196982,43.848798 -77.185741,43.860645 -77.175753,43.867498 -77.175367,43.867515 -77.170473,43.864991 -77.167153,43.863201 -77.166158,43.861307 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-77.754465,43.969929 -77.657584,44.041016</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-77.735195,43.994057 -77.748643,44.005553 -77.750415,44.011005 -77.748546,44.014083 -77.744133,44.016074 -77.740255,44.017269 -77.737205,44.016831 -77.732060,44.018321 -77.730433,44.020691 -77.727290,44.024685 -77.722586,44.028107 -77.720049,44.031452 -77.716300,44.033781 -77.711247,44.035335 -77.704111,44.035827 -77.695542,44.036801 -77.689939,44.037473 -77.685373,44.038224 -77.682487,44.039698 -77.680207,44.040524 -77.676625,44.040574 -77.671702,44.040867 -77.668616,44.041016 -77.668451,44.040982 -77.663216,44.040698 -77.658186,44.039427 -77.657584,44.037763 -77.659526,44.035970 -77.663589,44.034220 -77.669216,44.030728 -77.672783,44.028877 -77.677129,44.027311 -77.681079,44.026308 -77.685067,44.024285 -77.687634,44.021333 -77.687445,44.018597 -77.685237,44.016482 -77.684138,44.014718 -77.681051,44.011655 -77.678129,44.008625 -77.674988,44.004780 -77.673123,44.001320 -77.672978,44.000631 -77.671209,43.999018 -77.671068,43.996440 -77.672879,43.994996 -77.679512,43.993456 -77.683736,43.992252 -77.689623,43.989985 -77.697306,43.988079 -77.705106,43.985868 -77.710160,43.986639 -77.716986,43.988423 -77.722440,43.988452 -77.727819,43.986903 -77.731444,43.984590 -77.735339,43.980687 -77.738170,43.977475 -77.740908,43.972436 -77.744020,43.970267 -77.748474,43.969929 -77.751872,43.970858 -77.754166,43.972880 -77.754465,43.975652 -77.752175,43.978644 -77.749703,43.980038 -77.748458,43.982090 -77.748492,43.984069 -77.747230,43.985870 -77.735195,43.994057 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-81.504367,45.116738 -81.254496,45.272680</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-81.328603,45.197443 -81.331201,45.199173 -81.333304,45.201490 -81.334967,45.202190 -81.337984,45.201548 -81.337142,45.199204 -81.334402,45.195903 -81.366866,45.180980 -81.386384,45.172472 -81.389957,45.176120 -81.429998,45.158805 -81.431691,45.163491 -81.431851,45.167056 -81.435541,45.168285 -81.445167,45.177727 -81.451008,45.182161 -81.454353,45.185550 -81.463169,45.188447 -81.468236,45.187229 -81.474264,45.185937 -81.483023,45.185946 -81.488640,45.187024 -81.489895,45.190092 -81.484822,45.194408 -81.473550,45.199549 -81.477173,45.204085 -81.484064,45.210227 -81.495910,45.220664 -81.504367,45.226821 -81.503594,45.229359 -81.497731,45.231122 -81.493752,45.231844 -81.491698,45.232417 -81.488018,45.233184 -81.486070,45.234436 -81.488077,45.236070 -81.497233,45.234809 -81.502064,45.236430 -81.503192,45.239922 -81.502295,45.240628 -81.495010,45.264506 -81.489058,45.263280 -81.485604,45.262754 -81.481718,45.262162 -81.479407,45.260852 -81.469909,45.259404 -81.460902,45.259306 -81.447822,45.259224 -81.436470,45.259403 -81.422923,45.260841 -81.413936,45.263615 -81.407445,45.267089 -81.398924,45.268336 -81.389296,45.268775 -81.385843,45.268245 -81.382389,45.267714 -81.377078,45.268814 -81.373718,45.267979 -81.369064,45.266945 -81.362645,45.267235 -81.358385,45.267857 -81.347611,45.269072 -81.339237,45.271295 -81.327504,45.272680 -81.319547,45.272091 -81.313747,45.271835 -81.302715,45.269493 -81.290537,45.267931 -81.277201,45.264271 -81.267603,45.260230 -81.260826,45.254390 -81.258269,45.249523 -81.255219,45.240428 -81.256481,45.232002 -81.257122,45.224119 -81.258152,45.217893 -81.260422,45.210582 -81.264550,45.201644 -81.267680,45.194467 -81.273204,45.188300 -81.277594,45.185788 -81.284757,45.183067 -81.296711,45.172151 -81.297747,45.168800 -81.297681,45.164640 -81.289205,45.161413 -81.277192,45.157955 -81.262871,45.150307 -81.254569,45.140719 -81.254496,45.133685 -81.256195,45.128204 -81.257528,45.126816 -81.282281,45.118212 -81.291301,45.116738 -81.302914,45.118537 -81.315348,45.122058 -81.322245,45.125996 -81.327423,45.129669 -81.334002,45.136110 -81.338149,45.143132 -81.336702,45.149290 -81.335629,45.154231 -81.336373,45.159132 -81.337774,45.161902 -81.339622,45.167612 -81.336843,45.175161 -81.334047,45.179836 -81.332261,45.185625 -81.329840,45.189081 -81.325116,45.191224 -81.323287,45.193007 -81.328603,45.197443 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-82.574493,41.891646 -82.476989,42.005568</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-82.496522,42.003642 -82.496018,42.003642 -82.493640,42.003086 -82.489283,42.001673 -82.487450,42.000926 -82.485582,41.999768 -82.482274,41.997238 -82.480919,41.995991 -82.479797,41.994404 -82.478040,41.991144 -82.477420,41.989589 -82.477257,41.988774 -82.477055,41.987292 -82.477070,41.987067 -82.476997,41.986561 -82.476989,41.986219 -82.477066,41.985579 -82.477043,41.985222 -82.477291,41.983329 -82.477395,41.982807 -82.477464,41.982317 -82.477587,41.982095 -82.477620,41.981927 -82.477626,41.981795 -82.477673,41.981661 -82.477721,41.981422 -82.477725,41.981412 -82.477727,41.981392 -82.477730,41.981373 -82.477732,41.981362 -82.477742,41.981308 -82.477758,41.981217 -82.477750,41.981125 -82.477759,41.981008 -82.477851,41.980475 -82.477846,41.980346 -82.477928,41.979902 -82.477921,41.979749 -82.477953,41.979568 -82.478012,41.979452 -82.478006,41.979286 -82.478024,41.979198 -82.478042,41.979100 -82.478087,41.979013 -82.478104,41.978866 -82.478131,41.978817 -82.478131,41.978764 -82.478155,41.978662 -82.478155,41.978607 -82.478186,41.978528 -82.478187,41.978521 -82.478191,41.978515 -82.478224,41.978431 -82.478232,41.978359 -82.478232,41.978359 -82.478229,41.978233 -82.478267,41.977923 -82.478264,41.977905 -82.478262,41.977885 -82.478269,41.977819 -82.478256,41.977614 -82.478287,41.977371 -82.478291,41.977353 -82.478283,41.977235 -82.478301,41.977096 -82.478282,41.976867 -82.478283,41.976864 -82.478304,41.976746 -82.478293,41.976605 -82.478332,41.976218 -82.478341,41.976172 -82.478339,41.976153 -82.478356,41.975990 -82.478365,41.975890 -82.478457,41.975372 -82.478453,41.975256 -82.478535,41.974817 -82.478529,41.974677 -82.478551,41.974560 -82.478608,41.974448 -82.478607,41.974432 -82.478629,41.974318 -82.478648,41.974149 -82.478666,41.974116 -82.478669,41.974100 -82.478669,41.974032 -82.478767,41.973783 -82.478805,41.973517 -82.478805,41.973483 -82.478812,41.973465 -82.478826,41.973365 -82.478913,41.973210 -82.478913,41.973199 -82.478918,41.973174 -82.478918,41.973081 -82.478935,41.973038 -82.478942,41.972994 -82.478934,41.972919 -82.478952,41.972621 -82.479043,41.972054 -82.479036,41.971889 -82.479068,41.971700 -82.478996,41.971197 -82.478993,41.971053 -82.479069,41.970421 -82.479070,41.970412 -82.479047,41.970056 -82.479048,41.970049 -82.479024,41.969802 -82.479033,41.969676 -82.479125,41.969130 -82.479119,41.968990 -82.479163,41.968749 -82.479155,41.968605 -82.479176,41.968470 -82.479256,41.968093 -82.479255,41.968052 -82.479272,41.967972 -82.479272,41.967965 -82.479283,41.967852 -82.479260,41.967605 -82.479270,41.967487 -82.479283,41.967414 -82.479279,41.967376 -82.479289,41.967268 -82.479359,41.966873 -82.479357,41.966826 -82.479363,41.966791 -82.479377,41.966764 -82.479376,41.966744 -82.479379,41.966714 -82.479376,41.966634 -82.479406,41.966476 -82.479416,41.966381 -82.479415,41.966310 -82.479479,41.965777 -82.479461,41.965395 -82.479470,41.965340 -82.479468,41.965313 -82.479569,41.964547 -82.479591,41.964436 -82.479598,41.964369 -82.479576,41.963937 -82.479607,41.963738 -82.479684,41.963583 -82.479689,41.963540 -82.479685,41.963333 -82.479836,41.962657 -82.479829,41.962581 -82.479862,41.962199 -82.479816,41.961741 -82.479840,41.961449 -82.479833,41.961366 -82.479843,41.961266 -82.479790,41.960780 -82.479806,41.960438 -82.479843,41.960205 -82.479830,41.960063 -82.479848,41.959820 -82.479940,41.959281 -82.479935,41.959146 -82.480000,41.958785 -82.479993,41.958633 -82.480025,41.958443 -82.480095,41.958302 -82.480102,41.958238 -82.480099,41.958066 -82.480164,41.957782 -82.480212,41.957531 -82.480212,41.957516 -82.480226,41.957420 -82.480219,41.957291 -82.480274,41.956948 -82.480252,41.956624 -82.480258,41.956574 -82.480265,41.956540 -82.480264,41.956528 -82.480274,41.956447 -82.480297,41.956251 -82.480299,41.956243 -82.480294,41.956189 -82.480313,41.955964 -82.480355,41.955724 -82.480347,41.955617 -82.480351,41.955579 -82.480359,41.955534 -82.480358,41.955515 -82.480386,41.955256 -82.480388,41.955246 -82.480374,41.955071 -82.480394,41.954873 -82.480406,41.954808 -82.480406,41.954796 -82.480409,41.954734 -82.480416,41.954576 -82.480480,41.954163 -82.480460,41.953932 -82.480480,41.953724 -82.480514,41.953532 -82.480509,41.953479 -82.480510,41.953477 -82.480509,41.953474 -82.480512,41.953442 -82.480516,41.953390 -82.480517,41.953381 -82.480517,41.953375 -82.480526,41.953296 -82.480515,41.953168 -82.480512,41.953141 -82.480512,41.953137 -82.480506,41.953070 -82.480515,41.952953 -82.480599,41.952465 -82.480581,41.952308 -82.480587,41.952087 -82.480594,41.951856 -82.480661,41.951394 -82.480635,41.951105 -82.480654,41.950880 -82.480709,41.950566 -82.480692,41.950388 -82.480709,41.950168 -82.480716,41.950064 -82.480795,41.949600 -82.480792,41.949558 -82.480805,41.949426 -82.480803,41.949379 -82.480863,41.949041 -82.480872,41.949024 -82.480885,41.948945 -82.480879,41.948895 -82.480887,41.948746 -82.480945,41.948372 -82.480930,41.948155 -82.480930,41.948155 -82.480931,41.948152 -82.480930,41.948137 -82.480930,41.948137 -82.480931,41.948133 -82.480929,41.948110 -82.480929,41.948110 -82.480931,41.948103 -82.480928,41.948065 -82.480966,41.947775 -82.480955,41.947659 -82.480964,41.947523 -82.481000,41.947305 -82.480984,41.947116 -82.480986,41.947087 -82.480985,41.947025 -82.481005,41.946857 -82.481003,41.946782 -82.481003,41.946782 -82.481003,41.946781 -82.481000,41.946655 -82.481029,41.946422 -82.481028,41.946409 -82.481050,41.946206 -82.481038,41.946028 -82.481059,41.945871 -82.481062,41.945857 -82.481057,41.945785 -82.481057,41.945785 -82.481061,41.945764 -82.481054,41.945658 -82.481084,41.945427 -82.481105,41.945320 -82.481094,41.945215 -82.481098,41.945140 -82.481100,41.945129 -82.481098,41.945100 -82.481119,41.944965 -82.481145,41.944840 -82.481147,41.944831 -82.481145,41.944802 -82.481161,41.944711 -82.481160,41.944708 -82.481157,41.944546 -82.481234,41.943906 -82.481232,41.943880 -82.481196,41.943627 -82.481195,41.943591 -82.481272,41.942951 -82.481248,41.942594 -82.481370,41.941662 -82.481363,41.941621 -82.481347,41.941450 -82.481359,41.941313 -82.481351,41.941258 -82.481357,41.941168 -82.481313,41.940860 -82.481309,41.940698 -82.481313,41.940666 -82.481293,41.940527 -82.481290,41.940410 -82.481301,41.940323 -82.481300,41.940320 -82.481298,41.940203 -82.481311,41.940091 -82.481306,41.940059 -82.481303,41.939915 -82.481351,41.939518 -82.481344,41.939413 -82.481347,41.939391 -82.481318,41.939107 -82.481319,41.939097 -82.481312,41.939037 -82.481320,41.938857 -82.481334,41.938765 -82.481328,41.938703 -82.481336,41.938550 -82.481378,41.938288 -82.481362,41.938124 -82.481369,41.938024 -82.481401,41.937828 -82.481393,41.937725 -82.481413,41.937545 -82.481452,41.937337 -82.481427,41.937041 -82.481431,41.936988 -82.481434,41.936958 -82.481425,41.936870 -82.481434,41.936743 -82.481492,41.936404 -82.481480,41.936247 -82.481500,41.936067 -82.481524,41.935936 -82.481502,41.935643 -82.481512,41.935553 -82.481573,41.935228 -82.481567,41.935122 -82.481577,41.935050 -82.481660,41.934647 -82.481659,41.934597 -82.481712,41.934348 -82.481702,41.934158 -82.481723,41.934023 -82.481802,41.933646 -82.481802,41.933605 -82.481872,41.933287 -82.481866,41.933156 -82.481876,41.933093 -82.481942,41.932962 -82.481926,41.932633 -82.481937,41.932570 -82.482015,41.932413 -82.482011,41.932193 -82.482175,41.931475 -82.482218,41.931244 -82.482244,41.931192 -82.482244,41.931190 -82.482287,41.931072 -82.482330,41.930851 -82.482331,41.930747 -82.482331,41.930745 -82.482331,41.930714 -82.482364,41.930579 -82.482367,41.930573 -82.482367,41.930572 -82.482386,41.930538 -82.482396,41.930520 -82.482400,41.930485 -82.482400,41.930436 -82.482410,41.930413 -82.482443,41.930160 -82.482447,41.930099 -82.482464,41.929996 -82.482467,41.929977 -82.482470,41.929962 -82.482463,41.929888 -82.482483,41.929653 -82.482502,41.929391 -82.482518,41.929148 -82.482610,41.928593 -82.482603,41.928442 -82.482668,41.928073 -82.482666,41.928044 -82.482675,41.927971 -82.482713,41.927772 -82.482708,41.927698 -82.482739,41.927463 -82.482824,41.927031 -82.482823,41.926969 -82.482906,41.926569 -82.482932,41.926418 -82.482934,41.926413 -82.482919,41.926307 -82.482918,41.926258 -82.482918,41.926258 -82.482918,41.926258 -82.482917,41.926246 -82.482915,41.926228 -82.482916,41.926179 -82.482914,41.926095 -82.482918,41.926064 -82.482918,41.926051 -82.482927,41.925986 -82.482955,41.925755 -82.482916,41.925420 -82.482922,41.925186 -82.482987,41.924747 -82.482966,41.924539 -82.482975,41.924404 -82.483045,41.923981 -82.483034,41.923809 -82.483055,41.923655 -82.483087,41.923493 -82.483081,41.923394 -82.483092,41.923322 -82.483174,41.922919 -82.483173,41.922869 -82.483227,41.922618 -82.483249,41.922448 -82.483234,41.922294 -82.483242,41.922150 -82.483254,41.922079 -82.483250,41.922037 -82.483268,41.921775 -82.483332,41.921390 -82.483321,41.921249 -82.483330,41.921150 -82.483340,41.921100 -82.483348,41.920996 -82.483374,41.920847 -82.483371,41.920805 -82.483385,41.920708 -82.483406,41.920608 -82.483402,41.920554 -82.483405,41.920535 -82.483436,41.920377 -82.483434,41.920336 -82.483451,41.920244 -82.483462,41.920222 -82.483461,41.920190 -82.483539,41.919763 -82.483544,41.919719 -82.483516,41.919254 -82.483527,41.919182 -82.483609,41.918779 -82.483608,41.918729 -82.483798,41.917845 -82.483841,41.917764 -82.483869,41.917562 -82.483818,41.917203 -82.483815,41.917086 -82.483888,41.916484 -82.483881,41.916440 -82.483876,41.916361 -82.483882,41.916296 -82.483869,41.916090 -82.483898,41.915867 -82.483878,41.915663 -82.483885,41.915567 -82.483926,41.915324 -82.483914,41.915146 -82.483924,41.915065 -82.483990,41.914731 -82.483984,41.914644 -82.483987,41.914623 -82.483988,41.914615 -82.483988,41.914610 -82.484000,41.914525 -82.484004,41.914504 -82.484004,41.914498 -82.484009,41.914465 -82.484073,41.914153 -82.484071,41.914110 -82.484073,41.914104 -82.484089,41.914073 -82.484091,41.914063 -82.484090,41.914012 -82.484130,41.913825 -82.484260,41.913196 -82.484257,41.913158 -82.484285,41.912843 -82.484296,41.912781 -82.484294,41.912752 -82.484323,41.912455 -82.484395,41.912058 -82.484390,41.911996 -82.484397,41.911902 -82.484395,41.911866 -82.484433,41.911599 -82.484489,41.911324 -82.484485,41.911209 -82.484557,41.910809 -82.484554,41.910747 -82.484555,41.910740 -82.484588,41.910584 -82.484583,41.910467 -82.484637,41.910178 -82.484645,41.910161 -82.484659,41.910076 -82.484720,41.909785 -82.484716,41.909709 -82.484726,41.909648 -82.484733,41.909615 -82.484731,41.909540 -82.484759,41.909412 -82.484754,41.909284 -82.484774,41.909179 -82.484774,41.909179 -82.484794,41.909066 -82.484794,41.909066 -82.484794,41.909066 -82.484797,41.909052 -82.484803,41.909012 -82.484810,41.908978 -82.484811,41.908969 -82.484812,41.908969 -82.484883,41.908626 -82.484882,41.908582 -82.484980,41.908134 -82.484998,41.908100 -82.484997,41.907997 -82.485040,41.907807 -82.485050,41.907789 -82.485052,41.907776 -82.485064,41.907754 -82.485072,41.907717 -82.485095,41.907672 -82.485095,41.907586 -82.485144,41.907467 -82.485144,41.907421 -82.485178,41.907339 -82.485199,41.907193 -82.485245,41.907110 -82.485246,41.907024 -82.485302,41.906835 -82.485356,41.906740 -82.485363,41.906689 -82.485383,41.906653 -82.485396,41.906575 -82.485431,41.906512 -82.485431,41.906472 -82.485439,41.906453 -82.485439,41.906425 -82.485471,41.906323 -82.485490,41.906290 -82.485491,41.906259 -82.485507,41.906208 -82.485578,41.906086 -82.485582,41.905984 -82.485602,41.905931 -82.485623,41.905896 -82.485624,41.905869 -82.485662,41.905766 -82.485663,41.905764 -82.485786,41.905410 -82.485819,41.905356 -82.485918,41.905060 -82.486020,41.904811 -82.486065,41.904698 -82.486213,41.904462 -82.486300,41.904219 -82.486930,41.902842 -82.486975,41.902774 -82.486977,41.902769 -82.486977,41.902769 -82.487225,41.902394 -82.487447,41.901897 -82.487493,41.901824 -82.487493,41.901824 -82.487493,41.901824 -82.487540,41.901752 -82.487893,41.901288 -82.487942,41.901191 -82.487942,41.901191 -82.487959,41.901178 -82.487989,41.901119 -82.488966,41.899869 -82.489037,41.899813 -82.489045,41.899798 -82.489060,41.899778 -82.489209,41.899660 -82.489342,41.899420 -82.490038,41.898721 -82.490073,41.898689 -82.490132,41.898630 -82.491314,41.897559 -82.491531,41.897412 -82.491923,41.897049 -82.491935,41.897040 -82.492639,41.896600 -82.492965,41.896333 -82.495172,41.894992 -82.496054,41.894505 -82.498350,41.893617 -82.502745,41.892356 -82.504651,41.891944 -82.505827,41.891816 -82.507695,41.891684 -82.507710,41.891684 -82.507717,41.891684 -82.507717,41.891684 -82.507993,41.891694 -82.508588,41.891647 -82.508613,41.891646 -82.508613,41.891646 -82.508613,41.891646 -82.508625,41.891646 -82.509507,41.891705 -82.509979,41.891688 -82.509979,41.891688 -82.509980,41.891688 -82.509990,41.891688 -82.512854,41.891902 -82.513968,41.892026 -82.516341,41.892581 -82.520691,41.893993 -82.522520,41.894739 -82.524384,41.895895 -82.527690,41.898423 -82.529043,41.899669 -82.529276,41.899998 -82.529851,41.900740 -82.530270,41.901373 -82.530348,41.901472 -82.530373,41.901507 -82.530440,41.901650 -82.530530,41.901766 -82.531081,41.902598 -82.531296,41.903069 -82.531625,41.903560 -82.531638,41.903587 -82.531825,41.904097 -82.531903,41.904225 -82.531991,41.904467 -82.532037,41.904540 -82.532062,41.904603 -82.532199,41.905007 -82.532233,41.905065 -82.532323,41.905339 -82.532330,41.905350 -82.532338,41.905372 -82.532418,41.905615 -82.532447,41.905663 -82.532473,41.905744 -82.532473,41.905764 -82.532485,41.905784 -82.532546,41.905975 -82.532563,41.906004 -82.532589,41.906085 -82.532590,41.906127 -82.532633,41.906194 -82.532655,41.906251 -82.532669,41.906291 -82.532676,41.906304 -82.532715,41.906411 -82.532716,41.906434 -82.532726,41.906465 -82.532784,41.906557 -82.532861,41.906745 -82.532894,41.906841 -82.532911,41.906869 -82.532976,41.907030 -82.533103,41.907413 -82.533131,41.907463 -82.533359,41.908165 -82.533361,41.908251 -82.533366,41.908261 -82.533420,41.908355 -82.533421,41.908356 -82.533422,41.908400 -82.533441,41.908446 -82.533468,41.908495 -82.533508,41.908639 -82.533508,41.908668 -82.533523,41.908695 -82.533533,41.908777 -82.533593,41.908965 -82.533595,41.909061 -82.533668,41.909243 -82.533681,41.909268 -82.533683,41.909282 -82.533688,41.909293 -82.533688,41.909320 -82.533693,41.909365 -82.533718,41.909410 -82.533798,41.909733 -82.533797,41.909812 -82.533832,41.909903 -82.533832,41.909988 -82.533860,41.910038 -82.533879,41.910210 -82.533926,41.910299 -82.533953,41.910434 -82.533950,41.910513 -82.533978,41.910584 -82.533978,41.910586 -82.533990,41.910616 -82.533990,41.910720 -82.534019,41.910773 -82.534024,41.910816 -82.534033,41.910839 -82.534033,41.910859 -82.534054,41.910900 -82.534058,41.910917 -82.534056,41.910985 -82.534084,41.911037 -82.534095,41.911089 -82.534095,41.911108 -82.534128,41.911237 -82.534241,41.911649 -82.534241,41.911668 -82.534251,41.911686 -82.534254,41.911709 -82.534264,41.911734 -82.534264,41.911739 -82.534266,41.911744 -82.534345,41.912039 -82.534435,41.912370 -82.534435,41.912393 -82.534447,41.912414 -82.534458,41.912498 -82.534490,41.912579 -82.534490,41.912606 -82.534507,41.912659 -82.534534,41.912704 -82.534612,41.912919 -82.534615,41.912992 -82.534660,41.913130 -82.534660,41.913148 -82.534689,41.913216 -82.534701,41.913237 -82.534766,41.913442 -82.534788,41.913480 -82.534796,41.913535 -82.534826,41.913632 -82.534828,41.913707 -82.534959,41.914029 -82.534963,41.914037 -82.534990,41.914136 -82.534990,41.914141 -82.534992,41.914145 -82.535007,41.914265 -82.535033,41.914329 -82.535109,41.914709 -82.535126,41.914753 -82.535126,41.914792 -82.535131,41.914819 -82.535140,41.914834 -82.535146,41.914890 -82.535197,41.915144 -82.535212,41.915254 -82.535255,41.915339 -82.535269,41.915419 -82.535260,41.915612 -82.535302,41.915742 -82.535323,41.915779 -82.535544,41.916478 -82.535546,41.916558 -82.535548,41.916562 -82.535568,41.916596 -82.535574,41.916613 -82.535575,41.916629 -82.535594,41.916678 -82.535610,41.916703 -82.535636,41.916781 -82.535641,41.916794 -82.535641,41.916796 -82.535806,41.917284 -82.535809,41.917351 -82.535905,41.917516 -82.536017,41.917871 -82.536052,41.917929 -82.536104,41.918082 -82.536106,41.918142 -82.536147,41.918212 -82.536212,41.918409 -82.536214,41.918479 -82.536218,41.918489 -82.536238,41.918526 -82.536241,41.918546 -82.536261,41.918592 -82.536261,41.918672 -82.536326,41.918789 -82.536336,41.918862 -82.536358,41.918931 -82.536360,41.918999 -82.536406,41.919109 -82.536406,41.919115 -82.536461,41.919209 -82.536514,41.919371 -82.536515,41.919438 -82.536561,41.919549 -82.536562,41.919591 -82.536598,41.919657 -82.536613,41.919708 -82.536614,41.919710 -82.536614,41.919714 -82.536615,41.919717 -82.536626,41.919736 -82.536677,41.919911 -82.536704,41.919957 -82.536756,41.920128 -82.536757,41.920160 -82.536774,41.920202 -82.536774,41.920216 -82.536806,41.920270 -82.536932,41.920652 -82.536965,41.920728 -82.536985,41.920787 -82.537007,41.920823 -82.537052,41.920962 -82.537087,41.921017 -82.537164,41.921205 -82.537267,41.921512 -82.537289,41.921546 -82.537340,41.921662 -82.537501,41.922120 -82.537553,41.922207 -82.537645,41.922475 -82.537702,41.922568 -82.537741,41.922676 -82.537747,41.922809 -82.537778,41.922862 -82.537839,41.923040 -82.537878,41.923130 -82.537878,41.923167 -82.537916,41.923237 -82.537936,41.923367 -82.538007,41.923492 -82.538086,41.923761 -82.538087,41.923841 -82.538130,41.923919 -82.538149,41.924063 -82.538201,41.924152 -82.538237,41.924265 -82.538238,41.924284 -82.538247,41.924309 -82.538260,41.924331 -82.538280,41.924395 -82.538288,41.924415 -82.538384,41.924702 -82.538393,41.924718 -82.538413,41.924783 -82.538445,41.924834 -82.538465,41.924883 -82.538469,41.924891 -82.538485,41.924935 -82.538507,41.924990 -82.538513,41.925008 -82.538519,41.925017 -82.538540,41.925067 -82.538542,41.925074 -82.538544,41.925077 -82.538557,41.925106 -82.538557,41.925106 -82.538557,41.925106 -82.538557,41.925106 -82.538595,41.925196 -82.538676,41.925428 -82.538696,41.925461 -82.538697,41.925465 -82.538697,41.925467 -82.538752,41.925552 -82.538803,41.925678 -82.538938,41.926079 -82.538982,41.926150 -82.539046,41.926320 -82.539049,41.926369 -82.539057,41.926394 -82.539058,41.926422 -82.539124,41.926530 -82.539175,41.926671 -82.539181,41.926688 -82.539187,41.926704 -82.539203,41.926749 -82.539203,41.926755 -82.539280,41.926989 -82.539317,41.927050 -82.539356,41.927157 -82.539358,41.927193 -82.539376,41.927249 -82.539376,41.927282 -82.539378,41.927288 -82.539380,41.927290 -82.539456,41.927442 -82.539662,41.927985 -82.539764,41.928151 -82.540027,41.928855 -82.540031,41.928932 -82.540205,41.929221 -82.540269,41.929409 -82.540271,41.929466 -82.540311,41.929560 -82.540368,41.929693 -82.540383,41.929735 -82.540392,41.929751 -82.540495,41.929993 -82.540604,41.930310 -82.540660,41.930400 -82.540698,41.930498 -82.540752,41.930625 -82.540842,41.930885 -82.540882,41.930968 -82.540932,41.931105 -82.540966,41.931158 -82.540994,41.931232 -82.540999,41.931246 -82.541001,41.931250 -82.541004,41.931257 -82.541046,41.931386 -82.541063,41.931413 -82.541068,41.931428 -82.541069,41.931434 -82.541073,41.931441 -82.541085,41.931475 -82.541087,41.931506 -82.541148,41.931607 -82.541150,41.931614 -82.541203,41.931698 -82.541255,41.931823 -82.541370,41.932164 -82.541409,41.932226 -82.541461,41.932352 -82.541551,41.932621 -82.541586,41.932675 -82.541613,41.932742 -82.541614,41.932744 -82.541618,41.932753 -82.541640,41.932809 -82.541642,41.932813 -82.541676,41.932885 -82.541782,41.933172 -82.541783,41.933174 -82.541824,41.933282 -82.541824,41.933286 -82.541864,41.933395 -82.541942,41.933523 -82.541990,41.933658 -82.542037,41.933731 -82.542088,41.933856 -82.542138,41.934004 -82.542155,41.934042 -82.542244,41.934295 -82.542259,41.934319 -82.542267,41.934344 -82.542341,41.934458 -82.542379,41.934548 -82.542419,41.934665 -82.542454,41.934729 -82.542561,41.934995 -82.542694,41.935189 -82.542770,41.935341 -82.542911,41.935710 -82.543035,41.935898 -82.543094,41.936031 -82.543116,41.936063 -82.543152,41.936140 -82.543157,41.936154 -82.543162,41.936161 -82.543179,41.936197 -82.543215,41.936294 -82.543242,41.936335 -82.543250,41.936353 -82.543263,41.936390 -82.543272,41.936405 -82.543293,41.936452 -82.543355,41.936628 -82.543397,41.936716 -82.543434,41.936817 -82.543445,41.936835 -82.543451,41.936851 -82.543451,41.936865 -82.543490,41.936971 -82.543506,41.936997 -82.543572,41.937189 -82.543572,41.937191 -82.543591,41.937237 -82.543663,41.937355 -82.543665,41.937362 -82.543719,41.937446 -82.543770,41.937571 -82.543785,41.937617 -82.543955,41.937871 -82.544019,41.938005 -82.544019,41.938005 -82.544019,41.938005 -82.544019,41.938005 -82.544019,41.938005 -82.544019,41.938005 -82.544083,41.938139 -82.544214,41.938496 -82.544228,41.938520 -82.544302,41.938702 -82.544348,41.938778 -82.544455,41.939074 -82.544470,41.939110 -82.544483,41.939130 -82.544541,41.939217 -82.544548,41.939233 -82.544647,41.939390 -82.544670,41.939448 -82.544806,41.939652 -82.544901,41.939859 -82.544901,41.939860 -82.544921,41.939902 -82.544949,41.939976 -82.545085,41.940179 -82.545136,41.940286 -82.545221,41.940518 -82.545235,41.940539 -82.545268,41.940604 -82.545344,41.940801 -82.545403,41.940893 -82.545433,41.940963 -82.545468,41.941062 -82.545574,41.941222 -82.545684,41.941462 -82.545702,41.941488 -82.545791,41.941667 -82.545832,41.941776 -82.545851,41.941812 -82.545954,41.942073 -82.546085,41.942259 -82.546161,41.942402 -82.546235,41.942590 -82.546316,41.942711 -82.546393,41.942872 -82.546406,41.942910 -82.546539,41.943099 -82.546729,41.943457 -82.546816,41.943676 -82.546836,41.943708 -82.547004,41.944085 -82.547024,41.944117 -82.547055,41.944188 -82.547088,41.944242 -82.547139,41.944373 -82.547416,41.944801 -82.547493,41.944980 -82.547575,41.945217 -82.547622,41.945292 -82.547644,41.945348 -82.547665,41.945378 -82.547678,41.945401 -82.547679,41.945402 -82.547708,41.945459 -82.547715,41.945478 -82.547725,41.945492 -82.547729,41.945501 -82.547842,41.945792 -82.547992,41.945999 -82.548042,41.946088 -82.548159,41.946374 -82.548323,41.946610 -82.548374,41.946708 -82.548477,41.946973 -82.548531,41.947049 -82.548569,41.947120 -82.548576,41.947136 -82.548586,41.947150 -82.548594,41.947165 -82.548625,41.947241 -82.548668,41.947303 -82.548683,41.947332 -82.548699,41.947355 -82.548788,41.947516 -82.548868,41.947714 -82.548875,41.947723 -82.548936,41.947836 -82.548955,41.947883 -82.549067,41.948038 -82.549142,41.948172 -82.549277,41.948500 -82.549403,41.948670 -82.549479,41.948795 -82.549559,41.948982 -82.549710,41.949191 -82.549786,41.949325 -82.549833,41.949439 -82.549906,41.949543 -82.549970,41.949660 -82.550023,41.949793 -82.550062,41.949842 -82.550066,41.949849 -82.550092,41.949905 -82.550134,41.949964 -82.550197,41.950080 -82.550225,41.950150 -82.550435,41.950446 -82.550473,41.950516 -82.550480,41.950533 -82.550490,41.950546 -82.550498,41.950562 -82.550534,41.950651 -82.550581,41.950719 -82.550592,41.950742 -82.550597,41.950755 -82.550603,41.950763 -82.550644,41.950844 -82.550799,41.951247 -82.550869,41.951347 -82.550905,41.951412 -82.550925,41.951461 -82.550970,41.951529 -82.551012,41.951618 -82.551048,41.951715 -82.551114,41.951810 -82.551141,41.951864 -82.551245,41.952011 -82.551308,41.952127 -82.551368,41.952276 -82.551490,41.952445 -82.551541,41.952535 -82.551544,41.952544 -82.551570,41.952579 -82.551633,41.952686 -82.551801,41.953084 -82.552048,41.953440 -82.552099,41.953538 -82.552099,41.953538 -82.552099,41.953538 -82.552099,41.953538 -82.552099,41.953538 -82.552150,41.953637 -82.552160,41.953665 -82.552209,41.953732 -82.552260,41.953822 -82.552359,41.954063 -82.552518,41.954280 -82.552562,41.954356 -82.552605,41.954429 -82.552605,41.954429 -82.552605,41.954429 -82.552605,41.954429 -82.552605,41.954429 -82.552668,41.954537 -82.552701,41.954615 -82.552740,41.954667 -82.552841,41.954828 -82.552930,41.955031 -82.552975,41.955092 -82.553063,41.955235 -82.553132,41.955393 -82.553150,41.955418 -82.553261,41.955567 -82.553269,41.955581 -82.553274,41.955588 -82.553295,41.955623 -82.553301,41.955633 -82.553301,41.955634 -82.553328,41.955680 -82.553359,41.955755 -82.553435,41.955855 -82.553498,41.955953 -82.553498,41.955953 -82.553498,41.955953 -82.553498,41.955953 -82.553498,41.955953 -82.553561,41.956051 -82.553573,41.956080 -82.553577,41.956084 -82.553637,41.956178 -82.553667,41.956242 -82.553675,41.956254 -82.553689,41.956281 -82.553778,41.956401 -82.553783,41.956409 -82.553784,41.956412 -82.553902,41.956566 -82.553978,41.956682 -82.553993,41.956717 -82.554037,41.956774 -82.554100,41.956873 -82.554178,41.957049 -82.554193,41.957069 -82.554294,41.957284 -82.554340,41.957345 -82.554367,41.957399 -82.554373,41.957404 -82.554436,41.957484 -82.554436,41.957485 -82.554471,41.957530 -82.554506,41.957598 -82.554747,41.957901 -82.554810,41.957990 -82.554810,41.957990 -82.554810,41.957990 -82.554810,41.957990 -82.554810,41.957990 -82.554872,41.958080 -82.554949,41.958241 -82.555216,41.958609 -82.555316,41.958816 -82.555642,41.959261 -82.555671,41.959309 -82.555692,41.959326 -82.555767,41.959424 -82.555822,41.959535 -82.555822,41.959535 -82.556068,41.959858 -82.556160,41.959975 -82.556195,41.960043 -82.556254,41.960118 -82.556285,41.960142 -82.556299,41.960160 -82.556316,41.960196 -82.556436,41.960346 -82.556482,41.960412 -82.556488,41.960424 -82.556512,41.960454 -82.556523,41.960471 -82.556548,41.960523 -82.556638,41.960640 -82.556654,41.960664 -82.556657,41.960672 -82.556668,41.960685 -82.556726,41.960774 -82.556813,41.960966 -82.557094,41.961343 -82.557258,41.961611 -82.557275,41.961652 -82.557307,41.961694 -82.557307,41.961694 -82.557307,41.961694 -82.557307,41.961694 -82.557307,41.961694 -82.557394,41.961810 -82.557416,41.961853 -82.557423,41.961867 -82.557431,41.961877 -82.557448,41.961910 -82.557506,41.961987 -82.557558,41.962068 -82.557747,41.962314 -82.557807,41.962407 -82.558109,41.962796 -82.558136,41.962849 -82.558147,41.962858 -82.558622,41.963463 -82.558657,41.963531 -82.558898,41.963834 -82.559102,41.964125 -82.559287,41.964374 -82.559340,41.964482 -82.559344,41.964487 -82.559576,41.964766 -82.559644,41.964895 -82.559715,41.964950 -82.560076,41.965405 -82.560093,41.965438 -82.560133,41.965495 -82.560174,41.965546 -82.560219,41.965581 -82.560225,41.965589 -82.560251,41.965610 -82.560338,41.965717 -82.560406,41.965846 -82.560461,41.965889 -82.560683,41.966172 -82.560716,41.966236 -82.560773,41.966282 -82.560848,41.966380 -82.560883,41.966449 -82.561092,41.966713 -82.561180,41.966838 -82.561210,41.966901 -82.561229,41.966926 -82.561283,41.967033 -82.561377,41.967154 -82.561397,41.967179 -82.561432,41.967226 -82.561519,41.967338 -82.561547,41.967364 -82.561571,41.967407 -82.561581,41.967420 -82.561586,41.967430 -82.561592,41.967439 -82.561646,41.967480 -82.561659,41.967497 -82.561674,41.967509 -82.561774,41.967625 -82.561856,41.967778 -82.561889,41.967825 -82.562031,41.967959 -82.562119,41.968067 -82.562121,41.968069 -82.562130,41.968080 -82.562528,41.968566 -82.562628,41.968700 -82.562661,41.968768 -82.562707,41.968823 -82.562818,41.968971 -82.563002,41.969209 -82.563055,41.969314 -82.563116,41.969360 -82.563554,41.969894 -82.563555,41.969895 -82.563559,41.969900 -82.563569,41.969912 -82.563577,41.969918 -82.563639,41.969989 -82.563653,41.970015 -82.563677,41.970033 -82.563753,41.970127 -82.563799,41.970215 -82.563870,41.970270 -82.563888,41.970292 -82.563903,41.970320 -82.563926,41.970338 -82.563977,41.970403 -82.563985,41.970419 -82.563997,41.970428 -82.564490,41.971055 -82.564500,41.971065 -82.564538,41.971132 -82.564587,41.971171 -82.564674,41.971277 -82.564692,41.971311 -82.564717,41.971335 -82.564723,41.971345 -82.564774,41.971384 -82.564861,41.971491 -82.564913,41.971591 -82.564924,41.971608 -82.564934,41.971617 -82.564948,41.971642 -82.564983,41.971693 -82.565004,41.971709 -82.565019,41.971731 -82.565021,41.971732 -82.565026,41.971741 -82.565116,41.971812 -82.565127,41.971826 -82.565151,41.971844 -82.565200,41.971897 -82.565214,41.971922 -82.565258,41.971962 -82.565274,41.971990 -82.565308,41.972015 -82.565349,41.972072 -82.565442,41.972165 -82.565492,41.972236 -82.565495,41.972238 -82.565611,41.972400 -82.565761,41.972540 -82.565785,41.972584 -82.565811,41.972603 -82.565859,41.972672 -82.565885,41.972697 -82.565917,41.972755 -82.565947,41.972777 -82.565966,41.972805 -82.566022,41.972857 -82.566039,41.972888 -82.566088,41.972927 -82.566130,41.972979 -82.566137,41.972985 -82.566148,41.973005 -82.566169,41.973021 -82.566255,41.973118 -82.566278,41.973159 -82.566339,41.973245 -82.566346,41.973254 -82.566347,41.973257 -82.566353,41.973264 -82.566398,41.973306 -82.566409,41.973325 -82.566420,41.973334 -82.566421,41.973334 -82.566430,41.973341 -82.566517,41.973439 -82.566539,41.973479 -82.566547,41.973491 -82.566607,41.973547 -82.566622,41.973574 -82.566653,41.973603 -82.566679,41.973651 -82.566706,41.973671 -82.566725,41.973699 -82.566758,41.973729 -82.566766,41.973744 -82.566793,41.973769 -82.566828,41.973831 -82.566870,41.973863 -82.566891,41.973892 -82.566893,41.973894 -82.566903,41.973909 -82.566934,41.973933 -82.566950,41.973953 -82.566956,41.973957 -82.566986,41.973993 -82.566994,41.974009 -82.566995,41.974010 -82.567010,41.974028 -82.567024,41.974039 -82.567059,41.974080 -82.567215,41.974241 -82.567249,41.974297 -82.567322,41.974350 -82.567364,41.974393 -82.567371,41.974404 -82.567398,41.974425 -82.567473,41.974505 -82.567482,41.974521 -82.567506,41.974543 -82.567530,41.974585 -82.567581,41.974623 -82.567607,41.974659 -82.567607,41.974660 -82.567628,41.974675 -82.567635,41.974685 -82.567644,41.974693 -82.567655,41.974713 -82.567675,41.974741 -82.567706,41.974764 -82.567717,41.974780 -82.567727,41.974788 -82.567747,41.974811 -82.567764,41.974826 -82.567770,41.974837 -82.567790,41.974859 -82.567846,41.974962 -82.567967,41.975133 -82.568132,41.975263 -82.568675,41.975954 -82.568689,41.975967 -82.568698,41.975983 -82.568702,41.975988 -82.568737,41.976024 -82.568741,41.976027 -82.568773,41.976061 -82.568960,41.976255 -82.569044,41.976397 -82.569206,41.976518 -82.569315,41.976672 -82.569380,41.976731 -82.569394,41.976757 -82.569440,41.976800 -82.569449,41.976814 -82.569475,41.976840 -82.569494,41.976873 -82.569515,41.976889 -82.569560,41.976953 -82.569575,41.976964 -82.569597,41.976996 -82.569638,41.977028 -82.569668,41.977064 -82.569683,41.977091 -82.569707,41.977110 -82.569713,41.977117 -82.569735,41.977159 -82.569748,41.977169 -82.569777,41.977206 -82.569803,41.977226 -82.569836,41.977268 -82.569839,41.977273 -82.569843,41.977276 -82.569853,41.977288 -82.569853,41.977288 -82.569853,41.977288 -82.569853,41.977288 -82.569853,41.977288 -82.569902,41.977351 -82.569917,41.977379 -82.569972,41.977418 -82.569984,41.977431 -82.569989,41.977434 -82.569992,41.977440 -82.570023,41.977471 -82.570045,41.977487 -82.570119,41.977567 -82.570128,41.977583 -82.570152,41.977605 -82.570176,41.977647 -82.570227,41.977685 -82.570259,41.977729 -82.570326,41.977791 -82.570362,41.977817 -82.570523,41.977995 -82.570534,41.978015 -82.570554,41.978030 -82.570649,41.978162 -82.570758,41.978261 -82.570856,41.978401 -82.570928,41.978468 -82.570952,41.978511 -82.570978,41.978530 -82.571138,41.978762 -82.571255,41.978854 -82.571305,41.978916 -82.571482,41.979260 -82.572193,41.980289 -82.573318,41.982502 -82.573646,41.983108 -82.574267,41.984660 -82.574493,41.986473 -82.574437,41.989967 -82.574216,41.991554 -82.573467,41.993340 -82.571601,41.996538 -82.570609,41.997894 -82.568955,41.999364 -82.565563,42.001779 -82.563996,42.002715 -82.561693,42.003607 -82.557291,42.004870 -82.555384,42.005282 -82.553843,42.005433 -82.551212,42.005559 -82.550626,42.005530 -82.549956,42.005568 -82.544311,42.005384 -82.536877,42.005151 -82.536844,42.005148 -82.536822,42.005150 -82.529507,42.004908 -82.522217,42.004692 -82.522196,42.004690 -82.522182,42.004691 -82.514606,42.004458 -82.514594,42.004457 -82.514587,42.004457 -82.508122,42.004254 -82.508032,42.004246 -82.507957,42.004250 -82.506982,42.004215 -82.503072,42.004110 -82.502937,42.004098 -82.502849,42.004103 -82.500442,42.004022 -82.500416,42.004021 -82.500406,42.004020 -82.500307,42.004017 -82.499761,42.003967 -82.499578,42.003952 -82.499282,42.003961 -82.496903,42.003747 -82.496522,42.003642 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-82.491539,41.962740 -82.491539,41.962740 -82.491539,41.962740 -82.491539,41.962740 -82.491539,41.962740 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-82.492672,41.946631 -82.492672,41.946631 -82.492672,41.946631 -82.492672,41.946631 -82.492672,41.946631 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-82.496354,41.910209 -82.496354,41.910209 -82.496354,41.910209 -82.496354,41.910209 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-82.494584,41.926773 -82.494584,41.926773 -82.494584,41.926773 -82.494584,41.926773 -82.494584,41.926773 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-82.494581,41.926107 -82.494581,41.926107 -82.494581,41.926107 -82.494581,41.926107 -82.494581,41.926107 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-82.700088,41.706964 -82.608184,41.841745</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-82.700016,41.757491 -82.698293,41.760633 -82.695095,41.763041 -82.690909,41.764350 -82.689077,41.764515 -82.682682,41.764707 -82.674424,41.765078 -82.665240,41.765525 -82.662823,41.766088 -82.661454,41.768579 -82.661259,41.768759 -82.661418,41.772145 -82.661375,41.772552 -82.661409,41.772905 -82.660417,41.787154 -82.659584,41.811298 -82.659335,41.821594 -82.659119,41.823115 -82.657391,41.826257 -82.656457,41.827170 -82.654305,41.829009 -82.653608,41.832331 -82.653530,41.832482 -82.653531,41.832661 -82.652574,41.834318 -82.651802,41.835802 -82.651653,41.835914 -82.651577,41.836045 -82.649453,41.838267 -82.646471,41.840432 -82.642278,41.841738 -82.637734,41.841745 -82.634237,41.840775 -82.632574,41.840069 -82.632296,41.839877 -82.631870,41.839746 -82.629693,41.838070 -82.628652,41.837348 -82.628575,41.837210 -82.628448,41.837112 -82.624934,41.832908 -82.624183,41.831495 -82.623463,41.830252 -82.621303,41.823252 -82.621297,41.822973 -82.621161,41.822717 -82.619073,41.813283 -82.617359,41.806464 -82.615139,41.803591 -82.613805,41.800947 -82.613798,41.797550 -82.614499,41.794889 -82.615981,41.792040 -82.617882,41.789707 -82.618647,41.785333 -82.618116,41.776517 -82.615743,41.769456 -82.613835,41.766407 -82.613031,41.764579 -82.612982,41.764491 -82.611523,41.759251 -82.609072,41.755355 -82.608191,41.753357 -82.608184,41.749961 -82.609481,41.747348 -82.611837,41.744241 -82.612094,41.744034 -82.612269,41.743716 -82.615470,41.741311 -82.616820,41.740727 -82.623969,41.738097 -82.624718,41.737907 -82.625386,41.737661 -82.626627,41.737348 -82.628583,41.735877 -82.632768,41.734572 -82.632794,41.734572 -82.632818,41.734564 -82.639854,41.733529 -82.644337,41.733530 -82.647296,41.733966 -82.651468,41.735248 -82.651691,41.735359 -82.651733,41.735199 -82.653458,41.732059 -82.655111,41.730582 -82.658304,41.728299 -82.658700,41.727094 -82.658626,41.726370 -82.655041,41.724020 -82.653047,41.722322 -82.651303,41.719188 -82.651103,41.716865 -82.651273,41.715048 -82.651463,41.713976 -82.653188,41.710836 -82.656384,41.708430 -82.660566,41.707124 -82.663462,41.706964 -82.665591,41.707047 -82.667225,41.707199 -82.671415,41.708490 -82.672662,41.709206 -82.675805,41.711280 -82.676865,41.712185 -82.677374,41.712543 -82.679572,41.714707 -82.679704,41.714925 -82.679969,41.715123 -82.681313,41.717148 -82.683466,41.721838 -82.683867,41.722947 -82.683868,41.723079 -82.683929,41.723193 -82.684842,41.727170 -82.685882,41.728970 -82.689145,41.729974 -82.692359,41.732368 -82.694106,41.735501 -82.694271,41.736311 -82.694437,41.737486 -82.694999,41.738200 -82.695598,41.739370 -82.696239,41.740436 -82.698342,41.746501 -82.698359,41.746916 -82.698570,41.747319 -82.700088,41.754449 -82.700016,41.757491 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.092981,42.873868 -78.871531,43.269410</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.044638,43.264793 -79.041512,43.262244 -79.037048,43.256733 -79.035495,43.253504 -79.035386,43.251884 -79.036013,43.241357 -79.034685,43.225192 -79.034704,43.225048 -79.034663,43.224614 -79.034769,43.211791 -79.031515,43.202893 -79.031229,43.201866 -79.031112,43.200415 -79.031613,43.185318 -79.031650,43.185122 -79.031639,43.184907 -79.032730,43.173710 -79.028820,43.162584 -79.028590,43.161736 -79.028578,43.161712 -79.024435,43.141657 -79.024438,43.141619 -79.024420,43.141583 -79.024676,43.138168 -79.025246,43.136932 -79.031329,43.126394 -79.032780,43.124546 -79.033439,43.123958 -79.044266,43.115103 -79.041964,43.102778 -79.042228,43.099414 -79.046525,43.087124 -79.043583,43.086060 -79.020882,43.083941 -79.020040,43.083823 -79.019907,43.083820 -79.001777,43.080991 -79.001560,43.080918 -79.001293,43.080907 -78.997089,43.079427 -78.993978,43.076879 -78.993876,43.076666 -78.993700,43.076515 -78.988342,43.069081 -78.988110,43.068558 -78.987367,43.067263 -78.982076,43.052834 -78.981785,43.051789 -78.982043,43.048376 -78.982192,43.048150 -78.982216,43.047933 -78.986390,43.038186 -78.988199,43.030913 -78.988355,43.030651 -78.988382,43.030302 -78.989085,43.028845 -78.998190,43.014215 -78.998214,43.014185 -78.998233,43.014146 -79.002413,43.007577 -79.002377,42.995239 -79.000991,42.992330 -78.984907,42.986544 -78.983770,42.986032 -78.983474,42.985934 -78.964514,42.976513 -78.964229,42.976290 -78.963826,42.976143 -78.950146,42.968238 -78.940505,42.967687 -78.939101,42.967515 -78.938867,42.967508 -78.917806,42.964098 -78.917619,42.964035 -78.917392,42.964026 -78.915661,42.963373 -78.913201,42.962542 -78.912987,42.962366 -78.912737,42.962271 -78.900314,42.954657 -78.897681,42.952378 -78.896694,42.950812 -78.891434,42.939705 -78.884006,42.928154 -78.882979,42.925630 -78.882896,42.923770 -78.883528,42.917469 -78.884057,42.912187 -78.882151,42.903452 -78.882157,42.903366 -78.882116,42.903281 -78.882381,42.899871 -78.882782,42.898948 -78.883709,42.897159 -78.878793,42.893573 -78.876918,42.891799 -78.873060,42.886978 -78.871531,42.883753 -78.871796,42.880342 -78.873816,42.877267 -78.877282,42.874993 -78.881667,42.873868 -78.886303,42.874063 -78.927958,42.881984 -78.932142,42.883466 -78.935237,42.886014 -78.936771,42.889238 -78.936510,42.892648 -78.936193,42.893407 -78.933336,42.899285 -78.933004,42.899737 -78.932587,42.900517 -78.926535,42.908707 -78.925584,42.909793 -78.925424,42.909899 -78.925336,42.910028 -78.923069,42.912090 -78.925666,42.921004 -78.929666,42.929068 -78.939334,42.936671 -78.942649,42.937300 -78.948776,42.935520 -78.951490,42.934993 -78.956132,42.935184 -78.956337,42.935257 -78.956542,42.935268 -78.977209,42.939762 -78.980990,42.941160 -78.984092,42.943706 -78.984598,42.944407 -78.989750,42.952384 -78.989980,42.952945 -78.990449,42.953748 -78.991498,42.956464 -78.996791,42.957464 -78.996981,42.957531 -78.997174,42.957541 -79.019346,42.962307 -79.023157,42.963709 -79.023360,42.963875 -79.023598,42.963965 -79.034744,42.970733 -79.037408,42.973022 -79.038876,42.975903 -79.042856,42.991826 -79.042835,42.992271 -79.043010,42.992674 -79.044582,43.006393 -79.044568,43.006518 -79.044623,43.007071 -79.044722,43.018179 -79.044348,43.020411 -79.043133,43.022603 -79.031137,43.037905 -79.033233,43.044369 -79.038101,43.048721 -79.049252,43.050816 -79.061952,43.053201 -79.063489,43.053573 -79.079353,43.058300 -79.082021,43.059405 -79.085136,43.061950 -79.085307,43.062306 -79.085573,43.062541 -79.091868,43.071893 -79.092981,43.074526 -79.092893,43.077406 -79.090585,43.086315 -79.090445,43.086547 -79.090423,43.086849 -79.088408,43.089933 -79.087635,43.090615 -79.080842,43.096022 -79.077566,43.100248 -79.074783,43.105310 -79.075570,43.108547 -79.078225,43.113014 -79.081186,43.116674 -79.082738,43.119899 -79.082486,43.123314 -79.080470,43.126399 -79.078895,43.127660 -79.072683,43.131752 -79.072289,43.131964 -79.072062,43.132134 -79.063974,43.136775 -79.059464,43.142663 -79.057695,43.145359 -79.058471,43.150595 -79.063277,43.156535 -79.068292,43.162731 -79.069844,43.165957 -79.069959,43.167479 -79.069522,43.177539 -79.070175,43.186643 -79.069818,43.189275 -79.069501,43.190036 -79.067841,43.193458 -79.070105,43.200243 -79.072854,43.208336 -79.073086,43.209207 -79.073016,43.212012 -79.071167,43.219478 -79.070405,43.225164 -79.073304,43.234954 -79.073296,43.235239 -79.073454,43.235566 -79.073201,43.238983 -79.072884,43.239744 -79.070920,43.243790 -79.071160,43.245572 -79.075996,43.249503 -79.077396,43.250896 -79.078952,43.254123 -79.078926,43.254470 -79.079043,43.254742 -79.079568,43.260099 -79.079224,43.262898 -79.077201,43.265984 -79.073716,43.268270 -79.069298,43.269407 -79.065924,43.269410 -79.058977,43.268695 -79.057675,43.268506 -79.056719,43.268296 -79.047905,43.266062 -79.044638,43.264793 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.052588,43.203409 -79.877267,43.299394</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.921772,43.249099 -79.924004,43.246177 -79.930206,43.234787 -79.930967,43.233779 -79.931236,43.233315 -79.939826,43.223462 -79.940073,43.223285 -79.940245,43.223013 -79.943685,43.220693 -79.944898,43.220218 -79.952473,43.217651 -79.953754,43.217366 -79.954660,43.217090 -79.968225,43.214658 -79.976002,43.211904 -79.983287,43.207459 -79.984708,43.206713 -79.988845,43.205561 -80.004842,43.203454 -80.004968,43.203457 -80.005094,43.203423 -80.008714,43.203409 -80.026183,43.205289 -80.027236,43.205437 -80.030080,43.206226 -80.040360,43.210234 -80.041765,43.210876 -80.044942,43.213388 -80.045795,43.214610 -80.051679,43.224969 -80.052449,43.226957 -80.052588,43.228687 -80.051929,43.240616 -80.051609,43.242304 -80.050689,43.244160 -80.044410,43.253409 -80.044027,43.253871 -80.043923,43.254055 -80.038084,43.261097 -80.033238,43.268472 -80.032131,43.269828 -80.028693,43.272152 -80.028572,43.272184 -80.028482,43.272244 -80.014974,43.278020 -80.014839,43.278055 -80.013416,43.278580 -80.001116,43.282217 -79.994945,43.286489 -79.992957,43.287603 -79.992787,43.287648 -79.992661,43.287730 -79.982959,43.291796 -79.978857,43.292851 -79.974175,43.292715 -79.971076,43.291823 -79.962487,43.288275 -79.961333,43.287732 -79.958155,43.285217 -79.957651,43.284551 -79.954363,43.279729 -79.953250,43.277183 -79.953438,43.273763 -79.953790,43.272896 -79.955983,43.268361 -79.956262,43.267973 -79.956586,43.267329 -79.956821,43.266988 -79.956685,43.267010 -79.951650,43.268133 -79.951592,43.268202 -79.951278,43.269811 -79.951270,43.269840 -79.951270,43.269849 -79.950182,43.275258 -79.949975,43.276038 -79.949073,43.277860 -79.944979,43.283928 -79.943916,43.285213 -79.942099,43.286662 -79.935625,43.290783 -79.934292,43.291497 -79.934190,43.291567 -79.927049,43.294890 -79.926944,43.294919 -79.926857,43.294978 -79.924185,43.295864 -79.916641,43.297588 -79.915052,43.297859 -79.915005,43.297872 -79.902417,43.299384 -79.902372,43.299383 -79.902328,43.299394 -79.897645,43.299254 -79.896723,43.299062 -79.891340,43.297771 -79.888010,43.296524 -79.884836,43.294006 -79.884164,43.293081 -79.880823,43.287736 -79.880264,43.286376 -79.879983,43.285854 -79.877428,43.276743 -79.877433,43.276546 -79.877327,43.276336 -79.877267,43.273947 -79.877939,43.269821 -79.878192,43.268791 -79.880162,43.265686 -79.883607,43.263368 -79.886535,43.262063 -79.893424,43.257641 -79.894859,43.256869 -79.894945,43.256810 -79.904262,43.252517 -79.904343,43.252495 -79.904410,43.252450 -79.908272,43.251341 -79.919090,43.249733 -79.921772,43.249099 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-81.846642,42.618372 -81.767656,42.686282</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-81.845017,42.639604 -81.846642,42.642588 -81.846594,42.646000 -81.845948,42.647118 -81.845931,42.648334 -81.844118,42.651472 -81.842732,42.652708 -81.833667,42.659427 -81.831749,42.660579 -81.831520,42.660647 -81.830598,42.662241 -81.829342,42.663378 -81.825843,42.666053 -81.825833,42.666749 -81.824561,42.669242 -81.822804,42.671543 -81.822261,42.672187 -81.818956,42.674574 -81.814665,42.675845 -81.811901,42.675823 -81.809513,42.677347 -81.808236,42.678056 -81.803944,42.679327 -81.802578,42.679316 -81.802042,42.680019 -81.801345,42.680696 -81.799384,42.682423 -81.796774,42.684131 -81.793748,42.685173 -81.789825,42.686053 -81.788558,42.686282 -81.783933,42.686243 -81.781120,42.685805 -81.776868,42.684463 -81.773635,42.682023 -81.771915,42.678855 -81.771969,42.675443 -81.772066,42.675266 -81.771557,42.674330 -81.771611,42.670918 -81.773430,42.667781 -81.773593,42.667625 -81.773621,42.665813 -81.773736,42.665606 -81.771240,42.663896 -81.769375,42.662262 -81.767656,42.659094 -81.767710,42.655683 -81.768217,42.654403 -81.769050,42.652772 -81.770361,42.650915 -81.773667,42.648531 -81.776195,42.647783 -81.776746,42.647385 -81.776895,42.647342 -81.777003,42.647265 -81.781219,42.645349 -81.785252,42.644199 -81.785495,42.644201 -81.784168,42.641758 -81.784168,42.641751 -81.782967,42.639540 -81.783020,42.636128 -81.783646,42.635048 -81.783321,42.634449 -81.783373,42.631038 -81.784312,42.629017 -81.784635,42.628525 -81.785514,42.627410 -81.788817,42.625025 -81.791078,42.624356 -81.791225,42.624101 -81.792531,42.622927 -81.794166,42.621692 -81.796163,42.620482 -81.800450,42.619212 -81.805069,42.619249 -81.805953,42.619529 -81.809855,42.618372 -81.814474,42.618409 -81.818721,42.619749 -81.819629,42.620273 -81.820176,42.620110 -81.823443,42.620136 -81.826273,42.619297 -81.830892,42.619333 -81.835140,42.620672 -81.836603,42.621544 -81.838590,42.622936 -81.840359,42.624501 -81.842082,42.627666 -81.842066,42.628767 -81.842305,42.629461 -81.842297,42.630047 -81.842929,42.631209 -81.843470,42.631617 -81.845193,42.634782 -81.845389,42.636064 -81.845445,42.637156 -81.845201,42.639285 -81.845017,42.639604 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.968920,42.791177 -80.925343,42.820124</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.967948,42.813289 -80.966070,42.816411 -80.962711,42.818766 -80.958384,42.819996 -80.956224,42.820124 -80.937099,42.819973 -80.934622,42.819760 -80.930382,42.818376 -80.927185,42.815902 -80.925517,42.812716 -80.925343,42.811167 -80.925401,42.804497 -80.925438,42.804254 -80.925421,42.804032 -80.925605,42.801758 -80.925874,42.800357 -80.926853,42.798344 -80.927430,42.797499 -80.928332,42.796391 -80.929421,42.795587 -80.929783,42.794985 -80.933142,42.792631 -80.937467,42.791403 -80.939133,42.791279 -80.943634,42.791177 -80.943957,42.791200 -80.944388,42.791178 -80.950877,42.791334 -80.957089,42.791354 -80.959640,42.791566 -80.963879,42.792949 -80.967076,42.795421 -80.968746,42.798606 -80.968920,42.800230 -80.968764,42.808294 -80.968667,42.808899 -80.968678,42.809225 -80.968149,42.812430 -80.967948,42.813289 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-82.917031,42.258921 -82.264401,42.591362</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-82.905495,42.367501 -82.905133,42.367865 -82.774715,42.485473 -82.774549,42.485585 -82.774297,42.485812 -82.692886,42.544962 -82.692045,42.545469 -82.691296,42.545785 -82.656306,42.558142 -82.654926,42.558482 -82.652956,42.558527 -82.611782,42.554336 -82.611632,42.554295 -82.611446,42.554295 -82.609799,42.553859 -82.574547,42.539885 -82.553642,42.536823 -82.523215,42.539498 -82.498538,42.556906 -82.497742,42.557378 -82.497013,42.557685 -82.454076,42.572884 -82.413601,42.590823 -82.411705,42.591362 -82.409397,42.591359 -82.409352,42.591345 -82.409304,42.591345 -82.360926,42.583559 -82.360057,42.583285 -82.358987,42.582964 -82.325832,42.567189 -82.325791,42.567159 -82.325735,42.567142 -82.324558,42.566370 -82.292247,42.538669 -82.292234,42.538656 -82.292227,42.538651 -82.267903,42.517552 -82.267474,42.517131 -82.266601,42.515553 -82.266506,42.515026 -82.264401,42.493046 -82.264457,42.492412 -82.264447,42.492114 -82.272411,42.451192 -82.272467,42.451083 -82.272468,42.450947 -82.280850,42.420323 -82.280948,42.420149 -82.280957,42.419997 -82.294726,42.384051 -82.286077,42.352481 -82.286077,42.352464 -82.286069,42.352449 -82.286077,42.350745 -82.295377,42.316671 -82.296263,42.315100 -82.296293,42.315077 -82.296310,42.315049 -82.324879,42.284475 -82.326458,42.283326 -82.326511,42.283309 -82.326551,42.283281 -82.376684,42.259537 -82.378710,42.258934 -82.380889,42.258921 -82.420696,42.264255 -82.420749,42.264271 -82.420809,42.264271 -82.422925,42.264925 -82.424055,42.265659 -82.442229,42.280918 -82.489285,42.294257 -82.554291,42.303848 -82.599383,42.293583 -82.599954,42.293476 -82.599991,42.293476 -82.600024,42.293466 -82.650415,42.286428 -82.650460,42.286428 -82.651302,42.286355 -82.721310,42.284539 -82.722646,42.284618 -82.722684,42.284629 -82.722724,42.284629 -82.780201,42.293551 -82.780221,42.293557 -82.780691,42.293643 -82.833200,42.305334 -82.878718,42.303645 -82.880127,42.303719 -82.882251,42.304361 -82.882284,42.304385 -82.882324,42.304398 -82.913770,42.320293 -82.915330,42.321453 -82.916221,42.323022 -82.916340,42.323801 -82.917031,42.346101 -82.916927,42.347026 -82.916584,42.347873 -82.906018,42.366770 -82.905495,42.367501 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-83.013811,41.671768 -82.666931,41.859411</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-83.003964,41.837739 -83.007488,41.838415 -83.007537,41.838432 -83.007786,41.838590 -83.008150,41.838672 -83.008163,41.838681 -83.008198,41.838689 -83.011071,41.840548 -83.011108,41.840584 -83.011233,41.840789 -83.011250,41.840800 -83.011441,41.840922 -83.011450,41.840938 -83.011478,41.840958 -83.011870,41.841439 -83.011909,41.841468 -83.011959,41.841530 -83.011985,41.841580 -83.012159,41.841794 -83.012209,41.841865 -83.012437,41.842341 -83.012916,41.843041 -83.012955,41.843121 -83.012955,41.843121 -83.012981,41.843175 -83.013448,41.844419 -83.013490,41.844638 -83.013530,41.844742 -83.013531,41.844755 -83.013543,41.844777 -83.013652,41.845493 -83.013676,41.845621 -83.013687,41.845730 -83.013810,41.846540 -83.013811,41.846594 -83.013638,41.848500 -83.012993,41.850410 -83.012960,41.850483 -83.012475,41.851302 -83.012360,41.851580 -83.012314,41.851653 -83.012199,41.851769 -83.011970,41.852156 -83.011947,41.852177 -83.011924,41.852229 -83.011255,41.852917 -83.011220,41.852986 -83.011174,41.853041 -83.010977,41.853215 -83.010528,41.853735 -83.010481,41.853780 -83.010174,41.854029 -83.009623,41.854596 -83.009599,41.854615 -83.008788,41.855202 -83.008745,41.855223 -83.008493,41.855405 -83.008426,41.855445 -83.008327,41.855547 -83.008174,41.855666 -83.008174,41.855666 -83.008174,41.855666 -83.008113,41.855714 -83.006483,41.857007 -83.002367,41.858882 -83.002220,41.858917 -83.002212,41.858921 -83.002176,41.858930 -83.002156,41.858933 -83.001409,41.859112 -83.001361,41.859122 -82.998011,41.859386 -82.997789,41.859411 -82.993602,41.858477 -82.990360,41.856244 -82.989679,41.855407 -82.989666,41.855389 -82.988543,41.853032 -82.988523,41.852214 -82.988422,41.851732 -82.988407,41.851624 -82.988409,41.851575 -82.988197,41.851200 -82.987931,41.849438 -82.987930,41.849402 -82.988105,41.847496 -82.988116,41.847472 -82.988115,41.847451 -82.988145,41.847380 -82.988144,41.847320 -82.988155,41.847275 -82.988442,41.846661 -82.989360,41.844443 -82.989383,41.844407 -82.989600,41.844188 -82.989750,41.843867 -82.989761,41.843857 -82.989773,41.843831 -82.992075,41.841464 -82.992098,41.841445 -82.992909,41.840859 -82.997025,41.838984 -82.997065,41.838978 -82.997156,41.838937 -82.997906,41.838852 -82.999411,41.838258 -83.000891,41.837930 -83.000951,41.837920 -83.003964,41.837739 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-82.849002,41.828923 -82.848954,41.828786 -82.848953,41.828736 -82.848862,41.828517 -82.848861,41.828486 -82.848848,41.828463 -82.848839,41.828397 -82.848823,41.828369 -82.848817,41.828344 -82.848769,41.828230 -82.848748,41.828085 -82.848741,41.828069 -82.848740,41.828033 -82.848714,41.827988 -82.848683,41.827780 -82.848567,41.827468 -82.848554,41.826910 -82.848451,41.826221 -82.848449,41.826131 -82.848449,41.826131 -82.848449,41.826131 -82.848447,41.826068 -82.848517,41.825320 -82.848481,41.823801 -82.848524,41.823707 -82.848354,41.823654 -82.848245,41.823623 -82.848160,41.823615 -82.847942,41.823583 -82.847887,41.823567 -82.847719,41.823546 -82.847417,41.823481 -82.846965,41.823422 -82.846771,41.823380 -82.844678,41.822719 -82.842769,41.821651 -82.842732,41.821624 -82.841403,41.820458 -82.840719,41.819614 -82.840707,41.819597 -82.840707,41.819597 -82.840707,41.819597 -82.840694,41.819579 -82.839580,41.817228 -82.839494,41.813561 -82.839506,41.813537 -82.839505,41.813525 -82.839667,41.813171 -82.839674,41.812868 -82.839685,41.812832 -82.841146,41.809943 -82.844262,41.806991 -82.845532,41.806240 -82.845603,41.806203 -82.847300,41.805535 -82.847912,41.805242 -82.848031,41.805204 -82.848196,41.805183 -82.848451,41.805082 -82.848499,41.805077 -82.848571,41.805044 -82.848639,41.805030 -82.850042,41.803701 -82.852071,41.802581 -82.852154,41.802544 -82.852631,41.802372 -82.852856,41.802255 -82.852927,41.802226 -82.853323,41.802094 -82.853430,41.802042 -82.853513,41.802013 -82.853603,41.802000 -82.854397,41.801735 -82.855889,41.801405 -82.855949,41.801395 -82.858950,41.801217 -82.859916,41.801334 -82.859999,41.801327 -82.860277,41.801359 -82.860416,41.801395 -82.860811,41.801443 -82.860895,41.801459 -82.860918,41.801466 -82.861225,41.801503 -82.861443,41.801544 -82.861663,41.801611 -82.861841,41.801633 -82.862084,41.801683 -82.862095,41.801687 -82.862284,41.801733 -82.862323,41.801746 -82.862581,41.801801 -82.862778,41.801862 -82.862899,41.801882 -82.863053,41.801925 -82.863198,41.801947 -82.863550,41.802040 -82.863759,41.802112 -82.863873,41.802131 -82.863980,41.802163 -82.864074,41.802188 -82.864466,41.802324 -82.864537,41.802336 -82.864707,41.802388 -82.865096,41.802528 -82.865155,41.802540 -82.865215,41.802564 -82.865238,41.802568 -82.865493,41.802654 -82.866310,41.802965 -82.866396,41.803024 -82.866481,41.803043 -82.866528,41.803069 -82.866568,41.803079 -82.866739,41.803157 -82.866929,41.803292 -82.867307,41.803486 -82.867726,41.803617 -82.868160,41.803880 -82.869708,41.804746 -82.869782,41.804799 -82.870021,41.805009 -82.870171,41.805100 -82.870245,41.805162 -82.870869,41.805753 -82.871112,41.805966 -82.871796,41.806809 -82.871821,41.806845 -82.872065,41.807360 -82.872474,41.807958 -82.872487,41.807985 -82.872949,41.809222 -82.873036,41.812889 -82.872561,41.814408 -82.872539,41.814462 -82.871374,41.816526 -82.869686,41.818259 -82.869860,41.818379 -82.870544,41.819222 -82.870569,41.819257 -82.870685,41.819502 -82.870972,41.819893 -82.870998,41.819937 -82.871206,41.820439 -82.871288,41.820559 -82.871326,41.820639 -82.871460,41.820998 -82.871621,41.821243 -82.871660,41.821333 -82.872006,41.822315 -82.872008,41.822377 -82.872033,41.822423 -82.872037,41.822448 -82.872045,41.822463 -82.872072,41.822570 -82.872073,41.822640 -82.872074,41.822642 -82.872088,41.822696 -82.872089,41.822799 -82.872297,41.824189 -82.872298,41.824215 -82.872313,41.824315 -82.872315,41.824405 -82.872138,41.826306 -82.871377,41.828450 -82.871355,41.828495 -82.870476,41.829934 -82.869957,41.830592 -82.869911,41.830647 -82.867313,41.832941 -82.867278,41.832956 -82.867265,41.832968 -82.866826,41.833197 -82.866645,41.833358 -82.866598,41.833386 -82.865901,41.833680 -82.864617,41.834349 -82.864569,41.834368 -82.864569,41.834368 -82.864569,41.834368 -82.864498,41.834396 -82.863706,41.834661 -82.863567,41.834727 -82.863507,41.834746 -82.863413,41.834759 -82.863027,41.834888 -82.863003,41.834890 -82.862967,41.834907 -82.859368,41.835429 -82.859295,41.835430 -82.858910,41.835358 -82.858827,41.835367 -82.858473,41.835414 -82.858452,41.835410 -82.858401,41.835415 -82.854216,41.834481 -82.852308,41.833414 -82.852271,41.833387 -82.852271,41.833387 -82.852271,41.833387 -82.852197,41.833334 -82.852197,41.833334 -82.852197,41.833334 -82.852172,41.833317 -82.850842,41.832149 -82.850159,41.831307 -82.850121,41.831253 -82.849876,41.830738 -82.849468,41.830140 -82.849455,41.830113 -82.849387,41.829931 -82.849338,41.829858 -82.849300,41.829768 -82.849183,41.829435 -82.849139,41.829364 -82.849113,41.829292 -82.849108,41.829224 -82.849076,41.829133 -82.849031,41.829058 -82.849005,41.828977 -82.849002,41.828923 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-82.794352,41.778796 -82.794473,41.778741 -82.795786,41.778442 -82.796062,41.778393 -82.797058,41.778328 -82.797712,41.778198 -82.797796,41.778187 -82.798708,41.778153 -82.799599,41.778024 -82.799635,41.778024 -82.800007,41.778093 -82.800487,41.778039 -82.800498,41.778041 -82.800523,41.778038 -82.800958,41.778144 -82.804467,41.778929 -82.804705,41.778973 -82.804725,41.778987 -82.804742,41.778991 -82.804909,41.779106 -82.805104,41.779153 -82.805140,41.779171 -82.807978,41.781225 -82.808664,41.782071 -82.808727,41.782160 -82.809084,41.782915 -82.809514,41.783575 -82.809579,41.783728 -82.809902,41.784659 -82.809906,41.784810 -82.809983,41.784946 -82.810197,41.786047 -82.810213,41.786182 -82.810200,41.786437 -82.810261,41.786851 -82.810263,41.786912 -82.810293,41.787112 -82.810294,41.787166 -82.810294,41.787166 -82.810297,41.787274 -82.810119,41.789170 -82.809036,41.791904 -82.808955,41.792040 -82.808398,41.792888 -82.807644,41.793814 -82.807446,41.794033 -82.806223,41.795081 -82.805629,41.795674 -82.805393,41.795849 -82.805241,41.795923 -82.805082,41.796059 -82.804915,41.796135 -82.804722,41.796316 -82.804580,41.796408 -82.804083,41.796631 -82.801395,41.797949 -82.801311,41.797977 -82.800969,41.798026 -82.800586,41.798197 -82.800519,41.798205 -82.800431,41.798245 -82.800403,41.798249 -82.800381,41.798259 -82.800310,41.798278 -82.799887,41.798324 -82.796826,41.798766 -82.796766,41.798767 -82.796766,41.798767 -82.796766,41.798767 -82.796694,41.798768 -82.796694,41.798768 -82.796694,41.798768 -82.796622,41.798770 -82.796571,41.798760 -82.796561,41.798761 -82.796441,41.798763 -82.796217,41.798721 -82.795938,41.798752 -82.795879,41.798738 -82.795733,41.798755 -82.795603,41.798743 -82.795553,41.798749 -82.795294,41.798725 -82.795096,41.798714 -82.795045,41.798702 -82.794458,41.798649 -82.794337,41.798633 -82.793481,41.798401 -82.791780,41.798084 -82.791477,41.797980 -82.790692,41.797680 -82.789097,41.796827 -82.788950,41.796731 -82.788807,41.796610 -82.788633,41.796513 -82.788547,41.796451 -82.787223,41.795287 -82.787214,41.795272 -82.787161,41.795225 -82.787037,41.795044 -82.786956,41.794985 -82.786919,41.794940 -82.786753,41.794627 -82.785824,41.793265 -82.785811,41.793238 -82.785352,41.792005 -82.785181,41.790847 -82.785169,41.790788 -82.785153,41.790671 -82.785154,41.790665 -82.785090,41.790235 -82.785089,41.790199 -82.785144,41.789613 -82.785118,41.789340 -82.785127,41.789223 -82.785192,41.788770 -82.785190,41.788714 -82.785200,41.788650 -82.785215,41.788616 -82.785226,41.788536 -82.785212,41.788105 -82.785222,41.788051 -82.785247,41.787997 -82.785245,41.787942 -82.785256,41.787918 -82.785256,41.787888 -82.785417,41.787318 -82.785420,41.787291 -82.785427,41.787266 -82.785430,41.787237 -82.785461,41.787138 -82.785462,41.787135 -82.785463,41.787134 -82.785531,41.786916 -82.785554,41.786834 -82.785576,41.786771 -82.785577,41.786770 -82.785907,41.785716 -82.785919,41.785689 -82.787083,41.783628 -82.790200,41.780678 -82.792852,41.779296 -82.792876,41.779287 -82.794342,41.778797 -82.794352,41.778796 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-82.824841,41.778055 -82.824828,41.778067 -82.824284,41.778389 -82.824207,41.778458 -82.824159,41.778486 -82.824025,41.778542 -82.823557,41.778819 -82.823521,41.778838 -82.820675,41.779957 -82.817073,41.780479 -82.817037,41.780480 -82.816665,41.780410 -82.816184,41.780464 -82.816173,41.780462 -82.816148,41.780465 -82.811966,41.779530 -82.808729,41.777296 -82.808284,41.776505 -82.808206,41.776449 -82.808132,41.776360 -82.807911,41.775943 -82.807684,41.775633 -82.807608,41.775499 -82.807361,41.774904 -82.807018,41.774254 -82.806932,41.774103 -82.806930,41.774090 -82.806873,41.773980 -82.806565,41.773433 -82.806480,41.769767 -82.806513,41.769693 -82.806512,41.769640 -82.806522,41.769620 -82.806521,41.769584 -82.806532,41.769538 -82.806589,41.769416 -82.806590,41.769310 -82.806612,41.769228 -82.808152,41.766059 -82.810463,41.763689 -82.810510,41.763652 -82.811315,41.763071 -82.815431,41.761200 -82.819032,41.760678 -82.819104,41.760677 -82.819465,41.760744 -82.819921,41.760693 -82.819942,41.760697 -82.819993,41.760691 -82.822262,41.761004 -82.822335,41.761021 -82.824248,41.761643 -82.825333,41.762182 -82.825394,41.762217 -82.825437,41.762251 -82.825548,41.762307 -82.825621,41.762351 -82.826334,41.762924 -82.826924,41.763287 -82.826985,41.763340 -82.827328,41.763670 -82.827370,41.763697 -82.827445,41.763768 -82.827465,41.763801 -82.827558,41.763891 -82.827666,41.763994 -82.827666,41.763994 -82.827667,41.763994 -82.827878,41.764194 -82.829493,41.766814 -82.829519,41.766885 -82.829535,41.767137 -82.829675,41.767388 -82.829676,41.767414 -82.829702,41.767459 -82.829733,41.767673 -82.829744,41.767693 -82.829758,41.767746 -82.829759,41.767844 -82.829965,41.769230 -82.829967,41.769311 -82.829801,41.771086 -82.829803,41.771261 -82.829041,41.773406 -82.828996,41.773497 -82.828527,41.774265 -82.828459,41.774427 -82.828425,41.774482 -82.828346,41.774561 -82.828129,41.774916 -82.828125,41.774923 -82.828079,41.774987 -82.828058,41.775007 -82.828038,41.775051 -82.825727,41.777422 -82.825680,41.777458 -82.824875,41.778039 -82.824841,41.778055 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-82.680239,41.672363 -82.680474,41.672318 -82.680570,41.672308 -82.680777,41.672302 -82.680785,41.672300 -82.681019,41.672277 -82.682038,41.672058 -82.682230,41.672028 -82.682323,41.672023 -82.682426,41.672002 -82.682510,41.671992 -82.682685,41.671986 -82.682968,41.671932 -82.683172,41.671911 -82.683209,41.671910 -82.683241,41.671904 -82.683457,41.671883 -82.683824,41.671874 -82.684043,41.671838 -82.684223,41.671828 -82.684378,41.671818 -82.684378,41.671818 -82.684570,41.671806 -82.685073,41.671803 -82.685224,41.671781 -82.685356,41.671779 -82.685469,41.671801 -82.685905,41.671798 -82.685955,41.671796 -82.686040,41.671786 -82.686145,41.671790 -82.686323,41.671768 -82.686539,41.671774 -82.686573,41.671781 -82.686628,41.671780 -82.686677,41.671791 -82.686711,41.671786 -82.686935,41.671791 -82.686939,41.671791 -82.686952,41.671791 -82.686964,41.671792 -82.686966,41.671792 -82.687055,41.671797 -82.687078,41.671794 -82.687282,41.671800 -82.687479,41.671842 -82.687695,41.671819 -82.687816,41.671826 -82.687848,41.671833 -82.687898,41.671828 -82.688054,41.671834 -82.688097,41.671844 -82.688143,41.671839 -82.688308,41.671863 -82.688381,41.671856 -82.688549,41.671872 -82.688813,41.671937 -82.690476,41.672181 -82.690592,41.672198 -82.690603,41.672200 -82.690618,41.672202 -82.690690,41.672220 -82.690773,41.672240 -82.691404,41.672446 -82.691717,41.672502 -82.691850,41.672545 -82.692111,41.672642 -82.692172,41.672654 -82.692318,41.672706 -82.692369,41.672739 -82.692706,41.672865 -82.693094,41.672978 -82.695773,41.674669 -82.695921,41.674802 -82.696473,41.675345 -82.697349,41.676478 -82.697354,41.676485 -82.697531,41.676618 -82.697956,41.676926 -82.699749,41.680119 -82.699831,41.683783 -82.698189,41.687363 -82.698033,41.687510 -82.695861,41.689735 -82.695837,41.689754 -82.695105,41.690282 -82.695073,41.690312 -82.695047,41.690324 -82.695038,41.690330 -82.690923,41.692200 -82.690498,41.692248 -82.689913,41.692332 -82.689404,41.692493 -82.688011,41.692805 -82.687784,41.692844 -82.687076,41.692888 -82.686574,41.692983 -82.686371,41.693004 -82.686188,41.693009 -82.686113,41.693026 -82.686043,41.693042 -82.686017,41.693047 -82.685960,41.693059 -82.685730,41.693097 -82.685676,41.693109 -82.685510,41.693138 -82.685356,41.693166 -82.685221,41.693175 -82.684931,41.693237 -82.684799,41.693257 -82.684610,41.693267 -82.684595,41.693269 -82.684139,41.693293 -82.683884,41.693345 -82.683668,41.693376 -82.683298,41.693393 -82.683006,41.693442 -82.682826,41.693454 -82.682817,41.693454 -82.682661,41.693480 -82.682493,41.693492 -82.682493,41.693492 -82.682493,41.693492 -82.682325,41.693503 -82.682075,41.693506 -82.682028,41.693511 -82.681918,41.693514 -82.681890,41.693516 -82.681324,41.693641 -82.681265,41.693650 -82.680798,41.693678 -82.680207,41.693785 -82.680088,41.693796 -82.678797,41.693823 -82.678760,41.693828 -82.678712,41.693829 -82.678692,41.693825 -82.678666,41.693825 -82.678496,41.693850 -82.678436,41.693851 -82.678436,41.693851 -82.678436,41.693851 -82.678364,41.693852 -82.678364,41.693852 -82.678364,41.693852 -82.678324,41.693852 -82.678185,41.693872 -82.678124,41.693873 -82.677969,41.693844 -82.677801,41.693849 -82.677693,41.693860 -82.677644,41.693854 -82.677153,41.693868 -82.676656,41.693799 -82.675697,41.693704 -82.675588,41.693687 -82.675333,41.693616 -82.674872,41.693552 -82.674782,41.693530 -82.674341,41.693469 -82.674305,41.693461 -82.674305,41.693461 -82.674305,41.693461 -82.674269,41.693452 -82.672484,41.692870 -82.672324,41.692834 -82.671187,41.692049 -82.670754,41.691805 -82.670717,41.691779 -82.670427,41.691523 -82.669093,41.690600 -82.668402,41.689744 -82.668365,41.689691 -82.667976,41.688865 -82.667554,41.688210 -82.667529,41.688147 -82.667238,41.687292 -82.667233,41.687190 -82.667210,41.687121 -82.667208,41.687041 -82.667182,41.686995 -82.667177,41.686833 -82.667145,41.686616 -82.667058,41.686442 -82.667044,41.686362 -82.667053,41.685986 -82.666933,41.685163 -82.666931,41.685109 -82.666990,41.684492 -82.666974,41.684339 -82.666982,41.684194 -82.667041,41.683765 -82.667034,41.683626 -82.667045,41.683563 -82.667054,41.683543 -82.667059,41.683498 -82.667076,41.683458 -82.667081,41.683432 -82.667089,41.683413 -82.667102,41.683321 -82.667111,41.683222 -82.667117,41.683210 -82.667122,41.683174 -82.667122,41.683159 -82.667122,41.683158 -82.667120,41.683107 -82.667141,41.682999 -82.667148,41.682985 -82.667152,41.682952 -82.667186,41.682878 -82.667183,41.682762 -82.667341,41.682307 -82.667342,41.682226 -82.667364,41.682144 -82.667482,41.681902 -82.667721,41.681215 -82.667845,41.680819 -82.667885,41.680724 -82.667886,41.680719 -82.667892,41.680706 -82.667913,41.680656 -82.667920,41.680643 -82.667943,41.680592 -82.668001,41.680494 -82.668029,41.680413 -82.668075,41.680322 -82.668431,41.679742 -82.669076,41.678603 -82.669144,41.678538 -82.669169,41.678484 -82.669261,41.678397 -82.669314,41.678288 -82.669407,41.678170 -82.670845,41.676854 -82.670866,41.676828 -82.670901,41.676791 -82.671027,41.676687 -82.671080,41.676638 -82.671096,41.676622 -82.671106,41.676615 -82.671177,41.676550 -82.671758,41.675955 -82.671816,41.675909 -82.672100,41.675704 -82.672284,41.675536 -82.672592,41.675350 -82.672602,41.675343 -82.672606,41.675339 -82.672897,41.675130 -82.673028,41.675021 -82.673067,41.675003 -82.673087,41.674984 -82.673144,41.674952 -82.673406,41.674763 -82.673696,41.674631 -82.674424,41.674201 -82.674531,41.674145 -82.674681,41.674086 -82.674889,41.673969 -82.674948,41.673941 -82.676374,41.673414 -82.677520,41.672893 -82.677560,41.672889 -82.677592,41.672874 -82.677633,41.672866 -82.677650,41.672858 -82.677721,41.672839 -82.677804,41.672830 -82.678128,41.672763 -82.678517,41.672673 -82.679063,41.672542 -82.679159,41.672523 -82.679304,41.672512 -82.679544,41.672457 -82.679652,41.672437 -82.679723,41.672432 -82.679885,41.672397 -82.680005,41.672377 -82.680239,41.672363 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.898292,44.680095 -79.818263,44.744379</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.865969,44.736082 -79.864849,44.737803 -79.861496,44.740045 -79.858099,44.741587 -79.857986,44.741617 -79.857893,44.741678 -79.856416,44.742063 -79.855658,44.742564 -79.854288,44.743167 -79.854253,44.743176 -79.854225,44.743194 -79.849683,44.744379 -79.844851,44.744235 -79.842065,44.743491 -79.840864,44.743046 -79.839264,44.742339 -79.838892,44.742051 -79.836257,44.741972 -79.835274,44.741771 -79.834673,44.741629 -79.834607,44.741614 -79.834606,44.741613 -79.834604,44.741613 -79.834587,44.741610 -79.834576,44.741608 -79.834554,44.741605 -79.834548,44.741605 -79.834546,44.741604 -79.834520,44.741602 -79.834501,44.741601 -79.834446,44.741601 -79.833016,44.741593 -79.830180,44.741344 -79.825794,44.739891 -79.822581,44.737421 -79.821434,44.736105 -79.821434,44.736105 -79.821434,44.736105 -79.821201,44.735837 -79.821200,44.735835 -79.821198,44.735834 -79.820749,44.735318 -79.820623,44.735174 -79.820622,44.735172 -79.820620,44.735170 -79.820454,44.734980 -79.820452,44.734977 -79.820449,44.734974 -79.819979,44.734434 -79.819960,44.734398 -79.819923,44.734369 -79.818263,44.731132 -79.818468,44.727689 -79.820505,44.724563 -79.824065,44.722231 -79.824115,44.722218 -79.824153,44.722193 -79.825128,44.721778 -79.826341,44.718148 -79.824214,44.715699 -79.824198,44.715668 -79.824167,44.715643 -79.822507,44.712406 -79.822711,44.708963 -79.824748,44.705838 -79.828194,44.703555 -79.833820,44.701053 -79.834837,44.699492 -79.838348,44.697180 -79.843157,44.695070 -79.843964,44.693830 -79.844032,44.692676 -79.844214,44.692396 -79.844282,44.691243 -79.846316,44.688117 -79.848060,44.686744 -79.848700,44.686335 -79.849315,44.685936 -79.849750,44.685635 -79.850370,44.685200 -79.850578,44.685053 -79.850636,44.685021 -79.850771,44.684910 -79.850835,44.684865 -79.850908,44.684825 -79.850988,44.684759 -79.851027,44.684732 -79.851027,44.684732 -79.851027,44.684732 -79.851065,44.684706 -79.851065,44.684706 -79.851065,44.684706 -79.851116,44.684670 -79.851116,44.684670 -79.851116,44.684670 -79.851155,44.684643 -79.851230,44.684602 -79.851244,44.684590 -79.851283,44.684564 -79.851283,44.684564 -79.851283,44.684564 -79.851321,44.684537 -79.851542,44.684415 -79.851576,44.684387 -79.851627,44.684351 -79.851706,44.684308 -79.851861,44.684190 -79.851950,44.684137 -79.852080,44.684071 -79.852249,44.683944 -79.852326,44.683899 -79.852668,44.683728 -79.852714,44.683704 -79.852742,44.683690 -79.852766,44.683678 -79.852867,44.683606 -79.852918,44.683580 -79.853004,44.683539 -79.853059,44.683500 -79.853110,44.683474 -79.853110,44.683474 -79.853110,44.683474 -79.853161,44.683447 -79.853199,44.683429 -79.853204,44.683425 -79.853293,44.683381 -79.853308,44.683377 -79.853687,44.683196 -79.853727,44.683170 -79.853803,44.683134 -79.853803,44.683134 -79.853803,44.683134 -79.853918,44.683082 -79.853918,44.683082 -79.853918,44.683082 -79.853956,44.683064 -79.853978,44.683058 -79.854006,44.683045 -79.854119,44.683015 -79.854235,44.682939 -79.854546,44.682818 -79.854560,44.682809 -79.854623,44.682783 -79.854623,44.682783 -79.854623,44.682783 -79.854662,44.682767 -79.854668,44.682763 -79.854719,44.682743 -79.854814,44.682704 -79.854833,44.682699 -79.854842,44.682696 -79.854846,44.682693 -79.854923,44.682663 -79.854941,44.682651 -79.855005,44.682625 -79.855005,44.682625 -79.855005,44.682625 -79.855069,44.682598 -79.855093,44.682592 -79.855100,44.682587 -79.855186,44.682554 -79.855202,44.682543 -79.855260,44.682521 -79.855342,44.682482 -79.855559,44.682398 -79.855611,44.682373 -79.855616,44.682370 -79.855679,44.682343 -79.855718,44.682334 -79.855730,44.682326 -79.855794,44.682300 -79.855798,44.682299 -79.855864,44.682262 -79.855951,44.682228 -79.855953,44.682227 -79.856004,44.682207 -79.856055,44.682183 -79.856080,44.682173 -79.856207,44.682112 -79.856318,44.682074 -79.856323,44.682070 -79.856361,44.682053 -79.856366,44.682051 -79.856385,44.682042 -79.856426,44.682032 -79.856437,44.682027 -79.856437,44.682027 -79.856437,44.682027 -79.856475,44.682009 -79.856475,44.682009 -79.856475,44.682009 -79.856513,44.681991 -79.856520,44.681990 -79.856528,44.681986 -79.856602,44.681945 -79.856621,44.681940 -79.856640,44.681928 -79.856715,44.681903 -79.856787,44.681873 -79.856809,44.681859 -79.856981,44.681784 -79.856988,44.681783 -79.858137,44.681342 -79.859661,44.680830 -79.863024,44.680095 -79.867849,44.680239 -79.872231,44.681688 -79.875501,44.684224 -79.875551,44.684321 -79.875643,44.684394 -79.878105,44.687425 -79.878425,44.688070 -79.878507,44.688133 -79.878860,44.688538 -79.879830,44.688603 -79.879883,44.688620 -79.879931,44.688622 -79.879957,44.688629 -79.880358,44.688629 -79.880446,44.688639 -79.880514,44.688649 -79.880531,44.688649 -79.880783,44.688678 -79.880839,44.688695 -79.881442,44.688780 -79.881515,44.688805 -79.881694,44.688810 -79.883169,44.689135 -79.883445,44.689210 -79.883669,44.689297 -79.886897,44.689392 -79.891280,44.690840 -79.894552,44.693375 -79.895502,44.694737 -79.897578,44.698493 -79.898292,44.700366 -79.898150,44.703635 -79.897831,44.704667 -79.897780,44.704748 -79.897774,44.704842 -79.897267,44.705645 -79.897158,44.705911 -79.896485,44.706889 -79.896151,44.707631 -79.895810,44.708235 -79.895810,44.708239 -79.895794,44.708264 -79.895496,44.708793 -79.895462,44.708885 -79.894757,44.709950 -79.894095,44.711002 -79.894050,44.711247 -79.893916,44.711454 -79.893785,44.713725 -79.893144,44.714711 -79.893049,44.714945 -79.892012,44.716454 -79.891753,44.716852 -79.891722,44.716875 -79.891157,44.717697 -79.890107,44.718393 -79.888758,44.720469 -79.887317,44.721421 -79.887310,44.721548 -79.885278,44.724675 -79.881729,44.727006 -79.877685,44.728767 -79.877683,44.728768 -79.877682,44.728769 -79.874710,44.730061 -79.873432,44.732027 -79.869940,44.734332 -79.865969,44.736082 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-82.826143,46.070328 -82.793551,46.093055</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-82.800222,46.071948 -82.802163,46.071198 -82.803015,46.070934 -82.805660,46.070345 -82.810642,46.070328 -82.815254,46.071640 -82.815505,46.071813 -82.815660,46.071857 -82.815780,46.071940 -82.815991,46.072006 -82.816397,46.072224 -82.819199,46.074297 -82.819241,46.074367 -82.820177,46.074633 -82.823717,46.077073 -82.825647,46.080270 -82.825656,46.080326 -82.826118,46.081092 -82.826143,46.084559 -82.825094,46.086750 -82.824763,46.087224 -82.823462,46.089232 -82.819955,46.091696 -82.815360,46.093039 -82.810375,46.093055 -82.805762,46.091743 -82.805705,46.091704 -82.805632,46.091683 -82.805151,46.091455 -82.803045,46.089986 -82.800752,46.089333 -82.798819,46.088241 -82.798427,46.087971 -82.797664,46.087330 -82.795616,46.085919 -82.793689,46.082721 -82.793551,46.079740 -82.793738,46.078790 -82.793855,46.078573 -82.793854,46.078304 -82.794199,46.077351 -82.794406,46.076891 -82.795946,46.074635 -82.799453,46.072172 -82.800222,46.071948 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.333667,43.035509 -79.240284,43.116997</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.331431,43.053206 -79.331521,43.053329 -79.331568,43.053402 -79.331966,43.054362 -79.332543,43.055348 -79.332577,43.055439 -79.332888,43.056512 -79.332655,43.059926 -79.331555,43.061627 -79.332323,43.063311 -79.332167,43.065605 -79.332176,43.066040 -79.332146,43.066229 -79.332116,43.066352 -79.332090,43.066726 -79.332024,43.066827 -79.331822,43.067568 -79.331735,43.067702 -79.331733,43.067734 -79.332003,43.067961 -79.333570,43.071181 -79.333567,43.071227 -79.333578,43.071249 -79.333559,43.071528 -79.333660,43.071761 -79.333667,43.071828 -79.333345,43.074664 -79.332825,43.075653 -79.332807,43.075908 -79.332786,43.075940 -79.332784,43.075970 -79.332755,43.076018 -79.332752,43.076064 -79.332728,43.076127 -79.332247,43.076853 -79.331659,43.077820 -79.331650,43.078103 -79.331627,43.078188 -79.331534,43.078342 -79.331517,43.078536 -79.331498,43.078566 -79.331494,43.078621 -79.329851,43.081341 -79.329811,43.081385 -79.329607,43.081528 -79.329496,43.081711 -79.329476,43.081725 -79.329456,43.081755 -79.325996,43.084049 -79.324179,43.084524 -79.324170,43.084537 -79.323378,43.085062 -79.321849,43.087426 -79.321193,43.088017 -79.321109,43.088086 -79.321009,43.088169 -79.320870,43.088253 -79.320529,43.088544 -79.320391,43.088646 -79.320123,43.088799 -79.320072,43.088837 -79.319841,43.088970 -79.319614,43.089144 -79.320571,43.090638 -79.320599,43.090697 -79.321151,43.092332 -79.321277,43.093729 -79.321276,43.093819 -79.320915,43.095837 -79.320512,43.096782 -79.320459,43.096885 -79.320116,43.097347 -79.319786,43.097969 -79.319703,43.098080 -79.319061,43.098819 -79.318999,43.098919 -79.318910,43.099012 -79.318867,43.099042 -79.318847,43.099065 -79.318486,43.099839 -79.318452,43.099897 -79.317091,43.101615 -79.315443,43.102877 -79.315439,43.102954 -79.315426,43.102999 -79.315393,43.103051 -79.315359,43.103203 -79.315347,43.103221 -79.315345,43.103248 -79.313760,43.105901 -79.313732,43.105932 -79.313492,43.106102 -79.313345,43.106337 -79.313332,43.106346 -79.313317,43.106368 -79.312457,43.106938 -79.312101,43.107377 -79.309486,43.109263 -79.309411,43.109303 -79.309019,43.109491 -79.308974,43.109522 -79.308910,43.109553 -79.308864,43.109566 -79.308565,43.109710 -79.308504,43.109726 -79.308449,43.109762 -79.308349,43.109792 -79.308288,43.109831 -79.308236,43.109853 -79.307712,43.109985 -79.307679,43.110007 -79.307187,43.110136 -79.305037,43.110773 -79.304964,43.110785 -79.304397,43.110864 -79.303282,43.111155 -79.303251,43.111154 -79.303232,43.111159 -79.302969,43.111149 -79.302742,43.111204 -79.302691,43.111208 -79.298570,43.110987 -79.298341,43.110919 -79.298333,43.110921 -79.298202,43.110928 -79.297104,43.110858 -79.296278,43.110858 -79.295622,43.110861 -79.295581,43.110857 -79.295575,43.110857 -79.295526,43.110852 -79.295456,43.110845 -79.295422,43.110841 -79.295408,43.110841 -79.295194,43.110819 -79.295132,43.110811 -79.294778,43.110784 -79.293837,43.111389 -79.293030,43.111929 -79.292952,43.111964 -79.292935,43.111968 -79.292922,43.111977 -79.292881,43.111987 -79.292844,43.112012 -79.291880,43.112357 -79.290754,43.112948 -79.290152,43.113106 -79.289870,43.113540 -79.286704,43.115698 -79.286667,43.115715 -79.286525,43.115754 -79.286407,43.115833 -79.286388,43.115837 -79.286369,43.115850 -79.281971,43.116997 -79.277897,43.116845 -79.277886,43.116848 -79.277856,43.116851 -79.277828,43.116858 -79.276770,43.116937 -79.276611,43.116943 -79.275655,43.116876 -79.274387,43.116884 -79.274331,43.116878 -79.273668,43.116786 -79.273543,43.116783 -79.273474,43.116773 -79.273395,43.116747 -79.272951,43.116685 -79.272927,43.116677 -79.272882,43.116675 -79.271746,43.116421 -79.271638,43.116392 -79.270000,43.115747 -79.269082,43.115449 -79.269035,43.115426 -79.268876,43.115304 -79.268558,43.115179 -79.268500,43.115132 -79.268435,43.115109 -79.268211,43.114927 -79.267945,43.114827 -79.267870,43.114781 -79.265847,43.113037 -79.263748,43.113584 -79.259086,43.113409 -79.257387,43.112993 -79.247513,43.109956 -79.244998,43.108903 -79.241871,43.106364 -79.240309,43.103142 -79.240284,43.100742 -79.243791,43.081051 -79.244056,43.080036 -79.246059,43.076948 -79.249522,43.074658 -79.253157,43.073711 -79.253311,43.071320 -79.253325,43.071280 -79.253333,43.071266 -79.253334,43.071252 -79.253346,43.071234 -79.253348,43.071212 -79.255351,43.068124 -79.256808,43.066934 -79.256879,43.066886 -79.257098,43.066765 -79.257817,43.066213 -79.257904,43.066160 -79.257945,43.066139 -79.258053,43.066047 -79.258113,43.066002 -79.258143,43.065985 -79.258186,43.065949 -79.258201,43.065938 -79.257949,43.065472 -79.257927,43.065400 -79.257933,43.065134 -79.257795,43.064856 -79.257797,43.064831 -79.257774,43.064783 -79.257748,43.064202 -79.257715,43.064098 -79.257717,43.064071 -79.257691,43.064016 -79.257681,43.063897 -79.257159,43.062514 -79.257163,43.062451 -79.257141,43.062405 -79.257130,43.062312 -79.257117,43.062285 -79.257100,43.062177 -79.257106,43.062108 -79.257020,43.061386 -79.257014,43.061237 -79.257058,43.060944 -79.257043,43.060817 -79.257041,43.060752 -79.257040,43.060739 -79.256891,43.060459 -79.256882,43.060427 -79.256888,43.060191 -79.256761,43.059923 -79.256762,43.059912 -79.256752,43.059891 -79.256722,43.059541 -79.256664,43.059349 -79.256621,43.059263 -79.256603,43.059186 -79.256605,43.059153 -79.256578,43.059065 -79.256581,43.059030 -79.256560,43.058988 -79.256453,43.057240 -79.256456,43.057190 -79.256802,43.055524 -79.257734,43.053702 -79.257756,43.053671 -79.258060,43.053312 -79.258160,43.053135 -79.258185,43.053104 -79.258403,43.052866 -79.258435,43.052811 -79.258471,43.052771 -79.258522,43.052736 -79.258851,43.052374 -79.258868,43.052363 -79.258887,43.052334 -79.259165,43.052126 -79.259248,43.051800 -79.259252,43.051704 -79.259267,43.051655 -79.259297,43.051606 -79.259350,43.051398 -79.259362,43.051379 -79.259364,43.051349 -79.259851,43.050249 -79.259868,43.050218 -79.261383,43.048230 -79.263285,43.046752 -79.263335,43.046721 -79.264815,43.045950 -79.265294,43.045690 -79.265335,43.045679 -79.265351,43.045668 -79.265925,43.045439 -79.265954,43.045422 -79.266011,43.045400 -79.266043,43.045392 -79.266186,43.045335 -79.266246,43.045313 -79.266644,43.045222 -79.266800,43.045136 -79.266868,43.045119 -79.266894,43.045102 -79.267255,43.045009 -79.267520,43.044846 -79.267613,43.044811 -79.271285,43.043956 -79.271327,43.043958 -79.271363,43.043948 -79.271394,43.043947 -79.271408,43.043943 -79.271487,43.043936 -79.271568,43.043939 -79.271813,43.043928 -79.271998,43.043875 -79.272051,43.043867 -79.272262,43.043870 -79.272725,43.043780 -79.272744,43.043781 -79.272778,43.043772 -79.273121,43.043784 -79.273689,43.043704 -79.273820,43.043709 -79.273929,43.043681 -79.274664,43.043626 -79.274683,43.043621 -79.274697,43.043620 -79.274719,43.043615 -79.274859,43.043608 -79.274878,43.043609 -79.274953,43.043604 -79.275107,43.043597 -79.275313,43.043611 -79.277121,43.040819 -79.277636,43.040448 -79.278498,43.039445 -79.279809,43.038355 -79.279834,43.038337 -79.281981,43.037136 -79.283817,43.036596 -79.284844,43.036259 -79.284992,43.036226 -79.285182,43.036194 -79.285446,43.036116 -79.285544,43.036100 -79.286470,43.035973 -79.286502,43.035974 -79.286803,43.035924 -79.286809,43.035924 -79.286814,43.035922 -79.286962,43.035907 -79.286970,43.035907 -79.287111,43.035900 -79.288492,43.035661 -79.288498,43.035661 -79.288503,43.035660 -79.288651,43.035644 -79.288669,43.035644 -79.288956,43.035639 -79.289242,43.035600 -79.291220,43.035509 -79.291306,43.035510 -79.293982,43.035774 -79.298192,43.037240 -79.300212,43.038746 -79.300809,43.038954 -79.302295,43.039915 -79.302319,43.039934 -79.302407,43.040018 -79.302473,43.040041 -79.302914,43.040327 -79.303505,43.040613 -79.303973,43.040829 -79.304229,43.041037 -79.304262,43.041048 -79.304310,43.041076 -79.304419,43.041166 -79.305567,43.041909 -79.305627,43.041955 -79.306100,43.042409 -79.306488,43.042690 -79.306536,43.042735 -79.307314,43.043575 -79.307850,43.044310 -79.307885,43.044365 -79.308006,43.044656 -79.308208,43.044973 -79.308613,43.044815 -79.308638,43.044806 -79.309189,43.044683 -79.310116,43.044379 -79.310190,43.044362 -79.311476,43.044148 -79.312977,43.043813 -79.314078,43.043785 -79.315173,43.043734 -79.315419,43.043719 -79.315702,43.043714 -79.315796,43.043722 -79.315889,43.043718 -79.315938,43.043718 -79.315995,43.043724 -79.316221,43.043714 -79.316245,43.043714 -79.316245,43.043714 -79.316245,43.043714 -79.316270,43.043714 -79.316700,43.043757 -79.316833,43.043759 -79.316833,43.043759 -79.316833,43.043759 -79.316858,43.043759 -79.316858,43.043759 -79.316858,43.043759 -79.316968,43.043761 -79.317021,43.043766 -79.317161,43.043762 -79.317357,43.043774 -79.318060,43.043860 -79.318230,43.043862 -79.318377,43.043883 -79.318406,43.043892 -79.318573,43.043894 -79.318646,43.043904 -79.318741,43.043935 -79.319644,43.044024 -79.320076,43.044174 -79.322523,43.044264 -79.326734,43.045729 -79.329678,43.048047 -79.329726,43.048102 -79.329772,43.048191 -79.329861,43.048264 -79.329874,43.048291 -79.329909,43.048319 -79.331475,43.051539 -79.331431,43.053206 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.974873,44.578327 -79.902004,44.634608</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.953648,44.624336 -79.932849,44.633419 -79.932848,44.633419 -79.932847,44.633420 -79.928318,44.634608 -79.923498,44.634468 -79.919119,44.633021 -79.915850,44.630488 -79.915848,44.630485 -79.915846,44.630483 -79.905936,44.618876 -79.904278,44.615647 -79.904476,44.612205 -79.904946,44.611480 -79.904793,44.611182 -79.904990,44.607740 -79.905380,44.607139 -79.903529,44.604864 -79.902004,44.601794 -79.902202,44.598353 -79.904228,44.595227 -79.907773,44.592893 -79.907794,44.592888 -79.907810,44.592878 -79.938695,44.579499 -79.943181,44.578327 -79.947996,44.578466 -79.952370,44.579911 -79.955575,44.582368 -79.956206,44.583090 -79.956896,44.583110 -79.961271,44.584554 -79.964540,44.587085 -79.964614,44.587230 -79.964745,44.587335 -79.969868,44.593783 -79.971328,44.596766 -79.971135,44.600208 -79.970323,44.601464 -79.973698,44.606240 -79.974873,44.608842 -79.974681,44.612284 -79.972659,44.615412 -79.969116,44.617748 -79.969048,44.617766 -79.968996,44.617800 -79.953648,44.624336 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.772185,43.140882 -80.691729,43.194401</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.767447,43.141178 -80.768580,43.140882 -80.769788,43.140923 -80.770887,43.141295 -80.771710,43.141940 -80.772108,43.142668 -80.772161,43.142857 -80.772160,43.142903 -80.772185,43.142950 -80.772140,43.143822 -80.772010,43.144026 -80.771982,43.144206 -80.771918,43.144469 -80.771596,43.145056 -80.771411,43.145290 -80.771229,43.145493 -80.770524,43.145994 -80.770375,43.146071 -80.770344,43.146080 -80.770343,43.146080 -80.770337,43.146081 -80.770282,43.146097 -80.770194,43.146156 -80.769656,43.146301 -80.769652,43.146304 -80.769616,43.146326 -80.769551,43.146383 -80.769499,43.146423 -80.769441,43.146457 -80.769358,43.146524 -80.769291,43.146570 -80.769280,43.146579 -80.768870,43.146866 -80.768532,43.147054 -80.768447,43.147114 -80.768401,43.147136 -80.768370,43.147145 -80.768325,43.147170 -80.768317,43.147172 -80.768302,43.147182 -80.768212,43.147223 -80.768211,43.147223 -80.768114,43.147276 -80.768048,43.147314 -80.767958,43.147377 -80.767768,43.147517 -80.767548,43.147678 -80.767546,43.147679 -80.767542,43.147683 -80.767424,43.147769 -80.767288,43.147907 -80.767272,43.147918 -80.767262,43.147934 -80.766890,43.148232 -80.766571,43.148521 -80.766553,43.148533 -80.766452,43.148623 -80.766032,43.148959 -80.765774,43.149174 -80.765602,43.149278 -80.765373,43.149451 -80.765124,43.149594 -80.764971,43.149696 -80.765132,43.149895 -80.765138,43.149907 -80.765256,43.150063 -80.765376,43.150246 -80.765431,43.150305 -80.765451,43.150342 -80.765492,43.150374 -80.765913,43.151195 -80.765949,43.151440 -80.765953,43.151499 -80.765873,43.152125 -80.765369,43.152914 -80.764879,43.153245 -80.764869,43.153256 -80.764856,43.153264 -80.764849,43.153275 -80.764664,43.153454 -80.763797,43.154022 -80.763696,43.154049 -80.763627,43.154092 -80.763508,43.154136 -80.763431,43.154166 -80.763333,43.154213 -80.763235,43.154282 -80.763030,43.154385 -80.762946,43.154409 -80.762867,43.154462 -80.762378,43.154589 -80.762122,43.154717 -80.760989,43.155012 -80.760983,43.155012 -80.760978,43.155014 -80.760908,43.155021 -80.760442,43.155386 -80.760377,43.155426 -80.760349,43.155441 -80.760333,43.155453 -80.760278,43.155486 -80.760257,43.155499 -80.760239,43.155509 -80.760228,43.155515 -80.760201,43.155529 -80.760044,43.155613 -80.759698,43.155842 -80.758564,43.156137 -80.757932,43.156159 -80.757814,43.156154 -80.757801,43.156153 -80.757720,43.156207 -80.757633,43.156230 -80.757572,43.156267 -80.757164,43.156424 -80.757058,43.156449 -80.756722,43.156563 -80.756489,43.156621 -80.756193,43.156673 -80.756117,43.156695 -80.755943,43.156721 -80.755741,43.156752 -80.755657,43.156751 -80.755564,43.156775 -80.755394,43.156769 -80.755234,43.156863 -80.754881,43.157043 -80.754517,43.157179 -80.754318,43.157241 -80.754189,43.157268 -80.754038,43.157318 -80.753714,43.157393 -80.753580,43.157416 -80.753535,43.157435 -80.753492,43.157445 -80.753148,43.157569 -80.752961,43.157622 -80.752285,43.157754 -80.752168,43.157750 -80.752076,43.157771 -80.752050,43.157773 -80.751730,43.157836 -80.751726,43.157838 -80.751552,43.157906 -80.751453,43.157929 -80.751124,43.158041 -80.750824,43.158117 -80.750751,43.158130 -80.750702,43.158146 -80.750693,43.158148 -80.750653,43.158161 -80.750407,43.158247 -80.750363,43.158257 -80.750253,43.158298 -80.750124,43.158337 -80.750032,43.158367 -80.749233,43.158535 -80.748779,43.158545 -80.748532,43.158708 -80.748164,43.158846 -80.747920,43.158922 -80.747654,43.158977 -80.747462,43.159035 -80.747159,43.159091 -80.746946,43.159134 -80.746596,43.159366 -80.746092,43.159497 -80.745733,43.159611 -80.745627,43.159633 -80.745483,43.159656 -80.745462,43.159661 -80.745451,43.159661 -80.745434,43.159664 -80.745430,43.159665 -80.745424,43.159665 -80.745225,43.159697 -80.745074,43.159705 -80.744994,43.159723 -80.744939,43.159722 -80.744916,43.159728 -80.744842,43.159725 -80.744771,43.159742 -80.744693,43.159746 -80.744471,43.159733 -80.744094,43.159858 -80.743832,43.159920 -80.743547,43.159969 -80.743483,43.159987 -80.743466,43.159990 -80.743342,43.160037 -80.743217,43.160067 -80.742878,43.160179 -80.742691,43.160224 -80.742350,43.160283 -80.742295,43.160298 -80.742133,43.160320 -80.742077,43.160319 -80.742019,43.160334 -80.741630,43.160348 -80.741176,43.160435 -80.740534,43.160444 -80.740462,43.160491 -80.739328,43.160787 -80.738646,43.160763 -80.738475,43.161069 -80.738461,43.161087 -80.738297,43.161266 -80.737411,43.161853 -80.736277,43.162148 -80.735691,43.162171 -80.735525,43.162166 -80.735273,43.162140 -80.735181,43.162250 -80.734409,43.162761 -80.733935,43.163503 -80.733049,43.164090 -80.732913,43.164129 -80.732856,43.164212 -80.732318,43.164621 -80.732255,43.164658 -80.732191,43.164718 -80.732110,43.164770 -80.731737,43.165058 -80.731565,43.165161 -80.731188,43.165355 -80.731055,43.165396 -80.730976,43.165500 -80.730090,43.166087 -80.729533,43.166270 -80.729312,43.166452 -80.729181,43.166542 -80.728986,43.166649 -80.728907,43.166707 -80.728816,43.166856 -80.728609,43.167080 -80.728565,43.167111 -80.728536,43.167155 -80.728166,43.167459 -80.727988,43.167580 -80.727472,43.167863 -80.727423,43.167878 -80.727208,43.168036 -80.727105,43.168165 -80.727083,43.168179 -80.727071,43.168198 -80.726924,43.168337 -80.726870,43.168372 -80.726844,43.168411 -80.726679,43.168554 -80.726600,43.168603 -80.726379,43.168781 -80.726302,43.168831 -80.726265,43.168860 -80.726175,43.168937 -80.726130,43.168964 -80.726004,43.169071 -80.725854,43.169179 -80.725746,43.169240 -80.725654,43.169311 -80.725520,43.169391 -80.725475,43.169415 -80.725455,43.169430 -80.725229,43.169559 -80.725221,43.169564 -80.725215,43.169568 -80.724744,43.170266 -80.724089,43.170741 -80.723962,43.170809 -80.723754,43.170909 -80.723670,43.170996 -80.723649,43.171010 -80.723637,43.171029 -80.723260,43.171337 -80.723221,43.171363 -80.723217,43.171367 -80.723167,43.171417 -80.723127,43.171445 -80.723066,43.171533 -80.722798,43.171851 -80.722541,43.172021 -80.722535,43.172027 -80.722508,43.172054 -80.721995,43.172392 -80.721972,43.172410 -80.721942,43.172428 -80.721622,43.172640 -80.721492,43.172690 -80.721486,43.172693 -80.721484,43.172719 -80.721454,43.172766 -80.721450,43.172813 -80.721416,43.172898 -80.720946,43.173594 -80.720896,43.173627 -80.720869,43.173666 -80.720760,43.173765 -80.720746,43.173774 -80.720661,43.173851 -80.720498,43.173984 -80.720420,43.174057 -80.719744,43.174731 -80.719704,43.174758 -80.719682,43.174791 -80.719455,43.175002 -80.719409,43.175032 -80.719124,43.175263 -80.718868,43.175435 -80.718747,43.175528 -80.718707,43.175560 -80.718705,43.175563 -80.718610,43.175658 -80.718598,43.175666 -80.718591,43.175677 -80.718267,43.175948 -80.718238,43.175969 -80.718155,43.176031 -80.718125,43.176053 -80.718062,43.176111 -80.718026,43.176134 -80.718009,43.176159 -80.717874,43.176275 -80.717849,43.176291 -80.717761,43.176367 -80.717706,43.176410 -80.717692,43.176421 -80.717644,43.176462 -80.717577,43.176504 -80.717485,43.176591 -80.717463,43.176605 -80.717228,43.176805 -80.717200,43.176825 -80.717164,43.176857 -80.717143,43.176870 -80.717061,43.176943 -80.716924,43.177051 -80.716890,43.177071 -80.716829,43.177123 -80.716774,43.177162 -80.716760,43.177173 -80.716694,43.177228 -80.716419,43.177396 -80.716412,43.177407 -80.716350,43.177470 -80.716324,43.177488 -80.716308,43.177512 -80.716234,43.177584 -80.715360,43.178158 -80.714675,43.178336 -80.714176,43.178702 -80.714127,43.178729 -80.713866,43.178857 -80.712868,43.179116 -80.712864,43.179154 -80.712815,43.179271 -80.712802,43.179290 -80.712764,43.179380 -80.712715,43.179479 -80.712695,43.179507 -80.712667,43.179569 -80.712605,43.179677 -80.712345,43.180012 -80.712330,43.180038 -80.712293,43.180083 -80.712272,43.180106 -80.712248,43.180137 -80.712237,43.180144 -80.712237,43.180144 -80.712230,43.180154 -80.712208,43.180175 -80.712137,43.180253 -80.711726,43.180525 -80.711720,43.180540 -80.711683,43.180621 -80.711665,43.180648 -80.711659,43.180664 -80.711644,43.180687 -80.711438,43.181100 -80.711414,43.181136 -80.711137,43.181467 -80.711105,43.181488 -80.711088,43.181514 -80.711001,43.181595 -80.710787,43.181733 -80.710778,43.181741 -80.710720,43.181798 -80.710682,43.181823 -80.710662,43.181852 -80.710592,43.181915 -80.710547,43.181959 -80.710547,43.181959 -80.710435,43.182067 -80.710400,43.182091 -80.710391,43.182104 -80.710352,43.182137 -80.710339,43.182156 -80.710317,43.182175 -80.710292,43.182203 -80.710245,43.182245 -80.710107,43.182409 -80.709967,43.182505 -80.709925,43.182558 -80.709736,43.182769 -80.709413,43.182982 -80.709313,43.183067 -80.709284,43.183088 -80.709191,43.183172 -80.709181,43.183179 -80.709115,43.183239 -80.708973,43.183357 -80.708869,43.183449 -80.708854,43.183458 -80.708793,43.183512 -80.708682,43.183602 -80.708646,43.183623 -80.708572,43.183686 -80.708461,43.183767 -80.708258,43.183882 -80.708246,43.183891 -80.708215,43.183968 -80.708190,43.184022 -80.707758,43.184628 -80.706871,43.185214 -80.706571,43.185292 -80.706567,43.185301 -80.706560,43.185319 -80.706554,43.185330 -80.706545,43.185350 -80.706535,43.185367 -80.706485,43.185463 -80.706421,43.185549 -80.706359,43.185674 -80.706340,43.185700 -80.706337,43.185705 -80.706330,43.185715 -80.706284,43.185782 -80.706273,43.185795 -80.706235,43.185872 -80.706169,43.185967 -80.706114,43.186053 -80.706053,43.186128 -80.706023,43.186184 -80.705949,43.186283 -80.705933,43.186301 -80.705899,43.186356 -80.705842,43.186426 -80.705834,43.186440 -80.705781,43.186501 -80.705739,43.186576 -80.705664,43.186666 -80.705637,43.186696 -80.705628,43.186731 -80.705621,43.186742 -80.705620,43.186754 -80.705608,43.186790 -80.705579,43.186835 -80.705504,43.186972 -80.705432,43.187135 -80.705383,43.187225 -80.705342,43.187278 -80.705305,43.187353 -80.705213,43.187493 -80.705180,43.187550 -80.704957,43.187837 -80.704905,43.187923 -80.704831,43.188004 -80.704772,43.188045 -80.704734,43.188104 -80.704660,43.188176 -80.704640,43.188189 -80.704582,43.188255 -80.704543,43.188284 -80.704503,43.188320 -80.704499,43.188322 -80.704454,43.188392 -80.704155,43.188645 -80.704019,43.188744 -80.703810,43.188863 -80.703245,43.189255 -80.703134,43.189308 -80.703113,43.189314 -80.703062,43.189352 -80.703050,43.189375 -80.703001,43.189438 -80.702903,43.189547 -80.702891,43.189566 -80.702842,43.189620 -80.702830,43.189628 -80.702812,43.189649 -80.702786,43.189666 -80.702762,43.189703 -80.702560,43.189836 -80.702477,43.189948 -80.702403,43.190116 -80.702353,43.190205 -80.702239,43.190354 -80.702171,43.190479 -80.702122,43.190542 -80.701933,43.190753 -80.701883,43.190785 -80.701857,43.190824 -80.701758,43.190914 -80.701742,43.190925 -80.701687,43.190973 -80.701598,43.191073 -80.701595,43.191077 -80.701496,43.191176 -80.701491,43.191179 -80.701487,43.191185 -80.701368,43.191285 -80.701029,43.191715 -80.700844,43.191848 -80.700819,43.191886 -80.700772,43.191917 -80.700758,43.191940 -80.700724,43.191965 -80.700706,43.191991 -80.700644,43.192045 -80.700499,43.192135 -80.700494,43.192139 -80.700493,43.192140 -80.700419,43.192203 -80.700368,43.192235 -80.700236,43.192334 -80.700235,43.192354 -80.699730,43.193143 -80.699699,43.193171 -80.699458,43.193457 -80.698693,43.193988 -80.698619,43.194024 -80.698589,43.194032 -80.698571,43.194044 -80.698537,43.194053 -80.698495,43.194080 -80.698434,43.194107 -80.697300,43.194401 -80.696091,43.194360 -80.694991,43.193987 -80.694169,43.193342 -80.694148,43.193300 -80.694120,43.193279 -80.694116,43.193273 -80.694107,43.193265 -80.694058,43.193202 -80.694017,43.193117 -80.693813,43.192797 -80.693789,43.192743 -80.693786,43.192735 -80.693778,43.192729 -80.693358,43.191908 -80.693358,43.191854 -80.692997,43.191731 -80.692174,43.191086 -80.692032,43.190898 -80.692007,43.190862 -80.691729,43.190228 -80.691775,43.189357 -80.691885,43.189097 -80.691923,43.189025 -80.691956,43.188980 -80.691987,43.188853 -80.692492,43.188064 -80.692539,43.188033 -80.692554,43.188011 -80.692593,43.187978 -80.692606,43.187959 -80.692667,43.187905 -80.692694,43.187889 -80.692702,43.187876 -80.693001,43.187623 -80.693063,43.187578 -80.693651,43.187245 -80.694243,43.187091 -80.694311,43.186957 -80.694385,43.186849 -80.694411,43.186818 -80.694472,43.186446 -80.694478,43.186437 -80.694479,43.186428 -80.694504,43.186355 -80.694571,43.186251 -80.694564,43.186182 -80.694564,43.186107 -80.694559,43.186103 -80.694397,43.186001 -80.694360,43.185974 -80.693925,43.185570 -80.693914,43.185550 -80.693895,43.185535 -80.693859,43.185490 -80.693845,43.185463 -80.693642,43.185168 -80.693593,43.185077 -80.693536,43.184924 -80.693520,43.184900 -80.693496,43.184846 -80.693382,43.184506 -80.693385,43.184462 -80.693370,43.184434 -80.693371,43.184429 -80.693366,43.184418 -80.693354,43.184346 -80.693383,43.183981 -80.693392,43.183642 -80.693405,43.183597 -80.693415,43.183580 -80.693416,43.183562 -80.693427,43.183545 -80.693429,43.183517 -80.693745,43.182939 -80.693794,43.182877 -80.693872,43.182790 -80.693876,43.182782 -80.693901,43.182752 -80.693904,43.182748 -80.693913,43.182738 -80.693913,43.182737 -80.694070,43.182567 -80.694117,43.182535 -80.694132,43.182513 -80.694171,43.182480 -80.694184,43.182461 -80.694245,43.182407 -80.694287,43.182381 -80.694431,43.182260 -80.694480,43.182224 -80.695068,43.181890 -80.695574,43.181713 -80.695673,43.181687 -80.696151,43.181597 -80.696363,43.181542 -80.697572,43.181584 -80.698089,43.181724 -80.698152,43.181457 -80.698159,43.181446 -80.698159,43.181435 -80.698184,43.181363 -80.698184,43.181363 -80.698184,43.181363 -80.698209,43.181291 -80.698226,43.181266 -80.698438,43.180843 -80.698463,43.180807 -80.698463,43.180807 -80.698463,43.180807 -80.698513,43.180735 -80.698781,43.180416 -80.699464,43.179927 -80.699551,43.179882 -80.699754,43.179785 -80.699794,43.179773 -80.699806,43.179761 -80.699811,43.179757 -80.699904,43.179647 -80.700204,43.179393 -80.700253,43.179357 -80.700402,43.179273 -80.700435,43.179246 -80.700511,43.179195 -80.700988,43.178827 -80.701013,43.178812 -80.701276,43.178443 -80.701827,43.178027 -80.701888,43.177991 -80.702225,43.177821 -80.703068,43.177568 -80.703167,43.177550 -80.703458,43.177508 -80.703570,43.177508 -80.703668,43.177480 -80.703756,43.177342 -80.703775,43.177330 -80.703817,43.177079 -80.703819,43.177021 -80.703856,43.176895 -80.703870,43.176872 -80.703872,43.176845 -80.703977,43.176594 -80.703993,43.176564 -80.703995,43.176520 -80.704045,43.176367 -80.704078,43.176314 -80.704083,43.176262 -80.704133,43.176136 -80.704140,43.176126 -80.704170,43.176050 -80.704207,43.175969 -80.704274,43.175875 -80.704371,43.175682 -80.704421,43.175610 -80.704689,43.175292 -80.704738,43.175259 -80.704764,43.175220 -80.704863,43.175130 -80.704884,43.175117 -80.704989,43.174987 -80.705033,43.174911 -80.705132,43.174794 -80.705260,43.174656 -80.705261,43.174654 -80.705323,43.174592 -80.705344,43.174569 -80.705348,43.174564 -80.705440,43.174460 -80.705522,43.174298 -80.705559,43.174244 -80.705559,43.174244 -80.705559,43.174244 -80.705583,43.174208 -80.705852,43.173890 -80.705939,43.173816 -80.705949,43.173802 -80.705961,43.173775 -80.705998,43.173712 -80.706045,43.173653 -80.706077,43.173588 -80.706127,43.173516 -80.706360,43.173240 -80.706371,43.173222 -80.706390,43.173203 -80.706438,43.173139 -80.706470,43.173087 -80.706532,43.173024 -80.706547,43.173014 -80.706556,43.173000 -80.706986,43.172716 -80.707210,43.172408 -80.707273,43.172366 -80.707306,43.172318 -80.707427,43.172210 -80.707490,43.172171 -80.707711,43.171991 -80.707734,43.171975 -80.707894,43.171810 -80.707942,43.171778 -80.707970,43.171736 -80.708323,43.171404 -80.708360,43.171369 -80.708368,43.171364 -80.708483,43.171260 -80.708959,43.170862 -80.709216,43.170586 -80.709257,43.170558 -80.709284,43.170517 -80.709579,43.170267 -80.709616,43.170240 -80.709651,43.170211 -80.709678,43.170194 -80.709683,43.170191 -80.709694,43.170184 -80.709794,43.170101 -80.709937,43.169997 -80.710057,43.169930 -80.710174,43.169777 -80.710345,43.169655 -80.710379,43.169625 -80.710386,43.169618 -80.710646,43.169301 -80.710688,43.169273 -80.710710,43.169239 -80.710778,43.169177 -80.710818,43.169151 -80.711049,43.168959 -80.711182,43.168865 -80.711735,43.168557 -80.711977,43.168475 -80.712002,43.168442 -80.712046,43.168354 -80.712148,43.168201 -80.712432,43.167860 -80.712506,43.167811 -80.712544,43.167755 -80.712859,43.167480 -80.712920,43.167422 -80.712934,43.167413 -80.713106,43.167262 -80.713119,43.167252 -80.713143,43.167213 -80.713452,43.166953 -80.713627,43.166827 -80.714205,43.166501 -80.714975,43.166262 -80.715131,43.166230 -80.715182,43.166223 -80.715206,43.166210 -80.715212,43.166206 -80.715309,43.166163 -80.715359,43.166138 -80.715440,43.166093 -80.715530,43.166028 -80.715541,43.166022 -80.715464,43.165871 -80.715453,43.165864 -80.715350,43.165783 -80.715226,43.165664 -80.715100,43.165602 -80.715040,43.165556 -80.714972,43.165531 -80.714773,43.165414 -80.714734,43.165382 -80.714532,43.165256 -80.714301,43.165089 -80.714226,43.165020 -80.714135,43.164959 -80.714079,43.164912 -80.713973,43.164833 -80.713933,43.164796 -80.713878,43.164761 -80.713507,43.164463 -80.713238,43.164202 -80.713203,43.164175 -80.713040,43.163993 -80.713013,43.163968 -80.712984,43.163943 -80.712865,43.163852 -80.712664,43.163703 -80.712547,43.163594 -80.712451,43.163526 -80.712323,43.163409 -80.712276,43.163360 -80.712258,43.163347 -80.712122,43.163213 -80.712095,43.163187 -80.711966,43.163048 -80.711961,43.163044 -80.711899,43.162972 -80.711884,43.162943 -80.711865,43.162928 -80.711851,43.162912 -80.711846,43.162908 -80.711831,43.162890 -80.711821,43.162879 -80.711820,43.162876 -80.711802,43.162854 -80.711795,43.162848 -80.711601,43.162580 -80.711576,43.162540 -80.711530,43.162427 -80.711490,43.162388 -80.711358,43.162216 -80.711355,43.162212 -80.711238,43.162104 -80.711109,43.161936 -80.711078,43.161891 -80.711042,43.161812 -80.710931,43.161645 -80.710885,43.161552 -80.710835,43.161501 -80.710823,43.161479 -80.710802,43.161459 -80.710757,43.161372 -80.710645,43.161280 -80.710567,43.161176 -80.710560,43.161160 -80.710500,43.161081 -80.710445,43.160999 -80.710419,43.160965 -80.710347,43.160878 -80.710251,43.160772 -80.710227,43.160727 -80.710179,43.160689 -80.710062,43.160546 -80.709915,43.160386 -80.709782,43.160245 -80.709672,43.160136 -80.709647,43.160113 -80.709484,43.160027 -80.709453,43.160002 -80.709415,43.159989 -80.709205,43.159871 -80.709170,43.159843 -80.709133,43.159829 -80.708974,43.159734 -80.708961,43.159724 -80.708884,43.159679 -80.708825,43.159641 -80.708715,43.159576 -80.708033,43.159208 -80.707193,43.158788 -80.707070,43.158694 -80.706933,43.158643 -80.706755,43.158532 -80.706588,43.158497 -80.706455,43.158449 -80.706296,43.158444 -80.706019,43.158373 -80.706006,43.158372 -80.705769,43.158317 -80.705758,43.158313 -80.705703,43.158301 -80.705454,43.158240 -80.705255,43.158195 -80.705241,43.158190 -80.705165,43.158174 -80.705160,43.158172 -80.705120,43.158166 -80.705086,43.158154 -80.705019,43.158137 -80.704990,43.158127 -80.704902,43.158122 -80.704724,43.158081 -80.704684,43.158066 -80.704516,43.158027 -80.704323,43.157971 -80.704246,43.157951 -80.704155,43.157931 -80.704131,43.157922 -80.704009,43.157895 -80.703615,43.157791 -80.703221,43.157703 -80.703206,43.157697 -80.703194,43.157696 -80.702978,43.157646 -80.702952,43.157637 -80.702839,43.157611 -80.702697,43.157573 -80.702456,43.157518 -80.702418,43.157504 -80.702254,43.157466 -80.701982,43.157389 -80.701843,43.157333 -80.701835,43.157331 -80.701679,43.157287 -80.701545,43.157253 -80.701495,43.157234 -80.701354,43.157200 -80.701295,43.157182 -80.701285,43.157180 -80.701279,43.157177 -80.701269,43.157174 -80.701244,43.157169 -80.701144,43.157142 -80.701075,43.157115 -80.700946,43.157082 -80.700877,43.157059 -80.700326,43.156825 -80.699504,43.156180 -80.699083,43.155359 -80.699129,43.154487 -80.699633,43.153698 -80.700520,43.153112 -80.701654,43.152817 -80.702123,43.152792 -80.702176,43.152792 -80.702359,43.152809 -80.702517,43.152807 -80.702573,43.152811 -80.702972,43.152863 -80.703010,43.152876 -80.703031,43.152877 -80.703140,43.152902 -80.703171,43.152904 -80.703230,43.152918 -80.703270,43.152932 -80.703432,43.152970 -80.703537,43.153000 -80.703549,43.153003 -80.703563,43.153007 -80.703618,43.153023 -80.703649,43.153025 -80.703877,43.153080 -80.703909,43.153092 -80.704026,43.153118 -80.704202,43.153168 -80.705030,43.153362 -80.705097,43.153387 -80.705320,43.153442 -80.705500,43.153499 -80.705745,43.153567 -80.705809,43.153593 -80.705921,43.153621 -80.705954,43.153632 -80.705960,43.153634 -80.706147,43.153671 -80.706178,43.153682 -80.706205,43.153684 -80.706436,43.153734 -80.706475,43.153748 -80.706691,43.153798 -80.706806,43.153831 -80.706863,43.153833 -80.707388,43.153947 -80.707697,43.154007 -80.707756,43.154028 -80.708178,43.154140 -80.708227,43.154146 -80.708246,43.154153 -80.708267,43.154154 -80.708436,43.154186 -80.708448,43.154190 -80.708730,43.154253 -80.709086,43.154348 -80.709186,43.154387 -80.709361,43.154433 -80.709517,43.154487 -80.709569,43.154510 -80.709610,43.154522 -80.709813,43.154599 -80.710159,43.154754 -80.710178,43.154761 -80.710730,43.155046 -80.710750,43.155061 -80.710777,43.155071 -80.710879,43.155125 -80.710991,43.155181 -80.711343,43.155350 -80.711347,43.155353 -80.711354,43.155355 -80.711578,43.155464 -80.711586,43.155469 -80.711595,43.155470 -80.712694,43.155842 -80.712722,43.155859 -80.712725,43.155860 -80.712729,43.155862 -80.712734,43.155864 -80.712759,43.155878 -80.712777,43.155892 -80.713013,43.156035 -80.713020,43.156040 -80.713462,43.156437 -80.713468,43.156442 -80.713502,43.156460 -80.713514,43.156469 -80.713530,43.156474 -80.713852,43.156670 -80.714164,43.156887 -80.714318,43.157025 -80.714465,43.157129 -80.714708,43.157354 -80.714748,43.157396 -80.714763,43.157407 -80.714922,43.157563 -80.715105,43.157730 -80.715121,43.157745 -80.715129,43.157751 -80.715171,43.157790 -80.715282,43.157863 -80.715522,43.158058 -80.715671,43.158202 -80.715732,43.158246 -80.715907,43.158422 -80.715920,43.158446 -80.715954,43.158471 -80.716099,43.158626 -80.716180,43.158711 -80.716229,43.158753 -80.716468,43.158954 -80.716701,43.159184 -80.716729,43.159205 -80.716826,43.159314 -80.716839,43.159338 -80.716866,43.159359 -80.717146,43.159783 -80.717163,43.159817 -80.717235,43.159899 -80.717246,43.159920 -80.717267,43.159937 -80.717461,43.160204 -80.717486,43.160245 -80.717491,43.160256 -80.717510,43.160274 -80.717546,43.160300 -80.717668,43.160413 -80.717752,43.160500 -80.717773,43.160516 -80.717872,43.160620 -80.717890,43.160652 -80.718029,43.160778 -80.718158,43.160868 -80.718208,43.160914 -80.718296,43.160992 -80.718479,43.161176 -80.718595,43.161274 -80.718741,43.161418 -80.718788,43.161453 -80.718834,43.161501 -80.719171,43.161649 -80.719189,43.161655 -80.719354,43.161741 -80.719363,43.161748 -80.719376,43.161752 -80.719376,43.161752 -80.719454,43.161710 -80.719975,43.161529 -80.720125,43.161488 -80.720366,43.161444 -80.720586,43.161298 -80.721105,43.161117 -80.721222,43.161086 -80.721231,43.161084 -80.721243,43.161055 -80.721274,43.160992 -80.721685,43.160431 -80.722145,43.160127 -80.722198,43.160054 -80.722520,43.159785 -80.722577,43.159744 -80.723142,43.159427 -80.723340,43.159370 -80.723707,43.159070 -80.723760,43.159035 -80.724265,43.158759 -80.724325,43.158743 -80.724355,43.158723 -80.724363,43.158720 -80.724373,43.158714 -80.724439,43.158687 -80.724522,43.158617 -80.724631,43.158536 -80.724704,43.158495 -80.724785,43.158430 -80.724959,43.158318 -80.725411,43.158077 -80.725442,43.158069 -80.725465,43.158054 -80.725583,43.158005 -80.725591,43.158003 -80.725611,43.157970 -80.725667,43.157911 -80.725697,43.157891 -80.725716,43.157861 -80.726138,43.157532 -80.726169,43.157507 -80.726183,43.157497 -80.726202,43.157483 -80.726228,43.157467 -80.726228,43.157467 -80.726228,43.157467 -80.726250,43.157453 -80.726260,43.157445 -80.726341,43.157391 -80.726830,43.157126 -80.726940,43.157097 -80.727013,43.157052 -80.727110,43.157016 -80.727125,43.157008 -80.727372,43.156883 -80.727391,43.156871 -80.727535,43.156804 -80.727666,43.156743 -80.727711,43.156730 -80.727749,43.156705 -80.727945,43.156627 -80.728175,43.156468 -80.728250,43.156433 -80.728254,43.156431 -80.728305,43.156388 -80.728368,43.156349 -80.728536,43.156211 -80.728595,43.156171 -80.729116,43.155884 -80.729317,43.155817 -80.729568,43.155687 -80.729685,43.155646 -80.729737,43.155604 -80.729776,43.155577 -80.730270,43.155307 -80.730290,43.155293 -80.730841,43.155104 -80.730910,43.155086 -80.731470,43.154984 -80.731544,43.154926 -80.731665,43.154849 -80.732089,43.154626 -80.732658,43.154443 -80.732669,43.154435 -80.732762,43.154372 -80.733264,43.154098 -80.733845,43.153907 -80.733860,43.153897 -80.733960,43.153857 -80.734064,43.153832 -80.734177,43.153794 -80.734225,43.153597 -80.734729,43.152808 -80.735250,43.152408 -80.735280,43.152390 -80.735645,43.152203 -80.736779,43.151908 -80.737248,43.151883 -80.737277,43.151883 -80.738016,43.151949 -80.738952,43.152266 -80.739046,43.152226 -80.739064,43.152222 -80.739383,43.152103 -80.739642,43.152023 -80.739996,43.151950 -80.740179,43.151897 -80.740302,43.151877 -80.740446,43.151801 -80.740466,43.151788 -80.740590,43.151732 -80.740719,43.151671 -80.740811,43.151646 -80.740884,43.151599 -80.741049,43.151532 -80.741076,43.151526 -80.741292,43.151443 -80.741432,43.151398 -80.741488,43.151346 -80.741602,43.151273 -80.741631,43.151251 -80.741636,43.151243 -80.741667,43.151224 -80.741996,43.150977 -80.742043,43.150950 -80.742258,43.150842 -80.742522,43.150656 -80.742555,43.150648 -80.742569,43.150638 -80.742639,43.150617 -80.742678,43.150593 -80.742725,43.150575 -80.742942,43.150524 -80.743357,43.150395 -80.743425,43.150382 -80.743771,43.150330 -80.743986,43.150337 -80.744012,43.150330 -80.744815,43.150358 -80.744904,43.150330 -80.744930,43.150325 -80.744970,43.150311 -80.745357,43.150199 -80.745358,43.150199 -80.745526,43.150118 -80.746183,43.149903 -80.746358,43.149863 -80.746550,43.149831 -80.746837,43.149737 -80.746915,43.149719 -80.747386,43.149640 -80.747739,43.149621 -80.747777,43.149596 -80.748162,43.149384 -80.748216,43.149347 -80.748312,43.149302 -80.748352,43.149292 -80.748386,43.149269 -80.748665,43.149161 -80.748849,43.149098 -80.748858,43.149097 -80.748879,43.149088 -80.749001,43.149048 -80.749093,43.149028 -80.749243,43.148977 -80.749639,43.148874 -80.749727,43.148858 -80.749788,43.148839 -80.750025,43.148787 -80.750302,43.148722 -80.750353,43.148713 -80.750381,43.148704 -80.750623,43.148653 -80.750674,43.148634 -80.750695,43.148621 -80.750779,43.148589 -80.750796,43.148586 -80.750945,43.148511 -80.750967,43.148496 -80.751147,43.148411 -80.751251,43.148382 -80.751332,43.148330 -80.751778,43.148151 -80.751794,43.148147 -80.751838,43.148107 -80.751981,43.147991 -80.752690,43.147563 -80.753823,43.147268 -80.754250,43.147243 -80.754252,43.147243 -80.754637,43.147130 -80.754704,43.147119 -80.754959,43.146994 -80.755100,43.146919 -80.755243,43.146694 -80.756129,43.146107 -80.756192,43.146091 -80.756236,43.146062 -80.756383,43.146004 -80.757409,43.145753 -80.758320,43.145785 -80.758362,43.145782 -80.759300,43.145537 -80.760508,43.145578 -80.760596,43.145608 -80.760679,43.145612 -80.760842,43.145648 -80.760936,43.145683 -80.760963,43.145666 -80.761087,43.145567 -80.761296,43.145379 -80.761330,43.145358 -80.761483,43.145228 -80.761640,43.145111 -80.761747,43.145022 -80.761755,43.145017 -80.761777,43.144998 -80.761927,43.144878 -80.762004,43.144809 -80.762112,43.144741 -80.762154,43.144708 -80.762397,43.144497 -80.762602,43.144340 -80.762609,43.144335 -80.762621,43.144325 -80.762860,43.144146 -80.763005,43.144062 -80.763136,43.143962 -80.763548,43.143720 -80.764112,43.143375 -80.764244,43.143306 -80.764285,43.143276 -80.764736,43.143039 -80.764955,43.142933 -80.764979,43.142927 -80.764994,43.142917 -80.765086,43.142877 -80.765139,43.142854 -80.765149,43.142847 -80.765205,43.142815 -80.765237,43.142800 -80.765267,43.142778 -80.765277,43.142772 -80.765405,43.142669 -80.766095,43.142256 -80.766097,43.142255 -80.766103,43.142244 -80.766180,43.142136 -80.766425,43.141850 -80.766630,43.141699 -80.766651,43.141680 -80.766682,43.141661 -80.767041,43.141396 -80.767147,43.141338 -80.767360,43.141233 -80.767447,43.141178 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-81.046080,42.723250 -80.997518,42.759040</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-81.041426,42.753092 -81.041397,42.753144 -81.040152,42.754810 -81.040076,42.754864 -81.040054,42.754901 -81.039820,42.755076 -81.039710,42.755245 -81.039613,42.755335 -81.038448,42.756105 -81.038130,42.756343 -81.037845,42.756580 -81.037723,42.756661 -81.037655,42.756699 -81.037326,42.756946 -81.037192,42.757018 -81.036955,42.757092 -81.036942,42.757100 -81.036820,42.757190 -81.036762,42.757219 -81.036704,42.757258 -81.036665,42.757269 -81.036661,42.757271 -81.036648,42.757275 -81.036569,42.757330 -81.036408,42.757397 -81.036142,42.757546 -81.036065,42.757568 -81.036032,42.757591 -81.035683,42.757717 -81.035547,42.757807 -81.035437,42.757852 -81.034969,42.757974 -81.033665,42.758444 -81.033494,42.758489 -81.032815,42.758621 -81.032560,42.758704 -81.032377,42.758740 -81.031358,42.758905 -81.031256,42.758903 -81.031187,42.758923 -81.031035,42.758937 -81.030997,42.758947 -81.030825,42.758966 -81.030745,42.758963 -81.029992,42.759031 -81.029821,42.759040 -81.028906,42.758990 -81.028636,42.759005 -81.028411,42.758992 -81.028288,42.758995 -81.027790,42.759027 -81.026179,42.759028 -81.024335,42.759037 -81.023208,42.758948 -81.021989,42.758995 -81.021956,42.758997 -81.021949,42.758996 -81.021889,42.758999 -81.021745,42.758991 -81.021589,42.758988 -81.021247,42.758956 -81.021094,42.758963 -81.020552,42.758933 -81.019678,42.758972 -81.018699,42.758936 -81.017170,42.758964 -81.017052,42.758955 -81.016877,42.758966 -81.016632,42.758966 -81.015524,42.758876 -81.015239,42.758894 -81.015129,42.758895 -81.012538,42.758684 -81.008301,42.757303 -81.006734,42.756333 -81.006660,42.756279 -81.005030,42.754779 -81.003360,42.751596 -81.003390,42.750657 -81.002456,42.748858 -81.002458,42.748791 -81.002431,42.748741 -81.002429,42.748709 -81.002417,42.748685 -81.002393,42.748568 -81.002405,42.748306 -81.002296,42.746511 -81.002308,42.746403 -81.002420,42.745862 -80.999300,42.743450 -80.997910,42.741167 -80.997886,42.741104 -80.997606,42.740203 -80.997649,42.738867 -80.997562,42.738328 -80.997550,42.738184 -80.997575,42.737951 -80.997518,42.737389 -80.997530,42.737002 -80.997570,42.736764 -80.997557,42.736582 -80.997570,42.736456 -80.997777,42.735417 -80.997826,42.735089 -80.999699,42.731967 -81.000979,42.730845 -81.001470,42.730238 -81.004655,42.727999 -81.004675,42.727977 -81.004726,42.727940 -81.004768,42.727870 -81.004831,42.727814 -81.004841,42.727798 -81.004886,42.727767 -81.006084,42.726716 -81.006109,42.726698 -81.006411,42.726519 -81.007730,42.725449 -81.007815,42.725395 -81.009180,42.724650 -81.011784,42.723737 -81.011967,42.723692 -81.013681,42.723373 -81.016193,42.723250 -81.016384,42.723256 -81.017171,42.723267 -81.017340,42.723264 -81.017446,42.723272 -81.017454,42.723272 -81.017477,42.723274 -81.017822,42.723298 -81.018358,42.723276 -81.018565,42.723285 -81.019196,42.723350 -81.019437,42.723346 -81.019620,42.723364 -81.019707,42.723376 -81.019730,42.723375 -81.019815,42.723384 -81.019849,42.723394 -81.020641,42.723498 -81.020666,42.723506 -81.020727,42.723507 -81.022185,42.723840 -81.023256,42.723534 -81.023302,42.723535 -81.023344,42.723523 -81.023491,42.723505 -81.023556,42.723506 -81.025441,42.723385 -81.025589,42.723385 -81.026275,42.723371 -81.026409,42.723380 -81.026614,42.723367 -81.026687,42.723367 -81.026687,42.723367 -81.026687,42.723367 -81.026724,42.723367 -81.027454,42.723426 -81.028178,42.723377 -81.029094,42.723367 -81.029160,42.723372 -81.029252,42.723366 -81.029411,42.723366 -81.030564,42.723460 -81.031088,42.723454 -81.031174,42.723463 -81.031395,42.723528 -81.032000,42.723577 -81.032024,42.723584 -81.032085,42.723586 -81.036320,42.724965 -81.037887,42.725935 -81.037936,42.725971 -81.039565,42.727469 -81.040151,42.728572 -81.040219,42.728616 -81.042425,42.730512 -81.043749,42.732626 -81.043798,42.732743 -81.044147,42.733812 -81.044260,42.734764 -81.044845,42.736072 -81.044904,42.737247 -81.044976,42.737357 -81.045012,42.737438 -81.045446,42.738701 -81.045478,42.738976 -81.045789,42.739881 -81.045963,42.741185 -81.045976,42.741582 -81.045965,42.741662 -81.045979,42.741780 -81.045979,42.742218 -81.045990,42.742333 -81.045980,42.742433 -81.045980,42.742618 -81.045917,42.743042 -81.045814,42.744033 -81.045902,42.744230 -81.046080,42.745734 -81.046080,42.745788 -81.045896,42.747024 -81.045899,42.747087 -81.045886,42.747168 -81.045851,42.747325 -81.045796,42.747697 -81.045742,42.747808 -81.045730,42.747862 -81.045729,42.747918 -81.045717,42.747963 -81.045701,42.747990 -81.045674,42.748111 -81.045662,42.748130 -81.045661,42.748156 -81.045193,42.749319 -81.045156,42.749391 -81.044819,42.749862 -81.044611,42.750295 -81.044574,42.750349 -81.044398,42.750567 -81.044349,42.750660 -81.044300,42.750723 -81.043823,42.751277 -81.043669,42.751468 -81.043643,42.751486 -81.043632,42.751504 -81.043515,42.751588 -81.043454,42.751686 -81.043417,42.751722 -81.041720,42.752880 -81.041426,42.753092 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-81.750403,42.433324 -81.677850,42.490748</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-81.704032,42.475453 -81.703775,42.475310 -81.703701,42.475265 -81.703572,42.475159 -81.703556,42.475153 -81.702340,42.474627 -81.701513,42.474436 -81.701428,42.474409 -81.699306,42.473553 -81.697977,42.472741 -81.697299,42.472448 -81.694463,42.470404 -81.693717,42.470436 -81.693619,42.470431 -81.693496,42.470425 -81.692742,42.470350 -81.692590,42.470351 -81.690043,42.470161 -81.689907,42.470118 -81.689835,42.470117 -81.689487,42.470024 -81.689256,42.470016 -81.689049,42.469972 -81.688257,42.469696 -81.686818,42.469313 -81.686635,42.469242 -81.686338,42.469110 -81.686240,42.469082 -81.686094,42.469020 -81.685331,42.468665 -81.685319,42.468661 -81.685160,42.468581 -81.685141,42.468567 -81.685116,42.468559 -81.684966,42.468474 -81.684794,42.468390 -81.684782,42.468381 -81.684761,42.468372 -81.684687,42.468315 -81.684546,42.468235 -81.684443,42.468202 -81.683959,42.467922 -81.683862,42.467888 -81.683727,42.467808 -81.683645,42.467741 -81.683303,42.467543 -81.683058,42.467382 -81.680985,42.465600 -81.680865,42.465376 -81.680795,42.465324 -81.680721,42.465244 -81.680720,42.465242 -81.680632,42.465171 -81.680459,42.464947 -81.680437,42.464901 -81.680427,42.464888 -81.680395,42.464862 -81.680321,42.464764 -81.680321,42.464764 -81.680247,42.464665 -81.680237,42.464646 -81.680138,42.464518 -81.679945,42.464375 -81.679921,42.464348 -81.679892,42.464296 -81.679815,42.464229 -81.679808,42.464216 -81.679790,42.464203 -81.679175,42.463413 -81.679138,42.463360 -81.678047,42.460983 -81.677850,42.459460 -81.677850,42.459397 -81.678107,42.457512 -81.678214,42.457238 -81.678215,42.457205 -81.678227,42.457168 -81.678266,42.457104 -81.678568,42.456326 -81.678603,42.456254 -81.679886,42.454413 -81.679971,42.454272 -81.680814,42.453468 -81.680911,42.453387 -81.681094,42.453269 -81.681382,42.453011 -81.681490,42.452929 -81.681906,42.452677 -81.682334,42.452327 -81.682407,42.452282 -81.682421,42.452274 -81.682480,42.452221 -81.682564,42.452157 -81.682574,42.452151 -81.682709,42.452030 -81.682830,42.451939 -81.682909,42.451891 -81.683014,42.451807 -81.683034,42.451795 -81.683095,42.451749 -81.683148,42.451716 -81.683197,42.451675 -81.683342,42.451575 -81.683352,42.451569 -81.683503,42.451437 -81.683732,42.451274 -81.683768,42.451253 -81.683795,42.451229 -81.683976,42.451102 -81.684212,42.450964 -81.684346,42.450853 -81.684515,42.450744 -81.684540,42.450730 -81.684551,42.450721 -81.684729,42.450607 -81.684859,42.450521 -81.684924,42.450485 -81.685064,42.450367 -81.685257,42.450240 -81.685257,42.450240 -81.685257,42.450240 -81.685277,42.450227 -81.685292,42.450214 -81.685473,42.450077 -81.685501,42.450060 -81.685534,42.450032 -81.685763,42.449878 -81.686156,42.449653 -81.686438,42.449427 -81.686619,42.449318 -81.686841,42.449198 -81.686948,42.449133 -81.687030,42.449088 -81.687102,42.449029 -81.687247,42.448939 -81.687625,42.448730 -81.687718,42.448658 -81.687814,42.448603 -81.687915,42.448570 -81.688445,42.448278 -81.688539,42.448251 -81.688627,42.448187 -81.688867,42.448114 -81.689033,42.448000 -81.689117,42.447964 -81.689186,42.447945 -81.689237,42.447840 -81.689356,42.447668 -81.690116,42.446728 -81.692454,42.444862 -81.692684,42.444726 -81.692872,42.444625 -81.692914,42.444592 -81.693156,42.444456 -81.693238,42.444429 -81.693326,42.444361 -81.693543,42.444243 -81.693629,42.444216 -81.693682,42.444176 -81.693686,42.444172 -81.693902,42.444000 -81.694278,42.443766 -81.694623,42.443474 -81.694826,42.443338 -81.695041,42.443194 -81.695254,42.443072 -81.695353,42.442991 -81.695570,42.442854 -81.696675,42.442246 -81.696796,42.442169 -81.697374,42.441848 -81.697506,42.441723 -81.697747,42.441523 -81.697950,42.441395 -81.698020,42.441329 -81.698189,42.441193 -81.698486,42.441007 -81.698806,42.440731 -81.698963,42.440622 -81.699137,42.440521 -81.699236,42.440438 -81.699397,42.440333 -81.699614,42.440148 -81.699718,42.440078 -81.699734,42.440064 -81.699779,42.440036 -81.699880,42.439965 -81.700054,42.439863 -81.700159,42.439775 -81.700352,42.439648 -81.700438,42.439599 -81.700605,42.439481 -81.700826,42.439351 -81.700970,42.439265 -81.701004,42.439235 -81.701062,42.439194 -81.701457,42.438830 -81.701674,42.438657 -81.702208,42.438325 -81.702846,42.437751 -81.703027,42.437615 -81.703361,42.437413 -81.703421,42.437365 -81.703460,42.437331 -81.703485,42.437313 -81.703549,42.437261 -81.703611,42.437223 -81.703677,42.437176 -81.704072,42.436944 -81.704273,42.436780 -81.704478,42.436653 -81.704976,42.436380 -81.705067,42.436311 -81.705284,42.436192 -81.705336,42.436176 -81.705387,42.436137 -81.705593,42.436027 -81.705756,42.435976 -81.705860,42.435911 -81.706032,42.435777 -81.706274,42.435640 -81.706316,42.435626 -81.706493,42.435516 -81.706626,42.435476 -81.706817,42.435370 -81.706837,42.435357 -81.706862,42.435345 -81.707472,42.435006 -81.707550,42.434982 -81.707609,42.434941 -81.707863,42.434822 -81.707894,42.434813 -81.708549,42.434525 -81.708755,42.434443 -81.708919,42.434400 -81.709390,42.434207 -81.709656,42.434115 -81.712470,42.433448 -81.713459,42.433344 -81.713726,42.433324 -81.717338,42.433471 -81.717499,42.433523 -81.717618,42.433524 -81.717682,42.433544 -81.717773,42.433546 -81.718053,42.433598 -81.721846,42.434867 -81.722961,42.435510 -81.723194,42.435662 -81.723592,42.436002 -81.724182,42.436386 -81.724366,42.436538 -81.725476,42.437610 -81.726185,42.438537 -81.726321,42.438743 -81.726436,42.439001 -81.726568,42.439215 -81.726589,42.439244 -81.727203,42.439751 -81.728183,42.441119 -81.728270,42.441272 -81.728998,42.443068 -81.728941,42.446476 -81.727128,42.449609 -81.726199,42.450280 -81.726186,42.451060 -81.725729,42.451848 -81.725961,42.452175 -81.725985,42.452220 -81.726668,42.453935 -81.726867,42.455459 -81.726867,42.455495 -81.726673,42.456926 -81.726836,42.456981 -81.727158,42.456991 -81.727243,42.457008 -81.730774,42.458225 -81.730861,42.458291 -81.730933,42.458314 -81.731092,42.458418 -81.731212,42.458459 -81.731371,42.458548 -81.731757,42.458854 -81.732634,42.459429 -81.732885,42.459582 -81.733044,42.459698 -81.733107,42.459739 -81.733218,42.459832 -81.733365,42.459952 -81.733535,42.460116 -81.733696,42.460221 -81.733795,42.460301 -81.734006,42.460504 -81.734112,42.460578 -81.734235,42.460695 -81.734474,42.460942 -81.734586,42.461022 -81.734647,42.461085 -81.734695,42.461167 -81.734702,42.461173 -81.735198,42.461482 -81.735530,42.461732 -81.735777,42.461960 -81.735873,42.462020 -81.736044,42.462152 -81.736076,42.462173 -81.736193,42.462275 -81.736236,42.462302 -81.736358,42.462400 -81.737062,42.463070 -81.737196,42.463191 -81.737345,42.463286 -81.737576,42.463469 -81.737663,42.463532 -81.737704,42.463569 -81.737723,42.463584 -81.737754,42.463614 -81.737865,42.463683 -81.738111,42.463871 -81.738566,42.464293 -81.738835,42.464478 -81.739019,42.464648 -81.739147,42.464778 -81.739423,42.464951 -81.739656,42.465129 -81.739719,42.465188 -81.739787,42.465231 -81.740069,42.465454 -81.740207,42.465584 -81.740318,42.465657 -81.740429,42.465751 -81.740585,42.465874 -81.740692,42.465976 -81.740783,42.466035 -81.741030,42.466240 -81.741038,42.466247 -81.741052,42.466257 -81.741069,42.466273 -81.741259,42.466429 -81.741459,42.466548 -81.741704,42.466718 -81.741893,42.466884 -81.742118,42.467034 -81.742303,42.467194 -81.742423,42.467270 -81.742474,42.467309 -81.742515,42.467336 -81.742590,42.467399 -81.742593,42.467401 -81.742669,42.467460 -81.742672,42.467462 -81.742891,42.467615 -81.743110,42.467809 -81.743174,42.467848 -81.743506,42.468080 -81.743551,42.468120 -81.743584,42.468142 -81.743854,42.468365 -81.743990,42.468496 -81.744022,42.468516 -81.744403,42.468793 -81.744463,42.468847 -81.744519,42.468886 -81.744870,42.469202 -81.745061,42.469336 -81.745181,42.469417 -81.745489,42.469689 -81.745733,42.469848 -81.746003,42.470071 -81.746889,42.470927 -81.746974,42.470990 -81.747171,42.471205 -81.747207,42.471270 -81.747292,42.471343 -81.747300,42.471349 -81.747301,42.471350 -81.747446,42.471474 -81.747569,42.471595 -81.747636,42.471641 -81.747845,42.471829 -81.748629,42.472619 -81.750081,42.474972 -81.750144,42.475134 -81.750403,42.475945 -81.750348,42.479354 -81.748535,42.482487 -81.747500,42.483451 -81.747331,42.483587 -81.745504,42.484733 -81.745265,42.484909 -81.744975,42.485055 -81.744794,42.485110 -81.744777,42.485123 -81.744426,42.485305 -81.744255,42.485359 -81.744134,42.485440 -81.744030,42.485484 -81.743953,42.485539 -81.743764,42.485628 -81.743560,42.485730 -81.743512,42.485745 -81.743474,42.485766 -81.743389,42.485794 -81.743303,42.485856 -81.743261,42.485876 -81.743225,42.485903 -81.742850,42.486104 -81.742787,42.486124 -81.742726,42.486169 -81.742218,42.486434 -81.742197,42.486440 -81.742177,42.486455 -81.741857,42.486620 -81.741594,42.486764 -81.741167,42.486902 -81.740936,42.487075 -81.740625,42.487238 -81.740605,42.487252 -81.740562,42.487270 -81.740465,42.487321 -81.740402,42.487341 -81.740169,42.487444 -81.739945,42.487506 -81.739906,42.487536 -81.739742,42.487629 -81.739577,42.487742 -81.739310,42.487857 -81.739056,42.487975 -81.738928,42.488068 -81.738468,42.488296 -81.738447,42.488303 -81.738429,42.488316 -81.738046,42.488504 -81.737889,42.488588 -81.737616,42.488674 -81.737381,42.488843 -81.736957,42.489044 -81.736891,42.489063 -81.736434,42.489321 -81.736060,42.489431 -81.735960,42.489472 -81.735609,42.489565 -81.735593,42.489569 -81.732260,42.490570 -81.732165,42.490584 -81.732157,42.490587 -81.732140,42.490588 -81.732065,42.490599 -81.732006,42.490598 -81.731951,42.490615 -81.731404,42.490640 -81.730098,42.490734 -81.730086,42.490734 -81.729822,42.490714 -81.729106,42.490748 -81.728923,42.490740 -81.728636,42.490711 -81.728624,42.490712 -81.728453,42.490704 -81.728084,42.490667 -81.727957,42.490669 -81.727713,42.490643 -81.727638,42.490622 -81.727546,42.490612 -81.727353,42.490614 -81.727206,42.490597 -81.727107,42.490568 -81.726748,42.490532 -81.726730,42.490526 -81.726673,42.490526 -81.726502,42.490500 -81.726468,42.490489 -81.726431,42.490489 -81.725962,42.490400 -81.725953,42.490400 -81.725807,42.490374 -81.725785,42.490367 -81.725502,42.490314 -81.725343,42.490279 -81.725259,42.490249 -81.724697,42.490133 -81.724526,42.490089 -81.724252,42.489986 -81.723787,42.489878 -81.723506,42.489790 -81.721960,42.489162 -81.721802,42.489116 -81.721607,42.489027 -81.721581,42.489009 -81.721441,42.488952 -81.721305,42.488848 -81.721099,42.488783 -81.720298,42.488338 -81.720151,42.488249 -81.720080,42.488190 -81.719833,42.488046 -81.719774,42.487999 -81.719631,42.487914 -81.719434,42.487781 -81.719123,42.487508 -81.718231,42.486920 -81.718031,42.486750 -81.717893,42.486634 -81.717772,42.486516 -81.717699,42.486467 -81.717578,42.486360 -81.717494,42.486288 -81.717116,42.485915 -81.716711,42.485525 -81.716527,42.485389 -81.716478,42.485335 -81.716451,42.485286 -81.716398,42.485244 -81.716383,42.485217 -81.716348,42.485191 -81.716330,42.485157 -81.715230,42.484486 -81.715156,42.484432 -81.715106,42.484387 -81.715021,42.484325 -81.714574,42.483920 -81.714278,42.483718 -81.714228,42.483673 -81.713905,42.483345 -81.713750,42.483233 -81.713689,42.483170 -81.713625,42.483060 -81.713444,42.482896 -81.712662,42.482390 -81.712564,42.482310 -81.712508,42.482256 -81.712465,42.482228 -81.712306,42.482094 -81.712287,42.482076 -81.712283,42.482072 -81.712243,42.482037 -81.712195,42.482006 -81.712060,42.481899 -81.712004,42.481846 -81.711892,42.481774 -81.711769,42.481676 -81.711759,42.481666 -81.711666,42.481607 -81.711494,42.481473 -81.711402,42.481386 -81.711227,42.481259 -81.711170,42.481208 -81.711158,42.481200 -81.711081,42.481134 -81.711071,42.481126 -81.710942,42.481045 -81.710770,42.480911 -81.710578,42.480730 -81.710394,42.480612 -81.710288,42.480527 -81.710170,42.480433 -81.710132,42.480397 -81.710097,42.480375 -81.709986,42.480285 -81.709672,42.479986 -81.709535,42.479897 -81.709412,42.479799 -81.709299,42.479692 -81.709262,42.479663 -81.709214,42.479633 -81.709117,42.479563 -81.709100,42.479552 -81.708928,42.479418 -81.708730,42.479231 -81.708499,42.479080 -81.708265,42.478883 -81.708182,42.478802 -81.708130,42.478767 -81.707987,42.478642 -81.707956,42.478617 -81.707839,42.478526 -81.707757,42.478448 -81.707619,42.478360 -81.707497,42.478262 -81.707168,42.477949 -81.707005,42.477839 -81.706929,42.477771 -81.706902,42.477747 -81.706902,42.477747 -81.706840,42.477694 -81.706792,42.477646 -81.706635,42.477550 -81.706513,42.477461 -81.706073,42.477063 -81.705665,42.476800 -81.705444,42.476621 -81.705335,42.476517 -81.705253,42.476463 -81.705106,42.476338 -81.704841,42.476078 -81.704727,42.475999 -81.704647,42.475950 -81.704548,42.475879 -81.704548,42.475879 -81.704450,42.475807 -81.704391,42.475753 -81.704377,42.475745 -81.704303,42.475691 -81.704061,42.475472 -81.704032,42.475453 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.861746,42.729893 -80.725408,42.787593</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.838952,42.729905 -80.843580,42.729994 -80.845310,42.730387 -80.846468,42.730723 -80.849787,42.730918 -80.854017,42.732306 -80.855741,42.733645 -80.856779,42.734172 -80.856829,42.734210 -80.856897,42.734233 -80.860085,42.736708 -80.861746,42.739895 -80.861626,42.743307 -80.861484,42.743542 -80.861468,42.743765 -80.859979,42.747634 -80.858254,42.750295 -80.854895,42.752645 -80.852742,42.753294 -80.851020,42.754447 -80.846695,42.755671 -80.845774,42.755698 -80.844750,42.757392 -80.844409,42.757630 -80.844240,42.757886 -80.841110,42.760702 -80.838396,42.763143 -80.835545,42.764999 -80.833703,42.765698 -80.830374,42.766700 -80.829716,42.766839 -80.829494,42.766994 -80.826340,42.768023 -80.820052,42.769310 -80.819187,42.769453 -80.818623,42.769894 -80.817147,42.770760 -80.816077,42.771321 -80.811750,42.772543 -80.811137,42.772531 -80.810632,42.772911 -80.809542,42.773508 -80.809162,42.773628 -80.808790,42.773888 -80.804714,42.775038 -80.803872,42.775626 -80.802057,42.776315 -80.797557,42.777678 -80.795045,42.778209 -80.793643,42.778299 -80.792534,42.779073 -80.788206,42.780293 -80.786624,42.780413 -80.781444,42.780548 -80.778393,42.780335 -80.775186,42.779280 -80.774212,42.780887 -80.770846,42.783234 -80.767342,42.784328 -80.762540,42.785193 -80.762154,42.785195 -80.761970,42.785247 -80.760353,42.786374 -80.756024,42.787593 -80.751390,42.787498 -80.749953,42.787257 -80.747115,42.786323 -80.746872,42.786391 -80.742238,42.786296 -80.741194,42.786009 -80.738437,42.785880 -80.734205,42.784486 -80.731021,42.782006 -80.729368,42.778816 -80.729227,42.777937 -80.729020,42.775675 -80.729090,42.775028 -80.728365,42.773956 -80.727798,42.772859 -80.727189,42.771212 -80.727319,42.767800 -80.727793,42.767020 -80.727558,42.766837 -80.725906,42.763648 -80.725782,42.762939 -80.725408,42.759759 -80.725661,42.757055 -80.727553,42.753939 -80.730919,42.751594 -80.734252,42.750534 -80.738587,42.749704 -80.739581,42.749547 -80.742902,42.749615 -80.744536,42.749155 -80.744817,42.749160 -80.745052,42.749098 -80.746762,42.748940 -80.747640,42.748973 -80.748011,42.748360 -80.751375,42.746014 -80.755701,42.744796 -80.756171,42.744805 -80.756536,42.744713 -80.763951,42.744177 -80.767746,42.744353 -80.769356,42.744713 -80.770329,42.744987 -80.772947,42.746019 -80.776131,42.748498 -80.776242,42.748712 -80.776597,42.748465 -80.777302,42.748137 -80.781627,42.746918 -80.781829,42.746922 -80.781925,42.746854 -80.781313,42.745675 -80.781167,42.744748 -80.780841,42.740909 -80.781113,42.738424 -80.783001,42.735307 -80.786362,42.732960 -80.790686,42.731739 -80.795314,42.731832 -80.796576,42.732098 -80.799095,42.732742 -80.802061,42.733866 -80.802848,42.734329 -80.803812,42.733655 -80.808135,42.732434 -80.812763,42.732525 -80.816992,42.733915 -80.817179,42.734061 -80.817399,42.734137 -80.818041,42.734503 -80.819147,42.734174 -80.822632,42.733643 -80.822827,42.733645 -80.823027,42.733588 -80.826376,42.733555 -80.826814,42.733441 -80.828538,42.732163 -80.829980,42.731402 -80.830280,42.731309 -80.830558,42.731115 -80.834881,42.729893 -80.838704,42.729967 -80.838952,42.729905 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-81.083965,43.238660 -80.988319,43.271872</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-81.080271,43.266930 -81.080338,43.267134 -81.063864,43.271872 -81.060656,43.267970 -81.055166,43.269033 -81.048553,43.257258 -81.051938,43.256542 -81.052231,43.256658 -81.052178,43.256557 -81.052137,43.256196 -81.052137,43.256124 -81.052137,43.256124 -81.052137,43.256124 -81.052137,43.256098 -81.052132,43.256037 -81.052147,43.255899 -81.051948,43.255784 -81.051763,43.255667 -81.051161,43.255153 -81.051017,43.254967 -81.050993,43.254931 -81.050966,43.254871 -81.050926,43.254845 -81.050921,43.254841 -81.050845,43.254810 -81.050794,43.254786 -81.050481,43.254661 -81.050320,43.254587 -81.050285,43.254576 -81.050113,43.254495 -81.050052,43.254451 -81.049963,43.254421 -81.049828,43.254349 -81.049819,43.254342 -81.049587,43.254198 -81.049538,43.254187 -81.049366,43.254143 -81.049010,43.254006 -81.048768,43.253933 -81.048349,43.253744 -81.048329,43.253729 -81.048293,43.253718 -81.048084,43.253619 -81.048033,43.253581 -81.047957,43.253556 -81.047689,43.253398 -81.047565,43.253317 -81.047228,43.253024 -81.047205,43.253016 -81.046731,43.252710 -81.046583,43.252593 -81.046519,43.252532 -81.046515,43.252530 -81.046358,43.252437 -81.046319,43.252420 -81.046288,43.252412 -81.045980,43.252304 -81.045518,43.252104 -81.045512,43.252102 -81.045380,43.252033 -81.045349,43.252018 -81.045344,43.252014 -81.045339,43.252012 -81.045311,43.251990 -81.045258,43.251972 -81.044481,43.251385 -81.044407,43.251304 -81.044391,43.251274 -81.044357,43.251248 -81.044329,43.251193 -81.044250,43.251090 -81.044187,43.251027 -81.044160,43.251007 -81.044136,43.250980 -81.044131,43.250971 -81.044111,43.250951 -81.044104,43.250938 -81.044086,43.250924 -81.043985,43.250709 -81.043908,43.250559 -81.043737,43.250244 -81.043679,43.250194 -81.043668,43.250190 -81.043280,43.249949 -81.043206,43.249895 -81.043035,43.249738 -81.043013,43.249720 -81.042682,43.249493 -81.042660,43.249474 -81.042614,43.249445 -81.042540,43.249391 -81.042202,43.249080 -81.042096,43.249010 -81.042066,43.248983 -81.041998,43.248941 -81.041929,43.248891 -81.041640,43.248704 -81.041562,43.248642 -81.041390,43.248523 -81.041185,43.248340 -81.041043,43.248238 -81.040991,43.248188 -81.040895,43.248147 -81.040635,43.247995 -81.040077,43.247631 -81.039962,43.247572 -81.039926,43.247554 -81.039866,43.247509 -81.039859,43.247506 -81.039856,43.247505 -81.039650,43.247482 -81.039397,43.247445 -81.038964,43.247344 -81.038841,43.247308 -81.038172,43.247040 -81.038149,43.247022 -81.038120,43.247012 -81.038050,43.246974 -81.037994,43.246945 -81.037991,43.246943 -81.037987,43.246941 -81.037739,43.246775 -81.037691,43.246756 -81.037371,43.246608 -81.037301,43.246554 -81.037223,43.246526 -81.037026,43.246409 -81.036981,43.246372 -81.036786,43.246251 -81.036775,43.246243 -81.036773,43.246243 -81.036582,43.246276 -81.036338,43.246311 -81.036335,43.246312 -81.036313,43.246315 -81.035655,43.246467 -81.035642,43.246467 -81.035629,43.246470 -81.035543,43.246479 -81.035537,43.246479 -81.035323,43.246496 -81.035277,43.246499 -81.035258,43.246503 -81.035196,43.246527 -81.034983,43.246619 -81.034975,43.246621 -81.034969,43.246626 -81.034948,43.246634 -81.034890,43.246665 -81.034652,43.246851 -81.034626,43.246867 -81.034579,43.246906 -81.034493,43.246969 -81.034423,43.247010 -81.034350,43.247067 -81.034098,43.247230 -81.033945,43.247358 -81.033877,43.247459 -81.033872,43.247464 -81.033853,43.247502 -81.033717,43.247692 -81.033717,43.247693 -81.033716,43.247693 -81.033705,43.247709 -81.033606,43.247825 -81.033494,43.247959 -81.033481,43.247981 -81.033296,43.248172 -81.033295,43.248173 -81.033295,43.248173 -81.033295,43.248173 -81.033254,43.248240 -81.033117,43.248412 -81.033071,43.248493 -81.032973,43.248610 -81.032835,43.248760 -81.032802,43.248781 -81.032785,43.248808 -81.032701,43.248886 -81.032686,43.248910 -81.032379,43.249291 -81.032341,43.249317 -81.032320,43.249348 -81.032257,43.249406 -81.032175,43.249497 -81.032127,43.249530 -81.032096,43.249579 -81.031923,43.249736 -81.031692,43.249927 -81.031680,43.249940 -81.031650,43.249961 -81.031641,43.249968 -81.031567,43.250093 -81.031491,43.250143 -81.031453,43.250199 -81.031368,43.250273 -81.031331,43.250334 -81.031307,43.250396 -81.031208,43.250612 -81.031181,43.250650 -81.031098,43.250841 -81.031074,43.250886 -81.031018,43.250960 -81.030971,43.251053 -81.030845,43.251237 -81.030790,43.251359 -81.030757,43.251405 -81.030737,43.251452 -81.030726,43.251478 -81.030721,43.251488 -81.030717,43.251498 -81.030710,43.251511 -81.030677,43.251577 -81.030638,43.251631 -81.030593,43.251747 -81.030544,43.251855 -81.030497,43.251920 -81.030421,43.252080 -81.030348,43.252198 -81.030263,43.252302 -81.030258,43.252313 -81.030196,43.252403 -81.030120,43.252494 -81.030119,43.252496 -81.030115,43.252501 -81.029977,43.252665 -81.029963,43.252688 -81.029815,43.252842 -81.029794,43.252856 -81.029782,43.252876 -81.029567,43.253066 -81.029419,43.253183 -81.029314,43.253246 -81.029173,43.253358 -81.029135,43.253381 -81.028976,43.253533 -81.028960,43.253554 -81.028909,43.253651 -81.028892,43.253673 -81.028864,43.253743 -81.028851,43.253763 -81.028850,43.253779 -81.028788,43.253923 -81.028770,43.253949 -81.028725,43.254056 -81.028663,43.254173 -81.028280,43.254686 -81.027981,43.254940 -81.027978,43.254943 -81.027863,43.255059 -81.027854,43.255065 -81.027849,43.255073 -81.027644,43.255256 -81.027213,43.255601 -81.027134,43.255693 -81.027114,43.255729 -81.027067,43.255784 -81.027044,43.255812 -81.026888,43.255983 -81.026281,43.256387 -81.026200,43.256451 -81.026136,43.256492 -81.026128,43.256498 -81.026117,43.256504 -81.026024,43.256564 -81.025863,43.256687 -81.025558,43.256865 -81.025406,43.256974 -81.025283,43.257037 -81.025246,43.257048 -81.025227,43.257059 -81.025179,43.257071 -81.025102,43.257123 -81.025009,43.257163 -81.024991,43.257178 -81.024844,43.257277 -81.024593,43.257414 -81.024519,43.257467 -81.024462,43.257496 -81.024403,43.257543 -81.024292,43.257615 -81.023835,43.257860 -81.023551,43.257971 -81.023393,43.258025 -81.023144,43.258147 -81.022954,43.258200 -81.022813,43.258287 -81.022616,43.258359 -81.022200,43.258455 -81.021932,43.258533 -81.021865,43.258557 -81.021695,43.258596 -81.021447,43.258680 -81.021373,43.258698 -81.021263,43.258717 -81.021208,43.258735 -81.020937,43.258789 -81.020906,43.258793 -81.020373,43.258934 -81.019903,43.258959 -81.019854,43.258959 -81.019113,43.258895 -81.018977,43.258849 -81.018505,43.258858 -81.018382,43.258849 -81.018329,43.258843 -81.018166,43.258852 -81.018129,43.258852 -81.017567,43.258803 -81.017244,43.258987 -81.016110,43.259285 -81.016076,43.259284 -81.016058,43.259289 -81.016038,43.259291 -81.016030,43.259294 -81.015995,43.259297 -81.015984,43.259298 -81.015981,43.259298 -81.015946,43.259301 -81.015938,43.259303 -81.015465,43.259288 -81.015172,43.259298 -81.015074,43.259293 -81.015049,43.259293 -81.015021,43.259291 -81.014975,43.259289 -81.014894,43.259280 -81.014309,43.259229 -81.014296,43.259225 -81.014283,43.259225 -81.014281,43.259224 -81.014224,43.259228 -81.014081,43.259233 -81.014035,43.259237 -81.013992,43.259236 -81.013973,43.259236 -81.013932,43.259246 -81.013824,43.259254 -81.013702,43.259271 -81.013644,43.259270 -81.013585,43.259286 -81.013268,43.259309 -81.012763,43.259327 -81.011869,43.259265 -81.011819,43.259249 -81.011770,43.259247 -81.011621,43.259217 -81.011466,43.259202 -81.011142,43.259157 -81.011113,43.259148 -81.011082,43.259146 -81.010747,43.259082 -81.010439,43.259064 -81.010438,43.259064 -81.010438,43.259064 -81.010434,43.259063 -81.010371,43.259061 -81.010325,43.259054 -81.009849,43.259022 -81.009750,43.258990 -81.009698,43.258987 -81.009688,43.258986 -81.009687,43.258986 -81.009660,43.258985 -81.009500,43.258949 -81.009413,43.258917 -81.009121,43.258844 -81.009075,43.258828 -81.008999,43.258810 -81.008886,43.258775 -81.008867,43.258773 -81.008575,43.258780 -81.008369,43.258764 -81.008146,43.258768 -81.007801,43.258741 -81.007588,43.258714 -81.007546,43.258713 -81.007288,43.258677 -81.007221,43.258656 -81.007138,43.258653 -81.006809,43.258572 -81.006682,43.258545 -81.006497,43.258500 -81.006331,43.258438 -81.006313,43.258437 -81.005717,43.258285 -81.005532,43.258222 -81.005181,43.258072 -81.005116,43.258051 -81.005005,43.257997 -81.004965,43.257967 -81.004908,43.257948 -81.004686,43.257831 -81.004679,43.257825 -81.004318,43.257587 -81.004290,43.257596 -81.004142,43.257623 -81.003852,43.257666 -81.003605,43.257686 -81.003433,43.257695 -81.003222,43.257682 -81.002873,43.257687 -81.002528,43.257660 -81.002283,43.257629 -81.002245,43.257629 -81.001999,43.257593 -81.001891,43.257558 -81.001772,43.257553 -81.001551,43.257508 -81.001266,43.257409 -81.000722,43.257241 -81.000623,43.257196 -81.000619,43.257193 -81.000555,43.257170 -81.000396,43.257127 -81.000160,43.257065 -81.000018,43.257015 -80.999799,43.256969 -80.999682,43.256927 -80.999653,43.256919 -80.999565,43.256905 -80.999546,43.256898 -80.999524,43.256898 -80.998639,43.256633 -80.998577,43.256606 -80.998360,43.256502 -80.998149,43.256380 -80.998031,43.256306 -80.998003,43.256294 -80.997650,43.256079 -80.997626,43.256062 -80.997617,43.256053 -80.997599,43.256042 -80.997501,43.255971 -80.997053,43.255562 -80.997016,43.255490 -80.996980,43.255462 -80.996976,43.255456 -80.996954,43.255437 -80.996923,43.255394 -80.996886,43.255377 -80.996873,43.255367 -80.996833,43.255349 -80.996820,43.255339 -80.996796,43.255331 -80.996584,43.255209 -80.996412,43.255101 -80.996165,43.254892 -80.995828,43.254641 -80.995717,43.254524 -80.995691,43.254477 -80.995637,43.254435 -80.995494,43.254249 -80.995487,43.254238 -80.995396,43.254119 -80.995342,43.254005 -80.995262,43.253895 -80.995213,43.253814 -80.995096,43.253531 -80.995027,43.253409 -80.994990,43.253292 -80.994991,43.253273 -80.994990,43.253273 -80.994991,43.253270 -80.994991,43.253202 -80.994943,43.253107 -80.994931,43.253044 -80.994934,43.252996 -80.994927,43.252906 -80.994901,43.252847 -80.994676,43.252652 -80.994318,43.252014 -80.994282,43.251986 -80.993857,43.251166 -80.993824,43.250871 -80.993823,43.250868 -80.993811,43.250787 -80.993817,43.250715 -80.993817,43.250670 -80.993825,43.250620 -80.993874,43.250033 -80.994109,43.249561 -80.994122,43.249543 -80.994388,43.249225 -80.994366,43.249160 -80.994366,43.249160 -80.994304,43.249051 -80.994266,43.248934 -80.994252,43.248910 -80.994240,43.248874 -80.994235,43.248856 -80.994229,43.248847 -80.994215,43.248811 -80.994215,43.248811 -80.994215,43.248811 -80.994155,43.248658 -80.994104,43.248489 -80.994095,43.248473 -80.994024,43.248208 -80.993967,43.248066 -80.993956,43.248033 -80.993949,43.248021 -80.993875,43.247824 -80.993808,43.247600 -80.993809,43.247597 -80.993784,43.247556 -80.993772,43.247526 -80.993769,43.247524 -80.993674,43.247401 -80.993642,43.247366 -80.993623,43.247340 -80.993585,43.247338 -80.993336,43.247309 -80.993134,43.247338 -80.992273,43.247346 -80.992175,43.247337 -80.991826,43.247290 -80.991813,43.247286 -80.991800,43.247286 -80.991702,43.247268 -80.991246,43.247113 -80.990703,43.246940 -80.990634,43.246906 -80.990625,43.246903 -80.990615,43.246897 -80.990592,43.246886 -80.990569,43.246868 -80.990549,43.246856 -80.990502,43.246840 -80.990417,43.246791 -80.990379,43.246777 -80.990341,43.246748 -80.990290,43.246719 -80.990204,43.246665 -80.989870,43.246381 -80.989553,43.246133 -80.989316,43.245677 -80.988777,43.245214 -80.988352,43.244394 -80.988319,43.243874 -80.988391,43.243147 -80.988391,43.243147 -80.988391,43.243147 -80.988403,43.243032 -80.988403,43.243032 -80.988403,43.243032 -80.988418,43.242876 -80.988442,43.242762 -80.988443,43.242740 -80.988449,43.242731 -80.988451,43.242723 -80.988451,43.242717 -80.988453,43.242711 -80.988493,43.242524 -80.988994,43.241733 -80.989879,43.241144 -80.991013,43.240846 -80.992223,43.240885 -80.993325,43.241254 -80.994152,43.241898 -80.994236,43.242061 -80.994289,43.242026 -80.995277,43.241747 -80.995401,43.241729 -80.995419,43.241729 -80.995423,43.241728 -80.995471,43.241730 -80.995546,43.241710 -80.995934,43.241715 -80.996149,43.241674 -80.996619,43.241648 -80.996718,43.241648 -80.996718,43.241648 -80.996718,43.241648 -80.996767,43.241648 -80.996804,43.241651 -80.997004,43.241605 -80.997350,43.241500 -80.997497,43.241473 -80.997787,43.241431 -80.998998,43.241469 -80.999502,43.241592 -80.999588,43.241619 -81.000186,43.241865 -81.000574,43.242106 -81.000635,43.242151 -81.000635,43.242151 -81.000648,43.242160 -81.001086,43.242563 -81.001511,43.243383 -81.001545,43.243606 -81.001552,43.243682 -81.001553,43.243686 -81.001552,43.243688 -81.001558,43.243750 -81.001558,43.243752 -81.001676,43.243850 -81.001930,43.244041 -81.002000,43.244117 -81.002002,43.244119 -81.002114,43.244207 -81.002383,43.244462 -81.002428,43.244497 -81.002552,43.244632 -81.002568,43.244662 -81.002601,43.244688 -81.002710,43.244840 -81.002772,43.244904 -81.002780,43.244911 -81.002977,43.245136 -81.002983,43.245147 -81.002995,43.245156 -81.003183,43.245411 -81.003319,43.245628 -81.003397,43.245815 -81.003453,43.245503 -81.021311,43.246773 -81.021426,43.246647 -81.021628,43.246500 -81.021677,43.246430 -81.021701,43.246390 -81.021755,43.246321 -81.021758,43.246316 -81.021763,43.246311 -81.021834,43.246219 -81.021861,43.246164 -81.021947,43.246038 -81.022028,43.245942 -81.022065,43.245777 -81.022096,43.245723 -81.022099,43.245651 -81.022161,43.245453 -81.022166,43.245445 -81.022142,43.245426 -81.021982,43.245227 -81.021978,43.245220 -81.021898,43.245156 -81.021553,43.244825 -81.021410,43.244639 -81.021324,43.244513 -81.021316,43.244495 -81.021316,43.244494 -81.021309,43.244485 -81.021295,43.244474 -81.020870,43.243654 -81.020829,43.243293 -81.020829,43.243230 -81.020911,43.242719 -81.021412,43.241929 -81.022297,43.241339 -81.023431,43.241041 -81.024103,43.241062 -81.024307,43.241051 -81.024344,43.241051 -81.025084,43.241115 -81.025628,43.241297 -81.025982,43.241095 -81.026061,43.241041 -81.026233,43.240960 -81.026276,43.240948 -81.026312,43.240924 -81.026512,43.240845 -81.026680,43.240709 -81.026816,43.240618 -81.027168,43.240427 -81.027188,43.240413 -81.027225,43.240395 -81.027229,43.240394 -81.027297,43.240357 -81.027334,43.240347 -81.027346,43.240339 -81.028110,43.240143 -81.028218,43.240114 -81.028480,43.240040 -81.028506,43.240041 -81.028529,43.240035 -81.028726,43.240016 -81.028863,43.239977 -81.028961,43.239958 -81.029017,43.239937 -81.029288,43.239855 -81.029427,43.239804 -81.029559,43.239773 -81.029766,43.239701 -81.029855,43.239677 -81.029871,43.239673 -81.029877,43.239672 -81.029901,43.239665 -81.030032,43.239641 -81.030193,43.239609 -81.030281,43.239581 -81.030687,43.239500 -81.031041,43.239445 -81.031055,43.239446 -81.031067,43.239443 -81.031240,43.239424 -81.031249,43.239425 -81.031466,43.239409 -81.031634,43.239357 -81.031670,43.239350 -81.031722,43.239333 -81.031747,43.239328 -81.031915,43.239267 -81.032038,43.239231 -81.032048,43.239229 -81.032079,43.239219 -81.032160,43.239202 -81.032209,43.239185 -81.032246,43.239176 -81.032437,43.239143 -81.032553,43.239118 -81.032731,43.239067 -81.032977,43.239031 -81.033216,43.238964 -81.033718,43.238804 -81.034062,43.238732 -81.034453,43.238670 -81.035298,43.238660 -81.035474,43.238676 -81.036043,43.238690 -81.036062,43.238692 -81.036082,43.238691 -81.037088,43.238726 -81.037432,43.238733 -81.037490,43.238733 -81.037705,43.238726 -81.037747,43.238729 -81.037842,43.238724 -81.038063,43.238724 -81.038803,43.238788 -81.038848,43.238803 -81.038894,43.238805 -81.039029,43.238832 -81.039118,43.238863 -81.039119,43.238863 -81.039394,43.238925 -81.039493,43.238952 -81.039528,43.238965 -81.039801,43.238999 -81.039895,43.239028 -81.040016,43.239032 -81.040472,43.239113 -81.040580,43.239149 -81.040677,43.239154 -81.040911,43.239208 -81.041007,43.239243 -81.041159,43.239282 -81.041205,43.239292 -81.041279,43.239310 -81.041345,43.239334 -81.041468,43.239364 -81.041490,43.239368 -81.041503,43.239373 -81.041525,43.239378 -81.041536,43.239381 -81.041538,43.239381 -81.041561,43.239389 -81.041569,43.239392 -81.041642,43.239409 -81.041689,43.239411 -81.042108,43.239501 -81.042227,43.239543 -81.042504,43.239617 -81.042518,43.239618 -81.042615,43.239621 -81.042940,43.239615 -81.043424,43.239652 -81.043618,43.239654 -81.043666,43.239661 -81.043686,43.239662 -81.044260,43.239723 -81.045331,43.240075 -81.045454,43.240138 -81.045467,43.240148 -81.045485,43.240154 -81.045874,43.240395 -81.045947,43.240449 -81.045976,43.240475 -81.046085,43.240521 -81.046336,43.240640 -81.046359,43.240658 -81.046388,43.240668 -81.046406,43.240678 -81.046516,43.240710 -81.046664,43.240773 -81.046915,43.240892 -81.046949,43.240919 -81.046990,43.240933 -81.047303,43.241108 -81.047324,43.241113 -81.047558,43.241194 -81.047677,43.241245 -81.048282,43.241450 -81.048670,43.241691 -81.049077,43.241987 -81.049401,43.242285 -81.049466,43.242334 -81.049663,43.242550 -81.049675,43.242572 -81.049840,43.242701 -81.049915,43.242747 -81.050183,43.242895 -81.050242,43.242917 -81.050328,43.242984 -81.050420,43.243018 -81.050494,43.243063 -81.050494,43.243063 -81.050568,43.243108 -81.051215,43.243649 -81.051216,43.243650 -81.051278,43.243722 -81.051278,43.243722 -81.051278,43.243722 -81.051293,43.243750 -81.051421,43.243917 -81.051434,43.243935 -81.051512,43.244110 -81.051640,43.244214 -81.051697,43.244270 -81.051739,43.244298 -81.052293,43.244793 -81.052523,43.245027 -81.052540,43.245060 -81.052547,43.245065 -81.052551,43.245069 -81.052572,43.245086 -81.052606,43.245128 -81.052623,43.245146 -81.052630,43.245149 -81.052817,43.245254 -81.052848,43.245268 -81.053138,43.245365 -81.053717,43.245758 -81.053779,43.245812 -81.053829,43.245862 -81.054168,43.246054 -81.054205,43.246084 -81.054463,43.246244 -81.054574,43.246325 -81.054603,43.246352 -81.054644,43.246378 -81.054829,43.246522 -81.054852,43.246544 -81.055240,43.246784 -81.055375,43.246883 -81.055568,43.247059 -81.055622,43.247099 -81.055905,43.247280 -81.056022,43.247328 -81.056331,43.247470 -81.056401,43.247525 -81.056479,43.247553 -81.056676,43.247670 -81.056772,43.247749 -81.056790,43.247755 -81.056892,43.247776 -81.056929,43.247785 -81.057772,43.248100 -81.057788,43.248112 -81.058552,43.247935 -81.059022,43.247909 -81.059096,43.247909 -81.059836,43.247973 -81.060021,43.248014 -81.060070,43.248018 -81.060127,43.248037 -81.060175,43.248047 -81.060311,43.248083 -81.060603,43.248196 -81.061172,43.248386 -81.061999,43.249029 -81.062425,43.249849 -81.062466,43.250210 -81.062466,43.250264 -81.062384,43.250775 -81.062362,43.250810 -81.062697,43.250852 -81.063268,43.251043 -81.063274,43.251043 -81.063338,43.251052 -81.063676,43.251047 -81.063704,43.251040 -81.064174,43.251014 -81.064248,43.251014 -81.064988,43.251078 -81.066091,43.251446 -81.066426,43.251651 -81.067009,43.251669 -81.068112,43.252038 -81.068135,43.252056 -81.068164,43.252066 -81.068213,43.252093 -81.068447,43.252278 -81.068591,43.252328 -81.068876,43.252416 -81.068899,43.252433 -81.068928,43.252443 -81.068977,43.252470 -81.069033,43.252515 -81.069476,43.252811 -81.069507,43.252838 -81.069635,43.252938 -81.069681,43.252981 -81.069723,43.253009 -81.069797,43.253072 -81.069839,43.253114 -81.069864,43.253132 -81.069914,43.253177 -81.070040,43.253307 -81.070093,43.253342 -81.070167,43.253405 -81.070429,43.253666 -81.070522,43.253744 -81.070812,43.254030 -81.070813,43.254030 -81.070941,43.254180 -81.071019,43.254244 -81.071961,43.253996 -81.071975,43.253997 -81.071987,43.253993 -81.072073,43.253984 -81.072203,43.253989 -81.072316,43.253990 -81.072454,43.253969 -81.073664,43.254006 -81.073676,43.254011 -81.073690,43.254011 -81.073739,43.254020 -81.074033,43.254119 -81.074763,43.254357 -81.074800,43.254375 -81.074807,43.254381 -81.074816,43.254384 -81.074830,43.254395 -81.074853,43.254402 -81.075680,43.255045 -81.076106,43.255865 -81.076147,43.256226 -81.076147,43.256262 -81.076065,43.256773 -81.075912,43.257016 -81.075980,43.257039 -81.076111,43.257109 -81.076134,43.257118 -81.076271,43.257182 -81.076295,43.257190 -81.076548,43.257311 -81.076626,43.257344 -81.076877,43.257463 -81.076909,43.257487 -81.076948,43.257501 -81.077207,43.257645 -81.077230,43.257663 -81.077464,43.257804 -81.077698,43.257966 -81.077884,43.258132 -81.078031,43.258236 -81.078080,43.258283 -81.078437,43.258504 -81.078461,43.258522 -81.078901,43.258924 -81.079326,43.259744 -81.079367,43.260105 -81.079367,43.260123 -81.079286,43.260634 -81.079274,43.260658 -81.079274,43.260661 -81.079263,43.260680 -81.079052,43.261106 -81.079039,43.261124 -81.079014,43.261154 -81.079002,43.261178 -81.078867,43.261376 -81.078866,43.261377 -81.079133,43.261373 -81.079244,43.261382 -81.079354,43.261396 -81.079388,43.261396 -81.079508,43.261410 -81.079540,43.261412 -81.080018,43.261468 -81.080044,43.261475 -81.080067,43.261477 -81.080171,43.261508 -81.080691,43.261647 -81.080716,43.261656 -81.080785,43.261686 -81.080938,43.261729 -81.081123,43.261800 -81.081135,43.261806 -81.081147,43.261809 -81.081332,43.261881 -81.081688,43.262043 -81.082289,43.262455 -81.082515,43.262657 -81.082677,43.262789 -81.082717,43.262829 -81.082748,43.262850 -81.082810,43.262904 -81.082870,43.262964 -81.082897,43.262983 -81.083006,43.263088 -81.083079,43.263136 -81.083203,43.263235 -81.083539,43.263559 -81.083965,43.264378 -81.083925,43.265250 -81.083424,43.266041 -81.082540,43.266631 -81.081406,43.266930 -81.080935,43.266956 -81.080578,43.266956 -81.080271,43.266930 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.539906,45.376353 -80.508386,45.395531</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.513619,45.385627 -80.512899,45.384910 -80.512813,45.384824 -80.512764,45.384775 -80.512727,45.384725 -80.512639,45.384605 -80.512606,45.384582 -80.512571,45.384557 -80.512153,45.384259 -80.511647,45.383743 -80.511579,45.383653 -80.511233,45.383567 -80.511182,45.383549 -80.510913,45.383446 -80.510187,45.383083 -80.509561,45.382636 -80.509055,45.382120 -80.508683,45.381550 -80.508458,45.380942 -80.508386,45.380317 -80.508386,45.380272 -80.508469,45.379647 -80.508705,45.379042 -80.508940,45.378664 -80.508979,45.378610 -80.509125,45.378421 -80.509164,45.378376 -80.509679,45.377864 -80.509983,45.377633 -80.510034,45.377598 -80.510137,45.377535 -80.510648,45.377244 -80.510698,45.377209 -80.510741,45.377187 -80.511423,45.376848 -80.511471,45.376828 -80.511697,45.376754 -80.511749,45.376737 -80.512278,45.376563 -80.513140,45.376404 -80.514027,45.376353 -80.514911,45.376427 -80.515062,45.376441 -80.515125,45.376453 -80.515327,45.376492 -80.515773,45.376578 -80.516465,45.376809 -80.516577,45.376847 -80.516617,45.376866 -80.517022,45.376971 -80.517073,45.376990 -80.517851,45.377333 -80.517901,45.377360 -80.518471,45.377715 -80.518956,45.378079 -80.519185,45.378164 -80.519375,45.378188 -80.519717,45.378322 -80.519781,45.378349 -80.520760,45.378895 -80.520811,45.378931 -80.521760,45.379871 -80.521786,45.379907 -80.521975,45.380223 -80.522833,45.380180 -80.523672,45.380236 -80.523720,45.380239 -80.524397,45.380356 -80.524487,45.380371 -80.524588,45.380389 -80.525370,45.380607 -80.525421,45.380625 -80.525763,45.380760 -80.525827,45.380787 -80.525968,45.380857 -80.525996,45.380832 -80.526170,45.380679 -80.526804,45.380238 -80.527536,45.379881 -80.528345,45.379619 -80.528774,45.379540 -80.528961,45.379506 -80.529137,45.379441 -80.529188,45.379422 -80.529482,45.379313 -80.529632,45.379265 -80.529695,45.379244 -80.529823,45.379203 -80.530084,45.379118 -80.530146,45.379098 -80.530292,45.379051 -80.531153,45.378892 -80.532041,45.378841 -80.532142,45.378848 -80.532548,45.378875 -80.532926,45.378905 -80.532976,45.378909 -80.533050,45.378924 -80.533783,45.379073 -80.533865,45.379092 -80.534501,45.379240 -80.534552,45.379259 -80.535887,45.379948 -80.536186,45.380180 -80.536693,45.380696 -80.537064,45.381267 -80.537290,45.381874 -80.537298,45.381908 -80.537310,45.381962 -80.537375,45.382554 -80.537374,45.382635 -80.537269,45.383341 -80.537256,45.383386 -80.537060,45.383776 -80.536953,45.383988 -80.536845,45.384205 -80.536823,45.384250 -80.536793,45.384305 -80.536773,45.384344 -80.536829,45.384405 -80.536899,45.384480 -80.536937,45.384525 -80.537124,45.384768 -80.537149,45.384804 -80.537249,45.384977 -80.537397,45.385137 -80.537769,45.385707 -80.537994,45.386314 -80.538067,45.386940 -80.538066,45.387039 -80.538031,45.387268 -80.538091,45.387351 -80.538641,45.387742 -80.538705,45.387797 -80.539211,45.388313 -80.539526,45.388777 -80.539552,45.388822 -80.539608,45.388928 -80.539834,45.389535 -80.539906,45.390161 -80.539906,45.390206 -80.539823,45.390831 -80.539588,45.391436 -80.539207,45.392003 -80.539123,45.392091 -80.539085,45.392136 -80.538954,45.392281 -80.538928,45.392308 -80.538763,45.392470 -80.538724,45.392506 -80.537696,45.393222 -80.537593,45.393276 -80.537155,45.393481 -80.537091,45.393507 -80.536962,45.393552 -80.536727,45.393633 -80.536364,45.393886 -80.535917,45.394103 -80.535797,45.394220 -80.535694,45.394291 -80.534705,45.394829 -80.534641,45.394856 -80.534450,45.394917 -80.534286,45.394969 -80.534180,45.394998 -80.532915,45.395341 -80.532716,45.395381 -80.532588,45.395399 -80.532426,45.395419 -80.532349,45.395428 -80.531509,45.395474 -80.531304,45.395473 -80.530846,45.395439 -80.530014,45.395531 -80.529937,45.395530 -80.529385,45.395496 -80.529097,45.395478 -80.529020,45.395470 -80.528947,45.395463 -80.528088,45.395297 -80.527939,45.395256 -80.527875,45.395237 -80.527219,45.395010 -80.526493,45.394647 -80.525867,45.394200 -80.525360,45.393684 -80.524988,45.393114 -80.524763,45.392507 -80.524753,45.392417 -80.524665,45.392323 -80.524189,45.391677 -80.524164,45.391632 -80.524108,45.391526 -80.523882,45.390919 -80.523810,45.390293 -80.523893,45.389668 -80.524001,45.389374 -80.523752,45.389495 -80.522943,45.389757 -80.522081,45.389916 -80.521193,45.389967 -80.520306,45.389909 -80.519447,45.389743 -80.518642,45.389474 -80.517916,45.389111 -80.517736,45.388994 -80.517537,45.388914 -80.517114,45.388702 -80.516488,45.388256 -80.516173,45.387941 -80.515467,45.387547 -80.515416,45.387511 -80.514467,45.386571 -80.514429,45.386517 -80.514201,45.386137 -80.514172,45.386061 -80.514020,45.385911 -80.513859,45.385812 -80.513744,45.385730 -80.513619,45.385627 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.136438,42.827263 -79.076420,42.879767</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.084162,42.831459 -79.084691,42.831020 -79.084716,42.831002 -79.084941,42.830877 -79.084990,42.830836 -79.085015,42.830818 -79.085310,42.830654 -79.085440,42.830546 -79.085465,42.830529 -79.085465,42.830529 -79.085465,42.830529 -79.085490,42.830511 -79.085619,42.830439 -79.085627,42.830432 -79.085652,42.830415 -79.085674,42.830402 -79.085953,42.830191 -79.086103,42.830103 -79.086279,42.830014 -79.086315,42.829987 -79.086352,42.829966 -79.086386,42.829941 -79.086523,42.829862 -79.086701,42.829773 -79.086782,42.829714 -79.086828,42.829688 -79.086838,42.829681 -79.086900,42.829646 -79.087598,42.829299 -79.087678,42.829241 -79.087840,42.829153 -79.087845,42.829151 -79.088415,42.828774 -79.088517,42.828748 -79.088595,42.828697 -79.089091,42.828489 -79.089462,42.828396 -79.089617,42.828348 -79.090196,42.828122 -79.090221,42.828113 -79.090762,42.827993 -79.091693,42.827705 -79.091817,42.827665 -79.091842,42.827659 -79.091906,42.827639 -79.092202,42.827581 -79.093422,42.827397 -79.093568,42.827373 -79.093606,42.827364 -79.093624,42.827364 -79.093668,42.827356 -79.093731,42.827359 -79.093774,42.827357 -79.093803,42.827350 -79.093834,42.827348 -79.093864,42.827342 -79.094029,42.827340 -79.094394,42.827324 -79.094550,42.827288 -79.094684,42.827281 -79.094950,42.827299 -79.095762,42.827263 -79.095798,42.827264 -79.096278,42.827312 -79.096852,42.827305 -79.097133,42.827328 -79.098777,42.827548 -79.098933,42.827602 -79.099008,42.827605 -79.099347,42.827721 -79.099671,42.827743 -79.099902,42.827801 -79.102199,42.828694 -79.102952,42.828950 -79.103701,42.829342 -79.104244,42.829622 -79.104371,42.829722 -79.104554,42.829786 -79.105457,42.830337 -79.105649,42.830467 -79.107846,42.832456 -79.107891,42.832549 -79.107974,42.832619 -79.108233,42.832957 -79.108946,42.834497 -79.109614,42.835849 -79.109733,42.836382 -79.109728,42.836465 -79.109767,42.836547 -79.109885,42.837989 -79.109883,42.838053 -79.110024,42.838503 -79.110058,42.838573 -79.110176,42.839124 -79.110172,42.839181 -79.110199,42.839238 -79.110298,42.839952 -79.110316,42.840169 -79.110296,42.840328 -79.110362,42.840380 -79.110693,42.840704 -79.111001,42.840924 -79.111129,42.841043 -79.111153,42.841068 -79.111168,42.841079 -79.111285,42.841189 -79.111366,42.841275 -79.111410,42.841307 -79.111542,42.841436 -79.111809,42.841728 -79.111854,42.841771 -79.111897,42.841818 -79.111957,42.841864 -79.112073,42.841992 -79.112078,42.842002 -79.112160,42.842077 -79.112184,42.842102 -79.112234,42.842140 -79.112286,42.842194 -79.112356,42.842266 -79.112375,42.842287 -79.112381,42.842292 -79.112470,42.842383 -79.112512,42.842430 -79.112566,42.842470 -79.112784,42.842694 -79.113339,42.843321 -79.113461,42.843504 -79.113635,42.843695 -79.113799,42.843918 -79.113820,42.843941 -79.113843,42.843958 -79.113868,42.843986 -79.113911,42.844019 -79.114028,42.844142 -79.114030,42.844145 -79.114115,42.844225 -79.114212,42.844330 -79.114302,42.844423 -79.114366,42.844471 -79.114546,42.844654 -79.114589,42.844702 -79.114699,42.844784 -79.114770,42.844855 -79.114826,42.844909 -79.114830,42.844913 -79.114913,42.844973 -79.115088,42.845138 -79.115210,42.845270 -79.115268,42.845313 -79.115407,42.845451 -79.115414,42.845458 -79.115417,42.845461 -79.115518,42.845561 -79.116174,42.846289 -79.116216,42.846356 -79.116219,42.846359 -79.116548,42.846685 -79.116819,42.846880 -79.116917,42.846972 -79.117141,42.847213 -79.117199,42.847251 -79.117270,42.847306 -79.117285,42.847321 -79.117309,42.847337 -79.117420,42.847424 -79.117650,42.847649 -79.118044,42.847914 -79.118140,42.847992 -79.119081,42.848934 -79.119217,42.849025 -79.119357,42.849139 -79.119392,42.849161 -79.119547,42.849271 -79.119622,42.849341 -79.119636,42.849351 -79.119740,42.849438 -79.119793,42.849492 -79.119954,42.849596 -79.120086,42.849698 -79.120133,42.849744 -79.121416,42.850600 -79.121428,42.850608 -79.121435,42.850613 -79.121611,42.850731 -79.121665,42.850774 -79.121767,42.850845 -79.121932,42.850995 -79.122253,42.851201 -79.122377,42.851293 -79.122384,42.851300 -79.122394,42.851307 -79.122510,42.851399 -79.122873,42.851756 -79.123280,42.852049 -79.123387,42.852150 -79.123602,42.852381 -79.123688,42.852446 -79.123710,42.852468 -79.123757,42.852513 -79.123785,42.852533 -79.124027,42.852760 -79.124500,42.853100 -79.124574,42.853168 -79.124659,42.853259 -79.124777,42.853344 -79.124915,42.853472 -79.124948,42.853507 -79.124969,42.853522 -79.125066,42.853613 -79.127242,42.854222 -79.127297,42.854243 -79.127392,42.854278 -79.127570,42.854359 -79.127699,42.854397 -79.127828,42.854448 -79.128699,42.854859 -79.128863,42.854913 -79.128992,42.854978 -79.129052,42.855025 -79.129277,42.855131 -79.129409,42.855239 -79.129601,42.855308 -79.129666,42.855344 -79.129669,42.855345 -79.129691,42.855358 -79.129709,42.855368 -79.129710,42.855369 -79.129780,42.855410 -79.129818,42.855442 -79.129921,42.855509 -79.130010,42.855542 -79.130118,42.855607 -79.130205,42.855681 -79.130231,42.855691 -79.130330,42.855751 -79.130471,42.855871 -79.131274,42.856398 -79.131362,42.856467 -79.131474,42.856577 -79.131718,42.856741 -79.131785,42.856796 -79.131975,42.856986 -79.132130,42.857098 -79.132194,42.857157 -79.132911,42.857924 -79.133156,42.858170 -79.133182,42.858224 -79.133205,42.858243 -79.133298,42.858409 -79.133375,42.858467 -79.133463,42.858559 -79.133858,42.859006 -79.133885,42.859027 -79.133947,42.859100 -79.133952,42.859112 -79.133991,42.859156 -79.134009,42.859194 -79.134052,42.859229 -79.134501,42.859838 -79.134541,42.859898 -79.134556,42.859934 -79.134645,42.860058 -79.134702,42.860149 -79.134807,42.860407 -79.135121,42.860898 -79.135154,42.860966 -79.135729,42.862668 -79.135747,42.863023 -79.136321,42.864217 -79.136309,42.864612 -79.136315,42.864627 -79.136434,42.865684 -79.136436,42.865761 -79.136414,42.865903 -79.136437,42.866118 -79.136438,42.866181 -79.136422,42.866281 -79.136420,42.866349 -79.136353,42.866712 -79.136325,42.866881 -79.136326,42.867108 -79.136368,42.867657 -79.136366,42.867716 -79.136344,42.867827 -79.136351,42.867950 -79.136343,42.868058 -79.136330,42.868119 -79.136336,42.868179 -79.136336,42.868265 -79.136299,42.868490 -79.136302,42.868548 -79.136293,42.868652 -79.136206,42.869062 -79.136211,42.869547 -79.136192,42.869651 -79.136171,42.869731 -79.136171,42.869756 -79.136146,42.869864 -79.136062,42.870157 -79.136059,42.870242 -79.136033,42.870336 -79.135998,42.870393 -79.135925,42.870674 -79.135904,42.870706 -79.135899,42.870768 -79.135333,42.872008 -79.135302,42.872061 -79.134976,42.872479 -79.134863,42.872704 -79.134812,42.872779 -79.134403,42.873267 -79.134286,42.873463 -79.134223,42.873534 -79.134223,42.873534 -79.134159,42.873605 -79.134120,42.873633 -79.134055,42.873740 -79.134010,42.873789 -79.133905,42.873862 -79.133688,42.874121 -79.133629,42.874160 -79.133594,42.874214 -79.133375,42.874351 -79.133240,42.874545 -79.133190,42.874589 -79.130140,42.876497 -79.130087,42.876511 -79.130062,42.876528 -79.129711,42.876651 -79.129602,42.876719 -79.129524,42.876749 -79.129228,42.876819 -79.128096,42.877216 -79.128002,42.877241 -79.125589,42.877691 -79.124452,42.877762 -79.123179,42.878603 -79.123176,42.878604 -79.123173,42.878606 -79.123114,42.878632 -79.118740,42.879767 -79.114102,42.879584 -79.112300,42.879131 -79.112226,42.879107 -79.109838,42.878087 -79.109808,42.878062 -79.109774,42.878050 -79.109722,42.878007 -79.109652,42.877982 -79.109587,42.877945 -79.106670,42.875509 -79.105936,42.874402 -79.105220,42.874170 -79.105114,42.874119 -79.104906,42.873959 -79.104615,42.873858 -79.104585,42.873833 -79.104509,42.873807 -79.101953,42.871690 -79.101899,42.871645 -79.101406,42.871265 -79.101386,42.871225 -79.101352,42.871197 -79.101344,42.871184 -79.101336,42.871178 -79.101283,42.871110 -79.101251,42.871042 -79.101241,42.871027 -79.101219,42.871031 -79.101163,42.871050 -79.101143,42.871055 -79.101119,42.871063 -79.100882,42.871131 -79.100247,42.871255 -79.099763,42.871407 -79.099520,42.871457 -79.099398,42.871476 -79.099346,42.871492 -79.099090,42.871541 -79.098922,42.871567 -79.098863,42.871585 -79.098784,42.871602 -79.098760,42.871606 -79.098738,42.871610 -79.098559,42.871639 -79.098485,42.871662 -79.098420,42.871674 -79.097808,42.871764 -79.097694,42.871797 -79.097641,42.871805 -79.097543,42.871803 -79.097482,42.871812 -79.097369,42.871843 -79.097338,42.871847 -79.097274,42.871845 -79.097248,42.871850 -79.097186,42.871866 -79.097117,42.871874 -79.097101,42.871873 -79.097060,42.871880 -79.096955,42.871876 -79.096848,42.871903 -79.096482,42.871889 -79.096177,42.871960 -79.096118,42.871963 -79.092211,42.871720 -79.088023,42.870245 -79.087999,42.870225 -79.087976,42.870217 -79.087835,42.870102 -79.087660,42.870037 -79.087613,42.870009 -79.084874,42.867676 -79.084804,42.867558 -79.084499,42.867296 -79.083934,42.866505 -79.083897,42.866446 -79.082919,42.864015 -79.082931,42.863850 -79.082889,42.863763 -79.082863,42.863526 -79.082835,42.863460 -79.082829,42.863401 -79.082820,42.863333 -79.082831,42.863232 -79.082771,42.862685 -79.082768,42.862590 -79.082786,42.862477 -79.082773,42.862345 -79.082774,42.862291 -79.082822,42.862009 -79.082810,42.861708 -79.082760,42.861593 -79.082754,42.861538 -79.082770,42.861402 -79.082770,42.861401 -79.082771,42.861394 -79.082770,42.861385 -79.082780,42.861287 -79.082696,42.860408 -79.082696,42.860381 -79.082727,42.860200 -79.082691,42.859915 -79.082686,42.859820 -79.082691,42.859782 -79.082679,42.859676 -79.082675,42.859572 -79.082683,42.859523 -79.082677,42.859472 -79.082674,42.859414 -79.082671,42.859387 -79.082671,42.859349 -79.082671,42.859341 -79.082671,42.859340 -79.082671,42.859325 -79.082670,42.859314 -79.082665,42.859202 -79.082658,42.859040 -79.082666,42.858986 -79.082641,42.858737 -79.082640,42.858665 -79.082660,42.858543 -79.082656,42.858534 -79.082643,42.858390 -79.082670,42.858167 -79.082668,42.858144 -79.082657,42.858121 -79.082655,42.858092 -79.082648,42.858076 -79.082633,42.857991 -79.082643,42.857873 -79.082635,42.857740 -79.082619,42.857560 -79.082620,42.857500 -79.082619,42.857491 -79.082620,42.857475 -79.082556,42.856376 -79.082562,42.856295 -79.082621,42.856015 -79.082616,42.855962 -79.082617,42.855854 -79.082655,42.855630 -79.082639,42.855336 -79.082654,42.855160 -79.082749,42.854713 -79.082534,42.853927 -79.082525,42.853813 -79.082424,42.853000 -79.082423,42.852991 -79.082445,42.852838 -79.082416,42.852485 -79.082417,42.852466 -79.079809,42.850327 -79.079801,42.850311 -79.079787,42.850300 -79.079765,42.850254 -79.079722,42.850218 -79.079703,42.850193 -79.079696,42.850188 -79.079662,42.850156 -79.079572,42.850058 -79.078837,42.849495 -79.078815,42.849473 -79.078683,42.849224 -79.078668,42.849211 -79.078392,42.848984 -79.078388,42.848976 -79.078370,42.848962 -79.077483,42.847606 -79.077473,42.847588 -79.076819,42.845722 -79.076845,42.845234 -79.076813,42.845168 -79.076695,42.843930 -79.076537,42.843601 -79.076420,42.842159 -79.076421,42.842141 -79.076501,42.841710 -79.076494,42.841350 -79.076510,42.841251 -79.076804,42.840074 -79.076868,42.839951 -79.076869,42.839940 -79.076905,42.839880 -79.077033,42.839637 -79.077055,42.839460 -79.077107,42.839344 -79.077410,42.838918 -79.077813,42.838151 -79.077826,42.838133 -79.077900,42.838046 -79.077967,42.837919 -79.078056,42.837794 -79.078445,42.837343 -79.078506,42.837242 -79.078595,42.837145 -79.078647,42.837108 -79.079052,42.836638 -79.079345,42.836439 -79.079387,42.836387 -79.079428,42.836309 -79.079722,42.835890 -79.080275,42.835242 -79.080380,42.835069 -79.080773,42.834634 -79.081066,42.834430 -79.081264,42.834130 -79.081398,42.834003 -79.081844,42.833425 -79.082001,42.833174 -79.082076,42.833094 -79.082124,42.833061 -79.082200,42.832963 -79.082281,42.832896 -79.082301,42.832866 -79.082395,42.832788 -79.082401,42.832778 -79.082478,42.832711 -79.082495,42.832686 -79.082570,42.832616 -79.082640,42.832570 -79.083338,42.831966 -79.083476,42.831860 -79.083602,42.831786 -79.083603,42.831785 -79.083628,42.831768 -79.083753,42.831698 -79.084162,42.831459 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.508141,43.882441 -80.358137,44.010307</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.381186,43.932765 -80.376234,43.933786 -80.374866,43.934008 -80.370117,43.933892 -80.365791,43.932472 -80.362547,43.929964 -80.360878,43.926749 -80.360879,43.926747 -80.360878,43.926745 -80.358137,43.914630 -80.358298,43.911203 -80.360263,43.908077 -80.363176,43.906109 -80.362730,43.904192 -80.362731,43.904173 -80.362721,43.904155 -80.362882,43.900723 -80.364846,43.897598 -80.368314,43.895254 -80.371567,43.894328 -80.371684,43.891825 -80.373647,43.888700 -80.377114,43.886355 -80.380866,43.885246 -80.397543,43.882538 -80.397873,43.882539 -80.398234,43.882441 -80.402977,43.882554 -80.407300,43.883972 -80.410543,43.886479 -80.412057,43.889390 -80.415117,43.890393 -80.418361,43.892899 -80.418830,43.893783 -80.422307,43.893080 -80.423600,43.892873 -80.428344,43.892986 -80.432668,43.894403 -80.433454,43.895010 -80.435232,43.895052 -80.435719,43.895211 -80.435761,43.894499 -80.437719,43.891372 -80.441183,43.889025 -80.444249,43.888040 -80.450546,43.886730 -80.451923,43.886506 -80.456667,43.886617 -80.460991,43.888032 -80.464238,43.890536 -80.465896,43.893681 -80.471724,43.917937 -80.471723,43.917973 -80.471740,43.918007 -80.480560,43.956499 -80.489748,43.954630 -80.491055,43.954420 -80.495806,43.954529 -80.500138,43.955942 -80.503391,43.958446 -80.505038,43.961522 -80.508108,43.973666 -80.508106,43.973736 -80.508141,43.973803 -80.507991,43.977235 -80.506033,43.980365 -80.505204,43.980927 -80.505118,43.982898 -80.503160,43.986028 -80.499692,43.988379 -80.495242,43.989592 -80.495044,43.989588 -80.494872,43.989632 -80.473677,43.991692 -80.472628,43.991656 -80.470246,43.992462 -80.468850,43.992795 -80.468778,43.994226 -80.466817,43.997355 -80.466162,43.997798 -80.466100,43.999195 -80.464139,44.002324 -80.460667,44.004673 -80.457602,44.005658 -80.436343,44.010081 -80.434954,44.010307 -80.430198,44.010195 -80.425863,44.008777 -80.422610,44.006270 -80.420934,44.003056 -80.420945,44.002833 -80.420855,44.002647 -80.420577,44.000937 -80.419758,44.000917 -80.415425,43.999499 -80.412173,43.996992 -80.410498,43.993777 -80.410500,43.993732 -80.410479,43.993691 -80.409896,43.990969 -80.409182,43.991126 -80.407624,43.991388 -80.402870,43.991274 -80.398537,43.989855 -80.395287,43.987347 -80.393635,43.984220 -80.381186,43.932765 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-81.929345,45.424657 -81.686002,45.592637</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-81.809437,45.477012 -81.809480,45.474310 -81.810459,45.472286 -81.812682,45.469040 -81.809329,45.466628 -81.807498,45.463419 -81.807553,45.459961 -81.809483,45.456781 -81.810368,45.456021 -81.806749,45.454933 -81.805807,45.454336 -81.798669,45.454589 -81.795440,45.454410 -81.790923,45.453051 -81.787488,45.450579 -81.785660,45.447369 -81.785716,45.443911 -81.787647,45.440732 -81.790387,45.438699 -81.801680,45.432619 -81.802072,45.432495 -81.802452,45.432234 -81.804407,45.431500 -81.821488,45.426390 -81.824090,45.425836 -81.826374,45.425853 -81.830924,45.424657 -81.839972,45.425681 -81.851649,45.428347 -81.859130,45.431647 -81.865965,45.438614 -81.899551,45.475550 -81.922703,45.501218 -81.925569,45.505089 -81.929345,45.511915 -81.927473,45.518228 -81.924336,45.522787 -81.918614,45.528536 -81.908204,45.532028 -81.900218,45.533366 -81.886691,45.532320 -81.871856,45.530869 -81.870871,45.531148 -81.865950,45.531113 -81.864830,45.530910 -81.850559,45.527826 -81.845104,45.527507 -81.836933,45.527775 -81.836918,45.527775 -81.836890,45.527777 -81.834060,45.527863 -81.833157,45.528179 -81.829241,45.531203 -81.826807,45.532659 -81.825413,45.533214 -81.819374,45.535270 -81.818789,45.535405 -81.818109,45.535643 -81.808823,45.537967 -81.806550,45.538833 -81.804310,45.541750 -81.803828,45.542306 -81.803797,45.542360 -81.795617,45.551235 -81.791335,45.561430 -81.790433,45.562763 -81.789969,45.563579 -81.778279,45.576870 -81.771722,45.587457 -81.770560,45.588932 -81.767034,45.591350 -81.762459,45.592637 -81.757531,45.592596 -81.753001,45.591234 -81.750892,45.589957 -81.689157,45.543259 -81.687826,45.542059 -81.686002,45.538846 -81.686065,45.535387 -81.688008,45.532209 -81.691532,45.529795 -81.692483,45.529528 -81.694072,45.525619 -81.695803,45.523035 -81.699327,45.520620 -81.703896,45.519337 -81.706164,45.519188 -81.721596,45.519156 -81.730917,45.517221 -81.750789,45.510599 -81.753879,45.509894 -81.758798,45.509935 -81.759243,45.510069 -81.759643,45.510082 -81.763204,45.510794 -81.771956,45.508596 -81.801248,45.498323 -81.801347,45.498300 -81.801546,45.498222 -81.808091,45.496074 -81.805717,45.494239 -81.804234,45.492017 -81.802761,45.488669 -81.802413,45.487681 -81.802468,45.484223 -81.804400,45.481043 -81.805465,45.480094 -81.809437,45.477012 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-62.005187,47.243524 -61.912036,47.351703</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.941830,47.253393 -61.944150,47.254545 -61.946705,47.256286 -61.951816,47.258028 -61.959564,47.258807 -61.963811,47.258968 -61.965031,47.257951 -61.964835,47.255140 -61.966369,47.253747 -61.968847,47.254712 -61.971638,47.257041 -61.974785,47.256774 -61.978246,47.257872 -61.979268,47.259264 -61.978088,47.261540 -61.978757,47.263789 -61.982258,47.266145 -61.990795,47.269465 -61.992526,47.269144 -61.993862,47.266680 -61.999643,47.261966 -62.002276,47.259261 -62.004911,47.258297 -62.005187,47.260144 -62.002396,47.263037 -61.997246,47.268741 -61.991150,47.275570 -61.985643,47.282131 -61.980606,47.288130 -61.978914,47.291451 -61.976080,47.296566 -61.970606,47.306126 -61.965012,47.317132 -61.962134,47.322729 -61.960281,47.327978 -61.954523,47.339173 -61.953259,47.344154 -61.952232,47.347984 -61.946478,47.348733 -61.941670,47.348356 -61.939226,47.348649 -61.939224,47.350391 -61.938119,47.351703 -61.935006,47.351487 -61.932958,47.350441 -61.930240,47.348886 -61.927284,47.348483 -61.925668,47.349098 -61.922434,47.350328 -61.921647,47.349524 -61.923584,47.345052 -61.926108,47.343795 -61.930959,47.340208 -61.933012,47.336031 -61.936803,47.328051 -61.937752,47.323445 -61.938662,47.319321 -61.938431,47.313509 -61.937532,47.307188 -61.937024,47.303010 -61.938089,47.300440 -61.936161,47.299689 -61.935731,47.296288 -61.935342,47.292404 -61.930780,47.289135 -61.928223,47.287393 -61.929131,47.285010 -61.929923,47.280592 -61.930320,47.277513 -61.925880,47.272798 -61.925687,47.269986 -61.924475,47.264041 -61.924011,47.257641 -61.920829,47.254908 -61.915526,47.250353 -61.912386,47.247138 -61.912036,47.244514 -61.913964,47.243524 -61.917657,47.245214 -61.921546,47.247974 -61.927048,47.250119 -61.932473,47.251488 -61.938134,47.253445 -61.941830,47.253393 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.937732,47.248855 -61.891531,47.344811</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.919088,47.341958 -61.919531,47.340737 -61.923604,47.335554 -61.926606,47.329557 -61.928725,47.323215 -61.927976,47.317152 -61.928773,47.308903 -61.926483,47.300846 -61.922712,47.294203 -61.919474,47.290751 -61.917557,47.287815 -61.917435,47.285180 -61.916402,47.281195 -61.913199,47.275966 -61.909618,47.271186 -61.905976,47.265785 -61.899477,47.257875 -61.894168,47.253415 -61.891531,47.250992 -61.892006,47.249386 -61.896253,47.248855 -61.899806,47.249843 -61.904235,47.253959 -61.909982,47.259983 -61.917018,47.268299 -61.924180,47.279250 -61.925903,47.285892 -61.931093,47.290501 -61.934801,47.297915 -61.936589,47.305179 -61.937494,47.313492 -61.937732,47.320000 -61.935653,47.327504 -61.933346,47.333374 -61.930976,47.338623 -61.928230,47.341535 -61.922836,47.344811 -61.919589,47.344144 -61.919088,47.341958 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.480525,47.569769 -61.381371,47.641818</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.478541,47.629083 -61.459962,47.633974 -61.459851,47.636670 -61.457677,47.640048 -61.454263,47.641444 -61.449519,47.641818 -61.436979,47.640118 -61.417221,47.637813 -61.402644,47.635056 -61.393592,47.632731 -61.390889,47.631166 -61.385187,47.623682 -61.381503,47.615998 -61.381371,47.608470 -61.386985,47.604956 -61.396810,47.605097 -61.406543,47.606198 -61.417995,47.605733 -61.432010,47.602292 -61.447830,47.596324 -61.453892,47.590994 -61.459856,47.580645 -61.463393,47.571831 -61.467007,47.569769 -61.474056,47.570554 -61.478617,47.575089 -61.480525,47.580570 -61.477649,47.600598 -61.474683,47.607896 -61.471896,47.613273 -61.469429,47.618277 -61.471470,47.619329 -61.473140,47.618244 -61.474741,47.616384 -61.476277,47.616739 -61.478541,47.629083 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.898539,47.418547 -61.706867,47.534455</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.892276,47.419360 -61.893725,47.419181 -61.897248,47.420299 -61.896919,47.421585 -61.898539,47.423406 -61.896492,47.425829 -61.884934,47.428980 -61.871201,47.433296 -61.860524,47.439607 -61.853043,47.443539 -61.844858,47.447599 -61.838457,47.452354 -61.827714,47.456625 -61.812873,47.462924 -61.804803,47.468238 -61.793851,47.474844 -61.784235,47.481973 -61.775833,47.488366 -61.763964,47.497437 -61.757996,47.502360 -61.756193,47.504481 -61.749055,47.512175 -61.743649,47.518531 -61.735612,47.525876 -61.726233,47.532697 -61.719377,47.534455 -61.713946,47.533140 -61.713939,47.532860 -61.708705,47.532302 -61.706867,47.529567 -61.708930,47.527146 -61.711816,47.525855 -61.717984,47.521409 -61.723447,47.517092 -61.732891,47.509492 -61.739501,47.505220 -61.745285,47.499819 -61.751203,47.492858 -61.760124,47.485861 -61.772045,47.478827 -61.781594,47.472480 -61.791533,47.464270 -61.805496,47.454811 -61.815672,47.449112 -61.825522,47.444494 -61.837031,47.439314 -61.848414,47.432877 -61.857365,47.427909 -61.865735,47.424324 -61.879275,47.419533 -61.890189,47.418547 -61.892276,47.419360 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.537544,47.539805 -61.500066,47.565773</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.527037,47.557132 -61.524871,47.557521 -61.523259,47.558413 -61.521157,47.559877 -61.519956,47.560454 -61.518640,47.560509 -61.516648,47.560203 -61.515393,47.560186 -61.514202,47.561245 -61.512994,47.562488 -61.511357,47.564229 -61.509262,47.565028 -61.508499,47.565587 -61.506789,47.565773 -61.505384,47.565602 -61.505102,47.565109 -61.503644,47.564344 -61.501360,47.563064 -61.500066,47.561123 -61.500160,47.560670 -61.500561,47.558741 -61.501318,47.555889 -61.501838,47.552658 -61.504761,47.549418 -61.507520,47.547354 -61.512473,47.546345 -61.516815,47.546050 -61.519871,47.544294 -61.522418,47.542147 -61.525230,47.540677 -61.529078,47.539805 -61.531074,47.540222 -61.532184,47.540454 -61.536358,47.543145 -61.537544,47.546855 -61.536936,47.548715 -61.534379,47.550382 -61.533192,47.552586 -61.533750,47.554237 -61.532386,47.555991 -61.531202,47.556384 -61.529730,47.556950 -61.527037,47.557132 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-62.212849,47.257793 -62.186593,47.275666</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-62.188301,47.262322 -62.188416,47.262187 -62.188534,47.262053 -62.188656,47.261921 -62.188780,47.261791 -62.188909,47.261661 -62.189040,47.261534 -62.189175,47.261408 -62.189313,47.261283 -62.189455,47.261160 -62.189599,47.261039 -62.189746,47.260920 -62.189897,47.260802 -62.190050,47.260686 -62.190207,47.260572 -62.190366,47.260460 -62.190528,47.260350 -62.190693,47.260242 -62.190861,47.260136 -62.191031,47.260031 -62.191204,47.259929 -62.191380,47.259829 -62.191558,47.259731 -62.191739,47.259635 -62.191922,47.259541 -62.192107,47.259450 -62.192295,47.259360 -62.192485,47.259273 -62.192677,47.259189 -62.192872,47.259106 -62.193068,47.259026 -62.193267,47.258948 -62.193467,47.258872 -62.193670,47.258799 -62.193874,47.258729 -62.194080,47.258660 -62.194287,47.258595 -62.194497,47.258531 -62.194708,47.258471 -62.194920,47.258412 -62.195134,47.258356 -62.195350,47.258303 -62.195566,47.258253 -62.195784,47.258205 -62.196003,47.258159 -62.196224,47.258116 -62.196445,47.258076 -62.196667,47.258038 -62.196890,47.258003 -62.197115,47.257971 -62.197340,47.257941 -62.197565,47.257915 -62.197791,47.257890 -62.198018,47.257869 -62.198246,47.257850 -62.198474,47.257834 -62.198702,47.257820 -62.198930,47.257809 -62.199159,47.257801 -62.199388,47.257796 -62.199617,47.257793 -62.199846,47.257794 -62.200075,47.257796 -62.200304,47.257802 -62.200533,47.257810 -62.200762,47.257821 -62.200990,47.257835 -62.201218,47.257851 -62.201445,47.257871 -62.201672,47.257892 -62.201898,47.257917 -62.202124,47.257944 -62.202348,47.257974 -62.202572,47.258007 -62.202796,47.258042 -62.203018,47.258080 -62.203239,47.258120 -62.203459,47.258163 -62.203678,47.258209 -62.203896,47.258257 -62.204113,47.258308 -62.204328,47.258362 -62.204542,47.258418 -62.204754,47.258476 -62.204965,47.258537 -62.205174,47.258601 -62.205382,47.258667 -62.205587,47.258735 -62.205792,47.258806 -62.205994,47.258879 -62.206194,47.258955 -62.206392,47.259033 -62.206589,47.259114 -62.206783,47.259196 -62.206975,47.259281 -62.207165,47.259369 -62.207352,47.259458 -62.207538,47.259550 -62.207720,47.259644 -62.207901,47.259740 -62.208079,47.259838 -62.208254,47.259939 -62.208427,47.260041 -62.208597,47.260145 -62.208765,47.260252 -62.208929,47.260360 -62.209091,47.260471 -62.209250,47.260583 -62.209406,47.260697 -62.209560,47.260813 -62.209710,47.260931 -62.209857,47.261050 -62.210001,47.261172 -62.210142,47.261295 -62.210280,47.261419 -62.210414,47.261545 -62.210545,47.261673 -62.210673,47.261803 -62.210798,47.261933 -62.210919,47.262066 -62.211037,47.262199 -62.211152,47.262335 -62.211263,47.262471 -62.211370,47.262609 -62.211474,47.262748 -62.211574,47.262888 -62.211671,47.263029 -62.211764,47.263172 -62.211853,47.263316 -62.211939,47.263460 -62.212021,47.263606 -62.212099,47.263752 -62.212174,47.263900 -62.212245,47.264048 -62.212311,47.264198 -62.212374,47.264347 -62.212434,47.264498 -62.212489,47.264649 -62.212540,47.264801 -62.212588,47.264954 -62.212631,47.265107 -62.212671,47.265261 -62.212707,47.265415 -62.212738,47.265569 -62.212766,47.265724 -62.212790,47.265879 -62.212810,47.266035 -62.212826,47.266190 -62.212838,47.266346 -62.212845,47.266502 -62.212849,47.266658 -62.212849,47.266814 -62.212845,47.266970 -62.212837,47.267126 -62.212825,47.267281 -62.212809,47.267437 -62.212789,47.267592 -62.212764,47.267747 -62.212736,47.267902 -62.212704,47.268057 -62.212668,47.268211 -62.212628,47.268364 -62.212585,47.268517 -62.212537,47.268670 -62.212485,47.268822 -62.212430,47.268973 -62.212370,47.269124 -62.212307,47.269274 -62.212240,47.269423 -62.212169,47.269571 -62.212094,47.269719 -62.212016,47.269865 -62.211933,47.270011 -62.211847,47.270155 -62.211758,47.270299 -62.211664,47.270441 -62.211567,47.270583 -62.211467,47.270723 -62.211363,47.270862 -62.211255,47.270999 -62.211144,47.271136 -62.211029,47.271271 -62.210911,47.271404 -62.210789,47.271537 -62.210664,47.271667 -62.210536,47.271797 -62.210404,47.271924 -62.210270,47.272050 -62.210132,47.272175 -62.209990,47.272298 -62.209846,47.272419 -62.209699,47.272538 -62.209548,47.272656 -62.209395,47.272772 -62.209238,47.272886 -62.209079,47.272998 -62.208917,47.273108 -62.208752,47.273216 -62.208584,47.273323 -62.208414,47.273427 -62.208241,47.273529 -62.208065,47.273629 -62.207887,47.273728 -62.207706,47.273824 -62.207523,47.273917 -62.207338,47.274009 -62.207150,47.274098 -62.206960,47.274185 -62.206767,47.274270 -62.206573,47.274353 -62.206376,47.274433 -62.206178,47.274511 -62.205977,47.274586 -62.205775,47.274660 -62.205571,47.274730 -62.205365,47.274799 -62.205157,47.274864 -62.204947,47.274928 -62.204736,47.274989 -62.204524,47.275047 -62.204310,47.275103 -62.204094,47.275156 -62.203878,47.275207 -62.203660,47.275255 -62.203440,47.275300 -62.203220,47.275343 -62.202999,47.275383 -62.202776,47.275421 -62.202553,47.275456 -62.202329,47.275488 -62.202104,47.275518 -62.201878,47.275545 -62.201652,47.275569 -62.201425,47.275591 -62.201197,47.275610 -62.200969,47.275626 -62.200741,47.275639 -62.200512,47.275650 -62.200283,47.275658 -62.200054,47.275663 -62.199825,47.275666 -62.199596,47.275666 -62.199367,47.275663 -62.199138,47.275657 -62.198909,47.275649 -62.198680,47.275638 -62.198452,47.275624 -62.198224,47.275608 -62.197997,47.275589 -62.197770,47.275567 -62.197543,47.275542 -62.197318,47.275515 -62.197093,47.275485 -62.196869,47.275453 -62.196645,47.275418 -62.196423,47.275380 -62.196202,47.275339 -62.195982,47.275296 -62.195762,47.275250 -62.195545,47.275202 -62.195328,47.275151 -62.195113,47.275098 -62.194899,47.275042 -62.194686,47.274983 -62.194475,47.274922 -62.194266,47.274858 -62.194059,47.274792 -62.193853,47.274724 -62.193649,47.274653 -62.193446,47.274580 -62.193246,47.274504 -62.193048,47.274426 -62.192851,47.274345 -62.192657,47.274263 -62.192465,47.274177 -62.192275,47.274090 -62.192087,47.274001 -62.191902,47.273909 -62.191719,47.273815 -62.191539,47.273719 -62.191361,47.273620 -62.191185,47.273520 -62.191013,47.273418 -62.190842,47.273313 -62.190675,47.273207 -62.190510,47.273098 -62.190348,47.272988 -62.190189,47.272875 -62.190033,47.272761 -62.189880,47.272645 -62.189730,47.272527 -62.189583,47.272408 -62.189439,47.272287 -62.189298,47.272164 -62.189160,47.272039 -62.189026,47.271913 -62.188894,47.271785 -62.188766,47.271655 -62.188642,47.271524 -62.188520,47.271392 -62.188403,47.271258 -62.188288,47.271123 -62.188177,47.270987 -62.188070,47.270849 -62.187966,47.270710 -62.187866,47.270570 -62.187769,47.270428 -62.187676,47.270286 -62.187587,47.270142 -62.187501,47.269997 -62.187419,47.269852 -62.187341,47.269705 -62.187267,47.269558 -62.187196,47.269409 -62.187129,47.269260 -62.187067,47.269110 -62.187007,47.268959 -62.186952,47.268808 -62.186901,47.268656 -62.186853,47.268503 -62.186810,47.268350 -62.186770,47.268197 -62.186735,47.268042 -62.186703,47.267888 -62.186675,47.267733 -62.186652,47.267578 -62.186632,47.267423 -62.186616,47.267267 -62.186604,47.267111 -62.186597,47.266955 -62.186593,47.266799 -62.186593,47.266643 -62.186597,47.266487 -62.186606,47.266332 -62.186618,47.266176 -62.186634,47.266020 -62.186654,47.265865 -62.186678,47.265710 -62.186707,47.265555 -62.186739,47.265401 -62.186775,47.265247 -62.186815,47.265093 -62.186859,47.264940 -62.186907,47.264787 -62.186958,47.264635 -62.187014,47.264484 -62.187074,47.264334 -62.187137,47.264184 -62.187204,47.264035 -62.187275,47.263886 -62.187350,47.263739 -62.187429,47.263592 -62.187511,47.263447 -62.187597,47.263302 -62.187687,47.263159 -62.187780,47.263016 -62.187877,47.262875 -62.187978,47.262735 -62.188082,47.262596 -62.188190,47.262458 -62.188301,47.262322 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.841874,47.388676 -61.801089,47.405691</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.838877,47.401159 -61.838611,47.401698 -61.839380,47.403026 -61.839577,47.405031 -61.837315,47.405691 -61.836380,47.405454 -61.834732,47.404940 -61.832110,47.403789 -61.828936,47.403065 -61.826432,47.403116 -61.823298,47.402793 -61.819740,47.401405 -61.817567,47.400171 -61.814070,47.398935 -61.810083,47.398278 -61.807380,47.397223 -61.802767,47.395293 -61.801089,47.392581 -61.802216,47.390579 -61.804585,47.388676 -61.808084,47.389015 -61.811946,47.390265 -61.816274,47.392084 -61.820236,47.393887 -61.825604,47.395596 -61.828371,47.395905 -61.829982,47.395119 -61.832473,47.392622 -61.836385,47.391577 -61.839700,47.392356 -61.841874,47.393590 -61.841723,47.396229 -61.839964,47.398756 -61.838877,47.401159 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.839948,47.406125 -61.831840,47.409818</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.839538,47.409250 -61.839233,47.409654 -61.838438,47.409768 -61.837735,47.409818 -61.836728,47.409750 -61.835716,47.409729 -61.834895,47.409658 -61.834354,47.409472 -61.833763,47.409042 -61.833542,47.408782 -61.833260,47.408248 -61.832392,47.407884 -61.831840,47.407495 -61.831936,47.407033 -61.832392,47.406538 -61.832994,47.406349 -61.833919,47.406210 -61.835108,47.406151 -61.836194,47.406125 -61.837434,47.406310 -61.838634,47.406802 -61.839461,47.407474 -61.839803,47.407981 -61.839948,47.408462 -61.839915,47.408674 -61.839538,47.409250 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.759354,47.414384 -61.561117,47.567519</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.757957,47.416230 -61.759354,47.421993 -61.758779,47.431728 -61.755339,47.443189 -61.754158,47.453637 -61.752325,47.459087 -61.735677,47.478673 -61.727154,47.482934 -61.716892,47.488412 -61.716953,47.490808 -61.711215,47.494259 -61.703797,47.501325 -61.703553,47.504078 -61.708141,47.504448 -61.710748,47.508790 -61.708019,47.511994 -61.705370,47.514281 -61.702418,47.516924 -61.697525,47.516910 -61.695260,47.517923 -61.698110,47.519512 -61.696897,47.520936 -61.693033,47.524647 -61.685022,47.529110 -61.678061,47.533983 -61.674195,47.537693 -61.667313,47.541648 -61.664275,47.545208 -61.659576,47.549068 -61.653299,47.552310 -61.649454,47.552705 -61.640574,47.551602 -61.635069,47.552296 -61.632497,47.553664 -61.628182,47.556249 -61.626356,47.558384 -61.623617,47.561587 -61.619688,47.562898 -61.616451,47.562579 -61.615178,47.561606 -61.613158,47.559864 -61.610364,47.560669 -61.606517,47.561062 -61.603197,47.561660 -61.599488,47.563533 -61.597965,47.565311 -61.594866,47.566472 -61.589054,47.567519 -61.584848,47.565869 -61.584490,47.563828 -61.582472,47.562085 -61.573202,47.562250 -61.568389,47.561311 -61.563355,47.559809 -61.561117,47.557505 -61.565436,47.554923 -61.570774,47.556068 -61.580180,47.557383 -61.583363,47.555306 -61.584582,47.553883 -61.587985,47.552367 -61.590696,47.552480 -61.596035,47.553624 -61.607046,47.552241 -61.615262,47.551661 -61.621071,47.550612 -61.627876,47.547578 -61.634679,47.544543 -61.637776,47.543382 -61.642837,47.541564 -61.649638,47.538528 -61.659921,47.533056 -61.668542,47.527884 -61.676472,47.524340 -61.681389,47.521041 -61.685557,47.516975 -61.689198,47.512703 -61.691951,47.506185 -61.696057,47.499721 -61.700546,47.491985 -61.706307,47.485221 -61.709863,47.481866 -61.711681,47.479730 -61.716347,47.479182 -61.720730,47.475676 -61.727232,47.469678 -61.731168,47.465049 -61.734801,47.460776 -61.737908,47.456298 -61.743071,47.446931 -61.744663,47.444234 -61.746114,47.440057 -61.748693,47.435374 -61.749858,47.428240 -61.750783,47.423859 -61.750658,47.419067 -61.751804,47.415247 -61.753236,47.414384 -61.757957,47.416230 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.573966,47.556814 -61.536408,47.579915</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.544750,47.579637 -61.544246,47.579492 -61.543426,47.578798 -61.543155,47.578106 -61.542742,47.577306 -61.542489,47.576409 -61.542906,47.575190 -61.543026,47.574226 -61.543805,47.573043 -61.544586,47.572499 -61.545379,47.572491 -61.546391,47.572410 -61.547055,47.571820 -61.547214,47.571085 -61.546484,47.570745 -61.545706,47.570918 -61.544061,47.571920 -61.543553,47.572146 -61.542087,47.572847 -61.541310,47.573020 -61.539931,47.573436 -61.539154,47.573609 -61.538175,47.573650 -61.537278,47.573138 -61.536719,47.572599 -61.536448,47.571907 -61.536412,47.571308 -61.536408,47.570030 -61.536807,47.569017 -61.537233,47.567695 -61.537519,47.566903 -61.537806,47.566112 -61.538052,47.565092 -61.538522,47.563628 -61.539070,47.562924 -61.539283,47.562650 -61.540058,47.561838 -61.543022,47.560397 -61.545280,47.559688 -61.546237,47.559214 -61.547825,47.558827 -61.548661,47.558677 -61.549539,47.557745 -61.550970,47.557084 -61.553019,47.556985 -61.554021,47.557007 -61.555098,47.557217 -61.555822,47.557289 -61.556522,47.556942 -61.556779,47.556814 -61.558110,47.556911 -61.558654,47.557285 -61.559384,47.557624 -61.560714,47.557722 -61.561268,47.557992 -61.561676,47.558525 -61.562188,47.559577 -61.562264,47.560404 -61.561446,47.561359 -61.560027,47.562556 -61.558967,47.563151 -61.557679,47.563921 -61.557944,47.564344 -61.558773,47.564936 -61.559531,47.564967 -61.560340,47.564115 -61.561400,47.563521 -61.562675,47.563224 -61.564038,47.562643 -61.565376,47.561998 -61.566382,47.561649 -61.567419,47.561631 -61.568697,47.561973 -61.570439,47.562231 -61.571937,47.562500 -61.573280,47.563134 -61.573966,47.563616 -61.573863,47.564745 -61.573598,47.565971 -61.572330,47.568184 -61.571335,47.569070 -61.568680,47.570793 -61.567304,47.571848 -61.566196,47.572317 -61.564080,47.573135 -61.562290,47.573389 -61.560934,47.573229 -61.559774,47.572933 -61.559186,47.572702 -61.558200,47.571836 -61.557661,47.571731 -61.556772,47.572127 -61.556152,47.572574 -61.555424,47.572874 -61.554194,47.573667 -61.553316,47.574598 -61.553151,47.575066 -61.553404,47.575962 -61.553270,47.576761 -61.552587,47.577556 -61.551288,47.578429 -61.549872,47.579255 -61.548274,47.579744 -61.546948,47.579915 -61.545734,47.579864 -61.544750,47.579637 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.498825,47.594242 -61.482833,47.604610</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.497790,47.597878 -61.498825,47.599008 -61.497932,47.599969 -61.497267,47.600432 -61.496335,47.600970 -61.496045,47.601308 -61.496149,47.601576 -61.496208,47.602051 -61.495889,47.602423 -61.495535,47.602601 -61.494562,47.603033 -61.493668,47.603450 -61.492861,47.603766 -61.492012,47.603975 -61.490963,47.604105 -61.490086,47.604348 -61.488541,47.604510 -61.487185,47.604610 -61.485939,47.604346 -61.484653,47.603975 -61.483319,47.603270 -61.483231,47.602828 -61.483638,47.602355 -61.483663,47.602093 -61.483766,47.601817 -61.483167,47.601581 -61.482833,47.601269 -61.482998,47.600610 -61.483734,47.599677 -61.484078,47.599044 -61.483998,47.598514 -61.483735,47.598275 -61.483539,47.597881 -61.484037,47.596991 -61.484648,47.596281 -61.485396,47.595490 -61.486090,47.594994 -61.487092,47.594528 -61.488486,47.594308 -61.489813,47.594242 -61.491382,47.594362 -61.492948,47.594797 -61.495184,47.595541 -61.496968,47.596966 -61.497790,47.597878 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-65.068915,48.079185 -64.722265,48.261647</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.748523,48.259926 -64.722265,48.252291 -64.722955,48.245060 -64.727832,48.221537 -64.736382,48.194149 -64.759973,48.178013 -64.788665,48.170630 -64.845128,48.159726 -64.908686,48.134925 -64.996806,48.087781 -65.019322,48.079185 -65.063127,48.097388 -65.068915,48.099825 -65.062246,48.102205 -65.051945,48.107534 -65.045284,48.108985 -65.035302,48.110234 -65.029129,48.117435 -65.018269,48.122572 -65.008813,48.125861 -64.996271,48.132285 -64.979545,48.140539 -64.961991,48.148044 -64.960030,48.149702 -64.970552,48.150504 -64.980194,48.155195 -64.982886,48.161701 -64.983651,48.167085 -64.979964,48.173742 -64.976546,48.180957 -64.979509,48.188022 -64.979710,48.194145 -64.981333,48.197493 -64.976843,48.201549 -64.970458,48.201699 -64.961617,48.198680 -64.956951,48.194758 -64.956471,48.189004 -64.954862,48.184728 -64.946848,48.182455 -64.937385,48.184810 -64.931041,48.182175 -64.921552,48.186383 -64.910162,48.187611 -64.897370,48.189756 -64.885156,48.190233 -64.874909,48.189052 -64.865172,48.190842 -64.858987,48.196179 -64.853693,48.197627 -64.846219,48.196462 -64.840089,48.198089 -64.831990,48.201371 -64.818294,48.207394 -64.806657,48.206196 -64.799467,48.204658 -64.792545,48.203679 -64.783890,48.206767 -64.778560,48.210066 -64.776808,48.215061 -64.775592,48.221174 -64.773036,48.224494 -64.765779,48.226664 -64.762621,48.232577 -64.766705,48.237247 -64.765471,48.244288 -64.760337,48.251856 -64.754616,48.261088 -64.754884,48.261647 -64.748523,48.259926 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.219319,48.593626 -64.125693,48.663592</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.164486,48.662183 -64.164486,48.662183 -64.155962,48.659057 -64.155962,48.659057 -64.148304,48.651672 -64.148304,48.651672 -64.144537,48.647470 -64.144537,48.647470 -64.140948,48.646216 -64.139578,48.646497 -64.139578,48.646497 -64.138576,48.646603 -64.137418,48.643159 -64.137418,48.643159 -64.133161,48.640152 -64.133161,48.640152 -64.130055,48.638002 -64.130055,48.638002 -64.128265,48.634489 -64.128265,48.634489 -64.125693,48.629942 -64.125693,48.629942 -64.125711,48.623870 -64.125711,48.623870 -64.127805,48.618068 -64.127805,48.618068 -64.132361,48.614646 -64.132361,48.614646 -64.137310,48.613033 -64.137310,48.613033 -64.141071,48.608878 -64.141071,48.608878 -64.140781,48.606650 -64.140781,48.606650 -64.143871,48.603627 -64.143871,48.603627 -64.149244,48.600036 -64.149244,48.600036 -64.155475,48.597960 -64.155475,48.597960 -64.158231,48.596797 -64.158231,48.596797 -64.161988,48.595527 -64.161988,48.595527 -64.165272,48.594851 -64.165272,48.594851 -64.171558,48.593857 -64.171558,48.593857 -64.176550,48.593626 -64.183410,48.594503 -64.183410,48.594503 -64.191771,48.596662 -64.191771,48.596662 -64.202305,48.601856 -64.202305,48.601856 -64.209377,48.604778 -64.209377,48.604778 -64.209022,48.605015 -64.209022,48.605015 -64.211341,48.605767 -64.211341,48.605767 -64.219319,48.608700 -64.219319,48.608700 -64.202133,48.626527 -64.200397,48.626553 -64.196952,48.625352 -64.190284,48.623937 -64.186120,48.623700 -64.182824,48.624676 -64.180293,48.627287 -64.179414,48.629259 -64.180358,48.631276 -64.180056,48.631913 -64.182200,48.635851 -64.184467,48.638769 -64.187388,48.641808 -64.166347,48.663592 -64.164486,48.662183 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.372154,48.359575 -64.228542,48.443596</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.330694,48.422923 -64.325655,48.428729 -64.277010,48.443596 -64.228542,48.426665 -64.281419,48.359575 -64.372154,48.391218 -64.356916,48.413942 -64.330694,48.422923 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.333211,48.559670 -64.272856,48.619136</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.275082,48.613493 -64.276390,48.610637 -64.277964,48.608345 -64.281228,48.603015 -64.284341,48.596371 -64.286928,48.591594 -64.288279,48.587177 -64.289179,48.582129 -64.290255,48.577458 -64.290665,48.573029 -64.290916,48.567598 -64.290422,48.561908 -64.291239,48.559670 -64.292738,48.559877 -64.293084,48.560943 -64.293775,48.563075 -64.298717,48.567947 -64.303935,48.573072 -64.305789,48.577342 -64.305905,48.579904 -64.304830,48.581265 -64.302628,48.582549 -64.299574,48.584010 -64.298206,48.585741 -64.298064,48.587426 -64.301198,48.589777 -64.304767,48.593382 -64.308195,48.595361 -64.312120,48.596410 -64.319989,48.597882 -64.324324,48.601121 -64.331486,48.607706 -64.333211,48.610038 -64.332208,48.612212 -64.329721,48.613556 -64.326071,48.616072 -64.322019,48.616085 -64.319949,48.615997 -64.316839,48.616020 -64.312957,48.616722 -64.309918,48.617558 -64.304995,48.618371 -64.300650,48.618754 -64.296305,48.619136 -64.291712,48.618329 -64.287207,48.617709 -64.283057,48.617843 -64.278721,48.617913 -64.274563,48.618359 -64.272856,48.618712 -64.273107,48.616591 -64.275082,48.613493 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.593350,48.642093 -64.150893,48.891935</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.166944,48.663832 -64.170496,48.660475 -64.180314,48.650025 -64.188001,48.642093 -64.195576,48.643979 -64.205523,48.647446 -64.221516,48.655606 -64.230261,48.660592 -64.247356,48.671069 -64.254537,48.676802 -64.261204,48.686884 -64.267108,48.696699 -64.273416,48.706008 -64.281739,48.712779 -64.292111,48.715730 -64.294338,48.719090 -64.305370,48.726150 -64.316478,48.730646 -64.328320,48.736688 -64.336256,48.743962 -64.344123,48.753799 -64.359048,48.760900 -64.372075,48.766695 -64.382605,48.764512 -64.395738,48.766459 -64.411579,48.768692 -64.417461,48.766195 -64.435741,48.764094 -64.454692,48.766098 -64.470168,48.767548 -64.472780,48.771678 -64.463456,48.772346 -64.451823,48.772219 -64.442866,48.773658 -64.432338,48.775848 -64.422978,48.777794 -64.417363,48.784909 -64.404389,48.791427 -64.391179,48.792043 -64.381814,48.793985 -64.382446,48.799377 -64.391138,48.808196 -64.400738,48.812153 -64.412281,48.816131 -64.424997,48.819864 -64.438214,48.819243 -64.440426,48.823883 -64.453548,48.827105 -64.456789,48.821756 -64.471452,48.825504 -64.478234,48.818141 -64.485353,48.812833 -64.499091,48.806568 -64.519325,48.804471 -64.547629,48.805783 -64.567316,48.810593 -64.589236,48.820035 -64.593350,48.827253 -64.589327,48.833625 -64.577992,48.836850 -64.560974,48.833607 -64.542135,48.825214 -64.520442,48.822943 -64.500169,48.826322 -64.495116,48.826526 -64.492681,48.830859 -64.495639,48.837044 -64.482541,48.832546 -64.473140,48.835779 -64.478871,48.839687 -64.490397,48.844938 -64.498936,48.845284 -64.508185,48.848458 -64.511517,48.855416 -64.516853,48.859831 -64.524904,48.864529 -64.536844,48.869266 -64.552702,48.872759 -64.562588,48.882602 -64.572879,48.891935 -64.565502,48.891350 -64.550808,48.887615 -64.528431,48.879952 -64.499923,48.868887 -64.490176,48.870067 -64.476636,48.867358 -64.463066,48.865930 -64.451907,48.861448 -64.442258,48.858778 -64.434053,48.860481 -64.427888,48.858361 -64.408897,48.856351 -64.395770,48.853123 -64.376783,48.851107 -64.350643,48.840795 -64.334080,48.835722 -64.326789,48.832556 -64.319535,48.828107 -64.302064,48.827890 -64.287453,48.822833 -64.271786,48.814172 -64.251516,48.803909 -64.243756,48.803807 -64.231581,48.795698 -64.209628,48.777713 -64.190642,48.764636 -64.170497,48.751796 -64.159358,48.748564 -64.151774,48.743330 -64.150893,48.734601 -64.166944,48.663832 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.231264,48.733666 -64.089727,48.861913</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.202904,48.858293 -64.161295,48.861913 -64.153711,48.853667 -64.157725,48.845090 -64.159830,48.837721 -64.162594,48.833073 -64.164659,48.826936 -64.156143,48.824597 -64.146391,48.814348 -64.133543,48.796163 -64.123762,48.787145 -64.115317,48.771735 -64.105321,48.758274 -64.090910,48.743269 -64.089727,48.734129 -64.149868,48.733666 -64.150128,48.743326 -64.157413,48.748257 -64.163994,48.754428 -64.171291,48.759461 -64.183678,48.768756 -64.199335,48.781052 -64.205514,48.786315 -64.218381,48.792653 -64.225616,48.800147 -64.231264,48.810826 -64.229060,48.821895 -64.221917,48.835611 -64.214456,48.847349 -64.211620,48.854464 -64.207731,48.859344 -64.202904,48.858293 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-67.990860,48.680387 -67.977150,48.687609</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-67.989834,48.681244 -67.990439,48.681994 -67.990837,48.682796 -67.990860,48.683770 -67.990131,48.685089 -67.988877,48.686421 -67.987498,48.686805 -67.985916,48.686730 -67.985015,48.686915 -67.983986,48.687290 -67.983338,48.687609 -67.982035,48.687503 -67.980835,48.687371 -67.980004,48.686952 -67.979219,48.686717 -67.978239,48.686138 -67.977822,48.685615 -67.977347,48.684676 -67.977150,48.683706 -67.978968,48.682429 -67.980730,48.681989 -67.982865,48.680750 -67.985262,48.680387 -67.988354,48.680516 -67.989834,48.681244 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-68.515907,48.477681 -68.456459,48.522733</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-68.515033,48.480051 -68.515907,48.481553 -68.515907,48.481553 -68.515683,48.484392 -68.515683,48.484392 -68.513775,48.486322 -68.513775,48.486322 -68.512061,48.488585 -68.512061,48.488585 -68.510367,48.491130 -68.510367,48.491130 -68.510176,48.492043 -68.510176,48.492043 -68.510762,48.494290 -68.510762,48.494290 -68.510092,48.496860 -68.510092,48.496860 -68.508415,48.498442 -68.508415,48.498442 -68.506543,48.499691 -68.506543,48.499691 -68.499262,48.502808 -68.499262,48.502808 -68.493237,48.505602 -68.493237,48.505602 -68.488621,48.507842 -68.488621,48.507842 -68.482480,48.511432 -68.482480,48.511432 -68.479705,48.512992 -68.479705,48.512992 -68.479567,48.515507 -68.479567,48.515507 -68.479080,48.517966 -68.479080,48.517966 -68.478656,48.519985 -68.478656,48.519985 -68.477632,48.521521 -68.477632,48.521521 -68.476178,48.522318 -68.476178,48.522318 -68.472905,48.522733 -68.467962,48.522196 -68.467962,48.522196 -68.463658,48.520011 -68.463658,48.520011 -68.460895,48.518278 -68.460895,48.518278 -68.457319,48.515694 -68.457319,48.515694 -68.456459,48.512837 -68.456459,48.512837 -68.458529,48.510749 -68.458529,48.510749 -68.458366,48.510422 -68.458366,48.510422 -68.459909,48.508108 -68.459909,48.508108 -68.461898,48.506064 -68.461898,48.506064 -68.466246,48.504854 -68.466246,48.504854 -68.468430,48.504390 -68.468430,48.504390 -68.472894,48.503628 -68.472894,48.503628 -68.476700,48.501981 -68.476700,48.501981 -68.480871,48.499472 -68.480871,48.499472 -68.483574,48.497915 -68.483574,48.497915 -68.487436,48.495869 -68.487436,48.495869 -68.489867,48.494094 -68.489867,48.494094 -68.489554,48.492064 -68.489554,48.492064 -68.489297,48.489637 -68.489297,48.489637 -68.490858,48.487605 -68.490858,48.487605 -68.492633,48.486191 -68.492633,48.486191 -68.495412,48.484518 -68.495412,48.484518 -68.499215,48.482870 -68.499215,48.482870 -68.503172,48.480990 -68.503172,48.480990 -68.506663,48.478558 -68.506663,48.478558 -68.509327,48.477681 -68.512536,48.478487 -68.512536,48.478487 -68.515033,48.480051 -68.515033,48.480051 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.420097,47.995852 -69.261324,48.090319</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.411848,48.002344 -69.420097,48.014425 -69.416194,48.021140 -69.403196,48.030479 -69.395650,48.035680 -69.387974,48.041081 -69.379991,48.044733 -69.367401,48.052290 -69.354213,48.045196 -69.343313,48.045638 -69.331056,48.052100 -69.320124,48.060365 -69.306791,48.067944 -69.295594,48.076609 -69.293504,48.082659 -69.293123,48.086588 -69.289060,48.088511 -69.285424,48.090319 -69.277204,48.086537 -69.261324,48.075330 -69.263889,48.071316 -69.270774,48.066641 -69.278724,48.059184 -69.296284,48.044986 -69.306835,48.038988 -69.315846,48.033736 -69.322292,48.029173 -69.330653,48.021599 -69.338329,48.014540 -69.340843,48.011700 -69.341515,48.006196 -69.349190,48.000799 -69.354531,48.001854 -69.363899,48.007145 -69.369501,48.009460 -69.387786,48.010179 -69.394719,48.001484 -69.400336,47.995972 -69.403240,47.995852 -69.408549,47.999741 -69.411848,48.002344 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.556891,47.890260 -69.420612,47.999999</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.526660,47.890260 -69.554944,47.908303 -69.556891,47.928846 -69.460718,47.999999 -69.420612,47.999678 -69.440290,47.983428 -69.461399,47.963141 -69.459165,47.956206 -69.462070,47.950736 -69.470611,47.939836 -69.480507,47.933767 -69.489125,47.926224 -69.497401,47.917472 -69.517588,47.897673 -69.526660,47.890260 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.294496,48.115634 -69.106496,48.218021</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.294496,48.134198 -69.293197,48.137919 -69.270881,48.150312 -69.241424,48.165956 -69.207595,48.184440 -69.163809,48.208255 -69.150176,48.215425 -69.138640,48.217651 -69.131547,48.218021 -69.124851,48.216094 -69.118550,48.213555 -69.113424,48.210873 -69.109611,48.206157 -69.106496,48.200918 -69.109292,48.197142 -69.118269,48.191049 -69.123717,48.187073 -69.142223,48.176250 -69.159981,48.165452 -69.184121,48.151428 -69.228792,48.128365 -69.249330,48.117640 -69.257447,48.115634 -69.272816,48.118596 -69.283586,48.123127 -69.292102,48.128937 -69.294496,48.134198 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.702910,47.904241 -69.631224,47.966496</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.698693,47.906082 -69.702531,47.909978 -69.702910,47.913833 -69.700077,47.917251 -69.695844,47.924022 -69.692168,47.927670 -69.687340,47.934274 -69.680423,47.943100 -69.670382,47.952450 -69.660587,47.961402 -69.650414,47.966496 -69.643485,47.966412 -69.637555,47.964734 -69.631690,47.960729 -69.631224,47.955909 -69.638434,47.949978 -69.646733,47.943419 -69.655747,47.932374 -69.665006,47.920930 -69.680338,47.909798 -69.686880,47.906024 -69.692177,47.904241 -69.698693,47.906082 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.783779,47.684533 -69.669767,47.767977</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.779267,47.689562 -69.783779,47.694581 -69.783079,47.699063 -69.779869,47.704239 -69.772911,47.712101 -69.765114,47.720193 -69.756668,47.730443 -69.743095,47.741117 -69.731535,47.751892 -69.718008,47.760238 -69.700684,47.767977 -69.684777,47.766748 -69.674119,47.760447 -69.669767,47.754060 -69.673397,47.747127 -69.680969,47.739440 -69.692479,47.730996 -69.702993,47.724143 -69.719271,47.714709 -69.741516,47.699007 -69.754734,47.687771 -69.766446,47.684533 -69.774111,47.686701 -69.779267,47.689562 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.700919,47.849781 -69.658814,47.890406</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.700919,47.871793 -69.699213,47.877870 -69.694581,47.886401 -69.687201,47.890406 -69.679504,47.888229 -69.673833,47.886156 -69.667538,47.880626 -69.662086,47.874864 -69.658814,47.867845 -69.659653,47.858710 -69.668679,47.850957 -69.677767,47.849781 -69.690189,47.853297 -69.699039,47.861422 -69.700919,47.871793 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.945933,47.512308 -69.716783,47.691175</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.729039,47.671124 -69.724230,47.668824 -69.716783,47.662968 -69.727792,47.649708 -69.741092,47.639438 -69.749905,47.633045 -69.768963,47.614581 -69.781558,47.603178 -69.797239,47.591246 -69.818356,47.579448 -69.836520,47.566816 -69.851778,47.556635 -69.866690,47.540279 -69.878650,47.528701 -69.893444,47.516988 -69.906667,47.512308 -69.923958,47.516716 -69.936846,47.522683 -69.943864,47.532600 -69.945933,47.541592 -69.943205,47.553905 -69.937677,47.564030 -69.930823,47.575184 -69.922642,47.587368 -69.912836,47.597693 -69.907392,47.603171 -69.896302,47.612201 -69.888104,47.618774 -69.880641,47.624151 -69.876319,47.626673 -69.872732,47.633611 -69.863594,47.639451 -69.850179,47.645489 -69.840789,47.651725 -69.834194,47.660154 -69.830351,47.667489 -69.823312,47.674391 -69.814159,47.680227 -69.807018,47.686165 -69.803716,47.690379 -69.803222,47.691175 -69.793636,47.689871 -69.775698,47.685269 -69.744056,47.678187 -69.736100,47.675933 -69.729039,47.671124 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.769349,49.131452 -61.636018,49.229074</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.669521,49.134711 -61.674943,49.133759 -61.688077,49.132723 -61.695306,49.131452 -61.704802,49.134548 -61.714785,49.138829 -61.721882,49.145524 -61.729116,49.157280 -61.732515,49.165580 -61.735894,49.177381 -61.737973,49.187186 -61.746163,49.191783 -61.753643,49.191101 -61.766583,49.198992 -61.769349,49.204544 -61.737818,49.228220 -61.734770,49.229074 -61.725074,49.227918 -61.718426,49.225908 -61.707759,49.222378 -61.698663,49.217937 -61.692130,49.211455 -61.685956,49.201097 -61.680957,49.187674 -61.676994,49.179154 -61.667515,49.172555 -61.660064,49.169730 -61.654028,49.164434 -61.648657,49.158385 -61.642743,49.148620 -61.636018,49.138044 -61.638034,49.132290 -61.669521,49.134711 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-66.324662,50.116408 -66.261628,50.179852</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-66.318427,50.121301 -66.321168,50.125051 -66.317315,50.129815 -66.318560,50.133440 -66.319917,50.137270 -66.317955,50.140579 -66.316284,50.142444 -66.313546,50.144318 -66.309656,50.147368 -66.306508,50.150137 -66.308189,50.154239 -66.313574,50.156597 -66.321759,50.160165 -66.324662,50.166521 -66.322199,50.171549 -66.317794,50.175633 -66.311343,50.178909 -66.305058,50.179852 -66.297561,50.178883 -66.289928,50.176336 -66.281188,50.171740 -66.276312,50.168005 -66.273110,50.162405 -66.271646,50.158369 -66.272331,50.155002 -66.271831,50.151096 -66.269307,50.147412 -66.265729,50.144421 -66.262587,50.141907 -66.261918,50.140335 -66.261628,50.136153 -66.262442,50.134020 -66.265690,50.130772 -66.273425,50.127900 -66.279664,50.124903 -66.285823,50.123414 -66.291241,50.122205 -66.295227,50.118676 -66.298283,50.116731 -66.304357,50.116408 -66.309377,50.116779 -66.315830,50.119470 -66.318427,50.121301 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-68.151209,49.192950 -68.063051,49.250217</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-68.151023,49.205526 -68.148390,49.205170 -68.144730,49.205047 -68.144520,49.205787 -68.144062,49.206792 -68.143967,49.208284 -68.143829,49.209839 -68.143458,49.210717 -68.142552,49.211363 -68.141246,49.212422 -68.140195,49.213784 -68.139627,49.215289 -68.139783,49.216246 -68.140560,49.217311 -68.141029,49.217981 -68.142636,49.218682 -68.144600,49.219032 -68.146024,49.219831 -68.146449,49.220564 -68.147444,49.221313 -68.148409,49.221597 -68.149201,49.222133 -68.149077,49.223161 -68.148673,49.224257 -68.148273,49.224672 -68.147154,49.224950 -68.145894,49.225264 -68.144481,49.226140 -68.142842,49.227177 -68.141959,49.227449 -68.139585,49.227359 -68.138369,49.227609 -68.137559,49.228282 -68.136565,49.229054 -68.135484,49.229908 -68.135672,49.231173 -68.135421,49.233404 -68.135197,49.236061 -68.136211,49.239712 -68.136307,49.243302 -68.137267,49.246098 -68.139185,49.247501 -68.141037,49.249931 -68.063051,49.250217 -68.065021,49.192950 -68.151209,49.194061 -68.151023,49.205526 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.111149,48.597868 -69.083766,48.637732</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.110485,48.602589 -69.111149,48.603956 -69.110995,48.604142 -69.109082,48.606454 -69.106395,48.610245 -69.104408,48.612619 -69.101643,48.615506 -69.100756,48.616870 -69.100694,48.619353 -69.100015,48.622101 -69.098482,48.624458 -69.097723,48.627330 -69.095298,48.632080 -69.094700,48.634704 -69.094263,48.637080 -69.093683,48.637212 -69.091397,48.637732 -69.089900,48.637304 -69.088700,48.636078 -69.089133,48.634731 -69.088125,48.632529 -69.085700,48.629776 -69.084351,48.625712 -69.083963,48.622217 -69.083766,48.617747 -69.084178,48.615070 -69.085268,48.609645 -69.086721,48.607412 -69.088306,48.605659 -69.089193,48.604295 -69.090565,48.602187 -69.092446,48.599636 -69.095521,48.598122 -69.096035,48.597868 -69.099188,48.598476 -69.103889,48.600115 -69.110485,48.602589 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.603738,48.198088 -69.257937,48.463918</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.567467,48.216763 -69.603738,48.267839 -69.594491,48.275136 -69.592497,48.278288 -69.583123,48.284311 -69.574622,48.287486 -69.557948,48.293307 -69.549140,48.301347 -69.541874,48.305489 -69.529217,48.309346 -69.523068,48.313183 -69.506737,48.322814 -69.502426,48.333984 -69.497324,48.344931 -69.489736,48.353938 -69.481501,48.368339 -69.475697,48.375992 -69.471445,48.379748 -69.458565,48.389739 -69.453542,48.397615 -69.443215,48.402131 -69.435014,48.404770 -69.428291,48.410925 -69.426515,48.416622 -69.419570,48.424575 -69.404852,48.431568 -69.391370,48.439531 -69.390143,48.442904 -69.387469,48.451449 -69.382646,48.457524 -69.375117,48.463454 -69.363627,48.463918 -69.303663,48.442545 -69.285525,48.433040 -69.267622,48.426078 -69.257937,48.407802 -69.264683,48.397314 -69.278845,48.383977 -69.295469,48.368241 -69.312875,48.357071 -69.324312,48.343582 -69.324862,48.336916 -69.323838,48.329803 -69.332905,48.315642 -69.349482,48.299900 -69.364037,48.287304 -69.383167,48.270433 -69.407229,48.257443 -69.420433,48.251281 -69.435656,48.246311 -69.449854,48.238571 -69.459097,48.226948 -69.469690,48.217566 -69.484990,48.209520 -69.501189,48.202966 -69.521428,48.198793 -69.532060,48.198088 -69.567467,48.216763 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.696544,48.119081 -69.627382,48.168400</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.696251,48.136304 -69.696544,48.136994 -69.695805,48.137881 -69.694100,48.138860 -69.691086,48.138742 -69.689591,48.138808 -69.686471,48.139146 -69.681657,48.143629 -69.678376,48.147692 -69.675324,48.152550 -69.673099,48.156667 -69.671694,48.159191 -69.669671,48.161541 -69.665810,48.162765 -69.662363,48.163619 -69.661258,48.165376 -69.660088,48.167236 -69.656446,48.168400 -69.653974,48.167704 -69.649356,48.165795 -69.643430,48.162788 -69.639049,48.160215 -69.632060,48.156298 -69.627861,48.151707 -69.627382,48.149868 -69.629057,48.147786 -69.633658,48.145677 -69.638453,48.143258 -69.639818,48.141088 -69.641526,48.137798 -69.642582,48.135541 -69.641982,48.132453 -69.643469,48.129223 -69.645703,48.125960 -69.649505,48.121072 -69.653663,48.119081 -69.659851,48.120218 -69.666917,48.123425 -69.673384,48.125854 -69.679949,48.129284 -69.686188,48.130919 -69.692404,48.132303 -69.694948,48.133748 -69.696251,48.136304 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-70.948261,48.418362 -70.877326,48.457655</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-70.939515,48.457655 -70.933237,48.455914 -70.929972,48.455051 -70.927512,48.455698 -70.924842,48.456696 -70.919349,48.456703 -70.915282,48.455140 -70.911763,48.453478 -70.908561,48.452306 -70.905738,48.451315 -70.902155,48.449149 -70.896382,48.446160 -70.889349,48.443647 -70.884461,48.440810 -70.881869,48.438824 -70.880495,48.435214 -70.877326,48.428287 -70.882315,48.419954 -70.892532,48.418362 -70.894593,48.418584 -70.902336,48.420312 -70.912691,48.423380 -70.922523,48.427119 -70.928448,48.431688 -70.937725,48.438198 -70.946129,48.441069 -70.948261,48.443012 -70.939515,48.457655 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.571200,48.058724 -69.545278,48.077674</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.548740,48.066272 -69.557465,48.058724 -69.571200,48.062084 -69.565125,48.068486 -69.563372,48.072164 -69.557631,48.077674 -69.553513,48.076659 -69.546942,48.075404 -69.545278,48.074629 -69.546217,48.071706 -69.547540,48.068892 -69.548740,48.066272 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.784494,48.012422 -69.647150,48.129573</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.762334,48.012422 -69.767054,48.012592 -69.775524,48.018905 -69.780919,48.022965 -69.783819,48.027711 -69.784494,48.031601 -69.778469,48.034073 -69.774341,48.031294 -69.772239,48.030241 -69.769988,48.030534 -69.768886,48.039477 -69.767300,48.046434 -69.767966,48.053098 -69.769085,48.055726 -69.763321,48.059428 -69.761439,48.066303 -69.755863,48.071909 -69.752984,48.075959 -69.748268,48.080187 -69.747932,48.080780 -69.744153,48.080134 -69.741550,48.079555 -69.737201,48.078486 -69.734079,48.078372 -69.731050,48.079202 -69.728259,48.081474 -69.727538,48.083717 -69.724739,48.087822 -69.722785,48.090941 -69.718189,48.095000 -69.716016,48.095917 -69.713191,48.097875 -69.716583,48.099746 -69.722824,48.101807 -69.726104,48.103493 -69.731174,48.107058 -69.731906,48.110627 -69.727219,48.116648 -69.723843,48.118757 -69.723428,48.121240 -69.731846,48.122382 -69.736072,48.124859 -69.734275,48.129022 -69.730471,48.129573 -69.723416,48.127591 -69.720392,48.126288 -69.719320,48.126727 -69.708237,48.121473 -69.706039,48.119465 -69.700179,48.119438 -69.692773,48.119669 -69.680526,48.117147 -69.667259,48.112947 -69.652248,48.105474 -69.648756,48.094532 -69.647150,48.083891 -69.653066,48.072825 -69.663674,48.063085 -69.679247,48.053124 -69.691438,48.047997 -69.698891,48.045468 -69.706483,48.044367 -69.720540,48.042308 -69.729383,48.033691 -69.743209,48.019304 -69.748808,48.012551 -69.762334,48.012422 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.825572,47.912598 -69.762866,47.975917</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.821605,47.965652 -69.816761,47.967155 -69.808189,47.966657 -69.806446,47.968315 -69.801403,47.967854 -69.792023,47.968081 -69.789976,47.969654 -69.789766,47.973413 -69.786784,47.975917 -69.783507,47.975473 -69.770221,47.973408 -69.765988,47.972217 -69.762866,47.970384 -69.764337,47.967456 -69.766286,47.964902 -69.766928,47.961025 -69.764869,47.958059 -69.764399,47.954824 -69.768141,47.951104 -69.770040,47.948058 -69.771967,47.943827 -69.769761,47.939388 -69.770382,47.933835 -69.775491,47.926205 -69.778176,47.920757 -69.777607,47.916540 -69.779708,47.912598 -69.791184,47.915827 -69.807973,47.920787 -69.810407,47.926004 -69.808380,47.932114 -69.803259,47.935208 -69.800605,47.939473 -69.800923,47.944096 -69.804572,47.946791 -69.807572,47.945964 -69.813821,47.946765 -69.820142,47.949733 -69.821979,47.951919 -69.821320,47.954120 -69.822069,47.958625 -69.825572,47.959846 -69.824787,47.962250 -69.821605,47.965652 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-70.575435,46.985272 -70.508036,47.014631</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-70.574244,46.989597 -70.575335,46.991356 -70.575435,46.997742 -70.572935,46.997713 -70.569465,46.998343 -70.563063,46.998692 -70.561356,46.999942 -70.561511,47.001973 -70.560265,47.004410 -70.558327,47.005066 -70.549646,47.007302 -70.540369,47.008577 -70.533588,47.010542 -70.525408,47.012252 -70.520124,47.014631 -70.514698,47.012995 -70.510258,47.008716 -70.508036,47.006908 -70.508157,47.003761 -70.513270,47.001997 -70.519281,47.000351 -70.526124,46.998934 -70.534845,46.995652 -70.542788,46.994009 -70.546924,46.993564 -70.546967,46.991854 -70.546214,46.989526 -70.547794,46.987181 -70.550471,46.985272 -70.553466,46.986101 -70.554718,46.988567 -70.557781,46.989282 -70.562047,46.989271 -70.568214,46.988989 -70.574244,46.989597 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-70.889220,46.883980 -70.807396,46.916964</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-70.861659,46.888651 -70.862424,46.888993 -70.863188,46.888673 -70.865215,46.887509 -70.867210,46.887393 -70.868841,46.888236 -70.871304,46.889966 -70.871573,46.891493 -70.873369,46.891720 -70.873866,46.890534 -70.875560,46.889940 -70.880048,46.889184 -70.882976,46.890116 -70.884243,46.891916 -70.885614,46.895197 -70.887648,46.897999 -70.889220,46.902261 -70.887231,46.905683 -70.884209,46.907897 -70.878722,46.909042 -70.875528,46.909227 -70.867943,46.909005 -70.859860,46.909968 -70.854871,46.910587 -70.844359,46.911414 -70.832482,46.912263 -70.823201,46.914614 -70.816814,46.916964 -70.813420,46.916167 -70.811256,46.914252 -70.808627,46.911151 -70.807396,46.908302 -70.808659,46.906136 -70.812317,46.903171 -70.817937,46.898497 -70.821495,46.897356 -70.825452,46.896192 -70.827911,46.893296 -70.833028,46.887823 -70.839409,46.884150 -70.848552,46.884009 -70.858593,46.883980 -70.862119,46.885209 -70.861659,46.888651 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-71.209559,46.832814 -71.039807,46.935109</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-71.141157,46.848342 -71.147106,46.845826 -71.153204,46.842527 -71.156385,46.842601 -71.177591,46.834168 -71.192627,46.832814 -71.209000,46.835681 -71.209559,46.839952 -71.208225,46.842940 -71.206775,46.847443 -71.204465,46.850169 -71.198448,46.852154 -71.188214,46.854290 -71.179408,46.856553 -71.174040,46.858711 -71.168160,46.861763 -71.167023,46.862919 -71.166508,46.865954 -71.161634,46.873141 -71.156749,46.879038 -71.149722,46.885387 -71.141905,46.890492 -71.136156,46.894610 -71.129558,46.898240 -71.124508,46.900485 -71.115561,46.902965 -71.112026,46.902834 -71.105793,46.905171 -71.098703,46.909647 -71.096002,46.911089 -71.093009,46.913263 -71.089912,46.916550 -71.087644,46.919443 -71.081784,46.921777 -71.081130,46.921823 -71.077234,46.923795 -71.075229,46.925315 -71.071415,46.928666 -71.066041,46.932111 -71.060923,46.935109 -71.052919,46.933974 -71.047316,46.931940 -71.041442,46.927770 -71.039807,46.926037 -71.041739,46.922692 -71.047969,46.921028 -71.051458,46.917590 -71.054433,46.915043 -71.058376,46.911470 -71.059615,46.911033 -71.060133,46.909728 -71.063553,46.907973 -71.066785,46.907013 -71.066561,46.906931 -71.072674,46.903636 -71.079663,46.899341 -71.085732,46.897683 -71.090397,46.895852 -71.092561,46.893138 -71.095759,46.889672 -71.101812,46.885948 -71.108433,46.881759 -71.112567,46.878753 -71.116550,46.876531 -71.120881,46.872135 -71.122569,46.868674 -71.127616,46.863029 -71.129618,46.860065 -71.133379,46.856134 -71.136271,46.854236 -71.140094,46.851765 -71.141157,46.848342 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-71.978869,46.065098 -71.958180,46.084534</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-71.978869,46.067135 -71.978668,46.069204 -71.978861,46.071055 -71.978793,46.072708 -71.978596,46.073749 -71.977945,46.074606 -71.976659,46.075103 -71.974855,46.076042 -71.973407,46.076496 -71.971292,46.076646 -71.969805,46.076833 -71.969429,46.077184 -71.968413,46.078202 -71.966862,46.079015 -71.965503,46.079814 -71.963607,46.080921 -71.963198,46.081842 -71.963053,46.082447 -71.962533,46.083403 -71.961931,46.084338 -71.961455,46.084534 -71.960162,46.084193 -71.958760,46.083373 -71.958289,46.082541 -71.958180,46.082063 -71.958885,46.080769 -71.959689,46.079631 -71.960909,46.078410 -71.962340,46.077308 -71.962103,46.076217 -71.961660,46.075843 -71.961531,46.075230 -71.962539,46.073889 -71.964549,46.072232 -71.966236,46.070491 -71.967973,46.068827 -71.969353,46.067648 -71.970622,46.066504 -71.972468,46.065319 -71.974066,46.065098 -71.975682,46.065524 -71.977487,46.066449 -71.978869,46.067135 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-73.171958,46.111234 -73.028070,46.204877</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-73.028070,46.158599 -73.035961,46.156914 -73.047279,46.152672 -73.063390,46.148650 -73.076121,46.145733 -73.090674,46.141320 -73.096384,46.139087 -73.107117,46.133232 -73.114055,46.125213 -73.119678,46.119060 -73.132999,46.113605 -73.144028,46.111234 -73.152234,46.115712 -73.171958,46.125731 -73.141972,46.153364 -73.123704,46.162954 -73.070074,46.192741 -73.048343,46.204877 -73.028070,46.158599 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-72.960913,46.136577 -72.669408,46.273750</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-72.905184,46.213292 -72.886718,46.222356 -72.871206,46.227393 -72.868862,46.228591 -72.839551,46.240285 -72.807189,46.251203 -72.788897,46.254934 -72.768737,46.260576 -72.747053,46.265829 -72.731028,46.270125 -72.717073,46.273750 -72.699263,46.271622 -72.679253,46.267141 -72.670778,46.262005 -72.669408,46.257045 -72.672263,46.251043 -72.677391,46.244588 -72.687641,46.231676 -72.699125,46.219675 -72.717570,46.205863 -72.744555,46.188847 -72.770344,46.175701 -72.781346,46.167051 -72.789160,46.164365 -72.808723,46.153218 -72.857330,46.142250 -72.896287,46.136577 -72.934977,46.137970 -72.951038,46.144983 -72.960913,46.154013 -72.954004,46.168956 -72.942686,46.185772 -72.929211,46.198474 -72.905184,46.213292 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-73.038776,46.116231 -72.987801,46.141517</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-72.991728,46.141007 -72.991561,46.141062 -72.989148,46.140332 -72.987906,46.139082 -72.987801,46.138242 -72.988223,46.136909 -72.990191,46.135024 -72.992353,46.132938 -72.994853,46.130373 -72.998038,46.127354 -72.998957,46.125581 -73.000502,46.125030 -73.003089,46.126116 -73.004912,46.126072 -73.006977,46.125213 -73.014373,46.121184 -73.020200,46.119139 -73.027531,46.117910 -73.028958,46.117515 -73.031248,46.117087 -73.033350,46.116675 -73.035829,46.116231 -73.037712,46.118329 -73.038414,46.121320 -73.038776,46.124100 -73.038197,46.128522 -73.037252,46.130350 -73.033817,46.133683 -73.030634,46.135139 -73.025886,46.136141 -73.020818,46.137063 -73.014756,46.137298 -73.009672,46.137902 -73.004770,46.138677 -73.001649,46.139835 -72.997327,46.140880 -72.993125,46.141517 -72.991728,46.141007 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-72.715555,45.393043 -72.669267,45.418735</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-72.715555,45.398296 -72.712981,45.400434 -72.708610,45.402404 -72.707318,45.402072 -72.705639,45.402081 -72.705369,45.402601 -72.705031,45.403252 -72.705379,45.405405 -72.702818,45.408726 -72.700850,45.409694 -72.697572,45.410766 -72.694411,45.412016 -72.690899,45.412732 -72.688494,45.413735 -72.686324,45.415092 -72.684873,45.417077 -72.682013,45.418552 -72.678149,45.418735 -72.676807,45.418095 -72.673747,45.413914 -72.675104,45.409693 -72.675712,45.408522 -72.676172,45.406429 -72.672179,45.405252 -72.670905,45.404481 -72.669267,45.401994 -72.669696,45.399156 -72.671251,45.396165 -72.674079,45.393946 -72.679152,45.393043 -72.702202,45.393383 -72.704146,45.394473 -72.709471,45.393486 -72.711416,45.394577 -72.715189,45.396580 -72.715555,45.398296 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-73.278356,45.836752 -73.209812,45.940415</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-73.209812,45.923262 -73.211266,45.910732 -73.209838,45.899327 -73.209857,45.895418 -73.211714,45.892428 -73.214216,45.887526 -73.215175,45.885003 -73.216759,45.881254 -73.219220,45.877724 -73.221305,45.873640 -73.224205,45.871830 -73.225915,45.870415 -73.226829,45.866040 -73.227246,45.865223 -73.231896,45.860627 -73.238590,45.856540 -73.244075,45.853532 -73.244803,45.852103 -73.248365,45.847696 -73.252827,45.846045 -73.259621,45.841753 -73.266628,45.840274 -73.269064,45.837428 -73.274674,45.836752 -73.277661,45.838644 -73.278356,45.841808 -73.274447,45.848198 -73.271161,45.853364 -73.266120,45.858093 -73.259726,45.865478 -73.256015,45.868237 -73.248344,45.875534 -73.242673,45.881489 -73.237522,45.886421 -73.236432,45.887632 -73.235123,45.891216 -73.235554,45.895633 -73.236937,45.900287 -73.235465,45.906855 -73.232785,45.913686 -73.231312,45.920254 -73.228056,45.930315 -73.225543,45.936813 -73.219673,45.940415 -73.214514,45.938944 -73.212317,45.937460 -73.211565,45.933149 -73.210726,45.926379 -73.210747,45.923907 -73.209812,45.923262 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-73.446216,45.706182 -73.434970,45.720577</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-73.446216,45.710221 -73.444739,45.712455 -73.445442,45.713867 -73.445073,45.714952 -73.443318,45.717736 -73.442201,45.719255 -73.440329,45.720340 -73.438531,45.720577 -73.436599,45.719852 -73.435757,45.718716 -73.435807,45.715634 -73.434970,45.714313 -73.435242,45.712895 -73.435944,45.711150 -73.437537,45.709563 -73.439436,45.708423 -73.439856,45.707413 -73.440267,45.706772 -73.441649,45.706308 -73.443390,45.706182 -73.444652,45.706308 -73.445827,45.707835 -73.446216,45.710221 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-73.516521,45.466444 -73.500699,45.492082</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-73.504274,45.467550 -73.506704,45.471486 -73.509781,45.476370 -73.511936,45.479996 -73.513421,45.482546 -73.514409,45.484367 -73.515257,45.486638 -73.516413,45.488986 -73.516521,45.491014 -73.515905,45.492075 -73.514953,45.492082 -73.513783,45.491490 -73.512791,45.489850 -73.511793,45.487359 -73.510437,45.483689 -73.508350,45.480444 -73.505899,45.477412 -73.502743,45.473721 -73.501083,45.471006 -73.500699,45.468667 -73.501098,45.467007 -73.502499,45.466444 -73.504274,45.467550 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-73.906621,45.320068 -73.666570,45.448279</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-73.897742,45.383515 -73.899406,45.387990 -73.892071,45.393538 -73.888818,45.395462 -73.887038,45.399101 -73.885518,45.400632 -73.883987,45.402975 -73.884652,45.404765 -73.885780,45.406396 -73.888750,45.408203 -73.891601,45.410252 -73.890069,45.412595 -73.885782,45.414269 -73.881256,45.416427 -73.878108,45.418920 -73.871859,45.420660 -73.865622,45.421588 -73.857268,45.425260 -73.849840,45.428612 -73.844528,45.429221 -73.840738,45.428300 -73.837199,45.426081 -73.834180,45.427518 -73.827596,45.428360 -73.825542,45.427045 -73.824151,45.427521 -73.824364,45.428659 -73.821701,45.429369 -73.818417,45.432914 -73.812296,45.433596 -73.808136,45.434212 -73.806042,45.435331 -73.804731,45.437999 -73.803180,45.441152 -73.801988,45.443578 -73.798714,45.446311 -73.791186,45.448279 -73.782439,45.447232 -73.777762,45.444190 -73.772291,45.440410 -73.768727,45.439812 -73.764130,45.438961 -73.761240,45.439342 -73.757346,45.437848 -73.757030,45.436140 -73.754485,45.436605 -73.752271,45.437966 -73.747583,45.435734 -73.746416,45.436535 -73.741566,45.436980 -73.734530,45.437161 -73.728556,45.435972 -73.723571,45.437470 -73.716774,45.437165 -73.710576,45.435647 -73.702177,45.434677 -73.693690,45.432326 -73.684933,45.432082 -73.670100,45.430074 -73.666570,45.427849 -73.672311,45.417027 -73.677937,45.418136 -73.688772,45.418076 -73.699547,45.415011 -73.712161,45.412124 -73.711517,45.409521 -73.707597,45.409647 -73.703812,45.408720 -73.704067,45.407423 -73.711098,45.407244 -73.714120,45.405811 -73.718473,45.400900 -73.721733,45.398981 -73.725174,45.399824 -73.728271,45.400582 -73.731936,45.401751 -73.737428,45.403910 -73.742422,45.401600 -73.750036,45.401017 -73.754840,45.403007 -73.764680,45.400251 -73.768366,45.393546 -73.772037,45.387653 -73.771987,45.383838 -73.770266,45.383418 -73.770189,45.381226 -73.772863,45.379707 -73.776266,45.375922 -73.776083,45.373161 -73.775541,45.371128 -73.780306,45.368490 -73.787188,45.363111 -73.795522,45.360258 -73.793486,45.358132 -73.790854,45.357218 -73.790074,45.355670 -73.796661,45.354020 -73.809462,45.345199 -73.814605,45.340210 -73.818490,45.334642 -73.826975,45.329111 -73.830637,45.330276 -73.837537,45.330329 -73.845838,45.329095 -73.852681,45.325334 -73.856654,45.321145 -73.864490,45.320068 -73.869528,45.321566 -73.874198,45.324602 -73.873464,45.327220 -73.881005,45.329055 -73.885495,45.330654 -73.889883,45.331974 -73.897951,45.336555 -73.902041,45.338732 -73.905718,45.342245 -73.906621,45.344323 -73.904711,45.345043 -73.899500,45.348595 -73.899013,45.350082 -73.898389,45.351114 -73.896546,45.352188 -73.893202,45.352897 -73.891396,45.353895 -73.889293,45.353046 -73.886563,45.353481 -73.886548,45.354492 -73.885329,45.354534 -73.882672,45.354818 -73.879672,45.356540 -73.876572,45.357731 -73.874617,45.359031 -73.873955,45.360138 -73.873474,45.360127 -73.873672,45.360297 -73.865248,45.361776 -73.854853,45.364133 -73.853653,45.367370 -73.853297,45.368097 -73.855762,45.372498 -73.860556,45.375293 -73.866431,45.375093 -73.871416,45.372776 -73.875949,45.369807 -73.882167,45.369690 -73.886962,45.372484 -73.894239,45.378865 -73.897742,45.383515 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-63.642449,50.180140 -63.586222,50.216232</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-63.589581,50.189635 -63.589817,50.189359 -63.590061,50.189086 -63.590312,50.188815 -63.590570,50.188547 -63.590836,50.188283 -63.591109,50.188021 -63.591389,50.187762 -63.591676,50.187507 -63.591969,50.187255 -63.592270,50.187006 -63.592577,50.186760 -63.592891,50.186518 -63.593212,50.186280 -63.593539,50.186045 -63.593872,50.185814 -63.594211,50.185586 -63.594557,50.185363 -63.594908,50.185143 -63.595266,50.184928 -63.595629,50.184716 -63.595998,50.184509 -63.596373,50.184305 -63.596753,50.184106 -63.597138,50.183911 -63.597529,50.183721 -63.597925,50.183535 -63.598325,50.183353 -63.598731,50.183176 -63.599141,50.183004 -63.599556,50.182836 -63.599976,50.182672 -63.600400,50.182514 -63.600828,50.182360 -63.601260,50.182211 -63.601696,50.182067 -63.602136,50.181928 -63.602580,50.181794 -63.603027,50.181665 -63.603478,50.181541 -63.603932,50.181422 -63.604389,50.181308 -63.604849,50.181199 -63.605313,50.181095 -63.605778,50.180997 -63.606247,50.180903 -63.606718,50.180815 -63.607191,50.180733 -63.607667,50.180655 -63.608144,50.180583 -63.608623,50.180517 -63.609104,50.180455 -63.609587,50.180399 -63.610071,50.180349 -63.610557,50.180304 -63.611043,50.180264 -63.611531,50.180230 -63.612019,50.180201 -63.612508,50.180178 -63.612998,50.180160 -63.613488,50.180148 -63.613978,50.180141 -63.614469,50.180140 -63.614959,50.180144 -63.615449,50.180154 -63.615939,50.180169 -63.616429,50.180190 -63.616917,50.180216 -63.617405,50.180248 -63.617892,50.180285 -63.618378,50.180328 -63.618863,50.180376 -63.619347,50.180429 -63.619828,50.180488 -63.620308,50.180552 -63.620787,50.180622 -63.621263,50.180697 -63.621737,50.180777 -63.622209,50.180862 -63.622679,50.180953 -63.623146,50.181049 -63.623611,50.181151 -63.624072,50.181257 -63.624531,50.181369 -63.624986,50.181486 -63.625439,50.181607 -63.625887,50.181734 -63.626333,50.181866 -63.626775,50.182003 -63.627213,50.182145 -63.627647,50.182292 -63.628077,50.182443 -63.628502,50.182600 -63.628924,50.182761 -63.629341,50.182926 -63.629753,50.183097 -63.630161,50.183272 -63.630564,50.183451 -63.630962,50.183635 -63.631355,50.183824 -63.631743,50.184017 -63.632125,50.184214 -63.632503,50.184415 -63.632874,50.184621 -63.633240,50.184831 -63.633600,50.185044 -63.633954,50.185262 -63.634303,50.185484 -63.634645,50.185710 -63.634981,50.185939 -63.635311,50.186172 -63.635634,50.186409 -63.635951,50.186649 -63.636262,50.186893 -63.636565,50.187141 -63.636862,50.187391 -63.637152,50.187645 -63.637435,50.187903 -63.637711,50.188163 -63.637980,50.188426 -63.638242,50.188693 -63.638497,50.188962 -63.638744,50.189234 -63.638983,50.189509 -63.639216,50.189786 -63.639440,50.190066 -63.639657,50.190349 -63.639867,50.190634 -63.640068,50.190921 -63.640262,50.191210 -63.640448,50.191502 -63.640625,50.191795 -63.640795,50.192091 -63.640957,50.192388 -63.641111,50.192687 -63.641256,50.192988 -63.641393,50.193290 -63.641522,50.193594 -63.641643,50.193899 -63.641756,50.194206 -63.641860,50.194514 -63.641956,50.194823 -63.642043,50.195132 -63.642122,50.195443 -63.642192,50.195755 -63.642254,50.196067 -63.642308,50.196381 -63.642353,50.196694 -63.642389,50.197008 -63.642417,50.197323 -63.642436,50.197637 -63.642447,50.197952 -63.642449,50.198267 -63.642443,50.198582 -63.642428,50.198897 -63.642404,50.199212 -63.642372,50.199526 -63.642331,50.199840 -63.642282,50.200153 -63.642225,50.200466 -63.642159,50.200778 -63.642084,50.201089 -63.642001,50.201400 -63.641909,50.201709 -63.641809,50.202018 -63.641701,50.202325 -63.641585,50.202631 -63.641460,50.202935 -63.641326,50.203239 -63.641185,50.203540 -63.641035,50.203840 -63.640878,50.204138 -63.640712,50.204435 -63.640538,50.204729 -63.640356,50.205022 -63.640166,50.205312 -63.639969,50.205601 -63.639763,50.205887 -63.639550,50.206170 -63.639329,50.206452 -63.639101,50.206730 -63.638865,50.207007 -63.638621,50.207280 -63.638370,50.207551 -63.638112,50.207819 -63.637846,50.208083 -63.637574,50.208345 -63.637294,50.208604 -63.637007,50.208860 -63.636714,50.209112 -63.636413,50.209361 -63.636106,50.209607 -63.635792,50.209849 -63.635472,50.210088 -63.635145,50.210323 -63.634812,50.210554 -63.634472,50.210781 -63.634127,50.211005 -63.633775,50.211225 -63.633417,50.211441 -63.633054,50.211652 -63.632685,50.211860 -63.632310,50.212064 -63.631930,50.212263 -63.631545,50.212458 -63.631154,50.212648 -63.630758,50.212835 -63.630357,50.213016 -63.629951,50.213194 -63.629541,50.213366 -63.629126,50.213534 -63.628706,50.213698 -63.628282,50.213856 -63.627854,50.214010 -63.627421,50.214159 -63.626985,50.214303 -63.626545,50.214443 -63.626101,50.214577 -63.625653,50.214706 -63.625202,50.214831 -63.624748,50.214950 -63.624290,50.215064 -63.623829,50.215173 -63.623366,50.215277 -63.622900,50.215375 -63.622431,50.215468 -63.621960,50.215557 -63.621486,50.215639 -63.621010,50.215717 -63.620532,50.215789 -63.620053,50.215856 -63.619571,50.215917 -63.619088,50.215973 -63.618603,50.216023 -63.618118,50.216069 -63.617631,50.216108 -63.617143,50.216142 -63.616654,50.216171 -63.616164,50.216194 -63.615674,50.216212 -63.615184,50.216224 -63.614693,50.216231 -63.614202,50.216232 -63.613711,50.216228 -63.613220,50.216218 -63.612730,50.216203 -63.612240,50.216182 -63.611751,50.216156 -63.611263,50.216124 -63.610775,50.216087 -63.610289,50.216045 -63.609804,50.215997 -63.609320,50.215943 -63.608838,50.215884 -63.608357,50.215820 -63.607879,50.215750 -63.607402,50.215675 -63.606927,50.215595 -63.606455,50.215509 -63.605985,50.215418 -63.605517,50.215322 -63.605053,50.215221 -63.604591,50.215114 -63.604132,50.215002 -63.603676,50.214886 -63.603223,50.214764 -63.602774,50.214637 -63.602328,50.214505 -63.601886,50.214368 -63.601448,50.214226 -63.601014,50.214079 -63.600584,50.213927 -63.600158,50.213771 -63.599736,50.213609 -63.599319,50.213444 -63.598906,50.213273 -63.598498,50.213098 -63.598095,50.212918 -63.597697,50.212734 -63.597304,50.212545 -63.596916,50.212352 -63.596533,50.212155 -63.596156,50.211953 -63.595785,50.211748 -63.595419,50.211538 -63.595058,50.211324 -63.594704,50.211106 -63.594356,50.210884 -63.594013,50.210658 -63.593677,50.210429 -63.593348,50.210195 -63.593024,50.209958 -63.592707,50.209718 -63.592397,50.209474 -63.592094,50.209226 -63.591797,50.208975 -63.591507,50.208721 -63.591224,50.208464 -63.590948,50.208203 -63.590679,50.207940 -63.590418,50.207673 -63.590163,50.207404 -63.589916,50.207132 -63.589677,50.206857 -63.589445,50.206579 -63.589221,50.206299 -63.589004,50.206016 -63.588795,50.205731 -63.588594,50.205444 -63.588400,50.205155 -63.588215,50.204863 -63.588037,50.204569 -63.587868,50.204274 -63.587706,50.203976 -63.587553,50.203677 -63.587408,50.203376 -63.587271,50.203074 -63.587142,50.202770 -63.587022,50.202465 -63.586910,50.202158 -63.586806,50.201850 -63.586711,50.201541 -63.586624,50.201231 -63.586545,50.200920 -63.586475,50.200609 -63.586414,50.200296 -63.586361,50.199983 -63.586316,50.199669 -63.586280,50.199355 -63.586253,50.199041 -63.586234,50.198726 -63.586224,50.198411 -63.586222,50.198096 -63.586229,50.197781 -63.586244,50.197466 -63.586268,50.197152 -63.586301,50.196837 -63.586342,50.196524 -63.586391,50.196210 -63.586449,50.195898 -63.586516,50.195585 -63.586591,50.195274 -63.586674,50.194964 -63.586766,50.194654 -63.586867,50.194346 -63.586975,50.194039 -63.587092,50.193733 -63.587218,50.193429 -63.587351,50.193126 -63.587493,50.192824 -63.587643,50.192524 -63.587801,50.192226 -63.587967,50.191930 -63.588141,50.191635 -63.588323,50.191343 -63.588514,50.191052 -63.588711,50.190764 -63.588917,50.190478 -63.589131,50.190195 -63.589352,50.189914 -63.589581,50.189635 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-73.975881,45.231377 -73.911370,45.279242</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-73.975881,45.238434 -73.966357,45.244656 -73.955214,45.252289 -73.950715,45.256284 -73.943807,45.263796 -73.939521,45.267351 -73.936767,45.270621 -73.933311,45.274377 -73.929510,45.277885 -73.926990,45.279242 -73.923586,45.279072 -73.918668,45.277713 -73.913629,45.275175 -73.911370,45.272657 -73.912307,45.270259 -73.916401,45.265674 -73.921540,45.260850 -73.925334,45.257833 -73.930477,45.252519 -73.937905,45.247759 -73.944156,45.242550 -73.950036,45.239055 -73.955792,45.234382 -73.961664,45.231377 -73.969231,45.231572 -73.973704,45.234789 -73.975881,45.238434 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-73.971987,45.259841 -73.941813,45.289805</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-73.971987,45.266529 -73.969438,45.270341 -73.968736,45.270827 -73.967607,45.272194 -73.966056,45.273951 -73.964361,45.276002 -73.962310,45.278786 -73.961044,45.279956 -73.958635,45.283474 -73.957570,45.285185 -73.955388,45.287282 -73.953497,45.288300 -73.952302,45.289323 -73.950905,45.289805 -73.949865,45.289553 -73.947994,45.289099 -73.944459,45.288242 -73.942120,45.286361 -73.941813,45.285842 -73.942333,45.285092 -73.946009,45.280405 -73.949549,45.275520 -73.955049,45.269470 -73.959905,45.264741 -73.963209,45.261768 -73.965717,45.259841 -73.967061,45.260412 -73.969958,45.262099 -73.971947,45.264222 -73.971987,45.266529 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-74.183858,45.198615 -73.901876,45.312999</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-74.156957,45.243749 -74.156970,45.242277 -74.157469,45.240758 -74.161095,45.239007 -74.160271,45.237826 -74.157772,45.237717 -74.148261,45.237235 -74.135159,45.234577 -74.116587,45.230273 -74.107442,45.228071 -74.101547,45.227307 -74.098010,45.226946 -74.092814,45.225694 -74.083378,45.225059 -74.078092,45.225915 -74.071078,45.226027 -74.063654,45.225547 -74.052956,45.226079 -74.045171,45.226822 -74.038622,45.228847 -74.032963,45.231907 -74.026953,45.235210 -74.023875,45.237253 -74.016278,45.239516 -74.005416,45.241808 -74.001730,45.242228 -74.001729,45.242132 -74.000614,45.242387 -73.999332,45.242285 -73.995973,45.241890 -73.993714,45.241970 -73.991093,45.242799 -73.988059,45.244782 -73.981184,45.249493 -73.972706,45.254757 -73.967922,45.258511 -73.965969,45.258873 -73.959433,45.264399 -73.954675,45.269309 -73.952023,45.272326 -73.951834,45.272277 -73.951531,45.272729 -73.950587,45.273755 -73.947392,45.277581 -73.942210,45.284272 -73.938769,45.289817 -73.932805,45.298410 -73.930597,45.301116 -73.928136,45.302820 -73.925323,45.304334 -73.922629,45.306818 -73.920147,45.310085 -73.918567,45.312108 -73.916205,45.312999 -73.912361,45.312065 -73.906973,45.310651 -73.901982,45.309334 -73.901876,45.307425 -73.902889,45.304742 -73.905455,45.301914 -73.909400,45.298688 -73.912889,45.296398 -73.916601,45.293952 -73.922640,45.289771 -73.925026,45.287003 -73.928456,45.282398 -73.932961,45.276798 -73.935661,45.273689 -73.938902,45.269769 -73.939660,45.269121 -73.939399,45.269053 -73.943123,45.265356 -73.948560,45.259356 -73.951568,45.256217 -73.959167,45.250637 -73.968277,45.244378 -73.975463,45.239638 -73.978017,45.237121 -73.982216,45.233958 -73.989849,45.228595 -73.995948,45.225473 -74.000924,45.223752 -74.001465,45.223701 -74.001464,45.223630 -74.006757,45.222287 -74.021042,45.217708 -74.041981,45.213753 -74.061771,45.213123 -74.077320,45.213105 -74.093903,45.213826 -74.101321,45.214794 -74.113863,45.217160 -74.125986,45.219914 -74.135131,45.222114 -74.140955,45.223023 -74.148242,45.223300 -74.153726,45.223471 -74.156989,45.223435 -74.155966,45.221223 -74.155642,45.218523 -74.157267,45.215144 -74.158323,45.213432 -74.160131,45.213047 -74.162072,45.213349 -74.163884,45.212473 -74.162155,45.211730 -74.161344,45.209078 -74.160878,45.206672 -74.161804,45.203781 -74.163150,45.200499 -74.165659,45.199136 -74.170313,45.198615 -74.174954,45.199566 -74.180909,45.201160 -74.183858,45.205636 -74.181844,45.214655 -74.178186,45.229508 -74.177312,45.234705 -74.175797,45.241716 -74.173808,45.247302 -74.170817,45.247732 -74.159844,45.247392 -74.156587,45.246446 -74.156957,45.243749 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.194966,48.471202 -64.125176,48.518102</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.146404,48.513233 -64.137033,48.507989 -64.135633,48.504637 -64.132056,48.503875 -64.127252,48.500474 -64.125324,48.498409 -64.125176,48.495496 -64.125509,48.492752 -64.126385,48.489789 -64.127869,48.486059 -64.129538,48.484110 -64.133223,48.481479 -64.139467,48.477947 -64.145176,48.475862 -64.148257,48.473836 -64.152305,48.471985 -64.156366,48.471202 -64.162158,48.472577 -64.170123,48.474468 -64.177247,48.476799 -64.186378,48.480321 -64.192345,48.483960 -64.194899,48.489429 -64.194966,48.493537 -64.192616,48.497127 -64.193189,48.499043 -64.193549,48.501538 -64.191797,48.504683 -64.189162,48.508010 -64.187941,48.509708 -64.183323,48.512587 -64.178934,48.515955 -64.174260,48.517507 -64.168253,48.518102 -64.164025,48.517849 -64.157958,48.517278 -64.154283,48.516482 -64.149996,48.515063 -64.146404,48.513233 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-66.135120,48.088685 -66.117634,48.107348</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-66.127321,48.105266 -66.126765,48.104540 -66.126247,48.103886 -66.123850,48.101467 -66.123360,48.100278 -66.122685,48.098846 -66.120761,48.096400 -66.119606,48.094387 -66.118461,48.093105 -66.117634,48.091138 -66.118200,48.090113 -66.119276,48.089132 -66.120686,48.088685 -66.122033,48.088822 -66.123824,48.089590 -66.125729,48.090697 -66.127538,48.092681 -66.128658,48.094742 -66.129674,48.097039 -66.131090,48.097502 -66.132222,48.097872 -66.133252,48.098209 -66.134025,48.098547 -66.135004,48.098952 -66.135120,48.099843 -66.135034,48.101010 -66.134181,48.102183 -66.133114,48.102773 -66.132876,48.102950 -66.133744,48.104640 -66.134088,48.105782 -66.133484,48.106735 -66.132766,48.107348 -66.131020,48.107262 -66.129232,48.106738 -66.127949,48.106017 -66.127321,48.105266 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.827548,47.743256 -69.778635,47.783529</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.784875,47.779491 -69.784746,47.779601 -69.781127,47.776707 -69.780577,47.775803 -69.779437,47.774733 -69.778868,47.773636 -69.778635,47.772447 -69.778707,47.771438 -69.778828,47.770349 -69.778701,47.769658 -69.778696,47.767878 -69.778867,47.766709 -69.778976,47.766085 -69.779155,47.765574 -69.779551,47.764937 -69.780125,47.763789 -69.780661,47.762255 -69.781353,47.761140 -69.782095,47.759945 -69.783103,47.758545 -69.783498,47.757908 -69.784929,47.756721 -69.786113,47.755932 -69.787228,47.755030 -69.789694,47.753293 -69.791646,47.752159 -69.793481,47.750992 -69.795147,47.749872 -69.796616,47.749069 -69.798233,47.748028 -69.799515,47.747080 -69.800482,47.746417 -69.801744,47.745276 -69.803144,47.744361 -69.804514,47.743718 -69.805233,47.743453 -69.805972,47.743380 -69.807853,47.743256 -69.808965,47.743476 -69.810176,47.743537 -69.811760,47.743890 -69.814053,47.744443 -69.814880,47.744676 -69.816651,47.745175 -69.818768,47.745995 -69.820115,47.746526 -69.822185,47.747460 -69.822844,47.747949 -69.823439,47.748773 -69.824269,47.749877 -69.825199,47.750860 -69.825552,47.752082 -69.825795,47.753928 -69.826610,47.755748 -69.826962,47.756970 -69.827365,47.758113 -69.827481,47.759269 -69.827548,47.760504 -69.827094,47.761686 -69.826847,47.762084 -69.826471,47.762914 -69.825958,47.763518 -69.822347,47.767554 -69.821518,47.768443 -69.820176,47.769936 -69.819909,47.770142 -69.817324,47.772969 -69.816445,47.773938 -69.815251,47.775193 -69.813839,47.776573 -69.811876,47.778172 -69.810810,47.778995 -69.809261,47.780149 -69.808363,47.780925 -69.806094,47.782345 -69.805610,47.782677 -69.804338,47.783160 -69.803599,47.783233 -69.802642,47.783431 -69.802189,47.783490 -69.801331,47.783529 -69.800169,47.783389 -69.799311,47.783428 -69.798553,47.783308 -69.797844,47.783108 -69.796277,47.782947 -69.794642,47.782673 -69.792633,47.782106 -69.790083,47.781293 -69.787936,47.780501 -69.787159,47.780188 -69.784913,47.779554 -69.784875,47.779491 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-57.260280,51.358630 -57.161467,51.445699</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-57.199743,51.358664 -57.204951,51.360034 -57.208926,51.362548 -57.210538,51.364597 -57.212346,51.367888 -57.214194,51.368313 -57.217304,51.369309 -57.221280,51.371823 -57.223417,51.375097 -57.223390,51.378634 -57.223368,51.378667 -57.223368,51.378702 -57.223158,51.379321 -57.223783,51.380355 -57.224456,51.381839 -57.224429,51.385376 -57.222240,51.388638 -57.218223,51.391127 -57.215850,51.391921 -57.209130,51.393689 -57.209118,51.393698 -57.207656,51.394555 -57.206288,51.395230 -57.206116,51.395340 -57.204136,51.396216 -57.203931,51.396271 -57.203758,51.396378 -57.201481,51.397146 -57.198782,51.397870 -57.195823,51.398438 -57.195755,51.398438 -57.195694,51.398453 -57.193553,51.398700 -57.188027,51.398665 -57.187701,51.398580 -57.187387,51.398574 -57.175822,51.396749 -57.171251,51.395468 -57.167275,51.392952 -57.165142,51.389676 -57.165174,51.386139 -57.165347,51.385882 -57.165353,51.385769 -57.163378,51.383736 -57.161532,51.380743 -57.161467,51.377538 -57.162247,51.374605 -57.162343,51.374454 -57.162345,51.374274 -57.163216,51.372531 -57.164402,51.370794 -57.165065,51.370033 -57.165127,51.369929 -57.166103,51.368745 -57.166335,51.368377 -57.168296,51.366369 -57.168517,51.366226 -57.168657,51.366017 -57.171851,51.363897 -57.176482,51.361679 -57.176906,51.361560 -57.177306,51.361312 -57.181952,51.360141 -57.182538,51.359976 -57.182605,51.359977 -57.182665,51.359961 -57.194221,51.358630 -57.199743,51.358664 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-57.236066,51.413192 -57.241723,51.413209 -57.246940,51.414577 -57.249420,51.415900 -57.256031,51.420318 -57.257534,51.421509 -57.259677,51.424783 -57.259903,51.425835 -57.260280,51.428981 -57.260030,51.431467 -57.259725,51.432232 -57.258375,51.435085 -57.256491,51.437583 -57.253557,51.439578 -57.252335,51.440192 -57.251465,51.440813 -57.250379,51.441406 -57.249651,51.441901 -57.246709,51.443382 -57.245614,51.443883 -57.240373,51.445222 -57.240054,51.445221 -57.239786,51.445285 -57.235428,51.445699 -57.232464,51.445652 -57.232271,51.445653 -57.232248,51.445654 -57.232220,51.445653 -57.230701,51.445660 -57.229900,51.445571 -57.228079,51.445506 -57.222859,51.444137 -57.222450,51.443878 -57.222017,51.443753 -57.215830,51.440717 -57.212689,51.438586 -57.210549,51.435310 -57.210308,51.433065 -57.210733,51.428452 -57.211002,51.427159 -57.211419,51.426172 -57.212873,51.423373 -57.214648,51.421098 -57.215960,51.420057 -57.219057,51.417938 -57.221765,51.416490 -57.225025,51.415484 -57.234088,51.413524 -57.236066,51.413192 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-60.150271,50.153976 -60.034722,50.210922</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-60.149484,50.175265 -60.150271,50.177691 -60.149208,50.183365 -60.146766,50.185717 -60.143623,50.188590 -60.141339,50.190342 -60.136534,50.193226 -60.134374,50.194630 -60.131370,50.195836 -60.128066,50.196924 -60.124395,50.198398 -60.120331,50.199850 -60.117352,50.201463 -60.114956,50.202245 -60.112803,50.202990 -60.109623,50.203729 -60.106985,50.204549 -60.103171,50.205304 -60.095166,50.205475 -60.093262,50.205523 -60.090091,50.205603 -60.086760,50.206282 -60.081308,50.207454 -60.077392,50.208964 -60.075329,50.209611 -60.072899,50.210644 -60.070570,50.210922 -60.068124,50.210889 -60.067189,50.210787 -60.066104,50.210626 -60.062548,50.210024 -60.059811,50.209214 -60.057408,50.208270 -60.055373,50.206940 -60.054898,50.206356 -60.053531,50.204759 -60.053268,50.202005 -60.052928,50.200414 -60.051439,50.196781 -60.051185,50.193368 -60.051516,50.189125 -60.052086,50.187229 -60.052831,50.185800 -60.053042,50.183630 -60.053946,50.181600 -60.053233,50.178670 -60.051925,50.177228 -60.050051,50.175299 -60.048376,50.174242 -60.045525,50.173121 -60.042234,50.171164 -60.038827,50.168896 -60.037171,50.166521 -60.035409,50.163178 -60.034722,50.160654 -60.036468,50.158824 -60.038513,50.157111 -60.040883,50.155924 -60.045879,50.154577 -60.048089,50.153989 -60.052433,50.153976 -60.054483,50.153988 -60.057526,50.154257 -60.061677,50.155095 -60.064585,50.156371 -60.067276,50.158092 -60.069726,50.159849 -60.071309,50.161002 -60.073917,50.162160 -60.076618,50.163221 -60.081070,50.164176 -60.085298,50.163850 -60.088742,50.163481 -60.092095,50.163209 -60.096114,50.162668 -60.100825,50.162267 -60.104994,50.161785 -60.111573,50.161587 -60.118928,50.162090 -60.122088,50.162668 -60.126241,50.163503 -60.131078,50.165136 -60.136058,50.167486 -60.138819,50.168702 -60.142991,50.170602 -60.146170,50.172245 -60.147906,50.173455 -60.148983,50.174274 -60.149484,50.175265 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-59.787100,50.248796 -59.702335,50.311775</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-59.702335,50.274621 -59.704035,50.272513 -59.704387,50.272252 -59.704620,50.271856 -59.706929,50.269499 -59.706974,50.269468 -59.708436,50.268227 -59.717867,50.261575 -59.718046,50.261473 -59.718188,50.261356 -59.721965,50.258863 -59.724330,50.257083 -59.725046,50.256660 -59.725534,50.256281 -59.728467,50.254557 -59.729762,50.253882 -59.730075,50.253790 -59.730289,50.253650 -59.733591,50.252268 -59.733986,50.252160 -59.735542,50.251586 -59.739986,50.250312 -59.741589,50.249965 -59.741917,50.249863 -59.745124,50.249284 -59.745417,50.249273 -59.745718,50.249185 -59.747790,50.248976 -59.751188,50.248796 -59.754172,50.248872 -59.754430,50.248865 -59.759692,50.249370 -59.759777,50.249390 -59.759871,50.249388 -59.762508,50.249835 -59.765808,50.250620 -59.768284,50.251395 -59.768303,50.251400 -59.774205,50.253733 -59.774492,50.253904 -59.774812,50.253987 -59.777764,50.255292 -59.779969,50.256677 -59.781005,50.257282 -59.783160,50.259111 -59.783228,50.259202 -59.783350,50.259276 -59.785633,50.262482 -59.785971,50.263886 -59.787100,50.273601 -59.786957,50.275719 -59.785986,50.277851 -59.784668,50.279807 -59.783716,50.280978 -59.783423,50.281179 -59.783285,50.281398 -59.778847,50.285472 -59.778726,50.285550 -59.778251,50.285980 -59.774775,50.288735 -59.774328,50.289006 -59.773827,50.289413 -59.772436,50.290313 -59.768080,50.294925 -59.766091,50.297316 -59.764850,50.299218 -59.763831,50.300488 -59.763662,50.300605 -59.763579,50.300740 -59.762687,50.301598 -59.762468,50.301744 -59.761310,50.302720 -59.758987,50.304332 -59.756865,50.305536 -59.756862,50.305536 -59.756860,50.305538 -59.752496,50.307548 -59.752494,50.307549 -59.751384,50.308011 -59.748001,50.309279 -59.745119,50.310017 -59.744427,50.310225 -59.739570,50.311033 -59.736592,50.311545 -59.736377,50.311552 -59.736165,50.311614 -59.731074,50.311775 -59.726353,50.311372 -59.726307,50.311404 -59.723767,50.309248 -59.719931,50.303370 -59.712137,50.291275 -59.705658,50.279700 -59.702335,50.274621 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-59.726307,50.274583 -59.587244,50.360171</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-59.591567,50.347159 -59.591137,50.346901 -59.588865,50.343690 -59.588611,50.342784 -59.588391,50.341677 -59.587918,50.339524 -59.587918,50.339516 -59.587911,50.339492 -59.587459,50.337379 -59.587466,50.337043 -59.587332,50.336366 -59.587244,50.333958 -59.587429,50.332269 -59.587678,50.331510 -59.588569,50.329277 -59.590225,50.326793 -59.590251,50.326749 -59.592299,50.324635 -59.592307,50.324630 -59.592310,50.324624 -59.593459,50.323607 -59.595779,50.321828 -59.597135,50.321022 -59.597299,50.320903 -59.598546,50.319713 -59.598589,50.319684 -59.598609,50.319653 -59.603246,50.315304 -59.606683,50.313053 -59.607665,50.312687 -59.607722,50.312573 -59.608189,50.311952 -59.610219,50.304258 -59.610734,50.302054 -59.610771,50.301990 -59.610767,50.301920 -59.612706,50.298621 -59.613278,50.298184 -59.614632,50.296295 -59.615472,50.295294 -59.617863,50.293438 -59.621248,50.291428 -59.622619,50.290711 -59.623077,50.290578 -59.623374,50.290387 -59.627680,50.288667 -59.629117,50.287999 -59.630758,50.286908 -59.632698,50.285832 -59.634386,50.285167 -59.636581,50.284432 -59.637446,50.283933 -59.638665,50.283304 -59.640972,50.282444 -59.645254,50.281177 -59.646038,50.281004 -59.646465,50.280861 -59.651012,50.279831 -59.652503,50.279551 -59.652841,50.279544 -59.653118,50.279468 -59.658026,50.278879 -59.658349,50.278877 -59.659886,50.278737 -59.663276,50.278624 -59.666299,50.278731 -59.666350,50.278743 -59.666404,50.278742 -59.671941,50.279353 -59.671993,50.279365 -59.672756,50.279482 -59.673115,50.279297 -59.674444,50.278755 -59.679260,50.277025 -59.680214,50.276787 -59.681234,50.276439 -59.684614,50.275632 -59.686318,50.275302 -59.686614,50.275296 -59.686859,50.275228 -59.690608,50.274763 -59.691108,50.274759 -59.693218,50.274599 -59.698579,50.274583 -59.699555,50.274632 -59.699879,50.274617 -59.702232,50.274749 -59.702335,50.274621 -59.705658,50.279700 -59.712137,50.291275 -59.719931,50.303370 -59.723767,50.309248 -59.726307,50.311404 -59.723327,50.313460 -59.722876,50.313592 -59.722582,50.313781 -59.719725,50.314927 -59.719564,50.314970 -59.718949,50.315217 -59.718085,50.315517 -59.711598,50.322620 -59.711478,50.322705 -59.711411,50.322819 -59.707653,50.325395 -59.704685,50.326441 -59.695932,50.328695 -59.695393,50.328804 -59.695192,50.328870 -59.691985,50.329565 -59.690680,50.329804 -59.689394,50.329957 -59.686094,50.330249 -59.684019,50.330233 -59.682702,50.330286 -59.680995,50.330173 -59.680627,50.330092 -59.680170,50.330102 -59.676817,50.329469 -59.672349,50.328223 -59.670868,50.327725 -59.669373,50.329323 -59.667339,50.331894 -59.666793,50.332732 -59.665818,50.336935 -59.665741,50.337069 -59.665747,50.337212 -59.664422,50.341911 -59.664298,50.342118 -59.664299,50.342299 -59.663328,50.345047 -59.662825,50.345833 -59.662189,50.347090 -59.659959,50.349948 -59.659322,50.350677 -59.658594,50.351356 -59.656554,50.353085 -59.656047,50.353401 -59.655264,50.354033 -59.652942,50.355516 -59.651196,50.356464 -59.649335,50.357186 -59.647898,50.357651 -59.646841,50.357897 -59.646162,50.358122 -59.642509,50.358934 -59.641088,50.359197 -59.640690,50.359205 -59.640372,50.359292 -59.633833,50.360043 -59.632778,50.360048 -59.630569,50.360171 -59.627441,50.360062 -59.625913,50.359955 -59.622949,50.359425 -59.619440,50.358524 -59.619191,50.358443 -59.619017,50.358410 -59.617739,50.358050 -59.614160,50.357351 -59.612774,50.356948 -59.611859,50.356756 -59.605602,50.354710 -59.605111,50.354533 -59.605044,50.354517 -59.601902,50.353373 -59.601704,50.353259 -59.601428,50.353193 -59.599763,50.352417 -59.595649,50.350188 -59.594557,50.349430 -59.593937,50.349085 -59.591780,50.347433 -59.591567,50.347159 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-63.095537,50.246662 -63.084149,50.255310</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-63.084203,50.250716 -63.084149,50.250553 -63.084263,50.250346 -63.084601,50.250176 -63.085042,50.249961 -63.085833,50.249600 -63.086875,50.249059 -63.087912,50.248373 -63.088640,50.247784 -63.089269,50.247387 -63.090063,50.246985 -63.091078,50.246662 -63.093603,50.246829 -63.094523,50.247482 -63.095316,50.248586 -63.095537,50.249756 -63.095392,50.250488 -63.095275,50.251189 -63.094962,50.252006 -63.094444,50.252649 -63.093715,50.253464 -63.092756,50.254322 -63.092179,50.254696 -63.091620,50.254974 -63.091014,50.255194 -63.090440,50.255301 -63.089468,50.255310 -63.088325,50.255217 -63.087689,50.255096 -63.087231,50.254956 -63.086577,50.254705 -63.086106,50.254354 -63.085676,50.253729 -63.085061,50.252193 -63.084425,50.251434 -63.084203,50.250716 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-63.239361,50.181308 -63.178753,50.207018</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-63.209838,50.206175 -63.198503,50.206923 -63.198161,50.206922 -63.197926,50.206945 -63.192321,50.207018 -63.191425,50.206993 -63.188806,50.206466 -63.188600,50.206355 -63.188390,50.206308 -63.184657,50.204776 -63.182967,50.203803 -63.182413,50.203294 -63.180542,50.201291 -63.179824,50.200239 -63.179599,50.199552 -63.178772,50.195470 -63.178753,50.194402 -63.179417,50.192917 -63.180383,50.191638 -63.181280,50.190080 -63.181706,50.189480 -63.183210,50.188268 -63.186425,50.186437 -63.186565,50.186388 -63.186681,50.186298 -63.187696,50.185861 -63.190451,50.184885 -63.191868,50.184506 -63.191952,50.184502 -63.192023,50.184478 -63.194400,50.184068 -63.195055,50.183949 -63.195200,50.183942 -63.195312,50.183906 -63.196553,50.183713 -63.197831,50.183294 -63.198616,50.183094 -63.198767,50.183040 -63.201635,50.182415 -63.201776,50.182405 -63.201916,50.182358 -63.203820,50.182175 -63.207251,50.182151 -63.208080,50.182177 -63.208670,50.182234 -63.211177,50.182547 -63.213714,50.182601 -63.213779,50.182613 -63.213873,50.182606 -63.214102,50.182614 -63.215743,50.182455 -63.220369,50.181827 -63.223225,50.181400 -63.225570,50.181308 -63.227522,50.181629 -63.232500,50.182959 -63.233167,50.183164 -63.235273,50.184293 -63.236135,50.185169 -63.238701,50.188590 -63.239112,50.189275 -63.239361,50.191013 -63.238858,50.194135 -63.238854,50.194143 -63.238855,50.194152 -63.238036,50.195833 -63.237297,50.196537 -63.233765,50.199296 -63.233366,50.199550 -63.233207,50.199684 -63.226529,50.203807 -63.226068,50.204068 -63.224647,50.204639 -63.222128,50.205399 -63.221117,50.205645 -63.219996,50.205795 -63.215696,50.206135 -63.214995,50.206139 -63.214650,50.206168 -63.212875,50.206138 -63.209838,50.206175 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-70.850514,47.038612 -70.716343,47.113341</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-70.718307,47.098178 -70.716868,47.096741 -70.716343,47.095037 -70.716813,47.093326 -70.717153,47.092835 -70.721854,47.087006 -70.722261,47.086631 -70.722517,47.086335 -70.734228,47.076539 -70.734617,47.076241 -70.735023,47.075981 -70.743148,47.071195 -70.749722,47.066146 -70.749840,47.066088 -70.749931,47.065993 -70.750479,47.065650 -70.758888,47.060974 -70.767039,47.055954 -70.767215,47.055878 -70.767710,47.055593 -70.784031,47.047916 -70.784095,47.047892 -70.784146,47.047863 -70.788232,47.046026 -70.789248,47.045653 -70.790717,47.045356 -70.824391,47.041410 -70.840416,47.038738 -70.841878,47.038612 -70.844382,47.038929 -70.846518,47.039878 -70.847960,47.041312 -70.848323,47.042071 -70.850347,47.048077 -70.850514,47.049021 -70.850049,47.050733 -70.848662,47.052192 -70.847820,47.052690 -70.844250,47.054460 -70.843914,47.055700 -70.843184,47.056467 -70.844137,47.058270 -70.844524,47.059727 -70.844059,47.061439 -70.843840,47.061774 -70.842293,47.063896 -70.841124,47.065021 -70.839024,47.066007 -70.836532,47.066368 -70.835198,47.066286 -70.834845,47.066239 -70.834750,47.066253 -70.834477,47.066218 -70.834306,47.066298 -70.833321,47.066526 -70.831344,47.066865 -70.822041,47.068686 -70.821976,47.068693 -70.821859,47.068720 -70.817944,47.069403 -70.816410,47.069542 -70.814123,47.069251 -70.816405,47.083533 -70.816443,47.083961 -70.815977,47.085673 -70.814587,47.087132 -70.812485,47.088118 -70.810445,47.088464 -70.803882,47.088832 -70.777203,47.111663 -70.776771,47.111996 -70.774667,47.112981 -70.772171,47.113341 -70.769664,47.113021 -70.769634,47.113008 -70.769599,47.113003 -70.720379,47.099112 -70.718307,47.098178 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-70.809249,47.062033 -70.808846,47.059605 -70.807748,47.061842 -70.809249,47.062033 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.708770,47.471745 -61.681302,47.490679</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.702126,47.489178 -61.698320,47.490450 -61.693185,47.490679 -61.688312,47.489557 -61.684444,47.487257 -61.683993,47.486637 -61.683913,47.486586 -61.681638,47.483457 -61.681302,47.479977 -61.682957,47.476674 -61.685580,47.474485 -61.686022,47.474217 -61.686241,47.474136 -61.686350,47.474052 -61.686517,47.473996 -61.686792,47.473784 -61.688944,47.472873 -61.689740,47.472604 -61.692202,47.471973 -61.697335,47.471745 -61.702206,47.472866 -61.706074,47.475165 -61.708350,47.478293 -61.708770,47.481217 -61.708688,47.482033 -61.708169,47.482845 -61.707160,47.484030 -61.706282,47.484905 -61.704906,47.486443 -61.704179,47.487061 -61.703516,47.487840 -61.702890,47.488498 -61.702544,47.488904 -61.702126,47.489178 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.177830,47.823246 -61.122712,47.859421</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.140940,47.855940 -61.140833,47.855887 -61.131720,47.850519 -61.131649,47.850483 -61.131640,47.850477 -61.131614,47.850466 -61.131532,47.850424 -61.131523,47.850418 -61.131498,47.850406 -61.131417,47.850364 -61.131407,47.850357 -61.131383,47.850346 -61.131302,47.850303 -61.131291,47.850296 -61.131268,47.850285 -61.131187,47.850242 -61.131176,47.850235 -61.131153,47.850224 -61.131073,47.850181 -61.131062,47.850173 -61.131040,47.850162 -61.130960,47.850119 -61.130948,47.850110 -61.130926,47.850100 -61.130847,47.850056 -61.130835,47.850047 -61.130814,47.850037 -61.130735,47.849993 -61.130722,47.849984 -61.130702,47.849974 -61.130623,47.849929 -61.130610,47.849920 -61.130590,47.849911 -61.130512,47.849865 -61.130499,47.849856 -61.130480,47.849846 -61.130402,47.849801 -61.130388,47.849791 -61.130370,47.849782 -61.130292,47.849736 -61.130278,47.849725 -61.130260,47.849717 -61.130183,47.849671 -61.130168,47.849660 -61.130151,47.849651 -61.130075,47.849605 -61.130059,47.849593 -61.130043,47.849585 -61.129967,47.849538 -61.129951,47.849526 -61.129935,47.849518 -61.129860,47.849471 -61.129844,47.849459 -61.129828,47.849451 -61.129753,47.849404 -61.129737,47.849391 -61.129722,47.849384 -61.129648,47.849336 -61.129630,47.849323 -61.129616,47.849316 -61.129542,47.849268 -61.129525,47.849255 -61.129511,47.849248 -61.129438,47.849199 -61.129420,47.849185 -61.129407,47.849179 -61.129334,47.849130 -61.129316,47.849116 -61.129303,47.849109 -61.129231,47.849060 -61.129212,47.849046 -61.129200,47.849040 -61.129128,47.848990 -61.129109,47.848975 -61.129098,47.848969 -61.129026,47.848920 -61.129007,47.848904 -61.128997,47.848899 -61.128925,47.848849 -61.128905,47.848833 -61.128896,47.848828 -61.128825,47.848777 -61.128805,47.848761 -61.128795,47.848756 -61.128725,47.848705 -61.128704,47.848689 -61.128696,47.848684 -61.128626,47.848633 -61.128605,47.848616 -61.128597,47.848612 -61.128528,47.848560 -61.128506,47.848543 -61.128499,47.848539 -61.128430,47.848487 -61.128408,47.848469 -61.128401,47.848466 -61.128333,47.848414 -61.128311,47.848395 -61.128304,47.848392 -61.128237,47.848340 -61.128228,47.848329 -61.128208,47.848318 -61.128141,47.848265 -61.128133,47.848254 -61.128113,47.848243 -61.128046,47.848190 -61.128038,47.848179 -61.128018,47.848168 -61.127952,47.848115 -61.127943,47.848104 -61.127925,47.848093 -61.127859,47.848040 -61.127850,47.848028 -61.127831,47.848017 -61.127766,47.847963 -61.127757,47.847951 -61.127739,47.847941 -61.127674,47.847887 -61.127665,47.847875 -61.127647,47.847864 -61.127583,47.847810 -61.127574,47.847798 -61.127556,47.847787 -61.127493,47.847733 -61.127483,47.847720 -61.127466,47.847710 -61.127403,47.847655 -61.127394,47.847642 -61.127377,47.847632 -61.127314,47.847577 -61.127305,47.847564 -61.127288,47.847554 -61.127226,47.847499 -61.127216,47.847485 -61.127200,47.847475 -61.127139,47.847420 -61.127129,47.847406 -61.127113,47.847397 -61.127052,47.847341 -61.127042,47.847327 -61.127027,47.847317 -61.126966,47.847261 -61.126956,47.847247 -61.126941,47.847238 -61.126881,47.847181 -61.126871,47.847167 -61.126856,47.847157 -61.126797,47.847101 -61.126787,47.847086 -61.126772,47.847077 -61.126713,47.847020 -61.126703,47.847005 -61.126689,47.846996 -61.126630,47.846939 -61.126620,47.846924 -61.126606,47.846915 -61.126548,47.846858 -61.126538,47.846842 -61.126524,47.846834 -61.126467,47.846776 -61.126457,47.846760 -61.126443,47.846752 -61.126387,47.846694 -61.126376,47.846678 -61.126363,47.846669 -61.126307,47.846611 -61.126297,47.846595 -61.126284,47.846587 -61.126228,47.846529 -61.126225,47.846523 -61.126205,47.846504 -61.126150,47.846445 -61.126147,47.846440 -61.126127,47.846421 -61.126073,47.846362 -61.126069,47.846356 -61.126050,47.846337 -61.125997,47.846278 -61.125992,47.846271 -61.125974,47.846253 -61.125921,47.846194 -61.125917,47.846187 -61.125899,47.846169 -61.125846,47.846109 -61.125841,47.846102 -61.125824,47.846084 -61.125772,47.846025 -61.125767,47.846016 -61.125751,47.845999 -61.125699,47.845939 -61.125694,47.845931 -61.125678,47.845914 -61.125627,47.845854 -61.125621,47.845845 -61.125606,47.845829 -61.125555,47.845768 -61.125550,47.845759 -61.125534,47.845743 -61.125485,47.845682 -61.125479,47.845672 -61.125464,47.845657 -61.125415,47.845596 -61.125409,47.845585 -61.125394,47.845570 -61.125346,47.845509 -61.125339,47.845498 -61.125325,47.845483 -61.125278,47.845422 -61.125271,47.845411 -61.125258,47.845396 -61.125210,47.845335 -61.125203,47.845323 -61.125190,47.845309 -61.125144,47.845247 -61.125137,47.845235 -61.125124,47.845221 -61.125078,47.845159 -61.125071,47.845146 -61.125059,47.845133 -61.125013,47.845071 -61.125006,47.845058 -61.124994,47.845045 -61.124949,47.844983 -61.124942,47.844969 -61.124931,47.844956 -61.124886,47.844894 -61.124879,47.844880 -61.124868,47.844868 -61.124824,47.844805 -61.124816,47.844790 -61.124806,47.844779 -61.124763,47.844716 -61.124755,47.844701 -61.124745,47.844689 -61.124702,47.844626 -61.124694,47.844611 -61.124684,47.844600 -61.124643,47.844536 -61.124634,47.844520 -61.124625,47.844510 -61.124584,47.844446 -61.124575,47.844430 -61.124567,47.844420 -61.124526,47.844356 -61.124517,47.844339 -61.124509,47.844329 -61.124469,47.844265 -61.124460,47.844248 -61.124452,47.844239 -61.124413,47.844175 -61.124404,47.844157 -61.124396,47.844148 -61.124357,47.844084 -61.124348,47.844065 -61.124341,47.844057 -61.124303,47.843992 -61.124294,47.843973 -61.124287,47.843965 -61.124249,47.843901 -61.124240,47.843881 -61.124234,47.843874 -61.124197,47.843809 -61.124187,47.843789 -61.124181,47.843782 -61.124145,47.843717 -61.124135,47.843697 -61.124130,47.843690 -61.124094,47.843625 -61.124084,47.843604 -61.124079,47.843598 -61.124044,47.843532 -61.124034,47.843511 -61.124030,47.843505 -61.123995,47.843440 -61.123985,47.843418 -61.123981,47.843412 -61.123947,47.843347 -61.123937,47.843325 -61.123933,47.843319 -61.123900,47.843254 -61.123898,47.843242 -61.123886,47.843226 -61.123853,47.843161 -61.123852,47.843148 -61.123840,47.843133 -61.123808,47.843067 -61.123806,47.843055 -61.123795,47.843040 -61.123763,47.842973 -61.123762,47.842961 -61.123750,47.842946 -61.123720,47.842880 -61.123718,47.842867 -61.123707,47.842852 -61.123677,47.842786 -61.123675,47.842772 -61.123664,47.842758 -61.123635,47.842691 -61.123633,47.842678 -61.123623,47.842663 -61.123594,47.842597 -61.123593,47.842583 -61.123582,47.842569 -61.123554,47.842502 -61.123553,47.842488 -61.123542,47.842474 -61.123515,47.842408 -61.123513,47.842393 -61.123503,47.842380 -61.123477,47.842313 -61.123475,47.842298 -61.123465,47.842285 -61.123439,47.842218 -61.123438,47.842203 -61.123428,47.842189 -61.123403,47.842122 -61.123402,47.842107 -61.123392,47.842094 -61.123367,47.842027 -61.123366,47.842012 -61.123357,47.841999 -61.123333,47.841931 -61.123332,47.841916 -61.123323,47.841903 -61.123299,47.841836 -61.123298,47.841820 -61.123290,47.841807 -61.123267,47.841740 -61.123266,47.841724 -61.123257,47.841711 -61.123235,47.841644 -61.123234,47.841628 -61.123226,47.841615 -61.123204,47.841548 -61.123203,47.841531 -61.123195,47.841519 -61.123174,47.841451 -61.123173,47.841435 -61.123165,47.841423 -61.123145,47.841355 -61.123144,47.841338 -61.123137,47.841326 -61.123117,47.841258 -61.123116,47.841241 -61.123109,47.841230 -61.123090,47.841162 -61.123089,47.841144 -61.123082,47.841133 -61.123064,47.841065 -61.123064,47.841059 -61.123056,47.841036 -61.123038,47.840968 -61.123038,47.840962 -61.123031,47.840939 -61.123014,47.840871 -61.123014,47.840865 -61.123007,47.840842 -61.122991,47.840774 -61.122991,47.840767 -61.122984,47.840745 -61.122968,47.840677 -61.122968,47.840669 -61.122962,47.840648 -61.122947,47.840580 -61.122947,47.840572 -61.122941,47.840551 -61.122926,47.840482 -61.122926,47.840474 -61.122920,47.840453 -61.122907,47.840385 -61.122907,47.840376 -61.122901,47.840356 -61.122888,47.840287 -61.122888,47.840278 -61.122883,47.840258 -61.122870,47.840190 -61.122870,47.840180 -61.122865,47.840161 -61.122853,47.840092 -61.122854,47.840081 -61.122849,47.840063 -61.122838,47.839994 -61.122838,47.839983 -61.122833,47.839965 -61.122823,47.839896 -61.122823,47.839885 -61.122818,47.839867 -61.122809,47.839798 -61.122809,47.839786 -61.122805,47.839769 -61.122796,47.839700 -61.122796,47.839688 -61.122792,47.839671 -61.122783,47.839602 -61.122784,47.839589 -61.122780,47.839573 -61.122772,47.839504 -61.122773,47.839491 -61.122769,47.839475 -61.122762,47.839406 -61.122763,47.839392 -61.122759,47.839377 -61.122753,47.839308 -61.122754,47.839294 -61.122750,47.839279 -61.122745,47.839210 -61.122746,47.839195 -61.122742,47.839181 -61.122737,47.839112 -61.122738,47.839096 -61.122735,47.839083 -61.122731,47.839013 -61.122732,47.838997 -61.122729,47.838984 -61.122725,47.838915 -61.122727,47.838899 -61.122724,47.838886 -61.122721,47.838817 -61.122722,47.838800 -61.122720,47.838788 -61.122717,47.838718 -61.122719,47.838701 -61.122716,47.838689 -61.122715,47.838620 -61.122716,47.838602 -61.122714,47.838591 -61.122713,47.838522 -61.122715,47.838503 -61.122713,47.838493 -61.122712,47.838423 -61.122714,47.838405 -61.122712,47.838394 -61.122712,47.838325 -61.122715,47.838306 -61.122713,47.838296 -61.122714,47.838227 -61.122716,47.838207 -61.122714,47.838198 -61.122716,47.838128 -61.122718,47.838108 -61.122717,47.838099 -61.122719,47.838030 -61.122721,47.838009 -61.122720,47.838001 -61.122723,47.837932 -61.122726,47.837910 -61.122724,47.837903 -61.122728,47.837833 -61.122731,47.837812 -61.122729,47.837804 -61.122734,47.837735 -61.122737,47.837713 -61.122736,47.837706 -61.122741,47.837637 -61.122744,47.837614 -61.122743,47.837608 -61.122748,47.837539 -61.122752,47.837516 -61.122751,47.837510 -61.122757,47.837440 -61.122761,47.837417 -61.122760,47.837411 -61.122767,47.837342 -61.122772,47.837331 -61.122770,47.837313 -61.122778,47.837244 -61.122783,47.837232 -61.122781,47.837215 -61.122789,47.837146 -61.122795,47.837134 -61.122793,47.837117 -61.122802,47.837048 -61.122808,47.837036 -61.122806,47.837019 -61.122815,47.836950 -61.122821,47.836938 -61.122819,47.836921 -61.122830,47.836852 -61.122836,47.836840 -61.122834,47.836823 -61.122845,47.836755 -61.122851,47.836742 -61.122850,47.836726 -61.122861,47.836657 -61.122868,47.836644 -61.122866,47.836628 -61.122879,47.836559 -61.122885,47.836546 -61.122884,47.836530 -61.122897,47.836462 -61.122904,47.836448 -61.122902,47.836433 -61.122916,47.836364 -61.122923,47.836350 -61.122922,47.836335 -61.122936,47.836267 -61.122943,47.836253 -61.122942,47.836238 -61.122957,47.836169 -61.122964,47.836155 -61.122963,47.836141 -61.122979,47.836072 -61.122987,47.836058 -61.122986,47.836043 -61.123002,47.835975 -61.123010,47.835960 -61.123009,47.835946 -61.123026,47.835878 -61.123034,47.835863 -61.123033,47.835849 -61.123050,47.835781 -61.123059,47.835766 -61.123058,47.835752 -61.123076,47.835684 -61.123085,47.835669 -61.123084,47.835655 -61.123103,47.835587 -61.123111,47.835572 -61.123111,47.835559 -61.123130,47.835491 -61.123139,47.835475 -61.123139,47.835462 -61.123159,47.835394 -61.123168,47.835378 -61.123167,47.835366 -61.123188,47.835298 -61.123198,47.835282 -61.123197,47.835270 -61.123219,47.835202 -61.123228,47.835185 -61.123228,47.835173 -61.123250,47.835106 -61.123253,47.835100 -61.123259,47.835077 -61.123282,47.835010 -61.123286,47.835004 -61.123292,47.834981 -61.123315,47.834914 -61.123319,47.834908 -61.123325,47.834886 -61.123349,47.834818 -61.123353,47.834812 -61.123360,47.834790 -61.123384,47.834723 -61.123389,47.834716 -61.123395,47.834695 -61.123420,47.834627 -61.123425,47.834620 -61.123431,47.834599 -61.123457,47.834532 -61.123462,47.834524 -61.123468,47.834504 -61.123495,47.834437 -61.123500,47.834429 -61.123506,47.834409 -61.123533,47.834342 -61.123539,47.834333 -61.123545,47.834314 -61.123573,47.834248 -61.123579,47.834238 -61.123585,47.834220 -61.123613,47.834153 -61.123620,47.834143 -61.123625,47.834125 -61.123655,47.834059 -61.123661,47.834049 -61.123667,47.834031 -61.123697,47.833965 -61.123704,47.833954 -61.123710,47.833937 -61.123740,47.833871 -61.123748,47.833860 -61.123753,47.833843 -61.123784,47.833777 -61.123792,47.833765 -61.123798,47.833749 -61.123829,47.833683 -61.123837,47.833671 -61.123843,47.833656 -61.123875,47.833590 -61.123884,47.833578 -61.123889,47.833563 -61.123922,47.833497 -61.123931,47.833484 -61.123936,47.833469 -61.123970,47.833404 -61.123979,47.833391 -61.123984,47.833377 -61.124018,47.833311 -61.124028,47.833297 -61.124033,47.833284 -61.124068,47.833219 -61.124078,47.833205 -61.124083,47.833191 -61.124118,47.833126 -61.124128,47.833112 -61.124133,47.833099 -61.124169,47.833034 -61.124180,47.833019 -61.124185,47.833007 -61.124222,47.832942 -61.124233,47.832927 -61.124237,47.832915 -61.124275,47.832851 -61.124286,47.832835 -61.124290,47.832824 -61.124329,47.832759 -61.124340,47.832743 -61.124345,47.832732 -61.124383,47.832668 -61.124396,47.832652 -61.124400,47.832641 -61.124439,47.832577 -61.124452,47.832560 -61.124456,47.832550 -61.124496,47.832487 -61.124509,47.832469 -61.124512,47.832460 -61.124553,47.832396 -61.124566,47.832378 -61.124570,47.832369 -61.124611,47.832306 -61.124625,47.832288 -61.124629,47.832279 -61.124670,47.832216 -61.124685,47.832197 -61.124688,47.832189 -61.124731,47.832126 -61.124745,47.832107 -61.124748,47.832100 -61.124791,47.832037 -61.124807,47.832017 -61.124810,47.832011 -61.124853,47.831948 -61.124869,47.831928 -61.124872,47.831922 -61.124916,47.831859 -61.124932,47.831839 -61.124934,47.831833 -61.124979,47.831770 -61.124996,47.831750 -61.124998,47.831744 -61.125044,47.831682 -61.125055,47.831673 -61.125063,47.831656 -61.125109,47.831594 -61.125120,47.831585 -61.125128,47.831568 -61.125175,47.831506 -61.125187,47.831497 -61.125194,47.831480 -61.125242,47.831419 -61.125254,47.831409 -61.125262,47.831393 -61.125309,47.831332 -61.125322,47.831322 -61.125330,47.831306 -61.125378,47.831245 -61.125391,47.831235 -61.125398,47.831219 -61.125447,47.831158 -61.125460,47.831148 -61.125468,47.831133 -61.125517,47.831072 -61.125531,47.831062 -61.125538,47.831047 -61.125589,47.830986 -61.125602,47.830976 -61.125610,47.830961 -61.125660,47.830900 -61.125674,47.830890 -61.125682,47.830875 -61.125733,47.830815 -61.125747,47.830804 -61.125755,47.830790 -61.125807,47.830730 -61.125821,47.830719 -61.125828,47.830705 -61.125881,47.830645 -61.125896,47.830634 -61.125903,47.830621 -61.125956,47.830561 -61.125971,47.830550 -61.125978,47.830536 -61.126032,47.830477 -61.126047,47.830466 -61.126055,47.830452 -61.126109,47.830393 -61.126125,47.830382 -61.126132,47.830369 -61.126186,47.830310 -61.126202,47.830298 -61.126209,47.830286 -61.126265,47.830227 -61.126281,47.830215 -61.126288,47.830203 -61.126344,47.830144 -61.126361,47.830132 -61.126367,47.830120 -61.126424,47.830062 -61.126441,47.830050 -61.126448,47.830038 -61.126505,47.829980 -61.126522,47.829968 -61.126529,47.829956 -61.126586,47.829899 -61.126604,47.829886 -61.126610,47.829875 -61.126668,47.829817 -61.126686,47.829805 -61.126693,47.829793 -61.126752,47.829736 -61.126757,47.829732 -61.126776,47.829713 -61.126835,47.829656 -61.126842,47.829652 -61.126860,47.829632 -61.126920,47.829576 -61.126927,47.829571 -61.126945,47.829552 -61.127006,47.829496 -61.127013,47.829491 -61.127031,47.829473 -61.127092,47.829417 -61.127100,47.829411 -61.127117,47.829393 -61.127179,47.829338 -61.127187,47.829332 -61.127205,47.829314 -61.127266,47.829259 -61.127275,47.829253 -61.127293,47.829236 -61.127355,47.829181 -61.127364,47.829174 -61.127381,47.829158 -61.127444,47.829103 -61.127454,47.829096 -61.127471,47.829080 -61.127534,47.829025 -61.127545,47.829018 -61.127561,47.829003 -61.127625,47.828948 -61.127636,47.828941 -61.127652,47.828926 -61.127716,47.828872 -61.127728,47.828864 -61.127744,47.828849 -61.127809,47.828795 -61.127821,47.828787 -61.127836,47.828773 -61.127901,47.828719 -61.127914,47.828711 -61.127929,47.828697 -61.127995,47.828644 -61.128009,47.828635 -61.128023,47.828622 -61.128090,47.828569 -61.128104,47.828560 -61.128118,47.828547 -61.128185,47.828494 -61.128199,47.828485 -61.128213,47.828472 -61.128280,47.828420 -61.128296,47.828411 -61.128309,47.828398 -61.128377,47.828346 -61.128393,47.828336 -61.128406,47.828325 -61.128474,47.828273 -61.128491,47.828263 -61.128503,47.828251 -61.128572,47.828200 -61.128589,47.828190 -61.128601,47.828178 -61.128671,47.828127 -61.128688,47.828117 -61.128700,47.828106 -61.128770,47.828055 -61.128788,47.828044 -61.128800,47.828034 -61.128870,47.827984 -61.128889,47.827972 -61.128900,47.827963 -61.128971,47.827912 -61.128990,47.827901 -61.129001,47.827891 -61.129072,47.827842 -61.129092,47.827830 -61.129103,47.827821 -61.129175,47.827771 -61.129195,47.827759 -61.129205,47.827751 -61.129277,47.827701 -61.129298,47.827689 -61.129308,47.827681 -61.129381,47.827632 -61.129402,47.827619 -61.129411,47.827612 -61.129485,47.827563 -61.129507,47.827550 -61.129516,47.827543 -61.129590,47.827494 -61.129613,47.827481 -61.129621,47.827474 -61.129695,47.827426 -61.129719,47.827413 -61.129726,47.827406 -61.129801,47.827359 -61.129825,47.827345 -61.129833,47.827339 -61.129908,47.827292 -61.129933,47.827278 -61.129940,47.827272 -61.130015,47.827225 -61.130041,47.827211 -61.130047,47.827205 -61.130123,47.827159 -61.130149,47.827144 -61.130155,47.827139 -61.130232,47.827093 -61.130259,47.827078 -61.130264,47.827074 -61.130341,47.827028 -61.130369,47.827013 -61.130374,47.827009 -61.130451,47.826963 -61.130467,47.826957 -61.130484,47.826944 -61.130562,47.826899 -61.130578,47.826893 -61.130595,47.826880 -61.130673,47.826835 -61.130690,47.826829 -61.130706,47.826816 -61.130785,47.826772 -61.130802,47.826766 -61.130818,47.826753 -61.130897,47.826709 -61.130914,47.826703 -61.130930,47.826690 -61.131010,47.826647 -61.131028,47.826640 -61.131044,47.826628 -61.131124,47.826585 -61.131142,47.826579 -61.131157,47.826567 -61.131238,47.826523 -61.131256,47.826517 -61.131272,47.826505 -61.131353,47.826463 -61.131371,47.826456 -61.131387,47.826445 -61.131468,47.826402 -61.131487,47.826396 -61.131502,47.826384 -61.131584,47.826342 -61.131603,47.826336 -61.131618,47.826325 -61.131700,47.826283 -61.131720,47.826277 -61.131735,47.826266 -61.131817,47.826224 -61.131838,47.826218 -61.131852,47.826207 -61.131935,47.826166 -61.131956,47.826159 -61.131970,47.826149 -61.132053,47.826108 -61.132074,47.826101 -61.132088,47.826091 -61.132172,47.826051 -61.132193,47.826044 -61.132207,47.826034 -61.132291,47.825994 -61.132313,47.825987 -61.132327,47.825977 -61.132411,47.825938 -61.132433,47.825931 -61.132447,47.825921 -61.132531,47.825882 -61.132554,47.825875 -61.132567,47.825866 -61.132652,47.825827 -61.132675,47.825820 -61.132688,47.825811 -61.132774,47.825772 -61.132797,47.825765 -61.132810,47.825756 -61.132896,47.825718 -61.132919,47.825711 -61.132932,47.825702 -61.133018,47.825665 -61.133042,47.825658 -61.133054,47.825649 -61.133141,47.825612 -61.133149,47.825609 -61.133178,47.825596 -61.133265,47.825559 -61.133273,47.825557 -61.133301,47.825544 -61.133389,47.825507 -61.133398,47.825504 -61.133425,47.825492 -61.133513,47.825456 -61.133523,47.825453 -61.133550,47.825441 -61.133638,47.825405 -61.133649,47.825402 -61.133675,47.825390 -61.133764,47.825355 -61.133775,47.825351 -61.133801,47.825340 -61.133890,47.825305 -61.133902,47.825301 -61.133927,47.825290 -61.134016,47.825256 -61.134029,47.825252 -61.134054,47.825241 -61.134143,47.825207 -61.134156,47.825203 -61.134181,47.825193 -61.134270,47.825159 -61.134285,47.825155 -61.134308,47.825145 -61.134398,47.825111 -61.134413,47.825107 -61.134436,47.825097 -61.134527,47.825064 -61.134542,47.825060 -61.134565,47.825050 -61.134655,47.825018 -61.134672,47.825014 -61.134693,47.825004 -61.134785,47.824972 -61.134801,47.824968 -61.134823,47.824958 -61.134914,47.824927 -61.134932,47.824922 -61.134953,47.824913 -61.135044,47.824882 -61.135063,47.824877 -61.135083,47.824869 -61.135175,47.824838 -61.135194,47.824833 -61.135213,47.824825 -61.135306,47.824794 -61.135325,47.824789 -61.135344,47.824781 -61.135437,47.824751 -61.135457,47.824746 -61.135476,47.824739 -61.135569,47.824709 -61.135590,47.824703 -61.135608,47.824696 -61.135701,47.824667 -61.135723,47.824661 -61.135740,47.824655 -61.135833,47.824625 -61.135856,47.824620 -61.135873,47.824613 -61.135966,47.824585 -61.135990,47.824579 -61.136006,47.824573 -61.136100,47.824545 -61.136124,47.824539 -61.136139,47.824533 -61.136233,47.824505 -61.136258,47.824499 -61.136273,47.824494 -61.136368,47.824466 -61.136393,47.824460 -61.136407,47.824455 -61.136502,47.824428 -61.136528,47.824422 -61.136542,47.824417 -61.136637,47.824390 -61.136664,47.824384 -61.136677,47.824379 -61.136772,47.824353 -61.136800,47.824347 -61.136812,47.824342 -61.136908,47.824316 -61.136936,47.824310 -61.136948,47.824305 -61.137043,47.824280 -61.137072,47.824274 -61.137084,47.824270 -61.137180,47.824245 -61.137209,47.824238 -61.137220,47.824234 -61.137316,47.824210 -61.137347,47.824203 -61.137357,47.824200 -61.137453,47.824176 -61.137484,47.824169 -61.137494,47.824166 -61.137591,47.824142 -61.137622,47.824135 -61.137631,47.824132 -61.137728,47.824109 -61.137761,47.824102 -61.137769,47.824099 -61.137866,47.824077 -61.137899,47.824070 -61.137907,47.824067 -61.138004,47.824045 -61.138022,47.824044 -61.138045,47.824036 -61.138143,47.824014 -61.138161,47.824013 -61.138184,47.824005 -61.138281,47.823983 -61.138300,47.823982 -61.138323,47.823974 -61.138421,47.823953 -61.138440,47.823952 -61.138462,47.823944 -61.138560,47.823924 -61.138579,47.823923 -61.138601,47.823915 -61.138700,47.823895 -61.138719,47.823894 -61.138741,47.823886 -61.138839,47.823867 -61.138860,47.823866 -61.138881,47.823858 -61.138980,47.823839 -61.139000,47.823838 -61.139021,47.823831 -61.139120,47.823812 -61.139141,47.823811 -61.139162,47.823804 -61.139261,47.823786 -61.139282,47.823785 -61.139302,47.823778 -61.139402,47.823760 -61.139423,47.823759 -61.139444,47.823753 -61.139543,47.823735 -61.139565,47.823734 -61.139585,47.823728 -61.139684,47.823711 -61.139707,47.823710 -61.139726,47.823703 -61.139826,47.823687 -61.139849,47.823686 -61.139868,47.823680 -61.139968,47.823663 -61.139991,47.823663 -61.140010,47.823657 -61.140110,47.823641 -61.140134,47.823640 -61.140152,47.823634 -61.140253,47.823619 -61.140276,47.823618 -61.140295,47.823612 -61.140395,47.823597 -61.140419,47.823597 -61.140437,47.823591 -61.140538,47.823577 -61.140562,47.823576 -61.140580,47.823571 -61.140681,47.823557 -61.140706,47.823556 -61.140723,47.823551 -61.140824,47.823537 -61.140849,47.823537 -61.140866,47.823531 -61.140967,47.823518 -61.140993,47.823518 -61.141010,47.823513 -61.141111,47.823500 -61.141137,47.823500 -61.141153,47.823495 -61.141254,47.823482 -61.141263,47.823482 -61.141297,47.823477 -61.141398,47.823465 -61.141407,47.823465 -61.141441,47.823460 -61.141542,47.823449 -61.141552,47.823449 -61.141585,47.823444 -61.141687,47.823433 -61.141697,47.823433 -61.141729,47.823429 -61.141831,47.823418 -61.141842,47.823418 -61.141873,47.823414 -61.141975,47.823404 -61.141987,47.823404 -61.142018,47.823400 -61.142120,47.823390 -61.142133,47.823390 -61.142163,47.823386 -61.142265,47.823377 -61.142278,47.823377 -61.142307,47.823373 -61.142409,47.823364 -61.142424,47.823364 -61.142452,47.823360 -61.142554,47.823352 -61.142569,47.823352 -61.142597,47.823349 -61.142699,47.823341 -61.142715,47.823341 -61.142742,47.823338 -61.142845,47.823330 -61.142861,47.823330 -61.142888,47.823327 -61.142990,47.823320 -61.143007,47.823320 -61.143033,47.823317 -61.143135,47.823311 -61.143153,47.823311 -61.143178,47.823308 -61.143281,47.823302 -61.143299,47.823302 -61.143324,47.823299 -61.143426,47.823294 -61.143446,47.823294 -61.143469,47.823292 -61.143572,47.823286 -61.143592,47.823287 -61.143615,47.823284 -61.143718,47.823279 -61.143738,47.823280 -61.143761,47.823278 -61.143863,47.823273 -61.143885,47.823274 -61.143906,47.823271 -61.144009,47.823268 -61.144031,47.823268 -61.144052,47.823266 -61.144155,47.823263 -61.144178,47.823263 -61.144198,47.823261 -61.144301,47.823258 -61.144325,47.823259 -61.144344,47.823257 -61.144447,47.823255 -61.144471,47.823256 -61.144490,47.823254 -61.144593,47.823252 -61.144618,47.823253 -61.144636,47.823251 -61.144739,47.823249 -61.144765,47.823250 -61.144782,47.823249 -61.144885,47.823248 -61.144911,47.823249 -61.144928,47.823247 -61.145031,47.823246 -61.145058,47.823248 -61.145074,47.823246 -61.145177,47.823246 -61.145205,47.823247 -61.145220,47.823246 -61.145323,47.823246 -61.145352,47.823247 -61.145366,47.823246 -61.145469,47.823247 -61.145498,47.823248 -61.145512,47.823247 -61.145615,47.823248 -61.145645,47.823250 -61.145658,47.823249 -61.145761,47.823250 -61.145792,47.823252 -61.145804,47.823251 -61.145907,47.823253 -61.145939,47.823255 -61.145950,47.823254 -61.146053,47.823256 -61.146085,47.823258 -61.146096,47.823258 -61.146199,47.823260 -61.146232,47.823262 -61.146242,47.823262 -61.146345,47.823265 -61.146378,47.823267 -61.146388,47.823267 -61.146491,47.823270 -61.146525,47.823273 -61.146534,47.823272 -61.146636,47.823276 -61.146671,47.823279 -61.146680,47.823278 -61.146782,47.823283 -61.146800,47.823286 -61.146825,47.823285 -61.146928,47.823290 -61.146946,47.823294 -61.146971,47.823292 -61.147073,47.823298 -61.147091,47.823302 -61.147116,47.823300 -61.147219,47.823306 -61.147237,47.823310 -61.147262,47.823309 -61.147364,47.823315 -61.147383,47.823319 -61.147407,47.823318 -61.147510,47.823325 -61.147529,47.823329 -61.147553,47.823328 -61.147655,47.823335 -61.147674,47.823340 -61.147698,47.823338 -61.147800,47.823346 -61.147820,47.823351 -61.147843,47.823350 -61.147945,47.823358 -61.147965,47.823362 -61.147988,47.823361 -61.148090,47.823370 -61.148110,47.823375 -61.148133,47.823374 -61.148235,47.823383 -61.148255,47.823388 -61.148278,47.823387 -61.148379,47.823397 -61.148400,47.823401 -61.148422,47.823401 -61.148524,47.823411 -61.148545,47.823416 -61.148567,47.823415 -61.148668,47.823426 -61.148690,47.823431 -61.148711,47.823430 -61.148813,47.823441 -61.148834,47.823446 -61.148855,47.823446 -61.148957,47.823457 -61.148979,47.823462 -61.148999,47.823462 -61.149101,47.823474 -61.149123,47.823479 -61.149143,47.823479 -61.149244,47.823491 -61.149267,47.823497 -61.149287,47.823496 -61.149388,47.823509 -61.149411,47.823515 -61.149430,47.823514 -61.149531,47.823527 -61.149555,47.823533 -61.149574,47.823533 -61.149675,47.823547 -61.149698,47.823553 -61.149717,47.823552 -61.149818,47.823566 -61.149842,47.823573 -61.149860,47.823572 -61.149961,47.823587 -61.149985,47.823593 -61.150003,47.823593 -61.150103,47.823608 -61.150111,47.823610 -61.150145,47.823614 -61.150246,47.823630 -61.150254,47.823632 -61.150288,47.823636 -61.150388,47.823652 -61.150397,47.823654 -61.150430,47.823659 -61.150530,47.823675 -61.150540,47.823678 -61.150572,47.823682 -61.150672,47.823698 -61.150682,47.823701 -61.150714,47.823705 -61.150813,47.823723 -61.150825,47.823726 -61.150855,47.823730 -61.150955,47.823747 -61.150967,47.823751 -61.150996,47.823755 -61.151096,47.823773 -61.151108,47.823776 -61.151137,47.823780 -61.151237,47.823799 -61.151250,47.823803 -61.151278,47.823807 -61.151377,47.823825 -61.151391,47.823829 -61.151419,47.823833 -61.151517,47.823853 -61.151532,47.823857 -61.151559,47.823861 -61.151658,47.823880 -61.151673,47.823885 -61.151699,47.823889 -61.151797,47.823909 -61.151813,47.823914 -61.151839,47.823917 -61.151937,47.823938 -61.151953,47.823943 -61.151978,47.823947 -61.152076,47.823968 -61.152093,47.823973 -61.152117,47.823977 -61.152215,47.823998 -61.152233,47.824003 -61.152256,47.824007 -61.152354,47.824029 -61.152372,47.824035 -61.152395,47.824038 -61.152492,47.824060 -61.152511,47.824066 -61.152533,47.824070 -61.152630,47.824093 -61.152650,47.824099 -61.152671,47.824102 -61.152768,47.824125 -61.152788,47.824132 -61.152808,47.824135 -61.152905,47.824159 -61.152926,47.824165 -61.152946,47.824169 -61.153042,47.824193 -61.153064,47.824199 -61.153083,47.824203 -61.153179,47.824227 -61.153201,47.824234 -61.153219,47.824237 -61.153315,47.824262 -61.153338,47.824270 -61.153356,47.824273 -61.153452,47.824298 -61.153475,47.824306 -61.153492,47.824309 -61.153587,47.824334 -61.153611,47.824342 -61.153627,47.824345 -61.153723,47.824371 -61.153747,47.824379 -61.153763,47.824382 -61.153858,47.824409 -61.153883,47.824417 -61.153898,47.824420 -61.153992,47.824447 -61.154018,47.824455 -61.154032,47.824458 -61.154127,47.824485 -61.154153,47.824494 -61.154166,47.824497 -61.154261,47.824525 -61.154288,47.824534 -61.154300,47.824536 -61.154394,47.824564 -61.154422,47.824574 -61.154434,47.824576 -61.154527,47.824605 -61.154556,47.824615 -61.154567,47.824617 -61.154660,47.824646 -61.154689,47.824656 -61.154699,47.824658 -61.154792,47.824687 -61.154822,47.824698 -61.154831,47.824700 -61.154924,47.824730 -61.154954,47.824740 -61.154963,47.824742 -61.155056,47.824772 -61.155087,47.824783 -61.155095,47.824785 -61.155187,47.824816 -61.155201,47.824823 -61.155226,47.824828 -61.155318,47.824859 -61.155332,47.824867 -61.155356,47.824872 -61.155448,47.824904 -61.155462,47.824912 -61.155486,47.824917 -61.155578,47.824949 -61.155592,47.824957 -61.155616,47.824962 -61.155707,47.824994 -61.155722,47.825003 -61.155745,47.825008 -61.155836,47.825041 -61.155851,47.825049 -61.155874,47.825054 -61.155965,47.825087 -61.155980,47.825096 -61.156003,47.825101 -61.156093,47.825135 -61.156108,47.825144 -61.156131,47.825149 -61.156220,47.825182 -61.156236,47.825192 -61.156258,47.825197 -61.156348,47.825231 -61.156364,47.825240 -61.156385,47.825245 -61.156474,47.825280 -61.156491,47.825289 -61.156512,47.825294 -61.156601,47.825329 -61.156617,47.825339 -61.156638,47.825344 -61.156726,47.825379 -61.156743,47.825389 -61.156763,47.825394 -61.156852,47.825430 -61.156868,47.825440 -61.156888,47.825445 -61.156976,47.825481 -61.156993,47.825491 -61.157013,47.825496 -61.157101,47.825533 -61.157118,47.825543 -61.157137,47.825548 -61.157224,47.825585 -61.157242,47.825596 -61.157261,47.825600 -61.157348,47.825638 -61.157365,47.825649 -61.157384,47.825653 -61.157470,47.825691 -61.157488,47.825702 -61.157506,47.825707 -61.157593,47.825745 -61.157611,47.825756 -61.157629,47.825761 -61.157714,47.825799 -61.157733,47.825811 -61.157750,47.825815 -61.157835,47.825854 -61.157854,47.825866 -61.157871,47.825870 -61.157956,47.825910 -61.157975,47.825922 -61.157992,47.825926 -61.158076,47.825966 -61.158082,47.825969 -61.158112,47.825982 -61.158196,47.826022 -61.158202,47.826026 -61.158231,47.826039 -61.158315,47.826079 -61.158322,47.826084 -61.158350,47.826096 -61.158433,47.826137 -61.158441,47.826141 -61.158468,47.826154 -61.158551,47.826195 -61.158559,47.826200 -61.158586,47.826212 -61.158668,47.826253 -61.158677,47.826259 -61.158703,47.826271 -61.158785,47.826312 -61.158794,47.826318 -61.158820,47.826330 -61.158901,47.826372 -61.158911,47.826378 -61.158936,47.826389 -61.159017,47.826432 -61.159027,47.826439 -61.159051,47.826450 -61.159132,47.826492 -61.159143,47.826500 -61.159166,47.826510 -61.159247,47.826554 -61.159258,47.826561 -61.159280,47.826572 -61.159361,47.826615 -61.159372,47.826623 -61.159394,47.826633 -61.159474,47.826677 -61.159486,47.826685 -61.159507,47.826696 -61.159586,47.826740 -61.159599,47.826748 -61.159620,47.826758 -61.159699,47.826803 -61.159711,47.826812 -61.159732,47.826822 -61.159810,47.826866 -61.159823,47.826876 -61.159843,47.826885 -61.159921,47.826930 -61.159935,47.826940 -61.159954,47.826949 -61.160031,47.826995 -61.160105,47.827048 -61.160188,47.827090 -61.173239,47.835247 -61.174024,47.835832 -61.174049,47.835867 -61.174070,47.835880 -61.174261,47.836068 -61.174285,47.836083 -61.174332,47.836131 -61.174343,47.836148 -61.174409,47.836212 -61.174456,47.836264 -61.174460,47.836269 -61.174476,47.836286 -61.174523,47.836337 -61.174527,47.836343 -61.174543,47.836359 -61.174589,47.836411 -61.174593,47.836417 -61.174609,47.836432 -61.174655,47.836484 -61.174659,47.836491 -61.174674,47.836506 -61.174720,47.836558 -61.174724,47.836565 -61.174739,47.836580 -61.174785,47.836633 -61.174789,47.836640 -61.174803,47.836655 -61.174848,47.836707 -61.174853,47.836715 -61.174867,47.836729 -61.174911,47.836782 -61.174916,47.836790 -61.174930,47.836804 -61.174974,47.836857 -61.174979,47.836865 -61.174992,47.836879 -61.175036,47.836932 -61.175041,47.836941 -61.175054,47.836954 -61.175097,47.837008 -61.175102,47.837017 -61.175115,47.837030 -61.175158,47.837083 -61.175163,47.837093 -61.175176,47.837106 -61.175218,47.837159 -61.175223,47.837169 -61.175235,47.837182 -61.175277,47.837235 -61.175283,47.837245 -61.175295,47.837258 -61.175336,47.837312 -61.175342,47.837322 -61.175353,47.837334 -61.175394,47.837388 -61.175400,47.837399 -61.175411,47.837411 -61.175451,47.837465 -61.175458,47.837476 -61.175468,47.837488 -61.175508,47.837542 -61.175515,47.837554 -61.175525,47.837565 -61.175564,47.837619 -61.175571,47.837631 -61.175581,47.837642 -61.175620,47.837697 -61.175626,47.837709 -61.175636,47.837720 -61.175675,47.837774 -61.175681,47.837787 -61.175691,47.837797 -61.175729,47.837852 -61.175736,47.837865 -61.175745,47.837875 -61.175782,47.837930 -61.175789,47.837944 -61.175798,47.837953 -61.175835,47.838009 -61.175842,47.838022 -61.175851,47.838032 -61.175887,47.838087 -61.175895,47.838101 -61.175903,47.838110 -61.175939,47.838166 -61.175946,47.838180 -61.175954,47.838189 -61.175990,47.838245 -61.175997,47.838259 -61.176005,47.838268 -61.176040,47.838324 -61.176048,47.838339 -61.176055,47.838347 -61.176090,47.838403 -61.176097,47.838418 -61.176104,47.838426 -61.176138,47.838482 -61.176146,47.838498 -61.176153,47.838506 -61.176187,47.838562 -61.176195,47.838578 -61.176201,47.838585 -61.176234,47.838642 -61.176242,47.838658 -61.176248,47.838665 -61.176281,47.838722 -61.176289,47.838739 -61.176295,47.838745 -61.176327,47.838802 -61.176336,47.838819 -61.176341,47.838826 -61.176373,47.838882 -61.176381,47.838900 -61.176386,47.838906 -61.176418,47.838963 -61.176426,47.838981 -61.176431,47.838987 -61.176462,47.839043 -61.176470,47.839062 -61.176475,47.839067 -61.176505,47.839124 -61.176514,47.839143 -61.176518,47.839148 -61.176548,47.839205 -61.176557,47.839225 -61.176561,47.839229 -61.176590,47.839287 -61.176599,47.839306 -61.176602,47.839310 -61.176632,47.839368 -61.176633,47.839378 -61.176644,47.839392 -61.176672,47.839449 -61.176674,47.839460 -61.176684,47.839473 -61.176712,47.839531 -61.176714,47.839542 -61.176724,47.839555 -61.176752,47.839613 -61.176753,47.839624 -61.176763,47.839637 -61.176790,47.839695 -61.176792,47.839706 -61.176802,47.839719 -61.176828,47.839777 -61.176830,47.839788 -61.176840,47.839801 -61.176866,47.839859 -61.176867,47.839871 -61.176877,47.839883 -61.176902,47.839941 -61.176904,47.839953 -61.176913,47.839966 -61.176938,47.840024 -61.176940,47.840036 -61.176949,47.840048 -61.176973,47.840107 -61.176975,47.840119 -61.176984,47.840131 -61.177008,47.840189 -61.177009,47.840202 -61.177018,47.840214 -61.177042,47.840272 -61.177043,47.840285 -61.177052,47.840297 -61.177075,47.840355 -61.177076,47.840368 -61.177085,47.840380 -61.177107,47.840439 -61.177109,47.840451 -61.177117,47.840463 -61.177139,47.840522 -61.177140,47.840535 -61.177148,47.840546 -61.177170,47.840605 -61.177171,47.840619 -61.177179,47.840630 -61.177200,47.840689 -61.177201,47.840702 -61.177209,47.840713 -61.177230,47.840772 -61.177231,47.840786 -61.177239,47.840797 -61.177259,47.840856 -61.177260,47.840870 -61.177267,47.840881 -61.177287,47.840940 -61.177288,47.840954 -61.177295,47.840965 -61.177315,47.841024 -61.177316,47.841038 -61.177323,47.841049 -61.177342,47.841108 -61.177342,47.841122 -61.177349,47.841133 -61.177368,47.841192 -61.177368,47.841207 -61.177375,47.841217 -61.177393,47.841276 -61.177394,47.841291 -61.177400,47.841301 -61.177418,47.841361 -61.177418,47.841376 -61.177425,47.841386 -61.177442,47.841445 -61.177442,47.841460 -61.177449,47.841470 -61.177465,47.841530 -61.177465,47.841545 -61.177472,47.841555 -61.177487,47.841614 -61.177488,47.841620 -61.177494,47.841639 -61.177509,47.841699 -61.177509,47.841705 -61.177516,47.841724 -61.177530,47.841784 -61.177531,47.841790 -61.177536,47.841809 -61.177551,47.841869 -61.177551,47.841875 -61.177557,47.841894 -61.177570,47.841954 -61.177571,47.841960 -61.177576,47.841979 -61.177589,47.842039 -61.177589,47.842046 -61.177595,47.842064 -61.177608,47.842124 -61.177608,47.842131 -61.177613,47.842149 -61.177625,47.842209 -61.177625,47.842217 -61.177630,47.842234 -61.177642,47.842294 -61.177642,47.842302 -61.177647,47.842320 -61.177658,47.842380 -61.177658,47.842388 -61.177663,47.842405 -61.177674,47.842465 -61.177673,47.842474 -61.177678,47.842490 -61.177688,47.842550 -61.177688,47.842560 -61.177692,47.842576 -61.177702,47.842636 -61.177702,47.842646 -61.177706,47.842661 -61.177715,47.842721 -61.177715,47.842731 -61.177719,47.842747 -61.177728,47.842807 -61.177728,47.842817 -61.177731,47.842832 -61.177740,47.842893 -61.177739,47.842903 -61.177743,47.842918 -61.177751,47.842978 -61.177750,47.842989 -61.177754,47.843004 -61.177761,47.843064 -61.177761,47.843075 -61.177764,47.843089 -61.177771,47.843150 -61.177770,47.843162 -61.177773,47.843175 -61.177780,47.843236 -61.177779,47.843248 -61.177782,47.843261 -61.177788,47.843321 -61.177787,47.843334 -61.177790,47.843347 -61.177795,47.843407 -61.177794,47.843420 -61.177797,47.843433 -61.177802,47.843493 -61.177801,47.843506 -61.177804,47.843518 -61.177808,47.843579 -61.177807,47.843593 -61.177810,47.843604 -61.177813,47.843665 -61.177812,47.843679 -61.177815,47.843690 -61.177818,47.843751 -61.177817,47.843765 -61.177819,47.843776 -61.177822,47.843837 -61.177820,47.843852 -61.177823,47.843862 -61.177825,47.843923 -61.177823,47.843938 -61.177826,47.843948 -61.177827,47.844009 -61.177826,47.844024 -61.177828,47.844034 -61.177829,47.844095 -61.177827,47.844111 -61.177829,47.844120 -61.177830,47.844181 -61.177828,47.844197 -61.177830,47.844206 -61.177830,47.844267 -61.177828,47.844283 -61.177830,47.844292 -61.177830,47.844353 -61.177828,47.844370 -61.177829,47.844378 -61.177828,47.844439 -61.177826,47.844456 -61.177828,47.844464 -61.177826,47.844525 -61.177824,47.844542 -61.177826,47.844550 -61.177824,47.844611 -61.177821,47.844629 -61.177823,47.844636 -61.177820,47.844697 -61.177818,47.844715 -61.177819,47.844722 -61.177816,47.844782 -61.177814,47.844801 -61.177815,47.844808 -61.177811,47.844868 -61.177809,47.844888 -61.177810,47.844894 -61.177806,47.844954 -61.177803,47.844974 -61.177804,47.844980 -61.177799,47.845040 -61.177797,47.845060 -61.177797,47.845065 -61.177792,47.845126 -61.177789,47.845146 -61.177790,47.845151 -61.177785,47.845212 -61.177780,47.845222 -61.177782,47.845237 -61.177776,47.845298 -61.177772,47.845308 -61.177774,47.845323 -61.177767,47.845383 -61.177762,47.845394 -61.177764,47.845409 -61.177757,47.845469 -61.177752,47.845480 -61.177754,47.845494 -61.177747,47.845555 -61.177741,47.845566 -61.177743,47.845580 -61.177735,47.845640 -61.177730,47.845651 -61.177732,47.845666 -61.177723,47.845726 -61.177718,47.845737 -61.177719,47.845751 -61.177710,47.845812 -61.177705,47.845823 -61.177706,47.845837 -61.177697,47.845897 -61.177691,47.845908 -61.177693,47.845922 -61.177683,47.845983 -61.177677,47.845994 -61.177678,47.846008 -61.177668,47.846068 -61.177662,47.846080 -61.177663,47.846093 -61.177652,47.846153 -61.177646,47.846165 -61.177647,47.846178 -61.177636,47.846239 -61.177629,47.846251 -61.177631,47.846264 -61.177618,47.846324 -61.177612,47.846336 -61.177613,47.846349 -61.177601,47.846409 -61.177594,47.846421 -61.177595,47.846434 -61.177582,47.846494 -61.177576,47.846507 -61.177577,47.846519 -61.177563,47.846579 -61.177556,47.846592 -61.177557,47.846604 -61.177543,47.846664 -61.177536,47.846677 -61.177537,47.846689 -61.177522,47.846749 -61.177515,47.846762 -61.177516,47.846774 -61.177501,47.846834 -61.177494,47.846847 -61.177494,47.846859 -61.177479,47.846918 -61.177471,47.846932 -61.177472,47.846943 -61.177456,47.847003 -61.177448,47.847016 -61.177449,47.847028 -61.177432,47.847087 -61.177425,47.847101 -61.177425,47.847112 -61.177408,47.847172 -61.177400,47.847186 -61.177401,47.847197 -61.177383,47.847256 -61.177375,47.847270 -61.177376,47.847281 -61.177358,47.847340 -61.177349,47.847354 -61.177350,47.847365 -61.177331,47.847425 -61.177323,47.847439 -61.177323,47.847449 -61.177304,47.847509 -61.177301,47.847513 -61.177296,47.847533 -61.177276,47.847592 -61.177273,47.847597 -61.177268,47.847617 -61.177248,47.847676 -61.177245,47.847682 -61.177239,47.847701 -61.177219,47.847760 -61.177215,47.847766 -61.177210,47.847785 -61.177189,47.847844 -61.177185,47.847850 -61.177180,47.847868 -61.177158,47.847927 -61.177154,47.847933 -61.177149,47.847952 -61.177127,47.848010 -61.177123,47.848017 -61.177117,47.848035 -61.177095,47.848094 -61.177090,47.848101 -61.177085,47.848118 -61.177062,47.848177 -61.177057,47.848184 -61.177052,47.848201 -61.177029,47.848260 -61.177024,47.848267 -61.177019,47.848284 -61.176995,47.848343 -61.176989,47.848351 -61.176984,47.848367 -61.176960,47.848425 -61.176954,47.848434 -61.176949,47.848450 -61.176924,47.848508 -61.176919,47.848517 -61.176914,47.848532 -61.176888,47.848590 -61.176882,47.848599 -61.176877,47.848615 -61.176851,47.848673 -61.176845,47.848682 -61.176840,47.848697 -61.176814,47.848755 -61.176807,47.848765 -61.176802,47.848779 -61.176775,47.848837 -61.176769,47.848847 -61.176764,47.848861 -61.176736,47.848919 -61.176729,47.848929 -61.176725,47.848943 -61.176697,47.849001 -61.176690,47.849011 -61.176685,47.849025 -61.176656,47.849082 -61.176649,47.849093 -61.176644,47.849106 -61.176615,47.849164 -61.176608,47.849175 -61.176603,47.849188 -61.176574,47.849245 -61.176566,47.849257 -61.176561,47.849269 -61.176531,47.849326 -61.176523,47.849338 -61.176519,47.849350 -61.176488,47.849407 -61.176480,47.849419 -61.176475,47.849431 -61.176444,47.849488 -61.176436,47.849500 -61.176431,47.849512 -61.176400,47.849568 -61.176391,47.849581 -61.176387,47.849592 -61.176355,47.849649 -61.176345,47.849662 -61.176341,47.849673 -61.176309,47.849729 -61.176299,47.849743 -61.176295,47.849753 -61.176263,47.849809 -61.176253,47.849823 -61.176249,47.849833 -61.176215,47.849889 -61.176205,47.849903 -61.176201,47.849913 -61.176168,47.849969 -61.176157,47.849983 -61.176153,47.849992 -61.176119,47.850048 -61.176108,47.850063 -61.176105,47.850072 -61.176070,47.850128 -61.176059,47.850143 -61.176055,47.850151 -61.176020,47.850207 -61.176009,47.850222 -61.176005,47.850230 -61.175970,47.850286 -61.175958,47.850302 -61.175955,47.850309 -61.175918,47.850365 -61.175906,47.850381 -61.175903,47.850388 -61.175867,47.850443 -61.175854,47.850460 -61.175851,47.850466 -61.175814,47.850522 -61.175801,47.850538 -61.175799,47.850545 -61.175761,47.850600 -61.175748,47.850617 -61.175745,47.850623 -61.175707,47.850678 -61.175694,47.850695 -61.175691,47.850701 -61.175653,47.850756 -61.175639,47.850773 -61.175637,47.850779 -61.175598,47.850833 -61.175584,47.850851 -61.175581,47.850856 -61.175542,47.850911 -61.175527,47.850929 -61.175525,47.850933 -61.175486,47.850988 -61.175475,47.850996 -61.175469,47.851011 -61.175428,47.851065 -61.175418,47.851073 -61.175412,47.851087 -61.175371,47.851141 -61.175360,47.851150 -61.175354,47.851164 -61.175312,47.851218 -61.175302,47.851226 -61.175295,47.851240 -61.175253,47.851294 -61.175243,47.851303 -61.175236,47.851317 -61.175194,47.851370 -61.175183,47.851379 -61.175176,47.851393 -61.175134,47.851446 -61.175122,47.851455 -61.175116,47.851468 -61.175073,47.851522 -61.175061,47.851531 -61.175055,47.851544 -61.175011,47.851597 -61.174999,47.851606 -61.174993,47.851619 -61.174949,47.851672 -61.174937,47.851681 -61.174930,47.851694 -61.174886,47.851747 -61.174874,47.851756 -61.174867,47.851769 -61.174823,47.851822 -61.174810,47.851831 -61.174804,47.851844 -61.174759,47.851896 -61.174746,47.851906 -61.174740,47.851918 -61.174694,47.851970 -61.174681,47.851980 -61.174675,47.851992 -61.174629,47.852044 -61.174615,47.852054 -61.174609,47.852066 -61.174563,47.852118 -61.174549,47.852128 -61.174543,47.852139 -61.174496,47.852191 -61.174483,47.852201 -61.174476,47.852213 -61.174429,47.852264 -61.174415,47.852274 -61.174409,47.852286 -61.174361,47.852337 -61.174347,47.852347 -61.174341,47.852359 -61.174293,47.852410 -61.174278,47.852420 -61.174272,47.852431 -61.174224,47.852482 -61.174209,47.852493 -61.174203,47.852503 -61.174154,47.852554 -61.174139,47.852565 -61.174133,47.852575 -61.174084,47.852626 -61.174069,47.852637 -61.174063,47.852647 -61.174013,47.852698 -61.173998,47.852708 -61.173992,47.852719 -61.173942,47.852769 -61.173926,47.852780 -61.173920,47.852790 -61.173870,47.852840 -61.173854,47.852851 -61.173848,47.852861 -61.173797,47.852911 -61.173792,47.852914 -61.173775,47.852931 -61.173724,47.852981 -61.173718,47.852985 -61.173702,47.853002 -61.173650,47.853051 -61.173644,47.853055 -61.173628,47.853072 -61.173575,47.853121 -61.173569,47.853125 -61.173553,47.853142 -61.173500,47.853191 -61.173494,47.853195 -61.173478,47.853211 -61.173425,47.853260 -61.173418,47.853265 -61.173403,47.853281 -61.173349,47.853329 -61.173341,47.853334 -61.173326,47.853349 -61.173272,47.853398 -61.173264,47.853403 -61.173249,47.853418 -61.173195,47.853466 -61.173186,47.853472 -61.173172,47.853487 -61.173117,47.853535 -61.173108,47.853540 -61.173094,47.853555 -61.173038,47.853602 -61.173029,47.853608 -61.173015,47.853622 -61.172959,47.853670 -61.172950,47.853676 -61.172936,47.853690 -61.172880,47.853737 -61.172870,47.853744 -61.172856,47.853757 -61.172800,47.853804 -61.172789,47.853811 -61.172776,47.853824 -61.172719,47.853871 -61.172708,47.853878 -61.172695,47.853890 -61.172637,47.853937 -61.172626,47.853944 -61.172613,47.853957 -61.172556,47.854003 -61.172544,47.854011 -61.172531,47.854023 -61.172473,47.854069 -61.172461,47.854077 -61.172449,47.854088 -61.172390,47.854134 -61.172378,47.854142 -61.172366,47.854153 -61.172307,47.854199 -61.172294,47.854207 -61.172282,47.854218 -61.172223,47.854264 -61.172209,47.854272 -61.172198,47.854283 -61.172138,47.854329 -61.172124,47.854337 -61.172113,47.854347 -61.172053,47.854393 -61.172039,47.854401 -61.172028,47.854411 -61.171967,47.854456 -61.171953,47.854465 -61.171942,47.854475 -61.171881,47.854520 -61.171866,47.854529 -61.171856,47.854539 -61.171794,47.854583 -61.171779,47.854593 -61.171769,47.854602 -61.171707,47.854646 -61.171691,47.854656 -61.171681,47.854664 -61.171619,47.854708 -61.171603,47.854718 -61.171593,47.854727 -61.171531,47.854770 -61.171514,47.854781 -61.171505,47.854789 -61.171442,47.854832 -61.171425,47.854843 -61.171416,47.854850 -61.171353,47.854894 -61.171335,47.854904 -61.171326,47.854912 -61.171263,47.854955 -61.171244,47.854966 -61.171236,47.854973 -61.171172,47.855015 -61.171154,47.855026 -61.171146,47.855033 -61.171082,47.855076 -61.171062,47.855087 -61.171055,47.855094 -61.170990,47.855136 -61.170970,47.855147 -61.170963,47.855154 -61.170898,47.855196 -61.170878,47.855207 -61.170871,47.855213 -61.170806,47.855255 -61.170785,47.855267 -61.170778,47.855273 -61.170713,47.855314 -61.170692,47.855326 -61.170685,47.855331 -61.170619,47.855373 -61.170598,47.855385 -61.170592,47.855390 -61.170526,47.855431 -61.170503,47.855443 -61.170498,47.855448 -61.170431,47.855489 -61.170409,47.855502 -61.170403,47.855506 -61.170336,47.855547 -61.170313,47.855559 -61.170308,47.855563 -61.170241,47.855604 -61.170217,47.855617 -61.170213,47.855621 -61.170145,47.855661 -61.170131,47.855666 -61.170117,47.855677 -61.170049,47.855717 -61.170035,47.855722 -61.170020,47.855734 -61.169952,47.855773 -61.169938,47.855778 -61.169923,47.855790 -61.169855,47.855829 -61.169840,47.855834 -61.169826,47.855845 -61.169757,47.855884 -61.169742,47.855890 -61.169728,47.855901 -61.169659,47.855939 -61.169643,47.855945 -61.169630,47.855956 -61.169560,47.855994 -61.169545,47.855999 -61.169531,47.856010 -61.169461,47.856048 -61.169445,47.856054 -61.169432,47.856064 -61.169361,47.856102 -61.169345,47.856107 -61.169332,47.856118 -61.169261,47.856156 -61.169245,47.856161 -61.169232,47.856171 -61.169161,47.856209 -61.169144,47.856214 -61.169131,47.856224 -61.169060,47.856261 -61.169043,47.856267 -61.169030,47.856277 -61.168958,47.856314 -61.168941,47.856319 -61.168928,47.856329 -61.168857,47.856366 -61.168839,47.856371 -61.168827,47.856381 -61.168754,47.856417 -61.168737,47.856423 -61.168724,47.856432 -61.168652,47.856468 -61.168634,47.856474 -61.168621,47.856483 -61.168549,47.856519 -61.168530,47.856525 -61.168518,47.856534 -61.168445,47.856570 -61.168427,47.856575 -61.168414,47.856584 -61.168341,47.856620 -61.168322,47.856625 -61.168310,47.856634 -61.168237,47.856669 -61.168218,47.856675 -61.168206,47.856684 -61.168132,47.856718 -61.168113,47.856724 -61.168101,47.856733 -61.168027,47.856767 -61.168007,47.856773 -61.167996,47.856781 -61.167921,47.856816 -61.167901,47.856822 -61.167890,47.856830 -61.167815,47.856864 -61.167795,47.856870 -61.167784,47.856878 -61.167709,47.856911 -61.167688,47.856917 -61.167677,47.856925 -61.167602,47.856958 -61.167581,47.856964 -61.167570,47.856972 -61.167495,47.857005 -61.167474,47.857011 -61.167463,47.857019 -61.167387,47.857051 -61.167380,47.857053 -61.167355,47.857065 -61.167279,47.857097 -61.167272,47.857100 -61.167247,47.857111 -61.167171,47.857143 -61.167163,47.857145 -61.167139,47.857156 -61.167062,47.857188 -61.167053,47.857190 -61.167030,47.857201 -61.166953,47.857233 -61.166944,47.857235 -61.166921,47.857246 -61.166843,47.857277 -61.166834,47.857280 -61.166811,47.857290 -61.166733,47.857321 -61.166723,47.857324 -61.166701,47.857334 -61.166623,47.857364 -61.166612,47.857367 -61.166591,47.857377 -61.166512,47.857407 -61.166501,47.857410 -61.166480,47.857420 -61.166402,47.857450 -61.166390,47.857453 -61.166369,47.857462 -61.166290,47.857492 -61.166278,47.857495 -61.166257,47.857504 -61.166178,47.857534 -61.166166,47.857537 -61.166145,47.857546 -61.166066,47.857575 -61.166053,47.857579 -61.166033,47.857587 -61.165954,47.857616 -61.165940,47.857620 -61.165921,47.857628 -61.165841,47.857657 -61.165827,47.857660 -61.165808,47.857668 -61.165728,47.857697 -61.165713,47.857700 -61.165695,47.857708 -61.165615,47.857736 -61.165599,47.857740 -61.165581,47.857748 -61.165501,47.857775 -61.165485,47.857779 -61.165467,47.857787 -61.165387,47.857814 -61.165371,47.857818 -61.165353,47.857825 -61.165273,47.857852 -61.165256,47.857857 -61.165239,47.857864 -61.165158,47.857890 -61.165140,47.857895 -61.165124,47.857901 -61.165043,47.857928 -61.165025,47.857932 -61.165009,47.857939 -61.164928,47.857965 -61.164909,47.857969 -61.164893,47.857975 -61.164812,47.858001 -61.164793,47.858006 -61.164778,47.858012 -61.164696,47.858037 -61.164676,47.858042 -61.164662,47.858048 -61.164580,47.858073 -61.164559,47.858078 -61.164545,47.858083 -61.164463,47.858108 -61.164442,47.858113 -61.164429,47.858118 -61.164346,47.858143 -61.164325,47.858148 -61.164312,47.858153 -61.164229,47.858177 -61.164207,47.858182 -61.164194,47.858187 -61.164112,47.858211 -61.164089,47.858216 -61.164077,47.858221 -61.163994,47.858245 -61.163971,47.858250 -61.163959,47.858254 -61.163876,47.858278 -61.163852,47.858283 -61.163841,47.858287 -61.163758,47.858310 -61.163734,47.858315 -61.163723,47.858320 -61.163639,47.858342 -61.163615,47.858348 -61.163604,47.858352 -61.163520,47.858374 -61.163495,47.858379 -61.163485,47.858383 -61.163401,47.858405 -61.163376,47.858410 -61.163366,47.858414 -61.163282,47.858436 -61.163256,47.858441 -61.163247,47.858445 -61.163162,47.858466 -61.163136,47.858472 -61.163127,47.858475 -61.163042,47.858496 -61.163015,47.858501 -61.163007,47.858504 -61.162922,47.858525 -61.162895,47.858531 -61.162887,47.858534 -61.162802,47.858554 -61.162774,47.858560 -61.162766,47.858562 -61.162681,47.858582 -61.162652,47.858588 -61.162646,47.858591 -61.162561,47.858610 -61.162545,47.858611 -61.162525,47.858618 -61.162440,47.858638 -61.162424,47.858639 -61.162404,47.858646 -61.162318,47.858665 -61.162302,47.858666 -61.162282,47.858673 -61.162197,47.858691 -61.162180,47.858692 -61.162161,47.858699 -61.162075,47.858718 -61.162058,47.858719 -61.162039,47.858725 -61.161953,47.858743 -61.161936,47.858744 -61.161917,47.858751 -61.161831,47.858768 -61.161814,47.858769 -61.161795,47.858776 -61.161709,47.858793 -61.161691,47.858794 -61.161672,47.858800 -61.161586,47.858817 -61.161568,47.858818 -61.161550,47.858824 -61.161463,47.858841 -61.161445,47.858842 -61.161427,47.858848 -61.161340,47.858864 -61.161322,47.858865 -61.161304,47.858871 -61.161217,47.858887 -61.161198,47.858888 -61.161181,47.858894 -61.161094,47.858910 -61.161075,47.858910 -61.161057,47.858916 -61.160970,47.858932 -61.160951,47.858932 -61.160934,47.858938 -61.160846,47.858953 -61.160827,47.858954 -61.160810,47.858959 -61.160722,47.858974 -61.160703,47.858975 -61.160686,47.858980 -61.160598,47.858994 -61.160578,47.858995 -61.160562,47.859000 -61.160474,47.859014 -61.160454,47.859015 -61.160437,47.859020 -61.160350,47.859034 -61.160329,47.859035 -61.160313,47.859040 -61.160225,47.859053 -61.160204,47.859054 -61.160188,47.859059 -61.160100,47.859072 -61.160079,47.859072 -61.160064,47.859077 -61.159975,47.859090 -61.159954,47.859090 -61.159939,47.859095 -61.159850,47.859107 -61.159829,47.859108 -61.159813,47.859113 -61.159725,47.859125 -61.159703,47.859125 -61.159688,47.859130 -61.159600,47.859141 -61.159578,47.859142 -61.159563,47.859146 -61.159474,47.859157 -61.159452,47.859158 -61.159437,47.859162 -61.159349,47.859173 -61.159326,47.859174 -61.159312,47.859178 -61.159223,47.859188 -61.159216,47.859189 -61.159186,47.859193 -61.159097,47.859203 -61.159089,47.859203 -61.159060,47.859207 -61.158971,47.859217 -61.158963,47.859218 -61.158934,47.859222 -61.158845,47.859231 -61.158836,47.859231 -61.158808,47.859235 -61.158719,47.859245 -61.158709,47.859245 -61.158682,47.859248 -61.158592,47.859257 -61.158582,47.859257 -61.158555,47.859261 -61.158466,47.859270 -61.158455,47.859270 -61.158429,47.859273 -61.158339,47.859282 -61.158328,47.859282 -61.158302,47.859285 -61.158213,47.859293 -61.158201,47.859293 -61.158175,47.859296 -61.158086,47.859304 -61.158074,47.859304 -61.158049,47.859307 -61.157959,47.859314 -61.157946,47.859314 -61.157922,47.859317 -61.157832,47.859324 -61.157819,47.859324 -61.157795,47.859327 -61.157705,47.859334 -61.157691,47.859334 -61.157668,47.859336 -61.157578,47.859343 -61.157564,47.859343 -61.157541,47.859345 -61.157451,47.859351 -61.157436,47.859351 -61.157414,47.859354 -61.157324,47.859359 -61.157308,47.859359 -61.157286,47.859362 -61.157197,47.859367 -61.157180,47.859366 -61.157159,47.859369 -61.157069,47.859374 -61.157052,47.859373 -61.157032,47.859376 -61.156942,47.859380 -61.156924,47.859380 -61.156904,47.859382 -61.156814,47.859386 -61.156796,47.859386 -61.156777,47.859388 -61.156687,47.859392 -61.156668,47.859391 -61.156649,47.859394 -61.156559,47.859397 -61.156540,47.859397 -61.156522,47.859398 -61.156432,47.859402 -61.156412,47.859401 -61.156394,47.859403 -61.156304,47.859406 -61.156284,47.859405 -61.156267,47.859407 -61.156177,47.859409 -61.156156,47.859409 -61.156139,47.859410 -61.156049,47.859413 -61.156028,47.859412 -61.156011,47.859413 -61.155921,47.859415 -61.155899,47.859414 -61.155883,47.859416 -61.155793,47.859417 -61.155771,47.859416 -61.155756,47.859418 -61.155666,47.859419 -61.155643,47.859418 -61.155628,47.859419 -61.155538,47.859420 -61.155514,47.859419 -61.155500,47.859420 -61.155410,47.859421 -61.155386,47.859420 -61.155372,47.859421 -61.155282,47.859421 -61.155258,47.859420 -61.155245,47.859421 -61.155155,47.859421 -61.155130,47.859420 -61.155117,47.859421 -61.155027,47.859420 -61.155001,47.859419 -61.154989,47.859420 -61.154899,47.859419 -61.154873,47.859417 -61.154861,47.859418 -61.154771,47.859417 -61.154745,47.859416 -61.154734,47.859416 -61.154644,47.859415 -61.154616,47.859413 -61.154606,47.859414 -61.154516,47.859412 -61.154488,47.859411 -61.154478,47.859411 -61.154388,47.859409 -61.154360,47.859407 -61.154351,47.859408 -61.154261,47.859405 -61.154232,47.859403 -61.154223,47.859404 -61.154133,47.859401 -61.154104,47.859399 -61.154095,47.859400 -61.154005,47.859396 -61.153975,47.859394 -61.153968,47.859395 -61.153878,47.859391 -61.153847,47.859389 -61.153840,47.859390 -61.153750,47.859386 -61.153735,47.859383 -61.153713,47.859384 -61.153623,47.859380 -61.153608,47.859376 -61.153585,47.859378 -61.153495,47.859373 -61.153480,47.859370 -61.153458,47.859371 -61.153368,47.859366 -61.153352,47.859362 -61.153331,47.859364 -61.153241,47.859358 -61.153225,47.859355 -61.153203,47.859356 -61.153114,47.859350 -61.153097,47.859347 -61.153076,47.859348 -61.152987,47.859342 -61.152970,47.859338 -61.152949,47.859339 -61.152859,47.859333 -61.152843,47.859329 -61.152822,47.859330 -61.152732,47.859323 -61.152715,47.859319 -61.152695,47.859320 -61.152606,47.859313 -61.152588,47.859309 -61.152568,47.859310 -61.152479,47.859303 -61.152461,47.859299 -61.152441,47.859299 -61.152352,47.859292 -61.152334,47.859288 -61.152315,47.859288 -61.152225,47.859280 -61.152207,47.859276 -61.152188,47.859277 -61.152099,47.859268 -61.152081,47.859264 -61.152062,47.859265 -61.151972,47.859256 -61.151954,47.859251 -61.151935,47.859252 -61.151846,47.859243 -61.151827,47.859238 -61.151809,47.859239 -61.151720,47.859230 -61.151701,47.859225 -61.151683,47.859226 -61.151594,47.859216 -61.151575,47.859211 -61.151557,47.859212 -61.151468,47.859201 -61.151448,47.859197 -61.151431,47.859197 -61.151342,47.859187 -61.151322,47.859182 -61.151305,47.859182 -61.151216,47.859171 -61.151196,47.859166 -61.151179,47.859167 -61.151091,47.859155 -61.151070,47.859150 -61.151054,47.859151 -61.150965,47.859139 -61.150945,47.859134 -61.150928,47.859134 -61.150840,47.859122 -61.150819,47.859117 -61.150803,47.859117 -61.150715,47.859105 -61.150694,47.859100 -61.150678,47.859100 -61.150590,47.859088 -61.150569,47.859082 -61.150553,47.859082 -61.150465,47.859069 -61.150458,47.859068 -61.150428,47.859064 -61.150340,47.859051 -61.150333,47.859049 -61.150303,47.859045 -61.150215,47.859032 -61.150208,47.859030 -61.150179,47.859026 -61.150091,47.859012 -61.150083,47.859010 -61.150054,47.859006 -61.149967,47.858992 -61.149958,47.858990 -61.149930,47.858986 -61.149843,47.858971 -61.149833,47.858969 -61.149806,47.858965 -61.149719,47.858950 -61.149709,47.858948 -61.149682,47.858944 -61.149595,47.858929 -61.149585,47.858926 -61.149559,47.858922 -61.149472,47.858907 -61.149461,47.858904 -61.149435,47.858900 -61.149348,47.858885 -61.149337,47.858881 -61.149312,47.858878 -61.149225,47.858862 -61.149213,47.858858 -61.149189,47.858855 -61.149102,47.858838 -61.149090,47.858835 -61.149066,47.858831 -61.148979,47.858814 -61.148967,47.858811 -61.148943,47.858807 -61.148857,47.858790 -61.148844,47.858786 -61.148821,47.858783 -61.148735,47.858765 -61.148721,47.858761 -61.148698,47.858758 -61.148612,47.858740 -61.148598,47.858736 -61.148576,47.858733 -61.148490,47.858714 -61.148476,47.858710 -61.148455,47.858707 -61.148369,47.858688 -61.148353,47.858684 -61.148333,47.858680 -61.148247,47.858662 -61.148232,47.858657 -61.148211,47.858654 -61.148126,47.858634 -61.148110,47.858630 -61.148090,47.858626 -61.148005,47.858607 -61.147988,47.858602 -61.147969,47.858599 -61.147884,47.858579 -61.147867,47.858574 -61.147849,47.858571 -61.147764,47.858550 -61.147746,47.858545 -61.147728,47.858542 -61.147643,47.858521 -61.147625,47.858516 -61.147608,47.858513 -61.147523,47.858492 -61.147505,47.858486 -61.147488,47.858483 -61.147403,47.858462 -61.147384,47.858456 -61.147368,47.858453 -61.147284,47.858432 -61.147264,47.858426 -61.147249,47.858423 -61.147165,47.858401 -61.147145,47.858395 -61.147129,47.858392 -61.147046,47.858370 -61.147025,47.858363 -61.147010,47.858361 -61.146927,47.858338 -61.146906,47.858331 -61.146892,47.858329 -61.146808,47.858306 -61.146787,47.858299 -61.146773,47.858296 -61.146690,47.858273 -61.146668,47.858266 -61.146655,47.858264 -61.146572,47.858240 -61.146550,47.858233 -61.146537,47.858231 -61.146454,47.858207 -61.146432,47.858199 -61.146420,47.858197 -61.146337,47.858173 -61.146314,47.858165 -61.146302,47.858163 -61.146220,47.858139 -61.146196,47.858130 -61.146185,47.858128 -61.146103,47.858104 -61.146079,47.858095 -61.146069,47.858093 -61.145986,47.858069 -61.145962,47.858060 -61.145952,47.858058 -61.145870,47.858033 -61.145845,47.858024 -61.145836,47.858022 -61.145754,47.857997 -61.145729,47.857988 -61.145720,47.857986 -61.145639,47.857960 -61.145613,47.857951 -61.145605,47.857949 -61.145523,47.857923 -61.145497,47.857914 -61.145489,47.857912 -61.145408,47.857886 -61.145382,47.857876 -61.145375,47.857874 -61.145294,47.857848 -61.145282,47.857841 -61.145260,47.857836 -61.145179,47.857809 -61.145167,47.857802 -61.145146,47.857798 -61.145065,47.857771 -61.145053,47.857763 -61.145032,47.857759 -61.144952,47.857731 -61.144939,47.857724 -61.144918,47.857720 -61.144838,47.857692 -61.144826,47.857684 -61.144805,47.857680 -61.144725,47.857652 -61.144712,47.857644 -61.144692,47.857640 -61.144613,47.857611 -61.144599,47.857603 -61.144579,47.857599 -61.144500,47.857570 -61.144487,47.857562 -61.144467,47.857558 -61.144388,47.857529 -61.144375,47.857521 -61.144355,47.857516 -61.144277,47.857487 -61.144263,47.857479 -61.144244,47.857474 -61.144165,47.857445 -61.144151,47.857436 -61.144133,47.857432 -61.144054,47.857402 -61.144040,47.857394 -61.144022,47.857389 -61.143944,47.857359 -61.143930,47.857350 -61.143911,47.857346 -61.143834,47.857315 -61.143819,47.857307 -61.143801,47.857303 -61.143724,47.857272 -61.143709,47.857263 -61.143691,47.857258 -61.143614,47.857227 -61.143600,47.857218 -61.143582,47.857214 -61.143505,47.857182 -61.143490,47.857173 -61.143473,47.857169 -61.143396,47.857137 -61.143381,47.857128 -61.143364,47.857124 -61.143288,47.857092 -61.143273,47.857082 -61.143256,47.857078 -61.143180,47.857046 -61.143165,47.857036 -61.143148,47.857032 -61.143073,47.856999 -61.143057,47.856990 -61.143041,47.856986 -61.142965,47.856952 -61.142950,47.856943 -61.142934,47.856939 -61.142859,47.856905 -61.142843,47.856895 -61.142827,47.856891 -61.142752,47.856858 -61.142736,47.856847 -61.142721,47.856843 -61.142646,47.856810 -61.142630,47.856799 -61.142615,47.856795 -61.142541,47.856761 -61.142524,47.856751 -61.142510,47.856747 -61.142436,47.856712 -61.142419,47.856702 -61.142405,47.856698 -61.142331,47.856663 -61.142325,47.856659 -61.142300,47.856648 -61.142227,47.856613 -61.142221,47.856610 -61.142196,47.856599 -61.142123,47.856563 -61.142116,47.856559 -61.142092,47.856549 -61.142019,47.856513 -61.142012,47.856509 -61.141989,47.856498 -61.141916,47.856462 -61.141909,47.856457 -61.141886,47.856447 -61.141813,47.856411 -61.141806,47.856406 -61.141783,47.856396 -61.141711,47.856359 -61.141704,47.856354 -61.141681,47.856344 -61.141610,47.856307 -61.141601,47.856302 -61.141580,47.856292 -61.141508,47.856255 -61.141500,47.856249 -61.141478,47.856239 -61.141407,47.856202 -61.141398,47.856196 -61.141378,47.856187 -61.141307,47.856149 -61.141298,47.856143 -61.141277,47.856133 -61.141207,47.856095 -61.141197,47.856089 -61.141178,47.856080 -61.141107,47.856042 -61.141097,47.856035 -61.141078,47.856026 -61.141008,47.855987 -61.140940,47.855940 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-61.518216,47.771847 -61.407592,47.807590</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-61.471147,47.778744 -61.475101,47.776978 -61.478657,47.775219 -61.478728,47.775196 -61.478775,47.775162 -61.479830,47.774663 -61.479984,47.774615 -61.480705,47.774314 -61.484897,47.772920 -61.485272,47.772826 -61.485465,47.772753 -61.486662,47.772445 -61.487333,47.772300 -61.488185,47.772187 -61.491704,47.771883 -61.492225,47.771884 -61.492679,47.771847 -61.493773,47.771861 -61.494531,47.771901 -61.495254,47.771994 -61.496656,47.772231 -61.498776,47.772486 -61.498834,47.772501 -61.498882,47.772500 -61.500092,47.772660 -61.500357,47.772727 -61.501139,47.772859 -61.502345,47.773163 -61.503358,47.773486 -61.503486,47.773562 -61.503627,47.773597 -61.504045,47.773779 -61.506758,47.774528 -61.507579,47.774801 -61.508040,47.774999 -61.509910,47.775878 -61.510041,47.775963 -61.510423,47.776145 -61.510543,47.776214 -61.511607,47.776524 -61.512881,47.776804 -61.514158,47.777190 -61.515185,47.777686 -61.515999,47.778164 -61.516915,47.778823 -61.518054,47.780391 -61.518216,47.782134 -61.517376,47.783786 -61.517064,47.784114 -61.515746,47.785375 -61.514345,47.786356 -61.513963,47.786523 -61.513583,47.787091 -61.513352,47.787563 -61.512785,47.788414 -61.511071,47.789724 -61.510856,47.789795 -61.510718,47.789893 -61.509663,47.790365 -61.508247,47.790794 -61.507161,47.791793 -61.506961,47.791931 -61.506683,47.792184 -61.506278,47.792480 -61.505966,47.792796 -61.504463,47.793876 -61.503958,47.794073 -61.502830,47.794934 -61.500503,47.795702 -61.499346,47.795836 -61.498301,47.796096 -61.496384,47.796177 -61.495194,47.796543 -61.494943,47.796919 -61.493228,47.798228 -61.490900,47.798995 -61.488313,47.799104 -61.485950,47.798571 -61.483190,47.797527 -61.483151,47.797504 -61.483101,47.797493 -61.483072,47.797480 -61.482310,47.797504 -61.481086,47.797262 -61.480476,47.797330 -61.479406,47.797379 -61.478068,47.797349 -61.476533,47.796994 -61.476527,47.797128 -61.475685,47.798779 -61.474671,47.799672 -61.473908,47.800193 -61.473207,47.800609 -61.473114,47.800639 -61.473049,47.800687 -61.472087,47.801151 -61.469916,47.801840 -61.469021,47.801955 -61.465808,47.802218 -61.465457,47.802217 -61.465422,47.802252 -61.464770,47.802717 -61.464238,47.803148 -61.463945,47.803317 -61.463676,47.803567 -61.462751,47.804203 -61.462489,47.804409 -61.462318,47.804503 -61.462193,47.804631 -61.460676,47.805723 -61.458953,47.806361 -61.456894,47.806873 -61.456288,47.807002 -61.454837,47.807147 -61.454169,47.807164 -61.453409,47.807262 -61.453239,47.807265 -61.452706,47.807327 -61.448036,47.807588 -61.447240,47.807574 -61.446978,47.807590 -61.445804,47.807529 -61.445632,47.807493 -61.445421,47.807502 -61.444669,47.807403 -61.443194,47.807149 -61.442320,47.806908 -61.441847,47.806809 -61.440909,47.806490 -61.437802,47.805457 -61.437794,47.805453 -61.437779,47.805450 -61.436633,47.805065 -61.436365,47.805031 -61.434281,47.804503 -61.433408,47.804094 -61.432611,47.803652 -61.432358,47.803735 -61.432102,47.803746 -61.431909,47.803804 -61.430769,47.803950 -61.428631,47.803989 -61.426180,47.803420 -61.425507,47.803051 -61.424573,47.803031 -61.422809,47.803203 -61.422644,47.803204 -61.422344,47.803237 -61.421207,47.803294 -61.419825,47.803265 -61.417374,47.802696 -61.416403,47.802232 -61.414723,47.801264 -61.413753,47.800571 -61.413718,47.800524 -61.413664,47.800490 -61.413594,47.800426 -61.413406,47.800334 -61.413090,47.800125 -61.412618,47.799880 -61.411021,47.798805 -61.410958,47.798756 -61.410924,47.798738 -61.409381,47.797655 -61.408886,47.797265 -61.407750,47.795695 -61.407592,47.793952 -61.408436,47.792301 -61.410154,47.790994 -61.411677,47.790409 -61.413400,47.789938 -61.413929,47.789820 -61.414597,47.789337 -61.416694,47.788615 -61.417768,47.788396 -61.417885,47.788390 -61.418001,47.788352 -61.420587,47.788245 -61.423037,47.788814 -61.423067,47.788832 -61.423103,47.788840 -61.424119,47.789250 -61.425993,47.790381 -61.426466,47.791033 -61.426737,47.791036 -61.427805,47.791019 -61.428860,47.791058 -61.429968,47.791226 -61.431096,47.791466 -61.432051,47.791751 -61.432237,47.791792 -61.433025,47.791463 -61.434091,47.791109 -61.435337,47.790794 -61.435444,47.790790 -61.435534,47.790761 -61.436808,47.790563 -61.439198,47.790489 -61.439493,47.790557 -61.439938,47.790233 -61.442234,47.789478 -61.442682,47.789136 -61.443446,47.788798 -61.444499,47.788398 -61.446063,47.787971 -61.448254,47.787835 -61.451413,47.787995 -61.451590,47.788032 -61.451809,47.788023 -61.453195,47.788254 -61.455084,47.788719 -61.455243,47.788706 -61.455678,47.788570 -61.458102,47.787061 -61.458557,47.786691 -61.459651,47.785982 -61.459693,47.785969 -61.459724,47.785946 -61.460672,47.785473 -61.460802,47.785431 -61.462060,47.784941 -61.462640,47.784778 -61.463429,47.784426 -61.463424,47.784409 -61.463302,47.783562 -61.463331,47.782530 -61.464173,47.780878 -61.465888,47.779570 -61.468215,47.778803 -61.470801,47.778695 -61.471147,47.778744 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-66.707937,48.784918 -65.827634,49.105988</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-66.111336,48.870927 -66.113571,48.870727 -66.113574,48.870728 -66.113576,48.870727 -66.114710,48.870774 -66.115269,48.870796 -66.116142,48.870776 -66.116316,48.870778 -66.116362,48.870773 -66.121105,48.870717 -66.121468,48.870673 -66.122755,48.870621 -66.123284,48.870455 -66.124708,48.870071 -66.126203,48.869906 -66.127981,48.869361 -66.132362,48.868872 -66.132744,48.868871 -66.136276,48.868649 -66.136736,48.868729 -66.137134,48.868701 -66.137534,48.868734 -66.139396,48.868677 -66.139838,48.868549 -66.145105,48.868076 -66.146973,48.868272 -66.147357,48.868266 -66.147584,48.868244 -66.150451,48.868297 -66.153084,48.868313 -66.154462,48.868106 -66.158873,48.867765 -66.160668,48.867732 -66.163450,48.867481 -66.163565,48.867387 -66.165940,48.866141 -66.169978,48.864679 -66.170186,48.864660 -66.170355,48.864597 -66.171914,48.864275 -66.172142,48.864257 -66.173082,48.864101 -66.175340,48.863231 -66.178028,48.862814 -66.221221,48.859102 -66.221975,48.857202 -66.222861,48.856177 -66.223987,48.855052 -66.224696,48.854512 -66.225218,48.854001 -66.227364,48.852424 -66.227605,48.852266 -66.227661,48.852212 -66.229730,48.850787 -66.230527,48.850281 -66.234438,48.848677 -66.235946,48.848273 -66.236282,48.848236 -66.236621,48.848105 -66.237732,48.847886 -66.238149,48.847752 -66.238713,48.847520 -66.240498,48.847041 -66.240834,48.847005 -66.241173,48.846874 -66.246436,48.846395 -66.248357,48.846680 -66.248504,48.846675 -66.248793,48.846647 -66.251856,48.846720 -66.252007,48.846745 -66.252171,48.846730 -66.257164,48.847570 -66.260206,48.848515 -66.260272,48.848547 -66.260354,48.848561 -66.264590,48.850678 -66.266774,48.852953 -66.268159,48.853191 -66.268536,48.853380 -66.268918,48.853454 -66.270669,48.854107 -66.271303,48.854446 -66.272632,48.855019 -66.274802,48.853128 -66.276802,48.852354 -66.277895,48.851402 -66.282479,48.849628 -66.282526,48.849624 -66.282563,48.849610 -66.282687,48.849509 -66.282877,48.849435 -66.283002,48.849329 -66.284520,48.848492 -66.288788,48.846898 -66.289961,48.846791 -66.290069,48.846560 -66.289909,48.845799 -66.291215,48.842453 -66.292290,48.840967 -66.292314,48.840946 -66.292325,48.840920 -66.295530,48.838124 -66.299573,48.836558 -66.300303,48.836041 -66.303617,48.834605 -66.305307,48.834087 -66.306575,48.833748 -66.311432,48.833254 -66.313474,48.833293 -66.313579,48.833310 -66.316419,48.830830 -66.316678,48.830693 -66.319087,48.828589 -66.321127,48.827608 -66.322150,48.826897 -66.322770,48.826501 -66.322798,48.826477 -66.323780,48.825880 -66.325785,48.824589 -66.326036,48.824487 -66.326237,48.824311 -66.328839,48.823152 -66.329824,48.822100 -66.331837,48.820375 -66.333570,48.819146 -66.338148,48.817370 -66.343406,48.816886 -66.348545,48.817768 -66.349513,48.818250 -66.349962,48.818101 -66.355220,48.817617 -66.360359,48.818498 -66.362453,48.819327 -66.365416,48.820753 -66.367560,48.822036 -66.370148,48.824941 -66.371313,48.824863 -66.372805,48.824697 -66.374917,48.824700 -66.375261,48.824753 -66.375666,48.824715 -66.380588,48.825527 -66.382184,48.826013 -66.382281,48.826060 -66.382403,48.826081 -66.386642,48.828192 -66.387358,48.828768 -66.388400,48.829683 -66.390378,48.832129 -66.390442,48.832430 -66.390630,48.832655 -66.390669,48.832748 -66.390695,48.832780 -66.390960,48.833179 -66.391092,48.833314 -66.392295,48.835077 -66.392736,48.835808 -66.392743,48.835826 -66.393355,48.836152 -66.394208,48.836566 -66.395601,48.837551 -66.395681,48.837638 -66.395811,48.837703 -66.396775,48.838784 -66.397918,48.839250 -66.399286,48.839947 -66.400659,48.840791 -66.400867,48.840891 -66.402037,48.841709 -66.402136,48.841816 -66.402299,48.841898 -66.404995,48.844919 -66.405734,48.848392 -66.404402,48.851786 -66.401204,48.854587 -66.400724,48.854773 -66.409113,48.860276 -66.451159,48.847346 -66.452417,48.847008 -66.457678,48.846518 -66.462823,48.847394 -66.467069,48.849502 -66.467179,48.849625 -66.467338,48.849707 -66.489381,48.866993 -66.614365,48.865395 -66.616555,48.865183 -66.628091,48.863862 -66.629866,48.863793 -66.630423,48.863730 -66.636237,48.863731 -66.636237,48.863731 -66.636237,48.863731 -66.642506,48.863731 -66.642839,48.863781 -66.643229,48.863743 -66.647776,48.864431 -66.648503,48.864632 -66.648759,48.864752 -66.649107,48.864810 -66.653364,48.866910 -66.653712,48.867286 -66.655267,48.867922 -66.656176,48.868391 -66.657907,48.869458 -66.659820,48.871265 -66.667817,48.881233 -66.669318,48.881232 -66.669649,48.881282 -66.670037,48.881245 -66.673042,48.881574 -66.674834,48.881910 -66.675571,48.882093 -66.675876,48.882135 -66.677783,48.882604 -66.678890,48.882914 -66.681242,48.883857 -66.684607,48.885535 -66.685104,48.885837 -66.685420,48.885975 -66.687218,48.887024 -66.691085,48.888961 -66.694681,48.890411 -66.695445,48.890830 -66.696463,48.891267 -66.697646,48.891939 -66.698882,48.892736 -66.701559,48.895671 -66.702376,48.897147 -66.702385,48.897189 -66.702419,48.897226 -66.702991,48.898654 -66.703140,48.899205 -66.704266,48.899881 -66.704451,48.899972 -66.707172,48.902986 -66.707937,48.906457 -66.706629,48.909856 -66.703446,48.912667 -66.701928,48.913448 -66.700831,48.913933 -66.700172,48.914152 -66.699560,48.914433 -66.686132,48.919077 -66.686003,48.919114 -66.685944,48.919141 -66.670081,48.924417 -66.669994,48.924442 -66.669960,48.924457 -66.656720,48.928750 -66.656714,48.928752 -66.656712,48.928753 -66.646535,48.932046 -66.646516,48.932051 -66.646509,48.932054 -66.636731,48.935199 -66.627052,48.938488 -66.626941,48.938520 -66.626893,48.938541 -66.617084,48.941767 -66.617057,48.941774 -66.617046,48.941779 -66.605746,48.945465 -66.589861,48.950718 -66.589840,48.950724 -66.589831,48.950728 -66.577443,48.954796 -66.572508,48.956699 -66.572416,48.956727 -66.572344,48.956762 -66.545631,48.966731 -66.543429,48.967390 -66.538154,48.967885 -66.532993,48.967014 -66.529490,48.965407 -66.528461,48.967202 -66.527996,48.967917 -66.524797,48.970723 -66.523865,48.971225 -66.520453,48.972905 -66.519306,48.973505 -66.518476,48.973807 -66.516858,48.974527 -66.516553,48.974626 -66.516340,48.974729 -66.512781,48.975965 -66.512502,48.975991 -66.512281,48.976074 -66.502381,48.978082 -66.497604,48.978467 -66.495722,48.978311 -66.494762,48.978187 -66.493802,48.978880 -66.492814,48.979524 -66.489316,48.981022 -66.488451,48.981278 -66.487464,48.982062 -66.486050,48.983030 -66.482922,48.984246 -66.480695,48.986194 -66.476105,48.987978 -66.474676,48.988251 -66.438540,48.993761 -66.438422,48.993768 -66.438353,48.993795 -66.436735,48.994095 -66.420570,48.996397 -66.404556,49.006557 -66.403160,49.007449 -66.402924,49.007545 -66.402737,49.007708 -66.402336,49.007863 -66.401969,49.008198 -66.400173,49.009345 -66.399938,49.009440 -66.399752,49.009602 -66.395156,49.011382 -66.389874,49.011869 -66.384710,49.010989 -66.382713,49.009998 -66.378987,49.011430 -66.373704,49.011916 -66.368541,49.011035 -66.368329,49.010930 -66.368097,49.010888 -66.362853,49.009063 -66.233612,49.009006 -66.233251,49.008951 -66.232821,49.008990 -66.229731,49.008632 -66.100457,48.983184 -66.100289,48.987793 -66.100117,48.988257 -66.100187,48.988698 -66.099457,48.992520 -66.098998,48.993533 -66.098587,48.994739 -66.097038,48.997286 -66.096773,48.997534 -66.096629,48.997894 -66.096027,48.998618 -66.093161,49.001719 -66.092568,49.002467 -66.092374,49.002630 -66.092304,49.002784 -66.090665,49.004662 -66.090290,49.004965 -66.089474,49.005811 -66.087193,49.007682 -66.084040,49.011059 -66.082365,49.013414 -66.082296,49.013475 -66.082265,49.013552 -66.080948,49.014973 -66.077305,49.018192 -66.076600,49.018696 -66.076302,49.018979 -66.070744,49.022869 -66.069891,49.023413 -66.069879,49.023423 -66.064503,49.026574 -66.064474,49.026585 -66.064454,49.026603 -66.062293,49.027629 -66.053726,49.030914 -66.051274,49.031651 -66.051156,49.031662 -66.051056,49.031699 -66.038147,49.034450 -66.037896,49.034471 -66.035397,49.034836 -66.032191,49.035063 -66.031193,49.035404 -66.029455,49.036105 -66.019851,49.041061 -66.014343,49.045169 -66.014166,49.045308 -66.013723,49.045852 -66.012663,49.046730 -66.011236,49.048028 -66.010507,49.048498 -66.010219,49.048614 -66.009982,49.048818 -66.009897,49.048857 -66.007693,49.050828 -66.003961,49.055039 -66.003793,49.055173 -66.003348,49.055669 -65.996330,49.062260 -65.994899,49.063312 -65.994569,49.063608 -65.988476,49.067430 -65.984596,49.069972 -65.982767,49.071826 -65.980993,49.074800 -65.980673,49.075278 -65.980659,49.075312 -65.977194,49.080206 -65.977109,49.080281 -65.977070,49.080376 -65.976723,49.080793 -65.976365,49.081935 -65.975821,49.082979 -65.973864,49.088288 -65.972847,49.090135 -65.972511,49.090424 -65.972379,49.090708 -65.970569,49.092743 -65.969810,49.093349 -65.968824,49.094295 -65.968629,49.094435 -65.967174,49.096812 -65.966906,49.097061 -65.966759,49.097424 -65.966123,49.098180 -65.964298,49.100125 -65.963382,49.100837 -65.962600,49.101577 -65.960866,49.102784 -65.959952,49.103363 -65.956823,49.104721 -65.955545,49.105124 -65.954049,49.105525 -65.948750,49.105988 -65.945339,49.105555 -65.943787,49.105219 -65.942032,49.104749 -65.941707,49.104625 -65.940685,49.104562 -65.939893,49.104415 -65.937182,49.104035 -65.934170,49.103297 -65.934049,49.103263 -65.934010,49.103257 -65.931637,49.102654 -65.930540,49.102338 -65.926551,49.100390 -65.924178,49.098713 -65.924082,49.098608 -65.923923,49.098528 -65.921313,49.095617 -65.919883,49.092988 -65.917212,49.088267 -65.912290,49.085535 -65.910842,49.084602 -65.910087,49.083985 -65.907977,49.082094 -65.907418,49.081390 -65.906608,49.080574 -65.905402,49.078874 -65.898643,49.070624 -65.897702,49.069814 -65.895787,49.068715 -65.892908,49.067369 -65.890556,49.065974 -65.890404,49.065801 -65.890191,49.065689 -65.888165,49.064040 -65.886900,49.062530 -65.885986,49.061524 -65.884477,49.058854 -65.884449,49.058731 -65.884348,49.058616 -65.883890,49.057502 -65.877600,49.037024 -65.874898,49.034566 -65.869401,49.029848 -65.869384,49.029828 -65.869283,49.029745 -65.854640,49.016793 -65.852667,49.014318 -65.852634,49.014157 -65.852525,49.014027 -65.851353,49.011474 -65.851339,49.011394 -65.851292,49.011337 -65.849008,49.006057 -65.847425,49.003681 -65.847329,49.003519 -65.847300,49.003488 -65.843975,48.998163 -65.843910,48.997904 -65.843674,48.997634 -65.843154,48.996296 -65.842720,48.994663 -65.827830,48.938809 -65.827698,48.937196 -65.827634,48.936909 -65.827711,48.935603 -65.827756,48.935485 -65.827730,48.935357 -65.828607,48.932727 -65.829665,48.930911 -65.830169,48.930152 -65.833156,48.927522 -65.879460,48.899372 -65.887762,48.885588 -65.888203,48.884934 -65.891438,48.882151 -65.896041,48.880395 -65.900057,48.879920 -65.943344,48.879128 -65.945028,48.879084 -65.945380,48.879087 -65.945465,48.879078 -65.947095,48.879071 -65.950185,48.878069 -65.951799,48.877627 -65.951850,48.877623 -65.951894,48.877606 -65.968056,48.874056 -65.968115,48.874051 -65.969977,48.873734 -65.975577,48.873076 -65.975481,48.870159 -65.973296,48.861840 -65.973281,48.861658 -65.973205,48.861443 -65.972998,48.860373 -65.966152,48.850020 -65.965747,48.849329 -65.965020,48.846224 -65.965082,48.844416 -65.964582,48.842511 -65.964507,48.841588 -65.964384,48.841124 -65.964115,48.830262 -65.964132,48.829805 -65.964124,48.829768 -65.964489,48.823533 -65.964530,48.823425 -65.964506,48.823307 -65.965433,48.820575 -65.967611,48.816937 -65.967648,48.816882 -65.967652,48.816869 -65.969831,48.813315 -65.969923,48.813229 -65.969975,48.813090 -65.973877,48.807190 -65.974048,48.807036 -65.974132,48.806827 -65.974923,48.805904 -65.980639,48.800071 -65.983070,48.798209 -65.983104,48.798195 -65.983129,48.798175 -65.984761,48.797236 -65.984866,48.797196 -65.987437,48.796034 -65.993513,48.793955 -65.995108,48.793506 -65.995192,48.793473 -65.998960,48.792583 -66.009209,48.789554 -66.016059,48.786961 -66.018416,48.786256 -66.019469,48.786049 -66.021252,48.785750 -66.023854,48.785253 -66.028480,48.784918 -66.030595,48.785117 -66.032862,48.785452 -66.035875,48.786151 -66.037250,48.786663 -66.040878,48.788205 -66.043722,48.789819 -66.043962,48.790091 -66.044272,48.790258 -66.046631,48.792269 -66.046687,48.792338 -66.047010,48.792608 -66.048245,48.793769 -66.048478,48.793917 -66.050663,48.794944 -66.052977,48.796320 -66.053000,48.796346 -66.053035,48.796364 -66.056393,48.798911 -66.056404,48.798924 -66.057070,48.799468 -66.066775,48.808128 -66.076189,48.816257 -66.077774,48.816678 -66.078139,48.816849 -66.078668,48.816941 -66.081023,48.817909 -66.082203,48.818512 -66.084071,48.819669 -66.086415,48.822131 -66.087141,48.823271 -66.087218,48.823571 -66.087493,48.823884 -66.093217,48.835080 -66.093227,48.835132 -66.093832,48.836866 -66.095663,48.846767 -66.096027,48.847841 -66.098219,48.852439 -66.098255,48.852636 -66.098367,48.852773 -66.099004,48.854315 -66.099058,48.854663 -66.099387,48.855610 -66.099751,48.857622 -66.099755,48.857695 -66.100758,48.858621 -66.100830,48.858713 -66.101063,48.858914 -66.104945,48.862809 -66.106163,48.863533 -66.107699,48.865070 -66.107707,48.865075 -66.107730,48.865100 -66.108270,48.865641 -66.108542,48.866021 -66.110383,48.868105 -66.110879,48.869332 -66.111333,48.870890 -66.111336,48.870927 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-60.335360,50.131755 -60.184363,50.251842</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-60.207708,50.251293 -60.203955,50.250754 -60.199709,50.249654 -60.197314,50.248476 -60.196258,50.247830 -60.194607,50.246623 -60.194452,50.246408 -60.193673,50.246135 -60.189628,50.243749 -60.187763,50.241505 -60.185997,50.238386 -60.185549,50.237433 -60.185542,50.237330 -60.185480,50.237241 -60.184750,50.235109 -60.184739,50.234893 -60.184423,50.233272 -60.184363,50.229781 -60.184527,50.228315 -60.184526,50.228304 -60.185046,50.226139 -60.185050,50.226132 -60.185050,50.226125 -60.185700,50.224482 -60.187974,50.220391 -60.188173,50.220122 -60.188273,50.219899 -60.191197,50.215472 -60.191390,50.215230 -60.191443,50.215120 -60.193118,50.212858 -60.193811,50.212035 -60.194607,50.211284 -60.198000,50.208406 -60.198243,50.208253 -60.198678,50.207875 -60.203245,50.204558 -60.203608,50.204345 -60.203869,50.204133 -60.208339,50.201281 -60.209120,50.200853 -60.209288,50.200728 -60.214249,50.198093 -60.227723,50.190073 -60.234117,50.186185 -60.234375,50.186047 -60.234452,50.185988 -60.240449,50.182569 -60.240848,50.182362 -60.240906,50.182319 -60.244427,50.180478 -60.247014,50.178700 -60.247686,50.178057 -60.248896,50.176129 -60.250743,50.172391 -60.251733,50.170002 -60.252453,50.167183 -60.252470,50.167153 -60.252784,50.166220 -60.254511,50.162240 -60.254661,50.162017 -60.254820,50.161616 -60.255866,50.159742 -60.257086,50.158100 -60.257320,50.157936 -60.257432,50.157752 -60.258617,50.156620 -60.258712,50.156556 -60.259182,50.156118 -60.261902,50.153868 -60.262378,50.153368 -60.262807,50.151711 -60.263612,50.147757 -60.263783,50.147445 -60.263773,50.147136 -60.264474,50.144912 -60.266238,50.142016 -60.269944,50.139420 -60.274596,50.137985 -60.309406,50.131961 -60.309567,50.131955 -60.309722,50.131909 -60.315198,50.131755 -60.320348,50.132959 -60.323565,50.134683 -60.325825,50.136318 -60.326649,50.136974 -60.328043,50.138484 -60.331372,50.143049 -60.331660,50.143573 -60.331877,50.143835 -60.333162,50.146140 -60.333582,50.147037 -60.333871,50.148032 -60.335011,50.153717 -60.335009,50.153824 -60.335068,50.154052 -60.335360,50.156110 -60.335255,50.158298 -60.335139,50.158504 -60.335145,50.158699 -60.332986,50.165638 -60.332061,50.168672 -60.331845,50.170664 -60.332055,50.171741 -60.332002,50.174236 -60.331840,50.174522 -60.331846,50.174779 -60.331460,50.175922 -60.330958,50.176731 -60.330355,50.177968 -60.326908,50.182503 -60.326348,50.183162 -60.326340,50.183177 -60.319404,50.190624 -60.315519,50.194980 -60.312808,50.198445 -60.312264,50.199075 -60.312185,50.199131 -60.312145,50.199199 -60.309930,50.201460 -60.309858,50.201509 -60.308905,50.202374 -60.306530,50.204235 -60.303965,50.205795 -60.303811,50.205841 -60.303702,50.205915 -60.299733,50.207694 -60.299387,50.207795 -60.297120,50.208618 -60.290814,50.210315 -60.290116,50.210463 -60.289877,50.210543 -60.287862,50.210979 -60.284470,50.212187 -60.284463,50.212189 -60.284462,50.212189 -60.284440,50.212198 -60.284354,50.212228 -60.284310,50.212244 -60.283823,50.212417 -60.283793,50.212428 -60.282760,50.212795 -60.282632,50.212841 -60.279301,50.214026 -60.278124,50.214445 -60.277536,50.214654 -60.273887,50.217031 -60.268989,50.222429 -60.268901,50.222491 -60.268854,50.222575 -60.267303,50.223914 -60.261103,50.228349 -60.258939,50.229606 -60.254028,50.231081 -60.250085,50.231712 -60.247817,50.232320 -60.245121,50.234160 -60.238864,50.242527 -60.238198,50.243315 -60.235829,50.245191 -60.232669,50.247103 -60.231511,50.247720 -60.231464,50.247754 -60.229479,50.248709 -60.229349,50.248748 -60.229250,50.248817 -60.228295,50.249258 -60.228093,50.249318 -60.224992,50.250389 -60.221293,50.251274 -60.219697,50.251589 -60.216049,50.251842 -60.212222,50.251786 -60.210379,50.251681 -60.209151,50.251523 -60.207708,50.251293 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-66.425840,50.072375 -66.346341,50.108782</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-66.377962,50.074253 -66.381632,50.072864 -66.387051,50.072375 -66.390719,50.072831 -66.393109,50.073348 -66.394036,50.073285 -66.396312,50.073249 -66.400418,50.073933 -66.407647,50.073524 -66.409674,50.073503 -66.414973,50.074385 -66.419343,50.076505 -66.422122,50.079539 -66.422884,50.083027 -66.422882,50.083037 -66.425077,50.085434 -66.425840,50.088922 -66.424470,50.092332 -66.421176,50.095145 -66.420870,50.095261 -66.420677,50.095419 -66.412533,50.099672 -66.412515,50.099678 -66.412506,50.099686 -66.410992,50.100473 -66.409756,50.101278 -66.408578,50.101884 -66.407955,50.102171 -66.406437,50.103063 -66.406365,50.103091 -66.406313,50.103135 -66.401594,50.104922 -66.396170,50.105412 -66.391509,50.104635 -66.389096,50.105679 -66.385887,50.106711 -66.380463,50.107199 -66.379662,50.107066 -66.373742,50.108334 -66.368501,50.108782 -66.363199,50.107897 -66.358828,50.105775 -66.356053,50.102738 -66.355295,50.099250 -66.355409,50.098511 -66.355930,50.096132 -66.350413,50.092573 -66.350216,50.092370 -66.349871,50.092203 -66.347097,50.089166 -66.346341,50.085678 -66.347717,50.082269 -66.351015,50.079458 -66.355734,50.077673 -66.355888,50.077659 -66.356016,50.077612 -66.370538,50.074578 -66.375675,50.074151 -66.376490,50.074275 -66.377962,50.074253 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-70.155476,47.615829 -70.086085,47.665435</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-70.124044,47.617144 -70.126188,47.616172 -70.128718,47.615829 -70.131250,47.616166 -70.131778,47.616332 -70.144011,47.620627 -70.145632,47.621428 -70.147070,47.622877 -70.147579,47.624588 -70.147303,47.625873 -70.146631,47.627399 -70.146398,47.628015 -70.147332,47.629057 -70.147779,47.629654 -70.148282,47.631183 -70.148425,47.633465 -70.148994,47.634794 -70.149568,47.635532 -70.149745,47.635786 -70.150939,47.636148 -70.152906,47.637061 -70.154068,47.638116 -70.154600,47.638787 -70.154877,47.639181 -70.155386,47.640892 -70.155142,47.642104 -70.154805,47.642920 -70.154479,47.644349 -70.154421,47.645360 -70.154530,47.646224 -70.155070,47.647972 -70.155143,47.648448 -70.155196,47.648600 -70.155373,47.650479 -70.155342,47.650606 -70.155387,47.650755 -70.155245,47.651684 -70.154649,47.653602 -70.154837,47.654115 -70.154845,47.654158 -70.154873,47.654217 -70.155317,47.655559 -70.155476,47.656525 -70.154977,47.658238 -70.153547,47.659691 -70.151560,47.660617 -70.150673,47.660885 -70.150590,47.660897 -70.150514,47.660932 -70.147981,47.661276 -70.145447,47.660938 -70.144736,47.660706 -70.142506,47.659863 -70.139826,47.658913 -70.138489,47.658471 -70.136728,47.657622 -70.136210,47.657101 -70.134796,47.656911 -70.133007,47.656170 -70.132156,47.655677 -70.129740,47.655558 -70.129042,47.655447 -70.128769,47.655484 -70.128522,47.655604 -70.128276,47.655840 -70.126945,47.656645 -70.125072,47.657443 -70.124900,47.657466 -70.124770,47.657522 -70.122638,47.658040 -70.119957,47.658934 -70.119954,47.658935 -70.119951,47.658936 -70.118103,47.659551 -70.117898,47.659760 -70.115806,47.660716 -70.113942,47.661253 -70.113852,47.661265 -70.113778,47.661298 -70.112269,47.661701 -70.112147,47.661717 -70.110997,47.661945 -70.107235,47.662397 -70.105338,47.662684 -70.104320,47.663103 -70.104049,47.663197 -70.103956,47.663243 -70.103391,47.663444 -70.102889,47.663796 -70.102841,47.663818 -70.102807,47.663853 -70.102322,47.664058 -70.100661,47.664824 -70.100437,47.664855 -70.100274,47.664923 -70.099120,47.665192 -70.096973,47.665435 -70.094439,47.665097 -70.092289,47.664129 -70.092151,47.663989 -70.091983,47.663908 -70.087723,47.660619 -70.086592,47.659390 -70.086085,47.657679 -70.086587,47.655967 -70.087230,47.655160 -70.088917,47.653483 -70.089174,47.653273 -70.089273,47.653161 -70.091226,47.651551 -70.091660,47.651227 -70.093036,47.650513 -70.095788,47.649440 -70.095937,47.649390 -70.095986,47.649366 -70.098905,47.648315 -70.101351,47.646731 -70.101404,47.646707 -70.101947,47.646387 -70.105867,47.644391 -70.108278,47.642996 -70.109330,47.642126 -70.110291,47.640866 -70.112726,47.637381 -70.112759,47.637349 -70.112768,47.637321 -70.116676,47.631936 -70.118394,47.629173 -70.119251,47.624989 -70.119326,47.624802 -70.119364,47.624579 -70.120250,47.622029 -70.120575,47.621347 -70.120725,47.621194 -70.120776,47.621048 -70.122816,47.618297 -70.124044,47.617144 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-70.380278,47.129194 -70.333584,47.159591</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-70.353333,47.158267 -70.351217,47.159242 -70.348715,47.159591 -70.346208,47.159260 -70.344078,47.158299 -70.343981,47.158201 -70.343856,47.158142 -70.335301,47.151768 -70.334094,47.150482 -70.333584,47.148776 -70.334070,47.147066 -70.335233,47.145865 -70.335388,47.145321 -70.336072,47.144462 -70.336687,47.143858 -70.337411,47.143264 -70.337930,47.142943 -70.338897,47.142406 -70.339514,47.142154 -70.339959,47.141788 -70.340496,47.141457 -70.342078,47.140585 -70.342175,47.140545 -70.342353,47.140441 -70.343419,47.139914 -70.344529,47.138768 -70.346644,47.137793 -70.347706,47.137645 -70.348534,47.137066 -70.349129,47.136561 -70.349145,47.136549 -70.349150,47.136544 -70.350029,47.135806 -70.350455,47.135482 -70.350478,47.135471 -70.350493,47.135456 -70.351284,47.134919 -70.351299,47.134912 -70.351768,47.134622 -70.352735,47.134085 -70.352891,47.134022 -70.353532,47.133469 -70.353677,47.133402 -70.353765,47.133316 -70.354732,47.132712 -70.354933,47.132624 -70.355593,47.132258 -70.357263,47.131520 -70.357282,47.131513 -70.357296,47.131506 -70.358526,47.130969 -70.358649,47.130925 -70.358716,47.130890 -70.360210,47.130286 -70.361007,47.130012 -70.361226,47.129981 -70.361384,47.129913 -70.362791,47.129578 -70.363324,47.129515 -70.364222,47.129355 -70.365979,47.129221 -70.366671,47.129194 -70.369176,47.129524 -70.369231,47.129549 -70.369292,47.129557 -70.370434,47.129892 -70.370667,47.129999 -70.371152,47.129932 -70.373658,47.130262 -70.375685,47.131154 -70.376827,47.131892 -70.376903,47.131966 -70.377014,47.132017 -70.378068,47.132755 -70.378640,47.133343 -70.379357,47.134050 -70.379708,47.134586 -70.379724,47.134634 -70.379766,47.134677 -70.380278,47.136383 -70.379794,47.138093 -70.378388,47.139546 -70.377648,47.139985 -70.373377,47.142160 -70.372582,47.142636 -70.371030,47.143767 -70.365468,47.148471 -70.365377,47.148540 -70.365358,47.148561 -70.363612,47.149960 -70.353687,47.158002 -70.353333,47.158267 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-70.372549,47.199376 -70.352758,47.210988</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-70.365699,47.199376 -70.368208,47.199706 -70.370341,47.200666 -70.370465,47.200791 -70.370618,47.200865 -70.370882,47.201066 -70.372037,47.202310 -70.372549,47.204017 -70.372064,47.205727 -70.371331,47.206484 -70.371309,47.206591 -70.371133,47.206994 -70.370920,47.207405 -70.369512,47.208859 -70.368052,47.209615 -70.367172,47.209951 -70.366514,47.210170 -70.365918,47.210318 -70.364334,47.210653 -70.363395,47.210752 -70.362819,47.210845 -70.361412,47.210908 -70.360445,47.210969 -70.359872,47.210988 -70.357362,47.210657 -70.355369,47.209789 -70.354841,47.209453 -70.354787,47.209400 -70.354701,47.209362 -70.353270,47.207918 -70.352758,47.206212 -70.353244,47.204501 -70.353591,47.204010 -70.354031,47.203473 -70.355093,47.202511 -70.357211,47.201536 -70.358550,47.201262 -70.358950,47.201211 -70.359835,47.200843 -70.360604,47.200518 -70.361523,47.200194 -70.361546,47.200191 -70.361566,47.200182 -70.363238,47.199712 -70.365699,47.199376 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-70.404401,47.193736 -70.388397,47.204880</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-70.400765,47.194470 -70.402455,47.195293 -70.403887,47.196736 -70.404401,47.198442 -70.404129,47.199742 -70.403866,47.200346 -70.403654,47.200757 -70.402246,47.202211 -70.402019,47.202316 -70.401889,47.202439 -70.401651,47.202581 -70.401293,47.202915 -70.400663,47.203419 -70.398546,47.204395 -70.397437,47.204637 -70.396557,47.204772 -70.395162,47.204880 -70.392652,47.204550 -70.390519,47.203591 -70.389087,47.202148 -70.388731,47.201390 -70.388643,47.201122 -70.388571,47.200689 -70.388507,47.200510 -70.388419,47.199772 -70.388453,47.199620 -70.388397,47.199435 -70.388881,47.197724 -70.389319,47.197125 -70.389847,47.196521 -70.390423,47.196014 -70.390590,47.195831 -70.391382,47.195227 -70.391509,47.195165 -70.391608,47.195062 -70.393725,47.194086 -70.396228,47.193736 -70.396247,47.193739 -70.396265,47.193736 -70.397056,47.193736 -70.399529,47.194066 -70.399757,47.194168 -70.399973,47.194202 -70.400765,47.194470 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-70.455856,47.221582 -70.384660,47.270367</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-70.434429,47.221933 -70.436934,47.221582 -70.439445,47.221911 -70.440178,47.222151 -70.440721,47.222358 -70.441511,47.222254 -70.442987,47.222361 -70.444747,47.222630 -70.445783,47.222851 -70.445885,47.222896 -70.445993,47.222912 -70.448634,47.223717 -70.450560,47.224614 -70.450990,47.224933 -70.452222,47.225939 -70.452391,47.226128 -70.452732,47.226417 -70.453789,47.227558 -70.454283,47.228203 -70.454302,47.228265 -70.454350,47.228314 -70.454966,47.229388 -70.454980,47.229437 -70.455201,47.229878 -70.455641,47.231019 -70.455856,47.232124 -70.455816,47.232650 -70.455640,47.233724 -70.455198,47.234908 -70.454380,47.235897 -70.453843,47.236387 -70.453309,47.237111 -70.452687,47.237702 -70.452339,47.238081 -70.451234,47.238923 -70.450167,47.240007 -70.449789,47.240322 -70.449687,47.240436 -70.448672,47.241238 -70.448508,47.241320 -70.448373,47.241459 -70.446325,47.242416 -70.446056,47.242496 -70.445702,47.242766 -70.443946,47.244232 -70.443532,47.244547 -70.441414,47.245524 -70.440024,47.245719 -70.439121,47.246255 -70.438687,47.246439 -70.437985,47.247165 -70.437240,47.247607 -70.436226,47.248122 -70.434013,47.249286 -70.432257,47.250450 -70.432155,47.250495 -70.431289,47.250979 -70.429792,47.251650 -70.429690,47.251688 -70.429624,47.251723 -70.428677,47.252120 -70.428388,47.252341 -70.428286,47.252509 -70.426890,47.253944 -70.425197,47.254786 -70.425148,47.254803 -70.423502,47.255918 -70.423312,47.256005 -70.423206,47.256107 -70.419507,47.258320 -70.419052,47.258514 -70.418380,47.258863 -70.415561,47.259937 -70.415397,47.259991 -70.415357,47.260011 -70.412641,47.260962 -70.410242,47.262231 -70.406166,47.264932 -70.405219,47.265833 -70.403921,47.267254 -70.403017,47.268034 -70.402109,47.268556 -70.400699,47.269226 -70.399487,47.269682 -70.398707,47.269867 -70.396944,47.270202 -70.395217,47.270367 -70.392884,47.270085 -70.391299,47.269682 -70.391218,47.269648 -70.391118,47.269634 -70.390442,47.269310 -70.388981,47.268675 -70.388855,47.268548 -70.388700,47.268474 -70.387731,47.267735 -70.386578,47.266493 -70.386207,47.265688 -70.385767,47.264279 -70.385715,47.263949 -70.385656,47.263791 -70.385393,47.261979 -70.385381,47.261822 -70.385371,47.261795 -70.385202,47.259777 -70.385034,47.258427 -70.385033,47.258414 -70.385032,47.258410 -70.384769,47.256196 -70.384787,47.256115 -70.384752,47.256008 -70.384665,47.254466 -70.384683,47.254396 -70.384660,47.254319 -70.384680,47.253946 -70.384857,47.252403 -70.385322,47.251065 -70.385338,47.251049 -70.385343,47.251030 -70.386578,47.249018 -70.386657,47.248937 -70.387521,47.247938 -70.388314,47.247267 -70.388758,47.246928 -70.389208,47.246645 -70.389755,47.246333 -70.389845,47.246188 -70.391225,47.244781 -70.392942,47.243931 -70.393224,47.243835 -70.393654,47.243082 -70.393682,47.243052 -70.393692,47.243015 -70.395101,47.241561 -70.395582,47.241261 -70.397489,47.240185 -70.399389,47.238627 -70.399769,47.238341 -70.399809,47.238323 -70.399834,47.238297 -70.402036,47.236821 -70.402055,47.236813 -70.402421,47.236583 -70.403830,47.235778 -70.405498,47.235084 -70.408004,47.234733 -70.409958,47.234928 -70.410926,47.235129 -70.411421,47.235249 -70.413818,47.233271 -70.414127,47.233037 -70.414140,47.233024 -70.416781,47.231145 -70.416823,47.231126 -70.416852,47.231096 -70.417423,47.230745 -70.419807,47.229447 -70.421504,47.228462 -70.423069,47.227497 -70.423332,47.227383 -70.424008,47.227016 -70.425472,47.226396 -70.426088,47.226110 -70.426601,47.225659 -70.427117,47.225257 -70.427349,47.225150 -70.427481,47.225025 -70.429066,47.224086 -70.429340,47.223969 -70.429877,47.223675 -70.431286,47.223072 -70.431614,47.222956 -70.431724,47.222900 -70.433147,47.222390 -70.433779,47.222149 -70.434429,47.221933 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-70.492172,47.027544 -70.458505,47.056194</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-70.476352,47.051733 -70.476352,47.051733 -70.476352,47.051733 -70.476352,47.051733 -70.476352,47.051733 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-70.462073,47.051061 -70.462088,47.051035 -70.461645,47.050851 -70.460448,47.050214 -70.459019,47.048773 -70.458505,47.047068 -70.458984,47.045358 -70.459817,47.044354 -70.459887,47.044290 -70.460186,47.043223 -70.461587,47.041769 -70.461692,47.041720 -70.461758,47.041654 -70.462081,47.041446 -70.461866,47.040603 -70.461895,47.040499 -70.461871,47.040406 -70.461958,47.038804 -70.461707,47.037223 -70.461669,47.036772 -70.461704,47.036281 -70.461994,47.034370 -70.462439,47.033151 -70.462556,47.033030 -70.462595,47.032910 -70.463203,47.032038 -70.463449,47.031798 -70.463904,47.031253 -70.464739,47.030504 -70.465282,47.030077 -70.465354,47.030044 -70.465399,47.029998 -70.466123,47.029521 -70.468112,47.028623 -70.468748,47.028533 -70.470121,47.027896 -70.472615,47.027544 -70.475115,47.027872 -70.476444,47.028371 -70.479301,47.029761 -70.489353,47.034505 -70.490226,47.034999 -70.491656,47.036439 -70.492172,47.038144 -70.491860,47.039540 -70.489056,47.045512 -70.488941,47.045642 -70.488890,47.045826 -70.488587,47.046266 -70.485781,47.049823 -70.485698,47.049900 -70.485571,47.050071 -70.481887,47.054098 -70.481001,47.054865 -70.478893,47.055842 -70.476399,47.056194 -70.473897,47.055867 -70.472965,47.055547 -70.472148,47.055208 -70.472102,47.055257 -70.471724,47.054963 -70.467609,47.053052 -70.463364,47.051362 -70.462073,47.051061 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-72.761369,46.140660 -72.632400,46.253733</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-72.658896,46.253325 -72.656465,46.253733 -72.653994,46.253466 -72.653150,46.253202 -72.651145,46.252449 -72.649854,46.251810 -72.648391,46.250425 -72.647805,46.249558 -72.647802,46.249549 -72.647794,46.249541 -72.647260,46.248279 -72.647079,46.247370 -72.646894,46.246452 -72.646148,46.245625 -72.645957,46.245382 -72.645910,46.245339 -72.645102,46.244276 -72.644860,46.244120 -72.644654,46.243923 -72.643507,46.242869 -72.642591,46.241608 -72.639451,46.239049 -72.637721,46.237826 -72.637673,46.237778 -72.637622,46.237754 -72.634529,46.235467 -72.633388,46.234294 -72.632804,46.232664 -72.632404,46.227498 -72.632410,46.227470 -72.632400,46.227442 -72.632786,46.225728 -72.634089,46.224247 -72.636108,46.223225 -72.636183,46.223212 -72.636242,46.223183 -72.638252,46.222576 -72.639380,46.221849 -72.640338,46.220734 -72.640372,46.220660 -72.640434,46.220588 -72.640454,46.220496 -72.641249,46.219449 -72.643468,46.217284 -72.642899,46.212769 -72.642918,46.212673 -72.642880,46.212565 -72.643110,46.211669 -72.643266,46.210851 -72.643341,46.210766 -72.643363,46.210679 -72.644932,46.208053 -72.644683,46.207645 -72.644181,46.206094 -72.644246,46.205254 -72.645282,46.200442 -72.645603,46.199568 -72.646474,46.198448 -72.676120,46.170713 -72.676549,46.170353 -72.678492,46.169354 -72.686650,46.166635 -72.686704,46.163015 -72.687093,46.161533 -72.688392,46.160052 -72.690407,46.159029 -72.692832,46.158619 -72.693012,46.158639 -72.693166,46.158616 -72.702008,46.158678 -72.727539,46.141874 -72.729240,46.141071 -72.731664,46.140660 -72.734130,46.140926 -72.736261,46.141827 -72.736417,46.141975 -72.736597,46.142058 -72.759639,46.159099 -72.760778,46.160268 -72.761369,46.161953 -72.760988,46.163667 -72.760869,46.163843 -72.760678,46.168863 -72.760293,46.170268 -72.759877,46.170902 -72.758348,46.172816 -72.758320,46.172843 -72.759005,46.173616 -72.759593,46.175245 -72.759671,46.176210 -72.759665,46.176238 -72.759675,46.176266 -72.759293,46.177980 -72.758131,46.179358 -72.756965,46.180298 -72.756887,46.180339 -72.756831,46.180402 -72.754817,46.181427 -72.752391,46.181838 -72.751577,46.181827 -72.748578,46.181651 -72.746924,46.181397 -72.745858,46.181046 -72.740876,46.178998 -72.739695,46.179247 -72.733835,46.181127 -72.731487,46.181952 -72.722146,46.188571 -72.719382,46.190621 -72.715679,46.194405 -72.713119,46.197374 -72.712955,46.197526 -72.712867,46.197644 -72.711191,46.199302 -72.710665,46.199756 -72.710212,46.200066 -72.706075,46.202629 -72.704896,46.203167 -72.704640,46.203300 -72.701655,46.204320 -72.701586,46.204332 -72.701525,46.204363 -72.699918,46.204712 -72.695293,46.205267 -72.694472,46.205328 -72.694311,46.205310 -72.694170,46.205332 -72.689740,46.205316 -72.682157,46.206020 -72.679552,46.206759 -72.676244,46.208137 -72.677638,46.208752 -72.678540,46.209233 -72.678690,46.209375 -72.678864,46.209455 -72.680423,46.210602 -72.680662,46.210847 -72.681169,46.211268 -72.682966,46.213230 -72.683371,46.213744 -72.683887,46.214919 -72.684358,46.216981 -72.684431,46.217491 -72.684334,46.218471 -72.683824,46.220422 -72.683715,46.220701 -72.683697,46.220808 -72.682087,46.224871 -72.681947,46.225174 -72.681945,46.225183 -72.680858,46.227303 -72.680843,46.227320 -72.680839,46.227340 -72.680412,46.227984 -72.678954,46.229790 -72.678008,46.231748 -72.678237,46.235058 -72.678460,46.237303 -72.678448,46.237361 -72.678470,46.237423 -72.678085,46.239137 -72.677719,46.239705 -72.672338,46.246688 -72.671587,46.247423 -72.671490,46.247535 -72.671457,46.247561 -72.671431,46.247574 -72.671403,46.247602 -72.671384,46.247612 -72.671370,46.247628 -72.670125,46.248355 -72.659671,46.253029 -72.658896,46.253325 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-73.607858,45.402463 -73.558375,45.439647</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-73.586119,45.439215 -73.583741,45.439647 -73.581309,45.439405 -73.580523,45.439168 -73.564963,45.433563 -73.563635,45.432922 -73.562160,45.431540 -73.561571,45.430078 -73.558399,45.408587 -73.558416,45.408487 -73.558375,45.408376 -73.558719,45.406664 -73.559967,45.405176 -73.561928,45.404137 -73.564305,45.403706 -73.564959,45.403704 -73.569146,45.403847 -73.569149,45.403847 -73.569157,45.403847 -73.569949,45.403875 -73.569999,45.403882 -73.570124,45.403883 -73.575796,45.404195 -73.589908,45.404138 -73.591715,45.403948 -73.597321,45.403101 -73.599956,45.402606 -73.601225,45.402463 -73.603654,45.402704 -73.605768,45.403582 -73.607244,45.404963 -73.607858,45.406637 -73.607553,45.408271 -73.607135,45.409166 -73.607127,45.409175 -73.607125,45.409186 -73.606250,45.411030 -73.605808,45.422615 -73.605458,45.423959 -73.604610,45.425099 -73.599633,45.429926 -73.599332,45.430189 -73.599316,45.430209 -73.593574,45.434918 -73.593525,45.434944 -73.593492,45.434984 -73.592841,45.435428 -73.587430,45.438619 -73.586119,45.439215 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-73.919733,45.310263 -73.879959,45.332460</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-73.894727,45.310703 -73.897096,45.310263 -73.899522,45.310496 -73.900541,45.310818 -73.901193,45.311076 -73.901512,45.311134 -73.901988,45.311235 -73.901994,45.311237 -73.902002,45.311238 -73.902132,45.311270 -73.903217,45.311068 -73.905644,45.311301 -73.905677,45.311315 -73.905715,45.311319 -73.907841,45.311856 -73.907940,45.311897 -73.908430,45.311929 -73.910726,45.312331 -73.911256,45.312442 -73.911361,45.312485 -73.911625,45.312499 -73.913411,45.312767 -73.914147,45.312911 -73.916262,45.313781 -73.917745,45.315157 -73.918369,45.316827 -73.918292,45.317840 -73.918066,45.318777 -73.918095,45.319205 -73.918665,45.321059 -73.918696,45.321218 -73.919109,45.321600 -73.919733,45.323271 -73.919403,45.324983 -73.919127,45.325458 -73.916067,45.329956 -73.915109,45.330974 -73.913159,45.332020 -73.910790,45.332460 -73.908362,45.332227 -73.907148,45.331826 -73.904171,45.330551 -73.903269,45.330082 -73.903250,45.330064 -73.903224,45.330053 -73.900727,45.328464 -73.900313,45.328231 -73.898471,45.327989 -73.894566,45.327647 -73.892738,45.327693 -73.891867,45.327776 -73.891660,45.327761 -73.891414,45.327807 -73.888987,45.327573 -73.886871,45.326702 -73.885984,45.326019 -73.884602,45.324700 -73.884007,45.324008 -73.883948,45.323850 -73.883946,45.323848 -73.883836,45.323738 -73.883803,45.323681 -73.883173,45.322946 -73.882901,45.322594 -73.882086,45.321414 -73.882045,45.321304 -73.881962,45.321223 -73.880997,45.319639 -73.880948,45.319492 -73.880671,45.318953 -73.880138,45.317433 -73.880075,45.317139 -73.880023,45.317022 -73.880016,45.316987 -73.879959,45.316604 -73.880290,45.314892 -73.881096,45.313918 -73.881204,45.313749 -73.882235,45.312620 -73.884184,45.311575 -73.886553,45.311136 -73.888766,45.311320 -73.889117,45.311396 -73.890144,45.311517 -73.890512,45.311551 -73.891957,45.311887 -73.891995,45.311902 -73.892023,45.311905 -73.892332,45.311734 -73.892792,45.311531 -73.892986,45.311418 -73.894261,45.310881 -73.894727,45.310703 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-74.356448,45.178977 -74.257847,45.232408</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-74.311441,45.181986 -74.315310,45.179878 -74.320024,45.178977 -74.324866,45.179421 -74.329101,45.181141 -74.330108,45.181837 -74.353194,45.199688 -74.355171,45.201727 -74.356448,45.205061 -74.355824,45.208486 -74.353392,45.211482 -74.349523,45.213592 -74.346456,45.214337 -74.344588,45.214606 -74.342938,45.214764 -74.338960,45.214504 -74.335649,45.213900 -74.335283,45.213763 -74.334780,45.213717 -74.333174,45.213245 -74.329948,45.212104 -74.329421,45.211854 -74.328808,45.211646 -74.328703,45.211599 -74.326823,45.213757 -74.322953,45.215865 -74.322744,45.215905 -74.322585,45.215989 -74.321412,45.216367 -74.321223,45.216463 -74.319472,45.217208 -74.318684,45.217427 -74.317850,45.217882 -74.317656,45.218121 -74.313784,45.220229 -74.312231,45.220526 -74.311618,45.221671 -74.309335,45.224364 -74.305718,45.226380 -74.303001,45.227387 -74.302864,45.227414 -74.302746,45.227478 -74.301387,45.227886 -74.301230,45.227925 -74.299165,45.228889 -74.299087,45.228904 -74.299024,45.228938 -74.298406,45.229148 -74.297077,45.229721 -74.296109,45.230098 -74.291389,45.230998 -74.291386,45.230998 -74.290165,45.231509 -74.285445,45.232408 -74.282872,45.232343 -74.281513,45.232209 -74.281252,45.232165 -74.280180,45.232341 -74.275332,45.231896 -74.274396,45.231621 -74.272275,45.231426 -74.268038,45.229702 -74.265119,45.227051 -74.259179,45.218793 -74.259160,45.218746 -74.259117,45.218707 -74.257847,45.215371 -74.258479,45.211946 -74.260917,45.208953 -74.264790,45.206846 -74.267157,45.206220 -74.271485,45.205415 -74.272993,45.205240 -74.273304,45.205176 -74.278481,45.204773 -74.278743,45.204794 -74.279028,45.204739 -74.280855,45.204654 -74.283512,45.203097 -74.284754,45.202237 -74.285670,45.200718 -74.287763,45.198361 -74.287940,45.198264 -74.288045,45.198140 -74.289997,45.196664 -74.290195,45.196560 -74.291329,45.195793 -74.293112,45.194786 -74.295368,45.193771 -74.296283,45.193482 -74.299847,45.192476 -74.300385,45.192389 -74.301507,45.192100 -74.301726,45.192062 -74.303381,45.190502 -74.304492,45.189085 -74.304635,45.188941 -74.304736,45.188789 -74.306348,45.186910 -74.306806,45.186467 -74.306947,45.186275 -74.310766,45.182583 -74.311441,45.181986 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-75.109506,45.588422 -75.072302,45.600831</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-75.072973,45.595273 -75.072302,45.593608 -75.072590,45.591890 -75.073792,45.590380 -75.075726,45.589307 -75.078097,45.588836 -75.078734,45.588823 -75.082292,45.588877 -75.082887,45.588767 -75.083993,45.588635 -75.085134,45.588684 -75.085610,45.588605 -75.086556,45.588501 -75.086711,45.588513 -75.086844,45.588489 -75.089664,45.588422 -75.090022,45.588457 -75.091036,45.588495 -75.092574,45.588696 -75.093361,45.588836 -75.094071,45.589054 -75.095364,45.589079 -75.097778,45.588762 -75.098434,45.588701 -75.100035,45.588755 -75.101658,45.588956 -75.102022,45.589019 -75.102116,45.589025 -75.103996,45.589360 -75.104162,45.589421 -75.104384,45.589439 -75.106536,45.590282 -75.107149,45.590702 -75.107918,45.591306 -75.108834,45.592243 -75.109506,45.593908 -75.109476,45.594822 -75.109305,45.595762 -75.109175,45.596170 -75.109160,45.596297 -75.108818,45.597237 -75.108733,45.597352 -75.108708,45.597506 -75.107507,45.599016 -75.105573,45.600089 -75.104172,45.600453 -75.102976,45.600655 -75.102006,45.600763 -75.100917,45.600758 -75.099891,45.600691 -75.098990,45.600561 -75.098776,45.600546 -75.097901,45.600375 -75.097784,45.600375 -75.096005,45.600701 -75.094912,45.600831 -75.092464,45.600629 -75.090541,45.599916 -75.090059,45.599654 -75.088589,45.599943 -75.087390,45.600093 -75.086888,45.600107 -75.085680,45.600107 -75.083184,45.600387 -75.082916,45.600409 -75.082889,45.600415 -75.082035,45.600482 -75.081937,45.600475 -75.081834,45.600496 -75.079387,45.600294 -75.077235,45.599450 -75.076446,45.598885 -75.075506,45.598080 -75.075210,45.597761 -75.075038,45.597621 -75.073243,45.595607 -75.072973,45.595273 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.185283,48.536186 -69.017689,48.735142</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.093683,48.637212 -69.096844,48.641024 -69.096895,48.644088 -69.094292,48.648087 -69.090707,48.650451 -69.086878,48.652405 -69.087164,48.658247 -69.088998,48.662499 -69.088862,48.665848 -69.087473,48.674262 -69.087810,48.683168 -69.087284,48.691829 -69.084531,48.701548 -69.081982,48.706242 -69.080864,48.707956 -69.078883,48.709424 -69.078442,48.711670 -69.076500,48.718572 -69.074008,48.723961 -69.072702,48.725961 -69.070288,48.727305 -69.068001,48.727669 -69.067746,48.729630 -69.065684,48.735142 -69.017792,48.726868 -69.017689,48.723108 -69.018931,48.710240 -69.021970,48.696193 -69.025321,48.680880 -69.028239,48.665444 -69.029630,48.646860 -69.029214,48.631827 -69.029092,48.607728 -69.028420,48.594657 -69.030692,48.589629 -69.030178,48.588045 -69.032366,48.581557 -69.038192,48.573402 -69.048885,48.563256 -69.061782,48.554421 -69.081034,48.538939 -69.085157,48.538089 -69.095063,48.536186 -69.114369,48.536296 -69.128322,48.537580 -69.142456,48.540945 -69.154255,48.543978 -69.170295,48.549913 -69.180249,48.555801 -69.185283,48.562991 -69.183860,48.568340 -69.180159,48.574054 -69.177013,48.578912 -69.171833,48.584544 -69.163456,48.587232 -69.151208,48.586445 -69.144002,48.588112 -69.133523,48.593246 -69.128090,48.598467 -69.124698,48.600546 -69.119025,48.602989 -69.110995,48.604142 -69.111149,48.603956 -69.110485,48.602589 -69.103889,48.600115 -69.099188,48.598476 -69.096035,48.597868 -69.095521,48.598122 -69.092446,48.599636 -69.090565,48.602187 -69.089193,48.604295 -69.088306,48.605659 -69.086721,48.607412 -69.085268,48.609645 -69.084178,48.615070 -69.083766,48.617747 -69.083963,48.622217 -69.084351,48.625712 -69.085700,48.629776 -69.086623,48.630824 -69.088125,48.632529 -69.089133,48.634731 -69.088700,48.636078 -69.089900,48.637304 -69.091397,48.637732 -69.093683,48.637212 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-71.238217,45.397520 -71.093465,45.498765</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-71.163140,45.498668 -71.163139,45.498668 -71.137453,45.498765 -71.135112,45.498456 -71.133954,45.498034 -71.128183,45.495360 -71.127273,45.494847 -71.127083,45.494673 -71.124276,45.494274 -71.123214,45.494054 -71.121146,45.493118 -71.119745,45.491697 -71.119224,45.490007 -71.119241,45.489942 -71.119224,45.489883 -71.119267,45.487049 -71.118188,45.487020 -71.116117,45.486714 -71.114050,45.485778 -71.112650,45.484357 -71.112129,45.482667 -71.112157,45.482557 -71.112131,45.482459 -71.112768,45.467436 -71.112771,45.467262 -71.099919,45.467237 -71.097626,45.466928 -71.095560,45.465992 -71.094160,45.464570 -71.093642,45.462924 -71.093466,45.458283 -71.093472,45.458262 -71.093465,45.458240 -71.093904,45.456539 -71.095234,45.455085 -71.097253,45.454101 -71.099654,45.453735 -71.099657,45.453735 -71.099660,45.453735 -71.099984,45.453731 -71.099696,45.445276 -71.099700,45.445260 -71.099695,45.445245 -71.100133,45.443543 -71.101463,45.442090 -71.102839,45.441418 -71.102756,45.438010 -71.102756,45.438009 -71.102756,45.438009 -71.103194,45.436308 -71.104523,45.434854 -71.106541,45.433869 -71.108941,45.433503 -71.108997,45.433510 -71.109050,45.433503 -71.125749,45.433503 -71.125653,45.423998 -71.125655,45.423989 -71.125653,45.423981 -71.125583,45.409293 -71.126021,45.407654 -71.127348,45.406200 -71.129365,45.405215 -71.131763,45.404848 -71.131810,45.404854 -71.131856,45.404848 -71.162873,45.404786 -71.163297,45.403234 -71.164624,45.401780 -71.166483,45.400870 -71.166624,45.400329 -71.167950,45.398875 -71.169965,45.397889 -71.172363,45.397521 -71.172442,45.397531 -71.172516,45.397520 -71.175903,45.397535 -71.178164,45.397842 -71.180228,45.398776 -71.181628,45.400196 -71.182151,45.401885 -71.182141,45.401921 -71.182152,45.401956 -71.182183,45.412015 -71.206034,45.412115 -71.208296,45.412421 -71.210362,45.413355 -71.211764,45.414774 -71.212287,45.416463 -71.212268,45.416540 -71.212288,45.416610 -71.211782,45.440887 -71.211347,45.442441 -71.210021,45.443896 -71.208471,45.444655 -71.207771,45.450812 -71.207539,45.451521 -71.207461,45.451875 -71.207378,45.452048 -71.207358,45.452071 -71.207356,45.452077 -71.207302,45.452136 -71.207273,45.452250 -71.206972,45.452711 -71.206740,45.453018 -71.206416,45.453464 -71.206416,45.453465 -71.206396,45.453520 -71.206387,45.453615 -71.206317,45.453947 -71.206299,45.454056 -71.206675,45.453872 -71.209075,45.453503 -71.209237,45.453523 -71.209379,45.453504 -71.219265,45.453709 -71.221380,45.454014 -71.223448,45.454947 -71.224737,45.456251 -71.226122,45.456299 -71.228113,45.456599 -71.230181,45.457533 -71.231585,45.458952 -71.232110,45.460641 -71.232081,45.460755 -71.232108,45.460855 -71.231608,45.472865 -71.232305,45.472895 -71.234216,45.473193 -71.236285,45.474126 -71.237689,45.475545 -71.238215,45.477234 -71.238204,45.477277 -71.238216,45.477318 -71.238217,45.485248 -71.237783,45.486866 -71.236456,45.488322 -71.236333,45.488382 -71.236289,45.493491 -71.235855,45.495082 -71.234528,45.496538 -71.232510,45.497526 -71.230693,45.497869 -71.223493,45.498439 -71.222907,45.498466 -71.220487,45.498161 -71.219339,45.497643 -71.216458,45.497532 -71.214499,45.497233 -71.214341,45.497161 -71.214182,45.497138 -71.213495,45.496918 -71.213461,45.496901 -71.213387,45.496924 -71.213386,45.496924 -71.213386,45.496924 -71.213377,45.496925 -71.210983,45.497293 -71.210783,45.497268 -71.210613,45.497290 -71.204191,45.497109 -71.202306,45.496830 -71.201110,45.497014 -71.200825,45.497001 -71.200780,45.497007 -71.197769,45.496955 -71.193891,45.498161 -71.193874,45.498163 -71.193861,45.498170 -71.193176,45.498272 -71.191458,45.498539 -71.191416,45.498533 -71.191376,45.498539 -71.180977,45.498578 -71.178639,45.498271 -71.177597,45.497800 -71.176676,45.498251 -71.174273,45.498619 -71.174236,45.498614 -71.174199,45.498619 -71.164531,45.498662 -71.164529,45.498662 -71.164528,45.498662 -71.164323,45.498663 -71.164323,45.498663 -71.163141,45.498668 -71.163140,45.498668 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.660788,53.188244 -78.755180,54.549711</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.072831,53.247182 -79.073314,53.247176 -79.099985,53.274147 -79.119191,53.303782 -79.111319,53.352166 -79.169471,53.395351 -79.236796,53.432249 -79.265168,53.470852 -79.254408,53.526439 -79.206027,53.564922 -79.151735,53.571977 -79.141003,53.597067 -79.181466,53.637534 -79.196236,53.693193 -79.202017,53.739867 -79.198859,53.762296 -79.171273,53.811599 -79.195247,53.861021 -79.213122,53.924797 -79.209787,53.977766 -79.192885,54.001978 -79.239942,54.043376 -79.290235,54.062308 -79.357371,54.087515 -79.416954,54.100106 -79.488840,54.129726 -79.544085,54.183577 -79.565753,54.240154 -79.584310,54.273374 -79.621524,54.339814 -79.647956,54.385601 -79.660788,54.463783 -79.656523,54.520436 -79.655570,54.520489 -79.655280,54.523231 -79.652908,54.526551 -79.647136,54.533326 -79.640099,54.538512 -79.626787,54.543644 -79.604798,54.547529 -79.579828,54.549293 -79.565117,54.549711 -79.547549,54.548872 -79.527927,54.547169 -79.508080,54.545994 -79.486862,54.543490 -79.471009,54.542040 -79.458920,54.540852 -79.456452,54.540408 -79.448543,54.540192 -79.434745,54.537344 -79.427903,54.535224 -79.423000,54.533102 -79.416844,54.529390 -79.412057,54.524749 -79.409208,54.521235 -79.402146,54.511753 -79.399870,54.505786 -79.397140,54.499753 -79.394865,54.493786 -79.395210,54.489610 -79.395364,54.486583 -79.395325,54.486527 -79.412320,54.431689 -79.364622,54.359765 -79.341615,54.322003 -79.269536,54.276995 -79.180800,54.225619 -79.070687,54.193876 -78.994122,54.190010 -78.989753,54.170227 -78.993245,54.132510 -78.947731,54.102678 -78.977034,54.080346 -78.907226,54.046807 -78.864814,54.025043 -78.871348,53.995441 -78.885523,53.963184 -78.878310,53.935313 -78.879186,53.874266 -78.829591,53.839894 -78.813243,53.818260 -78.832115,53.775281 -78.880712,53.767458 -78.906877,53.737072 -78.922484,53.701251 -78.915294,53.673401 -78.879542,53.637338 -78.845189,53.612936 -78.772963,53.601760 -78.755180,53.583709 -78.769300,53.551503 -78.807660,53.507779 -78.854363,53.503551 -78.895261,53.483132 -78.867256,53.444430 -78.812002,53.424402 -78.777885,53.399993 -78.788801,53.374953 -78.799703,53.349914 -78.822540,53.326736 -78.848676,53.281164 -78.811803,53.248693 -78.812908,53.248699 -78.809778,53.247058 -78.804788,53.239362 -78.804468,53.231241 -78.808838,53.221164 -78.816072,53.210381 -78.828073,53.201880 -78.840333,53.195724 -78.849836,53.192979 -78.874498,53.190673 -78.893453,53.188244 -78.907415,53.188492 -78.931432,53.189146 -78.950809,53.188693 -78.970458,53.190581 -78.994135,53.195008 -79.016741,53.201951 -79.031076,53.210302 -79.044372,53.218106 -79.058398,53.228708 -79.066887,53.237306 -79.070588,53.243632 -79.072831,53.247182 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-70.914429,45.235574 -70.805304,45.359195</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-70.881408,45.249828 -70.887358,45.250253 -70.890573,45.255530 -70.891261,45.256660 -70.892643,45.260484 -70.897152,45.264251 -70.895936,45.266407 -70.899686,45.271521 -70.902055,45.272812 -70.905565,45.272861 -70.907474,45.273398 -70.911522,45.274848 -70.913431,45.275384 -70.914429,45.277538 -70.913599,45.281365 -70.912458,45.282605 -70.910934,45.283739 -70.909410,45.284872 -70.907583,45.286545 -70.905755,45.288218 -70.904004,45.290537 -70.904320,45.294685 -70.903567,45.299159 -70.903040,45.302447 -70.901823,45.304604 -70.901523,45.306705 -70.900610,45.308323 -70.899241,45.310750 -70.898406,45.313014 -70.896580,45.316249 -70.896205,45.319268 -70.898201,45.323577 -70.896983,45.325734 -70.898593,45.328373 -70.900122,45.328802 -70.901043,45.330310 -70.903875,45.332355 -70.902809,45.334243 -70.903425,45.336290 -70.900831,45.337748 -70.898540,45.338667 -70.897931,45.339746 -70.895945,45.340125 -70.895031,45.341743 -70.893735,45.343253 -70.889073,45.342881 -70.884637,45.341322 -70.880437,45.343267 -70.877533,45.343700 -70.871806,45.346777 -70.863859,45.348293 -70.857824,45.350345 -70.856528,45.353418 -70.853473,45.355684 -70.849423,45.357357 -70.846673,45.359084 -70.840404,45.359195 -70.836427,45.358388 -70.831839,45.357096 -70.827403,45.353972 -70.822969,45.353973 -70.819377,45.356399 -70.814255,45.355269 -70.810354,45.350418 -70.811882,45.347723 -70.815396,45.343087 -70.816464,45.338075 -70.816157,45.333925 -70.813634,45.331338 -70.809126,45.330692 -70.806069,45.326705 -70.805304,45.320238 -70.807517,45.309298 -70.808355,45.302346 -70.811485,45.300729 -70.816905,45.298195 -70.821105,45.297817 -70.824387,45.297493 -70.831257,45.294742 -70.829116,45.290702 -70.826290,45.287093 -70.827737,45.282189 -70.830787,45.278362 -70.836736,45.274103 -70.837878,45.271301 -70.841765,45.266773 -70.844738,45.263862 -70.847253,45.261760 -70.849460,45.257071 -70.848541,45.254001 -70.843503,45.250394 -70.840219,45.246032 -70.838308,45.240807 -70.843947,45.237087 -70.851875,45.235574 -70.859807,45.237185 -70.871940,45.243102 -70.878505,45.247137 -70.881408,45.249828 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-63.742060,50.248901 -63.684538,50.285770</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-63.687953,50.258626 -63.688194,50.258343 -63.688412,50.258098 -63.690516,50.257981 -63.695927,50.257195 -63.700029,50.255879 -63.704698,50.254035 -63.706405,50.253339 -63.708133,50.252169 -63.709764,50.250965 -63.711097,50.249820 -63.712058,50.248919 -63.712387,50.248910 -63.712889,50.248903 -63.713391,50.248901 -63.713892,50.248905 -63.714394,50.248914 -63.714895,50.248929 -63.715396,50.248950 -63.715896,50.248976 -63.716395,50.249008 -63.716893,50.249046 -63.717391,50.249089 -63.717887,50.249137 -63.718381,50.249191 -63.718874,50.249251 -63.719366,50.249316 -63.719855,50.249387 -63.720343,50.249463 -63.720828,50.249544 -63.721311,50.249631 -63.721792,50.249723 -63.722270,50.249821 -63.722745,50.249924 -63.723218,50.250032 -63.723687,50.250146 -63.724153,50.250265 -63.724616,50.250389 -63.725076,50.250518 -63.725532,50.250652 -63.725984,50.250792 -63.726432,50.250936 -63.726877,50.251086 -63.727317,50.251240 -63.727753,50.251399 -63.728185,50.251563 -63.728612,50.251732 -63.729034,50.251906 -63.729452,50.252084 -63.729864,50.252267 -63.730272,50.252455 -63.730675,50.252647 -63.731072,50.252843 -63.731463,50.253044 -63.731850,50.253250 -63.732230,50.253459 -63.732605,50.253673 -63.732974,50.253891 -63.733337,50.254114 -63.733694,50.254340 -63.734045,50.254570 -63.734389,50.254804 -63.734727,50.255042 -63.735059,50.255283 -63.735383,50.255528 -63.735702,50.255777 -63.736013,50.256030 -63.736317,50.256285 -63.736615,50.256545 -63.736905,50.256807 -63.737188,50.257073 -63.737464,50.257342 -63.737732,50.257613 -63.737993,50.257888 -63.738247,50.258166 -63.738493,50.258446 -63.738731,50.258729 -63.738961,50.259015 -63.739184,50.259304 -63.739399,50.259594 -63.739606,50.259887 -63.739804,50.260183 -63.739995,50.260480 -63.740178,50.260780 -63.740352,50.261082 -63.740519,50.261385 -63.740676,50.261691 -63.740826,50.261998 -63.740967,50.262307 -63.741100,50.262617 -63.741224,50.262929 -63.741340,50.263242 -63.741448,50.263556 -63.741546,50.263871 -63.741636,50.264188 -63.741718,50.264505 -63.741791,50.264824 -63.741855,50.265143 -63.741910,50.265463 -63.741957,50.265783 -63.741995,50.266104 -63.742024,50.266425 -63.742045,50.266746 -63.742057,50.267068 -63.742060,50.267390 -63.742054,50.267712 -63.742039,50.268033 -63.742016,50.268355 -63.741984,50.268676 -63.741943,50.268996 -63.741894,50.269317 -63.741836,50.269636 -63.741769,50.269955 -63.741693,50.270273 -63.741609,50.270590 -63.741516,50.270906 -63.741415,50.271222 -63.741305,50.271535 -63.741186,50.271848 -63.741059,50.272159 -63.740924,50.272469 -63.740780,50.272777 -63.740627,50.273084 -63.740467,50.273389 -63.740298,50.273692 -63.740121,50.273993 -63.739936,50.274292 -63.739742,50.274589 -63.739541,50.274884 -63.739331,50.275176 -63.739114,50.275466 -63.738888,50.275754 -63.738655,50.276039 -63.738415,50.276321 -63.738166,50.276600 -63.737910,50.276877 -63.737647,50.277151 -63.737376,50.277422 -63.737097,50.277690 -63.736812,50.277954 -63.736519,50.278216 -63.736219,50.278474 -63.735912,50.278729 -63.735599,50.278980 -63.735278,50.279228 -63.734951,50.279472 -63.734617,50.279712 -63.734277,50.279949 -63.733930,50.280181 -63.733577,50.280410 -63.733218,50.280635 -63.732853,50.280856 -63.732482,50.281073 -63.732105,50.281285 -63.731722,50.281493 -63.731334,50.281697 -63.730940,50.281897 -63.730540,50.282092 -63.730136,50.282283 -63.729726,50.282469 -63.729312,50.282650 -63.728892,50.282827 -63.728468,50.282999 -63.728039,50.283166 -63.727605,50.283329 -63.727168,50.283486 -63.726726,50.283639 -63.726279,50.283787 -63.725829,50.283930 -63.725375,50.284067 -63.724918,50.284200 -63.724457,50.284327 -63.723992,50.284449 -63.723524,50.284566 -63.723054,50.284678 -63.722580,50.284785 -63.722103,50.284886 -63.721624,50.284982 -63.721142,50.285072 -63.720657,50.285157 -63.720171,50.285237 -63.719682,50.285311 -63.719191,50.285380 -63.718699,50.285443 -63.718205,50.285500 -63.717709,50.285553 -63.717213,50.285599 -63.716714,50.285640 -63.716215,50.285676 -63.715715,50.285705 -63.715214,50.285730 -63.714713,50.285748 -63.714211,50.285761 -63.713709,50.285769 -63.713207,50.285770 -63.712705,50.285767 -63.712203,50.285757 -63.711701,50.285742 -63.711200,50.285721 -63.710700,50.285695 -63.710200,50.285663 -63.709701,50.285626 -63.709203,50.285583 -63.708707,50.285534 -63.708212,50.285480 -63.707719,50.285420 -63.707227,50.285355 -63.706737,50.285284 -63.706249,50.285208 -63.705763,50.285127 -63.705280,50.285040 -63.704799,50.284947 -63.704320,50.284850 -63.703845,50.284746 -63.703372,50.284638 -63.702902,50.284524 -63.702435,50.284405 -63.701972,50.284281 -63.701512,50.284152 -63.701056,50.284018 -63.700603,50.283878 -63.700155,50.283733 -63.699710,50.283584 -63.699270,50.283429 -63.698833,50.283270 -63.698402,50.283106 -63.697974,50.282937 -63.697552,50.282763 -63.697134,50.282584 -63.696721,50.282401 -63.696313,50.282214 -63.695911,50.282021 -63.695513,50.281824 -63.695122,50.281623 -63.694735,50.281418 -63.694354,50.281208 -63.693980,50.280994 -63.693611,50.280776 -63.693248,50.280553 -63.692891,50.280327 -63.692540,50.280097 -63.692196,50.279863 -63.691858,50.279625 -63.691526,50.279383 -63.691202,50.279138 -63.690884,50.278889 -63.690572,50.278636 -63.690268,50.278380 -63.689971,50.278121 -63.689681,50.277858 -63.689398,50.277592 -63.689122,50.277323 -63.688854,50.277051 -63.688593,50.276776 -63.688340,50.276499 -63.688094,50.276218 -63.687856,50.275935 -63.687626,50.275649 -63.687404,50.275360 -63.687189,50.275069 -63.686983,50.274776 -63.686784,50.274481 -63.686594,50.274183 -63.686411,50.273883 -63.686237,50.273581 -63.686071,50.273278 -63.685914,50.272972 -63.685764,50.272665 -63.685624,50.272356 -63.685491,50.272046 -63.685367,50.271734 -63.685252,50.271421 -63.685145,50.271107 -63.685047,50.270791 -63.684957,50.270474 -63.684876,50.270157 -63.684804,50.269839 -63.684740,50.269519 -63.684685,50.269200 -63.684639,50.268879 -63.684601,50.268558 -63.684572,50.268237 -63.684552,50.267916 -63.684541,50.267594 -63.684538,50.267272 -63.684544,50.266951 -63.684559,50.266629 -63.684583,50.266308 -63.684616,50.265986 -63.684657,50.265666 -63.684707,50.265346 -63.684765,50.265026 -63.684833,50.264707 -63.684909,50.264389 -63.684993,50.264072 -63.685087,50.263756 -63.685188,50.263441 -63.685299,50.263127 -63.685418,50.262815 -63.685545,50.262503 -63.685681,50.262194 -63.685825,50.261885 -63.685978,50.261579 -63.686139,50.261274 -63.686308,50.260971 -63.686486,50.260670 -63.686671,50.260371 -63.686865,50.260075 -63.687067,50.259780 -63.687277,50.259488 -63.687494,50.259198 -63.687720,50.258910 -63.687953,50.258626 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.063618,50.168392 -63.513664,50.303901</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-63.513664,50.218602 -63.513728,50.217980 -63.513803,50.217814 -63.513778,50.216581 -63.513846,50.216439 -63.513833,50.216352 -63.513997,50.216009 -63.513961,50.215667 -63.514016,50.215438 -63.517064,50.209616 -63.517642,50.209050 -63.518063,50.208249 -63.525063,50.202819 -63.525429,50.202695 -63.525475,50.202659 -63.525619,50.202610 -63.525681,50.202562 -63.526224,50.202378 -63.526598,50.202102 -63.526804,50.202005 -63.529947,50.201001 -63.532086,50.196539 -63.532616,50.196087 -63.532977,50.195334 -63.539973,50.189903 -63.546090,50.187467 -63.546963,50.187212 -63.550544,50.186349 -63.559000,50.185592 -63.559459,50.185596 -63.561930,50.185687 -63.562990,50.185896 -63.563014,50.185895 -63.563421,50.185931 -63.567456,50.186776 -63.572422,50.187755 -63.572615,50.187857 -63.572929,50.187923 -63.575233,50.189145 -63.577411,50.190082 -63.577664,50.190215 -63.579604,50.191463 -63.581392,50.192411 -63.583101,50.194478 -63.584657,50.193842 -63.586038,50.193553 -63.586057,50.193546 -63.585502,50.194970 -63.585075,50.198584 -63.585842,50.202715 -63.587930,50.206049 -63.589746,50.208348 -63.591960,50.210367 -63.597895,50.213774 -63.602120,50.215338 -63.605480,50.216185 -63.609492,50.216838 -63.616669,50.217016 -63.624020,50.216210 -63.631184,50.213876 -63.637782,50.209884 -63.640613,50.206891 -63.643082,50.201998 -63.643696,50.196988 -63.643079,50.193642 -63.641885,50.191762 -63.642567,50.191896 -63.646378,50.193477 -63.647188,50.193876 -63.648675,50.194802 -63.651169,50.194891 -63.651412,50.194919 -63.651737,50.194890 -63.652146,50.194893 -63.654638,50.194982 -63.661513,50.196330 -63.661851,50.195619 -63.662283,50.195282 -63.662317,50.195229 -63.669296,50.189790 -63.670472,50.189388 -63.670500,50.189367 -63.670860,50.189205 -63.672511,50.188691 -63.678984,50.186478 -63.687421,50.185709 -63.687983,50.185713 -63.690470,50.185801 -63.691160,50.185937 -63.691181,50.185937 -63.701680,50.187992 -63.702040,50.188182 -63.702085,50.188190 -63.703234,50.188784 -63.703249,50.188788 -63.703341,50.188837 -63.704520,50.189124 -63.704826,50.189286 -63.705026,50.189325 -63.705467,50.189558 -63.706012,50.189676 -63.706518,50.189877 -63.708335,50.190898 -63.712558,50.187601 -63.712846,50.187500 -63.716425,50.185203 -63.724187,50.182545 -63.724948,50.181951 -63.731335,50.179421 -63.732566,50.179069 -63.735860,50.178282 -63.738260,50.178061 -63.739647,50.177586 -63.750567,50.176899 -63.761067,50.178947 -63.764893,50.180529 -63.765298,50.180728 -63.769953,50.183617 -63.771769,50.185208 -63.772372,50.185801 -63.773570,50.187451 -63.773595,50.187473 -63.773667,50.187546 -63.774527,50.188151 -63.774933,50.188366 -63.775647,50.189092 -63.776849,50.189950 -63.777034,50.190172 -63.779126,50.191275 -63.781011,50.193539 -63.782090,50.194619 -63.782488,50.193775 -63.789451,50.188327 -63.799129,50.185004 -63.799257,50.184987 -63.804923,50.183041 -63.813234,50.182452 -63.813300,50.182435 -63.813949,50.182375 -63.817331,50.181287 -63.819040,50.180700 -63.819205,50.180684 -63.819756,50.180507 -63.823929,50.180241 -63.827365,50.179918 -63.827671,50.179919 -63.828530,50.179948 -63.830676,50.179811 -63.833100,50.180281 -63.835569,50.178346 -63.845241,50.175018 -63.849116,50.174770 -63.850350,50.174456 -63.861268,50.173757 -63.861309,50.173765 -63.861351,50.173762 -63.861912,50.173798 -63.862180,50.173851 -63.862603,50.173718 -63.863235,50.173426 -63.863713,50.173273 -63.863853,50.173164 -63.864410,50.172914 -63.864521,50.172840 -63.864749,50.172762 -63.867458,50.171545 -63.867971,50.171351 -63.872804,50.169987 -63.874189,50.169509 -63.876477,50.169296 -63.876487,50.169293 -63.876616,50.169283 -63.882615,50.168724 -63.884193,50.168732 -63.885318,50.168650 -63.888086,50.168392 -63.889055,50.168397 -63.891537,50.168480 -63.895164,50.168861 -63.895622,50.168928 -63.901311,50.170296 -63.902073,50.170439 -63.902988,50.170738 -63.903174,50.170835 -63.903414,50.170881 -63.907851,50.173067 -63.909693,50.172895 -63.910355,50.172898 -63.912855,50.172981 -63.923361,50.175011 -63.929032,50.177568 -63.929488,50.177833 -63.932315,50.179733 -63.933416,50.181048 -63.934995,50.181876 -63.936797,50.183443 -63.937100,50.183739 -63.940496,50.188378 -63.941196,50.191462 -63.942357,50.192041 -63.942964,50.192470 -63.943105,50.192629 -63.943239,50.192695 -63.943324,50.192797 -63.943948,50.193124 -63.944276,50.193482 -63.944402,50.193553 -63.947447,50.196454 -63.948002,50.197112 -63.950157,50.200416 -63.950614,50.202424 -63.953062,50.205345 -63.953274,50.206158 -63.953308,50.206198 -63.953361,50.206357 -63.953861,50.206953 -63.954240,50.207987 -63.954862,50.208728 -63.954910,50.208940 -63.956592,50.206291 -63.956762,50.206157 -63.956838,50.206000 -63.957459,50.205282 -63.964153,50.200113 -63.964397,50.200016 -63.964770,50.199722 -63.967521,50.198772 -63.970579,50.197554 -63.971143,50.197392 -63.972370,50.197096 -63.974437,50.196381 -63.982983,50.195588 -63.983137,50.195589 -63.985416,50.195666 -63.985572,50.195612 -63.994013,50.194818 -63.995442,50.194824 -63.997922,50.194904 -64.008438,50.196926 -64.010541,50.197718 -64.011100,50.197950 -64.017510,50.201608 -64.018201,50.202234 -64.018371,50.202333 -64.018562,50.202561 -64.019920,50.203790 -64.020477,50.204381 -64.022141,50.206769 -64.022814,50.207167 -64.028029,50.213369 -64.029273,50.218793 -64.029271,50.218990 -64.029190,50.220028 -64.030035,50.219972 -64.040559,50.221991 -64.044757,50.224182 -64.048328,50.225884 -64.048633,50.226082 -64.049449,50.226661 -64.050604,50.227263 -64.055826,50.233465 -64.055829,50.233480 -64.055927,50.233596 -64.056091,50.234617 -64.057074,50.238893 -64.057073,50.238991 -64.056981,50.240168 -64.057052,50.240607 -64.056868,50.241001 -64.056841,50.241357 -64.057130,50.243163 -64.056284,50.246171 -64.056023,50.246793 -64.053724,50.250538 -64.053595,50.250640 -64.053153,50.251551 -64.052956,50.251706 -64.052791,50.252010 -64.051019,50.253407 -64.050043,50.254398 -64.049476,50.254887 -64.047115,50.256483 -64.045853,50.257477 -64.045423,50.257626 -64.044826,50.258029 -64.044687,50.258077 -64.044003,50.258617 -64.043723,50.258740 -64.043437,50.258942 -64.042324,50.259355 -64.039815,50.260458 -64.039456,50.260587 -64.037722,50.261063 -64.035354,50.261942 -64.034342,50.262185 -64.036825,50.262264 -64.047361,50.264282 -64.047438,50.264322 -64.047922,50.264415 -64.050480,50.265397 -64.050633,50.265463 -64.052839,50.266743 -64.053890,50.267214 -64.054316,50.267459 -64.054981,50.267776 -64.055132,50.267875 -64.056758,50.269028 -64.056869,50.269160 -64.057215,50.269391 -64.062442,50.275593 -64.063499,50.278798 -64.063547,50.279060 -64.063618,50.282867 -64.060471,50.289621 -64.056249,50.292947 -64.054788,50.294365 -64.054582,50.294528 -64.050646,50.297078 -64.043293,50.299621 -64.042352,50.299976 -64.042035,50.300056 -64.040962,50.300427 -64.039626,50.300554 -64.039066,50.300747 -64.038317,50.300818 -64.038246,50.300842 -64.037129,50.301030 -64.036554,50.301229 -64.035139,50.301431 -64.034504,50.301614 -64.032623,50.301792 -64.032233,50.301847 -64.030850,50.301974 -64.030670,50.301976 -64.026921,50.302331 -64.026166,50.302603 -64.025449,50.302764 -64.025251,50.302780 -64.025130,50.302822 -64.024819,50.302842 -64.024412,50.302983 -64.015262,50.303773 -64.014878,50.303765 -64.013439,50.303901 -64.012928,50.303899 -64.010443,50.303818 -64.004908,50.302862 -64.003330,50.302678 -64.002313,50.302675 -63.999814,50.302594 -63.992660,50.301544 -63.991537,50.301277 -63.988148,50.300304 -63.985169,50.298748 -63.982495,50.298050 -63.979907,50.296698 -63.979543,50.296628 -63.979035,50.296366 -63.978270,50.296131 -63.971393,50.292849 -63.971343,50.292816 -63.970390,50.292361 -63.969323,50.291668 -63.969008,50.291445 -63.967568,50.290759 -63.967415,50.290659 -63.966572,50.290062 -63.965927,50.289725 -63.960713,50.283518 -63.960696,50.283475 -63.960511,50.283255 -63.960442,50.282817 -63.959974,50.281608 -63.959925,50.281444 -63.959671,50.277946 -63.959401,50.276242 -63.962564,50.269490 -63.968893,50.264367 -63.969356,50.264108 -63.969463,50.264069 -63.969515,50.264028 -63.969603,50.263998 -63.969979,50.263702 -63.976861,50.261327 -63.976843,50.261323 -63.976589,50.261223 -63.972778,50.259098 -63.971262,50.258374 -63.971110,50.258275 -63.970415,50.257781 -63.969615,50.257335 -63.969502,50.257201 -63.969057,50.256972 -63.968891,50.256775 -63.968702,50.256676 -63.968624,50.256576 -63.968443,50.256478 -63.968088,50.256182 -63.966916,50.254725 -63.965108,50.253612 -63.959898,50.247405 -63.958790,50.240393 -63.960071,50.237655 -63.960025,50.237630 -63.959938,50.237527 -63.959770,50.237436 -63.959415,50.237140 -63.958891,50.236488 -63.958660,50.236346 -63.958536,50.236210 -63.957849,50.235851 -63.955576,50.233810 -63.955323,50.233546 -63.955029,50.233129 -63.954509,50.234882 -63.954141,50.235700 -63.953535,50.236660 -63.953303,50.237283 -63.953043,50.237709 -63.951696,50.239589 -63.951396,50.239889 -63.950969,50.240568 -63.949543,50.241741 -63.949198,50.242086 -63.948733,50.242476 -63.948292,50.242769 -63.947072,50.243773 -63.946570,50.244249 -63.946054,50.244640 -63.945897,50.244739 -63.944967,50.245504 -63.944349,50.245861 -63.944131,50.245941 -63.944020,50.246028 -63.943878,50.246077 -63.943402,50.246451 -63.942945,50.246609 -63.942476,50.246906 -63.942313,50.246962 -63.938315,50.250215 -63.937800,50.250507 -63.937677,50.250551 -63.937192,50.250932 -63.936271,50.252294 -63.931156,50.256691 -63.930744,50.256951 -63.928905,50.258014 -63.925078,50.259717 -63.924206,50.260040 -63.918348,50.261674 -63.917873,50.261718 -63.917631,50.261802 -63.917164,50.261845 -63.916451,50.262091 -63.915893,50.262127 -63.915632,50.262217 -63.915222,50.262244 -63.914792,50.262381 -63.913972,50.262507 -63.911098,50.262636 -63.907792,50.262992 -63.906617,50.263019 -63.902902,50.262947 -63.902067,50.262831 -63.901371,50.262808 -63.899142,50.262426 -63.897625,50.262216 -63.897429,50.262235 -63.897174,50.262234 -63.894631,50.262150 -63.884104,50.260116 -63.883258,50.259673 -63.882648,50.259401 -63.881675,50.259158 -63.877800,50.258673 -63.877442,50.258605 -63.872232,50.257234 -63.871341,50.256895 -63.870858,50.256801 -63.869922,50.256353 -63.868914,50.255925 -63.868351,50.255600 -63.864955,50.253972 -63.864528,50.253796 -63.863511,50.253299 -63.858849,50.250417 -63.858832,50.250401 -63.856718,50.249292 -63.854373,50.246487 -63.853950,50.246196 -63.853087,50.245336 -63.853042,50.245306 -63.852968,50.245217 -63.852519,50.244770 -63.852277,50.244632 -63.847275,50.242237 -63.847123,50.242138 -63.845727,50.241144 -63.845551,50.241156 -63.845327,50.241233 -63.836853,50.242016 -63.835729,50.242009 -63.833267,50.241924 -63.832894,50.241852 -63.829514,50.242048 -63.825273,50.242347 -63.821948,50.243230 -63.820588,50.243430 -63.820412,50.243483 -63.819926,50.243528 -63.818139,50.243791 -63.816912,50.243915 -63.815428,50.243943 -63.811956,50.244263 -63.811291,50.244259 -63.808810,50.244174 -63.807638,50.243946 -63.807281,50.243969 -63.803603,50.243254 -63.802335,50.243110 -63.801927,50.243042 -63.799921,50.242539 -63.796762,50.241925 -63.795909,50.241534 -63.795747,50.241493 -63.795241,50.241227 -63.794809,50.241029 -63.787280,50.241723 -63.786104,50.241716 -63.783607,50.241630 -63.777936,50.240889 -63.777702,50.240842 -63.777417,50.241027 -63.777393,50.241047 -63.777336,50.241080 -63.775740,50.242120 -63.775399,50.242386 -63.775255,50.242435 -63.774884,50.242677 -63.774259,50.242912 -63.774009,50.243065 -63.768488,50.245337 -63.767359,50.245690 -63.763186,50.246740 -63.759682,50.247025 -63.759174,50.247103 -63.758191,50.247146 -63.753828,50.247500 -63.753512,50.247492 -63.752348,50.247598 -63.751378,50.247593 -63.748873,50.247506 -63.747301,50.247199 -63.743368,50.246702 -63.741075,50.246262 -63.735862,50.244883 -63.734422,50.244124 -63.734202,50.244018 -63.732613,50.243550 -63.724937,50.239684 -63.724382,50.239287 -63.724263,50.239152 -63.723110,50.238543 -63.721859,50.237405 -63.717800,50.235264 -63.717281,50.234745 -63.717167,50.236244 -63.716978,50.236923 -63.716946,50.237290 -63.716852,50.237494 -63.716775,50.238403 -63.716127,50.239767 -63.716079,50.240332 -63.715991,50.240518 -63.715970,50.240757 -63.712769,50.247500 -63.710297,50.249957 -63.709986,50.250218 -63.705476,50.253203 -63.695774,50.256518 -63.695707,50.256529 -63.694798,50.256839 -63.692436,50.257226 -63.691975,50.257288 -63.690888,50.257325 -63.687732,50.257707 -63.687169,50.257736 -63.682113,50.257705 -63.671597,50.255648 -63.670764,50.255208 -63.669920,50.255022 -63.669377,50.254803 -63.668651,50.254611 -63.668460,50.254511 -63.666821,50.254106 -63.665177,50.253238 -63.659904,50.250690 -63.659652,50.250524 -63.658582,50.249755 -63.658336,50.249625 -63.658239,50.249511 -63.657017,50.249892 -63.656734,50.249963 -63.656674,50.250010 -63.652277,50.251902 -63.651814,50.252063 -63.646505,50.253481 -63.637999,50.254246 -63.637438,50.254241 -63.635565,50.254173 -63.634846,50.254217 -63.633693,50.253991 -63.632721,50.254027 -63.630885,50.253817 -63.626043,50.252736 -63.621122,50.251771 -63.614238,50.248130 -63.611680,50.248139 -63.610915,50.248209 -63.610557,50.248207 -63.608910,50.248149 -63.608332,50.248151 -63.608193,50.248123 -63.607975,50.248116 -63.607088,50.247947 -63.607008,50.247944 -63.605953,50.247737 -63.605511,50.247734 -63.605478,50.247736 -63.605466,50.247733 -63.601953,50.247709 -63.599025,50.247133 -63.595882,50.247170 -63.595212,50.247039 -63.594811,50.247063 -63.594666,50.247035 -63.594388,50.247047 -63.593316,50.246940 -63.584302,50.244997 -63.584226,50.244957 -63.583946,50.244896 -63.581995,50.243863 -63.581662,50.243788 -63.581257,50.243621 -63.577814,50.241649 -63.575472,50.240408 -63.575199,50.240168 -63.574463,50.239778 -63.574317,50.239601 -63.574090,50.239478 -63.573687,50.239147 -63.573527,50.238949 -63.571979,50.238139 -63.571677,50.237908 -63.571631,50.237853 -63.567892,50.240324 -63.558182,50.243626 -63.547240,50.244292 -63.546105,50.244068 -63.545872,50.244079 -63.544647,50.243970 -63.535155,50.241978 -63.534512,50.241695 -63.533561,50.241368 -63.533526,50.241350 -63.533483,50.241341 -63.533369,50.241281 -63.532719,50.241138 -63.524252,50.236646 -63.524244,50.236636 -63.524231,50.236629 -63.523980,50.236431 -63.523006,50.235249 -63.521875,50.234228 -63.521525,50.233864 -63.520782,50.232801 -63.520504,50.232617 -63.517000,50.229088 -63.516651,50.228626 -63.515015,50.225925 -63.514184,50.223584 -63.513949,50.222632 -63.513869,50.220775 -63.513862,50.220738 -63.513857,50.220482 -63.513813,50.219454 -63.513664,50.218602 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-63.752242,50.294872 -63.751838,50.294793 -63.751501,50.294616 -63.751444,50.294604 -63.751088,50.294471 -63.750857,50.294345 -63.750771,50.294328 -63.750190,50.294022 -63.749806,50.293928 -63.741303,50.289453 -63.741278,50.289422 -63.740644,50.289089 -63.740134,50.288476 -63.740087,50.288436 -63.739896,50.288191 -63.738286,50.286258 -63.737926,50.285896 -63.737566,50.285393 -63.735728,50.283187 -63.735674,50.283130 -63.735653,50.283097 -63.735464,50.282870 -63.735442,50.282772 -63.735376,50.282669 -63.734421,50.280963 -63.734335,50.280666 -63.735183,50.280120 -63.737346,50.278489 -63.739048,50.276572 -63.740469,50.274751 -63.741845,50.272144 -63.742477,50.270309 -63.742853,50.267103 -63.742212,50.263677 -63.741589,50.261668 -63.740819,50.260409 -63.741718,50.259563 -63.741976,50.259368 -63.745598,50.257085 -63.745983,50.256926 -63.746527,50.256502 -63.747840,50.255961 -63.748226,50.255660 -63.750278,50.254958 -63.752013,50.254243 -63.752424,50.254115 -63.753626,50.253812 -63.757924,50.252340 -63.762901,50.251680 -63.763720,50.251620 -63.769682,50.251591 -63.777600,50.252852 -63.777855,50.252919 -63.780457,50.253704 -63.788436,50.257901 -63.789596,50.256907 -63.790679,50.256225 -63.790922,50.256085 -63.792701,50.254695 -63.794312,50.254143 -63.795114,50.253813 -63.795397,50.253592 -63.795581,50.253436 -63.795609,50.253426 -63.795629,50.253411 -63.795938,50.253249 -63.799166,50.252145 -63.799511,50.252003 -63.800230,50.251778 -63.800262,50.251770 -63.801118,50.251477 -63.801543,50.251145 -63.811234,50.247820 -63.811417,50.247803 -63.812210,50.247531 -63.814401,50.247328 -63.814666,50.247251 -63.817313,50.247031 -63.823406,50.246343 -63.824224,50.246315 -63.828468,50.246375 -63.829508,50.246577 -63.831558,50.246387 -63.832069,50.246390 -63.834547,50.246475 -63.845068,50.248515 -63.845241,50.248597 -63.847768,50.249087 -63.850012,50.250250 -63.851221,50.250718 -63.851831,50.250984 -63.854939,50.252804 -63.856047,50.253378 -63.856351,50.253609 -63.856387,50.253651 -63.857744,50.254445 -63.858275,50.255005 -63.858400,50.255071 -63.858820,50.255572 -63.859056,50.255696 -63.861777,50.258228 -63.862129,50.258624 -63.864604,50.262304 -63.865286,50.266350 -63.866105,50.269949 -63.866103,50.270145 -63.865972,50.271776 -63.864005,50.276870 -63.863796,50.277197 -63.862584,50.278851 -63.860081,50.281345 -63.859770,50.281605 -63.855305,50.284566 -63.855108,50.284634 -63.854738,50.284923 -63.852987,50.285525 -63.852611,50.285801 -63.852543,50.285843 -63.850935,50.287223 -63.850678,50.287385 -63.849152,50.288265 -63.848722,50.288602 -63.848626,50.288684 -63.848551,50.288735 -63.847360,50.289667 -63.846736,50.289961 -63.843852,50.291908 -63.838605,50.293709 -63.837145,50.294310 -63.835604,50.294792 -63.835013,50.294941 -63.834152,50.295237 -63.833387,50.295351 -63.832498,50.295575 -63.830918,50.296103 -63.830678,50.296140 -63.824494,50.298262 -63.817514,50.299026 -63.816541,50.299053 -63.812569,50.298984 -63.805677,50.297982 -63.804809,50.297779 -63.801169,50.296739 -63.792660,50.292268 -63.792573,50.292164 -63.792459,50.292103 -63.792387,50.292018 -63.792264,50.291952 -63.792062,50.291787 -63.791596,50.291213 -63.791227,50.291141 -63.791138,50.291094 -63.790514,50.290973 -63.788820,50.290083 -63.785018,50.292939 -63.775313,50.296263 -63.772783,50.296455 -63.772639,50.296501 -63.772229,50.296564 -63.770141,50.296656 -63.765490,50.297009 -63.764417,50.296969 -63.764143,50.296920 -63.762877,50.296976 -63.752348,50.294927 -63.752242,50.294872 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-64.148455,50.186866 -64.102979,50.234301</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-64.130418,50.233875 -64.130241,50.233936 -64.124777,50.234301 -64.119511,50.233296 -64.115245,50.231075 -64.112630,50.227976 -64.112516,50.227525 -64.110823,50.226549 -64.108875,50.224567 -64.108701,50.224325 -64.108093,50.223780 -64.106089,50.221189 -64.105651,50.219998 -64.105231,50.218371 -64.105225,50.218271 -64.105169,50.218107 -64.104980,50.217212 -64.104954,50.216417 -64.104658,50.215953 -64.104104,50.214209 -64.103951,50.213248 -64.103734,50.212261 -64.103722,50.211925 -64.103628,50.211597 -64.103506,50.210412 -64.103093,50.208747 -64.102979,50.206489 -64.103551,50.205256 -64.103538,50.205135 -64.104365,50.203353 -64.104370,50.203337 -64.104053,50.201968 -64.104063,50.200606 -64.104124,50.199811 -64.105690,50.196434 -64.106832,50.195532 -64.107392,50.194669 -64.107935,50.193929 -64.111395,50.191194 -64.112598,50.190619 -64.112665,50.190591 -64.114193,50.189731 -64.114689,50.189552 -64.115036,50.189292 -64.116412,50.188630 -64.120689,50.187230 -64.126148,50.186866 -64.131408,50.187870 -64.135670,50.190090 -64.138047,50.192738 -64.138709,50.193892 -64.139466,50.195064 -64.140558,50.195914 -64.140673,50.196052 -64.140841,50.196143 -64.142764,50.197743 -64.145062,50.200586 -64.145482,50.201705 -64.145487,50.201725 -64.146340,50.202859 -64.146910,50.206364 -64.146568,50.207102 -64.146572,50.207128 -64.146740,50.207328 -64.147367,50.210193 -64.147365,50.210241 -64.147831,50.210843 -64.148401,50.214347 -64.148230,50.214715 -64.148361,50.215521 -64.148241,50.215781 -64.148455,50.217096 -64.148392,50.217234 -64.148394,50.217247 -64.148290,50.218161 -64.148252,50.218246 -64.148267,50.218339 -64.147593,50.219796 -64.147548,50.219982 -64.147332,50.220621 -64.147379,50.221005 -64.147220,50.221721 -64.147261,50.222342 -64.147214,50.223563 -64.146673,50.224732 -64.146317,50.225792 -64.145966,50.226445 -64.145694,50.226847 -64.145650,50.226941 -64.145604,50.226981 -64.145112,50.227709 -64.141652,50.230446 -64.136822,50.232124 -64.135735,50.232306 -64.132632,50.233419 -64.130603,50.233861 -64.130418,50.233875 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-82.539908,53.347775 -82.043905,54.456960</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-82.311819,54.441865 -82.290252,54.429209 -82.278647,54.412705 -82.278759,54.394868 -82.281916,54.388322 -82.301614,54.356688 -82.302269,54.355936 -82.302836,54.354849 -82.337368,54.305944 -82.339959,54.267241 -82.322841,54.216642 -82.265874,54.160661 -82.209403,54.110568 -82.156471,54.063470 -82.145038,54.046966 -82.145052,54.045566 -82.144334,54.044441 -82.137197,54.013388 -82.104768,53.952596 -82.063389,53.883809 -82.060323,53.877137 -82.060332,53.876408 -82.059919,53.875781 -82.046115,53.824877 -82.046143,53.824121 -82.045158,53.818559 -82.043905,53.781071 -82.045482,53.770935 -82.046450,53.769579 -82.046528,53.768326 -82.071274,53.713664 -82.074536,53.709433 -82.078486,53.703155 -82.104253,53.675876 -82.117392,53.637888 -82.131933,53.588657 -82.119329,53.540072 -82.096250,53.506162 -82.092021,53.497634 -82.092024,53.497346 -82.091850,53.497087 -82.084470,53.472548 -82.061269,53.420567 -82.061198,53.419086 -82.060062,53.417414 -82.060273,53.399622 -82.065883,53.383363 -82.077457,53.366974 -82.098624,53.354479 -82.126162,53.347775 -82.155890,53.347878 -82.172197,53.349874 -82.199607,53.356766 -82.220537,53.369404 -82.229526,53.380589 -82.245165,53.409597 -82.247441,53.414879 -82.248447,53.418929 -82.252260,53.441082 -82.279968,53.487026 -82.280421,53.488004 -82.280790,53.488462 -82.296513,53.517470 -82.298803,53.522753 -82.299874,53.527141 -82.306288,53.566888 -82.305814,53.572335 -82.306082,53.576752 -82.293242,53.639609 -82.292820,53.641161 -82.292825,53.641362 -82.281683,53.682399 -82.281139,53.683216 -82.281133,53.684194 -82.277275,53.691914 -82.248113,53.735611 -82.221506,53.776772 -82.218173,53.797258 -82.222735,53.819497 -82.267121,53.903395 -82.308850,53.972032 -82.311968,53.978699 -82.312953,53.982519 -82.317972,54.009636 -82.344630,54.033273 -82.355902,54.040978 -82.364435,54.040990 -82.392387,54.047845 -82.413768,54.060468 -82.418436,54.065178 -82.428157,54.076482 -82.433945,54.078189 -82.455358,54.090805 -82.466941,54.107278 -82.466920,54.125102 -82.463966,54.129740 -82.467630,54.134098 -82.467811,54.134411 -82.468327,54.134949 -82.481710,54.151721 -82.494507,54.154836 -82.515984,54.167442 -82.521453,54.173069 -82.533723,54.188068 -82.539894,54.198909 -82.539908,54.216738 -82.528274,54.233213 -82.523251,54.236156 -82.525560,54.244947 -82.525480,54.247089 -82.526369,54.254185 -82.521605,54.309744 -82.522756,54.347352 -82.521268,54.357080 -82.518783,54.362572 -82.511540,54.375306 -82.502333,54.386292 -82.480713,54.398901 -82.474503,54.400426 -82.472128,54.407372 -82.463331,54.421090 -82.449898,54.434802 -82.448159,54.435888 -82.446968,54.437559 -82.425300,54.450159 -82.396996,54.456960 -82.366377,54.456923 -82.344927,54.452439 -82.318622,54.444250 -82.311819,54.441865 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-84.187239,46.272937 -83.960710,46.518408</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-84.064009,46.478639 -84.065711,46.475190 -84.066670,46.473806 -84.066818,46.473528 -84.077094,46.461531 -84.080112,46.449501 -84.083726,46.429274 -84.088890,46.399845 -84.088897,46.399833 -84.088896,46.399817 -84.092102,46.382005 -84.080203,46.368788 -84.062287,46.349952 -84.048891,46.336228 -84.033340,46.330426 -84.021895,46.329045 -84.006314,46.333430 -84.004282,46.333869 -84.000119,46.334033 -83.978461,46.332429 -83.978089,46.332339 -83.977615,46.332346 -83.972942,46.331092 -83.969319,46.328694 -83.962846,46.322305 -83.960824,46.319129 -83.960710,46.315659 -83.960859,46.315392 -83.960862,46.315147 -83.963700,46.306833 -83.965359,46.304108 -83.966078,46.303402 -83.973656,46.296682 -83.974694,46.295998 -83.975525,46.295341 -83.989301,46.287335 -83.990171,46.286872 -83.993468,46.285717 -84.011903,46.281431 -84.041558,46.273414 -84.043416,46.273021 -84.048419,46.272937 -84.052038,46.273773 -84.078354,46.283051 -84.079404,46.283465 -84.081236,46.284440 -84.098805,46.295661 -84.114485,46.299181 -84.130383,46.300614 -84.151143,46.302085 -84.151527,46.302177 -84.152019,46.302168 -84.154910,46.302763 -84.172011,46.307856 -84.173794,46.308506 -84.177427,46.310896 -84.178911,46.312811 -84.186553,46.326448 -84.187107,46.327703 -84.187239,46.331173 -84.187172,46.331295 -84.187174,46.331416 -84.182046,46.349136 -84.180315,46.352134 -84.179566,46.352870 -84.161935,46.368463 -84.160325,46.376858 -84.167729,46.391107 -84.168171,46.392156 -84.168464,46.393578 -84.170004,46.411077 -84.169958,46.411665 -84.170010,46.412091 -84.169350,46.420671 -84.169182,46.421706 -84.168932,46.422494 -84.158584,46.449279 -84.158572,46.449297 -84.158553,46.449357 -84.152708,46.463944 -84.152603,46.464107 -84.152456,46.464500 -84.146631,46.476035 -84.146538,46.476168 -84.146471,46.476334 -84.131920,46.502115 -84.131865,46.502191 -84.131835,46.502262 -84.126742,46.510827 -84.125714,46.512202 -84.122247,46.514720 -84.117895,46.516090 -84.105559,46.518185 -84.105433,46.518188 -84.105311,46.518225 -84.101344,46.518408 -84.084032,46.517350 -84.070305,46.516715 -84.068963,46.516604 -84.067124,46.516286 -84.048273,46.511986 -84.045417,46.511053 -84.042106,46.508968 -84.034880,46.502493 -84.034767,46.502325 -84.034548,46.502181 -84.032513,46.499005 -84.032245,46.497795 -84.030817,46.485901 -84.030964,46.483637 -84.032777,46.480397 -84.036246,46.477883 -84.039023,46.476858 -84.046931,46.474751 -84.048751,46.474370 -84.053777,46.474286 -84.058467,46.475537 -84.059841,46.476230 -84.064009,46.478639 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.351104,43.608393 -79.313160,43.663583</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.331581,43.647733 -79.331566,43.648060 -79.331476,43.648523 -79.330970,43.649298 -79.330928,43.649325 -79.330936,43.649341 -79.331122,43.649839 -79.331063,43.650695 -79.330557,43.651470 -79.329681,43.652045 -79.329642,43.652055 -79.329612,43.652074 -79.327257,43.653036 -79.329826,43.656296 -79.330193,43.657067 -79.330136,43.657893 -79.330186,43.657934 -79.330583,43.658741 -79.330524,43.659597 -79.330018,43.660372 -79.329142,43.660947 -79.328513,43.661153 -79.325862,43.661771 -79.323419,43.662616 -79.323237,43.662656 -79.322976,43.662739 -79.319356,43.663516 -79.318938,43.663583 -79.317759,43.663540 -79.316692,43.663172 -79.315900,43.662537 -79.315621,43.662091 -79.314219,43.658972 -79.313557,43.658440 -79.313160,43.657633 -79.313220,43.656777 -79.313249,43.656731 -79.313224,43.656423 -79.313218,43.656404 -79.313225,43.656305 -79.313231,43.656124 -79.313241,43.656074 -79.313242,43.656055 -79.313236,43.655986 -79.313466,43.649689 -79.313522,43.649391 -79.313525,43.649311 -79.313733,43.648566 -79.313761,43.648522 -79.313765,43.648467 -79.314075,43.647909 -79.314138,43.647830 -79.314016,43.647593 -79.313855,43.647142 -79.313824,43.646872 -79.313803,43.646198 -79.313824,43.646061 -79.313820,43.645908 -79.313830,43.645840 -79.313849,43.645767 -79.313849,43.645741 -79.313901,43.645497 -79.313956,43.645300 -79.314068,43.645044 -79.314542,43.644153 -79.314751,43.643878 -79.314835,43.643740 -79.315041,43.643511 -79.315088,43.643479 -79.315116,43.643436 -79.314988,43.643108 -79.314905,43.642829 -79.314876,43.642600 -79.314843,43.642020 -79.314856,43.641925 -79.314848,43.641768 -79.314858,43.641678 -79.314878,43.641585 -79.314878,43.641538 -79.314942,43.641200 -79.315005,43.640965 -79.315106,43.640729 -79.315541,43.639888 -79.315648,43.639745 -79.315740,43.639578 -79.315821,43.639474 -79.315936,43.639346 -79.315960,43.639306 -79.316154,43.639090 -79.316174,43.639076 -79.316196,43.639017 -79.316203,43.639006 -79.316215,43.638972 -79.316218,43.638966 -79.316219,43.638956 -79.316254,43.638875 -79.316275,43.638776 -79.316278,43.638770 -79.316280,43.638765 -79.316280,43.638760 -79.316287,43.638742 -79.316301,43.638693 -79.316322,43.638661 -79.316324,43.638622 -79.316336,43.638597 -79.316415,43.638371 -79.316432,43.638346 -79.316434,43.638317 -79.316452,43.638276 -79.316459,43.638244 -79.316459,43.638238 -79.316471,43.638203 -79.316490,43.638123 -79.316492,43.638118 -79.316492,43.638112 -79.316531,43.637950 -79.316544,43.637928 -79.316545,43.637893 -79.316585,43.637736 -79.316585,43.637735 -79.316585,43.637734 -79.316627,43.637568 -79.316652,43.637527 -79.316654,43.637469 -79.316699,43.637311 -79.316716,43.637283 -79.316718,43.637244 -79.316750,43.637141 -79.316752,43.637126 -79.316780,43.637023 -79.316780,43.636993 -79.316808,43.636869 -79.316835,43.636741 -79.316892,43.636535 -79.316893,43.636500 -79.316904,43.636460 -79.316712,43.636277 -79.316524,43.636075 -79.316288,43.635719 -79.315872,43.634914 -79.315712,43.634463 -79.315707,43.634400 -79.315700,43.634380 -79.315699,43.634368 -79.315689,43.634340 -79.315692,43.634296 -79.315675,43.634258 -79.315662,43.634175 -79.315668,43.634120 -79.315648,43.633829 -79.315703,43.633034 -79.315790,43.632606 -79.315902,43.632351 -79.316123,43.631934 -79.316184,43.631803 -79.316224,43.631748 -79.316301,43.631588 -79.316342,43.631524 -79.316376,43.631460 -79.316452,43.631359 -79.316474,43.631314 -79.316650,43.631034 -79.316750,43.630912 -79.316634,43.630588 -79.316637,43.630548 -79.316621,43.630514 -79.316586,43.630284 -79.316587,43.630274 -79.316573,43.630180 -79.316561,43.630042 -79.316566,43.629997 -79.316557,43.629906 -79.316561,43.629868 -79.316547,43.629730 -79.316548,43.629638 -79.316567,43.629527 -79.316563,43.629418 -79.316637,43.628896 -79.316713,43.628584 -79.316739,43.628525 -79.316753,43.628457 -79.316753,43.628456 -79.316754,43.628455 -79.316805,43.628308 -79.316805,43.628308 -79.316942,43.628008 -79.317116,43.627700 -79.317221,43.627491 -79.317073,43.627074 -79.317067,43.627011 -79.317063,43.626997 -79.317059,43.626962 -79.317046,43.626921 -79.317049,43.626872 -79.317036,43.626845 -79.317034,43.626828 -79.317027,43.626812 -79.317017,43.626736 -79.317024,43.626667 -79.317008,43.626404 -79.317037,43.626020 -79.317039,43.625831 -79.317066,43.625676 -79.317065,43.625655 -79.317066,43.625638 -79.317080,43.625573 -79.317081,43.625482 -79.317094,43.625427 -79.317143,43.625257 -79.317149,43.625244 -79.317153,43.625224 -79.317157,43.625214 -79.317166,43.625168 -79.317171,43.625156 -79.317173,43.625123 -79.317185,43.625077 -79.317197,43.625058 -79.317204,43.625023 -79.317210,43.625014 -79.317217,43.624978 -79.317217,43.624977 -79.317217,43.624976 -79.317217,43.624976 -79.317329,43.624720 -79.317554,43.624297 -79.317534,43.624264 -79.317344,43.623773 -79.317263,43.623498 -79.317269,43.623415 -79.317240,43.623350 -79.317197,43.622954 -79.317202,43.622916 -79.317188,43.622778 -79.317188,43.622677 -79.317207,43.622565 -79.317204,43.622457 -79.317278,43.621935 -79.317354,43.621623 -79.317374,43.621592 -79.317377,43.621561 -79.317537,43.621151 -79.317546,43.621137 -79.317606,43.620994 -79.317657,43.620893 -79.317703,43.620832 -79.317764,43.620708 -79.318078,43.620227 -79.318202,43.620077 -79.318022,43.619828 -79.318008,43.619798 -79.317914,43.619664 -79.317884,43.619613 -79.317833,43.619481 -79.317760,43.619358 -79.317558,43.618848 -79.317473,43.618562 -79.317471,43.618537 -79.317463,43.618514 -79.317464,43.618506 -79.317461,43.618499 -79.317451,43.618449 -79.317452,43.618438 -79.317423,43.618067 -79.317465,43.617198 -79.317554,43.616738 -79.317565,43.616722 -79.317566,43.616705 -79.317691,43.616368 -79.317708,43.616341 -79.317709,43.616337 -79.317741,43.616271 -79.317744,43.616238 -79.317774,43.616174 -79.317814,43.616118 -79.317892,43.615958 -79.318241,43.615405 -79.318381,43.615233 -79.318409,43.615181 -79.318437,43.615145 -79.318441,43.615137 -79.318453,43.615124 -79.318467,43.615105 -79.318682,43.614864 -79.318686,43.614861 -79.318732,43.614800 -79.318783,43.614767 -79.318810,43.614727 -79.319544,43.614069 -79.319603,43.614032 -79.319855,43.613829 -79.319974,43.613750 -79.320433,43.613503 -79.320570,43.613418 -79.320577,43.613416 -79.320583,43.613413 -79.321017,43.613226 -79.321396,43.613051 -79.321433,43.613041 -79.321465,43.613020 -79.321771,43.612904 -79.321880,43.612868 -79.321924,43.612859 -79.322006,43.612829 -79.322275,43.612751 -79.322955,43.612618 -79.322978,43.612619 -79.322999,43.612614 -79.324161,43.612502 -79.324366,43.612511 -79.325132,43.612523 -79.325662,43.612598 -79.325815,43.612647 -79.325876,43.612650 -79.325953,43.612653 -79.325961,43.612655 -79.325982,43.612656 -79.326111,43.612685 -79.326176,43.612710 -79.326454,43.612780 -79.326859,43.612912 -79.327247,43.612874 -79.328381,43.612922 -79.328457,43.612948 -79.328529,43.612952 -79.329533,43.613175 -79.329705,43.613238 -79.330139,43.613365 -79.330358,43.613455 -79.330670,43.613602 -79.330682,43.613610 -79.330728,43.613627 -79.330973,43.613774 -79.331682,43.614249 -79.331880,43.614426 -79.332074,43.614568 -79.332206,43.614699 -79.332361,43.614868 -79.332384,43.614902 -79.332451,43.614963 -79.332687,43.615319 -79.332743,43.615428 -79.333419,43.615186 -79.333851,43.615088 -79.334146,43.615005 -79.334907,43.614891 -79.334987,43.614892 -79.335076,43.614869 -79.335315,43.614850 -79.335603,43.614836 -79.335659,43.614840 -79.335829,43.614831 -79.336098,43.614833 -79.336113,43.614763 -79.336170,43.614557 -79.336183,43.614524 -79.336202,43.614423 -79.336314,43.614168 -79.336787,43.613277 -79.337053,43.612926 -79.337078,43.612887 -79.337097,43.612802 -79.337148,43.612624 -79.337175,43.612582 -79.337179,43.612541 -79.337366,43.612078 -79.337381,43.612057 -79.337448,43.611903 -79.337573,43.611669 -79.337621,43.611606 -79.337672,43.611504 -79.337959,43.611076 -79.338251,43.610725 -79.338326,43.610676 -79.338365,43.610621 -79.339208,43.609893 -79.339422,43.609761 -79.339449,43.609739 -79.339675,43.609603 -79.339901,43.609439 -79.340126,43.609318 -79.340375,43.609197 -79.340451,43.609177 -79.340504,43.609144 -79.341409,43.608793 -79.341650,43.608735 -79.342107,43.608599 -79.342645,43.608502 -79.342925,43.608462 -79.342926,43.608462 -79.343214,43.608431 -79.343215,43.608431 -79.343217,43.608431 -79.343557,43.608408 -79.344180,43.608393 -79.345018,43.608458 -79.345020,43.608459 -79.345022,43.608459 -79.345810,43.608604 -79.345813,43.608605 -79.346288,43.608723 -79.346543,43.608805 -79.346629,43.608841 -79.346718,43.608866 -79.346992,43.608969 -79.347399,43.609155 -79.347666,43.609316 -79.348403,43.609819 -79.348637,43.610030 -79.348806,43.610156 -79.348946,43.610300 -79.348983,43.610368 -79.348986,43.610371 -79.349068,43.610437 -79.349086,43.610463 -79.349130,43.610504 -79.349164,43.610573 -79.349220,43.610620 -79.349450,43.610943 -79.349467,43.610980 -79.349564,43.611122 -79.349663,43.611297 -79.349714,43.611431 -79.349777,43.611538 -79.349963,43.612021 -79.350042,43.612292 -79.350039,43.612347 -79.350060,43.612393 -79.350100,43.612682 -79.350098,43.612700 -79.350112,43.612812 -79.350123,43.612996 -79.350115,43.613054 -79.350128,43.613188 -79.350128,43.613332 -79.350126,43.613345 -79.350137,43.613617 -79.350118,43.613741 -79.350123,43.613896 -79.350054,43.614400 -79.350012,43.614814 -79.349991,43.614906 -79.349992,43.614952 -79.349957,43.615131 -79.350004,43.615180 -79.350240,43.615536 -79.350657,43.616342 -79.350817,43.616793 -79.350846,43.617012 -79.350882,43.617569 -79.350870,43.617655 -79.350879,43.617811 -79.350869,43.617921 -79.350848,43.618018 -79.350849,43.618071 -79.350783,43.618432 -79.350718,43.618677 -79.350668,43.618753 -79.350660,43.618822 -79.350479,43.619226 -79.350745,43.619659 -79.350803,43.619804 -79.350894,43.619956 -79.350912,43.620004 -79.350942,43.620103 -79.350956,43.620128 -79.351034,43.620384 -79.351032,43.620456 -79.351073,43.620538 -79.351104,43.620913 -79.351074,43.621831 -79.350983,43.622312 -79.350963,43.622343 -79.350960,43.622375 -79.350801,43.622785 -79.350791,43.622799 -79.350731,43.622941 -79.350693,43.623017 -79.350647,43.623079 -79.350586,43.623203 -79.350272,43.623684 -79.350009,43.624003 -79.349993,43.624028 -79.349569,43.624455 -79.349456,43.624530 -79.349440,43.624553 -79.349420,43.624584 -79.349415,43.624588 -79.349397,43.624613 -79.349274,43.624716 -79.349230,43.624742 -79.349116,43.624838 -79.348794,43.625068 -79.348713,43.625221 -79.348319,43.625740 -79.348244,43.625789 -79.348205,43.625845 -79.347362,43.626573 -79.347008,43.626792 -79.346729,43.626984 -79.346657,43.627019 -79.346652,43.627027 -79.345978,43.627608 -79.346126,43.628022 -79.346157,43.628397 -79.346126,43.629315 -79.346036,43.629796 -79.345960,43.629981 -79.345618,43.630697 -79.345556,43.630783 -79.345464,43.630963 -79.345416,43.631032 -79.345383,43.631071 -79.345368,43.631098 -79.345237,43.631273 -79.345010,43.631530 -79.344935,43.631579 -79.344896,43.631635 -79.344052,43.632363 -79.343608,43.632638 -79.343376,43.632795 -79.342600,43.633158 -79.342555,43.633171 -79.342515,43.633196 -79.342245,43.633301 -79.342212,43.633312 -79.342158,43.633332 -79.342121,43.633341 -79.341958,43.633402 -79.341515,43.633541 -79.341348,43.633576 -79.341174,43.633632 -79.340908,43.633689 -79.340811,43.633705 -79.340775,43.633715 -79.340623,43.633743 -79.340337,43.633784 -79.340232,43.633780 -79.340147,43.633800 -79.339659,43.633829 -79.339237,43.634248 -79.339229,43.634253 -79.339225,43.634260 -79.339047,43.634418 -79.338925,43.634517 -79.338879,43.634544 -79.338781,43.634625 -79.338403,43.634892 -79.337849,43.635200 -79.337825,43.635207 -79.337807,43.635218 -79.336721,43.635673 -79.336250,43.635792 -79.336351,43.635885 -79.336587,43.636241 -79.337003,43.637046 -79.337164,43.637497 -79.337167,43.637541 -79.337172,43.637556 -79.337175,43.637585 -79.337186,43.637620 -79.337184,43.637655 -79.337195,43.637678 -79.337196,43.637692 -79.337201,43.637702 -79.337210,43.637760 -79.337204,43.637816 -79.337224,43.638107 -79.337170,43.638902 -79.337082,43.639330 -79.336971,43.639585 -79.336497,43.640476 -79.336103,43.640995 -79.336028,43.641044 -79.335989,43.641100 -79.335227,43.641758 -79.334994,43.642057 -79.334919,43.642106 -79.334880,43.642161 -79.334709,43.642308 -79.334727,43.642371 -79.334737,43.642390 -79.334801,43.642608 -79.334799,43.642672 -79.334835,43.642744 -79.334866,43.643118 -79.334835,43.644036 -79.334744,43.644518 -79.334633,43.644773 -79.334159,43.645664 -79.333908,43.645995 -79.333837,43.646110 -79.333546,43.646421 -79.333475,43.646469 -79.333430,43.646535 -79.333370,43.646591 -79.333351,43.646603 -79.333167,43.646761 -79.332615,43.647179 -79.332177,43.647431 -79.332071,43.647504 -79.331581,43.647733 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-68.907745,48.404834 -68.873156,48.425672</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-68.892370,48.404887 -68.892811,48.404834 -68.893418,48.404922 -68.893661,48.404893 -68.893858,48.404921 -68.894018,48.404910 -68.894286,48.404948 -68.894508,48.404922 -68.899646,48.405665 -68.903965,48.407661 -68.906809,48.410606 -68.907745,48.414051 -68.907693,48.414209 -68.907729,48.414355 -68.907703,48.414693 -68.907672,48.414779 -68.907745,48.415045 -68.907407,48.416889 -68.907335,48.417099 -68.906556,48.418676 -68.904487,48.420661 -68.903453,48.421712 -68.903209,48.421886 -68.903046,48.421960 -68.902949,48.422054 -68.902837,48.422102 -68.902705,48.422228 -68.898280,48.424122 -68.898173,48.424137 -68.897727,48.424346 -68.897259,48.424499 -68.896261,48.424791 -68.895964,48.424827 -68.895735,48.424921 -68.895097,48.425068 -68.894948,48.425084 -68.894029,48.425282 -68.893590,48.425356 -68.893001,48.425402 -68.892237,48.425538 -68.891867,48.425575 -68.889637,48.425672 -68.888688,48.425535 -68.888321,48.425591 -68.887940,48.425610 -68.886671,48.425635 -68.881532,48.424890 -68.878343,48.423590 -68.878232,48.423529 -68.877100,48.422832 -68.874257,48.419887 -68.873324,48.416442 -68.873369,48.416306 -68.873365,48.416291 -68.873156,48.414547 -68.874275,48.411126 -68.877274,48.408251 -68.877812,48.407967 -68.878540,48.407547 -68.878737,48.407445 -68.878969,48.407357 -68.879334,48.407165 -68.879515,48.407087 -68.880590,48.406721 -68.881251,48.406416 -68.881633,48.406296 -68.881847,48.406266 -68.882075,48.406179 -68.882215,48.406163 -68.882456,48.406059 -68.882779,48.405975 -68.883107,48.405859 -68.885549,48.405544 -68.885615,48.405532 -68.885688,48.405526 -68.887938,48.405236 -68.888133,48.405235 -68.888195,48.405243 -68.888480,48.405192 -68.889297,48.405109 -68.889946,48.405026 -68.892370,48.404887 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-69.346841,48.087877 -69.303931,48.118440</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-69.309593,48.101233 -69.310361,48.100850 -69.310800,48.100513 -69.311107,48.100342 -69.311640,48.099926 -69.312087,48.099420 -69.313052,48.098595 -69.314202,48.097735 -69.314210,48.097727 -69.314871,48.097292 -69.314883,48.097287 -69.314891,48.097279 -69.315902,48.096691 -69.316253,48.096347 -69.316542,48.096221 -69.317050,48.095714 -69.318114,48.094990 -69.318216,48.094945 -69.318288,48.094874 -69.319327,48.094271 -69.319920,48.093689 -69.320720,48.093340 -69.320976,48.093060 -69.321394,48.092531 -69.321889,48.092012 -69.323805,48.090433 -69.328176,48.088522 -69.333305,48.087877 -69.338412,48.088596 -69.340098,48.089177 -69.340403,48.089301 -69.343024,48.090694 -69.345877,48.093621 -69.346841,48.097058 -69.346791,48.097216 -69.346828,48.097362 -69.346809,48.097650 -69.345749,48.100768 -69.345564,48.100949 -69.345498,48.101138 -69.345016,48.101808 -69.344028,48.102731 -69.342859,48.103950 -69.342541,48.104185 -69.342045,48.104645 -69.340557,48.105802 -69.340310,48.105924 -69.340008,48.106158 -69.340004,48.106173 -69.338295,48.107812 -69.337057,48.109059 -69.336941,48.109109 -69.336866,48.109181 -69.336807,48.109219 -69.336344,48.109774 -69.335512,48.110564 -69.333963,48.111782 -69.332677,48.113143 -69.332254,48.113462 -69.332085,48.113542 -69.332022,48.113603 -69.331848,48.113679 -69.331599,48.113923 -69.329954,48.114840 -69.329868,48.114881 -69.328935,48.115694 -69.324561,48.117604 -69.320378,48.118233 -69.319478,48.118269 -69.319442,48.118265 -69.318045,48.118440 -69.315030,48.118187 -69.314732,48.118138 -69.312637,48.117672 -69.308328,48.115697 -69.305476,48.112768 -69.305346,48.112378 -69.305078,48.112103 -69.305078,48.112103 -69.304892,48.111793 -69.304892,48.111793 -69.303931,48.108356 -69.305008,48.104934 -69.307957,48.102049 -69.308910,48.101574 -69.309132,48.101432 -69.309593,48.101233 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-71.152770,47.490900 -70.219056,48.083634</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-70.885919,47.842199 -70.877473,47.846995 -70.873198,47.848974 -70.850366,47.857451 -70.825509,47.862761 -70.820431,47.863485 -70.819613,47.863546 -70.819272,47.863618 -70.819167,47.863633 -70.799905,47.865019 -70.794508,47.865421 -70.794394,47.865414 -70.794294,47.865422 -70.794100,47.865397 -70.792886,47.865327 -70.792150,47.865427 -70.785260,47.865409 -70.783321,47.865154 -70.760366,47.863754 -70.755478,47.863112 -70.731490,47.858343 -70.726003,47.856422 -70.730555,47.870973 -70.735034,47.877165 -70.743079,47.894519 -70.744561,47.899416 -70.748961,47.907638 -70.756825,47.936937 -70.753838,47.947671 -70.759848,47.954336 -70.770596,47.988530 -70.761033,48.022888 -70.732571,48.052173 -70.689524,48.071910 -70.638462,48.079076 -70.614646,48.077798 -70.581008,48.073931 -70.577969,48.075318 -70.528461,48.082410 -70.524178,48.082466 -70.521382,48.082735 -70.503482,48.083634 -70.487528,48.083074 -70.472857,48.081965 -70.452257,48.078453 -70.441088,48.078953 -70.389859,48.072344 -70.346337,48.053080 -70.325640,48.032529 -70.310247,48.030525 -70.266805,48.011227 -70.240574,47.986505 -70.232222,47.974846 -70.231485,47.972691 -70.229367,47.970578 -70.219056,47.936326 -70.229035,47.902036 -70.229401,47.901665 -70.229528,47.901240 -70.274007,47.830193 -70.302144,47.801869 -70.311894,47.795868 -70.346735,47.776458 -70.349821,47.775198 -70.355622,47.771912 -70.367284,47.766449 -70.391570,47.757441 -70.442290,47.750416 -70.443547,47.750579 -70.444745,47.750421 -70.457704,47.750524 -70.457784,47.750534 -70.457857,47.750525 -70.468500,47.750616 -70.480268,47.752217 -70.470761,47.744517 -70.470659,47.744416 -70.470290,47.744133 -70.470034,47.743907 -70.469611,47.743415 -70.468793,47.742752 -70.468293,47.742255 -70.467520,47.741629 -70.465946,47.740064 -70.465765,47.739838 -70.465522,47.739642 -70.465134,47.739256 -70.463602,47.737355 -70.463296,47.736981 -70.461312,47.735289 -70.461007,47.734951 -70.459137,47.732484 -70.457956,47.731435 -70.456925,47.730185 -70.452783,47.724449 -70.452021,47.723715 -70.451721,47.723271 -70.451545,47.722735 -70.450974,47.721944 -70.450457,47.721313 -70.450400,47.721126 -70.450342,47.721055 -70.450156,47.720870 -70.450104,47.720759 -70.450000,47.720630 -70.445067,47.711345 -70.444235,47.709457 -70.443770,47.707346 -70.442852,47.705402 -70.442811,47.705276 -70.442553,47.703730 -70.440849,47.699862 -70.440703,47.699315 -70.439943,47.693792 -70.439161,47.691689 -70.438950,47.690158 -70.438399,47.682652 -70.438200,47.682044 -70.438167,47.681386 -70.438328,47.680772 -70.438124,47.679543 -70.438189,47.679316 -70.438155,47.679096 -70.438091,47.678886 -70.438105,47.678774 -70.438083,47.678636 -70.438153,47.678390 -70.438259,47.677547 -70.438204,47.677368 -70.438272,47.676655 -70.438263,47.676624 -70.438322,47.676135 -70.438331,47.676041 -70.438277,47.675622 -70.438392,47.675217 -70.438335,47.675028 -70.438560,47.673649 -70.438598,47.673253 -70.438356,47.672285 -70.438477,47.671018 -70.438790,47.670095 -70.438559,47.669170 -70.438617,47.668576 -70.439212,47.666828 -70.439416,47.664696 -70.439498,47.664290 -70.439872,47.663342 -70.440166,47.660913 -70.440299,47.660389 -70.440986,47.658764 -70.441696,47.654406 -70.442642,47.651624 -70.449024,47.637968 -70.459938,47.623658 -70.462482,47.620951 -70.475065,47.610259 -70.477004,47.608194 -70.477576,47.607776 -70.507858,47.585588 -70.511469,47.582893 -70.511640,47.582811 -70.511784,47.582655 -70.513542,47.581337 -70.514442,47.580903 -70.514975,47.580457 -70.515212,47.580213 -70.515385,47.580113 -70.515586,47.579945 -70.515597,47.579939 -70.515749,47.579809 -70.516174,47.579613 -70.516322,47.579530 -70.517259,47.578745 -70.517506,47.578491 -70.517688,47.578386 -70.517903,47.578206 -70.522323,47.575711 -70.535028,47.568379 -70.535254,47.568270 -70.536018,47.567981 -70.537796,47.566977 -70.542059,47.565015 -70.564796,47.556623 -70.589508,47.551388 -70.594554,47.550677 -70.620296,47.548798 -70.646085,47.550349 -70.651150,47.550996 -70.653778,47.551516 -70.654698,47.551636 -70.655044,47.551705 -70.655748,47.551755 -70.656112,47.551810 -70.659265,47.552472 -70.676133,47.542904 -70.680388,47.540936 -70.703085,47.532511 -70.717145,47.529068 -70.720005,47.528490 -70.726015,47.527871 -70.734548,47.526144 -70.735394,47.526041 -70.743393,47.525528 -70.746252,47.525035 -70.748432,47.524896 -70.759375,47.524502 -70.762927,47.524605 -70.764685,47.524354 -70.765571,47.524288 -70.765939,47.524210 -70.766052,47.524195 -70.776940,47.523413 -70.779424,47.522881 -70.784463,47.522160 -70.810179,47.520229 -70.831937,47.521494 -70.832445,47.521295 -70.837801,47.518473 -70.840505,47.517414 -70.854487,47.512662 -70.871571,47.508603 -70.875054,47.507953 -70.876600,47.507804 -70.877627,47.507459 -70.878143,47.507385 -70.878901,47.507032 -70.880100,47.506745 -70.895118,47.501315 -70.895565,47.501219 -70.895821,47.501126 -70.896345,47.501050 -70.896802,47.500952 -70.897110,47.500808 -70.901159,47.499977 -70.902853,47.499235 -70.904142,47.498917 -70.909070,47.498303 -70.919758,47.495995 -70.920163,47.495936 -70.921245,47.495853 -70.925460,47.494987 -70.929790,47.494448 -70.951774,47.492979 -70.952941,47.493124 -70.953520,47.493040 -70.953886,47.493053 -70.955660,47.492688 -70.956994,47.492521 -70.965021,47.491983 -70.967932,47.491473 -70.970129,47.491325 -70.981158,47.490900 -71.002843,47.491889 -71.007127,47.492327 -71.011543,47.493134 -71.012824,47.493205 -71.013273,47.493261 -71.023263,47.495200 -71.028281,47.495711 -71.029566,47.495994 -71.031474,47.496772 -71.036070,47.497610 -71.036368,47.497741 -71.036800,47.497825 -71.037355,47.497893 -71.037631,47.497986 -71.038134,47.498083 -71.057026,47.504369 -71.060633,47.505821 -71.065892,47.508544 -71.072515,47.511016 -71.075448,47.512468 -71.089377,47.520411 -71.099644,47.527953 -71.101563,47.529536 -71.104835,47.533162 -71.110491,47.537824 -71.111240,47.538611 -71.114995,47.543362 -71.116703,47.544892 -71.117718,47.546176 -71.122409,47.552738 -71.122639,47.553458 -71.122965,47.553776 -71.124819,47.557232 -71.125427,47.557867 -71.125984,47.558904 -71.126261,47.559921 -71.128530,47.564149 -71.128926,47.565059 -71.129832,47.569061 -71.130278,47.569983 -71.136398,47.577415 -71.144355,47.594100 -71.145451,47.597510 -71.145604,47.598402 -71.146323,47.599761 -71.147076,47.601555 -71.147266,47.602423 -71.147429,47.602735 -71.147666,47.603310 -71.148735,47.608287 -71.150673,47.612866 -71.150826,47.613560 -71.150945,47.614536 -71.151349,47.615521 -71.151535,47.616471 -71.152002,47.620692 -71.152310,47.621532 -71.152422,47.622547 -71.152279,47.623189 -71.152658,47.626616 -71.152578,47.626916 -71.152610,47.627134 -71.152770,47.627630 -71.152733,47.627944 -71.152762,47.628138 -71.152667,47.628494 -71.152628,47.628825 -71.152708,47.629075 -71.152313,47.631890 -71.152682,47.633219 -71.152628,47.634156 -71.151596,47.637477 -71.150686,47.645109 -71.150639,47.645285 -71.150484,47.646736 -71.150246,47.647722 -71.150007,47.648308 -71.149903,47.649047 -71.149626,47.649941 -71.149005,47.652266 -71.148260,47.654035 -71.148374,47.654373 -71.150590,47.694734 -71.150441,47.695324 -71.150611,47.696311 -71.150660,47.696464 -71.150651,47.696544 -71.150667,47.696636 -71.150229,47.700305 -71.148794,47.713095 -71.148772,47.713179 -71.148658,47.713455 -71.148579,47.714120 -71.147660,47.717555 -71.140553,47.734429 -71.140188,47.734812 -71.140109,47.735105 -71.138542,47.737496 -71.138437,47.737844 -71.137993,47.738521 -71.137631,47.738885 -71.135669,47.741875 -71.129620,47.750152 -71.125497,47.754105 -71.119134,47.762067 -71.116776,47.764327 -71.103680,47.775006 -71.083839,47.786363 -71.079579,47.788352 -71.077795,47.789021 -71.075640,47.790497 -71.075215,47.790694 -71.065418,47.796796 -71.063322,47.797963 -71.059860,47.799392 -71.056093,47.801536 -71.055986,47.801586 -71.054562,47.802116 -71.051402,47.803874 -71.048736,47.805047 -71.041532,47.807659 -71.039043,47.808927 -71.037059,47.809646 -71.026910,47.812957 -71.026143,47.813068 -71.025744,47.813254 -71.021691,47.814286 -71.021130,47.814534 -71.019963,47.814831 -71.019127,47.814939 -71.014079,47.816224 -71.004814,47.818253 -70.997645,47.822419 -70.993825,47.824267 -70.976807,47.830757 -70.973497,47.832356 -70.970235,47.833402 -70.969604,47.833502 -70.969019,47.833725 -70.968143,47.833851 -70.966085,47.834618 -70.965757,47.834771 -70.965557,47.834816 -70.965309,47.834908 -70.954816,47.837609 -70.952687,47.838089 -70.949638,47.838438 -70.941891,47.840182 -70.939924,47.840504 -70.931032,47.841263 -70.925307,47.842316 -70.922362,47.842567 -70.907535,47.843266 -70.906792,47.843174 -70.906329,47.843241 -70.902119,47.843151 -70.901500,47.843230 -70.900294,47.843205 -70.899518,47.843096 -70.894268,47.842984 -70.892821,47.842909 -70.889155,47.842336 -70.885919,47.842199 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-111.701161,54.563713 -111.224774,54.888138</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-111.451003,54.592948 -111.449809,54.573671 -111.449940,54.572119 -111.451933,54.568744 -111.455997,54.566068 -111.461513,54.564499 -111.465076,54.564198 -111.493071,54.563713 -111.495637,54.563790 -111.501448,54.564945 -111.506056,54.567304 -111.508761,54.570509 -111.509088,54.571972 -111.555842,54.572144 -111.557826,54.572223 -111.563641,54.573375 -111.568254,54.575732 -111.570964,54.578935 -111.571495,54.581257 -111.571783,54.624957 -111.571646,54.626197 -111.569661,54.629576 -111.565598,54.632256 -111.560076,54.633830 -111.558522,54.633940 -111.558513,54.653216 -111.558857,54.652989 -111.564382,54.651415 -111.565905,54.651277 -111.567004,54.649408 -111.571068,54.646727 -111.576592,54.645152 -111.579335,54.644876 -111.605158,54.643612 -111.608557,54.643659 -111.614384,54.644809 -111.619010,54.647164 -111.621730,54.650366 -111.622189,54.652730 -111.622757,54.652808 -111.627015,54.653789 -111.631643,54.656144 -111.634364,54.659346 -111.634900,54.661798 -111.634724,54.672630 -111.639965,54.673662 -111.644596,54.676016 -111.647320,54.679218 -111.647855,54.681432 -111.648549,54.705397 -111.648416,54.706745 -111.646434,54.710125 -111.642367,54.712809 -111.636836,54.714388 -111.632277,54.714695 -111.610179,54.714309 -111.609465,54.738391 -111.618808,54.738592 -111.620292,54.738665 -111.626135,54.739814 -111.630773,54.742169 -111.633501,54.745372 -111.633573,54.745907 -111.684028,54.745895 -111.686098,54.745973 -111.691944,54.747118 -111.696587,54.749471 -111.699321,54.752672 -111.699853,54.754720 -111.701161,54.775862 -111.701037,54.777377 -111.699056,54.780759 -111.694986,54.783445 -111.689447,54.785026 -111.685344,54.785339 -111.623561,54.785329 -111.623676,54.835782 -111.623540,54.836992 -111.621548,54.840374 -111.617466,54.843057 -111.611914,54.844635 -111.607653,54.844945 -111.547186,54.844562 -111.545309,54.847734 -111.541221,54.850415 -111.535664,54.851989 -111.530444,54.852273 -111.502410,54.851100 -111.501982,54.851024 -111.501454,54.851043 -111.495598,54.849887 -111.490955,54.847525 -111.488312,54.844413 -111.471178,54.844914 -111.470830,54.872442 -111.470688,54.873596 -111.468681,54.876974 -111.464583,54.879653 -111.459019,54.881223 -111.453620,54.881495 -111.444763,54.881063 -111.443260,54.883588 -111.439160,54.886265 -111.433594,54.887834 -111.429501,54.888138 -111.301356,54.887893 -111.299265,54.887808 -111.293410,54.886641 -111.288775,54.884271 -111.286067,54.881059 -111.285550,54.878742 -111.285532,54.770792 -111.240301,54.770308 -111.238431,54.770224 -111.232596,54.769054 -111.227980,54.766682 -111.225286,54.763469 -111.224774,54.761147 -111.225022,54.661161 -111.225171,54.659919 -111.227189,54.656547 -111.231279,54.653879 -111.236818,54.652321 -111.240735,54.652025 -111.298416,54.651865 -111.298390,54.602527 -111.298537,54.601279 -111.300545,54.597906 -111.304623,54.595236 -111.310151,54.593674 -111.314079,54.593375 -111.451003,54.592948 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-112.103201,51.691706 -111.954482,51.775824</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-111.964568,51.752739 -111.963637,51.751582 -111.963222,51.750257 -111.962790,51.747991 -111.962804,51.745832 -111.962800,51.745802 -111.963151,51.744053 -111.963186,51.743664 -111.960847,51.740921 -111.959666,51.738665 -111.959635,51.738460 -111.959467,51.738251 -111.959364,51.736678 -111.959067,51.734719 -111.959218,51.734437 -111.959201,51.734186 -111.960506,51.729870 -111.962178,51.727044 -111.963056,51.726356 -111.961188,51.725486 -111.958401,51.723783 -111.956604,51.721918 -111.955631,51.720563 -111.954882,51.719259 -111.954482,51.715727 -111.954500,51.715694 -111.954497,51.715659 -111.955180,51.712502 -111.956972,51.709211 -111.960659,51.706562 -111.965468,51.704226 -111.965497,51.704217 -111.965518,51.704201 -111.970617,51.702619 -111.972394,51.702390 -111.973843,51.702261 -111.975060,51.702255 -111.978320,51.699921 -111.978555,51.699848 -111.978716,51.699737 -111.982489,51.698043 -111.982684,51.697985 -111.983955,51.697464 -111.991309,51.694926 -111.993691,51.694323 -111.994130,51.694182 -112.000036,51.693060 -112.000246,51.693049 -112.000449,51.692985 -112.002554,51.692729 -112.006924,51.692400 -112.011380,51.691850 -112.013878,51.691795 -112.015412,51.691706 -112.017530,51.691813 -112.018166,51.691935 -112.018827,51.691916 -112.025150,51.692593 -112.025284,51.692623 -112.026133,51.692720 -112.031580,51.693546 -112.032138,51.693684 -112.033029,51.693816 -112.037204,51.694742 -112.037395,51.694797 -112.037536,51.694819 -112.041536,51.695775 -112.043519,51.696358 -112.045507,51.697204 -112.046719,51.697816 -112.046802,51.697869 -112.048633,51.698316 -112.050956,51.698315 -112.056364,51.699432 -112.060672,51.701749 -112.060713,51.701800 -112.060780,51.701837 -112.061962,51.702805 -112.064407,51.705883 -112.064578,51.706483 -112.066456,51.708810 -112.066865,51.712342 -112.066019,51.714450 -112.065213,51.715762 -112.065540,51.715922 -112.067544,51.717178 -112.067824,51.717326 -112.068697,51.717995 -112.069649,51.718442 -112.072378,51.720112 -112.073809,51.721498 -112.075460,51.723470 -112.076091,51.723934 -112.076221,51.724088 -112.076456,51.724214 -112.078259,51.726077 -112.079082,51.727219 -112.081361,51.729987 -112.081555,51.730297 -112.083525,51.731279 -112.085907,51.732781 -112.086772,51.733852 -112.091576,51.735547 -112.094819,51.737101 -112.099023,51.739777 -112.100094,51.740539 -112.102653,51.743704 -112.103178,51.746040 -112.103201,51.747792 -112.103090,51.748988 -112.101294,51.752349 -112.097629,51.754996 -112.097287,51.755163 -112.096816,51.755756 -112.096562,51.755949 -112.096414,51.756227 -112.093092,51.758700 -112.087727,51.761490 -112.087501,51.761563 -112.087317,51.761695 -112.085961,51.762233 -112.084165,51.763521 -112.079063,51.765109 -112.076784,51.765498 -112.071091,51.765753 -112.066469,51.764801 -112.062633,51.764972 -112.057217,51.763856 -112.054631,51.762694 -112.052873,51.761706 -112.051144,51.760550 -112.048588,51.757383 -112.048093,51.755382 -112.046351,51.755459 -112.040936,51.754342 -112.040733,51.754233 -112.040502,51.754182 -112.038700,51.753493 -112.037555,51.753365 -112.033120,51.752717 -112.029240,51.751770 -112.027516,51.751055 -112.026292,51.750467 -112.025929,51.750727 -112.023935,51.753131 -112.021348,51.756420 -112.021075,51.756628 -112.020913,51.756932 -112.018569,51.758610 -112.017917,51.760901 -112.016222,51.763815 -112.015056,51.764649 -112.015051,51.764822 -112.014651,51.766077 -112.013428,51.768859 -112.012024,51.770965 -112.008285,51.773641 -112.003178,51.775225 -112.001680,51.775427 -111.998250,51.775776 -111.994053,51.775824 -111.989561,51.775004 -111.987730,51.774459 -111.983233,51.774731 -111.980725,51.774709 -111.980349,51.774729 -111.977828,51.774572 -111.977653,51.774537 -111.977457,51.774545 -111.972042,51.773424 -111.969690,51.772389 -111.966721,51.770786 -111.964762,51.769500 -111.962871,51.767505 -111.960779,51.764467 -111.960120,51.763293 -111.959720,51.759760 -111.961009,51.757019 -111.963160,51.754197 -111.963479,51.753951 -111.963679,51.753579 -111.964568,51.752739 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-112.106480,52.823116 -112.033192,52.923007</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-112.098597,52.830422 -112.101229,52.833597 -112.101730,52.835365 -112.101869,52.836535 -112.102308,52.838895 -112.102288,52.841040 -112.102239,52.841129 -112.104255,52.844039 -112.104886,52.845142 -112.106055,52.847710 -112.106480,52.851253 -112.105948,52.852771 -112.105095,52.854475 -112.105066,52.855073 -112.104957,52.855928 -112.103110,52.859300 -112.102013,52.860307 -112.100086,52.861845 -112.100088,52.862380 -112.099973,52.863528 -112.098744,52.866165 -112.097152,52.868288 -112.097209,52.868386 -112.097634,52.871930 -112.095921,52.875056 -112.095876,52.876091 -112.095429,52.877401 -112.096057,52.879545 -112.096172,52.882258 -112.095243,52.884466 -112.094090,52.886239 -112.094087,52.886266 -112.094722,52.886598 -112.094990,52.886920 -112.095348,52.887122 -112.098062,52.889571 -112.100072,52.892223 -112.101885,52.896203 -112.102311,52.899747 -112.100461,52.903120 -112.096617,52.905808 -112.096255,52.905918 -112.096016,52.906077 -112.094656,52.906654 -112.094597,52.906758 -112.094384,52.907043 -112.094302,52.907232 -112.092939,52.909256 -112.092086,52.910317 -112.091550,52.910693 -112.090957,52.911993 -112.089131,52.914508 -112.088435,52.915346 -112.085130,52.917656 -112.084601,52.918471 -112.080755,52.921158 -112.075499,52.922751 -112.069634,52.923007 -112.064054,52.921887 -112.063788,52.921748 -112.063492,52.921684 -112.060454,52.920531 -112.056571,52.918408 -112.053937,52.915231 -112.053403,52.913029 -112.053340,52.911382 -112.053452,52.910040 -112.053669,52.909647 -112.052851,52.909219 -112.050478,52.906553 -112.050198,52.906054 -112.049701,52.905701 -112.049553,52.905532 -112.049284,52.905391 -112.046652,52.902214 -112.046252,52.901032 -112.045802,52.899035 -112.045781,52.896672 -112.045907,52.896443 -112.044152,52.894414 -112.042974,52.892604 -112.042447,52.890528 -112.042324,52.888514 -112.042254,52.888490 -112.037814,52.886163 -112.035184,52.882986 -112.034765,52.879442 -112.035076,52.878418 -112.035129,52.878288 -112.034909,52.878037 -112.033699,52.876189 -112.033280,52.872645 -112.033523,52.871800 -112.034405,52.869403 -112.035723,52.865382 -112.034765,52.864244 -112.033664,52.862523 -112.033245,52.858979 -112.033433,52.858637 -112.033416,52.858341 -112.033477,52.858153 -112.033458,52.857646 -112.033192,52.854657 -112.033288,52.853033 -112.034609,52.850282 -112.035455,52.849197 -112.037042,52.846308 -112.038834,52.844789 -112.043879,52.841327 -112.044809,52.840797 -112.046432,52.837843 -112.047411,52.836932 -112.049739,52.835026 -112.050562,52.834515 -112.051269,52.833957 -112.054560,52.831991 -112.055251,52.831339 -112.055831,52.830954 -112.057164,52.829883 -112.059300,52.828560 -112.060817,52.827740 -112.061179,52.827630 -112.061418,52.827472 -112.061912,52.827262 -112.064723,52.825294 -112.069966,52.823702 -112.070613,52.823674 -112.071090,52.823543 -112.073903,52.823212 -112.078630,52.823116 -112.080625,52.823351 -112.083577,52.823825 -112.087147,52.824710 -112.090590,52.826336 -112.091735,52.827062 -112.095192,52.828487 -112.098597,52.830422 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-117.837632,56.182668 -117.611302,56.289818</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-117.681873,56.221667 -117.682730,56.217952 -117.684087,56.215305 -117.687474,56.212601 -117.691544,56.210353 -117.691480,56.209341 -117.691585,56.209048 -117.691481,56.208690 -117.692307,56.207031 -117.692960,56.205204 -117.693376,56.204883 -117.693530,56.204575 -117.698036,56.200034 -117.698263,56.199873 -117.698796,56.199343 -117.702439,56.196333 -117.704869,56.194749 -117.710335,56.192866 -117.714064,56.192357 -117.719470,56.191983 -117.722082,56.191919 -117.724591,56.192249 -117.724640,56.192159 -117.728395,56.189253 -117.731802,56.188079 -117.734575,56.186014 -117.740038,56.184130 -117.744292,56.183244 -117.750631,56.182668 -117.756882,56.183490 -117.757084,56.183570 -117.757307,56.183602 -117.762915,56.185136 -117.767703,56.187116 -117.771084,56.190162 -117.771681,56.191253 -117.772803,56.193883 -117.775352,56.197381 -117.777219,56.199222 -117.778308,56.200523 -117.779343,56.204058 -117.779189,56.205033 -117.778754,56.206737 -117.782872,56.207363 -117.789696,56.209095 -117.792686,56.210077 -117.800692,56.213386 -117.807040,56.215841 -117.807451,56.216039 -117.807844,56.216172 -117.813569,56.218685 -117.817279,56.219490 -117.817635,56.219624 -117.818122,56.219688 -117.823343,56.221778 -117.824348,56.222437 -117.830646,56.226982 -117.833031,56.229367 -117.836581,56.234637 -117.837632,56.237882 -117.837606,56.244651 -117.837552,56.244789 -117.837597,56.244940 -117.836130,56.248428 -117.835053,56.249539 -117.828782,56.255057 -117.826106,56.256856 -117.820637,56.258744 -117.820315,56.258774 -117.820061,56.258858 -117.813580,56.260060 -117.807804,56.260525 -117.806416,56.260368 -117.801393,56.263377 -117.796389,56.266374 -117.795944,56.266540 -117.795563,56.266835 -117.790090,56.268721 -117.783737,56.269299 -117.783101,56.269216 -117.782569,56.269253 -117.779195,56.269055 -117.778639,56.268970 -117.776979,56.270107 -117.775431,56.271029 -117.769957,56.272914 -117.767566,56.273276 -117.766071,56.274000 -117.765790,56.274094 -117.764164,56.274798 -117.759158,56.276591 -117.756006,56.277470 -117.751714,56.277859 -117.751389,56.278036 -117.751004,56.278172 -117.750734,56.278375 -117.746466,56.280464 -117.741340,56.282171 -117.734983,56.282746 -117.734882,56.282733 -117.734782,56.282742 -117.732159,56.282672 -117.731063,56.282955 -117.729571,56.283220 -117.727113,56.283587 -117.718868,56.286707 -117.717991,56.286960 -117.717307,56.287230 -117.712120,56.288757 -117.710168,56.289245 -117.703809,56.289818 -117.699733,56.289449 -117.696092,56.288852 -117.693900,56.288397 -117.688676,56.286301 -117.686451,56.284623 -117.684150,56.282397 -117.683805,56.281988 -117.676069,56.284100 -117.674559,56.284461 -117.671937,56.284871 -117.662871,56.285847 -117.661997,56.285885 -117.661312,56.285972 -117.653492,56.286390 -117.651314,56.286425 -117.645047,56.285598 -117.644818,56.285506 -117.644567,56.285471 -117.639599,56.284096 -117.635315,56.282314 -117.634108,56.282155 -117.631414,56.281169 -117.630819,56.281205 -117.626253,56.280748 -117.623177,56.280183 -117.621478,56.279811 -117.616260,56.277712 -117.612884,56.274661 -117.611863,56.271124 -117.611878,56.271090 -117.611868,56.271055 -117.612073,56.268509 -117.611302,56.265836 -117.612273,56.263057 -117.613736,56.260804 -117.614255,56.260097 -117.618027,56.257195 -117.623507,56.255316 -117.626722,56.254850 -117.637940,56.253880 -117.641079,56.253778 -117.645788,56.254400 -117.648152,56.253442 -117.650275,56.252061 -117.651580,56.251303 -117.651793,56.251230 -117.651932,56.251127 -117.656202,56.249041 -117.656242,56.249028 -117.656266,56.249010 -117.658874,56.247749 -117.665224,56.243961 -117.665524,56.243849 -117.665791,56.243638 -117.667497,56.242716 -117.668222,56.241570 -117.671988,56.238666 -117.673600,56.237931 -117.675394,56.237214 -117.675666,56.236573 -117.677883,56.234667 -117.677856,56.234228 -117.677033,56.232482 -117.676503,56.229818 -117.676647,56.228892 -117.677158,56.226834 -117.678495,56.224274 -117.681873,56.221667 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-110.994448,50.788627 -110.403138,50.856650</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-110.973262,50.825887 -110.978829,50.825694 -110.984089,50.826864 -110.988241,50.829220 -110.990655,50.832403 -110.994140,50.840995 -110.994448,50.844520 -110.992600,50.847852 -110.988879,50.850483 -110.983850,50.852011 -110.956699,50.856420 -110.951610,50.856650 -110.900591,50.853136 -110.900367,50.853089 -110.900109,50.853098 -110.895992,50.852309 -110.868647,50.844053 -110.834110,50.837062 -110.792848,50.830782 -110.792800,50.830770 -110.792642,50.830750 -110.745373,50.823060 -110.675371,50.820133 -110.674447,50.820071 -110.674410,50.820072 -110.610545,50.814594 -110.556382,50.810814 -110.478611,50.825599 -110.478018,50.825626 -110.477458,50.825785 -110.422596,50.833089 -110.417523,50.833180 -110.412279,50.831980 -110.408160,50.829600 -110.405792,50.826404 -110.403393,50.820252 -110.403138,50.816725 -110.405033,50.813405 -110.408788,50.810796 -110.413834,50.809297 -110.414043,50.809291 -110.414220,50.809240 -110.484561,50.799500 -110.560687,50.788792 -110.562480,50.788751 -110.565318,50.788627 -110.669081,50.795659 -110.772880,50.802584 -110.773146,50.802640 -110.773456,50.802630 -110.775585,50.802933 -110.836689,50.814789 -110.872940,50.816456 -110.873382,50.816544 -110.873947,50.816525 -110.878803,50.817556 -110.914774,50.830099 -110.952192,50.832800 -110.970012,50.826694 -110.973262,50.825887 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.682425,42.595103 -80.291433,42.781531</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.366861,42.745845 -80.365472,42.745924 -80.365193,42.745909 -80.364463,42.745950 -80.364402,42.745950 -80.363608,42.745880 -80.363085,42.745889 -80.360467,42.745658 -80.359167,42.745489 -80.357797,42.745187 -80.355116,42.744464 -80.355005,42.744421 -80.354713,42.744359 -80.354636,42.744332 -80.354151,42.744229 -80.354115,42.744220 -80.353490,42.743982 -80.352514,42.743717 -80.349429,42.742544 -80.347945,42.741874 -80.346198,42.740742 -80.344685,42.739548 -80.344512,42.739465 -80.344426,42.739440 -80.344284,42.739379 -80.343999,42.739242 -80.343877,42.739203 -80.343804,42.739166 -80.343748,42.739124 -80.343611,42.739066 -80.343585,42.739045 -80.343538,42.739030 -80.343488,42.738998 -80.343346,42.738929 -80.343322,42.738914 -80.343273,42.738893 -80.342758,42.738549 -80.341599,42.737797 -80.341572,42.737776 -80.341500,42.737707 -80.341273,42.737555 -80.340991,42.737318 -80.340605,42.737013 -80.339965,42.736939 -80.339750,42.736940 -80.338412,42.736786 -80.338252,42.736737 -80.337945,42.736709 -80.337681,42.736705 -80.337376,42.736658 -80.337241,42.736614 -80.337084,42.736610 -80.336712,42.736518 -80.336499,42.736498 -80.336257,42.736442 -80.336090,42.736424 -80.335907,42.736363 -80.335904,42.736362 -80.335798,42.736359 -80.335549,42.736294 -80.335389,42.736286 -80.335097,42.736221 -80.334856,42.736134 -80.334693,42.736099 -80.334565,42.736111 -80.334555,42.736113 -80.334416,42.736125 -80.334405,42.736125 -80.334265,42.736137 -80.334225,42.736140 -80.334210,42.736144 -80.334079,42.736155 -80.334051,42.736162 -80.333929,42.736170 -80.333856,42.736166 -80.333538,42.736194 -80.333392,42.736203 -80.333257,42.736195 -80.332256,42.736252 -80.331978,42.736236 -80.331249,42.736277 -80.331175,42.736277 -80.331175,42.736277 -80.331175,42.736277 -80.331175,42.736277 -80.331126,42.736277 -80.330332,42.736207 -80.329808,42.736215 -80.327190,42.735983 -80.325889,42.735814 -80.325711,42.735769 -80.325267,42.735711 -80.325209,42.735696 -80.325170,42.735693 -80.325078,42.735671 -80.325011,42.735665 -80.324959,42.735647 -80.324913,42.735646 -80.324811,42.735620 -80.324754,42.735618 -80.324656,42.735599 -80.324443,42.735525 -80.324412,42.735518 -80.323519,42.735311 -80.323431,42.735286 -80.323299,42.735232 -80.322591,42.735051 -80.322400,42.734985 -80.320311,42.734376 -80.319413,42.734014 -80.318754,42.733822 -80.318474,42.733703 -80.318044,42.733499 -80.317963,42.733473 -80.316957,42.732995 -80.316446,42.732611 -80.315826,42.732384 -80.314587,42.731628 -80.314477,42.731535 -80.313986,42.731235 -80.313804,42.731108 -80.313552,42.730880 -80.313359,42.730752 -80.313051,42.730481 -80.312980,42.730431 -80.312448,42.730078 -80.312327,42.729979 -80.311883,42.729540 -80.311669,42.729386 -80.310615,42.728346 -80.310331,42.728251 -80.309804,42.727931 -80.309765,42.727927 -80.309686,42.727907 -80.309606,42.727899 -80.309554,42.727882 -80.309509,42.727881 -80.309407,42.727854 -80.309350,42.727853 -80.309253,42.727834 -80.309040,42.727760 -80.307188,42.727285 -80.303231,42.725917 -80.301339,42.725098 -80.299594,42.723965 -80.296436,42.721469 -80.295024,42.720106 -80.294981,42.720041 -80.294964,42.720025 -80.294945,42.719987 -80.294846,42.719837 -80.294693,42.719686 -80.294681,42.719662 -80.294668,42.719651 -80.294443,42.719351 -80.294429,42.719322 -80.294362,42.719266 -80.294302,42.719185 -80.294276,42.719128 -80.294100,42.718893 -80.294072,42.718834 -80.293829,42.718509 -80.293733,42.718365 -80.293520,42.717871 -80.293501,42.717841 -80.293498,42.717837 -80.293498,42.717836 -80.293084,42.717174 -80.292910,42.716769 -80.292821,42.716624 -80.292613,42.716116 -80.292538,42.716007 -80.292507,42.715951 -80.292487,42.715900 -80.292279,42.715561 -80.292220,42.715417 -80.292078,42.714965 -80.292016,42.714855 -80.291955,42.714661 -80.291955,42.714651 -80.291917,42.714582 -80.291858,42.714392 -80.291858,42.714352 -80.291660,42.713723 -80.291661,42.713455 -80.291508,42.713153 -80.291433,42.712691 -80.293098,42.708915 -80.295236,42.705464 -80.300320,42.702524 -80.304681,42.700223 -80.308031,42.696218 -80.312823,42.690935 -80.316287,42.686567 -80.319058,42.684373 -80.323100,42.684691 -80.327433,42.687353 -80.329657,42.688502 -80.334269,42.689504 -80.338233,42.689223 -80.341801,42.689069 -80.346058,42.689049 -80.349610,42.689282 -80.352210,42.690878 -80.352125,42.692774 -80.354089,42.693113 -80.370794,42.685195 -80.378160,42.686049 -80.384206,42.688464 -80.387041,42.689385 -80.386797,42.689615 -80.387227,42.689864 -80.387255,42.689872 -80.388788,42.690561 -80.388961,42.690687 -80.389466,42.690903 -80.389537,42.690926 -80.389567,42.690946 -80.389586,42.690954 -80.389713,42.691033 -80.389791,42.691067 -80.389919,42.690955 -80.390528,42.690499 -80.390705,42.690146 -80.392291,42.687873 -80.393198,42.686780 -80.394179,42.685899 -80.396288,42.684238 -80.396884,42.683878 -80.397416,42.683459 -80.397563,42.683369 -80.398071,42.683101 -80.398182,42.683019 -80.399014,42.682579 -80.399164,42.682533 -80.399175,42.682527 -80.399419,42.682352 -80.399726,42.682201 -80.399757,42.682192 -80.399760,42.682190 -80.399808,42.682177 -80.399886,42.682154 -80.400028,42.682054 -80.400494,42.681831 -80.400542,42.681818 -80.400560,42.681805 -80.400594,42.681788 -80.400636,42.681775 -80.400683,42.681743 -80.400724,42.681728 -80.400746,42.681713 -80.400887,42.681647 -80.400910,42.681641 -80.400928,42.681628 -80.400980,42.681604 -80.400985,42.681601 -80.400995,42.681597 -80.401052,42.681570 -80.401088,42.681560 -80.401116,42.681541 -80.401236,42.681497 -80.401420,42.681393 -80.401445,42.681386 -80.401464,42.681373 -80.401660,42.681284 -80.401708,42.681271 -80.401958,42.681180 -80.402144,42.681078 -80.402190,42.681066 -80.402217,42.681053 -80.402307,42.681029 -80.402364,42.680989 -80.402469,42.680953 -80.402502,42.680935 -80.402588,42.680911 -80.402604,42.680906 -80.402716,42.680832 -80.402937,42.680743 -80.403111,42.680699 -80.403211,42.680634 -80.403371,42.680572 -80.403445,42.680553 -80.403512,42.680524 -80.403551,42.680514 -80.403556,42.680510 -80.403700,42.680459 -80.403765,42.680416 -80.403912,42.680353 -80.403954,42.680342 -80.404071,42.680282 -80.404221,42.680237 -80.404396,42.680166 -80.404598,42.680026 -80.404915,42.679911 -80.405103,42.679807 -80.405400,42.679724 -80.405608,42.679588 -80.406023,42.679418 -80.406041,42.679406 -80.406200,42.679335 -80.406305,42.679306 -80.406418,42.679243 -80.406476,42.679227 -80.406504,42.679208 -80.406604,42.679173 -80.406626,42.679158 -80.406820,42.679078 -80.406866,42.679048 -80.406952,42.679012 -80.407070,42.678982 -80.407093,42.678967 -80.407594,42.678762 -80.407675,42.678741 -80.407690,42.678735 -80.407717,42.678717 -80.407717,42.678717 -80.407760,42.678706 -80.408116,42.678561 -80.408238,42.678516 -80.408238,42.678516 -80.408238,42.678516 -80.408361,42.678472 -80.408504,42.678438 -80.408655,42.678350 -80.409733,42.677792 -80.409873,42.677753 -80.409951,42.677700 -80.410399,42.677498 -80.410472,42.677478 -80.410650,42.677413 -80.410747,42.677349 -80.411470,42.677046 -80.411519,42.677033 -80.411600,42.676999 -80.411752,42.676915 -80.411904,42.676873 -80.411915,42.676868 -80.411945,42.676861 -80.411986,42.676844 -80.412128,42.676749 -80.412508,42.676589 -80.412749,42.676526 -80.412900,42.676427 -80.413042,42.676370 -80.413175,42.676336 -80.413338,42.676231 -80.414765,42.675672 -80.414927,42.675632 -80.415492,42.675411 -80.415626,42.675367 -80.416377,42.675200 -80.417049,42.674977 -80.419662,42.674398 -80.420630,42.674233 -80.420804,42.674198 -80.421770,42.673549 -80.421920,42.673443 -80.423880,42.672318 -80.424093,42.672240 -80.424236,42.672161 -80.424401,42.672115 -80.424506,42.672043 -80.424587,42.672007 -80.424592,42.672004 -80.424631,42.671987 -80.424956,42.671841 -80.425009,42.671827 -80.425068,42.671794 -80.425253,42.671743 -80.425387,42.671653 -80.425714,42.671513 -80.425932,42.671418 -80.425988,42.671403 -80.426026,42.671377 -80.426288,42.671264 -80.426600,42.671126 -80.426624,42.671119 -80.426716,42.671086 -80.426765,42.671053 -80.426826,42.671026 -80.427051,42.670966 -80.427621,42.670762 -80.428171,42.670542 -80.430210,42.669841 -80.430818,42.669703 -80.431540,42.669455 -80.431577,42.669446 -80.432241,42.669326 -80.432439,42.669265 -80.434180,42.668951 -80.434587,42.668950 -80.435058,42.668819 -80.436060,42.668729 -80.438071,42.668612 -80.438351,42.668628 -80.439080,42.668585 -80.439128,42.668586 -80.439921,42.668655 -80.440442,42.668646 -80.443044,42.668873 -80.442318,42.667450 -80.441716,42.665794 -80.441594,42.665054 -80.441436,42.663570 -80.441457,42.663363 -80.441399,42.662825 -80.441400,42.662771 -80.441494,42.662186 -80.441482,42.661802 -80.441662,42.660681 -80.441790,42.659876 -80.442017,42.658920 -80.442681,42.657477 -80.442782,42.656846 -80.443009,42.655890 -80.443640,42.654460 -80.445226,42.651700 -80.446006,42.650674 -80.446180,42.650370 -80.446266,42.650272 -80.446366,42.650199 -80.446501,42.650022 -80.446546,42.649991 -80.446587,42.649924 -80.446709,42.649819 -80.446822,42.649674 -80.446849,42.649651 -80.446908,42.649575 -80.448537,42.648219 -80.450027,42.647212 -80.451512,42.646144 -80.452870,42.645359 -80.453137,42.645167 -80.453238,42.645116 -80.453274,42.645106 -80.453307,42.645082 -80.453652,42.644910 -80.453652,42.644909 -80.453652,42.644909 -80.453762,42.644855 -80.453771,42.644852 -80.454270,42.644601 -80.454442,42.644551 -80.454569,42.644479 -80.454669,42.644410 -80.454733,42.644387 -80.454785,42.644357 -80.454851,42.644339 -80.454902,42.644304 -80.455061,42.644233 -80.455182,42.644200 -80.455917,42.643934 -80.456616,42.643660 -80.459176,42.642813 -80.459992,42.642632 -80.460685,42.642403 -80.460929,42.642350 -80.461340,42.642281 -80.463111,42.641055 -80.464952,42.640010 -80.465017,42.639987 -80.465069,42.639957 -80.465136,42.639939 -80.465186,42.639904 -80.465345,42.639833 -80.465467,42.639800 -80.465781,42.639686 -80.465912,42.639601 -80.467028,42.639156 -80.467158,42.639123 -80.467283,42.639073 -80.467287,42.639070 -80.467398,42.639026 -80.467409,42.639023 -80.467682,42.638914 -80.467890,42.638843 -80.468143,42.638786 -80.468906,42.638354 -80.469268,42.638253 -80.469514,42.638093 -80.470076,42.637867 -80.470081,42.637864 -80.471385,42.637323 -80.472788,42.636729 -80.472887,42.636703 -80.472951,42.636661 -80.473697,42.636350 -80.474032,42.636193 -80.474077,42.636181 -80.474113,42.636156 -80.474534,42.636002 -80.474782,42.635865 -80.474947,42.635819 -80.474969,42.635803 -80.475188,42.635698 -80.475586,42.635505 -80.475720,42.635466 -80.475833,42.635388 -80.476165,42.635265 -80.476437,42.635113 -80.476532,42.635087 -80.476584,42.635051 -80.476729,42.634999 -80.476794,42.634955 -80.476941,42.634893 -80.477169,42.634833 -80.477219,42.634798 -80.477625,42.634657 -80.477796,42.634547 -80.478004,42.634467 -80.478584,42.634324 -80.479726,42.633927 -80.481417,42.633510 -80.482143,42.633295 -80.483080,42.633101 -80.483102,42.633094 -80.483264,42.633054 -80.483679,42.632978 -80.483775,42.632958 -80.484137,42.632851 -80.484308,42.632824 -80.484416,42.632825 -80.484608,42.632786 -80.484679,42.632787 -80.484779,42.632759 -80.484908,42.632752 -80.485079,42.632721 -80.485131,42.632718 -80.485250,42.632694 -80.487828,42.632589 -80.489195,42.632643 -80.490429,42.632672 -80.491944,42.632685 -80.492291,42.632716 -80.492318,42.632717 -80.492552,42.632739 -80.494486,42.632911 -80.494582,42.632935 -80.494620,42.632939 -80.494807,42.632987 -80.494992,42.633007 -80.495071,42.633033 -80.495126,42.633034 -80.495369,42.633097 -80.495499,42.633102 -80.495633,42.633130 -80.496010,42.633263 -80.497562,42.633665 -80.500562,42.634725 -80.501143,42.634870 -80.501489,42.635001 -80.502224,42.635184 -80.502333,42.635221 -80.503006,42.635507 -80.503369,42.635612 -80.505382,42.636468 -80.506361,42.636933 -80.507157,42.637392 -80.508693,42.638358 -80.508876,42.638516 -80.509433,42.638866 -80.509518,42.638929 -80.509693,42.639093 -80.509854,42.638945 -80.509926,42.638856 -80.509964,42.638830 -80.509975,42.638811 -80.510209,42.638620 -80.510280,42.638555 -80.510357,42.638438 -80.510406,42.638393 -80.510798,42.638137 -80.511066,42.637918 -80.511232,42.637766 -80.512215,42.636963 -80.512646,42.636697 -80.513182,42.636259 -80.513293,42.636188 -80.513866,42.635873 -80.514044,42.635739 -80.514297,42.635600 -80.514589,42.635225 -80.514611,42.635206 -80.514628,42.635186 -80.514653,42.635168 -80.514666,42.635146 -80.514728,42.635083 -80.514775,42.635050 -80.514944,42.634908 -80.515139,42.634731 -80.515142,42.634727 -80.515148,42.634722 -80.515690,42.634230 -80.515714,42.634211 -80.515917,42.633896 -80.516298,42.633534 -80.516391,42.632415 -80.516674,42.630978 -80.517081,42.629965 -80.518056,42.627984 -80.518353,42.627567 -80.518624,42.627015 -80.518649,42.626979 -80.519003,42.626548 -80.519083,42.626402 -80.519825,42.625498 -80.519857,42.625367 -80.519858,42.625306 -80.520063,42.624467 -80.520143,42.624328 -80.520176,42.624141 -80.520180,42.624049 -80.520200,42.624006 -80.520205,42.623978 -80.520232,42.623918 -80.520244,42.623853 -80.520268,42.623815 -80.520269,42.623781 -80.520281,42.623756 -80.520196,42.623614 -80.520149,42.623488 -80.520079,42.623258 -80.520039,42.623189 -80.519992,42.623054 -80.519895,42.622719 -80.519869,42.622672 -80.519648,42.621905 -80.519653,42.621450 -80.519458,42.621034 -80.519314,42.620061 -80.519321,42.619979 -80.519260,42.619573 -80.519249,42.619419 -80.519268,42.619266 -80.519254,42.619138 -80.519275,42.618931 -80.519217,42.618392 -80.519217,42.618284 -80.519310,42.617699 -80.519298,42.617317 -80.519603,42.615394 -80.519828,42.614439 -80.519850,42.614390 -80.519853,42.614376 -80.519976,42.614069 -80.519997,42.613962 -80.520021,42.613923 -80.520022,42.613899 -80.520155,42.613621 -80.520166,42.613485 -80.520191,42.613422 -80.520347,42.613184 -80.520391,42.613095 -80.520439,42.613028 -80.520554,42.612786 -80.520555,42.612785 -80.520652,42.612580 -80.520689,42.612490 -80.520689,42.612489 -80.520699,42.612371 -80.520723,42.612308 -80.520942,42.611975 -80.521439,42.610938 -80.523170,42.608306 -80.524185,42.607044 -80.524807,42.606455 -80.526116,42.605320 -80.526329,42.605184 -80.526803,42.604773 -80.526852,42.604738 -80.527421,42.604405 -80.527488,42.604365 -80.527835,42.604095 -80.527938,42.604035 -80.528192,42.603831 -80.528278,42.603778 -80.528815,42.603488 -80.528953,42.603385 -80.530339,42.602638 -80.530993,42.602435 -80.531559,42.602061 -80.532591,42.601637 -80.532672,42.601616 -80.533114,42.601434 -80.533260,42.601381 -80.533406,42.601346 -80.533769,42.601201 -80.534184,42.601059 -80.534841,42.600909 -80.534865,42.600901 -80.534938,42.600883 -80.534943,42.600882 -80.535669,42.600637 -80.538701,42.599944 -80.540249,42.599674 -80.540410,42.599666 -80.540456,42.599656 -80.540551,42.599659 -80.540637,42.599654 -80.540878,42.599609 -80.540937,42.599610 -80.540969,42.599602 -80.541334,42.599569 -80.541401,42.599571 -80.541507,42.599544 -80.541715,42.599527 -80.541772,42.599529 -80.541999,42.599509 -80.542064,42.599511 -80.542515,42.599471 -80.542518,42.599470 -80.543055,42.599198 -80.543119,42.599175 -80.543140,42.599163 -80.543432,42.599041 -80.543506,42.599000 -80.543563,42.598984 -80.543592,42.598964 -80.543767,42.598902 -80.543874,42.598858 -80.543958,42.598802 -80.544043,42.598766 -80.544216,42.598721 -80.544360,42.598668 -80.544471,42.598641 -80.544806,42.598502 -80.546015,42.598052 -80.546329,42.597976 -80.547003,42.597725 -80.547064,42.597707 -80.547825,42.597551 -80.548240,42.597417 -80.550626,42.596928 -80.551837,42.596730 -80.552840,42.596639 -80.554852,42.596519 -80.555133,42.596534 -80.555192,42.596531 -80.555341,42.596474 -80.555488,42.596430 -80.556255,42.596268 -80.556739,42.596109 -80.557550,42.595939 -80.557588,42.595932 -80.558093,42.595768 -80.558264,42.595732 -80.558787,42.595646 -80.558880,42.595618 -80.560120,42.595414 -80.560314,42.595414 -80.560680,42.595342 -80.560744,42.595324 -80.560778,42.595322 -80.560811,42.595316 -80.560845,42.595316 -80.560878,42.595308 -80.561024,42.595290 -80.561090,42.595292 -80.561386,42.595277 -80.561528,42.595240 -80.562546,42.595151 -80.562623,42.595154 -80.563101,42.595112 -80.563259,42.595103 -80.563941,42.595142 -80.565024,42.595107 -80.566357,42.595184 -80.566985,42.595185 -80.568461,42.595310 -80.568963,42.595311 -80.569109,42.595330 -80.569269,42.595379 -80.569620,42.595409 -80.569669,42.595425 -80.569766,42.595427 -80.569791,42.595433 -80.569859,42.595434 -80.569981,42.595453 -80.570034,42.595470 -80.570141,42.595480 -80.570192,42.595497 -80.570263,42.595498 -80.570387,42.595529 -80.570545,42.595544 -80.570941,42.595624 -80.570949,42.595624 -80.571083,42.595642 -80.571174,42.595671 -80.571213,42.595679 -80.571222,42.595680 -80.571435,42.595699 -80.571484,42.595715 -80.571485,42.595716 -80.571569,42.595717 -80.571656,42.595738 -80.571920,42.595774 -80.572024,42.595800 -80.572140,42.595811 -80.572440,42.595889 -80.572701,42.595917 -80.572754,42.595935 -80.572787,42.595935 -80.573164,42.596034 -80.573348,42.596042 -80.573433,42.596060 -80.573884,42.596221 -80.575287,42.596587 -80.578850,42.597863 -80.580558,42.598612 -80.580606,42.598642 -80.580619,42.598648 -80.580909,42.598835 -80.581126,42.598930 -80.581162,42.598958 -80.581187,42.598966 -80.581515,42.599184 -80.581694,42.599249 -80.581755,42.599285 -80.582102,42.599575 -80.583175,42.600288 -80.585771,42.602453 -80.586948,42.603615 -80.587062,42.603837 -80.587249,42.603992 -80.587520,42.604351 -80.588441,42.605233 -80.588586,42.605516 -80.588815,42.605707 -80.589520,42.606670 -80.589566,42.606769 -80.589853,42.607160 -80.590054,42.607481 -80.592763,42.608381 -80.594775,42.609234 -80.594802,42.609251 -80.594831,42.609264 -80.594855,42.609283 -80.594887,42.609294 -80.594972,42.609339 -80.595018,42.609375 -80.595147,42.609458 -80.596038,42.609987 -80.596324,42.610177 -80.597295,42.610787 -80.597480,42.610945 -80.598037,42.611295 -80.598158,42.611386 -80.598503,42.611707 -80.598889,42.611964 -80.598986,42.612046 -80.599412,42.612468 -80.599593,42.612599 -80.599948,42.612950 -80.600994,42.613939 -80.601112,42.613975 -80.602456,42.614587 -80.602715,42.614777 -80.603114,42.614909 -80.604332,42.615645 -80.606624,42.617228 -80.607137,42.617689 -80.607699,42.618077 -80.607870,42.618230 -80.610760,42.617420 -80.613000,42.616972 -80.614004,42.616879 -80.616020,42.616759 -80.616303,42.616774 -80.617032,42.616730 -80.617056,42.616730 -80.617848,42.616798 -80.618365,42.616788 -80.620965,42.617010 -80.622257,42.617175 -80.622286,42.617182 -80.622306,42.617184 -80.622341,42.617196 -80.622401,42.617211 -80.622526,42.617223 -80.622552,42.617232 -80.622575,42.617232 -80.622720,42.617269 -80.622795,42.617271 -80.622844,42.617280 -80.622881,42.617293 -80.623060,42.617331 -80.623141,42.617359 -80.623210,42.617362 -80.624020,42.617531 -80.624098,42.617559 -80.624586,42.617661 -80.624659,42.617680 -80.625287,42.617916 -80.626253,42.618176 -80.627173,42.618524 -80.627578,42.618625 -80.627685,42.618662 -80.627791,42.618707 -80.627876,42.618728 -80.628258,42.618855 -80.628298,42.618872 -80.628342,42.618883 -80.628397,42.618901 -80.628922,42.619123 -80.629227,42.619210 -80.629246,42.619217 -80.629355,42.619268 -80.629434,42.619291 -80.629714,42.619410 -80.630085,42.619562 -80.630445,42.619655 -80.630908,42.619818 -80.631540,42.620094 -80.631805,42.620172 -80.632313,42.620393 -80.632340,42.620406 -80.632348,42.620408 -80.633203,42.620780 -80.633369,42.620860 -80.633466,42.620889 -80.633621,42.620960 -80.633658,42.620987 -80.633831,42.621052 -80.635309,42.621715 -80.635339,42.621734 -80.635358,42.621742 -80.635479,42.621819 -80.635589,42.621866 -80.635613,42.621885 -80.635637,42.621893 -80.635782,42.621988 -80.635868,42.622017 -80.635916,42.622045 -80.636118,42.622207 -80.637505,42.623113 -80.638876,42.624219 -80.639777,42.624908 -80.640586,42.625000 -80.640601,42.625005 -80.640625,42.625005 -80.640877,42.625033 -80.640990,42.625067 -80.641166,42.625066 -80.641283,42.625080 -80.641374,42.625107 -80.641566,42.625109 -80.641688,42.625128 -80.641741,42.625145 -80.641845,42.625154 -80.641896,42.625171 -80.641967,42.625172 -80.642070,42.625198 -80.642124,42.625199 -80.642169,42.625210 -80.642246,42.625217 -80.644446,42.625763 -80.648660,42.627160 -80.650674,42.628012 -80.652192,42.628960 -80.654992,42.631032 -80.655921,42.631894 -80.656274,42.632155 -80.656335,42.632218 -80.656404,42.632342 -80.656644,42.632565 -80.656658,42.632591 -80.656705,42.632628 -80.656812,42.632781 -80.657014,42.632975 -80.657024,42.632990 -80.657075,42.633038 -80.657978,42.634329 -80.659482,42.637004 -80.659883,42.638032 -80.660083,42.638388 -80.660131,42.638541 -80.660131,42.638660 -80.660379,42.639015 -80.660466,42.639209 -80.660799,42.639686 -80.660859,42.639794 -80.661079,42.640361 -80.661294,42.640717 -80.662022,42.642593 -80.662315,42.643545 -80.662326,42.643665 -80.662339,42.643698 -80.662336,42.643768 -80.662342,42.643834 -80.662405,42.644013 -80.662401,42.644113 -80.662428,42.644167 -80.662432,42.644213 -80.662437,42.644223 -80.662465,42.644421 -80.662494,42.644482 -80.662518,42.644635 -80.662514,42.644686 -80.662528,42.644726 -80.662524,42.644828 -80.662529,42.644859 -80.662746,42.644996 -80.663189,42.645153 -80.664160,42.645721 -80.664224,42.645774 -80.664635,42.646015 -80.664732,42.646078 -80.665198,42.646482 -80.665926,42.646976 -80.666695,42.647644 -80.666965,42.647820 -80.667428,42.647982 -80.668183,42.648413 -80.668220,42.648443 -80.668232,42.648450 -80.668256,42.648458 -80.668256,42.648458 -80.668278,42.648476 -80.668555,42.648634 -80.668628,42.648679 -80.668628,42.648679 -80.668628,42.648679 -80.668700,42.648725 -80.669114,42.649076 -80.670018,42.649680 -80.672435,42.651730 -80.673535,42.652825 -80.673650,42.653047 -80.673838,42.653202 -80.674418,42.653967 -80.674447,42.654028 -80.674695,42.654355 -80.674743,42.654427 -80.674961,42.654923 -80.675396,42.655610 -80.676461,42.658034 -80.676873,42.659274 -80.676898,42.659541 -80.676949,42.659687 -80.677341,42.659993 -80.678762,42.661349 -80.678794,42.661397 -80.678810,42.661413 -80.678906,42.661561 -80.679034,42.661686 -80.679056,42.661728 -80.679083,42.661749 -80.679211,42.661945 -80.679306,42.662023 -80.679355,42.662086 -80.679496,42.662380 -80.680210,42.663468 -80.681583,42.666319 -80.682102,42.667790 -80.682109,42.667868 -80.682113,42.667880 -80.682112,42.667904 -80.682140,42.668197 -80.682189,42.668341 -80.682208,42.668381 -80.682212,42.668407 -80.682213,42.668410 -80.682213,42.668413 -80.682277,42.668846 -80.682272,42.668917 -80.682325,42.669031 -80.682336,42.669121 -80.682330,42.669196 -80.682358,42.669387 -80.682351,42.669474 -80.682414,42.669891 -80.682425,42.670053 -80.682374,42.670489 -80.682379,42.670537 -80.682365,42.670684 -80.682377,42.670911 -80.682419,42.671285 -80.682418,42.671384 -80.682342,42.671875 -80.682377,42.672354 -80.682364,42.672516 -80.682262,42.673042 -80.682265,42.673237 -80.681987,42.674672 -80.681807,42.675385 -80.681518,42.676037 -80.681473,42.676309 -80.681469,42.676495 -80.681456,42.676540 -80.681429,42.676587 -80.681451,42.677026 -80.681438,42.677125 -80.681339,42.677577 -80.681340,42.677692 -80.681094,42.678820 -80.680836,42.679284 -80.680798,42.679807 -80.680475,42.680650 -80.680437,42.680709 -80.680429,42.680732 -80.680335,42.681334 -80.680113,42.682288 -80.679546,42.683617 -80.678133,42.686192 -80.677512,42.687029 -80.677288,42.687438 -80.677251,42.687483 -80.677080,42.687611 -80.676808,42.687977 -80.676791,42.687988 -80.676771,42.688022 -80.676583,42.688187 -80.676328,42.688516 -80.676322,42.688521 -80.676291,42.688561 -80.675102,42.689610 -80.675019,42.689673 -80.675004,42.689700 -80.673788,42.691292 -80.673124,42.692064 -80.673025,42.692148 -80.673014,42.692163 -80.672729,42.692411 -80.672608,42.692561 -80.672521,42.692622 -80.672498,42.692660 -80.672190,42.692911 -80.672092,42.693058 -80.671982,42.693156 -80.671540,42.693442 -80.670658,42.694164 -80.669626,42.694832 -80.668918,42.695354 -80.667883,42.695962 -80.667810,42.696009 -80.667738,42.696048 -80.667396,42.696301 -80.667310,42.696345 -80.667142,42.696396 -80.666840,42.696574 -80.666804,42.696584 -80.666754,42.696619 -80.666579,42.696685 -80.666285,42.696847 -80.666264,42.696855 -80.666199,42.696892 -80.664380,42.697580 -80.662988,42.697999 -80.660946,42.698636 -80.660669,42.698696 -80.660662,42.698699 -80.660608,42.698715 -80.659695,42.698907 -80.659153,42.699076 -80.659055,42.699093 -80.658880,42.699094 -80.658655,42.699162 -80.658545,42.699180 -80.658424,42.699179 -80.658297,42.699206 -80.658269,42.699206 -80.658250,42.699210 -80.658199,42.699224 -80.658174,42.699226 -80.658103,42.699241 -80.658059,42.699240 -80.657993,42.699258 -80.657935,42.699262 -80.657868,42.699282 -80.657807,42.699290 -80.657724,42.699289 -80.657563,42.699323 -80.657535,42.699322 -80.657502,42.699331 -80.657362,42.699339 -80.657196,42.699372 -80.657031,42.699388 -80.656999,42.699394 -80.656971,42.699393 -80.656935,42.699396 -80.656914,42.699403 -80.656826,42.699407 -80.656715,42.699417 -80.656655,42.699433 -80.656570,42.699442 -80.656479,42.699439 -80.656189,42.699465 -80.656038,42.699474 -80.655978,42.699471 -80.655765,42.699491 -80.654168,42.699587 -80.653885,42.699572 -80.653154,42.699616 -80.653117,42.699616 -80.652324,42.699549 -80.651807,42.699558 -80.649204,42.699337 -80.647911,42.699173 -80.647906,42.699172 -80.647130,42.699098 -80.646780,42.698983 -80.646454,42.698968 -80.645821,42.698832 -80.645748,42.698992 -80.643853,42.702105 -80.642697,42.703593 -80.642074,42.704183 -80.640763,42.705323 -80.640575,42.705442 -80.639401,42.706462 -80.639186,42.706599 -80.638712,42.707011 -80.638663,42.707047 -80.638037,42.707413 -80.637680,42.707690 -80.635625,42.708892 -80.634552,42.709450 -80.633330,42.709899 -80.633320,42.709905 -80.632283,42.710332 -80.632201,42.710354 -80.631757,42.710536 -80.631684,42.710563 -80.631012,42.710724 -80.630078,42.711045 -80.626789,42.711830 -80.625105,42.712133 -80.622929,42.712253 -80.622885,42.712253 -80.622824,42.712257 -80.621753,42.712282 -80.621736,42.712283 -80.621728,42.712282 -80.621458,42.712289 -80.621297,42.712277 -80.621130,42.712287 -80.620948,42.712300 -80.620882,42.712302 -80.620723,42.712312 -80.620600,42.712311 -80.620576,42.712309 -80.619624,42.712331 -80.618782,42.712270 -80.618020,42.712288 -80.617898,42.712278 -80.617315,42.712207 -80.617182,42.712207 -80.615757,42.712032 -80.615445,42.711937 -80.615048,42.711928 -80.614994,42.711915 -80.614876,42.711925 -80.614804,42.711922 -80.614337,42.711964 -80.614032,42.711981 -80.613359,42.711944 -80.612246,42.711981 -80.611353,42.711931 -80.610678,42.711936 -80.610499,42.711922 -80.610172,42.711939 -80.606658,42.711861 -80.607281,42.712786 -80.608924,42.715977 -80.609532,42.717632 -80.609657,42.718374 -80.609821,42.719863 -80.609800,42.720071 -80.609860,42.720610 -80.609860,42.720619 -80.609768,42.721204 -80.609781,42.721586 -80.609609,42.722681 -80.609666,42.723203 -80.609645,42.723411 -80.609705,42.723950 -80.609705,42.723977 -80.609613,42.724562 -80.609626,42.724945 -80.609324,42.726867 -80.609100,42.727822 -80.608359,42.729448 -80.606460,42.732560 -80.605302,42.734048 -80.604679,42.734638 -80.603367,42.735776 -80.603152,42.735912 -80.602677,42.736324 -80.602604,42.736378 -80.601977,42.736744 -80.601620,42.737021 -80.600332,42.737773 -80.600124,42.737934 -80.599501,42.738298 -80.599144,42.738575 -80.599021,42.738647 -80.598570,42.738881 -80.598493,42.738938 -80.597719,42.739341 -80.597603,42.739376 -80.597485,42.739462 -80.597417,42.739498 -80.597402,42.739502 -80.597354,42.739537 -80.597207,42.739608 -80.597166,42.739620 -80.597111,42.739652 -80.597037,42.739672 -80.596964,42.739723 -80.596892,42.739750 -80.596868,42.739767 -80.596808,42.739789 -80.596721,42.739838 -80.596541,42.739889 -80.596363,42.739989 -80.596287,42.740010 -80.596282,42.740014 -80.596240,42.740042 -80.596236,42.740044 -80.596210,42.740061 -80.596111,42.740101 -80.596005,42.740148 -80.595985,42.740153 -80.595864,42.740203 -80.595752,42.740232 -80.595684,42.740277 -80.595174,42.740487 -80.595134,42.740497 -80.595120,42.740507 -80.594929,42.740585 -80.594863,42.740602 -80.594649,42.740691 -80.594594,42.740710 -80.594404,42.740789 -80.594257,42.740842 -80.594114,42.740876 -80.594012,42.740913 -80.593566,42.741020 -80.593508,42.741043 -80.593011,42.741221 -80.592924,42.741266 -80.592856,42.741291 -80.592801,42.741329 -80.592737,42.741352 -80.592716,42.741364 -80.592451,42.741472 -80.592425,42.741490 -80.592392,42.741504 -80.592387,42.741505 -80.592348,42.741528 -80.592290,42.741544 -80.592262,42.741563 -80.591999,42.741657 -80.591894,42.741727 -80.591808,42.741762 -80.591617,42.741812 -80.591600,42.741819 -80.591545,42.741839 -80.591527,42.741843 -80.591482,42.741861 -80.591336,42.741913 -80.591169,42.741953 -80.590765,42.742118 -80.589310,42.742637 -80.588851,42.742745 -80.588135,42.743001 -80.588000,42.743037 -80.587277,42.743176 -80.586992,42.743266 -80.586651,42.743332 -80.586407,42.743411 -80.586321,42.743429 -80.585797,42.743515 -80.585703,42.743544 -80.584461,42.743748 -80.584265,42.743748 -80.583900,42.743820 -80.583835,42.743838 -80.583800,42.743840 -80.583767,42.743846 -80.583732,42.743846 -80.583699,42.743855 -80.583626,42.743863 -80.583559,42.743862 -80.583400,42.743870 -80.583215,42.743905 -80.583153,42.743904 -80.583117,42.743914 -80.582808,42.743926 -80.582667,42.743963 -80.582569,42.743972 -80.582134,42.743954 -80.580519,42.744021 -80.576438,42.743860 -80.576436,42.743859 -80.575419,42.743921 -80.574171,42.744176 -80.572957,42.744375 -80.570636,42.744491 -80.566007,42.744386 -80.563699,42.744166 -80.563640,42.744152 -80.563602,42.744148 -80.563517,42.744127 -80.563432,42.744118 -80.563379,42.744101 -80.563334,42.744100 -80.563224,42.744072 -80.563164,42.744070 -80.563066,42.744052 -80.562844,42.743976 -80.561004,42.743510 -80.557050,42.742155 -80.555158,42.741343 -80.554358,42.740883 -80.552815,42.739915 -80.552630,42.739757 -80.552072,42.739407 -80.552048,42.739389 -80.551552,42.738926 -80.551176,42.738663 -80.549547,42.737144 -80.548789,42.736352 -80.547757,42.734815 -80.547116,42.733567 -80.546748,42.733182 -80.545716,42.731646 -80.545134,42.730512 -80.545059,42.730464 -80.541889,42.727977 -80.540469,42.726619 -80.540299,42.726286 -80.540040,42.726067 -80.539706,42.725601 -80.539297,42.725260 -80.538666,42.724637 -80.537171,42.723464 -80.535752,42.722105 -80.534720,42.720569 -80.533082,42.717376 -80.532477,42.715721 -80.532475,42.715695 -80.532466,42.715671 -80.532467,42.715646 -80.532455,42.715622 -80.532443,42.715568 -80.532445,42.715519 -80.532303,42.713919 -80.531991,42.713775 -80.530910,42.713317 -80.530572,42.713099 -80.530545,42.713090 -80.529581,42.712524 -80.528510,42.711826 -80.528049,42.711536 -80.527940,42.711443 -80.527772,42.711344 -80.527738,42.711322 -80.527642,42.711238 -80.527306,42.711028 -80.527209,42.710955 -80.527064,42.710820 -80.526859,42.710686 -80.526701,42.710559 -80.526419,42.710286 -80.526338,42.710229 -80.526324,42.710216 -80.526317,42.710209 -80.526064,42.710038 -80.525906,42.709902 -80.525503,42.709496 -80.525351,42.709386 -80.524296,42.708326 -80.524206,42.708168 -80.523836,42.707812 -80.523795,42.707781 -80.523782,42.707761 -80.523765,42.707744 -80.523754,42.707723 -80.523734,42.707707 -80.523673,42.707635 -80.523653,42.707596 -80.523565,42.707464 -80.522989,42.706682 -80.521841,42.704868 -80.521652,42.704418 -80.521314,42.703886 -80.521278,42.703804 -80.521116,42.703315 -80.521033,42.703170 -80.520767,42.702370 -80.520561,42.702252 -80.520488,42.702207 -80.520076,42.701856 -80.519170,42.701248 -80.518140,42.700371 -80.518300,42.701847 -80.518279,42.702054 -80.518337,42.702592 -80.518337,42.702646 -80.518244,42.703231 -80.518257,42.703615 -80.517951,42.705540 -80.517725,42.706496 -80.517703,42.706545 -80.517700,42.706559 -80.517591,42.706797 -80.517557,42.706972 -80.517533,42.707011 -80.517532,42.707035 -80.517399,42.707312 -80.517388,42.707448 -80.517363,42.707511 -80.517144,42.707843 -80.516646,42.708882 -80.515434,42.710722 -80.515236,42.711058 -80.514979,42.711392 -80.514942,42.711469 -80.514911,42.711517 -80.514412,42.712135 -80.514393,42.712172 -80.514260,42.712345 -80.514193,42.712458 -80.514144,42.712512 -80.514117,42.712531 -80.513168,42.713766 -80.512499,42.714540 -80.512313,42.714668 -80.512215,42.714820 -80.511634,42.715372 -80.511594,42.715399 -80.511335,42.715644 -80.511274,42.715698 -80.511048,42.715842 -80.511017,42.715871 -80.510503,42.716316 -80.510290,42.716451 -80.509815,42.716862 -80.509729,42.716925 -80.509301,42.717174 -80.509261,42.717205 -80.509030,42.717346 -80.508743,42.717568 -80.508442,42.717743 -80.508133,42.717987 -80.508059,42.718032 -80.507553,42.718301 -80.507442,42.718383 -80.507197,42.718512 -80.507102,42.718584 -80.507004,42.718638 -80.506655,42.718813 -80.506616,42.718841 -80.505830,42.719235 -80.505630,42.719294 -80.505591,42.719316 -80.505431,42.719427 -80.505326,42.719465 -80.505244,42.719511 -80.505138,42.719541 -80.505058,42.719595 -80.504653,42.719773 -80.504492,42.719817 -80.503936,42.720096 -80.503573,42.720197 -80.503327,42.720358 -80.502088,42.720854 -80.501969,42.720884 -80.501946,42.720894 -80.501334,42.721156 -80.501202,42.721191 -80.501154,42.721223 -80.500641,42.721436 -80.500633,42.721442 -80.500556,42.721470 -80.500480,42.721513 -80.500339,42.721552 -80.500182,42.721618 -80.500145,42.721631 -80.500021,42.721713 -80.499140,42.722079 -80.499132,42.722084 -80.498072,42.722517 -80.497917,42.722573 -80.497910,42.722577 -80.497900,42.722579 -80.497795,42.722854 -80.497069,42.724446 -80.496900,42.724690 -80.496654,42.725229 -80.495546,42.727058 -80.495156,42.727559 -80.495007,42.727839 -80.493826,42.729357 -80.493184,42.730094 -80.491652,42.731385 -80.488276,42.733720 -80.486432,42.734766 -80.485854,42.734986 -80.485806,42.735013 -80.485724,42.735036 -80.485723,42.735036 -80.485687,42.735060 -80.485643,42.735078 -80.485606,42.735103 -80.485018,42.735361 -80.485009,42.735364 -80.484069,42.735851 -80.484062,42.735853 -80.484055,42.735857 -80.484048,42.735859 -80.484042,42.735863 -80.483711,42.736015 -80.483697,42.736019 -80.483260,42.736178 -80.483125,42.736265 -80.481940,42.736742 -80.481827,42.736771 -80.481328,42.736971 -80.481022,42.737078 -80.480886,42.737109 -80.480304,42.737411 -80.479818,42.737546 -80.479502,42.737748 -80.477867,42.738375 -80.477650,42.738428 -80.477420,42.738516 -80.477168,42.738644 -80.476921,42.738718 -80.476699,42.738871 -80.474614,42.739630 -80.470281,42.740835 -80.468034,42.741280 -80.467993,42.741282 -80.467959,42.741288 -80.467947,42.741289 -80.467932,42.741292 -80.467903,42.741291 -80.467888,42.741292 -80.467857,42.741301 -80.467840,42.741301 -80.467831,42.741304 -80.467756,42.741313 -80.467657,42.741310 -80.465484,42.741412 -80.464769,42.741393 -80.464652,42.741650 -80.464552,42.742071 -80.464218,42.742929 -80.463431,42.744617 -80.463235,42.744897 -80.462980,42.745446 -80.462918,42.745545 -80.462532,42.746033 -80.462402,42.746276 -80.461279,42.747698 -80.460672,42.748389 -80.459138,42.749679 -80.455759,42.752014 -80.455460,42.752183 -80.455565,42.753359 -80.455416,42.756771 -80.455113,42.758471 -80.454366,42.760096 -80.453619,42.761312 -80.452925,42.762819 -80.452705,42.763177 -80.452605,42.763432 -80.451789,42.765166 -80.451580,42.765464 -80.451320,42.766016 -80.451245,42.766133 -80.450863,42.766614 -80.450741,42.766840 -80.449646,42.768216 -80.449055,42.768886 -80.447689,42.770058 -80.444699,42.772205 -80.443845,42.772697 -80.443481,42.773129 -80.443101,42.773448 -80.442629,42.773998 -80.442562,42.774055 -80.442543,42.774079 -80.442381,42.774221 -80.442301,42.774320 -80.442238,42.774364 -80.442215,42.774400 -80.442033,42.774550 -80.441973,42.774641 -80.441887,42.774722 -80.441569,42.774932 -80.441350,42.775123 -80.441185,42.775246 -80.441184,42.775247 -80.440479,42.775826 -80.439904,42.776205 -80.438759,42.777061 -80.437803,42.777625 -80.437360,42.777956 -80.437213,42.778036 -80.436862,42.778212 -80.436823,42.778240 -80.436167,42.778568 -80.436046,42.778604 -80.435950,42.778658 -80.435858,42.778722 -80.435650,42.778820 -80.435587,42.778838 -80.435537,42.778873 -80.435479,42.778894 -80.435423,42.778925 -80.434531,42.779296 -80.432708,42.779978 -80.432433,42.780045 -80.431776,42.780291 -80.431567,42.780353 -80.430798,42.780512 -80.430330,42.780664 -80.430322,42.780665 -80.430031,42.780765 -80.429921,42.780792 -80.429255,42.780911 -80.429056,42.780973 -80.427310,42.781287 -80.426902,42.781288 -80.426430,42.781419 -80.424106,42.781531 -80.419474,42.781419 -80.417165,42.781195 -80.414960,42.780643 -80.410739,42.779233 -80.410632,42.779188 -80.407481,42.778173 -80.405839,42.777484 -80.405582,42.777402 -80.405473,42.777347 -80.405426,42.777312 -80.405319,42.777266 -80.405279,42.777235 -80.405209,42.777212 -80.405138,42.777166 -80.405055,42.777131 -80.404792,42.776961 -80.404423,42.776804 -80.404102,42.776551 -80.403757,42.776425 -80.402462,42.775633 -80.402340,42.775529 -80.401834,42.775220 -80.401615,42.775065 -80.401117,42.774612 -80.400607,42.774258 -80.400049,42.773752 -80.399993,42.773710 -80.399133,42.772911 -80.398739,42.772621 -80.398642,42.772521 -80.398564,42.772383 -80.398305,42.772142 -80.398285,42.772103 -80.398208,42.772043 -80.398133,42.771934 -80.397872,42.771664 -80.397860,42.771646 -80.397775,42.771564 -80.396746,42.770026 -80.395117,42.766830 -80.394515,42.765173 -80.394470,42.764896 -80.394090,42.764151 -80.393489,42.762494 -80.393409,42.761585 -80.393061,42.761311 -80.391645,42.759950 -80.391076,42.759193 -80.390041,42.757642 -80.389920,42.757363 -80.389576,42.756847 -80.387942,42.753626 -80.387742,42.753073 -80.387590,42.752814 -80.387182,42.751684 -80.366861,42.745845 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-94.801015,48.846206 -94.530676,48.971732</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-94.798818,48.857521 -94.784634,48.861564 -94.767171,48.866796 -94.751170,48.869871 -94.729707,48.874606 -94.709687,48.880060 -94.696205,48.885291 -94.691818,48.888872 -94.687423,48.893412 -94.679027,48.898177 -94.669864,48.907733 -94.662182,48.913459 -94.650104,48.922764 -94.642014,48.933041 -94.637239,48.938297 -94.637884,48.947888 -94.636757,48.951959 -94.630155,48.957687 -94.618116,48.960517 -94.603568,48.959020 -94.597752,48.958037 -94.592360,48.951062 -94.592413,48.945549 -94.597206,48.939097 -94.603431,48.935048 -94.624719,48.914279 -94.635710,48.904974 -94.639033,48.898995 -94.643075,48.893977 -94.653329,48.884667 -94.664661,48.876319 -94.677069,48.869172 -94.685455,48.865126 -94.696007,48.862524 -94.708382,48.858728 -94.722571,48.854936 -94.737108,48.853059 -94.747652,48.850931 -94.756381,48.848318 -94.762923,48.847136 -94.774910,48.846206 -94.781445,48.846221 -94.789788,48.847677 -94.796317,48.848889 -94.799936,48.851533 -94.801015,48.853692 -94.798818,48.857521 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-94.579583,48.954843 -94.575545,48.958182 -94.569718,48.958395 -94.567150,48.960302 -94.564569,48.963407 -94.558686,48.968894 -94.550281,48.971732 -94.536079,48.971665 -94.532095,48.969728 -94.530676,48.966365 -94.534370,48.961588 -94.540232,48.958260 -94.539559,48.953222 -94.550940,48.944167 -94.562590,48.943741 -94.570957,48.944018 -94.577119,48.946442 -94.579583,48.954843 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-58.578865,51.087101 -58.347429,51.182732</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-58.425583,51.179644 -58.425369,51.179700 -58.398418,51.182732 -58.393262,51.182722 -58.389787,51.182024 -58.355495,51.171958 -58.353746,51.171347 -58.349719,51.168880 -58.347501,51.165632 -58.347429,51.162098 -58.349513,51.158815 -58.349711,51.158687 -58.349810,51.158538 -58.408017,51.106424 -58.411635,51.104167 -58.416145,51.102866 -58.510435,51.087253 -58.510751,51.087245 -58.511080,51.087156 -58.516691,51.087101 -58.521908,51.088403 -58.523742,51.089288 -58.574340,51.118024 -58.576539,51.119597 -58.578773,51.122840 -58.578865,51.126373 -58.577485,51.128918 -58.576908,51.129619 -58.576225,51.130361 -58.572318,51.132901 -58.569811,51.133774 -58.568621,51.134096 -58.565974,51.134628 -58.561824,51.134805 -58.560521,51.134741 -58.559054,51.134622 -58.556806,51.134244 -58.556654,51.134210 -58.555943,51.134141 -58.550463,51.134196 -58.549815,51.134035 -58.548906,51.134625 -58.548460,51.134766 -58.547954,51.135625 -58.546877,51.136781 -58.546674,51.136919 -58.546550,51.137116 -58.542641,51.139654 -58.537485,51.141059 -58.531867,51.141114 -58.529787,51.140596 -58.525947,51.140634 -58.522628,51.139984 -58.521473,51.139658 -58.521061,51.139517 -58.518349,51.141277 -58.513192,51.142680 -58.510292,51.142882 -58.509077,51.142888 -58.509013,51.142885 -58.508957,51.142889 -58.505734,51.142889 -58.505292,51.143590 -58.502950,51.145338 -58.502108,51.145826 -58.500538,51.146615 -58.497161,51.147533 -58.497190,51.147644 -58.497328,51.148389 -58.497190,51.151074 -58.496977,51.151412 -58.496967,51.151710 -58.496662,51.152451 -58.494813,51.155101 -58.490899,51.157638 -58.485873,51.159003 -58.485668,51.159328 -58.481753,51.161864 -58.476592,51.163265 -58.474454,51.163285 -58.473637,51.164579 -58.469720,51.167115 -58.468795,51.167408 -58.468329,51.168144 -58.467620,51.168653 -58.467166,51.169346 -58.463249,51.171882 -58.461198,51.172622 -58.461185,51.172626 -58.461156,51.172639 -58.461014,51.172677 -58.460149,51.172932 -58.459749,51.173017 -58.456063,51.174009 -58.450440,51.174060 -58.449661,51.173865 -58.448889,51.173872 -58.448348,51.173760 -58.447657,51.174207 -58.442956,51.175539 -58.441831,51.175715 -58.441600,51.175720 -58.441368,51.175783 -58.440841,51.175794 -58.440800,51.175805 -58.438862,51.177059 -58.437598,51.177401 -58.436770,51.177876 -58.434206,51.178760 -58.433638,51.178911 -58.431037,51.179426 -58.428534,51.179448 -58.428136,51.179533 -58.426324,51.179549 -58.425836,51.179642 -58.425583,51.179644 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-62.654389,50.217121 -62.291035,50.301403</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-62.651441,50.265401 -62.653947,50.268538 -62.654389,50.272051 -62.652700,50.275405 -62.652241,50.275751 -62.651424,50.276547 -62.651237,50.276703 -62.649344,50.277933 -62.649136,50.278090 -62.649060,50.278118 -62.648809,50.278281 -62.647094,50.278844 -62.645562,50.279409 -62.645421,50.279445 -62.644950,50.279547 -62.643913,50.279887 -62.638430,50.280170 -62.634051,50.279368 -62.628878,50.277805 -62.628219,50.277950 -62.627848,50.277976 -62.627648,50.278042 -62.627473,50.278100 -62.621991,50.278382 -62.616757,50.277298 -62.614468,50.276048 -62.611279,50.275387 -62.610260,50.274948 -62.609302,50.274787 -62.609252,50.274819 -62.607993,50.275540 -62.603095,50.277144 -62.601537,50.277223 -62.600661,50.277862 -62.595764,50.279466 -62.590281,50.279746 -62.585048,50.278660 -62.584339,50.278278 -62.582010,50.277794 -62.581780,50.277668 -62.581080,50.277727 -62.578942,50.277702 -62.578202,50.279601 -62.577732,50.280372 -62.576905,50.281496 -62.573335,50.284178 -62.568766,50.285672 -62.568388,50.285980 -62.567499,50.286507 -62.566657,50.286969 -62.562732,50.288251 -62.561103,50.289475 -62.556202,50.291077 -62.556146,50.291080 -62.556096,50.291096 -62.554943,50.291298 -62.549564,50.291557 -62.547241,50.291253 -62.546022,50.291023 -62.543112,50.290239 -62.539461,50.288242 -62.538347,50.288067 -62.535878,50.287466 -62.533740,50.288174 -62.533277,50.288197 -62.532921,50.288305 -62.531796,50.288462 -62.527131,50.288608 -62.521899,50.287518 -62.517717,50.285229 -62.515220,50.282088 -62.514692,50.279679 -62.514686,50.278870 -62.514703,50.278677 -62.511675,50.279665 -62.509654,50.279767 -62.509414,50.279906 -62.504512,50.281506 -62.502705,50.281596 -62.500815,50.282038 -62.499806,50.282089 -62.499295,50.282472 -62.494393,50.284070 -62.488909,50.284345 -62.483679,50.283253 -62.483496,50.283153 -62.483287,50.283107 -62.482252,50.282707 -62.478464,50.280562 -62.477373,50.279535 -62.476804,50.278912 -62.475403,50.276797 -62.475142,50.275946 -62.474900,50.275487 -62.474868,50.275449 -62.474682,50.275050 -62.474552,50.274961 -62.473778,50.274385 -62.469246,50.273439 -62.465068,50.271147 -62.464652,50.270622 -62.462686,50.269544 -62.462080,50.268780 -62.459453,50.268231 -62.456122,50.266403 -62.454832,50.267369 -62.453326,50.267860 -62.453128,50.268142 -62.452565,50.268856 -62.451654,50.269764 -62.450888,50.270435 -62.449464,50.271381 -62.448962,50.272547 -62.448277,50.273533 -62.447690,50.274283 -62.444113,50.276960 -62.444071,50.276974 -62.443417,50.278259 -62.443275,50.278743 -62.441712,50.281495 -62.441683,50.281516 -62.441669,50.281543 -62.441072,50.282214 -62.439314,50.283521 -62.439191,50.283921 -62.438845,50.284720 -62.437552,50.286727 -62.433973,50.289404 -62.432027,50.290037 -62.431740,50.290295 -62.431018,50.291953 -62.430461,50.292741 -62.429906,50.293444 -62.426326,50.296121 -62.423487,50.297230 -62.422454,50.297533 -62.418326,50.298771 -62.417298,50.299539 -62.412391,50.301133 -62.406904,50.301403 -62.401673,50.300308 -62.397496,50.298013 -62.397494,50.298011 -62.395375,50.298115 -62.391110,50.297336 -62.390005,50.297006 -62.389620,50.296811 -62.389040,50.296689 -62.384864,50.294394 -62.382377,50.291250 -62.382374,50.291220 -62.377191,50.290133 -62.373017,50.287837 -62.371430,50.285829 -62.370951,50.285853 -62.365723,50.284755 -62.364961,50.284336 -62.363299,50.285577 -62.358390,50.287168 -62.353126,50.287425 -62.351346,50.288002 -62.349883,50.288073 -62.349251,50.288278 -62.347632,50.288392 -62.346014,50.288889 -62.340528,50.289156 -62.335301,50.288056 -62.331129,50.285759 -62.330350,50.285055 -62.329727,50.284431 -62.328978,50.283358 -62.328336,50.283223 -62.327263,50.282736 -62.326665,50.282726 -62.321439,50.281627 -62.317268,50.279329 -62.316462,50.278597 -62.315854,50.277982 -62.315745,50.277826 -62.315403,50.277494 -62.315163,50.277213 -62.312626,50.276601 -62.308457,50.274303 -62.305977,50.271157 -62.305796,50.269613 -62.303631,50.268419 -62.302726,50.267270 -62.300971,50.266437 -62.300123,50.265920 -62.298743,50.264945 -62.297757,50.263693 -62.296874,50.263207 -62.295309,50.261603 -62.294786,50.260917 -62.294050,50.259673 -62.293955,50.259555 -62.293574,50.258744 -62.293562,50.258650 -62.293492,50.258562 -62.293081,50.255048 -62.293132,50.254949 -62.292836,50.254574 -62.292329,50.252451 -62.291035,50.227216 -62.291132,50.225824 -62.292848,50.222477 -62.296431,50.219806 -62.301333,50.218217 -62.305091,50.217887 -62.630882,50.217121 -62.632602,50.217182 -62.637828,50.218265 -62.642010,50.220549 -62.644512,50.223686 -62.645041,50.225870 -62.646852,50.262898 -62.648324,50.263541 -62.651441,50.265401 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-79.803406,43.177715 -79.111205,43.569042</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.507769,43.536639 -79.520354,43.523500 -79.535789,43.501927 -79.536285,43.483538 -79.548998,43.466518 -79.560089,43.454244 -79.570367,43.444342 -79.586301,43.424547 -79.612762,43.397415 -79.624071,43.380986 -79.635404,43.371276 -79.646466,43.362356 -79.668043,43.346094 -79.687989,43.331217 -79.710642,43.318500 -79.717630,43.311365 -79.718670,43.304842 -79.708286,43.287890 -79.688759,43.277682 -79.647635,43.270295 -79.607660,43.276514 -79.596840,43.274562 -79.587079,43.266089 -79.566239,43.256449 -79.534338,43.248994 -79.513255,43.243490 -79.486779,43.240355 -79.462474,43.244321 -79.441946,43.247291 -79.410070,43.246504 -79.364965,43.240761 -79.350381,43.239764 -79.329583,43.240140 -79.306345,43.244261 -79.280893,43.264763 -79.265998,43.274613 -79.239222,43.278908 -79.205669,43.286140 -79.196493,43.282760 -79.175091,43.291394 -79.166823,43.295702 -79.159495,43.297351 -79.152666,43.298537 -79.140105,43.297764 -79.130716,43.294901 -79.125136,43.291631 -79.121773,43.289889 -79.118421,43.286363 -79.114789,43.281893 -79.112518,43.277899 -79.111205,43.270290 -79.111881,43.265730 -79.113782,43.260283 -79.116385,43.257198 -79.118939,43.253211 -79.135800,43.251779 -79.166748,43.239404 -79.203744,43.222772 -79.213233,43.224531 -79.222526,43.221553 -79.251934,43.205516 -79.264026,43.202382 -79.297277,43.191072 -79.320161,43.180528 -79.348628,43.177715 -79.374281,43.183097 -79.395194,43.191626 -79.420213,43.196205 -79.477801,43.193975 -79.510582,43.191895 -79.537981,43.194860 -79.557202,43.203038 -79.569717,43.203964 -79.583524,43.203780 -79.611618,43.215559 -79.626553,43.225626 -79.639927,43.224014 -79.656105,43.222235 -79.672099,43.226451 -79.680332,43.231951 -79.708842,43.234386 -79.725939,43.240799 -79.741926,43.242319 -79.755129,43.246689 -79.765357,43.257225 -79.782060,43.276981 -79.803406,43.313587 -79.801084,43.320545 -79.792296,43.330374 -79.768368,43.341528 -79.748589,43.359452 -79.727255,43.373746 -79.719273,43.378354 -79.711588,43.395756 -79.702520,43.400842 -79.694532,43.405449 -79.694809,43.415558 -79.687061,43.424904 -79.675853,43.436313 -79.652565,43.461661 -79.646311,43.469262 -79.637663,43.475764 -79.627287,43.484639 -79.616478,43.494779 -79.608476,43.502067 -79.608113,43.519454 -79.605785,43.534476 -79.600373,43.539546 -79.590825,43.543201 -79.585000,43.554911 -79.576533,43.558088 -79.568936,43.565395 -79.564520,43.566755 -79.557175,43.568146 -79.550983,43.569029 -79.542339,43.569042 -79.534108,43.567843 -79.529437,43.566572 -79.524301,43.564360 -79.518099,43.560670 -79.512173,43.555602 -79.508745,43.551270 -79.507164,43.546129 -79.506924,43.541659 -79.507471,43.537760 -79.507769,43.536639 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-76.819798,55.646236 -74.536362,56.029978</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-76.796271,56.024050 -76.795787,56.024568 -76.787887,56.028260 -76.778064,56.029978 -76.767815,56.029458 -76.767476,56.029359 -76.767122,56.029338 -76.242949,55.932505 -76.063818,55.904743 -75.881294,55.881996 -75.879241,55.881689 -75.628535,55.837672 -75.626084,55.837162 -75.441719,55.792570 -75.287784,55.770762 -75.079432,55.747794 -75.078482,55.747655 -75.078226,55.747643 -74.873819,55.718989 -74.731813,55.707135 -74.647516,55.711579 -74.647098,55.711552 -74.646684,55.711615 -74.592607,55.713451 -74.582804,55.712724 -74.573939,55.709876 -74.573838,55.709802 -74.573700,55.709757 -74.545066,55.695395 -74.539054,55.690966 -74.536362,55.685412 -74.537636,55.679699 -74.547165,55.663535 -74.552207,55.658532 -74.560251,55.655001 -74.564247,55.654094 -74.605522,55.646893 -74.611344,55.646274 -74.613552,55.646236 -74.729458,55.646993 -74.732232,55.647254 -74.735147,55.647383 -75.068316,55.691071 -75.379615,55.717818 -75.383683,55.718352 -75.384471,55.718598 -75.385221,55.718659 -75.610861,55.767886 -75.909404,55.829287 -75.909600,55.829351 -75.909769,55.829364 -75.981912,55.844737 -76.091738,55.849359 -76.097490,55.849966 -76.135865,55.856570 -76.373995,55.894242 -76.374016,55.894248 -76.374043,55.894249 -76.637188,55.935509 -76.637403,55.935571 -76.637656,55.935584 -76.643548,55.937026 -76.732791,55.966558 -76.805563,55.987387 -76.810139,55.989049 -76.816728,55.993472 -76.819798,55.998971 -76.818879,56.004710 -76.815231,56.008977 -76.796909,56.023730 -76.796271,56.024050 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-76.650262,56.074154 -75.860820,56.575726</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-76.650231,56.181512 -76.650262,56.184408 -76.649311,56.190148 -76.648328,56.192992 -76.646369,56.195674 -76.641549,56.200774 -76.638688,56.203191 -76.635036,56.205251 -76.627079,56.208933 -76.622774,56.210556 -76.618307,56.211622 -76.609097,56.213282 -76.604920,56.213773 -76.604355,56.213875 -76.601887,56.214053 -76.592278,56.218843 -76.591050,56.219324 -76.590598,56.219562 -76.590319,56.219674 -76.589853,56.219916 -76.588794,56.220331 -76.587888,56.220808 -76.568227,56.228682 -76.569157,56.237454 -76.569050,56.237969 -76.569027,56.240026 -76.567967,56.245119 -76.567037,56.247639 -76.565068,56.250321 -76.560229,56.255417 -76.557358,56.257833 -76.553696,56.259891 -76.545718,56.263568 -76.541403,56.265187 -76.530565,56.268444 -76.531299,56.269050 -76.533311,56.271721 -76.536361,56.277231 -76.537398,56.280070 -76.537420,56.282966 -76.536448,56.288706 -76.535454,56.291550 -76.529942,56.301807 -76.527968,56.304488 -76.523116,56.309584 -76.520239,56.311999 -76.516568,56.314055 -76.508574,56.317730 -76.504251,56.319349 -76.499442,56.320467 -76.489524,56.322161 -76.484415,56.322736 -76.481085,56.322808 -76.475009,56.322727 -76.482107,56.324818 -76.486452,56.326419 -76.490151,56.328461 -76.496764,56.332905 -76.499677,56.335307 -76.501690,56.337980 -76.504741,56.343491 -76.505778,56.346330 -76.505683,56.346883 -76.505900,56.347328 -76.506024,56.349326 -76.505975,56.349533 -76.506024,56.350326 -76.504757,56.371350 -76.504473,56.372314 -76.504423,56.373241 -76.503320,56.376984 -76.502551,56.378836 -76.500570,56.381516 -76.498289,56.383906 -76.500759,56.385989 -76.501951,56.387097 -76.503968,56.389769 -76.507023,56.395281 -76.508062,56.398121 -76.508064,56.398504 -76.508155,56.398768 -76.508096,56.399116 -76.508249,56.399415 -76.509561,56.411927 -76.509452,56.412442 -76.509425,56.414500 -76.508351,56.419594 -76.507413,56.422115 -76.505430,56.424796 -76.500559,56.429892 -76.497669,56.432307 -76.496896,56.432661 -76.496482,56.433061 -76.494019,56.434522 -76.493720,56.434650 -76.492743,56.435230 -76.483664,56.439931 -76.480591,56.445611 -76.478966,56.447901 -76.475053,56.452299 -76.473282,56.453826 -76.472765,56.454407 -76.455419,56.467727 -76.460394,56.471062 -76.463315,56.473467 -76.465334,56.476140 -76.468391,56.481654 -76.469429,56.484494 -76.469446,56.487392 -76.468457,56.493134 -76.467451,56.495978 -76.467112,56.496331 -76.467037,56.496678 -76.466146,56.498066 -76.466051,56.498159 -76.465669,56.498753 -76.464251,56.500655 -76.468925,56.503785 -76.471850,56.506189 -76.473823,56.508777 -76.476849,56.514112 -76.477811,56.516697 -76.477902,56.516859 -76.481251,56.533067 -76.481237,56.533157 -76.481286,56.533247 -76.481287,56.533333 -76.481322,56.533426 -76.481339,56.536324 -76.480351,56.542066 -76.479345,56.544910 -76.477353,56.547592 -76.472461,56.552688 -76.469559,56.555103 -76.467811,56.556175 -76.464133,56.558221 -76.463438,56.558508 -76.462204,56.559194 -76.440647,56.569042 -76.439188,56.569584 -76.438530,56.569915 -76.434151,56.571541 -76.431889,56.572295 -76.427043,56.573411 -76.417050,56.575099 -76.411903,56.575671 -76.407863,56.575726 -76.399814,56.575501 -76.397322,56.575262 -76.395805,56.575220 -76.374807,56.572846 -76.373783,56.572703 -76.373624,56.572697 -76.371270,56.572369 -76.370752,56.572224 -76.370101,56.572190 -76.365247,56.571085 -76.356024,56.568373 -76.351655,56.566766 -76.347939,56.564719 -76.341301,56.560265 -76.338381,56.557857 -76.336367,56.555181 -76.333324,56.549662 -76.332295,56.546821 -76.332177,56.544900 -76.332391,56.541067 -76.332670,56.540126 -76.332724,56.539154 -76.333024,56.538133 -76.305796,56.523138 -76.304859,56.522441 -76.303214,56.521488 -76.298518,56.517995 -76.296405,56.516153 -76.294396,56.513476 -76.291364,56.507957 -76.290340,56.505115 -76.290212,56.503831 -76.290158,56.501262 -76.290252,56.500898 -76.290233,56.499977 -76.292924,56.480285 -76.293254,56.479308 -76.293302,56.478683 -76.293743,56.477380 -76.290261,56.477302 -76.288511,56.477139 -76.286893,56.477108 -76.280230,56.476485 -76.276935,56.476056 -76.272097,56.474947 -76.262907,56.472229 -76.258554,56.470618 -76.254853,56.468569 -76.248246,56.464110 -76.245339,56.461700 -76.245150,56.461354 -76.244793,56.461102 -76.243752,56.459893 -76.243709,56.459809 -76.243255,56.459282 -76.237376,56.451578 -76.237003,56.450765 -76.236093,56.449464 -76.235500,56.448170 -76.233546,56.448296 -76.233315,56.448284 -76.233083,56.448323 -76.232865,56.448323 -76.232621,56.448350 -76.227389,56.448349 -76.217027,56.447779 -76.211896,56.447212 -76.195750,56.444489 -76.193846,56.445192 -76.189011,56.446298 -76.179042,56.447965 -76.173910,56.448526 -76.172911,56.448471 -76.172107,56.448589 -76.168498,56.448647 -76.168124,56.448619 -76.166692,56.448642 -76.128733,56.447820 -76.126995,56.447657 -76.125320,56.447623 -76.118568,56.446989 -76.115229,56.446551 -76.110401,56.445435 -76.101231,56.442704 -76.096889,56.441088 -76.093201,56.439033 -76.086619,56.434565 -76.083726,56.432151 -76.081739,56.429471 -76.078747,56.423948 -76.077743,56.421104 -76.077623,56.419820 -76.077585,56.417252 -76.077680,56.416888 -76.077667,56.415967 -76.079069,56.406125 -76.079404,56.405149 -76.079456,56.404524 -76.080544,56.401356 -76.081244,56.399788 -76.083258,56.397115 -76.088185,56.392037 -76.090448,56.390169 -76.091107,56.386561 -76.092140,56.383721 -76.093941,56.381269 -76.098301,56.376583 -76.100512,56.374724 -76.100860,56.374349 -76.110913,56.367099 -76.111248,56.366941 -76.111475,56.366706 -76.111751,56.366551 -76.112038,56.366314 -76.115738,56.364271 -76.123783,56.360623 -76.128129,56.359019 -76.132954,56.357916 -76.142899,56.356253 -76.148019,56.355693 -76.153237,56.355699 -76.163571,56.356273 -76.168687,56.356843 -76.169693,56.357143 -76.170606,56.357213 -76.174388,56.358033 -76.174812,56.358171 -76.176250,56.358483 -76.199112,56.364588 -76.200622,56.365123 -76.201702,56.365400 -76.204798,56.363684 -76.212834,56.360030 -76.217175,56.358423 -76.219535,56.357816 -76.218625,56.357688 -76.213806,56.356577 -76.204651,56.353855 -76.200316,56.352243 -76.196630,56.350192 -76.190052,56.345731 -76.187159,56.343320 -76.186974,56.343070 -76.186768,56.342896 -76.186637,56.342654 -76.186377,56.342472 -76.169728,56.323674 -76.150420,56.320400 -76.145607,56.319286 -76.136467,56.316558 -76.132140,56.314944 -76.128462,56.312891 -76.121900,56.308426 -76.119015,56.306014 -76.117032,56.303335 -76.114045,56.297814 -76.113041,56.294971 -76.113054,56.292075 -76.113249,56.290998 -76.107219,56.289194 -76.102896,56.287579 -76.099223,56.285525 -76.092670,56.281059 -76.089789,56.278646 -76.089358,56.278063 -76.089012,56.277763 -76.088730,56.277240 -76.088236,56.276879 -76.081429,56.268431 -76.076424,56.264035 -76.054812,56.261459 -76.053835,56.261318 -76.053692,56.261312 -76.051464,56.260989 -76.050973,56.260849 -76.050357,56.260814 -76.045556,56.259697 -76.036439,56.256961 -76.032123,56.255343 -76.030133,56.254328 -76.026348,56.252190 -76.025788,56.251765 -76.024554,56.251067 -75.990568,56.227470 -75.956924,56.217314 -75.955487,56.216773 -75.954712,56.216566 -75.950429,56.214952 -75.948358,56.214087 -75.945939,56.212819 -75.941404,56.210122 -75.940497,56.209413 -75.939288,56.208695 -75.922378,56.195698 -75.921603,56.195003 -75.921329,56.194828 -75.919345,56.193050 -75.919071,56.192595 -75.918410,56.192141 -75.916449,56.189459 -75.913503,56.183934 -75.912518,56.181090 -75.912547,56.178194 -75.913617,56.172461 -75.914658,56.169624 -75.915092,56.169049 -75.908230,56.166061 -75.907979,56.165894 -75.907608,56.165782 -75.907358,56.165643 -75.906986,56.165503 -75.906483,56.165157 -75.906452,56.165140 -75.905849,56.164945 -75.903635,56.163793 -75.903477,56.163678 -75.902557,56.163200 -75.875262,56.147275 -75.874290,56.146521 -75.872910,56.145696 -75.868623,56.142370 -75.866687,56.140623 -75.864732,56.137941 -75.861799,56.132415 -75.860820,56.129571 -75.860853,56.126676 -75.861929,56.120944 -75.862973,56.118107 -75.864987,56.115439 -75.869906,56.110373 -75.872812,56.107976 -75.876498,56.105941 -75.884509,56.102312 -75.888834,56.100718 -75.892249,56.099878 -75.899255,56.098476 -75.901305,56.098222 -75.902847,56.097914 -75.945647,56.092991 -75.946853,56.092890 -75.947079,56.092849 -75.949956,56.092608 -75.950639,56.092637 -75.951400,56.092510 -75.956580,56.092525 -75.966834,56.093117 -75.971910,56.093695 -75.975541,56.094489 -75.982556,56.096368 -75.984540,56.097078 -75.985939,56.097452 -75.999592,56.102609 -76.023877,56.096454 -76.046350,56.083282 -76.047387,56.082843 -76.049516,56.081702 -76.056261,56.078844 -76.059838,56.077567 -76.064628,56.076468 -76.074497,56.074812 -76.079578,56.074256 -76.081680,56.074190 -76.085888,56.074154 -76.086421,56.074196 -76.087993,56.074182 -76.245011,56.079715 -76.246227,56.079837 -76.247645,56.079843 -76.287969,56.082365 -76.301246,56.079783 -76.302985,56.079569 -76.304245,56.079308 -76.308693,56.078760 -76.309810,56.078661 -76.311164,56.078503 -76.311815,56.078387 -76.353428,56.075359 -76.353816,56.075377 -76.354219,56.075308 -76.354571,56.075306 -76.355010,56.075257 -76.360187,56.075253 -76.370443,56.075809 -76.375522,56.076369 -76.377686,56.076792 -76.381941,56.077741 -76.382504,56.077927 -76.384032,56.078268 -76.474149,56.103584 -76.561490,56.108145 -76.563194,56.108329 -76.564072,56.108351 -76.569186,56.108904 -76.571719,56.109251 -76.576516,56.110346 -76.585637,56.113037 -76.589960,56.114634 -76.593644,56.116671 -76.600230,56.121107 -76.603133,56.123506 -76.603395,56.123855 -76.603658,56.124077 -76.603840,56.124407 -76.604182,56.124648 -76.645166,56.171642 -76.645419,56.172136 -76.646819,56.174048 -76.649351,56.178983 -76.650231,56.181512 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+            <gml:innerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-76.314940,56.421332 -76.314940,56.421332 -76.314940,56.421332 -76.314940,56.421332 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:innerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-77.796464,54.801548 -73.153824,55.342816</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-77.790812,55.278026 -77.759706,55.306197 -77.707971,55.281428 -77.664924,55.274569 -77.575858,55.266941 -77.511356,55.256570 -77.452973,55.233889 -77.424530,55.209396 -77.398440,55.191903 -77.344840,55.183179 -77.295853,55.211658 -77.213066,55.237905 -77.071155,55.254351 -77.014753,55.308104 -76.969146,55.340399 -76.903780,55.342816 -76.817234,55.318380 -76.708158,55.270103 -76.541138,55.221783 -76.423131,55.158281 -76.333251,55.086149 -76.214429,55.025496 -76.128357,55.023744 -76.009251,55.072782 -75.908422,55.054921 -75.759372,55.061710 -75.595545,55.105744 -75.422399,55.144569 -75.279691,55.138561 -75.136531,55.102126 -75.009242,55.048309 -74.801458,54.962327 -74.641942,54.915234 -74.503787,54.882031 -74.351744,54.882891 -74.168198,54.887472 -73.977891,54.873577 -73.893432,54.907378 -73.765167,54.935783 -73.651298,54.939970 -73.492240,54.931529 -73.310380,54.979051 -73.218342,55.004203 -73.153824,54.994344 -73.174339,54.961333 -73.226090,54.934743 -73.333256,54.922859 -73.433902,54.892666 -73.518190,54.879367 -73.619380,54.886299 -73.713797,54.885027 -73.780495,54.871396 -73.891067,54.842877 -73.985663,54.821224 -74.090585,54.801548 -74.195021,54.822069 -74.285787,54.816267 -74.475910,54.829629 -74.654019,54.863835 -74.869237,54.904703 -74.935861,54.920604 -75.082276,55.001606 -75.172691,55.058576 -75.333292,55.094835 -75.394690,55.089335 -75.534444,55.057919 -75.656415,55.026508 -75.764290,54.999153 -75.806638,55.006739 -75.924059,55.004318 -75.972141,55.022859 -76.046763,55.002709 -76.126601,54.983443 -76.301143,55.003981 -76.426955,55.062403 -76.521249,55.148499 -76.665536,55.206353 -76.798311,55.242071 -76.868958,55.297124 -76.921043,55.309141 -76.950342,55.297408 -76.963955,55.236560 -77.010122,55.214350 -77.081451,55.199620 -77.187935,55.184010 -77.275212,55.148589 -77.353181,55.131498 -77.449547,55.147174 -77.497888,55.178192 -77.523331,55.208802 -77.614604,55.223473 -77.710445,55.228853 -77.796464,55.242519 -77.790812,55.278026 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-76.587660,56.467507 -74.254148,56.948628</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-74.316100,56.467507 -74.713907,56.578799 -75.051845,56.665007 -75.338483,56.749350 -75.593135,56.797889 -75.882368,56.826509 -76.099567,56.833902 -76.410475,56.864717 -76.565764,56.873493 -76.587660,56.931319 -76.463633,56.948628 -76.356409,56.935171 -76.154063,56.914124 -76.061597,56.915375 -75.900937,56.888277 -75.731381,56.863582 -75.622521,56.853269 -75.434688,56.820728 -75.048106,56.723184 -74.859019,56.668238 -74.672852,56.621835 -74.496315,56.597893 -74.384212,56.556088 -74.292837,56.530653 -74.272281,56.526816 -74.254148,56.506551 -74.316100,56.467507 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+</wfs:FeatureCollection>
\ No newline at end of file
Index: lib/spatial/mapbuilder/examples/i18n/config.xml
===================================================================
--- lib/spatial/mapbuilder/examples/i18n/config.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/i18n/config.xml	(revision 4307)
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="simpleTemplate" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+  <models>
+    <Context id="mainMap">
+      <defaultModelUrl>../data/context/metacartaWorldMap.xml</defaultModelUrl>
+      <widgets>
+        <MapPaneOL id="mainMapWidget">
+          <htmlTagId>mainMapPane</htmlTagId>
+        </MapPaneOL>
+        <CursorTrack id="cursorTrack">
+          <precision>5</precision>
+        </CursorTrack>
+        <OverviewMap id="locatorWidget">
+          <htmlTagId>locatorMap</htmlTagId>
+          <width>180</width>
+        </OverviewMap>
+        <LayerControl id="contextLegend">
+          <autoRefresh>false</autoRefresh>
+          <opacity>true</opacity>
+          <legendImageEnable>/images/LegendEnable.png</legendImageEnable>
+          <legendImageDisable>/images/LegendDisable.png</legendImageDisable>
+          <moveUpImage>/images/LayerMoveUpDisable.png</moveUpImage>
+          <moveDownImage>/images/LayerMoveDownDisable.png</moveDownImage>
+          <deleteImage>/images/LayerRemoveDisable.png</deleteImage>
+        </LayerControl>
+      </widgets>
+      <tools>
+        <History id="extentHistory"/>
+      </tools>
+    </Context>
+  </models>
+
+  <widgets>
+    <Back id="back">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/UndoDisable.png</disabledSrc>
+    </Back>
+    <Forward id="forward">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/RedoDisable.png</disabledSrc>
+    </Forward>
+    <ZoomIn id="zoomIn">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <selected>true</selected>
+      <enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+    </ZoomIn>
+    <ZoomOut id="zoomOut">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+    </ZoomOut>
+    <DragPan id="dragPan">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/PanEnable.png</enabledSrc>
+      <disabledSrc>/images/PanDisable.png</disabledSrc>
+    </DragPan>
+    <Reset id="reset">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+    </Reset>
+     <ExampleList id="exampleList"><!-- this is the widget that draws the example menu -->
+		<scriptFile>../ExampleList.js</scriptFile>
+		<stylesheet>../ExampleList.xsl</stylesheet>
+    </ExampleList>
+  </widgets>
+  <skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/i18n/flags/nonesuch.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/examples/i18n/flags/nonesuch.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/examples/i18n/flags/nl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/examples/i18n/flags/nl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/examples/openlayers/config2.xml
===================================================================
--- lib/spatial/mapbuilder/examples/openlayers/config2.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/openlayers/config2.xml	(revision 4307)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="simpleTemplate" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+  <models>
+    <OwsContext id="mainMap">
+      <defaultModelUrl>context2.xml</defaultModelUrl>
+      <widgets>
+        <MapPaneOL id="mainMapWidget">
+          <htmlTagId>mainMapPane</htmlTagId>
+          <maxExtent>0 400000 189440 502400</maxExtent>
+          <maxResolution>473.6</maxResolution>
+          <!--maxExtent>-24288 262144 500000 786432</maxExtent>
+          <maxResolution>2048</maxResolution-->
+        </MapPaneOL>
+        <Legend id="contextLegend">
+          <htmlTagId>legend</htmlTagId>
+          <stylesheet>./Legend2.xsl</stylesheet>
+        </Legend>
+      </widgets>
+    </OwsContext>
+  </models>
+  <widgets>
+  </widgets>
+  <skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/memory-leak/config.xml
===================================================================
--- lib/spatial/mapbuilder/examples/memory-leak/config.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/memory-leak/config.xml	(revision 4307)
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="simpleTemplate" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+  <models>
+    <Context id="mainMap">
+      <defaultModelUrl>../data/context/demisWorldMap.xml</defaultModelUrl>
+      <widgets>
+        <MapPaneOL id="mainMapWidget">
+          <htmlTagId>mainMapPane</htmlTagId>
+          <fixedSize>true</fixedSize>
+        </MapPaneOL>
+        <CursorTrack id="cursorTrack">
+          <precision>5</precision>
+        </CursorTrack>
+        <MapScaleText id="scaleText"/>
+        <!--Loading2 id="loading2">
+          <mapContainerId>mainMapContainer</mapContainerId>
+        </Loading2-->
+      </widgets>
+      <tools>
+        <History id="extentHistory"/>
+      </tools>
+    </Context>
+  </models>
+  <widgets>
+      <Back id="back">
+            <buttonBar>mainButtonBar</buttonBar>
+           <targetModel>mainMap</targetModel>
+           <class>Button</class>
+           <disabledSrc>/images/UndoDisable.png</disabledSrc>
+        </Back>
+        <Forward id="forward">
+           <buttonBar>mainButtonBar</buttonBar>
+           <targetModel>mainMap</targetModel>
+           <class>Button</class>
+           <disabledSrc>/images/RedoDisable.png</disabledSrc>
+        </Forward>
+    <ZoomIn id="zoomIn">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <selected>true</selected>
+      <enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+    </ZoomIn>
+    <ZoomOut id="zoomOut">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+    </ZoomOut>
+    <DragPan id="dragPan">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/PanEnable.png</enabledSrc>
+      <disabledSrc>/images/PanDisable.png</disabledSrc>
+    </DragPan>
+    <Reset id="reset">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+    </Reset>
+  </widgets>
+  <skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/memory-leak/index3.html
===================================================================
--- lib/spatial/mapbuilder/examples/memory-leak/index3.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/memory-leak/index3.html	(revision 4307)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+      
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Mapbuilder memory leak test 2</title>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+    <style>
+      /* remove border from mainMapPane (work-around for Selenium tests under MSIE) */
+      #mainMapPane {
+        border: none;
+      }
+    </style>
+    <script>
+    // URL of Mapbuilder configuration file.
+    var mbConfigUrl='config2.xml';
+    </script>
+    <!-- This points to the core mapbuilder library, replaces this with MapbuilderCompressed.js when you want to use the compressed version -->
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+    
+  </head>
+  <!-- This onload event starts mapbuilder -->
+  <body onload="mbDoLoad()" >
+  			<div class="header">
+  				<a href="index2.html">other instance, same context</a><p>
+  				  				This is a IE only memory leak, keep switching between the 'other instances' and note the memory usage going up.
+  				  				</p>
+  				<a href="index.html">other instance, different context</a><p>  			
+  				</div>
+  			<div class="right">
+		  	  <div id="mainMapPane"><!-- This is the container where the map will be drawn -->
+    		    <noscript>
+        	    this page requires Javascript to be enabled
+        		</noscript>
+				  </div><!-- /mainMapPane -->
+          <div>
+            <div style="float: left; width: 30%;" id="mainButtonBar"><!-- This is the container where the buttons will be drawn --></div>
+            <div style="float: right; width: 30%" id="cursorTrack"><!-- This is where the cursor tracker will be drawn --></div>
+            <div id="scaleText"><!-- This is where the scale text will be drawn --></div>
+          </div>
+				</div><!-- /right -->
+	</body>
+</html>
Index: lib/spatial/mapbuilder/examples/GeoBliki/config.xml
===================================================================
--- lib/spatial/mapbuilder/examples/GeoBliki/config.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/GeoBliki/config.xml	(revision 4307)
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="DemisMapExample" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+  <models>
+  
+    <OwsContext id="mainMap">
+      <defaultModelUrl>DemisWorldMap.xml</defaultModelUrl>
+      
+      <widgets>
+        <MapPaneOL id="mainMapWidget">
+          <htmlTagId>mainMapPane</htmlTagId>
+          <fixedSize>true</fixedSize>
+        </MapPaneOL>
+
+        <MapScaleText id="mapScaleText"/>
+        <!--
+        <MapScaleBar id="mapScaleBar"/>
+        -->
+        <AoiForm id="aoiForm">
+          <stylesheet>AoiForm.xsl</stylesheet>
+        </AoiForm>
+ 
+        <CursorTrack id="cursorTrack"/>
+        
+        <ModelUrlInput id="urlInput"/>
+        
+        <WebServiceForm id="webServiceForm">
+          <htmlTagId>webServiceForm</htmlTagId>
+          <targetModel>gml2FeatureTemplate</targetModel>
+          <stylesheet>../../lib/widget/Null.xsl</stylesheet>
+          <requestStylesheet>wfs_GetFeature.xsl</requestStylesheet>
+          <webServiceUrl>http://eo1.geobliki.com/wfs</webServiceUrl>
+        </WebServiceForm>
+    
+      </widgets>
+      
+      <tools>
+        <History id="extentHistory"/>
+      </tools>
+    </OwsContext>
+    
+    <StyledLayerDescriptor id="sld">
+      <defaultModelUrl>../data/features.sld</defaultModelUrl>
+    </StyledLayerDescriptor>
+    
+    <FeatureCollection id="gml2FeatureTemplate">
+      <method>post</method>
+ 
+      <widgets>
+         <GmlRendererOL id="testGmlRenderer">
+          <targetModel>mainMap</targetModel>
+          <sldModel>sld</sldModel>
+          <defaultStyleName>default</defaultStyleName>
+          <selectStyleName>selected</selectStyleName>
+          <stylesheet>geobliki2wfs.xsl</stylesheet>
+          <featureOnClick>featurePopup</featureOnClick>
+        </GmlRendererOL>
+        <TipWidgetOL id="featurePopup">
+          <stylesheet>datapopup.xsl</stylesheet>
+          <width>275</width>
+          <height>137</height>
+          <opacity>0.8</opacity>
+          <backgroundColor>#D0D0D0</backgroundColor>
+          <border>1px solid black</border>
+        </TipWidgetOL>
+        <Legend id="wfsLegend">
+          <htmlTagId>legend</htmlTagId>
+        </Legend>
+      </widgets>
+      <tools>
+        <FeatureSelectHandler id="featureHighlighter">
+          <targetModel>mainMap</targetModel>
+        </FeatureSelectHandler>
+      </tools>
+      <namespace>xmlns:gml="http://www.opengis.net/gml" xmlns:eo1="http://eo1.gsfc.nasa.gov/" xmlns:wfs="http://www.opengis.net/wfs"</namespace>
+      <nodeSelectXpath>//gml:featureMember</nodeSelectXpath>
+      <featureTagName>eo1:name</featureTagName>
+      <coordsTagName>eo1:location</coordsTagName>
+      <coordSelectXpath>//eo1:location/gml:Point/gml:pos</coordSelectXpath>
+    </FeatureCollection>
+    
+  </models>
+  
+  <widgets>
+    <Back id="back">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/UndoDisable.png</disabledSrc>
+    </Back>
+    <Forward id="forward">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/RedoDisable.png</disabledSrc>
+    </Forward>
+    <ZoomIn id="zoomIn">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <selected>true</selected>
+      <enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+    </ZoomIn>
+    <ZoomOut id="zoomOut">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+    </ZoomOut>
+    <DragPan id="dragPan">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/PanEnable.png</enabledSrc>
+      <disabledSrc>/images/PanDisable.png</disabledSrc>
+    </DragPan>
+    <SetAoi id="setAoi">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/SetAoiEnable.png</enabledSrc>
+      <disabledSrc>/images/SetAoiDisable.png</disabledSrc>
+    </SetAoi>
+    <Reset id="reset">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+    </Reset>
+    <Save id="save">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/SaveDisable.png</disabledSrc>
+      <popupWindowName>modelXML</popupWindowName>
+    </Save>
+    <ExampleList id="exampleList"><!-- this is the widget that draws the example menu -->
+		<scriptFile>../ExampleList.js</scriptFile>
+		<stylesheet>../ExampleList.xsl</stylesheet>
+    </ExampleList>
+   </widgets>
+  <skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/simple/config.xml
===================================================================
--- lib/spatial/mapbuilder/examples/simple/config.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/simple/config.xml	(revision 4307)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="simpleTemplate" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+  <models>
+    <Context id="mainMap">
+      <defaultModelUrl>../data/context/metacartaWorldMap.xml</defaultModelUrl>
+      <widgets>
+        <MapPaneOL id="mainMapWidget">
+          <htmlTagId>mainMapPane</htmlTagId>
+     			<fixedSize>true</fixedSize>
+        </MapPaneOL>
+        <PanZoomBar id="panZoomBar"/>
+      </widgets>
+    </Context>
+  </models>
+  <widgets>
+  <ExampleList id="exampleList"><!-- this is the widget that draws the example menu -->
+		<scriptFile>../ExampleList.js</scriptFile>
+		<stylesheet>../ExampleList.xsl</stylesheet>
+    </ExampleList>
+  </widgets>
+  <skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/contextEditor/owsCatSearchForm.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/contextEditor/owsCatSearchForm.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/contextEditor/owsCatSearchForm.xsl	(revision 4307)
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+Description: parses an listing of OGC services from the Discovery Portal registry
+Author:      adair
+Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
+
+$Id: owsCatSearchForm.xsl 3907 2008-03-06 10:27:06Z steven $
+$Name:  $
+-->
+
+<xsl:stylesheet version="1.0" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+		xmlns:ogc="http://www.opengis.net/ogc"
+		xmlns:gml="http://www.opengis.net/gml"
+    xmlns:xlink="http://www.w3.org/1999/xlink">
+
+  <xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/>
+
+  <!-- The coordinates of the DHTML Layer on the HTML page -->
+  <xsl:param name="modelTitle"/>
+  <xsl:param name="modelId"/>
+  <xsl:param name="widgetId"/>
+  <xsl:param name="targetModelId"/>
+  <xsl:param name="targetModel"/>
+  <xsl:param name="lang">en</xsl:param>
+  
+  <xsl:param name="webServiceUrl">http://devgeo.cciw.ca/cgi-bin/mapserv/owscat</xsl:param>
+  <xsl:param name="formName">owsCatSearch</xsl:param>
+  <!-- NOTE: it's really bad form to put a hard-coded URL here, but it's the only way to use the document() function in IE -->
+  <!--xsl:param name="searchConfigDoc" select="document('http://demo.communitymapbuilder.org/mapbuilder-lib-1.0-release/demo/contextEditor/searchConfig.xml')"/-->  
+  <xsl:param name="searchConfigDoc" select="document('http://geodiscover.cgdi.ca/mapbuilder/demo/contextEditor/searchConfig.xml')"/>  
+  <xsl:param name="selectSize" select="1"/>
+  
+  <!-- Text params for this widget -->
+  <xsl:param name="north">North</xsl:param>
+  <xsl:param name="south">South</xsl:param>
+  <xsl:param name="east">East</xsl:param>
+  <xsl:param name="west">West</xsl:param>
+  
+  <!-- template rule matching source root element -->
+  <xsl:template match="/">
+    <div>
+    <h2>Search for layers</h2>
+    <form name="{$formName}" id="{$formName}" method="get">
+      <input type="hidden" name="version" value="1.0.0"/>
+      <input type="hidden" name="service" value="WFS"/>
+      <input type="hidden" name="request" value="GetFeature"/>
+      <input type="hidden" name="typename" value="service_resources"/>
+      <input type="hidden" name="outputFormat" value="GML3"/>
+      
+      <h3>Keywords</h3>
+      <input type="text" name="keywords"/>
+      <h3>Location</h3>
+      <xsl:call-template name="locations">
+        <xsl:with-param name="locationsDoc" select="$searchConfigDoc"/>
+      </xsl:call-template>
+      <xsl:call-template name="aoiBox"/>
+      <h3>Service Type</h3>
+      <select name="serviceType">
+        <option></option>
+        <option selected="true" value="OGC:WMS">WMS</option>
+        <option value="OGC:WFS">WFS</option>
+      </select>
+      <input class="button" type="reset"/>
+      <input class="button" type="submit"/>
+      
+    </form>
+    </div>
+  </xsl:template>
+
+  <xsl:template name="locations">
+    <xsl:param name="locationsDoc"/>
+    <div>
+      <select name="locations" onchange="config.objects.{$widgetId}.setLocation(this.options[this.selectedIndex].value);" size="{$selectSize}">
+        <xsl:apply-templates select="$locationsDoc/searchConfig[@entryType='productCollection']/locations/location"/>
+      </select>
+    </div>
+  </xsl:template>
+  
+  <xsl:template match="location">
+    <xsl:param name="indent"/>
+    <xsl:variable name="bbox" select="translate(wens,' ',',')"/>
+    <option value="{$bbox}"><xsl:value-of select="$indent"/><xsl:value-of select="title[@lang=$lang]"/></option>
+    <xsl:apply-templates select="location">
+      <xsl:with-param name="indent"><xsl:value-of select="$indent"/>&#160;&#160;</xsl:with-param>
+    </xsl:apply-templates>
+  </xsl:template>
+  
+  <xsl:template name="aoiBox">
+    <p>
+      <table>
+        <tr>
+          <td align="left">or enter</td>
+          <td><xsl:value-of select="$north"/></td>
+          <td><xsl:value-of select="$south"/></td>
+          <td><xsl:value-of select="$east"/></td>
+          <td><xsl:value-of select="$west"/></td>
+        </tr>
+        <tr>
+          <td>
+          </td>
+          <td>
+            <input name="northCoord" type="text" size="10" class="searchInput"/>
+          </td>
+          <td>
+            <input name="southCoord" type="text" size="10" class="searchInput"/>
+          </td>
+          <td>
+            <input name="eastCoord" type="text" size="10"  class="searchInput"/>
+          </td>
+          <td>
+            <input name="westCoord" type="text" size="10" class="searchInput"/>
+          </td>
+        </tr>
+      </table>
+    </p>
+  </xsl:template>
+  
+  <xsl:template name="ntsInput">
+    <p>or enter NTS mapsheet index
+      <input name="ntsIndex" type="text" size="6" class="searchInput"/>
+    </p>
+  </xsl:template>
+ 
+  <xsl:template match="text()|@*"/>
+
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/contextEditor/cwwrs.xml
===================================================================
--- lib/spatial/mapbuilder/examples/contextEditor/cwwrs.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/contextEditor/cwwrs.xml	(revision 4307)
@@ -0,0 +1,288 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<csw:Capabilities version="2.0.1" 
+      xmlns="http://www.opengis.net/cat/csw" 
+      xmlns:ows="http://www.opengis.net/ows" 
+      xmlns:ogc="http://www.opengis.net/ogc" 
+      xmlns:csw="http://www.opengis.net/cat/csw" 
+      xmlns:rim="urn:oasis:names:tc:ebxml-regrep:rim:xsd:2.5" 
+      xmlns:xlink="http://www.w3.org/2001/XMLSchema" 
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+      xsi:schemaLocation="http://www.opengis.net/ows http://schemas.cubewerx.com/schemas/ows/1.0.0/owsGetCapabilities.xsd http://www.opengis.net/ogc http://schemas.cubewerx.com/schemas/filter/1.0.0/filterCapabilities.xsd http://www.opengis.net/cat/csw http://schemas.cubewerx.com/schemas/csw/2.0.1/CSW-discovery.xsd urn:oasis:names:tc:ebxml-regrep:rim:xsd:2.5 http://schemas.cubewerx.com/schemas/ebrim/2.5/schema/rim.xsd http://www.w3.org/1999/xlink http://schemas.cubewerx.com/schemas/gml/3.0.0/xlink/xlinks.xsd">
+   <ows:ServiceIdentification>
+      <ows:ServiceType>CSW</ows:ServiceType>
+      <ows:ServiceTypeVersion>2.0.1</ows:ServiceTypeVersion>
+      <ows:Title>Web Registry Service implemented by CubeWerx Inc.</ows:Title>
+      <ows:Abstract>A web registry service that complies to the OGC Catalog Service Specification V2.0.0 (Document: 04-021r2).</ows:Abstract>
+      <ows:Keywords>
+         <ows:Keyword>Open Geospatial Consortium</ows:Keyword>
+         <ows:Keyword>web</ows:Keyword>
+         <ows:Keyword>catalog</ows:Keyword>
+         <ows:Keyword>registry</ows:Keyword>
+         <ows:Keyword>HTTP</ows:Keyword>
+         <ows:Keyword>POST</ows:Keyword>
+         <ows:Keyword>GET</ows:Keyword>
+      </ows:Keywords>
+      <ows:Fees>NONE</ows:Fees>
+      <ows:AccessConstraints>NONE</ows:AccessConstraints>
+   </ows:ServiceIdentification>
+   <ows:ServiceProvider>
+      <ows:ProviderName>CubeWerx Inc.</ows:ProviderName>
+      <ows:ProviderSite xlink:type="simple" xlink:href="http://www.cubewerx.com/"/>
+      <ows:ServiceContact>
+         <ows:IndividualName>Panagiotis (Peter) A. Vretanos</ows:IndividualName>
+         <ows:PositionName>The Catalog Guy.</ows:PositionName>
+         <ows:ContactInfo>
+            <ows:Phone>
+               <ows:Voice>(819) 771-8303</ows:Voice>
+               <ows:Facsimile>(819) 771-8388</ows:Facsimile>
+            </ows:Phone>
+            <ows:Address>
+               <ows:DeliveryPoint>15 rue Gamelin, Suite 506</ows:DeliveryPoint>
+               <ows:City>Gatineau</ows:City>
+               <ows:AdministrativeArea>Quebec</ows:AdministrativeArea>
+               <ows:PostalCode>J8Y 6N5</ows:PostalCode>
+               <ows:Country>Canada</ows:Country>
+               <ows:ElectronicMailAddress>pvretano@cubewerx.com</ows:ElectronicMailAddress>
+            </ows:Address>
+            <onlineResource xlink:type="simple" xlink:href="http://www.cubewerx.com/"/>
+         </ows:ContactInfo>
+      </ows:ServiceContact>
+   </ows:ServiceProvider>
+   <ows:OperationsMetadata>
+      <ows:Operation name="GetCapabilities">
+         <ows:DCP>
+            <ows:HTTP>
+               <ows:Get xlink:type="simple" xlink:href="http://demo.cubewerx.com/ows4/cwwrs/cwwrs.cgi?"/>
+               <ows:Post xlink:type="simple" xlink:href="http://demo.cubewerx.com/ows4/cwwrs/cwwrs.cgi"/>
+            </ows:HTTP>
+         </ows:DCP>
+         <ows:Parameter name="AcceptVersions">
+            <ows:Value>2.0.1</ows:Value>
+         </ows:Parameter>
+         <ows:Parameter name="Sections">
+            <ows:Value>ServiceIdentification</ows:Value>
+            <ows:Value>ServiceProvider</ows:Value>
+            <ows:Value>OperationsMetadata</ows:Value>
+            <ows:Value>Contents</ows:Value>
+            <ows:Value>FilterCapabilities</ows:Value>
+         </ows:Parameter>
+         <ows:Parameter name="AcceptFormats">
+            <ows:Value>text/xml</ows:Value>
+         </ows:Parameter>
+      </ows:Operation>
+      <ows:Operation name="DescribeRecord">
+         <ows:DCP>
+            <ows:HTTP>
+               <ows:Get xlink:type="simple" xlink:href="http://demo.cubewerx.com/ows4/cwwrs/cwwrs.cgi?"/>
+               <ows:Post xlink:type="simple" xlink:href="http://demo.cubewerx.com/ows4/cwwrs/cwwrs.cgi"/>
+            </ows:HTTP>
+         </ows:DCP>
+         <ows:Parameter name="typeName">
+            <ows:Value>csw:Record</ows:Value>
+            <ows:Value>rim:Association</ows:Value>
+            <ows:Value>rim:AuditableEvent</ows:Value>
+            <ows:Value>rim:AffectedObject</ows:Value>
+            <ows:Value>rim:Classification</ows:Value>
+            <ows:Value>rim:ClassificationNode</ows:Value>
+            <ows:Value>rim:ClassificationScheme</ows:Value>
+            <ows:Value>rim:ExternalIdentifier</ows:Value>
+            <ows:Value>rim:ExternalLink</ows:Value>
+            <ows:Value>rim:ExtrinsicObject</ows:Value>
+            <ows:Value>rim:Federation</ows:Value>
+            <ows:Value>rim:Organization</ows:Value>
+            <ows:Value>rim:RegistryPackage</ows:Value>
+            <ows:Value>rim:Registry</ows:Value>
+            <ows:Value>rim:Service</ows:Value>
+            <ows:Value>rim:ServiceBinding</ows:Value>
+            <ows:Value>rim:SpecificationLink</ows:Value>
+            <ows:Value>rim:Subscription</ows:Value>
+            <ows:Value>rim:AdhocQuery</ows:Value>
+            <ows:Value>rim:User</ows:Value>
+         </ows:Parameter>
+         <ows:Parameter name="outputFormat">
+            <ows:Value>text/xml</ows:Value>
+         </ows:Parameter>
+         <ows:Parameter name="schemaLanguage">
+            <ows:Value>http://www.w3.org/2001/XMLSchema</ows:Value>
+         </ows:Parameter>
+      </ows:Operation>
+      <ows:Operation name="GetDomain">
+         <ows:DCP>
+            <ows:HTTP>
+               <ows:Get xlink:type="simple" xlink:href="http://demo.cubewerx.com/ows4/cwwrs/cwwrs.cgi?"/>
+               <ows:Post xlink:type="simple" xlink:href="http://demo.cubewerx.com/ows4/cwwrs/cwwrs.cgi"/>
+            </ows:HTTP>
+         </ows:DCP>
+         <ows:Parameter name="ParameterName">
+            <ows:Value>GetRecords.service</ows:Value>
+            <ows:Value>GetRecords.version</ows:Value>
+            <ows:Value>GetRecords.resultType</ows:Value>
+            <ows:Value>GetRecords.outputFormat</ows:Value>
+            <ows:Value>GetRecords.outputSchema</ows:Value>
+            <ows:Value>GetRecords.typeNames</ows:Value>
+            <ows:Value>GetRecords.ElementName</ows:Value>
+            <ows:Value>GetRecords.ElementSetName</ows:Value>
+            <ows:Value>GetRecords.CONSTRAINTLANGUAGE</ows:Value>
+            <ows:Value>GetRecordById.service</ows:Value>
+            <ows:Value>GetRecordById.version</ows:Value>
+            <ows:Value>GetRecordById.ElementSetName</ows:Value>
+            <ows:Value>DescribeRecord.service</ows:Value>
+            <ows:Value>DescribeRecord.version</ows:Value>
+            <ows:Value>DescribeRecord.outputFormat</ows:Value>
+            <ows:Value>DescribeRecord.typeName</ows:Value>
+            <ows:Value>DescribeRecord.schemaLanguage</ows:Value>
+         </ows:Parameter>
+         <ows:Parameter name="ElementName">
+            <ows:Value>csw:Record</ows:Value>
+            <ows:Value>rim:Association</ows:Value>
+            <ows:Value>rim:AuditableEvent</ows:Value>
+            <ows:Value>rim:AffectedObject</ows:Value>
+            <ows:Value>rim:Classification</ows:Value>
+            <ows:Value>rim:ClassificationNode</ows:Value>
+            <ows:Value>rim:ClassificationScheme</ows:Value>
+            <ows:Value>rim:ExternalIdentifier</ows:Value>
+            <ows:Value>rim:ExternalLink</ows:Value>
+            <ows:Value>rim:ExtrinsicObject</ows:Value>
+            <ows:Value>rim:Federation</ows:Value>
+            <ows:Value>rim:Organization</ows:Value>
+            <ows:Value>rim:RegistryPackage</ows:Value>
+            <ows:Value>rim:Registry</ows:Value>
+            <ows:Value>rim:Service</ows:Value>
+            <ows:Value>rim:ServiceBinding</ows:Value>
+            <ows:Value>rim:SpecificationLink</ows:Value>
+            <ows:Value>rim:Subscription</ows:Value>
+            <ows:Value>rim:AdhocQuery</ows:Value>
+            <ows:Value>rim:User</ows:Value>
+         </ows:Parameter>
+      </ows:Operation>
+      <ows:Operation name="GetRecords">
+         <ows:DCP>
+            <ows:HTTP>
+               <ows:Get xlink:type="simple" xlink:href="http://demo.cubewerx.com/ows4/cwwrs/cwwrs.cgi?"/>
+               <ows:Post xlink:type="simple" xlink:href="http://demo.cubewerx.com/ows4/cwwrs/cwwrs.cgi"/>
+            </ows:HTTP>
+         </ows:DCP>
+         <ows:Parameter name="typeName">
+            <ows:Value>csw:Record</ows:Value>
+            <ows:Value>rim:Association</ows:Value>
+            <ows:Value>rim:AuditableEvent</ows:Value>
+            <ows:Value>rim:AffectedObject</ows:Value>
+            <ows:Value>rim:Classification</ows:Value>
+            <ows:Value>rim:ClassificationNode</ows:Value>
+            <ows:Value>rim:ClassificationScheme</ows:Value>
+            <ows:Value>rim:ExternalIdentifier</ows:Value>
+            <ows:Value>rim:ExternalLink</ows:Value>
+            <ows:Value>rim:ExtrinsicObject</ows:Value>
+            <ows:Value>rim:Federation</ows:Value>
+            <ows:Value>rim:Organization</ows:Value>
+            <ows:Value>rim:RegistryPackage</ows:Value>
+            <ows:Value>rim:Registry</ows:Value>
+            <ows:Value>rim:Service</ows:Value>
+            <ows:Value>rim:ServiceBinding</ows:Value>
+            <ows:Value>rim:SpecificationLink</ows:Value>
+            <ows:Value>rim:Subscription</ows:Value>
+            <ows:Value>rim:AdhocQuery</ows:Value>
+            <ows:Value>rim:User</ows:Value>
+         </ows:Parameter>
+         <ows:Parameter name="outputFormat">
+            <ows:Value>text/xml</ows:Value>
+         </ows:Parameter>
+         <ows:Parameter name="outputSchema">
+            <ows:Value>urn:oasis:names:tc:ebxml-regrep:rim:xsd:2.5</ows:Value>
+            <ows:Value>http://schemas.opengis.net/csw/2.0.0/record.xsd</ows:Value>
+            <ows:Value>ebRIM</ows:Value>
+            <ows:Value>ogcCORE</ows:Value>
+         </ows:Parameter>
+         <ows:Parameter name="resultType">
+            <ows:Value>HITS</ows:Value>
+            <ows:Value>RESULTS</ows:Value>
+            <ows:Value>VALIDATE</ows:Value>
+         </ows:Parameter>
+         <ows:Parameter name="ElementSetName">
+            <ows:Value>brief</ows:Value>
+            <ows:Value>summary</ows:Value>
+            <ows:Value>full</ows:Value>
+         </ows:Parameter>
+         <ows:Parameter name="CONSTRAINTLANGUAGE">
+            <ows:Value>Filter</ows:Value>
+         </ows:Parameter>
+         <ows:Parameter name="rim:ExtrinsicObject/@objectType">
+            <ows:Value>Theme</ows:Value>
+            <ows:Value>FeatureType</ows:Value>
+            <ows:Value>WMS_Layer</ows:Value>
+            <ows:Value>Service</ows:Value>
+         </ows:Parameter>
+      </ows:Operation>
+      <ows:Operation name="GetRecordById">
+         <ows:DCP>
+            <ows:HTTP>
+               <ows:Get xlink:type="simple" xlink:href="http://demo.cubewerx.com/ows4/cwwrs/cwwrs.cgi?"/>
+               <ows:Post xlink:type="simple" xlink:href="http://demo.cubewerx.com/ows4/cwwrs/cwwrs.cgi"/>
+            </ows:HTTP>
+         </ows:DCP>
+         <ows:Parameter name="ElementSetName">
+            <ows:Value>brief</ows:Value>
+            <ows:Value>summary</ows:Value>
+            <ows:Value>full</ows:Value>
+         </ows:Parameter>
+      </ows:Operation>
+      <ows:Operation name="Harvest">
+         <ows:DCP>
+            <ows:HTTP>
+               <ows:Get xlink:type="simple" xlink:href="http://demo.cubewerx.com/ows4/cwwrs/cwwrs.cgi?"/>
+               <ows:Post xlink:type="simple" xlink:href="http://demo.cubewerx.com/ows4/cwwrs/cwwrs.cgi"/>
+            </ows:HTTP>
+         </ows:DCP>
+         <ows:Parameter name="ResourceType">
+            <ows:Value>WMS</ows:Value>
+            <ows:Value>WFS</ows:Value>
+            <ows:Value>FGDC</ows:Value>
+            <ows:Value>ANZLIC</ows:Value>
+            <ows:Value>ISO19139</ows:Value>
+            <ows:Value>DDMS</ows:Value>
+            <ows:Value>SCHEMA</ows:Value>
+            <ows:Value>SYMBOLOGYENCODING</ows:Value>
+            <ows:Value>rim:ClassificationScheme</ows:Value>
+         </ows:Parameter>
+         <ows:Parameter name="ResourceFormat">
+            <ows:Value>text/xml</ows:Value>
+         </ows:Parameter>
+      </ows:Operation>
+      <ows:ExtendedCapabilities/>
+   </ows:OperationsMetadata>
+   <ows:Contents/>
+   <Filter_Capabilities xmlns="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/ogc http://schemas.cubewerx.com/schemas/filter/1.0.0/filterCapabilities.xsd">
+      <Spatial_Capabilities>
+         <Spatial_Operators>
+            <BBOX/>
+            <Equals/>
+            <Intersect/>
+            <Touches/>
+            <Crosses/>
+            <Contains/>
+            <Overlaps/>
+         </Spatial_Operators>
+      </Spatial_Capabilities>
+      <Scalar_Capabilities>
+         <Logical_Operators/>
+         <Comparison_Operators>
+            <Simple_Comparisons/>
+            <Like/>
+            <Between/>
+            <NullCheck/>
+         </Comparison_Operators>
+         <Arithmetic_Operators>
+            <Simple_Arithmetic/>
+            <Functions>
+               <Function_Names>
+                  <Function_Name nArgs="1">COUNT</Function_Name>
+                  <Function_Name nArgs="1">DISTINCT</Function_Name>
+                  <Function_Name nArgs="1">MIN</Function_Name>
+                  <Function_Name nArgs="1">MAX</Function_Name>
+                  <Function_Name nArgs="1">UPPER</Function_Name>
+               </Function_Names>
+            </Functions>
+         </Arithmetic_Operators>
+      </Scalar_Capabilities>
+   </Filter_Capabilities>
+</csw:Capabilities>
Index: lib/spatial/mapbuilder/examples/contextEditor/contextEditor.xml
===================================================================
--- lib/spatial/mapbuilder/examples/contextEditor/contextEditor.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/contextEditor/contextEditor.xml	(revision 4307)
@@ -0,0 +1,322 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="contextEditorDemoConfig" 
+      xmlns="http://mapbuilder.sourceforge.net/mapbuilder" 
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+      xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+  <!--
+    Description: This configuration file determines what components from the
+                 Mapbuilder library are to be included in a Main Mapbuilder web
+                 page.
+    Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html 
+
+    $Id: contextEditor.xml 3691 2007-12-06 11:19:58Z ahocevar $
+  -->
+  <models>
+    <Context id="mainMap">
+      <defaultModelUrl>../data/context/DM_Canada.xml</defaultModelUrl>
+      <!--defaultModelUrl>../data/context/atlasWorld.xml</defaultModelUrl-->
+      <widgets>
+        <MapPaneOL id="mainMapWidget">
+          <htmlTagId>mainMapPane</htmlTagId>
+			<fixedSize>true</fixedSize>
+        </MapPaneOL>
+        <CursorTrack id="cursorTrack">
+        </CursorTrack>
+        <MapTitle id="mapTitle"/>
+        <LayerControl id="contextLegend">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <legendImageEnable>/images/LegendEnable.png</legendImageEnable>
+		  <legendImageDisable>/images/LegendDisable.png</legendImageDisable> 
+          <moveUpImage>/images/LayerMoveUpDisable.png</moveUpImage>
+          <moveDownImage>/images/LayerMoveDownDisable.png</moveDownImage>
+          <deleteImage>/images/LayerRemoveDisable.png</deleteImage>
+          <opacity>true</opacity>
+        </LayerControl>
+      </widgets>
+      <tools>
+      </tools>
+    </Context>
+    <Context id="locator">
+      <defaultModelUrl>../data/context/locatorMap.xml</defaultModelUrl>
+      <widgets>
+        <MapPaneOL id="locatorWidget">
+          <htmlTagId>locatorMap</htmlTagId>
+          <targetModel>mainMap</targetModel>
+          <mapContainerId>locatorContainer</mapContainerId>
+			<fixedSize>true</fixedSize>
+        </MapPaneOL>
+      </widgets>
+      <tools>
+        <ZoomToAoi id="locatorZoomToAoi">
+          <targetModel>mainMap</targetModel>
+        </ZoomToAoi>
+      </tools>
+    </Context>
+    <Model id="myMapCollection">
+      <!--defaultModelUrl>../data/context/demoCollection.xml</defaultModelUrl-->
+      <widgets>
+        <CollectionList id="collectionList">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <targetModel>mainMap</targetModel>
+          <title>Select a map as your base map</title>
+        </CollectionList>
+      </widgets>
+    </Model>
+    <!-- use this with a WFS capabilities model -->
+    <WfsCapabilities id="wfsCapTemplate">
+      <!--defaultModelUrl>http://webservices.ionicsoft.com/ionicweb/wfs/BOSTON_ORA?version=1.0.0&amp;service=WFS&amp;request=GetCapabilities</defaultModelUrl-->
+      <models>
+        <Model id="featureTypeTemplate" template="true">
+          <widgets>
+            <FilterAttributes id="attributeFilter">
+              <htmlTagId>workspace</htmlTagId>
+              <outputNodeId>workspaceCanvas</outputNodeId>
+            </FilterAttributes>
+          </widgets>
+        </Model>
+        <FeatureCollection id="getFeatureTemplate" template="true">
+          <method>get</method>
+          <widgets>
+            <GmlRendererOL id="testGmlRenderer">
+          <targetModel>mainMap</targetModel>
+         </GmlRendererOL>
+            <Legend id="wfsLegend">
+              <htmlTagId>workspace</htmlTagId>
+              <outputNodeId>workspaceCanvas</outputNodeId>
+            </Legend>
+          </widgets>
+        </FeatureCollection>
+        <!--Transaction id="transactionTemplate" template="true">
+          <method>post</method>
+          <widgets>
+            <TransactionResponse id="transResponse"/>
+          </widgets>
+        </Transaction-->
+      </models>
+      <widgets>
+        <SelectFeatureType id="featureTypes">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <toolId>wfsController</toolId>
+        </SelectFeatureType>
+      </widgets>
+      <tools>
+        <WebServiceRequest id="wfsGetFeature">
+          <targetModel>getFeatureTemplate</targetModel>
+          <requestName>wfs:GetFeature</requestName>
+          <maxFeatures>20</maxFeatures>
+        </WebServiceRequest>
+        <WebServiceRequest id="wfsDescribeFeature">
+          <targetModel>featureTypeTemplate</targetModel>
+          <requestName>wfs:DescribeFeatureType</requestName>
+        </WebServiceRequest>
+        <!--WebServiceRequest id="wfsTransaction">
+          <targetModel>transactionTemplate</targetModel>
+          <requestName>wfs:Transaction</requestName>
+        </WebServiceRequest-->
+      </tools>
+      <nodeSelectXpath>/wfs:WFS_Capabilities/wfs:FeatureTypeList/wfs:FeatureType</nodeSelectXpath>
+    </WfsCapabilities>
+    <WmsCapabilities id="wmsCapTemplate">
+      <!--defaultModelUrl>http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?version=1.1.1&amp;service=WMS&amp;request=GetCapabilities</defaultModelUrl-->
+      <title>OGC Web Map Server (WMS)</title>
+      <models>
+        <!--GetFeatureInfo id="featureTypeTemplate" template="true">
+          <widgets>
+            <FilterAttributes id="attributeFilter">
+              <outputNodeId>filterForm</outputNodeId>
+            </FilterAttributes>
+          </widgets>
+        </GetFeatureInfo-->
+        <!--GetMap id="getMapTemplate" template="true">
+          <widgets>
+            <MapImage id="renderMap">
+              <targetModel>mainMap</targetModel>
+              <htmlTagId>mainMapPane</htmlTagId>
+              <mapContainerId>mainMapContainer</mapContainerId>
+            </MapImage>
+          </widgets>
+        </GetMap-->
+      </models>
+      <widgets>
+        <SelectMapLayers id="layerList">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+        </SelectMapLayers>
+        <Loading2 id="loading3">
+					<htmlTagId>workspace</htmlTagId>
+					<outputNodeId>workspaceCanvas</outputNodeId>
+        </Loading2>
+      </widgets>
+      <tools>
+        <!--WebServiceRequest id="wmsController">
+          <targetModel>getMapTemplate</targetModel>
+          <requestName>GetMap</requestName>
+        </WebServiceRequest-->
+        <!--WebServiceRequest id="wmsController">
+          <targetModel>getFeatureInfoTemplate</targetModel>
+          <requestName>wms:GetFeatureInfo</requestName>
+        </WebServiceRequest-->
+        <EditContext id="editContext">
+          <targetModel>mainMap</targetModel>
+        </EditContext>
+      </tools>
+      <nodeSelectXpath>//Layer</nodeSelectXpath>
+    </WmsCapabilities>
+    <Model id="wmsServers">
+      <title>Web Map Servers</title>
+      <widgets>
+        <WebServiceForm id="wmsServerList">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <stylesheet>../../lib/widget/ServiceRegistryList.xsl</stylesheet>
+          <capabilitiesModel>wmsCapTemplate</capabilitiesModel>
+          <serviceType>CgdiMapServices</serviceType>
+        </WebServiceForm>
+        <Loading2 id="loading1">
+					<htmlTagId>workspace</htmlTagId>
+					<outputNodeId>workspaceCanvas</outputNodeId>
+        </Loading2>
+      </widgets>
+    </Model>
+    <Model id="wfsServers">
+      <title>Web Feature Servers</title>
+      <widgets>
+        <WebServiceForm id="wfsServerList">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <stylesheet>../../lib/widget/ServiceRegistryList.xsl</stylesheet>
+          <capabilitiesModel>wfsCapTemplate</capabilitiesModel>
+          <serviceType>CgdiFeatureServices</serviceType>
+        </WebServiceForm>
+        <Loading2 id="loading4">
+					<htmlTagId>workspace</htmlTagId>
+					<outputNodeId>workspaceCanvas</outputNodeId>
+        </Loading2>
+      </widgets>
+    </Model>
+    <WfsCapabilities id="owsCatSearch">
+      <defaultModelUrl>http://devgeo.cciw.ca/cgi-bin/mapserv/owscat?version=1.0.0&amp;service=WFS&amp;request=GetCapabilities</defaultModelUrl>
+      <nodeSelectXpath>/wfs:WFS_Capabilities/wfs:FeatureTypeList/wfs:FeatureType</nodeSelectXpath>
+      <models>
+        <OwsCatResources id="owsCatResults">
+          <method>get</method>
+          <widgets>
+            <!--GmlRendererWZ id="resultBbox">
+              <htmlTagId>mainMapPane</htmlTagId>
+              <targetModel>mainMap</targetModel>
+              <lineColor>#FF0000</lineColor>
+              <lineWidth>2</lineWidth>
+              <pointDiameter>10</pointDiameter>
+              <mapContainerId>mainMapContainer</mapContainerId>
+            </GmlRendererWZ-->
+            <Widget id="resultList">
+              <htmlTagId>workspace</htmlTagId>
+              <stylesheet>OWSCatResultList.xsl</stylesheet>
+              <outputNodeId>workspaceCanvas</outputNodeId>
+            </Widget>
+          </widgets>
+          <tools>
+            <EditContext id="addLayer">
+              <targetModel>mainMap</targetModel>
+            </EditContext>
+          </tools>
+          <nodeSelectXpath>/wfs:FeatureCollection/gml:featureMember/owscat:service_resources</nodeSelectXpath>
+        </OwsCatResources>
+        <Model id="filterExpression">
+          <defaultModelUrl>OWSCatResourceFilter.xml</defaultModelUrl>
+          <widgets>
+            <OWSCatSearchForm id="owsCatSearchForm">
+              <htmlTagId>workspace</htmlTagId>
+              <outputNodeId>workspaceCanvas</outputNodeId>
+              <targetModel>owsCatSearch</targetModel>
+              <stylesheet>owsCatSearchForm.xsl</stylesheet>
+              <scriptFile>OWSCatSearchForm.js</scriptFile>
+              <mapModel>mainMap</mapModel>
+            </OWSCatSearchForm>
+          </widgets>
+        </Model>
+      </models>
+      <widgets>
+      </widgets>
+      <tools>
+        <WebServiceRequest id="owsCatGetFeature">
+          <targetModel>owsCatResults</targetModel>
+          <requestName>wfs:GetFeature</requestName>
+          <requestFilter>filterExpression</requestFilter>
+          <maxFeatures>20</maxFeatures>
+          <debug/>
+        </WebServiceRequest>
+      </tools>
+    </WfsCapabilities>
+  </models>
+  <widgets>
+    <TabbedContent id="tabBar">
+      <tab>wmsServerList</tab>
+      <tab>layerList</tab>
+      <tab>wfsServerList</tab>
+      <tab>featureTypes</tab>
+      <tab>resultList</tab>
+    </TabbedContent>
+    <ModelUrlInput id="urlInput">
+      <htmlTagId>workspace</htmlTagId>
+      <outputNodeId>workspaceCanvas</outputNodeId>
+      <targetModel>wmsCapTemplate</targetModel>
+    </ModelUrlInput>
+    <ZoomIn id="zoomIn">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <selected>true</selected>
+      <enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+    </ZoomIn>
+    <ZoomOut id="zoomOut">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+    </ZoomOut>
+    <DragPan id="dragPan">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/PanEnable.png</enabledSrc>
+      <disabledSrc>/images/PanDisable.png</disabledSrc>
+    </DragPan>
+    <SetAoi id="setAoi">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/SetAoiEnable.png</enabledSrc>
+      <disabledSrc>/images/SetAoiDisable.png</disabledSrc>
+    </SetAoi>
+    <Reset id="reset">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+    </Reset>
+    <Save id="save">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/SaveDisable.png</disabledSrc>
+      <popupWindowName>modelXML</popupWindowName>
+    </Save>
+    <Widget id="help">
+      <htmlTagId>workspace</htmlTagId>
+      <outputNodeId>workspaceCanvas</outputNodeId>
+      <stylesheet>Help.xsl</stylesheet>
+    </Widget>
+  </widgets>
+  <!--
+    All static images should be relative to this URL.
+    This dir is relative the dir of the main html file.
+  -->
+	<skinDir>../../lib/skin/default</skinDir>
+    <proxyUrl>../../MapbuilderProxy.jsp</proxyUrl>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/contextEditor/Help.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/contextEditor/Help.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/contextEditor/Help.xsl	(revision 4307)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:wmc="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+<!--
+Description: Prototype stylesheet to automatically generate a form from an XML doc.
+Author:      Mike Adair
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+XmlForm.xsl,v 1.1 2004/06/28 03:46:49 madair1 Exp
+-->
+
+  <xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
+
+  <!-- The common params set for all widgets -->
+  <xsl:param name="modelId"/>
+  <xsl:param name="widgetId"/>
+
+  <!-- The name of the form for coordinate output -->
+
+  <!-- Main html -->
+	<xsl:template match="/">
+    <div>
+    <h2>How to use this page</h2>
+      <ol>
+        <li>Start by selecting a map to use as your base map from the "Reference maps"</li>
+        <li>Search for WMS layers either from the seacrh form or by browsing a list of WMS servers in the "Search for data" menu</li>
+        <li>Add in layers of interest to your map</li>
+        <li>Add/remove/reorder layers using the "Layer control" tool in the "Edit Map Metadata" menu</li>
+        <li>Finally, when the map is ready to be saved, click on the"save" icon on the left side of the map.
+            This will save the map as a Web Map Context document which can be used in other applications.</li>
+      </ol>
+      </div>
+  </xsl:template>
+
+	<xsl:template match="text()|@*"/>
+
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/mapViewer/config.xml
===================================================================
--- lib/spatial/mapbuilder/examples/mapViewer/config.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/mapViewer/config.xml	(revision 4307)
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="simpleTemplate" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+	<models>
+		<Context id="mainMap">
+			<defaultModelUrl>bejingWind.xml</defaultModelUrl>
+			<widgets>
+				<MapPaneOL id="mainMapWidget">
+					<htmlTagId>mainMapPane</htmlTagId>
+          			<fixedSize>true</fixedSize>
+				</MapPaneOL>
+        <MapScaleBar id="scalebar">
+          <!--all of these properties are optional-->
+          <!--displaySystem>english</displaySystem-->
+          <displaySystem>metric</displaySystem>
+          <minWidth>100</minWidth>
+          <maxWidth>200</maxWidth>
+          <divisions>4</divisions>
+          <subdivisions>2</subdivisions>
+          <showMinorMeasures>false</showMinorMeasures>
+          <abbreviateLabel>true</abbreviateLabel>
+          <singleLine>true</singleLine>
+          <align>left</align><!-- left, center, or right -->
+        </MapScaleBar>
+        <CursorTrack id="cursorTrack">
+          <showXY>false</showXY>
+        </CursorTrack>
+        <Legend id="legend">
+          <stylesheet>LegendOpaque.xsl</stylesheet>
+        </Legend>
+        <LegendGraphic id="legendGraphic"/>
+        <Abstract id="mapAbstract">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+          <parseHTMLNodes>true</parseHTMLNodes>
+        </Abstract>
+        <MapTitle id="mapTitle">
+          <parseHTMLNodes>true</parseHTMLNodes>
+        </MapTitle>
+        <OverviewMap id="locatorWidget">
+          <htmlTagId>locatorMap</htmlTagId>
+          <width>180</width>
+        </OverviewMap>
+			</widgets>
+			<tools>
+        <History id="extentHistory"/>
+				<WebServiceRequest id="featureInfoController">
+					<targetModel>featureInfoResponse</targetModel>
+					<requestName>wms:GetFeatureInfo</requestName>
+          <!--infoFormat>text/html</infoFormat-->
+          <infoFormat>application/vnd.ogc.gml</infoFormat>
+          <featureCount>1</featureCount>
+				</WebServiceRequest>
+			</tools>
+      <nodeSelectXpath>/wmc:ViewContext/wmc:LayerList/wmc:Layer</nodeSelectXpath>
+		</Context>
+    <Model id="featureInfoResponse">
+      <widgets>
+        <FeatureInfo id="features">
+          <htmlTagId>workspace</htmlTagId>
+          <outputNodeId>workspaceCanvas</outputNodeId>
+        </FeatureInfo>
+      </widgets>
+      <namespace>xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs' xmlns:topp='http://www.openplans.org/topp'</namespace>
+    </Model>
+	</models>
+	<widgets>
+    <!--TabbedContent id="tabBar">
+      <tab>mapAbstract</tab>
+      <tab>features</tab>
+    </TabbedContent-->
+    <Back id="back">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/UndoDisable.png</disabledSrc>
+    </Back>
+    <Forward id="forward">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/RedoDisable.png</disabledSrc>
+    </Forward>
+		<ZoomIn id="zoomIn">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>RadioButton</class>
+			<selected>true</selected>
+			<enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+			<disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+		</ZoomIn>
+		<ZoomOut id="zoomOut">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>RadioButton</class>
+			<enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+			<disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+		</ZoomOut>
+		<DragPan id="dragPan">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>RadioButton</class>
+			<enabledSrc>/images/PanEnable.png</enabledSrc>
+			<disabledSrc>/images/PanDisable.png</disabledSrc>
+		</DragPan>
+    <GetFeatureInfoWSR id="getFeatureInfo">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/QueryEnable.png</enabledSrc>
+      <disabledSrc>/images/QueryDisable.png</disabledSrc>
+      <controller>featureInfoController</controller>
+    </GetFeatureInfoWSR>
+		<Reset id="reset">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>Button</class>
+			<disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+		</Reset>
+		<Graticule id="graticule">
+		  <buttonBar>mainButtonBar</buttonBar>
+		  <targetModel>mainMap</targetModel>
+		  <class>Toggle</class>
+      <selected>true</selected>
+      <enabledSrc>/images/Graticule.png</enabledSrc>
+		  <disabledSrc>/images/Graticule.png</disabledSrc>
+		  <color>black</color>
+		  <mapContainerId>mainMapContainer</mapContainerId>
+    </Graticule>
+     <ExampleList id="exampleList"><!-- this is the widget that draws the example menu -->
+		<scriptFile>../ExampleList.js</scriptFile>
+		<stylesheet>../ExampleList.xsl</stylesheet>
+    </ExampleList>
+	</widgets>
+	
+	<skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/wfs-t/template_road.xml
===================================================================
--- lib/spatial/mapbuilder/examples/wfs-t/template_road.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/wfs-t/template_road.xml	(revision 4307)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gml:FeatureCollection xmlns:topp="http://www.openplans.org/topp" xmlns:gml="http://www.opengis.net/gml">
+  <gml:featureMember>
+    <topp:tasmania_roads>
+      <topp:the_geom>
+        <gml:MultiLineString srsName="epsg:4326">
+          <gml:lineStringMember>
+            <gml:LineString>
+              <gml:coordinates decimal="." cs="," ts=" "/>
+            </gml:LineString>
+          </gml:lineStringMember>
+        </gml:MultiLineString>
+      </topp:the_geom>
+      <topp:TYPE>road</topp:TYPE>
+    </topp:tasmania_roads>
+  </gml:featureMember>
+</gml:FeatureCollection>
\ No newline at end of file
Index: lib/spatial/mapbuilder/examples/wfs-t/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/wfs-t/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/wfs-t/index.html	(revision 4307)
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+      
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Mapbuilder Feature Entry</title>
+       <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+       <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/mapStyle.css'/>
+     <script>
+      // URL of Mapbuilder configuration file.
+      var mbConfigUrl='config.xml';
+
+    </script>
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+  </head>
+  <body onload="mbDoLoad()" >
+  <div id="header">
+    <h1><a href="http://communitymapbuilder.org">MapBuilder</a> <!--Version-->1.5-rc2<!--VersionEnd--> Feature Entry</h1>
+    <!-- The version tag will be inserted into the comment tags above
+    during the build process. -->
+<!--<a href="install.html" class="help">how to use this page</a></div>-->
+  </div>
+  <div id="middle">
+ 	    <div id="exampleList"></div><!-- this is the container where the menubar will be drawn -->
+	<div id="mainbody">
+	  <div class="left">
+	    <h3>Explanation</h3>
+    <p>The Feature entry demo is configured to work with a default installation
+    of <a href="http://geoserver.sourceforge.net">Geoserver</a>.  Geoserver
+    needs be installed on a server which supports Java Servlets. You (normally) can see it in action on the <a href="http://demo.communitymapbuilder.org/">demo site</a><br/>
+    The features are requested from geoserver as GML and rendered using the <i>GmlRendererOL</i> widget, which creates a Vector layer in OpenLayers. 
+    The OpenLayers popup when clicking on a selected feature is rendered inside the Map pane.
+    
+    <h2>Installation instructions</h2>
+    <ol>
+      <li>Download and install <a href="http://java.sun.com/javase/downloads/index.jsp">Java</a>.</li>
+      <li>Download and install <a href="http://java.sun.com/products/java-media/jai/current.html">Java Advanced Imaging (JAI)</a>.</li>
+      <li>Download, install and start <a href="http://tomcat.apache.org/">Tomcat</a>, (or another a Java Servlet Container).</li>
+      <li>Download and install <a href="http://www.geoserver.org/">Geoserver</a> version 1.3.0-beta or later.  Installation is as simple as copying the geoserver.war file into the tomcat/webapps/ directory.</li>
+      <li>Copy the mapbuilder.war file into the tomcat/webapps/ directory.</li>
+      <li>Access the WFS-T demo URL.  This will probably be <a href="http://localhost:8080/mapbuilder/demo/wfs-t/">http://localhost:8080/mapbuilder/demo/wfs-t/</a>.
+    </ol>
+    </div>
+  	<div class="right">
+  	  <table>
+      <tr>
+        <td valign="top" id="locatorMap"/>
+        <td valign="top" rowspan="2" colspan="2">
+          <!--div id="loading">
+            <p>Loading Program<br/>
+            <img src="../../lib/skin/default/images/Loading.gif"/>
+            </p>
+          </div-->
+          <div>
+	          <div id="mainMapPane"></div>
+	          <div id="mainButtonBar" style="margin-top:5px;height:24px;width:240px"></div>
+	          <div id="cursorTrack" style="height:12pt"></div>
+          </div>
+      </tr>
+      <tr>
+        <td id="legend"/>
+      </tr>
+      <tr>
+        <td colspan="3" id="featureList"/>
+      </tr>
+      <tr>
+        <td colspan="3" id="transactionResponse"/>
+      </tr>
+      <tr>
+        <td colspan="3">
+          <div id="eventLog"/>
+        </td>
+      </tr>
+      
+    </table>
+		</div>
+	</div>
+	</div>
+  <div id="footer">
+	  
+    <div class="right">
+<a href="http://communitymapbuilder.org/" title="powered by community mapbuilder"><img src="../../lib/skin/default/images/Icon.gif"/></a>	  	
+<a href="https://www.osgeo.org/" title="member of OSgeo"><img src="../../lib/skin/default/images/Osgeo.png"/></a>
+         </div>
+  </div>  
+  </body>
+</html>
Index: lib/spatial/mapbuilder/examples/Demis/config.xml
===================================================================
--- lib/spatial/mapbuilder/examples/Demis/config.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/Demis/config.xml	(revision 4307)
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="DemisMapExample" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+	<models>
+		<Context id="mainMap">
+			<defaultModelUrl>DemisWorldMap.xml</defaultModelUrl>
+			
+      <widgets>
+				<MapPaneOL id="mainMapWidget">
+					<htmlTagId>mainMapPane</htmlTagId>
+          			<fixedSize>true</fixedSize>
+				</MapPaneOL>
+				<ModelUrlInput id="urlInput"/>
+        <MapScaleText id="mapScaleText"/>
+        <!-- 
+        <MapScaleBar id="mapScaleBar"/> 
+        -->        
+        <CursorTrack id="cursorTrack">
+          <showPx>false</showPx>
+          <showLatLong>false</showLatLong>
+          <showDMS>true</showDMS>
+          <showMGRS>false</showMGRS>
+          <precision>2</precision>
+        </CursorTrack>
+			</widgets>
+      
+			<tools>
+        <History id="extentHistory">
+          <targetModel>mainMap</targetModel>
+        </History>
+			</tools>
+		</Context>
+    
+    <Model id="collectionGroup">
+      <defaultModelUrl>mapCollection.xml</defaultModelUrl>
+      <widgets>
+        <CollectionList id="collectionList">
+          <targetModel>mainMap</targetModel>
+          <stylesheet>./CollectionList.xsl</stylesheet>
+        </CollectionList>
+      </widgets>
+    </Model>
+    
+	</models>
+	<widgets>
+  <Back id="back">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/UndoDisable.png</disabledSrc>
+    </Back>
+    <Forward id="forward">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/RedoDisable.png</disabledSrc>
+    </Forward>
+    <ZoomIn id="zoomIn">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <selected>true</selected>
+      <enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+    </ZoomIn>
+    <ZoomOut id="zoomOut">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+    </ZoomOut>
+    <DragPan id="dragPan">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/PanEnable.png</enabledSrc>
+      <disabledSrc>/images/PanDisable.png</disabledSrc>
+    </DragPan>
+    <Reset id="reset">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+    </Reset>
+     <ExampleList id="exampleList">
+		<scriptFile>../ExampleList.js</scriptFile>
+		<stylesheet>../ExampleList.xsl</stylesheet>
+    </ExampleList>
+ 	</widgets>
+	<skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/Demis/BlueMarble.xml
===================================================================
--- lib/spatial/mapbuilder/examples/Demis/BlueMarble.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/Demis/BlueMarble.xml	(revision 4307)
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+
+<ViewContext version="1.0.0" id="atlas_world" xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+
+	<General>
+
+		<Window width="600" height="300"/>
+
+		<BoundingBox SRS="EPSG:4326" minx="-180" miny="-90" maxx="180" maxy="90"/>
+
+		<Title xml:lang="en">World Base Map</Title>
+
+		<KeywordList>
+
+			<Keyword>world</Keyword>
+
+			<Keyword>atlas</Keyword>
+
+		</KeywordList>
+
+		<Abstract xml:lang="en">World Base Map.</Abstract>
+
+	</General>
+
+	<LayerList>
+
+		<Layer queryable="1" hidden="0">
+
+			<Server service="OGC:WMS" version="1.0.0" title="OGC:WMS">
+
+      <OnlineResource xlink:type="simple" xlink:href="http://www2.demis.nl/WMS/wms.asp?wms=BlueMarble"/>
+
+			</Server>
+
+			<Name>Countries,Earth+Image,Coastlines,Waterbodies,Transportation,Borders,Cities,Airports</Name>
+
+			<Title>WMS 1.0</Title>
+
+			<SRS>EPSG:4326</SRS>
+
+			<FormatList>
+
+				<Format current="1">image/gif</Format>
+
+			</FormatList>
+
+			<StyleList>
+
+				<Style current="1">
+
+					<Name>default</Name>
+
+					<Title>default</Title>
+
+				</Style>
+
+			</StyleList>
+
+		</Layer>
+
+	</LayerList>
+
+</ViewContext>
+
Index: lib/spatial/mapbuilder/examples/Demis/CollectionList.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/Demis/CollectionList.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/Demis/CollectionList.xsl	(revision 4307)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+Description: parses an OGC context collection document to generate a context pick list
+Author:      adair
+Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
+
+$Id: CollectionList.xsl 2957 2007-07-09 12:21:10Z steven $
+$Name$
+-->
+
+<xsl:stylesheet version="1.0" 
+    xmlns:wmc="http://www.opengis.net/context" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    exclude-result-prefixes="wmc xlink">
+
+  <xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8"/>
+  <xsl:strip-space elements="*"/>
+
+  <!-- The common params set for all widgets -->
+  <xsl:param name="lang">en</xsl:param>
+
+  <!-- Text params for this widget -->
+  <xsl:param name="title"/>
+
+  <xsl:param name="widgetId"/>
+ 
+  <!-- template rule matching source root element -->
+  <xsl:template match="/wmc:ViewContextCollection">
+
+    <ul>
+      <xsl:apply-templates select="wmc:ViewContextReference"/>
+    </ul>
+
+  </xsl:template>
+
+  <xsl:template match="wmc:ViewContextReference">
+    <xsl:param name="linkUrl">config.objects.<xsl:value-of select="$widgetId"/>.switchMap(config.objects.<xsl:value-of select="$widgetId"/>,'<xsl:value-of select="wmc:ContextURL/wmc:OnlineResource/@xlink:href"/>')</xsl:param>
+    <xsl:param name="name"><xsl:value-of select='wmc:Title'/></xsl:param>
+    <input type='button' value="{$name}"  onClick="{$linkUrl}" />
+  </xsl:template>
+  
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/mergeModels/FeatureList.js
===================================================================
--- lib/spatial/mapbuilder/examples/mergeModels/FeatureList.js	(nonexistent)
+++ lib/spatial/mapbuilder/examples/mergeModels/FeatureList.js	(revision 4307)
@@ -0,0 +1,66 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: FeatureList.js 3733 2007-12-12 23:13:47Z ahocevar $
+*/
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Custom, read-only version of the FeatureList widget.
+ * @author Andreas Hocevar andreas.hocevarATgmail.com
+ * @base WidgetBaseXSL
+ * @param widgetNode config node for this widget
+ * @param model parent model for this widget
+ */
+function FeatureList(widgetNode, model) {
+  WidgetBaseXSL.apply(this, arguments);
+
+  /**
+   * Listener function to highlight a list item when the mouse enters a
+   * feature on the map.
+   * @param objRef reference to this widget
+   */
+  this.highlightFeature = function(objRef) {
+    var fid = objRef.model.getParam("mouseoverFeature");
+    var highlightNode = document.getElementById(objRef.id+'_'+fid)
+    if (fid && highlightNode) {
+      highlightNode.className = 'listitem_active';
+    }
+  }
+  model.addListener("mouseoverFeature", this.highlightFeature, this);
+  
+  /**
+   * Listener function to dehighlight a list item when the mouse leaves a
+   * feature on the map.
+   * @param objRef reference to this widget
+   */
+  this.dehighlightFeature = function(objRef) {
+    var fid = objRef.model.getParam("mouseoutFeature");
+    var highlightNode = document.getElementById(objRef.id+'_'+fid)
+    if (fid && highlightNode) {
+      document.getElementById(objRef.id+'_'+fid).className = 'listitem';
+    }
+  }
+  model.addListener("mouseoutFeature", this.dehighlightFeature, this);
+  
+  /**
+   * Widget function to highlight the list item and call the listener that
+   * will highlight the feature in the map.
+   * @param div DOM node in the widget output that displays the feature
+   * @param fid feature id of the feature
+   */
+  this.highlight = function(div, fid) {
+    div.className="listitem_active";
+    model.setParam("highlightFeature", fid);
+  }
+  
+  /**
+   * Widget function to dehighlight the list item and call the listener that
+   * will hdeighlight the feature in the map.
+   * @param div DOM node in the widget output that displays the feature
+   * @param fid feature id of the feature
+   */
+  this.dehighlight = function(div, fid) {
+    div.className="listitem";
+    model.setParam("dehighlightFeature", fid);
+  }
+}
\ No newline at end of file
Index: lib/spatial/mapbuilder/examples/mergeModels/google.xml
===================================================================
--- lib/spatial/mapbuilder/examples/mergeModels/google.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/mergeModels/google.xml	(revision 4307)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8" standalone="no" ?>
+<OWSContext version="0.0.13"
+    id="ows-context-tie"
+    xmlns="http://www.opengis.net/context"
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:sld="http://www.opengis.net/sld"
+    xmlns:ogc="http://www.opengis.net/ogc"
+    xmlns:ows="http://www.opengis.net/ows"
+    xmlns:param="http;//www.opengis.net/param"
+    xsi:schemaLocation="http://www.opengis.net/oc oc_0_0_13.xsd">
+  <General>
+    <Window width="500" height="325"/>
+    <ows:BoundingBox crs="EPSG:900913">
+      <ows:LowerCorner>1447984 6062258</ows:LowerCorner>
+      <ows:UpperCorner>1470571 6084922</ows:UpperCorner>
+    </ows:BoundingBox>
+    <Title>OWS context with Google</Title>
+    <Abstract> The OGC Web Services Context Document with google baselayer (mapbuilder only ATM)</Abstract>
+  </General>
+  <ResourceList>
+    <ows:BaseLayer>
+      <Server service="Google"/> <!-- the service attribute will decide what kind of layer it is, in the case of a WMS you will need to add a resource url -->
+      <Name>Google Hybrid</Name>  <!-- used to set the name of the baselayer -->
+      <ows:TileSet>  <!-- this is taken from TileCache.py -->
+        <!-- <ows:resolutions/> --><!-- If prefered you can store you custom resolutions, for ymap,ve and gmap it's not needed -->
+        <ows:SRS>EPSG:900913</ows:SRS>  <!-- if set to EPSG:900913 it will automatically switch to sphericalMercator -->
+        <ows:BoundingBox SRS="EPSG:900913" minx="-20037508" miny="-20037508" maxx="20037508" maxy="20037508.34"/> <!-- unfortunately this is currently being ignored, please use the OWS context bbox-->
+        <ows:Layers>hybrid</ows:Layers> <!-- here you can choose aerial/satellite, road/normal or hybrid(default)-->
+        <!-- <ows:Width/> --> <!-- here you can specify a custom tilesize, default is 256 -->
+        <!-- <ows:Format/> --> <!-- here you can specify a custom format -->
+      </ows:TileSet>
+    </ows:BaseLayer>
+  </ResourceList>
+</OWSContext>
Index: lib/spatial/mapbuilder/examples/complete/complete.jsp
===================================================================
--- lib/spatial/mapbuilder/examples/complete/complete.jsp	(nonexistent)
+++ lib/spatial/mapbuilder/examples/complete/complete.jsp	(revision 4307)
@@ -0,0 +1,87 @@
+<%@page contentType="text/html"%>
+
+<!--
+Description: A Browser based Web Map Server Client based on javascript and XSL
+             libraries from http://mapbuilder.sourceforge.net .
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: complete.jsp 2124 2006-06-12 22:30:12Z lderezinski $
+$Name$
+-->
+<%
+  request.setAttribute("mbConfigUrl", "/demo/complete/completeConfig.xml");
+%>
+
+
+<html>
+  <head>
+    <title>Mapbuilder Demo</title>
+
+    <link rel="stylesheet" href="<%= request.getContextPath() %>/lib/skin/default/mapStyle.css" type="text/css">
+
+  <jsp:include page="/MapbuilderHead.jsp" flush="true"/>
+
+  </head>
+
+  <body onload="mbDoLoad()">
+    <!-- Layout mapbuilder widgets and HTML -->
+    <h1><a href="http://mapbuilder.sourceforge.net">Community Map Builder</a> Demo</h1>
+    <table>
+      <tr>
+        <td valign="top" style="padding:6px;width:180">
+        <div id="locatorMap" >  </div>
+        </td>
+        <td>
+          <h2 id="mapTitle"></h2>
+          <div id="mainMapPane"></div>
+        </td>
+      </tr>
+      <tr>
+        <td/>
+        <td valign="top">
+          <table width="100%">
+            <tr>
+              <td align="left">
+                <div id="mainButtonBar"/>
+              </td>
+              <td align="center" id="mapScaleText"/>
+              <td align="right" id="cursorTrack" />
+            </tr>
+          </table>
+        </td>
+      </tr>
+      <tr>
+        <td id="legend"/>
+        <td id="collectionList"/>
+      </tr>
+      <tr>
+        <td id="locationsSelect"/>
+        <td id="ntsLookupForm"/>
+      </tr>
+      <tr>
+        <td id="urlInput"/>
+        <td id="abstract"/>
+      </tr>
+      <tr>
+        <td id="saveModel"/>
+        <td id="wmsCapabilitiesImport"/>
+      </tr>
+      <tr>
+        <td/>
+        <td id="aoiForm"/>
+      </tr>
+      <tr>
+        <td id="featureList"/>
+        <td id="transactionResponse"/>
+      </tr>
+      <tr>
+        <td colspan="2">
+          <div id="eventLog"/>
+        </td>
+      </tr>
+    </table>
+    <br/>
+    <p align="right"><a href="http://mapbuilder.sourceforge.net">Community Map Builder</a><br/>$Name$</p>
+
+  </body>
+</html>
Index: lib/spatial/mapbuilder/examples/data/gml/topp_cities.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/gml/topp_cities.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/gml/topp_cities.xml	(revision 4307)
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs" xmlns:topp="http://www.openplans.org/topp" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openplans.org/topp http://localhost:8080/geoserver/wfs/DescribeFeatureType?typeName=topp:tasmania_cities http://www.opengis.net/wfs http://localhost:8080/geoserver/data/capabilities/wfs/1.0.0/WFS-basic.xsd">
+
+	<gml:boundedBy>
+
+		<gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+
+			<gml:coordinates decimal="." cs="," ts=" ">-180,-90 180,90</gml:coordinates>
+
+		</gml:Box>
+
+	</gml:boundedBy>
+
+	<gml:featureMember>
+
+		<topp:tasmania_cities fid="tasmania_cities.1">
+
+			<topp:the_geom>
+
+				<gml:MultiPoint srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+
+					<gml:pointMember>
+
+						<gml:Point>
+
+							<gml:coordinates decimal="." cs="," ts=" ">147.29100045,-42.85100182</gml:coordinates>
+
+						</gml:Point>
+
+					</gml:pointMember>
+
+				</gml:MultiPoint>
+
+			</topp:the_geom>
+
+			<topp:CITY_NAME>Hobart</topp:CITY_NAME>
+
+			<topp:ADMIN_NAME>Tasmania</topp:ADMIN_NAME>
+
+			<topp:CNTRY_NAME>Australia</topp:CNTRY_NAME>
+
+			<topp:STATUS>Provincial capital</topp:STATUS>
+
+			<topp:POP_CLASS>100,000 to 250,000</topp:POP_CLASS>
+
+		</topp:tasmania_cities>
+
+	</gml:featureMember>
+
+	<gml:featureMember>
+
+		<topp:tasmania_cities fid="tasmania_cities.2">
+
+			<topp:the_geom>
+
+				<gml:MultiPoint srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+
+					<gml:pointMember>
+
+						<gml:Point>
+
+							<gml:coordinates decimal="." cs="," ts=" ">-76,45</gml:coordinates>
+
+						</gml:Point>
+
+					</gml:pointMember>
+
+				</gml:MultiPoint>
+
+			</topp:the_geom>
+
+			<topp:CITY_NAME>Ottawa</topp:CITY_NAME>
+
+			<topp:ADMIN_NAME>Ontario</topp:ADMIN_NAME>
+
+			<topp:CNTRY_NAME>Canada</topp:CNTRY_NAME>
+
+			<topp:STATUS>National capital</topp:STATUS>
+
+			<topp:POP_CLASS> </topp:POP_CLASS>
+
+		</topp:tasmania_cities>
+
+	</gml:featureMember>
+
+	<gml:featureMember>
+
+		<topp:tasmania_cities fid="tasmania_cities.3">
+
+			<topp:the_geom>
+
+				<gml:MultiPoint srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+
+					<gml:pointMember>
+
+						<gml:Point>
+
+							<gml:coordinates decimal="." cs="," ts=" ">0,0</gml:coordinates>
+
+						</gml:Point>
+
+					</gml:pointMember>
+
+				</gml:MultiPoint>
+
+			</topp:the_geom>
+
+			<topp:CITY_NAME>In the water</topp:CITY_NAME>
+
+			<topp:ADMIN_NAME>Tasmania</topp:ADMIN_NAME>
+
+			<topp:CNTRY_NAME>Australia</topp:CNTRY_NAME>
+
+			<topp:STATUS>Provincial capital</topp:STATUS>
+
+			<topp:POP_CLASS> </topp:POP_CLASS>
+
+		</topp:tasmania_cities>
+
+	</gml:featureMember>
+
+</wfs:FeatureCollection>
+
Index: lib/spatial/mapbuilder/examples/data/gml/defaultAddPoint.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/gml/defaultAddPoint.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/gml/defaultAddPoint.xml	(revision 4307)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!-- $Id: defaultAddPoint.xml 1333 2005-03-12 14:29:07Z madair1 $ -->
+<gml:featureMember version="1.0.0"  xmlns:gml="http://www.opengis.net/gml">
+
+  <points>
+    <FID>0</FID>
+    <AREA>0.0</AREA>
+    <PERIMETER>0.0</PERIMETER>
+    <DTM_>202240</DTM_>
+    <DTM_ID>202273</DTM_ID>
+    <DTM_CODE>1</DTM_CODE>
+    <DTM_ELEV>8.3000001907299996</DTM_ELEV>
+    <POLYGONID>0</POLYGONID>
+    <SCALE>1.0</SCALE>
+    <ANGLE>0</ANGLE>
+    <_SHAPE_>
+      <gml:MultiPoint srsName="epsg:4326">
+        <gml:pointMember>
+          <gml:Point>
+            <gml:coordinates>-71.08641266665947,42.363115828688542 </gml:coordinates>
+          </gml:Point>
+        </gml:pointMember>
+      </gml:MultiPoint>
+    </_SHAPE_>
+  </points>
+</gml:featureMember>
Index: lib/spatial/mapbuilder/examples/data/context/OwcCanada.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/OwcCanada.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/OwcCanada.xml	(revision 4307)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<OWSContext
+  xmlns="http://www.opengis.net/context"
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  xmlns:ows="http://www.opengis.net/ows"
+  version="0.0.13"
+  id="ows-context-tie">
+  
+  <General>
+    <Window width="400" height="300"/>
+    <ows:BoundingBox crs="EPSG:4326">
+      <ows:LowerCorner>-142 40</ows:LowerCorner>
+      <ows:UpperCorner>-52 85</ows:UpperCorner>
+    </ows:BoundingBox>
+    <Title xml:lang="en">Simple World Context</Title>
+    <KeywordList>
+      <Keyword>world</Keyword>
+    </KeywordList>
+  </General>
+  <ResourceList>
+    <Layer hidden="0">
+      <Server service="WMS" version="1.1.1" title="WMS">
+        <OnlineResource method="POST" xlink:type="simple" xlink:href="http://atlas.nrcan.gc.ca/cgi-bin/toporamawms_en"/>
+      </Server>
+      <Name>wms_atlasofcanada_eng</Name>
+      <Title>CGDI NRCan WMS</Title>
+      <Abstract></Abstract>
+      <SRS>EPSG:4326</SRS>
+    </Layer>
+   </ResourceList>
+</OWSContext>
Index: lib/spatial/mapbuilder/examples/data/context/referenceWmc1_0_0.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/referenceWmc1_0_0.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/referenceWmc1_0_0.xml	(revision 4307)
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+
+<!--
+  Example WMC from the 1.0.0 WMC spec from:
+  http://www.opengeospatial.org/standards/wmc
+--> 
+
+<ViewContext xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" id="eos_data_gateways" xsi:schemaLocation="http://www.opengis.net/context context.xsd">
+  <General>
+    <Window width="500" height="300"/>
+    <BoundingBox SRS="EPSG:4326" minx="-180.000000" miny="-90.000000" maxx="180.000000" maxy="90.000000"/>
+    <Title>EOS Data Gateways</Title>
+    <KeywordList>
+      <Keyword>EOS</Keyword>
+      <Keyword>EOSDIS</Keyword>
+      <Keyword>NASA</Keyword>
+      <Keyword>CCRS</Keyword>
+      <Keyword>CEOS</Keyword>
+      <Keyword>OGC</Keyword>
+    </KeywordList>
+    <Abstract>Map View of EOSDIS partners locations</Abstract>
+    <LogoURL width="130" height="74" format="image/gif">
+      <OnlineResource xlink:type="simple" xlink:href="http://redhook.gsfc.nasa.gov/~imswww/pub/icons/logo.gif"/>
+    </LogoURL>
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://eos.nasa.gov/imswelcome"/>
+    </DescriptionURL>
+    <ContactInformation>
+      <ContactPersonPrimary>
+        <ContactPerson>Tom Kralidis</ContactPerson>
+        <ContactOrganization>Canada Centre for Remote Sensing</ContactOrganization>
+      </ContactPersonPrimary>
+      <ContactPosition>Systems Scientist</ContactPosition>
+      <ContactAddress>
+        <AddressType>postal</AddressType>
+        <Address>615 Booth Street, room 650</Address>
+        <City>Ottawa</City>
+        <StateOrProvince>Ontario</StateOrProvince>
+        <PostCode>K1A 0E9</PostCode>
+        <Country>Canada</Country>
+      </ContactAddress>
+      <ContactVoiceTelephone>+01 613 947 1828</ContactVoiceTelephone>
+      <ContactFacsimileTelephone>+01 613 947 2410</ContactFacsimileTelephone>
+      <ContactElectronicMailAddress>tom.kralidis@ccrs.nrcan.gc.ca</ContactElectronicMailAddress>
+    </ContactInformation>
+  </General>
+  <LayerList>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.0" title="ESA CubeSERV">
+        <OnlineResource xlink:type="simple" xlink:href="http://mapserv2.esrin.esa.it/cubestor/cubeserv/cubeserv.cgi"/>
+      </Server>
+      <Name>WORLD_MODIS_1KM:MapAdmin</Name>
+      <Title>WORLD_MODIS_1KM</Title>
+      <Abstract>Global maps derived from various Earth Observation sensors / WORLD_MODIS_1KM:MapAdmin</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+          <LegendURL width="16" height="16" format="image/gif">
+            <OnlineResource xlink:type="simple" xlink:href="http://mapserv2.esrin.esa.it/cubestor/cubeserv/cubeserv.cgi?VERSION=1.1.0&amp;REQUEST=GetLegendIcon&amp;LAYER=WORLD_MODIS_1KM:MapAdmin&amp;SPATIAL_TYPE=RASTER&amp;STYLE=default&amp;FORMAT=image/gif"/>
+          </LegendURL>
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="OGC:WMS" version="1.0.7" title="The GLOBE Program Visualization Server">
+        <OnlineResource xlink:type="simple" xlink:href="http://globe.digitalearth.gov/viz-bin/wmt.cgi"/>
+      </Server>
+      <Name>COASTLINES</Name>
+      <Title>Coastlines</Title>
+      <Abstract>Context layer: Coastlines</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">GIF</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>Default</Title>
+          <LegendURL width="180" format="image/gif" height="50">
+            <OnlineResource xlink:type="simple" xlink:href="http://globe.digitalearth.gov/globe/en/icons/colorbars/COASTLINES.gif"/>
+          </LegendURL>
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.0.7" title="The GLOBE Program Visualization Server">
+        <OnlineResource xlink:type="simple" xlink:href="http://globe.digitalearth.gov/viz-bin/wmt.cgi"/>
+      </Server>
+      <Name>NATIONAL</Name>
+      <Title>National Boundaries</Title>
+      <Abstract>Context layer: National Boundaries</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">GIF</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>Default</Title>
+          <LegendURL width="180" format="image/gif" height="50">
+            <OnlineResource xlink:type="simple" xlink:href="http://globe.digitalearth.gov/globe/en/icons/colorbars/NATIONAL.gif"/>
+          </LegendURL>
+        </Style>
+      </StyleList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.0" title="CCRS Spatial Data Warehouse">
+        <OnlineResource xlink:type="simple" xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi"/>
+      </Server>
+      <Name>EOS_DATA_GATEWAYS:CEOWARE2</Name>
+      <Title>EOS Data Gateways</Title>
+      <Abstract>Locations of EOS Data Gateway Locations. The same services and data are available through each gateway location.</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+          <LegendURL width="16" height="16" format="image/gif">
+            <OnlineResource xlink:type="simple" xlink:href="http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeserv/cubeserv.cgi?VERSION=1.1.0&amp;REQUEST=GetLegendIcon&amp;LAYER=EOS_DATA_GATEWAYS:CEOWARE2&amp;SPATIAL_TYPE=POINT&amp;STYLE=default&amp;FORMAT=image/gif"/>
+          </LegendURL>
+        </Style>
+      </StyleList>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/context/OwcAtlasWorld.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/OwcAtlasWorld.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/OwcAtlasWorld.xml	(revision 4307)
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<OWSContext version="0.0.13" id="ows-context-tie" 
+  xmlns="http://www.opengis.net/context" 
+  xmlns:xlink="http://www.w3.org/1999/xlink" 
+  xmlns:ows="http://www.opengis.net/ows">
+  
+  <General>
+    <Window width="400" height="200"/>
+    <ows:BoundingBox crs="EPSG:4326">
+      <ows:LowerCorner>-180 -90</ows:LowerCorner>
+      <ows:UpperCorner>180 90</ows:UpperCorner>
+    </ows:BoundingBox>
+    
+    <Title xml:lang="en">GeoRSS Using OWSContext</Title>
+    <KeywordList>
+      <Keyword>world</Keyword>
+      <Keyword>atlas</Keyword>
+      <Keyword>georss</Keyword>
+    </KeywordList>
+    
+    <Abstract>World Base Map.</Abstract>
+    
+    <LogoURL width="140" height="65" format="image/gif">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.opengeospatial.org/img/ogc_header_top_left.gif" />
+    </LogoURL>
+
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.opengeospatial.org/press/?page=pressrelease&amp;view=20040525_ContextIE_PR" />
+    </DescriptionURL>
+    
+    <ows:ServiceProvider>
+      <ows:ProviderName>Vightel Corporation</ows:ProviderName>
+      <ows:ProviderSite xlink:type="simple" xlink:href="http://www.ec.gc.ca/" />
+      <ows:ServiceContact>
+        <ows:IndividualName>Patrice G Cappelaere</ows:IndividualName>
+        <ows:PositionName>Senior Architect</ows:PositionName>
+        <ows:ContactInfo>
+          <ows:Phone>
+            <ows:Voice>410-340-4868</ows:Voice>
+            <ows:Facsimile>443-283-0370</ows:Facsimile>
+          </ows:Phone>
+          <ows:Address>
+            <ows:DeliveryPoint>8303 Winter Wind Ct</ows:DeliveryPoint>
+            <ows:City>Ellicott City</ows:City>
+            <ows:AdministrativeArea>Maryland</ows:AdministrativeArea>
+            <ows:PostalCode>21043</ows:PostalCode>
+            <ows:Country>USA</ows:Country>
+            <ows:ElectronicMailAddress>pat@cappelaere.com</ows:ElectronicMailAddress>
+          </ows:Address>
+          <ows:OnlineResource xlink:type="simple" xlink:href="http://www.vightel.com/" />
+          <ows:HoursOfService>0700h - 1500h (EST), Monday - Friday</ows:HoursOfService>
+          <ows:ContactInstructions>Just call or email</ows:ContactInstructions>
+        </ows:ContactInfo>
+        <ows:Role>Systems Scientist</ows:Role>
+      </ows:ServiceContact>
+    </ows:ServiceProvider>
+  </General>  
+    
+  <ResourceList>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>ocean</Name>
+      <Title>ocean area</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>land</Name>
+      <Title>land area</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>lake_fill</Name>
+      <Title>lakes</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>lake_outline</Name>
+      <Title>lake outlines</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>coast</Name>
+      <Title>coastline</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>rivers</Name>
+      <Title>rivers</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>boundaries</Name>
+      <Title>boundaries</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="1">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>capital</Name>
+      <Title>capitals</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>country_names</Name>
+      <Title>country names</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="1">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>capital_names</Name>
+      <Title>capital names</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+  </ResourceList>
+</OWSContext>
Index: lib/spatial/mapbuilder/examples/data/context/locatorCanada.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/locatorCanada.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/locatorCanada.xml	(revision 4307)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<ViewContext version="1.0.0" id="atlas_l7o" xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengeis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="180" height="152"/>
+    <BoundingBox SRS="EPSG:42304" minx="-2600000" miny="-1000000" maxx="3100000" maxy="3800000"/>
+    <!--		<BoundingBox SRS="EPSG:42304" minx="-3546709.473205" miny="-869773.355764" maxx="4444893.074820" maxy="3923457.184829" />-->
+    <Title>Canada locator map (DM Solutions)</Title>
+    <KeywordList>
+      <Keyword>Canada</Keyword>
+    </KeywordList>
+    <Abstract>A simple map for use as a locator</Abstract>
+    <ContactInformation>
+      <ContactPersonPrimary>
+        <ContactPerson>Michael Adair</ContactPerson>
+        <ContactOrganization>Canada Centre for Remote Sensing</ContactOrganization>
+      </ContactPersonPrimary>
+      <ContactPosition>Systems Scientist</ContactPosition>
+      <ContactAddress>
+        <AddressType>postal</AddressType>
+        <Address>615 Booth Street, room 650</Address>
+        <City>Ottawa</City>
+        <StateOrProvince>Ontario</StateOrProvince>
+        <PostCode>K1A 0E9</PostCode>
+        <Country>Canada</Country>
+      </ContactAddress>
+      <ContactVoiceTelephone>+01 613 947 1342</ContactVoiceTelephone>
+      <ContactFacsimileTelephone>+01 613 947 2410</ContactFacsimileTelephone>
+      <ContactElectronicMailAddress>mike.adair@ccrs.nrcan.gc.ca</ContactElectronicMailAddress>
+    </ContactInformation>
+  </General>
+  <LayerList>
+  <Layer queryable="0" hidden="0"><Server service="wms" version="1.1.0" title="GMap WMS Demo Server"><OnlineResource xlink:type="simple" xlink:href="http://dev1.dmsolutions.ca/cgi-bin/mswms_gmap?"/></Server><Name>bathymetry</Name><Title>Elevation/Bathymetry</Title><SRS>EPSG:42304</SRS></Layer><Layer queryable="0" hidden="0"><Server service="wms" version="1.1.0" title="GMap WMS Demo Server"><OnlineResource xlink:type="simple" xlink:href="http://dev1.dmsolutions.ca/cgi-bin/mswms_gmap?"/></Server><Name>land_fn</Name><Title>Foreign Lands</Title><SRS>EPSG:42304</SRS></Layer><Layer queryable="0" hidden="0"><Server service="wms" version="1.1.0" title="GMap WMS Demo Server"><OnlineResource xlink:type="simple" xlink:href="http://dev1.dmsolutions.ca/cgi-bin/mswms_gmap?"/></Server><Name>prov_bound</Name><Title>Province</Title><SRS>EPSG:42304</SRS></Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/context/demoCollection.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/demoCollection.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/demoCollection.xml	(revision 4307)
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<ViewContextCollection version="1.0.0" xmlns="http://www.opengis.net/context" 
+    xmlns:xlink="http://www.w3.org/1999/xlink" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.opengis.net http://schemas.opengis.net/context/1.0.0/collection.xsd">
+	<!-- List of context XML URLs -->
+	<ViewContextReference version="1.0.0" id="atlas">
+		<Title>Atlas World base map</Title>
+		<ContextURL>
+			<OnlineResource xlink:type="simple" xlink:href="../data/context/atlasWorld.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+	<ViewContextReference version="1.0.0" id="atlas">
+		<Title>Atlas World base map with group layers</Title>
+		<ContextURL>
+			<OnlineResource xlink:type="simple" xlink:href="../data/context/atlasWorldgroup.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+	<ViewContextReference version="1.0.0" id="demis">
+		<Title>Demis World map</Title>
+		<ContextURL>
+			<OnlineResource xlink:type="simple" xlink:href="../data/context/demisWorldMap.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+	<ViewContextReference version="1.0.0" id="cded">
+    <Title>Canadian Digital Elevation Data (GeoBase)</Title>
+		<ContextURL>
+			<OnlineResource xlink:type="simple" xlink:href="../data/context/cded.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+	<ViewContextReference version="1.0.0" id="lsat7Ortho">
+		<Title>Landsat Orthorectified Imagery over Canada</Title>
+		<ContextURL>
+			<OnlineResource xlink:type="simple" xlink:href="../data/context/lsat7Ortho.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+	<ViewContextReference version="1.0.0" id="mars">
+		<Title>Mars landings</Title>
+		<ContextURL>
+			<OnlineResource xlink:type="simple" xlink:href="../data/context/mars.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+  <ViewContextReference version="1.0.0" id="metacarta">
+    <Title>Metacarta World map</Title>
+    <ContextURL>
+      <OnlineResource xlink:type="simple" xlink:href="../data/context/metacartaWorldMap.xml"/>
+    </ContextURL>
+  </ViewContextReference>
+	<ViewContextReference version="1.0.0" id="modisWorldMosaic">
+    <Title>MODIS world mosaic</Title>
+		<ContextURL>
+			<OnlineResource xlink:type="simple" xlink:href="../data/context/modisWorld.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+	<ViewContextReference version="1.0.0" id="radarsatMosaicCanada">
+    <Title>Radarsat Mosaic of Canada</Title>
+		<ContextURL>
+			<OnlineResource xlink:type="simple" xlink:href="../data/context/radarsatMosaic.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+  <ViewContextReference version="1.0.0" id="cite">
+		<Title>Cite Reference (local geoserver)</Title>
+		<ContextURL>
+      <OnlineResource xlink:type="simple" xlink:href="../data/context/cite.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+  <ViewContextReference version="1.0.0" id="cite">
+		<Title>Cite Reference (deegree server)</Title>
+		<ContextURL>
+      <OnlineResource xlink:type="simple" xlink:href="../data/context/cite_deegree.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+  <ViewContextReference version="1.0.0" id="sldExample">
+		<Title>SLD param example</Title>
+		<ContextURL>
+      <OnlineResource xlink:type="simple" xlink:href="../data/context/SLDParamExample.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+  <ViewContextReference version="1.0.0" id="boston">
+		<Title>Boston</Title>
+		<ContextURL>
+      <OnlineResource xlink:type="simple" xlink:href="../data/context/boston.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+  <ViewContextReference version="1.0.0" id="local">
+    <Title>http://localhost:8080/geoserver</Title>
+		<ContextURL>
+      <OnlineResource xlink:type="simple" xlink:href="../data/context/local.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+	<ViewContextReference version="1.0.0" id="aafc">
+		<Title>External server example (requires proxy script)</Title>
+		<ContextURL>
+			<OnlineResource xlink:type="simple" xlink:href="http://geodiscover.cgdi.ca/gdp/contexts/radarsatMosaic.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+</ViewContextCollection>
Index: lib/spatial/mapbuilder/examples/data/context/boston.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/boston.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/boston.xml	(revision 4307)
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ViewContext xmlns="http://www.opengis.net/context" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wmc="http://www.opengis.net/context" version="1.0.0" id="eos_data_gateways" xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="400" height="200"/>
+    <BoundingBox SRS="EPSG:4326" minx="-71.186" miny="42.194" maxx="-70.953" maxy="42.432"/>
+    <Title>Shape files on Boston</Title>
+  </General>
+  <LayerList>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.0" title="Shape files on Boston">
+        <OnlineResource type="simple" xlink:href="http://demo.ionicsoft.com/ionicweb/wfs/BOSTON_SHAPE?"/>
+      </Server>
+      <Name>highways</Name>
+      <Title>highways</Title>
+      <Abstract/>
+      <SRS/>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.0" title="Shape files on Boston">
+        <OnlineResource type="simple" xlink:href="http://demo.ionicsoft.com/ionicweb/wfs/BOSTON_SHAPE?"/>
+      </Server>
+      <Name>hydro</Name>
+      <Title>hydro</Title>
+      <Abstract/>
+      <SRS/>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.0" title="Shape files on Boston">
+        <OnlineResource type="simple" xlink:href="http://demo.ionicsoft.com/ionicweb/wfs/BOSTON_SHAPE?"/>
+      </Server>
+      <Name>land_use</Name>
+      <Title>land_use</Title>
+      <Abstract/>
+      <SRS/>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.0" title="Shape files on Boston">
+        <OnlineResource type="simple" xlink:href="http://demo.ionicsoft.com/ionicweb/wfs/BOSTON_SHAPE?"/>
+      </Server>
+      <Name>pests_treebugs</Name>
+      <Title>pests_treebugs</Title>
+      <Abstract/>
+      <SRS/>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.0" title="Shape files on Boston">
+        <OnlineResource type="simple" xlink:href="http://demo.ionicsoft.com/ionicweb/wfs/BOSTON_SHAPE?"/>
+      </Server>
+      <Name>place_names</Name>
+      <Title>place_names</Title>
+      <Abstract/>
+      <SRS/>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.0" title="Shape files on Boston">
+        <OnlineResource type="simple" xlink:href="http://demo.ionicsoft.com/ionicweb/wfs/BOSTON_SHAPE?"/>
+      </Server>
+      <Name>protectedareas</Name>
+      <Title>protectedareas</Title>
+      <Abstract/>
+      <SRS/>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS" version="1.1.0" title="Shape files on Boston">
+        <OnlineResource type="simple" xlink:href="http://demo.ionicsoft.com/ionicweb/wfs/BOSTON_SHAPE?"/>
+      </Server>
+      <Name>roads</Name>
+      <Title>roads</Title>
+      <Abstract/>
+      <SRS/>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/data/context/google.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/context/google.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/context/google.xml	(revision 4307)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8" standalone="no" ?>
+<OWSContext version="0.0.13"
+    id="ows-context-tie"
+    xmlns="http://www.opengis.net/context"
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:sld="http://www.opengis.net/sld"
+    xmlns:ogc="http://www.opengis.net/ogc"
+    xmlns:ows="http://www.opengis.net/ows"
+    xmlns:param="http;//www.opengis.net/param"
+    xsi:schemaLocation="http://www.opengis.net/oc oc_0_0_13.xsd">
+  <General>
+    <Window width="500" height="300"/>
+    <ows:BoundingBox crs="EPSG:900913">
+      <ows:LowerCorner>-8981656.569960937 -2152466.7158796852</ows:LowerCorner>
+      <ows:UpperCorner>11564616.629414063 14441094.877520315</ows:UpperCorner>
+    </ows:BoundingBox>
+    <Title>OWS context with Google</Title>
+    <Abstract> The OGC Web Services Context Document with google baselayer (mapbuilder only ATM)</Abstract>
+  </General>
+  <ResourceList>
+    <ows:BaseLayer>
+      <Server service="Google"/> <!-- the service attribute will decide what kind of layer it is, in the case of a WMS you will need to add a resource url -->
+      <Name>Google Hybrid</Name>  <!-- used to set the name of the baselayer -->
+      <ows:TileSet>  <!-- this is taken from TileCache.py -->
+        <!-- <ows:resolutions/> --><!-- If prefered you can store you custom resolutions, for ymap,ve and gmap it's not needed -->
+        <ows:SRS>EPSG:900913</ows:SRS>  <!-- if set to EPSG:900913 it will automatically switch to sphericalMercator -->
+        <ows:BoundingBox SRS="EPSG:900913" minx="-20037508" miny="-20037508" maxx="20037508" maxy="20037508.34"/> <!-- unfortunately this is currently being ignored, please use the OWS context bbox-->
+        <ows:Layers>hybrid</ows:Layers> <!-- here you can choose aerial/satellite, road/normal or hybrid(default)-->
+        <!-- <ows:Width/> --> <!-- here you can specify a custom tilesize, default is 256 -->
+        <!-- <ows:Format/> --> <!-- here you can specify a custom format -->
+      </ows:TileSet>
+    </ows:BaseLayer>
+  </ResourceList>
+</OWSContext>
Index: lib/spatial/mapbuilder/examples/data/locations/Global.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/locations/Global.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/locations/Global.xml	(revision 4307)
@@ -0,0 +1,2229 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!-- $Id: Global.xml 1855 2006-01-15 02:45:06Z tomkralidis $ -->
+<QuickviewPresetResultSet version="1.0.0"  xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../../lib/schemas/locations.xsd">
+	<gml:description>This is the CMB preset zoom document</gml:description>
+	<gml:name>CMB:QuickViewPreset</gml:name>
+	<gml:boundedBy>
+		<gml:Null>missing</gml:Null>
+	</gml:boundedBy>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Afghanistan</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>59.9,28.66 75.65,39.11</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Africa</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-20.2,-37.6 53.4,35.75</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Albania</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>19.36,39.42 21.39,42.71</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Algeria</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-9.47,17.94 13.19,38.14</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Angola</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>11.31,-18.68 24.97,-3.84</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Antarctic</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-180,-90 180,-66</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Antarctica</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-180,-90 180,-62.83</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Arctic</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-180,66 180,90</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Argentina</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-74.97,-56.71 -51.76,-20.25</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Armenia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>43.53,38.68 47.07,41.48</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Asia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>40,-10 180,83.5</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Australia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>111.22,-45.73 155.72,-8.88</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Austria</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>9.27,45.99 17.93,49.38</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Azerbaijan</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>44.58,38.04 50.96,42.2</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Bangladesh</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>87.95,20.75 93.07,26.62</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Belgium</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>2.54,49.31 6.69,51.69</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Belize</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-89.18,15.78 -87.78,18.64</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Benin</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>0.74,5.97 4.34,12.66</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Bhutan</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>88.8,26.54 92.37,28.46</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Bolivia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-70.05,-23.63 -56.72,-9.13</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Bosnia and Herzegovina</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>15.76,42.38 20.02,45.45</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Botswana</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>19.57,-27.41 29.94,-17.32</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Brazil</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-75.64,-35.81 -32.74,7.12</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Brunei</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>114.22,3.96 115.42,5.09</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Bulgaria</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>22.19,40.86 29.02,44.59</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Burkina Faso</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-5.72,9.19 2.98,15.54</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Burma</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>91.41,9.22 102.13,29.34</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Burundi</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>28.98,-4.85 31.17,-2.35</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Byelarus</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>22.91,50.82 33.38,56.65</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Cambodia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>102.28,10.07 107.98,14.86</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Cameroon</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>8.22,1.06 16.85,13.65</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Canada</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-145.27,37.3 -48.11,87.61</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Caribbean</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-91.4,27.36 -55.4,6.48</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Central African Republic</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>13.96,1.5 28.11,11.67</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Central America</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-94.1,21.8 -75.8,6.61</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Chad</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>12.88,6.67 24.97,24.19</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Chile</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-77.16,-56.79 -64.9,-15.72</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>China</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>70.83,15.06 137.97,56.58</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Colombia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-79.69,-5 -66.15,13.28</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Congo</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>10.93,-5.41 19.19,3.98</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Costa Rica</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-85.83,7.9 -82.18,11.38</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Croatia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>13.47,42.09 19.92,46.84</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Cuba</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-85.03,19.36 -73.44,23.68</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Cyprus</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>32.23,34.44 34.78,35.78</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Czech Republic</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>12.13,48.23 19.38,51.42</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Denmark</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>8.02,54.68 12.89,58</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Djibouti</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>41.89,10.78 43.77,12.81</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Dominican Republic</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-71.87,17.54 -67.99,20.12</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>East Pacific Ocean</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-180,64.8 -72.7,-75.6</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Ecuador</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-81.08,-5.35 -74.68,1.72</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Egypt</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>24.29,21.29 37.61,32.14</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>El Salvador</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-90.05,13.07 -87.41,14.6</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Equatorial Guinea</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>8.39,0.76 11.59,3.82</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Eritrea</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>36.31,12 43.58,18.41</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Estonia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>23.3,57.29 28.59,59.75</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Ethiopia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>32.49,2.63 48.85,15.56</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Europe</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-25.1,71.3 35,34.9</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Finland</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>20.46,59.3 32.14,70.44</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>France</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-5.29,40.65 10.4,51.82</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>French Guiana</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-54.37,1.84 -51.23,5.89</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Gabon</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>8.71,-4.23 15.01,2.6</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Gambia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-16.71,13.02 -13.66,13.96</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Germany</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>5.68,46.86 15.68,55.41</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Ghana</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-3.31,4.39 1.7,11.47</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Greece</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>19.99,34.62 27.19,42.01</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Greenland</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-75.34,56.78 -9.36,86.6</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Guatemala</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-92.24,13.59 -87.87,18.06</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Guinea</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-15.19,6.77 -6.87,13.02</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Guinea-Bissau</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-16.51,10.97 -13.34,12.8</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Guyana</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-61.41,0.81 -56.12,8.79</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Haiti</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-74.38,17.88 -71.34,20.1</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Honduras</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-89.47,12.75 -82.92,16.31</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Hungary</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>16.12,45.44 23.57,48.95</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Iceland</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-24.55,62.81 -12.79,67.01</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>India</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>66.79,6.58 99.01,36.96</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Indian Ocean</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>22.3,-55.4 119.5,25.2</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Indonesia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>93.11,-12.65 143.45,7.88</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Iran</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>43.31,24.08 64.42,40.73</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Iraq</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>38.47,28.5 49.25,37.84</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Ireland</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-10.52,51.23 -5.62,55.49</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Israel</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>34.17,29.25 36.09,33.31</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Italy</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>6.11,36.15 19.33,47.71</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Ivory Coast</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-8.64,4.03 -2.01,10.96</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Jamaica</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-78.22,17.72 -76,18.63</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Japan</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>128.74,30.1 146.46,46.26</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Jordan</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>34.97,28.87 39.75,33.44</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Kazakhstan</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>44.73,38.62 89.65,57.49</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Kenya</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>33,-5.3 42.44,5.07</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Democratic People's Republic of Korea</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>124.02,43.29 37.55,130.95</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Republic of Korea</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>125.95,38.76 33.06,129.88</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Kuwait</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>46.62,28.34 48.74,30</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Kyrgyzstan</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>69.01,38.7 81.03,43.77</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Laos</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>99.77,13.47 108.1,22.98</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Latvia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>20.76,55.32 28.76,58.44</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Lebanon</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>35.09,32.84 36.79,34.63</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Lesotho</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>27.16,-30.89 29.76,-28.59</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Liberia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-11.47,4.16 -6.95,8.66</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Libya</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>8.79,18.7 26.1,33.95</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Lithuania</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>20.86,53.6 27.25,56.73</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Luxembourg</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>5.9,49.42 6.77,50.21</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Macedonia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>20.62,40.62 23.27,42.48</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Madagascar</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>42.83,-26.31 51.38,-11.58</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Malawi</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>32.55,-17.51 36.46,-9.26</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Malaysia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>99.4,-0.2 120.19,7.86</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Mali</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-12.77,9.25 5.27,25.83</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Mauritania</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-17.47,14.21 -4.04,27.81</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Mexico</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-118.48,13.05 -85.18,34.17</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Middle East</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>25,10.7 59.7,36.1</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Moldova</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>26.64,45.31 30.47,48.64</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Mongolia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>86.47,40 121.62,53.65</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Montenegro</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>18.56,41.77 20.67,43.64</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Morocco</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-13.52,26.96 -0.28,36.48</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Mozambique</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>29.67,-27.82 41.89,-9.63</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Namibia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>11.32,-29.61 25.86,-16.31</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Nepal</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>79.9,26 88.84,30.88</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Netherlands</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>3.54,50.56 7.62,53.59</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>New Hampshire</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-72.68,42.57 -70.58,45.43</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>New Jersey</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-75.69,38.8 -73.78,41.47</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>New Mexico</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-109.35,31.04 -102.7,37.3</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>New Zealand</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>166.05,-47.31 179.41,-33.89</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Nicaragua</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-87.7,10.55 -82.87,15.24</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Niger</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-0.39,10.95 16.95,24.28</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Nigeria</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>2.33,3.72 15.34,14.4</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>North America</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-168.5,18 -50.4,85.7</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>North Atlantic Ocean</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-82,0 12,80</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Northern Temperate</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-180,23 180,60</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Norway</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>3.88,56.69 32.56,81.95</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Oman</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>51.53,16.19 60.52,26.73</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Pakistan</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>60.18,22.94 78.66,37.86</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Panama</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-83.06,6.9 -76.63,9.95</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Papua New Guinea</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>140.37,-11.3 153.05,-2.2</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Paraguay</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-62.83,-27.85 -53.6,-18.87</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Peru</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-82.13,-19.35 -67.52,0.79</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Philippines</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>116.68,4.85 127.23,19.22</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Poland</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>13.77,48.57 24.85,55.24</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Portugal</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-9.6,36.75 -5.65,42.36</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Qatar</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>50.97,24.33 51.89,26.17</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Romania</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>20.05,43.29 30.38,48.76</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Russia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>25,23.21 180,71</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Rwanda</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>28.9,-3.01 31.2,-1.03</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Saudi Arabia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>33.9,14.01 57.3,33.22</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Senegal</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-17.53,12.02 -10.89,17.14</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Serbia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>18.8,41.66 23.35,46.39</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Sierra Leone</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-13.16,6.71 -10.02,10.09</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Slovakia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>16.84,47.61 23.06,49.93</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Slovenia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>13.39,45.28 16.87,47.06</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Somalia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>40.53,-2.55 52.14,12.66</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>South Africa</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>13.68,-35.9 33.98,-21.27</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>South America</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-84.9,-57.6 -32.4,13.7</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>South Atlantic Ocean</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-67,-55.4 23,0</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Southern Ocean</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-180,-77 180,-32</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Southern Temperate</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-180,-60 180,-23</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Spain</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-9.69,35.4 3.98,44.38</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Sri Lanka</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>79.69,5.76 82.26,9.89</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Sudan</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>21.06,2.6 39.77,22.86</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Suriname</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-58.01,1.53 -53.42,6.23</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Swaziland</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>30.93,-27.52 32.45,-25.72</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Sweden</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>10.56,54.63 24.84,69.68</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Switzerland</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>5.92,45.66 10.84,48.02</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Syria</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>35.36,31.84 43.11,37.69</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Taiwan</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>119.99,21.78 122.14,25.31</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Tajikistan</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>67.34,36.34 75.59,41.46</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Tanzania United Republic of</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>,-0.54 28.96,41.23</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Thailand</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>96.83,4.8 106.42,21.22</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Togo</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-0.09,5.85 2.21,11.33</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Trinidad</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-61.88,10.01 -60.86,10.89</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Tropics</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-180,-23 180,23</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Tunisia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>7.38,29.87 12.03,37.65</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Turkey</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>25.29,34.91 45.94,43</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Turkmenistan</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>52.05,34.56 67.66,43.46</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Uganda</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>29.45,-1.82 35.52,4.32</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Ukraine</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>21.4,43.61 41.24,53.31</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>United Arab Emirates</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>51.06,21.82 56.87,26.25</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>United Kingdom</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-8.41,49.49 2.39,59.07</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>United States</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-180,13.71 -61.48,76.63</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Uruguay</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-58.46,-35.26 -52.77,-29.97</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Uzbekistan</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>55.44,36.08 74.31,46.46</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Venezuela</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-73.81,-0.11 -58.91,12.92</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Vietnam</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>101.43,7.75 110.25,24.05</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Virginia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-84.1,36.12 -74.82,39.88</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Western Sahara</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>-17.23,20.87 -8.01,28</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Yemen</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>42.45,12.12 53.74,19.51</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Zaire</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>11.45,-14.4 32.4,6.28</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Zambia</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>21.55,-18.7 34.45,-7.69</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+	<gml:featureMember>
+		<locationDef>
+			<gml:name>Zimbabwe</gml:name>
+			<spatialKeyword>
+				<gml:location>
+					<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						<gml:coordinates>25.11,-22.93 33.65,15.22</gml:coordinates>
+					</gml:Envelope>
+				</gml:location>
+			</spatialKeyword>
+		</locationDef>
+	</gml:featureMember>
+</QuickviewPresetResultSet>
Index: lib/spatial/mapbuilder/examples/data/tasmania/TasmaniaContext.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/tasmania/TasmaniaContext.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/tasmania/TasmaniaContext.xml	(revision 4307)
@@ -0,0 +1,224 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<OWSContext version="0.0.13" id="ows-context-tie" 
+  xmlns="http://www.opengis.net/context" 
+  xmlns:xlink="http://www.w3.org/1999/xlink" 
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+  xmlns:sld="http://www.opengis.net/sld"
+  xmlns:ogc="http://www.opengis.net/ogc" 
+  xmlns:ows="http://www.opengis.net/ows" 
+  xmlns:param="http;//www.opengis.net/param" 
+  xsi:schemaLocation="http://www.opengis.net/oc oc_0_0_13.xsd">
+
+  <General>
+    <!-- Tasmania Bounding Box -->
+    <Window width="600" height="300"/>
+    <ows:BoundingBox crs="EPSG:4326">
+      <ows:LowerCorner>141.57875 -44.26625</ows:LowerCorner>
+      <ows:UpperCorner>151.03125 -39.56375</ows:UpperCorner>
+    </ows:BoundingBox>
+    
+    <Title xml:lang="en">GML3 Demo with OWSContext</Title>
+    <KeywordList>
+      <Keyword>world</Keyword>
+      <Keyword>atlas</Keyword>
+      <Keyword>gml3</Keyword>
+    </KeywordList>
+    <LogoURL width="140" height="65" format="image/gif">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.opengeospatial.org/img/ogc_header_top_left.gif" />
+    </LogoURL>
+
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.opengeospatial.org/press/?page=pressrelease&amp;view=20040525_ContextIE_PR" />
+    </DescriptionURL>
+    
+  </General>  
+    
+  <ResourceList>
+
+    <Layer queryable="0" hidden="0">
+      <Server service="OGC:WMS-C" version="1.0.0" title="OGC:WMS-C">
+        <OnlineResource xlink:type="simple" xlink:href="http://labs.metacarta.com/wms/vmap0"/>
+      </Server>
+      <Name>basic</Name>
+      <Title>basic</Title>
+      <SRS>EPSG:4326 EPSG:4269</SRS>
+      <FormatList>
+        <Format>image/jpeg</Format>
+        <Format>image/png</Format>
+        <Format>image/gif</Format>
+        <Format current="1">image/png; mode=24bit</Format>
+        <Format>image/wbmp</Format>
+        <Format>image/tiff</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+    </Layer>
+
+    <FeatureType hidden="0">
+      <Server service="OGC:GML" version="2.1.2" title="Local">
+        <OnlineResource xlink:type="simple" xlink:href="../data/tasmania/TasmaniaCities.xml"/>
+      </Server>
+      <Name>TasmaniaCities</Name>
+      <Title>Tasmania Cities</Title>
+      <Abstract>Tasmania Cities based on the Digital Chart of the World.</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <StyleList>
+        <Style current="1">
+          <SLD>
+            <sld:FeatureTypeStyle>
+              <sld:Rule>
+                <sld:PointSymbolizer>
+                  <sld:Graphic>
+                    <sld:Mark>
+                      <sld:Fill>
+                        <sld:CssParameter name="fill">#FF00FF</sld:CssParameter>
+                        <sld:CssParameter name="fill-opacity">0.6</sld:CssParameter>
+                      </sld:Fill>
+                      <sld:Stroke>
+                        <sld:CssParameter name="stroke">#FF00FF</sld:CssParameter>
+                        <sld:CssParameter name="stroke-opacity">1</sld:CssParameter>
+                        <sld:CssParameter name="stroke-width">2</sld:CssParameter>
+                      </sld:Stroke>
+                    </sld:Mark>
+                    <sld:Size>3</sld:Size>
+                  </sld:Graphic>
+                </sld:PointSymbolizer>
+              </sld:Rule>
+            </sld:FeatureTypeStyle>
+          </SLD>
+        </Style>
+      </StyleList>
+    </FeatureType>
+
+    <FeatureType hidden="0">
+      <Server service="OGC:GML" version="2.1.2" title="Local">
+        <OnlineResource xlink:type="simple" xlink:href="../data/tasmania/TasmaniaRoads.xml"/>
+      </Server>
+      <Name>topp:tasmania_roads</Name>
+      <Title>Tasmania Roads</Title>
+      <Abstract>Tasmania Roads based on the Digital Chart of the World.</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <StyleList>
+        <Style current="1">
+          <SLD>
+            <sld:FeatureTypeStyle>
+              <sld:Rule>
+                <ogc:Filter>
+                  <ogc:PropertyIsEqualTo>
+                    <ogc:PropertyName>TYPE</ogc:PropertyName>
+                    <ogc:Literal>highway</ogc:Literal>
+                  </ogc:PropertyIsEqualTo>
+                </ogc:Filter>
+                <sld:LineSymbolizer>
+                  <sld:Stroke>
+                    <sld:CssParameter name="stroke">#FF0000</sld:CssParameter>
+                    <sld:CssParameter name="stroke-opacity">1</sld:CssParameter>
+                    <sld:CssParameter name="stroke-width">5</sld:CssParameter>
+                  </sld:Stroke>
+                </sld:LineSymbolizer>
+              </sld:Rule>
+              <sld:Rule>
+                <ogc:Filter>
+                  <ogc:Or>
+                    <ogc:PropertyIsEqualTo>
+                      <ogc:PropertyName>TYPE</ogc:PropertyName>
+                      <ogc:Literal>gravel</ogc:Literal>
+                    </ogc:PropertyIsEqualTo>
+                    <ogc:PropertyIsEqualTo>
+                      <ogc:PropertyName>TYPE</ogc:PropertyName>
+                      <ogc:Literal>logging</ogc:Literal>
+                    </ogc:PropertyIsEqualTo>
+                  </ogc:Or>
+                </ogc:Filter>
+                <sld:LineSymbolizer>
+                  <sld:Stroke>
+                    <sld:CssParameter name="stroke">#EE9900</sld:CssParameter>
+                    <sld:CssParameter name="stroke-opacity">1</sld:CssParameter>
+                    <sld:CssParameter name="stroke-width">3</sld:CssParameter>
+                  </sld:Stroke>
+                </sld:LineSymbolizer>
+              </sld:Rule>
+              <sld:Rule>
+                <sld:ElseFilter/>
+                <sld:LineSymbolizer>
+                  <sld:Stroke>
+                    <sld:CssParameter name="stroke">#FF0000</sld:CssParameter>
+                    <sld:CssParameter name="stroke-opacity">1</sld:CssParameter>
+                    <sld:CssParameter name="stroke-width">3</sld:CssParameter>
+                  </sld:Stroke>
+                </sld:LineSymbolizer>
+              </sld:Rule>
+            </sld:FeatureTypeStyle>
+          </SLD>
+        </Style>
+      </StyleList>
+    </FeatureType>
+
+     <FeatureType hidden="0">
+      <Server service="OGC:GML" version="2.1.2" title="Local">
+        <OnlineResource xlink:type="simple" xlink:href="../data/tasmania/TasmaniaWaterBodies.xml"/>
+      </Server>
+      <Name>TasmaniaWaterBodies</Name>
+      <Title>Tasmania Water Bodies</Title>
+      <Abstract>Tasmania Roads based on the Digital Chart of the World.</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <StyleList>
+        <Style current="1">
+          <SLD>
+            <sld:FeatureTypeStyle>
+              <sld:Rule>
+                <sld:PolygonSymbolizer>
+                  <sld:Fill>
+                    <sld:CssParameter name="fill">#6633FF</sld:CssParameter>
+                    <sld:CssParameter name="fill-opacity">0.6</sld:CssParameter>
+                  </sld:Fill>
+                  <sld:Stroke>
+                    <sld:CssParameter name="stroke">#6633FF</sld:CssParameter>
+                    <sld:CssParameter name="stroke-opacity">1</sld:CssParameter>
+                    <sld:CssParameter name="stroke-width">1</sld:CssParameter>
+                  </sld:Stroke>
+                </sld:PolygonSymbolizer>
+              </sld:Rule>
+            </sld:FeatureTypeStyle>
+          </SLD>
+        </Style>
+      </StyleList>
+    </FeatureType>
+ 
+    <FeatureType hidden="1">
+      <Server service="OGC:GML" version="2.1.2" title="Local">
+        <OnlineResource xlink:type="simple" xlink:href="../data/tasmania/TasmaniaStateBoundaries.xml"/>
+      </Server>
+      <Name>TasmaniaStateBoundaries</Name>
+      <Title>Tasmania State Boundaries</Title>
+      <Abstract>Tasmania Roads based on the Digital Chart of the World.</Abstract>
+      <SRS>EPSG:4326</SRS>
+      <StyleList>
+        <Style current="1">
+          <SLD>
+            <sld:FeatureTypeStyle>
+              <sld:Rule>
+                <sld:PolygonSymbolizer>
+                  <sld:Fill>
+                    <sld:CssParameter name="fill">#333333</sld:CssParameter>
+                    <sld:CssParameter name="fill-opacity">0.3</sld:CssParameter>
+                  </sld:Fill>
+                  <sld:Stroke>
+                    <sld:CssParameter name="stroke">#666666</sld:CssParameter>
+                    <sld:CssParameter name="stroke-opacity">1</sld:CssParameter>
+                    <sld:CssParameter name="stroke-width">0.2</sld:CssParameter>
+                  </sld:Stroke>
+                </sld:PolygonSymbolizer>
+              </sld:Rule>
+            </sld:FeatureTypeStyle>
+          </SLD>
+        </Style>
+      </StyleList>
+    </FeatureType>
+    
+  </ResourceList>
+</OWSContext>
Index: lib/spatial/mapbuilder/examples/data/tasmania/TasmaniaCities.xml
===================================================================
--- lib/spatial/mapbuilder/examples/data/tasmania/TasmaniaCities.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/data/tasmania/TasmaniaCities.xml	(revision 4307)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs" xmlns:topp="http://www.openplans.org/topp" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openplans.org/topp http://192.168.0.100:8080/geoserver-1.4.0-RC3/wfs/DescribeFeatureType?typeName=topp:tasmania_cities http://www.opengis.net/wfs http://192.168.0.100:8080/geoserver-1.4.0-RC3/schemas/wfs/1.0.0/WFS-basic.xsd">
+  <gml:boundedBy>
+    <gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+      <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">147.29100045,-42.85100182 147.29100045,-42.85100182</gml:coordinates>
+    </gml:Box>
+  </gml:boundedBy>
+  <gml:featureMember>
+    <topp:tasmania_cities fid="tasmania_cities.1">
+      <topp:the_geom>
+        <gml:MultiPoint srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+          <gml:pointMember>
+            <gml:Point>
+              <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">147.29100045,-42.85100182</gml:coordinates>
+            </gml:Point>
+          </gml:pointMember>
+        </gml:MultiPoint>
+      </topp:the_geom>
+      <topp:CITY_NAME>Hobart</topp:CITY_NAME>
+      <topp:ADMIN_NAME>Tasmania</topp:ADMIN_NAME>
+      <topp:CNTRY_NAME>Australia</topp:CNTRY_NAME>
+      <topp:STATUS>Provincial capital</topp:STATUS>
+      <topp:POP_CLASS>100,000 to 250,000</topp:POP_CLASS>
+    </topp:tasmania_cities>
+  </gml:featureMember>
+</wfs:FeatureCollection>
Index: lib/spatial/mapbuilder/examples/timeSeries/timeSeriesCollection.xml
===================================================================
--- lib/spatial/mapbuilder/examples/timeSeries/timeSeriesCollection.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/timeSeries/timeSeriesCollection.xml	(revision 4307)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<ViewContextCollection version="1.0.0" xmlns="http://www.opengis.net/context" 
+    xmlns:xlink="http://www.w3.org/1999/xlink" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.opengis.net http://schemas.opengis.net/context/1.0.0/collection.xsd">
+  <!-- List of context XML URLs -->
+  <!--ViewContextReference version="1.0.0" id="tsPrecipAnomaly">
+    <Title>The BALANCE Climate Change Visualization Server</Title>
+    <ContextURL>
+      <OnlineResource xlink:type="simple" xlink:href="tsIFGITemp.xml"/>
+    </ContextURL>
+  </ViewContextReference-->
+  <ViewContextReference version="1.0.0" id="tsPrecipAnomaly">
+    <Title>AVHRR Composite - Geocomp (CCRS)</Title>
+    <ContextURL>
+      <OnlineResource xlink:type="simple" xlink:href="tsGeocomp.xml"/>
+    </ContextURL>
+  </ViewContextReference>
+  <ViewContextReference version="1.0.0" id="tsPrecipAnomaly">
+    <Title>Precipitation Anomalies (IRI Columbia U.)</Title>
+    <ContextURL>
+      <OnlineResource xlink:type="simple" xlink:href="tsPrecipAnomaly.xml"/>
+    </ContextURL>
+  </ViewContextReference>
+  <ViewContextReference version="1.0.0" id="tsPrecipAnomaly">
+    <Title>Estimated Precipitation Africa (IRI Columbia U.)</Title>
+    <ContextURL>
+      <OnlineResource xlink:type="simple" xlink:href="tsEstPrecip.xml"/>
+    </ContextURL>
+  </ViewContextReference>
+  <ViewContextReference version="1.0.0" id="tsPrecipAnomaly">
+    <Title>Estimated Precipitation Africa (10-day) (IRI Columbia U.)</Title>
+    <ContextURL>
+      <OnlineResource xlink:type="simple" xlink:href="tsEstPrecip10Day.xml"/>
+    </ContextURL>
+  </ViewContextReference>
+</ViewContextCollection>
Index: lib/spatial/mapbuilder/examples/timeSeries/tsPrecipAnomaly.xml
===================================================================
--- lib/spatial/mapbuilder/examples/timeSeries/tsPrecipAnomaly.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/timeSeries/tsPrecipAnomaly.xml	(revision 4307)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<ViewContext version="1.0.0" id="timeSeriesDemo" 
+    xmlns="http://www.opengis.net/context" 
+    xmlns:xlink="http://www.w3.org/1999/xlink" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd">
+  <General>
+    <Window width="500" height="245"/>
+    <BoundingBox SRS="EPSG:4326" minx="-181.25" miny="-88.75" maxx="181.25" maxy="88.75" resx="2.5" resy="2.5" />
+    <Title>Precipitation Anomaly Time Series</Title>
+    <Abstract>Precipitation anomalies by International Research Institute for Climate Prediction, Columbia University, USA</Abstract>
+    <KeywordList>
+      <Keyword>precipitation</Keyword>
+    </KeywordList>
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://iridl.ldeo.columbia.edu/" />
+    </DescriptionURL>
+    <ContactInformation>
+      <ContactElectronicMailAddress>help@iri.columbia.edu</ContactElectronicMailAddress>
+    </ContactInformation>
+  </General>
+  <LayerList>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.3.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://iridl.ldeo.columbia.edu/home/.mbell/.IRI/.MD/.CID/wmsmap?"/>
+      </Server>
+      <Name>prcp_anomaly</Name>
+      <Title>prcp_anomaly</Title>
+      <Abstract>Precipitation Anomaly</Abstract>
+      <DimensionList>
+      <!--Dimension name="time" units="ISO8601" nearestValue="1">1979-01/2005-01/P1M</Dimension-->
+      <Dimension name="time" units="ISO8601" nearestValue="1">2004-09/2005-01/P1M</Dimension>
+      </DimensionList>
+      <FormatList>
+        <Format current="1">image/png</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>coast</Name>
+      <Title>coastline</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+  </LayerList>
+</ViewContext>
Index: lib/spatial/mapbuilder/examples/flickr/FlickrRest2Wfs.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/flickr/FlickrRest2Wfs.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/flickr/FlickrRest2Wfs.xsl	(revision 4307)
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:wfs="http://www.opengis.net/wfs"
+  xmlns:gml="http://www.opengis.net/gml"
+  xmlns:dc="http://purl.org/dc/elements/1.1/" 
+  xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder"> 
+<!--
+Description: A stylesheet to convert flickr rest service to standards-compliant wfs.
+Author:      Andreas Hocevar andreas.hocevarATgmail.com
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: FlickrRest2Wfs.xsl 3728 2007-12-12 15:35:04Z ahocevar $
+-->
+
+  <xsl:param name="proxyUrl"/>
+  
+  <xsl:template match="rsp/photos">
+    <wfs:FeatureCollection xml:base="$proxyUrl">
+      <xsl:for-each select="photo">
+        <xsl:call-template name="featureMember"/>
+      </xsl:for-each>
+    </wfs:FeatureCollection>
+  </xsl:template>
+
+  <xsl:template name="featureMember">
+    <xsl:call-template name="point"/>
+  </xsl:template>
+
+<xsl:template name="point">
+  <xsl:param name="photouri"><xsl:value-of select="concat($proxyUrl,'?url=http%3A//www.flickr.com/services/rest/%3Fmethod%3Dflickr.photos.getInfo%26api_key%3Dafbacfb4d14cd681c04a06d69b24d847%26photo_id%3D',@id)"/></xsl:param>
+  <xsl:param name="photodoc" select="document($photouri)/rsp"/>
+  <xsl:variable name="lon">
+    <xsl:for-each select="$photodoc/photo/tags/tag">
+      <xsl:if test="substring-before(./@raw,'=')='geo:long'">
+        <xsl:value-of select="substring-after(./@raw,'=')"/>
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:variable>
+  <xsl:variable name="lat">
+    <xsl:for-each select="$photodoc/photo/tags/tag">
+      <xsl:if test="substring-before(./@raw,'=')='geo:lat'">
+        <xsl:value-of select="substring-after(./@raw,'=')"/>
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:variable>
+  <xsl:if test="$lat!=''">
+    <gml:featureMember>
+      <mb:geoRssFeature>
+        <xsl:attribute name="fid"><xsl:value-of select="./@id"/></xsl:attribute>
+        <mb:geom>
+          <gml:Point>
+            <gml:coordinates><xsl:value-of select="$lon"/>,<xsl:value-of select="$lat"/></gml:coordinates>
+          </gml:Point>
+        </mb:geom>
+        <mb:title><xsl:value-of select="$photodoc/photo/title"/></mb:title>
+        <mb:description><xsl:value-of select="$photodoc/photo/description"/></mb:description>
+        <dc:date><xsl:value-of select="$photodoc/photo/dates/@taken"/></dc:date>
+        <mb:url>http://static.flickr.com/<xsl:value-of select="./@server"/>/<xsl:value-of select="./@id"/>_<xsl:value-of select="./@secret"/>_s.jpg</mb:url>
+        <mb:photopage><xsl:value-of select="$photodoc/photo/urls/url[@type='photopage']"/></mb:photopage>
+      </mb:geoRssFeature>      
+    </gml:featureMember>
+  </xsl:if>
+</xsl:template>
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/flickr/Legend.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/flickr/Legend.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/flickr/Legend.xsl	(revision 4307)
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet 
+    xmlns:wmc="http://www.opengis.net/context" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+    xmlns:gml='http://www.opengis.net/gml' 
+    xmlns:wfs='http://www.opengis.net/wfs'
+    xmlns:xlink='http://www.w3.org/1999/xlink'
+    version="1.0">
+<!--
+Description: Convert a Web Map Context into a HTML Legend
+Author:      Cameron Shorter cameron ATshorter.net
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: Legend.xsl 3907 2008-03-06 10:27:06Z steven $
+$Name$
+-->
+  <xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
+  
+  <!-- The common params set for all widgets -->
+  <xsl:param name="lang">en</xsl:param>
+  <xsl:param name="modelId"/>
+  <xsl:param name="widgetId"/>
+
+  <xsl:param name="skinDir"/>
+  
+  <!-- Text params for this widget -->
+  <xsl:param name="title"/>
+  
+<!-- The name of the javascript context object to call -->
+  <xsl:param name="featureName"/>
+  <xsl:param name="hidden"/>
+  <xsl:param name="context">config.objects.<xsl:value-of select="$modelId"/></xsl:param>
+
+<!-- Main html -->
+  
+  <xsl:template match="/wmc:OWSContext">
+    <table border="0" cellpadding="1" cellspacing="0">
+      <tr>
+        <th colspan="3">Community MapBuilder Community</th>
+      </tr>
+     
+      <xsl:apply-templates select="wmc:ResourceList/wmc:RssLayer">
+        <xsl:sort select="position()" order="descending" data-type="number"/>
+      </xsl:apply-templates>
+    </table>
+  </xsl:template>
+  
+  <xsl:template match="/wfs:FeatureCollection">
+    <table border="0" cellpadding="1" cellspacing="0">
+      <tr>
+        <th colspan="3">WFS Features</th>
+      </tr>
+      <tr>
+  <!-- Visiblity -->
+        <td>
+          <xsl:if test="$hidden='false'">
+            <input type="checkbox" checked="true" id="legend_{$featureName}" onclick="{$context}.setHidden('{$featureName}',!document.getElementById('legend_{$featureName}').checked)"/>
+          </xsl:if>
+          <xsl:if test="$hidden='true'">
+            <input type="checkbox" id="legend_{$featureName}" onclick="{$context}.setHidden('{$featureName}',! document.getElementById('legend_{$featureName}').checked)"/>
+          </xsl:if>
+        </td>
+  <!-- No query capability yet -->
+        <td>
+        </td>
+        <td>
+          <xsl:value-of select="$featureName"/>
+        </td>
+      </tr>
+    </table>
+  </xsl:template>
+  
+<!-- Layer -->
+  <xsl:template match="wmc:Layer">
+    <tr>
+  <!-- Visiblity -->
+      <td>
+        <xsl:if test="@hidden='0'">
+          <input type="checkbox" checked="true" id="legend_{wmc:Name}" onclick="{$context}.setHidden('{wmc:Name}',!document.getElementById('legend_{wmc:Name}').checked)"/>
+        </xsl:if>
+        <xsl:if test="@hidden='1'">
+          <input type="checkbox" id="legend_{wmc:Name}" onclick="{$context}.setHidden('{wmc:Name}',! document.getElementById('legend_{wmc:Name}').checked)"/>
+        </xsl:if>
+      </td>
+  <!-- Query Image -->
+      <td>
+        <xsl:if test="@queryable='1'">
+          <img
+            id="query_{wmc:Name}"
+            title="Click to set {wmc:Title} as the query layer"
+            onclick="config.objects.{$widgetId}.selectLayer(config.objects.{$widgetId},'{wmc:Name}')"
+            src="{$skinDir}/images/id.gif" />
+        </xsl:if>
+      </td>
+  <!-- Title -->
+      <td>
+        <xsl:choose>
+          <xsl:when test="wmc:Title/@xml:lang">              
+            <xsl:value-of select="wmc:Title[@xml:lang=$lang]"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="wmc:Title"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </td>
+    </tr>
+  <!-- StyleList -->
+    <tr>
+      <td></td>
+      <td></td>
+      <td>
+      <xsl:if test="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL"> 
+          <xsl:element name="IMG">
+              <xsl:attribute name="SRC">
+                <xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL/wmc:OnlineResource/@xlink:href"/> 
+              </xsl:attribute>
+          </xsl:element>
+         </xsl:if>
+      </td>
+    </tr>
+  </xsl:template>
+  
+   <xsl:template match="wmc:RssLayer">
+    <tr>
+  <!-- Visiblity -->
+      <td>
+        <xsl:if test="@hidden='0'">
+          <input type="checkbox" checked="true" id="legend_{wmc:Title}" onclick="{$context}.setHidden('{wmc:Title}',!document.getElementById('legend_{wmc:Title}').checked)"/>
+        </xsl:if>
+        <xsl:if test="@hidden='1'">
+          <input type="checkbox" id="legend_{wmc:Title}" onclick="{$context}.setHidden('{wmc:Title}',! document.getElementById('legend_{wmc:Title}').checked)"/>
+        </xsl:if>
+      </td>
+  <!-- Query Image -->
+      <td>
+        <xsl:if test="@queryable='1'">
+          <img
+            id="query_{wmc:Name}"
+            title="Click to set {wmc:Title} as the query layer"
+            onclick="config.objects.{$widgetId}.selectLayer(config.objects.{$widgetId},'{wmc:Name}')"
+            src="{$skinDir}/images/id.gif" />
+        </xsl:if>
+      </td>
+  <!-- Title -->
+      <td>
+        <xsl:choose>
+          <xsl:when test="wmc:Title/@xml:lang">              
+            <xsl:value-of select="wmc:Title[@xml:lang=$lang]"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="wmc:Title"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </td>
+    </tr>
+  <!-- StyleList -->
+    <tr>
+      <td></td>
+      <td></td>
+      <td>
+      <xsl:if test="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL"> 
+          <xsl:element name="IMG">
+              <xsl:attribute name="SRC">
+                <xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL/wmc:OnlineResource/@xlink:href"/> 
+              </xsl:attribute>
+          </xsl:element>
+         </xsl:if>
+      </td>
+    </tr>
+  </xsl:template>
+  
+  <xsl:template match="text()|@*"/>
+  
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/flickr/FlickrRest2Wfs.js
===================================================================
--- lib/spatial/mapbuilder/examples/flickr/FlickrRest2Wfs.js	(nonexistent)
+++ lib/spatial/mapbuilder/examples/flickr/FlickrRest2Wfs.js	(revision 4307)
@@ -0,0 +1,83 @@
+/*
+ * $Id: FlickrRest2Wfs.js 3883 2008-02-27 15:42:01Z gjvoosten $
+ */
+ 
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/tool/ToolBase.js");
+
+/**
+ * ad-hoc tool to load flickr rest feed with a single xsl transformation.
+ * this tool populates its model on init.
+ * @constructor
+ * @param toolNode config node for this tool
+ * @param model model that contains this tool
+ */
+function FlickrRest2Wfs(toolNode, model) {
+  ToolBase.apply(this, new Array(toolNode, model));
+  
+  this.url = this.getProperty('mb:url');
+  this.stylesheet = this.getProperty('mb:stylesheet');
+  
+  model.addListener('init', this.safeTransform, this);
+}
+
+/**
+ * XSL transformation, works also on IE with external documents and proxy.
+ * @param objRef reference to this tool
+ */
+FlickrRest2Wfs.prototype.safeTransform = function(objRef) {
+  var url = config.proxyUrl+"?url="+escape(objRef.url);
+  if (MB_IS_MOZ) {
+    var xmlHttp = new XMLHttpRequest();
+    xmlHttp.open("GET", url, false);
+    xmlHttp.send('');
+    var doc = xmlHttp.responseXML;
+    var stylesheet = new XslProcessor(objRef.stylesheet, objRef.model.namespace);
+    stylesheet.setParameter('proxyUrl', config.proxyUrl);
+    objRef.model.doc = stylesheet.transformNodeToObject(doc);
+  } else {
+    var progids = {domdoc: ['Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument.6.0'],
+          freethreaded: ['Msxml2.FreeThreadedDOMDocument.3.0', 'Msxml2.FreeThreadedDOMDocument.6.0'],
+          xsltpl: ['MSXML2.XSLTemplate.3.0', 'MSXML2.XSLTemplate.6.0'],
+          xmlhttp: ['Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP.6.0']};
+    var xml;
+    for (var i in progids.domdoc) {
+      try {
+        xml = new ActiveXObject(progids.domdoc[i]);
+        break;
+      } catch (e) {}
+    }
+    var xsl = new ActiveXObject(progids.freethreaded[i]);
+    var docCache = new ActiveXObject(progids.xsltpl[i]);
+  
+    var xmlHttp = new ActiveXObject(progids.xmlhttp[i]);
+    xmlHttp.open('GET', objRef.stylesheet, false);
+    xmlHttp.send(null);
+    var xslText = xmlHttp.responseText;
+    
+    // replace url-encoded "%"s in urls to %25, so they get
+    // double-escaped. Ugly hack, but IE needs that.
+    var regex = new RegExp("/\?url=(.[^']*)'/g");
+    var toReplace = xslText.match(/\?url=(.[^']*)'/g);
+    for (var i=0; i<toReplace.length; i++) {
+    	xslText = xslText.replace(toReplace[i], toReplace[i].replace(/%/g,'%25'));
+    }
+    
+    xml.validateOnParse = false;
+    xsl.validateOnParse = false;
+    xsl.resolveExternals = true;
+    xsl.setProperty("AllowDocumentFunction",true); 
+    xsl.async = false;
+    xml.async = false;
+    xsl.loadXML(xslText);
+    xml.load(url);
+    docCache.stylesheet = xsl;
+    var docProcessor = docCache.createProcessor();
+    docProcessor.input = xml;
+    docProcessor.addParameter('proxyUrl', config.proxyUrl, '');
+    docProcessor.transform();
+    objRef.model.doc = (new DOMParser()).parseFromString(docProcessor.output, "text/xml"); 
+  }
+  objRef.model.callListeners('refresh');
+}
+
Index: lib/spatial/mapbuilder/examples/flickr/rss2.xml
===================================================================
--- lib/spatial/mapbuilder/examples/flickr/rss2.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/flickr/rss2.xml	(revision 4307)
@@ -0,0 +1,319 @@
+<?xml version="1.0" encoding="utf-8"?>
+<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss">
+  <channel>
+    <title>communitymapbuilder's Photos</title>
+    <link>http://www.flickr.com/photos/15435549@N00/</link>
+    <description>A feed of communitymapbuilder's Photos</description>
+    <pubDate>Mon, 13 Mar 2006 16:24:09 -0800</pubDate>
+    <lastBuildDate>Mon, 13 Mar 2006 16:24:09 -0800</lastBuildDate>
+
+    <generator>http://www.flickr.com/</generator>
+    <image>
+      <url>http://www.flickr.com/images/buddyicon.jpg?15435549@N00</url>
+      <title>communitymapbuilder's Photos</title>
+      <link>http://www.flickr.com/photos/15435549@N00/</link>
+    </image>
+
+    <item>
+      <title>Saul Farber</title>
+      <link>http://www.flickr.com/photos/15435549@N00/112180614/</link>
+      <description>&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/112180614/&quot; title=&quot;Saul Farber&quot;&gt;&lt;img src=&quot;http://static.flickr.com/36/112180614_dfa5abb83b_m.jpg&quot; width=&quot;170&quot; height=&quot;218&quot; alt=&quot;Saul Farber&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;You can be a MapBuilder developer and have a sense of humor!&lt;/p&gt;</description>
+      <pubDate>Mon, 13 Mar 2006 16:24:09 -0800</pubDate>
+      <author>nobody@flickr.com (communitymapbuilder)</author>
+      <guid isPermaLink="false">tag:flickr.com,2004:/photo/112180614</guid>
+      <media:content url="http://static.flickr.com/36/112180614_dfa5abb83b_o.jpg" 
+               type="image/jpeg"
+               height="218"
+               width="170"/>
+      <media:title>Saul Farber</media:title>
+
+      <media:text type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/112180614/&quot; title=&quot;Saul Farber&quot;&gt;&lt;img src=&quot;http://static.flickr.com/36/112180614_dfa5abb83b_m.jpg&quot; width=&quot;170&quot; height=&quot;218&quot; alt=&quot;Saul Farber&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;You can be a MapBuilder developer and have a sense of humor!&lt;/p&gt;</media:text>
+      <media:thumbnail url="http://static.flickr.com/36/112180614_dfa5abb83b_s.jpg" height="75" width="75" />
+      <media:credit role="photographer">communitymapbuilder</media:credit>
+      <media:category scheme="urn:flickr:tags">geotagged communitymapbuilder roledeveloper geolat42 geolong71</media:category>
+
+    </item>
+    <item>
+
+      <title>Raj and Safia Singh</title>
+      <link>http://www.flickr.com/photos/15435549@N00/111590378/</link>
+      <description>&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/111590378/&quot; title=&quot;Raj and Safia Singh&quot;&gt;&lt;img src=&quot;http://static.flickr.com/45/111590378_fdeb4017ba_m.jpg&quot; width=&quot;180&quot; height=&quot;240&quot; alt=&quot;Raj and Safia Singh&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Developer: Safia at 8 months old on Lake Winnipesaukee, NH (with &lt;a href=&quot;http://web.mit.edu/rajsingh/www/&quot;&gt;Raj&lt;/a&gt;)&lt;/p&gt;</description>
+      <pubDate>Sun, 12 Mar 2006 15:00:41 -0800</pubDate>
+      <author>nobody@flickr.com (communitymapbuilder)</author>
+      <guid isPermaLink="false">tag:flickr.com,2004:/photo/111590378</guid>
+
+      <media:content url="http://static.flickr.com/45/111590378_fdeb4017ba_o.jpg" 
+               type="image/jpeg"
+               height="500"
+               width="375"/>
+      <media:title>Raj and Safia Singh</media:title>
+      <media:text type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/111590378/&quot; title=&quot;Raj and Safia Singh&quot;&gt;&lt;img src=&quot;http://static.flickr.com/45/111590378_fdeb4017ba_m.jpg&quot; width=&quot;180&quot; height=&quot;240&quot; alt=&quot;Raj and Safia Singh&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Developer: Safia at 8 months old on Lake Winnipesaukee, NH (with &lt;a href=&quot;http://web.mit.edu/rajsingh/www/&quot;&gt;Raj&lt;/a&gt;)&lt;/p&gt;</media:text>
+      <media:thumbnail url="http://static.flickr.com/45/111590378_fdeb4017ba_s.jpg" height="75" width="75" />
+      <media:credit role="photographer">communitymapbuilder</media:credit>
+      <media:category scheme="urn:flickr:tags">geotagged communitymapbuilder roledeveloper geolat4239688 geolong71131085</media:category>
+
+    </item>
+    <item>
+      <title>Water Portal</title>
+      <link>http://www.flickr.com/photos/15435549@N00/111357699/</link>
+      <description>&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/111357699/&quot; title=&quot;Water Portal&quot;&gt;&lt;img src=&quot;http://static.flickr.com/44/111357699_c697bcbfb6_m.jpg&quot; width=&quot;183&quot; height=&quot;240&quot; alt=&quot;Water Portal&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Water Portal Map Selection Tool using Mapbuilder from Tom Kralidis &lt;a href=&quot;http://www.kralidis.ca/who/&quot;&gt;More info&lt;/a&gt;.&lt;/p&gt;</description>
+      <pubDate>Sun, 12 Mar 2006 07:29:37 -0800</pubDate>
+      <author>nobody@flickr.com (communitymapbuilder)</author>
+      <guid isPermaLink="false">tag:flickr.com,2004:/photo/111357699</guid>
+
+      <media:content url="http://static.flickr.com/44/111357699_c697bcbfb6_o.jpg" 
+               type="image/jpeg"
+               height="695"
+               width="531"/>
+      <media:title>Water Portal</media:title>
+      <media:text type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/111357699/&quot; title=&quot;Water Portal&quot;&gt;&lt;img src=&quot;http://static.flickr.com/44/111357699_c697bcbfb6_m.jpg&quot; width=&quot;183&quot; height=&quot;240&quot; alt=&quot;Water Portal&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Water Portal Map Selection Tool using Mapbuilder from Tom Kralidis &lt;a href=&quot;http://www.kralidis.ca/who/&quot;&gt;More info&lt;/a&gt;.&lt;/p&gt;</media:text>
+      <media:thumbnail url="http://static.flickr.com/44/111357699_c697bcbfb6_s.jpg" height="75" width="75" />
+      <media:credit role="photographer">communitymapbuilder</media:credit>
+      <media:category scheme="urn:flickr:tags">communitymapbuilder</media:category>
+
+    </item>
+    <item>
+      <title>Tom Kralidis</title>
+      <link>http://www.flickr.com/photos/15435549@N00/111350602/</link>
+      <description>&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/111350602/&quot; title=&quot;Tom Kralidis&quot;&gt;&lt;img src=&quot;http://static.flickr.com/50/111350602_140d180e04_m.jpg&quot; width=&quot;132&quot; height=&quot;155&quot; alt=&quot;Tom Kralidis&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Mapbuilder developer and contributor of lessons learned&lt;br /&gt;
+from &lt;a href=&quot;http://cgdi-dev.geoconnections.org/prototypes/owsview/index.html&quot;&gt;owsview&lt;/a&gt;.  &lt;a href=&quot;http://www.kralidis.ca/who/&quot;&gt;More info&lt;/a&gt;.&lt;/p&gt;</description>
+
+      <pubDate>Sun, 12 Mar 2006 07:10:19 -0800</pubDate>
+      <author>nobody@flickr.com (communitymapbuilder)</author>
+      <guid isPermaLink="false">tag:flickr.com,2004:/photo/111350602</guid>
+      <media:content url="http://static.flickr.com/50/111350602_140d180e04_o.jpg" 
+               type="image/jpeg"
+               height="155"
+               width="132"/>
+      <media:title>Tom Kralidis</media:title>
+      <media:text type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/111350602/&quot; title=&quot;Tom Kralidis&quot;&gt;&lt;img src=&quot;http://static.flickr.com/50/111350602_140d180e04_m.jpg&quot; width=&quot;132&quot; height=&quot;155&quot; alt=&quot;Tom Kralidis&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Mapbuilder developer and contributor of lessons learned&lt;br /&gt;
+from &lt;a href=&quot;http://cgdi-dev.geoconnections.org/prototypes/owsview/index.html&quot;&gt;owsview&lt;/a&gt;.  &lt;a href=&quot;http://www.kralidis.ca/who/&quot;&gt;More info&lt;/a&gt;.&lt;/p&gt;</media:text>
+
+      <media:thumbnail url="http://static.flickr.com/50/111350602_140d180e04_s.jpg" height="75" width="75" />
+      <media:credit role="photographer">communitymapbuilder</media:credit>
+      <media:category scheme="urn:flickr:tags">geotagged geolat436666667 geolong794166667 communitymapbuilder roledeveloper</media:category>
+
+    </item>
+    <item>
+      <title>UMI Rule Editor</title>
+      <link>http://www.flickr.com/photos/15435549@N00/111317648/</link>
+
+      <description>&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/111317648/&quot; title=&quot;UMI Rule Editor&quot;&gt;&lt;img src=&quot;http://static.flickr.com/47/111317648_642fd26e63_m.jpg&quot; width=&quot;240&quot; height=&quot;192&quot; alt=&quot;UMI Rule Editor&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;The UMI project uses MapBuilder as part of a UI for making simple edits to feature attributes.&lt;br /&gt;
+&lt;a href=&quot;http://uis.mit.edu/&quot;&gt;uis.mit.edu/&lt;/a&gt; &lt;br /&gt;
+Provided by Raj Singh and supported by: &lt;br /&gt;
+MIT Urban Information Systems Group&lt;br /&gt;
+
+Metropolitan Area Planning Council&lt;br /&gt;
+City of Boston Department of Neighborhood Development&lt;br /&gt;
+The Boston Community Building Network, The Boston Foundation&lt;/p&gt;</description>
+      <pubDate>Sun, 12 Mar 2006 05:29:31 -0800</pubDate>
+      <author>nobody@flickr.com (communitymapbuilder)</author>
+      <guid isPermaLink="false">tag:flickr.com,2004:/photo/111317648</guid>
+
+      <media:content url="http://static.flickr.com/47/111317648_642fd26e63_o.jpg" 
+               type="image/jpeg"
+               height="399"
+               width="500"/>
+      <media:title>UMI Rule Editor</media:title>
+      <media:text type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/111317648/&quot; title=&quot;UMI Rule Editor&quot;&gt;&lt;img src=&quot;http://static.flickr.com/47/111317648_642fd26e63_m.jpg&quot; width=&quot;240&quot; height=&quot;192&quot; alt=&quot;UMI Rule Editor&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;The UMI project uses MapBuilder as part of a UI for making simple edits to feature attributes.&lt;br /&gt;
+&lt;a href=&quot;http://uis.mit.edu/&quot;&gt;uis.mit.edu/&lt;/a&gt; &lt;br /&gt;
+Provided by Raj Singh and supported by: &lt;br /&gt;
+MIT Urban Information Systems Group&lt;br /&gt;
+
+Metropolitan Area Planning Council&lt;br /&gt;
+City of Boston Department of Neighborhood Development&lt;br /&gt;
+The Boston Community Building Network, The Boston Foundation&lt;/p&gt;</media:text>
+      <media:thumbnail url="http://static.flickr.com/47/111317648_642fd26e63_s.jpg" height="75" width="75" />
+      <media:credit role="photographer">communitymapbuilder</media:credit>
+      <media:category scheme="urn:flickr:tags">communitymapbuilder</media:category>
+
+    </item>
+    <item>
+      <title>Freemap-Israel</title>
+      <link>http://www.flickr.com/photos/15435549@N00/110442728/</link>
+      <description>&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/110442728/&quot; title=&quot;Freemap-Israel&quot;&gt;&lt;img src=&quot;http://static.flickr.com/45/110442728_b7a9cd5dbe_m.jpg&quot; width=&quot;240&quot; height=&quot;134&quot; alt=&quot;Freemap-Israel&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.freemap.co.il/edit_map.html&quot;&gt;www.freemap.co.il/edit_map.html&lt;/a&gt;&lt;br /&gt;
+This project is about creating a free map for Israel. Mapbuilder is used to view / modify the attributes of roads.&lt;/p&gt;</description>
+      <pubDate>Fri, 10 Mar 2006 04:41:42 -0800</pubDate>
+      <author>nobody@flickr.com (communitymapbuilder)</author>
+
+      <guid isPermaLink="false">tag:flickr.com,2004:/photo/110442728</guid>
+      <media:content url="http://static.flickr.com/45/110442728_b7a9cd5dbe_o.jpg" 
+               type="image/jpeg"
+               height="548"
+               width="984"/>
+      <media:title>Freemap-Israel</media:title>
+      <media:text type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/110442728/&quot; title=&quot;Freemap-Israel&quot;&gt;&lt;img src=&quot;http://static.flickr.com/45/110442728_b7a9cd5dbe_m.jpg&quot; width=&quot;240&quot; height=&quot;134&quot; alt=&quot;Freemap-Israel&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.freemap.co.il/edit_map.html&quot;&gt;www.freemap.co.il/edit_map.html&lt;/a&gt;&lt;br /&gt;
+This project is about creating a free map for Israel. Mapbuilder is used to view / modify the attributes of roads.&lt;/p&gt;</media:text>
+      <media:thumbnail url="http://static.flickr.com/45/110442728_b7a9cd5dbe_s.jpg" height="75" width="75" />
+      <media:credit role="photographer">communitymapbuilder</media:credit>
+      <media:category scheme="urn:flickr:tags">communitymapbuilder</media:category>
+
+    </item>
+    <item>
+      <title>Ehud Shabtai</title>
+      <link>http://www.flickr.com/photos/15435549@N00/110442727/</link>
+      <description>&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/110442727/&quot; title=&quot;Ehud Shabtai&quot;&gt;&lt;img src=&quot;http://static.flickr.com/51/110442727_aae24adb36_m.jpg&quot; width=&quot;180&quot; height=&quot;240&quot; alt=&quot;Ehud Shabtai&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Developer&lt;/p&gt;</description>
+      <pubDate>Fri, 10 Mar 2006 04:41:42 -0800</pubDate>
+      <author>nobody@flickr.com (communitymapbuilder)</author>
+      <guid isPermaLink="false">tag:flickr.com,2004:/photo/110442727</guid>
+      <media:content url="http://static.flickr.com/51/110442727_aae24adb36_o.jpg" 
+               type="image/jpeg"
+               height="800"
+               width="600"/>
+      <media:title>Ehud Shabtai</media:title>
+
+      <media:text type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/110442727/&quot; title=&quot;Ehud Shabtai&quot;&gt;&lt;img src=&quot;http://static.flickr.com/51/110442727_aae24adb36_m.jpg&quot; width=&quot;180&quot; height=&quot;240&quot; alt=&quot;Ehud Shabtai&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Developer&lt;/p&gt;</media:text>
+      <media:thumbnail url="http://static.flickr.com/51/110442727_aae24adb36_s.jpg" height="75" width="75" />
+      <media:credit role="photographer">communitymapbuilder</media:credit>
+      <media:category scheme="urn:flickr:tags">communitymapbuilder</media:category>
+
+    </item>
+    <item>
+
+      <title>GeoConnections Discovery Portal</title>
+      <link>http://www.flickr.com/photos/15435549@N00/110058150/</link>
+      <description>&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/110058150/&quot; title=&quot;GeoConnections Discovery Portal&quot;&gt;&lt;img src=&quot;http://static.flickr.com/47/110058150_a31ad4d213_m.jpg&quot; width=&quot;219&quot; height=&quot;240&quot; alt=&quot;GeoConnections Discovery Portal&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://geodiscover.cgdi.ca/gdp/&quot;&gt;geodiscover.cgdi.ca/gdp/&lt;/a&gt;&lt;br /&gt;
+from Mike Adair.&lt;br /&gt;
+The GeoConnections Discovery Portal is your gateway to millions of geospatial data products. Browse metadata records or search by subject, coverage or product type to find, evaluate, visualize and access the geospatial data you need.&lt;/p&gt;</description>
+      <pubDate>Thu, 9 Mar 2006 04:21:48 -0800</pubDate>
+
+      <author>nobody@flickr.com (communitymapbuilder)</author>
+      <guid isPermaLink="false">tag:flickr.com,2004:/photo/110058150</guid>
+      <media:content url="http://static.flickr.com/47/110058150_a31ad4d213_o.jpg" 
+               type="image/jpeg"
+               height="885"
+               width="808"/>
+      <media:title>GeoConnections Discovery Portal</media:title>
+      <media:text type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/110058150/&quot; title=&quot;GeoConnections Discovery Portal&quot;&gt;&lt;img src=&quot;http://static.flickr.com/47/110058150_a31ad4d213_m.jpg&quot; width=&quot;219&quot; height=&quot;240&quot; alt=&quot;GeoConnections Discovery Portal&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://geodiscover.cgdi.ca/gdp/&quot;&gt;geodiscover.cgdi.ca/gdp/&lt;/a&gt;&lt;br /&gt;
+from Mike Adair.&lt;br /&gt;
+The GeoConnections Discovery Portal is your gateway to millions of geospatial data products. Browse metadata records or search by subject, coverage or product type to find, evaluate, visualize and access the geospatial data you need.&lt;/p&gt;</media:text>
+      <media:thumbnail url="http://static.flickr.com/47/110058150_a31ad4d213_s.jpg" height="75" width="75" />
+      <media:credit role="photographer">communitymapbuilder</media:credit>
+
+      <media:category scheme="urn:flickr:tags">geotagged communitymapbuilder roleapplication geolat453999 geolong7571221</media:category>
+
+    </item>
+    <item>
+      <title>Schuyler Erle</title>
+      <link>http://www.flickr.com/photos/15435549@N00/109867652/</link>
+      <description>&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/109867652/&quot; title=&quot;Schuyler Erle&quot;&gt;&lt;img src=&quot;http://static.flickr.com/34/109867652_3ae7d3085c_m.jpg&quot; width=&quot;240&quot; height=&quot;194&quot; alt=&quot;Schuyler Erle&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Developer of Google Maps Hacks fame!!!&lt;/p&gt;</description>
+      <pubDate>Wed, 8 Mar 2006 16:53:05 -0800</pubDate>
+      <author>nobody@flickr.com (communitymapbuilder)</author>
+      <guid isPermaLink="false">tag:flickr.com,2004:/photo/109867652</guid>
+      <media:content url="http://static.flickr.com/34/109867652_3ae7d3085c_o.jpg" 
+               type="image/jpeg"
+               height="645"
+               width="800"/>
+      <media:title>Schuyler Erle</media:title>
+
+      <media:text type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/109867652/&quot; title=&quot;Schuyler Erle&quot;&gt;&lt;img src=&quot;http://static.flickr.com/34/109867652_3ae7d3085c_m.jpg&quot; width=&quot;240&quot; height=&quot;194&quot; alt=&quot;Schuyler Erle&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Developer of Google Maps Hacks fame!!!&lt;/p&gt;</media:text>
+      <media:thumbnail url="http://static.flickr.com/34/109867652_3ae7d3085c_s.jpg" height="75" width="75" />
+      <media:credit role="photographer">communitymapbuilder</media:credit>
+      <media:category scheme="urn:flickr:tags">geotagged communitymapbuilder roledeveloper geolat42362787 geolong71099416</media:category>
+
+    </item>
+    <item>
+
+      <title>Olivier Terral</title>
+      <link>http://www.flickr.com/photos/15435549@N00/109186513/</link>
+      <description>&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/109186513/&quot; title=&quot;Olivier Terral&quot;&gt;&lt;img src=&quot;http://static.flickr.com/46/109186513_09e9041474_m.jpg&quot; width=&quot;240&quot; height=&quot;180&quot; alt=&quot;Olivier Terral&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Developer&lt;br /&gt;
+&lt;a href=&quot;http://www.geomatys.fr&quot;&gt;www.geomatys.fr&lt;/a&gt;&lt;/p&gt;</description>
+      <pubDate>Tue, 7 Mar 2006 05:07:42 -0800</pubDate>
+      <author>nobody@flickr.com (communitymapbuilder)</author>
+
+      <guid isPermaLink="false">tag:flickr.com,2004:/photo/109186513</guid>
+      <media:content url="http://static.flickr.com/46/109186513_09e9041474_o.jpg" 
+               type="image/jpeg"
+               height="240"
+               width="320"/>
+      <media:title>Olivier Terral</media:title>
+      <media:text type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/people/15435549@N00/&quot;&gt;communitymapbuilder&lt;/a&gt; posted a photo:&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/15435549@N00/109186513/&quot; title=&quot;Olivier Terral&quot;&gt;&lt;img src=&quot;http://static.flickr.com/46/109186513_09e9041474_m.jpg&quot; width=&quot;240&quot; height=&quot;180&quot; alt=&quot;Olivier Terral&quot; style=&quot;border: 1px solid #ddd;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Developer&lt;br /&gt;
+&lt;a href=&quot;http://www.geomatys.fr&quot;&gt;www.geomatys.fr&lt;/a&gt;&lt;/p&gt;</media:text>
+      <media:thumbnail url="http://static.flickr.com/46/109186513_09e9041474_s.jpg" height="75" width="75" />
+      <media:credit role="photographer">communitymapbuilder</media:credit>
+      <media:category scheme="urn:flickr:tags">geotagged communitymapbuilder roledeveloper geolat43670481 geolong4635903</media:category>
+
+    </item>
+
+  </channel>
+</rss>
Index: lib/spatial/mapbuilder/examples/flickr/popup.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/flickr/popup.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/flickr/popup.xsl	(revision 4307)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Description: presents the list of events in a GeoRSS
+Author:      adair
+Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
+
+$Id: popup.xsl 3907 2008-03-06 10:27:06Z steven $
+$Name:  $
+-->
+
+<xsl:stylesheet version="1.0" 
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+  xmlns:gml="http://www.opengis.net/gml"
+  xmlns:wfs="http://www.opengis.net/wfs"
+  xmlns:dc="http://purl.org/dc/elements/1.1/" 
+  xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" >
+  
+  <!-- xsl:output method="html" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/ -->
+  <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
+  <xsl:param name="fid"/>
+  
+  <xsl:template match="/">
+    <div class="PopupContainer">
+      <div class="PopupHeader">Info</div>
+      <div class="PopupContent">
+        <xsl:apply-templates/>
+      </div>
+    </div>
+  </xsl:template>
+  
+  <xsl:template match="wfs:FeatureCollection/gml:featureMember/*">
+    <xsl:if test="@fid=$fid">
+      <table cellspacing="0" border="0">
+    	<tr><td><b>title:</b> <xsl:value-of select="mb:title"/></td></tr>
+    	<tr><td><b>description:</b> <xsl:copy-of select="mb:description"/></td></tr>
+    	<tr><td><b>date:</b> <xsl:value-of select="dc:date"/></td></tr>
+      <tr><td><b>pos:</b> <xsl:value-of select="mb:geom/gml:Point/gml:coordinates"/></td></tr>
+      <tr><td align="center"><xsl:element name="img">
+        <xsl:attribute name="src"><xsl:value-of select="mb:url"/></xsl:attribute>
+      </xsl:element></td></tr>
+      </table>
+    </xsl:if>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/flickr/DemisWorldMap.xml
===================================================================
--- lib/spatial/mapbuilder/examples/flickr/DemisWorldMap.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/flickr/DemisWorldMap.xml	(revision 4307)
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<OWSContext version="0.0.13" id="ows-context-tie" 
+  xmlns="http://www.opengis.net/context" 
+  xmlns:xlink="http://www.w3.org/1999/xlink" 
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+  xmlns:sld="http://www.opengis.net/sld"
+  xmlns:ogc="http://www.opengis.net/ogc" 
+  xmlns:ows="http://www.opengis.net/ows" 
+  xmlns:param="http;//www.opengis.net/param" 
+  xsi:schemaLocation="http://www.opengis.net/oc oc_0_0_13.xsd">
+
+	<General>
+		<Window width="600" height="300"/>
+		<!-- BoundingBox SRS="EPSG:4326" minx="-130" miny="10" maxx="-50" maxy="50"/ -->
+    <ows:BoundingBox crs="EPSG:4326">
+      <ows:LowerCorner>-180.0 -85.0</ows:LowerCorner>
+      <ows:UpperCorner>180.0 85.0</ows:UpperCorner>
+    </ows:BoundingBox>
+    
+		<Title xml:lang="en">GeoRSS Using OWSContext</Title>
+		<KeywordList>
+			<Keyword>world</Keyword>
+      <Keyword>atlas</Keyword>
+      <Keyword>georss</Keyword>
+		</KeywordList>
+    
+		<Abstract>World Base Map.</Abstract>
+    
+    <LogoURL width="140" height="65" format="image/gif">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.opengeospatial.org/img/ogc_header_top_left.gif" />
+    </LogoURL>
+
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.opengeospatial.org/press/?page=pressrelease&amp;view=20040525_ContextIE_PR" />
+    </DescriptionURL>
+    
+    <ows:ServiceProvider>
+      <ows:ProviderName>Vightel Corporation</ows:ProviderName>
+      <ows:ProviderSite xlink:type="simple" xlink:href="http://www.ec.gc.ca/" />
+      <ows:ServiceContact>
+        <ows:IndividualName>Patrice G Cappelaere</ows:IndividualName>
+        <ows:PositionName>Senior Architect</ows:PositionName>
+        <ows:ContactInfo>
+          <ows:Phone>
+            <ows:Voice>410-340-4868</ows:Voice>
+            <ows:Facsimile>443-283-0370</ows:Facsimile>
+          </ows:Phone>
+          <ows:Address>
+            <ows:DeliveryPoint>8303 Winter Wind Ct</ows:DeliveryPoint>
+            <ows:City>Ellicott City</ows:City>
+            <ows:AdministrativeArea>Maryland</ows:AdministrativeArea>
+            <ows:PostalCode>21043</ows:PostalCode>
+            <ows:Country>USA</ows:Country>
+            <ows:ElectronicMailAddress>pat@cappelaere.com</ows:ElectronicMailAddress>
+          </ows:Address>
+          <ows:OnlineResource xlink:type="simple" xlink:href="http://www.vightel.com/" />
+          <ows:HoursOfService>0700h - 1500h (EST), Monday - Friday</ows:HoursOfService>
+          <ows:ContactInstructions>Just call or email</ows:ContactInstructions>
+        </ows:ContactInfo>
+        <ows:Role>Systems Scientist</ows:Role>
+      </ows:ServiceContact>
+    </ows:ServiceProvider>
+  </General>  
+    
+	<ResourceList>
+		<Layer queryable="1" hidden="0">
+			<Server service="OGC:WMS" version="1.0.0" title="OGC:WMS">
+      <OnlineResource xlink:type="simple" xlink:href="http://www2.demis.nl/WMS/wms.asp?wms=WorldMap"/>
+			</Server>
+			<Name>Bathymetry,Countries,Topography,Hillshading,Builtup+areas,Coastlines,Waterbodies,Inundated,Rivers,Streams,Railroads,Highways,Roads,Trails,Borders,Cities,Settlements,Spot+elevations,Airports,Ocean+features</Name>
+			<Title>World Map</Title>
+			<SRS>EPSG:4326</SRS>
+			<FormatList>
+				<Format current="1">image/gif</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+				</Style>
+			</StyleList>
+		</Layer>
+	</ResourceList>
+</OWSContext>
Index: lib/spatial/mapbuilder/examples/flickr/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/flickr/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/flickr/index.html	(revision 4307)
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+      
+<html  xmlns:vml="urn:schemas-microsoft-com:vml" 
+  xmlns:svg="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Mapbuilder Flickr Live Feed Viewer</title>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+		<link rel='StyleSheet' type='text/css' href='../../lib/skin/default/mapStyle.css'>
+    <script>
+    // URL of Mapbuilder configuration file.
+     var mbConfigUrl='./flickrconfig.xml';   
+      var OLbubbleImageDir="../../lib/util/overlibmws"; 
+    </script>
+    <!-- This points to the core mapbuilder library, replaces this with MapbuilderCompressed.js when you want to use the compressed version -->
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+  </head>
+  <!-- This onload event starts mapbuilder -->
+  <body onload="mbDoLoad()" >
+	  <div id="header">  	<!-- The header of the page -->
+            <h1><a href="http://communitymapbuilder.org">MapBuilder</a> <!--Version-->1.5-rc2<!--VersionEnd--> Flickr Live Feed Viewer</h1>
+            <!-- The version tag will be inserted into the comment tags above
+            during the build process. -->
+	  </div><!-- /header -->
+  	<div id="middle"><!-- The center piece of the page with left menubar and right mainbody -->
+	    	    <div id="exampleList"></div><!-- this is the container where the menubar will be drawn -->
+			<div id="mainbody"><!-- right side of the middle div, is also divided into two areas -->
+			  <div class="left">
+				  <h3>Explanation</h3>
+					Flickr Demo using the <a href="http://www.flickr.com/photos/15435549@N00/" >Community MapBuilder</a> Flickr 
+			    <a href="http://www.flickr.com/services/feeds/photos_public.gne?id=15435549@N00&format=rss2">Feed</a><br/>
+     			Note: Requires Server/proxy support to access Flickr (Assuming it is up).  It takes a few minutes to load the pictures from Flickr...<br/>
+     			The demo uses a custom widget (FlickRest2Wfs) with a complex XSL stylesheet. It first parses the list of pictures from the Flick REST api, then fetches the detailled description of each picture, and outputs it all into a WFS FeatureCollection. The resulting feature collection is displayed on the map and as a list with picture thumbnails below. The list is connected to the map, so when the mouse is over a list entry, the according point will be highlighted on the map. <br/>
+				The SLD file for this demo uses an OpenLayers extension to the ExternalGraphic element, which allows us to show thumbnails of the images with urls from a feature attribute.<br/>
+     			<b>Note</b> This example does not use the new GeoRSS feature of Flickr, because our Mapbuilder images are not tagged in a way that allows the Flickr GeoRSS processor to determine the positions.
+		    </div><!-- /left -->
+		  	<div class="right">
+		  	  <div id="rssRendererTip"></div>
+		  	  <div id="mainMapPane">
+			  	  <noscript>
+      			  this page requires Javascript to be enabled
+			      </noscript>
+			    </div><!-- /mainMapPane -->
+          <!--div id="loading">
+			      <p>Loading Program<br/>
+      				<img src="../../lib/skin/default/images/Loading.gif"/>
+			      </p>
+			    </div-->
+			    <table>
+			    	<tr><td id="mainButtonBar" style="width: 120px"></td>
+		          <td align="right" id="cursorTrack"></td>
+		      	</tr>
+       	  </table>
+        	<div id="eventsListing"></div>
+	     	</div><!-- /right -->
+			</div><!-- /mainbody -->
+		</div><!-- /middle -->
+  	<div id="footer"><!-- The footer of the page -->
+	  	<div class="right">
+				<a href="http://communitymapbuilder.org/" title="powered by community mapbuilder"><img src="../../lib/skin/default/images/Icon.gif"/></a>	  	
+				<a href="https://www.osgeo.org/" title="member of OSgeo"><img src="../../lib/skin/default/images/Osgeo.png"/></a>
+      </div><!-- /right -->
+	  </div><!-- /footer -->
+	</body>
+</html>
Index: lib/spatial/mapbuilder/examples/flickr/rss2ows.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/flickr/rss2ows.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/flickr/rss2ows.xsl	(revision 4307)
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" 
+xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
+xmlns:rss="http://purl.org/rss/1.0/" 
+xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" 
+xmlns:dc="http://purl.org/dc/elements/1.1/" 
+xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" 
+xmlns:georss="http://www.georss.org/rss"  
+xmlns:xlink="http://www.w3.org/1999/xlink"
+xmlns:gml="http://www.opengis.net/gml/3.1.1" 
+xmlns:wmc="http://www.opengis.net/context" 
+xmlns:sld="http://www.opengis.net/sld" 
+xmlns:ogc="http://www.opengis.net/ogc"
+xmlns:media="http://search.yahoo.com/mrss"> 
+
+	<!-- xsl:output method="html" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/ -->
+	<xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/>
+  
+	<xsl:template match="/">
+		<ResourceList xmlns="http://www.opengis.net/context" >
+			<xsl:apply-templates select="."/>
+		</ResourceList>
+	</xsl:template>
+	
+	<xsl:template match="photo">
+    <xsl:variable name="pid"><xsl:value-of select="@pid"/></xsl:variable>
+    <xsl:variable name="id"><xsl:value-of select="@id"/></xsl:variable>
+    <xsl:variable name="width"><xsl:value-of select="@width"/></xsl:variable>
+    <xsl:variable name="height"><xsl:value-of select="@height"/></xsl:variable>
+    <xsl:variable name="title"><xsl:value-of select="@title"/></xsl:variable>
+    <xsl:variable name="secret"><xsl:value-of select="@secret"/></xsl:variable>
+    <xsl:variable name="server"><xsl:value-of select="@server"/></xsl:variable>
+    <xsl:variable name="link">http://www.flickr.com/photos/15435549@N00/<xsl:value-of select="$id"/>/</xsl:variable>
+    <xsl:variable name="thn">http://static.flickr.com/<xsl:value-of select="$server"/>/<xsl:value-of select="$id"/>_<xsl:value-of select="$secret"/>_s.jpg</xsl:variable>
+   
+		<wmc:RssLayer  queryable="0" hidden="0" id="{$id}" width="{$width}" height="{$height}" pid="{$id}" >
+			<wmc:Server service="GeoRSS" version="1.0" title="{$title}">
+				<wmc:OnlineResource xlink:type="simple" xlink:href="{$link}"/>
+			</wmc:Server>
+			<wmc:Name><xsl:value-of select="$title"/></wmc:Name>
+			<wmc:Title><xsl:value-of select="$title"/></wmc:Title>
+			<wmc:StyleList>
+        <wmc:Style>
+          <wmc:Name>Highlite</wmc:Name>
+          <sld:PointSymbolizer>
+           <sld:Stroke> 
+              <sld:CssParameter name="stroke">#ffff00</sld:CssParameter> 
+              <sld:CssParameter name="stroke-width">1</sld:CssParameter> 
+            </sld:Stroke> 
+          </sld:PointSymbolizer>
+        </wmc:Style>
+        <wmc:Style>
+          <wmc:Name>Normal</wmc:Name>
+          <sld:PointSymbolizer>
+            <sld:Graphic>
+              <sld:ExternalGraphic>
+                <sld:OnlineResource xlink:type="simple" xlink:href="{$thn}" />
+              </sld:ExternalGraphic> 
+              <sld:Size>32</sld:Size>
+            </sld:Graphic> 
+          </sld:PointSymbolizer>
+        </wmc:Style>
+      </wmc:StyleList>
+			<wmc:Abstract><img src='{$thn}' /><br/><a href="{$link}" target="_blank" >Flickr Link</a></wmc:Abstract>
+			<wmc:Where></wmc:Where>
+		</wmc:RssLayer>
+	</xsl:template>
+	
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/flickr/atlasWorld.xml
===================================================================
--- lib/spatial/mapbuilder/examples/flickr/atlasWorld.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/flickr/atlasWorld.xml	(revision 4307)
@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<OWSContext version="0.0.13" id="ows-context-tie" 
+  xmlns="http://www.opengis.net/context" 
+  xmlns:xlink="http://www.w3.org/1999/xlink" 
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+  xmlns:sld="http://www.opengis.net/sld"
+  xmlns:ogc="http://www.opengis.net/ogc" 
+  xmlns:ows="http://www.opengis.net/ows" 
+  xmlns:param="http;//www.opengis.net/param" 
+  xsi:schemaLocation="http://www.opengis.net/oc oc_0_0_13.xsd">
+  
+  <General>
+    <Window width="800" height="400"/>
+    <!-- BoundingBox SRS="EPSG:4326" minx="-130" miny="10" maxx="-50" maxy="50"/ -->
+    <ows:BoundingBox crs="EPSG:4326">
+      <ows:LowerCorner>-180 -90</ows:LowerCorner>
+      <ows:UpperCorner>180 90</ows:UpperCorner>
+    </ows:BoundingBox>
+    
+    <Title xml:lang="en">GeoRSS Using OWSContext</Title>
+    <KeywordList>
+      <Keyword>world</Keyword>
+      <Keyword>atlas</Keyword>
+      <Keyword>georss</Keyword>
+    </KeywordList>
+    
+    <Abstract>World Base Map.</Abstract>
+    
+    <LogoURL width="140" height="65" format="image/gif">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.opengeospatial.org/img/ogc_header_top_left.gif" />
+    </LogoURL>
+
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.opengeospatial.org/press/?page=pressrelease&amp;view=20040525_ContextIE_PR" />
+    </DescriptionURL>
+    
+    <ows:ServiceProvider>
+      <ows:ProviderName>Vightel Corporation</ows:ProviderName>
+      <ows:ProviderSite xlink:type="simple" xlink:href="http://www.ec.gc.ca/" />
+      <ows:ServiceContact>
+        <ows:IndividualName>Patrice G Cappelaere</ows:IndividualName>
+        <ows:PositionName>Senior Architect</ows:PositionName>
+        <ows:ContactInfo>
+          <ows:Phone>
+            <ows:Voice>410-340-4868</ows:Voice>
+            <ows:Facsimile>443-283-0370</ows:Facsimile>
+          </ows:Phone>
+          <ows:Address>
+            <ows:DeliveryPoint>8303 Winter Wind Ct</ows:DeliveryPoint>
+            <ows:City>Ellicott City</ows:City>
+            <ows:AdministrativeArea>Maryland</ows:AdministrativeArea>
+            <ows:PostalCode>21043</ows:PostalCode>
+            <ows:Country>USA</ows:Country>
+            <ows:ElectronicMailAddress>pat@cappelaere.com</ows:ElectronicMailAddress>
+          </ows:Address>
+          <ows:OnlineResource xlink:type="simple" xlink:href="http://www.vightel.com/" />
+          <ows:HoursOfService>0700h - 1500h (EST), Monday - Friday</ows:HoursOfService>
+          <ows:ContactInstructions>Just call or email</ows:ContactInstructions>
+        </ows:ContactInfo>
+        <ows:Role>Systems Scientist</ows:Role>
+      </ows:ServiceContact>
+    </ows:ServiceProvider>
+  </General>  
+    
+  <ResourceList>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>ocean</Name>
+      <Title>ocean area</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>land</Name>
+      <Title>land area</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>lake_fill</Name>
+      <Title>lakes</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>lake_outline</Name>
+      <Title>lake outlines</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>coast</Name>
+      <Title>coastline</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>rivers</Name>
+      <Title>rivers</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>boundaries</Name>
+      <Title>boundaries</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="1">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>capital</Name>
+      <Title>capitals</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="0">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>country_names</Name>
+      <Title>country names</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+    <Layer queryable="0" hidden="1">
+      <Server service="wms" version="1.1.0" title="wms">
+        <OnlineResource xlink:type="simple" xlink:href="http://atlas.gc.ca/cgi-bin/mapserv?map=/home/atlas/mapdata/english/pb_world.map"/>
+      </Server>
+      <Name>capital_names</Name>
+      <Title>capital names</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format current="1">image/gif</Format>
+      </FormatList>
+    </Layer>
+  </ResourceList>
+</OWSContext>
Index: lib/spatial/mapbuilder/examples/flickr/WfsListing.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/flickr/WfsListing.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/flickr/WfsListing.xsl	(revision 4307)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Description: presents the list of events in a GeoRSS
+Author:      adair
+Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
+
+$Id: GeoRSSListing.xsl 3017 2007-07-26 23:01:32Z ahocevar $
+$Name:  $
+-->
+
+<xsl:stylesheet version="1.0" 
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+  xmlns:wfs="http://www.opengis.net/wfs"
+  xmlns:gml="http://www.opengis.net/gml"
+  xmlns:dc="http://purl.org/dc/elements/1.1/" 
+  xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder">
+
+  <xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/>
+
+  <!-- The coordinates of the DHTML Layer on the HTML page -->
+  <xsl:param name="modelId"/>
+  <xsl:param name="targetModelId"/>
+  <xsl:param name="widgetId"/>
+  <xsl:param name="hiddenItems"/>
+  
+  <!-- template rule matching source root element -->
+  <xsl:template match="/">
+    <table>
+      <tr><th colspan="2">Community Mapbuilder Community</th></tr>
+      <xsl:apply-templates select="//mb:geoRssFeature"/>
+    </table>
+  </xsl:template>
+
+  <xsl:template match="//mb:geoRssFeature">
+    <xsl:variable name="fid"><xsl:value-of select="@fid"/></xsl:variable>
+    <xsl:variable name="link"><xsl:value-of select="mb:photopage"/></xsl:variable>
+    <xsl:variable name="icon"><xsl:value-of select="mb:url"/></xsl:variable>
+    <tr>
+      <td>
+        <input type="checkbox" checked="checked" onclick="this.checked?config.objects.{$modelId}.setParam('showFeature','{$fid}'):config.objects.{$modelId}.setParam('hideFeature','{$fid}')" />
+      </td>
+      <td onmouseover="config.objects.{$modelId}.setParam('highlightFeature','{$fid}')" onmouseout="config.objects.{$modelId}.setParam('dehighlightFeature','{$fid}')">
+        <table><tr>
+        <td valign="top"><img src="{$icon}" /></td>
+        <td valign="top"><a href="{$link}" target="_blank"><xsl:value-of select="mb:title"/></a><br/>
+        <xsl:value-of select="mb:description"/></td>
+        </tr></table>
+      </td>
+    </tr>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/catalog/filter.xml
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/filter.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/filter.xml	(revision 4307)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<filter>
+  <keywords/>
+  <serviceassociation/>
+  <servicetype/>
+  <location/>
+</filter>
+
Index: lib/spatial/mapbuilder/examples/catalog/CatalogSearchForm.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/CatalogSearchForm.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/CatalogSearchForm.xsl	(revision 4307)
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+Description: parses an listing of OGC services from the Discovery Portal registry
+Author:      adair
+Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
+
+$Id: CatalogSearchForm.xsl 3285 2007-09-20 09:31:07Z rdewit $
+$Name:  $
+-->
+
+<xsl:stylesheet version="1.0" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+		xmlns:ogc="http://www.opengis.net/ogc"
+		xmlns:gml="http://www.opengis.net/gml"
+    xmlns:xlink="http://www.w3.org/1999/xlink">
+
+  <xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/>
+
+  <!-- The coordinates of the DHTML Layer on the HTML page -->
+  <xsl:param name="modelTitle"/>
+  <xsl:param name="modelId"/>
+  <xsl:param name="widgetId"/>
+  <xsl:param name="targetModelId"/>
+  <xsl:param name="targetModel"/>
+  <xsl:param name="lang">en</xsl:param>
+  
+  <xsl:param name="webServiceUrl">http://devgeo.cciw.ca/cgi-bin/mapserv/owscat</xsl:param>
+  <xsl:param name="formName">owsCatSearch</xsl:param>
+  <!-- NOTE: it's really bad form to put a hard-coded URL here, but it's the only way to use the document() function in IE -->
+  <!--xsl:param name="searchConfigDoc" select="document('http://demo.communitymapbuilder.org/mapbuilder-lib-1.0-release/demo/contextEditor/searchConfig.xml')"/-->  
+  <xsl:param name="searchConfigDoc" select="document('http://geodiscover.cgdi.ca/mapbuilder/demo/contextEditor/searchConfig.xml')"/>  
+  <xsl:param name="selectSize" select="1"/>
+  
+  <!-- Text params for this widget -->
+  <xsl:param name="north">North</xsl:param>
+  <xsl:param name="south">South</xsl:param>
+  <xsl:param name="east">East</xsl:param>
+  <xsl:param name="west">West</xsl:param>
+  
+  <!-- template rule matching source root element -->
+  <xsl:template match="/">
+    <div>
+    <h2>Search for layers</h2>
+    <form name="{$formName}" id="{$formName}" method="get" onsubmit="config.objects.{$widgetId}.doSelect();return false;">
+      <!--
+      <input type="hidden" name="version" value="1.0.0"/>
+      <input type="hidden" name="service" value="WFS"/>
+      <input type="hidden" name="request" value="GetFeature"/>
+      <input type="hidden" name="typename" value="service_resources"/>
+      <input type="hidden" name="outputFormat" value="GML3"/>
+      -->
+      <table>
+        <tr>
+          <td>
+            <h3>Keywords</h3>
+          </td>
+          <td>
+            <h3>Service Type</h3>
+          </td>
+          <td/>
+        </tr>
+        <tr>
+          <td>
+            <input type="text" name="keywords" value=""/>
+          </td>
+          <td>
+            <select name="serviceType" id="serviceType">
+              <option></option>
+              <option value="WMS">WMS</option>
+              <option value="WFS">WFS</option>
+            </select>
+            <input type="submit" value="search"/>
+          </td>
+          <td>
+            <div id="loading"></div>
+          </td>
+        </tr>
+      </table>
+      <!--
+      <div id="locations">
+        <xsl:call-template name="aoiBox"/>
+      </div>
+      -->
+
+    </form>
+
+    </div>
+  </xsl:template>
+
+  <xsl:template name="locations">
+    <xsl:param name="locationsDoc"/>
+    <div>
+      <select name="locations" onchange="config.objects.{$widgetId}.setLocation(this.options[this.selectedIndex].value);" size="{$selectSize}">
+        <xsl:apply-templates select="$locationsDoc/searchConfig[@entryType='productCollection']/locations/location"/>
+      </select>
+    </div>
+  </xsl:template>
+  
+  <xsl:template match="location">
+    <xsl:param name="indent"/>
+    <xsl:variable name="bbox" select="translate(wens,' ',',')"/>
+    <option value="{$bbox}"><xsl:value-of select="$indent"/><xsl:value-of select="title[@lang=$lang]"/></option>
+    <xsl:apply-templates select="location">
+      <xsl:with-param name="indent"><xsl:value-of select="$indent"/>&#160;&#160;</xsl:with-param>
+    </xsl:apply-templates>
+  </xsl:template>
+  
+  <!--
+  <xsl:template name="aoiBox">
+      <h3>Location</h3>
+      <table>
+        <tr>
+          <td><xsl:value-of select="$west"/></td>
+          <td><xsl:value-of select="$south"/></td>
+          <td><xsl:value-of select="$east"/></td>
+          <td><xsl:value-of select="$north"/></td>
+        </tr>
+        <tr>
+          <td>
+            <input name="westCoord" type="text" size="10" class="searchInput" onblur="config.objects.{$widgetId}.setAoi(config.objects.{$widgetId});"/>
+          </td>
+          <td>
+            <input name="southCoord" type="text" size="10" class="searchInput" onblur="config.objects.{$widgetId}.setAoi(config.objects.{$widgetId});"/>
+          </td>
+          <td>
+            <input name="eastCoord" type="text" size="10"  class="searchInput" onblur="config.objects.{$widgetId}.setAoi(config.objects.{$widgetId});"/>
+          </td>
+          <td>
+            <input name="northCoord" type="text" size="10" class="searchInput" onblur="config.objects.{$widgetId}.setAoi(config.objects.{$widgetId});"/>
+          </td>
+        </tr>
+      </table>
+  </xsl:template>
+  -->
+  
+  <xsl:template name="ntsInput">
+    <p>or enter NTS mapsheet index
+      <input name="ntsIndex" type="text" size="6" class="searchInput"/>
+    </p>
+  </xsl:template>
+ 
+  <xsl:template match="text()|@*"/>
+
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/catalog/catalog.css
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/catalog.css	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/catalog.css	(revision 4307)
@@ -0,0 +1,199 @@
+#page {
+  height: 100%;
+  padding-left: 135px;
+  padding-top: 10px;
+}
+
+#body {
+  overflow: none;
+}
+
+h1 {
+  margin:0px;
+}
+
+#body_left {
+  position: relative;
+  float: left;
+  top: 0px;
+  height: 300px;
+}
+#body_right {
+  position: relative;
+  float: left;
+  top: 0px;
+  margin-left: 10px;
+}
+
+#exampleList, #menubar {
+  display: block;
+  position: absolute;
+  left: 0px;
+  top: 31px;
+  bottom: 0px;
+  overflow: auto;
+  width: 130px;
+  font-family: Verdana, geneva, arial, sans-serif;
+  font-size: 8pt;
+  bottom: 60px;
+  }
+  #exampleList a ,#menubar a{
+font-weight: normal;
+  color: white;
+  }
+  
+  #exampleList ul , #menubar ul{
+  background:  #3c78b5;
+  margin: 0px;
+  padding: 0px;
+  display: inline;
+  list-style-type: none;
+  list-style-image: none;
+  list-style-position: outside;
+  font-size: 10px;
+}
+
+#exampleList li, #menubar li {
+#mainButtonBar {
+  position: relative;
+  top: -25px;;
+  margin-left: 1px;
+  height:24px;
+  width:144px;
+
+}
+
+#debug_button {
+  display: none;
+}
+
+#footer {
+  position: absolute;
+  bottom: 20px;
+  float: right;
+  width: 300px;
+  right: 0px;
+}
+
+/* 
+ * Buttons
+ */
+.mbButton:hover {
+  text-decoration: none;
+}
+
+/*
+ * Metadata
+ */
+
+table.metadata {
+  margin-left: 12px;
+}
+
+table.metadata td {
+  vertical-align: top;
+}
+
+/*
+ * LayerControl
+ */
+
+.nameLayerService {
+  display: block;
+  float: left;
+  position: relative;
+  width: 60px;
+}
+
+.nameLayerHeader {
+  display: block;
+  width: 250px;;
+  text-align: left;
+  position:absolute;
+  top:10px;
+  left:180px;
+}
+
+
+.inputLayerHeader
+{
+    display:inline;
+    position:absolute;
+}
+
+#layerControl {
+  position: absolute;
+  left: 420px;
+  top: 0px;
+}
+
+.layerControl {
+  width: 460px;
+  overflow: auto;
+  height: 285px;
+}
+
+.layerLoading {
+  display: block;
+  position: absolute;
+  right: 0px;
+  top: 0px;
+  padding: 7px;
+  height: 17px;
+  width: 17px;
+}
+
+.loadingIndicator {
+  background-color: transparent;
+}
+
+#selectLayer {
+  position: absolute;
+  left: 420px;
+  top: 375px;
+}
+
+#workspace h3  {
+  overflow: none;
+  padding-left: 15px;
+}
+
+/*
+ * MaxFeatures
+ */
+
+.maxFeaturesText {
+  position: relative;
+  right: 0px;
+  display: block;
+  margin-left: 3px;
+  bottom: 20px;
+  font-size: 9px;
+}
+
+/*
+ * Workspace
+ */
+
+/* fix horizontal scrollbar in layer control */
+#workspace h2,h3
+{
+  padding: 0px;
+}
+
+.searchInput {
+  width: 95px;
+}
+
+
+#cursorTrack {
+  position: relative;
+  top:-40px;
+  left: 265px;
+}
+
+/* Don't show AOI box */
+#locations {
+  display: none;
+}
+
Index: lib/spatial/mapbuilder/examples/catalog/LayerMetadata.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/LayerMetadata.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/LayerMetadata.xsl	(revision 4307)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:wmc="http://www.opengis.net/context" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" >
+<!--
+Description: Output the metadata of a layer 
+Author:      Roald de Wit rdewit@lisasoft.com
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+LayerMetadata.xsl,v 1.5 2004/06/25 17:59:38 rdewit Exp
+
+-->
+  <xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
+  
+  <!-- The common params set for all widgets -->
+  <xsl:param name="lang">en</xsl:param>
+  <xsl:param name="widgetNode"/>
+  
+  <!-- Text params for this widget -->
+  <xsl:param name="abstract"/>
+  <xsl:param name="moreInfo"/>
+  
+  <!-- Node with layer information -->
+  <xsl:param name="layerNode"/>
+  
+  <xsl:template match="/">
+  <div>
+    <xsl:apply-templates select="$layerNode"/>
+  </div>
+  </xsl:template>
+
+  <xsl:template match="wmc:Layer|wmc:FeatureType">
+    <table class="metadata">
+    <xsl:if test="wmc:Server/@service">
+    <tr><td>Service:</td><td><xsl:value-of select="wmc:Server/@service"/></td></tr>
+    </xsl:if>
+    <xsl:if test="wmc:Name/text()">
+    <tr><td>Name:</td><td><xsl:value-of select="wmc:Name"/></td></tr>
+    </xsl:if>
+    <xsl:if test="wmc:Title/text()">
+    <tr><td>Title:</td><td><xsl:value-of select="wmc:Title"/></td></tr>
+    </xsl:if>
+    <xsl:if test="wmc:Abstract/text()">
+    <tr><td>Abstract:</td><td><xsl:value-of select="wmc:Abstract"/></td></tr>
+    </xsl:if>
+    <xsl:if test=".//wmc:OnlineResource/@xlink:href">
+    <tr><td>Resource:</td><td><xsl:value-of select=".//wmc:OnlineResource/@xlink:href"/></td></tr>
+    </xsl:if>
+    <xsl:if test="@id">
+    <tr><td>Id:</td><td><xsl:value-of select="@id"/></td></tr>
+    </xsl:if>
+    </table>
+  </xsl:template>
+  <xsl:template match="text()|@*"/>
+  
+</xsl:stylesheet>
+
Index: lib/spatial/mapbuilder/examples/catalog/LayerControl.js
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/LayerControl.js	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/LayerControl.js	(revision 4307)
@@ -0,0 +1,158 @@
+/*
+License: GPL as per: http://www.gnu.org/copyleft/gpl.html
+$Id: LayerControl.js 3607 2007-11-16 05:06:51Z rdewit $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Widget to allow control of layer odering, visibility, deletion
+ * @constructor
+ * @base WidgetBaseXSL
+ * @author adair
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function LayerControl(widgetNode, model) {
+  WidgetBaseXSL.apply(this,new Array(widgetNode, model));
+
+  /**
+   * Override of widget prepaint to set some stylesheet parameters including 
+   * featureName (for OWS Context) and hidden attribute.
+   * @param objRef Pointer to this object.
+   */
+  this.prePaint = function(objRef) {
+    if (objRef.model.featureName) {
+    
+      objRef.stylesheet.setParameter("featureName", objRef.model.featureName );
+      objRef.stylesheet.setParameter("hidden", objRef.model.getHidden(objRef.model.featureName).toString() );
+    }
+    objRef.stylesheet.setParameter("layerMetadata", objRef.model.getParam("layerMetadata"));
+  }
+
+  /**
+   * Hide loading spinner when layer stops loading
+   * @param ojbRef Pointer the calling object
+   * @param layerId Id of the layer
+   */
+  this.loadLayerStart = function(objRef, layerId) {
+    //console.info('LayerLoading Show: ' + layerId);
+    layerNode = objRef.model.getLayer(layerId);
+    if (layerNode) {
+      layerNode.setAttribute("isLoading", true);
+      objRef.refresh(objRef, layerId);
+    }
+  }
+  this.model.addListener("loadLayerStart",this.loadLayerStart, this);
+  
+  /**
+   * Show loading spinner when layer starts loading
+   * @param ojbRef Pointer the calling object
+   * @param layerId Id of the layer
+   */
+  this.loadLayerEnd = function(objRef, layerId) {
+    //console.info('LayerLoading Hide: ' + layerId);
+    layerNode = objRef.model.getLayer(layerId);
+    if (layerNode) {
+      layerNode.removeAttribute("isLoading");
+      objRef.refresh(objRef, layerId);
+    }
+  }
+  this.model.addListener("loadLayerEnd",this.loadLayerEnd, this);
+
+
+  /**
+   * Displays a layer in a preview pane when mouse is over the table row
+   * @param layerId  the name of the layer to highlight
+   */
+  this.highlightLayer = function(layerId) {
+    if (this.model && this.model.map) {
+      var layer = this.model.map.mbMapPane.oLlayers[layerId].div;
+      var previewImage = document.getElementById("previewImage");
+      try {
+        if (previewImage && layer) previewImage.src = layer.firstChild.firstChild.src;
+      } catch(e) {}
+    }
+  }
+
+  /**
+   * Listener method to paint this widget
+   * @param layerName  the name of the layer to highlight
+   */
+  this.refresh = function(objRef, layerName) {
+    objRef.paint(objRef, objRef.id);
+  }
+  this.model.addListener("deleteLayer",this.refresh, this);
+  this.model.addListener("moveLayerUp",this.refresh, this);
+  this.model.addListener("moveLayerDown",this.refresh, this);
+  if (this.autoRefresh) this.model.addListener("addLayer",this.refresh, this);
+  
+  this.foldUnfoldGroup = function(groupName,id) {
+    // context config stuff to maintain group folding over refresh
+    var xpathExpression = "//wmc:General/wmc:Extension/wmc:GroupList/wmc:Group[@name='" + groupName + "']";
+    //var thisGroupsLayerNodes = model.doc.selectNodes(xpathExpression);
+    var thisGroupsNode = model.doc.selectSingleNode(xpathExpression);
+    var thisGroupsFoldedState = thisGroupsNode.getAttribute('folded');
+    var e =document.getElementById(id);
+    if(thisGroupsFoldedState == "1") {
+		thisGroupsNode.setAttribute("folded", "0");
+		e.value="-";
+		
+	} else {
+		thisGroupsNode.setAttribute("folded", "1");
+		e.value="+";
+	}
+	
+  }
+
+  /**
+   * Change image source from imageA to imageB
+   * @param id  id of image tag where we want to change the source
+   * @param imageA   url of imageA
+   * @param imageB   url of imageB
+   */
+  this.ChangeImage= function (id, imageA, imageB) {
+     var indexA=document.getElementById(id).src.indexOf(imageA);
+     var indexB=document.getElementById(id).src.indexOf(imageB);
+     if (document.getElementById(id) != null) {
+        if (indexA != -1) { /* HACK for IE. */
+            document.getElementById(id).src=document.getElementById(id).src.substring(0,indexA)+imageB;
+        } else {
+           document.getElementById(id).src=document.getElementById(id).src.substring(0,indexB)+imageA;
+        }
+     }
+     return;
+}
+
+/**
+   * Display or fold  the layer's legend
+   * @param id  id of legend div
+   */
+	this.switchVisibilityById = function (id) {
+	e =document.getElementById(id);
+	
+		if (e.style.display=="none") {
+			e.style.display = "block";
+		} else {
+			e.style.display = "none";
+		}
+		
+	
+     }
+
+  /**
+   * Copy a layer from this model's context to the targetModel's context.
+   * @param layerId The id of the layer selected.
+   */
+  this.copyToTargetModel = function(layerId) {
+
+    // Fetch layerNode from model and clone it 
+    var layerNode=this.model.getLayer(layerId).cloneNode(true);
+
+    //Add layerNode to the target model
+    this.targetModel.setParam("addLayer",layerNode);
+  }
+
+}
+
Index: lib/spatial/mapbuilder/examples/catalog/locationSearch.xml
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/locationSearch.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/locationSearch.xml	(revision 4307)
@@ -0,0 +1,20 @@
+<wfs:GetFeature service="WFS" version="1.0.0"
+  outputFormat="GML2"
+  xmlns:gb="http://www.geobase.ca/interop-pilot-2007"
+  xmlns:wfs="http://www.opengis.net/wfs"
+  xmlns:ogc="http://www.opengis.net/ogc"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://www.opengis.net/wfs
+                      http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd">
+  <wfs:Query typeName="gb:PlaceName">
+    <ogc:PropertyName>gb:regionName</ogc:PropertyName> 
+    <ogc:PropertyName>gb:geographicalName</ogc:PropertyName> 
+    <ogc:PropertyName>gb:pointLocation</ogc:PropertyName> 
+    <ogc:Filter> 
+      <ogc:PropertyIsLike wildCard='*' singleChar='.' escape='!'> 
+        <ogc:PropertyName>gb:geographicalName</ogc:PropertyName> 
+        <ogc:Literal></ogc:Literal> 
+      </ogc:PropertyIsLike> 
+     </ogc:Filter>
+    </wfs:Query>
+</wfs:GetFeature>
Index: lib/spatial/mapbuilder/examples/catalog/wrs_Query.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/wrs_Query.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/wrs_Query.xsl	(revision 4307)
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+Description: Generates a EBRIM Catalog Query from Filter Paramaters provided
+Author:      rdewit
+Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
+
+$Id:$
+$Name:  $
+-->
+
+<xsl:stylesheet version="1.0" 
+    xmlns:wmc="http://www.opengis.net/context" 
+    xmlns:wms="http://www.opengis.net/wms"
+    xmlns:ogc="http://www.opengis.net/ogc"
+    xmlns:ows="http://www.opengis.net/ows"
+    xmlns:csw="http://www.opengis.net/cat/csw"
+    xmlns:gml="http://www.opengis.net/gml"
+    xmlns:rim="urn:oasis:names:tc:ebxml-regrep:rim:xsd:2.5"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:wfs="http://www.opengis.net/wfs" 
+    xmlns:sld="http://www.opengis.net/sld"
+    xmlns:owscat="http://www.ec.gc.ca/owscat"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+    xmlns:xlink="http://www.w3.org/1999/xlink">
+
+  <xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
+  <xsl:strip-space elements="*"/>
+
+
+  <!-- Match Root -->
+  <xsl:template match="/">
+
+  <GetRecords 
+    xmlns:csw="http://www.opengis.net/csw" 
+    xmlns:ogc="http://www.opengis.net/ogc" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xmlns:gml="http://www.opengis.net/gml" 
+    csw:schemaLocation="http://www.opengis.net/csw http://schemas.cubewerx.com/csw/2.0.0/CSW-discovery.xsd" 
+    ogc:schemaLocation="http://www.opengis.net/ogc http://schemas.cubewerx.com/schemas/filter/1.0.0/filter.xsd" 
+    service="WRS" 
+    version="2.0.0" 
+    outputFormat="text/xml" 
+    startPosition="1" 
+    maxRecords="1000" 
+    resultType="RESULTS">
+
+    <Query typeNames="ExtrinsicObject Association=ServiceAssociation Service">
+      <ElementName>/ExtrinsicObject</ElementName>
+      <ElementName>/Service</ElementName>
+
+      <!-- Check if there is a (non-empty) filter node -->
+      <!-- If so, loop through children and look for templates that match them -->
+      <xsl:if test="filter/*">
+      <Constraint>
+        <ogc:Filter>
+          <ogc:And>
+          <xsl:for-each select="filter/*">
+            <xsl:if test="node()">
+            <xsl:apply-templates select="."/>
+            </xsl:if>
+          </xsl:for-each>
+          </ogc:And>
+        </ogc:Filter>
+      </Constraint>
+      </xsl:if>
+
+    </Query>
+  </GetRecords>
+
+  </xsl:template>
+
+
+  <xsl:template match="serviceassociation">
+    <!-- Link the layer (coming from the extrinsic object), to the service object via the "Serves" association -->
+    <!-- Can be things like: OperatesOn, Serves, etc -->
+    <ogc:And>
+      <ogc:PropertyIsEqualTo>
+        <ogc:PropertyName>/ExtrinsicObject/@ID</ogc:PropertyName>
+        <ogc:PropertyName>/ServiceAssociation/@targetObject</ogc:PropertyName>
+      </ogc:PropertyIsEqualTo>
+      <ogc:PropertyIsLike>
+        <ogc:PropertyName>/ServiceAssociation/@associationType</ogc:PropertyName>
+        <ogc:Literal><xsl:value-of select="."/></ogc:Literal>
+      </ogc:PropertyIsLike>
+      <ogc:PropertyIsEqualTo>
+        <ogc:PropertyName>/Service/@ID</ogc:PropertyName>
+        <ogc:PropertyName>/ServiceAssociation/@sourceObject</ogc:PropertyName>
+      </ogc:PropertyIsEqualTo>
+    </ogc:And>
+  </xsl:template>
+
+  <xsl:template match="featuretype">
+		<!-- The object type has to be either a feature type WFS_layer or WMS_Layer -->
+    <ogc:Or>
+      <ogc:PropertyIsLike>
+        <ogc:PropertyName>/ExtrinsicObject/@objectType</ogc:PropertyName>
+        <ogc:Literal>FeatureType</ogc:Literal>
+      </ogc:PropertyIsLike>
+      <ogc:PropertyIsLike>
+        <ogc:PropertyName>/ExtrinsicObject/@objectType</ogc:PropertyName>
+        <ogc:Literal><xsl:value-of select="."/></ogc:Literal>
+      </ogc:PropertyIsLike>
+    </ogc:Or>
+  </xsl:template>
+
+  <xsl:template match="servicetype">
+    <!-- Can be things like: WFS, WMS, etc -->
+    <ogc:And>
+      <ogc:PropertyIsEqualTo>
+        <ogc:PropertyName>/Service/Slot/@name</ogc:PropertyName>
+        <ogc:Literal>Service Type</ogc:Literal>
+      </ogc:PropertyIsEqualTo>
+      <ogc:PropertyIsEqualTo>
+        <ogc:PropertyName>/Service/Slot/ValueList/Value</ogc:PropertyName>
+        <ogc:Literal><xsl:value-of select="."/></ogc:Literal>
+      </ogc:PropertyIsEqualTo>
+    </ogc:And>
+  </xsl:template>
+
+  <xsl:template match="keywords">
+    <xsl:call-template name="tokenize">
+      <xsl:with-param name="inputString" select="concat(normalize-space(.),' ')"/>
+      <xsl:with-param name="resultElement" select="'keyword'"/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <xsl:template name="keyword">
+    <xsl:param name="keyword"/>
+      <ogc:Or>
+        <ogc:PropertyIsLike>
+          <ogc:PropertyName>/ExtrinsicObject/Name/LocalizedString/@value</ogc:PropertyName>
+          <ogc:Literal>%<xsl:value-of select="$keyword"/>%</ogc:Literal>
+        </ogc:PropertyIsLike>
+        <ogc:PropertyIsLike>
+          <ogc:PropertyName>/ExtrinsicObject/Description/LocalizedString/@value</ogc:PropertyName>
+          <ogc:Literal>%<xsl:value-of select="$keyword"/>%</ogc:Literal>
+        </ogc:PropertyIsLike>
+        <ogc:And>
+          <ogc:PropertyIsEqualTo>
+            <ogc:PropertyName>/ExtrinsicObject/Slot/@name</ogc:PropertyName>
+            <ogc:Literal>Keyword</ogc:Literal>
+          </ogc:PropertyIsEqualTo>
+          <ogc:PropertyIsLike>
+            <ogc:PropertyName>/ExtrinsicObject/Slot/ValueList/Value</ogc:PropertyName>
+            <ogc:Literal>%<xsl:value-of select="$keyword"/>%</ogc:Literal>
+          </ogc:PropertyIsLike>
+        </ogc:And>
+      </ogc:Or>
+  </xsl:template>
+
+  <!-- TODO: make this generic -->
+  <xsl:template match="location">
+    <ogc:BBOX>
+      <ogc:PropertyName>/ExtrinsicObject/Slot[@name='FootPrint']/ValueList/Value[1]</ogc:PropertyName>
+      <gml:Box srsName="EPSG:4326">
+        <gml:coordinates><xsl:value-of select="."/></gml:coordinates>
+      </gml:Box>
+    </ogc:BBOX>
+  </xsl:template>
+
+
+  <!-- Code to tokenize a string into nodes --> 
+  <!-- This can be used to convert a string with keywords to an XML representation -->
+  <!-- It fails with the last word if there is no whitespace after that word :-S -->
+  <!-- http://www.biglist.com/lists/xsl-list/archives/200603/msg00083.html -->
+  <xsl:template name="tokenize">
+    <xsl:param name="inputString"/>
+    <xsl:param name="separator" select="' '"/>
+    <xsl:param name="resultElement" select="'item'"/>
+    <xsl:variable
+      name="token"
+      select="substring-before($inputString, $separator)"
+    />
+    <xsl:variable
+      name="nextToken"
+      select="substring-after($inputString, $separator)"
+    />
+
+    <xsl:if test="$token">
+      <xsl:call-template name="keyword">
+        <xsl:with-param name="keyword" select="$token"/>
+      </xsl:call-template>
+    </xsl:if>
+
+    <xsl:if test="$nextToken">
+      <xsl:call-template name="tokenize">
+        <xsl:with-param
+          name="inputString"
+          select="$nextToken"/>
+        <xsl:with-param
+          name="separator"
+          select="$separator"/>
+        <xsl:with-param
+          name="resultElement"
+          select="$resultElement"/>
+      </xsl:call-template>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template match="text()|@*"/>
+
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/catalog/Save.js
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/Save.js	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/Save.js	(revision 4307)
@@ -0,0 +1,70 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Save.js 3052 2007-08-01 21:25:21Z ahocevar $
+*/
+
+// Ensure this object's dependancies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
+
+/**
+ * When this button is pressed the targetModel is posted to the serializeUrl.
+ * Also defines a listener function for the "modelSaved" event which opens 
+ * the serialized document in a new browser window but only
+ * if the a popupWindowName property is defined for the button in config.
+ *
+ * @constructor
+ * @base ButtonBase
+ * @param widgetNode  The widget node from the Config XML file.
+ * @param model  The model for this widget
+ */
+function Save(widgetNode, model) {
+  ButtonBase.apply(this, new Array(widgetNode, model));
+
+  /**
+   * Add event listener to the modelSaved event
+   * @param objRef Pointer to this widget
+   */
+  this.init = function(objRef) {
+    objRef.targetModel.addListener("modelSaved", objRef.popupContext, objRef);
+  }
+  this.model.addListener("loadModel", this.init, this );
+
+ /**
+   * Save model control.
+   * @param objRef reference to this object.
+   * @return {OpenLayers.Control} instance of the OL control.
+   */
+  this.createControl = function(objRef) {
+    var Control = OpenLayers.Class( OpenLayers.Control, {
+    
+      type: OpenLayers.Control.TYPE_BUTTON,
+      
+      trigger: function () {
+        objRef.targetModel.saveModel(objRef.targetModel);
+       },
+       CLASS_NAME: 'mbControl.Save'
+  });
+  return Control;
+  }
+
+ /**
+   * Open popup window with context
+   * @param objRef reference to this object.
+   * @return none 
+   */
+  this.popupContext = function(objRef) {
+    url = objRef.targetModel.getParam("modelSaved");
+    if (url) {
+      var popup=window.open(url);
+      if (!popup) {
+        alert('Please allow popups in order to save the context');
+      }
+    } else {
+      alert('Model could not be saved. Our apologies.');
+    }
+  }
+
+
+}
+
+
Index: lib/spatial/mapbuilder/examples/shipTracks/data/features.sld
===================================================================
--- lib/spatial/mapbuilder/examples/shipTracks/data/features.sld	(nonexistent)
+++ lib/spatial/mapbuilder/examples/shipTracks/data/features.sld	(revision 4307)
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="utf-8" standalone="no" ?>
+<StyledLayerDescriptor version="1.0.0"
+  xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd"
+  xmlns="http://www.opengis.net/sld"
+  xmlns:ogc="http://www.opengis.net/ogc"
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <!--
+    $Id: features.sld 3956 2008-03-31 13:28:30Z ahocevar $
+  -->
+  <NamedLayer>
+    <Name>testGmlRenderer</Name>
+    <UserStyle>
+      <Name>default</Name>
+      <IsDefault>true</IsDefault>
+      <FeatureTypeStyle>
+        <Rule>
+          <PointSymbolizer>
+            <Graphic>
+              <ExternalGraphic>
+                <OnlineResource xlink:href="images/frog.gif" />
+                <Format>image/gif</Format>
+              </ExternalGraphic>
+              <Mark />
+              <Opacity>0.8</Opacity>
+              <Size>10</Size>
+              <Rotation>45</Rotation>
+            </Graphic>
+          </PointSymbolizer>
+          <LineSymbolizer>
+            <Stroke>
+              <CssParameter name="stroke">#FF0000</CssParameter>
+              <CssParameter name="stroke-opacity">1</CssParameter>
+              <CssParameter name="stroke-width">3</CssParameter>
+            </Stroke>
+          </LineSymbolizer>
+          <PolygonSymbolizer>
+            <Fill>
+              <CssParameter name="fill">blue</CssParameter>
+              <CssParameter name="fill-opacity">0.6</CssParameter>
+            </Fill>
+            <Stroke>
+              <CssParameter name="stroke">blue</CssParameter>
+              <CssParameter name="stroke-opacity">1</CssParameter>
+              <CssParameter name="stroke-width">1</CssParameter>
+            </Stroke>
+          </PolygonSymbolizer>
+        </Rule>
+      </FeatureTypeStyle>
+    </UserStyle>
+    <UserStyle>
+      <Name>selected</Name>
+      <FeatureTypeStyle>
+        <Rule>
+          <PointSymbolizer>
+            <Graphic>
+              <ExternalGraphic>
+                <OnlineResource xlink:href="images/frog.gif" />
+                <Format>image/gif</Format>
+              </ExternalGraphic>
+              <Opacity>1.0</Opacity>
+              <Size>10</Size>
+              <Rotation>0</Rotation>
+            </Graphic>
+          </PointSymbolizer>
+          <LineSymbolizer>
+            <Stroke>
+              <CssParameter name="stroke">yellow</CssParameter>
+              <CssParameter name="stroke-opacity">1</CssParameter>
+              <CssParameter name="stroke-width">3</CssParameter>
+            </Stroke>
+          </LineSymbolizer>
+          <PolygonSymbolizer>
+            <Fill>
+              <CssParameter name="fill">#FFFF00</CssParameter>
+              <CssParameter name="fill-opacity">0.9</CssParameter>
+            </Fill>
+            <Stroke>
+              <CssParameter name="stroke">#FF0066</CssParameter>
+              <CssParameter name="stroke-opacity">1</CssParameter>
+              <CssParameter name="stroke-width">2</CssParameter>
+            </Stroke>
+          </PolygonSymbolizer>
+        </Rule>
+      </FeatureTypeStyle>
+    </UserStyle>
+  </NamedLayer>
+</StyledLayerDescriptor>
Index: lib/spatial/mapbuilder/examples/catalog/LayerControl.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/LayerControl.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/LayerControl.xsl	(revision 4307)
@@ -0,0 +1,350 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xsl:stylesheet 
+    xmlns:wmc="http://www.opengis.net/context" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+    xmlns:gml='http://www.opengis.net/gml' 
+    xmlns:wfs='http://www.opengis.net/wfs'
+    xmlns:xlink='http://www.w3.org/1999/xlink'
+    version="1.0">
+    
+    
+
+    
+    
+<!--
+Description: provides a list of layers and controls for them (delete/visibility/move up/move down/show metadata
+Author:      Mike Adair
+Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html 
+
+$Id: LayerControl.xsl 2677 2007-04-06 08:37:01Z oterral $
+$Name:  $
+-->
+  <xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
+  
+  <!-- The common params set for all widgets -->
+  <xsl:param name="lang"/>
+  <xsl:param name="modelId"/>
+  <xsl:param name="widgetId"/>
+  <xsl:param name="skinDir"/>
+  <xsl:param name="opacity"/>
+
+  <!-- Text params for this widget -->
+  <xsl:param name="zoomImage"/>
+  <xsl:param name="layerIndexTip"/>
+  <xsl:param name="toggleVisTip"/>
+  <xsl:param name="moveLayerUpTip"/>
+  <xsl:param name="moveLayerDownTip"/>
+  <xsl:param name="deleteLayerTip"/>
+  <xsl:param name="legendTip"/>
+  <xsl:param name="nameLayerTip"/>
+  <xsl:param name="opacityTip"/>
+  <xsl:param name="title"/>
+  <xsl:param name="layerMetadata"/>
+  <xsl:param name="moveUpImage">/images/LayerMoveUpDisable.png</xsl:param>
+  <xsl:param name="moveDownImage">/images/LayerMoveDownDisable.png</xsl:param>
+  <xsl:param name="deleteImage">/images/LayerRemoveDisable.png</xsl:param>
+  <xsl:param name="legendImageEnable">/images/LegendEnable.png</xsl:param>
+  <xsl:param name="legendImageDisable">/images/LegendDisable.png</xsl:param>
+  <xsl:param name="layerAddImage">/images/LayerAddDisable.png</xsl:param>
+  <xsl:param name="layerMetadataImageDisable">/images/QueryDisable.png</xsl:param>
+  <xsl:param name="layerMetadataImageEnable">/images/QueryEnable.png</xsl:param>
+  <xsl:param name="loadingImage">/images/LoadingSpinner.gif</xsl:param>
+
+  <!-- 'mode' determines the mode of the layer control. Can be one of the following:
+         * default:     standard layer control
+         * layerselect: select layer to copy/move to other context
+  -->
+  <xsl:param name="mode">default</xsl:param>
+
+<!-- The name of the javascript context object to call -->
+  <xsl:param name="featureName"/>
+  <xsl:param name="hidden"/>
+  <xsl:param name="context">config.objects.<xsl:value-of select="$modelId"/></xsl:param>
+  <xsl:variable name="numLayers" select="count(//wmc:Layer | //wmc:FeatureType)"/>
+  
+<!-- Main html -->
+  <xsl:template match="/wmc:ViewContext">
+    <div>
+      <div class="layerControl">
+        <xsl:if test="wmc:General/wmc:Extension"> 
+		      <xsl:apply-templates select="wmc:General/wmc:Extension/wmc:GroupList/wmc:Group">
+				<xsl:sort select="position()" order="ascending" data-type="number"/>
+			  </xsl:apply-templates>
+		</xsl:if>
+        <xsl:if test="not(wmc:General/wmc:Extension)"> 					 
+			  <xsl:apply-templates select="wmc:LayerList/wmc:Layer">
+					  <xsl:sort select="position()" order="descending" data-type="number"/>
+			  </xsl:apply-templates>
+		</xsl:if> 
+      </div>
+    </div>
+  </xsl:template>
+  
+  <!-- Main html -->
+  <xsl:template match="/wmc:OWSContext">
+      <div class="layerControl">
+        <xsl:if test="$title">
+          <h3><xsl:value-of select="$title"/></h3>
+        </xsl:if>
+         <xsl:if test="wmc:General/wmc:Extension"> 
+            <xsl:apply-templates select="wmc:General/wmc:Extension/wmc:GroupList/wmc:Group">
+          <xsl:sort select="position()" order="ascending" data-type="number"/>
+          </xsl:apply-templates>
+         </xsl:if>
+         <xsl:if test="not(wmc:General/wmc:Extension)"> 
+          <xsl:apply-templates select="wmc:ResourceList/wmc:Layer | wmc:ResourceList/wmc:FeatureType">
+          <xsl:sort select="position()" order="descending" data-type="number"/>
+          </xsl:apply-templates>
+          </xsl:if> 	
+      </div>
+  </xsl:template>
+  
+  <!---->
+  
+
+  
+ <xsl:template match="wmc:General/wmc:Extension/wmc:GroupList/wmc:Group">
+		<xsl:variable name="GroupName" select="./@name"/>
+		<xsl:variable name="GroupFold" select="./@folded"/>
+		<xsl:variable name="numberOfLayerByGroup" select="count(//wmc:Layer[wmc:Extension/wmc:Group/@name=$GroupName] | //wmc:FeatureType[wmc:Extension/wmc:Group/@name=$GroupName])"/>
+		<xsl:variable name="numberOfLayerByGroupOther" >
+            <xsl:value-of select="  $numLayers - $numberOfLayerByGroup "/>
+        </xsl:variable>
+		<xsl:if test=" ( $numberOfLayerByGroup != 0) or ( ($numberOfLayerByGroupOther != 0 ) and ( $GroupName = 'Other') ) "> 
+			<div id="{$GroupName}_Header" style="cursor:pointer" class="GroupHeader" title="click to (un)fold" onmouseover="style.background='pink';" onMouseOut="style.background='#556655';"
+			onclick="config.objects.{$widgetId}.switchVisibilityById('{$GroupName}');config.objects.{$widgetId}.foldUnfoldGroup('{$GroupName}','{$GroupName}_fold');">
+				<!-- display "+" or "-" -->
+				<input type="button" class="GroupHeaderFold" id="{$GroupName}_fold" style="width:35px;">
+				<xsl:attribute name="value">
+				<xsl:choose>
+						<xsl:when test="@folded=1">+ </xsl:when>
+						<xsl:otherwise>-</xsl:otherwise>
+					</xsl:choose> 
+				</xsl:attribute>
+				</input>
+				
+				<div id="{$GroupName}_Title" class="GroupHeaderTitle">
+					<xsl:value-of select="$GroupName"/>
+				</div>
+			</div><!-- end of div GroupHeader -->
+			
+			<div id="{$GroupName}" class="GroupLayers" >
+			    <xsl:attribute name="style">
+					<xsl:choose>
+						<xsl:when test="@folded=1">display:none </xsl:when>
+						<xsl:otherwise>display:block</xsl:otherwise>
+					</xsl:choose> 
+				</xsl:attribute>
+				<xsl:if test="//wmc:ResourceList"> 
+					<xsl:apply-templates select="//wmc:ResourceList/wmc:Layer[wmc:Extension/wmc:Group/@name=$GroupName] | //wmc:ResourceList/wmc:FeatureType[wmc:Extension/wmc:Group/@name=$GroupName]" >
+						<xsl:sort select="position()" order="descending" data-type="number"/>
+					</xsl:apply-templates>
+				</xsl:if>	
+				<xsl:if test="//wmc:LayerList"> 
+					<xsl:apply-templates select="//wmc:LayerList/wmc:Layer[wmc:Extension/wmc:Group/@name=$GroupName]">
+						<xsl:sort select="position()" order="descending" data-type="number"/>
+					</xsl:apply-templates>
+				</xsl:if>
+                <xsl:if test="$GroupName='Other' ">
+					<xsl:if test="//wmc:ResourceList"> 
+					    <xsl:apply-templates select="//wmc:ResourceList/wmc:Layer[not(wmc:Extension/wmc:Group)] | //wmc:ResourceList/wmc:FeatureType[not(wmc:Extension/wmc:Group)]" >
+                            <xsl:sort select="position()" order="descending" data-type="number"/>
+					    </xsl:apply-templates>
+                    </xsl:if>	
+                    <xsl:if test="//wmc:LayerList"> 
+					    <xsl:apply-templates select="//wmc:LayerList/wmc:Layer[not(wmc:Extension/wmc:Group)]">
+                            <xsl:sort select="position()" order="descending" data-type="number"/>
+					    </xsl:apply-templates>
+				    </xsl:if>	
+				</xsl:if>
+			</div><!-- end of div {$GroupName} -->
+		</xsl:if>	
+</xsl:template>
+	
+	
+	
+	
+	
+<xsl:template match="wmc:Layer|wmc:FeatureType">
+	<xsl:variable name="GroupName" select="wmc:Extension/wmc:Group/@name"/>
+	<xsl:variable name="layerName" select="wmc:Name"/>
+	<xsl:variable name="LayerTitle" select="wmc:Title"/>
+	<xsl:variable name="layerTitle">
+	    <xsl:choose>
+		    <xsl:when test="wmc:Title/@xml:lang">
+			    <xsl:value-of select="wmc:Title[@xml:lang=$lang]"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="wmc:Title"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+  <!-- Use unique layer id. Fallback to layer name if non-existent -->
+	<xsl:variable name="layerId">
+    <xsl:choose>
+      <xsl:when test="@id">
+        <xsl:value-of select="@id"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$layerName"/>
+      </xsl:otherwise>
+    </xsl:choose>
+	</xsl:variable>
+
+  <xsl:variable name="pos" select="position()" />
+
+    <!-- variable -->
+    <xsl:variable name="rowClass">altRow_<xsl:value-of select="position() mod 2"/></xsl:variable>
+     <!-- end of variable -->
+     
+     
+     <div id="{$widgetId}_{$layerId}_Row" class="{$rowClass}" onmouseover="config.objects.{$widgetId}.highlightLayer('{$layerId}')">
+					<!-- div necessary with IE 6 because if not, float makes bugs when display or fold legend -->
+				<div style="position:relative;">
+					<div id="{$widgetId}_{$layerId}_Header " class="LayerHeader">
+			
+						  <!-- layer's index --> 
+						  <div class="indexLayerHeader" title="{$layerIndexTip}">
+								<xsl:value-of select="$numLayers - count(preceding::wmc:Layer) - count(preceding::wmc:FeatureType)"/>
+						  </div>
+						  
+						  <div class="inputLayerHeader">
+            <xsl:choose>
+              <xsl:when test="$mode = 'layerselect'">
+                <!-- add layer -->
+                <a
+                  href="javascript:config.objects.{$widgetId}.copyToTargetModel('{$layerId}')"
+                  class="mbButton"><img title="add this Layer" src="{$skinDir}{$layerAddImage}" />
+                </a>
+              </xsl:when>
+              <xsl:otherwise>
+								<!-- checkbox -->
+								  <div class="checkboxLayerHeader">
+									  <input type="checkbox" id="vis_{$widgetId}_{$layerId}" title="{$toggleVisTip}" onclick="{$context}.setHidden('{$layerId}',!document.getElementById('vis_{$widgetId}_{$layerId}').checked)">
+									      <xsl:if test="@hidden='0' or @hidden='false'"><xsl:attribute name="checked"/></xsl:if>
+									  </input>
+								  </div>
+								  <!-- movelayerup--> 
+								  <xsl:if test="($numLayers - count(preceding::wmc:Layer) - count(preceding::wmc:FeatureType))!=1">  
+										  <div class="buttonLayerHeader">
+										      <a href="javascript:{$context}.setParam('moveLayerUp','{$layerId}')" class="mbButton">
+											      <img title="{$moveLayerUpTip}" src="{$skinDir}{$moveUpImage}" />
+										      </a>
+										  </div>
+								   </xsl:if>
+								   <!-- movelayerdonw -->
+								   <xsl:if test="($numLayers - count(preceding::wmc:Layer) - count(preceding::wmc:FeatureType)) != $numLayers">
+										  <div class="buttonLayerHeader">
+										      <a href="javascript:{$context}.setParam('moveLayerDown','{$layerId}')" class="mbButton">
+											      <img title="{$moveLayerDownTip}" src="{$skinDir}{$moveDownImage}" />
+										      </a>
+										  </div>
+								    </xsl:if>
+								   <!-- deletelayer -->
+								  <div class="buttonLayerHeader">
+								      <a href="javascript:{$context}.setParam('deleteLayer','{$layerId}')" class="mbButton">
+										<img title="{$deleteLayerTip}" src="{$skinDir}{$deleteImage}" />
+									   </a>
+									   </div>
+									 <!-- displayLegend -->   
+								   <xsl:if test="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL"> 
+									   <div class="buttonLayerHeader"  > 
+											<a href="#" 
+											onclick="config.objects.{$widgetId}.switchVisibilityById('{$layerId}_legend');config.objects.{$widgetId}.ChangeImage('image_{$layerId}','{$legendImageEnable}','{$legendImageDisable}');"
+											 class="mbButton">
+											 	
+												    <img id="image_{$layerId}" title="{$legendTip}" >
+														<xsl:attribute name="SRC">
+															<xsl:choose>
+																<xsl:when test="@hidden='1' or @hidden='true'">
+																	<xsl:value-of select="$skinDir"/>
+																	<xsl:value-of select="$legendImageDisable"/>
+																</xsl:when>
+																<xsl:otherwise>
+																	<xsl:value-of select="$skinDir"/>
+																	<xsl:value-of select="$legendImageEnable"/>
+																</xsl:otherwise>
+															</xsl:choose> 
+														</xsl:attribute>
+													</img>
+										   </a>
+									   </div> 
+									 </xsl:if>
+              </xsl:otherwise>
+            </xsl:choose> 
+            <xsl:if test="$layerMetadata">
+                <!-- show layer metadata-->
+                <a
+                  href="javascript:config.objects.{$modelId}.callListeners('layerMetadata', {{layerId: '{$layerId}', domNodeId: '{$widgetId}_{$layerId}_Metadata'}});config.objects.{$widgetId}.ChangeImage('image_{$layerId}','{$layerMetadataImageEnable}','{$layerMetadataImageDisable}');"
+                  class="mbButton"><img id="image_{$layerId}" title="show layer's metadata" src="{$skinDir}{$layerMetadataImageDisable}" />
+                </a>
+            </xsl:if>
+							</div> <!-- end inputLayerHeader --> 	 
+						    <!-- name of layer --> 
+						    <div class="nameLayerHeader" title="{$nameLayerTip}">
+							    <xsl:choose>
+							       <xsl:when test="wmc:Title/@xml:lang">              
+								       <xsl:value-of select="wmc:Title[@xml:lang=$lang]"/>
+							       </xsl:when>
+							       <xsl:otherwise>
+								       <xsl:value-of select="wmc:Title"/>
+							       </xsl:otherwise>
+							    </xsl:choose>
+						    </div>
+					        <!-- opacity -->  
+					        <xsl:if test="$opacity='true'"> 
+								<div id="transptitle" class="transpLayerHeader" >
+										<form title="{$opacityTip}" >
+											<select name="opacity" onchange="config.objects.{$modelId}.setOpacity('{$layerId}',value)">
+													<xsl:if test="@opacity">
+														<option value="@opacity">
+														<xsl:value-of select="@opacity"/></option>
+													</xsl:if>
+													<option value="1">1</option>
+													<option value="0.8">0.8</option>
+													<option value="0.6">0.6</option>
+													<option value="0.4">0.4</option>
+													<option value="0.2">0.2</option>
+													<option value="0">0</option>
+											</select>
+										</form>
+								 </div>
+					         </xsl:if>
+					</div> <!--end of {$widgetId}_{$layerId}_Header -->	
+
+          <xsl:if test="$layerMetadata">
+          <!-- metadata -->
+          <div id="{$widgetId}_{$layerId}_Metadata"></div>
+          </xsl:if>
+
+          <!-- Loading spinner -->
+          <div id="{$layerId}_Loading" class="layerLoading">
+          <xsl:if test="@isLoading and (@hidden='0' or @hidden='false')">
+            <img title="This layer is being loaded" src="{$skinDir}{$loadingImage}" />
+          </xsl:if>
+          </div>
+
+				</div>	<!--end of hack ie 5.5 -->	
+				<!-- legend -->
+			    <xsl:if test="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL"> 
+			    			
+			    				
+							<div class="legend" id="{$layerId}_legend" >
+								<xsl:attribute name="style">
+									<xsl:choose>
+										<xsl:when test="@hidden='1' or @hidden='true'">display:none </xsl:when>
+										<xsl:otherwise>display:block</xsl:otherwise>
+									</xsl:choose> 
+								</xsl:attribute>
+							    <xsl:element name="IMG"  >
+									<xsl:attribute name="SRC">
+										<xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL/wmc:OnlineResource/@xlink:href"/> 
+									</xsl:attribute>
+								</xsl:element>
+							</div>
+				</xsl:if>		 
+    </div> <!--end of "{$widgetId}_{$layerId}_Row" --> 
+</xsl:template>
+<xsl:template match="text()|@*"/>
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/catalog/MapPaneOL.js
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/MapPaneOL.js	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/MapPaneOL.js	(revision 4307)
@@ -0,0 +1,1035 @@
+/*
+Author:       Cameron Shorter cameronAtshorter.net
+License:      LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: MapPaneOL.js 3870 2008-02-26 12:55:14Z ahocevar $
+*/
+
+// Ensure this object's dependancies are loaded.
+loadCss("openlayers/style.css");
+mapbuilder.loadScript(baseDir+"/util/openlayers/OpenLayers.js");
+mapbuilder.loadScript(baseDir+"/util/Util.js");
+mapbuilder.loadScript(baseDir+"/widget/WidgetBase.js");
+mapbuilder.loadScript(baseDir+"/tool/Extent.js");
+/**
+ * Widget to render a map from an OGC context document.  The layers are
+ * rendered using http://openlayers.org .
+ * @constructor
+ * @base WidgetBase
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function MapPaneOL(widgetNode, model) {
+  WidgetBase.apply(this,new Array(widgetNode, model));
+
+  OpenLayers.ImgPath = config.skinDir + '/images/openlayers/';
+  OpenLayers.ProxyHost = config.proxyUrl+"/?url=";
+  
+
+  // replacement for deprecated MapContainerBase
+  this.containerNodeId = this.htmlTagId;
+  model.containerModel = this.model;
+
+  //Make sure the Extent is attached to the context and initialized
+  if(!this.model.extent){
+    this.model.extent = new Extent (this.model);
+    this.model.addFirstListener( "loadModel", this.model.extent.firstInit, this.model.extent );
+  }
+
+  /**
+   * For tiled wms layers: Overlap of map tiles in pixels. Useful for
+   * preventing rendering artefacts at tile edges. Recommended values:
+   * 0-15, default is 0 (no gutter at all).
+   */
+  this.tileGutter = this.getProperty("mb:tileGutter", 0);
+  
+  /**
+   * For tiled wms layers: how many rows of tiles should be preloaded
+   * outside the visible map? Large values mean slow loading, small
+   * ones mean longer delays when panning. Recommended values: 1-3,
+   * default is 2.
+   */
+  this.tileBuffer = parseInt(this.getProperty("mb:tileBuffer", 2));
+  
+  /**
+   * For tiled wms layers: how many pixels should the size of one tile
+   * be? Default is 256.
+   */
+  this.tileSize = parseInt(this.getProperty("mb:tileSize", 256));
+  
+  /**
+   * For WMS on top of Google Maps you need to reproject the WMS image. This will stretch
+   * the WMS images to fit the odd sized google tiles. Default is false
+   */
+  this.imageReproject = Mapbuilder.parseBoolean(
+      this.getProperty("mb:imageReproject", false));
+  
+  /**
+   * for untiled wms layers: how many times should the map image be
+   * larger than the visible map. Large values mean slow loading, small
+   * ones mean many reloads when panning. Recommended values: 1-3,
+   * default is 2.
+   */
+  this.imageBuffer = parseInt(this.getProperty("mb:imageBuffer", 2));
+  
+  /**
+   * Should layers also be rendered outside the map extent? Default is false.
+   */
+  this.displayOutsideMaxExtent = Mapbuilder.parseBoolean(
+      this.getProperty("mb:displayOutsideMaxExtent", false));
+  
+  /**
+   * Number of layers that are currently being loaded
+   */
+  this.loadingLayers = 0;
+
+  /**
+   * Called after a feature has been added to a WFS.  This function triggers
+   * the WMS basemaps to be redrawn.  A timestamp param is added to the URL
+   * to ensure the basemap image is not cached.
+   * This function is triggered by the refreshWmsLayers event. If this event
+   * is fired with a <layerId> as param, only that layer will be refreshed.
+   * @param objRef reference to this widget
+   */
+  this.refreshWmsLayers = function(objRef) {
+    var layerId = objRef.model.getParam("refreshWmsLayers");
+    var uniqueId = (new Date()).getTime();
+    var layers = layerId ?
+        [objRef.getLayer(objRef, layerId)] :
+        objRef.model.map.layers;
+    for (var i in layers) {
+      if (layers[i].CLASS_NAME.indexOf('OpenLayers.Layer.WMS') == 0) {
+        layers[i].mergeNewParams({uniqueId: uniqueId});
+      }
+    }
+  }
+  this.model.addListener("refreshWmsLayers",this.refreshWmsLayers,this);
+
+  this.model.addListener("refresh",this.paint, this);
+  this.model.addFirstListener("newModel", this.clear, this);
+  this.model.addListener("hidden",this.hidden, this);
+  this.model.addListener("addLayer",this.addLayer, this);
+  this.model.addListener("deleteLayer",this.deleteLayer, this);
+  this.model.addListener("moveLayerUp",this.moveLayerUp, this);
+  this.model.addListener("moveLayerDown",this.moveLayerDown, this);
+  this.model.addListener("opacity",this.setOpacity,this);
+  this.model.addListener("bbox", this.zoomToBbox, this);
+  //this.model.addListener( "zoomOut", this.zoomOut, this );
+  //this.model.addListener( "zoomIn", this.zoomIn, this );
+  // this.model.addListener( "zoomToMaxExtent", this.zoomToMaxExtent, this );
+ //this.model.addFirstListener("loadModel",this.paint,this);
+
+}
+
+/**
+ * Render the widget.
+ * @param objRef Pointer to widget object.
+ */
+MapPaneOL.prototype.paint = function(objRef, refresh) {
+  
+  // Create an OpenLayers map
+
+  //Test if context exist
+  if(objRef.model.doc.selectSingleNode("//wmc:OWSContext"))
+    objRef.context="OWS";
+  else if(objRef.model.doc.selectSingleNode("//wmc:ViewContext"))
+    objRef.context="View";
+  else
+    alert(mbGetMessage("noContextDefined"));
+
+  var proj=objRef.model.proj;
+
+  //maxExtent
+  var maxExtent=null;
+  maxExtent=objRef.widgetNode.selectSingleNode("mb:maxExtent");
+  maxExtent=(maxExtent)?maxExtent.firstChild.nodeValue.split(" "):null;
+  // If the maxExtentis not specified in the config
+  // calculate it from the BBox  in the Context.
+  if(!maxExtent){
+    maxExtent=objRef.model.getBoundingBox();
+  }
+  maxExtent=(maxExtent)?new OpenLayers.Bounds(maxExtent[0],maxExtent[1],maxExtent[2],maxExtent[3]):null;
+  if(maxExtent==null)alert(mbGetMessage("noBboxInContext"));
+
+  //maxResolution
+  var maxResolution=null;
+  maxResolution=objRef.widgetNode.selectSingleNode("mb:maxResolution");
+  maxResolution=(maxResolution) ? parseFloat(maxResolution.firstChild.nodeValue) : "auto";
+
+  //minResolution
+  var minResolution=null;
+  minResolution=objRef.widgetNode.selectSingleNode("mb:minResolution");
+  minResolution=(minResolution) ? parseFloat(minResolution.firstChild.nodeValue) : undefined;
+  
+  //units
+  var units = proj.getUnits() == 'meters' ? 'm' : proj.getUnits();
+  
+  //resolutions
+  //TBD: if resolutions is both set here and for the baselayer and they are different weird things may happen
+  //     this needs to be solved
+  var resolutions=objRef.widgetNode.selectSingleNode("mb:resolutions");
+  resolutions = resolutions ? resolutions.firstChild.nodeValue.split(",") : null;
+  if (resolutions) {
+    for (var r=0; r<resolutions.length; r++) {
+      resolutions[r] = parseFloat(resolutions[r]);
+    }
+  }
+
+  //fixed scales - overrides resolutions
+  var scales = objRef.widgetNode.selectSingleNode("mb:scales");
+  if(scales){
+    scales = scales.firstChild.nodeValue.split(",");
+    resolutions = new Array();
+    for (var s=0; s<scales.length; s++) {
+      resolutions.push(OpenLayers.Util.getResolutionFromScale(scales[s], units));
+    }
+  }
+  if(resolutions){
+    objRef.model.extent.setZoomLevels(true,resolutions);
+  }
+  else objRef.model.extent.setZoomLevels(false);
+
+  //get the output DIV and set it to context-size
+  var node = document.getElementById(objRef.containerNodeId);
+  var fixedSize=null;
+  fixedSize=objRef.widgetNode.selectSingleNode("mb:fixedSize");
+  fixedSize=(fixedSize)?fixedSize.firstChild.nodeValue:null;
+  if(fixedSize=="true"){
+    node.style.width = objRef.model.getWindowWidth()+"px";
+    node.style.height = objRef.model.getWindowHeight()+"px";
+  }
+  
+  //default map options
+  var mapOptions = {
+        controls:[],
+        projection: proj,
+        units: units,
+        fractionalZoom: true,
+        maxExtent: maxExtent,
+        maxResolution: maxResolution,
+        minResolution: minResolution,
+        resolutions: resolutions,
+        theme: null, // we have the theme loaded by Mapbuilder
+        destroy: function(destroy){
+                   if (destroy != true) {
+                     this.mbMapPane.model.setParam("newModel", true);
+                   } else {
+                     this.mbMapPane = null;
+                     this.mbCursor = null;
+                     OpenLayers.Map.prototype.destroy.apply(this, arguments);
+                     this.layerContainerDiv = null;
+                     this.baseLayer = null;
+                   }}
+      };
+
+  if (!objRef.model.map) {
+    objRef.model.map = new OpenLayers.Map(node, mapOptions);
+
+    // Increase hight of Control layers to allow for lots of layers.
+    objRef.model.map.Z_INDEX_BASE.Control=10000;
+    var baseLayer = null;
+    
+    //If we have an OWSContext and we have a BaseLayer we need to use this layer
+    //for more information have a look at http://docs.codehaus.org/display/MAP/Using+Google-layers
+    if(objRef.context=="OWS"&&objRef.model.getBaseLayer()){
+      var baseLayerNode = objRef.model.getBaseLayer();
+     
+      //overrule the SRS in the Context with the one from the BaseLayer
+      var baseSrs = baseLayerNode.selectSingleNode("ows:TileSet/ows:SRS");
+      if(baseSrs) objRef.model.setSRS(baseSrs.firstChild.nodeValue);
+      //overrule the units in the Context with the updated SRS units
+      units = proj.getUnits() == 'meters' ? 'm' : proj.getUnits();
+      //overrule the boundingbox in the Context with the maxExtent from the BaseLayer
+      var maxExtentNode = baseLayerNode.selectSingleNode("ows:TileSet/ows:BoundingBox");
+      if(maxExtentNode) maxExtent = new OpenLayers.Bounds(maxExtentNode.selectSingleNode('@minx').nodeValue,maxExtentNode.selectSingleNode('@miny').nodeValue,maxExtentNode.selectSingleNode('@maxx').nodeValue,maxExtentNode.selectSingleNode('@maxy').nodeValue);
+      //overrule resolutions in the Context with the one from BaseLayer
+      //@TODO: check if the firstChild is really needed
+      var resolutions =baseLayerNode.selectSingleNode("ows:TileSet/ows:Resolutions");
+      resolutions = resolutions ? resolutions.firstChild.nodeValue.split(",") : null;
+      if (resolutions) {
+        for (var r=0; r<resolutions.length; r++) {
+           resolutions[r] = parseFloat(resolutions[r]);
+        }
+      }
+      //overrule tileSize in the Context with the one from the BaseLayer
+      //right now we only support square tiles which are defined by their width:		  
+      var tileSize =baseLayerNode.selectSingleNode("ows:TileSet/ows:Width");
+      if(tileSize) objRef.tileSize = parseInt(tileSize.nodeValue);
+      //check if there's a format defined for the BaseLayer
+      var format = baseLayerNode.selectSingleNode("ows:TileSet/ows:Format");
+      if(format) format = format.nodeValue;
+      
+      //Initialising the baseLayer
+      // Test service of the baseLayer
+      var service=baseLayerNode.selectSingleNode("wmc:Server/@service");
+      service=(service)?service.nodeValue:"";
+      // Test title of the baseLayer
+      var title=baseLayerNode.selectSingleNode("wmc:Title");
+      title=(title)?title.firstChild.nodeValue:"";
+      // Get the name of the baseLayer
+      var baseLayerName = baseLayerNode.selectSingleNode("wmc:Name");
+      baseLayerName=(baseLayerName)?baseLayerName.firstChild.nodeValue:"";
+      // get the layer-type of the BaseLayer (this allows specifying if is is a arial,road or hybrid map)
+      var baseLayerType = baseLayerNode.selectSingleNode("ows:TileSet/ows:Layers");
+      baseLayerType=(baseLayerType)?baseLayerType.firstChild.nodeValue:"hybrid";
+      // it might be that the baseLayer is a WMS so we need to fetch the url
+      var href=baseLayerNode.selectSingleNode("wmc:Server/wmc:OnlineResource/@xlink:href");href=(href)?getNodeValue(href):"";
+      
+      var baseLayerOptions = {
+              units: units,
+              projection: proj,
+              maxExtent: maxExtent,
+             
+              alpha: false,            //option for png transparency with ie6
+              isBaseLayer: true,
+              displayOutsideMaxExtent: objRef.displayOutsideMaxExtent,
+              ratio: 1
+              
+         };
+         
+      switch(service){
+        // WMS Layer (Untiled)
+        case "OGC":
+        case "WMS":
+        case "wms":
+        case "OGC:WMS":
+          
+          baseLayerOptions.ratio = objRef.imageBuffer;
+    
+          var params = new Array();
+
+         
+         baseLayer= new OpenLayers.Layer.WMS(title,href,{
+              layers: baseLayerName,
+              format: format
+              },
+            baseLayerOptions
+          );
+        break;
+    
+        // WMS-C Layer (Tiled)
+        case "WMS-C":
+        case "OGC:WMS-C":
+          baseLayerOptions.gutter = objRef.tileGutter;
+          baseLayerOptions.buffer = objRef.tileBuffer;
+          baseLayerOptions.tileSize = new OpenLayers.Size(objRef.tileSize, objRef.tileSize);
+          
+          baseLayer= new OpenLayers.Layer.WMS(title,href,{
+              layers: baseLayerName,
+              format: format
+            },
+            baseLayerOptions
+          );
+          objRef.model.map.fractionalZoom = false;
+        break;
+    
+        case "GMAP":
+        case "Google":       
+          if(maxExtent) baseLayerOptions.maxExtent=maxExtent;
+          //check if we have spherical projection
+          var sphericalMercator = (objRef.model.getSRS()=='EPSG:900913')?true:false;
+          //check if we have a layertype
+          switch(baseLayerType){
+            case "aerial":
+            case "satellite":            
+              baseLayerType=G_SATELLITE_MAP;
+            break;
+            case "road":
+            case "normal":            
+              baseLayerType=G_NORMAL_MAP;
+            break;
+            default:
+              baseLayerType=G_HYBRID_MAP;
+          }
+          baseLayer = new OpenLayers.Layer.Google( baseLayerName , {type: baseLayerType, minZoomLevel: 0, maxZoomLevel:19, sphericalMercator: sphericalMercator, maxResolution: 156543.0339 }, baseLayerOptions );
+          objRef.model.map.numZoomLevels = 20;
+          objRef.model.map.fractionalZoom = false;
+        break;
+    
+        case "YMAP":
+        case "Yahoo":
+          //Yahoo-layer doesn't support layerTypes
+          if(maxExtent) baseLayerOptions.maxExtent=maxExtent;
+          //check if we have spherical projection
+          var sphericalMercator = (objRef.model.getSRS()=='EPSG:900913')?true:false;          
+          baseLayer = new OpenLayers.Layer.Yahoo(  baseLayerName , { maxZoomLevel:21, sphericalMercator: sphericalMercator }, baseLayerOptions );
+          objRef.model.map.fractionalZoom = false;
+        break;
+    
+        case "VE":
+        case "Microsoft":
+          if(maxExtent) baseLayerOptions.maxExtent=maxExtent;
+          //check if we have spherical projection
+          var sphericalMercator = (objRef.model.getSRS()=='EPSG:900913')?true:false;
+          //check if we have a layertype
+          switch(baseLayerType){
+            case "aerial":
+            case "satellite":
+              baseLayerType=VEMapStyle.Aerial;
+            break;
+            case "road":
+            case "normal":
+              baseLayerType=VEMapStyle.Road;
+            break;
+            default:
+              baseLayerType=VEMapStyle.Hybrid;
+          }
+          baseLayer = new OpenLayers.Layer.VirtualEarth( baseLayerName,{minZoomLevel: 0, maxZoomLevel: 21,type: baseLayerType});
+          objRef.model.map.fractionalZoom = false;
+        break;
+    
+        case "MultiMap":
+           if(maxExtent) baseLayerOptions.maxExtent=maxExtent;
+           //check if we have spherical projection
+          var sphericalMercator = (objRef.model.getSRS()=='EPSG:900913')?true:false;          
+          baseLayer = new OpenLayers.Layer.MultiMap( baseLayerName , { maxZoomLevel:21, sphericalMercator: sphericalMercator }, baseLayerOptions );
+          objRef.model.map.fractionalZoom = false;
+        break;
+        default:
+          alert(mbGetMessage("layerTypeNotSupported", service));
+        }
+    }
+    //Otherwise we will just use an empty WMS layer as BaseLayer
+    else {
+      var baseLayerOptions = {
+              units: units,
+              projection: proj.srsCode,
+              maxExtent: maxExtent,
+              maxResolution: maxResolution,  //"auto" if not defined in the context
+              minResolution: minResolution,
+              resolutions: resolutions,
+              alpha: false,            //option for png transparency with ie6
+              isBaseLayer: true,
+              displayOutsideMaxExtent: objRef.displayOutsideMaxExtent,
+              ratio: 1,
+              singleTile: true,
+              visibility: false
+         };
+      baseLayer = new OpenLayers.Layer.WMS("baselayer",
+              config.skinDir+"/images/openlayers/blank.gif", null, baseLayerOptions);
+      
+    }
+    objRef.model.map.addLayer(baseLayer); 
+  }
+  else {
+    objRef.deleteAllLayers(objRef);
+  }
+    
+  var layers = objRef.model.getAllLayers();
+  if (!objRef.oLlayers){
+    objRef.oLlayers = {};
+  }
+
+  for (var i=0;i<=layers.length-1;i++){
+    objRef.addLayer(objRef,layers[i]);
+  }
+  var bbox=objRef.model.getBoundingBox();
+
+  // set objRef as attribute of the OL map, so we have a reference
+  // to MapPaneOL available when handling OpenLayers events.
+  objRef.model.map.mbMapPane = objRef;
+
+  // register OpenLayers event to keep the context updated
+  objRef.model.map.events.register('moveend', objRef.model.map, objRef.updateContext);
+  // register OpenLayers event to do updates onmouseup
+  objRef.model.map.events.register('mouseup', objRef.model.map, objRef.updateMouse);
+  
+  objRef.model.callListeners("bbox");
+  
+}
+
+/**
+ * remove OpenLayers events and layers
+ * @param objRef reference to this widget
+ */
+MapPaneOL.prototype.clear = function(objRef) {
+  if (objRef.model.map) {
+    OpenLayers.Event.stopObservingElement(window);
+    objRef.model.map.destroy(true);
+    objRef.model.map = null;
+    objRef.oLlayers = {};
+  }
+}
+
+/**
+ * Receives a 'loadstart' event from OL layer and notifies the listeners
+ * @param e OpenLayers event
+ * @return none
+ */
+MapPaneOL.prototype.loadLayerStart = function(e) {
+  // Fetch layerId from model using the ID of the OL Layer
+  // Necessary to provide a connection between the OL Layer
+  var layerId = this.getLayerIdByOlLayer(this, e.object);
+  //layerId = this.model.getParam(event.object.id);
+
+  this.model.setParam("loadLayerStart", layerId);
+  //this.model.callListeners("loadLayerStart", layerId);
+
+  // keep the modelStatus updated when an OpenLayers layer starts loading.
+  ++this.loadingLayers;
+  var message = mbGetMessage((this.loadingLayers>1) ? "loadingLayers" : "loadingLayer",
+    this.loadingLayers);
+  this.model.setParam("modelStatus", message);
+}
+
+/**
+ * Receives a 'loadend' event from OL layer and notifies the listeners
+ * @param e OpenLayers event
+ * @return none
+ */
+MapPaneOL.prototype.loadLayerEnd = function(e) {
+  // Fetch layerId from model using the ID of the OL Layer
+  var layerId = this.getLayerIdByOlLayer(this, e.object);
+
+  // Tell the listeners that the layer has finished loading
+  this.model.setParam("loadLayerEnd", layerId);
+  //this.model.callListeners("loadLayerEnd", layerId);
+
+  // keep the modelStatus updated when an OpenLayers layer starts loading.
+   --this.loadingLayers;
+  var message = this.loadingLayers > 0 ?
+          mbGetMessage((this.loadingLayers>1) ? "loadingLayers" : "loadingLayer",
+                  this.loadingLayers) :
+          null;
+  this.model.setParam("modelStatus", message);
+}
+
+/**
+ * Finds MapBuilder layerId based on OL layer
+ * @param {object} OL layer
+ * @return {string} layerId
+ */
+MapPaneOL.prototype.getLayerIdByOlLayer = function(objRef, olLayer) {
+  for (var i in objRef.oLlayers) {
+    if (objRef.oLlayers[i] == olLayer) {
+      return i;
+    }
+  }
+  return null;
+}
+
+/**
+ * Event handler to keep the Mapbuilder context updated. It also
+ * sets the map cursor to the previously stored value.
+ * This is called by OpenLayers.
+ * @param e OpenLayers event
+ */
+MapPaneOL.prototype.updateContext = function(e) {
+  // get objRef from the event originator object (e.object),
+  // where it was stored as mbPane property by paint().
+  var objRef = e.object.mbMapPane;
+
+  var bboxOL = objRef.model.map.getExtent().toBBOX().split(',');
+  var ul = new Array(bboxOL[0],bboxOL[3]);
+  var lr = new Array(bboxOL[2],bboxOL[1]);
+
+  if(objRef.model.getWindowWidth()!=e.element.offsetWidth)
+    objRef.model.setWindowWidth(e.element.offsetWidth);
+  if(objRef.model.getWindowHeight()!=e.element.offsetHeight)
+    objRef.model.setWindowHeight(e.element.offsetHeight);	
+
+  var currentAoi = objRef.model.getParam('aoi');
+  var newAoi = new Array(ul, lr);
+  if (!currentAoi || currentAoi.toString() != newAoi.toString()) {
+    objRef.model.setBoundingBox( new Array(ul[0], lr[1], lr[0], ul[1]) );
+    objRef.model.extent.setSize(objRef.model.map.getResolution());
+    objRef.model.setParam("aoi", newAoi);
+  }
+}
+
+/**
+ * Restore the map cursor stored by buttons. This has to be done
+ * in an OpenLayers mouseup event, because the mouseup event
+ * in OpenLayers resets the cursor to default.
+ * @param e OpenLayers event
+ */
+MapPaneOL.prototype.updateMouse = function(e) {
+  // get objRef from the event originator object (e.object),
+  // where it was stored as mbPane property by paint().
+  var objRef = e.object.mbMapPane;
+
+  // update map pane cursor
+  if (objRef.model.map.mbCursor) {
+    objRef.model.map.div.style.cursor = objRef.model.map.mbCursor;
+  }
+}
+
+/**
+ * Zoom to the current Bounding Box.
+ * @param objRef reference to this widget
+ */
+MapPaneOL.prototype.zoomToBbox = function(objRef) {
+  if (objRef.model.map) {
+    var bbox = objRef.model.getBoundingBox();
+    var displayBbox = [];
+    var extent = objRef.model.map.getExtent();
+    if (extent) {
+      displayBbox = extent.toBBOX();
+    }
+    // only perform zoom operation if not already at bbox
+    if (bbox.toString() != displayBbox.toString()) {
+      objRef.model.map.zoomToExtent(new OpenLayers.Bounds(bbox[0],bbox[1],bbox[2],bbox[3]));
+    }
+  }
+}
+
+/**
+ * Hide/unhide a layer. Called by Context when the hidden attribute changes.
+ * @param objRef Pointer to widget object.
+ * @param layerId Id of the layer to hide/unhide.
+ */
+MapPaneOL.prototype.hidden = function(objRef, layerId) {
+  var vis=objRef.model.getHidden(layerId);
+  if(vis=="1"){ var hidden=false; }
+  else {var hidden=true; }
+  var  tmpLayer=objRef.getLayer(objRef,layerId)
+  if(tmpLayer)tmpLayer.setVisibility(hidden);
+}
+
+/**
+  * Returns OL layer node from LayerMgr
+  * @param layerId The layer Id (or layerName)
+  */
+MapPaneOL.prototype.getLayer = function(objRef,layerId) {
+
+  // If layer cannot be found then layerId might actually be layerName
+  // We then try to fetch the @id of the layer from the model
+  if (!objRef.oLlayers[layerId]) {
+    layerId = objRef.model.getLayerIdByName(layerId) || layerId;
+  }
+
+  if(objRef.oLlayers[layerId] && objRef.oLlayers[layerId].id) {
+    return objRef.model.map.getLayer(objRef.oLlayers[layerId].id);
+  } else {
+    return false;
+  }
+}
+
+
+//####################################################
+/**
+ * Removes a layer from the output
+/**
+ * Removes a layer from the output
+ * @param objRef Pointer to this object.
+ * @param layerId the WMS name for the layer to be removed
+ */
+MapPaneOL.prototype.deleteLayer = function(objRef, layerId) {
+  if(objRef.oLlayers[layerId])objRef.model.map.removeLayer(objRef.oLlayers[layerId]);
+}
+/**
+ * Removes all layers from the output
+ * @param objRef Pointer to this object.
+ * @param objRef Pointer to this object.
+ */
+MapPaneOL.prototype.deleteAllLayers = function(objRef) {
+  for (var i in objRef.oLlayers) {
+    var layer = objRef.oLlayers[i];
+    layer.destroy();
+  }
+  objRef.oLlayers = {};
+}
+
+//#############################################TDO
+/**
+ * Moves a layer up in the stack of map layers
+ * @param objRef Pointer to this object.
+ * @param layerId the WMS name for the layer to be removed
+ */
+MapPaneOL.prototype.moveLayerUp = function(objRef, layerId) {
+  var map=objRef.model.map;
+  map.raiseLayer(map.getLayer(objRef.oLlayers[layerId].id), 1);
+}
+
+/**
+ * Moves a layer up in the stack of map layers
+ * @param objRef Pointer to this object.
+ * @param layerId the WMS name for the layer to be removed
+ */
+MapPaneOL.prototype.moveLayerDown = function(objRef, layerId) {
+  objRef.model.map.raiseLayer(objRef.getLayer(objRef,layerId), -1);
+}
+//###############################################
+/**
+   * Called when the context's opacity attribute changes.
+/**
+   * Called when the context's opacity attribute changes.
+   * @param objRef This object.
+   * @param layerId  The id of the layer that was toggled.
+   */
+MapPaneOL.prototype.setOpacity=function(objRef, layerId){
+  var _opacity="1";
+  _opacity=objRef.model.getOpacity(layerId);
+  objRef.getLayer(objRef,layerId).setOpacity(_opacity);
+}
+/**
+ * Adds a layer into the output
+   * @param objRef This object.
+   * @param layerNode  The node of the layer
+ */
+MapPaneOL.prototype.addLayer = function(objRef, layerNode) {
+  // OpenLayers doesn't contain information about projection, so if the
+  // baseLayer projection is not standard lat/long, it needs to know
+  // maxExtent and maxResolution to calculate the zoomLevels.
+  var layer = layerNode;
+
+  // Test service of the layer
+  var service=layer.selectSingleNode("wmc:Server/@service");service=(service)?service.nodeValue:"";
+
+  // Test title of the layer
+  var title=layer.selectSingleNode("wmc:Title");title=(title)?title.firstChild.nodeValue:"";
+
+  // Get the name of the layer
+  layerName = layer.selectSingleNode("wmc:Name");layerName=(layerName)?layerName.firstChild.nodeValue:"";
+
+  // Get the layerId. Fallback to layerName if non-existent
+  var layerId;
+  if (layer.selectSingleNode("@id") && layer.selectSingleNode("@id").nodeValue) {
+    layerId = layer.selectSingleNode("@id").nodeValue;
+  } else {
+    layerId = layerName;
+  }
+
+  if (objRef.context=="OWS"){
+    var href=layer.selectSingleNode("wmc:Server/wmc:OnlineResource/@xlink:href");href=(href)?getNodeValue(href):"";
+  }
+  else {
+     if(_SARISSA_IS_SAFARI){
+     var nodehref=layer.selectSingleNode("wmc:Server/wmc:OnlineResource");
+     var href=nodehref.attributes[1].nodeValue;
+     }
+   else{
+     if(_SARISSA_IS_OPERA){
+       var href=layer.selectSingleNode("wmc:Server/wmc:OnlineResource").getAttributeNS ("http://www.w3.org/1999/xlink","href");// for opera
+     }else{
+       var href=layer.selectSingleNode("wmc:Server/wmc:OnlineResource").getAttribute("xlink:href");
+     }
+    }
+  }
+
+  // Test format of the layer
+  var format=layer.selectSingleNode("wmc:FormatList/wmc:Format[@current='1']");
+  if (!format) {
+    format = layer.selectSingleNode("wmc:FormatList/wmc:Format");
+  }
+  format = format ? getNodeValue(format) : "image/gif";
+
+  // Test visibility of the layer
+  var vis=layer.selectSingleNode("@hidden");
+  if (vis) {
+    if(vis.nodeValue=="1")
+      vis=false;
+    else
+      vis=true;
+  }
+  // Test if layer is queryable
+  var query=layer.selectSingleNode("@queryable");
+  if (query){
+    if(query.nodeValue=="1")
+      query=true;
+    else
+      query=false;
+  }
+
+  // Test if opacity is specified
+  var opacity=layer.selectSingleNode("@opacity");
+  if (opacity)
+    opacity=opacity.nodeValue;
+  else
+    opacity=false;
+  
+  // Get current style node of the layer
+  var currentStyle = layer.selectSingleNode('wmc:StyleList/wmc:Style[@current=1]');
+
+  // will be true for IE6, false for later versions of IE
+  objRef.IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
+  
+  //default option value for a layer
+  var layerOptions = {
+          visibility: vis,
+          projection: objRef.model.map.baseLayer.projection,
+          queryable: query,
+          maxExtent: objRef.model.map.baseLayer.maxExtent,
+          maxResolution: objRef.model.map.baseLayer.maxResolution,  //"auto" if not defined in the context
+          minResolution: objRef.model.map.baseLayer.minResolution,  //"auto" if not defined in the context
+          alpha: format.indexOf("png") != -1 ? objRef.IE6 : false,         //option for png transparency with ie6
+          isBaseLayer: false,
+          displayOutsideMaxExtent: objRef.displayOutsideMaxExtent
+     };
+     
+  switch(service){
+    // WMS Layer (Untiled)
+    case "OGC":
+    case "WMS":
+    case "wms":
+    case "OGC:WMS":
+      if(!objRef.model.map.baseLayer){
+        layerOptions.isBaseLayer=true;
+      }
+      else {
+        //TBD what if we have layers with different projections in the context?
+        layerOptions.reproject=objRef.imageReproject;
+        layerOptions.isBaseLayer=false;
+      }
+
+      layerOptions.ratio = objRef.imageBuffer;
+      layerOptions.singleTile = true;
+
+      var params = new Array();
+      params = sld2UrlParam(currentStyle);
+      if (objRef.model.timestampList && objRef.model.timestampList.getAttribute("layerId") == layerId) { 
+        var ts = objRef.model.timestampList.childNodes[0];
+
+        objRef.oLlayers[layerId]= new OpenLayers.Layer.WMS(title,href,{
+            layers: layerName,
+            // "TRUE" in upper case else the context doc boston.xml
+            // (i.c. the IONIC WMS/WFS) doesn't work.
+            // Note that this is in line with the WMS standard (OGC 01-068r2),
+            // section 6.4.1 Parameter Ordering and Case:
+            // "Parameter names shall not be case sensitive,
+            //  but parameter values shall be case sensitive."
+            transparent: layerOptions.isBaseLayer ? "FALSE" : "TRUE",
+              "TIME":ts.firstChild.nodeValue,	          
+            format: format,
+            sld:params.sld,
+            sld_body:params.sld_body,
+            styles:params.styles
+          },
+          layerOptions
+        );      
+        // Turn on timestamp listenet
+          this.model.addListener("timestamp",this.timestampListener,this);	      
+      }
+      else {
+        objRef.oLlayers[layerId]= new OpenLayers.Layer.WMS(title,href,{
+            layers: layerName,
+            // "TRUE" in upper case else the context doc boston.xml
+            // (i.c. the IONIC WMS/WFS) doesn't work.
+            // Note that this is in line with the WMS standard (OGC 01-068r2),
+            // section 6.4.1 Parameter Ordering and Case:
+            // "Parameter names shall not be case sensitive,
+            //  but parameter values shall be case sensitive."
+            transparent: layerOptions.isBaseLayer ? "FALSE" : "TRUE",
+            format: format,
+            sld:params.sld,
+            sld_body:params.sld_body,
+            styles:params.styles
+          },
+          layerOptions
+        );
+      }
+    break;
+
+    // WMS-C Layer (Tiled)
+    case "WMS-C":
+    case "OGC:WMS-C":
+      if(!objRef.model.map.baseLayer){
+        layerOptions.isBaseLayer=true;
+      }
+      else {
+        //TBD what if we have layers with different projections in the context?
+        layerOptions.reproject=objRef.imageReproject;
+        layerOptions.isBaseLayer=false;
+      }
+
+      layerOptions.gutter = objRef.tileGutter;
+      layerOptions.buffer = objRef.tileBuffer;
+      layerOptions.tileSize = new OpenLayers.Size(objRef.tileSize, objRef.tileSize);
+      
+      var params = new Array();
+      params = sld2UrlParam(currentStyle);
+      objRef.oLlayers[layerId]= new OpenLayers.Layer.WMS(title,href,{
+          layers: layerName,
+          transparent: layerOptions.isBaseLayer ? "FALSE" : "TRUE",
+          format: format,
+          sld:params.sld,
+          sld_body:params.sld_body,
+          styles:params.styles
+        },
+        layerOptions
+      );
+      objRef.model.map.fractionalZoom = false;
+    break;
+
+    // WFS Layer
+    case "WFS":
+    case "wfs":
+    case "OGC:WFS":
+      style = sld2OlStyle(currentStyle);
+      if(style){
+        layerOptions.styleMap=new OpenLayers.StyleMap(style);
+      }
+      else{
+        layerOptions.style=objRef.getWebSafeStyle(objRef, 2*i+1);
+      }
+      layerOptions.featureClass=OpenLayers.Feature.WFS;
+
+      objRef.oLlayers[layerId]= new OpenLayers.Layer.WFS(
+        title,
+        href,{
+          typename: layerId,
+          maxfeatures: 1000},
+          layerOptions
+        );
+    break;
+
+    // GML Layer
+    case "gml":
+    case "OGC:GML":
+      style = sld2OlStyle(currentStyle);
+      if(style){
+        layerOptions.styleMap=new OpenLayers.StyleMap(style);
+      }
+      else{
+        layerOptions.style=objRef.getWebSafeStyle(objRef, 2*i+1);
+      }
+      objRef.oLlayers[layerId] = new OpenLayers.Layer.GML(title,href,layerOptions);
+
+    break;
+
+     // KML Layer
+    case "KML":
+    case "kml":
+      objRef.oLlayers[layerId]= new OpenLayers.Layer.GML(
+        title,
+        href,{
+          format: OpenLayers.Format.KML
+          }
+        );
+    break;
+    
+  // Currently the following layertypes are only supported in a OwsContext doc as a BaseLayer
+  // for more information see http://docs.codehaus.org/display/MAP/Using+Google-layers
+   /* case "GMAP":
+    case "Google":
+      //the empty baseLayer has to be destroyed when you want to use google
+      objRef.model.map.baseLayer.destroy();
+      layerOptions.maxExtent=new OpenLayers.Bounds("-20037508", "-20037508", "20037508", "20037508.34");
+       objRef.oLlayers[layerId] = new OpenLayers.Layer.Google( "Google Satellite" , {type: G_HYBRID_MAP, maxZoomLevel:18, sphericalMercator: true }, layerOptions );
+    break;
+
+    case "YMAP":
+    case "Yahoo":
+      // <script src="http://api.maps.yahoo.com/ajaxymap?v=3.0&appid=euzuro-openlayers"></script>
+      layerOptions.isBaseLayer=true;
+      objRef.oLlayers[layerId] = new OpenLayers.Layer.Yahoo( "Yahoo");
+    break;
+
+    case "VE":
+    case "Microsoft":
+      //<script src='http://dev.virtualearth.net/mapcontrol/v3/mapcontrol.js'></script>
+      layerOptions.isBaseLayer=true;
+      objRef.oLlayers[layerId] = new OpenLayers.Layer.VirtualEarth( "VE",{minZoomLevel: 0, maxZoomLevel: 18,type: VEMapStyle.Hybrid});
+    break;
+
+    case "MultiMap":
+      //<script type="text/javascript" src="http://clients.multimap.com/API/maps/1.1/metacarta_04"></script>
+      layerOptions.isBaseLayer=true;
+      objRef.oLlayers[layerId] = new OpenLayers.Layer.MultiMap( "MultiMap");
+    break;*/
+    default:
+      alert(mbGetMessage("layerTypeNotSupported", service));
+  }
+  if(opacity && objRef.oLlayers[layerId]){
+    objRef.oLlayers[layerId].setOpacity(opacity);
+  }
+  
+  //objRef.oLlayers[layerId].events.register('loadstart', objRef, objRef.increaseLoadingLayers);
+  //objRef.oLlayers[layerId].events.register('loadend', objRef, objRef.decreaseLoadingLayers);
+
+  objRef.oLlayers[layerId].events.register('loadstart', objRef, objRef.loadLayerStart);
+  objRef.oLlayers[layerId].events.register('loadend', objRef, objRef.loadLayerEnd);
+  
+  // Here the OL layer gets added to the OL map
+  objRef.model.map.addLayer(objRef.oLlayers[layerId]);
+}
+
+/**
+ * gets an OpenLayers vector style with web safe colors.
+ * @param objRef reference to this object
+ * @param colorNumber number of a color from which to generate websafe color
+ * @return {OpenLayers.Style} style for OpenLayers vector rendering
+ */
+MapPaneOL.prototype.getWebSafeStyle = function(objRef, colorNumber) {
+  colors=new Array("00","33","66","99","CC","FF");
+  colorNumber=(colorNumber)?colorNumber:0;
+  colorNumber=(colorNumber<0)?0:colorNumber;
+  colorNumber=(colorNumber>215)?215:colorNumber;
+  i=parseInt(colorNumber/36);
+  j=parseInt((colorNumber-i*36)/6);
+  k=parseInt((colorNumber-i*36-j*6));
+  var color="#"+colors[i]+colors[j]+colors[k];
+  var defaultStyle = {
+            fillColor: "#808080",
+            fillOpacity: 1,
+            strokeColor: "#000000",
+            strokeOpacity: 1,
+            strokeWidth: 1,
+            pointRadius: 6};
+  var style=OpenLayers.Util.extend(defaultStyle,OpenLayers.Feature.Vector.style["default"]);
+  style.fillColor = color;
+  style.strokeColor = color;
+  style.map = objRef.model.map;
+  return style;
+}
+
+/**
+   * Called for refreshing one layer.
+   * @param objRef This object.
+   * @param layerId  The id of the layer that was toggled.
+   */
+MapPaneOL.prototype.refreshLayer = function(objRef, layerId , newParams){
+  newParams['version'] = Math.random(); //necessary for see change in certain case
+  objRef.getLayer(objRef,layerId).mergeNewParams(newParams);
+}
+  
+  /**
+   * Called when the map timestamp is changed so set the layer visiblity.
+   * @param objRef This object.
+   * @param timestampIndex  The array index for the layer to be displayed. 
+   */
+MapPaneOL.prototype.timestampListener=function(objRef, timestampIndex){
+  if (window.movieLoop.frameIsLoading == true) {
+    return;
+  }
+  var layerId = objRef.model.timestampList.getAttribute("layerId");
+  var ts = objRef.model.timestampList.childNodes[timestampIndex];
+
+  if (layerId && ts) {				
+    var curLayer = objRef.oLlayers[layerId]; //TBD: please check if this still works now we've moved to layerId
+    if (!curLayer.grid) {
+      return;
+    }
+    div = curLayer.grid[0][0].imgDiv;
+    // Perform URL substitution via regexps
+    var oldImageUrl = div.src || div.firstChild.src;
+    var newImageUrl = oldImageUrl.replace(/TIME\=.*?\&/,'TIME=' + ts.firstChild.nodeValue + '&');
+    if (oldImageUrl == newImageUrl) {
+      return;
+    }
+
+    function imageLoaded() {
+      window.movieLoop.frameIsLoading = false;
+      if(element.removeEventListener) { // Standard
+        element.removeEventListener("load", imageLoaded, false);
+      } else if(element.detachEvent) { // IE
+        element.detachEvent('onload', imageLoaded);
+      }
+    }
+
+    window.movieLoop.frameIsLoading = true;
+    var element = div.nodeName.toUpperCase() == "IMG" ? div : div.firstChild;
+    if(element.addEventListener) { // Standard
+      element.addEventListener("load", imageLoaded, false);
+    } else if(element.attachEvent) { // IE
+      element.attachEvent('onload', imageLoaded);
+    }
+    if (objRef.IE6) {
+      OpenLayers.Util.modifyAlphaImageDiv(div,
+            null, null, null, newImageUrl);
+    } else {
+      element.src = newImageUrl;
+    }
+  }
+      
+}
Index: lib/spatial/mapbuilder/examples/catalog/ebrim2Context.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/ebrim2Context.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/ebrim2Context.xsl	(revision 4307)
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+Description: parses a EBRIM response from a Catalog Query and returns
+             an OWS Context document.
+             This stylesheet assumes the Service node follows the
+             IntrinsicObject (Layer) node.
+Author:      camerons
+Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
+
+$Id:$
+$Name:  $
+-->
+
+<xsl:stylesheet version="1.0" 
+    xmlns:wmc="http://www.opengis.net/context" 
+    xmlns:wms="http://www.opengis.net/wms"
+    xmlns:ogc="http://www.opengis.net/ogc"
+    xmlns:ows="http://www.opengis.net/ows"
+    xmlns:csw="http://www.opengis.net/cat/csw"
+    xmlns:gml="http://www.opengis.net/gml"
+    xmlns:rim="urn:oasis:names:tc:ebxml-regrep:rim:xsd:2.5"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:wfs="http://www.opengis.net/wfs" 
+    xmlns:sld="http://www.opengis.net/sld"
+    xmlns:owscat="http://www.ec.gc.ca/owscat"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+    xmlns:xlink="http://www.w3.org/1999/xlink">
+
+  <xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
+  <xsl:strip-space elements="*"/>
+
+  <!-- The coordinates of the DHTML Layer on the HTML page -->
+  <xsl:param name="modelId"/>
+  <xsl:param name="widgetId"/>
+  <xsl:param name="id"></xsl:param>
+  
+  <!-- Match Root -->
+  <xsl:template match="/">
+    <wmc:OWSContext>
+		  <wmc:General>
+		    <wmc:Window width="600" height="300"/>
+		    <ows:BoundingBox crs="EPSG:4326">
+		      <ows:LowerCorner>-180 -90</ows:LowerCorner>
+		      <ows:UpperCorner>180 90</ows:UpperCorner>
+		    </ows:BoundingBox>
+		    <wmc:Title xml:lang="en">Mapbuilder Generated Context</wmc:Title>
+		  </wmc:General>
+      <wmc:ResourceList>
+        <xsl:apply-templates/>
+      </wmc:ResourceList>
+    </wmc:OWSContext>
+  </xsl:template>
+
+  <!-- Match Layer (ExtrinsicObject -->
+  <xsl:template match="rim:ExtrinsicObject">
+
+    <!-- When layer is WFS: FeatureType -->
+    <!-- When layer is WMS: Layer       -->
+    <!-- else (fallback)  : Layer       -->
+    <xsl:variable name="element_name">
+      <xsl:variable name="pos" select="position()"/>
+      <xsl:variable name="servicetype" select="../rim:Service[(($pos+1) div 2)]/rim:Slot[@name='Service Type']/rim:ValueList/rim:Value"/>
+      <xsl:choose>
+        <xsl:when test="($servicetype = 'WFS') or ($servicetype = 'OGC:WFS')">FeatureType</xsl:when>
+        <xsl:when test="($servicetype = 'WMS') or ($servicetype = 'OGC:WMS')">Layer</xsl:when>
+        <xsl:otherwise>Layer</xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+
+    <xsl:variable name="queryable" select="./rim:Slot[@name='Queryable']/rim:ValueList/rim:Value/text()"/>
+
+    <!-- If a layer is a 'Theme', then don't return anything, since it is'nt a queryable layer.
+         A theme is a meta layer for grouping (WMS) layers
+    -->
+    <xsl:if test="@objectType != 'Theme'">
+      <xsl:element name="wmc:{$element_name}">
+          <xsl:attribute name="queryable">1</xsl:attribute>
+          <xsl:attribute name="hidden">0</xsl:attribute>
+          <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
+          <!-- insert service -->
+          <!--xsl:apply-templates select="//rim:Service[position()=(position()+1)]"/-->
+          <xsl:call-template name="Service">
+            <xsl:with-param name="pos" select="position()"/>
+          </xsl:call-template>
+          <wmc:Name>
+            <xsl:value-of select="rim:Name/rim:LocalizedString/@value"/>
+          </wmc:Name>
+          <wmc:Title>
+            <xsl:value-of select="rim:Slot[@name='Title']//rim:Value"/>
+          </wmc:Title>
+          <wmc:Abstract>
+            <xsl:value-of select="rim:Description/rim:LocalizedString/@value"/>
+          </wmc:Abstract>
+      </xsl:element>
+    </xsl:if>
+  </xsl:template>
+
+  <!-- Match Service -->
+  <!-- xsl:template match="rim:Service[position()={$pos}]"-->
+  <xsl:template name="Service">
+    <xsl:param name="pos"/>
+  
+    <xsl:for-each select="../rim:Service[(($pos+1) div 2)]">
+	    <wmc:Server>
+	      <xsl:attribute name="id">
+	        <xsl:value-of select="@id"/>
+	      </xsl:attribute>
+	      <xsl:attribute name="service">
+	        <xsl:value-of select="rim:Slot[@name='Service Type']//rim:Value"/>
+	      </xsl:attribute>
+	      <xsl:attribute name="version">
+	        <xsl:value-of select="@userVersion"/>
+	      </xsl:attribute>
+	      <xsl:attribute name="title">
+	        <xsl:value-of select="rim:Slot[@name='Title']//rim:Value"/>
+	      </xsl:attribute>
+	      <!-- TBD: How do we extract method=POST/GET? -->
+	      <wmc:OnlineResource method="POST" xlink:type="simple">
+	        <xsl:attribute name="xlink:href">
+	          <xsl:value-of select=".//@accessURI"/><!-- works for cubewerx -->
+	        </xsl:attribute>
+	      </wmc:OnlineResource>
+	    </wmc:Server>
+    </xsl:for-each>
+
+  </xsl:template>
+  
+  <xsl:template match="text()|@*"/>
+  
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/catalog/WRS_Service+Layers_GetRecords.xml
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/WRS_Service+Layers_GetRecords.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/WRS_Service+Layers_GetRecords.xml	(revision 4307)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<GetRecords 
+xmlns:csw="http://www.opengis.net/csw" 
+xmlns:ogc="http://www.opengis.net/ogc" 
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance http://schemas.cubewerx.com/ogc/1.0.0/filter.xsd" 
+xmlns:gml="http://www.opengis.net/gml" 
+csw:schemaLocation="http://www.opengis.net/csw http://schemas.cubewerx.com/csw/2.0.0/CSW-discovery.xsd" 
+ogc:schemaLocation="http://www.opengis.net/ogc" 
+service="WRS" 
+version="2.0.0" 
+outputFormat="text/xml" 
+startPosition="1" 
+maxRecords="1000" 
+resultType="RESULTS">
+	<Query typeNames="ExtrinsicObject Association=ServiceAssociation Service">
+		<ElementName>/ExtrinsicObject</ElementName>
+		<ElementName>/Service</ElementName>
+		<Constraint>
+			<ogc:Filter>
+				<ogc:And>
+					<ogc:Or>
+						<ogc:PropertyIsLike>
+							<ogc:PropertyName>/ExtrinsicObject/@objectType</ogc:PropertyName>
+							<ogc:Literal>FeatureType</ogc:Literal>
+						</ogc:PropertyIsLike>
+						<ogc:PropertyIsLike>
+							<ogc:PropertyName>/ExtrinsicObject/@objectType</ogc:PropertyName>
+							<ogc:Literal>WMS_Layer</ogc:Literal>
+						</ogc:PropertyIsLike>
+					</ogc:Or>
+					<ogc:And>
+						<ogc:PropertyIsEqualTo>
+							<ogc:PropertyName>/ExtrinsicObject/@ID</ogc:PropertyName>
+							<ogc:PropertyName>/ServiceAssociation/@targetObject</ogc:PropertyName>
+						</ogc:PropertyIsEqualTo>
+						<ogc:PropertyIsLike>
+							<ogc:PropertyName>/ServiceAssociation/@associationType</ogc:PropertyName>
+							<ogc:Literal>Serves</ogc:Literal>
+						</ogc:PropertyIsLike>
+						<ogc:PropertyIsEqualTo>
+							<ogc:PropertyName>/Service/@ID</ogc:PropertyName>
+							<ogc:PropertyName>/ServiceAssociation/@sourceObject</ogc:PropertyName>
+						</ogc:PropertyIsEqualTo>
+					</ogc:And>
+				</ogc:And>
+			</ogc:Filter>
+		</Constraint>
+	</Query>
+</GetRecords>
Index: lib/spatial/mapbuilder/examples/shipTracks/config.xml
===================================================================
--- lib/spatial/mapbuilder/examples/shipTracks/config.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/shipTracks/config.xml	(revision 4307)
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="VMAP" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" 
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+  xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+	<models>
+		<OwsContext id="mainMap">
+			<defaultModelUrl>data/DemisWorldMap.xml</defaultModelUrl>
+			<widgets>
+				<MapPaneOL id="mainMapWidget">
+				  <htmlTagId>mainMapPane</htmlTagId>
+			      <fixedSize>true</fixedSize>
+				</MapPaneOL>
+				<!--Loading id="loading"/-->
+				<CursorTrack id="cursorTrack">
+				  <showPx>true</showPx>
+                  <showLatLong>true</showLatLong>
+				  <showMGRS>false</showMGRS>
+				</CursorTrack>
+				<AoiForm id="aoiForm">
+				  <stylesheet>stylesheets/AoiForm.xsl</stylesheet>
+				</AoiForm>
+        <Legend id="contextLegend">
+          <htmlTagId>legend</htmlTagId>
+          <stylesheet>stylesheets/Legend.xsl</stylesheet>
+        </Legend>
+			</widgets>
+    </OwsContext>
+    
+    <Model id="collectionGroup">
+      <defaultModelUrl>data/mapCollection.xml</defaultModelUrl>
+      <widgets>
+        <CollectionList id="collectionList">
+          <targetModel>mainMap</targetModel>
+          <stylesheet>stylesheets/CollectionList.xsl</stylesheet>
+        </CollectionList>
+      </widgets>
+    </Model>
+    
+    <StyledLayerDescriptor id="sld">
+      <defaultModelUrl>data/features.sld</defaultModelUrl>
+    </StyledLayerDescriptor>
+
+    <Model id="geoRSS">
+      <defaultModelUrl>data/aisrdf2.xml</defaultModelUrl>
+      <widgets>
+        <TipWidgetOL id="featurePopup">
+          <stylesheet>stylesheets/popup.xsl</stylesheet>
+          <width>275</width>
+          <height>137</height>
+          <opacity>0.8</opacity>
+          <backgroundColor>#D0D0D0</backgroundColor>
+          <border>1px solid black</border>
+        </TipWidgetOL>
+        <GmlRendererOL id="testGmlRenderer">
+          <targetModel>mainMap</targetModel>
+          <stylesheet>stylesheets/georss2wfs.xsl</stylesheet>
+          <sldModel>sld</sldModel>
+          <hoverCursor>pointer</hoverCursor>
+          <featureOnClick>featurePopup</featureOnClick>
+          <featureOnHover>featurePopup</featureOnHover>
+        </GmlRendererOL>
+        <Widget id="eventsListing">
+          <targetModel>mainMap</targetModel>
+          <stylesheet>stylesheets/GeoRSSListing.xsl</stylesheet>
+        </Widget>
+      </widgets>
+      <tools>
+        <FeatureSelectHandler id="featureHighlighter">
+          <targetModel>mainMap</targetModel>
+        </FeatureSelectHandler>
+      </tools>
+      <namespace>xmlns:gml='http://www.opengis.net/gml' xmlns:wfs='http://www.opengis.net/wfs' xmlns:topp='http://www.openplans.org/topp'</namespace>
+    </Model>		
+	</models>
+  
+	<widgets>
+		<ZoomIn id="zoomIn">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>RadioButton</class>
+			<selected>true</selected>
+			<enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+			<disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+		</ZoomIn>
+		<ZoomOut id="zoomOut">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>RadioButton</class>
+			<enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+			<disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+		</ZoomOut>
+		<DragPan id="dragPan">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>RadioButton</class>
+			<enabledSrc>/images/PanEnable.png</enabledSrc>
+			<disabledSrc>/images/PanDisable.png</disabledSrc>
+		</DragPan>
+		<Reset id="reset">
+			<buttonBar>mainButtonBar</buttonBar>
+			<targetModel>mainMap</targetModel>
+			<class>Button</class>
+			<disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+		</Reset>
+    <ExampleList id="exampleList"><!-- this is the widget that draws the example menu -->
+		<scriptFile>../ExampleList.js</scriptFile>
+		<stylesheet>../ExampleList.xsl</stylesheet>
+    </ExampleList>
+	</widgets>
+	<skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/shipTracks/data/mapCollection.xml
===================================================================
--- lib/spatial/mapbuilder/examples/shipTracks/data/mapCollection.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/shipTracks/data/mapCollection.xml	(revision 4307)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<ViewContextCollection version="1.0.0" xmlns="http://www.opengis.net/context" 
+    xmlns:xlink="http://www.w3.org/1999/xlink" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.opengis.net http://schemas.opengis.net/context/1.0.0/collection.xsd">
+	<!-- List of context XML URLs -->
+	<ViewContextReference version="1.0.0" id="WorldMap">
+		<Title>World Map</Title>
+		<ContextURL>
+			<OnlineResource xlink:type="simple" xlink:href="data/DemisWorldMap.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+
+	<ViewContextReference version="1.0.0" id="BlueMarble">
+		<Title>Satellite</Title>
+		<ContextURL>
+			<OnlineResource xlink:type="simple" xlink:href="data/BlueMarble.xml"/>
+		</ContextURL>
+	</ViewContextReference>
+</ViewContextCollection>
Index: lib/spatial/mapbuilder/examples/shipTracks/stylesheets/AoiForm.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/shipTracks/stylesheets/AoiForm.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/shipTracks/stylesheets/AoiForm.xsl	(revision 4307)
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8" standalone="no" ?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!--
+Description: Output a form for display of the context doc AOI
+Author:      Mike Adair
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+AoiForm.xsl,v 1.2 2004/06/25 17:59:38 madair1 Exp
+-->
+
+  <xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
+
+  <!-- The common params set for all widgets -->
+  <xsl:param name="modelId"/>
+  <xsl:param name="widgetId"/>
+
+  <!-- The name of the form for coordinate output -->
+  <xsl:param name="formName">AOIForm</xsl:param>
+
+  <!-- Text params for this widget -->
+  <xsl:param name="title"/>
+  <xsl:param name="north"/>
+  <xsl:param name="south"/>
+  <xsl:param name="east"/>
+  <xsl:param name="west"/>
+  
+  <!-- Main html -->
+  <xsl:template match="/">
+    <div>
+    <form name="{$formName}" id="{$formName}">
+      <table>
+        <tr>
+          <th align="left" colspan="3">
+          </th>
+        </tr>
+        <tr>
+          <td>
+          </td>
+          <td>
+            <input name="northCoord" type="hidden" size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/>
+          </td>
+          <td>
+          </td>
+        </tr>
+        <tr>
+          <td>
+            <input name="westCoord" type="hidden" size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/>
+          </td>
+          <td>
+          </td>
+          <td>
+            <input name="eastCoord" type="hidden" size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/>
+          </td>
+        </tr>
+        <tr>
+          <td>
+          </td>
+          <td>
+            <input name="southCoord" type="hidden" size="10" style="font: 8pt Verdana, geneva, arial, sans-serif;" readonly="readonly"/>
+          </td>
+          <td>
+          </td>
+        </tr>
+      </table>
+    </form>
+    </div>
+  </xsl:template>
+  
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/shipTracks/stylesheets/georss2wfs.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/shipTracks/stylesheets/georss2wfs.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/shipTracks/stylesheets/georss2wfs.xsl	(revision 4307)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gml3="http://www.opengis.net/gml/3.1.1" xmlns:gml="http://www.opengis.net/gml" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rss="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:georss="http://www.georss.org/georss"  xmlns:wfs="http://www.opengis.net/wfs" xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder"> 
+<!--
+Description: A stylesheet to convert strange geobliki wfs to standards-compliant wfs.
+Author:      Andreas Hocevar andreas.hocevarATgmail.com
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: georss2wfs.xsl 3926 2008-03-20 14:13:35Z steven $
+-->
+  <xsl:template match="rdf:RDF">
+    <wfs:FeatureCollection>
+      <xsl:for-each select="rss:item">
+        <xsl:call-template name="featureMember"/>
+      </xsl:for-each>
+    </wfs:FeatureCollection>
+  </xsl:template>
+
+  <xsl:template name="featureMember">
+    <gml:featureMember>
+    	<mb:geoRssFeature>
+    	  <xsl:attribute name="fid"><xsl:value-of select="./@id"/></xsl:attribute>
+    	  <mb:geom>
+    	    <xsl:call-template name="point"/>
+    	    <xsl:call-template name="lineString"/>
+    	  </mb:geom>
+    	</mb:geoRssFeature>      
+    </gml:featureMember>
+  </xsl:template>
+
+<xsl:template name="point">
+  <xsl:if test="georss:where/gml3:Point">
+    <gml:Point>
+      <gml:pos><xsl:value-of select="georss:where/gml3:Point/gml3:pos"/></gml:pos>
+    </gml:Point>
+  </xsl:if>
+</xsl:template>
+
+<xsl:template name="lineString">
+  <xsl:if test="georss:where/gml3:LineString">
+    <gml:LineString>
+      <gml:posList dimension="2"><xsl:value-of select="translate(georss:where/gml3:LineString/gml3:posList, ',', ' ')"/></gml:posList>
+    </gml:LineString>
+  </xsl:if>
+</xsl:template>
+
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/interactive/config.xml
===================================================================
--- lib/spatial/mapbuilder/examples/interactive/config.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/interactive/config.xml	(revision 4307)
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="simpleTemplate" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+  <models>
+    <Context id="mainMap">
+      <defaultModelUrl>../data/context/demisWorldMap.xml</defaultModelUrl>
+      <widgets>
+        <MapPaneOL id="mainMapWidget">
+          <htmlTagId>mainMapPane</htmlTagId>
+          <fixedSize>true</fixedSize>
+          <transitionEffect>resize</transitionEffect>
+        </MapPaneOL>
+        <CursorTrack id="cursorTrack">
+          <precision>5</precision>
+        </CursorTrack>
+        <MapScaleText id="scaleText"/>
+        <Loading2 id="loading2">
+          <mapContainerId>mainMapPane</mapContainerId>
+        </Loading2>
+      </widgets>
+      <tools>
+        <History id="extentHistory"/>
+      </tools>
+    </Context>
+  </models>
+  <widgets>
+    <Back id="back">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/UndoDisable.png</disabledSrc>
+    </Back>
+    <Forward id="forward">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/RedoDisable.png</disabledSrc>
+    </Forward>
+    <ZoomIn id="zoomIn">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <selected>true</selected>
+      <enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+    </ZoomIn>
+    <ZoomOut id="zoomOut">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+    </ZoomOut>
+    <DragPan id="dragPan">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/PanEnable.png</enabledSrc>
+      <disabledSrc>/images/PanDisable.png</disabledSrc>
+    </DragPan>
+    <Reset id="reset">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+    </Reset>
+    <Loading id="loadingApp">
+      <htmlTagId>mainMapPane</htmlTagId>
+    </Loading>
+   <ExampleList id="exampleList"><!-- this is the widget that draws the example menu -->
+		<scriptFile>../ExampleList.js</scriptFile>
+		<stylesheet>../ExampleList.xsl</stylesheet>
+    </ExampleList>
+  </widgets>
+  <skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/shipTracks/data/aisrdf2.xml
===================================================================
--- lib/spatial/mapbuilder/examples/shipTracks/data/aisrdf2.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/shipTracks/data/aisrdf2.xml	(revision 4307)
@@ -0,0 +1,38 @@
+<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'  
+  xmlns='http://purl.org/rss/1.0/' 
+  xmlns:taxo='http://purl.org/rss/1.0/modules/taxonomy/'  
+  xmlns:dc='http://purl.org/dc/elements/1.1/'  
+  xmlns:syn='http://purl.org/rss/1.0/modules/syndication/'  
+  xmlns:georss="http://www.georss.org/georss" 
+  xmlns:gml='http://www.opengis.net/gml/3.1.1' >
+  
+ <item id='4' uuid='85214EF9-9231-4827-9661-6A1DDD7E3E3C' score='1.0' rdf:about='http://tacsatdev.pxi.com/vmoc/index.php?fuseaction=my.fn&amp;page=fotonotes&amp;entry_ID=85214EF9-9231-4827-9661-6A1DDD7E3E3C'>
+    <title>A Ship Track (LineString Example)</title>
+    <link>http://www.stenabulk.com/pressroom/archive_vessel1.shtml</link>
+    <description type='text/html' mode='escaped'>Vessel: <b>STENA VISION</b>,  MMSI:310372000, IMO:9206081, Call-Sign:ZCDF2, Destination: CABINDA, Posits:82</description>
+    <dc:date>130407Z MAY 05</dc:date>
+    
+    <georss:where><gml:LineString><gml:posList>-75.15544 38.92263,-75.15574 38.922447,-75.15562 38.922684,-75.15555 38.922615,-75.15541 38.92275,-75.15517 38.922836,-75.15533 38.92263,-75.15528 38.922718,-75.155266 38.922703,
+    -75.15555 38.922565,-75.155075 38.92298,-75.15514 38.92267,-75.1558 38.92252,-75.15481 38.922836,-75.155014 38.922836,-75.1545 38.922535,-75.13607 38.891132,-75.09903 38.888615,-75.093666 38.914265,
+    -75.106285 38.938717,-75.119415 38.963566,-75.13418 38.990013,-75.14787 39.01553,-75.168144 39.052834,-75.21998 39.123417,-75.24553 39.151653,-75.2697 39.17768,-75.29525 39.222168,-75.31747 39.246033,
+    -75.3512 39.2755,-75.37971 39.299583,-75.44105 39.3532,-75.44766 39.358803,-75.48893 39.3944,-75.51958 39.42082,-75.56056 39.4607,-75.55673 39.50045,-75.5451 39.534584,-75.21798 39.869267,
+    -75.21797 39.86925,-75.21798 39.86925,-75.21797 39.869236,-75.21794 39.869217,-75.21797 39.869236,-75.21798 39.86925,-75.21798 39.869267,-75.21791 39.869217,-75.21798 39.86925,-75.21798 39.869267,
+    -75.21798 39.869267,-75.21798 39.869267,-75.21798 39.86928,-75.21798 39.869267,-75.21797 39.8693,-75.12375 38.968918,-75.104515 38.935352,-75.08907 38.897503,-75.08183 38.861984,-75.0802 38.838333,
+    -75.07193 38.813915,-75.048416 38.782753,-75.01213 38.75155,-74.97287 38.7179,-74.939995 38.679832,-74.906815 38.6418,-74.8702 38.602932,-74.83405 38.562984,-74.79717 38.522182,-74.76116 38.482433,
+    -74.724014 38.442867,-74.667816 38.417747,-74.6125 38.393566,-74.55684 38.368614,-74.50176 38.344616,-74.44376 38.32223,-74.38375 38.305183,-74.329414 38.280186,-74.27682 38.2531,-74.24775 38.238483,
+    -74.18987 38.220333,-74.12997 38.2048,-74.07608 38.17755</gml:posList></gml:LineString></georss:where>
+ 
+  </item>
+ 
+  <item id='10' uuid='1DFEA432-82CB-4533-80E5-413F8AE4D345' score='1.0' rdf:about='http://tacsatdev.pxi.com/vmoc/index.php?fuseaction=my.fn&amp;page=fotonotes&amp;entry_ID=1DFEA432-82CB-4533-80E5-413F8AE4D345'>
+    <title>Community MapBuilder Frog (Point Example)</title>
+    <link>http://communitymapbuilder.org/</link>
+    <description type='text/html'>Community MapBuilder frog </description>
+    <dc:date>130407Z MAY 05</dc:date>
+    <georss:where><gml:Point><gml:pos>-80.13032 26.061167</gml:pos></gml:Point></georss:where>
+  </item>
+ 
+ 
+  
+</rdf:RDF>
Index: lib/spatial/mapbuilder/examples/shipTracks/stylesheets/Legend.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/shipTracks/stylesheets/Legend.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/shipTracks/stylesheets/Legend.xsl	(revision 4307)
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet 
+    xmlns:wmc="http://www.opengis.net/context" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+    xmlns:gml='http://www.opengis.net/gml' 
+    xmlns:wfs='http://www.opengis.net/wfs'
+    xmlns:xlink='http://www.w3.org/1999/xlink'
+    version="1.0">
+<!--
+Description: Convert a Web Map Context into a HTML Legend
+Author:      Cameron Shorter cameron ATshorter.net
+Licence:     LGPL as per: http://www.gnu.org/copyleft/lesser.html
+
+$Id: Legend.xsl 3926 2008-03-20 14:13:35Z steven $
+$Name$
+-->
+  <xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
+  
+  <!-- The common params set for all widgets -->
+  <xsl:param name="lang">en</xsl:param>
+  <xsl:param name="modelId"/>
+  <xsl:param name="widgetId"/>
+
+  <xsl:param name="skinDir"/>
+  
+  <!-- Text params for this widget -->
+  <xsl:param name="title"/>
+  
+<!-- The name of the javascript context object to call -->
+  <xsl:param name="featureName"/>
+  <xsl:param name="hidden"/>
+  <xsl:param name="context">config.objects.<xsl:value-of select="$modelId"/></xsl:param>
+
+<!-- Main html -->
+  
+  <xsl:template match="/wmc:OWSContext">
+    <table border="0" cellpadding="1" cellspacing="0">
+    
+      <xsl:apply-templates select="wmc:ResourceList/wmc:Layer">
+        <xsl:sort select="position()" order="descending" data-type="number"/>
+      </xsl:apply-templates>
+      
+     <xsl:apply-templates select="wmc:ResourceList/wmc:RssLayer">
+        <xsl:sort select="position()" order="descending" data-type="number"/>
+      </xsl:apply-templates>
+    </table>
+  </xsl:template>
+  
+  <xsl:template match="/wfs:FeatureCollection">
+    <table border="0" cellpadding="1" cellspacing="0">
+      <tr>
+        <th colspan="3">WFS Features</th>
+      </tr>
+      <tr>
+  <!-- Visiblity -->
+        <td>
+          <xsl:if test="$hidden='false'">
+            <input type="checkbox" checked="true" id="legend_{$featureName}" onclick="{$context}.setHidden('{$featureName}',!document.getElementById('legend_{$featureName}').checked)"/>
+          </xsl:if>
+          <xsl:if test="$hidden='true'">
+            <input type="checkbox" id="legend_{$featureName}" onclick="{$context}.setHidden('{$featureName}',! document.getElementById('legend_{$featureName}').checked)"/>
+          </xsl:if>
+        </td>
+  <!-- No query capability yet -->
+        <td>
+        </td>
+        <td>
+          <xsl:value-of select="$featureName"/>
+        </td>
+      </tr>
+    </table>
+  </xsl:template>
+  
+<!-- Layer -->
+  <xsl:template match="wmc:Layer">
+    <tr>
+  <!-- Visiblity -->
+      <td>
+        <xsl:if test="@hidden='0'">
+          <input type="checkbox" checked="true" id="legend_{wmc:Name}" onclick="{$context}.setHidden('{wmc:Name}',!document.getElementById('legend_{wmc:Name}').checked)"/>
+        </xsl:if>
+        <xsl:if test="@hidden='1'">
+          <input type="checkbox" id="legend_{wmc:Name}" onclick="{$context}.setHidden('{wmc:Name}',! document.getElementById('legend_{wmc:Name}').checked)"/>
+        </xsl:if>
+      </td>
+  <!-- Query Image -->
+      <td>
+        <xsl:if test="@queryable='1'">
+          <img
+            id="query_{wmc:Name}"
+            title="Click to set {wmc:Title} as the query layer"
+            onclick="config.objects.{$widgetId}.selectLayer(config.objects.{$widgetId},'{wmc:Name}')"
+            src="{$skinDir}/images/id.gif" />
+        </xsl:if>
+      </td>
+  <!-- Title -->
+      <td>
+        <xsl:choose>
+          <xsl:when test="wmc:Title/@xml:lang">              
+            <xsl:value-of select="wmc:Title[@xml:lang=$lang]"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="wmc:Title"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </td>
+    </tr>
+  <!-- StyleList -->
+    <tr>
+      <td></td>
+      <td></td>
+      <td>
+      <xsl:if test="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL"> 
+          <xsl:element name="IMG">
+              <xsl:attribute name="SRC">
+                <xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL/wmc:OnlineResource/@xlink:href"/> 
+              </xsl:attribute>
+          </xsl:element>
+         </xsl:if>
+      </td>
+    </tr>
+  </xsl:template>
+  
+   <xsl:template match="wmc:RssLayer">
+    <tr>
+  <!-- Visiblity -->
+      <td>
+        <xsl:if test="@hidden='0'">
+          <input type="checkbox" checked="true" id="legend_{wmc:Title}" onclick="{$context}.setHidden('{@id}',!document.getElementById('legend_{wmc:Title}').checked)"/>
+        </xsl:if>
+        <xsl:if test="@hidden='1'">
+          <input type="checkbox" id="legend_{wmc:Title}" onclick="{$context}.setHidden('{@id}',! document.getElementById('legend_{wmc:Title}').checked)"/>
+        </xsl:if>
+      </td>
+  <!-- Query Image -->
+      <td>
+        <xsl:if test="@queryable='1'">
+          <img
+            id="query_{wmc:Name}"
+            title="Click to set {wmc:Title} as the query layer"
+            onclick="config.objects.{$widgetId}.selectLayer(config.objects.{$widgetId},'{wmc:Name}')"
+            src="{$skinDir}/images/id.gif" />
+        </xsl:if>
+      </td>
+  <!-- Title -->
+      <td>
+        <xsl:choose>
+          <xsl:when test="wmc:Title/@xml:lang">              
+            <xsl:value-of select="wmc:Title[@xml:lang=$lang]"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="wmc:Title"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </td>
+    </tr>
+  <!-- StyleList -->
+    <tr>
+      <td></td>
+      <td></td>
+      <td>
+      <xsl:if test="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL"> 
+          <xsl:element name="IMG">
+              <xsl:attribute name="SRC">
+                <xsl:value-of select="wmc:StyleList/wmc:Style[@current='1']/wmc:LegendURL/wmc:OnlineResource/@xlink:href"/> 
+              </xsl:attribute>
+          </xsl:element>
+         </xsl:if>
+      </td>
+    </tr>
+  </xsl:template>
+  
+  <xsl:template match="text()|@*"/>
+  
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/Google/config.xml
===================================================================
--- lib/spatial/mapbuilder/examples/Google/config.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/Google/config.xml	(revision 4307)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="simpleTemplate"
+  xmlns="http://mapbuilder.sourceforge.net/mapbuilder"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+  <models>
+    <OwsContext id="mainMap">
+      <defaultModelUrl>../data/context/google.xml</defaultModelUrl>
+      <widgets>
+        <MapPaneOL id="mainMapWidget">
+          <htmlTagId>mainMapPane</htmlTagId>
+        </MapPaneOL>
+       <PanZoomBar id="panZoomBar"/>
+      </widgets>
+      <tools>
+        <History id="extentHistory"/>
+        </tools>
+        <nodeSelectXpath>/wmc:ViewContext/wmc:LayerList/wmc:Layer</nodeSelectXpath>
+    </OwsContext>
+  </models>
+
+  <widgets>
+    <Back id="back">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/UndoDisable.png</disabledSrc>
+    </Back>
+    <Forward id="forward">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/RedoDisable.png</disabledSrc>
+    </Forward>
+  
+    <Reset id="reset">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+    </Reset>
+    <ExampleList id="exampleList"><!-- this is the widget that draws the example menu -->
+		<scriptFile>../ExampleList.js</scriptFile>
+		<stylesheet>../ExampleList.xsl</stylesheet>
+    </ExampleList>
+  </widgets>
+  <skinDir>../../lib/skin/default</skinDir>
+  <widgetTextUrl>widgetText.xml</widgetTextUrl>
+  <!-- relative to the skin dir -->
+</MapbuilderConfig>
Index: lib/spatial/mapbuilder/examples/catalog/config.xml
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/config.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/config.xml	(revision 4307)
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<MapbuilderConfig version="0.2.1" id="simpleTemplate" xmlns="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mapbuilder.sourceforge.net/mapbuilder ../../lib/schemas/config.xsd">
+  <models>
+    <OwsContext id="mainMap">
+      <scriptFile>OwsContext.js</scriptFile>
+      <defaultModelUrl>context.xml</defaultModelUrl>
+      <widgets>
+        <MapPaneOL id="mainMapWidget">
+          <scriptFile>MapPaneOL.js</scriptFile>
+          <htmlTagId>mainMapPane</htmlTagId>
+           <displayOutsideMaxExtent>true</displayOutsideMaxExtent>
+          <fixedSize>true</fixedSize>
+        </MapPaneOL>
+        <!--
+        <Loading2 id="loading2">
+          <mapContainerId>mainMapPane</mapContainerId>
+        </Loading2>
+        -->
+        <LayerControl id="contextLegend">
+          <scriptFile>LayerControl.js</scriptFile>
+          <stylesheet>LayerControl.xsl</stylesheet>
+          <htmlTagId>layerControl</htmlTagId>
+          <title>Layer Control</title>
+        </LayerControl>        
+        <LayerMetadata id="layerMetadata1">
+          <scriptFile>LayerMetadata.js</scriptFile>
+          <stylesheet>LayerMetadata.xsl</stylesheet>
+        </LayerMetadata>
+        <!--
+        <LayerMaxFeatures id="layerMaxFeatures">
+          <maxFeatures>5</maxFeatures>
+        </LayerMaxFeatures>
+        -->
+        <CursorTrack id="cursorTrack"/>
+        <ModelUrlInput id="urlInput">
+        </ModelUrlInput>
+      </widgets>
+    </OwsContext>
+    <!-- Contains the results of a catalog search -->
+    <Model id="catalogSearchResults">
+      <!--defaultModelUrl>WRS_Service+Layers_GetRecords.xml</defaultModelUrl-->
+      <widgets>
+        <Loading2 id="loading">
+          <htmlTagId>loading</htmlTagId>
+          <imageSrc>/images/LoadingSpinner.gif</imageSrc>
+          <textMessage>searching</textMessage>
+        </Loading2>
+      </widgets>
+    </Model>
+    <!-- Contains the results of a search, converted into OWSContext format -->
+    <OwsContext id="normalizedSearchResults">
+      <!--
+      -->
+      <defaultModelUrl>context2.xml</defaultModelUrl>
+      <widgets>
+        <LayerControl id="selectLayer">
+          <scriptFile>LayerControl.js</scriptFile>
+          <stylesheet>LayerControl.xsl</stylesheet>
+          <htmlTagId>selectLayer</htmlTagId>
+          <targetModel>mainMap</targetModel>
+          <title>Search Results</title>
+          <mode>layerselect</mode><!-- options: default, selectlayer -->
+          <!--
+          <limitImageEnable>/images/LimitDisable.png</limitImageEnable>
+          <limitImageDisable>/images/LimitDisable.png</limitImageDisable>
+          <saveImageEnable>/images/SaveEnable.png</saveImageEnable>
+          <saveImageDisable>/images/SaveDisable.png</saveImageDisable>
+          <loadingImage>/images/LoadingSpinner.gif</loadingImage>
+          -->
+        </LayerControl>
+        <LayerMetadata id="layerMetadata2">
+          <scriptFile>LayerMetadata.js</scriptFile>
+          <stylesheet>LayerMetadata.xsl</stylesheet>
+        </LayerMetadata>
+      </widgets>
+    </OwsContext>
+    <Model id="filterExpression">
+      <defaultModelUrl>filter.xml</defaultModelUrl>
+      <widgets>
+        <CatalogSearchForm id="catalogSearchForm">
+          <scriptFile>CatalogSearchForm.js</scriptFile>
+          <stylesheet>CatalogSearchForm.xsl</stylesheet>
+          <htmlTagId>catalogSearchForm</htmlTagId>
+          <targetModel>catalogSearchResults</targetModel>
+          <targetContext>normalizedSearchResults</targetContext>
+          <wrsUrl>http://www.cubewerx-cgdi.com/Lisasoft/cubeserv.cgi</wrsUrl>
+          <wrsServiceAssociation>Serves</wrsServiceAssociation><!-- Can be: Serves, OperatesOn -->
+          <mapModel>mainMap</mapModel>
+          <sourceContext>mainMap</sourceContext>
+          <conversionStyleSheet>ebrim2Context.xsl</conversionStyleSheet>
+          <convert2ContextXsl>ebrim2Context.xsl</convert2ContextXsl>
+          <queryXsl>wrs_Query.xsl</queryXsl>
+        </CatalogSearchForm>
+      </widgets>
+    </Model>
+    <!--
+    <Model id="locationSearch">
+      <defaultModelUrl>locationSearch.xml</defaultModelUrl>
+      <widgets>
+        <LocationSearch id="locationSearchForm">
+          <htmlTagId>locationSearch</htmlTagId>
+          <targetModel>locationResults</targetModel>
+          <wfsUrl>http://www.pvretano.com/cgdi/geoserver/cwwfs.cgi</wfsUrl>
+
+          <resultNameXpath>concat(gb:PlaceName/gb:geographicalName, ' (', gb:PlaceName/gb:regionName , ')')</resultNameXpath> 
+          <resultValueXpath>.//gml:Point/gml:coordinates</resultValueXpath> 
+
+        </LocationSearch>
+      </widgets>
+    </Model>
+    -->
+
+    <!--
+    <Model id="locationResults">
+      <widgets>
+        <Loading2 id="loadingLocationSearch">
+          <htmlTagId>loadingLocationSearch</htmlTagId>
+          <imageSrc>/images/LoadingSpinner.gif</imageSrc>
+          <textMessage>searching</textMessage>
+        </Loading2>
+      </widgets>
+    </Model>
+    -->
+    <Model id="catalogCollection">
+      <defaultModelUrl>../data/context/worldMapsAtomFeed.xml</defaultModelUrl>
+      <widgets>
+        <SelectFromAtomFeed id="selectFromAtomFeed">
+          <htmlTagId>selectFromAtomFeed</htmlTagId>
+          <targetModel>mainMap</targetModel>
+        </SelectFromAtomFeed>
+      </widgets>
+    </Model>
+  </models>
+  <widgets>
+    <ZoomIn id="zoomIn">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <selected>true</selected>
+      <enabledSrc>/images/ZoomInEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomInDisable.png</disabledSrc>
+    </ZoomIn>
+    <ZoomOut id="zoomOut">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/ZoomOutEnable.png</enabledSrc>
+      <disabledSrc>/images/ZoomOutDisable.png</disabledSrc>
+    </ZoomOut>
+    <DragPan id="dragPan">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>RadioButton</class>
+      <enabledSrc>/images/PanEnable.png</enabledSrc>
+      <disabledSrc>/images/PanDisable.png</disabledSrc>
+    </DragPan>
+    <Reset id="reset">
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/ResetExtentDisable.png</disabledSrc>
+    </Reset>
+    <Save id="saveContext">
+      <scriptFile>Save.js</scriptFile>
+      <buttonBar>mainButtonBar</buttonBar>
+      <targetModel>mainMap</targetModel>
+      <class>Button</class>
+      <disabledSrc>/images/SaveDisable.png</disabledSrc>
+      <tooltip>Save OWS Context</tooltip>
+    </Save>
+    <ExampleList id="exampleList"><!-- this is the widget that draws the example menu -->
+      <scriptFile>../ExampleList.js</scriptFile>
+      <stylesheet>../ExampleList.xsl</stylesheet>
+    </ExampleList>
+  </widgets>
+  <skinDir>../../lib/skin/default</skinDir>
+</MapbuilderConfig>
+
Index: lib/spatial/mapbuilder/examples/catalog/iba-gml.xml
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/iba-gml.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/iba-gml.xml	(revision 4307)
@@ -0,0 +1,219 @@
+<?xml version='1.0' encoding="ISO-8859-1" ?>
+<wfs:FeatureCollection
+   xmlns:bsc="http://www.bsc-eoc.org/bsc"
+   xmlns:wfs="http://www.opengis.net/wfs"
+   xmlns:gml="http://www.opengis.net/gml"
+   xmlns:ogc="http://www.opengis.net/ogc"
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengeospatial.net//wfs/1.0.0/WFS-basic.xsd 
+                       http://www.bsc-eoc.org/bsc http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=DescribeFeatureType&amp;TYPENAME=IBA&amp;OUTPUTFORMAT=XMLSCHEMA">
+      <gml:boundedBy>
+      	<gml:Box srsName="EPSG:4326">
+      		<gml:coordinates>-141.237629,41.671768 -52.666977,78.105913</gml:coordinates>
+      	</gml:Box>
+      </gml:boundedBy>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-77.768674,62.405510 -76.865336,62.580432</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-77.730316,62.444783 -77.768674,62.463976 -77.763471,62.481493 -77.742587,62.495028 -77.651652,62.524109 -77.579393,62.550166 -77.524814,62.562756 -77.441443,62.580432 -77.380500,62.578855 -77.277540,62.565803 -77.205524,62.556275 -77.143260,62.549974 -77.033839,62.542262 -76.971316,62.539786 -76.932795,62.544958 -76.894162,62.536783 -76.875762,62.513570 -76.865336,62.504755 -76.866047,62.485112 -76.881553,62.472410 -76.920695,62.456001 -76.964582,62.450585 -76.992677,62.449935 -77.102773,62.450917 -77.182819,62.452243 -77.245887,62.448314 -77.318906,62.443704 -77.327750,62.441426 -77.374623,62.434317 -77.412908,62.425574 -77.466576,62.412444 -77.496264,62.405510 -77.551665,62.406850 -77.633496,62.425863 -77.671911,62.434286 -77.730316,62.444783 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-62.590780,67.183106 -62.385504,67.257191</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-62.421951,67.253520 -62.421951,67.253520 -62.400747,67.246483 -62.388125,67.236840 -62.385685,67.231462 -62.385504,67.230535 -62.385817,67.225133 -62.389349,67.219261 -62.391253,67.217162 -62.396397,67.212759 -62.403568,67.208706 -62.411951,67.204767 -62.422926,67.200611 -62.424245,67.200352 -62.425133,67.199965 -62.443211,67.194879 -62.453467,67.191869 -62.460535,67.188849 -62.485367,67.183949 -62.513136,67.183106 -62.539627,67.186447 -62.560818,67.193466 -62.565793,67.196245 -62.580864,67.205864 -62.588564,67.212715 -62.590780,67.223492 -62.582181,67.233777 -62.564066,67.242003 -62.539192,67.246915 -62.522212,67.247915 -62.514313,67.249948 -62.513733,67.250051 -62.511971,67.250525 -62.501532,67.252989 -62.483669,67.256000 -62.475319,67.256704 -62.469460,67.257057 -62.449958,67.257191 -62.423402,67.253835 -62.423402,67.253835 -62.421951,67.253520 -62.421951,67.253520 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.998088,73.452108 -79.665941,73.798621</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-79.686151,73.708832 -79.665941,73.452108 -80.967492,73.467289 -80.963724,73.480878 -80.951174,73.487980 -80.915014,73.501475 -80.903644,73.509968 -80.910424,73.518964 -80.935881,73.527833 -80.971654,73.541304 -80.975734,73.556706 -80.957173,73.571328 -80.961333,73.574884 -80.967173,73.585129 -80.995435,73.599425 -80.998088,73.610782 -80.990135,73.620810 -80.971061,73.630135 -80.958410,73.637233 -80.905602,73.653634 -80.901372,73.655999 -80.886951,73.662325 -80.882933,73.667336 -80.878626,73.675620 -80.880714,73.687602 -80.875898,73.696511 -80.879568,73.700693 -80.890654,73.707319 -80.888859,73.712471 -80.909833,73.724327 -80.941559,73.731592 -80.958346,73.745807 -80.946289,73.760840 -80.906827,73.774805 -80.851694,73.781855 -80.825739,73.784820 -80.784091,73.786787 -80.731549,73.784761 -80.690214,73.783438 -80.665956,73.787154 -80.635331,73.795727 -80.557450,73.798621 -80.461471,73.797680 -80.343370,73.789316 -80.290085,73.782521 -80.239481,73.772589 -80.194227,73.756400 -80.161902,73.741716 -80.138546,73.741480 -80.110080,73.752779 -80.060959,73.763355 -79.996968,73.763683 -79.937127,73.753708 -79.891727,73.740728 -79.838574,73.725885 -79.751729,73.714662 -79.686151,73.708832 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-90.420540,73.941636 -89.726205,74.113665</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-89.912836,73.950241 -89.933936,73.946118 -89.956962,73.942954 -89.980557,73.941636 -90.004728,73.942163 -90.028901,73.942689 -90.061182,73.945833 -90.087809,73.949464 -90.108948,73.952975 -90.136442,73.957536 -90.155821,73.959475 -90.171903,73.961343 -90.193657,73.962717 -90.224300,73.963968 -90.248344,73.965078 -90.276712,73.966580 -90.302232,73.970467 -90.333965,73.976007 -90.346293,73.979620 -90.361206,73.986037 -90.373466,73.989953 -90.380921,73.995301 -90.387758,73.998801 -90.396404,74.003866 -90.405214,74.008323 -90.410479,74.013625 -90.417795,74.019579 -90.420540,74.026054 -90.419413,74.034591 -90.418058,74.039761 -90.416541,74.045539 -90.411946,74.050338 -90.406547,74.058179 -90.395465,74.062237 -90.391181,74.065820 -90.382224,74.070226 -90.367644,74.074825 -90.352192,74.078489 -90.342355,74.081959 -90.334030,74.083931 -90.322132,74.086748 -90.309287,74.088933 -90.294139,74.091377 -90.278904,74.094123 -90.259395,74.096170 -90.244234,74.098610 -90.229235,74.100442 -90.209964,74.101572 -90.190522,74.103309 -90.179094,74.104295 -90.162119,74.105164 -90.142923,74.105985 -90.112121,74.108394 -90.088653,74.108509 -90.083107,74.108392 -90.065186,74.108622 -90.056225,74.108737 -90.041371,74.109948 -90.032236,74.110670 -90.010809,74.111432 -89.990140,74.113433 -89.986724,74.113665 -89.978957,74.113496 -89.967950,74.112952 -89.963512,74.112856 -89.950288,74.112262 -89.933824,74.111291 -89.911906,74.109893 -89.900240,74.107802 -89.890794,74.105759 -89.863971,74.102108 -89.854712,74.099456 -89.844258,74.097082 -89.828718,74.093066 -89.800619,74.086319 -89.786297,74.082020 -89.759613,74.074382 -89.748347,74.067396 -89.733682,74.060638 -89.728609,74.055322 -89.726208,74.048536 -89.726205,74.044865 -89.727949,74.039092 -89.729875,74.032711 -89.730883,74.029369 -89.735660,74.024582 -89.739330,74.019771 -89.747502,74.014756 -89.752817,74.008145 -89.761718,74.004370 -89.764741,74.001685 -89.773441,73.994846 -89.783432,73.991095 -89.792950,73.985191 -89.799629,73.981364 -89.812999,73.977382 -89.821512,73.974820 -89.831392,73.971371 -89.837520,73.969367 -89.850604,73.966295 -89.858750,73.964947 -89.862673,73.962893 -89.873638,73.959466 -89.880768,73.957790 -89.891460,73.955274 -89.898763,73.952989 -89.904877,73.950982 -89.912836,73.950241 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-68.459705,60.184329 -67.806667,60.606716</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-68.259718,60.585969 -68.255479,60.588910 -68.249274,60.590829 -68.249068,60.590846 -68.248899,60.590897 -68.197235,60.599974 -68.196934,60.599998 -68.194152,60.600374 -68.121526,60.606584 -68.117754,60.606716 -68.110608,60.605907 -68.080502,60.599244 -68.080064,60.599090 -68.079612,60.599033 -68.055590,60.592942 -68.023540,60.592643 -68.005691,60.593667 -68.002921,60.593725 -67.995780,60.592909 -67.989819,60.590812 -67.985943,60.587752 -67.978624,60.578203 -67.962947,60.559297 -67.942183,60.542152 -67.920720,60.535061 -67.917476,60.533702 -67.913871,60.530958 -67.903210,60.518407 -67.889921,60.512065 -67.867627,60.505424 -67.866645,60.505031 -67.865434,60.504659 -67.848820,60.497932 -67.833397,60.495894 -67.830489,60.495379 -67.824557,60.493274 -67.820710,60.490209 -67.816635,60.484835 -67.815841,60.483481 -67.809606,60.468703 -67.809498,60.468081 -67.809280,60.467604 -67.806723,60.452760 -67.806667,60.451655 -67.808339,60.448146 -67.808810,60.447823 -67.808983,60.447513 -67.827567,60.430866 -67.828189,60.424283 -67.828445,60.423760 -67.829445,60.421359 -67.840186,60.407728 -67.840459,60.407529 -67.840589,60.407256 -67.860278,60.385835 -67.860711,60.385536 -67.860871,60.385245 -67.871859,60.375239 -67.875512,60.372901 -67.881697,60.371000 -67.888879,60.370416 -67.888994,60.370429 -67.889106,60.370421 -67.892696,60.370502 -67.895870,60.369641 -67.901482,60.360711 -67.902306,60.359638 -67.913133,60.347815 -67.913444,60.347600 -67.913561,60.347378 -67.927898,60.333672 -67.931706,60.331180 -67.931722,60.331175 -67.931734,60.331167 -67.940257,60.327226 -67.937435,60.316780 -67.937368,60.316112 -67.937284,60.315906 -67.936447,60.305028 -67.936563,60.304734 -67.936443,60.304373 -67.937366,60.302702 -67.938093,60.300863 -67.938561,60.300539 -67.938732,60.300229 -67.948647,60.291267 -67.957116,60.281981 -67.961342,60.279051 -67.967503,60.277147 -67.974663,60.276558 -67.981731,60.277374 -67.983234,60.277754 -67.998877,60.282153 -68.013473,60.286183 -68.023411,60.287170 -68.025118,60.286480 -68.030283,60.285004 -68.037443,60.284412 -68.042040,60.284772 -68.051285,60.286101 -68.056772,60.286306 -68.058089,60.285172 -68.065237,60.273663 -68.066054,60.272589 -68.070268,60.269655 -68.076421,60.267746 -68.083577,60.267151 -68.087291,60.267419 -68.107967,60.257664 -68.108002,60.257653 -68.108026,60.257636 -68.114175,60.255725 -68.121326,60.255128 -68.123071,60.255195 -68.142619,60.256405 -68.151107,60.255791 -68.151932,60.254877 -68.157524,60.246799 -68.158144,60.246021 -68.166832,60.236398 -68.169573,60.234229 -68.184875,60.225193 -68.186333,60.224426 -68.192470,60.222511 -68.193260,60.222444 -68.193820,60.222284 -68.202890,60.220951 -68.214585,60.214036 -68.216041,60.213268 -68.222175,60.211352 -68.229314,60.210749 -68.229355,60.210753 -68.229396,60.210750 -68.261054,60.211259 -68.312639,60.189763 -68.317916,60.188218 -68.320955,60.187782 -68.354208,60.184503 -68.358301,60.184329 -68.365358,60.185124 -68.366861,60.185499 -68.398003,60.194156 -68.423860,60.200751 -68.428847,60.202607 -68.432718,60.205653 -68.432780,60.205832 -68.432953,60.205974 -68.453196,60.235293 -68.453299,60.235624 -68.454031,60.237034 -68.459536,60.256886 -68.459705,60.258374 -68.459618,60.258566 -68.459672,60.258741 -68.457548,60.275136 -68.456999,60.276245 -68.456382,60.277811 -68.446373,60.290939 -68.436265,60.311942 -68.426030,60.335331 -68.425602,60.335980 -68.425483,60.336314 -68.409819,60.359394 -68.410328,60.364917 -68.410216,60.365212 -68.410341,60.365572 -68.409410,60.368229 -68.399096,60.383719 -68.398426,60.384578 -68.380216,60.404845 -68.372203,60.417591 -68.371432,60.418603 -68.371180,60.418780 -68.371086,60.418966 -68.354956,60.434970 -68.344811,60.451812 -68.340795,60.461999 -68.339521,60.463993 -68.323459,60.481782 -68.316658,60.489307 -68.314924,60.498031 -68.314594,60.498646 -68.314225,60.499782 -68.299447,60.524080 -68.299263,60.524323 -68.299231,60.524411 -68.293351,60.532894 -68.292729,60.533673 -68.286770,60.540249 -68.283470,60.547429 -68.283086,60.547997 -68.282979,60.548298 -68.273631,60.562167 -68.274122,60.567720 -68.274008,60.568015 -68.274132,60.568376 -68.272506,60.571891 -68.267123,60.577819 -68.259718,60.585969 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-94.268932,68.107470 -92.420393,69.171107</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-93.726505,68.970256 -93.236335,69.171107 -93.202050,69.165825 -93.146784,69.162790 -93.104982,69.164822 -93.098671,69.157344 -93.135155,69.135496 -93.143898,69.113353 -93.172762,69.098829 -93.173357,69.091423 -93.152825,69.088741 -93.139005,69.088597 -93.132704,69.081119 -92.922874,69.031845 -92.911354,69.006998 -92.857903,68.989062 -92.640867,68.956644 -92.554754,68.925811 -92.480878,68.848131 -92.446183,68.790761 -92.420393,68.716195 -92.427817,68.649528 -92.434381,68.590262 -92.423145,68.508462 -92.430495,68.441773 -92.434831,68.402251 -92.503604,68.324081 -92.660234,68.229783 -92.717315,68.190960 -92.793424,68.159790 -92.970046,68.114966 -93.182849,68.107470 -93.493763,68.117924 -93.538776,68.117943 -93.592894,68.123719 -93.731733,68.132229 -93.942335,68.170768 -94.041294,68.188665 -94.232278,68.246510 -94.268932,68.263042 -94.224637,68.276151 -94.191013,68.283415 -94.210129,68.310705 -94.222598,68.337962 -94.221779,68.362685 -94.213921,68.397264 -94.166699,68.404460 -94.146208,68.414250 -94.138949,68.429049 -94.091352,68.443639 -94.036867,68.460651 -93.982088,68.482588 -93.907337,68.496967 -93.839604,68.503943 -93.805405,68.513600 -93.764304,68.525674 -93.716684,68.532745 -93.675221,68.549740 -93.627379,68.559258 -93.599768,68.568926 -93.571527,68.588474 -93.570311,68.608242 -93.596786,68.618345 -93.623871,68.618561 -93.698496,68.616662 -93.766338,68.614684 -93.779100,68.629605 -93.758378,68.636874 -93.757319,68.656641 -93.749069,68.683771 -93.725840,68.735506 -93.745318,68.752947 -93.737831,68.765250 -93.689146,68.782193 -93.647649,68.791763 -93.646487,68.811524 -93.631803,68.828709 -93.596129,68.853140 -93.615608,68.870591 -93.649109,68.883206 -93.661511,68.905539 -93.679517,68.950147 -93.671930,68.962444 -93.733791,68.962897 -93.726505,68.970256 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-105.500801,66.332710 -97.119186,68.489296</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-105.486069,68.453590 -105.494347,68.459167 -105.483406,68.465965 -105.474495,68.459305 -105.462555,68.459267 -105.449844,68.463150 -105.426277,68.480286 -105.419701,68.472885 -105.410400,68.475227 -105.400345,68.479004 -105.390411,68.479408 -105.390633,68.489273 -105.380379,68.489052 -105.370735,68.486610 -105.360504,68.489296 -105.351028,68.488907 -105.343079,68.483780 -105.334373,68.480255 -105.325356,68.477402 -105.316803,68.472733 -105.308861,68.464417 -105.300011,68.461342 -105.290085,68.460320 -105.277206,68.459579 -104.001961,68.248901 -103.433472,68.165489 -103.381783,68.158211 -102.000793,68.083633 -100.622681,68.000694 -99.998604,67.956985 -98.377411,67.830147 -98.138405,67.830154 -97.434715,67.726135 -97.340584,67.711929 -97.145500,67.682259 -97.152550,67.672592 -97.159851,67.664070 -97.159874,67.653519 -97.150742,67.648346 -97.156990,67.639877 -97.164490,67.634491 -97.177208,67.629761 -97.188179,67.628319 -97.198242,67.627113 -97.208054,67.624245 -97.219200,67.621605 -97.228836,67.619423 -97.238754,67.617867 -97.251244,67.615234 -97.261299,67.613899 -97.273468,67.611946 -97.287445,67.609207 -97.298119,67.607079 -97.307594,67.604660 -97.317825,67.602013 -97.332260,67.598465 -97.343071,67.596390 -97.353889,67.593803 -97.364243,67.592125 -97.374886,67.590561 -97.386276,67.588890 -97.396545,67.583557 -97.406456,67.580963 -97.416420,67.575630 -97.409737,67.566200 -97.401222,67.558762 -97.394485,67.552643 -97.386528,67.547714 -97.374550,67.542656 -97.364914,67.540001 -97.355270,67.537575 -97.345787,67.534981 -97.332603,67.531059 -97.323280,67.528061 -97.314713,67.524895 -97.301712,67.520004 -97.292892,67.515297 -97.284813,67.510651 -97.275406,67.505653 -97.266449,67.500656 -97.256386,67.498169 -97.244987,67.495956 -97.234299,67.494720 -97.223633,67.492851 -97.214165,67.490700 -97.201927,67.486656 -97.188530,67.481865 -97.180496,67.476585 -97.170914,67.468849 -97.160828,67.462982 -97.149063,67.458710 -97.138962,67.458664 -97.129150,67.458679 -97.119186,67.454239 -97.119820,67.443581 -97.131744,67.437477 -97.142860,67.438156 -97.153656,67.434608 -97.163734,67.435165 -97.174561,67.435669 -97.183113,67.427269 -97.194077,67.422806 -97.205948,67.422974 -97.218140,67.422165 -97.226891,67.416557 -97.230576,67.406418 -97.233673,67.395996 -97.234398,67.385612 -97.234497,67.376205 -97.239899,67.368126 -97.250153,67.366631 -97.256721,67.358780 -97.265358,67.350716 -97.276756,67.350365 -97.288361,67.347778 -97.297600,67.345131 -97.307487,67.339691 -97.312988,67.332184 -97.323029,67.332504 -97.328819,67.324997 -97.332558,67.316620 -97.343269,67.313240 -97.349915,67.306358 -97.359322,67.301651 -97.368927,67.301117 -97.377266,67.304672 -97.387177,67.304138 -97.394279,67.295944 -97.406616,67.291534 -97.415817,67.288475 -97.421486,67.277657 -97.422417,67.267113 -97.421593,67.255989 -97.430382,67.250877 -97.439690,67.249191 -97.448799,67.250702 -97.447731,67.261131 -97.459869,67.266983 -97.469177,67.265526 -97.476227,67.258469 -97.481544,67.266861 -97.486717,67.274918 -97.496857,67.277565 -97.501701,67.269249 -97.512794,67.266769 -97.524200,67.263023 -97.531967,67.255859 -97.544662,67.254341 -97.549049,67.245972 -97.559715,67.241028 -97.572739,67.236320 -97.582626,67.234566 -97.594261,67.233681 -97.612427,67.228951 -97.602409,67.216125 -97.599571,67.207054 -97.607590,67.199936 -97.616302,67.196304 -97.621231,67.188324 -97.633308,67.185547 -97.646667,67.187218 -97.654518,67.179817 -97.661919,67.173553 -97.666832,67.165573 -97.669853,67.155655 -97.660484,67.152565 -97.650063,67.153008 -97.639542,67.148087 -97.633621,67.138840 -97.648453,67.125977 -97.644821,67.117294 -97.641380,67.108505 -97.635902,67.099663 -97.644318,67.091972 -97.655632,67.087372 -97.666023,67.086868 -97.676834,67.089165 -97.687088,67.088547 -97.688179,67.079483 -97.695824,67.074303 -97.706795,67.073288 -97.716309,67.072327 -97.727142,67.071022 -97.736214,67.069550 -97.742691,67.061684 -97.750183,67.053650 -97.757370,67.047890 -97.762672,67.038544 -97.772461,67.037636 -97.784729,67.036102 -97.795410,67.030632 -97.803894,67.024818 -97.812515,67.018661 -97.825073,67.013306 -97.836174,67.008461 -97.845802,67.000420 -97.856918,66.998070 -97.859726,66.989052 -97.869637,66.987946 -97.879738,66.990891 -97.888565,66.984993 -97.886841,66.975746 -97.883080,66.966965 -97.888336,66.956848 -97.897957,66.956772 -97.906357,66.953331 -97.913857,66.947662 -97.919716,66.939713 -97.915932,66.930008 -97.919441,66.921097 -97.929604,66.919647 -97.940285,66.913971 -97.942917,66.905052 -97.954948,66.902916 -97.964821,66.902145 -97.968018,66.893173 -97.978104,66.888069 -97.987595,66.882278 -97.984375,66.872177 -97.988701,66.862175 -97.978668,66.860947 -97.972717,66.852394 -97.966194,66.843788 -97.958115,66.837471 -97.958694,66.828339 -97.964516,66.820900 -97.972107,66.815453 -97.982735,66.810005 -97.994949,66.804436 -98.004684,66.798622 -98.009468,66.788437 -98.011368,66.778206 -98.019768,66.770752 -98.025963,66.762245 -98.026001,66.751755 -98.013184,66.748642 -98.004372,66.745941 -97.993774,66.745056 -97.984467,66.741768 -97.975716,66.736420 -97.967506,66.729134 -97.964043,66.720406 -97.967621,66.709663 -97.971947,66.700859 -97.976395,66.690567 -97.982849,66.680161 -97.990067,66.672890 -97.991173,66.661522 -97.997070,66.653061 -98.006500,66.644676 -98.009888,66.633842 -98.009918,66.623466 -98.009392,66.613029 -98.009811,66.603058 -98.001968,66.596947 -98.009857,66.588295 -98.019417,66.588730 -98.028778,66.594009 -98.038536,66.599747 -98.048119,66.598473 -98.055031,66.592361 -98.060310,66.577965 -98.069984,66.575722 -98.079727,66.571259 -98.088219,66.566368 -98.095810,66.558960 -98.098022,66.547821 -98.088005,66.544930 -98.079903,66.550285 -98.074059,66.558914 -98.065849,66.566711 -98.055664,66.566895 -98.054054,66.551193 -98.061600,66.545776 -98.059891,66.535439 -98.058914,66.524986 -98.044632,66.524826 -98.037041,66.519173 -98.041458,66.510635 -98.038795,66.498451 -98.039131,66.487801 -98.047668,66.479324 -98.058762,66.482628 -98.069710,66.478638 -98.078407,66.474274 -98.087463,66.475098 -98.097176,66.467552 -98.094528,66.446075 -98.099586,66.437889 -98.111969,66.433517 -98.110580,66.424202 -98.113701,66.415298 -98.119461,66.405586 -98.123764,66.396240 -98.125641,66.377243 -98.113297,66.380638 -98.111626,66.390755 -98.102707,66.393356 -98.089996,66.390991 -98.078545,66.390305 -98.079910,66.380577 -98.078857,66.369331 -98.086380,66.362038 -98.097504,66.361526 -98.107910,66.358093 -98.112556,66.349556 -98.113701,66.339027 -98.123741,66.337814 -98.134918,66.339691 -99.064590,66.333565 -99.998375,66.334229 -100.998322,66.333740 -102.001381,66.332710 -103.000191,66.333351 -104.001205,66.334633 -104.985023,66.334488 -104.975403,66.343758 -104.971352,66.354202 -104.964302,66.362770 -104.954941,66.365746 -104.944138,66.367126 -104.932777,66.369476 -104.922974,66.371941 -104.909760,66.375259 -104.897675,66.376122 -104.888145,66.376076 -104.876053,66.376312 -104.864532,66.376831 -104.860291,66.387558 -104.852905,66.393951 -104.842796,66.395615 -104.826996,66.395447 -104.817741,66.396645 -104.808922,66.402351 -104.808212,66.411995 -104.798523,66.412285 -104.789833,66.419586 -104.780144,66.420387 -104.774147,66.430374 -104.763306,66.435677 -104.754890,66.439217 -104.743187,66.442978 -104.734192,66.446625 -104.726044,66.450844 -104.722740,66.460144 -104.716576,66.467674 -104.703430,66.471146 -104.692413,66.475761 -104.684250,66.480782 -104.675087,66.484657 -104.662071,66.487785 -104.662437,66.498512 -104.656387,66.506554 -104.647774,66.512085 -104.647720,66.521385 -104.644081,66.531479 -104.638878,66.539352 -104.638100,66.549622 -104.634163,66.560005 -104.626366,66.568672 -104.617867,66.573914 -104.613647,66.582237 -104.621193,66.590752 -104.621124,66.599884 -104.617325,66.609581 -104.614090,66.620018 -104.606705,66.627541 -104.614563,66.633545 -104.611328,66.643127 -104.604797,66.650826 -104.599396,66.660919 -104.590736,66.664162 -104.586205,66.672318 -104.578346,66.681831 -104.569405,66.683586 -104.557556,66.687225 -104.550720,66.693832 -104.546158,66.703018 -104.540604,66.710655 -104.529167,66.715141 -104.519455,66.719406 -104.512589,66.727325 -104.516243,66.735664 -104.528313,66.740364 -104.537376,66.743347 -104.546860,66.747871 -104.546181,66.758026 -104.554474,66.766090 -104.560890,66.775452 -104.569954,66.780487 -104.580032,66.784843 -104.589920,66.788551 -104.606178,66.793999 -104.620628,66.797600 -104.628281,66.803520 -104.646248,66.806992 -104.659019,66.810310 -104.672127,66.814995 -104.685127,66.820396 -104.699402,66.825111 -104.715080,66.828506 -104.724564,66.830826 -104.739197,66.833511 -104.751877,66.834076 -104.762230,66.834816 -104.779114,66.838005 -104.789436,66.842163 -104.801277,66.851151 -104.810799,66.860085 -104.817047,66.867783 -104.825203,66.878044 -104.831528,66.885292 -104.840881,66.891922 -104.850708,66.899261 -104.861076,66.910271 -104.863487,66.920151 -104.871323,66.925598 -104.885963,66.928719 -104.896187,66.930344 -104.906448,66.931763 -104.921707,66.934669 -104.931831,66.936989 -104.940788,66.939278 -104.949783,66.941330 -104.963547,66.942825 -104.976540,66.945435 -104.989960,66.948975 -105.002197,66.952705 -105.023262,66.955971 -105.033623,66.956932 -105.046783,66.958618 -105.057854,66.962318 -105.072029,66.964958 -105.086357,66.966682 -105.101387,66.977043 -105.113762,66.976433 -105.123154,66.979858 -105.131813,66.984177 -105.139717,66.989616 -105.147812,66.993919 -105.147949,67.004196 -105.154457,67.012825 -105.171417,67.022331 -105.185287,67.027229 -105.194321,67.033150 -105.202782,67.042709 -105.207649,67.052856 -105.217430,67.054008 -105.226807,67.054001 -105.228867,67.063400 -105.244698,67.067200 -105.254318,67.069481 -105.271942,67.073090 -105.282463,67.073334 -105.300880,67.079468 -105.312401,67.084755 -105.322441,67.095932 -105.335701,67.105362 -105.344650,67.108307 -105.354462,67.109444 -105.369057,67.110001 -105.364517,67.128609 -105.376831,67.136642 -105.391281,67.138336 -105.411850,67.146332 -105.421997,67.149300 -105.433159,67.153419 -105.442886,67.155235 -105.454514,67.156174 -105.456146,67.165108 -105.469162,67.164711 -105.479027,67.161514 -105.486847,67.168526 -105.498856,67.178802 -105.500099,68.001366 -105.500801,68.440575 -105.486069,68.453590 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.117589,75.709518 -78.414574,76.210549</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-78.698259,75.951160 -78.685057,75.948375 -78.643967,75.938467 -78.585091,75.919943 -78.567628,75.911690 -78.549547,75.901928 -78.536260,75.895693 -78.498043,75.866184 -78.507099,75.831086 -78.534741,75.813341 -78.551686,75.805156 -78.576519,75.795442 -78.579706,75.793770 -78.592612,75.789301 -78.597081,75.788297 -78.599986,75.786836 -78.707129,75.763513 -78.842184,75.751980 -78.850832,75.752103 -78.858161,75.751518 -78.888508,75.750804 -78.949818,75.751991 -78.961613,75.750974 -79.003337,75.750112 -79.022290,75.749986 -79.077653,75.751514 -79.094086,75.744842 -79.200204,75.721310 -79.334529,75.709518 -79.476881,75.711235 -79.486342,75.712336 -79.495391,75.712501 -79.542679,75.716061 -79.653289,75.729744 -79.682723,75.737680 -79.747682,75.744185 -79.771121,75.747576 -79.802094,75.752587 -79.898910,75.778484 -79.908977,75.785224 -79.960102,75.791032 -80.057419,75.816864 -80.065160,75.819955 -80.115052,75.852936 -80.113416,75.863541 -80.117589,75.866922 -80.112161,75.902058 -80.107280,75.907045 -80.046924,75.938986 -79.971156,75.957780 -79.941777,75.963184 -79.941434,75.965241 -79.888747,75.992829 -79.887682,75.993481 -79.886684,75.993907 -79.880507,75.997134 -79.877613,75.997779 -79.868670,76.001593 -79.845572,76.010242 -79.772025,76.026569 -79.760633,76.032269 -79.756943,76.033086 -79.754909,76.034105 -79.738931,76.039096 -79.708051,76.045748 -79.692193,76.053938 -79.624461,76.070423 -79.614456,76.078101 -79.606773,76.082920 -79.558669,76.104045 -79.471410,76.124424 -79.468833,76.124854 -79.454413,76.140131 -79.452729,76.141011 -79.452524,76.142034 -79.389866,76.173783 -79.280883,76.197338 -79.142202,76.209073 -79.099224,76.209955 -79.079698,76.210086 -79.065309,76.209703 -79.042579,76.209895 -78.990176,76.209001 -78.971663,76.210549 -78.824694,76.208556 -78.730492,76.199305 -78.687207,76.193292 -78.649074,76.187214 -78.595236,76.172671 -78.568828,76.169586 -78.471808,76.143249 -78.448441,76.131784 -78.438462,76.125847 -78.414574,76.104074 -78.416358,76.077508 -78.429887,76.057834 -78.437472,76.049346 -78.458948,76.038797 -78.462046,76.027067 -78.526014,75.995516 -78.588123,75.982236 -78.606269,75.975820 -78.612684,75.974374 -78.617074,75.972193 -78.646560,75.963887 -78.695161,75.951750 -78.698259,75.951160 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-77.404736,67.169656 -73.222846,68.777647</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:MultiPolygon srsName="EPSG:4326">
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-75.425674,67.302577 -75.443322,67.287785 -75.460457,67.277356 -75.496834,67.266099 -75.545403,67.256336 -75.590100,67.251295 -75.636378,67.253245 -75.648271,67.254691 -75.675835,67.250369 -75.684624,67.244142 -75.713946,67.234350 -75.764011,67.222480 -75.767486,67.222034 -75.770908,67.220963 -75.783873,67.218697 -75.875658,67.205116 -75.907250,67.202261 -75.924820,67.202133 -75.975253,67.203201 -76.020502,67.198874 -76.037824,67.197733 -76.073802,67.199154 -76.109172,67.195033 -76.113859,67.195216 -76.117600,67.194835 -76.152462,67.194495 -76.153165,67.194532 -76.156068,67.194480 -76.213634,67.194578 -76.247820,67.196573 -76.257812,67.198646 -76.263340,67.196887 -76.267546,67.196392 -76.270448,67.195529 -76.323845,67.186156 -76.330808,67.185431 -76.344862,67.183345 -76.450447,67.173345 -76.466727,67.172255 -76.512922,67.173959 -76.538616,67.179239 -76.580184,67.174262 -76.600853,67.174131 -76.627375,67.174857 -76.649299,67.171926 -76.675660,67.169656 -76.721864,67.171301 -76.761820,67.179325 -76.769005,67.181522 -76.773038,67.181315 -76.774528,67.181360 -76.776053,67.181175 -76.807869,67.181518 -76.895593,67.187047 -76.898523,67.187304 -76.899539,67.187321 -76.959295,67.191863 -76.969777,67.192851 -76.986767,67.195330 -77.052546,67.207196 -77.076792,67.213021 -77.106750,67.226800 -77.136946,67.247991 -77.143653,67.253529 -77.186735,67.296171 -77.189181,67.299987 -77.192084,67.302944 -77.206827,67.328457 -77.242019,67.381884 -77.264053,67.401569 -77.310073,67.425500 -77.318507,67.430531 -77.332869,67.447681 -77.333651,67.452344 -77.334832,67.485359 -77.335414,67.485759 -77.349821,67.502907 -77.346006,67.520861 -77.337056,67.532877 -77.340337,67.545035 -77.350983,67.566644 -77.350769,67.568429 -77.352430,67.570441 -77.361426,67.603613 -77.371681,67.628601 -77.390583,67.649364 -77.396469,67.659155 -77.397270,67.663816 -77.398067,67.684389 -77.404736,67.712307 -77.404375,67.713774 -77.404243,67.722360 -77.389700,67.765246 -77.386055,67.771971 -77.340848,67.832039 -77.330374,67.867007 -77.326457,67.874475 -77.313826,67.885481 -77.269659,67.913291 -77.240705,67.932959 -77.205326,67.979270 -77.172242,68.022406 -77.150179,68.038399 -77.147779,68.039158 -77.146450,68.040067 -77.117257,68.052503 -77.113900,68.067268 -77.109086,68.072358 -77.071067,68.106070 -77.060434,68.112737 -77.056995,68.115350 -77.017417,68.135543 -77.015461,68.136184 -77.014112,68.137152 -76.993325,68.144771 -76.959582,68.154500 -76.959507,68.159737 -76.954557,68.172400 -76.945439,68.180834 -76.931877,68.190491 -76.918636,68.198018 -76.910630,68.201373 -76.863953,68.219090 -76.854882,68.230578 -76.849623,68.235967 -76.831121,68.251766 -76.813889,68.262323 -76.806322,68.265491 -76.720000,68.298385 -76.705361,68.302489 -76.696546,68.305370 -76.578327,68.332501 -76.575082,68.332910 -76.571984,68.333859 -76.550676,68.335985 -76.525446,68.339159 -76.520528,68.338987 -76.516611,68.339377 -76.496022,68.339613 -76.490490,68.342692 -76.452926,68.354152 -76.406321,68.359419 -76.394574,68.359650 -76.390373,68.359659 -76.382401,68.364161 -76.344751,68.375597 -76.298079,68.380834 -76.249525,68.379073 -76.216276,68.375346 -76.173291,68.366846 -76.142431,68.352918 -76.138521,68.348124 -76.136323,68.347998 -76.119069,68.346534 -76.107412,68.345217 -76.103029,68.347490 -76.099978,68.348478 -76.097637,68.350085 -76.086027,68.354617 -76.026907,68.374735 -76.000712,68.381568 -75.981743,68.384558 -75.934443,68.390354 -75.906641,68.392500 -75.858093,68.390629 -75.822225,68.384043 -75.808954,68.380524 -75.788669,68.378195 -75.715205,68.377056 -75.683203,68.374991 -75.663043,68.371924 -75.574384,68.354915 -75.564732,68.352534 -75.559865,68.351641 -75.425956,68.316486 -75.365217,68.303415 -75.306111,68.302353 -75.304166,68.302222 -75.300898,68.302217 -75.194901,68.298603 -75.168263,68.296582 -75.140648,68.291838 -75.093103,68.280859 -75.080249,68.279317 -75.037855,68.270535 -75.007797,68.256403 -74.996558,68.244307 -74.991352,68.234399 -74.977069,68.228072 -74.966146,68.221934 -74.934817,68.215402 -74.904891,68.201251 -74.898065,68.195224 -74.870373,68.164874 -74.864169,68.153568 -74.865054,68.143537 -74.879031,68.107017 -74.883925,68.099180 -74.895568,68.089688 -74.914499,68.077962 -74.911762,68.065038 -74.911778,68.064990 -74.911742,68.064942 -74.914491,68.051099 -74.928561,68.028088 -74.931541,68.024058 -74.953053,68.009266 -74.990515,67.991969 -75.020284,67.962264 -75.022162,67.931103 -74.997789,67.889967 -74.965006,67.868088 -74.940496,67.855550 -74.929909,67.849070 -74.917031,67.831733 -74.916975,67.824922 -74.928401,67.763863 -74.934162,67.719565 -74.903564,67.622772 -74.903807,67.621832 -74.903058,67.620813 -74.908693,67.602930 -74.912569,67.599017 -74.934861,67.579243 -74.951664,67.559570 -74.975866,67.511604 -74.979611,67.506049 -74.982053,67.504381 -74.982681,67.502845 -75.039840,67.449250 -75.040812,67.448637 -75.043185,67.446388 -75.095101,67.405637 -75.111558,67.395977 -75.148271,67.384798 -75.161935,67.382505 -75.200403,67.377108 -75.209666,67.373984 -75.228361,67.361030 -75.245139,67.354763 -75.258573,67.350642 -75.286748,67.331719 -75.299213,67.324864 -75.335734,67.313643 -75.345582,67.311894 -75.385664,67.305603 -75.420644,67.302360 -75.425674,67.302577 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-74.821653,68.108636 -74.783668,68.119731 -74.737169,68.124547 -74.697736,68.123266 -74.661690,68.119859 -74.658111,68.119163 -74.657700,68.119144 -74.652147,68.120185 -74.605620,68.124965 -74.557733,68.122727 -74.536008,68.120027 -74.529967,68.120287 -74.519454,68.129867 -74.498390,68.142622 -74.498186,68.142680 -74.497148,68.145733 -74.494732,68.148428 -74.494234,68.157951 -74.487872,68.171666 -74.469573,68.183586 -74.464296,68.194780 -74.440261,68.210403 -74.401933,68.221412 -74.355157,68.226123 -74.350282,68.225889 -74.346350,68.226229 -74.321105,68.226200 -74.281847,68.223779 -74.246683,68.216866 -74.206464,68.205545 -74.204656,68.204732 -74.201497,68.204070 -74.157385,68.190248 -74.145653,68.187435 -74.131047,68.183332 -74.101644,68.169042 -74.095033,68.162982 -74.078609,68.144191 -74.074174,68.135556 -74.073030,68.134031 -74.070705,68.124338 -74.070891,68.123763 -74.070464,68.123164 -74.076198,68.107131 -74.032105,68.105383 -74.005196,68.103156 -73.963521,68.094107 -73.962750,68.093730 -73.961712,68.093499 -73.958121,68.092266 -73.948551,68.091721 -73.931000,68.088882 -73.859856,68.074813 -73.830486,68.070121 -73.797138,68.062216 -73.782052,68.056223 -73.774962,68.052847 -73.772967,68.053449 -73.749390,68.059038 -73.702807,68.063571 -73.661658,68.061855 -73.633039,68.058775 -73.623829,68.058799 -73.590525,68.061377 -73.572471,68.062259 -73.524814,68.059731 -73.497810,68.054722 -73.446349,68.042012 -73.412330,68.034645 -73.406590,68.033083 -73.402699,68.032327 -73.355735,68.019817 -73.344751,68.016517 -73.336257,68.013356 -73.306033,68.000949 -73.285828,67.989678 -73.274073,67.972224 -73.274113,67.972121 -73.274046,67.972022 -73.271125,67.948554 -73.278081,67.930942 -73.286828,67.923721 -73.287916,67.922995 -73.258954,67.900067 -73.247261,67.882610 -73.247639,67.881639 -73.247112,67.880778 -73.246719,67.867305 -73.234502,67.861112 -73.222846,67.843652 -73.224884,67.832627 -73.229546,67.823454 -73.231647,67.798053 -73.238659,67.784006 -73.247828,67.776479 -73.276911,67.757312 -73.292106,67.749376 -73.293663,67.748936 -73.294606,67.748357 -73.334159,67.732697 -73.334364,67.732641 -73.334477,67.732571 -73.356332,67.723971 -73.391533,67.714337 -73.437500,67.709887 -73.484457,67.712440 -73.491250,67.713967 -73.525501,67.715819 -73.526449,67.715992 -73.528676,67.715775 -73.557735,67.716489 -73.591419,67.718871 -73.609342,67.720681 -73.641013,67.724879 -73.648736,67.725223 -73.664773,67.725646 -73.697779,67.724298 -73.708878,67.723062 -73.736089,67.721269 -73.769398,67.722271 -73.812960,67.725904 -73.819624,67.726616 -73.820875,67.726669 -73.870995,67.732190 -73.873520,67.732718 -73.876789,67.732887 -73.911918,67.737478 -73.939829,67.738394 -73.947639,67.739021 -73.954345,67.739205 -74.010029,67.743619 -74.129988,67.732726 -74.179755,67.727975 -74.260634,67.719768 -74.284028,67.718294 -74.331086,67.720610 -74.387890,67.727861 -74.486759,67.740424 -74.509353,67.744294 -74.576177,67.758985 -74.576550,67.759086 -74.576921,67.759150 -74.641349,67.773502 -74.659319,67.778378 -74.685543,67.790441 -74.720425,67.813540 -74.721311,67.814636 -74.723462,67.815677 -74.764446,67.846384 -74.797716,67.869808 -74.849879,67.901239 -74.855339,67.904881 -74.864893,67.914523 -74.885275,67.945114 -74.885312,67.945201 -74.885373,67.945262 -74.903256,67.972417 -74.906496,67.979966 -74.906751,67.985431 -74.903429,68.015238 -74.906283,68.027224 -74.906198,68.027504 -74.906407,68.027785 -74.900670,68.045657 -74.884243,68.064443 -74.876912,68.071040 -74.837983,68.099551 -74.821653,68.108636 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        <gml:polygonMember>
+          <gml:Polygon>
+            <gml:outerBoundaryIs>
+              <gml:LinearRing>
+                <gml:coordinates>-75.314256,68.772691 -75.266552,68.777647 -75.217248,68.775596 -75.173891,68.766854 -75.152761,68.757967 -75.141191,68.755629 -75.120842,68.747669 -75.120016,68.747257 -75.110202,68.744594 -75.098370,68.739163 -75.096480,68.739167 -75.074705,68.738628 -75.044240,68.736490 -75.026519,68.733850 -74.953193,68.720471 -74.943593,68.718151 -74.937159,68.716979 -74.917564,68.711960 -74.908140,68.709294 -74.879021,68.696146 -74.854845,68.679786 -74.854418,68.679255 -74.853417,68.678790 -74.841132,68.664717 -74.833089,68.644881 -74.833439,68.643389 -74.832095,68.641632 -74.832130,68.634500 -74.835336,68.619769 -74.824777,68.614024 -74.811554,68.596697 -74.813613,68.590513 -74.748068,68.556329 -74.726389,68.545371 -74.709595,68.541889 -74.679386,68.527706 -74.661621,68.514755 -74.652732,68.506273 -74.644393,68.495136 -74.640242,68.486276 -74.646286,68.468423 -74.650947,68.463256 -74.653167,68.458423 -74.657780,68.451599 -74.662862,68.446854 -74.663416,68.446410 -74.664685,68.444333 -74.645217,68.435143 -74.632228,68.417799 -74.632326,68.417510 -74.632127,68.417238 -74.631562,68.413793 -74.637696,68.396500 -74.661790,68.380853 -74.665693,68.379731 -74.667822,68.378455 -74.676045,68.375409 -74.680735,68.374156 -74.673186,68.364074 -74.679174,68.346217 -74.681899,68.343175 -74.688275,68.339020 -74.689536,68.336684 -74.692227,68.334702 -74.692207,68.334675 -74.694233,68.322359 -74.696938,68.317291 -74.700877,68.311748 -74.724842,68.296090 -74.763140,68.285010 -74.768319,68.284477 -74.771832,68.283538 -74.786583,68.281288 -74.824695,68.277935 -74.872922,68.280097 -74.915271,68.288921 -74.916276,68.289394 -74.922329,68.290126 -74.931450,68.292024 -74.948552,68.290246 -74.968660,68.290270 -74.998784,68.291205 -75.026943,68.293304 -75.069374,68.302089 -75.079672,68.305733 -75.091836,68.310558 -75.111702,68.321032 -75.124991,68.338342 -75.125202,68.344580 -75.123545,68.355667 -75.123700,68.361840 -75.125720,68.362855 -75.128466,68.363487 -75.143356,68.367502 -75.156417,68.373589 -75.165054,68.373985 -75.187995,68.375855 -75.230635,68.384600 -75.258893,68.397716 -75.271688,68.399227 -75.314401,68.407950 -75.322649,68.410763 -75.351637,68.421571 -75.364787,68.428237 -75.375179,68.430563 -75.405683,68.444626 -75.415531,68.454015 -75.416261,68.455028 -75.445752,68.461006 -75.465961,68.468932 -75.479717,68.475789 -75.506430,68.488855 -75.517467,68.495292 -75.528192,68.505849 -75.537656,68.520383 -75.540626,68.527100 -75.539149,68.539178 -75.532030,68.553806 -75.528128,68.559608 -75.523492,68.564134 -75.523330,68.564269 -75.524007,68.565488 -75.518611,68.583366 -75.518109,68.583805 -75.518656,68.585825 -75.518058,68.587920 -75.519254,68.589650 -75.520284,68.613955 -75.519472,68.615979 -75.519141,68.620897 -75.512155,68.639573 -75.507426,68.647243 -75.499470,68.656402 -75.475657,68.672158 -75.466242,68.675505 -75.461526,68.680915 -75.454650,68.686508 -75.451569,68.696565 -75.438656,68.706803 -75.430738,68.711470 -75.426495,68.725254 -75.402562,68.740998 -75.388356,68.745366 -75.377859,68.752258 -75.373928,68.753395 -75.371803,68.754679 -75.346999,68.763910 -75.314256,68.772691 </gml:coordinates>
+              </gml:LinearRing>
+            </gml:outerBoundaryIs>
+          </gml:Polygon>
+        </gml:polygonMember>
+        </gml:MultiPolygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+    <gml:featureMember>
+      <bsc:IBA>
+        <gml:boundedBy>
+        	<gml:Box srsName="EPSG:4326">
+        		<gml:coordinates>-80.499590,72.713647 -78.080904,73.313876</gml:coordinates>
+        	</gml:Box>
+        </gml:boundedBy>
+        <bsc:msGeometry>
+        <gml:Polygon srsName="EPSG:4326">
+          <gml:outerBoundaryIs>
+            <gml:LinearRing>
+              <gml:coordinates>-80.499590,73.231705 -80.441615,73.269478 -80.355281,73.299385 -80.246744,73.313876 -80.115923,73.304956 -80.012927,73.295885 -79.924222,73.269864 -79.882716,73.237150 -79.869114,73.212338 -79.891348,73.194010 -79.904124,73.186951 -79.898372,73.152743 -79.734378,73.111314 -79.484202,73.067456 -79.176051,73.004956 -78.995625,72.969499 -78.882731,72.942979 -78.774590,72.926733 -78.661624,72.916045 -78.490783,72.916788 -78.287668,72.922862 -78.167469,72.905307 -78.080904,72.866303 -78.135565,72.858656 -78.228868,72.868108 -78.351948,72.859834 -78.452942,72.845760 -78.537764,72.834390 -78.614823,72.816386 -78.713729,72.804059 -78.722009,72.794698 -78.795173,72.788351 -78.830341,72.779062 -78.883029,72.765117 -78.948274,72.752125 -79.006940,72.746612 -79.081578,72.730311 -79.140137,72.724761 -79.219201,72.718746 -79.310841,72.713647 -79.475078,72.717891 -79.607848,72.727674 -79.693564,72.753870 -79.774720,72.777691 -79.812805,72.780441 -79.864169,72.808034 -79.921626,72.820110 -79.991653,72.825098 -80.073494,72.848800 -80.098064,72.868434 -80.106852,72.890931 -80.114135,72.915308 -80.148292,72.931617 -80.173050,72.951238 -80.205803,72.969418 -80.231368,73.004976 -80.243426,73.023693 -80.276376,73.041858 -80.272549,73.063447 -80.260362,73.078502 -80.234749,73.118458 -80.248774,73.143256 -80.245251,73.172805 -80.210395,73.190279 -80.227170,73.203344 -80.230951,73.215517 -80.287633,73.213425 -80.365358,73.210761 -80.418971,73.212398 -80.436991,73.215597 -80.499590,73.231705 </gml:coordinates>
+            </gml:LinearRing>
+          </gml:outerBoundaryIs>
+        </gml:Polygon>
+        </bsc:msGeometry>
+      </bsc:IBA>
+    </gml:featureMember>
+</wfs:FeatureCollection>
+
+ 
Index: lib/spatial/mapbuilder/examples/shipTracks/images/frog.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/spatial/mapbuilder/examples/shipTracks/images/frog.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: lib/spatial/mapbuilder/examples/shipTracks/data/BlueMarble.xml
===================================================================
--- lib/spatial/mapbuilder/examples/shipTracks/data/BlueMarble.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/shipTracks/data/BlueMarble.xml	(revision 4307)
@@ -0,0 +1,83 @@
+<OWSContext version="0.0.13" id="ows-context-tie" 
+  xmlns="http://www.opengis.net/context" 
+  xmlns:xlink="http://www.w3.org/1999/xlink" 
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+  xmlns:sld="http://www.opengis.net/sld"
+  xmlns:ogc="http://www.opengis.net/ogc" 
+  xmlns:ows="http://www.opengis.net/ows" 
+  xmlns:param="http;//www.opengis.net/param" 
+  xsi:schemaLocation="http://www.opengis.net/oc oc_0_0_13.xsd">
+
+  <General>
+    <Window width="550" height="275"/>
+    <!-- BoundingBox SRS="EPSG:4326" minx="-130" miny="10" maxx="-50" maxy="50"/ -->
+    <ows:BoundingBox crs="EPSG:4326">
+      <ows:LowerCorner>-130 10</ows:LowerCorner>
+      <ows:UpperCorner>-50 50</ows:UpperCorner>
+    </ows:BoundingBox>
+    
+    <Title xml:lang="en">GeoRSS Using OWSContext</Title>
+    <KeywordList>
+      <Keyword>world</Keyword>
+      <Keyword>atlas</Keyword>
+      <Keyword>georss</Keyword>
+    </KeywordList>
+    
+    <Abstract>World Base Map.</Abstract>
+    
+    <LogoURL width="140" height="65" format="image/gif">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.opengeospatial.org/img/ogc_header_top_left.gif" />
+    </LogoURL>
+
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.opengeospatial.org/press/?page=pressrelease&amp;view=20040525_ContextIE_PR" />
+    </DescriptionURL>
+    
+    <ows:ServiceProvider>
+      <ows:ProviderName>Vightel Corporation</ows:ProviderName>
+      <ows:ProviderSite xlink:type="simple" xlink:href="http://www.ec.gc.ca/" />
+      <ows:ServiceContact>
+        <ows:IndividualName>Patrice G Cappelaere</ows:IndividualName>
+        <ows:PositionName>Senior Architect</ows:PositionName>
+        <ows:ContactInfo>
+          <ows:Phone>
+            <ows:Voice>410-340-4868</ows:Voice>
+            <ows:Facsimile>443-283-0370</ows:Facsimile>
+          </ows:Phone>
+          <ows:Address>
+            <ows:DeliveryPoint>8303 Winter Wind Ct</ows:DeliveryPoint>
+            <ows:City>Ellicott City</ows:City>
+            <ows:AdministrativeArea>Maryland</ows:AdministrativeArea>
+            <ows:PostalCode>21043</ows:PostalCode>
+            <ows:Country>USA</ows:Country>
+            <ows:ElectronicMailAddress>pat@cappelaere.com</ows:ElectronicMailAddress>
+          </ows:Address>
+          <ows:OnlineResource xlink:type="simple" xlink:href="http://www.vightel.com/" />
+          <ows:HoursOfService>0700h - 1500h (EST), Monday - Friday</ows:HoursOfService>
+          <ows:ContactInstructions>Just call or email</ows:ContactInstructions>
+        </ows:ContactInfo>
+        <ows:Role>Systems Scientist</ows:Role>
+      </ows:ServiceContact>
+    </ows:ServiceProvider>
+  </General>  
+    
+  <ResourceList>
+		<Layer queryable="1" hidden="0">
+			<Server service="OGC:WMS" version="1.0.0" title="OGC:WMS">
+      <OnlineResource xlink:type="simple" xlink:href="http://www2.demis.nl/WMS/wms.asp?wms=BlueMarble"/>
+			</Server>
+			<Name>Countries,Earth+Image,Coastlines,Waterbodies,Transportation,Borders,Cities,Airports</Name>
+			<Title>WMS 1.0</Title>
+			<SRS>EPSG:4326</SRS>
+			<FormatList>
+				<Format current="1">image/gif</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+				</Style>
+			</StyleList>
+		</Layer>
+	</ResourceList>
+</OWSContext>
Index: lib/spatial/mapbuilder/examples/shipTracks/stylesheets/GeoRSSListing.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/shipTracks/stylesheets/GeoRSSListing.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/shipTracks/stylesheets/GeoRSSListing.xsl	(revision 4307)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Description: presents the list of events in a GeoRSS
+Author:      adair
+Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
+
+$Id: GeoRSSListing.xsl 3926 2008-03-20 14:13:35Z steven $
+$Name:  $
+-->
+
+<xsl:stylesheet version="1.0" 
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
+  xmlns:rss="http://purl.org/rss/1.0/" 
+  xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" 
+  xmlns:dc="http://purl.org/dc/elements/1.1/" 
+  xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" 
+  xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
+
+  <xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/>
+
+  <!-- The coordinates of the DHTML Layer on the HTML page -->
+  <xsl:param name="modelId"/>
+  <xsl:param name="targetModelId"/>
+  <xsl:param name="widgetId"/>
+  <xsl:param name="hiddenItems"/>
+  
+  <!-- template rule matching source root element -->
+  <xsl:template match="/rdf:RDF ">
+    <table>
+      <xsl:apply-templates select="rss:item"/>
+    </table>
+  </xsl:template>
+
+  <xsl:template match="rss:item">
+    <xsl:variable name="fid"><xsl:value-of select="@id"/></xsl:variable>
+    <xsl:variable name="x"><xsl:value-of select="geo:long"/></xsl:variable>
+    <xsl:variable name="y"><xsl:value-of select="geo:lat"/></xsl:variable>
+    <xsl:variable name="link"><xsl:value-of select="rss:link"/></xsl:variable>
+    <xsl:variable name="icon">../../lib/skin/default<xsl:value-of select="geo:icon"/></xsl:variable>
+    <tr>
+      <td>
+        <input type="checkbox" checked="true" onclick="this.checked?config.objects.{$modelId}.setParam('showFeature','{$fid}'):config.objects.{$modelId}.setParam('hideFeature','{$fid}')" />
+      </td>
+      <td onmouseover="config.objects.{$modelId}.setParam('highlightFeature','{$fid}')" onmouseout="config.objects.{$modelId}.setParam('dehighlightFeature','{$fid}')">
+        <!-- img src="{$icon}" / -->
+        <a href="{$link}"><xsl:value-of select="rss:title"/></a>
+        <xsl:copy-of select="rss:description"/>
+      </td>
+    </tr>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/shipTracks/stylesheets/CollectionList.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/shipTracks/stylesheets/CollectionList.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/shipTracks/stylesheets/CollectionList.xsl	(revision 4307)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+Description: parses an OGC context collection document to generate a context pick list
+Author:      adair
+Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
+
+$Id: CollectionList.xsl 3926 2008-03-20 14:13:35Z steven $
+$Name:  $
+-->
+
+<xsl:stylesheet version="1.0" 
+    xmlns:wmc="http://www.opengis.net/context" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    exclude-result-prefixes="wmc xlink">
+
+  <xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8"/>
+  <xsl:strip-space elements="*"/>
+
+  <!-- The common params set for all widgets -->
+  <xsl:param name="lang">en</xsl:param>
+
+  <!-- Text params for this widget -->
+  <xsl:param name="title"/>
+
+  <!-- The coordinates of the DHTML Layer on the HTML page -->
+  <!-- xsl:param name="jsfunction">config.loadModel('</xsl:param -->
+  <xsl:param name="widgetId"/>
+  <xsl:param name="targetModel"/>
+
+  <!-- template rule matching source root element -->
+  <xsl:template match="/wmc:ViewContextCollection">
+
+    <ul>
+      <xsl:apply-templates select="wmc:ViewContextReference"/>
+    </ul>
+
+  </xsl:template>
+
+  <xsl:template match="wmc:ViewContextReference">
+    <xsl:param name="linkUrl">config.objects.<xsl:value-of select="$widgetId"/>.switchMap(config.objects.<xsl:value-of select="$widgetId"/>,'<xsl:value-of select="wmc:ContextURL/wmc:OnlineResource/@xlink:href"/>')</xsl:param>
+    <xsl:param name="name"><xsl:value-of select='wmc:Title'/></xsl:param>
+    <input type='button' value="{$name}"  onClick="{$linkUrl}" />
+  </xsl:template>
+  
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/interactive/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/interactive/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/interactive/index.html	(revision 4307)
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+      
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Mapbuilder Interactive Map Viewer</title>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/mapStyle.css'/>
+    <style>
+      /* remove border from mainMapPane (work-around for Selenium tests under MSIE) */
+      #mainMapPane {
+        border: none;
+      }
+    </style>
+    <script>
+    // URL of Mapbuilder configuration file.
+    var mbConfigUrl='config.xml';
+    </script>
+    <!-- This points to the core mapbuilder library, replaces this with MapbuilderCompressed.js when you want to use the compressed version -->
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+    
+  </head>
+  <!-- This onload event starts mapbuilder -->
+  <body onload="mbDoLoad()" >
+  <!-- DIY cut here 1 -->
+	  <div id="header">  	<!-- The header of the page -->
+            <h1><a href="http://communitymapbuilder.org">MapBuilder</a> <!--Version-->1.5-rc2<!--VersionEnd--> Interactive Map Viewer</h1>
+            <!-- The version tag will be inserted into the comment tags above
+            during the build process. -->
+	  </div><!-- /header -->
+  	<div id="middle"><!-- The center piece of the page with left menubar and right mainbody -->
+	    <div id="exampleList"></div><!-- this is the container where the menubar will be drawn -->
+  			
+			<div id="mainbody"><!-- right side of the middle div, is also divided into two areas -->
+	  		<div class="left">
+	  			<h3>Explanation</h3>
+	  			This demo provides a minimal interactivity to a map. It includes buttons to zoom and pan. Select a tool
+	  			and click and drag on the map. To add or remove functionality to the map one has to edit <a href="config.xml">
+	  			config.xml</a>. See the <a href="http://communitymapbuilder.org/display/MAP/User+Guide">User Guide</a> for more 
+	  			information on this.<br/>
+	  			Apart from the buttons there are three examples on how to interact with the map from within a webpage. 
+	  						      <br />
+			      Have a look at <a href="http://communitymapbuilder.org/display/MAP/Modifying+the+Basic+Examples">this guide</a> if you want to modify this example.
+		    </div><!-- /left -->
+		    <!-- DIY end cut 1-->
+  			<div class="right">
+		  	  <div id="mainMapPane"><!-- This is the container where the map will be drawn -->
+    		    <noscript>
+        	    this page requires Javascript to be enabled
+        		</noscript>
+            <img src="../../lib/skin/default/images/Loading.gif"/>
+ 				  </div><!-- /mainMapPane -->
+          <div>
+            <div style="float: left; width: 33%;" id="mainButtonBar"><!-- This is the container where the buttons will be drawn --></div>
+            <div style="float: right; width: 33%" id="cursorTrack"><!-- This is where the cursor tracker will be drawn --></div>
+            <div id="scaleText"><!-- This is where the scale text will be drawn --></div>
+          </div>
+			    <div>
+				    <h2>Examples of working with MapBuilder:</h2>
+				    <ul><!-- These are a couple of examples how to access mapbuilder from a site -->
+     				  <li><a href="?mainMap=../data/context/cded.xml">Load a different map by a URL parameter</a></li>
+				      <li><a href="javascript:config.loadModel('mainMap','../data/context/modisWorld.xml')">Load a different map by JavaScript function call</a></li>
+				      <li><a href="?bbox=0,0,50,50">Load the map with a different Bounding Box. This bounding box is guaranteed to be covered by the map, but if the aspect ratio of the map pane is different, map extent and bounding box will differ.</a></li>
+				    </ul>
+			    </div>
+				</div><!-- /right -->
+				<!-- DIY cut here 2 -->
+			</div><!-- /mainbody -->
+		</div><!-- /middle -->
+		<div id="footer"><!-- The footer of the page -->
+	    <div class="right">
+				<a href="http://communitymapbuilder.org/" title="powered by community mapbuilder"><img src="../../lib/skin/default/images/Icon.gif"/></a>	  	
+				<a href="https://www.osgeo.org/" title="member of OSgeo"><img src="../../lib/skin/default/images/Osgeo.png"/></a>
+      </div><!-- /right -->
+	 	</div><!-- /footer -->  
+	 	<!-- DIY end cut 2 -->
+	</body>
+</html>
Index: lib/spatial/mapbuilder/examples/catalog/context.xml
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/context.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/context.xml	(revision 4307)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<OWSContext
+  xmlns="http://www.opengis.net/context"
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns:sld="http://www.opengis.net/sld"
+  xmlns:ogc="http://www.opengis.net/ogc"
+  xmlns:ows="http://www.opengis.net/ows"
+  xmlns:param="http;//www.opengis.net/param"
+  version="0.0.13"
+  id="ows-context-tie"
+  xsi:schemaLocation="http://www.opengis.net/oc oc_0_0_13.xsd">
+  
+  <General>
+    <Window width="400" height="300"/>
+    <ows:BoundingBox crs="EPSG:4326">
+      <ows:LowerCorner>-142 40</ows:LowerCorner>
+      <ows:UpperCorner>-52 85</ows:UpperCorner>
+    </ows:BoundingBox>
+    <Title xml:lang="en">Simple World Context</Title>
+    <KeywordList>
+      <Keyword>world</Keyword>
+    </KeywordList>
+  </General>
+  <ResourceList>
+    <!--
+    <Layer queryable="1" hidden="0">
+      <Server service="WMS" version="1.0.0" title="OGC:WMS">
+        <OnlineResource xlink:type="simple" xlink:href="http://labs.metacarta.com/wms/vmap0"/>
+      </Server>
+      <Name>basic</Name>
+      <Title>World Basemap</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format>image/jpeg</Format>
+        <Format>image/png</Format>
+        <Format>image/gif</Format>
+        <Format current="1">image/png; mode=24bit</Format>
+        <Format>image/wbmp</Format>
+        <Format>image/tiff</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+    </Layer>
+    -->
+
+    <Layer hidden="0">
+      <Server service="WMS" version="1.1.1" title="WMS">
+        <OnlineResource method="POST" xlink:type="simple" xlink:href="http://atlas.nrcan.gc.ca/cgi-bin/toporamawms_en"/>
+      </Server>
+      <Name>wms_atlasofcanada_eng</Name>
+      <Title>CGDI NRCan WMS</Title>
+      <Abstract></Abstract>
+      <SRS>EPSG:4326</SRS>
+    </Layer>
+
+   </ResourceList>
+</OWSContext>
Index: lib/spatial/mapbuilder/examples/catalog/LayerMetadata.js
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/LayerMetadata.js	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/LayerMetadata.js	(revision 4307)
@@ -0,0 +1,63 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: Abstract.js 2546 2007-01-23 12:07:39Z gjvoosten $
+*/
+
+// Ensure this object's dependencies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+/**
+ * Show a layer's metadata
+ * @constructor
+ * @base WidgetBaseXSL
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+
+
+function LayerMetadata(widgetNode, model) {
+  WidgetBaseXSL.apply(this,new Array(widgetNode, model));
+
+  this.model.setParam("layerMetadata", true);
+  /**
+   * Toggles the visibility of a layer's metadata
+   * @param layerNode Dom element containing the OWS layer 
+   * @param domNode Pointer the Dom element where the metadata should
+   *                           be shown
+   */
+  this.paint = function(objRef, params) {
+
+    var layerNode = objRef.model.getLayer(params.layerId);
+    var domNode = document.getElementById(params.domNodeId);
+
+    if (!domNode || !layerNode) {
+      return;
+    }
+
+    // If clicked and metadata was visible, hide it and do nothing
+    if (domNode.style.display && (domNode.style.display != "none") && (domNode.innerHTML != "")) { 
+      domNode.style.display = "none";
+      return false;
+    }
+
+    // add the layerNode as a parameter to the XSL
+    objRef.stylesheet.setParameter("layerNode", layerNode);
+
+    // create meta HTML
+    var metadataHtml = objRef.stylesheet.transformNodeToString(objRef.model.doc);
+
+    // insert the metadata HTML in the designated Dom Element 
+    domNode.innerHTML = metadataHtml;
+
+    // make it visible 
+    domNode.style.display = "block";
+
+    // debug info. TBD: remove
+    //console.info((new XMLSerializer()).serializeToString(layerNode));
+
+  }
+  this.model.addListener("layerMetadata", this.paint, this);
+
+}
+
+
Index: lib/spatial/mapbuilder/examples/catalog/CatalogSearchForm.js
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/CatalogSearchForm.js	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/CatalogSearchForm.js	(revision 4307)
@@ -0,0 +1,206 @@
+/*
+License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
+$Id: $
+*/
+
+// Ensure this object's dependencies are loaded.
+mapbuilder.loadScript(baseDir+"/widget/WidgetBaseXSL.js");
+
+// For customised searching/loading indication
+httpStatusMsg = ['uninitialized','searching','loaded','building results list','completed'];
+
+/**
+ * Display a Catalog Search form.
+ * @constructor
+ * @base WidgetBaseXSL
+ * @param widgetNode  The widget's XML object node from the configuration document.
+ * @param model       The model object that this widget belongs to.
+ */
+function CatalogSearchForm(widgetNode, model) {
+  WidgetBaseXSL.apply(this,new Array(widgetNode, model));
+
+  this.targetContext         = this.getProperty("mb:targetContext");
+  this.wrsUrl                = this.getProperty("mb:wrsUrl");
+  this.wrsServiceAssociation = this.getProperty("mb:wrsServiceAssociation");
+  this.convert2ContextXsl    = this.getProperty("mb:convert2ContextXsl");
+  this.queryXsl              = this.getProperty("mb:queryXsl");
+
+  this.httpPayload = new Object();
+  this.httpPayload.url = this.wrsUrl;
+  this.httpPayload.method = "post";
+  
+  this.mapModel = this.getProperty("mb:mapModel") || model.id;
+
+  /**
+   * Refreshes the form onblur handlers when this widget is painted.
+   * @param objRef Pointer to this CurorTrack object.
+   */
+  this.postPaint = function() {
+    //config.objects[this.mapModel].addListener('aoi', this.displayAoiCoords, this);
+
+    this.searchForm = document.getElementById(this.formName);
+    this.searchForm.parentWidget = this;
+    //this.searchForm.westCoord.model = this.model;
+    //this.searchForm.northCoord.model = this.model;
+    //this.searchForm.eastCoord.model = this.model;
+    //this.searchForm.southCoord.model = this.model;
+    this.searchForm.onkeypress = this.handleKeyPress;
+
+  }
+
+  /**
+   * Output the AOI coordinates to the associated form input elements.  This
+   * method is registered as an AOI listener on the context doc.
+   * @param objRef Pointer to this searchForm object.
+   */
+  //CatalogSearchForm.prototype.displayAoiCoords = function(objRef) {
+    //var aoi = config.objects[objRef.mapModel].getParam("aoi");
+    //objRef.searchForm.westCoord.value = aoi[0][0];
+    //objRef.searchForm.northCoord.value = aoi[0][1];
+    //objRef.searchForm.eastCoord.value = aoi[1][0];
+    //objRef.searchForm.southCoord.value = aoi[1][1];
+
+  //}
+
+  /**
+   * Handles user input from the form element.  This is an onblur handler for 
+   * the input elements.
+   */
+  CatalogSearchForm.prototype.setAoi = function() {
+//    var aoi = config.objects[this.mapModel].getParam("aoi");
+//    if (aoi) {
+//      var ul = aoi[0];
+//      var lr = aoi[1];
+//      switch(this.name) {
+//        case 'westCoord':
+//          ul[0] = this.value;
+//          break;
+//        case 'northCoord':
+//          ul[1] = this.value;
+//          break;
+//        case 'eastCoord':
+//          lr[0] = this.value;
+//          break;
+//        case 'southCoord':
+//          lr[1] = this.value;
+//          break;
+//      }
+//      config.objects[this.mapModel].setParam("aoi",new Array(ul,lr) );
+//    }
+  }
+
+/**
+ * Change the AOI coordinates from select box choice of prefined locations
+ * @param bbox the bbox value of the location keyword chosen
+ */
+  CatalogSearchForm.prototype.setLocation = function(bbox) {
+    var bboxArray = new Array();
+    bboxArray     = bbox.split(",");
+    var ul = new Array(parseFloat(bboxArray[0]),parseFloat(bboxArray[2]));
+    var lr = new Array(parseFloat(bboxArray[1]),parseFloat(bboxArray[3]));
+    config.objects[this.mapModel].setParam("aoi",new Array(ul,lr));
+
+  }
+
+
+  /**
+   * Build and send a catalog query. The results will be inserted into the
+   * targetModel which will trigger an event to handleResponse().
+   * 
+   * @return none 
+   */
+  CatalogSearchForm.prototype.doSelect = function() {
+    // Register for an event sent after the catalog query has finished
+
+    if(!this.initialized){
+      this.targetModel.addListener("loadModel",this.handleResponse,this);
+      this.xslProcessor = new XslProcessor(this.convert2ContextXsl);
+      this.initialized=1;
+    }
+    
+    // call buildQuery method to read form values, put them into the model
+    // and perform an XSL translation to get the WRS Query
+    var wrsQueryXML = this.buildQuery();
+    
+    // POST the query to the WRS Service configured in config.xml (wrsUrl)
+    this.httpPayload.postData= wrsQueryXML;
+    this.targetModel.transactionType="insert";
+    this.targetModel.newRequest(this.targetModel,this.httpPayload);
+    
+    // Load the new model
+    // Disabled, otherwise the loading indicator doesn't work
+    //this.targetModel.callListeners("loadModel");
+    
+    // Activate the loading indicator
+    this.targetModel.callListeners("refresh");
+
+  }
+
+  /**
+   * Builds WRS Catalog query 
+   * returns: WRS Query XML (string)
+   * 
+   * @return wrsQueryXML A textual representation of the WRS Query XML
+   */
+  CatalogSearchForm.prototype.buildQuery = function() {
+    // Get the reference to the form
+    this.searchForm = document.getElementById(this.formName);
+         
+    // Fill the model with the values needed for building the query
+    // TBD: This is not a correct way to address the model, since the form values will disappear when
+    //      the model changes. View needs to correspond to the model.
+
+    // added empty string '' to prevent IE from crashing on empty/null values
+    this.model.setXpathValue(this.model, "/filter/keywords", this.searchForm.keywords.value + '', false);
+    this.model.setXpathValue(this.model, "/filter/servicetype", this.searchForm.serviceType.value + '', false);
+    this.model.setXpathValue(this.model, "/filter/serviceassociation", this.wrsServiceAssociation + '', false);
+
+	  // determine the BBox
+    var aoi = config.objects[this.mapModel].getParam("aoi");
+    var bboxStr = "";
+    if (aoi) {
+      // a bbox was set in the map pane
+      bboxStr = aoi[0][0]+","+aoi[1][1]+" "+aoi[1][0]+","+aoi[0][1];
+    } else {
+      // no bbox was set, use the bbox of the map model
+      var bbox = config.objects[this.mapModel].getBoundingBox();
+      bboxStr = bbox[0]+","+bbox[1]+" "+bbox[2]+","+bbox[3];
+    }
+
+    // Add location based filter (BBOX)
+    // TBD: uncomment this line below when WRS filtering works OK
+    //this.model.setXpathValue(this.model, "/filter/location", bboxStr, false);
+
+    // Load the XSL to generate the WRS Query
+    //this.wrsQuery=new XslProcessor(baseDir+"/tool/xsl/wrs_Query.xsl");
+    var queryProcessor = new XslProcessor(this.queryXsl);
+    
+    // Add filter to XSL as a parameter
+    queryProcessor.setParameter("filter", this.model.doc);
+
+    // Do the actual XSL translation to generate the WRS Query
+    var wrsQueryXML = queryProcessor.transformNodeToString(this.model.doc);
+    return wrsQueryXML;
+
+  }
+
+  /**
+   * Convert the response of a Catalog Query into an OWSContext document
+   * so that it can be processed.
+   * Called after the response from a Catalog query has been received and 
+   * populated in the targetModel.
+   * @param objRef Pointer to widget object.
+   */
+  CatalogSearchForm.prototype.handleResponse = function(objRef) {
+
+    var newContext=objRef.xslProcessor.transformNodeToObject(objRef.targetModel.doc);
+
+    window.config.objects[objRef.targetContext].setModel(
+      window.config.objects[objRef.targetContext],
+      newContext);
+  }
+
+  //set some properties for the form output
+  this.formName = "WebServiceForm_" + mbIds.getId();
+  this.stylesheet.setParameter("formName", this.formName);
+}
Index: lib/spatial/mapbuilder/examples/catalog/context2.xml
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/context2.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/context2.xml	(revision 4307)
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<OWSContext
+  xmlns="http://www.opengis.net/context"
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns:sld="http://www.opengis.net/sld"
+  xmlns:ogc="http://www.opengis.net/ogc"
+  xmlns:ows="http://www.opengis.net/ows"
+  xmlns:param="http;//www.opengis.net/param"
+  version="0.0.13"
+  id="ows-context-tie"
+  xsi:schemaLocation="http://www.opengis.net/oc oc_0_0_13.xsd">
+  
+  <General>
+    <Window width="400" height="300"/>
+    <ows:BoundingBox crs="EPSG:4326">
+      <ows:LowerCorner>-142 40</ows:LowerCorner>
+      <ows:UpperCorner>-52 85</ows:UpperCorner>
+    </ows:BoundingBox>
+    <Title xml:lang="en">Simple World Context</Title>
+    <KeywordList>
+      <Keyword>world</Keyword>
+    </KeywordList>
+  </General>
+  <ResourceList>
+    <Layer queryable="1" hidden="0">
+      <Server service="OGC:WMS-C" version="1.0.0" title="OGC:WMS-C">
+        <OnlineResource xlink:type="simple" xlink:href="http://labs.metacarta.com/wms/vmap0"/>
+      </Server>
+      <Name>basic</Name>
+      <Title>World Basemap</Title>
+      <SRS>EPSG:4326</SRS>
+      <FormatList>
+        <Format>image/jpeg</Format>
+        <Format>image/png</Format>
+        <Format>image/gif</Format>
+        <Format current="1">image/png; mode=24bit</Format>
+        <Format>image/wbmp</Format>
+        <Format>image/tiff</Format>
+      </FormatList>
+      <StyleList>
+        <Style current="1">
+          <Name>default</Name>
+          <Title>default</Title>
+        </Style>
+      </StyleList>
+    </Layer>
+
+    <FeatureType hidden="0" id="iba_001">
+      <Server service="OGC:GML" version="2.1.2" title="Local">
+        <OnlineResource method="GET" xlink:type="simple" xlink:href="iba-gml.xml"/>
+      </Server>
+      <Name>IBA</Name>
+      <Title>IBA Birds GML local</Title>
+      <Abstract></Abstract>
+      <SRS>EPSG:4326</SRS>
+    </FeatureType>
+
+    <FeatureType hidden="1">
+      <Server service="OGC:GML" version="2.1.2" title="Tazzy">
+        <OnlineResource method="GET" xlink:type="simple" xlink:href="TasmaniaWaterBodies.xml"/>
+      </Server>
+      <Name>Tasmania Water Bodies GML local</Name>
+      <Title>Tazzy</Title>
+      <Abstract>This is some bird data</Abstract>
+      <SRS>EPSG:4326</SRS>
+    </FeatureType>
+
+    <FeatureType hidden="1">
+      <Server service="OGC:WFS" version="1.0" title="RoadSegment">
+        <OnlineResource method="POST" xlink:type="simple" xlink:href="http://office.refractions.net:21880/geoserver/wfs"/>
+      </Server>
+      <Name>gb:RoadSegment</Name>
+      <Title>RoadSegment</Title>
+      <Abstract>This is some bird data</Abstract>
+      <SRS>EPSG:4326</SRS>
+    </FeatureType>
+
+    <FeatureType hidden="0">
+      <Server service="OGC:WFS" version="1.0" title="TollPoint">
+        <OnlineResource method="POST" xlink:type="simple" xlink:href="http://office.refractions.net:21880/geoserver/wfs"/>
+      </Server>
+      <Name>gb:TollPoint</Name>
+      <Title>TollPoint</Title>
+      <Abstract>This is some bird data</Abstract>
+      <SRS>EPSG:4326</SRS>
+    </FeatureType>
+
+    <FeatureType hidden="0">
+      <Server service="OGC:WFS" version="1.0" title="My bird WFS">
+        <OnlineResource method="POST" xlink:type="simple" xlink:href="http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp"/>
+      </Server>
+      <Name>IBA</Name>
+      <Title>Important Bird Areas WFS</Title>
+      <Abstract>This is some bird data</Abstract>
+      <SRS>EPSG:4326</SRS>
+    </FeatureType>
+
+    <!--
+    <Layer hidden="1">
+      <Server service="OGC:WMS" version="1.1.1" title="My birds WMS">
+        <OnlineResource method="POST" xlink:type="simple" xlink:href="http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp"/>
+      </Server>
+      <Name>IBA</Name>
+      <Title>Important Bird Areas WMS</Title>
+      <Abstract>This is some bird data</Abstract>
+      <SRS>EPSG:4326</SRS>
+    </Layer>
+    -->
+    <!--
+    <FeatureType hidden="0">
+      <Server service="OGC:WFS" version="1.0" title="My Geoserver WFS">
+        <OnlineResource method="POST" xlink:type="simple" xlink:href="http://localhost:8080/geoserver/wfs"/>
+      </Server>
+      <Name>topp:states</Name>
+      <Title>USA Population</Title>
+      <Abstract>This is some census data on the states.</Abstract>
+      <SRS>EPSG:4326</SRS>
+    </FeatureType>
+    -->
+<wmc:Layer xmlns:wmc="http://www.opengis.net/context" queryable="1" hidden="0" id="urn:uuid:a2616d82-8c2e-11dc-81d5-00e08157d076"><wmc:Server id="urn:uuid:a03a62a2-8c2e-11dc-805b-00e08157d076" service="WMS" version="1.3.2" title="Northwest Territories CubeSERV"><wmc:OnlineResource method="POST" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.cubewerx.com/cgdi/cubeserv.cgi?CONFIG=nt&amp;"/></wmc:Server><wmc:Name>INWATERA_1M:Foundation</wmc:Name><wmc:Title>WMC: Inland Water Areas</wmc:Title><wmc:Abstract>VRF Narrative Table for "Inland Water Areas": &lt;P&gt;In coastal area, points of change from ocean/sea areas (BA040) to inland water areas (BH000) were taken from Digital Chart of the World, edition 1, July 1992.</wmc:Abstract></wmc:Layer>
+
+  </ResourceList>
+</OWSContext>
Index: lib/spatial/mapbuilder/examples/catalog/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/catalog/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/catalog/index.html	(revision 4307)
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+  <head>
+    <title>Catalog and Context Search</title>
+    <link rel="stylesheet" href="../../lib/skin/default/mapStyle.css" type="text/css">
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/mapStyle.css'/>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/button.css'>
+    <link rel="stylesheet" type="text/css" href="../../lib/skin/default/tabList.css">
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/mapStyle.css'>
+    <!--link rel='StyleSheet' type='text/css' href='catalog.css'-->
+    <script type="text/javascript">
+    // URL of Mapbuilder configuration file.
+    var mbConfigUrl='config.xml';
+</script>
+<script type="text/javascript" src="../../lib/Mapbuilder.js">
+</script>
+</head>
+<body onload="mbDoLoad()">
+  <noscript>this page requires Javascript to be enabled</noscript>
+  <div id="header">
+    <h1><a href="http://communitymapbuilder.org">Mapbuilder</a> <!--Version-->1.5-rc2<!--VersionEnd--> Catalog and Context Search</h1>
+    <!-- The version tag will be inserted into the comment tags above
+    during the build process. -->
+  </div>
+
+  <div id="middle">
+    <div id="exampleList"></div><!-- this is the container where the menubar will be drawn -->
+
+    <div id="mainbody">
+      
+      <div id="footer">
+      </div>  
+
+      <div id="body">
+        <div class="left">
+
+          <br clear="all" />
+
+          <!-- Context Collection -->
+          <div id="selectFromAtomFeed"></div>
+          <hr style="float: left; width:300px;" /><br />
+
+          <h3>Load external OWS context</h3>
+          <div id="urlInput"></div>
+          <hr style="float: left; width:300px;" /><br />
+          
+          <div id="catalogSearchForm"></div>
+
+          <hr style="float: left; width:300px;" /><br />
+
+          <div id="selectLayer"></div>
+
+        </div>
+
+        <div class="right">
+          <div id="mainMapPane"></div>
+          <div id="mainButtonBar"></div>
+          <div id="cursorTrack" style="height:12pt"></div>
+          <div id="layerControl"></div>
+        </div>
+
+
+      </div>
+
+    </div><!--mainbody -->
+  </div><!--middle -->
+  
+</body>
+</html>
+
Index: lib/spatial/mapbuilder/examples/shipTracks/data/DemisWorldMap.xml
===================================================================
--- lib/spatial/mapbuilder/examples/shipTracks/data/DemisWorldMap.xml	(nonexistent)
+++ lib/spatial/mapbuilder/examples/shipTracks/data/DemisWorldMap.xml	(revision 4307)
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<OWSContext version="0.0.13" id="ows-context-tie" 
+  xmlns="http://www.opengis.net/context" 
+  xmlns:xlink="http://www.w3.org/1999/xlink" 
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+  xmlns:sld="http://www.opengis.net/sld"
+  xmlns:ogc="http://www.opengis.net/ogc" 
+  xmlns:ows="http://www.opengis.net/ows" 
+  xmlns:param="http;//www.opengis.net/param" 
+  xsi:schemaLocation="http://www.opengis.net/oc oc_0_0_13.xsd">
+
+	<General>
+		<Window width="550" height="275"/>
+		<!-- BoundingBox SRS="EPSG:4326" minx="-130" miny="10" maxx="-50" maxy="50"/ -->
+    <ows:BoundingBox crs="EPSG:4326">
+      <ows:LowerCorner>-130 10</ows:LowerCorner>
+      <ows:UpperCorner>-50 50</ows:UpperCorner>
+    </ows:BoundingBox>
+    
+		<Title xml:lang="en">GeoRSS Using OWSContext</Title>
+		<KeywordList>
+			<Keyword>world</Keyword>
+      <Keyword>atlas</Keyword>
+      <Keyword>georss</Keyword>
+		</KeywordList>
+    
+		<Abstract>World Base Map.</Abstract>
+    
+    <LogoURL width="140" height="65" format="image/gif">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.opengeospatial.org/img/ogc_header_top_left.gif" />
+    </LogoURL>
+
+    <DescriptionURL format="text/html">
+      <OnlineResource xlink:type="simple" xlink:href="http://www.opengeospatial.org/press/?page=pressrelease&amp;view=20040525_ContextIE_PR" />
+    </DescriptionURL>
+    
+    <ows:ServiceProvider>
+      <ows:ProviderName>Vightel Corporation</ows:ProviderName>
+      <ows:ProviderSite xlink:type="simple" xlink:href="http://www.ec.gc.ca/" />
+      <ows:ServiceContact>
+        <ows:IndividualName>Patrice G Cappelaere</ows:IndividualName>
+        <ows:PositionName>Senior Architect</ows:PositionName>
+        <ows:ContactInfo>
+          <ows:Phone>
+            <ows:Voice>410-340-4868</ows:Voice>
+            <ows:Facsimile>443-283-0370</ows:Facsimile>
+          </ows:Phone>
+          <ows:Address>
+            <ows:DeliveryPoint>8303 Winter Wind Ct</ows:DeliveryPoint>
+            <ows:City>Ellicott City</ows:City>
+            <ows:AdministrativeArea>Maryland</ows:AdministrativeArea>
+            <ows:PostalCode>21043</ows:PostalCode>
+            <ows:Country>USA</ows:Country>
+            <ows:ElectronicMailAddress>pat@cappelaere.com</ows:ElectronicMailAddress>
+          </ows:Address>
+          <ows:OnlineResource xlink:type="simple" xlink:href="http://www.vightel.com/" />
+          <ows:HoursOfService>0700h - 1500h (EST), Monday - Friday</ows:HoursOfService>
+          <ows:ContactInstructions>Just call or email</ows:ContactInstructions>
+        </ows:ContactInfo>
+        <ows:Role>Systems Scientist</ows:Role>
+      </ows:ServiceContact>
+    </ows:ServiceProvider>
+  </General>  
+    
+	<ResourceList>
+		<Layer queryable="1" hidden="0">
+			<Server service="OGC:WMS" version="1.0.0" title="OGC:WMS">
+      <OnlineResource xlink:type="simple" xlink:href="http://www2.demis.nl/WMS/wms.asp?wms=WorldMap"/>
+			</Server>
+			<Name>Bathymetry,Countries,Topography,Hillshading,Builtup+areas,Coastlines,Waterbodies,Inundated,Rivers,Streams,Railroads,Highways,Roads,Trails,Borders,Cities,Settlements,Spot+elevations,Airports,Ocean+features</Name>
+			<Title>World Map</Title>
+			<SRS>EPSG:4326</SRS>
+			<FormatList>
+				<Format current="1">image/gif</Format>
+			</FormatList>
+			<StyleList>
+				<Style current="1">
+					<Name>default</Name>
+					<Title>default</Title>
+				</Style>
+			</StyleList>
+		</Layer>
+	</ResourceList>
+</OWSContext>
Index: lib/spatial/mapbuilder/examples/shipTracks/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/shipTracks/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/shipTracks/index.html	(revision 4307)
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html 
+  xmlns:vml="urn:schemas-microsoft-com:vml" 
+  xmlns:svg="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  >
+  
+  <head>
+    
+    <style> vml\:* { behavior: url(#default#VML); position:absolute }</style >
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+    <title>Ship Tracks Demo</title>
+    <!-- link rel='StyleSheet' type='text/css' href='../../lib/skin/default/docsStyle.css' / -->
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/mapStyle.css' />
+
+    <script type="text/javascript">
+      // URL of Mapbuilder configuration file.
+		  var mbConfigUrl='config.xml';   
+      function modelSwitcher( targetModel, modelUrl ) {
+        config.objects.switcher.switchMap( targetModel, modelUrl );
+      }
+      
+      
+    </script>
+  
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script> 
+  </head>
+  
+  <body onload="mbDoLoad()">
+    <div id="header">
+      <h1><a href="http://communitymapbuilder.org">MapBuilder</a> <!--Version-->1.5-rc2<!--VersionEnd--> Ship Track Mapbuilder Demo using geoRss Feeds</h1>
+      <!-- The version tag will be inserted into the comment tags above
+      during the build process. -->
+<!--This is for more complex pages <a href="" class="help">how to use this page</a></div>-->
+  </div>
+  <div id="middle">
+  	    <div id="exampleList"></div><!-- this is the container where the menubar will be drawn -->
+	<div id="mainbody">
+	  <div class="left">
+            <h3>Explanation</h3>
+            <p>This shows an example of a GeoRSS feeds being displayed, containing a line and point geometry.</p>
+            <p>It also shows how popups, a listing and legend are displayed from the GeoRSS. Note that the GeoRSS feed
+            is transformed to a FeatureCollection, rendered using <i>GmlRendererOL</i>, and styled by SLD.</p>
+    </div>
+  	<div class="right">
+    <div id="rssRendererTip"></div>
+    <br/>
+  
+    <table>
+    
+    <tr><td>
+    <div id="collectionList"/>
+    </td></tr>
+   
+    <tr>
+    <td>
+    
+    <div id="mainMapPane">
+        <noscript>
+            this page requires Javascript to be enabled
+        </noscript>
+    </div>
+    </td>
+    <td>
+    
+    </td>
+    </tr>
+    </table>
+    <!--div id="loading">
+      <p>Loading Program<br/>
+      <img src="../../lib/skin/default/images/Loading.gif"/>
+      </p>
+    </div-->
+    
+     <table width="550">
+       <tr>
+          <td valign="top" style="padding:6px;width:180" align="left">
+            <div id="mainButtonBar"/>
+          </td>
+          <td align="right" id="cursorTrack" />
+       </tr>
+     </table>
+     
+     <table width="550">
+      <tr><td><hr/><b>Listing Demo:</b><hr/></td></tr>
+      <tr><td><div id="eventsListing"></div></td></tr>
+      <tr><td><hr><b>LEGEND Demo:</b><hr></div></td></tr>
+      <tr><td><div id="legend"/></div></td></tr>
+     </table>
+  <div id="footer">
+	  
+    <div class="right">
+<a href="http://communitymapbuilder.org/" title="powered by community mapbuilder"><img src="../../lib/skin/default/images/Icon.gif"/></a>	  	
+<a href="https://www.osgeo.org/" title="member of OSgeo"><img src="../../lib/skin/default/images/Osgeo.png"/></a>
+         </div>
+  </div> 
+   </body>
+</html>
+
+
Index: lib/spatial/mapbuilder/examples/shipTracks/stylesheets/popup.xsl
===================================================================
--- lib/spatial/mapbuilder/examples/shipTracks/stylesheets/popup.xsl	(nonexistent)
+++ lib/spatial/mapbuilder/examples/shipTracks/stylesheets/popup.xsl	(revision 4307)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Description: presents the list of events in a GeoRSS
+Author:      adair
+Licence:     LGPL as specified in http://www.gnu.org/copyleft/lesser.html .
+
+$Id: popup.xsl 3926 2008-03-20 14:13:35Z steven $
+$Name:  $
+-->
+
+<xsl:stylesheet version="1.0" 
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
+  xmlns:rss="http://purl.org/rss/1.0/" 
+  xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" 
+  xmlns:dc="http://purl.org/dc/elements/1.1/" 
+  xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" 
+  xmlns:georss="http://www.georss.org/georss" 
+  xmlns:gml='http://www.opengis.net/gml/3.1.1' >
+  
+  <!-- xsl:output method="html" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/ -->
+  <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
+  <xsl:param name="fid"/>
+  
+  <xsl:template match="rdf:RDF">
+    <div class="PopupContainer">
+      <div class="PopupHeader">Info</div>
+      <div class="PopupContent">
+        <xsl:apply-templates/>
+      </div>
+    </div>
+  </xsl:template>
+  
+  <xsl:template match="rss:item">
+    <xsl:if test="@id=$fid">
+      <table cellspacing="0" border="0">
+    	<tr><td><b>title:</b><xsl:value-of select="rss:title"/></td></tr>
+    	<tr><td><b>description:</b><xsl:copy-of select="rss:description"/></td></tr>
+    	<tr><td><b>date:</b><xsl:value-of select="dc:date"/></td></tr>
+      <tr><td><b>pos:</b><xsl:value-of select="georss:where/gml:Point/gml:pos"/></td></tr>
+      <tr><td><b>link:</b><xsl:element name="a">
+       <xsl:attribute name="target">_blank</xsl:attribute>
+       <xsl:attribute name="href"><xsl:value-of select="rss:link"/></xsl:attribute>click here for more information!
+      </xsl:element></td></tr>
+      </table>
+    </xsl:if>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: lib/spatial/mapbuilder/examples/Google/index.html
===================================================================
--- lib/spatial/mapbuilder/examples/Google/index.html	(nonexistent)
+++ lib/spatial/mapbuilder/examples/Google/index.html	(revision 4307)
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+      
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Mapbuilder Google Map Viewer</title>
+    <link rel='StyleSheet' type='text/css' href='../../lib/skin/default/demoStyles.css'/>
+    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAxGX044DdXsG8m7HSU-fLXBSOAhXNDhVV0MuxMid11BbPkLvZnhT_y_tZjo_qcjveh8wcvbkT0azpXg"
+     type="text/javascript"></script>
+    <script>
+    // URL of Mapbuilder configuration file.
+    var mbConfigUrl='config.xml';
+    </script>
+    <!-- This points to the core mapbuilder library, replaces this with MapbuilderCompressed.js when you want to use the compressed version -->
+    <script type="text/javascript" src="../../lib/Mapbuilder.js"></script>
+  </head>
+  <!-- This onload event starts mapbuilder -->
+  <body onload="mbDoLoad()" >
+  <!--
+
+############################# cut here 1 #############################
+
+  -->
+    <div id="all">
+      <div id="header">  	<!-- The header of the page -->
+        <h1><a href="http://communitymapbuilder.org">MapBuilder</a> <!--Version-->1.5-rc2<!--VersionEnd--> Google Map Viewer</h1>
+        <!-- The version tag will be inserted into the comment tags above
+        during the build process. -->
+      </div><!-- /header -->
+      <div id="middle"><!-- The center piece of the page with left menubar and right mainbody -->
+       	    <div id="exampleList"></div><!-- this is the container where the menubar will be drawn -->
+        <div id="mainbody"><!-- right side of the middle div, is also divided into two areas -->
+          <div class="left">
+            <h3>Explanation</h3>
+            Mapbuilder can be used to put Google Maps in a web page. Do not forget to load the google script with your API key though.<br/>
+            It requires the use of OwsContext instead of a normal WMC context. For more information have a look at <a href="http://docs.codehaus.org/display/MAP/Using+Google-layers">the wiki</a><br/>
+            You can use Google, or Yahoo/MS for that matter, as a baselayer for your application. The best approach is to use the epsg:900913 projection, but that does require that your mapservers support that projection. Alternatively you can use epsg:4326 but it has a tendency to deform at larger resolutions.
+          </div><!-- /left -->
+          <div class="right">
+          <!--
+  
+############################# end cut 1 #############################
+  
+          -->
+            <div id="mainMapPane"><!-- This is the container where the map will be drawn -->
+              <noscript>
+                this page requires Javascript to be enabled
+              </noscript>
+            </div><!-- /mainMapPane -->
+            <div id="mainButtonBar">
+            </div>
+            <!--
+  
+############################# cut here 2 #############################
+  
+            -->
+          </div><!-- /right -->
+        </div><!-- /mainbody -->
+      </div><!-- /middle -->
+      <div id="footer"><!-- The footer of the page -->
+        <div class="right">
+          <a href="http://communitymapbuilder.org/" title="powered by community mapbuilder"><img src="../../lib/skin/default/images/Icon.gif"/></a>	  	
+          <a href="https://www.osgeo.org/" title="member of OSgeo"><img src="../../lib/skin/default/images/Osgeo.png"/></a>
+        </div><!-- /right -->
+      </div><!-- /footer -->
+    </div><!-- all -->
+    <!--
+
+############################# end cut 2 #############################
+
+-->
+  </body>
+</html>
+
+
